diff --git a/.bazelversion b/.bazelversion index a8907c025d5..a3fcc7121bb 100644 --- a/.bazelversion +++ b/.bazelversion @@ -1 +1 @@ -7.0.2 +7.1.0 diff --git a/codeql-workspace.yml b/codeql-workspace.yml index 5d8b300c8f4..7078818d1f3 100644 --- a/codeql-workspace.yml +++ b/codeql-workspace.yml @@ -6,6 +6,7 @@ provide: - "*/ql/consistency-queries/qlpack.yml" - "*/ql/automodel/src/qlpack.yml" - "*/ql/automodel/test/qlpack.yml" + - "python/extractor/qlpack.yml" - "shared/**/qlpack.yml" - "cpp/ql/test/query-tests/Security/CWE/CWE-190/semmle/tainted/qlpack.yml" - "go/ql/config/legacy-support/qlpack.yml" diff --git a/config/identical-files.json b/config/identical-files.json index ce0e3a67f35..017fdd11481 100644 --- a/config/identical-files.json +++ b/config/identical-files.json @@ -255,7 +255,6 @@ "cpp/ql/lib/semmle/code/cpp/XML.qll", "csharp/ql/lib/semmle/code/csharp/XML.qll", "java/ql/lib/semmle/code/xml/XML.qll", - "javascript/ql/lib/semmle/javascript/XML.qll", "python/ql/lib/semmle/python/xml/XML.qll" ], "DuplicationProblems.inc.qhelp": [ @@ -372,4 +371,4 @@ "python/ql/test/experimental/dataflow/model-summaries/InlineTaintTest.ext.yml", "python/ql/test/experimental/dataflow/model-summaries/NormalDataflowTest.ext.yml" ] -} +} \ No newline at end of file diff --git a/cpp/downgrades/aa7ff0ab32cd4674f6ab731d32fea64116997b05/exprs.ql b/cpp/downgrades/aa7ff0ab32cd4674f6ab731d32fea64116997b05/exprs.ql new file mode 100644 index 00000000000..366c074e5da --- /dev/null +++ b/cpp/downgrades/aa7ff0ab32cd4674f6ab731d32fea64116997b05/exprs.ql @@ -0,0 +1,13 @@ +class Expr extends @expr { + string toString() { none() } +} + +class Location extends @location_expr { + string toString() { none() } +} + +from Expr expr, int kind, int kind_new, Location loc +where + exprs(expr, kind, loc) and + if kind = 363 then kind_new = 1 else kind_new = kind +select expr, kind_new, loc diff --git a/cpp/downgrades/aa7ff0ab32cd4674f6ab731d32fea64116997b05/old.dbscheme b/cpp/downgrades/aa7ff0ab32cd4674f6ab731d32fea64116997b05/old.dbscheme new file mode 100644 index 00000000000..aa7ff0ab32c --- /dev/null +++ b/cpp/downgrades/aa7ff0ab32cd4674f6ab731d32fea64116997b05/old.dbscheme @@ -0,0 +1,2250 @@ + +/** + * An invocation of the compiler. Note that more than one file may be + * compiled per invocation. For example, this command compiles three + * source files: + * + * gcc -c f1.c f2.c f3.c + * + * The `id` simply identifies the invocation, while `cwd` is the working + * directory from which the compiler was invoked. + */ +compilations( + /** + * An invocation of the compiler. Note that more than one file may + * be compiled per invocation. For example, this command compiles + * three source files: + * + * gcc -c f1.c f2.c f3.c + */ + unique int id : @compilation, + string cwd : string ref +); + +/** + * The arguments that were passed to the extractor for a compiler + * invocation. If `id` is for the compiler invocation + * + * gcc -c f1.c f2.c f3.c + * + * then typically there will be rows for + * + * num | arg + * --- | --- + * 0 | *path to extractor* + * 1 | `--mimic` + * 2 | `/usr/bin/gcc` + * 3 | `-c` + * 4 | f1.c + * 5 | f2.c + * 6 | f3.c + */ +#keyset[id, num] +compilation_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * The source files that are compiled by a compiler invocation. + * If `id` is for the compiler invocation + * + * gcc -c f1.c f2.c f3.c + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | f1.c + * 1 | f2.c + * 2 | f3.c + * + * Note that even if those files `#include` headers, those headers + * do not appear as rows. + */ +#keyset[id, num] +compilation_compiling_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * The time taken by the extractor for a compiler invocation. + * + * For each file `num`, there will be rows for + * + * kind | seconds + * ---- | --- + * 1 | CPU seconds used by the extractor frontend + * 2 | Elapsed seconds during the extractor frontend + * 3 | CPU seconds used by the extractor backend + * 4 | Elapsed seconds during the extractor backend + */ +#keyset[id, num, kind] +compilation_time( + int id : @compilation ref, + int num : int ref, + /* kind: + 1 = frontend_cpu_seconds + 2 = frontend_elapsed_seconds + 3 = extractor_cpu_seconds + 4 = extractor_elapsed_seconds + */ + int kind : int ref, + float seconds : float ref +); + +/** + * An error or warning generated by the extractor. + * The diagnostic message `diagnostic` was generated during compiler + * invocation `compilation`, and is the `file_number_diagnostic_number`th + * message generated while extracting the `file_number`th file of that + * invocation. + */ +#keyset[compilation, file_number, file_number_diagnostic_number] +diagnostic_for( + int diagnostic : @diagnostic ref, + int compilation : @compilation ref, + int file_number : int ref, + int file_number_diagnostic_number : int ref +); + +/** + * If extraction was successful, then `cpu_seconds` and + * `elapsed_seconds` are the CPU time and elapsed time (respectively) + * that extraction took for compiler invocation `id`. + */ +compilation_finished( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref +); + + +/** + * External data, loaded from CSV files during snapshot creation. See + * [Tutorial: Incorporating external data](https://help.semmle.com/wiki/display/SD/Tutorial%3A+Incorporating+external+data) + * for more information. + */ +externalData( + int id : @externalDataElement, + string path : string ref, + int column: int ref, + string value : string ref +); + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/** + * Information about packages that provide code used during compilation. + * The `id` is just a unique identifier. + * The `namespace` is typically the name of the package manager that + * provided the package (e.g. "dpkg" or "yum"). + * The `package_name` is the name of the package, and `version` is its + * version (as a string). + */ +external_packages( + unique int id: @external_package, + string namespace : string ref, + string package_name : string ref, + string version : string ref +); + +/** + * Holds if File `fileid` was provided by package `package`. + */ +header_to_external_package( + int fileid : @file ref, + int package : @external_package ref +); + +/* + * Version history + */ + +svnentries( + unique int id : @svnentry, + string revision : string ref, + string author : string ref, + date revisionDate : date ref, + int changeSize : int ref +) + +svnaffectedfiles( + int id : @svnentry ref, + int file : @file ref, + string action : string ref +) + +svnentrymsg( + unique int id : @svnentry ref, + string message : string ref +) + +svnchurn( + int commit : @svnentry ref, + int file : @file ref, + int addedLines : int ref, + int deletedLines : int ref +) + +/* + * C++ dbscheme + */ + +extractor_version( + string codeql_version: string ref, + string frontend_version: string ref +) + +@location = @location_stmt | @location_expr | @location_default ; + +/** + * The location of an element that is not an expression or a statement. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_default( + /** The location of an element that is not an expression or a statement. */ + unique int id: @location_default, + int container: @container ref, + int startLine: int ref, + int startColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +/** + * The location of a statement. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_stmt( + /** The location of a statement. */ + unique int id: @location_stmt, + int container: @container ref, + int startLine: int ref, + int startColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +/** + * The location of an expression. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_expr( + /** The location of an expression. */ + unique int id: @location_expr, + int container: @container ref, + int startLine: int ref, + int startColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +/** An element for which line-count information is available. */ +@sourceline = @file | @function | @variable | @enumconstant | @xmllocatable; + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +diagnostics( + unique int id: @diagnostic, + int severity: int ref, + string error_tag: string ref, + string error_message: string ref, + string full_error_message: string ref, + int location: @location_default ref +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @folder | @file + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +fileannotations( + int id: @file ref, + int kind: int ref, + string name: string ref, + string value: string ref +); + +inmacroexpansion( + int id: @element ref, + int inv: @macroinvocation ref +); + +affectedbymacroexpansion( + int id: @element ref, + int inv: @macroinvocation ref +); + +case @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 ref +); + +#keyset[invocation, argument_index] +macro_argument_unexpanded( + int invocation: @macroinvocation ref, + int argument_index: int ref, + string text: string ref +); + +#keyset[invocation, argument_index] +macro_argument_expanded( + int invocation: @macroinvocation ref, + int argument_index: int ref, + string text: string ref +); + +/* +case @function.kind of + 1 = @normal_function +| 2 = @constructor +| 3 = @destructor +| 4 = @conversion_function +| 5 = @operator +| 6 = @builtin_function // 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 +); + +function_entry_point( + int id: @function ref, + unique int entry_point: @stmt ref +); + +function_return_type( + int id: @function ref, + int return_type: @type ref +); + +/** + * If `function` is a coroutine, then this gives the `std::experimental::resumable_traits` + * instance associated with it, and the variables representing the `handle` and `promise` + * for it. + */ +coroutine( + unique int function: @function ref, + int traits: @type ref, + int handle: @variable ref, + int promise: @variable ref +); + +/** The `new` function used for allocating the coroutine state, if any. */ +coroutine_new( + unique int function: @function ref, + int new: @function ref +); + +/** The `delete` function used for deallocating the coroutine state, if any. */ +coroutine_delete( + unique int function: @function ref, + int delete: @function ref +); + +purefunctions(unique int id: @function ref); + +function_deleted(unique int id: @function ref); + +function_defaulted(unique int id: @function ref); + +function_prototyped(unique int id: @function ref) + +member_function_this_type( + unique int id: @function ref, + int this_type: @type ref +); + +#keyset[id, type_id] +fun_decls( + int id: @fun_decl, + int function: @function ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); +fun_def(unique int id: @fun_decl ref); +fun_specialized(unique int id: @fun_decl ref); +fun_implicit(unique int id: @fun_decl ref); +fun_decl_specifiers( + int id: @fun_decl ref, + string name: string ref +) +#keyset[fun_decl, index] +fun_decl_throws( + int fun_decl: @fun_decl ref, + int index: int ref, + int type_id: @type ref +); +/* an empty throw specification is different from none */ +fun_decl_empty_throws(unique int fun_decl: @fun_decl ref); +fun_decl_noexcept( + int fun_decl: @fun_decl ref, + int constant: @expr ref +); +fun_decl_empty_noexcept(int fun_decl: @fun_decl ref); +fun_decl_typedef_type( + unique int fun_decl: @fun_decl ref, + int typedeftype_id: @usertype ref +); + +param_decl_bind( + unique int id: @var_decl ref, + int index: int ref, + int fun_decl: @fun_decl ref +); + +#keyset[id, type_id] +var_decls( + int id: @var_decl, + int variable: @variable ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); +var_def(unique int id: @var_decl ref); +var_decl_specifiers( + int id: @var_decl ref, + string name: string ref +) +is_structured_binding(unique int id: @variable ref); + +type_decls( + unique int id: @type_decl, + int type_id: @type ref, + int location: @location_default ref +); +type_def(unique int id: @type_decl ref); +type_decl_top( + unique int type_decl: @type_decl ref +); + +namespace_decls( + unique int id: @namespace_decl, + int namespace_id: @namespace ref, + int location: @location_default ref, + int bodylocation: @location_default ref +); + +usings( + unique int id: @using, + int element_id: @element ref, + int location: @location_default ref +); + +/** The element which contains the `using` declaration. */ +using_container( + int parent: @element ref, + int child: @using ref +); + +static_asserts( + unique int id: @static_assert, + int condition : @expr ref, + string message : string ref, + int location: @location_default ref, + int enclosing : @element ref +); + +// each function has an ordered list of parameters +#keyset[id, type_id] +#keyset[function, index, type_id] +params( + int id: @parameter, + int function: @functionorblock ref, + int index: int ref, + int type_id: @type ref +); + +overrides( + int new: @function ref, + int old: @function ref +); + +#keyset[id, type_id] +membervariables( + int id: @membervariable, + int type_id: @type ref, + string name: string ref +); + +#keyset[id, type_id] +globalvariables( + int id: @globalvariable, + int type_id: @type ref, + string name: string ref +); + +#keyset[id, type_id] +localvariables( + int id: @localvariable, + int type_id: @type ref, + string name: string ref +); + +autoderivation( + unique int var: @variable ref, + int derivation_type: @type ref +); + +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 +; + +builtintypes( + unique int id: @builtintype, + string name: string ref, + int kind: int ref, + int size: int ref, + int sign: int ref, + int alignment: int ref +); + +/** + * Derived types are types that are directly derived from existing types and + * point to, refer to, transform type data to return a new type. + */ +case @derivedtype.kind of + 1 = @pointer +| 2 = @reference +| 3 = @type_with_specifiers +| 4 = @array +| 5 = @gnu_vector +| 6 = @routineptr +| 7 = @routinereference +| 8 = @rvalue_reference // C++11 +// ... 9 type_conforming_to_protocols deprecated +| 10 = @block +; + +derivedtypes( + unique int id: @derivedtype, + string name: string ref, + int kind: int ref, + int type_id: @type ref +); + +pointerishsize(unique int id: @derivedtype ref, + int size: int ref, + int alignment: int ref); + +arraysizes( + unique int id: @derivedtype ref, + int num_elements: int ref, + int bytesize: int ref, + int alignment: int ref +); + +typedefbase( + unique int id: @usertype ref, + int type_id: @type ref +); + +/** + * An instance of the C++11 `decltype` operator. For example: + * ``` + * int a; + * decltype(1+a) b; + * ``` + * Here `expr` is `1+a`. + * + * Sometimes an additional pair of parentheses around the expression + * would change the semantics of this decltype, e.g. + * ``` + * struct A { double x; }; + * const A* a = new A(); + * decltype( a->x ); // type is double + * decltype((a->x)); // type is const double& + * ``` + * (Please consult the C++11 standard for more details). + * `parentheses_would_change_meaning` is `true` iff that is the case. + */ +#keyset[id, expr] +decltypes( + int id: @decltype, + int expr: @expr ref, + int base_type: @type ref, + boolean parentheses_would_change_meaning: boolean ref +); + +/* +case @usertype.kind of + 1 = @struct +| 2 = @class +| 3 = @union +| 4 = @enum +| 5 = @typedef // classic C: typedef typedef type name +| 6 = @template +| 7 = @template_parameter +| 8 = @template_template_parameter +| 9 = @proxy_class // a proxy class associated with a template parameter +// ... 10 objc_class deprecated +// ... 11 objc_protocol deprecated +// ... 12 objc_category deprecated +| 13 = @scoped_enum +| 14 = @using_alias // a using name = type style typedef +; +*/ + +usertypes( + unique int id: @usertype, + string name: string ref, + int kind: int ref +); + +usertypesize( + unique int id: @usertype ref, + int size: int ref, + int alignment: int ref +); + +usertype_final(unique int id: @usertype ref); + +usertype_uuid( + unique int id: @usertype ref, + string uuid: string ref +); + +mangled_name( + unique int id: @declaration ref, + int mangled_name : @mangledname, + 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 +); + +is_proxy_class_for( + unique int id: @usertype ref, + unique int templ_param_id: @usertype ref +); + +type_mentions( + unique int id: @type_mention, + int type_id: @type ref, + int location: @location ref, + // a_symbol_reference_kind from the 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 +); + +/* + Fixed point types + precision(1) = short, precision(2) = default, precision(3) = long + is_unsigned(1) = unsigned is_unsigned(2) = signed + is_fract_type(1) = declared with _Fract + saturating(1) = declared with _Sat +*/ +/* TODO +fixedpointtypes( + unique int id: @fixedpointtype, + int precision: int ref, + int is_unsigned: int ref, + int is_fract_type: int ref, + int saturating: int ref); +*/ + +routinetypes( + unique int id: @routinetype, + int return_type: @type ref +); + +routinetypeargs( + int routine: @routinetype ref, + int index: int ref, + int type_id: @type ref +); + +ptrtomembers( + unique int id: @ptrtomember, + int type_id: @type ref, + int class_id: @type ref +); + +/* + specifiers for types, functions, and variables + + "public", + "protected", + "private", + + "const", + "volatile", + "static", + + "pure", + "virtual", + "sealed", // Microsoft + "__interface", // Microsoft + "inline", + "explicit", + + "near", // near far extension + "far", // near far extension + "__ptr32", // Microsoft + "__ptr64", // Microsoft + "__sptr", // Microsoft + "__uptr", // Microsoft + "dllimport", // Microsoft + "dllexport", // Microsoft + "thread", // Microsoft + "naked", // Microsoft + "microsoft_inline", // Microsoft + "forceinline", // Microsoft + "selectany", // Microsoft + "nothrow", // Microsoft + "novtable", // Microsoft + "noreturn", // Microsoft + "noinline", // Microsoft + "noalias", // Microsoft + "restrict", // Microsoft +*/ + +specifiers( + unique int id: @specifier, + unique string str: string ref +); + +typespecifiers( + int type_id: @type ref, + int spec_id: @specifier ref +); + +funspecifiers( + int func_id: @function ref, + int spec_id: @specifier ref +); + +varspecifiers( + int var_id: @accessible ref, + int spec_id: @specifier ref +); + +attributes( + unique int id: @attribute, + int kind: int ref, + string name: string ref, + string name_space: string ref, + int location: @location_default ref +); + +case @attribute.kind of + 0 = @gnuattribute +| 1 = @stdattribute +| 2 = @declspec +| 3 = @msattribute +| 4 = @alignas +// ... 5 @objc_propertyattribute deprecated +; + +attribute_args( + unique int id: @attribute_arg, + int kind: int ref, + int attribute: @attribute ref, + int index: int ref, + int location: @location_default ref +); + +case @attribute_arg.kind of + 0 = @attribute_arg_empty +| 1 = @attribute_arg_token +| 2 = @attribute_arg_constant +| 3 = @attribute_arg_type +| 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 +); + +stmtattributes( + int stmt_id: @stmt ref, + int spec_id: @attribute ref +); + +@type = @builtintype + | @derivedtype + | @usertype + /* TODO | @fixedpointtype */ + | @routinetype + | @ptrtomember + | @decltype; + +unspecifiedtype( + unique int type_id: @type ref, + int unspecified_type_id: @type ref +); + +member( + int parent: @type ref, + int index: int ref, + int child: @member ref +); + +@enclosingfunction_child = @usertype | @variable | @namespace + +enclosingfunction( + unique int child: @enclosingfunction_child ref, + int parent: @function ref +); + +derivations( + unique int derivation: @derivation, + int sub: @type ref, + int index: int ref, + int super: @type ref, + int location: @location_default ref +); + +derspecifiers( + int der_id: @derivation ref, + int spec_id: @specifier ref +); + +/** + * Contains the byte offset of the base class subobject within the derived + * class. Only holds for non-virtual base classes, but see table + * `virtual_base_offsets` for offsets of virtual base class subobjects. + */ +direct_base_offsets( + unique int der_id: @derivation ref, + int offset: int ref +); + +/** + * Contains the byte offset of the virtual base class subobject for class + * `super` within a most-derived object of class `sub`. `super` can be either a + * direct or indirect base class. + */ +#keyset[sub, super] +virtual_base_offsets( + int sub: @usertype ref, + int super: @usertype ref, + int offset: int ref +); + +frienddecls( + unique int id: @frienddecl, + int type_id: @type ref, + int decl_id: @declaration ref, + int location: @location_default ref +); + +@declaredtype = @usertype ; + +@declaration = @function + | @declaredtype + | @variable + | @enumconstant + | @frienddecl; + +@member = @membervariable + | @function + | @declaredtype + | @enumconstant; + +@locatable = @diagnostic + | @declaration + | @ppd_include + | @ppd_define + | @macroinvocation + /*| @funcall*/ + | @xmllocatable + | @attribute + | @attribute_arg; + +@namedscope = @namespace | @usertype; + +@element = @locatable + | @file + | @folder + | @specifier + | @type + | @expr + | @namespace + | @initialiser + | @stmt + | @derivation + | @comment + | @preprocdirect + | @fun_decl + | @var_decl + | @type_decl + | @namespace_decl + | @using + | @namequalifier + | @specialnamequalifyingelement + | @static_assert + | @type_mention + | @lambdacapture; + +@exprparent = @element; + +comments( + unique int id: @comment, + string contents: string ref, + int location: @location_default ref +); + +commentbinding( + int id: @comment ref, + int element: @element ref +); + +exprconv( + int converted: @expr ref, + unique int conversion: @expr ref +); + +compgenerated(unique int id: @element ref); + +/** + * `destructor_call` destructs the `i`'th entity that should be + * destructed following `element`. Note that entities should be + * destructed in reverse construction order, so for a given `element` + * these should be called from highest to lowest `i`. + */ +#keyset[element, destructor_call] +#keyset[element, i] +synthetic_destructor_call( + int element: @element ref, + int i: int ref, + int destructor_call: @routineexpr ref +); + +namespaces( + unique int id: @namespace, + string name: string ref +); + +namespace_inline( + unique int id: @namespace ref +); + +namespacembrs( + int parentid: @namespace ref, + unique int memberid: @namespacembr ref +); + +@namespacembr = @declaration | @namespace; + +exprparents( + int expr_id: @expr ref, + int child_index: int ref, + int parent_id: @exprparent ref +); + +expr_isload(unique int expr_id: @expr ref); + +@cast = @c_style_cast + | @const_cast + | @dynamic_cast + | @reinterpret_cast + | @static_cast + ; + +/* +case @conversion.kind of + 0 = @simple_conversion // a numeric conversion, qualification conversion, or a reinterpret_cast +| 1 = @bool_conversion // conversion to 'bool' +| 2 = @base_class_conversion // a derived-to-base conversion +| 3 = @derived_class_conversion // a base-to-derived conversion +| 4 = @pm_base_class_conversion // a derived-to-base conversion of a pointer to member +| 5 = @pm_derived_class_conversion // a base-to-derived conversion of a pointer to member +| 6 = @glvalue_adjust // an adjustment of the type of a glvalue +| 7 = @prvalue_adjust // an adjustment of the type of a prvalue +; +*/ +/** + * Describes the semantics represented by a cast expression. This is largely + * independent of the source syntax of the cast, so it is separate from the + * regular expression kind. + */ +conversionkinds( + unique int expr_id: @cast ref, + int kind: int ref +); + +@conversion = @cast + | @array_to_pointer + | @parexpr + | @reference_to + | @ref_indirect + | @temp_init + ; + +/* +case @funbindexpr.kind of + 0 = @normal_call // a normal call +| 1 = @virtual_call // a virtual call +| 2 = @adl_call // a call whose target is only found by ADL +; +*/ +iscall( + unique int caller: @funbindexpr ref, + int kind: int ref +); + +numtemplatearguments( + unique int expr_id: @expr ref, + int num: int ref +); + +specialnamequalifyingelements( + unique int id: @specialnamequalifyingelement, + unique string name: string ref +); + +@namequalifiableelement = @expr | @namequalifier; +@namequalifyingelement = @namespace + | @specialnamequalifyingelement + | @usertype; + +namequalifiers( + unique int id: @namequalifier, + unique int qualifiableelement: @namequalifiableelement ref, + int qualifyingelement: @namequalifyingelement ref, + int location: @location_default ref +); + +varbind( + int expr: @varbindexpr ref, + int var: @accessible ref +); + +funbind( + int expr: @funbindexpr ref, + int fun: @function ref +); + +@any_new_expr = @new_expr + | @new_array_expr; + +@new_or_delete_expr = @any_new_expr + | @delete_expr + | @delete_array_expr; + +@prefix_crement_expr = @preincrexpr | @predecrexpr; + +@postfix_crement_expr = @postincrexpr | @postdecrexpr; + +@increment_expr = @preincrexpr | @postincrexpr; + +@decrement_expr = @predecrexpr | @postdecrexpr; + +@crement_expr = @increment_expr | @decrement_expr; + +@un_arith_op_expr = @arithnegexpr + | @unaryplusexpr + | @conjugation + | @realpartexpr + | @imagpartexpr + | @crement_expr + ; + +@un_bitwise_op_expr = @complementexpr; + +@un_log_op_expr = @notexpr; + +@un_op_expr = @address_of + | @indirect + | @un_arith_op_expr + | @un_bitwise_op_expr + | @builtinaddressof + | @vec_fill + | @un_log_op_expr + | @co_await + | @co_yield + ; + +@bin_log_op_expr = @andlogicalexpr | @orlogicalexpr; + +@cmp_op_expr = @eq_op_expr | @rel_op_expr; + +@eq_op_expr = @eqexpr | @neexpr; + +@rel_op_expr = @gtexpr + | @ltexpr + | @geexpr + | @leexpr + | @spaceshipexpr + ; + +@bin_bitwise_op_expr = @lshiftexpr + | @rshiftexpr + | @andexpr + | @orexpr + | @xorexpr + ; + +@p_arith_op_expr = @paddexpr + | @psubexpr + | @pdiffexpr + ; + +@bin_arith_op_expr = @addexpr + | @subexpr + | @mulexpr + | @divexpr + | @remexpr + | @jmulexpr + | @jdivexpr + | @fjaddexpr + | @jfaddexpr + | @fjsubexpr + | @jfsubexpr + | @minexpr + | @maxexpr + | @p_arith_op_expr + ; + +@bin_op_expr = @bin_arith_op_expr + | @bin_bitwise_op_expr + | @cmp_op_expr + | @bin_log_op_expr + ; + +@op_expr = @un_op_expr + | @bin_op_expr + | @assign_expr + | @conditionalexpr + ; + +@assign_arith_expr = @assignaddexpr + | @assignsubexpr + | @assignmulexpr + | @assigndivexpr + | @assignremexpr + ; + +@assign_bitwise_expr = @assignandexpr + | @assignorexpr + | @assignxorexpr + | @assignlshiftexpr + | @assignrshiftexpr + ; + +@assign_pointer_expr = @assignpaddexpr + | @assignpsubexpr + ; + +@assign_op_expr = @assign_arith_expr + | @assign_bitwise_expr + | @assign_pointer_expr + ; + +@assign_expr = @assignexpr | @assign_op_expr | @blockassignexpr + +/* + case @allocator.form of + 0 = plain + | 1 = alignment + ; +*/ + +/** + * The allocator function associated with a `new` or `new[]` expression. + * The `form` column specified whether the allocation call contains an alignment + * argument. + */ +expr_allocator( + unique int expr: @any_new_expr ref, + int func: @function ref, + int form: int ref +); + +/* + case @deallocator.form of + 0 = plain + | 1 = size + | 2 = alignment + | 3 = size_and_alignment + ; +*/ + +/** + * The deallocator function associated with a `delete`, `delete[]`, `new`, or + * `new[]` expression. For a `new` or `new[]` expression, the deallocator is the + * one used to free memory if the initialization throws an exception. + * The `form` column specifies whether the deallocation call contains a size + * argument, and alignment argument, or both. + */ +expr_deallocator( + unique int expr: @new_or_delete_expr ref, + int func: @function ref, + int form: int ref +); + +/** + * Holds if the `@conditionalexpr` is of the two operand form + * `guard ? : false`. + */ +expr_cond_two_operand( + unique int cond: @conditionalexpr ref +); + +/** + * The guard of `@conditionalexpr` `guard ? true : false` + */ +expr_cond_guard( + unique int cond: @conditionalexpr ref, + int guard: @expr ref +); + +/** + * The expression used when the guard of `@conditionalexpr` + * `guard ? true : false` holds. For the two operand form + * `guard ?: false` consider using `expr_cond_guard` instead. + */ +expr_cond_true( + unique int cond: @conditionalexpr ref, + int true: @expr ref +); + +/** + * The expression used when the guard of `@conditionalexpr` + * `guard ? true : false` does not hold. + */ +expr_cond_false( + unique int cond: @conditionalexpr ref, + int false: @expr ref +); + +/** A string representation of the value. */ +values( + unique int id: @value, + string str: string ref +); + +/** The actual text in the source code for the value, if any. */ +valuetext( + unique int id: @value ref, + string text: string ref +); + +valuebind( + int val: @value ref, + unique int expr: @expr ref +); + +fieldoffsets( + unique int id: @variable ref, + int byteoffset: int ref, + int bitoffset: int ref +); + +bitfield( + unique int id: @variable ref, + int bits: int ref, + int declared_bits: int ref +); + +/* TODO +memberprefix( + int member: @expr ref, + int prefix: @expr ref +); +*/ + +/* + kind(1) = mbrcallexpr + kind(2) = mbrptrcallexpr + kind(3) = mbrptrmbrcallexpr + kind(4) = ptrmbrptrmbrcallexpr + kind(5) = mbrreadexpr // x.y + kind(6) = mbrptrreadexpr // p->y + kind(7) = mbrptrmbrreadexpr // x.*pm + kind(8) = mbrptrmbrptrreadexpr // x->*pm + kind(9) = staticmbrreadexpr // static x.y + kind(10) = staticmbrptrreadexpr // static p->y +*/ +/* TODO +memberaccess( + int member: @expr ref, + int kind: int ref +); +*/ + +initialisers( + unique int init: @initialiser, + int var: @accessible ref, + unique int expr: @expr ref, + int location: @location_expr ref +); + +braced_initialisers( + int init: @initialiser ref +); + +/** + * An ancestor for the expression, for cases in which we cannot + * otherwise find the expression's parent. + */ +expr_ancestor( + int exp: @expr ref, + int ancestor: @element ref +); + +exprs( + unique int id: @expr, + int kind: int ref, + int location: @location_expr ref +); + +expr_reuse( + int reuse: @expr ref, + int original: @expr ref +) + +/* + case @value.category of + 1 = prval + | 2 = xval + | 3 = lval + ; +*/ +expr_types( + int id: @expr ref, + int typeid: @type ref, + int value_category: int ref +); + +case @expr.kind of + 1 = @errorexpr +| 2 = @address_of // & AddressOfExpr +| 3 = @reference_to // ReferenceToExpr (implicit?) +| 4 = @indirect // * PointerDereferenceExpr +| 5 = @ref_indirect // ReferenceDereferenceExpr (implicit?) +// ... +| 8 = @array_to_pointer // (???) +| 9 = @vacuous_destructor_call // VacuousDestructorCall +// ... +| 11 = @assume // Microsoft +| 12 = @parexpr +| 13 = @arithnegexpr +| 14 = @unaryplusexpr +| 15 = @complementexpr +| 16 = @notexpr +| 17 = @conjugation // GNU ~ operator +| 18 = @realpartexpr // GNU __real +| 19 = @imagpartexpr // GNU __imag +| 20 = @postincrexpr +| 21 = @postdecrexpr +| 22 = @preincrexpr +| 23 = @predecrexpr +| 24 = @conditionalexpr +| 25 = @addexpr +| 26 = @subexpr +| 27 = @mulexpr +| 28 = @divexpr +| 29 = @remexpr +| 30 = @jmulexpr // C99 mul imaginary +| 31 = @jdivexpr // C99 div imaginary +| 32 = @fjaddexpr // C99 add real + imaginary +| 33 = @jfaddexpr // C99 add imaginary + real +| 34 = @fjsubexpr // C99 sub real - imaginary +| 35 = @jfsubexpr // C99 sub imaginary - real +| 36 = @paddexpr // pointer add (pointer + int or int + pointer) +| 37 = @psubexpr // pointer sub (pointer - integer) +| 38 = @pdiffexpr // difference between two pointers +| 39 = @lshiftexpr +| 40 = @rshiftexpr +| 41 = @andexpr +| 42 = @orexpr +| 43 = @xorexpr +| 44 = @eqexpr +| 45 = @neexpr +| 46 = @gtexpr +| 47 = @ltexpr +| 48 = @geexpr +| 49 = @leexpr +| 50 = @minexpr // GNU minimum +| 51 = @maxexpr // GNU maximum +| 52 = @assignexpr +| 53 = @assignaddexpr +| 54 = @assignsubexpr +| 55 = @assignmulexpr +| 56 = @assigndivexpr +| 57 = @assignremexpr +| 58 = @assignlshiftexpr +| 59 = @assignrshiftexpr +| 60 = @assignandexpr +| 61 = @assignorexpr +| 62 = @assignxorexpr +| 63 = @assignpaddexpr // assign pointer add +| 64 = @assignpsubexpr // assign pointer sub +| 65 = @andlogicalexpr +| 66 = @orlogicalexpr +| 67 = @commaexpr +| 68 = @subscriptexpr // access to member of an array, e.g., a[5] +// ... 69 @objc_subscriptexpr deprecated +// ... 70 @cmdaccess deprecated +// ... +| 73 = @virtfunptrexpr +| 74 = @callexpr +// ... 75 @msgexpr_normal deprecated +// ... 76 @msgexpr_super deprecated +// ... 77 @atselectorexpr deprecated +// ... 78 @atprotocolexpr deprecated +| 79 = @vastartexpr +| 80 = @vaargexpr +| 81 = @vaendexpr +| 82 = @vacopyexpr +// ... 83 @atencodeexpr deprecated +| 84 = @varaccess +| 85 = @thisaccess +// ... 86 @objc_box_expr deprecated +| 87 = @new_expr +| 88 = @delete_expr +| 89 = @throw_expr +| 90 = @condition_decl // a variable declared in a condition, e.g., if(int x = y > 2) +| 91 = @braced_init_list +| 92 = @type_id +| 93 = @runtime_sizeof +| 94 = @runtime_alignof +| 95 = @sizeof_pack +| 96 = @expr_stmt // GNU extension +| 97 = @routineexpr +| 98 = @type_operand // used to access a type in certain contexts (haven't found any examples yet....) +| 99 = @offsetofexpr // offsetof ::= type and field +| 100 = @hasassignexpr // __has_assign ::= type +| 101 = @hascopyexpr // __has_copy ::= type +| 102 = @hasnothrowassign // __has_nothrow_assign ::= type +| 103 = @hasnothrowconstr // __has_nothrow_constructor ::= type +| 104 = @hasnothrowcopy // __has_nothrow_copy ::= type +| 105 = @hastrivialassign // __has_trivial_assign ::= type +| 106 = @hastrivialconstr // __has_trivial_constructor ::= type +| 107 = @hastrivialcopy // __has_trivial_copy ::= type +| 108 = @hasuserdestr // __has_user_destructor ::= type +| 109 = @hasvirtualdestr // __has_virtual_destructor ::= type +| 110 = @isabstractexpr // __is_abstract ::= type +| 111 = @isbaseofexpr // __is_base_of ::= type type +| 112 = @isclassexpr // __is_class ::= type +| 113 = @isconvtoexpr // __is_convertible_to ::= type type +| 114 = @isemptyexpr // __is_empty ::= type +| 115 = @isenumexpr // __is_enum ::= type +| 116 = @ispodexpr // __is_pod ::= type +| 117 = @ispolyexpr // __is_polymorphic ::= type +| 118 = @isunionexpr // __is_union ::= type +| 119 = @typescompexpr // GNU __builtin_types_compatible ::= type type +| 120 = @intaddrexpr // 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 +; + +@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 + ; + +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 +); + +/** + * 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 +); + +@ctorinit = @ctordirectinit + | @ctorvirtualinit + | @ctorfieldinit + | @ctordelegatinginit; +@dtordestruct = @dtordirectdestruct + | @dtorvirtualdestruct + | @dtorfielddestruct; + + +condition_decl_bind( + unique int expr: @condition_decl ref, + unique int decl: @declaration ref +); + +typeid_bind( + unique int expr: @type_id ref, + int type_id: @type ref +); + +uuidof_bind( + unique int expr: @uuidof ref, + int type_id: @type ref +); + +@runtime_sizeof_or_alignof = @runtime_sizeof | @runtime_alignof; + +sizeof_bind( + unique int expr: @runtime_sizeof_or_alignof ref, + int type_id: @type ref +); + +code_block( + unique int block: @literal ref, + unique int routine: @function ref +); + +lambdas( + unique int expr: @lambdaexpr ref, + string default_capture: string ref, + boolean has_explicit_return_type: boolean ref +); + +lambda_capture( + unique int id: @lambdacapture, + int lambda: @lambdaexpr ref, + int index: int ref, + int field: @membervariable ref, + boolean captured_by_reference: boolean ref, + boolean is_implicit: boolean ref, + int location: @location_default ref +); + +@funbindexpr = @routineexpr + | @new_expr + | @delete_expr + | @delete_array_expr + | @ctordirectinit + | @ctorvirtualinit + | @ctordelegatinginit + | @dtordirectdestruct + | @dtorvirtualdestruct; + +@varbindexpr = @varaccess | @ctorfieldinit | @dtorfielddestruct; +@addressable = @function | @variable ; +@accessible = @addressable | @enumconstant ; + +@access = @varaccess | @routineexpr ; + +fold( + int expr: @foldexpr ref, + string operator: string ref, + boolean is_left_fold: boolean ref +); + +stmts( + unique int id: @stmt, + int kind: int ref, + int location: @location_stmt ref +); + +case @stmt.kind of + 1 = @stmt_expr +| 2 = @stmt_if +| 3 = @stmt_while +| 4 = @stmt_goto +| 5 = @stmt_label +| 6 = @stmt_return +| 7 = @stmt_block +| 8 = @stmt_end_test_while // do { ... } while ( ... ) +| 9 = @stmt_for +| 10 = @stmt_switch_case +| 11 = @stmt_switch +| 13 = @stmt_asm // "asm" statement or the body of an asm function +| 15 = @stmt_try_block +| 16 = @stmt_microsoft_try // Microsoft +| 17 = @stmt_decl +| 18 = @stmt_set_vla_size // C99 +| 19 = @stmt_vla_decl // C99 +| 25 = @stmt_assigned_goto // GNU +| 26 = @stmt_empty +| 27 = @stmt_continue +| 28 = @stmt_break +| 29 = @stmt_range_based_for // C++11 +// ... 30 @stmt_at_autoreleasepool_block deprecated +// ... 31 @stmt_objc_for_in deprecated +// ... 32 @stmt_at_synchronized deprecated +| 33 = @stmt_handler +// ... 34 @stmt_finally_end deprecated +| 35 = @stmt_constexpr_if +| 37 = @stmt_co_return +; + +type_vla( + int type_id: @type ref, + int decl: @stmt_vla_decl ref +); + +variable_vla( + int var: @variable ref, + int decl: @stmt_vla_decl ref +); + +if_initialization( + unique int if_stmt: @stmt_if ref, + int init_id: @stmt ref +); + +if_then( + unique int if_stmt: @stmt_if ref, + int then_id: @stmt ref +); + +if_else( + unique int if_stmt: @stmt_if ref, + int else_id: @stmt ref +); + +constexpr_if_initialization( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int init_id: @stmt ref +); + +constexpr_if_then( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int then_id: @stmt ref +); + +constexpr_if_else( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int else_id: @stmt ref +); + +while_body( + unique int while_stmt: @stmt_while ref, + int body_id: @stmt ref +); + +do_body( + unique int do_stmt: @stmt_end_test_while ref, + int body_id: @stmt ref +); + +switch_initialization( + unique int switch_stmt: @stmt_switch ref, + int init_id: @stmt ref +); + +#keyset[switch_stmt, index] +switch_case( + int switch_stmt: @stmt_switch ref, + int index: int ref, + int case_id: @stmt_switch_case ref +); + +switch_body( + unique int switch_stmt: @stmt_switch ref, + int body_id: @stmt ref +); + +@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 +); + +@functionorblock = @function | @stmt_block; + +blockscope( + unique int block: @stmt_block ref, + int enclosing: @functionorblock ref +); + +@jump = @stmt_goto | @stmt_break | @stmt_continue; + +@jumporlabel = @jump | @stmt_label | @literal; + +jumpinfo( + unique int id: @jumporlabel ref, + string str: string ref, + int target: @stmt ref +); + +preprocdirects( + unique int id: @preprocdirect, + int kind: int ref, + int location: @location_default ref +); +case @preprocdirect.kind of + 0 = @ppd_if +| 1 = @ppd_ifdef +| 2 = @ppd_ifndef +| 3 = @ppd_elif +| 4 = @ppd_else +| 5 = @ppd_endif +| 6 = @ppd_plain_include +| 7 = @ppd_define +| 8 = @ppd_undef +| 9 = @ppd_line +| 10 = @ppd_error +| 11 = @ppd_pragma +| 12 = @ppd_objc_import +| 13 = @ppd_include_next +| 18 = @ppd_warning +; + +@ppd_include = @ppd_plain_include | @ppd_objc_import | @ppd_include_next; + +@ppd_branch = @ppd_if | @ppd_ifdef | @ppd_ifndef | @ppd_elif; + +preprocpair( + int begin : @ppd_branch ref, + int elseelifend : @preprocdirect ref +); + +preproctrue(int branch : @ppd_branch ref); +preprocfalse(int branch : @ppd_branch ref); + +preproctext( + unique int id: @preprocdirect ref, + string head: string ref, + string body: string ref +); + +includes( + unique int id: @ppd_include ref, + int included: @file ref +); + +link_targets( + int id: @link_target, + int binary: @file ref +); + +link_parent( + int element : @element ref, + int link_target : @link_target ref +); + +/* XML Files */ + +xmlEncoding(unique int id: @file ref, string encoding: string ref); + +xmlDTDs( + unique int id: @xmldtd, + string root: string ref, + string publicId: string ref, + string systemId: string ref, + int fileid: @file ref +); + +xmlElements( + unique int id: @xmlelement, + string name: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int fileid: @file ref +); + +xmlAttrs( + unique int id: @xmlattribute, + int elementid: @xmlelement ref, + string name: string ref, + string value: string ref, + int idx: int ref, + int fileid: @file ref +); + +xmlNs( + int id: @xmlnamespace, + string prefixName: string ref, + string URI: string ref, + int fileid: @file ref +); + +xmlHasNs( + int elementId: @xmlnamespaceable ref, + int nsId: @xmlnamespace ref, + int fileid: @file ref +); + +xmlComments( + unique int id: @xmlcomment, + string text: string ref, + int parentid: @xmlparent ref, + int fileid: @file ref +); + +xmlChars( + unique int id: @xmlcharacters, + string text: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int isCDATA: int ref, + int fileid: @file ref +); + +@xmlparent = @file | @xmlelement; +@xmlnamespaceable = @xmlelement | @xmlattribute; + +xmllocations( + int xmlElement: @xmllocatable ref, + int location: @location_default ref +); + +@xmllocatable = @xmlcharacters + | @xmlelement + | @xmlcomment + | @xmlattribute + | @xmldtd + | @file + | @xmlnamespace; diff --git a/cpp/downgrades/aa7ff0ab32cd4674f6ab731d32fea64116997b05/semmlecode.cpp.dbscheme b/cpp/downgrades/aa7ff0ab32cd4674f6ab731d32fea64116997b05/semmlecode.cpp.dbscheme new file mode 100644 index 00000000000..298438feb14 --- /dev/null +++ b/cpp/downgrades/aa7ff0ab32cd4674f6ab731d32fea64116997b05/semmlecode.cpp.dbscheme @@ -0,0 +1,2244 @@ + +/** + * An invocation of the compiler. Note that more than one file may be + * compiled per invocation. For example, this command compiles three + * source files: + * + * gcc -c f1.c f2.c f3.c + * + * The `id` simply identifies the invocation, while `cwd` is the working + * directory from which the compiler was invoked. + */ +compilations( + /** + * An invocation of the compiler. Note that more than one file may + * be compiled per invocation. For example, this command compiles + * three source files: + * + * gcc -c f1.c f2.c f3.c + */ + unique int id : @compilation, + string cwd : string ref +); + +/** + * The arguments that were passed to the extractor for a compiler + * invocation. If `id` is for the compiler invocation + * + * gcc -c f1.c f2.c f3.c + * + * then typically there will be rows for + * + * num | arg + * --- | --- + * 0 | *path to extractor* + * 1 | `--mimic` + * 2 | `/usr/bin/gcc` + * 3 | `-c` + * 4 | f1.c + * 5 | f2.c + * 6 | f3.c + */ +#keyset[id, num] +compilation_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * The source files that are compiled by a compiler invocation. + * If `id` is for the compiler invocation + * + * gcc -c f1.c f2.c f3.c + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | f1.c + * 1 | f2.c + * 2 | f3.c + * + * Note that even if those files `#include` headers, those headers + * do not appear as rows. + */ +#keyset[id, num] +compilation_compiling_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * The time taken by the extractor for a compiler invocation. + * + * For each file `num`, there will be rows for + * + * kind | seconds + * ---- | --- + * 1 | CPU seconds used by the extractor frontend + * 2 | Elapsed seconds during the extractor frontend + * 3 | CPU seconds used by the extractor backend + * 4 | Elapsed seconds during the extractor backend + */ +#keyset[id, num, kind] +compilation_time( + int id : @compilation ref, + int num : int ref, + /* kind: + 1 = frontend_cpu_seconds + 2 = frontend_elapsed_seconds + 3 = extractor_cpu_seconds + 4 = extractor_elapsed_seconds + */ + int kind : int ref, + float seconds : float ref +); + +/** + * An error or warning generated by the extractor. + * The diagnostic message `diagnostic` was generated during compiler + * invocation `compilation`, and is the `file_number_diagnostic_number`th + * message generated while extracting the `file_number`th file of that + * invocation. + */ +#keyset[compilation, file_number, file_number_diagnostic_number] +diagnostic_for( + int diagnostic : @diagnostic ref, + int compilation : @compilation ref, + int file_number : int ref, + int file_number_diagnostic_number : int ref +); + +/** + * If extraction was successful, then `cpu_seconds` and + * `elapsed_seconds` are the CPU time and elapsed time (respectively) + * that extraction took for compiler invocation `id`. + */ +compilation_finished( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref +); + + +/** + * External data, loaded from CSV files during snapshot creation. See + * [Tutorial: Incorporating external data](https://help.semmle.com/wiki/display/SD/Tutorial%3A+Incorporating+external+data) + * for more information. + */ +externalData( + int id : @externalDataElement, + string path : string ref, + int column: int ref, + string value : string ref +); + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/** + * Information about packages that provide code used during compilation. + * The `id` is just a unique identifier. + * The `namespace` is typically the name of the package manager that + * provided the package (e.g. "dpkg" or "yum"). + * The `package_name` is the name of the package, and `version` is its + * version (as a string). + */ +external_packages( + unique int id: @external_package, + string namespace : string ref, + string package_name : string ref, + string version : string ref +); + +/** + * Holds if File `fileid` was provided by package `package`. + */ +header_to_external_package( + int fileid : @file ref, + int package : @external_package ref +); + +/* + * Version history + */ + +svnentries( + unique int id : @svnentry, + string revision : string ref, + string author : string ref, + date revisionDate : date ref, + int changeSize : int ref +) + +svnaffectedfiles( + int id : @svnentry ref, + int file : @file ref, + string action : string ref +) + +svnentrymsg( + unique int id : @svnentry ref, + string message : string ref +) + +svnchurn( + int commit : @svnentry ref, + int file : @file ref, + int addedLines : int ref, + int deletedLines : int ref +) + +/* + * C++ dbscheme + */ + +extractor_version( + string codeql_version: string ref, + string frontend_version: string ref +) + +@location = @location_stmt | @location_expr | @location_default ; + +/** + * The location of an element that is not an expression or a statement. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_default( + /** The location of an element that is not an expression or a statement. */ + unique int id: @location_default, + int container: @container ref, + int startLine: int ref, + int startColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +/** + * The location of a statement. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_stmt( + /** The location of a statement. */ + unique int id: @location_stmt, + int container: @container ref, + int startLine: int ref, + int startColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +/** + * The location of an expression. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_expr( + /** The location of an expression. */ + unique int id: @location_expr, + int container: @container ref, + int startLine: int ref, + int startColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +/** An element for which line-count information is available. */ +@sourceline = @file | @function | @variable | @enumconstant | @xmllocatable; + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +diagnostics( + unique int id: @diagnostic, + int severity: int ref, + string error_tag: string ref, + string error_message: string ref, + string full_error_message: string ref, + int location: @location_default ref +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @folder | @file + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +fileannotations( + int id: @file ref, + int kind: int ref, + string name: string ref, + string value: string ref +); + +inmacroexpansion( + int id: @element ref, + int inv: @macroinvocation ref +); + +affectedbymacroexpansion( + int id: @element ref, + int inv: @macroinvocation ref +); + +case @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 ref +); + +#keyset[invocation, argument_index] +macro_argument_unexpanded( + int invocation: @macroinvocation ref, + int argument_index: int ref, + string text: string ref +); + +#keyset[invocation, argument_index] +macro_argument_expanded( + int invocation: @macroinvocation ref, + int argument_index: int ref, + string text: string ref +); + +/* +case @function.kind of + 1 = @normal_function +| 2 = @constructor +| 3 = @destructor +| 4 = @conversion_function +| 5 = @operator +| 6 = @builtin_function // 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 +); + +function_entry_point( + int id: @function ref, + unique int entry_point: @stmt ref +); + +function_return_type( + int id: @function ref, + int return_type: @type ref +); + +/** + * If `function` is a coroutine, then this gives the `std::experimental::resumable_traits` + * instance associated with it, and the variables representing the `handle` and `promise` + * for it. + */ +coroutine( + unique int function: @function ref, + int traits: @type ref, + int handle: @variable ref, + int promise: @variable ref +); + +/** The `new` function used for allocating the coroutine state, if any. */ +coroutine_new( + unique int function: @function ref, + int new: @function ref +); + +/** The `delete` function used for deallocating the coroutine state, if any. */ +coroutine_delete( + unique int function: @function ref, + int delete: @function ref +); + +purefunctions(unique int id: @function ref); + +function_deleted(unique int id: @function ref); + +function_defaulted(unique int id: @function ref); + +function_prototyped(unique int id: @function ref) + +member_function_this_type( + unique int id: @function ref, + int this_type: @type ref +); + +#keyset[id, type_id] +fun_decls( + int id: @fun_decl, + int function: @function ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); +fun_def(unique int id: @fun_decl ref); +fun_specialized(unique int id: @fun_decl ref); +fun_implicit(unique int id: @fun_decl ref); +fun_decl_specifiers( + int id: @fun_decl ref, + string name: string ref +) +#keyset[fun_decl, index] +fun_decl_throws( + int fun_decl: @fun_decl ref, + int index: int ref, + int type_id: @type ref +); +/* an empty throw specification is different from none */ +fun_decl_empty_throws(unique int fun_decl: @fun_decl ref); +fun_decl_noexcept( + int fun_decl: @fun_decl ref, + int constant: @expr ref +); +fun_decl_empty_noexcept(int fun_decl: @fun_decl ref); +fun_decl_typedef_type( + unique int fun_decl: @fun_decl ref, + int typedeftype_id: @usertype ref +); + +param_decl_bind( + unique int id: @var_decl ref, + int index: int ref, + int fun_decl: @fun_decl ref +); + +#keyset[id, type_id] +var_decls( + int id: @var_decl, + int variable: @variable ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); +var_def(unique int id: @var_decl ref); +var_decl_specifiers( + int id: @var_decl ref, + string name: string ref +) +is_structured_binding(unique int id: @variable ref); + +type_decls( + unique int id: @type_decl, + int type_id: @type ref, + int location: @location_default ref +); +type_def(unique int id: @type_decl ref); +type_decl_top( + unique int type_decl: @type_decl ref +); + +namespace_decls( + unique int id: @namespace_decl, + int namespace_id: @namespace ref, + int location: @location_default ref, + int bodylocation: @location_default ref +); + +usings( + unique int id: @using, + int element_id: @element ref, + int location: @location_default ref +); + +/** The element which contains the `using` declaration. */ +using_container( + int parent: @element ref, + int child: @using ref +); + +static_asserts( + unique int id: @static_assert, + int condition : @expr ref, + string message : string ref, + int location: @location_default ref, + int enclosing : @element ref +); + +// each function has an ordered list of parameters +#keyset[id, type_id] +#keyset[function, index, type_id] +params( + int id: @parameter, + int function: @functionorblock ref, + int index: int ref, + int type_id: @type ref +); + +overrides( + int new: @function ref, + int old: @function ref +); + +#keyset[id, type_id] +membervariables( + int id: @membervariable, + int type_id: @type ref, + string name: string ref +); + +#keyset[id, type_id] +globalvariables( + int id: @globalvariable, + int type_id: @type ref, + string name: string ref +); + +#keyset[id, type_id] +localvariables( + int id: @localvariable, + int type_id: @type ref, + string name: string ref +); + +autoderivation( + unique int var: @variable ref, + int derivation_type: @type ref +); + +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 +; + +builtintypes( + unique int id: @builtintype, + string name: string ref, + int kind: int ref, + int size: int ref, + int sign: int ref, + int alignment: int ref +); + +/** + * Derived types are types that are directly derived from existing types and + * point to, refer to, transform type data to return a new type. + */ +case @derivedtype.kind of + 1 = @pointer +| 2 = @reference +| 3 = @type_with_specifiers +| 4 = @array +| 5 = @gnu_vector +| 6 = @routineptr +| 7 = @routinereference +| 8 = @rvalue_reference // C++11 +// ... 9 type_conforming_to_protocols deprecated +| 10 = @block +; + +derivedtypes( + unique int id: @derivedtype, + string name: string ref, + int kind: int ref, + int type_id: @type ref +); + +pointerishsize(unique int id: @derivedtype ref, + int size: int ref, + int alignment: int ref); + +arraysizes( + unique int id: @derivedtype ref, + int num_elements: int ref, + int bytesize: int ref, + int alignment: int ref +); + +typedefbase( + unique int id: @usertype ref, + int type_id: @type ref +); + +/** + * An instance of the C++11 `decltype` operator. For example: + * ``` + * int a; + * decltype(1+a) b; + * ``` + * Here `expr` is `1+a`. + * + * Sometimes an additional pair of parentheses around the expression + * would change the semantics of this decltype, e.g. + * ``` + * struct A { double x; }; + * const A* a = new A(); + * decltype( a->x ); // type is double + * decltype((a->x)); // type is const double& + * ``` + * (Please consult the C++11 standard for more details). + * `parentheses_would_change_meaning` is `true` iff that is the case. + */ +#keyset[id, expr] +decltypes( + int id: @decltype, + int expr: @expr ref, + int base_type: @type ref, + boolean parentheses_would_change_meaning: boolean ref +); + +/* +case @usertype.kind of + 1 = @struct +| 2 = @class +| 3 = @union +| 4 = @enum +| 5 = @typedef // classic C: typedef typedef type name +| 6 = @template +| 7 = @template_parameter +| 8 = @template_template_parameter +| 9 = @proxy_class // a proxy class associated with a template parameter +// ... 10 objc_class deprecated +// ... 11 objc_protocol deprecated +// ... 12 objc_category deprecated +| 13 = @scoped_enum +| 14 = @using_alias // a using name = type style typedef +; +*/ + +usertypes( + unique int id: @usertype, + string name: string ref, + int kind: int ref +); + +usertypesize( + unique int id: @usertype ref, + int size: int ref, + int alignment: int ref +); + +usertype_final(unique int id: @usertype ref); + +usertype_uuid( + unique int id: @usertype ref, + string uuid: string ref +); + +mangled_name( + unique int id: @declaration ref, + int mangled_name : @mangledname, + 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 +); + +is_proxy_class_for( + unique int id: @usertype ref, + unique int templ_param_id: @usertype ref +); + +type_mentions( + unique int id: @type_mention, + int type_id: @type ref, + int location: @location ref, + // a_symbol_reference_kind from the 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 +); + +/* + Fixed point types + precision(1) = short, precision(2) = default, precision(3) = long + is_unsigned(1) = unsigned is_unsigned(2) = signed + is_fract_type(1) = declared with _Fract + saturating(1) = declared with _Sat +*/ +/* TODO +fixedpointtypes( + unique int id: @fixedpointtype, + int precision: int ref, + int is_unsigned: int ref, + int is_fract_type: int ref, + int saturating: int ref); +*/ + +routinetypes( + unique int id: @routinetype, + int return_type: @type ref +); + +routinetypeargs( + int routine: @routinetype ref, + int index: int ref, + int type_id: @type ref +); + +ptrtomembers( + unique int id: @ptrtomember, + int type_id: @type ref, + int class_id: @type ref +); + +/* + specifiers for types, functions, and variables + + "public", + "protected", + "private", + + "const", + "volatile", + "static", + + "pure", + "virtual", + "sealed", // Microsoft + "__interface", // Microsoft + "inline", + "explicit", + + "near", // near far extension + "far", // near far extension + "__ptr32", // Microsoft + "__ptr64", // Microsoft + "__sptr", // Microsoft + "__uptr", // Microsoft + "dllimport", // Microsoft + "dllexport", // Microsoft + "thread", // Microsoft + "naked", // Microsoft + "microsoft_inline", // Microsoft + "forceinline", // Microsoft + "selectany", // Microsoft + "nothrow", // Microsoft + "novtable", // Microsoft + "noreturn", // Microsoft + "noinline", // Microsoft + "noalias", // Microsoft + "restrict", // Microsoft +*/ + +specifiers( + unique int id: @specifier, + unique string str: string ref +); + +typespecifiers( + int type_id: @type ref, + int spec_id: @specifier ref +); + +funspecifiers( + int func_id: @function ref, + int spec_id: @specifier ref +); + +varspecifiers( + int var_id: @accessible ref, + int spec_id: @specifier ref +); + +attributes( + unique int id: @attribute, + int kind: int ref, + string name: string ref, + string name_space: string ref, + int location: @location_default ref +); + +case @attribute.kind of + 0 = @gnuattribute +| 1 = @stdattribute +| 2 = @declspec +| 3 = @msattribute +| 4 = @alignas +// ... 5 @objc_propertyattribute deprecated +; + +attribute_args( + unique int id: @attribute_arg, + int kind: int ref, + int attribute: @attribute ref, + int index: int ref, + int location: @location_default ref +); + +case @attribute_arg.kind of + 0 = @attribute_arg_empty +| 1 = @attribute_arg_token +| 2 = @attribute_arg_constant +| 3 = @attribute_arg_type +| 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 +); + +stmtattributes( + int stmt_id: @stmt ref, + int spec_id: @attribute ref +); + +@type = @builtintype + | @derivedtype + | @usertype + /* TODO | @fixedpointtype */ + | @routinetype + | @ptrtomember + | @decltype; + +unspecifiedtype( + unique int type_id: @type ref, + int unspecified_type_id: @type ref +); + +member( + int parent: @type ref, + int index: int ref, + int child: @member ref +); + +@enclosingfunction_child = @usertype | @variable | @namespace + +enclosingfunction( + unique int child: @enclosingfunction_child ref, + int parent: @function ref +); + +derivations( + unique int derivation: @derivation, + int sub: @type ref, + int index: int ref, + int super: @type ref, + int location: @location_default ref +); + +derspecifiers( + int der_id: @derivation ref, + int spec_id: @specifier ref +); + +/** + * Contains the byte offset of the base class subobject within the derived + * class. Only holds for non-virtual base classes, but see table + * `virtual_base_offsets` for offsets of virtual base class subobjects. + */ +direct_base_offsets( + unique int der_id: @derivation ref, + int offset: int ref +); + +/** + * Contains the byte offset of the virtual base class subobject for class + * `super` within a most-derived object of class `sub`. `super` can be either a + * direct or indirect base class. + */ +#keyset[sub, super] +virtual_base_offsets( + int sub: @usertype ref, + int super: @usertype ref, + int offset: int ref +); + +frienddecls( + unique int id: @frienddecl, + int type_id: @type ref, + int decl_id: @declaration ref, + int location: @location_default ref +); + +@declaredtype = @usertype ; + +@declaration = @function + | @declaredtype + | @variable + | @enumconstant + | @frienddecl; + +@member = @membervariable + | @function + | @declaredtype + | @enumconstant; + +@locatable = @diagnostic + | @declaration + | @ppd_include + | @ppd_define + | @macroinvocation + /*| @funcall*/ + | @xmllocatable + | @attribute + | @attribute_arg; + +@namedscope = @namespace | @usertype; + +@element = @locatable + | @file + | @folder + | @specifier + | @type + | @expr + | @namespace + | @initialiser + | @stmt + | @derivation + | @comment + | @preprocdirect + | @fun_decl + | @var_decl + | @type_decl + | @namespace_decl + | @using + | @namequalifier + | @specialnamequalifyingelement + | @static_assert + | @type_mention + | @lambdacapture; + +@exprparent = @element; + +comments( + unique int id: @comment, + string contents: string ref, + int location: @location_default ref +); + +commentbinding( + int id: @comment ref, + int element: @element ref +); + +exprconv( + int converted: @expr ref, + unique int conversion: @expr ref +); + +compgenerated(unique int id: @element ref); + +/** + * `destructor_call` destructs the `i`'th entity that should be + * destructed following `element`. Note that entities should be + * destructed in reverse construction order, so for a given `element` + * these should be called from highest to lowest `i`. + */ +#keyset[element, destructor_call] +#keyset[element, i] +synthetic_destructor_call( + int element: @element ref, + int i: int ref, + int destructor_call: @routineexpr ref +); + +namespaces( + unique int id: @namespace, + string name: string ref +); + +namespace_inline( + unique int id: @namespace ref +); + +namespacembrs( + int parentid: @namespace ref, + unique int memberid: @namespacembr ref +); + +@namespacembr = @declaration | @namespace; + +exprparents( + int expr_id: @expr ref, + int child_index: int ref, + int parent_id: @exprparent ref +); + +expr_isload(unique int expr_id: @expr ref); + +@cast = @c_style_cast + | @const_cast + | @dynamic_cast + | @reinterpret_cast + | @static_cast + ; + +/* +case @conversion.kind of + 0 = @simple_conversion // a numeric conversion, qualification conversion, or a reinterpret_cast +| 1 = @bool_conversion // conversion to 'bool' +| 2 = @base_class_conversion // a derived-to-base conversion +| 3 = @derived_class_conversion // a base-to-derived conversion +| 4 = @pm_base_class_conversion // a derived-to-base conversion of a pointer to member +| 5 = @pm_derived_class_conversion // a base-to-derived conversion of a pointer to member +| 6 = @glvalue_adjust // an adjustment of the type of a glvalue +| 7 = @prvalue_adjust // an adjustment of the type of a prvalue +; +*/ +/** + * Describes the semantics represented by a cast expression. This is largely + * independent of the source syntax of the cast, so it is separate from the + * regular expression kind. + */ +conversionkinds( + unique int expr_id: @cast ref, + int kind: int ref +); + +@conversion = @cast + | @array_to_pointer + | @parexpr + | @reference_to + | @ref_indirect + | @temp_init + ; + +/* +case @funbindexpr.kind of + 0 = @normal_call // a normal call +| 1 = @virtual_call // a virtual call +| 2 = @adl_call // a call whose target is only found by ADL +; +*/ +iscall( + unique int caller: @funbindexpr ref, + int kind: int ref +); + +numtemplatearguments( + unique int expr_id: @expr ref, + int num: int ref +); + +specialnamequalifyingelements( + unique int id: @specialnamequalifyingelement, + unique string name: string ref +); + +@namequalifiableelement = @expr | @namequalifier; +@namequalifyingelement = @namespace + | @specialnamequalifyingelement + | @usertype; + +namequalifiers( + unique int id: @namequalifier, + unique int qualifiableelement: @namequalifiableelement ref, + int qualifyingelement: @namequalifyingelement ref, + int location: @location_default ref +); + +varbind( + int expr: @varbindexpr ref, + int var: @accessible ref +); + +funbind( + int expr: @funbindexpr ref, + int fun: @function ref +); + +@any_new_expr = @new_expr + | @new_array_expr; + +@new_or_delete_expr = @any_new_expr + | @delete_expr + | @delete_array_expr; + +@prefix_crement_expr = @preincrexpr | @predecrexpr; + +@postfix_crement_expr = @postincrexpr | @postdecrexpr; + +@increment_expr = @preincrexpr | @postincrexpr; + +@decrement_expr = @predecrexpr | @postdecrexpr; + +@crement_expr = @increment_expr | @decrement_expr; + +@un_arith_op_expr = @arithnegexpr + | @unaryplusexpr + | @conjugation + | @realpartexpr + | @imagpartexpr + | @crement_expr + ; + +@un_bitwise_op_expr = @complementexpr; + +@un_log_op_expr = @notexpr; + +@un_op_expr = @address_of + | @indirect + | @un_arith_op_expr + | @un_bitwise_op_expr + | @builtinaddressof + | @vec_fill + | @un_log_op_expr + | @co_await + | @co_yield + ; + +@bin_log_op_expr = @andlogicalexpr | @orlogicalexpr; + +@cmp_op_expr = @eq_op_expr | @rel_op_expr; + +@eq_op_expr = @eqexpr | @neexpr; + +@rel_op_expr = @gtexpr + | @ltexpr + | @geexpr + | @leexpr + | @spaceshipexpr + ; + +@bin_bitwise_op_expr = @lshiftexpr + | @rshiftexpr + | @andexpr + | @orexpr + | @xorexpr + ; + +@p_arith_op_expr = @paddexpr + | @psubexpr + | @pdiffexpr + ; + +@bin_arith_op_expr = @addexpr + | @subexpr + | @mulexpr + | @divexpr + | @remexpr + | @jmulexpr + | @jdivexpr + | @fjaddexpr + | @jfaddexpr + | @fjsubexpr + | @jfsubexpr + | @minexpr + | @maxexpr + | @p_arith_op_expr + ; + +@bin_op_expr = @bin_arith_op_expr + | @bin_bitwise_op_expr + | @cmp_op_expr + | @bin_log_op_expr + ; + +@op_expr = @un_op_expr + | @bin_op_expr + | @assign_expr + | @conditionalexpr + ; + +@assign_arith_expr = @assignaddexpr + | @assignsubexpr + | @assignmulexpr + | @assigndivexpr + | @assignremexpr + ; + +@assign_bitwise_expr = @assignandexpr + | @assignorexpr + | @assignxorexpr + | @assignlshiftexpr + | @assignrshiftexpr + ; + +@assign_pointer_expr = @assignpaddexpr + | @assignpsubexpr + ; + +@assign_op_expr = @assign_arith_expr + | @assign_bitwise_expr + | @assign_pointer_expr + ; + +@assign_expr = @assignexpr | @assign_op_expr | @blockassignexpr + +/* + case @allocator.form of + 0 = plain + | 1 = alignment + ; +*/ + +/** + * The allocator function associated with a `new` or `new[]` expression. + * The `form` column specified whether the allocation call contains an alignment + * argument. + */ +expr_allocator( + unique int expr: @any_new_expr ref, + int func: @function ref, + int form: int ref +); + +/* + case @deallocator.form of + 0 = plain + | 1 = size + | 2 = alignment + | 3 = size_and_alignment + ; +*/ + +/** + * The deallocator function associated with a `delete`, `delete[]`, `new`, or + * `new[]` expression. For a `new` or `new[]` expression, the deallocator is the + * one used to free memory if the initialization throws an exception. + * The `form` column specifies whether the deallocation call contains a size + * argument, and alignment argument, or both. + */ +expr_deallocator( + unique int expr: @new_or_delete_expr ref, + int func: @function ref, + int form: int ref +); + +/** + * Holds if the `@conditionalexpr` is of the two operand form + * `guard ? : false`. + */ +expr_cond_two_operand( + unique int cond: @conditionalexpr ref +); + +/** + * The guard of `@conditionalexpr` `guard ? true : false` + */ +expr_cond_guard( + unique int cond: @conditionalexpr ref, + int guard: @expr ref +); + +/** + * The expression used when the guard of `@conditionalexpr` + * `guard ? true : false` holds. For the two operand form + * `guard ?: false` consider using `expr_cond_guard` instead. + */ +expr_cond_true( + unique int cond: @conditionalexpr ref, + int true: @expr ref +); + +/** + * The expression used when the guard of `@conditionalexpr` + * `guard ? true : false` does not hold. + */ +expr_cond_false( + unique int cond: @conditionalexpr ref, + int false: @expr ref +); + +/** A string representation of the value. */ +values( + unique int id: @value, + string str: string ref +); + +/** The actual text in the source code for the value, if any. */ +valuetext( + unique int id: @value ref, + string text: string ref +); + +valuebind( + int val: @value ref, + unique int expr: @expr ref +); + +fieldoffsets( + unique int id: @variable ref, + int byteoffset: int ref, + int bitoffset: int ref +); + +bitfield( + unique int id: @variable ref, + int bits: int ref, + int declared_bits: int ref +); + +/* TODO +memberprefix( + int member: @expr ref, + int prefix: @expr ref +); +*/ + +/* + kind(1) = mbrcallexpr + kind(2) = mbrptrcallexpr + kind(3) = mbrptrmbrcallexpr + kind(4) = ptrmbrptrmbrcallexpr + kind(5) = mbrreadexpr // x.y + kind(6) = mbrptrreadexpr // p->y + kind(7) = mbrptrmbrreadexpr // x.*pm + kind(8) = mbrptrmbrptrreadexpr // x->*pm + kind(9) = staticmbrreadexpr // static x.y + kind(10) = staticmbrptrreadexpr // static p->y +*/ +/* TODO +memberaccess( + int member: @expr ref, + int kind: int ref +); +*/ + +initialisers( + unique int init: @initialiser, + int var: @accessible ref, + unique int expr: @expr ref, + int location: @location_expr ref +); + +braced_initialisers( + int init: @initialiser ref +); + +/** + * An ancestor for the expression, for cases in which we cannot + * otherwise find the expression's parent. + */ +expr_ancestor( + int exp: @expr ref, + int ancestor: @element ref +); + +exprs( + unique int id: @expr, + int kind: int ref, + int location: @location_expr ref +); + +/* + case @value.category of + 1 = prval + | 2 = xval + | 3 = lval + ; +*/ +expr_types( + int id: @expr ref, + int typeid: @type ref, + int value_category: int ref +); + +case @expr.kind of + 1 = @errorexpr +| 2 = @address_of // & AddressOfExpr +| 3 = @reference_to // ReferenceToExpr (implicit?) +| 4 = @indirect // * PointerDereferenceExpr +| 5 = @ref_indirect // ReferenceDereferenceExpr (implicit?) +// ... +| 8 = @array_to_pointer // (???) +| 9 = @vacuous_destructor_call // VacuousDestructorCall +// ... +| 11 = @assume // Microsoft +| 12 = @parexpr +| 13 = @arithnegexpr +| 14 = @unaryplusexpr +| 15 = @complementexpr +| 16 = @notexpr +| 17 = @conjugation // GNU ~ operator +| 18 = @realpartexpr // GNU __real +| 19 = @imagpartexpr // GNU __imag +| 20 = @postincrexpr +| 21 = @postdecrexpr +| 22 = @preincrexpr +| 23 = @predecrexpr +| 24 = @conditionalexpr +| 25 = @addexpr +| 26 = @subexpr +| 27 = @mulexpr +| 28 = @divexpr +| 29 = @remexpr +| 30 = @jmulexpr // C99 mul imaginary +| 31 = @jdivexpr // C99 div imaginary +| 32 = @fjaddexpr // C99 add real + imaginary +| 33 = @jfaddexpr // C99 add imaginary + real +| 34 = @fjsubexpr // C99 sub real - imaginary +| 35 = @jfsubexpr // C99 sub imaginary - real +| 36 = @paddexpr // pointer add (pointer + int or int + pointer) +| 37 = @psubexpr // pointer sub (pointer - integer) +| 38 = @pdiffexpr // difference between two pointers +| 39 = @lshiftexpr +| 40 = @rshiftexpr +| 41 = @andexpr +| 42 = @orexpr +| 43 = @xorexpr +| 44 = @eqexpr +| 45 = @neexpr +| 46 = @gtexpr +| 47 = @ltexpr +| 48 = @geexpr +| 49 = @leexpr +| 50 = @minexpr // GNU minimum +| 51 = @maxexpr // GNU maximum +| 52 = @assignexpr +| 53 = @assignaddexpr +| 54 = @assignsubexpr +| 55 = @assignmulexpr +| 56 = @assigndivexpr +| 57 = @assignremexpr +| 58 = @assignlshiftexpr +| 59 = @assignrshiftexpr +| 60 = @assignandexpr +| 61 = @assignorexpr +| 62 = @assignxorexpr +| 63 = @assignpaddexpr // assign pointer add +| 64 = @assignpsubexpr // assign pointer sub +| 65 = @andlogicalexpr +| 66 = @orlogicalexpr +| 67 = @commaexpr +| 68 = @subscriptexpr // access to member of an array, e.g., a[5] +// ... 69 @objc_subscriptexpr deprecated +// ... 70 @cmdaccess deprecated +// ... +| 73 = @virtfunptrexpr +| 74 = @callexpr +// ... 75 @msgexpr_normal deprecated +// ... 76 @msgexpr_super deprecated +// ... 77 @atselectorexpr deprecated +// ... 78 @atprotocolexpr deprecated +| 79 = @vastartexpr +| 80 = @vaargexpr +| 81 = @vaendexpr +| 82 = @vacopyexpr +// ... 83 @atencodeexpr deprecated +| 84 = @varaccess +| 85 = @thisaccess +// ... 86 @objc_box_expr deprecated +| 87 = @new_expr +| 88 = @delete_expr +| 89 = @throw_expr +| 90 = @condition_decl // a variable declared in a condition, e.g., if(int x = y > 2) +| 91 = @braced_init_list +| 92 = @type_id +| 93 = @runtime_sizeof +| 94 = @runtime_alignof +| 95 = @sizeof_pack +| 96 = @expr_stmt // GNU extension +| 97 = @routineexpr +| 98 = @type_operand // used to access a type in certain contexts (haven't found any examples yet....) +| 99 = @offsetofexpr // offsetof ::= type and field +| 100 = @hasassignexpr // __has_assign ::= type +| 101 = @hascopyexpr // __has_copy ::= type +| 102 = @hasnothrowassign // __has_nothrow_assign ::= type +| 103 = @hasnothrowconstr // __has_nothrow_constructor ::= type +| 104 = @hasnothrowcopy // __has_nothrow_copy ::= type +| 105 = @hastrivialassign // __has_trivial_assign ::= type +| 106 = @hastrivialconstr // __has_trivial_constructor ::= type +| 107 = @hastrivialcopy // __has_trivial_copy ::= type +| 108 = @hasuserdestr // __has_user_destructor ::= type +| 109 = @hasvirtualdestr // __has_virtual_destructor ::= type +| 110 = @isabstractexpr // __is_abstract ::= type +| 111 = @isbaseofexpr // __is_base_of ::= type type +| 112 = @isclassexpr // __is_class ::= type +| 113 = @isconvtoexpr // __is_convertible_to ::= type type +| 114 = @isemptyexpr // __is_empty ::= type +| 115 = @isenumexpr // __is_enum ::= type +| 116 = @ispodexpr // __is_pod ::= type +| 117 = @ispolyexpr // __is_polymorphic ::= type +| 118 = @isunionexpr // __is_union ::= type +| 119 = @typescompexpr // GNU __builtin_types_compatible ::= type type +| 120 = @intaddrexpr // 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 +; + +@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 + ; + +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 +); + +/** + * 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 +); + +@ctorinit = @ctordirectinit + | @ctorvirtualinit + | @ctorfieldinit + | @ctordelegatinginit; +@dtordestruct = @dtordirectdestruct + | @dtorvirtualdestruct + | @dtorfielddestruct; + + +condition_decl_bind( + unique int expr: @condition_decl ref, + unique int decl: @declaration ref +); + +typeid_bind( + unique int expr: @type_id ref, + int type_id: @type ref +); + +uuidof_bind( + unique int expr: @uuidof ref, + int type_id: @type ref +); + +@runtime_sizeof_or_alignof = @runtime_sizeof | @runtime_alignof; + +sizeof_bind( + unique int expr: @runtime_sizeof_or_alignof ref, + int type_id: @type ref +); + +code_block( + unique int block: @literal ref, + unique int routine: @function ref +); + +lambdas( + unique int expr: @lambdaexpr ref, + string default_capture: string ref, + boolean has_explicit_return_type: boolean ref +); + +lambda_capture( + unique int id: @lambdacapture, + int lambda: @lambdaexpr ref, + int index: int ref, + int field: @membervariable ref, + boolean captured_by_reference: boolean ref, + boolean is_implicit: boolean ref, + int location: @location_default ref +); + +@funbindexpr = @routineexpr + | @new_expr + | @delete_expr + | @delete_array_expr + | @ctordirectinit + | @ctorvirtualinit + | @ctordelegatinginit + | @dtordirectdestruct + | @dtorvirtualdestruct; + +@varbindexpr = @varaccess | @ctorfieldinit | @dtorfielddestruct; +@addressable = @function | @variable ; +@accessible = @addressable | @enumconstant ; + +@access = @varaccess | @routineexpr ; + +fold( + int expr: @foldexpr ref, + string operator: string ref, + boolean is_left_fold: boolean ref +); + +stmts( + unique int id: @stmt, + int kind: int ref, + int location: @location_stmt ref +); + +case @stmt.kind of + 1 = @stmt_expr +| 2 = @stmt_if +| 3 = @stmt_while +| 4 = @stmt_goto +| 5 = @stmt_label +| 6 = @stmt_return +| 7 = @stmt_block +| 8 = @stmt_end_test_while // do { ... } while ( ... ) +| 9 = @stmt_for +| 10 = @stmt_switch_case +| 11 = @stmt_switch +| 13 = @stmt_asm // "asm" statement or the body of an asm function +| 15 = @stmt_try_block +| 16 = @stmt_microsoft_try // Microsoft +| 17 = @stmt_decl +| 18 = @stmt_set_vla_size // C99 +| 19 = @stmt_vla_decl // C99 +| 25 = @stmt_assigned_goto // GNU +| 26 = @stmt_empty +| 27 = @stmt_continue +| 28 = @stmt_break +| 29 = @stmt_range_based_for // C++11 +// ... 30 @stmt_at_autoreleasepool_block deprecated +// ... 31 @stmt_objc_for_in deprecated +// ... 32 @stmt_at_synchronized deprecated +| 33 = @stmt_handler +// ... 34 @stmt_finally_end deprecated +| 35 = @stmt_constexpr_if +| 37 = @stmt_co_return +; + +type_vla( + int type_id: @type ref, + int decl: @stmt_vla_decl ref +); + +variable_vla( + int var: @variable ref, + int decl: @stmt_vla_decl ref +); + +if_initialization( + unique int if_stmt: @stmt_if ref, + int init_id: @stmt ref +); + +if_then( + unique int if_stmt: @stmt_if ref, + int then_id: @stmt ref +); + +if_else( + unique int if_stmt: @stmt_if ref, + int else_id: @stmt ref +); + +constexpr_if_initialization( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int init_id: @stmt ref +); + +constexpr_if_then( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int then_id: @stmt ref +); + +constexpr_if_else( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int else_id: @stmt ref +); + +while_body( + unique int while_stmt: @stmt_while ref, + int body_id: @stmt ref +); + +do_body( + unique int do_stmt: @stmt_end_test_while ref, + int body_id: @stmt ref +); + +switch_initialization( + unique int switch_stmt: @stmt_switch ref, + int init_id: @stmt ref +); + +#keyset[switch_stmt, index] +switch_case( + int switch_stmt: @stmt_switch ref, + int index: int ref, + int case_id: @stmt_switch_case ref +); + +switch_body( + unique int switch_stmt: @stmt_switch ref, + int body_id: @stmt ref +); + +@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 +); + +@functionorblock = @function | @stmt_block; + +blockscope( + unique int block: @stmt_block ref, + int enclosing: @functionorblock ref +); + +@jump = @stmt_goto | @stmt_break | @stmt_continue; + +@jumporlabel = @jump | @stmt_label | @literal; + +jumpinfo( + unique int id: @jumporlabel ref, + string str: string ref, + int target: @stmt ref +); + +preprocdirects( + unique int id: @preprocdirect, + int kind: int ref, + int location: @location_default ref +); +case @preprocdirect.kind of + 0 = @ppd_if +| 1 = @ppd_ifdef +| 2 = @ppd_ifndef +| 3 = @ppd_elif +| 4 = @ppd_else +| 5 = @ppd_endif +| 6 = @ppd_plain_include +| 7 = @ppd_define +| 8 = @ppd_undef +| 9 = @ppd_line +| 10 = @ppd_error +| 11 = @ppd_pragma +| 12 = @ppd_objc_import +| 13 = @ppd_include_next +| 18 = @ppd_warning +; + +@ppd_include = @ppd_plain_include | @ppd_objc_import | @ppd_include_next; + +@ppd_branch = @ppd_if | @ppd_ifdef | @ppd_ifndef | @ppd_elif; + +preprocpair( + int begin : @ppd_branch ref, + int elseelifend : @preprocdirect ref +); + +preproctrue(int branch : @ppd_branch ref); +preprocfalse(int branch : @ppd_branch ref); + +preproctext( + unique int id: @preprocdirect ref, + string head: string ref, + string body: string ref +); + +includes( + unique int id: @ppd_include ref, + int included: @file ref +); + +link_targets( + int id: @link_target, + int binary: @file ref +); + +link_parent( + int element : @element ref, + int link_target : @link_target ref +); + +/* XML Files */ + +xmlEncoding(unique int id: @file ref, string encoding: string ref); + +xmlDTDs( + unique int id: @xmldtd, + string root: string ref, + string publicId: string ref, + string systemId: string ref, + int fileid: @file ref +); + +xmlElements( + unique int id: @xmlelement, + string name: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int fileid: @file ref +); + +xmlAttrs( + unique int id: @xmlattribute, + int elementid: @xmlelement ref, + string name: string ref, + string value: string ref, + int idx: int ref, + int fileid: @file ref +); + +xmlNs( + int id: @xmlnamespace, + string prefixName: string ref, + string URI: string ref, + int fileid: @file ref +); + +xmlHasNs( + int elementId: @xmlnamespaceable ref, + int nsId: @xmlnamespace ref, + int fileid: @file ref +); + +xmlComments( + unique int id: @xmlcomment, + string text: string ref, + int parentid: @xmlparent ref, + int fileid: @file ref +); + +xmlChars( + unique int id: @xmlcharacters, + string text: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int isCDATA: int ref, + int fileid: @file ref +); + +@xmlparent = @file | @xmlelement; +@xmlnamespaceable = @xmlelement | @xmlattribute; + +xmllocations( + int xmlElement: @xmllocatable ref, + int location: @location_default ref +); + +@xmllocatable = @xmlcharacters + | @xmlelement + | @xmlcomment + | @xmlattribute + | @xmldtd + | @file + | @xmlnamespace; diff --git a/cpp/downgrades/aa7ff0ab32cd4674f6ab731d32fea64116997b05/upgrade.properties b/cpp/downgrades/aa7ff0ab32cd4674f6ab731d32fea64116997b05/upgrade.properties new file mode 100644 index 00000000000..b2f465d1ba5 --- /dev/null +++ b/cpp/downgrades/aa7ff0ab32cd4674f6ab731d32fea64116997b05/upgrade.properties @@ -0,0 +1,4 @@ +description: Introduce re-use expressions +compatibility: partial +expr_reuse.rel: delete +exprs.rel: run exprs.qlo diff --git a/cpp/ql/lib/CHANGELOG.md b/cpp/ql/lib/CHANGELOG.md index b3091ec37d8..3e345c8b327 100644 --- a/cpp/ql/lib/CHANGELOG.md +++ b/cpp/ql/lib/CHANGELOG.md @@ -1,3 +1,13 @@ +## 0.12.8 + +No user-facing changes. + +## 0.12.7 + +### Minor Analysis Improvements + +* Added destructors for named objects to the intermediate representation. + ## 0.12.6 ### New Features diff --git a/cpp/ql/lib/change-notes/2024-03-15-switches-in-guard-conditions.md b/cpp/ql/lib/change-notes/2024-03-15-switches-in-guard-conditions.md new file mode 100644 index 00000000000..cf0b920e29d --- /dev/null +++ b/cpp/ql/lib/change-notes/2024-03-15-switches-in-guard-conditions.md @@ -0,0 +1,4 @@ +--- +category: feature +--- +* Added a predicate `GuardCondition.valueControls` to query whether a basic block is guarded by a particular `case` of a `switch` statement. \ No newline at end of file diff --git a/cpp/ql/lib/change-notes/2024-03-19-predicates-for-switches-as-guards-2.md b/cpp/ql/lib/change-notes/2024-03-19-predicates-for-switches-as-guards-2.md new file mode 100644 index 00000000000..88b4048f8cd --- /dev/null +++ b/cpp/ql/lib/change-notes/2024-03-19-predicates-for-switches-as-guards-2.md @@ -0,0 +1,5 @@ +--- +category: feature +--- +* Added a predicate `GuardCondition.comparesLt/4` to query whether an expression is compared to a constant. +* Added a predicate `GuardCondition.ensuresLt/4` to query whether a basic block is guarded by an expression being less than a constant. \ No newline at end of file diff --git a/cpp/ql/lib/change-notes/2024-03-19-predicates-for-switches-as-guards.md b/cpp/ql/lib/change-notes/2024-03-19-predicates-for-switches-as-guards.md new file mode 100644 index 00000000000..3dde8805599 --- /dev/null +++ b/cpp/ql/lib/change-notes/2024-03-19-predicates-for-switches-as-guards.md @@ -0,0 +1,5 @@ +--- +category: feature +--- +* Added a predicate `GuardCondition.comparesEq/4` to query whether an expression is compared to a constant. +* Added a predicate `GuardCondition.ensuresEq/4` to query whether a basic block is guarded by an expression being equal to a constant. \ No newline at end of file diff --git a/cpp/ql/lib/change-notes/2024-02-26-ir-named-destructors.md b/cpp/ql/lib/change-notes/released/0.12.7.md similarity index 54% rename from cpp/ql/lib/change-notes/2024-02-26-ir-named-destructors.md rename to cpp/ql/lib/change-notes/released/0.12.7.md index 4e35decaf8e..856a8b665c7 100644 --- a/cpp/ql/lib/change-notes/2024-02-26-ir-named-destructors.md +++ b/cpp/ql/lib/change-notes/released/0.12.7.md @@ -1,4 +1,5 @@ ---- -category: minorAnalysis ---- -* Added destructors for named objects to the intermediate representation. \ No newline at end of file +## 0.12.7 + +### Minor Analysis Improvements + +* Added destructors for named objects to the intermediate representation. diff --git a/cpp/ql/lib/change-notes/released/0.12.8.md b/cpp/ql/lib/change-notes/released/0.12.8.md new file mode 100644 index 00000000000..17f7d3963e2 --- /dev/null +++ b/cpp/ql/lib/change-notes/released/0.12.8.md @@ -0,0 +1,3 @@ +## 0.12.8 + +No user-facing changes. diff --git a/cpp/ql/lib/codeql-pack.release.yml b/cpp/ql/lib/codeql-pack.release.yml index 170a312c104..74f4c1a8fa0 100644 --- a/cpp/ql/lib/codeql-pack.release.yml +++ b/cpp/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.12.6 +lastReleaseVersion: 0.12.8 diff --git a/cpp/ql/lib/qlpack.yml b/cpp/ql/lib/qlpack.yml index 8e201fff594..022cb22884e 100644 --- a/cpp/ql/lib/qlpack.yml +++ b/cpp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-all -version: 0.12.7-dev +version: 0.12.9-dev groups: cpp dbscheme: semmlecode.cpp.dbscheme extractor: cpp diff --git a/cpp/ql/lib/semmle/code/cpp/PrintAST.qll b/cpp/ql/lib/semmle/code/cpp/PrintAST.qll index fa894a8b0fb..88dce1ce0b4 100644 --- a/cpp/ql/lib/semmle/code/cpp/PrintAST.qll +++ b/cpp/ql/lib/semmle/code/cpp/PrintAST.qll @@ -309,9 +309,12 @@ class ExprNode extends AstNode { override AstNode getChildInternal(int childIndex) { result.getAst() = expr.getChild(childIndex) or + childIndex = max(int index | exists(expr.getChild(index)) or index = 0) + 1 and + result.getAst() = expr.(ConditionDeclExpr).getInitializingExpr() + or exists(int destructorIndex | result.getAst() = expr.getImplicitDestructorCall(destructorIndex) and - childIndex = destructorIndex + max(int index | exists(expr.getChild(index)) or index = 0) + 1 + childIndex = destructorIndex + max(int index | exists(expr.getChild(index)) or index = 0) + 2 ) } @@ -686,6 +689,8 @@ private string getChildAccessorWithoutConversions(Locatable parent, Element chil not namedExprChildPredicates(expr, child, _) and exists(int n | expr.getChild(n) = child and result = "getChild(" + n + ")") or + expr.(ConditionDeclExpr).getInitializingExpr() = child and result = "getInitializingExpr()" + or exists(int n | expr.getImplicitDestructorCall(n) = child and result = "getImplicitDestructorCall(" + n + ")" diff --git a/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll b/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll index 0adba6c1e71..ee419dd7024 100644 --- a/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll +++ b/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll @@ -20,6 +20,44 @@ private predicate isUnreachedBlock(IRBlock block) { block.getFirstInstruction() instanceof UnreachedInstruction } +private newtype TAbstractValue = + TBooleanValue(boolean b) { b = true or b = false } or + TMatchValue(CaseEdge c) + +/** + * An abstract value. This is either a boolean value, or a `switch` case. + */ +abstract class AbstractValue extends TAbstractValue { + /** Gets an abstract value that represents the dual of this value, if any. */ + abstract AbstractValue getDualValue(); + + /** Gets a textual representation of this abstract value. */ + abstract string toString(); +} + +/** A Boolean value. */ +class BooleanValue extends AbstractValue, TBooleanValue { + /** Gets the underlying Boolean value. */ + boolean getValue() { this = TBooleanValue(result) } + + override BooleanValue getDualValue() { result.getValue() = this.getValue().booleanNot() } + + override string toString() { result = this.getValue().toString() } +} + +/** A value that represents a match against a specific `switch` case. */ +class MatchValue extends AbstractValue, TMatchValue { + /** Gets the case. */ + CaseEdge getCase() { this = TMatchValue(result) } + + override MatchValue getDualValue() { + // A `MatchValue` has no dual. + none() + } + + override string toString() { result = this.getCase().toString() } +} + /** * A Boolean condition in the AST that guards one or more basic blocks. This includes * operands of logical operators but not switch statements. @@ -34,6 +72,15 @@ class GuardCondition extends Expr { this.(BinaryLogicalOperation).getAnOperand() instanceof GuardCondition } + /** + * Holds if this condition controls `controlled`, meaning that `controlled` is only + * entered if the value of this condition is `v`. + * + * For details on what "controls" mean, see the QLDoc for `controls`. + */ + cached + predicate valueControls(BasicBlock controlled, AbstractValue v) { none() } + /** * Holds if this condition controls `controlled`, meaning that `controlled` is only * entered if the value of this condition is `testIsTrue`. @@ -61,7 +108,9 @@ class GuardCondition extends Expr { * true (for `&&`) or false (for `||`) branch. */ cached - predicate controls(BasicBlock controlled, boolean testIsTrue) { none() } + final predicate controls(BasicBlock controlled, boolean testIsTrue) { + this.valueControls(controlled, any(BooleanValue bv | bv.getValue() = testIsTrue)) + } /** Holds if (determined by this guard) `left < right + k` evaluates to `isLessThan` if this expression evaluates to `testIsTrue`. */ cached @@ -76,6 +125,20 @@ class GuardCondition extends Expr { cached predicate ensuresLt(Expr left, Expr right, int k, BasicBlock block, boolean isLessThan) { none() } + /** + * Holds if (determined by this guard) `e < k` evaluates to `isLessThan` if + * this expression evaluates to `value`. + */ + cached + predicate comparesLt(Expr e, int k, boolean isLessThan, AbstractValue value) { none() } + + /** + * Holds if (determined by this guard) `e < k` must be `isLessThan` in `block`. + * If `isLessThan = false` then this implies `e >= k`. + */ + cached + predicate ensuresLt(Expr e, int k, BasicBlock block, boolean isLessThan) { none() } + /** Holds if (determined by this guard) `left == right + k` evaluates to `areEqual` if this expression evaluates to `testIsTrue`. */ cached predicate comparesEq(Expr left, Expr right, int k, boolean areEqual, boolean testIsTrue) { @@ -88,6 +151,17 @@ class GuardCondition extends Expr { */ cached predicate ensuresEq(Expr left, Expr right, int k, BasicBlock block, boolean areEqual) { none() } + + /** Holds if (determined by this guard) `e == k` evaluates to `areEqual` if this expression evaluates to `value`. */ + cached + predicate comparesEq(Expr e, int k, boolean areEqual, AbstractValue value) { none() } + + /** + * Holds if (determined by this guard) `e == k` must be `areEqual` in `block`. + * If `areEqual = false` then this implies `e != k`. + */ + cached + predicate ensuresEq(Expr e, int k, BasicBlock block, boolean areEqual) { none() } } /** @@ -98,13 +172,13 @@ private class GuardConditionFromBinaryLogicalOperator extends GuardCondition { this.(BinaryLogicalOperation).getAnOperand() instanceof GuardCondition } - override predicate controls(BasicBlock controlled, boolean testIsTrue) { + override predicate valueControls(BasicBlock controlled, AbstractValue v) { exists(BinaryLogicalOperation binop, GuardCondition lhs, GuardCondition rhs | this = binop and lhs = binop.getLeftOperand() and rhs = binop.getRightOperand() and - lhs.controls(controlled, testIsTrue) and - rhs.controls(controlled, testIsTrue) + lhs.valueControls(controlled, v) and + rhs.valueControls(controlled, v) ) } @@ -116,12 +190,27 @@ private class GuardConditionFromBinaryLogicalOperator extends GuardCondition { ) } + override predicate comparesLt(Expr e, int k, boolean isLessThan, AbstractValue value) { + exists(BooleanValue partValue, GuardCondition part | + this.(BinaryLogicalOperation) + .impliesValue(part, partValue.getValue(), value.(BooleanValue).getValue()) + | + part.comparesLt(e, k, isLessThan, partValue) + ) + } + override predicate ensuresLt(Expr left, Expr right, int k, BasicBlock block, boolean isLessThan) { exists(boolean testIsTrue | this.comparesLt(left, right, k, isLessThan, testIsTrue) and this.controls(block, testIsTrue) ) } + override predicate ensuresLt(Expr e, int k, BasicBlock block, boolean isLessThan) { + exists(AbstractValue value | + this.comparesLt(e, k, isLessThan, value) and this.valueControls(block, value) + ) + } + override predicate comparesEq(Expr left, Expr right, int k, boolean areEqual, boolean testIsTrue) { exists(boolean partIsTrue, GuardCondition part | this.(BinaryLogicalOperation).impliesValue(part, partIsTrue, testIsTrue) @@ -135,6 +224,21 @@ private class GuardConditionFromBinaryLogicalOperator extends GuardCondition { this.comparesEq(left, right, k, areEqual, testIsTrue) and this.controls(block, testIsTrue) ) } + + override predicate comparesEq(Expr e, int k, boolean areEqual, AbstractValue value) { + exists(BooleanValue partValue, GuardCondition part | + this.(BinaryLogicalOperation) + .impliesValue(part, partValue.getValue(), value.(BooleanValue).getValue()) + | + part.comparesEq(e, k, areEqual, partValue) + ) + } + + override predicate ensuresEq(Expr e, int k, BasicBlock block, boolean areEqual) { + exists(AbstractValue value | + this.comparesEq(e, k, areEqual, value) and this.valueControls(block, value) + ) + } } /** @@ -146,13 +250,12 @@ private class GuardConditionFromIR extends GuardCondition { GuardConditionFromIR() { this = ir.getUnconvertedResultExpression() } - override predicate controls(BasicBlock controlled, boolean testIsTrue) { + override predicate valueControls(BasicBlock controlled, AbstractValue v) { // This condition must determine the flow of control; that is, this // node must be a top-level condition. - this.controlsBlock(controlled, testIsTrue) + this.controlsBlock(controlled, v) } - /** Holds if (determined by this guard) `left < right + k` evaluates to `isLessThan` if this expression evaluates to `testIsTrue`. */ override predicate comparesLt(Expr left, Expr right, int k, boolean isLessThan, boolean testIsTrue) { exists(Instruction li, Instruction ri | li.getUnconvertedResultExpression() = left and @@ -161,10 +264,13 @@ private class GuardConditionFromIR extends GuardCondition { ) } - /** - * Holds if (determined by this guard) `left < right + k` must be `isLessThan` in `block`. - * If `isLessThan = false` then this implies `left >= right + k`. - */ + override predicate comparesLt(Expr e, int k, boolean isLessThan, AbstractValue value) { + exists(Instruction i | + i.getUnconvertedResultExpression() = e and + ir.comparesLt(i.getAUse(), k, isLessThan, value) + ) + } + override predicate ensuresLt(Expr left, Expr right, int k, BasicBlock block, boolean isLessThan) { exists(Instruction li, Instruction ri, boolean testIsTrue | li.getUnconvertedResultExpression() = left and @@ -174,7 +280,14 @@ private class GuardConditionFromIR extends GuardCondition { ) } - /** Holds if (determined by this guard) `left == right + k` evaluates to `areEqual` if this expression evaluates to `testIsTrue`. */ + override predicate ensuresLt(Expr e, int k, BasicBlock block, boolean isLessThan) { + exists(Instruction i, AbstractValue value | + i.getUnconvertedResultExpression() = e and + ir.comparesLt(i.getAUse(), k, isLessThan, value) and + this.valueControls(block, value) + ) + } + override predicate comparesEq(Expr left, Expr right, int k, boolean areEqual, boolean testIsTrue) { exists(Instruction li, Instruction ri | li.getUnconvertedResultExpression() = left and @@ -183,10 +296,6 @@ private class GuardConditionFromIR extends GuardCondition { ) } - /** - * Holds if (determined by this guard) `left == right + k` must be `areEqual` in `block`. - * If `areEqual = false` then this implies `left != right + k`. - */ override predicate ensuresEq(Expr left, Expr right, int k, BasicBlock block, boolean areEqual) { exists(Instruction li, Instruction ri, boolean testIsTrue | li.getUnconvertedResultExpression() = left and @@ -196,15 +305,30 @@ private class GuardConditionFromIR extends GuardCondition { ) } + override predicate comparesEq(Expr e, int k, boolean areEqual, AbstractValue value) { + exists(Instruction i | + i.getUnconvertedResultExpression() = e and + ir.comparesEq(i.getAUse(), k, areEqual, value) + ) + } + + override predicate ensuresEq(Expr e, int k, BasicBlock block, boolean areEqual) { + exists(Instruction i, AbstractValue value | + i.getUnconvertedResultExpression() = e and + ir.comparesEq(i.getAUse(), k, areEqual, value) and + this.valueControls(block, value) + ) + } + /** * Holds if this condition controls `block`, meaning that `block` is only - * entered if the value of this condition is `testIsTrue`. This helper + * entered if the value of this condition is `v`. This helper * predicate does not necessarily hold for binary logical operations like * `&&` and `||`. See the detailed explanation on predicate `controls`. */ - private predicate controlsBlock(BasicBlock controlled, boolean testIsTrue) { + private predicate controlsBlock(BasicBlock controlled, AbstractValue v) { exists(IRBlock irb | - ir.controls(irb, testIsTrue) and + ir.valueControls(irb, v) and nonExcludedIRAndBasicBlock(irb, controlled) and not isUnreachedBlock(irb) ) @@ -249,10 +373,28 @@ private predicate nonExcludedIRAndBasicBlock(IRBlock irb, BasicBlock controlled) */ cached class IRGuardCondition extends Instruction { - ConditionalBranchInstruction branch; + Instruction branch; cached - IRGuardCondition() { branch = get_branch_for_condition(this) } + IRGuardCondition() { branch = getBranchForCondition(this) } + + /** + * Holds if this condition controls `controlled`, meaning that `controlled` is only + * entered if the value of this condition is `v`. + * + * For details on what "controls" mean, see the QLDoc for `controls`. + */ + cached + predicate valueControls(IRBlock controlled, AbstractValue v) { + // This condition must determine the flow of control; that is, this + // node must be a top-level condition. + this.controlsBlock(controlled, v) + or + exists(IRGuardCondition ne | + this = ne.(LogicalNotInstruction).getUnary() and + ne.valueControls(controlled, v.getDualValue()) + ) + } /** * Holds if this condition controls `controlled`, meaning that `controlled` is only @@ -282,13 +424,25 @@ class IRGuardCondition extends Instruction { */ cached predicate controls(IRBlock controlled, boolean testIsTrue) { - // This condition must determine the flow of control; that is, this - // node must be a top-level condition. - this.controlsBlock(controlled, testIsTrue) + this.valueControls(controlled, any(BooleanValue bv | bv.getValue() = testIsTrue)) + } + + /** + * Holds if the control-flow edge `(pred, succ)` may be taken only if + * the value of this condition is `v`. + */ + cached + predicate valueControlsEdge(IRBlock pred, IRBlock succ, AbstractValue v) { + pred.getASuccessor() = succ and + this.valueControls(pred, v) or - exists(IRGuardCondition ne | - this = ne.(LogicalNotInstruction).getUnary() and - ne.controls(controlled, testIsTrue.booleanNot()) + succ = this.getBranchSuccessor(v) and + ( + branch.(ConditionalBranchInstruction).getCondition() = this and + branch.getBlock() = pred + or + branch.(SwitchInstruction).getExpression() = this and + branch.getBlock() = pred ) } @@ -297,17 +451,12 @@ class IRGuardCondition extends Instruction { * the value of this condition is `testIsTrue`. */ cached - predicate controlsEdge(IRBlock pred, IRBlock succ, boolean testIsTrue) { - pred.getASuccessor() = succ and - this.controls(pred, testIsTrue) - or - succ = this.getBranchSuccessor(testIsTrue) and - branch.getCondition() = this and - branch.getBlock() = pred + final predicate controlsEdge(IRBlock pred, IRBlock succ, boolean testIsTrue) { + this.valueControlsEdge(pred, succ, any(BooleanValue bv | bv.getValue() = testIsTrue)) } /** - * Gets the block to which `branch` jumps directly when this condition is `testIsTrue`. + * Gets the block to which `branch` jumps directly when the value of this condition is `v`. * * This predicate is intended to help with situations in which an inference can only be made * based on an edge between a block with multiple successors and a block with multiple @@ -321,21 +470,39 @@ class IRGuardCondition extends Instruction { * return x; * ``` */ - private IRBlock getBranchSuccessor(boolean testIsTrue) { - branch.getCondition() = this and - ( - testIsTrue = true and - result.getFirstInstruction() = branch.getTrueSuccessor() + private IRBlock getBranchSuccessor(AbstractValue v) { + branch.(ConditionalBranchInstruction).getCondition() = this and + exists(BooleanValue bv | bv = v | + bv.getValue() = true and + result.getFirstInstruction() = branch.(ConditionalBranchInstruction).getTrueSuccessor() or - testIsTrue = false and - result.getFirstInstruction() = branch.getFalseSuccessor() + bv.getValue() = false and + result.getFirstInstruction() = branch.(ConditionalBranchInstruction).getFalseSuccessor() + ) + or + exists(SwitchInstruction switch, CaseEdge kind | switch = branch | + switch.getExpression() = this and + result.getFirstInstruction() = switch.getSuccessor(kind) and + kind = v.(MatchValue).getCase() ) } /** Holds if (determined by this guard) `left < right + k` evaluates to `isLessThan` if this expression evaluates to `testIsTrue`. */ cached predicate comparesLt(Operand left, Operand right, int k, boolean isLessThan, boolean testIsTrue) { - compares_lt(this, left, right, k, isLessThan, testIsTrue) + exists(BooleanValue value | + compares_lt(this, left, right, k, isLessThan, value) and + value.getValue() = testIsTrue + ) + } + + /** + * Holds if (determined by this guard) `op < k` evaluates to `isLessThan` if + * this expression evaluates to `value`. + */ + cached + predicate comparesLt(Operand op, int k, boolean isLessThan, AbstractValue value) { + compares_lt(this, op, k, isLessThan, value) } /** @@ -344,8 +511,19 @@ class IRGuardCondition extends Instruction { */ cached predicate ensuresLt(Operand left, Operand right, int k, IRBlock block, boolean isLessThan) { - exists(boolean testIsTrue | - compares_lt(this, left, right, k, isLessThan, testIsTrue) and this.controls(block, testIsTrue) + exists(AbstractValue value | + compares_lt(this, left, right, k, isLessThan, value) and this.valueControls(block, value) + ) + } + + /** + * Holds if (determined by this guard) `op < k` must be `isLessThan` in `block`. + * If `isLessThan = false` then this implies `op >= k`. + */ + cached + predicate ensuresLt(Operand op, int k, IRBlock block, boolean isLessThan) { + exists(AbstractValue value | + compares_lt(this, op, k, isLessThan, value) and this.valueControls(block, value) ) } @@ -357,16 +535,37 @@ class IRGuardCondition extends Instruction { predicate ensuresLtEdge( Operand left, Operand right, int k, IRBlock pred, IRBlock succ, boolean isLessThan ) { - exists(boolean testIsTrue | - compares_lt(this, left, right, k, isLessThan, testIsTrue) and - this.controlsEdge(pred, succ, testIsTrue) + exists(AbstractValue value | + compares_lt(this, left, right, k, isLessThan, value) and + this.valueControlsEdge(pred, succ, value) + ) + } + + /** + * Holds if (determined by this guard) `op < k` must be `isLessThan` on the edge from + * `pred` to `succ`. If `isLessThan = false` then this implies `op >= k`. + */ + cached + predicate ensuresLtEdge(Operand left, int k, IRBlock pred, IRBlock succ, boolean isLessThan) { + exists(AbstractValue value | + compares_lt(this, left, k, isLessThan, value) and + this.valueControlsEdge(pred, succ, value) ) } /** Holds if (determined by this guard) `left == right + k` evaluates to `areEqual` if this expression evaluates to `testIsTrue`. */ cached predicate comparesEq(Operand left, Operand right, int k, boolean areEqual, boolean testIsTrue) { - compares_eq(this, left, right, k, areEqual, testIsTrue) + exists(BooleanValue value | + compares_eq(this, left, right, k, areEqual, value) and + value.getValue() = testIsTrue + ) + } + + /** Holds if (determined by this guard) `op == k` evaluates to `areEqual` if this expression evaluates to `value`. */ + cached + predicate comparesEq(Operand op, int k, boolean areEqual, AbstractValue value) { + compares_eq(this, op, k, areEqual, value) } /** @@ -375,8 +574,19 @@ class IRGuardCondition extends Instruction { */ cached predicate ensuresEq(Operand left, Operand right, int k, IRBlock block, boolean areEqual) { - exists(boolean testIsTrue | - compares_eq(this, left, right, k, areEqual, testIsTrue) and this.controls(block, testIsTrue) + exists(AbstractValue value | + compares_eq(this, left, right, k, areEqual, value) and this.valueControls(block, value) + ) + } + + /** + * Holds if (determined by this guard) `op == k` must be `areEqual` in `block`. + * If `areEqual = false` then this implies `op != k`. + */ + cached + predicate ensuresEq(Operand op, int k, IRBlock block, boolean areEqual) { + exists(AbstractValue value | + compares_eq(this, op, k, areEqual, value) and this.valueControls(block, value) ) } @@ -388,19 +598,31 @@ class IRGuardCondition extends Instruction { predicate ensuresEqEdge( Operand left, Operand right, int k, IRBlock pred, IRBlock succ, boolean areEqual ) { - exists(boolean testIsTrue | - compares_eq(this, left, right, k, areEqual, testIsTrue) and - this.controlsEdge(pred, succ, testIsTrue) + exists(AbstractValue value | + compares_eq(this, left, right, k, areEqual, value) and + this.valueControlsEdge(pred, succ, value) + ) + } + + /** + * Holds if (determined by this guard) `op == k` must be `areEqual` on the edge from + * `pred` to `succ`. If `areEqual = false` then this implies `op != k`. + */ + cached + predicate ensuresEqEdge(Operand op, int k, IRBlock pred, IRBlock succ, boolean areEqual) { + exists(AbstractValue value | + compares_eq(this, op, k, areEqual, value) and + this.valueControlsEdge(pred, succ, value) ) } /** * Holds if this condition controls `block`, meaning that `block` is only - * entered if the value of this condition is `testIsTrue`. This helper + * entered if the value of this condition is `v`. This helper * predicate does not necessarily hold for binary logical operations like * `&&` and `||`. See the detailed explanation on predicate `controls`. */ - private predicate controlsBlock(IRBlock controlled, boolean testIsTrue) { + private predicate controlsBlock(IRBlock controlled, AbstractValue v) { not isUnreachedBlock(controlled) and // // For this block to control the block `controlled` with `testIsTrue` the @@ -441,7 +663,7 @@ class IRGuardCondition extends Instruction { // that `this` strictly dominates `controlled` so that isn't necessary to check // directly. exists(IRBlock succ | - succ = this.getBranchSuccessor(testIsTrue) and + succ = this.getBranchSuccessor(v) and this.hasDominatingEdgeTo(succ) and succ.dominates(controlled) ) @@ -476,12 +698,14 @@ class IRGuardCondition extends Instruction { private IRBlock getBranchBlock() { result = branch.getBlock() } } -private ConditionalBranchInstruction get_branch_for_condition(Instruction guard) { - result.getCondition() = guard +private Instruction getBranchForCondition(Instruction guard) { + result.(ConditionalBranchInstruction).getCondition() = guard or exists(LogicalNotInstruction cond | - result = get_branch_for_condition(cond) and cond.getUnary() = guard + result = getBranchForCondition(cond) and cond.getUnary() = guard ) + or + result.(SwitchInstruction).getExpression() = guard } /** @@ -490,52 +714,98 @@ private ConditionalBranchInstruction get_branch_for_condition(Instruction guard) * Beware making mistaken logical implications here relating `areEqual` and `testIsTrue`. */ private predicate compares_eq( - Instruction test, Operand left, Operand right, int k, boolean areEqual, boolean testIsTrue + Instruction test, Operand left, Operand right, int k, boolean areEqual, AbstractValue value ) { /* The simple case where the test *is* the comparison so areEqual = testIsTrue xor eq. */ - exists(boolean eq | simple_comparison_eq(test, left, right, k, eq) | - areEqual = true and testIsTrue = eq + exists(AbstractValue v | simple_comparison_eq(test, left, right, k, v) | + areEqual = true and value = v or - areEqual = false and testIsTrue = eq.booleanNot() + areEqual = false and value = v.getDualValue() ) or // I think this is handled by forwarding in controlsBlock. //or //logical_comparison_eq(test, left, right, k, areEqual, testIsTrue) /* a == b + k => b == a - k */ - exists(int mk | k = -mk | compares_eq(test, right, left, mk, areEqual, testIsTrue)) + exists(int mk | k = -mk | compares_eq(test, right, left, mk, areEqual, value)) or - complex_eq(test, left, right, k, areEqual, testIsTrue) + complex_eq(test, left, right, k, areEqual, value) or /* (x is true => (left == right + k)) => (!x is false => (left == right + k)) */ - exists(boolean isFalse | testIsTrue = isFalse.booleanNot() | - compares_eq(test.(LogicalNotInstruction).getUnary(), left, right, k, areEqual, isFalse) + exists(AbstractValue dual | value = dual.getDualValue() | + compares_eq(test.(LogicalNotInstruction).getUnary(), left, right, k, areEqual, dual) + ) +} + +/** Holds if `op == k` is `areEqual` given that `test` is equal to `value`. */ +private predicate compares_eq( + Instruction test, Operand op, int k, boolean areEqual, AbstractValue value +) { + /* The simple case where the test *is* the comparison so areEqual = testIsTrue xor eq. */ + exists(AbstractValue v | simple_comparison_eq(test, op, k, v) | + areEqual = true and value = v + or + areEqual = false and value = v.getDualValue() + ) + or + complex_eq(test, op, k, areEqual, value) + or + /* (x is true => (op == k)) => (!x is false => (op == k)) */ + exists(AbstractValue dual | value = dual.getDualValue() | + compares_eq(test.(LogicalNotInstruction).getUnary(), op, k, areEqual, dual) + ) + or + // ((test is `areEqual` => op == const + k2) and const == `k1`) => + // test is `areEqual` => op == k1 + k2 + exists(int k1, int k2, ConstantInstruction const | + compares_eq(test, op, const.getAUse(), k2, areEqual, value) and + int_value(const) = k1 and + k = k1 + k2 ) } /** Rearrange various simple comparisons into `left == right + k` form. */ private predicate simple_comparison_eq( - CompareInstruction cmp, Operand left, Operand right, int k, boolean areEqual + CompareInstruction cmp, Operand left, Operand right, int k, AbstractValue value ) { left = cmp.getLeftOperand() and cmp instanceof CompareEQInstruction and right = cmp.getRightOperand() and k = 0 and - areEqual = true + value.(BooleanValue).getValue() = true or left = cmp.getLeftOperand() and cmp instanceof CompareNEInstruction and right = cmp.getRightOperand() and k = 0 and - areEqual = false + value.(BooleanValue).getValue() = false +} + +/** Rearrange various simple comparisons into `op == k` form. */ +private predicate simple_comparison_eq(Instruction test, Operand op, int k, AbstractValue value) { + exists(SwitchInstruction switch, CaseEdge case | + test = switch.getExpression() and + op.getDef() = test and + case = value.(MatchValue).getCase() and + exists(switch.getSuccessor(case)) and + case.getValue().toInt() = k + ) } private predicate complex_eq( - CompareInstruction cmp, Operand left, Operand right, int k, boolean areEqual, boolean testIsTrue + CompareInstruction cmp, Operand left, Operand right, int k, boolean areEqual, AbstractValue value ) { - sub_eq(cmp, left, right, k, areEqual, testIsTrue) + sub_eq(cmp, left, right, k, areEqual, value) or - add_eq(cmp, left, right, k, areEqual, testIsTrue) + add_eq(cmp, left, right, k, areEqual, value) +} + +private predicate complex_eq( + Instruction test, Operand op, int k, boolean areEqual, AbstractValue value +) { + sub_eq(test, op, k, areEqual, value) + or + add_eq(test, op, k, areEqual, value) } /* @@ -545,31 +815,46 @@ private predicate complex_eq( /** Holds if `left < right + k` evaluates to `isLt` given that test is `testIsTrue`. */ private predicate compares_lt( - Instruction test, Operand left, Operand right, int k, boolean isLt, boolean testIsTrue + Instruction test, Operand left, Operand right, int k, boolean isLt, AbstractValue value ) { /* In the simple case, the test is the comparison, so isLt = testIsTrue */ - simple_comparison_lt(test, left, right, k) and isLt = true and testIsTrue = true + simple_comparison_lt(test, left, right, k) and + value.(BooleanValue).getValue() = isLt or - simple_comparison_lt(test, left, right, k) and isLt = false and testIsTrue = false - or - complex_lt(test, left, right, k, isLt, testIsTrue) + complex_lt(test, left, right, k, isLt, value) or /* (not (left < right + k)) => (left >= right + k) */ - exists(boolean isGe | isLt = isGe.booleanNot() | - compares_ge(test, left, right, k, isGe, testIsTrue) - ) + exists(boolean isGe | isLt = isGe.booleanNot() | compares_ge(test, left, right, k, isGe, value)) or /* (x is true => (left < right + k)) => (!x is false => (left < right + k)) */ - exists(boolean isFalse | testIsTrue = isFalse.booleanNot() | - compares_lt(test.(LogicalNotInstruction).getUnary(), left, right, k, isLt, isFalse) + exists(AbstractValue dual | value = dual.getDualValue() | + compares_lt(test.(LogicalNotInstruction).getUnary(), left, right, k, isLt, dual) + ) +} + +/** Holds if `op < k` evaluates to `isLt` given that `test` evaluates to `value`. */ +private predicate compares_lt(Instruction test, Operand op, int k, boolean isLt, AbstractValue value) { + simple_comparison_lt(test, op, k, isLt, value) + or + complex_lt(test, op, k, isLt, value) + or + /* (x is true => (op < k)) => (!x is false => (op < k)) */ + exists(AbstractValue dual | value = dual.getDualValue() | + compares_lt(test.(LogicalNotInstruction).getUnary(), op, k, isLt, dual) + ) + or + exists(int k1, int k2, ConstantInstruction const | + compares_lt(test, op, const.getAUse(), k2, isLt, value) and + int_value(const) = k1 and + k = k1 + k2 ) } /** `(a < b + k) => (b > a - k) => (b >= a + (1-k))` */ private predicate compares_ge( - Instruction test, Operand left, Operand right, int k, boolean isGe, boolean testIsTrue + Instruction test, Operand left, Operand right, int k, boolean isGe, AbstractValue value ) { - exists(int onemk | k = 1 - onemk | compares_lt(test, right, left, onemk, isGe, testIsTrue)) + exists(int onemk | k = 1 - onemk | compares_lt(test, right, left, onemk, isGe, value)) } /** Rearrange various simple comparisons into `left < right + k` form. */ @@ -595,55 +880,99 @@ private predicate simple_comparison_lt(CompareInstruction cmp, Operand left, Ope k = 1 } -private predicate complex_lt( - CompareInstruction cmp, Operand left, Operand right, int k, boolean isLt, boolean testIsTrue +/** Rearrange various simple comparisons into `op < k` form. */ +private predicate simple_comparison_lt( + Instruction test, Operand op, int k, boolean isLt, AbstractValue value ) { - sub_lt(cmp, left, right, k, isLt, testIsTrue) + exists(SwitchInstruction switch, CaseEdge case | + test = switch.getExpression() and + op.getDef() = test and + case = value.(MatchValue).getCase() and + exists(switch.getSuccessor(case)) and + case.getMaxValue() > case.getMinValue() + | + // op <= k => op < k - 1 + isLt = true and + case.getMaxValue().toInt() = k - 1 + or + isLt = false and + case.getMinValue().toInt() = k + ) +} + +private predicate complex_lt( + CompareInstruction cmp, Operand left, Operand right, int k, boolean isLt, AbstractValue value +) { + sub_lt(cmp, left, right, k, isLt, value) or - add_lt(cmp, left, right, k, isLt, testIsTrue) + add_lt(cmp, left, right, k, isLt, value) +} + +private predicate complex_lt( + Instruction test, Operand left, int k, boolean isLt, AbstractValue value +) { + sub_lt(test, left, k, isLt, value) + or + add_lt(test, left, k, isLt, value) } // left - x < right + c => left < right + (c+x) // left < (right - x) + c => left < right + (c-x) private predicate sub_lt( - CompareInstruction cmp, Operand left, Operand right, int k, boolean isLt, boolean testIsTrue + CompareInstruction cmp, Operand left, Operand right, int k, boolean isLt, AbstractValue value ) { exists(SubInstruction lhs, int c, int x | - compares_lt(cmp, lhs.getAUse(), right, c, isLt, testIsTrue) and + compares_lt(cmp, lhs.getAUse(), right, c, isLt, value) and left = lhs.getLeftOperand() and x = int_value(lhs.getRight()) and k = c + x ) or exists(SubInstruction rhs, int c, int x | - compares_lt(cmp, left, rhs.getAUse(), c, isLt, testIsTrue) and + compares_lt(cmp, left, rhs.getAUse(), c, isLt, value) and right = rhs.getLeftOperand() and x = int_value(rhs.getRight()) and k = c - x ) or exists(PointerSubInstruction lhs, int c, int x | - compares_lt(cmp, lhs.getAUse(), right, c, isLt, testIsTrue) and + compares_lt(cmp, lhs.getAUse(), right, c, isLt, value) and left = lhs.getLeftOperand() and x = int_value(lhs.getRight()) and k = c + x ) or exists(PointerSubInstruction rhs, int c, int x | - compares_lt(cmp, left, rhs.getAUse(), c, isLt, testIsTrue) and + compares_lt(cmp, left, rhs.getAUse(), c, isLt, value) and right = rhs.getLeftOperand() and x = int_value(rhs.getRight()) and k = c - x ) } +private predicate sub_lt(Instruction test, Operand left, int k, boolean isLt, AbstractValue value) { + exists(SubInstruction lhs, int c, int x | + compares_lt(test, lhs.getAUse(), c, isLt, value) and + left = lhs.getLeftOperand() and + x = int_value(lhs.getRight()) and + k = c + x + ) + or + exists(PointerSubInstruction lhs, int c, int x | + compares_lt(test, lhs.getAUse(), c, isLt, value) and + left = lhs.getLeftOperand() and + x = int_value(lhs.getRight()) and + k = c + x + ) +} + // left + x < right + c => left < right + (c-x) // left < (right + x) + c => left < right + (c+x) private predicate add_lt( - CompareInstruction cmp, Operand left, Operand right, int k, boolean isLt, boolean testIsTrue + CompareInstruction cmp, Operand left, Operand right, int k, boolean isLt, AbstractValue value ) { exists(AddInstruction lhs, int c, int x | - compares_lt(cmp, lhs.getAUse(), right, c, isLt, testIsTrue) and + compares_lt(cmp, lhs.getAUse(), right, c, isLt, value) and ( left = lhs.getLeftOperand() and x = int_value(lhs.getRight()) or @@ -653,7 +982,7 @@ private predicate add_lt( ) or exists(AddInstruction rhs, int c, int x | - compares_lt(cmp, left, rhs.getAUse(), c, isLt, testIsTrue) and + compares_lt(cmp, left, rhs.getAUse(), c, isLt, value) and ( right = rhs.getLeftOperand() and x = int_value(rhs.getRight()) or @@ -663,7 +992,7 @@ private predicate add_lt( ) or exists(PointerAddInstruction lhs, int c, int x | - compares_lt(cmp, lhs.getAUse(), right, c, isLt, testIsTrue) and + compares_lt(cmp, lhs.getAUse(), right, c, isLt, value) and ( left = lhs.getLeftOperand() and x = int_value(lhs.getRight()) or @@ -673,7 +1002,7 @@ private predicate add_lt( ) or exists(PointerAddInstruction rhs, int c, int x | - compares_lt(cmp, left, rhs.getAUse(), c, isLt, testIsTrue) and + compares_lt(cmp, left, rhs.getAUse(), c, isLt, value) and ( right = rhs.getLeftOperand() and x = int_value(rhs.getRight()) or @@ -683,47 +1012,86 @@ private predicate add_lt( ) } +private predicate add_lt(Instruction test, Operand left, int k, boolean isLt, AbstractValue value) { + exists(AddInstruction lhs, int c, int x | + compares_lt(test, lhs.getAUse(), c, isLt, value) and + ( + left = lhs.getLeftOperand() and x = int_value(lhs.getRight()) + or + left = lhs.getRightOperand() and x = int_value(lhs.getLeft()) + ) and + k = c - x + ) + or + exists(PointerAddInstruction lhs, int c, int x | + compares_lt(test, lhs.getAUse(), c, isLt, value) and + ( + left = lhs.getLeftOperand() and x = int_value(lhs.getRight()) + or + left = lhs.getRightOperand() and x = int_value(lhs.getLeft()) + ) and + k = c - x + ) +} + // left - x == right + c => left == right + (c+x) // left == (right - x) + c => left == right + (c-x) private predicate sub_eq( - CompareInstruction cmp, Operand left, Operand right, int k, boolean areEqual, boolean testIsTrue + CompareInstruction cmp, Operand left, Operand right, int k, boolean areEqual, AbstractValue value ) { exists(SubInstruction lhs, int c, int x | - compares_eq(cmp, lhs.getAUse(), right, c, areEqual, testIsTrue) and + compares_eq(cmp, lhs.getAUse(), right, c, areEqual, value) and left = lhs.getLeftOperand() and x = int_value(lhs.getRight()) and k = c + x ) or exists(SubInstruction rhs, int c, int x | - compares_eq(cmp, left, rhs.getAUse(), c, areEqual, testIsTrue) and + compares_eq(cmp, left, rhs.getAUse(), c, areEqual, value) and right = rhs.getLeftOperand() and x = int_value(rhs.getRight()) and k = c - x ) or exists(PointerSubInstruction lhs, int c, int x | - compares_eq(cmp, lhs.getAUse(), right, c, areEqual, testIsTrue) and + compares_eq(cmp, lhs.getAUse(), right, c, areEqual, value) and left = lhs.getLeftOperand() and x = int_value(lhs.getRight()) and k = c + x ) or exists(PointerSubInstruction rhs, int c, int x | - compares_eq(cmp, left, rhs.getAUse(), c, areEqual, testIsTrue) and + compares_eq(cmp, left, rhs.getAUse(), c, areEqual, value) and right = rhs.getLeftOperand() and x = int_value(rhs.getRight()) and k = c - x ) } +// op - x == c => op == (c+x) +private predicate sub_eq(Instruction test, Operand op, int k, boolean areEqual, AbstractValue value) { + exists(SubInstruction sub, int c, int x | + compares_eq(test, sub.getAUse(), c, areEqual, value) and + op = sub.getLeftOperand() and + x = int_value(sub.getRight()) and + k = c + x + ) + or + exists(PointerSubInstruction sub, int c, int x | + compares_eq(test, sub.getAUse(), c, areEqual, value) and + op = sub.getLeftOperand() and + x = int_value(sub.getRight()) and + k = c + x + ) +} + // left + x == right + c => left == right + (c-x) // left == (right + x) + c => left == right + (c+x) private predicate add_eq( - CompareInstruction cmp, Operand left, Operand right, int k, boolean areEqual, boolean testIsTrue + CompareInstruction cmp, Operand left, Operand right, int k, boolean areEqual, AbstractValue value ) { exists(AddInstruction lhs, int c, int x | - compares_eq(cmp, lhs.getAUse(), right, c, areEqual, testIsTrue) and + compares_eq(cmp, lhs.getAUse(), right, c, areEqual, value) and ( left = lhs.getLeftOperand() and x = int_value(lhs.getRight()) or @@ -733,7 +1101,7 @@ private predicate add_eq( ) or exists(AddInstruction rhs, int c, int x | - compares_eq(cmp, left, rhs.getAUse(), c, areEqual, testIsTrue) and + compares_eq(cmp, left, rhs.getAUse(), c, areEqual, value) and ( right = rhs.getLeftOperand() and x = int_value(rhs.getRight()) or @@ -743,7 +1111,7 @@ private predicate add_eq( ) or exists(PointerAddInstruction lhs, int c, int x | - compares_eq(cmp, lhs.getAUse(), right, c, areEqual, testIsTrue) and + compares_eq(cmp, lhs.getAUse(), right, c, areEqual, value) and ( left = lhs.getLeftOperand() and x = int_value(lhs.getRight()) or @@ -753,7 +1121,7 @@ private predicate add_eq( ) or exists(PointerAddInstruction rhs, int c, int x | - compares_eq(cmp, left, rhs.getAUse(), c, areEqual, testIsTrue) and + compares_eq(cmp, left, rhs.getAUse(), c, areEqual, value) and ( right = rhs.getLeftOperand() and x = int_value(rhs.getRight()) or @@ -763,5 +1131,30 @@ private predicate add_eq( ) } +// left + x == right + c => left == right + (c-x) +private predicate add_eq( + Instruction test, Operand left, int k, boolean areEqual, AbstractValue value +) { + exists(AddInstruction lhs, int c, int x | + compares_eq(test, lhs.getAUse(), c, areEqual, value) and + ( + left = lhs.getLeftOperand() and x = int_value(lhs.getRight()) + or + left = lhs.getRightOperand() and x = int_value(lhs.getLeft()) + ) and + k = c - x + ) + or + exists(PointerAddInstruction lhs, int c, int x | + compares_eq(test, lhs.getAUse(), c, areEqual, value) and + ( + left = lhs.getLeftOperand() and x = int_value(lhs.getRight()) + or + left = lhs.getRightOperand() and x = int_value(lhs.getLeft()) + ) and + k = c - x + ) +} + /** The int value of integer constant expression. */ private int int_value(Instruction i) { result = i.(IntegerConstantInstruction).getValue().toInt() } diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/DataFlow.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/DataFlow.qll index 43bf134ea79..505b2e190e5 100644 --- a/cpp/ql/lib/semmle/code/cpp/dataflow/DataFlow.qll +++ b/cpp/ql/lib/semmle/code/cpp/dataflow/DataFlow.qll @@ -28,6 +28,6 @@ import cpp deprecated module DataFlow { private import semmle.code.cpp.dataflow.internal.DataFlowImplSpecific private import codeql.dataflow.DataFlow - import DataFlowMake + import DataFlowMake import semmle.code.cpp.dataflow.internal.DataFlowImpl1 } diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/TaintTracking.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/TaintTracking.qll index 8a8db1bdcce..1f93e2a74df 100644 --- a/cpp/ql/lib/semmle/code/cpp/dataflow/TaintTracking.qll +++ b/cpp/ql/lib/semmle/code/cpp/dataflow/TaintTracking.qll @@ -29,6 +29,6 @@ deprecated module TaintTracking { private import semmle.code.cpp.dataflow.internal.DataFlowImplSpecific private import semmle.code.cpp.dataflow.internal.TaintTrackingImplSpecific private import codeql.dataflow.TaintTracking - import TaintFlowMake + import TaintFlowMake import semmle.code.cpp.dataflow.internal.tainttracking1.TaintTrackingImpl } diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl.qll index 115e145bec0..2038b14880a 100644 --- a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl.qll +++ b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl.qll @@ -2,6 +2,7 @@ * DEPRECATED: Use `semmle.code.cpp.dataflow.new.DataFlow` instead. */ +private import semmle.code.cpp.Location private import DataFlowImplSpecific private import codeql.dataflow.internal.DataFlowImpl -import MakeImpl +import MakeImpl diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl1.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl1.qll index 2bbc565daa6..9b92f961e6f 100644 --- a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl1.qll +++ b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl1.qll @@ -285,6 +285,8 @@ deprecated private module Config implements FullStateConfigSig { int fieldFlowBranchLimit() { result = min(any(Configuration config).fieldFlowBranchLimit()) } + int accessPathLimit() { result = 5 } + FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } predicate sourceGrouping(Node source, string sourceGroup) { diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl2.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl2.qll index 2bbc565daa6..9b92f961e6f 100644 --- a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl2.qll +++ b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl2.qll @@ -285,6 +285,8 @@ deprecated private module Config implements FullStateConfigSig { int fieldFlowBranchLimit() { result = min(any(Configuration config).fieldFlowBranchLimit()) } + int accessPathLimit() { result = 5 } + FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } predicate sourceGrouping(Node source, string sourceGroup) { diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl3.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl3.qll index 2bbc565daa6..9b92f961e6f 100644 --- a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl3.qll +++ b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl3.qll @@ -285,6 +285,8 @@ deprecated private module Config implements FullStateConfigSig { int fieldFlowBranchLimit() { result = min(any(Configuration config).fieldFlowBranchLimit()) } + int accessPathLimit() { result = 5 } + FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } predicate sourceGrouping(Node source, string sourceGroup) { diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl4.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl4.qll index 2bbc565daa6..9b92f961e6f 100644 --- a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl4.qll +++ b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl4.qll @@ -285,6 +285,8 @@ deprecated private module Config implements FullStateConfigSig { int fieldFlowBranchLimit() { result = min(any(Configuration config).fieldFlowBranchLimit()) } + int accessPathLimit() { result = 5 } + FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } predicate sourceGrouping(Node source, string sourceGroup) { diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImplCommon.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImplCommon.qll index 5d61aac1561..b6e72884fa8 100644 --- a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImplCommon.qll +++ b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImplCommon.qll @@ -2,6 +2,7 @@ * DEPRECATED: Use `semmle.code.cpp.dataflow.new.DataFlow` instead. */ +private import semmle.code.cpp.Location private import DataFlowImplSpecific private import codeql.dataflow.internal.DataFlowImplCommon -import MakeImplCommon +import MakeImplCommon diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImplConsistency.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImplConsistency.qll index 8abc7a8760a..558bb80f368 100644 --- a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImplConsistency.qll +++ b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImplConsistency.qll @@ -10,7 +10,7 @@ private import DataFlowImplSpecific private import TaintTrackingImplSpecific private import codeql.dataflow.internal.DataFlowImplConsistency -private module Input implements InputSig { +private module Input implements InputSig { predicate argHasPostUpdateExclude(Private::ArgumentNode n) { // Is the null pointer (or something that's not really a pointer) exists(n.asExpr().getValue()) @@ -26,4 +26,4 @@ private module Input implements InputSig { } } -module Consistency = MakeConsistency; +module Consistency = MakeConsistency; diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImplLocal.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImplLocal.qll index 2bbc565daa6..9b92f961e6f 100644 --- a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImplLocal.qll +++ b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImplLocal.qll @@ -285,6 +285,8 @@ deprecated private module Config implements FullStateConfigSig { int fieldFlowBranchLimit() { result = min(any(Configuration config).fieldFlowBranchLimit()) } + int accessPathLimit() { result = 5 } + FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } predicate sourceGrouping(Node source, string sourceGroup) { diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImplSpecific.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImplSpecific.qll index e8686419aac..f2e9ffc6988 100644 --- a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImplSpecific.qll +++ b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImplSpecific.qll @@ -4,6 +4,7 @@ * Provides C++-specific definitions for use in the data flow library. */ +private import semmle.code.cpp.Location private import codeql.dataflow.DataFlow module Private { @@ -15,7 +16,7 @@ module Public { import DataFlowUtil } -module CppOldDataFlow implements InputSig { +module CppOldDataFlow implements InputSig { import Private import Public diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowUtil.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowUtil.qll index 83efaf1511f..0b932e7f05f 100644 --- a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowUtil.qll +++ b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowUtil.qll @@ -105,7 +105,7 @@ class Node extends TNode { * For more information, see * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). */ - predicate hasLocationInfo( + deprecated predicate hasLocationInfo( string filepath, int startline, int startcolumn, int endline, int endcolumn ) { this.getLocation().hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/TaintTrackingImplSpecific.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/TaintTrackingImplSpecific.qll index e1549ea57a3..694d344c2f9 100644 --- a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/TaintTrackingImplSpecific.qll +++ b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/TaintTrackingImplSpecific.qll @@ -4,9 +4,10 @@ * Provides C++-specific definitions for use in the taint tracking library. */ +private import semmle.code.cpp.Location private import codeql.dataflow.TaintTracking private import DataFlowImplSpecific -module CppOldTaintTracking implements InputSig { +module CppOldTaintTracking implements InputSig { import TaintTrackingUtil } diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/new/DataFlow.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/new/DataFlow.qll index ea4218da734..bcbebd0de1e 100644 --- a/cpp/ql/lib/semmle/code/cpp/dataflow/new/DataFlow.qll +++ b/cpp/ql/lib/semmle/code/cpp/dataflow/new/DataFlow.qll @@ -28,6 +28,6 @@ import cpp module DataFlow { private import semmle.code.cpp.ir.dataflow.internal.DataFlowImplSpecific private import codeql.dataflow.DataFlow - import DataFlowMake + import DataFlowMake import semmle.code.cpp.ir.dataflow.internal.DataFlowImpl1 } diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/new/TaintTracking.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/new/TaintTracking.qll index 87e037aad9b..d28a389203f 100644 --- a/cpp/ql/lib/semmle/code/cpp/dataflow/new/TaintTracking.qll +++ b/cpp/ql/lib/semmle/code/cpp/dataflow/new/TaintTracking.qll @@ -27,6 +27,7 @@ module TaintTracking { private import semmle.code.cpp.ir.dataflow.internal.DataFlowImplSpecific private import semmle.code.cpp.ir.dataflow.internal.TaintTrackingImplSpecific private import codeql.dataflow.TaintTracking - import TaintFlowMake + private import semmle.code.cpp.Location + import TaintFlowMake import semmle.code.cpp.ir.dataflow.internal.tainttracking1.TaintTrackingImpl } diff --git a/cpp/ql/lib/semmle/code/cpp/exprs/Expr.qll b/cpp/ql/lib/semmle/code/cpp/exprs/Expr.qll index b87805d1967..42e441668f2 100644 --- a/cpp/ql/lib/semmle/code/cpp/exprs/Expr.qll +++ b/cpp/ql/lib/semmle/code/cpp/exprs/Expr.qll @@ -1322,3 +1322,23 @@ class CoYieldExpr extends UnaryOperation, @co_yield { override int getPrecedence() { result = 2 } } + +/** + * An expression representing the re-use of another expression. + * + * In some specific cases an expression may be referred to outside its + * original context. A re-use expression wraps any such reference. A + * re-use expression can for example occur as the qualifier of an implicit + * destructor called on a temporary object, where the original use of the + * expression is in the definition of the temporary. + */ +class ReuseExpr extends Expr, @reuseexpr { + override string getAPrimaryQlClass() { result = "ReuseExpr" } + + override string toString() { result = "reuse of " + this.getReusedExpr().toString() } + + /** + * Gets the expression that is being re-used. + */ + Expr getReusedExpr() { expr_reuse(underlyingElement(this), unresolveElement(result)) } +} diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/DataFlow.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/DataFlow.qll index a2dd75d635c..671d82c74ef 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/DataFlow.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/DataFlow.qll @@ -24,6 +24,6 @@ import cpp module DataFlow { private import semmle.code.cpp.ir.dataflow.internal.DataFlowImplSpecific private import codeql.dataflow.DataFlow - import DataFlowMake + import DataFlowMake import semmle.code.cpp.ir.dataflow.internal.DataFlowImpl1 } diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/TaintTracking.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/TaintTracking.qll index 6f2bfcdd6aa..9ca1315ec3e 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/TaintTracking.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/TaintTracking.qll @@ -23,6 +23,6 @@ module TaintTracking { private import semmle.code.cpp.ir.dataflow.internal.DataFlowImplSpecific private import semmle.code.cpp.ir.dataflow.internal.TaintTrackingImplSpecific private import codeql.dataflow.TaintTracking - import TaintFlowMake + import TaintFlowMake import semmle.code.cpp.ir.dataflow.internal.tainttracking1.TaintTrackingImpl } diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl.qll index f3e52187647..edac7f5f62a 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl.qll @@ -1,3 +1,4 @@ +private import semmle.code.cpp.Location private import DataFlowImplSpecific private import codeql.dataflow.internal.DataFlowImpl -import MakeImpl +import MakeImpl diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl1.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl1.qll index 2bbc565daa6..9b92f961e6f 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl1.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl1.qll @@ -285,6 +285,8 @@ deprecated private module Config implements FullStateConfigSig { int fieldFlowBranchLimit() { result = min(any(Configuration config).fieldFlowBranchLimit()) } + int accessPathLimit() { result = 5 } + FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } predicate sourceGrouping(Node source, string sourceGroup) { diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl2.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl2.qll index 2bbc565daa6..9b92f961e6f 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl2.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl2.qll @@ -285,6 +285,8 @@ deprecated private module Config implements FullStateConfigSig { int fieldFlowBranchLimit() { result = min(any(Configuration config).fieldFlowBranchLimit()) } + int accessPathLimit() { result = 5 } + FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } predicate sourceGrouping(Node source, string sourceGroup) { diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl3.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl3.qll index 2bbc565daa6..9b92f961e6f 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl3.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl3.qll @@ -285,6 +285,8 @@ deprecated private module Config implements FullStateConfigSig { int fieldFlowBranchLimit() { result = min(any(Configuration config).fieldFlowBranchLimit()) } + int accessPathLimit() { result = 5 } + FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } predicate sourceGrouping(Node source, string sourceGroup) { diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl4.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl4.qll index 2bbc565daa6..9b92f961e6f 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl4.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl4.qll @@ -285,6 +285,8 @@ deprecated private module Config implements FullStateConfigSig { int fieldFlowBranchLimit() { result = min(any(Configuration config).fieldFlowBranchLimit()) } + int accessPathLimit() { result = 5 } + FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } predicate sourceGrouping(Node source, string sourceGroup) { diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImplCommon.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImplCommon.qll index 266693f45f6..e620cc5de78 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImplCommon.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImplCommon.qll @@ -1,3 +1,4 @@ +private import semmle.code.cpp.Location private import DataFlowImplSpecific private import codeql.dataflow.internal.DataFlowImplCommon -import MakeImplCommon +import MakeImplCommon diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImplConsistency.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImplConsistency.qll index c32f63a619d..6b0de326d11 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImplConsistency.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImplConsistency.qll @@ -8,7 +8,7 @@ private import DataFlowImplSpecific private import TaintTrackingImplSpecific private import codeql.dataflow.internal.DataFlowImplConsistency -private module Input implements InputSig { +private module Input implements InputSig { predicate argHasPostUpdateExclude(Private::ArgumentNode n) { // The rules for whether an IR argument gets a post-update node are too // complex to model here. @@ -16,4 +16,4 @@ private module Input implements InputSig { } } -module Consistency = MakeConsistency; +module Consistency = MakeConsistency; diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImplSpecific.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImplSpecific.qll index a8b9f99f354..aeb136c761e 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImplSpecific.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImplSpecific.qll @@ -3,6 +3,7 @@ */ private import codeql.dataflow.DataFlow +private import semmle.code.cpp.Location module Private { import DataFlowPrivate @@ -13,7 +14,7 @@ module Public { import DataFlowUtil } -module CppDataFlow implements InputSig { +module CppDataFlow implements InputSig { import Private import Public 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 b411790596e..81fc3115f55 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 @@ -448,7 +448,7 @@ class Node extends TIRDataFlowNode { * For more information, see * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). */ - predicate hasLocationInfo( + deprecated predicate hasLocationInfo( string filepath, int startline, int startcolumn, int endline, int endcolumn ) { this.getLocation().hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) @@ -1331,6 +1331,7 @@ private import GetConvertedResultExpression /** Holds if `node` is an `OperandNode` that should map `node.asExpr()` to `e`. */ predicate exprNodeShouldBeOperand(OperandNode node, Expr e, int n) { + not exprNodeShouldBeIndirectOperand(_, e, n) and exists(Instruction def | unique( | | getAUse(def)) = node.getOperand() and e = getConvertedResultExpression(def, n) @@ -1347,6 +1348,22 @@ private predicate indirectExprNodeShouldBeIndirectOperand( ) } +/** Holds if `node` should be an `IndirectOperand` that maps `node.asExpr()` to `e`. */ +private predicate exprNodeShouldBeIndirectOperand(IndirectOperand node, Expr e, int n) { + exists(ArgumentOperand operand | + // When an argument (qualifier or positional) is a prvalue and the + // parameter (qualifier or positional) is a (const) reference, IR + // construction introduces a temporary `IRVariable`. The `VariableAddress` + // instruction has the argument as its `getConvertedResultExpression` + // result. However, the instruction actually represents the _address_ of + // the argument. So to fix this mismatch, we have the indirection of the + // `VariableAddressInstruction` map to the expression. + node.hasOperandAndIndirectionIndex(operand, 1) and + e = getConvertedResultExpression(operand.getDef(), n) and + operand.getDef().(VariableAddressInstruction).getIRVariable() instanceof IRTempVariable + ) +} + private predicate exprNodeShouldBeIndirectOutNode(IndirectArgumentOutNode node, Expr e, int n) { exists(CallInstruction call | call.getStaticCallTarget() instanceof Constructor and @@ -1359,6 +1376,7 @@ private predicate exprNodeShouldBeIndirectOutNode(IndirectArgumentOutNode node, predicate exprNodeShouldBeInstruction(Node node, Expr e, int n) { not exprNodeShouldBeOperand(_, e, n) and not exprNodeShouldBeIndirectOutNode(_, e, n) and + not exprNodeShouldBeIndirectOperand(_, e, n) and e = getConvertedResultExpression(node.asInstruction(), n) } @@ -1391,7 +1409,8 @@ abstract private class ExprNodeBase extends Node { private predicate exprNodeShouldBe(Expr e, int n) { exprNodeShouldBeInstruction(_, e, n) or exprNodeShouldBeOperand(_, e, n) or - exprNodeShouldBeIndirectOutNode(_, e, n) + exprNodeShouldBeIndirectOutNode(_, e, n) or + exprNodeShouldBeIndirectOperand(_, e, n) } private class InstructionExprNode extends ExprNodeBase, InstructionNode { @@ -1533,6 +1552,12 @@ private class IndirectArgumentOutExprNode extends ExprNodeBase, IndirectArgument final override Expr getConvertedExpr(int n) { exprNodeShouldBeIndirectOutNode(this, result, n) } } +private class IndirectOperandExprNode extends ExprNodeBase instanceof IndirectOperand { + IndirectOperandExprNode() { exprNodeShouldBeIndirectOperand(this, _, _) } + + final override Expr getConvertedExpr(int n) { exprNodeShouldBeIndirectOperand(this, result, n) } +} + /** * An expression, viewed as a node in a data flow graph. */ diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/TaintTrackingImplSpecific.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/TaintTrackingImplSpecific.qll index f62468087b9..3364eff6e35 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/TaintTrackingImplSpecific.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/TaintTrackingImplSpecific.qll @@ -4,7 +4,8 @@ private import codeql.dataflow.TaintTracking private import DataFlowImplSpecific +private import semmle.code.cpp.Location -module CppTaintTracking implements InputSig { +module CppTaintTracking implements InputSig { import TaintTrackingUtil } diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/EdgeKind.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/EdgeKind.qll index 91e1fe03e23..81db183fa63 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/EdgeKind.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/EdgeKind.qll @@ -90,6 +90,15 @@ class CaseEdge extends EdgeKind, TCaseEdge { * Gets the largest value of the switch expression for which control will flow along this edge. */ final string getMaxValue() { result = maxValue } + + /** + * Gets the unique value of the switch expression for which control will + * flow along this edge, if any. + */ + final string getValue() { + minValue = maxValue and + result = minValue + } } /** diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/constant/ConstantAnalysis.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/constant/ConstantAnalysis.qll index 47b744b3f7c..f65799f9a61 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/constant/ConstantAnalysis.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/constant/ConstantAnalysis.qll @@ -38,6 +38,12 @@ private int getBinaryInstructionValue(BinaryInstruction instr) { or instr instanceof DivInstruction and result = div(left, right) or + instr instanceof BitOrInstruction and result = bitOr(left, right) + or + instr instanceof BitAndInstruction and result = bitAnd(left, right) + or + instr instanceof BitXorInstruction and result = bitXor(left, right) + or instr instanceof CompareEQInstruction and result = compareEQ(left, right) or instr instanceof CompareNEInstruction and result = compareNE(left, right) diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/constant/ConstantAnalysis.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/constant/ConstantAnalysis.qll index 47b744b3f7c..f65799f9a61 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/constant/ConstantAnalysis.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/constant/ConstantAnalysis.qll @@ -38,6 +38,12 @@ private int getBinaryInstructionValue(BinaryInstruction instr) { or instr instanceof DivInstruction and result = div(left, right) or + instr instanceof BitOrInstruction and result = bitOr(left, right) + or + instr instanceof BitAndInstruction and result = bitAnd(left, right) + or + instr instanceof BitXorInstruction and result = bitXor(left, right) + or instr instanceof CompareEQInstruction and result = compareEQ(left, right) or instr instanceof CompareNEInstruction and result = compareNE(left, right) diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedElement.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedElement.qll index a9d4b6e1095..51e3311a9a2 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedElement.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedElement.qll @@ -40,12 +40,43 @@ IRTempVariable getIRTempVariable(Locatable ast, TempVariableTag tag) { result.getTag() = tag } +/** Gets an operand of `op`. */ +private Expr getAnOperand(Operation op) { result = op.getAnOperand() } + +/** + * Gets the number of nested operands of `op`. For example, + * `getNumberOfNestedBinaryOperands((1 + 2) + 3))` is `3`. + */ +private int getNumberOfNestedBinaryOperands(Operation op) { result = count(getAnOperand*(op)) } + +/** + * Holds if `op` should not be translated to a `ConstantInstruction` as part of + * IR generation, even if the value of `op` is constant. + */ +private predicate ignoreConstantValue(Operation op) { + op instanceof BitwiseAndExpr + or + op instanceof BitwiseOrExpr + or + op instanceof BitwiseXorExpr +} + /** * Holds if `expr` is a constant of a type that can be replaced directly with * its value in the IR. This does not include address constants as we have no * means to express those as QL values. */ -predicate isIRConstant(Expr expr) { exists(expr.getValue()) } +predicate isIRConstant(Expr expr) { + exists(expr.getValue()) and + // We avoid constant folding certain operations since it's often useful to + // mark one of those as a source in dataflow, and if the operation is + // constant folded it's not possible to mark its operands as a source (or + // sink). + // But to avoid creating an outrageous amount of IR from very large + // constant expressions we fall back to constant folding if the operation + // has more than 50 operands (i.e., 1 + 2 + 3 + 4 + ... + 50) + if ignoreConstantValue(expr) then getNumberOfNestedBinaryOperands(expr) > 50 else any() +} // Pulled out for performance. See // https://github.com/github/codeql-coreql-team/issues/1044. @@ -99,6 +130,11 @@ private predicate ignoreExprAndDescendants(Expr expr) { or // suppress destructors of temporary variables until proper support is added for them. exists(Expr parent | parent.getAnImplicitDestructorCall() = expr) + or + exists(Stmt parent | + parent.getAnImplicitDestructorCall() = expr and + expr.(DestructorCall).getQualifier() instanceof ReuseExpr + ) } /** diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedStmt.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedStmt.qll index d8ec66a2ee7..247b15ed4c4 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedStmt.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedStmt.qll @@ -248,9 +248,19 @@ abstract class TranslatedStmt extends TranslatedElement, TTranslatedStmt { final override TranslatedElement getChild(int id) { result = this.getChildInternal(id) or - exists(int destructorIndex | + exists(int destructorIndex, int tempDestructorCount | result.(TranslatedExpr).getExpr() = stmt.getImplicitDestructorCall(destructorIndex) and - id = this.getFirstDestructorCallIndex() + destructorIndex + id = this.getFirstDestructorCallIndex() + destructorIndex - tempDestructorCount and + // suppress destructors of temporary variables until proper support is added for them. + tempDestructorCount = + count(DestructorCall call, int tempIndex | + stmt.getImplicitDestructorCall(tempIndex) = call and + tempIndex < destructorIndex and + call.getQualifier() instanceof ReuseExpr + | + call + ) and + not stmt.getImplicitDestructorCall(destructorIndex).getQualifier() instanceof ReuseExpr ) } @@ -261,7 +271,11 @@ abstract class TranslatedStmt extends TranslatedElement, TTranslatedStmt { } final override predicate hasAnImplicitDestructorCall() { - exists(stmt.getAnImplicitDestructorCall()) + exists(stmt.getAnImplicitDestructorCall()) and + // suppress destructors of temporary variables until proper support is added for them. + exists(Expr expr | stmt.getAnImplicitDestructorCall().getQualifier() = expr | + not expr instanceof ReuseExpr + ) } final override string toString() { result = stmt.toString() } diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/constant/ConstantAnalysis.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/constant/ConstantAnalysis.qll index 47b744b3f7c..f65799f9a61 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/constant/ConstantAnalysis.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/constant/ConstantAnalysis.qll @@ -38,6 +38,12 @@ private int getBinaryInstructionValue(BinaryInstruction instr) { or instr instanceof DivInstruction and result = div(left, right) or + instr instanceof BitOrInstruction and result = bitOr(left, right) + or + instr instanceof BitAndInstruction and result = bitAnd(left, right) + or + instr instanceof BitXorInstruction and result = bitXor(left, right) + or instr instanceof CompareEQInstruction and result = compareEQ(left, right) or instr instanceof CompareNEInstruction and result = compareNE(left, right) diff --git a/cpp/ql/lib/semmle/code/cpp/ir/internal/IntegerPartial.qll b/cpp/ql/lib/semmle/code/cpp/ir/internal/IntegerPartial.qll index 0e24f283b17..923ee7293f9 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/internal/IntegerPartial.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/internal/IntegerPartial.qll @@ -89,6 +89,18 @@ int compareLE(int a, int b) { if a <= b then result = 1 else result = 0 } bindingset[a, b] int compareGE(int a, int b) { if a >= b then result = 1 else result = 0 } +/** Returns `a | b`. */ +bindingset[a, b] +int bitOr(int a, int b) { result = a.bitOr(b) } + +/** Returns `a & b`. */ +bindingset[a, b] +int bitAnd(int a, int b) { result = a.bitAnd(b) } + +/** Returns `a ^ b`. */ +bindingset[a, b] +int bitXor(int a, int b) { result = a.bitXor(b) } + /** * Returns `-a`. If the negation would overflow, there is no result. */ diff --git a/cpp/ql/lib/semmle/code/cpp/models/implementations/Allocation.qll b/cpp/ql/lib/semmle/code/cpp/models/implementations/Allocation.qll index 305a0c25732..4b61a193652 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/implementations/Allocation.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/implementations/Allocation.qll @@ -36,7 +36,9 @@ private class MallocAllocationFunction extends AllocationFunction { "CRYPTO_malloc", // CRYPTO_malloc(size_t num, const char *file, int line) "CRYPTO_zalloc", // CRYPTO_zalloc(size_t num, const char *file, int line) "CRYPTO_secure_malloc", // CRYPTO_secure_malloc(size_t num, const char *file, int line) - "CRYPTO_secure_zalloc" // CRYPTO_secure_zalloc(size_t num, const char *file, int line) + "CRYPTO_secure_zalloc", // CRYPTO_secure_zalloc(size_t num, const char *file, int line) + "g_malloc", // g_malloc (n_bytes); + "g_try_malloc" // g_try_malloc(n_bytes); ]) and sizeArg = 0 or @@ -139,7 +141,9 @@ private class ReallocAllocationFunction extends AllocationFunction, TaintFunctio // --- Windows COM allocation "CoTaskMemRealloc", // CoTaskMemRealloc(ptr, size) // --- OpenSSL memory allocation - "CRYPTO_realloc" // CRYPTO_realloc(void *addr, size_t num, const char *file, int line) + "CRYPTO_realloc", // CRYPTO_realloc(void *addr, size_t num, const char *file, int line) + "g_realloc", // g_realloc(mem, n_bytes); + "g_try_realloc" // g_try_realloc(mem, n_bytes); ]) and sizeArg = 1 and reallocArg = 0 diff --git a/cpp/ql/lib/semmle/code/cpp/models/implementations/Deallocation.qll b/cpp/ql/lib/semmle/code/cpp/models/implementations/Deallocation.qll index 1162c09b0b6..e50530142aa 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/implementations/Deallocation.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/implementations/Deallocation.qll @@ -20,8 +20,10 @@ private class StandardDeallocationFunction extends DeallocationFunction { freedArg = 0 or this.hasGlobalName([ - // --- OpenSSL memory allocation - "CRYPTO_free", "CRYPTO_secure_free" + // --- OpenSSL memory deallocation + "CRYPTO_free", "CRYPTO_secure_free", + // --- glib memory deallocation + "g_free" ]) and freedArg = 0 or diff --git a/cpp/ql/lib/semmle/code/cpp/models/implementations/Iterator.qll b/cpp/ql/lib/semmle/code/cpp/models/implementations/Iterator.qll index cafd9aeeef0..47e4d5f4f0c 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/implementations/Iterator.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/implementations/Iterator.qll @@ -9,6 +9,8 @@ import cpp import semmle.code.cpp.models.interfaces.Taint import semmle.code.cpp.models.interfaces.DataFlow import semmle.code.cpp.models.interfaces.Iterator +import semmle.code.cpp.models.interfaces.Alias +import semmle.code.cpp.models.interfaces.SideEffect /** * An instantiation of the `std::iterator_traits` template. @@ -438,7 +440,7 @@ private class IteratorAssignmentMemberOperatorModel extends IteratorAssignmentMe * A `begin` or `end` member function, or a related member function, that * returns an iterator. */ -private class BeginOrEndFunction extends MemberFunction, TaintFunction, GetIteratorFunction { +class BeginOrEndFunction extends MemberFunction { BeginOrEndFunction() { this.hasName([ "begin", "cbegin", "rbegin", "crbegin", "end", "cend", "rend", "crend", "before_begin", @@ -446,7 +448,11 @@ private class BeginOrEndFunction extends MemberFunction, TaintFunction, GetItera ]) and this.getType().getUnspecifiedType() instanceof Iterator } +} +private class BeginOrEndFunctionModels extends BeginOrEndFunction, TaintFunction, + GetIteratorFunction, AliasFunction, SideEffectFunction +{ override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) { input.isQualifierObject() and output.isReturnValue() @@ -456,6 +462,22 @@ private class BeginOrEndFunction extends MemberFunction, TaintFunction, GetItera input.isQualifierObject() and output.isReturnValue() } + + override predicate parameterNeverEscapes(int index) { index = -1 } + + override predicate parameterEscapesOnlyViaReturn(int index) { none() } + + override predicate hasOnlySpecificReadSideEffects() { any() } + + override predicate hasOnlySpecificWriteSideEffects() { any() } + + override predicate hasSpecificWriteSideEffect(ParameterIndex i, boolean buffer, boolean mustWrite) { + none() + } + + override predicate hasSpecificReadSideEffect(ParameterIndex i, boolean buffer) { + i = -1 and buffer = false + } } /** diff --git a/cpp/ql/lib/semmle/code/cpp/models/implementations/StdContainer.qll b/cpp/ql/lib/semmle/code/cpp/models/implementations/StdContainer.qll index 877dc5d3ac4..6fb17d80c5d 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/implementations/StdContainer.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/implementations/StdContainer.qll @@ -253,13 +253,15 @@ private class StdSequenceContainerAssign extends TaintFunction { /** * The standard container functions `at` and `operator[]`. */ -private class StdSequenceContainerAt extends TaintFunction { +class StdSequenceContainerAt extends MemberFunction { StdSequenceContainerAt() { this.getClassAndName(["at", "operator[]"]) instanceof Array or this.getClassAndName(["at", "operator[]"]) instanceof Deque or this.getClassAndName(["at", "operator[]"]) instanceof Vector } +} +private class StdSequenceContainerAtModel extends StdSequenceContainerAt, TaintFunction { override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) { // flow from qualifier to referenced return value input.isQualifierObject() and diff --git a/cpp/ql/lib/semmle/code/cpp/models/implementations/StdMap.qll b/cpp/ql/lib/semmle/code/cpp/models/implementations/StdMap.qll index b6d869d7bea..ce3c596f308 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/implementations/StdMap.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/implementations/StdMap.qll @@ -129,9 +129,11 @@ private class StdMapMerge extends TaintFunction { /** * The standard map functions `at` and `operator[]`. */ -private class StdMapAt extends TaintFunction { +class StdMapAt extends MemberFunction { StdMapAt() { this.getClassAndName(["at", "operator[]"]) instanceof MapOrUnorderedMap } +} +private class StdMapAtModels extends StdMapAt, TaintFunction { override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) { // flow from qualifier to referenced return value input.isQualifierObject() and diff --git a/cpp/ql/lib/semmlecode.cpp.dbscheme b/cpp/ql/lib/semmlecode.cpp.dbscheme index 298438feb14..aa7ff0ab32c 100644 --- a/cpp/ql/lib/semmlecode.cpp.dbscheme +++ b/cpp/ql/lib/semmlecode.cpp.dbscheme @@ -1513,6 +1513,11 @@ exprs( int location: @location_expr ref ); +expr_reuse( + int reuse: @expr ref, + int original: @expr ref +) + /* case @value.category of 1 = prval @@ -1741,6 +1746,7 @@ case @expr.kind of | 360 = @isunsigned | 361 = @isvoid | 362 = @isvolatile +| 363 = @reuseexpr ; @var_args_expr = @vastartexpr diff --git a/cpp/ql/lib/semmlecode.cpp.dbscheme.stats b/cpp/ql/lib/semmlecode.cpp.dbscheme.stats index 0ac63edd1ab..8d4a841aaf8 100644 --- a/cpp/ql/lib/semmlecode.cpp.dbscheme.stats +++ b/cpp/ql/lib/semmlecode.cpp.dbscheme.stats @@ -2,7 +2,7 @@ @compilation - 9695 + 9657 @externalDataElement @@ -18,71 +18,71 @@ @location_default - 29753112 + 29786456 @location_stmt - 3814280 - - - @diagnostic - 5192 - - - @file - 122996 - - - @folder - 15374 + 3820105 @location_expr - 13168606 + 13188716 + + + @diagnostic + 5013 + + + @file + 123134 + + + @folder + 16324 @macro_expansion - 33099938 + 32971750 @other_macro_reference - 857250 + 858211 @function - 4640799 + 4646000 @fun_decl - 5004199 + 5009807 @var_decl - 8413633 + 8423062 @type_decl - 3238449 + 3242079 @namespace_decl - 311526 + 311530 @using - 368990 + 369403 @static_assert - 134653 + 134655 @parameter - 6568681 + 6576042 @membervariable - 1053150 + 1054758 @globalvariable @@ -90,259 +90,259 @@ @localvariable - 577491 + 576906 @enumconstant - 241316 + 241684 @errortype - 465 + 466 @unknowntype - 465 + 466 @void - 465 + 466 @boolean - 465 + 466 @char - 465 + 466 @unsigned_char - 465 + 466 @signed_char - 465 + 466 @short - 465 + 466 @unsigned_short - 465 + 466 @signed_short - 465 + 466 @int - 465 + 466 @unsigned_int - 465 + 466 @signed_int - 465 + 466 @long - 465 + 466 @unsigned_long - 465 + 466 @signed_long - 465 + 466 @long_long - 465 + 466 @unsigned_long_long - 465 + 466 @signed_long_long - 465 + 466 @float - 465 + 466 @double - 465 + 466 @long_double - 465 + 466 @complex_float - 465 + 466 @complex_double - 465 + 466 @complex_long_double - 465 + 466 @imaginary_float - 465 + 466 @imaginary_double - 465 + 466 @imaginary_long_double - 465 + 466 @wchar_t - 465 + 466 @decltype_nullptr - 465 + 466 @int128 - 465 + 466 @unsigned_int128 - 465 + 466 @signed_int128 - 465 + 466 @float128 - 465 + 466 @complex_float128 - 465 + 466 @decimal32 - 465 + 466 @decimal64 - 465 + 466 @decimal128 - 465 + 466 @char16_t - 465 + 466 @char32_t - 465 + 466 @std_float32 - 465 + 466 @float32x - 465 + 466 @std_float64 - 465 + 466 @float64x - 465 + 466 @std_float128 - 465 + 466 @char8_t - 465 + 466 @float16 - 465 + 466 @complex_float16 - 465 + 466 @fp16 - 465 + 466 @std_bfloat16 - 465 + 466 @std_float16 - 465 + 466 @complex_std_float32 - 465 + 466 @complex_float32x - 465 + 466 @complex_std_float64 - 465 + 466 @complex_float64x - 465 + 466 @complex_std_float128 - 465 + 466 @pointer - 566996 + 567632 @type_with_specifiers - 1010530 + 1010263 @array - 109951 + 110074 @routineptr - 633361 + 624659 @reference - 1727994 + 1721148 @gnu_vector - 696 + 693 @routinereference @@ -350,7 +350,7 @@ @rvalue_reference - 627137 + 620692 @block @@ -358,43 +358,43 @@ @decltype - 27022 + 27052 @usertype - 5224568 + 5229957 @mangledname - 6441025 + 6448244 @type_mention - 4023226 + 4029370 @routinetype - 545338 + 538161 @ptrtomember - 37737 + 37779 @specifier - 24692 + 24720 @gnuattribute - 684868 + 685636 @stdattribute - 491954 + 487895 @declspec - 243213 + 243123 @msattribute @@ -402,15 +402,15 @@ @alignas - 9783 + 9794 @attribute_arg_token - 39135 + 39179 @attribute_arg_constant_expr - 369922 + 370336 @attribute_arg_empty @@ -422,7 +422,7 @@ @attribute_arg_type - 465 + 466 @attribute_arg_expr @@ -430,35 +430,35 @@ @derivation - 395209 + 391086 @frienddecl - 713754 + 706182 @comment - 8751514 + 8686670 @namespace - 12113 + 12126 @specialnamequalifyingelement - 465 + 466 @namequalifier - 1570954 + 1516804 @value - 10760930 + 10777325 @initialiser - 1710236 + 1710241 @address_of @@ -466,15 +466,15 @@ @indirect - 292216 + 292663 @array_to_pointer - 1428793 + 1430922 @parexpr - 3582350 + 3587688 @arithnegexpr @@ -482,115 +482,115 @@ @unaryplusexpr - 2912 + 2916 @complementexpr - 27796 + 27839 @notexpr - 276021 + 276441 @postincrexpr - 61954 + 62049 @postdecrexpr - 41975 + 42038 @preincrexpr - 70470 + 70577 @predecrexpr - 26169 + 26209 @conditionalexpr - 656298 + 657276 @addexpr - 397812 + 398417 @subexpr - 340271 + 340778 @mulexpr - 305908 + 306374 @divexpr - 132972 + 133174 @remexpr - 15790 + 15622 @paddexpr - 86535 + 86667 @psubexpr - 49827 + 49903 @pdiffexpr - 35355 + 35197 @lshiftexpr - 565475 + 566336 @rshiftexpr - 140634 + 140848 @andexpr - 488341 + 489084 @orexpr - 145252 + 145473 @xorexpr - 54095 + 54178 @eqexpr - 469960 + 470677 @neexpr - 301236 + 301684 @gtexpr - 103895 + 104011 @ltexpr - 101565 + 101679 @geexpr - 59162 + 59252 @leexpr - 212214 + 212539 @assignexpr - 935582 + 937011 @assignaddexpr @@ -598,23 +598,23 @@ @assignsubexpr - 11183 + 11200 @assignmulexpr - 8246 + 8214 @assigndivexpr - 4986 + 4994 @assignremexpr - 417 + 414 @assignlshiftexpr - 2712 + 2716 @assignrshiftexpr @@ -622,43 +622,43 @@ @assignandexpr - 4819 + 4826 @assignorexpr - 23678 + 23654 @assignxorexpr - 21812 + 21845 @assignpaddexpr - 13608 + 13629 @assignpsubexpr - 1151 + 1152 @andlogicalexpr - 249586 + 249967 @orlogicalexpr - 864846 + 866161 @commaexpr - 123692 + 122776 @subscriptexpr - 365254 + 364887 @callexpr - 301901 + 316232 @vastartexpr @@ -666,51 +666,51 @@ @vaargexpr - 950 + 952 @vaendexpr - 2795 + 2798 @vacopyexpr - 140 + 139 @varaccess - 6020283 + 6029477 @runtime_sizeof - 295403 + 295853 @runtime_alignof - 49726 + 49198 @expr_stmt - 94249 + 94392 @routineexpr - 2925479 + 3151079 @type_operand - 1127108 + 1128821 @offsetofexpr - 19963 + 19994 @typescompexpr - 562954 + 563810 @literal - 4406828 + 4406917 @aggregateliteral @@ -718,31 +718,31 @@ @c_style_cast - 4210119 + 4210103 @temp_init - 825128 + 796653 @errorexpr - 46737 + 46241 @reference_to - 1587202 + 1570260 @ref_indirect - 1932263 + 1906893 @vacuous_destructor_call - 8123 + 8037 @assume - 3230 + 3231 @conjugation @@ -794,35 +794,35 @@ @thisaccess - 1117234 + 1117586 @new_expr - 47510 + 47006 @delete_expr - 11710 + 11621 @throw_expr - 21143 + 21061 @condition_decl - 42306 + 40853 @braced_init_list - 1105 + 1067 @type_id - 36362 + 35977 @sizeof_pack - 5590 + 5597 @hasassignexpr @@ -878,19 +878,19 @@ @isconvtoexpr - 208 + 207 @isemptyexpr - 1477 + 1461 @isenumexpr - 521 + 517 @ispodexpr - 617 + 615 @ispolyexpr @@ -906,7 +906,7 @@ @hastrivialdestructor - 465 + 466 @uuidof @@ -914,7 +914,7 @@ @delete_array_expr - 1370 + 1365 @new_array_expr @@ -926,55 +926,55 @@ @ctordirectinit - 112605 + 111410 @ctorvirtualinit - 6347 + 6322 @ctorfieldinit - 200453 + 198326 @ctordelegatinginit - 3340 + 3305 @dtordirectdestruct - 41638 + 41231 @dtorvirtualdestruct - 4114 + 4070 @dtorfielddestruct - 41567 + 41126 @static_cast - 215292 + 214451 @reinterpret_cast - 30975 + 30745 @const_cast - 35251 + 34990 @dynamic_cast - 1011 + 1007 @lambdaexpr - 21431 + 21455 @param_ref - 244956 + 236428 @noopexpr @@ -982,7 +982,7 @@ @istriviallyconstructibleexpr - 1355 + 1345 @isdestructibleexpr @@ -994,7 +994,7 @@ @istriviallydestructibleexpr - 834 + 828 @istriviallyassignableexpr @@ -1002,11 +1002,11 @@ @isnothrowassignableexpr - 4171 + 4140 @istrivialexpr - 931 + 932 @isstandardlayoutexpr @@ -1014,7 +1014,7 @@ @istriviallycopyableexpr - 3727 + 3731 @isliteraltypeexpr @@ -1034,11 +1034,11 @@ @isconstructibleexpr - 465 + 466 @isnothrowconstructibleexpr - 14392 + 14285 @hasfinalizerexpr @@ -1074,11 +1074,11 @@ @isfinalexpr - 1688 + 1670 @noexceptexpr - 25664 + 24725 @builtinshufflevector @@ -1086,11 +1086,11 @@ @builtinchooseexpr - 9051 + 9065 @builtinaddressof - 13258 + 13117 @vec_fill @@ -1134,7 +1134,7 @@ @builtinshuffle - 1909 + 1902 @blockassignexpr @@ -1248,77 +1248,81 @@ @isvolatile 2 + + @reuseexpr + 331632 + @lambdacapture - 27953 + 27985 @stmt_expr - 1483845 + 1486111 @stmt_if - 724849 + 725956 @stmt_while - 29345 + 29152 @stmt_goto - 110529 + 110697 @stmt_label - 53064 + 53145 @stmt_return - 1283546 + 1284984 @stmt_block - 1422383 + 1423977 @stmt_end_test_while - 148655 + 148882 @stmt_for - 61466 + 61560 @stmt_switch_case - 209046 + 201865 @stmt_switch - 20756 + 20788 @stmt_asm - 109821 + 109989 @stmt_decl - 591603 + 589211 @stmt_empty - 192088 + 191899 @stmt_continue - 22529 + 22563 @stmt_break - 103194 + 103183 @stmt_try_block - 46788 + 45181 @stmt_microsoft_try @@ -1334,19 +1338,19 @@ @stmt_assigned_goto - 9062 + 9076 @stmt_range_based_for - 8386 + 8395 @stmt_handler - 65128 + 62891 @stmt_constexpr_if - 52355 + 52071 @stmt_co_return @@ -1354,55 +1358,55 @@ @ppd_if - 665766 + 666512 @ppd_ifdef - 262765 + 263060 @ppd_ifndef - 266027 + 266325 @ppd_elif - 25158 + 25186 @ppd_else - 208721 + 208955 @ppd_endif - 1194559 + 1195898 @ppd_plain_include - 310753 + 311101 @ppd_define - 2426503 + 2408524 @ppd_undef - 258106 + 258396 @ppd_include_next - 1863 + 1865 @ppd_line - 27580 + 27551 @ppd_error - 104 + 103 @ppd_pragma - 314133 + 311805 @ppd_objc_import @@ -1414,7 +1418,7 @@ @link_target - 848 + 819 @xmldtd @@ -1444,11 +1448,11 @@ compilations - 9695 + 9657 id - 9695 + 9657 cwd @@ -1466,7 +1470,7 @@ 1 2 - 9695 + 9657 @@ -1492,19 +1496,19 @@ compilation_args - 651597 + 652589 id - 5506 + 5514 num - 708 + 709 arg - 34410 + 34463 @@ -1523,12 +1527,12 @@ 71 102 - 274 + 275 126 127 - 3862 + 3868 127 @@ -1538,7 +1542,7 @@ 131 132 - 813 + 815 134 @@ -1564,12 +1568,12 @@ 57 106 - 290 + 291 106 107 - 3825 + 3831 107 @@ -1579,7 +1583,7 @@ 109 110 - 813 + 815 111 @@ -1625,12 +1629,12 @@ 970 989 - 36 + 37 999 1000 - 73 + 74 1001 @@ -1742,12 +1746,12 @@ 1 2 - 32350 + 32399 2 1043 - 2060 + 2063 @@ -1763,12 +1767,12 @@ 1 2 - 33206 + 33256 2 56 - 1204 + 1206 @@ -1778,19 +1782,19 @@ compilation_compiling_files - 11529 + 11546 id - 1994 + 1997 num - 3311 + 3316 file - 10013 + 10028 @@ -1804,7 +1808,7 @@ 1 2 - 997 + 998 2 @@ -1855,7 +1859,7 @@ 1 2 - 997 + 998 2 @@ -1906,12 +1910,12 @@ 1 2 - 1755 + 1757 2 3 - 718 + 719 3 @@ -1942,12 +1946,12 @@ 1 2 - 1755 + 1757 2 3 - 718 + 719 3 @@ -1978,12 +1982,12 @@ 1 2 - 9015 + 9029 2 4 - 837 + 839 4 @@ -2004,12 +2008,12 @@ 1 2 - 9175 + 9189 2 4 - 797 + 799 4 @@ -2024,15 +2028,15 @@ compilation_time - 46116 + 46187 id - 1994 + 1997 num - 3311 + 3316 kind @@ -2040,7 +2044,7 @@ seconds - 9933 + 9828 @@ -2054,7 +2058,7 @@ 1 2 - 997 + 998 2 @@ -2105,7 +2109,7 @@ 4 5 - 1994 + 1997 @@ -2121,51 +2125,46 @@ 3 4 - 359 + 719 4 5 - 638 + 279 - 6 + 5 8 159 - 8 + 9 10 - 79 + 159 10 - 11 - 119 - - - 11 - 13 + 12 159 - 14 - 17 + 12 + 16 119 - 17 - 19 - 119 - - - 20 - 41 + 16 + 18 159 - 52 - 102 + 19 + 43 + 159 + + + 57 + 92 79 @@ -2182,12 +2181,12 @@ 1 2 - 1755 + 1757 2 3 - 718 + 719 3 @@ -2218,7 +2217,7 @@ 4 5 - 3311 + 3316 @@ -2234,12 +2233,12 @@ 3 4 - 837 + 1478 4 5 - 917 + 279 5 @@ -2249,33 +2248,28 @@ 6 7 - 199 + 439 7 8 - 319 + 119 8 9 - 79 + 199 9 - 11 + 23 279 - 11 - 29 + 24 + 90 279 - - 32 - 93 - 159 - @@ -2335,8 +2329,8 @@ 39 - 156 - 157 + 146 + 147 39 @@ -2353,27 +2347,27 @@ 1 2 - 4946 + 4834 2 3 - 2473 + 2557 3 4 - 1436 + 1238 4 5 - 757 + 719 5 46 - 319 + 479 @@ -2389,32 +2383,32 @@ 1 2 - 4667 + 4474 2 3 - 1914 + 2197 3 4 - 1476 + 1318 4 5 - 997 + 679 5 - 10 - 757 + 7 + 799 - 43 - 75 - 119 + 7 + 76 + 359 @@ -2430,12 +2424,12 @@ 1 2 - 7938 + 8110 2 3 - 1994 + 1718 @@ -2445,15 +2439,15 @@ diagnostic_for - 5665 + 5471 diagnostic - 5192 + 5013 compilation - 848 + 819 file_number @@ -2461,7 +2455,7 @@ file_number_diagnostic_number - 414 + 400 @@ -2475,12 +2469,12 @@ 1 2 - 5034 + 4861 2 7 - 157 + 152 @@ -2496,7 +2490,7 @@ 1 2 - 5192 + 5013 @@ -2512,7 +2506,7 @@ 1 2 - 5192 + 5013 @@ -2528,27 +2522,27 @@ 5 6 - 631 + 610 7 8 - 78 + 76 9 12 - 59 + 57 13 16 - 39 + 38 21 22 - 39 + 38 @@ -2564,7 +2558,7 @@ 1 2 - 848 + 819 @@ -2580,27 +2574,27 @@ 5 6 - 631 + 610 7 8 - 78 + 76 9 12 - 59 + 57 13 16 - 39 + 38 21 22 - 39 + 38 @@ -2664,37 +2658,37 @@ 2 3 - 118 + 114 3 4 - 39 + 38 4 5 - 39 + 38 5 6 - 39 + 38 7 8 - 39 + 38 11 12 - 39 + 38 37 38 - 78 + 76 43 @@ -2715,37 +2709,37 @@ 2 3 - 118 + 114 3 4 - 39 + 38 4 5 - 39 + 38 5 6 - 39 + 38 7 8 - 39 + 38 11 12 - 39 + 38 43 44 - 98 + 95 @@ -2761,7 +2755,7 @@ 1 2 - 414 + 400 @@ -2771,19 +2765,19 @@ compilation_finished - 9695 + 9657 id - 9695 + 9657 cpu_seconds - 7190 + 7330 elapsed_seconds - 146 + 145 @@ -2797,7 +2791,7 @@ 1 2 - 9695 + 9657 @@ -2813,7 +2807,7 @@ 1 2 - 9695 + 9657 @@ -2829,17 +2823,17 @@ 1 2 - 5864 + 6054 2 3 - 831 + 850 3 - 17 - 494 + 20 + 425 @@ -2855,12 +2849,12 @@ 1 2 - 6561 + 6692 2 3 - 629 + 637 @@ -2876,26 +2870,21 @@ 1 2 - 22 + 11 2 3 - 11 + 33 - 3 - 4 + 7 + 8 22 - 6 - 7 - 11 - - - 10 - 11 + 11 + 12 11 @@ -2904,28 +2893,28 @@ 11 - 46 - 47 + 52 + 53 11 - 159 - 160 + 161 + 162 11 - 165 - 166 + 163 + 164 11 - 204 - 205 + 184 + 185 11 - 251 - 252 + 259 + 260 11 @@ -2942,26 +2931,21 @@ 1 2 - 22 + 11 2 3 - 11 + 33 - 3 - 4 + 7 + 8 22 - 6 - 7 - 11 - - - 10 - 11 + 11 + 12 11 @@ -2970,13 +2954,13 @@ 11 - 44 - 45 + 52 + 53 11 - 116 - 117 + 115 + 116 11 @@ -2985,13 +2969,13 @@ 11 - 148 - 149 + 140 + 141 11 - 231 - 232 + 242 + 243 11 @@ -3218,11 +3202,11 @@ sourceLocationPrefix - 465 + 466 prefix - 465 + 466 @@ -4716,15 +4700,15 @@ extractor_version - 465 + 466 codeql_version - 465 + 466 frontend_version - 465 + 466 @@ -4738,7 +4722,7 @@ 1 2 - 465 + 466 @@ -4754,7 +4738,7 @@ 1 2 - 465 + 466 @@ -4764,31 +4748,31 @@ locations_default - 29753112 + 29786456 id - 29753112 + 29786456 container - 122996 + 123134 startLine - 2090945 + 2093288 startColumn - 36805 + 36847 endLine - 2095138 + 2097486 endColumn - 47987 + 48041 @@ -4802,7 +4786,7 @@ 1 2 - 29753112 + 29786456 @@ -4818,7 +4802,7 @@ 1 2 - 29753112 + 29786456 @@ -4834,7 +4818,7 @@ 1 2 - 29753112 + 29786456 @@ -4850,7 +4834,7 @@ 1 2 - 29753112 + 29786456 @@ -4866,7 +4850,7 @@ 1 2 - 29753112 + 29786456 @@ -4882,67 +4866,67 @@ 1 11 - 9783 + 9794 11 18 - 10249 + 10261 18 30 - 9317 + 9328 30 42 - 9783 + 9794 43 61 - 9783 + 9794 61 79 - 9317 + 9328 80 106 - 9783 + 9794 109 149 - 9317 + 9328 149 199 - 9317 + 9328 206 292 - 9317 + 9328 305 469 - 9317 + 9328 482 850 - 9317 + 9328 939 2380 - 8386 + 8395 @@ -4958,72 +4942,72 @@ 1 8 - 9317 + 9328 8 13 - 9317 + 9328 13 20 - 9783 + 9794 20 32 - 9317 + 9328 32 43 - 9783 + 9794 44 61 - 9317 + 9328 62 72 - 9317 + 9328 73 93 - 9317 + 9328 97 128 - 9317 + 9328 128 180 - 9317 + 9328 180 267 - 9317 + 9328 277 414 - 9317 + 9328 439 1465 - 9317 + 9328 1557 1569 - 931 + 932 @@ -5039,67 +5023,67 @@ 1 4 - 8852 + 8861 4 5 - 7920 + 7929 5 6 - 7454 + 7462 6 8 - 11181 + 11194 8 10 - 9317 + 9328 10 15 - 10715 + 10727 15 23 - 9783 + 9794 23 28 - 11181 + 11194 28 34 - 9783 + 9794 34 44 - 9317 + 9328 44 55 - 9317 + 9328 55 66 - 9783 + 9794 66 77 - 8386 + 8395 @@ -5115,72 +5099,72 @@ 1 8 - 9317 + 9328 8 13 - 9317 + 9328 13 20 - 9783 + 9794 20 32 - 9317 + 9328 32 43 - 9783 + 9794 43 60 - 9317 + 9328 61 71 - 9317 + 9328 72 93 - 9317 + 9328 94 127 - 9317 + 9328 128 179 - 9317 + 9328 180 268 - 9317 + 9328 278 413 - 9317 + 9328 437 1465 - 9317 + 9328 1554 1566 - 931 + 932 @@ -5196,67 +5180,67 @@ 1 9 - 9783 + 9794 9 13 - 9317 + 9328 13 18 - 9317 + 9328 18 26 - 10249 + 10261 27 33 - 9317 + 9328 33 39 - 9317 + 9328 39 47 - 10249 + 10261 47 54 - 9317 + 9328 54 60 - 10249 + 10261 60 66 - 9317 + 9328 66 74 - 9783 + 9794 74 78 - 9783 + 9794 78 90 - 6988 + 6996 @@ -5272,52 +5256,52 @@ 1 2 - 580507 + 581158 2 3 - 314480 + 314832 3 4 - 194744 + 194963 4 6 - 162132 + 162313 6 10 - 183097 + 183302 10 16 - 161666 + 161847 16 25 - 168188 + 168377 25 45 - 157007 + 157183 45 160 - 157473 + 157649 160 265 - 11647 + 11660 @@ -5333,42 +5317,42 @@ 1 2 - 869363 + 870338 2 3 - 273015 + 273321 3 5 - 193347 + 193563 5 8 - 173313 + 173507 8 13 - 187756 + 187966 13 20 - 160734 + 160914 20 51 - 159336 + 159515 51 265 - 74077 + 74160 @@ -5384,47 +5368,47 @@ 1 2 - 610790 + 611475 2 3 - 312616 + 312967 3 4 - 198006 + 198228 4 6 - 182631 + 182836 6 9 - 172847 + 173041 9 13 - 163063 + 163246 13 19 - 173779 + 173974 19 29 - 164927 + 165112 29 52 - 112281 + 112407 @@ -5440,22 +5424,22 @@ 1 2 - 1528607 + 1530321 2 3 - 348025 + 348415 3 5 - 161666 + 161847 5 16 - 52646 + 52705 @@ -5471,47 +5455,47 @@ 1 2 - 585166 + 585822 2 3 - 315878 + 316232 3 4 - 197540 + 197761 4 6 - 168188 + 168377 6 10 - 191483 + 191698 10 15 - 165393 + 165578 15 22 - 167722 + 167910 22 34 - 163995 + 164179 34 66 - 135576 + 135727 @@ -5527,72 +5511,72 @@ 1 31 - 2795 + 2798 42 85 - 2795 + 2798 86 128 - 2795 + 2798 129 229 - 2795 + 2798 247 286 - 2795 + 2798 291 360 - 2795 + 2798 373 457 - 2795 + 2798 475 565 - 2795 + 2798 566 620 - 2795 + 2798 623 689 - 2795 + 2798 696 807 - 2795 + 2798 820 1563 - 2795 + 2798 1638 5632 - 2795 + 2798 15295 15296 - 465 + 466 @@ -5608,67 +5592,67 @@ 1 18 - 2795 + 2798 23 35 - 3261 + 3264 38 43 - 2795 + 2798 44 61 - 2795 + 2798 65 73 - 2795 + 2798 73 84 - 3261 + 3264 84 96 - 2795 + 2798 96 101 - 3261 + 3264 101 105 - 3261 + 3264 107 112 - 2795 + 2798 112 126 - 2795 + 2798 137 170 - 2795 + 2798 195 265 - 1397 + 1399 @@ -5684,72 +5668,72 @@ 1 19 - 2795 + 2798 30 72 - 2795 + 2798 83 122 - 2795 + 2798 122 205 - 2795 + 2798 214 261 - 2795 + 2798 265 322 - 2795 + 2798 322 379 - 2795 + 2798 404 430 - 2795 + 2798 453 474 - 2795 + 2798 478 505 - 2795 + 2798 511 583 - 2795 + 2798 585 836 - 2795 + 2798 1104 2196 - 2795 + 2798 2387 2388 - 465 + 466 @@ -5765,72 +5749,72 @@ 1 19 - 2795 + 2798 30 72 - 2795 + 2798 83 122 - 2795 + 2798 122 205 - 2795 + 2798 214 261 - 2795 + 2798 265 322 - 2795 + 2798 322 380 - 2795 + 2798 404 430 - 2795 + 2798 453 474 - 2795 + 2798 477 504 - 2795 + 2798 514 582 - 2795 + 2798 585 835 - 2795 + 2798 1109 2203 - 2795 + 2798 2382 2383 - 465 + 466 @@ -5846,67 +5830,67 @@ 1 7 - 2795 + 2798 7 11 - 3261 + 3264 11 16 - 3261 + 3264 16 22 - 2795 + 2798 22 24 - 3261 + 3264 24 28 - 2795 + 2798 29 34 - 3261 + 3264 34 41 - 3261 + 3264 41 46 - 2795 + 2798 47 49 - 1863 + 1865 49 54 - 2795 + 2798 54 74 - 2795 + 2798 75 86 - 1863 + 1865 @@ -5922,52 +5906,52 @@ 1 2 - 590757 + 591419 2 3 - 306560 + 306903 3 4 - 198006 + 198228 4 6 - 159336 + 159515 6 10 - 182631 + 182836 10 16 - 160268 + 160448 16 25 - 170518 + 170709 25 45 - 157939 + 158116 45 160 - 157939 + 158116 160 265 - 11181 + 11194 @@ -5983,47 +5967,47 @@ 1 2 - 884738 + 885729 2 3 - 259504 + 259795 3 4 - 124860 + 125000 4 6 - 140700 + 140858 6 10 - 184495 + 184701 10 15 - 168188 + 168377 15 26 - 163063 + 163246 26 120 - 157939 + 158116 121 265 - 11647 + 11660 @@ -6039,22 +6023,22 @@ 1 2 - 1526278 + 1527988 2 3 - 341036 + 341418 3 5 - 170518 + 170709 5 10 - 57305 + 57369 @@ -6070,47 +6054,47 @@ 1 2 - 621972 + 622669 2 3 - 302833 + 303172 3 4 - 201267 + 201493 4 6 - 183563 + 183769 6 9 - 169586 + 169776 9 13 - 166325 + 166511 13 19 - 174711 + 174907 19 29 - 160734 + 160914 29 52 - 114144 + 114272 @@ -6126,52 +6110,52 @@ 1 2 - 597279 + 597949 2 3 - 306560 + 306903 3 4 - 196142 + 196362 4 6 - 169120 + 169310 6 9 - 154677 + 154851 9 14 - 168188 + 168377 14 21 - 178438 + 178638 21 32 - 163063 + 163246 32 60 - 157939 + 158116 60 65 - 3727 + 3731 @@ -6187,67 +6171,67 @@ 1 2 - 5124 + 5130 2 8 - 3727 + 3731 9 186 - 3727 + 3731 193 288 - 3727 + 3731 294 495 - 3727 + 3731 503 555 - 3727 + 3731 561 634 - 3727 + 3731 640 758 - 3727 + 3731 758 869 - 3727 + 3731 876 1074 - 3727 + 3731 1075 1281 - 3727 + 3731 1289 1590 - 3727 + 3731 1685 2418 - 1863 + 1865 @@ -6263,67 +6247,67 @@ 1 2 - 5590 + 5597 2 5 - 3727 + 3731 5 65 - 3727 + 3731 70 100 - 3727 + 3731 100 111 - 3727 + 3731 112 122 - 3727 + 3731 122 134 - 3727 + 3731 139 152 - 3727 + 3731 152 160 - 3727 + 3731 160 171 - 3727 + 3731 171 175 - 3727 + 3731 176 192 - 3727 + 3731 207 265 - 1397 + 1399 @@ -6339,67 +6323,67 @@ 1 2 - 5590 + 5597 2 8 - 3727 + 3731 9 105 - 3727 + 3731 155 241 - 3727 + 3731 253 336 - 3727 + 3731 340 426 - 3727 + 3731 434 488 - 3727 + 3731 489 572 - 3727 + 3731 573 623 - 3727 + 3731 628 696 - 4193 + 4197 701 819 - 3727 + 3731 837 1095 - 3727 + 3731 1172 1174 - 931 + 932 @@ -6415,67 +6399,67 @@ 1 2 - 6056 + 6063 2 4 - 3727 + 3731 4 8 - 4193 + 4197 8 15 - 3727 + 3731 15 23 - 3727 + 3731 23 29 - 3727 + 3731 29 35 - 4193 + 4197 35 39 - 3261 + 3264 39 42 - 3261 + 3264 42 44 - 3261 + 3264 44 46 - 3727 + 3731 46 49 - 3727 + 3731 49 53 - 1397 + 1399 @@ -6491,67 +6475,67 @@ 1 2 - 5590 + 5597 2 8 - 3727 + 3731 9 156 - 3727 + 3731 159 240 - 3727 + 3731 251 335 - 3727 + 3731 342 430 - 3727 + 3731 432 490 - 3727 + 3731 490 573 - 3727 + 3731 574 622 - 3727 + 3731 628 698 - 3727 + 3731 700 812 - 3727 + 3731 812 987 - 3727 + 3731 1096 1180 - 1397 + 1399 @@ -6561,31 +6545,31 @@ locations_stmt - 3814280 + 3820105 id - 3814280 + 3820105 container - 3083 + 3088 startLine - 199878 + 200183 startColumn - 1870 + 1873 endLine - 194143 + 194439 endColumn - 2364 + 2367 @@ -6599,7 +6583,7 @@ 1 2 - 3814280 + 3820105 @@ -6615,7 +6599,7 @@ 1 2 - 3814280 + 3820105 @@ -6631,7 +6615,7 @@ 1 2 - 3814280 + 3820105 @@ -6647,7 +6631,7 @@ 1 2 - 3814280 + 3820105 @@ -6663,7 +6647,7 @@ 1 2 - 3814280 + 3820105 @@ -6679,62 +6663,62 @@ 1 13 - 246 + 247 16 48 - 246 + 247 61 175 - 246 + 247 176 417 - 246 + 247 436 608 - 246 + 247 621 797 - 246 + 247 848 1139 - 246 + 247 1158 1417 - 246 + 247 1453 1715 - 246 + 247 1771 2252 - 246 + 247 2282 2669 - 246 + 247 2736 3751 - 246 + 247 3768 @@ -6755,17 +6739,17 @@ 1 13 - 246 + 247 16 47 - 246 + 247 48 161 - 246 + 247 169 @@ -6775,42 +6759,42 @@ 393 586 - 246 + 247 602 783 - 246 + 247 845 1120 - 246 + 247 1131 1390 - 246 + 247 1394 1692 - 246 + 247 1726 2208 - 246 + 247 2225 2680 - 246 + 247 2777 3643 - 246 + 247 3885 @@ -6846,7 +6830,7 @@ 9 11 - 246 + 247 11 @@ -6861,7 +6845,7 @@ 14 16 - 246 + 247 16 @@ -6881,22 +6865,22 @@ 21 23 - 246 + 247 23 29 - 246 + 247 29 43 - 246 + 247 48 60 - 143 + 144 @@ -6912,62 +6896,62 @@ 1 11 - 246 + 247 12 34 - 246 + 247 43 132 - 246 + 247 134 282 - 246 + 247 294 452 - 246 + 247 459 601 - 246 + 247 609 831 - 246 + 247 838 1062 - 246 + 247 1071 1265 - 246 + 247 1323 1679 - 246 + 247 1688 2006 - 246 + 247 2044 2758 - 246 + 247 2776 @@ -6988,22 +6972,22 @@ 1 8 - 246 + 247 8 21 - 246 + 247 22 45 - 246 + 247 45 56 - 246 + 247 56 @@ -7013,12 +6997,12 @@ 63 67 - 246 + 247 67 69 - 246 + 247 69 @@ -7028,22 +7012,22 @@ 71 72 - 246 + 247 72 74 - 246 + 247 74 76 - 246 + 247 76 80 - 246 + 247 81 @@ -7064,67 +7048,67 @@ 1 2 - 21544 + 21576 2 3 - 15294 + 15317 3 4 - 12478 + 12497 4 6 - 14451 + 14473 6 8 - 12519 + 12538 8 11 - 16713 + 16738 11 16 - 17268 + 17294 16 22 - 15356 + 15379 22 29 - 16980 + 17006 29 37 - 17370 + 17397 37 45 - 15089 + 15112 45 56 - 16178 + 16203 56 73 - 8634 + 8647 @@ -7140,67 +7124,67 @@ 1 2 - 22304 + 22338 2 3 - 15726 + 15750 3 4 - 12683 + 12703 4 6 - 14390 + 14412 6 8 - 12724 + 12744 8 11 - 17576 + 17603 11 16 - 16363 + 16388 16 22 - 16219 + 16244 22 29 - 16959 + 16985 29 36 - 15993 + 16017 36 44 - 16322 + 16347 44 54 - 15644 + 15667 54 69 - 6968 + 6979 @@ -7216,57 +7200,57 @@ 1 2 - 26827 + 26868 2 3 - 20845 + 20876 3 4 - 16815 + 16841 4 5 - 16075 + 16100 5 6 - 17432 + 17459 6 7 - 19858 + 19888 7 8 - 22756 + 22791 8 9 - 20392 + 20423 9 10 - 15006 + 15029 10 12 - 16651 + 16676 12 18 - 7215 + 7226 @@ -7282,67 +7266,67 @@ 1 2 - 34597 + 34650 2 3 - 25799 + 25838 3 4 - 18439 + 18468 4 5 - 16219 + 16244 5 6 - 12786 + 12806 6 7 - 12026 + 12044 7 8 - 10175 + 10191 8 9 - 10977 + 10994 9 10 - 10730 + 10747 10 11 - 10525 + 10541 11 12 - 10175 + 10191 12 14 - 15787 + 15812 14 24 - 11635 + 11653 @@ -7358,67 +7342,67 @@ 1 2 - 22140 + 22174 2 3 - 16199 + 16223 3 4 - 12951 + 12970 4 6 - 16075 + 16100 6 8 - 14698 + 14720 8 10 - 13197 + 13217 10 14 - 18295 + 18323 14 18 - 17021 + 17047 18 22 - 17576 + 17603 22 26 - 18501 + 18529 26 30 - 16384 + 16409 30 36 - 15232 + 15256 36 42 - 1603 + 1605 @@ -7439,7 +7423,7 @@ 2 3 - 143 + 144 3 @@ -7449,7 +7433,7 @@ 7 12 - 143 + 144 12 @@ -7459,37 +7443,37 @@ 21 53 - 143 + 144 54 74 - 143 + 144 78 92 - 143 + 144 92 134 - 143 + 144 134 228 - 143 + 144 228 2062 - 143 + 144 3245 40863 - 143 + 144 53257 @@ -7510,7 +7494,7 @@ 1 2 - 287 + 288 2 @@ -7530,42 +7514,42 @@ 8 13 - 143 + 144 13 18 - 143 + 144 18 22 - 143 + 144 22 24 - 143 + 144 24 29 - 143 + 144 33 42 - 143 + 144 47 109 - 143 + 144 116 150 - 143 + 144 @@ -7586,7 +7570,7 @@ 2 3 - 143 + 144 3 @@ -7596,7 +7580,7 @@ 7 12 - 143 + 144 12 @@ -7606,37 +7590,37 @@ 21 53 - 143 + 144 54 74 - 143 + 144 77 88 - 143 + 144 90 131 - 143 + 144 134 224 - 143 + 144 226 1699 - 143 + 144 2430 7900 - 143 + 144 8302 @@ -7662,7 +7646,7 @@ 2 3 - 143 + 144 3 @@ -7672,7 +7656,7 @@ 7 12 - 143 + 144 12 @@ -7682,37 +7666,37 @@ 21 53 - 143 + 144 54 74 - 143 + 144 77 88 - 143 + 144 90 130 - 143 + 144 134 221 - 143 + 144 226 1414 - 143 + 144 2290 7741 - 143 + 144 8096 @@ -7733,12 +7717,12 @@ 1 2 - 287 + 288 2 3 - 143 + 144 3 @@ -7758,7 +7742,7 @@ 8 11 - 143 + 144 11 @@ -7768,27 +7752,27 @@ 15 19 - 143 + 144 19 26 - 143 + 144 28 35 - 143 + 144 41 69 - 143 + 144 70 104 - 143 + 144 @@ -7804,67 +7788,67 @@ 1 2 - 17412 + 17438 2 3 - 14410 + 14432 3 4 - 11491 + 11509 4 6 - 15602 + 15626 6 8 - 12498 + 12517 8 11 - 15459 + 15482 11 15 - 14636 + 14659 15 21 - 16096 + 16120 21 27 - 15417 + 15441 27 34 - 14945 + 14967 34 42 - 15746 + 15770 42 52 - 16014 + 16038 52 130 - 14410 + 14432 @@ -7880,62 +7864,62 @@ 1 2 - 24956 + 24994 2 3 - 16137 + 16162 3 4 - 12766 + 12785 4 6 - 15664 + 15688 6 8 - 15006 + 15029 8 11 - 15890 + 15915 11 16 - 17453 + 17479 16 20 - 14595 + 14617 20 26 - 17165 + 17191 26 32 - 16260 + 16285 32 39 - 14862 + 14885 39 59 - 13382 + 13403 @@ -7951,62 +7935,62 @@ 1 2 - 32480 + 32530 2 3 - 23764 + 23800 3 4 - 18460 + 18488 4 5 - 15150 + 15173 5 6 - 13876 + 13897 6 7 - 11676 + 11694 7 8 - 11738 + 11756 8 9 - 10915 + 10932 9 10 - 10175 + 10191 10 12 - 17967 + 17994 12 15 - 17720 + 17747 15 100 - 10216 + 10232 @@ -8022,57 +8006,57 @@ 1 2 - 24956 + 24994 2 3 - 20392 + 20423 3 4 - 16836 + 16862 4 5 - 17802 + 17829 5 6 - 18583 + 18612 6 7 - 20433 + 20465 7 8 - 22427 + 22462 8 9 - 18748 + 18776 9 10 - 12930 + 12950 10 12 - 15027 + 15050 12 18 - 6002 + 6011 @@ -8088,67 +8072,67 @@ 1 2 - 24709 + 24747 2 3 - 16630 + 16656 3 4 - 12539 + 12559 4 6 - 17823 + 17850 6 8 - 15335 + 15359 8 10 - 12827 + 12847 10 13 - 14410 + 14432 13 16 - 15027 + 15050 16 19 - 14657 + 14679 19 22 - 14040 + 14062 22 26 - 17124 + 17150 26 31 - 15335 + 15359 31 39 - 3679 + 3685 @@ -8543,31 +8527,31 @@ locations_expr - 13168606 + 13188716 id - 13168606 + 13188716 container - 4645 + 4653 startLine - 191943 + 192236 startColumn - 2466 + 2470 endLine - 191922 + 192215 endColumn - 2795 + 2800 @@ -8581,7 +8565,7 @@ 1 2 - 13168606 + 13188716 @@ -8597,7 +8581,7 @@ 1 2 - 13168606 + 13188716 @@ -8613,7 +8597,7 @@ 1 2 - 13168606 + 13188716 @@ -8629,7 +8613,7 @@ 1 2 - 13168606 + 13188716 @@ -8645,7 +8629,7 @@ 1 2 - 13168606 + 13188716 @@ -8666,7 +8650,7 @@ 2 6 - 328 + 329 6 @@ -8681,47 +8665,47 @@ 27 96 - 349 + 350 100 514 - 349 + 350 525 1401 - 349 + 350 1526 2343 - 349 + 350 2404 3615 - 349 + 350 3668 5162 - 349 + 350 5341 7345 - 349 + 350 7399 9307 - 349 + 350 9382 16759 - 349 + 350 18811 @@ -8742,7 +8726,7 @@ 1 2 - 493 + 494 2 @@ -8757,47 +8741,47 @@ 10 20 - 349 + 350 20 51 - 349 + 350 65 151 - 349 + 350 161 360 - 349 + 350 361 577 - 349 + 350 590 923 - 349 + 350 928 1265 - 349 + 350 1268 1742 - 349 + 350 1781 2320 - 349 + 350 2491 @@ -8818,32 +8802,32 @@ 1 2 - 493 + 494 2 4 - 349 + 350 4 7 - 390 + 391 7 16 - 349 + 350 16 37 - 349 + 350 37 59 - 390 + 391 59 @@ -8904,7 +8888,7 @@ 1 2 - 493 + 494 2 @@ -8919,47 +8903,47 @@ 10 20 - 349 + 350 20 51 - 349 + 350 65 151 - 349 + 350 162 360 - 349 + 350 361 578 - 349 + 350 591 926 - 349 + 350 930 1266 - 349 + 350 1272 1742 - 349 + 350 1785 2324 - 349 + 350 2500 @@ -8985,7 +8969,7 @@ 2 4 - 328 + 329 4 @@ -8995,22 +8979,22 @@ 7 15 - 349 + 350 15 36 - 349 + 350 36 61 - 349 + 350 61 70 - 349 + 350 70 @@ -9020,7 +9004,7 @@ 73 75 - 328 + 329 75 @@ -9035,12 +9019,12 @@ 77 79 - 349 + 350 79 84 - 349 + 350 84 @@ -9061,67 +9045,67 @@ 1 5 - 16116 + 16141 5 9 - 16486 + 16512 9 15 - 16034 + 16059 15 23 - 15109 + 15132 23 32 - 15150 + 15173 32 44 - 15006 + 15029 44 60 - 14760 + 14782 60 80 - 14821 + 14844 80 103 - 14636 + 14659 103 130 - 14780 + 14803 130 159 - 14534 + 14556 159 194 - 14616 + 14638 194 302 - 9888 + 9903 @@ -9137,62 +9121,62 @@ 1 2 - 23517 + 23553 2 3 - 15623 + 15647 3 4 - 11347 + 11364 4 6 - 16363 + 16388 6 8 - 13629 + 13650 8 11 - 16445 + 16470 11 16 - 17350 + 17376 16 21 - 16445 + 16470 21 28 - 16651 + 16676 28 35 - 15808 + 15832 35 43 - 15849 + 15873 43 60 - 12909 + 12929 @@ -9208,62 +9192,62 @@ 1 4 - 15973 + 15997 4 7 - 17535 + 17562 7 11 - 16692 + 16718 11 16 - 17412 + 17438 16 21 - 17514 + 17541 21 26 - 15068 + 15091 26 31 - 16178 + 16203 31 36 - 17720 + 17747 36 40 - 15705 + 15729 40 44 - 16301 + 16326 44 49 - 16898 + 16923 49 63 - 8942 + 8956 @@ -9279,27 +9263,27 @@ 1 2 - 101964 + 102119 2 3 - 44629 + 44698 3 4 - 27649 + 27691 4 6 - 14575 + 14597 6 23 - 3124 + 3129 @@ -9315,62 +9299,62 @@ 1 4 - 16959 + 16985 4 7 - 16651 + 16676 7 11 - 16425 + 16450 11 16 - 16219 + 16244 16 21 - 16445 + 16470 21 27 - 16774 + 16800 27 33 - 16445 + 16470 33 38 - 14472 + 14494 38 43 - 15541 + 15565 43 47 - 14698 + 14720 47 52 - 16774 + 16800 52 65 - 14451 + 14473 65 @@ -9467,7 +9451,7 @@ 1 2 - 328 + 329 2 @@ -9477,7 +9461,7 @@ 3 4 - 143 + 144 4 @@ -9517,7 +9501,7 @@ 142 144 - 143 + 144 144 @@ -9700,7 +9684,7 @@ 1 2 - 328 + 329 2 @@ -9776,67 +9760,67 @@ 1 5 - 16137 + 16162 5 9 - 16486 + 16512 9 15 - 15808 + 15832 15 23 - 15089 + 15112 23 32 - 15644 + 15667 32 44 - 14739 + 14762 44 60 - 14492 + 14515 60 80 - 15253 + 15276 80 103 - 14534 + 14556 103 130 - 14760 + 14782 130 160 - 14883 + 14906 160 195 - 14554 + 14576 195 299 - 9538 + 9553 @@ -9852,67 +9836,67 @@ 1 2 - 23517 + 23553 2 3 - 15561 + 15585 3 4 - 11347 + 11364 4 6 - 16055 + 16079 6 8 - 13485 + 13506 8 11 - 16507 + 16532 11 15 - 14431 + 14453 15 20 - 16774 + 16800 20 26 - 14986 + 15009 26 33 - 16055 + 16079 33 40 - 14636 + 14659 40 49 - 14595 + 14617 49 60 - 3967 + 3973 @@ -9928,27 +9912,27 @@ 1 2 - 95488 + 95634 2 3 - 50015 + 50092 3 4 - 29376 + 29421 4 6 - 15602 + 15626 6 11 - 1439 + 1441 @@ -9964,62 +9948,62 @@ 1 4 - 15829 + 15853 4 7 - 17453 + 17479 7 11 - 16486 + 16512 11 16 - 17350 + 17376 16 21 - 17309 + 17335 21 26 - 15150 + 15173 26 31 - 16301 + 16326 31 36 - 17679 + 17706 36 40 - 15294 + 15317 40 44 - 16445 + 16470 44 49 - 16980 + 17006 49 63 - 9641 + 9656 @@ -10035,62 +10019,62 @@ 1 4 - 17185 + 17212 4 7 - 16795 + 16820 7 11 - 16425 + 16450 11 16 - 16877 + 16903 16 21 - 16014 + 16038 21 26 - 14513 + 14535 26 32 - 16158 + 16182 32 38 - 17494 + 17520 38 43 - 16137 + 16162 43 47 - 14472 + 14494 47 52 - 16569 + 16594 52 69 - 13280 + 13300 @@ -10121,7 +10105,7 @@ 10 16 - 246 + 247 16 @@ -10182,7 +10166,7 @@ 1 2 - 328 + 329 2 @@ -10222,12 +10206,12 @@ 137 142 - 246 + 247 142 147 - 143 + 144 147 @@ -10237,7 +10221,7 @@ 148 151 - 246 + 247 151 @@ -10268,7 +10252,7 @@ 4 8 - 246 + 247 8 @@ -10344,17 +10328,17 @@ 4 9 - 246 + 247 9 14 - 246 + 247 14 22 - 246 + 247 23 @@ -10415,7 +10399,7 @@ 4 8 - 246 + 247 8 @@ -10475,23 +10459,23 @@ numlines - 1380918 + 1382466 element_id - 1373930 + 1375469 num_lines - 101565 + 101679 num_code - 84793 + 84888 num_comment - 59634 + 59701 @@ -10505,12 +10489,12 @@ 1 2 - 1366941 + 1368473 2 3 - 6988 + 6996 @@ -10526,12 +10510,12 @@ 1 2 - 1367873 + 1369406 2 3 - 6056 + 6063 @@ -10547,7 +10531,7 @@ 1 2 - 1373930 + 1375469 @@ -10563,27 +10547,27 @@ 1 2 - 68020 + 68097 2 3 - 12113 + 12126 3 4 - 7454 + 7462 4 21 - 7920 + 7929 29 921 - 6056 + 6063 @@ -10599,27 +10583,27 @@ 1 2 - 70350 + 70429 2 3 - 12113 + 12126 3 4 - 8386 + 8395 4 6 - 9317 + 9328 6 7 - 1397 + 1399 @@ -10635,22 +10619,22 @@ 1 2 - 69418 + 69496 2 3 - 14908 + 14925 3 4 - 10715 + 10727 4 7 - 6522 + 6529 @@ -10666,27 +10650,27 @@ 1 2 - 52646 + 52705 2 3 - 14442 + 14458 3 5 - 6522 + 6529 5 42 - 6522 + 6529 44 922 - 4658 + 4664 @@ -10702,27 +10686,27 @@ 1 2 - 52646 + 52705 2 3 - 16772 + 16791 3 5 - 6056 + 6063 5 8 - 6522 + 6529 8 12 - 2795 + 2798 @@ -10738,27 +10722,27 @@ 1 2 - 53112 + 53171 2 3 - 15840 + 15858 3 5 - 7454 + 7462 5 7 - 5124 + 5130 7 10 - 3261 + 3264 @@ -10774,32 +10758,32 @@ 1 2 - 34476 + 34515 2 3 - 9317 + 9328 3 4 - 4193 + 4197 4 6 - 4658 + 4664 6 11 - 5124 + 5130 17 2596 - 1863 + 1865 @@ -10815,32 +10799,32 @@ 1 2 - 34476 + 34515 2 3 - 9317 + 9328 3 4 - 4193 + 4197 4 6 - 4658 + 4664 6 8 - 4658 + 4664 10 38 - 2329 + 2332 @@ -10856,32 +10840,32 @@ 1 2 - 34476 + 34515 2 3 - 9317 + 9328 3 4 - 4193 + 4197 4 6 - 4658 + 4664 6 10 - 4658 + 4664 10 37 - 2329 + 2332 @@ -10891,11 +10875,11 @@ diagnostics - 5192 + 5013 id - 5192 + 5013 severity @@ -10903,19 +10887,19 @@ error_tag - 39 + 38 error_message - 414 + 400 full_error_message - 4362 + 4213 location - 177 + 171 @@ -10929,7 +10913,7 @@ 1 2 - 5192 + 5013 @@ -10945,7 +10929,7 @@ 1 2 - 5192 + 5013 @@ -10961,7 +10945,7 @@ 1 2 - 5192 + 5013 @@ -10977,7 +10961,7 @@ 1 2 - 5192 + 5013 @@ -10993,7 +10977,7 @@ 1 2 - 5192 + 5013 @@ -11110,7 +11094,7 @@ 1 2 - 39 + 38 @@ -11189,17 +11173,17 @@ 1 2 - 118 + 114 2 3 - 157 + 152 3 4 - 78 + 76 43 @@ -11209,7 +11193,7 @@ 93 94 - 39 + 38 @@ -11225,7 +11209,7 @@ 1 2 - 414 + 400 @@ -11241,7 +11225,7 @@ 1 2 - 414 + 400 @@ -11257,22 +11241,22 @@ 1 2 - 138 + 133 2 3 - 157 + 152 3 4 - 78 + 76 93 94 - 39 + 38 @@ -11288,22 +11272,22 @@ 1 2 - 177 + 171 2 3 - 118 + 114 3 4 - 78 + 76 4 5 - 39 + 38 @@ -11319,7 +11303,7 @@ 1 2 - 4343 + 4194 43 @@ -11340,7 +11324,7 @@ 1 2 - 4362 + 4213 @@ -11356,7 +11340,7 @@ 1 2 - 4362 + 4213 @@ -11372,7 +11356,7 @@ 1 2 - 4362 + 4213 @@ -11388,7 +11372,7 @@ 1 2 - 4362 + 4213 @@ -11404,17 +11388,17 @@ 6 7 - 39 + 38 22 23 - 39 + 38 41 42 - 78 + 76 43 @@ -11435,7 +11419,7 @@ 1 2 - 177 + 171 @@ -11451,7 +11435,7 @@ 1 2 - 177 + 171 @@ -11472,17 +11456,17 @@ 3 4 - 39 + 38 5 6 - 39 + 38 6 7 - 78 + 76 @@ -11503,17 +11487,17 @@ 6 7 - 39 + 38 22 23 - 39 + 38 41 42 - 78 + 76 @@ -11523,15 +11507,15 @@ files - 122996 + 123134 id - 122996 + 123134 name - 122996 + 123134 @@ -11545,7 +11529,7 @@ 1 2 - 122996 + 123134 @@ -11561,7 +11545,7 @@ 1 2 - 122996 + 123134 @@ -11571,15 +11555,15 @@ folders - 15374 + 16324 id - 15374 + 16324 name - 15374 + 16324 @@ -11593,7 +11577,7 @@ 1 2 - 15374 + 16324 @@ -11609,7 +11593,7 @@ 1 2 - 15374 + 16324 @@ -11619,15 +11603,15 @@ containerparent - 137439 + 138526 parent - 15374 + 16324 child - 137439 + 138526 @@ -11641,32 +11625,32 @@ 1 2 - 6522 + 7462 2 3 - 3261 + 3264 3 - 5 - 1397 + 4 + 1399 - 5 + 4 12 - 1397 + 1399 23 28 - 1397 + 1399 40 67 - 1397 + 1399 @@ -11682,7 +11666,7 @@ 1 2 - 137439 + 138526 @@ -11692,11 +11676,11 @@ fileannotations - 5104924 + 5084962 id - 4875 + 4856 kind @@ -11704,11 +11688,11 @@ name - 54511 + 54298 value - 45826 + 45647 @@ -11722,12 +11706,12 @@ 1 2 - 168 + 167 2 3 - 4707 + 4688 @@ -11743,42 +11727,42 @@ 1 102 - 381 + 380 102 225 - 370 + 369 227 299 - 370 + 369 301 452 - 393 + 391 452 555 - 370 + 369 559 626 - 370 + 369 626 716 - 370 + 369 729 904 - 370 + 369 904 @@ -11788,12 +11772,12 @@ 936 937 - 1415 + 1410 1083 2036 - 370 + 369 2293 @@ -11814,52 +11798,52 @@ 1 114 - 381 + 380 114 275 - 370 + 369 275 363 - 370 + 369 393 638 - 370 + 369 643 744 - 370 + 369 751 955 - 370 + 369 955 1087 - 370 + 369 1088 1501 - 247 + 246 1501 1502 - 1415 + 1410 1504 1874 - 370 + 369 1972 @@ -11943,62 +11927,62 @@ 1 2 - 8819 + 8784 2 3 - 6190 + 6166 3 5 - 4156 + 4140 5 9 - 4246 + 4230 9 14 - 3965 + 3950 14 18 - 4156 + 4140 18 20 - 4696 + 4677 20 34 - 4201 + 4185 34 128 - 4482 + 4465 128 229 - 4100 + 4084 229 387 - 4224 + 4207 387 434 - 1269 + 1264 @@ -12014,7 +11998,7 @@ 1 2 - 54511 + 54298 @@ -12030,62 +12014,62 @@ 1 2 - 8830 + 8796 2 3 - 8021 + 7990 3 4 - 2550 + 2540 4 6 - 4493 + 4476 6 9 - 4111 + 4095 9 14 - 4190 + 4174 14 17 - 4111 + 4095 17 22 - 4572 + 4554 22 41 - 4190 + 4174 41 82 - 4145 + 4129 82 157 - 4089 + 4073 158 1895 - 1202 + 1197 @@ -12101,67 +12085,67 @@ 1 2 - 7122 + 7095 2 5 - 2224 + 2215 5 8 - 3314 + 3301 8 15 - 3516 + 3502 15 17 - 2527 + 2517 17 19 - 4123 + 4107 19 34 - 3314 + 3301 34 189 - 3606 + 3592 189 201 - 3595 + 3581 201 266 - 3538 + 3525 266 321 - 3662 + 3648 322 399 - 3932 + 3916 399 435 - 1348 + 1342 @@ -12177,7 +12161,7 @@ 1 2 - 45815 + 45636 2 @@ -12198,67 +12182,67 @@ 1 2 - 7145 + 7117 2 5 - 2572 + 2562 5 8 - 3494 + 3480 8 15 - 3538 + 3525 15 17 - 2819 + 2808 17 19 - 3572 + 3558 19 29 - 3494 + 3480 29 39 - 3651 + 3637 39 48 - 3595 + 3581 48 74 - 3550 + 3536 74 102 - 3437 + 3424 102 119 - 3583 + 3569 119 146 - 1370 + 1365 @@ -12268,15 +12252,15 @@ inmacroexpansion - 109622207 + 109785545 id - 18001590 + 18028412 inv - 2696311 + 2700329 @@ -12290,37 +12274,37 @@ 1 3 - 1579695 + 1582049 3 5 - 1076257 + 1077861 5 6 - 1183189 + 1184952 6 7 - 4813034 + 4820205 7 8 - 6376831 + 6386332 8 9 - 2601529 + 2605405 9 21 - 371052 + 371604 @@ -12336,57 +12320,57 @@ 1 2 - 377884 + 378447 2 3 - 543330 + 544135 3 4 - 351012 + 351535 4 7 - 200372 + 200670 7 8 - 206856 + 207164 8 9 - 241543 + 241902 9 10 - 2207 + 2210 10 11 - 325021 + 325505 11 337 - 224525 + 224864 339 423 - 206058 + 206365 423 7616 - 17499 + 17525 @@ -12396,15 +12380,15 @@ affectedbymacroexpansion - 35638060 + 35691161 id - 5149370 + 5157043 inv - 2780793 + 2784936 @@ -12418,37 +12402,37 @@ 1 2 - 2811908 + 2816098 2 3 - 559328 + 560161 3 4 - 264527 + 264922 4 5 - 564985 + 565827 5 12 - 391343 + 391926 12 50 - 406819 + 407425 50 9900 - 150457 + 150681 @@ -12464,67 +12448,67 @@ 1 4 - 228789 + 229130 4 7 - 231457 + 231802 7 9 - 220163 + 220491 9 12 - 250729 + 251102 12 13 - 333500 + 333997 13 14 - 165351 + 165598 14 15 - 298417 + 298861 15 16 - 121669 + 121850 16 17 - 276213 + 276624 17 18 - 146730 + 146949 18 20 - 251774 + 252149 20 25 - 208680 + 208991 25 109 - 47316 + 47386 @@ -12534,19 +12518,19 @@ macroinvocations - 33332083 + 33202987 id - 33332083 + 33202987 macro_id - 79104 + 78795 location - 756755 + 753796 kind @@ -12564,7 +12548,7 @@ 1 2 - 33332083 + 33202987 @@ -12580,7 +12564,7 @@ 1 2 - 33332083 + 33202987 @@ -12596,7 +12580,7 @@ 1 2 - 33332083 + 33202987 @@ -12612,57 +12596,57 @@ 1 2 - 16178 + 16114 2 3 - 16492 + 16428 3 4 - 3100 + 3088 4 5 - 5246 + 5226 5 8 - 5662 + 5640 8 13 - 6078 + 6054 13 26 - 6156 + 6121 26 61 - 6033 + 6009 61 - 200 - 5954 + 199 + 5919 - 200 + 199 1697 - 5965 + 5964 1716 168807 - 2235 + 2226 @@ -12678,37 +12662,37 @@ 1 2 - 42265 + 42100 2 3 - 10347 + 10306 3 4 - 5134 + 5114 4 6 - 6808 + 6781 6 13 - 6448 + 6423 13 66 - 5976 + 5953 66 3614 - 2123 + 2115 @@ -12724,12 +12708,12 @@ 1 2 - 73397 + 73110 2 3 - 5707 + 5684 @@ -12745,42 +12729,37 @@ 1 2 - 279881 + 278787 2 3 - 168814 + 168154 3 4 - 70419 + 70144 4 5 - 60005 + 59770 5 - 8 - 53679 + 9 + 69786 - 8 - 17 - 62544 + 9 + 21 + 58595 - 17 - 525 - 56769 - - - 534 + 21 244764 - 4639 + 48557 @@ -12796,12 +12775,12 @@ 1 2 - 710804 + 708025 2 350 - 45950 + 45770 @@ -12817,7 +12796,7 @@ 1 2 - 756755 + 753796 @@ -12836,8 +12815,8 @@ 11 - 2946191 - 2946192 + 2946302 + 2946303 11 @@ -12890,15 +12869,15 @@ macroparent - 29807887 + 29691721 id - 29807887 + 29691721 parent_id - 23175993 + 23085760 @@ -12912,7 +12891,7 @@ 1 2 - 29807887 + 29691721 @@ -12928,17 +12907,17 @@ 1 2 - 17907074 + 17837443 2 3 - 4438249 + 4420895 3 88 - 830669 + 827421 @@ -12948,15 +12927,15 @@ macrolocationbind - 4037867 + 4044034 id - 2826997 + 2831314 location - 2018105 + 2021186 @@ -12970,22 +12949,22 @@ 1 2 - 2226651 + 2230051 2 3 - 340625 + 341145 3 7 - 230187 + 230539 7 57 - 29533 + 29578 @@ -13001,22 +12980,22 @@ 1 2 - 1608661 + 1611118 2 3 - 177421 + 177692 3 8 - 156639 + 156878 8 723 - 75382 + 75497 @@ -13026,19 +13005,19 @@ macro_argument_unexpanded - 84144991 + 83818746 invocation - 26089756 + 25989002 argument_index - 741 + 738 text - 316788 + 315549 @@ -13052,22 +13031,22 @@ 1 2 - 7397659 + 7368800 2 3 - 10622885 + 10582220 3 4 - 6109677 + 6086111 4 67 - 1959533 + 1951870 @@ -13083,22 +13062,22 @@ 1 2 - 7467484 + 7438351 2 3 - 10768736 + 10727500 3 4 - 5944143 + 5921224 4 67 - 1909392 + 1901925 @@ -13114,16 +13093,16 @@ 41230 41231 - 651 + 649 41432 174417 - 56 + 55 - 718232 - 2322223 + 718261 + 2322336 33 @@ -13140,12 +13119,12 @@ 2 3 - 651 + 649 13 995 - 56 + 55 6559 @@ -13166,57 +13145,57 @@ 1 2 - 34906 + 34770 2 3 - 60971 + 60732 3 4 - 17661 + 17592 4 5 - 44849 + 44674 5 7 - 23885 + 23713 7 12 - 18402 + 18364 12 16 - 21503 + 21430 16 23 - 24851 + 24765 23 42 - 24199 + 24116 42 129 - 23963 + 23870 129 522417 - 21593 + 21520 @@ -13232,17 +13211,17 @@ 1 2 - 229100 + 228204 2 3 - 77452 + 77150 3 9 - 10234 + 10194 @@ -13252,19 +13231,19 @@ macro_argument_expanded - 84144991 + 83818746 invocation - 26089756 + 25989002 argument_index - 741 + 738 text - 191980 + 191229 @@ -13278,22 +13257,22 @@ 1 2 - 7397659 + 7368800 2 3 - 10622885 + 10582220 3 4 - 6109677 + 6086111 4 67 - 1959533 + 1951870 @@ -13309,22 +13288,22 @@ 1 2 - 10638704 + 10597171 2 3 - 9157482 + 9122547 3 4 - 5183073 + 5163131 4 9 - 1110494 + 1106152 @@ -13340,16 +13319,16 @@ 41230 41231 - 651 + 649 41432 174417 - 56 + 55 - 718232 - 2322223 + 718261 + 2322336 33 @@ -13366,12 +13345,12 @@ 1 2 - 640 + 637 2 76 - 56 + 55 870 @@ -13392,62 +13371,62 @@ 1 2 - 20694 + 20613 2 3 - 37131 + 36985 3 4 - 9021 + 8986 4 5 - 16301 + 16237 5 6 - 2471 + 2394 6 7 - 22750 + 22650 7 9 - 14695 + 14671 9 14 - 11976 + 11940 14 19 - 14504 + 14425 19 - 49 - 15739 + 48 + 14346 - 49 - 169 - 14414 + 48 + 151 + 14357 - 169 + 152 1060462 - 12279 + 13619 @@ -13463,17 +13442,17 @@ 1 2 - 97158 + 96778 2 3 - 80486 + 80171 3 66 - 14335 + 14279 @@ -13483,19 +13462,19 @@ functions - 4640799 + 4646000 id - 4640799 + 4646000 name - 1915302 + 1916982 kind - 3261 + 3264 @@ -13509,7 +13488,7 @@ 1 2 - 4640799 + 4646000 @@ -13525,7 +13504,7 @@ 1 2 - 4640799 + 4646000 @@ -13541,22 +13520,22 @@ 1 2 - 1502983 + 1504201 2 3 - 151882 + 152052 3 5 - 150018 + 150186 5 1676 - 110417 + 110541 @@ -13572,12 +13551,12 @@ 1 2 - 1914836 + 1916516 2 3 - 465 + 466 @@ -13593,37 +13572,37 @@ 4 5 - 465 + 466 64 65 - 465 + 466 173 174 - 465 + 466 195 196 - 465 + 466 1354 1355 - 465 + 466 2382 2383 - 465 + 466 5789 5790 - 465 + 466 @@ -13639,37 +13618,37 @@ 2 3 - 465 + 466 33 34 - 465 + 466 - 39 - 40 - 465 + 38 + 39 + 466 94 95 - 465 + 466 195 196 - 465 + 466 245 246 - 465 + 466 3504 3505 - 465 + 466 @@ -13679,15 +13658,15 @@ function_entry_point - 1155424 + 1156719 id - 1145640 + 1146924 entry_point - 1155424 + 1156719 @@ -13701,12 +13680,12 @@ 1 2 - 1135856 + 1137129 2 3 - 9783 + 9794 @@ -13722,7 +13701,7 @@ 1 2 - 1155424 + 1156719 @@ -13732,15 +13711,15 @@ function_return_type - 4645924 + 4651131 id - 4640799 + 4646000 return_type - 986303 + 987409 @@ -13754,12 +13733,12 @@ 1 2 - 4635674 + 4640870 2 3 - 5124 + 5130 @@ -13775,22 +13754,22 @@ 1 2 - 509691 + 510262 2 3 - 375512 + 375933 3 10 - 75009 + 75093 10 2516 - 26090 + 26119 @@ -13808,7 +13787,7 @@ traits - 2 + 1 handle @@ -13876,9 +13855,9 @@ 12 - 1 - 2 - 2 + 2 + 3 + 1 @@ -13892,9 +13871,9 @@ 12 - 1 - 2 - 2 + 2 + 3 + 1 @@ -13908,9 +13887,9 @@ 12 - 1 - 2 - 2 + 2 + 3 + 1 @@ -14112,59 +14091,59 @@ purefunctions - 100915 + 100917 id - 100915 + 100917 function_deleted - 137439 + 137593 id - 137439 + 137593 function_defaulted - 73611 + 73694 id - 73611 + 73694 function_prototyped - 4549018 + 4554116 id - 4549018 + 4554116 member_function_this_type - 551738 + 546094 id - 551738 + 546094 this_type - 189340 + 187436 @@ -14178,7 +14157,7 @@ 1 2 - 551738 + 546094 @@ -14194,32 +14173,32 @@ 1 2 - 68329 + 67674 2 3 - 45365 + 44849 3 4 - 30454 + 30201 4 5 - 15508 + 15344 5 7 - 15543 + 15379 7 66 - 14137 + 13987 @@ -14229,27 +14208,27 @@ fun_decls - 5009324 + 5014938 id - 5004199 + 5009807 function - 4497303 + 4502343 type_id - 984906 + 986009 name - 1817930 + 1819500 location - 3414558 + 3418385 @@ -14263,7 +14242,7 @@ 1 2 - 5004199 + 5009807 @@ -14279,12 +14258,12 @@ 1 2 - 4999074 + 5004676 2 3 - 5124 + 5130 @@ -14300,7 +14279,7 @@ 1 2 - 5004199 + 5009807 @@ -14316,7 +14295,7 @@ 1 2 - 5004199 + 5009807 @@ -14332,17 +14311,17 @@ 1 2 - 4069144 + 4073704 2 3 - 355479 + 355877 3 7 - 72679 + 72761 @@ -14358,12 +14337,12 @@ 1 2 - 4457702 + 4462697 2 3 - 39601 + 39645 @@ -14379,7 +14358,7 @@ 1 2 - 4497303 + 4502343 @@ -14395,17 +14374,17 @@ 1 2 - 4125517 + 4130141 2 4 - 370853 + 371269 5 6 - 931 + 932 @@ -14421,22 +14400,22 @@ 1 2 - 435147 + 435635 2 3 - 437943 + 438433 3 8 - 75009 + 75093 8 2761 - 36805 + 36847 @@ -14452,22 +14431,22 @@ 1 2 - 519009 + 519590 2 3 - 367126 + 367538 3 11 - 75475 + 75559 11 2477 - 23294 + 23320 @@ -14483,17 +14462,17 @@ 1 2 - 857716 + 858677 2 5 - 89452 + 89552 5 823 - 37737 + 37779 @@ -14509,22 +14488,22 @@ 1 2 - 753821 + 754666 2 3 - 131382 + 131530 3 10 - 74543 + 74627 10 2030 - 25158 + 25186 @@ -14540,27 +14519,27 @@ 1 2 - 1233695 + 1234611 2 3 - 266493 + 266791 3 4 - 80600 + 80690 4 6 - 136507 + 136660 6 1710 - 100633 + 100746 @@ -14576,22 +14555,22 @@ 1 2 - 1412599 + 1413716 2 3 - 150950 + 151119 3 5 - 143962 + 144123 5 1660 - 110417 + 110541 @@ -14607,17 +14586,17 @@ 1 2 - 1600356 + 1601216 2 4 - 134178 + 134795 4 930 - 83395 + 83489 @@ -14633,27 +14612,27 @@ 1 2 - 1254660 + 1255600 2 3 - 293515 + 293377 3 4 - 79202 + 79757 4 8 - 137439 + 137593 8 653 - 53112 + 53171 @@ -14669,17 +14648,17 @@ 1 2 - 2958911 + 2962227 2 4 - 295844 + 296176 4 55 - 159802 + 159981 @@ -14695,17 +14674,17 @@ 1 2 - 3026000 + 3029392 2 6 - 262299 + 262593 6 55 - 126258 + 126399 @@ -14721,12 +14700,12 @@ 1 2 - 3204905 + 3208496 2 25 - 209653 + 209888 @@ -14742,12 +14721,12 @@ 1 2 - 3242642 + 3246276 2 13 - 171915 + 172108 @@ -14757,22 +14736,22 @@ fun_def - 1933006 + 1935172 id - 1933006 + 1935172 fun_specialized - 26090 + 26119 id - 26090 + 26119 @@ -14790,15 +14769,15 @@ fun_decl_specifiers - 2900674 + 2903925 id - 1686081 + 1687970 name - 2795 + 2798 @@ -14812,17 +14791,17 @@ 1 2 - 490123 + 490672 2 3 - 1177321 + 1178641 3 4 - 18635 + 18656 @@ -14838,32 +14817,32 @@ 50 51 - 465 + 466 203 204 - 465 + 466 209 210 - 465 + 466 639 640 - 465 + 466 2561 2562 - 465 + 466 2564 2565 - 465 + 466 @@ -14994,26 +14973,26 @@ fun_decl_empty_throws - 1931608 + 1933773 fun_decl - 1931608 + 1933773 fun_decl_noexcept - 61011 + 60559 fun_decl - 61011 + 60559 constant - 60907 + 60456 @@ -15027,7 +15006,7 @@ 1 2 - 61011 + 60559 @@ -15043,12 +15022,12 @@ 1 2 - 60803 + 60352 2 3 - 104 + 103 @@ -15058,22 +15037,22 @@ fun_decl_empty_noexcept - 868897 + 869871 fun_decl - 868897 + 869871 fun_decl_typedef_type - 2870 + 2867 fun_decl - 2870 + 2867 typedeftype_id @@ -15091,7 +15070,7 @@ 1 2 - 2870 + 2867 @@ -15167,19 +15146,19 @@ param_decl_bind - 7371421 + 7379682 id - 7371421 + 7379682 index - 7920 + 7929 fun_decl - 4218231 + 4222958 @@ -15193,7 +15172,7 @@ 1 2 - 7371421 + 7379682 @@ -15209,7 +15188,7 @@ 1 2 - 7371421 + 7379682 @@ -15225,72 +15204,72 @@ 2 3 - 931 + 932 5 6 - 465 + 466 7 8 - 465 + 466 10 11 - 931 + 932 11 12 - 465 + 466 12 13 - 931 + 932 13 14 - 465 + 466 25 26 - 465 + 466 78 79 - 465 + 466 245 246 - 465 + 466 636 637 - 465 + 466 1713 1714 - 465 + 466 3987 3988 - 465 + 466 9054 9055 - 465 + 466 @@ -15306,72 +15285,72 @@ 2 3 - 931 + 932 5 6 - 465 + 466 7 8 - 465 + 466 10 11 - 931 + 932 11 12 - 465 + 466 12 13 - 931 + 932 13 14 - 465 + 466 25 26 - 465 + 466 78 79 - 465 + 466 245 246 - 465 + 466 636 637 - 465 + 466 1713 1714 - 465 + 466 3987 3988 - 465 + 466 9054 9055 - 465 + 466 @@ -15387,22 +15366,22 @@ 1 2 - 2360699 + 2363345 2 3 - 1059449 + 1060637 3 4 - 501771 + 502333 4 18 - 296310 + 296642 @@ -15418,22 +15397,22 @@ 1 2 - 2360699 + 2363345 2 3 - 1059449 + 1060637 3 4 - 501771 + 502333 4 18 - 296310 + 296642 @@ -15443,27 +15422,27 @@ var_decls - 8484449 + 8493958 id - 8413633 + 8423062 variable - 7403568 + 7411865 type_id - 2381665 + 2384334 name - 666232 + 666979 location - 5300975 + 5306916 @@ -15477,7 +15456,7 @@ 1 2 - 8413633 + 8423062 @@ -15493,12 +15472,12 @@ 1 2 - 8345612 + 8354965 2 3 - 68020 + 68097 @@ -15514,7 +15493,7 @@ 1 2 - 8413633 + 8423062 @@ -15530,12 +15509,12 @@ 1 2 - 8410838 + 8420264 2 3 - 2795 + 2798 @@ -15551,17 +15530,17 @@ 1 2 - 6553306 + 6560651 2 3 - 696981 + 697762 3 7 - 153280 + 153451 @@ -15577,12 +15556,12 @@ 1 2 - 7232584 + 7240690 2 4 - 170984 + 171175 @@ -15598,12 +15577,12 @@ 1 2 - 7288492 + 7296660 2 3 - 115076 + 115205 @@ -15619,12 +15598,12 @@ 1 2 - 6859401 + 6867088 2 4 - 544167 + 544777 @@ -15640,27 +15619,27 @@ 1 2 - 1467575 + 1469220 2 3 - 508759 + 509329 3 4 - 97838 + 97948 4 7 - 186824 + 187034 7 762 - 120667 + 120802 @@ -15676,22 +15655,22 @@ 1 2 - 1600822 + 1602616 2 3 - 484066 + 484609 3 7 - 186358 + 186567 7 724 - 110417 + 110541 @@ -15707,17 +15686,17 @@ 1 2 - 1875235 + 1877336 2 3 - 384365 + 384795 3 128 - 122065 + 122201 @@ -15733,22 +15712,22 @@ 1 2 - 1703319 + 1705228 2 3 - 401137 + 401586 3 8 - 188222 + 188433 8 592 - 88986 + 89086 @@ -15764,37 +15743,37 @@ 1 2 - 340570 + 340952 2 3 - 86656 + 86753 3 4 - 48453 + 48507 4 6 - 51714 + 51772 6 12 - 52180 + 52238 12 33 - 50316 + 50373 34 3223 - 36339 + 36380 @@ -15810,37 +15789,37 @@ 1 2 - 368058 + 368471 2 3 - 77804 + 77891 3 4 - 45192 + 45242 4 6 - 49385 + 49440 6 14 - 53112 + 53171 14 56 - 50782 + 50839 56 3140 - 21897 + 21921 @@ -15856,27 +15835,27 @@ 1 2 - 456113 + 456624 2 3 - 93645 + 93750 3 5 - 46589 + 46641 5 19 - 50782 + 50839 19 1927 - 19101 + 19123 @@ -15892,32 +15871,32 @@ 1 2 - 378308 + 378732 2 3 - 90384 + 90485 3 5 - 59634 + 59701 5 9 - 51248 + 51306 9 21 - 50316 + 50373 21 1010 - 36339 + 36380 @@ -15933,17 +15912,17 @@ 1 2 - 4487053 + 4492082 2 3 - 530656 + 531251 3 1735 - 283265 + 283582 @@ -15959,17 +15938,17 @@ 1 2 - 4875611 + 4881075 2 17 - 414648 + 415112 17 1731 - 10715 + 10727 @@ -15985,12 +15964,12 @@ 1 2 - 4951553 + 4957102 2 1513 - 349422 + 349814 @@ -16006,12 +15985,12 @@ 1 2 - 5291657 + 5297588 2 6 - 9317 + 9328 @@ -16021,26 +16000,26 @@ var_def - 4020225 + 4024730 id - 4020225 + 4024730 var_decl_specifiers - 310287 + 310635 id - 310287 + 310635 name - 1397 + 1399 @@ -16054,7 +16033,7 @@ 1 2 - 310287 + 310635 @@ -16070,17 +16049,17 @@ 15 16 - 465 + 466 66 67 - 465 + 466 585 586 - 465 + 466 @@ -16101,19 +16080,19 @@ type_decls - 3238449 + 3242079 id - 3238449 + 3242079 type_id - 3188133 + 3191705 location - 3159713 + 3163254 @@ -16127,7 +16106,7 @@ 1 2 - 3238449 + 3242079 @@ -16143,7 +16122,7 @@ 1 2 - 3238449 + 3242079 @@ -16159,12 +16138,12 @@ 1 2 - 3146668 + 3150194 2 5 - 41464 + 41511 @@ -16180,12 +16159,12 @@ 1 2 - 3146668 + 3150194 2 5 - 41464 + 41511 @@ -16201,12 +16180,12 @@ 1 2 - 3119646 + 3123142 2 20 - 40067 + 40112 @@ -16222,12 +16201,12 @@ 1 2 - 3119646 + 3123142 2 20 - 40067 + 40112 @@ -16237,33 +16216,33 @@ type_def - 2621602 + 2624540 id - 2621602 + 2624540 type_decl_top - 742173 + 743005 type_decl - 742173 + 743005 namespace_decls - 311526 + 311530 id - 311526 + 311530 namespace_id @@ -16271,11 +16250,11 @@ location - 311526 + 311530 bodylocation - 311526 + 311530 @@ -16289,7 +16268,7 @@ 1 2 - 311526 + 311530 @@ -16305,7 +16284,7 @@ 1 2 - 311526 + 311530 @@ -16321,7 +16300,7 @@ 1 2 - 311526 + 311530 @@ -16535,7 +16514,7 @@ 1 2 - 311526 + 311530 @@ -16551,7 +16530,7 @@ 1 2 - 311526 + 311530 @@ -16567,7 +16546,7 @@ 1 2 - 311526 + 311530 @@ -16583,7 +16562,7 @@ 1 2 - 311526 + 311530 @@ -16599,7 +16578,7 @@ 1 2 - 311526 + 311530 @@ -16615,7 +16594,7 @@ 1 2 - 311526 + 311530 @@ -16625,19 +16604,19 @@ usings - 368990 + 369403 id - 368990 + 369403 element_id - 314946 + 315299 location - 247391 + 247668 @@ -16651,7 +16630,7 @@ 1 2 - 368990 + 369403 @@ -16667,7 +16646,7 @@ 1 2 - 368990 + 369403 @@ -16683,17 +16662,17 @@ 1 2 - 262765 + 263060 2 3 - 50782 + 50839 3 5 - 1397 + 1399 @@ -16709,17 +16688,17 @@ 1 2 - 262765 + 263060 2 3 - 50782 + 50839 3 5 - 1397 + 1399 @@ -16735,22 +16714,22 @@ 1 2 - 202199 + 202425 2 4 - 10715 + 10727 4 5 - 31215 + 31250 5 11 - 3261 + 3264 @@ -16766,22 +16745,22 @@ 1 2 - 202199 + 202425 2 4 - 10715 + 10727 4 5 - 31215 + 31250 5 11 - 3261 + 3264 @@ -16791,15 +16770,15 @@ using_container - 464571 + 462754 parent - 10998 + 10955 child - 294577 + 293425 @@ -16813,42 +16792,42 @@ 1 2 - 3280 + 3267 2 4 - 932 + 928 4 6 - 415 + 414 6 7 - 2482 + 2473 7 17 - 898 + 895 19 143 - 763 + 760 178 179 - 1292 + 1286 179 183 - 853 + 850 201 @@ -16869,22 +16848,22 @@ 1 2 - 217270 + 216420 2 3 - 51477 + 51276 3 11 - 23705 + 23612 13 41 - 2123 + 2115 @@ -16894,15 +16873,15 @@ static_asserts - 134653 + 134655 id - 134653 + 134655 condition - 134653 + 134655 message @@ -16928,7 +16907,7 @@ 1 2 - 134653 + 134655 @@ -16944,7 +16923,7 @@ 1 2 - 134653 + 134655 @@ -16960,7 +16939,7 @@ 1 2 - 134653 + 134655 @@ -16976,7 +16955,7 @@ 1 2 - 134653 + 134655 @@ -16992,7 +16971,7 @@ 1 2 - 134653 + 134655 @@ -17008,7 +16987,7 @@ 1 2 - 134653 + 134655 @@ -17024,7 +17003,7 @@ 1 2 - 134653 + 134655 @@ -17040,7 +17019,7 @@ 1 2 - 134653 + 134655 @@ -17502,23 +17481,23 @@ params - 6732211 + 6739755 id - 6568681 + 6576042 function - 3875331 + 3879674 index - 7920 + 7929 type_id - 2186454 + 2188904 @@ -17532,7 +17511,7 @@ 1 2 - 6568681 + 6576042 @@ -17548,7 +17527,7 @@ 1 2 - 6568681 + 6576042 @@ -17564,12 +17543,12 @@ 1 2 - 6445218 + 6452441 2 4 - 123462 + 123601 @@ -17585,22 +17564,22 @@ 1 2 - 2254475 + 2257002 2 3 - 950895 + 951961 3 4 - 429091 + 429571 4 18 - 240868 + 241138 @@ -17616,22 +17595,22 @@ 1 2 - 2254475 + 2257002 2 3 - 950895 + 951961 3 4 - 429091 + 429571 4 18 - 240868 + 241138 @@ -17647,22 +17626,22 @@ 1 2 - 2552183 + 2555043 2 3 - 825103 + 826028 3 4 - 345695 + 346082 4 12 - 152348 + 152519 @@ -17678,72 +17657,72 @@ 2 3 - 931 + 932 4 5 - 465 + 466 6 7 - 465 + 466 8 9 - 931 + 932 9 10 - 465 + 466 10 11 - 931 + 932 11 12 - 465 + 466 19 20 - 465 + 466 64 65 - 465 + 466 194 195 - 465 + 466 517 518 - 465 + 466 1438 1439 - 465 + 466 3479 3480 - 465 + 466 8318 8319 - 465 + 466 @@ -17759,72 +17738,72 @@ 2 3 - 931 + 932 4 5 - 465 + 466 6 7 - 465 + 466 8 9 - 931 + 932 9 10 - 465 + 466 10 11 - 931 + 932 11 12 - 465 + 466 19 20 - 465 + 466 64 65 - 465 + 466 194 195 - 465 + 466 517 518 - 465 + 466 1438 1439 - 465 + 466 3479 3480 - 465 + 466 8318 8319 - 465 + 466 @@ -17840,67 +17819,67 @@ 1 2 - 931 + 932 3 4 - 465 + 466 4 5 - 465 + 466 5 6 - 465 + 466 6 7 - 1397 + 1399 7 8 - 931 + 932 11 12 - 465 + 466 42 43 - 465 + 466 106 107 - 465 + 466 228 229 - 465 + 466 582 583 - 465 + 466 1271 1272 - 465 + 466 3609 3610 - 465 + 466 @@ -17916,22 +17895,22 @@ 1 2 - 1486677 + 1488343 2 3 - 439806 + 440299 3 8 - 170052 + 170242 8 518 - 89918 + 90018 @@ -17947,22 +17926,22 @@ 1 2 - 1706114 + 1708026 2 3 - 247857 + 248134 3 9 - 168188 + 168377 9 502 - 64293 + 64365 @@ -17978,17 +17957,17 @@ 1 2 - 1759692 + 1761664 2 3 - 348025 + 348415 3 13 - 78736 + 78824 @@ -17998,15 +17977,15 @@ overrides - 125996 + 125866 new - 123017 + 122890 old - 9763 + 9753 @@ -18020,12 +17999,12 @@ 1 2 - 120046 + 119922 2 4 - 2970 + 2967 @@ -18041,17 +18020,17 @@ 1 2 - 4297 + 4293 2 3 - 2102 + 2100 3 4 - 926 + 925 4 @@ -18061,17 +18040,17 @@ 5 7 - 851 + 850 7 23 - 763 + 762 25 1464 - 363 + 362 @@ -18081,19 +18060,19 @@ membervariables - 1054945 + 1056556 id - 1053150 + 1054758 type_id - 327246 + 327746 name - 450956 + 451645 @@ -18107,12 +18086,12 @@ 1 2 - 1051434 + 1053040 2 4 - 1715 + 1718 @@ -18128,7 +18107,7 @@ 1 2 - 1053150 + 1054758 @@ -18144,22 +18123,22 @@ 1 2 - 242672 + 243043 2 3 - 51821 + 51900 3 10 - 25491 + 25530 10 4152 - 7260 + 7271 @@ -18175,22 +18154,22 @@ 1 2 - 254879 + 255269 2 3 - 46396 + 46467 3 40 - 24574 + 24611 41 2031 - 1396 + 1398 @@ -18206,22 +18185,22 @@ 1 2 - 294893 + 295343 2 3 - 86409 + 86541 3 5 - 41130 + 41193 5 646 - 28523 + 28567 @@ -18237,17 +18216,17 @@ 1 2 - 367300 + 367860 2 3 - 51662 + 51741 3 650 - 31994 + 32043 @@ -18428,19 +18407,19 @@ localvariables - 577491 + 576906 id - 577491 + 576906 type_id - 37631 + 37597 name - 90743 + 90649 @@ -18454,7 +18433,7 @@ 1 2 - 577491 + 576906 @@ -18470,7 +18449,7 @@ 1 2 - 577491 + 576906 @@ -18486,32 +18465,32 @@ 1 2 - 21054 + 21032 2 3 - 5378 + 5368 3 4 - 2461 + 2467 4 7 - 3383 + 3380 7 18 - 2858 + 2851 18 - 15847 - 2495 + 15849 + 2496 @@ -18527,27 +18506,27 @@ 1 2 - 26803 + 26772 2 3 - 4573 + 4572 3 5 - 2920 + 2921 5 31 - 2824 + 2821 31 3455 - 509 + 508 @@ -18563,27 +18542,27 @@ 1 2 - 57154 + 57095 2 3 - 14315 + 14301 3 5 - 8328 + 8319 5 15 - 6997 + 6990 15 - 5176 - 3947 + 5178 + 3943 @@ -18599,17 +18578,17 @@ 1 2 - 76656 + 76577 2 3 - 7427 + 7419 3 1486 - 6659 + 6652 @@ -18619,15 +18598,15 @@ autoderivation - 148931 + 148035 var - 148931 + 148035 derivation_type - 521 + 517 @@ -18641,7 +18620,7 @@ 1 2 - 148931 + 148035 @@ -18657,27 +18636,27 @@ 33 34 - 104 + 103 - 90 - 91 - 104 + 91 + 92 + 103 - 353 - 354 - 104 + 354 + 355 + 103 392 393 - 104 + 103 560 561 - 104 + 103 @@ -18687,15 +18666,15 @@ orphaned_variables - 37769 + 37368 var - 37769 + 37368 function - 33197 + 32845 @@ -18709,7 +18688,7 @@ 1 2 - 37769 + 37368 @@ -18725,12 +18704,12 @@ 1 2 - 31123 + 30792 2 47 - 2074 + 2052 @@ -18740,19 +18719,19 @@ enumconstants - 241316 + 241684 id - 241316 + 241684 parent - 28484 + 28527 index - 10212 + 10228 type_id @@ -18760,11 +18739,11 @@ name - 241036 + 241405 location - 221249 + 221587 @@ -18778,7 +18757,7 @@ 1 2 - 241316 + 241684 @@ -18794,7 +18773,7 @@ 1 2 - 241316 + 241684 @@ -18810,7 +18789,7 @@ 1 2 - 241316 + 241684 @@ -18826,7 +18805,7 @@ 1 2 - 241316 + 241684 @@ -18842,7 +18821,7 @@ 1 2 - 241316 + 241684 @@ -18858,52 +18837,52 @@ 1 2 - 997 + 998 2 3 - 4029 + 4035 3 4 - 5784 + 5793 4 5 - 3909 + 3915 5 6 - 3071 + 3076 6 7 - 1835 + 1837 7 8 - 1476 + 1478 8 11 - 2593 + 2597 11 17 - 2353 + 2357 17 84 - 2154 + 2157 94 @@ -18924,52 +18903,52 @@ 1 2 - 997 + 998 2 3 - 4029 + 4035 3 4 - 5784 + 5793 4 5 - 3909 + 3915 5 6 - 3071 + 3076 6 7 - 1835 + 1837 7 8 - 1476 + 1478 8 11 - 2593 + 2597 11 17 - 2353 + 2357 17 84 - 2154 + 2157 94 @@ -18990,7 +18969,7 @@ 1 2 - 28484 + 28527 @@ -19006,52 +18985,52 @@ 1 2 - 997 + 998 2 3 - 4029 + 4035 3 4 - 5784 + 5793 4 5 - 3909 + 3915 5 6 - 3071 + 3076 6 7 - 1835 + 1837 7 8 - 1476 + 1478 8 11 - 2593 + 2597 11 17 - 2353 + 2357 17 84 - 2154 + 2157 94 @@ -19072,52 +19051,52 @@ 1 2 - 1436 + 1438 2 3 - 4188 + 4195 3 4 - 5824 + 5833 4 5 - 3869 + 3875 5 6 - 3071 + 3076 6 7 - 1795 + 1797 7 8 - 1396 + 1398 8 11 - 2513 + 2517 11 17 - 2234 + 2237 17 257 - 2154 + 2157 @@ -19133,47 +19112,47 @@ 1 2 - 2034 + 2037 2 3 - 1635 + 1638 3 4 - 1755 + 1757 4 5 - 877 + 878 5 9 - 797 + 799 9 12 - 837 + 839 12 20 - 877 + 878 20 69 - 797 + 799 77 715 - 598 + 599 @@ -19189,47 +19168,47 @@ 1 2 - 2034 + 2037 2 3 - 1635 + 1638 3 4 - 1755 + 1757 4 5 - 877 + 878 5 9 - 797 + 799 9 12 - 837 + 839 12 20 - 877 + 878 20 69 - 797 + 799 77 715 - 598 + 599 @@ -19245,7 +19224,7 @@ 1 2 - 10212 + 10228 @@ -19261,47 +19240,47 @@ 1 2 - 2034 + 2037 2 3 - 1635 + 1638 3 4 - 1755 + 1757 4 5 - 877 + 878 5 9 - 797 + 799 9 12 - 837 + 839 12 20 - 877 + 878 20 69 - 797 + 799 77 712 - 598 + 599 @@ -19317,47 +19296,47 @@ 1 2 - 2034 + 2037 2 3 - 1635 + 1638 3 4 - 1755 + 1757 4 5 - 877 + 878 5 9 - 797 + 799 9 12 - 837 + 839 12 20 - 877 + 878 20 69 - 797 + 799 77 715 - 598 + 599 @@ -19453,7 +19432,7 @@ 1 2 - 240757 + 241125 2 @@ -19474,7 +19453,7 @@ 1 2 - 240757 + 241125 2 @@ -19495,7 +19474,7 @@ 1 2 - 241036 + 241405 @@ -19511,7 +19490,7 @@ 1 2 - 241036 + 241405 @@ -19527,7 +19506,7 @@ 1 2 - 240757 + 241125 2 @@ -19548,12 +19527,12 @@ 1 2 - 220491 + 220828 2 205 - 757 + 759 @@ -19569,7 +19548,7 @@ 1 2 - 221249 + 221587 @@ -19585,12 +19564,12 @@ 1 2 - 220491 + 220828 2 205 - 757 + 759 @@ -19606,7 +19585,7 @@ 1 2 - 221249 + 221587 @@ -19622,12 +19601,12 @@ 1 2 - 220491 + 220828 2 205 - 757 + 759 @@ -19637,31 +19616,31 @@ builtintypes - 26090 + 26119 id - 26090 + 26119 name - 26090 + 26119 kind - 26090 + 26119 size - 3261 + 3264 sign - 1397 + 1399 alignment - 2329 + 2332 @@ -19675,7 +19654,7 @@ 1 2 - 26090 + 26119 @@ -19691,7 +19670,7 @@ 1 2 - 26090 + 26119 @@ -19707,7 +19686,7 @@ 1 2 - 26090 + 26119 @@ -19723,7 +19702,7 @@ 1 2 - 26090 + 26119 @@ -19739,7 +19718,7 @@ 1 2 - 26090 + 26119 @@ -19755,7 +19734,7 @@ 1 2 - 26090 + 26119 @@ -19771,7 +19750,7 @@ 1 2 - 26090 + 26119 @@ -19787,7 +19766,7 @@ 1 2 - 26090 + 26119 @@ -19803,7 +19782,7 @@ 1 2 - 26090 + 26119 @@ -19819,7 +19798,7 @@ 1 2 - 26090 + 26119 @@ -19835,7 +19814,7 @@ 1 2 - 26090 + 26119 @@ -19851,7 +19830,7 @@ 1 2 - 26090 + 26119 @@ -19867,7 +19846,7 @@ 1 2 - 26090 + 26119 @@ -19883,7 +19862,7 @@ 1 2 - 26090 + 26119 @@ -19899,7 +19878,7 @@ 1 2 - 26090 + 26119 @@ -19915,37 +19894,37 @@ 1 2 - 465 + 466 4 5 - 465 + 466 7 8 - 465 + 466 8 9 - 465 + 466 10 11 - 465 + 466 12 13 - 465 + 466 14 15 - 465 + 466 @@ -19961,37 +19940,37 @@ 1 2 - 465 + 466 4 5 - 465 + 466 7 8 - 465 + 466 8 9 - 465 + 466 10 11 - 465 + 466 12 13 - 465 + 466 14 15 - 465 + 466 @@ -20007,37 +19986,37 @@ 1 2 - 465 + 466 4 5 - 465 + 466 7 8 - 465 + 466 8 9 - 465 + 466 10 11 - 465 + 466 12 13 - 465 + 466 14 15 - 465 + 466 @@ -20053,12 +20032,12 @@ 1 2 - 931 + 932 3 4 - 2329 + 2332 @@ -20074,12 +20053,12 @@ 1 2 - 1863 + 1865 2 3 - 1397 + 1399 @@ -20095,17 +20074,17 @@ 6 7 - 465 + 466 12 13 - 465 + 466 38 39 - 465 + 466 @@ -20121,17 +20100,17 @@ 6 7 - 465 + 466 12 13 - 465 + 466 38 39 - 465 + 466 @@ -20147,17 +20126,17 @@ 6 7 - 465 + 466 12 13 - 465 + 466 38 39 - 465 + 466 @@ -20173,12 +20152,12 @@ 5 6 - 931 + 932 7 8 - 465 + 466 @@ -20194,7 +20173,7 @@ 5 6 - 1397 + 1399 @@ -20210,27 +20189,27 @@ 8 9 - 465 + 466 9 10 - 465 + 466 11 12 - 465 + 466 13 14 - 465 + 466 15 16 - 465 + 466 @@ -20246,27 +20225,27 @@ 8 9 - 465 + 466 9 10 - 465 + 466 11 12 - 465 + 466 13 14 - 465 + 466 15 16 - 465 + 466 @@ -20282,27 +20261,27 @@ 8 9 - 465 + 466 9 10 - 465 + 466 11 12 - 465 + 466 13 14 - 465 + 466 15 16 - 465 + 466 @@ -20318,7 +20297,7 @@ 2 3 - 2329 + 2332 @@ -20334,7 +20313,7 @@ 3 4 - 2329 + 2332 @@ -20344,23 +20323,23 @@ derivedtypes - 4332841 + 4330701 id - 4332841 + 4330701 name - 2158500 + 2160919 kind - 2795 + 2798 type_id - 2673316 + 2670715 @@ -20374,7 +20353,7 @@ 1 2 - 4332841 + 4330701 @@ -20390,7 +20369,7 @@ 1 2 - 4332841 + 4330701 @@ -20406,7 +20385,7 @@ 1 2 - 4332841 + 4330701 @@ -20422,17 +20401,17 @@ 1 2 - 1897132 + 1899258 2 5 - 164461 + 164645 5 - 1165 - 96906 + 1153 + 97015 @@ -20448,12 +20427,12 @@ 1 2 - 2157568 + 2159986 2 3 - 931 + 932 @@ -20469,17 +20448,17 @@ 1 2 - 1897132 + 1899258 2 5 - 164461 + 164645 5 - 1147 - 96906 + 1135 + 97015 @@ -20495,32 +20474,32 @@ 236 237 - 465 + 466 1077 1078 - 465 + 466 - 1146 - 1147 - 465 + 1134 + 1135 + 466 1217 1218 - 465 + 466 - 2169 - 2170 - 465 + 2166 + 2167 + 466 3455 3456 - 465 + 466 @@ -20536,32 +20515,32 @@ 1 2 - 465 + 466 201 202 - 465 + 466 606 607 - 465 + 466 760 761 - 465 + 466 1128 1129 - 465 + 466 1939 1940 - 465 + 466 @@ -20577,32 +20556,32 @@ 84 85 - 465 + 466 1077 1078 - 465 + 466 - 1146 - 1147 - 465 + 1134 + 1135 + 466 1217 1218 - 465 + 466 - 2124 - 2125 - 465 + 2121 + 2122 + 466 3455 3456 - 465 + 466 @@ -20618,22 +20597,22 @@ 1 2 - 1653468 + 1651123 2 3 - 560939 + 560169 3 4 - 353615 + 354012 4 72 - 105292 + 105410 @@ -20649,22 +20628,22 @@ 1 2 - 1664649 + 1662317 2 3 - 553485 + 552706 3 4 - 350820 + 351213 4 72 - 104360 + 104477 @@ -20680,22 +20659,22 @@ 1 2 - 1657661 + 1655321 2 3 - 564667 + 563900 3 4 - 352684 + 353079 4 6 - 98304 + 98414 @@ -20705,19 +20684,19 @@ pointerishsize - 3212359 + 3210362 id - 3212359 + 3210362 size - 465 + 466 alignment - 465 + 466 @@ -20731,7 +20710,7 @@ 1 2 - 3212359 + 3210362 @@ -20747,7 +20726,7 @@ 1 2 - 3212359 + 3210362 @@ -20761,9 +20740,9 @@ 12 - 6895 - 6896 - 465 + 6883 + 6884 + 466 @@ -20779,7 +20758,7 @@ 1 2 - 465 + 466 @@ -20793,9 +20772,9 @@ 12 - 6895 - 6896 - 465 + 6883 + 6884 + 466 @@ -20811,7 +20790,7 @@ 1 2 - 465 + 466 @@ -20821,23 +20800,23 @@ arraysizes - 88054 + 88153 id - 88054 + 88153 num_elements - 31680 + 31716 bytesize - 33078 + 33115 alignment - 1863 + 1865 @@ -20851,7 +20830,7 @@ 1 2 - 88054 + 88153 @@ -20867,7 +20846,7 @@ 1 2 - 88054 + 88153 @@ -20883,7 +20862,7 @@ 1 2 - 88054 + 88153 @@ -20899,27 +20878,27 @@ 1 2 - 1863 + 1865 2 3 - 23760 + 23787 3 5 - 2795 + 2798 5 13 - 2795 + 2798 13 14 - 465 + 466 @@ -20935,17 +20914,17 @@ 1 2 - 26556 + 26585 2 3 - 2329 + 2332 3 7 - 2795 + 2798 @@ -20961,17 +20940,17 @@ 1 2 - 26556 + 26585 2 3 - 2795 + 2798 3 5 - 2329 + 2332 @@ -20987,27 +20966,27 @@ 1 2 - 1863 + 1865 2 3 - 23760 + 23787 3 4 - 3261 + 3264 4 6 - 2329 + 2332 7 16 - 1863 + 1865 @@ -21023,17 +21002,17 @@ 1 2 - 27487 + 27518 2 3 - 3727 + 3731 3 5 - 1863 + 1865 @@ -21049,17 +21028,17 @@ 1 2 - 27487 + 27518 2 3 - 4658 + 4664 4 5 - 931 + 932 @@ -21075,22 +21054,22 @@ 5 6 - 465 + 466 16 17 - 465 + 466 31 32 - 465 + 466 137 138 - 465 + 466 @@ -21106,17 +21085,17 @@ 4 5 - 465 + 466 7 8 - 931 + 932 68 69 - 465 + 466 @@ -21132,22 +21111,22 @@ 4 5 - 465 + 466 7 8 - 465 + 466 8 9 - 465 + 466 68 69 - 465 + 466 @@ -21157,15 +21136,15 @@ typedefbase - 1679336 + 1672769 id - 1679336 + 1672769 type_id - 790504 + 787413 @@ -21179,7 +21158,7 @@ 1 2 - 1679336 + 1672769 @@ -21195,22 +21174,22 @@ 1 2 - 615196 + 612790 2 3 - 82913 + 82588 3 6 - 61746 + 61505 6 5437 - 30648 + 30528 @@ -21220,19 +21199,19 @@ decltypes - 172128 + 166216 id - 17293 + 16699 expr - 172128 + 166216 base_type - 10324 + 9970 parentheses_would_change_meaning @@ -21250,37 +21229,37 @@ 1 2 - 5271 + 5090 2 3 - 6416 + 6195 3 5 - 1145 + 1105 5 12 - 1342 + 1296 12 18 - 1401 + 1353 18 46 - 1302 + 1258 51 740 - 414 + 400 @@ -21296,7 +21275,7 @@ 1 2 - 17293 + 16699 @@ -21312,7 +21291,7 @@ 1 2 - 17293 + 16699 @@ -21328,7 +21307,7 @@ 1 2 - 172128 + 166216 @@ -21344,7 +21323,7 @@ 1 2 - 172128 + 166216 @@ -21360,7 +21339,7 @@ 1 2 - 172128 + 166216 @@ -21376,17 +21355,17 @@ 1 2 - 7501 + 7244 2 3 - 2349 + 2268 4 149 - 473 + 457 @@ -21402,37 +21381,37 @@ 1 2 - 750 + 724 2 3 - 6356 + 6138 3 4 - 355 + 343 4 5 - 1006 + 972 5 7 - 789 + 762 7 32 - 829 + 800 32 3888 - 236 + 228 @@ -21448,7 +21427,7 @@ 1 2 - 10324 + 9970 @@ -21506,19 +21485,19 @@ usertypes - 5224568 + 5229957 id - 5224568 + 5229957 name - 1349703 + 1351216 kind - 5124 + 5130 @@ -21532,7 +21511,7 @@ 1 2 - 5224568 + 5229957 @@ -21548,7 +21527,7 @@ 1 2 - 5224568 + 5229957 @@ -21564,27 +21543,27 @@ 1 2 - 981644 + 982745 2 3 - 153280 + 153451 3 7 - 104360 + 104477 7 61 - 101565 + 101679 65 874 - 8852 + 8861 @@ -21600,17 +21579,17 @@ 1 2 - 1209468 + 1210823 2 3 - 124860 + 125000 3 7 - 15374 + 15391 @@ -21626,57 +21605,57 @@ 6 7 - 465 + 466 10 11 - 465 + 466 26 27 - 465 + 466 124 125 - 465 + 466 135 136 - 465 + 466 663 664 - 465 + 466 853 854 - 465 + 466 - 959 - 960 - 465 + 958 + 959 + 466 1752 1753 - 465 + 466 1842 1843 - 465 + 466 4844 4845 - 465 + 466 @@ -21692,57 +21671,57 @@ 5 6 - 465 + 466 6 7 - 465 + 466 14 15 - 465 + 466 30 31 - 465 + 466 43 44 - 465 + 466 125 126 - 465 + 466 267 268 - 465 + 466 371 372 - 465 + 466 438 439 - 465 + 466 739 740 - 465 + 466 1200 1201 - 465 + 466 @@ -21752,19 +21731,19 @@ usertypesize - 1704251 + 1705694 id - 1704251 + 1705694 size - 13511 + 13526 alignment - 2329 + 2332 @@ -21778,7 +21757,7 @@ 1 2 - 1704251 + 1705694 @@ -21794,7 +21773,7 @@ 1 2 - 1704251 + 1705694 @@ -21810,47 +21789,47 @@ 1 2 - 3261 + 3264 2 3 - 4193 + 4197 3 4 - 465 + 466 4 5 - 931 + 932 6 8 - 931 + 932 9 15 - 931 + 932 37 84 - 931 + 932 92 163 - 931 + 932 740 - 2473 - 931 + 2472 + 932 @@ -21866,17 +21845,17 @@ 1 2 - 10249 + 10261 2 3 - 2795 + 2798 3 4 - 465 + 466 @@ -21892,27 +21871,27 @@ 2 3 - 465 + 466 6 7 - 465 + 466 184 185 - 465 + 466 254 255 - 465 + 466 - 3212 - 3213 - 465 + 3211 + 3212 + 466 @@ -21928,27 +21907,27 @@ 1 2 - 465 + 466 2 3 - 465 + 466 3 4 - 465 + 466 9 10 - 465 + 466 22 23 - 465 + 466 @@ -21958,22 +21937,22 @@ usertype_final - 9490 + 9420 id - 9490 + 9420 usertype_uuid - 36638 + 36639 id - 36638 + 36639 uuid @@ -21991,7 +21970,7 @@ 1 2 - 36638 + 36639 @@ -22007,7 +21986,7 @@ 1 2 - 35889 + 35890 2 @@ -22022,19 +22001,19 @@ mangled_name - 9467492 + 9477636 id - 9467492 + 9477636 mangled_name - 6441025 + 6448244 is_complete - 465 + 466 @@ -22048,7 +22027,7 @@ 1 2 - 9467492 + 9477636 @@ -22064,7 +22043,7 @@ 1 2 - 9467492 + 9477636 @@ -22080,12 +22059,12 @@ 1 2 - 6160555 + 6167459 2 874 - 280469 + 280784 @@ -22101,7 +22080,7 @@ 1 2 - 6441025 + 6448244 @@ -22115,9 +22094,9 @@ 12 - 20321 - 20322 - 465 + 20320 + 20321 + 466 @@ -22133,7 +22112,7 @@ 13825 13826 - 465 + 466 @@ -22143,59 +22122,59 @@ is_pod_class - 532834 + 530716 id - 532834 + 530716 is_standard_layout_class - 1252796 + 1253734 id - 1252796 + 1253734 is_complete - 1643684 + 1645060 id - 1643684 + 1645060 is_class_template - 397410 + 397855 id - 397410 + 397855 class_instantiation - 1087869 + 1088622 to - 1087869 + 1088622 from - 168188 + 168377 @@ -22209,7 +22188,7 @@ 1 2 - 1087869 + 1088622 @@ -22225,47 +22204,47 @@ 1 2 - 59634 + 59701 2 3 - 29351 + 29384 3 4 - 15840 + 15858 4 5 - 13045 + 13059 5 6 - 9783 + 9794 6 10 - 12579 + 12593 10 16 - 13045 + 13059 16 70 - 13511 + 13526 70 84 - 1397 + 1399 @@ -22275,19 +22254,19 @@ class_template_argument - 2870306 + 2859038 type_id - 1310002 + 1304835 index - 1258 + 1253 arg_type - 836511 + 833229 @@ -22301,27 +22280,27 @@ 1 2 - 538743 + 536592 2 3 - 397645 + 396090 3 4 - 230325 + 229424 4 7 - 119796 + 119328 7 113 - 23492 + 23400 @@ -22337,22 +22316,22 @@ 1 2 - 565268 + 563013 2 3 - 408835 + 407236 3 4 - 243705 + 242752 4 113 - 92192 + 91832 @@ -22373,31 +22352,31 @@ 2 3 - 797 + 794 3 26 - 101 + 100 29 64 - 101 + 100 69 411 - 101 + 100 592 8901 - 101 + 100 13095 - 114270 + 114267 44 @@ -22419,31 +22398,31 @@ 2 3 - 797 + 794 3 14 - 112 + 111 14 26 - 101 + 100 28 145 - 101 + 100 195 3469 - 101 + 100 10524 - 39739 + 39738 33 @@ -22460,27 +22439,27 @@ 1 2 - 520779 + 518731 2 3 - 173600 + 172921 3 4 - 51084 + 50884 4 10 - 63768 + 63519 10 10265 - 27278 + 27171 @@ -22496,17 +22475,17 @@ 1 2 - 737319 + 734424 2 3 - 80946 + 80630 3 22 - 18245 + 18174 @@ -22516,19 +22495,19 @@ class_template_argument_value - 494316 + 494870 type_id - 304230 + 304571 index - 1863 + 1865 arg_value - 494316 + 494870 @@ -22542,17 +22521,17 @@ 1 2 - 249254 + 249534 2 3 - 53112 + 53171 3 4 - 1863 + 1865 @@ -22568,22 +22547,22 @@ 1 2 - 189154 + 189366 2 3 - 81066 + 81156 3 4 - 12113 + 12126 4 9 - 21897 + 21921 @@ -22599,22 +22578,22 @@ 18 19 - 465 + 466 92 93 - 465 + 466 293 294 - 465 + 466 372 373 - 465 + 466 @@ -22630,22 +22609,22 @@ 19 20 - 465 + 466 124 125 - 465 + 466 409 410 - 465 + 466 509 510 - 465 + 466 @@ -22661,7 +22640,7 @@ 1 2 - 494316 + 494870 @@ -22677,7 +22656,7 @@ 1 2 - 494316 + 494870 @@ -22687,15 +22666,15 @@ is_proxy_class_for - 62896 + 62966 id - 62896 + 62966 templ_param_id - 62896 + 62966 @@ -22709,7 +22688,7 @@ 1 2 - 62896 + 62966 @@ -22725,7 +22704,7 @@ 1 2 - 62896 + 62966 @@ -22735,19 +22714,19 @@ type_mentions - 4023226 + 4029370 id - 4023226 + 4029370 type_id - 197911 + 198214 location - 3989755 + 3995848 kind @@ -22765,7 +22744,7 @@ 1 2 - 4023226 + 4029370 @@ -22781,7 +22760,7 @@ 1 2 - 4023226 + 4029370 @@ -22797,7 +22776,7 @@ 1 2 - 4023226 + 4029370 @@ -22813,42 +22792,42 @@ 1 2 - 97459 + 97608 2 3 - 21702 + 21735 3 4 - 8218 + 8230 4 5 - 10771 + 10787 5 7 - 14361 + 14383 7 12 - 15837 + 15861 12 27 - 15159 + 15182 27 8555 - 14401 + 14423 @@ -22864,42 +22843,42 @@ 1 2 - 97459 + 97608 2 3 - 21702 + 21735 3 4 - 8218 + 8230 4 5 - 10771 + 10787 5 7 - 14361 + 14383 7 12 - 15837 + 15861 12 27 - 15159 + 15182 27 8555 - 14401 + 14423 @@ -22915,7 +22894,7 @@ 1 2 - 197911 + 198214 @@ -22931,12 +22910,12 @@ 1 2 - 3956284 + 3962326 2 3 - 33470 + 33521 @@ -22952,12 +22931,12 @@ 1 2 - 3956284 + 3962326 2 3 - 33470 + 33521 @@ -22973,7 +22952,7 @@ 1 2 - 3989755 + 3995848 @@ -23031,26 +23010,26 @@ is_function_template - 1400020 + 1401589 id - 1400020 + 1401589 function_instantiation - 904114 + 894870 to - 904114 + 894870 from - 145768 + 144256 @@ -23064,7 +23043,7 @@ 1 2 - 904114 + 894870 @@ -23080,27 +23059,27 @@ 1 2 - 101070 + 100033 2 3 - 14383 + 14230 3 6 - 11992 + 11864 6 21 - 12027 + 11899 22 - 869 - 6294 + 870 + 6228 @@ -23110,19 +23089,19 @@ function_template_argument - 2335210 + 2310645 function_id - 1333998 + 1319951 index - 562 + 556 arg_type - 304055 + 300865 @@ -23136,22 +23115,22 @@ 1 2 - 680767 + 673580 2 3 - 394154 + 390007 3 4 - 188531 + 186566 4 15 - 70545 + 69797 @@ -23167,22 +23146,22 @@ 1 2 - 698351 + 690977 2 3 - 404036 + 399784 3 4 - 168415 + 166664 4 9 - 63195 + 62525 @@ -23198,57 +23177,57 @@ 1 2 - 211 + 208 7 8 - 35 + 34 35 36 - 35 + 34 108 109 - 35 + 34 164 165 - 35 + 34 294 295 - 35 + 34 849 850 - 35 + 34 - 3293 - 3294 - 35 + 3294 + 3295 + 34 - 8740 - 8741 - 35 + 8741 + 8742 + 34 - 17935 - 17936 - 35 + 17936 + 17937 + 34 - 34972 - 34973 - 35 + 34975 + 34976 + 34 @@ -23264,57 +23243,57 @@ 1 2 - 211 + 208 3 4 - 35 + 34 11 12 - 35 + 34 22 23 - 35 + 34 30 31 - 35 + 34 61 62 - 35 + 34 134 135 - 35 + 34 453 454 - 35 + 34 1126 1127 - 35 + 34 2397 2398 - 35 + 34 - 5837 - 5838 - 35 + 5838 + 5839 + 34 @@ -23330,32 +23309,32 @@ 1 2 - 186245 + 184304 2 3 - 44521 + 44049 3 5 - 23421 + 23172 5 16 - 23456 + 23207 16 107 - 22964 + 22720 108 957 - 3446 + 3409 @@ -23371,17 +23350,17 @@ 1 2 - 273987 + 271116 2 4 - 25953 + 25678 4 17 - 4114 + 4070 @@ -23391,19 +23370,19 @@ function_template_argument_value - 362328 + 358553 function_id - 194509 + 192516 index - 562 + 556 arg_value - 359690 + 355944 @@ -23417,12 +23396,12 @@ 1 2 - 185155 + 183260 2 8 - 9354 + 9255 @@ -23438,17 +23417,17 @@ 1 2 - 177735 + 175919 2 31 - 15262 + 15100 32 97 - 1512 + 1496 @@ -23464,52 +23443,52 @@ 1 2 - 211 + 208 2 3 - 70 + 69 11 12 - 35 + 34 26 27 - 35 + 34 94 95 - 35 + 34 314 315 - 35 + 34 844 845 - 35 + 34 - 992 - 993 - 35 + 994 + 995 + 34 1187 1188 - 35 + 34 2397 2398 - 35 + 34 @@ -23525,52 +23504,52 @@ 1 2 - 211 + 208 2 3 - 70 + 69 60 61 - 35 + 34 80 81 - 35 + 34 141 142 - 35 + 34 533 534 - 35 + 34 - 1610 - 1611 - 35 + 1612 + 1613 + 34 1821 1822 - 35 + 34 2202 2203 - 35 + 34 3771 3772 - 35 + 34 @@ -23586,12 +23565,12 @@ 1 2 - 357052 + 353334 2 3 - 2637 + 2609 @@ -23607,7 +23586,7 @@ 1 2 - 359690 + 355944 @@ -23617,26 +23596,26 @@ is_variable_template - 47349 + 46998 id - 47349 + 46998 variable_instantiation - 172502 + 171327 to - 172502 + 171327 from - 25864 + 25673 @@ -23650,7 +23629,7 @@ 1 2 - 172502 + 171327 @@ -23666,42 +23645,42 @@ 1 2 - 13871 + 13768 2 3 - 2607 + 2588 3 4 - 1251 + 1242 4 6 - 1877 + 1863 6 8 - 1355 + 1345 8 12 - 2190 + 2173 12 38 - 1981 + 1966 46 - 277 - 730 + 278 + 724 @@ -23711,19 +23690,19 @@ variable_template_argument - 310587 + 308493 variable_id - 163324 + 162217 index - 1772 + 1759 arg_type - 171146 + 170085 @@ -23737,22 +23716,22 @@ 1 2 - 83643 + 83023 2 3 - 50791 + 50518 3 4 - 18772 + 18633 4 17 - 10116 + 10041 @@ -23768,22 +23747,22 @@ 1 2 - 88336 + 87682 2 3 - 52042 + 51760 3 4 - 13662 + 13561 4 17 - 9282 + 9213 @@ -23799,47 +23778,47 @@ 9 10 - 104 + 103 19 20 - 625 + 621 26 27 - 417 + 414 47 48 - 104 + 103 93 94 - 104 + 103 185 186 - 104 + 103 - 547 - 548 - 104 + 548 + 549 + 103 - 626 - 627 - 104 + 627 + 628 + 103 1253 1254 - 104 + 103 @@ -23855,52 +23834,52 @@ 1 2 - 104 + 103 10 11 - 417 + 414 11 12 - 208 + 207 12 13 - 417 + 414 29 30 - 104 + 103 48 49 - 104 + 103 130 131 - 104 + 103 - 375 - 376 - 104 + 376 + 377 + 103 - 402 - 403 - 104 + 403 + 404 + 103 743 744 - 104 + 103 @@ -23916,22 +23895,22 @@ 1 2 - 137668 + 136855 2 3 - 19502 + 19358 3 24 - 12932 + 12836 24 110 - 1042 + 1035 @@ -23947,17 +23926,17 @@ 1 2 - 154146 + 153211 2 3 - 14914 + 14803 3 6 - 2085 + 2070 @@ -23967,19 +23946,19 @@ variable_template_argument_value - 11889 + 11801 variable_id - 7822 + 7764 index - 417 + 414 arg_value - 11889 + 11801 @@ -23993,12 +23972,12 @@ 1 2 - 7404 + 7350 2 3 - 417 + 414 @@ -24014,17 +23993,17 @@ 1 2 - 4380 + 4347 2 3 - 3128 + 3105 4 5 - 312 + 310 @@ -24040,22 +24019,22 @@ 4 5 - 104 + 103 19 20 - 104 + 103 26 27 - 104 + 103 30 31 - 104 + 103 @@ -24071,22 +24050,22 @@ 7 8 - 104 + 103 28 29 - 104 + 103 38 39 - 104 + 103 41 42 - 104 + 103 @@ -24102,7 +24081,7 @@ 1 2 - 11889 + 11801 @@ -24118,7 +24097,7 @@ 1 2 - 11889 + 11801 @@ -24128,15 +24107,15 @@ routinetypes - 545338 + 538161 id - 545338 + 538161 return_type - 284819 + 280406 @@ -24150,7 +24129,7 @@ 1 2 - 545338 + 538161 @@ -24166,17 +24145,17 @@ 1 2 - 248175 + 244220 2 3 - 21276 + 20946 3 - 3594 - 15368 + 3595 + 15239 @@ -24186,19 +24165,19 @@ routinetypeargs - 982110 + 982278 routine - 423034 + 423042 index - 7920 + 7929 type_id - 226425 + 226679 @@ -24212,27 +24191,27 @@ 1 2 - 152348 + 152519 2 3 - 134178 + 133862 3 4 - 63361 + 63432 4 5 - 45657 + 45709 5 18 - 27487 + 27518 @@ -24248,27 +24227,27 @@ 1 2 - 182165 + 182369 2 3 - 133712 + 133395 3 4 - 58703 + 58768 4 5 - 33544 + 33582 5 11 - 14908 + 14925 @@ -24284,67 +24263,67 @@ 2 3 - 931 + 932 4 5 - 465 + 466 6 7 - 465 + 466 8 9 - 931 + 932 9 10 - 465 + 466 10 11 - 1397 + 1399 13 14 - 465 + 466 28 29 - 465 + 466 59 60 - 465 + 466 157 158 - 465 + 466 293 294 - 465 + 466 - 581 - 582 - 465 + 580 + 581 + 466 - 908 - 909 - 465 + 907 + 908 + 466 @@ -24360,57 +24339,57 @@ 1 2 - 931 + 932 3 4 - 931 + 932 4 5 - 1397 + 1399 5 6 - 931 + 932 6 7 - 931 + 932 10 11 - 465 + 466 14 15 - 465 + 466 47 48 - 465 + 466 90 91 - 465 + 466 176 177 - 465 + 466 347 348 - 465 + 466 @@ -24426,27 +24405,27 @@ 1 2 - 146291 + 146455 2 3 - 30749 + 30783 3 5 - 16772 + 16791 5 12 - 18169 + 18190 12 - 111 - 14442 + 110 + 14458 @@ -24462,22 +24441,22 @@ 1 2 - 172381 + 172575 2 3 - 30749 + 30783 3 6 - 18635 + 18656 6 14 - 4658 + 4664 @@ -24487,19 +24466,19 @@ ptrtomembers - 37737 + 37779 id - 37737 + 37779 type_id - 37737 + 37779 class_id - 15374 + 15391 @@ -24513,7 +24492,7 @@ 1 2 - 37737 + 37779 @@ -24529,7 +24508,7 @@ 1 2 - 37737 + 37779 @@ -24545,7 +24524,7 @@ 1 2 - 37737 + 37779 @@ -24561,7 +24540,7 @@ 1 2 - 37737 + 37779 @@ -24577,17 +24556,17 @@ 1 2 - 13511 + 13526 8 9 - 1397 + 1399 28 29 - 465 + 466 @@ -24603,17 +24582,17 @@ 1 2 - 13511 + 13526 8 9 - 1397 + 1399 28 29 - 465 + 466 @@ -24623,15 +24602,15 @@ specifiers - 24692 + 24720 id - 24692 + 24720 str - 24692 + 24720 @@ -24645,7 +24624,7 @@ 1 2 - 24692 + 24720 @@ -24661,7 +24640,7 @@ 1 2 - 24692 + 24720 @@ -24671,15 +24650,15 @@ typespecifiers - 1291000 + 1291048 type_id - 1272830 + 1272857 spec_id - 3727 + 3731 @@ -24693,12 +24672,12 @@ 1 2 - 1254660 + 1254667 2 3 - 18169 + 18190 @@ -24714,42 +24693,42 @@ 8 9 - 465 + 466 36 37 - 465 + 466 51 52 - 465 + 466 86 87 - 465 + 466 105 106 - 465 + 466 219 220 - 465 + 466 221 222 - 465 + 466 - 2045 - 2046 - 465 + 2042 + 2043 + 466 @@ -24759,15 +24738,15 @@ funspecifiers - 12739754 + 12607036 func_id - 3895228 + 3854601 spec_id - 703 + 695 @@ -24781,27 +24760,27 @@ 1 2 - 314078 + 310746 2 3 - 545865 + 540214 3 4 - 1145748 + 1133732 4 5 - 1641079 + 1624017 5 8 - 248456 + 245890 @@ -24817,97 +24796,97 @@ 13 14 - 70 + 69 98 99 - 35 + 34 202 203 - 35 + 34 296 297 - 35 + 34 304 305 - 35 + 34 572 573 - 35 + 34 709 710 - 35 + 34 1599 1600 - 35 + 34 1646 1647 - 35 + 34 3782 3783 - 35 + 34 3923 3924 - 35 + 34 5095 5096 - 35 + 34 - 6822 - 6823 - 35 + 6823 + 6824 + 34 - 9687 - 9688 - 35 + 9692 + 9693 + 34 - 12226 - 12227 - 35 + 12228 + 12229 + 34 - 50649 - 50650 - 35 + 50664 + 50665 + 34 - 77765 - 77766 - 35 + 77775 + 77776 + 34 - 89259 - 89260 - 35 + 89276 + 89277 + 34 - 97602 - 97603 - 35 + 97622 + 97623 + 34 @@ -24917,15 +24896,15 @@ varspecifiers - 2241430 + 2243942 var_id - 1222513 + 1223883 spec_id - 3727 + 3731 @@ -24939,22 +24918,22 @@ 1 2 - 728662 + 729479 2 3 - 202199 + 202425 3 4 - 58237 + 58302 4 5 - 233414 + 233675 @@ -24970,42 +24949,42 @@ 112 113 - 465 + 466 315 316 - 465 + 466 416 417 - 465 + 466 514 515 - 465 + 466 646 647 - 465 + 466 686 687 - 465 + 466 700 701 - 465 + 466 1422 1423 - 465 + 466 @@ -25015,27 +24994,27 @@ attributes - 735689 + 729824 id - 735689 + 729824 kind - 312 + 310 name - 1668 + 1656 name_space - 208 + 207 location - 483193 + 479613 @@ -25049,7 +25028,7 @@ 1 2 - 735689 + 729824 @@ -25065,7 +25044,7 @@ 1 2 - 735689 + 729824 @@ -25081,7 +25060,7 @@ 1 2 - 735689 + 729824 @@ -25097,7 +25076,7 @@ 1 2 - 735689 + 729824 @@ -25113,17 +25092,17 @@ 5 6 - 104 + 103 2332 2333 - 104 + 103 - 4717 - 4718 - 104 + 4713 + 4714 + 103 @@ -25139,17 +25118,17 @@ 1 2 - 104 + 103 6 7 - 104 + 103 11 12 - 104 + 103 @@ -25165,12 +25144,12 @@ 1 2 - 208 + 207 2 3 - 104 + 103 @@ -25186,17 +25165,17 @@ 2 3 - 104 + 103 2057 2058 - 104 + 103 2574 2575 - 104 + 103 @@ -25212,72 +25191,72 @@ 1 2 - 208 + 310 2 3 - 104 + 103 4 5 - 104 + 103 5 6 - 208 + 103 11 12 - 104 + 103 14 15 - 104 + 103 16 17 - 104 + 103 18 19 - 104 + 103 24 25 - 104 + 103 86 87 - 104 + 103 115 116 - 104 + 103 1048 1049 - 104 + 103 1760 1761 - 104 + 103 3944 3945 - 104 + 103 @@ -25293,12 +25272,12 @@ 1 2 - 1460 + 1449 2 3 - 208 + 207 @@ -25314,7 +25293,7 @@ 1 2 - 1668 + 1656 @@ -25330,67 +25309,67 @@ 1 2 - 312 + 310 2 3 - 208 + 207 4 5 - 104 + 103 6 7 - 104 + 103 8 9 - 104 + 103 9 10 - 104 + 103 14 15 - 104 + 103 18 19 - 104 + 103 59 60 - 104 + 103 72 73 - 104 + 103 333 334 - 104 + 103 1756 1757 - 104 + 103 2388 2389 - 104 + 103 @@ -25404,14 +25383,14 @@ 12 - 23 - 24 - 104 + 19 + 20 + 103 7031 7032 - 104 + 103 @@ -25427,12 +25406,12 @@ 1 2 - 104 + 103 3 4 - 104 + 103 @@ -25448,12 +25427,12 @@ 2 3 - 104 + 103 14 15 - 104 + 103 @@ -25469,12 +25448,12 @@ 9 10 - 104 + 103 4624 4625 - 104 + 103 @@ -25490,17 +25469,17 @@ 1 2 - 425623 + 422573 2 3 - 36607 + 36335 3 201 - 20963 + 20704 @@ -25516,7 +25495,7 @@ 1 2 - 483193 + 479613 @@ -25532,12 +25511,12 @@ 1 2 - 478917 + 475369 2 3 - 4276 + 4244 @@ -25553,7 +25532,7 @@ 1 2 - 483193 + 479613 @@ -25563,27 +25542,27 @@ attribute_args - 409523 + 409982 id - 409523 + 409982 kind - 1397 + 1399 attribute - 297708 + 298041 index - 1397 + 1399 location - 327059 + 327426 @@ -25597,7 +25576,7 @@ 1 2 - 409523 + 409982 @@ -25613,7 +25592,7 @@ 1 2 - 409523 + 409982 @@ -25629,7 +25608,7 @@ 1 2 - 409523 + 409982 @@ -25645,7 +25624,7 @@ 1 2 - 409523 + 409982 @@ -25661,17 +25640,17 @@ 1 2 - 465 + 466 84 85 - 465 + 466 794 795 - 465 + 466 @@ -25687,17 +25666,17 @@ 1 2 - 465 + 466 84 85 - 465 + 466 606 607 - 465 + 466 @@ -25713,12 +25692,12 @@ 1 2 - 931 + 932 3 4 - 465 + 466 @@ -25734,17 +25713,17 @@ 1 2 - 465 + 466 54 55 - 465 + 466 674 675 - 465 + 466 @@ -25760,17 +25739,17 @@ 1 2 - 215710 + 215952 2 3 - 52180 + 52238 3 4 - 29817 + 29850 @@ -25786,12 +25765,12 @@ 1 2 - 273481 + 273788 2 3 - 24226 + 24253 @@ -25807,17 +25786,17 @@ 1 2 - 215710 + 215952 2 3 - 52180 + 52238 3 4 - 29817 + 29850 @@ -25833,17 +25812,17 @@ 1 2 - 215710 + 215952 2 3 - 52180 + 52238 3 4 - 29817 + 29850 @@ -25859,17 +25838,17 @@ 64 65 - 465 + 466 176 177 - 465 + 466 639 640 - 465 + 466 @@ -25885,12 +25864,12 @@ 1 2 - 931 + 932 3 4 - 465 + 466 @@ -25906,17 +25885,17 @@ 64 65 - 465 + 466 176 177 - 465 + 466 639 640 - 465 + 466 @@ -25932,17 +25911,17 @@ 34 35 - 465 + 466 140 141 - 465 + 466 528 529 - 465 + 466 @@ -25958,22 +25937,22 @@ 1 2 - 278606 + 278918 2 3 - 23294 + 23320 3 9 - 24692 + 24720 17 18 - 465 + 466 @@ -25989,12 +25968,12 @@ 1 2 - 314480 + 314832 2 3 - 12579 + 12593 @@ -26010,22 +25989,22 @@ 1 2 - 278606 + 278918 2 3 - 23294 + 23320 3 9 - 24692 + 24720 17 18 - 465 + 466 @@ -26041,7 +26020,7 @@ 1 2 - 327059 + 327426 @@ -26051,15 +26030,15 @@ attribute_arg_value - 39135 + 39179 arg - 39135 + 39179 value - 15840 + 15858 @@ -26073,7 +26052,7 @@ 1 2 - 39135 + 39179 @@ -26089,12 +26068,12 @@ 1 2 - 14442 + 14458 2 34 - 1397 + 1399 @@ -26104,15 +26083,15 @@ attribute_arg_type - 465 + 466 arg - 465 + 466 type_id - 465 + 466 @@ -26126,7 +26105,7 @@ 1 2 - 465 + 466 @@ -26142,7 +26121,7 @@ 1 2 - 465 + 466 @@ -26152,15 +26131,15 @@ attribute_arg_constant - 369922 + 370336 arg - 369922 + 370336 constant - 369922 + 370336 @@ -26174,7 +26153,7 @@ 1 2 - 369922 + 370336 @@ -26190,7 +26169,7 @@ 1 2 - 369922 + 370336 @@ -26301,15 +26280,15 @@ typeattributes - 84999 + 84369 type_id - 62159 + 61698 spec_id - 84999 + 84369 @@ -26323,17 +26302,17 @@ 1 2 - 56214 + 55797 2 4 - 4276 + 4244 12 13 - 1668 + 1656 @@ -26349,7 +26328,7 @@ 1 2 - 84999 + 84369 @@ -26359,15 +26338,15 @@ funcattributes - 650858 + 651587 func_id - 442602 + 443098 spec_id - 650858 + 651587 @@ -26381,22 +26360,22 @@ 1 2 - 334048 + 334422 2 3 - 65225 + 65298 3 6 - 34942 + 34981 6 9 - 8386 + 8395 @@ -26412,7 +26391,7 @@ 1 2 - 650858 + 651587 @@ -26480,15 +26459,15 @@ stmtattributes - 977 + 973 stmt_id - 977 + 973 spec_id - 977 + 973 @@ -26502,7 +26481,7 @@ 1 2 - 977 + 973 @@ -26518,7 +26497,7 @@ 1 2 - 977 + 973 @@ -26528,15 +26507,15 @@ unspecifiedtype - 10144906 + 10144615 type_id - 10144906 + 10144615 unspecified_type_id - 6818402 + 6817181 @@ -26550,7 +26529,7 @@ 1 2 - 10144906 + 10144615 @@ -26566,17 +26545,17 @@ 1 2 - 4585358 + 4584433 2 3 - 1995902 + 1995340 3 145 - 237141 + 237407 @@ -26586,19 +26565,19 @@ member - 4997440 + 4945084 parent - 646092 + 639377 index - 8791 + 8698 child - 4952285 + 4900409 @@ -26612,42 +26591,42 @@ 1 3 - 19271 + 19067 3 4 - 348050 + 344496 4 5 - 38226 + 37786 5 7 - 53032 + 52504 7 10 - 52750 + 52191 10 15 - 50148 + 49581 15 24 - 49445 + 48955 24 251 - 35167 + 34794 @@ -26663,42 +26642,42 @@ 1 3 - 19271 + 19067 3 4 - 347979 + 344427 4 5 - 38261 + 37821 5 7 - 53137 + 52608 7 10 - 53102 + 52539 10 15 - 49761 + 49198 15 24 - 49515 + 49024 24 255 - 35061 + 34689 @@ -26714,62 +26693,62 @@ 1 2 - 1406 + 1391 2 3 - 808 + 800 3 4 - 949 + 939 5 22 - 668 + 661 22 42 - 668 + 661 42 56 - 668 + 661 56 100 - 668 + 661 104 164 - 668 + 661 181 299 - 668 + 661 300 727 - 668 + 661 845 4002 - 668 + 661 4606 - 18041 - 281 + 18045 + 278 @@ -26785,62 +26764,62 @@ 1 2 - 808 + 800 2 3 - 879 + 869 3 4 - 1160 + 1148 4 15 - 668 + 661 16 35 - 738 + 730 36 55 - 668 + 661 57 93 - 738 + 730 97 135 - 668 + 661 140 256 - 668 + 661 268 612 - 668 + 661 619 2611 - 668 + 661 2770 - 18053 - 457 + 18057 + 452 @@ -26856,7 +26835,7 @@ 1 2 - 4952285 + 4900409 @@ -26872,12 +26851,12 @@ 1 2 - 4908502 + 4857090 2 8 - 43783 + 43318 @@ -26887,15 +26866,15 @@ enclosingfunction - 118347 + 117884 child - 118347 + 117884 parent - 67599 + 67335 @@ -26909,7 +26888,7 @@ 1 2 - 118347 + 117884 @@ -26925,22 +26904,22 @@ 1 2 - 35726 + 35587 2 3 - 20975 + 20893 3 4 - 5931 + 5908 4 45 - 4965 + 4946 @@ -26950,27 +26929,27 @@ derivations - 395209 + 391086 derivation - 395209 + 391086 sub - 374742 + 370836 index - 211 + 208 super - 204673 + 202501 location - 38086 + 37682 @@ -26984,7 +26963,7 @@ 1 2 - 395209 + 391086 @@ -27000,7 +26979,7 @@ 1 2 - 395209 + 391086 @@ -27016,7 +26995,7 @@ 1 2 - 395209 + 391086 @@ -27032,7 +27011,7 @@ 1 2 - 395209 + 391086 @@ -27048,12 +27027,12 @@ 1 2 - 359620 + 355874 2 7 - 15121 + 14961 @@ -27069,12 +27048,12 @@ 1 2 - 359620 + 355874 2 7 - 15121 + 14961 @@ -27090,12 +27069,12 @@ 1 2 - 359620 + 355874 2 7 - 15121 + 14961 @@ -27111,12 +27090,12 @@ 1 2 - 359620 + 355874 2 7 - 15121 + 14961 @@ -27132,22 +27111,22 @@ 25 26 - 105 + 104 77 78 - 35 + 34 430 431 - 35 + 34 - 10656 - 10657 - 35 + 10658 + 10659 + 34 @@ -27163,22 +27142,22 @@ 25 26 - 105 + 104 77 78 - 35 + 34 430 431 - 35 + 34 - 10656 - 10657 - 35 + 10658 + 10659 + 34 @@ -27194,27 +27173,27 @@ 23 24 - 35 + 34 25 26 - 70 + 69 35 36 - 35 + 34 261 262 - 35 + 34 5465 5466 - 35 + 34 @@ -27230,22 +27209,22 @@ 1 2 - 105 + 104 9 10 - 35 + 34 66 67 - 35 + 34 1005 1006 - 35 + 34 @@ -27261,12 +27240,12 @@ 1 2 - 197217 + 195125 2 - 1518 - 7455 + 1519 + 7376 @@ -27282,12 +27261,12 @@ 1 2 - 197217 + 195125 2 - 1518 - 7455 + 1519 + 7376 @@ -27303,12 +27282,12 @@ 1 2 - 204216 + 202049 2 4 - 457 + 452 @@ -27324,12 +27303,12 @@ 1 2 - 200980 + 198848 2 108 - 3692 + 3653 @@ -27345,27 +27324,27 @@ 1 2 - 28309 + 28009 2 5 - 3235 + 3201 5 15 - 2918 + 2887 15 134 - 2883 + 2853 136 476 - 738 + 730 @@ -27381,27 +27360,27 @@ 1 2 - 28309 + 28009 2 5 - 3235 + 3201 5 15 - 2918 + 2887 15 134 - 2883 + 2853 136 476 - 738 + 730 @@ -27417,7 +27396,7 @@ 1 2 - 38086 + 37682 @@ -27433,22 +27412,22 @@ 1 2 - 30700 + 30375 2 5 - 3376 + 3340 5 45 - 2883 + 2853 54 415 - 1125 + 1113 @@ -27458,15 +27437,15 @@ derspecifiers - 397108 + 392965 der_id - 394822 + 390703 spec_id - 140 + 139 @@ -27480,12 +27459,12 @@ 1 2 - 392536 + 388441 2 3 - 2285 + 2261 @@ -27501,22 +27480,22 @@ 65 66 - 35 + 34 93 94 - 35 + 34 1127 1128 - 35 + 34 - 10007 - 10008 - 35 + 10009 + 10010 + 34 @@ -27526,15 +27505,15 @@ direct_base_offsets - 365985 + 362172 der_id - 365985 + 362172 offset - 351 + 347 @@ -27548,7 +27527,7 @@ 1 2 - 365985 + 362172 @@ -27564,32 +27543,32 @@ 1 2 - 35 + 34 2 3 - 105 + 104 3 4 - 70 + 69 4 5 - 70 + 69 85 86 - 35 + 34 - 10301 - 10302 - 35 + 10303 + 10304 + 34 @@ -27599,19 +27578,19 @@ virtual_base_offsets - 6471 + 6445 sub - 3572 + 3558 super - 494 + 492 offset - 247 + 246 @@ -27625,17 +27604,17 @@ 1 2 - 2808 + 2797 2 4 - 314 + 313 4 7 - 258 + 257 7 @@ -27656,17 +27635,17 @@ 1 2 - 3010 + 2999 2 4 - 303 + 302 4 8 - 258 + 257 @@ -27692,7 +27671,7 @@ 3 4 - 56 + 55 4 @@ -27743,7 +27722,7 @@ 1 2 - 280 + 279 2 @@ -27890,23 +27869,23 @@ frienddecls - 713754 + 706182 id - 713754 + 706182 type_id - 42306 + 41857 decl_id - 70053 + 69309 location - 6330 + 6262 @@ -27920,7 +27899,7 @@ 1 2 - 713754 + 706182 @@ -27936,7 +27915,7 @@ 1 2 - 713754 + 706182 @@ -27952,7 +27931,7 @@ 1 2 - 713754 + 706182 @@ -27968,47 +27947,47 @@ 1 2 - 6189 + 6123 2 3 - 13187 + 13047 3 6 - 2954 + 2922 6 10 - 3200 + 3166 10 17 - 3270 + 3235 17 24 - 3340 + 3305 25 36 - 3305 + 3270 37 55 - 3235 + 3201 55 103 - 3622 + 3583 @@ -28024,47 +28003,47 @@ 1 2 - 6189 + 6123 2 3 - 13187 + 13047 3 6 - 2954 + 2922 6 10 - 3200 + 3166 10 17 - 3270 + 3235 17 24 - 3340 + 3305 25 36 - 3305 + 3270 37 55 - 3235 + 3201 55 103 - 3622 + 3583 @@ -28080,12 +28059,12 @@ 1 2 - 40864 + 40430 2 13 - 1441 + 1426 @@ -28101,37 +28080,37 @@ 1 2 - 40407 + 39978 2 3 - 5872 + 5810 3 8 - 6013 + 5949 8 15 - 5415 + 5358 15 32 - 5275 + 5219 32 71 - 5275 + 5219 72 160 - 1793 + 1774 @@ -28147,37 +28126,37 @@ 1 2 - 40407 + 39978 2 3 - 5872 + 5810 3 8 - 6013 + 5949 8 15 - 5415 + 5358 15 32 - 5275 + 5219 32 71 - 5275 + 5219 72 160 - 1793 + 1774 @@ -28193,12 +28172,12 @@ 1 2 - 69384 + 68648 2 5 - 668 + 661 @@ -28214,12 +28193,12 @@ 1 2 - 5943 + 5880 2 20106 - 386 + 382 @@ -28235,12 +28214,12 @@ 1 2 - 6189 + 6123 2 1105 - 140 + 139 @@ -28256,12 +28235,12 @@ 1 2 - 5978 + 5915 2 1837 - 351 + 347 @@ -28271,19 +28250,19 @@ comments - 8751514 + 8686670 id - 8751514 + 8686670 contents - 3332400 + 3307709 location - 8751514 + 8686670 @@ -28297,7 +28276,7 @@ 1 2 - 8751514 + 8686670 @@ -28313,7 +28292,7 @@ 1 2 - 8751514 + 8686670 @@ -28329,17 +28308,17 @@ 1 2 - 3048408 + 3025820 2 7 - 250514 + 248657 7 32784 - 33478 + 33230 @@ -28355,17 +28334,17 @@ 1 2 - 3048408 + 3025820 2 7 - 250514 + 248657 7 32784 - 33478 + 33230 @@ -28381,7 +28360,7 @@ 1 2 - 8751514 + 8686670 @@ -28397,7 +28376,7 @@ 1 2 - 8751514 + 8686670 @@ -28407,15 +28386,15 @@ commentbinding - 3084703 + 3088160 id - 2440368 + 2443103 element - 3008296 + 3011668 @@ -28429,12 +28408,12 @@ 1 2 - 2363495 + 2366144 2 97 - 76873 + 76959 @@ -28450,12 +28429,12 @@ 1 2 - 2931889 + 2935175 2 3 - 76407 + 76492 @@ -28465,15 +28444,15 @@ exprconv - 7022968 + 7033432 converted - 7022968 + 7033432 conversion - 7022968 + 7033432 @@ -28487,7 +28466,7 @@ 1 2 - 7022968 + 7033432 @@ -28503,7 +28482,7 @@ 1 2 - 7022968 + 7033432 @@ -28513,30 +28492,30 @@ compgenerated - 9150058 + 9265823 id - 9150058 + 9265823 synthetic_destructor_call - 143878 + 471159 element - 111422 + 286813 i - 335 + 381 destructor_call - 143878 + 471159 @@ -28550,17 +28529,27 @@ 1 2 - 91779 + 190103 2 3 - 12950 + 50404 3 - 18 - 6692 + 4 + 21503 + + + 4 + 7 + 23238 + + + 7 + 20 + 1563 @@ -28576,17 +28565,27 @@ 1 2 - 91779 + 189912 2 3 - 12950 + 50537 3 - 18 - 6692 + 4 + 21503 + + + 4 + 7 + 23295 + + + 7 + 20 + 1563 @@ -28599,15 +28598,10 @@ 12 - - 1 - 2 - 19 - 2 3 - 59 + 19 3 @@ -28617,21 +28611,46 @@ 4 5 - 59 + 19 + + + 5 + 6 + 19 6 7 19 + + 7 + 8 + 19 + + + 10 + 11 + 19 + 11 12 19 - 20 - 21 + 16 + 17 + 19 + + + 18 + 19 + 19 + + + 26 + 27 19 @@ -28640,28 +28659,43 @@ 19 - 65 - 66 + 37 + 38 19 - 152 - 153 + 82 + 83 19 - 339 - 340 + 193 + 194 19 - 995 - 996 + 422 + 423 19 - 5644 - 5645 + 1301 + 1302 + 19 + + + 2429 + 2430 + 19 + + + 5068 + 5069 + 19 + + + 15013 + 15014 19 @@ -28675,15 +28709,10 @@ 12 - - 1 - 2 - 19 - 2 3 - 59 + 19 3 @@ -28693,21 +28722,46 @@ 4 5 - 59 + 19 + + + 5 + 6 + 19 6 7 19 + + 7 + 8 + 19 + + + 10 + 11 + 19 + 11 12 19 - 20 - 21 + 16 + 17 + 19 + + + 18 + 19 + 19 + + + 26 + 27 19 @@ -28716,28 +28770,43 @@ 19 - 65 - 66 + 37 + 38 19 - 152 - 153 + 82 + 83 19 - 339 - 340 + 193 + 194 19 - 995 - 996 + 422 + 423 19 - 5644 - 5645 + 1301 + 1302 + 19 + + + 2429 + 2430 + 19 + + + 5071 + 5072 + 19 + + + 15038 + 15039 19 @@ -28754,7 +28823,7 @@ 1 2 - 143878 + 471159 @@ -28770,7 +28839,7 @@ 1 2 - 143878 + 471159 @@ -28780,15 +28849,15 @@ namespaces - 12113 + 12126 id - 12113 + 12126 name - 9783 + 9794 @@ -28802,7 +28871,7 @@ 1 2 - 12113 + 12126 @@ -28818,17 +28887,17 @@ 1 2 - 8386 + 8395 2 3 - 465 + 466 3 4 - 931 + 932 @@ -28838,26 +28907,26 @@ namespace_inline - 1397 + 1399 id - 1397 + 1399 namespacembrs - 2383528 + 2385733 parentid - 10249 + 10261 memberid - 2383528 + 2385733 @@ -28871,52 +28940,52 @@ 1 2 - 1863 + 1865 2 4 - 931 + 932 4 5 - 931 + 932 5 7 - 931 + 932 7 8 - 931 + 932 8 12 - 931 + 932 17 30 - 931 + 932 43 47 - 931 + 932 52 143 - 931 + 932 258 - 4469 - 931 + 4468 + 932 @@ -28932,7 +29001,7 @@ 1 2 - 2383528 + 2385733 @@ -28942,19 +29011,19 @@ exprparents - 14185678 + 14207341 expr_id - 14185678 + 14207341 child_index - 14636 + 14659 parent_id - 9439823 + 9454239 @@ -28968,7 +29037,7 @@ 1 2 - 14185678 + 14207341 @@ -28984,7 +29053,7 @@ 1 2 - 14185678 + 14207341 @@ -29000,12 +29069,12 @@ 1 2 - 2816 + 2820 2 3 - 1110 + 1111 3 @@ -29015,22 +29084,22 @@ 4 5 - 6557 + 6567 5 8 - 1212 + 1214 8 11 - 1192 + 1194 11 53 - 1110 + 1111 56 @@ -29051,12 +29120,12 @@ 1 2 - 2816 + 2820 2 3 - 1110 + 1111 3 @@ -29066,22 +29135,22 @@ 4 5 - 6557 + 6567 5 8 - 1212 + 1214 8 11 - 1192 + 1194 11 53 - 1110 + 1111 56 @@ -29102,17 +29171,17 @@ 1 2 - 5401426 + 5409675 2 3 - 3701154 + 3706806 3 712 - 337242 + 337757 @@ -29128,17 +29197,17 @@ 1 2 - 5401426 + 5409675 2 3 - 3701154 + 3706806 3 712 - 337242 + 337757 @@ -29148,22 +29217,22 @@ expr_isload - 5203642 + 5170780 expr_id - 5203642 + 5170780 conversionkinds - 4221347 + 4221331 expr_id - 4221347 + 4221331 kind @@ -29181,7 +29250,7 @@ 1 2 - 4221347 + 4221331 @@ -29205,8 +29274,8 @@ 1 - 13929 - 13930 + 13928 + 13929 1 @@ -29220,8 +29289,8 @@ 1 - 4131269 - 4131270 + 4131254 + 4131255 1 @@ -29232,15 +29301,15 @@ iscall - 2958862 + 3183297 caller - 2958862 + 3183297 kind - 59 + 57 @@ -29254,7 +29323,7 @@ 1 2 - 2958862 + 3183297 @@ -29278,8 +29347,8 @@ 19 - 146089 - 146090 + 163193 + 163194 19 @@ -29290,15 +29359,15 @@ numtemplatearguments - 397495 + 393347 expr_id - 397495 + 393347 num - 316 + 313 @@ -29312,7 +29381,7 @@ 1 2 - 397495 + 393347 @@ -29328,37 +29397,37 @@ 1 2 - 105 + 104 4 5 - 35 + 34 20 21 - 35 + 34 101 102 - 35 + 34 229 230 - 35 + 34 248 249 - 35 + 34 - 10698 - 10699 - 35 + 10700 + 10701 + 34 @@ -29368,15 +29437,15 @@ specialnamequalifyingelements - 465 + 466 id - 465 + 466 name - 465 + 466 @@ -29390,7 +29459,7 @@ 1 2 - 465 + 466 @@ -29406,7 +29475,7 @@ 1 2 - 465 + 466 @@ -29416,23 +29485,23 @@ namequalifiers - 1570954 + 1516804 id - 1570954 + 1516804 qualifiableelement - 1570954 + 1516804 qualifyingelement - 101314 + 97777 location - 316244 + 305343 @@ -29446,7 +29515,7 @@ 1 2 - 1570954 + 1516804 @@ -29462,7 +29531,7 @@ 1 2 - 1570954 + 1516804 @@ -29478,7 +29547,7 @@ 1 2 - 1570954 + 1516804 @@ -29494,7 +29563,7 @@ 1 2 - 1570954 + 1516804 @@ -29510,7 +29579,7 @@ 1 2 - 1570954 + 1516804 @@ -29526,7 +29595,7 @@ 1 2 - 1570954 + 1516804 @@ -29542,27 +29611,27 @@ 1 2 - 60745 + 58601 2 3 - 23255 + 22457 3 5 - 9239 + 8921 5 92 - 7640 + 7377 96 - 21576 - 434 + 21572 + 419 @@ -29578,27 +29647,27 @@ 1 2 - 60745 + 58601 2 3 - 23255 + 22457 3 5 - 9239 + 8921 5 92 - 7640 + 7377 96 - 21576 - 434 + 21572 + 419 @@ -29614,22 +29683,22 @@ 1 2 - 66371 + 64035 2 3 - 21439 + 20703 3 5 - 8686 + 8388 5 7095 - 4817 + 4651 @@ -29645,32 +29714,32 @@ 1 2 - 104631 + 101018 2 3 - 29415 + 28385 3 4 - 46373 + 44780 4 6 - 14826 + 14316 6 7 - 98788 + 95394 7 790 - 22209 + 21446 @@ -29686,32 +29755,32 @@ 1 2 - 104631 + 101018 2 3 - 29415 + 28385 3 4 - 46373 + 44780 4 6 - 14826 + 14316 6 7 - 98788 + 95394 7 790 - 22209 + 21446 @@ -29727,22 +29796,22 @@ 1 2 - 142575 + 137659 2 3 - 57804 + 55799 3 4 - 106309 + 102658 4 143 - 9555 + 9226 @@ -29752,15 +29821,15 @@ varbind - 6020283 + 6029477 expr - 6020283 + 6029477 var - 767403 + 768575 @@ -29774,7 +29843,7 @@ 1 2 - 6020283 + 6029477 @@ -29790,52 +29859,52 @@ 1 2 - 126036 + 126229 2 3 - 137672 + 137882 3 4 - 106137 + 106299 4 5 - 85086 + 85216 5 6 - 61199 + 61292 6 7 - 48042 + 48115 7 9 - 59533 + 59624 9 13 - 59184 + 59274 13 28 - 58793 + 58883 28 5137 - 25717 + 25756 @@ -29845,15 +29914,15 @@ funbind - 2962929 + 3187262 expr - 2959178 + 3183583 fun - 532278 + 512661 @@ -29867,12 +29936,12 @@ 1 2 - 2955427 + 3179903 2 3 - 3750 + 3679 @@ -29888,32 +29957,32 @@ 1 2 - 328780 + 316152 2 3 - 81948 + 78084 3 4 - 31784 + 31455 4 7 - 47913 + 46210 7 - 158 - 39937 + 133 + 38451 - 159 - 4943 - 1914 + 133 + 4992 + 2306 @@ -29923,19 +29992,19 @@ expr_allocator - 46455 + 45963 expr - 46455 + 45963 func - 105 + 104 form - 35 + 34 @@ -29949,7 +30018,7 @@ 1 2 - 46455 + 45963 @@ -29965,7 +30034,7 @@ 1 2 - 46455 + 45963 @@ -29981,17 +30050,17 @@ 1 2 - 35 + 34 585 586 - 35 + 34 735 736 - 35 + 34 @@ -30007,7 +30076,7 @@ 1 2 - 105 + 104 @@ -30023,7 +30092,7 @@ 1321 1322 - 35 + 34 @@ -30039,7 +30108,7 @@ 3 4 - 35 + 34 @@ -30049,19 +30118,19 @@ expr_deallocator - 55212 + 54626 expr - 55212 + 54626 func - 105 + 104 form - 70 + 69 @@ -30075,7 +30144,7 @@ 1 2 - 55212 + 54626 @@ -30091,7 +30160,7 @@ 1 2 - 55212 + 54626 @@ -30107,17 +30176,17 @@ 1 2 - 35 + 34 722 723 - 35 + 34 847 848 - 35 + 34 @@ -30133,7 +30202,7 @@ 1 2 - 105 + 104 @@ -30149,12 +30218,12 @@ 722 723 - 35 + 34 848 849 - 35 + 34 @@ -30170,12 +30239,12 @@ 1 2 - 35 + 34 2 3 - 35 + 34 @@ -30185,26 +30254,26 @@ expr_cond_two_operand - 480 + 481 cond - 480 + 481 expr_cond_guard - 656298 + 657276 cond - 656298 + 657276 guard - 656298 + 657276 @@ -30218,7 +30287,7 @@ 1 2 - 656298 + 657276 @@ -30234,7 +30303,7 @@ 1 2 - 656298 + 657276 @@ -30244,15 +30313,15 @@ expr_cond_true - 656295 + 657273 cond - 656295 + 657273 true - 656295 + 657273 @@ -30266,7 +30335,7 @@ 1 2 - 656295 + 657273 @@ -30282,7 +30351,7 @@ 1 2 - 656295 + 657273 @@ -30292,15 +30361,15 @@ expr_cond_false - 656298 + 657276 cond - 656298 + 657276 false - 656298 + 657276 @@ -30314,7 +30383,7 @@ 1 2 - 656298 + 657276 @@ -30330,7 +30399,7 @@ 1 2 - 656298 + 657276 @@ -30340,15 +30409,15 @@ values - 10760930 + 10777325 id - 10760930 + 10777325 str - 87934 + 88068 @@ -30362,7 +30431,7 @@ 1 2 - 10760930 + 10777325 @@ -30378,27 +30447,27 @@ 1 2 - 59458 + 59548 2 3 - 12391 + 12410 3 6 - 6906 + 6916 6 56 - 6621 + 6631 57 - 452015 - 2557 + 452017 + 2561 @@ -30471,15 +30540,15 @@ valuebind - 11194506 + 11211571 val - 10760930 + 10777325 expr - 11194506 + 11211571 @@ -30493,12 +30562,12 @@ 1 2 - 10349865 + 10365623 2 7 - 411064 + 411701 @@ -30514,7 +30583,7 @@ 1 2 - 11194506 + 11211571 @@ -30524,15 +30593,15 @@ fieldoffsets - 1053150 + 1054758 id - 1053150 + 1054758 byteoffset - 22659 + 22694 bitoffset @@ -30550,7 +30619,7 @@ 1 2 - 1053150 + 1054758 @@ -30566,7 +30635,7 @@ 1 2 - 1053150 + 1054758 @@ -30582,37 +30651,37 @@ 1 2 - 13005 + 13025 2 3 - 1715 + 1718 3 5 - 1795 + 1797 5 12 - 1914 + 1917 12 35 - 1715 + 1718 35 205 - 1715 + 1718 244 5638 - 797 + 799 @@ -30628,12 +30697,12 @@ 1 2 - 21981 + 22014 2 9 - 678 + 679 @@ -30725,19 +30794,19 @@ bitfield - 20858 + 20704 id - 20858 + 20704 bits - 2607 + 2588 declared_bits - 2607 + 2588 @@ -30751,7 +30820,7 @@ 1 2 - 20858 + 20704 @@ -30767,7 +30836,7 @@ 1 2 - 20858 + 20704 @@ -30783,42 +30852,42 @@ 1 2 - 730 + 724 2 3 - 625 + 621 3 4 - 208 + 207 4 5 - 208 + 207 5 6 - 208 + 207 6 8 - 208 + 207 8 11 - 208 + 207 12 115 - 208 + 207 @@ -30834,7 +30903,7 @@ 1 2 - 2607 + 2588 @@ -30850,42 +30919,42 @@ 1 2 - 730 + 724 2 3 - 625 + 621 3 4 - 208 + 207 4 5 - 208 + 207 5 6 - 208 + 207 6 8 - 208 + 207 8 11 - 208 + 207 12 115 - 208 + 207 @@ -30901,7 +30970,7 @@ 1 2 - 2607 + 2588 @@ -30911,23 +30980,23 @@ initialisers - 1710236 + 1710241 init - 1710236 + 1710241 var - 719575 + 719566 expr - 1710236 + 1710241 location - 394516 + 394521 @@ -30941,7 +31010,7 @@ 1 2 - 1710236 + 1710241 @@ -30957,7 +31026,7 @@ 1 2 - 1710236 + 1710241 @@ -30973,7 +31042,7 @@ 1 2 - 1710236 + 1710241 @@ -30989,7 +31058,7 @@ 1 2 - 633831 + 633820 2 @@ -30999,7 +31068,7 @@ 16 25 - 57021 + 57022 @@ -31015,7 +31084,7 @@ 1 2 - 633831 + 633820 2 @@ -31025,7 +31094,7 @@ 16 25 - 57021 + 57022 @@ -31041,7 +31110,7 @@ 1 2 - 719569 + 719560 2 @@ -31062,7 +31131,7 @@ 1 2 - 1710236 + 1710241 @@ -31078,7 +31147,7 @@ 1 2 - 1710236 + 1710241 @@ -31094,7 +31163,7 @@ 1 2 - 1710236 + 1710241 @@ -31110,7 +31179,7 @@ 1 2 - 321600 + 321604 2 @@ -31120,7 +31189,7 @@ 3 15 - 30976 + 30977 15 @@ -31141,17 +31210,17 @@ 1 2 - 344483 + 344488 2 4 - 36086 + 36106 4 12073 - 13945 + 13927 @@ -31167,7 +31236,7 @@ 1 2 - 321600 + 321604 2 @@ -31177,7 +31246,7 @@ 3 15 - 30976 + 30977 15 @@ -31192,26 +31261,26 @@ braced_initialisers - 41639 + 41701 init - 41639 + 41701 expr_ancestor - 148162 + 475296 exp - 148162 + 475296 ancestor - 92668 + 269541 @@ -31225,7 +31294,7 @@ 1 2 - 148162 + 475296 @@ -31241,22 +31310,27 @@ 1 2 - 65069 + 165739 2 3 - 18359 + 54712 3 + 4 + 22152 + + + 4 6 - 7422 + 22132 6 26 - 1816 + 4804 @@ -31266,19 +31340,19 @@ exprs - 18360534 + 18388573 id - 18360534 + 18388573 kind - 1163 + 1165 location - 8475665 + 8488587 @@ -31292,7 +31366,7 @@ 1 2 - 18360534 + 18388573 @@ -31308,7 +31382,7 @@ 1 2 - 18360534 + 18388573 @@ -31383,7 +31457,7 @@ 63119 - 136808 + 136815 88 @@ -31486,22 +31560,22 @@ 1 2 - 7134774 + 7145568 2 3 - 661975 + 663069 3 18 - 637171 + 638140 18 71656 - 41744 + 41808 @@ -31517,17 +31591,65 @@ 1 2 - 7240687 + 7251643 2 3 - 617251 + 618277 3 32 - 617727 + 618666 + + + + + + + + + expr_reuse + 331632 + + + reuse + 331632 + + + original + 331632 + + + + + reuse + original + + + 12 + + + 1 + 2 + 331632 + + + + + + + original + reuse + + + 12 + + + 1 + 2 + 331632 @@ -31537,15 +31659,15 @@ expr_types - 18487847 + 18461112 id - 18356624 + 18330447 typeid - 1243492 + 1237209 value_category @@ -31563,12 +31685,12 @@ 1 2 - 18225401 + 18199782 2 3 - 131222 + 130664 @@ -31584,7 +31706,7 @@ 1 2 - 18356624 + 18330447 @@ -31600,42 +31722,42 @@ 1 2 - 450100 + 448184 2 3 - 258108 + 256965 3 4 - 103214 + 102788 4 5 - 84643 + 84133 5 8 - 111056 + 110196 8 14 - 99102 + 98435 14 42 - 94046 + 93511 42 - 125383 - 43220 + 125366 + 42995 @@ -31651,17 +31773,17 @@ 1 2 - 1074947 + 1069468 2 3 - 158085 + 157321 3 4 - 10459 + 10418 @@ -31675,18 +31797,18 @@ 12 - 14895 - 14896 + 14892 + 14893 11 - 372954 - 372955 + 372687 + 372688 11 - 1246055 - 1246056 + 1250400 + 1250401 11 @@ -31706,13 +31828,13 @@ 11 - 30879 - 30880 + 30862 + 30863 11 - 93014 - 93015 + 92891 + 92892 11 @@ -31723,15 +31845,15 @@ new_allocated_type - 47510 + 47006 expr - 47510 + 47006 type_id - 28098 + 27800 @@ -31745,7 +31867,7 @@ 1 2 - 47510 + 47006 @@ -31761,17 +31883,17 @@ 1 2 - 11745 + 11621 2 3 - 14875 + 14717 3 19 - 1477 + 1461 @@ -32866,15 +32988,15 @@ condition_decl_bind - 42306 + 40853 expr - 42306 + 40853 decl - 42306 + 40853 @@ -32888,7 +33010,7 @@ 1 2 - 42306 + 40853 @@ -32904,7 +33026,7 @@ 1 2 - 42306 + 40853 @@ -32914,15 +33036,15 @@ typeid_bind - 36362 + 35977 expr - 36362 + 35977 type_id - 16352 + 16179 @@ -32936,7 +33058,7 @@ 1 2 - 36362 + 35977 @@ -32952,12 +33074,12 @@ 1 2 - 15930 + 15761 3 328 - 422 + 417 @@ -32975,7 +33097,7 @@ type_id - 20096 + 20097 @@ -33005,7 +33127,7 @@ 1 2 - 19931 + 19932 2 @@ -33020,15 +33142,15 @@ sizeof_bind - 198892 + 199195 expr - 198892 + 199195 type_id - 8169 + 8181 @@ -33042,7 +33164,7 @@ 1 2 - 198892 + 199195 @@ -33058,22 +33180,22 @@ 1 2 - 2689 + 2693 2 3 - 2330 + 2333 3 4 - 776 + 777 4 5 - 739 + 740 5 @@ -33083,12 +33205,12 @@ 6 9 - 713 + 714 9 133 - 649 + 650 164 @@ -33151,19 +33273,19 @@ lambdas - 21431 + 21455 expr - 21431 + 21455 default_capture - 465 + 466 has_explicit_return_type - 465 + 466 @@ -33177,7 +33299,7 @@ 1 2 - 21431 + 21455 @@ -33193,7 +33315,7 @@ 1 2 - 21431 + 21455 @@ -33209,7 +33331,7 @@ 46 47 - 465 + 466 @@ -33225,7 +33347,7 @@ 1 2 - 465 + 466 @@ -33241,7 +33363,7 @@ 46 47 - 465 + 466 @@ -33257,7 +33379,7 @@ 1 2 - 465 + 466 @@ -33267,35 +33389,35 @@ lambda_capture - 27953 + 27985 id - 27953 + 27985 lambda - 20499 + 20522 index - 931 + 932 field - 27953 + 27985 captured_by_reference - 465 + 466 is_implicit - 465 + 466 location - 2795 + 2798 @@ -33309,7 +33431,7 @@ 1 2 - 27953 + 27985 @@ -33325,7 +33447,7 @@ 1 2 - 27953 + 27985 @@ -33341,7 +33463,7 @@ 1 2 - 27953 + 27985 @@ -33357,7 +33479,7 @@ 1 2 - 27953 + 27985 @@ -33373,7 +33495,7 @@ 1 2 - 27953 + 27985 @@ -33389,7 +33511,7 @@ 1 2 - 27953 + 27985 @@ -33405,12 +33527,12 @@ 1 2 - 13045 + 13059 2 3 - 7454 + 7462 @@ -33426,12 +33548,12 @@ 1 2 - 13045 + 13059 2 3 - 7454 + 7462 @@ -33447,12 +33569,12 @@ 1 2 - 13045 + 13059 2 3 - 7454 + 7462 @@ -33468,7 +33590,7 @@ 1 2 - 20499 + 20522 @@ -33484,7 +33606,7 @@ 1 2 - 20499 + 20522 @@ -33500,12 +33622,12 @@ 1 2 - 13045 + 13059 2 3 - 7454 + 7462 @@ -33521,12 +33643,12 @@ 16 17 - 465 + 466 44 45 - 465 + 466 @@ -33542,12 +33664,12 @@ 16 17 - 465 + 466 44 45 - 465 + 466 @@ -33563,12 +33685,12 @@ 16 17 - 465 + 466 44 45 - 465 + 466 @@ -33584,7 +33706,7 @@ 1 2 - 931 + 932 @@ -33600,7 +33722,7 @@ 1 2 - 931 + 932 @@ -33616,12 +33738,12 @@ 2 3 - 465 + 466 4 5 - 465 + 466 @@ -33637,7 +33759,7 @@ 1 2 - 27953 + 27985 @@ -33653,7 +33775,7 @@ 1 2 - 27953 + 27985 @@ -33669,7 +33791,7 @@ 1 2 - 27953 + 27985 @@ -33685,7 +33807,7 @@ 1 2 - 27953 + 27985 @@ -33701,7 +33823,7 @@ 1 2 - 27953 + 27985 @@ -33717,7 +33839,7 @@ 1 2 - 27953 + 27985 @@ -33733,7 +33855,7 @@ 60 61 - 465 + 466 @@ -33749,7 +33871,7 @@ 44 45 - 465 + 466 @@ -33765,7 +33887,7 @@ 2 3 - 465 + 466 @@ -33781,7 +33903,7 @@ 60 61 - 465 + 466 @@ -33797,7 +33919,7 @@ 1 2 - 465 + 466 @@ -33813,7 +33935,7 @@ 6 7 - 465 + 466 @@ -33829,7 +33951,7 @@ 60 61 - 465 + 466 @@ -33845,7 +33967,7 @@ 44 45 - 465 + 466 @@ -33861,7 +33983,7 @@ 2 3 - 465 + 466 @@ -33877,7 +33999,7 @@ 60 61 - 465 + 466 @@ -33893,7 +34015,7 @@ 1 2 - 465 + 466 @@ -33909,7 +34031,7 @@ 6 7 - 465 + 466 @@ -33925,12 +34047,12 @@ 8 9 - 1863 + 1865 14 15 - 931 + 932 @@ -33946,12 +34068,12 @@ 8 9 - 1863 + 1865 14 15 - 931 + 932 @@ -33967,7 +34089,7 @@ 1 2 - 2795 + 2798 @@ -33983,12 +34105,12 @@ 8 9 - 1863 + 1865 14 15 - 931 + 932 @@ -34004,7 +34126,7 @@ 1 2 - 2795 + 2798 @@ -34020,7 +34142,7 @@ 1 2 - 2795 + 2798 @@ -34146,19 +34268,19 @@ stmts - 4648694 + 4619943 id - 4648694 + 4619943 kind - 1981 + 1966 location - 2286749 + 2269598 @@ -34172,7 +34294,7 @@ 1 2 - 4648694 + 4619943 @@ -34188,7 +34310,7 @@ 1 2 - 4648694 + 4619943 @@ -34204,97 +34326,97 @@ 1 2 - 104 + 103 18 19 - 104 + 103 22 23 - 104 + 103 46 47 - 104 + 103 75 76 - 104 + 103 83 84 - 104 + 103 102 103 - 104 + 103 154 155 - 104 + 103 242 243 - 104 + 103 284 285 - 104 + 103 383 384 - 104 + 103 418 419 - 104 + 103 - 502 - 503 - 104 + 503 + 504 + 103 - 1325 - 1326 - 104 + 1326 + 1327 + 103 - 2630 - 2631 - 104 + 2635 + 2636 + 103 - 4613 - 4614 - 104 + 4621 + 4622 + 103 - 8794 - 8795 - 104 + 8803 + 8804 + 103 - 11560 - 11561 - 104 + 11577 + 11578 + 103 - 13321 - 13322 - 104 + 13335 + 13336 + 103 @@ -34310,97 +34432,97 @@ 1 2 - 104 + 103 8 9 - 104 + 103 18 19 - 104 + 103 45 46 - 104 + 103 50 51 - 104 + 103 56 57 - 104 + 103 74 75 - 104 + 103 89 90 - 104 + 103 101 102 - 104 + 103 128 129 - 104 + 103 209 210 - 104 + 103 252 253 - 104 + 103 368 369 - 104 + 103 642 643 - 104 + 103 1743 1744 - 104 + 103 2190 2191 - 104 + 103 - 4229 - 4230 - 104 + 4228 + 4229 + 103 6071 6072 - 104 + 103 - 6568 - 6569 - 104 + 6567 + 6568 + 103 @@ -34416,22 +34538,22 @@ 1 2 - 1893352 + 1879323 2 4 - 175318 + 174019 4 12 - 175631 + 174122 12 687 - 42447 + 42133 @@ -34447,12 +34569,12 @@ 1 2 - 2229596 + 2212869 2 8 - 57153 + 56729 @@ -34558,15 +34680,15 @@ if_initialization - 312 + 310 if_stmt - 312 + 310 init_id - 312 + 310 @@ -34580,7 +34702,7 @@ 1 2 - 312 + 310 @@ -34596,7 +34718,7 @@ 1 2 - 312 + 310 @@ -34606,15 +34728,15 @@ if_then - 724849 + 725956 if_stmt - 724849 + 725956 then_id - 724849 + 725956 @@ -34628,7 +34750,7 @@ 1 2 - 724849 + 725956 @@ -34644,7 +34766,7 @@ 1 2 - 724849 + 725956 @@ -34654,15 +34776,15 @@ if_else - 184398 + 184680 if_stmt - 184398 + 184680 else_id - 184398 + 184680 @@ -34676,7 +34798,7 @@ 1 2 - 184398 + 184680 @@ -34692,7 +34814,7 @@ 1 2 - 184398 + 184680 @@ -34750,15 +34872,15 @@ constexpr_if_then - 52355 + 52071 constexpr_if_stmt - 52355 + 52071 then_id - 52355 + 52071 @@ -34772,7 +34894,7 @@ 1 2 - 52355 + 52071 @@ -34788,7 +34910,7 @@ 1 2 - 52355 + 52071 @@ -34798,15 +34920,15 @@ constexpr_if_else - 30766 + 30538 constexpr_if_stmt - 30766 + 30538 else_id - 30766 + 30538 @@ -34820,7 +34942,7 @@ 1 2 - 30766 + 30538 @@ -34836,7 +34958,7 @@ 1 2 - 30766 + 30538 @@ -34846,15 +34968,15 @@ while_body - 29345 + 29152 while_stmt - 29345 + 29152 body_id - 29345 + 29152 @@ -34868,7 +34990,7 @@ 1 2 - 29345 + 29152 @@ -34884,7 +35006,7 @@ 1 2 - 29345 + 29152 @@ -34894,15 +35016,15 @@ do_body - 148655 + 148882 do_stmt - 148655 + 148882 body_id - 148655 + 148882 @@ -34916,7 +35038,7 @@ 1 2 - 148655 + 148882 @@ -34932,7 +35054,7 @@ 1 2 - 148655 + 148882 @@ -34942,15 +35064,15 @@ switch_initialization - 4 + 5 switch_stmt - 4 + 5 init_id - 4 + 5 @@ -34964,7 +35086,7 @@ 1 2 - 4 + 5 @@ -34980,7 +35102,7 @@ 1 2 - 4 + 5 @@ -34990,19 +35112,19 @@ switch_case - 209046 + 201865 switch_stmt - 11193 + 10809 index - 4856 + 4689 case_id - 209046 + 201865 @@ -35016,57 +35138,57 @@ 2 3 - 59 + 57 3 4 - 2487 + 2402 4 5 - 1816 + 1753 5 6 - 1085 + 1048 6 8 - 1026 + 991 8 9 - 552 + 533 9 10 - 1066 + 1029 10 12 - 1026 + 991 12 25 - 868 + 838 30 152 - 848 + 819 181 247 - 355 + 343 @@ -35082,57 +35204,57 @@ 2 3 - 59 + 57 3 4 - 2487 + 2402 4 5 - 1816 + 1753 5 6 - 1085 + 1048 6 8 - 1026 + 991 8 9 - 552 + 533 9 10 - 1066 + 1029 10 12 - 1026 + 991 12 25 - 868 + 838 30 152 - 848 + 819 181 247 - 355 + 343 @@ -35148,32 +35270,32 @@ 14 15 - 1283 + 1239 18 19 - 592 + 571 32 33 - 2092 + 2020 33 62 - 414 + 400 66 292 - 375 + 362 346 568 - 98 + 95 @@ -35189,32 +35311,32 @@ 14 15 - 1283 + 1239 18 19 - 592 + 571 32 33 - 2092 + 2020 33 62 - 414 + 400 66 292 - 375 + 362 346 568 - 98 + 95 @@ -35230,7 +35352,7 @@ 1 2 - 209046 + 201865 @@ -35246,7 +35368,7 @@ 1 2 - 209046 + 201865 @@ -35256,15 +35378,15 @@ switch_body - 20756 + 20788 switch_stmt - 20756 + 20788 body_id - 20756 + 20788 @@ -35278,7 +35400,7 @@ 1 2 - 20756 + 20788 @@ -35294,7 +35416,7 @@ 1 2 - 20756 + 20788 @@ -35304,15 +35426,15 @@ for_initialization - 53325 + 53407 for_stmt - 53325 + 53407 init_id - 53325 + 53407 @@ -35326,7 +35448,7 @@ 1 2 - 53325 + 53407 @@ -35342,7 +35464,7 @@ 1 2 - 53325 + 53407 @@ -35352,15 +35474,15 @@ for_condition - 55586 + 55671 for_stmt - 55586 + 55671 condition_id - 55586 + 55671 @@ -35374,7 +35496,7 @@ 1 2 - 55586 + 55671 @@ -35390,7 +35512,7 @@ 1 2 - 55586 + 55671 @@ -35400,15 +35522,15 @@ for_update - 53428 + 53509 for_stmt - 53428 + 53509 update_id - 53428 + 53509 @@ -35422,7 +35544,7 @@ 1 2 - 53428 + 53509 @@ -35438,7 +35560,7 @@ 1 2 - 53428 + 53509 @@ -35448,15 +35570,15 @@ for_body - 61466 + 61560 for_stmt - 61466 + 61560 body_id - 61466 + 61560 @@ -35470,7 +35592,7 @@ 1 2 - 61466 + 61560 @@ -35486,7 +35608,7 @@ 1 2 - 61466 + 61560 @@ -35496,11 +35618,11 @@ stmtparents - 4054126 + 4054468 id - 4054126 + 4054468 index @@ -35508,7 +35630,7 @@ parent - 1721123 + 1721248 @@ -35522,7 +35644,7 @@ 1 2 - 4054126 + 4054468 @@ -35538,7 +35660,7 @@ 1 2 - 4054126 + 4054468 @@ -35598,7 +35720,7 @@ 77 - 195121 + 195132 704 @@ -35659,7 +35781,7 @@ 77 - 195121 + 195132 704 @@ -35676,27 +35798,27 @@ 1 2 - 989099 + 989113 2 3 - 372496 + 372551 3 4 - 105695 + 105697 4 6 - 111192 + 111251 6 17 - 130356 + 130351 17 @@ -35717,27 +35839,27 @@ 1 2 - 989099 + 989113 2 3 - 372496 + 372551 3 4 - 105695 + 105697 4 6 - 111192 + 111251 6 17 - 130356 + 130351 17 @@ -35752,22 +35874,22 @@ ishandler - 65128 + 62891 block - 65128 + 62891 stmt_decl_bind - 581396 + 580807 stmt - 541537 + 540988 num @@ -35775,7 +35897,7 @@ decl - 581292 + 580703 @@ -35789,12 +35911,12 @@ 1 2 - 520808 + 520281 2 19 - 20728 + 20707 @@ -35810,12 +35932,12 @@ 1 2 - 520808 + 520281 2 19 - 20728 + 20707 @@ -35904,8 +36026,8 @@ 4 - 129788 - 129789 + 129790 + 129791 4 @@ -35995,8 +36117,8 @@ 4 - 129763 - 129764 + 129765 + 129766 4 @@ -36013,7 +36135,7 @@ 1 2 - 581255 + 580665 2 @@ -36034,7 +36156,7 @@ 1 2 - 581292 + 580703 @@ -36044,11 +36166,11 @@ stmt_decl_entry_bind - 524221 + 523682 stmt - 484662 + 484163 num @@ -36056,7 +36178,7 @@ decl_entry - 524163 + 523624 @@ -36070,12 +36192,12 @@ 1 2 - 464196 + 463719 2 19 - 20465 + 20444 @@ -36091,12 +36213,12 @@ 1 2 - 464196 + 463719 2 19 - 20465 + 20444 @@ -36294,7 +36416,7 @@ 1 2 - 524142 + 523603 3 @@ -36315,7 +36437,7 @@ 1 2 - 524163 + 523624 @@ -36325,15 +36447,15 @@ blockscope - 1413997 + 1415581 block - 1413997 + 1415581 enclosing - 1298920 + 1300376 @@ -36347,7 +36469,7 @@ 1 2 - 1413997 + 1415581 @@ -36363,12 +36485,12 @@ 1 2 - 1233695 + 1235077 2 13 - 65225 + 65298 @@ -36378,19 +36500,19 @@ jumpinfo - 254083 + 254471 id - 254083 + 254471 str - 21159 + 21192 target - 53064 + 53145 @@ -36404,7 +36526,7 @@ 1 2 - 254083 + 254471 @@ -36420,7 +36542,7 @@ 1 2 - 254083 + 254471 @@ -36436,37 +36558,37 @@ 2 3 - 9879 + 9894 3 4 - 4247 + 4254 4 5 - 1566 + 1568 5 6 - 1340 + 1342 6 10 - 1700 + 1702 10 22 - 1621 + 1623 22 13723 - 804 + 805 @@ -36482,17 +36604,17 @@ 1 2 - 16723 + 16748 2 3 - 2632 + 2636 3 10 - 1688 + 1690 10 @@ -36518,27 +36640,27 @@ 2 3 - 26437 + 26478 3 4 - 12901 + 12921 4 5 - 5344 + 5352 5 8 - 4692 + 4699 8 2124 - 3662 + 3668 @@ -36554,7 +36676,7 @@ 1 2 - 53064 + 53145 @@ -36564,19 +36686,19 @@ preprocdirects - 4421959 + 4389195 id - 4421959 + 4389195 kind - 1147 + 1138 location - 4419352 + 4386607 @@ -36590,7 +36712,7 @@ 1 2 - 4421959 + 4389195 @@ -36606,7 +36728,7 @@ 1 2 - 4421959 + 4389195 @@ -36622,57 +36744,57 @@ 1 2 - 104 + 103 122 123 - 104 + 103 694 695 - 104 + 103 799 800 - 104 + 103 932 933 - 104 + 103 1689 1690 - 104 + 103 1792 1793 - 104 + 103 3012 3013 - 104 + 103 3802 3803 - 104 + 103 6290 6291 - 104 + 103 23266 23267 - 104 + 103 @@ -36688,57 +36810,57 @@ 1 2 - 104 + 103 122 123 - 104 + 103 694 695 - 104 + 103 799 800 - 104 + 103 932 933 - 104 + 103 1689 1690 - 104 + 103 1792 1793 - 104 + 103 3012 3013 - 104 + 103 3802 3803 - 104 + 103 6290 6291 - 104 + 103 23241 23242 - 104 + 103 @@ -36754,12 +36876,12 @@ 1 2 - 4419247 + 4386503 26 27 - 104 + 103 @@ -36775,7 +36897,7 @@ 1 2 - 4419352 + 4386607 @@ -36785,15 +36907,15 @@ preprocpair - 1428440 + 1430040 begin - 1194559 + 1195898 elseelifend - 1428440 + 1430040 @@ -36807,17 +36929,17 @@ 1 2 - 976520 + 977614 2 3 - 207790 + 208022 3 11 - 10249 + 10261 @@ -36833,7 +36955,7 @@ 1 2 - 1428440 + 1430040 @@ -36843,41 +36965,41 @@ preproctrue - 765468 + 766326 branch - 765468 + 766326 preprocfalse - 330786 + 331157 branch - 330786 + 331157 preproctext - 3565497 + 3539079 id - 3565497 + 3539079 head - 2583987 + 2564841 body - 1510176 + 1498986 @@ -36891,7 +37013,7 @@ 1 2 - 3565497 + 3539079 @@ -36907,7 +37029,7 @@ 1 2 - 3565497 + 3539079 @@ -36923,12 +37045,12 @@ 1 2 - 2437036 + 2418979 2 740 - 146950 + 145861 @@ -36944,12 +37066,12 @@ 1 2 - 2521827 + 2503142 2 5 - 62159 + 61698 @@ -36965,17 +37087,17 @@ 1 2 - 1367085 + 1356955 2 6 - 113263 + 112424 6 11630 - 29828 + 29607 @@ -36991,17 +37113,17 @@ 1 2 - 1370109 + 1359957 2 7 - 113576 + 112734 7 2980 - 26490 + 26294 @@ -37011,15 +37133,15 @@ includes - 312616 + 312967 id - 312616 + 312967 included - 116940 + 117071 @@ -37033,7 +37155,7 @@ 1 2 - 312616 + 312967 @@ -37049,32 +37171,32 @@ 1 2 - 61032 + 61100 2 3 - 21897 + 21921 3 4 - 12579 + 12593 4 6 - 10249 + 10261 6 14 - 8852 + 8861 14 47 - 2329 + 2332 @@ -37084,15 +37206,15 @@ link_targets - 848 + 819 id - 848 + 819 binary - 848 + 819 @@ -37106,7 +37228,7 @@ 1 2 - 848 + 819 @@ -37122,7 +37244,7 @@ 1 2 - 848 + 819 @@ -37132,15 +37254,15 @@ link_parent - 39286447 + 38877182 element - 4979610 + 4927618 link_target - 351 + 347 @@ -37154,17 +37276,17 @@ 1 2 - 671377 + 664255 2 9 - 26129 + 25852 9 10 - 4282103 + 4237510 @@ -37180,52 +37302,52 @@ 3 4 - 35 + 34 - 121946 - 121947 - 35 + 121970 + 121971 + 34 - 122058 - 122059 - 35 + 122082 + 122083 + 34 - 122157 - 122158 - 35 + 122181 + 122182 + 34 - 122188 - 122189 - 35 + 122212 + 122213 + 34 - 122200 - 122201 - 35 + 122224 + 122225 + 34 - 122217 - 122218 - 35 + 122241 + 122242 + 34 - 124217 - 124218 - 35 + 124241 + 124242 + 34 - 128871 - 128872 - 35 + 128895 + 128896 + 34 - 131275 - 131276 - 35 + 131299 + 131300 + 34 diff --git a/cpp/ql/lib/upgrades/298438feb146335af824002589cd6d4e96e5dbf9/old.dbscheme b/cpp/ql/lib/upgrades/298438feb146335af824002589cd6d4e96e5dbf9/old.dbscheme new file mode 100644 index 00000000000..298438feb14 --- /dev/null +++ b/cpp/ql/lib/upgrades/298438feb146335af824002589cd6d4e96e5dbf9/old.dbscheme @@ -0,0 +1,2244 @@ + +/** + * An invocation of the compiler. Note that more than one file may be + * compiled per invocation. For example, this command compiles three + * source files: + * + * gcc -c f1.c f2.c f3.c + * + * The `id` simply identifies the invocation, while `cwd` is the working + * directory from which the compiler was invoked. + */ +compilations( + /** + * An invocation of the compiler. Note that more than one file may + * be compiled per invocation. For example, this command compiles + * three source files: + * + * gcc -c f1.c f2.c f3.c + */ + unique int id : @compilation, + string cwd : string ref +); + +/** + * The arguments that were passed to the extractor for a compiler + * invocation. If `id` is for the compiler invocation + * + * gcc -c f1.c f2.c f3.c + * + * then typically there will be rows for + * + * num | arg + * --- | --- + * 0 | *path to extractor* + * 1 | `--mimic` + * 2 | `/usr/bin/gcc` + * 3 | `-c` + * 4 | f1.c + * 5 | f2.c + * 6 | f3.c + */ +#keyset[id, num] +compilation_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * The source files that are compiled by a compiler invocation. + * If `id` is for the compiler invocation + * + * gcc -c f1.c f2.c f3.c + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | f1.c + * 1 | f2.c + * 2 | f3.c + * + * Note that even if those files `#include` headers, those headers + * do not appear as rows. + */ +#keyset[id, num] +compilation_compiling_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * The time taken by the extractor for a compiler invocation. + * + * For each file `num`, there will be rows for + * + * kind | seconds + * ---- | --- + * 1 | CPU seconds used by the extractor frontend + * 2 | Elapsed seconds during the extractor frontend + * 3 | CPU seconds used by the extractor backend + * 4 | Elapsed seconds during the extractor backend + */ +#keyset[id, num, kind] +compilation_time( + int id : @compilation ref, + int num : int ref, + /* kind: + 1 = frontend_cpu_seconds + 2 = frontend_elapsed_seconds + 3 = extractor_cpu_seconds + 4 = extractor_elapsed_seconds + */ + int kind : int ref, + float seconds : float ref +); + +/** + * An error or warning generated by the extractor. + * The diagnostic message `diagnostic` was generated during compiler + * invocation `compilation`, and is the `file_number_diagnostic_number`th + * message generated while extracting the `file_number`th file of that + * invocation. + */ +#keyset[compilation, file_number, file_number_diagnostic_number] +diagnostic_for( + int diagnostic : @diagnostic ref, + int compilation : @compilation ref, + int file_number : int ref, + int file_number_diagnostic_number : int ref +); + +/** + * If extraction was successful, then `cpu_seconds` and + * `elapsed_seconds` are the CPU time and elapsed time (respectively) + * that extraction took for compiler invocation `id`. + */ +compilation_finished( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref +); + + +/** + * External data, loaded from CSV files during snapshot creation. See + * [Tutorial: Incorporating external data](https://help.semmle.com/wiki/display/SD/Tutorial%3A+Incorporating+external+data) + * for more information. + */ +externalData( + int id : @externalDataElement, + string path : string ref, + int column: int ref, + string value : string ref +); + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/** + * Information about packages that provide code used during compilation. + * The `id` is just a unique identifier. + * The `namespace` is typically the name of the package manager that + * provided the package (e.g. "dpkg" or "yum"). + * The `package_name` is the name of the package, and `version` is its + * version (as a string). + */ +external_packages( + unique int id: @external_package, + string namespace : string ref, + string package_name : string ref, + string version : string ref +); + +/** + * Holds if File `fileid` was provided by package `package`. + */ +header_to_external_package( + int fileid : @file ref, + int package : @external_package ref +); + +/* + * Version history + */ + +svnentries( + unique int id : @svnentry, + string revision : string ref, + string author : string ref, + date revisionDate : date ref, + int changeSize : int ref +) + +svnaffectedfiles( + int id : @svnentry ref, + int file : @file ref, + string action : string ref +) + +svnentrymsg( + unique int id : @svnentry ref, + string message : string ref +) + +svnchurn( + int commit : @svnentry ref, + int file : @file ref, + int addedLines : int ref, + int deletedLines : int ref +) + +/* + * C++ dbscheme + */ + +extractor_version( + string codeql_version: string ref, + string frontend_version: string ref +) + +@location = @location_stmt | @location_expr | @location_default ; + +/** + * The location of an element that is not an expression or a statement. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_default( + /** The location of an element that is not an expression or a statement. */ + unique int id: @location_default, + int container: @container ref, + int startLine: int ref, + int startColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +/** + * The location of a statement. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_stmt( + /** The location of a statement. */ + unique int id: @location_stmt, + int container: @container ref, + int startLine: int ref, + int startColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +/** + * The location of an expression. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_expr( + /** The location of an expression. */ + unique int id: @location_expr, + int container: @container ref, + int startLine: int ref, + int startColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +/** An element for which line-count information is available. */ +@sourceline = @file | @function | @variable | @enumconstant | @xmllocatable; + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +diagnostics( + unique int id: @diagnostic, + int severity: int ref, + string error_tag: string ref, + string error_message: string ref, + string full_error_message: string ref, + int location: @location_default ref +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @folder | @file + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +fileannotations( + int id: @file ref, + int kind: int ref, + string name: string ref, + string value: string ref +); + +inmacroexpansion( + int id: @element ref, + int inv: @macroinvocation ref +); + +affectedbymacroexpansion( + int id: @element ref, + int inv: @macroinvocation ref +); + +case @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 ref +); + +#keyset[invocation, argument_index] +macro_argument_unexpanded( + int invocation: @macroinvocation ref, + int argument_index: int ref, + string text: string ref +); + +#keyset[invocation, argument_index] +macro_argument_expanded( + int invocation: @macroinvocation ref, + int argument_index: int ref, + string text: string ref +); + +/* +case @function.kind of + 1 = @normal_function +| 2 = @constructor +| 3 = @destructor +| 4 = @conversion_function +| 5 = @operator +| 6 = @builtin_function // 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 +); + +function_entry_point( + int id: @function ref, + unique int entry_point: @stmt ref +); + +function_return_type( + int id: @function ref, + int return_type: @type ref +); + +/** + * If `function` is a coroutine, then this gives the `std::experimental::resumable_traits` + * instance associated with it, and the variables representing the `handle` and `promise` + * for it. + */ +coroutine( + unique int function: @function ref, + int traits: @type ref, + int handle: @variable ref, + int promise: @variable ref +); + +/** The `new` function used for allocating the coroutine state, if any. */ +coroutine_new( + unique int function: @function ref, + int new: @function ref +); + +/** The `delete` function used for deallocating the coroutine state, if any. */ +coroutine_delete( + unique int function: @function ref, + int delete: @function ref +); + +purefunctions(unique int id: @function ref); + +function_deleted(unique int id: @function ref); + +function_defaulted(unique int id: @function ref); + +function_prototyped(unique int id: @function ref) + +member_function_this_type( + unique int id: @function ref, + int this_type: @type ref +); + +#keyset[id, type_id] +fun_decls( + int id: @fun_decl, + int function: @function ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); +fun_def(unique int id: @fun_decl ref); +fun_specialized(unique int id: @fun_decl ref); +fun_implicit(unique int id: @fun_decl ref); +fun_decl_specifiers( + int id: @fun_decl ref, + string name: string ref +) +#keyset[fun_decl, index] +fun_decl_throws( + int fun_decl: @fun_decl ref, + int index: int ref, + int type_id: @type ref +); +/* an empty throw specification is different from none */ +fun_decl_empty_throws(unique int fun_decl: @fun_decl ref); +fun_decl_noexcept( + int fun_decl: @fun_decl ref, + int constant: @expr ref +); +fun_decl_empty_noexcept(int fun_decl: @fun_decl ref); +fun_decl_typedef_type( + unique int fun_decl: @fun_decl ref, + int typedeftype_id: @usertype ref +); + +param_decl_bind( + unique int id: @var_decl ref, + int index: int ref, + int fun_decl: @fun_decl ref +); + +#keyset[id, type_id] +var_decls( + int id: @var_decl, + int variable: @variable ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); +var_def(unique int id: @var_decl ref); +var_decl_specifiers( + int id: @var_decl ref, + string name: string ref +) +is_structured_binding(unique int id: @variable ref); + +type_decls( + unique int id: @type_decl, + int type_id: @type ref, + int location: @location_default ref +); +type_def(unique int id: @type_decl ref); +type_decl_top( + unique int type_decl: @type_decl ref +); + +namespace_decls( + unique int id: @namespace_decl, + int namespace_id: @namespace ref, + int location: @location_default ref, + int bodylocation: @location_default ref +); + +usings( + unique int id: @using, + int element_id: @element ref, + int location: @location_default ref +); + +/** The element which contains the `using` declaration. */ +using_container( + int parent: @element ref, + int child: @using ref +); + +static_asserts( + unique int id: @static_assert, + int condition : @expr ref, + string message : string ref, + int location: @location_default ref, + int enclosing : @element ref +); + +// each function has an ordered list of parameters +#keyset[id, type_id] +#keyset[function, index, type_id] +params( + int id: @parameter, + int function: @functionorblock ref, + int index: int ref, + int type_id: @type ref +); + +overrides( + int new: @function ref, + int old: @function ref +); + +#keyset[id, type_id] +membervariables( + int id: @membervariable, + int type_id: @type ref, + string name: string ref +); + +#keyset[id, type_id] +globalvariables( + int id: @globalvariable, + int type_id: @type ref, + string name: string ref +); + +#keyset[id, type_id] +localvariables( + int id: @localvariable, + int type_id: @type ref, + string name: string ref +); + +autoderivation( + unique int var: @variable ref, + int derivation_type: @type ref +); + +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 +; + +builtintypes( + unique int id: @builtintype, + string name: string ref, + int kind: int ref, + int size: int ref, + int sign: int ref, + int alignment: int ref +); + +/** + * Derived types are types that are directly derived from existing types and + * point to, refer to, transform type data to return a new type. + */ +case @derivedtype.kind of + 1 = @pointer +| 2 = @reference +| 3 = @type_with_specifiers +| 4 = @array +| 5 = @gnu_vector +| 6 = @routineptr +| 7 = @routinereference +| 8 = @rvalue_reference // C++11 +// ... 9 type_conforming_to_protocols deprecated +| 10 = @block +; + +derivedtypes( + unique int id: @derivedtype, + string name: string ref, + int kind: int ref, + int type_id: @type ref +); + +pointerishsize(unique int id: @derivedtype ref, + int size: int ref, + int alignment: int ref); + +arraysizes( + unique int id: @derivedtype ref, + int num_elements: int ref, + int bytesize: int ref, + int alignment: int ref +); + +typedefbase( + unique int id: @usertype ref, + int type_id: @type ref +); + +/** + * An instance of the C++11 `decltype` operator. For example: + * ``` + * int a; + * decltype(1+a) b; + * ``` + * Here `expr` is `1+a`. + * + * Sometimes an additional pair of parentheses around the expression + * would change the semantics of this decltype, e.g. + * ``` + * struct A { double x; }; + * const A* a = new A(); + * decltype( a->x ); // type is double + * decltype((a->x)); // type is const double& + * ``` + * (Please consult the C++11 standard for more details). + * `parentheses_would_change_meaning` is `true` iff that is the case. + */ +#keyset[id, expr] +decltypes( + int id: @decltype, + int expr: @expr ref, + int base_type: @type ref, + boolean parentheses_would_change_meaning: boolean ref +); + +/* +case @usertype.kind of + 1 = @struct +| 2 = @class +| 3 = @union +| 4 = @enum +| 5 = @typedef // classic C: typedef typedef type name +| 6 = @template +| 7 = @template_parameter +| 8 = @template_template_parameter +| 9 = @proxy_class // a proxy class associated with a template parameter +// ... 10 objc_class deprecated +// ... 11 objc_protocol deprecated +// ... 12 objc_category deprecated +| 13 = @scoped_enum +| 14 = @using_alias // a using name = type style typedef +; +*/ + +usertypes( + unique int id: @usertype, + string name: string ref, + int kind: int ref +); + +usertypesize( + unique int id: @usertype ref, + int size: int ref, + int alignment: int ref +); + +usertype_final(unique int id: @usertype ref); + +usertype_uuid( + unique int id: @usertype ref, + string uuid: string ref +); + +mangled_name( + unique int id: @declaration ref, + int mangled_name : @mangledname, + 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 +); + +is_proxy_class_for( + unique int id: @usertype ref, + unique int templ_param_id: @usertype ref +); + +type_mentions( + unique int id: @type_mention, + int type_id: @type ref, + int location: @location ref, + // a_symbol_reference_kind from the 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 +); + +/* + Fixed point types + precision(1) = short, precision(2) = default, precision(3) = long + is_unsigned(1) = unsigned is_unsigned(2) = signed + is_fract_type(1) = declared with _Fract + saturating(1) = declared with _Sat +*/ +/* TODO +fixedpointtypes( + unique int id: @fixedpointtype, + int precision: int ref, + int is_unsigned: int ref, + int is_fract_type: int ref, + int saturating: int ref); +*/ + +routinetypes( + unique int id: @routinetype, + int return_type: @type ref +); + +routinetypeargs( + int routine: @routinetype ref, + int index: int ref, + int type_id: @type ref +); + +ptrtomembers( + unique int id: @ptrtomember, + int type_id: @type ref, + int class_id: @type ref +); + +/* + specifiers for types, functions, and variables + + "public", + "protected", + "private", + + "const", + "volatile", + "static", + + "pure", + "virtual", + "sealed", // Microsoft + "__interface", // Microsoft + "inline", + "explicit", + + "near", // near far extension + "far", // near far extension + "__ptr32", // Microsoft + "__ptr64", // Microsoft + "__sptr", // Microsoft + "__uptr", // Microsoft + "dllimport", // Microsoft + "dllexport", // Microsoft + "thread", // Microsoft + "naked", // Microsoft + "microsoft_inline", // Microsoft + "forceinline", // Microsoft + "selectany", // Microsoft + "nothrow", // Microsoft + "novtable", // Microsoft + "noreturn", // Microsoft + "noinline", // Microsoft + "noalias", // Microsoft + "restrict", // Microsoft +*/ + +specifiers( + unique int id: @specifier, + unique string str: string ref +); + +typespecifiers( + int type_id: @type ref, + int spec_id: @specifier ref +); + +funspecifiers( + int func_id: @function ref, + int spec_id: @specifier ref +); + +varspecifiers( + int var_id: @accessible ref, + int spec_id: @specifier ref +); + +attributes( + unique int id: @attribute, + int kind: int ref, + string name: string ref, + string name_space: string ref, + int location: @location_default ref +); + +case @attribute.kind of + 0 = @gnuattribute +| 1 = @stdattribute +| 2 = @declspec +| 3 = @msattribute +| 4 = @alignas +// ... 5 @objc_propertyattribute deprecated +; + +attribute_args( + unique int id: @attribute_arg, + int kind: int ref, + int attribute: @attribute ref, + int index: int ref, + int location: @location_default ref +); + +case @attribute_arg.kind of + 0 = @attribute_arg_empty +| 1 = @attribute_arg_token +| 2 = @attribute_arg_constant +| 3 = @attribute_arg_type +| 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 +); + +stmtattributes( + int stmt_id: @stmt ref, + int spec_id: @attribute ref +); + +@type = @builtintype + | @derivedtype + | @usertype + /* TODO | @fixedpointtype */ + | @routinetype + | @ptrtomember + | @decltype; + +unspecifiedtype( + unique int type_id: @type ref, + int unspecified_type_id: @type ref +); + +member( + int parent: @type ref, + int index: int ref, + int child: @member ref +); + +@enclosingfunction_child = @usertype | @variable | @namespace + +enclosingfunction( + unique int child: @enclosingfunction_child ref, + int parent: @function ref +); + +derivations( + unique int derivation: @derivation, + int sub: @type ref, + int index: int ref, + int super: @type ref, + int location: @location_default ref +); + +derspecifiers( + int der_id: @derivation ref, + int spec_id: @specifier ref +); + +/** + * Contains the byte offset of the base class subobject within the derived + * class. Only holds for non-virtual base classes, but see table + * `virtual_base_offsets` for offsets of virtual base class subobjects. + */ +direct_base_offsets( + unique int der_id: @derivation ref, + int offset: int ref +); + +/** + * Contains the byte offset of the virtual base class subobject for class + * `super` within a most-derived object of class `sub`. `super` can be either a + * direct or indirect base class. + */ +#keyset[sub, super] +virtual_base_offsets( + int sub: @usertype ref, + int super: @usertype ref, + int offset: int ref +); + +frienddecls( + unique int id: @frienddecl, + int type_id: @type ref, + int decl_id: @declaration ref, + int location: @location_default ref +); + +@declaredtype = @usertype ; + +@declaration = @function + | @declaredtype + | @variable + | @enumconstant + | @frienddecl; + +@member = @membervariable + | @function + | @declaredtype + | @enumconstant; + +@locatable = @diagnostic + | @declaration + | @ppd_include + | @ppd_define + | @macroinvocation + /*| @funcall*/ + | @xmllocatable + | @attribute + | @attribute_arg; + +@namedscope = @namespace | @usertype; + +@element = @locatable + | @file + | @folder + | @specifier + | @type + | @expr + | @namespace + | @initialiser + | @stmt + | @derivation + | @comment + | @preprocdirect + | @fun_decl + | @var_decl + | @type_decl + | @namespace_decl + | @using + | @namequalifier + | @specialnamequalifyingelement + | @static_assert + | @type_mention + | @lambdacapture; + +@exprparent = @element; + +comments( + unique int id: @comment, + string contents: string ref, + int location: @location_default ref +); + +commentbinding( + int id: @comment ref, + int element: @element ref +); + +exprconv( + int converted: @expr ref, + unique int conversion: @expr ref +); + +compgenerated(unique int id: @element ref); + +/** + * `destructor_call` destructs the `i`'th entity that should be + * destructed following `element`. Note that entities should be + * destructed in reverse construction order, so for a given `element` + * these should be called from highest to lowest `i`. + */ +#keyset[element, destructor_call] +#keyset[element, i] +synthetic_destructor_call( + int element: @element ref, + int i: int ref, + int destructor_call: @routineexpr ref +); + +namespaces( + unique int id: @namespace, + string name: string ref +); + +namespace_inline( + unique int id: @namespace ref +); + +namespacembrs( + int parentid: @namespace ref, + unique int memberid: @namespacembr ref +); + +@namespacembr = @declaration | @namespace; + +exprparents( + int expr_id: @expr ref, + int child_index: int ref, + int parent_id: @exprparent ref +); + +expr_isload(unique int expr_id: @expr ref); + +@cast = @c_style_cast + | @const_cast + | @dynamic_cast + | @reinterpret_cast + | @static_cast + ; + +/* +case @conversion.kind of + 0 = @simple_conversion // a numeric conversion, qualification conversion, or a reinterpret_cast +| 1 = @bool_conversion // conversion to 'bool' +| 2 = @base_class_conversion // a derived-to-base conversion +| 3 = @derived_class_conversion // a base-to-derived conversion +| 4 = @pm_base_class_conversion // a derived-to-base conversion of a pointer to member +| 5 = @pm_derived_class_conversion // a base-to-derived conversion of a pointer to member +| 6 = @glvalue_adjust // an adjustment of the type of a glvalue +| 7 = @prvalue_adjust // an adjustment of the type of a prvalue +; +*/ +/** + * Describes the semantics represented by a cast expression. This is largely + * independent of the source syntax of the cast, so it is separate from the + * regular expression kind. + */ +conversionkinds( + unique int expr_id: @cast ref, + int kind: int ref +); + +@conversion = @cast + | @array_to_pointer + | @parexpr + | @reference_to + | @ref_indirect + | @temp_init + ; + +/* +case @funbindexpr.kind of + 0 = @normal_call // a normal call +| 1 = @virtual_call // a virtual call +| 2 = @adl_call // a call whose target is only found by ADL +; +*/ +iscall( + unique int caller: @funbindexpr ref, + int kind: int ref +); + +numtemplatearguments( + unique int expr_id: @expr ref, + int num: int ref +); + +specialnamequalifyingelements( + unique int id: @specialnamequalifyingelement, + unique string name: string ref +); + +@namequalifiableelement = @expr | @namequalifier; +@namequalifyingelement = @namespace + | @specialnamequalifyingelement + | @usertype; + +namequalifiers( + unique int id: @namequalifier, + unique int qualifiableelement: @namequalifiableelement ref, + int qualifyingelement: @namequalifyingelement ref, + int location: @location_default ref +); + +varbind( + int expr: @varbindexpr ref, + int var: @accessible ref +); + +funbind( + int expr: @funbindexpr ref, + int fun: @function ref +); + +@any_new_expr = @new_expr + | @new_array_expr; + +@new_or_delete_expr = @any_new_expr + | @delete_expr + | @delete_array_expr; + +@prefix_crement_expr = @preincrexpr | @predecrexpr; + +@postfix_crement_expr = @postincrexpr | @postdecrexpr; + +@increment_expr = @preincrexpr | @postincrexpr; + +@decrement_expr = @predecrexpr | @postdecrexpr; + +@crement_expr = @increment_expr | @decrement_expr; + +@un_arith_op_expr = @arithnegexpr + | @unaryplusexpr + | @conjugation + | @realpartexpr + | @imagpartexpr + | @crement_expr + ; + +@un_bitwise_op_expr = @complementexpr; + +@un_log_op_expr = @notexpr; + +@un_op_expr = @address_of + | @indirect + | @un_arith_op_expr + | @un_bitwise_op_expr + | @builtinaddressof + | @vec_fill + | @un_log_op_expr + | @co_await + | @co_yield + ; + +@bin_log_op_expr = @andlogicalexpr | @orlogicalexpr; + +@cmp_op_expr = @eq_op_expr | @rel_op_expr; + +@eq_op_expr = @eqexpr | @neexpr; + +@rel_op_expr = @gtexpr + | @ltexpr + | @geexpr + | @leexpr + | @spaceshipexpr + ; + +@bin_bitwise_op_expr = @lshiftexpr + | @rshiftexpr + | @andexpr + | @orexpr + | @xorexpr + ; + +@p_arith_op_expr = @paddexpr + | @psubexpr + | @pdiffexpr + ; + +@bin_arith_op_expr = @addexpr + | @subexpr + | @mulexpr + | @divexpr + | @remexpr + | @jmulexpr + | @jdivexpr + | @fjaddexpr + | @jfaddexpr + | @fjsubexpr + | @jfsubexpr + | @minexpr + | @maxexpr + | @p_arith_op_expr + ; + +@bin_op_expr = @bin_arith_op_expr + | @bin_bitwise_op_expr + | @cmp_op_expr + | @bin_log_op_expr + ; + +@op_expr = @un_op_expr + | @bin_op_expr + | @assign_expr + | @conditionalexpr + ; + +@assign_arith_expr = @assignaddexpr + | @assignsubexpr + | @assignmulexpr + | @assigndivexpr + | @assignremexpr + ; + +@assign_bitwise_expr = @assignandexpr + | @assignorexpr + | @assignxorexpr + | @assignlshiftexpr + | @assignrshiftexpr + ; + +@assign_pointer_expr = @assignpaddexpr + | @assignpsubexpr + ; + +@assign_op_expr = @assign_arith_expr + | @assign_bitwise_expr + | @assign_pointer_expr + ; + +@assign_expr = @assignexpr | @assign_op_expr | @blockassignexpr + +/* + case @allocator.form of + 0 = plain + | 1 = alignment + ; +*/ + +/** + * The allocator function associated with a `new` or `new[]` expression. + * The `form` column specified whether the allocation call contains an alignment + * argument. + */ +expr_allocator( + unique int expr: @any_new_expr ref, + int func: @function ref, + int form: int ref +); + +/* + case @deallocator.form of + 0 = plain + | 1 = size + | 2 = alignment + | 3 = size_and_alignment + ; +*/ + +/** + * The deallocator function associated with a `delete`, `delete[]`, `new`, or + * `new[]` expression. For a `new` or `new[]` expression, the deallocator is the + * one used to free memory if the initialization throws an exception. + * The `form` column specifies whether the deallocation call contains a size + * argument, and alignment argument, or both. + */ +expr_deallocator( + unique int expr: @new_or_delete_expr ref, + int func: @function ref, + int form: int ref +); + +/** + * Holds if the `@conditionalexpr` is of the two operand form + * `guard ? : false`. + */ +expr_cond_two_operand( + unique int cond: @conditionalexpr ref +); + +/** + * The guard of `@conditionalexpr` `guard ? true : false` + */ +expr_cond_guard( + unique int cond: @conditionalexpr ref, + int guard: @expr ref +); + +/** + * The expression used when the guard of `@conditionalexpr` + * `guard ? true : false` holds. For the two operand form + * `guard ?: false` consider using `expr_cond_guard` instead. + */ +expr_cond_true( + unique int cond: @conditionalexpr ref, + int true: @expr ref +); + +/** + * The expression used when the guard of `@conditionalexpr` + * `guard ? true : false` does not hold. + */ +expr_cond_false( + unique int cond: @conditionalexpr ref, + int false: @expr ref +); + +/** A string representation of the value. */ +values( + unique int id: @value, + string str: string ref +); + +/** The actual text in the source code for the value, if any. */ +valuetext( + unique int id: @value ref, + string text: string ref +); + +valuebind( + int val: @value ref, + unique int expr: @expr ref +); + +fieldoffsets( + unique int id: @variable ref, + int byteoffset: int ref, + int bitoffset: int ref +); + +bitfield( + unique int id: @variable ref, + int bits: int ref, + int declared_bits: int ref +); + +/* TODO +memberprefix( + int member: @expr ref, + int prefix: @expr ref +); +*/ + +/* + kind(1) = mbrcallexpr + kind(2) = mbrptrcallexpr + kind(3) = mbrptrmbrcallexpr + kind(4) = ptrmbrptrmbrcallexpr + kind(5) = mbrreadexpr // x.y + kind(6) = mbrptrreadexpr // p->y + kind(7) = mbrptrmbrreadexpr // x.*pm + kind(8) = mbrptrmbrptrreadexpr // x->*pm + kind(9) = staticmbrreadexpr // static x.y + kind(10) = staticmbrptrreadexpr // static p->y +*/ +/* TODO +memberaccess( + int member: @expr ref, + int kind: int ref +); +*/ + +initialisers( + unique int init: @initialiser, + int var: @accessible ref, + unique int expr: @expr ref, + int location: @location_expr ref +); + +braced_initialisers( + int init: @initialiser ref +); + +/** + * An ancestor for the expression, for cases in which we cannot + * otherwise find the expression's parent. + */ +expr_ancestor( + int exp: @expr ref, + int ancestor: @element ref +); + +exprs( + unique int id: @expr, + int kind: int ref, + int location: @location_expr ref +); + +/* + case @value.category of + 1 = prval + | 2 = xval + | 3 = lval + ; +*/ +expr_types( + int id: @expr ref, + int typeid: @type ref, + int value_category: int ref +); + +case @expr.kind of + 1 = @errorexpr +| 2 = @address_of // & AddressOfExpr +| 3 = @reference_to // ReferenceToExpr (implicit?) +| 4 = @indirect // * PointerDereferenceExpr +| 5 = @ref_indirect // ReferenceDereferenceExpr (implicit?) +// ... +| 8 = @array_to_pointer // (???) +| 9 = @vacuous_destructor_call // VacuousDestructorCall +// ... +| 11 = @assume // Microsoft +| 12 = @parexpr +| 13 = @arithnegexpr +| 14 = @unaryplusexpr +| 15 = @complementexpr +| 16 = @notexpr +| 17 = @conjugation // GNU ~ operator +| 18 = @realpartexpr // GNU __real +| 19 = @imagpartexpr // GNU __imag +| 20 = @postincrexpr +| 21 = @postdecrexpr +| 22 = @preincrexpr +| 23 = @predecrexpr +| 24 = @conditionalexpr +| 25 = @addexpr +| 26 = @subexpr +| 27 = @mulexpr +| 28 = @divexpr +| 29 = @remexpr +| 30 = @jmulexpr // C99 mul imaginary +| 31 = @jdivexpr // C99 div imaginary +| 32 = @fjaddexpr // C99 add real + imaginary +| 33 = @jfaddexpr // C99 add imaginary + real +| 34 = @fjsubexpr // C99 sub real - imaginary +| 35 = @jfsubexpr // C99 sub imaginary - real +| 36 = @paddexpr // pointer add (pointer + int or int + pointer) +| 37 = @psubexpr // pointer sub (pointer - integer) +| 38 = @pdiffexpr // difference between two pointers +| 39 = @lshiftexpr +| 40 = @rshiftexpr +| 41 = @andexpr +| 42 = @orexpr +| 43 = @xorexpr +| 44 = @eqexpr +| 45 = @neexpr +| 46 = @gtexpr +| 47 = @ltexpr +| 48 = @geexpr +| 49 = @leexpr +| 50 = @minexpr // GNU minimum +| 51 = @maxexpr // GNU maximum +| 52 = @assignexpr +| 53 = @assignaddexpr +| 54 = @assignsubexpr +| 55 = @assignmulexpr +| 56 = @assigndivexpr +| 57 = @assignremexpr +| 58 = @assignlshiftexpr +| 59 = @assignrshiftexpr +| 60 = @assignandexpr +| 61 = @assignorexpr +| 62 = @assignxorexpr +| 63 = @assignpaddexpr // assign pointer add +| 64 = @assignpsubexpr // assign pointer sub +| 65 = @andlogicalexpr +| 66 = @orlogicalexpr +| 67 = @commaexpr +| 68 = @subscriptexpr // access to member of an array, e.g., a[5] +// ... 69 @objc_subscriptexpr deprecated +// ... 70 @cmdaccess deprecated +// ... +| 73 = @virtfunptrexpr +| 74 = @callexpr +// ... 75 @msgexpr_normal deprecated +// ... 76 @msgexpr_super deprecated +// ... 77 @atselectorexpr deprecated +// ... 78 @atprotocolexpr deprecated +| 79 = @vastartexpr +| 80 = @vaargexpr +| 81 = @vaendexpr +| 82 = @vacopyexpr +// ... 83 @atencodeexpr deprecated +| 84 = @varaccess +| 85 = @thisaccess +// ... 86 @objc_box_expr deprecated +| 87 = @new_expr +| 88 = @delete_expr +| 89 = @throw_expr +| 90 = @condition_decl // a variable declared in a condition, e.g., if(int x = y > 2) +| 91 = @braced_init_list +| 92 = @type_id +| 93 = @runtime_sizeof +| 94 = @runtime_alignof +| 95 = @sizeof_pack +| 96 = @expr_stmt // GNU extension +| 97 = @routineexpr +| 98 = @type_operand // used to access a type in certain contexts (haven't found any examples yet....) +| 99 = @offsetofexpr // offsetof ::= type and field +| 100 = @hasassignexpr // __has_assign ::= type +| 101 = @hascopyexpr // __has_copy ::= type +| 102 = @hasnothrowassign // __has_nothrow_assign ::= type +| 103 = @hasnothrowconstr // __has_nothrow_constructor ::= type +| 104 = @hasnothrowcopy // __has_nothrow_copy ::= type +| 105 = @hastrivialassign // __has_trivial_assign ::= type +| 106 = @hastrivialconstr // __has_trivial_constructor ::= type +| 107 = @hastrivialcopy // __has_trivial_copy ::= type +| 108 = @hasuserdestr // __has_user_destructor ::= type +| 109 = @hasvirtualdestr // __has_virtual_destructor ::= type +| 110 = @isabstractexpr // __is_abstract ::= type +| 111 = @isbaseofexpr // __is_base_of ::= type type +| 112 = @isclassexpr // __is_class ::= type +| 113 = @isconvtoexpr // __is_convertible_to ::= type type +| 114 = @isemptyexpr // __is_empty ::= type +| 115 = @isenumexpr // __is_enum ::= type +| 116 = @ispodexpr // __is_pod ::= type +| 117 = @ispolyexpr // __is_polymorphic ::= type +| 118 = @isunionexpr // __is_union ::= type +| 119 = @typescompexpr // GNU __builtin_types_compatible ::= type type +| 120 = @intaddrexpr // 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 +; + +@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 + ; + +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 +); + +/** + * 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 +); + +@ctorinit = @ctordirectinit + | @ctorvirtualinit + | @ctorfieldinit + | @ctordelegatinginit; +@dtordestruct = @dtordirectdestruct + | @dtorvirtualdestruct + | @dtorfielddestruct; + + +condition_decl_bind( + unique int expr: @condition_decl ref, + unique int decl: @declaration ref +); + +typeid_bind( + unique int expr: @type_id ref, + int type_id: @type ref +); + +uuidof_bind( + unique int expr: @uuidof ref, + int type_id: @type ref +); + +@runtime_sizeof_or_alignof = @runtime_sizeof | @runtime_alignof; + +sizeof_bind( + unique int expr: @runtime_sizeof_or_alignof ref, + int type_id: @type ref +); + +code_block( + unique int block: @literal ref, + unique int routine: @function ref +); + +lambdas( + unique int expr: @lambdaexpr ref, + string default_capture: string ref, + boolean has_explicit_return_type: boolean ref +); + +lambda_capture( + unique int id: @lambdacapture, + int lambda: @lambdaexpr ref, + int index: int ref, + int field: @membervariable ref, + boolean captured_by_reference: boolean ref, + boolean is_implicit: boolean ref, + int location: @location_default ref +); + +@funbindexpr = @routineexpr + | @new_expr + | @delete_expr + | @delete_array_expr + | @ctordirectinit + | @ctorvirtualinit + | @ctordelegatinginit + | @dtordirectdestruct + | @dtorvirtualdestruct; + +@varbindexpr = @varaccess | @ctorfieldinit | @dtorfielddestruct; +@addressable = @function | @variable ; +@accessible = @addressable | @enumconstant ; + +@access = @varaccess | @routineexpr ; + +fold( + int expr: @foldexpr ref, + string operator: string ref, + boolean is_left_fold: boolean ref +); + +stmts( + unique int id: @stmt, + int kind: int ref, + int location: @location_stmt ref +); + +case @stmt.kind of + 1 = @stmt_expr +| 2 = @stmt_if +| 3 = @stmt_while +| 4 = @stmt_goto +| 5 = @stmt_label +| 6 = @stmt_return +| 7 = @stmt_block +| 8 = @stmt_end_test_while // do { ... } while ( ... ) +| 9 = @stmt_for +| 10 = @stmt_switch_case +| 11 = @stmt_switch +| 13 = @stmt_asm // "asm" statement or the body of an asm function +| 15 = @stmt_try_block +| 16 = @stmt_microsoft_try // Microsoft +| 17 = @stmt_decl +| 18 = @stmt_set_vla_size // C99 +| 19 = @stmt_vla_decl // C99 +| 25 = @stmt_assigned_goto // GNU +| 26 = @stmt_empty +| 27 = @stmt_continue +| 28 = @stmt_break +| 29 = @stmt_range_based_for // C++11 +// ... 30 @stmt_at_autoreleasepool_block deprecated +// ... 31 @stmt_objc_for_in deprecated +// ... 32 @stmt_at_synchronized deprecated +| 33 = @stmt_handler +// ... 34 @stmt_finally_end deprecated +| 35 = @stmt_constexpr_if +| 37 = @stmt_co_return +; + +type_vla( + int type_id: @type ref, + int decl: @stmt_vla_decl ref +); + +variable_vla( + int var: @variable ref, + int decl: @stmt_vla_decl ref +); + +if_initialization( + unique int if_stmt: @stmt_if ref, + int init_id: @stmt ref +); + +if_then( + unique int if_stmt: @stmt_if ref, + int then_id: @stmt ref +); + +if_else( + unique int if_stmt: @stmt_if ref, + int else_id: @stmt ref +); + +constexpr_if_initialization( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int init_id: @stmt ref +); + +constexpr_if_then( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int then_id: @stmt ref +); + +constexpr_if_else( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int else_id: @stmt ref +); + +while_body( + unique int while_stmt: @stmt_while ref, + int body_id: @stmt ref +); + +do_body( + unique int do_stmt: @stmt_end_test_while ref, + int body_id: @stmt ref +); + +switch_initialization( + unique int switch_stmt: @stmt_switch ref, + int init_id: @stmt ref +); + +#keyset[switch_stmt, index] +switch_case( + int switch_stmt: @stmt_switch ref, + int index: int ref, + int case_id: @stmt_switch_case ref +); + +switch_body( + unique int switch_stmt: @stmt_switch ref, + int body_id: @stmt ref +); + +@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 +); + +@functionorblock = @function | @stmt_block; + +blockscope( + unique int block: @stmt_block ref, + int enclosing: @functionorblock ref +); + +@jump = @stmt_goto | @stmt_break | @stmt_continue; + +@jumporlabel = @jump | @stmt_label | @literal; + +jumpinfo( + unique int id: @jumporlabel ref, + string str: string ref, + int target: @stmt ref +); + +preprocdirects( + unique int id: @preprocdirect, + int kind: int ref, + int location: @location_default ref +); +case @preprocdirect.kind of + 0 = @ppd_if +| 1 = @ppd_ifdef +| 2 = @ppd_ifndef +| 3 = @ppd_elif +| 4 = @ppd_else +| 5 = @ppd_endif +| 6 = @ppd_plain_include +| 7 = @ppd_define +| 8 = @ppd_undef +| 9 = @ppd_line +| 10 = @ppd_error +| 11 = @ppd_pragma +| 12 = @ppd_objc_import +| 13 = @ppd_include_next +| 18 = @ppd_warning +; + +@ppd_include = @ppd_plain_include | @ppd_objc_import | @ppd_include_next; + +@ppd_branch = @ppd_if | @ppd_ifdef | @ppd_ifndef | @ppd_elif; + +preprocpair( + int begin : @ppd_branch ref, + int elseelifend : @preprocdirect ref +); + +preproctrue(int branch : @ppd_branch ref); +preprocfalse(int branch : @ppd_branch ref); + +preproctext( + unique int id: @preprocdirect ref, + string head: string ref, + string body: string ref +); + +includes( + unique int id: @ppd_include ref, + int included: @file ref +); + +link_targets( + int id: @link_target, + int binary: @file ref +); + +link_parent( + int element : @element ref, + int link_target : @link_target ref +); + +/* XML Files */ + +xmlEncoding(unique int id: @file ref, string encoding: string ref); + +xmlDTDs( + unique int id: @xmldtd, + string root: string ref, + string publicId: string ref, + string systemId: string ref, + int fileid: @file ref +); + +xmlElements( + unique int id: @xmlelement, + string name: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int fileid: @file ref +); + +xmlAttrs( + unique int id: @xmlattribute, + int elementid: @xmlelement ref, + string name: string ref, + string value: string ref, + int idx: int ref, + int fileid: @file ref +); + +xmlNs( + int id: @xmlnamespace, + string prefixName: string ref, + string URI: string ref, + int fileid: @file ref +); + +xmlHasNs( + int elementId: @xmlnamespaceable ref, + int nsId: @xmlnamespace ref, + int fileid: @file ref +); + +xmlComments( + unique int id: @xmlcomment, + string text: string ref, + int parentid: @xmlparent ref, + int fileid: @file ref +); + +xmlChars( + unique int id: @xmlcharacters, + string text: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int isCDATA: int ref, + int fileid: @file ref +); + +@xmlparent = @file | @xmlelement; +@xmlnamespaceable = @xmlelement | @xmlattribute; + +xmllocations( + int xmlElement: @xmllocatable ref, + int location: @location_default ref +); + +@xmllocatable = @xmlcharacters + | @xmlelement + | @xmlcomment + | @xmlattribute + | @xmldtd + | @file + | @xmlnamespace; diff --git a/cpp/ql/lib/upgrades/298438feb146335af824002589cd6d4e96e5dbf9/semmlecode.cpp.dbscheme b/cpp/ql/lib/upgrades/298438feb146335af824002589cd6d4e96e5dbf9/semmlecode.cpp.dbscheme new file mode 100644 index 00000000000..aa7ff0ab32c --- /dev/null +++ b/cpp/ql/lib/upgrades/298438feb146335af824002589cd6d4e96e5dbf9/semmlecode.cpp.dbscheme @@ -0,0 +1,2250 @@ + +/** + * An invocation of the compiler. Note that more than one file may be + * compiled per invocation. For example, this command compiles three + * source files: + * + * gcc -c f1.c f2.c f3.c + * + * The `id` simply identifies the invocation, while `cwd` is the working + * directory from which the compiler was invoked. + */ +compilations( + /** + * An invocation of the compiler. Note that more than one file may + * be compiled per invocation. For example, this command compiles + * three source files: + * + * gcc -c f1.c f2.c f3.c + */ + unique int id : @compilation, + string cwd : string ref +); + +/** + * The arguments that were passed to the extractor for a compiler + * invocation. If `id` is for the compiler invocation + * + * gcc -c f1.c f2.c f3.c + * + * then typically there will be rows for + * + * num | arg + * --- | --- + * 0 | *path to extractor* + * 1 | `--mimic` + * 2 | `/usr/bin/gcc` + * 3 | `-c` + * 4 | f1.c + * 5 | f2.c + * 6 | f3.c + */ +#keyset[id, num] +compilation_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * The source files that are compiled by a compiler invocation. + * If `id` is for the compiler invocation + * + * gcc -c f1.c f2.c f3.c + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | f1.c + * 1 | f2.c + * 2 | f3.c + * + * Note that even if those files `#include` headers, those headers + * do not appear as rows. + */ +#keyset[id, num] +compilation_compiling_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * The time taken by the extractor for a compiler invocation. + * + * For each file `num`, there will be rows for + * + * kind | seconds + * ---- | --- + * 1 | CPU seconds used by the extractor frontend + * 2 | Elapsed seconds during the extractor frontend + * 3 | CPU seconds used by the extractor backend + * 4 | Elapsed seconds during the extractor backend + */ +#keyset[id, num, kind] +compilation_time( + int id : @compilation ref, + int num : int ref, + /* kind: + 1 = frontend_cpu_seconds + 2 = frontend_elapsed_seconds + 3 = extractor_cpu_seconds + 4 = extractor_elapsed_seconds + */ + int kind : int ref, + float seconds : float ref +); + +/** + * An error or warning generated by the extractor. + * The diagnostic message `diagnostic` was generated during compiler + * invocation `compilation`, and is the `file_number_diagnostic_number`th + * message generated while extracting the `file_number`th file of that + * invocation. + */ +#keyset[compilation, file_number, file_number_diagnostic_number] +diagnostic_for( + int diagnostic : @diagnostic ref, + int compilation : @compilation ref, + int file_number : int ref, + int file_number_diagnostic_number : int ref +); + +/** + * If extraction was successful, then `cpu_seconds` and + * `elapsed_seconds` are the CPU time and elapsed time (respectively) + * that extraction took for compiler invocation `id`. + */ +compilation_finished( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref +); + + +/** + * External data, loaded from CSV files during snapshot creation. See + * [Tutorial: Incorporating external data](https://help.semmle.com/wiki/display/SD/Tutorial%3A+Incorporating+external+data) + * for more information. + */ +externalData( + int id : @externalDataElement, + string path : string ref, + int column: int ref, + string value : string ref +); + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/** + * Information about packages that provide code used during compilation. + * The `id` is just a unique identifier. + * The `namespace` is typically the name of the package manager that + * provided the package (e.g. "dpkg" or "yum"). + * The `package_name` is the name of the package, and `version` is its + * version (as a string). + */ +external_packages( + unique int id: @external_package, + string namespace : string ref, + string package_name : string ref, + string version : string ref +); + +/** + * Holds if File `fileid` was provided by package `package`. + */ +header_to_external_package( + int fileid : @file ref, + int package : @external_package ref +); + +/* + * Version history + */ + +svnentries( + unique int id : @svnentry, + string revision : string ref, + string author : string ref, + date revisionDate : date ref, + int changeSize : int ref +) + +svnaffectedfiles( + int id : @svnentry ref, + int file : @file ref, + string action : string ref +) + +svnentrymsg( + unique int id : @svnentry ref, + string message : string ref +) + +svnchurn( + int commit : @svnentry ref, + int file : @file ref, + int addedLines : int ref, + int deletedLines : int ref +) + +/* + * C++ dbscheme + */ + +extractor_version( + string codeql_version: string ref, + string frontend_version: string ref +) + +@location = @location_stmt | @location_expr | @location_default ; + +/** + * The location of an element that is not an expression or a statement. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_default( + /** The location of an element that is not an expression or a statement. */ + unique int id: @location_default, + int container: @container ref, + int startLine: int ref, + int startColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +/** + * The location of a statement. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_stmt( + /** The location of a statement. */ + unique int id: @location_stmt, + int container: @container ref, + int startLine: int ref, + int startColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +/** + * The location of an expression. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_expr( + /** The location of an expression. */ + unique int id: @location_expr, + int container: @container ref, + int startLine: int ref, + int startColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +/** An element for which line-count information is available. */ +@sourceline = @file | @function | @variable | @enumconstant | @xmllocatable; + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +diagnostics( + unique int id: @diagnostic, + int severity: int ref, + string error_tag: string ref, + string error_message: string ref, + string full_error_message: string ref, + int location: @location_default ref +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @folder | @file + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +fileannotations( + int id: @file ref, + int kind: int ref, + string name: string ref, + string value: string ref +); + +inmacroexpansion( + int id: @element ref, + int inv: @macroinvocation ref +); + +affectedbymacroexpansion( + int id: @element ref, + int inv: @macroinvocation ref +); + +case @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 ref +); + +#keyset[invocation, argument_index] +macro_argument_unexpanded( + int invocation: @macroinvocation ref, + int argument_index: int ref, + string text: string ref +); + +#keyset[invocation, argument_index] +macro_argument_expanded( + int invocation: @macroinvocation ref, + int argument_index: int ref, + string text: string ref +); + +/* +case @function.kind of + 1 = @normal_function +| 2 = @constructor +| 3 = @destructor +| 4 = @conversion_function +| 5 = @operator +| 6 = @builtin_function // 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 +); + +function_entry_point( + int id: @function ref, + unique int entry_point: @stmt ref +); + +function_return_type( + int id: @function ref, + int return_type: @type ref +); + +/** + * If `function` is a coroutine, then this gives the `std::experimental::resumable_traits` + * instance associated with it, and the variables representing the `handle` and `promise` + * for it. + */ +coroutine( + unique int function: @function ref, + int traits: @type ref, + int handle: @variable ref, + int promise: @variable ref +); + +/** The `new` function used for allocating the coroutine state, if any. */ +coroutine_new( + unique int function: @function ref, + int new: @function ref +); + +/** The `delete` function used for deallocating the coroutine state, if any. */ +coroutine_delete( + unique int function: @function ref, + int delete: @function ref +); + +purefunctions(unique int id: @function ref); + +function_deleted(unique int id: @function ref); + +function_defaulted(unique int id: @function ref); + +function_prototyped(unique int id: @function ref) + +member_function_this_type( + unique int id: @function ref, + int this_type: @type ref +); + +#keyset[id, type_id] +fun_decls( + int id: @fun_decl, + int function: @function ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); +fun_def(unique int id: @fun_decl ref); +fun_specialized(unique int id: @fun_decl ref); +fun_implicit(unique int id: @fun_decl ref); +fun_decl_specifiers( + int id: @fun_decl ref, + string name: string ref +) +#keyset[fun_decl, index] +fun_decl_throws( + int fun_decl: @fun_decl ref, + int index: int ref, + int type_id: @type ref +); +/* an empty throw specification is different from none */ +fun_decl_empty_throws(unique int fun_decl: @fun_decl ref); +fun_decl_noexcept( + int fun_decl: @fun_decl ref, + int constant: @expr ref +); +fun_decl_empty_noexcept(int fun_decl: @fun_decl ref); +fun_decl_typedef_type( + unique int fun_decl: @fun_decl ref, + int typedeftype_id: @usertype ref +); + +param_decl_bind( + unique int id: @var_decl ref, + int index: int ref, + int fun_decl: @fun_decl ref +); + +#keyset[id, type_id] +var_decls( + int id: @var_decl, + int variable: @variable ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); +var_def(unique int id: @var_decl ref); +var_decl_specifiers( + int id: @var_decl ref, + string name: string ref +) +is_structured_binding(unique int id: @variable ref); + +type_decls( + unique int id: @type_decl, + int type_id: @type ref, + int location: @location_default ref +); +type_def(unique int id: @type_decl ref); +type_decl_top( + unique int type_decl: @type_decl ref +); + +namespace_decls( + unique int id: @namespace_decl, + int namespace_id: @namespace ref, + int location: @location_default ref, + int bodylocation: @location_default ref +); + +usings( + unique int id: @using, + int element_id: @element ref, + int location: @location_default ref +); + +/** The element which contains the `using` declaration. */ +using_container( + int parent: @element ref, + int child: @using ref +); + +static_asserts( + unique int id: @static_assert, + int condition : @expr ref, + string message : string ref, + int location: @location_default ref, + int enclosing : @element ref +); + +// each function has an ordered list of parameters +#keyset[id, type_id] +#keyset[function, index, type_id] +params( + int id: @parameter, + int function: @functionorblock ref, + int index: int ref, + int type_id: @type ref +); + +overrides( + int new: @function ref, + int old: @function ref +); + +#keyset[id, type_id] +membervariables( + int id: @membervariable, + int type_id: @type ref, + string name: string ref +); + +#keyset[id, type_id] +globalvariables( + int id: @globalvariable, + int type_id: @type ref, + string name: string ref +); + +#keyset[id, type_id] +localvariables( + int id: @localvariable, + int type_id: @type ref, + string name: string ref +); + +autoderivation( + unique int var: @variable ref, + int derivation_type: @type ref +); + +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 +; + +builtintypes( + unique int id: @builtintype, + string name: string ref, + int kind: int ref, + int size: int ref, + int sign: int ref, + int alignment: int ref +); + +/** + * Derived types are types that are directly derived from existing types and + * point to, refer to, transform type data to return a new type. + */ +case @derivedtype.kind of + 1 = @pointer +| 2 = @reference +| 3 = @type_with_specifiers +| 4 = @array +| 5 = @gnu_vector +| 6 = @routineptr +| 7 = @routinereference +| 8 = @rvalue_reference // C++11 +// ... 9 type_conforming_to_protocols deprecated +| 10 = @block +; + +derivedtypes( + unique int id: @derivedtype, + string name: string ref, + int kind: int ref, + int type_id: @type ref +); + +pointerishsize(unique int id: @derivedtype ref, + int size: int ref, + int alignment: int ref); + +arraysizes( + unique int id: @derivedtype ref, + int num_elements: int ref, + int bytesize: int ref, + int alignment: int ref +); + +typedefbase( + unique int id: @usertype ref, + int type_id: @type ref +); + +/** + * An instance of the C++11 `decltype` operator. For example: + * ``` + * int a; + * decltype(1+a) b; + * ``` + * Here `expr` is `1+a`. + * + * Sometimes an additional pair of parentheses around the expression + * would change the semantics of this decltype, e.g. + * ``` + * struct A { double x; }; + * const A* a = new A(); + * decltype( a->x ); // type is double + * decltype((a->x)); // type is const double& + * ``` + * (Please consult the C++11 standard for more details). + * `parentheses_would_change_meaning` is `true` iff that is the case. + */ +#keyset[id, expr] +decltypes( + int id: @decltype, + int expr: @expr ref, + int base_type: @type ref, + boolean parentheses_would_change_meaning: boolean ref +); + +/* +case @usertype.kind of + 1 = @struct +| 2 = @class +| 3 = @union +| 4 = @enum +| 5 = @typedef // classic C: typedef typedef type name +| 6 = @template +| 7 = @template_parameter +| 8 = @template_template_parameter +| 9 = @proxy_class // a proxy class associated with a template parameter +// ... 10 objc_class deprecated +// ... 11 objc_protocol deprecated +// ... 12 objc_category deprecated +| 13 = @scoped_enum +| 14 = @using_alias // a using name = type style typedef +; +*/ + +usertypes( + unique int id: @usertype, + string name: string ref, + int kind: int ref +); + +usertypesize( + unique int id: @usertype ref, + int size: int ref, + int alignment: int ref +); + +usertype_final(unique int id: @usertype ref); + +usertype_uuid( + unique int id: @usertype ref, + string uuid: string ref +); + +mangled_name( + unique int id: @declaration ref, + int mangled_name : @mangledname, + 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 +); + +is_proxy_class_for( + unique int id: @usertype ref, + unique int templ_param_id: @usertype ref +); + +type_mentions( + unique int id: @type_mention, + int type_id: @type ref, + int location: @location ref, + // a_symbol_reference_kind from the 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 +); + +/* + Fixed point types + precision(1) = short, precision(2) = default, precision(3) = long + is_unsigned(1) = unsigned is_unsigned(2) = signed + is_fract_type(1) = declared with _Fract + saturating(1) = declared with _Sat +*/ +/* TODO +fixedpointtypes( + unique int id: @fixedpointtype, + int precision: int ref, + int is_unsigned: int ref, + int is_fract_type: int ref, + int saturating: int ref); +*/ + +routinetypes( + unique int id: @routinetype, + int return_type: @type ref +); + +routinetypeargs( + int routine: @routinetype ref, + int index: int ref, + int type_id: @type ref +); + +ptrtomembers( + unique int id: @ptrtomember, + int type_id: @type ref, + int class_id: @type ref +); + +/* + specifiers for types, functions, and variables + + "public", + "protected", + "private", + + "const", + "volatile", + "static", + + "pure", + "virtual", + "sealed", // Microsoft + "__interface", // Microsoft + "inline", + "explicit", + + "near", // near far extension + "far", // near far extension + "__ptr32", // Microsoft + "__ptr64", // Microsoft + "__sptr", // Microsoft + "__uptr", // Microsoft + "dllimport", // Microsoft + "dllexport", // Microsoft + "thread", // Microsoft + "naked", // Microsoft + "microsoft_inline", // Microsoft + "forceinline", // Microsoft + "selectany", // Microsoft + "nothrow", // Microsoft + "novtable", // Microsoft + "noreturn", // Microsoft + "noinline", // Microsoft + "noalias", // Microsoft + "restrict", // Microsoft +*/ + +specifiers( + unique int id: @specifier, + unique string str: string ref +); + +typespecifiers( + int type_id: @type ref, + int spec_id: @specifier ref +); + +funspecifiers( + int func_id: @function ref, + int spec_id: @specifier ref +); + +varspecifiers( + int var_id: @accessible ref, + int spec_id: @specifier ref +); + +attributes( + unique int id: @attribute, + int kind: int ref, + string name: string ref, + string name_space: string ref, + int location: @location_default ref +); + +case @attribute.kind of + 0 = @gnuattribute +| 1 = @stdattribute +| 2 = @declspec +| 3 = @msattribute +| 4 = @alignas +// ... 5 @objc_propertyattribute deprecated +; + +attribute_args( + unique int id: @attribute_arg, + int kind: int ref, + int attribute: @attribute ref, + int index: int ref, + int location: @location_default ref +); + +case @attribute_arg.kind of + 0 = @attribute_arg_empty +| 1 = @attribute_arg_token +| 2 = @attribute_arg_constant +| 3 = @attribute_arg_type +| 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 +); + +stmtattributes( + int stmt_id: @stmt ref, + int spec_id: @attribute ref +); + +@type = @builtintype + | @derivedtype + | @usertype + /* TODO | @fixedpointtype */ + | @routinetype + | @ptrtomember + | @decltype; + +unspecifiedtype( + unique int type_id: @type ref, + int unspecified_type_id: @type ref +); + +member( + int parent: @type ref, + int index: int ref, + int child: @member ref +); + +@enclosingfunction_child = @usertype | @variable | @namespace + +enclosingfunction( + unique int child: @enclosingfunction_child ref, + int parent: @function ref +); + +derivations( + unique int derivation: @derivation, + int sub: @type ref, + int index: int ref, + int super: @type ref, + int location: @location_default ref +); + +derspecifiers( + int der_id: @derivation ref, + int spec_id: @specifier ref +); + +/** + * Contains the byte offset of the base class subobject within the derived + * class. Only holds for non-virtual base classes, but see table + * `virtual_base_offsets` for offsets of virtual base class subobjects. + */ +direct_base_offsets( + unique int der_id: @derivation ref, + int offset: int ref +); + +/** + * Contains the byte offset of the virtual base class subobject for class + * `super` within a most-derived object of class `sub`. `super` can be either a + * direct or indirect base class. + */ +#keyset[sub, super] +virtual_base_offsets( + int sub: @usertype ref, + int super: @usertype ref, + int offset: int ref +); + +frienddecls( + unique int id: @frienddecl, + int type_id: @type ref, + int decl_id: @declaration ref, + int location: @location_default ref +); + +@declaredtype = @usertype ; + +@declaration = @function + | @declaredtype + | @variable + | @enumconstant + | @frienddecl; + +@member = @membervariable + | @function + | @declaredtype + | @enumconstant; + +@locatable = @diagnostic + | @declaration + | @ppd_include + | @ppd_define + | @macroinvocation + /*| @funcall*/ + | @xmllocatable + | @attribute + | @attribute_arg; + +@namedscope = @namespace | @usertype; + +@element = @locatable + | @file + | @folder + | @specifier + | @type + | @expr + | @namespace + | @initialiser + | @stmt + | @derivation + | @comment + | @preprocdirect + | @fun_decl + | @var_decl + | @type_decl + | @namespace_decl + | @using + | @namequalifier + | @specialnamequalifyingelement + | @static_assert + | @type_mention + | @lambdacapture; + +@exprparent = @element; + +comments( + unique int id: @comment, + string contents: string ref, + int location: @location_default ref +); + +commentbinding( + int id: @comment ref, + int element: @element ref +); + +exprconv( + int converted: @expr ref, + unique int conversion: @expr ref +); + +compgenerated(unique int id: @element ref); + +/** + * `destructor_call` destructs the `i`'th entity that should be + * destructed following `element`. Note that entities should be + * destructed in reverse construction order, so for a given `element` + * these should be called from highest to lowest `i`. + */ +#keyset[element, destructor_call] +#keyset[element, i] +synthetic_destructor_call( + int element: @element ref, + int i: int ref, + int destructor_call: @routineexpr ref +); + +namespaces( + unique int id: @namespace, + string name: string ref +); + +namespace_inline( + unique int id: @namespace ref +); + +namespacembrs( + int parentid: @namespace ref, + unique int memberid: @namespacembr ref +); + +@namespacembr = @declaration | @namespace; + +exprparents( + int expr_id: @expr ref, + int child_index: int ref, + int parent_id: @exprparent ref +); + +expr_isload(unique int expr_id: @expr ref); + +@cast = @c_style_cast + | @const_cast + | @dynamic_cast + | @reinterpret_cast + | @static_cast + ; + +/* +case @conversion.kind of + 0 = @simple_conversion // a numeric conversion, qualification conversion, or a reinterpret_cast +| 1 = @bool_conversion // conversion to 'bool' +| 2 = @base_class_conversion // a derived-to-base conversion +| 3 = @derived_class_conversion // a base-to-derived conversion +| 4 = @pm_base_class_conversion // a derived-to-base conversion of a pointer to member +| 5 = @pm_derived_class_conversion // a base-to-derived conversion of a pointer to member +| 6 = @glvalue_adjust // an adjustment of the type of a glvalue +| 7 = @prvalue_adjust // an adjustment of the type of a prvalue +; +*/ +/** + * Describes the semantics represented by a cast expression. This is largely + * independent of the source syntax of the cast, so it is separate from the + * regular expression kind. + */ +conversionkinds( + unique int expr_id: @cast ref, + int kind: int ref +); + +@conversion = @cast + | @array_to_pointer + | @parexpr + | @reference_to + | @ref_indirect + | @temp_init + ; + +/* +case @funbindexpr.kind of + 0 = @normal_call // a normal call +| 1 = @virtual_call // a virtual call +| 2 = @adl_call // a call whose target is only found by ADL +; +*/ +iscall( + unique int caller: @funbindexpr ref, + int kind: int ref +); + +numtemplatearguments( + unique int expr_id: @expr ref, + int num: int ref +); + +specialnamequalifyingelements( + unique int id: @specialnamequalifyingelement, + unique string name: string ref +); + +@namequalifiableelement = @expr | @namequalifier; +@namequalifyingelement = @namespace + | @specialnamequalifyingelement + | @usertype; + +namequalifiers( + unique int id: @namequalifier, + unique int qualifiableelement: @namequalifiableelement ref, + int qualifyingelement: @namequalifyingelement ref, + int location: @location_default ref +); + +varbind( + int expr: @varbindexpr ref, + int var: @accessible ref +); + +funbind( + int expr: @funbindexpr ref, + int fun: @function ref +); + +@any_new_expr = @new_expr + | @new_array_expr; + +@new_or_delete_expr = @any_new_expr + | @delete_expr + | @delete_array_expr; + +@prefix_crement_expr = @preincrexpr | @predecrexpr; + +@postfix_crement_expr = @postincrexpr | @postdecrexpr; + +@increment_expr = @preincrexpr | @postincrexpr; + +@decrement_expr = @predecrexpr | @postdecrexpr; + +@crement_expr = @increment_expr | @decrement_expr; + +@un_arith_op_expr = @arithnegexpr + | @unaryplusexpr + | @conjugation + | @realpartexpr + | @imagpartexpr + | @crement_expr + ; + +@un_bitwise_op_expr = @complementexpr; + +@un_log_op_expr = @notexpr; + +@un_op_expr = @address_of + | @indirect + | @un_arith_op_expr + | @un_bitwise_op_expr + | @builtinaddressof + | @vec_fill + | @un_log_op_expr + | @co_await + | @co_yield + ; + +@bin_log_op_expr = @andlogicalexpr | @orlogicalexpr; + +@cmp_op_expr = @eq_op_expr | @rel_op_expr; + +@eq_op_expr = @eqexpr | @neexpr; + +@rel_op_expr = @gtexpr + | @ltexpr + | @geexpr + | @leexpr + | @spaceshipexpr + ; + +@bin_bitwise_op_expr = @lshiftexpr + | @rshiftexpr + | @andexpr + | @orexpr + | @xorexpr + ; + +@p_arith_op_expr = @paddexpr + | @psubexpr + | @pdiffexpr + ; + +@bin_arith_op_expr = @addexpr + | @subexpr + | @mulexpr + | @divexpr + | @remexpr + | @jmulexpr + | @jdivexpr + | @fjaddexpr + | @jfaddexpr + | @fjsubexpr + | @jfsubexpr + | @minexpr + | @maxexpr + | @p_arith_op_expr + ; + +@bin_op_expr = @bin_arith_op_expr + | @bin_bitwise_op_expr + | @cmp_op_expr + | @bin_log_op_expr + ; + +@op_expr = @un_op_expr + | @bin_op_expr + | @assign_expr + | @conditionalexpr + ; + +@assign_arith_expr = @assignaddexpr + | @assignsubexpr + | @assignmulexpr + | @assigndivexpr + | @assignremexpr + ; + +@assign_bitwise_expr = @assignandexpr + | @assignorexpr + | @assignxorexpr + | @assignlshiftexpr + | @assignrshiftexpr + ; + +@assign_pointer_expr = @assignpaddexpr + | @assignpsubexpr + ; + +@assign_op_expr = @assign_arith_expr + | @assign_bitwise_expr + | @assign_pointer_expr + ; + +@assign_expr = @assignexpr | @assign_op_expr | @blockassignexpr + +/* + case @allocator.form of + 0 = plain + | 1 = alignment + ; +*/ + +/** + * The allocator function associated with a `new` or `new[]` expression. + * The `form` column specified whether the allocation call contains an alignment + * argument. + */ +expr_allocator( + unique int expr: @any_new_expr ref, + int func: @function ref, + int form: int ref +); + +/* + case @deallocator.form of + 0 = plain + | 1 = size + | 2 = alignment + | 3 = size_and_alignment + ; +*/ + +/** + * The deallocator function associated with a `delete`, `delete[]`, `new`, or + * `new[]` expression. For a `new` or `new[]` expression, the deallocator is the + * one used to free memory if the initialization throws an exception. + * The `form` column specifies whether the deallocation call contains a size + * argument, and alignment argument, or both. + */ +expr_deallocator( + unique int expr: @new_or_delete_expr ref, + int func: @function ref, + int form: int ref +); + +/** + * Holds if the `@conditionalexpr` is of the two operand form + * `guard ? : false`. + */ +expr_cond_two_operand( + unique int cond: @conditionalexpr ref +); + +/** + * The guard of `@conditionalexpr` `guard ? true : false` + */ +expr_cond_guard( + unique int cond: @conditionalexpr ref, + int guard: @expr ref +); + +/** + * The expression used when the guard of `@conditionalexpr` + * `guard ? true : false` holds. For the two operand form + * `guard ?: false` consider using `expr_cond_guard` instead. + */ +expr_cond_true( + unique int cond: @conditionalexpr ref, + int true: @expr ref +); + +/** + * The expression used when the guard of `@conditionalexpr` + * `guard ? true : false` does not hold. + */ +expr_cond_false( + unique int cond: @conditionalexpr ref, + int false: @expr ref +); + +/** A string representation of the value. */ +values( + unique int id: @value, + string str: string ref +); + +/** The actual text in the source code for the value, if any. */ +valuetext( + unique int id: @value ref, + string text: string ref +); + +valuebind( + int val: @value ref, + unique int expr: @expr ref +); + +fieldoffsets( + unique int id: @variable ref, + int byteoffset: int ref, + int bitoffset: int ref +); + +bitfield( + unique int id: @variable ref, + int bits: int ref, + int declared_bits: int ref +); + +/* TODO +memberprefix( + int member: @expr ref, + int prefix: @expr ref +); +*/ + +/* + kind(1) = mbrcallexpr + kind(2) = mbrptrcallexpr + kind(3) = mbrptrmbrcallexpr + kind(4) = ptrmbrptrmbrcallexpr + kind(5) = mbrreadexpr // x.y + kind(6) = mbrptrreadexpr // p->y + kind(7) = mbrptrmbrreadexpr // x.*pm + kind(8) = mbrptrmbrptrreadexpr // x->*pm + kind(9) = staticmbrreadexpr // static x.y + kind(10) = staticmbrptrreadexpr // static p->y +*/ +/* TODO +memberaccess( + int member: @expr ref, + int kind: int ref +); +*/ + +initialisers( + unique int init: @initialiser, + int var: @accessible ref, + unique int expr: @expr ref, + int location: @location_expr ref +); + +braced_initialisers( + int init: @initialiser ref +); + +/** + * An ancestor for the expression, for cases in which we cannot + * otherwise find the expression's parent. + */ +expr_ancestor( + int exp: @expr ref, + int ancestor: @element ref +); + +exprs( + unique int id: @expr, + int kind: int ref, + int location: @location_expr ref +); + +expr_reuse( + int reuse: @expr ref, + int original: @expr ref +) + +/* + case @value.category of + 1 = prval + | 2 = xval + | 3 = lval + ; +*/ +expr_types( + int id: @expr ref, + int typeid: @type ref, + int value_category: int ref +); + +case @expr.kind of + 1 = @errorexpr +| 2 = @address_of // & AddressOfExpr +| 3 = @reference_to // ReferenceToExpr (implicit?) +| 4 = @indirect // * PointerDereferenceExpr +| 5 = @ref_indirect // ReferenceDereferenceExpr (implicit?) +// ... +| 8 = @array_to_pointer // (???) +| 9 = @vacuous_destructor_call // VacuousDestructorCall +// ... +| 11 = @assume // Microsoft +| 12 = @parexpr +| 13 = @arithnegexpr +| 14 = @unaryplusexpr +| 15 = @complementexpr +| 16 = @notexpr +| 17 = @conjugation // GNU ~ operator +| 18 = @realpartexpr // GNU __real +| 19 = @imagpartexpr // GNU __imag +| 20 = @postincrexpr +| 21 = @postdecrexpr +| 22 = @preincrexpr +| 23 = @predecrexpr +| 24 = @conditionalexpr +| 25 = @addexpr +| 26 = @subexpr +| 27 = @mulexpr +| 28 = @divexpr +| 29 = @remexpr +| 30 = @jmulexpr // C99 mul imaginary +| 31 = @jdivexpr // C99 div imaginary +| 32 = @fjaddexpr // C99 add real + imaginary +| 33 = @jfaddexpr // C99 add imaginary + real +| 34 = @fjsubexpr // C99 sub real - imaginary +| 35 = @jfsubexpr // C99 sub imaginary - real +| 36 = @paddexpr // pointer add (pointer + int or int + pointer) +| 37 = @psubexpr // pointer sub (pointer - integer) +| 38 = @pdiffexpr // difference between two pointers +| 39 = @lshiftexpr +| 40 = @rshiftexpr +| 41 = @andexpr +| 42 = @orexpr +| 43 = @xorexpr +| 44 = @eqexpr +| 45 = @neexpr +| 46 = @gtexpr +| 47 = @ltexpr +| 48 = @geexpr +| 49 = @leexpr +| 50 = @minexpr // GNU minimum +| 51 = @maxexpr // GNU maximum +| 52 = @assignexpr +| 53 = @assignaddexpr +| 54 = @assignsubexpr +| 55 = @assignmulexpr +| 56 = @assigndivexpr +| 57 = @assignremexpr +| 58 = @assignlshiftexpr +| 59 = @assignrshiftexpr +| 60 = @assignandexpr +| 61 = @assignorexpr +| 62 = @assignxorexpr +| 63 = @assignpaddexpr // assign pointer add +| 64 = @assignpsubexpr // assign pointer sub +| 65 = @andlogicalexpr +| 66 = @orlogicalexpr +| 67 = @commaexpr +| 68 = @subscriptexpr // access to member of an array, e.g., a[5] +// ... 69 @objc_subscriptexpr deprecated +// ... 70 @cmdaccess deprecated +// ... +| 73 = @virtfunptrexpr +| 74 = @callexpr +// ... 75 @msgexpr_normal deprecated +// ... 76 @msgexpr_super deprecated +// ... 77 @atselectorexpr deprecated +// ... 78 @atprotocolexpr deprecated +| 79 = @vastartexpr +| 80 = @vaargexpr +| 81 = @vaendexpr +| 82 = @vacopyexpr +// ... 83 @atencodeexpr deprecated +| 84 = @varaccess +| 85 = @thisaccess +// ... 86 @objc_box_expr deprecated +| 87 = @new_expr +| 88 = @delete_expr +| 89 = @throw_expr +| 90 = @condition_decl // a variable declared in a condition, e.g., if(int x = y > 2) +| 91 = @braced_init_list +| 92 = @type_id +| 93 = @runtime_sizeof +| 94 = @runtime_alignof +| 95 = @sizeof_pack +| 96 = @expr_stmt // GNU extension +| 97 = @routineexpr +| 98 = @type_operand // used to access a type in certain contexts (haven't found any examples yet....) +| 99 = @offsetofexpr // offsetof ::= type and field +| 100 = @hasassignexpr // __has_assign ::= type +| 101 = @hascopyexpr // __has_copy ::= type +| 102 = @hasnothrowassign // __has_nothrow_assign ::= type +| 103 = @hasnothrowconstr // __has_nothrow_constructor ::= type +| 104 = @hasnothrowcopy // __has_nothrow_copy ::= type +| 105 = @hastrivialassign // __has_trivial_assign ::= type +| 106 = @hastrivialconstr // __has_trivial_constructor ::= type +| 107 = @hastrivialcopy // __has_trivial_copy ::= type +| 108 = @hasuserdestr // __has_user_destructor ::= type +| 109 = @hasvirtualdestr // __has_virtual_destructor ::= type +| 110 = @isabstractexpr // __is_abstract ::= type +| 111 = @isbaseofexpr // __is_base_of ::= type type +| 112 = @isclassexpr // __is_class ::= type +| 113 = @isconvtoexpr // __is_convertible_to ::= type type +| 114 = @isemptyexpr // __is_empty ::= type +| 115 = @isenumexpr // __is_enum ::= type +| 116 = @ispodexpr // __is_pod ::= type +| 117 = @ispolyexpr // __is_polymorphic ::= type +| 118 = @isunionexpr // __is_union ::= type +| 119 = @typescompexpr // GNU __builtin_types_compatible ::= type type +| 120 = @intaddrexpr // 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 +; + +@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 + ; + +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 +); + +/** + * 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 +); + +@ctorinit = @ctordirectinit + | @ctorvirtualinit + | @ctorfieldinit + | @ctordelegatinginit; +@dtordestruct = @dtordirectdestruct + | @dtorvirtualdestruct + | @dtorfielddestruct; + + +condition_decl_bind( + unique int expr: @condition_decl ref, + unique int decl: @declaration ref +); + +typeid_bind( + unique int expr: @type_id ref, + int type_id: @type ref +); + +uuidof_bind( + unique int expr: @uuidof ref, + int type_id: @type ref +); + +@runtime_sizeof_or_alignof = @runtime_sizeof | @runtime_alignof; + +sizeof_bind( + unique int expr: @runtime_sizeof_or_alignof ref, + int type_id: @type ref +); + +code_block( + unique int block: @literal ref, + unique int routine: @function ref +); + +lambdas( + unique int expr: @lambdaexpr ref, + string default_capture: string ref, + boolean has_explicit_return_type: boolean ref +); + +lambda_capture( + unique int id: @lambdacapture, + int lambda: @lambdaexpr ref, + int index: int ref, + int field: @membervariable ref, + boolean captured_by_reference: boolean ref, + boolean is_implicit: boolean ref, + int location: @location_default ref +); + +@funbindexpr = @routineexpr + | @new_expr + | @delete_expr + | @delete_array_expr + | @ctordirectinit + | @ctorvirtualinit + | @ctordelegatinginit + | @dtordirectdestruct + | @dtorvirtualdestruct; + +@varbindexpr = @varaccess | @ctorfieldinit | @dtorfielddestruct; +@addressable = @function | @variable ; +@accessible = @addressable | @enumconstant ; + +@access = @varaccess | @routineexpr ; + +fold( + int expr: @foldexpr ref, + string operator: string ref, + boolean is_left_fold: boolean ref +); + +stmts( + unique int id: @stmt, + int kind: int ref, + int location: @location_stmt ref +); + +case @stmt.kind of + 1 = @stmt_expr +| 2 = @stmt_if +| 3 = @stmt_while +| 4 = @stmt_goto +| 5 = @stmt_label +| 6 = @stmt_return +| 7 = @stmt_block +| 8 = @stmt_end_test_while // do { ... } while ( ... ) +| 9 = @stmt_for +| 10 = @stmt_switch_case +| 11 = @stmt_switch +| 13 = @stmt_asm // "asm" statement or the body of an asm function +| 15 = @stmt_try_block +| 16 = @stmt_microsoft_try // Microsoft +| 17 = @stmt_decl +| 18 = @stmt_set_vla_size // C99 +| 19 = @stmt_vla_decl // C99 +| 25 = @stmt_assigned_goto // GNU +| 26 = @stmt_empty +| 27 = @stmt_continue +| 28 = @stmt_break +| 29 = @stmt_range_based_for // C++11 +// ... 30 @stmt_at_autoreleasepool_block deprecated +// ... 31 @stmt_objc_for_in deprecated +// ... 32 @stmt_at_synchronized deprecated +| 33 = @stmt_handler +// ... 34 @stmt_finally_end deprecated +| 35 = @stmt_constexpr_if +| 37 = @stmt_co_return +; + +type_vla( + int type_id: @type ref, + int decl: @stmt_vla_decl ref +); + +variable_vla( + int var: @variable ref, + int decl: @stmt_vla_decl ref +); + +if_initialization( + unique int if_stmt: @stmt_if ref, + int init_id: @stmt ref +); + +if_then( + unique int if_stmt: @stmt_if ref, + int then_id: @stmt ref +); + +if_else( + unique int if_stmt: @stmt_if ref, + int else_id: @stmt ref +); + +constexpr_if_initialization( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int init_id: @stmt ref +); + +constexpr_if_then( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int then_id: @stmt ref +); + +constexpr_if_else( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int else_id: @stmt ref +); + +while_body( + unique int while_stmt: @stmt_while ref, + int body_id: @stmt ref +); + +do_body( + unique int do_stmt: @stmt_end_test_while ref, + int body_id: @stmt ref +); + +switch_initialization( + unique int switch_stmt: @stmt_switch ref, + int init_id: @stmt ref +); + +#keyset[switch_stmt, index] +switch_case( + int switch_stmt: @stmt_switch ref, + int index: int ref, + int case_id: @stmt_switch_case ref +); + +switch_body( + unique int switch_stmt: @stmt_switch ref, + int body_id: @stmt ref +); + +@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 +); + +@functionorblock = @function | @stmt_block; + +blockscope( + unique int block: @stmt_block ref, + int enclosing: @functionorblock ref +); + +@jump = @stmt_goto | @stmt_break | @stmt_continue; + +@jumporlabel = @jump | @stmt_label | @literal; + +jumpinfo( + unique int id: @jumporlabel ref, + string str: string ref, + int target: @stmt ref +); + +preprocdirects( + unique int id: @preprocdirect, + int kind: int ref, + int location: @location_default ref +); +case @preprocdirect.kind of + 0 = @ppd_if +| 1 = @ppd_ifdef +| 2 = @ppd_ifndef +| 3 = @ppd_elif +| 4 = @ppd_else +| 5 = @ppd_endif +| 6 = @ppd_plain_include +| 7 = @ppd_define +| 8 = @ppd_undef +| 9 = @ppd_line +| 10 = @ppd_error +| 11 = @ppd_pragma +| 12 = @ppd_objc_import +| 13 = @ppd_include_next +| 18 = @ppd_warning +; + +@ppd_include = @ppd_plain_include | @ppd_objc_import | @ppd_include_next; + +@ppd_branch = @ppd_if | @ppd_ifdef | @ppd_ifndef | @ppd_elif; + +preprocpair( + int begin : @ppd_branch ref, + int elseelifend : @preprocdirect ref +); + +preproctrue(int branch : @ppd_branch ref); +preprocfalse(int branch : @ppd_branch ref); + +preproctext( + unique int id: @preprocdirect ref, + string head: string ref, + string body: string ref +); + +includes( + unique int id: @ppd_include ref, + int included: @file ref +); + +link_targets( + int id: @link_target, + int binary: @file ref +); + +link_parent( + int element : @element ref, + int link_target : @link_target ref +); + +/* XML Files */ + +xmlEncoding(unique int id: @file ref, string encoding: string ref); + +xmlDTDs( + unique int id: @xmldtd, + string root: string ref, + string publicId: string ref, + string systemId: string ref, + int fileid: @file ref +); + +xmlElements( + unique int id: @xmlelement, + string name: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int fileid: @file ref +); + +xmlAttrs( + unique int id: @xmlattribute, + int elementid: @xmlelement ref, + string name: string ref, + string value: string ref, + int idx: int ref, + int fileid: @file ref +); + +xmlNs( + int id: @xmlnamespace, + string prefixName: string ref, + string URI: string ref, + int fileid: @file ref +); + +xmlHasNs( + int elementId: @xmlnamespaceable ref, + int nsId: @xmlnamespace ref, + int fileid: @file ref +); + +xmlComments( + unique int id: @xmlcomment, + string text: string ref, + int parentid: @xmlparent ref, + int fileid: @file ref +); + +xmlChars( + unique int id: @xmlcharacters, + string text: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int isCDATA: int ref, + int fileid: @file ref +); + +@xmlparent = @file | @xmlelement; +@xmlnamespaceable = @xmlelement | @xmlattribute; + +xmllocations( + int xmlElement: @xmllocatable ref, + int location: @location_default ref +); + +@xmllocatable = @xmlcharacters + | @xmlelement + | @xmlcomment + | @xmlattribute + | @xmldtd + | @file + | @xmlnamespace; diff --git a/cpp/ql/lib/upgrades/298438feb146335af824002589cd6d4e96e5dbf9/upgrade.properties b/cpp/ql/lib/upgrades/298438feb146335af824002589cd6d4e96e5dbf9/upgrade.properties new file mode 100644 index 00000000000..f300f2c1771 --- /dev/null +++ b/cpp/ql/lib/upgrades/298438feb146335af824002589cd6d4e96e5dbf9/upgrade.properties @@ -0,0 +1,2 @@ +description: Introduce re-use expressions +compatibility: backwards diff --git a/cpp/ql/src/CHANGELOG.md b/cpp/ql/src/CHANGELOG.md index ffcd73ff5d7..69c80b835f3 100644 --- a/cpp/ql/src/CHANGELOG.md +++ b/cpp/ql/src/CHANGELOG.md @@ -1,3 +1,14 @@ +## 0.9.7 + +No user-facing changes. + +## 0.9.6 + +### Minor Analysis Improvements + +* The "non-constant format string" query (`cpp/non-constant-format`) has been converted to a `path-problem` query. +* The new C/C++ dataflow and taint-tracking libraries (`semmle.code.cpp.dataflow.new.DataFlow` and `semmle.code.cpp.dataflow.new.TaintTracking`) now implicitly assume that dataflow and taint modelled via `DataFlowFunction` and `TaintFunction` always fully overwrite their buffers and thus act as flow barriers. As a result, many dataflow and taint-tracking queries now produce fewer false positives. To remove this assumption and go back to the previous behavior for a given model, one can override the new `isPartialWrite` predicate. + ## 0.9.5 ### Minor Analysis Improvements diff --git a/cpp/ql/src/Critical/MissingCheckScanf.ql b/cpp/ql/src/Critical/MissingCheckScanf.ql index 78560383b00..5d8ce9e8846 100644 --- a/cpp/ql/src/Critical/MissingCheckScanf.ql +++ b/cpp/ql/src/Critical/MissingCheckScanf.ql @@ -2,7 +2,7 @@ * @name Missing return-value check for a 'scanf'-like function * @description Failing to check that a call to 'scanf' actually writes to an * output variable can lead to unexpected behavior at reading time. - * @kind problem + * @kind path-problem * @problem.severity warning * @security-severity 7.5 * @precision medium @@ -18,16 +18,9 @@ import semmle.code.cpp.commons.Scanf import semmle.code.cpp.controlflow.Guards import semmle.code.cpp.dataflow.new.DataFlow::DataFlow import semmle.code.cpp.ir.IR -import semmle.code.cpp.ir.ValueNumbering +import semmle.code.cpp.valuenumbering.GlobalValueNumbering import ScanfChecks - -/** Holds if `n` reaches an argument to a call to a `scanf`-like function. */ -pragma[nomagic] -predicate revFlow0(Node n) { - isSink(_, _, n, _) - or - exists(Node succ | revFlow0(succ) | localFlowStep(n, succ)) -} +import ScanfToUseFlow::PathGraph /** * Holds if `n` represents an uninitialized stack-allocated variable, or a @@ -38,30 +31,45 @@ predicate isUninitialized(Node n) { n.asIndirectExpr(1) instanceof AllocationExpr } -pragma[nomagic] -predicate fwdFlow0(Node n) { - revFlow0(n) and - ( - isUninitialized(n) - or - exists(Node prev | - fwdFlow0(prev) and - localFlowStep(prev, n) - ) - ) -} - predicate isSink(ScanfFunctionCall call, int index, Node n, Expr input) { input = call.getOutputArgument(index) and n.asIndirectExpr() = input } +/** + * A configuration to track a uninitialized data flowing to a `scanf`-like + * output parameter position. + * + * This is meant to be a simple flow to rule out cases like: + * ``` + * int x = 0; + * scanf(..., &x); + * use(x); + * ``` + * since `x` is already initialized it's not a security concern that `x` is + * used without checking the return value of `scanf`. + * + * Since this flow is meant to be simple, we disable field flow and require the + * source and the sink to be in the same callable. + */ +module UninitializedToScanfConfig implements ConfigSig { + predicate isSource(Node source) { isUninitialized(source) } + + predicate isSink(Node sink) { isSink(_, _, sink, _) } + + FlowFeature getAFeature() { result instanceof FeatureEqualSourceSinkCallContext } + + int accessPathLimit() { result = 0 } +} + +module UninitializedToScanfFlow = Global; + /** * Holds if `call` is a `scanf`-like call and `output` is the `index`'th * argument that has not been previously initialized. */ predicate isRelevantScanfCall(ScanfFunctionCall call, int index, Expr output) { - exists(Node n | fwdFlow0(n) and isSink(call, index, n, output)) and + exists(Node n | UninitializedToScanfFlow::flowTo(n) and isSink(call, index, n, output)) and // Exclude results from incorrectky checked scanf query not incorrectlyCheckedScanf(call) } @@ -77,31 +85,6 @@ predicate isSource(ScanfFunctionCall call, int index, Node n, Expr output) { n.asDefiningArgument() = output } -/** - * Holds if `n` is reachable from an output argument of a relevant call to - * a `scanf`-like function. - */ -pragma[nomagic] -predicate fwdFlow(Node n) { - isSource(_, _, n, _) - or - exists(Node prev | - fwdFlow(prev) and - localFlowStep(prev, n) and - not isSanitizerOut(prev) - ) -} - -/** Holds if `n` should not have outgoing flow. */ -predicate isSanitizerOut(Node n) { - // We disable flow out of sinks to reduce result duplication - isSink(n, _) - or - // If the node is being passed to a function it may be - // modified, and thus it's safe to later read the value. - exists(n.asIndirectArgument()) -} - /** * Holds if `n` is a node such that `n.asExpr() = e` and `e` is not an * argument of a deallocation expression. @@ -112,40 +95,37 @@ predicate isSink(Node n, Expr e) { } /** - * Holds if `n` is part of a path from a call to a `scanf`-like function - * to a use of the written variable. + * A configuration to track flow from the output argument of a call to a + * `scanf`-like function, and to a use of the defined variable. */ -pragma[nomagic] -predicate revFlow(Node n) { - fwdFlow(n) and - ( +module ScanfToUseConfig implements ConfigSig { + predicate isSource(Node source) { isSource(_, _, source, _) } + + predicate isSink(Node sink) { isSink(sink, _) } + + predicate isBarrierOut(Node n) { + // We disable flow out of sinks to reduce result duplication isSink(n, _) or - exists(Node succ | - revFlow(succ) and - localFlowStep(n, succ) and - not isSanitizerOut(n) - ) - ) + // If the node is being passed to a function it may be + // modified, and thus it's safe to later read the value. + exists(n.asIndirectArgument()) + } } -/** A local flow step, restricted to relevant dataflow nodes. */ -private predicate step(Node n1, Node n2) { - revFlow(n1) and - revFlow(n2) and - localFlowStep(n1, n2) -} - -predicate hasFlow(Node n1, Node n2) = fastTC(step/2)(n1, n2) +module ScanfToUseFlow = Global; /** * Holds if `source` is the `index`'th argument to the `scanf`-like call `call`, and `sink` is * a dataflow node that represents the expression `e`. */ -predicate hasFlow(Node source, ScanfFunctionCall call, int index, Node sink, Expr e) { - isSource(call, index, source, _) and - hasFlow(source, sink) and - isSink(sink, e) +predicate flowPath( + ScanfToUseFlow::PathNode source, ScanfFunctionCall call, int index, ScanfToUseFlow::PathNode sink, + Expr e +) { + isSource(call, index, source.getNode(), _) and + ScanfToUseFlow::flowPath(source, sink) and + isSink(sink.getNode(), e) } /** @@ -167,39 +147,33 @@ int getMinimumGuardConstant(ScanfFunctionCall call, int index) { * Holds the access to `e` isn't guarded by a check that ensures that `call` returned * at least `minGuard`. */ -predicate hasNonGuardedAccess(ScanfFunctionCall call, Expr e, int minGuard) { +predicate hasNonGuardedAccess( + ScanfToUseFlow::PathNode source, ScanfFunctionCall call, ScanfToUseFlow::PathNode sink, Expr e, + int minGuard +) { exists(int index | - hasFlow(_, call, index, _, e) and + flowPath(source, call, index, sink, e) and minGuard = getMinimumGuardConstant(call, index) | - not exists(int value | - e.getBasicBlock() = blockGuardedBy(value, "==", call) and minGuard <= value + not exists(GuardCondition guard | + // call == k and k >= minGuard so call >= minGuard + guard + .ensuresEq(globalValueNumber(call).getAnExpr(), any(int k | minGuard <= k), + e.getBasicBlock(), true) or - e.getBasicBlock() = blockGuardedBy(value, "<", call) and minGuard - 1 <= value - or - e.getBasicBlock() = blockGuardedBy(value, "<=", call) and minGuard <= value + // call >= k and k >= minGuard so call >= minGuard + guard + .ensuresLt(globalValueNumber(call).getAnExpr(), any(int k | minGuard <= k), + e.getBasicBlock(), false) ) ) } -/** Returns a block guarded by the assertion of `value op call` */ -BasicBlock blockGuardedBy(int value, string op, ScanfFunctionCall call) { - exists(GuardCondition g, Expr left, Expr right | - right = g.getAChild() and - value = left.getValue().toInt() and - localExprFlow(call, right) - | - g.ensuresEq(left, right, 0, result, true) and op = "==" - or - g.ensuresLt(left, right, 0, result, true) and op = "<" - or - g.ensuresLt(left, right, 1, result, true) and op = "<=" - ) -} - -from ScanfFunctionCall call, Expr e, int minGuard -where hasNonGuardedAccess(call, e, minGuard) -select e, +from + ScanfToUseFlow::PathNode source, ScanfToUseFlow::PathNode sink, ScanfFunctionCall call, Expr e, + int minGuard +where hasNonGuardedAccess(source, call, sink, e, minGuard) +select e, source, sink, "This variable is read, but may not have been written. " + "It should be guarded by a check that the $@ returns at least " + minGuard + ".", call, call.toString() diff --git a/cpp/ql/src/Critical/ScanfChecks.qll b/cpp/ql/src/Critical/ScanfChecks.qll index b2464ecc9f4..6f50172537e 100644 --- a/cpp/ql/src/Critical/ScanfChecks.qll +++ b/cpp/ql/src/Critical/ScanfChecks.qll @@ -3,15 +3,11 @@ private import semmle.code.cpp.commons.Scanf private import semmle.code.cpp.controlflow.IRGuards private import semmle.code.cpp.ir.ValueNumbering -private ConstantInstruction getZeroInstruction() { result.getValue() = "0" } - -private Operand zero() { result.getDef() = getZeroInstruction() } - private predicate exprInBooleanContext(Expr e) { exists(IRGuardCondition gc | exists(Instruction i | i.getUnconvertedResultExpression() = e and - gc.comparesEq(valueNumber(i).getAUse(), zero(), 0, _, _) + gc.comparesEq(valueNumber(i).getAUse(), 0, _, _) ) or gc.getUnconvertedResultExpression() = e @@ -36,10 +32,6 @@ private string getEofValue() { ) } -private ConstantInstruction getEofInstruction() { result.getValue() = getEofValue() } - -private Operand eof() { result.getDef() = getEofInstruction() } - /** * Holds if the value of `call` has been checked to not equal `EOF`. */ @@ -47,10 +39,10 @@ private predicate checkedForEof(ScanfFunctionCall call) { exists(IRGuardCondition gc | exists(Instruction i | i.getUnconvertedResultExpression() = call | // call == EOF - gc.comparesEq(valueNumber(i).getAUse(), eof(), 0, _, _) + gc.comparesEq(valueNumber(i).getAUse(), getEofValue().toInt(), _, _) or // call < 0 (EOF is guaranteed to be negative) - gc.comparesLt(valueNumber(i).getAUse(), zero(), 0, true, _) + gc.comparesLt(valueNumber(i).getAUse(), 0, true, _) ) ) } diff --git a/cpp/ql/src/Likely Bugs/Format/NonConstantFormat.ql b/cpp/ql/src/Likely Bugs/Format/NonConstantFormat.ql index 0d1cc7bcf39..62c3c98e197 100644 --- a/cpp/ql/src/Likely Bugs/Format/NonConstantFormat.ql +++ b/cpp/ql/src/Likely Bugs/Format/NonConstantFormat.ql @@ -37,6 +37,37 @@ class UncalledFunction extends Function { } } +/** The `unsigned short` type. */ +class UnsignedShort extends ShortType { + UnsignedShort() { this.isUnsigned() } +} + +/** + * Holds if `t` cannot refer to a string. That is, it's a built-in + * or arithmetic type that is not a "`char` like" type. + */ +predicate cannotContainString(Type t) { + exists(Type unspecified | + unspecified = t.getUnspecifiedType() and + not unspecified instanceof UnknownType and + not unspecified instanceof CharType and + not unspecified instanceof WideCharType and + not unspecified instanceof Char8Type and + not unspecified instanceof Char16Type and + not unspecified instanceof Char32Type and + // C often defines `wchar_t` as `unsigned short` + not unspecified instanceof UnsignedShort + | + unspecified instanceof ArithmeticType or + unspecified instanceof BuiltInType + ) +} + +predicate dataFlowOrTaintFlowFunction(Function func, FunctionOutput output) { + func.(DataFlowFunction).hasDataFlow(_, output) or + func.(TaintFunction).hasTaintFlow(_, output) +} + /** * Holds if `node` is a non-constant source of data flow for non-const format string detection. * This is defined as either: @@ -69,7 +100,9 @@ predicate isNonConst(DataFlow::Node node) { // Parameters of uncalled functions that aren't const exists(UncalledFunction f, Parameter p | f.getAParameter() = p and - p = node.asParameter() and + // We pick the indirection of the parameter since this query is focused + // on strings. + p = node.asParameter(1) and // Ignore main's argv parameter as it is already considered a `FlowSource` // not ignoring it will result in path redundancies (f.getName() = "main" implies p != f.getParameter(1)) @@ -82,30 +115,27 @@ predicate isNonConst(DataFlow::Node node) { // are considered as possible non-const sources // The function's output must also not be const to be considered a non-const source exists(Function func, CallInstruction call | - // NOTE: could use `Call` getAnArgument() instead of `CallInstruction` but requires two - // variables representing the same call in ordoer to use `callOutput` below. - exists(Expr arg | - call.getPositionalArgumentOperand(_).getDef().getUnconvertedResultExpression() = arg and - arg = node.asDefiningArgument() - ) - or - call.getUnconvertedResultExpression() = node.asIndirectExpr() + not func.hasDefinition() and + func = call.getStaticCallTarget() | - func = call.getStaticCallTarget() and + // Case 1: It's a known dataflow or taintflow function with flow to the return value + call.getUnconvertedResultExpression() = node.asIndirectExpr() and not exists(FunctionOutput output | - // NOTE: we must include dataflow and taintflow. e.g., including only dataflow we will find sprintf - // variant function's output are now possible non-const sources - pragma[only_bind_out](func).(DataFlowFunction).hasDataFlow(_, output) or - pragma[only_bind_out](func).(TaintFunction).hasTaintFlow(_, output) - | + dataFlowOrTaintFlowFunction(func, output) and + output.isReturnValueDeref(_) and node = callOutput(call, output) ) - ) and - not exists(Call c | - c.getTarget().hasDefinition() and - if node instanceof DataFlow::DefinitionByReferenceNode - then c.getAnArgument() = node.asDefiningArgument() - else c = [node.asExpr(), node.asIndirectExpr()] + or + // Case 2: It's a known dataflow or taintflow function with flow to an output parameter + exists(int i | + call.getPositionalArgumentOperand(i).getDef().getUnconvertedResultExpression() = + node.asDefiningArgument() and + not exists(FunctionOutput output | + dataFlowOrTaintFlowFunction(func, output) and + output.isParameterDeref(i, _) and + node = callOutput(call, output) + ) + ) ) } @@ -114,18 +144,29 @@ predicate isNonConst(DataFlow::Node node) { * `FormattingFunctionCall`. */ predicate isSinkImpl(DataFlow::Node sink, Expr formatString) { - [sink.asExpr(), sink.asIndirectExpr()] = formatString and + sink.asIndirectExpr() = formatString and exists(FormattingFunctionCall fc | formatString = fc.getArgument(fc.getFormatParameterIndex())) } module NonConstFlowConfig implements DataFlow::ConfigSig { - predicate isSource(DataFlow::Node source) { isNonConst(source) } + predicate isSource(DataFlow::Node source) { + exists(Type t | + isNonConst(source) and + t = source.getType() and + not cannotContainString(t) + ) + } predicate isSink(DataFlow::Node sink) { isSinkImpl(sink, _) } predicate isBarrier(DataFlow::Node node) { // Ignore tracing non-const through array indices - exists(ArrayExpr a | a.getArrayOffset() = node.asExpr()) + exists(ArrayExpr a | a.getArrayOffset() = node.asIndirectExpr()) + or + exists(Type t | + t = node.getType() and + cannotContainString(t) + ) } } diff --git a/cpp/ql/src/Likely Bugs/Memory Management/UninitializedLocal.ql b/cpp/ql/src/Likely Bugs/Memory Management/UninitializedLocal.ql index f8bac113eb9..35bee25c9f5 100644 --- a/cpp/ql/src/Likely Bugs/Memory Management/UninitializedLocal.ql +++ b/cpp/ql/src/Likely Bugs/Memory Management/UninitializedLocal.ql @@ -2,7 +2,7 @@ * @name Potentially uninitialized local variable * @description Reading from a local variable that has not been assigned to * will typically yield garbage. - * @kind problem + * @kind path-problem * @id cpp/uninitialized-local * @problem.severity warning * @security-severity 7.8 @@ -15,6 +15,7 @@ import cpp import semmle.code.cpp.ir.IR import semmle.code.cpp.ir.dataflow.MustFlow +import PathGraph /** * Auxiliary predicate: Types that don't require initialization @@ -89,4 +90,4 @@ where conf.hasFlowPath(source, sink) and isSinkImpl(sink.getInstruction(), va) and v = va.getTarget() -select va, "The variable $@ may not be initialized at this access.", v, v.getName() +select va, source, sink, "The variable $@ may not be initialized at this access.", v, v.getName() diff --git a/cpp/ql/src/Likely Bugs/Protocols/TlsSettingsMisconfiguration.ql b/cpp/ql/src/Likely Bugs/Protocols/TlsSettingsMisconfiguration.ql index 61989db1c6e..f20b299da60 100644 --- a/cpp/ql/src/Likely Bugs/Protocols/TlsSettingsMisconfiguration.ql +++ b/cpp/ql/src/Likely Bugs/Protocols/TlsSettingsMisconfiguration.ql @@ -12,34 +12,42 @@ import cpp import semmle.code.cpp.security.boostorg.asio.protocols -module ExistsAnyFlowConfig implements DataFlow::ConfigSig { - predicate isSource(DataFlow::Node source) { - exists(BoostorgAsio::SslContextClass c | c.getAContructorCall() = source.asExpr()) - } +predicate isSourceImpl(DataFlow::Node source, ConstructorCall cc) { + exists(BoostorgAsio::SslContextClass c | c.getAContructorCall() = cc and cc = source.asExpr()) +} - predicate isSink(DataFlow::Node sink) { - exists(BoostorgAsio::SslSetOptionsFunction f, FunctionCall fcSetOptions | - f.getACallToThisFunction() = fcSetOptions and - fcSetOptions.getQualifier() = sink.asExpr() - ) - } +predicate isSinkImpl(DataFlow::Node sink, FunctionCall fcSetOptions) { + exists(BoostorgAsio::SslSetOptionsFunction f | + f.getACallToThisFunction() = fcSetOptions and + fcSetOptions.getQualifier() = sink.asIndirectExpr() + ) +} + +module ExistsAnyFlowConfig implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node source) { isSourceImpl(source, _) } + + predicate isSink(DataFlow::Node sink) { isSinkImpl(sink, _) } } module ExistsAnyFlow = DataFlow::Global; bindingset[flag] predicate isOptionSet(ConstructorCall cc, int flag, FunctionCall fcSetOptions) { - exists(VariableAccess contextSetOptions | - ExistsAnyFlow::flow(DataFlow::exprNode(cc), DataFlow::exprNode(contextSetOptions)) and - exists(BoostorgAsio::SslSetOptionsFunction f | f.getACallToThisFunction() = fcSetOptions | - contextSetOptions = fcSetOptions.getQualifier() and - forall(Expr optionArgument, Expr optionArgumentSource | - optionArgument = fcSetOptions.getArgument(0) and - BoostorgAsio::SslOptionFlow::flow(DataFlow::exprNode(optionArgumentSource), - DataFlow::exprNode(optionArgument)) - | - optionArgument.getValue().toInt().bitShiftRight(16).bitAnd(flag) = flag - ) + exists( + VariableAccess contextSetOptions, BoostorgAsio::SslSetOptionsFunction f, DataFlow::Node source, + DataFlow::Node sink + | + isSourceImpl(source, cc) and + isSinkImpl(sink, fcSetOptions) and + ExistsAnyFlow::flow(source, sink) and + f.getACallToThisFunction() = fcSetOptions and + contextSetOptions = fcSetOptions.getQualifier() and + forall(Expr optionArgument, Expr optionArgumentSource | + optionArgument = fcSetOptions.getArgument(0) and + BoostorgAsio::SslOptionFlow::flow(DataFlow::exprNode(optionArgumentSource), + DataFlow::exprNode(optionArgument)) + | + optionArgument.getValue().toInt().bitShiftRight(16).bitAnd(flag) = flag ) ) } diff --git a/cpp/ql/src/Security/CWE/CWE-843/TypeConfusion.qhelp b/cpp/ql/src/Security/CWE/CWE-843/TypeConfusion.qhelp new file mode 100644 index 00000000000..205a1ae7ff8 --- /dev/null +++ b/cpp/ql/src/Security/CWE/CWE-843/TypeConfusion.qhelp @@ -0,0 +1,50 @@ + + + + +

+Certain casts in C and C++ place no restrictions on the target type. For +example, C style casts such as (MyClass*)p allows the programmer +to cast any pointer p to an expression of type MyClass*. +If the runtime type of p turns out to be a type that's incompatible +with MyClass, this results in undefined behavior. +

+
+ + +

+If possible, use dynamic_cast to safely cast between polymorphic types. +If dynamic_cast is not an option, use static_cast to restrict +the kinds of conversions that the compiler is allowed to perform. If C++ style casts is +not an option, carefully check that all casts are safe. +

+
+ + +

+Consider the following class hierachy where we define a base class Shape and two +derived classes Circle and Square that are mutually incompatible: +

+ + +

+The following code demonstrates a type confusion vulnerability where the programmer +assumes that the runtime type of p is always a Square. +However, if p is a Circle, the cast will result in undefined behavior. +

+ + +

+The following code fixes the vulnerability by using dynamic_cast to +safely cast between polymorphic types. If the cast fails, dynamic_cast +returns a null pointer, which can be checked for and handled appropriately. +

+ +
+ + +
  • +Microsoft Learn: Type conversions and type safety. +
  • +
    +
    diff --git a/cpp/ql/src/Security/CWE/CWE-843/TypeConfusion.ql b/cpp/ql/src/Security/CWE/CWE-843/TypeConfusion.ql new file mode 100644 index 00000000000..18a331f9c32 --- /dev/null +++ b/cpp/ql/src/Security/CWE/CWE-843/TypeConfusion.ql @@ -0,0 +1,263 @@ +/** + * @name Type confusion + * @description Casting a value to an incompatible type can lead to undefined behavior. + * @kind path-problem + * @problem.severity warning + * @security-severity 9.3 + * @precision medium + * @id cpp/type-confusion + * @tags security + * external/cwe/cwe-843 + */ + +import cpp +import semmle.code.cpp.dataflow.new.DataFlow +import Flow::PathGraph + +/** + * Holds if `f` is a field located at byte offset `offset` in `c`. + * + * Note that predicate is recursive, so that given the following: + * ```cpp + * struct S1 { + * int a; + * void* b; + * }; + * + * struct S2 { + * S1 s1; + * char c; + * }; + * ``` + * both `hasAFieldWithOffset(S2, s1, 0)` and `hasAFieldWithOffset(S2, a, 0)` + * holds. + */ +predicate hasAFieldWithOffset(Class c, Field f, int offset) { + // Base case: `f` is a field in `c`. + f = c.getAField() and + offset = f.getByteOffset() and + not f.getUnspecifiedType().(Class).hasDefinition() + or + // Otherwise, we find the struct that is a field of `c` which then has + // the field `f` as a member. + exists(Field g | + g = c.getAField() and + // Find the field with the largest offset that's less than or equal to + // offset. That's the struct we need to search recursively. + g = + max(Field cand, int candOffset | + cand = c.getAField() and + candOffset = cand.getByteOffset() and + offset >= candOffset + | + cand order by candOffset + ) and + hasAFieldWithOffset(g.getUnspecifiedType(), f, offset - g.getByteOffset()) + ) +} + +/** Holds if `f` is the last field of its declaring class. */ +predicate lastField(Field f) { + exists(Class c | c = f.getDeclaringType() | + f = + max(Field cand, int byteOffset | + cand.getDeclaringType() = c and byteOffset = f.getByteOffset() + | + cand order by byteOffset + ) + ) +} + +/** + * Holds if there exists a field in `c2` at offset `offset` that's compatible + * with `f1`. + */ +bindingset[f1, offset, c2] +pragma[inline_late] +predicate hasCompatibleFieldAtOffset(Field f1, int offset, Class c2) { + exists(Field f2 | hasAFieldWithOffset(c2, f2, offset) | + // Let's not deal with bit-fields for now. + f2 instanceof BitField + or + f1.getUnspecifiedType().getSize() = f2.getUnspecifiedType().getSize() + or + lastField(f1) and + f1.getUnspecifiedType().getSize() <= f2.getUnspecifiedType().getSize() + ) +} + +/** + * Holds if `c1` is a prefix of `c2`. + */ +bindingset[c1, c2] +pragma[inline_late] +predicate prefix(Class c1, Class c2) { + not c1.isPolymorphic() and + not c2.isPolymorphic() and + if c1 instanceof Union + then + // If it's a union we just verify that one of it's variants is compatible with the other class + exists(Field f1, int offset | + // Let's not deal with bit-fields for now. + not f1 instanceof BitField and + hasAFieldWithOffset(c1, f1, offset) + | + hasCompatibleFieldAtOffset(f1, offset, c2) + ) + else + forall(Field f1, int offset | + // Let's not deal with bit-fields for now. + not f1 instanceof BitField and + hasAFieldWithOffset(c1, f1, offset) + | + hasCompatibleFieldAtOffset(f1, offset, c2) + ) +} + +/** + * An unsafe cast is any explicit cast that is not + * a `dynamic_cast`. + */ +class UnsafeCast extends Cast { + private Class toType; + + UnsafeCast() { + ( + this instanceof CStyleCast + or + this instanceof StaticCast + or + this instanceof ReinterpretCast + ) and + toType = this.getExplicitlyConverted().getUnspecifiedType().stripType() and + not this.isImplicit() and + exists(TypeDeclarationEntry tde | + tde = toType.getDefinition() and + not tde.isFromUninstantiatedTemplate(_) + ) + } + + Class getConvertedType() { result = toType } + + /** + * Holds if the result of this cast can safely be interpreted as a value of + * type `t`. + * + * The compatibility rules are as follows: + * + * 1. the result of `(T)x` is compatible with the type `T` for any `T` + * 2. the result of `(T)x` is compatible with the type `U` for any `U` such + * that `U` is a subtype of `T`, or `T` is a subtype of `U`. + * 3. the result of `(T)x` is compatible with the type `U` if the list + * of fields of `T` is a prefix of the list of fields of `U`. + * For example, if `U` is `struct { unsigned char x; int y; };` + * and `T` is `struct { unsigned char uc; };`. + * 4. the result of `(T)x` is compatible with the type `U` if the list + * of fields of `U` is a prefix of the list of fields of `T`. + * + * Condition 4 is a bit controversial, since it assumes that the additional + * fields in `T` won't be accessed. This may result in some FNs. + */ + bindingset[this, t] + pragma[inline_late] + predicate compatibleWith(Type t) { + // Conition 1 + t.stripType() = this.getConvertedType() + or + // Condition 3 + prefix(this.getConvertedType(), t.stripType()) + or + // Condition 4 + prefix(t.stripType(), this.getConvertedType()) + or + // Condition 2 (a) + t.stripType().(Class).getABaseClass+() = this.getConvertedType() + or + // Condition 2 (b) + t.stripType() = this.getConvertedType().getABaseClass+() + } +} + +/** + * Holds if `source` is an allocation that allocates a value of type `type`. + */ +predicate isSourceImpl(DataFlow::Node source, Class type) { + exists(AllocationExpr alloc | + alloc = source.asExpr() and + type = alloc.getAllocatedElementType().stripType() and + not exists( + alloc + .(NewOrNewArrayExpr) + .getAllocator() + .(OperatorNewAllocationFunction) + .getPlacementArgument() + ) + ) and + exists(TypeDeclarationEntry tde | + tde = type.getDefinition() and + not tde.isFromUninstantiatedTemplate(_) + ) +} + +/** A configuration describing flow from an allocation to a potentially unsafe cast. */ +module Config implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node source) { isSourceImpl(source, _) } + + predicate isBarrier(DataFlow::Node node) { + // We disable flow through global variables to reduce FPs from infeasible paths + node instanceof DataFlow::VariableNode + or + exists(Class c | c = node.getType().stripType() | + not c.hasDefinition() + or + exists(TypeDeclarationEntry tde | + tde = c.getDefinition() and + tde.isFromUninstantiatedTemplate(_) + ) + ) + } + + predicate isSink(DataFlow::Node sink) { sink.asExpr() = any(UnsafeCast cast).getUnconverted() } + + int fieldFlowBranchLimit() { result = 0 } +} + +module Flow = DataFlow::Global; + +predicate relevantType(DataFlow::Node sink, Class allocatedType) { + exists(DataFlow::Node source | + Flow::flow(source, sink) and + isSourceImpl(source, allocatedType) + ) +} + +predicate isSinkImpl( + DataFlow::Node sink, Class allocatedType, Type convertedType, boolean compatible +) { + exists(UnsafeCast cast | + relevantType(sink, allocatedType) and + sink.asExpr() = cast.getUnconverted() and + convertedType = cast.getConvertedType() + | + if cast.compatibleWith(allocatedType) then compatible = true else compatible = false + ) +} + +from + Flow::PathNode source, Flow::PathNode sink, Type badSourceType, Type sinkType, + DataFlow::Node sinkNode +where + Flow::flowPath(source, sink) and + sinkNode = sink.getNode() and + isSourceImpl(source.getNode(), badSourceType) and + isSinkImpl(sinkNode, badSourceType, sinkType, false) and + // If there is any flow that would result in a valid cast then we don't + // report an alert here. This reduces the number of FPs from infeasible paths + // significantly. + not exists(DataFlow::Node goodSource, Type goodSourceType | + isSourceImpl(goodSource, goodSourceType) and + isSinkImpl(sinkNode, goodSourceType, sinkType, true) and + Flow::flow(goodSource, sinkNode) + ) +select sinkNode, source, sink, "Conversion from $@ to $@ is invalid.", badSourceType, + badSourceType.toString(), sinkType, sinkType.toString() diff --git a/cpp/ql/src/Security/CWE/CWE-843/TypeConfusionBad.cpp b/cpp/ql/src/Security/CWE/CWE-843/TypeConfusionBad.cpp new file mode 100644 index 00000000000..1ef9bfd3e31 --- /dev/null +++ b/cpp/ql/src/Security/CWE/CWE-843/TypeConfusionBad.cpp @@ -0,0 +1,7 @@ +void allocate_and_draw_bad() { + Shape* shape = new Circle; + // ... + // BAD: Assumes that shape is always a Square + Square* square = static_cast(shape); + int length = square->getLength(); +} \ No newline at end of file diff --git a/cpp/ql/src/Security/CWE/CWE-843/TypeConfusionCommon.cpp b/cpp/ql/src/Security/CWE/CWE-843/TypeConfusionCommon.cpp new file mode 100644 index 00000000000..7bdee019588 --- /dev/null +++ b/cpp/ql/src/Security/CWE/CWE-843/TypeConfusionCommon.cpp @@ -0,0 +1,25 @@ +struct Shape { + virtual ~Shape(); + + virtual void draw() = 0; +}; + +struct Circle : public Shape { + Circle(); + + void draw() override { + /* ... */ + } + + int getRadius(); +}; + +struct Square : public Shape { + Square(); + + void draw() override { + /* ... */ + } + + int getLength(); +}; diff --git a/cpp/ql/src/Security/CWE/CWE-843/TypeConfusionGood.cpp b/cpp/ql/src/Security/CWE/CWE-843/TypeConfusionGood.cpp new file mode 100644 index 00000000000..f56a00a5e10 --- /dev/null +++ b/cpp/ql/src/Security/CWE/CWE-843/TypeConfusionGood.cpp @@ -0,0 +1,11 @@ +void allocate_and_draw_good() { + Shape* shape = new Circle; + // ... + // GOOD: Dynamically checks if shape is a Square + Square* square = dynamic_cast(shape); + if(square) { + int length = square->getLength(); + } else { + // handle error + } +} \ No newline at end of file diff --git a/cpp/ql/src/Summary/LinesOfUserCode.ql b/cpp/ql/src/Summary/LinesOfUserCode.ql index 67d3aa6a8e0..468dbda4ffb 100644 --- a/cpp/ql/src/Summary/LinesOfUserCode.ql +++ b/cpp/ql/src/Summary/LinesOfUserCode.ql @@ -4,6 +4,7 @@ * @kind metric * @tags summary * lines-of-code + * debug * @id cpp/summary/lines-of-user-code */ diff --git a/cpp/ql/src/change-notes/2024-02-29-non-constant-format-path-query.md b/cpp/ql/src/change-notes/2024-02-29-non-constant-format-path-query.md deleted file mode 100644 index 2e5933a61e8..00000000000 --- a/cpp/ql/src/change-notes/2024-02-29-non-constant-format-path-query.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* The "non-constant format string" query (`cpp/non-constant-format`) has been converted to a `path-problem` query. \ No newline at end of file diff --git a/cpp/ql/src/change-notes/2024-03-05-type-confusion-query.md b/cpp/ql/src/change-notes/2024-03-05-type-confusion-query.md new file mode 100644 index 00000000000..f96a4684b76 --- /dev/null +++ b/cpp/ql/src/change-notes/2024-03-05-type-confusion-query.md @@ -0,0 +1,4 @@ +--- +category: newQuery +--- +* Added a new query, `cpp/type-confusion`, to detect casts to invalid types. \ No newline at end of file diff --git a/cpp/ql/src/change-notes/2024-03-13-glib-alloc-and-dealloc.md b/cpp/ql/src/change-notes/2024-03-13-glib-alloc-and-dealloc.md new file mode 100644 index 00000000000..bc9082285d4 --- /dev/null +++ b/cpp/ql/src/change-notes/2024-03-13-glib-alloc-and-dealloc.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* Added models for `GLib` allocation and deallocation functions. diff --git a/cpp/ql/src/change-notes/2024-03-18-uninitialized-local-path-problem.md b/cpp/ql/src/change-notes/2024-03-18-uninitialized-local-path-problem.md new file mode 100644 index 00000000000..14a8c2e7ce7 --- /dev/null +++ b/cpp/ql/src/change-notes/2024-03-18-uninitialized-local-path-problem.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* The "Potentially uninitialized local variable" query (`cpp/uninitialized-local`) has been converted to a `path-problem` query. \ No newline at end of file diff --git a/cpp/ql/src/change-notes/2024-03-20-missing-check-scanf-path-problem.md b/cpp/ql/src/change-notes/2024-03-20-missing-check-scanf-path-problem.md new file mode 100644 index 00000000000..12a185add1e --- /dev/null +++ b/cpp/ql/src/change-notes/2024-03-20-missing-check-scanf-path-problem.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* The "Missing return-value check for a 'scanf'-like function" query (`cpp/missing-check-scanf`) has been converted to a `path-problem` query. \ No newline at end of file diff --git a/cpp/ql/src/change-notes/2024-02-16-modelled-functions-block-flow.md b/cpp/ql/src/change-notes/released/0.9.6.md similarity index 77% rename from cpp/ql/src/change-notes/2024-02-16-modelled-functions-block-flow.md rename to cpp/ql/src/change-notes/released/0.9.6.md index d6ef3c3e056..0c85f3f9f0f 100644 --- a/cpp/ql/src/change-notes/2024-02-16-modelled-functions-block-flow.md +++ b/cpp/ql/src/change-notes/released/0.9.6.md @@ -1,4 +1,6 @@ ---- -category: minorAnalysis ---- +## 0.9.6 + +### Minor Analysis Improvements + +* The "non-constant format string" query (`cpp/non-constant-format`) has been converted to a `path-problem` query. * The new C/C++ dataflow and taint-tracking libraries (`semmle.code.cpp.dataflow.new.DataFlow` and `semmle.code.cpp.dataflow.new.TaintTracking`) now implicitly assume that dataflow and taint modelled via `DataFlowFunction` and `TaintFunction` always fully overwrite their buffers and thus act as flow barriers. As a result, many dataflow and taint-tracking queries now produce fewer false positives. To remove this assumption and go back to the previous behavior for a given model, one can override the new `isPartialWrite` predicate. diff --git a/cpp/ql/src/change-notes/released/0.9.7.md b/cpp/ql/src/change-notes/released/0.9.7.md new file mode 100644 index 00000000000..8583b9747e8 --- /dev/null +++ b/cpp/ql/src/change-notes/released/0.9.7.md @@ -0,0 +1,3 @@ +## 0.9.7 + +No user-facing changes. diff --git a/cpp/ql/src/codeql-pack.release.yml b/cpp/ql/src/codeql-pack.release.yml index 460240feaff..0921a438254 100644 --- a/cpp/ql/src/codeql-pack.release.yml +++ b/cpp/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.9.5 +lastReleaseVersion: 0.9.7 diff --git a/cpp/ql/src/experimental/Security/CWE/CWE-416/IteratorToExpiredContainer.qhelp b/cpp/ql/src/experimental/Security/CWE/CWE-416/IteratorToExpiredContainer.qhelp new file mode 100644 index 00000000000..19975b17493 --- /dev/null +++ b/cpp/ql/src/experimental/Security/CWE/CWE-416/IteratorToExpiredContainer.qhelp @@ -0,0 +1,53 @@ + + + +

    +Using an iterator owned by a container after the lifetime of the container has expired can lead to undefined behavior. +This is because the iterator may be invalidated when the container is destroyed, and dereferencing an invalidated iterator is undefined behavior. +These problems can be hard to spot due to C++'s complex rules for temporary object lifetimes and their extensions. +

    + +
    + + +

    +Never create an iterator to a temporary container when the iterator is expected to be used after the container's lifetime has expired. +

    + +
    + +

    + +

    + +

    +The rules for lifetime extension ensures that the code in lifetime_of_temp_extended is well-defined. This is because the +lifetime of the temporary container returned by get_vector is extended to the end of the loop. However, prior to C++23, +the lifetime extension rules do not ensure that the container returned by get_vector is extended in lifetime_of_temp_not_extended. +This is because the temporary container is not bound to a rvalue reference. +

    + + +
    + + +
  • CERT C Coding Standard: +MEM30-C. Do not access freed memory.
  • +
  • +OWASP: +Using freed memory. +
  • +
  • +Lifetime safety: Preventing common dangling +
  • +
  • +Containers library +
  • +
  • +Range-based for loop (since C++11) +
  • + +
    +
    diff --git a/cpp/ql/src/experimental/Security/CWE/CWE-416/IteratorToExpiredContainer.ql b/cpp/ql/src/experimental/Security/CWE/CWE-416/IteratorToExpiredContainer.ql new file mode 100644 index 00000000000..15f34aa8d15 --- /dev/null +++ b/cpp/ql/src/experimental/Security/CWE/CWE-416/IteratorToExpiredContainer.ql @@ -0,0 +1,103 @@ +/** + * @name Iterator to expired container + * @description Using an iterator owned by a container whose lifetime has expired may lead to unexpected behavior. + * @kind problem + * @precision high + * @id cpp/iterator-to-expired-container + * @problem.severity warning + * @tags reliability + * security + * external/cwe/cwe-416 + * external/cwe/cwe-664 + */ + +// IMPORTANT: This query does not currently find anything since it relies on extractor and analysis improvements that hasn't yet been released +import cpp +import semmle.code.cpp.ir.IR +import semmle.code.cpp.dataflow.new.DataFlow +import semmle.code.cpp.models.implementations.StdContainer +import semmle.code.cpp.models.implementations.StdMap +import semmle.code.cpp.models.implementations.Iterator + +/** + * A configuration to track flow from a temporary variable to the qualifier of + * a destructor call + */ +module TempToDestructorConfig implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node source) { + source.asInstruction().(VariableAddressInstruction).getIRVariable() instanceof IRTempVariable + } + + predicate isSink(DataFlow::Node sink) { + sink.asOperand().(ThisArgumentOperand).getCall().getStaticCallTarget() instanceof Destructor + } +} + +module TempToDestructorFlow = DataFlow::Global; + +/** + * Gets a `DataFlow::Node` that represents a temporary that will be destroyed + * by a call to a destructor, or a `DataFlow::Node` that will transitively be + * destroyed by a call to a destructor. + * + * For the latter case, consider something like: + * ``` + * std::vector> get_2d_vector(); + * auto& v = get_2d_vector()[0]; + * ``` + * Given the above, this predicate returns the node corresponding + * to `get_2d_vector()[0]` since the temporary `get_2d_vector()` gets + * destroyed by a call to `std::vector>::~vector`, + * and thus the result of `get_2d_vector()[0]` is also an invalid reference. + */ +DataFlow::Node getADestroyedNode() { + exists(TempToDestructorFlow::PathNode destroyedTemp | destroyedTemp.isSource() | + result = destroyedTemp.getNode() + or + exists(CallInstruction call | + result.asInstruction() = call and + DataFlow::localFlow(destroyedTemp.getNode(), + DataFlow::operandNode(call.getThisArgumentOperand())) + | + call.getStaticCallTarget() instanceof StdSequenceContainerAt or + call.getStaticCallTarget() instanceof StdMapAt + ) + ) +} + +predicate isSinkImpl(DataFlow::Node sink, FunctionCall fc) { + exists(CallInstruction call | + call = sink.asOperand().(ThisArgumentOperand).getCall() and + fc = call.getUnconvertedResultExpression() and + call.getStaticCallTarget() instanceof BeginOrEndFunction + ) +} + +/** + * Flow from any destroyed object to the qualifier of a `begin` or `end` call + */ +module DestroyedToBeginConfig implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node source) { source = getADestroyedNode() } + + predicate isSink(DataFlow::Node sink) { isSinkImpl(sink, _) } + + DataFlow::FlowFeature getAFeature() { + // By blocking argument-to-parameter flow we ensure that we don't enter a + // function body where the temporary outlives anything inside the function. + // This prevents false positives in cases like: + // ```cpp + // void foo(const std::vector& v) { + // for(auto x : v) { ... } // this is fine since v outlives the loop + // } + // ... + // foo(create_temporary()) + // ``` + result instanceof DataFlow::FeatureHasSinkCallContext + } +} + +module DestroyedToBeginFlow = DataFlow::Global; + +from DataFlow::Node source, DataFlow::Node sink, FunctionCall beginOrEnd +where DestroyedToBeginFlow::flow(source, sink) and isSinkImpl(sink, beginOrEnd) +select source, "This object is destroyed before $@ is called.", beginOrEnd, beginOrEnd.toString() diff --git a/cpp/ql/src/experimental/Security/CWE/CWE-416/IteratorToExpiredContainerExtendedLifetime.cpp b/cpp/ql/src/experimental/Security/CWE/CWE-416/IteratorToExpiredContainerExtendedLifetime.cpp new file mode 100644 index 00000000000..70232447f05 --- /dev/null +++ b/cpp/ql/src/experimental/Security/CWE/CWE-416/IteratorToExpiredContainerExtendedLifetime.cpp @@ -0,0 +1,20 @@ +#include + +std::vector get_vector(); + +void use(int); + +void lifetime_of_temp_extended() { + for(auto x : get_vector()) { + use(x); // GOOD: The lifetime of the vector returned by `get_vector()` is extended until the end of the loop. + } +} + +// Writes the the values of `v` to an external log and returns it unchanged. +const std::vector& log_and_return_argument(const std::vector& v); + +void lifetime_of_temp_not_extended() { + for(auto x : log_and_return_argument(get_vector())) { + use(x); // BAD: The lifetime of the vector returned by `get_vector()` is not extended, and the behavior is undefined. + } +} diff --git a/cpp/ql/src/qlpack.yml b/cpp/ql/src/qlpack.yml index 31bd20166b2..cc8476c89d3 100644 --- a/cpp/ql/src/qlpack.yml +++ b/cpp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-queries -version: 0.9.6-dev +version: 0.9.8-dev groups: - cpp - queries diff --git a/cpp/ql/test/examples/expressions/PrintAST.expected b/cpp/ql/test/examples/expressions/PrintAST.expected index 86aa1e36414..4aefbff5c55 100644 --- a/cpp/ql/test/examples/expressions/PrintAST.expected +++ b/cpp/ql/test/examples/expressions/PrintAST.expected @@ -105,10 +105,24 @@ ConditionDecl.cpp: # 3| getVariableAccess(): [VariableAccess] k # 3| Type = [IntType] int # 3| ValueCategory = prvalue(load) +# 3| getInitializingExpr(): [LTExpr] ... < ... +# 3| Type = [BoolType] bool +# 3| ValueCategory = prvalue +# 3| getLesserOperand(): [VariableAccess] j +# 3| Type = [IntType] int +# 3| ValueCategory = prvalue(load) +# 3| getGreaterOperand(): [Literal] 5 +# 3| Type = [IntType] int +# 3| Value = [Literal] 5 +# 3| ValueCategory = prvalue # 3| getVariableAccess().getFullyConverted(): [CStyleCast] (bool)... # 3| Conversion = [BoolConversion] conversion to bool # 3| Type = [BoolType] bool # 3| ValueCategory = prvalue +# 3| getInitializingExpr().getFullyConverted(): [CStyleCast] (int)... +# 3| Conversion = [IntegralConversion] integral conversion +# 3| Type = [IntType] int +# 3| ValueCategory = prvalue # 3| getStmt(): [BlockStmt] { ... } # 5| getStmt(2): [ReturnStmt] return ... ConstructorCall.cpp: diff --git a/cpp/ql/test/experimental/query-tests/Security/CWE/CWE-416/IteratorToExpiredContainer.expected b/cpp/ql/test/experimental/query-tests/Security/CWE/CWE-416/IteratorToExpiredContainer.expected new file mode 100644 index 00000000000..e69de29bb2d diff --git a/cpp/ql/test/experimental/query-tests/Security/CWE/CWE-416/IteratorToExpiredContainer.qlref b/cpp/ql/test/experimental/query-tests/Security/CWE/CWE-416/IteratorToExpiredContainer.qlref new file mode 100644 index 00000000000..5f86bb26ff0 --- /dev/null +++ b/cpp/ql/test/experimental/query-tests/Security/CWE/CWE-416/IteratorToExpiredContainer.qlref @@ -0,0 +1 @@ +experimental/Security/CWE/CWE-416/IteratorToExpiredContainer.ql diff --git a/cpp/ql/test/experimental/query-tests/Security/CWE/CWE-416/test.cpp b/cpp/ql/test/experimental/query-tests/Security/CWE/CWE-416/test.cpp new file mode 100644 index 00000000000..4e5fcbd2149 --- /dev/null +++ b/cpp/ql/test/experimental/query-tests/Security/CWE/CWE-416/test.cpp @@ -0,0 +1,768 @@ + +typedef unsigned long size_t; + +template +struct remove_const { typedef T type; }; + +template +struct remove_const { typedef T type; }; + +// `remove_const_t` removes any `const` specifier from `T` +template +using remove_const_t = typename remove_const::type; + +template +struct remove_reference { typedef T type; }; + +template +struct remove_reference { typedef T type; }; + +template +struct remove_reference { typedef T type; }; + +// `remove_reference_t` removes any `&` from `T` +template +using remove_reference_t = typename remove_reference::type; + +template +struct decay_impl { + typedef T type; +}; + +template +struct decay_impl { + typedef T* type; +}; + +template +using decay_t = typename decay_impl>::type; + + +namespace std +{ + template constexpr T&& forward(remove_reference_t& t) noexcept; + template constexpr T&& forward(remove_reference_t&& t) noexcept; +} + +// --- iterator --- + +namespace std { + struct ptrdiff_t; + + template struct iterator_traits; + + template + struct iterator { + typedef Category iterator_category; + + iterator(); + iterator(iterator > const &other); // non-const -> const conversion constructor + + iterator &operator++(); + iterator operator++(int); + iterator &operator--(); + iterator operator--(int); + bool operator==(iterator other) const; + bool operator!=(iterator other) const; + reference_type operator*() const; + pointer_type operator->() const; + iterator operator+(int); + iterator operator-(int); + iterator &operator+=(int); + iterator &operator-=(int); + int operator-(iterator); + reference_type operator[](int); + }; + + struct input_iterator_tag {}; + struct forward_iterator_tag : public input_iterator_tag {}; + struct bidirectional_iterator_tag : public forward_iterator_tag {}; + struct random_access_iterator_tag : public bidirectional_iterator_tag {}; + + struct output_iterator_tag {}; + + template + class back_insert_iterator { + protected: + Container* container = nullptr; + public: + using iterator_category = output_iterator_tag; + using value_type = void; + using difference_type = ptrdiff_t; + using pointer = void; + using reference = void; + using container_type = Container; + constexpr back_insert_iterator() noexcept = default; + constexpr explicit back_insert_iterator(Container& x); + back_insert_iterator& operator=(const typename Container::value_type& value); + back_insert_iterator& operator=(typename Container::value_type&& value); + back_insert_iterator& operator*(); + back_insert_iterator& operator++(); + back_insert_iterator operator++(int); + }; + + template + constexpr back_insert_iterator back_inserter(Container& x) { + return back_insert_iterator(x); + } + + template + class front_insert_iterator { + protected: + Container* container = nullptr; + public: + using iterator_category = output_iterator_tag; + using value_type = void; + using difference_type = ptrdiff_t; + using pointer = void; + using reference = void; + using container_type = Container; + constexpr front_insert_iterator() noexcept = default; + constexpr explicit front_insert_iterator(Container& x); + constexpr front_insert_iterator& operator=(const typename Container::value_type& value); + constexpr front_insert_iterator& operator=(typename Container::value_type&& value); + constexpr front_insert_iterator& operator*(); + constexpr front_insert_iterator& operator++(); + constexpr front_insert_iterator operator++(int); + }; + template + constexpr front_insert_iterator front_inserter(Container& x) { + return front_insert_iterator(x); + } +} + +// --- string --- + +namespace std +{ + template struct char_traits; + + typedef size_t streamsize; + + template class allocator { + public: + allocator() throw(); + typedef size_t size_type; + }; + + template, class Allocator = allocator > + class basic_string { + public: + using value_type = charT; + using reference = value_type&; + using const_reference = const value_type&; + typedef typename Allocator::size_type size_type; + static const size_type npos = -1; + + explicit basic_string(const Allocator& a = Allocator()); + basic_string(const charT* s, const Allocator& a = Allocator()); + template basic_string(InputIterator begin, InputIterator end, const Allocator& a = Allocator()); + + const charT* c_str() const; + charT* data() noexcept; + size_t length() const; + + typedef std::iterator iterator; + typedef std::iterator const_iterator; + + iterator begin(); + iterator end(); + const_iterator begin() const; + const_iterator end() const; + const_iterator cbegin() const; + const_iterator cend() const; + + void push_back(charT c); + + const charT& front() const; + charT& front(); + const charT& back() const; + charT& back(); + + const_reference operator[](size_type pos) const; + reference operator[](size_type pos); + const_reference at(size_type n) const; + reference at(size_type n); + template basic_string& operator+=(const T& t); + basic_string& operator+=(const charT* s); + basic_string& append(const basic_string& str); + basic_string& append(const charT* s); + basic_string& append(size_type n, charT c); + template basic_string& append(InputIterator first, InputIterator last); + basic_string& assign(const basic_string& str); + basic_string& assign(size_type n, charT c); + template basic_string& assign(InputIterator first, InputIterator last); + basic_string& insert(size_type pos, const basic_string& str); + basic_string& insert(size_type pos, size_type n, charT c); + basic_string& insert(size_type pos, const charT* s); + iterator insert(const_iterator p, size_type n, charT c); + template iterator insert(const_iterator p, InputIterator first, InputIterator last); + basic_string& replace(size_type pos1, size_type n1, const basic_string& str); + basic_string& replace(size_type pos1, size_type n1, size_type n2, charT c); + size_type copy(charT* s, size_type n, size_type pos = 0) const; + void clear() noexcept; + basic_string substr(size_type pos = 0, size_type n = npos) const; + void swap(basic_string& s) noexcept/*(allocator_traits::propagate_on_container_swap::value || allocator_traits::is_always_equal::value)*/; + }; + + template basic_string operator+(const basic_string& lhs, const basic_string& rhs); + template basic_string operator+(const basic_string& lhs, const charT* rhs); + + typedef basic_string string; +} + +// --- istring / ostream / stringstream --- + +namespace std +{ + template > + class basic_istream /*: virtual public basic_ios - not needed for this test */ { + public: + using char_type = charT; + using int_type = int; //typename traits::int_type; + + basic_istream& operator>>(int& n); + + int_type get(); + basic_istream& get(char_type& c); + basic_istream& get(char_type* s, streamsize n); + int_type peek(); + basic_istream& read (char_type* s, streamsize n); + streamsize readsome(char_type* s, streamsize n); + basic_istream& putback(char_type c); + basic_istream& unget(); + + basic_istream& getline(char_type* s, streamsize n); + basic_istream& getline(char_type* s, streamsize n, char_type delim); + }; + + template basic_istream& operator>>(basic_istream&, charT*); + template basic_istream& operator>>(basic_istream& is, basic_string& str); + + template basic_istream& getline(basic_istream& is, basic_string& str, charT delim); + template basic_istream& getline(basic_istream& is, basic_string& str); + + template > + class basic_ostream /*: virtual public basic_ios - not needed for this test */ { + public: + typedef charT char_type; + + basic_ostream& operator<<(int n); + + basic_ostream& put(char_type c); + basic_ostream& write(const char_type* s, streamsize n); + basic_ostream& flush(); + }; + + template basic_ostream& operator<<(basic_ostream&, const charT*); + template basic_ostream& operator<<(basic_ostream& os, const basic_string& str); + + template> + class basic_iostream : public basic_istream, public basic_ostream { + public: + }; + + template, class Allocator = allocator> + class basic_stringstream : public basic_iostream { + public: + explicit basic_stringstream(/*ios_base::openmode which = ios_base::out|ios_base::in - not needed for this test*/); + explicit basic_stringstream( const basic_string& str/*, ios_base::openmode which = ios_base::out | ios_base::in*/); + basic_stringstream(const basic_stringstream& rhs) = delete; + basic_stringstream(basic_stringstream&& rhs); + basic_stringstream& operator=(const basic_stringstream& rhs) = delete; + basic_stringstream& operator=(basic_stringstream&& rhs); + + void swap(basic_stringstream& rhs); + + basic_string str() const; + void str(const basic_string& str); + }; + + typedef basic_istream istream; + typedef basic_ostream ostream; + extern istream cin; + extern ostream cout; + + using stringstream = basic_stringstream; +} + +// --- vector --- + +namespace std { + template> + class vector { + public: + using value_type = T; + using reference = value_type&; + using const_reference = const value_type&; + using size_type = unsigned int; + using iterator = std::iterator; + using const_iterator = std::iterator; + + vector() noexcept(noexcept(Allocator())); + vector(const std::vector&); + explicit vector(const Allocator&) noexcept; + explicit vector(size_type n, const Allocator& = Allocator()); + vector(size_type n, const T& value, const Allocator& = Allocator()); + template vector(InputIterator first, InputIterator last, const Allocator& = Allocator()); + // use of `iterator_category` makes sure InputIterator is (probably) an iterator, and not an `int` or + // similar that should match a different overload (SFINAE). + ~vector(); + + vector& operator=(const vector& x); + vector& operator=(vector&& x) noexcept/*(allocator_traits::propagate_on_container_move_assignment::value || allocator_traits::is_always_equal::value)*/; + template void assign(InputIterator first, InputIterator last); + // use of `iterator_category` makes sure InputIterator is (probably) an iterator, and not an `int` or + // similar that should match a different overload (SFINAE). + void assign(size_type n, const T& u); + + iterator begin() noexcept; + const_iterator begin() const noexcept; + iterator end() noexcept; + const_iterator end() const noexcept; + + size_type size() const noexcept; + + reference operator[](size_type n); + const_reference operator[](size_type n) const; + const_reference at(size_type n) const; + reference at(size_type n); + reference front(); + const_reference front() const; + reference back(); + const_reference back() const; + + T* data() noexcept; + const T* data() const noexcept; + + void push_back(const T& x); + void push_back(T&& x); + + iterator insert(const_iterator position, const T& x); + iterator insert(const_iterator position, T&& x); + iterator insert(const_iterator position, size_type n, const T& x); + template iterator insert(const_iterator position, InputIterator first, InputIterator last); + + template iterator emplace (const_iterator position, Args&&... args); + template void emplace_back (Args&&... args); + + void swap(vector&) noexcept/*(allocator_traits::propagate_on_container_swap::value || allocator_traits::is_always_equal::value)*/; + + void clear() noexcept; + }; +} + +// --- make_shared / make_unique --- + +namespace std { + template + class shared_ptr { + public: + shared_ptr() noexcept; + explicit shared_ptr(T*); + shared_ptr(const shared_ptr&) noexcept; + template shared_ptr(const shared_ptr&) noexcept; + template shared_ptr(shared_ptr&&) noexcept; + + shared_ptr& operator=(const shared_ptr&) noexcept; + shared_ptr& operator=(shared_ptr&&) noexcept; + + T& operator*() const noexcept; + T* operator->() const noexcept; + + T* get() const noexcept; + }; + + template + class unique_ptr { + public: + constexpr unique_ptr() noexcept; + explicit unique_ptr(T*) noexcept; + unique_ptr(unique_ptr&&) noexcept; + + unique_ptr& operator=(unique_ptr&&) noexcept; + + T& operator*() const; + T* operator->() const noexcept; + + T* get() const noexcept; + }; + + template unique_ptr make_unique(Args&&...); + + template shared_ptr make_shared(Args&&...); +} + +// --- pair --- + +namespace std { + template + struct pair { + typedef T1 first_type; + typedef T2 second_type; + + T1 first; + T2 second; + pair(); + pair(const T1& x, const T2& y); + template pair(const pair &p); + + void swap(pair& p) /*noexcept(...)*/; + }; + + template constexpr pair, decay_t> make_pair(T1&& x, T2&& y) { + return pair, decay_t>(std::forward(x), std::forward(y)); + } +} + +// --- map --- + +namespace std { + template struct less; + + template, class Allocator = allocator>> + class map { + public: + using key_type = Key; + using mapped_type = T; + using value_type = pair; + using iterator = std::iterator; + using const_iterator = std::iterator; + + map(); + map(const map& x); + map(map&& x); + ~map(); + + map& operator=(const map& x); + map& operator=(map&& x) /*noexcept(allocator_traits::is_always_equal::value && is_nothrow_move_assignable_v)*/; + + iterator begin() noexcept; + const_iterator begin() const noexcept; + iterator end() noexcept; + const_iterator end() const noexcept; + + T& operator[](const key_type& x); + T& operator[](key_type&& x); + T& at(const key_type& x); + const T& at(const key_type& x) const; + + template pair emplace(Args&&... args); + template iterator emplace_hint(const_iterator position, Args&&... args); + + pair insert(const value_type& x); + pair insert(value_type&& x); + iterator insert(const_iterator position, const value_type& x); + iterator insert(const_iterator position, value_type&& x); + + template pair try_emplace(const key_type& k, Args&&... args); + template pair try_emplace(key_type&& k, Args&&... args); + template iterator try_emplace(const_iterator hint, const key_type& k, Args&&... args); + template iterator try_emplace(const_iterator hint, key_type&& k, Args&&... args); + template pair insert_or_assign(const key_type& k, M&& obj); + template pair insert_or_assign(key_type&& k, M&& obj); + template iterator insert_or_assign(const_iterator hint, const key_type& k, M&& obj); + template iterator insert_or_assign(const_iterator hint, key_type&& k, M&& obj); + + iterator erase(iterator position); + iterator erase(const_iterator position); + iterator erase(const_iterator first, const_iterator last); + void swap(map&) /*noexcept(/*==allocator_traits::is_always_equal::value && is_nothrow_swappable_v)*/; + void clear() noexcept; + + template void merge(map& source); + template void merge(map&& source); + + iterator find(const key_type& x); + const_iterator find(const key_type& x) const; + + iterator lower_bound(const key_type& x); + const_iterator lower_bound(const key_type& x) const; + iterator upper_bound(const key_type& x); + const_iterator upper_bound(const key_type& x) const; + + pair equal_range(const key_type& x); + pair equal_range(const key_type& x) const; + }; + + template struct hash; + template struct equal_to; + + template, class Pred = equal_to, class Allocator = allocator>> + class unordered_map { + public: + using key_type = Key; + using mapped_type = T; + using value_type = pair; + using iterator = std::iterator; + using const_iterator = std::iterator; + + unordered_map(); + unordered_map(const unordered_map&); + unordered_map(unordered_map&&); + ~unordered_map(); + + unordered_map& operator=(const unordered_map&); + unordered_map& operator=(unordered_map&&) /*noexcept(allocator_traits::is_always_equal::value && is_nothrow_move_assignable_v && is_nothrow_move_assignable_v)*/; + + iterator begin() noexcept; + const_iterator begin() const noexcept; + iterator end() noexcept; + const_iterator end() const noexcept; + + mapped_type& operator[](const key_type& k); + mapped_type& operator[](key_type&& k); + mapped_type& at(const key_type& k); + const mapped_type& at(const key_type& k) const; + + template pair emplace(Args&&... args); + template iterator emplace_hint(const_iterator position, Args&&... args); + + pair insert(const value_type& obj); + pair insert(value_type&& obj); + iterator insert(const_iterator hint, const value_type& obj); + iterator insert(const_iterator hint, value_type&& obj); + + template pair try_emplace(const key_type& k, Args&&... args); + template pair try_emplace(key_type&& k, Args&&... args); + template iterator try_emplace(const_iterator hint, const key_type& k, Args&&... args); + template iterator try_emplace(const_iterator hint, key_type&& k, Args&&... args); + template pair insert_or_assign(const key_type& k, M&& obj); + template pair insert_or_assign(key_type&& k, M&& obj); + template iterator insert_or_assign(const_iterator hint, const key_type& k, M&& obj); + template iterator insert_or_assign(const_iterator hint, key_type&& k, M&& obj); + + iterator erase(iterator position); + iterator erase(const_iterator position); + iterator erase(const_iterator first, const_iterator last); + void swap(unordered_map&) /*noexcept(allocator_traits::is_always_equal::value && is_nothrow_swappable_v && is_nothrow_swappable_v)*/; + void clear() noexcept; + + template void merge(unordered_map& source); + template void merge(unordered_map&& source); + + iterator find(const key_type& k); + const_iterator find(const key_type& k) const; + + pair equal_range(const key_type& k); + pair equal_range(const key_type& k) const; + }; +}; + +// --- set --- + +namespace std { + template, class Allocator = allocator> + class set { + public: + using key_type = Key; + using value_type = Key; + using size_type = size_t; + using allocator_type = Allocator; + using iterator = std::iterator; + using const_iterator = std::iterator; + + set(); + set(const set& x); + set(set&& x); + template set(InputIterator first, InputIterator last/*, const Compare& comp = Compare(), const Allocator& = Allocator()*/); + ~set(); + + set& operator=(const set& x); + set& operator=(set&& x) noexcept/*(allocator_traits::is_always_equal::value && is_nothrow_move_assignable_v)*/; + + iterator begin() noexcept; + const_iterator begin() const noexcept; + iterator end() noexcept; + const_iterator end() const noexcept; + + template pair emplace(Args&&... args); + template iterator emplace_hint(const_iterator position, Args&&... args); + pair insert(const value_type& x); + pair insert(value_type&& x); + iterator insert(const_iterator position, const value_type& x); + iterator insert(const_iterator position, value_type&& x); + template void insert(InputIterator first, InputIterator last); + + iterator erase(iterator position); + iterator erase(const_iterator position); + iterator erase(const_iterator first, const_iterator last); + void swap(set&) noexcept/*(allocator_traits::is_always_equal::value && is_nothrow_swappable_v)*/; + void clear() noexcept; + + template void merge(set& source); + template void merge(set&& source); + + iterator find(const key_type& x); + const_iterator find(const key_type& x) const; + + iterator lower_bound(const key_type& x); + const_iterator lower_bound(const key_type& x) const; + iterator upper_bound(const key_type& x); + const_iterator upper_bound(const key_type& x) const; + pair equal_range(const key_type& x); + pair equal_range(const key_type& x) const; + }; + + template, class Pred = equal_to, class Allocator = allocator> + class unordered_set { + public: + using key_type = Key; + using value_type = Key; + using hasher = Hash; + using key_equal = Pred; + using allocator_type = Allocator; + using size_type = size_t; + using iterator = std::iterator; + using const_iterator = std::iterator; + + unordered_set(); + unordered_set(const unordered_set&); + unordered_set(unordered_set&&); + template unordered_set(InputIterator f, InputIterator l, size_type n = 0/*, const hasher& hf = hasher(), const key_equal& eql = key_equal(), const allocator_type& a = allocator_type()*/); + ~unordered_set(); + + unordered_set& operator=(const unordered_set&); + unordered_set& operator=(unordered_set&&) noexcept/*(allocator_traits::is_always_equal::value && is_nothrow_move_assignable_v && is_nothrow_move_assignable_v)*/; + + iterator begin() noexcept; + const_iterator begin() const noexcept; + iterator end() noexcept; + const_iterator end() const noexcept; + + template pair emplace(Args&&... args); + template iterator emplace_hint(const_iterator position, Args&&... args); + pair insert(const value_type& obj); + pair insert(value_type&& obj); + iterator insert(const_iterator hint, const value_type& obj); + iterator insert(const_iterator hint, value_type&& obj); + template void insert(InputIterator first, InputIterator last); + + iterator erase(iterator position); + iterator erase(const_iterator position); + iterator erase(const_iterator first, const_iterator last); + void swap(unordered_set&) noexcept/*(allocator_traits::is_always_equal::value && is_nothrow_swappable_v && is_nothrow_swappable_v)*/; + void clear() noexcept; + + template void merge(unordered_set& source); + template void merge(unordered_set&& source); + + iterator find(const key_type& k); + const_iterator find(const key_type& k) const; + pair equal_range(const key_type& k); + pair equal_range(const key_type& k) const; + }; +} + +std::vector> returnValue(); +std::vector>& returnRef(); + +std::vector> external_by_value(std::vector>); + +std::vector> external_by_const_ref(const std::vector>&); + +// *: Will be detected once extract destruction of unnamed temporaries and generate IR for them + +const std::vector>& return_self_by_ref(const std::vector>& v) { + return v; +} + +std::vector> return_self_by_value(const std::vector>& v) { + return v; +} + +void test() { + for (auto x : returnValue()) {} // GOOD + for (auto x : returnValue()[0]) {} // BAD [NOT DETECTED] (see *) + for (auto x : external_by_value(returnValue())) {} // GOOD + for (auto x : external_by_const_ref(returnValue())) {} // GOOD + for (auto x : returnValue().at(0)) {} // BAD [NOT DETECTED] (see *) + + for (auto x : returnRef()) {} // GOOD + for (auto x : returnRef()[0]) {} // GOOD + for (auto x : returnRef().at(0)) {} // GOOD + + for(auto it = returnValue().begin(); it != returnValue().end(); ++it) {} // BAD + + { + auto v = returnValue(); + for(auto it = v.begin(); it != v.end(); ++it) {} // GOOD + } + + { + auto&& v = returnValue(); + for(auto it = v.begin(); it != v.end(); ++it) {} // GOOD + } + + { + auto&& v = returnValue()[0]; + for(auto it = v.begin(); it != v.end(); ++it) {} // BAD [NOT DETECTED] (see *) + } + + { + auto&& v = returnRef(); + for(auto it = v.begin(); it != v.end(); ++it) {} // GOOD + } + + { + auto&& v = returnRef()[0]; + for(auto it = v.begin(); it != v.end(); ++it) {} // GOOD + } + + for (auto x : return_self_by_ref(returnValue())) {} // BAD [NOT DETECTED] (see *) + + for (auto x : return_self_by_value(returnValue())) {} // GOOD +} + +template +void iterate(const std::vector& v) { + for (auto x : v) {} +} + +std::vector& ref_to_first_in_returnValue_1() { + return returnValue()[0]; // BAD [NOT DETECTED] (see *) +} + +std::vector& ref_to_first_in_returnValue_2() { + return returnValue()[0]; // BAD [NOT DETECTED] +} + +std::vector& ref_to_first_in_returnValue_3() { + return returnValue()[0]; // BAD [NOT DETECTED] (see *) +} + +std::vector first_in_returnValue_1() { + return returnValue()[0]; // GOOD +} + +std::vector first_in_returnValue_2() { + return returnValue()[0]; // GOOD +} + +void test2() { + iterate(returnValue()); // GOOD + iterate(returnValue()[0]); // GOOD + + for (auto x : ref_to_first_in_returnValue_1()) {} + + { + auto value = ref_to_first_in_returnValue_2(); + for (auto x : value) {} + } + + { + auto& ref = ref_to_first_in_returnValue_3(); + for (auto x : ref) {} + } + + for (auto x : first_in_returnValue_1()) {} + + { + auto value = first_in_returnValue_2(); + for (auto x : value) {} + } +} diff --git a/cpp/ql/test/library-tests/controlflow/guards-ir/tests.expected b/cpp/ql/test/library-tests/controlflow/guards-ir/tests.expected index ac8068e768d..cc29559d5d3 100644 --- a/cpp/ql/test/library-tests/controlflow/guards-ir/tests.expected +++ b/cpp/ql/test/library-tests/controlflow/guards-ir/tests.expected @@ -62,7 +62,9 @@ astGuardsCompare | 26 | x >= 0+1 when ... > ... is true | | 31 | - ... != x+0 when ... == ... is false | | 31 | - ... == x+0 when ... == ... is true | +| 31 | x != -1 when ... == ... is false | | 31 | x != - ...+0 when ... == ... is false | +| 31 | x == -1 when ... == ... is true | | 31 | x == - ...+0 when ... == ... is true | | 34 | 10 < j+1 when ... < ... is false | | 34 | 10 >= j+1 when ... < ... is true | @@ -86,15 +88,20 @@ astGuardsCompare | 58 | 0 < y+1 when ... \|\| ... is false | | 58 | 0 == x+0 when ... == ... is true | | 58 | 0 >= y+1 when ... < ... is true | +| 58 | x != 0 when ... == ... is false | +| 58 | x != 0 when ... \|\| ... is false | | 58 | x != 0+0 when ... == ... is false | | 58 | x != 0+0 when ... \|\| ... is false | +| 58 | x == 0 when ... == ... is true | | 58 | x == 0+0 when ... == ... is true | | 58 | y < 0+0 when ... < ... is true | | 58 | y >= 0+0 when ... < ... is false | | 58 | y >= 0+0 when ... \|\| ... is false | | 75 | 0 != x+0 when ... == ... is false | | 75 | 0 == x+0 when ... == ... is true | +| 75 | x != 0 when ... == ... is false | | 75 | x != 0+0 when ... == ... is false | +| 75 | x == 0 when ... == ... is true | | 75 | x == 0+0 when ... == ... is true | | 85 | 0 != x+0 when ... == ... is false | | 85 | 0 != y+0 when ... != ... is true | @@ -102,15 +109,23 @@ astGuardsCompare | 85 | 0 == x+0 when ... && ... is true | | 85 | 0 == x+0 when ... == ... is true | | 85 | 0 == y+0 when ... != ... is false | +| 85 | x != 0 when ... == ... is false | | 85 | x != 0+0 when ... == ... is false | +| 85 | x == 0 when ... && ... is true | +| 85 | x == 0 when ... == ... is true | | 85 | x == 0+0 when ... && ... is true | | 85 | x == 0+0 when ... == ... is true | +| 85 | y != 0 when ... != ... is true | +| 85 | y != 0 when ... && ... is true | | 85 | y != 0+0 when ... != ... is true | | 85 | y != 0+0 when ... && ... is true | +| 85 | y == 0 when ... != ... is false | | 85 | y == 0+0 when ... != ... is false | | 94 | 0 != x+0 when ... != ... is true | | 94 | 0 == x+0 when ... != ... is false | +| 94 | x != 0 when ... != ... is true | | 94 | x != 0+0 when ... != ... is true | +| 94 | x == 0 when ... != ... is false | | 94 | x == 0+0 when ... != ... is false | | 102 | 10 < j+1 when ... < ... is false | | 102 | 10 >= j+1 when ... < ... is true | @@ -122,8 +137,11 @@ astGuardsCompare | 109 | 0 < y+1 when ... \|\| ... is false | | 109 | 0 == x+0 when ... == ... is true | | 109 | 0 >= y+1 when ... < ... is true | +| 109 | x != 0 when ... == ... is false | +| 109 | x != 0 when ... \|\| ... is false | | 109 | x != 0+0 when ... == ... is false | | 109 | x != 0+0 when ... \|\| ... is false | +| 109 | x == 0 when ... == ... is true | | 109 | x == 0+0 when ... == ... is true | | 109 | y < 0+0 when ... < ... is true | | 109 | y >= 0+0 when ... < ... is false | @@ -162,7 +180,9 @@ astGuardsCompare | 165 | y >= x+43 when ... < ... is true | | 175 | 0 != call to foo+0 when ... == ... is false | | 175 | 0 == call to foo+0 when ... == ... is true | +| 175 | call to foo != 0 when ... == ... is false | | 175 | call to foo != 0+0 when ... == ... is false | +| 175 | call to foo == 0 when ... == ... is true | | 175 | call to foo == 0+0 when ... == ... is true | astGuardsControl | test.c:7:9:7:13 | ... > ... | false | 10 | 11 | @@ -443,6 +463,34 @@ astGuardsEnsure | test.cpp:31:7:31:13 | ... == ... | test.cpp:31:12:31:13 | - ... | != | test.cpp:31:7:31:7 | x | 0 | 34 | 34 | | test.cpp:31:7:31:13 | ... == ... | test.cpp:31:12:31:13 | - ... | == | test.cpp:31:7:31:7 | x | 0 | 30 | 30 | | test.cpp:31:7:31:13 | ... == ... | test.cpp:31:12:31:13 | - ... | == | test.cpp:31:7:31:7 | x | 0 | 31 | 32 | +astGuardsEnsure_const +| test.c:58:9:58:14 | ... == ... | test.c:58:9:58:9 | x | != | 0 | 58 | 58 | +| test.c:58:9:58:14 | ... == ... | test.c:58:9:58:9 | x | != | 0 | 62 | 62 | +| test.c:58:9:58:23 | ... \|\| ... | test.c:58:9:58:9 | x | != | 0 | 62 | 62 | +| test.c:75:9:75:14 | ... == ... | test.c:75:9:75:9 | x | != | 0 | 78 | 79 | +| test.c:75:9:75:14 | ... == ... | test.c:75:9:75:9 | x | == | 0 | 75 | 77 | +| test.c:85:8:85:13 | ... == ... | test.c:85:8:85:8 | x | == | 0 | 85 | 85 | +| test.c:85:8:85:13 | ... == ... | test.c:85:8:85:8 | x | == | 0 | 86 | 86 | +| test.c:85:8:85:23 | ... && ... | test.c:85:8:85:8 | x | == | 0 | 86 | 86 | +| test.c:85:8:85:23 | ... && ... | test.c:85:18:85:18 | y | != | 0 | 86 | 86 | +| test.c:85:18:85:23 | ... != ... | test.c:85:18:85:18 | y | != | 0 | 86 | 86 | +| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | != | 0 | 94 | 96 | +| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | == | 0 | 70 | 70 | +| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | == | 0 | 99 | 102 | +| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | == | 0 | 102 | 102 | +| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | == | 0 | 107 | 109 | +| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | == | 0 | 109 | 109 | +| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | == | 0 | 109 | 117 | +| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | == | 0 | 113 | 113 | +| test.c:109:9:109:14 | ... == ... | test.c:109:9:109:9 | x | != | 0 | 109 | 109 | +| test.c:109:9:109:14 | ... == ... | test.c:109:9:109:9 | x | != | 0 | 113 | 113 | +| test.c:109:9:109:23 | ... \|\| ... | test.c:109:9:109:9 | x | != | 0 | 113 | 113 | +| test.c:175:13:175:32 | ... == ... | test.c:175:13:175:15 | call to foo | != | 0 | 175 | 175 | +| test.c:175:13:175:32 | ... == ... | test.c:175:13:175:15 | call to foo | == | 0 | 175 | 175 | +| test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:7 | x | != | -1 | 30 | 30 | +| test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:7 | x | != | -1 | 34 | 34 | +| test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:7 | x | == | -1 | 30 | 30 | +| test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:7 | x | == | -1 | 31 | 32 | irGuards | test.c:7:9:7:13 | CompareGT: ... > ... | | test.c:17:8:17:12 | CompareLT: ... < ... | @@ -482,74 +530,110 @@ irGuardsCompare | 7 | 0 < x+0 when CompareGT: ... > ... is true | | 7 | 0 >= x+0 when CompareGT: ... > ... is false | | 7 | x < 0+1 when CompareGT: ... > ... is false | +| 7 | x < 1 when CompareGT: ... > ... is false | | 7 | x >= 0+1 when CompareGT: ... > ... is true | +| 7 | x >= 1 when CompareGT: ... > ... is true | | 17 | 0 < x+1 when CompareLT: ... < ... is false | | 17 | 0 >= x+1 when CompareLT: ... < ... is true | | 17 | 1 < y+0 when CompareGT: ... > ... is true | | 17 | 1 >= y+0 when CompareGT: ... > ... is false | +| 17 | x < 0 when CompareLT: ... < ... is true | | 17 | x < 0+0 when CompareLT: ... < ... is true | +| 17 | x >= 0 when CompareLT: ... < ... is false | | 17 | x >= 0+0 when CompareLT: ... < ... is false | | 17 | y < 1+1 when CompareGT: ... > ... is false | +| 17 | y < 2 when CompareGT: ... > ... is false | | 17 | y >= 1+1 when CompareGT: ... > ... is true | +| 17 | y >= 2 when CompareGT: ... > ... is true | | 26 | 0 < x+0 when CompareGT: ... > ... is true | | 26 | 0 >= x+0 when CompareGT: ... > ... is false | | 26 | x < 0+1 when CompareGT: ... > ... is false | +| 26 | x < 1 when CompareGT: ... > ... is false | | 26 | x >= 0+1 when CompareGT: ... > ... is true | +| 26 | x >= 1 when CompareGT: ... > ... is true | | 31 | - ... != x+0 when CompareEQ: ... == ... is false | | 31 | - ... == x+0 when CompareEQ: ... == ... is true | +| 31 | x != -1 when CompareEQ: ... == ... is false | | 31 | x != - ...+0 when CompareEQ: ... == ... is false | +| 31 | x == -1 when CompareEQ: ... == ... is true | | 31 | x == - ...+0 when CompareEQ: ... == ... is true | | 34 | 10 < j+1 when CompareLT: ... < ... is false | | 34 | 10 >= j+1 when CompareLT: ... < ... is true | +| 34 | j < 10 when CompareLT: ... < ... is true | | 34 | j < 10+0 when CompareLT: ... < ... is true | +| 34 | j >= 10 when CompareLT: ... < ... is false | | 34 | j >= 10+0 when CompareLT: ... < ... is false | | 42 | 10 < j+1 when CompareLT: ... < ... is false | | 42 | 10 >= j+1 when CompareLT: ... < ... is true | +| 42 | j < 10 when CompareLT: ... < ... is true | | 42 | j < 10+0 when CompareLT: ... < ... is true | +| 42 | j >= 10 when CompareLT: ... < ... is false | | 42 | j >= 10+0 when CompareLT: ... < ... is false | | 44 | 0 < z+0 when CompareGT: ... > ... is true | | 44 | 0 >= z+0 when CompareGT: ... > ... is false | | 44 | z < 0+1 when CompareGT: ... > ... is false | +| 44 | z < 1 when CompareGT: ... > ... is false | | 44 | z >= 0+1 when CompareGT: ... > ... is true | +| 44 | z >= 1 when CompareGT: ... > ... is true | | 45 | 0 < y+0 when CompareGT: ... > ... is true | | 45 | 0 >= y+0 when CompareGT: ... > ... is false | | 45 | y < 0+1 when CompareGT: ... > ... is false | +| 45 | y < 1 when CompareGT: ... > ... is false | | 45 | y >= 0+1 when CompareGT: ... > ... is true | +| 45 | y >= 1 when CompareGT: ... > ... is true | | 58 | 0 != x+0 when CompareEQ: ... == ... is false | | 58 | 0 < y+1 when CompareLT: ... < ... is false | | 58 | 0 == x+0 when CompareEQ: ... == ... is true | | 58 | 0 >= y+1 when CompareLT: ... < ... is true | +| 58 | x != 0 when CompareEQ: ... == ... is false | | 58 | x != 0+0 when CompareEQ: ... == ... is false | +| 58 | x == 0 when CompareEQ: ... == ... is true | | 58 | x == 0+0 when CompareEQ: ... == ... is true | +| 58 | y < 0 when CompareLT: ... < ... is true | | 58 | y < 0+0 when CompareLT: ... < ... is true | +| 58 | y >= 0 when CompareLT: ... < ... is false | | 58 | y >= 0+0 when CompareLT: ... < ... is false | | 75 | 0 != x+0 when CompareEQ: ... == ... is false | | 75 | 0 == x+0 when CompareEQ: ... == ... is true | +| 75 | x != 0 when CompareEQ: ... == ... is false | | 75 | x != 0+0 when CompareEQ: ... == ... is false | +| 75 | x == 0 when CompareEQ: ... == ... is true | | 75 | x == 0+0 when CompareEQ: ... == ... is true | | 85 | 0 != x+0 when CompareEQ: ... == ... is false | | 85 | 0 != y+0 when CompareNE: ... != ... is true | | 85 | 0 == x+0 when CompareEQ: ... == ... is true | | 85 | 0 == y+0 when CompareNE: ... != ... is false | +| 85 | x != 0 when CompareEQ: ... == ... is false | | 85 | x != 0+0 when CompareEQ: ... == ... is false | +| 85 | x == 0 when CompareEQ: ... == ... is true | | 85 | x == 0+0 when CompareEQ: ... == ... is true | +| 85 | y != 0 when CompareNE: ... != ... is true | | 85 | y != 0+0 when CompareNE: ... != ... is true | +| 85 | y == 0 when CompareNE: ... != ... is false | | 85 | y == 0+0 when CompareNE: ... != ... is false | | 94 | 0 != x+0 when CompareNE: ... != ... is true | | 94 | 0 == x+0 when CompareNE: ... != ... is false | +| 94 | x != 0 when CompareNE: ... != ... is true | | 94 | x != 0+0 when CompareNE: ... != ... is true | +| 94 | x == 0 when CompareNE: ... != ... is false | | 94 | x == 0+0 when CompareNE: ... != ... is false | | 102 | 10 < j+1 when CompareLT: ... < ... is false | | 102 | 10 >= j+1 when CompareLT: ... < ... is true | +| 102 | j < 10 when CompareLT: ... < ... is true | | 102 | j < 10+0 when CompareLT: ... < ... is true | +| 102 | j >= 10 when CompareLT: ... < ... is false | | 102 | j >= 10+0 when CompareLT: ... < ... is false | | 109 | 0 != x+0 when CompareEQ: ... == ... is false | | 109 | 0 < y+1 when CompareLT: ... < ... is false | | 109 | 0 == x+0 when CompareEQ: ... == ... is true | | 109 | 0 >= y+1 when CompareLT: ... < ... is true | +| 109 | x != 0 when CompareEQ: ... == ... is false | | 109 | x != 0+0 when CompareEQ: ... == ... is false | +| 109 | x == 0 when CompareEQ: ... == ... is true | | 109 | x == 0+0 when CompareEQ: ... == ... is true | +| 109 | y < 0 when CompareLT: ... < ... is true | | 109 | y < 0+0 when CompareLT: ... < ... is true | +| 109 | y >= 0 when CompareLT: ... < ... is false | | 109 | y >= 0+0 when CompareLT: ... < ... is false | | 156 | ... + ... != x+0 when CompareEQ: ... == ... is false | | 156 | ... + ... == x+0 when CompareEQ: ... == ... is true | @@ -585,7 +669,9 @@ irGuardsCompare | 165 | y >= x+43 when CompareLT: ... < ... is true | | 175 | 0 != call to foo+0 when CompareEQ: ... == ... is false | | 175 | 0 == call to foo+0 when CompareEQ: ... == ... is true | +| 175 | call to foo != 0 when CompareEQ: ... == ... is false | | 175 | call to foo != 0+0 when CompareEQ: ... == ... is false | +| 175 | call to foo == 0 when CompareEQ: ... == ... is true | | 175 | call to foo == 0+0 when CompareEQ: ... == ... is true | irGuardsControl | test.c:7:9:7:13 | CompareGT: ... > ... | false | 11 | 11 | @@ -841,3 +927,75 @@ irGuardsEnsure | test.cpp:31:7:31:13 | CompareEQ: ... == ... | test.cpp:31:12:31:13 | Constant: - ... | != | test.cpp:31:7:31:7 | Load: x | 0 | 34 | 34 | | test.cpp:31:7:31:13 | CompareEQ: ... == ... | test.cpp:31:12:31:13 | Constant: - ... | == | test.cpp:31:7:31:7 | Load: x | 0 | 30 | 30 | | test.cpp:31:7:31:13 | CompareEQ: ... == ... | test.cpp:31:12:31:13 | Constant: - ... | == | test.cpp:31:7:31:7 | Load: x | 0 | 32 | 32 | +irGuardsEnsure_const +| test.c:7:9:7:13 | CompareGT: ... > ... | test.c:7:9:7:9 | Load: x | < | 1 | 11 | 11 | +| test.c:7:9:7:13 | CompareGT: ... > ... | test.c:7:9:7:9 | Load: x | >= | 1 | 8 | 8 | +| test.c:17:8:17:12 | CompareLT: ... < ... | test.c:17:8:17:8 | Load: x | < | 0 | 17 | 17 | +| test.c:17:8:17:12 | CompareLT: ... < ... | test.c:17:8:17:8 | Load: x | < | 0 | 18 | 18 | +| test.c:17:17:17:21 | CompareGT: ... > ... | test.c:17:17:17:17 | Load: y | >= | 2 | 18 | 18 | +| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:11 | Load: x | < | 1 | 2 | 2 | +| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:11 | Load: x | < | 1 | 31 | 31 | +| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:11 | Load: x | < | 1 | 34 | 34 | +| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:11 | Load: x | < | 1 | 35 | 35 | +| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:11 | Load: x | < | 1 | 39 | 39 | +| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:11 | Load: x | < | 1 | 42 | 42 | +| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:11 | Load: x | < | 1 | 43 | 43 | +| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:11 | Load: x | < | 1 | 45 | 45 | +| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:11 | Load: x | < | 1 | 46 | 46 | +| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:11 | Load: x | < | 1 | 52 | 52 | +| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:11 | Load: x | < | 1 | 56 | 56 | +| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:11 | Load: x | < | 1 | 58 | 58 | +| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:11 | Load: x | < | 1 | 59 | 59 | +| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:11 | Load: x | < | 1 | 62 | 62 | +| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:11 | Load: x | >= | 1 | 27 | 27 | +| test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:16 | Load: j | < | 10 | 35 | 35 | +| test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:16 | Load: j | >= | 10 | 2 | 2 | +| test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:16 | Load: j | >= | 10 | 39 | 39 | +| test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:16 | Load: j | >= | 10 | 42 | 42 | +| test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:16 | Load: j | >= | 10 | 43 | 43 | +| test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:16 | Load: j | >= | 10 | 45 | 45 | +| test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:16 | Load: j | >= | 10 | 46 | 46 | +| test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:16 | Load: j | >= | 10 | 52 | 52 | +| test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:16 | Load: j | >= | 10 | 56 | 56 | +| test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:16 | Load: j | >= | 10 | 58 | 58 | +| test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:16 | Load: j | >= | 10 | 59 | 59 | +| test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:16 | Load: j | >= | 10 | 62 | 62 | +| test.c:42:16:42:21 | CompareLT: ... < ... | test.c:42:16:42:16 | Load: j | < | 10 | 43 | 43 | +| test.c:42:16:42:21 | CompareLT: ... < ... | test.c:42:16:42:16 | Load: j | < | 10 | 45 | 45 | +| test.c:42:16:42:21 | CompareLT: ... < ... | test.c:42:16:42:16 | Load: j | < | 10 | 46 | 46 | +| test.c:42:16:42:21 | CompareLT: ... < ... | test.c:42:16:42:16 | Load: j | < | 10 | 52 | 52 | +| test.c:44:12:44:16 | CompareGT: ... > ... | test.c:44:12:44:12 | Load: z | < | 1 | 52 | 52 | +| test.c:44:12:44:16 | CompareGT: ... > ... | test.c:44:12:44:12 | Load: z | >= | 1 | 45 | 45 | +| test.c:44:12:44:16 | CompareGT: ... > ... | test.c:44:12:44:12 | Load: z | >= | 1 | 46 | 46 | +| test.c:45:16:45:20 | CompareGT: ... > ... | test.c:45:16:45:16 | Load: y | >= | 1 | 46 | 46 | +| test.c:58:9:58:14 | CompareEQ: ... == ... | test.c:58:9:58:9 | Load: x | != | 0 | 58 | 58 | +| test.c:58:9:58:14 | CompareEQ: ... == ... | test.c:58:9:58:9 | Load: x | != | 0 | 62 | 62 | +| test.c:58:19:58:23 | CompareLT: ... < ... | test.c:58:19:58:19 | Load: y | >= | 0 | 62 | 62 | +| test.c:75:9:75:14 | CompareEQ: ... == ... | test.c:75:9:75:9 | Load: x | != | 0 | 79 | 79 | +| test.c:75:9:75:14 | CompareEQ: ... == ... | test.c:75:9:75:9 | Load: x | == | 0 | 76 | 76 | +| test.c:85:8:85:13 | CompareEQ: ... == ... | test.c:85:8:85:8 | Load: x | == | 0 | 85 | 85 | +| test.c:85:8:85:13 | CompareEQ: ... == ... | test.c:85:8:85:8 | Load: x | == | 0 | 86 | 86 | +| test.c:85:18:85:23 | CompareNE: ... != ... | test.c:85:18:85:18 | Load: y | != | 0 | 86 | 86 | +| test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:11 | Load: x | != | 0 | 95 | 95 | +| test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:11 | Load: x | == | 0 | 70 | 70 | +| test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:11 | Load: x | == | 0 | 99 | 99 | +| test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:11 | Load: x | == | 0 | 102 | 102 | +| test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:11 | Load: x | == | 0 | 103 | 103 | +| test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:11 | Load: x | == | 0 | 107 | 107 | +| test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:11 | Load: x | == | 0 | 109 | 109 | +| test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:11 | Load: x | == | 0 | 110 | 110 | +| test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:11 | Load: x | == | 0 | 113 | 113 | +| test.c:102:16:102:21 | CompareLT: ... < ... | test.c:102:16:102:16 | Load: j | < | 10 | 103 | 103 | +| test.c:102:16:102:21 | CompareLT: ... < ... | test.c:102:16:102:16 | Load: j | >= | 10 | 70 | 70 | +| test.c:102:16:102:21 | CompareLT: ... < ... | test.c:102:16:102:16 | Load: j | >= | 10 | 107 | 107 | +| test.c:102:16:102:21 | CompareLT: ... < ... | test.c:102:16:102:16 | Load: j | >= | 10 | 109 | 109 | +| test.c:102:16:102:21 | CompareLT: ... < ... | test.c:102:16:102:16 | Load: j | >= | 10 | 110 | 110 | +| test.c:102:16:102:21 | CompareLT: ... < ... | test.c:102:16:102:16 | Load: j | >= | 10 | 113 | 113 | +| test.c:109:9:109:14 | CompareEQ: ... == ... | test.c:109:9:109:9 | Load: x | != | 0 | 109 | 109 | +| test.c:109:9:109:14 | CompareEQ: ... == ... | test.c:109:9:109:9 | Load: x | != | 0 | 113 | 113 | +| test.c:109:19:109:23 | CompareLT: ... < ... | test.c:109:19:109:19 | Load: y | >= | 0 | 113 | 113 | +| test.c:175:13:175:32 | CompareEQ: ... == ... | test.c:175:13:175:15 | Call: call to foo | != | 0 | 175 | 175 | +| test.c:175:13:175:32 | CompareEQ: ... == ... | test.c:175:13:175:15 | Call: call to foo | == | 0 | 175 | 175 | +| test.cpp:31:7:31:13 | CompareEQ: ... == ... | test.cpp:31:7:31:7 | Load: x | != | -1 | 34 | 34 | +| test.cpp:31:7:31:13 | CompareEQ: ... == ... | test.cpp:31:7:31:7 | Load: x | == | -1 | 30 | 30 | +| test.cpp:31:7:31:13 | CompareEQ: ... == ... | test.cpp:31:7:31:7 | Load: x | == | -1 | 32 | 32 | diff --git a/cpp/ql/test/library-tests/controlflow/guards-ir/tests.ql b/cpp/ql/test/library-tests/controlflow/guards-ir/tests.ql index fe3d92d2c2b..0f147f9ea8d 100644 --- a/cpp/ql/test/library-tests/controlflow/guards-ir/tests.ql +++ b/cpp/ql/test/library-tests/controlflow/guards-ir/tests.ql @@ -4,22 +4,34 @@ import semmle.code.cpp.controlflow.IRGuards query predicate astGuards(GuardCondition guard) { any() } query predicate astGuardsCompare(int startLine, string msg) { - exists(GuardCondition guard, Expr left, Expr right, int k, string which, string op | - exists(boolean sense | + exists(GuardCondition guard, Expr left, int k, string op | + exists(boolean sense, string which | sense = true and which = "true" or sense = false and which = "false" | - guard.comparesLt(left, right, k, true, sense) and op = " < " + exists(Expr right | + guard.comparesLt(left, right, k, true, sense) and op = " < " + or + guard.comparesLt(left, right, k, false, sense) and op = " >= " + or + guard.comparesEq(left, right, k, true, sense) and op = " == " + or + guard.comparesEq(left, right, k, false, sense) and op = " != " + | + msg = left + op + right + "+" + k + " when " + guard + " is " + which + ) + ) + or + exists(AbstractValue value | + guard.comparesEq(left, k, true, value) and op = " == " or - guard.comparesLt(left, right, k, false, sense) and op = " >= " - or - guard.comparesEq(left, right, k, true, sense) and op = " == " - or - guard.comparesEq(left, right, k, false, sense) and op = " != " - ) and - startLine = guard.getLocation().getStartLine() and - msg = left + op + right + "+" + k + " when " + guard + " is " + which + guard.comparesEq(left, k, false, value) and op = " != " + | + msg = left + op + k + " when " + guard + " is " + value + ) + | + startLine = guard.getLocation().getStartLine() ) } @@ -46,28 +58,58 @@ query predicate astGuardsEnsure( ) } +query predicate astGuardsEnsure_const( + GuardCondition guard, Expr left, string op, int k, int start, int end +) { + exists(BasicBlock block | + guard.ensuresEq(left, k, block, true) and op = "==" + or + guard.ensuresEq(left, k, block, false) and op = "!=" + | + block.hasLocationInfo(_, start, _, end, _) + ) +} + query predicate irGuards(IRGuardCondition guard) { any() } query predicate irGuardsCompare(int startLine, string msg) { - exists(IRGuardCondition guard, Operand left, Operand right, int k, string which, string op | - exists(boolean sense | + exists(IRGuardCondition guard, Operand left, int k, string op | + exists(boolean sense, string which | sense = true and which = "true" or sense = false and which = "false" | - guard.comparesLt(left, right, k, true, sense) and op = " < " + exists(Operand right | + guard.comparesLt(left, right, k, true, sense) and op = " < " + or + guard.comparesLt(left, right, k, false, sense) and op = " >= " + or + guard.comparesEq(left, right, k, true, sense) and op = " == " + or + guard.comparesEq(left, right, k, false, sense) and op = " != " + | + msg = + left.getAnyDef().getUnconvertedResultExpression() + op + + right.getAnyDef().getUnconvertedResultExpression() + "+" + k + " when " + guard + " is " + + which + ) + ) + or + exists(AbstractValue value | + guard.comparesLt(left, k, true, value) and op = " < " or - guard.comparesLt(left, right, k, false, sense) and op = " >= " + guard.comparesLt(left, k, false, value) and op = " >= " or - guard.comparesEq(left, right, k, true, sense) and op = " == " + guard.comparesEq(left, k, true, value) and op = " == " or - guard.comparesEq(left, right, k, false, sense) and op = " != " - ) and - startLine = guard.getLocation().getStartLine() and - msg = - left.getAnyDef().getUnconvertedResultExpression() + op + - right.getAnyDef().getUnconvertedResultExpression() + "+" + k + " when " + guard + " is " + - which + guard.comparesEq(left, k, false, value) and op = " != " + | + msg = + left.getAnyDef().getUnconvertedResultExpression() + op + k + " when " + guard + " is " + + value + ) + | + startLine = guard.getLocation().getStartLine() ) } @@ -95,3 +137,20 @@ query predicate irGuardsEnsure( block.getLocation().hasLocationInfo(_, start, _, end, _) ) } + +query predicate irGuardsEnsure_const( + IRGuardCondition guard, Instruction left, string op, int k, int start, int end +) { + exists(IRBlock block, Operand leftOp | + guard.ensuresLt(leftOp, k, block, true) and op = "<" + or + guard.ensuresLt(leftOp, k, block, false) and op = ">=" + or + guard.ensuresEq(leftOp, k, block, true) and op = "==" + or + guard.ensuresEq(leftOp, k, block, false) and op = "!=" + | + leftOp = left.getAUse() and + block.getLocation().hasLocationInfo(_, start, _, end, _) + ) +} diff --git a/cpp/ql/test/library-tests/controlflow/guards/Guards.expected b/cpp/ql/test/library-tests/controlflow/guards/Guards.expected index 4193bd49fef..6eebc960ce3 100644 --- a/cpp/ql/test/library-tests/controlflow/guards/Guards.expected +++ b/cpp/ql/test/library-tests/controlflow/guards/Guards.expected @@ -29,3 +29,6 @@ | test.cpp:18:8:18:10 | call to get | | test.cpp:31:7:31:13 | ... == ... | | test.cpp:42:13:42:20 | call to getABool | +| test.cpp:61:10:61:10 | i | +| test.cpp:74:10:74:10 | i | +| test.cpp:84:10:84:10 | i | diff --git a/cpp/ql/test/library-tests/controlflow/guards/GuardsCompare.expected b/cpp/ql/test/library-tests/controlflow/guards/GuardsCompare.expected index 58068f3991d..b88856d90cf 100644 --- a/cpp/ql/test/library-tests/controlflow/guards/GuardsCompare.expected +++ b/cpp/ql/test/library-tests/controlflow/guards/GuardsCompare.expected @@ -1,58 +1,93 @@ | 7 | 0 < x+0 when ... > ... is true | | 7 | 0 >= x+0 when ... > ... is false | | 7 | x < 0+1 when ... > ... is false | +| 7 | x < 1 when ... > ... is false | | 7 | x >= 0+1 when ... > ... is true | +| 7 | x >= 1 when ... > ... is true | | 17 | 0 < x+1 when ... < ... is false | | 17 | 0 >= x+1 when ... && ... is true | | 17 | 0 >= x+1 when ... < ... is true | | 17 | 1 < y+0 when ... && ... is true | | 17 | 1 < y+0 when ... > ... is true | | 17 | 1 >= y+0 when ... > ... is false | +| 17 | x < 0 when ... && ... is true | +| 17 | x < 0 when ... < ... is true | | 17 | x < 0+0 when ... && ... is true | | 17 | x < 0+0 when ... < ... is true | +| 17 | x >= 0 when ... < ... is false | | 17 | x >= 0+0 when ... < ... is false | | 17 | y < 1+1 when ... > ... is false | +| 17 | y < 2 when ... > ... is false | | 17 | y >= 1+1 when ... && ... is true | | 17 | y >= 1+1 when ... > ... is true | +| 17 | y >= 2 when ... && ... is true | +| 17 | y >= 2 when ... > ... is true | | 26 | 0 < x+0 when ... > ... is true | | 26 | 0 >= x+0 when ... > ... is false | | 26 | x < 0+1 when ... > ... is false | +| 26 | x < 1 when ... > ... is false | | 26 | x >= 0+1 when ... > ... is true | +| 26 | x >= 1 when ... > ... is true | | 31 | - ... != x+0 when ... == ... is false | | 31 | - ... == x+0 when ... == ... is true | +| 31 | x != -1 when ... == ... is false | | 31 | x != - ...+0 when ... == ... is false | +| 31 | x == -1 when ... == ... is true | | 31 | x == - ...+0 when ... == ... is true | | 34 | 10 < j+1 when ... < ... is false | | 34 | 10 >= j+1 when ... < ... is true | +| 34 | j < 10 when ... < ... is true | | 34 | j < 10+0 when ... < ... is true | +| 34 | j >= 10 when ... < ... is false | | 34 | j >= 10+0 when ... < ... is false | | 42 | 10 < j+1 when ... < ... is false | | 42 | 10 >= j+1 when ... < ... is true | +| 42 | j < 10 when ... < ... is true | | 42 | j < 10+0 when ... < ... is true | +| 42 | j >= 10 when ... < ... is false | | 42 | j >= 10+0 when ... < ... is false | | 44 | 0 < z+0 when ... > ... is true | | 44 | 0 >= z+0 when ... > ... is false | | 44 | z < 0+1 when ... > ... is false | +| 44 | z < 1 when ... > ... is false | | 44 | z >= 0+1 when ... > ... is true | +| 44 | z >= 1 when ... > ... is true | | 45 | 0 < y+0 when ... > ... is true | | 45 | 0 >= y+0 when ... > ... is false | | 45 | y < 0+1 when ... > ... is false | +| 45 | y < 1 when ... > ... is false | | 45 | y >= 0+1 when ... > ... is true | +| 45 | y >= 1 when ... > ... is true | | 58 | 0 != x+0 when ... == ... is false | | 58 | 0 != x+0 when ... \|\| ... is false | | 58 | 0 < y+1 when ... < ... is false | | 58 | 0 < y+1 when ... \|\| ... is false | | 58 | 0 == x+0 when ... == ... is true | | 58 | 0 >= y+1 when ... < ... is true | +| 58 | x != 0 when ... == ... is false | +| 58 | x != 0 when ... \|\| ... is false | | 58 | x != 0+0 when ... == ... is false | | 58 | x != 0+0 when ... \|\| ... is false | +| 58 | x == 0 when ... == ... is true | | 58 | x == 0+0 when ... == ... is true | +| 58 | y < 0 when ... < ... is true | | 58 | y < 0+0 when ... < ... is true | +| 58 | y >= 0 when ... < ... is false | +| 58 | y >= 0 when ... \|\| ... is false | | 58 | y >= 0+0 when ... < ... is false | | 58 | y >= 0+0 when ... \|\| ... is false | +| 61 | i == 0 when i is Case[0] | +| 61 | i == 1 when i is Case[1] | +| 61 | i == 2 when i is Case[2] | +| 74 | i < 11 when i is Case[0..10] | +| 74 | i < 21 when i is Case[11..20] | +| 74 | i >= 0 when i is Case[0..10] | +| 74 | i >= 11 when i is Case[11..20] | | 75 | 0 != x+0 when ... == ... is false | | 75 | 0 == x+0 when ... == ... is true | +| 75 | x != 0 when ... == ... is false | | 75 | x != 0+0 when ... == ... is false | +| 75 | x == 0 when ... == ... is true | | 75 | x == 0+0 when ... == ... is true | | 85 | 0 != x+0 when ... == ... is false | | 85 | 0 != y+0 when ... != ... is true | @@ -60,19 +95,29 @@ | 85 | 0 == x+0 when ... && ... is true | | 85 | 0 == x+0 when ... == ... is true | | 85 | 0 == y+0 when ... != ... is false | +| 85 | x != 0 when ... == ... is false | | 85 | x != 0+0 when ... == ... is false | +| 85 | x == 0 when ... && ... is true | +| 85 | x == 0 when ... == ... is true | | 85 | x == 0+0 when ... && ... is true | | 85 | x == 0+0 when ... == ... is true | +| 85 | y != 0 when ... != ... is true | +| 85 | y != 0 when ... && ... is true | | 85 | y != 0+0 when ... != ... is true | | 85 | y != 0+0 when ... && ... is true | +| 85 | y == 0 when ... != ... is false | | 85 | y == 0+0 when ... != ... is false | | 94 | 0 != x+0 when ... != ... is true | | 94 | 0 == x+0 when ... != ... is false | +| 94 | x != 0 when ... != ... is true | | 94 | x != 0+0 when ... != ... is true | +| 94 | x == 0 when ... != ... is false | | 94 | x == 0+0 when ... != ... is false | | 102 | 10 < j+1 when ... < ... is false | | 102 | 10 >= j+1 when ... < ... is true | +| 102 | j < 10 when ... < ... is true | | 102 | j < 10+0 when ... < ... is true | +| 102 | j >= 10 when ... < ... is false | | 102 | j >= 10+0 when ... < ... is false | | 109 | 0 != x+0 when ... == ... is false | | 109 | 0 != x+0 when ... \|\| ... is false | @@ -80,9 +125,15 @@ | 109 | 0 < y+1 when ... \|\| ... is false | | 109 | 0 == x+0 when ... == ... is true | | 109 | 0 >= y+1 when ... < ... is true | +| 109 | x != 0 when ... == ... is false | +| 109 | x != 0 when ... \|\| ... is false | | 109 | x != 0+0 when ... == ... is false | | 109 | x != 0+0 when ... \|\| ... is false | +| 109 | x == 0 when ... == ... is true | | 109 | x == 0+0 when ... == ... is true | +| 109 | y < 0 when ... < ... is true | | 109 | y < 0+0 when ... < ... is true | +| 109 | y >= 0 when ... < ... is false | +| 109 | y >= 0 when ... \|\| ... is false | | 109 | y >= 0+0 when ... < ... is false | | 109 | y >= 0+0 when ... \|\| ... is false | diff --git a/cpp/ql/test/library-tests/controlflow/guards/GuardsCompare.ql b/cpp/ql/test/library-tests/controlflow/guards/GuardsCompare.ql index a1373b2923b..b05f5b95d00 100644 --- a/cpp/ql/test/library-tests/controlflow/guards/GuardsCompare.ql +++ b/cpp/ql/test/library-tests/controlflow/guards/GuardsCompare.ql @@ -7,20 +7,35 @@ import cpp import semmle.code.cpp.controlflow.Guards -from GuardCondition guard, Expr left, Expr right, int k, string which, string op, string msg +from GuardCondition guard, Expr left, int k, string op, string msg where - exists(boolean sense | + exists(boolean sense, string which | sense = true and which = "true" or sense = false and which = "false" | - guard.comparesLt(left, right, k, true, sense) and op = " < " + exists(Expr right | + guard.comparesLt(left, right, k, true, sense) and op = " < " + or + guard.comparesLt(left, right, k, false, sense) and op = " >= " + or + guard.comparesEq(left, right, k, true, sense) and op = " == " + or + guard.comparesEq(left, right, k, false, sense) and op = " != " + | + msg = left + op + right + "+" + k + " when " + guard + " is " + which + ) + ) + or + exists(AbstractValue value | + guard.comparesLt(left, k, true, value) and op = " < " or - guard.comparesLt(left, right, k, false, sense) and op = " >= " + guard.comparesLt(left, k, false, value) and op = " >= " or - guard.comparesEq(left, right, k, true, sense) and op = " == " + guard.comparesEq(left, k, true, value) and op = " == " or - guard.comparesEq(left, right, k, false, sense) and op = " != " - ) and - msg = left + op + right + "+" + k + " when " + guard + " is " + which + guard.comparesEq(left, k, false, value) and op = " != " + | + msg = left + op + k + " when " + guard + " is " + value + ) select guard.getLocation().getStartLine(), msg diff --git a/cpp/ql/test/library-tests/controlflow/guards/GuardsControl.expected b/cpp/ql/test/library-tests/controlflow/guards/GuardsControl.expected index 1e0aed878bf..fbfaff9acf6 100644 --- a/cpp/ql/test/library-tests/controlflow/guards/GuardsControl.expected +++ b/cpp/ql/test/library-tests/controlflow/guards/GuardsControl.expected @@ -86,3 +86,7 @@ | test.cpp:31:7:31:13 | ... == ... | true | 31 | 32 | | test.cpp:42:13:42:20 | call to getABool | false | 53 | 53 | | test.cpp:42:13:42:20 | call to getABool | true | 43 | 45 | +| test.cpp:61:10:61:10 | i | Case[0] | 62 | 64 | +| test.cpp:61:10:61:10 | i | Case[1] | 65 | 66 | +| test.cpp:74:10:74:10 | i | Case[0..10] | 75 | 77 | +| test.cpp:74:10:74:10 | i | Case[11..20] | 78 | 79 | diff --git a/cpp/ql/test/library-tests/controlflow/guards/GuardsControl.ql b/cpp/ql/test/library-tests/controlflow/guards/GuardsControl.ql index 5101f64a2c5..93ce054cd82 100644 --- a/cpp/ql/test/library-tests/controlflow/guards/GuardsControl.ql +++ b/cpp/ql/test/library-tests/controlflow/guards/GuardsControl.ql @@ -7,10 +7,10 @@ import cpp import semmle.code.cpp.controlflow.Guards -from GuardCondition guard, boolean sense, int start, int end +from GuardCondition guard, AbstractValue value, int start, int end where exists(BasicBlock block | - guard.controls(block, sense) and + guard.valueControls(block, value) and block.hasLocationInfo(_, start, _, end, _) ) -select guard, sense, start, end +select guard, value, start, end diff --git a/cpp/ql/test/library-tests/controlflow/guards/test.cpp b/cpp/ql/test/library-tests/controlflow/guards/test.cpp index 46d894813f9..3a60f5f026e 100644 --- a/cpp/ql/test/library-tests/controlflow/guards/test.cpp +++ b/cpp/ql/test/library-tests/controlflow/guards/test.cpp @@ -52,3 +52,37 @@ bool testWithCatch0(int v) return false; } + +void use1(int); +void use2(int); +void use3(int); + +void test_switches_simple(int i) { + switch(i) { + case 0: + use1(i); + break; + case 1: + use2(i); + /* NOTE: fallthrough */ + case 2: + use3(i); + } +} + +void test_switches_range(int i) { + switch(i) { + case 0 ... 10: + use1(i); + break; + case 11 ... 20: + use2(i); + } +} + +void test_switches_default(int i) { + switch(i) { + default: + use1(i); + } +} \ No newline at end of file diff --git a/cpp/ql/test/library-tests/ir/ir/PrintAST.expected b/cpp/ql/test/library-tests/ir/ir/PrintAST.expected index 24501a4bcae..a6276ecfc5a 100644 --- a/cpp/ql/test/library-tests/ir/ir/PrintAST.expected +++ b/cpp/ql/test/library-tests/ir/ir/PrintAST.expected @@ -1728,6 +1728,464 @@ complex.c: # 144| Type = [LongDoubleType] long double # 144| ValueCategory = prvalue # 145| getStmt(72): [ReturnStmt] return ... +destructors_for_temps.cpp: +# 1| [CopyAssignmentOperator] ClassWithDestructor2& ClassWithDestructor2::operator=(ClassWithDestructor2 const&) +# 1| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const ClassWithDestructor2 & +# 1| [CopyConstructor] void ClassWithDestructor2::ClassWithDestructor2(ClassWithDestructor2 const&) +# 1| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const ClassWithDestructor2 & +# 3| [Constructor] void ClassWithDestructor2::ClassWithDestructor2() +# 3| : +# 4| [Destructor] void ClassWithDestructor2::~ClassWithDestructor2() +# 4| : +# 6| [MemberFunction] char ClassWithDestructor2::get_x() +# 6| : +# 9| [CopyAssignmentOperator] ClassWithConstructor& ClassWithConstructor::operator=(ClassWithConstructor const&) +# 9| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const ClassWithConstructor & +# 9| [MoveAssignmentOperator] ClassWithConstructor& ClassWithConstructor::operator=(ClassWithConstructor&&) +# 9| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [RValueReferenceType] ClassWithConstructor && +# 9| [CopyConstructor] void ClassWithConstructor::ClassWithConstructor(ClassWithConstructor const&) +# 9| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const ClassWithConstructor & +# 9| [MoveConstructor] void ClassWithConstructor::ClassWithConstructor(ClassWithConstructor&&) +# 9| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [RValueReferenceType] ClassWithConstructor && +# 9| : +# 9| getEntryPoint(): [BlockStmt] { ... } +# 9| getStmt(0): [ReturnStmt] return ... +# 11| [Constructor] void ClassWithConstructor::ClassWithConstructor(char, char) +# 11| : +# 11| getParameter(0): [Parameter] x +# 11| Type = [PlainCharType] char +# 11| getParameter(1): [Parameter] y +# 11| Type = [PlainCharType] char +# 14| [TopLevelFunction] char temp_test() +# 14| : +# 14| getEntryPoint(): [BlockStmt] { ... } +# 15| getStmt(0): [DeclStmt] declaration +# 15| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 15| Type = [PlainCharType] char +# 15| getVariable().getInitializer(): [Initializer] initializer for x +# 15| getExpr(): [FunctionCall] call to get_x +# 15| Type = [PlainCharType] char +# 15| ValueCategory = prvalue +# 15| getQualifier(): [ConstructorCall] call to ClassWithDestructor2 +# 15| Type = [VoidType] void +# 15| ValueCategory = prvalue +# 15| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor2 +# 15| Type = [VoidType] void +# 15| ValueCategory = prvalue +# 15| getQualifier(): [ReuseExpr] reuse of temporary object +# 15| Type = [Class] ClassWithDestructor2 +# 15| ValueCategory = xvalue +# 15| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 15| Type = [Class] ClassWithDestructor2 +# 15| ValueCategory = prvalue(load) +# 16| getStmt(1): [DeclStmt] declaration +# 16| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 16| Type = [Class] ClassWithConstructor +# 16| getVariable().getInitializer(): [Initializer] initializer for y +# 16| getExpr(): [ConstructorCall] call to ClassWithConstructor +# 16| Type = [VoidType] void +# 16| ValueCategory = prvalue +# 16| getArgument(0): [CharLiteral] 97 +# 16| Type = [PlainCharType] char +# 16| Value = [CharLiteral] 97 +# 16| ValueCategory = prvalue +# 16| getArgument(1): [FunctionCall] call to get_x +# 16| Type = [PlainCharType] char +# 16| ValueCategory = prvalue +# 16| getQualifier(): [ConstructorCall] call to ClassWithDestructor2 +# 16| Type = [VoidType] void +# 16| ValueCategory = prvalue +# 16| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 16| Type = [Class] ClassWithDestructor2 +# 16| ValueCategory = prvalue(load) +# 16| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor2 +# 16| Type = [VoidType] void +# 16| ValueCategory = prvalue +# 16| getQualifier(): [ReuseExpr] reuse of temporary object +# 16| Type = [Class] ClassWithDestructor2 +# 16| ValueCategory = xvalue +# 17| getStmt(2): [ReturnStmt] return ... +# 17| getExpr(): [FunctionCall] call to get_x +# 17| Type = [PlainCharType] char +# 17| ValueCategory = prvalue +# 17| getQualifier(): [ConstructorCall] call to ClassWithDestructor2 +# 17| Type = [VoidType] void +# 17| ValueCategory = prvalue +# 17| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor2 +# 17| Type = [VoidType] void +# 17| ValueCategory = prvalue +# 17| getQualifier(): [ReuseExpr] reuse of temporary object +# 17| Type = [Class] ClassWithDestructor2 +# 17| ValueCategory = xvalue +# 17| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 17| Type = [Class] ClassWithDestructor2 +# 17| ValueCategory = prvalue(load) +# 21| [TopLevelFunction] char temp_test2() +# 21| : +# 21| getEntryPoint(): [BlockStmt] { ... } +# 22| getStmt(0): [ExprStmt] ExprStmt +# 22| getExpr(): [NewExpr] new +# 22| Type = [PointerType] ClassWithDestructor2 * +# 22| ValueCategory = prvalue +# 22| getInitializer(): [ConstructorCall] call to ClassWithDestructor2 +# 22| Type = [VoidType] void +# 22| ValueCategory = prvalue +# 23| getStmt(1): [ReturnStmt] return ... +# 23| getExpr(): [AddExpr] ... + ... +# 23| Type = [IntType] int +# 23| ValueCategory = prvalue +# 23| getLeftOperand(): [FunctionCall] call to get_x +# 23| Type = [PlainCharType] char +# 23| ValueCategory = prvalue +# 23| getQualifier(): [ConstructorCall] call to ClassWithDestructor2 +# 23| Type = [VoidType] void +# 23| ValueCategory = prvalue +# 23| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 23| Type = [Class] ClassWithDestructor2 +# 23| ValueCategory = prvalue(load) +# 23| getRightOperand(): [FunctionCall] call to get_x +# 23| Type = [PlainCharType] char +# 23| ValueCategory = prvalue +# 23| getQualifier(): [ConstructorCall] call to ClassWithDestructor2 +# 23| Type = [VoidType] void +# 23| ValueCategory = prvalue +# 23| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 23| Type = [Class] ClassWithDestructor2 +# 23| ValueCategory = prvalue(load) +# 23| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor2 +# 23| Type = [VoidType] void +# 23| ValueCategory = prvalue +# 23| getQualifier(): [ReuseExpr] reuse of temporary object +# 23| Type = [Class] ClassWithDestructor2 +# 23| ValueCategory = xvalue +# 23| getImplicitDestructorCall(1): [DestructorCall] call to ~ClassWithDestructor2 +# 23| Type = [VoidType] void +# 23| ValueCategory = prvalue +# 23| getQualifier(): [ReuseExpr] reuse of temporary object +# 23| Type = [Class] ClassWithDestructor2 +# 23| ValueCategory = xvalue +# 23| getLeftOperand().getFullyConverted(): [CStyleCast] (int)... +# 23| Conversion = [IntegralConversion] integral conversion +# 23| Type = [IntType] int +# 23| ValueCategory = prvalue +# 23| getRightOperand().getFullyConverted(): [CStyleCast] (int)... +# 23| Conversion = [IntegralConversion] integral conversion +# 23| Type = [IntType] int +# 23| ValueCategory = prvalue +# 23| getExpr().getFullyConverted(): [CStyleCast] (char)... +# 23| Conversion = [IntegralConversion] integral conversion +# 23| Type = [PlainCharType] char +# 23| ValueCategory = prvalue +# 27| [FunctionTemplateInstantiation,TopLevelFunction] ClassWithDestructor2 returnValue() +# 27| : +# 27| [TemplateFunction,TopLevelFunction] T returnValue() +# 27| : +# 29| [TopLevelFunction] void temp_test3() +# 29| : +# 29| getEntryPoint(): [BlockStmt] { ... } +# 30| getStmt(0): [DeclStmt] declaration +# 30| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rs +# 30| Type = [LValueReferenceType] const ClassWithDestructor2 & +# 30| getVariable().getInitializer(): [Initializer] initializer for rs +# 30| getExpr(): [FunctionCall] call to returnValue +# 30| Type = [Class] ClassWithDestructor2 +# 30| ValueCategory = prvalue +# 30| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 30| Type = [LValueReferenceType] const ClassWithDestructor2 & +# 30| ValueCategory = prvalue +# 30| getExpr(): [CStyleCast] (const ClassWithDestructor2)... +# 30| Conversion = [GlvalueConversion] glvalue conversion +# 30| Type = [SpecifiedType] const ClassWithDestructor2 +# 30| ValueCategory = lvalue +# 30| getExpr(): [TemporaryObjectExpr] temporary object +# 30| Type = [Class] ClassWithDestructor2 +# 30| ValueCategory = lvalue +# 31| getStmt(1): [ReturnStmt] return ... +# 31| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor2 +# 31| Type = [VoidType] void +# 31| ValueCategory = prvalue +# 31| getQualifier(): [ReuseExpr] reuse of temporary object +# 31| Type = [Class] ClassWithDestructor2 +# 31| ValueCategory = xvalue +# 33| [TopLevelFunction] void temp_test4() +# 33| : +# 33| getEntryPoint(): [BlockStmt] { ... } +# 34| getStmt(0): [DeclStmt] declaration +# 34| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c +# 34| Type = [Class] ClassWithDestructor2 +# 34| getVariable().getInitializer(): [Initializer] initializer for c +# 34| getExpr(): [ConstructorCall] call to ClassWithDestructor2 +# 34| Type = [VoidType] void +# 34| ValueCategory = prvalue +# 35| getStmt(1): [DeclStmt] declaration +# 35| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rs2 +# 35| Type = [LValueReferenceType] const ClassWithDestructor2 & +# 35| getVariable().getInitializer(): [Initializer] initializer for rs2 +# 35| getExpr(): [FunctionCall] call to returnValue +# 35| Type = [Class] ClassWithDestructor2 +# 35| ValueCategory = prvalue +# 35| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 35| Type = [LValueReferenceType] const ClassWithDestructor2 & +# 35| ValueCategory = prvalue +# 35| getExpr(): [CStyleCast] (const ClassWithDestructor2)... +# 35| Conversion = [GlvalueConversion] glvalue conversion +# 35| Type = [SpecifiedType] const ClassWithDestructor2 +# 35| ValueCategory = lvalue +# 35| getExpr(): [TemporaryObjectExpr] temporary object +# 35| Type = [Class] ClassWithDestructor2 +# 35| ValueCategory = lvalue +# 36| getStmt(2): [ReturnStmt] return ... +# 36| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor2 +# 36| Type = [VoidType] void +# 36| ValueCategory = prvalue +# 36| getQualifier(): [ReuseExpr] reuse of temporary object +# 36| Type = [Class] ClassWithDestructor2 +# 36| ValueCategory = xvalue +# 36| getImplicitDestructorCall(1): [DestructorCall] call to ~ClassWithDestructor2 +# 36| Type = [VoidType] void +# 36| ValueCategory = prvalue +# 36| getQualifier(): [VariableAccess] c +# 36| Type = [Class] ClassWithDestructor2 +# 36| ValueCategory = lvalue +# 38| [TopLevelFunction] void temp_test5(bool) +# 38| : +# 38| getParameter(0): [Parameter] b +# 38| Type = [BoolType] bool +# 38| getEntryPoint(): [BlockStmt] { ... } +# 39| getStmt(0): [ExprStmt] ExprStmt +# 39| getExpr(): [ConditionalExpr] ... ? ... : ... +# 39| Type = [Class] ClassWithDestructor2 +# 39| ValueCategory = prvalue +# 39| getCondition(): [VariableAccess] b +# 39| Type = [BoolType] bool +# 39| ValueCategory = prvalue(load) +# 39| getThen(): [ConstructorCall] call to ClassWithDestructor2 +# 39| Type = [VoidType] void +# 39| ValueCategory = prvalue +# 39| getElse(): [ConstructorCall] call to ClassWithDestructor2 +# 39| Type = [VoidType] void +# 39| ValueCategory = prvalue +# 39| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor2 +# 39| Type = [VoidType] void +# 39| ValueCategory = prvalue +# 39| getQualifier(): [ReuseExpr] reuse of temporary object +# 39| Type = [Class] ClassWithDestructor2 +# 39| ValueCategory = xvalue +# 39| getThen().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 39| Type = [Class] ClassWithDestructor2 +# 39| ValueCategory = prvalue(load) +# 39| getElse().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 39| Type = [Class] ClassWithDestructor2 +# 39| ValueCategory = prvalue(load) +# 39| getExpr().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 39| Type = [Class] ClassWithDestructor2 +# 39| ValueCategory = prvalue +# 40| getStmt(1): [ReturnStmt] return ... +# 42| [TopLevelFunction] void temp_test6(bool) +# 42| : +# 42| getParameter(0): [Parameter] b +# 42| Type = [BoolType] bool +# 42| getEntryPoint(): [BlockStmt] { ... } +# 43| getStmt(0): [DeclStmt] declaration +# 43| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c +# 43| Type = [Class] ClassWithDestructor2 +# 43| getVariable().getInitializer(): [Initializer] initializer for c +# 43| getExpr(): [ConstructorCall] call to ClassWithDestructor2 +# 43| Type = [VoidType] void +# 43| ValueCategory = prvalue +# 44| getStmt(1): [IfStmt] if (...) ... +# 44| getCondition(): [VariableAccess] b +# 44| Type = [BoolType] bool +# 44| ValueCategory = prvalue(load) +# 44| getThen(): [BlockStmt] { ... } +# 45| getStmt(0): [ExprStmt] ExprStmt +# 45| getExpr(): [ThrowExpr] throw ... +# 45| Type = [Class] ClassWithConstructor +# 45| ValueCategory = prvalue +# 45| getExpr(): [ConstructorCall] call to ClassWithConstructor +# 45| Type = [VoidType] void +# 45| ValueCategory = prvalue +# 45| getArgument(0): [CharLiteral] 120 +# 45| Type = [PlainCharType] char +# 45| Value = [CharLiteral] 120 +# 45| ValueCategory = prvalue +# 45| getArgument(1): [FunctionCall] call to get_x +# 45| Type = [PlainCharType] char +# 45| ValueCategory = prvalue +# 45| getQualifier(): [ConstructorCall] call to ClassWithDestructor2 +# 45| Type = [VoidType] void +# 45| ValueCategory = prvalue +# 45| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 45| Type = [Class] ClassWithDestructor2 +# 45| ValueCategory = prvalue(load) +# 45| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor2 +# 45| Type = [VoidType] void +# 45| ValueCategory = prvalue +# 45| getQualifier(): [ReuseExpr] reuse of temporary object +# 45| Type = [Class] ClassWithDestructor2 +# 45| ValueCategory = xvalue +# 47| getImplicitDestructorCall(1): [DestructorCall] call to ~ClassWithDestructor2 +# 47| Type = [VoidType] void +# 47| ValueCategory = prvalue +# 47| getQualifier(): [VariableAccess] c +# 47| Type = [Class] ClassWithDestructor2 +# 47| ValueCategory = lvalue +# 47| getStmt(2): [ReturnStmt] return ... +# 47| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor2 +# 47| Type = [VoidType] void +# 47| ValueCategory = prvalue +# 47| getQualifier(): [VariableAccess] c +# 47| Type = [Class] ClassWithDestructor2 +# 47| ValueCategory = lvalue +# 49| [TopLevelFunction] void temp_test7(bool) +# 49| : +# 49| getParameter(0): [Parameter] b +# 49| Type = [BoolType] bool +# 49| getEntryPoint(): [BlockStmt] { ... } +# 50| getStmt(0): [DeclStmt] declaration +# 50| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c +# 50| Type = [Class] ClassWithDestructor2 +# 50| getVariable().getInitializer(): [Initializer] initializer for c +# 50| getExpr(): [ConstructorCall] call to ClassWithDestructor2 +# 50| Type = [VoidType] void +# 50| ValueCategory = prvalue +# 51| getStmt(1): [ExprStmt] ExprStmt +# 51| getExpr(): [ConditionalExpr] ... ? ... : ... +# 51| Type = [Class] ClassWithDestructor2 +# 51| ValueCategory = prvalue(load) +# 51| getCondition(): [VariableAccess] b +# 51| Type = [BoolType] bool +# 51| ValueCategory = prvalue(load) +# 51| getThen(): [ThrowExpr] throw ... +# 51| Type = [Class] ClassWithConstructor +# 51| ValueCategory = prvalue +# 51| getExpr(): [ConstructorCall] call to ClassWithConstructor +# 51| Type = [VoidType] void +# 51| ValueCategory = prvalue +# 51| getArgument(0): [CharLiteral] 120 +# 51| Type = [PlainCharType] char +# 51| Value = [CharLiteral] 120 +# 51| ValueCategory = prvalue +# 51| getArgument(1): [FunctionCall] call to get_x +# 51| Type = [PlainCharType] char +# 51| ValueCategory = prvalue +# 51| getQualifier(): [ConstructorCall] call to ClassWithDestructor2 +# 51| Type = [VoidType] void +# 51| ValueCategory = prvalue +# 51| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 51| Type = [Class] ClassWithDestructor2 +# 51| ValueCategory = prvalue(load) +# 52| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor2 +# 52| Type = [VoidType] void +# 52| ValueCategory = prvalue +# 52| getQualifier(): [VariableAccess] c +# 52| Type = [Class] ClassWithDestructor2 +# 52| ValueCategory = lvalue +# 51| getElse(): [ConstructorCall] call to ClassWithDestructor2 +# 51| Type = [VoidType] void +# 51| ValueCategory = prvalue +# 51| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor2 +# 51| Type = [VoidType] void +# 51| ValueCategory = prvalue +# 51| getQualifier(): [ReuseExpr] reuse of temporary object +# 51| Type = [Class] ClassWithDestructor2 +# 51| ValueCategory = xvalue +# 51| getImplicitDestructorCall(1): [DestructorCall] call to ~ClassWithDestructor2 +# 51| Type = [VoidType] void +# 51| ValueCategory = prvalue +# 51| getQualifier(): [ReuseExpr] reuse of temporary object +# 51| Type = [Class] ClassWithDestructor2 +# 51| ValueCategory = xvalue +# 51| getImplicitDestructorCall(2): [DestructorCall] call to ~ClassWithDestructor2 +# 51| Type = [VoidType] void +# 51| ValueCategory = prvalue +# 51| getQualifier(): [ReuseExpr] reuse of temporary object +# 51| Type = [Class] ClassWithDestructor2 +# 51| ValueCategory = xvalue +# 51| getElse().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 51| Type = [Class] ClassWithDestructor2 +# 51| ValueCategory = prvalue(load) +# 51| getExpr().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 51| Type = [Class] ClassWithDestructor2 +# 51| ValueCategory = prvalue +# 52| getStmt(2): [ReturnStmt] return ... +# 52| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor2 +# 52| Type = [VoidType] void +# 52| ValueCategory = prvalue +# 52| getQualifier(): [VariableAccess] c +# 52| Type = [Class] ClassWithDestructor2 +# 52| ValueCategory = lvalue +# 54| [TopLevelFunction] void temp_test8(bool) +# 54| : +# 54| getParameter(0): [Parameter] b +# 54| Type = [BoolType] bool +# 54| getEntryPoint(): [BlockStmt] { ... } +# 55| getStmt(0): [ExprStmt] ExprStmt +# 55| getExpr(): [ConditionalExpr] ... ? ... : ... +# 55| Type = [Class] ClassWithDestructor2 +# 55| ValueCategory = prvalue(load) +# 55| getCondition(): [VariableAccess] b +# 55| Type = [BoolType] bool +# 55| ValueCategory = prvalue(load) +# 55| getThen(): [ThrowExpr] throw ... +# 55| Type = [Class] ClassWithConstructor +# 55| ValueCategory = prvalue +# 55| getExpr(): [ConstructorCall] call to ClassWithConstructor +# 55| Type = [VoidType] void +# 55| ValueCategory = prvalue +# 55| getArgument(0): [CharLiteral] 120 +# 55| Type = [PlainCharType] char +# 55| Value = [CharLiteral] 120 +# 55| ValueCategory = prvalue +# 55| getArgument(1): [FunctionCall] call to get_x +# 55| Type = [PlainCharType] char +# 55| ValueCategory = prvalue +# 55| getQualifier(): [ConstructorCall] call to ClassWithDestructor2 +# 55| Type = [VoidType] void +# 55| ValueCategory = prvalue +# 55| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 55| Type = [Class] ClassWithDestructor2 +# 55| ValueCategory = prvalue(load) +# 55| getElse(): [ConstructorCall] call to ClassWithDestructor2 +# 55| Type = [VoidType] void +# 55| ValueCategory = prvalue +# 55| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor2 +# 55| Type = [VoidType] void +# 55| ValueCategory = prvalue +# 55| getQualifier(): [ReuseExpr] reuse of temporary object +# 55| Type = [Class] ClassWithDestructor2 +# 55| ValueCategory = xvalue +# 55| getImplicitDestructorCall(1): [DestructorCall] call to ~ClassWithDestructor2 +# 55| Type = [VoidType] void +# 55| ValueCategory = prvalue +# 55| getQualifier(): [ReuseExpr] reuse of temporary object +# 55| Type = [Class] ClassWithDestructor2 +# 55| ValueCategory = xvalue +# 55| getImplicitDestructorCall(2): [DestructorCall] call to ~ClassWithDestructor2 +# 55| Type = [VoidType] void +# 55| ValueCategory = prvalue +# 55| getQualifier(): [ReuseExpr] reuse of temporary object +# 55| Type = [Class] ClassWithDestructor2 +# 55| ValueCategory = xvalue +# 55| getElse().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 55| Type = [Class] ClassWithDestructor2 +# 55| ValueCategory = prvalue(load) +# 55| getExpr().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 55| Type = [Class] ClassWithDestructor2 +# 55| ValueCategory = prvalue +# 56| getStmt(1): [ReturnStmt] return ... ir.c: # 5| [TopLevelFunction] int getX(MyCoords*) # 5| : @@ -6853,6 +7311,12 @@ ir.cpp: # 809| Conversion = [BaseClassConversion] base class conversion # 809| Type = [SpecifiedType] const Base # 809| ValueCategory = lvalue +# 809| getImplicitDestructorCall(0): [DestructorCall] call to ~Base +# 809| Type = [VoidType] void +# 809| ValueCategory = prvalue +# 809| getQualifier(): [ReuseExpr] reuse of temporary object +# 809| Type = [Struct,VirtualBaseClass] Base +# 809| ValueCategory = xvalue # 809| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) # 809| Type = [LValueReferenceType] const Base & # 809| ValueCategory = prvalue @@ -6886,6 +7350,12 @@ ir.cpp: # 810| Conversion = [BaseClassConversion] base class conversion # 810| Type = [SpecifiedType] const Base # 810| ValueCategory = lvalue +# 810| getImplicitDestructorCall(0): [DestructorCall] call to ~Base +# 810| Type = [VoidType] void +# 810| ValueCategory = prvalue +# 810| getQualifier(): [ReuseExpr] reuse of temporary object +# 810| Type = [Struct,VirtualBaseClass] Base +# 810| ValueCategory = xvalue # 810| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) # 810| Type = [LValueReferenceType] const Base & # 810| ValueCategory = prvalue @@ -7093,6 +7563,12 @@ ir.cpp: # 823| Conversion = [BaseClassConversion] base class conversion # 823| Type = [SpecifiedType] const Middle # 823| ValueCategory = lvalue +# 823| getImplicitDestructorCall(0): [DestructorCall] call to ~Base +# 823| Type = [VoidType] void +# 823| ValueCategory = prvalue +# 823| getQualifier(): [ReuseExpr] reuse of temporary object +# 823| Type = [Struct,VirtualBaseClass] Base +# 823| ValueCategory = xvalue # 823| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) # 823| Type = [LValueReferenceType] const Base & # 823| ValueCategory = prvalue @@ -7130,6 +7606,12 @@ ir.cpp: # 824| Conversion = [BaseClassConversion] base class conversion # 824| Type = [SpecifiedType] const Middle # 824| ValueCategory = lvalue +# 824| getImplicitDestructorCall(0): [DestructorCall] call to ~Base +# 824| Type = [VoidType] void +# 824| ValueCategory = prvalue +# 824| getQualifier(): [ReuseExpr] reuse of temporary object +# 824| Type = [Struct,VirtualBaseClass] Base +# 824| ValueCategory = xvalue # 824| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) # 824| Type = [LValueReferenceType] const Base & # 824| ValueCategory = prvalue @@ -8330,6 +8812,15 @@ ir.cpp: # 976| getVariableAccess(): [VariableAccess] b # 976| Type = [BoolType] bool # 976| ValueCategory = prvalue(load) +# 976| getInitializingExpr(): [LTExpr] ... < ... +# 976| Type = [BoolType] bool +# 976| ValueCategory = prvalue +# 976| getLesserOperand(): [VariableAccess] x +# 976| Type = [IntType] int +# 976| ValueCategory = prvalue(load) +# 976| getGreaterOperand(): [VariableAccess] y +# 976| Type = [IntType] int +# 976| ValueCategory = prvalue(load) # 976| getThen(): [BlockStmt] { ... } # 977| getStmt(0): [ExprStmt] ExprStmt # 977| getExpr(): [AssignExpr] ... = ... @@ -8349,6 +8840,15 @@ ir.cpp: # 979| getVariableAccess(): [VariableAccess] z # 979| Type = [IntType] int # 979| ValueCategory = prvalue(load) +# 979| getInitializingExpr(): [AddExpr] ... + ... +# 979| Type = [IntType] int +# 979| ValueCategory = prvalue +# 979| getLeftOperand(): [VariableAccess] x +# 979| Type = [IntType] int +# 979| ValueCategory = prvalue(load) +# 979| getRightOperand(): [VariableAccess] y +# 979| Type = [IntType] int +# 979| ValueCategory = prvalue(load) # 979| getVariableAccess().getFullyConverted(): [CStyleCast] (bool)... # 979| Conversion = [BoolConversion] conversion to bool # 979| Type = [BoolType] bool @@ -8372,6 +8872,12 @@ ir.cpp: # 982| getVariableAccess(): [VariableAccess] p # 982| Type = [IntPointerType] int * # 982| ValueCategory = prvalue(load) +# 982| getInitializingExpr(): [AddressOfExpr] & ... +# 982| Type = [IntPointerType] int * +# 982| ValueCategory = prvalue +# 982| getOperand(): [VariableAccess] x +# 982| Type = [IntType] int +# 982| ValueCategory = lvalue # 982| getVariableAccess().getFullyConverted(): [CStyleCast] (bool)... # 982| Conversion = [BoolConversion] conversion to bool # 982| Type = [BoolType] bool @@ -8406,6 +8912,15 @@ ir.cpp: # 988| getVariableAccess(): [VariableAccess] b # 988| Type = [BoolType] bool # 988| ValueCategory = prvalue(load) +# 988| getInitializingExpr(): [LTExpr] ... < ... +# 988| Type = [BoolType] bool +# 988| ValueCategory = prvalue +# 988| getLesserOperand(): [VariableAccess] x +# 988| Type = [IntType] int +# 988| ValueCategory = prvalue(load) +# 988| getGreaterOperand(): [VariableAccess] y +# 988| Type = [IntType] int +# 988| ValueCategory = prvalue(load) # 988| getStmt(): [BlockStmt] { ... } # 990| getStmt(1): [WhileStmt] while (...) ... # 990| getCondition(): [ConditionDeclExpr] (condition decl) @@ -8414,6 +8929,15 @@ ir.cpp: # 990| getVariableAccess(): [VariableAccess] z # 990| Type = [IntType] int # 990| ValueCategory = prvalue(load) +# 990| getInitializingExpr(): [AddExpr] ... + ... +# 990| Type = [IntType] int +# 990| ValueCategory = prvalue +# 990| getLeftOperand(): [VariableAccess] x +# 990| Type = [IntType] int +# 990| ValueCategory = prvalue(load) +# 990| getRightOperand(): [VariableAccess] y +# 990| Type = [IntType] int +# 990| ValueCategory = prvalue(load) # 990| getVariableAccess().getFullyConverted(): [CStyleCast] (bool)... # 990| Conversion = [BoolConversion] conversion to bool # 990| Type = [BoolType] bool @@ -8426,6 +8950,12 @@ ir.cpp: # 992| getVariableAccess(): [VariableAccess] p # 992| Type = [IntPointerType] int * # 992| ValueCategory = prvalue(load) +# 992| getInitializingExpr(): [AddressOfExpr] & ... +# 992| Type = [IntPointerType] int * +# 992| ValueCategory = prvalue +# 992| getOperand(): [VariableAccess] x +# 992| Type = [IntType] int +# 992| ValueCategory = lvalue # 992| getVariableAccess().getFullyConverted(): [CStyleCast] (bool)... # 992| Conversion = [BoolConversion] conversion to bool # 992| Type = [BoolType] bool @@ -9382,2301 +9912,2523 @@ ir.cpp: # 1054| getRightOperand().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) # 1054| Type = [IntType] int # 1054| ValueCategory = prvalue(load) -# 1059| [CopyAssignmentOperator] vector& vector::operator=(vector const&) -# 1059| : +# 1078| [CopyAssignmentOperator] std::iterator& std::iterator::operator=(std::iterator const&) +# 1078| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const iterator & +# 1078| [CopyAssignmentOperator] std::iterator& std::iterator::operator=(std::iterator const&) +# 1078| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const iterator & +# 1078| [CopyAssignmentOperator] std::iterator& std::iterator::operator=(std::iterator const&) +# 1078| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const iterator & +# 1078| [CopyAssignmentOperator] std::iterator& std::iterator::operator=(std::iterator const&) +# 1078| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const iterator & +# 1081| [Constructor] void std::iterator::iterator() +# 1081| : +# 1082| [Constructor] void std::iterator::iterator(std::iterator const&) +# 1082| : +# 1082| getParameter(0): [Parameter] other +# 1082| Type = [LValueReferenceType] const iterator & +# 1082| [CopyConstructor] void std::iterator::iterator(std::iterator const&) +# 1082| : +# 1082| getParameter(0): [Parameter] other +# 1082| Type = [LValueReferenceType] const iterator & +# 1082| [CopyConstructor] void std::iterator::iterator(std::iterator const&) +# 1082| : +# 1082| getParameter(0): [Parameter] other +# 1082| Type = [LValueReferenceType] const iterator & +# 1082| [CopyConstructor] void std::iterator::iterator(std::iterator const&) +# 1082| : +# 1082| getParameter(0): [Parameter] other +# 1082| Type = [LValueReferenceType] const iterator & +# 1082| [CopyConstructor] void std::iterator::iterator(std::iterator const&) +# 1082| : +# 1082| getParameter(0): [Parameter] other +# 1082| Type = [LValueReferenceType] const iterator & +# 1084| [MemberFunction] std::iterator& std::iterator::operator++() +# 1084| : +# 1084| [MemberFunction] std::iterator& std::iterator::operator++() +# 1084| : +# 1084| [MemberFunction] std::iterator& std::iterator::operator++() +# 1084| : +# 1084| [MemberFunction] std::iterator& std::iterator::operator++() +# 1084| : +# 1084| [MemberFunction] std::iterator& std::iterator::operator++() +# 1084| : +# 1085| [MemberFunction] std::iterator std::iterator::operator++(int) +# 1085| : +# 1085| getParameter(0): [Parameter] (unnamed parameter 0) +# 1085| Type = [IntType] int +# 1086| [MemberFunction] std::iterator& std::iterator::operator--() +# 1086| : +# 1087| [MemberFunction] std::iterator std::iterator::operator--(int) +# 1087| : +# 1087| getParameter(0): [Parameter] (unnamed parameter 0) +# 1087| Type = [IntType] int +# 1088| [ConstMemberFunction] bool std::iterator::operator==(std::iterator) const +# 1088| : +# 1088| getParameter(0): [Parameter] other +# 1088| Type = [TemplateClass] iterator +# 1089| [ConstMemberFunction] bool std::iterator::operator!=(std::iterator) const +# 1089| : +# 1089| getParameter(0): [Parameter] other +# 1089| Type = [TemplateClass] iterator +# 1089| [ConstMemberFunction] bool std::iterator::operator!=(std::iterator) const +# 1089| : +# 1089| getParameter(0): [Parameter] other +# 1089| Type = [ClassTemplateInstantiation,Struct] iterator +# 1089| [ConstMemberFunction] bool std::iterator::operator!=(std::iterator) const +# 1089| : +# 1089| getParameter(0): [Parameter] other +# 1089| Type = [ClassTemplateInstantiation,Struct] iterator +# 1089| [ConstMemberFunction] bool std::iterator::operator!=(std::iterator) const +# 1089| : +# 1089| getParameter(0): [Parameter] other +# 1089| Type = [ClassTemplateInstantiation,Struct] iterator +# 1089| [ConstMemberFunction] bool std::iterator::operator!=(std::iterator) const +# 1089| : +# 1089| getParameter(0): [Parameter] other +# 1089| Type = [ClassTemplateInstantiation,Struct] iterator +# 1090| [ConstMemberFunction] ClassWithDestructor& std::iterator::operator*() const +# 1090| : +# 1090| [ConstMemberFunction] String& std::iterator::operator*() const +# 1090| : +# 1090| [ConstMemberFunction] char& std::iterator::operator*() const +# 1090| : +# 1090| [ConstMemberFunction] int& std::iterator::operator*() const +# 1090| : +# 1090| [ConstMemberFunction] reference_type std::iterator::operator*() const +# 1090| : +# 1091| [ConstMemberFunction] pointer_type std::iterator::operator->() const +# 1091| : +# 1092| [MemberFunction] std::iterator std::iterator::operator+(int) +# 1092| : +# 1092| getParameter(0): [Parameter] (unnamed parameter 0) +# 1092| Type = [IntType] int +# 1093| [MemberFunction] std::iterator std::iterator::operator-(int) +# 1093| : +# 1093| getParameter(0): [Parameter] (unnamed parameter 0) +# 1093| Type = [IntType] int +# 1094| [MemberFunction] std::iterator& std::iterator::operator+=(int) +# 1094| : +# 1094| getParameter(0): [Parameter] (unnamed parameter 0) +# 1094| Type = [IntType] int +# 1095| [MemberFunction] std::iterator& std::iterator::operator-=(int) +# 1095| : +# 1095| getParameter(0): [Parameter] (unnamed parameter 0) +# 1095| Type = [IntType] int +# 1096| [MemberFunction] int std::iterator::operator-(std::iterator) +# 1096| : +# 1096| getParameter(0): [Parameter] (unnamed parameter 0) +# 1096| Type = [TemplateClass] iterator +# 1097| [MemberFunction] reference_type std::iterator::operator[](int) +# 1097| : +# 1097| getParameter(0): [Parameter] (unnamed parameter 0) +# 1097| Type = [IntType] int +# 1100| [CopyAssignmentOperator] std::input_iterator_tag& std::input_iterator_tag::operator=(std::input_iterator_tag const&) +# 1100| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const input_iterator_tag & +# 1100| [MoveAssignmentOperator] std::input_iterator_tag& std::input_iterator_tag::operator=(std::input_iterator_tag&&) +# 1100| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [RValueReferenceType] input_iterator_tag && +# 1101| [CopyAssignmentOperator] std::forward_iterator_tag& std::forward_iterator_tag::operator=(std::forward_iterator_tag const&) +# 1101| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const forward_iterator_tag & +# 1101| [MoveAssignmentOperator] std::forward_iterator_tag& std::forward_iterator_tag::operator=(std::forward_iterator_tag&&) +# 1101| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [RValueReferenceType] forward_iterator_tag && +# 1101| [Constructor] void std::forward_iterator_tag::forward_iterator_tag() +# 1101| : +# 1102| [CopyAssignmentOperator] std::bidirectional_iterator_tag& std::bidirectional_iterator_tag::operator=(std::bidirectional_iterator_tag const&) +# 1102| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const bidirectional_iterator_tag & +# 1102| [MoveAssignmentOperator] std::bidirectional_iterator_tag& std::bidirectional_iterator_tag::operator=(std::bidirectional_iterator_tag&&) +# 1102| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [RValueReferenceType] bidirectional_iterator_tag && +# 1102| [Constructor] void std::bidirectional_iterator_tag::bidirectional_iterator_tag() +# 1102| : +# 1103| [CopyAssignmentOperator] std::random_access_iterator_tag& std::random_access_iterator_tag::operator=(std::random_access_iterator_tag const&) +# 1103| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const random_access_iterator_tag & +# 1103| [MoveAssignmentOperator] std::random_access_iterator_tag& std::random_access_iterator_tag::operator=(std::random_access_iterator_tag&&) +# 1103| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [RValueReferenceType] random_access_iterator_tag && +# 1103| [Constructor] void std::random_access_iterator_tag::random_access_iterator_tag() +# 1103| : +# 1105| [CopyAssignmentOperator] std::output_iterator_tag& std::output_iterator_tag::operator=(std::output_iterator_tag const&) +# 1105| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const output_iterator_tag & +# 1105| [MoveAssignmentOperator] std::output_iterator_tag& std::output_iterator_tag::operator=(std::output_iterator_tag&&) +# 1105| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [RValueReferenceType] output_iterator_tag && +# 1108| [CopyAssignmentOperator] std::vector& std::vector::operator=(std::vector const&) +# 1108| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const vector & -# 1059| [CopyAssignmentOperator] vector& vector::operator=(vector const&) -# 1059| : +# 1108| [CopyAssignmentOperator] std::vector& std::vector::operator=(std::vector const&) +# 1108| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const vector & -# 1059| [CopyAssignmentOperator] vector& vector::operator=(vector const&) -# 1059| : +# 1108| [CopyAssignmentOperator] std::vector& std::vector::operator=(std::vector const&) +# 1108| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const vector & +# 1108| [CopyAssignmentOperator] std::vector& std::vector::operator=(std::vector const&) +# 1108| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const vector & -# 1059| [CopyConstructor] void vector::vector(vector const&) -# 1059| : +# 1108| [CopyConstructor] void std::vector::vector(std::vector const&) +# 1108| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const vector & -# 1059| [CopyConstructor] void vector::vector(vector const&) -# 1059| : +# 1108| [CopyConstructor] void std::vector::vector(std::vector const&) +# 1108| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const vector & -# 1059| [CopyConstructor] void vector::vector(vector const&) -# 1059| : +# 1108| [CopyConstructor] void std::vector::vector(std::vector const&) +# 1108| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const vector & +# 1108| [CopyConstructor] void std::vector::vector(std::vector const&) +# 1108| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const vector & -# 1060| [CopyAssignmentOperator] vector::iterator& vector::iterator::operator=(vector::iterator const public&) -# 1060| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const iterator & -# 1060| [MoveAssignmentOperator] vector::iterator& vector::iterator::operator=(vector::iterator&&) -# 1060| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [RValueReferenceType] iterator && -# 1060| [CopyAssignmentOperator] vector::iterator& vector::iterator::operator=(vector::iterator const public&) -# 1060| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const iterator & -# 1060| [MoveAssignmentOperator] vector::iterator& vector::iterator::operator=(vector::iterator&&) -# 1060| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [RValueReferenceType] iterator && -# 1060| [CopyAssignmentOperator] vector::iterator& vector::iterator::operator=(vector::iterator const public&) -# 1060| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const iterator & -# 1060| [MoveAssignmentOperator] vector::iterator& vector::iterator::operator=(vector::iterator&&) -# 1060| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [RValueReferenceType] iterator && -# 1062| [MemberFunction] vector::iterator& vector::iterator::operator++() -# 1062| : -# 1062| [MemberFunction] vector::iterator& vector::iterator::operator++() -# 1062| : -# 1062| [MemberFunction] vector::iterator& vector::iterator::operator++() -# 1062| : -# 1062| [MemberFunction] vector::iterator& vector::iterator::operator++() -# 1062| : -# 1063| [ConstMemberFunction] ClassWithDestructor& vector::iterator::operator*() const -# 1063| : -# 1063| [ConstMemberFunction] String& vector::iterator::operator*() const -# 1063| : -# 1063| [ConstMemberFunction] T& vector::iterator::operator*() const -# 1063| : -# 1063| [ConstMemberFunction] int& vector::iterator::operator*() const -# 1063| : -# 1065| [ConstMemberFunction] bool vector::iterator::operator!=(vector::iterator) const -# 1065| : -# 1065| getParameter(0): [Parameter] right -# 1065| Type = [NestedStruct] iterator -# 1065| [ConstMemberFunction] bool vector::iterator::operator!=(vector::iterator) const -# 1065| : -# 1065| getParameter(0): [Parameter] right -# 1065| Type = [NestedStruct] iterator -# 1065| [ConstMemberFunction] bool vector::iterator::operator!=(vector::iterator) const -# 1065| : -# 1065| getParameter(0): [Parameter] right -# 1065| Type = [NestedClass,TemplateClass] iterator -# 1065| [ConstMemberFunction] bool vector::iterator::operator!=(vector::iterator) const -# 1065| : -# 1065| getParameter(0): [Parameter] right -# 1065| Type = [NestedStruct] iterator -# 1068| [Constructor] void vector::vector(ClassWithDestructor) -# 1068| : -# 1068| getParameter(0): [Parameter] (unnamed parameter 0) -# 1068| Type = [Class] ClassWithDestructor -# 1068| [Constructor] void vector::vector(String) -# 1068| : -# 1068| getParameter(0): [Parameter] (unnamed parameter 0) -# 1068| Type = [Struct] String -# 1068| [Constructor] void vector::vector(T) -# 1068| : -# 1068| getParameter(0): [Parameter] (unnamed parameter 0) -# 1068| Type = [TemplateParameter] T -# 1068| [Constructor] void vector::vector(int) -# 1068| : -# 1068| getParameter(0): [Parameter] (unnamed parameter 0) -# 1068| Type = [IntType] int -# 1069| [Destructor] void vector::~vector() -# 1069| : -# 1069| [Destructor] void vector::~vector() -# 1069| : -# 1069| [Destructor] void vector::~vector() -# 1069| : -# 1070| [ConstMemberFunction] vector::iterator vector::begin() const -# 1070| : -# 1070| [ConstMemberFunction] vector::iterator vector::begin() const -# 1070| : -# 1070| [ConstMemberFunction] vector::iterator vector::begin() const -# 1070| : -# 1070| [ConstMemberFunction] vector::iterator vector::begin() const -# 1070| : -# 1071| [ConstMemberFunction] vector::iterator vector::end() const -# 1071| : -# 1071| [ConstMemberFunction] vector::iterator vector::end() const -# 1071| : -# 1071| [ConstMemberFunction] vector::iterator vector::end() const -# 1071| : -# 1071| [ConstMemberFunction] vector::iterator vector::end() const -# 1071| : -# 1075| [Operator,TemplateFunction,TopLevelFunction] bool operator==(iterator, iterator) -# 1075| : -# 1075| getParameter(0): [Parameter] left -# 1075| Type = [TemplateParameter] iterator -# 1075| getParameter(1): [Parameter] right -# 1075| Type = [TemplateParameter] iterator -# 1077| [Operator,TemplateFunction,TopLevelFunction] bool operator!=(iterator, iterator) -# 1077| : -# 1077| getParameter(0): [Parameter] left -# 1077| Type = [TemplateParameter] iterator -# 1077| getParameter(1): [Parameter] right -# 1077| Type = [TemplateParameter] iterator -# 1079| [TopLevelFunction] void RangeBasedFor(vector const&) -# 1079| : -# 1079| getParameter(0): [Parameter] v -# 1079| Type = [LValueReferenceType] const vector & -# 1079| getEntryPoint(): [BlockStmt] { ... } -# 1080| getStmt(0): [RangeBasedForStmt] for(...:...) ... -# 1080| getChild(1): [DeclStmt] declaration -# 1080| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__range) -# 1080| Type = [LValueReferenceType] const vector & -#-----| getVariable().getInitializer(): [Initializer] initializer for (__range) -# 1080| getExpr(): [VariableAccess] v -# 1080| Type = [LValueReferenceType] const vector & -# 1080| ValueCategory = prvalue(load) -# 1080| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1080| Type = [LValueReferenceType] const vector & -# 1080| ValueCategory = prvalue -# 1080| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1080| Type = [SpecifiedType] const vector -# 1080| ValueCategory = lvalue -# 1080| getBeginEndDeclaration(): [DeclStmt] declaration -# 1080| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__begin) -# 1080| Type = [NestedStruct] iterator -#-----| getVariable().getInitializer(): [Initializer] initializer for (__begin) -# 1080| getExpr(): [FunctionCall] call to begin -# 1080| Type = [NestedStruct] iterator -# 1080| ValueCategory = prvalue -# 1080| getQualifier(): [VariableAccess] (__range) -# 1080| Type = [LValueReferenceType] const vector & -# 1080| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -#-----| Type = [SpecifiedType] const vector -#-----| ValueCategory = lvalue -# 1080| getDeclarationEntry(1): [VariableDeclarationEntry] declaration of (__end) -# 1080| Type = [NestedStruct] iterator -#-----| getVariable().getInitializer(): [Initializer] initializer for (__end) -# 1080| getExpr(): [FunctionCall] call to end -# 1080| Type = [NestedStruct] iterator -# 1080| ValueCategory = prvalue -# 1080| getQualifier(): [VariableAccess] (__range) -# 1080| Type = [LValueReferenceType] const vector & -# 1080| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -#-----| Type = [SpecifiedType] const vector -#-----| ValueCategory = lvalue -# 1080| getCondition(): [FunctionCall] call to operator!= -# 1080| Type = [BoolType] bool -# 1080| ValueCategory = prvalue -# 1080| getQualifier(): [VariableAccess] (__begin) -# 1080| Type = [NestedStruct] iterator -# 1080| ValueCategory = lvalue -# 1080| getArgument(0): [VariableAccess] (__end) -# 1080| Type = [NestedStruct] iterator -# 1080| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const iterator -#-----| ValueCategory = lvalue -# 1080| getUpdate(): [FunctionCall] call to operator++ -# 1080| Type = [LValueReferenceType] iterator & -# 1080| ValueCategory = prvalue -# 1080| getQualifier(): [VariableAccess] (__begin) -# 1080| Type = [NestedStruct] iterator -# 1080| ValueCategory = lvalue -# 1080| getChild(5): [DeclStmt] declaration -# 1080| getDeclarationEntry(0): [VariableDeclarationEntry] definition of e -# 1080| Type = [IntType] int -# 1080| getVariable().getInitializer(): [Initializer] initializer for e -# 1080| getExpr(): [OverloadedPointerDereferenceExpr] call to operator* -# 1080| Type = [LValueReferenceType] int & -# 1080| ValueCategory = prvalue -# 1080| getQualifier(): [VariableAccess] (__begin) -# 1080| Type = [NestedStruct] iterator -# 1080| ValueCategory = lvalue -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const iterator -#-----| ValueCategory = lvalue -# 1080| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1080| Type = [IntType] int -# 1080| ValueCategory = prvalue(load) -# 1080| getStmt(): [BlockStmt] { ... } -# 1081| getStmt(0): [IfStmt] if (...) ... -# 1081| getCondition(): [GTExpr] ... > ... -# 1081| Type = [BoolType] bool -# 1081| ValueCategory = prvalue -# 1081| getGreaterOperand(): [VariableAccess] e -# 1081| Type = [IntType] int -# 1081| ValueCategory = prvalue(load) -# 1081| getLesserOperand(): [Literal] 0 -# 1081| Type = [IntType] int -# 1081| Value = [Literal] 0 -# 1081| ValueCategory = prvalue -# 1081| getThen(): [BlockStmt] { ... } -# 1082| getStmt(0): [ContinueStmt] continue; -# 1080| getStmt(1): [LabelStmt] label ...: -# 1080| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1080| Type = [NestedStruct] iterator -# 1080| ValueCategory = lvalue -# 1086| getStmt(1): [RangeBasedForStmt] for(...:...) ... -# 1086| getChild(1): [DeclStmt] declaration -# 1086| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__range) -# 1086| Type = [LValueReferenceType] const vector & -#-----| getVariable().getInitializer(): [Initializer] initializer for (__range) -# 1086| getExpr(): [VariableAccess] v -# 1086| Type = [LValueReferenceType] const vector & -# 1086| ValueCategory = prvalue(load) -# 1086| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1086| Type = [LValueReferenceType] const vector & -# 1086| ValueCategory = prvalue -# 1086| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1086| Type = [SpecifiedType] const vector -# 1086| ValueCategory = lvalue -# 1086| getBeginEndDeclaration(): [DeclStmt] declaration -# 1086| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__begin) -# 1086| Type = [NestedStruct] iterator -#-----| getVariable().getInitializer(): [Initializer] initializer for (__begin) -# 1086| getExpr(): [FunctionCall] call to begin -# 1086| Type = [NestedStruct] iterator -# 1086| ValueCategory = prvalue -# 1086| getQualifier(): [VariableAccess] (__range) -# 1086| Type = [LValueReferenceType] const vector & -# 1086| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -#-----| Type = [SpecifiedType] const vector -#-----| ValueCategory = lvalue -# 1086| getDeclarationEntry(1): [VariableDeclarationEntry] declaration of (__end) -# 1086| Type = [NestedStruct] iterator -#-----| getVariable().getInitializer(): [Initializer] initializer for (__end) -# 1086| getExpr(): [FunctionCall] call to end -# 1086| Type = [NestedStruct] iterator -# 1086| ValueCategory = prvalue -# 1086| getQualifier(): [VariableAccess] (__range) -# 1086| Type = [LValueReferenceType] const vector & -# 1086| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -#-----| Type = [SpecifiedType] const vector -#-----| ValueCategory = lvalue -# 1086| getCondition(): [FunctionCall] call to operator!= -# 1086| Type = [BoolType] bool -# 1086| ValueCategory = prvalue -# 1086| getQualifier(): [VariableAccess] (__begin) -# 1086| Type = [NestedStruct] iterator -# 1086| ValueCategory = lvalue -# 1086| getArgument(0): [VariableAccess] (__end) -# 1086| Type = [NestedStruct] iterator -# 1086| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const iterator -#-----| ValueCategory = lvalue -# 1086| getUpdate(): [FunctionCall] call to operator++ -# 1086| Type = [LValueReferenceType] iterator & -# 1086| ValueCategory = prvalue -# 1086| getQualifier(): [VariableAccess] (__begin) -# 1086| Type = [NestedStruct] iterator -# 1086| ValueCategory = lvalue -# 1086| getChild(5): [DeclStmt] declaration -# 1086| getDeclarationEntry(0): [VariableDeclarationEntry] definition of e -# 1086| Type = [LValueReferenceType] const int & -# 1086| getVariable().getInitializer(): [Initializer] initializer for e -# 1086| getExpr(): [OverloadedPointerDereferenceExpr] call to operator* -# 1086| Type = [LValueReferenceType] int & -# 1086| ValueCategory = prvalue -# 1086| getQualifier(): [VariableAccess] (__begin) -# 1086| Type = [NestedStruct] iterator -# 1086| ValueCategory = lvalue -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const iterator -#-----| ValueCategory = lvalue -# 1086| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1086| Type = [LValueReferenceType] const int & -# 1086| ValueCategory = prvalue -# 1086| getExpr(): [CStyleCast] (const int)... -# 1086| Conversion = [GlvalueConversion] glvalue conversion -# 1086| Type = [SpecifiedType] const int -# 1086| ValueCategory = lvalue -# 1086| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1086| Type = [IntType] int -# 1086| ValueCategory = lvalue -# 1086| getStmt(): [BlockStmt] { ... } -# 1087| getStmt(0): [IfStmt] if (...) ... -# 1087| getCondition(): [LTExpr] ... < ... -# 1087| Type = [BoolType] bool -# 1087| ValueCategory = prvalue -# 1087| getLesserOperand(): [VariableAccess] e -# 1087| Type = [LValueReferenceType] const int & -# 1087| ValueCategory = prvalue(load) -# 1087| getGreaterOperand(): [Literal] 5 -# 1087| Type = [IntType] int -# 1087| Value = [Literal] 5 -# 1087| ValueCategory = prvalue -# 1087| getLesserOperand().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1087| Type = [IntType] int -# 1087| ValueCategory = prvalue(load) -# 1087| getThen(): [BlockStmt] { ... } -# 1088| getStmt(0): [BreakStmt] break; -# 1086| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1086| Type = [NestedStruct] iterator -# 1086| ValueCategory = lvalue -# 1090| getStmt(2): [LabelStmt] label ...: -# 1091| getStmt(3): [ReturnStmt] return ... -# 1110| [TopLevelFunction] int AsmStmt(int) +# 1109| [Constructor] void std::vector::vector(ClassWithDestructor) +# 1109| : +# 1109| getParameter(0): [Parameter] (unnamed parameter 0) +# 1109| Type = [Class] ClassWithDestructor +# 1109| [Constructor] void std::vector::vector(String) +# 1109| : +# 1109| getParameter(0): [Parameter] (unnamed parameter 0) +# 1109| Type = [Struct] String +# 1109| [Constructor] void std::vector::vector(T) +# 1109| : +# 1109| getParameter(0): [Parameter] (unnamed parameter 0) +# 1109| Type = [TemplateParameter] T +# 1109| [Constructor] void std::vector::vector(char) +# 1109| : +# 1109| getParameter(0): [Parameter] (unnamed parameter 0) +# 1109| Type = [PlainCharType] char +# 1109| [Constructor] void std::vector::vector(int) +# 1109| : +# 1109| getParameter(0): [Parameter] (unnamed parameter 0) +# 1109| Type = [IntType] int +# 1110| [Destructor] void std::vector::~vector() # 1110| : -# 1110| getParameter(0): [Parameter] x -# 1110| Type = [IntType] int -# 1110| getEntryPoint(): [BlockStmt] { ... } -# 1111| getStmt(0): [AsmStmt] asm statement -# 1112| getStmt(1): [ReturnStmt] return ... -# 1112| getExpr(): [VariableAccess] x -# 1112| Type = [IntType] int -# 1112| ValueCategory = prvalue(load) -# 1115| [TopLevelFunction] void AsmStmtWithOutputs(unsigned int&, unsigned int, unsigned int&, unsigned int) +# 1110| [Destructor] void std::vector::~vector() +# 1110| : +# 1110| [Destructor] void std::vector::~vector() +# 1110| : +# 1115| [ConstMemberFunction] std::vector::iterator std::vector::begin() const # 1115| : -# 1115| getParameter(0): [Parameter] a -# 1115| Type = [LValueReferenceType] unsigned int & -# 1115| getParameter(1): [Parameter] b -# 1115| Type = [IntType] unsigned int -# 1115| getParameter(2): [Parameter] c -# 1115| Type = [LValueReferenceType] unsigned int & -# 1115| getParameter(3): [Parameter] d -# 1115| Type = [IntType] unsigned int -# 1116| getEntryPoint(): [BlockStmt] { ... } -# 1117| getStmt(0): [AsmStmt] asm statement -# 1120| getChild(0): [VariableAccess] a -# 1120| Type = [LValueReferenceType] unsigned int & -# 1120| ValueCategory = prvalue(load) -# 1120| getChild(1): [VariableAccess] b -# 1120| Type = [IntType] unsigned int -# 1120| ValueCategory = lvalue -# 1120| getChild(2): [VariableAccess] c -# 1120| Type = [LValueReferenceType] unsigned int & -# 1120| ValueCategory = prvalue(load) -# 1120| getChild(3): [VariableAccess] d -# 1120| Type = [IntType] unsigned int -# 1120| ValueCategory = prvalue(load) -# 1120| getChild(0).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1120| Type = [IntType] unsigned int -# 1120| ValueCategory = lvalue -# 1120| getChild(2).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1120| Type = [IntType] unsigned int -# 1120| ValueCategory = prvalue(load) -# 1122| getStmt(1): [ReturnStmt] return ... -# 1124| [TopLevelFunction] void ExternDeclarations() -# 1124| : -# 1125| getEntryPoint(): [BlockStmt] { ... } -# 1126| getStmt(0): [DeclStmt] declaration -# 1126| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of g -# 1126| Type = [IntType] int -# 1127| getStmt(1): [DeclStmt] declaration -# 1127| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 1127| Type = [IntType] int -# 1128| getStmt(2): [DeclStmt] declaration -# 1128| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 1128| Type = [IntType] int -# 1128| getDeclarationEntry(1): [FunctionDeclarationEntry] declaration of f -# 1128| Type = [IntType] int -# 1129| getStmt(3): [DeclStmt] declaration -# 1129| getDeclarationEntry(0): [FunctionDeclarationEntry] declaration of z -# 1129| Type = [IntType] int -# 1129| getDeclarationEntry(1): [FunctionDeclarationEntry] declaration of w -# 1129| Type = [IntType] int -# 1129| getDeclarationEntry(2): [VariableDeclarationEntry] definition of h -# 1129| Type = [IntType] int -# 1130| getStmt(4): [DeclStmt] declaration -# 1130| getDeclarationEntry(0): [TypeDeclarationEntry] declaration of d -# 1130| Type = [CTypedefType,LocalTypedefType] d -# 1131| getStmt(5): [ReturnStmt] return ... -# 1128| [TopLevelFunction] int f(float) -# 1128| : -# 1128| getParameter(0): [Parameter] (unnamed parameter 0) -# 1128| Type = [FloatType] float -# 1129| [TopLevelFunction] int z(float) -# 1129| : -# 1129| getParameter(0): [Parameter] (unnamed parameter 0) -# 1129| Type = [FloatType] float -# 1129| [TopLevelFunction] int w(float) -# 1129| : -# 1129| getParameter(0): [Parameter] (unnamed parameter 0) -# 1129| Type = [FloatType] float -# 1139| [TopLevelFunction] void ExternDeclarationsInMacro() -# 1139| : -# 1140| getEntryPoint(): [BlockStmt] { ... } -# 1141| getStmt(0): [DeclStmt] declaration -# 1141| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of g -# 1141| Type = [IntType] int -# 1141| getStmt(1): [ForStmt] for(...;...;...) ... -# 1141| getInitialization(): [DeclStmt] declaration -# 1141| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i -# 1141| Type = [IntType] int -# 1141| getVariable().getInitializer(): [Initializer] initializer for i -# 1141| getExpr(): [Literal] 0 -# 1141| Type = [IntType] int -# 1141| Value = [Literal] 0 -# 1141| ValueCategory = prvalue -# 1141| getCondition(): [LTExpr] ... < ... -# 1141| Type = [BoolType] bool -# 1141| ValueCategory = prvalue -# 1141| getLesserOperand(): [VariableAccess] i -# 1141| Type = [IntType] int -# 1141| ValueCategory = prvalue(load) -# 1141| getGreaterOperand(): [Literal] 10 -# 1141| Type = [IntType] int -# 1141| Value = [Literal] 10 -# 1141| ValueCategory = prvalue -# 1141| getUpdate(): [PrefixIncrExpr] ++ ... -# 1141| Type = [IntType] int -# 1141| ValueCategory = lvalue -# 1141| getOperand(): [VariableAccess] i -# 1141| Type = [IntType] int -# 1141| ValueCategory = lvalue -# 1141| getStmt(): [BlockStmt] { ... } -# 1141| getStmt(0): [DeclStmt] declaration -# 1141| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of g -# 1141| Type = [IntType] int -# 1141| getStmt(2): [EmptyStmt] ; -# 1142| getStmt(3): [ReturnStmt] return ... -# 1144| [TopLevelFunction] void TryCatchNoCatchAny(bool) -# 1144| : -# 1144| getParameter(0): [Parameter] b -# 1144| Type = [BoolType] bool -# 1144| getEntryPoint(): [BlockStmt] { ... } -# 1145| getStmt(0): [TryStmt] try { ... } -# 1145| getStmt(): [BlockStmt] { ... } -# 1146| getStmt(0): [DeclStmt] declaration -# 1146| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 1146| Type = [IntType] int -# 1146| getVariable().getInitializer(): [Initializer] initializer for x -# 1146| getExpr(): [Literal] 5 -# 1146| Type = [IntType] int -# 1146| Value = [Literal] 5 -# 1146| ValueCategory = prvalue -# 1147| getStmt(1): [IfStmt] if (...) ... -# 1147| getCondition(): [VariableAccess] b -# 1147| Type = [BoolType] bool -# 1147| ValueCategory = prvalue(load) -# 1147| getThen(): [BlockStmt] { ... } -# 1148| getStmt(0): [ExprStmt] ExprStmt -# 1148| getExpr(): [ThrowExpr] throw ... -# 1148| Type = [PointerType] const char * -# 1148| ValueCategory = prvalue -# 1148| getExpr(): string literal -# 1148| Type = [ArrayType] const char[15] -# 1148| Value = [StringLiteral] "string literal" -# 1148| ValueCategory = lvalue -# 1148| getExpr().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1148| Type = [PointerType] const char * -# 1148| ValueCategory = prvalue -# 1150| getElse(): [IfStmt] if (...) ... -# 1150| getCondition(): [LTExpr] ... < ... -# 1150| Type = [BoolType] bool -# 1150| ValueCategory = prvalue -# 1150| getLesserOperand(): [VariableAccess] x -# 1150| Type = [IntType] int -# 1150| ValueCategory = prvalue(load) -# 1150| getGreaterOperand(): [Literal] 2 -# 1150| Type = [IntType] int -# 1150| Value = [Literal] 2 -# 1150| ValueCategory = prvalue -# 1150| getThen(): [BlockStmt] { ... } -# 1151| getStmt(0): [ExprStmt] ExprStmt -# 1151| getExpr(): [AssignExpr] ... = ... -# 1151| Type = [IntType] int -# 1151| ValueCategory = lvalue -# 1151| getLValue(): [VariableAccess] x -# 1151| Type = [IntType] int -# 1151| ValueCategory = lvalue -# 1151| getRValue(): [ConditionalExpr] ... ? ... : ... -# 1151| Type = [IntType] int -# 1151| ValueCategory = prvalue -# 1151| getCondition(): [VariableAccess] b -# 1151| Type = [BoolType] bool -# 1151| ValueCategory = prvalue(load) -# 1151| getThen(): [Literal] 7 -# 1151| Type = [IntType] int -# 1151| Value = [Literal] 7 -# 1151| ValueCategory = prvalue -# 1151| getElse(): [ThrowExpr] throw ... -# 1151| Type = [Struct] String -# 1151| ValueCategory = prvalue -# 1151| getExpr(): [ConstructorCall] call to String -# 1151| Type = [VoidType] void -# 1151| ValueCategory = prvalue -# 1151| getArgument(0): String object -# 1151| Type = [ArrayType] const char[14] -# 1151| Value = [StringLiteral] "String object" -# 1151| ValueCategory = lvalue -# 1151| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1151| Type = [PointerType] const char * -# 1151| ValueCategory = prvalue -# 1153| getStmt(2): [ExprStmt] ExprStmt -# 1153| getExpr(): [AssignExpr] ... = ... -# 1153| Type = [IntType] int -# 1153| ValueCategory = lvalue -# 1153| getLValue(): [VariableAccess] x -# 1153| Type = [IntType] int -# 1153| ValueCategory = lvalue -# 1153| getRValue(): [Literal] 7 -# 1153| Type = [IntType] int -# 1153| Value = [Literal] 7 -# 1153| ValueCategory = prvalue -# 1155| getChild(1): [Handler] -# 1155| getBlock(): [CatchBlock] { ... } -# 1156| getStmt(0): [ExprStmt] ExprStmt -# 1156| getExpr(): [ThrowExpr] throw ... -# 1156| Type = [Struct] String -# 1156| ValueCategory = prvalue -# 1156| getExpr(): [ConstructorCall] call to String -# 1156| Type = [VoidType] void -# 1156| ValueCategory = prvalue -# 1156| getArgument(0): [VariableAccess] s -# 1156| Type = [PointerType] const char * -# 1156| ValueCategory = prvalue(load) -# 1158| getChild(2): [Handler] -# 1158| getBlock(): [CatchBlock] { ... } -# 1160| getStmt(1): [ReturnStmt] return ... -# 1164| [TopLevelFunction] void VectorTypes(int) -# 1164| : -# 1164| getParameter(0): [Parameter] i -# 1164| Type = [IntType] int -# 1164| getEntryPoint(): [BlockStmt] { ... } -# 1165| getStmt(0): [DeclStmt] declaration -# 1165| getDeclarationEntry(0): [VariableDeclarationEntry] definition of vi4 -# 1165| Type = [SpecifiedType] __attribute((vector_size(16UL))) int -# 1165| getVariable().getInitializer(): [Initializer] initializer for vi4 -# 1165| getExpr(): [VectorAggregateLiteral] {...} -# 1165| Type = [GNUVectorType] __attribute((vector_size(16UL))) int -# 1165| ValueCategory = prvalue -# 1165| getAnElementExpr(0): [Literal] 0 -# 1165| Type = [IntType] int -# 1165| Value = [Literal] 0 -# 1165| ValueCategory = prvalue -# 1165| getAnElementExpr(1): [Literal] 1 -# 1165| Type = [IntType] int -# 1165| Value = [Literal] 1 -# 1165| ValueCategory = prvalue -# 1165| getAnElementExpr(2): [Literal] 2 -# 1165| Type = [IntType] int -# 1165| Value = [Literal] 2 -# 1165| ValueCategory = prvalue -# 1165| getAnElementExpr(3): [Literal] 3 -# 1165| Type = [IntType] int -# 1165| Value = [Literal] 3 -# 1165| ValueCategory = prvalue -# 1166| getStmt(1): [DeclStmt] declaration -# 1166| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 1166| Type = [IntType] int -# 1166| getVariable().getInitializer(): [Initializer] initializer for x -# 1166| getExpr(): [ArrayExpr] access to array -# 1166| Type = [IntType] int -# 1166| ValueCategory = prvalue(load) -# 1166| getArrayBase(): [VariableAccess] vi4 -# 1166| Type = [SpecifiedType] __attribute((vector_size(16UL))) int -# 1166| ValueCategory = lvalue -# 1166| getArrayOffset(): [VariableAccess] i -# 1166| Type = [IntType] int -# 1166| ValueCategory = prvalue(load) -# 1167| getStmt(2): [ExprStmt] ExprStmt -# 1167| getExpr(): [AssignExpr] ... = ... -# 1167| Type = [IntType] int +# 1115| [ConstMemberFunction] std::vector::iterator std::vector::begin() const +# 1115| : +# 1115| [ConstMemberFunction] std::vector::iterator std::vector::begin() const +# 1115| : +# 1115| [ConstMemberFunction] std::vector::iterator std::vector::begin() const +# 1115| : +# 1115| [ConstMemberFunction] std::vector::iterator std::vector::begin() const +# 1115| : +# 1116| [ConstMemberFunction] std::vector::iterator std::vector::end() const +# 1116| : +# 1116| [ConstMemberFunction] std::vector::iterator std::vector::end() const +# 1116| : +# 1116| [ConstMemberFunction] std::vector::iterator std::vector::end() const +# 1116| : +# 1116| [ConstMemberFunction] std::vector::iterator std::vector::end() const +# 1116| : +# 1116| [ConstMemberFunction] std::vector::iterator std::vector::end() const +# 1116| : +# 1120| [Operator,TemplateFunction,TopLevelFunction] bool std::operator==(iterator, iterator) +# 1120| : +# 1120| getParameter(0): [Parameter] left +# 1120| Type = [TemplateParameter] iterator +# 1120| getParameter(1): [Parameter] right +# 1120| Type = [TemplateParameter] iterator +# 1122| [Operator,TemplateFunction,TopLevelFunction] bool std::operator!=(iterator, iterator) +# 1122| : +# 1122| getParameter(0): [Parameter] left +# 1122| Type = [TemplateParameter] iterator +# 1122| getParameter(1): [Parameter] right +# 1122| Type = [TemplateParameter] iterator +# 1126| [TopLevelFunction] void RangeBasedFor(std::vector const&) +# 1126| : +# 1126| getParameter(0): [Parameter] v +# 1126| Type = [LValueReferenceType] const vector & +# 1126| getEntryPoint(): [BlockStmt] { ... } +# 1127| getStmt(0): [RangeBasedForStmt] for(...:...) ... +# 1127| getChild(1): [DeclStmt] declaration +# 1127| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__range) +# 1127| Type = [LValueReferenceType] const vector & +#-----| getVariable().getInitializer(): [Initializer] initializer for (__range) +# 1127| getExpr(): [VariableAccess] v +# 1127| Type = [LValueReferenceType] const vector & +# 1127| ValueCategory = prvalue(load) +# 1127| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1127| Type = [LValueReferenceType] const vector & +# 1127| ValueCategory = prvalue +# 1127| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1127| Type = [SpecifiedType] const vector +# 1127| ValueCategory = lvalue +# 1127| getBeginEndDeclaration(): [DeclStmt] declaration +# 1127| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__begin) +# 1127| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +#-----| getVariable().getInitializer(): [Initializer] initializer for (__begin) +# 1127| getExpr(): [FunctionCall] call to begin +# 1127| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 1127| ValueCategory = prvalue +# 1127| getQualifier(): [VariableAccess] (__range) +# 1127| Type = [LValueReferenceType] const vector & +# 1127| ValueCategory = prvalue(load) +#-----| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +#-----| Type = [SpecifiedType] const vector +#-----| ValueCategory = lvalue +# 1127| getDeclarationEntry(1): [VariableDeclarationEntry] declaration of (__end) +# 1127| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +#-----| getVariable().getInitializer(): [Initializer] initializer for (__end) +# 1127| getExpr(): [FunctionCall] call to end +# 1127| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 1127| ValueCategory = prvalue +# 1127| getQualifier(): [VariableAccess] (__range) +# 1127| Type = [LValueReferenceType] const vector & +# 1127| ValueCategory = prvalue(load) +#-----| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +#-----| Type = [SpecifiedType] const vector +#-----| ValueCategory = lvalue +# 1127| getCondition(): [FunctionCall] call to operator!= +# 1127| Type = [BoolType] bool +# 1127| ValueCategory = prvalue +# 1127| getQualifier(): [VariableAccess] (__begin) +# 1127| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 1127| ValueCategory = lvalue +# 1127| getArgument(0): [ConstructorCall] call to iterator +# 1127| Type = [VoidType] void +# 1127| ValueCategory = prvalue +# 1127| getArgument(0): [VariableAccess] (__end) +# 1127| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 1127| ValueCategory = lvalue +#-----| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +#-----| Type = [LValueReferenceType] const iterator & +#-----| ValueCategory = prvalue +#-----| getExpr(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +#-----| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object +#-----| Type = [ClassTemplateInstantiation,Struct] iterator +#-----| ValueCategory = lvalue +# 1127| getUpdate(): [FunctionCall] call to operator++ +# 1127| Type = [LValueReferenceType] iterator & +# 1127| ValueCategory = prvalue +# 1127| getQualifier(): [VariableAccess] (__begin) +# 1127| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 1127| ValueCategory = lvalue +# 1127| getChild(5): [DeclStmt] declaration +# 1127| getDeclarationEntry(0): [VariableDeclarationEntry] definition of e +# 1127| Type = [IntType] int +# 1127| getVariable().getInitializer(): [Initializer] initializer for e +# 1127| getExpr(): [OverloadedPointerDereferenceExpr] call to operator* +# 1127| Type = [LValueReferenceType] int & +# 1127| ValueCategory = prvalue +# 1127| getQualifier(): [VariableAccess] (__begin) +# 1127| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 1127| ValueCategory = lvalue +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +# 1127| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1127| Type = [IntType] int +# 1127| ValueCategory = prvalue(load) +# 1127| getStmt(): [BlockStmt] { ... } +# 1128| getStmt(0): [IfStmt] if (...) ... +# 1128| getCondition(): [GTExpr] ... > ... +# 1128| Type = [BoolType] bool +# 1128| ValueCategory = prvalue +# 1128| getGreaterOperand(): [VariableAccess] e +# 1128| Type = [IntType] int +# 1128| ValueCategory = prvalue(load) +# 1128| getLesserOperand(): [Literal] 0 +# 1128| Type = [IntType] int +# 1128| Value = [Literal] 0 +# 1128| ValueCategory = prvalue +# 1128| getThen(): [BlockStmt] { ... } +# 1129| getStmt(0): [ContinueStmt] continue; +# 1127| getStmt(1): [LabelStmt] label ...: +# 1127| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1127| Type = [ClassTemplateInstantiation,Struct] iterator +# 1127| ValueCategory = lvalue +# 1133| getStmt(1): [RangeBasedForStmt] for(...:...) ... +# 1133| getChild(1): [DeclStmt] declaration +# 1133| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__range) +# 1133| Type = [LValueReferenceType] const vector & +#-----| getVariable().getInitializer(): [Initializer] initializer for (__range) +# 1133| getExpr(): [VariableAccess] v +# 1133| Type = [LValueReferenceType] const vector & +# 1133| ValueCategory = prvalue(load) +# 1133| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1133| Type = [LValueReferenceType] const vector & +# 1133| ValueCategory = prvalue +# 1133| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1133| Type = [SpecifiedType] const vector +# 1133| ValueCategory = lvalue +# 1133| getBeginEndDeclaration(): [DeclStmt] declaration +# 1133| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__begin) +# 1133| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +#-----| getVariable().getInitializer(): [Initializer] initializer for (__begin) +# 1133| getExpr(): [FunctionCall] call to begin +# 1133| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 1133| ValueCategory = prvalue +# 1133| getQualifier(): [VariableAccess] (__range) +# 1133| Type = [LValueReferenceType] const vector & +# 1133| ValueCategory = prvalue(load) +#-----| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +#-----| Type = [SpecifiedType] const vector +#-----| ValueCategory = lvalue +# 1133| getDeclarationEntry(1): [VariableDeclarationEntry] declaration of (__end) +# 1133| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +#-----| getVariable().getInitializer(): [Initializer] initializer for (__end) +# 1133| getExpr(): [FunctionCall] call to end +# 1133| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 1133| ValueCategory = prvalue +# 1133| getQualifier(): [VariableAccess] (__range) +# 1133| Type = [LValueReferenceType] const vector & +# 1133| ValueCategory = prvalue(load) +#-----| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +#-----| Type = [SpecifiedType] const vector +#-----| ValueCategory = lvalue +# 1133| getCondition(): [FunctionCall] call to operator!= +# 1133| Type = [BoolType] bool +# 1133| ValueCategory = prvalue +# 1133| getQualifier(): [VariableAccess] (__begin) +# 1133| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 1133| ValueCategory = lvalue +# 1133| getArgument(0): [ConstructorCall] call to iterator +# 1133| Type = [VoidType] void +# 1133| ValueCategory = prvalue +# 1133| getArgument(0): [VariableAccess] (__end) +# 1133| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 1133| ValueCategory = lvalue +#-----| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +#-----| Type = [LValueReferenceType] const iterator & +#-----| ValueCategory = prvalue +#-----| getExpr(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +#-----| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object +#-----| Type = [ClassTemplateInstantiation,Struct] iterator +#-----| ValueCategory = lvalue +# 1133| getUpdate(): [FunctionCall] call to operator++ +# 1133| Type = [LValueReferenceType] iterator & +# 1133| ValueCategory = prvalue +# 1133| getQualifier(): [VariableAccess] (__begin) +# 1133| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 1133| ValueCategory = lvalue +# 1133| getChild(5): [DeclStmt] declaration +# 1133| getDeclarationEntry(0): [VariableDeclarationEntry] definition of e +# 1133| Type = [LValueReferenceType] const int & +# 1133| getVariable().getInitializer(): [Initializer] initializer for e +# 1133| getExpr(): [OverloadedPointerDereferenceExpr] call to operator* +# 1133| Type = [LValueReferenceType] int & +# 1133| ValueCategory = prvalue +# 1133| getQualifier(): [VariableAccess] (__begin) +# 1133| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 1133| ValueCategory = lvalue +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +# 1133| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1133| Type = [LValueReferenceType] const int & +# 1133| ValueCategory = prvalue +# 1133| getExpr(): [CStyleCast] (const int)... +# 1133| Conversion = [GlvalueConversion] glvalue conversion +# 1133| Type = [SpecifiedType] const int +# 1133| ValueCategory = lvalue +# 1133| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1133| Type = [IntType] int +# 1133| ValueCategory = lvalue +# 1133| getStmt(): [BlockStmt] { ... } +# 1134| getStmt(0): [IfStmt] if (...) ... +# 1134| getCondition(): [LTExpr] ... < ... +# 1134| Type = [BoolType] bool +# 1134| ValueCategory = prvalue +# 1134| getLesserOperand(): [VariableAccess] e +# 1134| Type = [LValueReferenceType] const int & +# 1134| ValueCategory = prvalue(load) +# 1134| getGreaterOperand(): [Literal] 5 +# 1134| Type = [IntType] int +# 1134| Value = [Literal] 5 +# 1134| ValueCategory = prvalue +# 1134| getLesserOperand().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1134| Type = [IntType] int +# 1134| ValueCategory = prvalue(load) +# 1134| getThen(): [BlockStmt] { ... } +# 1135| getStmt(0): [BreakStmt] break; +# 1133| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1133| Type = [ClassTemplateInstantiation,Struct] iterator +# 1133| ValueCategory = lvalue +# 1137| getStmt(2): [LabelStmt] label ...: +# 1138| getStmt(3): [ReturnStmt] return ... +# 1157| [TopLevelFunction] int AsmStmt(int) +# 1157| : +# 1157| getParameter(0): [Parameter] x +# 1157| Type = [IntType] int +# 1157| getEntryPoint(): [BlockStmt] { ... } +# 1158| getStmt(0): [AsmStmt] asm statement +# 1159| getStmt(1): [ReturnStmt] return ... +# 1159| getExpr(): [VariableAccess] x +# 1159| Type = [IntType] int +# 1159| ValueCategory = prvalue(load) +# 1162| [TopLevelFunction] void AsmStmtWithOutputs(unsigned int&, unsigned int, unsigned int&, unsigned int) +# 1162| : +# 1162| getParameter(0): [Parameter] a +# 1162| Type = [LValueReferenceType] unsigned int & +# 1162| getParameter(1): [Parameter] b +# 1162| Type = [IntType] unsigned int +# 1162| getParameter(2): [Parameter] c +# 1162| Type = [LValueReferenceType] unsigned int & +# 1162| getParameter(3): [Parameter] d +# 1162| Type = [IntType] unsigned int +# 1163| getEntryPoint(): [BlockStmt] { ... } +# 1164| getStmt(0): [AsmStmt] asm statement +# 1167| getChild(0): [VariableAccess] a +# 1167| Type = [LValueReferenceType] unsigned int & +# 1167| ValueCategory = prvalue(load) +# 1167| getChild(1): [VariableAccess] b +# 1167| Type = [IntType] unsigned int # 1167| ValueCategory = lvalue -# 1167| getLValue(): [ArrayExpr] access to array -# 1167| Type = [IntType] int -# 1167| ValueCategory = lvalue -# 1167| getArrayBase(): [VariableAccess] vi4 -# 1167| Type = [SpecifiedType] __attribute((vector_size(16UL))) int -# 1167| ValueCategory = lvalue -# 1167| getArrayOffset(): [VariableAccess] i -# 1167| Type = [IntType] int -# 1167| ValueCategory = prvalue(load) -# 1167| getRValue(): [VariableAccess] x -# 1167| Type = [IntType] int -# 1167| ValueCategory = prvalue(load) -# 1168| getStmt(3): [DeclStmt] declaration -# 1168| getDeclarationEntry(0): [VariableDeclarationEntry] definition of vi4_shuffle -# 1168| Type = [SpecifiedType] __attribute((vector_size(16UL))) int -# 1168| getVariable().getInitializer(): [Initializer] initializer for vi4_shuffle -# 1168| getExpr(): [BuiltInOperationBuiltInShuffleVector] __builtin_shufflevector -# 1168| Type = [GNUVectorType] __attribute((vector_size(16))) int -# 1168| ValueCategory = prvalue -# 1168| getChild(0): [VariableAccess] vi4 -# 1168| Type = [SpecifiedType] __attribute((vector_size(16UL))) int -# 1168| ValueCategory = prvalue(load) -# 1168| getChild(1): [VariableAccess] vi4 -# 1168| Type = [SpecifiedType] __attribute((vector_size(16UL))) int -# 1168| ValueCategory = prvalue(load) -# 1168| getChild(2): [AddExpr] ... + ... -# 1168| Type = [IntType] int -# 1168| Value = [AddExpr] 3 -# 1168| ValueCategory = prvalue -# 1168| getLeftOperand(): [Literal] 3 -# 1168| Type = [IntType] int -# 1168| Value = [Literal] 3 -# 1168| ValueCategory = prvalue -# 1168| getRightOperand(): [Literal] 0 -# 1168| Type = [IntType] int -# 1168| Value = [Literal] 0 -# 1168| ValueCategory = prvalue -# 1168| getChild(3): [Literal] 2 -# 1168| Type = [IntType] int -# 1168| Value = [Literal] 2 -# 1168| ValueCategory = prvalue -# 1168| getChild(4): [Literal] 1 -# 1168| Type = [IntType] int -# 1168| Value = [Literal] 1 -# 1168| ValueCategory = prvalue -# 1168| getChild(5): [Literal] 0 -# 1168| Type = [IntType] int -# 1168| Value = [Literal] 0 -# 1168| ValueCategory = prvalue -# 1169| getStmt(4): [ExprStmt] ExprStmt -# 1169| getExpr(): [AssignExpr] ... = ... -# 1169| Type = [SpecifiedType] __attribute((vector_size(16UL))) int -# 1169| ValueCategory = lvalue -# 1169| getLValue(): [VariableAccess] vi4 -# 1169| Type = [SpecifiedType] __attribute((vector_size(16UL))) int -# 1169| ValueCategory = lvalue -# 1169| getRValue(): [AddExpr] ... + ... -# 1169| Type = [GNUVectorType] __attribute((vector_size(16UL))) int -# 1169| ValueCategory = prvalue -# 1169| getLeftOperand(): [VariableAccess] vi4 -# 1169| Type = [SpecifiedType] __attribute((vector_size(16UL))) int -# 1169| ValueCategory = prvalue(load) -# 1169| getRightOperand(): [VariableAccess] vi4_shuffle -# 1169| Type = [SpecifiedType] __attribute((vector_size(16UL))) int -# 1169| ValueCategory = prvalue(load) -# 1170| getStmt(5): [ReturnStmt] return ... -# 1172| [TopLevelFunction] void* memcpy(void*, void*, int) -# 1172| : -# 1172| getParameter(0): [Parameter] dst -# 1172| Type = [VoidPointerType] void * -# 1172| getParameter(1): [Parameter] src -# 1172| Type = [VoidPointerType] void * -# 1172| getParameter(2): [Parameter] size -# 1172| Type = [IntType] int -# 1174| [TopLevelFunction] int ModeledCallTarget(int) -# 1174| : -# 1174| getParameter(0): [Parameter] x -# 1174| Type = [IntType] int -# 1174| getEntryPoint(): [BlockStmt] { ... } -# 1175| getStmt(0): [DeclStmt] declaration +# 1167| getChild(2): [VariableAccess] c +# 1167| Type = [LValueReferenceType] unsigned int & +# 1167| ValueCategory = prvalue(load) +# 1167| getChild(3): [VariableAccess] d +# 1167| Type = [IntType] unsigned int +# 1167| ValueCategory = prvalue(load) +# 1167| getChild(0).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1167| Type = [IntType] unsigned int +# 1167| ValueCategory = lvalue +# 1167| getChild(2).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1167| Type = [IntType] unsigned int +# 1167| ValueCategory = prvalue(load) +# 1169| getStmt(1): [ReturnStmt] return ... +# 1171| [TopLevelFunction] void ExternDeclarations() +# 1171| : +# 1172| getEntryPoint(): [BlockStmt] { ... } +# 1173| getStmt(0): [DeclStmt] declaration +# 1173| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of g +# 1173| Type = [IntType] int +# 1174| getStmt(1): [DeclStmt] declaration +# 1174| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 1174| Type = [IntType] int +# 1175| getStmt(2): [DeclStmt] declaration # 1175| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y # 1175| Type = [IntType] int -# 1176| getStmt(1): [ExprStmt] ExprStmt -# 1176| getExpr(): [FunctionCall] call to memcpy -# 1176| Type = [VoidPointerType] void * -# 1176| ValueCategory = prvalue -# 1176| getArgument(0): [AddressOfExpr] & ... -# 1176| Type = [IntPointerType] int * -# 1176| ValueCategory = prvalue -# 1176| getOperand(): [VariableAccess] y -# 1176| Type = [IntType] int -# 1176| ValueCategory = lvalue -# 1176| getArgument(1): [AddressOfExpr] & ... -# 1176| Type = [IntPointerType] int * -# 1176| ValueCategory = prvalue -# 1176| getOperand(): [VariableAccess] x -# 1176| Type = [IntType] int -# 1176| ValueCategory = lvalue -# 1176| getArgument(2): [SizeofTypeOperator] sizeof(int) -# 1176| Type = [LongType] unsigned long -# 1176| Value = [SizeofTypeOperator] 4 -# 1176| ValueCategory = prvalue -# 1176| getArgument(0).getFullyConverted(): [CStyleCast] (void *)... -# 1176| Conversion = [PointerConversion] pointer conversion -# 1176| Type = [VoidPointerType] void * -# 1176| ValueCategory = prvalue -# 1176| getArgument(1).getFullyConverted(): [CStyleCast] (void *)... -# 1176| Conversion = [PointerConversion] pointer conversion -# 1176| Type = [VoidPointerType] void * -# 1176| ValueCategory = prvalue -# 1176| getArgument(2).getFullyConverted(): [CStyleCast] (int)... -# 1176| Conversion = [IntegralConversion] integral conversion -# 1176| Type = [IntType] int -# 1176| Value = [CStyleCast] 4 -# 1176| ValueCategory = prvalue -# 1177| getStmt(2): [ReturnStmt] return ... -# 1177| getExpr(): [VariableAccess] y -# 1177| Type = [IntType] int -# 1177| ValueCategory = prvalue(load) -# 1180| [TopLevelFunction] String ReturnObjectImpl() -# 1180| : -# 1180| getEntryPoint(): [BlockStmt] { ... } -# 1181| getStmt(0): [ReturnStmt] return ... -# 1181| getExpr(): [ConstructorCall] call to String -# 1181| Type = [VoidType] void -# 1181| ValueCategory = prvalue -# 1181| getArgument(0): foo -# 1181| Type = [ArrayType] const char[4] -# 1181| Value = [StringLiteral] "foo" -# 1181| ValueCategory = lvalue -# 1181| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1181| Type = [PointerType] const char * -# 1181| ValueCategory = prvalue -# 1184| [TopLevelFunction] void switch1Case(int) -# 1184| : -# 1184| getParameter(0): [Parameter] x -# 1184| Type = [IntType] int -# 1184| getEntryPoint(): [BlockStmt] { ... } -# 1185| getStmt(0): [DeclStmt] declaration -# 1185| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 1185| Type = [IntType] int -# 1185| getVariable().getInitializer(): [Initializer] initializer for y -# 1185| getExpr(): [Literal] 0 -# 1185| Type = [IntType] int -# 1185| Value = [Literal] 0 -# 1185| ValueCategory = prvalue -# 1186| getStmt(1): [SwitchStmt] switch (...) ... -# 1186| getExpr(): [VariableAccess] x -# 1186| Type = [IntType] int -# 1186| ValueCategory = prvalue(load) -# 1186| getStmt(): [BlockStmt] { ... } -# 1187| getStmt(0): [SwitchCase] case ...: -# 1187| getExpr(): [Literal] 1 -# 1187| Type = [IntType] int -# 1187| Value = [Literal] 1 -# 1187| ValueCategory = prvalue -# 1188| getStmt(1): [ExprStmt] ExprStmt -# 1188| getExpr(): [AssignExpr] ... = ... -# 1188| Type = [IntType] int -# 1188| ValueCategory = lvalue -# 1188| getLValue(): [VariableAccess] y +# 1175| getDeclarationEntry(1): [FunctionDeclarationEntry] declaration of f +# 1175| Type = [IntType] int +# 1176| getStmt(3): [DeclStmt] declaration +# 1176| getDeclarationEntry(0): [FunctionDeclarationEntry] declaration of z +# 1176| Type = [IntType] int +# 1176| getDeclarationEntry(1): [FunctionDeclarationEntry] declaration of w +# 1176| Type = [IntType] int +# 1176| getDeclarationEntry(2): [VariableDeclarationEntry] definition of h +# 1176| Type = [IntType] int +# 1177| getStmt(4): [DeclStmt] declaration +# 1177| getDeclarationEntry(0): [TypeDeclarationEntry] declaration of d +# 1177| Type = [CTypedefType,LocalTypedefType] d +# 1178| getStmt(5): [ReturnStmt] return ... +# 1175| [TopLevelFunction] int f(float) +# 1175| : +# 1175| getParameter(0): [Parameter] (unnamed parameter 0) +# 1175| Type = [FloatType] float +# 1176| [TopLevelFunction] int z(float) +# 1176| : +# 1176| getParameter(0): [Parameter] (unnamed parameter 0) +# 1176| Type = [FloatType] float +# 1176| [TopLevelFunction] int w(float) +# 1176| : +# 1176| getParameter(0): [Parameter] (unnamed parameter 0) +# 1176| Type = [FloatType] float +# 1186| [TopLevelFunction] void ExternDeclarationsInMacro() +# 1186| : +# 1187| getEntryPoint(): [BlockStmt] { ... } +# 1188| getStmt(0): [DeclStmt] declaration +# 1188| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of g +# 1188| Type = [IntType] int +# 1188| getStmt(1): [ForStmt] for(...;...;...) ... +# 1188| getInitialization(): [DeclStmt] declaration +# 1188| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i +# 1188| Type = [IntType] int +# 1188| getVariable().getInitializer(): [Initializer] initializer for i +# 1188| getExpr(): [Literal] 0 # 1188| Type = [IntType] int -# 1188| ValueCategory = lvalue -# 1188| getRValue(): [Literal] 2 -# 1188| Type = [IntType] int -# 1188| Value = [Literal] 2 +# 1188| Value = [Literal] 0 # 1188| ValueCategory = prvalue -# 1190| getStmt(2): [DeclStmt] declaration -# 1190| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z -# 1190| Type = [IntType] int -# 1190| getVariable().getInitializer(): [Initializer] initializer for z -# 1190| getExpr(): [VariableAccess] y -# 1190| Type = [IntType] int -# 1190| ValueCategory = prvalue(load) -# 1191| getStmt(3): [ReturnStmt] return ... -# 1193| [TopLevelFunction] void switch2Case_fallthrough(int) -# 1193| : -# 1193| getParameter(0): [Parameter] x -# 1193| Type = [IntType] int -# 1193| getEntryPoint(): [BlockStmt] { ... } -# 1194| getStmt(0): [DeclStmt] declaration -# 1194| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 1194| Type = [IntType] int -# 1194| getVariable().getInitializer(): [Initializer] initializer for y -# 1194| getExpr(): [Literal] 0 -# 1194| Type = [IntType] int -# 1194| Value = [Literal] 0 -# 1194| ValueCategory = prvalue -# 1195| getStmt(1): [SwitchStmt] switch (...) ... -# 1195| getExpr(): [VariableAccess] x -# 1195| Type = [IntType] int -# 1195| ValueCategory = prvalue(load) -# 1195| getStmt(): [BlockStmt] { ... } -# 1196| getStmt(0): [SwitchCase] case ...: -# 1196| getExpr(): [Literal] 1 -# 1196| Type = [IntType] int -# 1196| Value = [Literal] 1 -# 1196| ValueCategory = prvalue -# 1197| getStmt(1): [ExprStmt] ExprStmt -# 1197| getExpr(): [AssignExpr] ... = ... -# 1197| Type = [IntType] int -# 1197| ValueCategory = lvalue -# 1197| getLValue(): [VariableAccess] y -# 1197| Type = [IntType] int -# 1197| ValueCategory = lvalue -# 1197| getRValue(): [Literal] 2 -# 1197| Type = [IntType] int -# 1197| Value = [Literal] 2 +# 1188| getCondition(): [LTExpr] ... < ... +# 1188| Type = [BoolType] bool +# 1188| ValueCategory = prvalue +# 1188| getLesserOperand(): [VariableAccess] i +# 1188| Type = [IntType] int +# 1188| ValueCategory = prvalue(load) +# 1188| getGreaterOperand(): [Literal] 10 +# 1188| Type = [IntType] int +# 1188| Value = [Literal] 10 +# 1188| ValueCategory = prvalue +# 1188| getUpdate(): [PrefixIncrExpr] ++ ... +# 1188| Type = [IntType] int +# 1188| ValueCategory = lvalue +# 1188| getOperand(): [VariableAccess] i +# 1188| Type = [IntType] int +# 1188| ValueCategory = lvalue +# 1188| getStmt(): [BlockStmt] { ... } +# 1188| getStmt(0): [DeclStmt] declaration +# 1188| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of g +# 1188| Type = [IntType] int +# 1188| getStmt(2): [EmptyStmt] ; +# 1189| getStmt(3): [ReturnStmt] return ... +# 1191| [TopLevelFunction] void TryCatchNoCatchAny(bool) +# 1191| : +# 1191| getParameter(0): [Parameter] b +# 1191| Type = [BoolType] bool +# 1191| getEntryPoint(): [BlockStmt] { ... } +# 1192| getStmt(0): [TryStmt] try { ... } +# 1192| getStmt(): [BlockStmt] { ... } +# 1193| getStmt(0): [DeclStmt] declaration +# 1193| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 1193| Type = [IntType] int +# 1193| getVariable().getInitializer(): [Initializer] initializer for x +# 1193| getExpr(): [Literal] 5 +# 1193| Type = [IntType] int +# 1193| Value = [Literal] 5 +# 1193| ValueCategory = prvalue +# 1194| getStmt(1): [IfStmt] if (...) ... +# 1194| getCondition(): [VariableAccess] b +# 1194| Type = [BoolType] bool +# 1194| ValueCategory = prvalue(load) +# 1194| getThen(): [BlockStmt] { ... } +# 1195| getStmt(0): [ExprStmt] ExprStmt +# 1195| getExpr(): [ThrowExpr] throw ... +# 1195| Type = [PointerType] const char * +# 1195| ValueCategory = prvalue +# 1195| getExpr(): string literal +# 1195| Type = [ArrayType] const char[15] +# 1195| Value = [StringLiteral] "string literal" +# 1195| ValueCategory = lvalue +# 1195| getExpr().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1195| Type = [PointerType] const char * +# 1195| ValueCategory = prvalue +# 1197| getElse(): [IfStmt] if (...) ... +# 1197| getCondition(): [LTExpr] ... < ... +# 1197| Type = [BoolType] bool # 1197| ValueCategory = prvalue -# 1198| getStmt(2): [SwitchCase] case ...: -# 1198| getExpr(): [Literal] 2 -# 1198| Type = [IntType] int -# 1198| Value = [Literal] 2 -# 1198| ValueCategory = prvalue -# 1199| getStmt(3): [ExprStmt] ExprStmt -# 1199| getExpr(): [AssignExpr] ... = ... -# 1199| Type = [IntType] int -# 1199| ValueCategory = lvalue -# 1199| getLValue(): [VariableAccess] y -# 1199| Type = [IntType] int -# 1199| ValueCategory = lvalue -# 1199| getRValue(): [Literal] 3 -# 1199| Type = [IntType] int -# 1199| Value = [Literal] 3 -# 1199| ValueCategory = prvalue -# 1201| getStmt(2): [DeclStmt] declaration -# 1201| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z -# 1201| Type = [IntType] int -# 1201| getVariable().getInitializer(): [Initializer] initializer for z -# 1201| getExpr(): [VariableAccess] y -# 1201| Type = [IntType] int -# 1201| ValueCategory = prvalue(load) -# 1202| getStmt(3): [ReturnStmt] return ... -# 1204| [TopLevelFunction] void switch2Case(int) -# 1204| : -# 1204| getParameter(0): [Parameter] x -# 1204| Type = [IntType] int -# 1204| getEntryPoint(): [BlockStmt] { ... } -# 1205| getStmt(0): [DeclStmt] declaration -# 1205| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 1205| Type = [IntType] int -# 1205| getVariable().getInitializer(): [Initializer] initializer for y -# 1205| getExpr(): [Literal] 0 -# 1205| Type = [IntType] int -# 1205| Value = [Literal] 0 -# 1205| ValueCategory = prvalue -# 1206| getStmt(1): [SwitchStmt] switch (...) ... -# 1206| getExpr(): [VariableAccess] x -# 1206| Type = [IntType] int -# 1206| ValueCategory = prvalue(load) -# 1206| getStmt(): [BlockStmt] { ... } -# 1207| getStmt(0): [SwitchCase] case ...: -# 1207| getExpr(): [Literal] 1 -# 1207| Type = [IntType] int -# 1207| Value = [Literal] 1 -# 1207| ValueCategory = prvalue -# 1208| getStmt(1): [ExprStmt] ExprStmt -# 1208| getExpr(): [AssignExpr] ... = ... -# 1208| Type = [IntType] int -# 1208| ValueCategory = lvalue -# 1208| getLValue(): [VariableAccess] y -# 1208| Type = [IntType] int -# 1208| ValueCategory = lvalue -# 1208| getRValue(): [Literal] 2 -# 1208| Type = [IntType] int -# 1208| Value = [Literal] 2 -# 1208| ValueCategory = prvalue -# 1209| getStmt(2): [BreakStmt] break; -# 1210| getStmt(3): [SwitchCase] case ...: -# 1210| getExpr(): [Literal] 2 -# 1210| Type = [IntType] int -# 1210| Value = [Literal] 2 -# 1210| ValueCategory = prvalue -# 1211| getStmt(4): [ExprStmt] ExprStmt -# 1211| getExpr(): [AssignExpr] ... = ... -# 1211| Type = [IntType] int -# 1211| ValueCategory = lvalue -# 1211| getLValue(): [VariableAccess] y -# 1211| Type = [IntType] int -# 1211| ValueCategory = lvalue -# 1211| getRValue(): [Literal] 3 -# 1211| Type = [IntType] int -# 1211| Value = [Literal] 3 -# 1211| ValueCategory = prvalue -# 1212| getStmt(2): [LabelStmt] label ...: -# 1213| getStmt(3): [DeclStmt] declaration -# 1213| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z +# 1197| getLesserOperand(): [VariableAccess] x +# 1197| Type = [IntType] int +# 1197| ValueCategory = prvalue(load) +# 1197| getGreaterOperand(): [Literal] 2 +# 1197| Type = [IntType] int +# 1197| Value = [Literal] 2 +# 1197| ValueCategory = prvalue +# 1197| getThen(): [BlockStmt] { ... } +# 1198| getStmt(0): [ExprStmt] ExprStmt +# 1198| getExpr(): [AssignExpr] ... = ... +# 1198| Type = [IntType] int +# 1198| ValueCategory = lvalue +# 1198| getLValue(): [VariableAccess] x +# 1198| Type = [IntType] int +# 1198| ValueCategory = lvalue +# 1198| getRValue(): [ConditionalExpr] ... ? ... : ... +# 1198| Type = [IntType] int +# 1198| ValueCategory = prvalue +# 1198| getCondition(): [VariableAccess] b +# 1198| Type = [BoolType] bool +# 1198| ValueCategory = prvalue(load) +# 1198| getThen(): [Literal] 7 +# 1198| Type = [IntType] int +# 1198| Value = [Literal] 7 +# 1198| ValueCategory = prvalue +# 1198| getElse(): [ThrowExpr] throw ... +# 1198| Type = [Struct] String +# 1198| ValueCategory = prvalue +# 1198| getExpr(): [ConstructorCall] call to String +# 1198| Type = [VoidType] void +# 1198| ValueCategory = prvalue +# 1198| getArgument(0): String object +# 1198| Type = [ArrayType] const char[14] +# 1198| Value = [StringLiteral] "String object" +# 1198| ValueCategory = lvalue +# 1198| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1198| Type = [PointerType] const char * +# 1198| ValueCategory = prvalue +# 1200| getStmt(2): [ExprStmt] ExprStmt +# 1200| getExpr(): [AssignExpr] ... = ... +# 1200| Type = [IntType] int +# 1200| ValueCategory = lvalue +# 1200| getLValue(): [VariableAccess] x +# 1200| Type = [IntType] int +# 1200| ValueCategory = lvalue +# 1200| getRValue(): [Literal] 7 +# 1200| Type = [IntType] int +# 1200| Value = [Literal] 7 +# 1200| ValueCategory = prvalue +# 1202| getChild(1): [Handler] +# 1202| getBlock(): [CatchBlock] { ... } +# 1203| getStmt(0): [ExprStmt] ExprStmt +# 1203| getExpr(): [ThrowExpr] throw ... +# 1203| Type = [Struct] String +# 1203| ValueCategory = prvalue +# 1203| getExpr(): [ConstructorCall] call to String +# 1203| Type = [VoidType] void +# 1203| ValueCategory = prvalue +# 1203| getArgument(0): [VariableAccess] s +# 1203| Type = [PointerType] const char * +# 1203| ValueCategory = prvalue(load) +# 1205| getChild(2): [Handler] +# 1205| getBlock(): [CatchBlock] { ... } +# 1207| getStmt(1): [ReturnStmt] return ... +# 1211| [TopLevelFunction] void VectorTypes(int) +# 1211| : +# 1211| getParameter(0): [Parameter] i +# 1211| Type = [IntType] int +# 1211| getEntryPoint(): [BlockStmt] { ... } +# 1212| getStmt(0): [DeclStmt] declaration +# 1212| getDeclarationEntry(0): [VariableDeclarationEntry] definition of vi4 +# 1212| Type = [SpecifiedType] __attribute((vector_size(16UL))) int +# 1212| getVariable().getInitializer(): [Initializer] initializer for vi4 +# 1212| getExpr(): [VectorAggregateLiteral] {...} +# 1212| Type = [GNUVectorType] __attribute((vector_size(16UL))) int +# 1212| ValueCategory = prvalue +# 1212| getAnElementExpr(0): [Literal] 0 +# 1212| Type = [IntType] int +# 1212| Value = [Literal] 0 +# 1212| ValueCategory = prvalue +# 1212| getAnElementExpr(1): [Literal] 1 +# 1212| Type = [IntType] int +# 1212| Value = [Literal] 1 +# 1212| ValueCategory = prvalue +# 1212| getAnElementExpr(2): [Literal] 2 +# 1212| Type = [IntType] int +# 1212| Value = [Literal] 2 +# 1212| ValueCategory = prvalue +# 1212| getAnElementExpr(3): [Literal] 3 +# 1212| Type = [IntType] int +# 1212| Value = [Literal] 3 +# 1212| ValueCategory = prvalue +# 1213| getStmt(1): [DeclStmt] declaration +# 1213| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x # 1213| Type = [IntType] int -# 1213| getVariable().getInitializer(): [Initializer] initializer for z -# 1213| getExpr(): [VariableAccess] y +# 1213| getVariable().getInitializer(): [Initializer] initializer for x +# 1213| getExpr(): [ArrayExpr] access to array # 1213| Type = [IntType] int # 1213| ValueCategory = prvalue(load) -# 1214| getStmt(4): [ReturnStmt] return ... -# 1216| [TopLevelFunction] void switch2Case_default(int) -# 1216| : -# 1216| getParameter(0): [Parameter] x -# 1216| Type = [IntType] int -# 1216| getEntryPoint(): [BlockStmt] { ... } -# 1217| getStmt(0): [DeclStmt] declaration -# 1217| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 1217| Type = [IntType] int -# 1217| getVariable().getInitializer(): [Initializer] initializer for y -# 1217| getExpr(): [Literal] 0 -# 1217| Type = [IntType] int -# 1217| Value = [Literal] 0 -# 1217| ValueCategory = prvalue -# 1218| getStmt(1): [SwitchStmt] switch (...) ... -# 1218| getExpr(): [VariableAccess] x -# 1218| Type = [IntType] int -# 1218| ValueCategory = prvalue(load) -# 1218| getStmt(): [BlockStmt] { ... } -# 1219| getStmt(0): [SwitchCase] case ...: -# 1219| getExpr(): [Literal] 1 -# 1219| Type = [IntType] int -# 1219| Value = [Literal] 1 -# 1219| ValueCategory = prvalue -# 1220| getStmt(1): [ExprStmt] ExprStmt -# 1220| getExpr(): [AssignExpr] ... = ... -# 1220| Type = [IntType] int -# 1220| ValueCategory = lvalue -# 1220| getLValue(): [VariableAccess] y -# 1220| Type = [IntType] int -# 1220| ValueCategory = lvalue -# 1220| getRValue(): [Literal] 2 -# 1220| Type = [IntType] int -# 1220| Value = [Literal] 2 -# 1220| ValueCategory = prvalue -# 1221| getStmt(2): [BreakStmt] break; -# 1223| getStmt(3): [SwitchCase] case ...: -# 1223| getExpr(): [Literal] 2 +# 1213| getArrayBase(): [VariableAccess] vi4 +# 1213| Type = [SpecifiedType] __attribute((vector_size(16UL))) int +# 1213| ValueCategory = lvalue +# 1213| getArrayOffset(): [VariableAccess] i +# 1213| Type = [IntType] int +# 1213| ValueCategory = prvalue(load) +# 1214| getStmt(2): [ExprStmt] ExprStmt +# 1214| getExpr(): [AssignExpr] ... = ... +# 1214| Type = [IntType] int +# 1214| ValueCategory = lvalue +# 1214| getLValue(): [ArrayExpr] access to array +# 1214| Type = [IntType] int +# 1214| ValueCategory = lvalue +# 1214| getArrayBase(): [VariableAccess] vi4 +# 1214| Type = [SpecifiedType] __attribute((vector_size(16UL))) int +# 1214| ValueCategory = lvalue +# 1214| getArrayOffset(): [VariableAccess] i +# 1214| Type = [IntType] int +# 1214| ValueCategory = prvalue(load) +# 1214| getRValue(): [VariableAccess] x +# 1214| Type = [IntType] int +# 1214| ValueCategory = prvalue(load) +# 1215| getStmt(3): [DeclStmt] declaration +# 1215| getDeclarationEntry(0): [VariableDeclarationEntry] definition of vi4_shuffle +# 1215| Type = [SpecifiedType] __attribute((vector_size(16UL))) int +# 1215| getVariable().getInitializer(): [Initializer] initializer for vi4_shuffle +# 1215| getExpr(): [BuiltInOperationBuiltInShuffleVector] __builtin_shufflevector +# 1215| Type = [GNUVectorType] __attribute((vector_size(16))) int +# 1215| ValueCategory = prvalue +# 1215| getChild(0): [VariableAccess] vi4 +# 1215| Type = [SpecifiedType] __attribute((vector_size(16UL))) int +# 1215| ValueCategory = prvalue(load) +# 1215| getChild(1): [VariableAccess] vi4 +# 1215| Type = [SpecifiedType] __attribute((vector_size(16UL))) int +# 1215| ValueCategory = prvalue(load) +# 1215| getChild(2): [AddExpr] ... + ... +# 1215| Type = [IntType] int +# 1215| Value = [AddExpr] 3 +# 1215| ValueCategory = prvalue +# 1215| getLeftOperand(): [Literal] 3 +# 1215| Type = [IntType] int +# 1215| Value = [Literal] 3 +# 1215| ValueCategory = prvalue +# 1215| getRightOperand(): [Literal] 0 +# 1215| Type = [IntType] int +# 1215| Value = [Literal] 0 +# 1215| ValueCategory = prvalue +# 1215| getChild(3): [Literal] 2 +# 1215| Type = [IntType] int +# 1215| Value = [Literal] 2 +# 1215| ValueCategory = prvalue +# 1215| getChild(4): [Literal] 1 +# 1215| Type = [IntType] int +# 1215| Value = [Literal] 1 +# 1215| ValueCategory = prvalue +# 1215| getChild(5): [Literal] 0 +# 1215| Type = [IntType] int +# 1215| Value = [Literal] 0 +# 1215| ValueCategory = prvalue +# 1216| getStmt(4): [ExprStmt] ExprStmt +# 1216| getExpr(): [AssignExpr] ... = ... +# 1216| Type = [SpecifiedType] __attribute((vector_size(16UL))) int +# 1216| ValueCategory = lvalue +# 1216| getLValue(): [VariableAccess] vi4 +# 1216| Type = [SpecifiedType] __attribute((vector_size(16UL))) int +# 1216| ValueCategory = lvalue +# 1216| getRValue(): [AddExpr] ... + ... +# 1216| Type = [GNUVectorType] __attribute((vector_size(16UL))) int +# 1216| ValueCategory = prvalue +# 1216| getLeftOperand(): [VariableAccess] vi4 +# 1216| Type = [SpecifiedType] __attribute((vector_size(16UL))) int +# 1216| ValueCategory = prvalue(load) +# 1216| getRightOperand(): [VariableAccess] vi4_shuffle +# 1216| Type = [SpecifiedType] __attribute((vector_size(16UL))) int +# 1216| ValueCategory = prvalue(load) +# 1217| getStmt(5): [ReturnStmt] return ... +# 1219| [TopLevelFunction] void* memcpy(void*, void*, int) +# 1219| : +# 1219| getParameter(0): [Parameter] dst +# 1219| Type = [VoidPointerType] void * +# 1219| getParameter(1): [Parameter] src +# 1219| Type = [VoidPointerType] void * +# 1219| getParameter(2): [Parameter] size +# 1219| Type = [IntType] int +# 1221| [TopLevelFunction] int ModeledCallTarget(int) +# 1221| : +# 1221| getParameter(0): [Parameter] x +# 1221| Type = [IntType] int +# 1221| getEntryPoint(): [BlockStmt] { ... } +# 1222| getStmt(0): [DeclStmt] declaration +# 1222| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 1222| Type = [IntType] int +# 1223| getStmt(1): [ExprStmt] ExprStmt +# 1223| getExpr(): [FunctionCall] call to memcpy +# 1223| Type = [VoidPointerType] void * +# 1223| ValueCategory = prvalue +# 1223| getArgument(0): [AddressOfExpr] & ... +# 1223| Type = [IntPointerType] int * +# 1223| ValueCategory = prvalue +# 1223| getOperand(): [VariableAccess] y # 1223| Type = [IntType] int -# 1223| Value = [Literal] 2 -# 1223| ValueCategory = prvalue -# 1224| getStmt(4): [ExprStmt] ExprStmt -# 1224| getExpr(): [AssignExpr] ... = ... -# 1224| Type = [IntType] int -# 1224| ValueCategory = lvalue -# 1224| getLValue(): [VariableAccess] y -# 1224| Type = [IntType] int -# 1224| ValueCategory = lvalue -# 1224| getRValue(): [Literal] 3 -# 1224| Type = [IntType] int -# 1224| Value = [Literal] 3 -# 1224| ValueCategory = prvalue -# 1225| getStmt(5): [BreakStmt] break; -# 1227| getStmt(6): [SwitchCase] default: -# 1228| getStmt(7): [ExprStmt] ExprStmt -# 1228| getExpr(): [AssignExpr] ... = ... -# 1228| Type = [IntType] int -# 1228| ValueCategory = lvalue -# 1228| getLValue(): [VariableAccess] y -# 1228| Type = [IntType] int -# 1228| ValueCategory = lvalue -# 1228| getRValue(): [Literal] 4 -# 1228| Type = [IntType] int -# 1228| Value = [Literal] 4 -# 1228| ValueCategory = prvalue -# 1229| getStmt(2): [LabelStmt] label ...: -# 1230| getStmt(3): [DeclStmt] declaration -# 1230| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z -# 1230| Type = [IntType] int -# 1230| getVariable().getInitializer(): [Initializer] initializer for z -# 1230| getExpr(): [VariableAccess] y -# 1230| Type = [IntType] int -# 1230| ValueCategory = prvalue(load) -# 1231| getStmt(4): [ReturnStmt] return ... -# 1233| [TopLevelFunction] int staticLocalInit(int) -# 1233| : -# 1233| getParameter(0): [Parameter] x -# 1233| Type = [IntType] int -# 1233| getEntryPoint(): [BlockStmt] { ... } -# 1234| getStmt(0): [DeclStmt] declaration -# 1234| getDeclarationEntry(0): [VariableDeclarationEntry] definition of a -# 1234| Type = [IntType] int -# 1234| getVariable().getInitializer(): [Initializer] initializer for a -# 1234| getExpr(): [Literal] 0 +# 1223| ValueCategory = lvalue +# 1223| getArgument(1): [AddressOfExpr] & ... +# 1223| Type = [IntPointerType] int * +# 1223| ValueCategory = prvalue +# 1223| getOperand(): [VariableAccess] x +# 1223| Type = [IntType] int +# 1223| ValueCategory = lvalue +# 1223| getArgument(2): [SizeofTypeOperator] sizeof(int) +# 1223| Type = [LongType] unsigned long +# 1223| Value = [SizeofTypeOperator] 4 +# 1223| ValueCategory = prvalue +# 1223| getArgument(0).getFullyConverted(): [CStyleCast] (void *)... +# 1223| Conversion = [PointerConversion] pointer conversion +# 1223| Type = [VoidPointerType] void * +# 1223| ValueCategory = prvalue +# 1223| getArgument(1).getFullyConverted(): [CStyleCast] (void *)... +# 1223| Conversion = [PointerConversion] pointer conversion +# 1223| Type = [VoidPointerType] void * +# 1223| ValueCategory = prvalue +# 1223| getArgument(2).getFullyConverted(): [CStyleCast] (int)... +# 1223| Conversion = [IntegralConversion] integral conversion +# 1223| Type = [IntType] int +# 1223| Value = [CStyleCast] 4 +# 1223| ValueCategory = prvalue +# 1224| getStmt(2): [ReturnStmt] return ... +# 1224| getExpr(): [VariableAccess] y +# 1224| Type = [IntType] int +# 1224| ValueCategory = prvalue(load) +# 1227| [TopLevelFunction] String ReturnObjectImpl() +# 1227| : +# 1227| getEntryPoint(): [BlockStmt] { ... } +# 1228| getStmt(0): [ReturnStmt] return ... +# 1228| getExpr(): [ConstructorCall] call to String +# 1228| Type = [VoidType] void +# 1228| ValueCategory = prvalue +# 1228| getArgument(0): foo +# 1228| Type = [ArrayType] const char[4] +# 1228| Value = [StringLiteral] "foo" +# 1228| ValueCategory = lvalue +# 1228| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1228| Type = [PointerType] const char * +# 1228| ValueCategory = prvalue +# 1231| [TopLevelFunction] void switch1Case(int) +# 1231| : +# 1231| getParameter(0): [Parameter] x +# 1231| Type = [IntType] int +# 1231| getEntryPoint(): [BlockStmt] { ... } +# 1232| getStmt(0): [DeclStmt] declaration +# 1232| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 1232| Type = [IntType] int +# 1232| getVariable().getInitializer(): [Initializer] initializer for y +# 1232| getExpr(): [Literal] 0 +# 1232| Type = [IntType] int +# 1232| Value = [Literal] 0 +# 1232| ValueCategory = prvalue +# 1233| getStmt(1): [SwitchStmt] switch (...) ... +# 1233| getExpr(): [VariableAccess] x +# 1233| Type = [IntType] int +# 1233| ValueCategory = prvalue(load) +# 1233| getStmt(): [BlockStmt] { ... } +# 1234| getStmt(0): [SwitchCase] case ...: +# 1234| getExpr(): [Literal] 1 # 1234| Type = [IntType] int -# 1234| Value = [Literal] 0 +# 1234| Value = [Literal] 1 # 1234| ValueCategory = prvalue -# 1235| getStmt(1): [DeclStmt] declaration -# 1235| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b -# 1235| Type = [IntType] int -# 1235| getVariable().getInitializer(): [Initializer] initializer for b -# 1235| getExpr(): [SizeofExprOperator] sizeof() -# 1235| Type = [LongType] unsigned long -# 1235| Value = [SizeofExprOperator] 4 -# 1235| ValueCategory = prvalue -# 1235| getExprOperand(): [VariableAccess] x -# 1235| Type = [IntType] int -# 1235| ValueCategory = lvalue -# 1235| getExprOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 1235| Type = [IntType] int -# 1235| ValueCategory = lvalue -# 1235| getExpr().getFullyConverted(): [CStyleCast] (int)... -# 1235| Conversion = [IntegralConversion] integral conversion +# 1235| getStmt(1): [ExprStmt] ExprStmt +# 1235| getExpr(): [AssignExpr] ... = ... # 1235| Type = [IntType] int -# 1235| Value = [CStyleCast] 4 -# 1235| ValueCategory = prvalue -# 1236| getStmt(2): [DeclStmt] declaration -# 1236| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c -# 1236| Type = [IntType] int -# 1236| getVariable().getInitializer(): [Initializer] initializer for c -# 1236| getExpr(): [VariableAccess] x -# 1236| Type = [IntType] int -# 1236| ValueCategory = prvalue(load) -# 1237| getStmt(3): [DeclStmt] declaration -# 1237| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d +# 1235| ValueCategory = lvalue +# 1235| getLValue(): [VariableAccess] y +# 1235| Type = [IntType] int +# 1235| ValueCategory = lvalue +# 1235| getRValue(): [Literal] 2 +# 1235| Type = [IntType] int +# 1235| Value = [Literal] 2 +# 1235| ValueCategory = prvalue +# 1237| getStmt(2): [DeclStmt] declaration +# 1237| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z # 1237| Type = [IntType] int -# 1239| getStmt(4): [ReturnStmt] return ... -# 1239| getExpr(): [AddExpr] ... + ... -# 1239| Type = [IntType] int -# 1239| ValueCategory = prvalue -# 1239| getLeftOperand(): [AddExpr] ... + ... -# 1239| Type = [IntType] int -# 1239| ValueCategory = prvalue -# 1239| getLeftOperand(): [AddExpr] ... + ... -# 1239| Type = [IntType] int -# 1239| ValueCategory = prvalue -# 1239| getLeftOperand(): [VariableAccess] a -# 1239| Type = [IntType] int -# 1239| ValueCategory = prvalue(load) -# 1239| getRightOperand(): [VariableAccess] b -# 1239| Type = [IntType] int -# 1239| ValueCategory = prvalue(load) -# 1239| getRightOperand(): [VariableAccess] c -# 1239| Type = [IntType] int -# 1239| ValueCategory = prvalue(load) -# 1239| getRightOperand(): [VariableAccess] d -# 1239| Type = [IntType] int -# 1239| ValueCategory = prvalue(load) -# 1242| [TopLevelFunction] void staticLocalWithConstructor(char const*) -# 1242| : -# 1242| getParameter(0): [Parameter] dynamic -# 1242| Type = [PointerType] const char * -# 1242| getEntryPoint(): [BlockStmt] { ... } -# 1243| getStmt(0): [DeclStmt] declaration -# 1243| getDeclarationEntry(0): [VariableDeclarationEntry] definition of a -# 1243| Type = [Struct] String +# 1237| getVariable().getInitializer(): [Initializer] initializer for z +# 1237| getExpr(): [VariableAccess] y +# 1237| Type = [IntType] int +# 1237| ValueCategory = prvalue(load) +# 1238| getStmt(3): [ReturnStmt] return ... +# 1240| [TopLevelFunction] void switch2Case_fallthrough(int) +# 1240| : +# 1240| getParameter(0): [Parameter] x +# 1240| Type = [IntType] int +# 1240| getEntryPoint(): [BlockStmt] { ... } +# 1241| getStmt(0): [DeclStmt] declaration +# 1241| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 1241| Type = [IntType] int +# 1241| getVariable().getInitializer(): [Initializer] initializer for y +# 1241| getExpr(): [Literal] 0 +# 1241| Type = [IntType] int +# 1241| Value = [Literal] 0 +# 1241| ValueCategory = prvalue +# 1242| getStmt(1): [SwitchStmt] switch (...) ... +# 1242| getExpr(): [VariableAccess] x +# 1242| Type = [IntType] int +# 1242| ValueCategory = prvalue(load) +# 1242| getStmt(): [BlockStmt] { ... } +# 1243| getStmt(0): [SwitchCase] case ...: +# 1243| getExpr(): [Literal] 1 +# 1243| Type = [IntType] int +# 1243| Value = [Literal] 1 +# 1243| ValueCategory = prvalue +# 1244| getStmt(1): [ExprStmt] ExprStmt +# 1244| getExpr(): [AssignExpr] ... = ... +# 1244| Type = [IntType] int +# 1244| ValueCategory = lvalue +# 1244| getLValue(): [VariableAccess] y +# 1244| Type = [IntType] int +# 1244| ValueCategory = lvalue +# 1244| getRValue(): [Literal] 2 +# 1244| Type = [IntType] int +# 1244| Value = [Literal] 2 +# 1244| ValueCategory = prvalue +# 1245| getStmt(2): [SwitchCase] case ...: +# 1245| getExpr(): [Literal] 2 +# 1245| Type = [IntType] int +# 1245| Value = [Literal] 2 +# 1245| ValueCategory = prvalue +# 1246| getStmt(3): [ExprStmt] ExprStmt +# 1246| getExpr(): [AssignExpr] ... = ... +# 1246| Type = [IntType] int +# 1246| ValueCategory = lvalue +# 1246| getLValue(): [VariableAccess] y +# 1246| Type = [IntType] int +# 1246| ValueCategory = lvalue +# 1246| getRValue(): [Literal] 3 +# 1246| Type = [IntType] int +# 1246| Value = [Literal] 3 +# 1246| ValueCategory = prvalue +# 1248| getStmt(2): [DeclStmt] declaration +# 1248| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z +# 1248| Type = [IntType] int +# 1248| getVariable().getInitializer(): [Initializer] initializer for z +# 1248| getExpr(): [VariableAccess] y +# 1248| Type = [IntType] int +# 1248| ValueCategory = prvalue(load) +# 1249| getStmt(3): [ReturnStmt] return ... +# 1251| [TopLevelFunction] void switch2Case(int) +# 1251| : +# 1251| getParameter(0): [Parameter] x +# 1251| Type = [IntType] int +# 1251| getEntryPoint(): [BlockStmt] { ... } +# 1252| getStmt(0): [DeclStmt] declaration +# 1252| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 1252| Type = [IntType] int +# 1252| getVariable().getInitializer(): [Initializer] initializer for y +# 1252| getExpr(): [Literal] 0 +# 1252| Type = [IntType] int +# 1252| Value = [Literal] 0 +# 1252| ValueCategory = prvalue +# 1253| getStmt(1): [SwitchStmt] switch (...) ... +# 1253| getExpr(): [VariableAccess] x +# 1253| Type = [IntType] int +# 1253| ValueCategory = prvalue(load) +# 1253| getStmt(): [BlockStmt] { ... } +# 1254| getStmt(0): [SwitchCase] case ...: +# 1254| getExpr(): [Literal] 1 +# 1254| Type = [IntType] int +# 1254| Value = [Literal] 1 +# 1254| ValueCategory = prvalue +# 1255| getStmt(1): [ExprStmt] ExprStmt +# 1255| getExpr(): [AssignExpr] ... = ... +# 1255| Type = [IntType] int +# 1255| ValueCategory = lvalue +# 1255| getLValue(): [VariableAccess] y +# 1255| Type = [IntType] int +# 1255| ValueCategory = lvalue +# 1255| getRValue(): [Literal] 2 +# 1255| Type = [IntType] int +# 1255| Value = [Literal] 2 +# 1255| ValueCategory = prvalue +# 1256| getStmt(2): [BreakStmt] break; +# 1257| getStmt(3): [SwitchCase] case ...: +# 1257| getExpr(): [Literal] 2 +# 1257| Type = [IntType] int +# 1257| Value = [Literal] 2 +# 1257| ValueCategory = prvalue +# 1258| getStmt(4): [ExprStmt] ExprStmt +# 1258| getExpr(): [AssignExpr] ... = ... +# 1258| Type = [IntType] int +# 1258| ValueCategory = lvalue +# 1258| getLValue(): [VariableAccess] y +# 1258| Type = [IntType] int +# 1258| ValueCategory = lvalue +# 1258| getRValue(): [Literal] 3 +# 1258| Type = [IntType] int +# 1258| Value = [Literal] 3 +# 1258| ValueCategory = prvalue +# 1259| getStmt(2): [LabelStmt] label ...: +# 1260| getStmt(3): [DeclStmt] declaration +# 1260| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z +# 1260| Type = [IntType] int +# 1260| getVariable().getInitializer(): [Initializer] initializer for z +# 1260| getExpr(): [VariableAccess] y +# 1260| Type = [IntType] int +# 1260| ValueCategory = prvalue(load) +# 1261| getStmt(4): [ReturnStmt] return ... +# 1263| [TopLevelFunction] void switch2Case_default(int) +# 1263| : +# 1263| getParameter(0): [Parameter] x +# 1263| Type = [IntType] int +# 1263| getEntryPoint(): [BlockStmt] { ... } +# 1264| getStmt(0): [DeclStmt] declaration +# 1264| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 1264| Type = [IntType] int +# 1264| getVariable().getInitializer(): [Initializer] initializer for y +# 1264| getExpr(): [Literal] 0 +# 1264| Type = [IntType] int +# 1264| Value = [Literal] 0 +# 1264| ValueCategory = prvalue +# 1265| getStmt(1): [SwitchStmt] switch (...) ... +# 1265| getExpr(): [VariableAccess] x +# 1265| Type = [IntType] int +# 1265| ValueCategory = prvalue(load) +# 1265| getStmt(): [BlockStmt] { ... } +# 1266| getStmt(0): [SwitchCase] case ...: +# 1266| getExpr(): [Literal] 1 +# 1266| Type = [IntType] int +# 1266| Value = [Literal] 1 +# 1266| ValueCategory = prvalue +# 1267| getStmt(1): [ExprStmt] ExprStmt +# 1267| getExpr(): [AssignExpr] ... = ... +# 1267| Type = [IntType] int +# 1267| ValueCategory = lvalue +# 1267| getLValue(): [VariableAccess] y +# 1267| Type = [IntType] int +# 1267| ValueCategory = lvalue +# 1267| getRValue(): [Literal] 2 +# 1267| Type = [IntType] int +# 1267| Value = [Literal] 2 +# 1267| ValueCategory = prvalue +# 1268| getStmt(2): [BreakStmt] break; +# 1270| getStmt(3): [SwitchCase] case ...: +# 1270| getExpr(): [Literal] 2 +# 1270| Type = [IntType] int +# 1270| Value = [Literal] 2 +# 1270| ValueCategory = prvalue +# 1271| getStmt(4): [ExprStmt] ExprStmt +# 1271| getExpr(): [AssignExpr] ... = ... +# 1271| Type = [IntType] int +# 1271| ValueCategory = lvalue +# 1271| getLValue(): [VariableAccess] y +# 1271| Type = [IntType] int +# 1271| ValueCategory = lvalue +# 1271| getRValue(): [Literal] 3 +# 1271| Type = [IntType] int +# 1271| Value = [Literal] 3 +# 1271| ValueCategory = prvalue +# 1272| getStmt(5): [BreakStmt] break; +# 1274| getStmt(6): [SwitchCase] default: +# 1275| getStmt(7): [ExprStmt] ExprStmt +# 1275| getExpr(): [AssignExpr] ... = ... +# 1275| Type = [IntType] int +# 1275| ValueCategory = lvalue +# 1275| getLValue(): [VariableAccess] y +# 1275| Type = [IntType] int +# 1275| ValueCategory = lvalue +# 1275| getRValue(): [Literal] 4 +# 1275| Type = [IntType] int +# 1275| Value = [Literal] 4 +# 1275| ValueCategory = prvalue +# 1276| getStmt(2): [LabelStmt] label ...: +# 1277| getStmt(3): [DeclStmt] declaration +# 1277| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z +# 1277| Type = [IntType] int +# 1277| getVariable().getInitializer(): [Initializer] initializer for z +# 1277| getExpr(): [VariableAccess] y +# 1277| Type = [IntType] int +# 1277| ValueCategory = prvalue(load) +# 1278| getStmt(4): [ReturnStmt] return ... +# 1280| [TopLevelFunction] int staticLocalInit(int) +# 1280| : +# 1280| getParameter(0): [Parameter] x +# 1280| Type = [IntType] int +# 1280| getEntryPoint(): [BlockStmt] { ... } +# 1281| getStmt(0): [DeclStmt] declaration +# 1281| getDeclarationEntry(0): [VariableDeclarationEntry] definition of a +# 1281| Type = [IntType] int +# 1281| getVariable().getInitializer(): [Initializer] initializer for a +# 1281| getExpr(): [Literal] 0 +# 1281| Type = [IntType] int +# 1281| Value = [Literal] 0 +# 1281| ValueCategory = prvalue +# 1282| getStmt(1): [DeclStmt] declaration +# 1282| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b +# 1282| Type = [IntType] int +# 1282| getVariable().getInitializer(): [Initializer] initializer for b +# 1282| getExpr(): [SizeofExprOperator] sizeof() +# 1282| Type = [LongType] unsigned long +# 1282| Value = [SizeofExprOperator] 4 +# 1282| ValueCategory = prvalue +# 1282| getExprOperand(): [VariableAccess] x +# 1282| Type = [IntType] int +# 1282| ValueCategory = lvalue +# 1282| getExprOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 1282| Type = [IntType] int +# 1282| ValueCategory = lvalue +# 1282| getExpr().getFullyConverted(): [CStyleCast] (int)... +# 1282| Conversion = [IntegralConversion] integral conversion +# 1282| Type = [IntType] int +# 1282| Value = [CStyleCast] 4 +# 1282| ValueCategory = prvalue +# 1283| getStmt(2): [DeclStmt] declaration +# 1283| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c +# 1283| Type = [IntType] int +# 1283| getVariable().getInitializer(): [Initializer] initializer for c +# 1283| getExpr(): [VariableAccess] x +# 1283| Type = [IntType] int +# 1283| ValueCategory = prvalue(load) +# 1284| getStmt(3): [DeclStmt] declaration +# 1284| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d +# 1284| Type = [IntType] int +# 1286| getStmt(4): [ReturnStmt] return ... +# 1286| getExpr(): [AddExpr] ... + ... +# 1286| Type = [IntType] int +# 1286| ValueCategory = prvalue +# 1286| getLeftOperand(): [AddExpr] ... + ... +# 1286| Type = [IntType] int +# 1286| ValueCategory = prvalue +# 1286| getLeftOperand(): [AddExpr] ... + ... +# 1286| Type = [IntType] int +# 1286| ValueCategory = prvalue +# 1286| getLeftOperand(): [VariableAccess] a +# 1286| Type = [IntType] int +# 1286| ValueCategory = prvalue(load) +# 1286| getRightOperand(): [VariableAccess] b +# 1286| Type = [IntType] int +# 1286| ValueCategory = prvalue(load) +# 1286| getRightOperand(): [VariableAccess] c +# 1286| Type = [IntType] int +# 1286| ValueCategory = prvalue(load) +# 1286| getRightOperand(): [VariableAccess] d +# 1286| Type = [IntType] int +# 1286| ValueCategory = prvalue(load) +# 1289| [TopLevelFunction] void staticLocalWithConstructor(char const*) +# 1289| : +# 1289| getParameter(0): [Parameter] dynamic +# 1289| Type = [PointerType] const char * +# 1289| getEntryPoint(): [BlockStmt] { ... } +# 1290| getStmt(0): [DeclStmt] declaration +# 1290| getDeclarationEntry(0): [VariableDeclarationEntry] definition of a +# 1290| Type = [Struct] String #-----| getVariable().getInitializer(): [Initializer] initializer for a #-----| getExpr(): [ConstructorCall] call to String #-----| Type = [VoidType] void #-----| ValueCategory = prvalue -# 1244| getStmt(1): [DeclStmt] declaration -# 1244| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b -# 1244| Type = [Struct] String -# 1244| getVariable().getInitializer(): [Initializer] initializer for b -# 1244| getExpr(): [ConstructorCall] call to String -# 1244| Type = [VoidType] void -# 1244| ValueCategory = prvalue -# 1244| getArgument(0): static -# 1244| Type = [ArrayType] const char[7] -# 1244| Value = [StringLiteral] "static" -# 1244| ValueCategory = lvalue -# 1244| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1244| Type = [PointerType] const char * -# 1244| ValueCategory = prvalue -# 1245| getStmt(2): [DeclStmt] declaration -# 1245| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c -# 1245| Type = [Struct] String -# 1245| getVariable().getInitializer(): [Initializer] initializer for c -# 1245| getExpr(): [ConstructorCall] call to String -# 1245| Type = [VoidType] void -# 1245| ValueCategory = prvalue -# 1245| getArgument(0): [VariableAccess] dynamic -# 1245| Type = [PointerType] const char * -# 1245| ValueCategory = prvalue(load) -# 1246| getStmt(3): [ReturnStmt] return ... -# 1250| [TopLevelFunction] char* strcpy(char*, char const*) -# 1250| : -# 1250| getParameter(0): [Parameter] destination -# 1250| Type = [CharPointerType] char * -# 1250| getParameter(1): [Parameter] source -# 1250| Type = [PointerType] const char * -# 1251| [TopLevelFunction] char* strcat(char*, char const*) -# 1251| : -# 1251| getParameter(0): [Parameter] destination -# 1251| Type = [CharPointerType] char * -# 1251| getParameter(1): [Parameter] source -# 1251| Type = [PointerType] const char * -# 1253| [TopLevelFunction] void test_strings(char*, char*) -# 1253| : -# 1253| getParameter(0): [Parameter] s1 -# 1253| Type = [CharPointerType] char * -# 1253| getParameter(1): [Parameter] s2 -# 1253| Type = [CharPointerType] char * -# 1253| getEntryPoint(): [BlockStmt] { ... } -# 1254| getStmt(0): [DeclStmt] declaration -# 1254| getDeclarationEntry(0): [VariableDeclarationEntry] definition of buffer -# 1254| Type = [ArrayType] char[1024] -# 1254| getVariable().getInitializer(): [Initializer] initializer for buffer -# 1254| getExpr(): [ArrayAggregateLiteral] {...} -# 1254| Type = [ArrayType] char[1024] -# 1254| ValueCategory = prvalue -# 1254| getAnElementExpr(0): [Literal] 0 -# 1254| Type = [IntType] int -# 1254| Value = [Literal] 0 -# 1254| ValueCategory = prvalue -# 1254| getAnElementExpr(0).getFullyConverted(): [CStyleCast] (char)... -# 1254| Conversion = [IntegralConversion] integral conversion -# 1254| Type = [PlainCharType] char -# 1254| Value = [CStyleCast] 0 -# 1254| ValueCategory = prvalue -# 1256| getStmt(1): [ExprStmt] ExprStmt -# 1256| getExpr(): [FunctionCall] call to strcpy -# 1256| Type = [CharPointerType] char * -# 1256| ValueCategory = prvalue -# 1256| getArgument(0): [VariableAccess] buffer -# 1256| Type = [ArrayType] char[1024] -# 1256| ValueCategory = lvalue -# 1256| getArgument(1): [VariableAccess] s1 -# 1256| Type = [CharPointerType] char * -# 1256| ValueCategory = prvalue(load) -# 1256| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1256| Type = [CharPointerType] char * -# 1256| ValueCategory = prvalue -# 1256| getArgument(1).getFullyConverted(): [CStyleCast] (const char *)... -# 1256| Conversion = [PointerConversion] pointer conversion -# 1256| Type = [PointerType] const char * -# 1256| ValueCategory = prvalue -# 1257| getStmt(2): [ExprStmt] ExprStmt -# 1257| getExpr(): [FunctionCall] call to strcat -# 1257| Type = [CharPointerType] char * -# 1257| ValueCategory = prvalue -# 1257| getArgument(0): [VariableAccess] buffer -# 1257| Type = [ArrayType] char[1024] -# 1257| ValueCategory = lvalue -# 1257| getArgument(1): [VariableAccess] s2 -# 1257| Type = [CharPointerType] char * -# 1257| ValueCategory = prvalue(load) -# 1257| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1257| Type = [CharPointerType] char * -# 1257| ValueCategory = prvalue -# 1257| getArgument(1).getFullyConverted(): [CStyleCast] (const char *)... -# 1257| Conversion = [PointerConversion] pointer conversion -# 1257| Type = [PointerType] const char * -# 1257| ValueCategory = prvalue -# 1258| getStmt(3): [ReturnStmt] return ... -# 1260| [CopyAssignmentOperator] A& A::operator=(A const&) -# 1260| : +# 1291| getStmt(1): [DeclStmt] declaration +# 1291| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b +# 1291| Type = [Struct] String +# 1291| getVariable().getInitializer(): [Initializer] initializer for b +# 1291| getExpr(): [ConstructorCall] call to String +# 1291| Type = [VoidType] void +# 1291| ValueCategory = prvalue +# 1291| getArgument(0): static +# 1291| Type = [ArrayType] const char[7] +# 1291| Value = [StringLiteral] "static" +# 1291| ValueCategory = lvalue +# 1291| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1291| Type = [PointerType] const char * +# 1291| ValueCategory = prvalue +# 1292| getStmt(2): [DeclStmt] declaration +# 1292| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c +# 1292| Type = [Struct] String +# 1292| getVariable().getInitializer(): [Initializer] initializer for c +# 1292| getExpr(): [ConstructorCall] call to String +# 1292| Type = [VoidType] void +# 1292| ValueCategory = prvalue +# 1292| getArgument(0): [VariableAccess] dynamic +# 1292| Type = [PointerType] const char * +# 1292| ValueCategory = prvalue(load) +# 1293| getStmt(3): [ReturnStmt] return ... +# 1297| [TopLevelFunction] char* strcpy(char*, char const*) +# 1297| : +# 1297| getParameter(0): [Parameter] destination +# 1297| Type = [CharPointerType] char * +# 1297| getParameter(1): [Parameter] source +# 1297| Type = [PointerType] const char * +# 1298| [TopLevelFunction] char* strcat(char*, char const*) +# 1298| : +# 1298| getParameter(0): [Parameter] destination +# 1298| Type = [CharPointerType] char * +# 1298| getParameter(1): [Parameter] source +# 1298| Type = [PointerType] const char * +# 1300| [TopLevelFunction] void test_strings(char*, char*) +# 1300| : +# 1300| getParameter(0): [Parameter] s1 +# 1300| Type = [CharPointerType] char * +# 1300| getParameter(1): [Parameter] s2 +# 1300| Type = [CharPointerType] char * +# 1300| getEntryPoint(): [BlockStmt] { ... } +# 1301| getStmt(0): [DeclStmt] declaration +# 1301| getDeclarationEntry(0): [VariableDeclarationEntry] definition of buffer +# 1301| Type = [ArrayType] char[1024] +# 1301| getVariable().getInitializer(): [Initializer] initializer for buffer +# 1301| getExpr(): [ArrayAggregateLiteral] {...} +# 1301| Type = [ArrayType] char[1024] +# 1301| ValueCategory = prvalue +# 1301| getAnElementExpr(0): [Literal] 0 +# 1301| Type = [IntType] int +# 1301| Value = [Literal] 0 +# 1301| ValueCategory = prvalue +# 1301| getAnElementExpr(0).getFullyConverted(): [CStyleCast] (char)... +# 1301| Conversion = [IntegralConversion] integral conversion +# 1301| Type = [PlainCharType] char +# 1301| Value = [CStyleCast] 0 +# 1301| ValueCategory = prvalue +# 1303| getStmt(1): [ExprStmt] ExprStmt +# 1303| getExpr(): [FunctionCall] call to strcpy +# 1303| Type = [CharPointerType] char * +# 1303| ValueCategory = prvalue +# 1303| getArgument(0): [VariableAccess] buffer +# 1303| Type = [ArrayType] char[1024] +# 1303| ValueCategory = lvalue +# 1303| getArgument(1): [VariableAccess] s1 +# 1303| Type = [CharPointerType] char * +# 1303| ValueCategory = prvalue(load) +# 1303| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1303| Type = [CharPointerType] char * +# 1303| ValueCategory = prvalue +# 1303| getArgument(1).getFullyConverted(): [CStyleCast] (const char *)... +# 1303| Conversion = [PointerConversion] pointer conversion +# 1303| Type = [PointerType] const char * +# 1303| ValueCategory = prvalue +# 1304| getStmt(2): [ExprStmt] ExprStmt +# 1304| getExpr(): [FunctionCall] call to strcat +# 1304| Type = [CharPointerType] char * +# 1304| ValueCategory = prvalue +# 1304| getArgument(0): [VariableAccess] buffer +# 1304| Type = [ArrayType] char[1024] +# 1304| ValueCategory = lvalue +# 1304| getArgument(1): [VariableAccess] s2 +# 1304| Type = [CharPointerType] char * +# 1304| ValueCategory = prvalue(load) +# 1304| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1304| Type = [CharPointerType] char * +# 1304| ValueCategory = prvalue +# 1304| getArgument(1).getFullyConverted(): [CStyleCast] (const char *)... +# 1304| Conversion = [PointerConversion] pointer conversion +# 1304| Type = [PointerType] const char * +# 1304| ValueCategory = prvalue +# 1305| getStmt(3): [ReturnStmt] return ... +# 1307| [CopyAssignmentOperator] A& A::operator=(A const&) +# 1307| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const A & -# 1260| [MoveAssignmentOperator] A& A::operator=(A&&) -# 1260| : +# 1307| [MoveAssignmentOperator] A& A::operator=(A&&) +# 1307| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] A && -# 1263| [MemberFunction] void A::static_member(A*, int) -# 1263| : -# 1263| getParameter(0): [Parameter] a -# 1263| Type = [PointerType] A * -# 1263| getParameter(1): [Parameter] x -# 1263| Type = [IntType] int -# 1263| getEntryPoint(): [BlockStmt] { ... } -# 1264| getStmt(0): [ExprStmt] ExprStmt -# 1264| getExpr(): [AssignExpr] ... = ... -# 1264| Type = [IntType] int -# 1264| ValueCategory = lvalue -# 1264| getLValue(): [PointerFieldAccess] member -# 1264| Type = [IntType] int -# 1264| ValueCategory = lvalue -# 1264| getQualifier(): [VariableAccess] a -# 1264| Type = [PointerType] A * -# 1264| ValueCategory = prvalue(load) -# 1264| getRValue(): [VariableAccess] x -# 1264| Type = [IntType] int -# 1264| ValueCategory = prvalue(load) -# 1265| getStmt(1): [ReturnStmt] return ... -# 1267| [MemberFunction] void A::static_member_without_def() -# 1267| : -# 1270| [TopLevelFunction] A* getAnInstanceOfA() -# 1270| : -# 1272| [TopLevelFunction] void test_static_member_functions(int, A*) -# 1272| : -# 1272| getParameter(0): [Parameter] int_arg -# 1272| Type = [IntType] int -# 1272| getParameter(1): [Parameter] a_arg -# 1272| Type = [PointerType] A * -# 1272| getEntryPoint(): [BlockStmt] { ... } -# 1273| getStmt(0): [DeclStmt] declaration -# 1273| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c -# 1273| Type = [Class] C -# 1273| getVariable().getInitializer(): [Initializer] initializer for c -# 1273| getExpr(): [ConstructorCall] call to C -# 1273| Type = [VoidType] void -# 1273| ValueCategory = prvalue -# 1274| getStmt(1): [ExprStmt] ExprStmt -# 1274| getExpr(): [FunctionCall] call to StaticMemberFunction -# 1274| Type = [IntType] int -# 1274| ValueCategory = prvalue -# 1274| getQualifier(): [VariableAccess] c -# 1274| Type = [Class] C -# 1274| ValueCategory = lvalue -# 1274| getArgument(0): [Literal] 10 -# 1274| Type = [IntType] int -# 1274| Value = [Literal] 10 -# 1274| ValueCategory = prvalue -# 1275| getStmt(2): [ExprStmt] ExprStmt -# 1275| getExpr(): [FunctionCall] call to StaticMemberFunction -# 1275| Type = [IntType] int -# 1275| ValueCategory = prvalue -# 1275| getArgument(0): [Literal] 10 -# 1275| Type = [IntType] int -# 1275| Value = [Literal] 10 -# 1275| ValueCategory = prvalue -# 1277| getStmt(3): [DeclStmt] declaration -# 1277| getDeclarationEntry(0): [VariableDeclarationEntry] definition of a -# 1277| Type = [Struct] A -# 1278| getStmt(4): [ExprStmt] ExprStmt -# 1278| getExpr(): [FunctionCall] call to static_member -# 1278| Type = [VoidType] void -# 1278| ValueCategory = prvalue -# 1278| getQualifier(): [VariableAccess] a -# 1278| Type = [Struct] A -# 1278| ValueCategory = lvalue -# 1278| getArgument(0): [AddressOfExpr] & ... -# 1278| Type = [PointerType] A * -# 1278| ValueCategory = prvalue -# 1278| getOperand(): [VariableAccess] a -# 1278| Type = [Struct] A -# 1278| ValueCategory = lvalue -# 1278| getArgument(1): [VariableAccess] int_arg -# 1278| Type = [IntType] int -# 1278| ValueCategory = prvalue(load) -# 1279| getStmt(5): [ExprStmt] ExprStmt -# 1279| getExpr(): [FunctionCall] call to static_member -# 1279| Type = [VoidType] void -# 1279| ValueCategory = prvalue -# 1279| getArgument(0): [AddressOfExpr] & ... -# 1279| Type = [PointerType] A * -# 1279| ValueCategory = prvalue -# 1279| getOperand(): [VariableAccess] a -# 1279| Type = [Struct] A -# 1279| ValueCategory = lvalue -# 1279| getArgument(1): [VariableAccess] int_arg -# 1279| Type = [IntType] int -# 1279| ValueCategory = prvalue(load) -# 1281| getStmt(6): [ExprStmt] ExprStmt -# 1281| getExpr(): [FunctionCall] call to static_member -# 1281| Type = [VoidType] void -# 1281| ValueCategory = prvalue -# 1281| getQualifier(): [AddressOfExpr] & ... -# 1281| Type = [PointerType] A * -# 1281| ValueCategory = prvalue -# 1281| getOperand(): [VariableAccess] a -# 1281| Type = [Struct] A -# 1281| ValueCategory = lvalue -# 1281| getArgument(0): [VariableAccess] a_arg -# 1281| Type = [PointerType] A * -# 1281| ValueCategory = prvalue(load) -# 1281| getArgument(1): [AddExpr] ... + ... -# 1281| Type = [IntType] int -# 1281| ValueCategory = prvalue -# 1281| getLeftOperand(): [VariableAccess] int_arg -# 1281| Type = [IntType] int -# 1281| ValueCategory = prvalue(load) -# 1281| getRightOperand(): [Literal] 2 -# 1281| Type = [IntType] int -# 1281| Value = [Literal] 2 -# 1281| ValueCategory = prvalue -# 1281| getQualifier().getFullyConverted(): [ParenthesisExpr] (...) -# 1281| Type = [PointerType] A * -# 1281| ValueCategory = prvalue -# 1282| getStmt(7): [ExprStmt] ExprStmt -# 1282| getExpr(): [FunctionCall] call to static_member -# 1282| Type = [VoidType] void -# 1282| ValueCategory = prvalue -# 1282| getQualifier(): [PointerDereferenceExpr] * ... -# 1282| Type = [Struct] A -# 1282| ValueCategory = lvalue -# 1282| getOperand(): [VariableAccess] a_arg -# 1282| Type = [PointerType] A * -# 1282| ValueCategory = prvalue(load) -# 1282| getArgument(0): [AddressOfExpr] & ... -# 1282| Type = [PointerType] A * -# 1282| ValueCategory = prvalue -# 1282| getOperand(): [VariableAccess] a -# 1282| Type = [Struct] A -# 1282| ValueCategory = lvalue -# 1282| getArgument(1): [Literal] 99 -# 1282| Type = [IntType] int -# 1282| Value = [Literal] 99 -# 1282| ValueCategory = prvalue -# 1282| getQualifier().getFullyConverted(): [ParenthesisExpr] (...) -# 1282| Type = [Struct] A -# 1282| ValueCategory = lvalue -# 1283| getStmt(8): [ExprStmt] ExprStmt -# 1283| getExpr(): [FunctionCall] call to static_member -# 1283| Type = [VoidType] void -# 1283| ValueCategory = prvalue -# 1283| getQualifier(): [VariableAccess] a_arg -# 1283| Type = [PointerType] A * -# 1283| ValueCategory = prvalue(load) -# 1283| getArgument(0): [VariableAccess] a_arg -# 1283| Type = [PointerType] A * -# 1283| ValueCategory = prvalue(load) -# 1283| getArgument(1): [UnaryMinusExpr] - ... -# 1283| Type = [IntType] int -# 1283| Value = [UnaryMinusExpr] -1 -# 1283| ValueCategory = prvalue -# 1283| getOperand(): [Literal] 1 -# 1283| Type = [IntType] int -# 1283| Value = [Literal] 1 -# 1283| ValueCategory = prvalue -# 1285| getStmt(9): [ExprStmt] ExprStmt -# 1285| getExpr(): [FunctionCall] call to static_member_without_def -# 1285| Type = [VoidType] void -# 1285| ValueCategory = prvalue -# 1285| getQualifier(): [VariableAccess] a -# 1285| Type = [Struct] A -# 1285| ValueCategory = lvalue -# 1286| getStmt(10): [ExprStmt] ExprStmt -# 1286| getExpr(): [FunctionCall] call to static_member_without_def -# 1286| Type = [VoidType] void -# 1286| ValueCategory = prvalue -# 1288| getStmt(11): [ExprStmt] ExprStmt -# 1288| getExpr(): [FunctionCall] call to static_member_without_def -# 1288| Type = [VoidType] void -# 1288| ValueCategory = prvalue -# 1288| getQualifier(): [FunctionCall] call to getAnInstanceOfA -# 1288| Type = [PointerType] A * -# 1288| ValueCategory = prvalue -# 1289| getStmt(12): [ReturnStmt] return ... -# 1289| getImplicitDestructorCall(0): [DestructorCall] call to ~C -# 1289| Type = [VoidType] void -# 1289| ValueCategory = prvalue -# 1289| getQualifier(): [VariableAccess] c -# 1289| Type = [Class] C -# 1289| ValueCategory = lvalue -# 1291| [TopLevelFunction] int missingReturnValue(bool, int) -# 1291| : -# 1291| getParameter(0): [Parameter] b -# 1291| Type = [BoolType] bool -# 1291| getParameter(1): [Parameter] x -# 1291| Type = [IntType] int -# 1291| getEntryPoint(): [BlockStmt] { ... } -# 1292| getStmt(0): [IfStmt] if (...) ... -# 1292| getCondition(): [VariableAccess] b -# 1292| Type = [BoolType] bool -# 1292| ValueCategory = prvalue(load) -# 1292| getThen(): [BlockStmt] { ... } -# 1293| getStmt(0): [ReturnStmt] return ... -# 1293| getExpr(): [VariableAccess] x -# 1293| Type = [IntType] int -# 1293| ValueCategory = prvalue(load) -# 1295| getStmt(1): [ReturnStmt] return ... -# 1297| [TopLevelFunction] void returnVoid(int, int) -# 1297| : -# 1297| getParameter(0): [Parameter] x -# 1297| Type = [IntType] int -# 1297| getParameter(1): [Parameter] y -# 1297| Type = [IntType] int -# 1297| getEntryPoint(): [BlockStmt] { ... } -# 1298| getStmt(0): [ReturnStmt] return ... -# 1298| getExpr(): [FunctionCall] call to IntegerOps -# 1298| Type = [VoidType] void -# 1298| ValueCategory = prvalue -# 1298| getArgument(0): [VariableAccess] x -# 1298| Type = [IntType] int -# 1298| ValueCategory = prvalue(load) -# 1298| getArgument(1): [VariableAccess] y -# 1298| Type = [IntType] int -# 1298| ValueCategory = prvalue(load) -# 1301| [TopLevelFunction] void gccBinaryConditional(bool, int, long) -# 1301| : -# 1301| getParameter(0): [Parameter] b -# 1301| Type = [BoolType] bool -# 1301| getParameter(1): [Parameter] x -# 1301| Type = [IntType] int -# 1301| getParameter(2): [Parameter] y -# 1301| Type = [LongType] long -# 1301| getEntryPoint(): [BlockStmt] { ... } -# 1302| getStmt(0): [DeclStmt] declaration -# 1302| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z -# 1302| Type = [IntType] int -# 1302| getVariable().getInitializer(): [Initializer] initializer for z -# 1302| getExpr(): [VariableAccess] x -# 1302| Type = [IntType] int -# 1302| ValueCategory = prvalue(load) -# 1303| getStmt(1): [ExprStmt] ExprStmt -# 1303| getExpr(): [AssignExpr] ... = ... -# 1303| Type = [IntType] int -# 1303| ValueCategory = lvalue -# 1303| getLValue(): [VariableAccess] z -# 1303| Type = [IntType] int -# 1303| ValueCategory = lvalue -# 1303| getRValue(): [ConditionalExpr] ... ? ... : ... -# 1303| Type = [IntType] int -# 1303| ValueCategory = prvalue(load) -# 1303| getCondition(): [VariableAccess] b -# 1303| Type = [BoolType] bool -# 1303| ValueCategory = prvalue(load) -# 1303| getElse(): [VariableAccess] x -# 1303| Type = [IntType] int -# 1303| ValueCategory = prvalue(load) -# 1304| getStmt(2): [ExprStmt] ExprStmt -# 1304| getExpr(): [AssignExpr] ... = ... -# 1304| Type = [IntType] int -# 1304| ValueCategory = lvalue -# 1304| getLValue(): [VariableAccess] z -# 1304| Type = [IntType] int -# 1304| ValueCategory = lvalue -# 1304| getRValue(): [ConditionalExpr] ... ? ... : ... -# 1304| Type = [LongType] long -# 1304| ValueCategory = prvalue(load) -# 1304| getCondition(): [VariableAccess] b -# 1304| Type = [BoolType] bool -# 1304| ValueCategory = prvalue(load) -# 1304| getElse(): [VariableAccess] y -# 1304| Type = [LongType] long -# 1304| ValueCategory = prvalue(load) -# 1304| getRValue().getFullyConverted(): [CStyleCast] (int)... -# 1304| Conversion = [IntegralConversion] integral conversion -# 1304| Type = [IntType] int -# 1304| ValueCategory = prvalue -# 1305| getStmt(3): [ExprStmt] ExprStmt -# 1305| getExpr(): [AssignExpr] ... = ... -# 1305| Type = [IntType] int -# 1305| ValueCategory = lvalue -# 1305| getLValue(): [VariableAccess] z -# 1305| Type = [IntType] int -# 1305| ValueCategory = lvalue -# 1305| getRValue(): [ConditionalExpr] ... ? ... : ... -# 1305| Type = [IntType] int -# 1305| ValueCategory = prvalue(load) -# 1305| getCondition(): [VariableAccess] x -# 1305| Type = [IntType] int -# 1305| ValueCategory = prvalue(load) -# 1305| getElse(): [VariableAccess] x -# 1305| Type = [IntType] int -# 1305| ValueCategory = prvalue(load) -# 1305| getCondition().getFullyConverted(): [CStyleCast] (bool)... -# 1305| Conversion = [BoolConversion] conversion to bool -# 1305| Type = [BoolType] bool -# 1305| ValueCategory = prvalue -# 1306| getStmt(4): [ExprStmt] ExprStmt -# 1306| getExpr(): [AssignExpr] ... = ... -# 1306| Type = [IntType] int -# 1306| ValueCategory = lvalue -# 1306| getLValue(): [VariableAccess] z -# 1306| Type = [IntType] int -# 1306| ValueCategory = lvalue -# 1306| getRValue(): [ConditionalExpr] ... ? ... : ... -# 1306| Type = [LongType] long -# 1306| ValueCategory = prvalue(load) -# 1306| getCondition(): [VariableAccess] x -# 1306| Type = [IntType] int -# 1306| ValueCategory = prvalue(load) -# 1306| getElse(): [VariableAccess] y -# 1306| Type = [LongType] long -# 1306| ValueCategory = prvalue(load) -# 1306| getCondition().getFullyConverted(): [CStyleCast] (bool)... -# 1306| Conversion = [BoolConversion] conversion to bool -# 1306| Type = [BoolType] bool -# 1306| ValueCategory = prvalue -# 1306| getRValue().getFullyConverted(): [CStyleCast] (int)... -# 1306| Conversion = [IntegralConversion] integral conversion -# 1306| Type = [IntType] int -# 1306| ValueCategory = prvalue -# 1307| getStmt(5): [ExprStmt] ExprStmt -# 1307| getExpr(): [AssignExpr] ... = ... -# 1307| Type = [IntType] int -# 1307| ValueCategory = lvalue -# 1307| getLValue(): [VariableAccess] z -# 1307| Type = [IntType] int -# 1307| ValueCategory = lvalue -# 1307| getRValue(): [ConditionalExpr] ... ? ... : ... -# 1307| Type = [LongType] long -# 1307| ValueCategory = prvalue(load) -# 1307| getCondition(): [VariableAccess] y -# 1307| Type = [LongType] long -# 1307| ValueCategory = prvalue(load) -# 1307| getElse(): [VariableAccess] x -# 1307| Type = [IntType] int -# 1307| ValueCategory = prvalue(load) -# 1307| getCondition().getFullyConverted(): [CStyleCast] (bool)... -# 1307| Conversion = [BoolConversion] conversion to bool -# 1307| Type = [BoolType] bool -# 1307| ValueCategory = prvalue -# 1307| getElse().getFullyConverted(): [CStyleCast] (long)... -# 1307| Conversion = [IntegralConversion] integral conversion -# 1307| Type = [LongType] long -# 1307| ValueCategory = prvalue -# 1307| getRValue().getFullyConverted(): [CStyleCast] (int)... -# 1307| Conversion = [IntegralConversion] integral conversion -# 1307| Type = [IntType] int -# 1307| ValueCategory = prvalue -# 1308| getStmt(6): [ExprStmt] ExprStmt -# 1308| getExpr(): [AssignExpr] ... = ... -# 1308| Type = [IntType] int -# 1308| ValueCategory = lvalue -# 1308| getLValue(): [VariableAccess] z -# 1308| Type = [IntType] int -# 1308| ValueCategory = lvalue -# 1308| getRValue(): [ConditionalExpr] ... ? ... : ... -# 1308| Type = [LongType] long -# 1308| ValueCategory = prvalue(load) -# 1308| getCondition(): [VariableAccess] y -# 1308| Type = [LongType] long -# 1308| ValueCategory = prvalue(load) -# 1308| getElse(): [VariableAccess] y -# 1308| Type = [LongType] long -# 1308| ValueCategory = prvalue(load) -# 1308| getCondition().getFullyConverted(): [CStyleCast] (bool)... -# 1308| Conversion = [BoolConversion] conversion to bool -# 1308| Type = [BoolType] bool -# 1308| ValueCategory = prvalue -# 1308| getRValue().getFullyConverted(): [CStyleCast] (int)... -# 1308| Conversion = [IntegralConversion] integral conversion -# 1308| Type = [IntType] int -# 1308| ValueCategory = prvalue -# 1310| getStmt(7): [ExprStmt] ExprStmt -# 1310| getExpr(): [AssignExpr] ... = ... -# 1310| Type = [IntType] int -# 1310| ValueCategory = lvalue -# 1310| getLValue(): [VariableAccess] z -# 1310| Type = [IntType] int -# 1310| ValueCategory = lvalue -# 1310| getRValue(): [ConditionalExpr] ... ? ... : ... -# 1310| Type = [IntType] int -# 1310| ValueCategory = prvalue(load) -# 1310| getCondition(): [LogicalOrExpr] ... || ... -# 1310| Type = [BoolType] bool -# 1310| ValueCategory = prvalue -# 1310| getLeftOperand(): [LogicalAndExpr] ... && ... -# 1310| Type = [BoolType] bool -# 1310| ValueCategory = prvalue -# 1310| getLeftOperand(): [VariableAccess] x -# 1310| Type = [IntType] int -# 1310| ValueCategory = prvalue(load) -# 1310| getRightOperand(): [VariableAccess] b -# 1310| Type = [BoolType] bool -# 1310| ValueCategory = prvalue(load) -# 1310| getLeftOperand().getFullyConverted(): [CStyleCast] (bool)... -# 1310| Conversion = [BoolConversion] conversion to bool -# 1310| Type = [BoolType] bool -# 1310| ValueCategory = prvalue -# 1310| getRightOperand(): [VariableAccess] y -# 1310| Type = [LongType] long -# 1310| ValueCategory = prvalue(load) -# 1310| getRightOperand().getFullyConverted(): [CStyleCast] (bool)... -# 1310| Conversion = [BoolConversion] conversion to bool -# 1310| Type = [BoolType] bool -# 1310| ValueCategory = prvalue -# 1310| getElse(): [VariableAccess] x -# 1310| Type = [IntType] int -# 1310| ValueCategory = prvalue(load) -# 1310| getCondition().getFullyConverted(): [ParenthesisExpr] (...) -# 1310| Type = [BoolType] bool -# 1310| ValueCategory = prvalue -# 1311| getStmt(8): [ReturnStmt] return ... -# 1313| [TopLevelFunction] bool predicateA() -# 1313| : -# 1314| [TopLevelFunction] bool predicateB() +# 1310| [MemberFunction] void A::static_member(A*, int) +# 1310| : +# 1310| getParameter(0): [Parameter] a +# 1310| Type = [PointerType] A * +# 1310| getParameter(1): [Parameter] x +# 1310| Type = [IntType] int +# 1310| getEntryPoint(): [BlockStmt] { ... } +# 1311| getStmt(0): [ExprStmt] ExprStmt +# 1311| getExpr(): [AssignExpr] ... = ... +# 1311| Type = [IntType] int +# 1311| ValueCategory = lvalue +# 1311| getLValue(): [PointerFieldAccess] member +# 1311| Type = [IntType] int +# 1311| ValueCategory = lvalue +# 1311| getQualifier(): [VariableAccess] a +# 1311| Type = [PointerType] A * +# 1311| ValueCategory = prvalue(load) +# 1311| getRValue(): [VariableAccess] x +# 1311| Type = [IntType] int +# 1311| ValueCategory = prvalue(load) +# 1312| getStmt(1): [ReturnStmt] return ... +# 1314| [MemberFunction] void A::static_member_without_def() # 1314| : -# 1316| [TopLevelFunction] int shortCircuitConditional(int, int) -# 1316| : -# 1316| getParameter(0): [Parameter] x -# 1316| Type = [IntType] int -# 1316| getParameter(1): [Parameter] y -# 1316| Type = [IntType] int -# 1316| getEntryPoint(): [BlockStmt] { ... } -# 1317| getStmt(0): [ReturnStmt] return ... -# 1317| getExpr(): [ConditionalExpr] ... ? ... : ... -# 1317| Type = [IntType] int -# 1317| ValueCategory = prvalue(load) -# 1317| getCondition(): [LogicalAndExpr] ... && ... -# 1317| Type = [BoolType] bool -# 1317| ValueCategory = prvalue -# 1317| getLeftOperand(): [FunctionCall] call to predicateA -# 1317| Type = [BoolType] bool -# 1317| ValueCategory = prvalue -# 1317| getRightOperand(): [FunctionCall] call to predicateB -# 1317| Type = [BoolType] bool -# 1317| ValueCategory = prvalue -# 1317| getThen(): [VariableAccess] x -# 1317| Type = [IntType] int -# 1317| ValueCategory = prvalue(load) -# 1317| getElse(): [VariableAccess] y -# 1317| Type = [IntType] int -# 1317| ValueCategory = prvalue(load) -# 1320| [Operator,TopLevelFunction] void* operator new(size_t, void*) -# 1320| : -# 1320| getParameter(0): [Parameter] (unnamed parameter 0) -# 1320| Type = [CTypedefType,Size_t] size_t -# 1320| getParameter(1): [Parameter] (unnamed parameter 1) -# 1320| Type = [VoidPointerType] void * -# 1322| [TopLevelFunction] void f(int*) -# 1322| : -# 1322| getParameter(0): [Parameter] p -# 1322| Type = [IntPointerType] int * -# 1323| getEntryPoint(): [BlockStmt] { ... } -# 1324| getStmt(0): [ExprStmt] ExprStmt -# 1324| getExpr(): [NewExpr] new -# 1324| Type = [IntPointerType] int * -# 1324| ValueCategory = prvalue -# 1324| getAllocatorCall(): [FunctionCall] call to operator new -# 1324| Type = [VoidPointerType] void * -# 1324| ValueCategory = prvalue -# 1324| getArgument(0): [ErrorExpr] -# 1324| Type = [LongType] unsigned long -# 1324| ValueCategory = prvalue -# 1324| getArgument(1): [VariableAccess] p -# 1324| Type = [IntPointerType] int * -# 1324| ValueCategory = prvalue(load) -# 1324| getArgument(1).getFullyConverted(): [CStyleCast] (void *)... -# 1324| Conversion = [PointerConversion] pointer conversion -# 1324| Type = [VoidPointerType] void * -# 1324| ValueCategory = prvalue -# 1325| getStmt(1): [ReturnStmt] return ... -# 1328| [FunctionTemplateInstantiation,TopLevelFunction] Point defaultConstruct() -# 1328| : -# 1328| getEntryPoint(): [BlockStmt] { ... } -# 1329| getStmt(0): [ReturnStmt] return ... -# 1329| getExpr(): [Literal] 0 -# 1329| Type = [Struct] Point -# 1329| Value = [Literal] 0 -# 1329| ValueCategory = prvalue -# 1328| [FunctionTemplateInstantiation,TopLevelFunction] String defaultConstruct() -# 1328| : -# 1328| getEntryPoint(): [BlockStmt] { ... } -# 1329| getStmt(0): [ReturnStmt] return ... -# 1329| getExpr(): [ConstructorCall] call to String +# 1317| [TopLevelFunction] A* getAnInstanceOfA() +# 1317| : +# 1319| [TopLevelFunction] void test_static_member_functions(int, A*) +# 1319| : +# 1319| getParameter(0): [Parameter] int_arg +# 1319| Type = [IntType] int +# 1319| getParameter(1): [Parameter] a_arg +# 1319| Type = [PointerType] A * +# 1319| getEntryPoint(): [BlockStmt] { ... } +# 1320| getStmt(0): [DeclStmt] declaration +# 1320| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c +# 1320| Type = [Class] C +# 1320| getVariable().getInitializer(): [Initializer] initializer for c +# 1320| getExpr(): [ConstructorCall] call to C +# 1320| Type = [VoidType] void +# 1320| ValueCategory = prvalue +# 1321| getStmt(1): [ExprStmt] ExprStmt +# 1321| getExpr(): [FunctionCall] call to StaticMemberFunction +# 1321| Type = [IntType] int +# 1321| ValueCategory = prvalue +# 1321| getQualifier(): [VariableAccess] c +# 1321| Type = [Class] C +# 1321| ValueCategory = lvalue +# 1321| getArgument(0): [Literal] 10 +# 1321| Type = [IntType] int +# 1321| Value = [Literal] 10 +# 1321| ValueCategory = prvalue +# 1322| getStmt(2): [ExprStmt] ExprStmt +# 1322| getExpr(): [FunctionCall] call to StaticMemberFunction +# 1322| Type = [IntType] int +# 1322| ValueCategory = prvalue +# 1322| getArgument(0): [Literal] 10 +# 1322| Type = [IntType] int +# 1322| Value = [Literal] 10 +# 1322| ValueCategory = prvalue +# 1324| getStmt(3): [DeclStmt] declaration +# 1324| getDeclarationEntry(0): [VariableDeclarationEntry] definition of a +# 1324| Type = [Struct] A +# 1325| getStmt(4): [ExprStmt] ExprStmt +# 1325| getExpr(): [FunctionCall] call to static_member +# 1325| Type = [VoidType] void +# 1325| ValueCategory = prvalue +# 1325| getQualifier(): [VariableAccess] a +# 1325| Type = [Struct] A +# 1325| ValueCategory = lvalue +# 1325| getArgument(0): [AddressOfExpr] & ... +# 1325| Type = [PointerType] A * +# 1325| ValueCategory = prvalue +# 1325| getOperand(): [VariableAccess] a +# 1325| Type = [Struct] A +# 1325| ValueCategory = lvalue +# 1325| getArgument(1): [VariableAccess] int_arg +# 1325| Type = [IntType] int +# 1325| ValueCategory = prvalue(load) +# 1326| getStmt(5): [ExprStmt] ExprStmt +# 1326| getExpr(): [FunctionCall] call to static_member +# 1326| Type = [VoidType] void +# 1326| ValueCategory = prvalue +# 1326| getArgument(0): [AddressOfExpr] & ... +# 1326| Type = [PointerType] A * +# 1326| ValueCategory = prvalue +# 1326| getOperand(): [VariableAccess] a +# 1326| Type = [Struct] A +# 1326| ValueCategory = lvalue +# 1326| getArgument(1): [VariableAccess] int_arg +# 1326| Type = [IntType] int +# 1326| ValueCategory = prvalue(load) +# 1328| getStmt(6): [ExprStmt] ExprStmt +# 1328| getExpr(): [FunctionCall] call to static_member +# 1328| Type = [VoidType] void +# 1328| ValueCategory = prvalue +# 1328| getQualifier(): [AddressOfExpr] & ... +# 1328| Type = [PointerType] A * +# 1328| ValueCategory = prvalue +# 1328| getOperand(): [VariableAccess] a +# 1328| Type = [Struct] A +# 1328| ValueCategory = lvalue +# 1328| getArgument(0): [VariableAccess] a_arg +# 1328| Type = [PointerType] A * +# 1328| ValueCategory = prvalue(load) +# 1328| getArgument(1): [AddExpr] ... + ... +# 1328| Type = [IntType] int +# 1328| ValueCategory = prvalue +# 1328| getLeftOperand(): [VariableAccess] int_arg +# 1328| Type = [IntType] int +# 1328| ValueCategory = prvalue(load) +# 1328| getRightOperand(): [Literal] 2 +# 1328| Type = [IntType] int +# 1328| Value = [Literal] 2 +# 1328| ValueCategory = prvalue +# 1328| getQualifier().getFullyConverted(): [ParenthesisExpr] (...) +# 1328| Type = [PointerType] A * +# 1328| ValueCategory = prvalue +# 1329| getStmt(7): [ExprStmt] ExprStmt +# 1329| getExpr(): [FunctionCall] call to static_member # 1329| Type = [VoidType] void # 1329| ValueCategory = prvalue -# 1328| [TemplateFunction,TopLevelFunction] T defaultConstruct() -# 1328| : -# 1328| getEntryPoint(): [BlockStmt] { ... } -# 1329| getStmt(0): [ReturnStmt] return ... -# 1329| getExpr(): [Literal] 0 -# 1329| Type = [TemplateParameter] T -# 1329| Value = [Literal] 0 -# 1329| ValueCategory = prvalue -# 1329| getExpr().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1329| Type = [TemplateParameter] T -# 1329| ValueCategory = prvalue(load) -# 1328| [FunctionTemplateInstantiation,TopLevelFunction] copy_constructor defaultConstruct() -# 1328| : -# 1328| getEntryPoint(): [BlockStmt] { ... } -# 1329| getStmt(0): [ReturnStmt] return ... -# 1329| getExpr(): [ConstructorCall] call to copy_constructor -# 1329| Type = [VoidType] void -# 1329| ValueCategory = prvalue -# 1328| [FunctionTemplateInstantiation,TopLevelFunction] destructor_only defaultConstruct() -# 1328| : -# 1328| getEntryPoint(): [BlockStmt] { ... } -# 1329| getStmt(0): [ReturnStmt] return ... -# 1329| getExpr(): [Literal] 0 -# 1329| Type = [Class] destructor_only -# 1329| Value = [Literal] 0 -# 1329| ValueCategory = prvalue -# 1332| [CopyAssignmentOperator] constructor_only& constructor_only::operator=(constructor_only const&) -# 1332| : +# 1329| getQualifier(): [PointerDereferenceExpr] * ... +# 1329| Type = [Struct] A +# 1329| ValueCategory = lvalue +# 1329| getOperand(): [VariableAccess] a_arg +# 1329| Type = [PointerType] A * +# 1329| ValueCategory = prvalue(load) +# 1329| getArgument(0): [AddressOfExpr] & ... +# 1329| Type = [PointerType] A * +# 1329| ValueCategory = prvalue +# 1329| getOperand(): [VariableAccess] a +# 1329| Type = [Struct] A +# 1329| ValueCategory = lvalue +# 1329| getArgument(1): [Literal] 99 +# 1329| Type = [IntType] int +# 1329| Value = [Literal] 99 +# 1329| ValueCategory = prvalue +# 1329| getQualifier().getFullyConverted(): [ParenthesisExpr] (...) +# 1329| Type = [Struct] A +# 1329| ValueCategory = lvalue +# 1330| getStmt(8): [ExprStmt] ExprStmt +# 1330| getExpr(): [FunctionCall] call to static_member +# 1330| Type = [VoidType] void +# 1330| ValueCategory = prvalue +# 1330| getQualifier(): [VariableAccess] a_arg +# 1330| Type = [PointerType] A * +# 1330| ValueCategory = prvalue(load) +# 1330| getArgument(0): [VariableAccess] a_arg +# 1330| Type = [PointerType] A * +# 1330| ValueCategory = prvalue(load) +# 1330| getArgument(1): [UnaryMinusExpr] - ... +# 1330| Type = [IntType] int +# 1330| Value = [UnaryMinusExpr] -1 +# 1330| ValueCategory = prvalue +# 1330| getOperand(): [Literal] 1 +# 1330| Type = [IntType] int +# 1330| Value = [Literal] 1 +# 1330| ValueCategory = prvalue +# 1332| getStmt(9): [ExprStmt] ExprStmt +# 1332| getExpr(): [FunctionCall] call to static_member_without_def +# 1332| Type = [VoidType] void +# 1332| ValueCategory = prvalue +# 1332| getQualifier(): [VariableAccess] a +# 1332| Type = [Struct] A +# 1332| ValueCategory = lvalue +# 1333| getStmt(10): [ExprStmt] ExprStmt +# 1333| getExpr(): [FunctionCall] call to static_member_without_def +# 1333| Type = [VoidType] void +# 1333| ValueCategory = prvalue +# 1335| getStmt(11): [ExprStmt] ExprStmt +# 1335| getExpr(): [FunctionCall] call to static_member_without_def +# 1335| Type = [VoidType] void +# 1335| ValueCategory = prvalue +# 1335| getQualifier(): [FunctionCall] call to getAnInstanceOfA +# 1335| Type = [PointerType] A * +# 1335| ValueCategory = prvalue +# 1336| getStmt(12): [ReturnStmt] return ... +# 1336| getImplicitDestructorCall(0): [DestructorCall] call to ~C +# 1336| Type = [VoidType] void +# 1336| ValueCategory = prvalue +# 1336| getQualifier(): [VariableAccess] c +# 1336| Type = [Class] C +# 1336| ValueCategory = lvalue +# 1338| [TopLevelFunction] int missingReturnValue(bool, int) +# 1338| : +# 1338| getParameter(0): [Parameter] b +# 1338| Type = [BoolType] bool +# 1338| getParameter(1): [Parameter] x +# 1338| Type = [IntType] int +# 1338| getEntryPoint(): [BlockStmt] { ... } +# 1339| getStmt(0): [IfStmt] if (...) ... +# 1339| getCondition(): [VariableAccess] b +# 1339| Type = [BoolType] bool +# 1339| ValueCategory = prvalue(load) +# 1339| getThen(): [BlockStmt] { ... } +# 1340| getStmt(0): [ReturnStmt] return ... +# 1340| getExpr(): [VariableAccess] x +# 1340| Type = [IntType] int +# 1340| ValueCategory = prvalue(load) +# 1342| getStmt(1): [ReturnStmt] return ... +# 1344| [TopLevelFunction] void returnVoid(int, int) +# 1344| : +# 1344| getParameter(0): [Parameter] x +# 1344| Type = [IntType] int +# 1344| getParameter(1): [Parameter] y +# 1344| Type = [IntType] int +# 1344| getEntryPoint(): [BlockStmt] { ... } +# 1345| getStmt(0): [ReturnStmt] return ... +# 1345| getExpr(): [FunctionCall] call to IntegerOps +# 1345| Type = [VoidType] void +# 1345| ValueCategory = prvalue +# 1345| getArgument(0): [VariableAccess] x +# 1345| Type = [IntType] int +# 1345| ValueCategory = prvalue(load) +# 1345| getArgument(1): [VariableAccess] y +# 1345| Type = [IntType] int +# 1345| ValueCategory = prvalue(load) +# 1348| [TopLevelFunction] void gccBinaryConditional(bool, int, long) +# 1348| : +# 1348| getParameter(0): [Parameter] b +# 1348| Type = [BoolType] bool +# 1348| getParameter(1): [Parameter] x +# 1348| Type = [IntType] int +# 1348| getParameter(2): [Parameter] y +# 1348| Type = [LongType] long +# 1348| getEntryPoint(): [BlockStmt] { ... } +# 1349| getStmt(0): [DeclStmt] declaration +# 1349| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z +# 1349| Type = [IntType] int +# 1349| getVariable().getInitializer(): [Initializer] initializer for z +# 1349| getExpr(): [VariableAccess] x +# 1349| Type = [IntType] int +# 1349| ValueCategory = prvalue(load) +# 1350| getStmt(1): [ExprStmt] ExprStmt +# 1350| getExpr(): [AssignExpr] ... = ... +# 1350| Type = [IntType] int +# 1350| ValueCategory = lvalue +# 1350| getLValue(): [VariableAccess] z +# 1350| Type = [IntType] int +# 1350| ValueCategory = lvalue +# 1350| getRValue(): [ConditionalExpr] ... ? ... : ... +# 1350| Type = [IntType] int +# 1350| ValueCategory = prvalue(load) +# 1350| getCondition(): [VariableAccess] b +# 1350| Type = [BoolType] bool +# 1350| ValueCategory = prvalue(load) +# 1350| getElse(): [VariableAccess] x +# 1350| Type = [IntType] int +# 1350| ValueCategory = prvalue(load) +# 1351| getStmt(2): [ExprStmt] ExprStmt +# 1351| getExpr(): [AssignExpr] ... = ... +# 1351| Type = [IntType] int +# 1351| ValueCategory = lvalue +# 1351| getLValue(): [VariableAccess] z +# 1351| Type = [IntType] int +# 1351| ValueCategory = lvalue +# 1351| getRValue(): [ConditionalExpr] ... ? ... : ... +# 1351| Type = [LongType] long +# 1351| ValueCategory = prvalue(load) +# 1351| getCondition(): [VariableAccess] b +# 1351| Type = [BoolType] bool +# 1351| ValueCategory = prvalue(load) +# 1351| getElse(): [VariableAccess] y +# 1351| Type = [LongType] long +# 1351| ValueCategory = prvalue(load) +# 1351| getRValue().getFullyConverted(): [CStyleCast] (int)... +# 1351| Conversion = [IntegralConversion] integral conversion +# 1351| Type = [IntType] int +# 1351| ValueCategory = prvalue +# 1352| getStmt(3): [ExprStmt] ExprStmt +# 1352| getExpr(): [AssignExpr] ... = ... +# 1352| Type = [IntType] int +# 1352| ValueCategory = lvalue +# 1352| getLValue(): [VariableAccess] z +# 1352| Type = [IntType] int +# 1352| ValueCategory = lvalue +# 1352| getRValue(): [ConditionalExpr] ... ? ... : ... +# 1352| Type = [IntType] int +# 1352| ValueCategory = prvalue(load) +# 1352| getCondition(): [VariableAccess] x +# 1352| Type = [IntType] int +# 1352| ValueCategory = prvalue(load) +# 1352| getElse(): [VariableAccess] x +# 1352| Type = [IntType] int +# 1352| ValueCategory = prvalue(load) +# 1352| getCondition().getFullyConverted(): [CStyleCast] (bool)... +# 1352| Conversion = [BoolConversion] conversion to bool +# 1352| Type = [BoolType] bool +# 1352| ValueCategory = prvalue +# 1353| getStmt(4): [ExprStmt] ExprStmt +# 1353| getExpr(): [AssignExpr] ... = ... +# 1353| Type = [IntType] int +# 1353| ValueCategory = lvalue +# 1353| getLValue(): [VariableAccess] z +# 1353| Type = [IntType] int +# 1353| ValueCategory = lvalue +# 1353| getRValue(): [ConditionalExpr] ... ? ... : ... +# 1353| Type = [LongType] long +# 1353| ValueCategory = prvalue(load) +# 1353| getCondition(): [VariableAccess] x +# 1353| Type = [IntType] int +# 1353| ValueCategory = prvalue(load) +# 1353| getElse(): [VariableAccess] y +# 1353| Type = [LongType] long +# 1353| ValueCategory = prvalue(load) +# 1353| getCondition().getFullyConverted(): [CStyleCast] (bool)... +# 1353| Conversion = [BoolConversion] conversion to bool +# 1353| Type = [BoolType] bool +# 1353| ValueCategory = prvalue +# 1353| getRValue().getFullyConverted(): [CStyleCast] (int)... +# 1353| Conversion = [IntegralConversion] integral conversion +# 1353| Type = [IntType] int +# 1353| ValueCategory = prvalue +# 1354| getStmt(5): [ExprStmt] ExprStmt +# 1354| getExpr(): [AssignExpr] ... = ... +# 1354| Type = [IntType] int +# 1354| ValueCategory = lvalue +# 1354| getLValue(): [VariableAccess] z +# 1354| Type = [IntType] int +# 1354| ValueCategory = lvalue +# 1354| getRValue(): [ConditionalExpr] ... ? ... : ... +# 1354| Type = [LongType] long +# 1354| ValueCategory = prvalue(load) +# 1354| getCondition(): [VariableAccess] y +# 1354| Type = [LongType] long +# 1354| ValueCategory = prvalue(load) +# 1354| getElse(): [VariableAccess] x +# 1354| Type = [IntType] int +# 1354| ValueCategory = prvalue(load) +# 1354| getCondition().getFullyConverted(): [CStyleCast] (bool)... +# 1354| Conversion = [BoolConversion] conversion to bool +# 1354| Type = [BoolType] bool +# 1354| ValueCategory = prvalue +# 1354| getElse().getFullyConverted(): [CStyleCast] (long)... +# 1354| Conversion = [IntegralConversion] integral conversion +# 1354| Type = [LongType] long +# 1354| ValueCategory = prvalue +# 1354| getRValue().getFullyConverted(): [CStyleCast] (int)... +# 1354| Conversion = [IntegralConversion] integral conversion +# 1354| Type = [IntType] int +# 1354| ValueCategory = prvalue +# 1355| getStmt(6): [ExprStmt] ExprStmt +# 1355| getExpr(): [AssignExpr] ... = ... +# 1355| Type = [IntType] int +# 1355| ValueCategory = lvalue +# 1355| getLValue(): [VariableAccess] z +# 1355| Type = [IntType] int +# 1355| ValueCategory = lvalue +# 1355| getRValue(): [ConditionalExpr] ... ? ... : ... +# 1355| Type = [LongType] long +# 1355| ValueCategory = prvalue(load) +# 1355| getCondition(): [VariableAccess] y +# 1355| Type = [LongType] long +# 1355| ValueCategory = prvalue(load) +# 1355| getElse(): [VariableAccess] y +# 1355| Type = [LongType] long +# 1355| ValueCategory = prvalue(load) +# 1355| getCondition().getFullyConverted(): [CStyleCast] (bool)... +# 1355| Conversion = [BoolConversion] conversion to bool +# 1355| Type = [BoolType] bool +# 1355| ValueCategory = prvalue +# 1355| getRValue().getFullyConverted(): [CStyleCast] (int)... +# 1355| Conversion = [IntegralConversion] integral conversion +# 1355| Type = [IntType] int +# 1355| ValueCategory = prvalue +# 1357| getStmt(7): [ExprStmt] ExprStmt +# 1357| getExpr(): [AssignExpr] ... = ... +# 1357| Type = [IntType] int +# 1357| ValueCategory = lvalue +# 1357| getLValue(): [VariableAccess] z +# 1357| Type = [IntType] int +# 1357| ValueCategory = lvalue +# 1357| getRValue(): [ConditionalExpr] ... ? ... : ... +# 1357| Type = [IntType] int +# 1357| ValueCategory = prvalue(load) +# 1357| getCondition(): [LogicalOrExpr] ... || ... +# 1357| Type = [BoolType] bool +# 1357| ValueCategory = prvalue +# 1357| getLeftOperand(): [LogicalAndExpr] ... && ... +# 1357| Type = [BoolType] bool +# 1357| ValueCategory = prvalue +# 1357| getLeftOperand(): [VariableAccess] x +# 1357| Type = [IntType] int +# 1357| ValueCategory = prvalue(load) +# 1357| getRightOperand(): [VariableAccess] b +# 1357| Type = [BoolType] bool +# 1357| ValueCategory = prvalue(load) +# 1357| getLeftOperand().getFullyConverted(): [CStyleCast] (bool)... +# 1357| Conversion = [BoolConversion] conversion to bool +# 1357| Type = [BoolType] bool +# 1357| ValueCategory = prvalue +# 1357| getRightOperand(): [VariableAccess] y +# 1357| Type = [LongType] long +# 1357| ValueCategory = prvalue(load) +# 1357| getRightOperand().getFullyConverted(): [CStyleCast] (bool)... +# 1357| Conversion = [BoolConversion] conversion to bool +# 1357| Type = [BoolType] bool +# 1357| ValueCategory = prvalue +# 1357| getElse(): [VariableAccess] x +# 1357| Type = [IntType] int +# 1357| ValueCategory = prvalue(load) +# 1357| getCondition().getFullyConverted(): [ParenthesisExpr] (...) +# 1357| Type = [BoolType] bool +# 1357| ValueCategory = prvalue +# 1358| getStmt(8): [ReturnStmt] return ... +# 1360| [TopLevelFunction] bool predicateA() +# 1360| : +# 1361| [TopLevelFunction] bool predicateB() +# 1361| : +# 1363| [TopLevelFunction] int shortCircuitConditional(int, int) +# 1363| : +# 1363| getParameter(0): [Parameter] x +# 1363| Type = [IntType] int +# 1363| getParameter(1): [Parameter] y +# 1363| Type = [IntType] int +# 1363| getEntryPoint(): [BlockStmt] { ... } +# 1364| getStmt(0): [ReturnStmt] return ... +# 1364| getExpr(): [ConditionalExpr] ... ? ... : ... +# 1364| Type = [IntType] int +# 1364| ValueCategory = prvalue(load) +# 1364| getCondition(): [LogicalAndExpr] ... && ... +# 1364| Type = [BoolType] bool +# 1364| ValueCategory = prvalue +# 1364| getLeftOperand(): [FunctionCall] call to predicateA +# 1364| Type = [BoolType] bool +# 1364| ValueCategory = prvalue +# 1364| getRightOperand(): [FunctionCall] call to predicateB +# 1364| Type = [BoolType] bool +# 1364| ValueCategory = prvalue +# 1364| getThen(): [VariableAccess] x +# 1364| Type = [IntType] int +# 1364| ValueCategory = prvalue(load) +# 1364| getElse(): [VariableAccess] y +# 1364| Type = [IntType] int +# 1364| ValueCategory = prvalue(load) +# 1367| [Operator,TopLevelFunction] void* operator new(size_t, void*) +# 1367| : +# 1367| getParameter(0): [Parameter] (unnamed parameter 0) +# 1367| Type = [CTypedefType,Size_t] size_t +# 1367| getParameter(1): [Parameter] (unnamed parameter 1) +# 1367| Type = [VoidPointerType] void * +# 1369| [TopLevelFunction] void f(int*) +# 1369| : +# 1369| getParameter(0): [Parameter] p +# 1369| Type = [IntPointerType] int * +# 1370| getEntryPoint(): [BlockStmt] { ... } +# 1371| getStmt(0): [ExprStmt] ExprStmt +# 1371| getExpr(): [NewExpr] new +# 1371| Type = [IntPointerType] int * +# 1371| ValueCategory = prvalue +# 1371| getAllocatorCall(): [FunctionCall] call to operator new +# 1371| Type = [VoidPointerType] void * +# 1371| ValueCategory = prvalue +# 1371| getArgument(0): [ErrorExpr] +# 1371| Type = [LongType] unsigned long +# 1371| ValueCategory = prvalue +# 1371| getArgument(1): [VariableAccess] p +# 1371| Type = [IntPointerType] int * +# 1371| ValueCategory = prvalue(load) +# 1371| getArgument(1).getFullyConverted(): [CStyleCast] (void *)... +# 1371| Conversion = [PointerConversion] pointer conversion +# 1371| Type = [VoidPointerType] void * +# 1371| ValueCategory = prvalue +# 1372| getStmt(1): [ReturnStmt] return ... +# 1375| [FunctionTemplateInstantiation,TopLevelFunction] Point defaultConstruct() +# 1375| : +# 1375| getEntryPoint(): [BlockStmt] { ... } +# 1376| getStmt(0): [ReturnStmt] return ... +# 1376| getExpr(): [Literal] 0 +# 1376| Type = [Struct] Point +# 1376| Value = [Literal] 0 +# 1376| ValueCategory = prvalue +# 1375| [FunctionTemplateInstantiation,TopLevelFunction] String defaultConstruct() +# 1375| : +# 1375| getEntryPoint(): [BlockStmt] { ... } +# 1376| getStmt(0): [ReturnStmt] return ... +# 1376| getExpr(): [ConstructorCall] call to String +# 1376| Type = [VoidType] void +# 1376| ValueCategory = prvalue +# 1375| [TemplateFunction,TopLevelFunction] T defaultConstruct() +# 1375| : +# 1375| getEntryPoint(): [BlockStmt] { ... } +# 1376| getStmt(0): [ReturnStmt] return ... +# 1376| getExpr(): [Literal] 0 +# 1376| Type = [TemplateParameter] T +# 1376| Value = [Literal] 0 +# 1376| ValueCategory = prvalue +# 1376| getExpr().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 1376| Type = [TemplateParameter] T +# 1376| ValueCategory = prvalue(load) +# 1375| [FunctionTemplateInstantiation,TopLevelFunction] copy_constructor defaultConstruct() +# 1375| : +# 1375| getEntryPoint(): [BlockStmt] { ... } +# 1376| getStmt(0): [ReturnStmt] return ... +# 1376| getExpr(): [ConstructorCall] call to copy_constructor +# 1376| Type = [VoidType] void +# 1376| ValueCategory = prvalue +# 1375| [FunctionTemplateInstantiation,TopLevelFunction] destructor_only defaultConstruct() +# 1375| : +# 1375| getEntryPoint(): [BlockStmt] { ... } +# 1376| getStmt(0): [ReturnStmt] return ... +# 1376| getExpr(): [Literal] 0 +# 1376| Type = [Class] destructor_only +# 1376| Value = [Literal] 0 +# 1376| ValueCategory = prvalue +# 1379| [CopyAssignmentOperator] constructor_only& constructor_only::operator=(constructor_only const&) +# 1379| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const constructor_only & -# 1332| [MoveAssignmentOperator] constructor_only& constructor_only::operator=(constructor_only&&) -# 1332| : +# 1379| [MoveAssignmentOperator] constructor_only& constructor_only::operator=(constructor_only&&) +# 1379| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] constructor_only && -# 1332| [CopyConstructor] void constructor_only::constructor_only(constructor_only const&) -# 1332| : +# 1379| [CopyConstructor] void constructor_only::constructor_only(constructor_only const&) +# 1379| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const constructor_only & -# 1332| [MoveConstructor] void constructor_only::constructor_only(constructor_only&&) -# 1332| : +# 1379| [MoveConstructor] void constructor_only::constructor_only(constructor_only&&) +# 1379| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] constructor_only && -# 1337| [Constructor] void constructor_only::constructor_only(int) -# 1337| : -# 1337| getParameter(0): [Parameter] x -# 1337| Type = [IntType] int -# 1340| [CopyAssignmentOperator] copy_constructor& copy_constructor::operator=(copy_constructor const&) -# 1340| : +# 1384| [Constructor] void constructor_only::constructor_only(int) +# 1384| : +# 1384| getParameter(0): [Parameter] x +# 1384| Type = [IntType] int +# 1387| [CopyAssignmentOperator] copy_constructor& copy_constructor::operator=(copy_constructor const&) +# 1387| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const copy_constructor & -# 1345| [Constructor] void copy_constructor::copy_constructor() -# 1345| : -# 1346| [CopyConstructor] void copy_constructor::copy_constructor(copy_constructor const&) -# 1346| : -# 1346| getParameter(0): [Parameter] (unnamed parameter 0) -# 1346| Type = [LValueReferenceType] const copy_constructor & -# 1348| [MemberFunction] void copy_constructor::method() -# 1348| : -# 1351| [CopyAssignmentOperator] destructor_only& destructor_only::operator=(destructor_only const&) -# 1351| : +# 1392| [Constructor] void copy_constructor::copy_constructor() +# 1392| : +# 1393| [CopyConstructor] void copy_constructor::copy_constructor(copy_constructor const&) +# 1393| : +# 1393| getParameter(0): [Parameter] (unnamed parameter 0) +# 1393| Type = [LValueReferenceType] const copy_constructor & +# 1395| [MemberFunction] void copy_constructor::method() +# 1395| : +# 1398| [CopyAssignmentOperator] destructor_only& destructor_only::operator=(destructor_only const&) +# 1398| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const destructor_only & -# 1351| [Constructor] void destructor_only::destructor_only() -# 1351| : -# 1353| [Destructor] void destructor_only::~destructor_only() -# 1353| : -# 1355| [MemberFunction] void destructor_only::method() -# 1355| : -# 1359| [FunctionTemplateInstantiation,TopLevelFunction] void acceptRef(Point const&) -# 1359| : -# 1359| getParameter(0): [Parameter] v -# 1359| Type = [LValueReferenceType] const Point & -# 1359| [FunctionTemplateInstantiation,TopLevelFunction] void acceptRef(String const&) -# 1359| : -# 1359| getParameter(0): [Parameter] v -# 1359| Type = [LValueReferenceType] const String & -# 1359| [TemplateFunction,TopLevelFunction] void acceptRef(T const&) -# 1359| : -# 1359| getParameter(0): [Parameter] v -# 1359| Type = [LValueReferenceType] const T & -# 1359| [FunctionTemplateInstantiation,TopLevelFunction] void acceptRef(copy_constructor const&) -# 1359| : -# 1359| getParameter(0): [Parameter] v -# 1359| Type = [LValueReferenceType] const copy_constructor & -# 1359| [FunctionTemplateInstantiation,TopLevelFunction] void acceptRef(destructor_only const&) -# 1359| : -# 1359| getParameter(0): [Parameter] v -# 1359| Type = [LValueReferenceType] const destructor_only & -# 1362| [FunctionTemplateInstantiation,TopLevelFunction] void acceptValue(Point) -# 1362| : -# 1362| getParameter(0): [Parameter] v -# 1362| Type = [Struct] Point -# 1362| [FunctionTemplateInstantiation,TopLevelFunction] void acceptValue(String) -# 1362| : -# 1362| getParameter(0): [Parameter] v -# 1362| Type = [Struct] String -# 1362| [TemplateFunction,TopLevelFunction] void acceptValue(T) -# 1362| : -# 1362| getParameter(0): [Parameter] v -# 1362| Type = [TemplateParameter] T -# 1362| [FunctionTemplateInstantiation,TopLevelFunction] void acceptValue(copy_constructor) -# 1362| : -# 1362| getParameter(0): [Parameter] v -# 1362| Type = [Class] copy_constructor -# 1362| [FunctionTemplateInstantiation,TopLevelFunction] void acceptValue(destructor_only) -# 1362| : -# 1362| getParameter(0): [Parameter] v -# 1362| Type = [Class] destructor_only -# 1365| [FunctionTemplateInstantiation,TopLevelFunction] POD_Derived returnValue() -# 1365| : -# 1365| [FunctionTemplateInstantiation,TopLevelFunction] POD_Middle returnValue() -# 1365| : -# 1365| [FunctionTemplateInstantiation,TopLevelFunction] Point returnValue() -# 1365| : -# 1365| [FunctionTemplateInstantiation,TopLevelFunction] String returnValue() -# 1365| : -# 1365| [TemplateFunction,TopLevelFunction] T returnValue() -# 1365| : -# 1365| [FunctionTemplateInstantiation,TopLevelFunction] UnusualFields returnValue() -# 1365| : -# 1365| [FunctionTemplateInstantiation,TopLevelFunction] copy_constructor returnValue() -# 1365| : -# 1365| [FunctionTemplateInstantiation,TopLevelFunction] destructor_only returnValue() -# 1365| : -# 1367| [TopLevelFunction] void temporary_string() -# 1367| : -# 1367| getEntryPoint(): [BlockStmt] { ... } -# 1368| getStmt(0): [DeclStmt] declaration -# 1368| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s -# 1368| Type = [Struct] String -# 1368| getVariable().getInitializer(): [Initializer] initializer for s -# 1368| getExpr(): [FunctionCall] call to returnValue -# 1368| Type = [Struct] String -# 1368| ValueCategory = prvalue -# 1369| getStmt(1): [DeclStmt] declaration -# 1369| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rs -# 1369| Type = [LValueReferenceType] const String & -# 1369| getVariable().getInitializer(): [Initializer] initializer for rs -# 1369| getExpr(): [FunctionCall] call to returnValue -# 1369| Type = [Struct] String -# 1369| ValueCategory = prvalue -# 1369| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1369| Type = [LValueReferenceType] const String & -# 1369| ValueCategory = prvalue -# 1369| getExpr(): [CStyleCast] (const String)... -# 1369| Conversion = [GlvalueConversion] glvalue conversion -# 1369| Type = [SpecifiedType] const String -# 1369| ValueCategory = lvalue -# 1369| getExpr(): [TemporaryObjectExpr] temporary object -# 1369| Type = [Struct] String -# 1369| ValueCategory = lvalue -# 1371| getStmt(2): [ExprStmt] ExprStmt -# 1371| getExpr(): [FunctionCall] call to acceptRef -# 1371| Type = [VoidType] void -# 1371| ValueCategory = prvalue -# 1371| getArgument(0): [VariableAccess] s -# 1371| Type = [Struct] String -# 1371| ValueCategory = lvalue -# 1371| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 1371| Type = [LValueReferenceType] const String & -# 1371| ValueCategory = prvalue -# 1371| getExpr(): [CStyleCast] (const String)... -# 1371| Conversion = [GlvalueConversion] glvalue conversion -# 1371| Type = [SpecifiedType] const String -# 1371| ValueCategory = lvalue -# 1372| getStmt(3): [ExprStmt] ExprStmt -# 1372| getExpr(): [FunctionCall] call to acceptRef -# 1372| Type = [VoidType] void -# 1372| ValueCategory = prvalue -# 1372| getArgument(0): [ConstructorCall] call to String -# 1372| Type = [VoidType] void -# 1372| ValueCategory = prvalue -# 1372| getArgument(0): foo -# 1372| Type = [ArrayType] const char[4] -# 1372| Value = [StringLiteral] "foo" -# 1372| ValueCategory = lvalue -# 1372| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1372| Type = [PointerType] const char * -# 1372| ValueCategory = prvalue -# 1372| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 1372| Type = [LValueReferenceType] const String & -# 1372| ValueCategory = prvalue -# 1372| getExpr(): [TemporaryObjectExpr] temporary object -# 1372| Type = [SpecifiedType] const String -# 1372| ValueCategory = lvalue -# 1373| getStmt(4): [ExprStmt] ExprStmt -# 1373| getExpr(): [FunctionCall] call to acceptValue -# 1373| Type = [VoidType] void -# 1373| ValueCategory = prvalue -# 1373| getArgument(0): [ConstructorCall] call to String -# 1373| Type = [VoidType] void -# 1373| ValueCategory = prvalue -# 1373| getArgument(0): [VariableAccess] s -# 1373| Type = [Struct] String -# 1373| ValueCategory = lvalue -# 1373| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 1373| Type = [LValueReferenceType] const String & -# 1373| ValueCategory = prvalue -# 1373| getExpr(): [CStyleCast] (const String)... -# 1373| Conversion = [GlvalueConversion] glvalue conversion -# 1373| Type = [SpecifiedType] const String -# 1373| ValueCategory = lvalue -# 1373| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1373| Type = [Struct] String -# 1373| ValueCategory = lvalue -# 1374| getStmt(5): [ExprStmt] ExprStmt -# 1374| getExpr(): [FunctionCall] call to acceptValue -# 1374| Type = [VoidType] void -# 1374| ValueCategory = prvalue -# 1374| getArgument(0): [ConstructorCall] call to String -# 1374| Type = [VoidType] void -# 1374| ValueCategory = prvalue -# 1374| getArgument(0): foo -# 1374| Type = [ArrayType] const char[4] -# 1374| Value = [StringLiteral] "foo" -# 1374| ValueCategory = lvalue -# 1374| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1374| Type = [PointerType] const char * -# 1374| ValueCategory = prvalue -# 1374| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1374| Type = [Struct] String -# 1374| ValueCategory = lvalue -# 1375| getStmt(6): [ExprStmt] ExprStmt -# 1375| getExpr(): [FunctionCall] call to c_str -# 1375| Type = [PointerType] const char * -# 1375| ValueCategory = prvalue -# 1375| getQualifier(): [ConstructorCall] call to String -# 1375| Type = [VoidType] void -# 1375| ValueCategory = prvalue -# 1375| getQualifier().getFullyConverted(): [CStyleCast] (const String)... -# 1375| Conversion = [PrvalueAdjustmentConversion] prvalue adjustment conversion -# 1375| Type = [SpecifiedType] const String -# 1375| ValueCategory = prvalue -# 1375| getExpr(): [TemporaryObjectExpr] temporary object -# 1375| Type = [Struct] String -# 1375| ValueCategory = prvalue(load) -# 1376| getStmt(7): [ExprStmt] ExprStmt -# 1376| getExpr(): [FunctionCall] call to c_str -# 1376| Type = [PointerType] const char * -# 1376| ValueCategory = prvalue -# 1376| getQualifier(): [FunctionCall] call to returnValue -# 1376| Type = [Struct] String -# 1376| ValueCategory = prvalue -# 1376| getQualifier().getFullyConverted(): [CStyleCast] (const String)... -# 1376| Conversion = [PrvalueAdjustmentConversion] prvalue adjustment conversion -# 1376| Type = [SpecifiedType] const String -# 1376| ValueCategory = prvalue -# 1376| getExpr(): [TemporaryObjectExpr] temporary object -# 1376| Type = [Struct] String -# 1376| ValueCategory = prvalue(load) -# 1378| getStmt(8): [ExprStmt] ExprStmt -# 1378| getExpr(): [FunctionCall] call to defaultConstruct -# 1378| Type = [Struct] String -# 1378| ValueCategory = prvalue -# 1378| getExpr().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1378| Type = [Struct] String -# 1378| ValueCategory = prvalue -# 1379| getStmt(9): [ReturnStmt] return ... -# 1379| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 1379| Type = [VoidType] void -# 1379| ValueCategory = prvalue -# 1379| getQualifier(): [VariableAccess] s -# 1379| Type = [Struct] String -# 1379| ValueCategory = lvalue -# 1381| [TopLevelFunction] void temporary_destructor_only() -# 1381| : -# 1381| getEntryPoint(): [BlockStmt] { ... } -# 1382| getStmt(0): [DeclStmt] declaration -# 1382| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d -# 1382| Type = [Class] destructor_only -# 1382| getVariable().getInitializer(): [Initializer] initializer for d -# 1382| getExpr(): [FunctionCall] call to returnValue -# 1382| Type = [Class] destructor_only -# 1382| ValueCategory = prvalue -# 1383| getStmt(1): [DeclStmt] declaration -# 1383| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rd -# 1383| Type = [LValueReferenceType] const destructor_only & -# 1383| getVariable().getInitializer(): [Initializer] initializer for rd -# 1383| getExpr(): [FunctionCall] call to returnValue -# 1383| Type = [Class] destructor_only -# 1383| ValueCategory = prvalue -# 1383| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1383| Type = [LValueReferenceType] const destructor_only & -# 1383| ValueCategory = prvalue -# 1383| getExpr(): [CStyleCast] (const destructor_only)... -# 1383| Conversion = [GlvalueConversion] glvalue conversion -# 1383| Type = [SpecifiedType] const destructor_only -# 1383| ValueCategory = lvalue -# 1383| getExpr(): [TemporaryObjectExpr] temporary object -# 1383| Type = [Class] destructor_only -# 1383| ValueCategory = lvalue -# 1384| getStmt(2): [DeclStmt] declaration -# 1384| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d2 -# 1384| Type = [Class] destructor_only -# 1385| getStmt(3): [ExprStmt] ExprStmt -# 1385| getExpr(): [FunctionCall] call to acceptRef -# 1385| Type = [VoidType] void -# 1385| ValueCategory = prvalue -# 1385| getArgument(0): [VariableAccess] d -# 1385| Type = [Class] destructor_only -# 1385| ValueCategory = lvalue -# 1385| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 1385| Type = [LValueReferenceType] const destructor_only & -# 1385| ValueCategory = prvalue -# 1385| getExpr(): [CStyleCast] (const destructor_only)... -# 1385| Conversion = [GlvalueConversion] glvalue conversion -# 1385| Type = [SpecifiedType] const destructor_only -# 1385| ValueCategory = lvalue -# 1386| getStmt(4): [ExprStmt] ExprStmt -# 1386| getExpr(): [FunctionCall] call to acceptValue -# 1386| Type = [VoidType] void -# 1386| ValueCategory = prvalue -# 1386| getArgument(0): [VariableAccess] d -# 1386| Type = [Class] destructor_only -# 1386| ValueCategory = prvalue(load) -# 1386| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1386| Type = [Class] destructor_only -# 1386| ValueCategory = lvalue -# 1387| getStmt(5): [ExprStmt] ExprStmt -# 1387| getExpr(): [FunctionCall] call to method -# 1387| Type = [VoidType] void -# 1387| ValueCategory = prvalue -# 1387| getQualifier(): [Literal] 0 -# 1387| Type = [Class] destructor_only -# 1387| Value = [Literal] 0 -# 1387| ValueCategory = prvalue -# 1387| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1387| Type = [Class] destructor_only -# 1387| ValueCategory = prvalue(load) -# 1388| getStmt(6): [ExprStmt] ExprStmt -# 1388| getExpr(): [FunctionCall] call to method -# 1388| Type = [VoidType] void -# 1388| ValueCategory = prvalue -# 1388| getQualifier(): [FunctionCall] call to returnValue -# 1388| Type = [Class] destructor_only -# 1388| ValueCategory = prvalue -# 1388| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1388| Type = [Class] destructor_only -# 1388| ValueCategory = prvalue(load) -# 1390| getStmt(7): [ExprStmt] ExprStmt -# 1390| getExpr(): [FunctionCall] call to defaultConstruct -# 1390| Type = [Class] destructor_only -# 1390| ValueCategory = prvalue -# 1390| getExpr().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1390| Type = [Class] destructor_only -# 1390| ValueCategory = prvalue -# 1391| getStmt(8): [ReturnStmt] return ... -# 1391| getImplicitDestructorCall(0): [DestructorCall] call to ~destructor_only -# 1391| Type = [VoidType] void -# 1391| ValueCategory = prvalue -# 1391| getQualifier(): [VariableAccess] d2 -# 1391| Type = [Class] destructor_only -# 1391| ValueCategory = lvalue -# 1391| getImplicitDestructorCall(1): [DestructorCall] call to ~destructor_only -# 1391| Type = [VoidType] void -# 1391| ValueCategory = prvalue -# 1391| getQualifier(): [VariableAccess] d -# 1391| Type = [Class] destructor_only -# 1391| ValueCategory = lvalue -# 1393| [TopLevelFunction] void temporary_copy_constructor() -# 1393| : -# 1393| getEntryPoint(): [BlockStmt] { ... } -# 1394| getStmt(0): [DeclStmt] declaration -# 1394| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d -# 1394| Type = [Class] copy_constructor -# 1394| getVariable().getInitializer(): [Initializer] initializer for d -# 1394| getExpr(): [FunctionCall] call to returnValue -# 1394| Type = [Class] copy_constructor -# 1394| ValueCategory = prvalue -# 1395| getStmt(1): [DeclStmt] declaration -# 1395| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rd -# 1395| Type = [LValueReferenceType] const copy_constructor & -# 1395| getVariable().getInitializer(): [Initializer] initializer for rd -# 1395| getExpr(): [FunctionCall] call to returnValue -# 1395| Type = [Class] copy_constructor -# 1395| ValueCategory = prvalue -# 1395| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1395| Type = [LValueReferenceType] const copy_constructor & -# 1395| ValueCategory = prvalue -# 1395| getExpr(): [CStyleCast] (const copy_constructor)... -# 1395| Conversion = [GlvalueConversion] glvalue conversion -# 1395| Type = [SpecifiedType] const copy_constructor -# 1395| ValueCategory = lvalue -# 1395| getExpr(): [TemporaryObjectExpr] temporary object -# 1395| Type = [Class] copy_constructor -# 1395| ValueCategory = lvalue -# 1396| getStmt(2): [DeclStmt] declaration -# 1396| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d2 -# 1396| Type = [Class] copy_constructor -# 1396| getVariable().getInitializer(): [Initializer] initializer for d2 -# 1396| getExpr(): [ConstructorCall] call to copy_constructor -# 1396| Type = [VoidType] void -# 1396| ValueCategory = prvalue -# 1397| getStmt(3): [ExprStmt] ExprStmt -# 1397| getExpr(): [FunctionCall] call to acceptRef -# 1397| Type = [VoidType] void -# 1397| ValueCategory = prvalue -# 1397| getArgument(0): [VariableAccess] d -# 1397| Type = [Class] copy_constructor -# 1397| ValueCategory = lvalue -# 1397| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 1397| Type = [LValueReferenceType] const copy_constructor & -# 1397| ValueCategory = prvalue -# 1397| getExpr(): [CStyleCast] (const copy_constructor)... -# 1397| Conversion = [GlvalueConversion] glvalue conversion -# 1397| Type = [SpecifiedType] const copy_constructor -# 1397| ValueCategory = lvalue -# 1398| getStmt(4): [ExprStmt] ExprStmt -# 1398| getExpr(): [FunctionCall] call to acceptValue -# 1398| Type = [VoidType] void -# 1398| ValueCategory = prvalue -# 1398| getArgument(0): [ConstructorCall] call to copy_constructor -# 1398| Type = [VoidType] void -# 1398| ValueCategory = prvalue -# 1398| getArgument(0): [VariableAccess] d -# 1398| Type = [Class] copy_constructor -# 1398| ValueCategory = lvalue -# 1398| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 1398| Type = [LValueReferenceType] const copy_constructor & -# 1398| ValueCategory = prvalue -# 1398| getExpr(): [CStyleCast] (const copy_constructor)... -# 1398| Conversion = [GlvalueConversion] glvalue conversion -# 1398| Type = [SpecifiedType] const copy_constructor -# 1398| ValueCategory = lvalue -# 1398| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1398| Type = [Class] copy_constructor -# 1398| ValueCategory = lvalue -# 1399| getStmt(5): [ExprStmt] ExprStmt -# 1399| getExpr(): [FunctionCall] call to method -# 1399| Type = [VoidType] void -# 1399| ValueCategory = prvalue -# 1399| getQualifier(): [ConstructorCall] call to copy_constructor -# 1399| Type = [VoidType] void -# 1399| ValueCategory = prvalue -# 1399| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1399| Type = [Class] copy_constructor -# 1399| ValueCategory = prvalue(load) -# 1400| getStmt(6): [ExprStmt] ExprStmt -# 1400| getExpr(): [FunctionCall] call to method -# 1400| Type = [VoidType] void -# 1400| ValueCategory = prvalue -# 1400| getQualifier(): [FunctionCall] call to returnValue -# 1400| Type = [Class] copy_constructor -# 1400| ValueCategory = prvalue -# 1400| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1400| Type = [Class] copy_constructor -# 1400| ValueCategory = prvalue(load) -# 1401| getStmt(7): [ExprStmt] ExprStmt -# 1401| getExpr(): [FunctionCall] call to defaultConstruct -# 1401| Type = [Class] copy_constructor -# 1401| ValueCategory = prvalue -# 1401| getExpr().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1401| Type = [Class] copy_constructor -# 1401| ValueCategory = prvalue -# 1403| getStmt(8): [DeclStmt] declaration -# 1403| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 1403| Type = [IntType] int -# 1403| getVariable().getInitializer(): [Initializer] initializer for y -# 1403| getExpr(): [ValueFieldAccess] y -# 1403| Type = [IntType] int -# 1403| ValueCategory = prvalue -# 1403| getQualifier(): [FunctionCall] call to returnValue -# 1403| Type = [Class] copy_constructor -# 1403| ValueCategory = prvalue -# 1403| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1403| Type = [Class] copy_constructor -# 1403| ValueCategory = prvalue(load) -# 1404| getStmt(9): [ReturnStmt] return ... -# 1406| [TopLevelFunction] void temporary_point() +# 1398| [Constructor] void destructor_only::destructor_only() +# 1398| : +# 1400| [Destructor] void destructor_only::~destructor_only() +# 1400| : +# 1402| [MemberFunction] void destructor_only::method() +# 1402| : +# 1406| [FunctionTemplateInstantiation,TopLevelFunction] void acceptRef(Point const&) # 1406| : -# 1406| getEntryPoint(): [BlockStmt] { ... } -# 1407| getStmt(0): [DeclStmt] declaration -# 1407| getDeclarationEntry(0): [VariableDeclarationEntry] definition of p -# 1407| Type = [Struct] Point -# 1407| getVariable().getInitializer(): [Initializer] initializer for p -# 1407| getExpr(): [FunctionCall] call to returnValue -# 1407| Type = [Struct] Point -# 1407| ValueCategory = prvalue -# 1408| getStmt(1): [DeclStmt] declaration -# 1408| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rp -# 1408| Type = [LValueReferenceType] const Point & -# 1408| getVariable().getInitializer(): [Initializer] initializer for rp -# 1408| getExpr(): [FunctionCall] call to returnValue -# 1408| Type = [Struct] Point -# 1408| ValueCategory = prvalue -# 1408| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1408| Type = [LValueReferenceType] const Point & -# 1408| ValueCategory = prvalue -# 1408| getExpr(): [CStyleCast] (const Point)... -# 1408| Conversion = [GlvalueConversion] glvalue conversion -# 1408| Type = [SpecifiedType] const Point -# 1408| ValueCategory = lvalue -# 1408| getExpr(): [TemporaryObjectExpr] temporary object -# 1408| Type = [Struct] Point -# 1408| ValueCategory = lvalue -# 1410| getStmt(2): [ExprStmt] ExprStmt -# 1410| getExpr(): [FunctionCall] call to acceptRef -# 1410| Type = [VoidType] void -# 1410| ValueCategory = prvalue -# 1410| getArgument(0): [VariableAccess] p -# 1410| Type = [Struct] Point -# 1410| ValueCategory = lvalue -# 1410| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 1410| Type = [LValueReferenceType] const Point & -# 1410| ValueCategory = prvalue -# 1410| getExpr(): [CStyleCast] (const Point)... -# 1410| Conversion = [GlvalueConversion] glvalue conversion -# 1410| Type = [SpecifiedType] const Point -# 1410| ValueCategory = lvalue -# 1411| getStmt(3): [ExprStmt] ExprStmt -# 1411| getExpr(): [FunctionCall] call to acceptValue -# 1411| Type = [VoidType] void -# 1411| ValueCategory = prvalue -# 1411| getArgument(0): [VariableAccess] p -# 1411| Type = [Struct] Point -# 1411| ValueCategory = prvalue(load) -# 1412| getStmt(4): [ExprStmt] ExprStmt -# 1412| getExpr(): [ValueFieldAccess] x -# 1412| Type = [IntType] int -# 1412| Value = [ValueFieldAccess] 0 -# 1412| ValueCategory = prvalue -# 1412| getQualifier(): [Literal] 0 -# 1412| Type = [Struct] Point -# 1412| Value = [Literal] 0 -# 1412| ValueCategory = prvalue -# 1412| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1412| Type = [Struct] Point -# 1412| ValueCategory = prvalue(load) -# 1413| getStmt(5): [DeclStmt] declaration -# 1413| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 1413| Type = [IntType] int -# 1413| getVariable().getInitializer(): [Initializer] initializer for y -# 1413| getExpr(): [ValueFieldAccess] y -# 1413| Type = [IntType] int -# 1413| ValueCategory = prvalue -# 1413| getQualifier(): [FunctionCall] call to returnValue -# 1413| Type = [Struct] Point -# 1413| ValueCategory = prvalue -# 1415| getStmt(6): [ExprStmt] ExprStmt -# 1415| getExpr(): [FunctionCall] call to defaultConstruct -# 1415| Type = [Struct] Point -# 1415| ValueCategory = prvalue -# 1416| getStmt(7): [ReturnStmt] return ... -# 1418| [CopyAssignmentOperator] UnusualFields& UnusualFields::operator=(UnusualFields const&) -# 1418| : +# 1406| getParameter(0): [Parameter] v +# 1406| Type = [LValueReferenceType] const Point & +# 1406| [FunctionTemplateInstantiation,TopLevelFunction] void acceptRef(String const&) +# 1406| : +# 1406| getParameter(0): [Parameter] v +# 1406| Type = [LValueReferenceType] const String & +# 1406| [TemplateFunction,TopLevelFunction] void acceptRef(T const&) +# 1406| : +# 1406| getParameter(0): [Parameter] v +# 1406| Type = [LValueReferenceType] const T & +# 1406| [FunctionTemplateInstantiation,TopLevelFunction] void acceptRef(copy_constructor const&) +# 1406| : +# 1406| getParameter(0): [Parameter] v +# 1406| Type = [LValueReferenceType] const copy_constructor & +# 1406| [FunctionTemplateInstantiation,TopLevelFunction] void acceptRef(destructor_only const&) +# 1406| : +# 1406| getParameter(0): [Parameter] v +# 1406| Type = [LValueReferenceType] const destructor_only & +# 1409| [FunctionTemplateInstantiation,TopLevelFunction] void acceptValue(Point) +# 1409| : +# 1409| getParameter(0): [Parameter] v +# 1409| Type = [Struct] Point +# 1409| [FunctionTemplateInstantiation,TopLevelFunction] void acceptValue(String) +# 1409| : +# 1409| getParameter(0): [Parameter] v +# 1409| Type = [Struct] String +# 1409| [TemplateFunction,TopLevelFunction] void acceptValue(T) +# 1409| : +# 1409| getParameter(0): [Parameter] v +# 1409| Type = [TemplateParameter] T +# 1409| [FunctionTemplateInstantiation,TopLevelFunction] void acceptValue(copy_constructor) +# 1409| : +# 1409| getParameter(0): [Parameter] v +# 1409| Type = [Class] copy_constructor +# 1409| [FunctionTemplateInstantiation,TopLevelFunction] void acceptValue(destructor_only) +# 1409| : +# 1409| getParameter(0): [Parameter] v +# 1409| Type = [Class] destructor_only +# 1412| [FunctionTemplateInstantiation,TopLevelFunction] POD_Derived returnValue() +# 1412| : +# 1412| [FunctionTemplateInstantiation,TopLevelFunction] POD_Middle returnValue() +# 1412| : +# 1412| [FunctionTemplateInstantiation,TopLevelFunction] Point returnValue() +# 1412| : +# 1412| [FunctionTemplateInstantiation,TopLevelFunction] String returnValue() +# 1412| : +# 1412| [TemplateFunction,TopLevelFunction] T returnValue() +# 1412| : +# 1412| [FunctionTemplateInstantiation,TopLevelFunction] UnusualFields returnValue() +# 1412| : +# 1412| [FunctionTemplateInstantiation,TopLevelFunction] copy_constructor returnValue() +# 1412| : +# 1412| [FunctionTemplateInstantiation,TopLevelFunction] destructor_only returnValue() +# 1412| : +# 1414| [TopLevelFunction] void temporary_string() +# 1414| : +# 1414| getEntryPoint(): [BlockStmt] { ... } +# 1415| getStmt(0): [DeclStmt] declaration +# 1415| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s +# 1415| Type = [Struct] String +# 1415| getVariable().getInitializer(): [Initializer] initializer for s +# 1415| getExpr(): [FunctionCall] call to returnValue +# 1415| Type = [Struct] String +# 1415| ValueCategory = prvalue +# 1416| getStmt(1): [DeclStmt] declaration +# 1416| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rs +# 1416| Type = [LValueReferenceType] const String & +# 1416| getVariable().getInitializer(): [Initializer] initializer for rs +# 1416| getExpr(): [FunctionCall] call to returnValue +# 1416| Type = [Struct] String +# 1416| ValueCategory = prvalue +# 1416| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1416| Type = [LValueReferenceType] const String & +# 1416| ValueCategory = prvalue +# 1416| getExpr(): [CStyleCast] (const String)... +# 1416| Conversion = [GlvalueConversion] glvalue conversion +# 1416| Type = [SpecifiedType] const String +# 1416| ValueCategory = lvalue +# 1416| getExpr(): [TemporaryObjectExpr] temporary object +# 1416| Type = [Struct] String +# 1416| ValueCategory = lvalue +# 1418| getStmt(2): [ExprStmt] ExprStmt +# 1418| getExpr(): [FunctionCall] call to acceptRef +# 1418| Type = [VoidType] void +# 1418| ValueCategory = prvalue +# 1418| getArgument(0): [VariableAccess] s +# 1418| Type = [Struct] String +# 1418| ValueCategory = lvalue +# 1418| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 1418| Type = [LValueReferenceType] const String & +# 1418| ValueCategory = prvalue +# 1418| getExpr(): [CStyleCast] (const String)... +# 1418| Conversion = [GlvalueConversion] glvalue conversion +# 1418| Type = [SpecifiedType] const String +# 1418| ValueCategory = lvalue +# 1419| getStmt(3): [ExprStmt] ExprStmt +# 1419| getExpr(): [FunctionCall] call to acceptRef +# 1419| Type = [VoidType] void +# 1419| ValueCategory = prvalue +# 1419| getArgument(0): [ConstructorCall] call to String +# 1419| Type = [VoidType] void +# 1419| ValueCategory = prvalue +# 1419| getArgument(0): foo +# 1419| Type = [ArrayType] const char[4] +# 1419| Value = [StringLiteral] "foo" +# 1419| ValueCategory = lvalue +# 1419| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1419| Type = [PointerType] const char * +# 1419| ValueCategory = prvalue +# 1419| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 1419| Type = [VoidType] void +# 1419| ValueCategory = prvalue +# 1419| getQualifier(): [ReuseExpr] reuse of temporary object +# 1419| Type = [SpecifiedType] const String +# 1419| ValueCategory = xvalue +# 1419| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 1419| Type = [LValueReferenceType] const String & +# 1419| ValueCategory = prvalue +# 1419| getExpr(): [TemporaryObjectExpr] temporary object +# 1419| Type = [SpecifiedType] const String +# 1419| ValueCategory = lvalue +# 1420| getStmt(4): [ExprStmt] ExprStmt +# 1420| getExpr(): [FunctionCall] call to acceptValue +# 1420| Type = [VoidType] void +# 1420| ValueCategory = prvalue +# 1420| getArgument(0): [ConstructorCall] call to String +# 1420| Type = [VoidType] void +# 1420| ValueCategory = prvalue +# 1420| getArgument(0): [VariableAccess] s +# 1420| Type = [Struct] String +# 1420| ValueCategory = lvalue +# 1420| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 1420| Type = [LValueReferenceType] const String & +# 1420| ValueCategory = prvalue +# 1420| getExpr(): [CStyleCast] (const String)... +# 1420| Conversion = [GlvalueConversion] glvalue conversion +# 1420| Type = [SpecifiedType] const String +# 1420| ValueCategory = lvalue +# 1420| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 1420| Type = [VoidType] void +# 1420| ValueCategory = prvalue +# 1420| getQualifier(): [ReuseExpr] reuse of temporary object +# 1420| Type = [Struct] String +# 1420| ValueCategory = xvalue +# 1420| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object +# 1420| Type = [Struct] String +# 1420| ValueCategory = lvalue +# 1421| getStmt(5): [ExprStmt] ExprStmt +# 1421| getExpr(): [FunctionCall] call to acceptValue +# 1421| Type = [VoidType] void +# 1421| ValueCategory = prvalue +# 1421| getArgument(0): [ConstructorCall] call to String +# 1421| Type = [VoidType] void +# 1421| ValueCategory = prvalue +# 1421| getArgument(0): foo +# 1421| Type = [ArrayType] const char[4] +# 1421| Value = [StringLiteral] "foo" +# 1421| ValueCategory = lvalue +# 1421| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1421| Type = [PointerType] const char * +# 1421| ValueCategory = prvalue +# 1421| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 1421| Type = [VoidType] void +# 1421| ValueCategory = prvalue +# 1421| getQualifier(): [ReuseExpr] reuse of temporary object +# 1421| Type = [Struct] String +# 1421| ValueCategory = xvalue +# 1421| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object +# 1421| Type = [Struct] String +# 1421| ValueCategory = lvalue +# 1422| getStmt(6): [ExprStmt] ExprStmt +# 1422| getExpr(): [FunctionCall] call to c_str +# 1422| Type = [PointerType] const char * +# 1422| ValueCategory = prvalue +# 1422| getQualifier(): [ConstructorCall] call to String +# 1422| Type = [VoidType] void +# 1422| ValueCategory = prvalue +# 1422| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 1422| Type = [VoidType] void +# 1422| ValueCategory = prvalue +# 1422| getQualifier(): [ReuseExpr] reuse of temporary object +# 1422| Type = [Struct] String +# 1422| ValueCategory = xvalue +# 1422| getQualifier().getFullyConverted(): [CStyleCast] (const String)... +# 1422| Conversion = [PrvalueAdjustmentConversion] prvalue adjustment conversion +# 1422| Type = [SpecifiedType] const String +# 1422| ValueCategory = prvalue +# 1422| getExpr(): [TemporaryObjectExpr] temporary object +# 1422| Type = [Struct] String +# 1422| ValueCategory = prvalue(load) +# 1423| getStmt(7): [ExprStmt] ExprStmt +# 1423| getExpr(): [FunctionCall] call to c_str +# 1423| Type = [PointerType] const char * +# 1423| ValueCategory = prvalue +# 1423| getQualifier(): [FunctionCall] call to returnValue +# 1423| Type = [Struct] String +# 1423| ValueCategory = prvalue +# 1423| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 1423| Type = [VoidType] void +# 1423| ValueCategory = prvalue +# 1423| getQualifier(): [ReuseExpr] reuse of temporary object +# 1423| Type = [Struct] String +# 1423| ValueCategory = xvalue +# 1423| getQualifier().getFullyConverted(): [CStyleCast] (const String)... +# 1423| Conversion = [PrvalueAdjustmentConversion] prvalue adjustment conversion +# 1423| Type = [SpecifiedType] const String +# 1423| ValueCategory = prvalue +# 1423| getExpr(): [TemporaryObjectExpr] temporary object +# 1423| Type = [Struct] String +# 1423| ValueCategory = prvalue(load) +# 1425| getStmt(8): [ExprStmt] ExprStmt +# 1425| getExpr(): [FunctionCall] call to defaultConstruct +# 1425| Type = [Struct] String +# 1425| ValueCategory = prvalue +# 1425| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 1425| Type = [VoidType] void +# 1425| ValueCategory = prvalue +# 1425| getQualifier(): [ReuseExpr] reuse of temporary object +# 1425| Type = [Struct] String +# 1425| ValueCategory = xvalue +# 1425| getExpr().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 1425| Type = [Struct] String +# 1425| ValueCategory = prvalue +# 1426| getStmt(9): [ReturnStmt] return ... +# 1426| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 1426| Type = [VoidType] void +# 1426| ValueCategory = prvalue +# 1426| getQualifier(): [ReuseExpr] reuse of temporary object +# 1426| Type = [Struct] String +# 1426| ValueCategory = xvalue +# 1426| getImplicitDestructorCall(1): [DestructorCall] call to ~String +# 1426| Type = [VoidType] void +# 1426| ValueCategory = prvalue +# 1426| getQualifier(): [VariableAccess] s +# 1426| Type = [Struct] String +# 1426| ValueCategory = lvalue +# 1428| [TopLevelFunction] void temporary_destructor_only() +# 1428| : +# 1428| getEntryPoint(): [BlockStmt] { ... } +# 1429| getStmt(0): [DeclStmt] declaration +# 1429| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d +# 1429| Type = [Class] destructor_only +# 1429| getVariable().getInitializer(): [Initializer] initializer for d +# 1429| getExpr(): [FunctionCall] call to returnValue +# 1429| Type = [Class] destructor_only +# 1429| ValueCategory = prvalue +# 1430| getStmt(1): [DeclStmt] declaration +# 1430| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rd +# 1430| Type = [LValueReferenceType] const destructor_only & +# 1430| getVariable().getInitializer(): [Initializer] initializer for rd +# 1430| getExpr(): [FunctionCall] call to returnValue +# 1430| Type = [Class] destructor_only +# 1430| ValueCategory = prvalue +# 1430| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1430| Type = [LValueReferenceType] const destructor_only & +# 1430| ValueCategory = prvalue +# 1430| getExpr(): [CStyleCast] (const destructor_only)... +# 1430| Conversion = [GlvalueConversion] glvalue conversion +# 1430| Type = [SpecifiedType] const destructor_only +# 1430| ValueCategory = lvalue +# 1430| getExpr(): [TemporaryObjectExpr] temporary object +# 1430| Type = [Class] destructor_only +# 1430| ValueCategory = lvalue +# 1431| getStmt(2): [DeclStmt] declaration +# 1431| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d2 +# 1431| Type = [Class] destructor_only +# 1432| getStmt(3): [ExprStmt] ExprStmt +# 1432| getExpr(): [FunctionCall] call to acceptRef +# 1432| Type = [VoidType] void +# 1432| ValueCategory = prvalue +# 1432| getArgument(0): [VariableAccess] d +# 1432| Type = [Class] destructor_only +# 1432| ValueCategory = lvalue +# 1432| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 1432| Type = [LValueReferenceType] const destructor_only & +# 1432| ValueCategory = prvalue +# 1432| getExpr(): [CStyleCast] (const destructor_only)... +# 1432| Conversion = [GlvalueConversion] glvalue conversion +# 1432| Type = [SpecifiedType] const destructor_only +# 1432| ValueCategory = lvalue +# 1433| getStmt(4): [ExprStmt] ExprStmt +# 1433| getExpr(): [FunctionCall] call to acceptValue +# 1433| Type = [VoidType] void +# 1433| ValueCategory = prvalue +# 1433| getArgument(0): [VariableAccess] d +# 1433| Type = [Class] destructor_only +# 1433| ValueCategory = prvalue(load) +# 1433| getImplicitDestructorCall(0): [DestructorCall] call to ~destructor_only +# 1433| Type = [VoidType] void +# 1433| ValueCategory = prvalue +# 1433| getQualifier(): [ReuseExpr] reuse of temporary object +# 1433| Type = [Class] destructor_only +# 1433| ValueCategory = xvalue +# 1433| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object +# 1433| Type = [Class] destructor_only +# 1433| ValueCategory = lvalue +# 1434| getStmt(5): [ExprStmt] ExprStmt +# 1434| getExpr(): [FunctionCall] call to method +# 1434| Type = [VoidType] void +# 1434| ValueCategory = prvalue +# 1434| getQualifier(): [Literal] 0 +# 1434| Type = [Class] destructor_only +# 1434| Value = [Literal] 0 +# 1434| ValueCategory = prvalue +# 1434| getImplicitDestructorCall(0): [DestructorCall] call to ~destructor_only +# 1434| Type = [VoidType] void +# 1434| ValueCategory = prvalue +# 1434| getQualifier(): [ReuseExpr] reuse of temporary object +# 1434| Type = [Class] destructor_only +# 1434| ValueCategory = xvalue +# 1434| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 1434| Type = [Class] destructor_only +# 1434| ValueCategory = prvalue(load) +# 1435| getStmt(6): [ExprStmt] ExprStmt +# 1435| getExpr(): [FunctionCall] call to method +# 1435| Type = [VoidType] void +# 1435| ValueCategory = prvalue +# 1435| getQualifier(): [FunctionCall] call to returnValue +# 1435| Type = [Class] destructor_only +# 1435| ValueCategory = prvalue +# 1435| getImplicitDestructorCall(0): [DestructorCall] call to ~destructor_only +# 1435| Type = [VoidType] void +# 1435| ValueCategory = prvalue +# 1435| getQualifier(): [ReuseExpr] reuse of temporary object +# 1435| Type = [Class] destructor_only +# 1435| ValueCategory = xvalue +# 1435| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 1435| Type = [Class] destructor_only +# 1435| ValueCategory = prvalue(load) +# 1437| getStmt(7): [ExprStmt] ExprStmt +# 1437| getExpr(): [FunctionCall] call to defaultConstruct +# 1437| Type = [Class] destructor_only +# 1437| ValueCategory = prvalue +# 1437| getImplicitDestructorCall(0): [DestructorCall] call to ~destructor_only +# 1437| Type = [VoidType] void +# 1437| ValueCategory = prvalue +# 1437| getQualifier(): [ReuseExpr] reuse of temporary object +# 1437| Type = [Class] destructor_only +# 1437| ValueCategory = xvalue +# 1437| getExpr().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 1437| Type = [Class] destructor_only +# 1437| ValueCategory = prvalue +# 1438| getStmt(8): [ReturnStmt] return ... +# 1438| getImplicitDestructorCall(0): [DestructorCall] call to ~destructor_only +# 1438| Type = [VoidType] void +# 1438| ValueCategory = prvalue +# 1438| getQualifier(): [VariableAccess] d2 +# 1438| Type = [Class] destructor_only +# 1438| ValueCategory = lvalue +# 1438| getImplicitDestructorCall(1): [DestructorCall] call to ~destructor_only +# 1438| Type = [VoidType] void +# 1438| ValueCategory = prvalue +# 1438| getQualifier(): [ReuseExpr] reuse of temporary object +# 1438| Type = [Class] destructor_only +# 1438| ValueCategory = xvalue +# 1438| getImplicitDestructorCall(2): [DestructorCall] call to ~destructor_only +# 1438| Type = [VoidType] void +# 1438| ValueCategory = prvalue +# 1438| getQualifier(): [VariableAccess] d +# 1438| Type = [Class] destructor_only +# 1438| ValueCategory = lvalue +# 1440| [TopLevelFunction] void temporary_copy_constructor() +# 1440| : +# 1440| getEntryPoint(): [BlockStmt] { ... } +# 1441| getStmt(0): [DeclStmt] declaration +# 1441| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d +# 1441| Type = [Class] copy_constructor +# 1441| getVariable().getInitializer(): [Initializer] initializer for d +# 1441| getExpr(): [FunctionCall] call to returnValue +# 1441| Type = [Class] copy_constructor +# 1441| ValueCategory = prvalue +# 1442| getStmt(1): [DeclStmt] declaration +# 1442| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rd +# 1442| Type = [LValueReferenceType] const copy_constructor & +# 1442| getVariable().getInitializer(): [Initializer] initializer for rd +# 1442| getExpr(): [FunctionCall] call to returnValue +# 1442| Type = [Class] copy_constructor +# 1442| ValueCategory = prvalue +# 1442| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1442| Type = [LValueReferenceType] const copy_constructor & +# 1442| ValueCategory = prvalue +# 1442| getExpr(): [CStyleCast] (const copy_constructor)... +# 1442| Conversion = [GlvalueConversion] glvalue conversion +# 1442| Type = [SpecifiedType] const copy_constructor +# 1442| ValueCategory = lvalue +# 1442| getExpr(): [TemporaryObjectExpr] temporary object +# 1442| Type = [Class] copy_constructor +# 1442| ValueCategory = lvalue +# 1443| getStmt(2): [DeclStmt] declaration +# 1443| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d2 +# 1443| Type = [Class] copy_constructor +# 1443| getVariable().getInitializer(): [Initializer] initializer for d2 +# 1443| getExpr(): [ConstructorCall] call to copy_constructor +# 1443| Type = [VoidType] void +# 1443| ValueCategory = prvalue +# 1444| getStmt(3): [ExprStmt] ExprStmt +# 1444| getExpr(): [FunctionCall] call to acceptRef +# 1444| Type = [VoidType] void +# 1444| ValueCategory = prvalue +# 1444| getArgument(0): [VariableAccess] d +# 1444| Type = [Class] copy_constructor +# 1444| ValueCategory = lvalue +# 1444| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 1444| Type = [LValueReferenceType] const copy_constructor & +# 1444| ValueCategory = prvalue +# 1444| getExpr(): [CStyleCast] (const copy_constructor)... +# 1444| Conversion = [GlvalueConversion] glvalue conversion +# 1444| Type = [SpecifiedType] const copy_constructor +# 1444| ValueCategory = lvalue +# 1445| getStmt(4): [ExprStmt] ExprStmt +# 1445| getExpr(): [FunctionCall] call to acceptValue +# 1445| Type = [VoidType] void +# 1445| ValueCategory = prvalue +# 1445| getArgument(0): [ConstructorCall] call to copy_constructor +# 1445| Type = [VoidType] void +# 1445| ValueCategory = prvalue +# 1445| getArgument(0): [VariableAccess] d +# 1445| Type = [Class] copy_constructor +# 1445| ValueCategory = lvalue +# 1445| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 1445| Type = [LValueReferenceType] const copy_constructor & +# 1445| ValueCategory = prvalue +# 1445| getExpr(): [CStyleCast] (const copy_constructor)... +# 1445| Conversion = [GlvalueConversion] glvalue conversion +# 1445| Type = [SpecifiedType] const copy_constructor +# 1445| ValueCategory = lvalue +# 1445| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object +# 1445| Type = [Class] copy_constructor +# 1445| ValueCategory = lvalue +# 1446| getStmt(5): [ExprStmt] ExprStmt +# 1446| getExpr(): [FunctionCall] call to method +# 1446| Type = [VoidType] void +# 1446| ValueCategory = prvalue +# 1446| getQualifier(): [ConstructorCall] call to copy_constructor +# 1446| Type = [VoidType] void +# 1446| ValueCategory = prvalue +# 1446| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 1446| Type = [Class] copy_constructor +# 1446| ValueCategory = prvalue(load) +# 1447| getStmt(6): [ExprStmt] ExprStmt +# 1447| getExpr(): [FunctionCall] call to method +# 1447| Type = [VoidType] void +# 1447| ValueCategory = prvalue +# 1447| getQualifier(): [FunctionCall] call to returnValue +# 1447| Type = [Class] copy_constructor +# 1447| ValueCategory = prvalue +# 1447| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 1447| Type = [Class] copy_constructor +# 1447| ValueCategory = prvalue(load) +# 1448| getStmt(7): [ExprStmt] ExprStmt +# 1448| getExpr(): [FunctionCall] call to defaultConstruct +# 1448| Type = [Class] copy_constructor +# 1448| ValueCategory = prvalue +# 1448| getExpr().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 1448| Type = [Class] copy_constructor +# 1448| ValueCategory = prvalue +# 1450| getStmt(8): [DeclStmt] declaration +# 1450| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 1450| Type = [IntType] int +# 1450| getVariable().getInitializer(): [Initializer] initializer for y +# 1450| getExpr(): [ValueFieldAccess] y +# 1450| Type = [IntType] int +# 1450| ValueCategory = prvalue +# 1450| getQualifier(): [FunctionCall] call to returnValue +# 1450| Type = [Class] copy_constructor +# 1450| ValueCategory = prvalue +# 1450| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 1450| Type = [Class] copy_constructor +# 1450| ValueCategory = prvalue(load) +# 1451| getStmt(9): [ReturnStmt] return ... +# 1453| [TopLevelFunction] void temporary_point() +# 1453| : +# 1453| getEntryPoint(): [BlockStmt] { ... } +# 1454| getStmt(0): [DeclStmt] declaration +# 1454| getDeclarationEntry(0): [VariableDeclarationEntry] definition of p +# 1454| Type = [Struct] Point +# 1454| getVariable().getInitializer(): [Initializer] initializer for p +# 1454| getExpr(): [FunctionCall] call to returnValue +# 1454| Type = [Struct] Point +# 1454| ValueCategory = prvalue +# 1455| getStmt(1): [DeclStmt] declaration +# 1455| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rp +# 1455| Type = [LValueReferenceType] const Point & +# 1455| getVariable().getInitializer(): [Initializer] initializer for rp +# 1455| getExpr(): [FunctionCall] call to returnValue +# 1455| Type = [Struct] Point +# 1455| ValueCategory = prvalue +# 1455| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1455| Type = [LValueReferenceType] const Point & +# 1455| ValueCategory = prvalue +# 1455| getExpr(): [CStyleCast] (const Point)... +# 1455| Conversion = [GlvalueConversion] glvalue conversion +# 1455| Type = [SpecifiedType] const Point +# 1455| ValueCategory = lvalue +# 1455| getExpr(): [TemporaryObjectExpr] temporary object +# 1455| Type = [Struct] Point +# 1455| ValueCategory = lvalue +# 1457| getStmt(2): [ExprStmt] ExprStmt +# 1457| getExpr(): [FunctionCall] call to acceptRef +# 1457| Type = [VoidType] void +# 1457| ValueCategory = prvalue +# 1457| getArgument(0): [VariableAccess] p +# 1457| Type = [Struct] Point +# 1457| ValueCategory = lvalue +# 1457| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 1457| Type = [LValueReferenceType] const Point & +# 1457| ValueCategory = prvalue +# 1457| getExpr(): [CStyleCast] (const Point)... +# 1457| Conversion = [GlvalueConversion] glvalue conversion +# 1457| Type = [SpecifiedType] const Point +# 1457| ValueCategory = lvalue +# 1458| getStmt(3): [ExprStmt] ExprStmt +# 1458| getExpr(): [FunctionCall] call to acceptValue +# 1458| Type = [VoidType] void +# 1458| ValueCategory = prvalue +# 1458| getArgument(0): [VariableAccess] p +# 1458| Type = [Struct] Point +# 1458| ValueCategory = prvalue(load) +# 1459| getStmt(4): [ExprStmt] ExprStmt +# 1459| getExpr(): [ValueFieldAccess] x +# 1459| Type = [IntType] int +# 1459| Value = [ValueFieldAccess] 0 +# 1459| ValueCategory = prvalue +# 1459| getQualifier(): [Literal] 0 +# 1459| Type = [Struct] Point +# 1459| Value = [Literal] 0 +# 1459| ValueCategory = prvalue +# 1459| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 1459| Type = [Struct] Point +# 1459| ValueCategory = prvalue(load) +# 1460| getStmt(5): [DeclStmt] declaration +# 1460| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 1460| Type = [IntType] int +# 1460| getVariable().getInitializer(): [Initializer] initializer for y +# 1460| getExpr(): [ValueFieldAccess] y +# 1460| Type = [IntType] int +# 1460| ValueCategory = prvalue +# 1460| getQualifier(): [FunctionCall] call to returnValue +# 1460| Type = [Struct] Point +# 1460| ValueCategory = prvalue +# 1462| getStmt(6): [ExprStmt] ExprStmt +# 1462| getExpr(): [FunctionCall] call to defaultConstruct +# 1462| Type = [Struct] Point +# 1462| ValueCategory = prvalue +# 1463| getStmt(7): [ReturnStmt] return ... +# 1465| [CopyAssignmentOperator] UnusualFields& UnusualFields::operator=(UnusualFields const&) +# 1465| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const UnusualFields & -# 1418| [Constructor] void UnusualFields::UnusualFields() -# 1418| : -# 1418| [CopyConstructor] void UnusualFields::UnusualFields(UnusualFields const&) -# 1418| : +# 1465| [Constructor] void UnusualFields::UnusualFields() +# 1465| : +# 1465| [CopyConstructor] void UnusualFields::UnusualFields(UnusualFields const&) +# 1465| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const UnusualFields & -# 1418| [MoveConstructor] void UnusualFields::UnusualFields(UnusualFields&&) -# 1418| : +# 1465| [MoveConstructor] void UnusualFields::UnusualFields(UnusualFields&&) +# 1465| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] UnusualFields && -# 1423| [TopLevelFunction] void temporary_unusual_fields() -# 1423| : -# 1423| getEntryPoint(): [BlockStmt] { ... } -# 1424| getStmt(0): [DeclStmt] declaration -# 1424| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rx -# 1424| Type = [LValueReferenceType] const int & -# 1424| getVariable().getInitializer(): [Initializer] initializer for rx -# 1424| getExpr(): [ValueFieldAccess] r -# 1424| Type = [LValueReferenceType] int & -# 1424| ValueCategory = prvalue -# 1424| getQualifier(): [FunctionCall] call to returnValue -# 1424| Type = [Struct] UnusualFields -# 1424| ValueCategory = prvalue -# 1424| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1424| Type = [LValueReferenceType] const int & -# 1424| ValueCategory = prvalue -# 1424| getExpr(): [CStyleCast] (const int)... -# 1424| Conversion = [GlvalueConversion] glvalue conversion -# 1424| Type = [SpecifiedType] const int -# 1424| ValueCategory = lvalue -# 1424| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1424| Type = [IntType] int -# 1424| ValueCategory = lvalue -# 1425| getStmt(1): [DeclStmt] declaration -# 1425| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 1425| Type = [IntType] int -# 1425| getVariable().getInitializer(): [Initializer] initializer for x -# 1425| getExpr(): [ValueFieldAccess] r -# 1425| Type = [LValueReferenceType] int & -# 1425| ValueCategory = prvalue -# 1425| getQualifier(): [FunctionCall] call to returnValue -# 1425| Type = [Struct] UnusualFields -# 1425| ValueCategory = prvalue -# 1425| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1425| Type = [IntType] int -# 1425| ValueCategory = prvalue(load) -# 1427| getStmt(2): [DeclStmt] declaration -# 1427| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rf -# 1427| Type = [LValueReferenceType] const float & -# 1427| getVariable().getInitializer(): [Initializer] initializer for rf -# 1427| getExpr(): [ArrayExpr] access to array -# 1427| Type = [FloatType] float -# 1427| ValueCategory = lvalue -# 1427| getArrayBase(): [ValueFieldAccess] a -# 1427| Type = [ArrayType] float[10] -# 1427| ValueCategory = prvalue -# 1427| getQualifier(): [FunctionCall] call to returnValue -# 1427| Type = [Struct] UnusualFields -# 1427| ValueCategory = prvalue -# 1427| getArrayOffset(): [Literal] 3 -# 1427| Type = [IntType] int -# 1427| Value = [Literal] 3 -# 1427| ValueCategory = prvalue -# 1427| getArrayBase().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1427| Type = [PointerType] float * -# 1427| ValueCategory = prvalue -# 1427| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1427| Type = [LValueReferenceType] const float & -# 1427| ValueCategory = prvalue -# 1427| getExpr(): [CStyleCast] (const float)... -# 1427| Conversion = [GlvalueConversion] glvalue conversion -# 1427| Type = [SpecifiedType] const float -# 1427| ValueCategory = lvalue -# 1428| getStmt(3): [DeclStmt] declaration -# 1428| getDeclarationEntry(0): [VariableDeclarationEntry] definition of f -# 1428| Type = [FloatType] float -# 1428| getVariable().getInitializer(): [Initializer] initializer for f -# 1428| getExpr(): [ArrayExpr] access to array -# 1428| Type = [FloatType] float -# 1428| ValueCategory = prvalue(load) -# 1428| getArrayBase(): [ValueFieldAccess] a -# 1428| Type = [ArrayType] float[10] -# 1428| ValueCategory = prvalue -# 1428| getQualifier(): [FunctionCall] call to returnValue -# 1428| Type = [Struct] UnusualFields -# 1428| ValueCategory = prvalue -# 1428| getArrayOffset(): [Literal] 5 -# 1428| Type = [IntType] int -# 1428| Value = [Literal] 5 -# 1428| ValueCategory = prvalue -# 1428| getArrayBase().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1428| Type = [PointerType] float * -# 1428| ValueCategory = prvalue -# 1429| getStmt(4): [ReturnStmt] return ... -# 1431| [CopyAssignmentOperator] POD_Base& POD_Base::operator=(POD_Base const&) -# 1431| : +# 1470| [TopLevelFunction] void temporary_unusual_fields() +# 1470| : +# 1470| getEntryPoint(): [BlockStmt] { ... } +# 1471| getStmt(0): [DeclStmt] declaration +# 1471| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rx +# 1471| Type = [LValueReferenceType] const int & +# 1471| getVariable().getInitializer(): [Initializer] initializer for rx +# 1471| getExpr(): [ValueFieldAccess] r +# 1471| Type = [LValueReferenceType] int & +# 1471| ValueCategory = prvalue +# 1471| getQualifier(): [FunctionCall] call to returnValue +# 1471| Type = [Struct] UnusualFields +# 1471| ValueCategory = prvalue +# 1471| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1471| Type = [LValueReferenceType] const int & +# 1471| ValueCategory = prvalue +# 1471| getExpr(): [CStyleCast] (const int)... +# 1471| Conversion = [GlvalueConversion] glvalue conversion +# 1471| Type = [SpecifiedType] const int +# 1471| ValueCategory = lvalue +# 1471| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1471| Type = [IntType] int +# 1471| ValueCategory = lvalue +# 1472| getStmt(1): [DeclStmt] declaration +# 1472| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 1472| Type = [IntType] int +# 1472| getVariable().getInitializer(): [Initializer] initializer for x +# 1472| getExpr(): [ValueFieldAccess] r +# 1472| Type = [LValueReferenceType] int & +# 1472| ValueCategory = prvalue +# 1472| getQualifier(): [FunctionCall] call to returnValue +# 1472| Type = [Struct] UnusualFields +# 1472| ValueCategory = prvalue +# 1472| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1472| Type = [IntType] int +# 1472| ValueCategory = prvalue(load) +# 1474| getStmt(2): [DeclStmt] declaration +# 1474| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rf +# 1474| Type = [LValueReferenceType] const float & +# 1474| getVariable().getInitializer(): [Initializer] initializer for rf +# 1474| getExpr(): [ArrayExpr] access to array +# 1474| Type = [FloatType] float +# 1474| ValueCategory = lvalue +# 1474| getArrayBase(): [ValueFieldAccess] a +# 1474| Type = [ArrayType] float[10] +# 1474| ValueCategory = prvalue +# 1474| getQualifier(): [FunctionCall] call to returnValue +# 1474| Type = [Struct] UnusualFields +# 1474| ValueCategory = prvalue +# 1474| getArrayOffset(): [Literal] 3 +# 1474| Type = [IntType] int +# 1474| Value = [Literal] 3 +# 1474| ValueCategory = prvalue +# 1474| getArrayBase().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1474| Type = [PointerType] float * +# 1474| ValueCategory = prvalue +# 1474| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1474| Type = [LValueReferenceType] const float & +# 1474| ValueCategory = prvalue +# 1474| getExpr(): [CStyleCast] (const float)... +# 1474| Conversion = [GlvalueConversion] glvalue conversion +# 1474| Type = [SpecifiedType] const float +# 1474| ValueCategory = lvalue +# 1475| getStmt(3): [DeclStmt] declaration +# 1475| getDeclarationEntry(0): [VariableDeclarationEntry] definition of f +# 1475| Type = [FloatType] float +# 1475| getVariable().getInitializer(): [Initializer] initializer for f +# 1475| getExpr(): [ArrayExpr] access to array +# 1475| Type = [FloatType] float +# 1475| ValueCategory = prvalue(load) +# 1475| getArrayBase(): [ValueFieldAccess] a +# 1475| Type = [ArrayType] float[10] +# 1475| ValueCategory = prvalue +# 1475| getQualifier(): [FunctionCall] call to returnValue +# 1475| Type = [Struct] UnusualFields +# 1475| ValueCategory = prvalue +# 1475| getArrayOffset(): [Literal] 5 +# 1475| Type = [IntType] int +# 1475| Value = [Literal] 5 +# 1475| ValueCategory = prvalue +# 1475| getArrayBase().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1475| Type = [PointerType] float * +# 1475| ValueCategory = prvalue +# 1476| getStmt(4): [ReturnStmt] return ... +# 1478| [CopyAssignmentOperator] POD_Base& POD_Base::operator=(POD_Base const&) +# 1478| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const POD_Base & -# 1431| [MoveAssignmentOperator] POD_Base& POD_Base::operator=(POD_Base&&) -# 1431| : +# 1478| [MoveAssignmentOperator] POD_Base& POD_Base::operator=(POD_Base&&) +# 1478| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] POD_Base && -# 1434| [ConstMemberFunction] float POD_Base::f() const -# 1434| : -# 1437| [CopyAssignmentOperator] POD_Middle& POD_Middle::operator=(POD_Middle const&) -# 1437| : +# 1481| [ConstMemberFunction] float POD_Base::f() const +# 1481| : +# 1484| [CopyAssignmentOperator] POD_Middle& POD_Middle::operator=(POD_Middle const&) +# 1484| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const POD_Middle & -# 1437| [MoveAssignmentOperator] POD_Middle& POD_Middle::operator=(POD_Middle&&) -# 1437| : +# 1484| [MoveAssignmentOperator] POD_Middle& POD_Middle::operator=(POD_Middle&&) +# 1484| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] POD_Middle && -# 1437| [Constructor] void POD_Middle::POD_Middle() -# 1437| : -# 1441| [CopyAssignmentOperator] POD_Derived& POD_Derived::operator=(POD_Derived const&) -# 1441| : +# 1484| [Constructor] void POD_Middle::POD_Middle() +# 1484| : +# 1488| [CopyAssignmentOperator] POD_Derived& POD_Derived::operator=(POD_Derived const&) +# 1488| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const POD_Derived & -# 1441| [MoveAssignmentOperator] POD_Derived& POD_Derived::operator=(POD_Derived&&) -# 1441| : +# 1488| [MoveAssignmentOperator] POD_Derived& POD_Derived::operator=(POD_Derived&&) +# 1488| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] POD_Derived && -# 1441| [Constructor] void POD_Derived::POD_Derived() -# 1441| : -# 1445| [TopLevelFunction] void temporary_hierarchy() -# 1445| : -# 1445| getEntryPoint(): [BlockStmt] { ... } -# 1446| getStmt(0): [DeclStmt] declaration -# 1446| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b -# 1446| Type = [Struct] POD_Base -# 1446| getVariable().getInitializer(): [Initializer] initializer for b -# 1446| getExpr(): [FunctionCall] call to returnValue -# 1446| Type = [Struct] POD_Middle -# 1446| ValueCategory = prvalue +# 1488| [Constructor] void POD_Derived::POD_Derived() +# 1488| : +# 1492| [TopLevelFunction] void temporary_hierarchy() +# 1492| : +# 1492| getEntryPoint(): [BlockStmt] { ... } +# 1493| getStmt(0): [DeclStmt] declaration +# 1493| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b +# 1493| Type = [Struct] POD_Base +# 1493| getVariable().getInitializer(): [Initializer] initializer for b +# 1493| getExpr(): [FunctionCall] call to returnValue +# 1493| Type = [Struct] POD_Middle +# 1493| ValueCategory = prvalue #-----| getExpr().getFullyConverted(): [CStyleCast] (POD_Base)... #-----| Conversion = [BaseClassConversion] base class conversion #-----| Type = [Struct] POD_Base @@ -11684,40 +12436,40 @@ ir.cpp: #-----| getExpr(): [TemporaryObjectExpr] temporary object #-----| Type = [Struct] POD_Middle #-----| ValueCategory = xvalue -# 1447| getStmt(1): [ExprStmt] ExprStmt -# 1447| getExpr(): [AssignExpr] ... = ... -# 1447| Type = [Struct] POD_Base -# 1447| ValueCategory = lvalue -# 1447| getLValue(): [VariableAccess] b -# 1447| Type = [Struct] POD_Base -# 1447| ValueCategory = lvalue -# 1447| getRValue(): [FunctionCall] call to returnValue -# 1447| Type = [Struct] POD_Derived -# 1447| ValueCategory = prvalue -# 1447| getRValue().getFullyConverted(): [CStyleCast] (POD_Base)... -# 1447| Conversion = [BaseClassConversion] base class conversion -# 1447| Type = [Struct] POD_Base -# 1447| ValueCategory = prvalue(load) -# 1447| getExpr(): [CStyleCast] (POD_Middle)... -# 1447| Conversion = [BaseClassConversion] base class conversion -# 1447| Type = [Struct] POD_Middle -# 1447| ValueCategory = lvalue -# 1447| getExpr(): [TemporaryObjectExpr] temporary object -# 1447| Type = [Struct] POD_Derived -# 1447| ValueCategory = lvalue -# 1447| getExpr(): [ParenthesisExpr] (...) -# 1447| Type = [Struct] POD_Derived -# 1447| ValueCategory = prvalue -# 1448| getStmt(2): [DeclStmt] declaration -# 1448| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 1448| Type = [IntType] int -# 1448| getVariable().getInitializer(): [Initializer] initializer for x -# 1448| getExpr(): [ValueFieldAccess] x -# 1448| Type = [IntType] int -# 1448| ValueCategory = prvalue(load) -# 1448| getQualifier(): [FunctionCall] call to returnValue -# 1448| Type = [Struct] POD_Derived -# 1448| ValueCategory = prvalue +# 1494| getStmt(1): [ExprStmt] ExprStmt +# 1494| getExpr(): [AssignExpr] ... = ... +# 1494| Type = [Struct] POD_Base +# 1494| ValueCategory = lvalue +# 1494| getLValue(): [VariableAccess] b +# 1494| Type = [Struct] POD_Base +# 1494| ValueCategory = lvalue +# 1494| getRValue(): [FunctionCall] call to returnValue +# 1494| Type = [Struct] POD_Derived +# 1494| ValueCategory = prvalue +# 1494| getRValue().getFullyConverted(): [CStyleCast] (POD_Base)... +# 1494| Conversion = [BaseClassConversion] base class conversion +# 1494| Type = [Struct] POD_Base +# 1494| ValueCategory = prvalue(load) +# 1494| getExpr(): [CStyleCast] (POD_Middle)... +# 1494| Conversion = [BaseClassConversion] base class conversion +# 1494| Type = [Struct] POD_Middle +# 1494| ValueCategory = lvalue +# 1494| getExpr(): [TemporaryObjectExpr] temporary object +# 1494| Type = [Struct] POD_Derived +# 1494| ValueCategory = lvalue +# 1494| getExpr(): [ParenthesisExpr] (...) +# 1494| Type = [Struct] POD_Derived +# 1494| ValueCategory = prvalue +# 1495| getStmt(2): [DeclStmt] declaration +# 1495| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 1495| Type = [IntType] int +# 1495| getVariable().getInitializer(): [Initializer] initializer for x +# 1495| getExpr(): [ValueFieldAccess] x +# 1495| Type = [IntType] int +# 1495| ValueCategory = prvalue(load) +# 1495| getQualifier(): [FunctionCall] call to returnValue +# 1495| Type = [Struct] POD_Derived +# 1495| ValueCategory = prvalue #-----| getQualifier().getFullyConverted(): [CStyleCast] (POD_Base)... #-----| Conversion = [BaseClassConversion] base class conversion #-----| Type = [Struct] POD_Base @@ -11729,16 +12481,16 @@ ir.cpp: #-----| getExpr(): [TemporaryObjectExpr] temporary object #-----| Type = [Struct] POD_Derived #-----| ValueCategory = xvalue -# 1449| getStmt(3): [DeclStmt] declaration -# 1449| getDeclarationEntry(0): [VariableDeclarationEntry] definition of f -# 1449| Type = [FloatType] float -# 1449| getVariable().getInitializer(): [Initializer] initializer for f -# 1449| getExpr(): [FunctionCall] call to f -# 1449| Type = [FloatType] float -# 1449| ValueCategory = prvalue -# 1449| getQualifier(): [FunctionCall] call to returnValue -# 1449| Type = [Struct] POD_Derived -# 1449| ValueCategory = prvalue +# 1496| getStmt(3): [DeclStmt] declaration +# 1496| getDeclarationEntry(0): [VariableDeclarationEntry] definition of f +# 1496| Type = [FloatType] float +# 1496| getVariable().getInitializer(): [Initializer] initializer for f +# 1496| getExpr(): [FunctionCall] call to f +# 1496| Type = [FloatType] float +# 1496| ValueCategory = prvalue +# 1496| getQualifier(): [FunctionCall] call to returnValue +# 1496| Type = [Struct] POD_Derived +# 1496| ValueCategory = prvalue #-----| getQualifier().getFullyConverted(): [CStyleCast] (const POD_Base)... #-----| Conversion = [GlvalueConversion] glvalue conversion #-----| Type = [SpecifiedType] const POD_Base @@ -11754,99 +12506,99 @@ ir.cpp: #-----| getExpr(): [TemporaryObjectExpr] temporary object #-----| Type = [Struct] POD_Derived #-----| ValueCategory = xvalue -# 1449| getExpr(): [ParenthesisExpr] (...) -# 1449| Type = [Struct] POD_Derived -# 1449| ValueCategory = prvalue -# 1450| getStmt(4): [ReturnStmt] return ... -# 1452| [CopyAssignmentOperator] Inheritance_Test_B& Inheritance_Test_B::operator=(Inheritance_Test_B const&) -# 1452| : +# 1496| getExpr(): [ParenthesisExpr] (...) +# 1496| Type = [Struct] POD_Derived +# 1496| ValueCategory = prvalue +# 1497| getStmt(4): [ReturnStmt] return ... +# 1499| [CopyAssignmentOperator] Inheritance_Test_B& Inheritance_Test_B::operator=(Inheritance_Test_B const&) +# 1499| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const Inheritance_Test_B & -# 1452| [Constructor] void Inheritance_Test_B::Inheritance_Test_B() -# 1452| : -# 1453| [Destructor] void Inheritance_Test_B::~Inheritance_Test_B() -# 1453| : -# 1453| getEntryPoint(): [BlockStmt] { ... } -# 1453| getStmt(0): [ReturnStmt] return ... -# 1453| : -# 1456| [CopyAssignmentOperator] Inheritance_Test_A& Inheritance_Test_A::operator=(Inheritance_Test_A const&) -# 1456| : +# 1499| [Constructor] void Inheritance_Test_B::Inheritance_Test_B() +# 1499| : +# 1500| [Destructor] void Inheritance_Test_B::~Inheritance_Test_B() +# 1500| : +# 1500| getEntryPoint(): [BlockStmt] { ... } +# 1500| getStmt(0): [ReturnStmt] return ... +# 1500| : +# 1503| [CopyAssignmentOperator] Inheritance_Test_A& Inheritance_Test_A::operator=(Inheritance_Test_A const&) +# 1503| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const Inheritance_Test_A & -# 1456| [MoveAssignmentOperator] Inheritance_Test_A& Inheritance_Test_A::operator=(Inheritance_Test_A&&) -# 1456| : +# 1503| [MoveAssignmentOperator] Inheritance_Test_A& Inheritance_Test_A::operator=(Inheritance_Test_A&&) +# 1503| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] Inheritance_Test_A && -# 1456| [CopyConstructor] void Inheritance_Test_A::Inheritance_Test_A(Inheritance_Test_A const&) -# 1456| : +# 1503| [CopyConstructor] void Inheritance_Test_A::Inheritance_Test_A(Inheritance_Test_A const&) +# 1503| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const Inheritance_Test_A & -# 1456| [MoveConstructor] void Inheritance_Test_A::Inheritance_Test_A(Inheritance_Test_A&&) -# 1456| : +# 1503| [MoveConstructor] void Inheritance_Test_A::Inheritance_Test_A(Inheritance_Test_A&&) +# 1503| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] Inheritance_Test_A && -# 1456| [Destructor] void Inheritance_Test_A::~Inheritance_Test_A() -# 1456| : -# 1459| [Constructor] void Inheritance_Test_A::Inheritance_Test_A() -# 1459| : -# 1459| : -# 1459| getInitializer(0): (no string representation) -# 1459| Type = [Struct] Inheritance_Test_B -# 1459| ValueCategory = prvalue -# 1459| getInitializer(1): [ConstructorFieldInit] constructor init of field x -# 1459| Type = [IntType] int -# 1459| ValueCategory = prvalue -# 1459| getExpr(): [Literal] 42 -# 1459| Type = [IntType] int -# 1459| Value = [Literal] 42 -# 1459| ValueCategory = prvalue -# 1459| getEntryPoint(): [BlockStmt] { ... } -# 1460| getStmt(0): [ExprStmt] ExprStmt -# 1460| getExpr(): [AssignExpr] ... = ... -# 1460| Type = [IntType] int -# 1460| ValueCategory = lvalue -# 1460| getLValue(): [ImplicitThisFieldAccess,PointerFieldAccess] y -# 1460| Type = [IntType] int -# 1460| ValueCategory = lvalue -# 1460| getQualifier(): [ThisExpr] this -# 1460| Type = [PointerType] Inheritance_Test_A * -# 1460| ValueCategory = prvalue(load) -# 1460| getRValue(): [Literal] 3 -# 1460| Type = [IntType] int -# 1460| Value = [Literal] 3 -# 1460| ValueCategory = prvalue -# 1461| getStmt(1): [ReturnStmt] return ... -# 1464| [TopLevelFunction] void array_structured_binding() -# 1464| : -# 1464| getEntryPoint(): [BlockStmt] { ... } -# 1465| getStmt(0): [DeclStmt] declaration -# 1465| getDeclarationEntry(0): [VariableDeclarationEntry] definition of xs -# 1465| Type = [ArrayType] int[2] -# 1465| getVariable().getInitializer(): [Initializer] initializer for xs -# 1465| getExpr(): [ArrayAggregateLiteral] {...} -# 1465| Type = [ArrayType] int[2] -# 1465| ValueCategory = prvalue -# 1465| getAnElementExpr(0): [Literal] 1 -# 1465| Type = [IntType] int -# 1465| Value = [Literal] 1 -# 1465| ValueCategory = prvalue -# 1465| getAnElementExpr(1): [Literal] 2 -# 1465| Type = [IntType] int -# 1465| Value = [Literal] 2 -# 1465| ValueCategory = prvalue -# 1467| getStmt(1): [BlockStmt] { ... } -# 1468| getStmt(0): [DeclStmt] declaration -# 1468| getDeclarationEntry(0): [VariableDeclarationEntry] definition of (unnamed local variable) -# 1468| Type = [LValueReferenceType] int(&)[2] -# 1468| getVariable().getInitializer(): [Initializer] initializer for (unnamed local variable) -# 1468| getExpr(): [VariableAccess] xs -# 1468| Type = [ArrayType] int[2] -# 1468| ValueCategory = lvalue -# 1468| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1468| Type = [LValueReferenceType] int(&)[2] -# 1468| ValueCategory = prvalue -# 1468| getDeclarationEntry(1): [VariableDeclarationEntry] definition of x0 -# 1468| Type = [IntType] int +# 1503| [Destructor] void Inheritance_Test_A::~Inheritance_Test_A() +# 1503| : +# 1506| [Constructor] void Inheritance_Test_A::Inheritance_Test_A() +# 1506| : +# 1506| : +# 1506| getInitializer(0): (no string representation) +# 1506| Type = [Struct] Inheritance_Test_B +# 1506| ValueCategory = prvalue +# 1506| getInitializer(1): [ConstructorFieldInit] constructor init of field x +# 1506| Type = [IntType] int +# 1506| ValueCategory = prvalue +# 1506| getExpr(): [Literal] 42 +# 1506| Type = [IntType] int +# 1506| Value = [Literal] 42 +# 1506| ValueCategory = prvalue +# 1506| getEntryPoint(): [BlockStmt] { ... } +# 1507| getStmt(0): [ExprStmt] ExprStmt +# 1507| getExpr(): [AssignExpr] ... = ... +# 1507| Type = [IntType] int +# 1507| ValueCategory = lvalue +# 1507| getLValue(): [ImplicitThisFieldAccess,PointerFieldAccess] y +# 1507| Type = [IntType] int +# 1507| ValueCategory = lvalue +# 1507| getQualifier(): [ThisExpr] this +# 1507| Type = [PointerType] Inheritance_Test_A * +# 1507| ValueCategory = prvalue(load) +# 1507| getRValue(): [Literal] 3 +# 1507| Type = [IntType] int +# 1507| Value = [Literal] 3 +# 1507| ValueCategory = prvalue +# 1508| getStmt(1): [ReturnStmt] return ... +# 1511| [TopLevelFunction] void array_structured_binding() +# 1511| : +# 1511| getEntryPoint(): [BlockStmt] { ... } +# 1512| getStmt(0): [DeclStmt] declaration +# 1512| getDeclarationEntry(0): [VariableDeclarationEntry] definition of xs +# 1512| Type = [ArrayType] int[2] +# 1512| getVariable().getInitializer(): [Initializer] initializer for xs +# 1512| getExpr(): [ArrayAggregateLiteral] {...} +# 1512| Type = [ArrayType] int[2] +# 1512| ValueCategory = prvalue +# 1512| getAnElementExpr(0): [Literal] 1 +# 1512| Type = [IntType] int +# 1512| Value = [Literal] 1 +# 1512| ValueCategory = prvalue +# 1512| getAnElementExpr(1): [Literal] 2 +# 1512| Type = [IntType] int +# 1512| Value = [Literal] 2 +# 1512| ValueCategory = prvalue +# 1514| getStmt(1): [BlockStmt] { ... } +# 1515| getStmt(0): [DeclStmt] declaration +# 1515| getDeclarationEntry(0): [VariableDeclarationEntry] definition of (unnamed local variable) +# 1515| Type = [LValueReferenceType] int(&)[2] +# 1515| getVariable().getInitializer(): [Initializer] initializer for (unnamed local variable) +# 1515| getExpr(): [VariableAccess] xs +# 1515| Type = [ArrayType] int[2] +# 1515| ValueCategory = lvalue +# 1515| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1515| Type = [LValueReferenceType] int(&)[2] +# 1515| ValueCategory = prvalue +# 1515| getDeclarationEntry(1): [VariableDeclarationEntry] definition of x0 +# 1515| Type = [IntType] int #-----| getVariable().getInitializer(): [Initializer] initializer for x0 #-----| getExpr(): [ArrayExpr] access to array #-----| Type = [IntType] int @@ -11864,8 +12616,8 @@ ir.cpp: #-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) #-----| Type = [ArrayType] int[2] #-----| ValueCategory = lvalue -# 1468| getDeclarationEntry(2): [VariableDeclarationEntry] definition of x1 -# 1468| Type = [IntType] int +# 1515| getDeclarationEntry(2): [VariableDeclarationEntry] definition of x1 +# 1515| Type = [IntType] int #-----| getVariable().getInitializer(): [Initializer] initializer for x1 #-----| getExpr(): [ArrayExpr] access to array #-----| Type = [IntType] int @@ -11883,1462 +12635,1462 @@ ir.cpp: #-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) #-----| Type = [ArrayType] int[2] #-----| ValueCategory = lvalue -# 1469| getStmt(1): [ExprStmt] ExprStmt -# 1469| getExpr(): [AssignExpr] ... = ... -# 1469| Type = [IntType] int -# 1469| ValueCategory = lvalue -# 1469| getLValue(): [VariableAccess] x1 -# 1469| Type = [IntType] int -# 1469| ValueCategory = lvalue -# 1469| getRValue(): [Literal] 3 -# 1469| Type = [IntType] int -# 1469| Value = [Literal] 3 -# 1469| ValueCategory = prvalue -# 1470| getStmt(2): [DeclStmt] declaration -# 1470| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rx1 -# 1470| Type = [LValueReferenceType] int & -# 1470| getVariable().getInitializer(): [Initializer] initializer for rx1 -# 1470| getExpr(): [VariableAccess] x1 -# 1470| Type = [IntType] int -# 1470| ValueCategory = lvalue -# 1470| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1470| Type = [LValueReferenceType] int & -# 1470| ValueCategory = prvalue -# 1471| getStmt(3): [DeclStmt] declaration -# 1471| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 1471| Type = [IntType] int -# 1471| getVariable().getInitializer(): [Initializer] initializer for x -# 1471| getExpr(): [VariableAccess] x1 -# 1471| Type = [IntType] int -# 1471| ValueCategory = prvalue(load) -# 1474| getStmt(2): [BlockStmt] { ... } -# 1475| getStmt(0): [DeclStmt] declaration -# 1475| getDeclarationEntry(0): [VariableDeclarationEntry] definition of unnamed_local_variable -# 1475| Type = [LValueReferenceType] int(&)[2] -# 1475| getVariable().getInitializer(): [Initializer] initializer for unnamed_local_variable -# 1475| getExpr(): [VariableAccess] xs -# 1475| Type = [ArrayType] int[2] -# 1475| ValueCategory = lvalue -# 1475| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1475| Type = [LValueReferenceType] int(&)[2] -# 1475| ValueCategory = prvalue -# 1476| getStmt(1): [DeclStmt] declaration -# 1476| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x0 -# 1476| Type = [LValueReferenceType] int & -# 1476| getVariable().getInitializer(): [Initializer] initializer for x0 -# 1476| getExpr(): [ArrayExpr] access to array -# 1476| Type = [IntType] int -# 1476| ValueCategory = lvalue -# 1476| getArrayBase(): [VariableAccess] unnamed_local_variable -# 1476| Type = [LValueReferenceType] int(&)[2] -# 1476| ValueCategory = prvalue(load) -# 1476| getArrayOffset(): [Literal] 0 -# 1476| Type = [IntType] int -# 1476| Value = [Literal] 0 -# 1476| ValueCategory = prvalue -# 1476| getArrayBase().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1476| Type = [IntPointerType] int * -# 1476| ValueCategory = prvalue -# 1476| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1476| Type = [ArrayType] int[2] -# 1476| ValueCategory = lvalue -# 1476| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1476| Type = [LValueReferenceType] int & -# 1476| ValueCategory = prvalue -# 1477| getStmt(2): [DeclStmt] declaration -# 1477| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x1 -# 1477| Type = [LValueReferenceType] int & -# 1477| getVariable().getInitializer(): [Initializer] initializer for x1 -# 1477| getExpr(): [ArrayExpr] access to array -# 1477| Type = [IntType] int -# 1477| ValueCategory = lvalue -# 1477| getArrayBase(): [VariableAccess] unnamed_local_variable -# 1477| Type = [LValueReferenceType] int(&)[2] -# 1477| ValueCategory = prvalue(load) -# 1477| getArrayOffset(): [Literal] 1 -# 1477| Type = [IntType] int -# 1477| Value = [Literal] 1 -# 1477| ValueCategory = prvalue -# 1477| getArrayBase().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1477| Type = [IntPointerType] int * -# 1477| ValueCategory = prvalue -# 1477| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1477| Type = [ArrayType] int[2] -# 1477| ValueCategory = lvalue -# 1477| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1477| Type = [LValueReferenceType] int & -# 1477| ValueCategory = prvalue -# 1478| getStmt(3): [ExprStmt] ExprStmt -# 1478| getExpr(): [AssignExpr] ... = ... -# 1478| Type = [IntType] int -# 1478| ValueCategory = lvalue -# 1478| getLValue(): [VariableAccess] x1 -# 1478| Type = [LValueReferenceType] int & -# 1478| ValueCategory = prvalue(load) -# 1478| getRValue(): [Literal] 3 -# 1478| Type = [IntType] int -# 1478| Value = [Literal] 3 -# 1478| ValueCategory = prvalue -# 1478| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1478| Type = [IntType] int -# 1478| ValueCategory = lvalue -# 1479| getStmt(4): [DeclStmt] declaration -# 1479| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rx1 -# 1479| Type = [LValueReferenceType] int & -# 1479| getVariable().getInitializer(): [Initializer] initializer for rx1 -# 1479| getExpr(): [VariableAccess] x1 -# 1479| Type = [LValueReferenceType] int & -# 1479| ValueCategory = prvalue(load) -# 1479| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1479| Type = [LValueReferenceType] int & -# 1479| ValueCategory = prvalue -# 1479| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1479| Type = [IntType] int -# 1479| ValueCategory = lvalue -# 1480| getStmt(5): [DeclStmt] declaration -# 1480| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 1480| Type = [IntType] int -# 1480| getVariable().getInitializer(): [Initializer] initializer for x -# 1480| getExpr(): [VariableAccess] x1 -# 1480| Type = [LValueReferenceType] int & -# 1480| ValueCategory = prvalue(load) -# 1480| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1480| Type = [IntType] int -# 1480| ValueCategory = prvalue(load) -# 1482| getStmt(3): [ReturnStmt] return ... -# 1484| [CopyAssignmentOperator] StructuredBindingDataMemberMemberStruct& StructuredBindingDataMemberMemberStruct::operator=(StructuredBindingDataMemberMemberStruct const&) -# 1484| : +# 1516| getStmt(1): [ExprStmt] ExprStmt +# 1516| getExpr(): [AssignExpr] ... = ... +# 1516| Type = [IntType] int +# 1516| ValueCategory = lvalue +# 1516| getLValue(): [VariableAccess] x1 +# 1516| Type = [IntType] int +# 1516| ValueCategory = lvalue +# 1516| getRValue(): [Literal] 3 +# 1516| Type = [IntType] int +# 1516| Value = [Literal] 3 +# 1516| ValueCategory = prvalue +# 1517| getStmt(2): [DeclStmt] declaration +# 1517| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rx1 +# 1517| Type = [LValueReferenceType] int & +# 1517| getVariable().getInitializer(): [Initializer] initializer for rx1 +# 1517| getExpr(): [VariableAccess] x1 +# 1517| Type = [IntType] int +# 1517| ValueCategory = lvalue +# 1517| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1517| Type = [LValueReferenceType] int & +# 1517| ValueCategory = prvalue +# 1518| getStmt(3): [DeclStmt] declaration +# 1518| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 1518| Type = [IntType] int +# 1518| getVariable().getInitializer(): [Initializer] initializer for x +# 1518| getExpr(): [VariableAccess] x1 +# 1518| Type = [IntType] int +# 1518| ValueCategory = prvalue(load) +# 1521| getStmt(2): [BlockStmt] { ... } +# 1522| getStmt(0): [DeclStmt] declaration +# 1522| getDeclarationEntry(0): [VariableDeclarationEntry] definition of unnamed_local_variable +# 1522| Type = [LValueReferenceType] int(&)[2] +# 1522| getVariable().getInitializer(): [Initializer] initializer for unnamed_local_variable +# 1522| getExpr(): [VariableAccess] xs +# 1522| Type = [ArrayType] int[2] +# 1522| ValueCategory = lvalue +# 1522| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1522| Type = [LValueReferenceType] int(&)[2] +# 1522| ValueCategory = prvalue +# 1523| getStmt(1): [DeclStmt] declaration +# 1523| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x0 +# 1523| Type = [LValueReferenceType] int & +# 1523| getVariable().getInitializer(): [Initializer] initializer for x0 +# 1523| getExpr(): [ArrayExpr] access to array +# 1523| Type = [IntType] int +# 1523| ValueCategory = lvalue +# 1523| getArrayBase(): [VariableAccess] unnamed_local_variable +# 1523| Type = [LValueReferenceType] int(&)[2] +# 1523| ValueCategory = prvalue(load) +# 1523| getArrayOffset(): [Literal] 0 +# 1523| Type = [IntType] int +# 1523| Value = [Literal] 0 +# 1523| ValueCategory = prvalue +# 1523| getArrayBase().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1523| Type = [IntPointerType] int * +# 1523| ValueCategory = prvalue +# 1523| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1523| Type = [ArrayType] int[2] +# 1523| ValueCategory = lvalue +# 1523| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1523| Type = [LValueReferenceType] int & +# 1523| ValueCategory = prvalue +# 1524| getStmt(2): [DeclStmt] declaration +# 1524| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x1 +# 1524| Type = [LValueReferenceType] int & +# 1524| getVariable().getInitializer(): [Initializer] initializer for x1 +# 1524| getExpr(): [ArrayExpr] access to array +# 1524| Type = [IntType] int +# 1524| ValueCategory = lvalue +# 1524| getArrayBase(): [VariableAccess] unnamed_local_variable +# 1524| Type = [LValueReferenceType] int(&)[2] +# 1524| ValueCategory = prvalue(load) +# 1524| getArrayOffset(): [Literal] 1 +# 1524| Type = [IntType] int +# 1524| Value = [Literal] 1 +# 1524| ValueCategory = prvalue +# 1524| getArrayBase().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1524| Type = [IntPointerType] int * +# 1524| ValueCategory = prvalue +# 1524| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1524| Type = [ArrayType] int[2] +# 1524| ValueCategory = lvalue +# 1524| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1524| Type = [LValueReferenceType] int & +# 1524| ValueCategory = prvalue +# 1525| getStmt(3): [ExprStmt] ExprStmt +# 1525| getExpr(): [AssignExpr] ... = ... +# 1525| Type = [IntType] int +# 1525| ValueCategory = lvalue +# 1525| getLValue(): [VariableAccess] x1 +# 1525| Type = [LValueReferenceType] int & +# 1525| ValueCategory = prvalue(load) +# 1525| getRValue(): [Literal] 3 +# 1525| Type = [IntType] int +# 1525| Value = [Literal] 3 +# 1525| ValueCategory = prvalue +# 1525| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1525| Type = [IntType] int +# 1525| ValueCategory = lvalue +# 1526| getStmt(4): [DeclStmt] declaration +# 1526| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rx1 +# 1526| Type = [LValueReferenceType] int & +# 1526| getVariable().getInitializer(): [Initializer] initializer for rx1 +# 1526| getExpr(): [VariableAccess] x1 +# 1526| Type = [LValueReferenceType] int & +# 1526| ValueCategory = prvalue(load) +# 1526| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1526| Type = [LValueReferenceType] int & +# 1526| ValueCategory = prvalue +# 1526| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1526| Type = [IntType] int +# 1526| ValueCategory = lvalue +# 1527| getStmt(5): [DeclStmt] declaration +# 1527| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 1527| Type = [IntType] int +# 1527| getVariable().getInitializer(): [Initializer] initializer for x +# 1527| getExpr(): [VariableAccess] x1 +# 1527| Type = [LValueReferenceType] int & +# 1527| ValueCategory = prvalue(load) +# 1527| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1527| Type = [IntType] int +# 1527| ValueCategory = prvalue(load) +# 1529| getStmt(3): [ReturnStmt] return ... +# 1531| [CopyAssignmentOperator] StructuredBindingDataMemberMemberStruct& StructuredBindingDataMemberMemberStruct::operator=(StructuredBindingDataMemberMemberStruct const&) +# 1531| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const StructuredBindingDataMemberMemberStruct & -# 1484| [MoveAssignmentOperator] StructuredBindingDataMemberMemberStruct& StructuredBindingDataMemberMemberStruct::operator=(StructuredBindingDataMemberMemberStruct&&) -# 1484| : +# 1531| [MoveAssignmentOperator] StructuredBindingDataMemberMemberStruct& StructuredBindingDataMemberMemberStruct::operator=(StructuredBindingDataMemberMemberStruct&&) +# 1531| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] StructuredBindingDataMemberMemberStruct && -# 1484| [Constructor] void StructuredBindingDataMemberMemberStruct::StructuredBindingDataMemberMemberStruct() -# 1484| : -# 1484| : -# 1484| getInitializer(0): [ConstructorFieldInit] constructor init of field x -# 1484| Type = [IntType] int -# 1484| ValueCategory = prvalue -# 1484| getEntryPoint(): [BlockStmt] { ... } -# 1484| getStmt(0): [ReturnStmt] return ... -# 1484| [CopyConstructor] void StructuredBindingDataMemberMemberStruct::StructuredBindingDataMemberMemberStruct(StructuredBindingDataMemberMemberStruct const&) -# 1484| : +# 1531| [Constructor] void StructuredBindingDataMemberMemberStruct::StructuredBindingDataMemberMemberStruct() +# 1531| : +# 1531| : +# 1531| getInitializer(0): [ConstructorFieldInit] constructor init of field x +# 1531| Type = [IntType] int +# 1531| ValueCategory = prvalue +# 1531| getEntryPoint(): [BlockStmt] { ... } +# 1531| getStmt(0): [ReturnStmt] return ... +# 1531| [CopyConstructor] void StructuredBindingDataMemberMemberStruct::StructuredBindingDataMemberMemberStruct(StructuredBindingDataMemberMemberStruct const&) +# 1531| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const StructuredBindingDataMemberMemberStruct & -# 1484| [MoveConstructor] void StructuredBindingDataMemberMemberStruct::StructuredBindingDataMemberMemberStruct(StructuredBindingDataMemberMemberStruct&&) -# 1484| : +# 1531| [MoveConstructor] void StructuredBindingDataMemberMemberStruct::StructuredBindingDataMemberMemberStruct(StructuredBindingDataMemberMemberStruct&&) +# 1531| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] StructuredBindingDataMemberMemberStruct && -# 1488| [CopyAssignmentOperator] StructuredBindingDataMemberStruct& StructuredBindingDataMemberStruct::operator=(StructuredBindingDataMemberStruct const&) -# 1488| : +# 1535| [CopyAssignmentOperator] StructuredBindingDataMemberStruct& StructuredBindingDataMemberStruct::operator=(StructuredBindingDataMemberStruct const&) +# 1535| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & -# 1488| [Constructor] void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct() -# 1488| : -# 1488| : -# 1488| getInitializer(0): [ConstructorFieldInit] constructor init of field i -# 1488| Type = [IntType] int -# 1488| ValueCategory = prvalue -# 1488| getInitializer(1): [ConstructorFieldInit] constructor init of field d -# 1488| Type = [DoubleType] double -# 1488| ValueCategory = prvalue -# 1488| getInitializer(2): [ConstructorFieldInit] constructor init of field r -# 1488| Type = [LValueReferenceType] int & -# 1488| ValueCategory = prvalue -# 1488| getInitializer(3): [ConstructorFieldInit] constructor init of field p -# 1488| Type = [IntPointerType] int * -# 1488| ValueCategory = prvalue -# 1488| getInitializer(4): [ConstructorFieldInit] constructor init of field xs -# 1488| Type = [CTypedefType,NestedTypedefType] ArrayType -# 1488| ValueCategory = prvalue -# 1488| getInitializer(5): [ConstructorFieldInit] constructor init of field r_alt -# 1488| Type = [CTypedefType,NestedTypedefType] RefType -# 1488| ValueCategory = prvalue -# 1488| getInitializer(6): [ConstructorFieldInit] constructor init of field m -# 1488| Type = [Struct] StructuredBindingDataMemberMemberStruct -# 1488| ValueCategory = prvalue -# 1488| getExpr(): [ConstructorCall] call to StructuredBindingDataMemberMemberStruct -# 1488| Type = [VoidType] void -# 1488| ValueCategory = prvalue -# 1488| getEntryPoint(): [BlockStmt] { ... } -# 1488| getStmt(0): [ReturnStmt] return ... -# 1488| [CopyConstructor] void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct(StructuredBindingDataMemberStruct const&) -# 1488| : +# 1535| [Constructor] void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct() +# 1535| : +# 1535| : +# 1535| getInitializer(0): [ConstructorFieldInit] constructor init of field i +# 1535| Type = [IntType] int +# 1535| ValueCategory = prvalue +# 1535| getInitializer(1): [ConstructorFieldInit] constructor init of field d +# 1535| Type = [DoubleType] double +# 1535| ValueCategory = prvalue +# 1535| getInitializer(2): [ConstructorFieldInit] constructor init of field r +# 1535| Type = [LValueReferenceType] int & +# 1535| ValueCategory = prvalue +# 1535| getInitializer(3): [ConstructorFieldInit] constructor init of field p +# 1535| Type = [IntPointerType] int * +# 1535| ValueCategory = prvalue +# 1535| getInitializer(4): [ConstructorFieldInit] constructor init of field xs +# 1535| Type = [CTypedefType,NestedTypedefType] ArrayType +# 1535| ValueCategory = prvalue +# 1535| getInitializer(5): [ConstructorFieldInit] constructor init of field r_alt +# 1535| Type = [CTypedefType,NestedTypedefType] RefType +# 1535| ValueCategory = prvalue +# 1535| getInitializer(6): [ConstructorFieldInit] constructor init of field m +# 1535| Type = [Struct] StructuredBindingDataMemberMemberStruct +# 1535| ValueCategory = prvalue +# 1535| getExpr(): [ConstructorCall] call to StructuredBindingDataMemberMemberStruct +# 1535| Type = [VoidType] void +# 1535| ValueCategory = prvalue +# 1535| getEntryPoint(): [BlockStmt] { ... } +# 1535| getStmt(0): [ReturnStmt] return ... +# 1535| [CopyConstructor] void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct(StructuredBindingDataMemberStruct const&) +# 1535| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & -# 1488| : -# 1488| getInitializer(0): [ConstructorFieldInit] constructor init of field i -# 1488| Type = [IntType] int -# 1488| ValueCategory = prvalue -# 1488| getExpr(): [ReferenceFieldAccess] i -# 1488| Type = [IntType] int -# 1488| ValueCategory = prvalue(load) -# 1488| getQualifier(): [VariableAccess] (unnamed parameter 0) -# 1488| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & -# 1488| ValueCategory = prvalue(load) -# 1488| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1488| Type = [SpecifiedType] const StructuredBindingDataMemberStruct -# 1488| ValueCategory = lvalue -# 1488| getInitializer(1): [ConstructorFieldInit] constructor init of field d -# 1488| Type = [DoubleType] double -# 1488| ValueCategory = prvalue -# 1488| getExpr(): [ReferenceFieldAccess] d -# 1488| Type = [DoubleType] double -# 1488| ValueCategory = prvalue(load) -# 1488| getQualifier(): [VariableAccess] (unnamed parameter 0) -# 1488| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & -# 1488| ValueCategory = prvalue(load) -# 1488| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1488| Type = [SpecifiedType] const StructuredBindingDataMemberStruct -# 1488| ValueCategory = lvalue -# 1488| getInitializer(2): [ConstructorFieldInit] constructor init of field b -# 1488| Type = [IntType] unsigned int -# 1488| ValueCategory = prvalue -# 1488| getExpr(): [ReferenceFieldAccess] b -# 1488| Type = [IntType] unsigned int -# 1488| ValueCategory = prvalue(load) -# 1488| getQualifier(): [VariableAccess] (unnamed parameter 0) -# 1488| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & -# 1488| ValueCategory = prvalue(load) -# 1488| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1488| Type = [SpecifiedType] const StructuredBindingDataMemberStruct -# 1488| ValueCategory = lvalue -# 1488| getInitializer(3): [ConstructorFieldInit] constructor init of field r -# 1488| Type = [LValueReferenceType] int & -# 1488| ValueCategory = prvalue -# 1488| getExpr(): [ReferenceFieldAccess] r -# 1488| Type = [LValueReferenceType] int & -# 1488| ValueCategory = prvalue(load) -# 1488| getQualifier(): [VariableAccess] (unnamed parameter 0) -# 1488| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & -# 1488| ValueCategory = prvalue(load) -# 1488| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1488| Type = [SpecifiedType] const StructuredBindingDataMemberStruct -# 1488| ValueCategory = lvalue -# 1488| getInitializer(4): [ConstructorFieldInit] constructor init of field p -# 1488| Type = [IntPointerType] int * -# 1488| ValueCategory = prvalue -# 1488| getExpr(): [ReferenceFieldAccess] p -# 1488| Type = [IntPointerType] int * -# 1488| ValueCategory = prvalue(load) -# 1488| getQualifier(): [VariableAccess] (unnamed parameter 0) -# 1488| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & -# 1488| ValueCategory = prvalue(load) -# 1488| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1488| Type = [SpecifiedType] const StructuredBindingDataMemberStruct -# 1488| ValueCategory = lvalue -# 1488| getInitializer(5): [ConstructorFieldInit] constructor init of field xs -# 1488| Type = [CTypedefType,NestedTypedefType] ArrayType -# 1488| ValueCategory = prvalue -# 1488| getExpr(): [ReferenceFieldAccess] xs -# 1488| Type = [CTypedefType,NestedTypedefType] ArrayType -# 1488| ValueCategory = prvalue(load) -# 1488| getQualifier(): [VariableAccess] (unnamed parameter 0) -# 1488| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & -# 1488| ValueCategory = prvalue(load) -# 1488| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1488| Type = [SpecifiedType] const StructuredBindingDataMemberStruct -# 1488| ValueCategory = lvalue -# 1488| getInitializer(6): [ConstructorFieldInit] constructor init of field r_alt -# 1488| Type = [CTypedefType,NestedTypedefType] RefType -# 1488| ValueCategory = prvalue -# 1488| getExpr(): [ReferenceFieldAccess] r_alt -# 1488| Type = [CTypedefType,NestedTypedefType] RefType -# 1488| ValueCategory = prvalue(load) -# 1488| getQualifier(): [VariableAccess] (unnamed parameter 0) -# 1488| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & -# 1488| ValueCategory = prvalue(load) -# 1488| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1488| Type = [SpecifiedType] const StructuredBindingDataMemberStruct -# 1488| ValueCategory = lvalue -# 1488| getInitializer(7): [ConstructorFieldInit] constructor init of field m -# 1488| Type = [Struct] StructuredBindingDataMemberMemberStruct -# 1488| ValueCategory = prvalue -# 1488| getExpr(): [ReferenceFieldAccess] m -# 1488| Type = [Struct] StructuredBindingDataMemberMemberStruct -# 1488| ValueCategory = prvalue(load) -# 1488| getQualifier(): [VariableAccess] (unnamed parameter 0) -# 1488| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & -# 1488| ValueCategory = prvalue(load) -# 1488| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1488| Type = [SpecifiedType] const StructuredBindingDataMemberStruct -# 1488| ValueCategory = lvalue -# 1488| getEntryPoint(): [BlockStmt] { ... } -# 1488| getStmt(0): [ReturnStmt] return ... -# 1488| [MoveConstructor] void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct(StructuredBindingDataMemberStruct&&) -# 1488| : +# 1535| : +# 1535| getInitializer(0): [ConstructorFieldInit] constructor init of field i +# 1535| Type = [IntType] int +# 1535| ValueCategory = prvalue +# 1535| getExpr(): [ReferenceFieldAccess] i +# 1535| Type = [IntType] int +# 1535| ValueCategory = prvalue(load) +# 1535| getQualifier(): [VariableAccess] (unnamed parameter 0) +# 1535| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & +# 1535| ValueCategory = prvalue(load) +# 1535| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1535| Type = [SpecifiedType] const StructuredBindingDataMemberStruct +# 1535| ValueCategory = lvalue +# 1535| getInitializer(1): [ConstructorFieldInit] constructor init of field d +# 1535| Type = [DoubleType] double +# 1535| ValueCategory = prvalue +# 1535| getExpr(): [ReferenceFieldAccess] d +# 1535| Type = [DoubleType] double +# 1535| ValueCategory = prvalue(load) +# 1535| getQualifier(): [VariableAccess] (unnamed parameter 0) +# 1535| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & +# 1535| ValueCategory = prvalue(load) +# 1535| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1535| Type = [SpecifiedType] const StructuredBindingDataMemberStruct +# 1535| ValueCategory = lvalue +# 1535| getInitializer(2): [ConstructorFieldInit] constructor init of field b +# 1535| Type = [IntType] unsigned int +# 1535| ValueCategory = prvalue +# 1535| getExpr(): [ReferenceFieldAccess] b +# 1535| Type = [IntType] unsigned int +# 1535| ValueCategory = prvalue(load) +# 1535| getQualifier(): [VariableAccess] (unnamed parameter 0) +# 1535| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & +# 1535| ValueCategory = prvalue(load) +# 1535| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1535| Type = [SpecifiedType] const StructuredBindingDataMemberStruct +# 1535| ValueCategory = lvalue +# 1535| getInitializer(3): [ConstructorFieldInit] constructor init of field r +# 1535| Type = [LValueReferenceType] int & +# 1535| ValueCategory = prvalue +# 1535| getExpr(): [ReferenceFieldAccess] r +# 1535| Type = [LValueReferenceType] int & +# 1535| ValueCategory = prvalue(load) +# 1535| getQualifier(): [VariableAccess] (unnamed parameter 0) +# 1535| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & +# 1535| ValueCategory = prvalue(load) +# 1535| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1535| Type = [SpecifiedType] const StructuredBindingDataMemberStruct +# 1535| ValueCategory = lvalue +# 1535| getInitializer(4): [ConstructorFieldInit] constructor init of field p +# 1535| Type = [IntPointerType] int * +# 1535| ValueCategory = prvalue +# 1535| getExpr(): [ReferenceFieldAccess] p +# 1535| Type = [IntPointerType] int * +# 1535| ValueCategory = prvalue(load) +# 1535| getQualifier(): [VariableAccess] (unnamed parameter 0) +# 1535| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & +# 1535| ValueCategory = prvalue(load) +# 1535| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1535| Type = [SpecifiedType] const StructuredBindingDataMemberStruct +# 1535| ValueCategory = lvalue +# 1535| getInitializer(5): [ConstructorFieldInit] constructor init of field xs +# 1535| Type = [CTypedefType,NestedTypedefType] ArrayType +# 1535| ValueCategory = prvalue +# 1535| getExpr(): [ReferenceFieldAccess] xs +# 1535| Type = [CTypedefType,NestedTypedefType] ArrayType +# 1535| ValueCategory = prvalue(load) +# 1535| getQualifier(): [VariableAccess] (unnamed parameter 0) +# 1535| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & +# 1535| ValueCategory = prvalue(load) +# 1535| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1535| Type = [SpecifiedType] const StructuredBindingDataMemberStruct +# 1535| ValueCategory = lvalue +# 1535| getInitializer(6): [ConstructorFieldInit] constructor init of field r_alt +# 1535| Type = [CTypedefType,NestedTypedefType] RefType +# 1535| ValueCategory = prvalue +# 1535| getExpr(): [ReferenceFieldAccess] r_alt +# 1535| Type = [CTypedefType,NestedTypedefType] RefType +# 1535| ValueCategory = prvalue(load) +# 1535| getQualifier(): [VariableAccess] (unnamed parameter 0) +# 1535| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & +# 1535| ValueCategory = prvalue(load) +# 1535| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1535| Type = [SpecifiedType] const StructuredBindingDataMemberStruct +# 1535| ValueCategory = lvalue +# 1535| getInitializer(7): [ConstructorFieldInit] constructor init of field m +# 1535| Type = [Struct] StructuredBindingDataMemberMemberStruct +# 1535| ValueCategory = prvalue +# 1535| getExpr(): [ReferenceFieldAccess] m +# 1535| Type = [Struct] StructuredBindingDataMemberMemberStruct +# 1535| ValueCategory = prvalue(load) +# 1535| getQualifier(): [VariableAccess] (unnamed parameter 0) +# 1535| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & +# 1535| ValueCategory = prvalue(load) +# 1535| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1535| Type = [SpecifiedType] const StructuredBindingDataMemberStruct +# 1535| ValueCategory = lvalue +# 1535| getEntryPoint(): [BlockStmt] { ... } +# 1535| getStmt(0): [ReturnStmt] return ... +# 1535| [MoveConstructor] void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct(StructuredBindingDataMemberStruct&&) +# 1535| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] StructuredBindingDataMemberStruct && -# 1501| [TopLevelFunction] void data_member_structured_binding() -# 1501| : -# 1501| getEntryPoint(): [BlockStmt] { ... } -# 1502| getStmt(0): [DeclStmt] declaration -# 1502| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s -# 1502| Type = [Struct] StructuredBindingDataMemberStruct -# 1502| getVariable().getInitializer(): [Initializer] initializer for s -# 1502| getExpr(): [ConstructorCall] call to StructuredBindingDataMemberStruct -# 1502| Type = [VoidType] void -# 1502| ValueCategory = prvalue -# 1504| getStmt(1): [BlockStmt] { ... } -# 1505| getStmt(0): [DeclStmt] declaration -# 1505| getDeclarationEntry(0): [VariableDeclarationEntry] definition of (unnamed local variable) -# 1505| Type = [Struct] StructuredBindingDataMemberStruct -# 1505| getVariable().getInitializer(): [Initializer] initializer for (unnamed local variable) -# 1505| getExpr(): [VariableAccess] s -# 1505| Type = [Struct] StructuredBindingDataMemberStruct -# 1505| ValueCategory = prvalue(load) -# 1505| getDeclarationEntry(1): [VariableDeclarationEntry] definition of i -# 1505| Type = [IntType] int +# 1548| [TopLevelFunction] void data_member_structured_binding() +# 1548| : +# 1548| getEntryPoint(): [BlockStmt] { ... } +# 1549| getStmt(0): [DeclStmt] declaration +# 1549| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s +# 1549| Type = [Struct] StructuredBindingDataMemberStruct +# 1549| getVariable().getInitializer(): [Initializer] initializer for s +# 1549| getExpr(): [ConstructorCall] call to StructuredBindingDataMemberStruct +# 1549| Type = [VoidType] void +# 1549| ValueCategory = prvalue +# 1551| getStmt(1): [BlockStmt] { ... } +# 1552| getStmt(0): [DeclStmt] declaration +# 1552| getDeclarationEntry(0): [VariableDeclarationEntry] definition of (unnamed local variable) +# 1552| Type = [Struct] StructuredBindingDataMemberStruct +# 1552| getVariable().getInitializer(): [Initializer] initializer for (unnamed local variable) +# 1552| getExpr(): [VariableAccess] s +# 1552| Type = [Struct] StructuredBindingDataMemberStruct +# 1552| ValueCategory = prvalue(load) +# 1552| getDeclarationEntry(1): [VariableDeclarationEntry] definition of i +# 1552| Type = [IntType] int #-----| getVariable().getInitializer(): [Initializer] initializer for i -# 1505| getExpr(): [ValueFieldAccess] i -# 1505| Type = [IntType] int -# 1505| ValueCategory = lvalue -# 1505| getQualifier(): [VariableAccess] (unnamed local variable) -# 1505| Type = [Struct] StructuredBindingDataMemberStruct -# 1505| ValueCategory = lvalue -# 1505| getDeclarationEntry(2): [VariableDeclarationEntry] definition of d -# 1505| Type = [DoubleType] double +# 1552| getExpr(): [ValueFieldAccess] i +# 1552| Type = [IntType] int +# 1552| ValueCategory = lvalue +# 1552| getQualifier(): [VariableAccess] (unnamed local variable) +# 1552| Type = [Struct] StructuredBindingDataMemberStruct +# 1552| ValueCategory = lvalue +# 1552| getDeclarationEntry(2): [VariableDeclarationEntry] definition of d +# 1552| Type = [DoubleType] double #-----| getVariable().getInitializer(): [Initializer] initializer for d -# 1505| getExpr(): [ValueFieldAccess] d -# 1505| Type = [DoubleType] double -# 1505| ValueCategory = lvalue -# 1505| getQualifier(): [VariableAccess] (unnamed local variable) -# 1505| Type = [Struct] StructuredBindingDataMemberStruct -# 1505| ValueCategory = lvalue -# 1505| getDeclarationEntry(3): [VariableDeclarationEntry] definition of b -# 1505| Type = [IntType] unsigned int +# 1552| getExpr(): [ValueFieldAccess] d +# 1552| Type = [DoubleType] double +# 1552| ValueCategory = lvalue +# 1552| getQualifier(): [VariableAccess] (unnamed local variable) +# 1552| Type = [Struct] StructuredBindingDataMemberStruct +# 1552| ValueCategory = lvalue +# 1552| getDeclarationEntry(3): [VariableDeclarationEntry] definition of b +# 1552| Type = [IntType] unsigned int #-----| getVariable().getInitializer(): [Initializer] initializer for b -# 1505| getExpr(): [ValueFieldAccess] b -# 1505| Type = [IntType] unsigned int -# 1505| ValueCategory = lvalue -# 1505| getQualifier(): [VariableAccess] (unnamed local variable) -# 1505| Type = [Struct] StructuredBindingDataMemberStruct -# 1505| ValueCategory = lvalue -# 1505| getDeclarationEntry(4): [VariableDeclarationEntry] definition of r -# 1505| Type = [IntType] int +# 1552| getExpr(): [ValueFieldAccess] b +# 1552| Type = [IntType] unsigned int +# 1552| ValueCategory = lvalue +# 1552| getQualifier(): [VariableAccess] (unnamed local variable) +# 1552| Type = [Struct] StructuredBindingDataMemberStruct +# 1552| ValueCategory = lvalue +# 1552| getDeclarationEntry(4): [VariableDeclarationEntry] definition of r +# 1552| Type = [IntType] int #-----| getVariable().getInitializer(): [Initializer] initializer for r -# 1505| getExpr(): [ValueFieldAccess] r -# 1505| Type = [LValueReferenceType] int & -# 1505| ValueCategory = prvalue(load) -# 1505| getQualifier(): [VariableAccess] (unnamed local variable) -# 1505| Type = [Struct] StructuredBindingDataMemberStruct -# 1505| ValueCategory = lvalue -# 1505| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1505| Type = [IntType] int -# 1505| ValueCategory = lvalue -# 1505| getDeclarationEntry(5): [VariableDeclarationEntry] definition of p -# 1505| Type = [IntPointerType] int * +# 1552| getExpr(): [ValueFieldAccess] r +# 1552| Type = [LValueReferenceType] int & +# 1552| ValueCategory = prvalue(load) +# 1552| getQualifier(): [VariableAccess] (unnamed local variable) +# 1552| Type = [Struct] StructuredBindingDataMemberStruct +# 1552| ValueCategory = lvalue +# 1552| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1552| Type = [IntType] int +# 1552| ValueCategory = lvalue +# 1552| getDeclarationEntry(5): [VariableDeclarationEntry] definition of p +# 1552| Type = [IntPointerType] int * #-----| getVariable().getInitializer(): [Initializer] initializer for p -# 1505| getExpr(): [ValueFieldAccess] p -# 1505| Type = [IntPointerType] int * -# 1505| ValueCategory = lvalue -# 1505| getQualifier(): [VariableAccess] (unnamed local variable) -# 1505| Type = [Struct] StructuredBindingDataMemberStruct -# 1505| ValueCategory = lvalue -# 1505| getDeclarationEntry(6): [VariableDeclarationEntry] definition of xs -# 1505| Type = [CTypedefType,NestedTypedefType] ArrayType +# 1552| getExpr(): [ValueFieldAccess] p +# 1552| Type = [IntPointerType] int * +# 1552| ValueCategory = lvalue +# 1552| getQualifier(): [VariableAccess] (unnamed local variable) +# 1552| Type = [Struct] StructuredBindingDataMemberStruct +# 1552| ValueCategory = lvalue +# 1552| getDeclarationEntry(6): [VariableDeclarationEntry] definition of xs +# 1552| Type = [CTypedefType,NestedTypedefType] ArrayType #-----| getVariable().getInitializer(): [Initializer] initializer for xs -# 1505| getExpr(): [ValueFieldAccess] xs -# 1505| Type = [CTypedefType,NestedTypedefType] ArrayType -# 1505| ValueCategory = lvalue -# 1505| getQualifier(): [VariableAccess] (unnamed local variable) -# 1505| Type = [Struct] StructuredBindingDataMemberStruct -# 1505| ValueCategory = lvalue -# 1505| getDeclarationEntry(7): [VariableDeclarationEntry] definition of r_alt -# 1505| Type = [IntType] int +# 1552| getExpr(): [ValueFieldAccess] xs +# 1552| Type = [CTypedefType,NestedTypedefType] ArrayType +# 1552| ValueCategory = lvalue +# 1552| getQualifier(): [VariableAccess] (unnamed local variable) +# 1552| Type = [Struct] StructuredBindingDataMemberStruct +# 1552| ValueCategory = lvalue +# 1552| getDeclarationEntry(7): [VariableDeclarationEntry] definition of r_alt +# 1552| Type = [IntType] int #-----| getVariable().getInitializer(): [Initializer] initializer for r_alt -# 1505| getExpr(): [ValueFieldAccess] r_alt -# 1505| Type = [CTypedefType,NestedTypedefType] RefType -# 1505| ValueCategory = prvalue(load) -# 1505| getQualifier(): [VariableAccess] (unnamed local variable) -# 1505| Type = [Struct] StructuredBindingDataMemberStruct -# 1505| ValueCategory = lvalue -# 1505| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1505| Type = [IntType] int -# 1505| ValueCategory = lvalue -# 1505| getDeclarationEntry(8): [VariableDeclarationEntry] definition of m -# 1505| Type = [Struct] StructuredBindingDataMemberMemberStruct +# 1552| getExpr(): [ValueFieldAccess] r_alt +# 1552| Type = [CTypedefType,NestedTypedefType] RefType +# 1552| ValueCategory = prvalue(load) +# 1552| getQualifier(): [VariableAccess] (unnamed local variable) +# 1552| Type = [Struct] StructuredBindingDataMemberStruct +# 1552| ValueCategory = lvalue +# 1552| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1552| Type = [IntType] int +# 1552| ValueCategory = lvalue +# 1552| getDeclarationEntry(8): [VariableDeclarationEntry] definition of m +# 1552| Type = [Struct] StructuredBindingDataMemberMemberStruct #-----| getVariable().getInitializer(): [Initializer] initializer for m -# 1505| getExpr(): [ValueFieldAccess] m -# 1505| Type = [Struct] StructuredBindingDataMemberMemberStruct -# 1505| ValueCategory = lvalue -# 1505| getQualifier(): [VariableAccess] (unnamed local variable) -# 1505| Type = [Struct] StructuredBindingDataMemberStruct -# 1505| ValueCategory = lvalue -# 1506| getStmt(1): [ExprStmt] ExprStmt -# 1506| getExpr(): [AssignExpr] ... = ... -# 1506| Type = [DoubleType] double -# 1506| ValueCategory = lvalue -# 1506| getLValue(): [VariableAccess] d -# 1506| Type = [DoubleType] double -# 1506| ValueCategory = lvalue -# 1506| getRValue(): [Literal] 4.0 -# 1506| Type = [DoubleType] double -# 1506| Value = [Literal] 4.0 -# 1506| ValueCategory = prvalue -# 1507| getStmt(2): [DeclStmt] declaration -# 1507| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rd -# 1507| Type = [LValueReferenceType] double & -# 1507| getVariable().getInitializer(): [Initializer] initializer for rd -# 1507| getExpr(): [VariableAccess] d -# 1507| Type = [DoubleType] double -# 1507| ValueCategory = lvalue -# 1507| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1507| Type = [LValueReferenceType] double & -# 1507| ValueCategory = prvalue -# 1508| getStmt(3): [DeclStmt] declaration -# 1508| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v -# 1508| Type = [IntType] int -# 1508| getVariable().getInitializer(): [Initializer] initializer for v -# 1508| getExpr(): [VariableAccess] i -# 1508| Type = [IntType] int -# 1508| ValueCategory = prvalue(load) -# 1509| getStmt(4): [ExprStmt] ExprStmt -# 1509| getExpr(): [AssignExpr] ... = ... -# 1509| Type = [IntType] int -# 1509| ValueCategory = lvalue -# 1509| getLValue(): [VariableAccess] r -# 1509| Type = [IntType] int -# 1509| ValueCategory = lvalue -# 1509| getRValue(): [Literal] 5 -# 1509| Type = [IntType] int -# 1509| Value = [Literal] 5 -# 1509| ValueCategory = prvalue -# 1510| getStmt(5): [ExprStmt] ExprStmt -# 1510| getExpr(): [AssignExpr] ... = ... -# 1510| Type = [IntType] int -# 1510| ValueCategory = lvalue -# 1510| getLValue(): [PointerDereferenceExpr] * ... -# 1510| Type = [IntType] int -# 1510| ValueCategory = lvalue -# 1510| getOperand(): [VariableAccess] p -# 1510| Type = [IntPointerType] int * -# 1510| ValueCategory = prvalue(load) -# 1510| getRValue(): [Literal] 6 -# 1510| Type = [IntType] int -# 1510| Value = [Literal] 6 -# 1510| ValueCategory = prvalue -# 1511| getStmt(6): [DeclStmt] declaration -# 1511| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rr -# 1511| Type = [LValueReferenceType] int & -# 1511| getVariable().getInitializer(): [Initializer] initializer for rr -# 1511| getExpr(): [VariableAccess] r -# 1511| Type = [IntType] int -# 1511| ValueCategory = lvalue -# 1511| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1511| Type = [LValueReferenceType] int & -# 1511| ValueCategory = prvalue -# 1512| getStmt(7): [DeclStmt] declaration -# 1512| getDeclarationEntry(0): [VariableDeclarationEntry] definition of pr -# 1512| Type = [IntPointerType] int * -# 1512| getVariable().getInitializer(): [Initializer] initializer for pr -# 1512| getExpr(): [AddressOfExpr] & ... -# 1512| Type = [IntPointerType] int * -# 1512| ValueCategory = prvalue -# 1512| getOperand(): [VariableAccess] r -# 1512| Type = [IntType] int -# 1512| ValueCategory = lvalue -# 1513| getStmt(8): [DeclStmt] declaration -# 1513| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w -# 1513| Type = [IntType] int -# 1513| getVariable().getInitializer(): [Initializer] initializer for w -# 1513| getExpr(): [VariableAccess] r -# 1513| Type = [IntType] int -# 1513| ValueCategory = prvalue(load) -# 1516| getStmt(2): [BlockStmt] { ... } -# 1517| getStmt(0): [DeclStmt] declaration -# 1517| getDeclarationEntry(0): [VariableDeclarationEntry] definition of unnamed_local_variable -# 1517| Type = [Struct] StructuredBindingDataMemberStruct -# 1517| getVariable().getInitializer(): [Initializer] initializer for unnamed_local_variable -# 1517| getExpr(): [VariableAccess] s -# 1517| Type = [Struct] StructuredBindingDataMemberStruct -# 1517| ValueCategory = prvalue(load) -# 1518| getStmt(1): [DeclStmt] declaration -# 1518| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i -# 1518| Type = [LValueReferenceType] int & -# 1518| getVariable().getInitializer(): [Initializer] initializer for i -# 1518| getExpr(): [ValueFieldAccess] i -# 1518| Type = [IntType] int -# 1518| ValueCategory = lvalue -# 1518| getQualifier(): [VariableAccess] unnamed_local_variable -# 1518| Type = [Struct] StructuredBindingDataMemberStruct -# 1518| ValueCategory = lvalue -# 1518| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1518| Type = [LValueReferenceType] int & -# 1518| ValueCategory = prvalue -# 1519| getStmt(2): [DeclStmt] declaration -# 1519| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d -# 1519| Type = [LValueReferenceType] double & -# 1519| getVariable().getInitializer(): [Initializer] initializer for d -# 1519| getExpr(): [ValueFieldAccess] d -# 1519| Type = [DoubleType] double -# 1519| ValueCategory = lvalue -# 1519| getQualifier(): [VariableAccess] unnamed_local_variable -# 1519| Type = [Struct] StructuredBindingDataMemberStruct -# 1519| ValueCategory = lvalue -# 1519| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1519| Type = [LValueReferenceType] double & -# 1519| ValueCategory = prvalue -# 1521| getStmt(3): [DeclStmt] declaration -# 1521| getDeclarationEntry(0): [VariableDeclarationEntry] definition of r -# 1521| Type = [LValueReferenceType] int & -# 1521| getVariable().getInitializer(): [Initializer] initializer for r -# 1521| getExpr(): [ValueFieldAccess] r -# 1521| Type = [LValueReferenceType] int & -# 1521| ValueCategory = prvalue(load) -# 1521| getQualifier(): [VariableAccess] unnamed_local_variable -# 1521| Type = [Struct] StructuredBindingDataMemberStruct -# 1521| ValueCategory = lvalue -# 1521| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1521| Type = [LValueReferenceType] int & -# 1521| ValueCategory = prvalue -# 1521| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1521| Type = [IntType] int -# 1521| ValueCategory = lvalue -# 1522| getStmt(4): [DeclStmt] declaration -# 1522| getDeclarationEntry(0): [VariableDeclarationEntry] definition of p -# 1522| Type = [LValueReferenceType] int *& -# 1522| getVariable().getInitializer(): [Initializer] initializer for p -# 1522| getExpr(): [ValueFieldAccess] p -# 1522| Type = [IntPointerType] int * -# 1522| ValueCategory = lvalue -# 1522| getQualifier(): [VariableAccess] unnamed_local_variable -# 1522| Type = [Struct] StructuredBindingDataMemberStruct -# 1522| ValueCategory = lvalue -# 1522| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1522| Type = [LValueReferenceType] int *& -# 1522| ValueCategory = prvalue -# 1523| getStmt(5): [ExprStmt] ExprStmt -# 1523| getExpr(): [AssignExpr] ... = ... -# 1523| Type = [DoubleType] double -# 1523| ValueCategory = lvalue -# 1523| getLValue(): [VariableAccess] d -# 1523| Type = [LValueReferenceType] double & -# 1523| ValueCategory = prvalue(load) -# 1523| getRValue(): [Literal] 4.0 -# 1523| Type = [DoubleType] double -# 1523| Value = [Literal] 4.0 -# 1523| ValueCategory = prvalue -# 1523| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1523| Type = [DoubleType] double -# 1523| ValueCategory = lvalue -# 1524| getStmt(6): [DeclStmt] declaration -# 1524| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rd -# 1524| Type = [LValueReferenceType] double & -# 1524| getVariable().getInitializer(): [Initializer] initializer for rd -# 1524| getExpr(): [VariableAccess] d -# 1524| Type = [LValueReferenceType] double & -# 1524| ValueCategory = prvalue(load) -# 1524| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1524| Type = [LValueReferenceType] double & -# 1524| ValueCategory = prvalue -# 1524| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1524| Type = [DoubleType] double -# 1524| ValueCategory = lvalue -# 1525| getStmt(7): [DeclStmt] declaration -# 1525| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v -# 1525| Type = [IntType] int -# 1525| getVariable().getInitializer(): [Initializer] initializer for v -# 1525| getExpr(): [VariableAccess] i -# 1525| Type = [LValueReferenceType] int & -# 1525| ValueCategory = prvalue(load) -# 1525| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1525| Type = [IntType] int -# 1525| ValueCategory = prvalue(load) -# 1526| getStmt(8): [ExprStmt] ExprStmt -# 1526| getExpr(): [AssignExpr] ... = ... -# 1526| Type = [IntType] int -# 1526| ValueCategory = lvalue -# 1526| getLValue(): [VariableAccess] r -# 1526| Type = [LValueReferenceType] int & -# 1526| ValueCategory = prvalue(load) -# 1526| getRValue(): [Literal] 5 -# 1526| Type = [IntType] int -# 1526| Value = [Literal] 5 -# 1526| ValueCategory = prvalue -# 1526| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1526| Type = [IntType] int -# 1526| ValueCategory = lvalue -# 1527| getStmt(9): [ExprStmt] ExprStmt -# 1527| getExpr(): [AssignExpr] ... = ... -# 1527| Type = [IntType] int -# 1527| ValueCategory = lvalue -# 1527| getLValue(): [PointerDereferenceExpr] * ... -# 1527| Type = [IntType] int -# 1527| ValueCategory = lvalue -# 1527| getOperand(): [VariableAccess] p -# 1527| Type = [LValueReferenceType] int *& -# 1527| ValueCategory = prvalue(load) -# 1527| getOperand().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1527| Type = [IntPointerType] int * -# 1527| ValueCategory = prvalue(load) -# 1527| getRValue(): [Literal] 6 -# 1527| Type = [IntType] int -# 1527| Value = [Literal] 6 -# 1527| ValueCategory = prvalue -# 1528| getStmt(10): [DeclStmt] declaration -# 1528| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rr -# 1528| Type = [LValueReferenceType] int & -# 1528| getVariable().getInitializer(): [Initializer] initializer for rr -# 1528| getExpr(): [VariableAccess] r -# 1528| Type = [LValueReferenceType] int & -# 1528| ValueCategory = prvalue(load) -# 1528| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1528| Type = [LValueReferenceType] int & -# 1528| ValueCategory = prvalue -# 1528| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1528| Type = [IntType] int -# 1528| ValueCategory = lvalue -# 1529| getStmt(11): [DeclStmt] declaration -# 1529| getDeclarationEntry(0): [VariableDeclarationEntry] definition of pr -# 1529| Type = [IntPointerType] int * -# 1529| getVariable().getInitializer(): [Initializer] initializer for pr -# 1529| getExpr(): [AddressOfExpr] & ... -# 1529| Type = [IntPointerType] int * -# 1529| ValueCategory = prvalue -# 1529| getOperand(): [VariableAccess] r -# 1529| Type = [LValueReferenceType] int & -# 1529| ValueCategory = prvalue(load) -# 1529| getOperand().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1529| Type = [IntType] int -# 1529| ValueCategory = lvalue -# 1530| getStmt(12): [DeclStmt] declaration -# 1530| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w -# 1530| Type = [IntType] int -# 1530| getVariable().getInitializer(): [Initializer] initializer for w -# 1530| getExpr(): [VariableAccess] r -# 1530| Type = [LValueReferenceType] int & -# 1530| ValueCategory = prvalue(load) -# 1530| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1530| Type = [IntType] int -# 1530| ValueCategory = prvalue(load) -# 1532| getStmt(3): [ReturnStmt] return ... -# 1541| [CopyAssignmentOperator] StructuredBindingTupleRefGet& StructuredBindingTupleRefGet::operator=(StructuredBindingTupleRefGet const&) -# 1541| : +# 1552| getExpr(): [ValueFieldAccess] m +# 1552| Type = [Struct] StructuredBindingDataMemberMemberStruct +# 1552| ValueCategory = lvalue +# 1552| getQualifier(): [VariableAccess] (unnamed local variable) +# 1552| Type = [Struct] StructuredBindingDataMemberStruct +# 1552| ValueCategory = lvalue +# 1553| getStmt(1): [ExprStmt] ExprStmt +# 1553| getExpr(): [AssignExpr] ... = ... +# 1553| Type = [DoubleType] double +# 1553| ValueCategory = lvalue +# 1553| getLValue(): [VariableAccess] d +# 1553| Type = [DoubleType] double +# 1553| ValueCategory = lvalue +# 1553| getRValue(): [Literal] 4.0 +# 1553| Type = [DoubleType] double +# 1553| Value = [Literal] 4.0 +# 1553| ValueCategory = prvalue +# 1554| getStmt(2): [DeclStmt] declaration +# 1554| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rd +# 1554| Type = [LValueReferenceType] double & +# 1554| getVariable().getInitializer(): [Initializer] initializer for rd +# 1554| getExpr(): [VariableAccess] d +# 1554| Type = [DoubleType] double +# 1554| ValueCategory = lvalue +# 1554| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1554| Type = [LValueReferenceType] double & +# 1554| ValueCategory = prvalue +# 1555| getStmt(3): [DeclStmt] declaration +# 1555| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v +# 1555| Type = [IntType] int +# 1555| getVariable().getInitializer(): [Initializer] initializer for v +# 1555| getExpr(): [VariableAccess] i +# 1555| Type = [IntType] int +# 1555| ValueCategory = prvalue(load) +# 1556| getStmt(4): [ExprStmt] ExprStmt +# 1556| getExpr(): [AssignExpr] ... = ... +# 1556| Type = [IntType] int +# 1556| ValueCategory = lvalue +# 1556| getLValue(): [VariableAccess] r +# 1556| Type = [IntType] int +# 1556| ValueCategory = lvalue +# 1556| getRValue(): [Literal] 5 +# 1556| Type = [IntType] int +# 1556| Value = [Literal] 5 +# 1556| ValueCategory = prvalue +# 1557| getStmt(5): [ExprStmt] ExprStmt +# 1557| getExpr(): [AssignExpr] ... = ... +# 1557| Type = [IntType] int +# 1557| ValueCategory = lvalue +# 1557| getLValue(): [PointerDereferenceExpr] * ... +# 1557| Type = [IntType] int +# 1557| ValueCategory = lvalue +# 1557| getOperand(): [VariableAccess] p +# 1557| Type = [IntPointerType] int * +# 1557| ValueCategory = prvalue(load) +# 1557| getRValue(): [Literal] 6 +# 1557| Type = [IntType] int +# 1557| Value = [Literal] 6 +# 1557| ValueCategory = prvalue +# 1558| getStmt(6): [DeclStmt] declaration +# 1558| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rr +# 1558| Type = [LValueReferenceType] int & +# 1558| getVariable().getInitializer(): [Initializer] initializer for rr +# 1558| getExpr(): [VariableAccess] r +# 1558| Type = [IntType] int +# 1558| ValueCategory = lvalue +# 1558| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1558| Type = [LValueReferenceType] int & +# 1558| ValueCategory = prvalue +# 1559| getStmt(7): [DeclStmt] declaration +# 1559| getDeclarationEntry(0): [VariableDeclarationEntry] definition of pr +# 1559| Type = [IntPointerType] int * +# 1559| getVariable().getInitializer(): [Initializer] initializer for pr +# 1559| getExpr(): [AddressOfExpr] & ... +# 1559| Type = [IntPointerType] int * +# 1559| ValueCategory = prvalue +# 1559| getOperand(): [VariableAccess] r +# 1559| Type = [IntType] int +# 1559| ValueCategory = lvalue +# 1560| getStmt(8): [DeclStmt] declaration +# 1560| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w +# 1560| Type = [IntType] int +# 1560| getVariable().getInitializer(): [Initializer] initializer for w +# 1560| getExpr(): [VariableAccess] r +# 1560| Type = [IntType] int +# 1560| ValueCategory = prvalue(load) +# 1563| getStmt(2): [BlockStmt] { ... } +# 1564| getStmt(0): [DeclStmt] declaration +# 1564| getDeclarationEntry(0): [VariableDeclarationEntry] definition of unnamed_local_variable +# 1564| Type = [Struct] StructuredBindingDataMemberStruct +# 1564| getVariable().getInitializer(): [Initializer] initializer for unnamed_local_variable +# 1564| getExpr(): [VariableAccess] s +# 1564| Type = [Struct] StructuredBindingDataMemberStruct +# 1564| ValueCategory = prvalue(load) +# 1565| getStmt(1): [DeclStmt] declaration +# 1565| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i +# 1565| Type = [LValueReferenceType] int & +# 1565| getVariable().getInitializer(): [Initializer] initializer for i +# 1565| getExpr(): [ValueFieldAccess] i +# 1565| Type = [IntType] int +# 1565| ValueCategory = lvalue +# 1565| getQualifier(): [VariableAccess] unnamed_local_variable +# 1565| Type = [Struct] StructuredBindingDataMemberStruct +# 1565| ValueCategory = lvalue +# 1565| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1565| Type = [LValueReferenceType] int & +# 1565| ValueCategory = prvalue +# 1566| getStmt(2): [DeclStmt] declaration +# 1566| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d +# 1566| Type = [LValueReferenceType] double & +# 1566| getVariable().getInitializer(): [Initializer] initializer for d +# 1566| getExpr(): [ValueFieldAccess] d +# 1566| Type = [DoubleType] double +# 1566| ValueCategory = lvalue +# 1566| getQualifier(): [VariableAccess] unnamed_local_variable +# 1566| Type = [Struct] StructuredBindingDataMemberStruct +# 1566| ValueCategory = lvalue +# 1566| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1566| Type = [LValueReferenceType] double & +# 1566| ValueCategory = prvalue +# 1568| getStmt(3): [DeclStmt] declaration +# 1568| getDeclarationEntry(0): [VariableDeclarationEntry] definition of r +# 1568| Type = [LValueReferenceType] int & +# 1568| getVariable().getInitializer(): [Initializer] initializer for r +# 1568| getExpr(): [ValueFieldAccess] r +# 1568| Type = [LValueReferenceType] int & +# 1568| ValueCategory = prvalue(load) +# 1568| getQualifier(): [VariableAccess] unnamed_local_variable +# 1568| Type = [Struct] StructuredBindingDataMemberStruct +# 1568| ValueCategory = lvalue +# 1568| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1568| Type = [LValueReferenceType] int & +# 1568| ValueCategory = prvalue +# 1568| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1568| Type = [IntType] int +# 1568| ValueCategory = lvalue +# 1569| getStmt(4): [DeclStmt] declaration +# 1569| getDeclarationEntry(0): [VariableDeclarationEntry] definition of p +# 1569| Type = [LValueReferenceType] int *& +# 1569| getVariable().getInitializer(): [Initializer] initializer for p +# 1569| getExpr(): [ValueFieldAccess] p +# 1569| Type = [IntPointerType] int * +# 1569| ValueCategory = lvalue +# 1569| getQualifier(): [VariableAccess] unnamed_local_variable +# 1569| Type = [Struct] StructuredBindingDataMemberStruct +# 1569| ValueCategory = lvalue +# 1569| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1569| Type = [LValueReferenceType] int *& +# 1569| ValueCategory = prvalue +# 1570| getStmt(5): [ExprStmt] ExprStmt +# 1570| getExpr(): [AssignExpr] ... = ... +# 1570| Type = [DoubleType] double +# 1570| ValueCategory = lvalue +# 1570| getLValue(): [VariableAccess] d +# 1570| Type = [LValueReferenceType] double & +# 1570| ValueCategory = prvalue(load) +# 1570| getRValue(): [Literal] 4.0 +# 1570| Type = [DoubleType] double +# 1570| Value = [Literal] 4.0 +# 1570| ValueCategory = prvalue +# 1570| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1570| Type = [DoubleType] double +# 1570| ValueCategory = lvalue +# 1571| getStmt(6): [DeclStmt] declaration +# 1571| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rd +# 1571| Type = [LValueReferenceType] double & +# 1571| getVariable().getInitializer(): [Initializer] initializer for rd +# 1571| getExpr(): [VariableAccess] d +# 1571| Type = [LValueReferenceType] double & +# 1571| ValueCategory = prvalue(load) +# 1571| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1571| Type = [LValueReferenceType] double & +# 1571| ValueCategory = prvalue +# 1571| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1571| Type = [DoubleType] double +# 1571| ValueCategory = lvalue +# 1572| getStmt(7): [DeclStmt] declaration +# 1572| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v +# 1572| Type = [IntType] int +# 1572| getVariable().getInitializer(): [Initializer] initializer for v +# 1572| getExpr(): [VariableAccess] i +# 1572| Type = [LValueReferenceType] int & +# 1572| ValueCategory = prvalue(load) +# 1572| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1572| Type = [IntType] int +# 1572| ValueCategory = prvalue(load) +# 1573| getStmt(8): [ExprStmt] ExprStmt +# 1573| getExpr(): [AssignExpr] ... = ... +# 1573| Type = [IntType] int +# 1573| ValueCategory = lvalue +# 1573| getLValue(): [VariableAccess] r +# 1573| Type = [LValueReferenceType] int & +# 1573| ValueCategory = prvalue(load) +# 1573| getRValue(): [Literal] 5 +# 1573| Type = [IntType] int +# 1573| Value = [Literal] 5 +# 1573| ValueCategory = prvalue +# 1573| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1573| Type = [IntType] int +# 1573| ValueCategory = lvalue +# 1574| getStmt(9): [ExprStmt] ExprStmt +# 1574| getExpr(): [AssignExpr] ... = ... +# 1574| Type = [IntType] int +# 1574| ValueCategory = lvalue +# 1574| getLValue(): [PointerDereferenceExpr] * ... +# 1574| Type = [IntType] int +# 1574| ValueCategory = lvalue +# 1574| getOperand(): [VariableAccess] p +# 1574| Type = [LValueReferenceType] int *& +# 1574| ValueCategory = prvalue(load) +# 1574| getOperand().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1574| Type = [IntPointerType] int * +# 1574| ValueCategory = prvalue(load) +# 1574| getRValue(): [Literal] 6 +# 1574| Type = [IntType] int +# 1574| Value = [Literal] 6 +# 1574| ValueCategory = prvalue +# 1575| getStmt(10): [DeclStmt] declaration +# 1575| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rr +# 1575| Type = [LValueReferenceType] int & +# 1575| getVariable().getInitializer(): [Initializer] initializer for rr +# 1575| getExpr(): [VariableAccess] r +# 1575| Type = [LValueReferenceType] int & +# 1575| ValueCategory = prvalue(load) +# 1575| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1575| Type = [LValueReferenceType] int & +# 1575| ValueCategory = prvalue +# 1575| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1575| Type = [IntType] int +# 1575| ValueCategory = lvalue +# 1576| getStmt(11): [DeclStmt] declaration +# 1576| getDeclarationEntry(0): [VariableDeclarationEntry] definition of pr +# 1576| Type = [IntPointerType] int * +# 1576| getVariable().getInitializer(): [Initializer] initializer for pr +# 1576| getExpr(): [AddressOfExpr] & ... +# 1576| Type = [IntPointerType] int * +# 1576| ValueCategory = prvalue +# 1576| getOperand(): [VariableAccess] r +# 1576| Type = [LValueReferenceType] int & +# 1576| ValueCategory = prvalue(load) +# 1576| getOperand().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1576| Type = [IntType] int +# 1576| ValueCategory = lvalue +# 1577| getStmt(12): [DeclStmt] declaration +# 1577| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w +# 1577| Type = [IntType] int +# 1577| getVariable().getInitializer(): [Initializer] initializer for w +# 1577| getExpr(): [VariableAccess] r +# 1577| Type = [LValueReferenceType] int & +# 1577| ValueCategory = prvalue(load) +# 1577| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1577| Type = [IntType] int +# 1577| ValueCategory = prvalue(load) +# 1579| getStmt(3): [ReturnStmt] return ... +# 1588| [CopyAssignmentOperator] StructuredBindingTupleRefGet& StructuredBindingTupleRefGet::operator=(StructuredBindingTupleRefGet const&) +# 1588| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const StructuredBindingTupleRefGet & -# 1541| [Constructor] void StructuredBindingTupleRefGet::StructuredBindingTupleRefGet() -# 1541| : -# 1541| : -# 1541| getInitializer(0): [ConstructorFieldInit] constructor init of field i -# 1541| Type = [IntType] int -# 1541| ValueCategory = prvalue -# 1541| getInitializer(1): [ConstructorFieldInit] constructor init of field d -# 1541| Type = [DoubleType] double -# 1541| ValueCategory = prvalue -# 1541| getInitializer(2): [ConstructorFieldInit] constructor init of field r -# 1541| Type = [LValueReferenceType] int & -# 1541| ValueCategory = prvalue -# 1541| getEntryPoint(): [BlockStmt] { ... } -# 1541| getStmt(0): [ReturnStmt] return ... -# 1541| [CopyConstructor] void StructuredBindingTupleRefGet::StructuredBindingTupleRefGet(StructuredBindingTupleRefGet const&) -# 1541| : +# 1588| [Constructor] void StructuredBindingTupleRefGet::StructuredBindingTupleRefGet() +# 1588| : +# 1588| : +# 1588| getInitializer(0): [ConstructorFieldInit] constructor init of field i +# 1588| Type = [IntType] int +# 1588| ValueCategory = prvalue +# 1588| getInitializer(1): [ConstructorFieldInit] constructor init of field d +# 1588| Type = [DoubleType] double +# 1588| ValueCategory = prvalue +# 1588| getInitializer(2): [ConstructorFieldInit] constructor init of field r +# 1588| Type = [LValueReferenceType] int & +# 1588| ValueCategory = prvalue +# 1588| getEntryPoint(): [BlockStmt] { ... } +# 1588| getStmt(0): [ReturnStmt] return ... +# 1588| [CopyConstructor] void StructuredBindingTupleRefGet::StructuredBindingTupleRefGet(StructuredBindingTupleRefGet const&) +# 1588| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const StructuredBindingTupleRefGet & -# 1541| : -# 1541| getInitializer(0): [ConstructorFieldInit] constructor init of field i -# 1541| Type = [IntType] int -# 1541| ValueCategory = prvalue -# 1541| getExpr(): [ReferenceFieldAccess] i -# 1541| Type = [IntType] int -# 1541| ValueCategory = prvalue(load) -# 1541| getQualifier(): [VariableAccess] (unnamed parameter 0) -# 1541| Type = [LValueReferenceType] const StructuredBindingTupleRefGet & -# 1541| ValueCategory = prvalue(load) -# 1541| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1541| Type = [SpecifiedType] const StructuredBindingTupleRefGet -# 1541| ValueCategory = lvalue -# 1541| getInitializer(1): [ConstructorFieldInit] constructor init of field d -# 1541| Type = [DoubleType] double -# 1541| ValueCategory = prvalue -# 1541| getExpr(): [ReferenceFieldAccess] d -# 1541| Type = [DoubleType] double -# 1541| ValueCategory = prvalue(load) -# 1541| getQualifier(): [VariableAccess] (unnamed parameter 0) -# 1541| Type = [LValueReferenceType] const StructuredBindingTupleRefGet & -# 1541| ValueCategory = prvalue(load) -# 1541| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1541| Type = [SpecifiedType] const StructuredBindingTupleRefGet -# 1541| ValueCategory = lvalue -# 1541| getInitializer(2): [ConstructorFieldInit] constructor init of field r -# 1541| Type = [LValueReferenceType] int & -# 1541| ValueCategory = prvalue -# 1541| getExpr(): [ReferenceFieldAccess] r -# 1541| Type = [LValueReferenceType] int & -# 1541| ValueCategory = prvalue(load) -# 1541| getQualifier(): [VariableAccess] (unnamed parameter 0) -# 1541| Type = [LValueReferenceType] const StructuredBindingTupleRefGet & -# 1541| ValueCategory = prvalue(load) -# 1541| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1541| Type = [SpecifiedType] const StructuredBindingTupleRefGet -# 1541| ValueCategory = lvalue -# 1541| getEntryPoint(): [BlockStmt] { ... } -# 1541| getStmt(0): [ReturnStmt] return ... -# 1541| [MoveConstructor] void StructuredBindingTupleRefGet::StructuredBindingTupleRefGet(StructuredBindingTupleRefGet&&) -# 1541| : +# 1588| : +# 1588| getInitializer(0): [ConstructorFieldInit] constructor init of field i +# 1588| Type = [IntType] int +# 1588| ValueCategory = prvalue +# 1588| getExpr(): [ReferenceFieldAccess] i +# 1588| Type = [IntType] int +# 1588| ValueCategory = prvalue(load) +# 1588| getQualifier(): [VariableAccess] (unnamed parameter 0) +# 1588| Type = [LValueReferenceType] const StructuredBindingTupleRefGet & +# 1588| ValueCategory = prvalue(load) +# 1588| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1588| Type = [SpecifiedType] const StructuredBindingTupleRefGet +# 1588| ValueCategory = lvalue +# 1588| getInitializer(1): [ConstructorFieldInit] constructor init of field d +# 1588| Type = [DoubleType] double +# 1588| ValueCategory = prvalue +# 1588| getExpr(): [ReferenceFieldAccess] d +# 1588| Type = [DoubleType] double +# 1588| ValueCategory = prvalue(load) +# 1588| getQualifier(): [VariableAccess] (unnamed parameter 0) +# 1588| Type = [LValueReferenceType] const StructuredBindingTupleRefGet & +# 1588| ValueCategory = prvalue(load) +# 1588| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1588| Type = [SpecifiedType] const StructuredBindingTupleRefGet +# 1588| ValueCategory = lvalue +# 1588| getInitializer(2): [ConstructorFieldInit] constructor init of field r +# 1588| Type = [LValueReferenceType] int & +# 1588| ValueCategory = prvalue +# 1588| getExpr(): [ReferenceFieldAccess] r +# 1588| Type = [LValueReferenceType] int & +# 1588| ValueCategory = prvalue(load) +# 1588| getQualifier(): [VariableAccess] (unnamed parameter 0) +# 1588| Type = [LValueReferenceType] const StructuredBindingTupleRefGet & +# 1588| ValueCategory = prvalue(load) +# 1588| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1588| Type = [SpecifiedType] const StructuredBindingTupleRefGet +# 1588| ValueCategory = lvalue +# 1588| getEntryPoint(): [BlockStmt] { ... } +# 1588| getStmt(0): [ReturnStmt] return ... +# 1588| [MoveConstructor] void StructuredBindingTupleRefGet::StructuredBindingTupleRefGet(StructuredBindingTupleRefGet&&) +# 1588| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] StructuredBindingTupleRefGet && -# 1547| [MemberFunction,TemplateFunction] type& StructuredBindingTupleRefGet::get() -# 1547| : -# 1551| [CopyAssignmentOperator] std::tuple_size& std::tuple_size::operator=(std::tuple_size const&) -# 1551| : +# 1594| [MemberFunction,TemplateFunction] type& StructuredBindingTupleRefGet::get() +# 1594| : +# 1598| [CopyAssignmentOperator] std::tuple_size& std::tuple_size::operator=(std::tuple_size const&) +# 1598| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const tuple_size & -# 1551| [MoveAssignmentOperator] std::tuple_size& std::tuple_size::operator=(std::tuple_size&&) -# 1551| : +# 1598| [MoveAssignmentOperator] std::tuple_size& std::tuple_size::operator=(std::tuple_size&&) +# 1598| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] tuple_size && -# 1556| [CopyAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element const&) -# 1556| : +# 1603| [CopyAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element const&) +# 1603| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const tuple_element<0, StructuredBindingTupleRefGet> & -# 1556| [MoveAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element&&) -# 1556| : +# 1603| [MoveAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element&&) +# 1603| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] tuple_element<0, StructuredBindingTupleRefGet> && -# 1560| [CopyAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element const&) -# 1560| : +# 1607| [CopyAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element const&) +# 1607| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const tuple_element<1, StructuredBindingTupleRefGet> & -# 1560| [MoveAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element&&) -# 1560| : +# 1607| [MoveAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element&&) +# 1607| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] tuple_element<1, StructuredBindingTupleRefGet> && -# 1564| [CopyAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element const&) -# 1564| : +# 1611| [CopyAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element const&) +# 1611| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const tuple_element<2, StructuredBindingTupleRefGet> & -# 1564| [MoveAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element&&) -# 1564| : +# 1611| [MoveAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element&&) +# 1611| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] tuple_element<2, StructuredBindingTupleRefGet> && -# 1569| [FunctionTemplateSpecialization,MemberFunction] std::tuple_element::type& StructuredBindingTupleRefGet::get() -# 1569| : -# 1569| getEntryPoint(): [BlockStmt] { ... } -# 1570| getStmt(0): [ReturnStmt] return ... -# 1570| getExpr(): [ImplicitThisFieldAccess,PointerFieldAccess] i -# 1570| Type = [IntType] int -# 1570| ValueCategory = lvalue -# 1570| getQualifier(): [ThisExpr] this -# 1570| Type = [PointerType] StructuredBindingTupleRefGet * -# 1570| ValueCategory = prvalue(load) +# 1616| [FunctionTemplateSpecialization,MemberFunction] std::tuple_element::type& StructuredBindingTupleRefGet::get() +# 1616| : +# 1616| getEntryPoint(): [BlockStmt] { ... } +# 1617| getStmt(0): [ReturnStmt] return ... +# 1617| getExpr(): [ImplicitThisFieldAccess,PointerFieldAccess] i +# 1617| Type = [IntType] int +# 1617| ValueCategory = lvalue +# 1617| getQualifier(): [ThisExpr] this +# 1617| Type = [PointerType] StructuredBindingTupleRefGet * +# 1617| ValueCategory = prvalue(load) #-----| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) #-----| Type = [LValueReferenceType] int & #-----| ValueCategory = prvalue -# 1573| [FunctionTemplateSpecialization,MemberFunction] std::tuple_element::type& StructuredBindingTupleRefGet::get() -# 1573| : -# 1573| getEntryPoint(): [BlockStmt] { ... } -# 1574| getStmt(0): [ReturnStmt] return ... -# 1574| getExpr(): [ImplicitThisFieldAccess,PointerFieldAccess] d -# 1574| Type = [DoubleType] double -# 1574| ValueCategory = lvalue -# 1574| getQualifier(): [ThisExpr] this -# 1574| Type = [PointerType] StructuredBindingTupleRefGet * -# 1574| ValueCategory = prvalue(load) +# 1620| [FunctionTemplateSpecialization,MemberFunction] std::tuple_element::type& StructuredBindingTupleRefGet::get() +# 1620| : +# 1620| getEntryPoint(): [BlockStmt] { ... } +# 1621| getStmt(0): [ReturnStmt] return ... +# 1621| getExpr(): [ImplicitThisFieldAccess,PointerFieldAccess] d +# 1621| Type = [DoubleType] double +# 1621| ValueCategory = lvalue +# 1621| getQualifier(): [ThisExpr] this +# 1621| Type = [PointerType] StructuredBindingTupleRefGet * +# 1621| ValueCategory = prvalue(load) #-----| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) #-----| Type = [LValueReferenceType] double & #-----| ValueCategory = prvalue -# 1577| [FunctionTemplateSpecialization,MemberFunction] std::tuple_element::type StructuredBindingTupleRefGet::get() -# 1577| : -# 1577| getEntryPoint(): [BlockStmt] { ... } -# 1578| getStmt(0): [ReturnStmt] return ... -# 1578| getExpr(): [ImplicitThisFieldAccess,PointerFieldAccess] r -# 1578| Type = [LValueReferenceType] int & -# 1578| ValueCategory = prvalue(load) -# 1578| getQualifier(): [ThisExpr] this -# 1578| Type = [PointerType] StructuredBindingTupleRefGet * -# 1578| ValueCategory = prvalue(load) -# 1578| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1578| Type = [LValueReferenceType] int & -# 1578| ValueCategory = prvalue -# 1578| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1578| Type = [IntType] int -# 1578| ValueCategory = lvalue -# 1581| [TopLevelFunction] void tuple_structured_binding_ref_get() -# 1581| : -# 1581| getEntryPoint(): [BlockStmt] { ... } -# 1582| getStmt(0): [DeclStmt] declaration -# 1582| getDeclarationEntry(0): [VariableDeclarationEntry] definition of t -# 1582| Type = [Struct] StructuredBindingTupleRefGet -# 1582| getVariable().getInitializer(): [Initializer] initializer for t -# 1582| getExpr(): [ConstructorCall] call to StructuredBindingTupleRefGet -# 1582| Type = [VoidType] void -# 1582| ValueCategory = prvalue -# 1584| getStmt(1): [BlockStmt] { ... } -# 1585| getStmt(0): [DeclStmt] declaration -# 1585| getDeclarationEntry(0): [VariableDeclarationEntry] definition of (unnamed local variable) -# 1585| Type = [Struct] StructuredBindingTupleRefGet -# 1585| getVariable().getInitializer(): [Initializer] initializer for (unnamed local variable) -# 1585| getExpr(): [VariableAccess] t -# 1585| Type = [Struct] StructuredBindingTupleRefGet -# 1585| ValueCategory = prvalue(load) -# 1585| getDeclarationEntry(1): [VariableDeclarationEntry] definition of i -# 1585| Type = [LValueReferenceType] type & +# 1624| [FunctionTemplateSpecialization,MemberFunction] std::tuple_element::type StructuredBindingTupleRefGet::get() +# 1624| : +# 1624| getEntryPoint(): [BlockStmt] { ... } +# 1625| getStmt(0): [ReturnStmt] return ... +# 1625| getExpr(): [ImplicitThisFieldAccess,PointerFieldAccess] r +# 1625| Type = [LValueReferenceType] int & +# 1625| ValueCategory = prvalue(load) +# 1625| getQualifier(): [ThisExpr] this +# 1625| Type = [PointerType] StructuredBindingTupleRefGet * +# 1625| ValueCategory = prvalue(load) +# 1625| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1625| Type = [LValueReferenceType] int & +# 1625| ValueCategory = prvalue +# 1625| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1625| Type = [IntType] int +# 1625| ValueCategory = lvalue +# 1628| [TopLevelFunction] void tuple_structured_binding_ref_get() +# 1628| : +# 1628| getEntryPoint(): [BlockStmt] { ... } +# 1629| getStmt(0): [DeclStmt] declaration +# 1629| getDeclarationEntry(0): [VariableDeclarationEntry] definition of t +# 1629| Type = [Struct] StructuredBindingTupleRefGet +# 1629| getVariable().getInitializer(): [Initializer] initializer for t +# 1629| getExpr(): [ConstructorCall] call to StructuredBindingTupleRefGet +# 1629| Type = [VoidType] void +# 1629| ValueCategory = prvalue +# 1631| getStmt(1): [BlockStmt] { ... } +# 1632| getStmt(0): [DeclStmt] declaration +# 1632| getDeclarationEntry(0): [VariableDeclarationEntry] definition of (unnamed local variable) +# 1632| Type = [Struct] StructuredBindingTupleRefGet +# 1632| getVariable().getInitializer(): [Initializer] initializer for (unnamed local variable) +# 1632| getExpr(): [VariableAccess] t +# 1632| Type = [Struct] StructuredBindingTupleRefGet +# 1632| ValueCategory = prvalue(load) +# 1632| getDeclarationEntry(1): [VariableDeclarationEntry] definition of i +# 1632| Type = [LValueReferenceType] type & #-----| getVariable().getInitializer(): [Initializer] initializer for i -# 1585| getExpr(): [FunctionCall] call to get -# 1585| Type = [LValueReferenceType] type & -# 1585| ValueCategory = prvalue -# 1585| getQualifier(): [VariableAccess] (unnamed local variable) -# 1585| Type = [Struct] StructuredBindingTupleRefGet -# 1585| ValueCategory = xvalue -# 1585| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1585| Type = [LValueReferenceType] type & -# 1585| ValueCategory = prvalue -# 1585| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1585| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1585| ValueCategory = lvalue -# 1585| getDeclarationEntry(2): [VariableDeclarationEntry] definition of d -# 1585| Type = [LValueReferenceType] type & +# 1632| getExpr(): [FunctionCall] call to get +# 1632| Type = [LValueReferenceType] type & +# 1632| ValueCategory = prvalue +# 1632| getQualifier(): [VariableAccess] (unnamed local variable) +# 1632| Type = [Struct] StructuredBindingTupleRefGet +# 1632| ValueCategory = xvalue +# 1632| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1632| Type = [LValueReferenceType] type & +# 1632| ValueCategory = prvalue +# 1632| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1632| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1632| ValueCategory = lvalue +# 1632| getDeclarationEntry(2): [VariableDeclarationEntry] definition of d +# 1632| Type = [LValueReferenceType] type & #-----| getVariable().getInitializer(): [Initializer] initializer for d -# 1585| getExpr(): [FunctionCall] call to get -# 1585| Type = [LValueReferenceType] type & -# 1585| ValueCategory = prvalue -# 1585| getQualifier(): [VariableAccess] (unnamed local variable) -# 1585| Type = [Struct] StructuredBindingTupleRefGet -# 1585| ValueCategory = xvalue -# 1585| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1585| Type = [LValueReferenceType] type & -# 1585| ValueCategory = prvalue -# 1585| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1585| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1585| ValueCategory = lvalue -# 1585| getDeclarationEntry(3): [VariableDeclarationEntry] definition of r -# 1585| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1632| getExpr(): [FunctionCall] call to get +# 1632| Type = [LValueReferenceType] type & +# 1632| ValueCategory = prvalue +# 1632| getQualifier(): [VariableAccess] (unnamed local variable) +# 1632| Type = [Struct] StructuredBindingTupleRefGet +# 1632| ValueCategory = xvalue +# 1632| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1632| Type = [LValueReferenceType] type & +# 1632| ValueCategory = prvalue +# 1632| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1632| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1632| ValueCategory = lvalue +# 1632| getDeclarationEntry(3): [VariableDeclarationEntry] definition of r +# 1632| Type = [NestedTypedefType,UsingAliasTypedefType] type #-----| getVariable().getInitializer(): [Initializer] initializer for r -# 1585| getExpr(): [FunctionCall] call to get -# 1585| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1585| ValueCategory = prvalue -# 1585| getQualifier(): [VariableAccess] (unnamed local variable) -# 1585| Type = [Struct] StructuredBindingTupleRefGet -# 1585| ValueCategory = xvalue -# 1585| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1585| Type = [LValueReferenceType] int & -# 1585| ValueCategory = prvalue -# 1585| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1585| Type = [IntType] int -# 1585| ValueCategory = lvalue -# 1586| getStmt(1): [ExprStmt] ExprStmt -# 1586| getExpr(): [AssignExpr] ... = ... -# 1586| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1586| ValueCategory = lvalue -# 1586| getLValue(): [VariableAccess] d -# 1586| Type = [LValueReferenceType] type & -# 1586| ValueCategory = prvalue(load) -# 1586| getRValue(): [Literal] 4.0 -# 1586| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1586| Value = [Literal] 4.0 -# 1586| ValueCategory = prvalue -# 1586| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1586| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1586| ValueCategory = lvalue -# 1587| getStmt(2): [DeclStmt] declaration -# 1587| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rd -# 1587| Type = [LValueReferenceType] double & -# 1587| getVariable().getInitializer(): [Initializer] initializer for rd -# 1587| getExpr(): [VariableAccess] d -# 1587| Type = [LValueReferenceType] type & -# 1587| ValueCategory = prvalue(load) -# 1587| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1587| Type = [LValueReferenceType] type & -# 1587| ValueCategory = prvalue -# 1587| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1587| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1587| ValueCategory = lvalue -# 1588| getStmt(3): [DeclStmt] declaration -# 1588| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v -# 1588| Type = [IntType] int -# 1588| getVariable().getInitializer(): [Initializer] initializer for v -# 1588| getExpr(): [VariableAccess] i -# 1588| Type = [LValueReferenceType] type & -# 1588| ValueCategory = prvalue(load) -# 1588| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1588| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1588| ValueCategory = prvalue(load) -# 1589| getStmt(4): [ExprStmt] ExprStmt -# 1589| getExpr(): [AssignExpr] ... = ... -# 1589| Type = [IntType] int -# 1589| ValueCategory = lvalue -# 1589| getLValue(): [VariableAccess] r -# 1589| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1589| ValueCategory = prvalue(load) -# 1589| getRValue(): [Literal] 5 -# 1589| Type = [IntType] int -# 1589| Value = [Literal] 5 -# 1589| ValueCategory = prvalue -# 1589| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1589| Type = [IntType] int -# 1589| ValueCategory = lvalue -# 1590| getStmt(5): [DeclStmt] declaration -# 1590| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rr -# 1590| Type = [LValueReferenceType] int & -# 1590| getVariable().getInitializer(): [Initializer] initializer for rr -# 1590| getExpr(): [VariableAccess] r -# 1590| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1590| ValueCategory = prvalue(load) -# 1590| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1590| Type = [LValueReferenceType] int & -# 1590| ValueCategory = prvalue -# 1590| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1590| Type = [IntType] int -# 1590| ValueCategory = lvalue -# 1591| getStmt(6): [DeclStmt] declaration -# 1591| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w -# 1591| Type = [IntType] int -# 1591| getVariable().getInitializer(): [Initializer] initializer for w -# 1591| getExpr(): [VariableAccess] r -# 1591| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1591| ValueCategory = prvalue(load) -# 1591| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1591| Type = [IntType] int -# 1591| ValueCategory = prvalue(load) -# 1594| getStmt(2): [BlockStmt] { ... } -# 1595| getStmt(0): [DeclStmt] declaration -# 1595| getDeclarationEntry(0): [VariableDeclarationEntry] definition of unnamed_local_variable -# 1595| Type = [Struct] StructuredBindingTupleRefGet -# 1595| getVariable().getInitializer(): [Initializer] initializer for unnamed_local_variable -# 1595| getExpr(): [VariableAccess] t -# 1595| Type = [Struct] StructuredBindingTupleRefGet -# 1595| ValueCategory = prvalue(load) -# 1596| getStmt(1): [DeclStmt] declaration -# 1596| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i -# 1596| Type = [LValueReferenceType] type & -# 1596| getVariable().getInitializer(): [Initializer] initializer for i -# 1596| getExpr(): [FunctionCall] call to get -# 1596| Type = [LValueReferenceType] type & -# 1596| ValueCategory = prvalue -# 1596| getQualifier(): [VariableAccess] unnamed_local_variable -# 1596| Type = [Struct] StructuredBindingTupleRefGet -# 1596| ValueCategory = lvalue -# 1596| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1596| Type = [LValueReferenceType] type & -# 1596| ValueCategory = prvalue -# 1596| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1596| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1596| ValueCategory = lvalue -# 1597| getStmt(2): [DeclStmt] declaration -# 1597| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d -# 1597| Type = [LValueReferenceType] type & -# 1597| getVariable().getInitializer(): [Initializer] initializer for d -# 1597| getExpr(): [FunctionCall] call to get -# 1597| Type = [LValueReferenceType] type & -# 1597| ValueCategory = prvalue -# 1597| getQualifier(): [VariableAccess] unnamed_local_variable -# 1597| Type = [Struct] StructuredBindingTupleRefGet -# 1597| ValueCategory = lvalue -# 1597| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1597| Type = [LValueReferenceType] type & -# 1597| ValueCategory = prvalue -# 1597| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1597| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1597| ValueCategory = lvalue -# 1598| getStmt(3): [DeclStmt] declaration -# 1598| getDeclarationEntry(0): [VariableDeclarationEntry] definition of r -# 1598| Type = [LValueReferenceType] int & -# 1598| getVariable().getInitializer(): [Initializer] initializer for r -# 1598| getExpr(): [FunctionCall] call to get -# 1598| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1598| ValueCategory = prvalue -# 1598| getQualifier(): [VariableAccess] unnamed_local_variable -# 1598| Type = [Struct] StructuredBindingTupleRefGet -# 1598| ValueCategory = lvalue -# 1598| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1598| Type = [LValueReferenceType] int & -# 1598| ValueCategory = prvalue -# 1598| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1598| Type = [IntType] int -# 1598| ValueCategory = lvalue -# 1599| getStmt(4): [ExprStmt] ExprStmt -# 1599| getExpr(): [AssignExpr] ... = ... -# 1599| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1599| ValueCategory = lvalue -# 1599| getLValue(): [VariableAccess] d -# 1599| Type = [LValueReferenceType] type & -# 1599| ValueCategory = prvalue(load) -# 1599| getRValue(): [Literal] 4.0 -# 1599| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1599| Value = [Literal] 4.0 -# 1599| ValueCategory = prvalue -# 1599| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1599| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1599| ValueCategory = lvalue -# 1600| getStmt(5): [DeclStmt] declaration -# 1600| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rd -# 1600| Type = [LValueReferenceType] double & -# 1600| getVariable().getInitializer(): [Initializer] initializer for rd -# 1600| getExpr(): [VariableAccess] d -# 1600| Type = [LValueReferenceType] type & -# 1600| ValueCategory = prvalue(load) -# 1600| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1600| Type = [LValueReferenceType] type & -# 1600| ValueCategory = prvalue -# 1600| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1600| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1600| ValueCategory = lvalue -# 1601| getStmt(6): [DeclStmt] declaration -# 1601| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v -# 1601| Type = [IntType] int -# 1601| getVariable().getInitializer(): [Initializer] initializer for v -# 1601| getExpr(): [VariableAccess] i -# 1601| Type = [LValueReferenceType] type & -# 1601| ValueCategory = prvalue(load) -# 1601| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1601| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1601| ValueCategory = prvalue(load) -# 1602| getStmt(7): [ExprStmt] ExprStmt -# 1602| getExpr(): [AssignExpr] ... = ... -# 1602| Type = [IntType] int -# 1602| ValueCategory = lvalue -# 1602| getLValue(): [VariableAccess] r -# 1602| Type = [LValueReferenceType] int & -# 1602| ValueCategory = prvalue(load) -# 1602| getRValue(): [Literal] 5 -# 1602| Type = [IntType] int -# 1602| Value = [Literal] 5 -# 1602| ValueCategory = prvalue -# 1602| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1602| Type = [IntType] int -# 1602| ValueCategory = lvalue -# 1603| getStmt(8): [DeclStmt] declaration -# 1603| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rr -# 1603| Type = [LValueReferenceType] int & -# 1603| getVariable().getInitializer(): [Initializer] initializer for rr -# 1603| getExpr(): [VariableAccess] r -# 1603| Type = [LValueReferenceType] int & -# 1603| ValueCategory = prvalue(load) -# 1603| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1603| Type = [LValueReferenceType] int & -# 1603| ValueCategory = prvalue -# 1603| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1603| Type = [IntType] int -# 1603| ValueCategory = lvalue -# 1604| getStmt(9): [DeclStmt] declaration -# 1604| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w -# 1604| Type = [IntType] int -# 1604| getVariable().getInitializer(): [Initializer] initializer for w -# 1604| getExpr(): [VariableAccess] r -# 1604| Type = [LValueReferenceType] int & -# 1604| ValueCategory = prvalue(load) -# 1604| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1604| Type = [IntType] int -# 1604| ValueCategory = prvalue(load) -# 1606| getStmt(3): [ReturnStmt] return ... -# 1608| [CopyAssignmentOperator] StructuredBindingTupleNoRefGet& StructuredBindingTupleNoRefGet::operator=(StructuredBindingTupleNoRefGet const&) -# 1608| : +# 1632| getExpr(): [FunctionCall] call to get +# 1632| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1632| ValueCategory = prvalue +# 1632| getQualifier(): [VariableAccess] (unnamed local variable) +# 1632| Type = [Struct] StructuredBindingTupleRefGet +# 1632| ValueCategory = xvalue +# 1632| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1632| Type = [LValueReferenceType] int & +# 1632| ValueCategory = prvalue +# 1632| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1632| Type = [IntType] int +# 1632| ValueCategory = lvalue +# 1633| getStmt(1): [ExprStmt] ExprStmt +# 1633| getExpr(): [AssignExpr] ... = ... +# 1633| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1633| ValueCategory = lvalue +# 1633| getLValue(): [VariableAccess] d +# 1633| Type = [LValueReferenceType] type & +# 1633| ValueCategory = prvalue(load) +# 1633| getRValue(): [Literal] 4.0 +# 1633| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1633| Value = [Literal] 4.0 +# 1633| ValueCategory = prvalue +# 1633| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1633| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1633| ValueCategory = lvalue +# 1634| getStmt(2): [DeclStmt] declaration +# 1634| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rd +# 1634| Type = [LValueReferenceType] double & +# 1634| getVariable().getInitializer(): [Initializer] initializer for rd +# 1634| getExpr(): [VariableAccess] d +# 1634| Type = [LValueReferenceType] type & +# 1634| ValueCategory = prvalue(load) +# 1634| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1634| Type = [LValueReferenceType] type & +# 1634| ValueCategory = prvalue +# 1634| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1634| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1634| ValueCategory = lvalue +# 1635| getStmt(3): [DeclStmt] declaration +# 1635| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v +# 1635| Type = [IntType] int +# 1635| getVariable().getInitializer(): [Initializer] initializer for v +# 1635| getExpr(): [VariableAccess] i +# 1635| Type = [LValueReferenceType] type & +# 1635| ValueCategory = prvalue(load) +# 1635| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1635| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1635| ValueCategory = prvalue(load) +# 1636| getStmt(4): [ExprStmt] ExprStmt +# 1636| getExpr(): [AssignExpr] ... = ... +# 1636| Type = [IntType] int +# 1636| ValueCategory = lvalue +# 1636| getLValue(): [VariableAccess] r +# 1636| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1636| ValueCategory = prvalue(load) +# 1636| getRValue(): [Literal] 5 +# 1636| Type = [IntType] int +# 1636| Value = [Literal] 5 +# 1636| ValueCategory = prvalue +# 1636| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1636| Type = [IntType] int +# 1636| ValueCategory = lvalue +# 1637| getStmt(5): [DeclStmt] declaration +# 1637| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rr +# 1637| Type = [LValueReferenceType] int & +# 1637| getVariable().getInitializer(): [Initializer] initializer for rr +# 1637| getExpr(): [VariableAccess] r +# 1637| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1637| ValueCategory = prvalue(load) +# 1637| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1637| Type = [LValueReferenceType] int & +# 1637| ValueCategory = prvalue +# 1637| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1637| Type = [IntType] int +# 1637| ValueCategory = lvalue +# 1638| getStmt(6): [DeclStmt] declaration +# 1638| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w +# 1638| Type = [IntType] int +# 1638| getVariable().getInitializer(): [Initializer] initializer for w +# 1638| getExpr(): [VariableAccess] r +# 1638| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1638| ValueCategory = prvalue(load) +# 1638| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1638| Type = [IntType] int +# 1638| ValueCategory = prvalue(load) +# 1641| getStmt(2): [BlockStmt] { ... } +# 1642| getStmt(0): [DeclStmt] declaration +# 1642| getDeclarationEntry(0): [VariableDeclarationEntry] definition of unnamed_local_variable +# 1642| Type = [Struct] StructuredBindingTupleRefGet +# 1642| getVariable().getInitializer(): [Initializer] initializer for unnamed_local_variable +# 1642| getExpr(): [VariableAccess] t +# 1642| Type = [Struct] StructuredBindingTupleRefGet +# 1642| ValueCategory = prvalue(load) +# 1643| getStmt(1): [DeclStmt] declaration +# 1643| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i +# 1643| Type = [LValueReferenceType] type & +# 1643| getVariable().getInitializer(): [Initializer] initializer for i +# 1643| getExpr(): [FunctionCall] call to get +# 1643| Type = [LValueReferenceType] type & +# 1643| ValueCategory = prvalue +# 1643| getQualifier(): [VariableAccess] unnamed_local_variable +# 1643| Type = [Struct] StructuredBindingTupleRefGet +# 1643| ValueCategory = lvalue +# 1643| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1643| Type = [LValueReferenceType] type & +# 1643| ValueCategory = prvalue +# 1643| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1643| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1643| ValueCategory = lvalue +# 1644| getStmt(2): [DeclStmt] declaration +# 1644| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d +# 1644| Type = [LValueReferenceType] type & +# 1644| getVariable().getInitializer(): [Initializer] initializer for d +# 1644| getExpr(): [FunctionCall] call to get +# 1644| Type = [LValueReferenceType] type & +# 1644| ValueCategory = prvalue +# 1644| getQualifier(): [VariableAccess] unnamed_local_variable +# 1644| Type = [Struct] StructuredBindingTupleRefGet +# 1644| ValueCategory = lvalue +# 1644| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1644| Type = [LValueReferenceType] type & +# 1644| ValueCategory = prvalue +# 1644| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1644| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1644| ValueCategory = lvalue +# 1645| getStmt(3): [DeclStmt] declaration +# 1645| getDeclarationEntry(0): [VariableDeclarationEntry] definition of r +# 1645| Type = [LValueReferenceType] int & +# 1645| getVariable().getInitializer(): [Initializer] initializer for r +# 1645| getExpr(): [FunctionCall] call to get +# 1645| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1645| ValueCategory = prvalue +# 1645| getQualifier(): [VariableAccess] unnamed_local_variable +# 1645| Type = [Struct] StructuredBindingTupleRefGet +# 1645| ValueCategory = lvalue +# 1645| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1645| Type = [LValueReferenceType] int & +# 1645| ValueCategory = prvalue +# 1645| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1645| Type = [IntType] int +# 1645| ValueCategory = lvalue +# 1646| getStmt(4): [ExprStmt] ExprStmt +# 1646| getExpr(): [AssignExpr] ... = ... +# 1646| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1646| ValueCategory = lvalue +# 1646| getLValue(): [VariableAccess] d +# 1646| Type = [LValueReferenceType] type & +# 1646| ValueCategory = prvalue(load) +# 1646| getRValue(): [Literal] 4.0 +# 1646| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1646| Value = [Literal] 4.0 +# 1646| ValueCategory = prvalue +# 1646| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1646| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1646| ValueCategory = lvalue +# 1647| getStmt(5): [DeclStmt] declaration +# 1647| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rd +# 1647| Type = [LValueReferenceType] double & +# 1647| getVariable().getInitializer(): [Initializer] initializer for rd +# 1647| getExpr(): [VariableAccess] d +# 1647| Type = [LValueReferenceType] type & +# 1647| ValueCategory = prvalue(load) +# 1647| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1647| Type = [LValueReferenceType] type & +# 1647| ValueCategory = prvalue +# 1647| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1647| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1647| ValueCategory = lvalue +# 1648| getStmt(6): [DeclStmt] declaration +# 1648| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v +# 1648| Type = [IntType] int +# 1648| getVariable().getInitializer(): [Initializer] initializer for v +# 1648| getExpr(): [VariableAccess] i +# 1648| Type = [LValueReferenceType] type & +# 1648| ValueCategory = prvalue(load) +# 1648| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1648| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1648| ValueCategory = prvalue(load) +# 1649| getStmt(7): [ExprStmt] ExprStmt +# 1649| getExpr(): [AssignExpr] ... = ... +# 1649| Type = [IntType] int +# 1649| ValueCategory = lvalue +# 1649| getLValue(): [VariableAccess] r +# 1649| Type = [LValueReferenceType] int & +# 1649| ValueCategory = prvalue(load) +# 1649| getRValue(): [Literal] 5 +# 1649| Type = [IntType] int +# 1649| Value = [Literal] 5 +# 1649| ValueCategory = prvalue +# 1649| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1649| Type = [IntType] int +# 1649| ValueCategory = lvalue +# 1650| getStmt(8): [DeclStmt] declaration +# 1650| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rr +# 1650| Type = [LValueReferenceType] int & +# 1650| getVariable().getInitializer(): [Initializer] initializer for rr +# 1650| getExpr(): [VariableAccess] r +# 1650| Type = [LValueReferenceType] int & +# 1650| ValueCategory = prvalue(load) +# 1650| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1650| Type = [LValueReferenceType] int & +# 1650| ValueCategory = prvalue +# 1650| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1650| Type = [IntType] int +# 1650| ValueCategory = lvalue +# 1651| getStmt(9): [DeclStmt] declaration +# 1651| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w +# 1651| Type = [IntType] int +# 1651| getVariable().getInitializer(): [Initializer] initializer for w +# 1651| getExpr(): [VariableAccess] r +# 1651| Type = [LValueReferenceType] int & +# 1651| ValueCategory = prvalue(load) +# 1651| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1651| Type = [IntType] int +# 1651| ValueCategory = prvalue(load) +# 1653| getStmt(3): [ReturnStmt] return ... +# 1655| [CopyAssignmentOperator] StructuredBindingTupleNoRefGet& StructuredBindingTupleNoRefGet::operator=(StructuredBindingTupleNoRefGet const&) +# 1655| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const StructuredBindingTupleNoRefGet & -# 1608| [Constructor] void StructuredBindingTupleNoRefGet::StructuredBindingTupleNoRefGet() -# 1608| : -# 1608| : -# 1608| getInitializer(0): [ConstructorFieldInit] constructor init of field i -# 1608| Type = [IntType] int -# 1608| ValueCategory = prvalue -# 1608| getInitializer(1): [ConstructorFieldInit] constructor init of field r -# 1608| Type = [LValueReferenceType] int & -# 1608| ValueCategory = prvalue -# 1608| getEntryPoint(): [BlockStmt] { ... } -# 1608| getStmt(0): [ReturnStmt] return ... -# 1608| [CopyConstructor] void StructuredBindingTupleNoRefGet::StructuredBindingTupleNoRefGet(StructuredBindingTupleNoRefGet const&) -# 1608| : +# 1655| [Constructor] void StructuredBindingTupleNoRefGet::StructuredBindingTupleNoRefGet() +# 1655| : +# 1655| : +# 1655| getInitializer(0): [ConstructorFieldInit] constructor init of field i +# 1655| Type = [IntType] int +# 1655| ValueCategory = prvalue +# 1655| getInitializer(1): [ConstructorFieldInit] constructor init of field r +# 1655| Type = [LValueReferenceType] int & +# 1655| ValueCategory = prvalue +# 1655| getEntryPoint(): [BlockStmt] { ... } +# 1655| getStmt(0): [ReturnStmt] return ... +# 1655| [CopyConstructor] void StructuredBindingTupleNoRefGet::StructuredBindingTupleNoRefGet(StructuredBindingTupleNoRefGet const&) +# 1655| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const StructuredBindingTupleNoRefGet & -# 1608| [MoveConstructor] void StructuredBindingTupleNoRefGet::StructuredBindingTupleNoRefGet(StructuredBindingTupleNoRefGet&&) -# 1608| : +# 1655| [MoveConstructor] void StructuredBindingTupleNoRefGet::StructuredBindingTupleNoRefGet(StructuredBindingTupleNoRefGet&&) +# 1655| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] StructuredBindingTupleNoRefGet && -# 1613| [MemberFunction,TemplateFunction] type StructuredBindingTupleNoRefGet::get() -# 1613| : -# 1617| [CopyAssignmentOperator] std::tuple_size& std::tuple_size::operator=(std::tuple_size const&) -# 1617| : +# 1660| [MemberFunction,TemplateFunction] type StructuredBindingTupleNoRefGet::get() +# 1660| : +# 1664| [CopyAssignmentOperator] std::tuple_size& std::tuple_size::operator=(std::tuple_size const&) +# 1664| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const tuple_size & -# 1617| [MoveAssignmentOperator] std::tuple_size& std::tuple_size::operator=(std::tuple_size&&) -# 1617| : +# 1664| [MoveAssignmentOperator] std::tuple_size& std::tuple_size::operator=(std::tuple_size&&) +# 1664| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] tuple_size && -# 1622| [CopyAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element const&) -# 1622| : +# 1669| [CopyAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element const&) +# 1669| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const tuple_element<0, StructuredBindingTupleNoRefGet> & -# 1622| [MoveAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element&&) -# 1622| : +# 1669| [MoveAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element&&) +# 1669| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] tuple_element<0, StructuredBindingTupleNoRefGet> && -# 1626| [CopyAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element const&) -# 1626| : +# 1673| [CopyAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element const&) +# 1673| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const tuple_element<1, StructuredBindingTupleNoRefGet> & -# 1626| [MoveAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element&&) -# 1626| : +# 1673| [MoveAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element&&) +# 1673| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] tuple_element<1, StructuredBindingTupleNoRefGet> && -# 1630| [CopyAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element const&) -# 1630| : +# 1677| [CopyAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element const&) +# 1677| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const tuple_element<2, StructuredBindingTupleNoRefGet> & -# 1630| [MoveAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element&&) -# 1630| : +# 1677| [MoveAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element&&) +# 1677| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] tuple_element<2, StructuredBindingTupleNoRefGet> && -# 1635| [FunctionTemplateSpecialization,MemberFunction] std::tuple_element::type StructuredBindingTupleNoRefGet::get() -# 1635| : -# 1635| getEntryPoint(): [BlockStmt] { ... } -# 1636| getStmt(0): [ReturnStmt] return ... -# 1636| getExpr(): [ImplicitThisFieldAccess,PointerFieldAccess] i -# 1636| Type = [IntType] int -# 1636| ValueCategory = prvalue(load) -# 1636| getQualifier(): [ThisExpr] this -# 1636| Type = [PointerType] StructuredBindingTupleNoRefGet * -# 1636| ValueCategory = prvalue(load) -# 1639| [FunctionTemplateSpecialization,MemberFunction] std::tuple_element::type StructuredBindingTupleNoRefGet::get() -# 1639| : -# 1639| getEntryPoint(): [BlockStmt] { ... } -# 1640| getStmt(0): [ReturnStmt] return ... -# 1640| getExpr(): [ImplicitThisFieldAccess,PointerFieldAccess] r -# 1640| Type = [LValueReferenceType] int & -# 1640| ValueCategory = prvalue(load) -# 1640| getQualifier(): [ThisExpr] this -# 1640| Type = [PointerType] StructuredBindingTupleNoRefGet * -# 1640| ValueCategory = prvalue(load) -# 1640| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1640| Type = [LValueReferenceType] int & -# 1640| ValueCategory = prvalue -# 1640| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1640| Type = [IntType] int -# 1640| ValueCategory = lvalue -# 1643| [FunctionTemplateSpecialization,MemberFunction] std::tuple_element::type StructuredBindingTupleNoRefGet::get() -# 1643| : -# 1643| getEntryPoint(): [BlockStmt] { ... } -# 1644| getStmt(0): [ReturnStmt] return ... -# 1644| getExpr(): [Literal] 5 -# 1644| Type = [IntType] int -# 1644| Value = [Literal] 5 -# 1644| ValueCategory = prvalue -# 1644| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1644| Type = [LValueReferenceType] int & -# 1644| ValueCategory = prvalue -# 1644| getExpr(): [TemporaryObjectExpr] temporary object -# 1644| Type = [IntType] int -# 1644| ValueCategory = lvalue -# 1647| [TopLevelFunction] void tuple_structured_binding_no_ref_get() -# 1647| : -# 1647| getEntryPoint(): [BlockStmt] { ... } -# 1648| getStmt(0): [DeclStmt] declaration -# 1648| getDeclarationEntry(0): [VariableDeclarationEntry] definition of t -# 1648| Type = [Struct] StructuredBindingTupleNoRefGet -# 1648| getVariable().getInitializer(): [Initializer] initializer for t -# 1648| getExpr(): [ConstructorCall] call to StructuredBindingTupleNoRefGet -# 1648| Type = [VoidType] void -# 1648| ValueCategory = prvalue -# 1650| getStmt(1): [BlockStmt] { ... } -# 1651| getStmt(0): [DeclStmt] declaration -# 1651| getDeclarationEntry(0): [VariableDeclarationEntry] definition of (unnamed local variable) -# 1651| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & -# 1651| getVariable().getInitializer(): [Initializer] initializer for (unnamed local variable) -# 1651| getExpr(): [VariableAccess] t -# 1651| Type = [Struct] StructuredBindingTupleNoRefGet -# 1651| ValueCategory = lvalue -# 1651| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1651| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & -# 1651| ValueCategory = prvalue -# 1651| getDeclarationEntry(1): [VariableDeclarationEntry] definition of i -# 1651| Type = [RValueReferenceType] type && +# 1682| [FunctionTemplateSpecialization,MemberFunction] std::tuple_element::type StructuredBindingTupleNoRefGet::get() +# 1682| : +# 1682| getEntryPoint(): [BlockStmt] { ... } +# 1683| getStmt(0): [ReturnStmt] return ... +# 1683| getExpr(): [ImplicitThisFieldAccess,PointerFieldAccess] i +# 1683| Type = [IntType] int +# 1683| ValueCategory = prvalue(load) +# 1683| getQualifier(): [ThisExpr] this +# 1683| Type = [PointerType] StructuredBindingTupleNoRefGet * +# 1683| ValueCategory = prvalue(load) +# 1686| [FunctionTemplateSpecialization,MemberFunction] std::tuple_element::type StructuredBindingTupleNoRefGet::get() +# 1686| : +# 1686| getEntryPoint(): [BlockStmt] { ... } +# 1687| getStmt(0): [ReturnStmt] return ... +# 1687| getExpr(): [ImplicitThisFieldAccess,PointerFieldAccess] r +# 1687| Type = [LValueReferenceType] int & +# 1687| ValueCategory = prvalue(load) +# 1687| getQualifier(): [ThisExpr] this +# 1687| Type = [PointerType] StructuredBindingTupleNoRefGet * +# 1687| ValueCategory = prvalue(load) +# 1687| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1687| Type = [LValueReferenceType] int & +# 1687| ValueCategory = prvalue +# 1687| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1687| Type = [IntType] int +# 1687| ValueCategory = lvalue +# 1690| [FunctionTemplateSpecialization,MemberFunction] std::tuple_element::type StructuredBindingTupleNoRefGet::get() +# 1690| : +# 1690| getEntryPoint(): [BlockStmt] { ... } +# 1691| getStmt(0): [ReturnStmt] return ... +# 1691| getExpr(): [Literal] 5 +# 1691| Type = [IntType] int +# 1691| Value = [Literal] 5 +# 1691| ValueCategory = prvalue +# 1691| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1691| Type = [LValueReferenceType] int & +# 1691| ValueCategory = prvalue +# 1691| getExpr(): [TemporaryObjectExpr] temporary object +# 1691| Type = [IntType] int +# 1691| ValueCategory = lvalue +# 1694| [TopLevelFunction] void tuple_structured_binding_no_ref_get() +# 1694| : +# 1694| getEntryPoint(): [BlockStmt] { ... } +# 1695| getStmt(0): [DeclStmt] declaration +# 1695| getDeclarationEntry(0): [VariableDeclarationEntry] definition of t +# 1695| Type = [Struct] StructuredBindingTupleNoRefGet +# 1695| getVariable().getInitializer(): [Initializer] initializer for t +# 1695| getExpr(): [ConstructorCall] call to StructuredBindingTupleNoRefGet +# 1695| Type = [VoidType] void +# 1695| ValueCategory = prvalue +# 1697| getStmt(1): [BlockStmt] { ... } +# 1698| getStmt(0): [DeclStmt] declaration +# 1698| getDeclarationEntry(0): [VariableDeclarationEntry] definition of (unnamed local variable) +# 1698| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & +# 1698| getVariable().getInitializer(): [Initializer] initializer for (unnamed local variable) +# 1698| getExpr(): [VariableAccess] t +# 1698| Type = [Struct] StructuredBindingTupleNoRefGet +# 1698| ValueCategory = lvalue +# 1698| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1698| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & +# 1698| ValueCategory = prvalue +# 1698| getDeclarationEntry(1): [VariableDeclarationEntry] definition of i +# 1698| Type = [RValueReferenceType] type && #-----| getVariable().getInitializer(): [Initializer] initializer for i -# 1651| getExpr(): [FunctionCall] call to get -# 1651| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1651| ValueCategory = prvalue -# 1651| getQualifier(): [VariableAccess] (unnamed local variable) -# 1651| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & -# 1651| ValueCategory = prvalue(load) -# 1651| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1651| Type = [Struct] StructuredBindingTupleNoRefGet -# 1651| ValueCategory = lvalue -# 1651| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1651| Type = [LValueReferenceType] type & -# 1651| ValueCategory = prvalue -# 1651| getExpr(): [TemporaryObjectExpr] temporary object -# 1651| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1651| ValueCategory = lvalue -# 1651| getDeclarationEntry(2): [VariableDeclarationEntry] definition of r -# 1651| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1698| getExpr(): [FunctionCall] call to get +# 1698| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1698| ValueCategory = prvalue +# 1698| getQualifier(): [VariableAccess] (unnamed local variable) +# 1698| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & +# 1698| ValueCategory = prvalue(load) +# 1698| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1698| Type = [Struct] StructuredBindingTupleNoRefGet +# 1698| ValueCategory = lvalue +# 1698| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1698| Type = [LValueReferenceType] type & +# 1698| ValueCategory = prvalue +# 1698| getExpr(): [TemporaryObjectExpr] temporary object +# 1698| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1698| ValueCategory = lvalue +# 1698| getDeclarationEntry(2): [VariableDeclarationEntry] definition of r +# 1698| Type = [NestedTypedefType,UsingAliasTypedefType] type #-----| getVariable().getInitializer(): [Initializer] initializer for r -# 1651| getExpr(): [FunctionCall] call to get -# 1651| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1651| ValueCategory = prvalue -# 1651| getQualifier(): [VariableAccess] (unnamed local variable) -# 1651| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & -# 1651| ValueCategory = prvalue(load) -# 1651| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1651| Type = [Struct] StructuredBindingTupleNoRefGet -# 1651| ValueCategory = lvalue -# 1651| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1651| Type = [LValueReferenceType] int & -# 1651| ValueCategory = prvalue -# 1651| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1651| Type = [IntType] int -# 1651| ValueCategory = lvalue -# 1651| getDeclarationEntry(3): [VariableDeclarationEntry] definition of rv -# 1651| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1698| getExpr(): [FunctionCall] call to get +# 1698| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1698| ValueCategory = prvalue +# 1698| getQualifier(): [VariableAccess] (unnamed local variable) +# 1698| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & +# 1698| ValueCategory = prvalue(load) +# 1698| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1698| Type = [Struct] StructuredBindingTupleNoRefGet +# 1698| ValueCategory = lvalue +# 1698| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1698| Type = [LValueReferenceType] int & +# 1698| ValueCategory = prvalue +# 1698| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1698| Type = [IntType] int +# 1698| ValueCategory = lvalue +# 1698| getDeclarationEntry(3): [VariableDeclarationEntry] definition of rv +# 1698| Type = [NestedTypedefType,UsingAliasTypedefType] type #-----| getVariable().getInitializer(): [Initializer] initializer for rv -# 1651| getExpr(): [FunctionCall] call to get -# 1651| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1651| ValueCategory = prvalue -# 1651| getQualifier(): [VariableAccess] (unnamed local variable) -# 1651| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & -# 1651| ValueCategory = prvalue(load) -# 1651| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1651| Type = [Struct] StructuredBindingTupleNoRefGet -# 1651| ValueCategory = lvalue -# 1651| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1651| Type = [LValueReferenceType] int & -# 1651| ValueCategory = prvalue -# 1651| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1651| Type = [IntType] int -# 1651| ValueCategory = xvalue -# 1652| getStmt(1): [ExprStmt] ExprStmt -# 1652| getExpr(): [AssignExpr] ... = ... -# 1652| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1652| ValueCategory = lvalue -# 1652| getLValue(): [VariableAccess] i -# 1652| Type = [RValueReferenceType] type && -# 1652| ValueCategory = prvalue(load) -# 1652| getRValue(): [Literal] 4 -# 1652| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1652| Value = [Literal] 4 -# 1652| ValueCategory = prvalue -# 1652| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1652| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1652| ValueCategory = lvalue -# 1653| getStmt(2): [DeclStmt] declaration -# 1653| getDeclarationEntry(0): [VariableDeclarationEntry] definition of ri -# 1653| Type = [LValueReferenceType] int & -# 1653| getVariable().getInitializer(): [Initializer] initializer for ri -# 1653| getExpr(): [VariableAccess] i -# 1653| Type = [RValueReferenceType] type && -# 1653| ValueCategory = prvalue(load) -# 1653| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1653| Type = [LValueReferenceType] type & -# 1653| ValueCategory = prvalue -# 1653| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1653| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1653| ValueCategory = lvalue -# 1654| getStmt(3): [DeclStmt] declaration -# 1654| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v -# 1654| Type = [IntType] int -# 1654| getVariable().getInitializer(): [Initializer] initializer for v -# 1654| getExpr(): [VariableAccess] i -# 1654| Type = [RValueReferenceType] type && -# 1654| ValueCategory = prvalue(load) -# 1654| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1654| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1654| ValueCategory = prvalue(load) -# 1655| getStmt(4): [ExprStmt] ExprStmt -# 1655| getExpr(): [AssignExpr] ... = ... -# 1655| Type = [IntType] int -# 1655| ValueCategory = lvalue -# 1655| getLValue(): [VariableAccess] r -# 1655| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1655| ValueCategory = prvalue(load) -# 1655| getRValue(): [Literal] 5 -# 1655| Type = [IntType] int -# 1655| Value = [Literal] 5 -# 1655| ValueCategory = prvalue -# 1655| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1655| Type = [IntType] int -# 1655| ValueCategory = lvalue -# 1656| getStmt(5): [DeclStmt] declaration -# 1656| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rr -# 1656| Type = [LValueReferenceType] int & -# 1656| getVariable().getInitializer(): [Initializer] initializer for rr -# 1656| getExpr(): [VariableAccess] r -# 1656| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1656| ValueCategory = prvalue(load) -# 1656| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1656| Type = [LValueReferenceType] int & -# 1656| ValueCategory = prvalue -# 1656| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1656| Type = [IntType] int -# 1656| ValueCategory = lvalue -# 1657| getStmt(6): [DeclStmt] declaration -# 1657| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w -# 1657| Type = [IntType] int -# 1657| getVariable().getInitializer(): [Initializer] initializer for w -# 1657| getExpr(): [VariableAccess] r -# 1657| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1657| ValueCategory = prvalue(load) -# 1657| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1657| Type = [IntType] int -# 1657| ValueCategory = prvalue(load) -# 1660| getStmt(2): [BlockStmt] { ... } -# 1661| getStmt(0): [DeclStmt] declaration -# 1661| getDeclarationEntry(0): [VariableDeclarationEntry] definition of unnamed_local_variable -# 1661| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & -# 1661| getVariable().getInitializer(): [Initializer] initializer for unnamed_local_variable -# 1661| getExpr(): [VariableAccess] t -# 1661| Type = [Struct] StructuredBindingTupleNoRefGet -# 1661| ValueCategory = lvalue -# 1661| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1661| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & -# 1661| ValueCategory = prvalue -# 1662| getStmt(1): [DeclStmt] declaration -# 1662| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i -# 1662| Type = [RValueReferenceType] type && -# 1662| getVariable().getInitializer(): [Initializer] initializer for i -# 1662| getExpr(): [FunctionCall] call to get -# 1662| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1662| ValueCategory = prvalue -# 1662| getQualifier(): [VariableAccess] unnamed_local_variable -# 1662| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & -# 1662| ValueCategory = prvalue(load) -# 1662| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1662| Type = [Struct] StructuredBindingTupleNoRefGet -# 1662| ValueCategory = lvalue -# 1662| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1662| Type = [LValueReferenceType] type & -# 1662| ValueCategory = prvalue -# 1662| getExpr(): [TemporaryObjectExpr] temporary object -# 1662| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1662| ValueCategory = lvalue -# 1663| getStmt(2): [DeclStmt] declaration -# 1663| getDeclarationEntry(0): [VariableDeclarationEntry] definition of r -# 1663| Type = [LValueReferenceType] int & -# 1663| getVariable().getInitializer(): [Initializer] initializer for r -# 1663| getExpr(): [FunctionCall] call to get -# 1663| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1663| ValueCategory = prvalue -# 1663| getQualifier(): [VariableAccess] unnamed_local_variable -# 1663| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & -# 1663| ValueCategory = prvalue(load) -# 1663| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1663| Type = [Struct] StructuredBindingTupleNoRefGet -# 1663| ValueCategory = lvalue -# 1663| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1663| Type = [LValueReferenceType] int & -# 1663| ValueCategory = prvalue -# 1663| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1663| Type = [IntType] int -# 1663| ValueCategory = lvalue -# 1664| getStmt(3): [DeclStmt] declaration -# 1664| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rv -# 1664| Type = [RValueReferenceType] int && -# 1664| getVariable().getInitializer(): [Initializer] initializer for rv -# 1664| getExpr(): [FunctionCall] call to get -# 1664| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1664| ValueCategory = prvalue -# 1664| getQualifier(): [VariableAccess] unnamed_local_variable -# 1664| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & -# 1664| ValueCategory = prvalue(load) -# 1664| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1664| Type = [Struct] StructuredBindingTupleNoRefGet -# 1664| ValueCategory = lvalue -# 1664| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1664| Type = [LValueReferenceType] int & -# 1664| ValueCategory = prvalue -# 1664| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1664| Type = [IntType] int -# 1664| ValueCategory = xvalue -# 1665| getStmt(4): [ExprStmt] ExprStmt -# 1665| getExpr(): [AssignExpr] ... = ... -# 1665| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1665| ValueCategory = lvalue -# 1665| getLValue(): [VariableAccess] i -# 1665| Type = [RValueReferenceType] type && -# 1665| ValueCategory = prvalue(load) -# 1665| getRValue(): [Literal] 4 -# 1665| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1665| Value = [Literal] 4 -# 1665| ValueCategory = prvalue -# 1665| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1665| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1665| ValueCategory = lvalue -# 1666| getStmt(5): [DeclStmt] declaration -# 1666| getDeclarationEntry(0): [VariableDeclarationEntry] definition of ri -# 1666| Type = [LValueReferenceType] int & -# 1666| getVariable().getInitializer(): [Initializer] initializer for ri -# 1666| getExpr(): [VariableAccess] i -# 1666| Type = [RValueReferenceType] type && -# 1666| ValueCategory = prvalue(load) -# 1666| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1666| Type = [LValueReferenceType] type & -# 1666| ValueCategory = prvalue -# 1666| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1666| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1666| ValueCategory = lvalue -# 1667| getStmt(6): [DeclStmt] declaration -# 1667| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v -# 1667| Type = [IntType] int -# 1667| getVariable().getInitializer(): [Initializer] initializer for v -# 1667| getExpr(): [VariableAccess] i -# 1667| Type = [RValueReferenceType] type && -# 1667| ValueCategory = prvalue(load) -# 1667| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1667| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1667| ValueCategory = prvalue(load) -# 1668| getStmt(7): [ExprStmt] ExprStmt -# 1668| getExpr(): [AssignExpr] ... = ... -# 1668| Type = [IntType] int -# 1668| ValueCategory = lvalue -# 1668| getLValue(): [VariableAccess] r -# 1668| Type = [LValueReferenceType] int & -# 1668| ValueCategory = prvalue(load) -# 1668| getRValue(): [Literal] 5 -# 1668| Type = [IntType] int -# 1668| Value = [Literal] 5 -# 1668| ValueCategory = prvalue -# 1668| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1668| Type = [IntType] int -# 1668| ValueCategory = lvalue -# 1669| getStmt(8): [DeclStmt] declaration -# 1669| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rr -# 1669| Type = [LValueReferenceType] int & -# 1669| getVariable().getInitializer(): [Initializer] initializer for rr -# 1669| getExpr(): [VariableAccess] r -# 1669| Type = [LValueReferenceType] int & -# 1669| ValueCategory = prvalue(load) -# 1669| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1669| Type = [LValueReferenceType] int & -# 1669| ValueCategory = prvalue -# 1669| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1669| Type = [IntType] int -# 1669| ValueCategory = lvalue -# 1670| getStmt(9): [DeclStmt] declaration -# 1670| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w -# 1670| Type = [IntType] int -# 1670| getVariable().getInitializer(): [Initializer] initializer for w -# 1670| getExpr(): [VariableAccess] r -# 1670| Type = [LValueReferenceType] int & -# 1670| ValueCategory = prvalue(load) -# 1670| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1670| Type = [IntType] int -# 1670| ValueCategory = prvalue(load) -# 1672| getStmt(3): [ReturnStmt] return ... -# 1674| [TopLevelFunction] void array_structured_binding_non_ref_init() -# 1674| : -# 1674| getEntryPoint(): [BlockStmt] { ... } -# 1675| getStmt(0): [DeclStmt] declaration -# 1675| getDeclarationEntry(0): [VariableDeclarationEntry] definition of xs -# 1675| Type = [ArrayType] int[2] -# 1675| getVariable().getInitializer(): [Initializer] initializer for xs -# 1675| getExpr(): [ArrayAggregateLiteral] {...} -# 1675| Type = [ArrayType] int[2] -# 1675| ValueCategory = prvalue -# 1675| getAnElementExpr(0): [Literal] 1 -# 1675| Type = [IntType] int -# 1675| Value = [Literal] 1 -# 1675| ValueCategory = prvalue -# 1675| getAnElementExpr(1): [Literal] 2 -# 1675| Type = [IntType] int -# 1675| Value = [Literal] 2 -# 1675| ValueCategory = prvalue -# 1676| getStmt(1): [DeclStmt] declaration -# 1676| getDeclarationEntry(0): [VariableDeclarationEntry] definition of (unnamed local variable) -# 1676| Type = [ArrayType] int[2] -# 1676| getVariable().getInitializer(): [Initializer] initializer for (unnamed local variable) -# 1676| getExpr(): [VariableAccess] xs -# 1676| Type = [ArrayType] int[2] -# 1676| ValueCategory = prvalue(load) -# 1676| getDeclarationEntry(1): [VariableDeclarationEntry] definition of x0 -# 1676| Type = [IntType] int +# 1698| getExpr(): [FunctionCall] call to get +# 1698| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1698| ValueCategory = prvalue +# 1698| getQualifier(): [VariableAccess] (unnamed local variable) +# 1698| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & +# 1698| ValueCategory = prvalue(load) +# 1698| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1698| Type = [Struct] StructuredBindingTupleNoRefGet +# 1698| ValueCategory = lvalue +# 1698| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1698| Type = [LValueReferenceType] int & +# 1698| ValueCategory = prvalue +# 1698| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1698| Type = [IntType] int +# 1698| ValueCategory = xvalue +# 1699| getStmt(1): [ExprStmt] ExprStmt +# 1699| getExpr(): [AssignExpr] ... = ... +# 1699| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1699| ValueCategory = lvalue +# 1699| getLValue(): [VariableAccess] i +# 1699| Type = [RValueReferenceType] type && +# 1699| ValueCategory = prvalue(load) +# 1699| getRValue(): [Literal] 4 +# 1699| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1699| Value = [Literal] 4 +# 1699| ValueCategory = prvalue +# 1699| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1699| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1699| ValueCategory = lvalue +# 1700| getStmt(2): [DeclStmt] declaration +# 1700| getDeclarationEntry(0): [VariableDeclarationEntry] definition of ri +# 1700| Type = [LValueReferenceType] int & +# 1700| getVariable().getInitializer(): [Initializer] initializer for ri +# 1700| getExpr(): [VariableAccess] i +# 1700| Type = [RValueReferenceType] type && +# 1700| ValueCategory = prvalue(load) +# 1700| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1700| Type = [LValueReferenceType] type & +# 1700| ValueCategory = prvalue +# 1700| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1700| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1700| ValueCategory = lvalue +# 1701| getStmt(3): [DeclStmt] declaration +# 1701| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v +# 1701| Type = [IntType] int +# 1701| getVariable().getInitializer(): [Initializer] initializer for v +# 1701| getExpr(): [VariableAccess] i +# 1701| Type = [RValueReferenceType] type && +# 1701| ValueCategory = prvalue(load) +# 1701| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1701| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1701| ValueCategory = prvalue(load) +# 1702| getStmt(4): [ExprStmt] ExprStmt +# 1702| getExpr(): [AssignExpr] ... = ... +# 1702| Type = [IntType] int +# 1702| ValueCategory = lvalue +# 1702| getLValue(): [VariableAccess] r +# 1702| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1702| ValueCategory = prvalue(load) +# 1702| getRValue(): [Literal] 5 +# 1702| Type = [IntType] int +# 1702| Value = [Literal] 5 +# 1702| ValueCategory = prvalue +# 1702| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1702| Type = [IntType] int +# 1702| ValueCategory = lvalue +# 1703| getStmt(5): [DeclStmt] declaration +# 1703| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rr +# 1703| Type = [LValueReferenceType] int & +# 1703| getVariable().getInitializer(): [Initializer] initializer for rr +# 1703| getExpr(): [VariableAccess] r +# 1703| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1703| ValueCategory = prvalue(load) +# 1703| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1703| Type = [LValueReferenceType] int & +# 1703| ValueCategory = prvalue +# 1703| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1703| Type = [IntType] int +# 1703| ValueCategory = lvalue +# 1704| getStmt(6): [DeclStmt] declaration +# 1704| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w +# 1704| Type = [IntType] int +# 1704| getVariable().getInitializer(): [Initializer] initializer for w +# 1704| getExpr(): [VariableAccess] r +# 1704| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1704| ValueCategory = prvalue(load) +# 1704| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1704| Type = [IntType] int +# 1704| ValueCategory = prvalue(load) +# 1707| getStmt(2): [BlockStmt] { ... } +# 1708| getStmt(0): [DeclStmt] declaration +# 1708| getDeclarationEntry(0): [VariableDeclarationEntry] definition of unnamed_local_variable +# 1708| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & +# 1708| getVariable().getInitializer(): [Initializer] initializer for unnamed_local_variable +# 1708| getExpr(): [VariableAccess] t +# 1708| Type = [Struct] StructuredBindingTupleNoRefGet +# 1708| ValueCategory = lvalue +# 1708| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1708| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & +# 1708| ValueCategory = prvalue +# 1709| getStmt(1): [DeclStmt] declaration +# 1709| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i +# 1709| Type = [RValueReferenceType] type && +# 1709| getVariable().getInitializer(): [Initializer] initializer for i +# 1709| getExpr(): [FunctionCall] call to get +# 1709| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1709| ValueCategory = prvalue +# 1709| getQualifier(): [VariableAccess] unnamed_local_variable +# 1709| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & +# 1709| ValueCategory = prvalue(load) +# 1709| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1709| Type = [Struct] StructuredBindingTupleNoRefGet +# 1709| ValueCategory = lvalue +# 1709| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1709| Type = [LValueReferenceType] type & +# 1709| ValueCategory = prvalue +# 1709| getExpr(): [TemporaryObjectExpr] temporary object +# 1709| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1709| ValueCategory = lvalue +# 1710| getStmt(2): [DeclStmt] declaration +# 1710| getDeclarationEntry(0): [VariableDeclarationEntry] definition of r +# 1710| Type = [LValueReferenceType] int & +# 1710| getVariable().getInitializer(): [Initializer] initializer for r +# 1710| getExpr(): [FunctionCall] call to get +# 1710| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1710| ValueCategory = prvalue +# 1710| getQualifier(): [VariableAccess] unnamed_local_variable +# 1710| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & +# 1710| ValueCategory = prvalue(load) +# 1710| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1710| Type = [Struct] StructuredBindingTupleNoRefGet +# 1710| ValueCategory = lvalue +# 1710| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1710| Type = [LValueReferenceType] int & +# 1710| ValueCategory = prvalue +# 1710| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1710| Type = [IntType] int +# 1710| ValueCategory = lvalue +# 1711| getStmt(3): [DeclStmt] declaration +# 1711| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rv +# 1711| Type = [RValueReferenceType] int && +# 1711| getVariable().getInitializer(): [Initializer] initializer for rv +# 1711| getExpr(): [FunctionCall] call to get +# 1711| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1711| ValueCategory = prvalue +# 1711| getQualifier(): [VariableAccess] unnamed_local_variable +# 1711| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & +# 1711| ValueCategory = prvalue(load) +# 1711| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1711| Type = [Struct] StructuredBindingTupleNoRefGet +# 1711| ValueCategory = lvalue +# 1711| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1711| Type = [LValueReferenceType] int & +# 1711| ValueCategory = prvalue +# 1711| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1711| Type = [IntType] int +# 1711| ValueCategory = xvalue +# 1712| getStmt(4): [ExprStmt] ExprStmt +# 1712| getExpr(): [AssignExpr] ... = ... +# 1712| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1712| ValueCategory = lvalue +# 1712| getLValue(): [VariableAccess] i +# 1712| Type = [RValueReferenceType] type && +# 1712| ValueCategory = prvalue(load) +# 1712| getRValue(): [Literal] 4 +# 1712| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1712| Value = [Literal] 4 +# 1712| ValueCategory = prvalue +# 1712| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1712| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1712| ValueCategory = lvalue +# 1713| getStmt(5): [DeclStmt] declaration +# 1713| getDeclarationEntry(0): [VariableDeclarationEntry] definition of ri +# 1713| Type = [LValueReferenceType] int & +# 1713| getVariable().getInitializer(): [Initializer] initializer for ri +# 1713| getExpr(): [VariableAccess] i +# 1713| Type = [RValueReferenceType] type && +# 1713| ValueCategory = prvalue(load) +# 1713| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1713| Type = [LValueReferenceType] type & +# 1713| ValueCategory = prvalue +# 1713| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1713| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1713| ValueCategory = lvalue +# 1714| getStmt(6): [DeclStmt] declaration +# 1714| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v +# 1714| Type = [IntType] int +# 1714| getVariable().getInitializer(): [Initializer] initializer for v +# 1714| getExpr(): [VariableAccess] i +# 1714| Type = [RValueReferenceType] type && +# 1714| ValueCategory = prvalue(load) +# 1714| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1714| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1714| ValueCategory = prvalue(load) +# 1715| getStmt(7): [ExprStmt] ExprStmt +# 1715| getExpr(): [AssignExpr] ... = ... +# 1715| Type = [IntType] int +# 1715| ValueCategory = lvalue +# 1715| getLValue(): [VariableAccess] r +# 1715| Type = [LValueReferenceType] int & +# 1715| ValueCategory = prvalue(load) +# 1715| getRValue(): [Literal] 5 +# 1715| Type = [IntType] int +# 1715| Value = [Literal] 5 +# 1715| ValueCategory = prvalue +# 1715| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1715| Type = [IntType] int +# 1715| ValueCategory = lvalue +# 1716| getStmt(8): [DeclStmt] declaration +# 1716| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rr +# 1716| Type = [LValueReferenceType] int & +# 1716| getVariable().getInitializer(): [Initializer] initializer for rr +# 1716| getExpr(): [VariableAccess] r +# 1716| Type = [LValueReferenceType] int & +# 1716| ValueCategory = prvalue(load) +# 1716| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1716| Type = [LValueReferenceType] int & +# 1716| ValueCategory = prvalue +# 1716| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1716| Type = [IntType] int +# 1716| ValueCategory = lvalue +# 1717| getStmt(9): [DeclStmt] declaration +# 1717| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w +# 1717| Type = [IntType] int +# 1717| getVariable().getInitializer(): [Initializer] initializer for w +# 1717| getExpr(): [VariableAccess] r +# 1717| Type = [LValueReferenceType] int & +# 1717| ValueCategory = prvalue(load) +# 1717| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1717| Type = [IntType] int +# 1717| ValueCategory = prvalue(load) +# 1719| getStmt(3): [ReturnStmt] return ... +# 1721| [TopLevelFunction] void array_structured_binding_non_ref_init() +# 1721| : +# 1721| getEntryPoint(): [BlockStmt] { ... } +# 1722| getStmt(0): [DeclStmt] declaration +# 1722| getDeclarationEntry(0): [VariableDeclarationEntry] definition of xs +# 1722| Type = [ArrayType] int[2] +# 1722| getVariable().getInitializer(): [Initializer] initializer for xs +# 1722| getExpr(): [ArrayAggregateLiteral] {...} +# 1722| Type = [ArrayType] int[2] +# 1722| ValueCategory = prvalue +# 1722| getAnElementExpr(0): [Literal] 1 +# 1722| Type = [IntType] int +# 1722| Value = [Literal] 1 +# 1722| ValueCategory = prvalue +# 1722| getAnElementExpr(1): [Literal] 2 +# 1722| Type = [IntType] int +# 1722| Value = [Literal] 2 +# 1722| ValueCategory = prvalue +# 1723| getStmt(1): [DeclStmt] declaration +# 1723| getDeclarationEntry(0): [VariableDeclarationEntry] definition of (unnamed local variable) +# 1723| Type = [ArrayType] int[2] +# 1723| getVariable().getInitializer(): [Initializer] initializer for (unnamed local variable) +# 1723| getExpr(): [VariableAccess] xs +# 1723| Type = [ArrayType] int[2] +# 1723| ValueCategory = prvalue(load) +# 1723| getDeclarationEntry(1): [VariableDeclarationEntry] definition of x0 +# 1723| Type = [IntType] int #-----| getVariable().getInitializer(): [Initializer] initializer for x0 #-----| getExpr(): [ArrayExpr] access to array #-----| Type = [IntType] int @@ -13353,8 +14105,8 @@ ir.cpp: #-----| getArrayBase().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion #-----| Type = [IntPointerType] int * #-----| ValueCategory = prvalue -# 1676| getDeclarationEntry(2): [VariableDeclarationEntry] definition of x1 -# 1676| Type = [IntType] int +# 1723| getDeclarationEntry(2): [VariableDeclarationEntry] definition of x1 +# 1723| Type = [IntType] int #-----| getVariable().getInitializer(): [Initializer] initializer for x1 #-----| getExpr(): [ArrayExpr] access to array #-----| Type = [IntType] int @@ -13369,351 +14121,351 @@ ir.cpp: #-----| getArrayBase().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion #-----| Type = [IntPointerType] int * #-----| ValueCategory = prvalue -# 1677| getStmt(2): [ReturnStmt] return ... -# 1679| [CopyAssignmentOperator] CapturedLambdaMyObj& CapturedLambdaMyObj::operator=(CapturedLambdaMyObj const&) -# 1679| : +# 1724| getStmt(2): [ReturnStmt] return ... +# 1726| [CopyAssignmentOperator] CapturedLambdaMyObj& CapturedLambdaMyObj::operator=(CapturedLambdaMyObj const&) +# 1726| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const CapturedLambdaMyObj & -# 1679| [MoveAssignmentOperator] CapturedLambdaMyObj& CapturedLambdaMyObj::operator=(CapturedLambdaMyObj&&) -# 1679| : +# 1726| [MoveAssignmentOperator] CapturedLambdaMyObj& CapturedLambdaMyObj::operator=(CapturedLambdaMyObj&&) +# 1726| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] CapturedLambdaMyObj && -# 1679| [CopyConstructor] void CapturedLambdaMyObj::CapturedLambdaMyObj(CapturedLambdaMyObj const&) -# 1679| : +# 1726| [CopyConstructor] void CapturedLambdaMyObj::CapturedLambdaMyObj(CapturedLambdaMyObj const&) +# 1726| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const CapturedLambdaMyObj & -# 1679| [MoveConstructor] void CapturedLambdaMyObj::CapturedLambdaMyObj(CapturedLambdaMyObj&&) -# 1679| : +# 1726| [MoveConstructor] void CapturedLambdaMyObj::CapturedLambdaMyObj(CapturedLambdaMyObj&&) +# 1726| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] CapturedLambdaMyObj && -# 1682| [Constructor] void CapturedLambdaMyObj::CapturedLambdaMyObj() -# 1682| : -# 1682| : -# 1682| getEntryPoint(): [BlockStmt] { ... } -# 1682| getStmt(0): [ReturnStmt] return ... -# 1685| [TopLevelFunction] void captured_lambda(int, int&, int&&) -# 1685| : -# 1685| getParameter(0): [Parameter] x -# 1685| Type = [IntType] int -# 1685| getParameter(1): [Parameter] y -# 1685| Type = [LValueReferenceType] int & -# 1685| getParameter(2): [Parameter] z -# 1685| Type = [RValueReferenceType] int && -# 1686| getEntryPoint(): [BlockStmt] { ... } -# 1687| getStmt(0): [DeclStmt] declaration -# 1687| getDeclarationEntry(0): [VariableDeclarationEntry] definition of obj1 -# 1687| Type = [LValueReferenceType] const CapturedLambdaMyObj & -# 1687| getVariable().getInitializer(): [Initializer] initializer for obj1 -# 1687| getExpr(): [ConstructorCall] call to CapturedLambdaMyObj -# 1687| Type = [VoidType] void -# 1687| ValueCategory = prvalue -# 1687| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1687| Type = [LValueReferenceType] const CapturedLambdaMyObj & -# 1687| ValueCategory = prvalue -# 1687| getExpr(): [CStyleCast] (const CapturedLambdaMyObj)... -# 1687| Conversion = [GlvalueConversion] glvalue conversion -# 1687| Type = [SpecifiedType] const CapturedLambdaMyObj -# 1687| ValueCategory = lvalue -# 1687| getExpr(): [TemporaryObjectExpr] temporary object -# 1687| Type = [Class] CapturedLambdaMyObj -# 1687| ValueCategory = lvalue -# 1688| getStmt(1): [DeclStmt] declaration -# 1688| getDeclarationEntry(0): [VariableDeclarationEntry] definition of obj2 -# 1688| Type = [Class] CapturedLambdaMyObj -# 1688| getVariable().getInitializer(): [Initializer] initializer for obj2 -# 1688| getExpr(): [ConstructorCall] call to CapturedLambdaMyObj -# 1688| Type = [VoidType] void -# 1688| ValueCategory = prvalue -# 1690| getStmt(2): [DeclStmt] declaration -# 1690| getDeclarationEntry(0): [VariableDeclarationEntry] definition of lambda_outer -# 1690| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1690| getVariable().getInitializer(): [Initializer] initializer for lambda_outer -# 1690| getExpr(): [LambdaExpression] [...](...){...} -# 1690| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1690| ValueCategory = prvalue -# 1690| getInitializer(): [ClassAggregateLiteral] {...} -# 1690| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1690| ValueCategory = prvalue -# 1690| getAFieldExpr(obj1): [VariableAccess] obj1 -# 1690| Type = [LValueReferenceType] const CapturedLambdaMyObj & -# 1690| ValueCategory = prvalue(load) -# 1690| getAFieldExpr(obj2): [VariableAccess] obj2 -# 1690| Type = [Class] CapturedLambdaMyObj -# 1690| ValueCategory = prvalue(load) -# 1690| getAFieldExpr(x): [VariableAccess] x -# 1690| Type = [IntType] int -# 1690| ValueCategory = prvalue(load) -# 1690| getAFieldExpr(y): [VariableAccess] y -# 1690| Type = [LValueReferenceType] int & -# 1690| ValueCategory = prvalue(load) -# 1690| getAFieldExpr(z): [VariableAccess] z -# 1690| Type = [RValueReferenceType] int && -# 1690| ValueCategory = prvalue(load) +# 1729| [Constructor] void CapturedLambdaMyObj::CapturedLambdaMyObj() +# 1729| : +# 1729| : +# 1729| getEntryPoint(): [BlockStmt] { ... } +# 1729| getStmt(0): [ReturnStmt] return ... +# 1732| [TopLevelFunction] void captured_lambda(int, int&, int&&) +# 1732| : +# 1732| getParameter(0): [Parameter] x +# 1732| Type = [IntType] int +# 1732| getParameter(1): [Parameter] y +# 1732| Type = [LValueReferenceType] int & +# 1732| getParameter(2): [Parameter] z +# 1732| Type = [RValueReferenceType] int && +# 1733| getEntryPoint(): [BlockStmt] { ... } +# 1734| getStmt(0): [DeclStmt] declaration +# 1734| getDeclarationEntry(0): [VariableDeclarationEntry] definition of obj1 +# 1734| Type = [LValueReferenceType] const CapturedLambdaMyObj & +# 1734| getVariable().getInitializer(): [Initializer] initializer for obj1 +# 1734| getExpr(): [ConstructorCall] call to CapturedLambdaMyObj +# 1734| Type = [VoidType] void +# 1734| ValueCategory = prvalue +# 1734| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1734| Type = [LValueReferenceType] const CapturedLambdaMyObj & +# 1734| ValueCategory = prvalue +# 1734| getExpr(): [CStyleCast] (const CapturedLambdaMyObj)... +# 1734| Conversion = [GlvalueConversion] glvalue conversion +# 1734| Type = [SpecifiedType] const CapturedLambdaMyObj +# 1734| ValueCategory = lvalue +# 1734| getExpr(): [TemporaryObjectExpr] temporary object +# 1734| Type = [Class] CapturedLambdaMyObj +# 1734| ValueCategory = lvalue +# 1735| getStmt(1): [DeclStmt] declaration +# 1735| getDeclarationEntry(0): [VariableDeclarationEntry] definition of obj2 +# 1735| Type = [Class] CapturedLambdaMyObj +# 1735| getVariable().getInitializer(): [Initializer] initializer for obj2 +# 1735| getExpr(): [ConstructorCall] call to CapturedLambdaMyObj +# 1735| Type = [VoidType] void +# 1735| ValueCategory = prvalue +# 1737| getStmt(2): [DeclStmt] declaration +# 1737| getDeclarationEntry(0): [VariableDeclarationEntry] definition of lambda_outer +# 1737| Type = [Closure,LocalClass] decltype([...](...){...}) +# 1737| getVariable().getInitializer(): [Initializer] initializer for lambda_outer +# 1737| getExpr(): [LambdaExpression] [...](...){...} +# 1737| Type = [Closure,LocalClass] decltype([...](...){...}) +# 1737| ValueCategory = prvalue +# 1737| getInitializer(): [ClassAggregateLiteral] {...} +# 1737| Type = [Closure,LocalClass] decltype([...](...){...}) +# 1737| ValueCategory = prvalue +# 1737| getAFieldExpr(obj1): [VariableAccess] obj1 +# 1737| Type = [LValueReferenceType] const CapturedLambdaMyObj & +# 1737| ValueCategory = prvalue(load) +# 1737| getAFieldExpr(obj2): [VariableAccess] obj2 +# 1737| Type = [Class] CapturedLambdaMyObj +# 1737| ValueCategory = prvalue(load) +# 1737| getAFieldExpr(x): [VariableAccess] x +# 1737| Type = [IntType] int +# 1737| ValueCategory = prvalue(load) +# 1737| getAFieldExpr(y): [VariableAccess] y +# 1737| Type = [LValueReferenceType] int & +# 1737| ValueCategory = prvalue(load) +# 1737| getAFieldExpr(z): [VariableAccess] z +# 1737| Type = [RValueReferenceType] int && +# 1737| ValueCategory = prvalue(load) #-----| getAFieldExpr(obj1).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) #-----| Type = [SpecifiedType] const CapturedLambdaMyObj #-----| ValueCategory = prvalue(load) -# 1692| getAFieldExpr(y).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1692| Type = [IntType] int -# 1692| ValueCategory = prvalue(load) -# 1692| getAFieldExpr(z).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1692| Type = [IntType] int -# 1692| ValueCategory = prvalue(load) -# 1693| getStmt(3): [ReturnStmt] return ... -# 1690| [CopyAssignmentOperator] (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25)& (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25)::operator=((void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25) const&) -# 1690| : +# 1739| getAFieldExpr(y).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1739| Type = [IntType] int +# 1739| ValueCategory = prvalue(load) +# 1739| getAFieldExpr(z).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1739| Type = [IntType] int +# 1739| ValueCategory = prvalue(load) +# 1740| getStmt(3): [ReturnStmt] return ... +# 1737| [CopyAssignmentOperator] (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)& (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)::operator=((void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25) const&) +# 1737| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const lambda [] type at line 1690, col. 25 & -# 1690| [CopyConstructor] void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25)::(unnamed constructor)((void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25) const&) -# 1690| : +#-----| Type = [LValueReferenceType] const lambda [] type at line 1737, col. 25 & +# 1737| [CopyConstructor] void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)::(unnamed constructor)((void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25) const&) +# 1737| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const lambda [] type at line 1690, col. 25 & -# 1690| [MoveConstructor] void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25)::(unnamed constructor)((void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25)&&) -# 1690| : +#-----| Type = [LValueReferenceType] const lambda [] type at line 1737, col. 25 & +# 1737| [MoveConstructor] void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)::(unnamed constructor)((void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)&&) +# 1737| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [RValueReferenceType] lambda [] type at line 1690, col. 25 && -# 1690| [Constructor] void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25)::(unnamed constructor)() -# 1690| : -# 1690| [ConstMemberFunction] void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25)::operator()() const -# 1690| : -# 1690| getEntryPoint(): [BlockStmt] { ... } -# 1691| getStmt(0): [DeclStmt] declaration -# 1691| getDeclarationEntry(0): [VariableDeclarationEntry] definition of lambda_inner -# 1691| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1691| getVariable().getInitializer(): [Initializer] initializer for lambda_inner -# 1691| getExpr(): [LambdaExpression] [...](...){...} -# 1691| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1691| ValueCategory = prvalue -# 1691| getInitializer(): [ClassAggregateLiteral] {...} -# 1691| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1691| ValueCategory = prvalue -# 1691| getAFieldExpr(obj1): [PointerFieldAccess] obj1 -# 1691| Type = [SpecifiedType] const CapturedLambdaMyObj -# 1691| ValueCategory = prvalue(load) -# 1691| getQualifier(): [ThisExpr] this -# 1691| Type = [PointerType] lambda [] type at line 1691, col. 29 * -# 1691| ValueCategory = prvalue(load) -# 1691| getAFieldExpr(obj2): [PointerFieldAccess] obj2 -# 1691| Type = [Class] CapturedLambdaMyObj -# 1691| ValueCategory = prvalue(load) -# 1691| getQualifier(): [ThisExpr] this -# 1691| Type = [PointerType] lambda [] type at line 1691, col. 29 * -# 1691| ValueCategory = prvalue(load) -# 1691| getAFieldExpr(x): [PointerFieldAccess] x -# 1691| Type = [IntType] int -# 1691| ValueCategory = prvalue(load) -# 1691| getQualifier(): [ThisExpr] this -# 1691| Type = [PointerType] const lambda [] type at line 1690, col. 25 * -# 1691| ValueCategory = prvalue(load) -# 1691| getAFieldExpr(y): [PointerFieldAccess] y -# 1691| Type = [IntType] int -# 1691| ValueCategory = prvalue(load) -# 1691| getQualifier(): [ThisExpr] this -# 1691| Type = [PointerType] const lambda [] type at line 1690, col. 25 * -# 1691| ValueCategory = prvalue(load) -# 1691| getAFieldExpr(z): [PointerFieldAccess] z -# 1691| Type = [IntType] int -# 1691| ValueCategory = prvalue(load) -# 1691| getQualifier(): [ThisExpr] this -# 1691| Type = [PointerType] const lambda [] type at line 1690, col. 25 * -# 1691| ValueCategory = prvalue(load) -# 1692| getStmt(1): [ReturnStmt] return ... -# 1691| [CopyAssignmentOperator] (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25)::operator()() const)::(lambda [] type at line 1691, col. 29)& (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25)::operator()() const)::(lambda [] type at line 1691, col. 29)::operator=((void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25)::operator()() const)::(lambda [] type at line 1691, col. 29) const&) -# 1691| : +#-----| Type = [RValueReferenceType] lambda [] type at line 1737, col. 25 && +# 1737| [Constructor] void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)::(unnamed constructor)() +# 1737| : +# 1737| [ConstMemberFunction] void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)::operator()() const +# 1737| : +# 1737| getEntryPoint(): [BlockStmt] { ... } +# 1738| getStmt(0): [DeclStmt] declaration +# 1738| getDeclarationEntry(0): [VariableDeclarationEntry] definition of lambda_inner +# 1738| Type = [Closure,LocalClass] decltype([...](...){...}) +# 1738| getVariable().getInitializer(): [Initializer] initializer for lambda_inner +# 1738| getExpr(): [LambdaExpression] [...](...){...} +# 1738| Type = [Closure,LocalClass] decltype([...](...){...}) +# 1738| ValueCategory = prvalue +# 1738| getInitializer(): [ClassAggregateLiteral] {...} +# 1738| Type = [Closure,LocalClass] decltype([...](...){...}) +# 1738| ValueCategory = prvalue +# 1738| getAFieldExpr(obj1): [PointerFieldAccess] obj1 +# 1738| Type = [SpecifiedType] const CapturedLambdaMyObj +# 1738| ValueCategory = prvalue(load) +# 1738| getQualifier(): [ThisExpr] this +# 1738| Type = [PointerType] lambda [] type at line 1738, col. 29 * +# 1738| ValueCategory = prvalue(load) +# 1738| getAFieldExpr(obj2): [PointerFieldAccess] obj2 +# 1738| Type = [Class] CapturedLambdaMyObj +# 1738| ValueCategory = prvalue(load) +# 1738| getQualifier(): [ThisExpr] this +# 1738| Type = [PointerType] lambda [] type at line 1738, col. 29 * +# 1738| ValueCategory = prvalue(load) +# 1738| getAFieldExpr(x): [PointerFieldAccess] x +# 1738| Type = [IntType] int +# 1738| ValueCategory = prvalue(load) +# 1738| getQualifier(): [ThisExpr] this +# 1738| Type = [PointerType] const lambda [] type at line 1737, col. 25 * +# 1738| ValueCategory = prvalue(load) +# 1738| getAFieldExpr(y): [PointerFieldAccess] y +# 1738| Type = [IntType] int +# 1738| ValueCategory = prvalue(load) +# 1738| getQualifier(): [ThisExpr] this +# 1738| Type = [PointerType] const lambda [] type at line 1737, col. 25 * +# 1738| ValueCategory = prvalue(load) +# 1738| getAFieldExpr(z): [PointerFieldAccess] z +# 1738| Type = [IntType] int +# 1738| ValueCategory = prvalue(load) +# 1738| getQualifier(): [ThisExpr] this +# 1738| Type = [PointerType] const lambda [] type at line 1737, col. 25 * +# 1738| ValueCategory = prvalue(load) +# 1739| getStmt(1): [ReturnStmt] return ... +# 1738| [CopyAssignmentOperator] (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)::operator()() const)::(lambda [] type at line 1738, col. 29)& (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)::operator()() const)::(lambda [] type at line 1738, col. 29)::operator=((void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)::operator()() const)::(lambda [] type at line 1738, col. 29) const&) +# 1738| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const lambda [] type at line 1691, col. 29 & -# 1691| [CopyConstructor] void (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25)::operator()() const)::(lambda [] type at line 1691, col. 29)::(unnamed constructor)((void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25)::operator()() const)::(lambda [] type at line 1691, col. 29) const&) -# 1691| : +#-----| Type = [LValueReferenceType] const lambda [] type at line 1738, col. 29 & +# 1738| [CopyConstructor] void (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)::operator()() const)::(lambda [] type at line 1738, col. 29)::(unnamed constructor)((void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)::operator()() const)::(lambda [] type at line 1738, col. 29) const&) +# 1738| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const lambda [] type at line 1691, col. 29 & -# 1691| [MoveConstructor] void (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25)::operator()() const)::(lambda [] type at line 1691, col. 29)::(unnamed constructor)((void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25)::operator()() const)::(lambda [] type at line 1691, col. 29)&&) -# 1691| : +#-----| Type = [LValueReferenceType] const lambda [] type at line 1738, col. 29 & +# 1738| [MoveConstructor] void (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)::operator()() const)::(lambda [] type at line 1738, col. 29)::(unnamed constructor)((void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)::operator()() const)::(lambda [] type at line 1738, col. 29)&&) +# 1738| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [RValueReferenceType] lambda [] type at line 1691, col. 29 && -# 1691| [Constructor] void (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25)::operator()() const)::(lambda [] type at line 1691, col. 29)::(unnamed constructor)() -# 1691| : -# 1691| [ConstMemberFunction] void (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25)::operator()() const)::(lambda [] type at line 1691, col. 29)::operator()() const -# 1691| : -# 1691| getEntryPoint(): [BlockStmt] { ... } -# 1691| getStmt(0): [EmptyStmt] ; -# 1691| getStmt(1): [ReturnStmt] return ... -# 1695| [TopLevelFunction] int goto_on_same_line() -# 1695| : -# 1695| getEntryPoint(): [BlockStmt] { ... } -# 1696| getStmt(0): [DeclStmt] declaration -# 1696| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 1696| Type = [IntType] int -# 1696| getVariable().getInitializer(): [Initializer] initializer for x -# 1696| getExpr(): [Literal] 42 -# 1696| Type = [IntType] int -# 1696| Value = [Literal] 42 -# 1696| ValueCategory = prvalue -# 1697| getStmt(1): [GotoStmt] goto ... -# 1697| getStmt(2): [LabelStmt] label ...: -# 1698| getStmt(3): [ReturnStmt] return ... -# 1698| getExpr(): [VariableAccess] x -# 1698| Type = [IntType] int -# 1698| ValueCategory = prvalue(load) -# 1701| [CopyAssignmentOperator] TrivialLambdaClass& TrivialLambdaClass::operator=(TrivialLambdaClass const&) -# 1701| : +#-----| Type = [RValueReferenceType] lambda [] type at line 1738, col. 29 && +# 1738| [Constructor] void (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)::operator()() const)::(lambda [] type at line 1738, col. 29)::(unnamed constructor)() +# 1738| : +# 1738| [ConstMemberFunction] void (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)::operator()() const)::(lambda [] type at line 1738, col. 29)::operator()() const +# 1738| : +# 1738| getEntryPoint(): [BlockStmt] { ... } +# 1738| getStmt(0): [EmptyStmt] ; +# 1738| getStmt(1): [ReturnStmt] return ... +# 1742| [TopLevelFunction] int goto_on_same_line() +# 1742| : +# 1742| getEntryPoint(): [BlockStmt] { ... } +# 1743| getStmt(0): [DeclStmt] declaration +# 1743| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 1743| Type = [IntType] int +# 1743| getVariable().getInitializer(): [Initializer] initializer for x +# 1743| getExpr(): [Literal] 42 +# 1743| Type = [IntType] int +# 1743| Value = [Literal] 42 +# 1743| ValueCategory = prvalue +# 1744| getStmt(1): [GotoStmt] goto ... +# 1744| getStmt(2): [LabelStmt] label ...: +# 1745| getStmt(3): [ReturnStmt] return ... +# 1745| getExpr(): [VariableAccess] x +# 1745| Type = [IntType] int +# 1745| ValueCategory = prvalue(load) +# 1748| [CopyAssignmentOperator] TrivialLambdaClass& TrivialLambdaClass::operator=(TrivialLambdaClass const&) +# 1748| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const TrivialLambdaClass & -# 1701| [MoveAssignmentOperator] TrivialLambdaClass& TrivialLambdaClass::operator=(TrivialLambdaClass&&) -# 1701| : +# 1748| [MoveAssignmentOperator] TrivialLambdaClass& TrivialLambdaClass::operator=(TrivialLambdaClass&&) +# 1748| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] TrivialLambdaClass && -# 1703| [ConstMemberFunction] void TrivialLambdaClass::m() const -# 1703| : -# 1703| getEntryPoint(): [BlockStmt] { ... } -# 1704| getStmt(0): [DeclStmt] declaration -# 1704| getDeclarationEntry(0): [VariableDeclarationEntry] definition of l_m_outer -# 1704| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1704| getVariable().getInitializer(): [Initializer] initializer for l_m_outer -# 1704| getExpr(): [LambdaExpression] [...](...){...} -# 1704| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1704| ValueCategory = prvalue -# 1704| getInitializer(): [ClassAggregateLiteral] {...} -# 1704| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1704| ValueCategory = prvalue -# 1704| getAFieldExpr((captured this)): [PointerDereferenceExpr] * ... -# 1704| Type = [SpecifiedType] const TrivialLambdaClass -# 1704| ValueCategory = prvalue(load) -# 1704| getOperand(): [ThisExpr] this -# 1704| Type = [SpecifiedType] const TrivialLambdaClass *const -# 1704| ValueCategory = prvalue(load) -# 1711| getStmt(1): [ReturnStmt] return ... -# 1704| [CopyAssignmentOperator] (void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26)& (void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26)::operator=((void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26) const&) -# 1704| : +# 1750| [ConstMemberFunction] void TrivialLambdaClass::m() const +# 1750| : +# 1750| getEntryPoint(): [BlockStmt] { ... } +# 1751| getStmt(0): [DeclStmt] declaration +# 1751| getDeclarationEntry(0): [VariableDeclarationEntry] definition of l_m_outer +# 1751| Type = [Closure,LocalClass] decltype([...](...){...}) +# 1751| getVariable().getInitializer(): [Initializer] initializer for l_m_outer +# 1751| getExpr(): [LambdaExpression] [...](...){...} +# 1751| Type = [Closure,LocalClass] decltype([...](...){...}) +# 1751| ValueCategory = prvalue +# 1751| getInitializer(): [ClassAggregateLiteral] {...} +# 1751| Type = [Closure,LocalClass] decltype([...](...){...}) +# 1751| ValueCategory = prvalue +# 1751| getAFieldExpr((captured this)): [PointerDereferenceExpr] * ... +# 1751| Type = [SpecifiedType] const TrivialLambdaClass +# 1751| ValueCategory = prvalue(load) +# 1751| getOperand(): [ThisExpr] this +# 1751| Type = [SpecifiedType] const TrivialLambdaClass *const +# 1751| ValueCategory = prvalue(load) +# 1758| getStmt(1): [ReturnStmt] return ... +# 1751| [CopyAssignmentOperator] (void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)& (void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)::operator=((void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26) const&) +# 1751| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const lambda [] type at line 1704, col. 26 & -# 1704| [CopyConstructor] void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26)::(unnamed constructor)((void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26) const&) -# 1704| : +#-----| Type = [LValueReferenceType] const lambda [] type at line 1751, col. 26 & +# 1751| [CopyConstructor] void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)::(unnamed constructor)((void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26) const&) +# 1751| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const lambda [] type at line 1704, col. 26 & -# 1704| [MoveConstructor] void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26)::(unnamed constructor)((void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26)&&) -# 1704| : +#-----| Type = [LValueReferenceType] const lambda [] type at line 1751, col. 26 & +# 1751| [MoveConstructor] void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)::(unnamed constructor)((void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)&&) +# 1751| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [RValueReferenceType] lambda [] type at line 1704, col. 26 && -# 1704| [Constructor] void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26)::(unnamed constructor)() -# 1704| : -# 1704| [ConstMemberFunction] void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26)::operator()() const -# 1704| : -# 1704| getEntryPoint(): [BlockStmt] { ... } -# 1705| getStmt(0): [ExprStmt] ExprStmt -# 1705| getExpr(): [FunctionCall] call to m -# 1705| Type = [VoidType] void -# 1705| ValueCategory = prvalue -# 1705| getQualifier(): [AddressOfExpr] & ... -# 1705| Type = [PointerType] const TrivialLambdaClass * -# 1705| ValueCategory = prvalue -# 1705| getOperand(): [ImplicitThisFieldAccess,PointerFieldAccess] (captured this) -# 1705| Type = [SpecifiedType] const TrivialLambdaClass -# 1705| ValueCategory = lvalue -# 1705| getQualifier(): [ThisExpr] this -# 1705| Type = [PointerType] const lambda [] type at line 1704, col. 26 * -# 1705| ValueCategory = prvalue(load) -# 1707| getStmt(1): [DeclStmt] declaration -# 1707| getDeclarationEntry(0): [VariableDeclarationEntry] definition of l_m_inner -# 1707| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1707| getVariable().getInitializer(): [Initializer] initializer for l_m_inner -# 1707| getExpr(): [LambdaExpression] [...](...){...} -# 1707| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1707| ValueCategory = prvalue -# 1707| getInitializer(): [ClassAggregateLiteral] {...} -# 1707| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1707| ValueCategory = prvalue -# 1707| getAFieldExpr((captured this)): [PointerFieldAccess] (captured this) -# 1707| Type = [SpecifiedType] const TrivialLambdaClass -# 1707| ValueCategory = prvalue(load) -# 1707| getQualifier(): [ThisExpr] this -# 1707| Type = [PointerType] lambda [] type at line 1707, col. 30 * -# 1707| ValueCategory = prvalue(load) -# 1710| getStmt(2): [ReturnStmt] return ... -# 1707| [CopyAssignmentOperator] (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26)::operator()() const)::(lambda [] type at line 1707, col. 30)& (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26)::operator()() const)::(lambda [] type at line 1707, col. 30)::operator=((void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26)::operator()() const)::(lambda [] type at line 1707, col. 30) const&) -# 1707| : +#-----| Type = [RValueReferenceType] lambda [] type at line 1751, col. 26 && +# 1751| [Constructor] void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)::(unnamed constructor)() +# 1751| : +# 1751| [ConstMemberFunction] void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)::operator()() const +# 1751| : +# 1751| getEntryPoint(): [BlockStmt] { ... } +# 1752| getStmt(0): [ExprStmt] ExprStmt +# 1752| getExpr(): [FunctionCall] call to m +# 1752| Type = [VoidType] void +# 1752| ValueCategory = prvalue +# 1752| getQualifier(): [AddressOfExpr] & ... +# 1752| Type = [PointerType] const TrivialLambdaClass * +# 1752| ValueCategory = prvalue +# 1752| getOperand(): [ImplicitThisFieldAccess,PointerFieldAccess] (captured this) +# 1752| Type = [SpecifiedType] const TrivialLambdaClass +# 1752| ValueCategory = lvalue +# 1752| getQualifier(): [ThisExpr] this +# 1752| Type = [PointerType] const lambda [] type at line 1751, col. 26 * +# 1752| ValueCategory = prvalue(load) +# 1754| getStmt(1): [DeclStmt] declaration +# 1754| getDeclarationEntry(0): [VariableDeclarationEntry] definition of l_m_inner +# 1754| Type = [Closure,LocalClass] decltype([...](...){...}) +# 1754| getVariable().getInitializer(): [Initializer] initializer for l_m_inner +# 1754| getExpr(): [LambdaExpression] [...](...){...} +# 1754| Type = [Closure,LocalClass] decltype([...](...){...}) +# 1754| ValueCategory = prvalue +# 1754| getInitializer(): [ClassAggregateLiteral] {...} +# 1754| Type = [Closure,LocalClass] decltype([...](...){...}) +# 1754| ValueCategory = prvalue +# 1754| getAFieldExpr((captured this)): [PointerFieldAccess] (captured this) +# 1754| Type = [SpecifiedType] const TrivialLambdaClass +# 1754| ValueCategory = prvalue(load) +# 1754| getQualifier(): [ThisExpr] this +# 1754| Type = [PointerType] lambda [] type at line 1754, col. 30 * +# 1754| ValueCategory = prvalue(load) +# 1757| getStmt(2): [ReturnStmt] return ... +# 1754| [CopyAssignmentOperator] (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)::operator()() const)::(lambda [] type at line 1754, col. 30)& (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)::operator()() const)::(lambda [] type at line 1754, col. 30)::operator=((void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)::operator()() const)::(lambda [] type at line 1754, col. 30) const&) +# 1754| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const lambda [] type at line 1707, col. 30 & -# 1707| [CopyConstructor] void (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26)::operator()() const)::(lambda [] type at line 1707, col. 30)::(unnamed constructor)((void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26)::operator()() const)::(lambda [] type at line 1707, col. 30) const&) -# 1707| : +#-----| Type = [LValueReferenceType] const lambda [] type at line 1754, col. 30 & +# 1754| [CopyConstructor] void (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)::operator()() const)::(lambda [] type at line 1754, col. 30)::(unnamed constructor)((void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)::operator()() const)::(lambda [] type at line 1754, col. 30) const&) +# 1754| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const lambda [] type at line 1707, col. 30 & -# 1707| [MoveConstructor] void (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26)::operator()() const)::(lambda [] type at line 1707, col. 30)::(unnamed constructor)((void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26)::operator()() const)::(lambda [] type at line 1707, col. 30)&&) -# 1707| : +#-----| Type = [LValueReferenceType] const lambda [] type at line 1754, col. 30 & +# 1754| [MoveConstructor] void (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)::operator()() const)::(lambda [] type at line 1754, col. 30)::(unnamed constructor)((void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)::operator()() const)::(lambda [] type at line 1754, col. 30)&&) +# 1754| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [RValueReferenceType] lambda [] type at line 1707, col. 30 && -# 1707| [Constructor] void (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26)::operator()() const)::(lambda [] type at line 1707, col. 30)::(unnamed constructor)() -# 1707| : -# 1707| [ConstMemberFunction] void (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26)::operator()() const)::(lambda [] type at line 1707, col. 30)::operator()() const -# 1707| : -# 1707| getEntryPoint(): [BlockStmt] { ... } -# 1708| getStmt(0): [ExprStmt] ExprStmt -# 1708| getExpr(): [FunctionCall] call to m -# 1708| Type = [VoidType] void -# 1708| ValueCategory = prvalue -# 1708| getQualifier(): [AddressOfExpr] & ... -# 1708| Type = [PointerType] const TrivialLambdaClass * -# 1708| ValueCategory = prvalue -# 1708| getOperand(): [ImplicitThisFieldAccess,PointerFieldAccess] (captured this) -# 1708| Type = [SpecifiedType] const TrivialLambdaClass -# 1708| ValueCategory = lvalue -# 1708| getQualifier(): [ThisExpr] this -# 1708| Type = [PointerType] const lambda [] type at line 1707, col. 30 * -# 1708| ValueCategory = prvalue(load) -# 1709| getStmt(1): [ReturnStmt] return ... -# 1714| [TopLevelFunction] void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&) -# 1714| : -# 1714| getParameter(0): [Parameter] p1 -# 1714| Type = [Class] TrivialLambdaClass -# 1714| getParameter(1): [Parameter] p2 -# 1714| Type = [LValueReferenceType] TrivialLambdaClass & -# 1714| getParameter(2): [Parameter] p3 -# 1714| Type = [RValueReferenceType] TrivialLambdaClass && -# 1714| getEntryPoint(): [BlockStmt] { ... } -# 1715| getStmt(0): [DeclStmt] declaration -# 1715| getDeclarationEntry(0): [VariableDeclarationEntry] definition of l1 -# 1715| Type = [SpecifiedType] const TrivialLambdaClass -# 1716| getStmt(1): [DeclStmt] declaration -# 1716| getDeclarationEntry(0): [VariableDeclarationEntry] definition of l2 -# 1716| Type = [LValueReferenceType] const TrivialLambdaClass & -# 1716| getVariable().getInitializer(): [Initializer] initializer for l2 -# 1716| getExpr(): [Literal] 0 -# 1716| Type = [Class] TrivialLambdaClass -# 1716| Value = [Literal] 0 -# 1716| ValueCategory = prvalue -# 1716| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1716| Type = [LValueReferenceType] const TrivialLambdaClass & -# 1716| ValueCategory = prvalue -# 1716| getExpr(): [CStyleCast] (const TrivialLambdaClass)... -# 1716| Conversion = [GlvalueConversion] glvalue conversion -# 1716| Type = [SpecifiedType] const TrivialLambdaClass -# 1716| ValueCategory = lvalue -# 1716| getExpr(): [TemporaryObjectExpr] temporary object -# 1716| Type = [Class] TrivialLambdaClass -# 1716| ValueCategory = lvalue -# 1718| getStmt(2): [DeclStmt] declaration -# 1718| getDeclarationEntry(0): [VariableDeclarationEntry] definition of l_outer1 -# 1718| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1718| getVariable().getInitializer(): [Initializer] initializer for l_outer1 -# 1718| getExpr(): [LambdaExpression] [...](...){...} -# 1718| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1718| ValueCategory = prvalue -# 1718| getInitializer(): [ClassAggregateLiteral] {...} -# 1718| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1718| ValueCategory = prvalue -# 1718| getAFieldExpr(p1): [VariableAccess] p1 -# 1718| Type = [Class] TrivialLambdaClass -# 1718| ValueCategory = prvalue(load) -# 1718| getAFieldExpr(p2): [VariableAccess] p2 -# 1718| Type = [LValueReferenceType] TrivialLambdaClass & -# 1718| ValueCategory = prvalue(load) -# 1718| getAFieldExpr(p3): [VariableAccess] p3 -# 1718| Type = [RValueReferenceType] TrivialLambdaClass && -# 1718| ValueCategory = prvalue(load) -# 1718| getAFieldExpr(l1): [VariableAccess] l1 -# 1718| Type = [SpecifiedType] const TrivialLambdaClass -# 1718| ValueCategory = prvalue(load) -# 1718| getAFieldExpr(l2): [VariableAccess] l2 -# 1718| Type = [LValueReferenceType] const TrivialLambdaClass & -# 1718| ValueCategory = prvalue(load) +#-----| Type = [RValueReferenceType] lambda [] type at line 1754, col. 30 && +# 1754| [Constructor] void (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)::operator()() const)::(lambda [] type at line 1754, col. 30)::(unnamed constructor)() +# 1754| : +# 1754| [ConstMemberFunction] void (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)::operator()() const)::(lambda [] type at line 1754, col. 30)::operator()() const +# 1754| : +# 1754| getEntryPoint(): [BlockStmt] { ... } +# 1755| getStmt(0): [ExprStmt] ExprStmt +# 1755| getExpr(): [FunctionCall] call to m +# 1755| Type = [VoidType] void +# 1755| ValueCategory = prvalue +# 1755| getQualifier(): [AddressOfExpr] & ... +# 1755| Type = [PointerType] const TrivialLambdaClass * +# 1755| ValueCategory = prvalue +# 1755| getOperand(): [ImplicitThisFieldAccess,PointerFieldAccess] (captured this) +# 1755| Type = [SpecifiedType] const TrivialLambdaClass +# 1755| ValueCategory = lvalue +# 1755| getQualifier(): [ThisExpr] this +# 1755| Type = [PointerType] const lambda [] type at line 1754, col. 30 * +# 1755| ValueCategory = prvalue(load) +# 1756| getStmt(1): [ReturnStmt] return ... +# 1761| [TopLevelFunction] void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&) +# 1761| : +# 1761| getParameter(0): [Parameter] p1 +# 1761| Type = [Class] TrivialLambdaClass +# 1761| getParameter(1): [Parameter] p2 +# 1761| Type = [LValueReferenceType] TrivialLambdaClass & +# 1761| getParameter(2): [Parameter] p3 +# 1761| Type = [RValueReferenceType] TrivialLambdaClass && +# 1761| getEntryPoint(): [BlockStmt] { ... } +# 1762| getStmt(0): [DeclStmt] declaration +# 1762| getDeclarationEntry(0): [VariableDeclarationEntry] definition of l1 +# 1762| Type = [SpecifiedType] const TrivialLambdaClass +# 1763| getStmt(1): [DeclStmt] declaration +# 1763| getDeclarationEntry(0): [VariableDeclarationEntry] definition of l2 +# 1763| Type = [LValueReferenceType] const TrivialLambdaClass & +# 1763| getVariable().getInitializer(): [Initializer] initializer for l2 +# 1763| getExpr(): [Literal] 0 +# 1763| Type = [Class] TrivialLambdaClass +# 1763| Value = [Literal] 0 +# 1763| ValueCategory = prvalue +# 1763| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1763| Type = [LValueReferenceType] const TrivialLambdaClass & +# 1763| ValueCategory = prvalue +# 1763| getExpr(): [CStyleCast] (const TrivialLambdaClass)... +# 1763| Conversion = [GlvalueConversion] glvalue conversion +# 1763| Type = [SpecifiedType] const TrivialLambdaClass +# 1763| ValueCategory = lvalue +# 1763| getExpr(): [TemporaryObjectExpr] temporary object +# 1763| Type = [Class] TrivialLambdaClass +# 1763| ValueCategory = lvalue +# 1765| getStmt(2): [DeclStmt] declaration +# 1765| getDeclarationEntry(0): [VariableDeclarationEntry] definition of l_outer1 +# 1765| Type = [Closure,LocalClass] decltype([...](...){...}) +# 1765| getVariable().getInitializer(): [Initializer] initializer for l_outer1 +# 1765| getExpr(): [LambdaExpression] [...](...){...} +# 1765| Type = [Closure,LocalClass] decltype([...](...){...}) +# 1765| ValueCategory = prvalue +# 1765| getInitializer(): [ClassAggregateLiteral] {...} +# 1765| Type = [Closure,LocalClass] decltype([...](...){...}) +# 1765| ValueCategory = prvalue +# 1765| getAFieldExpr(p1): [VariableAccess] p1 +# 1765| Type = [Class] TrivialLambdaClass +# 1765| ValueCategory = prvalue(load) +# 1765| getAFieldExpr(p2): [VariableAccess] p2 +# 1765| Type = [LValueReferenceType] TrivialLambdaClass & +# 1765| ValueCategory = prvalue(load) +# 1765| getAFieldExpr(p3): [VariableAccess] p3 +# 1765| Type = [RValueReferenceType] TrivialLambdaClass && +# 1765| ValueCategory = prvalue(load) +# 1765| getAFieldExpr(l1): [VariableAccess] l1 +# 1765| Type = [SpecifiedType] const TrivialLambdaClass +# 1765| ValueCategory = prvalue(load) +# 1765| getAFieldExpr(l2): [VariableAccess] l2 +# 1765| Type = [LValueReferenceType] const TrivialLambdaClass & +# 1765| ValueCategory = prvalue(load) #-----| getAFieldExpr(p2).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) #-----| Type = [Class] TrivialLambdaClass #-----| ValueCategory = prvalue(load) @@ -13723,723 +14475,741 @@ ir.cpp: #-----| getAFieldExpr(l2).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) #-----| Type = [SpecifiedType] const TrivialLambdaClass #-----| ValueCategory = prvalue(load) -# 1721| getStmt(3): [ReturnStmt] return ... -# 1718| [CopyAssignmentOperator] (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21)& (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21)::operator=((void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21) const&) -# 1718| : +# 1768| getStmt(3): [ReturnStmt] return ... +# 1765| [CopyAssignmentOperator] (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)& (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)::operator=((void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21) const&) +# 1765| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const lambda [] type at line 1718, col. 21 & -# 1718| [CopyConstructor] void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21)::(unnamed constructor)((void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21) const&) -# 1718| : +#-----| Type = [LValueReferenceType] const lambda [] type at line 1765, col. 21 & +# 1765| [CopyConstructor] void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)::(unnamed constructor)((void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21) const&) +# 1765| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const lambda [] type at line 1718, col. 21 & -# 1718| [MoveConstructor] void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21)::(unnamed constructor)((void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21)&&) -# 1718| : +#-----| Type = [LValueReferenceType] const lambda [] type at line 1765, col. 21 & +# 1765| [MoveConstructor] void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)::(unnamed constructor)((void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)&&) +# 1765| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [RValueReferenceType] lambda [] type at line 1718, col. 21 && -# 1718| [Constructor] void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21)::(unnamed constructor)() -# 1718| : -# 1718| [ConstMemberFunction] void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21)::operator()() const -# 1718| : -# 1718| getEntryPoint(): [BlockStmt] { ... } -# 1719| getStmt(0): [DeclStmt] declaration -# 1719| getDeclarationEntry(0): [VariableDeclarationEntry] definition of l_inner1 -# 1719| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1719| getVariable().getInitializer(): [Initializer] initializer for l_inner1 -# 1719| getExpr(): [LambdaExpression] [...](...){...} -# 1719| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1719| ValueCategory = prvalue -# 1719| getInitializer(): [ClassAggregateLiteral] {...} -# 1719| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1719| ValueCategory = prvalue -# 1719| getAFieldExpr(p1): [PointerFieldAccess] p1 -# 1719| Type = [Class] TrivialLambdaClass -# 1719| ValueCategory = prvalue(load) -# 1719| getQualifier(): [ThisExpr] this -# 1719| Type = [PointerType] lambda [] type at line 1719, col. 25 * -# 1719| ValueCategory = prvalue(load) -# 1720| getStmt(1): [ReturnStmt] return ... -# 1719| [CopyAssignmentOperator] (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21)::operator()() const)::(lambda [] type at line 1719, col. 25)& (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21)::operator()() const)::(lambda [] type at line 1719, col. 25)::operator=((void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21)::operator()() const)::(lambda [] type at line 1719, col. 25) const&) -# 1719| : +#-----| Type = [RValueReferenceType] lambda [] type at line 1765, col. 21 && +# 1765| [Constructor] void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)::(unnamed constructor)() +# 1765| : +# 1765| [ConstMemberFunction] void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)::operator()() const +# 1765| : +# 1765| getEntryPoint(): [BlockStmt] { ... } +# 1766| getStmt(0): [DeclStmt] declaration +# 1766| getDeclarationEntry(0): [VariableDeclarationEntry] definition of l_inner1 +# 1766| Type = [Closure,LocalClass] decltype([...](...){...}) +# 1766| getVariable().getInitializer(): [Initializer] initializer for l_inner1 +# 1766| getExpr(): [LambdaExpression] [...](...){...} +# 1766| Type = [Closure,LocalClass] decltype([...](...){...}) +# 1766| ValueCategory = prvalue +# 1766| getInitializer(): [ClassAggregateLiteral] {...} +# 1766| Type = [Closure,LocalClass] decltype([...](...){...}) +# 1766| ValueCategory = prvalue +# 1766| getAFieldExpr(p1): [PointerFieldAccess] p1 +# 1766| Type = [Class] TrivialLambdaClass +# 1766| ValueCategory = prvalue(load) +# 1766| getQualifier(): [ThisExpr] this +# 1766| Type = [PointerType] lambda [] type at line 1766, col. 25 * +# 1766| ValueCategory = prvalue(load) +# 1767| getStmt(1): [ReturnStmt] return ... +# 1766| [CopyAssignmentOperator] (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)::operator()() const)::(lambda [] type at line 1766, col. 25)& (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)::operator()() const)::(lambda [] type at line 1766, col. 25)::operator=((void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)::operator()() const)::(lambda [] type at line 1766, col. 25) const&) +# 1766| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const lambda [] type at line 1719, col. 25 & -# 1719| [CopyConstructor] void (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21)::operator()() const)::(lambda [] type at line 1719, col. 25)::(unnamed constructor)((void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21)::operator()() const)::(lambda [] type at line 1719, col. 25) const&) -# 1719| : +#-----| Type = [LValueReferenceType] const lambda [] type at line 1766, col. 25 & +# 1766| [CopyConstructor] void (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)::operator()() const)::(lambda [] type at line 1766, col. 25)::(unnamed constructor)((void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)::operator()() const)::(lambda [] type at line 1766, col. 25) const&) +# 1766| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const lambda [] type at line 1719, col. 25 & -# 1719| [MoveConstructor] void (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21)::operator()() const)::(lambda [] type at line 1719, col. 25)::(unnamed constructor)((void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21)::operator()() const)::(lambda [] type at line 1719, col. 25)&&) -# 1719| : +#-----| Type = [LValueReferenceType] const lambda [] type at line 1766, col. 25 & +# 1766| [MoveConstructor] void (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)::operator()() const)::(lambda [] type at line 1766, col. 25)::(unnamed constructor)((void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)::operator()() const)::(lambda [] type at line 1766, col. 25)&&) +# 1766| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [RValueReferenceType] lambda [] type at line 1719, col. 25 && -# 1719| [Constructor] void (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21)::operator()() const)::(lambda [] type at line 1719, col. 25)::(unnamed constructor)() -# 1719| : -# 1719| [ConstMemberFunction] void (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21)::operator()() const)::(lambda [] type at line 1719, col. 25)::operator()() const -# 1719| : -# 1719| getEntryPoint(): [BlockStmt] { ... } -# 1719| getStmt(0): [ReturnStmt] return ... -# 1723| [CopyAssignmentOperator] CopyConstructorWithImplicitArgumentClass& CopyConstructorWithImplicitArgumentClass::operator=(CopyConstructorWithImplicitArgumentClass const&) -# 1723| : +#-----| Type = [RValueReferenceType] lambda [] type at line 1766, col. 25 && +# 1766| [Constructor] void (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)::operator()() const)::(lambda [] type at line 1766, col. 25)::(unnamed constructor)() +# 1766| : +# 1766| [ConstMemberFunction] void (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)::operator()() const)::(lambda [] type at line 1766, col. 25)::operator()() const +# 1766| : +# 1766| getEntryPoint(): [BlockStmt] { ... } +# 1766| getStmt(0): [ReturnStmt] return ... +# 1770| [CopyAssignmentOperator] CopyConstructorWithImplicitArgumentClass& CopyConstructorWithImplicitArgumentClass::operator=(CopyConstructorWithImplicitArgumentClass const&) +# 1770| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const CopyConstructorWithImplicitArgumentClass & -# 1726| [Constructor] void CopyConstructorWithImplicitArgumentClass::CopyConstructorWithImplicitArgumentClass() -# 1726| : -# 1726| : -# 1726| getEntryPoint(): [BlockStmt] { ... } -# 1726| getStmt(0): [ReturnStmt] return ... -# 1727| [CopyConstructor] void CopyConstructorWithImplicitArgumentClass::CopyConstructorWithImplicitArgumentClass(CopyConstructorWithImplicitArgumentClass const&) -# 1727| : -# 1727| getParameter(0): [Parameter] c -# 1727| Type = [LValueReferenceType] const CopyConstructorWithImplicitArgumentClass & -# 1727| : -# 1727| getEntryPoint(): [BlockStmt] { ... } -# 1728| getStmt(0): [ExprStmt] ExprStmt -# 1728| getExpr(): [AssignExpr] ... = ... -# 1728| Type = [IntType] int -# 1728| ValueCategory = lvalue -# 1728| getLValue(): [ImplicitThisFieldAccess,PointerFieldAccess] x -# 1728| Type = [IntType] int -# 1728| ValueCategory = lvalue -# 1728| getQualifier(): [ThisExpr] this -# 1728| Type = [PointerType] CopyConstructorWithImplicitArgumentClass * -# 1728| ValueCategory = prvalue(load) -# 1728| getRValue(): [ReferenceFieldAccess] x -# 1728| Type = [IntType] int -# 1728| ValueCategory = prvalue(load) -# 1728| getQualifier(): [VariableAccess] c -# 1728| Type = [LValueReferenceType] const CopyConstructorWithImplicitArgumentClass & -# 1728| ValueCategory = prvalue(load) -# 1728| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1728| Type = [SpecifiedType] const CopyConstructorWithImplicitArgumentClass -# 1728| ValueCategory = lvalue -# 1729| getStmt(1): [ReturnStmt] return ... -# 1732| [CopyAssignmentOperator] CopyConstructorWithBitwiseCopyClass& CopyConstructorWithBitwiseCopyClass::operator=(CopyConstructorWithBitwiseCopyClass const&) -# 1732| : +# 1773| [Constructor] void CopyConstructorWithImplicitArgumentClass::CopyConstructorWithImplicitArgumentClass() +# 1773| : +# 1773| : +# 1773| getEntryPoint(): [BlockStmt] { ... } +# 1773| getStmt(0): [ReturnStmt] return ... +# 1774| [CopyConstructor] void CopyConstructorWithImplicitArgumentClass::CopyConstructorWithImplicitArgumentClass(CopyConstructorWithImplicitArgumentClass const&) +# 1774| : +# 1774| getParameter(0): [Parameter] c +# 1774| Type = [LValueReferenceType] const CopyConstructorWithImplicitArgumentClass & +# 1774| : +# 1774| getEntryPoint(): [BlockStmt] { ... } +# 1775| getStmt(0): [ExprStmt] ExprStmt +# 1775| getExpr(): [AssignExpr] ... = ... +# 1775| Type = [IntType] int +# 1775| ValueCategory = lvalue +# 1775| getLValue(): [ImplicitThisFieldAccess,PointerFieldAccess] x +# 1775| Type = [IntType] int +# 1775| ValueCategory = lvalue +# 1775| getQualifier(): [ThisExpr] this +# 1775| Type = [PointerType] CopyConstructorWithImplicitArgumentClass * +# 1775| ValueCategory = prvalue(load) +# 1775| getRValue(): [ReferenceFieldAccess] x +# 1775| Type = [IntType] int +# 1775| ValueCategory = prvalue(load) +# 1775| getQualifier(): [VariableAccess] c +# 1775| Type = [LValueReferenceType] const CopyConstructorWithImplicitArgumentClass & +# 1775| ValueCategory = prvalue(load) +# 1775| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1775| Type = [SpecifiedType] const CopyConstructorWithImplicitArgumentClass +# 1775| ValueCategory = lvalue +# 1776| getStmt(1): [ReturnStmt] return ... +# 1779| [CopyAssignmentOperator] CopyConstructorWithBitwiseCopyClass& CopyConstructorWithBitwiseCopyClass::operator=(CopyConstructorWithBitwiseCopyClass const&) +# 1779| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const CopyConstructorWithBitwiseCopyClass & -# 1732| [MoveAssignmentOperator] CopyConstructorWithBitwiseCopyClass& CopyConstructorWithBitwiseCopyClass::operator=(CopyConstructorWithBitwiseCopyClass&&) -# 1732| : +# 1779| [MoveAssignmentOperator] CopyConstructorWithBitwiseCopyClass& CopyConstructorWithBitwiseCopyClass::operator=(CopyConstructorWithBitwiseCopyClass&&) +# 1779| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] CopyConstructorWithBitwiseCopyClass && -# 1732| [CopyConstructor] void CopyConstructorWithBitwiseCopyClass::CopyConstructorWithBitwiseCopyClass(CopyConstructorWithBitwiseCopyClass const&) -# 1732| : +# 1779| [CopyConstructor] void CopyConstructorWithBitwiseCopyClass::CopyConstructorWithBitwiseCopyClass(CopyConstructorWithBitwiseCopyClass const&) +# 1779| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const CopyConstructorWithBitwiseCopyClass & -# 1732| [MoveConstructor] void CopyConstructorWithBitwiseCopyClass::CopyConstructorWithBitwiseCopyClass(CopyConstructorWithBitwiseCopyClass&&) -# 1732| : +# 1779| [MoveConstructor] void CopyConstructorWithBitwiseCopyClass::CopyConstructorWithBitwiseCopyClass(CopyConstructorWithBitwiseCopyClass&&) +# 1779| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] CopyConstructorWithBitwiseCopyClass && -# 1735| [Constructor] void CopyConstructorWithBitwiseCopyClass::CopyConstructorWithBitwiseCopyClass() -# 1735| : -# 1735| : -# 1735| getEntryPoint(): [BlockStmt] { ... } -# 1735| getStmt(0): [ReturnStmt] return ... -# 1738| [CopyAssignmentOperator] CopyConstructorTestNonVirtualClass& CopyConstructorTestNonVirtualClass::operator=(CopyConstructorTestNonVirtualClass const&) -# 1738| : +# 1782| [Constructor] void CopyConstructorWithBitwiseCopyClass::CopyConstructorWithBitwiseCopyClass() +# 1782| : +# 1782| : +# 1782| getEntryPoint(): [BlockStmt] { ... } +# 1782| getStmt(0): [ReturnStmt] return ... +# 1785| [CopyAssignmentOperator] CopyConstructorTestNonVirtualClass& CopyConstructorTestNonVirtualClass::operator=(CopyConstructorTestNonVirtualClass const&) +# 1785| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const CopyConstructorTestNonVirtualClass & -# 1738| [MoveAssignmentOperator] CopyConstructorTestNonVirtualClass& CopyConstructorTestNonVirtualClass::operator=(CopyConstructorTestNonVirtualClass&&) -# 1738| : +# 1785| [MoveAssignmentOperator] CopyConstructorTestNonVirtualClass& CopyConstructorTestNonVirtualClass::operator=(CopyConstructorTestNonVirtualClass&&) +# 1785| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] CopyConstructorTestNonVirtualClass && -# 1738| [CopyConstructor] void CopyConstructorTestNonVirtualClass::CopyConstructorTestNonVirtualClass(CopyConstructorTestNonVirtualClass const&) -# 1738| : +# 1785| [CopyConstructor] void CopyConstructorTestNonVirtualClass::CopyConstructorTestNonVirtualClass(CopyConstructorTestNonVirtualClass const&) +# 1785| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const CopyConstructorTestNonVirtualClass & -# 1738| : -# 1738| getInitializer(0): [ConstructorDirectInit] call to CopyConstructorWithImplicitArgumentClass -# 1738| Type = [VoidType] void -# 1738| ValueCategory = prvalue -# 1738| getArgument(0): [VariableAccess] (unnamed parameter 0) -# 1738| Type = [LValueReferenceType] const CopyConstructorTestNonVirtualClass & -# 1738| ValueCategory = prvalue(load) -# 1738| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 1738| Type = [LValueReferenceType] const CopyConstructorWithImplicitArgumentClass & -# 1738| ValueCategory = prvalue -# 1738| getExpr(): [CStyleCast] (const CopyConstructorWithImplicitArgumentClass)... -# 1738| Conversion = [BaseClassConversion] base class conversion -# 1738| Type = [SpecifiedType] const CopyConstructorWithImplicitArgumentClass -# 1738| ValueCategory = lvalue -# 1738| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1738| Type = [SpecifiedType] const CopyConstructorTestNonVirtualClass -# 1738| ValueCategory = lvalue -# 1738| getInitializer(1): (no string representation) -# 1738| Type = [VirtualBaseClass] CopyConstructorWithBitwiseCopyClass -# 1738| ValueCategory = prvalue -# 1738| getEntryPoint(): [BlockStmt] { ... } -# 1738| getStmt(0): [ReturnStmt] return ... -# 1738| [MoveConstructor] void CopyConstructorTestNonVirtualClass::CopyConstructorTestNonVirtualClass(CopyConstructorTestNonVirtualClass&&) -# 1738| : +# 1785| : +# 1785| getInitializer(0): [ConstructorDirectInit] call to CopyConstructorWithImplicitArgumentClass +# 1785| Type = [VoidType] void +# 1785| ValueCategory = prvalue +# 1785| getArgument(0): [VariableAccess] (unnamed parameter 0) +# 1785| Type = [LValueReferenceType] const CopyConstructorTestNonVirtualClass & +# 1785| ValueCategory = prvalue(load) +# 1785| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 1785| Type = [LValueReferenceType] const CopyConstructorWithImplicitArgumentClass & +# 1785| ValueCategory = prvalue +# 1785| getExpr(): [CStyleCast] (const CopyConstructorWithImplicitArgumentClass)... +# 1785| Conversion = [BaseClassConversion] base class conversion +# 1785| Type = [SpecifiedType] const CopyConstructorWithImplicitArgumentClass +# 1785| ValueCategory = lvalue +# 1785| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1785| Type = [SpecifiedType] const CopyConstructorTestNonVirtualClass +# 1785| ValueCategory = lvalue +# 1785| getInitializer(1): (no string representation) +# 1785| Type = [VirtualBaseClass] CopyConstructorWithBitwiseCopyClass +# 1785| ValueCategory = prvalue +# 1785| getEntryPoint(): [BlockStmt] { ... } +# 1785| getStmt(0): [ReturnStmt] return ... +# 1785| [MoveConstructor] void CopyConstructorTestNonVirtualClass::CopyConstructorTestNonVirtualClass(CopyConstructorTestNonVirtualClass&&) +# 1785| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] CopyConstructorTestNonVirtualClass && -# 1742| [Constructor] void CopyConstructorTestNonVirtualClass::CopyConstructorTestNonVirtualClass() -# 1742| : -# 1742| : -# 1742| getInitializer(0): [ConstructorDirectInit] call to CopyConstructorWithImplicitArgumentClass -# 1742| Type = [VoidType] void -# 1742| ValueCategory = prvalue -# 1742| getInitializer(1): [ConstructorDirectInit] call to CopyConstructorWithBitwiseCopyClass -# 1742| Type = [VoidType] void -# 1742| ValueCategory = prvalue -# 1742| getEntryPoint(): [BlockStmt] { ... } -# 1742| getStmt(0): [ReturnStmt] return ... -# 1745| [CopyAssignmentOperator] CopyConstructorTestVirtualClass& CopyConstructorTestVirtualClass::operator=(CopyConstructorTestVirtualClass const&) -# 1745| : +# 1789| [Constructor] void CopyConstructorTestNonVirtualClass::CopyConstructorTestNonVirtualClass() +# 1789| : +# 1789| : +# 1789| getInitializer(0): [ConstructorDirectInit] call to CopyConstructorWithImplicitArgumentClass +# 1789| Type = [VoidType] void +# 1789| ValueCategory = prvalue +# 1789| getInitializer(1): [ConstructorDirectInit] call to CopyConstructorWithBitwiseCopyClass +# 1789| Type = [VoidType] void +# 1789| ValueCategory = prvalue +# 1789| getEntryPoint(): [BlockStmt] { ... } +# 1789| getStmt(0): [ReturnStmt] return ... +# 1792| [CopyAssignmentOperator] CopyConstructorTestVirtualClass& CopyConstructorTestVirtualClass::operator=(CopyConstructorTestVirtualClass const&) +# 1792| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const CopyConstructorTestVirtualClass & -# 1745| [MoveAssignmentOperator] CopyConstructorTestVirtualClass& CopyConstructorTestVirtualClass::operator=(CopyConstructorTestVirtualClass&&) -# 1745| : +# 1792| [MoveAssignmentOperator] CopyConstructorTestVirtualClass& CopyConstructorTestVirtualClass::operator=(CopyConstructorTestVirtualClass&&) +# 1792| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] CopyConstructorTestVirtualClass && -# 1745| [CopyConstructor] void CopyConstructorTestVirtualClass::CopyConstructorTestVirtualClass(CopyConstructorTestVirtualClass const&) -# 1745| : +# 1792| [CopyConstructor] void CopyConstructorTestVirtualClass::CopyConstructorTestVirtualClass(CopyConstructorTestVirtualClass const&) +# 1792| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const CopyConstructorTestVirtualClass & -# 1745| : -# 1745| getInitializer(0): [ConstructorVirtualInit] call to CopyConstructorWithImplicitArgumentClass -# 1745| Type = [VoidType] void -# 1745| ValueCategory = prvalue -# 1745| getArgument(0): [VariableAccess] (unnamed parameter 0) -# 1745| Type = [LValueReferenceType] const CopyConstructorTestVirtualClass & -# 1745| ValueCategory = prvalue(load) -# 1745| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 1745| Type = [LValueReferenceType] const CopyConstructorWithImplicitArgumentClass & -# 1745| ValueCategory = prvalue -# 1745| getExpr(): [CStyleCast] (const CopyConstructorWithImplicitArgumentClass)... -# 1745| Conversion = [BaseClassConversion] base class conversion -# 1745| Type = [SpecifiedType] const CopyConstructorWithImplicitArgumentClass -# 1745| ValueCategory = lvalue -# 1745| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1745| Type = [SpecifiedType] const CopyConstructorTestVirtualClass -# 1745| ValueCategory = lvalue -# 1745| getInitializer(1): (no string representation) -# 1745| Type = [VirtualBaseClass] CopyConstructorWithBitwiseCopyClass -# 1745| ValueCategory = prvalue -# 1745| getEntryPoint(): [BlockStmt] { ... } -# 1745| getStmt(0): [ReturnStmt] return ... -# 1745| [MoveConstructor] void CopyConstructorTestVirtualClass::CopyConstructorTestVirtualClass(CopyConstructorTestVirtualClass&&) -# 1745| : +# 1792| : +# 1792| getInitializer(0): [ConstructorVirtualInit] call to CopyConstructorWithImplicitArgumentClass +# 1792| Type = [VoidType] void +# 1792| ValueCategory = prvalue +# 1792| getArgument(0): [VariableAccess] (unnamed parameter 0) +# 1792| Type = [LValueReferenceType] const CopyConstructorTestVirtualClass & +# 1792| ValueCategory = prvalue(load) +# 1792| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 1792| Type = [LValueReferenceType] const CopyConstructorWithImplicitArgumentClass & +# 1792| ValueCategory = prvalue +# 1792| getExpr(): [CStyleCast] (const CopyConstructorWithImplicitArgumentClass)... +# 1792| Conversion = [BaseClassConversion] base class conversion +# 1792| Type = [SpecifiedType] const CopyConstructorWithImplicitArgumentClass +# 1792| ValueCategory = lvalue +# 1792| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1792| Type = [SpecifiedType] const CopyConstructorTestVirtualClass +# 1792| ValueCategory = lvalue +# 1792| getInitializer(1): (no string representation) +# 1792| Type = [VirtualBaseClass] CopyConstructorWithBitwiseCopyClass +# 1792| ValueCategory = prvalue +# 1792| getEntryPoint(): [BlockStmt] { ... } +# 1792| getStmt(0): [ReturnStmt] return ... +# 1792| [MoveConstructor] void CopyConstructorTestVirtualClass::CopyConstructorTestVirtualClass(CopyConstructorTestVirtualClass&&) +# 1792| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] CopyConstructorTestVirtualClass && -# 1749| [Constructor] void CopyConstructorTestVirtualClass::CopyConstructorTestVirtualClass() -# 1749| : -# 1749| : -# 1749| getInitializer(0): [ConstructorVirtualInit] call to CopyConstructorWithImplicitArgumentClass -# 1749| Type = [VoidType] void -# 1749| ValueCategory = prvalue -# 1749| getInitializer(1): [ConstructorVirtualInit] call to CopyConstructorWithBitwiseCopyClass -# 1749| Type = [VoidType] void -# 1749| ValueCategory = prvalue -# 1749| getEntryPoint(): [BlockStmt] { ... } -# 1749| getStmt(0): [ReturnStmt] return ... -# 1752| [TopLevelFunction] int implicit_copy_constructor_test(CopyConstructorTestNonVirtualClass const&, CopyConstructorTestVirtualClass const&) -# 1752| : -# 1753| getParameter(0): [Parameter] x -# 1753| Type = [LValueReferenceType] const CopyConstructorTestNonVirtualClass & -# 1754| getParameter(1): [Parameter] y -# 1754| Type = [LValueReferenceType] const CopyConstructorTestVirtualClass & -# 1754| getEntryPoint(): [BlockStmt] { ... } -# 1755| getStmt(0): [DeclStmt] declaration -# 1755| getDeclarationEntry(0): [VariableDeclarationEntry] definition of cx -# 1755| Type = [Class] CopyConstructorTestNonVirtualClass -# 1755| getVariable().getInitializer(): [Initializer] initializer for cx -# 1755| getExpr(): [ConstructorCall] call to CopyConstructorTestNonVirtualClass -# 1755| Type = [VoidType] void -# 1755| ValueCategory = prvalue -# 1755| getArgument(0): [VariableAccess] x -# 1755| Type = [LValueReferenceType] const CopyConstructorTestNonVirtualClass & -# 1755| ValueCategory = prvalue(load) -# 1755| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 1755| Type = [LValueReferenceType] const CopyConstructorTestNonVirtualClass & -# 1755| ValueCategory = prvalue -# 1755| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1755| Type = [SpecifiedType] const CopyConstructorTestNonVirtualClass -# 1755| ValueCategory = lvalue -# 1756| getStmt(1): [DeclStmt] declaration -# 1756| getDeclarationEntry(0): [VariableDeclarationEntry] definition of cy -# 1756| Type = [Class] CopyConstructorTestVirtualClass -# 1756| getVariable().getInitializer(): [Initializer] initializer for cy -# 1756| getExpr(): [ConstructorCall] call to CopyConstructorTestVirtualClass -# 1756| Type = [VoidType] void -# 1756| ValueCategory = prvalue -# 1756| getArgument(0): [VariableAccess] y -# 1756| Type = [LValueReferenceType] const CopyConstructorTestVirtualClass & -# 1756| ValueCategory = prvalue(load) -# 1756| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 1756| Type = [LValueReferenceType] const CopyConstructorTestVirtualClass & -# 1756| ValueCategory = prvalue -# 1756| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1756| Type = [SpecifiedType] const CopyConstructorTestVirtualClass -# 1756| ValueCategory = lvalue -# 1757| getStmt(2): [ReturnStmt] return ... -# 1759| [TopLevelFunction] void if_initialization(int) -# 1759| : -# 1759| getParameter(0): [Parameter] x -# 1759| Type = [IntType] int -# 1759| getEntryPoint(): [BlockStmt] { ... } -# 1760| getStmt(0): [IfStmt] if (...) ... -# 1760| getInitialization(): [DeclStmt] declaration -# 1760| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 1760| Type = [IntType] int -# 1760| getVariable().getInitializer(): [Initializer] initializer for y -# 1760| getExpr(): [VariableAccess] x -# 1760| Type = [IntType] int -# 1760| ValueCategory = prvalue(load) -# 1760| getCondition(): [AddExpr] ... + ... -# 1760| Type = [IntType] int -# 1760| ValueCategory = prvalue -# 1760| getLeftOperand(): [VariableAccess] x -# 1760| Type = [IntType] int -# 1760| ValueCategory = prvalue(load) -# 1760| getRightOperand(): [Literal] 1 -# 1760| Type = [IntType] int -# 1760| Value = [Literal] 1 -# 1760| ValueCategory = prvalue -# 1760| getThen(): [BlockStmt] { ... } -# 1761| getStmt(0): [ExprStmt] ExprStmt -# 1761| getExpr(): [AssignExpr] ... = ... -# 1761| Type = [IntType] int -# 1761| ValueCategory = lvalue -# 1761| getLValue(): [VariableAccess] x -# 1761| Type = [IntType] int -# 1761| ValueCategory = lvalue -# 1761| getRValue(): [AddExpr] ... + ... -# 1761| Type = [IntType] int -# 1761| ValueCategory = prvalue -# 1761| getLeftOperand(): [VariableAccess] x -# 1761| Type = [IntType] int -# 1761| ValueCategory = prvalue(load) -# 1761| getRightOperand(): [VariableAccess] y -# 1761| Type = [IntType] int -# 1761| ValueCategory = prvalue(load) -# 1760| getCondition().getFullyConverted(): [CStyleCast] (bool)... -# 1760| Conversion = [BoolConversion] conversion to bool -# 1760| Type = [BoolType] bool -# 1760| ValueCategory = prvalue -# 1764| getStmt(1): [DeclStmt] declaration -# 1764| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w -# 1764| Type = [IntType] int -# 1765| getStmt(2): [IfStmt] if (...) ... -# 1765| getInitialization(): [ExprStmt] ExprStmt -# 1765| getExpr(): [AssignExpr] ... = ... -# 1765| Type = [IntType] int -# 1765| ValueCategory = lvalue -# 1765| getLValue(): [VariableAccess] w -# 1765| Type = [IntType] int -# 1765| ValueCategory = lvalue -# 1765| getRValue(): [VariableAccess] x -# 1765| Type = [IntType] int -# 1765| ValueCategory = prvalue(load) -# 1765| getCondition(): [AddExpr] ... + ... -# 1765| Type = [IntType] int -# 1765| ValueCategory = prvalue -# 1765| getLeftOperand(): [VariableAccess] x -# 1765| Type = [IntType] int -# 1765| ValueCategory = prvalue(load) -# 1765| getRightOperand(): [Literal] 1 -# 1765| Type = [IntType] int -# 1765| Value = [Literal] 1 -# 1765| ValueCategory = prvalue -# 1765| getThen(): [BlockStmt] { ... } -# 1766| getStmt(0): [ExprStmt] ExprStmt -# 1766| getExpr(): [AssignExpr] ... = ... -# 1766| Type = [IntType] int -# 1766| ValueCategory = lvalue -# 1766| getLValue(): [VariableAccess] x -# 1766| Type = [IntType] int -# 1766| ValueCategory = lvalue -# 1766| getRValue(): [AddExpr] ... + ... -# 1766| Type = [IntType] int -# 1766| ValueCategory = prvalue -# 1766| getLeftOperand(): [VariableAccess] x -# 1766| Type = [IntType] int -# 1766| ValueCategory = prvalue(load) -# 1766| getRightOperand(): [VariableAccess] w -# 1766| Type = [IntType] int -# 1766| ValueCategory = prvalue(load) -# 1765| getCondition().getFullyConverted(): [CStyleCast] (bool)... -# 1765| Conversion = [BoolConversion] conversion to bool -# 1765| Type = [BoolType] bool -# 1765| ValueCategory = prvalue -# 1769| getStmt(3): [IfStmt] if (...) ... -# 1769| getInitialization(): [ExprStmt] ExprStmt -# 1769| getExpr(): [AssignExpr] ... = ... -# 1769| Type = [IntType] int -# 1769| ValueCategory = lvalue -# 1769| getLValue(): [VariableAccess] w -# 1769| Type = [IntType] int -# 1769| ValueCategory = lvalue -# 1769| getRValue(): [VariableAccess] x -# 1769| Type = [IntType] int -# 1769| ValueCategory = prvalue(load) -# 1769| getCondition(): [ConditionDeclExpr] (condition decl) -# 1769| Type = [BoolType] bool -# 1769| ValueCategory = prvalue -# 1769| getVariableAccess(): [VariableAccess] w2 -# 1769| Type = [IntType] int -# 1769| ValueCategory = prvalue(load) -# 1769| getVariableAccess().getFullyConverted(): [CStyleCast] (bool)... -# 1769| Conversion = [BoolConversion] conversion to bool -# 1769| Type = [BoolType] bool -# 1769| ValueCategory = prvalue -# 1769| getThen(): [BlockStmt] { ... } -# 1770| getStmt(0): [ExprStmt] ExprStmt -# 1770| getExpr(): [AssignExpr] ... = ... -# 1770| Type = [IntType] int -# 1770| ValueCategory = lvalue -# 1770| getLValue(): [VariableAccess] x -# 1770| Type = [IntType] int -# 1770| ValueCategory = lvalue -# 1770| getRValue(): [AddExpr] ... + ... -# 1770| Type = [IntType] int -# 1770| ValueCategory = prvalue -# 1770| getLeftOperand(): [VariableAccess] x -# 1770| Type = [IntType] int -# 1770| ValueCategory = prvalue(load) -# 1770| getRightOperand(): [VariableAccess] w -# 1770| Type = [IntType] int -# 1770| ValueCategory = prvalue(load) -# 1773| getStmt(4): [IfStmt] if (...) ... -# 1773| getInitialization(): [DeclStmt] declaration -# 1773| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v -# 1773| Type = [IntType] int -# 1773| getVariable().getInitializer(): [Initializer] initializer for v -# 1773| getExpr(): [VariableAccess] x -# 1773| Type = [IntType] int -# 1773| ValueCategory = prvalue(load) -# 1773| getCondition(): [ConditionDeclExpr] (condition decl) -# 1773| Type = [BoolType] bool -# 1773| ValueCategory = prvalue -# 1773| getVariableAccess(): [VariableAccess] v2 -# 1773| Type = [IntType] int -# 1773| ValueCategory = prvalue(load) -# 1773| getVariableAccess().getFullyConverted(): [CStyleCast] (bool)... -# 1773| Conversion = [BoolConversion] conversion to bool -# 1773| Type = [BoolType] bool -# 1773| ValueCategory = prvalue -# 1773| getThen(): [BlockStmt] { ... } -# 1774| getStmt(0): [ExprStmt] ExprStmt -# 1774| getExpr(): [AssignExpr] ... = ... -# 1774| Type = [IntType] int -# 1774| ValueCategory = lvalue -# 1774| getLValue(): [VariableAccess] x -# 1774| Type = [IntType] int -# 1774| ValueCategory = lvalue -# 1774| getRValue(): [AddExpr] ... + ... -# 1774| Type = [IntType] int -# 1774| ValueCategory = prvalue -# 1774| getLeftOperand(): [VariableAccess] x -# 1774| Type = [IntType] int -# 1774| ValueCategory = prvalue(load) -# 1774| getRightOperand(): [VariableAccess] v -# 1774| Type = [IntType] int -# 1774| ValueCategory = prvalue(load) -# 1777| getStmt(5): [DeclStmt] declaration -# 1777| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z -# 1777| Type = [IntType] int -# 1777| getVariable().getInitializer(): [Initializer] initializer for z -# 1777| getExpr(): [VariableAccess] x -# 1777| Type = [IntType] int -# 1777| ValueCategory = prvalue(load) -# 1778| getStmt(6): [IfStmt] if (...) ... -# 1778| getCondition(): [VariableAccess] z -# 1778| Type = [IntType] int -# 1778| ValueCategory = prvalue(load) -# 1778| getThen(): [BlockStmt] { ... } -# 1779| getStmt(0): [ExprStmt] ExprStmt -# 1779| getExpr(): [AssignExpr] ... = ... -# 1779| Type = [IntType] int -# 1779| ValueCategory = lvalue -# 1779| getLValue(): [VariableAccess] x -# 1779| Type = [IntType] int -# 1779| ValueCategory = lvalue -# 1779| getRValue(): [AddExpr] ... + ... -# 1779| Type = [IntType] int -# 1779| ValueCategory = prvalue -# 1779| getLeftOperand(): [VariableAccess] x -# 1779| Type = [IntType] int -# 1779| ValueCategory = prvalue(load) -# 1779| getRightOperand(): [VariableAccess] z -# 1779| Type = [IntType] int -# 1779| ValueCategory = prvalue(load) -# 1778| getCondition().getFullyConverted(): [CStyleCast] (bool)... -# 1778| Conversion = [BoolConversion] conversion to bool -# 1778| Type = [BoolType] bool -# 1778| ValueCategory = prvalue -# 1782| getStmt(7): [IfStmt] if (...) ... -# 1782| getCondition(): [ConditionDeclExpr] (condition decl) -# 1782| Type = [BoolType] bool -# 1782| ValueCategory = prvalue -# 1782| getVariableAccess(): [VariableAccess] z2 -# 1782| Type = [IntType] int -# 1782| ValueCategory = prvalue(load) -# 1782| getVariableAccess().getFullyConverted(): [CStyleCast] (bool)... -# 1782| Conversion = [BoolConversion] conversion to bool -# 1782| Type = [BoolType] bool -# 1782| ValueCategory = prvalue -# 1782| getThen(): [BlockStmt] { ... } -# 1783| getStmt(0): [ExprStmt] ExprStmt -# 1783| getExpr(): [AssignAddExpr] ... += ... -# 1783| Type = [IntType] int -# 1783| ValueCategory = lvalue -# 1783| getLValue(): [VariableAccess] x -# 1783| Type = [IntType] int -# 1783| ValueCategory = lvalue -# 1783| getRValue(): [VariableAccess] z2 -# 1783| Type = [IntType] int -# 1783| ValueCategory = prvalue(load) -# 1785| getStmt(8): [ReturnStmt] return ... -# 1787| [TopLevelFunction] void switch_initialization(int) -# 1787| : -# 1787| getParameter(0): [Parameter] x -# 1787| Type = [IntType] int -# 1787| getEntryPoint(): [BlockStmt] { ... } -# 1788| getStmt(0): [SwitchStmt] switch (...) ... -# 1788| getInitialization(): [DeclStmt] declaration -# 1788| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 1788| Type = [IntType] int -# 1788| getVariable().getInitializer(): [Initializer] initializer for y -# 1788| getExpr(): [VariableAccess] x -# 1788| Type = [IntType] int -# 1788| ValueCategory = prvalue(load) -# 1788| getExpr(): [AddExpr] ... + ... -# 1788| Type = [IntType] int -# 1788| ValueCategory = prvalue -# 1788| getLeftOperand(): [VariableAccess] x -# 1788| Type = [IntType] int -# 1788| ValueCategory = prvalue(load) -# 1788| getRightOperand(): [Literal] 1 -# 1788| Type = [IntType] int -# 1788| Value = [Literal] 1 -# 1788| ValueCategory = prvalue -# 1788| getStmt(): [BlockStmt] { ... } -# 1789| getStmt(0): [SwitchCase] default: -# 1790| getStmt(1): [ExprStmt] ExprStmt -# 1790| getExpr(): [AssignExpr] ... = ... -# 1790| Type = [IntType] int -# 1790| ValueCategory = lvalue -# 1790| getLValue(): [VariableAccess] x -# 1790| Type = [IntType] int -# 1790| ValueCategory = lvalue -# 1790| getRValue(): [AddExpr] ... + ... -# 1790| Type = [IntType] int -# 1790| ValueCategory = prvalue -# 1790| getLeftOperand(): [VariableAccess] x -# 1790| Type = [IntType] int -# 1790| ValueCategory = prvalue(load) -# 1790| getRightOperand(): [VariableAccess] y -# 1790| Type = [IntType] int -# 1790| ValueCategory = prvalue(load) -# 1793| getStmt(1): [DeclStmt] declaration -# 1793| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w -# 1793| Type = [IntType] int -# 1794| getStmt(2): [SwitchStmt] switch (...) ... -# 1794| getInitialization(): [ExprStmt] ExprStmt -# 1794| getExpr(): [AssignExpr] ... = ... -# 1794| Type = [IntType] int -# 1794| ValueCategory = lvalue -# 1794| getLValue(): [VariableAccess] w -# 1794| Type = [IntType] int -# 1794| ValueCategory = lvalue -# 1794| getRValue(): [VariableAccess] x -# 1794| Type = [IntType] int -# 1794| ValueCategory = prvalue(load) -# 1794| getExpr(): [AddExpr] ... + ... -# 1794| Type = [IntType] int -# 1794| ValueCategory = prvalue -# 1794| getLeftOperand(): [VariableAccess] x -# 1794| Type = [IntType] int -# 1794| ValueCategory = prvalue(load) -# 1794| getRightOperand(): [Literal] 1 -# 1794| Type = [IntType] int -# 1794| Value = [Literal] 1 -# 1794| ValueCategory = prvalue -# 1794| getStmt(): [BlockStmt] { ... } -# 1795| getStmt(0): [SwitchCase] default: -# 1796| getStmt(1): [ExprStmt] ExprStmt -# 1796| getExpr(): [AssignExpr] ... = ... -# 1796| Type = [IntType] int -# 1796| ValueCategory = lvalue -# 1796| getLValue(): [VariableAccess] x -# 1796| Type = [IntType] int -# 1796| ValueCategory = lvalue -# 1796| getRValue(): [AddExpr] ... + ... -# 1796| Type = [IntType] int -# 1796| ValueCategory = prvalue -# 1796| getLeftOperand(): [VariableAccess] x -# 1796| Type = [IntType] int -# 1796| ValueCategory = prvalue(load) -# 1796| getRightOperand(): [VariableAccess] w -# 1796| Type = [IntType] int -# 1796| ValueCategory = prvalue(load) -# 1799| getStmt(3): [SwitchStmt] switch (...) ... -# 1799| getInitialization(): [ExprStmt] ExprStmt -# 1799| getExpr(): [AssignExpr] ... = ... -# 1799| Type = [IntType] int -# 1799| ValueCategory = lvalue -# 1799| getLValue(): [VariableAccess] w -# 1799| Type = [IntType] int -# 1799| ValueCategory = lvalue -# 1799| getRValue(): [VariableAccess] x -# 1799| Type = [IntType] int -# 1799| ValueCategory = prvalue(load) -# 1799| getExpr(): [ConditionDeclExpr] (condition decl) -# 1799| Type = [IntType] int -# 1799| ValueCategory = prvalue -# 1799| getVariableAccess(): [VariableAccess] w2 -# 1799| Type = [IntType] int -# 1799| ValueCategory = prvalue(load) -# 1799| getStmt(): [BlockStmt] { ... } -# 1800| getStmt(0): [SwitchCase] default: -# 1801| getStmt(1): [ExprStmt] ExprStmt -# 1801| getExpr(): [AssignExpr] ... = ... -# 1801| Type = [IntType] int -# 1801| ValueCategory = lvalue -# 1801| getLValue(): [VariableAccess] x -# 1801| Type = [IntType] int -# 1801| ValueCategory = lvalue -# 1801| getRValue(): [AddExpr] ... + ... -# 1801| Type = [IntType] int -# 1801| ValueCategory = prvalue -# 1801| getLeftOperand(): [VariableAccess] x -# 1801| Type = [IntType] int -# 1801| ValueCategory = prvalue(load) -# 1801| getRightOperand(): [VariableAccess] w -# 1801| Type = [IntType] int -# 1801| ValueCategory = prvalue(load) -# 1804| getStmt(4): [SwitchStmt] switch (...) ... -# 1804| getInitialization(): [DeclStmt] declaration -# 1804| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v -# 1804| Type = [IntType] int -# 1804| getVariable().getInitializer(): [Initializer] initializer for v -# 1804| getExpr(): [VariableAccess] x -# 1804| Type = [IntType] int -# 1804| ValueCategory = prvalue(load) -# 1804| getExpr(): [ConditionDeclExpr] (condition decl) -# 1804| Type = [IntType] int -# 1804| ValueCategory = prvalue -# 1804| getVariableAccess(): [VariableAccess] v2 -# 1804| Type = [IntType] int -# 1804| ValueCategory = prvalue(load) -# 1804| getStmt(): [BlockStmt] { ... } -# 1805| getStmt(0): [SwitchCase] default: -# 1806| getStmt(1): [ExprStmt] ExprStmt -# 1806| getExpr(): [AssignExpr] ... = ... -# 1806| Type = [IntType] int -# 1806| ValueCategory = lvalue -# 1806| getLValue(): [VariableAccess] x -# 1806| Type = [IntType] int -# 1806| ValueCategory = lvalue -# 1806| getRValue(): [AddExpr] ... + ... -# 1806| Type = [IntType] int -# 1806| ValueCategory = prvalue -# 1806| getLeftOperand(): [VariableAccess] x -# 1806| Type = [IntType] int -# 1806| ValueCategory = prvalue(load) -# 1806| getRightOperand(): [VariableAccess] v -# 1806| Type = [IntType] int -# 1806| ValueCategory = prvalue(load) -# 1809| getStmt(5): [DeclStmt] declaration -# 1809| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z -# 1809| Type = [IntType] int -# 1809| getVariable().getInitializer(): [Initializer] initializer for z -# 1809| getExpr(): [VariableAccess] x -# 1809| Type = [IntType] int -# 1809| ValueCategory = prvalue(load) -# 1810| getStmt(6): [SwitchStmt] switch (...) ... -# 1810| getExpr(): [VariableAccess] z -# 1810| Type = [IntType] int -# 1810| ValueCategory = prvalue(load) -# 1810| getStmt(): [BlockStmt] { ... } -# 1811| getStmt(0): [SwitchCase] default: -# 1812| getStmt(1): [ExprStmt] ExprStmt -# 1812| getExpr(): [AssignExpr] ... = ... +# 1796| [Constructor] void CopyConstructorTestVirtualClass::CopyConstructorTestVirtualClass() +# 1796| : +# 1796| : +# 1796| getInitializer(0): [ConstructorVirtualInit] call to CopyConstructorWithImplicitArgumentClass +# 1796| Type = [VoidType] void +# 1796| ValueCategory = prvalue +# 1796| getInitializer(1): [ConstructorVirtualInit] call to CopyConstructorWithBitwiseCopyClass +# 1796| Type = [VoidType] void +# 1796| ValueCategory = prvalue +# 1796| getEntryPoint(): [BlockStmt] { ... } +# 1796| getStmt(0): [ReturnStmt] return ... +# 1799| [TopLevelFunction] int implicit_copy_constructor_test(CopyConstructorTestNonVirtualClass const&, CopyConstructorTestVirtualClass const&) +# 1799| : +# 1800| getParameter(0): [Parameter] x +# 1800| Type = [LValueReferenceType] const CopyConstructorTestNonVirtualClass & +# 1801| getParameter(1): [Parameter] y +# 1801| Type = [LValueReferenceType] const CopyConstructorTestVirtualClass & +# 1801| getEntryPoint(): [BlockStmt] { ... } +# 1802| getStmt(0): [DeclStmt] declaration +# 1802| getDeclarationEntry(0): [VariableDeclarationEntry] definition of cx +# 1802| Type = [Class] CopyConstructorTestNonVirtualClass +# 1802| getVariable().getInitializer(): [Initializer] initializer for cx +# 1802| getExpr(): [ConstructorCall] call to CopyConstructorTestNonVirtualClass +# 1802| Type = [VoidType] void +# 1802| ValueCategory = prvalue +# 1802| getArgument(0): [VariableAccess] x +# 1802| Type = [LValueReferenceType] const CopyConstructorTestNonVirtualClass & +# 1802| ValueCategory = prvalue(load) +# 1802| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 1802| Type = [LValueReferenceType] const CopyConstructorTestNonVirtualClass & +# 1802| ValueCategory = prvalue +# 1802| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1802| Type = [SpecifiedType] const CopyConstructorTestNonVirtualClass +# 1802| ValueCategory = lvalue +# 1803| getStmt(1): [DeclStmt] declaration +# 1803| getDeclarationEntry(0): [VariableDeclarationEntry] definition of cy +# 1803| Type = [Class] CopyConstructorTestVirtualClass +# 1803| getVariable().getInitializer(): [Initializer] initializer for cy +# 1803| getExpr(): [ConstructorCall] call to CopyConstructorTestVirtualClass +# 1803| Type = [VoidType] void +# 1803| ValueCategory = prvalue +# 1803| getArgument(0): [VariableAccess] y +# 1803| Type = [LValueReferenceType] const CopyConstructorTestVirtualClass & +# 1803| ValueCategory = prvalue(load) +# 1803| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 1803| Type = [LValueReferenceType] const CopyConstructorTestVirtualClass & +# 1803| ValueCategory = prvalue +# 1803| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1803| Type = [SpecifiedType] const CopyConstructorTestVirtualClass +# 1803| ValueCategory = lvalue +# 1804| getStmt(2): [ReturnStmt] return ... +# 1806| [TopLevelFunction] void if_initialization(int) +# 1806| : +# 1806| getParameter(0): [Parameter] x +# 1806| Type = [IntType] int +# 1806| getEntryPoint(): [BlockStmt] { ... } +# 1807| getStmt(0): [IfStmt] if (...) ... +# 1807| getInitialization(): [DeclStmt] declaration +# 1807| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 1807| Type = [IntType] int +# 1807| getVariable().getInitializer(): [Initializer] initializer for y +# 1807| getExpr(): [VariableAccess] x +# 1807| Type = [IntType] int +# 1807| ValueCategory = prvalue(load) +# 1807| getCondition(): [AddExpr] ... + ... +# 1807| Type = [IntType] int +# 1807| ValueCategory = prvalue +# 1807| getLeftOperand(): [VariableAccess] x +# 1807| Type = [IntType] int +# 1807| ValueCategory = prvalue(load) +# 1807| getRightOperand(): [Literal] 1 +# 1807| Type = [IntType] int +# 1807| Value = [Literal] 1 +# 1807| ValueCategory = prvalue +# 1807| getThen(): [BlockStmt] { ... } +# 1808| getStmt(0): [ExprStmt] ExprStmt +# 1808| getExpr(): [AssignExpr] ... = ... +# 1808| Type = [IntType] int +# 1808| ValueCategory = lvalue +# 1808| getLValue(): [VariableAccess] x +# 1808| Type = [IntType] int +# 1808| ValueCategory = lvalue +# 1808| getRValue(): [AddExpr] ... + ... +# 1808| Type = [IntType] int +# 1808| ValueCategory = prvalue +# 1808| getLeftOperand(): [VariableAccess] x +# 1808| Type = [IntType] int +# 1808| ValueCategory = prvalue(load) +# 1808| getRightOperand(): [VariableAccess] y +# 1808| Type = [IntType] int +# 1808| ValueCategory = prvalue(load) +# 1807| getCondition().getFullyConverted(): [CStyleCast] (bool)... +# 1807| Conversion = [BoolConversion] conversion to bool +# 1807| Type = [BoolType] bool +# 1807| ValueCategory = prvalue +# 1811| getStmt(1): [DeclStmt] declaration +# 1811| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w +# 1811| Type = [IntType] int +# 1812| getStmt(2): [IfStmt] if (...) ... +# 1812| getInitialization(): [ExprStmt] ExprStmt +# 1812| getExpr(): [AssignExpr] ... = ... +# 1812| Type = [IntType] int +# 1812| ValueCategory = lvalue +# 1812| getLValue(): [VariableAccess] w # 1812| Type = [IntType] int # 1812| ValueCategory = lvalue -# 1812| getLValue(): [VariableAccess] x -# 1812| Type = [IntType] int -# 1812| ValueCategory = lvalue -# 1812| getRValue(): [AddExpr] ... + ... -# 1812| Type = [IntType] int -# 1812| ValueCategory = prvalue -# 1812| getLeftOperand(): [VariableAccess] x -# 1812| Type = [IntType] int -# 1812| ValueCategory = prvalue(load) -# 1812| getRightOperand(): [VariableAccess] z -# 1812| Type = [IntType] int -# 1812| ValueCategory = prvalue(load) -# 1815| getStmt(7): [SwitchStmt] switch (...) ... -# 1815| getExpr(): [ConditionDeclExpr] (condition decl) -# 1815| Type = [IntType] int -# 1815| ValueCategory = prvalue -# 1815| getVariableAccess(): [VariableAccess] z2 -# 1815| Type = [IntType] int -# 1815| ValueCategory = prvalue(load) -# 1815| getStmt(): [BlockStmt] { ... } -# 1816| getStmt(0): [SwitchCase] default: -# 1817| getStmt(1): [ExprStmt] ExprStmt -# 1817| getExpr(): [AssignAddExpr] ... += ... +# 1812| getRValue(): [VariableAccess] x +# 1812| Type = [IntType] int +# 1812| ValueCategory = prvalue(load) +# 1812| getCondition(): [AddExpr] ... + ... +# 1812| Type = [IntType] int +# 1812| ValueCategory = prvalue +# 1812| getLeftOperand(): [VariableAccess] x +# 1812| Type = [IntType] int +# 1812| ValueCategory = prvalue(load) +# 1812| getRightOperand(): [Literal] 1 +# 1812| Type = [IntType] int +# 1812| Value = [Literal] 1 +# 1812| ValueCategory = prvalue +# 1812| getThen(): [BlockStmt] { ... } +# 1813| getStmt(0): [ExprStmt] ExprStmt +# 1813| getExpr(): [AssignExpr] ... = ... +# 1813| Type = [IntType] int +# 1813| ValueCategory = lvalue +# 1813| getLValue(): [VariableAccess] x +# 1813| Type = [IntType] int +# 1813| ValueCategory = lvalue +# 1813| getRValue(): [AddExpr] ... + ... +# 1813| Type = [IntType] int +# 1813| ValueCategory = prvalue +# 1813| getLeftOperand(): [VariableAccess] x +# 1813| Type = [IntType] int +# 1813| ValueCategory = prvalue(load) +# 1813| getRightOperand(): [VariableAccess] w +# 1813| Type = [IntType] int +# 1813| ValueCategory = prvalue(load) +# 1812| getCondition().getFullyConverted(): [CStyleCast] (bool)... +# 1812| Conversion = [BoolConversion] conversion to bool +# 1812| Type = [BoolType] bool +# 1812| ValueCategory = prvalue +# 1816| getStmt(3): [IfStmt] if (...) ... +# 1816| getInitialization(): [ExprStmt] ExprStmt +# 1816| getExpr(): [AssignExpr] ... = ... +# 1816| Type = [IntType] int +# 1816| ValueCategory = lvalue +# 1816| getLValue(): [VariableAccess] w +# 1816| Type = [IntType] int +# 1816| ValueCategory = lvalue +# 1816| getRValue(): [VariableAccess] x +# 1816| Type = [IntType] int +# 1816| ValueCategory = prvalue(load) +# 1816| getCondition(): [ConditionDeclExpr] (condition decl) +# 1816| Type = [BoolType] bool +# 1816| ValueCategory = prvalue +# 1816| getVariableAccess(): [VariableAccess] w2 +# 1816| Type = [IntType] int +# 1816| ValueCategory = prvalue(load) +# 1816| getInitializingExpr(): [VariableAccess] w +# 1816| Type = [IntType] int +# 1816| ValueCategory = prvalue(load) +# 1816| getVariableAccess().getFullyConverted(): [CStyleCast] (bool)... +# 1816| Conversion = [BoolConversion] conversion to bool +# 1816| Type = [BoolType] bool +# 1816| ValueCategory = prvalue +# 1816| getThen(): [BlockStmt] { ... } +# 1817| getStmt(0): [ExprStmt] ExprStmt +# 1817| getExpr(): [AssignExpr] ... = ... # 1817| Type = [IntType] int # 1817| ValueCategory = lvalue # 1817| getLValue(): [VariableAccess] x # 1817| Type = [IntType] int # 1817| ValueCategory = lvalue -# 1817| getRValue(): [VariableAccess] z2 +# 1817| getRValue(): [AddExpr] ... + ... # 1817| Type = [IntType] int -# 1817| ValueCategory = prvalue(load) -# 1819| getStmt(8): [ReturnStmt] return ... -# 1823| [GlobalVariable] int global_2 -# 1823| getInitializer(): [Initializer] initializer for global_2 -# 1823| getExpr(): [Literal] 1 -# 1823| Type = [IntType] int -# 1823| Value = [Literal] 1 -# 1823| ValueCategory = prvalue -# 1825| [GlobalVariable] int const global_3 -# 1825| getInitializer(): [Initializer] initializer for global_3 -# 1825| getExpr(): [Literal] 2 -# 1825| Type = [IntType] int -# 1825| Value = [Literal] 2 -# 1825| ValueCategory = prvalue -# 1827| [GlobalVariable] constructor_only global_4 -# 1827| getInitializer(): [Initializer] initializer for global_4 -# 1827| getExpr(): [ConstructorCall] call to constructor_only -# 1827| Type = [VoidType] void -# 1827| ValueCategory = prvalue -# 1827| getArgument(0): [Literal] 1 -# 1827| Type = [IntType] int -# 1827| Value = [Literal] 1 -# 1827| ValueCategory = prvalue -# 1829| [GlobalVariable] constructor_only global_5 -# 1829| getInitializer(): [Initializer] initializer for global_5 -# 1829| getExpr(): [ConstructorCall] call to constructor_only -# 1829| Type = [VoidType] void -# 1829| ValueCategory = prvalue -# 1829| getArgument(0): [Literal] 2 -# 1829| Type = [IntType] int -# 1829| Value = [Literal] 2 +# 1817| ValueCategory = prvalue +# 1817| getLeftOperand(): [VariableAccess] x +# 1817| Type = [IntType] int +# 1817| ValueCategory = prvalue(load) +# 1817| getRightOperand(): [VariableAccess] w +# 1817| Type = [IntType] int +# 1817| ValueCategory = prvalue(load) +# 1820| getStmt(4): [IfStmt] if (...) ... +# 1820| getInitialization(): [DeclStmt] declaration +# 1820| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v +# 1820| Type = [IntType] int +# 1820| getVariable().getInitializer(): [Initializer] initializer for v +# 1820| getExpr(): [VariableAccess] x +# 1820| Type = [IntType] int +# 1820| ValueCategory = prvalue(load) +# 1820| getCondition(): [ConditionDeclExpr] (condition decl) +# 1820| Type = [BoolType] bool +# 1820| ValueCategory = prvalue +# 1820| getVariableAccess(): [VariableAccess] v2 +# 1820| Type = [IntType] int +# 1820| ValueCategory = prvalue(load) +# 1820| getInitializingExpr(): [VariableAccess] v +# 1820| Type = [IntType] int +# 1820| ValueCategory = prvalue(load) +# 1820| getVariableAccess().getFullyConverted(): [CStyleCast] (bool)... +# 1820| Conversion = [BoolConversion] conversion to bool +# 1820| Type = [BoolType] bool +# 1820| ValueCategory = prvalue +# 1820| getThen(): [BlockStmt] { ... } +# 1821| getStmt(0): [ExprStmt] ExprStmt +# 1821| getExpr(): [AssignExpr] ... = ... +# 1821| Type = [IntType] int +# 1821| ValueCategory = lvalue +# 1821| getLValue(): [VariableAccess] x +# 1821| Type = [IntType] int +# 1821| ValueCategory = lvalue +# 1821| getRValue(): [AddExpr] ... + ... +# 1821| Type = [IntType] int +# 1821| ValueCategory = prvalue +# 1821| getLeftOperand(): [VariableAccess] x +# 1821| Type = [IntType] int +# 1821| ValueCategory = prvalue(load) +# 1821| getRightOperand(): [VariableAccess] v +# 1821| Type = [IntType] int +# 1821| ValueCategory = prvalue(load) +# 1824| getStmt(5): [DeclStmt] declaration +# 1824| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z +# 1824| Type = [IntType] int +# 1824| getVariable().getInitializer(): [Initializer] initializer for z +# 1824| getExpr(): [VariableAccess] x +# 1824| Type = [IntType] int +# 1824| ValueCategory = prvalue(load) +# 1825| getStmt(6): [IfStmt] if (...) ... +# 1825| getCondition(): [VariableAccess] z +# 1825| Type = [IntType] int +# 1825| ValueCategory = prvalue(load) +# 1825| getThen(): [BlockStmt] { ... } +# 1826| getStmt(0): [ExprStmt] ExprStmt +# 1826| getExpr(): [AssignExpr] ... = ... +# 1826| Type = [IntType] int +# 1826| ValueCategory = lvalue +# 1826| getLValue(): [VariableAccess] x +# 1826| Type = [IntType] int +# 1826| ValueCategory = lvalue +# 1826| getRValue(): [AddExpr] ... + ... +# 1826| Type = [IntType] int +# 1826| ValueCategory = prvalue +# 1826| getLeftOperand(): [VariableAccess] x +# 1826| Type = [IntType] int +# 1826| ValueCategory = prvalue(load) +# 1826| getRightOperand(): [VariableAccess] z +# 1826| Type = [IntType] int +# 1826| ValueCategory = prvalue(load) +# 1825| getCondition().getFullyConverted(): [CStyleCast] (bool)... +# 1825| Conversion = [BoolConversion] conversion to bool +# 1825| Type = [BoolType] bool +# 1825| ValueCategory = prvalue +# 1829| getStmt(7): [IfStmt] if (...) ... +# 1829| getCondition(): [ConditionDeclExpr] (condition decl) +# 1829| Type = [BoolType] bool # 1829| ValueCategory = prvalue -# 1831| [GlobalVariable] char* global_string -# 1831| getInitializer(): [Initializer] initializer for global_string -# 1831| getExpr(): global string -# 1831| Type = [ArrayType] const char[14] -# 1831| Value = [StringLiteral] "global string" -# 1831| ValueCategory = lvalue -# 1831| getExpr().getFullyConverted(): [CStyleCast] (char *)... -# 1831| Conversion = [PointerConversion] pointer conversion -# 1831| Type = [CharPointerType] char * -# 1831| ValueCategory = prvalue -# 1831| getExpr(): [ArrayToPointerConversion] array to pointer conversion -# 1831| Type = [PointerType] const char * -# 1831| ValueCategory = prvalue -# 1833| [GlobalVariable] int global_6 -# 1833| getInitializer(): [Initializer] initializer for global_6 -# 1833| getExpr(): [VariableAccess] global_2 -# 1833| Type = [IntType] int -# 1833| ValueCategory = prvalue(load) -# 1836| [CopyAssignmentOperator] block_assignment::A& block_assignment::A::operator=(block_assignment::A const&) -# 1836| : +# 1829| getVariableAccess(): [VariableAccess] z2 +# 1829| Type = [IntType] int +# 1829| ValueCategory = prvalue(load) +# 1829| getInitializingExpr(): [VariableAccess] z +# 1829| Type = [IntType] int +# 1829| ValueCategory = prvalue(load) +# 1829| getVariableAccess().getFullyConverted(): [CStyleCast] (bool)... +# 1829| Conversion = [BoolConversion] conversion to bool +# 1829| Type = [BoolType] bool +# 1829| ValueCategory = prvalue +# 1829| getThen(): [BlockStmt] { ... } +# 1830| getStmt(0): [ExprStmt] ExprStmt +# 1830| getExpr(): [AssignAddExpr] ... += ... +# 1830| Type = [IntType] int +# 1830| ValueCategory = lvalue +# 1830| getLValue(): [VariableAccess] x +# 1830| Type = [IntType] int +# 1830| ValueCategory = lvalue +# 1830| getRValue(): [VariableAccess] z2 +# 1830| Type = [IntType] int +# 1830| ValueCategory = prvalue(load) +# 1832| getStmt(8): [ReturnStmt] return ... +# 1834| [TopLevelFunction] void switch_initialization(int) +# 1834| : +# 1834| getParameter(0): [Parameter] x +# 1834| Type = [IntType] int +# 1834| getEntryPoint(): [BlockStmt] { ... } +# 1835| getStmt(0): [SwitchStmt] switch (...) ... +# 1835| getInitialization(): [DeclStmt] declaration +# 1835| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 1835| Type = [IntType] int +# 1835| getVariable().getInitializer(): [Initializer] initializer for y +# 1835| getExpr(): [VariableAccess] x +# 1835| Type = [IntType] int +# 1835| ValueCategory = prvalue(load) +# 1835| getExpr(): [AddExpr] ... + ... +# 1835| Type = [IntType] int +# 1835| ValueCategory = prvalue +# 1835| getLeftOperand(): [VariableAccess] x +# 1835| Type = [IntType] int +# 1835| ValueCategory = prvalue(load) +# 1835| getRightOperand(): [Literal] 1 +# 1835| Type = [IntType] int +# 1835| Value = [Literal] 1 +# 1835| ValueCategory = prvalue +# 1835| getStmt(): [BlockStmt] { ... } +# 1836| getStmt(0): [SwitchCase] default: +# 1837| getStmt(1): [ExprStmt] ExprStmt +# 1837| getExpr(): [AssignExpr] ... = ... +# 1837| Type = [IntType] int +# 1837| ValueCategory = lvalue +# 1837| getLValue(): [VariableAccess] x +# 1837| Type = [IntType] int +# 1837| ValueCategory = lvalue +# 1837| getRValue(): [AddExpr] ... + ... +# 1837| Type = [IntType] int +# 1837| ValueCategory = prvalue +# 1837| getLeftOperand(): [VariableAccess] x +# 1837| Type = [IntType] int +# 1837| ValueCategory = prvalue(load) +# 1837| getRightOperand(): [VariableAccess] y +# 1837| Type = [IntType] int +# 1837| ValueCategory = prvalue(load) +# 1840| getStmt(1): [DeclStmt] declaration +# 1840| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w +# 1840| Type = [IntType] int +# 1841| getStmt(2): [SwitchStmt] switch (...) ... +# 1841| getInitialization(): [ExprStmt] ExprStmt +# 1841| getExpr(): [AssignExpr] ... = ... +# 1841| Type = [IntType] int +# 1841| ValueCategory = lvalue +# 1841| getLValue(): [VariableAccess] w +# 1841| Type = [IntType] int +# 1841| ValueCategory = lvalue +# 1841| getRValue(): [VariableAccess] x +# 1841| Type = [IntType] int +# 1841| ValueCategory = prvalue(load) +# 1841| getExpr(): [AddExpr] ... + ... +# 1841| Type = [IntType] int +# 1841| ValueCategory = prvalue +# 1841| getLeftOperand(): [VariableAccess] x +# 1841| Type = [IntType] int +# 1841| ValueCategory = prvalue(load) +# 1841| getRightOperand(): [Literal] 1 +# 1841| Type = [IntType] int +# 1841| Value = [Literal] 1 +# 1841| ValueCategory = prvalue +# 1841| getStmt(): [BlockStmt] { ... } +# 1842| getStmt(0): [SwitchCase] default: +# 1843| getStmt(1): [ExprStmt] ExprStmt +# 1843| getExpr(): [AssignExpr] ... = ... +# 1843| Type = [IntType] int +# 1843| ValueCategory = lvalue +# 1843| getLValue(): [VariableAccess] x +# 1843| Type = [IntType] int +# 1843| ValueCategory = lvalue +# 1843| getRValue(): [AddExpr] ... + ... +# 1843| Type = [IntType] int +# 1843| ValueCategory = prvalue +# 1843| getLeftOperand(): [VariableAccess] x +# 1843| Type = [IntType] int +# 1843| ValueCategory = prvalue(load) +# 1843| getRightOperand(): [VariableAccess] w +# 1843| Type = [IntType] int +# 1843| ValueCategory = prvalue(load) +# 1846| getStmt(3): [SwitchStmt] switch (...) ... +# 1846| getInitialization(): [ExprStmt] ExprStmt +# 1846| getExpr(): [AssignExpr] ... = ... +# 1846| Type = [IntType] int +# 1846| ValueCategory = lvalue +# 1846| getLValue(): [VariableAccess] w +# 1846| Type = [IntType] int +# 1846| ValueCategory = lvalue +# 1846| getRValue(): [VariableAccess] x +# 1846| Type = [IntType] int +# 1846| ValueCategory = prvalue(load) +# 1846| getExpr(): [ConditionDeclExpr] (condition decl) +# 1846| Type = [IntType] int +# 1846| ValueCategory = prvalue +# 1846| getVariableAccess(): [VariableAccess] w2 +# 1846| Type = [IntType] int +# 1846| ValueCategory = prvalue(load) +# 1846| getInitializingExpr(): [VariableAccess] w +# 1846| Type = [IntType] int +# 1846| ValueCategory = prvalue(load) +# 1846| getStmt(): [BlockStmt] { ... } +# 1847| getStmt(0): [SwitchCase] default: +# 1848| getStmt(1): [ExprStmt] ExprStmt +# 1848| getExpr(): [AssignExpr] ... = ... +# 1848| Type = [IntType] int +# 1848| ValueCategory = lvalue +# 1848| getLValue(): [VariableAccess] x +# 1848| Type = [IntType] int +# 1848| ValueCategory = lvalue +# 1848| getRValue(): [AddExpr] ... + ... +# 1848| Type = [IntType] int +# 1848| ValueCategory = prvalue +# 1848| getLeftOperand(): [VariableAccess] x +# 1848| Type = [IntType] int +# 1848| ValueCategory = prvalue(load) +# 1848| getRightOperand(): [VariableAccess] w +# 1848| Type = [IntType] int +# 1848| ValueCategory = prvalue(load) +# 1851| getStmt(4): [SwitchStmt] switch (...) ... +# 1851| getInitialization(): [DeclStmt] declaration +# 1851| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v +# 1851| Type = [IntType] int +# 1851| getVariable().getInitializer(): [Initializer] initializer for v +# 1851| getExpr(): [VariableAccess] x +# 1851| Type = [IntType] int +# 1851| ValueCategory = prvalue(load) +# 1851| getExpr(): [ConditionDeclExpr] (condition decl) +# 1851| Type = [IntType] int +# 1851| ValueCategory = prvalue +# 1851| getVariableAccess(): [VariableAccess] v2 +# 1851| Type = [IntType] int +# 1851| ValueCategory = prvalue(load) +# 1851| getInitializingExpr(): [VariableAccess] v +# 1851| Type = [IntType] int +# 1851| ValueCategory = prvalue(load) +# 1851| getStmt(): [BlockStmt] { ... } +# 1852| getStmt(0): [SwitchCase] default: +# 1853| getStmt(1): [ExprStmt] ExprStmt +# 1853| getExpr(): [AssignExpr] ... = ... +# 1853| Type = [IntType] int +# 1853| ValueCategory = lvalue +# 1853| getLValue(): [VariableAccess] x +# 1853| Type = [IntType] int +# 1853| ValueCategory = lvalue +# 1853| getRValue(): [AddExpr] ... + ... +# 1853| Type = [IntType] int +# 1853| ValueCategory = prvalue +# 1853| getLeftOperand(): [VariableAccess] x +# 1853| Type = [IntType] int +# 1853| ValueCategory = prvalue(load) +# 1853| getRightOperand(): [VariableAccess] v +# 1853| Type = [IntType] int +# 1853| ValueCategory = prvalue(load) +# 1856| getStmt(5): [DeclStmt] declaration +# 1856| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z +# 1856| Type = [IntType] int +# 1856| getVariable().getInitializer(): [Initializer] initializer for z +# 1856| getExpr(): [VariableAccess] x +# 1856| Type = [IntType] int +# 1856| ValueCategory = prvalue(load) +# 1857| getStmt(6): [SwitchStmt] switch (...) ... +# 1857| getExpr(): [VariableAccess] z +# 1857| Type = [IntType] int +# 1857| ValueCategory = prvalue(load) +# 1857| getStmt(): [BlockStmt] { ... } +# 1858| getStmt(0): [SwitchCase] default: +# 1859| getStmt(1): [ExprStmt] ExprStmt +# 1859| getExpr(): [AssignExpr] ... = ... +# 1859| Type = [IntType] int +# 1859| ValueCategory = lvalue +# 1859| getLValue(): [VariableAccess] x +# 1859| Type = [IntType] int +# 1859| ValueCategory = lvalue +# 1859| getRValue(): [AddExpr] ... + ... +# 1859| Type = [IntType] int +# 1859| ValueCategory = prvalue +# 1859| getLeftOperand(): [VariableAccess] x +# 1859| Type = [IntType] int +# 1859| ValueCategory = prvalue(load) +# 1859| getRightOperand(): [VariableAccess] z +# 1859| Type = [IntType] int +# 1859| ValueCategory = prvalue(load) +# 1862| getStmt(7): [SwitchStmt] switch (...) ... +# 1862| getExpr(): [ConditionDeclExpr] (condition decl) +# 1862| Type = [IntType] int +# 1862| ValueCategory = prvalue +# 1862| getVariableAccess(): [VariableAccess] z2 +# 1862| Type = [IntType] int +# 1862| ValueCategory = prvalue(load) +# 1862| getInitializingExpr(): [VariableAccess] z +# 1862| Type = [IntType] int +# 1862| ValueCategory = prvalue(load) +# 1862| getStmt(): [BlockStmt] { ... } +# 1863| getStmt(0): [SwitchCase] default: +# 1864| getStmt(1): [ExprStmt] ExprStmt +# 1864| getExpr(): [AssignAddExpr] ... += ... +# 1864| Type = [IntType] int +# 1864| ValueCategory = lvalue +# 1864| getLValue(): [VariableAccess] x +# 1864| Type = [IntType] int +# 1864| ValueCategory = lvalue +# 1864| getRValue(): [VariableAccess] z2 +# 1864| Type = [IntType] int +# 1864| ValueCategory = prvalue(load) +# 1866| getStmt(8): [ReturnStmt] return ... +# 1870| [GlobalVariable] int global_2 +# 1870| getInitializer(): [Initializer] initializer for global_2 +# 1870| getExpr(): [Literal] 1 +# 1870| Type = [IntType] int +# 1870| Value = [Literal] 1 +# 1870| ValueCategory = prvalue +# 1872| [GlobalVariable] int const global_3 +# 1872| getInitializer(): [Initializer] initializer for global_3 +# 1872| getExpr(): [Literal] 2 +# 1872| Type = [IntType] int +# 1872| Value = [Literal] 2 +# 1872| ValueCategory = prvalue +# 1874| [GlobalVariable] constructor_only global_4 +# 1874| getInitializer(): [Initializer] initializer for global_4 +# 1874| getExpr(): [ConstructorCall] call to constructor_only +# 1874| Type = [VoidType] void +# 1874| ValueCategory = prvalue +# 1874| getArgument(0): [Literal] 1 +# 1874| Type = [IntType] int +# 1874| Value = [Literal] 1 +# 1874| ValueCategory = prvalue +# 1876| [GlobalVariable] constructor_only global_5 +# 1876| getInitializer(): [Initializer] initializer for global_5 +# 1876| getExpr(): [ConstructorCall] call to constructor_only +# 1876| Type = [VoidType] void +# 1876| ValueCategory = prvalue +# 1876| getArgument(0): [Literal] 2 +# 1876| Type = [IntType] int +# 1876| Value = [Literal] 2 +# 1876| ValueCategory = prvalue +# 1878| [GlobalVariable] char* global_string +# 1878| getInitializer(): [Initializer] initializer for global_string +# 1878| getExpr(): global string +# 1878| Type = [ArrayType] const char[14] +# 1878| Value = [StringLiteral] "global string" +# 1878| ValueCategory = lvalue +# 1878| getExpr().getFullyConverted(): [CStyleCast] (char *)... +# 1878| Conversion = [PointerConversion] pointer conversion +# 1878| Type = [CharPointerType] char * +# 1878| ValueCategory = prvalue +# 1878| getExpr(): [ArrayToPointerConversion] array to pointer conversion +# 1878| Type = [PointerType] const char * +# 1878| ValueCategory = prvalue +# 1880| [GlobalVariable] int global_6 +# 1880| getInitializer(): [Initializer] initializer for global_6 +# 1880| getExpr(): [VariableAccess] global_2 +# 1880| Type = [IntType] int +# 1880| ValueCategory = prvalue(load) +# 1883| [CopyAssignmentOperator] block_assignment::A& block_assignment::A::operator=(block_assignment::A const&) +# 1883| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const A & -# 1836| [MoveAssignmentOperator] block_assignment::A& block_assignment::A::operator=(block_assignment::A&&) -# 1836| : +# 1883| [MoveAssignmentOperator] block_assignment::A& block_assignment::A::operator=(block_assignment::A&&) +# 1883| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] A && #-----| getEntryPoint(): [BlockStmt] { ... } @@ -14472,43 +15242,43 @@ ir.cpp: #-----| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) #-----| Type = [LValueReferenceType] A & #-----| ValueCategory = prvalue -# 1836| [Constructor] void block_assignment::A::A() -# 1836| : -# 1836| [CopyConstructor] void block_assignment::A::A(block_assignment::A const&) -# 1836| : +# 1883| [Constructor] void block_assignment::A::A() +# 1883| : +# 1883| [CopyConstructor] void block_assignment::A::A(block_assignment::A const&) +# 1883| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const A & -# 1836| [MoveConstructor] void block_assignment::A::A(block_assignment::A&&) -# 1836| : +# 1883| [MoveConstructor] void block_assignment::A::A(block_assignment::A&&) +# 1883| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] A && -# 1838| [VirtualFunction] void block_assignment::A::f() -# 1838| : -# 1841| [CopyAssignmentOperator] block_assignment::B& block_assignment::B::operator=(block_assignment::B const&) -# 1841| : +# 1885| [VirtualFunction] void block_assignment::A::f() +# 1885| : +# 1888| [CopyAssignmentOperator] block_assignment::B& block_assignment::B::operator=(block_assignment::B const&) +# 1888| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const B & -# 1841| [MoveAssignmentOperator] block_assignment::B& block_assignment::B::operator=(block_assignment::B&&) -# 1841| : +# 1888| [MoveAssignmentOperator] block_assignment::B& block_assignment::B::operator=(block_assignment::B&&) +# 1888| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] B && #-----| getEntryPoint(): [BlockStmt] { ... } #-----| getStmt(0): [ExprStmt] ExprStmt -# 1841| getExpr(): [FunctionCall] call to operator= -# 1841| Type = [LValueReferenceType] A & -# 1841| ValueCategory = prvalue -# 1841| getQualifier(): [ThisExpr] this -# 1841| Type = [PointerType] B * -# 1841| ValueCategory = prvalue(load) -# 1841| getArgument(0): [PointerDereferenceExpr] * ... -# 1841| Type = [Class] A -# 1841| ValueCategory = xvalue -# 1841| getOperand(): [AddressOfExpr] & ... -# 1841| Type = [PointerType] B * -# 1841| ValueCategory = prvalue -# 1841| getOperand(): [VariableAccess] (unnamed parameter 0) -# 1841| Type = [RValueReferenceType] B && -# 1841| ValueCategory = prvalue(load) +# 1888| getExpr(): [FunctionCall] call to operator= +# 1888| Type = [LValueReferenceType] A & +# 1888| ValueCategory = prvalue +# 1888| getQualifier(): [ThisExpr] this +# 1888| Type = [PointerType] B * +# 1888| ValueCategory = prvalue(load) +# 1888| getArgument(0): [PointerDereferenceExpr] * ... +# 1888| Type = [Class] A +# 1888| ValueCategory = xvalue +# 1888| getOperand(): [AddressOfExpr] & ... +# 1888| Type = [PointerType] B * +# 1888| ValueCategory = prvalue +# 1888| getOperand(): [VariableAccess] (unnamed parameter 0) +# 1888| Type = [RValueReferenceType] B && +# 1888| ValueCategory = prvalue(load) #-----| getOperand().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) #-----| Type = [Struct] B #-----| ValueCategory = lvalue @@ -14536,1072 +15306,1072 @@ ir.cpp: #-----| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) #-----| Type = [LValueReferenceType] B & #-----| ValueCategory = prvalue -# 1841| [CopyConstructor] void block_assignment::B::B(block_assignment::B const&) -# 1841| : +# 1888| [CopyConstructor] void block_assignment::B::B(block_assignment::B const&) +# 1888| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const B & -# 1841| [MoveConstructor] void block_assignment::B::B(block_assignment::B&&) -# 1841| : +# 1888| [MoveConstructor] void block_assignment::B::B(block_assignment::B&&) +# 1888| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] B && -# 1842| [Constructor] void block_assignment::B::B(block_assignment::A*) -# 1842| : -# 1842| getParameter(0): [Parameter] (unnamed parameter 0) -# 1842| Type = [PointerType] A * -# 1845| [TopLevelFunction] void block_assignment::foo() -# 1845| : -# 1845| getEntryPoint(): [BlockStmt] { ... } -# 1846| getStmt(0): [DeclStmt] declaration -# 1846| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v -# 1846| Type = [Struct] B -# 1846| getVariable().getInitializer(): [Initializer] initializer for v -# 1846| getExpr(): [ConstructorCall] call to B -# 1846| Type = [VoidType] void -# 1846| ValueCategory = prvalue -# 1846| getArgument(0): [Literal] 0 -# 1846| Type = [IntType] int -# 1846| Value = [Literal] 0 -# 1846| ValueCategory = prvalue -# 1846| getArgument(0).getFullyConverted(): [CStyleCast] (A *)... -# 1846| Conversion = [IntegralToPointerConversion] integral to pointer conversion -# 1846| Type = [PointerType] A * -# 1846| Value = [CStyleCast] 0 -# 1846| ValueCategory = prvalue -# 1847| getStmt(1): [ExprStmt] ExprStmt -# 1847| getExpr(): [FunctionCall] call to operator= -# 1847| Type = [LValueReferenceType] B & -# 1847| ValueCategory = prvalue -# 1847| getQualifier(): [VariableAccess] v -# 1847| Type = [Struct] B -# 1847| ValueCategory = lvalue -# 1847| getArgument(0): [ConstructorCall] call to B -# 1847| Type = [VoidType] void -# 1847| ValueCategory = prvalue -# 1847| getArgument(0): [Literal] 0 -# 1847| Type = [IntType] int -# 1847| Value = [Literal] 0 -# 1847| ValueCategory = prvalue -# 1847| getArgument(0).getFullyConverted(): [CStyleCast] (A *)... -# 1847| Conversion = [IntegralToPointerConversion] integral to pointer conversion -# 1847| Type = [PointerType] A * -# 1847| Value = [CStyleCast] 0 -# 1847| ValueCategory = prvalue -# 1847| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 1847| Type = [LValueReferenceType] B & -# 1847| ValueCategory = prvalue -# 1847| getExpr(): [TemporaryObjectExpr] temporary object -# 1847| Type = [Struct] B -# 1847| ValueCategory = lvalue -# 1847| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1847| Type = [Struct] B -# 1847| ValueCategory = lvalue -# 1848| getStmt(2): [ReturnStmt] return ... -# 1851| [TopLevelFunction] void magicvars() -# 1851| : -# 1851| getEntryPoint(): [BlockStmt] { ... } -# 1852| getStmt(0): [DeclStmt] declaration -# 1852| getDeclarationEntry(0): [VariableDeclarationEntry] definition of pf -# 1852| Type = [PointerType] const char * -# 1852| getVariable().getInitializer(): [Initializer] initializer for pf -# 1852| getExpr(): [VariableAccess] __PRETTY_FUNCTION__ -# 1852| Type = [ArrayType] const char[17] -# 1852| ValueCategory = lvalue -# 1852| getExpr().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1852| Type = [PointerType] const char * -# 1852| ValueCategory = prvalue -# 1853| getStmt(1): [DeclStmt] declaration -# 1853| getDeclarationEntry(0): [VariableDeclarationEntry] definition of strfunc -# 1853| Type = [PointerType] const char * -# 1853| getVariable().getInitializer(): [Initializer] initializer for strfunc -# 1853| getExpr(): [VariableAccess] __func__ -# 1853| Type = [ArrayType] const char[10] -# 1853| ValueCategory = lvalue -# 1853| getExpr().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1853| Type = [PointerType] const char * -# 1853| ValueCategory = prvalue -# 1854| getStmt(2): [ReturnStmt] return ... -# 1857| [CopyAssignmentOperator] missing_declaration_entries::S& missing_declaration_entries::S::operator=(missing_declaration_entries::S const&) -# 1857| : +# 1889| [Constructor] void block_assignment::B::B(block_assignment::A*) +# 1889| : +# 1889| getParameter(0): [Parameter] (unnamed parameter 0) +# 1889| Type = [PointerType] A * +# 1892| [TopLevelFunction] void block_assignment::foo() +# 1892| : +# 1892| getEntryPoint(): [BlockStmt] { ... } +# 1893| getStmt(0): [DeclStmt] declaration +# 1893| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v +# 1893| Type = [Struct] B +# 1893| getVariable().getInitializer(): [Initializer] initializer for v +# 1893| getExpr(): [ConstructorCall] call to B +# 1893| Type = [VoidType] void +# 1893| ValueCategory = prvalue +# 1893| getArgument(0): [Literal] 0 +# 1893| Type = [IntType] int +# 1893| Value = [Literal] 0 +# 1893| ValueCategory = prvalue +# 1893| getArgument(0).getFullyConverted(): [CStyleCast] (A *)... +# 1893| Conversion = [IntegralToPointerConversion] integral to pointer conversion +# 1893| Type = [PointerType] A * +# 1893| Value = [CStyleCast] 0 +# 1893| ValueCategory = prvalue +# 1894| getStmt(1): [ExprStmt] ExprStmt +# 1894| getExpr(): [FunctionCall] call to operator= +# 1894| Type = [LValueReferenceType] B & +# 1894| ValueCategory = prvalue +# 1894| getQualifier(): [VariableAccess] v +# 1894| Type = [Struct] B +# 1894| ValueCategory = lvalue +# 1894| getArgument(0): [ConstructorCall] call to B +# 1894| Type = [VoidType] void +# 1894| ValueCategory = prvalue +# 1894| getArgument(0): [Literal] 0 +# 1894| Type = [IntType] int +# 1894| Value = [Literal] 0 +# 1894| ValueCategory = prvalue +# 1894| getArgument(0).getFullyConverted(): [CStyleCast] (A *)... +# 1894| Conversion = [IntegralToPointerConversion] integral to pointer conversion +# 1894| Type = [PointerType] A * +# 1894| Value = [CStyleCast] 0 +# 1894| ValueCategory = prvalue +# 1894| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 1894| Type = [LValueReferenceType] B & +# 1894| ValueCategory = prvalue +# 1894| getExpr(): [TemporaryObjectExpr] temporary object +# 1894| Type = [Struct] B +# 1894| ValueCategory = lvalue +# 1894| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1894| Type = [Struct] B +# 1894| ValueCategory = lvalue +# 1895| getStmt(2): [ReturnStmt] return ... +# 1898| [TopLevelFunction] void magicvars() +# 1898| : +# 1898| getEntryPoint(): [BlockStmt] { ... } +# 1899| getStmt(0): [DeclStmt] declaration +# 1899| getDeclarationEntry(0): [VariableDeclarationEntry] definition of pf +# 1899| Type = [PointerType] const char * +# 1899| getVariable().getInitializer(): [Initializer] initializer for pf +# 1899| getExpr(): [VariableAccess] __PRETTY_FUNCTION__ +# 1899| Type = [ArrayType] const char[17] +# 1899| ValueCategory = lvalue +# 1899| getExpr().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1899| Type = [PointerType] const char * +# 1899| ValueCategory = prvalue +# 1900| getStmt(1): [DeclStmt] declaration +# 1900| getDeclarationEntry(0): [VariableDeclarationEntry] definition of strfunc +# 1900| Type = [PointerType] const char * +# 1900| getVariable().getInitializer(): [Initializer] initializer for strfunc +# 1900| getExpr(): [VariableAccess] __func__ +# 1900| Type = [ArrayType] const char[10] +# 1900| ValueCategory = lvalue +# 1900| getExpr().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1900| Type = [PointerType] const char * +# 1900| ValueCategory = prvalue +# 1901| getStmt(2): [ReturnStmt] return ... +# 1904| [CopyAssignmentOperator] missing_declaration_entries::S& missing_declaration_entries::S::operator=(missing_declaration_entries::S const&) +# 1904| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const S & -# 1857| [MoveAssignmentOperator] missing_declaration_entries::S& missing_declaration_entries::S::operator=(missing_declaration_entries::S&&) -# 1857| : +# 1904| [MoveAssignmentOperator] missing_declaration_entries::S& missing_declaration_entries::S::operator=(missing_declaration_entries::S&&) +# 1904| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] S && -# 1861| [CopyAssignmentOperator] missing_declaration_entries::Bar1& missing_declaration_entries::Bar1::operator=(missing_declaration_entries::Bar1 const&) -# 1861| : +# 1908| [CopyAssignmentOperator] missing_declaration_entries::Bar1& missing_declaration_entries::Bar1::operator=(missing_declaration_entries::Bar1 const&) +# 1908| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const Bar1 & -# 1861| [MoveAssignmentOperator] missing_declaration_entries::Bar1& missing_declaration_entries::Bar1::operator=(missing_declaration_entries::Bar1&&) -# 1861| : +# 1908| [MoveAssignmentOperator] missing_declaration_entries::Bar1& missing_declaration_entries::Bar1::operator=(missing_declaration_entries::Bar1&&) +# 1908| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] Bar1 && -# 1864| [MemberFunction] void* missing_declaration_entries::Bar1::missing_type_decl_entry(missing_declaration_entries::Bar1::pointer) -# 1864| : -# 1864| getParameter(0): [Parameter] p -# 1864| Type = [CTypedefType,NestedTypedefType] pointer -# 1864| getEntryPoint(): [BlockStmt] { ... } -# 1865| getStmt(0): [DeclStmt] declaration -# 1865| getDeclarationEntry(0): [TypeDeclarationEntry] declaration of _Res -# 1865| Type = [CTypedefType,LocalTypedefType] _Res -# 1866| getStmt(1): [ReturnStmt] return ... -# 1866| getExpr(): [VariableAccess] p -# 1866| Type = [CTypedefType,NestedTypedefType] pointer -# 1866| ValueCategory = prvalue(load) -# 1866| getExpr().getFullyConverted(): [CStyleCast] (void *)... -# 1866| Conversion = [PointerConversion] pointer conversion -# 1866| Type = [VoidPointerType] void * -# 1866| ValueCategory = prvalue -# 1864| [MemberFunction] void* missing_declaration_entries::Bar1::missing_type_decl_entry(missing_declaration_entries::Bar1::pointer) -# 1864| : -# 1864| getParameter(0): [Parameter] p -# 1864| Type = [CTypedefType,NestedTypedefType] pointer -# 1864| getEntryPoint(): [BlockStmt] { ... } -# 1865| getStmt(0): [DeclStmt] declaration -# 1866| getStmt(1): [ReturnStmt] return ... -# 1866| getExpr(): [VariableAccess] p -# 1866| Type = [CTypedefType,NestedTypedefType] pointer -# 1866| ValueCategory = prvalue(load) -# 1866| getExpr().getFullyConverted(): [CStyleCast] (void *)... -# 1866| Conversion = [PointerConversion] pointer conversion -# 1866| Type = [VoidPointerType] void * -# 1866| ValueCategory = prvalue -# 1870| [TopLevelFunction] void missing_declaration_entries::test1() -# 1870| : -# 1870| getEntryPoint(): [BlockStmt] { ... } -# 1871| getStmt(0): [DeclStmt] declaration -# 1871| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b -# 1871| Type = [ClassTemplateInstantiation,Struct] Bar1 -# 1872| getStmt(1): [ExprStmt] ExprStmt -# 1872| getExpr(): [FunctionCall] call to missing_type_decl_entry -# 1872| Type = [VoidPointerType] void * -# 1872| ValueCategory = prvalue -# 1872| getQualifier(): [VariableAccess] b -# 1872| Type = [ClassTemplateInstantiation,Struct] Bar1 -# 1872| ValueCategory = lvalue -# 1872| getArgument(0): [Literal] 0 -# 1872| Type = [NullPointerType] decltype(nullptr) -# 1872| Value = [Literal] 0 -# 1872| ValueCategory = prvalue -# 1872| getArgument(0).getFullyConverted(): [CStyleCast] (pointer)... -# 1872| Conversion = [PointerConversion] pointer conversion -# 1872| Type = [CTypedefType,NestedTypedefType] pointer -# 1872| Value = [CStyleCast] 0 -# 1872| ValueCategory = prvalue -# 1873| getStmt(2): [ReturnStmt] return ... -# 1875| [CopyAssignmentOperator] missing_declaration_entries::Bar2& missing_declaration_entries::Bar2::operator=(missing_declaration_entries::Bar2 const&) -# 1875| : +# 1911| [MemberFunction] void* missing_declaration_entries::Bar1::missing_type_decl_entry(missing_declaration_entries::Bar1::pointer) +# 1911| : +# 1911| getParameter(0): [Parameter] p +# 1911| Type = [CTypedefType,NestedTypedefType] pointer +# 1911| getEntryPoint(): [BlockStmt] { ... } +# 1912| getStmt(0): [DeclStmt] declaration +# 1912| getDeclarationEntry(0): [TypeDeclarationEntry] declaration of _Res +# 1912| Type = [CTypedefType,LocalTypedefType] _Res +# 1913| getStmt(1): [ReturnStmt] return ... +# 1913| getExpr(): [VariableAccess] p +# 1913| Type = [CTypedefType,NestedTypedefType] pointer +# 1913| ValueCategory = prvalue(load) +# 1913| getExpr().getFullyConverted(): [CStyleCast] (void *)... +# 1913| Conversion = [PointerConversion] pointer conversion +# 1913| Type = [VoidPointerType] void * +# 1913| ValueCategory = prvalue +# 1911| [MemberFunction] void* missing_declaration_entries::Bar1::missing_type_decl_entry(missing_declaration_entries::Bar1::pointer) +# 1911| : +# 1911| getParameter(0): [Parameter] p +# 1911| Type = [CTypedefType,NestedTypedefType] pointer +# 1911| getEntryPoint(): [BlockStmt] { ... } +# 1912| getStmt(0): [DeclStmt] declaration +# 1913| getStmt(1): [ReturnStmt] return ... +# 1913| getExpr(): [VariableAccess] p +# 1913| Type = [CTypedefType,NestedTypedefType] pointer +# 1913| ValueCategory = prvalue(load) +# 1913| getExpr().getFullyConverted(): [CStyleCast] (void *)... +# 1913| Conversion = [PointerConversion] pointer conversion +# 1913| Type = [VoidPointerType] void * +# 1913| ValueCategory = prvalue +# 1917| [TopLevelFunction] void missing_declaration_entries::test1() +# 1917| : +# 1917| getEntryPoint(): [BlockStmt] { ... } +# 1918| getStmt(0): [DeclStmt] declaration +# 1918| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b +# 1918| Type = [ClassTemplateInstantiation,Struct] Bar1 +# 1919| getStmt(1): [ExprStmt] ExprStmt +# 1919| getExpr(): [FunctionCall] call to missing_type_decl_entry +# 1919| Type = [VoidPointerType] void * +# 1919| ValueCategory = prvalue +# 1919| getQualifier(): [VariableAccess] b +# 1919| Type = [ClassTemplateInstantiation,Struct] Bar1 +# 1919| ValueCategory = lvalue +# 1919| getArgument(0): [Literal] 0 +# 1919| Type = [NullPointerType] decltype(nullptr) +# 1919| Value = [Literal] 0 +# 1919| ValueCategory = prvalue +# 1919| getArgument(0).getFullyConverted(): [CStyleCast] (pointer)... +# 1919| Conversion = [PointerConversion] pointer conversion +# 1919| Type = [CTypedefType,NestedTypedefType] pointer +# 1919| Value = [CStyleCast] 0 +# 1919| ValueCategory = prvalue +# 1920| getStmt(2): [ReturnStmt] return ... +# 1922| [CopyAssignmentOperator] missing_declaration_entries::Bar2& missing_declaration_entries::Bar2::operator=(missing_declaration_entries::Bar2 const&) +# 1922| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const Bar2 & -# 1875| [MoveAssignmentOperator] missing_declaration_entries::Bar2& missing_declaration_entries::Bar2::operator=(missing_declaration_entries::Bar2&&) -# 1875| : +# 1922| [MoveAssignmentOperator] missing_declaration_entries::Bar2& missing_declaration_entries::Bar2::operator=(missing_declaration_entries::Bar2&&) +# 1922| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] Bar2 && -# 1877| [MemberFunction] int missing_declaration_entries::Bar2::two_missing_variable_declaration_entries() -# 1877| : -# 1877| getEntryPoint(): [BlockStmt] { ... } -# 1878| getStmt(0): [DeclStmt] declaration -# 1878| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 1878| Type = [ArrayType] int[10] -# 1878| getDeclarationEntry(1): [VariableDeclarationEntry] definition of y -# 1878| Type = [ArrayType] int[10] -# 1879| getStmt(1): [ExprStmt] ExprStmt -# 1879| getExpr(): [AssignExpr] ... = ... -# 1879| Type = [IntType] int -# 1879| ValueCategory = lvalue -# 1879| getLValue(): [PointerDereferenceExpr] * ... -# 1879| Type = [IntType] int -# 1879| ValueCategory = lvalue -# 1879| getOperand(): [VariableAccess] x -# 1879| Type = [ArrayType] int[10] -# 1879| ValueCategory = lvalue -# 1879| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1879| Type = [IntPointerType] int * -# 1879| ValueCategory = prvalue -# 1879| getRValue(): [Literal] 10 -# 1879| Type = [IntType] int -# 1879| Value = [Literal] 10 -# 1879| ValueCategory = prvalue -# 1880| getStmt(2): [ExprStmt] ExprStmt -# 1880| getExpr(): [AssignExpr] ... = ... -# 1880| Type = [IntType] int -# 1880| ValueCategory = lvalue -# 1880| getLValue(): [PointerDereferenceExpr] * ... -# 1880| Type = [IntType] int -# 1880| ValueCategory = lvalue -# 1880| getOperand(): [VariableAccess] y -# 1880| Type = [ArrayType] int[10] -# 1880| ValueCategory = lvalue -# 1880| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1880| Type = [IntPointerType] int * -# 1880| ValueCategory = prvalue -# 1880| getRValue(): [Literal] 10 -# 1880| Type = [IntType] int -# 1880| Value = [Literal] 10 -# 1880| ValueCategory = prvalue -# 1881| getStmt(3): [ReturnStmt] return ... -# 1881| getExpr(): [AddExpr] ... + ... -# 1881| Type = [IntType] int -# 1881| ValueCategory = prvalue -# 1881| getLeftOperand(): [PointerDereferenceExpr] * ... -# 1881| Type = [IntType] int -# 1881| ValueCategory = prvalue(load) -# 1881| getOperand(): [VariableAccess] x -# 1881| Type = [ArrayType] int[10] -# 1881| ValueCategory = lvalue -# 1881| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1881| Type = [IntPointerType] int * -# 1881| ValueCategory = prvalue -# 1881| getRightOperand(): [PointerDereferenceExpr] * ... -# 1881| Type = [IntType] int -# 1881| ValueCategory = prvalue(load) -# 1881| getOperand(): [VariableAccess] y -# 1881| Type = [ArrayType] int[10] -# 1881| ValueCategory = lvalue -# 1881| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1881| Type = [IntPointerType] int * -# 1881| ValueCategory = prvalue -# 1877| [MemberFunction] int missing_declaration_entries::Bar2::two_missing_variable_declaration_entries() -# 1877| : -# 1877| getEntryPoint(): [BlockStmt] { ... } -# 1878| getStmt(0): [DeclStmt] declaration -# 1879| getStmt(1): [ExprStmt] ExprStmt -# 1879| getExpr(): [AssignExpr] ... = ... -# 1879| Type = [IntType] int -# 1879| ValueCategory = lvalue -# 1879| getLValue(): [PointerDereferenceExpr] * ... -# 1879| Type = [IntType] int -# 1879| ValueCategory = lvalue -# 1879| getOperand(): [VariableAccess] x -# 1879| Type = [ArrayType] int[10] -# 1879| ValueCategory = lvalue -# 1879| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1879| Type = [IntPointerType] int * -# 1879| ValueCategory = prvalue -# 1879| getRValue(): [Literal] 10 -# 1879| Type = [IntType] int -# 1879| Value = [Literal] 10 -# 1879| ValueCategory = prvalue -# 1880| getStmt(2): [ExprStmt] ExprStmt -# 1880| getExpr(): [AssignExpr] ... = ... -# 1880| Type = [IntType] int -# 1880| ValueCategory = lvalue -# 1880| getLValue(): [PointerDereferenceExpr] * ... -# 1880| Type = [IntType] int -# 1880| ValueCategory = lvalue -# 1880| getOperand(): [VariableAccess] y -# 1880| Type = [ArrayType] int[10] -# 1880| ValueCategory = lvalue -# 1880| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1880| Type = [IntPointerType] int * -# 1880| ValueCategory = prvalue -# 1880| getRValue(): [Literal] 10 -# 1880| Type = [IntType] int -# 1880| Value = [Literal] 10 -# 1880| ValueCategory = prvalue -# 1881| getStmt(3): [ReturnStmt] return ... -# 1881| getExpr(): [AddExpr] ... + ... -# 1881| Type = [IntType] int -# 1881| ValueCategory = prvalue -# 1881| getLeftOperand(): [PointerDereferenceExpr] * ... -# 1881| Type = [IntType] int -# 1881| ValueCategory = prvalue(load) -# 1881| getOperand(): [VariableAccess] x -# 1881| Type = [ArrayType] int[10] -# 1881| ValueCategory = lvalue -# 1881| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1881| Type = [IntPointerType] int * -# 1881| ValueCategory = prvalue -# 1881| getRightOperand(): [PointerDereferenceExpr] * ... -# 1881| Type = [IntType] int -# 1881| ValueCategory = prvalue(load) -# 1881| getOperand(): [VariableAccess] y -# 1881| Type = [ArrayType] int[10] -# 1881| ValueCategory = lvalue -# 1881| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1881| Type = [IntPointerType] int * -# 1881| ValueCategory = prvalue -# 1885| [TopLevelFunction] void missing_declaration_entries::test2() -# 1885| : -# 1885| getEntryPoint(): [BlockStmt] { ... } -# 1886| getStmt(0): [DeclStmt] declaration -# 1886| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b -# 1886| Type = [ClassTemplateInstantiation,Struct] Bar2 -# 1887| getStmt(1): [ExprStmt] ExprStmt -# 1887| getExpr(): [FunctionCall] call to two_missing_variable_declaration_entries -# 1887| Type = [IntType] int -# 1887| ValueCategory = prvalue -# 1887| getQualifier(): [VariableAccess] b -# 1887| Type = [ClassTemplateInstantiation,Struct] Bar2 -# 1887| ValueCategory = lvalue -# 1888| getStmt(2): [ReturnStmt] return ... -# 1891| [GlobalVariable] char global_template -# 1891| getInitializer(): [Initializer] initializer for global_template -# 1891| getExpr(): [Literal] 42 -# 1891| Type = [IntType] int -# 1891| Value = [Literal] 42 -# 1891| ValueCategory = prvalue -# 1891| getExpr().getFullyConverted(): [CStyleCast] (char)... -# 1891| Conversion = [IntegralConversion] integral conversion -# 1891| Type = [PlainCharType] char -# 1891| Value = [CStyleCast] 42 -# 1891| ValueCategory = prvalue -# 1891| [GlobalVariable] int global_template -# 1891| getInitializer(): [Initializer] initializer for global_template -# 1891| getExpr(): [Literal] 42 -# 1891| Type = [IntType] int -# 1891| Value = [Literal] 42 -# 1891| ValueCategory = prvalue -# 1893| [TopLevelFunction] int test_global_template_int() -# 1893| : -# 1893| getEntryPoint(): [BlockStmt] { ... } -# 1894| getStmt(0): [DeclStmt] declaration -# 1894| getDeclarationEntry(0): [VariableDeclarationEntry] definition of local_int -# 1894| Type = [IntType] int -# 1894| getVariable().getInitializer(): [Initializer] initializer for local_int -# 1894| getExpr(): [VariableAccess] global_template -# 1894| Type = [IntType] int -# 1894| ValueCategory = prvalue(load) -# 1895| getStmt(1): [DeclStmt] declaration -# 1895| getDeclarationEntry(0): [VariableDeclarationEntry] definition of local_char -# 1895| Type = [PlainCharType] char -# 1895| getVariable().getInitializer(): [Initializer] initializer for local_char -# 1895| getExpr(): [VariableAccess] global_template -# 1895| Type = [PlainCharType] char -# 1895| ValueCategory = prvalue(load) -# 1896| getStmt(2): [ReturnStmt] return ... -# 1896| getExpr(): [AddExpr] ... + ... -# 1896| Type = [IntType] int -# 1896| ValueCategory = prvalue -# 1896| getLeftOperand(): [VariableAccess] local_int -# 1896| Type = [IntType] int -# 1896| ValueCategory = prvalue(load) -# 1896| getRightOperand(): [VariableAccess] local_char -# 1896| Type = [PlainCharType] char -# 1896| ValueCategory = prvalue(load) -# 1896| getRightOperand().getFullyConverted(): [CStyleCast] (int)... -# 1896| Conversion = [IntegralConversion] integral conversion -# 1896| Type = [IntType] int -# 1896| ValueCategory = prvalue -# 1899| [TopLevelFunction] void noreturnFunc() -# 1899| : -# 1901| [TopLevelFunction] int noreturnTest(int) -# 1901| : -# 1901| getParameter(0): [Parameter] x -# 1901| Type = [IntType] int -# 1901| getEntryPoint(): [BlockStmt] { ... } -# 1902| getStmt(0): [IfStmt] if (...) ... -# 1902| getCondition(): [LTExpr] ... < ... -# 1902| Type = [BoolType] bool -# 1902| ValueCategory = prvalue -# 1902| getLesserOperand(): [VariableAccess] x -# 1902| Type = [IntType] int -# 1902| ValueCategory = prvalue(load) -# 1902| getGreaterOperand(): [Literal] 10 -# 1902| Type = [IntType] int -# 1902| Value = [Literal] 10 -# 1902| ValueCategory = prvalue -# 1902| getThen(): [BlockStmt] { ... } -# 1903| getStmt(0): [ReturnStmt] return ... -# 1903| getExpr(): [VariableAccess] x -# 1903| Type = [IntType] int -# 1903| ValueCategory = prvalue(load) -# 1904| getElse(): [BlockStmt] { ... } -# 1905| getStmt(0): [ExprStmt] ExprStmt -# 1905| getExpr(): [FunctionCall] call to noreturnFunc -# 1905| Type = [VoidType] void -# 1905| ValueCategory = prvalue -# 1907| getStmt(1): [ReturnStmt] return ... -# 1909| [TopLevelFunction] int noreturnTest2(int) -# 1909| : -# 1909| getParameter(0): [Parameter] x -# 1909| Type = [IntType] int -# 1909| getEntryPoint(): [BlockStmt] { ... } -# 1910| getStmt(0): [IfStmt] if (...) ... -# 1910| getCondition(): [LTExpr] ... < ... -# 1910| Type = [BoolType] bool -# 1910| ValueCategory = prvalue -# 1910| getLesserOperand(): [VariableAccess] x -# 1910| Type = [IntType] int -# 1910| ValueCategory = prvalue(load) -# 1910| getGreaterOperand(): [Literal] 10 -# 1910| Type = [IntType] int -# 1910| Value = [Literal] 10 -# 1910| ValueCategory = prvalue -# 1910| getThen(): [BlockStmt] { ... } -# 1911| getStmt(0): [ExprStmt] ExprStmt -# 1911| getExpr(): [FunctionCall] call to noreturnFunc -# 1911| Type = [VoidType] void -# 1911| ValueCategory = prvalue -# 1913| getStmt(1): [ReturnStmt] return ... -# 1913| getExpr(): [VariableAccess] x -# 1913| Type = [IntType] int -# 1913| ValueCategory = prvalue(load) -# 1916| [TopLevelFunction] int static_function(int) -# 1916| : -# 1916| getParameter(0): [Parameter] x -# 1916| Type = [IntType] int -# 1916| getEntryPoint(): [BlockStmt] { ... } -# 1917| getStmt(0): [ReturnStmt] return ... -# 1917| getExpr(): [VariableAccess] x -# 1917| Type = [IntType] int -# 1917| ValueCategory = prvalue(load) -# 1920| [TopLevelFunction] void test_static_functions_with_assignments() -# 1920| : -# 1920| getEntryPoint(): [BlockStmt] { ... } -# 1921| getStmt(0): [DeclStmt] declaration -# 1921| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c -# 1921| Type = [Class] C -# 1921| getVariable().getInitializer(): [Initializer] initializer for c -# 1921| getExpr(): [ConstructorCall] call to C -# 1921| Type = [VoidType] void -# 1921| ValueCategory = prvalue -# 1922| getStmt(1): [DeclStmt] declaration -# 1922| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 1922| Type = [IntType] int -# 1923| getStmt(2): [ExprStmt] ExprStmt -# 1923| getExpr(): [AssignExpr] ... = ... -# 1923| Type = [IntType] int -# 1923| ValueCategory = lvalue -# 1923| getLValue(): [VariableAccess] x -# 1923| Type = [IntType] int -# 1923| ValueCategory = lvalue -# 1923| getRValue(): [FunctionCall] call to StaticMemberFunction -# 1923| Type = [IntType] int -# 1923| ValueCategory = prvalue -# 1923| getQualifier(): [VariableAccess] c -# 1923| Type = [Class] C -# 1923| ValueCategory = lvalue -# 1923| getArgument(0): [Literal] 10 -# 1923| Type = [IntType] int -# 1923| Value = [Literal] 10 -# 1923| ValueCategory = prvalue -# 1924| getStmt(3): [DeclStmt] declaration -# 1924| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 1924| Type = [IntType] int -# 1925| getStmt(4): [ExprStmt] ExprStmt -# 1925| getExpr(): [AssignExpr] ... = ... -# 1925| Type = [IntType] int -# 1925| ValueCategory = lvalue -# 1925| getLValue(): [VariableAccess] y -# 1925| Type = [IntType] int -# 1925| ValueCategory = lvalue -# 1925| getRValue(): [FunctionCall] call to StaticMemberFunction -# 1925| Type = [IntType] int -# 1925| ValueCategory = prvalue -# 1925| getArgument(0): [Literal] 10 -# 1925| Type = [IntType] int -# 1925| Value = [Literal] 10 -# 1925| ValueCategory = prvalue -# 1926| getStmt(5): [DeclStmt] declaration -# 1926| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z +# 1924| [MemberFunction] int missing_declaration_entries::Bar2::two_missing_variable_declaration_entries() +# 1924| : +# 1924| getEntryPoint(): [BlockStmt] { ... } +# 1925| getStmt(0): [DeclStmt] declaration +# 1925| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 1925| Type = [ArrayType] int[10] +# 1925| getDeclarationEntry(1): [VariableDeclarationEntry] definition of y +# 1925| Type = [ArrayType] int[10] +# 1926| getStmt(1): [ExprStmt] ExprStmt +# 1926| getExpr(): [AssignExpr] ... = ... # 1926| Type = [IntType] int -# 1927| getStmt(6): [ExprStmt] ExprStmt +# 1926| ValueCategory = lvalue +# 1926| getLValue(): [PointerDereferenceExpr] * ... +# 1926| Type = [IntType] int +# 1926| ValueCategory = lvalue +# 1926| getOperand(): [VariableAccess] x +# 1926| Type = [ArrayType] int[10] +# 1926| ValueCategory = lvalue +# 1926| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1926| Type = [IntPointerType] int * +# 1926| ValueCategory = prvalue +# 1926| getRValue(): [Literal] 10 +# 1926| Type = [IntType] int +# 1926| Value = [Literal] 10 +# 1926| ValueCategory = prvalue +# 1927| getStmt(2): [ExprStmt] ExprStmt # 1927| getExpr(): [AssignExpr] ... = ... # 1927| Type = [IntType] int # 1927| ValueCategory = lvalue -# 1927| getLValue(): [VariableAccess] z +# 1927| getLValue(): [PointerDereferenceExpr] * ... # 1927| Type = [IntType] int # 1927| ValueCategory = lvalue -# 1927| getRValue(): [FunctionCall] call to static_function -# 1927| Type = [IntType] int -# 1927| ValueCategory = prvalue -# 1927| getArgument(0): [Literal] 10 -# 1927| Type = [IntType] int -# 1927| Value = [Literal] 10 +# 1927| getOperand(): [VariableAccess] y +# 1927| Type = [ArrayType] int[10] +# 1927| ValueCategory = lvalue +# 1927| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1927| Type = [IntPointerType] int * # 1927| ValueCategory = prvalue -# 1928| getStmt(7): [ReturnStmt] return ... -# 1928| getImplicitDestructorCall(0): [DestructorCall] call to ~C -# 1928| Type = [VoidType] void +# 1927| getRValue(): [Literal] 10 +# 1927| Type = [IntType] int +# 1927| Value = [Literal] 10 +# 1927| ValueCategory = prvalue +# 1928| getStmt(3): [ReturnStmt] return ... +# 1928| getExpr(): [AddExpr] ... + ... +# 1928| Type = [IntType] int # 1928| ValueCategory = prvalue -# 1928| getQualifier(): [VariableAccess] c -# 1928| Type = [Class] C -# 1928| ValueCategory = lvalue -# 1930| [TopLevelFunction] void test_double_assign() -# 1930| : -# 1930| getEntryPoint(): [BlockStmt] { ... } -# 1931| getStmt(0): [DeclStmt] declaration -# 1931| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i -# 1931| Type = [IntType] int -# 1931| getDeclarationEntry(1): [VariableDeclarationEntry] definition of j -# 1931| Type = [IntType] int -# 1932| getStmt(1): [ExprStmt] ExprStmt -# 1932| getExpr(): [AssignExpr] ... = ... -# 1932| Type = [IntType] int -# 1932| ValueCategory = lvalue -# 1932| getLValue(): [VariableAccess] i -# 1932| Type = [IntType] int -# 1932| ValueCategory = lvalue -# 1932| getRValue(): [AssignExpr] ... = ... -# 1932| Type = [IntType] int -# 1932| ValueCategory = prvalue(load) -# 1932| getLValue(): [VariableAccess] j -# 1932| Type = [IntType] int -# 1932| ValueCategory = lvalue -# 1932| getRValue(): [Literal] 40 -# 1932| Type = [IntType] int -# 1932| Value = [Literal] 40 -# 1932| ValueCategory = prvalue -# 1933| getStmt(2): [ReturnStmt] return ... -# 1935| [TopLevelFunction] void test_assign_with_assign_operation() -# 1935| : -# 1935| getEntryPoint(): [BlockStmt] { ... } -# 1936| getStmt(0): [DeclStmt] declaration -# 1936| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i -# 1936| Type = [IntType] int -# 1936| getDeclarationEntry(1): [VariableDeclarationEntry] definition of j -# 1936| Type = [IntType] int -# 1936| getVariable().getInitializer(): [Initializer] initializer for j -# 1936| getExpr(): [Literal] 0 -# 1936| Type = [IntType] int -# 1936| Value = [Literal] 0 -# 1936| ValueCategory = prvalue -# 1937| getStmt(1): [ExprStmt] ExprStmt -# 1937| getExpr(): [AssignExpr] ... = ... -# 1937| Type = [IntType] int -# 1937| ValueCategory = lvalue -# 1937| getLValue(): [VariableAccess] i -# 1937| Type = [IntType] int -# 1937| ValueCategory = lvalue -# 1937| getRValue(): [AssignAddExpr] ... += ... -# 1937| Type = [IntType] int -# 1937| ValueCategory = prvalue(load) -# 1937| getLValue(): [VariableAccess] j -# 1937| Type = [IntType] int -# 1937| ValueCategory = lvalue -# 1937| getRValue(): [Literal] 40 -# 1937| Type = [IntType] int -# 1937| Value = [Literal] 40 -# 1937| ValueCategory = prvalue -# 1937| getRValue().getFullyConverted(): [ParenthesisExpr] (...) -# 1937| Type = [IntType] int -# 1937| ValueCategory = prvalue(load) -# 1938| getStmt(2): [ReturnStmt] return ... -# 1940| [CopyAssignmentOperator] D& D::operator=(D const&) +# 1928| getLeftOperand(): [PointerDereferenceExpr] * ... +# 1928| Type = [IntType] int +# 1928| ValueCategory = prvalue(load) +# 1928| getOperand(): [VariableAccess] x +# 1928| Type = [ArrayType] int[10] +# 1928| ValueCategory = lvalue +# 1928| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1928| Type = [IntPointerType] int * +# 1928| ValueCategory = prvalue +# 1928| getRightOperand(): [PointerDereferenceExpr] * ... +# 1928| Type = [IntType] int +# 1928| ValueCategory = prvalue(load) +# 1928| getOperand(): [VariableAccess] y +# 1928| Type = [ArrayType] int[10] +# 1928| ValueCategory = lvalue +# 1928| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1928| Type = [IntPointerType] int * +# 1928| ValueCategory = prvalue +# 1924| [MemberFunction] int missing_declaration_entries::Bar2::two_missing_variable_declaration_entries() +# 1924| : +# 1924| getEntryPoint(): [BlockStmt] { ... } +# 1925| getStmt(0): [DeclStmt] declaration +# 1926| getStmt(1): [ExprStmt] ExprStmt +# 1926| getExpr(): [AssignExpr] ... = ... +# 1926| Type = [IntType] int +# 1926| ValueCategory = lvalue +# 1926| getLValue(): [PointerDereferenceExpr] * ... +# 1926| Type = [IntType] int +# 1926| ValueCategory = lvalue +# 1926| getOperand(): [VariableAccess] x +# 1926| Type = [ArrayType] int[10] +# 1926| ValueCategory = lvalue +# 1926| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1926| Type = [IntPointerType] int * +# 1926| ValueCategory = prvalue +# 1926| getRValue(): [Literal] 10 +# 1926| Type = [IntType] int +# 1926| Value = [Literal] 10 +# 1926| ValueCategory = prvalue +# 1927| getStmt(2): [ExprStmt] ExprStmt +# 1927| getExpr(): [AssignExpr] ... = ... +# 1927| Type = [IntType] int +# 1927| ValueCategory = lvalue +# 1927| getLValue(): [PointerDereferenceExpr] * ... +# 1927| Type = [IntType] int +# 1927| ValueCategory = lvalue +# 1927| getOperand(): [VariableAccess] y +# 1927| Type = [ArrayType] int[10] +# 1927| ValueCategory = lvalue +# 1927| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1927| Type = [IntPointerType] int * +# 1927| ValueCategory = prvalue +# 1927| getRValue(): [Literal] 10 +# 1927| Type = [IntType] int +# 1927| Value = [Literal] 10 +# 1927| ValueCategory = prvalue +# 1928| getStmt(3): [ReturnStmt] return ... +# 1928| getExpr(): [AddExpr] ... + ... +# 1928| Type = [IntType] int +# 1928| ValueCategory = prvalue +# 1928| getLeftOperand(): [PointerDereferenceExpr] * ... +# 1928| Type = [IntType] int +# 1928| ValueCategory = prvalue(load) +# 1928| getOperand(): [VariableAccess] x +# 1928| Type = [ArrayType] int[10] +# 1928| ValueCategory = lvalue +# 1928| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1928| Type = [IntPointerType] int * +# 1928| ValueCategory = prvalue +# 1928| getRightOperand(): [PointerDereferenceExpr] * ... +# 1928| Type = [IntType] int +# 1928| ValueCategory = prvalue(load) +# 1928| getOperand(): [VariableAccess] y +# 1928| Type = [ArrayType] int[10] +# 1928| ValueCategory = lvalue +# 1928| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1928| Type = [IntPointerType] int * +# 1928| ValueCategory = prvalue +# 1932| [TopLevelFunction] void missing_declaration_entries::test2() +# 1932| : +# 1932| getEntryPoint(): [BlockStmt] { ... } +# 1933| getStmt(0): [DeclStmt] declaration +# 1933| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b +# 1933| Type = [ClassTemplateInstantiation,Struct] Bar2 +# 1934| getStmt(1): [ExprStmt] ExprStmt +# 1934| getExpr(): [FunctionCall] call to two_missing_variable_declaration_entries +# 1934| Type = [IntType] int +# 1934| ValueCategory = prvalue +# 1934| getQualifier(): [VariableAccess] b +# 1934| Type = [ClassTemplateInstantiation,Struct] Bar2 +# 1934| ValueCategory = lvalue +# 1935| getStmt(2): [ReturnStmt] return ... +# 1938| [GlobalVariable] char global_template +# 1938| getInitializer(): [Initializer] initializer for global_template +# 1938| getExpr(): [Literal] 42 +# 1938| Type = [IntType] int +# 1938| Value = [Literal] 42 +# 1938| ValueCategory = prvalue +# 1938| getExpr().getFullyConverted(): [CStyleCast] (char)... +# 1938| Conversion = [IntegralConversion] integral conversion +# 1938| Type = [PlainCharType] char +# 1938| Value = [CStyleCast] 42 +# 1938| ValueCategory = prvalue +# 1938| [GlobalVariable] int global_template +# 1938| getInitializer(): [Initializer] initializer for global_template +# 1938| getExpr(): [Literal] 42 +# 1938| Type = [IntType] int +# 1938| Value = [Literal] 42 +# 1938| ValueCategory = prvalue +# 1940| [TopLevelFunction] int test_global_template_int() # 1940| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const D & -# 1940| [MoveAssignmentOperator] D& D::operator=(D&&) -# 1940| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [RValueReferenceType] D && -# 1944| [MemberFunction] D& D::ReferenceStaticMemberFunction() -# 1944| : -# 1944| getEntryPoint(): [BlockStmt] { ... } -# 1945| getStmt(0): [ReturnStmt] return ... -# 1945| getExpr(): [VariableAccess] x -# 1945| Type = [Class] D -# 1945| ValueCategory = lvalue -# 1945| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1945| Type = [LValueReferenceType] D & -# 1945| ValueCategory = prvalue -# 1947| [MemberFunction] D D::ObjectStaticMemberFunction() -# 1947| : -# 1947| getEntryPoint(): [BlockStmt] { ... } -# 1948| getStmt(0): [ReturnStmt] return ... -# 1948| getExpr(): [VariableAccess] x -# 1948| Type = [Class] D -# 1948| ValueCategory = prvalue(load) -# 1952| [TopLevelFunction] void test_static_member_functions_with_reference_return() -# 1952| : -# 1952| getEntryPoint(): [BlockStmt] { ... } -# 1953| getStmt(0): [DeclStmt] declaration -# 1953| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d -# 1953| Type = [Class] D -# 1955| getStmt(1): [ExprStmt] ExprStmt -# 1955| getExpr(): [FunctionCall] call to ReferenceStaticMemberFunction -# 1955| Type = [LValueReferenceType] D & -# 1955| ValueCategory = prvalue -# 1955| getQualifier(): [VariableAccess] d -# 1955| Type = [Class] D -# 1955| ValueCategory = lvalue -# 1955| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1955| Type = [Class] D -# 1955| ValueCategory = lvalue -# 1956| getStmt(2): [ExprStmt] ExprStmt -# 1956| getExpr(): [FunctionCall] call to ReferenceStaticMemberFunction -# 1956| Type = [LValueReferenceType] D & -# 1956| ValueCategory = prvalue -# 1956| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1956| Type = [Class] D -# 1956| ValueCategory = lvalue -# 1957| getStmt(3): [ExprStmt] ExprStmt -# 1957| getExpr(): [FunctionCall] call to ObjectStaticMemberFunction -# 1957| Type = [Class] D +# 1940| getEntryPoint(): [BlockStmt] { ... } +# 1941| getStmt(0): [DeclStmt] declaration +# 1941| getDeclarationEntry(0): [VariableDeclarationEntry] definition of local_int +# 1941| Type = [IntType] int +# 1941| getVariable().getInitializer(): [Initializer] initializer for local_int +# 1941| getExpr(): [VariableAccess] global_template +# 1941| Type = [IntType] int +# 1941| ValueCategory = prvalue(load) +# 1942| getStmt(1): [DeclStmt] declaration +# 1942| getDeclarationEntry(0): [VariableDeclarationEntry] definition of local_char +# 1942| Type = [PlainCharType] char +# 1942| getVariable().getInitializer(): [Initializer] initializer for local_char +# 1942| getExpr(): [VariableAccess] global_template +# 1942| Type = [PlainCharType] char +# 1942| ValueCategory = prvalue(load) +# 1943| getStmt(2): [ReturnStmt] return ... +# 1943| getExpr(): [AddExpr] ... + ... +# 1943| Type = [IntType] int +# 1943| ValueCategory = prvalue +# 1943| getLeftOperand(): [VariableAccess] local_int +# 1943| Type = [IntType] int +# 1943| ValueCategory = prvalue(load) +# 1943| getRightOperand(): [VariableAccess] local_char +# 1943| Type = [PlainCharType] char +# 1943| ValueCategory = prvalue(load) +# 1943| getRightOperand().getFullyConverted(): [CStyleCast] (int)... +# 1943| Conversion = [IntegralConversion] integral conversion +# 1943| Type = [IntType] int +# 1943| ValueCategory = prvalue +# 1946| [TopLevelFunction] void noreturnFunc() +# 1946| : +# 1948| [TopLevelFunction] int noreturnTest(int) +# 1948| : +# 1948| getParameter(0): [Parameter] x +# 1948| Type = [IntType] int +# 1948| getEntryPoint(): [BlockStmt] { ... } +# 1949| getStmt(0): [IfStmt] if (...) ... +# 1949| getCondition(): [LTExpr] ... < ... +# 1949| Type = [BoolType] bool +# 1949| ValueCategory = prvalue +# 1949| getLesserOperand(): [VariableAccess] x +# 1949| Type = [IntType] int +# 1949| ValueCategory = prvalue(load) +# 1949| getGreaterOperand(): [Literal] 10 +# 1949| Type = [IntType] int +# 1949| Value = [Literal] 10 +# 1949| ValueCategory = prvalue +# 1949| getThen(): [BlockStmt] { ... } +# 1950| getStmt(0): [ReturnStmt] return ... +# 1950| getExpr(): [VariableAccess] x +# 1950| Type = [IntType] int +# 1950| ValueCategory = prvalue(load) +# 1951| getElse(): [BlockStmt] { ... } +# 1952| getStmt(0): [ExprStmt] ExprStmt +# 1952| getExpr(): [FunctionCall] call to noreturnFunc +# 1952| Type = [VoidType] void +# 1952| ValueCategory = prvalue +# 1954| getStmt(1): [ReturnStmt] return ... +# 1956| [TopLevelFunction] int noreturnTest2(int) +# 1956| : +# 1956| getParameter(0): [Parameter] x +# 1956| Type = [IntType] int +# 1956| getEntryPoint(): [BlockStmt] { ... } +# 1957| getStmt(0): [IfStmt] if (...) ... +# 1957| getCondition(): [LTExpr] ... < ... +# 1957| Type = [BoolType] bool # 1957| ValueCategory = prvalue -# 1957| getQualifier(): [VariableAccess] d -# 1957| Type = [Class] D -# 1957| ValueCategory = lvalue -# 1958| getStmt(4): [ExprStmt] ExprStmt -# 1958| getExpr(): [FunctionCall] call to ObjectStaticMemberFunction -# 1958| Type = [Class] D -# 1958| ValueCategory = prvalue -# 1960| getStmt(5): [DeclStmt] declaration -# 1960| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 1960| Type = [Class] D -# 1961| getStmt(6): [ExprStmt] ExprStmt -# 1961| getExpr(): [AssignExpr] ... = ... -# 1961| Type = [Class] D -# 1961| ValueCategory = lvalue -# 1961| getLValue(): [VariableAccess] x -# 1961| Type = [Class] D -# 1961| ValueCategory = lvalue -# 1961| getRValue(): [FunctionCall] call to ReferenceStaticMemberFunction -# 1961| Type = [LValueReferenceType] D & -# 1961| ValueCategory = prvalue -# 1961| getQualifier(): [VariableAccess] d -# 1961| Type = [Class] D -# 1961| ValueCategory = lvalue -# 1961| getRValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1961| Type = [Class] D -# 1961| ValueCategory = prvalue(load) -# 1962| getStmt(7): [DeclStmt] declaration -# 1962| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 1962| Type = [Class] D -# 1963| getStmt(8): [ExprStmt] ExprStmt -# 1963| getExpr(): [AssignExpr] ... = ... -# 1963| Type = [Class] D -# 1963| ValueCategory = lvalue -# 1963| getLValue(): [VariableAccess] y -# 1963| Type = [Class] D -# 1963| ValueCategory = lvalue -# 1963| getRValue(): [FunctionCall] call to ReferenceStaticMemberFunction -# 1963| Type = [LValueReferenceType] D & -# 1963| ValueCategory = prvalue -# 1963| getRValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1963| Type = [Class] D -# 1963| ValueCategory = prvalue(load) -# 1964| getStmt(9): [DeclStmt] declaration -# 1964| getDeclarationEntry(0): [VariableDeclarationEntry] definition of j -# 1964| Type = [Class] D -# 1965| getStmt(10): [ExprStmt] ExprStmt -# 1965| getExpr(): [AssignExpr] ... = ... -# 1965| Type = [Class] D -# 1965| ValueCategory = lvalue -# 1965| getLValue(): [VariableAccess] j -# 1965| Type = [Class] D -# 1965| ValueCategory = lvalue -# 1965| getRValue(): [FunctionCall] call to ObjectStaticMemberFunction -# 1965| Type = [Class] D -# 1965| ValueCategory = prvalue -# 1965| getQualifier(): [VariableAccess] d -# 1965| Type = [Class] D -# 1965| ValueCategory = lvalue -# 1966| getStmt(11): [DeclStmt] declaration -# 1966| getDeclarationEntry(0): [VariableDeclarationEntry] definition of k -# 1966| Type = [Class] D -# 1967| getStmt(12): [ExprStmt] ExprStmt -# 1967| getExpr(): [AssignExpr] ... = ... -# 1967| Type = [Class] D -# 1967| ValueCategory = lvalue -# 1967| getLValue(): [VariableAccess] k -# 1967| Type = [Class] D -# 1967| ValueCategory = lvalue -# 1967| getRValue(): [FunctionCall] call to ObjectStaticMemberFunction -# 1967| Type = [Class] D -# 1967| ValueCategory = prvalue -# 1968| getStmt(13): [ReturnStmt] return ... -# 1970| [TopLevelFunction] void test_volatile() -# 1970| : -# 1970| getEntryPoint(): [BlockStmt] { ... } -# 1971| getStmt(0): [DeclStmt] declaration -# 1971| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 1971| Type = [SpecifiedType] volatile int -# 1972| getStmt(1): [ExprStmt] ExprStmt -# 1972| getExpr(): [VariableAccess] x +# 1957| getLesserOperand(): [VariableAccess] x +# 1957| Type = [IntType] int +# 1957| ValueCategory = prvalue(load) +# 1957| getGreaterOperand(): [Literal] 10 +# 1957| Type = [IntType] int +# 1957| Value = [Literal] 10 +# 1957| ValueCategory = prvalue +# 1957| getThen(): [BlockStmt] { ... } +# 1958| getStmt(0): [ExprStmt] ExprStmt +# 1958| getExpr(): [FunctionCall] call to noreturnFunc +# 1958| Type = [VoidType] void +# 1958| ValueCategory = prvalue +# 1960| getStmt(1): [ReturnStmt] return ... +# 1960| getExpr(): [VariableAccess] x +# 1960| Type = [IntType] int +# 1960| ValueCategory = prvalue(load) +# 1963| [TopLevelFunction] int static_function(int) +# 1963| : +# 1963| getParameter(0): [Parameter] x +# 1963| Type = [IntType] int +# 1963| getEntryPoint(): [BlockStmt] { ... } +# 1964| getStmt(0): [ReturnStmt] return ... +# 1964| getExpr(): [VariableAccess] x +# 1964| Type = [IntType] int +# 1964| ValueCategory = prvalue(load) +# 1967| [TopLevelFunction] void test_static_functions_with_assignments() +# 1967| : +# 1967| getEntryPoint(): [BlockStmt] { ... } +# 1968| getStmt(0): [DeclStmt] declaration +# 1968| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c +# 1968| Type = [Class] C +# 1968| getVariable().getInitializer(): [Initializer] initializer for c +# 1968| getExpr(): [ConstructorCall] call to C +# 1968| Type = [VoidType] void +# 1968| ValueCategory = prvalue +# 1969| getStmt(1): [DeclStmt] declaration +# 1969| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 1969| Type = [IntType] int +# 1970| getStmt(2): [ExprStmt] ExprStmt +# 1970| getExpr(): [AssignExpr] ... = ... +# 1970| Type = [IntType] int +# 1970| ValueCategory = lvalue +# 1970| getLValue(): [VariableAccess] x +# 1970| Type = [IntType] int +# 1970| ValueCategory = lvalue +# 1970| getRValue(): [FunctionCall] call to StaticMemberFunction +# 1970| Type = [IntType] int +# 1970| ValueCategory = prvalue +# 1970| getQualifier(): [VariableAccess] c +# 1970| Type = [Class] C +# 1970| ValueCategory = lvalue +# 1970| getArgument(0): [Literal] 10 +# 1970| Type = [IntType] int +# 1970| Value = [Literal] 10 +# 1970| ValueCategory = prvalue +# 1971| getStmt(3): [DeclStmt] declaration +# 1971| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 1971| Type = [IntType] int +# 1972| getStmt(4): [ExprStmt] ExprStmt +# 1972| getExpr(): [AssignExpr] ... = ... # 1972| Type = [IntType] int -# 1972| ValueCategory = prvalue(load) -# 1973| getStmt(2): [ReturnStmt] return ... -# 1975| [CopyAssignmentOperator] ValCat& ValCat::operator=(ValCat const&) -# 1975| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const ValCat & -# 1975| [MoveAssignmentOperator] ValCat& ValCat::operator=(ValCat&&) -# 1975| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [RValueReferenceType] ValCat && -# 1976| [MemberFunction] ValCat& ValCat::lvalue() -# 1976| : -# 1977| [MemberFunction] ValCat&& ValCat::xvalue() +# 1972| ValueCategory = lvalue +# 1972| getLValue(): [VariableAccess] y +# 1972| Type = [IntType] int +# 1972| ValueCategory = lvalue +# 1972| getRValue(): [FunctionCall] call to StaticMemberFunction +# 1972| Type = [IntType] int +# 1972| ValueCategory = prvalue +# 1972| getArgument(0): [Literal] 10 +# 1972| Type = [IntType] int +# 1972| Value = [Literal] 10 +# 1972| ValueCategory = prvalue +# 1973| getStmt(5): [DeclStmt] declaration +# 1973| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z +# 1973| Type = [IntType] int +# 1974| getStmt(6): [ExprStmt] ExprStmt +# 1974| getExpr(): [AssignExpr] ... = ... +# 1974| Type = [IntType] int +# 1974| ValueCategory = lvalue +# 1974| getLValue(): [VariableAccess] z +# 1974| Type = [IntType] int +# 1974| ValueCategory = lvalue +# 1974| getRValue(): [FunctionCall] call to static_function +# 1974| Type = [IntType] int +# 1974| ValueCategory = prvalue +# 1974| getArgument(0): [Literal] 10 +# 1974| Type = [IntType] int +# 1974| Value = [Literal] 10 +# 1974| ValueCategory = prvalue +# 1975| getStmt(7): [ReturnStmt] return ... +# 1975| getImplicitDestructorCall(0): [DestructorCall] call to ~C +# 1975| Type = [VoidType] void +# 1975| ValueCategory = prvalue +# 1975| getQualifier(): [VariableAccess] c +# 1975| Type = [Class] C +# 1975| ValueCategory = lvalue +# 1977| [TopLevelFunction] void test_double_assign() # 1977| : -# 1978| [MemberFunction] ValCat ValCat::prvalue() -# 1978| : -# 1981| [TopLevelFunction] void value_category_test() -# 1981| : -# 1981| getEntryPoint(): [BlockStmt] { ... } -# 1982| getStmt(0): [DeclStmt] declaration -# 1982| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c -# 1982| Type = [Struct] ValCat +# 1977| getEntryPoint(): [BlockStmt] { ... } +# 1978| getStmt(0): [DeclStmt] declaration +# 1978| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i +# 1978| Type = [IntType] int +# 1978| getDeclarationEntry(1): [VariableDeclarationEntry] definition of j +# 1978| Type = [IntType] int +# 1979| getStmt(1): [ExprStmt] ExprStmt +# 1979| getExpr(): [AssignExpr] ... = ... +# 1979| Type = [IntType] int +# 1979| ValueCategory = lvalue +# 1979| getLValue(): [VariableAccess] i +# 1979| Type = [IntType] int +# 1979| ValueCategory = lvalue +# 1979| getRValue(): [AssignExpr] ... = ... +# 1979| Type = [IntType] int +# 1979| ValueCategory = prvalue(load) +# 1979| getLValue(): [VariableAccess] j +# 1979| Type = [IntType] int +# 1979| ValueCategory = lvalue +# 1979| getRValue(): [Literal] 40 +# 1979| Type = [IntType] int +# 1979| Value = [Literal] 40 +# 1979| ValueCategory = prvalue +# 1980| getStmt(2): [ReturnStmt] return ... +# 1982| [TopLevelFunction] void test_assign_with_assign_operation() +# 1982| : +# 1982| getEntryPoint(): [BlockStmt] { ... } +# 1983| getStmt(0): [DeclStmt] declaration +# 1983| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i +# 1983| Type = [IntType] int +# 1983| getDeclarationEntry(1): [VariableDeclarationEntry] definition of j +# 1983| Type = [IntType] int +# 1983| getVariable().getInitializer(): [Initializer] initializer for j +# 1983| getExpr(): [Literal] 0 +# 1983| Type = [IntType] int +# 1983| Value = [Literal] 0 +# 1983| ValueCategory = prvalue # 1984| getStmt(1): [ExprStmt] ExprStmt # 1984| getExpr(): [AssignExpr] ... = ... -# 1984| Type = [Struct] ValCat +# 1984| Type = [IntType] int # 1984| ValueCategory = lvalue -# 1984| getLValue(): [FunctionCall] call to lvalue -# 1984| Type = [LValueReferenceType] ValCat & -# 1984| ValueCategory = prvalue -# 1984| getQualifier(): [VariableAccess] c -# 1984| Type = [Struct] ValCat -# 1984| ValueCategory = lvalue -# 1984| getRValue(): [ClassAggregateLiteral] {...} -# 1984| Type = [Struct] ValCat -# 1984| ValueCategory = prvalue -# 1984| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1984| Type = [Struct] ValCat +# 1984| getLValue(): [VariableAccess] i +# 1984| Type = [IntType] int # 1984| ValueCategory = lvalue -#-----| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object -#-----| Type = [Struct] ValCat -#-----| ValueCategory = prvalue(load) -# 1985| getStmt(2): [ExprStmt] ExprStmt -# 1985| getExpr(): [AssignExpr] ... = ... -# 1985| Type = [Struct] ValCat -# 1985| ValueCategory = lvalue -# 1985| getLValue(): [FunctionCall] call to xvalue -# 1985| Type = [RValueReferenceType] ValCat && -# 1985| ValueCategory = prvalue -# 1985| getQualifier(): [VariableAccess] c -# 1985| Type = [Struct] ValCat -# 1985| ValueCategory = lvalue -# 1985| getRValue(): [ClassAggregateLiteral] {...} -# 1985| Type = [Struct] ValCat -# 1985| ValueCategory = prvalue -# 1985| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1985| Type = [Struct] ValCat -# 1985| ValueCategory = lvalue -#-----| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object -#-----| Type = [Struct] ValCat -#-----| ValueCategory = prvalue(load) -# 1986| getStmt(3): [ExprStmt] ExprStmt -# 1986| getExpr(): [AssignExpr] ... = ... -# 1986| Type = [Struct] ValCat -# 1986| ValueCategory = lvalue -# 1986| getLValue(): [FunctionCall] call to prvalue -# 1986| Type = [Struct] ValCat -# 1986| ValueCategory = prvalue -# 1986| getQualifier(): [VariableAccess] c -# 1986| Type = [Struct] ValCat -# 1986| ValueCategory = lvalue -# 1986| getRValue(): [ClassAggregateLiteral] {...} -# 1986| Type = [Struct] ValCat -# 1986| ValueCategory = prvalue -# 1986| getLValue().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1986| Type = [Struct] ValCat -# 1986| ValueCategory = lvalue -#-----| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object -#-----| Type = [Struct] ValCat -#-----| ValueCategory = prvalue(load) -# 1987| getStmt(4): [ExprStmt] ExprStmt -# 1987| getExpr(): [AssignExpr] ... = ... -# 1987| Type = [Struct] ValCat -# 1987| ValueCategory = lvalue -# 1987| getLValue(): [FunctionCall] call to lvalue -# 1987| Type = [LValueReferenceType] ValCat & -# 1987| ValueCategory = prvalue -# 1987| getRValue(): [ClassAggregateLiteral] {...} -# 1987| Type = [Struct] ValCat -# 1987| ValueCategory = prvalue -# 1987| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1987| Type = [Struct] ValCat -# 1987| ValueCategory = lvalue -#-----| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object -#-----| Type = [Struct] ValCat -#-----| ValueCategory = prvalue(load) -# 1988| getStmt(5): [ExprStmt] ExprStmt -# 1988| getExpr(): [AssignExpr] ... = ... -# 1988| Type = [Struct] ValCat -# 1988| ValueCategory = lvalue -# 1988| getLValue(): [FunctionCall] call to xvalue -# 1988| Type = [RValueReferenceType] ValCat && -# 1988| ValueCategory = prvalue -# 1988| getRValue(): [ClassAggregateLiteral] {...} -# 1988| Type = [Struct] ValCat -# 1988| ValueCategory = prvalue -# 1988| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1988| Type = [Struct] ValCat -# 1988| ValueCategory = lvalue -#-----| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object -#-----| Type = [Struct] ValCat -#-----| ValueCategory = prvalue(load) -# 1989| getStmt(6): [ExprStmt] ExprStmt -# 1989| getExpr(): [AssignExpr] ... = ... -# 1989| Type = [Struct] ValCat -# 1989| ValueCategory = lvalue -# 1989| getLValue(): [FunctionCall] call to prvalue -# 1989| Type = [Struct] ValCat -# 1989| ValueCategory = prvalue -# 1989| getRValue(): [ClassAggregateLiteral] {...} -# 1989| Type = [Struct] ValCat -# 1989| ValueCategory = prvalue -# 1989| getLValue().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1989| Type = [Struct] ValCat -# 1989| ValueCategory = lvalue -#-----| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object -#-----| Type = [Struct] ValCat -#-----| ValueCategory = prvalue(load) -# 1990| getStmt(7): [ReturnStmt] return ... -# 1992| [TopLevelFunction] void SetStaticFuncPtr() -# 1992| : -# 1992| getEntryPoint(): [BlockStmt] { ... } -# 1993| getStmt(0): [DeclStmt] declaration -# 1993| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c -# 1993| Type = [Class] C -# 1993| getVariable().getInitializer(): [Initializer] initializer for c -# 1993| getExpr(): [ConstructorCall] call to C -# 1993| Type = [VoidType] void -# 1993| ValueCategory = prvalue -# 1994| getStmt(1): [DeclStmt] declaration -# 1994| getDeclarationEntry(0): [VariableDeclarationEntry] definition of pfn -# 1994| Type = [FunctionPointerType] ..(*)(..) -# 1994| getVariable().getInitializer(): [Initializer] initializer for pfn -# 1994| getExpr(): [FunctionAccess] StaticMemberFunction -# 1994| Type = [FunctionPointerType] ..(*)(..) -# 1994| ValueCategory = prvalue(load) -# 1995| getStmt(2): [ExprStmt] ExprStmt -# 1995| getExpr(): [AssignExpr] ... = ... -# 1995| Type = [FunctionPointerType] ..(*)(..) -# 1995| ValueCategory = lvalue -# 1995| getLValue(): [VariableAccess] pfn -# 1995| Type = [FunctionPointerType] ..(*)(..) -# 1995| ValueCategory = lvalue -# 1995| getRValue(): [FunctionAccess] StaticMemberFunction -# 1995| Type = [FunctionPointerType] ..(*)(..) -# 1995| ValueCategory = prvalue(load) -# 1995| getQualifier(): [VariableAccess] c -# 1995| Type = [Class] C -# 1995| ValueCategory = lvalue -# 1996| getStmt(3): [ReturnStmt] return ... -# 1996| getImplicitDestructorCall(0): [DestructorCall] call to ~C -# 1996| Type = [VoidType] void -# 1996| ValueCategory = prvalue -# 1996| getQualifier(): [VariableAccess] c -# 1996| Type = [Class] C -# 1996| ValueCategory = lvalue -# 1998| [TopLevelFunction] void TernaryTestInt(bool, int, int, int) -# 1998| : -# 1998| getParameter(0): [Parameter] a -# 1998| Type = [BoolType] bool -# 1998| getParameter(1): [Parameter] x -# 1998| Type = [IntType] int -# 1998| getParameter(2): [Parameter] y -# 1998| Type = [IntType] int -# 1998| getParameter(3): [Parameter] z -# 1998| Type = [IntType] int -# 1998| getEntryPoint(): [BlockStmt] { ... } -# 1999| getStmt(0): [ExprStmt] ExprStmt -# 1999| getExpr(): [AssignExpr] ... = ... -# 1999| Type = [IntType] int -# 1999| ValueCategory = lvalue -# 1999| getLValue(): [VariableAccess] z -# 1999| Type = [IntType] int -# 1999| ValueCategory = lvalue -# 1999| getRValue(): [ConditionalExpr] ... ? ... : ... -# 1999| Type = [IntType] int -# 1999| ValueCategory = prvalue(load) -# 1999| getCondition(): [VariableAccess] a -# 1999| Type = [BoolType] bool -# 1999| ValueCategory = prvalue(load) -# 1999| getThen(): [VariableAccess] x -# 1999| Type = [IntType] int -# 1999| ValueCategory = prvalue(load) -# 1999| getElse(): [VariableAccess] y -# 1999| Type = [IntType] int -# 1999| ValueCategory = prvalue(load) -# 2000| getStmt(1): [ExprStmt] ExprStmt -# 2000| getExpr(): [AssignExpr] ... = ... -# 2000| Type = [IntType] int -# 2000| ValueCategory = lvalue -# 2000| getLValue(): [VariableAccess] z -# 2000| Type = [IntType] int -# 2000| ValueCategory = lvalue -# 2000| getRValue(): [ConditionalExpr] ... ? ... : ... -# 2000| Type = [IntType] int -# 2000| ValueCategory = prvalue(load) -# 2000| getCondition(): [VariableAccess] a -# 2000| Type = [BoolType] bool -# 2000| ValueCategory = prvalue(load) -# 2000| getThen(): [VariableAccess] x -# 2000| Type = [IntType] int -# 2000| ValueCategory = prvalue(load) -# 2000| getElse(): [Literal] 5 -# 2000| Type = [IntType] int -# 2000| Value = [Literal] 5 -# 2000| ValueCategory = prvalue -# 2001| getStmt(2): [ExprStmt] ExprStmt -# 2001| getExpr(): [AssignExpr] ... = ... -# 2001| Type = [IntType] int -# 2001| ValueCategory = lvalue -# 2001| getLValue(): [VariableAccess] z -# 2001| Type = [IntType] int -# 2001| ValueCategory = lvalue -# 2001| getRValue(): [ConditionalExpr] ... ? ... : ... -# 2001| Type = [IntType] int -# 2001| ValueCategory = prvalue -# 2001| getCondition(): [VariableAccess] a -# 2001| Type = [BoolType] bool -# 2001| ValueCategory = prvalue(load) -# 2001| getThen(): [Literal] 3 -# 2001| Type = [IntType] int -# 2001| Value = [Literal] 3 -# 2001| ValueCategory = prvalue -# 2001| getElse(): [Literal] 5 -# 2001| Type = [IntType] int -# 2001| Value = [Literal] 5 -# 2001| ValueCategory = prvalue -# 2002| getStmt(3): [ExprStmt] ExprStmt -# 2002| getExpr(): [AssignExpr] ... = ... -# 2002| Type = [IntType] int +# 1984| getRValue(): [AssignAddExpr] ... += ... +# 1984| Type = [IntType] int +# 1984| ValueCategory = prvalue(load) +# 1984| getLValue(): [VariableAccess] j +# 1984| Type = [IntType] int +# 1984| ValueCategory = lvalue +# 1984| getRValue(): [Literal] 40 +# 1984| Type = [IntType] int +# 1984| Value = [Literal] 40 +# 1984| ValueCategory = prvalue +# 1984| getRValue().getFullyConverted(): [ParenthesisExpr] (...) +# 1984| Type = [IntType] int +# 1984| ValueCategory = prvalue(load) +# 1985| getStmt(2): [ReturnStmt] return ... +# 1987| [CopyAssignmentOperator] D& D::operator=(D const&) +# 1987| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const D & +# 1987| [MoveAssignmentOperator] D& D::operator=(D&&) +# 1987| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [RValueReferenceType] D && +# 1991| [MemberFunction] D& D::ReferenceStaticMemberFunction() +# 1991| : +# 1991| getEntryPoint(): [BlockStmt] { ... } +# 1992| getStmt(0): [ReturnStmt] return ... +# 1992| getExpr(): [VariableAccess] x +# 1992| Type = [Class] D +# 1992| ValueCategory = lvalue +# 1992| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1992| Type = [LValueReferenceType] D & +# 1992| ValueCategory = prvalue +# 1994| [MemberFunction] D D::ObjectStaticMemberFunction() +# 1994| : +# 1994| getEntryPoint(): [BlockStmt] { ... } +# 1995| getStmt(0): [ReturnStmt] return ... +# 1995| getExpr(): [VariableAccess] x +# 1995| Type = [Class] D +# 1995| ValueCategory = prvalue(load) +# 1999| [TopLevelFunction] void test_static_member_functions_with_reference_return() +# 1999| : +# 1999| getEntryPoint(): [BlockStmt] { ... } +# 2000| getStmt(0): [DeclStmt] declaration +# 2000| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d +# 2000| Type = [Class] D +# 2002| getStmt(1): [ExprStmt] ExprStmt +# 2002| getExpr(): [FunctionCall] call to ReferenceStaticMemberFunction +# 2002| Type = [LValueReferenceType] D & +# 2002| ValueCategory = prvalue +# 2002| getQualifier(): [VariableAccess] d +# 2002| Type = [Class] D +# 2002| ValueCategory = lvalue +# 2002| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2002| Type = [Class] D # 2002| ValueCategory = lvalue -# 2002| getLValue(): [ConditionalExpr] ... ? ... : ... -# 2002| Type = [IntType] int -# 2002| ValueCategory = lvalue -# 2002| getCondition(): [VariableAccess] a -# 2002| Type = [BoolType] bool -# 2002| ValueCategory = prvalue(load) -# 2002| getThen(): [VariableAccess] x -# 2002| Type = [IntType] int -# 2002| ValueCategory = lvalue -# 2002| getElse(): [VariableAccess] y -# 2002| Type = [IntType] int -# 2002| ValueCategory = lvalue -# 2002| getRValue(): [Literal] 7 -# 2002| Type = [IntType] int -# 2002| Value = [Literal] 7 -# 2002| ValueCategory = prvalue -# 2002| getLValue().getFullyConverted(): [ParenthesisExpr] (...) -# 2002| Type = [IntType] int -# 2002| ValueCategory = lvalue -# 2003| getStmt(4): [ReturnStmt] return ... -# 2005| [CopyAssignmentOperator] TernaryPodObj& TernaryPodObj::operator=(TernaryPodObj const&) -# 2005| : +# 2003| getStmt(2): [ExprStmt] ExprStmt +# 2003| getExpr(): [FunctionCall] call to ReferenceStaticMemberFunction +# 2003| Type = [LValueReferenceType] D & +# 2003| ValueCategory = prvalue +# 2003| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2003| Type = [Class] D +# 2003| ValueCategory = lvalue +# 2004| getStmt(3): [ExprStmt] ExprStmt +# 2004| getExpr(): [FunctionCall] call to ObjectStaticMemberFunction +# 2004| Type = [Class] D +# 2004| ValueCategory = prvalue +# 2004| getQualifier(): [VariableAccess] d +# 2004| Type = [Class] D +# 2004| ValueCategory = lvalue +# 2005| getStmt(4): [ExprStmt] ExprStmt +# 2005| getExpr(): [FunctionCall] call to ObjectStaticMemberFunction +# 2005| Type = [Class] D +# 2005| ValueCategory = prvalue +# 2007| getStmt(5): [DeclStmt] declaration +# 2007| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2007| Type = [Class] D +# 2008| getStmt(6): [ExprStmt] ExprStmt +# 2008| getExpr(): [AssignExpr] ... = ... +# 2008| Type = [Class] D +# 2008| ValueCategory = lvalue +# 2008| getLValue(): [VariableAccess] x +# 2008| Type = [Class] D +# 2008| ValueCategory = lvalue +# 2008| getRValue(): [FunctionCall] call to ReferenceStaticMemberFunction +# 2008| Type = [LValueReferenceType] D & +# 2008| ValueCategory = prvalue +# 2008| getQualifier(): [VariableAccess] d +# 2008| Type = [Class] D +# 2008| ValueCategory = lvalue +# 2008| getRValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2008| Type = [Class] D +# 2008| ValueCategory = prvalue(load) +# 2009| getStmt(7): [DeclStmt] declaration +# 2009| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 2009| Type = [Class] D +# 2010| getStmt(8): [ExprStmt] ExprStmt +# 2010| getExpr(): [AssignExpr] ... = ... +# 2010| Type = [Class] D +# 2010| ValueCategory = lvalue +# 2010| getLValue(): [VariableAccess] y +# 2010| Type = [Class] D +# 2010| ValueCategory = lvalue +# 2010| getRValue(): [FunctionCall] call to ReferenceStaticMemberFunction +# 2010| Type = [LValueReferenceType] D & +# 2010| ValueCategory = prvalue +# 2010| getRValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2010| Type = [Class] D +# 2010| ValueCategory = prvalue(load) +# 2011| getStmt(9): [DeclStmt] declaration +# 2011| getDeclarationEntry(0): [VariableDeclarationEntry] definition of j +# 2011| Type = [Class] D +# 2012| getStmt(10): [ExprStmt] ExprStmt +# 2012| getExpr(): [AssignExpr] ... = ... +# 2012| Type = [Class] D +# 2012| ValueCategory = lvalue +# 2012| getLValue(): [VariableAccess] j +# 2012| Type = [Class] D +# 2012| ValueCategory = lvalue +# 2012| getRValue(): [FunctionCall] call to ObjectStaticMemberFunction +# 2012| Type = [Class] D +# 2012| ValueCategory = prvalue +# 2012| getQualifier(): [VariableAccess] d +# 2012| Type = [Class] D +# 2012| ValueCategory = lvalue +# 2013| getStmt(11): [DeclStmt] declaration +# 2013| getDeclarationEntry(0): [VariableDeclarationEntry] definition of k +# 2013| Type = [Class] D +# 2014| getStmt(12): [ExprStmt] ExprStmt +# 2014| getExpr(): [AssignExpr] ... = ... +# 2014| Type = [Class] D +# 2014| ValueCategory = lvalue +# 2014| getLValue(): [VariableAccess] k +# 2014| Type = [Class] D +# 2014| ValueCategory = lvalue +# 2014| getRValue(): [FunctionCall] call to ObjectStaticMemberFunction +# 2014| Type = [Class] D +# 2014| ValueCategory = prvalue +# 2015| getStmt(13): [ReturnStmt] return ... +# 2017| [TopLevelFunction] void test_volatile() +# 2017| : +# 2017| getEntryPoint(): [BlockStmt] { ... } +# 2018| getStmt(0): [DeclStmt] declaration +# 2018| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2018| Type = [SpecifiedType] volatile int +# 2019| getStmt(1): [ExprStmt] ExprStmt +# 2019| getExpr(): [VariableAccess] x +# 2019| Type = [IntType] int +# 2019| ValueCategory = prvalue(load) +# 2020| getStmt(2): [ReturnStmt] return ... +# 2022| [CopyAssignmentOperator] ValCat& ValCat::operator=(ValCat const&) +# 2022| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const ValCat & +# 2022| [MoveAssignmentOperator] ValCat& ValCat::operator=(ValCat&&) +# 2022| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [RValueReferenceType] ValCat && +# 2023| [MemberFunction] ValCat& ValCat::lvalue() +# 2023| : +# 2024| [MemberFunction] ValCat&& ValCat::xvalue() +# 2024| : +# 2025| [MemberFunction] ValCat ValCat::prvalue() +# 2025| : +# 2028| [TopLevelFunction] void value_category_test() +# 2028| : +# 2028| getEntryPoint(): [BlockStmt] { ... } +# 2029| getStmt(0): [DeclStmt] declaration +# 2029| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c +# 2029| Type = [Struct] ValCat +# 2031| getStmt(1): [ExprStmt] ExprStmt +# 2031| getExpr(): [AssignExpr] ... = ... +# 2031| Type = [Struct] ValCat +# 2031| ValueCategory = lvalue +# 2031| getLValue(): [FunctionCall] call to lvalue +# 2031| Type = [LValueReferenceType] ValCat & +# 2031| ValueCategory = prvalue +# 2031| getQualifier(): [VariableAccess] c +# 2031| Type = [Struct] ValCat +# 2031| ValueCategory = lvalue +# 2031| getRValue(): [ClassAggregateLiteral] {...} +# 2031| Type = [Struct] ValCat +# 2031| ValueCategory = prvalue +# 2031| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2031| Type = [Struct] ValCat +# 2031| ValueCategory = lvalue +#-----| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object +#-----| Type = [Struct] ValCat +#-----| ValueCategory = prvalue(load) +# 2032| getStmt(2): [ExprStmt] ExprStmt +# 2032| getExpr(): [AssignExpr] ... = ... +# 2032| Type = [Struct] ValCat +# 2032| ValueCategory = lvalue +# 2032| getLValue(): [FunctionCall] call to xvalue +# 2032| Type = [RValueReferenceType] ValCat && +# 2032| ValueCategory = prvalue +# 2032| getQualifier(): [VariableAccess] c +# 2032| Type = [Struct] ValCat +# 2032| ValueCategory = lvalue +# 2032| getRValue(): [ClassAggregateLiteral] {...} +# 2032| Type = [Struct] ValCat +# 2032| ValueCategory = prvalue +# 2032| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2032| Type = [Struct] ValCat +# 2032| ValueCategory = lvalue +#-----| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object +#-----| Type = [Struct] ValCat +#-----| ValueCategory = prvalue(load) +# 2033| getStmt(3): [ExprStmt] ExprStmt +# 2033| getExpr(): [AssignExpr] ... = ... +# 2033| Type = [Struct] ValCat +# 2033| ValueCategory = lvalue +# 2033| getLValue(): [FunctionCall] call to prvalue +# 2033| Type = [Struct] ValCat +# 2033| ValueCategory = prvalue +# 2033| getQualifier(): [VariableAccess] c +# 2033| Type = [Struct] ValCat +# 2033| ValueCategory = lvalue +# 2033| getRValue(): [ClassAggregateLiteral] {...} +# 2033| Type = [Struct] ValCat +# 2033| ValueCategory = prvalue +# 2033| getLValue().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2033| Type = [Struct] ValCat +# 2033| ValueCategory = lvalue +#-----| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object +#-----| Type = [Struct] ValCat +#-----| ValueCategory = prvalue(load) +# 2034| getStmt(4): [ExprStmt] ExprStmt +# 2034| getExpr(): [AssignExpr] ... = ... +# 2034| Type = [Struct] ValCat +# 2034| ValueCategory = lvalue +# 2034| getLValue(): [FunctionCall] call to lvalue +# 2034| Type = [LValueReferenceType] ValCat & +# 2034| ValueCategory = prvalue +# 2034| getRValue(): [ClassAggregateLiteral] {...} +# 2034| Type = [Struct] ValCat +# 2034| ValueCategory = prvalue +# 2034| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2034| Type = [Struct] ValCat +# 2034| ValueCategory = lvalue +#-----| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object +#-----| Type = [Struct] ValCat +#-----| ValueCategory = prvalue(load) +# 2035| getStmt(5): [ExprStmt] ExprStmt +# 2035| getExpr(): [AssignExpr] ... = ... +# 2035| Type = [Struct] ValCat +# 2035| ValueCategory = lvalue +# 2035| getLValue(): [FunctionCall] call to xvalue +# 2035| Type = [RValueReferenceType] ValCat && +# 2035| ValueCategory = prvalue +# 2035| getRValue(): [ClassAggregateLiteral] {...} +# 2035| Type = [Struct] ValCat +# 2035| ValueCategory = prvalue +# 2035| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2035| Type = [Struct] ValCat +# 2035| ValueCategory = lvalue +#-----| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object +#-----| Type = [Struct] ValCat +#-----| ValueCategory = prvalue(load) +# 2036| getStmt(6): [ExprStmt] ExprStmt +# 2036| getExpr(): [AssignExpr] ... = ... +# 2036| Type = [Struct] ValCat +# 2036| ValueCategory = lvalue +# 2036| getLValue(): [FunctionCall] call to prvalue +# 2036| Type = [Struct] ValCat +# 2036| ValueCategory = prvalue +# 2036| getRValue(): [ClassAggregateLiteral] {...} +# 2036| Type = [Struct] ValCat +# 2036| ValueCategory = prvalue +# 2036| getLValue().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2036| Type = [Struct] ValCat +# 2036| ValueCategory = lvalue +#-----| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object +#-----| Type = [Struct] ValCat +#-----| ValueCategory = prvalue(load) +# 2037| getStmt(7): [ReturnStmt] return ... +# 2039| [TopLevelFunction] void SetStaticFuncPtr() +# 2039| : +# 2039| getEntryPoint(): [BlockStmt] { ... } +# 2040| getStmt(0): [DeclStmt] declaration +# 2040| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c +# 2040| Type = [Class] C +# 2040| getVariable().getInitializer(): [Initializer] initializer for c +# 2040| getExpr(): [ConstructorCall] call to C +# 2040| Type = [VoidType] void +# 2040| ValueCategory = prvalue +# 2041| getStmt(1): [DeclStmt] declaration +# 2041| getDeclarationEntry(0): [VariableDeclarationEntry] definition of pfn +# 2041| Type = [FunctionPointerType] ..(*)(..) +# 2041| getVariable().getInitializer(): [Initializer] initializer for pfn +# 2041| getExpr(): [FunctionAccess] StaticMemberFunction +# 2041| Type = [FunctionPointerType] ..(*)(..) +# 2041| ValueCategory = prvalue(load) +# 2042| getStmt(2): [ExprStmt] ExprStmt +# 2042| getExpr(): [AssignExpr] ... = ... +# 2042| Type = [FunctionPointerType] ..(*)(..) +# 2042| ValueCategory = lvalue +# 2042| getLValue(): [VariableAccess] pfn +# 2042| Type = [FunctionPointerType] ..(*)(..) +# 2042| ValueCategory = lvalue +# 2042| getRValue(): [FunctionAccess] StaticMemberFunction +# 2042| Type = [FunctionPointerType] ..(*)(..) +# 2042| ValueCategory = prvalue(load) +# 2042| getQualifier(): [VariableAccess] c +# 2042| Type = [Class] C +# 2042| ValueCategory = lvalue +# 2043| getStmt(3): [ReturnStmt] return ... +# 2043| getImplicitDestructorCall(0): [DestructorCall] call to ~C +# 2043| Type = [VoidType] void +# 2043| ValueCategory = prvalue +# 2043| getQualifier(): [VariableAccess] c +# 2043| Type = [Class] C +# 2043| ValueCategory = lvalue +# 2045| [TopLevelFunction] void TernaryTestInt(bool, int, int, int) +# 2045| : +# 2045| getParameter(0): [Parameter] a +# 2045| Type = [BoolType] bool +# 2045| getParameter(1): [Parameter] x +# 2045| Type = [IntType] int +# 2045| getParameter(2): [Parameter] y +# 2045| Type = [IntType] int +# 2045| getParameter(3): [Parameter] z +# 2045| Type = [IntType] int +# 2045| getEntryPoint(): [BlockStmt] { ... } +# 2046| getStmt(0): [ExprStmt] ExprStmt +# 2046| getExpr(): [AssignExpr] ... = ... +# 2046| Type = [IntType] int +# 2046| ValueCategory = lvalue +# 2046| getLValue(): [VariableAccess] z +# 2046| Type = [IntType] int +# 2046| ValueCategory = lvalue +# 2046| getRValue(): [ConditionalExpr] ... ? ... : ... +# 2046| Type = [IntType] int +# 2046| ValueCategory = prvalue(load) +# 2046| getCondition(): [VariableAccess] a +# 2046| Type = [BoolType] bool +# 2046| ValueCategory = prvalue(load) +# 2046| getThen(): [VariableAccess] x +# 2046| Type = [IntType] int +# 2046| ValueCategory = prvalue(load) +# 2046| getElse(): [VariableAccess] y +# 2046| Type = [IntType] int +# 2046| ValueCategory = prvalue(load) +# 2047| getStmt(1): [ExprStmt] ExprStmt +# 2047| getExpr(): [AssignExpr] ... = ... +# 2047| Type = [IntType] int +# 2047| ValueCategory = lvalue +# 2047| getLValue(): [VariableAccess] z +# 2047| Type = [IntType] int +# 2047| ValueCategory = lvalue +# 2047| getRValue(): [ConditionalExpr] ... ? ... : ... +# 2047| Type = [IntType] int +# 2047| ValueCategory = prvalue(load) +# 2047| getCondition(): [VariableAccess] a +# 2047| Type = [BoolType] bool +# 2047| ValueCategory = prvalue(load) +# 2047| getThen(): [VariableAccess] x +# 2047| Type = [IntType] int +# 2047| ValueCategory = prvalue(load) +# 2047| getElse(): [Literal] 5 +# 2047| Type = [IntType] int +# 2047| Value = [Literal] 5 +# 2047| ValueCategory = prvalue +# 2048| getStmt(2): [ExprStmt] ExprStmt +# 2048| getExpr(): [AssignExpr] ... = ... +# 2048| Type = [IntType] int +# 2048| ValueCategory = lvalue +# 2048| getLValue(): [VariableAccess] z +# 2048| Type = [IntType] int +# 2048| ValueCategory = lvalue +# 2048| getRValue(): [ConditionalExpr] ... ? ... : ... +# 2048| Type = [IntType] int +# 2048| ValueCategory = prvalue +# 2048| getCondition(): [VariableAccess] a +# 2048| Type = [BoolType] bool +# 2048| ValueCategory = prvalue(load) +# 2048| getThen(): [Literal] 3 +# 2048| Type = [IntType] int +# 2048| Value = [Literal] 3 +# 2048| ValueCategory = prvalue +# 2048| getElse(): [Literal] 5 +# 2048| Type = [IntType] int +# 2048| Value = [Literal] 5 +# 2048| ValueCategory = prvalue +# 2049| getStmt(3): [ExprStmt] ExprStmt +# 2049| getExpr(): [AssignExpr] ... = ... +# 2049| Type = [IntType] int +# 2049| ValueCategory = lvalue +# 2049| getLValue(): [ConditionalExpr] ... ? ... : ... +# 2049| Type = [IntType] int +# 2049| ValueCategory = lvalue +# 2049| getCondition(): [VariableAccess] a +# 2049| Type = [BoolType] bool +# 2049| ValueCategory = prvalue(load) +# 2049| getThen(): [VariableAccess] x +# 2049| Type = [IntType] int +# 2049| ValueCategory = lvalue +# 2049| getElse(): [VariableAccess] y +# 2049| Type = [IntType] int +# 2049| ValueCategory = lvalue +# 2049| getRValue(): [Literal] 7 +# 2049| Type = [IntType] int +# 2049| Value = [Literal] 7 +# 2049| ValueCategory = prvalue +# 2049| getLValue().getFullyConverted(): [ParenthesisExpr] (...) +# 2049| Type = [IntType] int +# 2049| ValueCategory = lvalue +# 2050| getStmt(4): [ReturnStmt] return ... +# 2052| [CopyAssignmentOperator] TernaryPodObj& TernaryPodObj::operator=(TernaryPodObj const&) +# 2052| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const TernaryPodObj & -# 2005| [MoveAssignmentOperator] TernaryPodObj& TernaryPodObj::operator=(TernaryPodObj&&) -# 2005| : +# 2052| [MoveAssignmentOperator] TernaryPodObj& TernaryPodObj::operator=(TernaryPodObj&&) +# 2052| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] TernaryPodObj && -# 2008| [TopLevelFunction] void TernaryTestPodObj(bool, TernaryPodObj, TernaryPodObj, TernaryPodObj) -# 2008| : -# 2008| getParameter(0): [Parameter] a -# 2008| Type = [BoolType] bool -# 2008| getParameter(1): [Parameter] x -# 2008| Type = [Struct] TernaryPodObj -# 2008| getParameter(2): [Parameter] y -# 2008| Type = [Struct] TernaryPodObj -# 2008| getParameter(3): [Parameter] z -# 2008| Type = [Struct] TernaryPodObj -# 2008| getEntryPoint(): [BlockStmt] { ... } -# 2009| getStmt(0): [ExprStmt] ExprStmt -# 2009| getExpr(): [AssignExpr] ... = ... -# 2009| Type = [Struct] TernaryPodObj -# 2009| ValueCategory = lvalue -# 2009| getLValue(): [VariableAccess] z -# 2009| Type = [Struct] TernaryPodObj -# 2009| ValueCategory = lvalue -# 2009| getRValue(): [ConditionalExpr] ... ? ... : ... -# 2009| Type = [Struct] TernaryPodObj -# 2009| ValueCategory = prvalue(load) -# 2009| getCondition(): [VariableAccess] a -# 2009| Type = [BoolType] bool -# 2009| ValueCategory = prvalue(load) -# 2009| getThen(): [VariableAccess] x -# 2009| Type = [Struct] TernaryPodObj -# 2009| ValueCategory = prvalue(load) -# 2009| getElse(): [VariableAccess] y -# 2009| Type = [Struct] TernaryPodObj -# 2009| ValueCategory = prvalue(load) -# 2010| getStmt(1): [ExprStmt] ExprStmt -# 2010| getExpr(): [AssignExpr] ... = ... -# 2010| Type = [Struct] TernaryPodObj -# 2010| ValueCategory = lvalue -# 2010| getLValue(): [VariableAccess] z -# 2010| Type = [Struct] TernaryPodObj -# 2010| ValueCategory = lvalue -# 2010| getRValue(): [ConditionalExpr] ... ? ... : ... -# 2010| Type = [Struct] TernaryPodObj -# 2010| ValueCategory = prvalue -# 2010| getCondition(): [VariableAccess] a -# 2010| Type = [BoolType] bool -# 2010| ValueCategory = prvalue(load) -# 2010| getThen(): [VariableAccess] x -# 2010| Type = [Struct] TernaryPodObj -# 2010| ValueCategory = prvalue(load) -# 2010| getElse(): [Literal] 0 -# 2010| Type = [Struct] TernaryPodObj -# 2010| Value = [Literal] 0 -# 2010| ValueCategory = prvalue -# 2010| getThen().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2010| Type = [Struct] TernaryPodObj -# 2010| ValueCategory = prvalue(load) -# 2010| getElse().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2010| Type = [Struct] TernaryPodObj -# 2010| ValueCategory = prvalue(load) -# 2010| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2010| Type = [Struct] TernaryPodObj -# 2010| ValueCategory = prvalue(load) -# 2011| getStmt(2): [ExprStmt] ExprStmt -# 2011| getExpr(): [AssignExpr] ... = ... -# 2011| Type = [Struct] TernaryPodObj -# 2011| ValueCategory = lvalue -# 2011| getLValue(): [VariableAccess] z -# 2011| Type = [Struct] TernaryPodObj -# 2011| ValueCategory = lvalue -# 2011| getRValue(): [ConditionalExpr] ... ? ... : ... -# 2011| Type = [Struct] TernaryPodObj -# 2011| ValueCategory = prvalue -# 2011| getCondition(): [VariableAccess] a -# 2011| Type = [BoolType] bool -# 2011| ValueCategory = prvalue(load) -# 2011| getThen(): [Literal] 0 -# 2011| Type = [Struct] TernaryPodObj -# 2011| Value = [Literal] 0 -# 2011| ValueCategory = prvalue -# 2011| getElse(): [Literal] 0 -# 2011| Type = [Struct] TernaryPodObj -# 2011| Value = [Literal] 0 -# 2011| ValueCategory = prvalue -# 2011| getThen().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2011| Type = [Struct] TernaryPodObj -# 2011| ValueCategory = prvalue(load) -# 2011| getElse().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2011| Type = [Struct] TernaryPodObj -# 2011| ValueCategory = prvalue(load) -# 2011| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2011| Type = [Struct] TernaryPodObj -# 2011| ValueCategory = prvalue(load) -# 2012| getStmt(3): [ExprStmt] ExprStmt -# 2012| getExpr(): [AssignExpr] ... = ... -# 2012| Type = [Struct] TernaryPodObj -# 2012| ValueCategory = lvalue -# 2012| getLValue(): [AssignExpr] ... = ... -# 2012| Type = [Struct] TernaryPodObj -# 2012| ValueCategory = lvalue -# 2012| getLValue(): [VariableAccess] z -# 2012| Type = [Struct] TernaryPodObj -# 2012| ValueCategory = lvalue -# 2012| getRValue(): [ConditionalExpr] ... ? ... : ... -# 2012| Type = [Struct] TernaryPodObj -# 2012| ValueCategory = prvalue(load) -# 2012| getCondition(): [VariableAccess] a -# 2012| Type = [BoolType] bool -# 2012| ValueCategory = prvalue(load) -# 2012| getThen(): [VariableAccess] x -# 2012| Type = [Struct] TernaryPodObj -# 2012| ValueCategory = prvalue(load) -# 2012| getElse(): [VariableAccess] y -# 2012| Type = [Struct] TernaryPodObj -# 2012| ValueCategory = prvalue(load) -# 2012| getRValue(): [Literal] 0 -# 2012| Type = [Struct] TernaryPodObj -# 2012| Value = [Literal] 0 -# 2012| ValueCategory = prvalue -# 2012| getLValue().getFullyConverted(): [ParenthesisExpr] (...) -# 2012| Type = [Struct] TernaryPodObj -# 2012| ValueCategory = lvalue -# 2012| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2012| Type = [Struct] TernaryPodObj -# 2012| ValueCategory = prvalue(load) -# 2013| getStmt(4): [ReturnStmt] return ... -# 2015| [CopyAssignmentOperator] TernaryNonPodObj& TernaryNonPodObj::operator=(TernaryNonPodObj const&) -# 2015| : +# 2055| [TopLevelFunction] void TernaryTestPodObj(bool, TernaryPodObj, TernaryPodObj, TernaryPodObj) +# 2055| : +# 2055| getParameter(0): [Parameter] a +# 2055| Type = [BoolType] bool +# 2055| getParameter(1): [Parameter] x +# 2055| Type = [Struct] TernaryPodObj +# 2055| getParameter(2): [Parameter] y +# 2055| Type = [Struct] TernaryPodObj +# 2055| getParameter(3): [Parameter] z +# 2055| Type = [Struct] TernaryPodObj +# 2055| getEntryPoint(): [BlockStmt] { ... } +# 2056| getStmt(0): [ExprStmt] ExprStmt +# 2056| getExpr(): [AssignExpr] ... = ... +# 2056| Type = [Struct] TernaryPodObj +# 2056| ValueCategory = lvalue +# 2056| getLValue(): [VariableAccess] z +# 2056| Type = [Struct] TernaryPodObj +# 2056| ValueCategory = lvalue +# 2056| getRValue(): [ConditionalExpr] ... ? ... : ... +# 2056| Type = [Struct] TernaryPodObj +# 2056| ValueCategory = prvalue(load) +# 2056| getCondition(): [VariableAccess] a +# 2056| Type = [BoolType] bool +# 2056| ValueCategory = prvalue(load) +# 2056| getThen(): [VariableAccess] x +# 2056| Type = [Struct] TernaryPodObj +# 2056| ValueCategory = prvalue(load) +# 2056| getElse(): [VariableAccess] y +# 2056| Type = [Struct] TernaryPodObj +# 2056| ValueCategory = prvalue(load) +# 2057| getStmt(1): [ExprStmt] ExprStmt +# 2057| getExpr(): [AssignExpr] ... = ... +# 2057| Type = [Struct] TernaryPodObj +# 2057| ValueCategory = lvalue +# 2057| getLValue(): [VariableAccess] z +# 2057| Type = [Struct] TernaryPodObj +# 2057| ValueCategory = lvalue +# 2057| getRValue(): [ConditionalExpr] ... ? ... : ... +# 2057| Type = [Struct] TernaryPodObj +# 2057| ValueCategory = prvalue +# 2057| getCondition(): [VariableAccess] a +# 2057| Type = [BoolType] bool +# 2057| ValueCategory = prvalue(load) +# 2057| getThen(): [VariableAccess] x +# 2057| Type = [Struct] TernaryPodObj +# 2057| ValueCategory = prvalue(load) +# 2057| getElse(): [Literal] 0 +# 2057| Type = [Struct] TernaryPodObj +# 2057| Value = [Literal] 0 +# 2057| ValueCategory = prvalue +# 2057| getThen().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2057| Type = [Struct] TernaryPodObj +# 2057| ValueCategory = prvalue(load) +# 2057| getElse().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2057| Type = [Struct] TernaryPodObj +# 2057| ValueCategory = prvalue(load) +# 2057| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2057| Type = [Struct] TernaryPodObj +# 2057| ValueCategory = prvalue(load) +# 2058| getStmt(2): [ExprStmt] ExprStmt +# 2058| getExpr(): [AssignExpr] ... = ... +# 2058| Type = [Struct] TernaryPodObj +# 2058| ValueCategory = lvalue +# 2058| getLValue(): [VariableAccess] z +# 2058| Type = [Struct] TernaryPodObj +# 2058| ValueCategory = lvalue +# 2058| getRValue(): [ConditionalExpr] ... ? ... : ... +# 2058| Type = [Struct] TernaryPodObj +# 2058| ValueCategory = prvalue +# 2058| getCondition(): [VariableAccess] a +# 2058| Type = [BoolType] bool +# 2058| ValueCategory = prvalue(load) +# 2058| getThen(): [Literal] 0 +# 2058| Type = [Struct] TernaryPodObj +# 2058| Value = [Literal] 0 +# 2058| ValueCategory = prvalue +# 2058| getElse(): [Literal] 0 +# 2058| Type = [Struct] TernaryPodObj +# 2058| Value = [Literal] 0 +# 2058| ValueCategory = prvalue +# 2058| getThen().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2058| Type = [Struct] TernaryPodObj +# 2058| ValueCategory = prvalue(load) +# 2058| getElse().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2058| Type = [Struct] TernaryPodObj +# 2058| ValueCategory = prvalue(load) +# 2058| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2058| Type = [Struct] TernaryPodObj +# 2058| ValueCategory = prvalue(load) +# 2059| getStmt(3): [ExprStmt] ExprStmt +# 2059| getExpr(): [AssignExpr] ... = ... +# 2059| Type = [Struct] TernaryPodObj +# 2059| ValueCategory = lvalue +# 2059| getLValue(): [AssignExpr] ... = ... +# 2059| Type = [Struct] TernaryPodObj +# 2059| ValueCategory = lvalue +# 2059| getLValue(): [VariableAccess] z +# 2059| Type = [Struct] TernaryPodObj +# 2059| ValueCategory = lvalue +# 2059| getRValue(): [ConditionalExpr] ... ? ... : ... +# 2059| Type = [Struct] TernaryPodObj +# 2059| ValueCategory = prvalue(load) +# 2059| getCondition(): [VariableAccess] a +# 2059| Type = [BoolType] bool +# 2059| ValueCategory = prvalue(load) +# 2059| getThen(): [VariableAccess] x +# 2059| Type = [Struct] TernaryPodObj +# 2059| ValueCategory = prvalue(load) +# 2059| getElse(): [VariableAccess] y +# 2059| Type = [Struct] TernaryPodObj +# 2059| ValueCategory = prvalue(load) +# 2059| getRValue(): [Literal] 0 +# 2059| Type = [Struct] TernaryPodObj +# 2059| Value = [Literal] 0 +# 2059| ValueCategory = prvalue +# 2059| getLValue().getFullyConverted(): [ParenthesisExpr] (...) +# 2059| Type = [Struct] TernaryPodObj +# 2059| ValueCategory = lvalue +# 2059| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2059| Type = [Struct] TernaryPodObj +# 2059| ValueCategory = prvalue(load) +# 2060| getStmt(4): [ReturnStmt] return ... +# 2062| [CopyAssignmentOperator] TernaryNonPodObj& TernaryNonPodObj::operator=(TernaryNonPodObj const&) +# 2062| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const TernaryNonPodObj & #-----| getEntryPoint(): [BlockStmt] { ... } @@ -15615,2486 +16385,3715 @@ ir.cpp: #-----| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) #-----| Type = [LValueReferenceType] TernaryNonPodObj & #-----| ValueCategory = prvalue -# 2015| [Constructor] void TernaryNonPodObj::TernaryNonPodObj() -# 2015| : -# 2015| : -# 2015| getEntryPoint(): [BlockStmt] { ... } -# 2015| getStmt(0): [ReturnStmt] return ... -# 2015| [CopyConstructor] void TernaryNonPodObj::TernaryNonPodObj(TernaryNonPodObj const&) -# 2015| : +# 2062| [Constructor] void TernaryNonPodObj::TernaryNonPodObj() +# 2062| : +# 2062| : +# 2062| getEntryPoint(): [BlockStmt] { ... } +# 2062| getStmt(0): [ReturnStmt] return ... +# 2062| [CopyConstructor] void TernaryNonPodObj::TernaryNonPodObj(TernaryNonPodObj const&) +# 2062| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const TernaryNonPodObj & -# 2015| : -# 2015| getEntryPoint(): [BlockStmt] { ... } -# 2015| getStmt(0): [ReturnStmt] return ... -# 2016| [Destructor,VirtualFunction] void TernaryNonPodObj::~TernaryNonPodObj() -# 2016| : -# 2016| getEntryPoint(): [BlockStmt] { ... } -# 2016| getStmt(0): [ReturnStmt] return ... -# 2016| : -# 2019| [TopLevelFunction] void TernaryTestNonPodObj(bool, TernaryNonPodObj, TernaryNonPodObj, TernaryNonPodObj) -# 2019| : -# 2019| getParameter(0): [Parameter] a -# 2019| Type = [BoolType] bool -# 2019| getParameter(1): [Parameter] x -# 2019| Type = [Struct] TernaryNonPodObj -# 2019| getParameter(2): [Parameter] y -# 2019| Type = [Struct] TernaryNonPodObj -# 2019| getParameter(3): [Parameter] z -# 2019| Type = [Struct] TernaryNonPodObj -# 2019| getEntryPoint(): [BlockStmt] { ... } -# 2020| getStmt(0): [ExprStmt] ExprStmt -# 2020| getExpr(): [FunctionCall] call to operator= -# 2020| Type = [LValueReferenceType] TernaryNonPodObj & -# 2020| ValueCategory = prvalue -# 2020| getQualifier(): [VariableAccess] z -# 2020| Type = [Struct] TernaryNonPodObj -# 2020| ValueCategory = lvalue -# 2020| getArgument(0): [ConditionalExpr] ... ? ... : ... -# 2020| Type = [Struct] TernaryNonPodObj -# 2020| ValueCategory = lvalue -# 2020| getCondition(): [VariableAccess] a -# 2020| Type = [BoolType] bool -# 2020| ValueCategory = prvalue(load) -# 2020| getThen(): [VariableAccess] x -# 2020| Type = [Struct] TernaryNonPodObj -# 2020| ValueCategory = lvalue -# 2020| getElse(): [VariableAccess] y -# 2020| Type = [Struct] TernaryNonPodObj -# 2020| ValueCategory = lvalue -# 2020| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 2020| Type = [LValueReferenceType] const TernaryNonPodObj & -# 2020| ValueCategory = prvalue -# 2020| getExpr(): [CStyleCast] (const TernaryNonPodObj)... -# 2020| Conversion = [GlvalueConversion] glvalue conversion -# 2020| Type = [SpecifiedType] const TernaryNonPodObj -# 2020| ValueCategory = lvalue -# 2020| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2020| Type = [Struct] TernaryNonPodObj -# 2020| ValueCategory = lvalue -# 2021| getStmt(1): [ExprStmt] ExprStmt -# 2021| getExpr(): [FunctionCall] call to operator= -# 2021| Type = [LValueReferenceType] TernaryNonPodObj & -# 2021| ValueCategory = prvalue -# 2021| getQualifier(): [VariableAccess] z -# 2021| Type = [Struct] TernaryNonPodObj -# 2021| ValueCategory = lvalue -# 2021| getArgument(0): [ConditionalExpr] ... ? ... : ... -# 2021| Type = [Struct] TernaryNonPodObj -# 2021| ValueCategory = prvalue -# 2021| getCondition(): [VariableAccess] a -# 2021| Type = [BoolType] bool -# 2021| ValueCategory = prvalue(load) -# 2021| getThen(): [ConstructorCall] call to TernaryNonPodObj -# 2021| Type = [VoidType] void -# 2021| ValueCategory = prvalue -# 2021| getArgument(0): [VariableAccess] x -# 2021| Type = [Struct] TernaryNonPodObj -# 2021| ValueCategory = lvalue -# 2021| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 2021| Type = [LValueReferenceType] const TernaryNonPodObj & -# 2021| ValueCategory = prvalue -# 2021| getExpr(): [CStyleCast] (const TernaryNonPodObj)... -# 2021| Conversion = [GlvalueConversion] glvalue conversion -# 2021| Type = [SpecifiedType] const TernaryNonPodObj -# 2021| ValueCategory = lvalue -# 2021| getElse(): [ConstructorCall] call to TernaryNonPodObj -# 2021| Type = [VoidType] void -# 2021| ValueCategory = prvalue -# 2021| getThen().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2021| Type = [Struct] TernaryNonPodObj -# 2021| ValueCategory = prvalue(load) -# 2021| getElse().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2021| Type = [Struct] TernaryNonPodObj -# 2021| ValueCategory = prvalue(load) -# 2021| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 2021| Type = [LValueReferenceType] const TernaryNonPodObj & -# 2021| ValueCategory = prvalue -# 2021| getExpr(): [CStyleCast] (const TernaryNonPodObj)... -# 2021| Conversion = [GlvalueConversion] glvalue conversion -# 2021| Type = [SpecifiedType] const TernaryNonPodObj -# 2021| ValueCategory = lvalue -# 2021| getExpr(): [TemporaryObjectExpr] temporary object -# 2021| Type = [Struct] TernaryNonPodObj -# 2021| ValueCategory = lvalue -# 2021| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2021| Type = [Struct] TernaryNonPodObj -# 2021| ValueCategory = lvalue -# 2022| getStmt(2): [ExprStmt] ExprStmt -# 2022| getExpr(): [FunctionCall] call to operator= -# 2022| Type = [LValueReferenceType] TernaryNonPodObj & -# 2022| ValueCategory = prvalue -# 2022| getQualifier(): [VariableAccess] z -# 2022| Type = [Struct] TernaryNonPodObj -# 2022| ValueCategory = lvalue -# 2022| getArgument(0): [ConditionalExpr] ... ? ... : ... -# 2022| Type = [Struct] TernaryNonPodObj -# 2022| ValueCategory = prvalue -# 2022| getCondition(): [VariableAccess] a -# 2022| Type = [BoolType] bool -# 2022| ValueCategory = prvalue(load) -# 2022| getThen(): [ConstructorCall] call to TernaryNonPodObj -# 2022| Type = [VoidType] void -# 2022| ValueCategory = prvalue -# 2022| getElse(): [ConstructorCall] call to TernaryNonPodObj -# 2022| Type = [VoidType] void -# 2022| ValueCategory = prvalue -# 2022| getThen().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2022| Type = [Struct] TernaryNonPodObj -# 2022| ValueCategory = prvalue(load) -# 2022| getElse().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2022| Type = [Struct] TernaryNonPodObj -# 2022| ValueCategory = prvalue(load) -# 2022| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 2022| Type = [LValueReferenceType] const TernaryNonPodObj & -# 2022| ValueCategory = prvalue -# 2022| getExpr(): [CStyleCast] (const TernaryNonPodObj)... -# 2022| Conversion = [GlvalueConversion] glvalue conversion -# 2022| Type = [SpecifiedType] const TernaryNonPodObj -# 2022| ValueCategory = lvalue -# 2022| getExpr(): [TemporaryObjectExpr] temporary object -# 2022| Type = [Struct] TernaryNonPodObj -# 2022| ValueCategory = lvalue -# 2022| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2022| Type = [Struct] TernaryNonPodObj -# 2022| ValueCategory = lvalue -# 2023| getStmt(3): [ExprStmt] ExprStmt -# 2023| getExpr(): [FunctionCall] call to operator= -# 2023| Type = [LValueReferenceType] TernaryNonPodObj & -# 2023| ValueCategory = prvalue -# 2023| getQualifier(): [FunctionCall] call to operator= -# 2023| Type = [LValueReferenceType] TernaryNonPodObj & -# 2023| ValueCategory = prvalue -# 2023| getQualifier(): [VariableAccess] z -# 2023| Type = [Struct] TernaryNonPodObj -# 2023| ValueCategory = lvalue -# 2023| getArgument(0): [ConditionalExpr] ... ? ... : ... -# 2023| Type = [Struct] TernaryNonPodObj -# 2023| ValueCategory = lvalue -# 2023| getCondition(): [VariableAccess] a -# 2023| Type = [BoolType] bool -# 2023| ValueCategory = prvalue(load) -# 2023| getThen(): [VariableAccess] x -# 2023| Type = [Struct] TernaryNonPodObj -# 2023| ValueCategory = lvalue -# 2023| getElse(): [VariableAccess] y -# 2023| Type = [Struct] TernaryNonPodObj -# 2023| ValueCategory = lvalue -# 2023| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 2023| Type = [LValueReferenceType] const TernaryNonPodObj & -# 2023| ValueCategory = prvalue -# 2023| getExpr(): [CStyleCast] (const TernaryNonPodObj)... -# 2023| Conversion = [GlvalueConversion] glvalue conversion -# 2023| Type = [SpecifiedType] const TernaryNonPodObj -# 2023| ValueCategory = lvalue -# 2023| getArgument(0): [ConstructorCall] call to TernaryNonPodObj -# 2023| Type = [VoidType] void -# 2023| ValueCategory = prvalue -# 2023| getQualifier().getFullyConverted(): [ParenthesisExpr] (...) -# 2023| Type = [Struct] TernaryNonPodObj -# 2023| ValueCategory = lvalue -# 2023| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 2023| Type = [Struct] TernaryNonPodObj -# 2023| ValueCategory = lvalue -# 2023| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 2023| Type = [LValueReferenceType] const TernaryNonPodObj & -# 2023| ValueCategory = prvalue -# 2023| getExpr(): [CStyleCast] (const TernaryNonPodObj)... -# 2023| Conversion = [GlvalueConversion] glvalue conversion -# 2023| Type = [SpecifiedType] const TernaryNonPodObj -# 2023| ValueCategory = lvalue -# 2023| getExpr(): [TemporaryObjectExpr] temporary object -# 2023| Type = [Struct] TernaryNonPodObj -# 2023| ValueCategory = lvalue -# 2023| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2023| Type = [Struct] TernaryNonPodObj -# 2023| ValueCategory = lvalue -# 2024| getStmt(4): [ReturnStmt] return ... -# 2026| [TopLevelFunction] void CommaTestHelper(unsigned int) -# 2026| : -# 2026| getParameter(0): [Parameter] (unnamed parameter 0) -# 2026| Type = [IntType] unsigned int -# 2028| [TopLevelFunction] unsigned int CommaTest(unsigned int) -# 2028| : -# 2028| getParameter(0): [Parameter] x -# 2028| Type = [IntType] unsigned int -# 2028| getEntryPoint(): [BlockStmt] { ... } -# 2029| getStmt(0): [DeclStmt] declaration -# 2029| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 2029| Type = [IntType] unsigned int -# 2030| getStmt(1): [ExprStmt] ExprStmt -# 2030| getExpr(): [AssignExpr] ... = ... -# 2030| Type = [IntType] unsigned int -# 2030| ValueCategory = lvalue -# 2030| getLValue(): [VariableAccess] y -# 2030| Type = [IntType] unsigned int -# 2030| ValueCategory = lvalue -# 2030| getRValue(): [ConditionalExpr] ... ? ... : ... -# 2030| Type = [IntType] unsigned int -# 2030| ValueCategory = prvalue(load) -# 2030| getCondition(): [LTExpr] ... < ... -# 2030| Type = [BoolType] bool -# 2030| ValueCategory = prvalue -# 2030| getLesserOperand(): [VariableAccess] x -# 2030| Type = [IntType] unsigned int -# 2030| ValueCategory = prvalue(load) -# 2030| getGreaterOperand(): [Literal] 100 -# 2030| Type = [IntType] int -# 2030| Value = [Literal] 100 -# 2030| ValueCategory = prvalue -# 2030| getGreaterOperand().getFullyConverted(): [CStyleCast] (unsigned int)... -# 2030| Conversion = [IntegralConversion] integral conversion -# 2030| Type = [IntType] unsigned int -# 2030| Value = [CStyleCast] 100 -# 2030| ValueCategory = prvalue -# 2031| getThen(): [CommaExpr] ... , ... -# 2031| Type = [IntType] unsigned int -# 2031| ValueCategory = prvalue(load) -# 2031| getLeftOperand(): [FunctionCall] call to CommaTestHelper -# 2031| Type = [VoidType] void -# 2031| ValueCategory = prvalue -# 2031| getArgument(0): [VariableAccess] x -# 2031| Type = [IntType] unsigned int -# 2031| ValueCategory = prvalue(load) -# 2031| getRightOperand(): [VariableAccess] x -# 2031| Type = [IntType] unsigned int -# 2031| ValueCategory = prvalue(load) -# 2032| getElse(): [CommaExpr] ... , ... -# 2032| Type = [IntType] int -# 2032| ValueCategory = prvalue -# 2032| getLeftOperand(): [FunctionCall] call to CommaTestHelper -# 2032| Type = [VoidType] void -# 2032| ValueCategory = prvalue -# 2032| getArgument(0): [VariableAccess] x -# 2032| Type = [IntType] unsigned int -# 2032| ValueCategory = prvalue(load) -# 2032| getRightOperand(): [Literal] 10 -# 2032| Type = [IntType] int -# 2032| Value = [Literal] 10 -# 2032| ValueCategory = prvalue -# 2031| getThen().getFullyConverted(): [ParenthesisExpr] (...) -# 2031| Type = [IntType] unsigned int -# 2031| ValueCategory = prvalue(load) -# 2032| getElse().getFullyConverted(): [CStyleCast] (unsigned int)... -# 2032| Conversion = [IntegralConversion] integral conversion -# 2032| Type = [IntType] unsigned int -# 2032| ValueCategory = prvalue -# 2032| getExpr(): [ParenthesisExpr] (...) -# 2032| Type = [IntType] int -# 2032| ValueCategory = prvalue -# 2033| getStmt(2): [ReturnStmt] return ... -# 2035| [TopLevelFunction] void NewDeleteMem() -# 2035| : -# 2035| getEntryPoint(): [BlockStmt] { ... } -# 2036| getStmt(0): [DeclStmt] declaration -# 2036| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 2036| Type = [IntPointerType] int * -# 2036| getVariable().getInitializer(): [Initializer] initializer for x -# 2036| getExpr(): [NewExpr] new -# 2036| Type = [IntPointerType] int * -# 2036| ValueCategory = prvalue -# 2037| getStmt(1): [ExprStmt] ExprStmt -# 2037| getExpr(): [AssignExpr] ... = ... -# 2037| Type = [IntType] int -# 2037| ValueCategory = lvalue -# 2037| getLValue(): [PointerDereferenceExpr] * ... -# 2037| Type = [IntType] int -# 2037| ValueCategory = lvalue -# 2037| getOperand(): [VariableAccess] x -# 2037| Type = [IntPointerType] int * -# 2037| ValueCategory = prvalue(load) -# 2037| getRValue(): [Literal] 6 -# 2037| Type = [IntType] int -# 2037| Value = [Literal] 6 -# 2037| ValueCategory = prvalue -# 2038| getStmt(2): [ExprStmt] ExprStmt -# 2038| getExpr(): [DeleteExpr] delete -# 2038| Type = [VoidType] void -# 2038| ValueCategory = prvalue -# 2038| getExpr(): [VariableAccess] x -# 2038| Type = [IntPointerType] int * -# 2038| ValueCategory = prvalue(load) -# 2039| getStmt(3): [ReturnStmt] return ... -# 2041| [CopyAssignmentOperator] Base2& Base2::operator=(Base2 const&) -# 2041| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const Base2 & -# 2041| [Constructor] void Base2::Base2() -# 2041| : -# 2041| : -# 2041| getEntryPoint(): [BlockStmt] { ... } -# 2041| getStmt(0): [ReturnStmt] return ... -# 2041| [CopyConstructor] void Base2::Base2(Base2 const&) -# 2041| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const Base2 & -# 2043| [MemberFunction] void Base2::operator delete(void*) -# 2043| : -# 2043| getParameter(0): [Parameter] p -# 2043| Type = [VoidPointerType] void * -# 2043| getEntryPoint(): [BlockStmt] { ... } -# 2044| getStmt(0): [ReturnStmt] return ... -# 2045| [Destructor,VirtualFunction] void Base2::~Base2() -# 2045| : -# 2045| getEntryPoint(): [BlockStmt] { ... } -# 2045| getStmt(0): [ReturnStmt] return ... -# 2045| : -# 2048| [CopyAssignmentOperator] Derived2& Derived2::operator=(Derived2 const&) -# 2048| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const Derived2 & -# 2048| [Constructor] void Derived2::Derived2() -# 2048| : -# 2048| : -# 2048| getInitializer(0): [ConstructorDirectInit] call to Base2 -# 2048| Type = [VoidType] void -# 2048| ValueCategory = prvalue -# 2048| getEntryPoint(): [BlockStmt] { ... } -# 2048| getStmt(0): [ReturnStmt] return ... -# 2048| [CopyConstructor] void Derived2::Derived2(Derived2 const&) -# 2048| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const Derived2 & -# 2051| [Destructor,VirtualFunction] void Derived2::~Derived2() -# 2051| : -# 2051| getEntryPoint(): [BlockStmt] { ... } -# 2051| getStmt(0): [ReturnStmt] return ... -# 2051| : -# 2051| getDestruction(0): [DestructorDirectDestruction] call to ~Base2 -# 2051| Type = [VoidType] void -# 2051| ValueCategory = prvalue -# 2053| [MemberFunction] void Derived2::operator delete(void*) -# 2053| : -# 2053| getParameter(0): [Parameter] p -# 2053| Type = [VoidPointerType] void * -# 2053| getEntryPoint(): [BlockStmt] { ... } -# 2054| getStmt(0): [ReturnStmt] return ... -# 2058| [TopLevelFunction] int virtual_delete() -# 2058| : -# 2059| getEntryPoint(): [BlockStmt] { ... } -# 2060| getStmt(0): [DeclStmt] declaration -# 2060| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b1 -# 2060| Type = [PointerType] Base2 * -# 2060| getVariable().getInitializer(): [Initializer] initializer for b1 -# 2060| getExpr(): [NewExpr] new -# 2060| Type = [PointerType] Base2 * -# 2060| ValueCategory = prvalue -# 2060| getInitializer(): [ConstructorCall] call to Base2 -# 2060| Type = [VoidType] void -# 2060| ValueCategory = prvalue -# 2061| getStmt(1): [ExprStmt] ExprStmt -# 2061| getExpr(): [DeleteExpr] delete -# 2061| Type = [VoidType] void -# 2061| ValueCategory = prvalue -# 2061| getDeallocatorCall(): [FunctionCall] call to operator delete -# 2061| Type = [VoidType] void -# 2061| ValueCategory = prvalue -# 2061| getDestructorCall(): [DestructorCall] call to ~Base2 -# 2061| Type = [VoidType] void -# 2061| ValueCategory = prvalue -# 2061| getQualifier(): [VariableAccess] b1 -# 2061| Type = [PointerType] Base2 * -# 2061| ValueCategory = prvalue(load) -# 2063| getStmt(2): [DeclStmt] declaration -# 2063| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b2 -# 2063| Type = [PointerType] Base2 * -# 2063| getVariable().getInitializer(): [Initializer] initializer for b2 -# 2063| getExpr(): [NewExpr] new -# 2063| Type = [PointerType] Derived2 * -# 2063| ValueCategory = prvalue -# 2063| getInitializer(): [ConstructorCall] call to Derived2 -# 2063| Type = [VoidType] void -# 2063| ValueCategory = prvalue -# 2063| getExpr().getFullyConverted(): [CStyleCast] (Base2 *)... -# 2063| Conversion = [BaseClassConversion] base class conversion -# 2063| Type = [PointerType] Base2 * -# 2063| ValueCategory = prvalue -# 2064| getStmt(3): [ExprStmt] ExprStmt -# 2064| getExpr(): [DeleteExpr] delete -# 2064| Type = [VoidType] void -# 2064| ValueCategory = prvalue -# 2064| getDeallocatorCall(): [FunctionCall] call to operator delete -# 2064| Type = [VoidType] void -# 2064| ValueCategory = prvalue -# 2064| getDestructorCall(): [DestructorCall] call to ~Base2 -# 2064| Type = [VoidType] void -# 2064| ValueCategory = prvalue -# 2064| getQualifier(): [VariableAccess] b2 -# 2064| Type = [PointerType] Base2 * -# 2064| ValueCategory = prvalue(load) -# 2066| getStmt(4): [DeclStmt] declaration -# 2066| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d -# 2066| Type = [PointerType] Derived2 * -# 2066| getVariable().getInitializer(): [Initializer] initializer for d -# 2066| getExpr(): [NewExpr] new -# 2066| Type = [PointerType] Derived2 * -# 2066| ValueCategory = prvalue -# 2066| getInitializer(): [ConstructorCall] call to Derived2 -# 2066| Type = [VoidType] void -# 2066| ValueCategory = prvalue -# 2067| getStmt(5): [ExprStmt] ExprStmt -# 2067| getExpr(): [DeleteExpr] delete -# 2067| Type = [VoidType] void +# 2062| : +# 2062| getEntryPoint(): [BlockStmt] { ... } +# 2062| getStmt(0): [ReturnStmt] return ... +# 2063| [Destructor,VirtualFunction] void TernaryNonPodObj::~TernaryNonPodObj() +# 2063| : +# 2063| getEntryPoint(): [BlockStmt] { ... } +# 2063| getStmt(0): [ReturnStmt] return ... +# 2063| : +# 2066| [TopLevelFunction] void TernaryTestNonPodObj(bool, TernaryNonPodObj, TernaryNonPodObj, TernaryNonPodObj) +# 2066| : +# 2066| getParameter(0): [Parameter] a +# 2066| Type = [BoolType] bool +# 2066| getParameter(1): [Parameter] x +# 2066| Type = [Struct] TernaryNonPodObj +# 2066| getParameter(2): [Parameter] y +# 2066| Type = [Struct] TernaryNonPodObj +# 2066| getParameter(3): [Parameter] z +# 2066| Type = [Struct] TernaryNonPodObj +# 2066| getEntryPoint(): [BlockStmt] { ... } +# 2067| getStmt(0): [ExprStmt] ExprStmt +# 2067| getExpr(): [FunctionCall] call to operator= +# 2067| Type = [LValueReferenceType] TernaryNonPodObj & # 2067| ValueCategory = prvalue -# 2067| getDeallocatorCall(): [FunctionCall] call to operator delete -# 2067| Type = [VoidType] void -# 2067| ValueCategory = prvalue -# 2067| getDestructorCall(): [DestructorCall] call to ~Derived2 -# 2067| Type = [VoidType] void -# 2067| ValueCategory = prvalue -# 2067| getQualifier(): [VariableAccess] d -# 2067| Type = [PointerType] Derived2 * +# 2067| getQualifier(): [VariableAccess] z +# 2067| Type = [Struct] TernaryNonPodObj +# 2067| ValueCategory = lvalue +# 2067| getArgument(0): [ConditionalExpr] ... ? ... : ... +# 2067| Type = [Struct] TernaryNonPodObj +# 2067| ValueCategory = lvalue +# 2067| getCondition(): [VariableAccess] a +# 2067| Type = [BoolType] bool # 2067| ValueCategory = prvalue(load) -# 2068| getStmt(6): [ReturnStmt] return ... -# 2070| [TopLevelFunction] void test_constant_folding_use(int) -# 2070| : -# 2070| getParameter(0): [Parameter] (unnamed parameter 0) -# 2070| Type = [IntType] int -# 2072| [TopLevelFunction] void test_constant_folding() -# 2072| : -# 2072| getEntryPoint(): [BlockStmt] { ... } -# 2073| getStmt(0): [DeclStmt] declaration -# 2073| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 2073| Type = [SpecifiedType] const int -# 2073| getVariable().getInitializer(): [Initializer] initializer for x -# 2073| getExpr(): [Literal] 116 -# 2073| Type = [IntType] int -# 2073| Value = [Literal] 116 -# 2073| ValueCategory = prvalue -# 2074| getStmt(1): [ExprStmt] ExprStmt -# 2074| getExpr(): [FunctionCall] call to test_constant_folding_use -# 2074| Type = [VoidType] void -# 2074| ValueCategory = prvalue -# 2074| getArgument(0): [VariableAccess] x -# 2074| Type = [IntType] int -# 2074| Value = [VariableAccess] 116 -# 2074| ValueCategory = prvalue(load) -# 2075| getStmt(2): [ReturnStmt] return ... -# 2077| [TopLevelFunction] void exit(int) -# 2077| : -# 2077| getParameter(0): [Parameter] code -# 2077| Type = [IntType] int -# 2079| [TopLevelFunction] int NonExit() -# 2079| : -# 2079| getEntryPoint(): [BlockStmt] { ... } -# 2080| getStmt(0): [DeclStmt] declaration -# 2080| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 2080| Type = [IntType] int -# 2080| getVariable().getInitializer(): [Initializer] initializer for x -# 2080| getExpr(): [FunctionCall] call to Add -# 2080| Type = [IntType] int -# 2080| ValueCategory = prvalue -# 2080| getArgument(0): [Literal] 3 -# 2080| Type = [IntType] int -# 2080| Value = [Literal] 3 -# 2080| ValueCategory = prvalue -# 2080| getArgument(1): [Literal] 4 -# 2080| Type = [IntType] int -# 2080| Value = [Literal] 4 -# 2080| ValueCategory = prvalue -# 2081| getStmt(1): [IfStmt] if (...) ... -# 2081| getCondition(): [EQExpr] ... == ... -# 2081| Type = [BoolType] bool -# 2081| ValueCategory = prvalue -# 2081| getLeftOperand(): [VariableAccess] x -# 2081| Type = [IntType] int -# 2081| ValueCategory = prvalue(load) -# 2081| getRightOperand(): [Literal] 7 -# 2081| Type = [IntType] int -# 2081| Value = [Literal] 7 -# 2081| ValueCategory = prvalue -# 2082| getThen(): [ExprStmt] ExprStmt -# 2082| getExpr(): [FunctionCall] call to exit -# 2082| Type = [VoidType] void -# 2082| ValueCategory = prvalue -# 2082| getArgument(0): [Literal] 3 -# 2082| Type = [IntType] int -# 2082| Value = [Literal] 3 -# 2082| ValueCategory = prvalue -# 2083| getStmt(2): [ExprStmt] ExprStmt -# 2083| getExpr(): [FunctionCall] call to VoidFunc -# 2083| Type = [VoidType] void -# 2083| ValueCategory = prvalue -# 2084| getStmt(3): [ReturnStmt] return ... -# 2084| getExpr(): [VariableAccess] x +# 2067| getThen(): [VariableAccess] x +# 2067| Type = [Struct] TernaryNonPodObj +# 2067| ValueCategory = lvalue +# 2067| getElse(): [VariableAccess] y +# 2067| Type = [Struct] TernaryNonPodObj +# 2067| ValueCategory = lvalue +# 2067| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 2067| Type = [LValueReferenceType] const TernaryNonPodObj & +# 2067| ValueCategory = prvalue +# 2067| getExpr(): [CStyleCast] (const TernaryNonPodObj)... +# 2067| Conversion = [GlvalueConversion] glvalue conversion +# 2067| Type = [SpecifiedType] const TernaryNonPodObj +# 2067| ValueCategory = lvalue +# 2067| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2067| Type = [Struct] TernaryNonPodObj +# 2067| ValueCategory = lvalue +# 2068| getStmt(1): [ExprStmt] ExprStmt +# 2068| getExpr(): [FunctionCall] call to operator= +# 2068| Type = [LValueReferenceType] TernaryNonPodObj & +# 2068| ValueCategory = prvalue +# 2068| getQualifier(): [VariableAccess] z +# 2068| Type = [Struct] TernaryNonPodObj +# 2068| ValueCategory = lvalue +# 2068| getArgument(0): [ConditionalExpr] ... ? ... : ... +# 2068| Type = [Struct] TernaryNonPodObj +# 2068| ValueCategory = prvalue +# 2068| getCondition(): [VariableAccess] a +# 2068| Type = [BoolType] bool +# 2068| ValueCategory = prvalue(load) +# 2068| getThen(): [ConstructorCall] call to TernaryNonPodObj +# 2068| Type = [VoidType] void +# 2068| ValueCategory = prvalue +# 2068| getArgument(0): [VariableAccess] x +# 2068| Type = [Struct] TernaryNonPodObj +# 2068| ValueCategory = lvalue +# 2068| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 2068| Type = [LValueReferenceType] const TernaryNonPodObj & +# 2068| ValueCategory = prvalue +# 2068| getExpr(): [CStyleCast] (const TernaryNonPodObj)... +# 2068| Conversion = [GlvalueConversion] glvalue conversion +# 2068| Type = [SpecifiedType] const TernaryNonPodObj +# 2068| ValueCategory = lvalue +# 2068| getElse(): [ConstructorCall] call to TernaryNonPodObj +# 2068| Type = [VoidType] void +# 2068| ValueCategory = prvalue +# 2068| getThen().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2068| Type = [Struct] TernaryNonPodObj +# 2068| ValueCategory = prvalue(load) +# 2068| getElse().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2068| Type = [Struct] TernaryNonPodObj +# 2068| ValueCategory = prvalue(load) +# 2068| getImplicitDestructorCall(0): [DestructorCall] call to ~TernaryNonPodObj +# 2068| Type = [VoidType] void +# 2068| ValueCategory = prvalue +# 2068| getQualifier(): [ReuseExpr] reuse of temporary object +# 2068| Type = [Struct] TernaryNonPodObj +# 2068| ValueCategory = xvalue +# 2068| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 2068| Type = [LValueReferenceType] const TernaryNonPodObj & +# 2068| ValueCategory = prvalue +# 2068| getExpr(): [CStyleCast] (const TernaryNonPodObj)... +# 2068| Conversion = [GlvalueConversion] glvalue conversion +# 2068| Type = [SpecifiedType] const TernaryNonPodObj +# 2068| ValueCategory = lvalue +# 2068| getExpr(): [TemporaryObjectExpr] temporary object +# 2068| Type = [Struct] TernaryNonPodObj +# 2068| ValueCategory = lvalue +# 2068| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2068| Type = [Struct] TernaryNonPodObj +# 2068| ValueCategory = lvalue +# 2069| getStmt(2): [ExprStmt] ExprStmt +# 2069| getExpr(): [FunctionCall] call to operator= +# 2069| Type = [LValueReferenceType] TernaryNonPodObj & +# 2069| ValueCategory = prvalue +# 2069| getQualifier(): [VariableAccess] z +# 2069| Type = [Struct] TernaryNonPodObj +# 2069| ValueCategory = lvalue +# 2069| getArgument(0): [ConditionalExpr] ... ? ... : ... +# 2069| Type = [Struct] TernaryNonPodObj +# 2069| ValueCategory = prvalue +# 2069| getCondition(): [VariableAccess] a +# 2069| Type = [BoolType] bool +# 2069| ValueCategory = prvalue(load) +# 2069| getThen(): [ConstructorCall] call to TernaryNonPodObj +# 2069| Type = [VoidType] void +# 2069| ValueCategory = prvalue +# 2069| getElse(): [ConstructorCall] call to TernaryNonPodObj +# 2069| Type = [VoidType] void +# 2069| ValueCategory = prvalue +# 2069| getThen().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2069| Type = [Struct] TernaryNonPodObj +# 2069| ValueCategory = prvalue(load) +# 2069| getElse().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2069| Type = [Struct] TernaryNonPodObj +# 2069| ValueCategory = prvalue(load) +# 2069| getImplicitDestructorCall(0): [DestructorCall] call to ~TernaryNonPodObj +# 2069| Type = [VoidType] void +# 2069| ValueCategory = prvalue +# 2069| getQualifier(): [ReuseExpr] reuse of temporary object +# 2069| Type = [Struct] TernaryNonPodObj +# 2069| ValueCategory = xvalue +# 2069| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 2069| Type = [LValueReferenceType] const TernaryNonPodObj & +# 2069| ValueCategory = prvalue +# 2069| getExpr(): [CStyleCast] (const TernaryNonPodObj)... +# 2069| Conversion = [GlvalueConversion] glvalue conversion +# 2069| Type = [SpecifiedType] const TernaryNonPodObj +# 2069| ValueCategory = lvalue +# 2069| getExpr(): [TemporaryObjectExpr] temporary object +# 2069| Type = [Struct] TernaryNonPodObj +# 2069| ValueCategory = lvalue +# 2069| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2069| Type = [Struct] TernaryNonPodObj +# 2069| ValueCategory = lvalue +# 2070| getStmt(3): [ExprStmt] ExprStmt +# 2070| getExpr(): [FunctionCall] call to operator= +# 2070| Type = [LValueReferenceType] TernaryNonPodObj & +# 2070| ValueCategory = prvalue +# 2070| getQualifier(): [FunctionCall] call to operator= +# 2070| Type = [LValueReferenceType] TernaryNonPodObj & +# 2070| ValueCategory = prvalue +# 2070| getQualifier(): [VariableAccess] z +# 2070| Type = [Struct] TernaryNonPodObj +# 2070| ValueCategory = lvalue +# 2070| getArgument(0): [ConditionalExpr] ... ? ... : ... +# 2070| Type = [Struct] TernaryNonPodObj +# 2070| ValueCategory = lvalue +# 2070| getCondition(): [VariableAccess] a +# 2070| Type = [BoolType] bool +# 2070| ValueCategory = prvalue(load) +# 2070| getThen(): [VariableAccess] x +# 2070| Type = [Struct] TernaryNonPodObj +# 2070| ValueCategory = lvalue +# 2070| getElse(): [VariableAccess] y +# 2070| Type = [Struct] TernaryNonPodObj +# 2070| ValueCategory = lvalue +# 2070| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 2070| Type = [LValueReferenceType] const TernaryNonPodObj & +# 2070| ValueCategory = prvalue +# 2070| getExpr(): [CStyleCast] (const TernaryNonPodObj)... +# 2070| Conversion = [GlvalueConversion] glvalue conversion +# 2070| Type = [SpecifiedType] const TernaryNonPodObj +# 2070| ValueCategory = lvalue +# 2070| getArgument(0): [ConstructorCall] call to TernaryNonPodObj +# 2070| Type = [VoidType] void +# 2070| ValueCategory = prvalue +# 2070| getImplicitDestructorCall(0): [DestructorCall] call to ~TernaryNonPodObj +# 2070| Type = [VoidType] void +# 2070| ValueCategory = prvalue +# 2070| getQualifier(): [ReuseExpr] reuse of temporary object +# 2070| Type = [Struct] TernaryNonPodObj +# 2070| ValueCategory = xvalue +# 2070| getQualifier().getFullyConverted(): [ParenthesisExpr] (...) +# 2070| Type = [Struct] TernaryNonPodObj +# 2070| ValueCategory = lvalue +# 2070| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 2070| Type = [Struct] TernaryNonPodObj +# 2070| ValueCategory = lvalue +# 2070| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 2070| Type = [LValueReferenceType] const TernaryNonPodObj & +# 2070| ValueCategory = prvalue +# 2070| getExpr(): [CStyleCast] (const TernaryNonPodObj)... +# 2070| Conversion = [GlvalueConversion] glvalue conversion +# 2070| Type = [SpecifiedType] const TernaryNonPodObj +# 2070| ValueCategory = lvalue +# 2070| getExpr(): [TemporaryObjectExpr] temporary object +# 2070| Type = [Struct] TernaryNonPodObj +# 2070| ValueCategory = lvalue +# 2070| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2070| Type = [Struct] TernaryNonPodObj +# 2070| ValueCategory = lvalue +# 2071| getStmt(4): [ReturnStmt] return ... +# 2073| [TopLevelFunction] void CommaTestHelper(unsigned int) +# 2073| : +# 2073| getParameter(0): [Parameter] (unnamed parameter 0) +# 2073| Type = [IntType] unsigned int +# 2075| [TopLevelFunction] unsigned int CommaTest(unsigned int) +# 2075| : +# 2075| getParameter(0): [Parameter] x +# 2075| Type = [IntType] unsigned int +# 2075| getEntryPoint(): [BlockStmt] { ... } +# 2076| getStmt(0): [DeclStmt] declaration +# 2076| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 2076| Type = [IntType] unsigned int +# 2077| getStmt(1): [ExprStmt] ExprStmt +# 2077| getExpr(): [AssignExpr] ... = ... +# 2077| Type = [IntType] unsigned int +# 2077| ValueCategory = lvalue +# 2077| getLValue(): [VariableAccess] y +# 2077| Type = [IntType] unsigned int +# 2077| ValueCategory = lvalue +# 2077| getRValue(): [ConditionalExpr] ... ? ... : ... +# 2077| Type = [IntType] unsigned int +# 2077| ValueCategory = prvalue(load) +# 2077| getCondition(): [LTExpr] ... < ... +# 2077| Type = [BoolType] bool +# 2077| ValueCategory = prvalue +# 2077| getLesserOperand(): [VariableAccess] x +# 2077| Type = [IntType] unsigned int +# 2077| ValueCategory = prvalue(load) +# 2077| getGreaterOperand(): [Literal] 100 +# 2077| Type = [IntType] int +# 2077| Value = [Literal] 100 +# 2077| ValueCategory = prvalue +# 2077| getGreaterOperand().getFullyConverted(): [CStyleCast] (unsigned int)... +# 2077| Conversion = [IntegralConversion] integral conversion +# 2077| Type = [IntType] unsigned int +# 2077| Value = [CStyleCast] 100 +# 2077| ValueCategory = prvalue +# 2078| getThen(): [CommaExpr] ... , ... +# 2078| Type = [IntType] unsigned int +# 2078| ValueCategory = prvalue(load) +# 2078| getLeftOperand(): [FunctionCall] call to CommaTestHelper +# 2078| Type = [VoidType] void +# 2078| ValueCategory = prvalue +# 2078| getArgument(0): [VariableAccess] x +# 2078| Type = [IntType] unsigned int +# 2078| ValueCategory = prvalue(load) +# 2078| getRightOperand(): [VariableAccess] x +# 2078| Type = [IntType] unsigned int +# 2078| ValueCategory = prvalue(load) +# 2079| getElse(): [CommaExpr] ... , ... +# 2079| Type = [IntType] int +# 2079| ValueCategory = prvalue +# 2079| getLeftOperand(): [FunctionCall] call to CommaTestHelper +# 2079| Type = [VoidType] void +# 2079| ValueCategory = prvalue +# 2079| getArgument(0): [VariableAccess] x +# 2079| Type = [IntType] unsigned int +# 2079| ValueCategory = prvalue(load) +# 2079| getRightOperand(): [Literal] 10 +# 2079| Type = [IntType] int +# 2079| Value = [Literal] 10 +# 2079| ValueCategory = prvalue +# 2078| getThen().getFullyConverted(): [ParenthesisExpr] (...) +# 2078| Type = [IntType] unsigned int +# 2078| ValueCategory = prvalue(load) +# 2079| getElse().getFullyConverted(): [CStyleCast] (unsigned int)... +# 2079| Conversion = [IntegralConversion] integral conversion +# 2079| Type = [IntType] unsigned int +# 2079| ValueCategory = prvalue +# 2079| getExpr(): [ParenthesisExpr] (...) +# 2079| Type = [IntType] int +# 2079| ValueCategory = prvalue +# 2080| getStmt(2): [ReturnStmt] return ... +# 2082| [TopLevelFunction] void NewDeleteMem() +# 2082| : +# 2082| getEntryPoint(): [BlockStmt] { ... } +# 2083| getStmt(0): [DeclStmt] declaration +# 2083| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2083| Type = [IntPointerType] int * +# 2083| getVariable().getInitializer(): [Initializer] initializer for x +# 2083| getExpr(): [NewExpr] new +# 2083| Type = [IntPointerType] int * +# 2083| ValueCategory = prvalue +# 2084| getStmt(1): [ExprStmt] ExprStmt +# 2084| getExpr(): [AssignExpr] ... = ... # 2084| Type = [IntType] int -# 2084| ValueCategory = prvalue(load) -# 2087| [TopLevelFunction] void CallsNonExit() -# 2087| : -# 2087| getEntryPoint(): [BlockStmt] { ... } -# 2088| getStmt(0): [ExprStmt] ExprStmt -# 2088| getExpr(): [FunctionCall] call to VoidFunc -# 2088| Type = [VoidType] void -# 2088| ValueCategory = prvalue -# 2089| getStmt(1): [ExprStmt] ExprStmt -# 2089| getExpr(): [FunctionCall] call to exit -# 2089| Type = [VoidType] void -# 2089| ValueCategory = prvalue -# 2089| getArgument(0): [Literal] 3 -# 2089| Type = [IntType] int -# 2089| Value = [Literal] 3 -# 2089| ValueCategory = prvalue -# 2090| getStmt(2): [ReturnStmt] return ... -# 2092| [TopLevelFunction] int TransNonExit() +# 2084| ValueCategory = lvalue +# 2084| getLValue(): [PointerDereferenceExpr] * ... +# 2084| Type = [IntType] int +# 2084| ValueCategory = lvalue +# 2084| getOperand(): [VariableAccess] x +# 2084| Type = [IntPointerType] int * +# 2084| ValueCategory = prvalue(load) +# 2084| getRValue(): [Literal] 6 +# 2084| Type = [IntType] int +# 2084| Value = [Literal] 6 +# 2084| ValueCategory = prvalue +# 2085| getStmt(2): [ExprStmt] ExprStmt +# 2085| getExpr(): [DeleteExpr] delete +# 2085| Type = [VoidType] void +# 2085| ValueCategory = prvalue +# 2085| getExpr(): [VariableAccess] x +# 2085| Type = [IntPointerType] int * +# 2085| ValueCategory = prvalue(load) +# 2086| getStmt(3): [ReturnStmt] return ... +# 2088| [CopyAssignmentOperator] Base2& Base2::operator=(Base2 const&) +# 2088| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const Base2 & +# 2088| [Constructor] void Base2::Base2() +# 2088| : +# 2088| : +# 2088| getEntryPoint(): [BlockStmt] { ... } +# 2088| getStmt(0): [ReturnStmt] return ... +# 2088| [CopyConstructor] void Base2::Base2(Base2 const&) +# 2088| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const Base2 & +# 2090| [MemberFunction] void Base2::operator delete(void*) +# 2090| : +# 2090| getParameter(0): [Parameter] p +# 2090| Type = [VoidPointerType] void * +# 2090| getEntryPoint(): [BlockStmt] { ... } +# 2091| getStmt(0): [ReturnStmt] return ... +# 2092| [Destructor,VirtualFunction] void Base2::~Base2() # 2092| : # 2092| getEntryPoint(): [BlockStmt] { ... } -# 2093| getStmt(0): [DeclStmt] declaration -# 2093| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 2093| Type = [IntType] int -# 2093| getVariable().getInitializer(): [Initializer] initializer for x -# 2093| getExpr(): [FunctionCall] call to Add -# 2093| Type = [IntType] int -# 2093| ValueCategory = prvalue -# 2093| getArgument(0): [Literal] 3 -# 2093| Type = [IntType] int -# 2093| Value = [Literal] 3 -# 2093| ValueCategory = prvalue -# 2093| getArgument(1): [Literal] 4 -# 2093| Type = [IntType] int -# 2093| Value = [Literal] 4 -# 2093| ValueCategory = prvalue -# 2094| getStmt(1): [IfStmt] if (...) ... -# 2094| getCondition(): [EQExpr] ... == ... -# 2094| Type = [BoolType] bool -# 2094| ValueCategory = prvalue -# 2094| getLeftOperand(): [VariableAccess] x -# 2094| Type = [IntType] int -# 2094| ValueCategory = prvalue(load) -# 2094| getRightOperand(): [Literal] 7 -# 2094| Type = [IntType] int -# 2094| Value = [Literal] 7 -# 2094| ValueCategory = prvalue -# 2095| getThen(): [ExprStmt] ExprStmt -# 2095| getExpr(): [FunctionCall] call to CallsNonExit -# 2095| Type = [VoidType] void -# 2095| ValueCategory = prvalue -# 2096| getStmt(2): [ExprStmt] ExprStmt -# 2096| getExpr(): [FunctionCall] call to VoidFunc -# 2096| Type = [VoidType] void -# 2096| ValueCategory = prvalue -# 2097| getStmt(3): [ReturnStmt] return ... -# 2097| getExpr(): [VariableAccess] x -# 2097| Type = [IntType] int -# 2097| ValueCategory = prvalue(load) -# 2100| [TopLevelFunction] void newArrayCorrectType(size_t) +# 2092| getStmt(0): [ReturnStmt] return ... +# 2092| : +# 2095| [CopyAssignmentOperator] Derived2& Derived2::operator=(Derived2 const&) +# 2095| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const Derived2 & +# 2095| [Constructor] void Derived2::Derived2() +# 2095| : +# 2095| : +# 2095| getInitializer(0): [ConstructorDirectInit] call to Base2 +# 2095| Type = [VoidType] void +# 2095| ValueCategory = prvalue +# 2095| getEntryPoint(): [BlockStmt] { ... } +# 2095| getStmt(0): [ReturnStmt] return ... +# 2095| [CopyConstructor] void Derived2::Derived2(Derived2 const&) +# 2095| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const Derived2 & +# 2098| [Destructor,VirtualFunction] void Derived2::~Derived2() +# 2098| : +# 2098| getEntryPoint(): [BlockStmt] { ... } +# 2098| getStmt(0): [ReturnStmt] return ... +# 2098| : +# 2098| getDestruction(0): [DestructorDirectDestruction] call to ~Base2 +# 2098| Type = [VoidType] void +# 2098| ValueCategory = prvalue +# 2100| [MemberFunction] void Derived2::operator delete(void*) # 2100| : -# 2100| getParameter(0): [Parameter] n -# 2100| Type = [CTypedefType,Size_t] size_t +# 2100| getParameter(0): [Parameter] p +# 2100| Type = [VoidPointerType] void * # 2100| getEntryPoint(): [BlockStmt] { ... } -# 2101| getStmt(0): [ExprStmt] ExprStmt -# 2101| getExpr(): [NewArrayExpr] new[] -# 2101| Type = [IntPointerType] int * -# 2101| ValueCategory = prvalue -# 2101| getExtent(): [VariableAccess] n -# 2101| Type = [CTypedefType,Size_t] size_t -# 2101| ValueCategory = prvalue(load) -# 2102| getStmt(1): [ExprStmt] ExprStmt -# 2102| getExpr(): [NewArrayExpr] new[] -# 2102| Type = [IntPointerType] int * -# 2102| ValueCategory = prvalue -# 2102| getAllocatorCall(): [FunctionCall] call to operator new[] -# 2102| Type = [VoidPointerType] void * -# 2102| ValueCategory = prvalue -# 2102| getArgument(0): [ErrorExpr] -# 2102| Type = [LongType] unsigned long -# 2102| ValueCategory = prvalue -# 2102| getArgument(1): [Literal] 1.0 -# 2102| Type = [FloatType] float -# 2102| Value = [Literal] 1.0 -# 2102| ValueCategory = prvalue -# 2102| getExtent(): [VariableAccess] n -# 2102| Type = [CTypedefType,Size_t] size_t -# 2102| ValueCategory = prvalue(load) -# 2103| getStmt(2): [ExprStmt] ExprStmt -# 2103| getExpr(): [NewArrayExpr] new[] -# 2103| Type = [PointerType] String * -# 2103| ValueCategory = prvalue -# 2103| getInitializer(): [ArrayAggregateLiteral] {...} -# 2103| Type = [ArrayType] String[] -# 2103| ValueCategory = prvalue -# 2103| getAnElementExpr(0): [ConstructorCall] call to String -# 2103| Type = [VoidType] void -# 2103| ValueCategory = prvalue -# 2103| getExtent(): [VariableAccess] n -# 2103| Type = [CTypedefType,Size_t] size_t -# 2103| ValueCategory = prvalue(load) -# 2104| getStmt(3): [ExprStmt] ExprStmt -# 2104| getExpr(): [NewArrayExpr] new[] -# 2104| Type = [PointerType] Overaligned * -# 2104| ValueCategory = prvalue -# 2104| getExtent(): [VariableAccess] n -# 2104| Type = [CTypedefType,Size_t] size_t -# 2104| ValueCategory = prvalue(load) -# 2104| getAlignmentArgument(): [Literal] 128 -# 2104| Type = [ScopedEnum] align_val_t -# 2104| Value = [Literal] 128 -# 2104| ValueCategory = prvalue -# 2105| getStmt(4): [ExprStmt] ExprStmt -# 2105| getExpr(): [NewArrayExpr] new[] -# 2105| Type = [PointerType] DefaultCtorWithDefaultParam * -# 2105| ValueCategory = prvalue -# 2105| getInitializer(): [ArrayAggregateLiteral] {...} -# 2105| Type = [ArrayType] DefaultCtorWithDefaultParam[] -# 2105| ValueCategory = prvalue -# 2105| getAnElementExpr(0): [ConstructorCall] call to DefaultCtorWithDefaultParam -# 2105| Type = [VoidType] void -# 2105| ValueCategory = prvalue -# 2105| getExtent(): [VariableAccess] n -# 2105| Type = [CTypedefType,Size_t] size_t -# 2105| ValueCategory = prvalue(load) -# 2106| getStmt(5): [ExprStmt] ExprStmt -# 2106| getExpr(): [NewArrayExpr] new[] -# 2106| Type = [IntPointerType] int * -# 2106| ValueCategory = prvalue -# 2106| getInitializer(): [ArrayAggregateLiteral] {...} -# 2106| Type = [ArrayType] int[3] -# 2106| ValueCategory = prvalue -# 2106| getAnElementExpr(0): [Literal] 0 -# 2106| Type = [IntType] int -# 2106| Value = [Literal] 0 -# 2106| ValueCategory = prvalue -# 2106| getAnElementExpr(1): [Literal] 1 -# 2106| Type = [IntType] int -# 2106| Value = [Literal] 1 -# 2106| ValueCategory = prvalue -# 2106| getAnElementExpr(2): [Literal] 2 -# 2106| Type = [IntType] int -# 2106| Value = [Literal] 2 -# 2106| ValueCategory = prvalue -# 2106| getExtent(): [VariableAccess] n -# 2106| Type = [CTypedefType,Size_t] size_t -# 2106| ValueCategory = prvalue(load) -# 2107| getStmt(6): [ReturnStmt] return ... -# 2109| [TopLevelFunction] double strtod(char const*, char**) -# 2109| : -# 2109| getParameter(0): [Parameter] str -# 2109| Type = [PointerType] const char * -# 2109| getParameter(1): [Parameter] endptr -# 2109| Type = [PointerType] char ** -# 2111| [TopLevelFunction] char* test_strtod(char*) -# 2111| : -# 2111| getParameter(0): [Parameter] s -# 2111| Type = [CharPointerType] char * -# 2111| getEntryPoint(): [BlockStmt] { ... } -# 2112| getStmt(0): [DeclStmt] declaration -# 2112| getDeclarationEntry(0): [VariableDeclarationEntry] definition of end -# 2112| Type = [CharPointerType] char * -# 2113| getStmt(1): [DeclStmt] declaration +# 2101| getStmt(0): [ReturnStmt] return ... +# 2105| [TopLevelFunction] int virtual_delete() +# 2105| : +# 2106| getEntryPoint(): [BlockStmt] { ... } +# 2107| getStmt(0): [DeclStmt] declaration +# 2107| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b1 +# 2107| Type = [PointerType] Base2 * +# 2107| getVariable().getInitializer(): [Initializer] initializer for b1 +# 2107| getExpr(): [NewExpr] new +# 2107| Type = [PointerType] Base2 * +# 2107| ValueCategory = prvalue +# 2107| getInitializer(): [ConstructorCall] call to Base2 +# 2107| Type = [VoidType] void +# 2107| ValueCategory = prvalue +# 2108| getStmt(1): [ExprStmt] ExprStmt +# 2108| getExpr(): [DeleteExpr] delete +# 2108| Type = [VoidType] void +# 2108| ValueCategory = prvalue +# 2108| getDeallocatorCall(): [FunctionCall] call to operator delete +# 2108| Type = [VoidType] void +# 2108| ValueCategory = prvalue +# 2108| getDestructorCall(): [DestructorCall] call to ~Base2 +# 2108| Type = [VoidType] void +# 2108| ValueCategory = prvalue +# 2108| getQualifier(): [VariableAccess] b1 +# 2108| Type = [PointerType] Base2 * +# 2108| ValueCategory = prvalue(load) +# 2110| getStmt(2): [DeclStmt] declaration +# 2110| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b2 +# 2110| Type = [PointerType] Base2 * +# 2110| getVariable().getInitializer(): [Initializer] initializer for b2 +# 2110| getExpr(): [NewExpr] new +# 2110| Type = [PointerType] Derived2 * +# 2110| ValueCategory = prvalue +# 2110| getInitializer(): [ConstructorCall] call to Derived2 +# 2110| Type = [VoidType] void +# 2110| ValueCategory = prvalue +# 2110| getExpr().getFullyConverted(): [CStyleCast] (Base2 *)... +# 2110| Conversion = [BaseClassConversion] base class conversion +# 2110| Type = [PointerType] Base2 * +# 2110| ValueCategory = prvalue +# 2111| getStmt(3): [ExprStmt] ExprStmt +# 2111| getExpr(): [DeleteExpr] delete +# 2111| Type = [VoidType] void +# 2111| ValueCategory = prvalue +# 2111| getDeallocatorCall(): [FunctionCall] call to operator delete +# 2111| Type = [VoidType] void +# 2111| ValueCategory = prvalue +# 2111| getDestructorCall(): [DestructorCall] call to ~Base2 +# 2111| Type = [VoidType] void +# 2111| ValueCategory = prvalue +# 2111| getQualifier(): [VariableAccess] b2 +# 2111| Type = [PointerType] Base2 * +# 2111| ValueCategory = prvalue(load) +# 2113| getStmt(4): [DeclStmt] declaration # 2113| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d -# 2113| Type = [DoubleType] double +# 2113| Type = [PointerType] Derived2 * # 2113| getVariable().getInitializer(): [Initializer] initializer for d -# 2113| getExpr(): [FunctionCall] call to strtod -# 2113| Type = [DoubleType] double +# 2113| getExpr(): [NewExpr] new +# 2113| Type = [PointerType] Derived2 * # 2113| ValueCategory = prvalue -# 2113| getArgument(0): [VariableAccess] s -# 2113| Type = [CharPointerType] char * -# 2113| ValueCategory = prvalue(load) -# 2113| getArgument(1): [AddressOfExpr] & ... -# 2113| Type = [PointerType] char ** +# 2113| getInitializer(): [ConstructorCall] call to Derived2 +# 2113| Type = [VoidType] void # 2113| ValueCategory = prvalue -# 2113| getOperand(): [VariableAccess] end -# 2113| Type = [CharPointerType] char * -# 2113| ValueCategory = lvalue -# 2113| getArgument(0).getFullyConverted(): [CStyleCast] (const char *)... -# 2113| Conversion = [PointerConversion] pointer conversion -# 2113| Type = [PointerType] const char * -# 2113| ValueCategory = prvalue -# 2114| getStmt(2): [ReturnStmt] return ... -# 2114| getExpr(): [VariableAccess] end -# 2114| Type = [CharPointerType] char * -# 2114| ValueCategory = prvalue(load) -# 2117| [CopyAssignmentOperator] HasOperatorBool& HasOperatorBool::operator=(HasOperatorBool const&) +# 2114| getStmt(5): [ExprStmt] ExprStmt +# 2114| getExpr(): [DeleteExpr] delete +# 2114| Type = [VoidType] void +# 2114| ValueCategory = prvalue +# 2114| getDeallocatorCall(): [FunctionCall] call to operator delete +# 2114| Type = [VoidType] void +# 2114| ValueCategory = prvalue +# 2114| getDestructorCall(): [DestructorCall] call to ~Derived2 +# 2114| Type = [VoidType] void +# 2114| ValueCategory = prvalue +# 2114| getQualifier(): [VariableAccess] d +# 2114| Type = [PointerType] Derived2 * +# 2114| ValueCategory = prvalue(load) +# 2115| getStmt(6): [ReturnStmt] return ... +# 2117| [TopLevelFunction] void test_constant_folding_use(int) # 2117| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const HasOperatorBool & -# 2117| [MoveAssignmentOperator] HasOperatorBool& HasOperatorBool::operator=(HasOperatorBool&&) -# 2117| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [RValueReferenceType] HasOperatorBool && -# 2118| [ConversionOperator] bool HasOperatorBool::operator bool() -# 2118| : -# 2121| [TopLevelFunction] void call_as_child_of_ConditionDeclExpr() -# 2121| : -# 2121| getEntryPoint(): [BlockStmt] { ... } -# 2122| getStmt(0): [IfStmt] if (...) ... -# 2122| getCondition(): [ConditionDeclExpr] (condition decl) -# 2122| Type = [BoolType] bool -# 2122| ValueCategory = prvalue -# 2122| getChild(0): [FunctionCall] call to operator bool -# 2122| Type = [BoolType] bool -# 2122| ValueCategory = prvalue -# 2122| getQualifier(): [VariableAccess] b -# 2122| Type = [Struct] HasOperatorBool -# 2122| ValueCategory = prvalue(load) -# 2122| getThen(): [BlockStmt] { ... } -# 2123| getStmt(1): [ReturnStmt] return ... -# 2125| [CopyAssignmentOperator] ClassWithDestructor& ClassWithDestructor::operator=(ClassWithDestructor const&) -# 2125| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const ClassWithDestructor & -# 2125| [CopyConstructor] void ClassWithDestructor::ClassWithDestructor(ClassWithDestructor const&) -# 2125| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const ClassWithDestructor & -# 2125| : -# 2125| getInitializer(0): [ConstructorFieldInit] constructor init of field x -# 2125| Type = [CharPointerType] char * -# 2125| ValueCategory = prvalue -# 2125| getExpr(): [ReferenceFieldAccess] x -# 2125| Type = [CharPointerType] char * -# 2125| ValueCategory = prvalue(load) -# 2125| getQualifier(): [VariableAccess] (unnamed parameter 0) -# 2125| Type = [LValueReferenceType] const ClassWithDestructor & -# 2125| ValueCategory = prvalue(load) -# 2125| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2125| Type = [SpecifiedType] const ClassWithDestructor -# 2125| ValueCategory = lvalue -# 2125| getEntryPoint(): [BlockStmt] { ... } -# 2125| getStmt(0): [ReturnStmt] return ... -# 2128| [Constructor] void ClassWithDestructor::ClassWithDestructor() -# 2128| : -# 2128| : -# 2128| getEntryPoint(): [BlockStmt] { ... } -# 2128| getStmt(0): [ExprStmt] ExprStmt -# 2128| getExpr(): [AssignExpr] ... = ... -# 2128| Type = [CharPointerType] char * -# 2128| ValueCategory = lvalue -# 2128| getLValue(): [ImplicitThisFieldAccess,PointerFieldAccess] x -# 2128| Type = [CharPointerType] char * -# 2128| ValueCategory = lvalue -# 2128| getQualifier(): [ThisExpr] this -# 2128| Type = [PointerType] ClassWithDestructor * -# 2128| ValueCategory = prvalue(load) -# 2128| getRValue(): [NewExpr] new -# 2128| Type = [CharPointerType] char * +# 2117| getParameter(0): [Parameter] (unnamed parameter 0) +# 2117| Type = [IntType] int +# 2119| [TopLevelFunction] void test_constant_folding() +# 2119| : +# 2119| getEntryPoint(): [BlockStmt] { ... } +# 2120| getStmt(0): [DeclStmt] declaration +# 2120| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2120| Type = [SpecifiedType] const int +# 2120| getVariable().getInitializer(): [Initializer] initializer for x +# 2120| getExpr(): [Literal] 116 +# 2120| Type = [IntType] int +# 2120| Value = [Literal] 116 +# 2120| ValueCategory = prvalue +# 2121| getStmt(1): [ExprStmt] ExprStmt +# 2121| getExpr(): [FunctionCall] call to test_constant_folding_use +# 2121| Type = [VoidType] void +# 2121| ValueCategory = prvalue +# 2121| getArgument(0): [VariableAccess] x +# 2121| Type = [IntType] int +# 2121| Value = [VariableAccess] 116 +# 2121| ValueCategory = prvalue(load) +# 2122| getStmt(2): [ReturnStmt] return ... +# 2124| [TopLevelFunction] void exit(int) +# 2124| : +# 2124| getParameter(0): [Parameter] code +# 2124| Type = [IntType] int +# 2126| [TopLevelFunction] int NonExit() +# 2126| : +# 2126| getEntryPoint(): [BlockStmt] { ... } +# 2127| getStmt(0): [DeclStmt] declaration +# 2127| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2127| Type = [IntType] int +# 2127| getVariable().getInitializer(): [Initializer] initializer for x +# 2127| getExpr(): [FunctionCall] call to Add +# 2127| Type = [IntType] int +# 2127| ValueCategory = prvalue +# 2127| getArgument(0): [Literal] 3 +# 2127| Type = [IntType] int +# 2127| Value = [Literal] 3 +# 2127| ValueCategory = prvalue +# 2127| getArgument(1): [Literal] 4 +# 2127| Type = [IntType] int +# 2127| Value = [Literal] 4 +# 2127| ValueCategory = prvalue +# 2128| getStmt(1): [IfStmt] if (...) ... +# 2128| getCondition(): [EQExpr] ... == ... +# 2128| Type = [BoolType] bool +# 2128| ValueCategory = prvalue +# 2128| getLeftOperand(): [VariableAccess] x +# 2128| Type = [IntType] int +# 2128| ValueCategory = prvalue(load) +# 2128| getRightOperand(): [Literal] 7 +# 2128| Type = [IntType] int +# 2128| Value = [Literal] 7 # 2128| ValueCategory = prvalue -# 2128| getStmt(1): [ReturnStmt] return ... -# 2129| [Destructor] void ClassWithDestructor::~ClassWithDestructor() -# 2129| : -# 2129| getEntryPoint(): [BlockStmt] { ... } -# 2129| getStmt(0): [ExprStmt] ExprStmt -# 2129| getExpr(): [DeleteExpr] delete -# 2129| Type = [VoidType] void -# 2129| ValueCategory = prvalue -# 2129| getExpr(): [ImplicitThisFieldAccess,PointerFieldAccess] x -# 2129| Type = [CharPointerType] char * -# 2129| ValueCategory = prvalue(load) -# 2129| getQualifier(): [ThisExpr] this -# 2129| Type = [PointerType] ClassWithDestructor * -# 2129| ValueCategory = prvalue(load) -# 2129| getStmt(1): [ReturnStmt] return ... -# 2129| : -# 2131| [MemberFunction] void ClassWithDestructor::set_x(char) -# 2131| : -# 2131| getParameter(0): [Parameter] y -# 2131| Type = [PlainCharType] char -# 2131| getEntryPoint(): [BlockStmt] { ... } -# 2131| getStmt(0): [ExprStmt] ExprStmt -# 2131| getExpr(): [AssignExpr] ... = ... -# 2131| Type = [PlainCharType] char -# 2131| ValueCategory = lvalue -# 2131| getLValue(): [PointerDereferenceExpr] * ... -# 2131| Type = [PlainCharType] char -# 2131| ValueCategory = lvalue -# 2131| getOperand(): [ImplicitThisFieldAccess,PointerFieldAccess] x -# 2131| Type = [CharPointerType] char * -# 2131| ValueCategory = prvalue(load) -# 2131| getQualifier(): [ThisExpr] this -# 2131| Type = [PointerType] ClassWithDestructor * -# 2131| ValueCategory = prvalue(load) -# 2131| getRValue(): [VariableAccess] y -# 2131| Type = [PlainCharType] char -# 2131| ValueCategory = prvalue(load) -# 2131| getStmt(1): [ReturnStmt] return ... -# 2132| [MemberFunction] char ClassWithDestructor::get_x() -# 2132| : -# 2132| getEntryPoint(): [BlockStmt] { ... } -# 2132| getStmt(0): [ReturnStmt] return ... -# 2132| getExpr(): [PointerDereferenceExpr] * ... -# 2132| Type = [PlainCharType] char -# 2132| ValueCategory = prvalue(load) -# 2132| getOperand(): [ImplicitThisFieldAccess,PointerFieldAccess] x -# 2132| Type = [CharPointerType] char * -# 2132| ValueCategory = prvalue(load) -# 2132| getQualifier(): [ThisExpr] this -# 2132| Type = [PointerType] ClassWithDestructor * -# 2132| ValueCategory = prvalue(load) -# 2135| [GlobalVariable] bool initialization_with_destructor_bool -# 2135| getInitializer(): [Initializer] initializer for initialization_with_destructor_bool -# 2135| getExpr(): [Literal] 1 -# 2135| Type = [BoolType] bool -# 2135| Value = [Literal] 1 -# 2135| ValueCategory = prvalue -# 2137| [TopLevelFunction] void initialization_with_destructor(bool, char) -# 2137| : -# 2137| getParameter(0): [Parameter] b -# 2137| Type = [BoolType] bool -# 2137| getParameter(1): [Parameter] c -# 2137| Type = [PlainCharType] char -# 2137| getEntryPoint(): [BlockStmt] { ... } -# 2138| getStmt(0): [IfStmt] if (...) ... -# 2138| getInitialization(): [DeclStmt] declaration -# 2138| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 2138| Type = [Class] ClassWithDestructor -# 2138| getVariable().getInitializer(): [Initializer] initializer for x -# 2138| getExpr(): [ConstructorCall] call to ClassWithDestructor -# 2138| Type = [VoidType] void -# 2138| ValueCategory = prvalue -# 2138| getCondition(): [VariableAccess] b -# 2138| Type = [BoolType] bool -# 2138| ValueCategory = prvalue(load) -# 2139| getThen(): [ExprStmt] ExprStmt -# 2139| getExpr(): [FunctionCall] call to set_x -# 2139| Type = [VoidType] void -# 2139| ValueCategory = prvalue -# 2139| getQualifier(): [VariableAccess] x -# 2139| Type = [Class] ClassWithDestructor -# 2139| ValueCategory = lvalue -# 2139| getArgument(0): [CharLiteral] 97 -# 2139| Type = [PlainCharType] char -# 2139| Value = [CharLiteral] 97 -# 2139| ValueCategory = prvalue -# 2139| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2139| Type = [VoidType] void -# 2139| ValueCategory = prvalue -# 2139| getQualifier(): [VariableAccess] x -# 2139| Type = [Class] ClassWithDestructor -# 2139| ValueCategory = lvalue -# 2141| getStmt(1): [ConstexprIfStmt] if constexpr (...) ... -# 2141| getInitialization(): [DeclStmt] declaration -# 2141| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 2141| Type = [Class] ClassWithDestructor -# 2141| getVariable().getInitializer(): [Initializer] initializer for x -# 2141| getExpr(): [ConstructorCall] call to ClassWithDestructor -# 2141| Type = [VoidType] void -# 2141| ValueCategory = prvalue -# 2141| getCondition(): [VariableAccess] initialization_with_destructor_bool +# 2129| getThen(): [ExprStmt] ExprStmt +# 2129| getExpr(): [FunctionCall] call to exit +# 2129| Type = [VoidType] void +# 2129| ValueCategory = prvalue +# 2129| getArgument(0): [Literal] 3 +# 2129| Type = [IntType] int +# 2129| Value = [Literal] 3 +# 2129| ValueCategory = prvalue +# 2130| getStmt(2): [ExprStmt] ExprStmt +# 2130| getExpr(): [FunctionCall] call to VoidFunc +# 2130| Type = [VoidType] void +# 2130| ValueCategory = prvalue +# 2131| getStmt(3): [ReturnStmt] return ... +# 2131| getExpr(): [VariableAccess] x +# 2131| Type = [IntType] int +# 2131| ValueCategory = prvalue(load) +# 2134| [TopLevelFunction] void CallsNonExit() +# 2134| : +# 2134| getEntryPoint(): [BlockStmt] { ... } +# 2135| getStmt(0): [ExprStmt] ExprStmt +# 2135| getExpr(): [FunctionCall] call to VoidFunc +# 2135| Type = [VoidType] void +# 2135| ValueCategory = prvalue +# 2136| getStmt(1): [ExprStmt] ExprStmt +# 2136| getExpr(): [FunctionCall] call to exit +# 2136| Type = [VoidType] void +# 2136| ValueCategory = prvalue +# 2136| getArgument(0): [Literal] 3 +# 2136| Type = [IntType] int +# 2136| Value = [Literal] 3 +# 2136| ValueCategory = prvalue +# 2137| getStmt(2): [ReturnStmt] return ... +# 2139| [TopLevelFunction] int TransNonExit() +# 2139| : +# 2139| getEntryPoint(): [BlockStmt] { ... } +# 2140| getStmt(0): [DeclStmt] declaration +# 2140| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2140| Type = [IntType] int +# 2140| getVariable().getInitializer(): [Initializer] initializer for x +# 2140| getExpr(): [FunctionCall] call to Add +# 2140| Type = [IntType] int +# 2140| ValueCategory = prvalue +# 2140| getArgument(0): [Literal] 3 +# 2140| Type = [IntType] int +# 2140| Value = [Literal] 3 +# 2140| ValueCategory = prvalue +# 2140| getArgument(1): [Literal] 4 +# 2140| Type = [IntType] int +# 2140| Value = [Literal] 4 +# 2140| ValueCategory = prvalue +# 2141| getStmt(1): [IfStmt] if (...) ... +# 2141| getCondition(): [EQExpr] ... == ... # 2141| Type = [BoolType] bool -# 2141| Value = [VariableAccess] 1 -# 2141| ValueCategory = prvalue(load) +# 2141| ValueCategory = prvalue +# 2141| getLeftOperand(): [VariableAccess] x +# 2141| Type = [IntType] int +# 2141| ValueCategory = prvalue(load) +# 2141| getRightOperand(): [Literal] 7 +# 2141| Type = [IntType] int +# 2141| Value = [Literal] 7 +# 2141| ValueCategory = prvalue # 2142| getThen(): [ExprStmt] ExprStmt -# 2142| getExpr(): [FunctionCall] call to set_x +# 2142| getExpr(): [FunctionCall] call to CallsNonExit # 2142| Type = [VoidType] void # 2142| ValueCategory = prvalue -# 2142| getQualifier(): [VariableAccess] x -# 2142| Type = [Class] ClassWithDestructor -# 2142| ValueCategory = lvalue -# 2142| getArgument(0): [CharLiteral] 97 -# 2142| Type = [PlainCharType] char -# 2142| Value = [CharLiteral] 97 -# 2142| ValueCategory = prvalue -# 2142| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2142| Type = [VoidType] void -# 2142| ValueCategory = prvalue -# 2142| getQualifier(): [VariableAccess] x -# 2142| Type = [Class] ClassWithDestructor -# 2142| ValueCategory = lvalue -# 2144| getStmt(2): [SwitchStmt] switch (...) ... -# 2144| getInitialization(): [DeclStmt] declaration -# 2144| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 2144| Type = [Class] ClassWithDestructor -# 2144| getVariable().getInitializer(): [Initializer] initializer for x -# 2144| getExpr(): [ConstructorCall] call to ClassWithDestructor -# 2144| Type = [VoidType] void -# 2144| ValueCategory = prvalue -# 2144| getExpr(): [VariableAccess] c -# 2144| Type = [PlainCharType] char -# 2144| ValueCategory = prvalue(load) -# 2144| getStmt(): [BlockStmt] { ... } -# 2145| getStmt(0): [SwitchCase] case ...: -# 2145| getExpr(): [CharLiteral] 97 -# 2145| Type = [PlainCharType] char -# 2145| Value = [CharLiteral] 97 -# 2145| ValueCategory = prvalue -# 2145| getExpr().getFullyConverted(): [CStyleCast] (int)... -# 2145| Conversion = [IntegralConversion] integral conversion -# 2145| Type = [IntType] int -# 2145| Value = [CStyleCast] 97 -# 2145| ValueCategory = prvalue -# 2146| getStmt(1): [ExprStmt] ExprStmt -# 2146| getExpr(): [FunctionCall] call to set_x -# 2146| Type = [VoidType] void -# 2146| ValueCategory = prvalue -# 2146| getQualifier(): [VariableAccess] x -# 2146| Type = [Class] ClassWithDestructor -# 2146| ValueCategory = lvalue -# 2146| getArgument(0): [CharLiteral] 97 -# 2146| Type = [PlainCharType] char -# 2146| Value = [CharLiteral] 97 -# 2146| ValueCategory = prvalue -# 2147| getStmt(2): [BreakStmt] break; -# 2148| getStmt(3): [SwitchCase] default: -# 2149| getStmt(4): [ExprStmt] ExprStmt -# 2149| getExpr(): [FunctionCall] call to set_x -# 2149| Type = [VoidType] void -# 2149| ValueCategory = prvalue -# 2149| getQualifier(): [VariableAccess] x -# 2149| Type = [Class] ClassWithDestructor -# 2149| ValueCategory = lvalue -# 2149| getArgument(0): [CharLiteral] 98 -# 2149| Type = [PlainCharType] char -# 2149| Value = [CharLiteral] 98 -# 2149| ValueCategory = prvalue -# 2150| getStmt(5): [BreakStmt] break; -# 2151| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2151| Type = [VoidType] void -# 2151| ValueCategory = prvalue -# 2151| getQualifier(): [VariableAccess] x -# 2151| Type = [Class] ClassWithDestructor -# 2151| ValueCategory = lvalue -# 2144| getExpr().getFullyConverted(): [CStyleCast] (int)... -# 2144| Conversion = [IntegralConversion] integral conversion +# 2143| getStmt(2): [ExprStmt] ExprStmt +# 2143| getExpr(): [FunctionCall] call to VoidFunc +# 2143| Type = [VoidType] void +# 2143| ValueCategory = prvalue +# 2144| getStmt(3): [ReturnStmt] return ... +# 2144| getExpr(): [VariableAccess] x # 2144| Type = [IntType] int -# 2144| ValueCategory = prvalue -# 2151| getStmt(3): [LabelStmt] label ...: -# 2153| getStmt(4): [DeclStmt] declaration -# 2153| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 2153| Type = [Class] ClassWithDestructor -# 2153| getVariable().getInitializer(): [Initializer] initializer for x -# 2153| getExpr(): [ConstructorCall] call to ClassWithDestructor -# 2153| Type = [VoidType] void +# 2144| ValueCategory = prvalue(load) +# 2147| [TopLevelFunction] void newArrayCorrectType(size_t) +# 2147| : +# 2147| getParameter(0): [Parameter] n +# 2147| Type = [CTypedefType,Size_t] size_t +# 2147| getEntryPoint(): [BlockStmt] { ... } +# 2148| getStmt(0): [ExprStmt] ExprStmt +# 2148| getExpr(): [NewArrayExpr] new[] +# 2148| Type = [IntPointerType] int * +# 2148| ValueCategory = prvalue +# 2148| getExtent(): [VariableAccess] n +# 2148| Type = [CTypedefType,Size_t] size_t +# 2148| ValueCategory = prvalue(load) +# 2149| getStmt(1): [ExprStmt] ExprStmt +# 2149| getExpr(): [NewArrayExpr] new[] +# 2149| Type = [IntPointerType] int * +# 2149| ValueCategory = prvalue +# 2149| getAllocatorCall(): [FunctionCall] call to operator new[] +# 2149| Type = [VoidPointerType] void * +# 2149| ValueCategory = prvalue +# 2149| getArgument(0): [ErrorExpr] +# 2149| Type = [LongType] unsigned long +# 2149| ValueCategory = prvalue +# 2149| getArgument(1): [Literal] 1.0 +# 2149| Type = [FloatType] float +# 2149| Value = [Literal] 1.0 +# 2149| ValueCategory = prvalue +# 2149| getExtent(): [VariableAccess] n +# 2149| Type = [CTypedefType,Size_t] size_t +# 2149| ValueCategory = prvalue(load) +# 2150| getStmt(2): [ExprStmt] ExprStmt +# 2150| getExpr(): [NewArrayExpr] new[] +# 2150| Type = [PointerType] String * +# 2150| ValueCategory = prvalue +# 2150| getInitializer(): [ArrayAggregateLiteral] {...} +# 2150| Type = [ArrayType] String[] +# 2150| ValueCategory = prvalue +# 2150| getAnElementExpr(0): [ConstructorCall] call to String +# 2150| Type = [VoidType] void +# 2150| ValueCategory = prvalue +# 2150| getExtent(): [VariableAccess] n +# 2150| Type = [CTypedefType,Size_t] size_t +# 2150| ValueCategory = prvalue(load) +# 2151| getStmt(3): [ExprStmt] ExprStmt +# 2151| getExpr(): [NewArrayExpr] new[] +# 2151| Type = [PointerType] Overaligned * +# 2151| ValueCategory = prvalue +# 2151| getExtent(): [VariableAccess] n +# 2151| Type = [CTypedefType,Size_t] size_t +# 2151| ValueCategory = prvalue(load) +# 2151| getAlignmentArgument(): [Literal] 128 +# 2151| Type = [ScopedEnum] align_val_t +# 2151| Value = [Literal] 128 +# 2151| ValueCategory = prvalue +# 2152| getStmt(4): [ExprStmt] ExprStmt +# 2152| getExpr(): [NewArrayExpr] new[] +# 2152| Type = [PointerType] DefaultCtorWithDefaultParam * +# 2152| ValueCategory = prvalue +# 2152| getInitializer(): [ArrayAggregateLiteral] {...} +# 2152| Type = [ArrayType] DefaultCtorWithDefaultParam[] +# 2152| ValueCategory = prvalue +# 2152| getAnElementExpr(0): [ConstructorCall] call to DefaultCtorWithDefaultParam +# 2152| Type = [VoidType] void +# 2152| ValueCategory = prvalue +# 2152| getExtent(): [VariableAccess] n +# 2152| Type = [CTypedefType,Size_t] size_t +# 2152| ValueCategory = prvalue(load) +# 2153| getStmt(5): [ExprStmt] ExprStmt +# 2153| getExpr(): [NewArrayExpr] new[] +# 2153| Type = [IntPointerType] int * +# 2153| ValueCategory = prvalue +# 2153| getInitializer(): [ArrayAggregateLiteral] {...} +# 2153| Type = [ArrayType] int[3] +# 2153| ValueCategory = prvalue +# 2153| getAnElementExpr(0): [Literal] 0 +# 2153| Type = [IntType] int +# 2153| Value = [Literal] 0 # 2153| ValueCategory = prvalue -# 2154| getStmt(5): [RangeBasedForStmt] for(...:...) ... -# 2154| getInitialization(): [DeclStmt] declaration -# 2154| getDeclarationEntry(0): [VariableDeclarationEntry] definition of ys -# 2154| Type = [ClassTemplateInstantiation,Struct] vector -# 2154| getVariable().getInitializer(): [Initializer] initializer for ys -# 2154| getExpr(): [ConstructorCall] call to vector -# 2154| Type = [VoidType] void -# 2154| ValueCategory = prvalue -# 2154| getArgument(0): [VariableAccess] x -# 2154| Type = [Class] ClassWithDestructor -# 2154| ValueCategory = prvalue(load) -# 2154| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2154| Type = [Class] ClassWithDestructor -# 2154| ValueCategory = lvalue -# 2154| getChild(1): [DeclStmt] declaration -# 2154| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__range) -# 2154| Type = [LValueReferenceType] vector & -#-----| getVariable().getInitializer(): [Initializer] initializer for (__range) -# 2154| getExpr(): [VariableAccess] ys -# 2154| Type = [ClassTemplateInstantiation,Struct] vector -# 2154| ValueCategory = lvalue -# 2154| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 2154| Type = [LValueReferenceType] vector & -# 2154| ValueCategory = prvalue -# 2154| getBeginEndDeclaration(): [DeclStmt] declaration -# 2154| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__begin) -# 2154| Type = [NestedStruct] iterator -#-----| getVariable().getInitializer(): [Initializer] initializer for (__begin) -# 2154| getExpr(): [FunctionCall] call to begin -# 2154| Type = [NestedStruct] iterator -# 2154| ValueCategory = prvalue -# 2154| getQualifier(): [VariableAccess] (__range) -# 2154| Type = [LValueReferenceType] vector & -# 2154| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const vector -#-----| ValueCategory = lvalue -#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -#-----| Type = [ClassTemplateInstantiation,Struct] vector -#-----| ValueCategory = lvalue -# 2154| getDeclarationEntry(1): [VariableDeclarationEntry] declaration of (__end) -# 2154| Type = [NestedStruct] iterator -#-----| getVariable().getInitializer(): [Initializer] initializer for (__end) -# 2154| getExpr(): [FunctionCall] call to end -# 2154| Type = [NestedStruct] iterator -# 2154| ValueCategory = prvalue -# 2154| getQualifier(): [VariableAccess] (__range) -# 2154| Type = [LValueReferenceType] vector & -# 2154| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const vector -#-----| ValueCategory = lvalue -#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -#-----| Type = [ClassTemplateInstantiation,Struct] vector -#-----| ValueCategory = lvalue -# 2154| getCondition(): [FunctionCall] call to operator!= -# 2154| Type = [BoolType] bool -# 2154| ValueCategory = prvalue -# 2154| getQualifier(): [VariableAccess] (__begin) -# 2154| Type = [NestedStruct] iterator -# 2154| ValueCategory = lvalue -# 2154| getArgument(0): [VariableAccess] (__end) -# 2154| Type = [NestedStruct] iterator -# 2154| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const iterator -#-----| ValueCategory = lvalue -# 2154| getUpdate(): [FunctionCall] call to operator++ -# 2154| Type = [LValueReferenceType] iterator & -# 2154| ValueCategory = prvalue -# 2154| getQualifier(): [VariableAccess] (__begin) -# 2154| Type = [NestedStruct] iterator -# 2154| ValueCategory = lvalue -# 2154| getChild(5): [DeclStmt] declaration -# 2154| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 2154| Type = [Class] ClassWithDestructor -# 2154| getVariable().getInitializer(): [Initializer] initializer for y -# 2154| getExpr(): [OverloadedPointerDereferenceExpr] call to operator* -# 2154| Type = [LValueReferenceType] ClassWithDestructor & -# 2154| ValueCategory = prvalue -# 2154| getQualifier(): [VariableAccess] (__begin) -# 2154| Type = [NestedStruct] iterator -# 2154| ValueCategory = lvalue -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const iterator -#-----| ValueCategory = lvalue -# 2154| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2154| Type = [Class] ClassWithDestructor -# 2154| ValueCategory = prvalue(load) -# 2155| getStmt(): [ExprStmt] ExprStmt -# 2155| getExpr(): [FunctionCall] call to set_x -# 2155| Type = [VoidType] void -# 2155| ValueCategory = prvalue -# 2155| getQualifier(): [VariableAccess] y -# 2155| Type = [Class] ClassWithDestructor -# 2155| ValueCategory = lvalue -# 2155| getArgument(0): [CharLiteral] 97 -# 2155| Type = [PlainCharType] char -# 2155| Value = [CharLiteral] 97 -# 2155| ValueCategory = prvalue -# 2154| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2154| Type = [VoidType] void -# 2154| ValueCategory = prvalue -# 2154| getQualifier(): [VariableAccess] y -# 2154| Type = [Class] ClassWithDestructor -# 2154| ValueCategory = lvalue -# 2154| getImplicitDestructorCall(0): [DestructorCall] call to ~vector -# 2154| Type = [VoidType] void -# 2154| ValueCategory = prvalue -# 2154| getQualifier(): [VariableAccess] ys -# 2154| Type = [ClassTemplateInstantiation,Struct] vector -# 2154| ValueCategory = lvalue -# 2154| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2154| Type = [NestedStruct] iterator -# 2154| ValueCategory = lvalue -# 2157| getStmt(6): [RangeBasedForStmt] for(...:...) ... -# 2157| getInitialization(): [DeclStmt] declaration -# 2157| getDeclarationEntry(0): [VariableDeclarationEntry] definition of ys -# 2157| Type = [ClassTemplateInstantiation,Struct] vector -# 2157| getVariable().getInitializer(): [Initializer] initializer for ys -# 2157| getExpr(): [ConstructorCall] call to vector -# 2157| Type = [VoidType] void -# 2157| ValueCategory = prvalue -# 2157| getArgument(0): [VariableAccess] x -# 2157| Type = [Class] ClassWithDestructor -# 2157| ValueCategory = prvalue(load) -# 2157| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2157| Type = [Class] ClassWithDestructor -# 2157| ValueCategory = lvalue -# 2157| getChild(1): [DeclStmt] declaration -# 2157| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__range) -# 2157| Type = [LValueReferenceType] vector & -#-----| getVariable().getInitializer(): [Initializer] initializer for (__range) -# 2157| getExpr(): [VariableAccess] ys -# 2157| Type = [ClassTemplateInstantiation,Struct] vector -# 2157| ValueCategory = lvalue -# 2157| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 2157| Type = [LValueReferenceType] vector & -# 2157| ValueCategory = prvalue -# 2157| getBeginEndDeclaration(): [DeclStmt] declaration -# 2157| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__begin) -# 2157| Type = [NestedStruct] iterator -#-----| getVariable().getInitializer(): [Initializer] initializer for (__begin) -# 2157| getExpr(): [FunctionCall] call to begin -# 2157| Type = [NestedStruct] iterator -# 2157| ValueCategory = prvalue -# 2157| getQualifier(): [VariableAccess] (__range) -# 2157| Type = [LValueReferenceType] vector & -# 2157| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const vector -#-----| ValueCategory = lvalue -#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -#-----| Type = [ClassTemplateInstantiation,Struct] vector -#-----| ValueCategory = lvalue -# 2157| getDeclarationEntry(1): [VariableDeclarationEntry] declaration of (__end) -# 2157| Type = [NestedStruct] iterator -#-----| getVariable().getInitializer(): [Initializer] initializer for (__end) -# 2157| getExpr(): [FunctionCall] call to end -# 2157| Type = [NestedStruct] iterator -# 2157| ValueCategory = prvalue -# 2157| getQualifier(): [VariableAccess] (__range) -# 2157| Type = [LValueReferenceType] vector & -# 2157| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const vector -#-----| ValueCategory = lvalue -#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -#-----| Type = [ClassTemplateInstantiation,Struct] vector -#-----| ValueCategory = lvalue -# 2157| getCondition(): [FunctionCall] call to operator!= -# 2157| Type = [BoolType] bool -# 2157| ValueCategory = prvalue -# 2157| getQualifier(): [VariableAccess] (__begin) -# 2157| Type = [NestedStruct] iterator -# 2157| ValueCategory = lvalue -# 2157| getArgument(0): [VariableAccess] (__end) -# 2157| Type = [NestedStruct] iterator -# 2157| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const iterator -#-----| ValueCategory = lvalue -# 2157| getUpdate(): [FunctionCall] call to operator++ -# 2157| Type = [LValueReferenceType] iterator & -# 2157| ValueCategory = prvalue -# 2157| getQualifier(): [VariableAccess] (__begin) -# 2157| Type = [NestedStruct] iterator -# 2157| ValueCategory = lvalue -# 2157| getChild(5): [DeclStmt] declaration -# 2157| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 2157| Type = [Class] ClassWithDestructor -# 2157| getVariable().getInitializer(): [Initializer] initializer for y -# 2157| getExpr(): [OverloadedPointerDereferenceExpr] call to operator* -# 2157| Type = [LValueReferenceType] ClassWithDestructor & -# 2157| ValueCategory = prvalue -# 2157| getQualifier(): [VariableAccess] (__begin) -# 2157| Type = [NestedStruct] iterator -# 2157| ValueCategory = lvalue -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const iterator -#-----| ValueCategory = lvalue -# 2157| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2157| Type = [Class] ClassWithDestructor -# 2157| ValueCategory = prvalue(load) -# 2157| getStmt(): [BlockStmt] { ... } -# 2158| getStmt(0): [ExprStmt] ExprStmt -# 2158| getExpr(): [FunctionCall] call to set_x -# 2158| Type = [VoidType] void -# 2158| ValueCategory = prvalue -# 2158| getQualifier(): [VariableAccess] y -# 2158| Type = [Class] ClassWithDestructor -# 2158| ValueCategory = lvalue -# 2158| getArgument(0): [CharLiteral] 97 -# 2158| Type = [PlainCharType] char -# 2158| Value = [CharLiteral] 97 -# 2158| ValueCategory = prvalue -# 2159| getStmt(1): [IfStmt] if (...) ... -# 2159| getCondition(): [EQExpr] ... == ... -# 2159| Type = [BoolType] bool -# 2159| ValueCategory = prvalue -# 2159| getLeftOperand(): [FunctionCall] call to get_x -# 2159| Type = [PlainCharType] char -# 2159| ValueCategory = prvalue -# 2159| getQualifier(): [VariableAccess] y -# 2159| Type = [Class] ClassWithDestructor -# 2159| ValueCategory = lvalue -# 2159| getRightOperand(): [CharLiteral] 98 -# 2159| Type = [PlainCharType] char -# 2159| Value = [CharLiteral] 98 -# 2159| ValueCategory = prvalue -# 2159| getLeftOperand().getFullyConverted(): [CStyleCast] (int)... -# 2159| Conversion = [IntegralConversion] integral conversion -# 2159| Type = [IntType] int -# 2159| ValueCategory = prvalue -# 2159| getRightOperand().getFullyConverted(): [CStyleCast] (int)... -# 2159| Conversion = [IntegralConversion] integral conversion -# 2159| Type = [IntType] int -# 2159| Value = [CStyleCast] 98 -# 2159| ValueCategory = prvalue -# 2160| getThen(): [ReturnStmt] return ... -# 2157| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2157| Type = [VoidType] void -# 2157| ValueCategory = prvalue -# 2157| getQualifier(): [VariableAccess] y -# 2157| Type = [Class] ClassWithDestructor -# 2157| ValueCategory = lvalue -# 2157| getImplicitDestructorCall(1): [DestructorCall] call to ~vector -# 2157| Type = [VoidType] void -# 2157| ValueCategory = prvalue -# 2157| getQualifier(): [VariableAccess] ys -# 2157| Type = [ClassTemplateInstantiation,Struct] vector -# 2157| ValueCategory = lvalue -# 2172| getImplicitDestructorCall(2): [DestructorCall] call to ~ClassWithDestructor -# 2172| Type = [VoidType] void -# 2172| ValueCategory = prvalue -# 2172| getQualifier(): [VariableAccess] x -# 2172| Type = [Class] ClassWithDestructor -# 2172| ValueCategory = lvalue -# 2157| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2157| Type = [VoidType] void -# 2157| ValueCategory = prvalue -# 2157| getQualifier(): [VariableAccess] y -# 2157| Type = [Class] ClassWithDestructor -# 2157| ValueCategory = lvalue -# 2157| getImplicitDestructorCall(0): [DestructorCall] call to ~vector -# 2157| Type = [VoidType] void -# 2157| ValueCategory = prvalue -# 2157| getQualifier(): [VariableAccess] ys -# 2157| Type = [ClassTemplateInstantiation,Struct] vector -# 2157| ValueCategory = lvalue -# 2157| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2157| Type = [NestedStruct] iterator -# 2157| ValueCategory = lvalue -# 2163| getStmt(7): [RangeBasedForStmt] for(...:...) ... -# 2163| getInitialization(): [DeclStmt] declaration -# 2163| getDeclarationEntry(0): [VariableDeclarationEntry] definition of ys -# 2163| Type = [ClassTemplateInstantiation,Struct] vector -# 2163| getVariable().getInitializer(): [Initializer] initializer for ys -# 2163| getExpr(): [ConstructorCall] call to vector -# 2163| Type = [VoidType] void -# 2163| ValueCategory = prvalue -# 2163| getArgument(0): [Literal] 1 -# 2163| Type = [IntType] int -# 2163| Value = [Literal] 1 -# 2163| ValueCategory = prvalue -# 2163| getChild(1): [DeclStmt] declaration -# 2163| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__range) -# 2163| Type = [LValueReferenceType] vector & -#-----| getVariable().getInitializer(): [Initializer] initializer for (__range) -# 2163| getExpr(): [VariableAccess] ys -# 2163| Type = [ClassTemplateInstantiation,Struct] vector -# 2163| ValueCategory = lvalue -# 2163| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 2163| Type = [LValueReferenceType] vector & -# 2163| ValueCategory = prvalue -# 2163| getBeginEndDeclaration(): [DeclStmt] declaration -# 2163| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__begin) -# 2163| Type = [NestedStruct] iterator -#-----| getVariable().getInitializer(): [Initializer] initializer for (__begin) -# 2163| getExpr(): [FunctionCall] call to begin -# 2163| Type = [NestedStruct] iterator -# 2163| ValueCategory = prvalue -# 2163| getQualifier(): [VariableAccess] (__range) -# 2163| Type = [LValueReferenceType] vector & -# 2163| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const vector -#-----| ValueCategory = lvalue -#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -#-----| Type = [ClassTemplateInstantiation,Struct] vector -#-----| ValueCategory = lvalue -# 2163| getDeclarationEntry(1): [VariableDeclarationEntry] declaration of (__end) -# 2163| Type = [NestedStruct] iterator -#-----| getVariable().getInitializer(): [Initializer] initializer for (__end) -# 2163| getExpr(): [FunctionCall] call to end -# 2163| Type = [NestedStruct] iterator -# 2163| ValueCategory = prvalue -# 2163| getQualifier(): [VariableAccess] (__range) -# 2163| Type = [LValueReferenceType] vector & -# 2163| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const vector -#-----| ValueCategory = lvalue -#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -#-----| Type = [ClassTemplateInstantiation,Struct] vector -#-----| ValueCategory = lvalue -# 2163| getCondition(): [FunctionCall] call to operator!= -# 2163| Type = [BoolType] bool -# 2163| ValueCategory = prvalue -# 2163| getQualifier(): [VariableAccess] (__begin) -# 2163| Type = [NestedStruct] iterator -# 2163| ValueCategory = lvalue -# 2163| getArgument(0): [VariableAccess] (__end) -# 2163| Type = [NestedStruct] iterator -# 2163| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const iterator -#-----| ValueCategory = lvalue -# 2163| getUpdate(): [FunctionCall] call to operator++ -# 2163| Type = [LValueReferenceType] iterator & -# 2163| ValueCategory = prvalue -# 2163| getQualifier(): [VariableAccess] (__begin) -# 2163| Type = [NestedStruct] iterator -# 2163| ValueCategory = lvalue -# 2163| getChild(5): [DeclStmt] declaration -# 2163| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 2163| Type = [IntType] int -# 2163| getVariable().getInitializer(): [Initializer] initializer for y -# 2163| getExpr(): [OverloadedPointerDereferenceExpr] call to operator* -# 2163| Type = [LValueReferenceType] int & -# 2163| ValueCategory = prvalue -# 2163| getQualifier(): [VariableAccess] (__begin) -# 2163| Type = [NestedStruct] iterator -# 2163| ValueCategory = lvalue -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const iterator -#-----| ValueCategory = lvalue -# 2163| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2163| Type = [IntType] int -# 2163| ValueCategory = prvalue(load) -# 2163| getStmt(): [BlockStmt] { ... } -# 2164| getStmt(0): [IfStmt] if (...) ... -# 2164| getCondition(): [EQExpr] ... == ... -# 2164| Type = [BoolType] bool -# 2164| ValueCategory = prvalue -# 2164| getLeftOperand(): [VariableAccess] y -# 2164| Type = [IntType] int -# 2164| ValueCategory = prvalue(load) -# 2164| getRightOperand(): [Literal] 1 -# 2164| Type = [IntType] int -# 2164| Value = [Literal] 1 -# 2164| ValueCategory = prvalue -# 2165| getThen(): [ReturnStmt] return ... -# 2163| getImplicitDestructorCall(0): [DestructorCall] call to ~vector -# 2163| Type = [VoidType] void -# 2163| ValueCategory = prvalue -# 2163| getQualifier(): [VariableAccess] ys -# 2163| Type = [ClassTemplateInstantiation,Struct] vector -# 2163| ValueCategory = lvalue -# 2172| getImplicitDestructorCall(1): [DestructorCall] call to ~ClassWithDestructor -# 2172| Type = [VoidType] void -# 2172| ValueCategory = prvalue -# 2172| getQualifier(): [VariableAccess] x -# 2172| Type = [Class] ClassWithDestructor -# 2172| ValueCategory = lvalue -# 2163| getImplicitDestructorCall(0): [DestructorCall] call to ~vector -# 2163| Type = [VoidType] void -# 2163| ValueCategory = prvalue -# 2163| getQualifier(): [VariableAccess] ys -# 2163| Type = [ClassTemplateInstantiation,Struct] vector -# 2163| ValueCategory = lvalue -# 2163| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2163| Type = [NestedStruct] iterator -# 2163| ValueCategory = lvalue -# 2168| getStmt(8): [RangeBasedForStmt] for(...:...) ... -# 2168| getInitialization(): [DeclStmt] declaration -# 2168| getDeclarationEntry(0): [VariableDeclarationEntry] definition of ys -# 2168| Type = [ClassTemplateInstantiation,Struct] vector -# 2168| getVariable().getInitializer(): [Initializer] initializer for ys -# 2168| getExpr(): [ConstructorCall] call to vector -# 2168| Type = [VoidType] void -# 2168| ValueCategory = prvalue -# 2168| getArgument(0): [VariableAccess] x -# 2168| Type = [Class] ClassWithDestructor -# 2168| ValueCategory = prvalue(load) -# 2168| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2168| Type = [Class] ClassWithDestructor -# 2168| ValueCategory = lvalue -# 2168| getChild(1): [DeclStmt] declaration -# 2168| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__range) -# 2168| Type = [LValueReferenceType] vector & -#-----| getVariable().getInitializer(): [Initializer] initializer for (__range) -# 2168| getExpr(): [VariableAccess] ys -# 2168| Type = [ClassTemplateInstantiation,Struct] vector -# 2168| ValueCategory = lvalue -# 2168| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 2168| Type = [LValueReferenceType] vector & -# 2168| ValueCategory = prvalue -# 2168| getBeginEndDeclaration(): [DeclStmt] declaration -# 2168| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__begin) -# 2168| Type = [NestedStruct] iterator -#-----| getVariable().getInitializer(): [Initializer] initializer for (__begin) -# 2168| getExpr(): [FunctionCall] call to begin -# 2168| Type = [NestedStruct] iterator -# 2168| ValueCategory = prvalue -# 2168| getQualifier(): [VariableAccess] (__range) -# 2168| Type = [LValueReferenceType] vector & -# 2168| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const vector -#-----| ValueCategory = lvalue -#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -#-----| Type = [ClassTemplateInstantiation,Struct] vector -#-----| ValueCategory = lvalue -# 2168| getDeclarationEntry(1): [VariableDeclarationEntry] declaration of (__end) -# 2168| Type = [NestedStruct] iterator -#-----| getVariable().getInitializer(): [Initializer] initializer for (__end) -# 2168| getExpr(): [FunctionCall] call to end -# 2168| Type = [NestedStruct] iterator -# 2168| ValueCategory = prvalue -# 2168| getQualifier(): [VariableAccess] (__range) -# 2168| Type = [LValueReferenceType] vector & -# 2168| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const vector -#-----| ValueCategory = lvalue -#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -#-----| Type = [ClassTemplateInstantiation,Struct] vector -#-----| ValueCategory = lvalue -# 2168| getCondition(): [FunctionCall] call to operator!= -# 2168| Type = [BoolType] bool -# 2168| ValueCategory = prvalue -# 2168| getQualifier(): [VariableAccess] (__begin) -# 2168| Type = [NestedStruct] iterator -# 2168| ValueCategory = lvalue -# 2168| getArgument(0): [VariableAccess] (__end) -# 2168| Type = [NestedStruct] iterator -# 2168| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const iterator -#-----| ValueCategory = lvalue -# 2168| getUpdate(): [FunctionCall] call to operator++ -# 2168| Type = [LValueReferenceType] iterator & -# 2168| ValueCategory = prvalue -# 2168| getQualifier(): [VariableAccess] (__begin) -# 2168| Type = [NestedStruct] iterator -# 2168| ValueCategory = lvalue -# 2168| getChild(5): [DeclStmt] declaration -# 2168| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 2168| Type = [Class] ClassWithDestructor -# 2168| getVariable().getInitializer(): [Initializer] initializer for y -# 2168| getExpr(): [OverloadedPointerDereferenceExpr] call to operator* -# 2168| Type = [LValueReferenceType] ClassWithDestructor & -# 2168| ValueCategory = prvalue -# 2168| getQualifier(): [VariableAccess] (__begin) -# 2168| Type = [NestedStruct] iterator -# 2168| ValueCategory = lvalue -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const iterator -#-----| ValueCategory = lvalue -# 2168| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2168| Type = [Class] ClassWithDestructor -# 2168| ValueCategory = prvalue(load) -# 2168| getStmt(): [BlockStmt] { ... } -# 2169| getStmt(0): [DeclStmt] declaration -# 2169| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z1 -# 2169| Type = [Class] ClassWithDestructor -# 2169| getVariable().getInitializer(): [Initializer] initializer for z1 -# 2169| getExpr(): [ConstructorCall] call to ClassWithDestructor -# 2169| Type = [VoidType] void -# 2169| ValueCategory = prvalue -# 2170| getStmt(1): [DeclStmt] declaration -# 2170| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z2 -# 2170| Type = [Class] ClassWithDestructor -# 2170| getVariable().getInitializer(): [Initializer] initializer for z2 -# 2170| getExpr(): [ConstructorCall] call to ClassWithDestructor -# 2170| Type = [VoidType] void -# 2170| ValueCategory = prvalue -# 2171| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2171| Type = [VoidType] void -# 2171| ValueCategory = prvalue -# 2171| getQualifier(): [VariableAccess] z2 -# 2171| Type = [Class] ClassWithDestructor -# 2171| ValueCategory = lvalue -# 2171| getImplicitDestructorCall(1): [DestructorCall] call to ~ClassWithDestructor -# 2171| Type = [VoidType] void -# 2171| ValueCategory = prvalue -# 2171| getQualifier(): [VariableAccess] z1 -# 2171| Type = [Class] ClassWithDestructor -# 2171| ValueCategory = lvalue -# 2168| getImplicitDestructorCall(2): [DestructorCall] call to ~ClassWithDestructor -# 2168| Type = [VoidType] void -# 2168| ValueCategory = prvalue -# 2168| getQualifier(): [VariableAccess] y -# 2168| Type = [Class] ClassWithDestructor -# 2168| ValueCategory = lvalue -# 2168| getImplicitDestructorCall(0): [DestructorCall] call to ~vector -# 2168| Type = [VoidType] void -# 2168| ValueCategory = prvalue -# 2168| getQualifier(): [VariableAccess] ys -# 2168| Type = [ClassTemplateInstantiation,Struct] vector -# 2168| ValueCategory = lvalue -# 2168| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2168| Type = [NestedStruct] iterator -# 2168| ValueCategory = lvalue -# 2172| getStmt(9): [ReturnStmt] return ... -# 2172| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2172| Type = [VoidType] void -# 2172| ValueCategory = prvalue -# 2172| getQualifier(): [VariableAccess] x -# 2172| Type = [Class] ClassWithDestructor +# 2153| getAnElementExpr(1): [Literal] 1 +# 2153| Type = [IntType] int +# 2153| Value = [Literal] 1 +# 2153| ValueCategory = prvalue +# 2153| getAnElementExpr(2): [Literal] 2 +# 2153| Type = [IntType] int +# 2153| Value = [Literal] 2 +# 2153| ValueCategory = prvalue +# 2153| getExtent(): [VariableAccess] n +# 2153| Type = [CTypedefType,Size_t] size_t +# 2153| ValueCategory = prvalue(load) +# 2154| getStmt(6): [ReturnStmt] return ... +# 2156| [TopLevelFunction] double strtod(char const*, char**) +# 2156| : +# 2156| getParameter(0): [Parameter] str +# 2156| Type = [PointerType] const char * +# 2156| getParameter(1): [Parameter] endptr +# 2156| Type = [PointerType] char ** +# 2158| [TopLevelFunction] char* test_strtod(char*) +# 2158| : +# 2158| getParameter(0): [Parameter] s +# 2158| Type = [CharPointerType] char * +# 2158| getEntryPoint(): [BlockStmt] { ... } +# 2159| getStmt(0): [DeclStmt] declaration +# 2159| getDeclarationEntry(0): [VariableDeclarationEntry] definition of end +# 2159| Type = [CharPointerType] char * +# 2160| getStmt(1): [DeclStmt] declaration +# 2160| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d +# 2160| Type = [DoubleType] double +# 2160| getVariable().getInitializer(): [Initializer] initializer for d +# 2160| getExpr(): [FunctionCall] call to strtod +# 2160| Type = [DoubleType] double +# 2160| ValueCategory = prvalue +# 2160| getArgument(0): [VariableAccess] s +# 2160| Type = [CharPointerType] char * +# 2160| ValueCategory = prvalue(load) +# 2160| getArgument(1): [AddressOfExpr] & ... +# 2160| Type = [PointerType] char ** +# 2160| ValueCategory = prvalue +# 2160| getOperand(): [VariableAccess] end +# 2160| Type = [CharPointerType] char * +# 2160| ValueCategory = lvalue +# 2160| getArgument(0).getFullyConverted(): [CStyleCast] (const char *)... +# 2160| Conversion = [PointerConversion] pointer conversion +# 2160| Type = [PointerType] const char * +# 2160| ValueCategory = prvalue +# 2161| getStmt(2): [ReturnStmt] return ... +# 2161| getExpr(): [VariableAccess] end +# 2161| Type = [CharPointerType] char * +# 2161| ValueCategory = prvalue(load) +# 2164| [CopyAssignmentOperator] HasOperatorBool& HasOperatorBool::operator=(HasOperatorBool const&) +# 2164| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const HasOperatorBool & +# 2164| [MoveAssignmentOperator] HasOperatorBool& HasOperatorBool::operator=(HasOperatorBool&&) +# 2164| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [RValueReferenceType] HasOperatorBool && +# 2165| [ConversionOperator] bool HasOperatorBool::operator bool() +# 2165| : +# 2168| [TopLevelFunction] void call_as_child_of_ConditionDeclExpr() +# 2168| : +# 2168| getEntryPoint(): [BlockStmt] { ... } +# 2169| getStmt(0): [IfStmt] if (...) ... +# 2169| getCondition(): [ConditionDeclExpr] (condition decl) +# 2169| Type = [BoolType] bool +# 2169| ValueCategory = prvalue +# 2169| getChild(0): [FunctionCall] call to operator bool +# 2169| Type = [BoolType] bool +# 2169| ValueCategory = prvalue +# 2169| getQualifier(): [VariableAccess] b +# 2169| Type = [Struct] HasOperatorBool +# 2169| ValueCategory = prvalue(load) +# 2169| getInitializingExpr(): [Literal] 0 +# 2169| Type = [Struct] HasOperatorBool +# 2169| Value = [Literal] 0 +# 2169| ValueCategory = prvalue +# 2169| getThen(): [BlockStmt] { ... } +# 2170| getStmt(1): [ReturnStmt] return ... +# 2172| [CopyAssignmentOperator] ClassWithDestructor& ClassWithDestructor::operator=(ClassWithDestructor const&) +# 2172| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const ClassWithDestructor & +# 2172| [CopyConstructor] void ClassWithDestructor::ClassWithDestructor(ClassWithDestructor const&) +# 2172| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const ClassWithDestructor & +# 2172| : +# 2172| getInitializer(0): [ConstructorFieldInit] constructor init of field x +# 2172| Type = [CharPointerType] char * +# 2172| ValueCategory = prvalue +# 2172| getExpr(): [ReferenceFieldAccess] x +# 2172| Type = [CharPointerType] char * +# 2172| ValueCategory = prvalue(load) +# 2172| getQualifier(): [VariableAccess] (unnamed parameter 0) +# 2172| Type = [LValueReferenceType] const ClassWithDestructor & +# 2172| ValueCategory = prvalue(load) +# 2172| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2172| Type = [SpecifiedType] const ClassWithDestructor # 2172| ValueCategory = lvalue -# 2174| [TopLevelFunction] void static_variable_with_destructor_1() -# 2174| : -# 2174| getEntryPoint(): [BlockStmt] { ... } -# 2175| getStmt(0): [DeclStmt] declaration -# 2175| getDeclarationEntry(0): [VariableDeclarationEntry] definition of a -# 2175| Type = [Class] ClassWithDestructor -# 2175| getVariable().getInitializer(): [Initializer] initializer for a -# 2175| getExpr(): [ConstructorCall] call to ClassWithDestructor -# 2175| Type = [VoidType] void -# 2175| ValueCategory = prvalue -# 2176| getStmt(1): [DeclStmt] declaration -# 2176| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b -# 2176| Type = [Class] ClassWithDestructor +# 2172| getEntryPoint(): [BlockStmt] { ... } +# 2172| getStmt(0): [ReturnStmt] return ... +# 2175| [Constructor] void ClassWithDestructor::ClassWithDestructor() +# 2175| : +# 2175| : +# 2175| getEntryPoint(): [BlockStmt] { ... } +# 2175| getStmt(0): [ExprStmt] ExprStmt +# 2175| getExpr(): [AssignExpr] ... = ... +# 2175| Type = [CharPointerType] char * +# 2175| ValueCategory = lvalue +# 2175| getLValue(): [ImplicitThisFieldAccess,PointerFieldAccess] x +# 2175| Type = [CharPointerType] char * +# 2175| ValueCategory = lvalue +# 2175| getQualifier(): [ThisExpr] this +# 2175| Type = [PointerType] ClassWithDestructor * +# 2175| ValueCategory = prvalue(load) +# 2175| getRValue(): [NewExpr] new +# 2175| Type = [CharPointerType] char * +# 2175| ValueCategory = prvalue +# 2175| getStmt(1): [ReturnStmt] return ... +# 2176| [Destructor] void ClassWithDestructor::~ClassWithDestructor() +# 2176| : +# 2176| getEntryPoint(): [BlockStmt] { ... } +# 2176| getStmt(0): [ExprStmt] ExprStmt +# 2176| getExpr(): [DeleteExpr] delete +# 2176| Type = [VoidType] void +# 2176| ValueCategory = prvalue +# 2176| getExpr(): [ImplicitThisFieldAccess,PointerFieldAccess] x +# 2176| Type = [CharPointerType] char * +# 2176| ValueCategory = prvalue(load) +# 2176| getQualifier(): [ThisExpr] this +# 2176| Type = [PointerType] ClassWithDestructor * +# 2176| ValueCategory = prvalue(load) +# 2176| getStmt(1): [ReturnStmt] return ... +# 2176| : +# 2178| [MemberFunction] void ClassWithDestructor::set_x(char) +# 2178| : +# 2178| getParameter(0): [Parameter] y +# 2178| Type = [PlainCharType] char +# 2178| getEntryPoint(): [BlockStmt] { ... } +# 2178| getStmt(0): [ExprStmt] ExprStmt +# 2178| getExpr(): [AssignExpr] ... = ... +# 2178| Type = [PlainCharType] char +# 2178| ValueCategory = lvalue +# 2178| getLValue(): [PointerDereferenceExpr] * ... +# 2178| Type = [PlainCharType] char +# 2178| ValueCategory = lvalue +# 2178| getOperand(): [ImplicitThisFieldAccess,PointerFieldAccess] x +# 2178| Type = [CharPointerType] char * +# 2178| ValueCategory = prvalue(load) +# 2178| getQualifier(): [ThisExpr] this +# 2178| Type = [PointerType] ClassWithDestructor * +# 2178| ValueCategory = prvalue(load) +# 2178| getRValue(): [VariableAccess] y +# 2178| Type = [PlainCharType] char +# 2178| ValueCategory = prvalue(load) +# 2178| getStmt(1): [ReturnStmt] return ... +# 2179| [MemberFunction] char ClassWithDestructor::get_x() +# 2179| : +# 2179| getEntryPoint(): [BlockStmt] { ... } +# 2179| getStmt(0): [ReturnStmt] return ... +# 2179| getExpr(): [PointerDereferenceExpr] * ... +# 2179| Type = [PlainCharType] char +# 2179| ValueCategory = prvalue(load) +# 2179| getOperand(): [ImplicitThisFieldAccess,PointerFieldAccess] x +# 2179| Type = [CharPointerType] char * +# 2179| ValueCategory = prvalue(load) +# 2179| getQualifier(): [ThisExpr] this +# 2179| Type = [PointerType] ClassWithDestructor * +# 2179| ValueCategory = prvalue(load) +# 2182| [GlobalVariable] bool initialization_with_destructor_bool +# 2182| getInitializer(): [Initializer] initializer for initialization_with_destructor_bool +# 2182| getExpr(): [Literal] 1 +# 2182| Type = [BoolType] bool +# 2182| Value = [Literal] 1 +# 2182| ValueCategory = prvalue +# 2184| [TopLevelFunction] void initialization_with_destructor(bool, char) +# 2184| : +# 2184| getParameter(0): [Parameter] b +# 2184| Type = [BoolType] bool +# 2184| getParameter(1): [Parameter] c +# 2184| Type = [PlainCharType] char +# 2184| getEntryPoint(): [BlockStmt] { ... } +# 2185| getStmt(0): [IfStmt] if (...) ... +# 2185| getInitialization(): [DeclStmt] declaration +# 2185| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2185| Type = [Class] ClassWithDestructor +# 2185| getVariable().getInitializer(): [Initializer] initializer for x +# 2185| getExpr(): [ConstructorCall] call to ClassWithDestructor +# 2185| Type = [VoidType] void +# 2185| ValueCategory = prvalue +# 2185| getCondition(): [VariableAccess] b +# 2185| Type = [BoolType] bool +# 2185| ValueCategory = prvalue(load) +# 2186| getThen(): [ExprStmt] ExprStmt +# 2186| getExpr(): [FunctionCall] call to set_x +# 2186| Type = [VoidType] void +# 2186| ValueCategory = prvalue +# 2186| getQualifier(): [VariableAccess] x +# 2186| Type = [Class] ClassWithDestructor +# 2186| ValueCategory = lvalue +# 2186| getArgument(0): [CharLiteral] 97 +# 2186| Type = [PlainCharType] char +# 2186| Value = [CharLiteral] 97 +# 2186| ValueCategory = prvalue +# 2186| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2186| Type = [VoidType] void +# 2186| ValueCategory = prvalue +# 2186| getQualifier(): [VariableAccess] x +# 2186| Type = [Class] ClassWithDestructor +# 2186| ValueCategory = lvalue +# 2188| getStmt(1): [ConstexprIfStmt] if constexpr (...) ... +# 2188| getInitialization(): [DeclStmt] declaration +# 2188| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2188| Type = [Class] ClassWithDestructor +# 2188| getVariable().getInitializer(): [Initializer] initializer for x +# 2188| getExpr(): [ConstructorCall] call to ClassWithDestructor +# 2188| Type = [VoidType] void +# 2188| ValueCategory = prvalue +# 2188| getCondition(): [VariableAccess] initialization_with_destructor_bool +# 2188| Type = [BoolType] bool +# 2188| Value = [VariableAccess] 1 +# 2188| ValueCategory = prvalue(load) +# 2189| getThen(): [ExprStmt] ExprStmt +# 2189| getExpr(): [FunctionCall] call to set_x +# 2189| Type = [VoidType] void +# 2189| ValueCategory = prvalue +# 2189| getQualifier(): [VariableAccess] x +# 2189| Type = [Class] ClassWithDestructor +# 2189| ValueCategory = lvalue +# 2189| getArgument(0): [CharLiteral] 97 +# 2189| Type = [PlainCharType] char +# 2189| Value = [CharLiteral] 97 +# 2189| ValueCategory = prvalue +# 2189| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2189| Type = [VoidType] void +# 2189| ValueCategory = prvalue +# 2189| getQualifier(): [VariableAccess] x +# 2189| Type = [Class] ClassWithDestructor +# 2189| ValueCategory = lvalue +# 2191| getStmt(2): [SwitchStmt] switch (...) ... +# 2191| getInitialization(): [DeclStmt] declaration +# 2191| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2191| Type = [Class] ClassWithDestructor +# 2191| getVariable().getInitializer(): [Initializer] initializer for x +# 2191| getExpr(): [ConstructorCall] call to ClassWithDestructor +# 2191| Type = [VoidType] void +# 2191| ValueCategory = prvalue +# 2191| getExpr(): [VariableAccess] c +# 2191| Type = [PlainCharType] char +# 2191| ValueCategory = prvalue(load) +# 2191| getStmt(): [BlockStmt] { ... } +# 2192| getStmt(0): [SwitchCase] case ...: +# 2192| getExpr(): [CharLiteral] 97 +# 2192| Type = [PlainCharType] char +# 2192| Value = [CharLiteral] 97 +# 2192| ValueCategory = prvalue +# 2192| getExpr().getFullyConverted(): [CStyleCast] (int)... +# 2192| Conversion = [IntegralConversion] integral conversion +# 2192| Type = [IntType] int +# 2192| Value = [CStyleCast] 97 +# 2192| ValueCategory = prvalue +# 2193| getStmt(1): [ExprStmt] ExprStmt +# 2193| getExpr(): [FunctionCall] call to set_x +# 2193| Type = [VoidType] void +# 2193| ValueCategory = prvalue +# 2193| getQualifier(): [VariableAccess] x +# 2193| Type = [Class] ClassWithDestructor +# 2193| ValueCategory = lvalue +# 2193| getArgument(0): [CharLiteral] 97 +# 2193| Type = [PlainCharType] char +# 2193| Value = [CharLiteral] 97 +# 2193| ValueCategory = prvalue +# 2194| getStmt(2): [BreakStmt] break; +# 2195| getStmt(3): [SwitchCase] default: +# 2196| getStmt(4): [ExprStmt] ExprStmt +# 2196| getExpr(): [FunctionCall] call to set_x +# 2196| Type = [VoidType] void +# 2196| ValueCategory = prvalue +# 2196| getQualifier(): [VariableAccess] x +# 2196| Type = [Class] ClassWithDestructor +# 2196| ValueCategory = lvalue +# 2196| getArgument(0): [CharLiteral] 98 +# 2196| Type = [PlainCharType] char +# 2196| Value = [CharLiteral] 98 +# 2196| ValueCategory = prvalue +# 2197| getStmt(5): [BreakStmt] break; +# 2198| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2198| Type = [VoidType] void +# 2198| ValueCategory = prvalue +# 2198| getQualifier(): [VariableAccess] x +# 2198| Type = [Class] ClassWithDestructor +# 2198| ValueCategory = lvalue +# 2191| getExpr().getFullyConverted(): [CStyleCast] (int)... +# 2191| Conversion = [IntegralConversion] integral conversion +# 2191| Type = [IntType] int +# 2191| ValueCategory = prvalue +# 2198| getStmt(3): [LabelStmt] label ...: +# 2200| getStmt(4): [DeclStmt] declaration +# 2200| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2200| Type = [Class] ClassWithDestructor +# 2200| getVariable().getInitializer(): [Initializer] initializer for x +# 2200| getExpr(): [ConstructorCall] call to ClassWithDestructor +# 2200| Type = [VoidType] void +# 2200| ValueCategory = prvalue +# 2201| getStmt(5): [RangeBasedForStmt] for(...:...) ... +# 2201| getInitialization(): [DeclStmt] declaration +# 2201| getDeclarationEntry(0): [VariableDeclarationEntry] definition of ys +# 2201| Type = [ClassTemplateInstantiation,Struct] vector +# 2201| getVariable().getInitializer(): [Initializer] initializer for ys +# 2201| getExpr(): [ConstructorCall] call to vector +# 2201| Type = [VoidType] void +# 2201| ValueCategory = prvalue +# 2201| getArgument(0): [VariableAccess] x +# 2201| Type = [Class] ClassWithDestructor +# 2201| ValueCategory = prvalue(load) +# 2201| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2201| Type = [VoidType] void +# 2201| ValueCategory = prvalue +# 2201| getQualifier(): [ReuseExpr] reuse of temporary object +# 2201| Type = [Class] ClassWithDestructor +# 2201| ValueCategory = xvalue +# 2201| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2201| Type = [Class] ClassWithDestructor +# 2201| ValueCategory = lvalue +# 2201| getChild(1): [DeclStmt] declaration +# 2201| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__range) +# 2201| Type = [LValueReferenceType] vector & +#-----| getVariable().getInitializer(): [Initializer] initializer for (__range) +# 2201| getExpr(): [VariableAccess] ys +# 2201| Type = [ClassTemplateInstantiation,Struct] vector +# 2201| ValueCategory = lvalue +# 2201| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 2201| Type = [LValueReferenceType] vector & +# 2201| ValueCategory = prvalue +# 2201| getBeginEndDeclaration(): [DeclStmt] declaration +# 2201| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__begin) +# 2201| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +#-----| getVariable().getInitializer(): [Initializer] initializer for (__begin) +# 2201| getExpr(): [FunctionCall] call to begin +# 2201| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2201| ValueCategory = prvalue +# 2201| getQualifier(): [VariableAccess] (__range) +# 2201| Type = [LValueReferenceType] vector & +# 2201| ValueCategory = prvalue(load) +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const vector +#-----| ValueCategory = lvalue +#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +#-----| Type = [ClassTemplateInstantiation,Struct] vector +#-----| ValueCategory = lvalue +# 2201| getDeclarationEntry(1): [VariableDeclarationEntry] declaration of (__end) +# 2201| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +#-----| getVariable().getInitializer(): [Initializer] initializer for (__end) +# 2201| getExpr(): [FunctionCall] call to end +# 2201| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2201| ValueCategory = prvalue +# 2201| getQualifier(): [VariableAccess] (__range) +# 2201| Type = [LValueReferenceType] vector & +# 2201| ValueCategory = prvalue(load) +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const vector +#-----| ValueCategory = lvalue +#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +#-----| Type = [ClassTemplateInstantiation,Struct] vector +#-----| ValueCategory = lvalue +# 2201| getCondition(): [FunctionCall] call to operator!= +# 2201| Type = [BoolType] bool +# 2201| ValueCategory = prvalue +# 2201| getQualifier(): [VariableAccess] (__begin) +# 2201| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2201| ValueCategory = lvalue +# 2201| getArgument(0): [ConstructorCall] call to iterator +# 2201| Type = [VoidType] void +# 2201| ValueCategory = prvalue +# 2201| getArgument(0): [VariableAccess] (__end) +# 2201| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2201| ValueCategory = lvalue +#-----| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +#-----| Type = [LValueReferenceType] const iterator & +#-----| ValueCategory = prvalue +#-----| getExpr(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +#-----| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object +#-----| Type = [ClassTemplateInstantiation,Struct] iterator +#-----| ValueCategory = lvalue +# 2201| getUpdate(): [FunctionCall] call to operator++ +# 2201| Type = [LValueReferenceType] iterator & +# 2201| ValueCategory = prvalue +# 2201| getQualifier(): [VariableAccess] (__begin) +# 2201| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2201| ValueCategory = lvalue +# 2201| getChild(5): [DeclStmt] declaration +# 2201| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 2201| Type = [Class] ClassWithDestructor +# 2201| getVariable().getInitializer(): [Initializer] initializer for y +# 2201| getExpr(): [OverloadedPointerDereferenceExpr] call to operator* +# 2201| Type = [LValueReferenceType] ClassWithDestructor & +# 2201| ValueCategory = prvalue +# 2201| getQualifier(): [VariableAccess] (__begin) +# 2201| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2201| ValueCategory = lvalue +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +# 2201| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2201| Type = [Class] ClassWithDestructor +# 2201| ValueCategory = prvalue(load) +# 2202| getStmt(): [ExprStmt] ExprStmt +# 2202| getExpr(): [FunctionCall] call to set_x +# 2202| Type = [VoidType] void +# 2202| ValueCategory = prvalue +# 2202| getQualifier(): [VariableAccess] y +# 2202| Type = [Class] ClassWithDestructor +# 2202| ValueCategory = lvalue +# 2202| getArgument(0): [CharLiteral] 97 +# 2202| Type = [PlainCharType] char +# 2202| Value = [CharLiteral] 97 +# 2202| ValueCategory = prvalue +# 2201| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2201| Type = [VoidType] void +# 2201| ValueCategory = prvalue +# 2201| getQualifier(): [VariableAccess] y +# 2201| Type = [Class] ClassWithDestructor +# 2201| ValueCategory = lvalue +# 2201| getImplicitDestructorCall(0): [DestructorCall] call to ~vector +# 2201| Type = [VoidType] void +# 2201| ValueCategory = prvalue +# 2201| getQualifier(): [VariableAccess] ys +# 2201| Type = [ClassTemplateInstantiation,Struct] vector +# 2201| ValueCategory = lvalue +# 2201| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2201| Type = [ClassTemplateInstantiation,Struct] iterator +# 2201| ValueCategory = lvalue +# 2204| getStmt(6): [RangeBasedForStmt] for(...:...) ... +# 2204| getInitialization(): [DeclStmt] declaration +# 2204| getDeclarationEntry(0): [VariableDeclarationEntry] definition of ys +# 2204| Type = [ClassTemplateInstantiation,Struct] vector +# 2204| getVariable().getInitializer(): [Initializer] initializer for ys +# 2204| getExpr(): [ConstructorCall] call to vector +# 2204| Type = [VoidType] void +# 2204| ValueCategory = prvalue +# 2204| getArgument(0): [VariableAccess] x +# 2204| Type = [Class] ClassWithDestructor +# 2204| ValueCategory = prvalue(load) +# 2204| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2204| Type = [VoidType] void +# 2204| ValueCategory = prvalue +# 2204| getQualifier(): [ReuseExpr] reuse of temporary object +# 2204| Type = [Class] ClassWithDestructor +# 2204| ValueCategory = xvalue +# 2204| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2204| Type = [Class] ClassWithDestructor +# 2204| ValueCategory = lvalue +# 2204| getChild(1): [DeclStmt] declaration +# 2204| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__range) +# 2204| Type = [LValueReferenceType] vector & +#-----| getVariable().getInitializer(): [Initializer] initializer for (__range) +# 2204| getExpr(): [VariableAccess] ys +# 2204| Type = [ClassTemplateInstantiation,Struct] vector +# 2204| ValueCategory = lvalue +# 2204| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 2204| Type = [LValueReferenceType] vector & +# 2204| ValueCategory = prvalue +# 2204| getBeginEndDeclaration(): [DeclStmt] declaration +# 2204| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__begin) +# 2204| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +#-----| getVariable().getInitializer(): [Initializer] initializer for (__begin) +# 2204| getExpr(): [FunctionCall] call to begin +# 2204| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2204| ValueCategory = prvalue +# 2204| getQualifier(): [VariableAccess] (__range) +# 2204| Type = [LValueReferenceType] vector & +# 2204| ValueCategory = prvalue(load) +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const vector +#-----| ValueCategory = lvalue +#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +#-----| Type = [ClassTemplateInstantiation,Struct] vector +#-----| ValueCategory = lvalue +# 2204| getDeclarationEntry(1): [VariableDeclarationEntry] declaration of (__end) +# 2204| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +#-----| getVariable().getInitializer(): [Initializer] initializer for (__end) +# 2204| getExpr(): [FunctionCall] call to end +# 2204| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2204| ValueCategory = prvalue +# 2204| getQualifier(): [VariableAccess] (__range) +# 2204| Type = [LValueReferenceType] vector & +# 2204| ValueCategory = prvalue(load) +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const vector +#-----| ValueCategory = lvalue +#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +#-----| Type = [ClassTemplateInstantiation,Struct] vector +#-----| ValueCategory = lvalue +# 2204| getCondition(): [FunctionCall] call to operator!= +# 2204| Type = [BoolType] bool +# 2204| ValueCategory = prvalue +# 2204| getQualifier(): [VariableAccess] (__begin) +# 2204| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2204| ValueCategory = lvalue +# 2204| getArgument(0): [ConstructorCall] call to iterator +# 2204| Type = [VoidType] void +# 2204| ValueCategory = prvalue +# 2204| getArgument(0): [VariableAccess] (__end) +# 2204| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2204| ValueCategory = lvalue +#-----| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +#-----| Type = [LValueReferenceType] const iterator & +#-----| ValueCategory = prvalue +#-----| getExpr(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +#-----| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object +#-----| Type = [ClassTemplateInstantiation,Struct] iterator +#-----| ValueCategory = lvalue +# 2204| getUpdate(): [FunctionCall] call to operator++ +# 2204| Type = [LValueReferenceType] iterator & +# 2204| ValueCategory = prvalue +# 2204| getQualifier(): [VariableAccess] (__begin) +# 2204| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2204| ValueCategory = lvalue +# 2204| getChild(5): [DeclStmt] declaration +# 2204| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 2204| Type = [Class] ClassWithDestructor +# 2204| getVariable().getInitializer(): [Initializer] initializer for y +# 2204| getExpr(): [OverloadedPointerDereferenceExpr] call to operator* +# 2204| Type = [LValueReferenceType] ClassWithDestructor & +# 2204| ValueCategory = prvalue +# 2204| getQualifier(): [VariableAccess] (__begin) +# 2204| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2204| ValueCategory = lvalue +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +# 2204| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2204| Type = [Class] ClassWithDestructor +# 2204| ValueCategory = prvalue(load) +# 2204| getStmt(): [BlockStmt] { ... } +# 2205| getStmt(0): [ExprStmt] ExprStmt +# 2205| getExpr(): [FunctionCall] call to set_x +# 2205| Type = [VoidType] void +# 2205| ValueCategory = prvalue +# 2205| getQualifier(): [VariableAccess] y +# 2205| Type = [Class] ClassWithDestructor +# 2205| ValueCategory = lvalue +# 2205| getArgument(0): [CharLiteral] 97 +# 2205| Type = [PlainCharType] char +# 2205| Value = [CharLiteral] 97 +# 2205| ValueCategory = prvalue +# 2206| getStmt(1): [IfStmt] if (...) ... +# 2206| getCondition(): [EQExpr] ... == ... +# 2206| Type = [BoolType] bool +# 2206| ValueCategory = prvalue +# 2206| getLeftOperand(): [FunctionCall] call to get_x +# 2206| Type = [PlainCharType] char +# 2206| ValueCategory = prvalue +# 2206| getQualifier(): [VariableAccess] y +# 2206| Type = [Class] ClassWithDestructor +# 2206| ValueCategory = lvalue +# 2206| getRightOperand(): [CharLiteral] 98 +# 2206| Type = [PlainCharType] char +# 2206| Value = [CharLiteral] 98 +# 2206| ValueCategory = prvalue +# 2206| getLeftOperand().getFullyConverted(): [CStyleCast] (int)... +# 2206| Conversion = [IntegralConversion] integral conversion +# 2206| Type = [IntType] int +# 2206| ValueCategory = prvalue +# 2206| getRightOperand().getFullyConverted(): [CStyleCast] (int)... +# 2206| Conversion = [IntegralConversion] integral conversion +# 2206| Type = [IntType] int +# 2206| Value = [CStyleCast] 98 +# 2206| ValueCategory = prvalue +# 2207| getThen(): [ReturnStmt] return ... +# 2204| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2204| Type = [VoidType] void +# 2204| ValueCategory = prvalue +# 2204| getQualifier(): [VariableAccess] y +# 2204| Type = [Class] ClassWithDestructor +# 2204| ValueCategory = lvalue +# 2204| getImplicitDestructorCall(1): [DestructorCall] call to ~vector +# 2204| Type = [VoidType] void +# 2204| ValueCategory = prvalue +# 2204| getQualifier(): [VariableAccess] ys +# 2204| Type = [ClassTemplateInstantiation,Struct] vector +# 2204| ValueCategory = lvalue +# 2219| getImplicitDestructorCall(2): [DestructorCall] call to ~ClassWithDestructor +# 2219| Type = [VoidType] void +# 2219| ValueCategory = prvalue +# 2219| getQualifier(): [VariableAccess] x +# 2219| Type = [Class] ClassWithDestructor +# 2219| ValueCategory = lvalue +# 2204| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2204| Type = [VoidType] void +# 2204| ValueCategory = prvalue +# 2204| getQualifier(): [VariableAccess] y +# 2204| Type = [Class] ClassWithDestructor +# 2204| ValueCategory = lvalue +# 2204| getImplicitDestructorCall(0): [DestructorCall] call to ~vector +# 2204| Type = [VoidType] void +# 2204| ValueCategory = prvalue +# 2204| getQualifier(): [VariableAccess] ys +# 2204| Type = [ClassTemplateInstantiation,Struct] vector +# 2204| ValueCategory = lvalue +# 2204| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2204| Type = [ClassTemplateInstantiation,Struct] iterator +# 2204| ValueCategory = lvalue +# 2210| getStmt(7): [RangeBasedForStmt] for(...:...) ... +# 2210| getInitialization(): [DeclStmt] declaration +# 2210| getDeclarationEntry(0): [VariableDeclarationEntry] definition of ys +# 2210| Type = [ClassTemplateInstantiation,Struct] vector +# 2210| getVariable().getInitializer(): [Initializer] initializer for ys +# 2210| getExpr(): [ConstructorCall] call to vector +# 2210| Type = [VoidType] void +# 2210| ValueCategory = prvalue +# 2210| getArgument(0): [Literal] 1 +# 2210| Type = [IntType] int +# 2210| Value = [Literal] 1 +# 2210| ValueCategory = prvalue +# 2210| getChild(1): [DeclStmt] declaration +# 2210| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__range) +# 2210| Type = [LValueReferenceType] vector & +#-----| getVariable().getInitializer(): [Initializer] initializer for (__range) +# 2210| getExpr(): [VariableAccess] ys +# 2210| Type = [ClassTemplateInstantiation,Struct] vector +# 2210| ValueCategory = lvalue +# 2210| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 2210| Type = [LValueReferenceType] vector & +# 2210| ValueCategory = prvalue +# 2210| getBeginEndDeclaration(): [DeclStmt] declaration +# 2210| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__begin) +# 2210| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +#-----| getVariable().getInitializer(): [Initializer] initializer for (__begin) +# 2210| getExpr(): [FunctionCall] call to begin +# 2210| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2210| ValueCategory = prvalue +# 2210| getQualifier(): [VariableAccess] (__range) +# 2210| Type = [LValueReferenceType] vector & +# 2210| ValueCategory = prvalue(load) +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const vector +#-----| ValueCategory = lvalue +#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +#-----| Type = [ClassTemplateInstantiation,Struct] vector +#-----| ValueCategory = lvalue +# 2210| getDeclarationEntry(1): [VariableDeclarationEntry] declaration of (__end) +# 2210| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +#-----| getVariable().getInitializer(): [Initializer] initializer for (__end) +# 2210| getExpr(): [FunctionCall] call to end +# 2210| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2210| ValueCategory = prvalue +# 2210| getQualifier(): [VariableAccess] (__range) +# 2210| Type = [LValueReferenceType] vector & +# 2210| ValueCategory = prvalue(load) +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const vector +#-----| ValueCategory = lvalue +#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +#-----| Type = [ClassTemplateInstantiation,Struct] vector +#-----| ValueCategory = lvalue +# 2210| getCondition(): [FunctionCall] call to operator!= +# 2210| Type = [BoolType] bool +# 2210| ValueCategory = prvalue +# 2210| getQualifier(): [VariableAccess] (__begin) +# 2210| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2210| ValueCategory = lvalue +# 2210| getArgument(0): [ConstructorCall] call to iterator +# 2210| Type = [VoidType] void +# 2210| ValueCategory = prvalue +# 2210| getArgument(0): [VariableAccess] (__end) +# 2210| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2210| ValueCategory = lvalue +#-----| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +#-----| Type = [LValueReferenceType] const iterator & +#-----| ValueCategory = prvalue +#-----| getExpr(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +#-----| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object +#-----| Type = [ClassTemplateInstantiation,Struct] iterator +#-----| ValueCategory = lvalue +# 2210| getUpdate(): [FunctionCall] call to operator++ +# 2210| Type = [LValueReferenceType] iterator & +# 2210| ValueCategory = prvalue +# 2210| getQualifier(): [VariableAccess] (__begin) +# 2210| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2210| ValueCategory = lvalue +# 2210| getChild(5): [DeclStmt] declaration +# 2210| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 2210| Type = [IntType] int +# 2210| getVariable().getInitializer(): [Initializer] initializer for y +# 2210| getExpr(): [OverloadedPointerDereferenceExpr] call to operator* +# 2210| Type = [LValueReferenceType] int & +# 2210| ValueCategory = prvalue +# 2210| getQualifier(): [VariableAccess] (__begin) +# 2210| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2210| ValueCategory = lvalue +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +# 2210| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2210| Type = [IntType] int +# 2210| ValueCategory = prvalue(load) +# 2210| getStmt(): [BlockStmt] { ... } +# 2211| getStmt(0): [IfStmt] if (...) ... +# 2211| getCondition(): [EQExpr] ... == ... +# 2211| Type = [BoolType] bool +# 2211| ValueCategory = prvalue +# 2211| getLeftOperand(): [VariableAccess] y +# 2211| Type = [IntType] int +# 2211| ValueCategory = prvalue(load) +# 2211| getRightOperand(): [Literal] 1 +# 2211| Type = [IntType] int +# 2211| Value = [Literal] 1 +# 2211| ValueCategory = prvalue +# 2212| getThen(): [ReturnStmt] return ... +# 2210| getImplicitDestructorCall(0): [DestructorCall] call to ~vector +# 2210| Type = [VoidType] void +# 2210| ValueCategory = prvalue +# 2210| getQualifier(): [VariableAccess] ys +# 2210| Type = [ClassTemplateInstantiation,Struct] vector +# 2210| ValueCategory = lvalue +# 2219| getImplicitDestructorCall(1): [DestructorCall] call to ~ClassWithDestructor +# 2219| Type = [VoidType] void +# 2219| ValueCategory = prvalue +# 2219| getQualifier(): [VariableAccess] x +# 2219| Type = [Class] ClassWithDestructor +# 2219| ValueCategory = lvalue +# 2210| getImplicitDestructorCall(0): [DestructorCall] call to ~vector +# 2210| Type = [VoidType] void +# 2210| ValueCategory = prvalue +# 2210| getQualifier(): [VariableAccess] ys +# 2210| Type = [ClassTemplateInstantiation,Struct] vector +# 2210| ValueCategory = lvalue +# 2210| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2210| Type = [ClassTemplateInstantiation,Struct] iterator +# 2210| ValueCategory = lvalue +# 2215| getStmt(8): [RangeBasedForStmt] for(...:...) ... +# 2215| getInitialization(): [DeclStmt] declaration +# 2215| getDeclarationEntry(0): [VariableDeclarationEntry] definition of ys +# 2215| Type = [ClassTemplateInstantiation,Struct] vector +# 2215| getVariable().getInitializer(): [Initializer] initializer for ys +# 2215| getExpr(): [ConstructorCall] call to vector +# 2215| Type = [VoidType] void +# 2215| ValueCategory = prvalue +# 2215| getArgument(0): [VariableAccess] x +# 2215| Type = [Class] ClassWithDestructor +# 2215| ValueCategory = prvalue(load) +# 2215| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2215| Type = [VoidType] void +# 2215| ValueCategory = prvalue +# 2215| getQualifier(): [ReuseExpr] reuse of temporary object +# 2215| Type = [Class] ClassWithDestructor +# 2215| ValueCategory = xvalue +# 2215| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2215| Type = [Class] ClassWithDestructor +# 2215| ValueCategory = lvalue +# 2215| getChild(1): [DeclStmt] declaration +# 2215| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__range) +# 2215| Type = [LValueReferenceType] vector & +#-----| getVariable().getInitializer(): [Initializer] initializer for (__range) +# 2215| getExpr(): [VariableAccess] ys +# 2215| Type = [ClassTemplateInstantiation,Struct] vector +# 2215| ValueCategory = lvalue +# 2215| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 2215| Type = [LValueReferenceType] vector & +# 2215| ValueCategory = prvalue +# 2215| getBeginEndDeclaration(): [DeclStmt] declaration +# 2215| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__begin) +# 2215| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +#-----| getVariable().getInitializer(): [Initializer] initializer for (__begin) +# 2215| getExpr(): [FunctionCall] call to begin +# 2215| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2215| ValueCategory = prvalue +# 2215| getQualifier(): [VariableAccess] (__range) +# 2215| Type = [LValueReferenceType] vector & +# 2215| ValueCategory = prvalue(load) +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const vector +#-----| ValueCategory = lvalue +#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +#-----| Type = [ClassTemplateInstantiation,Struct] vector +#-----| ValueCategory = lvalue +# 2215| getDeclarationEntry(1): [VariableDeclarationEntry] declaration of (__end) +# 2215| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +#-----| getVariable().getInitializer(): [Initializer] initializer for (__end) +# 2215| getExpr(): [FunctionCall] call to end +# 2215| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2215| ValueCategory = prvalue +# 2215| getQualifier(): [VariableAccess] (__range) +# 2215| Type = [LValueReferenceType] vector & +# 2215| ValueCategory = prvalue(load) +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const vector +#-----| ValueCategory = lvalue +#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +#-----| Type = [ClassTemplateInstantiation,Struct] vector +#-----| ValueCategory = lvalue +# 2215| getCondition(): [FunctionCall] call to operator!= +# 2215| Type = [BoolType] bool +# 2215| ValueCategory = prvalue +# 2215| getQualifier(): [VariableAccess] (__begin) +# 2215| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2215| ValueCategory = lvalue +# 2215| getArgument(0): [ConstructorCall] call to iterator +# 2215| Type = [VoidType] void +# 2215| ValueCategory = prvalue +# 2215| getArgument(0): [VariableAccess] (__end) +# 2215| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2215| ValueCategory = lvalue +#-----| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +#-----| Type = [LValueReferenceType] const iterator & +#-----| ValueCategory = prvalue +#-----| getExpr(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +#-----| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object +#-----| Type = [ClassTemplateInstantiation,Struct] iterator +#-----| ValueCategory = lvalue +# 2215| getUpdate(): [FunctionCall] call to operator++ +# 2215| Type = [LValueReferenceType] iterator & +# 2215| ValueCategory = prvalue +# 2215| getQualifier(): [VariableAccess] (__begin) +# 2215| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2215| ValueCategory = lvalue +# 2215| getChild(5): [DeclStmt] declaration +# 2215| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 2215| Type = [Class] ClassWithDestructor +# 2215| getVariable().getInitializer(): [Initializer] initializer for y +# 2215| getExpr(): [OverloadedPointerDereferenceExpr] call to operator* +# 2215| Type = [LValueReferenceType] ClassWithDestructor & +# 2215| ValueCategory = prvalue +# 2215| getQualifier(): [VariableAccess] (__begin) +# 2215| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2215| ValueCategory = lvalue +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +# 2215| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2215| Type = [Class] ClassWithDestructor +# 2215| ValueCategory = prvalue(load) +# 2215| getStmt(): [BlockStmt] { ... } +# 2216| getStmt(0): [DeclStmt] declaration +# 2216| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z1 +# 2216| Type = [Class] ClassWithDestructor +# 2216| getVariable().getInitializer(): [Initializer] initializer for z1 +# 2216| getExpr(): [ConstructorCall] call to ClassWithDestructor +# 2216| Type = [VoidType] void +# 2216| ValueCategory = prvalue +# 2217| getStmt(1): [DeclStmt] declaration +# 2217| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z2 +# 2217| Type = [Class] ClassWithDestructor +# 2217| getVariable().getInitializer(): [Initializer] initializer for z2 +# 2217| getExpr(): [ConstructorCall] call to ClassWithDestructor +# 2217| Type = [VoidType] void +# 2217| ValueCategory = prvalue +# 2218| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2218| Type = [VoidType] void +# 2218| ValueCategory = prvalue +# 2218| getQualifier(): [VariableAccess] z2 +# 2218| Type = [Class] ClassWithDestructor +# 2218| ValueCategory = lvalue +# 2218| getImplicitDestructorCall(1): [DestructorCall] call to ~ClassWithDestructor +# 2218| Type = [VoidType] void +# 2218| ValueCategory = prvalue +# 2218| getQualifier(): [VariableAccess] z1 +# 2218| Type = [Class] ClassWithDestructor +# 2218| ValueCategory = lvalue +# 2215| getImplicitDestructorCall(2): [DestructorCall] call to ~ClassWithDestructor +# 2215| Type = [VoidType] void +# 2215| ValueCategory = prvalue +# 2215| getQualifier(): [VariableAccess] y +# 2215| Type = [Class] ClassWithDestructor +# 2215| ValueCategory = lvalue +# 2215| getImplicitDestructorCall(0): [DestructorCall] call to ~vector +# 2215| Type = [VoidType] void +# 2215| ValueCategory = prvalue +# 2215| getQualifier(): [VariableAccess] ys +# 2215| Type = [ClassTemplateInstantiation,Struct] vector +# 2215| ValueCategory = lvalue +# 2215| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2215| Type = [ClassTemplateInstantiation,Struct] iterator +# 2215| ValueCategory = lvalue +# 2219| getStmt(9): [ReturnStmt] return ... +# 2219| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2219| Type = [VoidType] void +# 2219| ValueCategory = prvalue +# 2219| getQualifier(): [VariableAccess] x +# 2219| Type = [Class] ClassWithDestructor +# 2219| ValueCategory = lvalue +# 2221| [TopLevelFunction] void static_variable_with_destructor_1() +# 2221| : +# 2221| getEntryPoint(): [BlockStmt] { ... } +# 2222| getStmt(0): [DeclStmt] declaration +# 2222| getDeclarationEntry(0): [VariableDeclarationEntry] definition of a +# 2222| Type = [Class] ClassWithDestructor +# 2222| getVariable().getInitializer(): [Initializer] initializer for a +# 2222| getExpr(): [ConstructorCall] call to ClassWithDestructor +# 2222| Type = [VoidType] void +# 2222| ValueCategory = prvalue +# 2223| getStmt(1): [DeclStmt] declaration +# 2223| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b +# 2223| Type = [Class] ClassWithDestructor #-----| getVariable().getInitializer(): [Initializer] initializer for b #-----| getExpr(): [ConstructorCall] call to ClassWithDestructor #-----| Type = [VoidType] void #-----| ValueCategory = prvalue -# 2177| getStmt(2): [ReturnStmt] return ... -# 2177| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2177| Type = [VoidType] void -# 2177| ValueCategory = prvalue -# 2177| getQualifier(): [VariableAccess] a -# 2177| Type = [Class] ClassWithDestructor -# 2177| ValueCategory = lvalue -# 2179| [TopLevelFunction] void static_variable_with_destructor_2() -# 2179| : -# 2179| getEntryPoint(): [BlockStmt] { ... } -# 2180| getStmt(0): [DeclStmt] declaration -# 2180| getDeclarationEntry(0): [VariableDeclarationEntry] definition of a -# 2180| Type = [Class] ClassWithDestructor +# 2224| getStmt(2): [ReturnStmt] return ... +# 2224| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2224| Type = [VoidType] void +# 2224| ValueCategory = prvalue +# 2224| getQualifier(): [VariableAccess] a +# 2224| Type = [Class] ClassWithDestructor +# 2224| ValueCategory = lvalue +# 2226| [TopLevelFunction] void static_variable_with_destructor_2() +# 2226| : +# 2226| getEntryPoint(): [BlockStmt] { ... } +# 2227| getStmt(0): [DeclStmt] declaration +# 2227| getDeclarationEntry(0): [VariableDeclarationEntry] definition of a +# 2227| Type = [Class] ClassWithDestructor #-----| getVariable().getInitializer(): [Initializer] initializer for a #-----| getExpr(): [ConstructorCall] call to ClassWithDestructor #-----| Type = [VoidType] void #-----| ValueCategory = prvalue -# 2181| getStmt(1): [DeclStmt] declaration -# 2181| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b -# 2181| Type = [Class] ClassWithDestructor -# 2181| getVariable().getInitializer(): [Initializer] initializer for b -# 2181| getExpr(): [ConstructorCall] call to ClassWithDestructor -# 2181| Type = [VoidType] void -# 2181| ValueCategory = prvalue -# 2182| getStmt(2): [ReturnStmt] return ... -# 2182| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2182| Type = [VoidType] void -# 2182| ValueCategory = prvalue -# 2182| getQualifier(): [VariableAccess] b -# 2182| Type = [Class] ClassWithDestructor -# 2182| ValueCategory = lvalue -# 2184| [TopLevelFunction] void static_variable_with_destructor_3() -# 2184| : -# 2184| getEntryPoint(): [BlockStmt] { ... } -# 2185| getStmt(0): [DeclStmt] declaration -# 2185| getDeclarationEntry(0): [VariableDeclarationEntry] definition of a -# 2185| Type = [Class] ClassWithDestructor -# 2185| getVariable().getInitializer(): [Initializer] initializer for a -# 2185| getExpr(): [ConstructorCall] call to ClassWithDestructor -# 2185| Type = [VoidType] void -# 2185| ValueCategory = prvalue -# 2186| getStmt(1): [DeclStmt] declaration -# 2186| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b -# 2186| Type = [Class] ClassWithDestructor -# 2186| getVariable().getInitializer(): [Initializer] initializer for b -# 2186| getExpr(): [ConstructorCall] call to ClassWithDestructor -# 2186| Type = [VoidType] void -# 2186| ValueCategory = prvalue -# 2187| getStmt(2): [DeclStmt] declaration -# 2187| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c -# 2187| Type = [Class] ClassWithDestructor +# 2228| getStmt(1): [DeclStmt] declaration +# 2228| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b +# 2228| Type = [Class] ClassWithDestructor +# 2228| getVariable().getInitializer(): [Initializer] initializer for b +# 2228| getExpr(): [ConstructorCall] call to ClassWithDestructor +# 2228| Type = [VoidType] void +# 2228| ValueCategory = prvalue +# 2229| getStmt(2): [ReturnStmt] return ... +# 2229| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2229| Type = [VoidType] void +# 2229| ValueCategory = prvalue +# 2229| getQualifier(): [VariableAccess] b +# 2229| Type = [Class] ClassWithDestructor +# 2229| ValueCategory = lvalue +# 2231| [TopLevelFunction] void static_variable_with_destructor_3() +# 2231| : +# 2231| getEntryPoint(): [BlockStmt] { ... } +# 2232| getStmt(0): [DeclStmt] declaration +# 2232| getDeclarationEntry(0): [VariableDeclarationEntry] definition of a +# 2232| Type = [Class] ClassWithDestructor +# 2232| getVariable().getInitializer(): [Initializer] initializer for a +# 2232| getExpr(): [ConstructorCall] call to ClassWithDestructor +# 2232| Type = [VoidType] void +# 2232| ValueCategory = prvalue +# 2233| getStmt(1): [DeclStmt] declaration +# 2233| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b +# 2233| Type = [Class] ClassWithDestructor +# 2233| getVariable().getInitializer(): [Initializer] initializer for b +# 2233| getExpr(): [ConstructorCall] call to ClassWithDestructor +# 2233| Type = [VoidType] void +# 2233| ValueCategory = prvalue +# 2234| getStmt(2): [DeclStmt] declaration +# 2234| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c +# 2234| Type = [Class] ClassWithDestructor #-----| getVariable().getInitializer(): [Initializer] initializer for c #-----| getExpr(): [ConstructorCall] call to ClassWithDestructor #-----| Type = [VoidType] void #-----| ValueCategory = prvalue -# 2188| getStmt(3): [ReturnStmt] return ... -# 2188| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2188| Type = [VoidType] void -# 2188| ValueCategory = prvalue -# 2188| getQualifier(): [VariableAccess] b -# 2188| Type = [Class] ClassWithDestructor -# 2188| ValueCategory = lvalue -# 2188| getImplicitDestructorCall(1): [DestructorCall] call to ~ClassWithDestructor -# 2188| Type = [VoidType] void -# 2188| ValueCategory = prvalue -# 2188| getQualifier(): [VariableAccess] a -# 2188| Type = [Class] ClassWithDestructor -# 2188| ValueCategory = lvalue -# 2190| [GlobalVariable] ClassWithDestructor global_class_with_destructor -# 2190| getInitializer(): [Initializer] initializer for global_class_with_destructor -# 2190| getExpr(): [ConstructorCall] call to ClassWithDestructor -# 2190| Type = [VoidType] void -# 2190| ValueCategory = prvalue -# 2194| [FunctionTemplateInstantiation,TopLevelFunction] ClassWithDestructor& vacuous_destructor_call::get(ClassWithDestructor&) -# 2194| : -# 2194| getParameter(0): [Parameter] t -# 2194| Type = [LValueReferenceType] ClassWithDestructor & -# 2194| getEntryPoint(): [BlockStmt] { ... } -# 2194| getStmt(0): [ReturnStmt] return ... -# 2194| getExpr(): [VariableAccess] t -# 2194| Type = [LValueReferenceType] ClassWithDestructor & -# 2194| ValueCategory = prvalue(load) -# 2194| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 2194| Type = [LValueReferenceType] ClassWithDestructor & -# 2194| ValueCategory = prvalue -# 2194| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 2194| Type = [Class] ClassWithDestructor -# 2194| ValueCategory = lvalue -# 2194| [TemplateFunction,TopLevelFunction] T& vacuous_destructor_call::get(T&) -# 2194| : -# 2194| getParameter(0): [Parameter] t -# 2194| Type = [LValueReferenceType] T & -# 2194| getEntryPoint(): [BlockStmt] { ... } -# 2194| getStmt(0): [ReturnStmt] return ... -# 2194| getExpr(): [VariableAccess] t -# 2194| Type = [LValueReferenceType] T & -# 2194| ValueCategory = prvalue(load) -# 2194| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2194| Type = [TemplateParameter] T -# 2194| ValueCategory = lvalue -# 2194| [FunctionTemplateInstantiation,TopLevelFunction] int& vacuous_destructor_call::get(int&) -# 2194| : -# 2194| getParameter(0): [Parameter] t -# 2194| Type = [LValueReferenceType] int & -# 2194| getEntryPoint(): [BlockStmt] { ... } -# 2194| getStmt(0): [ReturnStmt] return ... -# 2194| getExpr(): [VariableAccess] t -# 2194| Type = [LValueReferenceType] int & -# 2194| ValueCategory = prvalue(load) -# 2194| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 2194| Type = [LValueReferenceType] int & -# 2194| ValueCategory = prvalue -# 2194| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 2194| Type = [IntType] int -# 2194| ValueCategory = lvalue -# 2197| [FunctionTemplateInstantiation,TopLevelFunction] void vacuous_destructor_call::call_destructor(ClassWithDestructor&) -# 2197| : -# 2197| getParameter(0): [Parameter] t -# 2197| Type = [LValueReferenceType] ClassWithDestructor & -# 2197| getEntryPoint(): [BlockStmt] { ... } -# 2198| getStmt(0): [ExprStmt] ExprStmt -# 2198| getExpr(): [DestructorCall] call to ~ClassWithDestructor -# 2198| Type = [VoidType] void -# 2198| ValueCategory = prvalue -# 2198| getQualifier(): [FunctionCall] call to get -# 2198| Type = [LValueReferenceType] ClassWithDestructor & -# 2198| ValueCategory = prvalue -# 2198| getArgument(0): [VariableAccess] t -# 2198| Type = [LValueReferenceType] ClassWithDestructor & -# 2198| ValueCategory = prvalue(load) -# 2198| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 2198| Type = [LValueReferenceType] ClassWithDestructor & -# 2198| ValueCategory = prvalue -# 2198| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 2198| Type = [Class] ClassWithDestructor -# 2198| ValueCategory = lvalue -# 2198| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2198| Type = [Class] ClassWithDestructor -# 2198| ValueCategory = lvalue -# 2199| getStmt(1): [ReturnStmt] return ... -# 2197| [TemplateFunction,TopLevelFunction] void vacuous_destructor_call::call_destructor(T&) -# 2197| : -# 2197| getParameter(0): [Parameter] t -# 2197| Type = [LValueReferenceType] T & -# 2197| getEntryPoint(): [BlockStmt] { ... } -# 2198| getStmt(0): [ExprStmt] ExprStmt -# 2198| getExpr(): [ExprCall] call to expression -# 2198| Type = [UnknownType] unknown -# 2198| ValueCategory = prvalue -# 2198| getExpr(): [Literal] Unknown literal -# 2198| Type = [UnknownType] unknown -# 2198| ValueCategory = prvalue -# 2198| getChild(-1): [ExprCall] call to expression -# 2198| Type = [UnknownType] unknown -# 2198| ValueCategory = prvalue -# 2198| getExpr(): [Literal] Unknown literal -# 2198| Type = [UnknownType] unknown -# 2198| ValueCategory = prvalue -# 2198| getArgument(0): [VariableAccess] t -# 2198| Type = [LValueReferenceType] T & -# 2198| ValueCategory = prvalue(load) -# 2198| getArgument(0).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2198| Type = [TemplateParameter] T -# 2198| ValueCategory = lvalue -# 2199| getStmt(1): [ReturnStmt] return ... -# 2197| [FunctionTemplateInstantiation,TopLevelFunction] void vacuous_destructor_call::call_destructor(int&) -# 2197| : -# 2197| getParameter(0): [Parameter] t -# 2197| Type = [LValueReferenceType] int & -# 2197| getEntryPoint(): [BlockStmt] { ... } -# 2198| getStmt(0): [ExprStmt] ExprStmt -# 2198| getExpr(): [VacuousDestructorCall] (vacuous destructor call) -# 2198| Type = [VoidType] void -# 2198| ValueCategory = prvalue -# 2198| getChild(0): [FunctionCall] call to get -# 2198| Type = [LValueReferenceType] int & -# 2198| ValueCategory = prvalue -# 2198| getArgument(0): [VariableAccess] t -# 2198| Type = [LValueReferenceType] int & -# 2198| ValueCategory = prvalue(load) -# 2198| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 2198| Type = [LValueReferenceType] int & -# 2198| ValueCategory = prvalue -# 2198| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 2198| Type = [IntType] int -# 2198| ValueCategory = lvalue -# 2198| getChild(0).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2198| Type = [IntType] int -# 2198| ValueCategory = lvalue -# 2199| getStmt(1): [ReturnStmt] return ... -# 2201| [TopLevelFunction] void vacuous_destructor_call::non_vacuous_destructor_call() -# 2201| : -# 2201| getEntryPoint(): [BlockStmt] { ... } -# 2202| getStmt(0): [DeclStmt] declaration -# 2202| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c -# 2202| Type = [Class] ClassWithDestructor -# 2202| getVariable().getInitializer(): [Initializer] initializer for c -# 2202| getExpr(): [ConstructorCall] call to ClassWithDestructor -# 2202| Type = [VoidType] void -# 2202| ValueCategory = prvalue -# 2203| getStmt(1): [ExprStmt] ExprStmt -# 2203| getExpr(): [FunctionCall] call to call_destructor -# 2203| Type = [VoidType] void -# 2203| ValueCategory = prvalue -# 2203| getArgument(0): [VariableAccess] c -# 2203| Type = [Class] ClassWithDestructor -# 2203| ValueCategory = lvalue -# 2203| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 2203| Type = [LValueReferenceType] ClassWithDestructor & -# 2203| ValueCategory = prvalue -# 2204| getStmt(2): [ReturnStmt] return ... -# 2204| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2204| Type = [VoidType] void -# 2204| ValueCategory = prvalue -# 2204| getQualifier(): [VariableAccess] c -# 2204| Type = [Class] ClassWithDestructor -# 2204| ValueCategory = lvalue -# 2206| [TopLevelFunction] void vacuous_destructor_call::vacuous_destructor_call() -# 2206| : -# 2206| getEntryPoint(): [BlockStmt] { ... } -# 2207| getStmt(0): [DeclStmt] declaration -# 2207| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i -# 2207| Type = [IntType] int -# 2208| getStmt(1): [ExprStmt] ExprStmt -# 2208| getExpr(): [FunctionCall] call to call_destructor -# 2208| Type = [VoidType] void -# 2208| ValueCategory = prvalue -# 2208| getArgument(0): [VariableAccess] i -# 2208| Type = [IntType] int -# 2208| ValueCategory = lvalue -# 2208| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 2208| Type = [LValueReferenceType] int & -# 2208| ValueCategory = prvalue -# 2209| getStmt(2): [ReturnStmt] return ... -# 2212| [TopLevelFunction] void TryCatchDestructors(bool) -# 2212| : -# 2212| getParameter(0): [Parameter] b -# 2212| Type = [BoolType] bool -# 2212| getEntryPoint(): [BlockStmt] { ... } -# 2213| getStmt(0): [TryStmt] try { ... } -# 2213| getStmt(): [BlockStmt] { ... } -# 2214| getStmt(0): [DeclStmt] declaration -# 2214| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s -# 2214| Type = [Struct] String -# 2214| getVariable().getInitializer(): [Initializer] initializer for s -# 2214| getExpr(): [ConstructorCall] call to String -# 2214| Type = [VoidType] void -# 2214| ValueCategory = prvalue -# 2215| getStmt(1): [IfStmt] if (...) ... -# 2215| getCondition(): [VariableAccess] b -# 2215| Type = [BoolType] bool -# 2215| ValueCategory = prvalue(load) -# 2215| getThen(): [BlockStmt] { ... } -# 2216| getStmt(0): [ExprStmt] ExprStmt -# 2216| getExpr(): [ThrowExpr] throw ... -# 2216| Type = [PointerType] const char * -# 2216| ValueCategory = prvalue -# 2216| getExpr(): string literal -# 2216| Type = [ArrayType] const char[15] -# 2216| Value = [StringLiteral] "string literal" -# 2216| ValueCategory = lvalue -# 2219| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2219| Type = [VoidType] void -# 2219| ValueCategory = prvalue -# 2219| getQualifier(): [VariableAccess] s -# 2219| Type = [Struct] String -# 2219| ValueCategory = lvalue -# 2216| getExpr().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 2216| Type = [PointerType] const char * -# 2216| ValueCategory = prvalue -# 2218| getStmt(2): [DeclStmt] declaration -# 2218| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s2 -# 2218| Type = [Struct] String -# 2218| getVariable().getInitializer(): [Initializer] initializer for s2 -# 2218| getExpr(): [ConstructorCall] call to String -# 2218| Type = [VoidType] void -# 2218| ValueCategory = prvalue -# 2219| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2219| Type = [VoidType] void -# 2219| ValueCategory = prvalue -# 2219| getQualifier(): [VariableAccess] s2 -# 2219| Type = [Struct] String -# 2219| ValueCategory = lvalue -# 2219| getImplicitDestructorCall(1): [DestructorCall] call to ~String -# 2219| Type = [VoidType] void -# 2219| ValueCategory = prvalue -# 2219| getQualifier(): [VariableAccess] s -# 2219| Type = [Struct] String -# 2219| ValueCategory = lvalue -# 2220| getChild(1): [Handler] -# 2220| getBlock(): [CatchBlock] { ... } -# 2221| getStmt(0): [ExprStmt] ExprStmt -# 2221| getExpr(): [ThrowExpr] throw ... -# 2221| Type = [Struct] String -# 2221| ValueCategory = prvalue -# 2221| getExpr(): [ConstructorCall] call to String -# 2221| Type = [VoidType] void -# 2221| ValueCategory = prvalue -# 2221| getArgument(0): [VariableAccess] s -# 2221| Type = [PointerType] const char * -# 2221| ValueCategory = prvalue(load) -# 2223| getChild(2): [Handler] -# 2223| getBlock(): [CatchBlock] { ... } -# 2225| getChild(3): [Handler] -# 2225| getBlock(): [CatchAnyBlock] { ... } -# 2226| getStmt(0): [ExprStmt] ExprStmt -# 2226| getExpr(): [ReThrowExpr] re-throw exception -# 2226| Type = [VoidType] void -# 2226| ValueCategory = prvalue -# 2228| getStmt(1): [ReturnStmt] return ... -# 2230| [TopLevelFunction] void IfDestructors(bool) -# 2230| : -# 2230| getParameter(0): [Parameter] b -# 2230| Type = [BoolType] bool -# 2230| getEntryPoint(): [BlockStmt] { ... } -# 2231| getStmt(0): [DeclStmt] declaration -# 2231| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s1 -# 2231| Type = [Struct] String -# 2231| getVariable().getInitializer(): [Initializer] initializer for s1 -# 2231| getExpr(): [ConstructorCall] call to String -# 2231| Type = [VoidType] void -# 2231| ValueCategory = prvalue -# 2232| getStmt(1): [IfStmt] if (...) ... -# 2232| getCondition(): [VariableAccess] b -# 2232| Type = [BoolType] bool -# 2232| ValueCategory = prvalue(load) -# 2232| getThen(): [BlockStmt] { ... } -# 2233| getStmt(0): [DeclStmt] declaration -# 2233| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s2 -# 2233| Type = [Struct] String -# 2233| getVariable().getInitializer(): [Initializer] initializer for s2 -# 2233| getExpr(): [ConstructorCall] call to String -# 2233| Type = [VoidType] void -# 2233| ValueCategory = prvalue -# 2234| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2234| Type = [VoidType] void -# 2234| ValueCategory = prvalue -# 2234| getQualifier(): [VariableAccess] s2 -# 2234| Type = [Struct] String -# 2234| ValueCategory = lvalue -# 2234| getElse(): [BlockStmt] { ... } -# 2235| getStmt(0): [DeclStmt] declaration -# 2235| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s3 -# 2235| Type = [Struct] String -# 2235| getVariable().getInitializer(): [Initializer] initializer for s3 -# 2235| getExpr(): [ConstructorCall] call to String -# 2235| Type = [VoidType] void -# 2235| ValueCategory = prvalue -# 2236| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2236| Type = [VoidType] void -# 2236| ValueCategory = prvalue -# 2236| getQualifier(): [VariableAccess] s3 -# 2236| Type = [Struct] String -# 2236| ValueCategory = lvalue -# 2237| getStmt(2): [DeclStmt] declaration -# 2237| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s4 -# 2237| Type = [Struct] String -# 2237| getVariable().getInitializer(): [Initializer] initializer for s4 -# 2237| getExpr(): [ConstructorCall] call to String -# 2237| Type = [VoidType] void -# 2237| ValueCategory = prvalue -# 2238| getStmt(3): [ReturnStmt] return ... -# 2238| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2238| Type = [VoidType] void -# 2238| ValueCategory = prvalue -# 2238| getQualifier(): [VariableAccess] s4 -# 2238| Type = [Struct] String -# 2238| ValueCategory = lvalue -# 2238| getImplicitDestructorCall(1): [DestructorCall] call to ~String -# 2238| Type = [VoidType] void -# 2238| ValueCategory = prvalue -# 2238| getQualifier(): [VariableAccess] s1 -# 2238| Type = [Struct] String -# 2238| ValueCategory = lvalue -# 2240| [TopLevelFunction] void ForDestructors() -# 2240| : -# 2240| getEntryPoint(): [BlockStmt] { ... } -# 2241| getStmt(0): [DeclStmt] declaration -# 2241| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c -# 2241| Type = [PlainCharType] char -# 2241| getVariable().getInitializer(): [Initializer] initializer for c -# 2241| getExpr(): [CharLiteral] 97 -# 2241| Type = [PlainCharType] char -# 2241| Value = [CharLiteral] 97 -# 2241| ValueCategory = prvalue -# 2242| getStmt(1): [ForStmt] for(...;...;...) ... -# 2242| getInitialization(): [DeclStmt] declaration -# 2242| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s -# 2242| Type = [Struct] String -# 2242| getVariable().getInitializer(): [Initializer] initializer for s -# 2242| getExpr(): [ConstructorCall] call to String -# 2242| Type = [VoidType] void -# 2242| ValueCategory = prvalue -# 2242| getArgument(0): hello -# 2242| Type = [ArrayType] const char[6] -# 2242| Value = [StringLiteral] "hello" -# 2242| ValueCategory = lvalue -# 2242| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 2242| Type = [PointerType] const char * -# 2242| ValueCategory = prvalue -# 2242| getCondition(): [NEExpr] ... != ... -# 2242| Type = [BoolType] bool -# 2242| ValueCategory = prvalue -# 2242| getLeftOperand(): [VariableAccess] c -# 2242| Type = [PlainCharType] char -# 2242| ValueCategory = prvalue(load) -# 2242| getRightOperand(): [Literal] 0 -# 2242| Type = [IntType] int -# 2242| Value = [Literal] 0 -# 2242| ValueCategory = prvalue -# 2242| getLeftOperand().getFullyConverted(): [CStyleCast] (int)... -# 2242| Conversion = [IntegralConversion] integral conversion -# 2242| Type = [IntType] int -# 2242| ValueCategory = prvalue -# 2242| getUpdate(): [AssignExpr] ... = ... -# 2242| Type = [PlainCharType] char -# 2242| ValueCategory = lvalue -# 2242| getLValue(): [VariableAccess] c -# 2242| Type = [PlainCharType] char -# 2242| ValueCategory = lvalue -# 2242| getRValue(): [FunctionCall] call to pop_back -# 2242| Type = [PlainCharType] char -# 2242| ValueCategory = prvalue -# 2242| getQualifier(): [VariableAccess] s -# 2242| Type = [Struct] String -# 2242| ValueCategory = lvalue -# 2242| getStmt(): [BlockStmt] { ... } -# 2243| getStmt(0): [DeclStmt] declaration -# 2243| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s2 -# 2243| Type = [Struct] String -# 2243| getVariable().getInitializer(): [Initializer] initializer for s2 -# 2243| getExpr(): [ConstructorCall] call to String -# 2243| Type = [VoidType] void -# 2243| ValueCategory = prvalue -# 2244| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2244| Type = [VoidType] void -# 2244| ValueCategory = prvalue -# 2244| getQualifier(): [VariableAccess] s2 -# 2244| Type = [Struct] String -# 2244| ValueCategory = lvalue -# 2242| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2242| Type = [VoidType] void -# 2242| ValueCategory = prvalue -# 2242| getQualifier(): [VariableAccess] s -# 2242| Type = [Struct] String -# 2242| ValueCategory = lvalue -# 2246| getStmt(2): [RangeBasedForStmt] for(...:...) ... -# 2246| getChild(1): [DeclStmt] declaration -# 2246| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__range) -# 2246| Type = [RValueReferenceType] vector && -#-----| getVariable().getInitializer(): [Initializer] initializer for (__range) -# 2246| getExpr(): [ConstructorCall] call to vector -# 2246| Type = [VoidType] void -# 2246| ValueCategory = prvalue -# 2246| getArgument(0): [ConstructorCall] call to String -# 2246| Type = [VoidType] void -# 2246| ValueCategory = prvalue -# 2246| getArgument(0): hello -# 2246| Type = [ArrayType] const char[6] -# 2246| Value = [StringLiteral] "hello" -# 2246| ValueCategory = lvalue -# 2246| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 2246| Type = [PointerType] const char * -# 2246| ValueCategory = prvalue -# 2246| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2246| Type = [Struct] String -# 2246| ValueCategory = lvalue -# 2246| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 2246| Type = [LValueReferenceType] vector & -# 2246| ValueCategory = prvalue -# 2246| getExpr(): [TemporaryObjectExpr] temporary object -# 2246| Type = [ClassTemplateInstantiation,Struct] vector -# 2246| ValueCategory = xvalue -# 2246| getBeginEndDeclaration(): [DeclStmt] declaration -# 2246| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__begin) -# 2246| Type = [NestedStruct] iterator -#-----| getVariable().getInitializer(): [Initializer] initializer for (__begin) -# 2246| getExpr(): [FunctionCall] call to begin -# 2246| Type = [NestedStruct] iterator -# 2246| ValueCategory = prvalue -# 2246| getQualifier(): [VariableAccess] (__range) -# 2246| Type = [RValueReferenceType] vector && -# 2246| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const vector -#-----| ValueCategory = lvalue -#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -#-----| Type = [ClassTemplateInstantiation,Struct] vector -#-----| ValueCategory = lvalue -# 2246| getDeclarationEntry(1): [VariableDeclarationEntry] declaration of (__end) -# 2246| Type = [NestedStruct] iterator -#-----| getVariable().getInitializer(): [Initializer] initializer for (__end) -# 2246| getExpr(): [FunctionCall] call to end -# 2246| Type = [NestedStruct] iterator -# 2246| ValueCategory = prvalue -# 2246| getQualifier(): [VariableAccess] (__range) -# 2246| Type = [RValueReferenceType] vector && -# 2246| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const vector -#-----| ValueCategory = lvalue -#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -#-----| Type = [ClassTemplateInstantiation,Struct] vector -#-----| ValueCategory = lvalue -# 2246| getCondition(): [FunctionCall] call to operator!= -# 2246| Type = [BoolType] bool -# 2246| ValueCategory = prvalue -# 2246| getQualifier(): [VariableAccess] (__begin) -# 2246| Type = [NestedStruct] iterator -# 2246| ValueCategory = lvalue -# 2246| getArgument(0): [VariableAccess] (__end) -# 2246| Type = [NestedStruct] iterator -# 2246| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const iterator -#-----| ValueCategory = lvalue -# 2246| getUpdate(): [FunctionCall] call to operator++ -# 2246| Type = [LValueReferenceType] iterator & -# 2246| ValueCategory = prvalue -# 2246| getQualifier(): [VariableAccess] (__begin) -# 2246| Type = [NestedStruct] iterator -# 2246| ValueCategory = lvalue -# 2246| getChild(5): [DeclStmt] declaration -# 2246| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s -# 2246| Type = [Struct] String -# 2246| getVariable().getInitializer(): [Initializer] initializer for s -# 2246| getExpr(): [ConstructorCall] call to String -# 2246| Type = [VoidType] void -# 2246| ValueCategory = prvalue -# 2246| getArgument(0): [OverloadedPointerDereferenceExpr] call to operator* -# 2246| Type = [LValueReferenceType] String & -# 2246| ValueCategory = prvalue -# 2246| getQualifier(): [VariableAccess] (__begin) -# 2246| Type = [NestedStruct] iterator -# 2246| ValueCategory = lvalue -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const iterator -#-----| ValueCategory = lvalue -# 2246| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 2246| Type = [LValueReferenceType] const String & -# 2246| ValueCategory = prvalue -# 2246| getExpr(): [CStyleCast] (const String)... -# 2246| Conversion = [GlvalueConversion] glvalue conversion -# 2246| Type = [SpecifiedType] const String -# 2246| ValueCategory = lvalue -# 2246| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 2246| Type = [Struct] String -# 2246| ValueCategory = lvalue -# 2246| getStmt(): [BlockStmt] { ... } -# 2247| getStmt(0): [DeclStmt] declaration -# 2247| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s2 -# 2247| Type = [Struct] String -# 2247| getVariable().getInitializer(): [Initializer] initializer for s2 -# 2247| getExpr(): [ConstructorCall] call to String -# 2247| Type = [VoidType] void -# 2247| ValueCategory = prvalue -# 2248| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2248| Type = [VoidType] void -# 2248| ValueCategory = prvalue -# 2248| getQualifier(): [VariableAccess] s2 -# 2248| Type = [Struct] String -# 2248| ValueCategory = lvalue -# 2246| getImplicitDestructorCall(1): [DestructorCall] call to ~String -# 2246| Type = [VoidType] void -# 2246| ValueCategory = prvalue -# 2246| getQualifier(): [VariableAccess] s -# 2246| Type = [Struct] String -# 2246| ValueCategory = lvalue -# 2246| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2246| Type = [NestedStruct] iterator -# 2246| ValueCategory = lvalue -# 2250| getStmt(3): [ForStmt] for(...;...;...) ... -# 2250| getInitialization(): [DeclStmt] declaration -# 2250| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s -# 2250| Type = [Struct] String -# 2250| getVariable().getInitializer(): [Initializer] initializer for s -# 2250| getExpr(): [ConstructorCall] call to String -# 2250| Type = [VoidType] void -# 2250| ValueCategory = prvalue -# 2250| getArgument(0): hello -# 2250| Type = [ArrayType] const char[6] -# 2250| Value = [StringLiteral] "hello" -# 2250| ValueCategory = lvalue -# 2250| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 2250| Type = [PointerType] const char * -# 2250| ValueCategory = prvalue -# 2250| getDeclarationEntry(1): [VariableDeclarationEntry] definition of s2 -# 2250| Type = [Struct] String -# 2250| getVariable().getInitializer(): [Initializer] initializer for s2 -# 2250| getExpr(): [ConstructorCall] call to String -# 2250| Type = [VoidType] void -# 2250| ValueCategory = prvalue -# 2250| getArgument(0): world -# 2250| Type = [ArrayType] const char[6] -# 2250| Value = [StringLiteral] "world" -# 2250| ValueCategory = lvalue -# 2250| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 2250| Type = [PointerType] const char * -# 2250| ValueCategory = prvalue -# 2250| getCondition(): [NEExpr] ... != ... -# 2250| Type = [BoolType] bool -# 2250| ValueCategory = prvalue -# 2250| getLeftOperand(): [VariableAccess] c -# 2250| Type = [PlainCharType] char -# 2250| ValueCategory = prvalue(load) -# 2250| getRightOperand(): [Literal] 0 -# 2250| Type = [IntType] int -# 2250| Value = [Literal] 0 -# 2250| ValueCategory = prvalue -# 2250| getLeftOperand().getFullyConverted(): [CStyleCast] (int)... -# 2250| Conversion = [IntegralConversion] integral conversion -# 2250| Type = [IntType] int -# 2250| ValueCategory = prvalue -# 2250| getUpdate(): [AssignExpr] ... = ... -# 2250| Type = [PlainCharType] char -# 2250| ValueCategory = lvalue -# 2250| getLValue(): [VariableAccess] c -# 2250| Type = [PlainCharType] char -# 2250| ValueCategory = lvalue -# 2250| getRValue(): [FunctionCall] call to pop_back -# 2250| Type = [PlainCharType] char -# 2250| ValueCategory = prvalue -# 2250| getQualifier(): [VariableAccess] s -# 2250| Type = [Struct] String -# 2250| ValueCategory = lvalue -# 2250| getStmt(): [BlockStmt] { ... } -# 2251| getStmt(0): [ExprStmt] ExprStmt -# 2251| getExpr(): [AssignExpr] ... = ... -# 2251| Type = [PlainCharType] char -# 2251| ValueCategory = lvalue -# 2251| getLValue(): [VariableAccess] c -# 2251| Type = [PlainCharType] char -# 2251| ValueCategory = lvalue -# 2251| getRValue(): [Literal] 0 -# 2251| Type = [IntType] int -# 2251| Value = [Literal] 0 -# 2251| ValueCategory = prvalue -# 2251| getRValue().getFullyConverted(): [CStyleCast] (char)... -# 2251| Conversion = [IntegralConversion] integral conversion -# 2251| Type = [PlainCharType] char -# 2251| Value = [CStyleCast] 0 -# 2251| ValueCategory = prvalue -# 2250| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2235| getStmt(3): [ReturnStmt] return ... +# 2235| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2235| Type = [VoidType] void +# 2235| ValueCategory = prvalue +# 2235| getQualifier(): [VariableAccess] b +# 2235| Type = [Class] ClassWithDestructor +# 2235| ValueCategory = lvalue +# 2235| getImplicitDestructorCall(1): [DestructorCall] call to ~ClassWithDestructor +# 2235| Type = [VoidType] void +# 2235| ValueCategory = prvalue +# 2235| getQualifier(): [VariableAccess] a +# 2235| Type = [Class] ClassWithDestructor +# 2235| ValueCategory = lvalue +# 2237| [GlobalVariable] ClassWithDestructor global_class_with_destructor +# 2237| getInitializer(): [Initializer] initializer for global_class_with_destructor +# 2237| getExpr(): [ConstructorCall] call to ClassWithDestructor +# 2237| Type = [VoidType] void +# 2237| ValueCategory = prvalue +# 2241| [FunctionTemplateInstantiation,TopLevelFunction] ClassWithDestructor& vacuous_destructor_call::get(ClassWithDestructor&) +# 2241| : +# 2241| getParameter(0): [Parameter] t +# 2241| Type = [LValueReferenceType] ClassWithDestructor & +# 2241| getEntryPoint(): [BlockStmt] { ... } +# 2241| getStmt(0): [ReturnStmt] return ... +# 2241| getExpr(): [VariableAccess] t +# 2241| Type = [LValueReferenceType] ClassWithDestructor & +# 2241| ValueCategory = prvalue(load) +# 2241| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 2241| Type = [LValueReferenceType] ClassWithDestructor & +# 2241| ValueCategory = prvalue +# 2241| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 2241| Type = [Class] ClassWithDestructor +# 2241| ValueCategory = lvalue +# 2241| [TemplateFunction,TopLevelFunction] T& vacuous_destructor_call::get(T&) +# 2241| : +# 2241| getParameter(0): [Parameter] t +# 2241| Type = [LValueReferenceType] T & +# 2241| getEntryPoint(): [BlockStmt] { ... } +# 2241| getStmt(0): [ReturnStmt] return ... +# 2241| getExpr(): [VariableAccess] t +# 2241| Type = [LValueReferenceType] T & +# 2241| ValueCategory = prvalue(load) +# 2241| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2241| Type = [TemplateParameter] T +# 2241| ValueCategory = lvalue +# 2241| [FunctionTemplateInstantiation,TopLevelFunction] int& vacuous_destructor_call::get(int&) +# 2241| : +# 2241| getParameter(0): [Parameter] t +# 2241| Type = [LValueReferenceType] int & +# 2241| getEntryPoint(): [BlockStmt] { ... } +# 2241| getStmt(0): [ReturnStmt] return ... +# 2241| getExpr(): [VariableAccess] t +# 2241| Type = [LValueReferenceType] int & +# 2241| ValueCategory = prvalue(load) +# 2241| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 2241| Type = [LValueReferenceType] int & +# 2241| ValueCategory = prvalue +# 2241| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 2241| Type = [IntType] int +# 2241| ValueCategory = lvalue +# 2244| [FunctionTemplateInstantiation,TopLevelFunction] void vacuous_destructor_call::call_destructor(ClassWithDestructor&) +# 2244| : +# 2244| getParameter(0): [Parameter] t +# 2244| Type = [LValueReferenceType] ClassWithDestructor & +# 2244| getEntryPoint(): [BlockStmt] { ... } +# 2245| getStmt(0): [ExprStmt] ExprStmt +# 2245| getExpr(): [DestructorCall] call to ~ClassWithDestructor +# 2245| Type = [VoidType] void +# 2245| ValueCategory = prvalue +# 2245| getQualifier(): [FunctionCall] call to get +# 2245| Type = [LValueReferenceType] ClassWithDestructor & +# 2245| ValueCategory = prvalue +# 2245| getArgument(0): [VariableAccess] t +# 2245| Type = [LValueReferenceType] ClassWithDestructor & +# 2245| ValueCategory = prvalue(load) +# 2245| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 2245| Type = [LValueReferenceType] ClassWithDestructor & +# 2245| ValueCategory = prvalue +# 2245| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 2245| Type = [Class] ClassWithDestructor +# 2245| ValueCategory = lvalue +# 2245| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2245| Type = [Class] ClassWithDestructor +# 2245| ValueCategory = lvalue +# 2246| getStmt(1): [ReturnStmt] return ... +# 2244| [TemplateFunction,TopLevelFunction] void vacuous_destructor_call::call_destructor(T&) +# 2244| : +# 2244| getParameter(0): [Parameter] t +# 2244| Type = [LValueReferenceType] T & +# 2244| getEntryPoint(): [BlockStmt] { ... } +# 2245| getStmt(0): [ExprStmt] ExprStmt +# 2245| getExpr(): [ExprCall] call to expression +# 2245| Type = [UnknownType] unknown +# 2245| ValueCategory = prvalue +# 2245| getExpr(): [Literal] Unknown literal +# 2245| Type = [UnknownType] unknown +# 2245| ValueCategory = prvalue +# 2245| getChild(-1): [ExprCall] call to expression +# 2245| Type = [UnknownType] unknown +# 2245| ValueCategory = prvalue +# 2245| getExpr(): [Literal] Unknown literal +# 2245| Type = [UnknownType] unknown +# 2245| ValueCategory = prvalue +# 2245| getArgument(0): [VariableAccess] t +# 2245| Type = [LValueReferenceType] T & +# 2245| ValueCategory = prvalue(load) +# 2245| getArgument(0).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2245| Type = [TemplateParameter] T +# 2245| ValueCategory = lvalue +# 2246| getStmt(1): [ReturnStmt] return ... +# 2244| [FunctionTemplateInstantiation,TopLevelFunction] void vacuous_destructor_call::call_destructor(int&) +# 2244| : +# 2244| getParameter(0): [Parameter] t +# 2244| Type = [LValueReferenceType] int & +# 2244| getEntryPoint(): [BlockStmt] { ... } +# 2245| getStmt(0): [ExprStmt] ExprStmt +# 2245| getExpr(): [VacuousDestructorCall] (vacuous destructor call) +# 2245| Type = [VoidType] void +# 2245| ValueCategory = prvalue +# 2245| getChild(0): [FunctionCall] call to get +# 2245| Type = [LValueReferenceType] int & +# 2245| ValueCategory = prvalue +# 2245| getArgument(0): [VariableAccess] t +# 2245| Type = [LValueReferenceType] int & +# 2245| ValueCategory = prvalue(load) +# 2245| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 2245| Type = [LValueReferenceType] int & +# 2245| ValueCategory = prvalue +# 2245| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 2245| Type = [IntType] int +# 2245| ValueCategory = lvalue +# 2245| getChild(0).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2245| Type = [IntType] int +# 2245| ValueCategory = lvalue +# 2246| getStmt(1): [ReturnStmt] return ... +# 2248| [TopLevelFunction] void vacuous_destructor_call::non_vacuous_destructor_call() +# 2248| : +# 2248| getEntryPoint(): [BlockStmt] { ... } +# 2249| getStmt(0): [DeclStmt] declaration +# 2249| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c +# 2249| Type = [Class] ClassWithDestructor +# 2249| getVariable().getInitializer(): [Initializer] initializer for c +# 2249| getExpr(): [ConstructorCall] call to ClassWithDestructor +# 2249| Type = [VoidType] void +# 2249| ValueCategory = prvalue +# 2250| getStmt(1): [ExprStmt] ExprStmt +# 2250| getExpr(): [FunctionCall] call to call_destructor # 2250| Type = [VoidType] void # 2250| ValueCategory = prvalue -# 2250| getQualifier(): [VariableAccess] s2 -# 2250| Type = [Struct] String +# 2250| getArgument(0): [VariableAccess] c +# 2250| Type = [Class] ClassWithDestructor # 2250| ValueCategory = lvalue -# 2250| getImplicitDestructorCall(1): [DestructorCall] call to ~String -# 2250| Type = [VoidType] void -# 2250| ValueCategory = prvalue -# 2250| getQualifier(): [VariableAccess] s -# 2250| Type = [Struct] String -# 2250| ValueCategory = lvalue -# 2253| getStmt(4): [ReturnStmt] return ... -# 2255| [TopLevelFunction] void IfDestructors2(bool) -# 2255| : -# 2255| getParameter(0): [Parameter] b -# 2255| Type = [BoolType] bool -# 2255| getEntryPoint(): [BlockStmt] { ... } -# 2256| getStmt(0): [IfStmt] if (...) ... -# 2256| getInitialization(): [DeclStmt] declaration -# 2256| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s -# 2256| Type = [Struct] String -# 2256| getVariable().getInitializer(): [Initializer] initializer for s -# 2256| getExpr(): [ConstructorCall] call to String -# 2256| Type = [VoidType] void -# 2256| ValueCategory = prvalue -# 2256| getArgument(0): hello -# 2256| Type = [ArrayType] const char[6] -# 2256| Value = [StringLiteral] "hello" -# 2256| ValueCategory = lvalue -# 2256| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 2256| Type = [PointerType] const char * -# 2256| ValueCategory = prvalue -# 2256| getCondition(): [VariableAccess] b -# 2256| Type = [BoolType] bool -# 2256| ValueCategory = prvalue(load) -# 2256| getThen(): [BlockStmt] { ... } -# 2257| getStmt(0): [DeclStmt] declaration -# 2257| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 2257| Type = [IntType] int -# 2257| getVariable().getInitializer(): [Initializer] initializer for x -# 2257| getExpr(): [Literal] 0 -# 2257| Type = [IntType] int -# 2257| Value = [Literal] 0 -# 2257| ValueCategory = prvalue -# 2258| getElse(): [BlockStmt] { ... } -# 2259| getStmt(0): [DeclStmt] declaration -# 2259| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 2259| Type = [IntType] int -# 2259| getVariable().getInitializer(): [Initializer] initializer for y -# 2259| getExpr(): [Literal] 0 -# 2259| Type = [IntType] int -# 2259| Value = [Literal] 0 -# 2259| ValueCategory = prvalue -# 2260| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2260| Type = [VoidType] void -# 2260| ValueCategory = prvalue -# 2260| getQualifier(): [VariableAccess] s -# 2260| Type = [Struct] String -# 2260| ValueCategory = lvalue -# 2261| getStmt(1): [ReturnStmt] return ... -# 2263| [CopyAssignmentOperator] Bool& Bool::operator=(Bool const&) -# 2263| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const Bool & -# 2263| [CopyConstructor] void Bool::Bool(Bool const&) -# 2263| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const Bool & -# 2265| [Constructor] void Bool::Bool(bool) -# 2265| : -# 2265| getParameter(0): [Parameter] b_ -# 2265| Type = [BoolType] bool -# 2266| [ConversionOperator] bool Bool::operator bool() -# 2266| : -# 2267| [Destructor] void Bool::~Bool() -# 2267| : -# 2270| [TopLevelFunction] void IfDestructors3(bool) -# 2270| : -# 2270| getParameter(0): [Parameter] b -# 2270| Type = [BoolType] bool -# 2270| getEntryPoint(): [BlockStmt] { ... } -# 2271| getStmt(0): [IfStmt] if (...) ... -# 2271| getCondition(): [ConditionDeclExpr] (condition decl) -# 2271| Type = [BoolType] bool -# 2271| ValueCategory = prvalue -# 2271| getChild(0): [FunctionCall] call to operator bool -# 2271| Type = [BoolType] bool -# 2271| ValueCategory = prvalue -# 2271| getQualifier(): [VariableAccess] B -# 2271| Type = [Class] Bool -# 2271| ValueCategory = prvalue(load) -# 2271| getThen(): [BlockStmt] { ... } -# 2272| getStmt(0): [DeclStmt] declaration -# 2272| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s1 -# 2272| Type = [Struct] String -# 2272| getVariable().getInitializer(): [Initializer] initializer for s1 -# 2272| getExpr(): [ConstructorCall] call to String -# 2272| Type = [VoidType] void -# 2272| ValueCategory = prvalue -# 2273| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2273| Type = [VoidType] void -# 2273| ValueCategory = prvalue -# 2273| getQualifier(): [VariableAccess] s1 -# 2273| Type = [Struct] String -# 2273| ValueCategory = lvalue -# 2273| getElse(): [BlockStmt] { ... } -# 2274| getStmt(0): [DeclStmt] declaration -# 2274| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s2 -# 2274| Type = [Struct] String -# 2274| getVariable().getInitializer(): [Initializer] initializer for s2 -# 2274| getExpr(): [ConstructorCall] call to String -# 2274| Type = [VoidType] void -# 2274| ValueCategory = prvalue -# 2275| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2275| Type = [VoidType] void -# 2275| ValueCategory = prvalue -# 2275| getQualifier(): [VariableAccess] s2 -# 2275| Type = [Struct] String -# 2275| ValueCategory = lvalue -# 2275| getImplicitDestructorCall(0): [DestructorCall] call to ~Bool -# 2275| Type = [VoidType] void -# 2275| ValueCategory = prvalue -# 2275| getQualifier(): [VariableAccess] B -# 2275| Type = [Class] Bool -# 2275| ValueCategory = lvalue -# 2276| getStmt(1): [ReturnStmt] return ... -# 2278| [TopLevelFunction] void WhileLoopDestructors(bool) -# 2278| : -# 2278| getParameter(0): [Parameter] b -# 2278| Type = [BoolType] bool -# 2278| getEntryPoint(): [BlockStmt] { ... } -# 2279| getStmt(0): [BlockStmt] { ... } -# 2280| getStmt(0): [DeclStmt] declaration -# 2280| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s -# 2280| Type = [Struct] String -# 2280| getVariable().getInitializer(): [Initializer] initializer for s -# 2280| getExpr(): [ConstructorCall] call to String -# 2280| Type = [VoidType] void -# 2280| ValueCategory = prvalue -# 2281| getStmt(1): [WhileStmt] while (...) ... -# 2281| getCondition(): [VariableAccess] b -# 2281| Type = [BoolType] bool -# 2281| ValueCategory = prvalue(load) -# 2281| getStmt(): [BlockStmt] { ... } -# 2282| getStmt(0): [ExprStmt] ExprStmt -# 2282| getExpr(): [AssignExpr] ... = ... -# 2282| Type = [BoolType] bool -# 2282| ValueCategory = lvalue -# 2282| getLValue(): [VariableAccess] b -# 2282| Type = [BoolType] bool -# 2282| ValueCategory = lvalue -# 2282| getRValue(): [Literal] 0 -# 2282| Type = [BoolType] bool -# 2282| Value = [Literal] 0 +# 2250| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 2250| Type = [LValueReferenceType] ClassWithDestructor & +# 2250| ValueCategory = prvalue +# 2251| getStmt(2): [ReturnStmt] return ... +# 2251| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2251| Type = [VoidType] void +# 2251| ValueCategory = prvalue +# 2251| getQualifier(): [VariableAccess] c +# 2251| Type = [Class] ClassWithDestructor +# 2251| ValueCategory = lvalue +# 2253| [TopLevelFunction] void vacuous_destructor_call::vacuous_destructor_call() +# 2253| : +# 2253| getEntryPoint(): [BlockStmt] { ... } +# 2254| getStmt(0): [DeclStmt] declaration +# 2254| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i +# 2254| Type = [IntType] int +# 2255| getStmt(1): [ExprStmt] ExprStmt +# 2255| getExpr(): [FunctionCall] call to call_destructor +# 2255| Type = [VoidType] void +# 2255| ValueCategory = prvalue +# 2255| getArgument(0): [VariableAccess] i +# 2255| Type = [IntType] int +# 2255| ValueCategory = lvalue +# 2255| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 2255| Type = [LValueReferenceType] int & +# 2255| ValueCategory = prvalue +# 2256| getStmt(2): [ReturnStmt] return ... +# 2259| [TopLevelFunction] void TryCatchDestructors(bool) +# 2259| : +# 2259| getParameter(0): [Parameter] b +# 2259| Type = [BoolType] bool +# 2259| getEntryPoint(): [BlockStmt] { ... } +# 2260| getStmt(0): [TryStmt] try { ... } +# 2260| getStmt(): [BlockStmt] { ... } +# 2261| getStmt(0): [DeclStmt] declaration +# 2261| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s +# 2261| Type = [Struct] String +# 2261| getVariable().getInitializer(): [Initializer] initializer for s +# 2261| getExpr(): [ConstructorCall] call to String +# 2261| Type = [VoidType] void +# 2261| ValueCategory = prvalue +# 2262| getStmt(1): [IfStmt] if (...) ... +# 2262| getCondition(): [VariableAccess] b +# 2262| Type = [BoolType] bool +# 2262| ValueCategory = prvalue(load) +# 2262| getThen(): [BlockStmt] { ... } +# 2263| getStmt(0): [ExprStmt] ExprStmt +# 2263| getExpr(): [ThrowExpr] throw ... +# 2263| Type = [PointerType] const char * +# 2263| ValueCategory = prvalue +# 2263| getExpr(): string literal +# 2263| Type = [ArrayType] const char[15] +# 2263| Value = [StringLiteral] "string literal" +# 2263| ValueCategory = lvalue +# 2266| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2266| Type = [VoidType] void +# 2266| ValueCategory = prvalue +# 2266| getQualifier(): [VariableAccess] s +# 2266| Type = [Struct] String +# 2266| ValueCategory = lvalue +# 2263| getExpr().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 2263| Type = [PointerType] const char * +# 2263| ValueCategory = prvalue +# 2265| getStmt(2): [DeclStmt] declaration +# 2265| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s2 +# 2265| Type = [Struct] String +# 2265| getVariable().getInitializer(): [Initializer] initializer for s2 +# 2265| getExpr(): [ConstructorCall] call to String +# 2265| Type = [VoidType] void +# 2265| ValueCategory = prvalue +# 2266| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2266| Type = [VoidType] void +# 2266| ValueCategory = prvalue +# 2266| getQualifier(): [VariableAccess] s2 +# 2266| Type = [Struct] String +# 2266| ValueCategory = lvalue +# 2266| getImplicitDestructorCall(1): [DestructorCall] call to ~String +# 2266| Type = [VoidType] void +# 2266| ValueCategory = prvalue +# 2266| getQualifier(): [VariableAccess] s +# 2266| Type = [Struct] String +# 2266| ValueCategory = lvalue +# 2267| getChild(1): [Handler] +# 2267| getBlock(): [CatchBlock] { ... } +# 2268| getStmt(0): [ExprStmt] ExprStmt +# 2268| getExpr(): [ThrowExpr] throw ... +# 2268| Type = [Struct] String +# 2268| ValueCategory = prvalue +# 2268| getExpr(): [ConstructorCall] call to String +# 2268| Type = [VoidType] void +# 2268| ValueCategory = prvalue +# 2268| getArgument(0): [VariableAccess] s +# 2268| Type = [PointerType] const char * +# 2268| ValueCategory = prvalue(load) +# 2270| getChild(2): [Handler] +# 2270| getBlock(): [CatchBlock] { ... } +# 2272| getChild(3): [Handler] +# 2272| getBlock(): [CatchAnyBlock] { ... } +# 2273| getStmt(0): [ExprStmt] ExprStmt +# 2273| getExpr(): [ReThrowExpr] re-throw exception +# 2273| Type = [VoidType] void +# 2273| ValueCategory = prvalue +# 2275| getStmt(1): [ReturnStmt] return ... +# 2277| [TopLevelFunction] void IfDestructors(bool) +# 2277| : +# 2277| getParameter(0): [Parameter] b +# 2277| Type = [BoolType] bool +# 2277| getEntryPoint(): [BlockStmt] { ... } +# 2278| getStmt(0): [DeclStmt] declaration +# 2278| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s1 +# 2278| Type = [Struct] String +# 2278| getVariable().getInitializer(): [Initializer] initializer for s1 +# 2278| getExpr(): [ConstructorCall] call to String +# 2278| Type = [VoidType] void +# 2278| ValueCategory = prvalue +# 2279| getStmt(1): [IfStmt] if (...) ... +# 2279| getCondition(): [VariableAccess] b +# 2279| Type = [BoolType] bool +# 2279| ValueCategory = prvalue(load) +# 2279| getThen(): [BlockStmt] { ... } +# 2280| getStmt(0): [DeclStmt] declaration +# 2280| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s2 +# 2280| Type = [Struct] String +# 2280| getVariable().getInitializer(): [Initializer] initializer for s2 +# 2280| getExpr(): [ConstructorCall] call to String +# 2280| Type = [VoidType] void +# 2280| ValueCategory = prvalue +# 2281| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2281| Type = [VoidType] void +# 2281| ValueCategory = prvalue +# 2281| getQualifier(): [VariableAccess] s2 +# 2281| Type = [Struct] String +# 2281| ValueCategory = lvalue +# 2281| getElse(): [BlockStmt] { ... } +# 2282| getStmt(0): [DeclStmt] declaration +# 2282| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s3 +# 2282| Type = [Struct] String +# 2282| getVariable().getInitializer(): [Initializer] initializer for s3 +# 2282| getExpr(): [ConstructorCall] call to String +# 2282| Type = [VoidType] void # 2282| ValueCategory = prvalue -# 2284| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2284| Type = [VoidType] void -# 2284| ValueCategory = prvalue -# 2284| getQualifier(): [VariableAccess] s -# 2284| Type = [Struct] String -# 2284| ValueCategory = lvalue -# 2286| getStmt(1): [BlockStmt] { ... } -# 2287| getStmt(0): [WhileStmt] while (...) ... -# 2287| getCondition(): [ConditionDeclExpr] (condition decl) -# 2287| Type = [BoolType] bool -# 2287| ValueCategory = prvalue -# 2287| getChild(0): [FunctionCall] call to operator bool -# 2287| Type = [BoolType] bool -# 2287| ValueCategory = prvalue -# 2287| getQualifier(): [VariableAccess] B -# 2287| Type = [Class] Bool -# 2287| ValueCategory = prvalue(load) -# 2287| getStmt(): [BlockStmt] { ... } -# 2288| getStmt(0): [ExprStmt] ExprStmt -# 2288| getExpr(): [AssignExpr] ... = ... -# 2288| Type = [BoolType] bool -# 2288| ValueCategory = lvalue -# 2288| getLValue(): [VariableAccess] b -# 2288| Type = [BoolType] bool -# 2288| ValueCategory = lvalue -# 2288| getRValue(): [Literal] 0 -# 2288| Type = [BoolType] bool -# 2288| Value = [Literal] 0 -# 2288| ValueCategory = prvalue -# 2289| getImplicitDestructorCall(0): [DestructorCall] call to ~Bool -# 2289| Type = [VoidType] void -# 2289| ValueCategory = prvalue -# 2289| getQualifier(): [VariableAccess] B -# 2289| Type = [Class] Bool -# 2289| ValueCategory = lvalue -# 2289| getImplicitDestructorCall(0): [DestructorCall] call to ~Bool -# 2289| Type = [VoidType] void +# 2283| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2283| Type = [VoidType] void +# 2283| ValueCategory = prvalue +# 2283| getQualifier(): [VariableAccess] s3 +# 2283| Type = [Struct] String +# 2283| ValueCategory = lvalue +# 2284| getStmt(2): [DeclStmt] declaration +# 2284| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s4 +# 2284| Type = [Struct] String +# 2284| getVariable().getInitializer(): [Initializer] initializer for s4 +# 2284| getExpr(): [ConstructorCall] call to String +# 2284| Type = [VoidType] void +# 2284| ValueCategory = prvalue +# 2285| getStmt(3): [ReturnStmt] return ... +# 2285| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2285| Type = [VoidType] void +# 2285| ValueCategory = prvalue +# 2285| getQualifier(): [VariableAccess] s4 +# 2285| Type = [Struct] String +# 2285| ValueCategory = lvalue +# 2285| getImplicitDestructorCall(1): [DestructorCall] call to ~String +# 2285| Type = [VoidType] void +# 2285| ValueCategory = prvalue +# 2285| getQualifier(): [VariableAccess] s1 +# 2285| Type = [Struct] String +# 2285| ValueCategory = lvalue +# 2287| [TopLevelFunction] void ForDestructors() +# 2287| : +# 2287| getEntryPoint(): [BlockStmt] { ... } +# 2288| getStmt(0): [DeclStmt] declaration +# 2288| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c +# 2288| Type = [PlainCharType] char +# 2288| getVariable().getInitializer(): [Initializer] initializer for c +# 2288| getExpr(): [CharLiteral] 97 +# 2288| Type = [PlainCharType] char +# 2288| Value = [CharLiteral] 97 +# 2288| ValueCategory = prvalue +# 2289| getStmt(1): [ForStmt] for(...;...;...) ... +# 2289| getInitialization(): [DeclStmt] declaration +# 2289| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s +# 2289| Type = [Struct] String +# 2289| getVariable().getInitializer(): [Initializer] initializer for s +# 2289| getExpr(): [ConstructorCall] call to String +# 2289| Type = [VoidType] void +# 2289| ValueCategory = prvalue +# 2289| getArgument(0): hello +# 2289| Type = [ArrayType] const char[6] +# 2289| Value = [StringLiteral] "hello" +# 2289| ValueCategory = lvalue +# 2289| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 2289| Type = [PointerType] const char * +# 2289| ValueCategory = prvalue +# 2289| getCondition(): [NEExpr] ... != ... +# 2289| Type = [BoolType] bool +# 2289| ValueCategory = prvalue +# 2289| getLeftOperand(): [VariableAccess] c +# 2289| Type = [PlainCharType] char +# 2289| ValueCategory = prvalue(load) +# 2289| getRightOperand(): [Literal] 0 +# 2289| Type = [IntType] int +# 2289| Value = [Literal] 0 # 2289| ValueCategory = prvalue -# 2289| getQualifier(): [VariableAccess] B -# 2289| Type = [Class] Bool +# 2289| getLeftOperand().getFullyConverted(): [CStyleCast] (int)... +# 2289| Conversion = [IntegralConversion] integral conversion +# 2289| Type = [IntType] int +# 2289| ValueCategory = prvalue +# 2289| getUpdate(): [AssignExpr] ... = ... +# 2289| Type = [PlainCharType] char +# 2289| ValueCategory = lvalue +# 2289| getLValue(): [VariableAccess] c +# 2289| Type = [PlainCharType] char +# 2289| ValueCategory = lvalue +# 2289| getRValue(): [FunctionCall] call to pop_back +# 2289| Type = [PlainCharType] char +# 2289| ValueCategory = prvalue +# 2289| getQualifier(): [VariableAccess] s +# 2289| Type = [Struct] String # 2289| ValueCategory = lvalue -# 2291| getStmt(2): [ReturnStmt] return ... -# 2293| [TopLevelFunction] void VoidFunc() -# 2293| : -# 2293| getEntryPoint(): [BlockStmt] { ... } -# 2293| getStmt(0): [ReturnStmt] return ... -# 2295| [TopLevelFunction] void IfReturnDestructors(bool) -# 2295| : -# 2295| getParameter(0): [Parameter] b -# 2295| Type = [BoolType] bool -# 2295| getEntryPoint(): [BlockStmt] { ... } -# 2296| getStmt(0): [DeclStmt] declaration -# 2296| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s -# 2296| Type = [Struct] String -# 2296| getVariable().getInitializer(): [Initializer] initializer for s -# 2296| getExpr(): [ConstructorCall] call to String -# 2296| Type = [VoidType] void -# 2296| ValueCategory = prvalue -# 2297| getStmt(1): [IfStmt] if (...) ... -# 2297| getCondition(): [VariableAccess] b +# 2289| getStmt(): [BlockStmt] { ... } +# 2290| getStmt(0): [DeclStmt] declaration +# 2290| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s2 +# 2290| Type = [Struct] String +# 2290| getVariable().getInitializer(): [Initializer] initializer for s2 +# 2290| getExpr(): [ConstructorCall] call to String +# 2290| Type = [VoidType] void +# 2290| ValueCategory = prvalue +# 2291| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2291| Type = [VoidType] void +# 2291| ValueCategory = prvalue +# 2291| getQualifier(): [VariableAccess] s2 +# 2291| Type = [Struct] String +# 2291| ValueCategory = lvalue +# 2289| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2289| Type = [VoidType] void +# 2289| ValueCategory = prvalue +# 2289| getQualifier(): [VariableAccess] s +# 2289| Type = [Struct] String +# 2289| ValueCategory = lvalue +# 2293| getStmt(2): [RangeBasedForStmt] for(...:...) ... +# 2293| getChild(1): [DeclStmt] declaration +# 2293| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__range) +# 2293| Type = [RValueReferenceType] vector && +#-----| getVariable().getInitializer(): [Initializer] initializer for (__range) +# 2293| getExpr(): [ConstructorCall] call to vector +# 2293| Type = [VoidType] void +# 2293| ValueCategory = prvalue +# 2293| getArgument(0): [ConstructorCall] call to String +# 2293| Type = [VoidType] void +# 2293| ValueCategory = prvalue +# 2293| getArgument(0): hello +# 2293| Type = [ArrayType] const char[6] +# 2293| Value = [StringLiteral] "hello" +# 2293| ValueCategory = lvalue +# 2293| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 2293| Type = [PointerType] const char * +# 2293| ValueCategory = prvalue +# 2293| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2293| Type = [VoidType] void +# 2293| ValueCategory = prvalue +# 2293| getQualifier(): [ReuseExpr] reuse of temporary object +# 2293| Type = [Struct] String +# 2293| ValueCategory = xvalue +# 2293| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2293| Type = [Struct] String +# 2293| ValueCategory = lvalue +# 2293| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 2293| Type = [LValueReferenceType] vector & +# 2293| ValueCategory = prvalue +# 2293| getExpr(): [TemporaryObjectExpr] temporary object +# 2293| Type = [ClassTemplateInstantiation,Struct] vector +# 2293| ValueCategory = xvalue +# 2293| getBeginEndDeclaration(): [DeclStmt] declaration +# 2293| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__begin) +# 2293| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +#-----| getVariable().getInitializer(): [Initializer] initializer for (__begin) +# 2293| getExpr(): [FunctionCall] call to begin +# 2293| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2293| ValueCategory = prvalue +# 2293| getQualifier(): [VariableAccess] (__range) +# 2293| Type = [RValueReferenceType] vector && +# 2293| ValueCategory = prvalue(load) +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const vector +#-----| ValueCategory = lvalue +#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +#-----| Type = [ClassTemplateInstantiation,Struct] vector +#-----| ValueCategory = lvalue +# 2293| getDeclarationEntry(1): [VariableDeclarationEntry] declaration of (__end) +# 2293| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +#-----| getVariable().getInitializer(): [Initializer] initializer for (__end) +# 2293| getExpr(): [FunctionCall] call to end +# 2293| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2293| ValueCategory = prvalue +# 2293| getQualifier(): [VariableAccess] (__range) +# 2293| Type = [RValueReferenceType] vector && +# 2293| ValueCategory = prvalue(load) +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const vector +#-----| ValueCategory = lvalue +#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +#-----| Type = [ClassTemplateInstantiation,Struct] vector +#-----| ValueCategory = lvalue +# 2293| getCondition(): [FunctionCall] call to operator!= +# 2293| Type = [BoolType] bool +# 2293| ValueCategory = prvalue +# 2293| getQualifier(): [VariableAccess] (__begin) +# 2293| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2293| ValueCategory = lvalue +# 2293| getArgument(0): [ConstructorCall] call to iterator +# 2293| Type = [VoidType] void +# 2293| ValueCategory = prvalue +# 2293| getArgument(0): [VariableAccess] (__end) +# 2293| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2293| ValueCategory = lvalue +#-----| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +#-----| Type = [LValueReferenceType] const iterator & +#-----| ValueCategory = prvalue +#-----| getExpr(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +#-----| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object +#-----| Type = [ClassTemplateInstantiation,Struct] iterator +#-----| ValueCategory = lvalue +# 2293| getUpdate(): [FunctionCall] call to operator++ +# 2293| Type = [LValueReferenceType] iterator & +# 2293| ValueCategory = prvalue +# 2293| getQualifier(): [VariableAccess] (__begin) +# 2293| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2293| ValueCategory = lvalue +# 2293| getChild(5): [DeclStmt] declaration +# 2293| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s +# 2293| Type = [Struct] String +# 2293| getVariable().getInitializer(): [Initializer] initializer for s +# 2293| getExpr(): [ConstructorCall] call to String +# 2293| Type = [VoidType] void +# 2293| ValueCategory = prvalue +# 2293| getArgument(0): [OverloadedPointerDereferenceExpr] call to operator* +# 2293| Type = [LValueReferenceType] String & +# 2293| ValueCategory = prvalue +# 2293| getQualifier(): [VariableAccess] (__begin) +# 2293| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2293| ValueCategory = lvalue +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +# 2293| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 2293| Type = [LValueReferenceType] const String & +# 2293| ValueCategory = prvalue +# 2293| getExpr(): [CStyleCast] (const String)... +# 2293| Conversion = [GlvalueConversion] glvalue conversion +# 2293| Type = [SpecifiedType] const String +# 2293| ValueCategory = lvalue +# 2293| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 2293| Type = [Struct] String +# 2293| ValueCategory = lvalue +# 2293| getStmt(): [BlockStmt] { ... } +# 2294| getStmt(0): [DeclStmt] declaration +# 2294| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s2 +# 2294| Type = [Struct] String +# 2294| getVariable().getInitializer(): [Initializer] initializer for s2 +# 2294| getExpr(): [ConstructorCall] call to String +# 2294| Type = [VoidType] void +# 2294| ValueCategory = prvalue +# 2295| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2295| Type = [VoidType] void +# 2295| ValueCategory = prvalue +# 2295| getQualifier(): [VariableAccess] s2 +# 2295| Type = [Struct] String +# 2295| ValueCategory = lvalue +# 2293| getImplicitDestructorCall(1): [DestructorCall] call to ~String +# 2293| Type = [VoidType] void +# 2293| ValueCategory = prvalue +# 2293| getQualifier(): [VariableAccess] s +# 2293| Type = [Struct] String +# 2293| ValueCategory = lvalue +# 2293| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2293| Type = [ClassTemplateInstantiation,Struct] iterator +# 2293| ValueCategory = lvalue +# 2297| getStmt(3): [ForStmt] for(...;...;...) ... +# 2297| getInitialization(): [DeclStmt] declaration +# 2297| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s +# 2297| Type = [Struct] String +# 2297| getVariable().getInitializer(): [Initializer] initializer for s +# 2297| getExpr(): [ConstructorCall] call to String +# 2297| Type = [VoidType] void +# 2297| ValueCategory = prvalue +# 2297| getArgument(0): hello +# 2297| Type = [ArrayType] const char[6] +# 2297| Value = [StringLiteral] "hello" +# 2297| ValueCategory = lvalue +# 2297| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 2297| Type = [PointerType] const char * +# 2297| ValueCategory = prvalue +# 2297| getDeclarationEntry(1): [VariableDeclarationEntry] definition of s2 +# 2297| Type = [Struct] String +# 2297| getVariable().getInitializer(): [Initializer] initializer for s2 +# 2297| getExpr(): [ConstructorCall] call to String +# 2297| Type = [VoidType] void +# 2297| ValueCategory = prvalue +# 2297| getArgument(0): world +# 2297| Type = [ArrayType] const char[6] +# 2297| Value = [StringLiteral] "world" +# 2297| ValueCategory = lvalue +# 2297| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 2297| Type = [PointerType] const char * +# 2297| ValueCategory = prvalue +# 2297| getCondition(): [NEExpr] ... != ... # 2297| Type = [BoolType] bool -# 2297| ValueCategory = prvalue(load) -# 2297| getThen(): [BlockStmt] { ... } -# 2298| getStmt(0): [ReturnStmt] return ... -# 2304| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2304| Type = [VoidType] void -# 2304| ValueCategory = prvalue -# 2304| getQualifier(): [VariableAccess] s -# 2304| Type = [Struct] String -# 2304| ValueCategory = lvalue -# 2300| getStmt(2): [IfStmt] if (...) ... -# 2300| getCondition(): [VariableAccess] b -# 2300| Type = [BoolType] bool -# 2300| ValueCategory = prvalue(load) -# 2300| getThen(): [BlockStmt] { ... } -# 2301| getStmt(0): [ReturnStmt] return ... -# 2301| getExpr(): [FunctionCall] call to VoidFunc -# 2301| Type = [VoidType] void -# 2301| ValueCategory = prvalue -# 2304| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2304| Type = [VoidType] void -# 2304| ValueCategory = prvalue -# 2304| getQualifier(): [VariableAccess] s -# 2304| Type = [Struct] String -# 2304| ValueCategory = lvalue -# 2303| getStmt(3): [ExprStmt] ExprStmt -# 2303| getExpr(): [VariableAccess] s -# 2303| Type = [Struct] String -# 2303| ValueCategory = lvalue -# 2304| getStmt(4): [ReturnStmt] return ... -# 2304| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2304| Type = [VoidType] void -# 2304| ValueCategory = prvalue -# 2304| getQualifier(): [VariableAccess] s -# 2304| Type = [Struct] String -# 2304| ValueCategory = lvalue -# 2306| [TopLevelFunction] int IfReturnDestructors3(bool) -# 2306| : -# 2306| getParameter(0): [Parameter] b -# 2306| Type = [BoolType] bool -# 2306| getEntryPoint(): [BlockStmt] { ... } -# 2307| getStmt(0): [DeclStmt] declaration -# 2307| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s -# 2307| Type = [Struct] String -# 2307| getVariable().getInitializer(): [Initializer] initializer for s -# 2307| getExpr(): [ConstructorCall] call to String -# 2307| Type = [VoidType] void -# 2307| ValueCategory = prvalue -# 2308| getStmt(1): [IfStmt] if (...) ... -# 2308| getCondition(): [VariableAccess] b -# 2308| Type = [BoolType] bool -# 2308| ValueCategory = prvalue(load) -# 2308| getThen(): [BlockStmt] { ... } -# 2309| getStmt(0): [ReturnStmt] return ... -# 2309| getExpr(): [Literal] 1 -# 2309| Type = [IntType] int -# 2309| Value = [Literal] 1 -# 2309| ValueCategory = prvalue -# 2312| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2312| Type = [VoidType] void -# 2312| ValueCategory = prvalue -# 2312| getQualifier(): [VariableAccess] s -# 2312| Type = [Struct] String -# 2312| ValueCategory = lvalue -# 2311| getStmt(2): [ReturnStmt] return ... -# 2311| getExpr(): [Literal] 0 -# 2311| Type = [IntType] int -# 2311| Value = [Literal] 0 -# 2311| ValueCategory = prvalue -# 2312| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2312| Type = [VoidType] void -# 2312| ValueCategory = prvalue -# 2312| getQualifier(): [VariableAccess] s -# 2312| Type = [Struct] String -# 2312| ValueCategory = lvalue -# 2314| [TopLevelFunction] void VoidReturnDestructors() +# 2297| ValueCategory = prvalue +# 2297| getLeftOperand(): [VariableAccess] c +# 2297| Type = [PlainCharType] char +# 2297| ValueCategory = prvalue(load) +# 2297| getRightOperand(): [Literal] 0 +# 2297| Type = [IntType] int +# 2297| Value = [Literal] 0 +# 2297| ValueCategory = prvalue +# 2297| getLeftOperand().getFullyConverted(): [CStyleCast] (int)... +# 2297| Conversion = [IntegralConversion] integral conversion +# 2297| Type = [IntType] int +# 2297| ValueCategory = prvalue +# 2297| getUpdate(): [AssignExpr] ... = ... +# 2297| Type = [PlainCharType] char +# 2297| ValueCategory = lvalue +# 2297| getLValue(): [VariableAccess] c +# 2297| Type = [PlainCharType] char +# 2297| ValueCategory = lvalue +# 2297| getRValue(): [FunctionCall] call to pop_back +# 2297| Type = [PlainCharType] char +# 2297| ValueCategory = prvalue +# 2297| getQualifier(): [VariableAccess] s +# 2297| Type = [Struct] String +# 2297| ValueCategory = lvalue +# 2297| getStmt(): [BlockStmt] { ... } +# 2298| getStmt(0): [ExprStmt] ExprStmt +# 2298| getExpr(): [AssignExpr] ... = ... +# 2298| Type = [PlainCharType] char +# 2298| ValueCategory = lvalue +# 2298| getLValue(): [VariableAccess] c +# 2298| Type = [PlainCharType] char +# 2298| ValueCategory = lvalue +# 2298| getRValue(): [Literal] 0 +# 2298| Type = [IntType] int +# 2298| Value = [Literal] 0 +# 2298| ValueCategory = prvalue +# 2298| getRValue().getFullyConverted(): [CStyleCast] (char)... +# 2298| Conversion = [IntegralConversion] integral conversion +# 2298| Type = [PlainCharType] char +# 2298| Value = [CStyleCast] 0 +# 2298| ValueCategory = prvalue +# 2297| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2297| Type = [VoidType] void +# 2297| ValueCategory = prvalue +# 2297| getQualifier(): [VariableAccess] s2 +# 2297| Type = [Struct] String +# 2297| ValueCategory = lvalue +# 2297| getImplicitDestructorCall(1): [DestructorCall] call to ~String +# 2297| Type = [VoidType] void +# 2297| ValueCategory = prvalue +# 2297| getQualifier(): [VariableAccess] s +# 2297| Type = [Struct] String +# 2297| ValueCategory = lvalue +# 2300| getStmt(4): [ReturnStmt] return ... +# 2302| [TopLevelFunction] void IfDestructors2(bool) +# 2302| : +# 2302| getParameter(0): [Parameter] b +# 2302| Type = [BoolType] bool +# 2302| getEntryPoint(): [BlockStmt] { ... } +# 2303| getStmt(0): [IfStmt] if (...) ... +# 2303| getInitialization(): [DeclStmt] declaration +# 2303| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s +# 2303| Type = [Struct] String +# 2303| getVariable().getInitializer(): [Initializer] initializer for s +# 2303| getExpr(): [ConstructorCall] call to String +# 2303| Type = [VoidType] void +# 2303| ValueCategory = prvalue +# 2303| getArgument(0): hello +# 2303| Type = [ArrayType] const char[6] +# 2303| Value = [StringLiteral] "hello" +# 2303| ValueCategory = lvalue +# 2303| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 2303| Type = [PointerType] const char * +# 2303| ValueCategory = prvalue +# 2303| getCondition(): [VariableAccess] b +# 2303| Type = [BoolType] bool +# 2303| ValueCategory = prvalue(load) +# 2303| getThen(): [BlockStmt] { ... } +# 2304| getStmt(0): [DeclStmt] declaration +# 2304| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2304| Type = [IntType] int +# 2304| getVariable().getInitializer(): [Initializer] initializer for x +# 2304| getExpr(): [Literal] 0 +# 2304| Type = [IntType] int +# 2304| Value = [Literal] 0 +# 2304| ValueCategory = prvalue +# 2305| getElse(): [BlockStmt] { ... } +# 2306| getStmt(0): [DeclStmt] declaration +# 2306| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 2306| Type = [IntType] int +# 2306| getVariable().getInitializer(): [Initializer] initializer for y +# 2306| getExpr(): [Literal] 0 +# 2306| Type = [IntType] int +# 2306| Value = [Literal] 0 +# 2306| ValueCategory = prvalue +# 2307| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2307| Type = [VoidType] void +# 2307| ValueCategory = prvalue +# 2307| getQualifier(): [VariableAccess] s +# 2307| Type = [Struct] String +# 2307| ValueCategory = lvalue +# 2308| getStmt(1): [ReturnStmt] return ... +# 2310| [CopyAssignmentOperator] Bool& Bool::operator=(Bool const&) +# 2310| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const Bool & +# 2310| [CopyConstructor] void Bool::Bool(Bool const&) +# 2310| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const Bool & +# 2312| [Constructor] void Bool::Bool(bool) +# 2312| : +# 2312| getParameter(0): [Parameter] b_ +# 2312| Type = [BoolType] bool +# 2313| [ConversionOperator] bool Bool::operator bool() +# 2313| : +# 2314| [Destructor] void Bool::~Bool() # 2314| : -# 2314| getEntryPoint(): [BlockStmt] { ... } -# 2315| getStmt(0): [DeclStmt] declaration -# 2315| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s -# 2315| Type = [Struct] String -# 2315| getVariable().getInitializer(): [Initializer] initializer for s -# 2315| getExpr(): [ConstructorCall] call to String -# 2315| Type = [VoidType] void -# 2315| ValueCategory = prvalue -# 2316| getStmt(1): [ReturnStmt] return ... -# 2316| getExpr(): [FunctionCall] call to VoidFunc -# 2316| Type = [VoidType] void -# 2316| ValueCategory = prvalue -# 2317| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2317| Type = [VoidType] void -# 2317| ValueCategory = prvalue -# 2317| getQualifier(): [VariableAccess] s -# 2317| Type = [Struct] String -# 2317| ValueCategory = lvalue -# 2320| [CopyAssignmentOperator] return_routine_type::HasVoidToIntFunc& return_routine_type::HasVoidToIntFunc::operator=(return_routine_type::HasVoidToIntFunc const&) -# 2320| : +# 2317| [TopLevelFunction] void IfDestructors3(bool) +# 2317| : +# 2317| getParameter(0): [Parameter] b +# 2317| Type = [BoolType] bool +# 2317| getEntryPoint(): [BlockStmt] { ... } +# 2318| getStmt(0): [IfStmt] if (...) ... +# 2318| getCondition(): [ConditionDeclExpr] (condition decl) +# 2318| Type = [BoolType] bool +# 2318| ValueCategory = prvalue +# 2318| getChild(0): [FunctionCall] call to operator bool +# 2318| Type = [BoolType] bool +# 2318| ValueCategory = prvalue +# 2318| getQualifier(): [VariableAccess] B +# 2318| Type = [Class] Bool +# 2318| ValueCategory = prvalue(load) +# 2318| getInitializingExpr(): [ConstructorCall] call to Bool +# 2318| Type = [VoidType] void +# 2318| ValueCategory = prvalue +# 2318| getArgument(0): [VariableAccess] b +# 2318| Type = [BoolType] bool +# 2318| ValueCategory = prvalue(load) +# 2318| getThen(): [BlockStmt] { ... } +# 2319| getStmt(0): [DeclStmt] declaration +# 2319| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s1 +# 2319| Type = [Struct] String +# 2319| getVariable().getInitializer(): [Initializer] initializer for s1 +# 2319| getExpr(): [ConstructorCall] call to String +# 2319| Type = [VoidType] void +# 2319| ValueCategory = prvalue +# 2320| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2320| Type = [VoidType] void +# 2320| ValueCategory = prvalue +# 2320| getQualifier(): [VariableAccess] s1 +# 2320| Type = [Struct] String +# 2320| ValueCategory = lvalue +# 2320| getElse(): [BlockStmt] { ... } +# 2321| getStmt(0): [DeclStmt] declaration +# 2321| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s2 +# 2321| Type = [Struct] String +# 2321| getVariable().getInitializer(): [Initializer] initializer for s2 +# 2321| getExpr(): [ConstructorCall] call to String +# 2321| Type = [VoidType] void +# 2321| ValueCategory = prvalue +# 2322| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2322| Type = [VoidType] void +# 2322| ValueCategory = prvalue +# 2322| getQualifier(): [VariableAccess] s2 +# 2322| Type = [Struct] String +# 2322| ValueCategory = lvalue +# 2322| getImplicitDestructorCall(0): [DestructorCall] call to ~Bool +# 2322| Type = [VoidType] void +# 2322| ValueCategory = prvalue +# 2322| getQualifier(): [VariableAccess] B +# 2322| Type = [Class] Bool +# 2322| ValueCategory = lvalue +# 2323| getStmt(1): [ReturnStmt] return ... +# 2325| [TopLevelFunction] void WhileLoopDestructors(bool) +# 2325| : +# 2325| getParameter(0): [Parameter] b +# 2325| Type = [BoolType] bool +# 2325| getEntryPoint(): [BlockStmt] { ... } +# 2326| getStmt(0): [BlockStmt] { ... } +# 2327| getStmt(0): [DeclStmt] declaration +# 2327| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s +# 2327| Type = [Struct] String +# 2327| getVariable().getInitializer(): [Initializer] initializer for s +# 2327| getExpr(): [ConstructorCall] call to String +# 2327| Type = [VoidType] void +# 2327| ValueCategory = prvalue +# 2328| getStmt(1): [WhileStmt] while (...) ... +# 2328| getCondition(): [VariableAccess] b +# 2328| Type = [BoolType] bool +# 2328| ValueCategory = prvalue(load) +# 2328| getStmt(): [BlockStmt] { ... } +# 2329| getStmt(0): [ExprStmt] ExprStmt +# 2329| getExpr(): [AssignExpr] ... = ... +# 2329| Type = [BoolType] bool +# 2329| ValueCategory = lvalue +# 2329| getLValue(): [VariableAccess] b +# 2329| Type = [BoolType] bool +# 2329| ValueCategory = lvalue +# 2329| getRValue(): [Literal] 0 +# 2329| Type = [BoolType] bool +# 2329| Value = [Literal] 0 +# 2329| ValueCategory = prvalue +# 2331| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2331| Type = [VoidType] void +# 2331| ValueCategory = prvalue +# 2331| getQualifier(): [VariableAccess] s +# 2331| Type = [Struct] String +# 2331| ValueCategory = lvalue +# 2333| getStmt(1): [BlockStmt] { ... } +# 2334| getStmt(0): [WhileStmt] while (...) ... +# 2334| getCondition(): [ConditionDeclExpr] (condition decl) +# 2334| Type = [BoolType] bool +# 2334| ValueCategory = prvalue +# 2334| getChild(0): [FunctionCall] call to operator bool +# 2334| Type = [BoolType] bool +# 2334| ValueCategory = prvalue +# 2334| getQualifier(): [VariableAccess] B +# 2334| Type = [Class] Bool +# 2334| ValueCategory = prvalue(load) +# 2334| getInitializingExpr(): [ConstructorCall] call to Bool +# 2334| Type = [VoidType] void +# 2334| ValueCategory = prvalue +# 2334| getArgument(0): [VariableAccess] b +# 2334| Type = [BoolType] bool +# 2334| ValueCategory = prvalue(load) +# 2334| getStmt(): [BlockStmt] { ... } +# 2335| getStmt(0): [ExprStmt] ExprStmt +# 2335| getExpr(): [AssignExpr] ... = ... +# 2335| Type = [BoolType] bool +# 2335| ValueCategory = lvalue +# 2335| getLValue(): [VariableAccess] b +# 2335| Type = [BoolType] bool +# 2335| ValueCategory = lvalue +# 2335| getRValue(): [Literal] 0 +# 2335| Type = [BoolType] bool +# 2335| Value = [Literal] 0 +# 2335| ValueCategory = prvalue +# 2336| getImplicitDestructorCall(0): [DestructorCall] call to ~Bool +# 2336| Type = [VoidType] void +# 2336| ValueCategory = prvalue +# 2336| getQualifier(): [VariableAccess] B +# 2336| Type = [Class] Bool +# 2336| ValueCategory = lvalue +# 2336| getImplicitDestructorCall(0): [DestructorCall] call to ~Bool +# 2336| Type = [VoidType] void +# 2336| ValueCategory = prvalue +# 2336| getQualifier(): [VariableAccess] B +# 2336| Type = [Class] Bool +# 2336| ValueCategory = lvalue +# 2338| getStmt(2): [ReturnStmt] return ... +# 2340| [TopLevelFunction] void VoidFunc() +# 2340| : +# 2340| getEntryPoint(): [BlockStmt] { ... } +# 2340| getStmt(0): [ReturnStmt] return ... +# 2342| [TopLevelFunction] void IfReturnDestructors(bool) +# 2342| : +# 2342| getParameter(0): [Parameter] b +# 2342| Type = [BoolType] bool +# 2342| getEntryPoint(): [BlockStmt] { ... } +# 2343| getStmt(0): [DeclStmt] declaration +# 2343| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s +# 2343| Type = [Struct] String +# 2343| getVariable().getInitializer(): [Initializer] initializer for s +# 2343| getExpr(): [ConstructorCall] call to String +# 2343| Type = [VoidType] void +# 2343| ValueCategory = prvalue +# 2344| getStmt(1): [IfStmt] if (...) ... +# 2344| getCondition(): [VariableAccess] b +# 2344| Type = [BoolType] bool +# 2344| ValueCategory = prvalue(load) +# 2344| getThen(): [BlockStmt] { ... } +# 2345| getStmt(0): [ReturnStmt] return ... +# 2351| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2351| Type = [VoidType] void +# 2351| ValueCategory = prvalue +# 2351| getQualifier(): [VariableAccess] s +# 2351| Type = [Struct] String +# 2351| ValueCategory = lvalue +# 2347| getStmt(2): [IfStmt] if (...) ... +# 2347| getCondition(): [VariableAccess] b +# 2347| Type = [BoolType] bool +# 2347| ValueCategory = prvalue(load) +# 2347| getThen(): [BlockStmt] { ... } +# 2348| getStmt(0): [ReturnStmt] return ... +# 2348| getExpr(): [FunctionCall] call to VoidFunc +# 2348| Type = [VoidType] void +# 2348| ValueCategory = prvalue +# 2351| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2351| Type = [VoidType] void +# 2351| ValueCategory = prvalue +# 2351| getQualifier(): [VariableAccess] s +# 2351| Type = [Struct] String +# 2351| ValueCategory = lvalue +# 2350| getStmt(3): [ExprStmt] ExprStmt +# 2350| getExpr(): [VariableAccess] s +# 2350| Type = [Struct] String +# 2350| ValueCategory = lvalue +# 2351| getStmt(4): [ReturnStmt] return ... +# 2351| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2351| Type = [VoidType] void +# 2351| ValueCategory = prvalue +# 2351| getQualifier(): [VariableAccess] s +# 2351| Type = [Struct] String +# 2351| ValueCategory = lvalue +# 2353| [TopLevelFunction] int IfReturnDestructors3(bool) +# 2353| : +# 2353| getParameter(0): [Parameter] b +# 2353| Type = [BoolType] bool +# 2353| getEntryPoint(): [BlockStmt] { ... } +# 2354| getStmt(0): [DeclStmt] declaration +# 2354| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s +# 2354| Type = [Struct] String +# 2354| getVariable().getInitializer(): [Initializer] initializer for s +# 2354| getExpr(): [ConstructorCall] call to String +# 2354| Type = [VoidType] void +# 2354| ValueCategory = prvalue +# 2355| getStmt(1): [IfStmt] if (...) ... +# 2355| getCondition(): [VariableAccess] b +# 2355| Type = [BoolType] bool +# 2355| ValueCategory = prvalue(load) +# 2355| getThen(): [BlockStmt] { ... } +# 2356| getStmt(0): [ReturnStmt] return ... +# 2356| getExpr(): [Literal] 1 +# 2356| Type = [IntType] int +# 2356| Value = [Literal] 1 +# 2356| ValueCategory = prvalue +# 2359| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2359| Type = [VoidType] void +# 2359| ValueCategory = prvalue +# 2359| getQualifier(): [VariableAccess] s +# 2359| Type = [Struct] String +# 2359| ValueCategory = lvalue +# 2358| getStmt(2): [ReturnStmt] return ... +# 2358| getExpr(): [Literal] 0 +# 2358| Type = [IntType] int +# 2358| Value = [Literal] 0 +# 2358| ValueCategory = prvalue +# 2359| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2359| Type = [VoidType] void +# 2359| ValueCategory = prvalue +# 2359| getQualifier(): [VariableAccess] s +# 2359| Type = [Struct] String +# 2359| ValueCategory = lvalue +# 2361| [TopLevelFunction] void VoidReturnDestructors() +# 2361| : +# 2361| getEntryPoint(): [BlockStmt] { ... } +# 2362| getStmt(0): [DeclStmt] declaration +# 2362| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s +# 2362| Type = [Struct] String +# 2362| getVariable().getInitializer(): [Initializer] initializer for s +# 2362| getExpr(): [ConstructorCall] call to String +# 2362| Type = [VoidType] void +# 2362| ValueCategory = prvalue +# 2363| getStmt(1): [ReturnStmt] return ... +# 2363| getExpr(): [FunctionCall] call to VoidFunc +# 2363| Type = [VoidType] void +# 2363| ValueCategory = prvalue +# 2364| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2364| Type = [VoidType] void +# 2364| ValueCategory = prvalue +# 2364| getQualifier(): [VariableAccess] s +# 2364| Type = [Struct] String +# 2364| ValueCategory = lvalue +# 2367| [CopyAssignmentOperator] return_routine_type::HasVoidToIntFunc& return_routine_type::HasVoidToIntFunc::operator=(return_routine_type::HasVoidToIntFunc const&) +# 2367| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const HasVoidToIntFunc & -# 2320| [MoveAssignmentOperator] return_routine_type::HasVoidToIntFunc& return_routine_type::HasVoidToIntFunc::operator=(return_routine_type::HasVoidToIntFunc&&) -# 2320| : +# 2367| [MoveAssignmentOperator] return_routine_type::HasVoidToIntFunc& return_routine_type::HasVoidToIntFunc::operator=(return_routine_type::HasVoidToIntFunc&&) +# 2367| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] HasVoidToIntFunc && -# 2322| [MemberFunction] void return_routine_type::HasVoidToIntFunc::VoidToInt(int) -# 2322| : -# 2322| getParameter(0): [Parameter] (unnamed parameter 0) -# 2322| Type = [IntType] int -# 2327| [TopLevelFunction] return_routine_type::VoidToIntMemberFunc return_routine_type::GetVoidToIntFunc() -# 2327| : -# 2328| getEntryPoint(): [BlockStmt] { ... } -# 2329| getStmt(0): [ReturnStmt] return ... -# 2329| getExpr(): [FunctionAccess] VoidToInt -# 2329| Type = [RoutineType] ..()(..) -# 2329| ValueCategory = prvalue +# 2369| [MemberFunction] void return_routine_type::HasVoidToIntFunc::VoidToInt(int) +# 2369| : +# 2369| getParameter(0): [Parameter] (unnamed parameter 0) +# 2369| Type = [IntType] int +# 2374| [TopLevelFunction] return_routine_type::VoidToIntMemberFunc return_routine_type::GetVoidToIntFunc() +# 2374| : +# 2375| getEntryPoint(): [BlockStmt] { ... } +# 2376| getStmt(0): [ReturnStmt] return ... +# 2376| getExpr(): [FunctionAccess] VoidToInt +# 2376| Type = [RoutineType] ..()(..) +# 2376| ValueCategory = prvalue +# 2381| [TopLevelFunction] int small_operation_should_not_be_constant_folded() +# 2381| : +# 2381| getEntryPoint(): [BlockStmt] { ... } +# 2382| getStmt(0): [ReturnStmt] return ... +# 2382| getExpr(): [BitwiseXorExpr] ... ^ ... +# 2382| Type = [IntType] int +# 2382| Value = [BitwiseXorExpr] 3 +# 2382| ValueCategory = prvalue +# 2382| getLeftOperand(): [Literal] 1 +# 2382| Type = [IntType] int +# 2382| Value = [Literal] 1 +# 2382| ValueCategory = prvalue +# 2382| getRightOperand(): [Literal] 2 +# 2382| Type = [IntType] int +# 2382| Value = [Literal] 2 +# 2382| ValueCategory = prvalue +# 2392| [TopLevelFunction] int large_operation_should_be_constant_folded() +# 2392| : +# 2392| getEntryPoint(): [BlockStmt] { ... } +# 2393| getStmt(0): [ReturnStmt] return ... +# 2393| getExpr(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2393| Type = [IntType] int +# 2393| Value = [BitwiseXorExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand(): [Literal] 1 +# 2393| Type = [IntType] int +# 2393| Value = [Literal] 1 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2393| getExpr().getFullyConverted(): [ParenthesisExpr] (...) +# 2393| Type = [IntType] int +# 2393| Value = [ParenthesisExpr] 0 +# 2393| ValueCategory = prvalue +# 2396| [TopLevelFunction] void initialization_with_temp_destructor() +# 2396| : +# 2396| getEntryPoint(): [BlockStmt] { ... } +# 2397| getStmt(0): [IfStmt] if (...) ... +# 2397| getCondition(): [ConditionDeclExpr] (condition decl) +# 2397| Type = [BoolType] bool +# 2397| ValueCategory = prvalue +# 2397| getVariableAccess(): [VariableAccess] x +# 2397| Type = [PlainCharType] char +# 2397| ValueCategory = prvalue(load) +# 2397| getInitializingExpr(): [FunctionCall] call to get_x +# 2397| Type = [PlainCharType] char +# 2397| ValueCategory = prvalue +# 2397| getQualifier(): [ConstructorCall] call to ClassWithDestructor +# 2397| Type = [VoidType] void +# 2397| ValueCategory = prvalue +# 2397| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2397| Type = [VoidType] void +# 2397| ValueCategory = prvalue +# 2397| getQualifier(): [ReuseExpr] reuse of temporary object +# 2397| Type = [Class] ClassWithDestructor +# 2397| ValueCategory = xvalue +# 2397| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2397| Type = [Class] ClassWithDestructor +# 2397| ValueCategory = prvalue(load) +# 2397| getVariableAccess().getFullyConverted(): [CStyleCast] (bool)... +# 2397| Conversion = [BoolConversion] conversion to bool +# 2397| Type = [BoolType] bool +# 2397| ValueCategory = prvalue +# 2398| getThen(): [ExprStmt] ExprStmt +# 2398| getExpr(): [PostfixIncrExpr] ... ++ +# 2398| Type = [PlainCharType] char +# 2398| ValueCategory = prvalue +# 2398| getOperand(): [VariableAccess] x +# 2398| Type = [PlainCharType] char +# 2398| ValueCategory = lvalue +# 2400| getStmt(1): [IfStmt] if (...) ... +# 2400| getInitialization(): [DeclStmt] declaration +# 2400| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2400| Type = [PlainCharType] char +# 2400| getVariable().getInitializer(): [Initializer] initializer for x +# 2400| getExpr(): [FunctionCall] call to get_x +# 2400| Type = [PlainCharType] char +# 2400| ValueCategory = prvalue +# 2400| getQualifier(): [ConstructorCall] call to ClassWithDestructor +# 2400| Type = [VoidType] void +# 2400| ValueCategory = prvalue +# 2400| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2400| Type = [VoidType] void +# 2400| ValueCategory = prvalue +# 2400| getQualifier(): [ReuseExpr] reuse of temporary object +# 2400| Type = [Class] ClassWithDestructor +# 2400| ValueCategory = xvalue +# 2400| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2400| Type = [Class] ClassWithDestructor +# 2400| ValueCategory = prvalue(load) +# 2400| getCondition(): [VariableAccess] x +# 2400| Type = [PlainCharType] char +# 2400| ValueCategory = prvalue(load) +# 2401| getThen(): [ExprStmt] ExprStmt +# 2401| getExpr(): [PostfixIncrExpr] ... ++ +# 2401| Type = [PlainCharType] char +# 2401| ValueCategory = prvalue +# 2401| getOperand(): [VariableAccess] x +# 2401| Type = [PlainCharType] char +# 2401| ValueCategory = lvalue +# 2400| getCondition().getFullyConverted(): [CStyleCast] (bool)... +# 2400| Conversion = [BoolConversion] conversion to bool +# 2400| Type = [BoolType] bool +# 2400| ValueCategory = prvalue +# 2403| getStmt(2): [ConstexprIfStmt] if constexpr (...) ... +# 2403| getInitialization(): [DeclStmt] declaration +# 2403| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2403| Type = [PlainCharType] char +# 2403| getVariable().getInitializer(): [Initializer] initializer for x +# 2403| getExpr(): [FunctionCall] call to get_x +# 2403| Type = [PlainCharType] char +# 2403| ValueCategory = prvalue +# 2403| getQualifier(): [ConstructorCall] call to ClassWithDestructor +# 2403| Type = [VoidType] void +# 2403| ValueCategory = prvalue +# 2403| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2403| Type = [VoidType] void +# 2403| ValueCategory = prvalue +# 2403| getQualifier(): [ReuseExpr] reuse of temporary object +# 2403| Type = [Class] ClassWithDestructor +# 2403| ValueCategory = xvalue +# 2403| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2403| Type = [Class] ClassWithDestructor +# 2403| ValueCategory = prvalue(load) +# 2403| getCondition(): [VariableAccess] initialization_with_destructor_bool +# 2403| Type = [BoolType] bool +# 2403| Value = [VariableAccess] 1 +# 2403| ValueCategory = prvalue(load) +# 2404| getThen(): [ExprStmt] ExprStmt +# 2404| getExpr(): [PostfixIncrExpr] ... ++ +# 2404| Type = [PlainCharType] char +# 2404| ValueCategory = prvalue +# 2404| getOperand(): [VariableAccess] x +# 2404| Type = [PlainCharType] char +# 2404| ValueCategory = lvalue +# 2406| getStmt(3): [SwitchStmt] switch (...) ... +# 2406| getExpr(): [ConditionDeclExpr] (condition decl) +# 2406| Type = [IntType] int +# 2406| ValueCategory = prvalue +# 2406| getVariableAccess(): [VariableAccess] x +# 2406| Type = [PlainCharType] char +# 2406| ValueCategory = prvalue(load) +# 2406| getInitializingExpr(): [FunctionCall] call to get_x +# 2406| Type = [PlainCharType] char +# 2406| ValueCategory = prvalue +# 2406| getQualifier(): [ConstructorCall] call to ClassWithDestructor +# 2406| Type = [VoidType] void +# 2406| ValueCategory = prvalue +# 2406| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2406| Type = [VoidType] void +# 2406| ValueCategory = prvalue +# 2406| getQualifier(): [ReuseExpr] reuse of temporary object +# 2406| Type = [Class] ClassWithDestructor +# 2406| ValueCategory = xvalue +# 2406| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2406| Type = [Class] ClassWithDestructor +# 2406| ValueCategory = prvalue(load) +# 2406| getVariableAccess().getFullyConverted(): [CStyleCast] (int)... +# 2406| Conversion = [IntegralConversion] integral conversion +# 2406| Type = [IntType] int +# 2406| ValueCategory = prvalue +# 2406| getStmt(): [BlockStmt] { ... } +# 2407| getStmt(0): [SwitchCase] case ...: +# 2407| getExpr(): [CharLiteral] 97 +# 2407| Type = [PlainCharType] char +# 2407| Value = [CharLiteral] 97 +# 2407| ValueCategory = prvalue +# 2407| getExpr().getFullyConverted(): [CStyleCast] (int)... +# 2407| Conversion = [IntegralConversion] integral conversion +# 2407| Type = [IntType] int +# 2407| Value = [CStyleCast] 97 +# 2407| ValueCategory = prvalue +# 2408| getStmt(1): [ExprStmt] ExprStmt +# 2408| getExpr(): [PostfixIncrExpr] ... ++ +# 2408| Type = [PlainCharType] char +# 2408| ValueCategory = prvalue +# 2408| getOperand(): [VariableAccess] x +# 2408| Type = [PlainCharType] char +# 2408| ValueCategory = lvalue +# 2411| getStmt(4): [SwitchStmt] switch (...) ... +# 2411| getInitialization(): [DeclStmt] declaration +# 2411| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2411| Type = [PlainCharType] char +# 2411| getVariable().getInitializer(): [Initializer] initializer for x +# 2411| getExpr(): [FunctionCall] call to get_x +# 2411| Type = [PlainCharType] char +# 2411| ValueCategory = prvalue +# 2411| getQualifier(): [ConstructorCall] call to ClassWithDestructor +# 2411| Type = [VoidType] void +# 2411| ValueCategory = prvalue +# 2411| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2411| Type = [VoidType] void +# 2411| ValueCategory = prvalue +# 2411| getQualifier(): [ReuseExpr] reuse of temporary object +# 2411| Type = [Class] ClassWithDestructor +# 2411| ValueCategory = xvalue +# 2411| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2411| Type = [Class] ClassWithDestructor +# 2411| ValueCategory = prvalue(load) +# 2411| getExpr(): [VariableAccess] x +# 2411| Type = [PlainCharType] char +# 2411| ValueCategory = prvalue(load) +# 2411| getStmt(): [BlockStmt] { ... } +# 2412| getStmt(0): [SwitchCase] case ...: +# 2412| getExpr(): [CharLiteral] 97 +# 2412| Type = [PlainCharType] char +# 2412| Value = [CharLiteral] 97 +# 2412| ValueCategory = prvalue +# 2412| getExpr().getFullyConverted(): [CStyleCast] (int)... +# 2412| Conversion = [IntegralConversion] integral conversion +# 2412| Type = [IntType] int +# 2412| Value = [CStyleCast] 97 +# 2412| ValueCategory = prvalue +# 2413| getStmt(1): [ExprStmt] ExprStmt +# 2413| getExpr(): [PostfixIncrExpr] ... ++ +# 2413| Type = [PlainCharType] char +# 2413| ValueCategory = prvalue +# 2413| getOperand(): [VariableAccess] x +# 2413| Type = [PlainCharType] char +# 2413| ValueCategory = lvalue +# 2411| getExpr().getFullyConverted(): [CStyleCast] (int)... +# 2411| Conversion = [IntegralConversion] integral conversion +# 2411| Type = [IntType] int +# 2411| ValueCategory = prvalue +# 2416| getStmt(5): [RangeBasedForStmt] for(...:...) ... +# 2416| getInitialization(): [DeclStmt] declaration +# 2416| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2416| Type = [PlainCharType] char +# 2416| getVariable().getInitializer(): [Initializer] initializer for x +# 2416| getExpr(): [FunctionCall] call to get_x +# 2416| Type = [PlainCharType] char +# 2416| ValueCategory = prvalue +# 2416| getQualifier(): [ConstructorCall] call to ClassWithDestructor +# 2416| Type = [VoidType] void +# 2416| ValueCategory = prvalue +# 2416| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2416| Type = [VoidType] void +# 2416| ValueCategory = prvalue +# 2416| getQualifier(): [ReuseExpr] reuse of temporary object +# 2416| Type = [Class] ClassWithDestructor +# 2416| ValueCategory = xvalue +# 2416| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2416| Type = [Class] ClassWithDestructor +# 2416| ValueCategory = prvalue(load) +# 2416| getChild(1): [DeclStmt] declaration +# 2416| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__range) +# 2416| Type = [RValueReferenceType] vector && +#-----| getVariable().getInitializer(): [Initializer] initializer for (__range) +# 2416| getExpr(): [ConstructorCall] call to vector +# 2416| Type = [VoidType] void +# 2416| ValueCategory = prvalue +# 2416| getArgument(0): [VariableAccess] x +# 2416| Type = [PlainCharType] char +# 2416| ValueCategory = prvalue(load) +# 2416| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 2416| Type = [LValueReferenceType] vector & +# 2416| ValueCategory = prvalue +# 2416| getExpr(): [TemporaryObjectExpr] temporary object +# 2416| Type = [ClassTemplateInstantiation,Struct] vector +# 2416| ValueCategory = xvalue +# 2416| getBeginEndDeclaration(): [DeclStmt] declaration +# 2416| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__begin) +# 2416| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +#-----| getVariable().getInitializer(): [Initializer] initializer for (__begin) +# 2416| getExpr(): [FunctionCall] call to begin +# 2416| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2416| ValueCategory = prvalue +# 2416| getQualifier(): [VariableAccess] (__range) +# 2416| Type = [RValueReferenceType] vector && +# 2416| ValueCategory = prvalue(load) +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const vector +#-----| ValueCategory = lvalue +#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +#-----| Type = [ClassTemplateInstantiation,Struct] vector +#-----| ValueCategory = lvalue +# 2416| getDeclarationEntry(1): [VariableDeclarationEntry] declaration of (__end) +# 2416| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +#-----| getVariable().getInitializer(): [Initializer] initializer for (__end) +# 2416| getExpr(): [FunctionCall] call to end +# 2416| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2416| ValueCategory = prvalue +# 2416| getQualifier(): [VariableAccess] (__range) +# 2416| Type = [RValueReferenceType] vector && +# 2416| ValueCategory = prvalue(load) +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const vector +#-----| ValueCategory = lvalue +#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +#-----| Type = [ClassTemplateInstantiation,Struct] vector +#-----| ValueCategory = lvalue +# 2416| getCondition(): [FunctionCall] call to operator!= +# 2416| Type = [BoolType] bool +# 2416| ValueCategory = prvalue +# 2416| getQualifier(): [VariableAccess] (__begin) +# 2416| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2416| ValueCategory = lvalue +# 2416| getArgument(0): [ConstructorCall] call to iterator +# 2416| Type = [VoidType] void +# 2416| ValueCategory = prvalue +# 2416| getArgument(0): [VariableAccess] (__end) +# 2416| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2416| ValueCategory = lvalue +#-----| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +#-----| Type = [LValueReferenceType] const iterator & +#-----| ValueCategory = prvalue +#-----| getExpr(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +#-----| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object +#-----| Type = [ClassTemplateInstantiation,Struct] iterator +#-----| ValueCategory = lvalue +# 2416| getUpdate(): [FunctionCall] call to operator++ +# 2416| Type = [LValueReferenceType] iterator & +# 2416| ValueCategory = prvalue +# 2416| getQualifier(): [VariableAccess] (__begin) +# 2416| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2416| ValueCategory = lvalue +# 2416| getChild(5): [DeclStmt] declaration +# 2416| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 2416| Type = [PlainCharType] char +# 2416| getVariable().getInitializer(): [Initializer] initializer for y +# 2416| getExpr(): [OverloadedPointerDereferenceExpr] call to operator* +# 2416| Type = [LValueReferenceType] char & +# 2416| ValueCategory = prvalue +# 2416| getQualifier(): [VariableAccess] (__begin) +# 2416| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2416| ValueCategory = lvalue +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +# 2416| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2416| Type = [PlainCharType] char +# 2416| ValueCategory = prvalue(load) +# 2417| getStmt(): [ExprStmt] ExprStmt +# 2417| getExpr(): [AssignAddExpr] ... += ... +# 2417| Type = [PlainCharType] char +# 2417| ValueCategory = lvalue +# 2417| getLValue(): [VariableAccess] y +# 2417| Type = [PlainCharType] char +# 2417| ValueCategory = lvalue +# 2417| getRValue(): [VariableAccess] x +# 2417| Type = [PlainCharType] char +# 2417| ValueCategory = prvalue(load) +# 2417| getRValue().getFullyConverted(): [CStyleCast] (int)... +# 2417| Conversion = [IntegralConversion] integral conversion +# 2417| Type = [IntType] int +# 2417| ValueCategory = prvalue +# 2416| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2416| Type = [ClassTemplateInstantiation,Struct] iterator +# 2416| ValueCategory = lvalue +# 2418| getStmt(6): [ReturnStmt] return ... perf-regression.cpp: # 4| [CopyAssignmentOperator] Big& Big::operator=(Big const&) # 4| : @@ -18174,6 +20173,12 @@ smart_ptr.cpp: # 12| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) # 12| Type = [LValueReferenceType] unique_ptr> & # 12| ValueCategory = prvalue +# 12| getImplicitDestructorCall(0): [DestructorCall] call to ~unique_ptr +# 12| Type = [VoidType] void +# 12| ValueCategory = prvalue +# 12| getQualifier(): [ReuseExpr] reuse of temporary object +# 12| Type = [ClassTemplateInstantiation] unique_ptr> +# 12| ValueCategory = xvalue # 12| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object # 12| Type = [ClassTemplateInstantiation] unique_ptr> # 12| ValueCategory = lvalue @@ -18223,6 +20228,12 @@ smart_ptr.cpp: # 19| Conversion = [GlvalueConversion] glvalue conversion # 19| Type = [SpecifiedType] const shared_ptr # 19| ValueCategory = lvalue +# 19| getImplicitDestructorCall(0): [DestructorCall] call to ~shared_ptr +# 19| Type = [VoidType] void +# 19| ValueCategory = prvalue +# 19| getQualifier(): [ReuseExpr] reuse of temporary object +# 19| Type = [ClassTemplateInstantiation] shared_ptr +# 19| ValueCategory = xvalue # 19| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object # 19| Type = [ClassTemplateInstantiation] shared_ptr # 19| ValueCategory = lvalue @@ -18276,6 +20287,12 @@ smart_ptr.cpp: # 31| Conversion = [GlvalueConversion] glvalue conversion # 31| Type = [SpecifiedType] const shared_ptr # 31| ValueCategory = lvalue +# 31| getImplicitDestructorCall(0): [DestructorCall] call to ~shared_ptr +# 31| Type = [VoidType] void +# 31| ValueCategory = prvalue +# 31| getQualifier(): [ReuseExpr] reuse of temporary object +# 31| Type = [ClassTemplateInstantiation] shared_ptr +# 31| ValueCategory = xvalue # 31| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object # 31| Type = [ClassTemplateInstantiation] shared_ptr # 31| ValueCategory = lvalue @@ -18299,6 +20316,12 @@ smart_ptr.cpp: # 35| Conversion = [GlvalueConversion] glvalue conversion # 35| Type = [SpecifiedType] const shared_ptr # 35| ValueCategory = lvalue +# 35| getImplicitDestructorCall(0): [DestructorCall] call to ~shared_ptr +# 35| Type = [VoidType] void +# 35| ValueCategory = prvalue +# 35| getQualifier(): [ReuseExpr] reuse of temporary object +# 35| Type = [ClassTemplateInstantiation] shared_ptr +# 35| ValueCategory = xvalue # 35| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object # 35| Type = [ClassTemplateInstantiation] shared_ptr # 35| ValueCategory = lvalue @@ -18322,6 +20345,12 @@ smart_ptr.cpp: # 39| Conversion = [GlvalueConversion] glvalue conversion # 39| Type = [SpecifiedType] const shared_ptr> # 39| ValueCategory = lvalue +# 39| getImplicitDestructorCall(0): [DestructorCall] call to ~shared_ptr +# 39| Type = [VoidType] void +# 39| ValueCategory = prvalue +# 39| getQualifier(): [ReuseExpr] reuse of temporary object +# 39| Type = [ClassTemplateInstantiation] shared_ptr> +# 39| ValueCategory = xvalue # 39| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object # 39| Type = [ClassTemplateInstantiation] shared_ptr> # 39| ValueCategory = lvalue @@ -18345,6 +20374,12 @@ smart_ptr.cpp: # 43| Conversion = [GlvalueConversion] glvalue conversion # 43| Type = [SpecifiedType] const shared_ptr> # 43| ValueCategory = lvalue +# 43| getImplicitDestructorCall(0): [DestructorCall] call to ~shared_ptr +# 43| Type = [VoidType] void +# 43| ValueCategory = prvalue +# 43| getQualifier(): [ReuseExpr] reuse of temporary object +# 43| Type = [ClassTemplateInstantiation] shared_ptr> +# 43| ValueCategory = xvalue # 43| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object # 43| Type = [ClassTemplateInstantiation] shared_ptr> # 43| ValueCategory = lvalue @@ -18368,6 +20403,12 @@ smart_ptr.cpp: # 47| Conversion = [GlvalueConversion] glvalue conversion # 47| Type = [SpecifiedType] const shared_ptr> # 47| ValueCategory = lvalue +# 47| getImplicitDestructorCall(0): [DestructorCall] call to ~shared_ptr +# 47| Type = [VoidType] void +# 47| ValueCategory = prvalue +# 47| getQualifier(): [ReuseExpr] reuse of temporary object +# 47| Type = [ClassTemplateInstantiation] shared_ptr> +# 47| ValueCategory = xvalue # 47| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object # 47| Type = [ClassTemplateInstantiation] shared_ptr> # 47| ValueCategory = lvalue diff --git a/cpp/ql/test/library-tests/ir/ir/aliased_ir.expected b/cpp/ql/test/library-tests/ir/ir/aliased_ir.expected index 510a271b7ac..e80688b355a 100644 --- a/cpp/ql/test/library-tests/ir/ir/aliased_ir.expected +++ b/cpp/ql/test/library-tests/ir/ir/aliased_ir.expected @@ -738,6 +738,499 @@ complex.c: # 58| v58_6(void) = AliasedUse : m58_3 # 58| v58_7(void) = ExitFunction : +destructors_for_temps.cpp: +# 9| void ClassWithConstructor::ClassWithConstructor(ClassWithConstructor&&) +# 9| Block 0 +# 9| v9_1(void) = EnterFunction : +# 9| m9_2(unknown) = AliasedDefinition : +# 9| m9_3(unknown) = InitializeNonLocal : +# 9| m9_4(unknown) = Chi : total:m9_2, partial:m9_3 +# 9| r9_5(glval) = VariableAddress[#this] : +# 9| m9_6(glval) = InitializeParameter[#this] : &:r9_5 +# 9| r9_7(glval) = Load[#this] : &:r9_5, m9_6 +# 9| m9_8(ClassWithConstructor) = InitializeIndirection[#this] : &:r9_7 +#-----| r0_1(glval) = VariableAddress[(unnamed parameter 0)] : +#-----| m0_2(ClassWithConstructor &&) = InitializeParameter[(unnamed parameter 0)] : &:r0_1 +#-----| r0_3(ClassWithConstructor &&) = Load[(unnamed parameter 0)] : &:r0_1, m0_2 +#-----| m0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3 +# 9| v9_9(void) = NoOp : +# 9| v9_10(void) = ReturnIndirection[#this] : &:r9_7, m9_8 +#-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4 +# 9| v9_11(void) = ReturnVoid : +# 9| v9_12(void) = AliasedUse : m9_3 +# 9| v9_13(void) = ExitFunction : + +# 14| char temp_test() +# 14| Block 0 +# 14| v14_1(void) = EnterFunction : +# 14| m14_2(unknown) = AliasedDefinition : +# 14| m14_3(unknown) = InitializeNonLocal : +# 14| m14_4(unknown) = Chi : total:m14_2, partial:m14_3 +# 15| r15_1(glval) = VariableAddress[x] : +# 15| r15_2(glval) = VariableAddress[#temp15:14] : +# 15| m15_3(ClassWithDestructor2) = Uninitialized[#temp15:14] : &:r15_2 +# 15| r15_4(glval) = FunctionAddress[ClassWithDestructor2] : +# 15| v15_5(void) = Call[ClassWithDestructor2] : func:r15_4, this:r15_2 +# 15| m15_6(unknown) = ^CallSideEffect : ~m14_4 +# 15| m15_7(unknown) = Chi : total:m14_4, partial:m15_6 +# 15| m15_8(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r15_2 +# 15| m15_9(ClassWithDestructor2) = Chi : total:m15_3, partial:m15_8 +# 15| r15_10(glval) = FunctionAddress[get_x] : +# 15| r15_11(char) = Call[get_x] : func:r15_10, this:r15_2 +# 15| m15_12(unknown) = ^CallSideEffect : ~m15_7 +# 15| m15_13(unknown) = Chi : total:m15_7, partial:m15_12 +# 15| v15_14(void) = ^IndirectReadSideEffect[-1] : &:r15_2, m15_9 +# 15| m15_15(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r15_2 +# 15| m15_16(ClassWithDestructor2) = Chi : total:m15_9, partial:m15_15 +# 15| m15_17(char) = Store[x] : &:r15_1, r15_11 +# 16| r16_1(glval) = VariableAddress[y] : +# 16| m16_2(ClassWithConstructor) = Uninitialized[y] : &:r16_1 +# 16| r16_3(glval) = FunctionAddress[ClassWithConstructor] : +# 16| r16_4(char) = Constant[97] : +# 16| r16_5(glval) = VariableAddress[#temp16:33] : +# 16| m16_6(ClassWithDestructor2) = Uninitialized[#temp16:33] : &:r16_5 +# 16| r16_7(glval) = FunctionAddress[ClassWithDestructor2] : +# 16| v16_8(void) = Call[ClassWithDestructor2] : func:r16_7, this:r16_5 +# 16| m16_9(unknown) = ^CallSideEffect : ~m15_13 +# 16| m16_10(unknown) = Chi : total:m15_13, partial:m16_9 +# 16| m16_11(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r16_5 +# 16| m16_12(ClassWithDestructor2) = Chi : total:m16_6, partial:m16_11 +# 16| r16_13(glval) = FunctionAddress[get_x] : +# 16| r16_14(char) = Call[get_x] : func:r16_13, this:r16_5 +# 16| m16_15(unknown) = ^CallSideEffect : ~m16_10 +# 16| m16_16(unknown) = Chi : total:m16_10, partial:m16_15 +# 16| v16_17(void) = ^IndirectReadSideEffect[-1] : &:r16_5, m16_12 +# 16| m16_18(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r16_5 +# 16| m16_19(ClassWithDestructor2) = Chi : total:m16_12, partial:m16_18 +# 16| v16_20(void) = Call[ClassWithConstructor] : func:r16_3, this:r16_1, 0:r16_4, 1:r16_14 +# 16| m16_21(unknown) = ^CallSideEffect : ~m16_16 +# 16| m16_22(unknown) = Chi : total:m16_16, partial:m16_21 +# 16| m16_23(ClassWithConstructor) = ^IndirectMayWriteSideEffect[-1] : &:r16_1 +# 16| m16_24(ClassWithConstructor) = Chi : total:m16_2, partial:m16_23 +# 17| r17_1(glval) = VariableAddress[#return] : +# 17| r17_2(glval) = VariableAddress[#temp17:12] : +# 17| m17_3(ClassWithDestructor2) = Uninitialized[#temp17:12] : &:r17_2 +# 17| r17_4(glval) = FunctionAddress[ClassWithDestructor2] : +# 17| v17_5(void) = Call[ClassWithDestructor2] : func:r17_4, this:r17_2 +# 17| m17_6(unknown) = ^CallSideEffect : ~m16_22 +# 17| m17_7(unknown) = Chi : total:m16_22, partial:m17_6 +# 17| m17_8(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r17_2 +# 17| m17_9(ClassWithDestructor2) = Chi : total:m17_3, partial:m17_8 +# 17| r17_10(glval) = FunctionAddress[get_x] : +# 17| r17_11(char) = Call[get_x] : func:r17_10, this:r17_2 +# 17| m17_12(unknown) = ^CallSideEffect : ~m17_7 +# 17| m17_13(unknown) = Chi : total:m17_7, partial:m17_12 +# 17| v17_14(void) = ^IndirectReadSideEffect[-1] : &:r17_2, m17_9 +# 17| m17_15(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r17_2 +# 17| m17_16(ClassWithDestructor2) = Chi : total:m17_9, partial:m17_15 +# 17| m17_17(char) = Store[#return] : &:r17_1, r17_11 +# 14| r14_5(glval) = VariableAddress[#return] : +# 14| v14_6(void) = ReturnValue : &:r14_5, m17_17 +# 14| v14_7(void) = AliasedUse : ~m17_13 +# 14| v14_8(void) = ExitFunction : + +# 21| char temp_test2() +# 21| Block 0 +# 21| v21_1(void) = EnterFunction : +# 21| m21_2(unknown) = AliasedDefinition : +# 21| m21_3(unknown) = InitializeNonLocal : +# 21| m21_4(unknown) = Chi : total:m21_2, partial:m21_3 +# 22| r22_1(glval) = FunctionAddress[operator new] : +# 22| r22_2(unsigned long) = Constant[1] : +# 22| r22_3(void *) = Call[operator new] : func:r22_1, 0:r22_2 +# 22| m22_4(unknown) = ^CallSideEffect : ~m21_4 +# 22| m22_5(unknown) = Chi : total:m21_4, partial:m22_4 +# 22| m22_6(unknown) = ^InitializeDynamicAllocation : &:r22_3 +# 22| r22_7(ClassWithDestructor2 *) = Convert : r22_3 +# 22| r22_8(glval) = FunctionAddress[ClassWithDestructor2] : +# 22| v22_9(void) = Call[ClassWithDestructor2] : func:r22_8, this:r22_7 +# 22| m22_10(unknown) = ^CallSideEffect : ~m22_5 +# 22| m22_11(unknown) = Chi : total:m22_5, partial:m22_10 +# 22| m22_12(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r22_7 +# 22| m22_13(unknown) = Chi : total:m22_6, partial:m22_12 +# 23| r23_1(glval) = VariableAddress[#return] : +# 23| r23_2(glval) = VariableAddress[#temp23:12] : +# 23| m23_3(ClassWithDestructor2) = Uninitialized[#temp23:12] : &:r23_2 +# 23| r23_4(glval) = FunctionAddress[ClassWithDestructor2] : +# 23| v23_5(void) = Call[ClassWithDestructor2] : func:r23_4, this:r23_2 +# 23| m23_6(unknown) = ^CallSideEffect : ~m22_11 +# 23| m23_7(unknown) = Chi : total:m22_11, partial:m23_6 +# 23| m23_8(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r23_2 +# 23| m23_9(ClassWithDestructor2) = Chi : total:m23_3, partial:m23_8 +# 23| r23_10(glval) = FunctionAddress[get_x] : +# 23| r23_11(char) = Call[get_x] : func:r23_10, this:r23_2 +# 23| m23_12(unknown) = ^CallSideEffect : ~m23_7 +# 23| m23_13(unknown) = Chi : total:m23_7, partial:m23_12 +# 23| v23_14(void) = ^IndirectReadSideEffect[-1] : &:r23_2, m23_9 +# 23| m23_15(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r23_2 +# 23| m23_16(ClassWithDestructor2) = Chi : total:m23_9, partial:m23_15 +# 23| r23_17(int) = Convert : r23_11 +# 23| r23_18(glval) = VariableAddress[#temp23:45] : +# 23| m23_19(ClassWithDestructor2) = Uninitialized[#temp23:45] : &:r23_18 +# 23| r23_20(glval) = FunctionAddress[ClassWithDestructor2] : +# 23| v23_21(void) = Call[ClassWithDestructor2] : func:r23_20, this:r23_18 +# 23| m23_22(unknown) = ^CallSideEffect : ~m23_13 +# 23| m23_23(unknown) = Chi : total:m23_13, partial:m23_22 +# 23| m23_24(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r23_18 +# 23| m23_25(ClassWithDestructor2) = Chi : total:m23_19, partial:m23_24 +# 23| r23_26(glval) = FunctionAddress[get_x] : +# 23| r23_27(char) = Call[get_x] : func:r23_26, this:r23_18 +# 23| m23_28(unknown) = ^CallSideEffect : ~m23_23 +# 23| m23_29(unknown) = Chi : total:m23_23, partial:m23_28 +# 23| v23_30(void) = ^IndirectReadSideEffect[-1] : &:r23_18, m23_25 +# 23| m23_31(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r23_18 +# 23| m23_32(ClassWithDestructor2) = Chi : total:m23_25, partial:m23_31 +# 23| r23_33(int) = Convert : r23_27 +# 23| r23_34(int) = Add : r23_17, r23_33 +# 23| r23_35(char) = Convert : r23_34 +# 23| m23_36(char) = Store[#return] : &:r23_1, r23_35 +# 21| r21_5(glval) = VariableAddress[#return] : +# 21| v21_6(void) = ReturnValue : &:r21_5, m23_36 +# 21| v21_7(void) = AliasedUse : ~m23_29 +# 21| v21_8(void) = ExitFunction : + +# 29| void temp_test3() +# 29| Block 0 +# 29| v29_1(void) = EnterFunction : +# 29| m29_2(unknown) = AliasedDefinition : +# 29| m29_3(unknown) = InitializeNonLocal : +# 29| m29_4(unknown) = Chi : total:m29_2, partial:m29_3 +# 30| r30_1(glval) = VariableAddress[rs] : +# 30| r30_2(glval) = VariableAddress[#temp30:38] : +# 30| r30_3(glval) = FunctionAddress[returnValue] : +# 30| r30_4(ClassWithDestructor2) = Call[returnValue] : func:r30_3 +# 30| m30_5(unknown) = ^CallSideEffect : ~m29_4 +# 30| m30_6(unknown) = Chi : total:m29_4, partial:m30_5 +# 30| m30_7(ClassWithDestructor2) = Store[#temp30:38] : &:r30_2, r30_4 +# 30| r30_8(glval) = Convert : r30_2 +# 30| r30_9(ClassWithDestructor2 &) = CopyValue : r30_8 +# 30| m30_10(ClassWithDestructor2 &) = Store[rs] : &:r30_1, r30_9 +# 31| v31_1(void) = NoOp : +# 29| v29_5(void) = ReturnVoid : +# 29| v29_6(void) = AliasedUse : ~m30_6 +# 29| v29_7(void) = ExitFunction : + +# 33| void temp_test4() +# 33| Block 0 +# 33| v33_1(void) = EnterFunction : +# 33| m33_2(unknown) = AliasedDefinition : +# 33| m33_3(unknown) = InitializeNonLocal : +# 33| m33_4(unknown) = Chi : total:m33_2, partial:m33_3 +# 34| r34_1(glval) = VariableAddress[c] : +# 34| m34_2(ClassWithDestructor2) = Uninitialized[c] : &:r34_1 +# 34| r34_3(glval) = FunctionAddress[ClassWithDestructor2] : +# 34| v34_4(void) = Call[ClassWithDestructor2] : func:r34_3, this:r34_1 +# 34| m34_5(unknown) = ^CallSideEffect : ~m33_4 +# 34| m34_6(unknown) = Chi : total:m33_4, partial:m34_5 +# 34| m34_7(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r34_1 +# 34| m34_8(ClassWithDestructor2) = Chi : total:m34_2, partial:m34_7 +# 35| r35_1(glval) = VariableAddress[rs2] : +# 35| r35_2(glval) = VariableAddress[#temp35:39] : +# 35| r35_3(glval) = FunctionAddress[returnValue] : +# 35| r35_4(ClassWithDestructor2) = Call[returnValue] : func:r35_3 +# 35| m35_5(unknown) = ^CallSideEffect : ~m34_6 +# 35| m35_6(unknown) = Chi : total:m34_6, partial:m35_5 +# 35| m35_7(ClassWithDestructor2) = Store[#temp35:39] : &:r35_2, r35_4 +# 35| r35_8(glval) = Convert : r35_2 +# 35| r35_9(ClassWithDestructor2 &) = CopyValue : r35_8 +# 35| m35_10(ClassWithDestructor2 &) = Store[rs2] : &:r35_1, r35_9 +# 36| v36_1(void) = NoOp : +# 36| r36_2(glval) = VariableAddress[c] : +# 36| r36_3(glval) = FunctionAddress[~ClassWithDestructor2] : +# 36| v36_4(void) = Call[~ClassWithDestructor2] : func:r36_3, this:r36_2 +# 36| m36_5(unknown) = ^CallSideEffect : ~m35_6 +# 36| m36_6(unknown) = Chi : total:m35_6, partial:m36_5 +# 36| v36_7(void) = ^IndirectReadSideEffect[-1] : &:r36_2, m34_8 +# 36| m36_8(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r36_2 +# 36| m36_9(ClassWithDestructor2) = Chi : total:m34_8, partial:m36_8 +# 33| v33_5(void) = ReturnVoid : +# 33| v33_6(void) = AliasedUse : ~m36_6 +# 33| v33_7(void) = ExitFunction : + +# 38| void temp_test5(bool) +# 38| Block 0 +# 38| v38_1(void) = EnterFunction : +# 38| m38_2(unknown) = AliasedDefinition : +# 38| m38_3(unknown) = InitializeNonLocal : +# 38| m38_4(unknown) = Chi : total:m38_2, partial:m38_3 +# 38| r38_5(glval) = VariableAddress[b] : +# 38| m38_6(bool) = InitializeParameter[b] : &:r38_5 +# 39| r39_1(glval) = VariableAddress[#temp39:3] : +# 39| r39_2(glval) = VariableAddress[b] : +# 39| r39_3(bool) = Load[b] : &:r39_2, m38_6 +# 39| v39_4(void) = ConditionalBranch : r39_3 +#-----| False -> Block 3 +#-----| True -> Block 2 + +# 39| Block 1 +# 39| m39_5(unknown) = Phi : from 2:~m39_15, from 3:~m39_26 +# 39| m39_6(ClassWithDestructor2) = Phi : from 2:m39_20, from 3:m39_31 +# 39| r39_7(glval) = VariableAddress[#temp39:3] : +# 39| r39_8(ClassWithDestructor2) = Load[#temp39:3] : &:r39_7, m39_6 +# 39| m39_9(ClassWithDestructor2) = Store[#temp39:3] : &:r39_1, r39_8 +# 40| v40_1(void) = NoOp : +# 38| v38_7(void) = ReturnVoid : +# 38| v38_8(void) = AliasedUse : ~m39_5 +# 38| v38_9(void) = ExitFunction : + +# 39| Block 2 +# 39| r39_10(glval) = VariableAddress[#temp39:7] : +# 39| m39_11(ClassWithDestructor2) = Uninitialized[#temp39:7] : &:r39_10 +# 39| r39_12(glval) = FunctionAddress[ClassWithDestructor2] : +# 39| v39_13(void) = Call[ClassWithDestructor2] : func:r39_12, this:r39_10 +# 39| m39_14(unknown) = ^CallSideEffect : ~m38_4 +# 39| m39_15(unknown) = Chi : total:m38_4, partial:m39_14 +# 39| m39_16(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r39_10 +# 39| m39_17(ClassWithDestructor2) = Chi : total:m39_11, partial:m39_16 +# 39| r39_18(ClassWithDestructor2) = Load[#temp39:7] : &:r39_10, m39_17 +# 39| r39_19(glval) = VariableAddress[#temp39:3] : +# 39| m39_20(ClassWithDestructor2) = Store[#temp39:3] : &:r39_19, r39_18 +#-----| Goto -> Block 1 + +# 39| Block 3 +# 39| r39_21(glval) = VariableAddress[#temp39:32] : +# 39| m39_22(ClassWithDestructor2) = Uninitialized[#temp39:32] : &:r39_21 +# 39| r39_23(glval) = FunctionAddress[ClassWithDestructor2] : +# 39| v39_24(void) = Call[ClassWithDestructor2] : func:r39_23, this:r39_21 +# 39| m39_25(unknown) = ^CallSideEffect : ~m38_4 +# 39| m39_26(unknown) = Chi : total:m38_4, partial:m39_25 +# 39| m39_27(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r39_21 +# 39| m39_28(ClassWithDestructor2) = Chi : total:m39_22, partial:m39_27 +# 39| r39_29(ClassWithDestructor2) = Load[#temp39:32] : &:r39_21, m39_28 +# 39| r39_30(glval) = VariableAddress[#temp39:3] : +# 39| m39_31(ClassWithDestructor2) = Store[#temp39:3] : &:r39_30, r39_29 +#-----| Goto -> Block 1 + +# 42| void temp_test6(bool) +# 42| Block 0 +# 42| v42_1(void) = EnterFunction : +# 42| m42_2(unknown) = AliasedDefinition : +# 42| m42_3(unknown) = InitializeNonLocal : +# 42| m42_4(unknown) = Chi : total:m42_2, partial:m42_3 +# 42| r42_5(glval) = VariableAddress[b] : +# 42| m42_6(bool) = InitializeParameter[b] : &:r42_5 +# 43| r43_1(glval) = VariableAddress[c] : +# 43| m43_2(ClassWithDestructor2) = Uninitialized[c] : &:r43_1 +# 43| r43_3(glval) = FunctionAddress[ClassWithDestructor2] : +# 43| v43_4(void) = Call[ClassWithDestructor2] : func:r43_3, this:r43_1 +# 43| m43_5(unknown) = ^CallSideEffect : ~m42_4 +# 43| m43_6(unknown) = Chi : total:m42_4, partial:m43_5 +# 43| m43_7(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r43_1 +# 43| m43_8(ClassWithDestructor2) = Chi : total:m43_2, partial:m43_7 +# 44| r44_1(glval) = VariableAddress[b] : +# 44| r44_2(bool) = Load[b] : &:r44_1, m42_6 +# 44| v44_3(void) = ConditionalBranch : r44_2 +#-----| False -> Block 4 +#-----| True -> Block 3 + +# 42| Block 1 +# 42| m42_7(unknown) = Phi : from 2:~m45_22, from 4:~m47_6 +# 42| v42_8(void) = AliasedUse : ~m42_7 +# 42| v42_9(void) = ExitFunction : + +# 42| Block 2 +# 42| v42_10(void) = Unwind : +#-----| Goto -> Block 1 + +# 45| Block 3 +# 45| r45_1(glval) = VariableAddress[#throw45:7] : +# 45| m45_2(ClassWithConstructor) = Uninitialized[#throw45:7] : &:r45_1 +# 45| r45_3(glval) = FunctionAddress[ClassWithConstructor] : +# 45| r45_4(char) = Constant[120] : +# 45| r45_5(glval) = VariableAddress[#temp45:39] : +# 45| m45_6(ClassWithDestructor2) = Uninitialized[#temp45:39] : &:r45_5 +# 45| r45_7(glval) = FunctionAddress[ClassWithDestructor2] : +# 45| v45_8(void) = Call[ClassWithDestructor2] : func:r45_7, this:r45_5 +# 45| m45_9(unknown) = ^CallSideEffect : ~m43_6 +# 45| m45_10(unknown) = Chi : total:m43_6, partial:m45_9 +# 45| m45_11(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r45_5 +# 45| m45_12(ClassWithDestructor2) = Chi : total:m45_6, partial:m45_11 +# 45| r45_13(glval) = FunctionAddress[get_x] : +# 45| r45_14(char) = Call[get_x] : func:r45_13, this:r45_5 +# 45| m45_15(unknown) = ^CallSideEffect : ~m45_10 +# 45| m45_16(unknown) = Chi : total:m45_10, partial:m45_15 +# 45| v45_17(void) = ^IndirectReadSideEffect[-1] : &:r45_5, m45_12 +# 45| m45_18(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r45_5 +# 45| m45_19(ClassWithDestructor2) = Chi : total:m45_12, partial:m45_18 +# 45| v45_20(void) = Call[ClassWithConstructor] : func:r45_3, this:r45_1, 0:r45_4, 1:r45_14 +# 45| m45_21(unknown) = ^CallSideEffect : ~m45_16 +# 45| m45_22(unknown) = Chi : total:m45_16, partial:m45_21 +# 45| m45_23(ClassWithConstructor) = ^IndirectMayWriteSideEffect[-1] : &:r45_1 +# 45| m45_24(ClassWithConstructor) = Chi : total:m45_2, partial:m45_23 +# 45| v45_25(void) = ThrowValue : &:r45_1, m45_24 +#-----| Exception -> Block 2 + +# 47| Block 4 +# 47| v47_1(void) = NoOp : +# 47| r47_2(glval) = VariableAddress[c] : +# 47| r47_3(glval) = FunctionAddress[~ClassWithDestructor2] : +# 47| v47_4(void) = Call[~ClassWithDestructor2] : func:r47_3, this:r47_2 +# 47| m47_5(unknown) = ^CallSideEffect : ~m43_6 +# 47| m47_6(unknown) = Chi : total:m43_6, partial:m47_5 +# 47| v47_7(void) = ^IndirectReadSideEffect[-1] : &:r47_2, m43_8 +# 47| m47_8(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r47_2 +# 47| m47_9(ClassWithDestructor2) = Chi : total:m43_8, partial:m47_8 +# 42| v42_11(void) = ReturnVoid : +#-----| Goto -> Block 1 + +# 49| void temp_test7(bool) +# 49| Block 0 +# 49| v49_1(void) = EnterFunction : +# 49| m49_2(unknown) = AliasedDefinition : +# 49| m49_3(unknown) = InitializeNonLocal : +# 49| m49_4(unknown) = Chi : total:m49_2, partial:m49_3 +# 49| r49_5(glval) = VariableAddress[b] : +# 49| m49_6(bool) = InitializeParameter[b] : &:r49_5 +# 50| r50_1(glval) = VariableAddress[c] : +# 50| m50_2(ClassWithDestructor2) = Uninitialized[c] : &:r50_1 +# 50| r50_3(glval) = FunctionAddress[ClassWithDestructor2] : +# 50| v50_4(void) = Call[ClassWithDestructor2] : func:r50_3, this:r50_1 +# 50| m50_5(unknown) = ^CallSideEffect : ~m49_4 +# 50| m50_6(unknown) = Chi : total:m49_4, partial:m50_5 +# 50| m50_7(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r50_1 +# 50| m50_8(ClassWithDestructor2) = Chi : total:m50_2, partial:m50_7 +# 51| r51_1(glval) = VariableAddress[#temp51:5] : +# 51| r51_2(glval) = VariableAddress[b] : +# 51| r51_3(bool) = Load[b] : &:r51_2, m49_6 +# 51| v51_4(void) = ConditionalBranch : r51_3 +#-----| False -> Block 4 +#-----| True -> Block 3 + +# 49| Block 1 +# 49| m49_7(unknown) = Phi : from 2:~m51_26, from 4:~m52_6 +# 49| v49_8(void) = AliasedUse : ~m49_7 +# 49| v49_9(void) = ExitFunction : + +# 49| Block 2 +# 49| v49_10(void) = Unwind : +#-----| Goto -> Block 1 + +# 51| Block 3 +# 51| r51_5(glval) = VariableAddress[#throw51:9] : +# 51| m51_6(ClassWithConstructor) = Uninitialized[#throw51:9] : &:r51_5 +# 51| r51_7(glval) = FunctionAddress[ClassWithConstructor] : +# 51| r51_8(char) = Constant[120] : +# 51| r51_9(glval) = VariableAddress[#temp51:41] : +# 51| m51_10(ClassWithDestructor2) = Uninitialized[#temp51:41] : &:r51_9 +# 51| r51_11(glval) = FunctionAddress[ClassWithDestructor2] : +# 51| v51_12(void) = Call[ClassWithDestructor2] : func:r51_11, this:r51_9 +# 51| m51_13(unknown) = ^CallSideEffect : ~m50_6 +# 51| m51_14(unknown) = Chi : total:m50_6, partial:m51_13 +# 51| m51_15(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r51_9 +# 51| m51_16(ClassWithDestructor2) = Chi : total:m51_10, partial:m51_15 +# 51| r51_17(glval) = FunctionAddress[get_x] : +# 51| r51_18(char) = Call[get_x] : func:r51_17, this:r51_9 +# 51| m51_19(unknown) = ^CallSideEffect : ~m51_14 +# 51| m51_20(unknown) = Chi : total:m51_14, partial:m51_19 +# 51| v51_21(void) = ^IndirectReadSideEffect[-1] : &:r51_9, m51_16 +# 51| m51_22(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r51_9 +# 51| m51_23(ClassWithDestructor2) = Chi : total:m51_16, partial:m51_22 +# 51| v51_24(void) = Call[ClassWithConstructor] : func:r51_7, this:r51_5, 0:r51_8, 1:r51_18 +# 51| m51_25(unknown) = ^CallSideEffect : ~m51_20 +# 51| m51_26(unknown) = Chi : total:m51_20, partial:m51_25 +# 51| m51_27(ClassWithConstructor) = ^IndirectMayWriteSideEffect[-1] : &:r51_5 +# 51| m51_28(ClassWithConstructor) = Chi : total:m51_6, partial:m51_27 +# 51| v51_29(void) = ThrowValue : &:r51_5, m51_28 +#-----| Exception -> Block 2 + +# 51| Block 4 +# 51| r51_30(glval) = VariableAddress[#temp51:75] : +# 51| m51_31(ClassWithDestructor2) = Uninitialized[#temp51:75] : &:r51_30 +# 51| r51_32(glval) = FunctionAddress[ClassWithDestructor2] : +# 51| v51_33(void) = Call[ClassWithDestructor2] : func:r51_32, this:r51_30 +# 51| m51_34(unknown) = ^CallSideEffect : ~m50_6 +# 51| m51_35(unknown) = Chi : total:m50_6, partial:m51_34 +# 51| m51_36(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r51_30 +# 51| m51_37(ClassWithDestructor2) = Chi : total:m51_31, partial:m51_36 +# 51| r51_38(ClassWithDestructor2) = Load[#temp51:75] : &:r51_30, m51_37 +# 51| r51_39(glval) = VariableAddress[#temp51:5] : +# 51| m51_40(ClassWithDestructor2) = Store[#temp51:5] : &:r51_39, r51_38 +# 51| r51_41(glval) = VariableAddress[#temp51:5] : +# 51| r51_42(ClassWithDestructor2) = Load[#temp51:5] : &:r51_41, m51_40 +# 51| m51_43(ClassWithDestructor2) = Store[#temp51:5] : &:r51_1, r51_42 +# 52| v52_1(void) = NoOp : +# 52| r52_2(glval) = VariableAddress[c] : +# 52| r52_3(glval) = FunctionAddress[~ClassWithDestructor2] : +# 52| v52_4(void) = Call[~ClassWithDestructor2] : func:r52_3, this:r52_2 +# 52| m52_5(unknown) = ^CallSideEffect : ~m51_35 +# 52| m52_6(unknown) = Chi : total:m51_35, partial:m52_5 +# 52| v52_7(void) = ^IndirectReadSideEffect[-1] : &:r52_2, m50_8 +# 52| m52_8(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r52_2 +# 52| m52_9(ClassWithDestructor2) = Chi : total:m50_8, partial:m52_8 +# 49| v49_11(void) = ReturnVoid : +#-----| Goto -> Block 1 + +# 54| void temp_test8(bool) +# 54| Block 0 +# 54| v54_1(void) = EnterFunction : +# 54| m54_2(unknown) = AliasedDefinition : +# 54| m54_3(unknown) = InitializeNonLocal : +# 54| m54_4(unknown) = Chi : total:m54_2, partial:m54_3 +# 54| r54_5(glval) = VariableAddress[b] : +# 54| m54_6(bool) = InitializeParameter[b] : &:r54_5 +# 55| r55_1(glval) = VariableAddress[#temp55:5] : +# 55| r55_2(glval) = VariableAddress[b] : +# 55| r55_3(bool) = Load[b] : &:r55_2, m54_6 +# 55| v55_4(void) = ConditionalBranch : r55_3 +#-----| False -> Block 4 +#-----| True -> Block 3 + +# 54| Block 1 +# 54| m54_7(unknown) = Phi : from 2:~m55_26, from 4:~m55_35 +# 54| v54_8(void) = AliasedUse : ~m54_7 +# 54| v54_9(void) = ExitFunction : + +# 54| Block 2 +# 54| v54_10(void) = Unwind : +#-----| Goto -> Block 1 + +# 55| Block 3 +# 55| r55_5(glval) = VariableAddress[#throw55:9] : +# 55| m55_6(ClassWithConstructor) = Uninitialized[#throw55:9] : &:r55_5 +# 55| r55_7(glval) = FunctionAddress[ClassWithConstructor] : +# 55| r55_8(char) = Constant[120] : +# 55| r55_9(glval) = VariableAddress[#temp55:41] : +# 55| m55_10(ClassWithDestructor2) = Uninitialized[#temp55:41] : &:r55_9 +# 55| r55_11(glval) = FunctionAddress[ClassWithDestructor2] : +# 55| v55_12(void) = Call[ClassWithDestructor2] : func:r55_11, this:r55_9 +# 55| m55_13(unknown) = ^CallSideEffect : ~m54_4 +# 55| m55_14(unknown) = Chi : total:m54_4, partial:m55_13 +# 55| m55_15(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r55_9 +# 55| m55_16(ClassWithDestructor2) = Chi : total:m55_10, partial:m55_15 +# 55| r55_17(glval) = FunctionAddress[get_x] : +# 55| r55_18(char) = Call[get_x] : func:r55_17, this:r55_9 +# 55| m55_19(unknown) = ^CallSideEffect : ~m55_14 +# 55| m55_20(unknown) = Chi : total:m55_14, partial:m55_19 +# 55| v55_21(void) = ^IndirectReadSideEffect[-1] : &:r55_9, m55_16 +# 55| m55_22(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r55_9 +# 55| m55_23(ClassWithDestructor2) = Chi : total:m55_16, partial:m55_22 +# 55| v55_24(void) = Call[ClassWithConstructor] : func:r55_7, this:r55_5, 0:r55_8, 1:r55_18 +# 55| m55_25(unknown) = ^CallSideEffect : ~m55_20 +# 55| m55_26(unknown) = Chi : total:m55_20, partial:m55_25 +# 55| m55_27(ClassWithConstructor) = ^IndirectMayWriteSideEffect[-1] : &:r55_5 +# 55| m55_28(ClassWithConstructor) = Chi : total:m55_6, partial:m55_27 +# 55| v55_29(void) = ThrowValue : &:r55_5, m55_28 +#-----| Exception -> Block 2 + +# 55| Block 4 +# 55| r55_30(glval) = VariableAddress[#temp55:75] : +# 55| m55_31(ClassWithDestructor2) = Uninitialized[#temp55:75] : &:r55_30 +# 55| r55_32(glval) = FunctionAddress[ClassWithDestructor2] : +# 55| v55_33(void) = Call[ClassWithDestructor2] : func:r55_32, this:r55_30 +# 55| m55_34(unknown) = ^CallSideEffect : ~m54_4 +# 55| m55_35(unknown) = Chi : total:m54_4, partial:m55_34 +# 55| m55_36(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r55_30 +# 55| m55_37(ClassWithDestructor2) = Chi : total:m55_31, partial:m55_36 +# 55| r55_38(ClassWithDestructor2) = Load[#temp55:75] : &:r55_30, m55_37 +# 55| r55_39(glval) = VariableAddress[#temp55:5] : +# 55| m55_40(ClassWithDestructor2) = Store[#temp55:5] : &:r55_39, r55_38 +# 55| r55_41(glval) = VariableAddress[#temp55:5] : +# 55| r55_42(ClassWithDestructor2) = Load[#temp55:5] : &:r55_41, m55_40 +# 55| m55_43(ClassWithDestructor2) = Store[#temp55:5] : &:r55_1, r55_42 +# 56| v56_1(void) = NoOp : +# 54| v54_11(void) = ReturnVoid : +#-----| Goto -> Block 1 + ir.c: # 7| void MyCoordsTest(int) # 7| Block 0 @@ -6775,4035 +7268,4049 @@ ir.cpp: # 1054| v1054_43(void) = AliasedUse : ~m1054_20 # 1054| v1054_44(void) = ExitFunction : -# 1079| void RangeBasedFor(vector const&) -# 1079| Block 0 -# 1079| v1079_1(void) = EnterFunction : -# 1079| m1079_2(unknown) = AliasedDefinition : -# 1079| m1079_3(unknown) = InitializeNonLocal : -# 1079| m1079_4(unknown) = Chi : total:m1079_2, partial:m1079_3 -# 1079| r1079_5(glval &>) = VariableAddress[v] : -# 1079| m1079_6(vector &) = InitializeParameter[v] : &:r1079_5 -# 1079| r1079_7(vector &) = Load[v] : &:r1079_5, m1079_6 -# 1079| m1079_8(unknown) = InitializeIndirection[v] : &:r1079_7 -# 1080| r1080_1(glval &>) = VariableAddress[(__range)] : -# 1080| r1080_2(glval &>) = VariableAddress[v] : -# 1080| r1080_3(vector &) = Load[v] : &:r1080_2, m1079_6 -# 1080| r1080_4(glval>) = CopyValue : r1080_3 -# 1080| r1080_5(vector &) = CopyValue : r1080_4 -# 1080| m1080_6(vector &) = Store[(__range)] : &:r1080_1, r1080_5 -# 1080| r1080_7(glval) = VariableAddress[(__begin)] : -# 1080| r1080_8(glval &>) = VariableAddress[(__range)] : -# 1080| r1080_9(vector &) = Load[(__range)] : &:r1080_8, m1080_6 -#-----| r0_1(glval>) = CopyValue : r1080_9 -# 1080| r1080_10(glval) = FunctionAddress[begin] : -# 1080| r1080_11(iterator) = Call[begin] : func:r1080_10, this:r0_1 -# 1080| m1080_12(unknown) = ^CallSideEffect : ~m1079_4 -# 1080| m1080_13(unknown) = Chi : total:m1079_4, partial:m1080_12 -#-----| v0_2(void) = ^IndirectReadSideEffect[-1] : &:r0_1, ~m1079_8 -# 1080| m1080_14(iterator) = Store[(__begin)] : &:r1080_7, r1080_11 -# 1080| r1080_15(glval) = VariableAddress[(__end)] : -# 1080| r1080_16(glval &>) = VariableAddress[(__range)] : -# 1080| r1080_17(vector &) = Load[(__range)] : &:r1080_16, m1080_6 -#-----| r0_3(glval>) = CopyValue : r1080_17 -# 1080| r1080_18(glval) = FunctionAddress[end] : -# 1080| r1080_19(iterator) = Call[end] : func:r1080_18, this:r0_3 -# 1080| m1080_20(unknown) = ^CallSideEffect : ~m1080_13 -# 1080| m1080_21(unknown) = Chi : total:m1080_13, partial:m1080_20 -#-----| v0_4(void) = ^IndirectReadSideEffect[-1] : &:r0_3, ~m1079_8 -# 1080| m1080_22(iterator) = Store[(__end)] : &:r1080_15, r1080_19 +# 1126| void RangeBasedFor(std::vector const&) +# 1126| Block 0 +# 1126| v1126_1(void) = EnterFunction : +# 1126| m1126_2(unknown) = AliasedDefinition : +# 1126| m1126_3(unknown) = InitializeNonLocal : +# 1126| m1126_4(unknown) = Chi : total:m1126_2, partial:m1126_3 +# 1126| r1126_5(glval &>) = VariableAddress[v] : +# 1126| m1126_6(vector &) = InitializeParameter[v] : &:r1126_5 +# 1126| r1126_7(vector &) = Load[v] : &:r1126_5, m1126_6 +# 1126| m1126_8(unknown) = InitializeIndirection[v] : &:r1126_7 +# 1127| r1127_1(glval &>) = VariableAddress[(__range)] : +# 1127| r1127_2(glval &>) = VariableAddress[v] : +# 1127| r1127_3(vector &) = Load[v] : &:r1127_2, m1126_6 +# 1127| r1127_4(glval>) = CopyValue : r1127_3 +# 1127| r1127_5(vector &) = CopyValue : r1127_4 +# 1127| m1127_6(vector &) = Store[(__range)] : &:r1127_1, r1127_5 +# 1127| r1127_7(glval>) = VariableAddress[(__begin)] : +# 1127| r1127_8(glval &>) = VariableAddress[(__range)] : +# 1127| r1127_9(vector &) = Load[(__range)] : &:r1127_8, m1127_6 +#-----| r0_1(glval>) = CopyValue : r1127_9 +# 1127| r1127_10(glval) = FunctionAddress[begin] : +# 1127| r1127_11(iterator) = Call[begin] : func:r1127_10, this:r0_1 +#-----| v0_2(void) = ^IndirectReadSideEffect[-1] : &:r0_1, ~m1126_8 +# 1127| m1127_12(iterator) = Store[(__begin)] : &:r1127_7, r1127_11 +# 1127| r1127_13(glval>) = VariableAddress[(__end)] : +# 1127| r1127_14(glval &>) = VariableAddress[(__range)] : +# 1127| r1127_15(vector &) = Load[(__range)] : &:r1127_14, m1127_6 +#-----| r0_3(glval>) = CopyValue : r1127_15 +# 1127| r1127_16(glval) = FunctionAddress[end] : +# 1127| r1127_17(iterator) = Call[end] : func:r1127_16, this:r0_3 +#-----| v0_4(void) = ^IndirectReadSideEffect[-1] : &:r0_3, ~m1126_8 +# 1127| m1127_18(iterator) = Store[(__end)] : &:r1127_13, r1127_17 #-----| Goto -> Block 1 -# 1080| Block 1 -# 1080| m1080_23(iterator) = Phi : from 0:m1080_14, from 4:m1080_49 -# 1080| m1080_24(unknown) = Phi : from 0:~m1080_21, from 4:~m1080_46 -# 1080| r1080_25(glval) = VariableAddress[(__begin)] : -#-----| r0_5(glval) = Convert : r1080_25 -# 1080| r1080_26(glval) = FunctionAddress[operator!=] : -# 1080| r1080_27(glval) = VariableAddress[(__end)] : -# 1080| r1080_28(iterator) = Load[(__end)] : &:r1080_27, m1080_22 -# 1080| r1080_29(bool) = Call[operator!=] : func:r1080_26, this:r0_5, 0:r1080_28 -# 1080| m1080_30(unknown) = ^CallSideEffect : ~m1080_24 -# 1080| m1080_31(unknown) = Chi : total:m1080_24, partial:m1080_30 -#-----| v0_6(void) = ^IndirectReadSideEffect[-1] : &:r0_5, m1080_23 -# 1080| v1080_32(void) = ConditionalBranch : r1080_29 +# 1127| Block 1 +# 1127| m1127_19(iterator) = Phi : from 0:m1127_12, from 4:m1127_50 +# 1127| m1127_20(unknown) = Phi : from 0:~m1126_4, from 4:~m1127_47 +# 1127| r1127_21(glval>) = VariableAddress[(__begin)] : +#-----| r0_5(glval>) = Convert : r1127_21 +# 1127| r1127_22(glval) = FunctionAddress[operator!=] : +#-----| r0_6(glval>) = VariableAddress[#temp0:0] : +#-----| m0_7(iterator) = Uninitialized[#temp0:0] : &:r0_6 +# 1127| r1127_23(glval) = FunctionAddress[iterator] : +# 1127| r1127_24(glval>) = VariableAddress[(__end)] : +#-----| r0_8(glval>) = Convert : r1127_24 +#-----| r0_9(iterator &) = CopyValue : r0_8 +# 1127| v1127_25(void) = Call[iterator] : func:r1127_23, this:r0_6, 0:r0_9 +# 1127| m1127_26(unknown) = ^CallSideEffect : ~m1127_20 +# 1127| m1127_27(unknown) = Chi : total:m1127_20, partial:m1127_26 +#-----| v0_10(void) = ^BufferReadSideEffect[0] : &:r0_9, ~m1127_18 +# 1127| m1127_28(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_6 +# 1127| m1127_29(iterator) = Chi : total:m0_7, partial:m1127_28 +#-----| r0_11(iterator) = Load[#temp0:0] : &:r0_6, m1127_29 +# 1127| r1127_30(bool) = Call[operator!=] : func:r1127_22, this:r0_5, 0:r0_11 +# 1127| m1127_31(unknown) = ^CallSideEffect : ~m1127_27 +# 1127| m1127_32(unknown) = Chi : total:m1127_27, partial:m1127_31 +#-----| v0_12(void) = ^IndirectReadSideEffect[-1] : &:r0_5, m1127_19 +# 1127| v1127_33(void) = ConditionalBranch : r1127_30 #-----| False -> Block 5 #-----| True -> Block 2 -# 1080| Block 2 -# 1080| r1080_33(glval) = VariableAddress[e] : -# 1080| r1080_34(glval) = VariableAddress[(__begin)] : -#-----| r0_7(glval) = Convert : r1080_34 -# 1080| r1080_35(glval) = FunctionAddress[operator*] : -# 1080| r1080_36(int &) = Call[operator*] : func:r1080_35, this:r0_7 -# 1080| m1080_37(unknown) = ^CallSideEffect : ~m1080_31 -# 1080| m1080_38(unknown) = Chi : total:m1080_31, partial:m1080_37 -#-----| v0_8(void) = ^IndirectReadSideEffect[-1] : &:r0_7, m1080_23 -# 1080| r1080_39(int) = Load[?] : &:r1080_36, ~m1080_38 -# 1080| m1080_40(int) = Store[e] : &:r1080_33, r1080_39 -# 1081| r1081_1(glval) = VariableAddress[e] : -# 1081| r1081_2(int) = Load[e] : &:r1081_1, m1080_40 -# 1081| r1081_3(int) = Constant[0] : -# 1081| r1081_4(bool) = CompareGT : r1081_2, r1081_3 -# 1081| v1081_5(void) = ConditionalBranch : r1081_4 +# 1127| Block 2 +# 1127| r1127_34(glval) = VariableAddress[e] : +# 1127| r1127_35(glval>) = VariableAddress[(__begin)] : +#-----| r0_13(glval>) = Convert : r1127_35 +# 1127| r1127_36(glval) = FunctionAddress[operator*] : +# 1127| r1127_37(int &) = Call[operator*] : func:r1127_36, this:r0_13 +# 1127| m1127_38(unknown) = ^CallSideEffect : ~m1127_32 +# 1127| m1127_39(unknown) = Chi : total:m1127_32, partial:m1127_38 +#-----| v0_14(void) = ^IndirectReadSideEffect[-1] : &:r0_13, m1127_19 +# 1127| r1127_40(int) = Load[?] : &:r1127_37, ~m1127_39 +# 1127| m1127_41(int) = Store[e] : &:r1127_34, r1127_40 +# 1128| r1128_1(glval) = VariableAddress[e] : +# 1128| r1128_2(int) = Load[e] : &:r1128_1, m1127_41 +# 1128| r1128_3(int) = Constant[0] : +# 1128| r1128_4(bool) = CompareGT : r1128_2, r1128_3 +# 1128| v1128_5(void) = ConditionalBranch : r1128_4 #-----| False -> Block 4 #-----| True -> Block 3 -# 1082| Block 3 -# 1082| v1082_1(void) = NoOp : +# 1129| Block 3 +# 1129| v1129_1(void) = NoOp : #-----| Goto -> Block 4 -# 1080| Block 4 -# 1080| v1080_41(void) = NoOp : -# 1080| r1080_42(glval) = VariableAddress[(__begin)] : -# 1080| r1080_43(glval) = FunctionAddress[operator++] : -# 1080| r1080_44(iterator &) = Call[operator++] : func:r1080_43, this:r1080_42 -# 1080| m1080_45(unknown) = ^CallSideEffect : ~m1080_38 -# 1080| m1080_46(unknown) = Chi : total:m1080_38, partial:m1080_45 -# 1080| v1080_47(void) = ^IndirectReadSideEffect[-1] : &:r1080_42, m1080_23 -# 1080| m1080_48(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r1080_42 -# 1080| m1080_49(iterator) = Chi : total:m1080_23, partial:m1080_48 -# 1080| r1080_50(glval) = CopyValue : r1080_44 +# 1127| Block 4 +# 1127| v1127_42(void) = NoOp : +# 1127| r1127_43(glval>) = VariableAddress[(__begin)] : +# 1127| r1127_44(glval) = FunctionAddress[operator++] : +# 1127| r1127_45(iterator &) = Call[operator++] : func:r1127_44, this:r1127_43 +# 1127| m1127_46(unknown) = ^CallSideEffect : ~m1127_39 +# 1127| m1127_47(unknown) = Chi : total:m1127_39, partial:m1127_46 +# 1127| v1127_48(void) = ^IndirectReadSideEffect[-1] : &:r1127_43, m1127_19 +# 1127| m1127_49(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r1127_43 +# 1127| m1127_50(iterator) = Chi : total:m1127_19, partial:m1127_49 +# 1127| r1127_51(glval>) = CopyValue : r1127_45 #-----| Goto (back edge) -> Block 1 -# 1086| Block 5 -# 1086| r1086_1(glval &>) = VariableAddress[(__range)] : -# 1086| r1086_2(glval &>) = VariableAddress[v] : -# 1086| r1086_3(vector &) = Load[v] : &:r1086_2, m1079_6 -# 1086| r1086_4(glval>) = CopyValue : r1086_3 -# 1086| r1086_5(vector &) = CopyValue : r1086_4 -# 1086| m1086_6(vector &) = Store[(__range)] : &:r1086_1, r1086_5 -# 1086| r1086_7(glval) = VariableAddress[(__begin)] : -# 1086| r1086_8(glval &>) = VariableAddress[(__range)] : -# 1086| r1086_9(vector &) = Load[(__range)] : &:r1086_8, m1086_6 -#-----| r0_9(glval>) = CopyValue : r1086_9 -# 1086| r1086_10(glval) = FunctionAddress[begin] : -# 1086| r1086_11(iterator) = Call[begin] : func:r1086_10, this:r0_9 -# 1086| m1086_12(unknown) = ^CallSideEffect : ~m1080_31 -# 1086| m1086_13(unknown) = Chi : total:m1080_31, partial:m1086_12 -#-----| v0_10(void) = ^IndirectReadSideEffect[-1] : &:r0_9, ~m1079_8 -# 1086| m1086_14(iterator) = Store[(__begin)] : &:r1086_7, r1086_11 -# 1086| r1086_15(glval) = VariableAddress[(__end)] : -# 1086| r1086_16(glval &>) = VariableAddress[(__range)] : -# 1086| r1086_17(vector &) = Load[(__range)] : &:r1086_16, m1086_6 -#-----| r0_11(glval>) = CopyValue : r1086_17 -# 1086| r1086_18(glval) = FunctionAddress[end] : -# 1086| r1086_19(iterator) = Call[end] : func:r1086_18, this:r0_11 -# 1086| m1086_20(unknown) = ^CallSideEffect : ~m1086_13 -# 1086| m1086_21(unknown) = Chi : total:m1086_13, partial:m1086_20 -#-----| v0_12(void) = ^IndirectReadSideEffect[-1] : &:r0_11, ~m1079_8 -# 1086| m1086_22(iterator) = Store[(__end)] : &:r1086_15, r1086_19 +# 1133| Block 5 +# 1133| r1133_1(glval &>) = VariableAddress[(__range)] : +# 1133| r1133_2(glval &>) = VariableAddress[v] : +# 1133| r1133_3(vector &) = Load[v] : &:r1133_2, m1126_6 +# 1133| r1133_4(glval>) = CopyValue : r1133_3 +# 1133| r1133_5(vector &) = CopyValue : r1133_4 +# 1133| m1133_6(vector &) = Store[(__range)] : &:r1133_1, r1133_5 +# 1133| r1133_7(glval>) = VariableAddress[(__begin)] : +# 1133| r1133_8(glval &>) = VariableAddress[(__range)] : +# 1133| r1133_9(vector &) = Load[(__range)] : &:r1133_8, m1133_6 +#-----| r0_15(glval>) = CopyValue : r1133_9 +# 1133| r1133_10(glval) = FunctionAddress[begin] : +# 1133| r1133_11(iterator) = Call[begin] : func:r1133_10, this:r0_15 +#-----| v0_16(void) = ^IndirectReadSideEffect[-1] : &:r0_15, ~m1126_8 +# 1133| m1133_12(iterator) = Store[(__begin)] : &:r1133_7, r1133_11 +# 1133| r1133_13(glval>) = VariableAddress[(__end)] : +# 1133| r1133_14(glval &>) = VariableAddress[(__range)] : +# 1133| r1133_15(vector &) = Load[(__range)] : &:r1133_14, m1133_6 +#-----| r0_17(glval>) = CopyValue : r1133_15 +# 1133| r1133_16(glval) = FunctionAddress[end] : +# 1133| r1133_17(iterator) = Call[end] : func:r1133_16, this:r0_17 +#-----| v0_18(void) = ^IndirectReadSideEffect[-1] : &:r0_17, ~m1126_8 +# 1133| m1133_18(iterator) = Store[(__end)] : &:r1133_13, r1133_17 #-----| Goto -> Block 6 -# 1086| Block 6 -# 1086| m1086_23(iterator) = Phi : from 5:m1086_14, from 7:m1086_40 -# 1086| m1086_24(unknown) = Phi : from 5:~m1086_21, from 7:~m1086_37 -# 1086| r1086_25(glval) = VariableAddress[(__begin)] : -#-----| r0_13(glval) = Convert : r1086_25 -# 1086| r1086_26(glval) = FunctionAddress[operator!=] : -# 1086| r1086_27(glval) = VariableAddress[(__end)] : -# 1086| r1086_28(iterator) = Load[(__end)] : &:r1086_27, m1086_22 -# 1086| r1086_29(bool) = Call[operator!=] : func:r1086_26, this:r0_13, 0:r1086_28 -# 1086| m1086_30(unknown) = ^CallSideEffect : ~m1086_24 -# 1086| m1086_31(unknown) = Chi : total:m1086_24, partial:m1086_30 -#-----| v0_14(void) = ^IndirectReadSideEffect[-1] : &:r0_13, m1086_23 -# 1086| v1086_32(void) = ConditionalBranch : r1086_29 +# 1133| Block 6 +# 1133| m1133_19(iterator) = Phi : from 5:m1133_12, from 7:m1133_41 +# 1133| m1133_20(unknown) = Phi : from 5:~m1127_32, from 7:~m1133_38 +# 1133| r1133_21(glval>) = VariableAddress[(__begin)] : +#-----| r0_19(glval>) = Convert : r1133_21 +# 1133| r1133_22(glval) = FunctionAddress[operator!=] : +#-----| r0_20(glval>) = VariableAddress[#temp0:0] : +#-----| m0_21(iterator) = Uninitialized[#temp0:0] : &:r0_20 +# 1133| r1133_23(glval) = FunctionAddress[iterator] : +# 1133| r1133_24(glval>) = VariableAddress[(__end)] : +#-----| r0_22(glval>) = Convert : r1133_24 +#-----| r0_23(iterator &) = CopyValue : r0_22 +# 1133| v1133_25(void) = Call[iterator] : func:r1133_23, this:r0_20, 0:r0_23 +# 1133| m1133_26(unknown) = ^CallSideEffect : ~m1133_20 +# 1133| m1133_27(unknown) = Chi : total:m1133_20, partial:m1133_26 +#-----| v0_24(void) = ^BufferReadSideEffect[0] : &:r0_23, ~m1133_18 +# 1133| m1133_28(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_20 +# 1133| m1133_29(iterator) = Chi : total:m0_21, partial:m1133_28 +#-----| r0_25(iterator) = Load[#temp0:0] : &:r0_20, m1133_29 +# 1133| r1133_30(bool) = Call[operator!=] : func:r1133_22, this:r0_19, 0:r0_25 +# 1133| m1133_31(unknown) = ^CallSideEffect : ~m1133_27 +# 1133| m1133_32(unknown) = Chi : total:m1133_27, partial:m1133_31 +#-----| v0_26(void) = ^IndirectReadSideEffect[-1] : &:r0_19, m1133_19 +# 1133| v1133_33(void) = ConditionalBranch : r1133_30 #-----| False -> Block 10 #-----| True -> Block 8 -# 1086| Block 7 -# 1086| r1086_33(glval) = VariableAddress[(__begin)] : -# 1086| r1086_34(glval) = FunctionAddress[operator++] : -# 1086| r1086_35(iterator &) = Call[operator++] : func:r1086_34, this:r1086_33 -# 1086| m1086_36(unknown) = ^CallSideEffect : ~m1086_47 -# 1086| m1086_37(unknown) = Chi : total:m1086_47, partial:m1086_36 -# 1086| v1086_38(void) = ^IndirectReadSideEffect[-1] : &:r1086_33, m1086_23 -# 1086| m1086_39(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r1086_33 -# 1086| m1086_40(iterator) = Chi : total:m1086_23, partial:m1086_39 -# 1086| r1086_41(glval) = CopyValue : r1086_35 +# 1133| Block 7 +# 1133| r1133_34(glval>) = VariableAddress[(__begin)] : +# 1133| r1133_35(glval) = FunctionAddress[operator++] : +# 1133| r1133_36(iterator &) = Call[operator++] : func:r1133_35, this:r1133_34 +# 1133| m1133_37(unknown) = ^CallSideEffect : ~m1133_48 +# 1133| m1133_38(unknown) = Chi : total:m1133_48, partial:m1133_37 +# 1133| v1133_39(void) = ^IndirectReadSideEffect[-1] : &:r1133_34, m1133_19 +# 1133| m1133_40(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r1133_34 +# 1133| m1133_41(iterator) = Chi : total:m1133_19, partial:m1133_40 +# 1133| r1133_42(glval>) = CopyValue : r1133_36 #-----| Goto (back edge) -> Block 6 -# 1086| Block 8 -# 1086| r1086_42(glval) = VariableAddress[e] : -# 1086| r1086_43(glval) = VariableAddress[(__begin)] : -#-----| r0_15(glval) = Convert : r1086_43 -# 1086| r1086_44(glval) = FunctionAddress[operator*] : -# 1086| r1086_45(int &) = Call[operator*] : func:r1086_44, this:r0_15 -# 1086| m1086_46(unknown) = ^CallSideEffect : ~m1086_31 -# 1086| m1086_47(unknown) = Chi : total:m1086_31, partial:m1086_46 -#-----| v0_16(void) = ^IndirectReadSideEffect[-1] : &:r0_15, m1086_23 -# 1086| r1086_48(glval) = CopyValue : r1086_45 -# 1086| r1086_49(glval) = Convert : r1086_48 -# 1086| r1086_50(int &) = CopyValue : r1086_49 -# 1086| m1086_51(int &) = Store[e] : &:r1086_42, r1086_50 -# 1087| r1087_1(glval) = VariableAddress[e] : -# 1087| r1087_2(int &) = Load[e] : &:r1087_1, m1086_51 -# 1087| r1087_3(int) = Load[?] : &:r1087_2, ~m1086_47 -# 1087| r1087_4(int) = Constant[5] : -# 1087| r1087_5(bool) = CompareLT : r1087_3, r1087_4 -# 1087| v1087_6(void) = ConditionalBranch : r1087_5 +# 1133| Block 8 +# 1133| r1133_43(glval) = VariableAddress[e] : +# 1133| r1133_44(glval>) = VariableAddress[(__begin)] : +#-----| r0_27(glval>) = Convert : r1133_44 +# 1133| r1133_45(glval) = FunctionAddress[operator*] : +# 1133| r1133_46(int &) = Call[operator*] : func:r1133_45, this:r0_27 +# 1133| m1133_47(unknown) = ^CallSideEffect : ~m1133_32 +# 1133| m1133_48(unknown) = Chi : total:m1133_32, partial:m1133_47 +#-----| v0_28(void) = ^IndirectReadSideEffect[-1] : &:r0_27, m1133_19 +# 1133| r1133_49(glval) = CopyValue : r1133_46 +# 1133| r1133_50(glval) = Convert : r1133_49 +# 1133| r1133_51(int &) = CopyValue : r1133_50 +# 1133| m1133_52(int &) = Store[e] : &:r1133_43, r1133_51 +# 1134| r1134_1(glval) = VariableAddress[e] : +# 1134| r1134_2(int &) = Load[e] : &:r1134_1, m1133_52 +# 1134| r1134_3(int) = Load[?] : &:r1134_2, ~m1133_48 +# 1134| r1134_4(int) = Constant[5] : +# 1134| r1134_5(bool) = CompareLT : r1134_3, r1134_4 +# 1134| v1134_6(void) = ConditionalBranch : r1134_5 #-----| False -> Block 7 #-----| True -> Block 9 -# 1088| Block 9 -# 1088| v1088_1(void) = NoOp : +# 1135| Block 9 +# 1135| v1135_1(void) = NoOp : #-----| Goto -> Block 10 -# 1090| Block 10 -# 1090| m1090_1(unknown) = Phi : from 6:~m1086_31, from 9:~m1086_47 -# 1090| v1090_2(void) = NoOp : -# 1091| v1091_1(void) = NoOp : -# 1079| v1079_9(void) = ReturnIndirection[v] : &:r1079_7, m1079_8 -# 1079| v1079_10(void) = ReturnVoid : -# 1079| v1079_11(void) = AliasedUse : ~m1090_1 -# 1079| v1079_12(void) = ExitFunction : +# 1137| Block 10 +# 1137| m1137_1(unknown) = Phi : from 6:~m1133_32, from 9:~m1133_48 +# 1137| v1137_2(void) = NoOp : +# 1138| v1138_1(void) = NoOp : +# 1126| v1126_9(void) = ReturnIndirection[v] : &:r1126_7, m1126_8 +# 1126| v1126_10(void) = ReturnVoid : +# 1126| v1126_11(void) = AliasedUse : ~m1137_1 +# 1126| v1126_12(void) = ExitFunction : -# 1110| int AsmStmt(int) -# 1110| Block 0 -# 1110| v1110_1(void) = EnterFunction : -# 1110| m1110_2(unknown) = AliasedDefinition : -# 1110| m1110_3(unknown) = InitializeNonLocal : -# 1110| m1110_4(unknown) = Chi : total:m1110_2, partial:m1110_3 -# 1110| r1110_5(glval) = VariableAddress[x] : -# 1110| m1110_6(int) = InitializeParameter[x] : &:r1110_5 -# 1111| m1111_1(unknown) = InlineAsm : ~m1110_4 -# 1111| m1111_2(unknown) = Chi : total:m1110_4, partial:m1111_1 -# 1112| r1112_1(glval) = VariableAddress[#return] : -# 1112| r1112_2(glval) = VariableAddress[x] : -# 1112| r1112_3(int) = Load[x] : &:r1112_2, m1110_6 -# 1112| m1112_4(int) = Store[#return] : &:r1112_1, r1112_3 -# 1110| r1110_7(glval) = VariableAddress[#return] : -# 1110| v1110_8(void) = ReturnValue : &:r1110_7, m1112_4 -# 1110| v1110_9(void) = AliasedUse : ~m1111_2 -# 1110| v1110_10(void) = ExitFunction : +# 1157| int AsmStmt(int) +# 1157| Block 0 +# 1157| v1157_1(void) = EnterFunction : +# 1157| m1157_2(unknown) = AliasedDefinition : +# 1157| m1157_3(unknown) = InitializeNonLocal : +# 1157| m1157_4(unknown) = Chi : total:m1157_2, partial:m1157_3 +# 1157| r1157_5(glval) = VariableAddress[x] : +# 1157| m1157_6(int) = InitializeParameter[x] : &:r1157_5 +# 1158| m1158_1(unknown) = InlineAsm : ~m1157_4 +# 1158| m1158_2(unknown) = Chi : total:m1157_4, partial:m1158_1 +# 1159| r1159_1(glval) = VariableAddress[#return] : +# 1159| r1159_2(glval) = VariableAddress[x] : +# 1159| r1159_3(int) = Load[x] : &:r1159_2, m1157_6 +# 1159| m1159_4(int) = Store[#return] : &:r1159_1, r1159_3 +# 1157| r1157_7(glval) = VariableAddress[#return] : +# 1157| v1157_8(void) = ReturnValue : &:r1157_7, m1159_4 +# 1157| v1157_9(void) = AliasedUse : ~m1158_2 +# 1157| v1157_10(void) = ExitFunction : -# 1115| void AsmStmtWithOutputs(unsigned int&, unsigned int, unsigned int&, unsigned int) -# 1115| Block 0 -# 1115| v1115_1(void) = EnterFunction : -# 1115| m1115_2(unknown) = AliasedDefinition : -# 1115| m1115_3(unknown) = InitializeNonLocal : -# 1115| m1115_4(unknown) = Chi : total:m1115_2, partial:m1115_3 -# 1115| r1115_5(glval) = VariableAddress[a] : -# 1115| m1115_6(unsigned int &) = InitializeParameter[a] : &:r1115_5 -# 1115| r1115_7(unsigned int &) = Load[a] : &:r1115_5, m1115_6 -# 1115| m1115_8(unknown) = InitializeIndirection[a] : &:r1115_7 -# 1115| r1115_9(glval) = VariableAddress[b] : -# 1115| m1115_10(unsigned int) = InitializeParameter[b] : &:r1115_9 -# 1115| r1115_11(glval) = VariableAddress[c] : -# 1115| m1115_12(unsigned int &) = InitializeParameter[c] : &:r1115_11 -# 1115| r1115_13(unsigned int &) = Load[c] : &:r1115_11, m1115_12 -# 1115| m1115_14(unknown) = InitializeIndirection[c] : &:r1115_13 -# 1115| r1115_15(glval) = VariableAddress[d] : -# 1115| m1115_16(unsigned int) = InitializeParameter[d] : &:r1115_15 -# 1120| r1120_1(glval) = VariableAddress[a] : -# 1120| r1120_2(unsigned int &) = Load[a] : &:r1120_1, m1115_6 -# 1120| r1120_3(glval) = CopyValue : r1120_2 -# 1120| r1120_4(glval) = VariableAddress[b] : -# 1120| r1120_5(glval) = VariableAddress[c] : -# 1120| r1120_6(unsigned int &) = Load[c] : &:r1120_5, m1115_12 -# 1120| r1120_7(unsigned int) = Load[?] : &:r1120_6, ~m1115_14 -# 1120| r1120_8(glval) = VariableAddress[d] : -# 1120| r1120_9(unsigned int) = Load[d] : &:r1120_8, m1115_16 -# 1117| m1117_1(unknown) = InlineAsm : ~m1115_4, 0:r1120_3, 1:r1120_4, 2:r1120_7, 3:r1120_9 -# 1117| m1117_2(unknown) = Chi : total:m1115_4, partial:m1117_1 -# 1122| v1122_1(void) = NoOp : -# 1115| v1115_17(void) = ReturnIndirection[a] : &:r1115_7, m1115_8 -# 1115| v1115_18(void) = ReturnIndirection[c] : &:r1115_13, m1115_14 -# 1115| v1115_19(void) = ReturnVoid : -# 1115| v1115_20(void) = AliasedUse : ~m1117_2 -# 1115| v1115_21(void) = ExitFunction : +# 1162| void AsmStmtWithOutputs(unsigned int&, unsigned int, unsigned int&, unsigned int) +# 1162| Block 0 +# 1162| v1162_1(void) = EnterFunction : +# 1162| m1162_2(unknown) = AliasedDefinition : +# 1162| m1162_3(unknown) = InitializeNonLocal : +# 1162| m1162_4(unknown) = Chi : total:m1162_2, partial:m1162_3 +# 1162| r1162_5(glval) = VariableAddress[a] : +# 1162| m1162_6(unsigned int &) = InitializeParameter[a] : &:r1162_5 +# 1162| r1162_7(unsigned int &) = Load[a] : &:r1162_5, m1162_6 +# 1162| m1162_8(unknown) = InitializeIndirection[a] : &:r1162_7 +# 1162| r1162_9(glval) = VariableAddress[b] : +# 1162| m1162_10(unsigned int) = InitializeParameter[b] : &:r1162_9 +# 1162| r1162_11(glval) = VariableAddress[c] : +# 1162| m1162_12(unsigned int &) = InitializeParameter[c] : &:r1162_11 +# 1162| r1162_13(unsigned int &) = Load[c] : &:r1162_11, m1162_12 +# 1162| m1162_14(unknown) = InitializeIndirection[c] : &:r1162_13 +# 1162| r1162_15(glval) = VariableAddress[d] : +# 1162| m1162_16(unsigned int) = InitializeParameter[d] : &:r1162_15 +# 1167| r1167_1(glval) = VariableAddress[a] : +# 1167| r1167_2(unsigned int &) = Load[a] : &:r1167_1, m1162_6 +# 1167| r1167_3(glval) = CopyValue : r1167_2 +# 1167| r1167_4(glval) = VariableAddress[b] : +# 1167| r1167_5(glval) = VariableAddress[c] : +# 1167| r1167_6(unsigned int &) = Load[c] : &:r1167_5, m1162_12 +# 1167| r1167_7(unsigned int) = Load[?] : &:r1167_6, ~m1162_14 +# 1167| r1167_8(glval) = VariableAddress[d] : +# 1167| r1167_9(unsigned int) = Load[d] : &:r1167_8, m1162_16 +# 1164| m1164_1(unknown) = InlineAsm : ~m1162_4, 0:r1167_3, 1:r1167_4, 2:r1167_7, 3:r1167_9 +# 1164| m1164_2(unknown) = Chi : total:m1162_4, partial:m1164_1 +# 1169| v1169_1(void) = NoOp : +# 1162| v1162_17(void) = ReturnIndirection[a] : &:r1162_7, m1162_8 +# 1162| v1162_18(void) = ReturnIndirection[c] : &:r1162_13, m1162_14 +# 1162| v1162_19(void) = ReturnVoid : +# 1162| v1162_20(void) = AliasedUse : ~m1164_2 +# 1162| v1162_21(void) = ExitFunction : -# 1124| void ExternDeclarations() -# 1124| Block 0 -# 1124| v1124_1(void) = EnterFunction : -# 1124| m1124_2(unknown) = AliasedDefinition : -# 1124| m1124_3(unknown) = InitializeNonLocal : -# 1124| m1124_4(unknown) = Chi : total:m1124_2, partial:m1124_3 -# 1127| r1127_1(glval) = VariableAddress[x] : -# 1127| m1127_2(int) = Uninitialized[x] : &:r1127_1 -# 1128| r1128_1(glval) = VariableAddress[y] : -# 1128| m1128_2(int) = Uninitialized[y] : &:r1128_1 -# 1129| r1129_1(glval) = VariableAddress[h] : -# 1129| m1129_2(int) = Uninitialized[h] : &:r1129_1 -# 1131| v1131_1(void) = NoOp : -# 1124| v1124_5(void) = ReturnVoid : -# 1124| v1124_6(void) = AliasedUse : m1124_3 -# 1124| v1124_7(void) = ExitFunction : +# 1171| void ExternDeclarations() +# 1171| Block 0 +# 1171| v1171_1(void) = EnterFunction : +# 1171| m1171_2(unknown) = AliasedDefinition : +# 1171| m1171_3(unknown) = InitializeNonLocal : +# 1171| m1171_4(unknown) = Chi : total:m1171_2, partial:m1171_3 +# 1174| r1174_1(glval) = VariableAddress[x] : +# 1174| m1174_2(int) = Uninitialized[x] : &:r1174_1 +# 1175| r1175_1(glval) = VariableAddress[y] : +# 1175| m1175_2(int) = Uninitialized[y] : &:r1175_1 +# 1176| r1176_1(glval) = VariableAddress[h] : +# 1176| m1176_2(int) = Uninitialized[h] : &:r1176_1 +# 1178| v1178_1(void) = NoOp : +# 1171| v1171_5(void) = ReturnVoid : +# 1171| v1171_6(void) = AliasedUse : m1171_3 +# 1171| v1171_7(void) = ExitFunction : -# 1139| void ExternDeclarationsInMacro() -# 1139| Block 0 -# 1139| v1139_1(void) = EnterFunction : -# 1139| m1139_2(unknown) = AliasedDefinition : -# 1139| m1139_3(unknown) = InitializeNonLocal : -# 1139| m1139_4(unknown) = Chi : total:m1139_2, partial:m1139_3 -# 1141| r1141_1(glval) = VariableAddress[i] : -# 1141| r1141_2(int) = Constant[0] : -# 1141| m1141_3(int) = Store[i] : &:r1141_1, r1141_2 +# 1186| void ExternDeclarationsInMacro() +# 1186| Block 0 +# 1186| v1186_1(void) = EnterFunction : +# 1186| m1186_2(unknown) = AliasedDefinition : +# 1186| m1186_3(unknown) = InitializeNonLocal : +# 1186| m1186_4(unknown) = Chi : total:m1186_2, partial:m1186_3 +# 1188| r1188_1(glval) = VariableAddress[i] : +# 1188| r1188_2(int) = Constant[0] : +# 1188| m1188_3(int) = Store[i] : &:r1188_1, r1188_2 #-----| Goto -> Block 1 -# 1141| Block 1 -# 1141| m1141_4(int) = Phi : from 0:m1141_3, from 2:m1141_14 -# 1141| r1141_5(glval) = VariableAddress[i] : -# 1141| r1141_6(int) = Load[i] : &:r1141_5, m1141_4 -# 1141| r1141_7(int) = Constant[10] : -# 1141| r1141_8(bool) = CompareLT : r1141_6, r1141_7 -# 1141| v1141_9(void) = ConditionalBranch : r1141_8 +# 1188| Block 1 +# 1188| m1188_4(int) = Phi : from 0:m1188_3, from 2:m1188_14 +# 1188| r1188_5(glval) = VariableAddress[i] : +# 1188| r1188_6(int) = Load[i] : &:r1188_5, m1188_4 +# 1188| r1188_7(int) = Constant[10] : +# 1188| r1188_8(bool) = CompareLT : r1188_6, r1188_7 +# 1188| v1188_9(void) = ConditionalBranch : r1188_8 #-----| False -> Block 3 #-----| True -> Block 2 -# 1141| Block 2 -# 1141| r1141_10(glval) = VariableAddress[i] : -# 1141| r1141_11(int) = Load[i] : &:r1141_10, m1141_4 -# 1141| r1141_12(int) = Constant[1] : -# 1141| r1141_13(int) = Add : r1141_11, r1141_12 -# 1141| m1141_14(int) = Store[i] : &:r1141_10, r1141_13 +# 1188| Block 2 +# 1188| r1188_10(glval) = VariableAddress[i] : +# 1188| r1188_11(int) = Load[i] : &:r1188_10, m1188_4 +# 1188| r1188_12(int) = Constant[1] : +# 1188| r1188_13(int) = Add : r1188_11, r1188_12 +# 1188| m1188_14(int) = Store[i] : &:r1188_10, r1188_13 #-----| Goto (back edge) -> Block 1 -# 1141| Block 3 -# 1141| v1141_15(void) = NoOp : -# 1142| v1142_1(void) = NoOp : -# 1139| v1139_5(void) = ReturnVoid : -# 1139| v1139_6(void) = AliasedUse : m1139_3 -# 1139| v1139_7(void) = ExitFunction : +# 1188| Block 3 +# 1188| v1188_15(void) = NoOp : +# 1189| v1189_1(void) = NoOp : +# 1186| v1186_5(void) = ReturnVoid : +# 1186| v1186_6(void) = AliasedUse : m1186_3 +# 1186| v1186_7(void) = ExitFunction : -# 1144| void TryCatchNoCatchAny(bool) -# 1144| Block 0 -# 1144| v1144_1(void) = EnterFunction : -# 1144| m1144_2(unknown) = AliasedDefinition : -# 1144| m1144_3(unknown) = InitializeNonLocal : -# 1144| m1144_4(unknown) = Chi : total:m1144_2, partial:m1144_3 -# 1144| r1144_5(glval) = VariableAddress[b] : -# 1144| m1144_6(bool) = InitializeParameter[b] : &:r1144_5 -# 1146| r1146_1(glval) = VariableAddress[x] : -# 1146| r1146_2(int) = Constant[5] : -# 1146| m1146_3(int) = Store[x] : &:r1146_1, r1146_2 -# 1147| r1147_1(glval) = VariableAddress[b] : -# 1147| r1147_2(bool) = Load[b] : &:r1147_1, m1144_6 -# 1147| v1147_3(void) = ConditionalBranch : r1147_2 +# 1191| void TryCatchNoCatchAny(bool) +# 1191| Block 0 +# 1191| v1191_1(void) = EnterFunction : +# 1191| m1191_2(unknown) = AliasedDefinition : +# 1191| m1191_3(unknown) = InitializeNonLocal : +# 1191| m1191_4(unknown) = Chi : total:m1191_2, partial:m1191_3 +# 1191| r1191_5(glval) = VariableAddress[b] : +# 1191| m1191_6(bool) = InitializeParameter[b] : &:r1191_5 +# 1193| r1193_1(glval) = VariableAddress[x] : +# 1193| r1193_2(int) = Constant[5] : +# 1193| m1193_3(int) = Store[x] : &:r1193_1, r1193_2 +# 1194| r1194_1(glval) = VariableAddress[b] : +# 1194| r1194_2(bool) = Load[b] : &:r1194_1, m1191_6 +# 1194| v1194_3(void) = ConditionalBranch : r1194_2 #-----| False -> Block 4 #-----| True -> Block 3 -# 1144| Block 1 -# 1144| m1144_7(unknown) = Phi : from 2:~m1144_10, from 10:~m1144_4 -# 1144| v1144_8(void) = AliasedUse : ~m1144_7 -# 1144| v1144_9(void) = ExitFunction : +# 1191| Block 1 +# 1191| m1191_7(unknown) = Phi : from 2:~m1191_10, from 10:~m1191_4 +# 1191| v1191_8(void) = AliasedUse : ~m1191_7 +# 1191| v1191_9(void) = ExitFunction : -# 1144| Block 2 -# 1144| m1144_10(unknown) = Phi : from 7:~m1156_8, from 8:~m1144_4 -# 1144| v1144_11(void) = Unwind : +# 1191| Block 2 +# 1191| m1191_10(unknown) = Phi : from 7:~m1203_8, from 8:~m1191_4 +# 1191| v1191_11(void) = Unwind : #-----| Goto -> Block 1 -# 1148| Block 3 -# 1148| r1148_1(glval) = VariableAddress[#throw1148:7] : -# 1148| r1148_2(glval) = StringConstant["string literal"] : -# 1148| r1148_3(char *) = Convert : r1148_2 -# 1148| m1148_4(char *) = Store[#throw1148:7] : &:r1148_1, r1148_3 -# 1148| v1148_5(void) = ThrowValue : &:r1148_1, m1148_4 +# 1195| Block 3 +# 1195| r1195_1(glval) = VariableAddress[#throw1195:7] : +# 1195| r1195_2(glval) = StringConstant["string literal"] : +# 1195| r1195_3(char *) = Convert : r1195_2 +# 1195| m1195_4(char *) = Store[#throw1195:7] : &:r1195_1, r1195_3 +# 1195| v1195_5(void) = ThrowValue : &:r1195_1, m1195_4 #-----| Exception -> Block 6 -# 1150| Block 4 -# 1150| r1150_1(glval) = VariableAddress[x] : -# 1150| r1150_2(int) = Load[x] : &:r1150_1, m1146_3 -# 1150| r1150_3(int) = Constant[2] : -# 1150| r1150_4(bool) = CompareLT : r1150_2, r1150_3 -# 1150| v1150_5(void) = ConditionalBranch : r1150_4 +# 1197| Block 4 +# 1197| r1197_1(glval) = VariableAddress[x] : +# 1197| r1197_2(int) = Load[x] : &:r1197_1, m1193_3 +# 1197| r1197_3(int) = Constant[2] : +# 1197| r1197_4(bool) = CompareLT : r1197_2, r1197_3 +# 1197| v1197_5(void) = ConditionalBranch : r1197_4 #-----| False -> Block 5 #-----| True -> Block 11 -# 1153| Block 5 -# 1153| r1153_1(int) = Constant[7] : -# 1153| r1153_2(glval) = VariableAddress[x] : -# 1153| m1153_3(int) = Store[x] : &:r1153_2, r1153_1 +# 1200| Block 5 +# 1200| r1200_1(int) = Constant[7] : +# 1200| r1200_2(glval) = VariableAddress[x] : +# 1200| m1200_3(int) = Store[x] : &:r1200_2, r1200_1 #-----| Goto -> Block 10 -# 1155| Block 6 -# 1155| v1155_1(void) = CatchByType[const char *] : +# 1202| Block 6 +# 1202| v1202_1(void) = CatchByType[const char *] : #-----| Exception -> Block 8 #-----| Goto -> Block 7 -# 1155| Block 7 -# 1155| r1155_2(glval) = VariableAddress[s] : -# 1155| m1155_3(char *) = InitializeParameter[s] : &:r1155_2 -# 1155| r1155_4(char *) = Load[s] : &:r1155_2, m1155_3 -# 1155| m1155_5(unknown) = InitializeIndirection[s] : &:r1155_4 -# 1156| r1156_1(glval) = VariableAddress[#throw1156:5] : -# 1156| m1156_2(String) = Uninitialized[#throw1156:5] : &:r1156_1 -# 1156| r1156_3(glval) = FunctionAddress[String] : -# 1156| r1156_4(glval) = VariableAddress[s] : -# 1156| r1156_5(char *) = Load[s] : &:r1156_4, m1155_3 -# 1156| v1156_6(void) = Call[String] : func:r1156_3, this:r1156_1, 0:r1156_5 -# 1156| m1156_7(unknown) = ^CallSideEffect : ~m1144_4 -# 1156| m1156_8(unknown) = Chi : total:m1144_4, partial:m1156_7 -# 1156| v1156_9(void) = ^BufferReadSideEffect[0] : &:r1156_5, ~m1155_5 -# 1156| m1156_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r1156_1 -# 1156| m1156_11(String) = Chi : total:m1156_2, partial:m1156_10 -# 1156| v1156_12(void) = ThrowValue : &:r1156_1, m1156_11 +# 1202| Block 7 +# 1202| r1202_2(glval) = VariableAddress[s] : +# 1202| m1202_3(char *) = InitializeParameter[s] : &:r1202_2 +# 1202| r1202_4(char *) = Load[s] : &:r1202_2, m1202_3 +# 1202| m1202_5(unknown) = InitializeIndirection[s] : &:r1202_4 +# 1203| r1203_1(glval) = VariableAddress[#throw1203:5] : +# 1203| m1203_2(String) = Uninitialized[#throw1203:5] : &:r1203_1 +# 1203| r1203_3(glval) = FunctionAddress[String] : +# 1203| r1203_4(glval) = VariableAddress[s] : +# 1203| r1203_5(char *) = Load[s] : &:r1203_4, m1202_3 +# 1203| v1203_6(void) = Call[String] : func:r1203_3, this:r1203_1, 0:r1203_5 +# 1203| m1203_7(unknown) = ^CallSideEffect : ~m1191_4 +# 1203| m1203_8(unknown) = Chi : total:m1191_4, partial:m1203_7 +# 1203| v1203_9(void) = ^BufferReadSideEffect[0] : &:r1203_5, ~m1202_5 +# 1203| m1203_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r1203_1 +# 1203| m1203_11(String) = Chi : total:m1203_2, partial:m1203_10 +# 1203| v1203_12(void) = ThrowValue : &:r1203_1, m1203_11 #-----| Exception -> Block 2 -# 1158| Block 8 -# 1158| v1158_1(void) = CatchByType[const String &] : +# 1205| Block 8 +# 1205| v1205_1(void) = CatchByType[const String &] : #-----| Exception -> Block 2 #-----| Goto -> Block 9 -# 1158| Block 9 -# 1158| r1158_2(glval) = VariableAddress[e] : -# 1158| m1158_3(String &) = InitializeParameter[e] : &:r1158_2 -# 1158| r1158_4(String &) = Load[e] : &:r1158_2, m1158_3 -# 1158| m1158_5(unknown) = InitializeIndirection[e] : &:r1158_4 -# 1158| v1158_6(void) = NoOp : +# 1205| Block 9 +# 1205| r1205_2(glval) = VariableAddress[e] : +# 1205| m1205_3(String &) = InitializeParameter[e] : &:r1205_2 +# 1205| r1205_4(String &) = Load[e] : &:r1205_2, m1205_3 +# 1205| m1205_5(unknown) = InitializeIndirection[e] : &:r1205_4 +# 1205| v1205_6(void) = NoOp : #-----| Goto -> Block 10 -# 1160| Block 10 -# 1160| v1160_1(void) = NoOp : -# 1144| v1144_12(void) = ReturnVoid : +# 1207| Block 10 +# 1207| v1207_1(void) = NoOp : +# 1191| v1191_12(void) = ReturnVoid : #-----| Goto -> Block 1 -# 1144| Block 11 -# 1144| v1144_13(void) = Unreached : +# 1191| Block 11 +# 1191| v1191_13(void) = Unreached : -# 1164| void VectorTypes(int) -# 1164| Block 0 -# 1164| v1164_1(void) = EnterFunction : -# 1164| m1164_2(unknown) = AliasedDefinition : -# 1164| m1164_3(unknown) = InitializeNonLocal : -# 1164| m1164_4(unknown) = Chi : total:m1164_2, partial:m1164_3 -# 1164| r1164_5(glval) = VariableAddress[i] : -# 1164| m1164_6(int) = InitializeParameter[i] : &:r1164_5 -# 1165| r1165_1(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : -# 1165| m1165_2(__attribute((vector_size(16UL))) int) = Uninitialized[vi4] : &:r1165_1 -# 1165| r1165_3(int) = Constant[0] : -# 1165| r1165_4(glval) = PointerAdd[4] : r1165_1, r1165_3 -# 1165| r1165_5(int) = Constant[0] : -# 1165| m1165_6(int) = Store[?] : &:r1165_4, r1165_5 -# 1165| m1165_7(__attribute((vector_size(16UL))) int) = Chi : total:m1165_2, partial:m1165_6 -# 1165| r1165_8(int) = Constant[1] : -# 1165| r1165_9(glval) = PointerAdd[4] : r1165_1, r1165_8 -# 1165| r1165_10(int) = Constant[1] : -# 1165| m1165_11(int) = Store[?] : &:r1165_9, r1165_10 -# 1165| m1165_12(__attribute((vector_size(16UL))) int) = Chi : total:m1165_7, partial:m1165_11 -# 1165| r1165_13(int) = Constant[2] : -# 1165| r1165_14(glval) = PointerAdd[4] : r1165_1, r1165_13 -# 1165| r1165_15(int) = Constant[2] : -# 1165| m1165_16(int) = Store[?] : &:r1165_14, r1165_15 -# 1165| m1165_17(__attribute((vector_size(16UL))) int) = Chi : total:m1165_12, partial:m1165_16 -# 1165| r1165_18(int) = Constant[3] : -# 1165| r1165_19(glval) = PointerAdd[4] : r1165_1, r1165_18 -# 1165| r1165_20(int) = Constant[3] : -# 1165| m1165_21(int) = Store[?] : &:r1165_19, r1165_20 -# 1165| m1165_22(__attribute((vector_size(16UL))) int) = Chi : total:m1165_17, partial:m1165_21 -# 1166| r1166_1(glval) = VariableAddress[x] : -# 1166| r1166_2(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : -# 1166| r1166_3(glval) = VariableAddress[i] : -# 1166| r1166_4(int) = Load[i] : &:r1166_3, m1164_6 -# 1166| r1166_5(glval) = PointerAdd[4] : r1166_2, r1166_4 -# 1166| r1166_6(int) = Load[?] : &:r1166_5, ~m1165_22 -# 1166| m1166_7(int) = Store[x] : &:r1166_1, r1166_6 -# 1167| r1167_1(glval) = VariableAddress[x] : -# 1167| r1167_2(int) = Load[x] : &:r1167_1, m1166_7 -# 1167| r1167_3(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : -# 1167| r1167_4(glval) = VariableAddress[i] : -# 1167| r1167_5(int) = Load[i] : &:r1167_4, m1164_6 -# 1167| r1167_6(glval) = PointerAdd[4] : r1167_3, r1167_5 -# 1167| m1167_7(int) = Store[?] : &:r1167_6, r1167_2 -# 1167| m1167_8(__attribute((vector_size(16UL))) int) = Chi : total:m1165_22, partial:m1167_7 -# 1168| r1168_1(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4_shuffle] : -# 1168| r1168_2(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : -# 1168| r1168_3(__attribute((vector_size(16UL))) int) = Load[vi4] : &:r1168_2, m1167_8 -# 1168| r1168_4(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : -# 1168| r1168_5(__attribute((vector_size(16UL))) int) = Load[vi4] : &:r1168_4, m1167_8 -# 1168| r1168_6(int) = Constant[3] : -# 1168| r1168_7(int) = Constant[2] : -# 1168| r1168_8(int) = Constant[1] : -# 1168| r1168_9(int) = Constant[0] : -# 1168| r1168_10(__attribute((vector_size(16))) int) = BuiltIn[__builtin_shufflevector] : 0:r1168_3, 1:r1168_5, 2:r1168_6, 3:r1168_7, 4:r1168_8, 5:r1168_9 -# 1168| m1168_11(__attribute((vector_size(16UL))) int) = Store[vi4_shuffle] : &:r1168_1, r1168_10 -# 1169| r1169_1(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : -# 1169| r1169_2(__attribute((vector_size(16UL))) int) = Load[vi4] : &:r1169_1, m1167_8 -# 1169| r1169_3(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4_shuffle] : -# 1169| r1169_4(__attribute((vector_size(16UL))) int) = Load[vi4_shuffle] : &:r1169_3, m1168_11 -# 1169| r1169_5(__attribute((vector_size(16UL))) int) = Add : r1169_2, r1169_4 -# 1169| r1169_6(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : -# 1169| m1169_7(__attribute((vector_size(16UL))) int) = Store[vi4] : &:r1169_6, r1169_5 -# 1170| v1170_1(void) = NoOp : -# 1164| v1164_7(void) = ReturnVoid : -# 1164| v1164_8(void) = AliasedUse : m1164_3 -# 1164| v1164_9(void) = ExitFunction : +# 1211| void VectorTypes(int) +# 1211| Block 0 +# 1211| v1211_1(void) = EnterFunction : +# 1211| m1211_2(unknown) = AliasedDefinition : +# 1211| m1211_3(unknown) = InitializeNonLocal : +# 1211| m1211_4(unknown) = Chi : total:m1211_2, partial:m1211_3 +# 1211| r1211_5(glval) = VariableAddress[i] : +# 1211| m1211_6(int) = InitializeParameter[i] : &:r1211_5 +# 1212| r1212_1(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : +# 1212| m1212_2(__attribute((vector_size(16UL))) int) = Uninitialized[vi4] : &:r1212_1 +# 1212| r1212_3(int) = Constant[0] : +# 1212| r1212_4(glval) = PointerAdd[4] : r1212_1, r1212_3 +# 1212| r1212_5(int) = Constant[0] : +# 1212| m1212_6(int) = Store[?] : &:r1212_4, r1212_5 +# 1212| m1212_7(__attribute((vector_size(16UL))) int) = Chi : total:m1212_2, partial:m1212_6 +# 1212| r1212_8(int) = Constant[1] : +# 1212| r1212_9(glval) = PointerAdd[4] : r1212_1, r1212_8 +# 1212| r1212_10(int) = Constant[1] : +# 1212| m1212_11(int) = Store[?] : &:r1212_9, r1212_10 +# 1212| m1212_12(__attribute((vector_size(16UL))) int) = Chi : total:m1212_7, partial:m1212_11 +# 1212| r1212_13(int) = Constant[2] : +# 1212| r1212_14(glval) = PointerAdd[4] : r1212_1, r1212_13 +# 1212| r1212_15(int) = Constant[2] : +# 1212| m1212_16(int) = Store[?] : &:r1212_14, r1212_15 +# 1212| m1212_17(__attribute((vector_size(16UL))) int) = Chi : total:m1212_12, partial:m1212_16 +# 1212| r1212_18(int) = Constant[3] : +# 1212| r1212_19(glval) = PointerAdd[4] : r1212_1, r1212_18 +# 1212| r1212_20(int) = Constant[3] : +# 1212| m1212_21(int) = Store[?] : &:r1212_19, r1212_20 +# 1212| m1212_22(__attribute((vector_size(16UL))) int) = Chi : total:m1212_17, partial:m1212_21 +# 1213| r1213_1(glval) = VariableAddress[x] : +# 1213| r1213_2(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : +# 1213| r1213_3(glval) = VariableAddress[i] : +# 1213| r1213_4(int) = Load[i] : &:r1213_3, m1211_6 +# 1213| r1213_5(glval) = PointerAdd[4] : r1213_2, r1213_4 +# 1213| r1213_6(int) = Load[?] : &:r1213_5, ~m1212_22 +# 1213| m1213_7(int) = Store[x] : &:r1213_1, r1213_6 +# 1214| r1214_1(glval) = VariableAddress[x] : +# 1214| r1214_2(int) = Load[x] : &:r1214_1, m1213_7 +# 1214| r1214_3(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : +# 1214| r1214_4(glval) = VariableAddress[i] : +# 1214| r1214_5(int) = Load[i] : &:r1214_4, m1211_6 +# 1214| r1214_6(glval) = PointerAdd[4] : r1214_3, r1214_5 +# 1214| m1214_7(int) = Store[?] : &:r1214_6, r1214_2 +# 1214| m1214_8(__attribute((vector_size(16UL))) int) = Chi : total:m1212_22, partial:m1214_7 +# 1215| r1215_1(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4_shuffle] : +# 1215| r1215_2(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : +# 1215| r1215_3(__attribute((vector_size(16UL))) int) = Load[vi4] : &:r1215_2, m1214_8 +# 1215| r1215_4(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : +# 1215| r1215_5(__attribute((vector_size(16UL))) int) = Load[vi4] : &:r1215_4, m1214_8 +# 1215| r1215_6(int) = Constant[3] : +# 1215| r1215_7(int) = Constant[2] : +# 1215| r1215_8(int) = Constant[1] : +# 1215| r1215_9(int) = Constant[0] : +# 1215| r1215_10(__attribute((vector_size(16))) int) = BuiltIn[__builtin_shufflevector] : 0:r1215_3, 1:r1215_5, 2:r1215_6, 3:r1215_7, 4:r1215_8, 5:r1215_9 +# 1215| m1215_11(__attribute((vector_size(16UL))) int) = Store[vi4_shuffle] : &:r1215_1, r1215_10 +# 1216| r1216_1(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : +# 1216| r1216_2(__attribute((vector_size(16UL))) int) = Load[vi4] : &:r1216_1, m1214_8 +# 1216| r1216_3(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4_shuffle] : +# 1216| r1216_4(__attribute((vector_size(16UL))) int) = Load[vi4_shuffle] : &:r1216_3, m1215_11 +# 1216| r1216_5(__attribute((vector_size(16UL))) int) = Add : r1216_2, r1216_4 +# 1216| r1216_6(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : +# 1216| m1216_7(__attribute((vector_size(16UL))) int) = Store[vi4] : &:r1216_6, r1216_5 +# 1217| v1217_1(void) = NoOp : +# 1211| v1211_7(void) = ReturnVoid : +# 1211| v1211_8(void) = AliasedUse : m1211_3 +# 1211| v1211_9(void) = ExitFunction : -# 1174| int ModeledCallTarget(int) -# 1174| Block 0 -# 1174| v1174_1(void) = EnterFunction : -# 1174| m1174_2(unknown) = AliasedDefinition : -# 1174| m1174_3(unknown) = InitializeNonLocal : -# 1174| m1174_4(unknown) = Chi : total:m1174_2, partial:m1174_3 -# 1174| r1174_5(glval) = VariableAddress[x] : -# 1174| m1174_6(int) = InitializeParameter[x] : &:r1174_5 -# 1175| r1175_1(glval) = VariableAddress[y] : -# 1175| m1175_2(int) = Uninitialized[y] : &:r1175_1 -# 1176| r1176_1(glval) = FunctionAddress[memcpy] : -# 1176| r1176_2(glval) = VariableAddress[y] : -# 1176| r1176_3(int *) = CopyValue : r1176_2 -# 1176| r1176_4(void *) = Convert : r1176_3 -# 1176| r1176_5(glval) = VariableAddress[x] : -# 1176| r1176_6(int *) = CopyValue : r1176_5 -# 1176| r1176_7(void *) = Convert : r1176_6 -# 1176| r1176_8(int) = Constant[4] : -# 1176| r1176_9(void *) = Call[memcpy] : func:r1176_1, 0:r1176_4, 1:r1176_7, 2:r1176_8 -# 1176| v1176_10(void) = ^SizedBufferReadSideEffect[1] : &:r1176_7, r1176_8, ~m1174_6 -# 1176| m1176_11(unknown) = ^SizedBufferMustWriteSideEffect[0] : &:r1176_4, r1176_8 -# 1176| m1176_12(int) = Chi : total:m1175_2, partial:m1176_11 -# 1177| r1177_1(glval) = VariableAddress[#return] : -# 1177| r1177_2(glval) = VariableAddress[y] : -# 1177| r1177_3(int) = Load[y] : &:r1177_2, m1176_12 -# 1177| m1177_4(int) = Store[#return] : &:r1177_1, r1177_3 -# 1174| r1174_7(glval) = VariableAddress[#return] : -# 1174| v1174_8(void) = ReturnValue : &:r1174_7, m1177_4 -# 1174| v1174_9(void) = AliasedUse : m1174_3 -# 1174| v1174_10(void) = ExitFunction : +# 1221| int ModeledCallTarget(int) +# 1221| Block 0 +# 1221| v1221_1(void) = EnterFunction : +# 1221| m1221_2(unknown) = AliasedDefinition : +# 1221| m1221_3(unknown) = InitializeNonLocal : +# 1221| m1221_4(unknown) = Chi : total:m1221_2, partial:m1221_3 +# 1221| r1221_5(glval) = VariableAddress[x] : +# 1221| m1221_6(int) = InitializeParameter[x] : &:r1221_5 +# 1222| r1222_1(glval) = VariableAddress[y] : +# 1222| m1222_2(int) = Uninitialized[y] : &:r1222_1 +# 1223| r1223_1(glval) = FunctionAddress[memcpy] : +# 1223| r1223_2(glval) = VariableAddress[y] : +# 1223| r1223_3(int *) = CopyValue : r1223_2 +# 1223| r1223_4(void *) = Convert : r1223_3 +# 1223| r1223_5(glval) = VariableAddress[x] : +# 1223| r1223_6(int *) = CopyValue : r1223_5 +# 1223| r1223_7(void *) = Convert : r1223_6 +# 1223| r1223_8(int) = Constant[4] : +# 1223| r1223_9(void *) = Call[memcpy] : func:r1223_1, 0:r1223_4, 1:r1223_7, 2:r1223_8 +# 1223| v1223_10(void) = ^SizedBufferReadSideEffect[1] : &:r1223_7, r1223_8, ~m1221_6 +# 1223| m1223_11(unknown) = ^SizedBufferMustWriteSideEffect[0] : &:r1223_4, r1223_8 +# 1223| m1223_12(int) = Chi : total:m1222_2, partial:m1223_11 +# 1224| r1224_1(glval) = VariableAddress[#return] : +# 1224| r1224_2(glval) = VariableAddress[y] : +# 1224| r1224_3(int) = Load[y] : &:r1224_2, m1223_12 +# 1224| m1224_4(int) = Store[#return] : &:r1224_1, r1224_3 +# 1221| r1221_7(glval) = VariableAddress[#return] : +# 1221| v1221_8(void) = ReturnValue : &:r1221_7, m1224_4 +# 1221| v1221_9(void) = AliasedUse : m1221_3 +# 1221| v1221_10(void) = ExitFunction : -# 1180| String ReturnObjectImpl() -# 1180| Block 0 -# 1180| v1180_1(void) = EnterFunction : -# 1180| m1180_2(unknown) = AliasedDefinition : -# 1180| m1180_3(unknown) = InitializeNonLocal : -# 1180| m1180_4(unknown) = Chi : total:m1180_2, partial:m1180_3 -# 1181| r1181_1(glval) = VariableAddress[#return] : -# 1181| m1181_2(String) = Uninitialized[#return] : &:r1181_1 -# 1181| r1181_3(glval) = FunctionAddress[String] : -# 1181| r1181_4(glval) = StringConstant["foo"] : -# 1181| r1181_5(char *) = Convert : r1181_4 -# 1181| v1181_6(void) = Call[String] : func:r1181_3, this:r1181_1, 0:r1181_5 -# 1181| m1181_7(unknown) = ^CallSideEffect : ~m1180_4 -# 1181| m1181_8(unknown) = Chi : total:m1180_4, partial:m1181_7 -# 1181| v1181_9(void) = ^BufferReadSideEffect[0] : &:r1181_5, ~m1180_3 -# 1181| m1181_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r1181_1 -# 1181| m1181_11(String) = Chi : total:m1181_2, partial:m1181_10 -# 1180| r1180_5(glval) = VariableAddress[#return] : -# 1180| v1180_6(void) = ReturnValue : &:r1180_5, m1181_11 -# 1180| v1180_7(void) = AliasedUse : ~m1181_8 -# 1180| v1180_8(void) = ExitFunction : +# 1227| String ReturnObjectImpl() +# 1227| Block 0 +# 1227| v1227_1(void) = EnterFunction : +# 1227| m1227_2(unknown) = AliasedDefinition : +# 1227| m1227_3(unknown) = InitializeNonLocal : +# 1227| m1227_4(unknown) = Chi : total:m1227_2, partial:m1227_3 +# 1228| r1228_1(glval) = VariableAddress[#return] : +# 1228| m1228_2(String) = Uninitialized[#return] : &:r1228_1 +# 1228| r1228_3(glval) = FunctionAddress[String] : +# 1228| r1228_4(glval) = StringConstant["foo"] : +# 1228| r1228_5(char *) = Convert : r1228_4 +# 1228| v1228_6(void) = Call[String] : func:r1228_3, this:r1228_1, 0:r1228_5 +# 1228| m1228_7(unknown) = ^CallSideEffect : ~m1227_4 +# 1228| m1228_8(unknown) = Chi : total:m1227_4, partial:m1228_7 +# 1228| v1228_9(void) = ^BufferReadSideEffect[0] : &:r1228_5, ~m1227_3 +# 1228| m1228_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r1228_1 +# 1228| m1228_11(String) = Chi : total:m1228_2, partial:m1228_10 +# 1227| r1227_5(glval) = VariableAddress[#return] : +# 1227| v1227_6(void) = ReturnValue : &:r1227_5, m1228_11 +# 1227| v1227_7(void) = AliasedUse : ~m1228_8 +# 1227| v1227_8(void) = ExitFunction : -# 1184| void switch1Case(int) -# 1184| Block 0 -# 1184| v1184_1(void) = EnterFunction : -# 1184| m1184_2(unknown) = AliasedDefinition : -# 1184| m1184_3(unknown) = InitializeNonLocal : -# 1184| m1184_4(unknown) = Chi : total:m1184_2, partial:m1184_3 -# 1184| r1184_5(glval) = VariableAddress[x] : -# 1184| m1184_6(int) = InitializeParameter[x] : &:r1184_5 -# 1185| r1185_1(glval) = VariableAddress[y] : -# 1185| r1185_2(int) = Constant[0] : -# 1185| m1185_3(int) = Store[y] : &:r1185_1, r1185_2 -# 1186| r1186_1(glval) = VariableAddress[x] : -# 1186| r1186_2(int) = Load[x] : &:r1186_1, m1184_6 -# 1186| v1186_3(void) = Switch : r1186_2 +# 1231| void switch1Case(int) +# 1231| Block 0 +# 1231| v1231_1(void) = EnterFunction : +# 1231| m1231_2(unknown) = AliasedDefinition : +# 1231| m1231_3(unknown) = InitializeNonLocal : +# 1231| m1231_4(unknown) = Chi : total:m1231_2, partial:m1231_3 +# 1231| r1231_5(glval) = VariableAddress[x] : +# 1231| m1231_6(int) = InitializeParameter[x] : &:r1231_5 +# 1232| r1232_1(glval) = VariableAddress[y] : +# 1232| r1232_2(int) = Constant[0] : +# 1232| m1232_3(int) = Store[y] : &:r1232_1, r1232_2 +# 1233| r1233_1(glval) = VariableAddress[x] : +# 1233| r1233_2(int) = Load[x] : &:r1233_1, m1231_6 +# 1233| v1233_3(void) = Switch : r1233_2 #-----| Case[1] -> Block 1 #-----| Default -> Block 2 -# 1187| Block 1 -# 1187| v1187_1(void) = NoOp : -# 1188| r1188_1(int) = Constant[2] : -# 1188| r1188_2(glval) = VariableAddress[y] : -# 1188| m1188_3(int) = Store[y] : &:r1188_2, r1188_1 +# 1234| Block 1 +# 1234| v1234_1(void) = NoOp : +# 1235| r1235_1(int) = Constant[2] : +# 1235| r1235_2(glval) = VariableAddress[y] : +# 1235| m1235_3(int) = Store[y] : &:r1235_2, r1235_1 #-----| Goto -> Block 2 -# 1190| Block 2 -# 1190| m1190_1(int) = Phi : from 0:m1185_3, from 1:m1188_3 -# 1190| r1190_2(glval) = VariableAddress[z] : -# 1190| r1190_3(glval) = VariableAddress[y] : -# 1190| r1190_4(int) = Load[y] : &:r1190_3, m1190_1 -# 1190| m1190_5(int) = Store[z] : &:r1190_2, r1190_4 -# 1191| v1191_1(void) = NoOp : -# 1184| v1184_7(void) = ReturnVoid : -# 1184| v1184_8(void) = AliasedUse : m1184_3 -# 1184| v1184_9(void) = ExitFunction : +# 1237| Block 2 +# 1237| m1237_1(int) = Phi : from 0:m1232_3, from 1:m1235_3 +# 1237| r1237_2(glval) = VariableAddress[z] : +# 1237| r1237_3(glval) = VariableAddress[y] : +# 1237| r1237_4(int) = Load[y] : &:r1237_3, m1237_1 +# 1237| m1237_5(int) = Store[z] : &:r1237_2, r1237_4 +# 1238| v1238_1(void) = NoOp : +# 1231| v1231_7(void) = ReturnVoid : +# 1231| v1231_8(void) = AliasedUse : m1231_3 +# 1231| v1231_9(void) = ExitFunction : -# 1193| void switch2Case_fallthrough(int) -# 1193| Block 0 -# 1193| v1193_1(void) = EnterFunction : -# 1193| m1193_2(unknown) = AliasedDefinition : -# 1193| m1193_3(unknown) = InitializeNonLocal : -# 1193| m1193_4(unknown) = Chi : total:m1193_2, partial:m1193_3 -# 1193| r1193_5(glval) = VariableAddress[x] : -# 1193| m1193_6(int) = InitializeParameter[x] : &:r1193_5 -# 1194| r1194_1(glval) = VariableAddress[y] : -# 1194| r1194_2(int) = Constant[0] : -# 1194| m1194_3(int) = Store[y] : &:r1194_1, r1194_2 -# 1195| r1195_1(glval) = VariableAddress[x] : -# 1195| r1195_2(int) = Load[x] : &:r1195_1, m1193_6 -# 1195| v1195_3(void) = Switch : r1195_2 +# 1240| void switch2Case_fallthrough(int) +# 1240| Block 0 +# 1240| v1240_1(void) = EnterFunction : +# 1240| m1240_2(unknown) = AliasedDefinition : +# 1240| m1240_3(unknown) = InitializeNonLocal : +# 1240| m1240_4(unknown) = Chi : total:m1240_2, partial:m1240_3 +# 1240| r1240_5(glval) = VariableAddress[x] : +# 1240| m1240_6(int) = InitializeParameter[x] : &:r1240_5 +# 1241| r1241_1(glval) = VariableAddress[y] : +# 1241| r1241_2(int) = Constant[0] : +# 1241| m1241_3(int) = Store[y] : &:r1241_1, r1241_2 +# 1242| r1242_1(glval) = VariableAddress[x] : +# 1242| r1242_2(int) = Load[x] : &:r1242_1, m1240_6 +# 1242| v1242_3(void) = Switch : r1242_2 #-----| Case[1] -> Block 1 #-----| Case[2] -> Block 2 #-----| Default -> Block 3 -# 1196| Block 1 -# 1196| v1196_1(void) = NoOp : -# 1197| r1197_1(int) = Constant[2] : -# 1197| r1197_2(glval) = VariableAddress[y] : -# 1197| m1197_3(int) = Store[y] : &:r1197_2, r1197_1 -#-----| Goto -> Block 2 - -# 1198| Block 2 -# 1198| v1198_1(void) = NoOp : -# 1199| r1199_1(int) = Constant[3] : -# 1199| r1199_2(glval) = VariableAddress[y] : -# 1199| m1199_3(int) = Store[y] : &:r1199_2, r1199_1 -#-----| Goto -> Block 3 - -# 1201| Block 3 -# 1201| m1201_1(int) = Phi : from 0:m1194_3, from 2:m1199_3 -# 1201| r1201_2(glval) = VariableAddress[z] : -# 1201| r1201_3(glval) = VariableAddress[y] : -# 1201| r1201_4(int) = Load[y] : &:r1201_3, m1201_1 -# 1201| m1201_5(int) = Store[z] : &:r1201_2, r1201_4 -# 1202| v1202_1(void) = NoOp : -# 1193| v1193_7(void) = ReturnVoid : -# 1193| v1193_8(void) = AliasedUse : m1193_3 -# 1193| v1193_9(void) = ExitFunction : - -# 1204| void switch2Case(int) -# 1204| Block 0 -# 1204| v1204_1(void) = EnterFunction : -# 1204| m1204_2(unknown) = AliasedDefinition : -# 1204| m1204_3(unknown) = InitializeNonLocal : -# 1204| m1204_4(unknown) = Chi : total:m1204_2, partial:m1204_3 -# 1204| r1204_5(glval) = VariableAddress[x] : -# 1204| m1204_6(int) = InitializeParameter[x] : &:r1204_5 -# 1205| r1205_1(glval) = VariableAddress[y] : -# 1205| r1205_2(int) = Constant[0] : -# 1205| m1205_3(int) = Store[y] : &:r1205_1, r1205_2 -# 1206| r1206_1(glval) = VariableAddress[x] : -# 1206| r1206_2(int) = Load[x] : &:r1206_1, m1204_6 -# 1206| v1206_3(void) = Switch : r1206_2 -#-----| Case[1] -> Block 1 -#-----| Case[2] -> Block 2 -#-----| Default -> Block 3 - -# 1207| Block 1 -# 1207| v1207_1(void) = NoOp : -# 1208| r1208_1(int) = Constant[2] : -# 1208| r1208_2(glval) = VariableAddress[y] : -# 1208| m1208_3(int) = Store[y] : &:r1208_2, r1208_1 -# 1209| v1209_1(void) = NoOp : -#-----| Goto -> Block 3 - -# 1210| Block 2 -# 1210| v1210_1(void) = NoOp : -# 1211| r1211_1(int) = Constant[3] : -# 1211| r1211_2(glval) = VariableAddress[y] : -# 1211| m1211_3(int) = Store[y] : &:r1211_2, r1211_1 -#-----| Goto -> Block 3 - -# 1212| Block 3 -# 1212| m1212_1(int) = Phi : from 0:m1205_3, from 1:m1208_3, from 2:m1211_3 -# 1212| v1212_2(void) = NoOp : -# 1213| r1213_1(glval) = VariableAddress[z] : -# 1213| r1213_2(glval) = VariableAddress[y] : -# 1213| r1213_3(int) = Load[y] : &:r1213_2, m1212_1 -# 1213| m1213_4(int) = Store[z] : &:r1213_1, r1213_3 -# 1214| v1214_1(void) = NoOp : -# 1204| v1204_7(void) = ReturnVoid : -# 1204| v1204_8(void) = AliasedUse : m1204_3 -# 1204| v1204_9(void) = ExitFunction : - -# 1216| void switch2Case_default(int) -# 1216| Block 0 -# 1216| v1216_1(void) = EnterFunction : -# 1216| m1216_2(unknown) = AliasedDefinition : -# 1216| m1216_3(unknown) = InitializeNonLocal : -# 1216| m1216_4(unknown) = Chi : total:m1216_2, partial:m1216_3 -# 1216| r1216_5(glval) = VariableAddress[x] : -# 1216| m1216_6(int) = InitializeParameter[x] : &:r1216_5 -# 1217| r1217_1(glval) = VariableAddress[y] : -# 1217| r1217_2(int) = Constant[0] : -# 1217| m1217_3(int) = Store[y] : &:r1217_1, r1217_2 -# 1218| r1218_1(glval) = VariableAddress[x] : -# 1218| r1218_2(int) = Load[x] : &:r1218_1, m1216_6 -# 1218| v1218_3(void) = Switch : r1218_2 -#-----| Case[1] -> Block 1 -#-----| Case[2] -> Block 2 -#-----| Default -> Block 3 - -# 1219| Block 1 -# 1219| v1219_1(void) = NoOp : -# 1220| r1220_1(int) = Constant[2] : -# 1220| r1220_2(glval) = VariableAddress[y] : -# 1220| m1220_3(int) = Store[y] : &:r1220_2, r1220_1 -# 1221| v1221_1(void) = NoOp : -#-----| Goto -> Block 4 - -# 1223| Block 2 -# 1223| v1223_1(void) = NoOp : -# 1224| r1224_1(int) = Constant[3] : -# 1224| r1224_2(glval) = VariableAddress[y] : -# 1224| m1224_3(int) = Store[y] : &:r1224_2, r1224_1 -# 1225| v1225_1(void) = NoOp : -#-----| Goto -> Block 4 - -# 1227| Block 3 -# 1227| v1227_1(void) = NoOp : -# 1228| r1228_1(int) = Constant[4] : -# 1228| r1228_2(glval) = VariableAddress[y] : -# 1228| m1228_3(int) = Store[y] : &:r1228_2, r1228_1 -#-----| Goto -> Block 4 - -# 1229| Block 4 -# 1229| m1229_1(int) = Phi : from 1:m1220_3, from 2:m1224_3, from 3:m1228_3 -# 1229| v1229_2(void) = NoOp : -# 1230| r1230_1(glval) = VariableAddress[z] : -# 1230| r1230_2(glval) = VariableAddress[y] : -# 1230| r1230_3(int) = Load[y] : &:r1230_2, m1229_1 -# 1230| m1230_4(int) = Store[z] : &:r1230_1, r1230_3 -# 1231| v1231_1(void) = NoOp : -# 1216| v1216_7(void) = ReturnVoid : -# 1216| v1216_8(void) = AliasedUse : m1216_3 -# 1216| v1216_9(void) = ExitFunction : - -# 1233| int staticLocalInit(int) -# 1233| Block 0 -# 1233| v1233_1(void) = EnterFunction : -# 1233| m1233_2(unknown) = AliasedDefinition : -# 1233| m1233_3(unknown) = InitializeNonLocal : -# 1233| m1233_4(unknown) = Chi : total:m1233_2, partial:m1233_3 -# 1233| r1233_5(glval) = VariableAddress[x] : -# 1233| m1233_6(int) = InitializeParameter[x] : &:r1233_5 -# 1236| r1236_1(glval) = VariableAddress[c#init] : -# 1236| r1236_2(bool) = Load[c#init] : &:r1236_1, ~m1233_3 -# 1236| v1236_3(void) = ConditionalBranch : r1236_2 -#-----| False -> Block 1 -#-----| True -> Block 2 - -# 1236| Block 1 -# 1236| r1236_4(glval) = VariableAddress[c] : -# 1236| r1236_5(glval) = VariableAddress[x] : -# 1236| r1236_6(int) = Load[x] : &:r1236_5, m1233_6 -# 1236| m1236_7(int) = Store[c] : &:r1236_4, r1236_6 -# 1236| m1236_8(unknown) = Chi : total:m1233_4, partial:m1236_7 -# 1236| r1236_9(bool) = Constant[1] : -# 1236| m1236_10(bool) = Store[c#init] : &:r1236_1, r1236_9 -# 1236| m1236_11(unknown) = Chi : total:m1236_8, partial:m1236_10 -#-----| Goto -> Block 2 - -# 1239| Block 2 -# 1239| m1239_1(int) = Phi : from 0:~m1233_3, from 1:m1236_7 -# 1239| m1239_2(unknown) = Phi : from 0:~m1233_4, from 1:~m1236_11 -# 1239| r1239_3(glval) = VariableAddress[#return] : -# 1239| r1239_4(glval) = VariableAddress[a] : -# 1239| r1239_5(int) = Load[a] : &:r1239_4, ~m1239_2 -# 1239| r1239_6(glval) = VariableAddress[b] : -# 1239| r1239_7(int) = Load[b] : &:r1239_6, ~m1239_2 -# 1239| r1239_8(int) = Add : r1239_5, r1239_7 -# 1239| r1239_9(glval) = VariableAddress[c] : -# 1239| r1239_10(int) = Load[c] : &:r1239_9, m1239_1 -# 1239| r1239_11(int) = Add : r1239_8, r1239_10 -# 1239| r1239_12(glval) = VariableAddress[d] : -# 1239| r1239_13(int) = Load[d] : &:r1239_12, ~m1239_2 -# 1239| r1239_14(int) = Add : r1239_11, r1239_13 -# 1239| m1239_15(int) = Store[#return] : &:r1239_3, r1239_14 -# 1233| r1233_7(glval) = VariableAddress[#return] : -# 1233| v1233_8(void) = ReturnValue : &:r1233_7, m1239_15 -# 1233| v1233_9(void) = AliasedUse : ~m1239_2 -# 1233| v1233_10(void) = ExitFunction : - -# 1234| int a -# 1234| Block 0 -# 1234| v1234_1(void) = EnterFunction : -# 1234| m1234_2(unknown) = AliasedDefinition : -# 1234| r1234_3(glval) = VariableAddress[a] : -# 1234| r1234_4(int) = Constant[0] : -# 1234| m1234_5(int) = Store[a] : &:r1234_3, r1234_4 -# 1234| m1234_6(unknown) = Chi : total:m1234_2, partial:m1234_5 -# 1234| v1234_7(void) = ReturnVoid : -# 1234| v1234_8(void) = AliasedUse : ~m1234_6 -# 1234| v1234_9(void) = ExitFunction : - -# 1235| int b -# 1235| Block 0 -# 1235| v1235_1(void) = EnterFunction : -# 1235| m1235_2(unknown) = AliasedDefinition : -# 1235| r1235_3(glval) = VariableAddress[b] : -# 1235| r1235_4(int) = Constant[4] : -# 1235| m1235_5(int) = Store[b] : &:r1235_3, r1235_4 -# 1235| m1235_6(unknown) = Chi : total:m1235_2, partial:m1235_5 -# 1235| v1235_7(void) = ReturnVoid : -# 1235| v1235_8(void) = AliasedUse : ~m1235_6 -# 1235| v1235_9(void) = ExitFunction : - -# 1242| void staticLocalWithConstructor(char const*) -# 1242| Block 0 -# 1242| v1242_1(void) = EnterFunction : -# 1242| m1242_2(unknown) = AliasedDefinition : -# 1242| m1242_3(unknown) = InitializeNonLocal : -# 1242| m1242_4(unknown) = Chi : total:m1242_2, partial:m1242_3 -# 1242| r1242_5(glval) = VariableAddress[dynamic] : -# 1242| m1242_6(char *) = InitializeParameter[dynamic] : &:r1242_5 -# 1242| r1242_7(char *) = Load[dynamic] : &:r1242_5, m1242_6 -# 1242| m1242_8(unknown) = InitializeIndirection[dynamic] : &:r1242_7 -# 1243| r1243_1(glval) = VariableAddress[a#init] : -# 1243| r1243_2(bool) = Load[a#init] : &:r1243_1, ~m1242_3 -# 1243| v1243_3(void) = ConditionalBranch : r1243_2 -#-----| False -> Block 1 -#-----| True -> Block 2 - # 1243| Block 1 -# 1243| r1243_4(glval) = VariableAddress[a] : -#-----| r0_1(glval) = FunctionAddress[String] : -#-----| v0_2(void) = Call[String] : func:r0_1, this:r1243_4 -#-----| m0_3(unknown) = ^CallSideEffect : ~m1242_4 -#-----| m0_4(unknown) = Chi : total:m1242_4, partial:m0_3 -#-----| m0_5(String) = ^IndirectMayWriteSideEffect[-1] : &:r1243_4 -#-----| m0_6(unknown) = Chi : total:m0_4, partial:m0_5 -# 1243| r1243_5(bool) = Constant[1] : -# 1243| m1243_6(bool) = Store[a#init] : &:r1243_1, r1243_5 -# 1243| m1243_7(unknown) = Chi : total:m0_6, partial:m1243_6 +# 1243| v1243_1(void) = NoOp : +# 1244| r1244_1(int) = Constant[2] : +# 1244| r1244_2(glval) = VariableAddress[y] : +# 1244| m1244_3(int) = Store[y] : &:r1244_2, r1244_1 #-----| Goto -> Block 2 -# 1244| Block 2 -# 1244| m1244_1(unknown) = Phi : from 0:~m1242_4, from 1:~m1243_7 -# 1244| r1244_2(glval) = VariableAddress[b#init] : -# 1244| r1244_3(bool) = Load[b#init] : &:r1244_2, ~m1244_1 -# 1244| v1244_4(void) = ConditionalBranch : r1244_3 +# 1245| Block 2 +# 1245| v1245_1(void) = NoOp : +# 1246| r1246_1(int) = Constant[3] : +# 1246| r1246_2(glval) = VariableAddress[y] : +# 1246| m1246_3(int) = Store[y] : &:r1246_2, r1246_1 +#-----| Goto -> Block 3 + +# 1248| Block 3 +# 1248| m1248_1(int) = Phi : from 0:m1241_3, from 2:m1246_3 +# 1248| r1248_2(glval) = VariableAddress[z] : +# 1248| r1248_3(glval) = VariableAddress[y] : +# 1248| r1248_4(int) = Load[y] : &:r1248_3, m1248_1 +# 1248| m1248_5(int) = Store[z] : &:r1248_2, r1248_4 +# 1249| v1249_1(void) = NoOp : +# 1240| v1240_7(void) = ReturnVoid : +# 1240| v1240_8(void) = AliasedUse : m1240_3 +# 1240| v1240_9(void) = ExitFunction : + +# 1251| void switch2Case(int) +# 1251| Block 0 +# 1251| v1251_1(void) = EnterFunction : +# 1251| m1251_2(unknown) = AliasedDefinition : +# 1251| m1251_3(unknown) = InitializeNonLocal : +# 1251| m1251_4(unknown) = Chi : total:m1251_2, partial:m1251_3 +# 1251| r1251_5(glval) = VariableAddress[x] : +# 1251| m1251_6(int) = InitializeParameter[x] : &:r1251_5 +# 1252| r1252_1(glval) = VariableAddress[y] : +# 1252| r1252_2(int) = Constant[0] : +# 1252| m1252_3(int) = Store[y] : &:r1252_1, r1252_2 +# 1253| r1253_1(glval) = VariableAddress[x] : +# 1253| r1253_2(int) = Load[x] : &:r1253_1, m1251_6 +# 1253| v1253_3(void) = Switch : r1253_2 +#-----| Case[1] -> Block 1 +#-----| Case[2] -> Block 2 +#-----| Default -> Block 3 + +# 1254| Block 1 +# 1254| v1254_1(void) = NoOp : +# 1255| r1255_1(int) = Constant[2] : +# 1255| r1255_2(glval) = VariableAddress[y] : +# 1255| m1255_3(int) = Store[y] : &:r1255_2, r1255_1 +# 1256| v1256_1(void) = NoOp : +#-----| Goto -> Block 3 + +# 1257| Block 2 +# 1257| v1257_1(void) = NoOp : +# 1258| r1258_1(int) = Constant[3] : +# 1258| r1258_2(glval) = VariableAddress[y] : +# 1258| m1258_3(int) = Store[y] : &:r1258_2, r1258_1 +#-----| Goto -> Block 3 + +# 1259| Block 3 +# 1259| m1259_1(int) = Phi : from 0:m1252_3, from 1:m1255_3, from 2:m1258_3 +# 1259| v1259_2(void) = NoOp : +# 1260| r1260_1(glval) = VariableAddress[z] : +# 1260| r1260_2(glval) = VariableAddress[y] : +# 1260| r1260_3(int) = Load[y] : &:r1260_2, m1259_1 +# 1260| m1260_4(int) = Store[z] : &:r1260_1, r1260_3 +# 1261| v1261_1(void) = NoOp : +# 1251| v1251_7(void) = ReturnVoid : +# 1251| v1251_8(void) = AliasedUse : m1251_3 +# 1251| v1251_9(void) = ExitFunction : + +# 1263| void switch2Case_default(int) +# 1263| Block 0 +# 1263| v1263_1(void) = EnterFunction : +# 1263| m1263_2(unknown) = AliasedDefinition : +# 1263| m1263_3(unknown) = InitializeNonLocal : +# 1263| m1263_4(unknown) = Chi : total:m1263_2, partial:m1263_3 +# 1263| r1263_5(glval) = VariableAddress[x] : +# 1263| m1263_6(int) = InitializeParameter[x] : &:r1263_5 +# 1264| r1264_1(glval) = VariableAddress[y] : +# 1264| r1264_2(int) = Constant[0] : +# 1264| m1264_3(int) = Store[y] : &:r1264_1, r1264_2 +# 1265| r1265_1(glval) = VariableAddress[x] : +# 1265| r1265_2(int) = Load[x] : &:r1265_1, m1263_6 +# 1265| v1265_3(void) = Switch : r1265_2 +#-----| Case[1] -> Block 1 +#-----| Case[2] -> Block 2 +#-----| Default -> Block 3 + +# 1266| Block 1 +# 1266| v1266_1(void) = NoOp : +# 1267| r1267_1(int) = Constant[2] : +# 1267| r1267_2(glval) = VariableAddress[y] : +# 1267| m1267_3(int) = Store[y] : &:r1267_2, r1267_1 +# 1268| v1268_1(void) = NoOp : +#-----| Goto -> Block 4 + +# 1270| Block 2 +# 1270| v1270_1(void) = NoOp : +# 1271| r1271_1(int) = Constant[3] : +# 1271| r1271_2(glval) = VariableAddress[y] : +# 1271| m1271_3(int) = Store[y] : &:r1271_2, r1271_1 +# 1272| v1272_1(void) = NoOp : +#-----| Goto -> Block 4 + +# 1274| Block 3 +# 1274| v1274_1(void) = NoOp : +# 1275| r1275_1(int) = Constant[4] : +# 1275| r1275_2(glval) = VariableAddress[y] : +# 1275| m1275_3(int) = Store[y] : &:r1275_2, r1275_1 +#-----| Goto -> Block 4 + +# 1276| Block 4 +# 1276| m1276_1(int) = Phi : from 1:m1267_3, from 2:m1271_3, from 3:m1275_3 +# 1276| v1276_2(void) = NoOp : +# 1277| r1277_1(glval) = VariableAddress[z] : +# 1277| r1277_2(glval) = VariableAddress[y] : +# 1277| r1277_3(int) = Load[y] : &:r1277_2, m1276_1 +# 1277| m1277_4(int) = Store[z] : &:r1277_1, r1277_3 +# 1278| v1278_1(void) = NoOp : +# 1263| v1263_7(void) = ReturnVoid : +# 1263| v1263_8(void) = AliasedUse : m1263_3 +# 1263| v1263_9(void) = ExitFunction : + +# 1280| int staticLocalInit(int) +# 1280| Block 0 +# 1280| v1280_1(void) = EnterFunction : +# 1280| m1280_2(unknown) = AliasedDefinition : +# 1280| m1280_3(unknown) = InitializeNonLocal : +# 1280| m1280_4(unknown) = Chi : total:m1280_2, partial:m1280_3 +# 1280| r1280_5(glval) = VariableAddress[x] : +# 1280| m1280_6(int) = InitializeParameter[x] : &:r1280_5 +# 1283| r1283_1(glval) = VariableAddress[c#init] : +# 1283| r1283_2(bool) = Load[c#init] : &:r1283_1, ~m1280_3 +# 1283| v1283_3(void) = ConditionalBranch : r1283_2 +#-----| False -> Block 1 +#-----| True -> Block 2 + +# 1283| Block 1 +# 1283| r1283_4(glval) = VariableAddress[c] : +# 1283| r1283_5(glval) = VariableAddress[x] : +# 1283| r1283_6(int) = Load[x] : &:r1283_5, m1280_6 +# 1283| m1283_7(int) = Store[c] : &:r1283_4, r1283_6 +# 1283| m1283_8(unknown) = Chi : total:m1280_4, partial:m1283_7 +# 1283| r1283_9(bool) = Constant[1] : +# 1283| m1283_10(bool) = Store[c#init] : &:r1283_1, r1283_9 +# 1283| m1283_11(unknown) = Chi : total:m1283_8, partial:m1283_10 +#-----| Goto -> Block 2 + +# 1286| Block 2 +# 1286| m1286_1(int) = Phi : from 0:~m1280_3, from 1:m1283_7 +# 1286| m1286_2(unknown) = Phi : from 0:~m1280_4, from 1:~m1283_11 +# 1286| r1286_3(glval) = VariableAddress[#return] : +# 1286| r1286_4(glval) = VariableAddress[a] : +# 1286| r1286_5(int) = Load[a] : &:r1286_4, ~m1286_2 +# 1286| r1286_6(glval) = VariableAddress[b] : +# 1286| r1286_7(int) = Load[b] : &:r1286_6, ~m1286_2 +# 1286| r1286_8(int) = Add : r1286_5, r1286_7 +# 1286| r1286_9(glval) = VariableAddress[c] : +# 1286| r1286_10(int) = Load[c] : &:r1286_9, m1286_1 +# 1286| r1286_11(int) = Add : r1286_8, r1286_10 +# 1286| r1286_12(glval) = VariableAddress[d] : +# 1286| r1286_13(int) = Load[d] : &:r1286_12, ~m1286_2 +# 1286| r1286_14(int) = Add : r1286_11, r1286_13 +# 1286| m1286_15(int) = Store[#return] : &:r1286_3, r1286_14 +# 1280| r1280_7(glval) = VariableAddress[#return] : +# 1280| v1280_8(void) = ReturnValue : &:r1280_7, m1286_15 +# 1280| v1280_9(void) = AliasedUse : ~m1286_2 +# 1280| v1280_10(void) = ExitFunction : + +# 1281| int a +# 1281| Block 0 +# 1281| v1281_1(void) = EnterFunction : +# 1281| m1281_2(unknown) = AliasedDefinition : +# 1281| r1281_3(glval) = VariableAddress[a] : +# 1281| r1281_4(int) = Constant[0] : +# 1281| m1281_5(int) = Store[a] : &:r1281_3, r1281_4 +# 1281| m1281_6(unknown) = Chi : total:m1281_2, partial:m1281_5 +# 1281| v1281_7(void) = ReturnVoid : +# 1281| v1281_8(void) = AliasedUse : ~m1281_6 +# 1281| v1281_9(void) = ExitFunction : + +# 1282| int b +# 1282| Block 0 +# 1282| v1282_1(void) = EnterFunction : +# 1282| m1282_2(unknown) = AliasedDefinition : +# 1282| r1282_3(glval) = VariableAddress[b] : +# 1282| r1282_4(int) = Constant[4] : +# 1282| m1282_5(int) = Store[b] : &:r1282_3, r1282_4 +# 1282| m1282_6(unknown) = Chi : total:m1282_2, partial:m1282_5 +# 1282| v1282_7(void) = ReturnVoid : +# 1282| v1282_8(void) = AliasedUse : ~m1282_6 +# 1282| v1282_9(void) = ExitFunction : + +# 1289| void staticLocalWithConstructor(char const*) +# 1289| Block 0 +# 1289| v1289_1(void) = EnterFunction : +# 1289| m1289_2(unknown) = AliasedDefinition : +# 1289| m1289_3(unknown) = InitializeNonLocal : +# 1289| m1289_4(unknown) = Chi : total:m1289_2, partial:m1289_3 +# 1289| r1289_5(glval) = VariableAddress[dynamic] : +# 1289| m1289_6(char *) = InitializeParameter[dynamic] : &:r1289_5 +# 1289| r1289_7(char *) = Load[dynamic] : &:r1289_5, m1289_6 +# 1289| m1289_8(unknown) = InitializeIndirection[dynamic] : &:r1289_7 +# 1290| r1290_1(glval) = VariableAddress[a#init] : +# 1290| r1290_2(bool) = Load[a#init] : &:r1290_1, ~m1289_3 +# 1290| v1290_3(void) = ConditionalBranch : r1290_2 +#-----| False -> Block 1 +#-----| True -> Block 2 + +# 1290| Block 1 +# 1290| r1290_4(glval) = VariableAddress[a] : +#-----| r0_1(glval) = FunctionAddress[String] : +#-----| v0_2(void) = Call[String] : func:r0_1, this:r1290_4 +#-----| m0_3(unknown) = ^CallSideEffect : ~m1289_4 +#-----| m0_4(unknown) = Chi : total:m1289_4, partial:m0_3 +#-----| m0_5(String) = ^IndirectMayWriteSideEffect[-1] : &:r1290_4 +#-----| m0_6(unknown) = Chi : total:m0_4, partial:m0_5 +# 1290| r1290_5(bool) = Constant[1] : +# 1290| m1290_6(bool) = Store[a#init] : &:r1290_1, r1290_5 +# 1290| m1290_7(unknown) = Chi : total:m0_6, partial:m1290_6 +#-----| Goto -> Block 2 + +# 1291| Block 2 +# 1291| m1291_1(unknown) = Phi : from 0:~m1289_4, from 1:~m1290_7 +# 1291| r1291_2(glval) = VariableAddress[b#init] : +# 1291| r1291_3(bool) = Load[b#init] : &:r1291_2, ~m1291_1 +# 1291| v1291_4(void) = ConditionalBranch : r1291_3 #-----| False -> Block 3 #-----| True -> Block 4 -# 1244| Block 3 -# 1244| r1244_5(glval) = VariableAddress[b] : -# 1244| r1244_6(glval) = FunctionAddress[String] : -# 1244| r1244_7(glval) = StringConstant["static"] : -# 1244| r1244_8(char *) = Convert : r1244_7 -# 1244| v1244_9(void) = Call[String] : func:r1244_6, this:r1244_5, 0:r1244_8 -# 1244| m1244_10(unknown) = ^CallSideEffect : ~m1244_1 -# 1244| m1244_11(unknown) = Chi : total:m1244_1, partial:m1244_10 -# 1244| v1244_12(void) = ^BufferReadSideEffect[0] : &:r1244_8, ~m1242_3 -# 1244| m1244_13(String) = ^IndirectMayWriteSideEffect[-1] : &:r1244_5 -# 1244| m1244_14(unknown) = Chi : total:m1244_11, partial:m1244_13 -# 1244| r1244_15(bool) = Constant[1] : -# 1244| m1244_16(bool) = Store[b#init] : &:r1244_2, r1244_15 -# 1244| m1244_17(unknown) = Chi : total:m1244_14, partial:m1244_16 +# 1291| Block 3 +# 1291| r1291_5(glval) = VariableAddress[b] : +# 1291| r1291_6(glval) = FunctionAddress[String] : +# 1291| r1291_7(glval) = StringConstant["static"] : +# 1291| r1291_8(char *) = Convert : r1291_7 +# 1291| v1291_9(void) = Call[String] : func:r1291_6, this:r1291_5, 0:r1291_8 +# 1291| m1291_10(unknown) = ^CallSideEffect : ~m1291_1 +# 1291| m1291_11(unknown) = Chi : total:m1291_1, partial:m1291_10 +# 1291| v1291_12(void) = ^BufferReadSideEffect[0] : &:r1291_8, ~m1289_3 +# 1291| m1291_13(String) = ^IndirectMayWriteSideEffect[-1] : &:r1291_5 +# 1291| m1291_14(unknown) = Chi : total:m1291_11, partial:m1291_13 +# 1291| r1291_15(bool) = Constant[1] : +# 1291| m1291_16(bool) = Store[b#init] : &:r1291_2, r1291_15 +# 1291| m1291_17(unknown) = Chi : total:m1291_14, partial:m1291_16 #-----| Goto -> Block 4 -# 1245| Block 4 -# 1245| m1245_1(unknown) = Phi : from 2:~m1244_1, from 3:~m1244_17 -# 1245| r1245_2(glval) = VariableAddress[c#init] : -# 1245| r1245_3(bool) = Load[c#init] : &:r1245_2, ~m1245_1 -# 1245| v1245_4(void) = ConditionalBranch : r1245_3 +# 1292| Block 4 +# 1292| m1292_1(unknown) = Phi : from 2:~m1291_1, from 3:~m1291_17 +# 1292| r1292_2(glval) = VariableAddress[c#init] : +# 1292| r1292_3(bool) = Load[c#init] : &:r1292_2, ~m1292_1 +# 1292| v1292_4(void) = ConditionalBranch : r1292_3 #-----| False -> Block 5 #-----| True -> Block 6 -# 1245| Block 5 -# 1245| r1245_5(glval) = VariableAddress[c] : -# 1245| r1245_6(glval) = FunctionAddress[String] : -# 1245| r1245_7(glval) = VariableAddress[dynamic] : -# 1245| r1245_8(char *) = Load[dynamic] : &:r1245_7, m1242_6 -# 1245| v1245_9(void) = Call[String] : func:r1245_6, this:r1245_5, 0:r1245_8 -# 1245| m1245_10(unknown) = ^CallSideEffect : ~m1245_1 -# 1245| m1245_11(unknown) = Chi : total:m1245_1, partial:m1245_10 -# 1245| v1245_12(void) = ^BufferReadSideEffect[0] : &:r1245_8, ~m1242_8 -# 1245| m1245_13(String) = ^IndirectMayWriteSideEffect[-1] : &:r1245_5 -# 1245| m1245_14(unknown) = Chi : total:m1245_11, partial:m1245_13 -# 1245| r1245_15(bool) = Constant[1] : -# 1245| m1245_16(bool) = Store[c#init] : &:r1245_2, r1245_15 -# 1245| m1245_17(unknown) = Chi : total:m1245_14, partial:m1245_16 +# 1292| Block 5 +# 1292| r1292_5(glval) = VariableAddress[c] : +# 1292| r1292_6(glval) = FunctionAddress[String] : +# 1292| r1292_7(glval) = VariableAddress[dynamic] : +# 1292| r1292_8(char *) = Load[dynamic] : &:r1292_7, m1289_6 +# 1292| v1292_9(void) = Call[String] : func:r1292_6, this:r1292_5, 0:r1292_8 +# 1292| m1292_10(unknown) = ^CallSideEffect : ~m1292_1 +# 1292| m1292_11(unknown) = Chi : total:m1292_1, partial:m1292_10 +# 1292| v1292_12(void) = ^BufferReadSideEffect[0] : &:r1292_8, ~m1289_8 +# 1292| m1292_13(String) = ^IndirectMayWriteSideEffect[-1] : &:r1292_5 +# 1292| m1292_14(unknown) = Chi : total:m1292_11, partial:m1292_13 +# 1292| r1292_15(bool) = Constant[1] : +# 1292| m1292_16(bool) = Store[c#init] : &:r1292_2, r1292_15 +# 1292| m1292_17(unknown) = Chi : total:m1292_14, partial:m1292_16 #-----| Goto -> Block 6 -# 1246| Block 6 -# 1246| m1246_1(unknown) = Phi : from 4:~m1245_1, from 5:~m1245_17 -# 1246| v1246_2(void) = NoOp : -# 1242| v1242_9(void) = ReturnIndirection[dynamic] : &:r1242_7, m1242_8 -# 1242| v1242_10(void) = ReturnVoid : -# 1242| v1242_11(void) = AliasedUse : ~m1246_1 -# 1242| v1242_12(void) = ExitFunction : +# 1293| Block 6 +# 1293| m1293_1(unknown) = Phi : from 4:~m1292_1, from 5:~m1292_17 +# 1293| v1293_2(void) = NoOp : +# 1289| v1289_9(void) = ReturnIndirection[dynamic] : &:r1289_7, m1289_8 +# 1289| v1289_10(void) = ReturnVoid : +# 1289| v1289_11(void) = AliasedUse : ~m1293_1 +# 1289| v1289_12(void) = ExitFunction : -# 1253| void test_strings(char*, char*) -# 1253| Block 0 -# 1253| v1253_1(void) = EnterFunction : -# 1253| m1253_2(unknown) = AliasedDefinition : -# 1253| m1253_3(unknown) = InitializeNonLocal : -# 1253| m1253_4(unknown) = Chi : total:m1253_2, partial:m1253_3 -# 1253| r1253_5(glval) = VariableAddress[s1] : -# 1253| m1253_6(char *) = InitializeParameter[s1] : &:r1253_5 -# 1253| r1253_7(char *) = Load[s1] : &:r1253_5, m1253_6 -# 1253| m1253_8(unknown) = InitializeIndirection[s1] : &:r1253_7 -# 1253| r1253_9(glval) = VariableAddress[s2] : -# 1253| m1253_10(char *) = InitializeParameter[s2] : &:r1253_9 -# 1253| r1253_11(char *) = Load[s2] : &:r1253_9, m1253_10 -# 1253| m1253_12(unknown) = InitializeIndirection[s2] : &:r1253_11 -# 1254| r1254_1(glval) = VariableAddress[buffer] : -# 1254| m1254_2(char[1024]) = Uninitialized[buffer] : &:r1254_1 -# 1254| r1254_3(int) = Constant[0] : -# 1254| r1254_4(glval) = PointerAdd[1] : r1254_1, r1254_3 -# 1254| r1254_5(char) = Constant[0] : -# 1254| m1254_6(char) = Store[?] : &:r1254_4, r1254_5 -# 1254| m1254_7(char[1024]) = Chi : total:m1254_2, partial:m1254_6 -# 1254| r1254_8(int) = Constant[1] : -# 1254| r1254_9(glval) = PointerAdd[1] : r1254_1, r1254_8 -# 1254| r1254_10(unknown[1023]) = Constant[0] : -# 1254| m1254_11(unknown[1023]) = Store[?] : &:r1254_9, r1254_10 -# 1254| m1254_12(char[1024]) = Chi : total:m1254_7, partial:m1254_11 -# 1256| r1256_1(glval) = FunctionAddress[strcpy] : -# 1256| r1256_2(glval) = VariableAddress[buffer] : -# 1256| r1256_3(char *) = Convert : r1256_2 -# 1256| r1256_4(glval) = VariableAddress[s1] : -# 1256| r1256_5(char *) = Load[s1] : &:r1256_4, m1253_6 -# 1256| r1256_6(char *) = Convert : r1256_5 -# 1256| r1256_7(char *) = Call[strcpy] : func:r1256_1, 0:r1256_3, 1:r1256_6 -# 1256| v1256_8(void) = ^BufferReadSideEffect[1] : &:r1256_6, ~m1253_8 -# 1256| m1256_9(unknown) = ^BufferMayWriteSideEffect[0] : &:r1256_3 -# 1256| m1256_10(char[1024]) = Chi : total:m1254_12, partial:m1256_9 -# 1257| r1257_1(glval) = FunctionAddress[strcat] : -# 1257| r1257_2(glval) = VariableAddress[buffer] : -# 1257| r1257_3(char *) = Convert : r1257_2 -# 1257| r1257_4(glval) = VariableAddress[s2] : -# 1257| r1257_5(char *) = Load[s2] : &:r1257_4, m1253_10 -# 1257| r1257_6(char *) = Convert : r1257_5 -# 1257| r1257_7(char *) = Call[strcat] : func:r1257_1, 0:r1257_3, 1:r1257_6 -# 1257| v1257_8(void) = ^BufferReadSideEffect[0] : &:r1257_3, ~m1256_10 -# 1257| v1257_9(void) = ^BufferReadSideEffect[1] : &:r1257_6, ~m1253_12 -# 1257| m1257_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r1257_3 -# 1257| m1257_11(char[1024]) = Chi : total:m1256_10, partial:m1257_10 -# 1258| v1258_1(void) = NoOp : -# 1253| v1253_13(void) = ReturnIndirection[s1] : &:r1253_7, m1253_8 -# 1253| v1253_14(void) = ReturnIndirection[s2] : &:r1253_11, m1253_12 -# 1253| v1253_15(void) = ReturnVoid : -# 1253| v1253_16(void) = AliasedUse : m1253_3 -# 1253| v1253_17(void) = ExitFunction : +# 1300| void test_strings(char*, char*) +# 1300| Block 0 +# 1300| v1300_1(void) = EnterFunction : +# 1300| m1300_2(unknown) = AliasedDefinition : +# 1300| m1300_3(unknown) = InitializeNonLocal : +# 1300| m1300_4(unknown) = Chi : total:m1300_2, partial:m1300_3 +# 1300| r1300_5(glval) = VariableAddress[s1] : +# 1300| m1300_6(char *) = InitializeParameter[s1] : &:r1300_5 +# 1300| r1300_7(char *) = Load[s1] : &:r1300_5, m1300_6 +# 1300| m1300_8(unknown) = InitializeIndirection[s1] : &:r1300_7 +# 1300| r1300_9(glval) = VariableAddress[s2] : +# 1300| m1300_10(char *) = InitializeParameter[s2] : &:r1300_9 +# 1300| r1300_11(char *) = Load[s2] : &:r1300_9, m1300_10 +# 1300| m1300_12(unknown) = InitializeIndirection[s2] : &:r1300_11 +# 1301| r1301_1(glval) = VariableAddress[buffer] : +# 1301| m1301_2(char[1024]) = Uninitialized[buffer] : &:r1301_1 +# 1301| r1301_3(int) = Constant[0] : +# 1301| r1301_4(glval) = PointerAdd[1] : r1301_1, r1301_3 +# 1301| r1301_5(char) = Constant[0] : +# 1301| m1301_6(char) = Store[?] : &:r1301_4, r1301_5 +# 1301| m1301_7(char[1024]) = Chi : total:m1301_2, partial:m1301_6 +# 1301| r1301_8(int) = Constant[1] : +# 1301| r1301_9(glval) = PointerAdd[1] : r1301_1, r1301_8 +# 1301| r1301_10(unknown[1023]) = Constant[0] : +# 1301| m1301_11(unknown[1023]) = Store[?] : &:r1301_9, r1301_10 +# 1301| m1301_12(char[1024]) = Chi : total:m1301_7, partial:m1301_11 +# 1303| r1303_1(glval) = FunctionAddress[strcpy] : +# 1303| r1303_2(glval) = VariableAddress[buffer] : +# 1303| r1303_3(char *) = Convert : r1303_2 +# 1303| r1303_4(glval) = VariableAddress[s1] : +# 1303| r1303_5(char *) = Load[s1] : &:r1303_4, m1300_6 +# 1303| r1303_6(char *) = Convert : r1303_5 +# 1303| r1303_7(char *) = Call[strcpy] : func:r1303_1, 0:r1303_3, 1:r1303_6 +# 1303| v1303_8(void) = ^BufferReadSideEffect[1] : &:r1303_6, ~m1300_8 +# 1303| m1303_9(unknown) = ^BufferMayWriteSideEffect[0] : &:r1303_3 +# 1303| m1303_10(char[1024]) = Chi : total:m1301_12, partial:m1303_9 +# 1304| r1304_1(glval) = FunctionAddress[strcat] : +# 1304| r1304_2(glval) = VariableAddress[buffer] : +# 1304| r1304_3(char *) = Convert : r1304_2 +# 1304| r1304_4(glval) = VariableAddress[s2] : +# 1304| r1304_5(char *) = Load[s2] : &:r1304_4, m1300_10 +# 1304| r1304_6(char *) = Convert : r1304_5 +# 1304| r1304_7(char *) = Call[strcat] : func:r1304_1, 0:r1304_3, 1:r1304_6 +# 1304| v1304_8(void) = ^BufferReadSideEffect[0] : &:r1304_3, ~m1303_10 +# 1304| v1304_9(void) = ^BufferReadSideEffect[1] : &:r1304_6, ~m1300_12 +# 1304| m1304_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r1304_3 +# 1304| m1304_11(char[1024]) = Chi : total:m1303_10, partial:m1304_10 +# 1305| v1305_1(void) = NoOp : +# 1300| v1300_13(void) = ReturnIndirection[s1] : &:r1300_7, m1300_8 +# 1300| v1300_14(void) = ReturnIndirection[s2] : &:r1300_11, m1300_12 +# 1300| v1300_15(void) = ReturnVoid : +# 1300| v1300_16(void) = AliasedUse : m1300_3 +# 1300| v1300_17(void) = ExitFunction : -# 1263| void A::static_member(A*, int) -# 1263| Block 0 -# 1263| v1263_1(void) = EnterFunction : -# 1263| m1263_2(unknown) = AliasedDefinition : -# 1263| m1263_3(unknown) = InitializeNonLocal : -# 1263| m1263_4(unknown) = Chi : total:m1263_2, partial:m1263_3 -# 1263| r1263_5(glval) = VariableAddress[a] : -# 1263| m1263_6(A *) = InitializeParameter[a] : &:r1263_5 -# 1263| r1263_7(A *) = Load[a] : &:r1263_5, m1263_6 -# 1263| m1263_8(unknown) = InitializeIndirection[a] : &:r1263_7 -# 1263| r1263_9(glval) = VariableAddress[x] : -# 1263| m1263_10(int) = InitializeParameter[x] : &:r1263_9 -# 1264| r1264_1(glval) = VariableAddress[x] : -# 1264| r1264_2(int) = Load[x] : &:r1264_1, m1263_10 -# 1264| r1264_3(glval) = VariableAddress[a] : -# 1264| r1264_4(A *) = Load[a] : &:r1264_3, m1263_6 -# 1264| r1264_5(glval) = FieldAddress[member] : r1264_4 -# 1264| m1264_6(int) = Store[?] : &:r1264_5, r1264_2 -# 1264| m1264_7(unknown) = Chi : total:m1263_8, partial:m1264_6 -# 1265| v1265_1(void) = NoOp : -# 1263| v1263_11(void) = ReturnIndirection[a] : &:r1263_7, m1264_7 -# 1263| v1263_12(void) = ReturnVoid : -# 1263| v1263_13(void) = AliasedUse : m1263_3 -# 1263| v1263_14(void) = ExitFunction : +# 1310| void A::static_member(A*, int) +# 1310| Block 0 +# 1310| v1310_1(void) = EnterFunction : +# 1310| m1310_2(unknown) = AliasedDefinition : +# 1310| m1310_3(unknown) = InitializeNonLocal : +# 1310| m1310_4(unknown) = Chi : total:m1310_2, partial:m1310_3 +# 1310| r1310_5(glval) = VariableAddress[a] : +# 1310| m1310_6(A *) = InitializeParameter[a] : &:r1310_5 +# 1310| r1310_7(A *) = Load[a] : &:r1310_5, m1310_6 +# 1310| m1310_8(unknown) = InitializeIndirection[a] : &:r1310_7 +# 1310| r1310_9(glval) = VariableAddress[x] : +# 1310| m1310_10(int) = InitializeParameter[x] : &:r1310_9 +# 1311| r1311_1(glval) = VariableAddress[x] : +# 1311| r1311_2(int) = Load[x] : &:r1311_1, m1310_10 +# 1311| r1311_3(glval) = VariableAddress[a] : +# 1311| r1311_4(A *) = Load[a] : &:r1311_3, m1310_6 +# 1311| r1311_5(glval) = FieldAddress[member] : r1311_4 +# 1311| m1311_6(int) = Store[?] : &:r1311_5, r1311_2 +# 1311| m1311_7(unknown) = Chi : total:m1310_8, partial:m1311_6 +# 1312| v1312_1(void) = NoOp : +# 1310| v1310_11(void) = ReturnIndirection[a] : &:r1310_7, m1311_7 +# 1310| v1310_12(void) = ReturnVoid : +# 1310| v1310_13(void) = AliasedUse : m1310_3 +# 1310| v1310_14(void) = ExitFunction : -# 1272| void test_static_member_functions(int, A*) -# 1272| Block 0 -# 1272| v1272_1(void) = EnterFunction : -# 1272| m1272_2(unknown) = AliasedDefinition : -# 1272| m1272_3(unknown) = InitializeNonLocal : -# 1272| m1272_4(unknown) = Chi : total:m1272_2, partial:m1272_3 -# 1272| r1272_5(glval) = VariableAddress[int_arg] : -# 1272| m1272_6(int) = InitializeParameter[int_arg] : &:r1272_5 -# 1272| r1272_7(glval) = VariableAddress[a_arg] : -# 1272| m1272_8(A *) = InitializeParameter[a_arg] : &:r1272_7 -# 1272| r1272_9(A *) = Load[a_arg] : &:r1272_7, m1272_8 -# 1272| m1272_10(unknown) = InitializeIndirection[a_arg] : &:r1272_9 -# 1273| r1273_1(glval) = VariableAddress[c] : -# 1273| m1273_2(C) = Uninitialized[c] : &:r1273_1 -# 1273| r1273_3(glval) = FunctionAddress[C] : -# 1273| v1273_4(void) = Call[C] : func:r1273_3, this:r1273_1 -# 1273| m1273_5(unknown) = ^CallSideEffect : ~m1272_4 -# 1273| m1273_6(unknown) = Chi : total:m1272_4, partial:m1273_5 -# 1273| m1273_7(C) = ^IndirectMayWriteSideEffect[-1] : &:r1273_1 -# 1273| m1273_8(C) = Chi : total:m1273_2, partial:m1273_7 -# 1274| r1274_1(glval) = VariableAddress[c] : -# 1274| r1274_2(glval) = FunctionAddress[StaticMemberFunction] : -# 1274| r1274_3(int) = Constant[10] : -# 1274| r1274_4(int) = Call[StaticMemberFunction] : func:r1274_2, 0:r1274_3 -# 1274| m1274_5(unknown) = ^CallSideEffect : ~m1273_6 -# 1274| m1274_6(unknown) = Chi : total:m1273_6, partial:m1274_5 -# 1275| r1275_1(glval) = FunctionAddress[StaticMemberFunction] : -# 1275| r1275_2(int) = Constant[10] : -# 1275| r1275_3(int) = Call[StaticMemberFunction] : func:r1275_1, 0:r1275_2 -# 1275| m1275_4(unknown) = ^CallSideEffect : ~m1274_6 -# 1275| m1275_5(unknown) = Chi : total:m1274_6, partial:m1275_4 -# 1277| r1277_1(glval) = VariableAddress[a] : -# 1277| m1277_2(A) = Uninitialized[a] : &:r1277_1 -# 1278| r1278_1(glval) = VariableAddress[a] : -# 1278| r1278_2(glval) = FunctionAddress[static_member] : -# 1278| r1278_3(glval) = VariableAddress[a] : -# 1278| r1278_4(A *) = CopyValue : r1278_3 -# 1278| r1278_5(glval) = VariableAddress[int_arg] : -# 1278| r1278_6(int) = Load[int_arg] : &:r1278_5, m1272_6 -# 1278| v1278_7(void) = Call[static_member] : func:r1278_2, 0:r1278_4, 1:r1278_6 -# 1278| m1278_8(unknown) = ^CallSideEffect : ~m1275_5 -# 1278| m1278_9(unknown) = Chi : total:m1275_5, partial:m1278_8 -# 1278| v1278_10(void) = ^BufferReadSideEffect[0] : &:r1278_4, ~m1277_2 -# 1278| m1278_11(unknown) = ^BufferMayWriteSideEffect[0] : &:r1278_4 -# 1278| m1278_12(A) = Chi : total:m1277_2, partial:m1278_11 -# 1279| r1279_1(glval) = FunctionAddress[static_member] : -# 1279| r1279_2(glval) = VariableAddress[a] : -# 1279| r1279_3(A *) = CopyValue : r1279_2 -# 1279| r1279_4(glval) = VariableAddress[int_arg] : -# 1279| r1279_5(int) = Load[int_arg] : &:r1279_4, m1272_6 -# 1279| v1279_6(void) = Call[static_member] : func:r1279_1, 0:r1279_3, 1:r1279_5 -# 1279| m1279_7(unknown) = ^CallSideEffect : ~m1278_9 -# 1279| m1279_8(unknown) = Chi : total:m1278_9, partial:m1279_7 -# 1279| v1279_9(void) = ^BufferReadSideEffect[0] : &:r1279_3, ~m1278_12 -# 1279| m1279_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r1279_3 -# 1279| m1279_11(A) = Chi : total:m1278_12, partial:m1279_10 -# 1281| r1281_1(glval) = VariableAddress[a] : -# 1281| r1281_2(A *) = CopyValue : r1281_1 -# 1281| r1281_3(glval) = FunctionAddress[static_member] : -# 1281| r1281_4(glval) = VariableAddress[a_arg] : -# 1281| r1281_5(A *) = Load[a_arg] : &:r1281_4, m1272_8 -# 1281| r1281_6(glval) = VariableAddress[int_arg] : -# 1281| r1281_7(int) = Load[int_arg] : &:r1281_6, m1272_6 -# 1281| r1281_8(int) = Constant[2] : -# 1281| r1281_9(int) = Add : r1281_7, r1281_8 -# 1281| v1281_10(void) = Call[static_member] : func:r1281_3, 0:r1281_5, 1:r1281_9 -# 1281| m1281_11(unknown) = ^CallSideEffect : ~m1279_8 -# 1281| m1281_12(unknown) = Chi : total:m1279_8, partial:m1281_11 -# 1281| v1281_13(void) = ^BufferReadSideEffect[0] : &:r1281_5, ~m1272_10 -# 1281| m1281_14(unknown) = ^BufferMayWriteSideEffect[0] : &:r1281_5 -# 1281| m1281_15(unknown) = Chi : total:m1272_10, partial:m1281_14 -# 1282| r1282_1(glval) = VariableAddress[a_arg] : -# 1282| r1282_2(A *) = Load[a_arg] : &:r1282_1, m1272_8 -# 1282| r1282_3(glval) = CopyValue : r1282_2 -# 1282| r1282_4(glval) = FunctionAddress[static_member] : -# 1282| r1282_5(glval) = VariableAddress[a] : -# 1282| r1282_6(A *) = CopyValue : r1282_5 -# 1282| r1282_7(int) = Constant[99] : -# 1282| v1282_8(void) = Call[static_member] : func:r1282_4, 0:r1282_6, 1:r1282_7 -# 1282| m1282_9(unknown) = ^CallSideEffect : ~m1281_12 -# 1282| m1282_10(unknown) = Chi : total:m1281_12, partial:m1282_9 -# 1282| v1282_11(void) = ^BufferReadSideEffect[0] : &:r1282_6, ~m1279_11 -# 1282| m1282_12(unknown) = ^BufferMayWriteSideEffect[0] : &:r1282_6 -# 1282| m1282_13(A) = Chi : total:m1279_11, partial:m1282_12 -# 1283| r1283_1(glval) = VariableAddress[a_arg] : -# 1283| r1283_2(A *) = Load[a_arg] : &:r1283_1, m1272_8 -# 1283| r1283_3(glval) = FunctionAddress[static_member] : -# 1283| r1283_4(glval) = VariableAddress[a_arg] : -# 1283| r1283_5(A *) = Load[a_arg] : &:r1283_4, m1272_8 -# 1283| r1283_6(int) = Constant[-1] : -# 1283| v1283_7(void) = Call[static_member] : func:r1283_3, 0:r1283_5, 1:r1283_6 -# 1283| m1283_8(unknown) = ^CallSideEffect : ~m1282_10 -# 1283| m1283_9(unknown) = Chi : total:m1282_10, partial:m1283_8 -# 1283| v1283_10(void) = ^BufferReadSideEffect[0] : &:r1283_5, ~m1281_15 -# 1283| m1283_11(unknown) = ^BufferMayWriteSideEffect[0] : &:r1283_5 -# 1283| m1283_12(unknown) = Chi : total:m1281_15, partial:m1283_11 -# 1285| r1285_1(glval) = VariableAddress[a] : -# 1285| r1285_2(glval) = FunctionAddress[static_member_without_def] : -# 1285| v1285_3(void) = Call[static_member_without_def] : func:r1285_2 -# 1285| m1285_4(unknown) = ^CallSideEffect : ~m1283_9 -# 1285| m1285_5(unknown) = Chi : total:m1283_9, partial:m1285_4 -# 1286| r1286_1(glval) = FunctionAddress[static_member_without_def] : -# 1286| v1286_2(void) = Call[static_member_without_def] : func:r1286_1 -# 1286| m1286_3(unknown) = ^CallSideEffect : ~m1285_5 -# 1286| m1286_4(unknown) = Chi : total:m1285_5, partial:m1286_3 -# 1288| r1288_1(glval) = FunctionAddress[getAnInstanceOfA] : -# 1288| r1288_2(A *) = Call[getAnInstanceOfA] : func:r1288_1 -# 1288| m1288_3(unknown) = ^CallSideEffect : ~m1286_4 -# 1288| m1288_4(unknown) = Chi : total:m1286_4, partial:m1288_3 -# 1288| r1288_5(glval) = FunctionAddress[static_member_without_def] : -# 1288| v1288_6(void) = Call[static_member_without_def] : func:r1288_5 -# 1288| m1288_7(unknown) = ^CallSideEffect : ~m1288_4 -# 1288| m1288_8(unknown) = Chi : total:m1288_4, partial:m1288_7 -# 1289| v1289_1(void) = NoOp : -# 1289| r1289_2(glval) = VariableAddress[c] : -# 1289| r1289_3(glval) = FunctionAddress[~C] : -# 1289| v1289_4(void) = Call[~C] : func:r1289_3, this:r1289_2 -# 1289| m1289_5(unknown) = ^CallSideEffect : ~m1288_8 -# 1289| m1289_6(unknown) = Chi : total:m1288_8, partial:m1289_5 -# 1289| v1289_7(void) = ^IndirectReadSideEffect[-1] : &:r1289_2, m1273_8 -# 1289| m1289_8(C) = ^IndirectMayWriteSideEffect[-1] : &:r1289_2 -# 1289| m1289_9(C) = Chi : total:m1273_8, partial:m1289_8 -# 1272| v1272_11(void) = ReturnIndirection[a_arg] : &:r1272_9, m1283_12 -# 1272| v1272_12(void) = ReturnVoid : -# 1272| v1272_13(void) = AliasedUse : ~m1289_6 -# 1272| v1272_14(void) = ExitFunction : +# 1319| void test_static_member_functions(int, A*) +# 1319| Block 0 +# 1319| v1319_1(void) = EnterFunction : +# 1319| m1319_2(unknown) = AliasedDefinition : +# 1319| m1319_3(unknown) = InitializeNonLocal : +# 1319| m1319_4(unknown) = Chi : total:m1319_2, partial:m1319_3 +# 1319| r1319_5(glval) = VariableAddress[int_arg] : +# 1319| m1319_6(int) = InitializeParameter[int_arg] : &:r1319_5 +# 1319| r1319_7(glval) = VariableAddress[a_arg] : +# 1319| m1319_8(A *) = InitializeParameter[a_arg] : &:r1319_7 +# 1319| r1319_9(A *) = Load[a_arg] : &:r1319_7, m1319_8 +# 1319| m1319_10(unknown) = InitializeIndirection[a_arg] : &:r1319_9 +# 1320| r1320_1(glval) = VariableAddress[c] : +# 1320| m1320_2(C) = Uninitialized[c] : &:r1320_1 +# 1320| r1320_3(glval) = FunctionAddress[C] : +# 1320| v1320_4(void) = Call[C] : func:r1320_3, this:r1320_1 +# 1320| m1320_5(unknown) = ^CallSideEffect : ~m1319_4 +# 1320| m1320_6(unknown) = Chi : total:m1319_4, partial:m1320_5 +# 1320| m1320_7(C) = ^IndirectMayWriteSideEffect[-1] : &:r1320_1 +# 1320| m1320_8(C) = Chi : total:m1320_2, partial:m1320_7 +# 1321| r1321_1(glval) = VariableAddress[c] : +# 1321| r1321_2(glval) = FunctionAddress[StaticMemberFunction] : +# 1321| r1321_3(int) = Constant[10] : +# 1321| r1321_4(int) = Call[StaticMemberFunction] : func:r1321_2, 0:r1321_3 +# 1321| m1321_5(unknown) = ^CallSideEffect : ~m1320_6 +# 1321| m1321_6(unknown) = Chi : total:m1320_6, partial:m1321_5 +# 1322| r1322_1(glval) = FunctionAddress[StaticMemberFunction] : +# 1322| r1322_2(int) = Constant[10] : +# 1322| r1322_3(int) = Call[StaticMemberFunction] : func:r1322_1, 0:r1322_2 +# 1322| m1322_4(unknown) = ^CallSideEffect : ~m1321_6 +# 1322| m1322_5(unknown) = Chi : total:m1321_6, partial:m1322_4 +# 1324| r1324_1(glval) = VariableAddress[a] : +# 1324| m1324_2(A) = Uninitialized[a] : &:r1324_1 +# 1325| r1325_1(glval) = VariableAddress[a] : +# 1325| r1325_2(glval) = FunctionAddress[static_member] : +# 1325| r1325_3(glval) = VariableAddress[a] : +# 1325| r1325_4(A *) = CopyValue : r1325_3 +# 1325| r1325_5(glval) = VariableAddress[int_arg] : +# 1325| r1325_6(int) = Load[int_arg] : &:r1325_5, m1319_6 +# 1325| v1325_7(void) = Call[static_member] : func:r1325_2, 0:r1325_4, 1:r1325_6 +# 1325| m1325_8(unknown) = ^CallSideEffect : ~m1322_5 +# 1325| m1325_9(unknown) = Chi : total:m1322_5, partial:m1325_8 +# 1325| v1325_10(void) = ^BufferReadSideEffect[0] : &:r1325_4, ~m1324_2 +# 1325| m1325_11(unknown) = ^BufferMayWriteSideEffect[0] : &:r1325_4 +# 1325| m1325_12(A) = Chi : total:m1324_2, partial:m1325_11 +# 1326| r1326_1(glval) = FunctionAddress[static_member] : +# 1326| r1326_2(glval) = VariableAddress[a] : +# 1326| r1326_3(A *) = CopyValue : r1326_2 +# 1326| r1326_4(glval) = VariableAddress[int_arg] : +# 1326| r1326_5(int) = Load[int_arg] : &:r1326_4, m1319_6 +# 1326| v1326_6(void) = Call[static_member] : func:r1326_1, 0:r1326_3, 1:r1326_5 +# 1326| m1326_7(unknown) = ^CallSideEffect : ~m1325_9 +# 1326| m1326_8(unknown) = Chi : total:m1325_9, partial:m1326_7 +# 1326| v1326_9(void) = ^BufferReadSideEffect[0] : &:r1326_3, ~m1325_12 +# 1326| m1326_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r1326_3 +# 1326| m1326_11(A) = Chi : total:m1325_12, partial:m1326_10 +# 1328| r1328_1(glval) = VariableAddress[a] : +# 1328| r1328_2(A *) = CopyValue : r1328_1 +# 1328| r1328_3(glval) = FunctionAddress[static_member] : +# 1328| r1328_4(glval) = VariableAddress[a_arg] : +# 1328| r1328_5(A *) = Load[a_arg] : &:r1328_4, m1319_8 +# 1328| r1328_6(glval) = VariableAddress[int_arg] : +# 1328| r1328_7(int) = Load[int_arg] : &:r1328_6, m1319_6 +# 1328| r1328_8(int) = Constant[2] : +# 1328| r1328_9(int) = Add : r1328_7, r1328_8 +# 1328| v1328_10(void) = Call[static_member] : func:r1328_3, 0:r1328_5, 1:r1328_9 +# 1328| m1328_11(unknown) = ^CallSideEffect : ~m1326_8 +# 1328| m1328_12(unknown) = Chi : total:m1326_8, partial:m1328_11 +# 1328| v1328_13(void) = ^BufferReadSideEffect[0] : &:r1328_5, ~m1319_10 +# 1328| m1328_14(unknown) = ^BufferMayWriteSideEffect[0] : &:r1328_5 +# 1328| m1328_15(unknown) = Chi : total:m1319_10, partial:m1328_14 +# 1329| r1329_1(glval) = VariableAddress[a_arg] : +# 1329| r1329_2(A *) = Load[a_arg] : &:r1329_1, m1319_8 +# 1329| r1329_3(glval) = CopyValue : r1329_2 +# 1329| r1329_4(glval) = FunctionAddress[static_member] : +# 1329| r1329_5(glval) = VariableAddress[a] : +# 1329| r1329_6(A *) = CopyValue : r1329_5 +# 1329| r1329_7(int) = Constant[99] : +# 1329| v1329_8(void) = Call[static_member] : func:r1329_4, 0:r1329_6, 1:r1329_7 +# 1329| m1329_9(unknown) = ^CallSideEffect : ~m1328_12 +# 1329| m1329_10(unknown) = Chi : total:m1328_12, partial:m1329_9 +# 1329| v1329_11(void) = ^BufferReadSideEffect[0] : &:r1329_6, ~m1326_11 +# 1329| m1329_12(unknown) = ^BufferMayWriteSideEffect[0] : &:r1329_6 +# 1329| m1329_13(A) = Chi : total:m1326_11, partial:m1329_12 +# 1330| r1330_1(glval) = VariableAddress[a_arg] : +# 1330| r1330_2(A *) = Load[a_arg] : &:r1330_1, m1319_8 +# 1330| r1330_3(glval) = FunctionAddress[static_member] : +# 1330| r1330_4(glval) = VariableAddress[a_arg] : +# 1330| r1330_5(A *) = Load[a_arg] : &:r1330_4, m1319_8 +# 1330| r1330_6(int) = Constant[-1] : +# 1330| v1330_7(void) = Call[static_member] : func:r1330_3, 0:r1330_5, 1:r1330_6 +# 1330| m1330_8(unknown) = ^CallSideEffect : ~m1329_10 +# 1330| m1330_9(unknown) = Chi : total:m1329_10, partial:m1330_8 +# 1330| v1330_10(void) = ^BufferReadSideEffect[0] : &:r1330_5, ~m1328_15 +# 1330| m1330_11(unknown) = ^BufferMayWriteSideEffect[0] : &:r1330_5 +# 1330| m1330_12(unknown) = Chi : total:m1328_15, partial:m1330_11 +# 1332| r1332_1(glval) = VariableAddress[a] : +# 1332| r1332_2(glval) = FunctionAddress[static_member_without_def] : +# 1332| v1332_3(void) = Call[static_member_without_def] : func:r1332_2 +# 1332| m1332_4(unknown) = ^CallSideEffect : ~m1330_9 +# 1332| m1332_5(unknown) = Chi : total:m1330_9, partial:m1332_4 +# 1333| r1333_1(glval) = FunctionAddress[static_member_without_def] : +# 1333| v1333_2(void) = Call[static_member_without_def] : func:r1333_1 +# 1333| m1333_3(unknown) = ^CallSideEffect : ~m1332_5 +# 1333| m1333_4(unknown) = Chi : total:m1332_5, partial:m1333_3 +# 1335| r1335_1(glval) = FunctionAddress[getAnInstanceOfA] : +# 1335| r1335_2(A *) = Call[getAnInstanceOfA] : func:r1335_1 +# 1335| m1335_3(unknown) = ^CallSideEffect : ~m1333_4 +# 1335| m1335_4(unknown) = Chi : total:m1333_4, partial:m1335_3 +# 1335| r1335_5(glval) = FunctionAddress[static_member_without_def] : +# 1335| v1335_6(void) = Call[static_member_without_def] : func:r1335_5 +# 1335| m1335_7(unknown) = ^CallSideEffect : ~m1335_4 +# 1335| m1335_8(unknown) = Chi : total:m1335_4, partial:m1335_7 +# 1336| v1336_1(void) = NoOp : +# 1336| r1336_2(glval) = VariableAddress[c] : +# 1336| r1336_3(glval) = FunctionAddress[~C] : +# 1336| v1336_4(void) = Call[~C] : func:r1336_3, this:r1336_2 +# 1336| m1336_5(unknown) = ^CallSideEffect : ~m1335_8 +# 1336| m1336_6(unknown) = Chi : total:m1335_8, partial:m1336_5 +# 1336| v1336_7(void) = ^IndirectReadSideEffect[-1] : &:r1336_2, m1320_8 +# 1336| m1336_8(C) = ^IndirectMayWriteSideEffect[-1] : &:r1336_2 +# 1336| m1336_9(C) = Chi : total:m1320_8, partial:m1336_8 +# 1319| v1319_11(void) = ReturnIndirection[a_arg] : &:r1319_9, m1330_12 +# 1319| v1319_12(void) = ReturnVoid : +# 1319| v1319_13(void) = AliasedUse : ~m1336_6 +# 1319| v1319_14(void) = ExitFunction : -# 1291| int missingReturnValue(bool, int) -# 1291| Block 0 -# 1291| v1291_1(void) = EnterFunction : -# 1291| m1291_2(unknown) = AliasedDefinition : -# 1291| m1291_3(unknown) = InitializeNonLocal : -# 1291| m1291_4(unknown) = Chi : total:m1291_2, partial:m1291_3 -# 1291| r1291_5(glval) = VariableAddress[b] : -# 1291| m1291_6(bool) = InitializeParameter[b] : &:r1291_5 -# 1291| r1291_7(glval) = VariableAddress[x] : -# 1291| m1291_8(int) = InitializeParameter[x] : &:r1291_7 -# 1292| r1292_1(glval) = VariableAddress[b] : -# 1292| r1292_2(bool) = Load[b] : &:r1292_1, m1291_6 -# 1292| v1292_3(void) = ConditionalBranch : r1292_2 +# 1338| int missingReturnValue(bool, int) +# 1338| Block 0 +# 1338| v1338_1(void) = EnterFunction : +# 1338| m1338_2(unknown) = AliasedDefinition : +# 1338| m1338_3(unknown) = InitializeNonLocal : +# 1338| m1338_4(unknown) = Chi : total:m1338_2, partial:m1338_3 +# 1338| r1338_5(glval) = VariableAddress[b] : +# 1338| m1338_6(bool) = InitializeParameter[b] : &:r1338_5 +# 1338| r1338_7(glval) = VariableAddress[x] : +# 1338| m1338_8(int) = InitializeParameter[x] : &:r1338_7 +# 1339| r1339_1(glval) = VariableAddress[b] : +# 1339| r1339_2(bool) = Load[b] : &:r1339_1, m1338_6 +# 1339| v1339_3(void) = ConditionalBranch : r1339_2 #-----| False -> Block 3 #-----| True -> Block 2 -# 1291| Block 1 -# 1291| m1291_9(int) = Phi : from 2:m1293_4, from 3:m1295_2 -# 1291| r1291_10(glval) = VariableAddress[#return] : -# 1291| v1291_11(void) = ReturnValue : &:r1291_10, m1291_9 -# 1291| v1291_12(void) = AliasedUse : m1291_3 -# 1291| v1291_13(void) = ExitFunction : +# 1338| Block 1 +# 1338| m1338_9(int) = Phi : from 2:m1340_4, from 3:m1342_2 +# 1338| r1338_10(glval) = VariableAddress[#return] : +# 1338| v1338_11(void) = ReturnValue : &:r1338_10, m1338_9 +# 1338| v1338_12(void) = AliasedUse : m1338_3 +# 1338| v1338_13(void) = ExitFunction : -# 1293| Block 2 -# 1293| r1293_1(glval) = VariableAddress[#return] : -# 1293| r1293_2(glval) = VariableAddress[x] : -# 1293| r1293_3(int) = Load[x] : &:r1293_2, m1291_8 -# 1293| m1293_4(int) = Store[#return] : &:r1293_1, r1293_3 +# 1340| Block 2 +# 1340| r1340_1(glval) = VariableAddress[#return] : +# 1340| r1340_2(glval) = VariableAddress[x] : +# 1340| r1340_3(int) = Load[x] : &:r1340_2, m1338_8 +# 1340| m1340_4(int) = Store[#return] : &:r1340_1, r1340_3 #-----| Goto -> Block 1 -# 1295| Block 3 -# 1295| r1295_1(glval) = VariableAddress[#return] : -# 1295| m1295_2(int) = Uninitialized[#return] : &:r1295_1 +# 1342| Block 3 +# 1342| r1342_1(glval) = VariableAddress[#return] : +# 1342| m1342_2(int) = Uninitialized[#return] : &:r1342_1 #-----| Goto -> Block 1 -# 1297| void returnVoid(int, int) -# 1297| Block 0 -# 1297| v1297_1(void) = EnterFunction : -# 1297| m1297_2(unknown) = AliasedDefinition : -# 1297| m1297_3(unknown) = InitializeNonLocal : -# 1297| m1297_4(unknown) = Chi : total:m1297_2, partial:m1297_3 -# 1297| r1297_5(glval) = VariableAddress[x] : -# 1297| m1297_6(int) = InitializeParameter[x] : &:r1297_5 -# 1297| r1297_7(glval) = VariableAddress[y] : -# 1297| m1297_8(int) = InitializeParameter[y] : &:r1297_7 -# 1298| r1298_1(glval) = FunctionAddress[IntegerOps] : -# 1298| r1298_2(glval) = VariableAddress[x] : -# 1298| r1298_3(int) = Load[x] : &:r1298_2, m1297_6 -# 1298| r1298_4(glval) = VariableAddress[y] : -# 1298| r1298_5(int) = Load[y] : &:r1298_4, m1297_8 -# 1298| v1298_6(void) = Call[IntegerOps] : func:r1298_1, 0:r1298_3, 1:r1298_5 -# 1298| m1298_7(unknown) = ^CallSideEffect : ~m1297_4 -# 1298| m1298_8(unknown) = Chi : total:m1297_4, partial:m1298_7 -# 1298| v1298_9(void) = NoOp : -# 1297| v1297_9(void) = ReturnVoid : -# 1297| v1297_10(void) = AliasedUse : ~m1298_8 -# 1297| v1297_11(void) = ExitFunction : +# 1344| void returnVoid(int, int) +# 1344| Block 0 +# 1344| v1344_1(void) = EnterFunction : +# 1344| m1344_2(unknown) = AliasedDefinition : +# 1344| m1344_3(unknown) = InitializeNonLocal : +# 1344| m1344_4(unknown) = Chi : total:m1344_2, partial:m1344_3 +# 1344| r1344_5(glval) = VariableAddress[x] : +# 1344| m1344_6(int) = InitializeParameter[x] : &:r1344_5 +# 1344| r1344_7(glval) = VariableAddress[y] : +# 1344| m1344_8(int) = InitializeParameter[y] : &:r1344_7 +# 1345| r1345_1(glval) = FunctionAddress[IntegerOps] : +# 1345| r1345_2(glval) = VariableAddress[x] : +# 1345| r1345_3(int) = Load[x] : &:r1345_2, m1344_6 +# 1345| r1345_4(glval) = VariableAddress[y] : +# 1345| r1345_5(int) = Load[y] : &:r1345_4, m1344_8 +# 1345| v1345_6(void) = Call[IntegerOps] : func:r1345_1, 0:r1345_3, 1:r1345_5 +# 1345| m1345_7(unknown) = ^CallSideEffect : ~m1344_4 +# 1345| m1345_8(unknown) = Chi : total:m1344_4, partial:m1345_7 +# 1345| v1345_9(void) = NoOp : +# 1344| v1344_9(void) = ReturnVoid : +# 1344| v1344_10(void) = AliasedUse : ~m1345_8 +# 1344| v1344_11(void) = ExitFunction : -# 1301| void gccBinaryConditional(bool, int, long) -# 1301| Block 0 -# 1301| v1301_1(void) = EnterFunction : -# 1301| m1301_2(unknown) = AliasedDefinition : -# 1301| m1301_3(unknown) = InitializeNonLocal : -# 1301| m1301_4(unknown) = Chi : total:m1301_2, partial:m1301_3 -# 1301| r1301_5(glval) = VariableAddress[b] : -# 1301| m1301_6(bool) = InitializeParameter[b] : &:r1301_5 -# 1301| r1301_7(glval) = VariableAddress[x] : -# 1301| m1301_8(int) = InitializeParameter[x] : &:r1301_7 -# 1301| r1301_9(glval) = VariableAddress[y] : -# 1301| m1301_10(long) = InitializeParameter[y] : &:r1301_9 -# 1302| r1302_1(glval) = VariableAddress[z] : -# 1302| r1302_2(glval) = VariableAddress[x] : -# 1302| r1302_3(int) = Load[x] : &:r1302_2, m1301_8 -# 1302| m1302_4(int) = Store[z] : &:r1302_1, r1302_3 -# 1303| r1303_1(glval) = VariableAddress[b] : -# 1303| r1303_2(bool) = Load[b] : &:r1303_1, m1301_6 -# 1303| v1303_3(void) = ConditionalBranch : r1303_2 +# 1348| void gccBinaryConditional(bool, int, long) +# 1348| Block 0 +# 1348| v1348_1(void) = EnterFunction : +# 1348| m1348_2(unknown) = AliasedDefinition : +# 1348| m1348_3(unknown) = InitializeNonLocal : +# 1348| m1348_4(unknown) = Chi : total:m1348_2, partial:m1348_3 +# 1348| r1348_5(glval) = VariableAddress[b] : +# 1348| m1348_6(bool) = InitializeParameter[b] : &:r1348_5 +# 1348| r1348_7(glval) = VariableAddress[x] : +# 1348| m1348_8(int) = InitializeParameter[x] : &:r1348_7 +# 1348| r1348_9(glval) = VariableAddress[y] : +# 1348| m1348_10(long) = InitializeParameter[y] : &:r1348_9 +# 1349| r1349_1(glval) = VariableAddress[z] : +# 1349| r1349_2(glval) = VariableAddress[x] : +# 1349| r1349_3(int) = Load[x] : &:r1349_2, m1348_8 +# 1349| m1349_4(int) = Store[z] : &:r1349_1, r1349_3 +# 1350| r1350_1(glval) = VariableAddress[b] : +# 1350| r1350_2(bool) = Load[b] : &:r1350_1, m1348_6 +# 1350| v1350_3(void) = ConditionalBranch : r1350_2 #-----| False -> Block 3 #-----| True -> Block 2 -# 1303| Block 1 -# 1303| m1303_4(int) = Phi : from 2:m1303_10, from 3:m1303_14 -# 1303| r1303_5(glval) = VariableAddress[#temp1303:9] : -# 1303| r1303_6(int) = Load[#temp1303:9] : &:r1303_5, m1303_4 -# 1303| r1303_7(glval) = VariableAddress[z] : -# 1303| m1303_8(int) = Store[z] : &:r1303_7, r1303_6 -# 1304| r1304_1(glval) = VariableAddress[b] : -# 1304| r1304_2(bool) = Load[b] : &:r1304_1, m1301_6 -# 1304| v1304_3(void) = ConditionalBranch : r1304_2 +# 1350| Block 1 +# 1350| m1350_4(int) = Phi : from 2:m1350_10, from 3:m1350_14 +# 1350| r1350_5(glval) = VariableAddress[#temp1350:9] : +# 1350| r1350_6(int) = Load[#temp1350:9] : &:r1350_5, m1350_4 +# 1350| r1350_7(glval) = VariableAddress[z] : +# 1350| m1350_8(int) = Store[z] : &:r1350_7, r1350_6 +# 1351| r1351_1(glval) = VariableAddress[b] : +# 1351| r1351_2(bool) = Load[b] : &:r1351_1, m1348_6 +# 1351| v1351_3(void) = ConditionalBranch : r1351_2 #-----| False -> Block 6 #-----| True -> Block 5 -# 1303| Block 2 -# 1303| r1303_9(glval) = VariableAddress[#temp1303:9] : -# 1303| m1303_10(int) = Store[#temp1303:9] : &:r1303_9, r1303_2 +# 1350| Block 2 +# 1350| r1350_9(glval) = VariableAddress[#temp1350:9] : +# 1350| m1350_10(int) = Store[#temp1350:9] : &:r1350_9, r1350_2 #-----| Goto -> Block 1 -# 1303| Block 3 -# 1303| r1303_11(glval) = VariableAddress[x] : -# 1303| r1303_12(int) = Load[x] : &:r1303_11, m1301_8 -# 1303| r1303_13(glval) = VariableAddress[#temp1303:9] : -# 1303| m1303_14(int) = Store[#temp1303:9] : &:r1303_13, r1303_12 +# 1350| Block 3 +# 1350| r1350_11(glval) = VariableAddress[x] : +# 1350| r1350_12(int) = Load[x] : &:r1350_11, m1348_8 +# 1350| r1350_13(glval) = VariableAddress[#temp1350:9] : +# 1350| m1350_14(int) = Store[#temp1350:9] : &:r1350_13, r1350_12 #-----| Goto -> Block 1 -# 1304| Block 4 -# 1304| m1304_4(long) = Phi : from 5:m1304_11, from 6:m1304_15 -# 1304| r1304_5(glval) = VariableAddress[#temp1304:9] : -# 1304| r1304_6(long) = Load[#temp1304:9] : &:r1304_5, m1304_4 -# 1304| r1304_7(int) = Convert : r1304_6 -# 1304| r1304_8(glval) = VariableAddress[z] : -# 1304| m1304_9(int) = Store[z] : &:r1304_8, r1304_7 -# 1305| r1305_1(glval) = VariableAddress[x] : -# 1305| r1305_2(int) = Load[x] : &:r1305_1, m1301_8 -# 1305| r1305_3(int) = Constant[0] : -# 1305| r1305_4(bool) = CompareNE : r1305_2, r1305_3 -# 1305| v1305_5(void) = ConditionalBranch : r1305_4 +# 1351| Block 4 +# 1351| m1351_4(long) = Phi : from 5:m1351_11, from 6:m1351_15 +# 1351| r1351_5(glval) = VariableAddress[#temp1351:9] : +# 1351| r1351_6(long) = Load[#temp1351:9] : &:r1351_5, m1351_4 +# 1351| r1351_7(int) = Convert : r1351_6 +# 1351| r1351_8(glval) = VariableAddress[z] : +# 1351| m1351_9(int) = Store[z] : &:r1351_8, r1351_7 +# 1352| r1352_1(glval) = VariableAddress[x] : +# 1352| r1352_2(int) = Load[x] : &:r1352_1, m1348_8 +# 1352| r1352_3(int) = Constant[0] : +# 1352| r1352_4(bool) = CompareNE : r1352_2, r1352_3 +# 1352| v1352_5(void) = ConditionalBranch : r1352_4 #-----| False -> Block 9 #-----| True -> Block 8 -# 1304| Block 5 -# 1304| r1304_10(glval) = VariableAddress[#temp1304:9] : -# 1304| m1304_11(long) = Store[#temp1304:9] : &:r1304_10, r1304_2 +# 1351| Block 5 +# 1351| r1351_10(glval) = VariableAddress[#temp1351:9] : +# 1351| m1351_11(long) = Store[#temp1351:9] : &:r1351_10, r1351_2 #-----| Goto -> Block 4 -# 1304| Block 6 -# 1304| r1304_12(glval) = VariableAddress[y] : -# 1304| r1304_13(long) = Load[y] : &:r1304_12, m1301_10 -# 1304| r1304_14(glval) = VariableAddress[#temp1304:9] : -# 1304| m1304_15(long) = Store[#temp1304:9] : &:r1304_14, r1304_13 +# 1351| Block 6 +# 1351| r1351_12(glval) = VariableAddress[y] : +# 1351| r1351_13(long) = Load[y] : &:r1351_12, m1348_10 +# 1351| r1351_14(glval) = VariableAddress[#temp1351:9] : +# 1351| m1351_15(long) = Store[#temp1351:9] : &:r1351_14, r1351_13 #-----| Goto -> Block 4 -# 1305| Block 7 -# 1305| m1305_6(int) = Phi : from 8:m1305_12, from 9:m1305_16 -# 1305| r1305_7(glval) = VariableAddress[#temp1305:9] : -# 1305| r1305_8(int) = Load[#temp1305:9] : &:r1305_7, m1305_6 -# 1305| r1305_9(glval) = VariableAddress[z] : -# 1305| m1305_10(int) = Store[z] : &:r1305_9, r1305_8 -# 1306| r1306_1(glval) = VariableAddress[x] : -# 1306| r1306_2(int) = Load[x] : &:r1306_1, m1301_8 -# 1306| r1306_3(int) = Constant[0] : -# 1306| r1306_4(bool) = CompareNE : r1306_2, r1306_3 -# 1306| v1306_5(void) = ConditionalBranch : r1306_4 +# 1352| Block 7 +# 1352| m1352_6(int) = Phi : from 8:m1352_12, from 9:m1352_16 +# 1352| r1352_7(glval) = VariableAddress[#temp1352:9] : +# 1352| r1352_8(int) = Load[#temp1352:9] : &:r1352_7, m1352_6 +# 1352| r1352_9(glval) = VariableAddress[z] : +# 1352| m1352_10(int) = Store[z] : &:r1352_9, r1352_8 +# 1353| r1353_1(glval) = VariableAddress[x] : +# 1353| r1353_2(int) = Load[x] : &:r1353_1, m1348_8 +# 1353| r1353_3(int) = Constant[0] : +# 1353| r1353_4(bool) = CompareNE : r1353_2, r1353_3 +# 1353| v1353_5(void) = ConditionalBranch : r1353_4 #-----| False -> Block 12 #-----| True -> Block 11 -# 1305| Block 8 -# 1305| r1305_11(glval) = VariableAddress[#temp1305:9] : -# 1305| m1305_12(int) = Store[#temp1305:9] : &:r1305_11, r1305_2 +# 1352| Block 8 +# 1352| r1352_11(glval) = VariableAddress[#temp1352:9] : +# 1352| m1352_12(int) = Store[#temp1352:9] : &:r1352_11, r1352_2 #-----| Goto -> Block 7 -# 1305| Block 9 -# 1305| r1305_13(glval) = VariableAddress[x] : -# 1305| r1305_14(int) = Load[x] : &:r1305_13, m1301_8 -# 1305| r1305_15(glval) = VariableAddress[#temp1305:9] : -# 1305| m1305_16(int) = Store[#temp1305:9] : &:r1305_15, r1305_14 +# 1352| Block 9 +# 1352| r1352_13(glval) = VariableAddress[x] : +# 1352| r1352_14(int) = Load[x] : &:r1352_13, m1348_8 +# 1352| r1352_15(glval) = VariableAddress[#temp1352:9] : +# 1352| m1352_16(int) = Store[#temp1352:9] : &:r1352_15, r1352_14 #-----| Goto -> Block 7 -# 1306| Block 10 -# 1306| m1306_6(long) = Phi : from 11:m1306_13, from 12:m1306_17 -# 1306| r1306_7(glval) = VariableAddress[#temp1306:9] : -# 1306| r1306_8(long) = Load[#temp1306:9] : &:r1306_7, m1306_6 -# 1306| r1306_9(int) = Convert : r1306_8 -# 1306| r1306_10(glval) = VariableAddress[z] : -# 1306| m1306_11(int) = Store[z] : &:r1306_10, r1306_9 -# 1307| r1307_1(glval) = VariableAddress[y] : -# 1307| r1307_2(long) = Load[y] : &:r1307_1, m1301_10 -# 1307| r1307_3(long) = Constant[0] : -# 1307| r1307_4(bool) = CompareNE : r1307_2, r1307_3 -# 1307| v1307_5(void) = ConditionalBranch : r1307_4 +# 1353| Block 10 +# 1353| m1353_6(long) = Phi : from 11:m1353_13, from 12:m1353_17 +# 1353| r1353_7(glval) = VariableAddress[#temp1353:9] : +# 1353| r1353_8(long) = Load[#temp1353:9] : &:r1353_7, m1353_6 +# 1353| r1353_9(int) = Convert : r1353_8 +# 1353| r1353_10(glval) = VariableAddress[z] : +# 1353| m1353_11(int) = Store[z] : &:r1353_10, r1353_9 +# 1354| r1354_1(glval) = VariableAddress[y] : +# 1354| r1354_2(long) = Load[y] : &:r1354_1, m1348_10 +# 1354| r1354_3(long) = Constant[0] : +# 1354| r1354_4(bool) = CompareNE : r1354_2, r1354_3 +# 1354| v1354_5(void) = ConditionalBranch : r1354_4 #-----| False -> Block 15 #-----| True -> Block 14 -# 1306| Block 11 -# 1306| r1306_12(glval) = VariableAddress[#temp1306:9] : -# 1306| m1306_13(long) = Store[#temp1306:9] : &:r1306_12, r1306_2 +# 1353| Block 11 +# 1353| r1353_12(glval) = VariableAddress[#temp1353:9] : +# 1353| m1353_13(long) = Store[#temp1353:9] : &:r1353_12, r1353_2 #-----| Goto -> Block 10 -# 1306| Block 12 -# 1306| r1306_14(glval) = VariableAddress[y] : -# 1306| r1306_15(long) = Load[y] : &:r1306_14, m1301_10 -# 1306| r1306_16(glval) = VariableAddress[#temp1306:9] : -# 1306| m1306_17(long) = Store[#temp1306:9] : &:r1306_16, r1306_15 +# 1353| Block 12 +# 1353| r1353_14(glval) = VariableAddress[y] : +# 1353| r1353_15(long) = Load[y] : &:r1353_14, m1348_10 +# 1353| r1353_16(glval) = VariableAddress[#temp1353:9] : +# 1353| m1353_17(long) = Store[#temp1353:9] : &:r1353_16, r1353_15 #-----| Goto -> Block 10 -# 1307| Block 13 -# 1307| m1307_6(long) = Phi : from 14:m1307_13, from 15:m1307_18 -# 1307| r1307_7(glval) = VariableAddress[#temp1307:9] : -# 1307| r1307_8(long) = Load[#temp1307:9] : &:r1307_7, m1307_6 -# 1307| r1307_9(int) = Convert : r1307_8 -# 1307| r1307_10(glval) = VariableAddress[z] : -# 1307| m1307_11(int) = Store[z] : &:r1307_10, r1307_9 -# 1308| r1308_1(glval) = VariableAddress[y] : -# 1308| r1308_2(long) = Load[y] : &:r1308_1, m1301_10 -# 1308| r1308_3(long) = Constant[0] : -# 1308| r1308_4(bool) = CompareNE : r1308_2, r1308_3 -# 1308| v1308_5(void) = ConditionalBranch : r1308_4 +# 1354| Block 13 +# 1354| m1354_6(long) = Phi : from 14:m1354_13, from 15:m1354_18 +# 1354| r1354_7(glval) = VariableAddress[#temp1354:9] : +# 1354| r1354_8(long) = Load[#temp1354:9] : &:r1354_7, m1354_6 +# 1354| r1354_9(int) = Convert : r1354_8 +# 1354| r1354_10(glval) = VariableAddress[z] : +# 1354| m1354_11(int) = Store[z] : &:r1354_10, r1354_9 +# 1355| r1355_1(glval) = VariableAddress[y] : +# 1355| r1355_2(long) = Load[y] : &:r1355_1, m1348_10 +# 1355| r1355_3(long) = Constant[0] : +# 1355| r1355_4(bool) = CompareNE : r1355_2, r1355_3 +# 1355| v1355_5(void) = ConditionalBranch : r1355_4 #-----| False -> Block 18 #-----| True -> Block 17 -# 1307| Block 14 -# 1307| r1307_12(glval) = VariableAddress[#temp1307:9] : -# 1307| m1307_13(long) = Store[#temp1307:9] : &:r1307_12, r1307_2 +# 1354| Block 14 +# 1354| r1354_12(glval) = VariableAddress[#temp1354:9] : +# 1354| m1354_13(long) = Store[#temp1354:9] : &:r1354_12, r1354_2 #-----| Goto -> Block 13 -# 1307| Block 15 -# 1307| r1307_14(glval) = VariableAddress[x] : -# 1307| r1307_15(int) = Load[x] : &:r1307_14, m1301_8 -# 1307| r1307_16(long) = Convert : r1307_15 -# 1307| r1307_17(glval) = VariableAddress[#temp1307:9] : -# 1307| m1307_18(long) = Store[#temp1307:9] : &:r1307_17, r1307_16 +# 1354| Block 15 +# 1354| r1354_14(glval) = VariableAddress[x] : +# 1354| r1354_15(int) = Load[x] : &:r1354_14, m1348_8 +# 1354| r1354_16(long) = Convert : r1354_15 +# 1354| r1354_17(glval) = VariableAddress[#temp1354:9] : +# 1354| m1354_18(long) = Store[#temp1354:9] : &:r1354_17, r1354_16 #-----| Goto -> Block 13 -# 1308| Block 16 -# 1308| m1308_6(long) = Phi : from 17:m1308_13, from 18:m1308_17 -# 1308| r1308_7(glval) = VariableAddress[#temp1308:9] : -# 1308| r1308_8(long) = Load[#temp1308:9] : &:r1308_7, m1308_6 -# 1308| r1308_9(int) = Convert : r1308_8 -# 1308| r1308_10(glval) = VariableAddress[z] : -# 1308| m1308_11(int) = Store[z] : &:r1308_10, r1308_9 -# 1310| r1310_1(glval) = VariableAddress[x] : -# 1310| r1310_2(int) = Load[x] : &:r1310_1, m1301_8 -# 1310| r1310_3(int) = Constant[0] : -# 1310| r1310_4(bool) = CompareNE : r1310_2, r1310_3 -# 1310| v1310_5(void) = ConditionalBranch : r1310_4 +# 1355| Block 16 +# 1355| m1355_6(long) = Phi : from 17:m1355_13, from 18:m1355_17 +# 1355| r1355_7(glval) = VariableAddress[#temp1355:9] : +# 1355| r1355_8(long) = Load[#temp1355:9] : &:r1355_7, m1355_6 +# 1355| r1355_9(int) = Convert : r1355_8 +# 1355| r1355_10(glval) = VariableAddress[z] : +# 1355| m1355_11(int) = Store[z] : &:r1355_10, r1355_9 +# 1357| r1357_1(glval) = VariableAddress[x] : +# 1357| r1357_2(int) = Load[x] : &:r1357_1, m1348_8 +# 1357| r1357_3(int) = Constant[0] : +# 1357| r1357_4(bool) = CompareNE : r1357_2, r1357_3 +# 1357| v1357_5(void) = ConditionalBranch : r1357_4 #-----| False -> Block 25 #-----| True -> Block 24 -# 1308| Block 17 -# 1308| r1308_12(glval) = VariableAddress[#temp1308:9] : -# 1308| m1308_13(long) = Store[#temp1308:9] : &:r1308_12, r1308_2 +# 1355| Block 17 +# 1355| r1355_12(glval) = VariableAddress[#temp1355:9] : +# 1355| m1355_13(long) = Store[#temp1355:9] : &:r1355_12, r1355_2 #-----| Goto -> Block 16 -# 1308| Block 18 -# 1308| r1308_14(glval) = VariableAddress[y] : -# 1308| r1308_15(long) = Load[y] : &:r1308_14, m1301_10 -# 1308| r1308_16(glval) = VariableAddress[#temp1308:9] : -# 1308| m1308_17(long) = Store[#temp1308:9] : &:r1308_16, r1308_15 +# 1355| Block 18 +# 1355| r1355_14(glval) = VariableAddress[y] : +# 1355| r1355_15(long) = Load[y] : &:r1355_14, m1348_10 +# 1355| r1355_16(glval) = VariableAddress[#temp1355:9] : +# 1355| m1355_17(long) = Store[#temp1355:9] : &:r1355_16, r1355_15 #-----| Goto -> Block 16 -# 1310| Block 19 -# 1310| m1310_6(int) = Phi : from 20:m1310_12, from 26:m1310_34 -# 1310| r1310_7(glval) = VariableAddress[#temp1310:9] : -# 1310| r1310_8(int) = Load[#temp1310:9] : &:r1310_7, m1310_6 -# 1310| r1310_9(glval) = VariableAddress[z] : -# 1310| m1310_10(int) = Store[z] : &:r1310_9, r1310_8 -# 1311| v1311_1(void) = NoOp : -# 1301| v1301_11(void) = ReturnVoid : -# 1301| v1301_12(void) = AliasedUse : m1301_3 -# 1301| v1301_13(void) = ExitFunction : +# 1357| Block 19 +# 1357| m1357_6(int) = Phi : from 20:m1357_12, from 26:m1357_34 +# 1357| r1357_7(glval) = VariableAddress[#temp1357:9] : +# 1357| r1357_8(int) = Load[#temp1357:9] : &:r1357_7, m1357_6 +# 1357| r1357_9(glval) = VariableAddress[z] : +# 1357| m1357_10(int) = Store[z] : &:r1357_9, r1357_8 +# 1358| v1358_1(void) = NoOp : +# 1348| v1348_11(void) = ReturnVoid : +# 1348| v1348_12(void) = AliasedUse : m1348_3 +# 1348| v1348_13(void) = ExitFunction : -# 1310| Block 20 -# 1310| r1310_11(glval) = VariableAddress[#temp1310:9] : -# 1310| m1310_12(int) = Store[#temp1310:9] : &:r1310_11, r1310_18 +# 1357| Block 20 +# 1357| r1357_11(glval) = VariableAddress[#temp1357:9] : +# 1357| m1357_12(int) = Store[#temp1357:9] : &:r1357_11, r1357_18 #-----| Goto -> Block 19 -# 1310| Block 21 -# 1310| r1310_13(glval) = VariableAddress[#temp1310:10] : -# 1310| r1310_14(bool) = Constant[0] : -# 1310| m1310_15(bool) = Store[#temp1310:10] : &:r1310_13, r1310_14 +# 1357| Block 21 +# 1357| r1357_13(glval) = VariableAddress[#temp1357:10] : +# 1357| r1357_14(bool) = Constant[0] : +# 1357| m1357_15(bool) = Store[#temp1357:10] : &:r1357_13, r1357_14 #-----| Goto -> Block 22 -# 1310| Block 22 -# 1310| m1310_16(bool) = Phi : from 21:m1310_15, from 23:m1310_22 -# 1310| r1310_17(glval) = VariableAddress[#temp1310:10] : -# 1310| r1310_18(bool) = Load[#temp1310:10] : &:r1310_17, m1310_16 -# 1310| v1310_19(void) = ConditionalBranch : r1310_18 +# 1357| Block 22 +# 1357| m1357_16(bool) = Phi : from 21:m1357_15, from 23:m1357_22 +# 1357| r1357_17(glval) = VariableAddress[#temp1357:10] : +# 1357| r1357_18(bool) = Load[#temp1357:10] : &:r1357_17, m1357_16 +# 1357| v1357_19(void) = ConditionalBranch : r1357_18 #-----| False -> Block 26 #-----| True -> Block 20 -# 1310| Block 23 -# 1310| r1310_20(glval) = VariableAddress[#temp1310:10] : -# 1310| r1310_21(bool) = Constant[1] : -# 1310| m1310_22(bool) = Store[#temp1310:10] : &:r1310_20, r1310_21 +# 1357| Block 23 +# 1357| r1357_20(glval) = VariableAddress[#temp1357:10] : +# 1357| r1357_21(bool) = Constant[1] : +# 1357| m1357_22(bool) = Store[#temp1357:10] : &:r1357_20, r1357_21 #-----| Goto -> Block 22 -# 1310| Block 24 -# 1310| r1310_23(glval) = VariableAddress[b] : -# 1310| r1310_24(bool) = Load[b] : &:r1310_23, m1301_6 -# 1310| v1310_25(void) = ConditionalBranch : r1310_24 +# 1357| Block 24 +# 1357| r1357_23(glval) = VariableAddress[b] : +# 1357| r1357_24(bool) = Load[b] : &:r1357_23, m1348_6 +# 1357| v1357_25(void) = ConditionalBranch : r1357_24 #-----| False -> Block 25 #-----| True -> Block 23 -# 1310| Block 25 -# 1310| r1310_26(glval) = VariableAddress[y] : -# 1310| r1310_27(long) = Load[y] : &:r1310_26, m1301_10 -# 1310| r1310_28(long) = Constant[0] : -# 1310| r1310_29(bool) = CompareNE : r1310_27, r1310_28 -# 1310| v1310_30(void) = ConditionalBranch : r1310_29 +# 1357| Block 25 +# 1357| r1357_26(glval) = VariableAddress[y] : +# 1357| r1357_27(long) = Load[y] : &:r1357_26, m1348_10 +# 1357| r1357_28(long) = Constant[0] : +# 1357| r1357_29(bool) = CompareNE : r1357_27, r1357_28 +# 1357| v1357_30(void) = ConditionalBranch : r1357_29 #-----| False -> Block 21 #-----| True -> Block 23 -# 1310| Block 26 -# 1310| r1310_31(glval) = VariableAddress[x] : -# 1310| r1310_32(int) = Load[x] : &:r1310_31, m1301_8 -# 1310| r1310_33(glval) = VariableAddress[#temp1310:9] : -# 1310| m1310_34(int) = Store[#temp1310:9] : &:r1310_33, r1310_32 +# 1357| Block 26 +# 1357| r1357_31(glval) = VariableAddress[x] : +# 1357| r1357_32(int) = Load[x] : &:r1357_31, m1348_8 +# 1357| r1357_33(glval) = VariableAddress[#temp1357:9] : +# 1357| m1357_34(int) = Store[#temp1357:9] : &:r1357_33, r1357_32 #-----| Goto -> Block 19 -# 1316| int shortCircuitConditional(int, int) -# 1316| Block 0 -# 1316| v1316_1(void) = EnterFunction : -# 1316| m1316_2(unknown) = AliasedDefinition : -# 1316| m1316_3(unknown) = InitializeNonLocal : -# 1316| m1316_4(unknown) = Chi : total:m1316_2, partial:m1316_3 -# 1316| r1316_5(glval) = VariableAddress[x] : -# 1316| m1316_6(int) = InitializeParameter[x] : &:r1316_5 -# 1316| r1316_7(glval) = VariableAddress[y] : -# 1316| m1316_8(int) = InitializeParameter[y] : &:r1316_7 -# 1317| r1317_1(glval) = VariableAddress[#return] : -# 1317| r1317_2(glval) = FunctionAddress[predicateA] : -# 1317| r1317_3(bool) = Call[predicateA] : func:r1317_2 -# 1317| m1317_4(unknown) = ^CallSideEffect : ~m1316_4 -# 1317| m1317_5(unknown) = Chi : total:m1316_4, partial:m1317_4 -# 1317| v1317_6(void) = ConditionalBranch : r1317_3 +# 1363| int shortCircuitConditional(int, int) +# 1363| Block 0 +# 1363| v1363_1(void) = EnterFunction : +# 1363| m1363_2(unknown) = AliasedDefinition : +# 1363| m1363_3(unknown) = InitializeNonLocal : +# 1363| m1363_4(unknown) = Chi : total:m1363_2, partial:m1363_3 +# 1363| r1363_5(glval) = VariableAddress[x] : +# 1363| m1363_6(int) = InitializeParameter[x] : &:r1363_5 +# 1363| r1363_7(glval) = VariableAddress[y] : +# 1363| m1363_8(int) = InitializeParameter[y] : &:r1363_7 +# 1364| r1364_1(glval) = VariableAddress[#return] : +# 1364| r1364_2(glval) = FunctionAddress[predicateA] : +# 1364| r1364_3(bool) = Call[predicateA] : func:r1364_2 +# 1364| m1364_4(unknown) = ^CallSideEffect : ~m1363_4 +# 1364| m1364_5(unknown) = Chi : total:m1363_4, partial:m1364_4 +# 1364| v1364_6(void) = ConditionalBranch : r1364_3 #-----| False -> Block 4 #-----| True -> Block 2 -# 1317| Block 1 -# 1317| m1317_7(unknown) = Phi : from 3:~m1317_15, from 4:~m1317_21 -# 1317| m1317_8(int) = Phi : from 3:m1317_20, from 4:m1317_25 -# 1317| r1317_9(glval) = VariableAddress[#temp1317:12] : -# 1317| r1317_10(int) = Load[#temp1317:12] : &:r1317_9, m1317_8 -# 1317| m1317_11(int) = Store[#return] : &:r1317_1, r1317_10 -# 1316| r1316_9(glval) = VariableAddress[#return] : -# 1316| v1316_10(void) = ReturnValue : &:r1316_9, m1317_11 -# 1316| v1316_11(void) = AliasedUse : ~m1317_7 -# 1316| v1316_12(void) = ExitFunction : +# 1364| Block 1 +# 1364| m1364_7(unknown) = Phi : from 3:~m1364_15, from 4:~m1364_21 +# 1364| m1364_8(int) = Phi : from 3:m1364_20, from 4:m1364_25 +# 1364| r1364_9(glval) = VariableAddress[#temp1364:12] : +# 1364| r1364_10(int) = Load[#temp1364:12] : &:r1364_9, m1364_8 +# 1364| m1364_11(int) = Store[#return] : &:r1364_1, r1364_10 +# 1363| r1363_9(glval) = VariableAddress[#return] : +# 1363| v1363_10(void) = ReturnValue : &:r1363_9, m1364_11 +# 1363| v1363_11(void) = AliasedUse : ~m1364_7 +# 1363| v1363_12(void) = ExitFunction : -# 1317| Block 2 -# 1317| r1317_12(glval) = FunctionAddress[predicateB] : -# 1317| r1317_13(bool) = Call[predicateB] : func:r1317_12 -# 1317| m1317_14(unknown) = ^CallSideEffect : ~m1317_5 -# 1317| m1317_15(unknown) = Chi : total:m1317_5, partial:m1317_14 -# 1317| v1317_16(void) = ConditionalBranch : r1317_13 +# 1364| Block 2 +# 1364| r1364_12(glval) = FunctionAddress[predicateB] : +# 1364| r1364_13(bool) = Call[predicateB] : func:r1364_12 +# 1364| m1364_14(unknown) = ^CallSideEffect : ~m1364_5 +# 1364| m1364_15(unknown) = Chi : total:m1364_5, partial:m1364_14 +# 1364| v1364_16(void) = ConditionalBranch : r1364_13 #-----| False -> Block 4 #-----| True -> Block 3 -# 1317| Block 3 -# 1317| r1317_17(glval) = VariableAddress[x] : -# 1317| r1317_18(int) = Load[x] : &:r1317_17, m1316_6 -# 1317| r1317_19(glval) = VariableAddress[#temp1317:12] : -# 1317| m1317_20(int) = Store[#temp1317:12] : &:r1317_19, r1317_18 +# 1364| Block 3 +# 1364| r1364_17(glval) = VariableAddress[x] : +# 1364| r1364_18(int) = Load[x] : &:r1364_17, m1363_6 +# 1364| r1364_19(glval) = VariableAddress[#temp1364:12] : +# 1364| m1364_20(int) = Store[#temp1364:12] : &:r1364_19, r1364_18 #-----| Goto -> Block 1 -# 1317| Block 4 -# 1317| m1317_21(unknown) = Phi : from 0:~m1317_5, from 2:~m1317_15 -# 1317| r1317_22(glval) = VariableAddress[y] : -# 1317| r1317_23(int) = Load[y] : &:r1317_22, m1316_8 -# 1317| r1317_24(glval) = VariableAddress[#temp1317:12] : -# 1317| m1317_25(int) = Store[#temp1317:12] : &:r1317_24, r1317_23 +# 1364| Block 4 +# 1364| m1364_21(unknown) = Phi : from 0:~m1364_5, from 2:~m1364_15 +# 1364| r1364_22(glval) = VariableAddress[y] : +# 1364| r1364_23(int) = Load[y] : &:r1364_22, m1363_8 +# 1364| r1364_24(glval) = VariableAddress[#temp1364:12] : +# 1364| m1364_25(int) = Store[#temp1364:12] : &:r1364_24, r1364_23 #-----| Goto -> Block 1 -# 1322| void f(int*) -# 1322| Block 0 -# 1322| v1322_1(void) = EnterFunction : -# 1322| m1322_2(unknown) = AliasedDefinition : -# 1322| m1322_3(unknown) = InitializeNonLocal : -# 1322| m1322_4(unknown) = Chi : total:m1322_2, partial:m1322_3 -# 1322| r1322_5(glval) = VariableAddress[p] : -# 1322| m1322_6(int *) = InitializeParameter[p] : &:r1322_5 -# 1322| r1322_7(int *) = Load[p] : &:r1322_5, m1322_6 -# 1322| m1322_8(unknown) = InitializeIndirection[p] : &:r1322_7 -# 1324| r1324_1(glval) = FunctionAddress[operator new] : -# 1324| r1324_2(unsigned long) = Constant[4] : -# 1324| r1324_3(glval) = VariableAddress[p] : -# 1324| r1324_4(int *) = Load[p] : &:r1324_3, m1322_6 -# 1324| r1324_5(void *) = Convert : r1324_4 -# 1324| r1324_6(void *) = Call[operator new] : func:r1324_1, 0:r1324_2, 1:r1324_5 -# 1324| m1324_7(unknown) = ^CallSideEffect : ~m1322_4 -# 1324| m1324_8(unknown) = Chi : total:m1322_4, partial:m1324_7 -# 1324| m1324_9(unknown) = ^InitializeDynamicAllocation : &:r1324_6 -# 1324| r1324_10(int *) = Convert : r1324_6 -# 1325| v1325_1(void) = NoOp : -# 1322| v1322_9(void) = ReturnIndirection[p] : &:r1322_7, m1322_8 -# 1322| v1322_10(void) = ReturnVoid : -# 1322| v1322_11(void) = AliasedUse : ~m1324_8 -# 1322| v1322_12(void) = ExitFunction : +# 1369| void f(int*) +# 1369| Block 0 +# 1369| v1369_1(void) = EnterFunction : +# 1369| m1369_2(unknown) = AliasedDefinition : +# 1369| m1369_3(unknown) = InitializeNonLocal : +# 1369| m1369_4(unknown) = Chi : total:m1369_2, partial:m1369_3 +# 1369| r1369_5(glval) = VariableAddress[p] : +# 1369| m1369_6(int *) = InitializeParameter[p] : &:r1369_5 +# 1369| r1369_7(int *) = Load[p] : &:r1369_5, m1369_6 +# 1369| m1369_8(unknown) = InitializeIndirection[p] : &:r1369_7 +# 1371| r1371_1(glval) = FunctionAddress[operator new] : +# 1371| r1371_2(unsigned long) = Constant[4] : +# 1371| r1371_3(glval) = VariableAddress[p] : +# 1371| r1371_4(int *) = Load[p] : &:r1371_3, m1369_6 +# 1371| r1371_5(void *) = Convert : r1371_4 +# 1371| r1371_6(void *) = Call[operator new] : func:r1371_1, 0:r1371_2, 1:r1371_5 +# 1371| m1371_7(unknown) = ^CallSideEffect : ~m1369_4 +# 1371| m1371_8(unknown) = Chi : total:m1369_4, partial:m1371_7 +# 1371| m1371_9(unknown) = ^InitializeDynamicAllocation : &:r1371_6 +# 1371| r1371_10(int *) = Convert : r1371_6 +# 1372| v1372_1(void) = NoOp : +# 1369| v1369_9(void) = ReturnIndirection[p] : &:r1369_7, m1369_8 +# 1369| v1369_10(void) = ReturnVoid : +# 1369| v1369_11(void) = AliasedUse : ~m1371_8 +# 1369| v1369_12(void) = ExitFunction : -# 1328| Point defaultConstruct() -# 1328| Block 0 -# 1328| v1328_1(void) = EnterFunction : -# 1328| m1328_2(unknown) = AliasedDefinition : -# 1328| m1328_3(unknown) = InitializeNonLocal : -# 1328| m1328_4(unknown) = Chi : total:m1328_2, partial:m1328_3 -# 1329| r1329_1(glval) = VariableAddress[#return] : -# 1329| r1329_2(Point) = Constant[0] : -# 1329| m1329_3(Point) = Store[#return] : &:r1329_1, r1329_2 -# 1328| r1328_5(glval) = VariableAddress[#return] : -# 1328| v1328_6(void) = ReturnValue : &:r1328_5, m1329_3 -# 1328| v1328_7(void) = AliasedUse : m1328_3 -# 1328| v1328_8(void) = ExitFunction : +# 1375| Point defaultConstruct() +# 1375| Block 0 +# 1375| v1375_1(void) = EnterFunction : +# 1375| m1375_2(unknown) = AliasedDefinition : +# 1375| m1375_3(unknown) = InitializeNonLocal : +# 1375| m1375_4(unknown) = Chi : total:m1375_2, partial:m1375_3 +# 1376| r1376_1(glval) = VariableAddress[#return] : +# 1376| r1376_2(Point) = Constant[0] : +# 1376| m1376_3(Point) = Store[#return] : &:r1376_1, r1376_2 +# 1375| r1375_5(glval) = VariableAddress[#return] : +# 1375| v1375_6(void) = ReturnValue : &:r1375_5, m1376_3 +# 1375| v1375_7(void) = AliasedUse : m1375_3 +# 1375| v1375_8(void) = ExitFunction : -# 1328| String defaultConstruct() -# 1328| Block 0 -# 1328| v1328_1(void) = EnterFunction : -# 1328| m1328_2(unknown) = AliasedDefinition : -# 1328| m1328_3(unknown) = InitializeNonLocal : -# 1328| m1328_4(unknown) = Chi : total:m1328_2, partial:m1328_3 -# 1329| r1329_1(glval) = VariableAddress[#return] : -# 1329| m1329_2(String) = Uninitialized[#return] : &:r1329_1 -# 1329| r1329_3(glval) = FunctionAddress[String] : -# 1329| v1329_4(void) = Call[String] : func:r1329_3, this:r1329_1 -# 1329| m1329_5(unknown) = ^CallSideEffect : ~m1328_4 -# 1329| m1329_6(unknown) = Chi : total:m1328_4, partial:m1329_5 -# 1329| m1329_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r1329_1 -# 1329| m1329_8(String) = Chi : total:m1329_2, partial:m1329_7 -# 1328| r1328_5(glval) = VariableAddress[#return] : -# 1328| v1328_6(void) = ReturnValue : &:r1328_5, m1329_8 -# 1328| v1328_7(void) = AliasedUse : ~m1329_6 -# 1328| v1328_8(void) = ExitFunction : +# 1375| String defaultConstruct() +# 1375| Block 0 +# 1375| v1375_1(void) = EnterFunction : +# 1375| m1375_2(unknown) = AliasedDefinition : +# 1375| m1375_3(unknown) = InitializeNonLocal : +# 1375| m1375_4(unknown) = Chi : total:m1375_2, partial:m1375_3 +# 1376| r1376_1(glval) = VariableAddress[#return] : +# 1376| m1376_2(String) = Uninitialized[#return] : &:r1376_1 +# 1376| r1376_3(glval) = FunctionAddress[String] : +# 1376| v1376_4(void) = Call[String] : func:r1376_3, this:r1376_1 +# 1376| m1376_5(unknown) = ^CallSideEffect : ~m1375_4 +# 1376| m1376_6(unknown) = Chi : total:m1375_4, partial:m1376_5 +# 1376| m1376_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r1376_1 +# 1376| m1376_8(String) = Chi : total:m1376_2, partial:m1376_7 +# 1375| r1375_5(glval) = VariableAddress[#return] : +# 1375| v1375_6(void) = ReturnValue : &:r1375_5, m1376_8 +# 1375| v1375_7(void) = AliasedUse : ~m1376_6 +# 1375| v1375_8(void) = ExitFunction : -# 1328| copy_constructor defaultConstruct() -# 1328| Block 0 -# 1328| v1328_1(void) = EnterFunction : -# 1328| m1328_2(unknown) = AliasedDefinition : -# 1328| m1328_3(unknown) = InitializeNonLocal : -# 1328| m1328_4(unknown) = Chi : total:m1328_2, partial:m1328_3 -# 1329| r1329_1(glval) = VariableAddress[#return] : -# 1329| m1329_2(copy_constructor) = Uninitialized[#return] : &:r1329_1 -# 1329| r1329_3(glval) = FunctionAddress[copy_constructor] : -# 1329| v1329_4(void) = Call[copy_constructor] : func:r1329_3, this:r1329_1 -# 1329| m1329_5(unknown) = ^CallSideEffect : ~m1328_4 -# 1329| m1329_6(unknown) = Chi : total:m1328_4, partial:m1329_5 -# 1329| m1329_7(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1329_1 -# 1329| m1329_8(copy_constructor) = Chi : total:m1329_2, partial:m1329_7 -# 1328| r1328_5(glval) = VariableAddress[#return] : -# 1328| v1328_6(void) = ReturnValue : &:r1328_5, m1329_8 -# 1328| v1328_7(void) = AliasedUse : ~m1329_6 -# 1328| v1328_8(void) = ExitFunction : +# 1375| copy_constructor defaultConstruct() +# 1375| Block 0 +# 1375| v1375_1(void) = EnterFunction : +# 1375| m1375_2(unknown) = AliasedDefinition : +# 1375| m1375_3(unknown) = InitializeNonLocal : +# 1375| m1375_4(unknown) = Chi : total:m1375_2, partial:m1375_3 +# 1376| r1376_1(glval) = VariableAddress[#return] : +# 1376| m1376_2(copy_constructor) = Uninitialized[#return] : &:r1376_1 +# 1376| r1376_3(glval) = FunctionAddress[copy_constructor] : +# 1376| v1376_4(void) = Call[copy_constructor] : func:r1376_3, this:r1376_1 +# 1376| m1376_5(unknown) = ^CallSideEffect : ~m1375_4 +# 1376| m1376_6(unknown) = Chi : total:m1375_4, partial:m1376_5 +# 1376| m1376_7(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1376_1 +# 1376| m1376_8(copy_constructor) = Chi : total:m1376_2, partial:m1376_7 +# 1375| r1375_5(glval) = VariableAddress[#return] : +# 1375| v1375_6(void) = ReturnValue : &:r1375_5, m1376_8 +# 1375| v1375_7(void) = AliasedUse : ~m1376_6 +# 1375| v1375_8(void) = ExitFunction : -# 1328| destructor_only defaultConstruct() -# 1328| Block 0 -# 1328| v1328_1(void) = EnterFunction : -# 1328| m1328_2(unknown) = AliasedDefinition : -# 1328| m1328_3(unknown) = InitializeNonLocal : -# 1328| m1328_4(unknown) = Chi : total:m1328_2, partial:m1328_3 -# 1329| r1329_1(glval) = VariableAddress[#return] : -# 1329| r1329_2(destructor_only) = Constant[0] : -# 1329| m1329_3(destructor_only) = Store[#return] : &:r1329_1, r1329_2 -# 1328| r1328_5(glval) = VariableAddress[#return] : -# 1328| v1328_6(void) = ReturnValue : &:r1328_5, m1329_3 -# 1328| v1328_7(void) = AliasedUse : m1328_3 -# 1328| v1328_8(void) = ExitFunction : +# 1375| destructor_only defaultConstruct() +# 1375| Block 0 +# 1375| v1375_1(void) = EnterFunction : +# 1375| m1375_2(unknown) = AliasedDefinition : +# 1375| m1375_3(unknown) = InitializeNonLocal : +# 1375| m1375_4(unknown) = Chi : total:m1375_2, partial:m1375_3 +# 1376| r1376_1(glval) = VariableAddress[#return] : +# 1376| r1376_2(destructor_only) = Constant[0] : +# 1376| m1376_3(destructor_only) = Store[#return] : &:r1376_1, r1376_2 +# 1375| r1375_5(glval) = VariableAddress[#return] : +# 1375| v1375_6(void) = ReturnValue : &:r1375_5, m1376_3 +# 1375| v1375_7(void) = AliasedUse : m1375_3 +# 1375| v1375_8(void) = ExitFunction : -# 1367| void temporary_string() -# 1367| Block 0 -# 1367| v1367_1(void) = EnterFunction : -# 1367| m1367_2(unknown) = AliasedDefinition : -# 1367| m1367_3(unknown) = InitializeNonLocal : -# 1367| m1367_4(unknown) = Chi : total:m1367_2, partial:m1367_3 -# 1368| r1368_1(glval) = VariableAddress[s] : -# 1368| r1368_2(glval) = FunctionAddress[returnValue] : -# 1368| r1368_3(String) = Call[returnValue] : func:r1368_2 -# 1368| m1368_4(unknown) = ^CallSideEffect : ~m1367_4 -# 1368| m1368_5(unknown) = Chi : total:m1367_4, partial:m1368_4 -# 1368| m1368_6(String) = Store[s] : &:r1368_1, r1368_3 -# 1369| r1369_1(glval) = VariableAddress[rs] : -# 1369| r1369_2(glval) = VariableAddress[#temp1369:24] : -# 1369| r1369_3(glval) = FunctionAddress[returnValue] : -# 1369| r1369_4(String) = Call[returnValue] : func:r1369_3 -# 1369| m1369_5(unknown) = ^CallSideEffect : ~m1368_5 -# 1369| m1369_6(unknown) = Chi : total:m1368_5, partial:m1369_5 -# 1369| m1369_7(String) = Store[#temp1369:24] : &:r1369_2, r1369_4 -# 1369| r1369_8(glval) = Convert : r1369_2 -# 1369| r1369_9(String &) = CopyValue : r1369_8 -# 1369| m1369_10(String &) = Store[rs] : &:r1369_1, r1369_9 -# 1371| r1371_1(glval) = FunctionAddress[acceptRef] : -# 1371| r1371_2(glval) = VariableAddress[s] : -# 1371| r1371_3(glval) = Convert : r1371_2 -# 1371| r1371_4(String &) = CopyValue : r1371_3 -# 1371| v1371_5(void) = Call[acceptRef] : func:r1371_1, 0:r1371_4 -# 1371| m1371_6(unknown) = ^CallSideEffect : ~m1369_6 -# 1371| m1371_7(unknown) = Chi : total:m1369_6, partial:m1371_6 -# 1371| v1371_8(void) = ^BufferReadSideEffect[0] : &:r1371_4, ~m1368_6 -# 1372| r1372_1(glval) = FunctionAddress[acceptRef] : -# 1372| r1372_2(glval) = VariableAddress[#temp1372:23] : -# 1372| m1372_3(String) = Uninitialized[#temp1372:23] : &:r1372_2 -# 1372| r1372_4(glval) = FunctionAddress[String] : -# 1372| r1372_5(glval) = StringConstant["foo"] : -# 1372| r1372_6(char *) = Convert : r1372_5 -# 1372| v1372_7(void) = Call[String] : func:r1372_4, this:r1372_2, 0:r1372_6 -# 1372| m1372_8(unknown) = ^CallSideEffect : ~m1371_7 -# 1372| m1372_9(unknown) = Chi : total:m1371_7, partial:m1372_8 -# 1372| v1372_10(void) = ^BufferReadSideEffect[0] : &:r1372_6, ~m1367_3 -# 1372| m1372_11(String) = ^IndirectMayWriteSideEffect[-1] : &:r1372_2 -# 1372| m1372_12(String) = Chi : total:m1372_3, partial:m1372_11 -# 1372| r1372_13(String &) = CopyValue : r1372_2 -# 1372| v1372_14(void) = Call[acceptRef] : func:r1372_1, 0:r1372_13 -# 1372| m1372_15(unknown) = ^CallSideEffect : ~m1372_9 -# 1372| m1372_16(unknown) = Chi : total:m1372_9, partial:m1372_15 -# 1372| v1372_17(void) = ^BufferReadSideEffect[0] : &:r1372_13, ~m1372_12 -# 1373| r1373_1(glval) = FunctionAddress[acceptValue] : -# 1373| r1373_2(glval) = VariableAddress[#temp1373:17] : -# 1373| m1373_3(String) = Uninitialized[#temp1373:17] : &:r1373_2 -# 1373| r1373_4(glval) = FunctionAddress[String] : -# 1373| r1373_5(glval) = VariableAddress[s] : -# 1373| r1373_6(glval) = Convert : r1373_5 -# 1373| r1373_7(String &) = CopyValue : r1373_6 -# 1373| v1373_8(void) = Call[String] : func:r1373_4, this:r1373_2, 0:r1373_7 -# 1373| m1373_9(unknown) = ^CallSideEffect : ~m1372_16 -# 1373| m1373_10(unknown) = Chi : total:m1372_16, partial:m1373_9 -# 1373| v1373_11(void) = ^BufferReadSideEffect[0] : &:r1373_7, ~m1368_6 -# 1373| m1373_12(String) = ^IndirectMayWriteSideEffect[-1] : &:r1373_2 -# 1373| m1373_13(String) = Chi : total:m1373_3, partial:m1373_12 -# 1373| r1373_14(String) = Load[#temp1373:17] : &:r1373_2, m1373_13 -# 1373| v1373_15(void) = Call[acceptValue] : func:r1373_1, 0:r1373_14 -# 1373| m1373_16(unknown) = ^CallSideEffect : ~m1373_10 -# 1373| m1373_17(unknown) = Chi : total:m1373_10, partial:m1373_16 -# 1374| r1374_1(glval) = FunctionAddress[acceptValue] : -# 1374| r1374_2(glval) = VariableAddress[#temp1374:25] : -# 1374| m1374_3(String) = Uninitialized[#temp1374:25] : &:r1374_2 -# 1374| r1374_4(glval) = FunctionAddress[String] : -# 1374| r1374_5(glval) = StringConstant["foo"] : -# 1374| r1374_6(char *) = Convert : r1374_5 -# 1374| v1374_7(void) = Call[String] : func:r1374_4, this:r1374_2, 0:r1374_6 -# 1374| m1374_8(unknown) = ^CallSideEffect : ~m1373_17 -# 1374| m1374_9(unknown) = Chi : total:m1373_17, partial:m1374_8 -# 1374| v1374_10(void) = ^BufferReadSideEffect[0] : &:r1374_6, ~m1367_3 -# 1374| m1374_11(String) = ^IndirectMayWriteSideEffect[-1] : &:r1374_2 -# 1374| m1374_12(String) = Chi : total:m1374_3, partial:m1374_11 -# 1374| r1374_13(String) = Load[#temp1374:25] : &:r1374_2, m1374_12 -# 1374| v1374_14(void) = Call[acceptValue] : func:r1374_1, 0:r1374_13 -# 1374| m1374_15(unknown) = ^CallSideEffect : ~m1374_9 -# 1374| m1374_16(unknown) = Chi : total:m1374_9, partial:m1374_15 -# 1375| r1375_1(glval) = VariableAddress[#temp1375:5] : -# 1375| m1375_2(String) = Uninitialized[#temp1375:5] : &:r1375_1 -# 1375| r1375_3(glval) = FunctionAddress[String] : -# 1375| v1375_4(void) = Call[String] : func:r1375_3, this:r1375_1 -# 1375| m1375_5(unknown) = ^CallSideEffect : ~m1374_16 -# 1375| m1375_6(unknown) = Chi : total:m1374_16, partial:m1375_5 -# 1375| m1375_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r1375_1 -# 1375| m1375_8(String) = Chi : total:m1375_2, partial:m1375_7 -# 1375| r1375_9(glval) = Convert : r1375_1 -# 1375| r1375_10(glval) = FunctionAddress[c_str] : -# 1375| r1375_11(char *) = Call[c_str] : func:r1375_10, this:r1375_9 -# 1375| m1375_12(unknown) = ^CallSideEffect : ~m1375_6 -# 1375| m1375_13(unknown) = Chi : total:m1375_6, partial:m1375_12 -# 1375| v1375_14(void) = ^IndirectReadSideEffect[-1] : &:r1375_9, m1375_8 -# 1376| r1376_1(glval) = VariableAddress[#temp1376:5] : -# 1376| r1376_2(glval) = FunctionAddress[returnValue] : -# 1376| r1376_3(String) = Call[returnValue] : func:r1376_2 -# 1376| m1376_4(unknown) = ^CallSideEffect : ~m1375_13 -# 1376| m1376_5(unknown) = Chi : total:m1375_13, partial:m1376_4 -# 1376| m1376_6(String) = Store[#temp1376:5] : &:r1376_1, r1376_3 -# 1376| r1376_7(glval) = Convert : r1376_1 -# 1376| r1376_8(glval) = FunctionAddress[c_str] : -# 1376| r1376_9(char *) = Call[c_str] : func:r1376_8, this:r1376_7 -# 1376| m1376_10(unknown) = ^CallSideEffect : ~m1376_5 -# 1376| m1376_11(unknown) = Chi : total:m1376_5, partial:m1376_10 -# 1376| v1376_12(void) = ^IndirectReadSideEffect[-1] : &:r1376_7, m1376_6 -# 1378| r1378_1(glval) = VariableAddress[#temp1378:5] : -# 1378| r1378_2(glval) = FunctionAddress[defaultConstruct] : -# 1378| r1378_3(String) = Call[defaultConstruct] : func:r1378_2 -# 1378| m1378_4(unknown) = ^CallSideEffect : ~m1376_11 -# 1378| m1378_5(unknown) = Chi : total:m1376_11, partial:m1378_4 -# 1378| m1378_6(String) = Store[#temp1378:5] : &:r1378_1, r1378_3 -# 1379| v1379_1(void) = NoOp : -# 1379| r1379_2(glval) = VariableAddress[s] : -# 1379| r1379_3(glval) = FunctionAddress[~String] : -# 1379| v1379_4(void) = Call[~String] : func:r1379_3, this:r1379_2 -# 1379| m1379_5(unknown) = ^CallSideEffect : ~m1378_5 -# 1379| m1379_6(unknown) = Chi : total:m1378_5, partial:m1379_5 -# 1379| v1379_7(void) = ^IndirectReadSideEffect[-1] : &:r1379_2, m1368_6 -# 1379| m1379_8(String) = ^IndirectMayWriteSideEffect[-1] : &:r1379_2 -# 1379| m1379_9(String) = Chi : total:m1368_6, partial:m1379_8 -# 1367| v1367_5(void) = ReturnVoid : -# 1367| v1367_6(void) = AliasedUse : ~m1379_6 -# 1367| v1367_7(void) = ExitFunction : +# 1414| void temporary_string() +# 1414| Block 0 +# 1414| v1414_1(void) = EnterFunction : +# 1414| m1414_2(unknown) = AliasedDefinition : +# 1414| m1414_3(unknown) = InitializeNonLocal : +# 1414| m1414_4(unknown) = Chi : total:m1414_2, partial:m1414_3 +# 1415| r1415_1(glval) = VariableAddress[s] : +# 1415| r1415_2(glval) = FunctionAddress[returnValue] : +# 1415| r1415_3(String) = Call[returnValue] : func:r1415_2 +# 1415| m1415_4(unknown) = ^CallSideEffect : ~m1414_4 +# 1415| m1415_5(unknown) = Chi : total:m1414_4, partial:m1415_4 +# 1415| m1415_6(String) = Store[s] : &:r1415_1, r1415_3 +# 1416| r1416_1(glval) = VariableAddress[rs] : +# 1416| r1416_2(glval) = VariableAddress[#temp1416:24] : +# 1416| r1416_3(glval) = FunctionAddress[returnValue] : +# 1416| r1416_4(String) = Call[returnValue] : func:r1416_3 +# 1416| m1416_5(unknown) = ^CallSideEffect : ~m1415_5 +# 1416| m1416_6(unknown) = Chi : total:m1415_5, partial:m1416_5 +# 1416| m1416_7(String) = Store[#temp1416:24] : &:r1416_2, r1416_4 +# 1416| r1416_8(glval) = Convert : r1416_2 +# 1416| r1416_9(String &) = CopyValue : r1416_8 +# 1416| m1416_10(String &) = Store[rs] : &:r1416_1, r1416_9 +# 1418| r1418_1(glval) = FunctionAddress[acceptRef] : +# 1418| r1418_2(glval) = VariableAddress[s] : +# 1418| r1418_3(glval) = Convert : r1418_2 +# 1418| r1418_4(String &) = CopyValue : r1418_3 +# 1418| v1418_5(void) = Call[acceptRef] : func:r1418_1, 0:r1418_4 +# 1418| m1418_6(unknown) = ^CallSideEffect : ~m1416_6 +# 1418| m1418_7(unknown) = Chi : total:m1416_6, partial:m1418_6 +# 1418| v1418_8(void) = ^BufferReadSideEffect[0] : &:r1418_4, ~m1415_6 +# 1419| r1419_1(glval) = FunctionAddress[acceptRef] : +# 1419| r1419_2(glval) = VariableAddress[#temp1419:23] : +# 1419| m1419_3(String) = Uninitialized[#temp1419:23] : &:r1419_2 +# 1419| r1419_4(glval) = FunctionAddress[String] : +# 1419| r1419_5(glval) = StringConstant["foo"] : +# 1419| r1419_6(char *) = Convert : r1419_5 +# 1419| v1419_7(void) = Call[String] : func:r1419_4, this:r1419_2, 0:r1419_6 +# 1419| m1419_8(unknown) = ^CallSideEffect : ~m1418_7 +# 1419| m1419_9(unknown) = Chi : total:m1418_7, partial:m1419_8 +# 1419| v1419_10(void) = ^BufferReadSideEffect[0] : &:r1419_6, ~m1414_3 +# 1419| m1419_11(String) = ^IndirectMayWriteSideEffect[-1] : &:r1419_2 +# 1419| m1419_12(String) = Chi : total:m1419_3, partial:m1419_11 +# 1419| r1419_13(String &) = CopyValue : r1419_2 +# 1419| v1419_14(void) = Call[acceptRef] : func:r1419_1, 0:r1419_13 +# 1419| m1419_15(unknown) = ^CallSideEffect : ~m1419_9 +# 1419| m1419_16(unknown) = Chi : total:m1419_9, partial:m1419_15 +# 1419| v1419_17(void) = ^BufferReadSideEffect[0] : &:r1419_13, ~m1419_12 +# 1420| r1420_1(glval) = FunctionAddress[acceptValue] : +# 1420| r1420_2(glval) = VariableAddress[#temp1420:17] : +# 1420| m1420_3(String) = Uninitialized[#temp1420:17] : &:r1420_2 +# 1420| r1420_4(glval) = FunctionAddress[String] : +# 1420| r1420_5(glval) = VariableAddress[s] : +# 1420| r1420_6(glval) = Convert : r1420_5 +# 1420| r1420_7(String &) = CopyValue : r1420_6 +# 1420| v1420_8(void) = Call[String] : func:r1420_4, this:r1420_2, 0:r1420_7 +# 1420| m1420_9(unknown) = ^CallSideEffect : ~m1419_16 +# 1420| m1420_10(unknown) = Chi : total:m1419_16, partial:m1420_9 +# 1420| v1420_11(void) = ^BufferReadSideEffect[0] : &:r1420_7, ~m1415_6 +# 1420| m1420_12(String) = ^IndirectMayWriteSideEffect[-1] : &:r1420_2 +# 1420| m1420_13(String) = Chi : total:m1420_3, partial:m1420_12 +# 1420| r1420_14(String) = Load[#temp1420:17] : &:r1420_2, m1420_13 +# 1420| v1420_15(void) = Call[acceptValue] : func:r1420_1, 0:r1420_14 +# 1420| m1420_16(unknown) = ^CallSideEffect : ~m1420_10 +# 1420| m1420_17(unknown) = Chi : total:m1420_10, partial:m1420_16 +# 1421| r1421_1(glval) = FunctionAddress[acceptValue] : +# 1421| r1421_2(glval) = VariableAddress[#temp1421:25] : +# 1421| m1421_3(String) = Uninitialized[#temp1421:25] : &:r1421_2 +# 1421| r1421_4(glval) = FunctionAddress[String] : +# 1421| r1421_5(glval) = StringConstant["foo"] : +# 1421| r1421_6(char *) = Convert : r1421_5 +# 1421| v1421_7(void) = Call[String] : func:r1421_4, this:r1421_2, 0:r1421_6 +# 1421| m1421_8(unknown) = ^CallSideEffect : ~m1420_17 +# 1421| m1421_9(unknown) = Chi : total:m1420_17, partial:m1421_8 +# 1421| v1421_10(void) = ^BufferReadSideEffect[0] : &:r1421_6, ~m1414_3 +# 1421| m1421_11(String) = ^IndirectMayWriteSideEffect[-1] : &:r1421_2 +# 1421| m1421_12(String) = Chi : total:m1421_3, partial:m1421_11 +# 1421| r1421_13(String) = Load[#temp1421:25] : &:r1421_2, m1421_12 +# 1421| v1421_14(void) = Call[acceptValue] : func:r1421_1, 0:r1421_13 +# 1421| m1421_15(unknown) = ^CallSideEffect : ~m1421_9 +# 1421| m1421_16(unknown) = Chi : total:m1421_9, partial:m1421_15 +# 1422| r1422_1(glval) = VariableAddress[#temp1422:5] : +# 1422| m1422_2(String) = Uninitialized[#temp1422:5] : &:r1422_1 +# 1422| r1422_3(glval) = FunctionAddress[String] : +# 1422| v1422_4(void) = Call[String] : func:r1422_3, this:r1422_1 +# 1422| m1422_5(unknown) = ^CallSideEffect : ~m1421_16 +# 1422| m1422_6(unknown) = Chi : total:m1421_16, partial:m1422_5 +# 1422| m1422_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r1422_1 +# 1422| m1422_8(String) = Chi : total:m1422_2, partial:m1422_7 +# 1422| r1422_9(glval) = Convert : r1422_1 +# 1422| r1422_10(glval) = FunctionAddress[c_str] : +# 1422| r1422_11(char *) = Call[c_str] : func:r1422_10, this:r1422_9 +# 1422| m1422_12(unknown) = ^CallSideEffect : ~m1422_6 +# 1422| m1422_13(unknown) = Chi : total:m1422_6, partial:m1422_12 +# 1422| v1422_14(void) = ^IndirectReadSideEffect[-1] : &:r1422_9, m1422_8 +# 1423| r1423_1(glval) = VariableAddress[#temp1423:5] : +# 1423| r1423_2(glval) = FunctionAddress[returnValue] : +# 1423| r1423_3(String) = Call[returnValue] : func:r1423_2 +# 1423| m1423_4(unknown) = ^CallSideEffect : ~m1422_13 +# 1423| m1423_5(unknown) = Chi : total:m1422_13, partial:m1423_4 +# 1423| m1423_6(String) = Store[#temp1423:5] : &:r1423_1, r1423_3 +# 1423| r1423_7(glval) = Convert : r1423_1 +# 1423| r1423_8(glval) = FunctionAddress[c_str] : +# 1423| r1423_9(char *) = Call[c_str] : func:r1423_8, this:r1423_7 +# 1423| m1423_10(unknown) = ^CallSideEffect : ~m1423_5 +# 1423| m1423_11(unknown) = Chi : total:m1423_5, partial:m1423_10 +# 1423| v1423_12(void) = ^IndirectReadSideEffect[-1] : &:r1423_7, m1423_6 +# 1425| r1425_1(glval) = VariableAddress[#temp1425:5] : +# 1425| r1425_2(glval) = FunctionAddress[defaultConstruct] : +# 1425| r1425_3(String) = Call[defaultConstruct] : func:r1425_2 +# 1425| m1425_4(unknown) = ^CallSideEffect : ~m1423_11 +# 1425| m1425_5(unknown) = Chi : total:m1423_11, partial:m1425_4 +# 1425| m1425_6(String) = Store[#temp1425:5] : &:r1425_1, r1425_3 +# 1426| v1426_1(void) = NoOp : +# 1426| r1426_2(glval) = VariableAddress[s] : +# 1426| r1426_3(glval) = FunctionAddress[~String] : +# 1426| v1426_4(void) = Call[~String] : func:r1426_3, this:r1426_2 +# 1426| m1426_5(unknown) = ^CallSideEffect : ~m1425_5 +# 1426| m1426_6(unknown) = Chi : total:m1425_5, partial:m1426_5 +# 1426| v1426_7(void) = ^IndirectReadSideEffect[-1] : &:r1426_2, m1415_6 +# 1426| m1426_8(String) = ^IndirectMayWriteSideEffect[-1] : &:r1426_2 +# 1426| m1426_9(String) = Chi : total:m1415_6, partial:m1426_8 +# 1414| v1414_5(void) = ReturnVoid : +# 1414| v1414_6(void) = AliasedUse : ~m1426_6 +# 1414| v1414_7(void) = ExitFunction : -# 1381| void temporary_destructor_only() -# 1381| Block 0 -# 1381| v1381_1(void) = EnterFunction : -# 1381| m1381_2(unknown) = AliasedDefinition : -# 1381| m1381_3(unknown) = InitializeNonLocal : -# 1381| m1381_4(unknown) = Chi : total:m1381_2, partial:m1381_3 -# 1382| r1382_1(glval) = VariableAddress[d] : -# 1382| r1382_2(glval) = FunctionAddress[returnValue] : -# 1382| r1382_3(destructor_only) = Call[returnValue] : func:r1382_2 -# 1382| m1382_4(unknown) = ^CallSideEffect : ~m1381_4 -# 1382| m1382_5(unknown) = Chi : total:m1381_4, partial:m1382_4 -# 1382| m1382_6(destructor_only) = Store[d] : &:r1382_1, r1382_3 -# 1383| r1383_1(glval) = VariableAddress[rd] : -# 1383| r1383_2(glval) = VariableAddress[#temp1383:33] : -# 1383| r1383_3(glval) = FunctionAddress[returnValue] : -# 1383| r1383_4(destructor_only) = Call[returnValue] : func:r1383_3 -# 1383| m1383_5(unknown) = ^CallSideEffect : ~m1382_5 -# 1383| m1383_6(unknown) = Chi : total:m1382_5, partial:m1383_5 -# 1383| m1383_7(destructor_only) = Store[#temp1383:33] : &:r1383_2, r1383_4 -# 1383| r1383_8(glval) = Convert : r1383_2 -# 1383| r1383_9(destructor_only &) = CopyValue : r1383_8 -# 1383| m1383_10(destructor_only &) = Store[rd] : &:r1383_1, r1383_9 -# 1384| r1384_1(glval) = VariableAddress[d2] : -# 1384| m1384_2(destructor_only) = Uninitialized[d2] : &:r1384_1 -# 1385| r1385_1(glval) = FunctionAddress[acceptRef] : -# 1385| r1385_2(glval) = VariableAddress[d] : -# 1385| r1385_3(glval) = Convert : r1385_2 -# 1385| r1385_4(destructor_only &) = CopyValue : r1385_3 -# 1385| v1385_5(void) = Call[acceptRef] : func:r1385_1, 0:r1385_4 -# 1385| m1385_6(unknown) = ^CallSideEffect : ~m1383_6 -# 1385| m1385_7(unknown) = Chi : total:m1383_6, partial:m1385_6 -# 1385| v1385_8(void) = ^BufferReadSideEffect[0] : &:r1385_4, ~m1382_6 -# 1386| r1386_1(glval) = FunctionAddress[acceptValue] : -# 1386| r1386_2(glval) = VariableAddress[#temp1386:17] : -# 1386| r1386_3(glval) = VariableAddress[d] : -# 1386| r1386_4(destructor_only) = Load[d] : &:r1386_3, m1382_6 -# 1386| m1386_5(destructor_only) = Store[#temp1386:17] : &:r1386_2, r1386_4 -# 1386| r1386_6(destructor_only) = Load[#temp1386:17] : &:r1386_2, m1386_5 -# 1386| v1386_7(void) = Call[acceptValue] : func:r1386_1, 0:r1386_6 -# 1386| m1386_8(unknown) = ^CallSideEffect : ~m1385_7 -# 1386| m1386_9(unknown) = Chi : total:m1385_7, partial:m1386_8 -# 1387| r1387_1(glval) = VariableAddress[#temp1387:5] : -# 1387| r1387_2(destructor_only) = Constant[0] : -# 1387| m1387_3(destructor_only) = Store[#temp1387:5] : &:r1387_1, r1387_2 -# 1387| r1387_4(glval) = FunctionAddress[method] : -# 1387| v1387_5(void) = Call[method] : func:r1387_4, this:r1387_1 -# 1387| m1387_6(unknown) = ^CallSideEffect : ~m1386_9 -# 1387| m1387_7(unknown) = Chi : total:m1386_9, partial:m1387_6 -# 1387| v1387_8(void) = ^IndirectReadSideEffect[-1] : &:r1387_1, m1387_3 -# 1387| m1387_9(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1387_1 -# 1387| m1387_10(destructor_only) = Chi : total:m1387_3, partial:m1387_9 -# 1388| r1388_1(glval) = VariableAddress[#temp1388:5] : -# 1388| r1388_2(glval) = FunctionAddress[returnValue] : -# 1388| r1388_3(destructor_only) = Call[returnValue] : func:r1388_2 -# 1388| m1388_4(unknown) = ^CallSideEffect : ~m1387_7 -# 1388| m1388_5(unknown) = Chi : total:m1387_7, partial:m1388_4 -# 1388| m1388_6(destructor_only) = Store[#temp1388:5] : &:r1388_1, r1388_3 -# 1388| r1388_7(glval) = FunctionAddress[method] : -# 1388| v1388_8(void) = Call[method] : func:r1388_7, this:r1388_1 -# 1388| m1388_9(unknown) = ^CallSideEffect : ~m1388_5 -# 1388| m1388_10(unknown) = Chi : total:m1388_5, partial:m1388_9 -# 1388| v1388_11(void) = ^IndirectReadSideEffect[-1] : &:r1388_1, m1388_6 -# 1388| m1388_12(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1388_1 -# 1388| m1388_13(destructor_only) = Chi : total:m1388_6, partial:m1388_12 -# 1390| r1390_1(glval) = VariableAddress[#temp1390:5] : -# 1390| r1390_2(glval) = FunctionAddress[defaultConstruct] : -# 1390| r1390_3(destructor_only) = Call[defaultConstruct] : func:r1390_2 -# 1390| m1390_4(unknown) = ^CallSideEffect : ~m1388_10 -# 1390| m1390_5(unknown) = Chi : total:m1388_10, partial:m1390_4 -# 1390| m1390_6(destructor_only) = Store[#temp1390:5] : &:r1390_1, r1390_3 -# 1391| v1391_1(void) = NoOp : -# 1391| r1391_2(glval) = VariableAddress[d2] : -# 1391| r1391_3(glval) = FunctionAddress[~destructor_only] : -# 1391| v1391_4(void) = Call[~destructor_only] : func:r1391_3, this:r1391_2 -# 1391| m1391_5(unknown) = ^CallSideEffect : ~m1390_5 -# 1391| m1391_6(unknown) = Chi : total:m1390_5, partial:m1391_5 -# 1391| v1391_7(void) = ^IndirectReadSideEffect[-1] : &:r1391_2, m1384_2 -# 1391| m1391_8(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1391_2 -# 1391| m1391_9(destructor_only) = Chi : total:m1384_2, partial:m1391_8 -# 1391| r1391_10(glval) = VariableAddress[d] : -# 1391| r1391_11(glval) = FunctionAddress[~destructor_only] : -# 1391| v1391_12(void) = Call[~destructor_only] : func:r1391_11, this:r1391_10 -# 1391| m1391_13(unknown) = ^CallSideEffect : ~m1391_6 -# 1391| m1391_14(unknown) = Chi : total:m1391_6, partial:m1391_13 -# 1391| v1391_15(void) = ^IndirectReadSideEffect[-1] : &:r1391_10, m1382_6 -# 1391| m1391_16(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1391_10 -# 1391| m1391_17(destructor_only) = Chi : total:m1382_6, partial:m1391_16 -# 1381| v1381_5(void) = ReturnVoid : -# 1381| v1381_6(void) = AliasedUse : ~m1391_14 -# 1381| v1381_7(void) = ExitFunction : +# 1428| void temporary_destructor_only() +# 1428| Block 0 +# 1428| v1428_1(void) = EnterFunction : +# 1428| m1428_2(unknown) = AliasedDefinition : +# 1428| m1428_3(unknown) = InitializeNonLocal : +# 1428| m1428_4(unknown) = Chi : total:m1428_2, partial:m1428_3 +# 1429| r1429_1(glval) = VariableAddress[d] : +# 1429| r1429_2(glval) = FunctionAddress[returnValue] : +# 1429| r1429_3(destructor_only) = Call[returnValue] : func:r1429_2 +# 1429| m1429_4(unknown) = ^CallSideEffect : ~m1428_4 +# 1429| m1429_5(unknown) = Chi : total:m1428_4, partial:m1429_4 +# 1429| m1429_6(destructor_only) = Store[d] : &:r1429_1, r1429_3 +# 1430| r1430_1(glval) = VariableAddress[rd] : +# 1430| r1430_2(glval) = VariableAddress[#temp1430:33] : +# 1430| r1430_3(glval) = FunctionAddress[returnValue] : +# 1430| r1430_4(destructor_only) = Call[returnValue] : func:r1430_3 +# 1430| m1430_5(unknown) = ^CallSideEffect : ~m1429_5 +# 1430| m1430_6(unknown) = Chi : total:m1429_5, partial:m1430_5 +# 1430| m1430_7(destructor_only) = Store[#temp1430:33] : &:r1430_2, r1430_4 +# 1430| r1430_8(glval) = Convert : r1430_2 +# 1430| r1430_9(destructor_only &) = CopyValue : r1430_8 +# 1430| m1430_10(destructor_only &) = Store[rd] : &:r1430_1, r1430_9 +# 1431| r1431_1(glval) = VariableAddress[d2] : +# 1431| m1431_2(destructor_only) = Uninitialized[d2] : &:r1431_1 +# 1432| r1432_1(glval) = FunctionAddress[acceptRef] : +# 1432| r1432_2(glval) = VariableAddress[d] : +# 1432| r1432_3(glval) = Convert : r1432_2 +# 1432| r1432_4(destructor_only &) = CopyValue : r1432_3 +# 1432| v1432_5(void) = Call[acceptRef] : func:r1432_1, 0:r1432_4 +# 1432| m1432_6(unknown) = ^CallSideEffect : ~m1430_6 +# 1432| m1432_7(unknown) = Chi : total:m1430_6, partial:m1432_6 +# 1432| v1432_8(void) = ^BufferReadSideEffect[0] : &:r1432_4, ~m1429_6 +# 1433| r1433_1(glval) = FunctionAddress[acceptValue] : +# 1433| r1433_2(glval) = VariableAddress[#temp1433:17] : +# 1433| r1433_3(glval) = VariableAddress[d] : +# 1433| r1433_4(destructor_only) = Load[d] : &:r1433_3, m1429_6 +# 1433| m1433_5(destructor_only) = Store[#temp1433:17] : &:r1433_2, r1433_4 +# 1433| r1433_6(destructor_only) = Load[#temp1433:17] : &:r1433_2, m1433_5 +# 1433| v1433_7(void) = Call[acceptValue] : func:r1433_1, 0:r1433_6 +# 1433| m1433_8(unknown) = ^CallSideEffect : ~m1432_7 +# 1433| m1433_9(unknown) = Chi : total:m1432_7, partial:m1433_8 +# 1434| r1434_1(glval) = VariableAddress[#temp1434:5] : +# 1434| r1434_2(destructor_only) = Constant[0] : +# 1434| m1434_3(destructor_only) = Store[#temp1434:5] : &:r1434_1, r1434_2 +# 1434| r1434_4(glval) = FunctionAddress[method] : +# 1434| v1434_5(void) = Call[method] : func:r1434_4, this:r1434_1 +# 1434| m1434_6(unknown) = ^CallSideEffect : ~m1433_9 +# 1434| m1434_7(unknown) = Chi : total:m1433_9, partial:m1434_6 +# 1434| v1434_8(void) = ^IndirectReadSideEffect[-1] : &:r1434_1, m1434_3 +# 1434| m1434_9(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1434_1 +# 1434| m1434_10(destructor_only) = Chi : total:m1434_3, partial:m1434_9 +# 1435| r1435_1(glval) = VariableAddress[#temp1435:5] : +# 1435| r1435_2(glval) = FunctionAddress[returnValue] : +# 1435| r1435_3(destructor_only) = Call[returnValue] : func:r1435_2 +# 1435| m1435_4(unknown) = ^CallSideEffect : ~m1434_7 +# 1435| m1435_5(unknown) = Chi : total:m1434_7, partial:m1435_4 +# 1435| m1435_6(destructor_only) = Store[#temp1435:5] : &:r1435_1, r1435_3 +# 1435| r1435_7(glval) = FunctionAddress[method] : +# 1435| v1435_8(void) = Call[method] : func:r1435_7, this:r1435_1 +# 1435| m1435_9(unknown) = ^CallSideEffect : ~m1435_5 +# 1435| m1435_10(unknown) = Chi : total:m1435_5, partial:m1435_9 +# 1435| v1435_11(void) = ^IndirectReadSideEffect[-1] : &:r1435_1, m1435_6 +# 1435| m1435_12(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1435_1 +# 1435| m1435_13(destructor_only) = Chi : total:m1435_6, partial:m1435_12 +# 1437| r1437_1(glval) = VariableAddress[#temp1437:5] : +# 1437| r1437_2(glval) = FunctionAddress[defaultConstruct] : +# 1437| r1437_3(destructor_only) = Call[defaultConstruct] : func:r1437_2 +# 1437| m1437_4(unknown) = ^CallSideEffect : ~m1435_10 +# 1437| m1437_5(unknown) = Chi : total:m1435_10, partial:m1437_4 +# 1437| m1437_6(destructor_only) = Store[#temp1437:5] : &:r1437_1, r1437_3 +# 1438| v1438_1(void) = NoOp : +# 1438| r1438_2(glval) = VariableAddress[d2] : +# 1438| r1438_3(glval) = FunctionAddress[~destructor_only] : +# 1438| v1438_4(void) = Call[~destructor_only] : func:r1438_3, this:r1438_2 +# 1438| m1438_5(unknown) = ^CallSideEffect : ~m1437_5 +# 1438| m1438_6(unknown) = Chi : total:m1437_5, partial:m1438_5 +# 1438| v1438_7(void) = ^IndirectReadSideEffect[-1] : &:r1438_2, m1431_2 +# 1438| m1438_8(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1438_2 +# 1438| m1438_9(destructor_only) = Chi : total:m1431_2, partial:m1438_8 +# 1438| r1438_10(glval) = VariableAddress[d] : +# 1438| r1438_11(glval) = FunctionAddress[~destructor_only] : +# 1438| v1438_12(void) = Call[~destructor_only] : func:r1438_11, this:r1438_10 +# 1438| m1438_13(unknown) = ^CallSideEffect : ~m1438_6 +# 1438| m1438_14(unknown) = Chi : total:m1438_6, partial:m1438_13 +# 1438| v1438_15(void) = ^IndirectReadSideEffect[-1] : &:r1438_10, m1429_6 +# 1438| m1438_16(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1438_10 +# 1438| m1438_17(destructor_only) = Chi : total:m1429_6, partial:m1438_16 +# 1428| v1428_5(void) = ReturnVoid : +# 1428| v1428_6(void) = AliasedUse : ~m1438_14 +# 1428| v1428_7(void) = ExitFunction : -# 1393| void temporary_copy_constructor() -# 1393| Block 0 -# 1393| v1393_1(void) = EnterFunction : -# 1393| m1393_2(unknown) = AliasedDefinition : -# 1393| m1393_3(unknown) = InitializeNonLocal : -# 1393| m1393_4(unknown) = Chi : total:m1393_2, partial:m1393_3 -# 1394| r1394_1(glval) = VariableAddress[d] : -# 1394| r1394_2(glval) = FunctionAddress[returnValue] : -# 1394| r1394_3(copy_constructor) = Call[returnValue] : func:r1394_2 -# 1394| m1394_4(unknown) = ^CallSideEffect : ~m1393_4 -# 1394| m1394_5(unknown) = Chi : total:m1393_4, partial:m1394_4 -# 1394| m1394_6(copy_constructor) = Store[d] : &:r1394_1, r1394_3 -# 1395| r1395_1(glval) = VariableAddress[rd] : -# 1395| r1395_2(glval) = VariableAddress[#temp1395:34] : -# 1395| r1395_3(glval) = FunctionAddress[returnValue] : -# 1395| r1395_4(copy_constructor) = Call[returnValue] : func:r1395_3 -# 1395| m1395_5(unknown) = ^CallSideEffect : ~m1394_5 -# 1395| m1395_6(unknown) = Chi : total:m1394_5, partial:m1395_5 -# 1395| m1395_7(copy_constructor) = Store[#temp1395:34] : &:r1395_2, r1395_4 -# 1395| r1395_8(glval) = Convert : r1395_2 -# 1395| r1395_9(copy_constructor &) = CopyValue : r1395_8 -# 1395| m1395_10(copy_constructor &) = Store[rd] : &:r1395_1, r1395_9 -# 1396| r1396_1(glval) = VariableAddress[d2] : -# 1396| m1396_2(copy_constructor) = Uninitialized[d2] : &:r1396_1 -# 1396| r1396_3(glval) = FunctionAddress[copy_constructor] : -# 1396| v1396_4(void) = Call[copy_constructor] : func:r1396_3, this:r1396_1 -# 1396| m1396_5(unknown) = ^CallSideEffect : ~m1395_6 -# 1396| m1396_6(unknown) = Chi : total:m1395_6, partial:m1396_5 -# 1396| m1396_7(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1396_1 -# 1396| m1396_8(copy_constructor) = Chi : total:m1396_2, partial:m1396_7 -# 1397| r1397_1(glval) = FunctionAddress[acceptRef] : -# 1397| r1397_2(glval) = VariableAddress[d] : -# 1397| r1397_3(glval) = Convert : r1397_2 -# 1397| r1397_4(copy_constructor &) = CopyValue : r1397_3 -# 1397| v1397_5(void) = Call[acceptRef] : func:r1397_1, 0:r1397_4 -# 1397| m1397_6(unknown) = ^CallSideEffect : ~m1396_6 -# 1397| m1397_7(unknown) = Chi : total:m1396_6, partial:m1397_6 -# 1397| v1397_8(void) = ^BufferReadSideEffect[0] : &:r1397_4, ~m1394_6 -# 1398| r1398_1(glval) = FunctionAddress[acceptValue] : -# 1398| r1398_2(glval) = VariableAddress[#temp1398:17] : -# 1398| m1398_3(copy_constructor) = Uninitialized[#temp1398:17] : &:r1398_2 -# 1398| r1398_4(glval) = FunctionAddress[copy_constructor] : -# 1398| r1398_5(glval) = VariableAddress[d] : -# 1398| r1398_6(glval) = Convert : r1398_5 -# 1398| r1398_7(copy_constructor &) = CopyValue : r1398_6 -# 1398| v1398_8(void) = Call[copy_constructor] : func:r1398_4, this:r1398_2, 0:r1398_7 -# 1398| m1398_9(unknown) = ^CallSideEffect : ~m1397_7 -# 1398| m1398_10(unknown) = Chi : total:m1397_7, partial:m1398_9 -# 1398| v1398_11(void) = ^BufferReadSideEffect[0] : &:r1398_7, ~m1394_6 -# 1398| m1398_12(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1398_2 -# 1398| m1398_13(copy_constructor) = Chi : total:m1398_3, partial:m1398_12 -# 1398| r1398_14(copy_constructor) = Load[#temp1398:17] : &:r1398_2, m1398_13 -# 1398| v1398_15(void) = Call[acceptValue] : func:r1398_1, 0:r1398_14 -# 1398| m1398_16(unknown) = ^CallSideEffect : ~m1398_10 -# 1398| m1398_17(unknown) = Chi : total:m1398_10, partial:m1398_16 -# 1399| r1399_1(glval) = VariableAddress[#temp1399:5] : -# 1399| m1399_2(copy_constructor) = Uninitialized[#temp1399:5] : &:r1399_1 -# 1399| r1399_3(glval) = FunctionAddress[copy_constructor] : -# 1399| v1399_4(void) = Call[copy_constructor] : func:r1399_3, this:r1399_1 -# 1399| m1399_5(unknown) = ^CallSideEffect : ~m1398_17 -# 1399| m1399_6(unknown) = Chi : total:m1398_17, partial:m1399_5 -# 1399| m1399_7(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1399_1 -# 1399| m1399_8(copy_constructor) = Chi : total:m1399_2, partial:m1399_7 -# 1399| r1399_9(glval) = FunctionAddress[method] : -# 1399| v1399_10(void) = Call[method] : func:r1399_9, this:r1399_1 -# 1399| m1399_11(unknown) = ^CallSideEffect : ~m1399_6 -# 1399| m1399_12(unknown) = Chi : total:m1399_6, partial:m1399_11 -# 1399| v1399_13(void) = ^IndirectReadSideEffect[-1] : &:r1399_1, m1399_8 -# 1399| m1399_14(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1399_1 -# 1399| m1399_15(copy_constructor) = Chi : total:m1399_8, partial:m1399_14 -# 1400| r1400_1(glval) = VariableAddress[#temp1400:5] : -# 1400| r1400_2(glval) = FunctionAddress[returnValue] : -# 1400| r1400_3(copy_constructor) = Call[returnValue] : func:r1400_2 -# 1400| m1400_4(unknown) = ^CallSideEffect : ~m1399_12 -# 1400| m1400_5(unknown) = Chi : total:m1399_12, partial:m1400_4 -# 1400| m1400_6(copy_constructor) = Store[#temp1400:5] : &:r1400_1, r1400_3 -# 1400| r1400_7(glval) = FunctionAddress[method] : -# 1400| v1400_8(void) = Call[method] : func:r1400_7, this:r1400_1 -# 1400| m1400_9(unknown) = ^CallSideEffect : ~m1400_5 -# 1400| m1400_10(unknown) = Chi : total:m1400_5, partial:m1400_9 -# 1400| v1400_11(void) = ^IndirectReadSideEffect[-1] : &:r1400_1, m1400_6 -# 1400| m1400_12(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1400_1 -# 1400| m1400_13(copy_constructor) = Chi : total:m1400_6, partial:m1400_12 -# 1401| r1401_1(glval) = VariableAddress[#temp1401:5] : -# 1401| r1401_2(glval) = FunctionAddress[defaultConstruct] : -# 1401| r1401_3(copy_constructor) = Call[defaultConstruct] : func:r1401_2 -# 1401| m1401_4(unknown) = ^CallSideEffect : ~m1400_10 -# 1401| m1401_5(unknown) = Chi : total:m1400_10, partial:m1401_4 -# 1401| m1401_6(copy_constructor) = Store[#temp1401:5] : &:r1401_1, r1401_3 -# 1403| r1403_1(glval) = VariableAddress[y] : -# 1403| r1403_2(glval) = VariableAddress[#temp1403:13] : -# 1403| r1403_3(glval) = FunctionAddress[returnValue] : -# 1403| r1403_4(copy_constructor) = Call[returnValue] : func:r1403_3 -# 1403| m1403_5(unknown) = ^CallSideEffect : ~m1401_5 -# 1403| m1403_6(unknown) = Chi : total:m1401_5, partial:m1403_5 -# 1403| m1403_7(copy_constructor) = Store[#temp1403:13] : &:r1403_2, r1403_4 -# 1403| r1403_8(glval) = FieldAddress[y] : r1403_2 -# 1403| r1403_9(int) = Load[?] : &:r1403_8, ~m1403_7 -# 1403| m1403_10(int) = Store[y] : &:r1403_1, r1403_9 -# 1404| v1404_1(void) = NoOp : -# 1393| v1393_5(void) = ReturnVoid : -# 1393| v1393_6(void) = AliasedUse : ~m1403_6 -# 1393| v1393_7(void) = ExitFunction : +# 1440| void temporary_copy_constructor() +# 1440| Block 0 +# 1440| v1440_1(void) = EnterFunction : +# 1440| m1440_2(unknown) = AliasedDefinition : +# 1440| m1440_3(unknown) = InitializeNonLocal : +# 1440| m1440_4(unknown) = Chi : total:m1440_2, partial:m1440_3 +# 1441| r1441_1(glval) = VariableAddress[d] : +# 1441| r1441_2(glval) = FunctionAddress[returnValue] : +# 1441| r1441_3(copy_constructor) = Call[returnValue] : func:r1441_2 +# 1441| m1441_4(unknown) = ^CallSideEffect : ~m1440_4 +# 1441| m1441_5(unknown) = Chi : total:m1440_4, partial:m1441_4 +# 1441| m1441_6(copy_constructor) = Store[d] : &:r1441_1, r1441_3 +# 1442| r1442_1(glval) = VariableAddress[rd] : +# 1442| r1442_2(glval) = VariableAddress[#temp1442:34] : +# 1442| r1442_3(glval) = FunctionAddress[returnValue] : +# 1442| r1442_4(copy_constructor) = Call[returnValue] : func:r1442_3 +# 1442| m1442_5(unknown) = ^CallSideEffect : ~m1441_5 +# 1442| m1442_6(unknown) = Chi : total:m1441_5, partial:m1442_5 +# 1442| m1442_7(copy_constructor) = Store[#temp1442:34] : &:r1442_2, r1442_4 +# 1442| r1442_8(glval) = Convert : r1442_2 +# 1442| r1442_9(copy_constructor &) = CopyValue : r1442_8 +# 1442| m1442_10(copy_constructor &) = Store[rd] : &:r1442_1, r1442_9 +# 1443| r1443_1(glval) = VariableAddress[d2] : +# 1443| m1443_2(copy_constructor) = Uninitialized[d2] : &:r1443_1 +# 1443| r1443_3(glval) = FunctionAddress[copy_constructor] : +# 1443| v1443_4(void) = Call[copy_constructor] : func:r1443_3, this:r1443_1 +# 1443| m1443_5(unknown) = ^CallSideEffect : ~m1442_6 +# 1443| m1443_6(unknown) = Chi : total:m1442_6, partial:m1443_5 +# 1443| m1443_7(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1443_1 +# 1443| m1443_8(copy_constructor) = Chi : total:m1443_2, partial:m1443_7 +# 1444| r1444_1(glval) = FunctionAddress[acceptRef] : +# 1444| r1444_2(glval) = VariableAddress[d] : +# 1444| r1444_3(glval) = Convert : r1444_2 +# 1444| r1444_4(copy_constructor &) = CopyValue : r1444_3 +# 1444| v1444_5(void) = Call[acceptRef] : func:r1444_1, 0:r1444_4 +# 1444| m1444_6(unknown) = ^CallSideEffect : ~m1443_6 +# 1444| m1444_7(unknown) = Chi : total:m1443_6, partial:m1444_6 +# 1444| v1444_8(void) = ^BufferReadSideEffect[0] : &:r1444_4, ~m1441_6 +# 1445| r1445_1(glval) = FunctionAddress[acceptValue] : +# 1445| r1445_2(glval) = VariableAddress[#temp1445:17] : +# 1445| m1445_3(copy_constructor) = Uninitialized[#temp1445:17] : &:r1445_2 +# 1445| r1445_4(glval) = FunctionAddress[copy_constructor] : +# 1445| r1445_5(glval) = VariableAddress[d] : +# 1445| r1445_6(glval) = Convert : r1445_5 +# 1445| r1445_7(copy_constructor &) = CopyValue : r1445_6 +# 1445| v1445_8(void) = Call[copy_constructor] : func:r1445_4, this:r1445_2, 0:r1445_7 +# 1445| m1445_9(unknown) = ^CallSideEffect : ~m1444_7 +# 1445| m1445_10(unknown) = Chi : total:m1444_7, partial:m1445_9 +# 1445| v1445_11(void) = ^BufferReadSideEffect[0] : &:r1445_7, ~m1441_6 +# 1445| m1445_12(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1445_2 +# 1445| m1445_13(copy_constructor) = Chi : total:m1445_3, partial:m1445_12 +# 1445| r1445_14(copy_constructor) = Load[#temp1445:17] : &:r1445_2, m1445_13 +# 1445| v1445_15(void) = Call[acceptValue] : func:r1445_1, 0:r1445_14 +# 1445| m1445_16(unknown) = ^CallSideEffect : ~m1445_10 +# 1445| m1445_17(unknown) = Chi : total:m1445_10, partial:m1445_16 +# 1446| r1446_1(glval) = VariableAddress[#temp1446:5] : +# 1446| m1446_2(copy_constructor) = Uninitialized[#temp1446:5] : &:r1446_1 +# 1446| r1446_3(glval) = FunctionAddress[copy_constructor] : +# 1446| v1446_4(void) = Call[copy_constructor] : func:r1446_3, this:r1446_1 +# 1446| m1446_5(unknown) = ^CallSideEffect : ~m1445_17 +# 1446| m1446_6(unknown) = Chi : total:m1445_17, partial:m1446_5 +# 1446| m1446_7(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1446_1 +# 1446| m1446_8(copy_constructor) = Chi : total:m1446_2, partial:m1446_7 +# 1446| r1446_9(glval) = FunctionAddress[method] : +# 1446| v1446_10(void) = Call[method] : func:r1446_9, this:r1446_1 +# 1446| m1446_11(unknown) = ^CallSideEffect : ~m1446_6 +# 1446| m1446_12(unknown) = Chi : total:m1446_6, partial:m1446_11 +# 1446| v1446_13(void) = ^IndirectReadSideEffect[-1] : &:r1446_1, m1446_8 +# 1446| m1446_14(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1446_1 +# 1446| m1446_15(copy_constructor) = Chi : total:m1446_8, partial:m1446_14 +# 1447| r1447_1(glval) = VariableAddress[#temp1447:5] : +# 1447| r1447_2(glval) = FunctionAddress[returnValue] : +# 1447| r1447_3(copy_constructor) = Call[returnValue] : func:r1447_2 +# 1447| m1447_4(unknown) = ^CallSideEffect : ~m1446_12 +# 1447| m1447_5(unknown) = Chi : total:m1446_12, partial:m1447_4 +# 1447| m1447_6(copy_constructor) = Store[#temp1447:5] : &:r1447_1, r1447_3 +# 1447| r1447_7(glval) = FunctionAddress[method] : +# 1447| v1447_8(void) = Call[method] : func:r1447_7, this:r1447_1 +# 1447| m1447_9(unknown) = ^CallSideEffect : ~m1447_5 +# 1447| m1447_10(unknown) = Chi : total:m1447_5, partial:m1447_9 +# 1447| v1447_11(void) = ^IndirectReadSideEffect[-1] : &:r1447_1, m1447_6 +# 1447| m1447_12(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1447_1 +# 1447| m1447_13(copy_constructor) = Chi : total:m1447_6, partial:m1447_12 +# 1448| r1448_1(glval) = VariableAddress[#temp1448:5] : +# 1448| r1448_2(glval) = FunctionAddress[defaultConstruct] : +# 1448| r1448_3(copy_constructor) = Call[defaultConstruct] : func:r1448_2 +# 1448| m1448_4(unknown) = ^CallSideEffect : ~m1447_10 +# 1448| m1448_5(unknown) = Chi : total:m1447_10, partial:m1448_4 +# 1448| m1448_6(copy_constructor) = Store[#temp1448:5] : &:r1448_1, r1448_3 +# 1450| r1450_1(glval) = VariableAddress[y] : +# 1450| r1450_2(glval) = VariableAddress[#temp1450:13] : +# 1450| r1450_3(glval) = FunctionAddress[returnValue] : +# 1450| r1450_4(copy_constructor) = Call[returnValue] : func:r1450_3 +# 1450| m1450_5(unknown) = ^CallSideEffect : ~m1448_5 +# 1450| m1450_6(unknown) = Chi : total:m1448_5, partial:m1450_5 +# 1450| m1450_7(copy_constructor) = Store[#temp1450:13] : &:r1450_2, r1450_4 +# 1450| r1450_8(glval) = FieldAddress[y] : r1450_2 +# 1450| r1450_9(int) = Load[?] : &:r1450_8, ~m1450_7 +# 1450| m1450_10(int) = Store[y] : &:r1450_1, r1450_9 +# 1451| v1451_1(void) = NoOp : +# 1440| v1440_5(void) = ReturnVoid : +# 1440| v1440_6(void) = AliasedUse : ~m1450_6 +# 1440| v1440_7(void) = ExitFunction : -# 1406| void temporary_point() -# 1406| Block 0 -# 1406| v1406_1(void) = EnterFunction : -# 1406| m1406_2(unknown) = AliasedDefinition : -# 1406| m1406_3(unknown) = InitializeNonLocal : -# 1406| m1406_4(unknown) = Chi : total:m1406_2, partial:m1406_3 -# 1407| r1407_1(glval) = VariableAddress[p] : -# 1407| r1407_2(glval) = FunctionAddress[returnValue] : -# 1407| r1407_3(Point) = Call[returnValue] : func:r1407_2 -# 1407| m1407_4(unknown) = ^CallSideEffect : ~m1406_4 -# 1407| m1407_5(unknown) = Chi : total:m1406_4, partial:m1407_4 -# 1407| m1407_6(Point) = Store[p] : &:r1407_1, r1407_3 -# 1408| r1408_1(glval) = VariableAddress[rp] : -# 1408| r1408_2(glval) = VariableAddress[#temp1408:23] : -# 1408| r1408_3(glval) = FunctionAddress[returnValue] : -# 1408| r1408_4(Point) = Call[returnValue] : func:r1408_3 -# 1408| m1408_5(unknown) = ^CallSideEffect : ~m1407_5 -# 1408| m1408_6(unknown) = Chi : total:m1407_5, partial:m1408_5 -# 1408| m1408_7(Point) = Store[#temp1408:23] : &:r1408_2, r1408_4 -# 1408| r1408_8(glval) = Convert : r1408_2 -# 1408| r1408_9(Point &) = CopyValue : r1408_8 -# 1408| m1408_10(Point &) = Store[rp] : &:r1408_1, r1408_9 -# 1410| r1410_1(glval) = FunctionAddress[acceptRef] : -# 1410| r1410_2(glval) = VariableAddress[p] : -# 1410| r1410_3(glval) = Convert : r1410_2 -# 1410| r1410_4(Point &) = CopyValue : r1410_3 -# 1410| v1410_5(void) = Call[acceptRef] : func:r1410_1, 0:r1410_4 -# 1410| m1410_6(unknown) = ^CallSideEffect : ~m1408_6 -# 1410| m1410_7(unknown) = Chi : total:m1408_6, partial:m1410_6 -# 1410| v1410_8(void) = ^BufferReadSideEffect[0] : &:r1410_4, ~m1407_6 -# 1411| r1411_1(glval) = FunctionAddress[acceptValue] : -# 1411| r1411_2(glval) = VariableAddress[p] : -# 1411| r1411_3(Point) = Load[p] : &:r1411_2, m1407_6 -# 1411| v1411_4(void) = Call[acceptValue] : func:r1411_1, 0:r1411_3 -# 1411| m1411_5(unknown) = ^CallSideEffect : ~m1410_7 -# 1411| m1411_6(unknown) = Chi : total:m1410_7, partial:m1411_5 -# 1412| r1412_1(int) = Constant[0] : -# 1413| r1413_1(glval) = VariableAddress[y] : -# 1413| r1413_2(glval) = FunctionAddress[returnValue] : -# 1413| r1413_3(Point) = Call[returnValue] : func:r1413_2 -# 1413| m1413_4(unknown) = ^CallSideEffect : ~m1411_6 -# 1413| m1413_5(unknown) = Chi : total:m1411_6, partial:m1413_4 -# 1413| r1413_6(glval) = VariableAddress[#temp1413:13] : -# 1413| m1413_7(Point) = Store[#temp1413:13] : &:r1413_6, r1413_3 -# 1413| r1413_8(glval) = FieldAddress[y] : r1413_6 -# 1413| r1413_9(int) = Load[?] : &:r1413_8, ~m1413_7 -# 1413| m1413_10(int) = Store[y] : &:r1413_1, r1413_9 -# 1415| r1415_1(glval) = FunctionAddress[defaultConstruct] : -# 1415| r1415_2(Point) = Call[defaultConstruct] : func:r1415_1 -# 1415| m1415_3(unknown) = ^CallSideEffect : ~m1413_5 -# 1415| m1415_4(unknown) = Chi : total:m1413_5, partial:m1415_3 -# 1416| v1416_1(void) = NoOp : -# 1406| v1406_5(void) = ReturnVoid : -# 1406| v1406_6(void) = AliasedUse : ~m1415_4 -# 1406| v1406_7(void) = ExitFunction : +# 1453| void temporary_point() +# 1453| Block 0 +# 1453| v1453_1(void) = EnterFunction : +# 1453| m1453_2(unknown) = AliasedDefinition : +# 1453| m1453_3(unknown) = InitializeNonLocal : +# 1453| m1453_4(unknown) = Chi : total:m1453_2, partial:m1453_3 +# 1454| r1454_1(glval) = VariableAddress[p] : +# 1454| r1454_2(glval) = FunctionAddress[returnValue] : +# 1454| r1454_3(Point) = Call[returnValue] : func:r1454_2 +# 1454| m1454_4(unknown) = ^CallSideEffect : ~m1453_4 +# 1454| m1454_5(unknown) = Chi : total:m1453_4, partial:m1454_4 +# 1454| m1454_6(Point) = Store[p] : &:r1454_1, r1454_3 +# 1455| r1455_1(glval) = VariableAddress[rp] : +# 1455| r1455_2(glval) = VariableAddress[#temp1455:23] : +# 1455| r1455_3(glval) = FunctionAddress[returnValue] : +# 1455| r1455_4(Point) = Call[returnValue] : func:r1455_3 +# 1455| m1455_5(unknown) = ^CallSideEffect : ~m1454_5 +# 1455| m1455_6(unknown) = Chi : total:m1454_5, partial:m1455_5 +# 1455| m1455_7(Point) = Store[#temp1455:23] : &:r1455_2, r1455_4 +# 1455| r1455_8(glval) = Convert : r1455_2 +# 1455| r1455_9(Point &) = CopyValue : r1455_8 +# 1455| m1455_10(Point &) = Store[rp] : &:r1455_1, r1455_9 +# 1457| r1457_1(glval) = FunctionAddress[acceptRef] : +# 1457| r1457_2(glval) = VariableAddress[p] : +# 1457| r1457_3(glval) = Convert : r1457_2 +# 1457| r1457_4(Point &) = CopyValue : r1457_3 +# 1457| v1457_5(void) = Call[acceptRef] : func:r1457_1, 0:r1457_4 +# 1457| m1457_6(unknown) = ^CallSideEffect : ~m1455_6 +# 1457| m1457_7(unknown) = Chi : total:m1455_6, partial:m1457_6 +# 1457| v1457_8(void) = ^BufferReadSideEffect[0] : &:r1457_4, ~m1454_6 +# 1458| r1458_1(glval) = FunctionAddress[acceptValue] : +# 1458| r1458_2(glval) = VariableAddress[p] : +# 1458| r1458_3(Point) = Load[p] : &:r1458_2, m1454_6 +# 1458| v1458_4(void) = Call[acceptValue] : func:r1458_1, 0:r1458_3 +# 1458| m1458_5(unknown) = ^CallSideEffect : ~m1457_7 +# 1458| m1458_6(unknown) = Chi : total:m1457_7, partial:m1458_5 +# 1459| r1459_1(int) = Constant[0] : +# 1460| r1460_1(glval) = VariableAddress[y] : +# 1460| r1460_2(glval) = FunctionAddress[returnValue] : +# 1460| r1460_3(Point) = Call[returnValue] : func:r1460_2 +# 1460| m1460_4(unknown) = ^CallSideEffect : ~m1458_6 +# 1460| m1460_5(unknown) = Chi : total:m1458_6, partial:m1460_4 +# 1460| r1460_6(glval) = VariableAddress[#temp1460:13] : +# 1460| m1460_7(Point) = Store[#temp1460:13] : &:r1460_6, r1460_3 +# 1460| r1460_8(glval) = FieldAddress[y] : r1460_6 +# 1460| r1460_9(int) = Load[?] : &:r1460_8, ~m1460_7 +# 1460| m1460_10(int) = Store[y] : &:r1460_1, r1460_9 +# 1462| r1462_1(glval) = FunctionAddress[defaultConstruct] : +# 1462| r1462_2(Point) = Call[defaultConstruct] : func:r1462_1 +# 1462| m1462_3(unknown) = ^CallSideEffect : ~m1460_5 +# 1462| m1462_4(unknown) = Chi : total:m1460_5, partial:m1462_3 +# 1463| v1463_1(void) = NoOp : +# 1453| v1453_5(void) = ReturnVoid : +# 1453| v1453_6(void) = AliasedUse : ~m1462_4 +# 1453| v1453_7(void) = ExitFunction : -# 1423| void temporary_unusual_fields() -# 1423| Block 0 -# 1423| v1423_1(void) = EnterFunction : -# 1423| m1423_2(unknown) = AliasedDefinition : -# 1423| m1423_3(unknown) = InitializeNonLocal : -# 1423| m1423_4(unknown) = Chi : total:m1423_2, partial:m1423_3 -# 1424| r1424_1(glval) = VariableAddress[rx] : -# 1424| r1424_2(glval) = FunctionAddress[returnValue] : -# 1424| r1424_3(UnusualFields) = Call[returnValue] : func:r1424_2 -# 1424| m1424_4(unknown) = ^CallSideEffect : ~m1423_4 -# 1424| m1424_5(unknown) = Chi : total:m1423_4, partial:m1424_4 -# 1424| r1424_6(glval) = VariableAddress[#temp1424:21] : -# 1424| m1424_7(UnusualFields) = Store[#temp1424:21] : &:r1424_6, r1424_3 -# 1424| r1424_8(glval) = FieldAddress[r] : r1424_6 -# 1424| r1424_9(int &) = Load[?] : &:r1424_8, ~m1424_7 -# 1424| r1424_10(glval) = CopyValue : r1424_9 -# 1424| r1424_11(glval) = Convert : r1424_10 -# 1424| r1424_12(int &) = CopyValue : r1424_11 -# 1424| m1424_13(int &) = Store[rx] : &:r1424_1, r1424_12 -# 1425| r1425_1(glval) = VariableAddress[x] : -# 1425| r1425_2(glval) = FunctionAddress[returnValue] : -# 1425| r1425_3(UnusualFields) = Call[returnValue] : func:r1425_2 -# 1425| m1425_4(unknown) = ^CallSideEffect : ~m1424_5 -# 1425| m1425_5(unknown) = Chi : total:m1424_5, partial:m1425_4 -# 1425| r1425_6(glval) = VariableAddress[#temp1425:13] : -# 1425| m1425_7(UnusualFields) = Store[#temp1425:13] : &:r1425_6, r1425_3 -# 1425| r1425_8(glval) = FieldAddress[r] : r1425_6 -# 1425| r1425_9(int &) = Load[?] : &:r1425_8, ~m1425_7 -# 1425| r1425_10(int) = Load[?] : &:r1425_9, ~m1425_5 -# 1425| m1425_11(int) = Store[x] : &:r1425_1, r1425_10 -# 1427| r1427_1(glval) = VariableAddress[rf] : -# 1427| r1427_2(glval) = FunctionAddress[returnValue] : -# 1427| r1427_3(UnusualFields) = Call[returnValue] : func:r1427_2 -# 1427| m1427_4(unknown) = ^CallSideEffect : ~m1425_5 -# 1427| m1427_5(unknown) = Chi : total:m1425_5, partial:m1427_4 -# 1427| r1427_6(glval) = VariableAddress[#temp1427:23] : -# 1427| m1427_7(UnusualFields) = Store[#temp1427:23] : &:r1427_6, r1427_3 -# 1427| r1427_8(glval) = FieldAddress[a] : r1427_6 -# 1427| r1427_9(float *) = Convert : r1427_8 -# 1427| r1427_10(int) = Constant[3] : -# 1427| r1427_11(glval) = PointerAdd[4] : r1427_9, r1427_10 -# 1427| r1427_12(glval) = Convert : r1427_11 -# 1427| r1427_13(float &) = CopyValue : r1427_12 -# 1427| m1427_14(float &) = Store[rf] : &:r1427_1, r1427_13 -# 1428| r1428_1(glval) = VariableAddress[f] : -# 1428| r1428_2(glval) = FunctionAddress[returnValue] : -# 1428| r1428_3(UnusualFields) = Call[returnValue] : func:r1428_2 -# 1428| m1428_4(unknown) = ^CallSideEffect : ~m1427_5 -# 1428| m1428_5(unknown) = Chi : total:m1427_5, partial:m1428_4 -# 1428| r1428_6(glval) = VariableAddress[#temp1428:15] : -# 1428| m1428_7(UnusualFields) = Store[#temp1428:15] : &:r1428_6, r1428_3 -# 1428| r1428_8(glval) = FieldAddress[a] : r1428_6 -# 1428| r1428_9(float *) = Convert : r1428_8 -# 1428| r1428_10(int) = Constant[5] : -# 1428| r1428_11(glval) = PointerAdd[4] : r1428_9, r1428_10 -# 1428| r1428_12(float) = Load[?] : &:r1428_11, ~m1428_7 -# 1428| m1428_13(float) = Store[f] : &:r1428_1, r1428_12 -# 1429| v1429_1(void) = NoOp : -# 1423| v1423_5(void) = ReturnVoid : -# 1423| v1423_6(void) = AliasedUse : ~m1428_5 -# 1423| v1423_7(void) = ExitFunction : +# 1470| void temporary_unusual_fields() +# 1470| Block 0 +# 1470| v1470_1(void) = EnterFunction : +# 1470| m1470_2(unknown) = AliasedDefinition : +# 1470| m1470_3(unknown) = InitializeNonLocal : +# 1470| m1470_4(unknown) = Chi : total:m1470_2, partial:m1470_3 +# 1471| r1471_1(glval) = VariableAddress[rx] : +# 1471| r1471_2(glval) = FunctionAddress[returnValue] : +# 1471| r1471_3(UnusualFields) = Call[returnValue] : func:r1471_2 +# 1471| m1471_4(unknown) = ^CallSideEffect : ~m1470_4 +# 1471| m1471_5(unknown) = Chi : total:m1470_4, partial:m1471_4 +# 1471| r1471_6(glval) = VariableAddress[#temp1471:21] : +# 1471| m1471_7(UnusualFields) = Store[#temp1471:21] : &:r1471_6, r1471_3 +# 1471| r1471_8(glval) = FieldAddress[r] : r1471_6 +# 1471| r1471_9(int &) = Load[?] : &:r1471_8, ~m1471_7 +# 1471| r1471_10(glval) = CopyValue : r1471_9 +# 1471| r1471_11(glval) = Convert : r1471_10 +# 1471| r1471_12(int &) = CopyValue : r1471_11 +# 1471| m1471_13(int &) = Store[rx] : &:r1471_1, r1471_12 +# 1472| r1472_1(glval) = VariableAddress[x] : +# 1472| r1472_2(glval) = FunctionAddress[returnValue] : +# 1472| r1472_3(UnusualFields) = Call[returnValue] : func:r1472_2 +# 1472| m1472_4(unknown) = ^CallSideEffect : ~m1471_5 +# 1472| m1472_5(unknown) = Chi : total:m1471_5, partial:m1472_4 +# 1472| r1472_6(glval) = VariableAddress[#temp1472:13] : +# 1472| m1472_7(UnusualFields) = Store[#temp1472:13] : &:r1472_6, r1472_3 +# 1472| r1472_8(glval) = FieldAddress[r] : r1472_6 +# 1472| r1472_9(int &) = Load[?] : &:r1472_8, ~m1472_7 +# 1472| r1472_10(int) = Load[?] : &:r1472_9, ~m1472_5 +# 1472| m1472_11(int) = Store[x] : &:r1472_1, r1472_10 +# 1474| r1474_1(glval) = VariableAddress[rf] : +# 1474| r1474_2(glval) = FunctionAddress[returnValue] : +# 1474| r1474_3(UnusualFields) = Call[returnValue] : func:r1474_2 +# 1474| m1474_4(unknown) = ^CallSideEffect : ~m1472_5 +# 1474| m1474_5(unknown) = Chi : total:m1472_5, partial:m1474_4 +# 1474| r1474_6(glval) = VariableAddress[#temp1474:23] : +# 1474| m1474_7(UnusualFields) = Store[#temp1474:23] : &:r1474_6, r1474_3 +# 1474| r1474_8(glval) = FieldAddress[a] : r1474_6 +# 1474| r1474_9(float *) = Convert : r1474_8 +# 1474| r1474_10(int) = Constant[3] : +# 1474| r1474_11(glval) = PointerAdd[4] : r1474_9, r1474_10 +# 1474| r1474_12(glval) = Convert : r1474_11 +# 1474| r1474_13(float &) = CopyValue : r1474_12 +# 1474| m1474_14(float &) = Store[rf] : &:r1474_1, r1474_13 +# 1475| r1475_1(glval) = VariableAddress[f] : +# 1475| r1475_2(glval) = FunctionAddress[returnValue] : +# 1475| r1475_3(UnusualFields) = Call[returnValue] : func:r1475_2 +# 1475| m1475_4(unknown) = ^CallSideEffect : ~m1474_5 +# 1475| m1475_5(unknown) = Chi : total:m1474_5, partial:m1475_4 +# 1475| r1475_6(glval) = VariableAddress[#temp1475:15] : +# 1475| m1475_7(UnusualFields) = Store[#temp1475:15] : &:r1475_6, r1475_3 +# 1475| r1475_8(glval) = FieldAddress[a] : r1475_6 +# 1475| r1475_9(float *) = Convert : r1475_8 +# 1475| r1475_10(int) = Constant[5] : +# 1475| r1475_11(glval) = PointerAdd[4] : r1475_9, r1475_10 +# 1475| r1475_12(float) = Load[?] : &:r1475_11, ~m1475_7 +# 1475| m1475_13(float) = Store[f] : &:r1475_1, r1475_12 +# 1476| v1476_1(void) = NoOp : +# 1470| v1470_5(void) = ReturnVoid : +# 1470| v1470_6(void) = AliasedUse : ~m1475_5 +# 1470| v1470_7(void) = ExitFunction : -# 1445| void temporary_hierarchy() -# 1445| Block 0 -# 1445| v1445_1(void) = EnterFunction : -# 1445| m1445_2(unknown) = AliasedDefinition : -# 1445| m1445_3(unknown) = InitializeNonLocal : -# 1445| m1445_4(unknown) = Chi : total:m1445_2, partial:m1445_3 -# 1446| r1446_1(glval) = VariableAddress[b] : +# 1492| void temporary_hierarchy() +# 1492| Block 0 +# 1492| v1492_1(void) = EnterFunction : +# 1492| m1492_2(unknown) = AliasedDefinition : +# 1492| m1492_3(unknown) = InitializeNonLocal : +# 1492| m1492_4(unknown) = Chi : total:m1492_2, partial:m1492_3 +# 1493| r1493_1(glval) = VariableAddress[b] : #-----| r0_1(glval) = VariableAddress[#temp0:0] : -# 1446| r1446_2(glval) = FunctionAddress[returnValue] : -# 1446| r1446_3(POD_Middle) = Call[returnValue] : func:r1446_2 -# 1446| m1446_4(unknown) = ^CallSideEffect : ~m1445_4 -# 1446| m1446_5(unknown) = Chi : total:m1445_4, partial:m1446_4 -# 1446| m1446_6(POD_Middle) = Store[#temp0:0] : &:r0_1, r1446_3 +# 1493| r1493_2(glval) = FunctionAddress[returnValue] : +# 1493| r1493_3(POD_Middle) = Call[returnValue] : func:r1493_2 +# 1493| m1493_4(unknown) = ^CallSideEffect : ~m1492_4 +# 1493| m1493_5(unknown) = Chi : total:m1492_4, partial:m1493_4 +# 1493| m1493_6(POD_Middle) = Store[#temp0:0] : &:r0_1, r1493_3 #-----| r0_2(glval) = ConvertToNonVirtualBase[POD_Middle : POD_Base] : r0_1 -#-----| r0_3(POD_Base) = Load[?] : &:r0_2, ~m1446_6 -#-----| m0_4(POD_Base) = Store[b] : &:r1446_1, r0_3 -# 1447| r1447_1(glval) = VariableAddress[#temp1447:9] : -# 1447| r1447_2(glval) = FunctionAddress[returnValue] : -# 1447| r1447_3(POD_Derived) = Call[returnValue] : func:r1447_2 -# 1447| m1447_4(unknown) = ^CallSideEffect : ~m1446_5 -# 1447| m1447_5(unknown) = Chi : total:m1446_5, partial:m1447_4 -# 1447| m1447_6(POD_Derived) = Store[#temp1447:9] : &:r1447_1, r1447_3 -# 1447| r1447_7(glval) = ConvertToNonVirtualBase[POD_Derived : POD_Middle] : r1447_1 -# 1447| r1447_8(glval) = ConvertToNonVirtualBase[POD_Middle : POD_Base] : r1447_7 -# 1447| r1447_9(POD_Base) = Load[?] : &:r1447_8, ~m1447_6 -# 1447| r1447_10(glval) = VariableAddress[b] : -# 1447| m1447_11(POD_Base) = Store[b] : &:r1447_10, r1447_9 -# 1448| r1448_1(glval) = VariableAddress[x] : +#-----| r0_3(POD_Base) = Load[?] : &:r0_2, ~m1493_6 +#-----| m0_4(POD_Base) = Store[b] : &:r1493_1, r0_3 +# 1494| r1494_1(glval) = VariableAddress[#temp1494:9] : +# 1494| r1494_2(glval) = FunctionAddress[returnValue] : +# 1494| r1494_3(POD_Derived) = Call[returnValue] : func:r1494_2 +# 1494| m1494_4(unknown) = ^CallSideEffect : ~m1493_5 +# 1494| m1494_5(unknown) = Chi : total:m1493_5, partial:m1494_4 +# 1494| m1494_6(POD_Derived) = Store[#temp1494:9] : &:r1494_1, r1494_3 +# 1494| r1494_7(glval) = ConvertToNonVirtualBase[POD_Derived : POD_Middle] : r1494_1 +# 1494| r1494_8(glval) = ConvertToNonVirtualBase[POD_Middle : POD_Base] : r1494_7 +# 1494| r1494_9(POD_Base) = Load[?] : &:r1494_8, ~m1494_6 +# 1494| r1494_10(glval) = VariableAddress[b] : +# 1494| m1494_11(POD_Base) = Store[b] : &:r1494_10, r1494_9 +# 1495| r1495_1(glval) = VariableAddress[x] : #-----| r0_5(glval) = VariableAddress[#temp0:0] : -# 1448| r1448_2(glval) = FunctionAddress[returnValue] : -# 1448| r1448_3(POD_Derived) = Call[returnValue] : func:r1448_2 -# 1448| m1448_4(unknown) = ^CallSideEffect : ~m1447_5 -# 1448| m1448_5(unknown) = Chi : total:m1447_5, partial:m1448_4 -# 1448| m1448_6(POD_Derived) = Store[#temp0:0] : &:r0_5, r1448_3 +# 1495| r1495_2(glval) = FunctionAddress[returnValue] : +# 1495| r1495_3(POD_Derived) = Call[returnValue] : func:r1495_2 +# 1495| m1495_4(unknown) = ^CallSideEffect : ~m1494_5 +# 1495| m1495_5(unknown) = Chi : total:m1494_5, partial:m1495_4 +# 1495| m1495_6(POD_Derived) = Store[#temp0:0] : &:r0_5, r1495_3 #-----| r0_6(glval) = ConvertToNonVirtualBase[POD_Derived : POD_Middle] : r0_5 #-----| r0_7(glval) = ConvertToNonVirtualBase[POD_Middle : POD_Base] : r0_6 -# 1448| r1448_7(glval) = FieldAddress[x] : r0_7 -# 1448| r1448_8(int) = Load[?] : &:r1448_7, ~m1448_6 -# 1448| m1448_9(int) = Store[x] : &:r1448_1, r1448_8 -# 1449| r1449_1(glval) = VariableAddress[f] : +# 1495| r1495_7(glval) = FieldAddress[x] : r0_7 +# 1495| r1495_8(int) = Load[?] : &:r1495_7, ~m1495_6 +# 1495| m1495_9(int) = Store[x] : &:r1495_1, r1495_8 +# 1496| r1496_1(glval) = VariableAddress[f] : #-----| r0_8(glval) = VariableAddress[#temp0:0] : -# 1449| r1449_2(glval) = FunctionAddress[returnValue] : -# 1449| r1449_3(POD_Derived) = Call[returnValue] : func:r1449_2 -# 1449| m1449_4(unknown) = ^CallSideEffect : ~m1448_5 -# 1449| m1449_5(unknown) = Chi : total:m1448_5, partial:m1449_4 -# 1449| m1449_6(POD_Derived) = Store[#temp0:0] : &:r0_8, r1449_3 +# 1496| r1496_2(glval) = FunctionAddress[returnValue] : +# 1496| r1496_3(POD_Derived) = Call[returnValue] : func:r1496_2 +# 1496| m1496_4(unknown) = ^CallSideEffect : ~m1495_5 +# 1496| m1496_5(unknown) = Chi : total:m1495_5, partial:m1496_4 +# 1496| m1496_6(POD_Derived) = Store[#temp0:0] : &:r0_8, r1496_3 #-----| r0_9(glval) = ConvertToNonVirtualBase[POD_Derived : POD_Middle] : r0_8 #-----| r0_10(glval) = ConvertToNonVirtualBase[POD_Middle : POD_Base] : r0_9 #-----| r0_11(glval) = Convert : r0_10 -# 1449| r1449_7(glval) = FunctionAddress[f] : -# 1449| r1449_8(float) = Call[f] : func:r1449_7, this:r0_11 -# 1449| m1449_9(unknown) = ^CallSideEffect : ~m1449_5 -# 1449| m1449_10(unknown) = Chi : total:m1449_5, partial:m1449_9 -#-----| v0_12(void) = ^IndirectReadSideEffect[-1] : &:r0_11, ~m1449_6 -# 1449| m1449_11(float) = Store[f] : &:r1449_1, r1449_8 -# 1450| v1450_1(void) = NoOp : -# 1445| v1445_5(void) = ReturnVoid : -# 1445| v1445_6(void) = AliasedUse : ~m1449_10 -# 1445| v1445_7(void) = ExitFunction : +# 1496| r1496_7(glval) = FunctionAddress[f] : +# 1496| r1496_8(float) = Call[f] : func:r1496_7, this:r0_11 +# 1496| m1496_9(unknown) = ^CallSideEffect : ~m1496_5 +# 1496| m1496_10(unknown) = Chi : total:m1496_5, partial:m1496_9 +#-----| v0_12(void) = ^IndirectReadSideEffect[-1] : &:r0_11, ~m1496_6 +# 1496| m1496_11(float) = Store[f] : &:r1496_1, r1496_8 +# 1497| v1497_1(void) = NoOp : +# 1492| v1492_5(void) = ReturnVoid : +# 1492| v1492_6(void) = AliasedUse : ~m1496_10 +# 1492| v1492_7(void) = ExitFunction : -# 1453| void Inheritance_Test_B::~Inheritance_Test_B() -# 1453| Block 0 -# 1453| v1453_1(void) = EnterFunction : -# 1453| m1453_2(unknown) = AliasedDefinition : -# 1453| m1453_3(unknown) = InitializeNonLocal : -# 1453| m1453_4(unknown) = Chi : total:m1453_2, partial:m1453_3 -# 1453| r1453_5(glval) = VariableAddress[#this] : -# 1453| m1453_6(glval) = InitializeParameter[#this] : &:r1453_5 -# 1453| r1453_7(glval) = Load[#this] : &:r1453_5, m1453_6 -# 1453| m1453_8(Inheritance_Test_B) = InitializeIndirection[#this] : &:r1453_7 -# 1453| v1453_9(void) = NoOp : -# 1453| v1453_10(void) = ReturnIndirection[#this] : &:r1453_7, m1453_8 -# 1453| v1453_11(void) = ReturnVoid : -# 1453| v1453_12(void) = AliasedUse : m1453_3 -# 1453| v1453_13(void) = ExitFunction : +# 1500| void Inheritance_Test_B::~Inheritance_Test_B() +# 1500| Block 0 +# 1500| v1500_1(void) = EnterFunction : +# 1500| m1500_2(unknown) = AliasedDefinition : +# 1500| m1500_3(unknown) = InitializeNonLocal : +# 1500| m1500_4(unknown) = Chi : total:m1500_2, partial:m1500_3 +# 1500| r1500_5(glval) = VariableAddress[#this] : +# 1500| m1500_6(glval) = InitializeParameter[#this] : &:r1500_5 +# 1500| r1500_7(glval) = Load[#this] : &:r1500_5, m1500_6 +# 1500| m1500_8(Inheritance_Test_B) = InitializeIndirection[#this] : &:r1500_7 +# 1500| v1500_9(void) = NoOp : +# 1500| v1500_10(void) = ReturnIndirection[#this] : &:r1500_7, m1500_8 +# 1500| v1500_11(void) = ReturnVoid : +# 1500| v1500_12(void) = AliasedUse : m1500_3 +# 1500| v1500_13(void) = ExitFunction : -# 1459| void Inheritance_Test_A::Inheritance_Test_A() -# 1459| Block 0 -# 1459| v1459_1(void) = EnterFunction : -# 1459| m1459_2(unknown) = AliasedDefinition : -# 1459| m1459_3(unknown) = InitializeNonLocal : -# 1459| m1459_4(unknown) = Chi : total:m1459_2, partial:m1459_3 -# 1459| r1459_5(glval) = VariableAddress[#this] : -# 1459| m1459_6(glval) = InitializeParameter[#this] : &:r1459_5 -# 1459| r1459_7(glval) = Load[#this] : &:r1459_5, m1459_6 -# 1459| m1459_8(Inheritance_Test_A) = InitializeIndirection[#this] : &:r1459_7 -# 1459| r1459_9(glval) = FieldAddress[x] : m1459_6 -# 1459| r1459_10(int) = Constant[42] : -# 1459| m1459_11(int) = Store[?] : &:r1459_9, r1459_10 -# 1459| m1459_12(unknown) = Chi : total:m1459_8, partial:m1459_11 -# 1460| r1460_1(int) = Constant[3] : -# 1460| r1460_2(glval) = VariableAddress[#this] : -# 1460| r1460_3(Inheritance_Test_A *) = Load[#this] : &:r1460_2, m1459_6 -# 1460| r1460_4(glval) = FieldAddress[y] : r1460_3 -# 1460| m1460_5(int) = Store[?] : &:r1460_4, r1460_1 -# 1460| m1460_6(unknown) = Chi : total:m1459_12, partial:m1460_5 -# 1461| v1461_1(void) = NoOp : -# 1459| v1459_13(void) = ReturnIndirection[#this] : &:r1459_7, m1460_6 -# 1459| v1459_14(void) = ReturnVoid : -# 1459| v1459_15(void) = AliasedUse : m1459_3 -# 1459| v1459_16(void) = ExitFunction : +# 1506| void Inheritance_Test_A::Inheritance_Test_A() +# 1506| Block 0 +# 1506| v1506_1(void) = EnterFunction : +# 1506| m1506_2(unknown) = AliasedDefinition : +# 1506| m1506_3(unknown) = InitializeNonLocal : +# 1506| m1506_4(unknown) = Chi : total:m1506_2, partial:m1506_3 +# 1506| r1506_5(glval) = VariableAddress[#this] : +# 1506| m1506_6(glval) = InitializeParameter[#this] : &:r1506_5 +# 1506| r1506_7(glval) = Load[#this] : &:r1506_5, m1506_6 +# 1506| m1506_8(Inheritance_Test_A) = InitializeIndirection[#this] : &:r1506_7 +# 1506| r1506_9(glval) = FieldAddress[x] : m1506_6 +# 1506| r1506_10(int) = Constant[42] : +# 1506| m1506_11(int) = Store[?] : &:r1506_9, r1506_10 +# 1506| m1506_12(unknown) = Chi : total:m1506_8, partial:m1506_11 +# 1507| r1507_1(int) = Constant[3] : +# 1507| r1507_2(glval) = VariableAddress[#this] : +# 1507| r1507_3(Inheritance_Test_A *) = Load[#this] : &:r1507_2, m1506_6 +# 1507| r1507_4(glval) = FieldAddress[y] : r1507_3 +# 1507| m1507_5(int) = Store[?] : &:r1507_4, r1507_1 +# 1507| m1507_6(unknown) = Chi : total:m1506_12, partial:m1507_5 +# 1508| v1508_1(void) = NoOp : +# 1506| v1506_13(void) = ReturnIndirection[#this] : &:r1506_7, m1507_6 +# 1506| v1506_14(void) = ReturnVoid : +# 1506| v1506_15(void) = AliasedUse : m1506_3 +# 1506| v1506_16(void) = ExitFunction : -# 1464| void array_structured_binding() -# 1464| Block 0 -# 1464| v1464_1(void) = EnterFunction : -# 1464| m1464_2(unknown) = AliasedDefinition : -# 1464| m1464_3(unknown) = InitializeNonLocal : -# 1464| m1464_4(unknown) = Chi : total:m1464_2, partial:m1464_3 -# 1465| r1465_1(glval) = VariableAddress[xs] : -# 1465| m1465_2(int[2]) = Uninitialized[xs] : &:r1465_1 -# 1465| r1465_3(int) = Constant[0] : -# 1465| r1465_4(glval) = PointerAdd[4] : r1465_1, r1465_3 -# 1465| r1465_5(int) = Constant[1] : -# 1465| m1465_6(int) = Store[?] : &:r1465_4, r1465_5 -# 1465| m1465_7(int[2]) = Chi : total:m1465_2, partial:m1465_6 -# 1465| r1465_8(int) = Constant[1] : -# 1465| r1465_9(glval) = PointerAdd[4] : r1465_1, r1465_8 -# 1465| r1465_10(int) = Constant[2] : -# 1465| m1465_11(int) = Store[?] : &:r1465_9, r1465_10 -# 1465| m1465_12(int[2]) = Chi : total:m1465_7, partial:m1465_11 -# 1468| r1468_1(glval) = VariableAddress[(unnamed local variable)] : -# 1468| r1468_2(glval) = VariableAddress[xs] : -# 1468| r1468_3(int(&)[2]) = CopyValue : r1468_2 -# 1468| m1468_4(int(&)[2]) = Store[(unnamed local variable)] : &:r1468_1, r1468_3 -# 1468| r1468_5(glval) = VariableAddress[x0] : +# 1511| void array_structured_binding() +# 1511| Block 0 +# 1511| v1511_1(void) = EnterFunction : +# 1511| m1511_2(unknown) = AliasedDefinition : +# 1511| m1511_3(unknown) = InitializeNonLocal : +# 1511| m1511_4(unknown) = Chi : total:m1511_2, partial:m1511_3 +# 1512| r1512_1(glval) = VariableAddress[xs] : +# 1512| m1512_2(int[2]) = Uninitialized[xs] : &:r1512_1 +# 1512| r1512_3(int) = Constant[0] : +# 1512| r1512_4(glval) = PointerAdd[4] : r1512_1, r1512_3 +# 1512| r1512_5(int) = Constant[1] : +# 1512| m1512_6(int) = Store[?] : &:r1512_4, r1512_5 +# 1512| m1512_7(int[2]) = Chi : total:m1512_2, partial:m1512_6 +# 1512| r1512_8(int) = Constant[1] : +# 1512| r1512_9(glval) = PointerAdd[4] : r1512_1, r1512_8 +# 1512| r1512_10(int) = Constant[2] : +# 1512| m1512_11(int) = Store[?] : &:r1512_9, r1512_10 +# 1512| m1512_12(int[2]) = Chi : total:m1512_7, partial:m1512_11 +# 1515| r1515_1(glval) = VariableAddress[(unnamed local variable)] : +# 1515| r1515_2(glval) = VariableAddress[xs] : +# 1515| r1515_3(int(&)[2]) = CopyValue : r1515_2 +# 1515| m1515_4(int(&)[2]) = Store[(unnamed local variable)] : &:r1515_1, r1515_3 +# 1515| r1515_5(glval) = VariableAddress[x0] : #-----| r0_1(glval) = VariableAddress[(unnamed local variable)] : -#-----| r0_2(int(&)[2]) = Load[(unnamed local variable)] : &:r0_1, m1468_4 +#-----| r0_2(int(&)[2]) = Load[(unnamed local variable)] : &:r0_1, m1515_4 #-----| r0_3(glval) = CopyValue : r0_2 #-----| r0_4(int *) = Convert : r0_3 #-----| r0_5(unsigned long) = Constant[0] : #-----| r0_6(glval) = PointerAdd[4] : r0_4, r0_5 -#-----| m0_7(int &) = Store[x0] : &:r1468_5, r0_6 -# 1468| r1468_6(glval) = VariableAddress[x1] : +#-----| m0_7(int &) = Store[x0] : &:r1515_5, r0_6 +# 1515| r1515_6(glval) = VariableAddress[x1] : #-----| r0_8(glval) = VariableAddress[(unnamed local variable)] : -#-----| r0_9(int(&)[2]) = Load[(unnamed local variable)] : &:r0_8, m1468_4 +#-----| r0_9(int(&)[2]) = Load[(unnamed local variable)] : &:r0_8, m1515_4 #-----| r0_10(glval) = CopyValue : r0_9 #-----| r0_11(int *) = Convert : r0_10 #-----| r0_12(unsigned long) = Constant[1] : #-----| r0_13(glval) = PointerAdd[4] : r0_11, r0_12 -#-----| m0_14(int &) = Store[x1] : &:r1468_6, r0_13 -# 1469| r1469_1(int) = Constant[3] : -# 1469| r1469_2(glval) = VariableAddress[x1] : -# 1469| r1469_3(int &) = Load[x1] : &:r1469_2, m0_14 -# 1469| m1469_4(int) = Store[?] : &:r1469_3, r1469_1 -# 1469| m1469_5(int[2]) = Chi : total:m1465_12, partial:m1469_4 -# 1470| r1470_1(glval) = VariableAddress[rx1] : -# 1470| r1470_2(glval) = VariableAddress[x1] : -# 1470| r1470_3(int &) = Load[x1] : &:r1470_2, m0_14 -# 1470| r1470_4(int &) = CopyValue : r1470_3 -# 1470| m1470_5(int &) = Store[rx1] : &:r1470_1, r1470_4 -# 1471| r1471_1(glval) = VariableAddress[x] : -# 1471| r1471_2(glval) = VariableAddress[x1] : -# 1471| r1471_3(int &) = Load[x1] : &:r1471_2, m0_14 -# 1471| r1471_4(int) = Load[?] : &:r1471_3, m1469_4 -# 1471| m1471_5(int) = Store[x] : &:r1471_1, r1471_4 -# 1475| r1475_1(glval) = VariableAddress[unnamed_local_variable] : -# 1475| r1475_2(glval) = VariableAddress[xs] : -# 1475| r1475_3(int(&)[2]) = CopyValue : r1475_2 -# 1475| m1475_4(int(&)[2]) = Store[unnamed_local_variable] : &:r1475_1, r1475_3 -# 1476| r1476_1(glval) = VariableAddress[x0] : -# 1476| r1476_2(glval) = VariableAddress[unnamed_local_variable] : -# 1476| r1476_3(int(&)[2]) = Load[unnamed_local_variable] : &:r1476_2, m1475_4 -# 1476| r1476_4(glval) = CopyValue : r1476_3 -# 1476| r1476_5(int *) = Convert : r1476_4 -# 1476| r1476_6(int) = Constant[0] : -# 1476| r1476_7(glval) = PointerAdd[4] : r1476_5, r1476_6 -# 1476| r1476_8(int &) = CopyValue : r1476_7 -# 1476| m1476_9(int &) = Store[x0] : &:r1476_1, r1476_8 -# 1477| r1477_1(glval) = VariableAddress[x1] : -# 1477| r1477_2(glval) = VariableAddress[unnamed_local_variable] : -# 1477| r1477_3(int(&)[2]) = Load[unnamed_local_variable] : &:r1477_2, m1475_4 -# 1477| r1477_4(glval) = CopyValue : r1477_3 -# 1477| r1477_5(int *) = Convert : r1477_4 -# 1477| r1477_6(int) = Constant[1] : -# 1477| r1477_7(glval) = PointerAdd[4] : r1477_5, r1477_6 -# 1477| r1477_8(int &) = CopyValue : r1477_7 -# 1477| m1477_9(int &) = Store[x1] : &:r1477_1, r1477_8 -# 1478| r1478_1(int) = Constant[3] : -# 1478| r1478_2(glval) = VariableAddress[x1] : -# 1478| r1478_3(int &) = Load[x1] : &:r1478_2, m1477_9 -# 1478| r1478_4(glval) = CopyValue : r1478_3 -# 1478| m1478_5(int) = Store[?] : &:r1478_4, r1478_1 -# 1478| m1478_6(int[2]) = Chi : total:m1469_5, partial:m1478_5 -# 1479| r1479_1(glval) = VariableAddress[rx1] : -# 1479| r1479_2(glval) = VariableAddress[x1] : -# 1479| r1479_3(int &) = Load[x1] : &:r1479_2, m1477_9 -# 1479| r1479_4(glval) = CopyValue : r1479_3 -# 1479| r1479_5(int &) = CopyValue : r1479_4 -# 1479| m1479_6(int &) = Store[rx1] : &:r1479_1, r1479_5 -# 1480| r1480_1(glval) = VariableAddress[x] : -# 1480| r1480_2(glval) = VariableAddress[x1] : -# 1480| r1480_3(int &) = Load[x1] : &:r1480_2, m1477_9 -# 1480| r1480_4(int) = Load[?] : &:r1480_3, m1478_5 -# 1480| m1480_5(int) = Store[x] : &:r1480_1, r1480_4 -# 1482| v1482_1(void) = NoOp : -# 1464| v1464_5(void) = ReturnVoid : -# 1464| v1464_6(void) = AliasedUse : m1464_3 -# 1464| v1464_7(void) = ExitFunction : +#-----| m0_14(int &) = Store[x1] : &:r1515_6, r0_13 +# 1516| r1516_1(int) = Constant[3] : +# 1516| r1516_2(glval) = VariableAddress[x1] : +# 1516| r1516_3(int &) = Load[x1] : &:r1516_2, m0_14 +# 1516| m1516_4(int) = Store[?] : &:r1516_3, r1516_1 +# 1516| m1516_5(int[2]) = Chi : total:m1512_12, partial:m1516_4 +# 1517| r1517_1(glval) = VariableAddress[rx1] : +# 1517| r1517_2(glval) = VariableAddress[x1] : +# 1517| r1517_3(int &) = Load[x1] : &:r1517_2, m0_14 +# 1517| r1517_4(int &) = CopyValue : r1517_3 +# 1517| m1517_5(int &) = Store[rx1] : &:r1517_1, r1517_4 +# 1518| r1518_1(glval) = VariableAddress[x] : +# 1518| r1518_2(glval) = VariableAddress[x1] : +# 1518| r1518_3(int &) = Load[x1] : &:r1518_2, m0_14 +# 1518| r1518_4(int) = Load[?] : &:r1518_3, m1516_4 +# 1518| m1518_5(int) = Store[x] : &:r1518_1, r1518_4 +# 1522| r1522_1(glval) = VariableAddress[unnamed_local_variable] : +# 1522| r1522_2(glval) = VariableAddress[xs] : +# 1522| r1522_3(int(&)[2]) = CopyValue : r1522_2 +# 1522| m1522_4(int(&)[2]) = Store[unnamed_local_variable] : &:r1522_1, r1522_3 +# 1523| r1523_1(glval) = VariableAddress[x0] : +# 1523| r1523_2(glval) = VariableAddress[unnamed_local_variable] : +# 1523| r1523_3(int(&)[2]) = Load[unnamed_local_variable] : &:r1523_2, m1522_4 +# 1523| r1523_4(glval) = CopyValue : r1523_3 +# 1523| r1523_5(int *) = Convert : r1523_4 +# 1523| r1523_6(int) = Constant[0] : +# 1523| r1523_7(glval) = PointerAdd[4] : r1523_5, r1523_6 +# 1523| r1523_8(int &) = CopyValue : r1523_7 +# 1523| m1523_9(int &) = Store[x0] : &:r1523_1, r1523_8 +# 1524| r1524_1(glval) = VariableAddress[x1] : +# 1524| r1524_2(glval) = VariableAddress[unnamed_local_variable] : +# 1524| r1524_3(int(&)[2]) = Load[unnamed_local_variable] : &:r1524_2, m1522_4 +# 1524| r1524_4(glval) = CopyValue : r1524_3 +# 1524| r1524_5(int *) = Convert : r1524_4 +# 1524| r1524_6(int) = Constant[1] : +# 1524| r1524_7(glval) = PointerAdd[4] : r1524_5, r1524_6 +# 1524| r1524_8(int &) = CopyValue : r1524_7 +# 1524| m1524_9(int &) = Store[x1] : &:r1524_1, r1524_8 +# 1525| r1525_1(int) = Constant[3] : +# 1525| r1525_2(glval) = VariableAddress[x1] : +# 1525| r1525_3(int &) = Load[x1] : &:r1525_2, m1524_9 +# 1525| r1525_4(glval) = CopyValue : r1525_3 +# 1525| m1525_5(int) = Store[?] : &:r1525_4, r1525_1 +# 1525| m1525_6(int[2]) = Chi : total:m1516_5, partial:m1525_5 +# 1526| r1526_1(glval) = VariableAddress[rx1] : +# 1526| r1526_2(glval) = VariableAddress[x1] : +# 1526| r1526_3(int &) = Load[x1] : &:r1526_2, m1524_9 +# 1526| r1526_4(glval) = CopyValue : r1526_3 +# 1526| r1526_5(int &) = CopyValue : r1526_4 +# 1526| m1526_6(int &) = Store[rx1] : &:r1526_1, r1526_5 +# 1527| r1527_1(glval) = VariableAddress[x] : +# 1527| r1527_2(glval) = VariableAddress[x1] : +# 1527| r1527_3(int &) = Load[x1] : &:r1527_2, m1524_9 +# 1527| r1527_4(int) = Load[?] : &:r1527_3, m1525_5 +# 1527| m1527_5(int) = Store[x] : &:r1527_1, r1527_4 +# 1529| v1529_1(void) = NoOp : +# 1511| v1511_5(void) = ReturnVoid : +# 1511| v1511_6(void) = AliasedUse : m1511_3 +# 1511| v1511_7(void) = ExitFunction : -# 1484| void StructuredBindingDataMemberMemberStruct::StructuredBindingDataMemberMemberStruct() -# 1484| Block 0 -# 1484| v1484_1(void) = EnterFunction : -# 1484| m1484_2(unknown) = AliasedDefinition : -# 1484| m1484_3(unknown) = InitializeNonLocal : -# 1484| m1484_4(unknown) = Chi : total:m1484_2, partial:m1484_3 -# 1484| r1484_5(glval) = VariableAddress[#this] : -# 1484| m1484_6(glval) = InitializeParameter[#this] : &:r1484_5 -# 1484| r1484_7(glval) = Load[#this] : &:r1484_5, m1484_6 -# 1484| m1484_8(StructuredBindingDataMemberMemberStruct) = InitializeIndirection[#this] : &:r1484_7 -# 1484| v1484_9(void) = NoOp : -# 1484| v1484_10(void) = ReturnIndirection[#this] : &:r1484_7, m1484_8 -# 1484| v1484_11(void) = ReturnVoid : -# 1484| v1484_12(void) = AliasedUse : m1484_3 -# 1484| v1484_13(void) = ExitFunction : +# 1531| void StructuredBindingDataMemberMemberStruct::StructuredBindingDataMemberMemberStruct() +# 1531| Block 0 +# 1531| v1531_1(void) = EnterFunction : +# 1531| m1531_2(unknown) = AliasedDefinition : +# 1531| m1531_3(unknown) = InitializeNonLocal : +# 1531| m1531_4(unknown) = Chi : total:m1531_2, partial:m1531_3 +# 1531| r1531_5(glval) = VariableAddress[#this] : +# 1531| m1531_6(glval) = InitializeParameter[#this] : &:r1531_5 +# 1531| r1531_7(glval) = Load[#this] : &:r1531_5, m1531_6 +# 1531| m1531_8(StructuredBindingDataMemberMemberStruct) = InitializeIndirection[#this] : &:r1531_7 +# 1531| v1531_9(void) = NoOp : +# 1531| v1531_10(void) = ReturnIndirection[#this] : &:r1531_7, m1531_8 +# 1531| v1531_11(void) = ReturnVoid : +# 1531| v1531_12(void) = AliasedUse : m1531_3 +# 1531| v1531_13(void) = ExitFunction : -# 1488| void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct() -# 1488| Block 0 -# 1488| v1488_1(void) = EnterFunction : -# 1488| m1488_2(unknown) = AliasedDefinition : -# 1488| m1488_3(unknown) = InitializeNonLocal : -# 1488| m1488_4(unknown) = Chi : total:m1488_2, partial:m1488_3 -# 1488| r1488_5(glval) = VariableAddress[#this] : -# 1488| m1488_6(glval) = InitializeParameter[#this] : &:r1488_5 -# 1488| r1488_7(glval) = Load[#this] : &:r1488_5, m1488_6 -# 1488| m1488_8(StructuredBindingDataMemberStruct) = InitializeIndirection[#this] : &:r1488_7 -# 1488| v1488_9(void) = NoOp : -# 1488| v1488_10(void) = ReturnIndirection[#this] : &:r1488_7, m1488_8 -# 1488| v1488_11(void) = ReturnVoid : -# 1488| v1488_12(void) = AliasedUse : m1488_3 -# 1488| v1488_13(void) = ExitFunction : +# 1535| void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct() +# 1535| Block 0 +# 1535| v1535_1(void) = EnterFunction : +# 1535| m1535_2(unknown) = AliasedDefinition : +# 1535| m1535_3(unknown) = InitializeNonLocal : +# 1535| m1535_4(unknown) = Chi : total:m1535_2, partial:m1535_3 +# 1535| r1535_5(glval) = VariableAddress[#this] : +# 1535| m1535_6(glval) = InitializeParameter[#this] : &:r1535_5 +# 1535| r1535_7(glval) = Load[#this] : &:r1535_5, m1535_6 +# 1535| m1535_8(StructuredBindingDataMemberStruct) = InitializeIndirection[#this] : &:r1535_7 +# 1535| v1535_9(void) = NoOp : +# 1535| v1535_10(void) = ReturnIndirection[#this] : &:r1535_7, m1535_8 +# 1535| v1535_11(void) = ReturnVoid : +# 1535| v1535_12(void) = AliasedUse : m1535_3 +# 1535| v1535_13(void) = ExitFunction : -# 1488| void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct(StructuredBindingDataMemberStruct const&) -# 1488| Block 0 -# 1488| v1488_1(void) = EnterFunction : -# 1488| m1488_2(unknown) = AliasedDefinition : -# 1488| m1488_3(unknown) = InitializeNonLocal : -# 1488| m1488_4(unknown) = Chi : total:m1488_2, partial:m1488_3 -# 1488| r1488_5(glval) = VariableAddress[#this] : -# 1488| m1488_6(glval) = InitializeParameter[#this] : &:r1488_5 -# 1488| r1488_7(glval) = Load[#this] : &:r1488_5, m1488_6 -# 1488| m1488_8(StructuredBindingDataMemberStruct) = InitializeIndirection[#this] : &:r1488_7 +# 1535| void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct(StructuredBindingDataMemberStruct const&) +# 1535| Block 0 +# 1535| v1535_1(void) = EnterFunction : +# 1535| m1535_2(unknown) = AliasedDefinition : +# 1535| m1535_3(unknown) = InitializeNonLocal : +# 1535| m1535_4(unknown) = Chi : total:m1535_2, partial:m1535_3 +# 1535| r1535_5(glval) = VariableAddress[#this] : +# 1535| m1535_6(glval) = InitializeParameter[#this] : &:r1535_5 +# 1535| r1535_7(glval) = Load[#this] : &:r1535_5, m1535_6 +# 1535| m1535_8(StructuredBindingDataMemberStruct) = InitializeIndirection[#this] : &:r1535_7 #-----| r0_1(glval) = VariableAddress[(unnamed parameter 0)] : #-----| m0_2(StructuredBindingDataMemberStruct &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1 #-----| r0_3(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r0_1, m0_2 #-----| m0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3 -# 1488| r1488_9(glval) = FieldAddress[i] : m1488_6 -# 1488| r1488_10(glval) = VariableAddress[(unnamed parameter 0)] : -# 1488| r1488_11(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1488_10, m0_2 -# 1488| r1488_12(glval) = CopyValue : r1488_11 -# 1488| r1488_13(glval) = FieldAddress[i] : r1488_12 -# 1488| r1488_14(int) = Load[?] : &:r1488_13, ~m0_4 -# 1488| m1488_15(int) = Store[?] : &:r1488_9, r1488_14 -# 1488| m1488_16(unknown) = Chi : total:m1488_8, partial:m1488_15 -# 1488| r1488_17(glval) = FieldAddress[d] : m1488_6 -# 1488| r1488_18(glval) = VariableAddress[(unnamed parameter 0)] : -# 1488| r1488_19(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1488_18, m0_2 -# 1488| r1488_20(glval) = CopyValue : r1488_19 -# 1488| r1488_21(glval) = FieldAddress[d] : r1488_20 -# 1488| r1488_22(double) = Load[?] : &:r1488_21, ~m0_4 -# 1488| m1488_23(double) = Store[?] : &:r1488_17, r1488_22 -# 1488| m1488_24(unknown) = Chi : total:m1488_16, partial:m1488_23 -# 1488| r1488_25(glval) = FieldAddress[b] : m1488_6 -# 1488| r1488_26(glval) = VariableAddress[(unnamed parameter 0)] : -# 1488| r1488_27(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1488_26, m0_2 -# 1488| r1488_28(glval) = CopyValue : r1488_27 -# 1488| r1488_29(glval) = FieldAddress[b] : r1488_28 -# 1488| r1488_30(unsigned int) = Load[?] : &:r1488_29, ~m0_4 -# 1488| m1488_31(unsigned int) = Store[?] : &:r1488_25, r1488_30 -# 1488| m1488_32(unknown) = Chi : total:m1488_24, partial:m1488_31 -# 1488| r1488_33(glval) = FieldAddress[r] : m1488_6 -# 1488| r1488_34(glval) = VariableAddress[(unnamed parameter 0)] : -# 1488| r1488_35(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1488_34, m0_2 -# 1488| r1488_36(glval) = CopyValue : r1488_35 -# 1488| r1488_37(glval) = FieldAddress[r] : r1488_36 -# 1488| r1488_38(int &) = Load[?] : &:r1488_37, ~m0_4 -# 1488| m1488_39(int &) = Store[?] : &:r1488_33, r1488_38 -# 1488| m1488_40(unknown) = Chi : total:m1488_32, partial:m1488_39 -# 1488| r1488_41(glval) = FieldAddress[p] : m1488_6 -# 1488| r1488_42(glval) = VariableAddress[(unnamed parameter 0)] : -# 1488| r1488_43(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1488_42, m0_2 -# 1488| r1488_44(glval) = CopyValue : r1488_43 -# 1488| r1488_45(glval) = FieldAddress[p] : r1488_44 -# 1488| r1488_46(int *) = Load[?] : &:r1488_45, ~m0_4 -# 1488| m1488_47(int *) = Store[?] : &:r1488_41, r1488_46 -# 1488| m1488_48(unknown) = Chi : total:m1488_40, partial:m1488_47 -# 1488| r1488_49(glval) = FieldAddress[xs] : m1488_6 -# 1488| r1488_50(glval) = VariableAddress[(unnamed parameter 0)] : -# 1488| r1488_51(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1488_50, m0_2 -# 1488| r1488_52(glval) = CopyValue : r1488_51 -# 1488| r1488_53(glval) = FieldAddress[xs] : r1488_52 -# 1488| r1488_54(int[2]) = Load[?] : &:r1488_53, ~m0_4 -# 1488| m1488_55(int[2]) = Store[?] : &:r1488_49, r1488_54 -# 1488| m1488_56(unknown) = Chi : total:m1488_48, partial:m1488_55 -# 1488| r1488_57(glval) = FieldAddress[r_alt] : m1488_6 -# 1488| r1488_58(glval) = VariableAddress[(unnamed parameter 0)] : -# 1488| r1488_59(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1488_58, m0_2 -# 1488| r1488_60(glval) = CopyValue : r1488_59 -# 1488| r1488_61(glval) = FieldAddress[r_alt] : r1488_60 -# 1488| r1488_62(int &) = Load[?] : &:r1488_61, ~m0_4 -# 1488| m1488_63(int &) = Store[?] : &:r1488_57, r1488_62 -# 1488| m1488_64(unknown) = Chi : total:m1488_56, partial:m1488_63 -# 1488| r1488_65(glval) = FieldAddress[m] : m1488_6 -# 1488| r1488_66(glval) = VariableAddress[(unnamed parameter 0)] : -# 1488| r1488_67(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1488_66, m0_2 -# 1488| r1488_68(glval) = CopyValue : r1488_67 -# 1488| r1488_69(glval) = FieldAddress[m] : r1488_68 -# 1488| r1488_70(StructuredBindingDataMemberMemberStruct) = Load[?] : &:r1488_69, ~m0_4 -# 1488| m1488_71(StructuredBindingDataMemberMemberStruct) = Store[?] : &:r1488_65, r1488_70 -# 1488| m1488_72(unknown) = Chi : total:m1488_64, partial:m1488_71 -# 1488| v1488_73(void) = NoOp : -# 1488| v1488_74(void) = ReturnIndirection[#this] : &:r1488_7, m1488_72 +# 1535| r1535_9(glval) = FieldAddress[i] : m1535_6 +# 1535| r1535_10(glval) = VariableAddress[(unnamed parameter 0)] : +# 1535| r1535_11(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_10, m0_2 +# 1535| r1535_12(glval) = CopyValue : r1535_11 +# 1535| r1535_13(glval) = FieldAddress[i] : r1535_12 +# 1535| r1535_14(int) = Load[?] : &:r1535_13, ~m0_4 +# 1535| m1535_15(int) = Store[?] : &:r1535_9, r1535_14 +# 1535| m1535_16(unknown) = Chi : total:m1535_8, partial:m1535_15 +# 1535| r1535_17(glval) = FieldAddress[d] : m1535_6 +# 1535| r1535_18(glval) = VariableAddress[(unnamed parameter 0)] : +# 1535| r1535_19(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_18, m0_2 +# 1535| r1535_20(glval) = CopyValue : r1535_19 +# 1535| r1535_21(glval) = FieldAddress[d] : r1535_20 +# 1535| r1535_22(double) = Load[?] : &:r1535_21, ~m0_4 +# 1535| m1535_23(double) = Store[?] : &:r1535_17, r1535_22 +# 1535| m1535_24(unknown) = Chi : total:m1535_16, partial:m1535_23 +# 1535| r1535_25(glval) = FieldAddress[b] : m1535_6 +# 1535| r1535_26(glval) = VariableAddress[(unnamed parameter 0)] : +# 1535| r1535_27(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_26, m0_2 +# 1535| r1535_28(glval) = CopyValue : r1535_27 +# 1535| r1535_29(glval) = FieldAddress[b] : r1535_28 +# 1535| r1535_30(unsigned int) = Load[?] : &:r1535_29, ~m0_4 +# 1535| m1535_31(unsigned int) = Store[?] : &:r1535_25, r1535_30 +# 1535| m1535_32(unknown) = Chi : total:m1535_24, partial:m1535_31 +# 1535| r1535_33(glval) = FieldAddress[r] : m1535_6 +# 1535| r1535_34(glval) = VariableAddress[(unnamed parameter 0)] : +# 1535| r1535_35(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_34, m0_2 +# 1535| r1535_36(glval) = CopyValue : r1535_35 +# 1535| r1535_37(glval) = FieldAddress[r] : r1535_36 +# 1535| r1535_38(int &) = Load[?] : &:r1535_37, ~m0_4 +# 1535| m1535_39(int &) = Store[?] : &:r1535_33, r1535_38 +# 1535| m1535_40(unknown) = Chi : total:m1535_32, partial:m1535_39 +# 1535| r1535_41(glval) = FieldAddress[p] : m1535_6 +# 1535| r1535_42(glval) = VariableAddress[(unnamed parameter 0)] : +# 1535| r1535_43(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_42, m0_2 +# 1535| r1535_44(glval) = CopyValue : r1535_43 +# 1535| r1535_45(glval) = FieldAddress[p] : r1535_44 +# 1535| r1535_46(int *) = Load[?] : &:r1535_45, ~m0_4 +# 1535| m1535_47(int *) = Store[?] : &:r1535_41, r1535_46 +# 1535| m1535_48(unknown) = Chi : total:m1535_40, partial:m1535_47 +# 1535| r1535_49(glval) = FieldAddress[xs] : m1535_6 +# 1535| r1535_50(glval) = VariableAddress[(unnamed parameter 0)] : +# 1535| r1535_51(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_50, m0_2 +# 1535| r1535_52(glval) = CopyValue : r1535_51 +# 1535| r1535_53(glval) = FieldAddress[xs] : r1535_52 +# 1535| r1535_54(int[2]) = Load[?] : &:r1535_53, ~m0_4 +# 1535| m1535_55(int[2]) = Store[?] : &:r1535_49, r1535_54 +# 1535| m1535_56(unknown) = Chi : total:m1535_48, partial:m1535_55 +# 1535| r1535_57(glval) = FieldAddress[r_alt] : m1535_6 +# 1535| r1535_58(glval) = VariableAddress[(unnamed parameter 0)] : +# 1535| r1535_59(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_58, m0_2 +# 1535| r1535_60(glval) = CopyValue : r1535_59 +# 1535| r1535_61(glval) = FieldAddress[r_alt] : r1535_60 +# 1535| r1535_62(int &) = Load[?] : &:r1535_61, ~m0_4 +# 1535| m1535_63(int &) = Store[?] : &:r1535_57, r1535_62 +# 1535| m1535_64(unknown) = Chi : total:m1535_56, partial:m1535_63 +# 1535| r1535_65(glval) = FieldAddress[m] : m1535_6 +# 1535| r1535_66(glval) = VariableAddress[(unnamed parameter 0)] : +# 1535| r1535_67(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_66, m0_2 +# 1535| r1535_68(glval) = CopyValue : r1535_67 +# 1535| r1535_69(glval) = FieldAddress[m] : r1535_68 +# 1535| r1535_70(StructuredBindingDataMemberMemberStruct) = Load[?] : &:r1535_69, ~m0_4 +# 1535| m1535_71(StructuredBindingDataMemberMemberStruct) = Store[?] : &:r1535_65, r1535_70 +# 1535| m1535_72(unknown) = Chi : total:m1535_64, partial:m1535_71 +# 1535| v1535_73(void) = NoOp : +# 1535| v1535_74(void) = ReturnIndirection[#this] : &:r1535_7, m1535_72 #-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4 -# 1488| v1488_75(void) = ReturnVoid : -# 1488| v1488_76(void) = AliasedUse : m1488_3 -# 1488| v1488_77(void) = ExitFunction : +# 1535| v1535_75(void) = ReturnVoid : +# 1535| v1535_76(void) = AliasedUse : m1535_3 +# 1535| v1535_77(void) = ExitFunction : -# 1501| void data_member_structured_binding() -# 1501| Block 0 -# 1501| v1501_1(void) = EnterFunction : -# 1501| m1501_2(unknown) = AliasedDefinition : -# 1501| m1501_3(unknown) = InitializeNonLocal : -# 1501| m1501_4(unknown) = Chi : total:m1501_2, partial:m1501_3 -# 1502| r1502_1(glval) = VariableAddress[s] : -# 1502| m1502_2(StructuredBindingDataMemberStruct) = Uninitialized[s] : &:r1502_1 -# 1502| r1502_3(glval) = FunctionAddress[StructuredBindingDataMemberStruct] : -# 1502| v1502_4(void) = Call[StructuredBindingDataMemberStruct] : func:r1502_3, this:r1502_1 -# 1502| m1502_5(unknown) = ^CallSideEffect : ~m1501_4 -# 1502| m1502_6(unknown) = Chi : total:m1501_4, partial:m1502_5 -# 1502| m1502_7(StructuredBindingDataMemberStruct) = ^IndirectMayWriteSideEffect[-1] : &:r1502_1 -# 1502| m1502_8(StructuredBindingDataMemberStruct) = Chi : total:m1502_2, partial:m1502_7 -# 1505| r1505_1(glval) = VariableAddress[(unnamed local variable)] : -# 1505| r1505_2(glval) = VariableAddress[s] : -# 1505| r1505_3(StructuredBindingDataMemberStruct) = Load[s] : &:r1505_2, m1502_8 -# 1505| m1505_4(StructuredBindingDataMemberStruct) = Store[(unnamed local variable)] : &:r1505_1, r1505_3 -# 1505| r1505_5(glval) = VariableAddress[i] : -# 1505| r1505_6(glval) = VariableAddress[(unnamed local variable)] : -# 1505| r1505_7(glval) = FieldAddress[i] : r1505_6 -# 1505| m1505_8(int &) = Store[i] : &:r1505_5, r1505_7 -# 1505| r1505_9(glval) = VariableAddress[d] : -# 1505| r1505_10(glval) = VariableAddress[(unnamed local variable)] : -# 1505| r1505_11(glval) = FieldAddress[d] : r1505_10 -# 1505| m1505_12(double &) = Store[d] : &:r1505_9, r1505_11 -# 1505| r1505_13(glval) = VariableAddress[b] : -# 1505| r1505_14(glval) = VariableAddress[(unnamed local variable)] : -# 1505| r1505_15(glval) = FieldAddress[b] : r1505_14 -# 1505| m1505_16(unsigned int &) = Store[b] : &:r1505_13, r1505_15 -# 1505| r1505_17(glval) = VariableAddress[r] : -# 1505| r1505_18(glval) = VariableAddress[(unnamed local variable)] : -# 1505| r1505_19(glval) = FieldAddress[r] : r1505_18 -# 1505| r1505_20(int &) = Load[?] : &:r1505_19, ~m1505_4 -# 1505| r1505_21(glval) = CopyValue : r1505_20 -# 1505| m1505_22(int &) = Store[r] : &:r1505_17, r1505_21 -# 1505| r1505_23(glval) = VariableAddress[p] : -# 1505| r1505_24(glval) = VariableAddress[(unnamed local variable)] : -# 1505| r1505_25(glval) = FieldAddress[p] : r1505_24 -# 1505| m1505_26(int *&) = Store[p] : &:r1505_23, r1505_25 -# 1505| r1505_27(glval) = VariableAddress[xs] : -# 1505| r1505_28(glval) = VariableAddress[(unnamed local variable)] : -# 1505| r1505_29(glval) = FieldAddress[xs] : r1505_28 -# 1505| m1505_30(int(&)[2]) = Store[xs] : &:r1505_27, r1505_29 -# 1505| r1505_31(glval) = VariableAddress[r_alt] : -# 1505| r1505_32(glval) = VariableAddress[(unnamed local variable)] : -# 1505| r1505_33(glval) = FieldAddress[r_alt] : r1505_32 -# 1505| r1505_34(int &) = Load[?] : &:r1505_33, ~m1505_4 -# 1505| r1505_35(glval) = CopyValue : r1505_34 -# 1505| m1505_36(int &) = Store[r_alt] : &:r1505_31, r1505_35 -# 1505| r1505_37(glval) = VariableAddress[m] : -# 1505| r1505_38(glval) = VariableAddress[(unnamed local variable)] : -# 1505| r1505_39(glval) = FieldAddress[m] : r1505_38 -# 1505| m1505_40(StructuredBindingDataMemberMemberStruct &) = Store[m] : &:r1505_37, r1505_39 -# 1506| r1506_1(double) = Constant[4.0] : -# 1506| r1506_2(glval) = VariableAddress[d] : -# 1506| r1506_3(double &) = Load[d] : &:r1506_2, m1505_12 -# 1506| m1506_4(double) = Store[?] : &:r1506_3, r1506_1 -# 1506| m1506_5(StructuredBindingDataMemberStruct) = Chi : total:m1505_4, partial:m1506_4 -# 1507| r1507_1(glval) = VariableAddress[rd] : -# 1507| r1507_2(glval) = VariableAddress[d] : -# 1507| r1507_3(double &) = Load[d] : &:r1507_2, m1505_12 -# 1507| r1507_4(double &) = CopyValue : r1507_3 -# 1507| m1507_5(double &) = Store[rd] : &:r1507_1, r1507_4 -# 1508| r1508_1(glval) = VariableAddress[v] : -# 1508| r1508_2(glval) = VariableAddress[i] : -# 1508| r1508_3(int &) = Load[i] : &:r1508_2, m1505_8 -# 1508| r1508_4(int) = Load[?] : &:r1508_3, ~m1505_4 -# 1508| m1508_5(int) = Store[v] : &:r1508_1, r1508_4 -# 1509| r1509_1(int) = Constant[5] : -# 1509| r1509_2(glval) = VariableAddress[r] : -# 1509| r1509_3(int &) = Load[r] : &:r1509_2, m1505_22 -# 1509| m1509_4(int) = Store[?] : &:r1509_3, r1509_1 -# 1509| m1509_5(unknown) = Chi : total:m1502_6, partial:m1509_4 -# 1510| r1510_1(int) = Constant[6] : -# 1510| r1510_2(glval) = VariableAddress[p] : -# 1510| r1510_3(int *&) = Load[p] : &:r1510_2, m1505_26 -# 1510| r1510_4(int *) = Load[?] : &:r1510_3, ~m1505_4 -# 1510| r1510_5(glval) = CopyValue : r1510_4 -# 1510| m1510_6(int) = Store[?] : &:r1510_5, r1510_1 -# 1510| m1510_7(unknown) = Chi : total:m1509_5, partial:m1510_6 -# 1511| r1511_1(glval) = VariableAddress[rr] : -# 1511| r1511_2(glval) = VariableAddress[r] : -# 1511| r1511_3(int &) = Load[r] : &:r1511_2, m1505_22 -# 1511| r1511_4(int &) = CopyValue : r1511_3 -# 1511| m1511_5(int &) = Store[rr] : &:r1511_1, r1511_4 -# 1512| r1512_1(glval) = VariableAddress[pr] : -# 1512| r1512_2(glval) = VariableAddress[r] : -# 1512| r1512_3(int &) = Load[r] : &:r1512_2, m1505_22 -# 1512| r1512_4(int *) = CopyValue : r1512_3 -# 1512| m1512_5(int *) = Store[pr] : &:r1512_1, r1512_4 -# 1513| r1513_1(glval) = VariableAddress[w] : -# 1513| r1513_2(glval) = VariableAddress[r] : -# 1513| r1513_3(int &) = Load[r] : &:r1513_2, m1505_22 -# 1513| r1513_4(int) = Load[?] : &:r1513_3, ~m1510_7 -# 1513| m1513_5(int) = Store[w] : &:r1513_1, r1513_4 -# 1517| r1517_1(glval) = VariableAddress[unnamed_local_variable] : -# 1517| r1517_2(glval) = VariableAddress[s] : -# 1517| r1517_3(StructuredBindingDataMemberStruct) = Load[s] : &:r1517_2, m1502_8 -# 1517| m1517_4(StructuredBindingDataMemberStruct) = Store[unnamed_local_variable] : &:r1517_1, r1517_3 -# 1518| r1518_1(glval) = VariableAddress[i] : -# 1518| r1518_2(glval) = VariableAddress[unnamed_local_variable] : -# 1518| r1518_3(glval) = FieldAddress[i] : r1518_2 -# 1518| r1518_4(int &) = CopyValue : r1518_3 -# 1518| m1518_5(int &) = Store[i] : &:r1518_1, r1518_4 -# 1519| r1519_1(glval) = VariableAddress[d] : -# 1519| r1519_2(glval) = VariableAddress[unnamed_local_variable] : -# 1519| r1519_3(glval) = FieldAddress[d] : r1519_2 -# 1519| r1519_4(double &) = CopyValue : r1519_3 -# 1519| m1519_5(double &) = Store[d] : &:r1519_1, r1519_4 -# 1521| r1521_1(glval) = VariableAddress[r] : -# 1521| r1521_2(glval) = VariableAddress[unnamed_local_variable] : -# 1521| r1521_3(glval) = FieldAddress[r] : r1521_2 -# 1521| r1521_4(int &) = Load[?] : &:r1521_3, ~m1517_4 -# 1521| r1521_5(glval) = CopyValue : r1521_4 -# 1521| r1521_6(int &) = CopyValue : r1521_5 -# 1521| m1521_7(int &) = Store[r] : &:r1521_1, r1521_6 -# 1522| r1522_1(glval) = VariableAddress[p] : -# 1522| r1522_2(glval) = VariableAddress[unnamed_local_variable] : -# 1522| r1522_3(glval) = FieldAddress[p] : r1522_2 -# 1522| r1522_4(int *&) = CopyValue : r1522_3 -# 1522| m1522_5(int *&) = Store[p] : &:r1522_1, r1522_4 -# 1523| r1523_1(double) = Constant[4.0] : -# 1523| r1523_2(glval) = VariableAddress[d] : -# 1523| r1523_3(double &) = Load[d] : &:r1523_2, m1519_5 -# 1523| r1523_4(glval) = CopyValue : r1523_3 -# 1523| m1523_5(double) = Store[?] : &:r1523_4, r1523_1 -# 1523| m1523_6(StructuredBindingDataMemberStruct) = Chi : total:m1517_4, partial:m1523_5 -# 1524| r1524_1(glval) = VariableAddress[rd] : -# 1524| r1524_2(glval) = VariableAddress[d] : -# 1524| r1524_3(double &) = Load[d] : &:r1524_2, m1519_5 -# 1524| r1524_4(glval) = CopyValue : r1524_3 -# 1524| r1524_5(double &) = CopyValue : r1524_4 -# 1524| m1524_6(double &) = Store[rd] : &:r1524_1, r1524_5 -# 1525| r1525_1(glval) = VariableAddress[v] : -# 1525| r1525_2(glval) = VariableAddress[i] : -# 1525| r1525_3(int &) = Load[i] : &:r1525_2, m1518_5 -# 1525| r1525_4(int) = Load[?] : &:r1525_3, ~m1517_4 -# 1525| m1525_5(int) = Store[v] : &:r1525_1, r1525_4 -# 1526| r1526_1(int) = Constant[5] : -# 1526| r1526_2(glval) = VariableAddress[r] : -# 1526| r1526_3(int &) = Load[r] : &:r1526_2, m1521_7 -# 1526| r1526_4(glval) = CopyValue : r1526_3 -# 1526| m1526_5(int) = Store[?] : &:r1526_4, r1526_1 -# 1526| m1526_6(unknown) = Chi : total:m1510_7, partial:m1526_5 -# 1527| r1527_1(int) = Constant[6] : -# 1527| r1527_2(glval) = VariableAddress[p] : -# 1527| r1527_3(int *&) = Load[p] : &:r1527_2, m1522_5 -# 1527| r1527_4(int *) = Load[?] : &:r1527_3, ~m1517_4 -# 1527| r1527_5(glval) = CopyValue : r1527_4 -# 1527| m1527_6(int) = Store[?] : &:r1527_5, r1527_1 -# 1527| m1527_7(unknown) = Chi : total:m1526_6, partial:m1527_6 -# 1528| r1528_1(glval) = VariableAddress[rr] : -# 1528| r1528_2(glval) = VariableAddress[r] : -# 1528| r1528_3(int &) = Load[r] : &:r1528_2, m1521_7 -# 1528| r1528_4(glval) = CopyValue : r1528_3 -# 1528| r1528_5(int &) = CopyValue : r1528_4 -# 1528| m1528_6(int &) = Store[rr] : &:r1528_1, r1528_5 -# 1529| r1529_1(glval) = VariableAddress[pr] : -# 1529| r1529_2(glval) = VariableAddress[r] : -# 1529| r1529_3(int &) = Load[r] : &:r1529_2, m1521_7 -# 1529| r1529_4(glval) = CopyValue : r1529_3 -# 1529| r1529_5(int *) = CopyValue : r1529_4 -# 1529| m1529_6(int *) = Store[pr] : &:r1529_1, r1529_5 -# 1530| r1530_1(glval) = VariableAddress[w] : -# 1530| r1530_2(glval) = VariableAddress[r] : -# 1530| r1530_3(int &) = Load[r] : &:r1530_2, m1521_7 -# 1530| r1530_4(int) = Load[?] : &:r1530_3, ~m1527_7 -# 1530| m1530_5(int) = Store[w] : &:r1530_1, r1530_4 -# 1532| v1532_1(void) = NoOp : -# 1501| v1501_5(void) = ReturnVoid : -# 1501| v1501_6(void) = AliasedUse : ~m1527_7 -# 1501| v1501_7(void) = ExitFunction : +# 1548| void data_member_structured_binding() +# 1548| Block 0 +# 1548| v1548_1(void) = EnterFunction : +# 1548| m1548_2(unknown) = AliasedDefinition : +# 1548| m1548_3(unknown) = InitializeNonLocal : +# 1548| m1548_4(unknown) = Chi : total:m1548_2, partial:m1548_3 +# 1549| r1549_1(glval) = VariableAddress[s] : +# 1549| m1549_2(StructuredBindingDataMemberStruct) = Uninitialized[s] : &:r1549_1 +# 1549| r1549_3(glval) = FunctionAddress[StructuredBindingDataMemberStruct] : +# 1549| v1549_4(void) = Call[StructuredBindingDataMemberStruct] : func:r1549_3, this:r1549_1 +# 1549| m1549_5(unknown) = ^CallSideEffect : ~m1548_4 +# 1549| m1549_6(unknown) = Chi : total:m1548_4, partial:m1549_5 +# 1549| m1549_7(StructuredBindingDataMemberStruct) = ^IndirectMayWriteSideEffect[-1] : &:r1549_1 +# 1549| m1549_8(StructuredBindingDataMemberStruct) = Chi : total:m1549_2, partial:m1549_7 +# 1552| r1552_1(glval) = VariableAddress[(unnamed local variable)] : +# 1552| r1552_2(glval) = VariableAddress[s] : +# 1552| r1552_3(StructuredBindingDataMemberStruct) = Load[s] : &:r1552_2, m1549_8 +# 1552| m1552_4(StructuredBindingDataMemberStruct) = Store[(unnamed local variable)] : &:r1552_1, r1552_3 +# 1552| r1552_5(glval) = VariableAddress[i] : +# 1552| r1552_6(glval) = VariableAddress[(unnamed local variable)] : +# 1552| r1552_7(glval) = FieldAddress[i] : r1552_6 +# 1552| m1552_8(int &) = Store[i] : &:r1552_5, r1552_7 +# 1552| r1552_9(glval) = VariableAddress[d] : +# 1552| r1552_10(glval) = VariableAddress[(unnamed local variable)] : +# 1552| r1552_11(glval) = FieldAddress[d] : r1552_10 +# 1552| m1552_12(double &) = Store[d] : &:r1552_9, r1552_11 +# 1552| r1552_13(glval) = VariableAddress[b] : +# 1552| r1552_14(glval) = VariableAddress[(unnamed local variable)] : +# 1552| r1552_15(glval) = FieldAddress[b] : r1552_14 +# 1552| m1552_16(unsigned int &) = Store[b] : &:r1552_13, r1552_15 +# 1552| r1552_17(glval) = VariableAddress[r] : +# 1552| r1552_18(glval) = VariableAddress[(unnamed local variable)] : +# 1552| r1552_19(glval) = FieldAddress[r] : r1552_18 +# 1552| r1552_20(int &) = Load[?] : &:r1552_19, ~m1552_4 +# 1552| r1552_21(glval) = CopyValue : r1552_20 +# 1552| m1552_22(int &) = Store[r] : &:r1552_17, r1552_21 +# 1552| r1552_23(glval) = VariableAddress[p] : +# 1552| r1552_24(glval) = VariableAddress[(unnamed local variable)] : +# 1552| r1552_25(glval) = FieldAddress[p] : r1552_24 +# 1552| m1552_26(int *&) = Store[p] : &:r1552_23, r1552_25 +# 1552| r1552_27(glval) = VariableAddress[xs] : +# 1552| r1552_28(glval) = VariableAddress[(unnamed local variable)] : +# 1552| r1552_29(glval) = FieldAddress[xs] : r1552_28 +# 1552| m1552_30(int(&)[2]) = Store[xs] : &:r1552_27, r1552_29 +# 1552| r1552_31(glval) = VariableAddress[r_alt] : +# 1552| r1552_32(glval) = VariableAddress[(unnamed local variable)] : +# 1552| r1552_33(glval) = FieldAddress[r_alt] : r1552_32 +# 1552| r1552_34(int &) = Load[?] : &:r1552_33, ~m1552_4 +# 1552| r1552_35(glval) = CopyValue : r1552_34 +# 1552| m1552_36(int &) = Store[r_alt] : &:r1552_31, r1552_35 +# 1552| r1552_37(glval) = VariableAddress[m] : +# 1552| r1552_38(glval) = VariableAddress[(unnamed local variable)] : +# 1552| r1552_39(glval) = FieldAddress[m] : r1552_38 +# 1552| m1552_40(StructuredBindingDataMemberMemberStruct &) = Store[m] : &:r1552_37, r1552_39 +# 1553| r1553_1(double) = Constant[4.0] : +# 1553| r1553_2(glval) = VariableAddress[d] : +# 1553| r1553_3(double &) = Load[d] : &:r1553_2, m1552_12 +# 1553| m1553_4(double) = Store[?] : &:r1553_3, r1553_1 +# 1553| m1553_5(StructuredBindingDataMemberStruct) = Chi : total:m1552_4, partial:m1553_4 +# 1554| r1554_1(glval) = VariableAddress[rd] : +# 1554| r1554_2(glval) = VariableAddress[d] : +# 1554| r1554_3(double &) = Load[d] : &:r1554_2, m1552_12 +# 1554| r1554_4(double &) = CopyValue : r1554_3 +# 1554| m1554_5(double &) = Store[rd] : &:r1554_1, r1554_4 +# 1555| r1555_1(glval) = VariableAddress[v] : +# 1555| r1555_2(glval) = VariableAddress[i] : +# 1555| r1555_3(int &) = Load[i] : &:r1555_2, m1552_8 +# 1555| r1555_4(int) = Load[?] : &:r1555_3, ~m1552_4 +# 1555| m1555_5(int) = Store[v] : &:r1555_1, r1555_4 +# 1556| r1556_1(int) = Constant[5] : +# 1556| r1556_2(glval) = VariableAddress[r] : +# 1556| r1556_3(int &) = Load[r] : &:r1556_2, m1552_22 +# 1556| m1556_4(int) = Store[?] : &:r1556_3, r1556_1 +# 1556| m1556_5(unknown) = Chi : total:m1549_6, partial:m1556_4 +# 1557| r1557_1(int) = Constant[6] : +# 1557| r1557_2(glval) = VariableAddress[p] : +# 1557| r1557_3(int *&) = Load[p] : &:r1557_2, m1552_26 +# 1557| r1557_4(int *) = Load[?] : &:r1557_3, ~m1552_4 +# 1557| r1557_5(glval) = CopyValue : r1557_4 +# 1557| m1557_6(int) = Store[?] : &:r1557_5, r1557_1 +# 1557| m1557_7(unknown) = Chi : total:m1556_5, partial:m1557_6 +# 1558| r1558_1(glval) = VariableAddress[rr] : +# 1558| r1558_2(glval) = VariableAddress[r] : +# 1558| r1558_3(int &) = Load[r] : &:r1558_2, m1552_22 +# 1558| r1558_4(int &) = CopyValue : r1558_3 +# 1558| m1558_5(int &) = Store[rr] : &:r1558_1, r1558_4 +# 1559| r1559_1(glval) = VariableAddress[pr] : +# 1559| r1559_2(glval) = VariableAddress[r] : +# 1559| r1559_3(int &) = Load[r] : &:r1559_2, m1552_22 +# 1559| r1559_4(int *) = CopyValue : r1559_3 +# 1559| m1559_5(int *) = Store[pr] : &:r1559_1, r1559_4 +# 1560| r1560_1(glval) = VariableAddress[w] : +# 1560| r1560_2(glval) = VariableAddress[r] : +# 1560| r1560_3(int &) = Load[r] : &:r1560_2, m1552_22 +# 1560| r1560_4(int) = Load[?] : &:r1560_3, ~m1557_7 +# 1560| m1560_5(int) = Store[w] : &:r1560_1, r1560_4 +# 1564| r1564_1(glval) = VariableAddress[unnamed_local_variable] : +# 1564| r1564_2(glval) = VariableAddress[s] : +# 1564| r1564_3(StructuredBindingDataMemberStruct) = Load[s] : &:r1564_2, m1549_8 +# 1564| m1564_4(StructuredBindingDataMemberStruct) = Store[unnamed_local_variable] : &:r1564_1, r1564_3 +# 1565| r1565_1(glval) = VariableAddress[i] : +# 1565| r1565_2(glval) = VariableAddress[unnamed_local_variable] : +# 1565| r1565_3(glval) = FieldAddress[i] : r1565_2 +# 1565| r1565_4(int &) = CopyValue : r1565_3 +# 1565| m1565_5(int &) = Store[i] : &:r1565_1, r1565_4 +# 1566| r1566_1(glval) = VariableAddress[d] : +# 1566| r1566_2(glval) = VariableAddress[unnamed_local_variable] : +# 1566| r1566_3(glval) = FieldAddress[d] : r1566_2 +# 1566| r1566_4(double &) = CopyValue : r1566_3 +# 1566| m1566_5(double &) = Store[d] : &:r1566_1, r1566_4 +# 1568| r1568_1(glval) = VariableAddress[r] : +# 1568| r1568_2(glval) = VariableAddress[unnamed_local_variable] : +# 1568| r1568_3(glval) = FieldAddress[r] : r1568_2 +# 1568| r1568_4(int &) = Load[?] : &:r1568_3, ~m1564_4 +# 1568| r1568_5(glval) = CopyValue : r1568_4 +# 1568| r1568_6(int &) = CopyValue : r1568_5 +# 1568| m1568_7(int &) = Store[r] : &:r1568_1, r1568_6 +# 1569| r1569_1(glval) = VariableAddress[p] : +# 1569| r1569_2(glval) = VariableAddress[unnamed_local_variable] : +# 1569| r1569_3(glval) = FieldAddress[p] : r1569_2 +# 1569| r1569_4(int *&) = CopyValue : r1569_3 +# 1569| m1569_5(int *&) = Store[p] : &:r1569_1, r1569_4 +# 1570| r1570_1(double) = Constant[4.0] : +# 1570| r1570_2(glval) = VariableAddress[d] : +# 1570| r1570_3(double &) = Load[d] : &:r1570_2, m1566_5 +# 1570| r1570_4(glval) = CopyValue : r1570_3 +# 1570| m1570_5(double) = Store[?] : &:r1570_4, r1570_1 +# 1570| m1570_6(StructuredBindingDataMemberStruct) = Chi : total:m1564_4, partial:m1570_5 +# 1571| r1571_1(glval) = VariableAddress[rd] : +# 1571| r1571_2(glval) = VariableAddress[d] : +# 1571| r1571_3(double &) = Load[d] : &:r1571_2, m1566_5 +# 1571| r1571_4(glval) = CopyValue : r1571_3 +# 1571| r1571_5(double &) = CopyValue : r1571_4 +# 1571| m1571_6(double &) = Store[rd] : &:r1571_1, r1571_5 +# 1572| r1572_1(glval) = VariableAddress[v] : +# 1572| r1572_2(glval) = VariableAddress[i] : +# 1572| r1572_3(int &) = Load[i] : &:r1572_2, m1565_5 +# 1572| r1572_4(int) = Load[?] : &:r1572_3, ~m1564_4 +# 1572| m1572_5(int) = Store[v] : &:r1572_1, r1572_4 +# 1573| r1573_1(int) = Constant[5] : +# 1573| r1573_2(glval) = VariableAddress[r] : +# 1573| r1573_3(int &) = Load[r] : &:r1573_2, m1568_7 +# 1573| r1573_4(glval) = CopyValue : r1573_3 +# 1573| m1573_5(int) = Store[?] : &:r1573_4, r1573_1 +# 1573| m1573_6(unknown) = Chi : total:m1557_7, partial:m1573_5 +# 1574| r1574_1(int) = Constant[6] : +# 1574| r1574_2(glval) = VariableAddress[p] : +# 1574| r1574_3(int *&) = Load[p] : &:r1574_2, m1569_5 +# 1574| r1574_4(int *) = Load[?] : &:r1574_3, ~m1564_4 +# 1574| r1574_5(glval) = CopyValue : r1574_4 +# 1574| m1574_6(int) = Store[?] : &:r1574_5, r1574_1 +# 1574| m1574_7(unknown) = Chi : total:m1573_6, partial:m1574_6 +# 1575| r1575_1(glval) = VariableAddress[rr] : +# 1575| r1575_2(glval) = VariableAddress[r] : +# 1575| r1575_3(int &) = Load[r] : &:r1575_2, m1568_7 +# 1575| r1575_4(glval) = CopyValue : r1575_3 +# 1575| r1575_5(int &) = CopyValue : r1575_4 +# 1575| m1575_6(int &) = Store[rr] : &:r1575_1, r1575_5 +# 1576| r1576_1(glval) = VariableAddress[pr] : +# 1576| r1576_2(glval) = VariableAddress[r] : +# 1576| r1576_3(int &) = Load[r] : &:r1576_2, m1568_7 +# 1576| r1576_4(glval) = CopyValue : r1576_3 +# 1576| r1576_5(int *) = CopyValue : r1576_4 +# 1576| m1576_6(int *) = Store[pr] : &:r1576_1, r1576_5 +# 1577| r1577_1(glval) = VariableAddress[w] : +# 1577| r1577_2(glval) = VariableAddress[r] : +# 1577| r1577_3(int &) = Load[r] : &:r1577_2, m1568_7 +# 1577| r1577_4(int) = Load[?] : &:r1577_3, ~m1574_7 +# 1577| m1577_5(int) = Store[w] : &:r1577_1, r1577_4 +# 1579| v1579_1(void) = NoOp : +# 1548| v1548_5(void) = ReturnVoid : +# 1548| v1548_6(void) = AliasedUse : ~m1574_7 +# 1548| v1548_7(void) = ExitFunction : -# 1541| void StructuredBindingTupleRefGet::StructuredBindingTupleRefGet() -# 1541| Block 0 -# 1541| v1541_1(void) = EnterFunction : -# 1541| m1541_2(unknown) = AliasedDefinition : -# 1541| m1541_3(unknown) = InitializeNonLocal : -# 1541| m1541_4(unknown) = Chi : total:m1541_2, partial:m1541_3 -# 1541| r1541_5(glval) = VariableAddress[#this] : -# 1541| m1541_6(glval) = InitializeParameter[#this] : &:r1541_5 -# 1541| r1541_7(glval) = Load[#this] : &:r1541_5, m1541_6 -# 1541| m1541_8(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1541_7 -# 1541| v1541_9(void) = NoOp : -# 1541| v1541_10(void) = ReturnIndirection[#this] : &:r1541_7, m1541_8 -# 1541| v1541_11(void) = ReturnVoid : -# 1541| v1541_12(void) = AliasedUse : m1541_3 -# 1541| v1541_13(void) = ExitFunction : +# 1588| void StructuredBindingTupleRefGet::StructuredBindingTupleRefGet() +# 1588| Block 0 +# 1588| v1588_1(void) = EnterFunction : +# 1588| m1588_2(unknown) = AliasedDefinition : +# 1588| m1588_3(unknown) = InitializeNonLocal : +# 1588| m1588_4(unknown) = Chi : total:m1588_2, partial:m1588_3 +# 1588| r1588_5(glval) = VariableAddress[#this] : +# 1588| m1588_6(glval) = InitializeParameter[#this] : &:r1588_5 +# 1588| r1588_7(glval) = Load[#this] : &:r1588_5, m1588_6 +# 1588| m1588_8(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1588_7 +# 1588| v1588_9(void) = NoOp : +# 1588| v1588_10(void) = ReturnIndirection[#this] : &:r1588_7, m1588_8 +# 1588| v1588_11(void) = ReturnVoid : +# 1588| v1588_12(void) = AliasedUse : m1588_3 +# 1588| v1588_13(void) = ExitFunction : -# 1541| void StructuredBindingTupleRefGet::StructuredBindingTupleRefGet(StructuredBindingTupleRefGet const&) -# 1541| Block 0 -# 1541| v1541_1(void) = EnterFunction : -# 1541| m1541_2(unknown) = AliasedDefinition : -# 1541| m1541_3(unknown) = InitializeNonLocal : -# 1541| m1541_4(unknown) = Chi : total:m1541_2, partial:m1541_3 -# 1541| r1541_5(glval) = VariableAddress[#this] : -# 1541| m1541_6(glval) = InitializeParameter[#this] : &:r1541_5 -# 1541| r1541_7(glval) = Load[#this] : &:r1541_5, m1541_6 -# 1541| m1541_8(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1541_7 +# 1588| void StructuredBindingTupleRefGet::StructuredBindingTupleRefGet(StructuredBindingTupleRefGet const&) +# 1588| Block 0 +# 1588| v1588_1(void) = EnterFunction : +# 1588| m1588_2(unknown) = AliasedDefinition : +# 1588| m1588_3(unknown) = InitializeNonLocal : +# 1588| m1588_4(unknown) = Chi : total:m1588_2, partial:m1588_3 +# 1588| r1588_5(glval) = VariableAddress[#this] : +# 1588| m1588_6(glval) = InitializeParameter[#this] : &:r1588_5 +# 1588| r1588_7(glval) = Load[#this] : &:r1588_5, m1588_6 +# 1588| m1588_8(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1588_7 #-----| r0_1(glval) = VariableAddress[(unnamed parameter 0)] : #-----| m0_2(StructuredBindingTupleRefGet &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1 #-----| r0_3(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r0_1, m0_2 #-----| m0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3 -# 1541| r1541_9(glval) = FieldAddress[i] : m1541_6 -# 1541| r1541_10(glval) = VariableAddress[(unnamed parameter 0)] : -# 1541| r1541_11(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r1541_10, m0_2 -# 1541| r1541_12(glval) = CopyValue : r1541_11 -# 1541| r1541_13(glval) = FieldAddress[i] : r1541_12 -# 1541| r1541_14(int) = Load[?] : &:r1541_13, ~m0_4 -# 1541| m1541_15(int) = Store[?] : &:r1541_9, r1541_14 -# 1541| m1541_16(unknown) = Chi : total:m1541_8, partial:m1541_15 -# 1541| r1541_17(glval) = FieldAddress[d] : m1541_6 -# 1541| r1541_18(glval) = VariableAddress[(unnamed parameter 0)] : -# 1541| r1541_19(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r1541_18, m0_2 -# 1541| r1541_20(glval) = CopyValue : r1541_19 -# 1541| r1541_21(glval) = FieldAddress[d] : r1541_20 -# 1541| r1541_22(double) = Load[?] : &:r1541_21, ~m0_4 -# 1541| m1541_23(double) = Store[?] : &:r1541_17, r1541_22 -# 1541| m1541_24(unknown) = Chi : total:m1541_16, partial:m1541_23 -# 1541| r1541_25(glval) = FieldAddress[r] : m1541_6 -# 1541| r1541_26(glval) = VariableAddress[(unnamed parameter 0)] : -# 1541| r1541_27(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r1541_26, m0_2 -# 1541| r1541_28(glval) = CopyValue : r1541_27 -# 1541| r1541_29(glval) = FieldAddress[r] : r1541_28 -# 1541| r1541_30(int &) = Load[?] : &:r1541_29, ~m0_4 -# 1541| m1541_31(int &) = Store[?] : &:r1541_25, r1541_30 -# 1541| m1541_32(unknown) = Chi : total:m1541_24, partial:m1541_31 -# 1541| v1541_33(void) = NoOp : -# 1541| v1541_34(void) = ReturnIndirection[#this] : &:r1541_7, m1541_32 +# 1588| r1588_9(glval) = FieldAddress[i] : m1588_6 +# 1588| r1588_10(glval) = VariableAddress[(unnamed parameter 0)] : +# 1588| r1588_11(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r1588_10, m0_2 +# 1588| r1588_12(glval) = CopyValue : r1588_11 +# 1588| r1588_13(glval) = FieldAddress[i] : r1588_12 +# 1588| r1588_14(int) = Load[?] : &:r1588_13, ~m0_4 +# 1588| m1588_15(int) = Store[?] : &:r1588_9, r1588_14 +# 1588| m1588_16(unknown) = Chi : total:m1588_8, partial:m1588_15 +# 1588| r1588_17(glval) = FieldAddress[d] : m1588_6 +# 1588| r1588_18(glval) = VariableAddress[(unnamed parameter 0)] : +# 1588| r1588_19(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r1588_18, m0_2 +# 1588| r1588_20(glval) = CopyValue : r1588_19 +# 1588| r1588_21(glval) = FieldAddress[d] : r1588_20 +# 1588| r1588_22(double) = Load[?] : &:r1588_21, ~m0_4 +# 1588| m1588_23(double) = Store[?] : &:r1588_17, r1588_22 +# 1588| m1588_24(unknown) = Chi : total:m1588_16, partial:m1588_23 +# 1588| r1588_25(glval) = FieldAddress[r] : m1588_6 +# 1588| r1588_26(glval) = VariableAddress[(unnamed parameter 0)] : +# 1588| r1588_27(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r1588_26, m0_2 +# 1588| r1588_28(glval) = CopyValue : r1588_27 +# 1588| r1588_29(glval) = FieldAddress[r] : r1588_28 +# 1588| r1588_30(int &) = Load[?] : &:r1588_29, ~m0_4 +# 1588| m1588_31(int &) = Store[?] : &:r1588_25, r1588_30 +# 1588| m1588_32(unknown) = Chi : total:m1588_24, partial:m1588_31 +# 1588| v1588_33(void) = NoOp : +# 1588| v1588_34(void) = ReturnIndirection[#this] : &:r1588_7, m1588_32 #-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4 -# 1541| v1541_35(void) = ReturnVoid : -# 1541| v1541_36(void) = AliasedUse : m1541_3 -# 1541| v1541_37(void) = ExitFunction : +# 1588| v1588_35(void) = ReturnVoid : +# 1588| v1588_36(void) = AliasedUse : m1588_3 +# 1588| v1588_37(void) = ExitFunction : -# 1569| std::tuple_element::type& StructuredBindingTupleRefGet::get() -# 1569| Block 0 -# 1569| v1569_1(void) = EnterFunction : -# 1569| m1569_2(unknown) = AliasedDefinition : -# 1569| m1569_3(unknown) = InitializeNonLocal : -# 1569| m1569_4(unknown) = Chi : total:m1569_2, partial:m1569_3 -# 1569| r1569_5(glval) = VariableAddress[#this] : -# 1569| m1569_6(glval) = InitializeParameter[#this] : &:r1569_5 -# 1569| r1569_7(glval) = Load[#this] : &:r1569_5, m1569_6 -# 1569| m1569_8(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1569_7 -# 1570| r1570_1(glval) = VariableAddress[#return] : -# 1570| r1570_2(glval) = VariableAddress[#this] : -# 1570| r1570_3(StructuredBindingTupleRefGet *) = Load[#this] : &:r1570_2, m1569_6 -# 1570| r1570_4(glval) = FieldAddress[i] : r1570_3 -#-----| r0_1(int &) = CopyValue : r1570_4 -#-----| m0_2(int &) = Store[#return] : &:r1570_1, r0_1 -# 1569| v1569_9(void) = ReturnIndirection[#this] : &:r1569_7, m1569_8 -# 1569| r1569_10(glval) = VariableAddress[#return] : -# 1569| v1569_11(void) = ReturnValue : &:r1569_10, m0_2 -# 1569| v1569_12(void) = AliasedUse : m1569_3 -# 1569| v1569_13(void) = ExitFunction : +# 1616| std::tuple_element::type& StructuredBindingTupleRefGet::get() +# 1616| Block 0 +# 1616| v1616_1(void) = EnterFunction : +# 1616| m1616_2(unknown) = AliasedDefinition : +# 1616| m1616_3(unknown) = InitializeNonLocal : +# 1616| m1616_4(unknown) = Chi : total:m1616_2, partial:m1616_3 +# 1616| r1616_5(glval) = VariableAddress[#this] : +# 1616| m1616_6(glval) = InitializeParameter[#this] : &:r1616_5 +# 1616| r1616_7(glval) = Load[#this] : &:r1616_5, m1616_6 +# 1616| m1616_8(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1616_7 +# 1617| r1617_1(glval) = VariableAddress[#return] : +# 1617| r1617_2(glval) = VariableAddress[#this] : +# 1617| r1617_3(StructuredBindingTupleRefGet *) = Load[#this] : &:r1617_2, m1616_6 +# 1617| r1617_4(glval) = FieldAddress[i] : r1617_3 +#-----| r0_1(int &) = CopyValue : r1617_4 +#-----| m0_2(int &) = Store[#return] : &:r1617_1, r0_1 +# 1616| v1616_9(void) = ReturnIndirection[#this] : &:r1616_7, m1616_8 +# 1616| r1616_10(glval) = VariableAddress[#return] : +# 1616| v1616_11(void) = ReturnValue : &:r1616_10, m0_2 +# 1616| v1616_12(void) = AliasedUse : m1616_3 +# 1616| v1616_13(void) = ExitFunction : -# 1573| std::tuple_element::type& StructuredBindingTupleRefGet::get() -# 1573| Block 0 -# 1573| v1573_1(void) = EnterFunction : -# 1573| m1573_2(unknown) = AliasedDefinition : -# 1573| m1573_3(unknown) = InitializeNonLocal : -# 1573| m1573_4(unknown) = Chi : total:m1573_2, partial:m1573_3 -# 1573| r1573_5(glval) = VariableAddress[#this] : -# 1573| m1573_6(glval) = InitializeParameter[#this] : &:r1573_5 -# 1573| r1573_7(glval) = Load[#this] : &:r1573_5, m1573_6 -# 1573| m1573_8(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1573_7 -# 1574| r1574_1(glval) = VariableAddress[#return] : -# 1574| r1574_2(glval) = VariableAddress[#this] : -# 1574| r1574_3(StructuredBindingTupleRefGet *) = Load[#this] : &:r1574_2, m1573_6 -# 1574| r1574_4(glval) = FieldAddress[d] : r1574_3 -#-----| r0_1(double &) = CopyValue : r1574_4 -#-----| m0_2(double &) = Store[#return] : &:r1574_1, r0_1 -# 1573| v1573_9(void) = ReturnIndirection[#this] : &:r1573_7, m1573_8 -# 1573| r1573_10(glval) = VariableAddress[#return] : -# 1573| v1573_11(void) = ReturnValue : &:r1573_10, m0_2 -# 1573| v1573_12(void) = AliasedUse : m1573_3 -# 1573| v1573_13(void) = ExitFunction : +# 1620| std::tuple_element::type& StructuredBindingTupleRefGet::get() +# 1620| Block 0 +# 1620| v1620_1(void) = EnterFunction : +# 1620| m1620_2(unknown) = AliasedDefinition : +# 1620| m1620_3(unknown) = InitializeNonLocal : +# 1620| m1620_4(unknown) = Chi : total:m1620_2, partial:m1620_3 +# 1620| r1620_5(glval) = VariableAddress[#this] : +# 1620| m1620_6(glval) = InitializeParameter[#this] : &:r1620_5 +# 1620| r1620_7(glval) = Load[#this] : &:r1620_5, m1620_6 +# 1620| m1620_8(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1620_7 +# 1621| r1621_1(glval) = VariableAddress[#return] : +# 1621| r1621_2(glval) = VariableAddress[#this] : +# 1621| r1621_3(StructuredBindingTupleRefGet *) = Load[#this] : &:r1621_2, m1620_6 +# 1621| r1621_4(glval) = FieldAddress[d] : r1621_3 +#-----| r0_1(double &) = CopyValue : r1621_4 +#-----| m0_2(double &) = Store[#return] : &:r1621_1, r0_1 +# 1620| v1620_9(void) = ReturnIndirection[#this] : &:r1620_7, m1620_8 +# 1620| r1620_10(glval) = VariableAddress[#return] : +# 1620| v1620_11(void) = ReturnValue : &:r1620_10, m0_2 +# 1620| v1620_12(void) = AliasedUse : m1620_3 +# 1620| v1620_13(void) = ExitFunction : -# 1577| std::tuple_element::type StructuredBindingTupleRefGet::get() -# 1577| Block 0 -# 1577| v1577_1(void) = EnterFunction : -# 1577| m1577_2(unknown) = AliasedDefinition : -# 1577| m1577_3(unknown) = InitializeNonLocal : -# 1577| m1577_4(unknown) = Chi : total:m1577_2, partial:m1577_3 -# 1577| r1577_5(glval) = VariableAddress[#this] : -# 1577| m1577_6(glval) = InitializeParameter[#this] : &:r1577_5 -# 1577| r1577_7(glval) = Load[#this] : &:r1577_5, m1577_6 -# 1577| m1577_8(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1577_7 -# 1578| r1578_1(glval) = VariableAddress[#return] : -# 1578| r1578_2(glval) = VariableAddress[#this] : -# 1578| r1578_3(StructuredBindingTupleRefGet *) = Load[#this] : &:r1578_2, m1577_6 -# 1578| r1578_4(glval) = FieldAddress[r] : r1578_3 -# 1578| r1578_5(int &) = Load[?] : &:r1578_4, ~m1577_8 -# 1578| r1578_6(glval) = CopyValue : r1578_5 -# 1578| r1578_7(int &) = CopyValue : r1578_6 -# 1578| m1578_8(int &) = Store[#return] : &:r1578_1, r1578_7 -# 1577| v1577_9(void) = ReturnIndirection[#this] : &:r1577_7, m1577_8 -# 1577| r1577_10(glval) = VariableAddress[#return] : -# 1577| v1577_11(void) = ReturnValue : &:r1577_10, m1578_8 -# 1577| v1577_12(void) = AliasedUse : m1577_3 -# 1577| v1577_13(void) = ExitFunction : +# 1624| std::tuple_element::type StructuredBindingTupleRefGet::get() +# 1624| Block 0 +# 1624| v1624_1(void) = EnterFunction : +# 1624| m1624_2(unknown) = AliasedDefinition : +# 1624| m1624_3(unknown) = InitializeNonLocal : +# 1624| m1624_4(unknown) = Chi : total:m1624_2, partial:m1624_3 +# 1624| r1624_5(glval) = VariableAddress[#this] : +# 1624| m1624_6(glval) = InitializeParameter[#this] : &:r1624_5 +# 1624| r1624_7(glval) = Load[#this] : &:r1624_5, m1624_6 +# 1624| m1624_8(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1624_7 +# 1625| r1625_1(glval) = VariableAddress[#return] : +# 1625| r1625_2(glval) = VariableAddress[#this] : +# 1625| r1625_3(StructuredBindingTupleRefGet *) = Load[#this] : &:r1625_2, m1624_6 +# 1625| r1625_4(glval) = FieldAddress[r] : r1625_3 +# 1625| r1625_5(int &) = Load[?] : &:r1625_4, ~m1624_8 +# 1625| r1625_6(glval) = CopyValue : r1625_5 +# 1625| r1625_7(int &) = CopyValue : r1625_6 +# 1625| m1625_8(int &) = Store[#return] : &:r1625_1, r1625_7 +# 1624| v1624_9(void) = ReturnIndirection[#this] : &:r1624_7, m1624_8 +# 1624| r1624_10(glval) = VariableAddress[#return] : +# 1624| v1624_11(void) = ReturnValue : &:r1624_10, m1625_8 +# 1624| v1624_12(void) = AliasedUse : m1624_3 +# 1624| v1624_13(void) = ExitFunction : -# 1581| void tuple_structured_binding_ref_get() -# 1581| Block 0 -# 1581| v1581_1(void) = EnterFunction : -# 1581| m1581_2(unknown) = AliasedDefinition : -# 1581| m1581_3(unknown) = InitializeNonLocal : -# 1581| m1581_4(unknown) = Chi : total:m1581_2, partial:m1581_3 -# 1582| r1582_1(glval) = VariableAddress[t] : -# 1582| m1582_2(StructuredBindingTupleRefGet) = Uninitialized[t] : &:r1582_1 -# 1582| r1582_3(glval) = FunctionAddress[StructuredBindingTupleRefGet] : -# 1582| v1582_4(void) = Call[StructuredBindingTupleRefGet] : func:r1582_3, this:r1582_1 -# 1582| m1582_5(unknown) = ^CallSideEffect : ~m1581_4 -# 1582| m1582_6(unknown) = Chi : total:m1581_4, partial:m1582_5 -# 1582| m1582_7(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1582_1 -# 1582| m1582_8(StructuredBindingTupleRefGet) = Chi : total:m1582_2, partial:m1582_7 -# 1585| r1585_1(glval) = VariableAddress[(unnamed local variable)] : -# 1585| r1585_2(glval) = VariableAddress[t] : -# 1585| r1585_3(StructuredBindingTupleRefGet) = Load[t] : &:r1585_2, m1582_8 -# 1585| m1585_4(StructuredBindingTupleRefGet) = Store[(unnamed local variable)] : &:r1585_1, r1585_3 -# 1585| r1585_5(glval) = VariableAddress[i] : -# 1585| r1585_6(glval) = VariableAddress[(unnamed local variable)] : -# 1585| r1585_7(glval) = FunctionAddress[get] : -# 1585| r1585_8(int &) = Call[get] : func:r1585_7, this:r1585_6 -# 1585| m1585_9(unknown) = ^CallSideEffect : ~m1582_6 -# 1585| m1585_10(unknown) = Chi : total:m1582_6, partial:m1585_9 -# 1585| v1585_11(void) = ^IndirectReadSideEffect[-1] : &:r1585_6, m1585_4 -# 1585| m1585_12(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1585_6 -# 1585| m1585_13(StructuredBindingTupleRefGet) = Chi : total:m1585_4, partial:m1585_12 -# 1585| r1585_14(glval) = CopyValue : r1585_8 -# 1585| r1585_15(int &) = CopyValue : r1585_14 -# 1585| m1585_16(int &) = Store[i] : &:r1585_5, r1585_15 -# 1585| r1585_17(glval) = VariableAddress[d] : -# 1585| r1585_18(glval) = VariableAddress[(unnamed local variable)] : -# 1585| r1585_19(glval) = FunctionAddress[get] : -# 1585| r1585_20(double &) = Call[get] : func:r1585_19, this:r1585_18 -# 1585| m1585_21(unknown) = ^CallSideEffect : ~m1585_10 -# 1585| m1585_22(unknown) = Chi : total:m1585_10, partial:m1585_21 -# 1585| v1585_23(void) = ^IndirectReadSideEffect[-1] : &:r1585_18, m1585_13 -# 1585| m1585_24(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1585_18 -# 1585| m1585_25(StructuredBindingTupleRefGet) = Chi : total:m1585_13, partial:m1585_24 -# 1585| r1585_26(glval) = CopyValue : r1585_20 -# 1585| r1585_27(double &) = CopyValue : r1585_26 -# 1585| m1585_28(double &) = Store[d] : &:r1585_17, r1585_27 -# 1585| r1585_29(glval) = VariableAddress[r] : -# 1585| r1585_30(glval) = VariableAddress[(unnamed local variable)] : -# 1585| r1585_31(glval) = FunctionAddress[get] : -# 1585| r1585_32(int &) = Call[get] : func:r1585_31, this:r1585_30 -# 1585| m1585_33(unknown) = ^CallSideEffect : ~m1585_22 -# 1585| m1585_34(unknown) = Chi : total:m1585_22, partial:m1585_33 -# 1585| v1585_35(void) = ^IndirectReadSideEffect[-1] : &:r1585_30, m1585_25 -# 1585| m1585_36(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1585_30 -# 1585| m1585_37(StructuredBindingTupleRefGet) = Chi : total:m1585_25, partial:m1585_36 -# 1585| r1585_38(glval) = CopyValue : r1585_32 -# 1585| r1585_39(int &) = CopyValue : r1585_38 -# 1585| m1585_40(int &) = Store[r] : &:r1585_29, r1585_39 -# 1586| r1586_1(double) = Constant[4.0] : -# 1586| r1586_2(glval) = VariableAddress[d] : -# 1586| r1586_3(double &) = Load[d] : &:r1586_2, m1585_28 -# 1586| r1586_4(glval) = CopyValue : r1586_3 -# 1586| m1586_5(double) = Store[?] : &:r1586_4, r1586_1 -# 1586| m1586_6(StructuredBindingTupleRefGet) = Chi : total:m1585_37, partial:m1586_5 -# 1587| r1587_1(glval) = VariableAddress[rd] : -# 1587| r1587_2(glval) = VariableAddress[d] : -# 1587| r1587_3(double &) = Load[d] : &:r1587_2, m1585_28 -# 1587| r1587_4(glval) = CopyValue : r1587_3 -# 1587| r1587_5(double &) = CopyValue : r1587_4 -# 1587| m1587_6(double &) = Store[rd] : &:r1587_1, r1587_5 -# 1588| r1588_1(glval) = VariableAddress[v] : -# 1588| r1588_2(glval) = VariableAddress[i] : -# 1588| r1588_3(int &) = Load[i] : &:r1588_2, m1585_16 -# 1588| r1588_4(int) = Load[?] : &:r1588_3, ~m1585_37 -# 1588| m1588_5(int) = Store[v] : &:r1588_1, r1588_4 -# 1589| r1589_1(int) = Constant[5] : -# 1589| r1589_2(glval) = VariableAddress[r] : -# 1589| r1589_3(int &) = Load[r] : &:r1589_2, m1585_40 -# 1589| r1589_4(glval) = CopyValue : r1589_3 -# 1589| m1589_5(int) = Store[?] : &:r1589_4, r1589_1 -# 1589| m1589_6(unknown) = Chi : total:m1585_34, partial:m1589_5 -# 1590| r1590_1(glval) = VariableAddress[rr] : -# 1590| r1590_2(glval) = VariableAddress[r] : -# 1590| r1590_3(int &) = Load[r] : &:r1590_2, m1585_40 -# 1590| r1590_4(glval) = CopyValue : r1590_3 -# 1590| r1590_5(int &) = CopyValue : r1590_4 -# 1590| m1590_6(int &) = Store[rr] : &:r1590_1, r1590_5 -# 1591| r1591_1(glval) = VariableAddress[w] : -# 1591| r1591_2(glval) = VariableAddress[r] : -# 1591| r1591_3(int &) = Load[r] : &:r1591_2, m1585_40 -# 1591| r1591_4(int) = Load[?] : &:r1591_3, ~m1589_6 -# 1591| m1591_5(int) = Store[w] : &:r1591_1, r1591_4 -# 1595| r1595_1(glval) = VariableAddress[unnamed_local_variable] : -# 1595| r1595_2(glval) = VariableAddress[t] : -# 1595| r1595_3(StructuredBindingTupleRefGet) = Load[t] : &:r1595_2, m1582_8 -# 1595| m1595_4(StructuredBindingTupleRefGet) = Store[unnamed_local_variable] : &:r1595_1, r1595_3 -# 1596| r1596_1(glval) = VariableAddress[i] : -# 1596| r1596_2(glval) = VariableAddress[unnamed_local_variable] : -# 1596| r1596_3(glval) = FunctionAddress[get] : -# 1596| r1596_4(int &) = Call[get] : func:r1596_3, this:r1596_2 -# 1596| m1596_5(unknown) = ^CallSideEffect : ~m1589_6 -# 1596| m1596_6(unknown) = Chi : total:m1589_6, partial:m1596_5 -# 1596| v1596_7(void) = ^IndirectReadSideEffect[-1] : &:r1596_2, m1595_4 -# 1596| m1596_8(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1596_2 -# 1596| m1596_9(StructuredBindingTupleRefGet) = Chi : total:m1595_4, partial:m1596_8 -# 1596| r1596_10(glval) = CopyValue : r1596_4 -# 1596| r1596_11(int &) = CopyValue : r1596_10 -# 1596| m1596_12(int &) = Store[i] : &:r1596_1, r1596_11 -# 1597| r1597_1(glval) = VariableAddress[d] : -# 1597| r1597_2(glval) = VariableAddress[unnamed_local_variable] : -# 1597| r1597_3(glval) = FunctionAddress[get] : -# 1597| r1597_4(double &) = Call[get] : func:r1597_3, this:r1597_2 -# 1597| m1597_5(unknown) = ^CallSideEffect : ~m1596_6 -# 1597| m1597_6(unknown) = Chi : total:m1596_6, partial:m1597_5 -# 1597| v1597_7(void) = ^IndirectReadSideEffect[-1] : &:r1597_2, m1596_9 -# 1597| m1597_8(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1597_2 -# 1597| m1597_9(StructuredBindingTupleRefGet) = Chi : total:m1596_9, partial:m1597_8 -# 1597| r1597_10(glval) = CopyValue : r1597_4 -# 1597| r1597_11(double &) = CopyValue : r1597_10 -# 1597| m1597_12(double &) = Store[d] : &:r1597_1, r1597_11 -# 1598| r1598_1(glval) = VariableAddress[r] : -# 1598| r1598_2(glval) = VariableAddress[unnamed_local_variable] : -# 1598| r1598_3(glval) = FunctionAddress[get] : -# 1598| r1598_4(int &) = Call[get] : func:r1598_3, this:r1598_2 -# 1598| m1598_5(unknown) = ^CallSideEffect : ~m1597_6 -# 1598| m1598_6(unknown) = Chi : total:m1597_6, partial:m1598_5 -# 1598| v1598_7(void) = ^IndirectReadSideEffect[-1] : &:r1598_2, m1597_9 -# 1598| m1598_8(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1598_2 -# 1598| m1598_9(StructuredBindingTupleRefGet) = Chi : total:m1597_9, partial:m1598_8 -# 1598| r1598_10(glval) = CopyValue : r1598_4 -# 1598| r1598_11(int &) = CopyValue : r1598_10 -# 1598| m1598_12(int &) = Store[r] : &:r1598_1, r1598_11 -# 1599| r1599_1(double) = Constant[4.0] : -# 1599| r1599_2(glval) = VariableAddress[d] : -# 1599| r1599_3(double &) = Load[d] : &:r1599_2, m1597_12 -# 1599| r1599_4(glval) = CopyValue : r1599_3 -# 1599| m1599_5(double) = Store[?] : &:r1599_4, r1599_1 -# 1599| m1599_6(StructuredBindingTupleRefGet) = Chi : total:m1598_9, partial:m1599_5 -# 1600| r1600_1(glval) = VariableAddress[rd] : -# 1600| r1600_2(glval) = VariableAddress[d] : -# 1600| r1600_3(double &) = Load[d] : &:r1600_2, m1597_12 -# 1600| r1600_4(glval) = CopyValue : r1600_3 -# 1600| r1600_5(double &) = CopyValue : r1600_4 -# 1600| m1600_6(double &) = Store[rd] : &:r1600_1, r1600_5 -# 1601| r1601_1(glval) = VariableAddress[v] : -# 1601| r1601_2(glval) = VariableAddress[i] : -# 1601| r1601_3(int &) = Load[i] : &:r1601_2, m1596_12 -# 1601| r1601_4(int) = Load[?] : &:r1601_3, ~m1598_9 -# 1601| m1601_5(int) = Store[v] : &:r1601_1, r1601_4 -# 1602| r1602_1(int) = Constant[5] : -# 1602| r1602_2(glval) = VariableAddress[r] : -# 1602| r1602_3(int &) = Load[r] : &:r1602_2, m1598_12 -# 1602| r1602_4(glval) = CopyValue : r1602_3 -# 1602| m1602_5(int) = Store[?] : &:r1602_4, r1602_1 -# 1602| m1602_6(unknown) = Chi : total:m1598_6, partial:m1602_5 -# 1603| r1603_1(glval) = VariableAddress[rr] : -# 1603| r1603_2(glval) = VariableAddress[r] : -# 1603| r1603_3(int &) = Load[r] : &:r1603_2, m1598_12 -# 1603| r1603_4(glval) = CopyValue : r1603_3 -# 1603| r1603_5(int &) = CopyValue : r1603_4 -# 1603| m1603_6(int &) = Store[rr] : &:r1603_1, r1603_5 -# 1604| r1604_1(glval) = VariableAddress[w] : -# 1604| r1604_2(glval) = VariableAddress[r] : -# 1604| r1604_3(int &) = Load[r] : &:r1604_2, m1598_12 -# 1604| r1604_4(int) = Load[?] : &:r1604_3, ~m1602_6 -# 1604| m1604_5(int) = Store[w] : &:r1604_1, r1604_4 -# 1606| v1606_1(void) = NoOp : -# 1581| v1581_5(void) = ReturnVoid : -# 1581| v1581_6(void) = AliasedUse : ~m1602_6 -# 1581| v1581_7(void) = ExitFunction : +# 1628| void tuple_structured_binding_ref_get() +# 1628| Block 0 +# 1628| v1628_1(void) = EnterFunction : +# 1628| m1628_2(unknown) = AliasedDefinition : +# 1628| m1628_3(unknown) = InitializeNonLocal : +# 1628| m1628_4(unknown) = Chi : total:m1628_2, partial:m1628_3 +# 1629| r1629_1(glval) = VariableAddress[t] : +# 1629| m1629_2(StructuredBindingTupleRefGet) = Uninitialized[t] : &:r1629_1 +# 1629| r1629_3(glval) = FunctionAddress[StructuredBindingTupleRefGet] : +# 1629| v1629_4(void) = Call[StructuredBindingTupleRefGet] : func:r1629_3, this:r1629_1 +# 1629| m1629_5(unknown) = ^CallSideEffect : ~m1628_4 +# 1629| m1629_6(unknown) = Chi : total:m1628_4, partial:m1629_5 +# 1629| m1629_7(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1629_1 +# 1629| m1629_8(StructuredBindingTupleRefGet) = Chi : total:m1629_2, partial:m1629_7 +# 1632| r1632_1(glval) = VariableAddress[(unnamed local variable)] : +# 1632| r1632_2(glval) = VariableAddress[t] : +# 1632| r1632_3(StructuredBindingTupleRefGet) = Load[t] : &:r1632_2, m1629_8 +# 1632| m1632_4(StructuredBindingTupleRefGet) = Store[(unnamed local variable)] : &:r1632_1, r1632_3 +# 1632| r1632_5(glval) = VariableAddress[i] : +# 1632| r1632_6(glval) = VariableAddress[(unnamed local variable)] : +# 1632| r1632_7(glval) = FunctionAddress[get] : +# 1632| r1632_8(int &) = Call[get] : func:r1632_7, this:r1632_6 +# 1632| m1632_9(unknown) = ^CallSideEffect : ~m1629_6 +# 1632| m1632_10(unknown) = Chi : total:m1629_6, partial:m1632_9 +# 1632| v1632_11(void) = ^IndirectReadSideEffect[-1] : &:r1632_6, m1632_4 +# 1632| m1632_12(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1632_6 +# 1632| m1632_13(StructuredBindingTupleRefGet) = Chi : total:m1632_4, partial:m1632_12 +# 1632| r1632_14(glval) = CopyValue : r1632_8 +# 1632| r1632_15(int &) = CopyValue : r1632_14 +# 1632| m1632_16(int &) = Store[i] : &:r1632_5, r1632_15 +# 1632| r1632_17(glval) = VariableAddress[d] : +# 1632| r1632_18(glval) = VariableAddress[(unnamed local variable)] : +# 1632| r1632_19(glval) = FunctionAddress[get] : +# 1632| r1632_20(double &) = Call[get] : func:r1632_19, this:r1632_18 +# 1632| m1632_21(unknown) = ^CallSideEffect : ~m1632_10 +# 1632| m1632_22(unknown) = Chi : total:m1632_10, partial:m1632_21 +# 1632| v1632_23(void) = ^IndirectReadSideEffect[-1] : &:r1632_18, m1632_13 +# 1632| m1632_24(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1632_18 +# 1632| m1632_25(StructuredBindingTupleRefGet) = Chi : total:m1632_13, partial:m1632_24 +# 1632| r1632_26(glval) = CopyValue : r1632_20 +# 1632| r1632_27(double &) = CopyValue : r1632_26 +# 1632| m1632_28(double &) = Store[d] : &:r1632_17, r1632_27 +# 1632| r1632_29(glval) = VariableAddress[r] : +# 1632| r1632_30(glval) = VariableAddress[(unnamed local variable)] : +# 1632| r1632_31(glval) = FunctionAddress[get] : +# 1632| r1632_32(int &) = Call[get] : func:r1632_31, this:r1632_30 +# 1632| m1632_33(unknown) = ^CallSideEffect : ~m1632_22 +# 1632| m1632_34(unknown) = Chi : total:m1632_22, partial:m1632_33 +# 1632| v1632_35(void) = ^IndirectReadSideEffect[-1] : &:r1632_30, m1632_25 +# 1632| m1632_36(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1632_30 +# 1632| m1632_37(StructuredBindingTupleRefGet) = Chi : total:m1632_25, partial:m1632_36 +# 1632| r1632_38(glval) = CopyValue : r1632_32 +# 1632| r1632_39(int &) = CopyValue : r1632_38 +# 1632| m1632_40(int &) = Store[r] : &:r1632_29, r1632_39 +# 1633| r1633_1(double) = Constant[4.0] : +# 1633| r1633_2(glval) = VariableAddress[d] : +# 1633| r1633_3(double &) = Load[d] : &:r1633_2, m1632_28 +# 1633| r1633_4(glval) = CopyValue : r1633_3 +# 1633| m1633_5(double) = Store[?] : &:r1633_4, r1633_1 +# 1633| m1633_6(StructuredBindingTupleRefGet) = Chi : total:m1632_37, partial:m1633_5 +# 1634| r1634_1(glval) = VariableAddress[rd] : +# 1634| r1634_2(glval) = VariableAddress[d] : +# 1634| r1634_3(double &) = Load[d] : &:r1634_2, m1632_28 +# 1634| r1634_4(glval) = CopyValue : r1634_3 +# 1634| r1634_5(double &) = CopyValue : r1634_4 +# 1634| m1634_6(double &) = Store[rd] : &:r1634_1, r1634_5 +# 1635| r1635_1(glval) = VariableAddress[v] : +# 1635| r1635_2(glval) = VariableAddress[i] : +# 1635| r1635_3(int &) = Load[i] : &:r1635_2, m1632_16 +# 1635| r1635_4(int) = Load[?] : &:r1635_3, ~m1632_37 +# 1635| m1635_5(int) = Store[v] : &:r1635_1, r1635_4 +# 1636| r1636_1(int) = Constant[5] : +# 1636| r1636_2(glval) = VariableAddress[r] : +# 1636| r1636_3(int &) = Load[r] : &:r1636_2, m1632_40 +# 1636| r1636_4(glval) = CopyValue : r1636_3 +# 1636| m1636_5(int) = Store[?] : &:r1636_4, r1636_1 +# 1636| m1636_6(unknown) = Chi : total:m1632_34, partial:m1636_5 +# 1637| r1637_1(glval) = VariableAddress[rr] : +# 1637| r1637_2(glval) = VariableAddress[r] : +# 1637| r1637_3(int &) = Load[r] : &:r1637_2, m1632_40 +# 1637| r1637_4(glval) = CopyValue : r1637_3 +# 1637| r1637_5(int &) = CopyValue : r1637_4 +# 1637| m1637_6(int &) = Store[rr] : &:r1637_1, r1637_5 +# 1638| r1638_1(glval) = VariableAddress[w] : +# 1638| r1638_2(glval) = VariableAddress[r] : +# 1638| r1638_3(int &) = Load[r] : &:r1638_2, m1632_40 +# 1638| r1638_4(int) = Load[?] : &:r1638_3, ~m1636_6 +# 1638| m1638_5(int) = Store[w] : &:r1638_1, r1638_4 +# 1642| r1642_1(glval) = VariableAddress[unnamed_local_variable] : +# 1642| r1642_2(glval) = VariableAddress[t] : +# 1642| r1642_3(StructuredBindingTupleRefGet) = Load[t] : &:r1642_2, m1629_8 +# 1642| m1642_4(StructuredBindingTupleRefGet) = Store[unnamed_local_variable] : &:r1642_1, r1642_3 +# 1643| r1643_1(glval) = VariableAddress[i] : +# 1643| r1643_2(glval) = VariableAddress[unnamed_local_variable] : +# 1643| r1643_3(glval) = FunctionAddress[get] : +# 1643| r1643_4(int &) = Call[get] : func:r1643_3, this:r1643_2 +# 1643| m1643_5(unknown) = ^CallSideEffect : ~m1636_6 +# 1643| m1643_6(unknown) = Chi : total:m1636_6, partial:m1643_5 +# 1643| v1643_7(void) = ^IndirectReadSideEffect[-1] : &:r1643_2, m1642_4 +# 1643| m1643_8(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1643_2 +# 1643| m1643_9(StructuredBindingTupleRefGet) = Chi : total:m1642_4, partial:m1643_8 +# 1643| r1643_10(glval) = CopyValue : r1643_4 +# 1643| r1643_11(int &) = CopyValue : r1643_10 +# 1643| m1643_12(int &) = Store[i] : &:r1643_1, r1643_11 +# 1644| r1644_1(glval) = VariableAddress[d] : +# 1644| r1644_2(glval) = VariableAddress[unnamed_local_variable] : +# 1644| r1644_3(glval) = FunctionAddress[get] : +# 1644| r1644_4(double &) = Call[get] : func:r1644_3, this:r1644_2 +# 1644| m1644_5(unknown) = ^CallSideEffect : ~m1643_6 +# 1644| m1644_6(unknown) = Chi : total:m1643_6, partial:m1644_5 +# 1644| v1644_7(void) = ^IndirectReadSideEffect[-1] : &:r1644_2, m1643_9 +# 1644| m1644_8(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1644_2 +# 1644| m1644_9(StructuredBindingTupleRefGet) = Chi : total:m1643_9, partial:m1644_8 +# 1644| r1644_10(glval) = CopyValue : r1644_4 +# 1644| r1644_11(double &) = CopyValue : r1644_10 +# 1644| m1644_12(double &) = Store[d] : &:r1644_1, r1644_11 +# 1645| r1645_1(glval) = VariableAddress[r] : +# 1645| r1645_2(glval) = VariableAddress[unnamed_local_variable] : +# 1645| r1645_3(glval) = FunctionAddress[get] : +# 1645| r1645_4(int &) = Call[get] : func:r1645_3, this:r1645_2 +# 1645| m1645_5(unknown) = ^CallSideEffect : ~m1644_6 +# 1645| m1645_6(unknown) = Chi : total:m1644_6, partial:m1645_5 +# 1645| v1645_7(void) = ^IndirectReadSideEffect[-1] : &:r1645_2, m1644_9 +# 1645| m1645_8(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1645_2 +# 1645| m1645_9(StructuredBindingTupleRefGet) = Chi : total:m1644_9, partial:m1645_8 +# 1645| r1645_10(glval) = CopyValue : r1645_4 +# 1645| r1645_11(int &) = CopyValue : r1645_10 +# 1645| m1645_12(int &) = Store[r] : &:r1645_1, r1645_11 +# 1646| r1646_1(double) = Constant[4.0] : +# 1646| r1646_2(glval) = VariableAddress[d] : +# 1646| r1646_3(double &) = Load[d] : &:r1646_2, m1644_12 +# 1646| r1646_4(glval) = CopyValue : r1646_3 +# 1646| m1646_5(double) = Store[?] : &:r1646_4, r1646_1 +# 1646| m1646_6(StructuredBindingTupleRefGet) = Chi : total:m1645_9, partial:m1646_5 +# 1647| r1647_1(glval) = VariableAddress[rd] : +# 1647| r1647_2(glval) = VariableAddress[d] : +# 1647| r1647_3(double &) = Load[d] : &:r1647_2, m1644_12 +# 1647| r1647_4(glval) = CopyValue : r1647_3 +# 1647| r1647_5(double &) = CopyValue : r1647_4 +# 1647| m1647_6(double &) = Store[rd] : &:r1647_1, r1647_5 +# 1648| r1648_1(glval) = VariableAddress[v] : +# 1648| r1648_2(glval) = VariableAddress[i] : +# 1648| r1648_3(int &) = Load[i] : &:r1648_2, m1643_12 +# 1648| r1648_4(int) = Load[?] : &:r1648_3, ~m1645_9 +# 1648| m1648_5(int) = Store[v] : &:r1648_1, r1648_4 +# 1649| r1649_1(int) = Constant[5] : +# 1649| r1649_2(glval) = VariableAddress[r] : +# 1649| r1649_3(int &) = Load[r] : &:r1649_2, m1645_12 +# 1649| r1649_4(glval) = CopyValue : r1649_3 +# 1649| m1649_5(int) = Store[?] : &:r1649_4, r1649_1 +# 1649| m1649_6(unknown) = Chi : total:m1645_6, partial:m1649_5 +# 1650| r1650_1(glval) = VariableAddress[rr] : +# 1650| r1650_2(glval) = VariableAddress[r] : +# 1650| r1650_3(int &) = Load[r] : &:r1650_2, m1645_12 +# 1650| r1650_4(glval) = CopyValue : r1650_3 +# 1650| r1650_5(int &) = CopyValue : r1650_4 +# 1650| m1650_6(int &) = Store[rr] : &:r1650_1, r1650_5 +# 1651| r1651_1(glval) = VariableAddress[w] : +# 1651| r1651_2(glval) = VariableAddress[r] : +# 1651| r1651_3(int &) = Load[r] : &:r1651_2, m1645_12 +# 1651| r1651_4(int) = Load[?] : &:r1651_3, ~m1649_6 +# 1651| m1651_5(int) = Store[w] : &:r1651_1, r1651_4 +# 1653| v1653_1(void) = NoOp : +# 1628| v1628_5(void) = ReturnVoid : +# 1628| v1628_6(void) = AliasedUse : ~m1649_6 +# 1628| v1628_7(void) = ExitFunction : -# 1608| void StructuredBindingTupleNoRefGet::StructuredBindingTupleNoRefGet() -# 1608| Block 0 -# 1608| v1608_1(void) = EnterFunction : -# 1608| m1608_2(unknown) = AliasedDefinition : -# 1608| m1608_3(unknown) = InitializeNonLocal : -# 1608| m1608_4(unknown) = Chi : total:m1608_2, partial:m1608_3 -# 1608| r1608_5(glval) = VariableAddress[#this] : -# 1608| m1608_6(glval) = InitializeParameter[#this] : &:r1608_5 -# 1608| r1608_7(glval) = Load[#this] : &:r1608_5, m1608_6 -# 1608| m1608_8(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1608_7 -# 1608| v1608_9(void) = NoOp : -# 1608| v1608_10(void) = ReturnIndirection[#this] : &:r1608_7, m1608_8 -# 1608| v1608_11(void) = ReturnVoid : -# 1608| v1608_12(void) = AliasedUse : m1608_3 -# 1608| v1608_13(void) = ExitFunction : +# 1655| void StructuredBindingTupleNoRefGet::StructuredBindingTupleNoRefGet() +# 1655| Block 0 +# 1655| v1655_1(void) = EnterFunction : +# 1655| m1655_2(unknown) = AliasedDefinition : +# 1655| m1655_3(unknown) = InitializeNonLocal : +# 1655| m1655_4(unknown) = Chi : total:m1655_2, partial:m1655_3 +# 1655| r1655_5(glval) = VariableAddress[#this] : +# 1655| m1655_6(glval) = InitializeParameter[#this] : &:r1655_5 +# 1655| r1655_7(glval) = Load[#this] : &:r1655_5, m1655_6 +# 1655| m1655_8(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1655_7 +# 1655| v1655_9(void) = NoOp : +# 1655| v1655_10(void) = ReturnIndirection[#this] : &:r1655_7, m1655_8 +# 1655| v1655_11(void) = ReturnVoid : +# 1655| v1655_12(void) = AliasedUse : m1655_3 +# 1655| v1655_13(void) = ExitFunction : -# 1635| std::tuple_element::type StructuredBindingTupleNoRefGet::get() -# 1635| Block 0 -# 1635| v1635_1(void) = EnterFunction : -# 1635| m1635_2(unknown) = AliasedDefinition : -# 1635| m1635_3(unknown) = InitializeNonLocal : -# 1635| m1635_4(unknown) = Chi : total:m1635_2, partial:m1635_3 -# 1635| r1635_5(glval) = VariableAddress[#this] : -# 1635| m1635_6(glval) = InitializeParameter[#this] : &:r1635_5 -# 1635| r1635_7(glval) = Load[#this] : &:r1635_5, m1635_6 -# 1635| m1635_8(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1635_7 -# 1636| r1636_1(glval) = VariableAddress[#return] : -# 1636| r1636_2(glval) = VariableAddress[#this] : -# 1636| r1636_3(StructuredBindingTupleNoRefGet *) = Load[#this] : &:r1636_2, m1635_6 -# 1636| r1636_4(glval) = FieldAddress[i] : r1636_3 -# 1636| r1636_5(int) = Load[?] : &:r1636_4, ~m1635_8 -# 1636| m1636_6(int) = Store[#return] : &:r1636_1, r1636_5 -# 1635| v1635_9(void) = ReturnIndirection[#this] : &:r1635_7, m1635_8 -# 1635| r1635_10(glval) = VariableAddress[#return] : -# 1635| v1635_11(void) = ReturnValue : &:r1635_10, m1636_6 -# 1635| v1635_12(void) = AliasedUse : m1635_3 -# 1635| v1635_13(void) = ExitFunction : +# 1682| std::tuple_element::type StructuredBindingTupleNoRefGet::get() +# 1682| Block 0 +# 1682| v1682_1(void) = EnterFunction : +# 1682| m1682_2(unknown) = AliasedDefinition : +# 1682| m1682_3(unknown) = InitializeNonLocal : +# 1682| m1682_4(unknown) = Chi : total:m1682_2, partial:m1682_3 +# 1682| r1682_5(glval) = VariableAddress[#this] : +# 1682| m1682_6(glval) = InitializeParameter[#this] : &:r1682_5 +# 1682| r1682_7(glval) = Load[#this] : &:r1682_5, m1682_6 +# 1682| m1682_8(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1682_7 +# 1683| r1683_1(glval) = VariableAddress[#return] : +# 1683| r1683_2(glval) = VariableAddress[#this] : +# 1683| r1683_3(StructuredBindingTupleNoRefGet *) = Load[#this] : &:r1683_2, m1682_6 +# 1683| r1683_4(glval) = FieldAddress[i] : r1683_3 +# 1683| r1683_5(int) = Load[?] : &:r1683_4, ~m1682_8 +# 1683| m1683_6(int) = Store[#return] : &:r1683_1, r1683_5 +# 1682| v1682_9(void) = ReturnIndirection[#this] : &:r1682_7, m1682_8 +# 1682| r1682_10(glval) = VariableAddress[#return] : +# 1682| v1682_11(void) = ReturnValue : &:r1682_10, m1683_6 +# 1682| v1682_12(void) = AliasedUse : m1682_3 +# 1682| v1682_13(void) = ExitFunction : -# 1639| std::tuple_element::type StructuredBindingTupleNoRefGet::get() -# 1639| Block 0 -# 1639| v1639_1(void) = EnterFunction : -# 1639| m1639_2(unknown) = AliasedDefinition : -# 1639| m1639_3(unknown) = InitializeNonLocal : -# 1639| m1639_4(unknown) = Chi : total:m1639_2, partial:m1639_3 -# 1639| r1639_5(glval) = VariableAddress[#this] : -# 1639| m1639_6(glval) = InitializeParameter[#this] : &:r1639_5 -# 1639| r1639_7(glval) = Load[#this] : &:r1639_5, m1639_6 -# 1639| m1639_8(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1639_7 -# 1640| r1640_1(glval) = VariableAddress[#return] : -# 1640| r1640_2(glval) = VariableAddress[#this] : -# 1640| r1640_3(StructuredBindingTupleNoRefGet *) = Load[#this] : &:r1640_2, m1639_6 -# 1640| r1640_4(glval) = FieldAddress[r] : r1640_3 -# 1640| r1640_5(int &) = Load[?] : &:r1640_4, ~m1639_8 -# 1640| r1640_6(glval) = CopyValue : r1640_5 -# 1640| r1640_7(int &) = CopyValue : r1640_6 -# 1640| m1640_8(int &) = Store[#return] : &:r1640_1, r1640_7 -# 1639| v1639_9(void) = ReturnIndirection[#this] : &:r1639_7, m1639_8 -# 1639| r1639_10(glval) = VariableAddress[#return] : -# 1639| v1639_11(void) = ReturnValue : &:r1639_10, m1640_8 -# 1639| v1639_12(void) = AliasedUse : m1639_3 -# 1639| v1639_13(void) = ExitFunction : +# 1686| std::tuple_element::type StructuredBindingTupleNoRefGet::get() +# 1686| Block 0 +# 1686| v1686_1(void) = EnterFunction : +# 1686| m1686_2(unknown) = AliasedDefinition : +# 1686| m1686_3(unknown) = InitializeNonLocal : +# 1686| m1686_4(unknown) = Chi : total:m1686_2, partial:m1686_3 +# 1686| r1686_5(glval) = VariableAddress[#this] : +# 1686| m1686_6(glval) = InitializeParameter[#this] : &:r1686_5 +# 1686| r1686_7(glval) = Load[#this] : &:r1686_5, m1686_6 +# 1686| m1686_8(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1686_7 +# 1687| r1687_1(glval) = VariableAddress[#return] : +# 1687| r1687_2(glval) = VariableAddress[#this] : +# 1687| r1687_3(StructuredBindingTupleNoRefGet *) = Load[#this] : &:r1687_2, m1686_6 +# 1687| r1687_4(glval) = FieldAddress[r] : r1687_3 +# 1687| r1687_5(int &) = Load[?] : &:r1687_4, ~m1686_8 +# 1687| r1687_6(glval) = CopyValue : r1687_5 +# 1687| r1687_7(int &) = CopyValue : r1687_6 +# 1687| m1687_8(int &) = Store[#return] : &:r1687_1, r1687_7 +# 1686| v1686_9(void) = ReturnIndirection[#this] : &:r1686_7, m1686_8 +# 1686| r1686_10(glval) = VariableAddress[#return] : +# 1686| v1686_11(void) = ReturnValue : &:r1686_10, m1687_8 +# 1686| v1686_12(void) = AliasedUse : m1686_3 +# 1686| v1686_13(void) = ExitFunction : -# 1643| std::tuple_element::type StructuredBindingTupleNoRefGet::get() -# 1643| Block 0 -# 1643| v1643_1(void) = EnterFunction : -# 1643| m1643_2(unknown) = AliasedDefinition : -# 1643| m1643_3(unknown) = InitializeNonLocal : -# 1643| m1643_4(unknown) = Chi : total:m1643_2, partial:m1643_3 -# 1643| r1643_5(glval) = VariableAddress[#this] : -# 1643| m1643_6(glval) = InitializeParameter[#this] : &:r1643_5 -# 1643| r1643_7(glval) = Load[#this] : &:r1643_5, m1643_6 -# 1643| m1643_8(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1643_7 -# 1644| r1644_1(glval) = VariableAddress[#return] : -# 1644| r1644_2(glval) = VariableAddress[#temp1644:12] : -# 1644| r1644_3(int) = Constant[5] : -# 1644| m1644_4(int) = Store[#temp1644:12] : &:r1644_2, r1644_3 -# 1644| r1644_5(int &) = CopyValue : r1644_2 -# 1644| m1644_6(int &&) = Store[#return] : &:r1644_1, r1644_5 -# 1643| v1643_9(void) = ReturnIndirection[#this] : &:r1643_7, m1643_8 -# 1643| r1643_10(glval) = VariableAddress[#return] : -# 1643| v1643_11(void) = ReturnValue : &:r1643_10, m1644_6 -# 1643| v1643_12(void) = AliasedUse : m1643_3 -# 1643| v1643_13(void) = ExitFunction : +# 1690| std::tuple_element::type StructuredBindingTupleNoRefGet::get() +# 1690| Block 0 +# 1690| v1690_1(void) = EnterFunction : +# 1690| m1690_2(unknown) = AliasedDefinition : +# 1690| m1690_3(unknown) = InitializeNonLocal : +# 1690| m1690_4(unknown) = Chi : total:m1690_2, partial:m1690_3 +# 1690| r1690_5(glval) = VariableAddress[#this] : +# 1690| m1690_6(glval) = InitializeParameter[#this] : &:r1690_5 +# 1690| r1690_7(glval) = Load[#this] : &:r1690_5, m1690_6 +# 1690| m1690_8(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1690_7 +# 1691| r1691_1(glval) = VariableAddress[#return] : +# 1691| r1691_2(glval) = VariableAddress[#temp1691:12] : +# 1691| r1691_3(int) = Constant[5] : +# 1691| m1691_4(int) = Store[#temp1691:12] : &:r1691_2, r1691_3 +# 1691| r1691_5(int &) = CopyValue : r1691_2 +# 1691| m1691_6(int &&) = Store[#return] : &:r1691_1, r1691_5 +# 1690| v1690_9(void) = ReturnIndirection[#this] : &:r1690_7, m1690_8 +# 1690| r1690_10(glval) = VariableAddress[#return] : +# 1690| v1690_11(void) = ReturnValue : &:r1690_10, m1691_6 +# 1690| v1690_12(void) = AliasedUse : m1690_3 +# 1690| v1690_13(void) = ExitFunction : -# 1647| void tuple_structured_binding_no_ref_get() -# 1647| Block 0 -# 1647| v1647_1(void) = EnterFunction : -# 1647| m1647_2(unknown) = AliasedDefinition : -# 1647| m1647_3(unknown) = InitializeNonLocal : -# 1647| m1647_4(unknown) = Chi : total:m1647_2, partial:m1647_3 -# 1648| r1648_1(glval) = VariableAddress[t] : -# 1648| m1648_2(StructuredBindingTupleNoRefGet) = Uninitialized[t] : &:r1648_1 -# 1648| r1648_3(glval) = FunctionAddress[StructuredBindingTupleNoRefGet] : -# 1648| v1648_4(void) = Call[StructuredBindingTupleNoRefGet] : func:r1648_3, this:r1648_1 -# 1648| m1648_5(unknown) = ^CallSideEffect : ~m1647_4 -# 1648| m1648_6(unknown) = Chi : total:m1647_4, partial:m1648_5 -# 1648| m1648_7(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1648_1 -# 1648| m1648_8(StructuredBindingTupleNoRefGet) = Chi : total:m1648_2, partial:m1648_7 -# 1651| r1651_1(glval) = VariableAddress[(unnamed local variable)] : -# 1651| r1651_2(glval) = VariableAddress[t] : -# 1651| r1651_3(StructuredBindingTupleNoRefGet &) = CopyValue : r1651_2 -# 1651| m1651_4(StructuredBindingTupleNoRefGet &) = Store[(unnamed local variable)] : &:r1651_1, r1651_3 -# 1651| r1651_5(glval) = VariableAddress[i] : -# 1651| r1651_6(glval) = VariableAddress[#temp1651:16] : -# 1651| r1651_7(glval) = VariableAddress[(unnamed local variable)] : -# 1651| r1651_8(StructuredBindingTupleNoRefGet &) = Load[(unnamed local variable)] : &:r1651_7, m1651_4 -# 1651| r1651_9(glval) = CopyValue : r1651_8 -# 1651| r1651_10(glval) = FunctionAddress[get] : -# 1651| r1651_11(int) = Call[get] : func:r1651_10, this:r1651_9 -# 1651| m1651_12(unknown) = ^CallSideEffect : ~m1648_6 -# 1651| m1651_13(unknown) = Chi : total:m1648_6, partial:m1651_12 -# 1651| v1651_14(void) = ^IndirectReadSideEffect[-1] : &:r1651_9, m1648_8 -# 1651| m1651_15(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1651_9 -# 1651| m1651_16(StructuredBindingTupleNoRefGet) = Chi : total:m1648_8, partial:m1651_15 -# 1651| m1651_17(int) = Store[#temp1651:16] : &:r1651_6, r1651_11 -# 1651| r1651_18(int &) = CopyValue : r1651_6 -# 1651| m1651_19(int &&) = Store[i] : &:r1651_5, r1651_18 -# 1651| r1651_20(glval) = VariableAddress[r] : -# 1651| r1651_21(glval) = VariableAddress[(unnamed local variable)] : -# 1651| r1651_22(StructuredBindingTupleNoRefGet &) = Load[(unnamed local variable)] : &:r1651_21, m1651_4 -# 1651| r1651_23(glval) = CopyValue : r1651_22 -# 1651| r1651_24(glval) = FunctionAddress[get] : -# 1651| r1651_25(int &) = Call[get] : func:r1651_24, this:r1651_23 -# 1651| m1651_26(unknown) = ^CallSideEffect : ~m1651_13 -# 1651| m1651_27(unknown) = Chi : total:m1651_13, partial:m1651_26 -# 1651| v1651_28(void) = ^IndirectReadSideEffect[-1] : &:r1651_23, m1651_16 -# 1651| m1651_29(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1651_23 -# 1651| m1651_30(StructuredBindingTupleNoRefGet) = Chi : total:m1651_16, partial:m1651_29 -# 1651| r1651_31(glval) = CopyValue : r1651_25 -# 1651| r1651_32(int &) = CopyValue : r1651_31 -# 1651| m1651_33(int &) = Store[r] : &:r1651_20, r1651_32 -# 1651| r1651_34(glval) = VariableAddress[rv] : -# 1651| r1651_35(glval) = VariableAddress[(unnamed local variable)] : -# 1651| r1651_36(StructuredBindingTupleNoRefGet &) = Load[(unnamed local variable)] : &:r1651_35, m1651_4 -# 1651| r1651_37(glval) = CopyValue : r1651_36 -# 1651| r1651_38(glval) = FunctionAddress[get] : -# 1651| r1651_39(int &&) = Call[get] : func:r1651_38, this:r1651_37 -# 1651| m1651_40(unknown) = ^CallSideEffect : ~m1651_27 -# 1651| m1651_41(unknown) = Chi : total:m1651_27, partial:m1651_40 -# 1651| v1651_42(void) = ^IndirectReadSideEffect[-1] : &:r1651_37, m1651_30 -# 1651| m1651_43(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1651_37 -# 1651| m1651_44(StructuredBindingTupleNoRefGet) = Chi : total:m1651_30, partial:m1651_43 -# 1651| r1651_45(glval) = CopyValue : r1651_39 -# 1651| r1651_46(int &) = CopyValue : r1651_45 -# 1651| m1651_47(int &&) = Store[rv] : &:r1651_34, r1651_46 -# 1652| r1652_1(int) = Constant[4] : -# 1652| r1652_2(glval) = VariableAddress[i] : -# 1652| r1652_3(int &&) = Load[i] : &:r1652_2, m1651_19 -# 1652| r1652_4(glval) = CopyValue : r1652_3 -# 1652| m1652_5(int) = Store[?] : &:r1652_4, r1652_1 -# 1653| r1653_1(glval) = VariableAddress[ri] : -# 1653| r1653_2(glval) = VariableAddress[i] : -# 1653| r1653_3(int &&) = Load[i] : &:r1653_2, m1651_19 -# 1653| r1653_4(glval) = CopyValue : r1653_3 -# 1653| r1653_5(int &) = CopyValue : r1653_4 -# 1653| m1653_6(int &) = Store[ri] : &:r1653_1, r1653_5 -# 1654| r1654_1(glval) = VariableAddress[v] : -# 1654| r1654_2(glval) = VariableAddress[i] : -# 1654| r1654_3(int &&) = Load[i] : &:r1654_2, m1651_19 -# 1654| r1654_4(int) = Load[?] : &:r1654_3, m1652_5 -# 1654| m1654_5(int) = Store[v] : &:r1654_1, r1654_4 -# 1655| r1655_1(int) = Constant[5] : -# 1655| r1655_2(glval) = VariableAddress[r] : -# 1655| r1655_3(int &) = Load[r] : &:r1655_2, m1651_33 -# 1655| r1655_4(glval) = CopyValue : r1655_3 -# 1655| m1655_5(int) = Store[?] : &:r1655_4, r1655_1 -# 1655| m1655_6(unknown) = Chi : total:m1651_41, partial:m1655_5 -# 1656| r1656_1(glval) = VariableAddress[rr] : -# 1656| r1656_2(glval) = VariableAddress[r] : -# 1656| r1656_3(int &) = Load[r] : &:r1656_2, m1651_33 -# 1656| r1656_4(glval) = CopyValue : r1656_3 -# 1656| r1656_5(int &) = CopyValue : r1656_4 -# 1656| m1656_6(int &) = Store[rr] : &:r1656_1, r1656_5 -# 1657| r1657_1(glval) = VariableAddress[w] : -# 1657| r1657_2(glval) = VariableAddress[r] : -# 1657| r1657_3(int &) = Load[r] : &:r1657_2, m1651_33 -# 1657| r1657_4(int) = Load[?] : &:r1657_3, ~m1655_6 -# 1657| m1657_5(int) = Store[w] : &:r1657_1, r1657_4 -# 1661| r1661_1(glval) = VariableAddress[unnamed_local_variable] : -# 1661| r1661_2(glval) = VariableAddress[t] : -# 1661| r1661_3(StructuredBindingTupleNoRefGet &) = CopyValue : r1661_2 -# 1661| m1661_4(StructuredBindingTupleNoRefGet &) = Store[unnamed_local_variable] : &:r1661_1, r1661_3 -# 1662| r1662_1(glval) = VariableAddress[i] : -# 1662| r1662_2(glval) = VariableAddress[#temp1662:20] : -# 1662| r1662_3(glval) = VariableAddress[unnamed_local_variable] : -# 1662| r1662_4(StructuredBindingTupleNoRefGet &) = Load[unnamed_local_variable] : &:r1662_3, m1661_4 -# 1662| r1662_5(glval) = CopyValue : r1662_4 -# 1662| r1662_6(glval) = FunctionAddress[get] : -# 1662| r1662_7(int) = Call[get] : func:r1662_6, this:r1662_5 -# 1662| m1662_8(unknown) = ^CallSideEffect : ~m1655_6 -# 1662| m1662_9(unknown) = Chi : total:m1655_6, partial:m1662_8 -# 1662| v1662_10(void) = ^IndirectReadSideEffect[-1] : &:r1662_5, m1651_44 -# 1662| m1662_11(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1662_5 -# 1662| m1662_12(StructuredBindingTupleNoRefGet) = Chi : total:m1651_44, partial:m1662_11 -# 1662| m1662_13(int) = Store[#temp1662:20] : &:r1662_2, r1662_7 -# 1662| r1662_14(int &) = CopyValue : r1662_2 -# 1662| m1662_15(int &&) = Store[i] : &:r1662_1, r1662_14 -# 1663| r1663_1(glval) = VariableAddress[r] : -# 1663| r1663_2(glval) = VariableAddress[unnamed_local_variable] : -# 1663| r1663_3(StructuredBindingTupleNoRefGet &) = Load[unnamed_local_variable] : &:r1663_2, m1661_4 -# 1663| r1663_4(glval) = CopyValue : r1663_3 -# 1663| r1663_5(glval) = FunctionAddress[get] : -# 1663| r1663_6(int &) = Call[get] : func:r1663_5, this:r1663_4 -# 1663| m1663_7(unknown) = ^CallSideEffect : ~m1662_9 -# 1663| m1663_8(unknown) = Chi : total:m1662_9, partial:m1663_7 -# 1663| v1663_9(void) = ^IndirectReadSideEffect[-1] : &:r1663_4, m1662_12 -# 1663| m1663_10(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1663_4 -# 1663| m1663_11(StructuredBindingTupleNoRefGet) = Chi : total:m1662_12, partial:m1663_10 -# 1663| r1663_12(glval) = CopyValue : r1663_6 -# 1663| r1663_13(int &) = CopyValue : r1663_12 -# 1663| m1663_14(int &) = Store[r] : &:r1663_1, r1663_13 -# 1664| r1664_1(glval) = VariableAddress[rv] : -# 1664| r1664_2(glval) = VariableAddress[unnamed_local_variable] : -# 1664| r1664_3(StructuredBindingTupleNoRefGet &) = Load[unnamed_local_variable] : &:r1664_2, m1661_4 -# 1664| r1664_4(glval) = CopyValue : r1664_3 -# 1664| r1664_5(glval) = FunctionAddress[get] : -# 1664| r1664_6(int &&) = Call[get] : func:r1664_5, this:r1664_4 -# 1664| m1664_7(unknown) = ^CallSideEffect : ~m1663_8 -# 1664| m1664_8(unknown) = Chi : total:m1663_8, partial:m1664_7 -# 1664| v1664_9(void) = ^IndirectReadSideEffect[-1] : &:r1664_4, m1663_11 -# 1664| m1664_10(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1664_4 -# 1664| m1664_11(StructuredBindingTupleNoRefGet) = Chi : total:m1663_11, partial:m1664_10 -# 1664| r1664_12(glval) = CopyValue : r1664_6 -# 1664| r1664_13(int &) = CopyValue : r1664_12 -# 1664| m1664_14(int &&) = Store[rv] : &:r1664_1, r1664_13 -# 1665| r1665_1(int) = Constant[4] : -# 1665| r1665_2(glval) = VariableAddress[i] : -# 1665| r1665_3(int &&) = Load[i] : &:r1665_2, m1662_15 -# 1665| r1665_4(glval) = CopyValue : r1665_3 -# 1665| m1665_5(int) = Store[?] : &:r1665_4, r1665_1 -# 1666| r1666_1(glval) = VariableAddress[ri] : -# 1666| r1666_2(glval) = VariableAddress[i] : -# 1666| r1666_3(int &&) = Load[i] : &:r1666_2, m1662_15 -# 1666| r1666_4(glval) = CopyValue : r1666_3 -# 1666| r1666_5(int &) = CopyValue : r1666_4 -# 1666| m1666_6(int &) = Store[ri] : &:r1666_1, r1666_5 -# 1667| r1667_1(glval) = VariableAddress[v] : -# 1667| r1667_2(glval) = VariableAddress[i] : -# 1667| r1667_3(int &&) = Load[i] : &:r1667_2, m1662_15 -# 1667| r1667_4(int) = Load[?] : &:r1667_3, m1665_5 -# 1667| m1667_5(int) = Store[v] : &:r1667_1, r1667_4 -# 1668| r1668_1(int) = Constant[5] : -# 1668| r1668_2(glval) = VariableAddress[r] : -# 1668| r1668_3(int &) = Load[r] : &:r1668_2, m1663_14 -# 1668| r1668_4(glval) = CopyValue : r1668_3 -# 1668| m1668_5(int) = Store[?] : &:r1668_4, r1668_1 -# 1668| m1668_6(unknown) = Chi : total:m1664_8, partial:m1668_5 -# 1669| r1669_1(glval) = VariableAddress[rr] : -# 1669| r1669_2(glval) = VariableAddress[r] : -# 1669| r1669_3(int &) = Load[r] : &:r1669_2, m1663_14 -# 1669| r1669_4(glval) = CopyValue : r1669_3 -# 1669| r1669_5(int &) = CopyValue : r1669_4 -# 1669| m1669_6(int &) = Store[rr] : &:r1669_1, r1669_5 -# 1670| r1670_1(glval) = VariableAddress[w] : -# 1670| r1670_2(glval) = VariableAddress[r] : -# 1670| r1670_3(int &) = Load[r] : &:r1670_2, m1663_14 -# 1670| r1670_4(int) = Load[?] : &:r1670_3, ~m1668_6 -# 1670| m1670_5(int) = Store[w] : &:r1670_1, r1670_4 -# 1672| v1672_1(void) = NoOp : -# 1647| v1647_5(void) = ReturnVoid : -# 1647| v1647_6(void) = AliasedUse : ~m1668_6 -# 1647| v1647_7(void) = ExitFunction : +# 1694| void tuple_structured_binding_no_ref_get() +# 1694| Block 0 +# 1694| v1694_1(void) = EnterFunction : +# 1694| m1694_2(unknown) = AliasedDefinition : +# 1694| m1694_3(unknown) = InitializeNonLocal : +# 1694| m1694_4(unknown) = Chi : total:m1694_2, partial:m1694_3 +# 1695| r1695_1(glval) = VariableAddress[t] : +# 1695| m1695_2(StructuredBindingTupleNoRefGet) = Uninitialized[t] : &:r1695_1 +# 1695| r1695_3(glval) = FunctionAddress[StructuredBindingTupleNoRefGet] : +# 1695| v1695_4(void) = Call[StructuredBindingTupleNoRefGet] : func:r1695_3, this:r1695_1 +# 1695| m1695_5(unknown) = ^CallSideEffect : ~m1694_4 +# 1695| m1695_6(unknown) = Chi : total:m1694_4, partial:m1695_5 +# 1695| m1695_7(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1695_1 +# 1695| m1695_8(StructuredBindingTupleNoRefGet) = Chi : total:m1695_2, partial:m1695_7 +# 1698| r1698_1(glval) = VariableAddress[(unnamed local variable)] : +# 1698| r1698_2(glval) = VariableAddress[t] : +# 1698| r1698_3(StructuredBindingTupleNoRefGet &) = CopyValue : r1698_2 +# 1698| m1698_4(StructuredBindingTupleNoRefGet &) = Store[(unnamed local variable)] : &:r1698_1, r1698_3 +# 1698| r1698_5(glval) = VariableAddress[i] : +# 1698| r1698_6(glval) = VariableAddress[#temp1698:16] : +# 1698| r1698_7(glval) = VariableAddress[(unnamed local variable)] : +# 1698| r1698_8(StructuredBindingTupleNoRefGet &) = Load[(unnamed local variable)] : &:r1698_7, m1698_4 +# 1698| r1698_9(glval) = CopyValue : r1698_8 +# 1698| r1698_10(glval) = FunctionAddress[get] : +# 1698| r1698_11(int) = Call[get] : func:r1698_10, this:r1698_9 +# 1698| m1698_12(unknown) = ^CallSideEffect : ~m1695_6 +# 1698| m1698_13(unknown) = Chi : total:m1695_6, partial:m1698_12 +# 1698| v1698_14(void) = ^IndirectReadSideEffect[-1] : &:r1698_9, m1695_8 +# 1698| m1698_15(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1698_9 +# 1698| m1698_16(StructuredBindingTupleNoRefGet) = Chi : total:m1695_8, partial:m1698_15 +# 1698| m1698_17(int) = Store[#temp1698:16] : &:r1698_6, r1698_11 +# 1698| r1698_18(int &) = CopyValue : r1698_6 +# 1698| m1698_19(int &&) = Store[i] : &:r1698_5, r1698_18 +# 1698| r1698_20(glval) = VariableAddress[r] : +# 1698| r1698_21(glval) = VariableAddress[(unnamed local variable)] : +# 1698| r1698_22(StructuredBindingTupleNoRefGet &) = Load[(unnamed local variable)] : &:r1698_21, m1698_4 +# 1698| r1698_23(glval) = CopyValue : r1698_22 +# 1698| r1698_24(glval) = FunctionAddress[get] : +# 1698| r1698_25(int &) = Call[get] : func:r1698_24, this:r1698_23 +# 1698| m1698_26(unknown) = ^CallSideEffect : ~m1698_13 +# 1698| m1698_27(unknown) = Chi : total:m1698_13, partial:m1698_26 +# 1698| v1698_28(void) = ^IndirectReadSideEffect[-1] : &:r1698_23, m1698_16 +# 1698| m1698_29(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1698_23 +# 1698| m1698_30(StructuredBindingTupleNoRefGet) = Chi : total:m1698_16, partial:m1698_29 +# 1698| r1698_31(glval) = CopyValue : r1698_25 +# 1698| r1698_32(int &) = CopyValue : r1698_31 +# 1698| m1698_33(int &) = Store[r] : &:r1698_20, r1698_32 +# 1698| r1698_34(glval) = VariableAddress[rv] : +# 1698| r1698_35(glval) = VariableAddress[(unnamed local variable)] : +# 1698| r1698_36(StructuredBindingTupleNoRefGet &) = Load[(unnamed local variable)] : &:r1698_35, m1698_4 +# 1698| r1698_37(glval) = CopyValue : r1698_36 +# 1698| r1698_38(glval) = FunctionAddress[get] : +# 1698| r1698_39(int &&) = Call[get] : func:r1698_38, this:r1698_37 +# 1698| m1698_40(unknown) = ^CallSideEffect : ~m1698_27 +# 1698| m1698_41(unknown) = Chi : total:m1698_27, partial:m1698_40 +# 1698| v1698_42(void) = ^IndirectReadSideEffect[-1] : &:r1698_37, m1698_30 +# 1698| m1698_43(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1698_37 +# 1698| m1698_44(StructuredBindingTupleNoRefGet) = Chi : total:m1698_30, partial:m1698_43 +# 1698| r1698_45(glval) = CopyValue : r1698_39 +# 1698| r1698_46(int &) = CopyValue : r1698_45 +# 1698| m1698_47(int &&) = Store[rv] : &:r1698_34, r1698_46 +# 1699| r1699_1(int) = Constant[4] : +# 1699| r1699_2(glval) = VariableAddress[i] : +# 1699| r1699_3(int &&) = Load[i] : &:r1699_2, m1698_19 +# 1699| r1699_4(glval) = CopyValue : r1699_3 +# 1699| m1699_5(int) = Store[?] : &:r1699_4, r1699_1 +# 1700| r1700_1(glval) = VariableAddress[ri] : +# 1700| r1700_2(glval) = VariableAddress[i] : +# 1700| r1700_3(int &&) = Load[i] : &:r1700_2, m1698_19 +# 1700| r1700_4(glval) = CopyValue : r1700_3 +# 1700| r1700_5(int &) = CopyValue : r1700_4 +# 1700| m1700_6(int &) = Store[ri] : &:r1700_1, r1700_5 +# 1701| r1701_1(glval) = VariableAddress[v] : +# 1701| r1701_2(glval) = VariableAddress[i] : +# 1701| r1701_3(int &&) = Load[i] : &:r1701_2, m1698_19 +# 1701| r1701_4(int) = Load[?] : &:r1701_3, m1699_5 +# 1701| m1701_5(int) = Store[v] : &:r1701_1, r1701_4 +# 1702| r1702_1(int) = Constant[5] : +# 1702| r1702_2(glval) = VariableAddress[r] : +# 1702| r1702_3(int &) = Load[r] : &:r1702_2, m1698_33 +# 1702| r1702_4(glval) = CopyValue : r1702_3 +# 1702| m1702_5(int) = Store[?] : &:r1702_4, r1702_1 +# 1702| m1702_6(unknown) = Chi : total:m1698_41, partial:m1702_5 +# 1703| r1703_1(glval) = VariableAddress[rr] : +# 1703| r1703_2(glval) = VariableAddress[r] : +# 1703| r1703_3(int &) = Load[r] : &:r1703_2, m1698_33 +# 1703| r1703_4(glval) = CopyValue : r1703_3 +# 1703| r1703_5(int &) = CopyValue : r1703_4 +# 1703| m1703_6(int &) = Store[rr] : &:r1703_1, r1703_5 +# 1704| r1704_1(glval) = VariableAddress[w] : +# 1704| r1704_2(glval) = VariableAddress[r] : +# 1704| r1704_3(int &) = Load[r] : &:r1704_2, m1698_33 +# 1704| r1704_4(int) = Load[?] : &:r1704_3, ~m1702_6 +# 1704| m1704_5(int) = Store[w] : &:r1704_1, r1704_4 +# 1708| r1708_1(glval) = VariableAddress[unnamed_local_variable] : +# 1708| r1708_2(glval) = VariableAddress[t] : +# 1708| r1708_3(StructuredBindingTupleNoRefGet &) = CopyValue : r1708_2 +# 1708| m1708_4(StructuredBindingTupleNoRefGet &) = Store[unnamed_local_variable] : &:r1708_1, r1708_3 +# 1709| r1709_1(glval) = VariableAddress[i] : +# 1709| r1709_2(glval) = VariableAddress[#temp1709:20] : +# 1709| r1709_3(glval) = VariableAddress[unnamed_local_variable] : +# 1709| r1709_4(StructuredBindingTupleNoRefGet &) = Load[unnamed_local_variable] : &:r1709_3, m1708_4 +# 1709| r1709_5(glval) = CopyValue : r1709_4 +# 1709| r1709_6(glval) = FunctionAddress[get] : +# 1709| r1709_7(int) = Call[get] : func:r1709_6, this:r1709_5 +# 1709| m1709_8(unknown) = ^CallSideEffect : ~m1702_6 +# 1709| m1709_9(unknown) = Chi : total:m1702_6, partial:m1709_8 +# 1709| v1709_10(void) = ^IndirectReadSideEffect[-1] : &:r1709_5, m1698_44 +# 1709| m1709_11(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1709_5 +# 1709| m1709_12(StructuredBindingTupleNoRefGet) = Chi : total:m1698_44, partial:m1709_11 +# 1709| m1709_13(int) = Store[#temp1709:20] : &:r1709_2, r1709_7 +# 1709| r1709_14(int &) = CopyValue : r1709_2 +# 1709| m1709_15(int &&) = Store[i] : &:r1709_1, r1709_14 +# 1710| r1710_1(glval) = VariableAddress[r] : +# 1710| r1710_2(glval) = VariableAddress[unnamed_local_variable] : +# 1710| r1710_3(StructuredBindingTupleNoRefGet &) = Load[unnamed_local_variable] : &:r1710_2, m1708_4 +# 1710| r1710_4(glval) = CopyValue : r1710_3 +# 1710| r1710_5(glval) = FunctionAddress[get] : +# 1710| r1710_6(int &) = Call[get] : func:r1710_5, this:r1710_4 +# 1710| m1710_7(unknown) = ^CallSideEffect : ~m1709_9 +# 1710| m1710_8(unknown) = Chi : total:m1709_9, partial:m1710_7 +# 1710| v1710_9(void) = ^IndirectReadSideEffect[-1] : &:r1710_4, m1709_12 +# 1710| m1710_10(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1710_4 +# 1710| m1710_11(StructuredBindingTupleNoRefGet) = Chi : total:m1709_12, partial:m1710_10 +# 1710| r1710_12(glval) = CopyValue : r1710_6 +# 1710| r1710_13(int &) = CopyValue : r1710_12 +# 1710| m1710_14(int &) = Store[r] : &:r1710_1, r1710_13 +# 1711| r1711_1(glval) = VariableAddress[rv] : +# 1711| r1711_2(glval) = VariableAddress[unnamed_local_variable] : +# 1711| r1711_3(StructuredBindingTupleNoRefGet &) = Load[unnamed_local_variable] : &:r1711_2, m1708_4 +# 1711| r1711_4(glval) = CopyValue : r1711_3 +# 1711| r1711_5(glval) = FunctionAddress[get] : +# 1711| r1711_6(int &&) = Call[get] : func:r1711_5, this:r1711_4 +# 1711| m1711_7(unknown) = ^CallSideEffect : ~m1710_8 +# 1711| m1711_8(unknown) = Chi : total:m1710_8, partial:m1711_7 +# 1711| v1711_9(void) = ^IndirectReadSideEffect[-1] : &:r1711_4, m1710_11 +# 1711| m1711_10(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1711_4 +# 1711| m1711_11(StructuredBindingTupleNoRefGet) = Chi : total:m1710_11, partial:m1711_10 +# 1711| r1711_12(glval) = CopyValue : r1711_6 +# 1711| r1711_13(int &) = CopyValue : r1711_12 +# 1711| m1711_14(int &&) = Store[rv] : &:r1711_1, r1711_13 +# 1712| r1712_1(int) = Constant[4] : +# 1712| r1712_2(glval) = VariableAddress[i] : +# 1712| r1712_3(int &&) = Load[i] : &:r1712_2, m1709_15 +# 1712| r1712_4(glval) = CopyValue : r1712_3 +# 1712| m1712_5(int) = Store[?] : &:r1712_4, r1712_1 +# 1713| r1713_1(glval) = VariableAddress[ri] : +# 1713| r1713_2(glval) = VariableAddress[i] : +# 1713| r1713_3(int &&) = Load[i] : &:r1713_2, m1709_15 +# 1713| r1713_4(glval) = CopyValue : r1713_3 +# 1713| r1713_5(int &) = CopyValue : r1713_4 +# 1713| m1713_6(int &) = Store[ri] : &:r1713_1, r1713_5 +# 1714| r1714_1(glval) = VariableAddress[v] : +# 1714| r1714_2(glval) = VariableAddress[i] : +# 1714| r1714_3(int &&) = Load[i] : &:r1714_2, m1709_15 +# 1714| r1714_4(int) = Load[?] : &:r1714_3, m1712_5 +# 1714| m1714_5(int) = Store[v] : &:r1714_1, r1714_4 +# 1715| r1715_1(int) = Constant[5] : +# 1715| r1715_2(glval) = VariableAddress[r] : +# 1715| r1715_3(int &) = Load[r] : &:r1715_2, m1710_14 +# 1715| r1715_4(glval) = CopyValue : r1715_3 +# 1715| m1715_5(int) = Store[?] : &:r1715_4, r1715_1 +# 1715| m1715_6(unknown) = Chi : total:m1711_8, partial:m1715_5 +# 1716| r1716_1(glval) = VariableAddress[rr] : +# 1716| r1716_2(glval) = VariableAddress[r] : +# 1716| r1716_3(int &) = Load[r] : &:r1716_2, m1710_14 +# 1716| r1716_4(glval) = CopyValue : r1716_3 +# 1716| r1716_5(int &) = CopyValue : r1716_4 +# 1716| m1716_6(int &) = Store[rr] : &:r1716_1, r1716_5 +# 1717| r1717_1(glval) = VariableAddress[w] : +# 1717| r1717_2(glval) = VariableAddress[r] : +# 1717| r1717_3(int &) = Load[r] : &:r1717_2, m1710_14 +# 1717| r1717_4(int) = Load[?] : &:r1717_3, ~m1715_6 +# 1717| m1717_5(int) = Store[w] : &:r1717_1, r1717_4 +# 1719| v1719_1(void) = NoOp : +# 1694| v1694_5(void) = ReturnVoid : +# 1694| v1694_6(void) = AliasedUse : ~m1715_6 +# 1694| v1694_7(void) = ExitFunction : -# 1674| void array_structured_binding_non_ref_init() -# 1674| Block 0 -# 1674| v1674_1(void) = EnterFunction : -# 1674| m1674_2(unknown) = AliasedDefinition : -# 1674| m1674_3(unknown) = InitializeNonLocal : -# 1674| m1674_4(unknown) = Chi : total:m1674_2, partial:m1674_3 -# 1675| r1675_1(glval) = VariableAddress[xs] : -# 1675| m1675_2(int[2]) = Uninitialized[xs] : &:r1675_1 -# 1675| r1675_3(int) = Constant[0] : -# 1675| r1675_4(glval) = PointerAdd[4] : r1675_1, r1675_3 -# 1675| r1675_5(int) = Constant[1] : -# 1675| m1675_6(int) = Store[?] : &:r1675_4, r1675_5 -# 1675| m1675_7(int[2]) = Chi : total:m1675_2, partial:m1675_6 -# 1675| r1675_8(int) = Constant[1] : -# 1675| r1675_9(glval) = PointerAdd[4] : r1675_1, r1675_8 -# 1675| r1675_10(int) = Constant[2] : -# 1675| m1675_11(int) = Store[?] : &:r1675_9, r1675_10 -# 1675| m1675_12(int[2]) = Chi : total:m1675_7, partial:m1675_11 -# 1676| r1676_1(glval) = VariableAddress[(unnamed local variable)] : -# 1676| r1676_2(glval) = VariableAddress[xs] : -# 1676| r1676_3(int[2]) = Load[xs] : &:r1676_2, m1675_12 -# 1676| m1676_4(int[2]) = Store[(unnamed local variable)] : &:r1676_1, r1676_3 -# 1676| r1676_5(glval) = VariableAddress[x0] : +# 1721| void array_structured_binding_non_ref_init() +# 1721| Block 0 +# 1721| v1721_1(void) = EnterFunction : +# 1721| m1721_2(unknown) = AliasedDefinition : +# 1721| m1721_3(unknown) = InitializeNonLocal : +# 1721| m1721_4(unknown) = Chi : total:m1721_2, partial:m1721_3 +# 1722| r1722_1(glval) = VariableAddress[xs] : +# 1722| m1722_2(int[2]) = Uninitialized[xs] : &:r1722_1 +# 1722| r1722_3(int) = Constant[0] : +# 1722| r1722_4(glval) = PointerAdd[4] : r1722_1, r1722_3 +# 1722| r1722_5(int) = Constant[1] : +# 1722| m1722_6(int) = Store[?] : &:r1722_4, r1722_5 +# 1722| m1722_7(int[2]) = Chi : total:m1722_2, partial:m1722_6 +# 1722| r1722_8(int) = Constant[1] : +# 1722| r1722_9(glval) = PointerAdd[4] : r1722_1, r1722_8 +# 1722| r1722_10(int) = Constant[2] : +# 1722| m1722_11(int) = Store[?] : &:r1722_9, r1722_10 +# 1722| m1722_12(int[2]) = Chi : total:m1722_7, partial:m1722_11 +# 1723| r1723_1(glval) = VariableAddress[(unnamed local variable)] : +# 1723| r1723_2(glval) = VariableAddress[xs] : +# 1723| r1723_3(int[2]) = Load[xs] : &:r1723_2, m1722_12 +# 1723| m1723_4(int[2]) = Store[(unnamed local variable)] : &:r1723_1, r1723_3 +# 1723| r1723_5(glval) = VariableAddress[x0] : #-----| r0_1(glval) = VariableAddress[(unnamed local variable)] : #-----| r0_2(int *) = Convert : r0_1 #-----| r0_3(unsigned long) = Constant[0] : #-----| r0_4(glval) = PointerAdd[4] : r0_2, r0_3 -#-----| m0_5(int &) = Store[x0] : &:r1676_5, r0_4 -# 1676| r1676_6(glval) = VariableAddress[x1] : +#-----| m0_5(int &) = Store[x0] : &:r1723_5, r0_4 +# 1723| r1723_6(glval) = VariableAddress[x1] : #-----| r0_6(glval) = VariableAddress[(unnamed local variable)] : #-----| r0_7(int *) = Convert : r0_6 #-----| r0_8(unsigned long) = Constant[1] : #-----| r0_9(glval) = PointerAdd[4] : r0_7, r0_8 -#-----| m0_10(int &) = Store[x1] : &:r1676_6, r0_9 -# 1677| v1677_1(void) = NoOp : -# 1674| v1674_5(void) = ReturnVoid : -# 1674| v1674_6(void) = AliasedUse : m1674_3 -# 1674| v1674_7(void) = ExitFunction : +#-----| m0_10(int &) = Store[x1] : &:r1723_6, r0_9 +# 1724| v1724_1(void) = NoOp : +# 1721| v1721_5(void) = ReturnVoid : +# 1721| v1721_6(void) = AliasedUse : m1721_3 +# 1721| v1721_7(void) = ExitFunction : -# 1682| void CapturedLambdaMyObj::CapturedLambdaMyObj() -# 1682| Block 0 -# 1682| v1682_1(void) = EnterFunction : -# 1682| m1682_2(unknown) = AliasedDefinition : -# 1682| m1682_3(unknown) = InitializeNonLocal : -# 1682| m1682_4(unknown) = Chi : total:m1682_2, partial:m1682_3 -# 1682| r1682_5(glval) = VariableAddress[#this] : -# 1682| m1682_6(glval) = InitializeParameter[#this] : &:r1682_5 -# 1682| r1682_7(glval) = Load[#this] : &:r1682_5, m1682_6 -# 1682| m1682_8(CapturedLambdaMyObj) = InitializeIndirection[#this] : &:r1682_7 -# 1682| v1682_9(void) = NoOp : -# 1682| v1682_10(void) = ReturnIndirection[#this] : &:r1682_7, m1682_8 -# 1682| v1682_11(void) = ReturnVoid : -# 1682| v1682_12(void) = AliasedUse : m1682_3 -# 1682| v1682_13(void) = ExitFunction : +# 1729| void CapturedLambdaMyObj::CapturedLambdaMyObj() +# 1729| Block 0 +# 1729| v1729_1(void) = EnterFunction : +# 1729| m1729_2(unknown) = AliasedDefinition : +# 1729| m1729_3(unknown) = InitializeNonLocal : +# 1729| m1729_4(unknown) = Chi : total:m1729_2, partial:m1729_3 +# 1729| r1729_5(glval) = VariableAddress[#this] : +# 1729| m1729_6(glval) = InitializeParameter[#this] : &:r1729_5 +# 1729| r1729_7(glval) = Load[#this] : &:r1729_5, m1729_6 +# 1729| m1729_8(CapturedLambdaMyObj) = InitializeIndirection[#this] : &:r1729_7 +# 1729| v1729_9(void) = NoOp : +# 1729| v1729_10(void) = ReturnIndirection[#this] : &:r1729_7, m1729_8 +# 1729| v1729_11(void) = ReturnVoid : +# 1729| v1729_12(void) = AliasedUse : m1729_3 +# 1729| v1729_13(void) = ExitFunction : -# 1685| void captured_lambda(int, int&, int&&) -# 1685| Block 0 -# 1685| v1685_1(void) = EnterFunction : -# 1685| m1685_2(unknown) = AliasedDefinition : -# 1685| m1685_3(unknown) = InitializeNonLocal : -# 1685| m1685_4(unknown) = Chi : total:m1685_2, partial:m1685_3 -# 1685| r1685_5(glval) = VariableAddress[x] : -# 1685| m1685_6(int) = InitializeParameter[x] : &:r1685_5 -# 1685| r1685_7(glval) = VariableAddress[y] : -# 1685| m1685_8(int &) = InitializeParameter[y] : &:r1685_7 -# 1685| r1685_9(int &) = Load[y] : &:r1685_7, m1685_8 -# 1685| m1685_10(unknown) = InitializeIndirection[y] : &:r1685_9 -# 1685| r1685_11(glval) = VariableAddress[z] : -# 1685| m1685_12(int &&) = InitializeParameter[z] : &:r1685_11 -# 1685| r1685_13(int &&) = Load[z] : &:r1685_11, m1685_12 -# 1685| m1685_14(unknown) = InitializeIndirection[z] : &:r1685_13 -# 1687| r1687_1(glval) = VariableAddress[obj1] : -# 1687| r1687_2(glval) = VariableAddress[#temp1687:24] : -# 1687| m1687_3(CapturedLambdaMyObj) = Uninitialized[#temp1687:24] : &:r1687_2 -# 1687| r1687_4(glval) = FunctionAddress[CapturedLambdaMyObj] : -# 1687| v1687_5(void) = Call[CapturedLambdaMyObj] : func:r1687_4, this:r1687_2 -# 1687| m1687_6(unknown) = ^CallSideEffect : ~m1685_4 -# 1687| m1687_7(unknown) = Chi : total:m1685_4, partial:m1687_6 -# 1687| m1687_8(CapturedLambdaMyObj) = ^IndirectMayWriteSideEffect[-1] : &:r1687_2 -# 1687| m1687_9(CapturedLambdaMyObj) = Chi : total:m1687_3, partial:m1687_8 -# 1687| r1687_10(glval) = Convert : r1687_2 -# 1687| r1687_11(CapturedLambdaMyObj &) = CopyValue : r1687_10 -# 1687| m1687_12(CapturedLambdaMyObj &) = Store[obj1] : &:r1687_1, r1687_11 -# 1688| r1688_1(glval) = VariableAddress[obj2] : -# 1688| m1688_2(CapturedLambdaMyObj) = Uninitialized[obj2] : &:r1688_1 -# 1688| r1688_3(glval) = FunctionAddress[CapturedLambdaMyObj] : -# 1688| v1688_4(void) = Call[CapturedLambdaMyObj] : func:r1688_3, this:r1688_1 -# 1688| m1688_5(unknown) = ^CallSideEffect : ~m1687_7 -# 1688| m1688_6(unknown) = Chi : total:m1687_7, partial:m1688_5 -# 1688| m1688_7(CapturedLambdaMyObj) = ^IndirectMayWriteSideEffect[-1] : &:r1688_1 -# 1688| m1688_8(CapturedLambdaMyObj) = Chi : total:m1688_2, partial:m1688_7 -# 1690| r1690_1(glval) = VariableAddress[lambda_outer] : -# 1690| r1690_2(glval) = VariableAddress[#temp1690:24] : -# 1690| m1690_3(decltype([...](...){...})) = Uninitialized[#temp1690:24] : &:r1690_2 -# 1690| r1690_4(glval) = FieldAddress[obj1] : r1690_2 -# 1690| r1690_5(glval) = VariableAddress[obj1] : -# 1690| r1690_6(CapturedLambdaMyObj &) = Load[obj1] : &:r1690_5, m1687_12 -#-----| r0_1(CapturedLambdaMyObj) = Load[?] : &:r1690_6, m1687_9 -#-----| m0_2(CapturedLambdaMyObj) = Store[?] : &:r1690_4, r0_1 -#-----| m0_3(decltype([...](...){...})) = Chi : total:m1690_3, partial:m0_2 -# 1690| r1690_7(glval) = FieldAddress[obj2] : r1690_2 -# 1690| r1690_8(glval) = VariableAddress[obj2] : -# 1690| r1690_9(CapturedLambdaMyObj) = Load[obj2] : &:r1690_8, m1688_8 -# 1690| m1690_10(CapturedLambdaMyObj) = Store[?] : &:r1690_7, r1690_9 -# 1690| m1690_11(decltype([...](...){...})) = Chi : total:m0_3, partial:m1690_10 -# 1690| r1690_12(glval) = FieldAddress[x] : r1690_2 -# 1690| r1690_13(glval) = VariableAddress[x] : -# 1690| r1690_14(int) = Load[x] : &:r1690_13, m1685_6 -# 1690| m1690_15(int) = Store[?] : &:r1690_12, r1690_14 -# 1690| m1690_16(decltype([...](...){...})) = Chi : total:m1690_11, partial:m1690_15 -# 1690| r1690_17(glval) = FieldAddress[y] : r1690_2 -# 1690| r1690_18(glval) = VariableAddress[y] : -# 1690| r1690_19(int &) = Load[y] : &:r1690_18, m1685_8 -# 1692| r1692_1(int) = Load[?] : &:r1690_19, ~m1685_10 -# 1692| m1692_2(int) = Store[?] : &:r1690_17, r1692_1 -# 1692| m1692_3(decltype([...](...){...})) = Chi : total:m1690_16, partial:m1692_2 -# 1690| r1690_20(glval) = FieldAddress[z] : r1690_2 -# 1690| r1690_21(glval) = VariableAddress[z] : -# 1690| r1690_22(int &&) = Load[z] : &:r1690_21, m1685_12 -# 1692| r1692_4(int) = Load[?] : &:r1690_22, ~m1685_14 -# 1692| m1692_5(int) = Store[?] : &:r1690_20, r1692_4 -# 1692| m1692_6(decltype([...](...){...})) = Chi : total:m1692_3, partial:m1692_5 -# 1690| r1690_23(decltype([...](...){...})) = Load[#temp1690:24] : &:r1690_2, m1692_6 -# 1690| m1690_24(decltype([...](...){...})) = Store[lambda_outer] : &:r1690_1, r1690_23 -# 1693| v1693_1(void) = NoOp : -# 1685| v1685_15(void) = ReturnIndirection[y] : &:r1685_9, m1685_10 -# 1685| v1685_16(void) = ReturnIndirection[z] : &:r1685_13, m1685_14 -# 1685| v1685_17(void) = ReturnVoid : -# 1685| v1685_18(void) = AliasedUse : ~m1688_6 -# 1685| v1685_19(void) = ExitFunction : +# 1732| void captured_lambda(int, int&, int&&) +# 1732| Block 0 +# 1732| v1732_1(void) = EnterFunction : +# 1732| m1732_2(unknown) = AliasedDefinition : +# 1732| m1732_3(unknown) = InitializeNonLocal : +# 1732| m1732_4(unknown) = Chi : total:m1732_2, partial:m1732_3 +# 1732| r1732_5(glval) = VariableAddress[x] : +# 1732| m1732_6(int) = InitializeParameter[x] : &:r1732_5 +# 1732| r1732_7(glval) = VariableAddress[y] : +# 1732| m1732_8(int &) = InitializeParameter[y] : &:r1732_7 +# 1732| r1732_9(int &) = Load[y] : &:r1732_7, m1732_8 +# 1732| m1732_10(unknown) = InitializeIndirection[y] : &:r1732_9 +# 1732| r1732_11(glval) = VariableAddress[z] : +# 1732| m1732_12(int &&) = InitializeParameter[z] : &:r1732_11 +# 1732| r1732_13(int &&) = Load[z] : &:r1732_11, m1732_12 +# 1732| m1732_14(unknown) = InitializeIndirection[z] : &:r1732_13 +# 1734| r1734_1(glval) = VariableAddress[obj1] : +# 1734| r1734_2(glval) = VariableAddress[#temp1734:24] : +# 1734| m1734_3(CapturedLambdaMyObj) = Uninitialized[#temp1734:24] : &:r1734_2 +# 1734| r1734_4(glval) = FunctionAddress[CapturedLambdaMyObj] : +# 1734| v1734_5(void) = Call[CapturedLambdaMyObj] : func:r1734_4, this:r1734_2 +# 1734| m1734_6(unknown) = ^CallSideEffect : ~m1732_4 +# 1734| m1734_7(unknown) = Chi : total:m1732_4, partial:m1734_6 +# 1734| m1734_8(CapturedLambdaMyObj) = ^IndirectMayWriteSideEffect[-1] : &:r1734_2 +# 1734| m1734_9(CapturedLambdaMyObj) = Chi : total:m1734_3, partial:m1734_8 +# 1734| r1734_10(glval) = Convert : r1734_2 +# 1734| r1734_11(CapturedLambdaMyObj &) = CopyValue : r1734_10 +# 1734| m1734_12(CapturedLambdaMyObj &) = Store[obj1] : &:r1734_1, r1734_11 +# 1735| r1735_1(glval) = VariableAddress[obj2] : +# 1735| m1735_2(CapturedLambdaMyObj) = Uninitialized[obj2] : &:r1735_1 +# 1735| r1735_3(glval) = FunctionAddress[CapturedLambdaMyObj] : +# 1735| v1735_4(void) = Call[CapturedLambdaMyObj] : func:r1735_3, this:r1735_1 +# 1735| m1735_5(unknown) = ^CallSideEffect : ~m1734_7 +# 1735| m1735_6(unknown) = Chi : total:m1734_7, partial:m1735_5 +# 1735| m1735_7(CapturedLambdaMyObj) = ^IndirectMayWriteSideEffect[-1] : &:r1735_1 +# 1735| m1735_8(CapturedLambdaMyObj) = Chi : total:m1735_2, partial:m1735_7 +# 1737| r1737_1(glval) = VariableAddress[lambda_outer] : +# 1737| r1737_2(glval) = VariableAddress[#temp1737:24] : +# 1737| m1737_3(decltype([...](...){...})) = Uninitialized[#temp1737:24] : &:r1737_2 +# 1737| r1737_4(glval) = FieldAddress[obj1] : r1737_2 +# 1737| r1737_5(glval) = VariableAddress[obj1] : +# 1737| r1737_6(CapturedLambdaMyObj &) = Load[obj1] : &:r1737_5, m1734_12 +#-----| r0_1(CapturedLambdaMyObj) = Load[?] : &:r1737_6, m1734_9 +#-----| m0_2(CapturedLambdaMyObj) = Store[?] : &:r1737_4, r0_1 +#-----| m0_3(decltype([...](...){...})) = Chi : total:m1737_3, partial:m0_2 +# 1737| r1737_7(glval) = FieldAddress[obj2] : r1737_2 +# 1737| r1737_8(glval) = VariableAddress[obj2] : +# 1737| r1737_9(CapturedLambdaMyObj) = Load[obj2] : &:r1737_8, m1735_8 +# 1737| m1737_10(CapturedLambdaMyObj) = Store[?] : &:r1737_7, r1737_9 +# 1737| m1737_11(decltype([...](...){...})) = Chi : total:m0_3, partial:m1737_10 +# 1737| r1737_12(glval) = FieldAddress[x] : r1737_2 +# 1737| r1737_13(glval) = VariableAddress[x] : +# 1737| r1737_14(int) = Load[x] : &:r1737_13, m1732_6 +# 1737| m1737_15(int) = Store[?] : &:r1737_12, r1737_14 +# 1737| m1737_16(decltype([...](...){...})) = Chi : total:m1737_11, partial:m1737_15 +# 1737| r1737_17(glval) = FieldAddress[y] : r1737_2 +# 1737| r1737_18(glval) = VariableAddress[y] : +# 1737| r1737_19(int &) = Load[y] : &:r1737_18, m1732_8 +# 1739| r1739_1(int) = Load[?] : &:r1737_19, ~m1732_10 +# 1739| m1739_2(int) = Store[?] : &:r1737_17, r1739_1 +# 1739| m1739_3(decltype([...](...){...})) = Chi : total:m1737_16, partial:m1739_2 +# 1737| r1737_20(glval) = FieldAddress[z] : r1737_2 +# 1737| r1737_21(glval) = VariableAddress[z] : +# 1737| r1737_22(int &&) = Load[z] : &:r1737_21, m1732_12 +# 1739| r1739_4(int) = Load[?] : &:r1737_22, ~m1732_14 +# 1739| m1739_5(int) = Store[?] : &:r1737_20, r1739_4 +# 1739| m1739_6(decltype([...](...){...})) = Chi : total:m1739_3, partial:m1739_5 +# 1737| r1737_23(decltype([...](...){...})) = Load[#temp1737:24] : &:r1737_2, m1739_6 +# 1737| m1737_24(decltype([...](...){...})) = Store[lambda_outer] : &:r1737_1, r1737_23 +# 1740| v1740_1(void) = NoOp : +# 1732| v1732_15(void) = ReturnIndirection[y] : &:r1732_9, m1732_10 +# 1732| v1732_16(void) = ReturnIndirection[z] : &:r1732_13, m1732_14 +# 1732| v1732_17(void) = ReturnVoid : +# 1732| v1732_18(void) = AliasedUse : ~m1735_6 +# 1732| v1732_19(void) = ExitFunction : -# 1690| void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25)::operator()() const -# 1690| Block 0 -# 1690| v1690_1(void) = EnterFunction : -# 1690| m1690_2(unknown) = AliasedDefinition : -# 1690| m1690_3(unknown) = InitializeNonLocal : -# 1690| m1690_4(unknown) = Chi : total:m1690_2, partial:m1690_3 -# 1690| r1690_5(glval) = VariableAddress[#this] : -# 1690| m1690_6(glval) = InitializeParameter[#this] : &:r1690_5 -# 1690| r1690_7(glval) = Load[#this] : &:r1690_5, m1690_6 -# 1690| m1690_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1690_7 -# 1691| r1691_1(glval) = VariableAddress[lambda_inner] : -# 1691| r1691_2(glval) = VariableAddress[#temp1691:28] : -# 1691| m1691_3(decltype([...](...){...})) = Uninitialized[#temp1691:28] : &:r1691_2 -# 1691| r1691_4(glval) = FieldAddress[obj1] : r1691_2 -# 1691| r1691_5(glval) = VariableAddress[#this] : -# 1691| r1691_6(lambda [] type at line 1691, col. 29 *) = Load[#this] : &:r1691_5, m1690_6 -# 1691| r1691_7(glval) = FieldAddress[obj1] : r1691_6 -# 1691| r1691_8(CapturedLambdaMyObj) = Load[?] : &:r1691_7, ~m1690_8 -# 1691| m1691_9(CapturedLambdaMyObj) = Store[?] : &:r1691_4, r1691_8 -# 1691| m1691_10(decltype([...](...){...})) = Chi : total:m1691_3, partial:m1691_9 -# 1691| r1691_11(glval) = FieldAddress[obj2] : r1691_2 -# 1691| r1691_12(glval) = VariableAddress[#this] : -# 1691| r1691_13(lambda [] type at line 1691, col. 29 *) = Load[#this] : &:r1691_12, m1690_6 -# 1691| r1691_14(glval) = FieldAddress[obj2] : r1691_13 -# 1691| r1691_15(CapturedLambdaMyObj) = Load[?] : &:r1691_14, ~m1690_8 -# 1691| m1691_16(CapturedLambdaMyObj) = Store[?] : &:r1691_11, r1691_15 -# 1691| m1691_17(decltype([...](...){...})) = Chi : total:m1691_10, partial:m1691_16 -# 1691| r1691_18(glval) = FieldAddress[x] : r1691_2 -# 1691| r1691_19(glval) = VariableAddress[#this] : -# 1691| r1691_20(lambda [] type at line 1690, col. 25 *) = Load[#this] : &:r1691_19, m1690_6 -# 1691| r1691_21(glval) = FieldAddress[x] : r1691_20 -# 1691| r1691_22(int) = Load[?] : &:r1691_21, ~m1690_8 -# 1691| m1691_23(int) = Store[?] : &:r1691_18, r1691_22 -# 1691| m1691_24(decltype([...](...){...})) = Chi : total:m1691_17, partial:m1691_23 -# 1691| r1691_25(glval) = FieldAddress[y] : r1691_2 -# 1691| r1691_26(glval) = VariableAddress[#this] : -# 1691| r1691_27(lambda [] type at line 1690, col. 25 *) = Load[#this] : &:r1691_26, m1690_6 -# 1691| r1691_28(glval) = FieldAddress[y] : r1691_27 -# 1691| r1691_29(int) = Load[?] : &:r1691_28, ~m1690_8 -# 1691| m1691_30(int) = Store[?] : &:r1691_25, r1691_29 -# 1691| m1691_31(decltype([...](...){...})) = Chi : total:m1691_24, partial:m1691_30 -# 1691| r1691_32(glval) = FieldAddress[z] : r1691_2 -# 1691| r1691_33(glval) = VariableAddress[#this] : -# 1691| r1691_34(lambda [] type at line 1690, col. 25 *) = Load[#this] : &:r1691_33, m1690_6 -# 1691| r1691_35(glval) = FieldAddress[z] : r1691_34 -# 1691| r1691_36(int) = Load[?] : &:r1691_35, ~m1690_8 -# 1691| m1691_37(int) = Store[?] : &:r1691_32, r1691_36 -# 1691| m1691_38(decltype([...](...){...})) = Chi : total:m1691_31, partial:m1691_37 -# 1691| r1691_39(decltype([...](...){...})) = Load[#temp1691:28] : &:r1691_2, m1691_38 -# 1691| m1691_40(decltype([...](...){...})) = Store[lambda_inner] : &:r1691_1, r1691_39 -# 1692| v1692_1(void) = NoOp : -# 1690| v1690_9(void) = ReturnIndirection[#this] : &:r1690_7, m1690_8 -# 1690| v1690_10(void) = ReturnVoid : -# 1690| v1690_11(void) = AliasedUse : m1690_3 -# 1690| v1690_12(void) = ExitFunction : +# 1737| void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)::operator()() const +# 1737| Block 0 +# 1737| v1737_1(void) = EnterFunction : +# 1737| m1737_2(unknown) = AliasedDefinition : +# 1737| m1737_3(unknown) = InitializeNonLocal : +# 1737| m1737_4(unknown) = Chi : total:m1737_2, partial:m1737_3 +# 1737| r1737_5(glval) = VariableAddress[#this] : +# 1737| m1737_6(glval) = InitializeParameter[#this] : &:r1737_5 +# 1737| r1737_7(glval) = Load[#this] : &:r1737_5, m1737_6 +# 1737| m1737_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1737_7 +# 1738| r1738_1(glval) = VariableAddress[lambda_inner] : +# 1738| r1738_2(glval) = VariableAddress[#temp1738:28] : +# 1738| m1738_3(decltype([...](...){...})) = Uninitialized[#temp1738:28] : &:r1738_2 +# 1738| r1738_4(glval) = FieldAddress[obj1] : r1738_2 +# 1738| r1738_5(glval) = VariableAddress[#this] : +# 1738| r1738_6(lambda [] type at line 1738, col. 29 *) = Load[#this] : &:r1738_5, m1737_6 +# 1738| r1738_7(glval) = FieldAddress[obj1] : r1738_6 +# 1738| r1738_8(CapturedLambdaMyObj) = Load[?] : &:r1738_7, ~m1737_8 +# 1738| m1738_9(CapturedLambdaMyObj) = Store[?] : &:r1738_4, r1738_8 +# 1738| m1738_10(decltype([...](...){...})) = Chi : total:m1738_3, partial:m1738_9 +# 1738| r1738_11(glval) = FieldAddress[obj2] : r1738_2 +# 1738| r1738_12(glval) = VariableAddress[#this] : +# 1738| r1738_13(lambda [] type at line 1738, col. 29 *) = Load[#this] : &:r1738_12, m1737_6 +# 1738| r1738_14(glval) = FieldAddress[obj2] : r1738_13 +# 1738| r1738_15(CapturedLambdaMyObj) = Load[?] : &:r1738_14, ~m1737_8 +# 1738| m1738_16(CapturedLambdaMyObj) = Store[?] : &:r1738_11, r1738_15 +# 1738| m1738_17(decltype([...](...){...})) = Chi : total:m1738_10, partial:m1738_16 +# 1738| r1738_18(glval) = FieldAddress[x] : r1738_2 +# 1738| r1738_19(glval) = VariableAddress[#this] : +# 1738| r1738_20(lambda [] type at line 1737, col. 25 *) = Load[#this] : &:r1738_19, m1737_6 +# 1738| r1738_21(glval) = FieldAddress[x] : r1738_20 +# 1738| r1738_22(int) = Load[?] : &:r1738_21, ~m1737_8 +# 1738| m1738_23(int) = Store[?] : &:r1738_18, r1738_22 +# 1738| m1738_24(decltype([...](...){...})) = Chi : total:m1738_17, partial:m1738_23 +# 1738| r1738_25(glval) = FieldAddress[y] : r1738_2 +# 1738| r1738_26(glval) = VariableAddress[#this] : +# 1738| r1738_27(lambda [] type at line 1737, col. 25 *) = Load[#this] : &:r1738_26, m1737_6 +# 1738| r1738_28(glval) = FieldAddress[y] : r1738_27 +# 1738| r1738_29(int) = Load[?] : &:r1738_28, ~m1737_8 +# 1738| m1738_30(int) = Store[?] : &:r1738_25, r1738_29 +# 1738| m1738_31(decltype([...](...){...})) = Chi : total:m1738_24, partial:m1738_30 +# 1738| r1738_32(glval) = FieldAddress[z] : r1738_2 +# 1738| r1738_33(glval) = VariableAddress[#this] : +# 1738| r1738_34(lambda [] type at line 1737, col. 25 *) = Load[#this] : &:r1738_33, m1737_6 +# 1738| r1738_35(glval) = FieldAddress[z] : r1738_34 +# 1738| r1738_36(int) = Load[?] : &:r1738_35, ~m1737_8 +# 1738| m1738_37(int) = Store[?] : &:r1738_32, r1738_36 +# 1738| m1738_38(decltype([...](...){...})) = Chi : total:m1738_31, partial:m1738_37 +# 1738| r1738_39(decltype([...](...){...})) = Load[#temp1738:28] : &:r1738_2, m1738_38 +# 1738| m1738_40(decltype([...](...){...})) = Store[lambda_inner] : &:r1738_1, r1738_39 +# 1739| v1739_1(void) = NoOp : +# 1737| v1737_9(void) = ReturnIndirection[#this] : &:r1737_7, m1737_8 +# 1737| v1737_10(void) = ReturnVoid : +# 1737| v1737_11(void) = AliasedUse : m1737_3 +# 1737| v1737_12(void) = ExitFunction : -# 1691| void (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25)::operator()() const)::(lambda [] type at line 1691, col. 29)::operator()() const -# 1691| Block 0 -# 1691| v1691_1(void) = EnterFunction : -# 1691| m1691_2(unknown) = AliasedDefinition : -# 1691| m1691_3(unknown) = InitializeNonLocal : -# 1691| m1691_4(unknown) = Chi : total:m1691_2, partial:m1691_3 -# 1691| r1691_5(glval) = VariableAddress[#this] : -# 1691| m1691_6(glval) = InitializeParameter[#this] : &:r1691_5 -# 1691| r1691_7(glval) = Load[#this] : &:r1691_5, m1691_6 -# 1691| m1691_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1691_7 -# 1691| v1691_9(void) = NoOp : -# 1691| v1691_10(void) = NoOp : -# 1691| v1691_11(void) = ReturnIndirection[#this] : &:r1691_7, m1691_8 -# 1691| v1691_12(void) = ReturnVoid : -# 1691| v1691_13(void) = AliasedUse : m1691_3 -# 1691| v1691_14(void) = ExitFunction : - -# 1695| int goto_on_same_line() -# 1695| Block 0 -# 1695| v1695_1(void) = EnterFunction : -# 1695| m1695_2(unknown) = AliasedDefinition : -# 1695| m1695_3(unknown) = InitializeNonLocal : -# 1695| m1695_4(unknown) = Chi : total:m1695_2, partial:m1695_3 -# 1696| r1696_1(glval) = VariableAddress[x] : -# 1696| r1696_2(int) = Constant[42] : -# 1696| m1696_3(int) = Store[x] : &:r1696_1, r1696_2 -# 1697| v1697_1(void) = NoOp : -# 1697| v1697_2(void) = NoOp : -# 1698| r1698_1(glval) = VariableAddress[#return] : -# 1698| r1698_2(glval) = VariableAddress[x] : -# 1698| r1698_3(int) = Load[x] : &:r1698_2, m1696_3 -# 1698| m1698_4(int) = Store[#return] : &:r1698_1, r1698_3 -# 1695| r1695_5(glval) = VariableAddress[#return] : -# 1695| v1695_6(void) = ReturnValue : &:r1695_5, m1698_4 -# 1695| v1695_7(void) = AliasedUse : m1695_3 -# 1695| v1695_8(void) = ExitFunction : - -# 1703| void TrivialLambdaClass::m() const -# 1703| Block 0 -# 1703| v1703_1(void) = EnterFunction : -# 1703| m1703_2(unknown) = AliasedDefinition : -# 1703| m1703_3(unknown) = InitializeNonLocal : -# 1703| m1703_4(unknown) = Chi : total:m1703_2, partial:m1703_3 -# 1703| r1703_5(glval) = VariableAddress[#this] : -# 1703| m1703_6(glval) = InitializeParameter[#this] : &:r1703_5 -# 1703| r1703_7(glval) = Load[#this] : &:r1703_5, m1703_6 -# 1703| m1703_8(TrivialLambdaClass) = InitializeIndirection[#this] : &:r1703_7 -# 1704| r1704_1(glval) = VariableAddress[l_m_outer] : -# 1704| r1704_2(glval) = VariableAddress[#temp1704:25] : -# 1704| m1704_3(decltype([...](...){...})) = Uninitialized[#temp1704:25] : &:r1704_2 -# 1704| r1704_4(glval) = FieldAddress[(captured this)] : r1704_2 -# 1704| r1704_5(glval) = VariableAddress[#this] : -# 1704| r1704_6(TrivialLambdaClass *) = Load[#this] : &:r1704_5, m1703_6 -# 1704| r1704_7(TrivialLambdaClass) = Load[?] : &:r1704_6, ~m1703_8 -# 1704| m1704_8(TrivialLambdaClass) = Store[?] : &:r1704_4, r1704_7 -# 1704| r1704_9(decltype([...](...){...})) = Load[#temp1704:25] : &:r1704_2, ~m1704_8 -# 1704| m1704_10(decltype([...](...){...})) = Store[l_m_outer] : &:r1704_1, r1704_9 -# 1711| v1711_1(void) = NoOp : -# 1703| v1703_9(void) = ReturnIndirection[#this] : &:r1703_7, m1703_8 -# 1703| v1703_10(void) = ReturnVoid : -# 1703| v1703_11(void) = AliasedUse : m1703_3 -# 1703| v1703_12(void) = ExitFunction : - -# 1704| void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26)::operator()() const -# 1704| Block 0 -# 1704| v1704_1(void) = EnterFunction : -# 1704| m1704_2(unknown) = AliasedDefinition : -# 1704| m1704_3(unknown) = InitializeNonLocal : -# 1704| m1704_4(unknown) = Chi : total:m1704_2, partial:m1704_3 -# 1704| r1704_5(glval) = VariableAddress[#this] : -# 1704| m1704_6(glval) = InitializeParameter[#this] : &:r1704_5 -# 1704| r1704_7(glval) = Load[#this] : &:r1704_5, m1704_6 -# 1704| m1704_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1704_7 -# 1705| r1705_1(glval) = VariableAddress[#this] : -# 1705| r1705_2(lambda [] type at line 1704, col. 26 *) = Load[#this] : &:r1705_1, m1704_6 -# 1705| r1705_3(glval) = FieldAddress[(captured this)] : r1705_2 -# 1705| r1705_4(TrivialLambdaClass *) = CopyValue : r1705_3 -# 1705| r1705_5(glval) = FunctionAddress[m] : -# 1705| v1705_6(void) = Call[m] : func:r1705_5, this:r1705_4 -# 1705| m1705_7(unknown) = ^CallSideEffect : ~m1704_4 -# 1705| m1705_8(unknown) = Chi : total:m1704_4, partial:m1705_7 -# 1705| v1705_9(void) = ^IndirectReadSideEffect[-1] : &:r1705_4, ~m1704_8 -# 1707| r1707_1(glval) = VariableAddress[l_m_inner] : -# 1707| r1707_2(glval) = VariableAddress[#temp1707:29] : -# 1707| m1707_3(decltype([...](...){...})) = Uninitialized[#temp1707:29] : &:r1707_2 -# 1707| r1707_4(glval) = FieldAddress[(captured this)] : r1707_2 -# 1707| r1707_5(glval) = VariableAddress[#this] : -# 1707| r1707_6(lambda [] type at line 1707, col. 30 *) = Load[#this] : &:r1707_5, m1704_6 -# 1707| r1707_7(glval) = FieldAddress[(captured this)] : r1707_6 -# 1707| r1707_8(TrivialLambdaClass) = Load[?] : &:r1707_7, ~m1704_8 -# 1707| m1707_9(TrivialLambdaClass) = Store[?] : &:r1707_4, r1707_8 -# 1707| r1707_10(decltype([...](...){...})) = Load[#temp1707:29] : &:r1707_2, ~m1707_9 -# 1707| m1707_11(decltype([...](...){...})) = Store[l_m_inner] : &:r1707_1, r1707_10 -# 1710| v1710_1(void) = NoOp : -# 1704| v1704_9(void) = ReturnIndirection[#this] : &:r1704_7, m1704_8 -# 1704| v1704_10(void) = ReturnVoid : -# 1704| v1704_11(void) = AliasedUse : ~m1705_8 -# 1704| v1704_12(void) = ExitFunction : - -# 1707| void (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26)::operator()() const)::(lambda [] type at line 1707, col. 30)::operator()() const -# 1707| Block 0 -# 1707| v1707_1(void) = EnterFunction : -# 1707| m1707_2(unknown) = AliasedDefinition : -# 1707| m1707_3(unknown) = InitializeNonLocal : -# 1707| m1707_4(unknown) = Chi : total:m1707_2, partial:m1707_3 -# 1707| r1707_5(glval) = VariableAddress[#this] : -# 1707| m1707_6(glval) = InitializeParameter[#this] : &:r1707_5 -# 1707| r1707_7(glval) = Load[#this] : &:r1707_5, m1707_6 -# 1707| m1707_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1707_7 -# 1708| r1708_1(glval) = VariableAddress[#this] : -# 1708| r1708_2(lambda [] type at line 1707, col. 30 *) = Load[#this] : &:r1708_1, m1707_6 -# 1708| r1708_3(glval) = FieldAddress[(captured this)] : r1708_2 -# 1708| r1708_4(TrivialLambdaClass *) = CopyValue : r1708_3 -# 1708| r1708_5(glval) = FunctionAddress[m] : -# 1708| v1708_6(void) = Call[m] : func:r1708_5, this:r1708_4 -# 1708| m1708_7(unknown) = ^CallSideEffect : ~m1707_4 -# 1708| m1708_8(unknown) = Chi : total:m1707_4, partial:m1708_7 -# 1708| v1708_9(void) = ^IndirectReadSideEffect[-1] : &:r1708_4, ~m1707_8 -# 1709| v1709_1(void) = NoOp : -# 1707| v1707_9(void) = ReturnIndirection[#this] : &:r1707_7, m1707_8 -# 1707| v1707_10(void) = ReturnVoid : -# 1707| v1707_11(void) = AliasedUse : ~m1708_8 -# 1707| v1707_12(void) = ExitFunction : - -# 1714| void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&) -# 1714| Block 0 -# 1714| v1714_1(void) = EnterFunction : -# 1714| m1714_2(unknown) = AliasedDefinition : -# 1714| m1714_3(unknown) = InitializeNonLocal : -# 1714| m1714_4(unknown) = Chi : total:m1714_2, partial:m1714_3 -# 1714| r1714_5(glval) = VariableAddress[p1] : -# 1714| m1714_6(TrivialLambdaClass) = InitializeParameter[p1] : &:r1714_5 -# 1714| r1714_7(glval) = VariableAddress[p2] : -# 1714| m1714_8(TrivialLambdaClass &) = InitializeParameter[p2] : &:r1714_7 -# 1714| r1714_9(TrivialLambdaClass &) = Load[p2] : &:r1714_7, m1714_8 -# 1714| m1714_10(unknown) = InitializeIndirection[p2] : &:r1714_9 -# 1714| r1714_11(glval) = VariableAddress[p3] : -# 1714| m1714_12(TrivialLambdaClass &&) = InitializeParameter[p3] : &:r1714_11 -# 1714| r1714_13(TrivialLambdaClass &&) = Load[p3] : &:r1714_11, m1714_12 -# 1714| m1714_14(unknown) = InitializeIndirection[p3] : &:r1714_13 -# 1715| r1715_1(glval) = VariableAddress[l1] : -# 1715| m1715_2(TrivialLambdaClass) = Uninitialized[l1] : &:r1715_1 -# 1716| r1716_1(glval) = VariableAddress[l2] : -# 1716| r1716_2(glval) = VariableAddress[#temp1716:36] : -# 1716| r1716_3(TrivialLambdaClass) = Constant[0] : -# 1716| m1716_4(TrivialLambdaClass) = Store[#temp1716:36] : &:r1716_2, r1716_3 -# 1716| r1716_5(glval) = Convert : r1716_2 -# 1716| r1716_6(TrivialLambdaClass &) = CopyValue : r1716_5 -# 1716| m1716_7(TrivialLambdaClass &) = Store[l2] : &:r1716_1, r1716_6 -# 1718| r1718_1(glval) = VariableAddress[l_outer1] : -# 1718| r1718_2(glval) = VariableAddress[#temp1718:20] : -# 1718| m1718_3(decltype([...](...){...})) = Uninitialized[#temp1718:20] : &:r1718_2 -# 1718| r1718_4(glval) = FieldAddress[p1] : r1718_2 -# 1718| r1718_5(glval) = VariableAddress[p1] : -# 1718| r1718_6(TrivialLambdaClass) = Load[p1] : &:r1718_5, m1714_6 -# 1718| m1718_7(TrivialLambdaClass) = Store[?] : &:r1718_4, r1718_6 -# 1718| m1718_8(decltype([...](...){...})) = Chi : total:m1718_3, partial:m1718_7 -# 1718| r1718_9(glval) = FieldAddress[p2] : r1718_2 -# 1718| r1718_10(glval) = VariableAddress[p2] : -# 1718| r1718_11(TrivialLambdaClass &) = Load[p2] : &:r1718_10, m1714_8 -#-----| r0_1(TrivialLambdaClass) = Load[?] : &:r1718_11, ~m1714_10 -#-----| m0_2(TrivialLambdaClass) = Store[?] : &:r1718_9, r0_1 -#-----| m0_3(decltype([...](...){...})) = Chi : total:m1718_8, partial:m0_2 -# 1718| r1718_12(glval) = FieldAddress[p3] : r1718_2 -# 1718| r1718_13(glval) = VariableAddress[p3] : -# 1718| r1718_14(TrivialLambdaClass &&) = Load[p3] : &:r1718_13, m1714_12 -#-----| r0_4(TrivialLambdaClass) = Load[?] : &:r1718_14, ~m1714_14 -#-----| m0_5(TrivialLambdaClass) = Store[?] : &:r1718_12, r0_4 -#-----| m0_6(decltype([...](...){...})) = Chi : total:m0_3, partial:m0_5 -# 1718| r1718_15(glval) = FieldAddress[l1] : r1718_2 -# 1718| r1718_16(glval) = VariableAddress[l1] : -# 1718| r1718_17(TrivialLambdaClass) = Load[l1] : &:r1718_16, m1715_2 -# 1718| m1718_18(TrivialLambdaClass) = Store[?] : &:r1718_15, r1718_17 -# 1718| m1718_19(decltype([...](...){...})) = Chi : total:m0_6, partial:m1718_18 -# 1718| r1718_20(glval) = FieldAddress[l2] : r1718_2 -# 1718| r1718_21(glval) = VariableAddress[l2] : -# 1718| r1718_22(TrivialLambdaClass &) = Load[l2] : &:r1718_21, m1716_7 -#-----| r0_7(TrivialLambdaClass) = Load[?] : &:r1718_22, m1716_4 -#-----| m0_8(TrivialLambdaClass) = Store[?] : &:r1718_20, r0_7 -#-----| m0_9(decltype([...](...){...})) = Chi : total:m1718_19, partial:m0_8 -# 1718| r1718_23(decltype([...](...){...})) = Load[#temp1718:20] : &:r1718_2, m0_9 -# 1718| m1718_24(decltype([...](...){...})) = Store[l_outer1] : &:r1718_1, r1718_23 -# 1721| v1721_1(void) = NoOp : -# 1714| v1714_15(void) = ReturnIndirection[p2] : &:r1714_9, m1714_10 -# 1714| v1714_16(void) = ReturnIndirection[p3] : &:r1714_13, m1714_14 -# 1714| v1714_17(void) = ReturnVoid : -# 1714| v1714_18(void) = AliasedUse : m1714_3 -# 1714| v1714_19(void) = ExitFunction : - -# 1718| void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21)::operator()() const -# 1718| Block 0 -# 1718| v1718_1(void) = EnterFunction : -# 1718| m1718_2(unknown) = AliasedDefinition : -# 1718| m1718_3(unknown) = InitializeNonLocal : -# 1718| m1718_4(unknown) = Chi : total:m1718_2, partial:m1718_3 -# 1718| r1718_5(glval) = VariableAddress[#this] : -# 1718| m1718_6(glval) = InitializeParameter[#this] : &:r1718_5 -# 1718| r1718_7(glval) = Load[#this] : &:r1718_5, m1718_6 -# 1718| m1718_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1718_7 -# 1719| r1719_1(glval) = VariableAddress[l_inner1] : -# 1719| r1719_2(glval) = VariableAddress[#temp1719:24] : -# 1719| m1719_3(decltype([...](...){...})) = Uninitialized[#temp1719:24] : &:r1719_2 -# 1719| r1719_4(glval) = FieldAddress[p1] : r1719_2 -# 1719| r1719_5(glval) = VariableAddress[#this] : -# 1719| r1719_6(lambda [] type at line 1719, col. 25 *) = Load[#this] : &:r1719_5, m1718_6 -# 1719| r1719_7(glval) = FieldAddress[p1] : r1719_6 -# 1719| r1719_8(TrivialLambdaClass) = Load[?] : &:r1719_7, ~m1718_8 -# 1719| m1719_9(TrivialLambdaClass) = Store[?] : &:r1719_4, r1719_8 -# 1719| r1719_10(decltype([...](...){...})) = Load[#temp1719:24] : &:r1719_2, ~m1719_9 -# 1719| m1719_11(decltype([...](...){...})) = Store[l_inner1] : &:r1719_1, r1719_10 -# 1720| v1720_1(void) = NoOp : -# 1718| v1718_9(void) = ReturnIndirection[#this] : &:r1718_7, m1718_8 -# 1718| v1718_10(void) = ReturnVoid : -# 1718| v1718_11(void) = AliasedUse : m1718_3 -# 1718| v1718_12(void) = ExitFunction : - -# 1719| void (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21)::operator()() const)::(lambda [] type at line 1719, col. 25)::operator()() const -# 1719| Block 0 -# 1719| v1719_1(void) = EnterFunction : -# 1719| m1719_2(unknown) = AliasedDefinition : -# 1719| m1719_3(unknown) = InitializeNonLocal : -# 1719| m1719_4(unknown) = Chi : total:m1719_2, partial:m1719_3 -# 1719| r1719_5(glval) = VariableAddress[#this] : -# 1719| m1719_6(glval) = InitializeParameter[#this] : &:r1719_5 -# 1719| r1719_7(glval) = Load[#this] : &:r1719_5, m1719_6 -# 1719| m1719_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1719_7 -# 1719| v1719_9(void) = NoOp : -# 1719| v1719_10(void) = ReturnIndirection[#this] : &:r1719_7, m1719_8 -# 1719| v1719_11(void) = ReturnVoid : -# 1719| v1719_12(void) = AliasedUse : m1719_3 -# 1719| v1719_13(void) = ExitFunction : - -# 1726| void CopyConstructorWithImplicitArgumentClass::CopyConstructorWithImplicitArgumentClass() -# 1726| Block 0 -# 1726| v1726_1(void) = EnterFunction : -# 1726| m1726_2(unknown) = AliasedDefinition : -# 1726| m1726_3(unknown) = InitializeNonLocal : -# 1726| m1726_4(unknown) = Chi : total:m1726_2, partial:m1726_3 -# 1726| r1726_5(glval) = VariableAddress[#this] : -# 1726| m1726_6(glval) = InitializeParameter[#this] : &:r1726_5 -# 1726| r1726_7(glval) = Load[#this] : &:r1726_5, m1726_6 -# 1726| m1726_8(CopyConstructorWithImplicitArgumentClass) = InitializeIndirection[#this] : &:r1726_7 -# 1726| v1726_9(void) = NoOp : -# 1726| v1726_10(void) = ReturnIndirection[#this] : &:r1726_7, m1726_8 -# 1726| v1726_11(void) = ReturnVoid : -# 1726| v1726_12(void) = AliasedUse : m1726_3 -# 1726| v1726_13(void) = ExitFunction : - -# 1727| void CopyConstructorWithImplicitArgumentClass::CopyConstructorWithImplicitArgumentClass(CopyConstructorWithImplicitArgumentClass const&) -# 1727| Block 0 -# 1727| v1727_1(void) = EnterFunction : -# 1727| m1727_2(unknown) = AliasedDefinition : -# 1727| m1727_3(unknown) = InitializeNonLocal : -# 1727| m1727_4(unknown) = Chi : total:m1727_2, partial:m1727_3 -# 1727| r1727_5(glval) = VariableAddress[#this] : -# 1727| m1727_6(glval) = InitializeParameter[#this] : &:r1727_5 -# 1727| r1727_7(glval) = Load[#this] : &:r1727_5, m1727_6 -# 1727| m1727_8(CopyConstructorWithImplicitArgumentClass) = InitializeIndirection[#this] : &:r1727_7 -# 1727| r1727_9(glval) = VariableAddress[c] : -# 1727| m1727_10(CopyConstructorWithImplicitArgumentClass &) = InitializeParameter[c] : &:r1727_9 -# 1727| r1727_11(CopyConstructorWithImplicitArgumentClass &) = Load[c] : &:r1727_9, m1727_10 -# 1727| m1727_12(unknown) = InitializeIndirection[c] : &:r1727_11 -# 1728| r1728_1(glval) = VariableAddress[c] : -# 1728| r1728_2(CopyConstructorWithImplicitArgumentClass &) = Load[c] : &:r1728_1, m1727_10 -# 1728| r1728_3(glval) = CopyValue : r1728_2 -# 1728| r1728_4(glval) = FieldAddress[x] : r1728_3 -# 1728| r1728_5(int) = Load[?] : &:r1728_4, ~m1727_12 -# 1728| r1728_6(glval) = VariableAddress[#this] : -# 1728| r1728_7(CopyConstructorWithImplicitArgumentClass *) = Load[#this] : &:r1728_6, m1727_6 -# 1728| r1728_8(glval) = FieldAddress[x] : r1728_7 -# 1728| m1728_9(int) = Store[?] : &:r1728_8, r1728_5 -# 1728| m1728_10(unknown) = Chi : total:m1727_8, partial:m1728_9 -# 1729| v1729_1(void) = NoOp : -# 1727| v1727_13(void) = ReturnIndirection[#this] : &:r1727_7, m1728_10 -# 1727| v1727_14(void) = ReturnIndirection[c] : &:r1727_11, m1727_12 -# 1727| v1727_15(void) = ReturnVoid : -# 1727| v1727_16(void) = AliasedUse : m1727_3 -# 1727| v1727_17(void) = ExitFunction : - -# 1735| void CopyConstructorWithBitwiseCopyClass::CopyConstructorWithBitwiseCopyClass() -# 1735| Block 0 -# 1735| v1735_1(void) = EnterFunction : -# 1735| m1735_2(unknown) = AliasedDefinition : -# 1735| m1735_3(unknown) = InitializeNonLocal : -# 1735| m1735_4(unknown) = Chi : total:m1735_2, partial:m1735_3 -# 1735| r1735_5(glval) = VariableAddress[#this] : -# 1735| m1735_6(glval) = InitializeParameter[#this] : &:r1735_5 -# 1735| r1735_7(glval) = Load[#this] : &:r1735_5, m1735_6 -# 1735| m1735_8(CopyConstructorWithBitwiseCopyClass) = InitializeIndirection[#this] : &:r1735_7 -# 1735| v1735_9(void) = NoOp : -# 1735| v1735_10(void) = ReturnIndirection[#this] : &:r1735_7, m1735_8 -# 1735| v1735_11(void) = ReturnVoid : -# 1735| v1735_12(void) = AliasedUse : m1735_3 -# 1735| v1735_13(void) = ExitFunction : - -# 1738| void CopyConstructorTestNonVirtualClass::CopyConstructorTestNonVirtualClass(CopyConstructorTestNonVirtualClass const&) +# 1738| void (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)::operator()() const)::(lambda [] type at line 1738, col. 29)::operator()() const # 1738| Block 0 -# 1738| v1738_1(void) = EnterFunction : -# 1738| m1738_2(unknown) = AliasedDefinition : -# 1738| m1738_3(unknown) = InitializeNonLocal : -# 1738| m1738_4(unknown) = Chi : total:m1738_2, partial:m1738_3 -# 1738| r1738_5(glval) = VariableAddress[#this] : -# 1738| m1738_6(glval) = InitializeParameter[#this] : &:r1738_5 -# 1738| r1738_7(glval) = Load[#this] : &:r1738_5, m1738_6 -# 1738| m1738_8(CopyConstructorTestNonVirtualClass) = InitializeIndirection[#this] : &:r1738_7 +# 1738| v1738_1(void) = EnterFunction : +# 1738| m1738_2(unknown) = AliasedDefinition : +# 1738| m1738_3(unknown) = InitializeNonLocal : +# 1738| m1738_4(unknown) = Chi : total:m1738_2, partial:m1738_3 +# 1738| r1738_5(glval) = VariableAddress[#this] : +# 1738| m1738_6(glval) = InitializeParameter[#this] : &:r1738_5 +# 1738| r1738_7(glval) = Load[#this] : &:r1738_5, m1738_6 +# 1738| m1738_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1738_7 +# 1738| v1738_9(void) = NoOp : +# 1738| v1738_10(void) = NoOp : +# 1738| v1738_11(void) = ReturnIndirection[#this] : &:r1738_7, m1738_8 +# 1738| v1738_12(void) = ReturnVoid : +# 1738| v1738_13(void) = AliasedUse : m1738_3 +# 1738| v1738_14(void) = ExitFunction : + +# 1742| int goto_on_same_line() +# 1742| Block 0 +# 1742| v1742_1(void) = EnterFunction : +# 1742| m1742_2(unknown) = AliasedDefinition : +# 1742| m1742_3(unknown) = InitializeNonLocal : +# 1742| m1742_4(unknown) = Chi : total:m1742_2, partial:m1742_3 +# 1743| r1743_1(glval) = VariableAddress[x] : +# 1743| r1743_2(int) = Constant[42] : +# 1743| m1743_3(int) = Store[x] : &:r1743_1, r1743_2 +# 1744| v1744_1(void) = NoOp : +# 1744| v1744_2(void) = NoOp : +# 1745| r1745_1(glval) = VariableAddress[#return] : +# 1745| r1745_2(glval) = VariableAddress[x] : +# 1745| r1745_3(int) = Load[x] : &:r1745_2, m1743_3 +# 1745| m1745_4(int) = Store[#return] : &:r1745_1, r1745_3 +# 1742| r1742_5(glval) = VariableAddress[#return] : +# 1742| v1742_6(void) = ReturnValue : &:r1742_5, m1745_4 +# 1742| v1742_7(void) = AliasedUse : m1742_3 +# 1742| v1742_8(void) = ExitFunction : + +# 1750| void TrivialLambdaClass::m() const +# 1750| Block 0 +# 1750| v1750_1(void) = EnterFunction : +# 1750| m1750_2(unknown) = AliasedDefinition : +# 1750| m1750_3(unknown) = InitializeNonLocal : +# 1750| m1750_4(unknown) = Chi : total:m1750_2, partial:m1750_3 +# 1750| r1750_5(glval) = VariableAddress[#this] : +# 1750| m1750_6(glval) = InitializeParameter[#this] : &:r1750_5 +# 1750| r1750_7(glval) = Load[#this] : &:r1750_5, m1750_6 +# 1750| m1750_8(TrivialLambdaClass) = InitializeIndirection[#this] : &:r1750_7 +# 1751| r1751_1(glval) = VariableAddress[l_m_outer] : +# 1751| r1751_2(glval) = VariableAddress[#temp1751:25] : +# 1751| m1751_3(decltype([...](...){...})) = Uninitialized[#temp1751:25] : &:r1751_2 +# 1751| r1751_4(glval) = FieldAddress[(captured this)] : r1751_2 +# 1751| r1751_5(glval) = VariableAddress[#this] : +# 1751| r1751_6(TrivialLambdaClass *) = Load[#this] : &:r1751_5, m1750_6 +# 1751| r1751_7(TrivialLambdaClass) = Load[?] : &:r1751_6, ~m1750_8 +# 1751| m1751_8(TrivialLambdaClass) = Store[?] : &:r1751_4, r1751_7 +# 1751| r1751_9(decltype([...](...){...})) = Load[#temp1751:25] : &:r1751_2, ~m1751_8 +# 1751| m1751_10(decltype([...](...){...})) = Store[l_m_outer] : &:r1751_1, r1751_9 +# 1758| v1758_1(void) = NoOp : +# 1750| v1750_9(void) = ReturnIndirection[#this] : &:r1750_7, m1750_8 +# 1750| v1750_10(void) = ReturnVoid : +# 1750| v1750_11(void) = AliasedUse : m1750_3 +# 1750| v1750_12(void) = ExitFunction : + +# 1751| void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)::operator()() const +# 1751| Block 0 +# 1751| v1751_1(void) = EnterFunction : +# 1751| m1751_2(unknown) = AliasedDefinition : +# 1751| m1751_3(unknown) = InitializeNonLocal : +# 1751| m1751_4(unknown) = Chi : total:m1751_2, partial:m1751_3 +# 1751| r1751_5(glval) = VariableAddress[#this] : +# 1751| m1751_6(glval) = InitializeParameter[#this] : &:r1751_5 +# 1751| r1751_7(glval) = Load[#this] : &:r1751_5, m1751_6 +# 1751| m1751_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1751_7 +# 1752| r1752_1(glval) = VariableAddress[#this] : +# 1752| r1752_2(lambda [] type at line 1751, col. 26 *) = Load[#this] : &:r1752_1, m1751_6 +# 1752| r1752_3(glval) = FieldAddress[(captured this)] : r1752_2 +# 1752| r1752_4(TrivialLambdaClass *) = CopyValue : r1752_3 +# 1752| r1752_5(glval) = FunctionAddress[m] : +# 1752| v1752_6(void) = Call[m] : func:r1752_5, this:r1752_4 +# 1752| m1752_7(unknown) = ^CallSideEffect : ~m1751_4 +# 1752| m1752_8(unknown) = Chi : total:m1751_4, partial:m1752_7 +# 1752| v1752_9(void) = ^IndirectReadSideEffect[-1] : &:r1752_4, ~m1751_8 +# 1754| r1754_1(glval) = VariableAddress[l_m_inner] : +# 1754| r1754_2(glval) = VariableAddress[#temp1754:29] : +# 1754| m1754_3(decltype([...](...){...})) = Uninitialized[#temp1754:29] : &:r1754_2 +# 1754| r1754_4(glval) = FieldAddress[(captured this)] : r1754_2 +# 1754| r1754_5(glval) = VariableAddress[#this] : +# 1754| r1754_6(lambda [] type at line 1754, col. 30 *) = Load[#this] : &:r1754_5, m1751_6 +# 1754| r1754_7(glval) = FieldAddress[(captured this)] : r1754_6 +# 1754| r1754_8(TrivialLambdaClass) = Load[?] : &:r1754_7, ~m1751_8 +# 1754| m1754_9(TrivialLambdaClass) = Store[?] : &:r1754_4, r1754_8 +# 1754| r1754_10(decltype([...](...){...})) = Load[#temp1754:29] : &:r1754_2, ~m1754_9 +# 1754| m1754_11(decltype([...](...){...})) = Store[l_m_inner] : &:r1754_1, r1754_10 +# 1757| v1757_1(void) = NoOp : +# 1751| v1751_9(void) = ReturnIndirection[#this] : &:r1751_7, m1751_8 +# 1751| v1751_10(void) = ReturnVoid : +# 1751| v1751_11(void) = AliasedUse : ~m1752_8 +# 1751| v1751_12(void) = ExitFunction : + +# 1754| void (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)::operator()() const)::(lambda [] type at line 1754, col. 30)::operator()() const +# 1754| Block 0 +# 1754| v1754_1(void) = EnterFunction : +# 1754| m1754_2(unknown) = AliasedDefinition : +# 1754| m1754_3(unknown) = InitializeNonLocal : +# 1754| m1754_4(unknown) = Chi : total:m1754_2, partial:m1754_3 +# 1754| r1754_5(glval) = VariableAddress[#this] : +# 1754| m1754_6(glval) = InitializeParameter[#this] : &:r1754_5 +# 1754| r1754_7(glval) = Load[#this] : &:r1754_5, m1754_6 +# 1754| m1754_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1754_7 +# 1755| r1755_1(glval) = VariableAddress[#this] : +# 1755| r1755_2(lambda [] type at line 1754, col. 30 *) = Load[#this] : &:r1755_1, m1754_6 +# 1755| r1755_3(glval) = FieldAddress[(captured this)] : r1755_2 +# 1755| r1755_4(TrivialLambdaClass *) = CopyValue : r1755_3 +# 1755| r1755_5(glval) = FunctionAddress[m] : +# 1755| v1755_6(void) = Call[m] : func:r1755_5, this:r1755_4 +# 1755| m1755_7(unknown) = ^CallSideEffect : ~m1754_4 +# 1755| m1755_8(unknown) = Chi : total:m1754_4, partial:m1755_7 +# 1755| v1755_9(void) = ^IndirectReadSideEffect[-1] : &:r1755_4, ~m1754_8 +# 1756| v1756_1(void) = NoOp : +# 1754| v1754_9(void) = ReturnIndirection[#this] : &:r1754_7, m1754_8 +# 1754| v1754_10(void) = ReturnVoid : +# 1754| v1754_11(void) = AliasedUse : ~m1755_8 +# 1754| v1754_12(void) = ExitFunction : + +# 1761| void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&) +# 1761| Block 0 +# 1761| v1761_1(void) = EnterFunction : +# 1761| m1761_2(unknown) = AliasedDefinition : +# 1761| m1761_3(unknown) = InitializeNonLocal : +# 1761| m1761_4(unknown) = Chi : total:m1761_2, partial:m1761_3 +# 1761| r1761_5(glval) = VariableAddress[p1] : +# 1761| m1761_6(TrivialLambdaClass) = InitializeParameter[p1] : &:r1761_5 +# 1761| r1761_7(glval) = VariableAddress[p2] : +# 1761| m1761_8(TrivialLambdaClass &) = InitializeParameter[p2] : &:r1761_7 +# 1761| r1761_9(TrivialLambdaClass &) = Load[p2] : &:r1761_7, m1761_8 +# 1761| m1761_10(unknown) = InitializeIndirection[p2] : &:r1761_9 +# 1761| r1761_11(glval) = VariableAddress[p3] : +# 1761| m1761_12(TrivialLambdaClass &&) = InitializeParameter[p3] : &:r1761_11 +# 1761| r1761_13(TrivialLambdaClass &&) = Load[p3] : &:r1761_11, m1761_12 +# 1761| m1761_14(unknown) = InitializeIndirection[p3] : &:r1761_13 +# 1762| r1762_1(glval) = VariableAddress[l1] : +# 1762| m1762_2(TrivialLambdaClass) = Uninitialized[l1] : &:r1762_1 +# 1763| r1763_1(glval) = VariableAddress[l2] : +# 1763| r1763_2(glval) = VariableAddress[#temp1763:36] : +# 1763| r1763_3(TrivialLambdaClass) = Constant[0] : +# 1763| m1763_4(TrivialLambdaClass) = Store[#temp1763:36] : &:r1763_2, r1763_3 +# 1763| r1763_5(glval) = Convert : r1763_2 +# 1763| r1763_6(TrivialLambdaClass &) = CopyValue : r1763_5 +# 1763| m1763_7(TrivialLambdaClass &) = Store[l2] : &:r1763_1, r1763_6 +# 1765| r1765_1(glval) = VariableAddress[l_outer1] : +# 1765| r1765_2(glval) = VariableAddress[#temp1765:20] : +# 1765| m1765_3(decltype([...](...){...})) = Uninitialized[#temp1765:20] : &:r1765_2 +# 1765| r1765_4(glval) = FieldAddress[p1] : r1765_2 +# 1765| r1765_5(glval) = VariableAddress[p1] : +# 1765| r1765_6(TrivialLambdaClass) = Load[p1] : &:r1765_5, m1761_6 +# 1765| m1765_7(TrivialLambdaClass) = Store[?] : &:r1765_4, r1765_6 +# 1765| m1765_8(decltype([...](...){...})) = Chi : total:m1765_3, partial:m1765_7 +# 1765| r1765_9(glval) = FieldAddress[p2] : r1765_2 +# 1765| r1765_10(glval) = VariableAddress[p2] : +# 1765| r1765_11(TrivialLambdaClass &) = Load[p2] : &:r1765_10, m1761_8 +#-----| r0_1(TrivialLambdaClass) = Load[?] : &:r1765_11, ~m1761_10 +#-----| m0_2(TrivialLambdaClass) = Store[?] : &:r1765_9, r0_1 +#-----| m0_3(decltype([...](...){...})) = Chi : total:m1765_8, partial:m0_2 +# 1765| r1765_12(glval) = FieldAddress[p3] : r1765_2 +# 1765| r1765_13(glval) = VariableAddress[p3] : +# 1765| r1765_14(TrivialLambdaClass &&) = Load[p3] : &:r1765_13, m1761_12 +#-----| r0_4(TrivialLambdaClass) = Load[?] : &:r1765_14, ~m1761_14 +#-----| m0_5(TrivialLambdaClass) = Store[?] : &:r1765_12, r0_4 +#-----| m0_6(decltype([...](...){...})) = Chi : total:m0_3, partial:m0_5 +# 1765| r1765_15(glval) = FieldAddress[l1] : r1765_2 +# 1765| r1765_16(glval) = VariableAddress[l1] : +# 1765| r1765_17(TrivialLambdaClass) = Load[l1] : &:r1765_16, m1762_2 +# 1765| m1765_18(TrivialLambdaClass) = Store[?] : &:r1765_15, r1765_17 +# 1765| m1765_19(decltype([...](...){...})) = Chi : total:m0_6, partial:m1765_18 +# 1765| r1765_20(glval) = FieldAddress[l2] : r1765_2 +# 1765| r1765_21(glval) = VariableAddress[l2] : +# 1765| r1765_22(TrivialLambdaClass &) = Load[l2] : &:r1765_21, m1763_7 +#-----| r0_7(TrivialLambdaClass) = Load[?] : &:r1765_22, m1763_4 +#-----| m0_8(TrivialLambdaClass) = Store[?] : &:r1765_20, r0_7 +#-----| m0_9(decltype([...](...){...})) = Chi : total:m1765_19, partial:m0_8 +# 1765| r1765_23(decltype([...](...){...})) = Load[#temp1765:20] : &:r1765_2, m0_9 +# 1765| m1765_24(decltype([...](...){...})) = Store[l_outer1] : &:r1765_1, r1765_23 +# 1768| v1768_1(void) = NoOp : +# 1761| v1761_15(void) = ReturnIndirection[p2] : &:r1761_9, m1761_10 +# 1761| v1761_16(void) = ReturnIndirection[p3] : &:r1761_13, m1761_14 +# 1761| v1761_17(void) = ReturnVoid : +# 1761| v1761_18(void) = AliasedUse : m1761_3 +# 1761| v1761_19(void) = ExitFunction : + +# 1765| void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)::operator()() const +# 1765| Block 0 +# 1765| v1765_1(void) = EnterFunction : +# 1765| m1765_2(unknown) = AliasedDefinition : +# 1765| m1765_3(unknown) = InitializeNonLocal : +# 1765| m1765_4(unknown) = Chi : total:m1765_2, partial:m1765_3 +# 1765| r1765_5(glval) = VariableAddress[#this] : +# 1765| m1765_6(glval) = InitializeParameter[#this] : &:r1765_5 +# 1765| r1765_7(glval) = Load[#this] : &:r1765_5, m1765_6 +# 1765| m1765_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1765_7 +# 1766| r1766_1(glval) = VariableAddress[l_inner1] : +# 1766| r1766_2(glval) = VariableAddress[#temp1766:24] : +# 1766| m1766_3(decltype([...](...){...})) = Uninitialized[#temp1766:24] : &:r1766_2 +# 1766| r1766_4(glval) = FieldAddress[p1] : r1766_2 +# 1766| r1766_5(glval) = VariableAddress[#this] : +# 1766| r1766_6(lambda [] type at line 1766, col. 25 *) = Load[#this] : &:r1766_5, m1765_6 +# 1766| r1766_7(glval) = FieldAddress[p1] : r1766_6 +# 1766| r1766_8(TrivialLambdaClass) = Load[?] : &:r1766_7, ~m1765_8 +# 1766| m1766_9(TrivialLambdaClass) = Store[?] : &:r1766_4, r1766_8 +# 1766| r1766_10(decltype([...](...){...})) = Load[#temp1766:24] : &:r1766_2, ~m1766_9 +# 1766| m1766_11(decltype([...](...){...})) = Store[l_inner1] : &:r1766_1, r1766_10 +# 1767| v1767_1(void) = NoOp : +# 1765| v1765_9(void) = ReturnIndirection[#this] : &:r1765_7, m1765_8 +# 1765| v1765_10(void) = ReturnVoid : +# 1765| v1765_11(void) = AliasedUse : m1765_3 +# 1765| v1765_12(void) = ExitFunction : + +# 1766| void (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)::operator()() const)::(lambda [] type at line 1766, col. 25)::operator()() const +# 1766| Block 0 +# 1766| v1766_1(void) = EnterFunction : +# 1766| m1766_2(unknown) = AliasedDefinition : +# 1766| m1766_3(unknown) = InitializeNonLocal : +# 1766| m1766_4(unknown) = Chi : total:m1766_2, partial:m1766_3 +# 1766| r1766_5(glval) = VariableAddress[#this] : +# 1766| m1766_6(glval) = InitializeParameter[#this] : &:r1766_5 +# 1766| r1766_7(glval) = Load[#this] : &:r1766_5, m1766_6 +# 1766| m1766_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1766_7 +# 1766| v1766_9(void) = NoOp : +# 1766| v1766_10(void) = ReturnIndirection[#this] : &:r1766_7, m1766_8 +# 1766| v1766_11(void) = ReturnVoid : +# 1766| v1766_12(void) = AliasedUse : m1766_3 +# 1766| v1766_13(void) = ExitFunction : + +# 1773| void CopyConstructorWithImplicitArgumentClass::CopyConstructorWithImplicitArgumentClass() +# 1773| Block 0 +# 1773| v1773_1(void) = EnterFunction : +# 1773| m1773_2(unknown) = AliasedDefinition : +# 1773| m1773_3(unknown) = InitializeNonLocal : +# 1773| m1773_4(unknown) = Chi : total:m1773_2, partial:m1773_3 +# 1773| r1773_5(glval) = VariableAddress[#this] : +# 1773| m1773_6(glval) = InitializeParameter[#this] : &:r1773_5 +# 1773| r1773_7(glval) = Load[#this] : &:r1773_5, m1773_6 +# 1773| m1773_8(CopyConstructorWithImplicitArgumentClass) = InitializeIndirection[#this] : &:r1773_7 +# 1773| v1773_9(void) = NoOp : +# 1773| v1773_10(void) = ReturnIndirection[#this] : &:r1773_7, m1773_8 +# 1773| v1773_11(void) = ReturnVoid : +# 1773| v1773_12(void) = AliasedUse : m1773_3 +# 1773| v1773_13(void) = ExitFunction : + +# 1774| void CopyConstructorWithImplicitArgumentClass::CopyConstructorWithImplicitArgumentClass(CopyConstructorWithImplicitArgumentClass const&) +# 1774| Block 0 +# 1774| v1774_1(void) = EnterFunction : +# 1774| m1774_2(unknown) = AliasedDefinition : +# 1774| m1774_3(unknown) = InitializeNonLocal : +# 1774| m1774_4(unknown) = Chi : total:m1774_2, partial:m1774_3 +# 1774| r1774_5(glval) = VariableAddress[#this] : +# 1774| m1774_6(glval) = InitializeParameter[#this] : &:r1774_5 +# 1774| r1774_7(glval) = Load[#this] : &:r1774_5, m1774_6 +# 1774| m1774_8(CopyConstructorWithImplicitArgumentClass) = InitializeIndirection[#this] : &:r1774_7 +# 1774| r1774_9(glval) = VariableAddress[c] : +# 1774| m1774_10(CopyConstructorWithImplicitArgumentClass &) = InitializeParameter[c] : &:r1774_9 +# 1774| r1774_11(CopyConstructorWithImplicitArgumentClass &) = Load[c] : &:r1774_9, m1774_10 +# 1774| m1774_12(unknown) = InitializeIndirection[c] : &:r1774_11 +# 1775| r1775_1(glval) = VariableAddress[c] : +# 1775| r1775_2(CopyConstructorWithImplicitArgumentClass &) = Load[c] : &:r1775_1, m1774_10 +# 1775| r1775_3(glval) = CopyValue : r1775_2 +# 1775| r1775_4(glval) = FieldAddress[x] : r1775_3 +# 1775| r1775_5(int) = Load[?] : &:r1775_4, ~m1774_12 +# 1775| r1775_6(glval) = VariableAddress[#this] : +# 1775| r1775_7(CopyConstructorWithImplicitArgumentClass *) = Load[#this] : &:r1775_6, m1774_6 +# 1775| r1775_8(glval) = FieldAddress[x] : r1775_7 +# 1775| m1775_9(int) = Store[?] : &:r1775_8, r1775_5 +# 1775| m1775_10(unknown) = Chi : total:m1774_8, partial:m1775_9 +# 1776| v1776_1(void) = NoOp : +# 1774| v1774_13(void) = ReturnIndirection[#this] : &:r1774_7, m1775_10 +# 1774| v1774_14(void) = ReturnIndirection[c] : &:r1774_11, m1774_12 +# 1774| v1774_15(void) = ReturnVoid : +# 1774| v1774_16(void) = AliasedUse : m1774_3 +# 1774| v1774_17(void) = ExitFunction : + +# 1782| void CopyConstructorWithBitwiseCopyClass::CopyConstructorWithBitwiseCopyClass() +# 1782| Block 0 +# 1782| v1782_1(void) = EnterFunction : +# 1782| m1782_2(unknown) = AliasedDefinition : +# 1782| m1782_3(unknown) = InitializeNonLocal : +# 1782| m1782_4(unknown) = Chi : total:m1782_2, partial:m1782_3 +# 1782| r1782_5(glval) = VariableAddress[#this] : +# 1782| m1782_6(glval) = InitializeParameter[#this] : &:r1782_5 +# 1782| r1782_7(glval) = Load[#this] : &:r1782_5, m1782_6 +# 1782| m1782_8(CopyConstructorWithBitwiseCopyClass) = InitializeIndirection[#this] : &:r1782_7 +# 1782| v1782_9(void) = NoOp : +# 1782| v1782_10(void) = ReturnIndirection[#this] : &:r1782_7, m1782_8 +# 1782| v1782_11(void) = ReturnVoid : +# 1782| v1782_12(void) = AliasedUse : m1782_3 +# 1782| v1782_13(void) = ExitFunction : + +# 1785| void CopyConstructorTestNonVirtualClass::CopyConstructorTestNonVirtualClass(CopyConstructorTestNonVirtualClass const&) +# 1785| Block 0 +# 1785| v1785_1(void) = EnterFunction : +# 1785| m1785_2(unknown) = AliasedDefinition : +# 1785| m1785_3(unknown) = InitializeNonLocal : +# 1785| m1785_4(unknown) = Chi : total:m1785_2, partial:m1785_3 +# 1785| r1785_5(glval) = VariableAddress[#this] : +# 1785| m1785_6(glval) = InitializeParameter[#this] : &:r1785_5 +# 1785| r1785_7(glval) = Load[#this] : &:r1785_5, m1785_6 +# 1785| m1785_8(CopyConstructorTestNonVirtualClass) = InitializeIndirection[#this] : &:r1785_7 #-----| r0_1(glval) = VariableAddress[(unnamed parameter 0)] : #-----| m0_2(CopyConstructorTestNonVirtualClass &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1 #-----| r0_3(CopyConstructorTestNonVirtualClass &) = Load[(unnamed parameter 0)] : &:r0_1, m0_2 #-----| m0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3 -# 1738| r1738_9(glval) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithImplicitArgumentClass] : m1738_6 -# 1738| r1738_10(glval) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] : -# 1738| r1738_11(glval) = VariableAddress[(unnamed parameter 0)] : -# 1738| r1738_12(CopyConstructorTestNonVirtualClass &) = Load[(unnamed parameter 0)] : &:r1738_11, m0_2 -# 1738| r1738_13(glval) = CopyValue : r1738_12 -# 1738| r1738_14(glval) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithImplicitArgumentClass] : r1738_13 -# 1738| r1738_15(CopyConstructorWithImplicitArgumentClass &) = CopyValue : r1738_14 -# 1738| v1738_16(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1738_10, this:r1738_9, 0:r1738_15 -# 1738| m1738_17(unknown) = ^CallSideEffect : ~m1738_4 -# 1738| m1738_18(unknown) = Chi : total:m1738_4, partial:m1738_17 -# 1738| v1738_19(void) = ^BufferReadSideEffect[0] : &:r1738_15, ~m0_4 -# 1738| m1738_20(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1738_9 -# 1738| m1738_21(unknown) = Chi : total:m1738_8, partial:m1738_20 -# 1738| v1738_22(void) = NoOp : -# 1738| v1738_23(void) = ReturnIndirection[#this] : &:r1738_7, m1738_21 +# 1785| r1785_9(glval) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithImplicitArgumentClass] : m1785_6 +# 1785| r1785_10(glval) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] : +# 1785| r1785_11(glval) = VariableAddress[(unnamed parameter 0)] : +# 1785| r1785_12(CopyConstructorTestNonVirtualClass &) = Load[(unnamed parameter 0)] : &:r1785_11, m0_2 +# 1785| r1785_13(glval) = CopyValue : r1785_12 +# 1785| r1785_14(glval) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithImplicitArgumentClass] : r1785_13 +# 1785| r1785_15(CopyConstructorWithImplicitArgumentClass &) = CopyValue : r1785_14 +# 1785| v1785_16(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1785_10, this:r1785_9, 0:r1785_15 +# 1785| m1785_17(unknown) = ^CallSideEffect : ~m1785_4 +# 1785| m1785_18(unknown) = Chi : total:m1785_4, partial:m1785_17 +# 1785| v1785_19(void) = ^BufferReadSideEffect[0] : &:r1785_15, ~m0_4 +# 1785| m1785_20(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1785_9 +# 1785| m1785_21(unknown) = Chi : total:m1785_8, partial:m1785_20 +# 1785| v1785_22(void) = NoOp : +# 1785| v1785_23(void) = ReturnIndirection[#this] : &:r1785_7, m1785_21 #-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4 -# 1738| v1738_24(void) = ReturnVoid : -# 1738| v1738_25(void) = AliasedUse : ~m1738_18 -# 1738| v1738_26(void) = ExitFunction : +# 1785| v1785_24(void) = ReturnVoid : +# 1785| v1785_25(void) = AliasedUse : ~m1785_18 +# 1785| v1785_26(void) = ExitFunction : -# 1742| void CopyConstructorTestNonVirtualClass::CopyConstructorTestNonVirtualClass() -# 1742| Block 0 -# 1742| v1742_1(void) = EnterFunction : -# 1742| m1742_2(unknown) = AliasedDefinition : -# 1742| m1742_3(unknown) = InitializeNonLocal : -# 1742| m1742_4(unknown) = Chi : total:m1742_2, partial:m1742_3 -# 1742| r1742_5(glval) = VariableAddress[#this] : -# 1742| m1742_6(glval) = InitializeParameter[#this] : &:r1742_5 -# 1742| r1742_7(glval) = Load[#this] : &:r1742_5, m1742_6 -# 1742| m1742_8(CopyConstructorTestNonVirtualClass) = InitializeIndirection[#this] : &:r1742_7 -# 1742| r1742_9(glval) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithImplicitArgumentClass] : m1742_6 -# 1742| r1742_10(glval) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] : -# 1742| v1742_11(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1742_10, this:r1742_9 -# 1742| m1742_12(unknown) = ^CallSideEffect : ~m1742_4 -# 1742| m1742_13(unknown) = Chi : total:m1742_4, partial:m1742_12 -# 1742| m1742_14(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1742_9 -# 1742| m1742_15(unknown) = Chi : total:m1742_8, partial:m1742_14 -# 1742| r1742_16(glval) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithBitwiseCopyClass] : m1742_6 -# 1742| r1742_17(glval) = FunctionAddress[CopyConstructorWithBitwiseCopyClass] : -# 1742| v1742_18(void) = Call[CopyConstructorWithBitwiseCopyClass] : func:r1742_17, this:r1742_16 -# 1742| m1742_19(unknown) = ^CallSideEffect : ~m1742_13 -# 1742| m1742_20(unknown) = Chi : total:m1742_13, partial:m1742_19 -# 1742| m1742_21(CopyConstructorWithBitwiseCopyClass) = ^IndirectMayWriteSideEffect[-1] : &:r1742_16 -# 1742| m1742_22(unknown) = Chi : total:m1742_15, partial:m1742_21 -# 1742| v1742_23(void) = NoOp : -# 1742| v1742_24(void) = ReturnIndirection[#this] : &:r1742_7, m1742_22 -# 1742| v1742_25(void) = ReturnVoid : -# 1742| v1742_26(void) = AliasedUse : ~m1742_20 -# 1742| v1742_27(void) = ExitFunction : +# 1789| void CopyConstructorTestNonVirtualClass::CopyConstructorTestNonVirtualClass() +# 1789| Block 0 +# 1789| v1789_1(void) = EnterFunction : +# 1789| m1789_2(unknown) = AliasedDefinition : +# 1789| m1789_3(unknown) = InitializeNonLocal : +# 1789| m1789_4(unknown) = Chi : total:m1789_2, partial:m1789_3 +# 1789| r1789_5(glval) = VariableAddress[#this] : +# 1789| m1789_6(glval) = InitializeParameter[#this] : &:r1789_5 +# 1789| r1789_7(glval) = Load[#this] : &:r1789_5, m1789_6 +# 1789| m1789_8(CopyConstructorTestNonVirtualClass) = InitializeIndirection[#this] : &:r1789_7 +# 1789| r1789_9(glval) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithImplicitArgumentClass] : m1789_6 +# 1789| r1789_10(glval) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] : +# 1789| v1789_11(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1789_10, this:r1789_9 +# 1789| m1789_12(unknown) = ^CallSideEffect : ~m1789_4 +# 1789| m1789_13(unknown) = Chi : total:m1789_4, partial:m1789_12 +# 1789| m1789_14(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1789_9 +# 1789| m1789_15(unknown) = Chi : total:m1789_8, partial:m1789_14 +# 1789| r1789_16(glval) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithBitwiseCopyClass] : m1789_6 +# 1789| r1789_17(glval) = FunctionAddress[CopyConstructorWithBitwiseCopyClass] : +# 1789| v1789_18(void) = Call[CopyConstructorWithBitwiseCopyClass] : func:r1789_17, this:r1789_16 +# 1789| m1789_19(unknown) = ^CallSideEffect : ~m1789_13 +# 1789| m1789_20(unknown) = Chi : total:m1789_13, partial:m1789_19 +# 1789| m1789_21(CopyConstructorWithBitwiseCopyClass) = ^IndirectMayWriteSideEffect[-1] : &:r1789_16 +# 1789| m1789_22(unknown) = Chi : total:m1789_15, partial:m1789_21 +# 1789| v1789_23(void) = NoOp : +# 1789| v1789_24(void) = ReturnIndirection[#this] : &:r1789_7, m1789_22 +# 1789| v1789_25(void) = ReturnVoid : +# 1789| v1789_26(void) = AliasedUse : ~m1789_20 +# 1789| v1789_27(void) = ExitFunction : -# 1745| void CopyConstructorTestVirtualClass::CopyConstructorTestVirtualClass(CopyConstructorTestVirtualClass const&) -# 1745| Block 0 -# 1745| v1745_1(void) = EnterFunction : -# 1745| m1745_2(unknown) = AliasedDefinition : -# 1745| m1745_3(unknown) = InitializeNonLocal : -# 1745| m1745_4(unknown) = Chi : total:m1745_2, partial:m1745_3 -# 1745| r1745_5(glval) = VariableAddress[#this] : -# 1745| m1745_6(glval) = InitializeParameter[#this] : &:r1745_5 -# 1745| r1745_7(glval) = Load[#this] : &:r1745_5, m1745_6 -# 1745| m1745_8(CopyConstructorTestVirtualClass) = InitializeIndirection[#this] : &:r1745_7 +# 1792| void CopyConstructorTestVirtualClass::CopyConstructorTestVirtualClass(CopyConstructorTestVirtualClass const&) +# 1792| Block 0 +# 1792| v1792_1(void) = EnterFunction : +# 1792| m1792_2(unknown) = AliasedDefinition : +# 1792| m1792_3(unknown) = InitializeNonLocal : +# 1792| m1792_4(unknown) = Chi : total:m1792_2, partial:m1792_3 +# 1792| r1792_5(glval) = VariableAddress[#this] : +# 1792| m1792_6(glval) = InitializeParameter[#this] : &:r1792_5 +# 1792| r1792_7(glval) = Load[#this] : &:r1792_5, m1792_6 +# 1792| m1792_8(CopyConstructorTestVirtualClass) = InitializeIndirection[#this] : &:r1792_7 #-----| r0_1(glval) = VariableAddress[(unnamed parameter 0)] : #-----| m0_2(CopyConstructorTestVirtualClass &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1 #-----| r0_3(CopyConstructorTestVirtualClass &) = Load[(unnamed parameter 0)] : &:r0_1, m0_2 #-----| m0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3 -# 1745| r1745_9(glval) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithImplicitArgumentClass] : m1745_6 -# 1745| r1745_10(glval) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] : -# 1745| r1745_11(glval) = VariableAddress[(unnamed parameter 0)] : -# 1745| r1745_12(CopyConstructorTestVirtualClass &) = Load[(unnamed parameter 0)] : &:r1745_11, m0_2 -# 1745| r1745_13(glval) = CopyValue : r1745_12 -# 1745| r1745_14(glval) = ConvertToVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithImplicitArgumentClass] : r1745_13 -# 1745| r1745_15(CopyConstructorWithImplicitArgumentClass &) = CopyValue : r1745_14 -# 1745| v1745_16(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1745_10, this:r1745_9, 0:r1745_15 -# 1745| m1745_17(unknown) = ^CallSideEffect : ~m1745_4 -# 1745| m1745_18(unknown) = Chi : total:m1745_4, partial:m1745_17 -# 1745| v1745_19(void) = ^BufferReadSideEffect[0] : &:r1745_15, ~m0_4 -# 1745| m1745_20(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1745_9 -# 1745| m1745_21(unknown) = Chi : total:m1745_18, partial:m1745_20 -# 1745| v1745_22(void) = NoOp : -# 1745| v1745_23(void) = ReturnIndirection[#this] : &:r1745_7, m1745_8 +# 1792| r1792_9(glval) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithImplicitArgumentClass] : m1792_6 +# 1792| r1792_10(glval) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] : +# 1792| r1792_11(glval) = VariableAddress[(unnamed parameter 0)] : +# 1792| r1792_12(CopyConstructorTestVirtualClass &) = Load[(unnamed parameter 0)] : &:r1792_11, m0_2 +# 1792| r1792_13(glval) = CopyValue : r1792_12 +# 1792| r1792_14(glval) = ConvertToVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithImplicitArgumentClass] : r1792_13 +# 1792| r1792_15(CopyConstructorWithImplicitArgumentClass &) = CopyValue : r1792_14 +# 1792| v1792_16(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1792_10, this:r1792_9, 0:r1792_15 +# 1792| m1792_17(unknown) = ^CallSideEffect : ~m1792_4 +# 1792| m1792_18(unknown) = Chi : total:m1792_4, partial:m1792_17 +# 1792| v1792_19(void) = ^BufferReadSideEffect[0] : &:r1792_15, ~m0_4 +# 1792| m1792_20(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1792_9 +# 1792| m1792_21(unknown) = Chi : total:m1792_18, partial:m1792_20 +# 1792| v1792_22(void) = NoOp : +# 1792| v1792_23(void) = ReturnIndirection[#this] : &:r1792_7, m1792_8 #-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4 -# 1745| v1745_24(void) = ReturnVoid : -# 1745| v1745_25(void) = AliasedUse : ~m1745_21 -# 1745| v1745_26(void) = ExitFunction : +# 1792| v1792_24(void) = ReturnVoid : +# 1792| v1792_25(void) = AliasedUse : ~m1792_21 +# 1792| v1792_26(void) = ExitFunction : -# 1749| void CopyConstructorTestVirtualClass::CopyConstructorTestVirtualClass() -# 1749| Block 0 -# 1749| v1749_1(void) = EnterFunction : -# 1749| m1749_2(unknown) = AliasedDefinition : -# 1749| m1749_3(unknown) = InitializeNonLocal : -# 1749| m1749_4(unknown) = Chi : total:m1749_2, partial:m1749_3 -# 1749| r1749_5(glval) = VariableAddress[#this] : -# 1749| m1749_6(glval) = InitializeParameter[#this] : &:r1749_5 -# 1749| r1749_7(glval) = Load[#this] : &:r1749_5, m1749_6 -# 1749| m1749_8(CopyConstructorTestVirtualClass) = InitializeIndirection[#this] : &:r1749_7 -# 1749| r1749_9(glval) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithImplicitArgumentClass] : m1749_6 -# 1749| r1749_10(glval) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] : -# 1749| v1749_11(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1749_10, this:r1749_9 -# 1749| m1749_12(unknown) = ^CallSideEffect : ~m1749_4 -# 1749| m1749_13(unknown) = Chi : total:m1749_4, partial:m1749_12 -# 1749| m1749_14(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1749_9 -# 1749| m1749_15(unknown) = Chi : total:m1749_13, partial:m1749_14 -# 1749| r1749_16(glval) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithBitwiseCopyClass] : m1749_6 -# 1749| r1749_17(glval) = FunctionAddress[CopyConstructorWithBitwiseCopyClass] : -# 1749| v1749_18(void) = Call[CopyConstructorWithBitwiseCopyClass] : func:r1749_17, this:r1749_16 -# 1749| m1749_19(unknown) = ^CallSideEffect : ~m1749_15 -# 1749| m1749_20(unknown) = Chi : total:m1749_15, partial:m1749_19 -# 1749| m1749_21(CopyConstructorWithBitwiseCopyClass) = ^IndirectMayWriteSideEffect[-1] : &:r1749_16 -# 1749| m1749_22(unknown) = Chi : total:m1749_20, partial:m1749_21 -# 1749| v1749_23(void) = NoOp : -# 1749| v1749_24(void) = ReturnIndirection[#this] : &:r1749_7, m1749_8 -# 1749| v1749_25(void) = ReturnVoid : -# 1749| v1749_26(void) = AliasedUse : ~m1749_22 -# 1749| v1749_27(void) = ExitFunction : +# 1796| void CopyConstructorTestVirtualClass::CopyConstructorTestVirtualClass() +# 1796| Block 0 +# 1796| v1796_1(void) = EnterFunction : +# 1796| m1796_2(unknown) = AliasedDefinition : +# 1796| m1796_3(unknown) = InitializeNonLocal : +# 1796| m1796_4(unknown) = Chi : total:m1796_2, partial:m1796_3 +# 1796| r1796_5(glval) = VariableAddress[#this] : +# 1796| m1796_6(glval) = InitializeParameter[#this] : &:r1796_5 +# 1796| r1796_7(glval) = Load[#this] : &:r1796_5, m1796_6 +# 1796| m1796_8(CopyConstructorTestVirtualClass) = InitializeIndirection[#this] : &:r1796_7 +# 1796| r1796_9(glval) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithImplicitArgumentClass] : m1796_6 +# 1796| r1796_10(glval) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] : +# 1796| v1796_11(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1796_10, this:r1796_9 +# 1796| m1796_12(unknown) = ^CallSideEffect : ~m1796_4 +# 1796| m1796_13(unknown) = Chi : total:m1796_4, partial:m1796_12 +# 1796| m1796_14(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1796_9 +# 1796| m1796_15(unknown) = Chi : total:m1796_13, partial:m1796_14 +# 1796| r1796_16(glval) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithBitwiseCopyClass] : m1796_6 +# 1796| r1796_17(glval) = FunctionAddress[CopyConstructorWithBitwiseCopyClass] : +# 1796| v1796_18(void) = Call[CopyConstructorWithBitwiseCopyClass] : func:r1796_17, this:r1796_16 +# 1796| m1796_19(unknown) = ^CallSideEffect : ~m1796_15 +# 1796| m1796_20(unknown) = Chi : total:m1796_15, partial:m1796_19 +# 1796| m1796_21(CopyConstructorWithBitwiseCopyClass) = ^IndirectMayWriteSideEffect[-1] : &:r1796_16 +# 1796| m1796_22(unknown) = Chi : total:m1796_20, partial:m1796_21 +# 1796| v1796_23(void) = NoOp : +# 1796| v1796_24(void) = ReturnIndirection[#this] : &:r1796_7, m1796_8 +# 1796| v1796_25(void) = ReturnVoid : +# 1796| v1796_26(void) = AliasedUse : ~m1796_22 +# 1796| v1796_27(void) = ExitFunction : -# 1752| int implicit_copy_constructor_test(CopyConstructorTestNonVirtualClass const&, CopyConstructorTestVirtualClass const&) -# 1752| Block 0 -# 1752| v1752_1(void) = EnterFunction : -# 1752| m1752_2(unknown) = AliasedDefinition : -# 1752| m1752_3(unknown) = InitializeNonLocal : -# 1752| m1752_4(unknown) = Chi : total:m1752_2, partial:m1752_3 -# 1753| r1753_1(glval) = VariableAddress[x] : -# 1753| m1753_2(CopyConstructorTestNonVirtualClass &) = InitializeParameter[x] : &:r1753_1 -# 1753| r1753_3(CopyConstructorTestNonVirtualClass &) = Load[x] : &:r1753_1, m1753_2 -# 1753| m1753_4(unknown) = InitializeIndirection[x] : &:r1753_3 -# 1754| r1754_1(glval) = VariableAddress[y] : -# 1754| m1754_2(CopyConstructorTestVirtualClass &) = InitializeParameter[y] : &:r1754_1 -# 1754| r1754_3(CopyConstructorTestVirtualClass &) = Load[y] : &:r1754_1, m1754_2 -# 1754| m1754_4(unknown) = InitializeIndirection[y] : &:r1754_3 -# 1755| r1755_1(glval) = VariableAddress[cx] : -# 1755| m1755_2(CopyConstructorTestNonVirtualClass) = Uninitialized[cx] : &:r1755_1 -# 1755| r1755_3(glval) = FunctionAddress[CopyConstructorTestNonVirtualClass] : -# 1755| r1755_4(glval) = VariableAddress[x] : -# 1755| r1755_5(CopyConstructorTestNonVirtualClass &) = Load[x] : &:r1755_4, m1753_2 -# 1755| r1755_6(glval) = CopyValue : r1755_5 -# 1755| r1755_7(CopyConstructorTestNonVirtualClass &) = CopyValue : r1755_6 -# 1755| v1755_8(void) = Call[CopyConstructorTestNonVirtualClass] : func:r1755_3, this:r1755_1, 0:r1755_7 -# 1755| m1755_9(unknown) = ^CallSideEffect : ~m1752_4 -# 1755| m1755_10(unknown) = Chi : total:m1752_4, partial:m1755_9 -# 1755| v1755_11(void) = ^BufferReadSideEffect[0] : &:r1755_7, ~m1753_4 -# 1755| m1755_12(CopyConstructorTestNonVirtualClass) = ^IndirectMayWriteSideEffect[-1] : &:r1755_1 -# 1755| m1755_13(CopyConstructorTestNonVirtualClass) = Chi : total:m1755_2, partial:m1755_12 -# 1756| r1756_1(glval) = VariableAddress[cy] : -# 1756| m1756_2(CopyConstructorTestVirtualClass) = Uninitialized[cy] : &:r1756_1 -# 1756| r1756_3(glval) = FunctionAddress[CopyConstructorTestVirtualClass] : -# 1756| r1756_4(glval) = VariableAddress[y] : -# 1756| r1756_5(CopyConstructorTestVirtualClass &) = Load[y] : &:r1756_4, m1754_2 -# 1756| r1756_6(glval) = CopyValue : r1756_5 -# 1756| r1756_7(CopyConstructorTestVirtualClass &) = CopyValue : r1756_6 -# 1756| v1756_8(void) = Call[CopyConstructorTestVirtualClass] : func:r1756_3, this:r1756_1, 0:r1756_7 -# 1756| m1756_9(unknown) = ^CallSideEffect : ~m1755_10 -# 1756| m1756_10(unknown) = Chi : total:m1755_10, partial:m1756_9 -# 1756| v1756_11(void) = ^BufferReadSideEffect[0] : &:r1756_7, ~m1754_4 -# 1756| m1756_12(CopyConstructorTestVirtualClass) = ^IndirectMayWriteSideEffect[-1] : &:r1756_1 -# 1756| m1756_13(CopyConstructorTestVirtualClass) = Chi : total:m1756_2, partial:m1756_12 -# 1757| r1757_1(glval) = VariableAddress[#return] : -# 1757| m1757_2(int) = Uninitialized[#return] : &:r1757_1 -# 1753| v1753_5(void) = ReturnIndirection[x] : &:r1753_3, m1753_4 -# 1754| v1754_5(void) = ReturnIndirection[y] : &:r1754_3, m1754_4 -# 1752| r1752_5(glval) = VariableAddress[#return] : -# 1752| v1752_6(void) = ReturnValue : &:r1752_5, m1757_2 -# 1752| v1752_7(void) = AliasedUse : ~m1756_10 -# 1752| v1752_8(void) = ExitFunction : +# 1799| int implicit_copy_constructor_test(CopyConstructorTestNonVirtualClass const&, CopyConstructorTestVirtualClass const&) +# 1799| Block 0 +# 1799| v1799_1(void) = EnterFunction : +# 1799| m1799_2(unknown) = AliasedDefinition : +# 1799| m1799_3(unknown) = InitializeNonLocal : +# 1799| m1799_4(unknown) = Chi : total:m1799_2, partial:m1799_3 +# 1800| r1800_1(glval) = VariableAddress[x] : +# 1800| m1800_2(CopyConstructorTestNonVirtualClass &) = InitializeParameter[x] : &:r1800_1 +# 1800| r1800_3(CopyConstructorTestNonVirtualClass &) = Load[x] : &:r1800_1, m1800_2 +# 1800| m1800_4(unknown) = InitializeIndirection[x] : &:r1800_3 +# 1801| r1801_1(glval) = VariableAddress[y] : +# 1801| m1801_2(CopyConstructorTestVirtualClass &) = InitializeParameter[y] : &:r1801_1 +# 1801| r1801_3(CopyConstructorTestVirtualClass &) = Load[y] : &:r1801_1, m1801_2 +# 1801| m1801_4(unknown) = InitializeIndirection[y] : &:r1801_3 +# 1802| r1802_1(glval) = VariableAddress[cx] : +# 1802| m1802_2(CopyConstructorTestNonVirtualClass) = Uninitialized[cx] : &:r1802_1 +# 1802| r1802_3(glval) = FunctionAddress[CopyConstructorTestNonVirtualClass] : +# 1802| r1802_4(glval) = VariableAddress[x] : +# 1802| r1802_5(CopyConstructorTestNonVirtualClass &) = Load[x] : &:r1802_4, m1800_2 +# 1802| r1802_6(glval) = CopyValue : r1802_5 +# 1802| r1802_7(CopyConstructorTestNonVirtualClass &) = CopyValue : r1802_6 +# 1802| v1802_8(void) = Call[CopyConstructorTestNonVirtualClass] : func:r1802_3, this:r1802_1, 0:r1802_7 +# 1802| m1802_9(unknown) = ^CallSideEffect : ~m1799_4 +# 1802| m1802_10(unknown) = Chi : total:m1799_4, partial:m1802_9 +# 1802| v1802_11(void) = ^BufferReadSideEffect[0] : &:r1802_7, ~m1800_4 +# 1802| m1802_12(CopyConstructorTestNonVirtualClass) = ^IndirectMayWriteSideEffect[-1] : &:r1802_1 +# 1802| m1802_13(CopyConstructorTestNonVirtualClass) = Chi : total:m1802_2, partial:m1802_12 +# 1803| r1803_1(glval) = VariableAddress[cy] : +# 1803| m1803_2(CopyConstructorTestVirtualClass) = Uninitialized[cy] : &:r1803_1 +# 1803| r1803_3(glval) = FunctionAddress[CopyConstructorTestVirtualClass] : +# 1803| r1803_4(glval) = VariableAddress[y] : +# 1803| r1803_5(CopyConstructorTestVirtualClass &) = Load[y] : &:r1803_4, m1801_2 +# 1803| r1803_6(glval) = CopyValue : r1803_5 +# 1803| r1803_7(CopyConstructorTestVirtualClass &) = CopyValue : r1803_6 +# 1803| v1803_8(void) = Call[CopyConstructorTestVirtualClass] : func:r1803_3, this:r1803_1, 0:r1803_7 +# 1803| m1803_9(unknown) = ^CallSideEffect : ~m1802_10 +# 1803| m1803_10(unknown) = Chi : total:m1802_10, partial:m1803_9 +# 1803| v1803_11(void) = ^BufferReadSideEffect[0] : &:r1803_7, ~m1801_4 +# 1803| m1803_12(CopyConstructorTestVirtualClass) = ^IndirectMayWriteSideEffect[-1] : &:r1803_1 +# 1803| m1803_13(CopyConstructorTestVirtualClass) = Chi : total:m1803_2, partial:m1803_12 +# 1804| r1804_1(glval) = VariableAddress[#return] : +# 1804| m1804_2(int) = Uninitialized[#return] : &:r1804_1 +# 1800| v1800_5(void) = ReturnIndirection[x] : &:r1800_3, m1800_4 +# 1801| v1801_5(void) = ReturnIndirection[y] : &:r1801_3, m1801_4 +# 1799| r1799_5(glval) = VariableAddress[#return] : +# 1799| v1799_6(void) = ReturnValue : &:r1799_5, m1804_2 +# 1799| v1799_7(void) = AliasedUse : ~m1803_10 +# 1799| v1799_8(void) = ExitFunction : -# 1759| void if_initialization(int) -# 1759| Block 0 -# 1759| v1759_1(void) = EnterFunction : -# 1759| m1759_2(unknown) = AliasedDefinition : -# 1759| m1759_3(unknown) = InitializeNonLocal : -# 1759| m1759_4(unknown) = Chi : total:m1759_2, partial:m1759_3 -# 1759| r1759_5(glval) = VariableAddress[x] : -# 1759| m1759_6(int) = InitializeParameter[x] : &:r1759_5 -# 1760| r1760_1(glval) = VariableAddress[y] : -# 1760| r1760_2(glval) = VariableAddress[x] : -# 1760| r1760_3(int) = Load[x] : &:r1760_2, m1759_6 -# 1760| m1760_4(int) = Store[y] : &:r1760_1, r1760_3 -# 1760| r1760_5(glval) = VariableAddress[x] : -# 1760| r1760_6(int) = Load[x] : &:r1760_5, m1759_6 -# 1760| r1760_7(int) = Constant[1] : -# 1760| r1760_8(int) = Add : r1760_6, r1760_7 -# 1760| r1760_9(int) = Constant[0] : -# 1760| r1760_10(bool) = CompareNE : r1760_8, r1760_9 -# 1760| v1760_11(void) = ConditionalBranch : r1760_10 +# 1806| void if_initialization(int) +# 1806| Block 0 +# 1806| v1806_1(void) = EnterFunction : +# 1806| m1806_2(unknown) = AliasedDefinition : +# 1806| m1806_3(unknown) = InitializeNonLocal : +# 1806| m1806_4(unknown) = Chi : total:m1806_2, partial:m1806_3 +# 1806| r1806_5(glval) = VariableAddress[x] : +# 1806| m1806_6(int) = InitializeParameter[x] : &:r1806_5 +# 1807| r1807_1(glval) = VariableAddress[y] : +# 1807| r1807_2(glval) = VariableAddress[x] : +# 1807| r1807_3(int) = Load[x] : &:r1807_2, m1806_6 +# 1807| m1807_4(int) = Store[y] : &:r1807_1, r1807_3 +# 1807| r1807_5(glval) = VariableAddress[x] : +# 1807| r1807_6(int) = Load[x] : &:r1807_5, m1806_6 +# 1807| r1807_7(int) = Constant[1] : +# 1807| r1807_8(int) = Add : r1807_6, r1807_7 +# 1807| r1807_9(int) = Constant[0] : +# 1807| r1807_10(bool) = CompareNE : r1807_8, r1807_9 +# 1807| v1807_11(void) = ConditionalBranch : r1807_10 #-----| False -> Block 2 #-----| True -> Block 1 -# 1761| Block 1 -# 1761| r1761_1(glval) = VariableAddress[x] : -# 1761| r1761_2(int) = Load[x] : &:r1761_1, m1759_6 -# 1761| r1761_3(glval) = VariableAddress[y] : -# 1761| r1761_4(int) = Load[y] : &:r1761_3, m1760_4 -# 1761| r1761_5(int) = Add : r1761_2, r1761_4 -# 1761| r1761_6(glval) = VariableAddress[x] : -# 1761| m1761_7(int) = Store[x] : &:r1761_6, r1761_5 +# 1808| Block 1 +# 1808| r1808_1(glval) = VariableAddress[x] : +# 1808| r1808_2(int) = Load[x] : &:r1808_1, m1806_6 +# 1808| r1808_3(glval) = VariableAddress[y] : +# 1808| r1808_4(int) = Load[y] : &:r1808_3, m1807_4 +# 1808| r1808_5(int) = Add : r1808_2, r1808_4 +# 1808| r1808_6(glval) = VariableAddress[x] : +# 1808| m1808_7(int) = Store[x] : &:r1808_6, r1808_5 #-----| Goto -> Block 2 -# 1764| Block 2 -# 1764| m1764_1(int) = Phi : from 0:m1759_6, from 1:m1761_7 -# 1764| r1764_2(glval) = VariableAddress[w] : -# 1764| m1764_3(int) = Uninitialized[w] : &:r1764_2 -# 1765| r1765_1(glval) = VariableAddress[x] : -# 1765| r1765_2(int) = Load[x] : &:r1765_1, m1764_1 -# 1765| r1765_3(glval) = VariableAddress[w] : -# 1765| m1765_4(int) = Store[w] : &:r1765_3, r1765_2 -# 1765| r1765_5(glval) = VariableAddress[x] : -# 1765| r1765_6(int) = Load[x] : &:r1765_5, m1764_1 -# 1765| r1765_7(int) = Constant[1] : -# 1765| r1765_8(int) = Add : r1765_6, r1765_7 -# 1765| r1765_9(int) = Constant[0] : -# 1765| r1765_10(bool) = CompareNE : r1765_8, r1765_9 -# 1765| v1765_11(void) = ConditionalBranch : r1765_10 +# 1811| Block 2 +# 1811| m1811_1(int) = Phi : from 0:m1806_6, from 1:m1808_7 +# 1811| r1811_2(glval) = VariableAddress[w] : +# 1811| m1811_3(int) = Uninitialized[w] : &:r1811_2 +# 1812| r1812_1(glval) = VariableAddress[x] : +# 1812| r1812_2(int) = Load[x] : &:r1812_1, m1811_1 +# 1812| r1812_3(glval) = VariableAddress[w] : +# 1812| m1812_4(int) = Store[w] : &:r1812_3, r1812_2 +# 1812| r1812_5(glval) = VariableAddress[x] : +# 1812| r1812_6(int) = Load[x] : &:r1812_5, m1811_1 +# 1812| r1812_7(int) = Constant[1] : +# 1812| r1812_8(int) = Add : r1812_6, r1812_7 +# 1812| r1812_9(int) = Constant[0] : +# 1812| r1812_10(bool) = CompareNE : r1812_8, r1812_9 +# 1812| v1812_11(void) = ConditionalBranch : r1812_10 #-----| False -> Block 4 #-----| True -> Block 3 -# 1766| Block 3 -# 1766| r1766_1(glval) = VariableAddress[x] : -# 1766| r1766_2(int) = Load[x] : &:r1766_1, m1764_1 -# 1766| r1766_3(glval) = VariableAddress[w] : -# 1766| r1766_4(int) = Load[w] : &:r1766_3, m1765_4 -# 1766| r1766_5(int) = Add : r1766_2, r1766_4 -# 1766| r1766_6(glval) = VariableAddress[x] : -# 1766| m1766_7(int) = Store[x] : &:r1766_6, r1766_5 +# 1813| Block 3 +# 1813| r1813_1(glval) = VariableAddress[x] : +# 1813| r1813_2(int) = Load[x] : &:r1813_1, m1811_1 +# 1813| r1813_3(glval) = VariableAddress[w] : +# 1813| r1813_4(int) = Load[w] : &:r1813_3, m1812_4 +# 1813| r1813_5(int) = Add : r1813_2, r1813_4 +# 1813| r1813_6(glval) = VariableAddress[x] : +# 1813| m1813_7(int) = Store[x] : &:r1813_6, r1813_5 #-----| Goto -> Block 4 -# 1769| Block 4 -# 1769| m1769_1(int) = Phi : from 2:m1764_1, from 3:m1766_7 -# 1769| r1769_2(glval) = VariableAddress[x] : -# 1769| r1769_3(int) = Load[x] : &:r1769_2, m1769_1 -# 1769| r1769_4(glval) = VariableAddress[w] : -# 1769| m1769_5(int) = Store[w] : &:r1769_4, r1769_3 -# 1769| r1769_6(glval) = VariableAddress[w2] : -# 1769| r1769_7(glval) = VariableAddress[w] : -# 1769| r1769_8(int) = Load[w] : &:r1769_7, m1769_5 -# 1769| m1769_9(int) = Store[w2] : &:r1769_6, r1769_8 -# 1769| r1769_10(glval) = VariableAddress[w2] : -# 1769| r1769_11(int) = Load[w2] : &:r1769_10, m1769_9 -# 1769| r1769_12(int) = Constant[0] : -# 1769| r1769_13(bool) = CompareNE : r1769_11, r1769_12 -# 1769| r1769_14(bool) = CopyValue : r1769_13 -# 1769| v1769_15(void) = ConditionalBranch : r1769_14 +# 1816| Block 4 +# 1816| m1816_1(int) = Phi : from 2:m1811_1, from 3:m1813_7 +# 1816| r1816_2(glval) = VariableAddress[x] : +# 1816| r1816_3(int) = Load[x] : &:r1816_2, m1816_1 +# 1816| r1816_4(glval) = VariableAddress[w] : +# 1816| m1816_5(int) = Store[w] : &:r1816_4, r1816_3 +# 1816| r1816_6(glval) = VariableAddress[w2] : +# 1816| r1816_7(glval) = VariableAddress[w] : +# 1816| r1816_8(int) = Load[w] : &:r1816_7, m1816_5 +# 1816| m1816_9(int) = Store[w2] : &:r1816_6, r1816_8 +# 1816| r1816_10(glval) = VariableAddress[w2] : +# 1816| r1816_11(int) = Load[w2] : &:r1816_10, m1816_9 +# 1816| r1816_12(int) = Constant[0] : +# 1816| r1816_13(bool) = CompareNE : r1816_11, r1816_12 +# 1816| r1816_14(bool) = CopyValue : r1816_13 +# 1816| v1816_15(void) = ConditionalBranch : r1816_14 #-----| False -> Block 6 #-----| True -> Block 5 -# 1770| Block 5 -# 1770| r1770_1(glval) = VariableAddress[x] : -# 1770| r1770_2(int) = Load[x] : &:r1770_1, m1769_1 -# 1770| r1770_3(glval) = VariableAddress[w] : -# 1770| r1770_4(int) = Load[w] : &:r1770_3, m1769_5 -# 1770| r1770_5(int) = Add : r1770_2, r1770_4 -# 1770| r1770_6(glval) = VariableAddress[x] : -# 1770| m1770_7(int) = Store[x] : &:r1770_6, r1770_5 +# 1817| Block 5 +# 1817| r1817_1(glval) = VariableAddress[x] : +# 1817| r1817_2(int) = Load[x] : &:r1817_1, m1816_1 +# 1817| r1817_3(glval) = VariableAddress[w] : +# 1817| r1817_4(int) = Load[w] : &:r1817_3, m1816_5 +# 1817| r1817_5(int) = Add : r1817_2, r1817_4 +# 1817| r1817_6(glval) = VariableAddress[x] : +# 1817| m1817_7(int) = Store[x] : &:r1817_6, r1817_5 #-----| Goto -> Block 6 -# 1773| Block 6 -# 1773| m1773_1(int) = Phi : from 4:m1769_1, from 5:m1770_7 -# 1773| r1773_2(glval) = VariableAddress[v] : -# 1773| r1773_3(glval) = VariableAddress[x] : -# 1773| r1773_4(int) = Load[x] : &:r1773_3, m1773_1 -# 1773| m1773_5(int) = Store[v] : &:r1773_2, r1773_4 -# 1773| r1773_6(glval) = VariableAddress[v2] : -# 1773| r1773_7(glval) = VariableAddress[v] : -# 1773| r1773_8(int) = Load[v] : &:r1773_7, m1773_5 -# 1773| m1773_9(int) = Store[v2] : &:r1773_6, r1773_8 -# 1773| r1773_10(glval) = VariableAddress[v2] : -# 1773| r1773_11(int) = Load[v2] : &:r1773_10, m1773_9 -# 1773| r1773_12(int) = Constant[0] : -# 1773| r1773_13(bool) = CompareNE : r1773_11, r1773_12 -# 1773| r1773_14(bool) = CopyValue : r1773_13 -# 1773| v1773_15(void) = ConditionalBranch : r1773_14 +# 1820| Block 6 +# 1820| m1820_1(int) = Phi : from 4:m1816_1, from 5:m1817_7 +# 1820| r1820_2(glval) = VariableAddress[v] : +# 1820| r1820_3(glval) = VariableAddress[x] : +# 1820| r1820_4(int) = Load[x] : &:r1820_3, m1820_1 +# 1820| m1820_5(int) = Store[v] : &:r1820_2, r1820_4 +# 1820| r1820_6(glval) = VariableAddress[v2] : +# 1820| r1820_7(glval) = VariableAddress[v] : +# 1820| r1820_8(int) = Load[v] : &:r1820_7, m1820_5 +# 1820| m1820_9(int) = Store[v2] : &:r1820_6, r1820_8 +# 1820| r1820_10(glval) = VariableAddress[v2] : +# 1820| r1820_11(int) = Load[v2] : &:r1820_10, m1820_9 +# 1820| r1820_12(int) = Constant[0] : +# 1820| r1820_13(bool) = CompareNE : r1820_11, r1820_12 +# 1820| r1820_14(bool) = CopyValue : r1820_13 +# 1820| v1820_15(void) = ConditionalBranch : r1820_14 #-----| False -> Block 8 #-----| True -> Block 7 -# 1774| Block 7 -# 1774| r1774_1(glval) = VariableAddress[x] : -# 1774| r1774_2(int) = Load[x] : &:r1774_1, m1773_1 -# 1774| r1774_3(glval) = VariableAddress[v] : -# 1774| r1774_4(int) = Load[v] : &:r1774_3, m1773_5 -# 1774| r1774_5(int) = Add : r1774_2, r1774_4 -# 1774| r1774_6(glval) = VariableAddress[x] : -# 1774| m1774_7(int) = Store[x] : &:r1774_6, r1774_5 +# 1821| Block 7 +# 1821| r1821_1(glval) = VariableAddress[x] : +# 1821| r1821_2(int) = Load[x] : &:r1821_1, m1820_1 +# 1821| r1821_3(glval) = VariableAddress[v] : +# 1821| r1821_4(int) = Load[v] : &:r1821_3, m1820_5 +# 1821| r1821_5(int) = Add : r1821_2, r1821_4 +# 1821| r1821_6(glval) = VariableAddress[x] : +# 1821| m1821_7(int) = Store[x] : &:r1821_6, r1821_5 #-----| Goto -> Block 8 -# 1777| Block 8 -# 1777| m1777_1(int) = Phi : from 6:m1773_1, from 7:m1774_7 -# 1777| r1777_2(glval) = VariableAddress[z] : -# 1777| r1777_3(glval) = VariableAddress[x] : -# 1777| r1777_4(int) = Load[x] : &:r1777_3, m1777_1 -# 1777| m1777_5(int) = Store[z] : &:r1777_2, r1777_4 -# 1778| r1778_1(glval) = VariableAddress[z] : -# 1778| r1778_2(int) = Load[z] : &:r1778_1, m1777_5 -# 1778| r1778_3(int) = Constant[0] : -# 1778| r1778_4(bool) = CompareNE : r1778_2, r1778_3 -# 1778| v1778_5(void) = ConditionalBranch : r1778_4 +# 1824| Block 8 +# 1824| m1824_1(int) = Phi : from 6:m1820_1, from 7:m1821_7 +# 1824| r1824_2(glval) = VariableAddress[z] : +# 1824| r1824_3(glval) = VariableAddress[x] : +# 1824| r1824_4(int) = Load[x] : &:r1824_3, m1824_1 +# 1824| m1824_5(int) = Store[z] : &:r1824_2, r1824_4 +# 1825| r1825_1(glval) = VariableAddress[z] : +# 1825| r1825_2(int) = Load[z] : &:r1825_1, m1824_5 +# 1825| r1825_3(int) = Constant[0] : +# 1825| r1825_4(bool) = CompareNE : r1825_2, r1825_3 +# 1825| v1825_5(void) = ConditionalBranch : r1825_4 #-----| False -> Block 10 #-----| True -> Block 9 -# 1779| Block 9 -# 1779| r1779_1(glval) = VariableAddress[x] : -# 1779| r1779_2(int) = Load[x] : &:r1779_1, m1777_1 -# 1779| r1779_3(glval) = VariableAddress[z] : -# 1779| r1779_4(int) = Load[z] : &:r1779_3, m1777_5 -# 1779| r1779_5(int) = Add : r1779_2, r1779_4 -# 1779| r1779_6(glval) = VariableAddress[x] : -# 1779| m1779_7(int) = Store[x] : &:r1779_6, r1779_5 +# 1826| Block 9 +# 1826| r1826_1(glval) = VariableAddress[x] : +# 1826| r1826_2(int) = Load[x] : &:r1826_1, m1824_1 +# 1826| r1826_3(glval) = VariableAddress[z] : +# 1826| r1826_4(int) = Load[z] : &:r1826_3, m1824_5 +# 1826| r1826_5(int) = Add : r1826_2, r1826_4 +# 1826| r1826_6(glval) = VariableAddress[x] : +# 1826| m1826_7(int) = Store[x] : &:r1826_6, r1826_5 #-----| Goto -> Block 10 -# 1782| Block 10 -# 1782| m1782_1(int) = Phi : from 8:m1777_1, from 9:m1779_7 -# 1782| r1782_2(glval) = VariableAddress[z2] : -# 1782| r1782_3(glval) = VariableAddress[z] : -# 1782| r1782_4(int) = Load[z] : &:r1782_3, m1777_5 -# 1782| m1782_5(int) = Store[z2] : &:r1782_2, r1782_4 -# 1782| r1782_6(glval) = VariableAddress[z2] : -# 1782| r1782_7(int) = Load[z2] : &:r1782_6, m1782_5 -# 1782| r1782_8(int) = Constant[0] : -# 1782| r1782_9(bool) = CompareNE : r1782_7, r1782_8 -# 1782| r1782_10(bool) = CopyValue : r1782_9 -# 1782| v1782_11(void) = ConditionalBranch : r1782_10 +# 1829| Block 10 +# 1829| m1829_1(int) = Phi : from 8:m1824_1, from 9:m1826_7 +# 1829| r1829_2(glval) = VariableAddress[z2] : +# 1829| r1829_3(glval) = VariableAddress[z] : +# 1829| r1829_4(int) = Load[z] : &:r1829_3, m1824_5 +# 1829| m1829_5(int) = Store[z2] : &:r1829_2, r1829_4 +# 1829| r1829_6(glval) = VariableAddress[z2] : +# 1829| r1829_7(int) = Load[z2] : &:r1829_6, m1829_5 +# 1829| r1829_8(int) = Constant[0] : +# 1829| r1829_9(bool) = CompareNE : r1829_7, r1829_8 +# 1829| r1829_10(bool) = CopyValue : r1829_9 +# 1829| v1829_11(void) = ConditionalBranch : r1829_10 #-----| False -> Block 12 #-----| True -> Block 11 -# 1783| Block 11 -# 1783| r1783_1(glval) = VariableAddress[z2] : -# 1783| r1783_2(int) = Load[z2] : &:r1783_1, m1782_5 -# 1783| r1783_3(glval) = VariableAddress[x] : -# 1783| r1783_4(int) = Load[x] : &:r1783_3, m1782_1 -# 1783| r1783_5(int) = Add : r1783_4, r1783_2 -# 1783| m1783_6(int) = Store[x] : &:r1783_3, r1783_5 +# 1830| Block 11 +# 1830| r1830_1(glval) = VariableAddress[z2] : +# 1830| r1830_2(int) = Load[z2] : &:r1830_1, m1829_5 +# 1830| r1830_3(glval) = VariableAddress[x] : +# 1830| r1830_4(int) = Load[x] : &:r1830_3, m1829_1 +# 1830| r1830_5(int) = Add : r1830_4, r1830_2 +# 1830| m1830_6(int) = Store[x] : &:r1830_3, r1830_5 #-----| Goto -> Block 12 -# 1785| Block 12 -# 1785| v1785_1(void) = NoOp : -# 1759| v1759_7(void) = ReturnVoid : -# 1759| v1759_8(void) = AliasedUse : m1759_3 -# 1759| v1759_9(void) = ExitFunction : +# 1832| Block 12 +# 1832| v1832_1(void) = NoOp : +# 1806| v1806_7(void) = ReturnVoid : +# 1806| v1806_8(void) = AliasedUse : m1806_3 +# 1806| v1806_9(void) = ExitFunction : -# 1787| void switch_initialization(int) -# 1787| Block 0 -# 1787| v1787_1(void) = EnterFunction : -# 1787| m1787_2(unknown) = AliasedDefinition : -# 1787| m1787_3(unknown) = InitializeNonLocal : -# 1787| m1787_4(unknown) = Chi : total:m1787_2, partial:m1787_3 -# 1787| r1787_5(glval) = VariableAddress[x] : -# 1787| m1787_6(int) = InitializeParameter[x] : &:r1787_5 -# 1788| r1788_1(glval) = VariableAddress[y] : -# 1788| r1788_2(glval) = VariableAddress[x] : -# 1788| r1788_3(int) = Load[x] : &:r1788_2, m1787_6 -# 1788| m1788_4(int) = Store[y] : &:r1788_1, r1788_3 -# 1788| r1788_5(glval) = VariableAddress[x] : -# 1788| r1788_6(int) = Load[x] : &:r1788_5, m1787_6 -# 1788| r1788_7(int) = Constant[1] : -# 1788| r1788_8(int) = Add : r1788_6, r1788_7 -# 1788| v1788_9(void) = Switch : r1788_8 +# 1834| void switch_initialization(int) +# 1834| Block 0 +# 1834| v1834_1(void) = EnterFunction : +# 1834| m1834_2(unknown) = AliasedDefinition : +# 1834| m1834_3(unknown) = InitializeNonLocal : +# 1834| m1834_4(unknown) = Chi : total:m1834_2, partial:m1834_3 +# 1834| r1834_5(glval) = VariableAddress[x] : +# 1834| m1834_6(int) = InitializeParameter[x] : &:r1834_5 +# 1835| r1835_1(glval) = VariableAddress[y] : +# 1835| r1835_2(glval) = VariableAddress[x] : +# 1835| r1835_3(int) = Load[x] : &:r1835_2, m1834_6 +# 1835| m1835_4(int) = Store[y] : &:r1835_1, r1835_3 +# 1835| r1835_5(glval) = VariableAddress[x] : +# 1835| r1835_6(int) = Load[x] : &:r1835_5, m1834_6 +# 1835| r1835_7(int) = Constant[1] : +# 1835| r1835_8(int) = Add : r1835_6, r1835_7 +# 1835| v1835_9(void) = Switch : r1835_8 #-----| Default -> Block 1 -# 1789| Block 1 -# 1789| v1789_1(void) = NoOp : -# 1790| r1790_1(glval) = VariableAddress[x] : -# 1790| r1790_2(int) = Load[x] : &:r1790_1, m1787_6 -# 1790| r1790_3(glval) = VariableAddress[y] : -# 1790| r1790_4(int) = Load[y] : &:r1790_3, m1788_4 -# 1790| r1790_5(int) = Add : r1790_2, r1790_4 -# 1790| r1790_6(glval) = VariableAddress[x] : -# 1790| m1790_7(int) = Store[x] : &:r1790_6, r1790_5 -# 1793| r1793_1(glval) = VariableAddress[w] : -# 1793| m1793_2(int) = Uninitialized[w] : &:r1793_1 -# 1794| r1794_1(glval) = VariableAddress[x] : -# 1794| r1794_2(int) = Load[x] : &:r1794_1, m1790_7 -# 1794| r1794_3(glval) = VariableAddress[w] : -# 1794| m1794_4(int) = Store[w] : &:r1794_3, r1794_2 -# 1794| r1794_5(glval) = VariableAddress[x] : -# 1794| r1794_6(int) = Load[x] : &:r1794_5, m1790_7 -# 1794| r1794_7(int) = Constant[1] : -# 1794| r1794_8(int) = Add : r1794_6, r1794_7 -# 1794| v1794_9(void) = Switch : r1794_8 +# 1836| Block 1 +# 1836| v1836_1(void) = NoOp : +# 1837| r1837_1(glval) = VariableAddress[x] : +# 1837| r1837_2(int) = Load[x] : &:r1837_1, m1834_6 +# 1837| r1837_3(glval) = VariableAddress[y] : +# 1837| r1837_4(int) = Load[y] : &:r1837_3, m1835_4 +# 1837| r1837_5(int) = Add : r1837_2, r1837_4 +# 1837| r1837_6(glval) = VariableAddress[x] : +# 1837| m1837_7(int) = Store[x] : &:r1837_6, r1837_5 +# 1840| r1840_1(glval) = VariableAddress[w] : +# 1840| m1840_2(int) = Uninitialized[w] : &:r1840_1 +# 1841| r1841_1(glval) = VariableAddress[x] : +# 1841| r1841_2(int) = Load[x] : &:r1841_1, m1837_7 +# 1841| r1841_3(glval) = VariableAddress[w] : +# 1841| m1841_4(int) = Store[w] : &:r1841_3, r1841_2 +# 1841| r1841_5(glval) = VariableAddress[x] : +# 1841| r1841_6(int) = Load[x] : &:r1841_5, m1837_7 +# 1841| r1841_7(int) = Constant[1] : +# 1841| r1841_8(int) = Add : r1841_6, r1841_7 +# 1841| v1841_9(void) = Switch : r1841_8 #-----| Default -> Block 2 -# 1795| Block 2 -# 1795| v1795_1(void) = NoOp : -# 1796| r1796_1(glval) = VariableAddress[x] : -# 1796| r1796_2(int) = Load[x] : &:r1796_1, m1790_7 -# 1796| r1796_3(glval) = VariableAddress[w] : -# 1796| r1796_4(int) = Load[w] : &:r1796_3, m1794_4 -# 1796| r1796_5(int) = Add : r1796_2, r1796_4 -# 1796| r1796_6(glval) = VariableAddress[x] : -# 1796| m1796_7(int) = Store[x] : &:r1796_6, r1796_5 -# 1799| r1799_1(glval) = VariableAddress[x] : -# 1799| r1799_2(int) = Load[x] : &:r1799_1, m1796_7 -# 1799| r1799_3(glval) = VariableAddress[w] : -# 1799| m1799_4(int) = Store[w] : &:r1799_3, r1799_2 -# 1799| r1799_5(glval) = VariableAddress[w2] : -# 1799| r1799_6(glval) = VariableAddress[w] : -# 1799| r1799_7(int) = Load[w] : &:r1799_6, m1799_4 -# 1799| m1799_8(int) = Store[w2] : &:r1799_5, r1799_7 -# 1799| r1799_9(glval) = VariableAddress[w2] : -# 1799| r1799_10(int) = Load[w2] : &:r1799_9, m1799_8 -# 1799| r1799_11(int) = CopyValue : r1799_10 -# 1799| v1799_12(void) = Switch : r1799_11 +# 1842| Block 2 +# 1842| v1842_1(void) = NoOp : +# 1843| r1843_1(glval) = VariableAddress[x] : +# 1843| r1843_2(int) = Load[x] : &:r1843_1, m1837_7 +# 1843| r1843_3(glval) = VariableAddress[w] : +# 1843| r1843_4(int) = Load[w] : &:r1843_3, m1841_4 +# 1843| r1843_5(int) = Add : r1843_2, r1843_4 +# 1843| r1843_6(glval) = VariableAddress[x] : +# 1843| m1843_7(int) = Store[x] : &:r1843_6, r1843_5 +# 1846| r1846_1(glval) = VariableAddress[x] : +# 1846| r1846_2(int) = Load[x] : &:r1846_1, m1843_7 +# 1846| r1846_3(glval) = VariableAddress[w] : +# 1846| m1846_4(int) = Store[w] : &:r1846_3, r1846_2 +# 1846| r1846_5(glval) = VariableAddress[w2] : +# 1846| r1846_6(glval) = VariableAddress[w] : +# 1846| r1846_7(int) = Load[w] : &:r1846_6, m1846_4 +# 1846| m1846_8(int) = Store[w2] : &:r1846_5, r1846_7 +# 1846| r1846_9(glval) = VariableAddress[w2] : +# 1846| r1846_10(int) = Load[w2] : &:r1846_9, m1846_8 +# 1846| r1846_11(int) = CopyValue : r1846_10 +# 1846| v1846_12(void) = Switch : r1846_11 #-----| Default -> Block 3 -# 1800| Block 3 -# 1800| v1800_1(void) = NoOp : -# 1801| r1801_1(glval) = VariableAddress[x] : -# 1801| r1801_2(int) = Load[x] : &:r1801_1, m1796_7 -# 1801| r1801_3(glval) = VariableAddress[w] : -# 1801| r1801_4(int) = Load[w] : &:r1801_3, m1799_4 -# 1801| r1801_5(int) = Add : r1801_2, r1801_4 -# 1801| r1801_6(glval) = VariableAddress[x] : -# 1801| m1801_7(int) = Store[x] : &:r1801_6, r1801_5 -# 1804| r1804_1(glval) = VariableAddress[v] : -# 1804| r1804_2(glval) = VariableAddress[x] : -# 1804| r1804_3(int) = Load[x] : &:r1804_2, m1801_7 -# 1804| m1804_4(int) = Store[v] : &:r1804_1, r1804_3 -# 1804| r1804_5(glval) = VariableAddress[v2] : -# 1804| r1804_6(glval) = VariableAddress[v] : -# 1804| r1804_7(int) = Load[v] : &:r1804_6, m1804_4 -# 1804| m1804_8(int) = Store[v2] : &:r1804_5, r1804_7 -# 1804| r1804_9(glval) = VariableAddress[v2] : -# 1804| r1804_10(int) = Load[v2] : &:r1804_9, m1804_8 -# 1804| r1804_11(int) = CopyValue : r1804_10 -# 1804| v1804_12(void) = Switch : r1804_11 +# 1847| Block 3 +# 1847| v1847_1(void) = NoOp : +# 1848| r1848_1(glval) = VariableAddress[x] : +# 1848| r1848_2(int) = Load[x] : &:r1848_1, m1843_7 +# 1848| r1848_3(glval) = VariableAddress[w] : +# 1848| r1848_4(int) = Load[w] : &:r1848_3, m1846_4 +# 1848| r1848_5(int) = Add : r1848_2, r1848_4 +# 1848| r1848_6(glval) = VariableAddress[x] : +# 1848| m1848_7(int) = Store[x] : &:r1848_6, r1848_5 +# 1851| r1851_1(glval) = VariableAddress[v] : +# 1851| r1851_2(glval) = VariableAddress[x] : +# 1851| r1851_3(int) = Load[x] : &:r1851_2, m1848_7 +# 1851| m1851_4(int) = Store[v] : &:r1851_1, r1851_3 +# 1851| r1851_5(glval) = VariableAddress[v2] : +# 1851| r1851_6(glval) = VariableAddress[v] : +# 1851| r1851_7(int) = Load[v] : &:r1851_6, m1851_4 +# 1851| m1851_8(int) = Store[v2] : &:r1851_5, r1851_7 +# 1851| r1851_9(glval) = VariableAddress[v2] : +# 1851| r1851_10(int) = Load[v2] : &:r1851_9, m1851_8 +# 1851| r1851_11(int) = CopyValue : r1851_10 +# 1851| v1851_12(void) = Switch : r1851_11 #-----| Default -> Block 4 -# 1805| Block 4 -# 1805| v1805_1(void) = NoOp : -# 1806| r1806_1(glval) = VariableAddress[x] : -# 1806| r1806_2(int) = Load[x] : &:r1806_1, m1801_7 -# 1806| r1806_3(glval) = VariableAddress[v] : -# 1806| r1806_4(int) = Load[v] : &:r1806_3, m1804_4 -# 1806| r1806_5(int) = Add : r1806_2, r1806_4 -# 1806| r1806_6(glval) = VariableAddress[x] : -# 1806| m1806_7(int) = Store[x] : &:r1806_6, r1806_5 -# 1809| r1809_1(glval) = VariableAddress[z] : -# 1809| r1809_2(glval) = VariableAddress[x] : -# 1809| r1809_3(int) = Load[x] : &:r1809_2, m1806_7 -# 1809| m1809_4(int) = Store[z] : &:r1809_1, r1809_3 -# 1810| r1810_1(glval) = VariableAddress[z] : -# 1810| r1810_2(int) = Load[z] : &:r1810_1, m1809_4 -# 1810| v1810_3(void) = Switch : r1810_2 +# 1852| Block 4 +# 1852| v1852_1(void) = NoOp : +# 1853| r1853_1(glval) = VariableAddress[x] : +# 1853| r1853_2(int) = Load[x] : &:r1853_1, m1848_7 +# 1853| r1853_3(glval) = VariableAddress[v] : +# 1853| r1853_4(int) = Load[v] : &:r1853_3, m1851_4 +# 1853| r1853_5(int) = Add : r1853_2, r1853_4 +# 1853| r1853_6(glval) = VariableAddress[x] : +# 1853| m1853_7(int) = Store[x] : &:r1853_6, r1853_5 +# 1856| r1856_1(glval) = VariableAddress[z] : +# 1856| r1856_2(glval) = VariableAddress[x] : +# 1856| r1856_3(int) = Load[x] : &:r1856_2, m1853_7 +# 1856| m1856_4(int) = Store[z] : &:r1856_1, r1856_3 +# 1857| r1857_1(glval) = VariableAddress[z] : +# 1857| r1857_2(int) = Load[z] : &:r1857_1, m1856_4 +# 1857| v1857_3(void) = Switch : r1857_2 #-----| Default -> Block 5 -# 1811| Block 5 -# 1811| v1811_1(void) = NoOp : -# 1812| r1812_1(glval) = VariableAddress[x] : -# 1812| r1812_2(int) = Load[x] : &:r1812_1, m1806_7 -# 1812| r1812_3(glval) = VariableAddress[z] : -# 1812| r1812_4(int) = Load[z] : &:r1812_3, m1809_4 -# 1812| r1812_5(int) = Add : r1812_2, r1812_4 -# 1812| r1812_6(glval) = VariableAddress[x] : -# 1812| m1812_7(int) = Store[x] : &:r1812_6, r1812_5 -# 1815| r1815_1(glval) = VariableAddress[z2] : -# 1815| r1815_2(glval) = VariableAddress[z] : -# 1815| r1815_3(int) = Load[z] : &:r1815_2, m1809_4 -# 1815| m1815_4(int) = Store[z2] : &:r1815_1, r1815_3 -# 1815| r1815_5(glval) = VariableAddress[z2] : -# 1815| r1815_6(int) = Load[z2] : &:r1815_5, m1815_4 -# 1815| r1815_7(int) = CopyValue : r1815_6 -# 1815| v1815_8(void) = Switch : r1815_7 +# 1858| Block 5 +# 1858| v1858_1(void) = NoOp : +# 1859| r1859_1(glval) = VariableAddress[x] : +# 1859| r1859_2(int) = Load[x] : &:r1859_1, m1853_7 +# 1859| r1859_3(glval) = VariableAddress[z] : +# 1859| r1859_4(int) = Load[z] : &:r1859_3, m1856_4 +# 1859| r1859_5(int) = Add : r1859_2, r1859_4 +# 1859| r1859_6(glval) = VariableAddress[x] : +# 1859| m1859_7(int) = Store[x] : &:r1859_6, r1859_5 +# 1862| r1862_1(glval) = VariableAddress[z2] : +# 1862| r1862_2(glval) = VariableAddress[z] : +# 1862| r1862_3(int) = Load[z] : &:r1862_2, m1856_4 +# 1862| m1862_4(int) = Store[z2] : &:r1862_1, r1862_3 +# 1862| r1862_5(glval) = VariableAddress[z2] : +# 1862| r1862_6(int) = Load[z2] : &:r1862_5, m1862_4 +# 1862| r1862_7(int) = CopyValue : r1862_6 +# 1862| v1862_8(void) = Switch : r1862_7 #-----| Default -> Block 6 -# 1816| Block 6 -# 1816| v1816_1(void) = NoOp : -# 1817| r1817_1(glval) = VariableAddress[z2] : -# 1817| r1817_2(int) = Load[z2] : &:r1817_1, m1815_4 -# 1817| r1817_3(glval) = VariableAddress[x] : -# 1817| r1817_4(int) = Load[x] : &:r1817_3, m1812_7 -# 1817| r1817_5(int) = Add : r1817_4, r1817_2 -# 1817| m1817_6(int) = Store[x] : &:r1817_3, r1817_5 -# 1819| v1819_1(void) = NoOp : -# 1787| v1787_7(void) = ReturnVoid : -# 1787| v1787_8(void) = AliasedUse : m1787_3 -# 1787| v1787_9(void) = ExitFunction : +# 1863| Block 6 +# 1863| v1863_1(void) = NoOp : +# 1864| r1864_1(glval) = VariableAddress[z2] : +# 1864| r1864_2(int) = Load[z2] : &:r1864_1, m1862_4 +# 1864| r1864_3(glval) = VariableAddress[x] : +# 1864| r1864_4(int) = Load[x] : &:r1864_3, m1859_7 +# 1864| r1864_5(int) = Add : r1864_4, r1864_2 +# 1864| m1864_6(int) = Store[x] : &:r1864_3, r1864_5 +# 1866| v1866_1(void) = NoOp : +# 1834| v1834_7(void) = ReturnVoid : +# 1834| v1834_8(void) = AliasedUse : m1834_3 +# 1834| v1834_9(void) = ExitFunction : -# 1823| int global_2 -# 1823| Block 0 -# 1823| v1823_1(void) = EnterFunction : -# 1823| m1823_2(unknown) = AliasedDefinition : -# 1823| r1823_3(glval) = VariableAddress[global_2] : -# 1823| r1823_4(int) = Constant[1] : -# 1823| m1823_5(int) = Store[global_2] : &:r1823_3, r1823_4 -# 1823| m1823_6(unknown) = Chi : total:m1823_2, partial:m1823_5 -# 1823| v1823_7(void) = ReturnVoid : -# 1823| v1823_8(void) = AliasedUse : ~m1823_6 -# 1823| v1823_9(void) = ExitFunction : +# 1870| int global_2 +# 1870| Block 0 +# 1870| v1870_1(void) = EnterFunction : +# 1870| m1870_2(unknown) = AliasedDefinition : +# 1870| r1870_3(glval) = VariableAddress[global_2] : +# 1870| r1870_4(int) = Constant[1] : +# 1870| m1870_5(int) = Store[global_2] : &:r1870_3, r1870_4 +# 1870| m1870_6(unknown) = Chi : total:m1870_2, partial:m1870_5 +# 1870| v1870_7(void) = ReturnVoid : +# 1870| v1870_8(void) = AliasedUse : ~m1870_6 +# 1870| v1870_9(void) = ExitFunction : -# 1827| constructor_only global_4 -# 1827| Block 0 -# 1827| v1827_1(void) = EnterFunction : -# 1827| m1827_2(unknown) = AliasedDefinition : -# 1827| r1827_3(glval) = VariableAddress[global_4] : -# 1827| r1827_4(glval) = FunctionAddress[constructor_only] : -# 1827| r1827_5(int) = Constant[1] : -# 1827| v1827_6(void) = Call[constructor_only] : func:r1827_4, this:r1827_3, 0:r1827_5 -# 1827| m1827_7(unknown) = ^CallSideEffect : ~m1827_2 -# 1827| m1827_8(unknown) = Chi : total:m1827_2, partial:m1827_7 -# 1827| m1827_9(constructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1827_3 -# 1827| m1827_10(unknown) = Chi : total:m1827_8, partial:m1827_9 -# 1827| v1827_11(void) = ReturnVoid : -# 1827| v1827_12(void) = AliasedUse : ~m1827_10 -# 1827| v1827_13(void) = ExitFunction : +# 1874| constructor_only global_4 +# 1874| Block 0 +# 1874| v1874_1(void) = EnterFunction : +# 1874| m1874_2(unknown) = AliasedDefinition : +# 1874| r1874_3(glval) = VariableAddress[global_4] : +# 1874| r1874_4(glval) = FunctionAddress[constructor_only] : +# 1874| r1874_5(int) = Constant[1] : +# 1874| v1874_6(void) = Call[constructor_only] : func:r1874_4, this:r1874_3, 0:r1874_5 +# 1874| m1874_7(unknown) = ^CallSideEffect : ~m1874_2 +# 1874| m1874_8(unknown) = Chi : total:m1874_2, partial:m1874_7 +# 1874| m1874_9(constructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1874_3 +# 1874| m1874_10(unknown) = Chi : total:m1874_8, partial:m1874_9 +# 1874| v1874_11(void) = ReturnVoid : +# 1874| v1874_12(void) = AliasedUse : ~m1874_10 +# 1874| v1874_13(void) = ExitFunction : -# 1829| constructor_only global_5 -# 1829| Block 0 -# 1829| v1829_1(void) = EnterFunction : -# 1829| m1829_2(unknown) = AliasedDefinition : -# 1829| r1829_3(glval) = VariableAddress[global_5] : -# 1829| r1829_4(glval) = FunctionAddress[constructor_only] : -# 1829| r1829_5(int) = Constant[2] : -# 1829| v1829_6(void) = Call[constructor_only] : func:r1829_4, this:r1829_3, 0:r1829_5 -# 1829| m1829_7(unknown) = ^CallSideEffect : ~m1829_2 -# 1829| m1829_8(unknown) = Chi : total:m1829_2, partial:m1829_7 -# 1829| m1829_9(constructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1829_3 -# 1829| m1829_10(unknown) = Chi : total:m1829_8, partial:m1829_9 -# 1829| v1829_11(void) = ReturnVoid : -# 1829| v1829_12(void) = AliasedUse : ~m1829_10 -# 1829| v1829_13(void) = ExitFunction : +# 1876| constructor_only global_5 +# 1876| Block 0 +# 1876| v1876_1(void) = EnterFunction : +# 1876| m1876_2(unknown) = AliasedDefinition : +# 1876| r1876_3(glval) = VariableAddress[global_5] : +# 1876| r1876_4(glval) = FunctionAddress[constructor_only] : +# 1876| r1876_5(int) = Constant[2] : +# 1876| v1876_6(void) = Call[constructor_only] : func:r1876_4, this:r1876_3, 0:r1876_5 +# 1876| m1876_7(unknown) = ^CallSideEffect : ~m1876_2 +# 1876| m1876_8(unknown) = Chi : total:m1876_2, partial:m1876_7 +# 1876| m1876_9(constructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1876_3 +# 1876| m1876_10(unknown) = Chi : total:m1876_8, partial:m1876_9 +# 1876| v1876_11(void) = ReturnVoid : +# 1876| v1876_12(void) = AliasedUse : ~m1876_10 +# 1876| v1876_13(void) = ExitFunction : -# 1831| char* global_string -# 1831| Block 0 -# 1831| v1831_1(void) = EnterFunction : -# 1831| m1831_2(unknown) = AliasedDefinition : -# 1831| r1831_3(glval) = VariableAddress[global_string] : -# 1831| r1831_4(glval) = StringConstant["global string"] : -# 1831| r1831_5(char *) = Convert : r1831_4 -# 1831| r1831_6(char *) = Convert : r1831_5 -# 1831| m1831_7(char *) = Store[global_string] : &:r1831_3, r1831_6 -# 1831| m1831_8(unknown) = Chi : total:m1831_2, partial:m1831_7 -# 1831| v1831_9(void) = ReturnVoid : -# 1831| v1831_10(void) = AliasedUse : ~m1831_8 -# 1831| v1831_11(void) = ExitFunction : +# 1878| char* global_string +# 1878| Block 0 +# 1878| v1878_1(void) = EnterFunction : +# 1878| m1878_2(unknown) = AliasedDefinition : +# 1878| r1878_3(glval) = VariableAddress[global_string] : +# 1878| r1878_4(glval) = StringConstant["global string"] : +# 1878| r1878_5(char *) = Convert : r1878_4 +# 1878| r1878_6(char *) = Convert : r1878_5 +# 1878| m1878_7(char *) = Store[global_string] : &:r1878_3, r1878_6 +# 1878| m1878_8(unknown) = Chi : total:m1878_2, partial:m1878_7 +# 1878| v1878_9(void) = ReturnVoid : +# 1878| v1878_10(void) = AliasedUse : ~m1878_8 +# 1878| v1878_11(void) = ExitFunction : -# 1833| int global_6 -# 1833| Block 0 -# 1833| v1833_1(void) = EnterFunction : -# 1833| m1833_2(unknown) = AliasedDefinition : -# 1833| r1833_3(glval) = VariableAddress[global_6] : -# 1833| r1833_4(glval) = VariableAddress[global_2] : -# 1833| r1833_5(int) = Load[global_2] : &:r1833_4, ~m1833_2 -# 1833| m1833_6(int) = Store[global_6] : &:r1833_3, r1833_5 -# 1833| m1833_7(unknown) = Chi : total:m1833_2, partial:m1833_6 -# 1833| v1833_8(void) = ReturnVoid : -# 1833| v1833_9(void) = AliasedUse : ~m1833_7 -# 1833| v1833_10(void) = ExitFunction : +# 1880| int global_6 +# 1880| Block 0 +# 1880| v1880_1(void) = EnterFunction : +# 1880| m1880_2(unknown) = AliasedDefinition : +# 1880| r1880_3(glval) = VariableAddress[global_6] : +# 1880| r1880_4(glval) = VariableAddress[global_2] : +# 1880| r1880_5(int) = Load[global_2] : &:r1880_4, ~m1880_2 +# 1880| m1880_6(int) = Store[global_6] : &:r1880_3, r1880_5 +# 1880| m1880_7(unknown) = Chi : total:m1880_2, partial:m1880_6 +# 1880| v1880_8(void) = ReturnVoid : +# 1880| v1880_9(void) = AliasedUse : ~m1880_7 +# 1880| v1880_10(void) = ExitFunction : -# 1836| block_assignment::A& block_assignment::A::operator=(block_assignment::A&&) -# 1836| Block 0 -# 1836| v1836_1(void) = EnterFunction : -# 1836| m1836_2(unknown) = AliasedDefinition : -# 1836| m1836_3(unknown) = InitializeNonLocal : -# 1836| m1836_4(unknown) = Chi : total:m1836_2, partial:m1836_3 -# 1836| r1836_5(glval) = VariableAddress[#this] : -# 1836| m1836_6(glval) = InitializeParameter[#this] : &:r1836_5 -# 1836| r1836_7(glval) = Load[#this] : &:r1836_5, m1836_6 -# 1836| m1836_8(A) = InitializeIndirection[#this] : &:r1836_7 +# 1883| block_assignment::A& block_assignment::A::operator=(block_assignment::A&&) +# 1883| Block 0 +# 1883| v1883_1(void) = EnterFunction : +# 1883| m1883_2(unknown) = AliasedDefinition : +# 1883| m1883_3(unknown) = InitializeNonLocal : +# 1883| m1883_4(unknown) = Chi : total:m1883_2, partial:m1883_3 +# 1883| r1883_5(glval) = VariableAddress[#this] : +# 1883| m1883_6(glval) = InitializeParameter[#this] : &:r1883_5 +# 1883| r1883_7(glval) = Load[#this] : &:r1883_5, m1883_6 +# 1883| m1883_8(A) = InitializeIndirection[#this] : &:r1883_7 #-----| r0_1(glval) = VariableAddress[(unnamed parameter 0)] : #-----| m0_2(A &&) = InitializeParameter[(unnamed parameter 0)] : &:r0_1 #-----| r0_3(A &&) = Load[(unnamed parameter 0)] : &:r0_1, m0_2 #-----| m0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3 #-----| r0_5(glval) = VariableAddress[#this] : -#-----| r0_6(A *) = Load[#this] : &:r0_5, m1836_6 +#-----| r0_6(A *) = Load[#this] : &:r0_5, m1883_6 #-----| r0_7(glval[1]>) = FieldAddress[e] : r0_6 #-----| r0_8(glval) = VariableAddress[(unnamed parameter 0)] : #-----| r0_9(A &&) = Load[(unnamed parameter 0)] : &:r0_8, m0_2 @@ -10811,3787 +11318,4141 @@ ir.cpp: #-----| r0_11(glval[1]>) = FieldAddress[e] : r0_10 #-----| r0_12(enum [1]) = Load[?] : &:r0_11, ~m0_4 #-----| m0_13(enum [1]) = Store[?] : &:r0_7, r0_12 -#-----| m0_14(unknown) = Chi : total:m1836_8, partial:m0_13 +#-----| m0_14(unknown) = Chi : total:m1883_8, partial:m0_13 #-----| r0_15(glval) = VariableAddress[#return] : #-----| r0_16(glval) = VariableAddress[#this] : -#-----| r0_17(A *) = Load[#this] : &:r0_16, m1836_6 +#-----| r0_17(A *) = Load[#this] : &:r0_16, m1883_6 #-----| r0_18(glval) = CopyValue : r0_17 #-----| r0_19(A &) = CopyValue : r0_18 #-----| m0_20(A &) = Store[#return] : &:r0_15, r0_19 -# 1836| v1836_9(void) = ReturnIndirection[#this] : &:r1836_7, m0_14 +# 1883| v1883_9(void) = ReturnIndirection[#this] : &:r1883_7, m0_14 #-----| v0_21(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4 -# 1836| r1836_10(glval) = VariableAddress[#return] : -# 1836| v1836_11(void) = ReturnValue : &:r1836_10, m0_20 -# 1836| v1836_12(void) = AliasedUse : m1836_3 -# 1836| v1836_13(void) = ExitFunction : +# 1883| r1883_10(glval) = VariableAddress[#return] : +# 1883| v1883_11(void) = ReturnValue : &:r1883_10, m0_20 +# 1883| v1883_12(void) = AliasedUse : m1883_3 +# 1883| v1883_13(void) = ExitFunction : -# 1841| block_assignment::B& block_assignment::B::operator=(block_assignment::B&&) -# 1841| Block 0 -# 1841| v1841_1(void) = EnterFunction : -# 1841| m1841_2(unknown) = AliasedDefinition : -# 1841| m1841_3(unknown) = InitializeNonLocal : -# 1841| m1841_4(unknown) = Chi : total:m1841_2, partial:m1841_3 -# 1841| r1841_5(glval) = VariableAddress[#this] : -# 1841| m1841_6(glval) = InitializeParameter[#this] : &:r1841_5 -# 1841| r1841_7(glval) = Load[#this] : &:r1841_5, m1841_6 -# 1841| m1841_8(B) = InitializeIndirection[#this] : &:r1841_7 +# 1888| block_assignment::B& block_assignment::B::operator=(block_assignment::B&&) +# 1888| Block 0 +# 1888| v1888_1(void) = EnterFunction : +# 1888| m1888_2(unknown) = AliasedDefinition : +# 1888| m1888_3(unknown) = InitializeNonLocal : +# 1888| m1888_4(unknown) = Chi : total:m1888_2, partial:m1888_3 +# 1888| r1888_5(glval) = VariableAddress[#this] : +# 1888| m1888_6(glval) = InitializeParameter[#this] : &:r1888_5 +# 1888| r1888_7(glval) = Load[#this] : &:r1888_5, m1888_6 +# 1888| m1888_8(B) = InitializeIndirection[#this] : &:r1888_7 #-----| r0_1(glval) = VariableAddress[(unnamed parameter 0)] : #-----| m0_2(B &&) = InitializeParameter[(unnamed parameter 0)] : &:r0_1 #-----| r0_3(B &&) = Load[(unnamed parameter 0)] : &:r0_1, m0_2 #-----| m0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3 -# 1841| r1841_9(glval) = VariableAddress[#this] : -# 1841| r1841_10(B *) = Load[#this] : &:r1841_9, m1841_6 -#-----| r0_5(A *) = ConvertToNonVirtualBase[B : A] : r1841_10 -# 1841| r1841_11(glval) = FunctionAddress[operator=] : -# 1841| r1841_12(glval) = VariableAddress[(unnamed parameter 0)] : -# 1841| r1841_13(B &&) = Load[(unnamed parameter 0)] : &:r1841_12, m0_2 -#-----| r0_6(glval) = CopyValue : r1841_13 -# 1841| r1841_14(B *) = CopyValue : r0_6 -#-----| r0_7(A *) = ConvertToNonVirtualBase[B : A] : r1841_14 -# 1841| r1841_15(glval) = CopyValue : r0_7 -#-----| r0_8(A &) = CopyValue : r1841_15 -# 1841| r1841_16(A &) = Call[operator=] : func:r1841_11, this:r0_5, 0:r0_8 -# 1841| m1841_17(unknown) = ^CallSideEffect : ~m1841_4 -# 1841| m1841_18(unknown) = Chi : total:m1841_4, partial:m1841_17 -#-----| v0_9(void) = ^IndirectReadSideEffect[-1] : &:r0_5, ~m1841_8 +# 1888| r1888_9(glval) = VariableAddress[#this] : +# 1888| r1888_10(B *) = Load[#this] : &:r1888_9, m1888_6 +#-----| r0_5(A *) = ConvertToNonVirtualBase[B : A] : r1888_10 +# 1888| r1888_11(glval) = FunctionAddress[operator=] : +# 1888| r1888_12(glval) = VariableAddress[(unnamed parameter 0)] : +# 1888| r1888_13(B &&) = Load[(unnamed parameter 0)] : &:r1888_12, m0_2 +#-----| r0_6(glval) = CopyValue : r1888_13 +# 1888| r1888_14(B *) = CopyValue : r0_6 +#-----| r0_7(A *) = ConvertToNonVirtualBase[B : A] : r1888_14 +# 1888| r1888_15(glval) = CopyValue : r0_7 +#-----| r0_8(A &) = CopyValue : r1888_15 +# 1888| r1888_16(A &) = Call[operator=] : func:r1888_11, this:r0_5, 0:r0_8 +# 1888| m1888_17(unknown) = ^CallSideEffect : ~m1888_4 +# 1888| m1888_18(unknown) = Chi : total:m1888_4, partial:m1888_17 +#-----| v0_9(void) = ^IndirectReadSideEffect[-1] : &:r0_5, ~m1888_8 #-----| v0_10(void) = ^BufferReadSideEffect[0] : &:r0_8, ~m0_4 #-----| m0_11(A) = ^IndirectMayWriteSideEffect[-1] : &:r0_5 -#-----| m0_12(unknown) = Chi : total:m1841_8, partial:m0_11 +#-----| m0_12(unknown) = Chi : total:m1888_8, partial:m0_11 #-----| m0_13(unknown) = ^BufferMayWriteSideEffect[0] : &:r0_8 #-----| m0_14(unknown) = Chi : total:m0_4, partial:m0_13 -#-----| r0_15(glval) = CopyValue : r1841_16 +#-----| r0_15(glval) = CopyValue : r1888_16 #-----| r0_16(glval) = VariableAddress[#return] : #-----| r0_17(glval) = VariableAddress[#this] : -#-----| r0_18(B *) = Load[#this] : &:r0_17, m1841_6 +#-----| r0_18(B *) = Load[#this] : &:r0_17, m1888_6 #-----| r0_19(glval) = CopyValue : r0_18 #-----| r0_20(B &) = CopyValue : r0_19 #-----| m0_21(B &) = Store[#return] : &:r0_16, r0_20 -# 1841| v1841_19(void) = ReturnIndirection[#this] : &:r1841_7, m0_12 +# 1888| v1888_19(void) = ReturnIndirection[#this] : &:r1888_7, m0_12 #-----| v0_22(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_14 -# 1841| r1841_20(glval) = VariableAddress[#return] : -# 1841| v1841_21(void) = ReturnValue : &:r1841_20, m0_21 -# 1841| v1841_22(void) = AliasedUse : ~m1841_18 -# 1841| v1841_23(void) = ExitFunction : +# 1888| r1888_20(glval) = VariableAddress[#return] : +# 1888| v1888_21(void) = ReturnValue : &:r1888_20, m0_21 +# 1888| v1888_22(void) = AliasedUse : ~m1888_18 +# 1888| v1888_23(void) = ExitFunction : -# 1845| void block_assignment::foo() -# 1845| Block 0 -# 1845| v1845_1(void) = EnterFunction : -# 1845| m1845_2(unknown) = AliasedDefinition : -# 1845| m1845_3(unknown) = InitializeNonLocal : -# 1845| m1845_4(unknown) = Chi : total:m1845_2, partial:m1845_3 -# 1846| r1846_1(glval) = VariableAddress[v] : -# 1846| m1846_2(B) = Uninitialized[v] : &:r1846_1 -# 1846| r1846_3(glval) = FunctionAddress[B] : -# 1846| r1846_4(A *) = Constant[0] : -# 1846| v1846_5(void) = Call[B] : func:r1846_3, this:r1846_1, 0:r1846_4 -# 1846| m1846_6(unknown) = ^CallSideEffect : ~m1845_4 -# 1846| m1846_7(unknown) = Chi : total:m1845_4, partial:m1846_6 -# 1846| v1846_8(void) = ^BufferReadSideEffect[0] : &:r1846_4, ~m1846_7 -# 1846| m1846_9(B) = ^IndirectMayWriteSideEffect[-1] : &:r1846_1 -# 1846| m1846_10(B) = Chi : total:m1846_2, partial:m1846_9 -# 1846| m1846_11(unknown) = ^BufferMayWriteSideEffect[0] : &:r1846_4 -# 1846| m1846_12(unknown) = Chi : total:m1846_7, partial:m1846_11 -# 1847| r1847_1(glval) = VariableAddress[v] : -# 1847| r1847_2(glval) = FunctionAddress[operator=] : -# 1847| r1847_3(glval) = VariableAddress[#temp1847:13] : -# 1847| m1847_4(B) = Uninitialized[#temp1847:13] : &:r1847_3 -# 1847| r1847_5(glval) = FunctionAddress[B] : -# 1847| r1847_6(A *) = Constant[0] : -# 1847| v1847_7(void) = Call[B] : func:r1847_5, this:r1847_3, 0:r1847_6 -# 1847| m1847_8(unknown) = ^CallSideEffect : ~m1846_12 -# 1847| m1847_9(unknown) = Chi : total:m1846_12, partial:m1847_8 -# 1847| v1847_10(void) = ^BufferReadSideEffect[0] : &:r1847_6, ~m1847_9 -# 1847| m1847_11(B) = ^IndirectMayWriteSideEffect[-1] : &:r1847_3 -# 1847| m1847_12(B) = Chi : total:m1847_4, partial:m1847_11 -# 1847| m1847_13(unknown) = ^BufferMayWriteSideEffect[0] : &:r1847_6 -# 1847| m1847_14(unknown) = Chi : total:m1847_9, partial:m1847_13 -# 1847| r1847_15(B &) = CopyValue : r1847_3 -# 1847| r1847_16(B &) = Call[operator=] : func:r1847_2, this:r1847_1, 0:r1847_15 -# 1847| m1847_17(unknown) = ^CallSideEffect : ~m1847_14 -# 1847| m1847_18(unknown) = Chi : total:m1847_14, partial:m1847_17 -# 1847| v1847_19(void) = ^IndirectReadSideEffect[-1] : &:r1847_1, m1846_10 -# 1847| v1847_20(void) = ^BufferReadSideEffect[0] : &:r1847_15, ~m1847_12 -# 1847| m1847_21(B) = ^IndirectMayWriteSideEffect[-1] : &:r1847_1 -# 1847| m1847_22(B) = Chi : total:m1846_10, partial:m1847_21 -# 1847| m1847_23(unknown) = ^BufferMayWriteSideEffect[0] : &:r1847_15 -# 1847| m1847_24(B) = Chi : total:m1847_12, partial:m1847_23 -# 1847| r1847_25(glval) = CopyValue : r1847_16 -# 1848| v1848_1(void) = NoOp : -# 1845| v1845_5(void) = ReturnVoid : -# 1845| v1845_6(void) = AliasedUse : ~m1847_18 -# 1845| v1845_7(void) = ExitFunction : +# 1892| void block_assignment::foo() +# 1892| Block 0 +# 1892| v1892_1(void) = EnterFunction : +# 1892| m1892_2(unknown) = AliasedDefinition : +# 1892| m1892_3(unknown) = InitializeNonLocal : +# 1892| m1892_4(unknown) = Chi : total:m1892_2, partial:m1892_3 +# 1893| r1893_1(glval) = VariableAddress[v] : +# 1893| m1893_2(B) = Uninitialized[v] : &:r1893_1 +# 1893| r1893_3(glval) = FunctionAddress[B] : +# 1893| r1893_4(A *) = Constant[0] : +# 1893| v1893_5(void) = Call[B] : func:r1893_3, this:r1893_1, 0:r1893_4 +# 1893| m1893_6(unknown) = ^CallSideEffect : ~m1892_4 +# 1893| m1893_7(unknown) = Chi : total:m1892_4, partial:m1893_6 +# 1893| v1893_8(void) = ^BufferReadSideEffect[0] : &:r1893_4, ~m1893_7 +# 1893| m1893_9(B) = ^IndirectMayWriteSideEffect[-1] : &:r1893_1 +# 1893| m1893_10(B) = Chi : total:m1893_2, partial:m1893_9 +# 1893| m1893_11(unknown) = ^BufferMayWriteSideEffect[0] : &:r1893_4 +# 1893| m1893_12(unknown) = Chi : total:m1893_7, partial:m1893_11 +# 1894| r1894_1(glval) = VariableAddress[v] : +# 1894| r1894_2(glval) = FunctionAddress[operator=] : +# 1894| r1894_3(glval) = VariableAddress[#temp1894:13] : +# 1894| m1894_4(B) = Uninitialized[#temp1894:13] : &:r1894_3 +# 1894| r1894_5(glval) = FunctionAddress[B] : +# 1894| r1894_6(A *) = Constant[0] : +# 1894| v1894_7(void) = Call[B] : func:r1894_5, this:r1894_3, 0:r1894_6 +# 1894| m1894_8(unknown) = ^CallSideEffect : ~m1893_12 +# 1894| m1894_9(unknown) = Chi : total:m1893_12, partial:m1894_8 +# 1894| v1894_10(void) = ^BufferReadSideEffect[0] : &:r1894_6, ~m1894_9 +# 1894| m1894_11(B) = ^IndirectMayWriteSideEffect[-1] : &:r1894_3 +# 1894| m1894_12(B) = Chi : total:m1894_4, partial:m1894_11 +# 1894| m1894_13(unknown) = ^BufferMayWriteSideEffect[0] : &:r1894_6 +# 1894| m1894_14(unknown) = Chi : total:m1894_9, partial:m1894_13 +# 1894| r1894_15(B &) = CopyValue : r1894_3 +# 1894| r1894_16(B &) = Call[operator=] : func:r1894_2, this:r1894_1, 0:r1894_15 +# 1894| m1894_17(unknown) = ^CallSideEffect : ~m1894_14 +# 1894| m1894_18(unknown) = Chi : total:m1894_14, partial:m1894_17 +# 1894| v1894_19(void) = ^IndirectReadSideEffect[-1] : &:r1894_1, m1893_10 +# 1894| v1894_20(void) = ^BufferReadSideEffect[0] : &:r1894_15, ~m1894_12 +# 1894| m1894_21(B) = ^IndirectMayWriteSideEffect[-1] : &:r1894_1 +# 1894| m1894_22(B) = Chi : total:m1893_10, partial:m1894_21 +# 1894| m1894_23(unknown) = ^BufferMayWriteSideEffect[0] : &:r1894_15 +# 1894| m1894_24(B) = Chi : total:m1894_12, partial:m1894_23 +# 1894| r1894_25(glval) = CopyValue : r1894_16 +# 1895| v1895_1(void) = NoOp : +# 1892| v1892_5(void) = ReturnVoid : +# 1892| v1892_6(void) = AliasedUse : ~m1894_18 +# 1892| v1892_7(void) = ExitFunction : -# 1851| void magicvars() -# 1851| Block 0 -# 1851| v1851_1(void) = EnterFunction : -# 1851| m1851_2(unknown) = AliasedDefinition : -# 1851| m1851_3(unknown) = InitializeNonLocal : -# 1851| m1851_4(unknown) = Chi : total:m1851_2, partial:m1851_3 -# 1852| r1852_1(glval) = VariableAddress[pf] : -# 1852| r1852_2(glval) = VariableAddress[__PRETTY_FUNCTION__] : -# 1852| r1852_3(char *) = Convert : r1852_2 -# 1852| m1852_4(char *) = Store[pf] : &:r1852_1, r1852_3 -# 1853| r1853_1(glval) = VariableAddress[strfunc] : -# 1853| r1853_2(glval) = VariableAddress[__func__] : -# 1853| r1853_3(char *) = Convert : r1853_2 -# 1853| m1853_4(char *) = Store[strfunc] : &:r1853_1, r1853_3 -# 1854| v1854_1(void) = NoOp : -# 1851| v1851_5(void) = ReturnVoid : -# 1851| v1851_6(void) = AliasedUse : m1851_3 -# 1851| v1851_7(void) = ExitFunction : +# 1898| void magicvars() +# 1898| Block 0 +# 1898| v1898_1(void) = EnterFunction : +# 1898| m1898_2(unknown) = AliasedDefinition : +# 1898| m1898_3(unknown) = InitializeNonLocal : +# 1898| m1898_4(unknown) = Chi : total:m1898_2, partial:m1898_3 +# 1899| r1899_1(glval) = VariableAddress[pf] : +# 1899| r1899_2(glval) = VariableAddress[__PRETTY_FUNCTION__] : +# 1899| r1899_3(char *) = Convert : r1899_2 +# 1899| m1899_4(char *) = Store[pf] : &:r1899_1, r1899_3 +# 1900| r1900_1(glval) = VariableAddress[strfunc] : +# 1900| r1900_2(glval) = VariableAddress[__func__] : +# 1900| r1900_3(char *) = Convert : r1900_2 +# 1900| m1900_4(char *) = Store[strfunc] : &:r1900_1, r1900_3 +# 1901| v1901_1(void) = NoOp : +# 1898| v1898_5(void) = ReturnVoid : +# 1898| v1898_6(void) = AliasedUse : m1898_3 +# 1898| v1898_7(void) = ExitFunction : -# 1864| void* missing_declaration_entries::Bar1::missing_type_decl_entry(missing_declaration_entries::Bar1::pointer) -# 1864| Block 0 -# 1864| v1864_1(void) = EnterFunction : -# 1864| m1864_2(unknown) = AliasedDefinition : -# 1864| m1864_3(unknown) = InitializeNonLocal : -# 1864| m1864_4(unknown) = Chi : total:m1864_2, partial:m1864_3 -# 1864| r1864_5(glval) = VariableAddress[#this] : -# 1864| m1864_6(glval>) = InitializeParameter[#this] : &:r1864_5 -# 1864| r1864_7(glval>) = Load[#this] : &:r1864_5, m1864_6 -# 1864| m1864_8(Bar1) = InitializeIndirection[#this] : &:r1864_7 -# 1864| r1864_9(glval) = VariableAddress[p] : -# 1864| m1864_10(S *) = InitializeParameter[p] : &:r1864_9 -# 1864| r1864_11(S *) = Load[p] : &:r1864_9, m1864_10 -# 1864| m1864_12(unknown) = InitializeIndirection[p] : &:r1864_11 -# 1866| r1866_1(glval) = VariableAddress[#return] : -# 1866| r1866_2(glval) = VariableAddress[p] : -# 1866| r1866_3(S *) = Load[p] : &:r1866_2, m1864_10 -# 1866| r1866_4(void *) = Convert : r1866_3 -# 1866| m1866_5(void *) = Store[#return] : &:r1866_1, r1866_4 -# 1864| v1864_13(void) = ReturnIndirection[#this] : &:r1864_7, m1864_8 -# 1864| v1864_14(void) = ReturnIndirection[p] : &:r1864_11, m1864_12 -# 1864| r1864_15(glval) = VariableAddress[#return] : -# 1864| v1864_16(void) = ReturnValue : &:r1864_15, m1866_5 -# 1864| v1864_17(void) = AliasedUse : m1864_3 -# 1864| v1864_18(void) = ExitFunction : +# 1911| void* missing_declaration_entries::Bar1::missing_type_decl_entry(missing_declaration_entries::Bar1::pointer) +# 1911| Block 0 +# 1911| v1911_1(void) = EnterFunction : +# 1911| m1911_2(unknown) = AliasedDefinition : +# 1911| m1911_3(unknown) = InitializeNonLocal : +# 1911| m1911_4(unknown) = Chi : total:m1911_2, partial:m1911_3 +# 1911| r1911_5(glval) = VariableAddress[#this] : +# 1911| m1911_6(glval>) = InitializeParameter[#this] : &:r1911_5 +# 1911| r1911_7(glval>) = Load[#this] : &:r1911_5, m1911_6 +# 1911| m1911_8(Bar1) = InitializeIndirection[#this] : &:r1911_7 +# 1911| r1911_9(glval) = VariableAddress[p] : +# 1911| m1911_10(S *) = InitializeParameter[p] : &:r1911_9 +# 1911| r1911_11(S *) = Load[p] : &:r1911_9, m1911_10 +# 1911| m1911_12(unknown) = InitializeIndirection[p] : &:r1911_11 +# 1913| r1913_1(glval) = VariableAddress[#return] : +# 1913| r1913_2(glval) = VariableAddress[p] : +# 1913| r1913_3(S *) = Load[p] : &:r1913_2, m1911_10 +# 1913| r1913_4(void *) = Convert : r1913_3 +# 1913| m1913_5(void *) = Store[#return] : &:r1913_1, r1913_4 +# 1911| v1911_13(void) = ReturnIndirection[#this] : &:r1911_7, m1911_8 +# 1911| v1911_14(void) = ReturnIndirection[p] : &:r1911_11, m1911_12 +# 1911| r1911_15(glval) = VariableAddress[#return] : +# 1911| v1911_16(void) = ReturnValue : &:r1911_15, m1913_5 +# 1911| v1911_17(void) = AliasedUse : m1911_3 +# 1911| v1911_18(void) = ExitFunction : -# 1870| void missing_declaration_entries::test1() -# 1870| Block 0 -# 1870| v1870_1(void) = EnterFunction : -# 1870| m1870_2(unknown) = AliasedDefinition : -# 1870| m1870_3(unknown) = InitializeNonLocal : -# 1870| m1870_4(unknown) = Chi : total:m1870_2, partial:m1870_3 -# 1871| r1871_1(glval>) = VariableAddress[b] : -# 1871| m1871_2(Bar1) = Uninitialized[b] : &:r1871_1 -# 1872| r1872_1(glval>) = VariableAddress[b] : -# 1872| r1872_2(glval) = FunctionAddress[missing_type_decl_entry] : -# 1872| r1872_3(S *) = Constant[0] : -# 1872| r1872_4(void *) = Call[missing_type_decl_entry] : func:r1872_2, this:r1872_1, 0:r1872_3 -# 1872| m1872_5(unknown) = ^CallSideEffect : ~m1870_4 -# 1872| m1872_6(unknown) = Chi : total:m1870_4, partial:m1872_5 -# 1872| v1872_7(void) = ^IndirectReadSideEffect[-1] : &:r1872_1, m1871_2 -# 1872| v1872_8(void) = ^BufferReadSideEffect[0] : &:r1872_3, ~m1872_6 -# 1872| m1872_9(Bar1) = ^IndirectMayWriteSideEffect[-1] : &:r1872_1 -# 1872| m1872_10(Bar1) = Chi : total:m1871_2, partial:m1872_9 -# 1872| m1872_11(unknown) = ^BufferMayWriteSideEffect[0] : &:r1872_3 -# 1872| m1872_12(unknown) = Chi : total:m1872_6, partial:m1872_11 -# 1873| v1873_1(void) = NoOp : -# 1870| v1870_5(void) = ReturnVoid : -# 1870| v1870_6(void) = AliasedUse : ~m1872_12 -# 1870| v1870_7(void) = ExitFunction : +# 1917| void missing_declaration_entries::test1() +# 1917| Block 0 +# 1917| v1917_1(void) = EnterFunction : +# 1917| m1917_2(unknown) = AliasedDefinition : +# 1917| m1917_3(unknown) = InitializeNonLocal : +# 1917| m1917_4(unknown) = Chi : total:m1917_2, partial:m1917_3 +# 1918| r1918_1(glval>) = VariableAddress[b] : +# 1918| m1918_2(Bar1) = Uninitialized[b] : &:r1918_1 +# 1919| r1919_1(glval>) = VariableAddress[b] : +# 1919| r1919_2(glval) = FunctionAddress[missing_type_decl_entry] : +# 1919| r1919_3(S *) = Constant[0] : +# 1919| r1919_4(void *) = Call[missing_type_decl_entry] : func:r1919_2, this:r1919_1, 0:r1919_3 +# 1919| m1919_5(unknown) = ^CallSideEffect : ~m1917_4 +# 1919| m1919_6(unknown) = Chi : total:m1917_4, partial:m1919_5 +# 1919| v1919_7(void) = ^IndirectReadSideEffect[-1] : &:r1919_1, m1918_2 +# 1919| v1919_8(void) = ^BufferReadSideEffect[0] : &:r1919_3, ~m1919_6 +# 1919| m1919_9(Bar1) = ^IndirectMayWriteSideEffect[-1] : &:r1919_1 +# 1919| m1919_10(Bar1) = Chi : total:m1918_2, partial:m1919_9 +# 1919| m1919_11(unknown) = ^BufferMayWriteSideEffect[0] : &:r1919_3 +# 1919| m1919_12(unknown) = Chi : total:m1919_6, partial:m1919_11 +# 1920| v1920_1(void) = NoOp : +# 1917| v1917_5(void) = ReturnVoid : +# 1917| v1917_6(void) = AliasedUse : ~m1919_12 +# 1917| v1917_7(void) = ExitFunction : -# 1877| int missing_declaration_entries::Bar2::two_missing_variable_declaration_entries() -# 1877| Block 0 -# 1877| v1877_1(void) = EnterFunction : -# 1877| m1877_2(unknown) = AliasedDefinition : -# 1877| m1877_3(unknown) = InitializeNonLocal : -# 1877| m1877_4(unknown) = Chi : total:m1877_2, partial:m1877_3 -# 1877| r1877_5(glval) = VariableAddress[#this] : -# 1877| m1877_6(glval>) = InitializeParameter[#this] : &:r1877_5 -# 1877| r1877_7(glval>) = Load[#this] : &:r1877_5, m1877_6 -# 1877| m1877_8(Bar2) = InitializeIndirection[#this] : &:r1877_7 -# 1878| r1878_1(glval) = VariableAddress[x] : -# 1878| m1878_2(int[10]) = Uninitialized[x] : &:r1878_1 -# 1878| r1878_3(glval) = VariableAddress[y] : -# 1878| m1878_4(int[10]) = Uninitialized[y] : &:r1878_3 -# 1879| r1879_1(int) = Constant[10] : -# 1879| r1879_2(glval) = VariableAddress[x] : -# 1879| r1879_3(int *) = Convert : r1879_2 -# 1879| r1879_4(glval) = CopyValue : r1879_3 -# 1879| m1879_5(int) = Store[?] : &:r1879_4, r1879_1 -# 1879| m1879_6(int[10]) = Chi : total:m1878_2, partial:m1879_5 -# 1880| r1880_1(int) = Constant[10] : -# 1880| r1880_2(glval) = VariableAddress[y] : -# 1880| r1880_3(int *) = Convert : r1880_2 -# 1880| r1880_4(glval) = CopyValue : r1880_3 -# 1880| m1880_5(int) = Store[?] : &:r1880_4, r1880_1 -# 1880| m1880_6(int[10]) = Chi : total:m1878_4, partial:m1880_5 -# 1881| r1881_1(glval) = VariableAddress[#return] : -# 1881| r1881_2(glval) = VariableAddress[x] : -# 1881| r1881_3(int *) = Convert : r1881_2 -# 1881| r1881_4(int) = Load[?] : &:r1881_3, m1879_5 -# 1881| r1881_5(glval) = VariableAddress[y] : -# 1881| r1881_6(int *) = Convert : r1881_5 -# 1881| r1881_7(int) = Load[?] : &:r1881_6, m1880_5 -# 1881| r1881_8(int) = Add : r1881_4, r1881_7 -# 1881| m1881_9(int) = Store[#return] : &:r1881_1, r1881_8 -# 1877| v1877_9(void) = ReturnIndirection[#this] : &:r1877_7, m1877_8 -# 1877| r1877_10(glval) = VariableAddress[#return] : -# 1877| v1877_11(void) = ReturnValue : &:r1877_10, m1881_9 -# 1877| v1877_12(void) = AliasedUse : m1877_3 -# 1877| v1877_13(void) = ExitFunction : +# 1924| int missing_declaration_entries::Bar2::two_missing_variable_declaration_entries() +# 1924| Block 0 +# 1924| v1924_1(void) = EnterFunction : +# 1924| m1924_2(unknown) = AliasedDefinition : +# 1924| m1924_3(unknown) = InitializeNonLocal : +# 1924| m1924_4(unknown) = Chi : total:m1924_2, partial:m1924_3 +# 1924| r1924_5(glval) = VariableAddress[#this] : +# 1924| m1924_6(glval>) = InitializeParameter[#this] : &:r1924_5 +# 1924| r1924_7(glval>) = Load[#this] : &:r1924_5, m1924_6 +# 1924| m1924_8(Bar2) = InitializeIndirection[#this] : &:r1924_7 +# 1925| r1925_1(glval) = VariableAddress[x] : +# 1925| m1925_2(int[10]) = Uninitialized[x] : &:r1925_1 +# 1925| r1925_3(glval) = VariableAddress[y] : +# 1925| m1925_4(int[10]) = Uninitialized[y] : &:r1925_3 +# 1926| r1926_1(int) = Constant[10] : +# 1926| r1926_2(glval) = VariableAddress[x] : +# 1926| r1926_3(int *) = Convert : r1926_2 +# 1926| r1926_4(glval) = CopyValue : r1926_3 +# 1926| m1926_5(int) = Store[?] : &:r1926_4, r1926_1 +# 1926| m1926_6(int[10]) = Chi : total:m1925_2, partial:m1926_5 +# 1927| r1927_1(int) = Constant[10] : +# 1927| r1927_2(glval) = VariableAddress[y] : +# 1927| r1927_3(int *) = Convert : r1927_2 +# 1927| r1927_4(glval) = CopyValue : r1927_3 +# 1927| m1927_5(int) = Store[?] : &:r1927_4, r1927_1 +# 1927| m1927_6(int[10]) = Chi : total:m1925_4, partial:m1927_5 +# 1928| r1928_1(glval) = VariableAddress[#return] : +# 1928| r1928_2(glval) = VariableAddress[x] : +# 1928| r1928_3(int *) = Convert : r1928_2 +# 1928| r1928_4(int) = Load[?] : &:r1928_3, m1926_5 +# 1928| r1928_5(glval) = VariableAddress[y] : +# 1928| r1928_6(int *) = Convert : r1928_5 +# 1928| r1928_7(int) = Load[?] : &:r1928_6, m1927_5 +# 1928| r1928_8(int) = Add : r1928_4, r1928_7 +# 1928| m1928_9(int) = Store[#return] : &:r1928_1, r1928_8 +# 1924| v1924_9(void) = ReturnIndirection[#this] : &:r1924_7, m1924_8 +# 1924| r1924_10(glval) = VariableAddress[#return] : +# 1924| v1924_11(void) = ReturnValue : &:r1924_10, m1928_9 +# 1924| v1924_12(void) = AliasedUse : m1924_3 +# 1924| v1924_13(void) = ExitFunction : -# 1885| void missing_declaration_entries::test2() -# 1885| Block 0 -# 1885| v1885_1(void) = EnterFunction : -# 1885| m1885_2(unknown) = AliasedDefinition : -# 1885| m1885_3(unknown) = InitializeNonLocal : -# 1885| m1885_4(unknown) = Chi : total:m1885_2, partial:m1885_3 -# 1886| r1886_1(glval>) = VariableAddress[b] : -# 1886| m1886_2(Bar2) = Uninitialized[b] : &:r1886_1 -# 1887| r1887_1(glval>) = VariableAddress[b] : -# 1887| r1887_2(glval) = FunctionAddress[two_missing_variable_declaration_entries] : -# 1887| r1887_3(int) = Call[two_missing_variable_declaration_entries] : func:r1887_2, this:r1887_1 -# 1887| m1887_4(unknown) = ^CallSideEffect : ~m1885_4 -# 1887| m1887_5(unknown) = Chi : total:m1885_4, partial:m1887_4 -# 1887| v1887_6(void) = ^IndirectReadSideEffect[-1] : &:r1887_1, m1886_2 -# 1887| m1887_7(Bar2) = ^IndirectMayWriteSideEffect[-1] : &:r1887_1 -# 1887| m1887_8(Bar2) = Chi : total:m1886_2, partial:m1887_7 -# 1888| v1888_1(void) = NoOp : -# 1885| v1885_5(void) = ReturnVoid : -# 1885| v1885_6(void) = AliasedUse : ~m1887_5 -# 1885| v1885_7(void) = ExitFunction : +# 1932| void missing_declaration_entries::test2() +# 1932| Block 0 +# 1932| v1932_1(void) = EnterFunction : +# 1932| m1932_2(unknown) = AliasedDefinition : +# 1932| m1932_3(unknown) = InitializeNonLocal : +# 1932| m1932_4(unknown) = Chi : total:m1932_2, partial:m1932_3 +# 1933| r1933_1(glval>) = VariableAddress[b] : +# 1933| m1933_2(Bar2) = Uninitialized[b] : &:r1933_1 +# 1934| r1934_1(glval>) = VariableAddress[b] : +# 1934| r1934_2(glval) = FunctionAddress[two_missing_variable_declaration_entries] : +# 1934| r1934_3(int) = Call[two_missing_variable_declaration_entries] : func:r1934_2, this:r1934_1 +# 1934| m1934_4(unknown) = ^CallSideEffect : ~m1932_4 +# 1934| m1934_5(unknown) = Chi : total:m1932_4, partial:m1934_4 +# 1934| v1934_6(void) = ^IndirectReadSideEffect[-1] : &:r1934_1, m1933_2 +# 1934| m1934_7(Bar2) = ^IndirectMayWriteSideEffect[-1] : &:r1934_1 +# 1934| m1934_8(Bar2) = Chi : total:m1933_2, partial:m1934_7 +# 1935| v1935_1(void) = NoOp : +# 1932| v1932_5(void) = ReturnVoid : +# 1932| v1932_6(void) = AliasedUse : ~m1934_5 +# 1932| v1932_7(void) = ExitFunction : -# 1891| char global_template -# 1891| Block 0 -# 1891| v1891_1(void) = EnterFunction : -# 1891| m1891_2(unknown) = AliasedDefinition : -# 1891| r1891_3(glval) = VariableAddress[global_template] : -# 1891| r1891_4(char) = Constant[42] : -# 1891| m1891_5(char) = Store[global_template] : &:r1891_3, r1891_4 -# 1891| m1891_6(unknown) = Chi : total:m1891_2, partial:m1891_5 -# 1891| v1891_7(void) = ReturnVoid : -# 1891| v1891_8(void) = AliasedUse : ~m1891_6 -# 1891| v1891_9(void) = ExitFunction : +# 1938| char global_template +# 1938| Block 0 +# 1938| v1938_1(void) = EnterFunction : +# 1938| m1938_2(unknown) = AliasedDefinition : +# 1938| r1938_3(glval) = VariableAddress[global_template] : +# 1938| r1938_4(char) = Constant[42] : +# 1938| m1938_5(char) = Store[global_template] : &:r1938_3, r1938_4 +# 1938| m1938_6(unknown) = Chi : total:m1938_2, partial:m1938_5 +# 1938| v1938_7(void) = ReturnVoid : +# 1938| v1938_8(void) = AliasedUse : ~m1938_6 +# 1938| v1938_9(void) = ExitFunction : -# 1891| int global_template -# 1891| Block 0 -# 1891| v1891_1(void) = EnterFunction : -# 1891| m1891_2(unknown) = AliasedDefinition : -# 1891| r1891_3(glval) = VariableAddress[global_template] : -# 1891| r1891_4(int) = Constant[42] : -# 1891| m1891_5(int) = Store[global_template] : &:r1891_3, r1891_4 -# 1891| m1891_6(unknown) = Chi : total:m1891_2, partial:m1891_5 -# 1891| v1891_7(void) = ReturnVoid : -# 1891| v1891_8(void) = AliasedUse : ~m1891_6 -# 1891| v1891_9(void) = ExitFunction : +# 1938| int global_template +# 1938| Block 0 +# 1938| v1938_1(void) = EnterFunction : +# 1938| m1938_2(unknown) = AliasedDefinition : +# 1938| r1938_3(glval) = VariableAddress[global_template] : +# 1938| r1938_4(int) = Constant[42] : +# 1938| m1938_5(int) = Store[global_template] : &:r1938_3, r1938_4 +# 1938| m1938_6(unknown) = Chi : total:m1938_2, partial:m1938_5 +# 1938| v1938_7(void) = ReturnVoid : +# 1938| v1938_8(void) = AliasedUse : ~m1938_6 +# 1938| v1938_9(void) = ExitFunction : -# 1893| int test_global_template_int() -# 1893| Block 0 -# 1893| v1893_1(void) = EnterFunction : -# 1893| m1893_2(unknown) = AliasedDefinition : -# 1893| m1893_3(unknown) = InitializeNonLocal : -# 1893| m1893_4(unknown) = Chi : total:m1893_2, partial:m1893_3 -# 1894| r1894_1(glval) = VariableAddress[local_int] : -# 1894| r1894_2(glval) = VariableAddress[global_template] : -# 1894| r1894_3(int) = Load[global_template] : &:r1894_2, ~m1893_3 -# 1894| m1894_4(int) = Store[local_int] : &:r1894_1, r1894_3 -# 1895| r1895_1(glval) = VariableAddress[local_char] : -# 1895| r1895_2(glval) = VariableAddress[global_template] : -# 1895| r1895_3(char) = Load[global_template] : &:r1895_2, ~m1893_3 -# 1895| m1895_4(char) = Store[local_char] : &:r1895_1, r1895_3 -# 1896| r1896_1(glval) = VariableAddress[#return] : -# 1896| r1896_2(glval) = VariableAddress[local_int] : -# 1896| r1896_3(int) = Load[local_int] : &:r1896_2, m1894_4 -# 1896| r1896_4(glval) = VariableAddress[local_char] : -# 1896| r1896_5(char) = Load[local_char] : &:r1896_4, m1895_4 -# 1896| r1896_6(int) = Convert : r1896_5 -# 1896| r1896_7(int) = Add : r1896_3, r1896_6 -# 1896| m1896_8(int) = Store[#return] : &:r1896_1, r1896_7 -# 1893| r1893_5(glval) = VariableAddress[#return] : -# 1893| v1893_6(void) = ReturnValue : &:r1893_5, m1896_8 -# 1893| v1893_7(void) = AliasedUse : m1893_3 -# 1893| v1893_8(void) = ExitFunction : +# 1940| int test_global_template_int() +# 1940| Block 0 +# 1940| v1940_1(void) = EnterFunction : +# 1940| m1940_2(unknown) = AliasedDefinition : +# 1940| m1940_3(unknown) = InitializeNonLocal : +# 1940| m1940_4(unknown) = Chi : total:m1940_2, partial:m1940_3 +# 1941| r1941_1(glval) = VariableAddress[local_int] : +# 1941| r1941_2(glval) = VariableAddress[global_template] : +# 1941| r1941_3(int) = Load[global_template] : &:r1941_2, ~m1940_3 +# 1941| m1941_4(int) = Store[local_int] : &:r1941_1, r1941_3 +# 1942| r1942_1(glval) = VariableAddress[local_char] : +# 1942| r1942_2(glval) = VariableAddress[global_template] : +# 1942| r1942_3(char) = Load[global_template] : &:r1942_2, ~m1940_3 +# 1942| m1942_4(char) = Store[local_char] : &:r1942_1, r1942_3 +# 1943| r1943_1(glval) = VariableAddress[#return] : +# 1943| r1943_2(glval) = VariableAddress[local_int] : +# 1943| r1943_3(int) = Load[local_int] : &:r1943_2, m1941_4 +# 1943| r1943_4(glval) = VariableAddress[local_char] : +# 1943| r1943_5(char) = Load[local_char] : &:r1943_4, m1942_4 +# 1943| r1943_6(int) = Convert : r1943_5 +# 1943| r1943_7(int) = Add : r1943_3, r1943_6 +# 1943| m1943_8(int) = Store[#return] : &:r1943_1, r1943_7 +# 1940| r1940_5(glval) = VariableAddress[#return] : +# 1940| v1940_6(void) = ReturnValue : &:r1940_5, m1943_8 +# 1940| v1940_7(void) = AliasedUse : m1940_3 +# 1940| v1940_8(void) = ExitFunction : -# 1901| int noreturnTest(int) -# 1901| Block 0 -# 1901| v1901_1(void) = EnterFunction : -# 1901| m1901_2(unknown) = AliasedDefinition : -# 1901| m1901_3(unknown) = InitializeNonLocal : -# 1901| m1901_4(unknown) = Chi : total:m1901_2, partial:m1901_3 -# 1901| r1901_5(glval) = VariableAddress[x] : -# 1901| m1901_6(int) = InitializeParameter[x] : &:r1901_5 -# 1902| r1902_1(glval) = VariableAddress[x] : -# 1902| r1902_2(int) = Load[x] : &:r1902_1, m1901_6 -# 1902| r1902_3(int) = Constant[10] : -# 1902| r1902_4(bool) = CompareLT : r1902_2, r1902_3 -# 1902| v1902_5(void) = ConditionalBranch : r1902_4 +# 1948| int noreturnTest(int) +# 1948| Block 0 +# 1948| v1948_1(void) = EnterFunction : +# 1948| m1948_2(unknown) = AliasedDefinition : +# 1948| m1948_3(unknown) = InitializeNonLocal : +# 1948| m1948_4(unknown) = Chi : total:m1948_2, partial:m1948_3 +# 1948| r1948_5(glval) = VariableAddress[x] : +# 1948| m1948_6(int) = InitializeParameter[x] : &:r1948_5 +# 1949| r1949_1(glval) = VariableAddress[x] : +# 1949| r1949_2(int) = Load[x] : &:r1949_1, m1948_6 +# 1949| r1949_3(int) = Constant[10] : +# 1949| r1949_4(bool) = CompareLT : r1949_2, r1949_3 +# 1949| v1949_5(void) = ConditionalBranch : r1949_4 #-----| False -> Block 2 #-----| True -> Block 1 -# 1903| Block 1 -# 1903| r1903_1(glval) = VariableAddress[#return] : -# 1903| r1903_2(glval) = VariableAddress[x] : -# 1903| r1903_3(int) = Load[x] : &:r1903_2, m1901_6 -# 1903| m1903_4(int) = Store[#return] : &:r1903_1, r1903_3 -# 1901| r1901_7(glval) = VariableAddress[#return] : -# 1901| v1901_8(void) = ReturnValue : &:r1901_7, m1903_4 -# 1901| v1901_9(void) = AliasedUse : m1901_3 -# 1901| v1901_10(void) = ExitFunction : +# 1950| Block 1 +# 1950| r1950_1(glval) = VariableAddress[#return] : +# 1950| r1950_2(glval) = VariableAddress[x] : +# 1950| r1950_3(int) = Load[x] : &:r1950_2, m1948_6 +# 1950| m1950_4(int) = Store[#return] : &:r1950_1, r1950_3 +# 1948| r1948_7(glval) = VariableAddress[#return] : +# 1948| v1948_8(void) = ReturnValue : &:r1948_7, m1950_4 +# 1948| v1948_9(void) = AliasedUse : m1948_3 +# 1948| v1948_10(void) = ExitFunction : -# 1905| Block 2 -# 1905| r1905_1(glval) = FunctionAddress[noreturnFunc] : -# 1905| v1905_2(void) = Call[noreturnFunc] : func:r1905_1 -# 1905| m1905_3(unknown) = ^CallSideEffect : ~m1901_4 -# 1905| m1905_4(unknown) = Chi : total:m1901_4, partial:m1905_3 -# 1901| v1901_11(void) = Unreached : +# 1952| Block 2 +# 1952| r1952_1(glval) = FunctionAddress[noreturnFunc] : +# 1952| v1952_2(void) = Call[noreturnFunc] : func:r1952_1 +# 1952| m1952_3(unknown) = ^CallSideEffect : ~m1948_4 +# 1952| m1952_4(unknown) = Chi : total:m1948_4, partial:m1952_3 +# 1948| v1948_11(void) = Unreached : -# 1909| int noreturnTest2(int) -# 1909| Block 0 -# 1909| v1909_1(void) = EnterFunction : -# 1909| m1909_2(unknown) = AliasedDefinition : -# 1909| m1909_3(unknown) = InitializeNonLocal : -# 1909| m1909_4(unknown) = Chi : total:m1909_2, partial:m1909_3 -# 1909| r1909_5(glval) = VariableAddress[x] : -# 1909| m1909_6(int) = InitializeParameter[x] : &:r1909_5 -# 1910| r1910_1(glval) = VariableAddress[x] : -# 1910| r1910_2(int) = Load[x] : &:r1910_1, m1909_6 -# 1910| r1910_3(int) = Constant[10] : -# 1910| r1910_4(bool) = CompareLT : r1910_2, r1910_3 -# 1910| v1910_5(void) = ConditionalBranch : r1910_4 +# 1956| int noreturnTest2(int) +# 1956| Block 0 +# 1956| v1956_1(void) = EnterFunction : +# 1956| m1956_2(unknown) = AliasedDefinition : +# 1956| m1956_3(unknown) = InitializeNonLocal : +# 1956| m1956_4(unknown) = Chi : total:m1956_2, partial:m1956_3 +# 1956| r1956_5(glval) = VariableAddress[x] : +# 1956| m1956_6(int) = InitializeParameter[x] : &:r1956_5 +# 1957| r1957_1(glval) = VariableAddress[x] : +# 1957| r1957_2(int) = Load[x] : &:r1957_1, m1956_6 +# 1957| r1957_3(int) = Constant[10] : +# 1957| r1957_4(bool) = CompareLT : r1957_2, r1957_3 +# 1957| v1957_5(void) = ConditionalBranch : r1957_4 #-----| False -> Block 2 #-----| True -> Block 1 -# 1911| Block 1 -# 1911| r1911_1(glval) = FunctionAddress[noreturnFunc] : -# 1911| v1911_2(void) = Call[noreturnFunc] : func:r1911_1 -# 1911| m1911_3(unknown) = ^CallSideEffect : ~m1909_4 -# 1911| m1911_4(unknown) = Chi : total:m1909_4, partial:m1911_3 -# 1909| v1909_7(void) = Unreached : +# 1958| Block 1 +# 1958| r1958_1(glval) = FunctionAddress[noreturnFunc] : +# 1958| v1958_2(void) = Call[noreturnFunc] : func:r1958_1 +# 1958| m1958_3(unknown) = ^CallSideEffect : ~m1956_4 +# 1958| m1958_4(unknown) = Chi : total:m1956_4, partial:m1958_3 +# 1956| v1956_7(void) = Unreached : -# 1913| Block 2 -# 1913| r1913_1(glval) = VariableAddress[#return] : -# 1913| r1913_2(glval) = VariableAddress[x] : -# 1913| r1913_3(int) = Load[x] : &:r1913_2, m1909_6 -# 1913| m1913_4(int) = Store[#return] : &:r1913_1, r1913_3 -# 1909| r1909_8(glval) = VariableAddress[#return] : -# 1909| v1909_9(void) = ReturnValue : &:r1909_8, m1913_4 -# 1909| v1909_10(void) = AliasedUse : m1909_3 -# 1909| v1909_11(void) = ExitFunction : +# 1960| Block 2 +# 1960| r1960_1(glval) = VariableAddress[#return] : +# 1960| r1960_2(glval) = VariableAddress[x] : +# 1960| r1960_3(int) = Load[x] : &:r1960_2, m1956_6 +# 1960| m1960_4(int) = Store[#return] : &:r1960_1, r1960_3 +# 1956| r1956_8(glval) = VariableAddress[#return] : +# 1956| v1956_9(void) = ReturnValue : &:r1956_8, m1960_4 +# 1956| v1956_10(void) = AliasedUse : m1956_3 +# 1956| v1956_11(void) = ExitFunction : -# 1916| int static_function(int) -# 1916| Block 0 -# 1916| v1916_1(void) = EnterFunction : -# 1916| m1916_2(unknown) = AliasedDefinition : -# 1916| m1916_3(unknown) = InitializeNonLocal : -# 1916| m1916_4(unknown) = Chi : total:m1916_2, partial:m1916_3 -# 1916| r1916_5(glval) = VariableAddress[x] : -# 1916| m1916_6(int) = InitializeParameter[x] : &:r1916_5 -# 1917| r1917_1(glval) = VariableAddress[#return] : -# 1917| r1917_2(glval) = VariableAddress[x] : -# 1917| r1917_3(int) = Load[x] : &:r1917_2, m1916_6 -# 1917| m1917_4(int) = Store[#return] : &:r1917_1, r1917_3 -# 1916| r1916_7(glval) = VariableAddress[#return] : -# 1916| v1916_8(void) = ReturnValue : &:r1916_7, m1917_4 -# 1916| v1916_9(void) = AliasedUse : m1916_3 -# 1916| v1916_10(void) = ExitFunction : +# 1963| int static_function(int) +# 1963| Block 0 +# 1963| v1963_1(void) = EnterFunction : +# 1963| m1963_2(unknown) = AliasedDefinition : +# 1963| m1963_3(unknown) = InitializeNonLocal : +# 1963| m1963_4(unknown) = Chi : total:m1963_2, partial:m1963_3 +# 1963| r1963_5(glval) = VariableAddress[x] : +# 1963| m1963_6(int) = InitializeParameter[x] : &:r1963_5 +# 1964| r1964_1(glval) = VariableAddress[#return] : +# 1964| r1964_2(glval) = VariableAddress[x] : +# 1964| r1964_3(int) = Load[x] : &:r1964_2, m1963_6 +# 1964| m1964_4(int) = Store[#return] : &:r1964_1, r1964_3 +# 1963| r1963_7(glval) = VariableAddress[#return] : +# 1963| v1963_8(void) = ReturnValue : &:r1963_7, m1964_4 +# 1963| v1963_9(void) = AliasedUse : m1963_3 +# 1963| v1963_10(void) = ExitFunction : -# 1920| void test_static_functions_with_assignments() -# 1920| Block 0 -# 1920| v1920_1(void) = EnterFunction : -# 1920| m1920_2(unknown) = AliasedDefinition : -# 1920| m1920_3(unknown) = InitializeNonLocal : -# 1920| m1920_4(unknown) = Chi : total:m1920_2, partial:m1920_3 -# 1921| r1921_1(glval) = VariableAddress[c] : -# 1921| m1921_2(C) = Uninitialized[c] : &:r1921_1 -# 1921| r1921_3(glval) = FunctionAddress[C] : -# 1921| v1921_4(void) = Call[C] : func:r1921_3, this:r1921_1 -# 1921| m1921_5(unknown) = ^CallSideEffect : ~m1920_4 -# 1921| m1921_6(unknown) = Chi : total:m1920_4, partial:m1921_5 -# 1921| m1921_7(C) = ^IndirectMayWriteSideEffect[-1] : &:r1921_1 -# 1921| m1921_8(C) = Chi : total:m1921_2, partial:m1921_7 -# 1922| r1922_1(glval) = VariableAddress[x] : -# 1922| m1922_2(int) = Uninitialized[x] : &:r1922_1 -# 1923| r1923_1(glval) = VariableAddress[c] : -# 1923| r1923_2(glval) = FunctionAddress[StaticMemberFunction] : -# 1923| r1923_3(int) = Constant[10] : -# 1923| r1923_4(int) = Call[StaticMemberFunction] : func:r1923_2, 0:r1923_3 -# 1923| m1923_5(unknown) = ^CallSideEffect : ~m1921_6 -# 1923| m1923_6(unknown) = Chi : total:m1921_6, partial:m1923_5 -# 1923| r1923_7(glval) = VariableAddress[x] : -# 1923| m1923_8(int) = Store[x] : &:r1923_7, r1923_4 -# 1924| r1924_1(glval) = VariableAddress[y] : -# 1924| m1924_2(int) = Uninitialized[y] : &:r1924_1 -# 1925| r1925_1(glval) = FunctionAddress[StaticMemberFunction] : -# 1925| r1925_2(int) = Constant[10] : -# 1925| r1925_3(int) = Call[StaticMemberFunction] : func:r1925_1, 0:r1925_2 -# 1925| m1925_4(unknown) = ^CallSideEffect : ~m1923_6 -# 1925| m1925_5(unknown) = Chi : total:m1923_6, partial:m1925_4 -# 1925| r1925_6(glval) = VariableAddress[y] : -# 1925| m1925_7(int) = Store[y] : &:r1925_6, r1925_3 -# 1926| r1926_1(glval) = VariableAddress[z] : -# 1926| m1926_2(int) = Uninitialized[z] : &:r1926_1 -# 1927| r1927_1(glval) = FunctionAddress[static_function] : -# 1927| r1927_2(int) = Constant[10] : -# 1927| r1927_3(int) = Call[static_function] : func:r1927_1, 0:r1927_2 -# 1927| m1927_4(unknown) = ^CallSideEffect : ~m1925_5 -# 1927| m1927_5(unknown) = Chi : total:m1925_5, partial:m1927_4 -# 1927| r1927_6(glval) = VariableAddress[z] : -# 1927| m1927_7(int) = Store[z] : &:r1927_6, r1927_3 -# 1928| v1928_1(void) = NoOp : -# 1928| r1928_2(glval) = VariableAddress[c] : -# 1928| r1928_3(glval) = FunctionAddress[~C] : -# 1928| v1928_4(void) = Call[~C] : func:r1928_3, this:r1928_2 -# 1928| m1928_5(unknown) = ^CallSideEffect : ~m1927_5 -# 1928| m1928_6(unknown) = Chi : total:m1927_5, partial:m1928_5 -# 1928| v1928_7(void) = ^IndirectReadSideEffect[-1] : &:r1928_2, m1921_8 -# 1928| m1928_8(C) = ^IndirectMayWriteSideEffect[-1] : &:r1928_2 -# 1928| m1928_9(C) = Chi : total:m1921_8, partial:m1928_8 -# 1920| v1920_5(void) = ReturnVoid : -# 1920| v1920_6(void) = AliasedUse : ~m1928_6 -# 1920| v1920_7(void) = ExitFunction : +# 1967| void test_static_functions_with_assignments() +# 1967| Block 0 +# 1967| v1967_1(void) = EnterFunction : +# 1967| m1967_2(unknown) = AliasedDefinition : +# 1967| m1967_3(unknown) = InitializeNonLocal : +# 1967| m1967_4(unknown) = Chi : total:m1967_2, partial:m1967_3 +# 1968| r1968_1(glval) = VariableAddress[c] : +# 1968| m1968_2(C) = Uninitialized[c] : &:r1968_1 +# 1968| r1968_3(glval) = FunctionAddress[C] : +# 1968| v1968_4(void) = Call[C] : func:r1968_3, this:r1968_1 +# 1968| m1968_5(unknown) = ^CallSideEffect : ~m1967_4 +# 1968| m1968_6(unknown) = Chi : total:m1967_4, partial:m1968_5 +# 1968| m1968_7(C) = ^IndirectMayWriteSideEffect[-1] : &:r1968_1 +# 1968| m1968_8(C) = Chi : total:m1968_2, partial:m1968_7 +# 1969| r1969_1(glval) = VariableAddress[x] : +# 1969| m1969_2(int) = Uninitialized[x] : &:r1969_1 +# 1970| r1970_1(glval) = VariableAddress[c] : +# 1970| r1970_2(glval) = FunctionAddress[StaticMemberFunction] : +# 1970| r1970_3(int) = Constant[10] : +# 1970| r1970_4(int) = Call[StaticMemberFunction] : func:r1970_2, 0:r1970_3 +# 1970| m1970_5(unknown) = ^CallSideEffect : ~m1968_6 +# 1970| m1970_6(unknown) = Chi : total:m1968_6, partial:m1970_5 +# 1970| r1970_7(glval) = VariableAddress[x] : +# 1970| m1970_8(int) = Store[x] : &:r1970_7, r1970_4 +# 1971| r1971_1(glval) = VariableAddress[y] : +# 1971| m1971_2(int) = Uninitialized[y] : &:r1971_1 +# 1972| r1972_1(glval) = FunctionAddress[StaticMemberFunction] : +# 1972| r1972_2(int) = Constant[10] : +# 1972| r1972_3(int) = Call[StaticMemberFunction] : func:r1972_1, 0:r1972_2 +# 1972| m1972_4(unknown) = ^CallSideEffect : ~m1970_6 +# 1972| m1972_5(unknown) = Chi : total:m1970_6, partial:m1972_4 +# 1972| r1972_6(glval) = VariableAddress[y] : +# 1972| m1972_7(int) = Store[y] : &:r1972_6, r1972_3 +# 1973| r1973_1(glval) = VariableAddress[z] : +# 1973| m1973_2(int) = Uninitialized[z] : &:r1973_1 +# 1974| r1974_1(glval) = FunctionAddress[static_function] : +# 1974| r1974_2(int) = Constant[10] : +# 1974| r1974_3(int) = Call[static_function] : func:r1974_1, 0:r1974_2 +# 1974| m1974_4(unknown) = ^CallSideEffect : ~m1972_5 +# 1974| m1974_5(unknown) = Chi : total:m1972_5, partial:m1974_4 +# 1974| r1974_6(glval) = VariableAddress[z] : +# 1974| m1974_7(int) = Store[z] : &:r1974_6, r1974_3 +# 1975| v1975_1(void) = NoOp : +# 1975| r1975_2(glval) = VariableAddress[c] : +# 1975| r1975_3(glval) = FunctionAddress[~C] : +# 1975| v1975_4(void) = Call[~C] : func:r1975_3, this:r1975_2 +# 1975| m1975_5(unknown) = ^CallSideEffect : ~m1974_5 +# 1975| m1975_6(unknown) = Chi : total:m1974_5, partial:m1975_5 +# 1975| v1975_7(void) = ^IndirectReadSideEffect[-1] : &:r1975_2, m1968_8 +# 1975| m1975_8(C) = ^IndirectMayWriteSideEffect[-1] : &:r1975_2 +# 1975| m1975_9(C) = Chi : total:m1968_8, partial:m1975_8 +# 1967| v1967_5(void) = ReturnVoid : +# 1967| v1967_6(void) = AliasedUse : ~m1975_6 +# 1967| v1967_7(void) = ExitFunction : -# 1930| void test_double_assign() -# 1930| Block 0 -# 1930| v1930_1(void) = EnterFunction : -# 1930| m1930_2(unknown) = AliasedDefinition : -# 1930| m1930_3(unknown) = InitializeNonLocal : -# 1930| m1930_4(unknown) = Chi : total:m1930_2, partial:m1930_3 -# 1931| r1931_1(glval) = VariableAddress[i] : -# 1931| m1931_2(int) = Uninitialized[i] : &:r1931_1 -# 1931| r1931_3(glval) = VariableAddress[j] : -# 1931| m1931_4(int) = Uninitialized[j] : &:r1931_3 -# 1932| r1932_1(int) = Constant[40] : -# 1932| r1932_2(glval) = VariableAddress[j] : -# 1932| m1932_3(int) = Store[j] : &:r1932_2, r1932_1 -# 1932| r1932_4(int) = Load[j] : &:r1932_2, m1932_3 -# 1932| r1932_5(glval) = VariableAddress[i] : -# 1932| m1932_6(int) = Store[i] : &:r1932_5, r1932_4 -# 1933| v1933_1(void) = NoOp : -# 1930| v1930_5(void) = ReturnVoid : -# 1930| v1930_6(void) = AliasedUse : m1930_3 -# 1930| v1930_7(void) = ExitFunction : +# 1977| void test_double_assign() +# 1977| Block 0 +# 1977| v1977_1(void) = EnterFunction : +# 1977| m1977_2(unknown) = AliasedDefinition : +# 1977| m1977_3(unknown) = InitializeNonLocal : +# 1977| m1977_4(unknown) = Chi : total:m1977_2, partial:m1977_3 +# 1978| r1978_1(glval) = VariableAddress[i] : +# 1978| m1978_2(int) = Uninitialized[i] : &:r1978_1 +# 1978| r1978_3(glval) = VariableAddress[j] : +# 1978| m1978_4(int) = Uninitialized[j] : &:r1978_3 +# 1979| r1979_1(int) = Constant[40] : +# 1979| r1979_2(glval) = VariableAddress[j] : +# 1979| m1979_3(int) = Store[j] : &:r1979_2, r1979_1 +# 1979| r1979_4(int) = Load[j] : &:r1979_2, m1979_3 +# 1979| r1979_5(glval) = VariableAddress[i] : +# 1979| m1979_6(int) = Store[i] : &:r1979_5, r1979_4 +# 1980| v1980_1(void) = NoOp : +# 1977| v1977_5(void) = ReturnVoid : +# 1977| v1977_6(void) = AliasedUse : m1977_3 +# 1977| v1977_7(void) = ExitFunction : -# 1935| void test_assign_with_assign_operation() -# 1935| Block 0 -# 1935| v1935_1(void) = EnterFunction : -# 1935| m1935_2(unknown) = AliasedDefinition : -# 1935| m1935_3(unknown) = InitializeNonLocal : -# 1935| m1935_4(unknown) = Chi : total:m1935_2, partial:m1935_3 -# 1936| r1936_1(glval) = VariableAddress[i] : -# 1936| m1936_2(int) = Uninitialized[i] : &:r1936_1 -# 1936| r1936_3(glval) = VariableAddress[j] : -# 1936| r1936_4(int) = Constant[0] : -# 1936| m1936_5(int) = Store[j] : &:r1936_3, r1936_4 -# 1937| r1937_1(int) = Constant[40] : -# 1937| r1937_2(glval) = VariableAddress[j] : -# 1937| r1937_3(int) = Load[j] : &:r1937_2, m1936_5 -# 1937| r1937_4(int) = Add : r1937_3, r1937_1 -# 1937| m1937_5(int) = Store[j] : &:r1937_2, r1937_4 -# 1937| r1937_6(int) = Load[j] : &:r1937_2, m1937_5 -# 1937| r1937_7(glval) = VariableAddress[i] : -# 1937| m1937_8(int) = Store[i] : &:r1937_7, r1937_6 -# 1938| v1938_1(void) = NoOp : -# 1935| v1935_5(void) = ReturnVoid : -# 1935| v1935_6(void) = AliasedUse : m1935_3 -# 1935| v1935_7(void) = ExitFunction : +# 1982| void test_assign_with_assign_operation() +# 1982| Block 0 +# 1982| v1982_1(void) = EnterFunction : +# 1982| m1982_2(unknown) = AliasedDefinition : +# 1982| m1982_3(unknown) = InitializeNonLocal : +# 1982| m1982_4(unknown) = Chi : total:m1982_2, partial:m1982_3 +# 1983| r1983_1(glval) = VariableAddress[i] : +# 1983| m1983_2(int) = Uninitialized[i] : &:r1983_1 +# 1983| r1983_3(glval) = VariableAddress[j] : +# 1983| r1983_4(int) = Constant[0] : +# 1983| m1983_5(int) = Store[j] : &:r1983_3, r1983_4 +# 1984| r1984_1(int) = Constant[40] : +# 1984| r1984_2(glval) = VariableAddress[j] : +# 1984| r1984_3(int) = Load[j] : &:r1984_2, m1983_5 +# 1984| r1984_4(int) = Add : r1984_3, r1984_1 +# 1984| m1984_5(int) = Store[j] : &:r1984_2, r1984_4 +# 1984| r1984_6(int) = Load[j] : &:r1984_2, m1984_5 +# 1984| r1984_7(glval) = VariableAddress[i] : +# 1984| m1984_8(int) = Store[i] : &:r1984_7, r1984_6 +# 1985| v1985_1(void) = NoOp : +# 1982| v1982_5(void) = ReturnVoid : +# 1982| v1982_6(void) = AliasedUse : m1982_3 +# 1982| v1982_7(void) = ExitFunction : -# 1944| D& D::ReferenceStaticMemberFunction() -# 1944| Block 0 -# 1944| v1944_1(void) = EnterFunction : -# 1944| m1944_2(unknown) = AliasedDefinition : -# 1944| m1944_3(unknown) = InitializeNonLocal : -# 1944| m1944_4(unknown) = Chi : total:m1944_2, partial:m1944_3 -# 1945| r1945_1(glval) = VariableAddress[#return] : -# 1945| r1945_2(glval) = VariableAddress[x] : -# 1945| r1945_3(D &) = CopyValue : r1945_2 -# 1945| m1945_4(D &) = Store[#return] : &:r1945_1, r1945_3 -# 1944| r1944_5(glval) = VariableAddress[#return] : -# 1944| v1944_6(void) = ReturnValue : &:r1944_5, m1945_4 -# 1944| v1944_7(void) = AliasedUse : m1944_3 -# 1944| v1944_8(void) = ExitFunction : +# 1991| D& D::ReferenceStaticMemberFunction() +# 1991| Block 0 +# 1991| v1991_1(void) = EnterFunction : +# 1991| m1991_2(unknown) = AliasedDefinition : +# 1991| m1991_3(unknown) = InitializeNonLocal : +# 1991| m1991_4(unknown) = Chi : total:m1991_2, partial:m1991_3 +# 1992| r1992_1(glval) = VariableAddress[#return] : +# 1992| r1992_2(glval) = VariableAddress[x] : +# 1992| r1992_3(D &) = CopyValue : r1992_2 +# 1992| m1992_4(D &) = Store[#return] : &:r1992_1, r1992_3 +# 1991| r1991_5(glval) = VariableAddress[#return] : +# 1991| v1991_6(void) = ReturnValue : &:r1991_5, m1992_4 +# 1991| v1991_7(void) = AliasedUse : m1991_3 +# 1991| v1991_8(void) = ExitFunction : -# 1947| D D::ObjectStaticMemberFunction() -# 1947| Block 0 -# 1947| v1947_1(void) = EnterFunction : -# 1947| m1947_2(unknown) = AliasedDefinition : -# 1947| m1947_3(unknown) = InitializeNonLocal : -# 1947| m1947_4(unknown) = Chi : total:m1947_2, partial:m1947_3 -# 1948| r1948_1(glval) = VariableAddress[#return] : -# 1948| r1948_2(glval) = VariableAddress[x] : -# 1948| r1948_3(D) = Load[x] : &:r1948_2, ~m1947_3 -# 1948| m1948_4(D) = Store[#return] : &:r1948_1, r1948_3 -# 1947| r1947_5(glval) = VariableAddress[#return] : -# 1947| v1947_6(void) = ReturnValue : &:r1947_5, m1948_4 -# 1947| v1947_7(void) = AliasedUse : m1947_3 -# 1947| v1947_8(void) = ExitFunction : +# 1994| D D::ObjectStaticMemberFunction() +# 1994| Block 0 +# 1994| v1994_1(void) = EnterFunction : +# 1994| m1994_2(unknown) = AliasedDefinition : +# 1994| m1994_3(unknown) = InitializeNonLocal : +# 1994| m1994_4(unknown) = Chi : total:m1994_2, partial:m1994_3 +# 1995| r1995_1(glval) = VariableAddress[#return] : +# 1995| r1995_2(glval) = VariableAddress[x] : +# 1995| r1995_3(D) = Load[x] : &:r1995_2, ~m1994_3 +# 1995| m1995_4(D) = Store[#return] : &:r1995_1, r1995_3 +# 1994| r1994_5(glval) = VariableAddress[#return] : +# 1994| v1994_6(void) = ReturnValue : &:r1994_5, m1995_4 +# 1994| v1994_7(void) = AliasedUse : m1994_3 +# 1994| v1994_8(void) = ExitFunction : -# 1952| void test_static_member_functions_with_reference_return() -# 1952| Block 0 -# 1952| v1952_1(void) = EnterFunction : -# 1952| m1952_2(unknown) = AliasedDefinition : -# 1952| m1952_3(unknown) = InitializeNonLocal : -# 1952| m1952_4(unknown) = Chi : total:m1952_2, partial:m1952_3 -# 1953| r1953_1(glval) = VariableAddress[d] : -# 1953| m1953_2(D) = Uninitialized[d] : &:r1953_1 -# 1955| r1955_1(glval) = VariableAddress[d] : -# 1955| r1955_2(glval) = FunctionAddress[ReferenceStaticMemberFunction] : -# 1955| r1955_3(D &) = Call[ReferenceStaticMemberFunction] : func:r1955_2 -# 1955| m1955_4(unknown) = ^CallSideEffect : ~m1952_4 -# 1955| m1955_5(unknown) = Chi : total:m1952_4, partial:m1955_4 -# 1955| r1955_6(glval) = CopyValue : r1955_3 -# 1956| r1956_1(glval) = FunctionAddress[ReferenceStaticMemberFunction] : -# 1956| r1956_2(D &) = Call[ReferenceStaticMemberFunction] : func:r1956_1 -# 1956| m1956_3(unknown) = ^CallSideEffect : ~m1955_5 -# 1956| m1956_4(unknown) = Chi : total:m1955_5, partial:m1956_3 -# 1956| r1956_5(glval) = CopyValue : r1956_2 -# 1957| r1957_1(glval) = VariableAddress[d] : -# 1957| r1957_2(glval) = FunctionAddress[ObjectStaticMemberFunction] : -# 1957| r1957_3(D) = Call[ObjectStaticMemberFunction] : func:r1957_2 -# 1957| m1957_4(unknown) = ^CallSideEffect : ~m1956_4 -# 1957| m1957_5(unknown) = Chi : total:m1956_4, partial:m1957_4 -# 1958| r1958_1(glval) = FunctionAddress[ObjectStaticMemberFunction] : -# 1958| r1958_2(D) = Call[ObjectStaticMemberFunction] : func:r1958_1 -# 1958| m1958_3(unknown) = ^CallSideEffect : ~m1957_5 -# 1958| m1958_4(unknown) = Chi : total:m1957_5, partial:m1958_3 -# 1960| r1960_1(glval) = VariableAddress[x] : -# 1960| m1960_2(D) = Uninitialized[x] : &:r1960_1 -# 1961| r1961_1(glval) = VariableAddress[d] : -# 1961| r1961_2(glval) = FunctionAddress[ReferenceStaticMemberFunction] : -# 1961| r1961_3(D &) = Call[ReferenceStaticMemberFunction] : func:r1961_2 -# 1961| m1961_4(unknown) = ^CallSideEffect : ~m1958_4 -# 1961| m1961_5(unknown) = Chi : total:m1958_4, partial:m1961_4 -# 1961| r1961_6(D) = Load[?] : &:r1961_3, ~m1961_5 -# 1961| r1961_7(glval) = VariableAddress[x] : -# 1961| m1961_8(D) = Store[x] : &:r1961_7, r1961_6 -# 1962| r1962_1(glval) = VariableAddress[y] : -# 1962| m1962_2(D) = Uninitialized[y] : &:r1962_1 -# 1963| r1963_1(glval) = FunctionAddress[ReferenceStaticMemberFunction] : -# 1963| r1963_2(D &) = Call[ReferenceStaticMemberFunction] : func:r1963_1 -# 1963| m1963_3(unknown) = ^CallSideEffect : ~m1961_5 -# 1963| m1963_4(unknown) = Chi : total:m1961_5, partial:m1963_3 -# 1963| r1963_5(D) = Load[?] : &:r1963_2, ~m1963_4 -# 1963| r1963_6(glval) = VariableAddress[y] : -# 1963| m1963_7(D) = Store[y] : &:r1963_6, r1963_5 -# 1964| r1964_1(glval) = VariableAddress[j] : -# 1964| m1964_2(D) = Uninitialized[j] : &:r1964_1 -# 1965| r1965_1(glval) = VariableAddress[d] : -# 1965| r1965_2(glval) = FunctionAddress[ObjectStaticMemberFunction] : -# 1965| r1965_3(D) = Call[ObjectStaticMemberFunction] : func:r1965_2 -# 1965| m1965_4(unknown) = ^CallSideEffect : ~m1963_4 -# 1965| m1965_5(unknown) = Chi : total:m1963_4, partial:m1965_4 -# 1965| r1965_6(glval) = VariableAddress[j] : -# 1965| m1965_7(D) = Store[j] : &:r1965_6, r1965_3 -# 1966| r1966_1(glval) = VariableAddress[k] : -# 1966| m1966_2(D) = Uninitialized[k] : &:r1966_1 -# 1967| r1967_1(glval) = FunctionAddress[ObjectStaticMemberFunction] : -# 1967| r1967_2(D) = Call[ObjectStaticMemberFunction] : func:r1967_1 -# 1967| m1967_3(unknown) = ^CallSideEffect : ~m1965_5 -# 1967| m1967_4(unknown) = Chi : total:m1965_5, partial:m1967_3 -# 1967| r1967_5(glval) = VariableAddress[k] : -# 1967| m1967_6(D) = Store[k] : &:r1967_5, r1967_2 -# 1968| v1968_1(void) = NoOp : -# 1952| v1952_5(void) = ReturnVoid : -# 1952| v1952_6(void) = AliasedUse : ~m1967_4 -# 1952| v1952_7(void) = ExitFunction : +# 1999| void test_static_member_functions_with_reference_return() +# 1999| Block 0 +# 1999| v1999_1(void) = EnterFunction : +# 1999| m1999_2(unknown) = AliasedDefinition : +# 1999| m1999_3(unknown) = InitializeNonLocal : +# 1999| m1999_4(unknown) = Chi : total:m1999_2, partial:m1999_3 +# 2000| r2000_1(glval) = VariableAddress[d] : +# 2000| m2000_2(D) = Uninitialized[d] : &:r2000_1 +# 2002| r2002_1(glval) = VariableAddress[d] : +# 2002| r2002_2(glval) = FunctionAddress[ReferenceStaticMemberFunction] : +# 2002| r2002_3(D &) = Call[ReferenceStaticMemberFunction] : func:r2002_2 +# 2002| m2002_4(unknown) = ^CallSideEffect : ~m1999_4 +# 2002| m2002_5(unknown) = Chi : total:m1999_4, partial:m2002_4 +# 2002| r2002_6(glval) = CopyValue : r2002_3 +# 2003| r2003_1(glval) = FunctionAddress[ReferenceStaticMemberFunction] : +# 2003| r2003_2(D &) = Call[ReferenceStaticMemberFunction] : func:r2003_1 +# 2003| m2003_3(unknown) = ^CallSideEffect : ~m2002_5 +# 2003| m2003_4(unknown) = Chi : total:m2002_5, partial:m2003_3 +# 2003| r2003_5(glval) = CopyValue : r2003_2 +# 2004| r2004_1(glval) = VariableAddress[d] : +# 2004| r2004_2(glval) = FunctionAddress[ObjectStaticMemberFunction] : +# 2004| r2004_3(D) = Call[ObjectStaticMemberFunction] : func:r2004_2 +# 2004| m2004_4(unknown) = ^CallSideEffect : ~m2003_4 +# 2004| m2004_5(unknown) = Chi : total:m2003_4, partial:m2004_4 +# 2005| r2005_1(glval) = FunctionAddress[ObjectStaticMemberFunction] : +# 2005| r2005_2(D) = Call[ObjectStaticMemberFunction] : func:r2005_1 +# 2005| m2005_3(unknown) = ^CallSideEffect : ~m2004_5 +# 2005| m2005_4(unknown) = Chi : total:m2004_5, partial:m2005_3 +# 2007| r2007_1(glval) = VariableAddress[x] : +# 2007| m2007_2(D) = Uninitialized[x] : &:r2007_1 +# 2008| r2008_1(glval) = VariableAddress[d] : +# 2008| r2008_2(glval) = FunctionAddress[ReferenceStaticMemberFunction] : +# 2008| r2008_3(D &) = Call[ReferenceStaticMemberFunction] : func:r2008_2 +# 2008| m2008_4(unknown) = ^CallSideEffect : ~m2005_4 +# 2008| m2008_5(unknown) = Chi : total:m2005_4, partial:m2008_4 +# 2008| r2008_6(D) = Load[?] : &:r2008_3, ~m2008_5 +# 2008| r2008_7(glval) = VariableAddress[x] : +# 2008| m2008_8(D) = Store[x] : &:r2008_7, r2008_6 +# 2009| r2009_1(glval) = VariableAddress[y] : +# 2009| m2009_2(D) = Uninitialized[y] : &:r2009_1 +# 2010| r2010_1(glval) = FunctionAddress[ReferenceStaticMemberFunction] : +# 2010| r2010_2(D &) = Call[ReferenceStaticMemberFunction] : func:r2010_1 +# 2010| m2010_3(unknown) = ^CallSideEffect : ~m2008_5 +# 2010| m2010_4(unknown) = Chi : total:m2008_5, partial:m2010_3 +# 2010| r2010_5(D) = Load[?] : &:r2010_2, ~m2010_4 +# 2010| r2010_6(glval) = VariableAddress[y] : +# 2010| m2010_7(D) = Store[y] : &:r2010_6, r2010_5 +# 2011| r2011_1(glval) = VariableAddress[j] : +# 2011| m2011_2(D) = Uninitialized[j] : &:r2011_1 +# 2012| r2012_1(glval) = VariableAddress[d] : +# 2012| r2012_2(glval) = FunctionAddress[ObjectStaticMemberFunction] : +# 2012| r2012_3(D) = Call[ObjectStaticMemberFunction] : func:r2012_2 +# 2012| m2012_4(unknown) = ^CallSideEffect : ~m2010_4 +# 2012| m2012_5(unknown) = Chi : total:m2010_4, partial:m2012_4 +# 2012| r2012_6(glval) = VariableAddress[j] : +# 2012| m2012_7(D) = Store[j] : &:r2012_6, r2012_3 +# 2013| r2013_1(glval) = VariableAddress[k] : +# 2013| m2013_2(D) = Uninitialized[k] : &:r2013_1 +# 2014| r2014_1(glval) = FunctionAddress[ObjectStaticMemberFunction] : +# 2014| r2014_2(D) = Call[ObjectStaticMemberFunction] : func:r2014_1 +# 2014| m2014_3(unknown) = ^CallSideEffect : ~m2012_5 +# 2014| m2014_4(unknown) = Chi : total:m2012_5, partial:m2014_3 +# 2014| r2014_5(glval) = VariableAddress[k] : +# 2014| m2014_6(D) = Store[k] : &:r2014_5, r2014_2 +# 2015| v2015_1(void) = NoOp : +# 1999| v1999_5(void) = ReturnVoid : +# 1999| v1999_6(void) = AliasedUse : ~m2014_4 +# 1999| v1999_7(void) = ExitFunction : -# 1970| void test_volatile() -# 1970| Block 0 -# 1970| v1970_1(void) = EnterFunction : -# 1970| m1970_2(unknown) = AliasedDefinition : -# 1970| m1970_3(unknown) = InitializeNonLocal : -# 1970| m1970_4(unknown) = Chi : total:m1970_2, partial:m1970_3 -# 1971| r1971_1(glval) = VariableAddress[x] : -# 1971| m1971_2(int) = Uninitialized[x] : &:r1971_1 -# 1972| r1972_1(glval) = VariableAddress[x] : -# 1972| r1972_2(int) = Load[x] : &:r1972_1, m1971_2 -# 1973| v1973_1(void) = NoOp : -# 1970| v1970_5(void) = ReturnVoid : -# 1970| v1970_6(void) = AliasedUse : m1970_3 -# 1970| v1970_7(void) = ExitFunction : +# 2017| void test_volatile() +# 2017| Block 0 +# 2017| v2017_1(void) = EnterFunction : +# 2017| m2017_2(unknown) = AliasedDefinition : +# 2017| m2017_3(unknown) = InitializeNonLocal : +# 2017| m2017_4(unknown) = Chi : total:m2017_2, partial:m2017_3 +# 2018| r2018_1(glval) = VariableAddress[x] : +# 2018| m2018_2(int) = Uninitialized[x] : &:r2018_1 +# 2019| r2019_1(glval) = VariableAddress[x] : +# 2019| r2019_2(int) = Load[x] : &:r2019_1, m2018_2 +# 2020| v2020_1(void) = NoOp : +# 2017| v2017_5(void) = ReturnVoid : +# 2017| v2017_6(void) = AliasedUse : m2017_3 +# 2017| v2017_7(void) = ExitFunction : -# 1981| void value_category_test() -# 1981| Block 0 -# 1981| v1981_1(void) = EnterFunction : -# 1981| m1981_2(unknown) = AliasedDefinition : -# 1981| m1981_3(unknown) = InitializeNonLocal : -# 1981| m1981_4(unknown) = Chi : total:m1981_2, partial:m1981_3 -# 1982| r1982_1(glval) = VariableAddress[c] : -# 1982| m1982_2(ValCat) = Uninitialized[c] : &:r1982_1 +# 2028| void value_category_test() +# 2028| Block 0 +# 2028| v2028_1(void) = EnterFunction : +# 2028| m2028_2(unknown) = AliasedDefinition : +# 2028| m2028_3(unknown) = InitializeNonLocal : +# 2028| m2028_4(unknown) = Chi : total:m2028_2, partial:m2028_3 +# 2029| r2029_1(glval) = VariableAddress[c] : +# 2029| m2029_2(ValCat) = Uninitialized[c] : &:r2029_1 #-----| r0_1(glval) = VariableAddress[#temp0:0] : #-----| m0_2(ValCat) = Uninitialized[#temp0:0] : &:r0_1 #-----| r0_3(ValCat) = Load[#temp0:0] : &:r0_1, m0_2 -# 1984| r1984_1(glval) = VariableAddress[c] : -# 1984| r1984_2(glval) = FunctionAddress[lvalue] : -# 1984| r1984_3(ValCat &) = Call[lvalue] : func:r1984_2 -# 1984| m1984_4(unknown) = ^CallSideEffect : ~m1981_4 -# 1984| m1984_5(unknown) = Chi : total:m1981_4, partial:m1984_4 -# 1984| r1984_6(glval) = CopyValue : r1984_3 -# 1984| m1984_7(ValCat) = Store[?] : &:r1984_6, r0_3 -# 1984| m1984_8(unknown) = Chi : total:m1984_5, partial:m1984_7 +# 2031| r2031_1(glval) = VariableAddress[c] : +# 2031| r2031_2(glval) = FunctionAddress[lvalue] : +# 2031| r2031_3(ValCat &) = Call[lvalue] : func:r2031_2 +# 2031| m2031_4(unknown) = ^CallSideEffect : ~m2028_4 +# 2031| m2031_5(unknown) = Chi : total:m2028_4, partial:m2031_4 +# 2031| r2031_6(glval) = CopyValue : r2031_3 +# 2031| m2031_7(ValCat) = Store[?] : &:r2031_6, r0_3 +# 2031| m2031_8(unknown) = Chi : total:m2031_5, partial:m2031_7 #-----| r0_4(glval) = VariableAddress[#temp0:0] : #-----| m0_5(ValCat) = Uninitialized[#temp0:0] : &:r0_4 #-----| r0_6(ValCat) = Load[#temp0:0] : &:r0_4, m0_5 -# 1985| r1985_1(glval) = VariableAddress[c] : -# 1985| r1985_2(glval) = FunctionAddress[xvalue] : -# 1985| r1985_3(ValCat &&) = Call[xvalue] : func:r1985_2 -# 1985| m1985_4(unknown) = ^CallSideEffect : ~m1984_8 -# 1985| m1985_5(unknown) = Chi : total:m1984_8, partial:m1985_4 -# 1985| r1985_6(glval) = CopyValue : r1985_3 -# 1985| m1985_7(ValCat) = Store[?] : &:r1985_6, r0_6 -# 1985| m1985_8(unknown) = Chi : total:m1985_5, partial:m1985_7 +# 2032| r2032_1(glval) = VariableAddress[c] : +# 2032| r2032_2(glval) = FunctionAddress[xvalue] : +# 2032| r2032_3(ValCat &&) = Call[xvalue] : func:r2032_2 +# 2032| m2032_4(unknown) = ^CallSideEffect : ~m2031_8 +# 2032| m2032_5(unknown) = Chi : total:m2031_8, partial:m2032_4 +# 2032| r2032_6(glval) = CopyValue : r2032_3 +# 2032| m2032_7(ValCat) = Store[?] : &:r2032_6, r0_6 +# 2032| m2032_8(unknown) = Chi : total:m2032_5, partial:m2032_7 #-----| r0_7(glval) = VariableAddress[#temp0:0] : #-----| m0_8(ValCat) = Uninitialized[#temp0:0] : &:r0_7 #-----| r0_9(ValCat) = Load[#temp0:0] : &:r0_7, m0_8 -# 1986| r1986_1(glval) = VariableAddress[#temp1986:5] : -# 1986| r1986_2(glval) = VariableAddress[c] : -# 1986| r1986_3(glval) = FunctionAddress[prvalue] : -# 1986| r1986_4(ValCat) = Call[prvalue] : func:r1986_3 -# 1986| m1986_5(unknown) = ^CallSideEffect : ~m1985_8 -# 1986| m1986_6(unknown) = Chi : total:m1985_8, partial:m1986_5 -# 1986| m1986_7(ValCat) = Store[#temp1986:5] : &:r1986_1, r1986_4 -# 1986| m1986_8(ValCat) = Store[#temp1986:5] : &:r1986_1, r0_9 +# 2033| r2033_1(glval) = VariableAddress[#temp2033:5] : +# 2033| r2033_2(glval) = VariableAddress[c] : +# 2033| r2033_3(glval) = FunctionAddress[prvalue] : +# 2033| r2033_4(ValCat) = Call[prvalue] : func:r2033_3 +# 2033| m2033_5(unknown) = ^CallSideEffect : ~m2032_8 +# 2033| m2033_6(unknown) = Chi : total:m2032_8, partial:m2033_5 +# 2033| m2033_7(ValCat) = Store[#temp2033:5] : &:r2033_1, r2033_4 +# 2033| m2033_8(ValCat) = Store[#temp2033:5] : &:r2033_1, r0_9 #-----| r0_10(glval) = VariableAddress[#temp0:0] : #-----| m0_11(ValCat) = Uninitialized[#temp0:0] : &:r0_10 #-----| r0_12(ValCat) = Load[#temp0:0] : &:r0_10, m0_11 -# 1987| r1987_1(glval) = FunctionAddress[lvalue] : -# 1987| r1987_2(ValCat &) = Call[lvalue] : func:r1987_1 -# 1987| m1987_3(unknown) = ^CallSideEffect : ~m1986_6 -# 1987| m1987_4(unknown) = Chi : total:m1986_6, partial:m1987_3 -# 1987| r1987_5(glval) = CopyValue : r1987_2 -# 1987| m1987_6(ValCat) = Store[?] : &:r1987_5, r0_12 -# 1987| m1987_7(unknown) = Chi : total:m1987_4, partial:m1987_6 +# 2034| r2034_1(glval) = FunctionAddress[lvalue] : +# 2034| r2034_2(ValCat &) = Call[lvalue] : func:r2034_1 +# 2034| m2034_3(unknown) = ^CallSideEffect : ~m2033_6 +# 2034| m2034_4(unknown) = Chi : total:m2033_6, partial:m2034_3 +# 2034| r2034_5(glval) = CopyValue : r2034_2 +# 2034| m2034_6(ValCat) = Store[?] : &:r2034_5, r0_12 +# 2034| m2034_7(unknown) = Chi : total:m2034_4, partial:m2034_6 #-----| r0_13(glval) = VariableAddress[#temp0:0] : #-----| m0_14(ValCat) = Uninitialized[#temp0:0] : &:r0_13 #-----| r0_15(ValCat) = Load[#temp0:0] : &:r0_13, m0_14 -# 1988| r1988_1(glval) = FunctionAddress[xvalue] : -# 1988| r1988_2(ValCat &&) = Call[xvalue] : func:r1988_1 -# 1988| m1988_3(unknown) = ^CallSideEffect : ~m1987_7 -# 1988| m1988_4(unknown) = Chi : total:m1987_7, partial:m1988_3 -# 1988| r1988_5(glval) = CopyValue : r1988_2 -# 1988| m1988_6(ValCat) = Store[?] : &:r1988_5, r0_15 -# 1988| m1988_7(unknown) = Chi : total:m1988_4, partial:m1988_6 +# 2035| r2035_1(glval) = FunctionAddress[xvalue] : +# 2035| r2035_2(ValCat &&) = Call[xvalue] : func:r2035_1 +# 2035| m2035_3(unknown) = ^CallSideEffect : ~m2034_7 +# 2035| m2035_4(unknown) = Chi : total:m2034_7, partial:m2035_3 +# 2035| r2035_5(glval) = CopyValue : r2035_2 +# 2035| m2035_6(ValCat) = Store[?] : &:r2035_5, r0_15 +# 2035| m2035_7(unknown) = Chi : total:m2035_4, partial:m2035_6 #-----| r0_16(glval) = VariableAddress[#temp0:0] : #-----| m0_17(ValCat) = Uninitialized[#temp0:0] : &:r0_16 #-----| r0_18(ValCat) = Load[#temp0:0] : &:r0_16, m0_17 -# 1989| r1989_1(glval) = VariableAddress[#temp1989:5] : -# 1989| r1989_2(glval) = FunctionAddress[prvalue] : -# 1989| r1989_3(ValCat) = Call[prvalue] : func:r1989_2 -# 1989| m1989_4(unknown) = ^CallSideEffect : ~m1988_7 -# 1989| m1989_5(unknown) = Chi : total:m1988_7, partial:m1989_4 -# 1989| m1989_6(ValCat) = Store[#temp1989:5] : &:r1989_1, r1989_3 -# 1989| m1989_7(ValCat) = Store[#temp1989:5] : &:r1989_1, r0_18 -# 1990| v1990_1(void) = NoOp : -# 1981| v1981_5(void) = ReturnVoid : -# 1981| v1981_6(void) = AliasedUse : ~m1989_5 -# 1981| v1981_7(void) = ExitFunction : +# 2036| r2036_1(glval) = VariableAddress[#temp2036:5] : +# 2036| r2036_2(glval) = FunctionAddress[prvalue] : +# 2036| r2036_3(ValCat) = Call[prvalue] : func:r2036_2 +# 2036| m2036_4(unknown) = ^CallSideEffect : ~m2035_7 +# 2036| m2036_5(unknown) = Chi : total:m2035_7, partial:m2036_4 +# 2036| m2036_6(ValCat) = Store[#temp2036:5] : &:r2036_1, r2036_3 +# 2036| m2036_7(ValCat) = Store[#temp2036:5] : &:r2036_1, r0_18 +# 2037| v2037_1(void) = NoOp : +# 2028| v2028_5(void) = ReturnVoid : +# 2028| v2028_6(void) = AliasedUse : ~m2036_5 +# 2028| v2028_7(void) = ExitFunction : -# 1992| void SetStaticFuncPtr() -# 1992| Block 0 -# 1992| v1992_1(void) = EnterFunction : -# 1992| m1992_2(unknown) = AliasedDefinition : -# 1992| m1992_3(unknown) = InitializeNonLocal : -# 1992| m1992_4(unknown) = Chi : total:m1992_2, partial:m1992_3 -# 1993| r1993_1(glval) = VariableAddress[c] : -# 1993| m1993_2(C) = Uninitialized[c] : &:r1993_1 -# 1993| r1993_3(glval) = FunctionAddress[C] : -# 1993| v1993_4(void) = Call[C] : func:r1993_3, this:r1993_1 -# 1993| m1993_5(unknown) = ^CallSideEffect : ~m1992_4 -# 1993| m1993_6(unknown) = Chi : total:m1992_4, partial:m1993_5 -# 1993| m1993_7(C) = ^IndirectMayWriteSideEffect[-1] : &:r1993_1 -# 1993| m1993_8(C) = Chi : total:m1993_2, partial:m1993_7 -# 1994| r1994_1(glval<..(*)(..)>) = VariableAddress[pfn] : -# 1994| r1994_2(..(*)(..)) = FunctionAddress[StaticMemberFunction] : -# 1994| m1994_3(..(*)(..)) = Store[pfn] : &:r1994_1, r1994_2 -# 1995| r1995_1(glval) = VariableAddress[c] : -# 1995| r1995_2(..(*)(..)) = FunctionAddress[StaticMemberFunction] : -# 1995| r1995_3(glval<..(*)(..)>) = VariableAddress[pfn] : -# 1995| m1995_4(..(*)(..)) = Store[pfn] : &:r1995_3, r1995_2 -# 1996| v1996_1(void) = NoOp : -# 1996| r1996_2(glval) = VariableAddress[c] : -# 1996| r1996_3(glval) = FunctionAddress[~C] : -# 1996| v1996_4(void) = Call[~C] : func:r1996_3, this:r1996_2 -# 1996| m1996_5(unknown) = ^CallSideEffect : ~m1993_6 -# 1996| m1996_6(unknown) = Chi : total:m1993_6, partial:m1996_5 -# 1996| v1996_7(void) = ^IndirectReadSideEffect[-1] : &:r1996_2, m1993_8 -# 1996| m1996_8(C) = ^IndirectMayWriteSideEffect[-1] : &:r1996_2 -# 1996| m1996_9(C) = Chi : total:m1993_8, partial:m1996_8 -# 1992| v1992_5(void) = ReturnVoid : -# 1992| v1992_6(void) = AliasedUse : ~m1996_6 -# 1992| v1992_7(void) = ExitFunction : +# 2039| void SetStaticFuncPtr() +# 2039| Block 0 +# 2039| v2039_1(void) = EnterFunction : +# 2039| m2039_2(unknown) = AliasedDefinition : +# 2039| m2039_3(unknown) = InitializeNonLocal : +# 2039| m2039_4(unknown) = Chi : total:m2039_2, partial:m2039_3 +# 2040| r2040_1(glval) = VariableAddress[c] : +# 2040| m2040_2(C) = Uninitialized[c] : &:r2040_1 +# 2040| r2040_3(glval) = FunctionAddress[C] : +# 2040| v2040_4(void) = Call[C] : func:r2040_3, this:r2040_1 +# 2040| m2040_5(unknown) = ^CallSideEffect : ~m2039_4 +# 2040| m2040_6(unknown) = Chi : total:m2039_4, partial:m2040_5 +# 2040| m2040_7(C) = ^IndirectMayWriteSideEffect[-1] : &:r2040_1 +# 2040| m2040_8(C) = Chi : total:m2040_2, partial:m2040_7 +# 2041| r2041_1(glval<..(*)(..)>) = VariableAddress[pfn] : +# 2041| r2041_2(..(*)(..)) = FunctionAddress[StaticMemberFunction] : +# 2041| m2041_3(..(*)(..)) = Store[pfn] : &:r2041_1, r2041_2 +# 2042| r2042_1(glval) = VariableAddress[c] : +# 2042| r2042_2(..(*)(..)) = FunctionAddress[StaticMemberFunction] : +# 2042| r2042_3(glval<..(*)(..)>) = VariableAddress[pfn] : +# 2042| m2042_4(..(*)(..)) = Store[pfn] : &:r2042_3, r2042_2 +# 2043| v2043_1(void) = NoOp : +# 2043| r2043_2(glval) = VariableAddress[c] : +# 2043| r2043_3(glval) = FunctionAddress[~C] : +# 2043| v2043_4(void) = Call[~C] : func:r2043_3, this:r2043_2 +# 2043| m2043_5(unknown) = ^CallSideEffect : ~m2040_6 +# 2043| m2043_6(unknown) = Chi : total:m2040_6, partial:m2043_5 +# 2043| v2043_7(void) = ^IndirectReadSideEffect[-1] : &:r2043_2, m2040_8 +# 2043| m2043_8(C) = ^IndirectMayWriteSideEffect[-1] : &:r2043_2 +# 2043| m2043_9(C) = Chi : total:m2040_8, partial:m2043_8 +# 2039| v2039_5(void) = ReturnVoid : +# 2039| v2039_6(void) = AliasedUse : ~m2043_6 +# 2039| v2039_7(void) = ExitFunction : -# 1998| void TernaryTestInt(bool, int, int, int) -# 1998| Block 0 -# 1998| v1998_1(void) = EnterFunction : -# 1998| m1998_2(unknown) = AliasedDefinition : -# 1998| m1998_3(unknown) = InitializeNonLocal : -# 1998| m1998_4(unknown) = Chi : total:m1998_2, partial:m1998_3 -# 1998| r1998_5(glval) = VariableAddress[a] : -# 1998| m1998_6(bool) = InitializeParameter[a] : &:r1998_5 -# 1998| r1998_7(glval) = VariableAddress[x] : -# 1998| m1998_8(int) = InitializeParameter[x] : &:r1998_7 -# 1998| r1998_9(glval) = VariableAddress[y] : -# 1998| m1998_10(int) = InitializeParameter[y] : &:r1998_9 -# 1998| r1998_11(glval) = VariableAddress[z] : -# 1998| m1998_12(int) = InitializeParameter[z] : &:r1998_11 -# 1999| r1999_1(glval) = VariableAddress[a] : -# 1999| r1999_2(bool) = Load[a] : &:r1999_1, m1998_6 -# 1999| v1999_3(void) = ConditionalBranch : r1999_2 +# 2045| void TernaryTestInt(bool, int, int, int) +# 2045| Block 0 +# 2045| v2045_1(void) = EnterFunction : +# 2045| m2045_2(unknown) = AliasedDefinition : +# 2045| m2045_3(unknown) = InitializeNonLocal : +# 2045| m2045_4(unknown) = Chi : total:m2045_2, partial:m2045_3 +# 2045| r2045_5(glval) = VariableAddress[a] : +# 2045| m2045_6(bool) = InitializeParameter[a] : &:r2045_5 +# 2045| r2045_7(glval) = VariableAddress[x] : +# 2045| m2045_8(int) = InitializeParameter[x] : &:r2045_7 +# 2045| r2045_9(glval) = VariableAddress[y] : +# 2045| m2045_10(int) = InitializeParameter[y] : &:r2045_9 +# 2045| r2045_11(glval) = VariableAddress[z] : +# 2045| m2045_12(int) = InitializeParameter[z] : &:r2045_11 +# 2046| r2046_1(glval) = VariableAddress[a] : +# 2046| r2046_2(bool) = Load[a] : &:r2046_1, m2045_6 +# 2046| v2046_3(void) = ConditionalBranch : r2046_2 #-----| False -> Block 3 #-----| True -> Block 2 -# 1999| Block 1 -# 1999| m1999_4(int) = Phi : from 2:m1999_12, from 3:m1999_16 -# 1999| r1999_5(glval) = VariableAddress[#temp1999:9] : -# 1999| r1999_6(int) = Load[#temp1999:9] : &:r1999_5, m1999_4 -# 1999| r1999_7(glval) = VariableAddress[z] : -# 1999| m1999_8(int) = Store[z] : &:r1999_7, r1999_6 -# 2000| r2000_1(glval) = VariableAddress[a] : -# 2000| r2000_2(bool) = Load[a] : &:r2000_1, m1998_6 -# 2000| v2000_3(void) = ConditionalBranch : r2000_2 +# 2046| Block 1 +# 2046| m2046_4(int) = Phi : from 2:m2046_12, from 3:m2046_16 +# 2046| r2046_5(glval) = VariableAddress[#temp2046:9] : +# 2046| r2046_6(int) = Load[#temp2046:9] : &:r2046_5, m2046_4 +# 2046| r2046_7(glval) = VariableAddress[z] : +# 2046| m2046_8(int) = Store[z] : &:r2046_7, r2046_6 +# 2047| r2047_1(glval) = VariableAddress[a] : +# 2047| r2047_2(bool) = Load[a] : &:r2047_1, m2045_6 +# 2047| v2047_3(void) = ConditionalBranch : r2047_2 #-----| False -> Block 6 #-----| True -> Block 5 -# 1999| Block 2 -# 1999| r1999_9(glval) = VariableAddress[x] : -# 1999| r1999_10(int) = Load[x] : &:r1999_9, m1998_8 -# 1999| r1999_11(glval) = VariableAddress[#temp1999:9] : -# 1999| m1999_12(int) = Store[#temp1999:9] : &:r1999_11, r1999_10 +# 2046| Block 2 +# 2046| r2046_9(glval) = VariableAddress[x] : +# 2046| r2046_10(int) = Load[x] : &:r2046_9, m2045_8 +# 2046| r2046_11(glval) = VariableAddress[#temp2046:9] : +# 2046| m2046_12(int) = Store[#temp2046:9] : &:r2046_11, r2046_10 #-----| Goto -> Block 1 -# 1999| Block 3 -# 1999| r1999_13(glval) = VariableAddress[y] : -# 1999| r1999_14(int) = Load[y] : &:r1999_13, m1998_10 -# 1999| r1999_15(glval) = VariableAddress[#temp1999:9] : -# 1999| m1999_16(int) = Store[#temp1999:9] : &:r1999_15, r1999_14 +# 2046| Block 3 +# 2046| r2046_13(glval) = VariableAddress[y] : +# 2046| r2046_14(int) = Load[y] : &:r2046_13, m2045_10 +# 2046| r2046_15(glval) = VariableAddress[#temp2046:9] : +# 2046| m2046_16(int) = Store[#temp2046:9] : &:r2046_15, r2046_14 #-----| Goto -> Block 1 -# 2000| Block 4 -# 2000| m2000_4(int) = Phi : from 5:m2000_12, from 6:m2000_15 -# 2000| r2000_5(glval) = VariableAddress[#temp2000:9] : -# 2000| r2000_6(int) = Load[#temp2000:9] : &:r2000_5, m2000_4 -# 2000| r2000_7(glval) = VariableAddress[z] : -# 2000| m2000_8(int) = Store[z] : &:r2000_7, r2000_6 -# 2001| r2001_1(glval) = VariableAddress[a] : -# 2001| r2001_2(bool) = Load[a] : &:r2001_1, m1998_6 -# 2001| v2001_3(void) = ConditionalBranch : r2001_2 +# 2047| Block 4 +# 2047| m2047_4(int) = Phi : from 5:m2047_12, from 6:m2047_15 +# 2047| r2047_5(glval) = VariableAddress[#temp2047:9] : +# 2047| r2047_6(int) = Load[#temp2047:9] : &:r2047_5, m2047_4 +# 2047| r2047_7(glval) = VariableAddress[z] : +# 2047| m2047_8(int) = Store[z] : &:r2047_7, r2047_6 +# 2048| r2048_1(glval) = VariableAddress[a] : +# 2048| r2048_2(bool) = Load[a] : &:r2048_1, m2045_6 +# 2048| v2048_3(void) = ConditionalBranch : r2048_2 #-----| False -> Block 9 #-----| True -> Block 8 -# 2000| Block 5 -# 2000| r2000_9(glval) = VariableAddress[x] : -# 2000| r2000_10(int) = Load[x] : &:r2000_9, m1998_8 -# 2000| r2000_11(glval) = VariableAddress[#temp2000:9] : -# 2000| m2000_12(int) = Store[#temp2000:9] : &:r2000_11, r2000_10 +# 2047| Block 5 +# 2047| r2047_9(glval) = VariableAddress[x] : +# 2047| r2047_10(int) = Load[x] : &:r2047_9, m2045_8 +# 2047| r2047_11(glval) = VariableAddress[#temp2047:9] : +# 2047| m2047_12(int) = Store[#temp2047:9] : &:r2047_11, r2047_10 #-----| Goto -> Block 4 -# 2000| Block 6 -# 2000| r2000_13(int) = Constant[5] : -# 2000| r2000_14(glval) = VariableAddress[#temp2000:9] : -# 2000| m2000_15(int) = Store[#temp2000:9] : &:r2000_14, r2000_13 +# 2047| Block 6 +# 2047| r2047_13(int) = Constant[5] : +# 2047| r2047_14(glval) = VariableAddress[#temp2047:9] : +# 2047| m2047_15(int) = Store[#temp2047:9] : &:r2047_14, r2047_13 #-----| Goto -> Block 4 -# 2001| Block 7 -# 2001| m2001_4(int) = Phi : from 8:m2001_11, from 9:m2001_14 -# 2001| r2001_5(glval) = VariableAddress[#temp2001:9] : -# 2001| r2001_6(int) = Load[#temp2001:9] : &:r2001_5, m2001_4 -# 2001| r2001_7(glval) = VariableAddress[z] : -# 2001| m2001_8(int) = Store[z] : &:r2001_7, r2001_6 -# 2002| r2002_1(int) = Constant[7] : -# 2002| r2002_2(glval) = VariableAddress[a] : -# 2002| r2002_3(bool) = Load[a] : &:r2002_2, m1998_6 -# 2002| v2002_4(void) = ConditionalBranch : r2002_3 +# 2048| Block 7 +# 2048| m2048_4(int) = Phi : from 8:m2048_11, from 9:m2048_14 +# 2048| r2048_5(glval) = VariableAddress[#temp2048:9] : +# 2048| r2048_6(int) = Load[#temp2048:9] : &:r2048_5, m2048_4 +# 2048| r2048_7(glval) = VariableAddress[z] : +# 2048| m2048_8(int) = Store[z] : &:r2048_7, r2048_6 +# 2049| r2049_1(int) = Constant[7] : +# 2049| r2049_2(glval) = VariableAddress[a] : +# 2049| r2049_3(bool) = Load[a] : &:r2049_2, m2045_6 +# 2049| v2049_4(void) = ConditionalBranch : r2049_3 #-----| False -> Block 12 #-----| True -> Block 11 -# 2001| Block 8 -# 2001| r2001_9(int) = Constant[3] : -# 2001| r2001_10(glval) = VariableAddress[#temp2001:9] : -# 2001| m2001_11(int) = Store[#temp2001:9] : &:r2001_10, r2001_9 +# 2048| Block 8 +# 2048| r2048_9(int) = Constant[3] : +# 2048| r2048_10(glval) = VariableAddress[#temp2048:9] : +# 2048| m2048_11(int) = Store[#temp2048:9] : &:r2048_10, r2048_9 #-----| Goto -> Block 7 -# 2001| Block 9 -# 2001| r2001_12(int) = Constant[5] : -# 2001| r2001_13(glval) = VariableAddress[#temp2001:9] : -# 2001| m2001_14(int) = Store[#temp2001:9] : &:r2001_13, r2001_12 +# 2048| Block 9 +# 2048| r2048_12(int) = Constant[5] : +# 2048| r2048_13(glval) = VariableAddress[#temp2048:9] : +# 2048| m2048_14(int) = Store[#temp2048:9] : &:r2048_13, r2048_12 #-----| Goto -> Block 7 -# 2002| Block 10 -# 2002| m2002_5(glval) = Phi : from 11:m2002_12, from 12:m2002_15 -# 2002| r2002_6(glval) = VariableAddress[#temp2002:6] : -# 2002| r2002_7(glval) = Load[#temp2002:6] : &:r2002_6, m2002_5 -# 2002| m2002_8(int) = Store[?] : &:r2002_7, r2002_1 -# 2002| m2002_9(unknown) = Chi : total:m1998_4, partial:m2002_8 -# 2003| v2003_1(void) = NoOp : -# 1998| v1998_13(void) = ReturnVoid : -# 1998| v1998_14(void) = AliasedUse : ~m2002_9 -# 1998| v1998_15(void) = ExitFunction : +# 2049| Block 10 +# 2049| m2049_5(glval) = Phi : from 11:m2049_12, from 12:m2049_15 +# 2049| r2049_6(glval) = VariableAddress[#temp2049:6] : +# 2049| r2049_7(glval) = Load[#temp2049:6] : &:r2049_6, m2049_5 +# 2049| m2049_8(int) = Store[?] : &:r2049_7, r2049_1 +# 2049| m2049_9(unknown) = Chi : total:m2045_4, partial:m2049_8 +# 2050| v2050_1(void) = NoOp : +# 2045| v2045_13(void) = ReturnVoid : +# 2045| v2045_14(void) = AliasedUse : ~m2049_9 +# 2045| v2045_15(void) = ExitFunction : -# 2002| Block 11 -# 2002| r2002_10(glval) = VariableAddress[x] : -# 2002| r2002_11(glval) = VariableAddress[#temp2002:6] : -# 2002| m2002_12(glval) = Store[#temp2002:6] : &:r2002_11, r2002_10 +# 2049| Block 11 +# 2049| r2049_10(glval) = VariableAddress[x] : +# 2049| r2049_11(glval) = VariableAddress[#temp2049:6] : +# 2049| m2049_12(glval) = Store[#temp2049:6] : &:r2049_11, r2049_10 #-----| Goto -> Block 10 -# 2002| Block 12 -# 2002| r2002_13(glval) = VariableAddress[y] : -# 2002| r2002_14(glval) = VariableAddress[#temp2002:6] : -# 2002| m2002_15(glval) = Store[#temp2002:6] : &:r2002_14, r2002_13 +# 2049| Block 12 +# 2049| r2049_13(glval) = VariableAddress[y] : +# 2049| r2049_14(glval) = VariableAddress[#temp2049:6] : +# 2049| m2049_15(glval) = Store[#temp2049:6] : &:r2049_14, r2049_13 #-----| Goto -> Block 10 -# 2008| void TernaryTestPodObj(bool, TernaryPodObj, TernaryPodObj, TernaryPodObj) -# 2008| Block 0 -# 2008| v2008_1(void) = EnterFunction : -# 2008| m2008_2(unknown) = AliasedDefinition : -# 2008| m2008_3(unknown) = InitializeNonLocal : -# 2008| m2008_4(unknown) = Chi : total:m2008_2, partial:m2008_3 -# 2008| r2008_5(glval) = VariableAddress[a] : -# 2008| m2008_6(bool) = InitializeParameter[a] : &:r2008_5 -# 2008| r2008_7(glval) = VariableAddress[x] : -# 2008| m2008_8(TernaryPodObj) = InitializeParameter[x] : &:r2008_7 -# 2008| r2008_9(glval) = VariableAddress[y] : -# 2008| m2008_10(TernaryPodObj) = InitializeParameter[y] : &:r2008_9 -# 2008| r2008_11(glval) = VariableAddress[z] : -# 2008| m2008_12(TernaryPodObj) = InitializeParameter[z] : &:r2008_11 -# 2009| r2009_1(glval) = VariableAddress[a] : -# 2009| r2009_2(bool) = Load[a] : &:r2009_1, m2008_6 -# 2009| v2009_3(void) = ConditionalBranch : r2009_2 +# 2055| void TernaryTestPodObj(bool, TernaryPodObj, TernaryPodObj, TernaryPodObj) +# 2055| Block 0 +# 2055| v2055_1(void) = EnterFunction : +# 2055| m2055_2(unknown) = AliasedDefinition : +# 2055| m2055_3(unknown) = InitializeNonLocal : +# 2055| m2055_4(unknown) = Chi : total:m2055_2, partial:m2055_3 +# 2055| r2055_5(glval) = VariableAddress[a] : +# 2055| m2055_6(bool) = InitializeParameter[a] : &:r2055_5 +# 2055| r2055_7(glval) = VariableAddress[x] : +# 2055| m2055_8(TernaryPodObj) = InitializeParameter[x] : &:r2055_7 +# 2055| r2055_9(glval) = VariableAddress[y] : +# 2055| m2055_10(TernaryPodObj) = InitializeParameter[y] : &:r2055_9 +# 2055| r2055_11(glval) = VariableAddress[z] : +# 2055| m2055_12(TernaryPodObj) = InitializeParameter[z] : &:r2055_11 +# 2056| r2056_1(glval) = VariableAddress[a] : +# 2056| r2056_2(bool) = Load[a] : &:r2056_1, m2055_6 +# 2056| v2056_3(void) = ConditionalBranch : r2056_2 #-----| False -> Block 3 #-----| True -> Block 2 -# 2009| Block 1 -# 2009| m2009_4(TernaryPodObj) = Phi : from 2:m2009_12, from 3:m2009_16 -# 2009| r2009_5(glval) = VariableAddress[#temp2009:9] : -# 2009| r2009_6(TernaryPodObj) = Load[#temp2009:9] : &:r2009_5, m2009_4 -# 2009| r2009_7(glval) = VariableAddress[z] : -# 2009| m2009_8(TernaryPodObj) = Store[z] : &:r2009_7, r2009_6 -# 2010| r2010_1(glval) = VariableAddress[#temp2010:9] : -# 2010| r2010_2(glval) = VariableAddress[a] : -# 2010| r2010_3(bool) = Load[a] : &:r2010_2, m2008_6 -# 2010| v2010_4(void) = ConditionalBranch : r2010_3 +# 2056| Block 1 +# 2056| m2056_4(TernaryPodObj) = Phi : from 2:m2056_12, from 3:m2056_16 +# 2056| r2056_5(glval) = VariableAddress[#temp2056:9] : +# 2056| r2056_6(TernaryPodObj) = Load[#temp2056:9] : &:r2056_5, m2056_4 +# 2056| r2056_7(glval) = VariableAddress[z] : +# 2056| m2056_8(TernaryPodObj) = Store[z] : &:r2056_7, r2056_6 +# 2057| r2057_1(glval) = VariableAddress[#temp2057:9] : +# 2057| r2057_2(glval) = VariableAddress[a] : +# 2057| r2057_3(bool) = Load[a] : &:r2057_2, m2055_6 +# 2057| v2057_4(void) = ConditionalBranch : r2057_3 #-----| False -> Block 6 #-----| True -> Block 5 -# 2009| Block 2 -# 2009| r2009_9(glval) = VariableAddress[x] : -# 2009| r2009_10(TernaryPodObj) = Load[x] : &:r2009_9, m2008_8 -# 2009| r2009_11(glval) = VariableAddress[#temp2009:9] : -# 2009| m2009_12(TernaryPodObj) = Store[#temp2009:9] : &:r2009_11, r2009_10 +# 2056| Block 2 +# 2056| r2056_9(glval) = VariableAddress[x] : +# 2056| r2056_10(TernaryPodObj) = Load[x] : &:r2056_9, m2055_8 +# 2056| r2056_11(glval) = VariableAddress[#temp2056:9] : +# 2056| m2056_12(TernaryPodObj) = Store[#temp2056:9] : &:r2056_11, r2056_10 #-----| Goto -> Block 1 -# 2009| Block 3 -# 2009| r2009_13(glval) = VariableAddress[y] : -# 2009| r2009_14(TernaryPodObj) = Load[y] : &:r2009_13, m2008_10 -# 2009| r2009_15(glval) = VariableAddress[#temp2009:9] : -# 2009| m2009_16(TernaryPodObj) = Store[#temp2009:9] : &:r2009_15, r2009_14 +# 2056| Block 3 +# 2056| r2056_13(glval) = VariableAddress[y] : +# 2056| r2056_14(TernaryPodObj) = Load[y] : &:r2056_13, m2055_10 +# 2056| r2056_15(glval) = VariableAddress[#temp2056:9] : +# 2056| m2056_16(TernaryPodObj) = Store[#temp2056:9] : &:r2056_15, r2056_14 #-----| Goto -> Block 1 -# 2010| Block 4 -# 2010| m2010_5(TernaryPodObj) = Phi : from 5:m2010_18, from 6:m2010_24 -# 2010| r2010_6(glval) = VariableAddress[#temp2010:9] : -# 2010| r2010_7(TernaryPodObj) = Load[#temp2010:9] : &:r2010_6, m2010_5 -# 2010| m2010_8(TernaryPodObj) = Store[#temp2010:9] : &:r2010_1, r2010_7 -# 2010| r2010_9(TernaryPodObj) = Load[#temp2010:9] : &:r2010_1, m2010_8 -# 2010| r2010_10(glval) = VariableAddress[z] : -# 2010| m2010_11(TernaryPodObj) = Store[z] : &:r2010_10, r2010_9 -# 2011| r2011_1(glval) = VariableAddress[#temp2011:9] : -# 2011| r2011_2(glval) = VariableAddress[a] : -# 2011| r2011_3(bool) = Load[a] : &:r2011_2, m2008_6 -# 2011| v2011_4(void) = ConditionalBranch : r2011_3 +# 2057| Block 4 +# 2057| m2057_5(TernaryPodObj) = Phi : from 5:m2057_18, from 6:m2057_24 +# 2057| r2057_6(glval) = VariableAddress[#temp2057:9] : +# 2057| r2057_7(TernaryPodObj) = Load[#temp2057:9] : &:r2057_6, m2057_5 +# 2057| m2057_8(TernaryPodObj) = Store[#temp2057:9] : &:r2057_1, r2057_7 +# 2057| r2057_9(TernaryPodObj) = Load[#temp2057:9] : &:r2057_1, m2057_8 +# 2057| r2057_10(glval) = VariableAddress[z] : +# 2057| m2057_11(TernaryPodObj) = Store[z] : &:r2057_10, r2057_9 +# 2058| r2058_1(glval) = VariableAddress[#temp2058:9] : +# 2058| r2058_2(glval) = VariableAddress[a] : +# 2058| r2058_3(bool) = Load[a] : &:r2058_2, m2055_6 +# 2058| v2058_4(void) = ConditionalBranch : r2058_3 #-----| False -> Block 9 #-----| True -> Block 8 -# 2010| Block 5 -# 2010| r2010_12(glval) = VariableAddress[#temp2010:13] : -# 2010| r2010_13(glval) = VariableAddress[x] : -# 2010| r2010_14(TernaryPodObj) = Load[x] : &:r2010_13, m2008_8 -# 2010| m2010_15(TernaryPodObj) = Store[#temp2010:13] : &:r2010_12, r2010_14 -# 2010| r2010_16(TernaryPodObj) = Load[#temp2010:13] : &:r2010_12, m2010_15 -# 2010| r2010_17(glval) = VariableAddress[#temp2010:9] : -# 2010| m2010_18(TernaryPodObj) = Store[#temp2010:9] : &:r2010_17, r2010_16 +# 2057| Block 5 +# 2057| r2057_12(glval) = VariableAddress[#temp2057:13] : +# 2057| r2057_13(glval) = VariableAddress[x] : +# 2057| r2057_14(TernaryPodObj) = Load[x] : &:r2057_13, m2055_8 +# 2057| m2057_15(TernaryPodObj) = Store[#temp2057:13] : &:r2057_12, r2057_14 +# 2057| r2057_16(TernaryPodObj) = Load[#temp2057:13] : &:r2057_12, m2057_15 +# 2057| r2057_17(glval) = VariableAddress[#temp2057:9] : +# 2057| m2057_18(TernaryPodObj) = Store[#temp2057:9] : &:r2057_17, r2057_16 #-----| Goto -> Block 4 -# 2010| Block 6 -# 2010| r2010_19(glval) = VariableAddress[#temp2010:17] : -# 2010| r2010_20(TernaryPodObj) = Constant[0] : -# 2010| m2010_21(TernaryPodObj) = Store[#temp2010:17] : &:r2010_19, r2010_20 -# 2010| r2010_22(TernaryPodObj) = Load[#temp2010:17] : &:r2010_19, m2010_21 -# 2010| r2010_23(glval) = VariableAddress[#temp2010:9] : -# 2010| m2010_24(TernaryPodObj) = Store[#temp2010:9] : &:r2010_23, r2010_22 +# 2057| Block 6 +# 2057| r2057_19(glval) = VariableAddress[#temp2057:17] : +# 2057| r2057_20(TernaryPodObj) = Constant[0] : +# 2057| m2057_21(TernaryPodObj) = Store[#temp2057:17] : &:r2057_19, r2057_20 +# 2057| r2057_22(TernaryPodObj) = Load[#temp2057:17] : &:r2057_19, m2057_21 +# 2057| r2057_23(glval) = VariableAddress[#temp2057:9] : +# 2057| m2057_24(TernaryPodObj) = Store[#temp2057:9] : &:r2057_23, r2057_22 #-----| Goto -> Block 4 -# 2011| Block 7 -# 2011| m2011_5(TernaryPodObj) = Phi : from 8:m2011_17, from 9:m2011_23 -# 2011| r2011_6(glval) = VariableAddress[#temp2011:9] : -# 2011| r2011_7(TernaryPodObj) = Load[#temp2011:9] : &:r2011_6, m2011_5 -# 2011| m2011_8(TernaryPodObj) = Store[#temp2011:9] : &:r2011_1, r2011_7 -# 2011| r2011_9(TernaryPodObj) = Load[#temp2011:9] : &:r2011_1, m2011_8 -# 2011| r2011_10(glval) = VariableAddress[z] : -# 2011| m2011_11(TernaryPodObj) = Store[z] : &:r2011_10, r2011_9 -# 2012| r2012_1(glval) = VariableAddress[#temp2012:23] : -# 2012| r2012_2(TernaryPodObj) = Constant[0] : -# 2012| m2012_3(TernaryPodObj) = Store[#temp2012:23] : &:r2012_1, r2012_2 -# 2012| r2012_4(TernaryPodObj) = Load[#temp2012:23] : &:r2012_1, m2012_3 -# 2012| r2012_5(glval) = VariableAddress[a] : -# 2012| r2012_6(bool) = Load[a] : &:r2012_5, m2008_6 -# 2012| v2012_7(void) = ConditionalBranch : r2012_6 +# 2058| Block 7 +# 2058| m2058_5(TernaryPodObj) = Phi : from 8:m2058_17, from 9:m2058_23 +# 2058| r2058_6(glval) = VariableAddress[#temp2058:9] : +# 2058| r2058_7(TernaryPodObj) = Load[#temp2058:9] : &:r2058_6, m2058_5 +# 2058| m2058_8(TernaryPodObj) = Store[#temp2058:9] : &:r2058_1, r2058_7 +# 2058| r2058_9(TernaryPodObj) = Load[#temp2058:9] : &:r2058_1, m2058_8 +# 2058| r2058_10(glval) = VariableAddress[z] : +# 2058| m2058_11(TernaryPodObj) = Store[z] : &:r2058_10, r2058_9 +# 2059| r2059_1(glval) = VariableAddress[#temp2059:23] : +# 2059| r2059_2(TernaryPodObj) = Constant[0] : +# 2059| m2059_3(TernaryPodObj) = Store[#temp2059:23] : &:r2059_1, r2059_2 +# 2059| r2059_4(TernaryPodObj) = Load[#temp2059:23] : &:r2059_1, m2059_3 +# 2059| r2059_5(glval) = VariableAddress[a] : +# 2059| r2059_6(bool) = Load[a] : &:r2059_5, m2055_6 +# 2059| v2059_7(void) = ConditionalBranch : r2059_6 #-----| False -> Block 12 #-----| True -> Block 11 -# 2011| Block 8 -# 2011| r2011_12(glval) = VariableAddress[#temp2011:13] : -# 2011| r2011_13(TernaryPodObj) = Constant[0] : -# 2011| m2011_14(TernaryPodObj) = Store[#temp2011:13] : &:r2011_12, r2011_13 -# 2011| r2011_15(TernaryPodObj) = Load[#temp2011:13] : &:r2011_12, m2011_14 -# 2011| r2011_16(glval) = VariableAddress[#temp2011:9] : -# 2011| m2011_17(TernaryPodObj) = Store[#temp2011:9] : &:r2011_16, r2011_15 +# 2058| Block 8 +# 2058| r2058_12(glval) = VariableAddress[#temp2058:13] : +# 2058| r2058_13(TernaryPodObj) = Constant[0] : +# 2058| m2058_14(TernaryPodObj) = Store[#temp2058:13] : &:r2058_12, r2058_13 +# 2058| r2058_15(TernaryPodObj) = Load[#temp2058:13] : &:r2058_12, m2058_14 +# 2058| r2058_16(glval) = VariableAddress[#temp2058:9] : +# 2058| m2058_17(TernaryPodObj) = Store[#temp2058:9] : &:r2058_16, r2058_15 #-----| Goto -> Block 7 -# 2011| Block 9 -# 2011| r2011_18(glval) = VariableAddress[#temp2011:31] : -# 2011| r2011_19(TernaryPodObj) = Constant[0] : -# 2011| m2011_20(TernaryPodObj) = Store[#temp2011:31] : &:r2011_18, r2011_19 -# 2011| r2011_21(TernaryPodObj) = Load[#temp2011:31] : &:r2011_18, m2011_20 -# 2011| r2011_22(glval) = VariableAddress[#temp2011:9] : -# 2011| m2011_23(TernaryPodObj) = Store[#temp2011:9] : &:r2011_22, r2011_21 +# 2058| Block 9 +# 2058| r2058_18(glval) = VariableAddress[#temp2058:31] : +# 2058| r2058_19(TernaryPodObj) = Constant[0] : +# 2058| m2058_20(TernaryPodObj) = Store[#temp2058:31] : &:r2058_18, r2058_19 +# 2058| r2058_21(TernaryPodObj) = Load[#temp2058:31] : &:r2058_18, m2058_20 +# 2058| r2058_22(glval) = VariableAddress[#temp2058:9] : +# 2058| m2058_23(TernaryPodObj) = Store[#temp2058:9] : &:r2058_22, r2058_21 #-----| Goto -> Block 7 -# 2012| Block 10 -# 2012| m2012_8(TernaryPodObj) = Phi : from 11:m2012_18, from 12:m2012_22 -# 2012| r2012_9(glval) = VariableAddress[#temp2012:10] : -# 2012| r2012_10(TernaryPodObj) = Load[#temp2012:10] : &:r2012_9, m2012_8 -# 2012| r2012_11(glval) = VariableAddress[z] : -# 2012| m2012_12(TernaryPodObj) = Store[z] : &:r2012_11, r2012_10 -# 2012| r2012_13(glval) = CopyValue : r2012_11 -# 2012| m2012_14(TernaryPodObj) = Store[?] : &:r2012_13, r2012_4 -# 2013| v2013_1(void) = NoOp : -# 2008| v2008_13(void) = ReturnVoid : -# 2008| v2008_14(void) = AliasedUse : m2008_3 -# 2008| v2008_15(void) = ExitFunction : +# 2059| Block 10 +# 2059| m2059_8(TernaryPodObj) = Phi : from 11:m2059_18, from 12:m2059_22 +# 2059| r2059_9(glval) = VariableAddress[#temp2059:10] : +# 2059| r2059_10(TernaryPodObj) = Load[#temp2059:10] : &:r2059_9, m2059_8 +# 2059| r2059_11(glval) = VariableAddress[z] : +# 2059| m2059_12(TernaryPodObj) = Store[z] : &:r2059_11, r2059_10 +# 2059| r2059_13(glval) = CopyValue : r2059_11 +# 2059| m2059_14(TernaryPodObj) = Store[?] : &:r2059_13, r2059_4 +# 2060| v2060_1(void) = NoOp : +# 2055| v2055_13(void) = ReturnVoid : +# 2055| v2055_14(void) = AliasedUse : m2055_3 +# 2055| v2055_15(void) = ExitFunction : -# 2012| Block 11 -# 2012| r2012_15(glval) = VariableAddress[x] : -# 2012| r2012_16(TernaryPodObj) = Load[x] : &:r2012_15, m2008_8 -# 2012| r2012_17(glval) = VariableAddress[#temp2012:10] : -# 2012| m2012_18(TernaryPodObj) = Store[#temp2012:10] : &:r2012_17, r2012_16 +# 2059| Block 11 +# 2059| r2059_15(glval) = VariableAddress[x] : +# 2059| r2059_16(TernaryPodObj) = Load[x] : &:r2059_15, m2055_8 +# 2059| r2059_17(glval) = VariableAddress[#temp2059:10] : +# 2059| m2059_18(TernaryPodObj) = Store[#temp2059:10] : &:r2059_17, r2059_16 #-----| Goto -> Block 10 -# 2012| Block 12 -# 2012| r2012_19(glval) = VariableAddress[y] : -# 2012| r2012_20(TernaryPodObj) = Load[y] : &:r2012_19, m2008_10 -# 2012| r2012_21(glval) = VariableAddress[#temp2012:10] : -# 2012| m2012_22(TernaryPodObj) = Store[#temp2012:10] : &:r2012_21, r2012_20 +# 2059| Block 12 +# 2059| r2059_19(glval) = VariableAddress[y] : +# 2059| r2059_20(TernaryPodObj) = Load[y] : &:r2059_19, m2055_10 +# 2059| r2059_21(glval) = VariableAddress[#temp2059:10] : +# 2059| m2059_22(TernaryPodObj) = Store[#temp2059:10] : &:r2059_21, r2059_20 #-----| Goto -> Block 10 -# 2015| TernaryNonPodObj& TernaryNonPodObj::operator=(TernaryNonPodObj const&) -# 2015| Block 0 -# 2015| v2015_1(void) = EnterFunction : -# 2015| m2015_2(unknown) = AliasedDefinition : -# 2015| m2015_3(unknown) = InitializeNonLocal : -# 2015| m2015_4(unknown) = Chi : total:m2015_2, partial:m2015_3 -# 2015| r2015_5(glval) = VariableAddress[#this] : -# 2015| m2015_6(glval) = InitializeParameter[#this] : &:r2015_5 -# 2015| r2015_7(glval) = Load[#this] : &:r2015_5, m2015_6 -# 2015| m2015_8(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2015_7 +# 2062| TernaryNonPodObj& TernaryNonPodObj::operator=(TernaryNonPodObj const&) +# 2062| Block 0 +# 2062| v2062_1(void) = EnterFunction : +# 2062| m2062_2(unknown) = AliasedDefinition : +# 2062| m2062_3(unknown) = InitializeNonLocal : +# 2062| m2062_4(unknown) = Chi : total:m2062_2, partial:m2062_3 +# 2062| r2062_5(glval) = VariableAddress[#this] : +# 2062| m2062_6(glval) = InitializeParameter[#this] : &:r2062_5 +# 2062| r2062_7(glval) = Load[#this] : &:r2062_5, m2062_6 +# 2062| m2062_8(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2062_7 #-----| r0_1(glval) = VariableAddress[(unnamed parameter 0)] : #-----| m0_2(TernaryNonPodObj &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1 #-----| r0_3(TernaryNonPodObj &) = Load[(unnamed parameter 0)] : &:r0_1, m0_2 #-----| m0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3 #-----| r0_5(glval) = VariableAddress[#return] : #-----| r0_6(glval) = VariableAddress[#this] : -#-----| r0_7(TernaryNonPodObj *) = Load[#this] : &:r0_6, m2015_6 +#-----| r0_7(TernaryNonPodObj *) = Load[#this] : &:r0_6, m2062_6 #-----| r0_8(glval) = CopyValue : r0_7 #-----| r0_9(TernaryNonPodObj &) = CopyValue : r0_8 #-----| m0_10(TernaryNonPodObj &) = Store[#return] : &:r0_5, r0_9 -# 2015| v2015_9(void) = ReturnIndirection[#this] : &:r2015_7, m2015_8 +# 2062| v2062_9(void) = ReturnIndirection[#this] : &:r2062_7, m2062_8 #-----| v0_11(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4 -# 2015| r2015_10(glval) = VariableAddress[#return] : -# 2015| v2015_11(void) = ReturnValue : &:r2015_10, m0_10 -# 2015| v2015_12(void) = AliasedUse : m2015_3 -# 2015| v2015_13(void) = ExitFunction : +# 2062| r2062_10(glval) = VariableAddress[#return] : +# 2062| v2062_11(void) = ReturnValue : &:r2062_10, m0_10 +# 2062| v2062_12(void) = AliasedUse : m2062_3 +# 2062| v2062_13(void) = ExitFunction : -# 2015| void TernaryNonPodObj::TernaryNonPodObj() -# 2015| Block 0 -# 2015| v2015_1(void) = EnterFunction : -# 2015| m2015_2(unknown) = AliasedDefinition : -# 2015| m2015_3(unknown) = InitializeNonLocal : -# 2015| m2015_4(unknown) = Chi : total:m2015_2, partial:m2015_3 -# 2015| r2015_5(glval) = VariableAddress[#this] : -# 2015| m2015_6(glval) = InitializeParameter[#this] : &:r2015_5 -# 2015| r2015_7(glval) = Load[#this] : &:r2015_5, m2015_6 -# 2015| m2015_8(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2015_7 -# 2015| v2015_9(void) = NoOp : -# 2015| v2015_10(void) = ReturnIndirection[#this] : &:r2015_7, m2015_8 -# 2015| v2015_11(void) = ReturnVoid : -# 2015| v2015_12(void) = AliasedUse : m2015_3 -# 2015| v2015_13(void) = ExitFunction : +# 2062| void TernaryNonPodObj::TernaryNonPodObj() +# 2062| Block 0 +# 2062| v2062_1(void) = EnterFunction : +# 2062| m2062_2(unknown) = AliasedDefinition : +# 2062| m2062_3(unknown) = InitializeNonLocal : +# 2062| m2062_4(unknown) = Chi : total:m2062_2, partial:m2062_3 +# 2062| r2062_5(glval) = VariableAddress[#this] : +# 2062| m2062_6(glval) = InitializeParameter[#this] : &:r2062_5 +# 2062| r2062_7(glval) = Load[#this] : &:r2062_5, m2062_6 +# 2062| m2062_8(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2062_7 +# 2062| v2062_9(void) = NoOp : +# 2062| v2062_10(void) = ReturnIndirection[#this] : &:r2062_7, m2062_8 +# 2062| v2062_11(void) = ReturnVoid : +# 2062| v2062_12(void) = AliasedUse : m2062_3 +# 2062| v2062_13(void) = ExitFunction : -# 2015| void TernaryNonPodObj::TernaryNonPodObj(TernaryNonPodObj const&) -# 2015| Block 0 -# 2015| v2015_1(void) = EnterFunction : -# 2015| m2015_2(unknown) = AliasedDefinition : -# 2015| m2015_3(unknown) = InitializeNonLocal : -# 2015| m2015_4(unknown) = Chi : total:m2015_2, partial:m2015_3 -# 2015| r2015_5(glval) = VariableAddress[#this] : -# 2015| m2015_6(glval) = InitializeParameter[#this] : &:r2015_5 -# 2015| r2015_7(glval) = Load[#this] : &:r2015_5, m2015_6 -# 2015| m2015_8(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2015_7 +# 2062| void TernaryNonPodObj::TernaryNonPodObj(TernaryNonPodObj const&) +# 2062| Block 0 +# 2062| v2062_1(void) = EnterFunction : +# 2062| m2062_2(unknown) = AliasedDefinition : +# 2062| m2062_3(unknown) = InitializeNonLocal : +# 2062| m2062_4(unknown) = Chi : total:m2062_2, partial:m2062_3 +# 2062| r2062_5(glval) = VariableAddress[#this] : +# 2062| m2062_6(glval) = InitializeParameter[#this] : &:r2062_5 +# 2062| r2062_7(glval) = Load[#this] : &:r2062_5, m2062_6 +# 2062| m2062_8(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2062_7 #-----| r0_1(glval) = VariableAddress[(unnamed parameter 0)] : #-----| m0_2(TernaryNonPodObj &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1 #-----| r0_3(TernaryNonPodObj &) = Load[(unnamed parameter 0)] : &:r0_1, m0_2 #-----| m0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3 -# 2015| v2015_9(void) = NoOp : -# 2015| v2015_10(void) = ReturnIndirection[#this] : &:r2015_7, m2015_8 +# 2062| v2062_9(void) = NoOp : +# 2062| v2062_10(void) = ReturnIndirection[#this] : &:r2062_7, m2062_8 #-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4 -# 2015| v2015_11(void) = ReturnVoid : -# 2015| v2015_12(void) = AliasedUse : m2015_3 -# 2015| v2015_13(void) = ExitFunction : +# 2062| v2062_11(void) = ReturnVoid : +# 2062| v2062_12(void) = AliasedUse : m2062_3 +# 2062| v2062_13(void) = ExitFunction : -# 2016| void TernaryNonPodObj::~TernaryNonPodObj() -# 2016| Block 0 -# 2016| v2016_1(void) = EnterFunction : -# 2016| m2016_2(unknown) = AliasedDefinition : -# 2016| m2016_3(unknown) = InitializeNonLocal : -# 2016| m2016_4(unknown) = Chi : total:m2016_2, partial:m2016_3 -# 2016| r2016_5(glval) = VariableAddress[#this] : -# 2016| m2016_6(glval) = InitializeParameter[#this] : &:r2016_5 -# 2016| r2016_7(glval) = Load[#this] : &:r2016_5, m2016_6 -# 2016| m2016_8(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2016_7 -# 2016| v2016_9(void) = NoOp : -# 2016| v2016_10(void) = ReturnIndirection[#this] : &:r2016_7, m2016_8 -# 2016| v2016_11(void) = ReturnVoid : -# 2016| v2016_12(void) = AliasedUse : m2016_3 -# 2016| v2016_13(void) = ExitFunction : +# 2063| void TernaryNonPodObj::~TernaryNonPodObj() +# 2063| Block 0 +# 2063| v2063_1(void) = EnterFunction : +# 2063| m2063_2(unknown) = AliasedDefinition : +# 2063| m2063_3(unknown) = InitializeNonLocal : +# 2063| m2063_4(unknown) = Chi : total:m2063_2, partial:m2063_3 +# 2063| r2063_5(glval) = VariableAddress[#this] : +# 2063| m2063_6(glval) = InitializeParameter[#this] : &:r2063_5 +# 2063| r2063_7(glval) = Load[#this] : &:r2063_5, m2063_6 +# 2063| m2063_8(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2063_7 +# 2063| v2063_9(void) = NoOp : +# 2063| v2063_10(void) = ReturnIndirection[#this] : &:r2063_7, m2063_8 +# 2063| v2063_11(void) = ReturnVoid : +# 2063| v2063_12(void) = AliasedUse : m2063_3 +# 2063| v2063_13(void) = ExitFunction : -# 2019| void TernaryTestNonPodObj(bool, TernaryNonPodObj, TernaryNonPodObj, TernaryNonPodObj) -# 2019| Block 0 -# 2019| v2019_1(void) = EnterFunction : -# 2019| m2019_2(unknown) = AliasedDefinition : -# 2019| m2019_3(unknown) = InitializeNonLocal : -# 2019| m2019_4(unknown) = Chi : total:m2019_2, partial:m2019_3 -# 2019| r2019_5(glval) = VariableAddress[a] : -# 2019| m2019_6(bool) = InitializeParameter[a] : &:r2019_5 -# 2019| r2019_7(glval) = VariableAddress[x] : -# 2019| m2019_8(TernaryNonPodObj) = InitializeParameter[x] : &:r2019_7 -# 2019| r2019_9(glval) = VariableAddress[y] : -# 2019| m2019_10(TernaryNonPodObj) = InitializeParameter[y] : &:r2019_9 -# 2019| r2019_11(glval) = VariableAddress[z] : -# 2019| m2019_12(TernaryNonPodObj) = InitializeParameter[z] : &:r2019_11 -# 2020| r2020_1(glval) = VariableAddress[z] : -# 2020| r2020_2(glval) = FunctionAddress[operator=] : -# 2020| r2020_3(glval) = VariableAddress[a] : -# 2020| r2020_4(bool) = Load[a] : &:r2020_3, m2019_6 -# 2020| v2020_5(void) = ConditionalBranch : r2020_4 +# 2066| void TernaryTestNonPodObj(bool, TernaryNonPodObj, TernaryNonPodObj, TernaryNonPodObj) +# 2066| Block 0 +# 2066| v2066_1(void) = EnterFunction : +# 2066| m2066_2(unknown) = AliasedDefinition : +# 2066| m2066_3(unknown) = InitializeNonLocal : +# 2066| m2066_4(unknown) = Chi : total:m2066_2, partial:m2066_3 +# 2066| r2066_5(glval) = VariableAddress[a] : +# 2066| m2066_6(bool) = InitializeParameter[a] : &:r2066_5 +# 2066| r2066_7(glval) = VariableAddress[x] : +# 2066| m2066_8(TernaryNonPodObj) = InitializeParameter[x] : &:r2066_7 +# 2066| r2066_9(glval) = VariableAddress[y] : +# 2066| m2066_10(TernaryNonPodObj) = InitializeParameter[y] : &:r2066_9 +# 2066| r2066_11(glval) = VariableAddress[z] : +# 2066| m2066_12(TernaryNonPodObj) = InitializeParameter[z] : &:r2066_11 +# 2067| r2067_1(glval) = VariableAddress[z] : +# 2067| r2067_2(glval) = FunctionAddress[operator=] : +# 2067| r2067_3(glval) = VariableAddress[a] : +# 2067| r2067_4(bool) = Load[a] : &:r2067_3, m2066_6 +# 2067| v2067_5(void) = ConditionalBranch : r2067_4 #-----| False -> Block 3 #-----| True -> Block 2 -# 2020| Block 1 -# 2020| m2020_6(glval) = Phi : from 2:m2020_21, from 3:m2020_24 -# 2020| r2020_7(glval) = VariableAddress[#temp2020:9] : -# 2020| r2020_8(glval) = Load[#temp2020:9] : &:r2020_7, m2020_6 -# 2020| r2020_9(glval) = Convert : r2020_8 -# 2020| r2020_10(TernaryNonPodObj &) = CopyValue : r2020_9 -# 2020| r2020_11(TernaryNonPodObj &) = Call[operator=] : func:r2020_2, this:r2020_1, 0:r2020_10 -# 2020| m2020_12(unknown) = ^CallSideEffect : ~m2019_4 -# 2020| m2020_13(unknown) = Chi : total:m2019_4, partial:m2020_12 -# 2020| v2020_14(void) = ^IndirectReadSideEffect[-1] : &:r2020_1, m2019_12 -# 2020| v2020_15(void) = ^BufferReadSideEffect[0] : &:r2020_10, ~m2020_13 -# 2020| m2020_16(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2020_1 -# 2020| m2020_17(TernaryNonPodObj) = Chi : total:m2019_12, partial:m2020_16 -# 2020| r2020_18(glval) = CopyValue : r2020_11 -# 2021| r2021_1(glval) = VariableAddress[z] : -# 2021| r2021_2(glval) = FunctionAddress[operator=] : -# 2021| r2021_3(glval) = VariableAddress[#temp2021:9] : -# 2021| r2021_4(glval) = VariableAddress[a] : -# 2021| r2021_5(bool) = Load[a] : &:r2021_4, m2019_6 -# 2021| v2021_6(void) = ConditionalBranch : r2021_5 +# 2067| Block 1 +# 2067| m2067_6(glval) = Phi : from 2:m2067_21, from 3:m2067_24 +# 2067| r2067_7(glval) = VariableAddress[#temp2067:9] : +# 2067| r2067_8(glval) = Load[#temp2067:9] : &:r2067_7, m2067_6 +# 2067| r2067_9(glval) = Convert : r2067_8 +# 2067| r2067_10(TernaryNonPodObj &) = CopyValue : r2067_9 +# 2067| r2067_11(TernaryNonPodObj &) = Call[operator=] : func:r2067_2, this:r2067_1, 0:r2067_10 +# 2067| m2067_12(unknown) = ^CallSideEffect : ~m2066_4 +# 2067| m2067_13(unknown) = Chi : total:m2066_4, partial:m2067_12 +# 2067| v2067_14(void) = ^IndirectReadSideEffect[-1] : &:r2067_1, m2066_12 +# 2067| v2067_15(void) = ^BufferReadSideEffect[0] : &:r2067_10, ~m2067_13 +# 2067| m2067_16(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2067_1 +# 2067| m2067_17(TernaryNonPodObj) = Chi : total:m2066_12, partial:m2067_16 +# 2067| r2067_18(glval) = CopyValue : r2067_11 +# 2068| r2068_1(glval) = VariableAddress[z] : +# 2068| r2068_2(glval) = FunctionAddress[operator=] : +# 2068| r2068_3(glval) = VariableAddress[#temp2068:9] : +# 2068| r2068_4(glval) = VariableAddress[a] : +# 2068| r2068_5(bool) = Load[a] : &:r2068_4, m2066_6 +# 2068| v2068_6(void) = ConditionalBranch : r2068_5 #-----| False -> Block 6 #-----| True -> Block 5 -# 2020| Block 2 -# 2020| r2020_19(glval) = VariableAddress[x] : -# 2020| r2020_20(glval) = VariableAddress[#temp2020:9] : -# 2020| m2020_21(glval) = Store[#temp2020:9] : &:r2020_20, r2020_19 +# 2067| Block 2 +# 2067| r2067_19(glval) = VariableAddress[x] : +# 2067| r2067_20(glval) = VariableAddress[#temp2067:9] : +# 2067| m2067_21(glval) = Store[#temp2067:9] : &:r2067_20, r2067_19 #-----| Goto -> Block 1 -# 2020| Block 3 -# 2020| r2020_22(glval) = VariableAddress[y] : -# 2020| r2020_23(glval) = VariableAddress[#temp2020:9] : -# 2020| m2020_24(glval) = Store[#temp2020:9] : &:r2020_23, r2020_22 +# 2067| Block 3 +# 2067| r2067_22(glval) = VariableAddress[y] : +# 2067| r2067_23(glval) = VariableAddress[#temp2067:9] : +# 2067| m2067_24(glval) = Store[#temp2067:9] : &:r2067_23, r2067_22 #-----| Goto -> Block 1 -# 2021| Block 4 -# 2021| m2021_7(unknown) = Phi : from 5:~m2021_30, from 6:~m2021_42 -# 2021| m2021_8(TernaryNonPodObj) = Phi : from 5:m2021_36, from 6:m2021_47 -# 2021| r2021_9(glval) = VariableAddress[#temp2021:9] : -# 2021| r2021_10(TernaryNonPodObj) = Load[#temp2021:9] : &:r2021_9, m2021_8 -# 2021| m2021_11(TernaryNonPodObj) = Store[#temp2021:9] : &:r2021_3, r2021_10 -# 2021| r2021_12(glval) = Convert : r2021_3 -# 2021| r2021_13(TernaryNonPodObj &) = CopyValue : r2021_12 -# 2021| r2021_14(TernaryNonPodObj &) = Call[operator=] : func:r2021_2, this:r2021_1, 0:r2021_13 -# 2021| m2021_15(unknown) = ^CallSideEffect : ~m2021_7 -# 2021| m2021_16(unknown) = Chi : total:m2021_7, partial:m2021_15 -# 2021| v2021_17(void) = ^IndirectReadSideEffect[-1] : &:r2021_1, m2020_17 -# 2021| v2021_18(void) = ^BufferReadSideEffect[0] : &:r2021_13, ~m2021_11 -# 2021| m2021_19(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2021_1 -# 2021| m2021_20(TernaryNonPodObj) = Chi : total:m2020_17, partial:m2021_19 -# 2021| r2021_21(glval) = CopyValue : r2021_14 -# 2022| r2022_1(glval) = VariableAddress[z] : -# 2022| r2022_2(glval) = FunctionAddress[operator=] : -# 2022| r2022_3(glval) = VariableAddress[#temp2022:9] : -# 2022| r2022_4(glval) = VariableAddress[a] : -# 2022| r2022_5(bool) = Load[a] : &:r2022_4, m2019_6 -# 2022| v2022_6(void) = ConditionalBranch : r2022_5 +# 2068| Block 4 +# 2068| m2068_7(unknown) = Phi : from 5:~m2068_30, from 6:~m2068_42 +# 2068| m2068_8(TernaryNonPodObj) = Phi : from 5:m2068_36, from 6:m2068_47 +# 2068| r2068_9(glval) = VariableAddress[#temp2068:9] : +# 2068| r2068_10(TernaryNonPodObj) = Load[#temp2068:9] : &:r2068_9, m2068_8 +# 2068| m2068_11(TernaryNonPodObj) = Store[#temp2068:9] : &:r2068_3, r2068_10 +# 2068| r2068_12(glval) = Convert : r2068_3 +# 2068| r2068_13(TernaryNonPodObj &) = CopyValue : r2068_12 +# 2068| r2068_14(TernaryNonPodObj &) = Call[operator=] : func:r2068_2, this:r2068_1, 0:r2068_13 +# 2068| m2068_15(unknown) = ^CallSideEffect : ~m2068_7 +# 2068| m2068_16(unknown) = Chi : total:m2068_7, partial:m2068_15 +# 2068| v2068_17(void) = ^IndirectReadSideEffect[-1] : &:r2068_1, m2067_17 +# 2068| v2068_18(void) = ^BufferReadSideEffect[0] : &:r2068_13, ~m2068_11 +# 2068| m2068_19(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2068_1 +# 2068| m2068_20(TernaryNonPodObj) = Chi : total:m2067_17, partial:m2068_19 +# 2068| r2068_21(glval) = CopyValue : r2068_14 +# 2069| r2069_1(glval) = VariableAddress[z] : +# 2069| r2069_2(glval) = FunctionAddress[operator=] : +# 2069| r2069_3(glval) = VariableAddress[#temp2069:9] : +# 2069| r2069_4(glval) = VariableAddress[a] : +# 2069| r2069_5(bool) = Load[a] : &:r2069_4, m2066_6 +# 2069| v2069_6(void) = ConditionalBranch : r2069_5 #-----| False -> Block 9 #-----| True -> Block 8 -# 2021| Block 5 -# 2021| r2021_22(glval) = VariableAddress[#temp2021:13] : -# 2021| m2021_23(TernaryNonPodObj) = Uninitialized[#temp2021:13] : &:r2021_22 -# 2021| r2021_24(glval) = FunctionAddress[TernaryNonPodObj] : -# 2021| r2021_25(glval) = VariableAddress[x] : -# 2021| r2021_26(glval) = Convert : r2021_25 -# 2021| r2021_27(TernaryNonPodObj &) = CopyValue : r2021_26 -# 2021| v2021_28(void) = Call[TernaryNonPodObj] : func:r2021_24, this:r2021_22, 0:r2021_27 -# 2021| m2021_29(unknown) = ^CallSideEffect : ~m2020_13 -# 2021| m2021_30(unknown) = Chi : total:m2020_13, partial:m2021_29 -# 2021| v2021_31(void) = ^BufferReadSideEffect[0] : &:r2021_27, ~m2019_8 -# 2021| m2021_32(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2021_22 -# 2021| m2021_33(TernaryNonPodObj) = Chi : total:m2021_23, partial:m2021_32 -# 2021| r2021_34(TernaryNonPodObj) = Load[#temp2021:13] : &:r2021_22, m2021_33 -# 2021| r2021_35(glval) = VariableAddress[#temp2021:9] : -# 2021| m2021_36(TernaryNonPodObj) = Store[#temp2021:9] : &:r2021_35, r2021_34 +# 2068| Block 5 +# 2068| r2068_22(glval) = VariableAddress[#temp2068:13] : +# 2068| m2068_23(TernaryNonPodObj) = Uninitialized[#temp2068:13] : &:r2068_22 +# 2068| r2068_24(glval) = FunctionAddress[TernaryNonPodObj] : +# 2068| r2068_25(glval) = VariableAddress[x] : +# 2068| r2068_26(glval) = Convert : r2068_25 +# 2068| r2068_27(TernaryNonPodObj &) = CopyValue : r2068_26 +# 2068| v2068_28(void) = Call[TernaryNonPodObj] : func:r2068_24, this:r2068_22, 0:r2068_27 +# 2068| m2068_29(unknown) = ^CallSideEffect : ~m2067_13 +# 2068| m2068_30(unknown) = Chi : total:m2067_13, partial:m2068_29 +# 2068| v2068_31(void) = ^BufferReadSideEffect[0] : &:r2068_27, ~m2066_8 +# 2068| m2068_32(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2068_22 +# 2068| m2068_33(TernaryNonPodObj) = Chi : total:m2068_23, partial:m2068_32 +# 2068| r2068_34(TernaryNonPodObj) = Load[#temp2068:13] : &:r2068_22, m2068_33 +# 2068| r2068_35(glval) = VariableAddress[#temp2068:9] : +# 2068| m2068_36(TernaryNonPodObj) = Store[#temp2068:9] : &:r2068_35, r2068_34 #-----| Goto -> Block 4 -# 2021| Block 6 -# 2021| r2021_37(glval) = VariableAddress[#temp2021:17] : -# 2021| m2021_38(TernaryNonPodObj) = Uninitialized[#temp2021:17] : &:r2021_37 -# 2021| r2021_39(glval) = FunctionAddress[TernaryNonPodObj] : -# 2021| v2021_40(void) = Call[TernaryNonPodObj] : func:r2021_39, this:r2021_37 -# 2021| m2021_41(unknown) = ^CallSideEffect : ~m2020_13 -# 2021| m2021_42(unknown) = Chi : total:m2020_13, partial:m2021_41 -# 2021| m2021_43(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2021_37 -# 2021| m2021_44(TernaryNonPodObj) = Chi : total:m2021_38, partial:m2021_43 -# 2021| r2021_45(TernaryNonPodObj) = Load[#temp2021:17] : &:r2021_37, m2021_44 -# 2021| r2021_46(glval) = VariableAddress[#temp2021:9] : -# 2021| m2021_47(TernaryNonPodObj) = Store[#temp2021:9] : &:r2021_46, r2021_45 +# 2068| Block 6 +# 2068| r2068_37(glval) = VariableAddress[#temp2068:17] : +# 2068| m2068_38(TernaryNonPodObj) = Uninitialized[#temp2068:17] : &:r2068_37 +# 2068| r2068_39(glval) = FunctionAddress[TernaryNonPodObj] : +# 2068| v2068_40(void) = Call[TernaryNonPodObj] : func:r2068_39, this:r2068_37 +# 2068| m2068_41(unknown) = ^CallSideEffect : ~m2067_13 +# 2068| m2068_42(unknown) = Chi : total:m2067_13, partial:m2068_41 +# 2068| m2068_43(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2068_37 +# 2068| m2068_44(TernaryNonPodObj) = Chi : total:m2068_38, partial:m2068_43 +# 2068| r2068_45(TernaryNonPodObj) = Load[#temp2068:17] : &:r2068_37, m2068_44 +# 2068| r2068_46(glval) = VariableAddress[#temp2068:9] : +# 2068| m2068_47(TernaryNonPodObj) = Store[#temp2068:9] : &:r2068_46, r2068_45 #-----| Goto -> Block 4 -# 2022| Block 7 -# 2022| m2022_7(unknown) = Phi : from 8:~m2022_27, from 9:~m2022_38 -# 2022| m2022_8(TernaryNonPodObj) = Phi : from 8:m2022_32, from 9:m2022_43 -# 2022| r2022_9(glval) = VariableAddress[#temp2022:9] : -# 2022| r2022_10(TernaryNonPodObj) = Load[#temp2022:9] : &:r2022_9, m2022_8 -# 2022| m2022_11(TernaryNonPodObj) = Store[#temp2022:9] : &:r2022_3, r2022_10 -# 2022| r2022_12(glval) = Convert : r2022_3 -# 2022| r2022_13(TernaryNonPodObj &) = CopyValue : r2022_12 -# 2022| r2022_14(TernaryNonPodObj &) = Call[operator=] : func:r2022_2, this:r2022_1, 0:r2022_13 -# 2022| m2022_15(unknown) = ^CallSideEffect : ~m2022_7 -# 2022| m2022_16(unknown) = Chi : total:m2022_7, partial:m2022_15 -# 2022| v2022_17(void) = ^IndirectReadSideEffect[-1] : &:r2022_1, m2021_20 -# 2022| v2022_18(void) = ^BufferReadSideEffect[0] : &:r2022_13, ~m2022_11 -# 2022| m2022_19(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2022_1 -# 2022| m2022_20(TernaryNonPodObj) = Chi : total:m2021_20, partial:m2022_19 -# 2022| r2022_21(glval) = CopyValue : r2022_14 -# 2023| r2023_1(glval) = VariableAddress[z] : -# 2023| r2023_2(glval) = FunctionAddress[operator=] : -# 2023| r2023_3(glval) = VariableAddress[a] : -# 2023| r2023_4(bool) = Load[a] : &:r2023_3, m2019_6 -# 2023| v2023_5(void) = ConditionalBranch : r2023_4 +# 2069| Block 7 +# 2069| m2069_7(unknown) = Phi : from 8:~m2069_27, from 9:~m2069_38 +# 2069| m2069_8(TernaryNonPodObj) = Phi : from 8:m2069_32, from 9:m2069_43 +# 2069| r2069_9(glval) = VariableAddress[#temp2069:9] : +# 2069| r2069_10(TernaryNonPodObj) = Load[#temp2069:9] : &:r2069_9, m2069_8 +# 2069| m2069_11(TernaryNonPodObj) = Store[#temp2069:9] : &:r2069_3, r2069_10 +# 2069| r2069_12(glval) = Convert : r2069_3 +# 2069| r2069_13(TernaryNonPodObj &) = CopyValue : r2069_12 +# 2069| r2069_14(TernaryNonPodObj &) = Call[operator=] : func:r2069_2, this:r2069_1, 0:r2069_13 +# 2069| m2069_15(unknown) = ^CallSideEffect : ~m2069_7 +# 2069| m2069_16(unknown) = Chi : total:m2069_7, partial:m2069_15 +# 2069| v2069_17(void) = ^IndirectReadSideEffect[-1] : &:r2069_1, m2068_20 +# 2069| v2069_18(void) = ^BufferReadSideEffect[0] : &:r2069_13, ~m2069_11 +# 2069| m2069_19(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2069_1 +# 2069| m2069_20(TernaryNonPodObj) = Chi : total:m2068_20, partial:m2069_19 +# 2069| r2069_21(glval) = CopyValue : r2069_14 +# 2070| r2070_1(glval) = VariableAddress[z] : +# 2070| r2070_2(glval) = FunctionAddress[operator=] : +# 2070| r2070_3(glval) = VariableAddress[a] : +# 2070| r2070_4(bool) = Load[a] : &:r2070_3, m2066_6 +# 2070| v2070_5(void) = ConditionalBranch : r2070_4 #-----| False -> Block 12 #-----| True -> Block 11 -# 2022| Block 8 -# 2022| r2022_22(glval) = VariableAddress[#temp2022:13] : -# 2022| m2022_23(TernaryNonPodObj) = Uninitialized[#temp2022:13] : &:r2022_22 -# 2022| r2022_24(glval) = FunctionAddress[TernaryNonPodObj] : -# 2022| v2022_25(void) = Call[TernaryNonPodObj] : func:r2022_24, this:r2022_22 -# 2022| m2022_26(unknown) = ^CallSideEffect : ~m2021_16 -# 2022| m2022_27(unknown) = Chi : total:m2021_16, partial:m2022_26 -# 2022| m2022_28(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2022_22 -# 2022| m2022_29(TernaryNonPodObj) = Chi : total:m2022_23, partial:m2022_28 -# 2022| r2022_30(TernaryNonPodObj) = Load[#temp2022:13] : &:r2022_22, m2022_29 -# 2022| r2022_31(glval) = VariableAddress[#temp2022:9] : -# 2022| m2022_32(TernaryNonPodObj) = Store[#temp2022:9] : &:r2022_31, r2022_30 +# 2069| Block 8 +# 2069| r2069_22(glval) = VariableAddress[#temp2069:13] : +# 2069| m2069_23(TernaryNonPodObj) = Uninitialized[#temp2069:13] : &:r2069_22 +# 2069| r2069_24(glval) = FunctionAddress[TernaryNonPodObj] : +# 2069| v2069_25(void) = Call[TernaryNonPodObj] : func:r2069_24, this:r2069_22 +# 2069| m2069_26(unknown) = ^CallSideEffect : ~m2068_16 +# 2069| m2069_27(unknown) = Chi : total:m2068_16, partial:m2069_26 +# 2069| m2069_28(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2069_22 +# 2069| m2069_29(TernaryNonPodObj) = Chi : total:m2069_23, partial:m2069_28 +# 2069| r2069_30(TernaryNonPodObj) = Load[#temp2069:13] : &:r2069_22, m2069_29 +# 2069| r2069_31(glval) = VariableAddress[#temp2069:9] : +# 2069| m2069_32(TernaryNonPodObj) = Store[#temp2069:9] : &:r2069_31, r2069_30 #-----| Goto -> Block 7 -# 2022| Block 9 -# 2022| r2022_33(glval) = VariableAddress[#temp2022:34] : -# 2022| m2022_34(TernaryNonPodObj) = Uninitialized[#temp2022:34] : &:r2022_33 -# 2022| r2022_35(glval) = FunctionAddress[TernaryNonPodObj] : -# 2022| v2022_36(void) = Call[TernaryNonPodObj] : func:r2022_35, this:r2022_33 -# 2022| m2022_37(unknown) = ^CallSideEffect : ~m2021_16 -# 2022| m2022_38(unknown) = Chi : total:m2021_16, partial:m2022_37 -# 2022| m2022_39(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2022_33 -# 2022| m2022_40(TernaryNonPodObj) = Chi : total:m2022_34, partial:m2022_39 -# 2022| r2022_41(TernaryNonPodObj) = Load[#temp2022:34] : &:r2022_33, m2022_40 -# 2022| r2022_42(glval) = VariableAddress[#temp2022:9] : -# 2022| m2022_43(TernaryNonPodObj) = Store[#temp2022:9] : &:r2022_42, r2022_41 +# 2069| Block 9 +# 2069| r2069_33(glval) = VariableAddress[#temp2069:34] : +# 2069| m2069_34(TernaryNonPodObj) = Uninitialized[#temp2069:34] : &:r2069_33 +# 2069| r2069_35(glval) = FunctionAddress[TernaryNonPodObj] : +# 2069| v2069_36(void) = Call[TernaryNonPodObj] : func:r2069_35, this:r2069_33 +# 2069| m2069_37(unknown) = ^CallSideEffect : ~m2068_16 +# 2069| m2069_38(unknown) = Chi : total:m2068_16, partial:m2069_37 +# 2069| m2069_39(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2069_33 +# 2069| m2069_40(TernaryNonPodObj) = Chi : total:m2069_34, partial:m2069_39 +# 2069| r2069_41(TernaryNonPodObj) = Load[#temp2069:34] : &:r2069_33, m2069_40 +# 2069| r2069_42(glval) = VariableAddress[#temp2069:9] : +# 2069| m2069_43(TernaryNonPodObj) = Store[#temp2069:9] : &:r2069_42, r2069_41 #-----| Goto -> Block 7 -# 2023| Block 10 -# 2023| m2023_6(glval) = Phi : from 11:m2023_40, from 12:m2023_43 -# 2023| r2023_7(glval) = VariableAddress[#temp2023:10] : -# 2023| r2023_8(glval) = Load[#temp2023:10] : &:r2023_7, m2023_6 -# 2023| r2023_9(glval) = Convert : r2023_8 -# 2023| r2023_10(TernaryNonPodObj &) = CopyValue : r2023_9 -# 2023| r2023_11(TernaryNonPodObj &) = Call[operator=] : func:r2023_2, this:r2023_1, 0:r2023_10 -# 2023| m2023_12(unknown) = ^CallSideEffect : ~m2022_16 -# 2023| m2023_13(unknown) = Chi : total:m2022_16, partial:m2023_12 -# 2023| v2023_14(void) = ^IndirectReadSideEffect[-1] : &:r2023_1, m2022_20 -# 2023| v2023_15(void) = ^BufferReadSideEffect[0] : &:r2023_10, ~m2023_13 -# 2023| m2023_16(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2023_1 -# 2023| m2023_17(TernaryNonPodObj) = Chi : total:m2022_20, partial:m2023_16 -# 2023| r2023_18(glval) = CopyValue : r2023_11 -# 2023| r2023_19(glval) = FunctionAddress[operator=] : -# 2023| r2023_20(glval) = VariableAddress[#temp2023:23] : -# 2023| m2023_21(TernaryNonPodObj) = Uninitialized[#temp2023:23] : &:r2023_20 -# 2023| r2023_22(glval) = FunctionAddress[TernaryNonPodObj] : -# 2023| v2023_23(void) = Call[TernaryNonPodObj] : func:r2023_22, this:r2023_20 -# 2023| m2023_24(unknown) = ^CallSideEffect : ~m2023_13 -# 2023| m2023_25(unknown) = Chi : total:m2023_13, partial:m2023_24 -# 2023| m2023_26(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2023_20 -# 2023| m2023_27(TernaryNonPodObj) = Chi : total:m2023_21, partial:m2023_26 -# 2023| r2023_28(glval) = Convert : r2023_20 -# 2023| r2023_29(TernaryNonPodObj &) = CopyValue : r2023_28 -# 2023| r2023_30(TernaryNonPodObj &) = Call[operator=] : func:r2023_19, this:r2023_18, 0:r2023_29 -# 2023| m2023_31(unknown) = ^CallSideEffect : ~m2023_25 -# 2023| m2023_32(unknown) = Chi : total:m2023_25, partial:m2023_31 -# 2023| v2023_33(void) = ^IndirectReadSideEffect[-1] : &:r2023_18, m2023_17 -# 2023| v2023_34(void) = ^BufferReadSideEffect[0] : &:r2023_29, ~m2023_27 -# 2023| m2023_35(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2023_18 -# 2023| m2023_36(TernaryNonPodObj) = Chi : total:m2023_17, partial:m2023_35 -# 2023| r2023_37(glval) = CopyValue : r2023_30 -# 2024| v2024_1(void) = NoOp : -# 2019| v2019_13(void) = ReturnVoid : -# 2019| v2019_14(void) = AliasedUse : ~m2023_32 -# 2019| v2019_15(void) = ExitFunction : +# 2070| Block 10 +# 2070| m2070_6(glval) = Phi : from 11:m2070_40, from 12:m2070_43 +# 2070| r2070_7(glval) = VariableAddress[#temp2070:10] : +# 2070| r2070_8(glval) = Load[#temp2070:10] : &:r2070_7, m2070_6 +# 2070| r2070_9(glval) = Convert : r2070_8 +# 2070| r2070_10(TernaryNonPodObj &) = CopyValue : r2070_9 +# 2070| r2070_11(TernaryNonPodObj &) = Call[operator=] : func:r2070_2, this:r2070_1, 0:r2070_10 +# 2070| m2070_12(unknown) = ^CallSideEffect : ~m2069_16 +# 2070| m2070_13(unknown) = Chi : total:m2069_16, partial:m2070_12 +# 2070| v2070_14(void) = ^IndirectReadSideEffect[-1] : &:r2070_1, m2069_20 +# 2070| v2070_15(void) = ^BufferReadSideEffect[0] : &:r2070_10, ~m2070_13 +# 2070| m2070_16(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2070_1 +# 2070| m2070_17(TernaryNonPodObj) = Chi : total:m2069_20, partial:m2070_16 +# 2070| r2070_18(glval) = CopyValue : r2070_11 +# 2070| r2070_19(glval) = FunctionAddress[operator=] : +# 2070| r2070_20(glval) = VariableAddress[#temp2070:23] : +# 2070| m2070_21(TernaryNonPodObj) = Uninitialized[#temp2070:23] : &:r2070_20 +# 2070| r2070_22(glval) = FunctionAddress[TernaryNonPodObj] : +# 2070| v2070_23(void) = Call[TernaryNonPodObj] : func:r2070_22, this:r2070_20 +# 2070| m2070_24(unknown) = ^CallSideEffect : ~m2070_13 +# 2070| m2070_25(unknown) = Chi : total:m2070_13, partial:m2070_24 +# 2070| m2070_26(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2070_20 +# 2070| m2070_27(TernaryNonPodObj) = Chi : total:m2070_21, partial:m2070_26 +# 2070| r2070_28(glval) = Convert : r2070_20 +# 2070| r2070_29(TernaryNonPodObj &) = CopyValue : r2070_28 +# 2070| r2070_30(TernaryNonPodObj &) = Call[operator=] : func:r2070_19, this:r2070_18, 0:r2070_29 +# 2070| m2070_31(unknown) = ^CallSideEffect : ~m2070_25 +# 2070| m2070_32(unknown) = Chi : total:m2070_25, partial:m2070_31 +# 2070| v2070_33(void) = ^IndirectReadSideEffect[-1] : &:r2070_18, m2070_17 +# 2070| v2070_34(void) = ^BufferReadSideEffect[0] : &:r2070_29, ~m2070_27 +# 2070| m2070_35(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2070_18 +# 2070| m2070_36(TernaryNonPodObj) = Chi : total:m2070_17, partial:m2070_35 +# 2070| r2070_37(glval) = CopyValue : r2070_30 +# 2071| v2071_1(void) = NoOp : +# 2066| v2066_13(void) = ReturnVoid : +# 2066| v2066_14(void) = AliasedUse : ~m2070_32 +# 2066| v2066_15(void) = ExitFunction : -# 2023| Block 11 -# 2023| r2023_38(glval) = VariableAddress[x] : -# 2023| r2023_39(glval) = VariableAddress[#temp2023:10] : -# 2023| m2023_40(glval) = Store[#temp2023:10] : &:r2023_39, r2023_38 +# 2070| Block 11 +# 2070| r2070_38(glval) = VariableAddress[x] : +# 2070| r2070_39(glval) = VariableAddress[#temp2070:10] : +# 2070| m2070_40(glval) = Store[#temp2070:10] : &:r2070_39, r2070_38 #-----| Goto -> Block 10 -# 2023| Block 12 -# 2023| r2023_41(glval) = VariableAddress[y] : -# 2023| r2023_42(glval) = VariableAddress[#temp2023:10] : -# 2023| m2023_43(glval) = Store[#temp2023:10] : &:r2023_42, r2023_41 +# 2070| Block 12 +# 2070| r2070_41(glval) = VariableAddress[y] : +# 2070| r2070_42(glval) = VariableAddress[#temp2070:10] : +# 2070| m2070_43(glval) = Store[#temp2070:10] : &:r2070_42, r2070_41 #-----| Goto -> Block 10 -# 2028| unsigned int CommaTest(unsigned int) -# 2028| Block 0 -# 2028| v2028_1(void) = EnterFunction : -# 2028| m2028_2(unknown) = AliasedDefinition : -# 2028| m2028_3(unknown) = InitializeNonLocal : -# 2028| m2028_4(unknown) = Chi : total:m2028_2, partial:m2028_3 -# 2028| r2028_5(glval) = VariableAddress[x] : -# 2028| m2028_6(unsigned int) = InitializeParameter[x] : &:r2028_5 -# 2029| r2029_1(glval) = VariableAddress[y] : -# 2029| m2029_2(unsigned int) = Uninitialized[y] : &:r2029_1 -# 2030| r2030_1(glval) = VariableAddress[x] : -# 2030| r2030_2(unsigned int) = Load[x] : &:r2030_1, m2028_6 -# 2030| r2030_3(unsigned int) = Constant[100] : -# 2030| r2030_4(bool) = CompareLT : r2030_2, r2030_3 -# 2030| v2030_5(void) = ConditionalBranch : r2030_4 +# 2075| unsigned int CommaTest(unsigned int) +# 2075| Block 0 +# 2075| v2075_1(void) = EnterFunction : +# 2075| m2075_2(unknown) = AliasedDefinition : +# 2075| m2075_3(unknown) = InitializeNonLocal : +# 2075| m2075_4(unknown) = Chi : total:m2075_2, partial:m2075_3 +# 2075| r2075_5(glval) = VariableAddress[x] : +# 2075| m2075_6(unsigned int) = InitializeParameter[x] : &:r2075_5 +# 2076| r2076_1(glval) = VariableAddress[y] : +# 2076| m2076_2(unsigned int) = Uninitialized[y] : &:r2076_1 +# 2077| r2077_1(glval) = VariableAddress[x] : +# 2077| r2077_2(unsigned int) = Load[x] : &:r2077_1, m2075_6 +# 2077| r2077_3(unsigned int) = Constant[100] : +# 2077| r2077_4(bool) = CompareLT : r2077_2, r2077_3 +# 2077| v2077_5(void) = ConditionalBranch : r2077_4 #-----| False -> Block 3 #-----| True -> Block 2 -# 2030| Block 1 -# 2030| m2030_6(unknown) = Phi : from 2:~m2031_6, from 3:~m2032_6 -# 2030| m2030_7(unsigned int) = Phi : from 2:m2030_13, from 3:m2030_15 -# 2030| r2030_8(glval) = VariableAddress[#temp2030:7] : -# 2030| r2030_9(unsigned int) = Load[#temp2030:7] : &:r2030_8, m2030_7 -# 2030| r2030_10(glval) = VariableAddress[y] : -# 2030| m2030_11(unsigned int) = Store[y] : &:r2030_10, r2030_9 -# 2033| r2033_1(glval) = VariableAddress[#return] : -# 2033| m2033_2(unsigned int) = Uninitialized[#return] : &:r2033_1 -# 2028| r2028_7(glval) = VariableAddress[#return] : -# 2028| v2028_8(void) = ReturnValue : &:r2028_7, m2033_2 -# 2028| v2028_9(void) = AliasedUse : ~m2030_6 -# 2028| v2028_10(void) = ExitFunction : +# 2077| Block 1 +# 2077| m2077_6(unknown) = Phi : from 2:~m2078_6, from 3:~m2079_6 +# 2077| m2077_7(unsigned int) = Phi : from 2:m2077_13, from 3:m2077_15 +# 2077| r2077_8(glval) = VariableAddress[#temp2077:7] : +# 2077| r2077_9(unsigned int) = Load[#temp2077:7] : &:r2077_8, m2077_7 +# 2077| r2077_10(glval) = VariableAddress[y] : +# 2077| m2077_11(unsigned int) = Store[y] : &:r2077_10, r2077_9 +# 2080| r2080_1(glval) = VariableAddress[#return] : +# 2080| m2080_2(unsigned int) = Uninitialized[#return] : &:r2080_1 +# 2075| r2075_7(glval) = VariableAddress[#return] : +# 2075| v2075_8(void) = ReturnValue : &:r2075_7, m2080_2 +# 2075| v2075_9(void) = AliasedUse : ~m2077_6 +# 2075| v2075_10(void) = ExitFunction : -# 2031| Block 2 -# 2031| r2031_1(glval) = FunctionAddress[CommaTestHelper] : -# 2031| r2031_2(glval) = VariableAddress[x] : -# 2031| r2031_3(unsigned int) = Load[x] : &:r2031_2, m2028_6 -# 2031| v2031_4(void) = Call[CommaTestHelper] : func:r2031_1, 0:r2031_3 -# 2031| m2031_5(unknown) = ^CallSideEffect : ~m2028_4 -# 2031| m2031_6(unknown) = Chi : total:m2028_4, partial:m2031_5 -# 2031| r2031_7(glval) = VariableAddress[x] : -# 2031| r2031_8(unsigned int) = Load[x] : &:r2031_7, m2028_6 -# 2031| r2031_9(unsigned int) = CopyValue : r2031_8 -# 2030| r2030_12(glval) = VariableAddress[#temp2030:7] : -# 2030| m2030_13(unsigned int) = Store[#temp2030:7] : &:r2030_12, r2031_9 +# 2078| Block 2 +# 2078| r2078_1(glval) = FunctionAddress[CommaTestHelper] : +# 2078| r2078_2(glval) = VariableAddress[x] : +# 2078| r2078_3(unsigned int) = Load[x] : &:r2078_2, m2075_6 +# 2078| v2078_4(void) = Call[CommaTestHelper] : func:r2078_1, 0:r2078_3 +# 2078| m2078_5(unknown) = ^CallSideEffect : ~m2075_4 +# 2078| m2078_6(unknown) = Chi : total:m2075_4, partial:m2078_5 +# 2078| r2078_7(glval) = VariableAddress[x] : +# 2078| r2078_8(unsigned int) = Load[x] : &:r2078_7, m2075_6 +# 2078| r2078_9(unsigned int) = CopyValue : r2078_8 +# 2077| r2077_12(glval) = VariableAddress[#temp2077:7] : +# 2077| m2077_13(unsigned int) = Store[#temp2077:7] : &:r2077_12, r2078_9 #-----| Goto -> Block 1 -# 2032| Block 3 -# 2032| r2032_1(glval) = FunctionAddress[CommaTestHelper] : -# 2032| r2032_2(glval) = VariableAddress[x] : -# 2032| r2032_3(unsigned int) = Load[x] : &:r2032_2, m2028_6 -# 2032| v2032_4(void) = Call[CommaTestHelper] : func:r2032_1, 0:r2032_3 -# 2032| m2032_5(unknown) = ^CallSideEffect : ~m2028_4 -# 2032| m2032_6(unknown) = Chi : total:m2028_4, partial:m2032_5 -# 2032| r2032_7(int) = Constant[10] : -# 2032| r2032_8(int) = CopyValue : r2032_7 -# 2032| r2032_9(unsigned int) = Convert : r2032_8 -# 2030| r2030_14(glval) = VariableAddress[#temp2030:7] : -# 2030| m2030_15(unsigned int) = Store[#temp2030:7] : &:r2030_14, r2032_9 +# 2079| Block 3 +# 2079| r2079_1(glval) = FunctionAddress[CommaTestHelper] : +# 2079| r2079_2(glval) = VariableAddress[x] : +# 2079| r2079_3(unsigned int) = Load[x] : &:r2079_2, m2075_6 +# 2079| v2079_4(void) = Call[CommaTestHelper] : func:r2079_1, 0:r2079_3 +# 2079| m2079_5(unknown) = ^CallSideEffect : ~m2075_4 +# 2079| m2079_6(unknown) = Chi : total:m2075_4, partial:m2079_5 +# 2079| r2079_7(int) = Constant[10] : +# 2079| r2079_8(int) = CopyValue : r2079_7 +# 2079| r2079_9(unsigned int) = Convert : r2079_8 +# 2077| r2077_14(glval) = VariableAddress[#temp2077:7] : +# 2077| m2077_15(unsigned int) = Store[#temp2077:7] : &:r2077_14, r2079_9 #-----| Goto -> Block 1 -# 2035| void NewDeleteMem() -# 2035| Block 0 -# 2035| v2035_1(void) = EnterFunction : -# 2035| m2035_2(unknown) = AliasedDefinition : -# 2035| m2035_3(unknown) = InitializeNonLocal : -# 2035| m2035_4(unknown) = Chi : total:m2035_2, partial:m2035_3 -# 2036| r2036_1(glval) = VariableAddress[x] : -# 2036| r2036_2(glval) = FunctionAddress[operator new] : -# 2036| r2036_3(unsigned long) = Constant[4] : -# 2036| r2036_4(void *) = Call[operator new] : func:r2036_2, 0:r2036_3 -# 2036| m2036_5(unknown) = ^CallSideEffect : ~m2035_4 -# 2036| m2036_6(unknown) = Chi : total:m2035_4, partial:m2036_5 -# 2036| m2036_7(unknown) = ^InitializeDynamicAllocation : &:r2036_4 -# 2036| r2036_8(int *) = Convert : r2036_4 -# 2036| m2036_9(int *) = Store[x] : &:r2036_1, r2036_8 -# 2037| r2037_1(int) = Constant[6] : -# 2037| r2037_2(glval) = VariableAddress[x] : -# 2037| r2037_3(int *) = Load[x] : &:r2037_2, m2036_9 -# 2037| r2037_4(glval) = CopyValue : r2037_3 -# 2037| m2037_5(int) = Store[?] : &:r2037_4, r2037_1 -# 2037| m2037_6(unknown) = Chi : total:m2036_7, partial:m2037_5 -# 2038| r2038_1(glval) = FunctionAddress[operator delete] : -# 2038| r2038_2(glval) = VariableAddress[x] : -# 2038| r2038_3(int *) = Load[x] : &:r2038_2, m2036_9 -# 2038| v2038_4(void) = Call[operator delete] : func:r2038_1, 0:r2038_3 -# 2038| m2038_5(unknown) = ^CallSideEffect : ~m2036_6 -# 2038| m2038_6(unknown) = Chi : total:m2036_6, partial:m2038_5 -# 2039| v2039_1(void) = NoOp : -# 2035| v2035_5(void) = ReturnVoid : -# 2035| v2035_6(void) = AliasedUse : ~m2038_6 -# 2035| v2035_7(void) = ExitFunction : +# 2082| void NewDeleteMem() +# 2082| Block 0 +# 2082| v2082_1(void) = EnterFunction : +# 2082| m2082_2(unknown) = AliasedDefinition : +# 2082| m2082_3(unknown) = InitializeNonLocal : +# 2082| m2082_4(unknown) = Chi : total:m2082_2, partial:m2082_3 +# 2083| r2083_1(glval) = VariableAddress[x] : +# 2083| r2083_2(glval) = FunctionAddress[operator new] : +# 2083| r2083_3(unsigned long) = Constant[4] : +# 2083| r2083_4(void *) = Call[operator new] : func:r2083_2, 0:r2083_3 +# 2083| m2083_5(unknown) = ^CallSideEffect : ~m2082_4 +# 2083| m2083_6(unknown) = Chi : total:m2082_4, partial:m2083_5 +# 2083| m2083_7(unknown) = ^InitializeDynamicAllocation : &:r2083_4 +# 2083| r2083_8(int *) = Convert : r2083_4 +# 2083| m2083_9(int *) = Store[x] : &:r2083_1, r2083_8 +# 2084| r2084_1(int) = Constant[6] : +# 2084| r2084_2(glval) = VariableAddress[x] : +# 2084| r2084_3(int *) = Load[x] : &:r2084_2, m2083_9 +# 2084| r2084_4(glval) = CopyValue : r2084_3 +# 2084| m2084_5(int) = Store[?] : &:r2084_4, r2084_1 +# 2084| m2084_6(unknown) = Chi : total:m2083_7, partial:m2084_5 +# 2085| r2085_1(glval) = FunctionAddress[operator delete] : +# 2085| r2085_2(glval) = VariableAddress[x] : +# 2085| r2085_3(int *) = Load[x] : &:r2085_2, m2083_9 +# 2085| v2085_4(void) = Call[operator delete] : func:r2085_1, 0:r2085_3 +# 2085| m2085_5(unknown) = ^CallSideEffect : ~m2083_6 +# 2085| m2085_6(unknown) = Chi : total:m2083_6, partial:m2085_5 +# 2086| v2086_1(void) = NoOp : +# 2082| v2082_5(void) = ReturnVoid : +# 2082| v2082_6(void) = AliasedUse : ~m2085_6 +# 2082| v2082_7(void) = ExitFunction : -# 2041| void Base2::Base2() -# 2041| Block 0 -# 2041| v2041_1(void) = EnterFunction : -# 2041| m2041_2(unknown) = AliasedDefinition : -# 2041| m2041_3(unknown) = InitializeNonLocal : -# 2041| m2041_4(unknown) = Chi : total:m2041_2, partial:m2041_3 -# 2041| r2041_5(glval) = VariableAddress[#this] : -# 2041| m2041_6(glval) = InitializeParameter[#this] : &:r2041_5 -# 2041| r2041_7(glval) = Load[#this] : &:r2041_5, m2041_6 -# 2041| m2041_8(Base2) = InitializeIndirection[#this] : &:r2041_7 -# 2041| v2041_9(void) = NoOp : -# 2041| v2041_10(void) = ReturnIndirection[#this] : &:r2041_7, m2041_8 -# 2041| v2041_11(void) = ReturnVoid : -# 2041| v2041_12(void) = AliasedUse : m2041_3 -# 2041| v2041_13(void) = ExitFunction : +# 2088| void Base2::Base2() +# 2088| Block 0 +# 2088| v2088_1(void) = EnterFunction : +# 2088| m2088_2(unknown) = AliasedDefinition : +# 2088| m2088_3(unknown) = InitializeNonLocal : +# 2088| m2088_4(unknown) = Chi : total:m2088_2, partial:m2088_3 +# 2088| r2088_5(glval) = VariableAddress[#this] : +# 2088| m2088_6(glval) = InitializeParameter[#this] : &:r2088_5 +# 2088| r2088_7(glval) = Load[#this] : &:r2088_5, m2088_6 +# 2088| m2088_8(Base2) = InitializeIndirection[#this] : &:r2088_7 +# 2088| v2088_9(void) = NoOp : +# 2088| v2088_10(void) = ReturnIndirection[#this] : &:r2088_7, m2088_8 +# 2088| v2088_11(void) = ReturnVoid : +# 2088| v2088_12(void) = AliasedUse : m2088_3 +# 2088| v2088_13(void) = ExitFunction : -# 2043| void Base2::operator delete(void*) -# 2043| Block 0 -# 2043| v2043_1(void) = EnterFunction : -# 2043| m2043_2(unknown) = AliasedDefinition : -# 2043| m2043_3(unknown) = InitializeNonLocal : -# 2043| m2043_4(unknown) = Chi : total:m2043_2, partial:m2043_3 -# 2043| r2043_5(glval) = VariableAddress[p] : -# 2043| m2043_6(void *) = InitializeParameter[p] : &:r2043_5 -# 2043| r2043_7(void *) = Load[p] : &:r2043_5, m2043_6 -# 2043| m2043_8(unknown) = InitializeIndirection[p] : &:r2043_7 -# 2044| v2044_1(void) = NoOp : -# 2043| v2043_9(void) = ReturnIndirection[p] : &:r2043_7, m2043_8 -# 2043| v2043_10(void) = ReturnVoid : -# 2043| v2043_11(void) = AliasedUse : m2043_3 -# 2043| v2043_12(void) = ExitFunction : +# 2090| void Base2::operator delete(void*) +# 2090| Block 0 +# 2090| v2090_1(void) = EnterFunction : +# 2090| m2090_2(unknown) = AliasedDefinition : +# 2090| m2090_3(unknown) = InitializeNonLocal : +# 2090| m2090_4(unknown) = Chi : total:m2090_2, partial:m2090_3 +# 2090| r2090_5(glval) = VariableAddress[p] : +# 2090| m2090_6(void *) = InitializeParameter[p] : &:r2090_5 +# 2090| r2090_7(void *) = Load[p] : &:r2090_5, m2090_6 +# 2090| m2090_8(unknown) = InitializeIndirection[p] : &:r2090_7 +# 2091| v2091_1(void) = NoOp : +# 2090| v2090_9(void) = ReturnIndirection[p] : &:r2090_7, m2090_8 +# 2090| v2090_10(void) = ReturnVoid : +# 2090| v2090_11(void) = AliasedUse : m2090_3 +# 2090| v2090_12(void) = ExitFunction : -# 2045| void Base2::~Base2() -# 2045| Block 0 -# 2045| v2045_1(void) = EnterFunction : -# 2045| m2045_2(unknown) = AliasedDefinition : -# 2045| m2045_3(unknown) = InitializeNonLocal : -# 2045| m2045_4(unknown) = Chi : total:m2045_2, partial:m2045_3 -# 2045| r2045_5(glval) = VariableAddress[#this] : -# 2045| m2045_6(glval) = InitializeParameter[#this] : &:r2045_5 -# 2045| r2045_7(glval) = Load[#this] : &:r2045_5, m2045_6 -# 2045| m2045_8(Base2) = InitializeIndirection[#this] : &:r2045_7 -# 2045| v2045_9(void) = NoOp : -# 2045| v2045_10(void) = ReturnIndirection[#this] : &:r2045_7, m2045_8 -# 2045| v2045_11(void) = ReturnVoid : -# 2045| v2045_12(void) = AliasedUse : m2045_3 -# 2045| v2045_13(void) = ExitFunction : - -# 2048| void Derived2::Derived2() -# 2048| Block 0 -# 2048| v2048_1(void) = EnterFunction : -# 2048| m2048_2(unknown) = AliasedDefinition : -# 2048| m2048_3(unknown) = InitializeNonLocal : -# 2048| m2048_4(unknown) = Chi : total:m2048_2, partial:m2048_3 -# 2048| r2048_5(glval) = VariableAddress[#this] : -# 2048| m2048_6(glval) = InitializeParameter[#this] : &:r2048_5 -# 2048| r2048_7(glval) = Load[#this] : &:r2048_5, m2048_6 -# 2048| m2048_8(Derived2) = InitializeIndirection[#this] : &:r2048_7 -# 2048| r2048_9(glval) = ConvertToNonVirtualBase[Derived2 : Base2] : m2048_6 -# 2048| r2048_10(glval) = FunctionAddress[Base2] : -# 2048| v2048_11(void) = Call[Base2] : func:r2048_10, this:r2048_9 -# 2048| m2048_12(unknown) = ^CallSideEffect : ~m2048_4 -# 2048| m2048_13(unknown) = Chi : total:m2048_4, partial:m2048_12 -# 2048| m2048_14(Base2) = ^IndirectMayWriteSideEffect[-1] : &:r2048_9 -# 2048| m2048_15(unknown) = Chi : total:m2048_8, partial:m2048_14 -# 2048| v2048_16(void) = NoOp : -# 2048| v2048_17(void) = ReturnIndirection[#this] : &:r2048_7, m2048_15 -# 2048| v2048_18(void) = ReturnVoid : -# 2048| v2048_19(void) = AliasedUse : ~m2048_13 -# 2048| v2048_20(void) = ExitFunction : - -# 2051| void Derived2::~Derived2() -# 2051| Block 0 -# 2051| v2051_1(void) = EnterFunction : -# 2051| m2051_2(unknown) = AliasedDefinition : -# 2051| m2051_3(unknown) = InitializeNonLocal : -# 2051| m2051_4(unknown) = Chi : total:m2051_2, partial:m2051_3 -# 2051| r2051_5(glval) = VariableAddress[#this] : -# 2051| m2051_6(glval) = InitializeParameter[#this] : &:r2051_5 -# 2051| r2051_7(glval) = Load[#this] : &:r2051_5, m2051_6 -# 2051| m2051_8(Derived2) = InitializeIndirection[#this] : &:r2051_7 -# 2051| v2051_9(void) = NoOp : -# 2051| r2051_10(glval) = ConvertToNonVirtualBase[Derived2 : Base2] : m2051_6 -# 2051| r2051_11(glval) = FunctionAddress[~Base2] : -# 2051| v2051_12(void) = Call[~Base2] : func:r2051_11, this:r2051_10 -# 2051| m2051_13(unknown) = ^CallSideEffect : ~m2051_4 -# 2051| m2051_14(unknown) = Chi : total:m2051_4, partial:m2051_13 -# 2051| v2051_15(void) = ReturnIndirection[#this] : &:r2051_7, m2051_8 -# 2051| v2051_16(void) = ReturnVoid : -# 2051| v2051_17(void) = AliasedUse : ~m2051_14 -# 2051| v2051_18(void) = ExitFunction : - -# 2053| void Derived2::operator delete(void*) -# 2053| Block 0 -# 2053| v2053_1(void) = EnterFunction : -# 2053| m2053_2(unknown) = AliasedDefinition : -# 2053| m2053_3(unknown) = InitializeNonLocal : -# 2053| m2053_4(unknown) = Chi : total:m2053_2, partial:m2053_3 -# 2053| r2053_5(glval) = VariableAddress[p] : -# 2053| m2053_6(void *) = InitializeParameter[p] : &:r2053_5 -# 2053| r2053_7(void *) = Load[p] : &:r2053_5, m2053_6 -# 2053| m2053_8(unknown) = InitializeIndirection[p] : &:r2053_7 -# 2054| v2054_1(void) = NoOp : -# 2053| v2053_9(void) = ReturnIndirection[p] : &:r2053_7, m2053_8 -# 2053| v2053_10(void) = ReturnVoid : -# 2053| v2053_11(void) = AliasedUse : m2053_3 -# 2053| v2053_12(void) = ExitFunction : - -# 2058| int virtual_delete() -# 2058| Block 0 -# 2058| v2058_1(void) = EnterFunction : -# 2058| m2058_2(unknown) = AliasedDefinition : -# 2058| m2058_3(unknown) = InitializeNonLocal : -# 2058| m2058_4(unknown) = Chi : total:m2058_2, partial:m2058_3 -# 2060| r2060_1(glval) = VariableAddress[b1] : -# 2060| r2060_2(glval) = FunctionAddress[operator new] : -# 2060| r2060_3(unsigned long) = Constant[8] : -# 2060| r2060_4(void *) = Call[operator new] : func:r2060_2, 0:r2060_3 -# 2060| m2060_5(unknown) = ^CallSideEffect : ~m2058_4 -# 2060| m2060_6(unknown) = Chi : total:m2058_4, partial:m2060_5 -# 2060| m2060_7(unknown) = ^InitializeDynamicAllocation : &:r2060_4 -# 2060| r2060_8(Base2 *) = Convert : r2060_4 -# 2060| r2060_9(glval) = FunctionAddress[Base2] : -# 2060| v2060_10(void) = Call[Base2] : func:r2060_9, this:r2060_8 -# 2060| m2060_11(unknown) = ^CallSideEffect : ~m2060_6 -# 2060| m2060_12(unknown) = Chi : total:m2060_6, partial:m2060_11 -# 2060| m2060_13(Base2) = ^IndirectMayWriteSideEffect[-1] : &:r2060_8 -# 2060| m2060_14(unknown) = Chi : total:m2060_7, partial:m2060_13 -# 2060| m2060_15(Base2 *) = Store[b1] : &:r2060_1, r2060_8 -# 2061| r2061_1(glval) = VirtualDeleteFunctionAddress : -# 2061| r2061_2(glval) = VariableAddress[b1] : -# 2061| r2061_3(Base2 *) = Load[b1] : &:r2061_2, m2060_15 -# 2061| v2061_4(void) = Call[?] : func:r2061_1, 0:r2061_3 -# 2061| m2061_5(unknown) = ^CallSideEffect : ~m2060_12 -# 2061| m2061_6(unknown) = Chi : total:m2060_12, partial:m2061_5 -# 2063| r2063_1(glval) = VariableAddress[b2] : -# 2063| r2063_2(glval) = FunctionAddress[operator new] : -# 2063| r2063_3(unsigned long) = Constant[16] : -# 2063| r2063_4(void *) = Call[operator new] : func:r2063_2, 0:r2063_3 -# 2063| m2063_5(unknown) = ^CallSideEffect : ~m2061_6 -# 2063| m2063_6(unknown) = Chi : total:m2061_6, partial:m2063_5 -# 2063| m2063_7(unknown) = ^InitializeDynamicAllocation : &:r2063_4 -# 2063| r2063_8(Derived2 *) = Convert : r2063_4 -# 2063| r2063_9(glval) = FunctionAddress[Derived2] : -# 2063| v2063_10(void) = Call[Derived2] : func:r2063_9, this:r2063_8 -# 2063| m2063_11(unknown) = ^CallSideEffect : ~m2063_6 -# 2063| m2063_12(unknown) = Chi : total:m2063_6, partial:m2063_11 -# 2063| m2063_13(Derived2) = ^IndirectMayWriteSideEffect[-1] : &:r2063_8 -# 2063| m2063_14(unknown) = Chi : total:m2063_7, partial:m2063_13 -# 2063| r2063_15(Base2 *) = ConvertToNonVirtualBase[Derived2 : Base2] : r2063_8 -# 2063| m2063_16(Base2 *) = Store[b2] : &:r2063_1, r2063_15 -# 2064| r2064_1(glval) = VirtualDeleteFunctionAddress : -# 2064| r2064_2(glval) = VariableAddress[b2] : -# 2064| r2064_3(Base2 *) = Load[b2] : &:r2064_2, m2063_16 -# 2064| v2064_4(void) = Call[?] : func:r2064_1, 0:r2064_3 -# 2064| m2064_5(unknown) = ^CallSideEffect : ~m2063_12 -# 2064| m2064_6(unknown) = Chi : total:m2063_12, partial:m2064_5 -# 2066| r2066_1(glval) = VariableAddress[d] : -# 2066| r2066_2(glval) = FunctionAddress[operator new] : -# 2066| r2066_3(unsigned long) = Constant[16] : -# 2066| r2066_4(void *) = Call[operator new] : func:r2066_2, 0:r2066_3 -# 2066| m2066_5(unknown) = ^CallSideEffect : ~m2064_6 -# 2066| m2066_6(unknown) = Chi : total:m2064_6, partial:m2066_5 -# 2066| m2066_7(unknown) = ^InitializeDynamicAllocation : &:r2066_4 -# 2066| r2066_8(Derived2 *) = Convert : r2066_4 -# 2066| r2066_9(glval) = FunctionAddress[Derived2] : -# 2066| v2066_10(void) = Call[Derived2] : func:r2066_9, this:r2066_8 -# 2066| m2066_11(unknown) = ^CallSideEffect : ~m2066_6 -# 2066| m2066_12(unknown) = Chi : total:m2066_6, partial:m2066_11 -# 2066| m2066_13(Derived2) = ^IndirectMayWriteSideEffect[-1] : &:r2066_8 -# 2066| m2066_14(unknown) = Chi : total:m2066_7, partial:m2066_13 -# 2066| m2066_15(Derived2 *) = Store[d] : &:r2066_1, r2066_8 -# 2067| r2067_1(glval) = VirtualDeleteFunctionAddress : -# 2067| r2067_2(glval) = VariableAddress[d] : -# 2067| r2067_3(Derived2 *) = Load[d] : &:r2067_2, m2066_15 -# 2067| v2067_4(void) = Call[?] : func:r2067_1, 0:r2067_3 -# 2067| m2067_5(unknown) = ^CallSideEffect : ~m2066_12 -# 2067| m2067_6(unknown) = Chi : total:m2066_12, partial:m2067_5 -# 2068| r2068_1(glval) = VariableAddress[#return] : -# 2068| m2068_2(int) = Uninitialized[#return] : &:r2068_1 -# 2058| r2058_5(glval) = VariableAddress[#return] : -# 2058| v2058_6(void) = ReturnValue : &:r2058_5, m2068_2 -# 2058| v2058_7(void) = AliasedUse : ~m2067_6 -# 2058| v2058_8(void) = ExitFunction : - -# 2072| void test_constant_folding() -# 2072| Block 0 -# 2072| v2072_1(void) = EnterFunction : -# 2072| m2072_2(unknown) = AliasedDefinition : -# 2072| m2072_3(unknown) = InitializeNonLocal : -# 2072| m2072_4(unknown) = Chi : total:m2072_2, partial:m2072_3 -# 2073| r2073_1(glval) = VariableAddress[x] : -# 2073| r2073_2(int) = Constant[116] : -# 2073| m2073_3(int) = Store[x] : &:r2073_1, r2073_2 -# 2074| r2074_1(glval) = FunctionAddress[test_constant_folding_use] : -# 2074| r2074_2(int) = Constant[116] : -# 2074| v2074_3(void) = Call[test_constant_folding_use] : func:r2074_1, 0:r2074_2 -# 2074| m2074_4(unknown) = ^CallSideEffect : ~m2072_4 -# 2074| m2074_5(unknown) = Chi : total:m2072_4, partial:m2074_4 -# 2075| v2075_1(void) = NoOp : -# 2072| v2072_5(void) = ReturnVoid : -# 2072| v2072_6(void) = AliasedUse : ~m2074_5 -# 2072| v2072_7(void) = ExitFunction : - -# 2079| int NonExit() -# 2079| Block 0 -# 2079| v2079_1(void) = EnterFunction : -# 2079| m2079_2(unknown) = AliasedDefinition : -# 2079| m2079_3(unknown) = InitializeNonLocal : -# 2079| m2079_4(unknown) = Chi : total:m2079_2, partial:m2079_3 -# 2080| r2080_1(glval) = VariableAddress[x] : -# 2080| r2080_2(glval) = FunctionAddress[Add] : -# 2080| r2080_3(int) = Constant[3] : -# 2080| r2080_4(int) = Constant[4] : -# 2080| r2080_5(int) = Call[Add] : func:r2080_2, 0:r2080_3, 1:r2080_4 -# 2080| m2080_6(unknown) = ^CallSideEffect : ~m2079_4 -# 2080| m2080_7(unknown) = Chi : total:m2079_4, partial:m2080_6 -# 2080| m2080_8(int) = Store[x] : &:r2080_1, r2080_5 -# 2081| r2081_1(glval) = VariableAddress[x] : -# 2081| r2081_2(int) = Load[x] : &:r2081_1, m2080_8 -# 2081| r2081_3(int) = Constant[7] : -# 2081| r2081_4(bool) = CompareEQ : r2081_2, r2081_3 -# 2081| v2081_5(void) = ConditionalBranch : r2081_4 -#-----| False -> Block 2 -#-----| True -> Block 1 - -# 2082| Block 1 -# 2082| r2082_1(glval) = FunctionAddress[exit] : -# 2082| r2082_2(int) = Constant[3] : -# 2082| v2082_3(void) = Call[exit] : func:r2082_1, 0:r2082_2 -# 2082| m2082_4(unknown) = ^CallSideEffect : ~m2080_7 -# 2082| m2082_5(unknown) = Chi : total:m2080_7, partial:m2082_4 -# 2079| v2079_5(void) = Unreached : - -# 2083| Block 2 -# 2083| r2083_1(glval) = FunctionAddress[VoidFunc] : -# 2083| v2083_2(void) = Call[VoidFunc] : func:r2083_1 -# 2083| m2083_3(unknown) = ^CallSideEffect : ~m2080_7 -# 2083| m2083_4(unknown) = Chi : total:m2080_7, partial:m2083_3 -# 2084| r2084_1(glval) = VariableAddress[#return] : -# 2084| r2084_2(glval) = VariableAddress[x] : -# 2084| r2084_3(int) = Load[x] : &:r2084_2, m2080_8 -# 2084| m2084_4(int) = Store[#return] : &:r2084_1, r2084_3 -# 2079| r2079_6(glval) = VariableAddress[#return] : -# 2079| v2079_7(void) = ReturnValue : &:r2079_6, m2084_4 -# 2079| v2079_8(void) = AliasedUse : ~m2083_4 -# 2079| v2079_9(void) = ExitFunction : - -# 2087| void CallsNonExit() -# 2087| Block 0 -# 2087| v2087_1(void) = EnterFunction : -# 2087| m2087_2(unknown) = AliasedDefinition : -# 2087| m2087_3(unknown) = InitializeNonLocal : -# 2087| m2087_4(unknown) = Chi : total:m2087_2, partial:m2087_3 -# 2088| r2088_1(glval) = FunctionAddress[VoidFunc] : -# 2088| v2088_2(void) = Call[VoidFunc] : func:r2088_1 -# 2088| m2088_3(unknown) = ^CallSideEffect : ~m2087_4 -# 2088| m2088_4(unknown) = Chi : total:m2087_4, partial:m2088_3 -# 2089| r2089_1(glval) = FunctionAddress[exit] : -# 2089| r2089_2(int) = Constant[3] : -# 2089| v2089_3(void) = Call[exit] : func:r2089_1, 0:r2089_2 -# 2089| m2089_4(unknown) = ^CallSideEffect : ~m2088_4 -# 2089| m2089_5(unknown) = Chi : total:m2088_4, partial:m2089_4 -# 2087| v2087_5(void) = Unreached : - -# 2092| int TransNonExit() +# 2092| void Base2::~Base2() # 2092| Block 0 -# 2092| v2092_1(void) = EnterFunction : -# 2092| m2092_2(unknown) = AliasedDefinition : -# 2092| m2092_3(unknown) = InitializeNonLocal : -# 2092| m2092_4(unknown) = Chi : total:m2092_2, partial:m2092_3 -# 2093| r2093_1(glval) = VariableAddress[x] : -# 2093| r2093_2(glval) = FunctionAddress[Add] : -# 2093| r2093_3(int) = Constant[3] : -# 2093| r2093_4(int) = Constant[4] : -# 2093| r2093_5(int) = Call[Add] : func:r2093_2, 0:r2093_3, 1:r2093_4 -# 2093| m2093_6(unknown) = ^CallSideEffect : ~m2092_4 -# 2093| m2093_7(unknown) = Chi : total:m2092_4, partial:m2093_6 -# 2093| m2093_8(int) = Store[x] : &:r2093_1, r2093_5 -# 2094| r2094_1(glval) = VariableAddress[x] : -# 2094| r2094_2(int) = Load[x] : &:r2094_1, m2093_8 -# 2094| r2094_3(int) = Constant[7] : -# 2094| r2094_4(bool) = CompareEQ : r2094_2, r2094_3 -# 2094| v2094_5(void) = ConditionalBranch : r2094_4 -#-----| False -> Block 2 -#-----| True -> Block 1 +# 2092| v2092_1(void) = EnterFunction : +# 2092| m2092_2(unknown) = AliasedDefinition : +# 2092| m2092_3(unknown) = InitializeNonLocal : +# 2092| m2092_4(unknown) = Chi : total:m2092_2, partial:m2092_3 +# 2092| r2092_5(glval) = VariableAddress[#this] : +# 2092| m2092_6(glval) = InitializeParameter[#this] : &:r2092_5 +# 2092| r2092_7(glval) = Load[#this] : &:r2092_5, m2092_6 +# 2092| m2092_8(Base2) = InitializeIndirection[#this] : &:r2092_7 +# 2092| v2092_9(void) = NoOp : +# 2092| v2092_10(void) = ReturnIndirection[#this] : &:r2092_7, m2092_8 +# 2092| v2092_11(void) = ReturnVoid : +# 2092| v2092_12(void) = AliasedUse : m2092_3 +# 2092| v2092_13(void) = ExitFunction : -# 2095| Block 1 -# 2095| r2095_1(glval) = FunctionAddress[CallsNonExit] : -# 2095| v2095_2(void) = Call[CallsNonExit] : func:r2095_1 -# 2092| v2092_5(void) = Unreached : +# 2095| void Derived2::Derived2() +# 2095| Block 0 +# 2095| v2095_1(void) = EnterFunction : +# 2095| m2095_2(unknown) = AliasedDefinition : +# 2095| m2095_3(unknown) = InitializeNonLocal : +# 2095| m2095_4(unknown) = Chi : total:m2095_2, partial:m2095_3 +# 2095| r2095_5(glval) = VariableAddress[#this] : +# 2095| m2095_6(glval) = InitializeParameter[#this] : &:r2095_5 +# 2095| r2095_7(glval) = Load[#this] : &:r2095_5, m2095_6 +# 2095| m2095_8(Derived2) = InitializeIndirection[#this] : &:r2095_7 +# 2095| r2095_9(glval) = ConvertToNonVirtualBase[Derived2 : Base2] : m2095_6 +# 2095| r2095_10(glval) = FunctionAddress[Base2] : +# 2095| v2095_11(void) = Call[Base2] : func:r2095_10, this:r2095_9 +# 2095| m2095_12(unknown) = ^CallSideEffect : ~m2095_4 +# 2095| m2095_13(unknown) = Chi : total:m2095_4, partial:m2095_12 +# 2095| m2095_14(Base2) = ^IndirectMayWriteSideEffect[-1] : &:r2095_9 +# 2095| m2095_15(unknown) = Chi : total:m2095_8, partial:m2095_14 +# 2095| v2095_16(void) = NoOp : +# 2095| v2095_17(void) = ReturnIndirection[#this] : &:r2095_7, m2095_15 +# 2095| v2095_18(void) = ReturnVoid : +# 2095| v2095_19(void) = AliasedUse : ~m2095_13 +# 2095| v2095_20(void) = ExitFunction : -# 2096| Block 2 -# 2096| r2096_1(glval) = FunctionAddress[VoidFunc] : -# 2096| v2096_2(void) = Call[VoidFunc] : func:r2096_1 -# 2096| m2096_3(unknown) = ^CallSideEffect : ~m2093_7 -# 2096| m2096_4(unknown) = Chi : total:m2093_7, partial:m2096_3 -# 2097| r2097_1(glval) = VariableAddress[#return] : -# 2097| r2097_2(glval) = VariableAddress[x] : -# 2097| r2097_3(int) = Load[x] : &:r2097_2, m2093_8 -# 2097| m2097_4(int) = Store[#return] : &:r2097_1, r2097_3 -# 2092| r2092_6(glval) = VariableAddress[#return] : -# 2092| v2092_7(void) = ReturnValue : &:r2092_6, m2097_4 -# 2092| v2092_8(void) = AliasedUse : ~m2096_4 -# 2092| v2092_9(void) = ExitFunction : +# 2098| void Derived2::~Derived2() +# 2098| Block 0 +# 2098| v2098_1(void) = EnterFunction : +# 2098| m2098_2(unknown) = AliasedDefinition : +# 2098| m2098_3(unknown) = InitializeNonLocal : +# 2098| m2098_4(unknown) = Chi : total:m2098_2, partial:m2098_3 +# 2098| r2098_5(glval) = VariableAddress[#this] : +# 2098| m2098_6(glval) = InitializeParameter[#this] : &:r2098_5 +# 2098| r2098_7(glval) = Load[#this] : &:r2098_5, m2098_6 +# 2098| m2098_8(Derived2) = InitializeIndirection[#this] : &:r2098_7 +# 2098| v2098_9(void) = NoOp : +# 2098| r2098_10(glval) = ConvertToNonVirtualBase[Derived2 : Base2] : m2098_6 +# 2098| r2098_11(glval) = FunctionAddress[~Base2] : +# 2098| v2098_12(void) = Call[~Base2] : func:r2098_11, this:r2098_10 +# 2098| m2098_13(unknown) = ^CallSideEffect : ~m2098_4 +# 2098| m2098_14(unknown) = Chi : total:m2098_4, partial:m2098_13 +# 2098| v2098_15(void) = ReturnIndirection[#this] : &:r2098_7, m2098_8 +# 2098| v2098_16(void) = ReturnVoid : +# 2098| v2098_17(void) = AliasedUse : ~m2098_14 +# 2098| v2098_18(void) = ExitFunction : -# 2100| void newArrayCorrectType(size_t) +# 2100| void Derived2::operator delete(void*) # 2100| Block 0 -# 2100| v2100_1(void) = EnterFunction : -# 2100| m2100_2(unknown) = AliasedDefinition : -# 2100| m2100_3(unknown) = InitializeNonLocal : -# 2100| m2100_4(unknown) = Chi : total:m2100_2, partial:m2100_3 -# 2100| r2100_5(glval) = VariableAddress[n] : -# 2100| m2100_6(unsigned long) = InitializeParameter[n] : &:r2100_5 -# 2101| r2101_1(glval) = FunctionAddress[operator new[]] : -# 2101| r2101_2(glval) = VariableAddress[n] : -# 2101| r2101_3(unsigned long) = Load[n] : &:r2101_2, m2100_6 -# 2101| r2101_4(unsigned long) = Constant[4] : -# 2101| r2101_5(unsigned long) = Mul : r2101_3, r2101_4 -# 2101| r2101_6(void *) = Call[operator new[]] : func:r2101_1, 0:r2101_5 -# 2101| m2101_7(unknown) = ^CallSideEffect : ~m2100_4 -# 2101| m2101_8(unknown) = Chi : total:m2100_4, partial:m2101_7 -# 2101| m2101_9(unknown) = ^InitializeDynamicAllocation : &:r2101_6 -# 2101| r2101_10(int *) = Convert : r2101_6 -# 2102| r2102_1(glval) = FunctionAddress[operator new[]] : -# 2102| r2102_2(glval) = VariableAddress[n] : -# 2102| r2102_3(unsigned long) = Load[n] : &:r2102_2, m2100_6 -# 2102| r2102_4(unsigned long) = Constant[4] : -# 2102| r2102_5(unsigned long) = Mul : r2102_3, r2102_4 -# 2102| r2102_6(float) = Constant[1.0] : -# 2102| r2102_7(void *) = Call[operator new[]] : func:r2102_1, 0:r2102_5, 1:r2102_6 -# 2102| m2102_8(unknown) = ^CallSideEffect : ~m2101_8 -# 2102| m2102_9(unknown) = Chi : total:m2101_8, partial:m2102_8 -# 2102| m2102_10(unknown) = ^InitializeDynamicAllocation : &:r2102_7 -# 2102| r2102_11(int *) = Convert : r2102_7 -# 2103| r2103_1(glval) = FunctionAddress[operator new[]] : -# 2103| r2103_2(glval) = VariableAddress[n] : -# 2103| r2103_3(unsigned long) = Load[n] : &:r2103_2, m2100_6 -# 2103| r2103_4(unsigned long) = Constant[8] : -# 2103| r2103_5(unsigned long) = Mul : r2103_3, r2103_4 -# 2103| r2103_6(void *) = Call[operator new[]] : func:r2103_1, 0:r2103_5 -# 2103| m2103_7(unknown) = ^CallSideEffect : ~m2102_9 -# 2103| m2103_8(unknown) = Chi : total:m2102_9, partial:m2103_7 -# 2103| m2103_9(unknown) = ^InitializeDynamicAllocation : &:r2103_6 -# 2103| r2103_10(String *) = Convert : r2103_6 -# 2104| r2104_1(glval) = FunctionAddress[operator new[]] : -# 2104| r2104_2(glval) = VariableAddress[n] : -# 2104| r2104_3(unsigned long) = Load[n] : &:r2104_2, m2100_6 -# 2104| r2104_4(unsigned long) = Constant[256] : -# 2104| r2104_5(unsigned long) = Mul : r2104_3, r2104_4 -# 2104| r2104_6(align_val_t) = Constant[128] : -# 2104| r2104_7(void *) = Call[operator new[]] : func:r2104_1, 0:r2104_5, 1:r2104_6 -# 2104| m2104_8(unknown) = ^CallSideEffect : ~m2103_8 -# 2104| m2104_9(unknown) = Chi : total:m2103_8, partial:m2104_8 -# 2104| m2104_10(unknown) = ^InitializeDynamicAllocation : &:r2104_7 -# 2104| r2104_11(Overaligned *) = Convert : r2104_7 -# 2105| r2105_1(glval) = FunctionAddress[operator new[]] : -# 2105| r2105_2(glval) = VariableAddress[n] : -# 2105| r2105_3(unsigned long) = Load[n] : &:r2105_2, m2100_6 -# 2105| r2105_4(unsigned long) = Constant[1] : -# 2105| r2105_5(unsigned long) = Mul : r2105_3, r2105_4 -# 2105| r2105_6(void *) = Call[operator new[]] : func:r2105_1, 0:r2105_5 -# 2105| m2105_7(unknown) = ^CallSideEffect : ~m2104_9 -# 2105| m2105_8(unknown) = Chi : total:m2104_9, partial:m2105_7 -# 2105| m2105_9(unknown) = ^InitializeDynamicAllocation : &:r2105_6 -# 2105| r2105_10(DefaultCtorWithDefaultParam *) = Convert : r2105_6 -# 2106| r2106_1(glval) = FunctionAddress[operator new[]] : -# 2106| r2106_2(glval) = VariableAddress[n] : -# 2106| r2106_3(unsigned long) = Load[n] : &:r2106_2, m2100_6 -# 2106| r2106_4(unsigned long) = Constant[4] : -# 2106| r2106_5(unsigned long) = Mul : r2106_3, r2106_4 -# 2106| r2106_6(void *) = Call[operator new[]] : func:r2106_1, 0:r2106_5 -# 2106| m2106_7(unknown) = ^CallSideEffect : ~m2105_8 -# 2106| m2106_8(unknown) = Chi : total:m2105_8, partial:m2106_7 -# 2106| m2106_9(unknown) = ^InitializeDynamicAllocation : &:r2106_6 -# 2106| r2106_10(int *) = Convert : r2106_6 -# 2107| v2107_1(void) = NoOp : -# 2100| v2100_7(void) = ReturnVoid : -# 2100| v2100_8(void) = AliasedUse : ~m2106_8 -# 2100| v2100_9(void) = ExitFunction : +# 2100| v2100_1(void) = EnterFunction : +# 2100| m2100_2(unknown) = AliasedDefinition : +# 2100| m2100_3(unknown) = InitializeNonLocal : +# 2100| m2100_4(unknown) = Chi : total:m2100_2, partial:m2100_3 +# 2100| r2100_5(glval) = VariableAddress[p] : +# 2100| m2100_6(void *) = InitializeParameter[p] : &:r2100_5 +# 2100| r2100_7(void *) = Load[p] : &:r2100_5, m2100_6 +# 2100| m2100_8(unknown) = InitializeIndirection[p] : &:r2100_7 +# 2101| v2101_1(void) = NoOp : +# 2100| v2100_9(void) = ReturnIndirection[p] : &:r2100_7, m2100_8 +# 2100| v2100_10(void) = ReturnVoid : +# 2100| v2100_11(void) = AliasedUse : m2100_3 +# 2100| v2100_12(void) = ExitFunction : -# 2111| char* test_strtod(char*) -# 2111| Block 0 -# 2111| v2111_1(void) = EnterFunction : -# 2111| m2111_2(unknown) = AliasedDefinition : -# 2111| m2111_3(unknown) = InitializeNonLocal : -# 2111| m2111_4(unknown) = Chi : total:m2111_2, partial:m2111_3 -# 2111| r2111_5(glval) = VariableAddress[s] : -# 2111| m2111_6(char *) = InitializeParameter[s] : &:r2111_5 -# 2111| r2111_7(char *) = Load[s] : &:r2111_5, m2111_6 -# 2111| m2111_8(unknown) = InitializeIndirection[s] : &:r2111_7 -# 2112| r2112_1(glval) = VariableAddress[end] : -# 2112| m2112_2(char *) = Uninitialized[end] : &:r2112_1 -# 2113| r2113_1(glval) = VariableAddress[d] : -# 2113| r2113_2(glval) = FunctionAddress[strtod] : -# 2113| r2113_3(glval) = VariableAddress[s] : -# 2113| r2113_4(char *) = Load[s] : &:r2113_3, m2111_6 -# 2113| r2113_5(char *) = Convert : r2113_4 -# 2113| r2113_6(glval) = VariableAddress[end] : -# 2113| r2113_7(char **) = CopyValue : r2113_6 -# 2113| r2113_8(double) = Call[strtod] : func:r2113_2, 0:r2113_5, 1:r2113_7 -# 2113| v2113_9(void) = ^BufferReadSideEffect[0] : &:r2113_5, ~m2111_8 -# 2113| m2113_10(char *) = ^IndirectMayWriteSideEffect[1] : &:r2113_7 -# 2113| m2113_11(char *) = Chi : total:m2112_2, partial:m2113_10 -# 2113| m2113_12(double) = Store[d] : &:r2113_1, r2113_8 -# 2114| r2114_1(glval) = VariableAddress[#return] : -# 2114| r2114_2(glval) = VariableAddress[end] : -# 2114| r2114_3(char *) = Load[end] : &:r2114_2, m2113_11 -# 2114| m2114_4(char *) = Store[#return] : &:r2114_1, r2114_3 -# 2111| v2111_9(void) = ReturnIndirection[s] : &:r2111_7, m2111_8 -# 2111| r2111_10(glval) = VariableAddress[#return] : -# 2111| v2111_11(void) = ReturnValue : &:r2111_10, m2114_4 -# 2111| v2111_12(void) = AliasedUse : m2111_3 -# 2111| v2111_13(void) = ExitFunction : +# 2105| int virtual_delete() +# 2105| Block 0 +# 2105| v2105_1(void) = EnterFunction : +# 2105| m2105_2(unknown) = AliasedDefinition : +# 2105| m2105_3(unknown) = InitializeNonLocal : +# 2105| m2105_4(unknown) = Chi : total:m2105_2, partial:m2105_3 +# 2107| r2107_1(glval) = VariableAddress[b1] : +# 2107| r2107_2(glval) = FunctionAddress[operator new] : +# 2107| r2107_3(unsigned long) = Constant[8] : +# 2107| r2107_4(void *) = Call[operator new] : func:r2107_2, 0:r2107_3 +# 2107| m2107_5(unknown) = ^CallSideEffect : ~m2105_4 +# 2107| m2107_6(unknown) = Chi : total:m2105_4, partial:m2107_5 +# 2107| m2107_7(unknown) = ^InitializeDynamicAllocation : &:r2107_4 +# 2107| r2107_8(Base2 *) = Convert : r2107_4 +# 2107| r2107_9(glval) = FunctionAddress[Base2] : +# 2107| v2107_10(void) = Call[Base2] : func:r2107_9, this:r2107_8 +# 2107| m2107_11(unknown) = ^CallSideEffect : ~m2107_6 +# 2107| m2107_12(unknown) = Chi : total:m2107_6, partial:m2107_11 +# 2107| m2107_13(Base2) = ^IndirectMayWriteSideEffect[-1] : &:r2107_8 +# 2107| m2107_14(unknown) = Chi : total:m2107_7, partial:m2107_13 +# 2107| m2107_15(Base2 *) = Store[b1] : &:r2107_1, r2107_8 +# 2108| r2108_1(glval) = VirtualDeleteFunctionAddress : +# 2108| r2108_2(glval) = VariableAddress[b1] : +# 2108| r2108_3(Base2 *) = Load[b1] : &:r2108_2, m2107_15 +# 2108| v2108_4(void) = Call[?] : func:r2108_1, 0:r2108_3 +# 2108| m2108_5(unknown) = ^CallSideEffect : ~m2107_12 +# 2108| m2108_6(unknown) = Chi : total:m2107_12, partial:m2108_5 +# 2110| r2110_1(glval) = VariableAddress[b2] : +# 2110| r2110_2(glval) = FunctionAddress[operator new] : +# 2110| r2110_3(unsigned long) = Constant[16] : +# 2110| r2110_4(void *) = Call[operator new] : func:r2110_2, 0:r2110_3 +# 2110| m2110_5(unknown) = ^CallSideEffect : ~m2108_6 +# 2110| m2110_6(unknown) = Chi : total:m2108_6, partial:m2110_5 +# 2110| m2110_7(unknown) = ^InitializeDynamicAllocation : &:r2110_4 +# 2110| r2110_8(Derived2 *) = Convert : r2110_4 +# 2110| r2110_9(glval) = FunctionAddress[Derived2] : +# 2110| v2110_10(void) = Call[Derived2] : func:r2110_9, this:r2110_8 +# 2110| m2110_11(unknown) = ^CallSideEffect : ~m2110_6 +# 2110| m2110_12(unknown) = Chi : total:m2110_6, partial:m2110_11 +# 2110| m2110_13(Derived2) = ^IndirectMayWriteSideEffect[-1] : &:r2110_8 +# 2110| m2110_14(unknown) = Chi : total:m2110_7, partial:m2110_13 +# 2110| r2110_15(Base2 *) = ConvertToNonVirtualBase[Derived2 : Base2] : r2110_8 +# 2110| m2110_16(Base2 *) = Store[b2] : &:r2110_1, r2110_15 +# 2111| r2111_1(glval) = VirtualDeleteFunctionAddress : +# 2111| r2111_2(glval) = VariableAddress[b2] : +# 2111| r2111_3(Base2 *) = Load[b2] : &:r2111_2, m2110_16 +# 2111| v2111_4(void) = Call[?] : func:r2111_1, 0:r2111_3 +# 2111| m2111_5(unknown) = ^CallSideEffect : ~m2110_12 +# 2111| m2111_6(unknown) = Chi : total:m2110_12, partial:m2111_5 +# 2113| r2113_1(glval) = VariableAddress[d] : +# 2113| r2113_2(glval) = FunctionAddress[operator new] : +# 2113| r2113_3(unsigned long) = Constant[16] : +# 2113| r2113_4(void *) = Call[operator new] : func:r2113_2, 0:r2113_3 +# 2113| m2113_5(unknown) = ^CallSideEffect : ~m2111_6 +# 2113| m2113_6(unknown) = Chi : total:m2111_6, partial:m2113_5 +# 2113| m2113_7(unknown) = ^InitializeDynamicAllocation : &:r2113_4 +# 2113| r2113_8(Derived2 *) = Convert : r2113_4 +# 2113| r2113_9(glval) = FunctionAddress[Derived2] : +# 2113| v2113_10(void) = Call[Derived2] : func:r2113_9, this:r2113_8 +# 2113| m2113_11(unknown) = ^CallSideEffect : ~m2113_6 +# 2113| m2113_12(unknown) = Chi : total:m2113_6, partial:m2113_11 +# 2113| m2113_13(Derived2) = ^IndirectMayWriteSideEffect[-1] : &:r2113_8 +# 2113| m2113_14(unknown) = Chi : total:m2113_7, partial:m2113_13 +# 2113| m2113_15(Derived2 *) = Store[d] : &:r2113_1, r2113_8 +# 2114| r2114_1(glval) = VirtualDeleteFunctionAddress : +# 2114| r2114_2(glval) = VariableAddress[d] : +# 2114| r2114_3(Derived2 *) = Load[d] : &:r2114_2, m2113_15 +# 2114| v2114_4(void) = Call[?] : func:r2114_1, 0:r2114_3 +# 2114| m2114_5(unknown) = ^CallSideEffect : ~m2113_12 +# 2114| m2114_6(unknown) = Chi : total:m2113_12, partial:m2114_5 +# 2115| r2115_1(glval) = VariableAddress[#return] : +# 2115| m2115_2(int) = Uninitialized[#return] : &:r2115_1 +# 2105| r2105_5(glval) = VariableAddress[#return] : +# 2105| v2105_6(void) = ReturnValue : &:r2105_5, m2115_2 +# 2105| v2105_7(void) = AliasedUse : ~m2114_6 +# 2105| v2105_8(void) = ExitFunction : -# 2121| void call_as_child_of_ConditionDeclExpr() -# 2121| Block 0 -# 2121| v2121_1(void) = EnterFunction : -# 2121| m2121_2(unknown) = AliasedDefinition : -# 2121| m2121_3(unknown) = InitializeNonLocal : -# 2121| m2121_4(unknown) = Chi : total:m2121_2, partial:m2121_3 -# 2122| r2122_1(glval) = VariableAddress[b] : -# 2122| r2122_2(HasOperatorBool) = Constant[0] : -# 2122| m2122_3(HasOperatorBool) = Store[b] : &:r2122_1, r2122_2 -# 2122| r2122_4(glval) = VariableAddress[b] : -# 2122| r2122_5(glval) = FunctionAddress[operator bool] : -# 2122| r2122_6(bool) = Call[operator bool] : func:r2122_5, this:r2122_4 -# 2122| m2122_7(unknown) = ^CallSideEffect : ~m2121_4 -# 2122| m2122_8(unknown) = Chi : total:m2121_4, partial:m2122_7 -# 2122| v2122_9(void) = ^IndirectReadSideEffect[-1] : &:r2122_4, m2122_3 -# 2122| m2122_10(HasOperatorBool) = ^IndirectMayWriteSideEffect[-1] : &:r2122_4 -# 2122| m2122_11(HasOperatorBool) = Chi : total:m2122_3, partial:m2122_10 -# 2122| r2122_12(bool) = CopyValue : r2122_6 -# 2122| v2122_13(void) = ConditionalBranch : r2122_12 +# 2119| void test_constant_folding() +# 2119| Block 0 +# 2119| v2119_1(void) = EnterFunction : +# 2119| m2119_2(unknown) = AliasedDefinition : +# 2119| m2119_3(unknown) = InitializeNonLocal : +# 2119| m2119_4(unknown) = Chi : total:m2119_2, partial:m2119_3 +# 2120| r2120_1(glval) = VariableAddress[x] : +# 2120| r2120_2(int) = Constant[116] : +# 2120| m2120_3(int) = Store[x] : &:r2120_1, r2120_2 +# 2121| r2121_1(glval) = FunctionAddress[test_constant_folding_use] : +# 2121| r2121_2(int) = Constant[116] : +# 2121| v2121_3(void) = Call[test_constant_folding_use] : func:r2121_1, 0:r2121_2 +# 2121| m2121_4(unknown) = ^CallSideEffect : ~m2119_4 +# 2121| m2121_5(unknown) = Chi : total:m2119_4, partial:m2121_4 +# 2122| v2122_1(void) = NoOp : +# 2119| v2119_5(void) = ReturnVoid : +# 2119| v2119_6(void) = AliasedUse : ~m2121_5 +# 2119| v2119_7(void) = ExitFunction : + +# 2126| int NonExit() +# 2126| Block 0 +# 2126| v2126_1(void) = EnterFunction : +# 2126| m2126_2(unknown) = AliasedDefinition : +# 2126| m2126_3(unknown) = InitializeNonLocal : +# 2126| m2126_4(unknown) = Chi : total:m2126_2, partial:m2126_3 +# 2127| r2127_1(glval) = VariableAddress[x] : +# 2127| r2127_2(glval) = FunctionAddress[Add] : +# 2127| r2127_3(int) = Constant[3] : +# 2127| r2127_4(int) = Constant[4] : +# 2127| r2127_5(int) = Call[Add] : func:r2127_2, 0:r2127_3, 1:r2127_4 +# 2127| m2127_6(unknown) = ^CallSideEffect : ~m2126_4 +# 2127| m2127_7(unknown) = Chi : total:m2126_4, partial:m2127_6 +# 2127| m2127_8(int) = Store[x] : &:r2127_1, r2127_5 +# 2128| r2128_1(glval) = VariableAddress[x] : +# 2128| r2128_2(int) = Load[x] : &:r2128_1, m2127_8 +# 2128| r2128_3(int) = Constant[7] : +# 2128| r2128_4(bool) = CompareEQ : r2128_2, r2128_3 +# 2128| v2128_5(void) = ConditionalBranch : r2128_4 #-----| False -> Block 2 #-----| True -> Block 1 -# 2122| Block 1 -# 2122| v2122_14(void) = NoOp : +# 2129| Block 1 +# 2129| r2129_1(glval) = FunctionAddress[exit] : +# 2129| r2129_2(int) = Constant[3] : +# 2129| v2129_3(void) = Call[exit] : func:r2129_1, 0:r2129_2 +# 2129| m2129_4(unknown) = ^CallSideEffect : ~m2127_7 +# 2129| m2129_5(unknown) = Chi : total:m2127_7, partial:m2129_4 +# 2126| v2126_5(void) = Unreached : + +# 2130| Block 2 +# 2130| r2130_1(glval) = FunctionAddress[VoidFunc] : +# 2130| v2130_2(void) = Call[VoidFunc] : func:r2130_1 +# 2130| m2130_3(unknown) = ^CallSideEffect : ~m2127_7 +# 2130| m2130_4(unknown) = Chi : total:m2127_7, partial:m2130_3 +# 2131| r2131_1(glval) = VariableAddress[#return] : +# 2131| r2131_2(glval) = VariableAddress[x] : +# 2131| r2131_3(int) = Load[x] : &:r2131_2, m2127_8 +# 2131| m2131_4(int) = Store[#return] : &:r2131_1, r2131_3 +# 2126| r2126_6(glval) = VariableAddress[#return] : +# 2126| v2126_7(void) = ReturnValue : &:r2126_6, m2131_4 +# 2126| v2126_8(void) = AliasedUse : ~m2130_4 +# 2126| v2126_9(void) = ExitFunction : + +# 2134| void CallsNonExit() +# 2134| Block 0 +# 2134| v2134_1(void) = EnterFunction : +# 2134| m2134_2(unknown) = AliasedDefinition : +# 2134| m2134_3(unknown) = InitializeNonLocal : +# 2134| m2134_4(unknown) = Chi : total:m2134_2, partial:m2134_3 +# 2135| r2135_1(glval) = FunctionAddress[VoidFunc] : +# 2135| v2135_2(void) = Call[VoidFunc] : func:r2135_1 +# 2135| m2135_3(unknown) = ^CallSideEffect : ~m2134_4 +# 2135| m2135_4(unknown) = Chi : total:m2134_4, partial:m2135_3 +# 2136| r2136_1(glval) = FunctionAddress[exit] : +# 2136| r2136_2(int) = Constant[3] : +# 2136| v2136_3(void) = Call[exit] : func:r2136_1, 0:r2136_2 +# 2136| m2136_4(unknown) = ^CallSideEffect : ~m2135_4 +# 2136| m2136_5(unknown) = Chi : total:m2135_4, partial:m2136_4 +# 2134| v2134_5(void) = Unreached : + +# 2139| int TransNonExit() +# 2139| Block 0 +# 2139| v2139_1(void) = EnterFunction : +# 2139| m2139_2(unknown) = AliasedDefinition : +# 2139| m2139_3(unknown) = InitializeNonLocal : +# 2139| m2139_4(unknown) = Chi : total:m2139_2, partial:m2139_3 +# 2140| r2140_1(glval) = VariableAddress[x] : +# 2140| r2140_2(glval) = FunctionAddress[Add] : +# 2140| r2140_3(int) = Constant[3] : +# 2140| r2140_4(int) = Constant[4] : +# 2140| r2140_5(int) = Call[Add] : func:r2140_2, 0:r2140_3, 1:r2140_4 +# 2140| m2140_6(unknown) = ^CallSideEffect : ~m2139_4 +# 2140| m2140_7(unknown) = Chi : total:m2139_4, partial:m2140_6 +# 2140| m2140_8(int) = Store[x] : &:r2140_1, r2140_5 +# 2141| r2141_1(glval) = VariableAddress[x] : +# 2141| r2141_2(int) = Load[x] : &:r2141_1, m2140_8 +# 2141| r2141_3(int) = Constant[7] : +# 2141| r2141_4(bool) = CompareEQ : r2141_2, r2141_3 +# 2141| v2141_5(void) = ConditionalBranch : r2141_4 +#-----| False -> Block 2 +#-----| True -> Block 1 + +# 2142| Block 1 +# 2142| r2142_1(glval) = FunctionAddress[CallsNonExit] : +# 2142| v2142_2(void) = Call[CallsNonExit] : func:r2142_1 +# 2139| v2139_5(void) = Unreached : + +# 2143| Block 2 +# 2143| r2143_1(glval) = FunctionAddress[VoidFunc] : +# 2143| v2143_2(void) = Call[VoidFunc] : func:r2143_1 +# 2143| m2143_3(unknown) = ^CallSideEffect : ~m2140_7 +# 2143| m2143_4(unknown) = Chi : total:m2140_7, partial:m2143_3 +# 2144| r2144_1(glval) = VariableAddress[#return] : +# 2144| r2144_2(glval) = VariableAddress[x] : +# 2144| r2144_3(int) = Load[x] : &:r2144_2, m2140_8 +# 2144| m2144_4(int) = Store[#return] : &:r2144_1, r2144_3 +# 2139| r2139_6(glval) = VariableAddress[#return] : +# 2139| v2139_7(void) = ReturnValue : &:r2139_6, m2144_4 +# 2139| v2139_8(void) = AliasedUse : ~m2143_4 +# 2139| v2139_9(void) = ExitFunction : + +# 2147| void newArrayCorrectType(size_t) +# 2147| Block 0 +# 2147| v2147_1(void) = EnterFunction : +# 2147| m2147_2(unknown) = AliasedDefinition : +# 2147| m2147_3(unknown) = InitializeNonLocal : +# 2147| m2147_4(unknown) = Chi : total:m2147_2, partial:m2147_3 +# 2147| r2147_5(glval) = VariableAddress[n] : +# 2147| m2147_6(unsigned long) = InitializeParameter[n] : &:r2147_5 +# 2148| r2148_1(glval) = FunctionAddress[operator new[]] : +# 2148| r2148_2(glval) = VariableAddress[n] : +# 2148| r2148_3(unsigned long) = Load[n] : &:r2148_2, m2147_6 +# 2148| r2148_4(unsigned long) = Constant[4] : +# 2148| r2148_5(unsigned long) = Mul : r2148_3, r2148_4 +# 2148| r2148_6(void *) = Call[operator new[]] : func:r2148_1, 0:r2148_5 +# 2148| m2148_7(unknown) = ^CallSideEffect : ~m2147_4 +# 2148| m2148_8(unknown) = Chi : total:m2147_4, partial:m2148_7 +# 2148| m2148_9(unknown) = ^InitializeDynamicAllocation : &:r2148_6 +# 2148| r2148_10(int *) = Convert : r2148_6 +# 2149| r2149_1(glval) = FunctionAddress[operator new[]] : +# 2149| r2149_2(glval) = VariableAddress[n] : +# 2149| r2149_3(unsigned long) = Load[n] : &:r2149_2, m2147_6 +# 2149| r2149_4(unsigned long) = Constant[4] : +# 2149| r2149_5(unsigned long) = Mul : r2149_3, r2149_4 +# 2149| r2149_6(float) = Constant[1.0] : +# 2149| r2149_7(void *) = Call[operator new[]] : func:r2149_1, 0:r2149_5, 1:r2149_6 +# 2149| m2149_8(unknown) = ^CallSideEffect : ~m2148_8 +# 2149| m2149_9(unknown) = Chi : total:m2148_8, partial:m2149_8 +# 2149| m2149_10(unknown) = ^InitializeDynamicAllocation : &:r2149_7 +# 2149| r2149_11(int *) = Convert : r2149_7 +# 2150| r2150_1(glval) = FunctionAddress[operator new[]] : +# 2150| r2150_2(glval) = VariableAddress[n] : +# 2150| r2150_3(unsigned long) = Load[n] : &:r2150_2, m2147_6 +# 2150| r2150_4(unsigned long) = Constant[8] : +# 2150| r2150_5(unsigned long) = Mul : r2150_3, r2150_4 +# 2150| r2150_6(void *) = Call[operator new[]] : func:r2150_1, 0:r2150_5 +# 2150| m2150_7(unknown) = ^CallSideEffect : ~m2149_9 +# 2150| m2150_8(unknown) = Chi : total:m2149_9, partial:m2150_7 +# 2150| m2150_9(unknown) = ^InitializeDynamicAllocation : &:r2150_6 +# 2150| r2150_10(String *) = Convert : r2150_6 +# 2151| r2151_1(glval) = FunctionAddress[operator new[]] : +# 2151| r2151_2(glval) = VariableAddress[n] : +# 2151| r2151_3(unsigned long) = Load[n] : &:r2151_2, m2147_6 +# 2151| r2151_4(unsigned long) = Constant[256] : +# 2151| r2151_5(unsigned long) = Mul : r2151_3, r2151_4 +# 2151| r2151_6(align_val_t) = Constant[128] : +# 2151| r2151_7(void *) = Call[operator new[]] : func:r2151_1, 0:r2151_5, 1:r2151_6 +# 2151| m2151_8(unknown) = ^CallSideEffect : ~m2150_8 +# 2151| m2151_9(unknown) = Chi : total:m2150_8, partial:m2151_8 +# 2151| m2151_10(unknown) = ^InitializeDynamicAllocation : &:r2151_7 +# 2151| r2151_11(Overaligned *) = Convert : r2151_7 +# 2152| r2152_1(glval) = FunctionAddress[operator new[]] : +# 2152| r2152_2(glval) = VariableAddress[n] : +# 2152| r2152_3(unsigned long) = Load[n] : &:r2152_2, m2147_6 +# 2152| r2152_4(unsigned long) = Constant[1] : +# 2152| r2152_5(unsigned long) = Mul : r2152_3, r2152_4 +# 2152| r2152_6(void *) = Call[operator new[]] : func:r2152_1, 0:r2152_5 +# 2152| m2152_7(unknown) = ^CallSideEffect : ~m2151_9 +# 2152| m2152_8(unknown) = Chi : total:m2151_9, partial:m2152_7 +# 2152| m2152_9(unknown) = ^InitializeDynamicAllocation : &:r2152_6 +# 2152| r2152_10(DefaultCtorWithDefaultParam *) = Convert : r2152_6 +# 2153| r2153_1(glval) = FunctionAddress[operator new[]] : +# 2153| r2153_2(glval) = VariableAddress[n] : +# 2153| r2153_3(unsigned long) = Load[n] : &:r2153_2, m2147_6 +# 2153| r2153_4(unsigned long) = Constant[4] : +# 2153| r2153_5(unsigned long) = Mul : r2153_3, r2153_4 +# 2153| r2153_6(void *) = Call[operator new[]] : func:r2153_1, 0:r2153_5 +# 2153| m2153_7(unknown) = ^CallSideEffect : ~m2152_8 +# 2153| m2153_8(unknown) = Chi : total:m2152_8, partial:m2153_7 +# 2153| m2153_9(unknown) = ^InitializeDynamicAllocation : &:r2153_6 +# 2153| r2153_10(int *) = Convert : r2153_6 +# 2154| v2154_1(void) = NoOp : +# 2147| v2147_7(void) = ReturnVoid : +# 2147| v2147_8(void) = AliasedUse : ~m2153_8 +# 2147| v2147_9(void) = ExitFunction : + +# 2158| char* test_strtod(char*) +# 2158| Block 0 +# 2158| v2158_1(void) = EnterFunction : +# 2158| m2158_2(unknown) = AliasedDefinition : +# 2158| m2158_3(unknown) = InitializeNonLocal : +# 2158| m2158_4(unknown) = Chi : total:m2158_2, partial:m2158_3 +# 2158| r2158_5(glval) = VariableAddress[s] : +# 2158| m2158_6(char *) = InitializeParameter[s] : &:r2158_5 +# 2158| r2158_7(char *) = Load[s] : &:r2158_5, m2158_6 +# 2158| m2158_8(unknown) = InitializeIndirection[s] : &:r2158_7 +# 2159| r2159_1(glval) = VariableAddress[end] : +# 2159| m2159_2(char *) = Uninitialized[end] : &:r2159_1 +# 2160| r2160_1(glval) = VariableAddress[d] : +# 2160| r2160_2(glval) = FunctionAddress[strtod] : +# 2160| r2160_3(glval) = VariableAddress[s] : +# 2160| r2160_4(char *) = Load[s] : &:r2160_3, m2158_6 +# 2160| r2160_5(char *) = Convert : r2160_4 +# 2160| r2160_6(glval) = VariableAddress[end] : +# 2160| r2160_7(char **) = CopyValue : r2160_6 +# 2160| r2160_8(double) = Call[strtod] : func:r2160_2, 0:r2160_5, 1:r2160_7 +# 2160| v2160_9(void) = ^BufferReadSideEffect[0] : &:r2160_5, ~m2158_8 +# 2160| m2160_10(char *) = ^IndirectMayWriteSideEffect[1] : &:r2160_7 +# 2160| m2160_11(char *) = Chi : total:m2159_2, partial:m2160_10 +# 2160| m2160_12(double) = Store[d] : &:r2160_1, r2160_8 +# 2161| r2161_1(glval) = VariableAddress[#return] : +# 2161| r2161_2(glval) = VariableAddress[end] : +# 2161| r2161_3(char *) = Load[end] : &:r2161_2, m2160_11 +# 2161| m2161_4(char *) = Store[#return] : &:r2161_1, r2161_3 +# 2158| v2158_9(void) = ReturnIndirection[s] : &:r2158_7, m2158_8 +# 2158| r2158_10(glval) = VariableAddress[#return] : +# 2158| v2158_11(void) = ReturnValue : &:r2158_10, m2161_4 +# 2158| v2158_12(void) = AliasedUse : m2158_3 +# 2158| v2158_13(void) = ExitFunction : + +# 2168| void call_as_child_of_ConditionDeclExpr() +# 2168| Block 0 +# 2168| v2168_1(void) = EnterFunction : +# 2168| m2168_2(unknown) = AliasedDefinition : +# 2168| m2168_3(unknown) = InitializeNonLocal : +# 2168| m2168_4(unknown) = Chi : total:m2168_2, partial:m2168_3 +# 2169| r2169_1(glval) = VariableAddress[b] : +# 2169| r2169_2(HasOperatorBool) = Constant[0] : +# 2169| m2169_3(HasOperatorBool) = Store[b] : &:r2169_1, r2169_2 +# 2169| r2169_4(glval) = VariableAddress[b] : +# 2169| r2169_5(glval) = FunctionAddress[operator bool] : +# 2169| r2169_6(bool) = Call[operator bool] : func:r2169_5, this:r2169_4 +# 2169| m2169_7(unknown) = ^CallSideEffect : ~m2168_4 +# 2169| m2169_8(unknown) = Chi : total:m2168_4, partial:m2169_7 +# 2169| v2169_9(void) = ^IndirectReadSideEffect[-1] : &:r2169_4, m2169_3 +# 2169| m2169_10(HasOperatorBool) = ^IndirectMayWriteSideEffect[-1] : &:r2169_4 +# 2169| m2169_11(HasOperatorBool) = Chi : total:m2169_3, partial:m2169_10 +# 2169| r2169_12(bool) = CopyValue : r2169_6 +# 2169| v2169_13(void) = ConditionalBranch : r2169_12 +#-----| False -> Block 2 +#-----| True -> Block 1 + +# 2169| Block 1 +# 2169| v2169_14(void) = NoOp : #-----| Goto -> Block 2 -# 2123| Block 2 -# 2123| v2123_1(void) = NoOp : -# 2121| v2121_5(void) = ReturnVoid : -# 2121| v2121_6(void) = AliasedUse : ~m2122_8 -# 2121| v2121_7(void) = ExitFunction : +# 2170| Block 2 +# 2170| v2170_1(void) = NoOp : +# 2168| v2168_5(void) = ReturnVoid : +# 2168| v2168_6(void) = AliasedUse : ~m2169_8 +# 2168| v2168_7(void) = ExitFunction : -# 2125| void ClassWithDestructor::ClassWithDestructor(ClassWithDestructor const&) -# 2125| Block 0 -# 2125| v2125_1(void) = EnterFunction : -# 2125| m2125_2(unknown) = AliasedDefinition : -# 2125| m2125_3(unknown) = InitializeNonLocal : -# 2125| m2125_4(unknown) = Chi : total:m2125_2, partial:m2125_3 -# 2125| r2125_5(glval) = VariableAddress[#this] : -# 2125| m2125_6(glval) = InitializeParameter[#this] : &:r2125_5 -# 2125| r2125_7(glval) = Load[#this] : &:r2125_5, m2125_6 -# 2125| m2125_8(ClassWithDestructor) = InitializeIndirection[#this] : &:r2125_7 +# 2172| void ClassWithDestructor::ClassWithDestructor(ClassWithDestructor const&) +# 2172| Block 0 +# 2172| v2172_1(void) = EnterFunction : +# 2172| m2172_2(unknown) = AliasedDefinition : +# 2172| m2172_3(unknown) = InitializeNonLocal : +# 2172| m2172_4(unknown) = Chi : total:m2172_2, partial:m2172_3 +# 2172| r2172_5(glval) = VariableAddress[#this] : +# 2172| m2172_6(glval) = InitializeParameter[#this] : &:r2172_5 +# 2172| r2172_7(glval) = Load[#this] : &:r2172_5, m2172_6 +# 2172| m2172_8(ClassWithDestructor) = InitializeIndirection[#this] : &:r2172_7 #-----| r0_1(glval) = VariableAddress[(unnamed parameter 0)] : #-----| m0_2(ClassWithDestructor &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1 #-----| r0_3(ClassWithDestructor &) = Load[(unnamed parameter 0)] : &:r0_1, m0_2 #-----| m0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3 -# 2125| r2125_9(glval) = FieldAddress[x] : m2125_6 -# 2125| r2125_10(glval) = VariableAddress[(unnamed parameter 0)] : -# 2125| r2125_11(ClassWithDestructor &) = Load[(unnamed parameter 0)] : &:r2125_10, m0_2 -# 2125| r2125_12(glval) = CopyValue : r2125_11 -# 2125| r2125_13(glval) = FieldAddress[x] : r2125_12 -# 2125| r2125_14(char *) = Load[?] : &:r2125_13, ~m0_4 -# 2125| m2125_15(char *) = Store[?] : &:r2125_9, r2125_14 -# 2125| m2125_16(unknown) = Chi : total:m2125_8, partial:m2125_15 -# 2125| v2125_17(void) = NoOp : -# 2125| v2125_18(void) = ReturnIndirection[#this] : &:r2125_7, m2125_16 +# 2172| r2172_9(glval) = FieldAddress[x] : m2172_6 +# 2172| r2172_10(glval) = VariableAddress[(unnamed parameter 0)] : +# 2172| r2172_11(ClassWithDestructor &) = Load[(unnamed parameter 0)] : &:r2172_10, m0_2 +# 2172| r2172_12(glval) = CopyValue : r2172_11 +# 2172| r2172_13(glval) = FieldAddress[x] : r2172_12 +# 2172| r2172_14(char *) = Load[?] : &:r2172_13, ~m0_4 +# 2172| m2172_15(char *) = Store[?] : &:r2172_9, r2172_14 +# 2172| m2172_16(unknown) = Chi : total:m2172_8, partial:m2172_15 +# 2172| v2172_17(void) = NoOp : +# 2172| v2172_18(void) = ReturnIndirection[#this] : &:r2172_7, m2172_16 #-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4 -# 2125| v2125_19(void) = ReturnVoid : -# 2125| v2125_20(void) = AliasedUse : m2125_3 -# 2125| v2125_21(void) = ExitFunction : +# 2172| v2172_19(void) = ReturnVoid : +# 2172| v2172_20(void) = AliasedUse : m2172_3 +# 2172| v2172_21(void) = ExitFunction : -# 2128| void ClassWithDestructor::ClassWithDestructor() -# 2128| Block 0 -# 2128| v2128_1(void) = EnterFunction : -# 2128| m2128_2(unknown) = AliasedDefinition : -# 2128| m2128_3(unknown) = InitializeNonLocal : -# 2128| m2128_4(unknown) = Chi : total:m2128_2, partial:m2128_3 -# 2128| r2128_5(glval) = VariableAddress[#this] : -# 2128| m2128_6(glval) = InitializeParameter[#this] : &:r2128_5 -# 2128| r2128_7(glval) = Load[#this] : &:r2128_5, m2128_6 -# 2128| m2128_8(ClassWithDestructor) = InitializeIndirection[#this] : &:r2128_7 -# 2128| r2128_9(glval) = FunctionAddress[operator new] : -# 2128| r2128_10(unsigned long) = Constant[1] : -# 2128| r2128_11(void *) = Call[operator new] : func:r2128_9, 0:r2128_10 -# 2128| m2128_12(unknown) = ^CallSideEffect : ~m2128_4 -# 2128| m2128_13(unknown) = Chi : total:m2128_4, partial:m2128_12 -# 2128| m2128_14(unknown) = ^InitializeDynamicAllocation : &:r2128_11 -# 2128| r2128_15(char *) = Convert : r2128_11 -# 2128| r2128_16(glval) = VariableAddress[#this] : -# 2128| r2128_17(ClassWithDestructor *) = Load[#this] : &:r2128_16, m2128_6 -# 2128| r2128_18(glval) = FieldAddress[x] : r2128_17 -# 2128| m2128_19(char *) = Store[?] : &:r2128_18, r2128_15 -# 2128| m2128_20(unknown) = Chi : total:m2128_8, partial:m2128_19 -# 2128| v2128_21(void) = NoOp : -# 2128| v2128_22(void) = ReturnIndirection[#this] : &:r2128_7, m2128_20 -# 2128| v2128_23(void) = ReturnVoid : -# 2128| v2128_24(void) = AliasedUse : ~m2128_13 -# 2128| v2128_25(void) = ExitFunction : +# 2175| void ClassWithDestructor::ClassWithDestructor() +# 2175| Block 0 +# 2175| v2175_1(void) = EnterFunction : +# 2175| m2175_2(unknown) = AliasedDefinition : +# 2175| m2175_3(unknown) = InitializeNonLocal : +# 2175| m2175_4(unknown) = Chi : total:m2175_2, partial:m2175_3 +# 2175| r2175_5(glval) = VariableAddress[#this] : +# 2175| m2175_6(glval) = InitializeParameter[#this] : &:r2175_5 +# 2175| r2175_7(glval) = Load[#this] : &:r2175_5, m2175_6 +# 2175| m2175_8(ClassWithDestructor) = InitializeIndirection[#this] : &:r2175_7 +# 2175| r2175_9(glval) = FunctionAddress[operator new] : +# 2175| r2175_10(unsigned long) = Constant[1] : +# 2175| r2175_11(void *) = Call[operator new] : func:r2175_9, 0:r2175_10 +# 2175| m2175_12(unknown) = ^CallSideEffect : ~m2175_4 +# 2175| m2175_13(unknown) = Chi : total:m2175_4, partial:m2175_12 +# 2175| m2175_14(unknown) = ^InitializeDynamicAllocation : &:r2175_11 +# 2175| r2175_15(char *) = Convert : r2175_11 +# 2175| r2175_16(glval) = VariableAddress[#this] : +# 2175| r2175_17(ClassWithDestructor *) = Load[#this] : &:r2175_16, m2175_6 +# 2175| r2175_18(glval) = FieldAddress[x] : r2175_17 +# 2175| m2175_19(char *) = Store[?] : &:r2175_18, r2175_15 +# 2175| m2175_20(unknown) = Chi : total:m2175_8, partial:m2175_19 +# 2175| v2175_21(void) = NoOp : +# 2175| v2175_22(void) = ReturnIndirection[#this] : &:r2175_7, m2175_20 +# 2175| v2175_23(void) = ReturnVoid : +# 2175| v2175_24(void) = AliasedUse : ~m2175_13 +# 2175| v2175_25(void) = ExitFunction : -# 2129| void ClassWithDestructor::~ClassWithDestructor() -# 2129| Block 0 -# 2129| v2129_1(void) = EnterFunction : -# 2129| m2129_2(unknown) = AliasedDefinition : -# 2129| m2129_3(unknown) = InitializeNonLocal : -# 2129| m2129_4(unknown) = Chi : total:m2129_2, partial:m2129_3 -# 2129| r2129_5(glval) = VariableAddress[#this] : -# 2129| m2129_6(glval) = InitializeParameter[#this] : &:r2129_5 -# 2129| r2129_7(glval) = Load[#this] : &:r2129_5, m2129_6 -# 2129| m2129_8(ClassWithDestructor) = InitializeIndirection[#this] : &:r2129_7 -# 2129| r2129_9(glval) = FunctionAddress[operator delete] : -# 2129| r2129_10(glval) = VariableAddress[#this] : -# 2129| r2129_11(ClassWithDestructor *) = Load[#this] : &:r2129_10, m2129_6 -# 2129| r2129_12(glval) = FieldAddress[x] : r2129_11 -# 2129| r2129_13(char *) = Load[?] : &:r2129_12, ~m2129_8 -# 2129| v2129_14(void) = Call[operator delete] : func:r2129_9, 0:r2129_13 -# 2129| m2129_15(unknown) = ^CallSideEffect : ~m2129_4 -# 2129| m2129_16(unknown) = Chi : total:m2129_4, partial:m2129_15 -# 2129| v2129_17(void) = NoOp : -# 2129| v2129_18(void) = ReturnIndirection[#this] : &:r2129_7, m2129_8 -# 2129| v2129_19(void) = ReturnVoid : -# 2129| v2129_20(void) = AliasedUse : ~m2129_16 -# 2129| v2129_21(void) = ExitFunction : +# 2176| void ClassWithDestructor::~ClassWithDestructor() +# 2176| Block 0 +# 2176| v2176_1(void) = EnterFunction : +# 2176| m2176_2(unknown) = AliasedDefinition : +# 2176| m2176_3(unknown) = InitializeNonLocal : +# 2176| m2176_4(unknown) = Chi : total:m2176_2, partial:m2176_3 +# 2176| r2176_5(glval) = VariableAddress[#this] : +# 2176| m2176_6(glval) = InitializeParameter[#this] : &:r2176_5 +# 2176| r2176_7(glval) = Load[#this] : &:r2176_5, m2176_6 +# 2176| m2176_8(ClassWithDestructor) = InitializeIndirection[#this] : &:r2176_7 +# 2176| r2176_9(glval) = FunctionAddress[operator delete] : +# 2176| r2176_10(glval) = VariableAddress[#this] : +# 2176| r2176_11(ClassWithDestructor *) = Load[#this] : &:r2176_10, m2176_6 +# 2176| r2176_12(glval) = FieldAddress[x] : r2176_11 +# 2176| r2176_13(char *) = Load[?] : &:r2176_12, ~m2176_8 +# 2176| v2176_14(void) = Call[operator delete] : func:r2176_9, 0:r2176_13 +# 2176| m2176_15(unknown) = ^CallSideEffect : ~m2176_4 +# 2176| m2176_16(unknown) = Chi : total:m2176_4, partial:m2176_15 +# 2176| v2176_17(void) = NoOp : +# 2176| v2176_18(void) = ReturnIndirection[#this] : &:r2176_7, m2176_8 +# 2176| v2176_19(void) = ReturnVoid : +# 2176| v2176_20(void) = AliasedUse : ~m2176_16 +# 2176| v2176_21(void) = ExitFunction : -# 2131| void ClassWithDestructor::set_x(char) -# 2131| Block 0 -# 2131| v2131_1(void) = EnterFunction : -# 2131| m2131_2(unknown) = AliasedDefinition : -# 2131| m2131_3(unknown) = InitializeNonLocal : -# 2131| m2131_4(unknown) = Chi : total:m2131_2, partial:m2131_3 -# 2131| r2131_5(glval) = VariableAddress[#this] : -# 2131| m2131_6(glval) = InitializeParameter[#this] : &:r2131_5 -# 2131| r2131_7(glval) = Load[#this] : &:r2131_5, m2131_6 -# 2131| m2131_8(ClassWithDestructor) = InitializeIndirection[#this] : &:r2131_7 -# 2131| r2131_9(glval) = VariableAddress[y] : -# 2131| m2131_10(char) = InitializeParameter[y] : &:r2131_9 -# 2131| r2131_11(glval) = VariableAddress[y] : -# 2131| r2131_12(char) = Load[y] : &:r2131_11, m2131_10 -# 2131| r2131_13(glval) = VariableAddress[#this] : -# 2131| r2131_14(ClassWithDestructor *) = Load[#this] : &:r2131_13, m2131_6 -# 2131| r2131_15(glval) = FieldAddress[x] : r2131_14 -# 2131| r2131_16(char *) = Load[?] : &:r2131_15, ~m2131_8 -# 2131| r2131_17(glval) = CopyValue : r2131_16 -# 2131| m2131_18(char) = Store[?] : &:r2131_17, r2131_12 -# 2131| m2131_19(unknown) = Chi : total:m2131_4, partial:m2131_18 -# 2131| v2131_20(void) = NoOp : -# 2131| v2131_21(void) = ReturnIndirection[#this] : &:r2131_7, m2131_8 -# 2131| v2131_22(void) = ReturnVoid : -# 2131| v2131_23(void) = AliasedUse : ~m2131_19 -# 2131| v2131_24(void) = ExitFunction : +# 2178| void ClassWithDestructor::set_x(char) +# 2178| Block 0 +# 2178| v2178_1(void) = EnterFunction : +# 2178| m2178_2(unknown) = AliasedDefinition : +# 2178| m2178_3(unknown) = InitializeNonLocal : +# 2178| m2178_4(unknown) = Chi : total:m2178_2, partial:m2178_3 +# 2178| r2178_5(glval) = VariableAddress[#this] : +# 2178| m2178_6(glval) = InitializeParameter[#this] : &:r2178_5 +# 2178| r2178_7(glval) = Load[#this] : &:r2178_5, m2178_6 +# 2178| m2178_8(ClassWithDestructor) = InitializeIndirection[#this] : &:r2178_7 +# 2178| r2178_9(glval) = VariableAddress[y] : +# 2178| m2178_10(char) = InitializeParameter[y] : &:r2178_9 +# 2178| r2178_11(glval) = VariableAddress[y] : +# 2178| r2178_12(char) = Load[y] : &:r2178_11, m2178_10 +# 2178| r2178_13(glval) = VariableAddress[#this] : +# 2178| r2178_14(ClassWithDestructor *) = Load[#this] : &:r2178_13, m2178_6 +# 2178| r2178_15(glval) = FieldAddress[x] : r2178_14 +# 2178| r2178_16(char *) = Load[?] : &:r2178_15, ~m2178_8 +# 2178| r2178_17(glval) = CopyValue : r2178_16 +# 2178| m2178_18(char) = Store[?] : &:r2178_17, r2178_12 +# 2178| m2178_19(unknown) = Chi : total:m2178_4, partial:m2178_18 +# 2178| v2178_20(void) = NoOp : +# 2178| v2178_21(void) = ReturnIndirection[#this] : &:r2178_7, m2178_8 +# 2178| v2178_22(void) = ReturnVoid : +# 2178| v2178_23(void) = AliasedUse : ~m2178_19 +# 2178| v2178_24(void) = ExitFunction : -# 2132| char ClassWithDestructor::get_x() -# 2132| Block 0 -# 2132| v2132_1(void) = EnterFunction : -# 2132| m2132_2(unknown) = AliasedDefinition : -# 2132| m2132_3(unknown) = InitializeNonLocal : -# 2132| m2132_4(unknown) = Chi : total:m2132_2, partial:m2132_3 -# 2132| r2132_5(glval) = VariableAddress[#this] : -# 2132| m2132_6(glval) = InitializeParameter[#this] : &:r2132_5 -# 2132| r2132_7(glval) = Load[#this] : &:r2132_5, m2132_6 -# 2132| m2132_8(ClassWithDestructor) = InitializeIndirection[#this] : &:r2132_7 -# 2132| r2132_9(glval) = VariableAddress[#return] : -# 2132| r2132_10(glval) = VariableAddress[#this] : -# 2132| r2132_11(ClassWithDestructor *) = Load[#this] : &:r2132_10, m2132_6 -# 2132| r2132_12(glval) = FieldAddress[x] : r2132_11 -# 2132| r2132_13(char *) = Load[?] : &:r2132_12, ~m2132_8 -# 2132| r2132_14(char) = Load[?] : &:r2132_13, ~m2132_4 -# 2132| m2132_15(char) = Store[#return] : &:r2132_9, r2132_14 -# 2132| v2132_16(void) = ReturnIndirection[#this] : &:r2132_7, m2132_8 -# 2132| r2132_17(glval) = VariableAddress[#return] : -# 2132| v2132_18(void) = ReturnValue : &:r2132_17, m2132_15 -# 2132| v2132_19(void) = AliasedUse : m2132_3 -# 2132| v2132_20(void) = ExitFunction : - -# 2135| bool initialization_with_destructor_bool -# 2135| Block 0 -# 2135| v2135_1(void) = EnterFunction : -# 2135| m2135_2(unknown) = AliasedDefinition : -# 2135| r2135_3(glval) = VariableAddress[initialization_with_destructor_bool] : -# 2135| r2135_4(bool) = Constant[1] : -# 2135| m2135_5(bool) = Store[initialization_with_destructor_bool] : &:r2135_3, r2135_4 -# 2135| m2135_6(unknown) = Chi : total:m2135_2, partial:m2135_5 -# 2135| v2135_7(void) = ReturnVoid : -# 2135| v2135_8(void) = AliasedUse : ~m2135_6 -# 2135| v2135_9(void) = ExitFunction : - -# 2137| void initialization_with_destructor(bool, char) -# 2137| Block 0 -# 2137| v2137_1(void) = EnterFunction : -# 2137| m2137_2(unknown) = AliasedDefinition : -# 2137| m2137_3(unknown) = InitializeNonLocal : -# 2137| m2137_4(unknown) = Chi : total:m2137_2, partial:m2137_3 -# 2137| r2137_5(glval) = VariableAddress[b] : -# 2137| m2137_6(bool) = InitializeParameter[b] : &:r2137_5 -# 2137| r2137_7(glval) = VariableAddress[c] : -# 2137| m2137_8(char) = InitializeParameter[c] : &:r2137_7 -# 2138| r2138_1(glval) = VariableAddress[x] : -# 2138| m2138_2(ClassWithDestructor) = Uninitialized[x] : &:r2138_1 -# 2138| r2138_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2138| v2138_4(void) = Call[ClassWithDestructor] : func:r2138_3, this:r2138_1 -# 2138| m2138_5(unknown) = ^CallSideEffect : ~m2137_4 -# 2138| m2138_6(unknown) = Chi : total:m2137_4, partial:m2138_5 -# 2138| m2138_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2138_1 -# 2138| m2138_8(ClassWithDestructor) = Chi : total:m2138_2, partial:m2138_7 -# 2138| r2138_9(glval) = VariableAddress[b] : -# 2138| r2138_10(bool) = Load[b] : &:r2138_9, m2137_6 -# 2138| v2138_11(void) = ConditionalBranch : r2138_10 -#-----| False -> Block 3 -#-----| True -> Block 2 - -# 2137| Block 1 -# 2137| m2137_9(unknown) = Phi : from 13:~m2172_5, from 19:~m2172_13, from 23:~m2172_22 -# 2137| v2137_10(void) = ReturnVoid : -# 2137| v2137_11(void) = AliasedUse : ~m2137_9 -# 2137| v2137_12(void) = ExitFunction : - -# 2139| Block 2 -# 2139| r2139_1(glval) = VariableAddress[x] : -# 2139| r2139_2(glval) = FunctionAddress[set_x] : -# 2139| r2139_3(char) = Constant[97] : -# 2139| v2139_4(void) = Call[set_x] : func:r2139_2, this:r2139_1, 0:r2139_3 -# 2139| m2139_5(unknown) = ^CallSideEffect : ~m2138_6 -# 2139| m2139_6(unknown) = Chi : total:m2138_6, partial:m2139_5 -# 2139| v2139_7(void) = ^IndirectReadSideEffect[-1] : &:r2139_1, m2138_8 -# 2139| m2139_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2139_1 -# 2139| m2139_9(ClassWithDestructor) = Chi : total:m2138_8, partial:m2139_8 -# 2139| r2139_10(glval) = VariableAddress[x] : -# 2139| r2139_11(glval) = FunctionAddress[~ClassWithDestructor] : -# 2139| v2139_12(void) = Call[~ClassWithDestructor] : func:r2139_11, this:r2139_10 -# 2139| m2139_13(unknown) = ^CallSideEffect : ~m2139_6 -# 2139| m2139_14(unknown) = Chi : total:m2139_6, partial:m2139_13 -# 2139| v2139_15(void) = ^IndirectReadSideEffect[-1] : &:r2139_10, m2139_9 -# 2139| m2139_16(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2139_10 -# 2139| m2139_17(ClassWithDestructor) = Chi : total:m2139_9, partial:m2139_16 -#-----| Goto -> Block 3 - -# 2141| Block 3 -# 2141| m2141_1(unknown) = Phi : from 0:~m2138_6, from 2:~m2139_14 -# 2141| r2141_2(glval) = VariableAddress[x] : -# 2141| m2141_3(ClassWithDestructor) = Uninitialized[x] : &:r2141_2 -# 2141| r2141_4(glval) = FunctionAddress[ClassWithDestructor] : -# 2141| v2141_5(void) = Call[ClassWithDestructor] : func:r2141_4, this:r2141_2 -# 2141| m2141_6(unknown) = ^CallSideEffect : ~m2141_1 -# 2141| m2141_7(unknown) = Chi : total:m2141_1, partial:m2141_6 -# 2141| m2141_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2141_2 -# 2141| m2141_9(ClassWithDestructor) = Chi : total:m2141_3, partial:m2141_8 -# 2141| r2141_10(bool) = Constant[1] : -# 2141| v2141_11(void) = ConditionalBranch : r2141_10 -#-----| False -> Block 24 -#-----| True -> Block 4 - -# 2142| Block 4 -# 2142| r2142_1(glval) = VariableAddress[x] : -# 2142| r2142_2(glval) = FunctionAddress[set_x] : -# 2142| r2142_3(char) = Constant[97] : -# 2142| v2142_4(void) = Call[set_x] : func:r2142_2, this:r2142_1, 0:r2142_3 -# 2142| m2142_5(unknown) = ^CallSideEffect : ~m2141_7 -# 2142| m2142_6(unknown) = Chi : total:m2141_7, partial:m2142_5 -# 2142| v2142_7(void) = ^IndirectReadSideEffect[-1] : &:r2142_1, m2141_9 -# 2142| m2142_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2142_1 -# 2142| m2142_9(ClassWithDestructor) = Chi : total:m2141_9, partial:m2142_8 -# 2144| r2144_1(glval) = VariableAddress[x] : -# 2144| m2144_2(ClassWithDestructor) = Uninitialized[x] : &:r2144_1 -# 2144| r2144_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2144| v2144_4(void) = Call[ClassWithDestructor] : func:r2144_3, this:r2144_1 -# 2144| m2144_5(unknown) = ^CallSideEffect : ~m2142_6 -# 2144| m2144_6(unknown) = Chi : total:m2142_6, partial:m2144_5 -# 2144| m2144_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2144_1 -# 2144| m2144_8(ClassWithDestructor) = Chi : total:m2144_2, partial:m2144_7 -# 2144| r2144_9(glval) = VariableAddress[c] : -# 2144| r2144_10(char) = Load[c] : &:r2144_9, m2137_8 -# 2144| r2144_11(int) = Convert : r2144_10 -# 2144| v2144_12(void) = Switch : r2144_11 -#-----| Case[97] -> Block 5 -#-----| Default -> Block 6 - -# 2145| Block 5 -# 2145| v2145_1(void) = NoOp : -# 2146| r2146_1(glval) = VariableAddress[x] : -# 2146| r2146_2(glval) = FunctionAddress[set_x] : -# 2146| r2146_3(char) = Constant[97] : -# 2146| v2146_4(void) = Call[set_x] : func:r2146_2, this:r2146_1, 0:r2146_3 -# 2146| m2146_5(unknown) = ^CallSideEffect : ~m2144_6 -# 2146| m2146_6(unknown) = Chi : total:m2144_6, partial:m2146_5 -# 2146| v2146_7(void) = ^IndirectReadSideEffect[-1] : &:r2146_1, m2144_8 -# 2146| m2146_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2146_1 -# 2146| m2146_9(ClassWithDestructor) = Chi : total:m2144_8, partial:m2146_8 -# 2147| v2147_1(void) = NoOp : -#-----| Goto -> Block 7 - -# 2148| Block 6 -# 2148| v2148_1(void) = NoOp : -# 2149| r2149_1(glval) = VariableAddress[x] : -# 2149| r2149_2(glval) = FunctionAddress[set_x] : -# 2149| r2149_3(char) = Constant[98] : -# 2149| v2149_4(void) = Call[set_x] : func:r2149_2, this:r2149_1, 0:r2149_3 -# 2149| m2149_5(unknown) = ^CallSideEffect : ~m2144_6 -# 2149| m2149_6(unknown) = Chi : total:m2144_6, partial:m2149_5 -# 2149| v2149_7(void) = ^IndirectReadSideEffect[-1] : &:r2149_1, m2144_8 -# 2149| m2149_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2149_1 -# 2149| m2149_9(ClassWithDestructor) = Chi : total:m2144_8, partial:m2149_8 -# 2150| v2150_1(void) = NoOp : -#-----| Goto -> Block 7 - -# 2151| Block 7 -# 2151| m2151_1(unknown) = Phi : from 5:~m2146_6, from 6:~m2149_6 -# 2151| v2151_2(void) = NoOp : -# 2153| r2153_1(glval) = VariableAddress[x] : -# 2153| m2153_2(ClassWithDestructor) = Uninitialized[x] : &:r2153_1 -# 2153| r2153_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2153| v2153_4(void) = Call[ClassWithDestructor] : func:r2153_3, this:r2153_1 -# 2153| m2153_5(unknown) = ^CallSideEffect : ~m2151_1 -# 2153| m2153_6(unknown) = Chi : total:m2151_1, partial:m2153_5 -# 2153| m2153_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2153_1 -# 2153| m2153_8(ClassWithDestructor) = Chi : total:m2153_2, partial:m2153_7 -# 2154| r2154_1(glval>) = VariableAddress[ys] : -# 2154| m2154_2(vector) = Uninitialized[ys] : &:r2154_1 -# 2154| r2154_3(glval) = FunctionAddress[vector] : -# 2154| r2154_4(glval) = VariableAddress[#temp2154:40] : -# 2154| r2154_5(glval) = VariableAddress[x] : -# 2154| r2154_6(ClassWithDestructor) = Load[x] : &:r2154_5, m2153_8 -# 2154| m2154_7(ClassWithDestructor) = Store[#temp2154:40] : &:r2154_4, r2154_6 -# 2154| r2154_8(ClassWithDestructor) = Load[#temp2154:40] : &:r2154_4, m2154_7 -# 2154| v2154_9(void) = Call[vector] : func:r2154_3, this:r2154_1, 0:r2154_8 -# 2154| m2154_10(unknown) = ^CallSideEffect : ~m2153_6 -# 2154| m2154_11(unknown) = Chi : total:m2153_6, partial:m2154_10 -# 2154| m2154_12(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2154_1 -# 2154| m2154_13(vector) = Chi : total:m2154_2, partial:m2154_12 -# 2154| r2154_14(glval &>) = VariableAddress[(__range)] : -# 2154| r2154_15(glval>) = VariableAddress[ys] : -# 2154| r2154_16(vector &) = CopyValue : r2154_15 -# 2154| m2154_17(vector &) = Store[(__range)] : &:r2154_14, r2154_16 -# 2154| r2154_18(glval) = VariableAddress[(__begin)] : -# 2154| r2154_19(glval &>) = VariableAddress[(__range)] : -# 2154| r2154_20(vector &) = Load[(__range)] : &:r2154_19, m2154_17 -#-----| r0_1(glval>) = CopyValue : r2154_20 -#-----| r0_2(glval>) = Convert : r0_1 -# 2154| r2154_21(glval) = FunctionAddress[begin] : -# 2154| r2154_22(iterator) = Call[begin] : func:r2154_21, this:r0_2 -# 2154| m2154_23(unknown) = ^CallSideEffect : ~m2154_11 -# 2154| m2154_24(unknown) = Chi : total:m2154_11, partial:m2154_23 -#-----| v0_3(void) = ^IndirectReadSideEffect[-1] : &:r0_2, m2154_13 -# 2154| m2154_25(iterator) = Store[(__begin)] : &:r2154_18, r2154_22 -# 2154| r2154_26(glval) = VariableAddress[(__end)] : -# 2154| r2154_27(glval &>) = VariableAddress[(__range)] : -# 2154| r2154_28(vector &) = Load[(__range)] : &:r2154_27, m2154_17 -#-----| r0_4(glval>) = CopyValue : r2154_28 -#-----| r0_5(glval>) = Convert : r0_4 -# 2154| r2154_29(glval) = FunctionAddress[end] : -# 2154| r2154_30(iterator) = Call[end] : func:r2154_29, this:r0_5 -# 2154| m2154_31(unknown) = ^CallSideEffect : ~m2154_24 -# 2154| m2154_32(unknown) = Chi : total:m2154_24, partial:m2154_31 -#-----| v0_6(void) = ^IndirectReadSideEffect[-1] : &:r0_5, m2154_13 -# 2154| m2154_33(iterator) = Store[(__end)] : &:r2154_26, r2154_30 -#-----| Goto -> Block 8 - -# 2154| Block 8 -# 2154| m2154_34(iterator) = Phi : from 7:m2154_25, from 9:m2154_67 -# 2154| m2154_35(unknown) = Phi : from 7:~m2154_32, from 9:~m2154_64 -# 2154| r2154_36(glval) = VariableAddress[(__begin)] : -#-----| r0_7(glval) = Convert : r2154_36 -# 2154| r2154_37(glval) = FunctionAddress[operator!=] : -# 2154| r2154_38(glval) = VariableAddress[(__end)] : -# 2154| r2154_39(iterator) = Load[(__end)] : &:r2154_38, m2154_33 -# 2154| r2154_40(bool) = Call[operator!=] : func:r2154_37, this:r0_7, 0:r2154_39 -# 2154| m2154_41(unknown) = ^CallSideEffect : ~m2154_35 -# 2154| m2154_42(unknown) = Chi : total:m2154_35, partial:m2154_41 -#-----| v0_8(void) = ^IndirectReadSideEffect[-1] : &:r0_7, m2154_34 -# 2154| v2154_43(void) = ConditionalBranch : r2154_40 -#-----| False -> Block 10 -#-----| True -> Block 9 - -# 2154| Block 9 -# 2154| r2154_44(glval) = VariableAddress[y] : -# 2154| r2154_45(glval) = VariableAddress[(__begin)] : -#-----| r0_9(glval) = Convert : r2154_45 -# 2154| r2154_46(glval) = FunctionAddress[operator*] : -# 2154| r2154_47(ClassWithDestructor &) = Call[operator*] : func:r2154_46, this:r0_9 -# 2154| m2154_48(unknown) = ^CallSideEffect : ~m2154_42 -# 2154| m2154_49(unknown) = Chi : total:m2154_42, partial:m2154_48 -#-----| v0_10(void) = ^IndirectReadSideEffect[-1] : &:r0_9, m2154_34 -# 2154| r2154_50(ClassWithDestructor) = Load[?] : &:r2154_47, ~m2154_49 -# 2154| m2154_51(ClassWithDestructor) = Store[y] : &:r2154_44, r2154_50 -# 2155| r2155_1(glval) = VariableAddress[y] : -# 2155| r2155_2(glval) = FunctionAddress[set_x] : -# 2155| r2155_3(char) = Constant[97] : -# 2155| v2155_4(void) = Call[set_x] : func:r2155_2, this:r2155_1, 0:r2155_3 -# 2155| m2155_5(unknown) = ^CallSideEffect : ~m2154_49 -# 2155| m2155_6(unknown) = Chi : total:m2154_49, partial:m2155_5 -# 2155| v2155_7(void) = ^IndirectReadSideEffect[-1] : &:r2155_1, m2154_51 -# 2155| m2155_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2155_1 -# 2155| m2155_9(ClassWithDestructor) = Chi : total:m2154_51, partial:m2155_8 -# 2154| r2154_52(glval) = VariableAddress[y] : -# 2154| r2154_53(glval) = FunctionAddress[~ClassWithDestructor] : -# 2154| v2154_54(void) = Call[~ClassWithDestructor] : func:r2154_53, this:r2154_52 -# 2154| m2154_55(unknown) = ^CallSideEffect : ~m2155_6 -# 2154| m2154_56(unknown) = Chi : total:m2155_6, partial:m2154_55 -# 2154| v2154_57(void) = ^IndirectReadSideEffect[-1] : &:r2154_52, m2155_9 -# 2154| m2154_58(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2154_52 -# 2154| m2154_59(ClassWithDestructor) = Chi : total:m2155_9, partial:m2154_58 -# 2154| r2154_60(glval) = VariableAddress[(__begin)] : -# 2154| r2154_61(glval) = FunctionAddress[operator++] : -# 2154| r2154_62(iterator &) = Call[operator++] : func:r2154_61, this:r2154_60 -# 2154| m2154_63(unknown) = ^CallSideEffect : ~m2154_56 -# 2154| m2154_64(unknown) = Chi : total:m2154_56, partial:m2154_63 -# 2154| v2154_65(void) = ^IndirectReadSideEffect[-1] : &:r2154_60, m2154_34 -# 2154| m2154_66(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2154_60 -# 2154| m2154_67(iterator) = Chi : total:m2154_34, partial:m2154_66 -# 2154| r2154_68(glval) = CopyValue : r2154_62 -#-----| Goto (back edge) -> Block 8 - -# 2157| Block 10 -# 2157| r2157_1(glval>) = VariableAddress[ys] : -# 2157| m2157_2(vector) = Uninitialized[ys] : &:r2157_1 -# 2157| r2157_3(glval) = FunctionAddress[vector] : -# 2157| r2157_4(glval) = VariableAddress[#temp2157:40] : -# 2157| r2157_5(glval) = VariableAddress[x] : -# 2157| r2157_6(ClassWithDestructor) = Load[x] : &:r2157_5, m2153_8 -# 2157| m2157_7(ClassWithDestructor) = Store[#temp2157:40] : &:r2157_4, r2157_6 -# 2157| r2157_8(ClassWithDestructor) = Load[#temp2157:40] : &:r2157_4, m2157_7 -# 2157| v2157_9(void) = Call[vector] : func:r2157_3, this:r2157_1, 0:r2157_8 -# 2157| m2157_10(unknown) = ^CallSideEffect : ~m2154_42 -# 2157| m2157_11(unknown) = Chi : total:m2154_42, partial:m2157_10 -# 2157| m2157_12(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2157_1 -# 2157| m2157_13(vector) = Chi : total:m2157_2, partial:m2157_12 -# 2157| r2157_14(glval &>) = VariableAddress[(__range)] : -# 2157| r2157_15(glval>) = VariableAddress[ys] : -# 2157| r2157_16(vector &) = CopyValue : r2157_15 -# 2157| m2157_17(vector &) = Store[(__range)] : &:r2157_14, r2157_16 -# 2157| r2157_18(glval) = VariableAddress[(__begin)] : -# 2157| r2157_19(glval &>) = VariableAddress[(__range)] : -# 2157| r2157_20(vector &) = Load[(__range)] : &:r2157_19, m2157_17 -#-----| r0_11(glval>) = CopyValue : r2157_20 -#-----| r0_12(glval>) = Convert : r0_11 -# 2157| r2157_21(glval) = FunctionAddress[begin] : -# 2157| r2157_22(iterator) = Call[begin] : func:r2157_21, this:r0_12 -# 2157| m2157_23(unknown) = ^CallSideEffect : ~m2157_11 -# 2157| m2157_24(unknown) = Chi : total:m2157_11, partial:m2157_23 -#-----| v0_13(void) = ^IndirectReadSideEffect[-1] : &:r0_12, m2157_13 -# 2157| m2157_25(iterator) = Store[(__begin)] : &:r2157_18, r2157_22 -# 2157| r2157_26(glval) = VariableAddress[(__end)] : -# 2157| r2157_27(glval &>) = VariableAddress[(__range)] : -# 2157| r2157_28(vector &) = Load[(__range)] : &:r2157_27, m2157_17 -#-----| r0_14(glval>) = CopyValue : r2157_28 -#-----| r0_15(glval>) = Convert : r0_14 -# 2157| r2157_29(glval) = FunctionAddress[end] : -# 2157| r2157_30(iterator) = Call[end] : func:r2157_29, this:r0_15 -# 2157| m2157_31(unknown) = ^CallSideEffect : ~m2157_24 -# 2157| m2157_32(unknown) = Chi : total:m2157_24, partial:m2157_31 -#-----| v0_16(void) = ^IndirectReadSideEffect[-1] : &:r0_15, m2157_13 -# 2157| m2157_33(iterator) = Store[(__end)] : &:r2157_26, r2157_30 -#-----| Goto -> Block 11 - -# 2157| Block 11 -# 2157| m2157_34(iterator) = Phi : from 10:m2157_25, from 14:m2157_83 -# 2157| m2157_35(unknown) = Phi : from 10:~m2157_32, from 14:~m2157_80 -# 2157| r2157_36(glval) = VariableAddress[(__begin)] : -#-----| r0_17(glval) = Convert : r2157_36 -# 2157| r2157_37(glval) = FunctionAddress[operator!=] : -# 2157| r2157_38(glval) = VariableAddress[(__end)] : -# 2157| r2157_39(iterator) = Load[(__end)] : &:r2157_38, m2157_33 -# 2157| r2157_40(bool) = Call[operator!=] : func:r2157_37, this:r0_17, 0:r2157_39 -# 2157| m2157_41(unknown) = ^CallSideEffect : ~m2157_35 -# 2157| m2157_42(unknown) = Chi : total:m2157_35, partial:m2157_41 -#-----| v0_18(void) = ^IndirectReadSideEffect[-1] : &:r0_17, m2157_34 -# 2157| v2157_43(void) = ConditionalBranch : r2157_40 -#-----| False -> Block 15 -#-----| True -> Block 12 - -# 2157| Block 12 -# 2157| r2157_44(glval) = VariableAddress[y] : -# 2157| r2157_45(glval) = VariableAddress[(__begin)] : -#-----| r0_19(glval) = Convert : r2157_45 -# 2157| r2157_46(glval) = FunctionAddress[operator*] : -# 2157| r2157_47(ClassWithDestructor &) = Call[operator*] : func:r2157_46, this:r0_19 -# 2157| m2157_48(unknown) = ^CallSideEffect : ~m2157_42 -# 2157| m2157_49(unknown) = Chi : total:m2157_42, partial:m2157_48 -#-----| v0_20(void) = ^IndirectReadSideEffect[-1] : &:r0_19, m2157_34 -# 2157| r2157_50(ClassWithDestructor) = Load[?] : &:r2157_47, ~m2157_49 -# 2157| m2157_51(ClassWithDestructor) = Store[y] : &:r2157_44, r2157_50 -# 2158| r2158_1(glval) = VariableAddress[y] : -# 2158| r2158_2(glval) = FunctionAddress[set_x] : -# 2158| r2158_3(char) = Constant[97] : -# 2158| v2158_4(void) = Call[set_x] : func:r2158_2, this:r2158_1, 0:r2158_3 -# 2158| m2158_5(unknown) = ^CallSideEffect : ~m2157_49 -# 2158| m2158_6(unknown) = Chi : total:m2157_49, partial:m2158_5 -# 2158| v2158_7(void) = ^IndirectReadSideEffect[-1] : &:r2158_1, m2157_51 -# 2158| m2158_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2158_1 -# 2158| m2158_9(ClassWithDestructor) = Chi : total:m2157_51, partial:m2158_8 -# 2159| r2159_1(glval) = VariableAddress[y] : -# 2159| r2159_2(glval) = FunctionAddress[get_x] : -# 2159| r2159_3(char) = Call[get_x] : func:r2159_2, this:r2159_1 -# 2159| m2159_4(unknown) = ^CallSideEffect : ~m2158_6 -# 2159| m2159_5(unknown) = Chi : total:m2158_6, partial:m2159_4 -# 2159| v2159_6(void) = ^IndirectReadSideEffect[-1] : &:r2159_1, m2158_9 -# 2159| m2159_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2159_1 -# 2159| m2159_8(ClassWithDestructor) = Chi : total:m2158_9, partial:m2159_7 -# 2159| r2159_9(int) = Convert : r2159_3 -# 2159| r2159_10(int) = Constant[98] : -# 2159| r2159_11(bool) = CompareEQ : r2159_9, r2159_10 -# 2159| v2159_12(void) = ConditionalBranch : r2159_11 -#-----| False -> Block 14 -#-----| True -> Block 13 - -# 2160| Block 13 -# 2160| v2160_1(void) = NoOp : -# 2157| r2157_52(glval) = VariableAddress[y] : -# 2157| r2157_53(glval) = FunctionAddress[~ClassWithDestructor] : -# 2157| v2157_54(void) = Call[~ClassWithDestructor] : func:r2157_53, this:r2157_52 -# 2157| m2157_55(unknown) = ^CallSideEffect : ~m2159_5 -# 2157| m2157_56(unknown) = Chi : total:m2159_5, partial:m2157_55 -# 2157| v2157_57(void) = ^IndirectReadSideEffect[-1] : &:r2157_52, m2159_8 -# 2157| m2157_58(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2157_52 -# 2157| m2157_59(ClassWithDestructor) = Chi : total:m2159_8, partial:m2157_58 -# 2157| r2157_60(glval>) = VariableAddress[ys] : -# 2157| r2157_61(glval) = FunctionAddress[~vector] : -# 2157| v2157_62(void) = Call[~vector] : func:r2157_61, this:r2157_60 -# 2157| m2157_63(unknown) = ^CallSideEffect : ~m2157_56 -# 2157| m2157_64(unknown) = Chi : total:m2157_56, partial:m2157_63 -# 2157| v2157_65(void) = ^IndirectReadSideEffect[-1] : &:r2157_60, m2157_13 -# 2157| m2157_66(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2157_60 -# 2157| m2157_67(vector) = Chi : total:m2157_13, partial:m2157_66 -# 2172| r2172_1(glval) = VariableAddress[x] : -# 2172| r2172_2(glval) = FunctionAddress[~ClassWithDestructor] : -# 2172| v2172_3(void) = Call[~ClassWithDestructor] : func:r2172_2, this:r2172_1 -# 2172| m2172_4(unknown) = ^CallSideEffect : ~m2157_64 -# 2172| m2172_5(unknown) = Chi : total:m2157_64, partial:m2172_4 -# 2172| v2172_6(void) = ^IndirectReadSideEffect[-1] : &:r2172_1, m2153_8 -# 2172| m2172_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2172_1 -# 2172| m2172_8(ClassWithDestructor) = Chi : total:m2153_8, partial:m2172_7 -#-----| Goto -> Block 1 - -# 2157| Block 14 -# 2157| r2157_68(glval) = VariableAddress[y] : -# 2157| r2157_69(glval) = FunctionAddress[~ClassWithDestructor] : -# 2157| v2157_70(void) = Call[~ClassWithDestructor] : func:r2157_69, this:r2157_68 -# 2157| m2157_71(unknown) = ^CallSideEffect : ~m2159_5 -# 2157| m2157_72(unknown) = Chi : total:m2159_5, partial:m2157_71 -# 2157| v2157_73(void) = ^IndirectReadSideEffect[-1] : &:r2157_68, m2159_8 -# 2157| m2157_74(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2157_68 -# 2157| m2157_75(ClassWithDestructor) = Chi : total:m2159_8, partial:m2157_74 -# 2157| r2157_76(glval) = VariableAddress[(__begin)] : -# 2157| r2157_77(glval) = FunctionAddress[operator++] : -# 2157| r2157_78(iterator &) = Call[operator++] : func:r2157_77, this:r2157_76 -# 2157| m2157_79(unknown) = ^CallSideEffect : ~m2157_72 -# 2157| m2157_80(unknown) = Chi : total:m2157_72, partial:m2157_79 -# 2157| v2157_81(void) = ^IndirectReadSideEffect[-1] : &:r2157_76, m2157_34 -# 2157| m2157_82(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2157_76 -# 2157| m2157_83(iterator) = Chi : total:m2157_34, partial:m2157_82 -# 2157| r2157_84(glval) = CopyValue : r2157_78 -#-----| Goto (back edge) -> Block 11 - -# 2163| Block 15 -# 2163| r2163_1(glval>) = VariableAddress[ys] : -# 2163| m2163_2(vector) = Uninitialized[ys] : &:r2163_1 -# 2163| r2163_3(glval) = FunctionAddress[vector] : -# 2163| r2163_4(int) = Constant[1] : -# 2163| v2163_5(void) = Call[vector] : func:r2163_3, this:r2163_1, 0:r2163_4 -# 2163| m2163_6(unknown) = ^CallSideEffect : ~m2157_42 -# 2163| m2163_7(unknown) = Chi : total:m2157_42, partial:m2163_6 -# 2163| m2163_8(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2163_1 -# 2163| m2163_9(vector) = Chi : total:m2163_2, partial:m2163_8 -# 2163| r2163_10(glval &>) = VariableAddress[(__range)] : -# 2163| r2163_11(glval>) = VariableAddress[ys] : -# 2163| r2163_12(vector &) = CopyValue : r2163_11 -# 2163| m2163_13(vector &) = Store[(__range)] : &:r2163_10, r2163_12 -# 2163| r2163_14(glval) = VariableAddress[(__begin)] : -# 2163| r2163_15(glval &>) = VariableAddress[(__range)] : -# 2163| r2163_16(vector &) = Load[(__range)] : &:r2163_15, m2163_13 -#-----| r0_21(glval>) = CopyValue : r2163_16 -#-----| r0_22(glval>) = Convert : r0_21 -# 2163| r2163_17(glval) = FunctionAddress[begin] : -# 2163| r2163_18(iterator) = Call[begin] : func:r2163_17, this:r0_22 -# 2163| m2163_19(unknown) = ^CallSideEffect : ~m2163_7 -# 2163| m2163_20(unknown) = Chi : total:m2163_7, partial:m2163_19 -#-----| v0_23(void) = ^IndirectReadSideEffect[-1] : &:r0_22, m2163_9 -# 2163| m2163_21(iterator) = Store[(__begin)] : &:r2163_14, r2163_18 -# 2163| r2163_22(glval) = VariableAddress[(__end)] : -# 2163| r2163_23(glval &>) = VariableAddress[(__range)] : -# 2163| r2163_24(vector &) = Load[(__range)] : &:r2163_23, m2163_13 -#-----| r0_24(glval>) = CopyValue : r2163_24 -#-----| r0_25(glval>) = Convert : r0_24 -# 2163| r2163_25(glval) = FunctionAddress[end] : -# 2163| r2163_26(iterator) = Call[end] : func:r2163_25, this:r0_25 -# 2163| m2163_27(unknown) = ^CallSideEffect : ~m2163_20 -# 2163| m2163_28(unknown) = Chi : total:m2163_20, partial:m2163_27 -#-----| v0_26(void) = ^IndirectReadSideEffect[-1] : &:r0_25, m2163_9 -# 2163| m2163_29(iterator) = Store[(__end)] : &:r2163_22, r2163_26 -#-----| Goto -> Block 16 - -# 2163| Block 16 -# 2163| m2163_30(iterator) = Phi : from 15:m2163_21, from 17:m2163_47 -# 2163| m2163_31(unknown) = Phi : from 15:~m2163_28, from 17:~m2163_44 -# 2163| r2163_32(glval) = VariableAddress[(__begin)] : -#-----| r0_27(glval) = Convert : r2163_32 -# 2163| r2163_33(glval) = FunctionAddress[operator!=] : -# 2163| r2163_34(glval) = VariableAddress[(__end)] : -# 2163| r2163_35(iterator) = Load[(__end)] : &:r2163_34, m2163_29 -# 2163| r2163_36(bool) = Call[operator!=] : func:r2163_33, this:r0_27, 0:r2163_35 -# 2163| m2163_37(unknown) = ^CallSideEffect : ~m2163_31 -# 2163| m2163_38(unknown) = Chi : total:m2163_31, partial:m2163_37 -#-----| v0_28(void) = ^IndirectReadSideEffect[-1] : &:r0_27, m2163_30 -# 2163| v2163_39(void) = ConditionalBranch : r2163_36 -#-----| False -> Block 20 -#-----| True -> Block 18 - -# 2163| Block 17 -# 2163| r2163_40(glval) = VariableAddress[(__begin)] : -# 2163| r2163_41(glval) = FunctionAddress[operator++] : -# 2163| r2163_42(iterator &) = Call[operator++] : func:r2163_41, this:r2163_40 -# 2163| m2163_43(unknown) = ^CallSideEffect : ~m2163_54 -# 2163| m2163_44(unknown) = Chi : total:m2163_54, partial:m2163_43 -# 2163| v2163_45(void) = ^IndirectReadSideEffect[-1] : &:r2163_40, m2163_30 -# 2163| m2163_46(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2163_40 -# 2163| m2163_47(iterator) = Chi : total:m2163_30, partial:m2163_46 -# 2163| r2163_48(glval) = CopyValue : r2163_42 -#-----| Goto (back edge) -> Block 16 - -# 2163| Block 18 -# 2163| r2163_49(glval) = VariableAddress[y] : -# 2163| r2163_50(glval) = VariableAddress[(__begin)] : -#-----| r0_29(glval) = Convert : r2163_50 -# 2163| r2163_51(glval) = FunctionAddress[operator*] : -# 2163| r2163_52(int &) = Call[operator*] : func:r2163_51, this:r0_29 -# 2163| m2163_53(unknown) = ^CallSideEffect : ~m2163_38 -# 2163| m2163_54(unknown) = Chi : total:m2163_38, partial:m2163_53 -#-----| v0_30(void) = ^IndirectReadSideEffect[-1] : &:r0_29, m2163_30 -# 2163| r2163_55(int) = Load[?] : &:r2163_52, ~m2163_54 -# 2163| m2163_56(int) = Store[y] : &:r2163_49, r2163_55 -# 2164| r2164_1(glval) = VariableAddress[y] : -# 2164| r2164_2(int) = Load[y] : &:r2164_1, m2163_56 -# 2164| r2164_3(int) = Constant[1] : -# 2164| r2164_4(bool) = CompareEQ : r2164_2, r2164_3 -# 2164| v2164_5(void) = ConditionalBranch : r2164_4 -#-----| False -> Block 17 -#-----| True -> Block 19 - -# 2165| Block 19 -# 2165| v2165_1(void) = NoOp : -# 2163| r2163_57(glval>) = VariableAddress[ys] : -# 2163| r2163_58(glval) = FunctionAddress[~vector] : -# 2163| v2163_59(void) = Call[~vector] : func:r2163_58, this:r2163_57 -# 2163| m2163_60(unknown) = ^CallSideEffect : ~m2163_54 -# 2163| m2163_61(unknown) = Chi : total:m2163_54, partial:m2163_60 -# 2163| v2163_62(void) = ^IndirectReadSideEffect[-1] : &:r2163_57, m2163_9 -# 2163| m2163_63(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2163_57 -# 2163| m2163_64(vector) = Chi : total:m2163_9, partial:m2163_63 -# 2172| r2172_9(glval) = VariableAddress[x] : -# 2172| r2172_10(glval) = FunctionAddress[~ClassWithDestructor] : -# 2172| v2172_11(void) = Call[~ClassWithDestructor] : func:r2172_10, this:r2172_9 -# 2172| m2172_12(unknown) = ^CallSideEffect : ~m2163_61 -# 2172| m2172_13(unknown) = Chi : total:m2163_61, partial:m2172_12 -# 2172| v2172_14(void) = ^IndirectReadSideEffect[-1] : &:r2172_9, m2153_8 -# 2172| m2172_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2172_9 -# 2172| m2172_16(ClassWithDestructor) = Chi : total:m2153_8, partial:m2172_15 -#-----| Goto -> Block 1 - -# 2168| Block 20 -# 2168| r2168_1(glval>) = VariableAddress[ys] : -# 2168| m2168_2(vector) = Uninitialized[ys] : &:r2168_1 -# 2168| r2168_3(glval) = FunctionAddress[vector] : -# 2168| r2168_4(glval) = VariableAddress[#temp2168:40] : -# 2168| r2168_5(glval) = VariableAddress[x] : -# 2168| r2168_6(ClassWithDestructor) = Load[x] : &:r2168_5, m2153_8 -# 2168| m2168_7(ClassWithDestructor) = Store[#temp2168:40] : &:r2168_4, r2168_6 -# 2168| r2168_8(ClassWithDestructor) = Load[#temp2168:40] : &:r2168_4, m2168_7 -# 2168| v2168_9(void) = Call[vector] : func:r2168_3, this:r2168_1, 0:r2168_8 -# 2168| m2168_10(unknown) = ^CallSideEffect : ~m2163_38 -# 2168| m2168_11(unknown) = Chi : total:m2163_38, partial:m2168_10 -# 2168| m2168_12(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2168_1 -# 2168| m2168_13(vector) = Chi : total:m2168_2, partial:m2168_12 -# 2168| r2168_14(glval &>) = VariableAddress[(__range)] : -# 2168| r2168_15(glval>) = VariableAddress[ys] : -# 2168| r2168_16(vector &) = CopyValue : r2168_15 -# 2168| m2168_17(vector &) = Store[(__range)] : &:r2168_14, r2168_16 -# 2168| r2168_18(glval) = VariableAddress[(__begin)] : -# 2168| r2168_19(glval &>) = VariableAddress[(__range)] : -# 2168| r2168_20(vector &) = Load[(__range)] : &:r2168_19, m2168_17 -#-----| r0_31(glval>) = CopyValue : r2168_20 -#-----| r0_32(glval>) = Convert : r0_31 -# 2168| r2168_21(glval) = FunctionAddress[begin] : -# 2168| r2168_22(iterator) = Call[begin] : func:r2168_21, this:r0_32 -# 2168| m2168_23(unknown) = ^CallSideEffect : ~m2168_11 -# 2168| m2168_24(unknown) = Chi : total:m2168_11, partial:m2168_23 -#-----| v0_33(void) = ^IndirectReadSideEffect[-1] : &:r0_32, m2168_13 -# 2168| m2168_25(iterator) = Store[(__begin)] : &:r2168_18, r2168_22 -# 2168| r2168_26(glval) = VariableAddress[(__end)] : -# 2168| r2168_27(glval &>) = VariableAddress[(__range)] : -# 2168| r2168_28(vector &) = Load[(__range)] : &:r2168_27, m2168_17 -#-----| r0_34(glval>) = CopyValue : r2168_28 -#-----| r0_35(glval>) = Convert : r0_34 -# 2168| r2168_29(glval) = FunctionAddress[end] : -# 2168| r2168_30(iterator) = Call[end] : func:r2168_29, this:r0_35 -# 2168| m2168_31(unknown) = ^CallSideEffect : ~m2168_24 -# 2168| m2168_32(unknown) = Chi : total:m2168_24, partial:m2168_31 -#-----| v0_36(void) = ^IndirectReadSideEffect[-1] : &:r0_35, m2168_13 -# 2168| m2168_33(iterator) = Store[(__end)] : &:r2168_26, r2168_30 -#-----| Goto -> Block 21 - -# 2168| Block 21 -# 2168| m2168_34(iterator) = Phi : from 20:m2168_25, from 22:m2168_67 -# 2168| m2168_35(unknown) = Phi : from 20:~m2168_32, from 22:~m2168_64 -# 2168| r2168_36(glval) = VariableAddress[(__begin)] : -#-----| r0_37(glval) = Convert : r2168_36 -# 2168| r2168_37(glval) = FunctionAddress[operator!=] : -# 2168| r2168_38(glval) = VariableAddress[(__end)] : -# 2168| r2168_39(iterator) = Load[(__end)] : &:r2168_38, m2168_33 -# 2168| r2168_40(bool) = Call[operator!=] : func:r2168_37, this:r0_37, 0:r2168_39 -# 2168| m2168_41(unknown) = ^CallSideEffect : ~m2168_35 -# 2168| m2168_42(unknown) = Chi : total:m2168_35, partial:m2168_41 -#-----| v0_38(void) = ^IndirectReadSideEffect[-1] : &:r0_37, m2168_34 -# 2168| v2168_43(void) = ConditionalBranch : r2168_40 -#-----| False -> Block 23 -#-----| True -> Block 22 - -# 2168| Block 22 -# 2168| r2168_44(glval) = VariableAddress[y] : -# 2168| r2168_45(glval) = VariableAddress[(__begin)] : -#-----| r0_39(glval) = Convert : r2168_45 -# 2168| r2168_46(glval) = FunctionAddress[operator*] : -# 2168| r2168_47(ClassWithDestructor &) = Call[operator*] : func:r2168_46, this:r0_39 -# 2168| m2168_48(unknown) = ^CallSideEffect : ~m2168_42 -# 2168| m2168_49(unknown) = Chi : total:m2168_42, partial:m2168_48 -#-----| v0_40(void) = ^IndirectReadSideEffect[-1] : &:r0_39, m2168_34 -# 2168| r2168_50(ClassWithDestructor) = Load[?] : &:r2168_47, ~m2168_49 -# 2168| m2168_51(ClassWithDestructor) = Store[y] : &:r2168_44, r2168_50 -# 2169| r2169_1(glval) = VariableAddress[z1] : -# 2169| m2169_2(ClassWithDestructor) = Uninitialized[z1] : &:r2169_1 -# 2169| r2169_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2169| v2169_4(void) = Call[ClassWithDestructor] : func:r2169_3, this:r2169_1 -# 2169| m2169_5(unknown) = ^CallSideEffect : ~m2168_49 -# 2169| m2169_6(unknown) = Chi : total:m2168_49, partial:m2169_5 -# 2169| m2169_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2169_1 -# 2169| m2169_8(ClassWithDestructor) = Chi : total:m2169_2, partial:m2169_7 -# 2170| r2170_1(glval) = VariableAddress[z2] : -# 2170| m2170_2(ClassWithDestructor) = Uninitialized[z2] : &:r2170_1 -# 2170| r2170_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2170| v2170_4(void) = Call[ClassWithDestructor] : func:r2170_3, this:r2170_1 -# 2170| m2170_5(unknown) = ^CallSideEffect : ~m2169_6 -# 2170| m2170_6(unknown) = Chi : total:m2169_6, partial:m2170_5 -# 2170| m2170_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2170_1 -# 2170| m2170_8(ClassWithDestructor) = Chi : total:m2170_2, partial:m2170_7 -# 2171| r2171_1(glval) = VariableAddress[z2] : -# 2171| r2171_2(glval) = FunctionAddress[~ClassWithDestructor] : -# 2171| v2171_3(void) = Call[~ClassWithDestructor] : func:r2171_2, this:r2171_1 -# 2171| m2171_4(unknown) = ^CallSideEffect : ~m2170_6 -# 2171| m2171_5(unknown) = Chi : total:m2170_6, partial:m2171_4 -# 2171| v2171_6(void) = ^IndirectReadSideEffect[-1] : &:r2171_1, m2170_8 -# 2171| m2171_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2171_1 -# 2171| m2171_8(ClassWithDestructor) = Chi : total:m2170_8, partial:m2171_7 -# 2171| r2171_9(glval) = VariableAddress[z1] : -# 2171| r2171_10(glval) = FunctionAddress[~ClassWithDestructor] : -# 2171| v2171_11(void) = Call[~ClassWithDestructor] : func:r2171_10, this:r2171_9 -# 2171| m2171_12(unknown) = ^CallSideEffect : ~m2171_5 -# 2171| m2171_13(unknown) = Chi : total:m2171_5, partial:m2171_12 -# 2171| v2171_14(void) = ^IndirectReadSideEffect[-1] : &:r2171_9, m2169_8 -# 2171| m2171_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2171_9 -# 2171| m2171_16(ClassWithDestructor) = Chi : total:m2169_8, partial:m2171_15 -# 2168| r2168_52(glval) = VariableAddress[y] : -# 2168| r2168_53(glval) = FunctionAddress[~ClassWithDestructor] : -# 2168| v2168_54(void) = Call[~ClassWithDestructor] : func:r2168_53, this:r2168_52 -# 2168| m2168_55(unknown) = ^CallSideEffect : ~m2171_13 -# 2168| m2168_56(unknown) = Chi : total:m2171_13, partial:m2168_55 -# 2168| v2168_57(void) = ^IndirectReadSideEffect[-1] : &:r2168_52, m2168_51 -# 2168| m2168_58(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2168_52 -# 2168| m2168_59(ClassWithDestructor) = Chi : total:m2168_51, partial:m2168_58 -# 2168| r2168_60(glval) = VariableAddress[(__begin)] : -# 2168| r2168_61(glval) = FunctionAddress[operator++] : -# 2168| r2168_62(iterator &) = Call[operator++] : func:r2168_61, this:r2168_60 -# 2168| m2168_63(unknown) = ^CallSideEffect : ~m2168_56 -# 2168| m2168_64(unknown) = Chi : total:m2168_56, partial:m2168_63 -# 2168| v2168_65(void) = ^IndirectReadSideEffect[-1] : &:r2168_60, m2168_34 -# 2168| m2168_66(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2168_60 -# 2168| m2168_67(iterator) = Chi : total:m2168_34, partial:m2168_66 -# 2168| r2168_68(glval) = CopyValue : r2168_62 -#-----| Goto (back edge) -> Block 21 - -# 2172| Block 23 -# 2172| v2172_17(void) = NoOp : -# 2172| r2172_18(glval) = VariableAddress[x] : -# 2172| r2172_19(glval) = FunctionAddress[~ClassWithDestructor] : -# 2172| v2172_20(void) = Call[~ClassWithDestructor] : func:r2172_19, this:r2172_18 -# 2172| m2172_21(unknown) = ^CallSideEffect : ~m2168_42 -# 2172| m2172_22(unknown) = Chi : total:m2168_42, partial:m2172_21 -# 2172| v2172_23(void) = ^IndirectReadSideEffect[-1] : &:r2172_18, m2153_8 -# 2172| m2172_24(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2172_18 -# 2172| m2172_25(ClassWithDestructor) = Chi : total:m2153_8, partial:m2172_24 -#-----| Goto -> Block 1 - -# 2137| Block 24 -# 2137| v2137_13(void) = Unreached : - -# 2174| void static_variable_with_destructor_1() -# 2174| Block 0 -# 2174| v2174_1(void) = EnterFunction : -# 2174| m2174_2(unknown) = AliasedDefinition : -# 2174| m2174_3(unknown) = InitializeNonLocal : -# 2174| m2174_4(unknown) = Chi : total:m2174_2, partial:m2174_3 -# 2175| r2175_1(glval) = VariableAddress[a] : -# 2175| m2175_2(ClassWithDestructor) = Uninitialized[a] : &:r2175_1 -# 2175| r2175_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2175| v2175_4(void) = Call[ClassWithDestructor] : func:r2175_3, this:r2175_1 -# 2175| m2175_5(unknown) = ^CallSideEffect : ~m2174_4 -# 2175| m2175_6(unknown) = Chi : total:m2174_4, partial:m2175_5 -# 2175| m2175_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2175_1 -# 2175| m2175_8(ClassWithDestructor) = Chi : total:m2175_2, partial:m2175_7 -# 2176| r2176_1(glval) = VariableAddress[b#init] : -# 2176| r2176_2(bool) = Load[b#init] : &:r2176_1, ~m2175_6 -# 2176| v2176_3(void) = ConditionalBranch : r2176_2 -#-----| False -> Block 1 -#-----| True -> Block 2 - -# 2176| Block 1 -# 2176| r2176_4(glval) = VariableAddress[b] : -#-----| r0_1(glval) = FunctionAddress[ClassWithDestructor] : -#-----| v0_2(void) = Call[ClassWithDestructor] : func:r0_1, this:r2176_4 -#-----| m0_3(unknown) = ^CallSideEffect : ~m2175_6 -#-----| m0_4(unknown) = Chi : total:m2175_6, partial:m0_3 -#-----| m0_5(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2176_4 -#-----| m0_6(unknown) = Chi : total:m0_4, partial:m0_5 -# 2176| r2176_5(bool) = Constant[1] : -# 2176| m2176_6(bool) = Store[b#init] : &:r2176_1, r2176_5 -# 2176| m2176_7(unknown) = Chi : total:m0_6, partial:m2176_6 -#-----| Goto -> Block 2 - -# 2177| Block 2 -# 2177| m2177_1(unknown) = Phi : from 0:~m2175_6, from 1:~m2176_7 -# 2177| v2177_2(void) = NoOp : -# 2177| r2177_3(glval) = VariableAddress[a] : -# 2177| r2177_4(glval) = FunctionAddress[~ClassWithDestructor] : -# 2177| v2177_5(void) = Call[~ClassWithDestructor] : func:r2177_4, this:r2177_3 -# 2177| m2177_6(unknown) = ^CallSideEffect : ~m2177_1 -# 2177| m2177_7(unknown) = Chi : total:m2177_1, partial:m2177_6 -# 2177| v2177_8(void) = ^IndirectReadSideEffect[-1] : &:r2177_3, m2175_8 -# 2177| m2177_9(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2177_3 -# 2177| m2177_10(ClassWithDestructor) = Chi : total:m2175_8, partial:m2177_9 -# 2174| v2174_5(void) = ReturnVoid : -# 2174| v2174_6(void) = AliasedUse : ~m2177_7 -# 2174| v2174_7(void) = ExitFunction : - -# 2179| void static_variable_with_destructor_2() +# 2179| char ClassWithDestructor::get_x() # 2179| Block 0 -# 2179| v2179_1(void) = EnterFunction : -# 2179| m2179_2(unknown) = AliasedDefinition : -# 2179| m2179_3(unknown) = InitializeNonLocal : -# 2179| m2179_4(unknown) = Chi : total:m2179_2, partial:m2179_3 -# 2180| r2180_1(glval) = VariableAddress[a#init] : -# 2180| r2180_2(bool) = Load[a#init] : &:r2180_1, ~m2179_3 -# 2180| v2180_3(void) = ConditionalBranch : r2180_2 -#-----| False -> Block 1 -#-----| True -> Block 2 +# 2179| v2179_1(void) = EnterFunction : +# 2179| m2179_2(unknown) = AliasedDefinition : +# 2179| m2179_3(unknown) = InitializeNonLocal : +# 2179| m2179_4(unknown) = Chi : total:m2179_2, partial:m2179_3 +# 2179| r2179_5(glval) = VariableAddress[#this] : +# 2179| m2179_6(glval) = InitializeParameter[#this] : &:r2179_5 +# 2179| r2179_7(glval) = Load[#this] : &:r2179_5, m2179_6 +# 2179| m2179_8(ClassWithDestructor) = InitializeIndirection[#this] : &:r2179_7 +# 2179| r2179_9(glval) = VariableAddress[#return] : +# 2179| r2179_10(glval) = VariableAddress[#this] : +# 2179| r2179_11(ClassWithDestructor *) = Load[#this] : &:r2179_10, m2179_6 +# 2179| r2179_12(glval) = FieldAddress[x] : r2179_11 +# 2179| r2179_13(char *) = Load[?] : &:r2179_12, ~m2179_8 +# 2179| r2179_14(char) = Load[?] : &:r2179_13, ~m2179_4 +# 2179| m2179_15(char) = Store[#return] : &:r2179_9, r2179_14 +# 2179| v2179_16(void) = ReturnIndirection[#this] : &:r2179_7, m2179_8 +# 2179| r2179_17(glval) = VariableAddress[#return] : +# 2179| v2179_18(void) = ReturnValue : &:r2179_17, m2179_15 +# 2179| v2179_19(void) = AliasedUse : m2179_3 +# 2179| v2179_20(void) = ExitFunction : -# 2180| Block 1 -# 2180| r2180_4(glval) = VariableAddress[a] : -#-----| r0_1(glval) = FunctionAddress[ClassWithDestructor] : -#-----| v0_2(void) = Call[ClassWithDestructor] : func:r0_1, this:r2180_4 -#-----| m0_3(unknown) = ^CallSideEffect : ~m2179_4 -#-----| m0_4(unknown) = Chi : total:m2179_4, partial:m0_3 -#-----| m0_5(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2180_4 -#-----| m0_6(unknown) = Chi : total:m0_4, partial:m0_5 -# 2180| r2180_5(bool) = Constant[1] : -# 2180| m2180_6(bool) = Store[a#init] : &:r2180_1, r2180_5 -# 2180| m2180_7(unknown) = Chi : total:m0_6, partial:m2180_6 -#-----| Goto -> Block 2 +# 2182| bool initialization_with_destructor_bool +# 2182| Block 0 +# 2182| v2182_1(void) = EnterFunction : +# 2182| m2182_2(unknown) = AliasedDefinition : +# 2182| r2182_3(glval) = VariableAddress[initialization_with_destructor_bool] : +# 2182| r2182_4(bool) = Constant[1] : +# 2182| m2182_5(bool) = Store[initialization_with_destructor_bool] : &:r2182_3, r2182_4 +# 2182| m2182_6(unknown) = Chi : total:m2182_2, partial:m2182_5 +# 2182| v2182_7(void) = ReturnVoid : +# 2182| v2182_8(void) = AliasedUse : ~m2182_6 +# 2182| v2182_9(void) = ExitFunction : -# 2181| Block 2 -# 2181| m2181_1(unknown) = Phi : from 0:~m2179_4, from 1:~m2180_7 -# 2181| r2181_2(glval) = VariableAddress[b] : -# 2181| m2181_3(ClassWithDestructor) = Uninitialized[b] : &:r2181_2 -# 2181| r2181_4(glval) = FunctionAddress[ClassWithDestructor] : -# 2181| v2181_5(void) = Call[ClassWithDestructor] : func:r2181_4, this:r2181_2 -# 2181| m2181_6(unknown) = ^CallSideEffect : ~m2181_1 -# 2181| m2181_7(unknown) = Chi : total:m2181_1, partial:m2181_6 -# 2181| m2181_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2181_2 -# 2181| m2181_9(ClassWithDestructor) = Chi : total:m2181_3, partial:m2181_8 -# 2182| v2182_1(void) = NoOp : -# 2182| r2182_2(glval) = VariableAddress[b] : -# 2182| r2182_3(glval) = FunctionAddress[~ClassWithDestructor] : -# 2182| v2182_4(void) = Call[~ClassWithDestructor] : func:r2182_3, this:r2182_2 -# 2182| m2182_5(unknown) = ^CallSideEffect : ~m2181_7 -# 2182| m2182_6(unknown) = Chi : total:m2181_7, partial:m2182_5 -# 2182| v2182_7(void) = ^IndirectReadSideEffect[-1] : &:r2182_2, m2181_9 -# 2182| m2182_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2182_2 -# 2182| m2182_9(ClassWithDestructor) = Chi : total:m2181_9, partial:m2182_8 -# 2179| v2179_5(void) = ReturnVoid : -# 2179| v2179_6(void) = AliasedUse : ~m2182_6 -# 2179| v2179_7(void) = ExitFunction : - -# 2184| void static_variable_with_destructor_3() +# 2184| void initialization_with_destructor(bool, char) # 2184| Block 0 # 2184| v2184_1(void) = EnterFunction : # 2184| m2184_2(unknown) = AliasedDefinition : # 2184| m2184_3(unknown) = InitializeNonLocal : # 2184| m2184_4(unknown) = Chi : total:m2184_2, partial:m2184_3 -# 2185| r2185_1(glval) = VariableAddress[a] : -# 2185| m2185_2(ClassWithDestructor) = Uninitialized[a] : &:r2185_1 +# 2184| r2184_5(glval) = VariableAddress[b] : +# 2184| m2184_6(bool) = InitializeParameter[b] : &:r2184_5 +# 2184| r2184_7(glval) = VariableAddress[c] : +# 2184| m2184_8(char) = InitializeParameter[c] : &:r2184_7 +# 2185| r2185_1(glval) = VariableAddress[x] : +# 2185| m2185_2(ClassWithDestructor) = Uninitialized[x] : &:r2185_1 # 2185| r2185_3(glval) = FunctionAddress[ClassWithDestructor] : # 2185| v2185_4(void) = Call[ClassWithDestructor] : func:r2185_3, this:r2185_1 # 2185| m2185_5(unknown) = ^CallSideEffect : ~m2184_4 # 2185| m2185_6(unknown) = Chi : total:m2184_4, partial:m2185_5 # 2185| m2185_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2185_1 # 2185| m2185_8(ClassWithDestructor) = Chi : total:m2185_2, partial:m2185_7 -# 2186| r2186_1(glval) = VariableAddress[b] : -# 2186| m2186_2(ClassWithDestructor) = Uninitialized[b] : &:r2186_1 -# 2186| r2186_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2186| v2186_4(void) = Call[ClassWithDestructor] : func:r2186_3, this:r2186_1 -# 2186| m2186_5(unknown) = ^CallSideEffect : ~m2185_6 -# 2186| m2186_6(unknown) = Chi : total:m2185_6, partial:m2186_5 -# 2186| m2186_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2186_1 -# 2186| m2186_8(ClassWithDestructor) = Chi : total:m2186_2, partial:m2186_7 -# 2187| r2187_1(glval) = VariableAddress[c#init] : -# 2187| r2187_2(bool) = Load[c#init] : &:r2187_1, ~m2186_6 -# 2187| v2187_3(void) = ConditionalBranch : r2187_2 +# 2185| r2185_9(glval) = VariableAddress[b] : +# 2185| r2185_10(bool) = Load[b] : &:r2185_9, m2184_6 +# 2185| v2185_11(void) = ConditionalBranch : r2185_10 +#-----| False -> Block 3 +#-----| True -> Block 2 + +# 2184| Block 1 +# 2184| m2184_9(unknown) = Phi : from 13:~m2219_5, from 19:~m2219_13, from 23:~m2219_22 +# 2184| v2184_10(void) = ReturnVoid : +# 2184| v2184_11(void) = AliasedUse : ~m2184_9 +# 2184| v2184_12(void) = ExitFunction : + +# 2186| Block 2 +# 2186| r2186_1(glval) = VariableAddress[x] : +# 2186| r2186_2(glval) = FunctionAddress[set_x] : +# 2186| r2186_3(char) = Constant[97] : +# 2186| v2186_4(void) = Call[set_x] : func:r2186_2, this:r2186_1, 0:r2186_3 +# 2186| m2186_5(unknown) = ^CallSideEffect : ~m2185_6 +# 2186| m2186_6(unknown) = Chi : total:m2185_6, partial:m2186_5 +# 2186| v2186_7(void) = ^IndirectReadSideEffect[-1] : &:r2186_1, m2185_8 +# 2186| m2186_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2186_1 +# 2186| m2186_9(ClassWithDestructor) = Chi : total:m2185_8, partial:m2186_8 +# 2186| r2186_10(glval) = VariableAddress[x] : +# 2186| r2186_11(glval) = FunctionAddress[~ClassWithDestructor] : +# 2186| v2186_12(void) = Call[~ClassWithDestructor] : func:r2186_11, this:r2186_10 +# 2186| m2186_13(unknown) = ^CallSideEffect : ~m2186_6 +# 2186| m2186_14(unknown) = Chi : total:m2186_6, partial:m2186_13 +# 2186| v2186_15(void) = ^IndirectReadSideEffect[-1] : &:r2186_10, m2186_9 +# 2186| m2186_16(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2186_10 +# 2186| m2186_17(ClassWithDestructor) = Chi : total:m2186_9, partial:m2186_16 +#-----| Goto -> Block 3 + +# 2188| Block 3 +# 2188| m2188_1(unknown) = Phi : from 0:~m2185_6, from 2:~m2186_14 +# 2188| r2188_2(glval) = VariableAddress[x] : +# 2188| m2188_3(ClassWithDestructor) = Uninitialized[x] : &:r2188_2 +# 2188| r2188_4(glval) = FunctionAddress[ClassWithDestructor] : +# 2188| v2188_5(void) = Call[ClassWithDestructor] : func:r2188_4, this:r2188_2 +# 2188| m2188_6(unknown) = ^CallSideEffect : ~m2188_1 +# 2188| m2188_7(unknown) = Chi : total:m2188_1, partial:m2188_6 +# 2188| m2188_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2188_2 +# 2188| m2188_9(ClassWithDestructor) = Chi : total:m2188_3, partial:m2188_8 +# 2188| r2188_10(bool) = Constant[1] : +# 2188| v2188_11(void) = ConditionalBranch : r2188_10 +#-----| False -> Block 24 +#-----| True -> Block 4 + +# 2189| Block 4 +# 2189| r2189_1(glval) = VariableAddress[x] : +# 2189| r2189_2(glval) = FunctionAddress[set_x] : +# 2189| r2189_3(char) = Constant[97] : +# 2189| v2189_4(void) = Call[set_x] : func:r2189_2, this:r2189_1, 0:r2189_3 +# 2189| m2189_5(unknown) = ^CallSideEffect : ~m2188_7 +# 2189| m2189_6(unknown) = Chi : total:m2188_7, partial:m2189_5 +# 2189| v2189_7(void) = ^IndirectReadSideEffect[-1] : &:r2189_1, m2188_9 +# 2189| m2189_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2189_1 +# 2189| m2189_9(ClassWithDestructor) = Chi : total:m2188_9, partial:m2189_8 +# 2191| r2191_1(glval) = VariableAddress[x] : +# 2191| m2191_2(ClassWithDestructor) = Uninitialized[x] : &:r2191_1 +# 2191| r2191_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2191| v2191_4(void) = Call[ClassWithDestructor] : func:r2191_3, this:r2191_1 +# 2191| m2191_5(unknown) = ^CallSideEffect : ~m2189_6 +# 2191| m2191_6(unknown) = Chi : total:m2189_6, partial:m2191_5 +# 2191| m2191_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2191_1 +# 2191| m2191_8(ClassWithDestructor) = Chi : total:m2191_2, partial:m2191_7 +# 2191| r2191_9(glval) = VariableAddress[c] : +# 2191| r2191_10(char) = Load[c] : &:r2191_9, m2184_8 +# 2191| r2191_11(int) = Convert : r2191_10 +# 2191| v2191_12(void) = Switch : r2191_11 +#-----| Case[97] -> Block 5 +#-----| Default -> Block 6 + +# 2192| Block 5 +# 2192| v2192_1(void) = NoOp : +# 2193| r2193_1(glval) = VariableAddress[x] : +# 2193| r2193_2(glval) = FunctionAddress[set_x] : +# 2193| r2193_3(char) = Constant[97] : +# 2193| v2193_4(void) = Call[set_x] : func:r2193_2, this:r2193_1, 0:r2193_3 +# 2193| m2193_5(unknown) = ^CallSideEffect : ~m2191_6 +# 2193| m2193_6(unknown) = Chi : total:m2191_6, partial:m2193_5 +# 2193| v2193_7(void) = ^IndirectReadSideEffect[-1] : &:r2193_1, m2191_8 +# 2193| m2193_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2193_1 +# 2193| m2193_9(ClassWithDestructor) = Chi : total:m2191_8, partial:m2193_8 +# 2194| v2194_1(void) = NoOp : +#-----| Goto -> Block 7 + +# 2195| Block 6 +# 2195| v2195_1(void) = NoOp : +# 2196| r2196_1(glval) = VariableAddress[x] : +# 2196| r2196_2(glval) = FunctionAddress[set_x] : +# 2196| r2196_3(char) = Constant[98] : +# 2196| v2196_4(void) = Call[set_x] : func:r2196_2, this:r2196_1, 0:r2196_3 +# 2196| m2196_5(unknown) = ^CallSideEffect : ~m2191_6 +# 2196| m2196_6(unknown) = Chi : total:m2191_6, partial:m2196_5 +# 2196| v2196_7(void) = ^IndirectReadSideEffect[-1] : &:r2196_1, m2191_8 +# 2196| m2196_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2196_1 +# 2196| m2196_9(ClassWithDestructor) = Chi : total:m2191_8, partial:m2196_8 +# 2197| v2197_1(void) = NoOp : +#-----| Goto -> Block 7 + +# 2198| Block 7 +# 2198| m2198_1(unknown) = Phi : from 5:~m2193_6, from 6:~m2196_6 +# 2198| v2198_2(void) = NoOp : +# 2200| r2200_1(glval) = VariableAddress[x] : +# 2200| m2200_2(ClassWithDestructor) = Uninitialized[x] : &:r2200_1 +# 2200| r2200_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2200| v2200_4(void) = Call[ClassWithDestructor] : func:r2200_3, this:r2200_1 +# 2200| m2200_5(unknown) = ^CallSideEffect : ~m2198_1 +# 2200| m2200_6(unknown) = Chi : total:m2198_1, partial:m2200_5 +# 2200| m2200_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2200_1 +# 2200| m2200_8(ClassWithDestructor) = Chi : total:m2200_2, partial:m2200_7 +# 2201| r2201_1(glval>) = VariableAddress[ys] : +# 2201| m2201_2(vector) = Uninitialized[ys] : &:r2201_1 +# 2201| r2201_3(glval) = FunctionAddress[vector] : +# 2201| r2201_4(glval) = VariableAddress[#temp2201:45] : +# 2201| r2201_5(glval) = VariableAddress[x] : +# 2201| r2201_6(ClassWithDestructor) = Load[x] : &:r2201_5, m2200_8 +# 2201| m2201_7(ClassWithDestructor) = Store[#temp2201:45] : &:r2201_4, r2201_6 +# 2201| r2201_8(ClassWithDestructor) = Load[#temp2201:45] : &:r2201_4, m2201_7 +# 2201| v2201_9(void) = Call[vector] : func:r2201_3, this:r2201_1, 0:r2201_8 +# 2201| m2201_10(unknown) = ^CallSideEffect : ~m2200_6 +# 2201| m2201_11(unknown) = Chi : total:m2200_6, partial:m2201_10 +# 2201| m2201_12(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2201_1 +# 2201| m2201_13(vector) = Chi : total:m2201_2, partial:m2201_12 +# 2201| r2201_14(glval &>) = VariableAddress[(__range)] : +# 2201| r2201_15(glval>) = VariableAddress[ys] : +# 2201| r2201_16(vector &) = CopyValue : r2201_15 +# 2201| m2201_17(vector &) = Store[(__range)] : &:r2201_14, r2201_16 +# 2201| r2201_18(glval>) = VariableAddress[(__begin)] : +# 2201| r2201_19(glval &>) = VariableAddress[(__range)] : +# 2201| r2201_20(vector &) = Load[(__range)] : &:r2201_19, m2201_17 +#-----| r0_1(glval>) = CopyValue : r2201_20 +#-----| r0_2(glval>) = Convert : r0_1 +# 2201| r2201_21(glval) = FunctionAddress[begin] : +# 2201| r2201_22(iterator) = Call[begin] : func:r2201_21, this:r0_2 +#-----| v0_3(void) = ^IndirectReadSideEffect[-1] : &:r0_2, m2201_13 +# 2201| m2201_23(iterator) = Store[(__begin)] : &:r2201_18, r2201_22 +# 2201| r2201_24(glval>) = VariableAddress[(__end)] : +# 2201| r2201_25(glval &>) = VariableAddress[(__range)] : +# 2201| r2201_26(vector &) = Load[(__range)] : &:r2201_25, m2201_17 +#-----| r0_4(glval>) = CopyValue : r2201_26 +#-----| r0_5(glval>) = Convert : r0_4 +# 2201| r2201_27(glval) = FunctionAddress[end] : +# 2201| r2201_28(iterator) = Call[end] : func:r2201_27, this:r0_5 +#-----| v0_6(void) = ^IndirectReadSideEffect[-1] : &:r0_5, m2201_13 +# 2201| m2201_29(iterator) = Store[(__end)] : &:r2201_24, r2201_28 +#-----| Goto -> Block 8 + +# 2201| Block 8 +# 2201| m2201_30(iterator) = Phi : from 7:m2201_23, from 9:m2201_68 +# 2201| m2201_31(unknown) = Phi : from 7:~m2201_11, from 9:~m2201_65 +# 2201| r2201_32(glval>) = VariableAddress[(__begin)] : +#-----| r0_7(glval>) = Convert : r2201_32 +# 2201| r2201_33(glval) = FunctionAddress[operator!=] : +#-----| r0_8(glval>) = VariableAddress[#temp0:0] : +#-----| m0_9(iterator) = Uninitialized[#temp0:0] : &:r0_8 +# 2201| r2201_34(glval) = FunctionAddress[iterator] : +# 2201| r2201_35(glval>) = VariableAddress[(__end)] : +#-----| r0_10(glval>) = Convert : r2201_35 +#-----| r0_11(iterator &) = CopyValue : r0_10 +# 2201| v2201_36(void) = Call[iterator] : func:r2201_34, this:r0_8, 0:r0_11 +# 2201| m2201_37(unknown) = ^CallSideEffect : ~m2201_31 +# 2201| m2201_38(unknown) = Chi : total:m2201_31, partial:m2201_37 +#-----| v0_12(void) = ^BufferReadSideEffect[0] : &:r0_11, ~m2201_29 +# 2201| m2201_39(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_8 +# 2201| m2201_40(iterator) = Chi : total:m0_9, partial:m2201_39 +#-----| r0_13(iterator) = Load[#temp0:0] : &:r0_8, m2201_40 +# 2201| r2201_41(bool) = Call[operator!=] : func:r2201_33, this:r0_7, 0:r0_13 +# 2201| m2201_42(unknown) = ^CallSideEffect : ~m2201_38 +# 2201| m2201_43(unknown) = Chi : total:m2201_38, partial:m2201_42 +#-----| v0_14(void) = ^IndirectReadSideEffect[-1] : &:r0_7, m2201_30 +# 2201| v2201_44(void) = ConditionalBranch : r2201_41 +#-----| False -> Block 10 +#-----| True -> Block 9 + +# 2201| Block 9 +# 2201| r2201_45(glval) = VariableAddress[y] : +# 2201| r2201_46(glval>) = VariableAddress[(__begin)] : +#-----| r0_15(glval>) = Convert : r2201_46 +# 2201| r2201_47(glval) = FunctionAddress[operator*] : +# 2201| r2201_48(ClassWithDestructor &) = Call[operator*] : func:r2201_47, this:r0_15 +# 2201| m2201_49(unknown) = ^CallSideEffect : ~m2201_43 +# 2201| m2201_50(unknown) = Chi : total:m2201_43, partial:m2201_49 +#-----| v0_16(void) = ^IndirectReadSideEffect[-1] : &:r0_15, m2201_30 +# 2201| r2201_51(ClassWithDestructor) = Load[?] : &:r2201_48, ~m2201_50 +# 2201| m2201_52(ClassWithDestructor) = Store[y] : &:r2201_45, r2201_51 +# 2202| r2202_1(glval) = VariableAddress[y] : +# 2202| r2202_2(glval) = FunctionAddress[set_x] : +# 2202| r2202_3(char) = Constant[97] : +# 2202| v2202_4(void) = Call[set_x] : func:r2202_2, this:r2202_1, 0:r2202_3 +# 2202| m2202_5(unknown) = ^CallSideEffect : ~m2201_50 +# 2202| m2202_6(unknown) = Chi : total:m2201_50, partial:m2202_5 +# 2202| v2202_7(void) = ^IndirectReadSideEffect[-1] : &:r2202_1, m2201_52 +# 2202| m2202_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2202_1 +# 2202| m2202_9(ClassWithDestructor) = Chi : total:m2201_52, partial:m2202_8 +# 2201| r2201_53(glval) = VariableAddress[y] : +# 2201| r2201_54(glval) = FunctionAddress[~ClassWithDestructor] : +# 2201| v2201_55(void) = Call[~ClassWithDestructor] : func:r2201_54, this:r2201_53 +# 2201| m2201_56(unknown) = ^CallSideEffect : ~m2202_6 +# 2201| m2201_57(unknown) = Chi : total:m2202_6, partial:m2201_56 +# 2201| v2201_58(void) = ^IndirectReadSideEffect[-1] : &:r2201_53, m2202_9 +# 2201| m2201_59(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2201_53 +# 2201| m2201_60(ClassWithDestructor) = Chi : total:m2202_9, partial:m2201_59 +# 2201| r2201_61(glval>) = VariableAddress[(__begin)] : +# 2201| r2201_62(glval) = FunctionAddress[operator++] : +# 2201| r2201_63(iterator &) = Call[operator++] : func:r2201_62, this:r2201_61 +# 2201| m2201_64(unknown) = ^CallSideEffect : ~m2201_57 +# 2201| m2201_65(unknown) = Chi : total:m2201_57, partial:m2201_64 +# 2201| v2201_66(void) = ^IndirectReadSideEffect[-1] : &:r2201_61, m2201_30 +# 2201| m2201_67(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2201_61 +# 2201| m2201_68(iterator) = Chi : total:m2201_30, partial:m2201_67 +# 2201| r2201_69(glval>) = CopyValue : r2201_63 +#-----| Goto (back edge) -> Block 8 + +# 2204| Block 10 +# 2204| r2204_1(glval>) = VariableAddress[ys] : +# 2204| m2204_2(vector) = Uninitialized[ys] : &:r2204_1 +# 2204| r2204_3(glval) = FunctionAddress[vector] : +# 2204| r2204_4(glval) = VariableAddress[#temp2204:45] : +# 2204| r2204_5(glval) = VariableAddress[x] : +# 2204| r2204_6(ClassWithDestructor) = Load[x] : &:r2204_5, m2200_8 +# 2204| m2204_7(ClassWithDestructor) = Store[#temp2204:45] : &:r2204_4, r2204_6 +# 2204| r2204_8(ClassWithDestructor) = Load[#temp2204:45] : &:r2204_4, m2204_7 +# 2204| v2204_9(void) = Call[vector] : func:r2204_3, this:r2204_1, 0:r2204_8 +# 2204| m2204_10(unknown) = ^CallSideEffect : ~m2201_43 +# 2204| m2204_11(unknown) = Chi : total:m2201_43, partial:m2204_10 +# 2204| m2204_12(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2204_1 +# 2204| m2204_13(vector) = Chi : total:m2204_2, partial:m2204_12 +# 2204| r2204_14(glval &>) = VariableAddress[(__range)] : +# 2204| r2204_15(glval>) = VariableAddress[ys] : +# 2204| r2204_16(vector &) = CopyValue : r2204_15 +# 2204| m2204_17(vector &) = Store[(__range)] : &:r2204_14, r2204_16 +# 2204| r2204_18(glval>) = VariableAddress[(__begin)] : +# 2204| r2204_19(glval &>) = VariableAddress[(__range)] : +# 2204| r2204_20(vector &) = Load[(__range)] : &:r2204_19, m2204_17 +#-----| r0_17(glval>) = CopyValue : r2204_20 +#-----| r0_18(glval>) = Convert : r0_17 +# 2204| r2204_21(glval) = FunctionAddress[begin] : +# 2204| r2204_22(iterator) = Call[begin] : func:r2204_21, this:r0_18 +#-----| v0_19(void) = ^IndirectReadSideEffect[-1] : &:r0_18, m2204_13 +# 2204| m2204_23(iterator) = Store[(__begin)] : &:r2204_18, r2204_22 +# 2204| r2204_24(glval>) = VariableAddress[(__end)] : +# 2204| r2204_25(glval &>) = VariableAddress[(__range)] : +# 2204| r2204_26(vector &) = Load[(__range)] : &:r2204_25, m2204_17 +#-----| r0_20(glval>) = CopyValue : r2204_26 +#-----| r0_21(glval>) = Convert : r0_20 +# 2204| r2204_27(glval) = FunctionAddress[end] : +# 2204| r2204_28(iterator) = Call[end] : func:r2204_27, this:r0_21 +#-----| v0_22(void) = ^IndirectReadSideEffect[-1] : &:r0_21, m2204_13 +# 2204| m2204_29(iterator) = Store[(__end)] : &:r2204_24, r2204_28 +#-----| Goto -> Block 11 + +# 2204| Block 11 +# 2204| m2204_30(iterator) = Phi : from 10:m2204_23, from 14:m2204_84 +# 2204| m2204_31(unknown) = Phi : from 10:~m2204_11, from 14:~m2204_81 +# 2204| r2204_32(glval>) = VariableAddress[(__begin)] : +#-----| r0_23(glval>) = Convert : r2204_32 +# 2204| r2204_33(glval) = FunctionAddress[operator!=] : +#-----| r0_24(glval>) = VariableAddress[#temp0:0] : +#-----| m0_25(iterator) = Uninitialized[#temp0:0] : &:r0_24 +# 2204| r2204_34(glval) = FunctionAddress[iterator] : +# 2204| r2204_35(glval>) = VariableAddress[(__end)] : +#-----| r0_26(glval>) = Convert : r2204_35 +#-----| r0_27(iterator &) = CopyValue : r0_26 +# 2204| v2204_36(void) = Call[iterator] : func:r2204_34, this:r0_24, 0:r0_27 +# 2204| m2204_37(unknown) = ^CallSideEffect : ~m2204_31 +# 2204| m2204_38(unknown) = Chi : total:m2204_31, partial:m2204_37 +#-----| v0_28(void) = ^BufferReadSideEffect[0] : &:r0_27, ~m2204_29 +# 2204| m2204_39(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_24 +# 2204| m2204_40(iterator) = Chi : total:m0_25, partial:m2204_39 +#-----| r0_29(iterator) = Load[#temp0:0] : &:r0_24, m2204_40 +# 2204| r2204_41(bool) = Call[operator!=] : func:r2204_33, this:r0_23, 0:r0_29 +# 2204| m2204_42(unknown) = ^CallSideEffect : ~m2204_38 +# 2204| m2204_43(unknown) = Chi : total:m2204_38, partial:m2204_42 +#-----| v0_30(void) = ^IndirectReadSideEffect[-1] : &:r0_23, m2204_30 +# 2204| v2204_44(void) = ConditionalBranch : r2204_41 +#-----| False -> Block 15 +#-----| True -> Block 12 + +# 2204| Block 12 +# 2204| r2204_45(glval) = VariableAddress[y] : +# 2204| r2204_46(glval>) = VariableAddress[(__begin)] : +#-----| r0_31(glval>) = Convert : r2204_46 +# 2204| r2204_47(glval) = FunctionAddress[operator*] : +# 2204| r2204_48(ClassWithDestructor &) = Call[operator*] : func:r2204_47, this:r0_31 +# 2204| m2204_49(unknown) = ^CallSideEffect : ~m2204_43 +# 2204| m2204_50(unknown) = Chi : total:m2204_43, partial:m2204_49 +#-----| v0_32(void) = ^IndirectReadSideEffect[-1] : &:r0_31, m2204_30 +# 2204| r2204_51(ClassWithDestructor) = Load[?] : &:r2204_48, ~m2204_50 +# 2204| m2204_52(ClassWithDestructor) = Store[y] : &:r2204_45, r2204_51 +# 2205| r2205_1(glval) = VariableAddress[y] : +# 2205| r2205_2(glval) = FunctionAddress[set_x] : +# 2205| r2205_3(char) = Constant[97] : +# 2205| v2205_4(void) = Call[set_x] : func:r2205_2, this:r2205_1, 0:r2205_3 +# 2205| m2205_5(unknown) = ^CallSideEffect : ~m2204_50 +# 2205| m2205_6(unknown) = Chi : total:m2204_50, partial:m2205_5 +# 2205| v2205_7(void) = ^IndirectReadSideEffect[-1] : &:r2205_1, m2204_52 +# 2205| m2205_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2205_1 +# 2205| m2205_9(ClassWithDestructor) = Chi : total:m2204_52, partial:m2205_8 +# 2206| r2206_1(glval) = VariableAddress[y] : +# 2206| r2206_2(glval) = FunctionAddress[get_x] : +# 2206| r2206_3(char) = Call[get_x] : func:r2206_2, this:r2206_1 +# 2206| m2206_4(unknown) = ^CallSideEffect : ~m2205_6 +# 2206| m2206_5(unknown) = Chi : total:m2205_6, partial:m2206_4 +# 2206| v2206_6(void) = ^IndirectReadSideEffect[-1] : &:r2206_1, m2205_9 +# 2206| m2206_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2206_1 +# 2206| m2206_8(ClassWithDestructor) = Chi : total:m2205_9, partial:m2206_7 +# 2206| r2206_9(int) = Convert : r2206_3 +# 2206| r2206_10(int) = Constant[98] : +# 2206| r2206_11(bool) = CompareEQ : r2206_9, r2206_10 +# 2206| v2206_12(void) = ConditionalBranch : r2206_11 +#-----| False -> Block 14 +#-----| True -> Block 13 + +# 2207| Block 13 +# 2207| v2207_1(void) = NoOp : +# 2204| r2204_53(glval) = VariableAddress[y] : +# 2204| r2204_54(glval) = FunctionAddress[~ClassWithDestructor] : +# 2204| v2204_55(void) = Call[~ClassWithDestructor] : func:r2204_54, this:r2204_53 +# 2204| m2204_56(unknown) = ^CallSideEffect : ~m2206_5 +# 2204| m2204_57(unknown) = Chi : total:m2206_5, partial:m2204_56 +# 2204| v2204_58(void) = ^IndirectReadSideEffect[-1] : &:r2204_53, m2206_8 +# 2204| m2204_59(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2204_53 +# 2204| m2204_60(ClassWithDestructor) = Chi : total:m2206_8, partial:m2204_59 +# 2204| r2204_61(glval>) = VariableAddress[ys] : +# 2204| r2204_62(glval) = FunctionAddress[~vector] : +# 2204| v2204_63(void) = Call[~vector] : func:r2204_62, this:r2204_61 +# 2204| m2204_64(unknown) = ^CallSideEffect : ~m2204_57 +# 2204| m2204_65(unknown) = Chi : total:m2204_57, partial:m2204_64 +# 2204| v2204_66(void) = ^IndirectReadSideEffect[-1] : &:r2204_61, m2204_13 +# 2204| m2204_67(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2204_61 +# 2204| m2204_68(vector) = Chi : total:m2204_13, partial:m2204_67 +# 2219| r2219_1(glval) = VariableAddress[x] : +# 2219| r2219_2(glval) = FunctionAddress[~ClassWithDestructor] : +# 2219| v2219_3(void) = Call[~ClassWithDestructor] : func:r2219_2, this:r2219_1 +# 2219| m2219_4(unknown) = ^CallSideEffect : ~m2204_65 +# 2219| m2219_5(unknown) = Chi : total:m2204_65, partial:m2219_4 +# 2219| v2219_6(void) = ^IndirectReadSideEffect[-1] : &:r2219_1, m2200_8 +# 2219| m2219_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2219_1 +# 2219| m2219_8(ClassWithDestructor) = Chi : total:m2200_8, partial:m2219_7 +#-----| Goto -> Block 1 + +# 2204| Block 14 +# 2204| r2204_69(glval) = VariableAddress[y] : +# 2204| r2204_70(glval) = FunctionAddress[~ClassWithDestructor] : +# 2204| v2204_71(void) = Call[~ClassWithDestructor] : func:r2204_70, this:r2204_69 +# 2204| m2204_72(unknown) = ^CallSideEffect : ~m2206_5 +# 2204| m2204_73(unknown) = Chi : total:m2206_5, partial:m2204_72 +# 2204| v2204_74(void) = ^IndirectReadSideEffect[-1] : &:r2204_69, m2206_8 +# 2204| m2204_75(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2204_69 +# 2204| m2204_76(ClassWithDestructor) = Chi : total:m2206_8, partial:m2204_75 +# 2204| r2204_77(glval>) = VariableAddress[(__begin)] : +# 2204| r2204_78(glval) = FunctionAddress[operator++] : +# 2204| r2204_79(iterator &) = Call[operator++] : func:r2204_78, this:r2204_77 +# 2204| m2204_80(unknown) = ^CallSideEffect : ~m2204_73 +# 2204| m2204_81(unknown) = Chi : total:m2204_73, partial:m2204_80 +# 2204| v2204_82(void) = ^IndirectReadSideEffect[-1] : &:r2204_77, m2204_30 +# 2204| m2204_83(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2204_77 +# 2204| m2204_84(iterator) = Chi : total:m2204_30, partial:m2204_83 +# 2204| r2204_85(glval>) = CopyValue : r2204_79 +#-----| Goto (back edge) -> Block 11 + +# 2210| Block 15 +# 2210| r2210_1(glval>) = VariableAddress[ys] : +# 2210| m2210_2(vector) = Uninitialized[ys] : &:r2210_1 +# 2210| r2210_3(glval) = FunctionAddress[vector] : +# 2210| r2210_4(int) = Constant[1] : +# 2210| v2210_5(void) = Call[vector] : func:r2210_3, this:r2210_1, 0:r2210_4 +# 2210| m2210_6(unknown) = ^CallSideEffect : ~m2204_43 +# 2210| m2210_7(unknown) = Chi : total:m2204_43, partial:m2210_6 +# 2210| m2210_8(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2210_1 +# 2210| m2210_9(vector) = Chi : total:m2210_2, partial:m2210_8 +# 2210| r2210_10(glval &>) = VariableAddress[(__range)] : +# 2210| r2210_11(glval>) = VariableAddress[ys] : +# 2210| r2210_12(vector &) = CopyValue : r2210_11 +# 2210| m2210_13(vector &) = Store[(__range)] : &:r2210_10, r2210_12 +# 2210| r2210_14(glval>) = VariableAddress[(__begin)] : +# 2210| r2210_15(glval &>) = VariableAddress[(__range)] : +# 2210| r2210_16(vector &) = Load[(__range)] : &:r2210_15, m2210_13 +#-----| r0_33(glval>) = CopyValue : r2210_16 +#-----| r0_34(glval>) = Convert : r0_33 +# 2210| r2210_17(glval) = FunctionAddress[begin] : +# 2210| r2210_18(iterator) = Call[begin] : func:r2210_17, this:r0_34 +#-----| v0_35(void) = ^IndirectReadSideEffect[-1] : &:r0_34, m2210_9 +# 2210| m2210_19(iterator) = Store[(__begin)] : &:r2210_14, r2210_18 +# 2210| r2210_20(glval>) = VariableAddress[(__end)] : +# 2210| r2210_21(glval &>) = VariableAddress[(__range)] : +# 2210| r2210_22(vector &) = Load[(__range)] : &:r2210_21, m2210_13 +#-----| r0_36(glval>) = CopyValue : r2210_22 +#-----| r0_37(glval>) = Convert : r0_36 +# 2210| r2210_23(glval) = FunctionAddress[end] : +# 2210| r2210_24(iterator) = Call[end] : func:r2210_23, this:r0_37 +#-----| v0_38(void) = ^IndirectReadSideEffect[-1] : &:r0_37, m2210_9 +# 2210| m2210_25(iterator) = Store[(__end)] : &:r2210_20, r2210_24 +#-----| Goto -> Block 16 + +# 2210| Block 16 +# 2210| m2210_26(iterator) = Phi : from 15:m2210_19, from 17:m2210_48 +# 2210| m2210_27(unknown) = Phi : from 15:~m2210_7, from 17:~m2210_45 +# 2210| r2210_28(glval>) = VariableAddress[(__begin)] : +#-----| r0_39(glval>) = Convert : r2210_28 +# 2210| r2210_29(glval) = FunctionAddress[operator!=] : +#-----| r0_40(glval>) = VariableAddress[#temp0:0] : +#-----| m0_41(iterator) = Uninitialized[#temp0:0] : &:r0_40 +# 2210| r2210_30(glval) = FunctionAddress[iterator] : +# 2210| r2210_31(glval>) = VariableAddress[(__end)] : +#-----| r0_42(glval>) = Convert : r2210_31 +#-----| r0_43(iterator &) = CopyValue : r0_42 +# 2210| v2210_32(void) = Call[iterator] : func:r2210_30, this:r0_40, 0:r0_43 +# 2210| m2210_33(unknown) = ^CallSideEffect : ~m2210_27 +# 2210| m2210_34(unknown) = Chi : total:m2210_27, partial:m2210_33 +#-----| v0_44(void) = ^BufferReadSideEffect[0] : &:r0_43, ~m2210_25 +# 2210| m2210_35(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_40 +# 2210| m2210_36(iterator) = Chi : total:m0_41, partial:m2210_35 +#-----| r0_45(iterator) = Load[#temp0:0] : &:r0_40, m2210_36 +# 2210| r2210_37(bool) = Call[operator!=] : func:r2210_29, this:r0_39, 0:r0_45 +# 2210| m2210_38(unknown) = ^CallSideEffect : ~m2210_34 +# 2210| m2210_39(unknown) = Chi : total:m2210_34, partial:m2210_38 +#-----| v0_46(void) = ^IndirectReadSideEffect[-1] : &:r0_39, m2210_26 +# 2210| v2210_40(void) = ConditionalBranch : r2210_37 +#-----| False -> Block 20 +#-----| True -> Block 18 + +# 2210| Block 17 +# 2210| r2210_41(glval>) = VariableAddress[(__begin)] : +# 2210| r2210_42(glval) = FunctionAddress[operator++] : +# 2210| r2210_43(iterator &) = Call[operator++] : func:r2210_42, this:r2210_41 +# 2210| m2210_44(unknown) = ^CallSideEffect : ~m2210_55 +# 2210| m2210_45(unknown) = Chi : total:m2210_55, partial:m2210_44 +# 2210| v2210_46(void) = ^IndirectReadSideEffect[-1] : &:r2210_41, m2210_26 +# 2210| m2210_47(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2210_41 +# 2210| m2210_48(iterator) = Chi : total:m2210_26, partial:m2210_47 +# 2210| r2210_49(glval>) = CopyValue : r2210_43 +#-----| Goto (back edge) -> Block 16 + +# 2210| Block 18 +# 2210| r2210_50(glval) = VariableAddress[y] : +# 2210| r2210_51(glval>) = VariableAddress[(__begin)] : +#-----| r0_47(glval>) = Convert : r2210_51 +# 2210| r2210_52(glval) = FunctionAddress[operator*] : +# 2210| r2210_53(int &) = Call[operator*] : func:r2210_52, this:r0_47 +# 2210| m2210_54(unknown) = ^CallSideEffect : ~m2210_39 +# 2210| m2210_55(unknown) = Chi : total:m2210_39, partial:m2210_54 +#-----| v0_48(void) = ^IndirectReadSideEffect[-1] : &:r0_47, m2210_26 +# 2210| r2210_56(int) = Load[?] : &:r2210_53, ~m2210_55 +# 2210| m2210_57(int) = Store[y] : &:r2210_50, r2210_56 +# 2211| r2211_1(glval) = VariableAddress[y] : +# 2211| r2211_2(int) = Load[y] : &:r2211_1, m2210_57 +# 2211| r2211_3(int) = Constant[1] : +# 2211| r2211_4(bool) = CompareEQ : r2211_2, r2211_3 +# 2211| v2211_5(void) = ConditionalBranch : r2211_4 +#-----| False -> Block 17 +#-----| True -> Block 19 + +# 2212| Block 19 +# 2212| v2212_1(void) = NoOp : +# 2210| r2210_58(glval>) = VariableAddress[ys] : +# 2210| r2210_59(glval) = FunctionAddress[~vector] : +# 2210| v2210_60(void) = Call[~vector] : func:r2210_59, this:r2210_58 +# 2210| m2210_61(unknown) = ^CallSideEffect : ~m2210_55 +# 2210| m2210_62(unknown) = Chi : total:m2210_55, partial:m2210_61 +# 2210| v2210_63(void) = ^IndirectReadSideEffect[-1] : &:r2210_58, m2210_9 +# 2210| m2210_64(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2210_58 +# 2210| m2210_65(vector) = Chi : total:m2210_9, partial:m2210_64 +# 2219| r2219_9(glval) = VariableAddress[x] : +# 2219| r2219_10(glval) = FunctionAddress[~ClassWithDestructor] : +# 2219| v2219_11(void) = Call[~ClassWithDestructor] : func:r2219_10, this:r2219_9 +# 2219| m2219_12(unknown) = ^CallSideEffect : ~m2210_62 +# 2219| m2219_13(unknown) = Chi : total:m2210_62, partial:m2219_12 +# 2219| v2219_14(void) = ^IndirectReadSideEffect[-1] : &:r2219_9, m2200_8 +# 2219| m2219_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2219_9 +# 2219| m2219_16(ClassWithDestructor) = Chi : total:m2200_8, partial:m2219_15 +#-----| Goto -> Block 1 + +# 2215| Block 20 +# 2215| r2215_1(glval>) = VariableAddress[ys] : +# 2215| m2215_2(vector) = Uninitialized[ys] : &:r2215_1 +# 2215| r2215_3(glval) = FunctionAddress[vector] : +# 2215| r2215_4(glval) = VariableAddress[#temp2215:45] : +# 2215| r2215_5(glval) = VariableAddress[x] : +# 2215| r2215_6(ClassWithDestructor) = Load[x] : &:r2215_5, m2200_8 +# 2215| m2215_7(ClassWithDestructor) = Store[#temp2215:45] : &:r2215_4, r2215_6 +# 2215| r2215_8(ClassWithDestructor) = Load[#temp2215:45] : &:r2215_4, m2215_7 +# 2215| v2215_9(void) = Call[vector] : func:r2215_3, this:r2215_1, 0:r2215_8 +# 2215| m2215_10(unknown) = ^CallSideEffect : ~m2210_39 +# 2215| m2215_11(unknown) = Chi : total:m2210_39, partial:m2215_10 +# 2215| m2215_12(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2215_1 +# 2215| m2215_13(vector) = Chi : total:m2215_2, partial:m2215_12 +# 2215| r2215_14(glval &>) = VariableAddress[(__range)] : +# 2215| r2215_15(glval>) = VariableAddress[ys] : +# 2215| r2215_16(vector &) = CopyValue : r2215_15 +# 2215| m2215_17(vector &) = Store[(__range)] : &:r2215_14, r2215_16 +# 2215| r2215_18(glval>) = VariableAddress[(__begin)] : +# 2215| r2215_19(glval &>) = VariableAddress[(__range)] : +# 2215| r2215_20(vector &) = Load[(__range)] : &:r2215_19, m2215_17 +#-----| r0_49(glval>) = CopyValue : r2215_20 +#-----| r0_50(glval>) = Convert : r0_49 +# 2215| r2215_21(glval) = FunctionAddress[begin] : +# 2215| r2215_22(iterator) = Call[begin] : func:r2215_21, this:r0_50 +#-----| v0_51(void) = ^IndirectReadSideEffect[-1] : &:r0_50, m2215_13 +# 2215| m2215_23(iterator) = Store[(__begin)] : &:r2215_18, r2215_22 +# 2215| r2215_24(glval>) = VariableAddress[(__end)] : +# 2215| r2215_25(glval &>) = VariableAddress[(__range)] : +# 2215| r2215_26(vector &) = Load[(__range)] : &:r2215_25, m2215_17 +#-----| r0_52(glval>) = CopyValue : r2215_26 +#-----| r0_53(glval>) = Convert : r0_52 +# 2215| r2215_27(glval) = FunctionAddress[end] : +# 2215| r2215_28(iterator) = Call[end] : func:r2215_27, this:r0_53 +#-----| v0_54(void) = ^IndirectReadSideEffect[-1] : &:r0_53, m2215_13 +# 2215| m2215_29(iterator) = Store[(__end)] : &:r2215_24, r2215_28 +#-----| Goto -> Block 21 + +# 2215| Block 21 +# 2215| m2215_30(iterator) = Phi : from 20:m2215_23, from 22:m2215_68 +# 2215| m2215_31(unknown) = Phi : from 20:~m2215_11, from 22:~m2215_65 +# 2215| r2215_32(glval>) = VariableAddress[(__begin)] : +#-----| r0_55(glval>) = Convert : r2215_32 +# 2215| r2215_33(glval) = FunctionAddress[operator!=] : +#-----| r0_56(glval>) = VariableAddress[#temp0:0] : +#-----| m0_57(iterator) = Uninitialized[#temp0:0] : &:r0_56 +# 2215| r2215_34(glval) = FunctionAddress[iterator] : +# 2215| r2215_35(glval>) = VariableAddress[(__end)] : +#-----| r0_58(glval>) = Convert : r2215_35 +#-----| r0_59(iterator &) = CopyValue : r0_58 +# 2215| v2215_36(void) = Call[iterator] : func:r2215_34, this:r0_56, 0:r0_59 +# 2215| m2215_37(unknown) = ^CallSideEffect : ~m2215_31 +# 2215| m2215_38(unknown) = Chi : total:m2215_31, partial:m2215_37 +#-----| v0_60(void) = ^BufferReadSideEffect[0] : &:r0_59, ~m2215_29 +# 2215| m2215_39(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_56 +# 2215| m2215_40(iterator) = Chi : total:m0_57, partial:m2215_39 +#-----| r0_61(iterator) = Load[#temp0:0] : &:r0_56, m2215_40 +# 2215| r2215_41(bool) = Call[operator!=] : func:r2215_33, this:r0_55, 0:r0_61 +# 2215| m2215_42(unknown) = ^CallSideEffect : ~m2215_38 +# 2215| m2215_43(unknown) = Chi : total:m2215_38, partial:m2215_42 +#-----| v0_62(void) = ^IndirectReadSideEffect[-1] : &:r0_55, m2215_30 +# 2215| v2215_44(void) = ConditionalBranch : r2215_41 +#-----| False -> Block 23 +#-----| True -> Block 22 + +# 2215| Block 22 +# 2215| r2215_45(glval) = VariableAddress[y] : +# 2215| r2215_46(glval>) = VariableAddress[(__begin)] : +#-----| r0_63(glval>) = Convert : r2215_46 +# 2215| r2215_47(glval) = FunctionAddress[operator*] : +# 2215| r2215_48(ClassWithDestructor &) = Call[operator*] : func:r2215_47, this:r0_63 +# 2215| m2215_49(unknown) = ^CallSideEffect : ~m2215_43 +# 2215| m2215_50(unknown) = Chi : total:m2215_43, partial:m2215_49 +#-----| v0_64(void) = ^IndirectReadSideEffect[-1] : &:r0_63, m2215_30 +# 2215| r2215_51(ClassWithDestructor) = Load[?] : &:r2215_48, ~m2215_50 +# 2215| m2215_52(ClassWithDestructor) = Store[y] : &:r2215_45, r2215_51 +# 2216| r2216_1(glval) = VariableAddress[z1] : +# 2216| m2216_2(ClassWithDestructor) = Uninitialized[z1] : &:r2216_1 +# 2216| r2216_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2216| v2216_4(void) = Call[ClassWithDestructor] : func:r2216_3, this:r2216_1 +# 2216| m2216_5(unknown) = ^CallSideEffect : ~m2215_50 +# 2216| m2216_6(unknown) = Chi : total:m2215_50, partial:m2216_5 +# 2216| m2216_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2216_1 +# 2216| m2216_8(ClassWithDestructor) = Chi : total:m2216_2, partial:m2216_7 +# 2217| r2217_1(glval) = VariableAddress[z2] : +# 2217| m2217_2(ClassWithDestructor) = Uninitialized[z2] : &:r2217_1 +# 2217| r2217_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2217| v2217_4(void) = Call[ClassWithDestructor] : func:r2217_3, this:r2217_1 +# 2217| m2217_5(unknown) = ^CallSideEffect : ~m2216_6 +# 2217| m2217_6(unknown) = Chi : total:m2216_6, partial:m2217_5 +# 2217| m2217_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2217_1 +# 2217| m2217_8(ClassWithDestructor) = Chi : total:m2217_2, partial:m2217_7 +# 2218| r2218_1(glval) = VariableAddress[z2] : +# 2218| r2218_2(glval) = FunctionAddress[~ClassWithDestructor] : +# 2218| v2218_3(void) = Call[~ClassWithDestructor] : func:r2218_2, this:r2218_1 +# 2218| m2218_4(unknown) = ^CallSideEffect : ~m2217_6 +# 2218| m2218_5(unknown) = Chi : total:m2217_6, partial:m2218_4 +# 2218| v2218_6(void) = ^IndirectReadSideEffect[-1] : &:r2218_1, m2217_8 +# 2218| m2218_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2218_1 +# 2218| m2218_8(ClassWithDestructor) = Chi : total:m2217_8, partial:m2218_7 +# 2218| r2218_9(glval) = VariableAddress[z1] : +# 2218| r2218_10(glval) = FunctionAddress[~ClassWithDestructor] : +# 2218| v2218_11(void) = Call[~ClassWithDestructor] : func:r2218_10, this:r2218_9 +# 2218| m2218_12(unknown) = ^CallSideEffect : ~m2218_5 +# 2218| m2218_13(unknown) = Chi : total:m2218_5, partial:m2218_12 +# 2218| v2218_14(void) = ^IndirectReadSideEffect[-1] : &:r2218_9, m2216_8 +# 2218| m2218_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2218_9 +# 2218| m2218_16(ClassWithDestructor) = Chi : total:m2216_8, partial:m2218_15 +# 2215| r2215_53(glval) = VariableAddress[y] : +# 2215| r2215_54(glval) = FunctionAddress[~ClassWithDestructor] : +# 2215| v2215_55(void) = Call[~ClassWithDestructor] : func:r2215_54, this:r2215_53 +# 2215| m2215_56(unknown) = ^CallSideEffect : ~m2218_13 +# 2215| m2215_57(unknown) = Chi : total:m2218_13, partial:m2215_56 +# 2215| v2215_58(void) = ^IndirectReadSideEffect[-1] : &:r2215_53, m2215_52 +# 2215| m2215_59(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2215_53 +# 2215| m2215_60(ClassWithDestructor) = Chi : total:m2215_52, partial:m2215_59 +# 2215| r2215_61(glval>) = VariableAddress[(__begin)] : +# 2215| r2215_62(glval) = FunctionAddress[operator++] : +# 2215| r2215_63(iterator &) = Call[operator++] : func:r2215_62, this:r2215_61 +# 2215| m2215_64(unknown) = ^CallSideEffect : ~m2215_57 +# 2215| m2215_65(unknown) = Chi : total:m2215_57, partial:m2215_64 +# 2215| v2215_66(void) = ^IndirectReadSideEffect[-1] : &:r2215_61, m2215_30 +# 2215| m2215_67(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2215_61 +# 2215| m2215_68(iterator) = Chi : total:m2215_30, partial:m2215_67 +# 2215| r2215_69(glval>) = CopyValue : r2215_63 +#-----| Goto (back edge) -> Block 21 + +# 2219| Block 23 +# 2219| v2219_17(void) = NoOp : +# 2219| r2219_18(glval) = VariableAddress[x] : +# 2219| r2219_19(glval) = FunctionAddress[~ClassWithDestructor] : +# 2219| v2219_20(void) = Call[~ClassWithDestructor] : func:r2219_19, this:r2219_18 +# 2219| m2219_21(unknown) = ^CallSideEffect : ~m2215_43 +# 2219| m2219_22(unknown) = Chi : total:m2215_43, partial:m2219_21 +# 2219| v2219_23(void) = ^IndirectReadSideEffect[-1] : &:r2219_18, m2200_8 +# 2219| m2219_24(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2219_18 +# 2219| m2219_25(ClassWithDestructor) = Chi : total:m2200_8, partial:m2219_24 +#-----| Goto -> Block 1 + +# 2184| Block 24 +# 2184| v2184_13(void) = Unreached : + +# 2221| void static_variable_with_destructor_1() +# 2221| Block 0 +# 2221| v2221_1(void) = EnterFunction : +# 2221| m2221_2(unknown) = AliasedDefinition : +# 2221| m2221_3(unknown) = InitializeNonLocal : +# 2221| m2221_4(unknown) = Chi : total:m2221_2, partial:m2221_3 +# 2222| r2222_1(glval) = VariableAddress[a] : +# 2222| m2222_2(ClassWithDestructor) = Uninitialized[a] : &:r2222_1 +# 2222| r2222_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2222| v2222_4(void) = Call[ClassWithDestructor] : func:r2222_3, this:r2222_1 +# 2222| m2222_5(unknown) = ^CallSideEffect : ~m2221_4 +# 2222| m2222_6(unknown) = Chi : total:m2221_4, partial:m2222_5 +# 2222| m2222_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2222_1 +# 2222| m2222_8(ClassWithDestructor) = Chi : total:m2222_2, partial:m2222_7 +# 2223| r2223_1(glval) = VariableAddress[b#init] : +# 2223| r2223_2(bool) = Load[b#init] : &:r2223_1, ~m2222_6 +# 2223| v2223_3(void) = ConditionalBranch : r2223_2 #-----| False -> Block 1 #-----| True -> Block 2 -# 2187| Block 1 -# 2187| r2187_4(glval) = VariableAddress[c] : +# 2223| Block 1 +# 2223| r2223_4(glval) = VariableAddress[b] : #-----| r0_1(glval) = FunctionAddress[ClassWithDestructor] : -#-----| v0_2(void) = Call[ClassWithDestructor] : func:r0_1, this:r2187_4 -#-----| m0_3(unknown) = ^CallSideEffect : ~m2186_6 -#-----| m0_4(unknown) = Chi : total:m2186_6, partial:m0_3 -#-----| m0_5(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2187_4 +#-----| v0_2(void) = Call[ClassWithDestructor] : func:r0_1, this:r2223_4 +#-----| m0_3(unknown) = ^CallSideEffect : ~m2222_6 +#-----| m0_4(unknown) = Chi : total:m2222_6, partial:m0_3 +#-----| m0_5(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2223_4 #-----| m0_6(unknown) = Chi : total:m0_4, partial:m0_5 -# 2187| r2187_5(bool) = Constant[1] : -# 2187| m2187_6(bool) = Store[c#init] : &:r2187_1, r2187_5 -# 2187| m2187_7(unknown) = Chi : total:m0_6, partial:m2187_6 +# 2223| r2223_5(bool) = Constant[1] : +# 2223| m2223_6(bool) = Store[b#init] : &:r2223_1, r2223_5 +# 2223| m2223_7(unknown) = Chi : total:m0_6, partial:m2223_6 #-----| Goto -> Block 2 -# 2188| Block 2 -# 2188| m2188_1(unknown) = Phi : from 0:~m2186_6, from 1:~m2187_7 -# 2188| v2188_2(void) = NoOp : -# 2188| r2188_3(glval) = VariableAddress[b] : -# 2188| r2188_4(glval) = FunctionAddress[~ClassWithDestructor] : -# 2188| v2188_5(void) = Call[~ClassWithDestructor] : func:r2188_4, this:r2188_3 -# 2188| m2188_6(unknown) = ^CallSideEffect : ~m2188_1 -# 2188| m2188_7(unknown) = Chi : total:m2188_1, partial:m2188_6 -# 2188| v2188_8(void) = ^IndirectReadSideEffect[-1] : &:r2188_3, m2186_8 -# 2188| m2188_9(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2188_3 -# 2188| m2188_10(ClassWithDestructor) = Chi : total:m2186_8, partial:m2188_9 -# 2188| r2188_11(glval) = VariableAddress[a] : -# 2188| r2188_12(glval) = FunctionAddress[~ClassWithDestructor] : -# 2188| v2188_13(void) = Call[~ClassWithDestructor] : func:r2188_12, this:r2188_11 -# 2188| m2188_14(unknown) = ^CallSideEffect : ~m2188_7 -# 2188| m2188_15(unknown) = Chi : total:m2188_7, partial:m2188_14 -# 2188| v2188_16(void) = ^IndirectReadSideEffect[-1] : &:r2188_11, m2185_8 -# 2188| m2188_17(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2188_11 -# 2188| m2188_18(ClassWithDestructor) = Chi : total:m2185_8, partial:m2188_17 -# 2184| v2184_5(void) = ReturnVoid : -# 2184| v2184_6(void) = AliasedUse : ~m2188_15 -# 2184| v2184_7(void) = ExitFunction : +# 2224| Block 2 +# 2224| m2224_1(unknown) = Phi : from 0:~m2222_6, from 1:~m2223_7 +# 2224| v2224_2(void) = NoOp : +# 2224| r2224_3(glval) = VariableAddress[a] : +# 2224| r2224_4(glval) = FunctionAddress[~ClassWithDestructor] : +# 2224| v2224_5(void) = Call[~ClassWithDestructor] : func:r2224_4, this:r2224_3 +# 2224| m2224_6(unknown) = ^CallSideEffect : ~m2224_1 +# 2224| m2224_7(unknown) = Chi : total:m2224_1, partial:m2224_6 +# 2224| v2224_8(void) = ^IndirectReadSideEffect[-1] : &:r2224_3, m2222_8 +# 2224| m2224_9(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2224_3 +# 2224| m2224_10(ClassWithDestructor) = Chi : total:m2222_8, partial:m2224_9 +# 2221| v2221_5(void) = ReturnVoid : +# 2221| v2221_6(void) = AliasedUse : ~m2224_7 +# 2221| v2221_7(void) = ExitFunction : -# 2190| ClassWithDestructor global_class_with_destructor -# 2190| Block 0 -# 2190| v2190_1(void) = EnterFunction : -# 2190| m2190_2(unknown) = AliasedDefinition : -# 2190| r2190_3(glval) = VariableAddress[global_class_with_destructor] : -# 2190| r2190_4(glval) = FunctionAddress[ClassWithDestructor] : -# 2190| v2190_5(void) = Call[ClassWithDestructor] : func:r2190_4, this:r2190_3 -# 2190| m2190_6(unknown) = ^CallSideEffect : ~m2190_2 -# 2190| m2190_7(unknown) = Chi : total:m2190_2, partial:m2190_6 -# 2190| m2190_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2190_3 -# 2190| m2190_9(unknown) = Chi : total:m2190_7, partial:m2190_8 -# 2190| v2190_10(void) = ReturnVoid : -# 2190| v2190_11(void) = AliasedUse : ~m2190_9 -# 2190| v2190_12(void) = ExitFunction : +# 2226| void static_variable_with_destructor_2() +# 2226| Block 0 +# 2226| v2226_1(void) = EnterFunction : +# 2226| m2226_2(unknown) = AliasedDefinition : +# 2226| m2226_3(unknown) = InitializeNonLocal : +# 2226| m2226_4(unknown) = Chi : total:m2226_2, partial:m2226_3 +# 2227| r2227_1(glval) = VariableAddress[a#init] : +# 2227| r2227_2(bool) = Load[a#init] : &:r2227_1, ~m2226_3 +# 2227| v2227_3(void) = ConditionalBranch : r2227_2 +#-----| False -> Block 1 +#-----| True -> Block 2 -# 2194| ClassWithDestructor& vacuous_destructor_call::get(ClassWithDestructor&) -# 2194| Block 0 -# 2194| v2194_1(void) = EnterFunction : -# 2194| m2194_2(unknown) = AliasedDefinition : -# 2194| m2194_3(unknown) = InitializeNonLocal : -# 2194| m2194_4(unknown) = Chi : total:m2194_2, partial:m2194_3 -# 2194| r2194_5(glval) = VariableAddress[t] : -# 2194| m2194_6(ClassWithDestructor &) = InitializeParameter[t] : &:r2194_5 -# 2194| r2194_7(ClassWithDestructor &) = Load[t] : &:r2194_5, m2194_6 -# 2194| m2194_8(unknown) = InitializeIndirection[t] : &:r2194_7 -# 2194| r2194_9(glval) = VariableAddress[#return] : -# 2194| r2194_10(glval) = VariableAddress[t] : -# 2194| r2194_11(ClassWithDestructor &) = Load[t] : &:r2194_10, m2194_6 -# 2194| r2194_12(glval) = CopyValue : r2194_11 -# 2194| r2194_13(ClassWithDestructor &) = CopyValue : r2194_12 -# 2194| m2194_14(ClassWithDestructor &) = Store[#return] : &:r2194_9, r2194_13 -# 2194| v2194_15(void) = ReturnIndirection[t] : &:r2194_7, m2194_8 -# 2194| r2194_16(glval) = VariableAddress[#return] : -# 2194| v2194_17(void) = ReturnValue : &:r2194_16, m2194_14 -# 2194| v2194_18(void) = AliasedUse : m2194_3 -# 2194| v2194_19(void) = ExitFunction : +# 2227| Block 1 +# 2227| r2227_4(glval) = VariableAddress[a] : +#-----| r0_1(glval) = FunctionAddress[ClassWithDestructor] : +#-----| v0_2(void) = Call[ClassWithDestructor] : func:r0_1, this:r2227_4 +#-----| m0_3(unknown) = ^CallSideEffect : ~m2226_4 +#-----| m0_4(unknown) = Chi : total:m2226_4, partial:m0_3 +#-----| m0_5(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2227_4 +#-----| m0_6(unknown) = Chi : total:m0_4, partial:m0_5 +# 2227| r2227_5(bool) = Constant[1] : +# 2227| m2227_6(bool) = Store[a#init] : &:r2227_1, r2227_5 +# 2227| m2227_7(unknown) = Chi : total:m0_6, partial:m2227_6 +#-----| Goto -> Block 2 -# 2194| int& vacuous_destructor_call::get(int&) -# 2194| Block 0 -# 2194| v2194_1(void) = EnterFunction : -# 2194| m2194_2(unknown) = AliasedDefinition : -# 2194| m2194_3(unknown) = InitializeNonLocal : -# 2194| m2194_4(unknown) = Chi : total:m2194_2, partial:m2194_3 -# 2194| r2194_5(glval) = VariableAddress[t] : -# 2194| m2194_6(int &) = InitializeParameter[t] : &:r2194_5 -# 2194| r2194_7(int &) = Load[t] : &:r2194_5, m2194_6 -# 2194| m2194_8(unknown) = InitializeIndirection[t] : &:r2194_7 -# 2194| r2194_9(glval) = VariableAddress[#return] : -# 2194| r2194_10(glval) = VariableAddress[t] : -# 2194| r2194_11(int &) = Load[t] : &:r2194_10, m2194_6 -# 2194| r2194_12(glval) = CopyValue : r2194_11 -# 2194| r2194_13(int &) = CopyValue : r2194_12 -# 2194| m2194_14(int &) = Store[#return] : &:r2194_9, r2194_13 -# 2194| v2194_15(void) = ReturnIndirection[t] : &:r2194_7, m2194_8 -# 2194| r2194_16(glval) = VariableAddress[#return] : -# 2194| v2194_17(void) = ReturnValue : &:r2194_16, m2194_14 -# 2194| v2194_18(void) = AliasedUse : m2194_3 -# 2194| v2194_19(void) = ExitFunction : +# 2228| Block 2 +# 2228| m2228_1(unknown) = Phi : from 0:~m2226_4, from 1:~m2227_7 +# 2228| r2228_2(glval) = VariableAddress[b] : +# 2228| m2228_3(ClassWithDestructor) = Uninitialized[b] : &:r2228_2 +# 2228| r2228_4(glval) = FunctionAddress[ClassWithDestructor] : +# 2228| v2228_5(void) = Call[ClassWithDestructor] : func:r2228_4, this:r2228_2 +# 2228| m2228_6(unknown) = ^CallSideEffect : ~m2228_1 +# 2228| m2228_7(unknown) = Chi : total:m2228_1, partial:m2228_6 +# 2228| m2228_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2228_2 +# 2228| m2228_9(ClassWithDestructor) = Chi : total:m2228_3, partial:m2228_8 +# 2229| v2229_1(void) = NoOp : +# 2229| r2229_2(glval) = VariableAddress[b] : +# 2229| r2229_3(glval) = FunctionAddress[~ClassWithDestructor] : +# 2229| v2229_4(void) = Call[~ClassWithDestructor] : func:r2229_3, this:r2229_2 +# 2229| m2229_5(unknown) = ^CallSideEffect : ~m2228_7 +# 2229| m2229_6(unknown) = Chi : total:m2228_7, partial:m2229_5 +# 2229| v2229_7(void) = ^IndirectReadSideEffect[-1] : &:r2229_2, m2228_9 +# 2229| m2229_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2229_2 +# 2229| m2229_9(ClassWithDestructor) = Chi : total:m2228_9, partial:m2229_8 +# 2226| v2226_5(void) = ReturnVoid : +# 2226| v2226_6(void) = AliasedUse : ~m2229_6 +# 2226| v2226_7(void) = ExitFunction : -# 2197| void vacuous_destructor_call::call_destructor(ClassWithDestructor&) -# 2197| Block 0 -# 2197| v2197_1(void) = EnterFunction : -# 2197| m2197_2(unknown) = AliasedDefinition : -# 2197| m2197_3(unknown) = InitializeNonLocal : -# 2197| m2197_4(unknown) = Chi : total:m2197_2, partial:m2197_3 -# 2197| r2197_5(glval) = VariableAddress[t] : -# 2197| m2197_6(ClassWithDestructor &) = InitializeParameter[t] : &:r2197_5 -# 2197| r2197_7(ClassWithDestructor &) = Load[t] : &:r2197_5, m2197_6 -# 2197| m2197_8(unknown) = InitializeIndirection[t] : &:r2197_7 -# 2198| r2198_1(glval) = FunctionAddress[get] : -# 2198| r2198_2(glval) = VariableAddress[t] : -# 2198| r2198_3(ClassWithDestructor &) = Load[t] : &:r2198_2, m2197_6 -# 2198| r2198_4(glval) = CopyValue : r2198_3 -# 2198| r2198_5(ClassWithDestructor &) = CopyValue : r2198_4 -# 2198| r2198_6(ClassWithDestructor &) = Call[get] : func:r2198_1, 0:r2198_5 -# 2198| m2198_7(unknown) = ^CallSideEffect : ~m2197_4 -# 2198| m2198_8(unknown) = Chi : total:m2197_4, partial:m2198_7 -# 2198| v2198_9(void) = ^BufferReadSideEffect[0] : &:r2198_5, ~m2197_8 -# 2198| m2198_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r2198_5 -# 2198| m2198_11(unknown) = Chi : total:m2197_8, partial:m2198_10 -# 2198| r2198_12(glval) = CopyValue : r2198_6 -# 2198| r2198_13(glval) = FunctionAddress[~ClassWithDestructor] : -# 2198| v2198_14(void) = Call[~ClassWithDestructor] : func:r2198_13 -# 2198| m2198_15(unknown) = ^CallSideEffect : ~m2198_8 -# 2198| m2198_16(unknown) = Chi : total:m2198_8, partial:m2198_15 -# 2198| v2198_17(void) = ^IndirectReadSideEffect[-1] : &:r2198_12, ~m2198_11 -# 2198| m2198_18(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2198_12 -# 2198| m2198_19(unknown) = Chi : total:m2198_11, partial:m2198_18 -# 2199| v2199_1(void) = NoOp : -# 2197| v2197_9(void) = ReturnIndirection[t] : &:r2197_7, m2198_19 -# 2197| v2197_10(void) = ReturnVoid : -# 2197| v2197_11(void) = AliasedUse : ~m2198_16 -# 2197| v2197_12(void) = ExitFunction : +# 2231| void static_variable_with_destructor_3() +# 2231| Block 0 +# 2231| v2231_1(void) = EnterFunction : +# 2231| m2231_2(unknown) = AliasedDefinition : +# 2231| m2231_3(unknown) = InitializeNonLocal : +# 2231| m2231_4(unknown) = Chi : total:m2231_2, partial:m2231_3 +# 2232| r2232_1(glval) = VariableAddress[a] : +# 2232| m2232_2(ClassWithDestructor) = Uninitialized[a] : &:r2232_1 +# 2232| r2232_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2232| v2232_4(void) = Call[ClassWithDestructor] : func:r2232_3, this:r2232_1 +# 2232| m2232_5(unknown) = ^CallSideEffect : ~m2231_4 +# 2232| m2232_6(unknown) = Chi : total:m2231_4, partial:m2232_5 +# 2232| m2232_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2232_1 +# 2232| m2232_8(ClassWithDestructor) = Chi : total:m2232_2, partial:m2232_7 +# 2233| r2233_1(glval) = VariableAddress[b] : +# 2233| m2233_2(ClassWithDestructor) = Uninitialized[b] : &:r2233_1 +# 2233| r2233_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2233| v2233_4(void) = Call[ClassWithDestructor] : func:r2233_3, this:r2233_1 +# 2233| m2233_5(unknown) = ^CallSideEffect : ~m2232_6 +# 2233| m2233_6(unknown) = Chi : total:m2232_6, partial:m2233_5 +# 2233| m2233_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2233_1 +# 2233| m2233_8(ClassWithDestructor) = Chi : total:m2233_2, partial:m2233_7 +# 2234| r2234_1(glval) = VariableAddress[c#init] : +# 2234| r2234_2(bool) = Load[c#init] : &:r2234_1, ~m2233_6 +# 2234| v2234_3(void) = ConditionalBranch : r2234_2 +#-----| False -> Block 1 +#-----| True -> Block 2 -# 2197| void vacuous_destructor_call::call_destructor(int&) -# 2197| Block 0 -# 2197| v2197_1(void) = EnterFunction : -# 2197| m2197_2(unknown) = AliasedDefinition : -# 2197| m2197_3(unknown) = InitializeNonLocal : -# 2197| m2197_4(unknown) = Chi : total:m2197_2, partial:m2197_3 -# 2197| r2197_5(glval) = VariableAddress[t] : -# 2197| m2197_6(int &) = InitializeParameter[t] : &:r2197_5 -# 2197| r2197_7(int &) = Load[t] : &:r2197_5, m2197_6 -# 2197| m2197_8(unknown) = InitializeIndirection[t] : &:r2197_7 -# 2198| r2198_1(glval) = FunctionAddress[get] : -# 2198| r2198_2(glval) = VariableAddress[t] : -# 2198| r2198_3(int &) = Load[t] : &:r2198_2, m2197_6 -# 2198| r2198_4(glval) = CopyValue : r2198_3 -# 2198| r2198_5(int &) = CopyValue : r2198_4 -# 2198| r2198_6(int &) = Call[get] : func:r2198_1, 0:r2198_5 -# 2198| m2198_7(unknown) = ^CallSideEffect : ~m2197_4 -# 2198| m2198_8(unknown) = Chi : total:m2197_4, partial:m2198_7 -# 2198| v2198_9(void) = ^BufferReadSideEffect[0] : &:r2198_5, ~m2197_8 -# 2198| m2198_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r2198_5 -# 2198| m2198_11(unknown) = Chi : total:m2197_8, partial:m2198_10 -# 2198| r2198_12(glval) = CopyValue : r2198_6 -# 2199| v2199_1(void) = NoOp : -# 2197| v2197_9(void) = ReturnIndirection[t] : &:r2197_7, m2198_11 -# 2197| v2197_10(void) = ReturnVoid : -# 2197| v2197_11(void) = AliasedUse : ~m2198_8 -# 2197| v2197_12(void) = ExitFunction : +# 2234| Block 1 +# 2234| r2234_4(glval) = VariableAddress[c] : +#-----| r0_1(glval) = FunctionAddress[ClassWithDestructor] : +#-----| v0_2(void) = Call[ClassWithDestructor] : func:r0_1, this:r2234_4 +#-----| m0_3(unknown) = ^CallSideEffect : ~m2233_6 +#-----| m0_4(unknown) = Chi : total:m2233_6, partial:m0_3 +#-----| m0_5(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2234_4 +#-----| m0_6(unknown) = Chi : total:m0_4, partial:m0_5 +# 2234| r2234_5(bool) = Constant[1] : +# 2234| m2234_6(bool) = Store[c#init] : &:r2234_1, r2234_5 +# 2234| m2234_7(unknown) = Chi : total:m0_6, partial:m2234_6 +#-----| Goto -> Block 2 -# 2201| void vacuous_destructor_call::non_vacuous_destructor_call() -# 2201| Block 0 -# 2201| v2201_1(void) = EnterFunction : -# 2201| m2201_2(unknown) = AliasedDefinition : -# 2201| m2201_3(unknown) = InitializeNonLocal : -# 2201| m2201_4(unknown) = Chi : total:m2201_2, partial:m2201_3 -# 2202| r2202_1(glval) = VariableAddress[c] : -# 2202| m2202_2(ClassWithDestructor) = Uninitialized[c] : &:r2202_1 -# 2202| r2202_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2202| v2202_4(void) = Call[ClassWithDestructor] : func:r2202_3, this:r2202_1 -# 2202| m2202_5(unknown) = ^CallSideEffect : ~m2201_4 -# 2202| m2202_6(unknown) = Chi : total:m2201_4, partial:m2202_5 -# 2202| m2202_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2202_1 -# 2202| m2202_8(ClassWithDestructor) = Chi : total:m2202_2, partial:m2202_7 -# 2203| r2203_1(glval) = FunctionAddress[call_destructor] : -# 2203| r2203_2(glval) = VariableAddress[c] : -# 2203| r2203_3(ClassWithDestructor &) = CopyValue : r2203_2 -# 2203| v2203_4(void) = Call[call_destructor] : func:r2203_1, 0:r2203_3 -# 2203| m2203_5(unknown) = ^CallSideEffect : ~m2202_6 -# 2203| m2203_6(unknown) = Chi : total:m2202_6, partial:m2203_5 -# 2203| v2203_7(void) = ^BufferReadSideEffect[0] : &:r2203_3, ~m2202_8 -# 2203| m2203_8(unknown) = ^BufferMayWriteSideEffect[0] : &:r2203_3 -# 2203| m2203_9(ClassWithDestructor) = Chi : total:m2202_8, partial:m2203_8 -# 2204| v2204_1(void) = NoOp : -# 2204| r2204_2(glval) = VariableAddress[c] : -# 2204| r2204_3(glval) = FunctionAddress[~ClassWithDestructor] : -# 2204| v2204_4(void) = Call[~ClassWithDestructor] : func:r2204_3, this:r2204_2 -# 2204| m2204_5(unknown) = ^CallSideEffect : ~m2203_6 -# 2204| m2204_6(unknown) = Chi : total:m2203_6, partial:m2204_5 -# 2204| v2204_7(void) = ^IndirectReadSideEffect[-1] : &:r2204_2, m2203_9 -# 2204| m2204_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2204_2 -# 2204| m2204_9(ClassWithDestructor) = Chi : total:m2203_9, partial:m2204_8 -# 2201| v2201_5(void) = ReturnVoid : -# 2201| v2201_6(void) = AliasedUse : ~m2204_6 -# 2201| v2201_7(void) = ExitFunction : +# 2235| Block 2 +# 2235| m2235_1(unknown) = Phi : from 0:~m2233_6, from 1:~m2234_7 +# 2235| v2235_2(void) = NoOp : +# 2235| r2235_3(glval) = VariableAddress[b] : +# 2235| r2235_4(glval) = FunctionAddress[~ClassWithDestructor] : +# 2235| v2235_5(void) = Call[~ClassWithDestructor] : func:r2235_4, this:r2235_3 +# 2235| m2235_6(unknown) = ^CallSideEffect : ~m2235_1 +# 2235| m2235_7(unknown) = Chi : total:m2235_1, partial:m2235_6 +# 2235| v2235_8(void) = ^IndirectReadSideEffect[-1] : &:r2235_3, m2233_8 +# 2235| m2235_9(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2235_3 +# 2235| m2235_10(ClassWithDestructor) = Chi : total:m2233_8, partial:m2235_9 +# 2235| r2235_11(glval) = VariableAddress[a] : +# 2235| r2235_12(glval) = FunctionAddress[~ClassWithDestructor] : +# 2235| v2235_13(void) = Call[~ClassWithDestructor] : func:r2235_12, this:r2235_11 +# 2235| m2235_14(unknown) = ^CallSideEffect : ~m2235_7 +# 2235| m2235_15(unknown) = Chi : total:m2235_7, partial:m2235_14 +# 2235| v2235_16(void) = ^IndirectReadSideEffect[-1] : &:r2235_11, m2232_8 +# 2235| m2235_17(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2235_11 +# 2235| m2235_18(ClassWithDestructor) = Chi : total:m2232_8, partial:m2235_17 +# 2231| v2231_5(void) = ReturnVoid : +# 2231| v2231_6(void) = AliasedUse : ~m2235_15 +# 2231| v2231_7(void) = ExitFunction : -# 2206| void vacuous_destructor_call::vacuous_destructor_call() -# 2206| Block 0 -# 2206| v2206_1(void) = EnterFunction : -# 2206| m2206_2(unknown) = AliasedDefinition : -# 2206| m2206_3(unknown) = InitializeNonLocal : -# 2206| m2206_4(unknown) = Chi : total:m2206_2, partial:m2206_3 -# 2207| r2207_1(glval) = VariableAddress[i] : -# 2207| m2207_2(int) = Uninitialized[i] : &:r2207_1 -# 2208| r2208_1(glval) = FunctionAddress[call_destructor] : -# 2208| r2208_2(glval) = VariableAddress[i] : -# 2208| r2208_3(int &) = CopyValue : r2208_2 -# 2208| v2208_4(void) = Call[call_destructor] : func:r2208_1, 0:r2208_3 -# 2208| m2208_5(unknown) = ^CallSideEffect : ~m2206_4 -# 2208| m2208_6(unknown) = Chi : total:m2206_4, partial:m2208_5 -# 2208| v2208_7(void) = ^BufferReadSideEffect[0] : &:r2208_3, ~m2207_2 -# 2208| m2208_8(unknown) = ^BufferMayWriteSideEffect[0] : &:r2208_3 -# 2208| m2208_9(int) = Chi : total:m2207_2, partial:m2208_8 -# 2209| v2209_1(void) = NoOp : -# 2206| v2206_5(void) = ReturnVoid : -# 2206| v2206_6(void) = AliasedUse : ~m2208_6 -# 2206| v2206_7(void) = ExitFunction : +# 2237| ClassWithDestructor global_class_with_destructor +# 2237| Block 0 +# 2237| v2237_1(void) = EnterFunction : +# 2237| m2237_2(unknown) = AliasedDefinition : +# 2237| r2237_3(glval) = VariableAddress[global_class_with_destructor] : +# 2237| r2237_4(glval) = FunctionAddress[ClassWithDestructor] : +# 2237| v2237_5(void) = Call[ClassWithDestructor] : func:r2237_4, this:r2237_3 +# 2237| m2237_6(unknown) = ^CallSideEffect : ~m2237_2 +# 2237| m2237_7(unknown) = Chi : total:m2237_2, partial:m2237_6 +# 2237| m2237_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2237_3 +# 2237| m2237_9(unknown) = Chi : total:m2237_7, partial:m2237_8 +# 2237| v2237_10(void) = ReturnVoid : +# 2237| v2237_11(void) = AliasedUse : ~m2237_9 +# 2237| v2237_12(void) = ExitFunction : -# 2212| void TryCatchDestructors(bool) -# 2212| Block 0 -# 2212| v2212_1(void) = EnterFunction : -# 2212| m2212_2(unknown) = AliasedDefinition : -# 2212| m2212_3(unknown) = InitializeNonLocal : -# 2212| m2212_4(unknown) = Chi : total:m2212_2, partial:m2212_3 -# 2212| r2212_5(glval) = VariableAddress[b] : -# 2212| m2212_6(bool) = InitializeParameter[b] : &:r2212_5 -# 2214| r2214_1(glval) = VariableAddress[s] : -# 2214| m2214_2(String) = Uninitialized[s] : &:r2214_1 -# 2214| r2214_3(glval) = FunctionAddress[String] : -# 2214| v2214_4(void) = Call[String] : func:r2214_3, this:r2214_1 -# 2214| m2214_5(unknown) = ^CallSideEffect : ~m2212_4 -# 2214| m2214_6(unknown) = Chi : total:m2212_4, partial:m2214_5 -# 2214| m2214_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2214_1 -# 2214| m2214_8(String) = Chi : total:m2214_2, partial:m2214_7 -# 2215| r2215_1(glval) = VariableAddress[b] : -# 2215| r2215_2(bool) = Load[b] : &:r2215_1, m2212_6 -# 2215| v2215_3(void) = ConditionalBranch : r2215_2 +# 2241| ClassWithDestructor& vacuous_destructor_call::get(ClassWithDestructor&) +# 2241| Block 0 +# 2241| v2241_1(void) = EnterFunction : +# 2241| m2241_2(unknown) = AliasedDefinition : +# 2241| m2241_3(unknown) = InitializeNonLocal : +# 2241| m2241_4(unknown) = Chi : total:m2241_2, partial:m2241_3 +# 2241| r2241_5(glval) = VariableAddress[t] : +# 2241| m2241_6(ClassWithDestructor &) = InitializeParameter[t] : &:r2241_5 +# 2241| r2241_7(ClassWithDestructor &) = Load[t] : &:r2241_5, m2241_6 +# 2241| m2241_8(unknown) = InitializeIndirection[t] : &:r2241_7 +# 2241| r2241_9(glval) = VariableAddress[#return] : +# 2241| r2241_10(glval) = VariableAddress[t] : +# 2241| r2241_11(ClassWithDestructor &) = Load[t] : &:r2241_10, m2241_6 +# 2241| r2241_12(glval) = CopyValue : r2241_11 +# 2241| r2241_13(ClassWithDestructor &) = CopyValue : r2241_12 +# 2241| m2241_14(ClassWithDestructor &) = Store[#return] : &:r2241_9, r2241_13 +# 2241| v2241_15(void) = ReturnIndirection[t] : &:r2241_7, m2241_8 +# 2241| r2241_16(glval) = VariableAddress[#return] : +# 2241| v2241_17(void) = ReturnValue : &:r2241_16, m2241_14 +# 2241| v2241_18(void) = AliasedUse : m2241_3 +# 2241| v2241_19(void) = ExitFunction : + +# 2241| int& vacuous_destructor_call::get(int&) +# 2241| Block 0 +# 2241| v2241_1(void) = EnterFunction : +# 2241| m2241_2(unknown) = AliasedDefinition : +# 2241| m2241_3(unknown) = InitializeNonLocal : +# 2241| m2241_4(unknown) = Chi : total:m2241_2, partial:m2241_3 +# 2241| r2241_5(glval) = VariableAddress[t] : +# 2241| m2241_6(int &) = InitializeParameter[t] : &:r2241_5 +# 2241| r2241_7(int &) = Load[t] : &:r2241_5, m2241_6 +# 2241| m2241_8(unknown) = InitializeIndirection[t] : &:r2241_7 +# 2241| r2241_9(glval) = VariableAddress[#return] : +# 2241| r2241_10(glval) = VariableAddress[t] : +# 2241| r2241_11(int &) = Load[t] : &:r2241_10, m2241_6 +# 2241| r2241_12(glval) = CopyValue : r2241_11 +# 2241| r2241_13(int &) = CopyValue : r2241_12 +# 2241| m2241_14(int &) = Store[#return] : &:r2241_9, r2241_13 +# 2241| v2241_15(void) = ReturnIndirection[t] : &:r2241_7, m2241_8 +# 2241| r2241_16(glval) = VariableAddress[#return] : +# 2241| v2241_17(void) = ReturnValue : &:r2241_16, m2241_14 +# 2241| v2241_18(void) = AliasedUse : m2241_3 +# 2241| v2241_19(void) = ExitFunction : + +# 2244| void vacuous_destructor_call::call_destructor(ClassWithDestructor&) +# 2244| Block 0 +# 2244| v2244_1(void) = EnterFunction : +# 2244| m2244_2(unknown) = AliasedDefinition : +# 2244| m2244_3(unknown) = InitializeNonLocal : +# 2244| m2244_4(unknown) = Chi : total:m2244_2, partial:m2244_3 +# 2244| r2244_5(glval) = VariableAddress[t] : +# 2244| m2244_6(ClassWithDestructor &) = InitializeParameter[t] : &:r2244_5 +# 2244| r2244_7(ClassWithDestructor &) = Load[t] : &:r2244_5, m2244_6 +# 2244| m2244_8(unknown) = InitializeIndirection[t] : &:r2244_7 +# 2245| r2245_1(glval) = FunctionAddress[get] : +# 2245| r2245_2(glval) = VariableAddress[t] : +# 2245| r2245_3(ClassWithDestructor &) = Load[t] : &:r2245_2, m2244_6 +# 2245| r2245_4(glval) = CopyValue : r2245_3 +# 2245| r2245_5(ClassWithDestructor &) = CopyValue : r2245_4 +# 2245| r2245_6(ClassWithDestructor &) = Call[get] : func:r2245_1, 0:r2245_5 +# 2245| m2245_7(unknown) = ^CallSideEffect : ~m2244_4 +# 2245| m2245_8(unknown) = Chi : total:m2244_4, partial:m2245_7 +# 2245| v2245_9(void) = ^BufferReadSideEffect[0] : &:r2245_5, ~m2244_8 +# 2245| m2245_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r2245_5 +# 2245| m2245_11(unknown) = Chi : total:m2244_8, partial:m2245_10 +# 2245| r2245_12(glval) = CopyValue : r2245_6 +# 2245| r2245_13(glval) = FunctionAddress[~ClassWithDestructor] : +# 2245| v2245_14(void) = Call[~ClassWithDestructor] : func:r2245_13 +# 2245| m2245_15(unknown) = ^CallSideEffect : ~m2245_8 +# 2245| m2245_16(unknown) = Chi : total:m2245_8, partial:m2245_15 +# 2245| v2245_17(void) = ^IndirectReadSideEffect[-1] : &:r2245_12, ~m2245_11 +# 2245| m2245_18(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2245_12 +# 2245| m2245_19(unknown) = Chi : total:m2245_11, partial:m2245_18 +# 2246| v2246_1(void) = NoOp : +# 2244| v2244_9(void) = ReturnIndirection[t] : &:r2244_7, m2245_19 +# 2244| v2244_10(void) = ReturnVoid : +# 2244| v2244_11(void) = AliasedUse : ~m2245_16 +# 2244| v2244_12(void) = ExitFunction : + +# 2244| void vacuous_destructor_call::call_destructor(int&) +# 2244| Block 0 +# 2244| v2244_1(void) = EnterFunction : +# 2244| m2244_2(unknown) = AliasedDefinition : +# 2244| m2244_3(unknown) = InitializeNonLocal : +# 2244| m2244_4(unknown) = Chi : total:m2244_2, partial:m2244_3 +# 2244| r2244_5(glval) = VariableAddress[t] : +# 2244| m2244_6(int &) = InitializeParameter[t] : &:r2244_5 +# 2244| r2244_7(int &) = Load[t] : &:r2244_5, m2244_6 +# 2244| m2244_8(unknown) = InitializeIndirection[t] : &:r2244_7 +# 2245| r2245_1(glval) = FunctionAddress[get] : +# 2245| r2245_2(glval) = VariableAddress[t] : +# 2245| r2245_3(int &) = Load[t] : &:r2245_2, m2244_6 +# 2245| r2245_4(glval) = CopyValue : r2245_3 +# 2245| r2245_5(int &) = CopyValue : r2245_4 +# 2245| r2245_6(int &) = Call[get] : func:r2245_1, 0:r2245_5 +# 2245| m2245_7(unknown) = ^CallSideEffect : ~m2244_4 +# 2245| m2245_8(unknown) = Chi : total:m2244_4, partial:m2245_7 +# 2245| v2245_9(void) = ^BufferReadSideEffect[0] : &:r2245_5, ~m2244_8 +# 2245| m2245_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r2245_5 +# 2245| m2245_11(unknown) = Chi : total:m2244_8, partial:m2245_10 +# 2245| r2245_12(glval) = CopyValue : r2245_6 +# 2246| v2246_1(void) = NoOp : +# 2244| v2244_9(void) = ReturnIndirection[t] : &:r2244_7, m2245_11 +# 2244| v2244_10(void) = ReturnVoid : +# 2244| v2244_11(void) = AliasedUse : ~m2245_8 +# 2244| v2244_12(void) = ExitFunction : + +# 2248| void vacuous_destructor_call::non_vacuous_destructor_call() +# 2248| Block 0 +# 2248| v2248_1(void) = EnterFunction : +# 2248| m2248_2(unknown) = AliasedDefinition : +# 2248| m2248_3(unknown) = InitializeNonLocal : +# 2248| m2248_4(unknown) = Chi : total:m2248_2, partial:m2248_3 +# 2249| r2249_1(glval) = VariableAddress[c] : +# 2249| m2249_2(ClassWithDestructor) = Uninitialized[c] : &:r2249_1 +# 2249| r2249_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2249| v2249_4(void) = Call[ClassWithDestructor] : func:r2249_3, this:r2249_1 +# 2249| m2249_5(unknown) = ^CallSideEffect : ~m2248_4 +# 2249| m2249_6(unknown) = Chi : total:m2248_4, partial:m2249_5 +# 2249| m2249_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2249_1 +# 2249| m2249_8(ClassWithDestructor) = Chi : total:m2249_2, partial:m2249_7 +# 2250| r2250_1(glval) = FunctionAddress[call_destructor] : +# 2250| r2250_2(glval) = VariableAddress[c] : +# 2250| r2250_3(ClassWithDestructor &) = CopyValue : r2250_2 +# 2250| v2250_4(void) = Call[call_destructor] : func:r2250_1, 0:r2250_3 +# 2250| m2250_5(unknown) = ^CallSideEffect : ~m2249_6 +# 2250| m2250_6(unknown) = Chi : total:m2249_6, partial:m2250_5 +# 2250| v2250_7(void) = ^BufferReadSideEffect[0] : &:r2250_3, ~m2249_8 +# 2250| m2250_8(unknown) = ^BufferMayWriteSideEffect[0] : &:r2250_3 +# 2250| m2250_9(ClassWithDestructor) = Chi : total:m2249_8, partial:m2250_8 +# 2251| v2251_1(void) = NoOp : +# 2251| r2251_2(glval) = VariableAddress[c] : +# 2251| r2251_3(glval) = FunctionAddress[~ClassWithDestructor] : +# 2251| v2251_4(void) = Call[~ClassWithDestructor] : func:r2251_3, this:r2251_2 +# 2251| m2251_5(unknown) = ^CallSideEffect : ~m2250_6 +# 2251| m2251_6(unknown) = Chi : total:m2250_6, partial:m2251_5 +# 2251| v2251_7(void) = ^IndirectReadSideEffect[-1] : &:r2251_2, m2250_9 +# 2251| m2251_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2251_2 +# 2251| m2251_9(ClassWithDestructor) = Chi : total:m2250_9, partial:m2251_8 +# 2248| v2248_5(void) = ReturnVoid : +# 2248| v2248_6(void) = AliasedUse : ~m2251_6 +# 2248| v2248_7(void) = ExitFunction : + +# 2253| void vacuous_destructor_call::vacuous_destructor_call() +# 2253| Block 0 +# 2253| v2253_1(void) = EnterFunction : +# 2253| m2253_2(unknown) = AliasedDefinition : +# 2253| m2253_3(unknown) = InitializeNonLocal : +# 2253| m2253_4(unknown) = Chi : total:m2253_2, partial:m2253_3 +# 2254| r2254_1(glval) = VariableAddress[i] : +# 2254| m2254_2(int) = Uninitialized[i] : &:r2254_1 +# 2255| r2255_1(glval) = FunctionAddress[call_destructor] : +# 2255| r2255_2(glval) = VariableAddress[i] : +# 2255| r2255_3(int &) = CopyValue : r2255_2 +# 2255| v2255_4(void) = Call[call_destructor] : func:r2255_1, 0:r2255_3 +# 2255| m2255_5(unknown) = ^CallSideEffect : ~m2253_4 +# 2255| m2255_6(unknown) = Chi : total:m2253_4, partial:m2255_5 +# 2255| v2255_7(void) = ^BufferReadSideEffect[0] : &:r2255_3, ~m2254_2 +# 2255| m2255_8(unknown) = ^BufferMayWriteSideEffect[0] : &:r2255_3 +# 2255| m2255_9(int) = Chi : total:m2254_2, partial:m2255_8 +# 2256| v2256_1(void) = NoOp : +# 2253| v2253_5(void) = ReturnVoid : +# 2253| v2253_6(void) = AliasedUse : ~m2255_6 +# 2253| v2253_7(void) = ExitFunction : + +# 2259| void TryCatchDestructors(bool) +# 2259| Block 0 +# 2259| v2259_1(void) = EnterFunction : +# 2259| m2259_2(unknown) = AliasedDefinition : +# 2259| m2259_3(unknown) = InitializeNonLocal : +# 2259| m2259_4(unknown) = Chi : total:m2259_2, partial:m2259_3 +# 2259| r2259_5(glval) = VariableAddress[b] : +# 2259| m2259_6(bool) = InitializeParameter[b] : &:r2259_5 +# 2261| r2261_1(glval) = VariableAddress[s] : +# 2261| m2261_2(String) = Uninitialized[s] : &:r2261_1 +# 2261| r2261_3(glval) = FunctionAddress[String] : +# 2261| v2261_4(void) = Call[String] : func:r2261_3, this:r2261_1 +# 2261| m2261_5(unknown) = ^CallSideEffect : ~m2259_4 +# 2261| m2261_6(unknown) = Chi : total:m2259_4, partial:m2261_5 +# 2261| m2261_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2261_1 +# 2261| m2261_8(String) = Chi : total:m2261_2, partial:m2261_7 +# 2262| r2262_1(glval) = VariableAddress[b] : +# 2262| r2262_2(bool) = Load[b] : &:r2262_1, m2259_6 +# 2262| v2262_3(void) = ConditionalBranch : r2262_2 #-----| False -> Block 4 #-----| True -> Block 3 -# 2212| Block 1 -# 2212| m2212_7(unknown) = Phi : from 2:~m2212_10, from 10:~m2228_1 -# 2212| v2212_8(void) = AliasedUse : ~m2212_7 -# 2212| v2212_9(void) = ExitFunction : +# 2259| Block 1 +# 2259| m2259_7(unknown) = Phi : from 2:~m2259_10, from 10:~m2275_1 +# 2259| v2259_8(void) = AliasedUse : ~m2259_7 +# 2259| v2259_9(void) = ExitFunction : -# 2212| Block 2 -# 2212| m2212_10(unknown) = Phi : from 6:~m2221_8, from 9:~m2214_6 -# 2212| v2212_11(void) = Unwind : +# 2259| Block 2 +# 2259| m2259_10(unknown) = Phi : from 6:~m2268_8, from 9:~m2261_6 +# 2259| v2259_11(void) = Unwind : #-----| Goto -> Block 1 -# 2216| Block 3 -# 2216| r2216_1(glval) = VariableAddress[#throw2216:7] : -# 2216| r2216_2(glval) = StringConstant["string literal"] : -# 2216| r2216_3(char *) = Convert : r2216_2 -# 2216| m2216_4(char *) = Store[#throw2216:7] : &:r2216_1, r2216_3 -# 2216| v2216_5(void) = ThrowValue : &:r2216_1, m2216_4 +# 2263| Block 3 +# 2263| r2263_1(glval) = VariableAddress[#throw2263:7] : +# 2263| r2263_2(glval) = StringConstant["string literal"] : +# 2263| r2263_3(char *) = Convert : r2263_2 +# 2263| m2263_4(char *) = Store[#throw2263:7] : &:r2263_1, r2263_3 +# 2263| v2263_5(void) = ThrowValue : &:r2263_1, m2263_4 #-----| Exception -> Block 5 -# 2218| Block 4 -# 2218| r2218_1(glval) = VariableAddress[s2] : -# 2218| m2218_2(String) = Uninitialized[s2] : &:r2218_1 -# 2218| r2218_3(glval) = FunctionAddress[String] : -# 2218| v2218_4(void) = Call[String] : func:r2218_3, this:r2218_1 -# 2218| m2218_5(unknown) = ^CallSideEffect : ~m2214_6 -# 2218| m2218_6(unknown) = Chi : total:m2214_6, partial:m2218_5 -# 2218| m2218_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2218_1 -# 2218| m2218_8(String) = Chi : total:m2218_2, partial:m2218_7 -# 2219| r2219_1(glval) = VariableAddress[s2] : -# 2219| r2219_2(glval) = FunctionAddress[~String] : -# 2219| v2219_3(void) = Call[~String] : func:r2219_2, this:r2219_1 -# 2219| m2219_4(unknown) = ^CallSideEffect : ~m2218_6 -# 2219| m2219_5(unknown) = Chi : total:m2218_6, partial:m2219_4 -# 2219| v2219_6(void) = ^IndirectReadSideEffect[-1] : &:r2219_1, m2218_8 -# 2219| m2219_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2219_1 -# 2219| m2219_8(String) = Chi : total:m2218_8, partial:m2219_7 -# 2219| r2219_9(glval) = VariableAddress[s] : -# 2219| r2219_10(glval) = FunctionAddress[~String] : -# 2219| v2219_11(void) = Call[~String] : func:r2219_10, this:r2219_9 -# 2219| m2219_12(unknown) = ^CallSideEffect : ~m2219_5 -# 2219| m2219_13(unknown) = Chi : total:m2219_5, partial:m2219_12 -# 2219| v2219_14(void) = ^IndirectReadSideEffect[-1] : &:r2219_9, m2214_8 -# 2219| m2219_15(String) = ^IndirectMayWriteSideEffect[-1] : &:r2219_9 -# 2219| m2219_16(String) = Chi : total:m2214_8, partial:m2219_15 +# 2265| Block 4 +# 2265| r2265_1(glval) = VariableAddress[s2] : +# 2265| m2265_2(String) = Uninitialized[s2] : &:r2265_1 +# 2265| r2265_3(glval) = FunctionAddress[String] : +# 2265| v2265_4(void) = Call[String] : func:r2265_3, this:r2265_1 +# 2265| m2265_5(unknown) = ^CallSideEffect : ~m2261_6 +# 2265| m2265_6(unknown) = Chi : total:m2261_6, partial:m2265_5 +# 2265| m2265_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2265_1 +# 2265| m2265_8(String) = Chi : total:m2265_2, partial:m2265_7 +# 2266| r2266_1(glval) = VariableAddress[s2] : +# 2266| r2266_2(glval) = FunctionAddress[~String] : +# 2266| v2266_3(void) = Call[~String] : func:r2266_2, this:r2266_1 +# 2266| m2266_4(unknown) = ^CallSideEffect : ~m2265_6 +# 2266| m2266_5(unknown) = Chi : total:m2265_6, partial:m2266_4 +# 2266| v2266_6(void) = ^IndirectReadSideEffect[-1] : &:r2266_1, m2265_8 +# 2266| m2266_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2266_1 +# 2266| m2266_8(String) = Chi : total:m2265_8, partial:m2266_7 +# 2266| r2266_9(glval) = VariableAddress[s] : +# 2266| r2266_10(glval) = FunctionAddress[~String] : +# 2266| v2266_11(void) = Call[~String] : func:r2266_10, this:r2266_9 +# 2266| m2266_12(unknown) = ^CallSideEffect : ~m2266_5 +# 2266| m2266_13(unknown) = Chi : total:m2266_5, partial:m2266_12 +# 2266| v2266_14(void) = ^IndirectReadSideEffect[-1] : &:r2266_9, m2261_8 +# 2266| m2266_15(String) = ^IndirectMayWriteSideEffect[-1] : &:r2266_9 +# 2266| m2266_16(String) = Chi : total:m2261_8, partial:m2266_15 #-----| Goto -> Block 10 -# 2220| Block 5 -# 2220| v2220_1(void) = CatchByType[const char *] : +# 2267| Block 5 +# 2267| v2267_1(void) = CatchByType[const char *] : #-----| Exception -> Block 7 #-----| Goto -> Block 6 -# 2220| Block 6 -# 2220| r2220_2(glval) = VariableAddress[s] : -# 2220| m2220_3(char *) = InitializeParameter[s] : &:r2220_2 -# 2220| r2220_4(char *) = Load[s] : &:r2220_2, m2220_3 -# 2220| m2220_5(unknown) = InitializeIndirection[s] : &:r2220_4 -# 2221| r2221_1(glval) = VariableAddress[#throw2221:5] : -# 2221| m2221_2(String) = Uninitialized[#throw2221:5] : &:r2221_1 -# 2221| r2221_3(glval) = FunctionAddress[String] : -# 2221| r2221_4(glval) = VariableAddress[s] : -# 2221| r2221_5(char *) = Load[s] : &:r2221_4, m2220_3 -# 2221| v2221_6(void) = Call[String] : func:r2221_3, this:r2221_1, 0:r2221_5 -# 2221| m2221_7(unknown) = ^CallSideEffect : ~m2214_6 -# 2221| m2221_8(unknown) = Chi : total:m2214_6, partial:m2221_7 -# 2221| v2221_9(void) = ^BufferReadSideEffect[0] : &:r2221_5, ~m2220_5 -# 2221| m2221_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r2221_1 -# 2221| m2221_11(String) = Chi : total:m2221_2, partial:m2221_10 -# 2221| v2221_12(void) = ThrowValue : &:r2221_1, m2221_11 +# 2267| Block 6 +# 2267| r2267_2(glval) = VariableAddress[s] : +# 2267| m2267_3(char *) = InitializeParameter[s] : &:r2267_2 +# 2267| r2267_4(char *) = Load[s] : &:r2267_2, m2267_3 +# 2267| m2267_5(unknown) = InitializeIndirection[s] : &:r2267_4 +# 2268| r2268_1(glval) = VariableAddress[#throw2268:5] : +# 2268| m2268_2(String) = Uninitialized[#throw2268:5] : &:r2268_1 +# 2268| r2268_3(glval) = FunctionAddress[String] : +# 2268| r2268_4(glval) = VariableAddress[s] : +# 2268| r2268_5(char *) = Load[s] : &:r2268_4, m2267_3 +# 2268| v2268_6(void) = Call[String] : func:r2268_3, this:r2268_1, 0:r2268_5 +# 2268| m2268_7(unknown) = ^CallSideEffect : ~m2261_6 +# 2268| m2268_8(unknown) = Chi : total:m2261_6, partial:m2268_7 +# 2268| v2268_9(void) = ^BufferReadSideEffect[0] : &:r2268_5, ~m2267_5 +# 2268| m2268_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r2268_1 +# 2268| m2268_11(String) = Chi : total:m2268_2, partial:m2268_10 +# 2268| v2268_12(void) = ThrowValue : &:r2268_1, m2268_11 #-----| Exception -> Block 2 -# 2223| Block 7 -# 2223| v2223_1(void) = CatchByType[const String &] : +# 2270| Block 7 +# 2270| v2270_1(void) = CatchByType[const String &] : #-----| Exception -> Block 9 #-----| Goto -> Block 8 -# 2223| Block 8 -# 2223| r2223_2(glval) = VariableAddress[e] : -# 2223| m2223_3(String &) = InitializeParameter[e] : &:r2223_2 -# 2223| r2223_4(String &) = Load[e] : &:r2223_2, m2223_3 -# 2223| m2223_5(unknown) = InitializeIndirection[e] : &:r2223_4 -# 2223| v2223_6(void) = NoOp : +# 2270| Block 8 +# 2270| r2270_2(glval) = VariableAddress[e] : +# 2270| m2270_3(String &) = InitializeParameter[e] : &:r2270_2 +# 2270| r2270_4(String &) = Load[e] : &:r2270_2, m2270_3 +# 2270| m2270_5(unknown) = InitializeIndirection[e] : &:r2270_4 +# 2270| v2270_6(void) = NoOp : #-----| Goto -> Block 10 -# 2225| Block 9 -# 2225| v2225_1(void) = CatchAny : -# 2226| v2226_1(void) = ReThrow : +# 2272| Block 9 +# 2272| v2272_1(void) = CatchAny : +# 2273| v2273_1(void) = ReThrow : #-----| Exception -> Block 2 -# 2228| Block 10 -# 2228| m2228_1(unknown) = Phi : from 4:~m2219_13, from 8:~m2214_6 -# 2228| v2228_2(void) = NoOp : -# 2212| v2212_12(void) = ReturnVoid : +# 2275| Block 10 +# 2275| m2275_1(unknown) = Phi : from 4:~m2266_13, from 8:~m2261_6 +# 2275| v2275_2(void) = NoOp : +# 2259| v2259_12(void) = ReturnVoid : #-----| Goto -> Block 1 -# 2230| void IfDestructors(bool) -# 2230| Block 0 -# 2230| v2230_1(void) = EnterFunction : -# 2230| m2230_2(unknown) = AliasedDefinition : -# 2230| m2230_3(unknown) = InitializeNonLocal : -# 2230| m2230_4(unknown) = Chi : total:m2230_2, partial:m2230_3 -# 2230| r2230_5(glval) = VariableAddress[b] : -# 2230| m2230_6(bool) = InitializeParameter[b] : &:r2230_5 -# 2231| r2231_1(glval) = VariableAddress[s1] : -# 2231| m2231_2(String) = Uninitialized[s1] : &:r2231_1 -# 2231| r2231_3(glval) = FunctionAddress[String] : -# 2231| v2231_4(void) = Call[String] : func:r2231_3, this:r2231_1 -# 2231| m2231_5(unknown) = ^CallSideEffect : ~m2230_4 -# 2231| m2231_6(unknown) = Chi : total:m2230_4, partial:m2231_5 -# 2231| m2231_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2231_1 -# 2231| m2231_8(String) = Chi : total:m2231_2, partial:m2231_7 -# 2232| r2232_1(glval) = VariableAddress[b] : -# 2232| r2232_2(bool) = Load[b] : &:r2232_1, m2230_6 -# 2232| v2232_3(void) = ConditionalBranch : r2232_2 +# 2277| void IfDestructors(bool) +# 2277| Block 0 +# 2277| v2277_1(void) = EnterFunction : +# 2277| m2277_2(unknown) = AliasedDefinition : +# 2277| m2277_3(unknown) = InitializeNonLocal : +# 2277| m2277_4(unknown) = Chi : total:m2277_2, partial:m2277_3 +# 2277| r2277_5(glval) = VariableAddress[b] : +# 2277| m2277_6(bool) = InitializeParameter[b] : &:r2277_5 +# 2278| r2278_1(glval) = VariableAddress[s1] : +# 2278| m2278_2(String) = Uninitialized[s1] : &:r2278_1 +# 2278| r2278_3(glval) = FunctionAddress[String] : +# 2278| v2278_4(void) = Call[String] : func:r2278_3, this:r2278_1 +# 2278| m2278_5(unknown) = ^CallSideEffect : ~m2277_4 +# 2278| m2278_6(unknown) = Chi : total:m2277_4, partial:m2278_5 +# 2278| m2278_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2278_1 +# 2278| m2278_8(String) = Chi : total:m2278_2, partial:m2278_7 +# 2279| r2279_1(glval) = VariableAddress[b] : +# 2279| r2279_2(bool) = Load[b] : &:r2279_1, m2277_6 +# 2279| v2279_3(void) = ConditionalBranch : r2279_2 #-----| False -> Block 2 #-----| True -> Block 1 -# 2233| Block 1 -# 2233| r2233_1(glval) = VariableAddress[s2] : -# 2233| m2233_2(String) = Uninitialized[s2] : &:r2233_1 -# 2233| r2233_3(glval) = FunctionAddress[String] : -# 2233| v2233_4(void) = Call[String] : func:r2233_3, this:r2233_1 -# 2233| m2233_5(unknown) = ^CallSideEffect : ~m2231_6 -# 2233| m2233_6(unknown) = Chi : total:m2231_6, partial:m2233_5 -# 2233| m2233_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2233_1 -# 2233| m2233_8(String) = Chi : total:m2233_2, partial:m2233_7 -# 2234| r2234_1(glval) = VariableAddress[s2] : -# 2234| r2234_2(glval) = FunctionAddress[~String] : -# 2234| v2234_3(void) = Call[~String] : func:r2234_2, this:r2234_1 -# 2234| m2234_4(unknown) = ^CallSideEffect : ~m2233_6 -# 2234| m2234_5(unknown) = Chi : total:m2233_6, partial:m2234_4 -# 2234| v2234_6(void) = ^IndirectReadSideEffect[-1] : &:r2234_1, m2233_8 -# 2234| m2234_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2234_1 -# 2234| m2234_8(String) = Chi : total:m2233_8, partial:m2234_7 +# 2280| Block 1 +# 2280| r2280_1(glval) = VariableAddress[s2] : +# 2280| m2280_2(String) = Uninitialized[s2] : &:r2280_1 +# 2280| r2280_3(glval) = FunctionAddress[String] : +# 2280| v2280_4(void) = Call[String] : func:r2280_3, this:r2280_1 +# 2280| m2280_5(unknown) = ^CallSideEffect : ~m2278_6 +# 2280| m2280_6(unknown) = Chi : total:m2278_6, partial:m2280_5 +# 2280| m2280_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2280_1 +# 2280| m2280_8(String) = Chi : total:m2280_2, partial:m2280_7 +# 2281| r2281_1(glval) = VariableAddress[s2] : +# 2281| r2281_2(glval) = FunctionAddress[~String] : +# 2281| v2281_3(void) = Call[~String] : func:r2281_2, this:r2281_1 +# 2281| m2281_4(unknown) = ^CallSideEffect : ~m2280_6 +# 2281| m2281_5(unknown) = Chi : total:m2280_6, partial:m2281_4 +# 2281| v2281_6(void) = ^IndirectReadSideEffect[-1] : &:r2281_1, m2280_8 +# 2281| m2281_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2281_1 +# 2281| m2281_8(String) = Chi : total:m2280_8, partial:m2281_7 #-----| Goto -> Block 3 -# 2235| Block 2 -# 2235| r2235_1(glval) = VariableAddress[s3] : -# 2235| m2235_2(String) = Uninitialized[s3] : &:r2235_1 -# 2235| r2235_3(glval) = FunctionAddress[String] : -# 2235| v2235_4(void) = Call[String] : func:r2235_3, this:r2235_1 -# 2235| m2235_5(unknown) = ^CallSideEffect : ~m2231_6 -# 2235| m2235_6(unknown) = Chi : total:m2231_6, partial:m2235_5 -# 2235| m2235_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2235_1 -# 2235| m2235_8(String) = Chi : total:m2235_2, partial:m2235_7 -# 2236| r2236_1(glval) = VariableAddress[s3] : -# 2236| r2236_2(glval) = FunctionAddress[~String] : -# 2236| v2236_3(void) = Call[~String] : func:r2236_2, this:r2236_1 -# 2236| m2236_4(unknown) = ^CallSideEffect : ~m2235_6 -# 2236| m2236_5(unknown) = Chi : total:m2235_6, partial:m2236_4 -# 2236| v2236_6(void) = ^IndirectReadSideEffect[-1] : &:r2236_1, m2235_8 -# 2236| m2236_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2236_1 -# 2236| m2236_8(String) = Chi : total:m2235_8, partial:m2236_7 +# 2282| Block 2 +# 2282| r2282_1(glval) = VariableAddress[s3] : +# 2282| m2282_2(String) = Uninitialized[s3] : &:r2282_1 +# 2282| r2282_3(glval) = FunctionAddress[String] : +# 2282| v2282_4(void) = Call[String] : func:r2282_3, this:r2282_1 +# 2282| m2282_5(unknown) = ^CallSideEffect : ~m2278_6 +# 2282| m2282_6(unknown) = Chi : total:m2278_6, partial:m2282_5 +# 2282| m2282_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2282_1 +# 2282| m2282_8(String) = Chi : total:m2282_2, partial:m2282_7 +# 2283| r2283_1(glval) = VariableAddress[s3] : +# 2283| r2283_2(glval) = FunctionAddress[~String] : +# 2283| v2283_3(void) = Call[~String] : func:r2283_2, this:r2283_1 +# 2283| m2283_4(unknown) = ^CallSideEffect : ~m2282_6 +# 2283| m2283_5(unknown) = Chi : total:m2282_6, partial:m2283_4 +# 2283| v2283_6(void) = ^IndirectReadSideEffect[-1] : &:r2283_1, m2282_8 +# 2283| m2283_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2283_1 +# 2283| m2283_8(String) = Chi : total:m2282_8, partial:m2283_7 #-----| Goto -> Block 3 -# 2237| Block 3 -# 2237| m2237_1(unknown) = Phi : from 1:~m2234_5, from 2:~m2236_5 -# 2237| r2237_2(glval) = VariableAddress[s4] : -# 2237| m2237_3(String) = Uninitialized[s4] : &:r2237_2 -# 2237| r2237_4(glval) = FunctionAddress[String] : -# 2237| v2237_5(void) = Call[String] : func:r2237_4, this:r2237_2 -# 2237| m2237_6(unknown) = ^CallSideEffect : ~m2237_1 -# 2237| m2237_7(unknown) = Chi : total:m2237_1, partial:m2237_6 -# 2237| m2237_8(String) = ^IndirectMayWriteSideEffect[-1] : &:r2237_2 -# 2237| m2237_9(String) = Chi : total:m2237_3, partial:m2237_8 -# 2238| v2238_1(void) = NoOp : -# 2238| r2238_2(glval) = VariableAddress[s4] : -# 2238| r2238_3(glval) = FunctionAddress[~String] : -# 2238| v2238_4(void) = Call[~String] : func:r2238_3, this:r2238_2 -# 2238| m2238_5(unknown) = ^CallSideEffect : ~m2237_7 -# 2238| m2238_6(unknown) = Chi : total:m2237_7, partial:m2238_5 -# 2238| v2238_7(void) = ^IndirectReadSideEffect[-1] : &:r2238_2, m2237_9 -# 2238| m2238_8(String) = ^IndirectMayWriteSideEffect[-1] : &:r2238_2 -# 2238| m2238_9(String) = Chi : total:m2237_9, partial:m2238_8 -# 2238| r2238_10(glval) = VariableAddress[s1] : -# 2238| r2238_11(glval) = FunctionAddress[~String] : -# 2238| v2238_12(void) = Call[~String] : func:r2238_11, this:r2238_10 -# 2238| m2238_13(unknown) = ^CallSideEffect : ~m2238_6 -# 2238| m2238_14(unknown) = Chi : total:m2238_6, partial:m2238_13 -# 2238| v2238_15(void) = ^IndirectReadSideEffect[-1] : &:r2238_10, m2231_8 -# 2238| m2238_16(String) = ^IndirectMayWriteSideEffect[-1] : &:r2238_10 -# 2238| m2238_17(String) = Chi : total:m2231_8, partial:m2238_16 -# 2230| v2230_7(void) = ReturnVoid : -# 2230| v2230_8(void) = AliasedUse : ~m2238_14 -# 2230| v2230_9(void) = ExitFunction : +# 2284| Block 3 +# 2284| m2284_1(unknown) = Phi : from 1:~m2281_5, from 2:~m2283_5 +# 2284| r2284_2(glval) = VariableAddress[s4] : +# 2284| m2284_3(String) = Uninitialized[s4] : &:r2284_2 +# 2284| r2284_4(glval) = FunctionAddress[String] : +# 2284| v2284_5(void) = Call[String] : func:r2284_4, this:r2284_2 +# 2284| m2284_6(unknown) = ^CallSideEffect : ~m2284_1 +# 2284| m2284_7(unknown) = Chi : total:m2284_1, partial:m2284_6 +# 2284| m2284_8(String) = ^IndirectMayWriteSideEffect[-1] : &:r2284_2 +# 2284| m2284_9(String) = Chi : total:m2284_3, partial:m2284_8 +# 2285| v2285_1(void) = NoOp : +# 2285| r2285_2(glval) = VariableAddress[s4] : +# 2285| r2285_3(glval) = FunctionAddress[~String] : +# 2285| v2285_4(void) = Call[~String] : func:r2285_3, this:r2285_2 +# 2285| m2285_5(unknown) = ^CallSideEffect : ~m2284_7 +# 2285| m2285_6(unknown) = Chi : total:m2284_7, partial:m2285_5 +# 2285| v2285_7(void) = ^IndirectReadSideEffect[-1] : &:r2285_2, m2284_9 +# 2285| m2285_8(String) = ^IndirectMayWriteSideEffect[-1] : &:r2285_2 +# 2285| m2285_9(String) = Chi : total:m2284_9, partial:m2285_8 +# 2285| r2285_10(glval) = VariableAddress[s1] : +# 2285| r2285_11(glval) = FunctionAddress[~String] : +# 2285| v2285_12(void) = Call[~String] : func:r2285_11, this:r2285_10 +# 2285| m2285_13(unknown) = ^CallSideEffect : ~m2285_6 +# 2285| m2285_14(unknown) = Chi : total:m2285_6, partial:m2285_13 +# 2285| v2285_15(void) = ^IndirectReadSideEffect[-1] : &:r2285_10, m2278_8 +# 2285| m2285_16(String) = ^IndirectMayWriteSideEffect[-1] : &:r2285_10 +# 2285| m2285_17(String) = Chi : total:m2278_8, partial:m2285_16 +# 2277| v2277_7(void) = ReturnVoid : +# 2277| v2277_8(void) = AliasedUse : ~m2285_14 +# 2277| v2277_9(void) = ExitFunction : -# 2240| void ForDestructors() -# 2240| Block 0 -# 2240| v2240_1(void) = EnterFunction : -# 2240| m2240_2(unknown) = AliasedDefinition : -# 2240| m2240_3(unknown) = InitializeNonLocal : -# 2240| m2240_4(unknown) = Chi : total:m2240_2, partial:m2240_3 -# 2241| r2241_1(glval) = VariableAddress[c] : -# 2241| r2241_2(char) = Constant[97] : -# 2241| m2241_3(char) = Store[c] : &:r2241_1, r2241_2 -# 2242| r2242_1(glval) = VariableAddress[s] : -# 2242| m2242_2(String) = Uninitialized[s] : &:r2242_1 -# 2242| r2242_3(glval) = FunctionAddress[String] : -# 2242| r2242_4(glval) = StringConstant["hello"] : -# 2242| r2242_5(char *) = Convert : r2242_4 -# 2242| v2242_6(void) = Call[String] : func:r2242_3, this:r2242_1, 0:r2242_5 -# 2242| m2242_7(unknown) = ^CallSideEffect : ~m2240_4 -# 2242| m2242_8(unknown) = Chi : total:m2240_4, partial:m2242_7 -# 2242| v2242_9(void) = ^BufferReadSideEffect[0] : &:r2242_5, ~m2240_3 -# 2242| m2242_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r2242_1 -# 2242| m2242_11(String) = Chi : total:m2242_2, partial:m2242_10 +# 2287| void ForDestructors() +# 2287| Block 0 +# 2287| v2287_1(void) = EnterFunction : +# 2287| m2287_2(unknown) = AliasedDefinition : +# 2287| m2287_3(unknown) = InitializeNonLocal : +# 2287| m2287_4(unknown) = Chi : total:m2287_2, partial:m2287_3 +# 2288| r2288_1(glval) = VariableAddress[c] : +# 2288| r2288_2(char) = Constant[97] : +# 2288| m2288_3(char) = Store[c] : &:r2288_1, r2288_2 +# 2289| r2289_1(glval) = VariableAddress[s] : +# 2289| m2289_2(String) = Uninitialized[s] : &:r2289_1 +# 2289| r2289_3(glval) = FunctionAddress[String] : +# 2289| r2289_4(glval) = StringConstant["hello"] : +# 2289| r2289_5(char *) = Convert : r2289_4 +# 2289| v2289_6(void) = Call[String] : func:r2289_3, this:r2289_1, 0:r2289_5 +# 2289| m2289_7(unknown) = ^CallSideEffect : ~m2287_4 +# 2289| m2289_8(unknown) = Chi : total:m2287_4, partial:m2289_7 +# 2289| v2289_9(void) = ^BufferReadSideEffect[0] : &:r2289_5, ~m2287_3 +# 2289| m2289_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r2289_1 +# 2289| m2289_11(String) = Chi : total:m2289_2, partial:m2289_10 #-----| Goto -> Block 1 -# 2242| Block 1 -# 2242| m2242_12(String) = Phi : from 0:m2242_11, from 2:m2242_28 -# 2242| m2242_13(unknown) = Phi : from 0:~m2242_8, from 2:~m2242_25 -# 2242| m2242_14(char) = Phi : from 0:m2241_3, from 2:m2242_30 -# 2242| r2242_15(glval) = VariableAddress[c] : -# 2242| r2242_16(char) = Load[c] : &:r2242_15, m2242_14 -# 2242| r2242_17(int) = Convert : r2242_16 -# 2242| r2242_18(int) = Constant[0] : -# 2242| r2242_19(bool) = CompareNE : r2242_17, r2242_18 -# 2242| v2242_20(void) = ConditionalBranch : r2242_19 +# 2289| Block 1 +# 2289| m2289_12(String) = Phi : from 0:m2289_11, from 2:m2289_28 +# 2289| m2289_13(unknown) = Phi : from 0:~m2289_8, from 2:~m2289_25 +# 2289| m2289_14(char) = Phi : from 0:m2288_3, from 2:m2289_30 +# 2289| r2289_15(glval) = VariableAddress[c] : +# 2289| r2289_16(char) = Load[c] : &:r2289_15, m2289_14 +# 2289| r2289_17(int) = Convert : r2289_16 +# 2289| r2289_18(int) = Constant[0] : +# 2289| r2289_19(bool) = CompareNE : r2289_17, r2289_18 +# 2289| v2289_20(void) = ConditionalBranch : r2289_19 #-----| False -> Block 3 #-----| True -> Block 2 -# 2243| Block 2 -# 2243| r2243_1(glval) = VariableAddress[s2] : -# 2243| m2243_2(String) = Uninitialized[s2] : &:r2243_1 -# 2243| r2243_3(glval) = FunctionAddress[String] : -# 2243| v2243_4(void) = Call[String] : func:r2243_3, this:r2243_1 -# 2243| m2243_5(unknown) = ^CallSideEffect : ~m2242_13 -# 2243| m2243_6(unknown) = Chi : total:m2242_13, partial:m2243_5 -# 2243| m2243_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2243_1 -# 2243| m2243_8(String) = Chi : total:m2243_2, partial:m2243_7 -# 2244| r2244_1(glval) = VariableAddress[s2] : -# 2244| r2244_2(glval) = FunctionAddress[~String] : -# 2244| v2244_3(void) = Call[~String] : func:r2244_2, this:r2244_1 -# 2244| m2244_4(unknown) = ^CallSideEffect : ~m2243_6 -# 2244| m2244_5(unknown) = Chi : total:m2243_6, partial:m2244_4 -# 2244| v2244_6(void) = ^IndirectReadSideEffect[-1] : &:r2244_1, m2243_8 -# 2244| m2244_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2244_1 -# 2244| m2244_8(String) = Chi : total:m2243_8, partial:m2244_7 -# 2242| r2242_21(glval) = VariableAddress[s] : -# 2242| r2242_22(glval) = FunctionAddress[pop_back] : -# 2242| r2242_23(char) = Call[pop_back] : func:r2242_22, this:r2242_21 -# 2242| m2242_24(unknown) = ^CallSideEffect : ~m2244_5 -# 2242| m2242_25(unknown) = Chi : total:m2244_5, partial:m2242_24 -# 2242| v2242_26(void) = ^IndirectReadSideEffect[-1] : &:r2242_21, m2242_12 -# 2242| m2242_27(String) = ^IndirectMayWriteSideEffect[-1] : &:r2242_21 -# 2242| m2242_28(String) = Chi : total:m2242_12, partial:m2242_27 -# 2242| r2242_29(glval) = VariableAddress[c] : -# 2242| m2242_30(char) = Store[c] : &:r2242_29, r2242_23 +# 2290| Block 2 +# 2290| r2290_1(glval) = VariableAddress[s2] : +# 2290| m2290_2(String) = Uninitialized[s2] : &:r2290_1 +# 2290| r2290_3(glval) = FunctionAddress[String] : +# 2290| v2290_4(void) = Call[String] : func:r2290_3, this:r2290_1 +# 2290| m2290_5(unknown) = ^CallSideEffect : ~m2289_13 +# 2290| m2290_6(unknown) = Chi : total:m2289_13, partial:m2290_5 +# 2290| m2290_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2290_1 +# 2290| m2290_8(String) = Chi : total:m2290_2, partial:m2290_7 +# 2291| r2291_1(glval) = VariableAddress[s2] : +# 2291| r2291_2(glval) = FunctionAddress[~String] : +# 2291| v2291_3(void) = Call[~String] : func:r2291_2, this:r2291_1 +# 2291| m2291_4(unknown) = ^CallSideEffect : ~m2290_6 +# 2291| m2291_5(unknown) = Chi : total:m2290_6, partial:m2291_4 +# 2291| v2291_6(void) = ^IndirectReadSideEffect[-1] : &:r2291_1, m2290_8 +# 2291| m2291_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2291_1 +# 2291| m2291_8(String) = Chi : total:m2290_8, partial:m2291_7 +# 2289| r2289_21(glval) = VariableAddress[s] : +# 2289| r2289_22(glval) = FunctionAddress[pop_back] : +# 2289| r2289_23(char) = Call[pop_back] : func:r2289_22, this:r2289_21 +# 2289| m2289_24(unknown) = ^CallSideEffect : ~m2291_5 +# 2289| m2289_25(unknown) = Chi : total:m2291_5, partial:m2289_24 +# 2289| v2289_26(void) = ^IndirectReadSideEffect[-1] : &:r2289_21, m2289_12 +# 2289| m2289_27(String) = ^IndirectMayWriteSideEffect[-1] : &:r2289_21 +# 2289| m2289_28(String) = Chi : total:m2289_12, partial:m2289_27 +# 2289| r2289_29(glval) = VariableAddress[c] : +# 2289| m2289_30(char) = Store[c] : &:r2289_29, r2289_23 #-----| Goto (back edge) -> Block 1 -# 2242| Block 3 -# 2242| r2242_31(glval) = VariableAddress[s] : -# 2242| r2242_32(glval) = FunctionAddress[~String] : -# 2242| v2242_33(void) = Call[~String] : func:r2242_32, this:r2242_31 -# 2242| m2242_34(unknown) = ^CallSideEffect : ~m2242_13 -# 2242| m2242_35(unknown) = Chi : total:m2242_13, partial:m2242_34 -# 2242| v2242_36(void) = ^IndirectReadSideEffect[-1] : &:r2242_31, m2242_12 -# 2242| m2242_37(String) = ^IndirectMayWriteSideEffect[-1] : &:r2242_31 -# 2242| m2242_38(String) = Chi : total:m2242_12, partial:m2242_37 -# 2246| r2246_1(glval &&>) = VariableAddress[(__range)] : -# 2246| r2246_2(glval>) = VariableAddress[#temp2246:20] : -# 2246| m2246_3(vector) = Uninitialized[#temp2246:20] : &:r2246_2 -# 2246| r2246_4(glval) = FunctionAddress[vector] : -# 2246| r2246_5(glval) = VariableAddress[#temp2246:35] : -# 2246| m2246_6(String) = Uninitialized[#temp2246:35] : &:r2246_5 -# 2246| r2246_7(glval) = FunctionAddress[String] : -# 2246| r2246_8(glval) = StringConstant["hello"] : -# 2246| r2246_9(char *) = Convert : r2246_8 -# 2246| v2246_10(void) = Call[String] : func:r2246_7, this:r2246_5, 0:r2246_9 -# 2246| m2246_11(unknown) = ^CallSideEffect : ~m2242_35 -# 2246| m2246_12(unknown) = Chi : total:m2242_35, partial:m2246_11 -# 2246| v2246_13(void) = ^BufferReadSideEffect[0] : &:r2246_9, ~m2240_3 -# 2246| m2246_14(String) = ^IndirectMayWriteSideEffect[-1] : &:r2246_5 -# 2246| m2246_15(String) = Chi : total:m2246_6, partial:m2246_14 -# 2246| r2246_16(String) = Load[#temp2246:35] : &:r2246_5, m2246_15 -# 2246| v2246_17(void) = Call[vector] : func:r2246_4, this:r2246_2, 0:r2246_16 -# 2246| m2246_18(unknown) = ^CallSideEffect : ~m2246_12 -# 2246| m2246_19(unknown) = Chi : total:m2246_12, partial:m2246_18 -# 2246| m2246_20(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2246_2 -# 2246| m2246_21(vector) = Chi : total:m2246_3, partial:m2246_20 -# 2246| r2246_22(vector &) = CopyValue : r2246_2 -# 2246| m2246_23(vector &&) = Store[(__range)] : &:r2246_1, r2246_22 -# 2246| r2246_24(glval) = VariableAddress[(__begin)] : -# 2246| r2246_25(glval &&>) = VariableAddress[(__range)] : -# 2246| r2246_26(vector &&) = Load[(__range)] : &:r2246_25, m2246_23 -#-----| r0_1(glval>) = CopyValue : r2246_26 -#-----| r0_2(glval>) = Convert : r0_1 -# 2246| r2246_27(glval) = FunctionAddress[begin] : -# 2246| r2246_28(iterator) = Call[begin] : func:r2246_27, this:r0_2 -# 2246| m2246_29(unknown) = ^CallSideEffect : ~m2246_19 -# 2246| m2246_30(unknown) = Chi : total:m2246_19, partial:m2246_29 -#-----| v0_3(void) = ^IndirectReadSideEffect[-1] : &:r0_2, m2246_21 -# 2246| m2246_31(iterator) = Store[(__begin)] : &:r2246_24, r2246_28 -# 2246| r2246_32(glval) = VariableAddress[(__end)] : -# 2246| r2246_33(glval &&>) = VariableAddress[(__range)] : -# 2246| r2246_34(vector &&) = Load[(__range)] : &:r2246_33, m2246_23 -#-----| r0_4(glval>) = CopyValue : r2246_34 -#-----| r0_5(glval>) = Convert : r0_4 -# 2246| r2246_35(glval) = FunctionAddress[end] : -# 2246| r2246_36(iterator) = Call[end] : func:r2246_35, this:r0_5 -# 2246| m2246_37(unknown) = ^CallSideEffect : ~m2246_30 -# 2246| m2246_38(unknown) = Chi : total:m2246_30, partial:m2246_37 -#-----| v0_6(void) = ^IndirectReadSideEffect[-1] : &:r0_5, m2246_21 -# 2246| m2246_39(iterator) = Store[(__end)] : &:r2246_32, r2246_36 +# 2289| Block 3 +# 2289| r2289_31(glval) = VariableAddress[s] : +# 2289| r2289_32(glval) = FunctionAddress[~String] : +# 2289| v2289_33(void) = Call[~String] : func:r2289_32, this:r2289_31 +# 2289| m2289_34(unknown) = ^CallSideEffect : ~m2289_13 +# 2289| m2289_35(unknown) = Chi : total:m2289_13, partial:m2289_34 +# 2289| v2289_36(void) = ^IndirectReadSideEffect[-1] : &:r2289_31, m2289_12 +# 2289| m2289_37(String) = ^IndirectMayWriteSideEffect[-1] : &:r2289_31 +# 2289| m2289_38(String) = Chi : total:m2289_12, partial:m2289_37 +# 2293| r2293_1(glval &&>) = VariableAddress[(__range)] : +# 2293| r2293_2(glval>) = VariableAddress[#temp2293:20] : +# 2293| m2293_3(vector) = Uninitialized[#temp2293:20] : &:r2293_2 +# 2293| r2293_4(glval) = FunctionAddress[vector] : +# 2293| r2293_5(glval) = VariableAddress[#temp2293:40] : +# 2293| m2293_6(String) = Uninitialized[#temp2293:40] : &:r2293_5 +# 2293| r2293_7(glval) = FunctionAddress[String] : +# 2293| r2293_8(glval) = StringConstant["hello"] : +# 2293| r2293_9(char *) = Convert : r2293_8 +# 2293| v2293_10(void) = Call[String] : func:r2293_7, this:r2293_5, 0:r2293_9 +# 2293| m2293_11(unknown) = ^CallSideEffect : ~m2289_35 +# 2293| m2293_12(unknown) = Chi : total:m2289_35, partial:m2293_11 +# 2293| v2293_13(void) = ^BufferReadSideEffect[0] : &:r2293_9, ~m2287_3 +# 2293| m2293_14(String) = ^IndirectMayWriteSideEffect[-1] : &:r2293_5 +# 2293| m2293_15(String) = Chi : total:m2293_6, partial:m2293_14 +# 2293| r2293_16(String) = Load[#temp2293:40] : &:r2293_5, m2293_15 +# 2293| v2293_17(void) = Call[vector] : func:r2293_4, this:r2293_2, 0:r2293_16 +# 2293| m2293_18(unknown) = ^CallSideEffect : ~m2293_12 +# 2293| m2293_19(unknown) = Chi : total:m2293_12, partial:m2293_18 +# 2293| m2293_20(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2293_2 +# 2293| m2293_21(vector) = Chi : total:m2293_3, partial:m2293_20 +# 2293| r2293_22(vector &) = CopyValue : r2293_2 +# 2293| m2293_23(vector &&) = Store[(__range)] : &:r2293_1, r2293_22 +# 2293| r2293_24(glval>) = VariableAddress[(__begin)] : +# 2293| r2293_25(glval &&>) = VariableAddress[(__range)] : +# 2293| r2293_26(vector &&) = Load[(__range)] : &:r2293_25, m2293_23 +#-----| r0_1(glval>) = CopyValue : r2293_26 +#-----| r0_2(glval>) = Convert : r0_1 +# 2293| r2293_27(glval) = FunctionAddress[begin] : +# 2293| r2293_28(iterator) = Call[begin] : func:r2293_27, this:r0_2 +#-----| v0_3(void) = ^IndirectReadSideEffect[-1] : &:r0_2, m2293_21 +# 2293| m2293_29(iterator) = Store[(__begin)] : &:r2293_24, r2293_28 +# 2293| r2293_30(glval>) = VariableAddress[(__end)] : +# 2293| r2293_31(glval &&>) = VariableAddress[(__range)] : +# 2293| r2293_32(vector &&) = Load[(__range)] : &:r2293_31, m2293_23 +#-----| r0_4(glval>) = CopyValue : r2293_32 +#-----| r0_5(glval>) = Convert : r0_4 +# 2293| r2293_33(glval) = FunctionAddress[end] : +# 2293| r2293_34(iterator) = Call[end] : func:r2293_33, this:r0_5 +#-----| v0_6(void) = ^IndirectReadSideEffect[-1] : &:r0_5, m2293_21 +# 2293| m2293_35(iterator) = Store[(__end)] : &:r2293_30, r2293_34 #-----| Goto -> Block 4 -# 2246| Block 4 -# 2246| m2246_40(iterator) = Phi : from 3:m2246_31, from 5:m2246_82 -# 2246| m2246_41(unknown) = Phi : from 3:~m2246_38, from 5:~m2246_79 -# 2246| r2246_42(glval) = VariableAddress[(__begin)] : -#-----| r0_7(glval) = Convert : r2246_42 -# 2246| r2246_43(glval) = FunctionAddress[operator!=] : -# 2246| r2246_44(glval) = VariableAddress[(__end)] : -# 2246| r2246_45(iterator) = Load[(__end)] : &:r2246_44, m2246_39 -# 2246| r2246_46(bool) = Call[operator!=] : func:r2246_43, this:r0_7, 0:r2246_45 -# 2246| m2246_47(unknown) = ^CallSideEffect : ~m2246_41 -# 2246| m2246_48(unknown) = Chi : total:m2246_41, partial:m2246_47 -#-----| v0_8(void) = ^IndirectReadSideEffect[-1] : &:r0_7, m2246_40 -# 2246| v2246_49(void) = ConditionalBranch : r2246_46 +# 2293| Block 4 +# 2293| m2293_36(iterator) = Phi : from 3:m2293_29, from 5:m2293_83 +# 2293| m2293_37(unknown) = Phi : from 3:~m2293_19, from 5:~m2293_80 +# 2293| r2293_38(glval>) = VariableAddress[(__begin)] : +#-----| r0_7(glval>) = Convert : r2293_38 +# 2293| r2293_39(glval) = FunctionAddress[operator!=] : +#-----| r0_8(glval>) = VariableAddress[#temp0:0] : +#-----| m0_9(iterator) = Uninitialized[#temp0:0] : &:r0_8 +# 2293| r2293_40(glval) = FunctionAddress[iterator] : +# 2293| r2293_41(glval>) = VariableAddress[(__end)] : +#-----| r0_10(glval>) = Convert : r2293_41 +#-----| r0_11(iterator &) = CopyValue : r0_10 +# 2293| v2293_42(void) = Call[iterator] : func:r2293_40, this:r0_8, 0:r0_11 +# 2293| m2293_43(unknown) = ^CallSideEffect : ~m2293_37 +# 2293| m2293_44(unknown) = Chi : total:m2293_37, partial:m2293_43 +#-----| v0_12(void) = ^BufferReadSideEffect[0] : &:r0_11, ~m2293_35 +# 2293| m2293_45(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_8 +# 2293| m2293_46(iterator) = Chi : total:m0_9, partial:m2293_45 +#-----| r0_13(iterator) = Load[#temp0:0] : &:r0_8, m2293_46 +# 2293| r2293_47(bool) = Call[operator!=] : func:r2293_39, this:r0_7, 0:r0_13 +# 2293| m2293_48(unknown) = ^CallSideEffect : ~m2293_44 +# 2293| m2293_49(unknown) = Chi : total:m2293_44, partial:m2293_48 +#-----| v0_14(void) = ^IndirectReadSideEffect[-1] : &:r0_7, m2293_36 +# 2293| v2293_50(void) = ConditionalBranch : r2293_47 #-----| False -> Block 6 #-----| True -> Block 5 -# 2246| Block 5 -# 2246| r2246_50(glval) = VariableAddress[s] : -# 2246| m2246_51(String) = Uninitialized[s] : &:r2246_50 -# 2246| r2246_52(glval) = FunctionAddress[String] : -# 2246| r2246_53(glval) = VariableAddress[(__begin)] : -#-----| r0_9(glval) = Convert : r2246_53 -# 2246| r2246_54(glval) = FunctionAddress[operator*] : -# 2246| r2246_55(String &) = Call[operator*] : func:r2246_54, this:r0_9 -# 2246| m2246_56(unknown) = ^CallSideEffect : ~m2246_48 -# 2246| m2246_57(unknown) = Chi : total:m2246_48, partial:m2246_56 -#-----| v0_10(void) = ^IndirectReadSideEffect[-1] : &:r0_9, m2246_40 -# 2246| r2246_58(glval) = CopyValue : r2246_55 -# 2246| r2246_59(glval) = Convert : r2246_58 -# 2246| r2246_60(String &) = CopyValue : r2246_59 -# 2246| v2246_61(void) = Call[String] : func:r2246_52, this:r2246_50, 0:r2246_60 -# 2246| m2246_62(unknown) = ^CallSideEffect : ~m2246_57 -# 2246| m2246_63(unknown) = Chi : total:m2246_57, partial:m2246_62 -# 2246| v2246_64(void) = ^BufferReadSideEffect[0] : &:r2246_60, ~m2246_63 -# 2246| m2246_65(String) = ^IndirectMayWriteSideEffect[-1] : &:r2246_50 -# 2246| m2246_66(String) = Chi : total:m2246_51, partial:m2246_65 -# 2247| r2247_1(glval) = VariableAddress[s2] : -# 2247| m2247_2(String) = Uninitialized[s2] : &:r2247_1 -# 2247| r2247_3(glval) = FunctionAddress[String] : -# 2247| v2247_4(void) = Call[String] : func:r2247_3, this:r2247_1 -# 2247| m2247_5(unknown) = ^CallSideEffect : ~m2246_63 -# 2247| m2247_6(unknown) = Chi : total:m2246_63, partial:m2247_5 -# 2247| m2247_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2247_1 -# 2247| m2247_8(String) = Chi : total:m2247_2, partial:m2247_7 -# 2248| r2248_1(glval) = VariableAddress[s2] : -# 2248| r2248_2(glval) = FunctionAddress[~String] : -# 2248| v2248_3(void) = Call[~String] : func:r2248_2, this:r2248_1 -# 2248| m2248_4(unknown) = ^CallSideEffect : ~m2247_6 -# 2248| m2248_5(unknown) = Chi : total:m2247_6, partial:m2248_4 -# 2248| v2248_6(void) = ^IndirectReadSideEffect[-1] : &:r2248_1, m2247_8 -# 2248| m2248_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2248_1 -# 2248| m2248_8(String) = Chi : total:m2247_8, partial:m2248_7 -# 2246| r2246_67(glval) = VariableAddress[s] : -# 2246| r2246_68(glval) = FunctionAddress[~String] : -# 2246| v2246_69(void) = Call[~String] : func:r2246_68, this:r2246_67 -# 2246| m2246_70(unknown) = ^CallSideEffect : ~m2248_5 -# 2246| m2246_71(unknown) = Chi : total:m2248_5, partial:m2246_70 -# 2246| v2246_72(void) = ^IndirectReadSideEffect[-1] : &:r2246_67, m2246_66 -# 2246| m2246_73(String) = ^IndirectMayWriteSideEffect[-1] : &:r2246_67 -# 2246| m2246_74(String) = Chi : total:m2246_66, partial:m2246_73 -# 2246| r2246_75(glval) = VariableAddress[(__begin)] : -# 2246| r2246_76(glval) = FunctionAddress[operator++] : -# 2246| r2246_77(iterator &) = Call[operator++] : func:r2246_76, this:r2246_75 -# 2246| m2246_78(unknown) = ^CallSideEffect : ~m2246_71 -# 2246| m2246_79(unknown) = Chi : total:m2246_71, partial:m2246_78 -# 2246| v2246_80(void) = ^IndirectReadSideEffect[-1] : &:r2246_75, m2246_40 -# 2246| m2246_81(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2246_75 -# 2246| m2246_82(iterator) = Chi : total:m2246_40, partial:m2246_81 -# 2246| r2246_83(glval) = CopyValue : r2246_77 +# 2293| Block 5 +# 2293| r2293_51(glval) = VariableAddress[s] : +# 2293| m2293_52(String) = Uninitialized[s] : &:r2293_51 +# 2293| r2293_53(glval) = FunctionAddress[String] : +# 2293| r2293_54(glval>) = VariableAddress[(__begin)] : +#-----| r0_15(glval>) = Convert : r2293_54 +# 2293| r2293_55(glval) = FunctionAddress[operator*] : +# 2293| r2293_56(String &) = Call[operator*] : func:r2293_55, this:r0_15 +# 2293| m2293_57(unknown) = ^CallSideEffect : ~m2293_49 +# 2293| m2293_58(unknown) = Chi : total:m2293_49, partial:m2293_57 +#-----| v0_16(void) = ^IndirectReadSideEffect[-1] : &:r0_15, m2293_36 +# 2293| r2293_59(glval) = CopyValue : r2293_56 +# 2293| r2293_60(glval) = Convert : r2293_59 +# 2293| r2293_61(String &) = CopyValue : r2293_60 +# 2293| v2293_62(void) = Call[String] : func:r2293_53, this:r2293_51, 0:r2293_61 +# 2293| m2293_63(unknown) = ^CallSideEffect : ~m2293_58 +# 2293| m2293_64(unknown) = Chi : total:m2293_58, partial:m2293_63 +# 2293| v2293_65(void) = ^BufferReadSideEffect[0] : &:r2293_61, ~m2293_64 +# 2293| m2293_66(String) = ^IndirectMayWriteSideEffect[-1] : &:r2293_51 +# 2293| m2293_67(String) = Chi : total:m2293_52, partial:m2293_66 +# 2294| r2294_1(glval) = VariableAddress[s2] : +# 2294| m2294_2(String) = Uninitialized[s2] : &:r2294_1 +# 2294| r2294_3(glval) = FunctionAddress[String] : +# 2294| v2294_4(void) = Call[String] : func:r2294_3, this:r2294_1 +# 2294| m2294_5(unknown) = ^CallSideEffect : ~m2293_64 +# 2294| m2294_6(unknown) = Chi : total:m2293_64, partial:m2294_5 +# 2294| m2294_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2294_1 +# 2294| m2294_8(String) = Chi : total:m2294_2, partial:m2294_7 +# 2295| r2295_1(glval) = VariableAddress[s2] : +# 2295| r2295_2(glval) = FunctionAddress[~String] : +# 2295| v2295_3(void) = Call[~String] : func:r2295_2, this:r2295_1 +# 2295| m2295_4(unknown) = ^CallSideEffect : ~m2294_6 +# 2295| m2295_5(unknown) = Chi : total:m2294_6, partial:m2295_4 +# 2295| v2295_6(void) = ^IndirectReadSideEffect[-1] : &:r2295_1, m2294_8 +# 2295| m2295_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2295_1 +# 2295| m2295_8(String) = Chi : total:m2294_8, partial:m2295_7 +# 2293| r2293_68(glval) = VariableAddress[s] : +# 2293| r2293_69(glval) = FunctionAddress[~String] : +# 2293| v2293_70(void) = Call[~String] : func:r2293_69, this:r2293_68 +# 2293| m2293_71(unknown) = ^CallSideEffect : ~m2295_5 +# 2293| m2293_72(unknown) = Chi : total:m2295_5, partial:m2293_71 +# 2293| v2293_73(void) = ^IndirectReadSideEffect[-1] : &:r2293_68, m2293_67 +# 2293| m2293_74(String) = ^IndirectMayWriteSideEffect[-1] : &:r2293_68 +# 2293| m2293_75(String) = Chi : total:m2293_67, partial:m2293_74 +# 2293| r2293_76(glval>) = VariableAddress[(__begin)] : +# 2293| r2293_77(glval) = FunctionAddress[operator++] : +# 2293| r2293_78(iterator &) = Call[operator++] : func:r2293_77, this:r2293_76 +# 2293| m2293_79(unknown) = ^CallSideEffect : ~m2293_72 +# 2293| m2293_80(unknown) = Chi : total:m2293_72, partial:m2293_79 +# 2293| v2293_81(void) = ^IndirectReadSideEffect[-1] : &:r2293_76, m2293_36 +# 2293| m2293_82(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2293_76 +# 2293| m2293_83(iterator) = Chi : total:m2293_36, partial:m2293_82 +# 2293| r2293_84(glval>) = CopyValue : r2293_78 #-----| Goto (back edge) -> Block 4 -# 2250| Block 6 -# 2250| r2250_1(glval) = VariableAddress[s] : -# 2250| m2250_2(String) = Uninitialized[s] : &:r2250_1 -# 2250| r2250_3(glval) = FunctionAddress[String] : -# 2250| r2250_4(glval) = StringConstant["hello"] : -# 2250| r2250_5(char *) = Convert : r2250_4 -# 2250| v2250_6(void) = Call[String] : func:r2250_3, this:r2250_1, 0:r2250_5 -# 2250| m2250_7(unknown) = ^CallSideEffect : ~m2246_48 -# 2250| m2250_8(unknown) = Chi : total:m2246_48, partial:m2250_7 -# 2250| v2250_9(void) = ^BufferReadSideEffect[0] : &:r2250_5, ~m2240_3 -# 2250| m2250_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r2250_1 -# 2250| m2250_11(String) = Chi : total:m2250_2, partial:m2250_10 -# 2250| r2250_12(glval) = VariableAddress[s2] : -# 2250| m2250_13(String) = Uninitialized[s2] : &:r2250_12 -# 2250| r2250_14(glval) = FunctionAddress[String] : -# 2250| r2250_15(glval) = StringConstant["world"] : -# 2250| r2250_16(char *) = Convert : r2250_15 -# 2250| v2250_17(void) = Call[String] : func:r2250_14, this:r2250_12, 0:r2250_16 -# 2250| m2250_18(unknown) = ^CallSideEffect : ~m2250_8 -# 2250| m2250_19(unknown) = Chi : total:m2250_8, partial:m2250_18 -# 2250| v2250_20(void) = ^BufferReadSideEffect[0] : &:r2250_16, ~m2240_3 -# 2250| m2250_21(String) = ^IndirectMayWriteSideEffect[-1] : &:r2250_12 -# 2250| m2250_22(String) = Chi : total:m2250_13, partial:m2250_21 +# 2297| Block 6 +# 2297| r2297_1(glval) = VariableAddress[s] : +# 2297| m2297_2(String) = Uninitialized[s] : &:r2297_1 +# 2297| r2297_3(glval) = FunctionAddress[String] : +# 2297| r2297_4(glval) = StringConstant["hello"] : +# 2297| r2297_5(char *) = Convert : r2297_4 +# 2297| v2297_6(void) = Call[String] : func:r2297_3, this:r2297_1, 0:r2297_5 +# 2297| m2297_7(unknown) = ^CallSideEffect : ~m2293_49 +# 2297| m2297_8(unknown) = Chi : total:m2293_49, partial:m2297_7 +# 2297| v2297_9(void) = ^BufferReadSideEffect[0] : &:r2297_5, ~m2287_3 +# 2297| m2297_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r2297_1 +# 2297| m2297_11(String) = Chi : total:m2297_2, partial:m2297_10 +# 2297| r2297_12(glval) = VariableAddress[s2] : +# 2297| m2297_13(String) = Uninitialized[s2] : &:r2297_12 +# 2297| r2297_14(glval) = FunctionAddress[String] : +# 2297| r2297_15(glval) = StringConstant["world"] : +# 2297| r2297_16(char *) = Convert : r2297_15 +# 2297| v2297_17(void) = Call[String] : func:r2297_14, this:r2297_12, 0:r2297_16 +# 2297| m2297_18(unknown) = ^CallSideEffect : ~m2297_8 +# 2297| m2297_19(unknown) = Chi : total:m2297_8, partial:m2297_18 +# 2297| v2297_20(void) = ^BufferReadSideEffect[0] : &:r2297_16, ~m2287_3 +# 2297| m2297_21(String) = ^IndirectMayWriteSideEffect[-1] : &:r2297_12 +# 2297| m2297_22(String) = Chi : total:m2297_13, partial:m2297_21 #-----| Goto -> Block 7 -# 2250| Block 7 -# 2250| m2250_23(String) = Phi : from 6:m2250_11, from 8:m2250_39 -# 2250| m2250_24(unknown) = Phi : from 6:~m2250_19, from 8:~m2250_36 -# 2250| m2250_25(char) = Phi : from 6:m2242_14, from 8:m2250_41 -# 2250| r2250_26(glval) = VariableAddress[c] : -# 2250| r2250_27(char) = Load[c] : &:r2250_26, m2250_25 -# 2250| r2250_28(int) = Convert : r2250_27 -# 2250| r2250_29(int) = Constant[0] : -# 2250| r2250_30(bool) = CompareNE : r2250_28, r2250_29 -# 2250| v2250_31(void) = ConditionalBranch : r2250_30 +# 2297| Block 7 +# 2297| m2297_23(String) = Phi : from 6:m2297_11, from 8:m2297_39 +# 2297| m2297_24(unknown) = Phi : from 6:~m2297_19, from 8:~m2297_36 +# 2297| m2297_25(char) = Phi : from 6:m2289_14, from 8:m2297_41 +# 2297| r2297_26(glval) = VariableAddress[c] : +# 2297| r2297_27(char) = Load[c] : &:r2297_26, m2297_25 +# 2297| r2297_28(int) = Convert : r2297_27 +# 2297| r2297_29(int) = Constant[0] : +# 2297| r2297_30(bool) = CompareNE : r2297_28, r2297_29 +# 2297| v2297_31(void) = ConditionalBranch : r2297_30 #-----| False -> Block 9 #-----| True -> Block 8 -# 2251| Block 8 -# 2251| r2251_1(char) = Constant[0] : -# 2251| r2251_2(glval) = VariableAddress[c] : -# 2251| m2251_3(char) = Store[c] : &:r2251_2, r2251_1 -# 2250| r2250_32(glval) = VariableAddress[s] : -# 2250| r2250_33(glval) = FunctionAddress[pop_back] : -# 2250| r2250_34(char) = Call[pop_back] : func:r2250_33, this:r2250_32 -# 2250| m2250_35(unknown) = ^CallSideEffect : ~m2250_24 -# 2250| m2250_36(unknown) = Chi : total:m2250_24, partial:m2250_35 -# 2250| v2250_37(void) = ^IndirectReadSideEffect[-1] : &:r2250_32, m2250_23 -# 2250| m2250_38(String) = ^IndirectMayWriteSideEffect[-1] : &:r2250_32 -# 2250| m2250_39(String) = Chi : total:m2250_23, partial:m2250_38 -# 2250| r2250_40(glval) = VariableAddress[c] : -# 2250| m2250_41(char) = Store[c] : &:r2250_40, r2250_34 +# 2298| Block 8 +# 2298| r2298_1(char) = Constant[0] : +# 2298| r2298_2(glval) = VariableAddress[c] : +# 2298| m2298_3(char) = Store[c] : &:r2298_2, r2298_1 +# 2297| r2297_32(glval) = VariableAddress[s] : +# 2297| r2297_33(glval) = FunctionAddress[pop_back] : +# 2297| r2297_34(char) = Call[pop_back] : func:r2297_33, this:r2297_32 +# 2297| m2297_35(unknown) = ^CallSideEffect : ~m2297_24 +# 2297| m2297_36(unknown) = Chi : total:m2297_24, partial:m2297_35 +# 2297| v2297_37(void) = ^IndirectReadSideEffect[-1] : &:r2297_32, m2297_23 +# 2297| m2297_38(String) = ^IndirectMayWriteSideEffect[-1] : &:r2297_32 +# 2297| m2297_39(String) = Chi : total:m2297_23, partial:m2297_38 +# 2297| r2297_40(glval) = VariableAddress[c] : +# 2297| m2297_41(char) = Store[c] : &:r2297_40, r2297_34 #-----| Goto (back edge) -> Block 7 -# 2250| Block 9 -# 2250| r2250_42(glval) = VariableAddress[s2] : -# 2250| r2250_43(glval) = FunctionAddress[~String] : -# 2250| v2250_44(void) = Call[~String] : func:r2250_43, this:r2250_42 -# 2250| m2250_45(unknown) = ^CallSideEffect : ~m2250_24 -# 2250| m2250_46(unknown) = Chi : total:m2250_24, partial:m2250_45 -# 2250| v2250_47(void) = ^IndirectReadSideEffect[-1] : &:r2250_42, m2250_22 -# 2250| m2250_48(String) = ^IndirectMayWriteSideEffect[-1] : &:r2250_42 -# 2250| m2250_49(String) = Chi : total:m2250_22, partial:m2250_48 -# 2250| r2250_50(glval) = VariableAddress[s] : -# 2250| r2250_51(glval) = FunctionAddress[~String] : -# 2250| v2250_52(void) = Call[~String] : func:r2250_51, this:r2250_50 -# 2250| m2250_53(unknown) = ^CallSideEffect : ~m2250_46 -# 2250| m2250_54(unknown) = Chi : total:m2250_46, partial:m2250_53 -# 2250| v2250_55(void) = ^IndirectReadSideEffect[-1] : &:r2250_50, m2250_23 -# 2250| m2250_56(String) = ^IndirectMayWriteSideEffect[-1] : &:r2250_50 -# 2250| m2250_57(String) = Chi : total:m2250_23, partial:m2250_56 -# 2253| v2253_1(void) = NoOp : -# 2240| v2240_5(void) = ReturnVoid : -# 2240| v2240_6(void) = AliasedUse : ~m2250_54 -# 2240| v2240_7(void) = ExitFunction : +# 2297| Block 9 +# 2297| r2297_42(glval) = VariableAddress[s2] : +# 2297| r2297_43(glval) = FunctionAddress[~String] : +# 2297| v2297_44(void) = Call[~String] : func:r2297_43, this:r2297_42 +# 2297| m2297_45(unknown) = ^CallSideEffect : ~m2297_24 +# 2297| m2297_46(unknown) = Chi : total:m2297_24, partial:m2297_45 +# 2297| v2297_47(void) = ^IndirectReadSideEffect[-1] : &:r2297_42, m2297_22 +# 2297| m2297_48(String) = ^IndirectMayWriteSideEffect[-1] : &:r2297_42 +# 2297| m2297_49(String) = Chi : total:m2297_22, partial:m2297_48 +# 2297| r2297_50(glval) = VariableAddress[s] : +# 2297| r2297_51(glval) = FunctionAddress[~String] : +# 2297| v2297_52(void) = Call[~String] : func:r2297_51, this:r2297_50 +# 2297| m2297_53(unknown) = ^CallSideEffect : ~m2297_46 +# 2297| m2297_54(unknown) = Chi : total:m2297_46, partial:m2297_53 +# 2297| v2297_55(void) = ^IndirectReadSideEffect[-1] : &:r2297_50, m2297_23 +# 2297| m2297_56(String) = ^IndirectMayWriteSideEffect[-1] : &:r2297_50 +# 2297| m2297_57(String) = Chi : total:m2297_23, partial:m2297_56 +# 2300| v2300_1(void) = NoOp : +# 2287| v2287_5(void) = ReturnVoid : +# 2287| v2287_6(void) = AliasedUse : ~m2297_54 +# 2287| v2287_7(void) = ExitFunction : -# 2255| void IfDestructors2(bool) -# 2255| Block 0 -# 2255| v2255_1(void) = EnterFunction : -# 2255| m2255_2(unknown) = AliasedDefinition : -# 2255| m2255_3(unknown) = InitializeNonLocal : -# 2255| m2255_4(unknown) = Chi : total:m2255_2, partial:m2255_3 -# 2255| r2255_5(glval) = VariableAddress[b] : -# 2255| m2255_6(bool) = InitializeParameter[b] : &:r2255_5 -# 2256| r2256_1(glval) = VariableAddress[s] : -# 2256| m2256_2(String) = Uninitialized[s] : &:r2256_1 -# 2256| r2256_3(glval) = FunctionAddress[String] : -# 2256| r2256_4(glval) = StringConstant["hello"] : -# 2256| r2256_5(char *) = Convert : r2256_4 -# 2256| v2256_6(void) = Call[String] : func:r2256_3, this:r2256_1, 0:r2256_5 -# 2256| m2256_7(unknown) = ^CallSideEffect : ~m2255_4 -# 2256| m2256_8(unknown) = Chi : total:m2255_4, partial:m2256_7 -# 2256| v2256_9(void) = ^BufferReadSideEffect[0] : &:r2256_5, ~m2255_3 -# 2256| m2256_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r2256_1 -# 2256| m2256_11(String) = Chi : total:m2256_2, partial:m2256_10 -# 2256| r2256_12(glval) = VariableAddress[b] : -# 2256| r2256_13(bool) = Load[b] : &:r2256_12, m2255_6 -# 2256| v2256_14(void) = ConditionalBranch : r2256_13 +# 2302| void IfDestructors2(bool) +# 2302| Block 0 +# 2302| v2302_1(void) = EnterFunction : +# 2302| m2302_2(unknown) = AliasedDefinition : +# 2302| m2302_3(unknown) = InitializeNonLocal : +# 2302| m2302_4(unknown) = Chi : total:m2302_2, partial:m2302_3 +# 2302| r2302_5(glval) = VariableAddress[b] : +# 2302| m2302_6(bool) = InitializeParameter[b] : &:r2302_5 +# 2303| r2303_1(glval) = VariableAddress[s] : +# 2303| m2303_2(String) = Uninitialized[s] : &:r2303_1 +# 2303| r2303_3(glval) = FunctionAddress[String] : +# 2303| r2303_4(glval) = StringConstant["hello"] : +# 2303| r2303_5(char *) = Convert : r2303_4 +# 2303| v2303_6(void) = Call[String] : func:r2303_3, this:r2303_1, 0:r2303_5 +# 2303| m2303_7(unknown) = ^CallSideEffect : ~m2302_4 +# 2303| m2303_8(unknown) = Chi : total:m2302_4, partial:m2303_7 +# 2303| v2303_9(void) = ^BufferReadSideEffect[0] : &:r2303_5, ~m2302_3 +# 2303| m2303_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r2303_1 +# 2303| m2303_11(String) = Chi : total:m2303_2, partial:m2303_10 +# 2303| r2303_12(glval) = VariableAddress[b] : +# 2303| r2303_13(bool) = Load[b] : &:r2303_12, m2302_6 +# 2303| v2303_14(void) = ConditionalBranch : r2303_13 #-----| False -> Block 2 #-----| True -> Block 1 -# 2257| Block 1 -# 2257| r2257_1(glval) = VariableAddress[x] : -# 2257| r2257_2(int) = Constant[0] : -# 2257| m2257_3(int) = Store[x] : &:r2257_1, r2257_2 +# 2304| Block 1 +# 2304| r2304_1(glval) = VariableAddress[x] : +# 2304| r2304_2(int) = Constant[0] : +# 2304| m2304_3(int) = Store[x] : &:r2304_1, r2304_2 #-----| Goto -> Block 3 -# 2259| Block 2 -# 2259| r2259_1(glval) = VariableAddress[y] : -# 2259| r2259_2(int) = Constant[0] : -# 2259| m2259_3(int) = Store[y] : &:r2259_1, r2259_2 +# 2306| Block 2 +# 2306| r2306_1(glval) = VariableAddress[y] : +# 2306| r2306_2(int) = Constant[0] : +# 2306| m2306_3(int) = Store[y] : &:r2306_1, r2306_2 #-----| Goto -> Block 3 -# 2260| Block 3 -# 2260| r2260_1(glval) = VariableAddress[s] : -# 2260| r2260_2(glval) = FunctionAddress[~String] : -# 2260| v2260_3(void) = Call[~String] : func:r2260_2, this:r2260_1 -# 2260| m2260_4(unknown) = ^CallSideEffect : ~m2256_8 -# 2260| m2260_5(unknown) = Chi : total:m2256_8, partial:m2260_4 -# 2260| v2260_6(void) = ^IndirectReadSideEffect[-1] : &:r2260_1, m2256_11 -# 2260| m2260_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2260_1 -# 2260| m2260_8(String) = Chi : total:m2256_11, partial:m2260_7 -# 2261| v2261_1(void) = NoOp : -# 2255| v2255_7(void) = ReturnVoid : -# 2255| v2255_8(void) = AliasedUse : ~m2260_5 -# 2255| v2255_9(void) = ExitFunction : +# 2307| Block 3 +# 2307| r2307_1(glval) = VariableAddress[s] : +# 2307| r2307_2(glval) = FunctionAddress[~String] : +# 2307| v2307_3(void) = Call[~String] : func:r2307_2, this:r2307_1 +# 2307| m2307_4(unknown) = ^CallSideEffect : ~m2303_8 +# 2307| m2307_5(unknown) = Chi : total:m2303_8, partial:m2307_4 +# 2307| v2307_6(void) = ^IndirectReadSideEffect[-1] : &:r2307_1, m2303_11 +# 2307| m2307_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2307_1 +# 2307| m2307_8(String) = Chi : total:m2303_11, partial:m2307_7 +# 2308| v2308_1(void) = NoOp : +# 2302| v2302_7(void) = ReturnVoid : +# 2302| v2302_8(void) = AliasedUse : ~m2307_5 +# 2302| v2302_9(void) = ExitFunction : -# 2270| void IfDestructors3(bool) -# 2270| Block 0 -# 2270| v2270_1(void) = EnterFunction : -# 2270| m2270_2(unknown) = AliasedDefinition : -# 2270| m2270_3(unknown) = InitializeNonLocal : -# 2270| m2270_4(unknown) = Chi : total:m2270_2, partial:m2270_3 -# 2270| r2270_5(glval) = VariableAddress[b] : -# 2270| m2270_6(bool) = InitializeParameter[b] : &:r2270_5 -# 2271| r2271_1(glval) = VariableAddress[B] : -# 2271| m2271_2(Bool) = Uninitialized[B] : &:r2271_1 -# 2271| r2271_3(glval) = FunctionAddress[Bool] : -# 2271| r2271_4(glval) = VariableAddress[b] : -# 2271| r2271_5(bool) = Load[b] : &:r2271_4, m2270_6 -# 2271| v2271_6(void) = Call[Bool] : func:r2271_3, this:r2271_1, 0:r2271_5 -# 2271| m2271_7(unknown) = ^CallSideEffect : ~m2270_4 -# 2271| m2271_8(unknown) = Chi : total:m2270_4, partial:m2271_7 -# 2271| m2271_9(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2271_1 -# 2271| m2271_10(Bool) = Chi : total:m2271_2, partial:m2271_9 -# 2271| r2271_11(glval) = VariableAddress[B] : -# 2271| r2271_12(glval) = FunctionAddress[operator bool] : -# 2271| r2271_13(bool) = Call[operator bool] : func:r2271_12, this:r2271_11 -# 2271| m2271_14(unknown) = ^CallSideEffect : ~m2271_8 -# 2271| m2271_15(unknown) = Chi : total:m2271_8, partial:m2271_14 -# 2271| v2271_16(void) = ^IndirectReadSideEffect[-1] : &:r2271_11, m2271_10 -# 2271| m2271_17(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2271_11 -# 2271| m2271_18(Bool) = Chi : total:m2271_10, partial:m2271_17 -# 2271| r2271_19(bool) = CopyValue : r2271_13 -# 2271| v2271_20(void) = ConditionalBranch : r2271_19 +# 2317| void IfDestructors3(bool) +# 2317| Block 0 +# 2317| v2317_1(void) = EnterFunction : +# 2317| m2317_2(unknown) = AliasedDefinition : +# 2317| m2317_3(unknown) = InitializeNonLocal : +# 2317| m2317_4(unknown) = Chi : total:m2317_2, partial:m2317_3 +# 2317| r2317_5(glval) = VariableAddress[b] : +# 2317| m2317_6(bool) = InitializeParameter[b] : &:r2317_5 +# 2318| r2318_1(glval) = VariableAddress[B] : +# 2318| m2318_2(Bool) = Uninitialized[B] : &:r2318_1 +# 2318| r2318_3(glval) = FunctionAddress[Bool] : +# 2318| r2318_4(glval) = VariableAddress[b] : +# 2318| r2318_5(bool) = Load[b] : &:r2318_4, m2317_6 +# 2318| v2318_6(void) = Call[Bool] : func:r2318_3, this:r2318_1, 0:r2318_5 +# 2318| m2318_7(unknown) = ^CallSideEffect : ~m2317_4 +# 2318| m2318_8(unknown) = Chi : total:m2317_4, partial:m2318_7 +# 2318| m2318_9(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2318_1 +# 2318| m2318_10(Bool) = Chi : total:m2318_2, partial:m2318_9 +# 2318| r2318_11(glval) = VariableAddress[B] : +# 2318| r2318_12(glval) = FunctionAddress[operator bool] : +# 2318| r2318_13(bool) = Call[operator bool] : func:r2318_12, this:r2318_11 +# 2318| m2318_14(unknown) = ^CallSideEffect : ~m2318_8 +# 2318| m2318_15(unknown) = Chi : total:m2318_8, partial:m2318_14 +# 2318| v2318_16(void) = ^IndirectReadSideEffect[-1] : &:r2318_11, m2318_10 +# 2318| m2318_17(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2318_11 +# 2318| m2318_18(Bool) = Chi : total:m2318_10, partial:m2318_17 +# 2318| r2318_19(bool) = CopyValue : r2318_13 +# 2318| v2318_20(void) = ConditionalBranch : r2318_19 #-----| False -> Block 2 #-----| True -> Block 1 -# 2272| Block 1 -# 2272| r2272_1(glval) = VariableAddress[s1] : -# 2272| m2272_2(String) = Uninitialized[s1] : &:r2272_1 -# 2272| r2272_3(glval) = FunctionAddress[String] : -# 2272| v2272_4(void) = Call[String] : func:r2272_3, this:r2272_1 -# 2272| m2272_5(unknown) = ^CallSideEffect : ~m2271_15 -# 2272| m2272_6(unknown) = Chi : total:m2271_15, partial:m2272_5 -# 2272| m2272_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2272_1 -# 2272| m2272_8(String) = Chi : total:m2272_2, partial:m2272_7 -# 2273| r2273_1(glval) = VariableAddress[s1] : -# 2273| r2273_2(glval) = FunctionAddress[~String] : -# 2273| v2273_3(void) = Call[~String] : func:r2273_2, this:r2273_1 -# 2273| m2273_4(unknown) = ^CallSideEffect : ~m2272_6 -# 2273| m2273_5(unknown) = Chi : total:m2272_6, partial:m2273_4 -# 2273| v2273_6(void) = ^IndirectReadSideEffect[-1] : &:r2273_1, m2272_8 -# 2273| m2273_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2273_1 -# 2273| m2273_8(String) = Chi : total:m2272_8, partial:m2273_7 +# 2319| Block 1 +# 2319| r2319_1(glval) = VariableAddress[s1] : +# 2319| m2319_2(String) = Uninitialized[s1] : &:r2319_1 +# 2319| r2319_3(glval) = FunctionAddress[String] : +# 2319| v2319_4(void) = Call[String] : func:r2319_3, this:r2319_1 +# 2319| m2319_5(unknown) = ^CallSideEffect : ~m2318_15 +# 2319| m2319_6(unknown) = Chi : total:m2318_15, partial:m2319_5 +# 2319| m2319_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2319_1 +# 2319| m2319_8(String) = Chi : total:m2319_2, partial:m2319_7 +# 2320| r2320_1(glval) = VariableAddress[s1] : +# 2320| r2320_2(glval) = FunctionAddress[~String] : +# 2320| v2320_3(void) = Call[~String] : func:r2320_2, this:r2320_1 +# 2320| m2320_4(unknown) = ^CallSideEffect : ~m2319_6 +# 2320| m2320_5(unknown) = Chi : total:m2319_6, partial:m2320_4 +# 2320| v2320_6(void) = ^IndirectReadSideEffect[-1] : &:r2320_1, m2319_8 +# 2320| m2320_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2320_1 +# 2320| m2320_8(String) = Chi : total:m2319_8, partial:m2320_7 #-----| Goto -> Block 3 -# 2274| Block 2 -# 2274| r2274_1(glval) = VariableAddress[s2] : -# 2274| m2274_2(String) = Uninitialized[s2] : &:r2274_1 -# 2274| r2274_3(glval) = FunctionAddress[String] : -# 2274| v2274_4(void) = Call[String] : func:r2274_3, this:r2274_1 -# 2274| m2274_5(unknown) = ^CallSideEffect : ~m2271_15 -# 2274| m2274_6(unknown) = Chi : total:m2271_15, partial:m2274_5 -# 2274| m2274_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2274_1 -# 2274| m2274_8(String) = Chi : total:m2274_2, partial:m2274_7 -# 2275| r2275_1(glval) = VariableAddress[s2] : -# 2275| r2275_2(glval) = FunctionAddress[~String] : -# 2275| v2275_3(void) = Call[~String] : func:r2275_2, this:r2275_1 -# 2275| m2275_4(unknown) = ^CallSideEffect : ~m2274_6 -# 2275| m2275_5(unknown) = Chi : total:m2274_6, partial:m2275_4 -# 2275| v2275_6(void) = ^IndirectReadSideEffect[-1] : &:r2275_1, m2274_8 -# 2275| m2275_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2275_1 -# 2275| m2275_8(String) = Chi : total:m2274_8, partial:m2275_7 +# 2321| Block 2 +# 2321| r2321_1(glval) = VariableAddress[s2] : +# 2321| m2321_2(String) = Uninitialized[s2] : &:r2321_1 +# 2321| r2321_3(glval) = FunctionAddress[String] : +# 2321| v2321_4(void) = Call[String] : func:r2321_3, this:r2321_1 +# 2321| m2321_5(unknown) = ^CallSideEffect : ~m2318_15 +# 2321| m2321_6(unknown) = Chi : total:m2318_15, partial:m2321_5 +# 2321| m2321_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2321_1 +# 2321| m2321_8(String) = Chi : total:m2321_2, partial:m2321_7 +# 2322| r2322_1(glval) = VariableAddress[s2] : +# 2322| r2322_2(glval) = FunctionAddress[~String] : +# 2322| v2322_3(void) = Call[~String] : func:r2322_2, this:r2322_1 +# 2322| m2322_4(unknown) = ^CallSideEffect : ~m2321_6 +# 2322| m2322_5(unknown) = Chi : total:m2321_6, partial:m2322_4 +# 2322| v2322_6(void) = ^IndirectReadSideEffect[-1] : &:r2322_1, m2321_8 +# 2322| m2322_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2322_1 +# 2322| m2322_8(String) = Chi : total:m2321_8, partial:m2322_7 #-----| Goto -> Block 3 -# 2275| Block 3 -# 2275| m2275_9(unknown) = Phi : from 1:~m2273_5, from 2:~m2275_5 -# 2275| r2275_10(glval) = VariableAddress[B] : -# 2275| r2275_11(glval) = FunctionAddress[~Bool] : -# 2275| v2275_12(void) = Call[~Bool] : func:r2275_11, this:r2275_10 -# 2275| m2275_13(unknown) = ^CallSideEffect : ~m2275_9 -# 2275| m2275_14(unknown) = Chi : total:m2275_9, partial:m2275_13 -# 2275| v2275_15(void) = ^IndirectReadSideEffect[-1] : &:r2275_10, m2271_18 -# 2275| m2275_16(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2275_10 -# 2275| m2275_17(Bool) = Chi : total:m2271_18, partial:m2275_16 -# 2276| v2276_1(void) = NoOp : -# 2270| v2270_7(void) = ReturnVoid : -# 2270| v2270_8(void) = AliasedUse : ~m2275_14 -# 2270| v2270_9(void) = ExitFunction : +# 2322| Block 3 +# 2322| m2322_9(unknown) = Phi : from 1:~m2320_5, from 2:~m2322_5 +# 2322| r2322_10(glval) = VariableAddress[B] : +# 2322| r2322_11(glval) = FunctionAddress[~Bool] : +# 2322| v2322_12(void) = Call[~Bool] : func:r2322_11, this:r2322_10 +# 2322| m2322_13(unknown) = ^CallSideEffect : ~m2322_9 +# 2322| m2322_14(unknown) = Chi : total:m2322_9, partial:m2322_13 +# 2322| v2322_15(void) = ^IndirectReadSideEffect[-1] : &:r2322_10, m2318_18 +# 2322| m2322_16(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2322_10 +# 2322| m2322_17(Bool) = Chi : total:m2318_18, partial:m2322_16 +# 2323| v2323_1(void) = NoOp : +# 2317| v2317_7(void) = ReturnVoid : +# 2317| v2317_8(void) = AliasedUse : ~m2322_14 +# 2317| v2317_9(void) = ExitFunction : -# 2278| void WhileLoopDestructors(bool) -# 2278| Block 0 -# 2278| v2278_1(void) = EnterFunction : -# 2278| m2278_2(unknown) = AliasedDefinition : -# 2278| m2278_3(unknown) = InitializeNonLocal : -# 2278| m2278_4(unknown) = Chi : total:m2278_2, partial:m2278_3 -# 2278| r2278_5(glval) = VariableAddress[b] : -# 2278| m2278_6(bool) = InitializeParameter[b] : &:r2278_5 -# 2280| r2280_1(glval) = VariableAddress[s] : -# 2280| m2280_2(String) = Uninitialized[s] : &:r2280_1 -# 2280| r2280_3(glval) = FunctionAddress[String] : -# 2280| v2280_4(void) = Call[String] : func:r2280_3, this:r2280_1 -# 2280| m2280_5(unknown) = ^CallSideEffect : ~m2278_4 -# 2280| m2280_6(unknown) = Chi : total:m2278_4, partial:m2280_5 -# 2280| m2280_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2280_1 -# 2280| m2280_8(String) = Chi : total:m2280_2, partial:m2280_7 +# 2325| void WhileLoopDestructors(bool) +# 2325| Block 0 +# 2325| v2325_1(void) = EnterFunction : +# 2325| m2325_2(unknown) = AliasedDefinition : +# 2325| m2325_3(unknown) = InitializeNonLocal : +# 2325| m2325_4(unknown) = Chi : total:m2325_2, partial:m2325_3 +# 2325| r2325_5(glval) = VariableAddress[b] : +# 2325| m2325_6(bool) = InitializeParameter[b] : &:r2325_5 +# 2327| r2327_1(glval) = VariableAddress[s] : +# 2327| m2327_2(String) = Uninitialized[s] : &:r2327_1 +# 2327| r2327_3(glval) = FunctionAddress[String] : +# 2327| v2327_4(void) = Call[String] : func:r2327_3, this:r2327_1 +# 2327| m2327_5(unknown) = ^CallSideEffect : ~m2325_4 +# 2327| m2327_6(unknown) = Chi : total:m2325_4, partial:m2327_5 +# 2327| m2327_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2327_1 +# 2327| m2327_8(String) = Chi : total:m2327_2, partial:m2327_7 #-----| Goto -> Block 1 -# 2281| Block 1 -# 2281| m2281_1(bool) = Phi : from 0:m2278_6, from 2:m2282_3 -# 2281| r2281_2(glval) = VariableAddress[b] : -# 2281| r2281_3(bool) = Load[b] : &:r2281_2, m2281_1 -# 2281| v2281_4(void) = ConditionalBranch : r2281_3 +# 2328| Block 1 +# 2328| m2328_1(bool) = Phi : from 0:m2325_6, from 2:m2329_3 +# 2328| r2328_2(glval) = VariableAddress[b] : +# 2328| r2328_3(bool) = Load[b] : &:r2328_2, m2328_1 +# 2328| v2328_4(void) = ConditionalBranch : r2328_3 #-----| False -> Block 3 #-----| True -> Block 2 -# 2282| Block 2 -# 2282| r2282_1(bool) = Constant[0] : -# 2282| r2282_2(glval) = VariableAddress[b] : -# 2282| m2282_3(bool) = Store[b] : &:r2282_2, r2282_1 +# 2329| Block 2 +# 2329| r2329_1(bool) = Constant[0] : +# 2329| r2329_2(glval) = VariableAddress[b] : +# 2329| m2329_3(bool) = Store[b] : &:r2329_2, r2329_1 #-----| Goto (back edge) -> Block 1 -# 2284| Block 3 -# 2284| r2284_1(glval) = VariableAddress[s] : -# 2284| r2284_2(glval) = FunctionAddress[~String] : -# 2284| v2284_3(void) = Call[~String] : func:r2284_2, this:r2284_1 -# 2284| m2284_4(unknown) = ^CallSideEffect : ~m2280_6 -# 2284| m2284_5(unknown) = Chi : total:m2280_6, partial:m2284_4 -# 2284| v2284_6(void) = ^IndirectReadSideEffect[-1] : &:r2284_1, m2280_8 -# 2284| m2284_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2284_1 -# 2284| m2284_8(String) = Chi : total:m2280_8, partial:m2284_7 +# 2331| Block 3 +# 2331| r2331_1(glval) = VariableAddress[s] : +# 2331| r2331_2(glval) = FunctionAddress[~String] : +# 2331| v2331_3(void) = Call[~String] : func:r2331_2, this:r2331_1 +# 2331| m2331_4(unknown) = ^CallSideEffect : ~m2327_6 +# 2331| m2331_5(unknown) = Chi : total:m2327_6, partial:m2331_4 +# 2331| v2331_6(void) = ^IndirectReadSideEffect[-1] : &:r2331_1, m2327_8 +# 2331| m2331_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2331_1 +# 2331| m2331_8(String) = Chi : total:m2327_8, partial:m2331_7 #-----| Goto -> Block 4 -# 2287| Block 4 -# 2287| m2287_1(unknown) = Phi : from 3:~m2284_5, from 5:~m2289_5 -# 2287| m2287_2(bool) = Phi : from 3:m2281_1, from 5:m2288_3 -# 2287| r2287_3(glval) = VariableAddress[B] : -# 2287| m2287_4(Bool) = Uninitialized[B] : &:r2287_3 -# 2287| r2287_5(glval) = FunctionAddress[Bool] : -# 2287| r2287_6(glval) = VariableAddress[b] : -# 2287| r2287_7(bool) = Load[b] : &:r2287_6, m2287_2 -# 2287| v2287_8(void) = Call[Bool] : func:r2287_5, this:r2287_3, 0:r2287_7 -# 2287| m2287_9(unknown) = ^CallSideEffect : ~m2287_1 -# 2287| m2287_10(unknown) = Chi : total:m2287_1, partial:m2287_9 -# 2287| m2287_11(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2287_3 -# 2287| m2287_12(Bool) = Chi : total:m2287_4, partial:m2287_11 -# 2287| r2287_13(glval) = VariableAddress[B] : -# 2287| r2287_14(glval) = FunctionAddress[operator bool] : -# 2287| r2287_15(bool) = Call[operator bool] : func:r2287_14, this:r2287_13 -# 2287| m2287_16(unknown) = ^CallSideEffect : ~m2287_10 -# 2287| m2287_17(unknown) = Chi : total:m2287_10, partial:m2287_16 -# 2287| v2287_18(void) = ^IndirectReadSideEffect[-1] : &:r2287_13, m2287_12 -# 2287| m2287_19(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2287_13 -# 2287| m2287_20(Bool) = Chi : total:m2287_12, partial:m2287_19 -# 2287| r2287_21(bool) = CopyValue : r2287_15 -# 2287| v2287_22(void) = ConditionalBranch : r2287_21 +# 2334| Block 4 +# 2334| m2334_1(unknown) = Phi : from 3:~m2331_5, from 5:~m2336_5 +# 2334| m2334_2(bool) = Phi : from 3:m2328_1, from 5:m2335_3 +# 2334| r2334_3(glval) = VariableAddress[B] : +# 2334| m2334_4(Bool) = Uninitialized[B] : &:r2334_3 +# 2334| r2334_5(glval) = FunctionAddress[Bool] : +# 2334| r2334_6(glval) = VariableAddress[b] : +# 2334| r2334_7(bool) = Load[b] : &:r2334_6, m2334_2 +# 2334| v2334_8(void) = Call[Bool] : func:r2334_5, this:r2334_3, 0:r2334_7 +# 2334| m2334_9(unknown) = ^CallSideEffect : ~m2334_1 +# 2334| m2334_10(unknown) = Chi : total:m2334_1, partial:m2334_9 +# 2334| m2334_11(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2334_3 +# 2334| m2334_12(Bool) = Chi : total:m2334_4, partial:m2334_11 +# 2334| r2334_13(glval) = VariableAddress[B] : +# 2334| r2334_14(glval) = FunctionAddress[operator bool] : +# 2334| r2334_15(bool) = Call[operator bool] : func:r2334_14, this:r2334_13 +# 2334| m2334_16(unknown) = ^CallSideEffect : ~m2334_10 +# 2334| m2334_17(unknown) = Chi : total:m2334_10, partial:m2334_16 +# 2334| v2334_18(void) = ^IndirectReadSideEffect[-1] : &:r2334_13, m2334_12 +# 2334| m2334_19(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2334_13 +# 2334| m2334_20(Bool) = Chi : total:m2334_12, partial:m2334_19 +# 2334| r2334_21(bool) = CopyValue : r2334_15 +# 2334| v2334_22(void) = ConditionalBranch : r2334_21 #-----| False -> Block 6 #-----| True -> Block 5 -# 2288| Block 5 -# 2288| r2288_1(bool) = Constant[0] : -# 2288| r2288_2(glval) = VariableAddress[b] : -# 2288| m2288_3(bool) = Store[b] : &:r2288_2, r2288_1 -# 2289| r2289_1(glval) = VariableAddress[B] : -# 2289| r2289_2(glval) = FunctionAddress[~Bool] : -# 2289| v2289_3(void) = Call[~Bool] : func:r2289_2, this:r2289_1 -# 2289| m2289_4(unknown) = ^CallSideEffect : ~m2287_17 -# 2289| m2289_5(unknown) = Chi : total:m2287_17, partial:m2289_4 -# 2289| v2289_6(void) = ^IndirectReadSideEffect[-1] : &:r2289_1, m2287_20 -# 2289| m2289_7(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2289_1 -# 2289| m2289_8(Bool) = Chi : total:m2287_20, partial:m2289_7 +# 2335| Block 5 +# 2335| r2335_1(bool) = Constant[0] : +# 2335| r2335_2(glval) = VariableAddress[b] : +# 2335| m2335_3(bool) = Store[b] : &:r2335_2, r2335_1 +# 2336| r2336_1(glval) = VariableAddress[B] : +# 2336| r2336_2(glval) = FunctionAddress[~Bool] : +# 2336| v2336_3(void) = Call[~Bool] : func:r2336_2, this:r2336_1 +# 2336| m2336_4(unknown) = ^CallSideEffect : ~m2334_17 +# 2336| m2336_5(unknown) = Chi : total:m2334_17, partial:m2336_4 +# 2336| v2336_6(void) = ^IndirectReadSideEffect[-1] : &:r2336_1, m2334_20 +# 2336| m2336_7(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2336_1 +# 2336| m2336_8(Bool) = Chi : total:m2334_20, partial:m2336_7 #-----| Goto (back edge) -> Block 4 -# 2289| Block 6 -# 2289| r2289_9(glval) = VariableAddress[B] : -# 2289| r2289_10(glval) = FunctionAddress[~Bool] : -# 2289| v2289_11(void) = Call[~Bool] : func:r2289_10, this:r2289_9 -# 2289| m2289_12(unknown) = ^CallSideEffect : ~m2287_17 -# 2289| m2289_13(unknown) = Chi : total:m2287_17, partial:m2289_12 -# 2289| v2289_14(void) = ^IndirectReadSideEffect[-1] : &:r2289_9, m2287_20 -# 2289| m2289_15(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2289_9 -# 2289| m2289_16(Bool) = Chi : total:m2287_20, partial:m2289_15 -# 2291| v2291_1(void) = NoOp : -# 2278| v2278_7(void) = ReturnVoid : -# 2278| v2278_8(void) = AliasedUse : ~m2289_13 -# 2278| v2278_9(void) = ExitFunction : +# 2336| Block 6 +# 2336| r2336_9(glval) = VariableAddress[B] : +# 2336| r2336_10(glval) = FunctionAddress[~Bool] : +# 2336| v2336_11(void) = Call[~Bool] : func:r2336_10, this:r2336_9 +# 2336| m2336_12(unknown) = ^CallSideEffect : ~m2334_17 +# 2336| m2336_13(unknown) = Chi : total:m2334_17, partial:m2336_12 +# 2336| v2336_14(void) = ^IndirectReadSideEffect[-1] : &:r2336_9, m2334_20 +# 2336| m2336_15(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2336_9 +# 2336| m2336_16(Bool) = Chi : total:m2334_20, partial:m2336_15 +# 2338| v2338_1(void) = NoOp : +# 2325| v2325_7(void) = ReturnVoid : +# 2325| v2325_8(void) = AliasedUse : ~m2336_13 +# 2325| v2325_9(void) = ExitFunction : -# 2293| void VoidFunc() -# 2293| Block 0 -# 2293| v2293_1(void) = EnterFunction : -# 2293| m2293_2(unknown) = AliasedDefinition : -# 2293| m2293_3(unknown) = InitializeNonLocal : -# 2293| m2293_4(unknown) = Chi : total:m2293_2, partial:m2293_3 -# 2293| v2293_5(void) = NoOp : -# 2293| v2293_6(void) = ReturnVoid : -# 2293| v2293_7(void) = AliasedUse : m2293_3 -# 2293| v2293_8(void) = ExitFunction : +# 2340| void VoidFunc() +# 2340| Block 0 +# 2340| v2340_1(void) = EnterFunction : +# 2340| m2340_2(unknown) = AliasedDefinition : +# 2340| m2340_3(unknown) = InitializeNonLocal : +# 2340| m2340_4(unknown) = Chi : total:m2340_2, partial:m2340_3 +# 2340| v2340_5(void) = NoOp : +# 2340| v2340_6(void) = ReturnVoid : +# 2340| v2340_7(void) = AliasedUse : m2340_3 +# 2340| v2340_8(void) = ExitFunction : -# 2295| void IfReturnDestructors(bool) -# 2295| Block 0 -# 2295| v2295_1(void) = EnterFunction : -# 2295| m2295_2(unknown) = AliasedDefinition : -# 2295| m2295_3(unknown) = InitializeNonLocal : -# 2295| m2295_4(unknown) = Chi : total:m2295_2, partial:m2295_3 -# 2295| r2295_5(glval) = VariableAddress[b] : -# 2295| m2295_6(bool) = InitializeParameter[b] : &:r2295_5 -# 2296| r2296_1(glval) = VariableAddress[s] : -# 2296| m2296_2(String) = Uninitialized[s] : &:r2296_1 -# 2296| r2296_3(glval) = FunctionAddress[String] : -# 2296| v2296_4(void) = Call[String] : func:r2296_3, this:r2296_1 -# 2296| m2296_5(unknown) = ^CallSideEffect : ~m2295_4 -# 2296| m2296_6(unknown) = Chi : total:m2295_4, partial:m2296_5 -# 2296| m2296_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2296_1 -# 2296| m2296_8(String) = Chi : total:m2296_2, partial:m2296_7 -# 2297| r2297_1(glval) = VariableAddress[b] : -# 2297| r2297_2(bool) = Load[b] : &:r2297_1, m2295_6 -# 2297| v2297_3(void) = ConditionalBranch : r2297_2 +# 2342| void IfReturnDestructors(bool) +# 2342| Block 0 +# 2342| v2342_1(void) = EnterFunction : +# 2342| m2342_2(unknown) = AliasedDefinition : +# 2342| m2342_3(unknown) = InitializeNonLocal : +# 2342| m2342_4(unknown) = Chi : total:m2342_2, partial:m2342_3 +# 2342| r2342_5(glval) = VariableAddress[b] : +# 2342| m2342_6(bool) = InitializeParameter[b] : &:r2342_5 +# 2343| r2343_1(glval) = VariableAddress[s] : +# 2343| m2343_2(String) = Uninitialized[s] : &:r2343_1 +# 2343| r2343_3(glval) = FunctionAddress[String] : +# 2343| v2343_4(void) = Call[String] : func:r2343_3, this:r2343_1 +# 2343| m2343_5(unknown) = ^CallSideEffect : ~m2342_4 +# 2343| m2343_6(unknown) = Chi : total:m2342_4, partial:m2343_5 +# 2343| m2343_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2343_1 +# 2343| m2343_8(String) = Chi : total:m2343_2, partial:m2343_7 +# 2344| r2344_1(glval) = VariableAddress[b] : +# 2344| r2344_2(bool) = Load[b] : &:r2344_1, m2342_6 +# 2344| v2344_3(void) = ConditionalBranch : r2344_2 #-----| False -> Block 3 #-----| True -> Block 2 -# 2295| Block 1 -# 2295| m2295_7(unknown) = Phi : from 2:~m2304_5, from 4:~m2304_13, from 5:~m2304_22 -# 2295| v2295_8(void) = ReturnVoid : -# 2295| v2295_9(void) = AliasedUse : ~m2295_7 -# 2295| v2295_10(void) = ExitFunction : +# 2342| Block 1 +# 2342| m2342_7(unknown) = Phi : from 2:~m2351_5, from 4:~m2351_13, from 5:~m2351_22 +# 2342| v2342_8(void) = ReturnVoid : +# 2342| v2342_9(void) = AliasedUse : ~m2342_7 +# 2342| v2342_10(void) = ExitFunction : -# 2298| Block 2 -# 2298| v2298_1(void) = NoOp : -# 2304| r2304_1(glval) = VariableAddress[s] : -# 2304| r2304_2(glval) = FunctionAddress[~String] : -# 2304| v2304_3(void) = Call[~String] : func:r2304_2, this:r2304_1 -# 2304| m2304_4(unknown) = ^CallSideEffect : ~m2296_6 -# 2304| m2304_5(unknown) = Chi : total:m2296_6, partial:m2304_4 -# 2304| v2304_6(void) = ^IndirectReadSideEffect[-1] : &:r2304_1, m2296_8 -# 2304| m2304_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2304_1 -# 2304| m2304_8(String) = Chi : total:m2296_8, partial:m2304_7 +# 2345| Block 2 +# 2345| v2345_1(void) = NoOp : +# 2351| r2351_1(glval) = VariableAddress[s] : +# 2351| r2351_2(glval) = FunctionAddress[~String] : +# 2351| v2351_3(void) = Call[~String] : func:r2351_2, this:r2351_1 +# 2351| m2351_4(unknown) = ^CallSideEffect : ~m2343_6 +# 2351| m2351_5(unknown) = Chi : total:m2343_6, partial:m2351_4 +# 2351| v2351_6(void) = ^IndirectReadSideEffect[-1] : &:r2351_1, m2343_8 +# 2351| m2351_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2351_1 +# 2351| m2351_8(String) = Chi : total:m2343_8, partial:m2351_7 #-----| Goto -> Block 1 -# 2300| Block 3 -# 2300| r2300_1(glval) = VariableAddress[b] : -# 2300| r2300_2(bool) = Load[b] : &:r2300_1, m2295_6 -# 2300| v2300_3(void) = ConditionalBranch : r2300_2 +# 2347| Block 3 +# 2347| r2347_1(glval) = VariableAddress[b] : +# 2347| r2347_2(bool) = Load[b] : &:r2347_1, m2342_6 +# 2347| v2347_3(void) = ConditionalBranch : r2347_2 #-----| False -> Block 5 #-----| True -> Block 4 -# 2301| Block 4 -# 2301| r2301_1(glval) = FunctionAddress[VoidFunc] : -# 2301| v2301_2(void) = Call[VoidFunc] : func:r2301_1 -# 2301| m2301_3(unknown) = ^CallSideEffect : ~m2296_6 -# 2301| m2301_4(unknown) = Chi : total:m2296_6, partial:m2301_3 -# 2301| v2301_5(void) = NoOp : -# 2304| r2304_9(glval) = VariableAddress[s] : -# 2304| r2304_10(glval) = FunctionAddress[~String] : -# 2304| v2304_11(void) = Call[~String] : func:r2304_10, this:r2304_9 -# 2304| m2304_12(unknown) = ^CallSideEffect : ~m2301_4 -# 2304| m2304_13(unknown) = Chi : total:m2301_4, partial:m2304_12 -# 2304| v2304_14(void) = ^IndirectReadSideEffect[-1] : &:r2304_9, m2296_8 -# 2304| m2304_15(String) = ^IndirectMayWriteSideEffect[-1] : &:r2304_9 -# 2304| m2304_16(String) = Chi : total:m2296_8, partial:m2304_15 +# 2348| Block 4 +# 2348| r2348_1(glval) = FunctionAddress[VoidFunc] : +# 2348| v2348_2(void) = Call[VoidFunc] : func:r2348_1 +# 2348| m2348_3(unknown) = ^CallSideEffect : ~m2343_6 +# 2348| m2348_4(unknown) = Chi : total:m2343_6, partial:m2348_3 +# 2348| v2348_5(void) = NoOp : +# 2351| r2351_9(glval) = VariableAddress[s] : +# 2351| r2351_10(glval) = FunctionAddress[~String] : +# 2351| v2351_11(void) = Call[~String] : func:r2351_10, this:r2351_9 +# 2351| m2351_12(unknown) = ^CallSideEffect : ~m2348_4 +# 2351| m2351_13(unknown) = Chi : total:m2348_4, partial:m2351_12 +# 2351| v2351_14(void) = ^IndirectReadSideEffect[-1] : &:r2351_9, m2343_8 +# 2351| m2351_15(String) = ^IndirectMayWriteSideEffect[-1] : &:r2351_9 +# 2351| m2351_16(String) = Chi : total:m2343_8, partial:m2351_15 #-----| Goto -> Block 1 -# 2303| Block 5 -# 2303| r2303_1(glval) = VariableAddress[s] : -# 2304| v2304_17(void) = NoOp : -# 2304| r2304_18(glval) = VariableAddress[s] : -# 2304| r2304_19(glval) = FunctionAddress[~String] : -# 2304| v2304_20(void) = Call[~String] : func:r2304_19, this:r2304_18 -# 2304| m2304_21(unknown) = ^CallSideEffect : ~m2296_6 -# 2304| m2304_22(unknown) = Chi : total:m2296_6, partial:m2304_21 -# 2304| v2304_23(void) = ^IndirectReadSideEffect[-1] : &:r2304_18, m2296_8 -# 2304| m2304_24(String) = ^IndirectMayWriteSideEffect[-1] : &:r2304_18 -# 2304| m2304_25(String) = Chi : total:m2296_8, partial:m2304_24 +# 2350| Block 5 +# 2350| r2350_1(glval) = VariableAddress[s] : +# 2351| v2351_17(void) = NoOp : +# 2351| r2351_18(glval) = VariableAddress[s] : +# 2351| r2351_19(glval) = FunctionAddress[~String] : +# 2351| v2351_20(void) = Call[~String] : func:r2351_19, this:r2351_18 +# 2351| m2351_21(unknown) = ^CallSideEffect : ~m2343_6 +# 2351| m2351_22(unknown) = Chi : total:m2343_6, partial:m2351_21 +# 2351| v2351_23(void) = ^IndirectReadSideEffect[-1] : &:r2351_18, m2343_8 +# 2351| m2351_24(String) = ^IndirectMayWriteSideEffect[-1] : &:r2351_18 +# 2351| m2351_25(String) = Chi : total:m2343_8, partial:m2351_24 #-----| Goto -> Block 1 -# 2306| int IfReturnDestructors3(bool) -# 2306| Block 0 -# 2306| v2306_1(void) = EnterFunction : -# 2306| m2306_2(unknown) = AliasedDefinition : -# 2306| m2306_3(unknown) = InitializeNonLocal : -# 2306| m2306_4(unknown) = Chi : total:m2306_2, partial:m2306_3 -# 2306| r2306_5(glval) = VariableAddress[b] : -# 2306| m2306_6(bool) = InitializeParameter[b] : &:r2306_5 -# 2307| r2307_1(glval) = VariableAddress[s] : -# 2307| m2307_2(String) = Uninitialized[s] : &:r2307_1 -# 2307| r2307_3(glval) = FunctionAddress[String] : -# 2307| v2307_4(void) = Call[String] : func:r2307_3, this:r2307_1 -# 2307| m2307_5(unknown) = ^CallSideEffect : ~m2306_4 -# 2307| m2307_6(unknown) = Chi : total:m2306_4, partial:m2307_5 -# 2307| m2307_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2307_1 -# 2307| m2307_8(String) = Chi : total:m2307_2, partial:m2307_7 -# 2308| r2308_1(glval) = VariableAddress[b] : -# 2308| r2308_2(bool) = Load[b] : &:r2308_1, m2306_6 -# 2308| v2308_3(void) = ConditionalBranch : r2308_2 +# 2353| int IfReturnDestructors3(bool) +# 2353| Block 0 +# 2353| v2353_1(void) = EnterFunction : +# 2353| m2353_2(unknown) = AliasedDefinition : +# 2353| m2353_3(unknown) = InitializeNonLocal : +# 2353| m2353_4(unknown) = Chi : total:m2353_2, partial:m2353_3 +# 2353| r2353_5(glval) = VariableAddress[b] : +# 2353| m2353_6(bool) = InitializeParameter[b] : &:r2353_5 +# 2354| r2354_1(glval) = VariableAddress[s] : +# 2354| m2354_2(String) = Uninitialized[s] : &:r2354_1 +# 2354| r2354_3(glval) = FunctionAddress[String] : +# 2354| v2354_4(void) = Call[String] : func:r2354_3, this:r2354_1 +# 2354| m2354_5(unknown) = ^CallSideEffect : ~m2353_4 +# 2354| m2354_6(unknown) = Chi : total:m2353_4, partial:m2354_5 +# 2354| m2354_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2354_1 +# 2354| m2354_8(String) = Chi : total:m2354_2, partial:m2354_7 +# 2355| r2355_1(glval) = VariableAddress[b] : +# 2355| r2355_2(bool) = Load[b] : &:r2355_1, m2353_6 +# 2355| v2355_3(void) = ConditionalBranch : r2355_2 #-----| False -> Block 3 #-----| True -> Block 2 -# 2306| Block 1 -# 2306| m2306_7(unknown) = Phi : from 2:~m2312_5, from 3:~m2312_13 -# 2306| m2306_8(int) = Phi : from 2:m2309_3, from 3:m2311_3 -# 2306| r2306_9(glval) = VariableAddress[#return] : -# 2306| v2306_10(void) = ReturnValue : &:r2306_9, m2306_8 -# 2306| v2306_11(void) = AliasedUse : ~m2306_7 -# 2306| v2306_12(void) = ExitFunction : +# 2353| Block 1 +# 2353| m2353_7(unknown) = Phi : from 2:~m2359_5, from 3:~m2359_13 +# 2353| m2353_8(int) = Phi : from 2:m2356_3, from 3:m2358_3 +# 2353| r2353_9(glval) = VariableAddress[#return] : +# 2353| v2353_10(void) = ReturnValue : &:r2353_9, m2353_8 +# 2353| v2353_11(void) = AliasedUse : ~m2353_7 +# 2353| v2353_12(void) = ExitFunction : -# 2309| Block 2 -# 2309| r2309_1(glval) = VariableAddress[#return] : -# 2309| r2309_2(int) = Constant[1] : -# 2309| m2309_3(int) = Store[#return] : &:r2309_1, r2309_2 -# 2312| r2312_1(glval) = VariableAddress[s] : -# 2312| r2312_2(glval) = FunctionAddress[~String] : -# 2312| v2312_3(void) = Call[~String] : func:r2312_2, this:r2312_1 -# 2312| m2312_4(unknown) = ^CallSideEffect : ~m2307_6 -# 2312| m2312_5(unknown) = Chi : total:m2307_6, partial:m2312_4 -# 2312| v2312_6(void) = ^IndirectReadSideEffect[-1] : &:r2312_1, m2307_8 -# 2312| m2312_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2312_1 -# 2312| m2312_8(String) = Chi : total:m2307_8, partial:m2312_7 +# 2356| Block 2 +# 2356| r2356_1(glval) = VariableAddress[#return] : +# 2356| r2356_2(int) = Constant[1] : +# 2356| m2356_3(int) = Store[#return] : &:r2356_1, r2356_2 +# 2359| r2359_1(glval) = VariableAddress[s] : +# 2359| r2359_2(glval) = FunctionAddress[~String] : +# 2359| v2359_3(void) = Call[~String] : func:r2359_2, this:r2359_1 +# 2359| m2359_4(unknown) = ^CallSideEffect : ~m2354_6 +# 2359| m2359_5(unknown) = Chi : total:m2354_6, partial:m2359_4 +# 2359| v2359_6(void) = ^IndirectReadSideEffect[-1] : &:r2359_1, m2354_8 +# 2359| m2359_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2359_1 +# 2359| m2359_8(String) = Chi : total:m2354_8, partial:m2359_7 #-----| Goto -> Block 1 -# 2311| Block 3 -# 2311| r2311_1(glval) = VariableAddress[#return] : -# 2311| r2311_2(int) = Constant[0] : -# 2311| m2311_3(int) = Store[#return] : &:r2311_1, r2311_2 -# 2312| r2312_9(glval) = VariableAddress[s] : -# 2312| r2312_10(glval) = FunctionAddress[~String] : -# 2312| v2312_11(void) = Call[~String] : func:r2312_10, this:r2312_9 -# 2312| m2312_12(unknown) = ^CallSideEffect : ~m2307_6 -# 2312| m2312_13(unknown) = Chi : total:m2307_6, partial:m2312_12 -# 2312| v2312_14(void) = ^IndirectReadSideEffect[-1] : &:r2312_9, m2307_8 -# 2312| m2312_15(String) = ^IndirectMayWriteSideEffect[-1] : &:r2312_9 -# 2312| m2312_16(String) = Chi : total:m2307_8, partial:m2312_15 +# 2358| Block 3 +# 2358| r2358_1(glval) = VariableAddress[#return] : +# 2358| r2358_2(int) = Constant[0] : +# 2358| m2358_3(int) = Store[#return] : &:r2358_1, r2358_2 +# 2359| r2359_9(glval) = VariableAddress[s] : +# 2359| r2359_10(glval) = FunctionAddress[~String] : +# 2359| v2359_11(void) = Call[~String] : func:r2359_10, this:r2359_9 +# 2359| m2359_12(unknown) = ^CallSideEffect : ~m2354_6 +# 2359| m2359_13(unknown) = Chi : total:m2354_6, partial:m2359_12 +# 2359| v2359_14(void) = ^IndirectReadSideEffect[-1] : &:r2359_9, m2354_8 +# 2359| m2359_15(String) = ^IndirectMayWriteSideEffect[-1] : &:r2359_9 +# 2359| m2359_16(String) = Chi : total:m2354_8, partial:m2359_15 #-----| Goto -> Block 1 -# 2314| void VoidReturnDestructors() -# 2314| Block 0 -# 2314| v2314_1(void) = EnterFunction : -# 2314| m2314_2(unknown) = AliasedDefinition : -# 2314| m2314_3(unknown) = InitializeNonLocal : -# 2314| m2314_4(unknown) = Chi : total:m2314_2, partial:m2314_3 -# 2315| r2315_1(glval) = VariableAddress[s] : -# 2315| m2315_2(String) = Uninitialized[s] : &:r2315_1 -# 2315| r2315_3(glval) = FunctionAddress[String] : -# 2315| v2315_4(void) = Call[String] : func:r2315_3, this:r2315_1 -# 2315| m2315_5(unknown) = ^CallSideEffect : ~m2314_4 -# 2315| m2315_6(unknown) = Chi : total:m2314_4, partial:m2315_5 -# 2315| m2315_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2315_1 -# 2315| m2315_8(String) = Chi : total:m2315_2, partial:m2315_7 -# 2316| r2316_1(glval) = FunctionAddress[VoidFunc] : -# 2316| v2316_2(void) = Call[VoidFunc] : func:r2316_1 -# 2316| m2316_3(unknown) = ^CallSideEffect : ~m2315_6 -# 2316| m2316_4(unknown) = Chi : total:m2315_6, partial:m2316_3 -# 2316| v2316_5(void) = NoOp : -# 2317| r2317_1(glval) = VariableAddress[s] : -# 2317| r2317_2(glval) = FunctionAddress[~String] : -# 2317| v2317_3(void) = Call[~String] : func:r2317_2, this:r2317_1 -# 2317| m2317_4(unknown) = ^CallSideEffect : ~m2316_4 -# 2317| m2317_5(unknown) = Chi : total:m2316_4, partial:m2317_4 -# 2317| v2317_6(void) = ^IndirectReadSideEffect[-1] : &:r2317_1, m2315_8 -# 2317| m2317_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2317_1 -# 2317| m2317_8(String) = Chi : total:m2315_8, partial:m2317_7 -# 2314| v2314_5(void) = ReturnVoid : -# 2314| v2314_6(void) = AliasedUse : ~m2317_5 -# 2314| v2314_7(void) = ExitFunction : +# 2361| void VoidReturnDestructors() +# 2361| Block 0 +# 2361| v2361_1(void) = EnterFunction : +# 2361| m2361_2(unknown) = AliasedDefinition : +# 2361| m2361_3(unknown) = InitializeNonLocal : +# 2361| m2361_4(unknown) = Chi : total:m2361_2, partial:m2361_3 +# 2362| r2362_1(glval) = VariableAddress[s] : +# 2362| m2362_2(String) = Uninitialized[s] : &:r2362_1 +# 2362| r2362_3(glval) = FunctionAddress[String] : +# 2362| v2362_4(void) = Call[String] : func:r2362_3, this:r2362_1 +# 2362| m2362_5(unknown) = ^CallSideEffect : ~m2361_4 +# 2362| m2362_6(unknown) = Chi : total:m2361_4, partial:m2362_5 +# 2362| m2362_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2362_1 +# 2362| m2362_8(String) = Chi : total:m2362_2, partial:m2362_7 +# 2363| r2363_1(glval) = FunctionAddress[VoidFunc] : +# 2363| v2363_2(void) = Call[VoidFunc] : func:r2363_1 +# 2363| m2363_3(unknown) = ^CallSideEffect : ~m2362_6 +# 2363| m2363_4(unknown) = Chi : total:m2362_6, partial:m2363_3 +# 2363| v2363_5(void) = NoOp : +# 2364| r2364_1(glval) = VariableAddress[s] : +# 2364| r2364_2(glval) = FunctionAddress[~String] : +# 2364| v2364_3(void) = Call[~String] : func:r2364_2, this:r2364_1 +# 2364| m2364_4(unknown) = ^CallSideEffect : ~m2363_4 +# 2364| m2364_5(unknown) = Chi : total:m2363_4, partial:m2364_4 +# 2364| v2364_6(void) = ^IndirectReadSideEffect[-1] : &:r2364_1, m2362_8 +# 2364| m2364_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2364_1 +# 2364| m2364_8(String) = Chi : total:m2362_8, partial:m2364_7 +# 2361| v2361_5(void) = ReturnVoid : +# 2361| v2361_6(void) = AliasedUse : ~m2364_5 +# 2361| v2361_7(void) = ExitFunction : -# 2327| return_routine_type::VoidToIntMemberFunc return_routine_type::GetVoidToIntFunc() -# 2327| Block 0 -# 2327| v2327_1(void) = EnterFunction : -# 2327| m2327_2(unknown) = AliasedDefinition : -# 2327| m2327_3(unknown) = InitializeNonLocal : -# 2327| m2327_4(unknown) = Chi : total:m2327_2, partial:m2327_3 -# 2329| r2329_1(glval<..:: *>) = VariableAddress[#return] : -# 2329| r2329_2(..()(..)) = FunctionAddress[VoidToInt] : -# 2329| m2329_3(..:: *) = Store[#return] : &:r2329_1, r2329_2 -# 2327| r2327_5(glval<..:: *>) = VariableAddress[#return] : -# 2327| v2327_6(void) = ReturnValue : &:r2327_5, m2329_3 -# 2327| v2327_7(void) = AliasedUse : m2327_3 -# 2327| v2327_8(void) = ExitFunction : +# 2374| return_routine_type::VoidToIntMemberFunc return_routine_type::GetVoidToIntFunc() +# 2374| Block 0 +# 2374| v2374_1(void) = EnterFunction : +# 2374| m2374_2(unknown) = AliasedDefinition : +# 2374| m2374_3(unknown) = InitializeNonLocal : +# 2374| m2374_4(unknown) = Chi : total:m2374_2, partial:m2374_3 +# 2376| r2376_1(glval<..:: *>) = VariableAddress[#return] : +# 2376| r2376_2(..()(..)) = FunctionAddress[VoidToInt] : +# 2376| m2376_3(..:: *) = Store[#return] : &:r2376_1, r2376_2 +# 2374| r2374_5(glval<..:: *>) = VariableAddress[#return] : +# 2374| v2374_6(void) = ReturnValue : &:r2374_5, m2376_3 +# 2374| v2374_7(void) = AliasedUse : m2374_3 +# 2374| v2374_8(void) = ExitFunction : + +# 2381| int small_operation_should_not_be_constant_folded() +# 2381| Block 0 +# 2381| v2381_1(void) = EnterFunction : +# 2381| m2381_2(unknown) = AliasedDefinition : +# 2381| m2381_3(unknown) = InitializeNonLocal : +# 2381| m2381_4(unknown) = Chi : total:m2381_2, partial:m2381_3 +# 2382| r2382_1(glval) = VariableAddress[#return] : +# 2382| r2382_2(int) = Constant[1] : +# 2382| r2382_3(int) = Constant[2] : +# 2382| r2382_4(int) = BitXor : r2382_2, r2382_3 +# 2382| m2382_5(int) = Store[#return] : &:r2382_1, r2382_4 +# 2381| r2381_5(glval) = VariableAddress[#return] : +# 2381| v2381_6(void) = ReturnValue : &:r2381_5, m2382_5 +# 2381| v2381_7(void) = AliasedUse : m2381_3 +# 2381| v2381_8(void) = ExitFunction : + +# 2392| int large_operation_should_be_constant_folded() +# 2392| Block 0 +# 2392| v2392_1(void) = EnterFunction : +# 2392| m2392_2(unknown) = AliasedDefinition : +# 2392| m2392_3(unknown) = InitializeNonLocal : +# 2392| m2392_4(unknown) = Chi : total:m2392_2, partial:m2392_3 +# 2393| r2393_1(glval) = VariableAddress[#return] : +# 2393| r2393_2(int) = Constant[0] : +# 2393| m2393_3(int) = Store[#return] : &:r2393_1, r2393_2 +# 2392| r2392_5(glval) = VariableAddress[#return] : +# 2392| v2392_6(void) = ReturnValue : &:r2392_5, m2393_3 +# 2392| v2392_7(void) = AliasedUse : m2392_3 +# 2392| v2392_8(void) = ExitFunction : + +# 2396| void initialization_with_temp_destructor() +# 2396| Block 0 +# 2396| v2396_1(void) = EnterFunction : +# 2396| m2396_2(unknown) = AliasedDefinition : +# 2396| m2396_3(unknown) = InitializeNonLocal : +# 2396| m2396_4(unknown) = Chi : total:m2396_2, partial:m2396_3 +# 2397| r2397_1(glval) = VariableAddress[x] : +# 2397| r2397_2(glval) = VariableAddress[#temp2397:18] : +# 2397| m2397_3(ClassWithDestructor) = Uninitialized[#temp2397:18] : &:r2397_2 +# 2397| r2397_4(glval) = FunctionAddress[ClassWithDestructor] : +# 2397| v2397_5(void) = Call[ClassWithDestructor] : func:r2397_4, this:r2397_2 +# 2397| m2397_6(unknown) = ^CallSideEffect : ~m2396_4 +# 2397| m2397_7(unknown) = Chi : total:m2396_4, partial:m2397_6 +# 2397| m2397_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2397_2 +# 2397| m2397_9(ClassWithDestructor) = Chi : total:m2397_3, partial:m2397_8 +# 2397| r2397_10(glval) = FunctionAddress[get_x] : +# 2397| r2397_11(char) = Call[get_x] : func:r2397_10, this:r2397_2 +# 2397| m2397_12(unknown) = ^CallSideEffect : ~m2397_7 +# 2397| m2397_13(unknown) = Chi : total:m2397_7, partial:m2397_12 +# 2397| v2397_14(void) = ^IndirectReadSideEffect[-1] : &:r2397_2, m2397_9 +# 2397| m2397_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2397_2 +# 2397| m2397_16(ClassWithDestructor) = Chi : total:m2397_9, partial:m2397_15 +# 2397| m2397_17(char) = Store[x] : &:r2397_1, r2397_11 +# 2397| r2397_18(glval) = VariableAddress[x] : +# 2397| r2397_19(char) = Load[x] : &:r2397_18, m2397_17 +# 2397| r2397_20(char) = Constant[0] : +# 2397| r2397_21(bool) = CompareNE : r2397_19, r2397_20 +# 2397| r2397_22(bool) = CopyValue : r2397_21 +# 2397| v2397_23(void) = ConditionalBranch : r2397_22 +#-----| False -> Block 2 +#-----| True -> Block 1 + +# 2398| Block 1 +# 2398| r2398_1(glval) = VariableAddress[x] : +# 2398| r2398_2(char) = Load[x] : &:r2398_1, m2397_17 +# 2398| r2398_3(char) = Constant[1] : +# 2398| r2398_4(char) = Add : r2398_2, r2398_3 +# 2398| m2398_5(char) = Store[x] : &:r2398_1, r2398_4 +#-----| Goto -> Block 2 + +# 2400| Block 2 +# 2400| r2400_1(glval) = VariableAddress[x] : +# 2400| r2400_2(glval) = VariableAddress[#temp2400:18] : +# 2400| m2400_3(ClassWithDestructor) = Uninitialized[#temp2400:18] : &:r2400_2 +# 2400| r2400_4(glval) = FunctionAddress[ClassWithDestructor] : +# 2400| v2400_5(void) = Call[ClassWithDestructor] : func:r2400_4, this:r2400_2 +# 2400| m2400_6(unknown) = ^CallSideEffect : ~m2397_13 +# 2400| m2400_7(unknown) = Chi : total:m2397_13, partial:m2400_6 +# 2400| m2400_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2400_2 +# 2400| m2400_9(ClassWithDestructor) = Chi : total:m2400_3, partial:m2400_8 +# 2400| r2400_10(glval) = FunctionAddress[get_x] : +# 2400| r2400_11(char) = Call[get_x] : func:r2400_10, this:r2400_2 +# 2400| m2400_12(unknown) = ^CallSideEffect : ~m2400_7 +# 2400| m2400_13(unknown) = Chi : total:m2400_7, partial:m2400_12 +# 2400| v2400_14(void) = ^IndirectReadSideEffect[-1] : &:r2400_2, m2400_9 +# 2400| m2400_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2400_2 +# 2400| m2400_16(ClassWithDestructor) = Chi : total:m2400_9, partial:m2400_15 +# 2400| m2400_17(char) = Store[x] : &:r2400_1, r2400_11 +# 2400| r2400_18(glval) = VariableAddress[x] : +# 2400| r2400_19(char) = Load[x] : &:r2400_18, m2400_17 +# 2400| r2400_20(char) = Constant[0] : +# 2400| r2400_21(bool) = CompareNE : r2400_19, r2400_20 +# 2400| v2400_22(void) = ConditionalBranch : r2400_21 +#-----| False -> Block 4 +#-----| True -> Block 3 + +# 2401| Block 3 +# 2401| r2401_1(glval) = VariableAddress[x] : +# 2401| r2401_2(char) = Load[x] : &:r2401_1, m2400_17 +# 2401| r2401_3(char) = Constant[1] : +# 2401| r2401_4(char) = Add : r2401_2, r2401_3 +# 2401| m2401_5(char) = Store[x] : &:r2401_1, r2401_4 +#-----| Goto -> Block 4 + +# 2403| Block 4 +# 2403| r2403_1(glval) = VariableAddress[x] : +# 2403| r2403_2(glval) = VariableAddress[#temp2403:28] : +# 2403| m2403_3(ClassWithDestructor) = Uninitialized[#temp2403:28] : &:r2403_2 +# 2403| r2403_4(glval) = FunctionAddress[ClassWithDestructor] : +# 2403| v2403_5(void) = Call[ClassWithDestructor] : func:r2403_4, this:r2403_2 +# 2403| m2403_6(unknown) = ^CallSideEffect : ~m2400_13 +# 2403| m2403_7(unknown) = Chi : total:m2400_13, partial:m2403_6 +# 2403| m2403_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2403_2 +# 2403| m2403_9(ClassWithDestructor) = Chi : total:m2403_3, partial:m2403_8 +# 2403| r2403_10(glval) = FunctionAddress[get_x] : +# 2403| r2403_11(char) = Call[get_x] : func:r2403_10, this:r2403_2 +# 2403| m2403_12(unknown) = ^CallSideEffect : ~m2403_7 +# 2403| m2403_13(unknown) = Chi : total:m2403_7, partial:m2403_12 +# 2403| v2403_14(void) = ^IndirectReadSideEffect[-1] : &:r2403_2, m2403_9 +# 2403| m2403_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2403_2 +# 2403| m2403_16(ClassWithDestructor) = Chi : total:m2403_9, partial:m2403_15 +# 2403| m2403_17(char) = Store[x] : &:r2403_1, r2403_11 +# 2403| r2403_18(bool) = Constant[1] : +# 2403| v2403_19(void) = ConditionalBranch : r2403_18 +#-----| False -> Block 13 +#-----| True -> Block 5 + +# 2404| Block 5 +# 2404| r2404_1(glval) = VariableAddress[x] : +# 2404| r2404_2(char) = Load[x] : &:r2404_1, m2403_17 +# 2404| r2404_3(char) = Constant[1] : +# 2404| r2404_4(char) = Add : r2404_2, r2404_3 +# 2404| m2404_5(char) = Store[x] : &:r2404_1, r2404_4 +# 2406| r2406_1(glval) = VariableAddress[x] : +# 2406| r2406_2(glval) = VariableAddress[#temp2406:21] : +# 2406| m2406_3(ClassWithDestructor) = Uninitialized[#temp2406:21] : &:r2406_2 +# 2406| r2406_4(glval) = FunctionAddress[ClassWithDestructor] : +# 2406| v2406_5(void) = Call[ClassWithDestructor] : func:r2406_4, this:r2406_2 +# 2406| m2406_6(unknown) = ^CallSideEffect : ~m2403_13 +# 2406| m2406_7(unknown) = Chi : total:m2403_13, partial:m2406_6 +# 2406| m2406_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2406_2 +# 2406| m2406_9(ClassWithDestructor) = Chi : total:m2406_3, partial:m2406_8 +# 2406| r2406_10(glval) = FunctionAddress[get_x] : +# 2406| r2406_11(char) = Call[get_x] : func:r2406_10, this:r2406_2 +# 2406| m2406_12(unknown) = ^CallSideEffect : ~m2406_7 +# 2406| m2406_13(unknown) = Chi : total:m2406_7, partial:m2406_12 +# 2406| v2406_14(void) = ^IndirectReadSideEffect[-1] : &:r2406_2, m2406_9 +# 2406| m2406_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2406_2 +# 2406| m2406_16(ClassWithDestructor) = Chi : total:m2406_9, partial:m2406_15 +# 2406| m2406_17(char) = Store[x] : &:r2406_1, r2406_11 +# 2406| r2406_18(glval) = VariableAddress[x] : +# 2406| r2406_19(char) = Load[x] : &:r2406_18, m2406_17 +# 2406| r2406_20(int) = Convert : r2406_19 +# 2406| r2406_21(int) = CopyValue : r2406_20 +# 2406| v2406_22(void) = Switch : r2406_21 +#-----| Case[97] -> Block 6 +#-----| Default -> Block 7 + +# 2407| Block 6 +# 2407| v2407_1(void) = NoOp : +# 2408| r2408_1(glval) = VariableAddress[x] : +# 2408| r2408_2(char) = Load[x] : &:r2408_1, m2406_17 +# 2408| r2408_3(char) = Constant[1] : +# 2408| r2408_4(char) = Add : r2408_2, r2408_3 +# 2408| m2408_5(char) = Store[x] : &:r2408_1, r2408_4 +#-----| Goto -> Block 7 + +# 2411| Block 7 +# 2411| r2411_1(glval) = VariableAddress[x] : +# 2411| r2411_2(glval) = VariableAddress[#temp2411:21] : +# 2411| m2411_3(ClassWithDestructor) = Uninitialized[#temp2411:21] : &:r2411_2 +# 2411| r2411_4(glval) = FunctionAddress[ClassWithDestructor] : +# 2411| v2411_5(void) = Call[ClassWithDestructor] : func:r2411_4, this:r2411_2 +# 2411| m2411_6(unknown) = ^CallSideEffect : ~m2406_13 +# 2411| m2411_7(unknown) = Chi : total:m2406_13, partial:m2411_6 +# 2411| m2411_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2411_2 +# 2411| m2411_9(ClassWithDestructor) = Chi : total:m2411_3, partial:m2411_8 +# 2411| r2411_10(glval) = FunctionAddress[get_x] : +# 2411| r2411_11(char) = Call[get_x] : func:r2411_10, this:r2411_2 +# 2411| m2411_12(unknown) = ^CallSideEffect : ~m2411_7 +# 2411| m2411_13(unknown) = Chi : total:m2411_7, partial:m2411_12 +# 2411| v2411_14(void) = ^IndirectReadSideEffect[-1] : &:r2411_2, m2411_9 +# 2411| m2411_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2411_2 +# 2411| m2411_16(ClassWithDestructor) = Chi : total:m2411_9, partial:m2411_15 +# 2411| m2411_17(char) = Store[x] : &:r2411_1, r2411_11 +# 2411| r2411_18(glval) = VariableAddress[x] : +# 2411| r2411_19(char) = Load[x] : &:r2411_18, m2411_17 +# 2411| r2411_20(int) = Convert : r2411_19 +# 2411| v2411_21(void) = Switch : r2411_20 +#-----| Case[97] -> Block 8 +#-----| Default -> Block 9 + +# 2412| Block 8 +# 2412| v2412_1(void) = NoOp : +# 2413| r2413_1(glval) = VariableAddress[x] : +# 2413| r2413_2(char) = Load[x] : &:r2413_1, m2411_17 +# 2413| r2413_3(char) = Constant[1] : +# 2413| r2413_4(char) = Add : r2413_2, r2413_3 +# 2413| m2413_5(char) = Store[x] : &:r2413_1, r2413_4 +#-----| Goto -> Block 9 + +# 2416| Block 9 +# 2416| r2416_1(glval) = VariableAddress[x] : +# 2416| r2416_2(glval) = VariableAddress[#temp2416:18] : +# 2416| m2416_3(ClassWithDestructor) = Uninitialized[#temp2416:18] : &:r2416_2 +# 2416| r2416_4(glval) = FunctionAddress[ClassWithDestructor] : +# 2416| v2416_5(void) = Call[ClassWithDestructor] : func:r2416_4, this:r2416_2 +# 2416| m2416_6(unknown) = ^CallSideEffect : ~m2411_13 +# 2416| m2416_7(unknown) = Chi : total:m2411_13, partial:m2416_6 +# 2416| m2416_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2416_2 +# 2416| m2416_9(ClassWithDestructor) = Chi : total:m2416_3, partial:m2416_8 +# 2416| r2416_10(glval) = FunctionAddress[get_x] : +# 2416| r2416_11(char) = Call[get_x] : func:r2416_10, this:r2416_2 +# 2416| m2416_12(unknown) = ^CallSideEffect : ~m2416_7 +# 2416| m2416_13(unknown) = Chi : total:m2416_7, partial:m2416_12 +# 2416| v2416_14(void) = ^IndirectReadSideEffect[-1] : &:r2416_2, m2416_9 +# 2416| m2416_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2416_2 +# 2416| m2416_16(ClassWithDestructor) = Chi : total:m2416_9, partial:m2416_15 +# 2416| m2416_17(char) = Store[x] : &:r2416_1, r2416_11 +# 2416| r2416_18(glval &&>) = VariableAddress[(__range)] : +# 2416| r2416_19(glval>) = VariableAddress[#temp2416:58] : +# 2416| m2416_20(vector) = Uninitialized[#temp2416:58] : &:r2416_19 +# 2416| r2416_21(glval) = FunctionAddress[vector] : +# 2416| r2416_22(glval) = VariableAddress[x] : +# 2416| r2416_23(char) = Load[x] : &:r2416_22, m2416_17 +# 2416| v2416_24(void) = Call[vector] : func:r2416_21, this:r2416_19, 0:r2416_23 +# 2416| m2416_25(unknown) = ^CallSideEffect : ~m2416_13 +# 2416| m2416_26(unknown) = Chi : total:m2416_13, partial:m2416_25 +# 2416| m2416_27(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2416_19 +# 2416| m2416_28(vector) = Chi : total:m2416_20, partial:m2416_27 +# 2416| r2416_29(vector &) = CopyValue : r2416_19 +# 2416| m2416_30(vector &&) = Store[(__range)] : &:r2416_18, r2416_29 +# 2416| r2416_31(glval>) = VariableAddress[(__begin)] : +# 2416| r2416_32(glval &&>) = VariableAddress[(__range)] : +# 2416| r2416_33(vector &&) = Load[(__range)] : &:r2416_32, m2416_30 +#-----| r0_1(glval>) = CopyValue : r2416_33 +#-----| r0_2(glval>) = Convert : r0_1 +# 2416| r2416_34(glval) = FunctionAddress[begin] : +# 2416| r2416_35(iterator) = Call[begin] : func:r2416_34, this:r0_2 +#-----| v0_3(void) = ^IndirectReadSideEffect[-1] : &:r0_2, m2416_28 +# 2416| m2416_36(iterator) = Store[(__begin)] : &:r2416_31, r2416_35 +# 2416| r2416_37(glval>) = VariableAddress[(__end)] : +# 2416| r2416_38(glval &&>) = VariableAddress[(__range)] : +# 2416| r2416_39(vector &&) = Load[(__range)] : &:r2416_38, m2416_30 +#-----| r0_4(glval>) = CopyValue : r2416_39 +#-----| r0_5(glval>) = Convert : r0_4 +# 2416| r2416_40(glval) = FunctionAddress[end] : +# 2416| r2416_41(iterator) = Call[end] : func:r2416_40, this:r0_5 +#-----| v0_6(void) = ^IndirectReadSideEffect[-1] : &:r0_5, m2416_28 +# 2416| m2416_42(iterator) = Store[(__end)] : &:r2416_37, r2416_41 +#-----| Goto -> Block 10 + +# 2416| Block 10 +# 2416| m2416_43(iterator) = Phi : from 9:m2416_36, from 11:m2416_73 +# 2416| m2416_44(unknown) = Phi : from 9:~m2416_26, from 11:~m2416_70 +# 2416| r2416_45(glval>) = VariableAddress[(__begin)] : +#-----| r0_7(glval>) = Convert : r2416_45 +# 2416| r2416_46(glval) = FunctionAddress[operator!=] : +#-----| r0_8(glval>) = VariableAddress[#temp0:0] : +#-----| m0_9(iterator) = Uninitialized[#temp0:0] : &:r0_8 +# 2416| r2416_47(glval) = FunctionAddress[iterator] : +# 2416| r2416_48(glval>) = VariableAddress[(__end)] : +#-----| r0_10(glval>) = Convert : r2416_48 +#-----| r0_11(iterator &) = CopyValue : r0_10 +# 2416| v2416_49(void) = Call[iterator] : func:r2416_47, this:r0_8, 0:r0_11 +# 2416| m2416_50(unknown) = ^CallSideEffect : ~m2416_44 +# 2416| m2416_51(unknown) = Chi : total:m2416_44, partial:m2416_50 +#-----| v0_12(void) = ^BufferReadSideEffect[0] : &:r0_11, ~m2416_42 +# 2416| m2416_52(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_8 +# 2416| m2416_53(iterator) = Chi : total:m0_9, partial:m2416_52 +#-----| r0_13(iterator) = Load[#temp0:0] : &:r0_8, m2416_53 +# 2416| r2416_54(bool) = Call[operator!=] : func:r2416_46, this:r0_7, 0:r0_13 +# 2416| m2416_55(unknown) = ^CallSideEffect : ~m2416_51 +# 2416| m2416_56(unknown) = Chi : total:m2416_51, partial:m2416_55 +#-----| v0_14(void) = ^IndirectReadSideEffect[-1] : &:r0_7, m2416_43 +# 2416| v2416_57(void) = ConditionalBranch : r2416_54 +#-----| False -> Block 12 +#-----| True -> Block 11 + +# 2416| Block 11 +# 2416| r2416_58(glval) = VariableAddress[y] : +# 2416| r2416_59(glval>) = VariableAddress[(__begin)] : +#-----| r0_15(glval>) = Convert : r2416_59 +# 2416| r2416_60(glval) = FunctionAddress[operator*] : +# 2416| r2416_61(char &) = Call[operator*] : func:r2416_60, this:r0_15 +# 2416| m2416_62(unknown) = ^CallSideEffect : ~m2416_56 +# 2416| m2416_63(unknown) = Chi : total:m2416_56, partial:m2416_62 +#-----| v0_16(void) = ^IndirectReadSideEffect[-1] : &:r0_15, m2416_43 +# 2416| r2416_64(char) = Load[?] : &:r2416_61, ~m2416_63 +# 2416| m2416_65(char) = Store[y] : &:r2416_58, r2416_64 +# 2417| r2417_1(glval) = VariableAddress[x] : +# 2417| r2417_2(char) = Load[x] : &:r2417_1, m2416_17 +# 2417| r2417_3(int) = Convert : r2417_2 +# 2417| r2417_4(glval) = VariableAddress[y] : +# 2417| r2417_5(char) = Load[y] : &:r2417_4, m2416_65 +# 2417| r2417_6(int) = Convert : r2417_5 +# 2417| r2417_7(int) = Add : r2417_6, r2417_3 +# 2417| r2417_8(char) = Convert : r2417_7 +# 2417| m2417_9(char) = Store[y] : &:r2417_4, r2417_8 +# 2416| r2416_66(glval>) = VariableAddress[(__begin)] : +# 2416| r2416_67(glval) = FunctionAddress[operator++] : +# 2416| r2416_68(iterator &) = Call[operator++] : func:r2416_67, this:r2416_66 +# 2416| m2416_69(unknown) = ^CallSideEffect : ~m2416_63 +# 2416| m2416_70(unknown) = Chi : total:m2416_63, partial:m2416_69 +# 2416| v2416_71(void) = ^IndirectReadSideEffect[-1] : &:r2416_66, m2416_43 +# 2416| m2416_72(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2416_66 +# 2416| m2416_73(iterator) = Chi : total:m2416_43, partial:m2416_72 +# 2416| r2416_74(glval>) = CopyValue : r2416_68 +#-----| Goto (back edge) -> Block 10 + +# 2418| Block 12 +# 2418| v2418_1(void) = NoOp : +# 2396| v2396_5(void) = ReturnVoid : +# 2396| v2396_6(void) = AliasedUse : ~m2416_56 +# 2396| v2396_7(void) = ExitFunction : + +# 2396| Block 13 +# 2396| v2396_8(void) = Unreached : perf-regression.cpp: # 6| void Big::Big() diff --git a/cpp/ql/test/library-tests/ir/ir/destructors_for_temps.cpp b/cpp/ql/test/library-tests/ir/ir/destructors_for_temps.cpp new file mode 100644 index 00000000000..572c81ac111 --- /dev/null +++ b/cpp/ql/test/library-tests/ir/ir/destructors_for_temps.cpp @@ -0,0 +1,56 @@ +class ClassWithDestructor2 { +public: + ClassWithDestructor2(); + ~ClassWithDestructor2(); + + char get_x(); +}; + +class ClassWithConstructor { +public: + ClassWithConstructor(char x, char y); +}; + +char temp_test() { + char x = ClassWithDestructor2().get_x(); + ClassWithConstructor y('a', ClassWithDestructor2().get_x()); + return ClassWithDestructor2().get_x(); +} + + +char temp_test2() { + new ClassWithDestructor2(); + return ClassWithDestructor2().get_x() + ClassWithDestructor2().get_x(); +} + +template +T returnValue(); + +void temp_test3() { + const ClassWithDestructor2& rs = returnValue(); +} + +void temp_test4() { + ClassWithDestructor2 c; + const ClassWithDestructor2& rs2 = returnValue(); +} + +void temp_test5(bool b) { + b ? ClassWithDestructor2() : ClassWithDestructor2(); +} + +void temp_test6(bool b) { + ClassWithDestructor2 c; + if (b) { + throw ClassWithConstructor('x', ClassWithDestructor2().get_x()); + } +} + +void temp_test7(bool b) { + ClassWithDestructor2 c; + b ? throw ClassWithConstructor('x', ClassWithDestructor2().get_x()) : ClassWithDestructor2(); +} + +void temp_test8(bool b) { + b ? throw ClassWithConstructor('x', ClassWithDestructor2().get_x()) : ClassWithDestructor2(); +} diff --git a/cpp/ql/test/library-tests/ir/ir/ir.cpp b/cpp/ql/test/library-tests/ir/ir/ir.cpp index b63449d96f0..67327ddc846 100644 --- a/cpp/ql/test/library-tests/ir/ir/ir.cpp +++ b/cpp/ql/test/library-tests/ir/ir/ir.cpp @@ -1055,28 +1055,75 @@ void Lambda(int x, const String& s) { lambda_inits(6); } -template -struct vector { - struct iterator { - T* p; - iterator& operator++(); - T& operator*() const; +namespace std { + template + struct remove_const { typedef T type; }; - bool operator!=(iterator right) const; + template + struct remove_const { typedef T type; }; + + // `remove_const_t` removes any `const` specifier from `T` + template + using remove_const_t = typename remove_const::type; + + struct ptrdiff_t; + + template struct iterator_traits; + + template + struct iterator { + typedef Category iterator_category; + + iterator(); + iterator(iterator > const &other); // non-const -> const conversion constructor + + iterator &operator++(); + iterator operator++(int); + iterator &operator--(); + iterator operator--(int); + bool operator==(iterator other) const; + bool operator!=(iterator other) const; + reference_type operator*() const; + pointer_type operator->() const; + iterator operator+(int); + iterator operator-(int); + iterator &operator+=(int); + iterator &operator-=(int); + int operator-(iterator); + reference_type operator[](int); }; - vector(T); - ~vector(); - iterator begin() const; - iterator end() const; -}; + struct input_iterator_tag {}; + struct forward_iterator_tag : public input_iterator_tag {}; + struct bidirectional_iterator_tag : public forward_iterator_tag {}; + struct random_access_iterator_tag : public bidirectional_iterator_tag {}; -template -bool operator==(typename vector::iterator left, typename vector::iterator right); -template -bool operator!=(typename vector::iterator left, typename vector::iterator right); + struct output_iterator_tag {}; -void RangeBasedFor(const vector& v) { + template + struct vector { + vector(T); + ~vector(); + + using iterator = std::iterator; + using const_iterator = std::iterator; + + iterator begin() const; + iterator end() const; + }; + + template + bool operator==(typename vector::iterator left, typename vector::iterator right); + template + bool operator!=(typename vector::iterator left, typename vector::iterator right); + +} + +void RangeBasedFor(const std::vector& v) { for (int e : v) { if (e > 0) { continue; @@ -2151,21 +2198,21 @@ void initialization_with_destructor(bool b, char c) { } ClassWithDestructor x; - for(vector ys(x); ClassWithDestructor y : ys) + for(std::vector ys(x); ClassWithDestructor y : ys) y.set_x('a'); - for(vector ys(x); ClassWithDestructor y : ys) { + for(std::vector ys(x); ClassWithDestructor y : ys) { y.set_x('a'); if (y.get_x() == 'b') return; } - for(vector ys(1); int y : ys) { + for(std::vector ys(1); int y : ys) { if (y == 1) return; } - for(vector ys(x); ClassWithDestructor y : ys) { + for(std::vector ys(x); ClassWithDestructor y : ys) { ClassWithDestructor z1; ClassWithDestructor z2; } @@ -2243,7 +2290,7 @@ void ForDestructors() { String s2; } - for(String s : vector(String("hello"))) { + for(String s : std::vector(String("hello"))) { String s2; } @@ -2331,4 +2378,43 @@ namespace return_routine_type { } +int small_operation_should_not_be_constant_folded() { + return 1 ^ 2; +} + +#define BINOP2(x) (x ^ x) +#define BINOP4(x) (BINOP2(x) ^ BINOP2(x)) +#define BINOP8(x) (BINOP4(x) ^ BINOP4(x)) +#define BINOP16(x) (BINOP8(x) ^ BINOP8(x)) +#define BINOP32(x) (BINOP16(x) ^ BINOP16(x)) +#define BINOP64(x) (BINOP32(x) ^ BINOP32(x)) + +int large_operation_should_be_constant_folded() { + return BINOP64(1); +} + +void initialization_with_temp_destructor() { + if (char x = ClassWithDestructor().get_x()) + x++; + + if (char x = ClassWithDestructor().get_x(); x) + x++; + + if constexpr (char x = ClassWithDestructor().get_x(); initialization_with_destructor_bool) + x++; + + switch(char x = ClassWithDestructor().get_x()) { + case 'a': + x++; + } + + switch(char x = ClassWithDestructor().get_x(); x) { + case 'a': + x++; + } + + for(char x = ClassWithDestructor().get_x(); char y : std::vector(x)) + y += x; +} + // semmle-extractor-options: -std=c++20 --clang diff --git a/cpp/ql/test/library-tests/ir/ir/operand_locations.expected b/cpp/ql/test/library-tests/ir/ir/operand_locations.expected index 6d9a76dc068..912d2984956 100644 --- a/cpp/ql/test/library-tests/ir/ir/operand_locations.expected +++ b/cpp/ql/test/library-tests/ir/ir/operand_locations.expected @@ -652,6 +652,440 @@ | complex.c:144:8:144:10 | Load | m133_5 | | complex.c:144:8:144:10 | StoreValue | r144_3 | | complex.c:144:8:144:10 | Unary | r144_2 | +| destructors_for_temps.cpp:9:7:9:7 | Address | &:r9_5 | +| destructors_for_temps.cpp:9:7:9:7 | Address | &:r9_5 | +| destructors_for_temps.cpp:9:7:9:7 | Address | &:r9_7 | +| destructors_for_temps.cpp:9:7:9:7 | Address | &:r9_7 | +| destructors_for_temps.cpp:9:7:9:7 | ChiPartial | partial:m9_3 | +| destructors_for_temps.cpp:9:7:9:7 | ChiTotal | total:m9_2 | +| destructors_for_temps.cpp:9:7:9:7 | Load | m9_6 | +| destructors_for_temps.cpp:9:7:9:7 | SideEffect | m9_3 | +| destructors_for_temps.cpp:9:7:9:7 | SideEffect | m9_8 | +| destructors_for_temps.cpp:14:6:14:14 | Address | &:r14_5 | +| destructors_for_temps.cpp:14:6:14:14 | ChiPartial | partial:m14_3 | +| destructors_for_temps.cpp:14:6:14:14 | ChiTotal | total:m14_2 | +| destructors_for_temps.cpp:14:6:14:14 | Load | m17_17 | +| destructors_for_temps.cpp:14:6:14:14 | SideEffect | ~m17_13 | +| destructors_for_temps.cpp:15:10:15:10 | Address | &:r15_1 | +| destructors_for_temps.cpp:15:14:15:35 | Address | &:r15_2 | +| destructors_for_temps.cpp:15:14:15:35 | Address | &:r15_2 | +| destructors_for_temps.cpp:15:14:15:35 | Address | &:r15_2 | +| destructors_for_temps.cpp:15:14:15:35 | Address | &:r15_2 | +| destructors_for_temps.cpp:15:14:15:35 | Arg(this) | this:r15_2 | +| destructors_for_temps.cpp:15:14:15:35 | Arg(this) | this:r15_2 | +| destructors_for_temps.cpp:15:14:15:35 | CallTarget | func:r15_4 | +| destructors_for_temps.cpp:15:14:15:35 | ChiPartial | partial:m15_6 | +| destructors_for_temps.cpp:15:14:15:35 | ChiPartial | partial:m15_8 | +| destructors_for_temps.cpp:15:14:15:35 | ChiPartial | partial:m15_15 | +| destructors_for_temps.cpp:15:14:15:35 | ChiTotal | total:m14_4 | +| destructors_for_temps.cpp:15:14:15:35 | ChiTotal | total:m15_3 | +| destructors_for_temps.cpp:15:14:15:35 | ChiTotal | total:m15_9 | +| destructors_for_temps.cpp:15:14:15:35 | SideEffect | m15_9 | +| destructors_for_temps.cpp:15:14:15:35 | SideEffect | ~m14_4 | +| destructors_for_temps.cpp:15:37:15:41 | CallTarget | func:r15_10 | +| destructors_for_temps.cpp:15:37:15:41 | ChiPartial | partial:m15_12 | +| destructors_for_temps.cpp:15:37:15:41 | ChiTotal | total:m15_7 | +| destructors_for_temps.cpp:15:37:15:41 | SideEffect | ~m15_7 | +| destructors_for_temps.cpp:15:37:15:41 | StoreValue | r15_11 | +| destructors_for_temps.cpp:16:26:16:26 | Address | &:r16_1 | +| destructors_for_temps.cpp:16:26:16:26 | Address | &:r16_1 | +| destructors_for_temps.cpp:16:26:16:26 | Arg(this) | this:r16_1 | +| destructors_for_temps.cpp:16:28:16:30 | Arg(0) | 0:r16_4 | +| destructors_for_temps.cpp:16:28:16:63 | CallTarget | func:r16_3 | +| destructors_for_temps.cpp:16:28:16:63 | ChiPartial | partial:m16_21 | +| destructors_for_temps.cpp:16:28:16:63 | ChiPartial | partial:m16_23 | +| destructors_for_temps.cpp:16:28:16:63 | ChiTotal | total:m16_2 | +| destructors_for_temps.cpp:16:28:16:63 | ChiTotal | total:m16_16 | +| destructors_for_temps.cpp:16:28:16:63 | SideEffect | ~m16_16 | +| destructors_for_temps.cpp:16:33:16:54 | Address | &:r16_5 | +| destructors_for_temps.cpp:16:33:16:54 | Address | &:r16_5 | +| destructors_for_temps.cpp:16:33:16:54 | Address | &:r16_5 | +| destructors_for_temps.cpp:16:33:16:54 | Address | &:r16_5 | +| destructors_for_temps.cpp:16:33:16:54 | Arg(this) | this:r16_5 | +| destructors_for_temps.cpp:16:33:16:54 | Arg(this) | this:r16_5 | +| destructors_for_temps.cpp:16:33:16:54 | CallTarget | func:r16_7 | +| destructors_for_temps.cpp:16:33:16:54 | ChiPartial | partial:m16_9 | +| destructors_for_temps.cpp:16:33:16:54 | ChiPartial | partial:m16_11 | +| destructors_for_temps.cpp:16:33:16:54 | ChiPartial | partial:m16_18 | +| destructors_for_temps.cpp:16:33:16:54 | ChiTotal | total:m15_13 | +| destructors_for_temps.cpp:16:33:16:54 | ChiTotal | total:m16_6 | +| destructors_for_temps.cpp:16:33:16:54 | ChiTotal | total:m16_12 | +| destructors_for_temps.cpp:16:33:16:54 | SideEffect | m16_12 | +| destructors_for_temps.cpp:16:33:16:54 | SideEffect | ~m15_13 | +| destructors_for_temps.cpp:16:56:16:60 | Arg(1) | 1:r16_14 | +| destructors_for_temps.cpp:16:56:16:60 | CallTarget | func:r16_13 | +| destructors_for_temps.cpp:16:56:16:60 | ChiPartial | partial:m16_15 | +| destructors_for_temps.cpp:16:56:16:60 | ChiTotal | total:m16_10 | +| destructors_for_temps.cpp:16:56:16:60 | SideEffect | ~m16_10 | +| destructors_for_temps.cpp:17:5:17:42 | Address | &:r17_1 | +| destructors_for_temps.cpp:17:12:17:33 | Address | &:r17_2 | +| destructors_for_temps.cpp:17:12:17:33 | Address | &:r17_2 | +| destructors_for_temps.cpp:17:12:17:33 | Address | &:r17_2 | +| destructors_for_temps.cpp:17:12:17:33 | Address | &:r17_2 | +| destructors_for_temps.cpp:17:12:17:33 | Arg(this) | this:r17_2 | +| destructors_for_temps.cpp:17:12:17:33 | Arg(this) | this:r17_2 | +| destructors_for_temps.cpp:17:12:17:33 | CallTarget | func:r17_4 | +| destructors_for_temps.cpp:17:12:17:33 | ChiPartial | partial:m17_6 | +| destructors_for_temps.cpp:17:12:17:33 | ChiPartial | partial:m17_8 | +| destructors_for_temps.cpp:17:12:17:33 | ChiPartial | partial:m17_15 | +| destructors_for_temps.cpp:17:12:17:33 | ChiTotal | total:m16_22 | +| destructors_for_temps.cpp:17:12:17:33 | ChiTotal | total:m17_3 | +| destructors_for_temps.cpp:17:12:17:33 | ChiTotal | total:m17_9 | +| destructors_for_temps.cpp:17:12:17:33 | SideEffect | m17_9 | +| destructors_for_temps.cpp:17:12:17:33 | SideEffect | ~m16_22 | +| destructors_for_temps.cpp:17:35:17:39 | CallTarget | func:r17_10 | +| destructors_for_temps.cpp:17:35:17:39 | ChiPartial | partial:m17_12 | +| destructors_for_temps.cpp:17:35:17:39 | ChiTotal | total:m17_7 | +| destructors_for_temps.cpp:17:35:17:39 | SideEffect | ~m17_7 | +| destructors_for_temps.cpp:17:35:17:39 | StoreValue | r17_11 | +| destructors_for_temps.cpp:21:6:21:15 | Address | &:r21_5 | +| destructors_for_temps.cpp:21:6:21:15 | ChiPartial | partial:m21_3 | +| destructors_for_temps.cpp:21:6:21:15 | ChiTotal | total:m21_2 | +| destructors_for_temps.cpp:21:6:21:15 | Load | m23_36 | +| destructors_for_temps.cpp:21:6:21:15 | SideEffect | ~m23_29 | +| destructors_for_temps.cpp:22:5:22:30 | Address | &:r22_3 | +| destructors_for_temps.cpp:22:5:22:30 | Address | &:r22_7 | +| destructors_for_temps.cpp:22:5:22:30 | Arg(0) | 0:r22_2 | +| destructors_for_temps.cpp:22:5:22:30 | Arg(this) | this:r22_7 | +| destructors_for_temps.cpp:22:5:22:30 | CallTarget | func:r22_1 | +| destructors_for_temps.cpp:22:5:22:30 | CallTarget | func:r22_8 | +| destructors_for_temps.cpp:22:5:22:30 | ChiPartial | partial:m22_4 | +| destructors_for_temps.cpp:22:5:22:30 | ChiPartial | partial:m22_10 | +| destructors_for_temps.cpp:22:5:22:30 | ChiPartial | partial:m22_12 | +| destructors_for_temps.cpp:22:5:22:30 | ChiTotal | total:m21_4 | +| destructors_for_temps.cpp:22:5:22:30 | ChiTotal | total:m22_5 | +| destructors_for_temps.cpp:22:5:22:30 | ChiTotal | total:m22_6 | +| destructors_for_temps.cpp:22:5:22:30 | SideEffect | ~m21_4 | +| destructors_for_temps.cpp:22:5:22:30 | SideEffect | ~m22_5 | +| destructors_for_temps.cpp:22:5:22:30 | Unary | r22_3 | +| destructors_for_temps.cpp:23:5:23:75 | Address | &:r23_1 | +| destructors_for_temps.cpp:23:12:23:33 | Address | &:r23_2 | +| destructors_for_temps.cpp:23:12:23:33 | Address | &:r23_2 | +| destructors_for_temps.cpp:23:12:23:33 | Address | &:r23_2 | +| destructors_for_temps.cpp:23:12:23:33 | Address | &:r23_2 | +| destructors_for_temps.cpp:23:12:23:33 | Arg(this) | this:r23_2 | +| destructors_for_temps.cpp:23:12:23:33 | Arg(this) | this:r23_2 | +| destructors_for_temps.cpp:23:12:23:33 | CallTarget | func:r23_4 | +| destructors_for_temps.cpp:23:12:23:33 | ChiPartial | partial:m23_6 | +| destructors_for_temps.cpp:23:12:23:33 | ChiPartial | partial:m23_8 | +| destructors_for_temps.cpp:23:12:23:33 | ChiPartial | partial:m23_15 | +| destructors_for_temps.cpp:23:12:23:33 | ChiTotal | total:m22_11 | +| destructors_for_temps.cpp:23:12:23:33 | ChiTotal | total:m23_3 | +| destructors_for_temps.cpp:23:12:23:33 | ChiTotal | total:m23_9 | +| destructors_for_temps.cpp:23:12:23:33 | SideEffect | m23_9 | +| destructors_for_temps.cpp:23:12:23:33 | SideEffect | ~m22_11 | +| destructors_for_temps.cpp:23:12:23:41 | Left | r23_17 | +| destructors_for_temps.cpp:23:12:23:74 | StoreValue | r23_35 | +| destructors_for_temps.cpp:23:12:23:74 | Unary | r23_34 | +| destructors_for_temps.cpp:23:35:23:39 | CallTarget | func:r23_10 | +| destructors_for_temps.cpp:23:35:23:39 | ChiPartial | partial:m23_12 | +| destructors_for_temps.cpp:23:35:23:39 | ChiTotal | total:m23_7 | +| destructors_for_temps.cpp:23:35:23:39 | SideEffect | ~m23_7 | +| destructors_for_temps.cpp:23:35:23:39 | Unary | r23_11 | +| destructors_for_temps.cpp:23:45:23:66 | Address | &:r23_18 | +| destructors_for_temps.cpp:23:45:23:66 | Address | &:r23_18 | +| destructors_for_temps.cpp:23:45:23:66 | Address | &:r23_18 | +| destructors_for_temps.cpp:23:45:23:66 | Address | &:r23_18 | +| destructors_for_temps.cpp:23:45:23:66 | Arg(this) | this:r23_18 | +| destructors_for_temps.cpp:23:45:23:66 | Arg(this) | this:r23_18 | +| destructors_for_temps.cpp:23:45:23:66 | CallTarget | func:r23_20 | +| destructors_for_temps.cpp:23:45:23:66 | ChiPartial | partial:m23_22 | +| destructors_for_temps.cpp:23:45:23:66 | ChiPartial | partial:m23_24 | +| destructors_for_temps.cpp:23:45:23:66 | ChiPartial | partial:m23_31 | +| destructors_for_temps.cpp:23:45:23:66 | ChiTotal | total:m23_13 | +| destructors_for_temps.cpp:23:45:23:66 | ChiTotal | total:m23_19 | +| destructors_for_temps.cpp:23:45:23:66 | ChiTotal | total:m23_25 | +| destructors_for_temps.cpp:23:45:23:66 | SideEffect | m23_25 | +| destructors_for_temps.cpp:23:45:23:66 | SideEffect | ~m23_13 | +| destructors_for_temps.cpp:23:45:23:74 | Right | r23_33 | +| destructors_for_temps.cpp:23:68:23:72 | CallTarget | func:r23_26 | +| destructors_for_temps.cpp:23:68:23:72 | ChiPartial | partial:m23_28 | +| destructors_for_temps.cpp:23:68:23:72 | ChiTotal | total:m23_23 | +| destructors_for_temps.cpp:23:68:23:72 | SideEffect | ~m23_23 | +| destructors_for_temps.cpp:23:68:23:72 | Unary | r23_27 | +| destructors_for_temps.cpp:29:6:29:15 | ChiPartial | partial:m29_3 | +| destructors_for_temps.cpp:29:6:29:15 | ChiTotal | total:m29_2 | +| destructors_for_temps.cpp:29:6:29:15 | SideEffect | ~m30_6 | +| destructors_for_temps.cpp:30:33:30:34 | Address | &:r30_1 | +| destructors_for_temps.cpp:30:38:30:70 | CallTarget | func:r30_3 | +| destructors_for_temps.cpp:30:38:30:70 | ChiPartial | partial:m30_5 | +| destructors_for_temps.cpp:30:38:30:70 | ChiTotal | total:m29_4 | +| destructors_for_temps.cpp:30:38:30:70 | SideEffect | ~m29_4 | +| destructors_for_temps.cpp:30:38:30:70 | StoreValue | r30_4 | +| destructors_for_temps.cpp:30:38:30:72 | Address | &:r30_2 | +| destructors_for_temps.cpp:30:38:30:72 | StoreValue | r30_9 | +| destructors_for_temps.cpp:30:38:30:72 | Unary | r30_2 | +| destructors_for_temps.cpp:30:38:30:72 | Unary | r30_8 | +| destructors_for_temps.cpp:33:6:33:15 | ChiPartial | partial:m33_3 | +| destructors_for_temps.cpp:33:6:33:15 | ChiTotal | total:m33_2 | +| destructors_for_temps.cpp:33:6:33:15 | SideEffect | ~m36_6 | +| destructors_for_temps.cpp:34:26:34:26 | Address | &:r34_1 | +| destructors_for_temps.cpp:34:26:34:26 | Address | &:r34_1 | +| destructors_for_temps.cpp:34:26:34:26 | Arg(this) | this:r34_1 | +| destructors_for_temps.cpp:34:26:34:26 | CallTarget | func:r34_3 | +| destructors_for_temps.cpp:34:26:34:26 | ChiPartial | partial:m34_5 | +| destructors_for_temps.cpp:34:26:34:26 | ChiPartial | partial:m34_7 | +| destructors_for_temps.cpp:34:26:34:26 | ChiTotal | total:m33_4 | +| destructors_for_temps.cpp:34:26:34:26 | ChiTotal | total:m34_2 | +| destructors_for_temps.cpp:34:26:34:26 | SideEffect | ~m33_4 | +| destructors_for_temps.cpp:35:33:35:35 | Address | &:r35_1 | +| destructors_for_temps.cpp:35:39:35:71 | CallTarget | func:r35_3 | +| destructors_for_temps.cpp:35:39:35:71 | ChiPartial | partial:m35_5 | +| destructors_for_temps.cpp:35:39:35:71 | ChiTotal | total:m34_6 | +| destructors_for_temps.cpp:35:39:35:71 | SideEffect | ~m34_6 | +| destructors_for_temps.cpp:35:39:35:71 | StoreValue | r35_4 | +| destructors_for_temps.cpp:35:39:35:73 | Address | &:r35_2 | +| destructors_for_temps.cpp:35:39:35:73 | StoreValue | r35_9 | +| destructors_for_temps.cpp:35:39:35:73 | Unary | r35_2 | +| destructors_for_temps.cpp:35:39:35:73 | Unary | r35_8 | +| destructors_for_temps.cpp:36:1:36:1 | Address | &:r36_2 | +| destructors_for_temps.cpp:36:1:36:1 | Address | &:r36_2 | +| destructors_for_temps.cpp:36:1:36:1 | Arg(this) | this:r36_2 | +| destructors_for_temps.cpp:36:1:36:1 | CallTarget | func:r36_3 | +| destructors_for_temps.cpp:36:1:36:1 | ChiPartial | partial:m36_5 | +| destructors_for_temps.cpp:36:1:36:1 | ChiPartial | partial:m36_8 | +| destructors_for_temps.cpp:36:1:36:1 | ChiTotal | total:m34_8 | +| destructors_for_temps.cpp:36:1:36:1 | ChiTotal | total:m35_6 | +| destructors_for_temps.cpp:36:1:36:1 | SideEffect | m34_8 | +| destructors_for_temps.cpp:36:1:36:1 | SideEffect | ~m35_6 | +| destructors_for_temps.cpp:38:6:38:15 | ChiPartial | partial:m38_3 | +| destructors_for_temps.cpp:38:6:38:15 | ChiTotal | total:m38_2 | +| destructors_for_temps.cpp:38:6:38:15 | SideEffect | ~m39_5 | +| destructors_for_temps.cpp:38:22:38:22 | Address | &:r38_5 | +| destructors_for_temps.cpp:39:3:39:3 | Address | &:r39_2 | +| destructors_for_temps.cpp:39:3:39:3 | Address | &:r39_7 | +| destructors_for_temps.cpp:39:3:39:3 | Address | &:r39_19 | +| destructors_for_temps.cpp:39:3:39:3 | Address | &:r39_30 | +| destructors_for_temps.cpp:39:3:39:3 | Condition | r39_3 | +| destructors_for_temps.cpp:39:3:39:3 | Load | m38_6 | +| destructors_for_temps.cpp:39:3:39:3 | Load | m39_6 | +| destructors_for_temps.cpp:39:3:39:3 | Phi | from 2:m39_20 | +| destructors_for_temps.cpp:39:3:39:3 | Phi | from 2:~m39_15 | +| destructors_for_temps.cpp:39:3:39:3 | Phi | from 3:m39_31 | +| destructors_for_temps.cpp:39:3:39:3 | Phi | from 3:~m39_26 | +| destructors_for_temps.cpp:39:3:39:3 | StoreValue | r39_8 | +| destructors_for_temps.cpp:39:3:39:53 | Address | &:r39_1 | +| destructors_for_temps.cpp:39:7:39:28 | Address | &:r39_10 | +| destructors_for_temps.cpp:39:7:39:28 | Address | &:r39_10 | +| destructors_for_temps.cpp:39:7:39:28 | Address | &:r39_10 | +| destructors_for_temps.cpp:39:7:39:28 | Arg(this) | this:r39_10 | +| destructors_for_temps.cpp:39:7:39:28 | CallTarget | func:r39_12 | +| destructors_for_temps.cpp:39:7:39:28 | ChiPartial | partial:m39_14 | +| destructors_for_temps.cpp:39:7:39:28 | ChiPartial | partial:m39_16 | +| destructors_for_temps.cpp:39:7:39:28 | ChiTotal | total:m38_4 | +| destructors_for_temps.cpp:39:7:39:28 | ChiTotal | total:m39_11 | +| destructors_for_temps.cpp:39:7:39:28 | Load | m39_17 | +| destructors_for_temps.cpp:39:7:39:28 | SideEffect | ~m38_4 | +| destructors_for_temps.cpp:39:7:39:28 | StoreValue | r39_18 | +| destructors_for_temps.cpp:39:32:39:53 | Address | &:r39_21 | +| destructors_for_temps.cpp:39:32:39:53 | Address | &:r39_21 | +| destructors_for_temps.cpp:39:32:39:53 | Address | &:r39_21 | +| destructors_for_temps.cpp:39:32:39:53 | Arg(this) | this:r39_21 | +| destructors_for_temps.cpp:39:32:39:53 | CallTarget | func:r39_23 | +| destructors_for_temps.cpp:39:32:39:53 | ChiPartial | partial:m39_25 | +| destructors_for_temps.cpp:39:32:39:53 | ChiPartial | partial:m39_27 | +| destructors_for_temps.cpp:39:32:39:53 | ChiTotal | total:m38_4 | +| destructors_for_temps.cpp:39:32:39:53 | ChiTotal | total:m39_22 | +| destructors_for_temps.cpp:39:32:39:53 | Load | m39_28 | +| destructors_for_temps.cpp:39:32:39:53 | SideEffect | ~m38_4 | +| destructors_for_temps.cpp:39:32:39:53 | StoreValue | r39_29 | +| destructors_for_temps.cpp:42:6:42:15 | ChiPartial | partial:m42_3 | +| destructors_for_temps.cpp:42:6:42:15 | ChiTotal | total:m42_2 | +| destructors_for_temps.cpp:42:6:42:15 | Phi | from 2:~m45_22 | +| destructors_for_temps.cpp:42:6:42:15 | Phi | from 4:~m47_6 | +| destructors_for_temps.cpp:42:6:42:15 | SideEffect | ~m42_7 | +| destructors_for_temps.cpp:42:22:42:22 | Address | &:r42_5 | +| destructors_for_temps.cpp:43:26:43:26 | Address | &:r43_1 | +| destructors_for_temps.cpp:43:26:43:26 | Address | &:r43_1 | +| destructors_for_temps.cpp:43:26:43:26 | Arg(this) | this:r43_1 | +| destructors_for_temps.cpp:43:26:43:26 | CallTarget | func:r43_3 | +| destructors_for_temps.cpp:43:26:43:26 | ChiPartial | partial:m43_5 | +| destructors_for_temps.cpp:43:26:43:26 | ChiPartial | partial:m43_7 | +| destructors_for_temps.cpp:43:26:43:26 | ChiTotal | total:m42_4 | +| destructors_for_temps.cpp:43:26:43:26 | ChiTotal | total:m43_2 | +| destructors_for_temps.cpp:43:26:43:26 | SideEffect | ~m42_4 | +| destructors_for_temps.cpp:44:9:44:9 | Address | &:r44_1 | +| destructors_for_temps.cpp:44:9:44:9 | Condition | r44_2 | +| destructors_for_temps.cpp:44:9:44:9 | Load | m42_6 | +| destructors_for_temps.cpp:45:7:45:69 | Address | &:r45_1 | +| destructors_for_temps.cpp:45:7:45:69 | Address | &:r45_1 | +| destructors_for_temps.cpp:45:7:45:69 | Address | &:r45_1 | +| destructors_for_temps.cpp:45:7:45:69 | Arg(this) | this:r45_1 | +| destructors_for_temps.cpp:45:7:45:69 | CallTarget | func:r45_3 | +| destructors_for_temps.cpp:45:7:45:69 | ChiPartial | partial:m45_21 | +| destructors_for_temps.cpp:45:7:45:69 | ChiPartial | partial:m45_23 | +| destructors_for_temps.cpp:45:7:45:69 | ChiTotal | total:m45_2 | +| destructors_for_temps.cpp:45:7:45:69 | ChiTotal | total:m45_16 | +| destructors_for_temps.cpp:45:7:45:69 | Load | m45_24 | +| destructors_for_temps.cpp:45:7:45:69 | SideEffect | ~m45_16 | +| destructors_for_temps.cpp:45:34:45:36 | Arg(0) | 0:r45_4 | +| destructors_for_temps.cpp:45:39:45:60 | Address | &:r45_5 | +| destructors_for_temps.cpp:45:39:45:60 | Address | &:r45_5 | +| destructors_for_temps.cpp:45:39:45:60 | Address | &:r45_5 | +| destructors_for_temps.cpp:45:39:45:60 | Address | &:r45_5 | +| destructors_for_temps.cpp:45:39:45:60 | Arg(this) | this:r45_5 | +| destructors_for_temps.cpp:45:39:45:60 | Arg(this) | this:r45_5 | +| destructors_for_temps.cpp:45:39:45:60 | CallTarget | func:r45_7 | +| destructors_for_temps.cpp:45:39:45:60 | ChiPartial | partial:m45_9 | +| destructors_for_temps.cpp:45:39:45:60 | ChiPartial | partial:m45_11 | +| destructors_for_temps.cpp:45:39:45:60 | ChiPartial | partial:m45_18 | +| destructors_for_temps.cpp:45:39:45:60 | ChiTotal | total:m43_6 | +| destructors_for_temps.cpp:45:39:45:60 | ChiTotal | total:m45_6 | +| destructors_for_temps.cpp:45:39:45:60 | ChiTotal | total:m45_12 | +| destructors_for_temps.cpp:45:39:45:60 | SideEffect | m45_12 | +| destructors_for_temps.cpp:45:39:45:60 | SideEffect | ~m43_6 | +| destructors_for_temps.cpp:45:62:45:66 | Arg(1) | 1:r45_14 | +| destructors_for_temps.cpp:45:62:45:66 | CallTarget | func:r45_13 | +| destructors_for_temps.cpp:45:62:45:66 | ChiPartial | partial:m45_15 | +| destructors_for_temps.cpp:45:62:45:66 | ChiTotal | total:m45_10 | +| destructors_for_temps.cpp:45:62:45:66 | SideEffect | ~m45_10 | +| destructors_for_temps.cpp:47:1:47:1 | Address | &:r47_2 | +| destructors_for_temps.cpp:47:1:47:1 | Address | &:r47_2 | +| destructors_for_temps.cpp:47:1:47:1 | Arg(this) | this:r47_2 | +| destructors_for_temps.cpp:47:1:47:1 | CallTarget | func:r47_3 | +| destructors_for_temps.cpp:47:1:47:1 | ChiPartial | partial:m47_5 | +| destructors_for_temps.cpp:47:1:47:1 | ChiPartial | partial:m47_8 | +| destructors_for_temps.cpp:47:1:47:1 | ChiTotal | total:m43_6 | +| destructors_for_temps.cpp:47:1:47:1 | ChiTotal | total:m43_8 | +| destructors_for_temps.cpp:47:1:47:1 | SideEffect | m43_8 | +| destructors_for_temps.cpp:47:1:47:1 | SideEffect | ~m43_6 | +| destructors_for_temps.cpp:49:6:49:15 | ChiPartial | partial:m49_3 | +| destructors_for_temps.cpp:49:6:49:15 | ChiTotal | total:m49_2 | +| destructors_for_temps.cpp:49:6:49:15 | Phi | from 2:~m51_26 | +| destructors_for_temps.cpp:49:6:49:15 | Phi | from 4:~m52_6 | +| destructors_for_temps.cpp:49:6:49:15 | SideEffect | ~m49_7 | +| destructors_for_temps.cpp:49:22:49:22 | Address | &:r49_5 | +| destructors_for_temps.cpp:50:26:50:26 | Address | &:r50_1 | +| destructors_for_temps.cpp:50:26:50:26 | Address | &:r50_1 | +| destructors_for_temps.cpp:50:26:50:26 | Arg(this) | this:r50_1 | +| destructors_for_temps.cpp:50:26:50:26 | CallTarget | func:r50_3 | +| destructors_for_temps.cpp:50:26:50:26 | ChiPartial | partial:m50_5 | +| destructors_for_temps.cpp:50:26:50:26 | ChiPartial | partial:m50_7 | +| destructors_for_temps.cpp:50:26:50:26 | ChiTotal | total:m49_4 | +| destructors_for_temps.cpp:50:26:50:26 | ChiTotal | total:m50_2 | +| destructors_for_temps.cpp:50:26:50:26 | SideEffect | ~m49_4 | +| destructors_for_temps.cpp:51:5:51:5 | Address | &:r51_2 | +| destructors_for_temps.cpp:51:5:51:5 | Address | &:r51_39 | +| destructors_for_temps.cpp:51:5:51:5 | Address | &:r51_41 | +| destructors_for_temps.cpp:51:5:51:5 | Condition | r51_3 | +| destructors_for_temps.cpp:51:5:51:5 | Load | m49_6 | +| destructors_for_temps.cpp:51:5:51:5 | Load | m51_40 | +| destructors_for_temps.cpp:51:5:51:5 | StoreValue | r51_42 | +| destructors_for_temps.cpp:51:5:51:96 | Address | &:r51_1 | +| destructors_for_temps.cpp:51:9:51:71 | Address | &:r51_5 | +| destructors_for_temps.cpp:51:9:51:71 | Address | &:r51_5 | +| destructors_for_temps.cpp:51:9:51:71 | Address | &:r51_5 | +| destructors_for_temps.cpp:51:9:51:71 | Arg(this) | this:r51_5 | +| destructors_for_temps.cpp:51:9:51:71 | CallTarget | func:r51_7 | +| destructors_for_temps.cpp:51:9:51:71 | ChiPartial | partial:m51_25 | +| destructors_for_temps.cpp:51:9:51:71 | ChiPartial | partial:m51_27 | +| destructors_for_temps.cpp:51:9:51:71 | ChiTotal | total:m51_6 | +| destructors_for_temps.cpp:51:9:51:71 | ChiTotal | total:m51_20 | +| destructors_for_temps.cpp:51:9:51:71 | Load | m51_28 | +| destructors_for_temps.cpp:51:9:51:71 | SideEffect | ~m51_20 | +| destructors_for_temps.cpp:51:36:51:38 | Arg(0) | 0:r51_8 | +| destructors_for_temps.cpp:51:41:51:62 | Address | &:r51_9 | +| destructors_for_temps.cpp:51:41:51:62 | Address | &:r51_9 | +| destructors_for_temps.cpp:51:41:51:62 | Address | &:r51_9 | +| destructors_for_temps.cpp:51:41:51:62 | Address | &:r51_9 | +| destructors_for_temps.cpp:51:41:51:62 | Arg(this) | this:r51_9 | +| destructors_for_temps.cpp:51:41:51:62 | Arg(this) | this:r51_9 | +| destructors_for_temps.cpp:51:41:51:62 | CallTarget | func:r51_11 | +| destructors_for_temps.cpp:51:41:51:62 | ChiPartial | partial:m51_13 | +| destructors_for_temps.cpp:51:41:51:62 | ChiPartial | partial:m51_15 | +| destructors_for_temps.cpp:51:41:51:62 | ChiPartial | partial:m51_22 | +| destructors_for_temps.cpp:51:41:51:62 | ChiTotal | total:m50_6 | +| destructors_for_temps.cpp:51:41:51:62 | ChiTotal | total:m51_10 | +| destructors_for_temps.cpp:51:41:51:62 | ChiTotal | total:m51_16 | +| destructors_for_temps.cpp:51:41:51:62 | SideEffect | m51_16 | +| destructors_for_temps.cpp:51:41:51:62 | SideEffect | ~m50_6 | +| destructors_for_temps.cpp:51:64:51:68 | Arg(1) | 1:r51_18 | +| destructors_for_temps.cpp:51:64:51:68 | CallTarget | func:r51_17 | +| destructors_for_temps.cpp:51:64:51:68 | ChiPartial | partial:m51_19 | +| destructors_for_temps.cpp:51:64:51:68 | ChiTotal | total:m51_14 | +| destructors_for_temps.cpp:51:64:51:68 | SideEffect | ~m51_14 | +| destructors_for_temps.cpp:51:75:51:96 | Address | &:r51_30 | +| destructors_for_temps.cpp:51:75:51:96 | Address | &:r51_30 | +| destructors_for_temps.cpp:51:75:51:96 | Address | &:r51_30 | +| destructors_for_temps.cpp:51:75:51:96 | Arg(this) | this:r51_30 | +| destructors_for_temps.cpp:51:75:51:96 | CallTarget | func:r51_32 | +| destructors_for_temps.cpp:51:75:51:96 | ChiPartial | partial:m51_34 | +| destructors_for_temps.cpp:51:75:51:96 | ChiPartial | partial:m51_36 | +| destructors_for_temps.cpp:51:75:51:96 | ChiTotal | total:m50_6 | +| destructors_for_temps.cpp:51:75:51:96 | ChiTotal | total:m51_31 | +| destructors_for_temps.cpp:51:75:51:96 | Load | m51_37 | +| destructors_for_temps.cpp:51:75:51:96 | SideEffect | ~m50_6 | +| destructors_for_temps.cpp:51:75:51:96 | StoreValue | r51_38 | +| destructors_for_temps.cpp:52:1:52:1 | Address | &:r52_2 | +| destructors_for_temps.cpp:52:1:52:1 | Address | &:r52_2 | +| destructors_for_temps.cpp:52:1:52:1 | Arg(this) | this:r52_2 | +| destructors_for_temps.cpp:52:1:52:1 | CallTarget | func:r52_3 | +| destructors_for_temps.cpp:52:1:52:1 | ChiPartial | partial:m52_5 | +| destructors_for_temps.cpp:52:1:52:1 | ChiPartial | partial:m52_8 | +| destructors_for_temps.cpp:52:1:52:1 | ChiTotal | total:m50_8 | +| destructors_for_temps.cpp:52:1:52:1 | ChiTotal | total:m51_35 | +| destructors_for_temps.cpp:52:1:52:1 | SideEffect | m50_8 | +| destructors_for_temps.cpp:52:1:52:1 | SideEffect | ~m51_35 | +| destructors_for_temps.cpp:54:6:54:15 | ChiPartial | partial:m54_3 | +| destructors_for_temps.cpp:54:6:54:15 | ChiTotal | total:m54_2 | +| destructors_for_temps.cpp:54:6:54:15 | Phi | from 2:~m55_26 | +| destructors_for_temps.cpp:54:6:54:15 | Phi | from 4:~m55_35 | +| destructors_for_temps.cpp:54:6:54:15 | SideEffect | ~m54_7 | +| destructors_for_temps.cpp:54:22:54:22 | Address | &:r54_5 | +| destructors_for_temps.cpp:55:5:55:5 | Address | &:r55_2 | +| destructors_for_temps.cpp:55:5:55:5 | Address | &:r55_39 | +| destructors_for_temps.cpp:55:5:55:5 | Address | &:r55_41 | +| destructors_for_temps.cpp:55:5:55:5 | Condition | r55_3 | +| destructors_for_temps.cpp:55:5:55:5 | Load | m54_6 | +| destructors_for_temps.cpp:55:5:55:5 | Load | m55_40 | +| destructors_for_temps.cpp:55:5:55:5 | StoreValue | r55_42 | +| destructors_for_temps.cpp:55:5:55:96 | Address | &:r55_1 | +| destructors_for_temps.cpp:55:9:55:71 | Address | &:r55_5 | +| destructors_for_temps.cpp:55:9:55:71 | Address | &:r55_5 | +| destructors_for_temps.cpp:55:9:55:71 | Address | &:r55_5 | +| destructors_for_temps.cpp:55:9:55:71 | Arg(this) | this:r55_5 | +| destructors_for_temps.cpp:55:9:55:71 | CallTarget | func:r55_7 | +| destructors_for_temps.cpp:55:9:55:71 | ChiPartial | partial:m55_25 | +| destructors_for_temps.cpp:55:9:55:71 | ChiPartial | partial:m55_27 | +| destructors_for_temps.cpp:55:9:55:71 | ChiTotal | total:m55_6 | +| destructors_for_temps.cpp:55:9:55:71 | ChiTotal | total:m55_20 | +| destructors_for_temps.cpp:55:9:55:71 | Load | m55_28 | +| destructors_for_temps.cpp:55:9:55:71 | SideEffect | ~m55_20 | +| destructors_for_temps.cpp:55:36:55:38 | Arg(0) | 0:r55_8 | +| destructors_for_temps.cpp:55:41:55:62 | Address | &:r55_9 | +| destructors_for_temps.cpp:55:41:55:62 | Address | &:r55_9 | +| destructors_for_temps.cpp:55:41:55:62 | Address | &:r55_9 | +| destructors_for_temps.cpp:55:41:55:62 | Address | &:r55_9 | +| destructors_for_temps.cpp:55:41:55:62 | Arg(this) | this:r55_9 | +| destructors_for_temps.cpp:55:41:55:62 | Arg(this) | this:r55_9 | +| destructors_for_temps.cpp:55:41:55:62 | CallTarget | func:r55_11 | +| destructors_for_temps.cpp:55:41:55:62 | ChiPartial | partial:m55_13 | +| destructors_for_temps.cpp:55:41:55:62 | ChiPartial | partial:m55_15 | +| destructors_for_temps.cpp:55:41:55:62 | ChiPartial | partial:m55_22 | +| destructors_for_temps.cpp:55:41:55:62 | ChiTotal | total:m54_4 | +| destructors_for_temps.cpp:55:41:55:62 | ChiTotal | total:m55_10 | +| destructors_for_temps.cpp:55:41:55:62 | ChiTotal | total:m55_16 | +| destructors_for_temps.cpp:55:41:55:62 | SideEffect | m55_16 | +| destructors_for_temps.cpp:55:41:55:62 | SideEffect | ~m54_4 | +| destructors_for_temps.cpp:55:64:55:68 | Arg(1) | 1:r55_18 | +| destructors_for_temps.cpp:55:64:55:68 | CallTarget | func:r55_17 | +| destructors_for_temps.cpp:55:64:55:68 | ChiPartial | partial:m55_19 | +| destructors_for_temps.cpp:55:64:55:68 | ChiTotal | total:m55_14 | +| destructors_for_temps.cpp:55:64:55:68 | SideEffect | ~m55_14 | +| destructors_for_temps.cpp:55:75:55:96 | Address | &:r55_30 | +| destructors_for_temps.cpp:55:75:55:96 | Address | &:r55_30 | +| destructors_for_temps.cpp:55:75:55:96 | Address | &:r55_30 | +| destructors_for_temps.cpp:55:75:55:96 | Arg(this) | this:r55_30 | +| destructors_for_temps.cpp:55:75:55:96 | CallTarget | func:r55_32 | +| destructors_for_temps.cpp:55:75:55:96 | ChiPartial | partial:m55_34 | +| destructors_for_temps.cpp:55:75:55:96 | ChiPartial | partial:m55_36 | +| destructors_for_temps.cpp:55:75:55:96 | ChiTotal | total:m54_4 | +| destructors_for_temps.cpp:55:75:55:96 | ChiTotal | total:m55_31 | +| destructors_for_temps.cpp:55:75:55:96 | Load | m55_37 | +| destructors_for_temps.cpp:55:75:55:96 | SideEffect | ~m54_4 | +| destructors_for_temps.cpp:55:75:55:96 | StoreValue | r55_38 | +| file://:0:0:0:0 | Address | &:r0_1 | +| file://:0:0:0:0 | Address | &:r0_1 | | file://:0:0:0:0 | Address | &:r0_1 | | file://:0:0:0:0 | Address | &:r0_1 | | file://:0:0:0:0 | Address | &:r0_1 | @@ -693,6 +1127,9 @@ | file://:0:0:0:0 | Address | &:r0_2 | | file://:0:0:0:0 | Address | &:r0_2 | | file://:0:0:0:0 | Address | &:r0_2 | +| file://:0:0:0:0 | Address | &:r0_2 | +| file://:0:0:0:0 | Address | &:r0_3 | +| file://:0:0:0:0 | Address | &:r0_3 | | file://:0:0:0:0 | Address | &:r0_3 | | file://:0:0:0:0 | Address | &:r0_3 | | file://:0:0:0:0 | Address | &:r0_3 | @@ -740,6 +1177,10 @@ | file://:0:0:0:0 | Address | &:r0_5 | | file://:0:0:0:0 | Address | &:r0_5 | | file://:0:0:0:0 | Address | &:r0_5 | +| file://:0:0:0:0 | Address | &:r0_5 | +| file://:0:0:0:0 | Address | &:r0_6 | +| file://:0:0:0:0 | Address | &:r0_6 | +| file://:0:0:0:0 | Address | &:r0_6 | | file://:0:0:0:0 | Address | &:r0_6 | | file://:0:0:0:0 | Address | &:r0_6 | | file://:0:0:0:0 | Address | &:r0_7 | @@ -755,8 +1196,15 @@ | file://:0:0:0:0 | Address | &:r0_8 | | file://:0:0:0:0 | Address | &:r0_8 | | file://:0:0:0:0 | Address | &:r0_8 | -| file://:0:0:0:0 | Address | &:r0_9 | -| file://:0:0:0:0 | Address | &:r0_9 | +| file://:0:0:0:0 | Address | &:r0_8 | +| file://:0:0:0:0 | Address | &:r0_8 | +| file://:0:0:0:0 | Address | &:r0_8 | +| file://:0:0:0:0 | Address | &:r0_8 | +| file://:0:0:0:0 | Address | &:r0_8 | +| file://:0:0:0:0 | Address | &:r0_8 | +| file://:0:0:0:0 | Address | &:r0_8 | +| file://:0:0:0:0 | Address | &:r0_8 | +| file://:0:0:0:0 | Address | &:r0_8 | | file://:0:0:0:0 | Address | &:r0_9 | | file://:0:0:0:0 | Address | &:r0_9 | | file://:0:0:0:0 | Address | &:r0_10 | @@ -765,7 +1213,8 @@ | file://:0:0:0:0 | Address | &:r0_11 | | file://:0:0:0:0 | Address | &:r0_11 | | file://:0:0:0:0 | Address | &:r0_11 | -| file://:0:0:0:0 | Address | &:r0_12 | +| file://:0:0:0:0 | Address | &:r0_11 | +| file://:0:0:0:0 | Address | &:r0_11 | | file://:0:0:0:0 | Address | &:r0_13 | | file://:0:0:0:0 | Address | &:r0_13 | | file://:0:0:0:0 | Address | &:r0_13 | @@ -774,6 +1223,8 @@ | file://:0:0:0:0 | Address | &:r0_15 | | file://:0:0:0:0 | Address | &:r0_15 | | file://:0:0:0:0 | Address | &:r0_15 | +| file://:0:0:0:0 | Address | &:r0_15 | +| file://:0:0:0:0 | Address | &:r0_15 | | file://:0:0:0:0 | Address | &:r0_16 | | file://:0:0:0:0 | Address | &:r0_16 | | file://:0:0:0:0 | Address | &:r0_16 | @@ -782,23 +1233,60 @@ | file://:0:0:0:0 | Address | &:r0_17 | | file://:0:0:0:0 | Address | &:r0_18 | | file://:0:0:0:0 | Address | &:r0_18 | +| file://:0:0:0:0 | Address | &:r0_18 | | file://:0:0:0:0 | Address | &:r0_19 | | file://:0:0:0:0 | Address | &:r0_19 | | file://:0:0:0:0 | Address | &:r0_19 | -| file://:0:0:0:0 | Address | &:r0_22 | -| file://:0:0:0:0 | Address | &:r0_25 | +| file://:0:0:0:0 | Address | &:r0_20 | +| file://:0:0:0:0 | Address | &:r0_20 | +| file://:0:0:0:0 | Address | &:r0_20 | +| file://:0:0:0:0 | Address | &:r0_21 | +| file://:0:0:0:0 | Address | &:r0_23 | +| file://:0:0:0:0 | Address | &:r0_23 | +| file://:0:0:0:0 | Address | &:r0_24 | +| file://:0:0:0:0 | Address | &:r0_24 | +| file://:0:0:0:0 | Address | &:r0_24 | | file://:0:0:0:0 | Address | &:r0_27 | -| file://:0:0:0:0 | Address | &:r0_29 | -| file://:0:0:0:0 | Address | &:r0_32 | -| file://:0:0:0:0 | Address | &:r0_35 | +| file://:0:0:0:0 | Address | &:r0_27 | +| file://:0:0:0:0 | Address | &:r0_31 | +| file://:0:0:0:0 | Address | &:r0_34 | | file://:0:0:0:0 | Address | &:r0_37 | | file://:0:0:0:0 | Address | &:r0_39 | +| file://:0:0:0:0 | Address | &:r0_40 | +| file://:0:0:0:0 | Address | &:r0_40 | +| file://:0:0:0:0 | Address | &:r0_40 | +| file://:0:0:0:0 | Address | &:r0_43 | +| file://:0:0:0:0 | Address | &:r0_47 | +| file://:0:0:0:0 | Address | &:r0_50 | +| file://:0:0:0:0 | Address | &:r0_53 | +| file://:0:0:0:0 | Address | &:r0_55 | +| file://:0:0:0:0 | Address | &:r0_56 | +| file://:0:0:0:0 | Address | &:r0_56 | +| file://:0:0:0:0 | Address | &:r0_56 | +| file://:0:0:0:0 | Address | &:r0_59 | +| file://:0:0:0:0 | Address | &:r0_63 | | file://:0:0:0:0 | Arg(0) | 0:r0_6 | | file://:0:0:0:0 | Arg(0) | 0:r0_8 | | file://:0:0:0:0 | Arg(0) | 0:r0_8 | | file://:0:0:0:0 | Arg(0) | 0:r0_8 | +| file://:0:0:0:0 | Arg(0) | 0:r0_9 | +| file://:0:0:0:0 | Arg(0) | 0:r0_11 | +| file://:0:0:0:0 | Arg(0) | 0:r0_11 | +| file://:0:0:0:0 | Arg(0) | 0:r0_11 | +| file://:0:0:0:0 | Arg(0) | 0:r0_11 | +| file://:0:0:0:0 | Arg(0) | 0:r0_13 | +| file://:0:0:0:0 | Arg(0) | 0:r0_13 | +| file://:0:0:0:0 | Arg(0) | 0:r0_13 | | file://:0:0:0:0 | Arg(0) | 0:r0_15 | | file://:0:0:0:0 | Arg(0) | 0:r0_15 | +| file://:0:0:0:0 | Arg(0) | 0:r0_23 | +| file://:0:0:0:0 | Arg(0) | 0:r0_25 | +| file://:0:0:0:0 | Arg(0) | 0:r0_27 | +| file://:0:0:0:0 | Arg(0) | 0:r0_29 | +| file://:0:0:0:0 | Arg(0) | 0:r0_43 | +| file://:0:0:0:0 | Arg(0) | 0:r0_45 | +| file://:0:0:0:0 | Arg(0) | 0:r0_59 | +| file://:0:0:0:0 | Arg(0) | 0:r0_61 | | file://:0:0:0:0 | CallTarget | func:r0_1 | | file://:0:0:0:0 | CallTarget | func:r0_1 | | file://:0:0:0:0 | CallTarget | func:r0_1 | @@ -830,15 +1318,15 @@ | file://:0:0:0:0 | ChiTotal | total:m754_8 | | file://:0:0:0:0 | ChiTotal | total:m763_8 | | file://:0:0:0:0 | ChiTotal | total:m1043_10 | -| file://:0:0:0:0 | ChiTotal | total:m1242_4 | -| file://:0:0:0:0 | ChiTotal | total:m1690_3 | -| file://:0:0:0:0 | ChiTotal | total:m1718_8 | -| file://:0:0:0:0 | ChiTotal | total:m1718_19 | -| file://:0:0:0:0 | ChiTotal | total:m1836_8 | -| file://:0:0:0:0 | ChiTotal | total:m1841_8 | -| file://:0:0:0:0 | ChiTotal | total:m2175_6 | -| file://:0:0:0:0 | ChiTotal | total:m2179_4 | -| file://:0:0:0:0 | ChiTotal | total:m2186_6 | +| file://:0:0:0:0 | ChiTotal | total:m1289_4 | +| file://:0:0:0:0 | ChiTotal | total:m1737_3 | +| file://:0:0:0:0 | ChiTotal | total:m1765_8 | +| file://:0:0:0:0 | ChiTotal | total:m1765_19 | +| file://:0:0:0:0 | ChiTotal | total:m1883_8 | +| file://:0:0:0:0 | ChiTotal | total:m1888_8 | +| file://:0:0:0:0 | ChiTotal | total:m2222_6 | +| file://:0:0:0:0 | ChiTotal | total:m2226_4 | +| file://:0:0:0:0 | ChiTotal | total:m2233_6 | | file://:0:0:0:0 | Left | r0_2 | | file://:0:0:0:0 | Left | r0_4 | | file://:0:0:0:0 | Left | r0_7 | @@ -861,6 +1349,7 @@ | file://:0:0:0:0 | Load | m0_2 | | file://:0:0:0:0 | Load | m0_2 | | file://:0:0:0:0 | Load | m0_2 | +| file://:0:0:0:0 | Load | m0_2 | | file://:0:0:0:0 | Load | m0_5 | | file://:0:0:0:0 | Load | m0_8 | | file://:0:0:0:0 | Load | m0_11 | @@ -869,18 +1358,26 @@ | file://:0:0:0:0 | Load | m745_6 | | file://:0:0:0:0 | Load | m754_6 | | file://:0:0:0:0 | Load | m763_6 | -| file://:0:0:0:0 | Load | m1468_4 | -| file://:0:0:0:0 | Load | m1468_4 | -| file://:0:0:0:0 | Load | m1687_9 | -| file://:0:0:0:0 | Load | m1716_4 | -| file://:0:0:0:0 | Load | m1836_6 | -| file://:0:0:0:0 | Load | m1836_6 | -| file://:0:0:0:0 | Load | m1841_6 | -| file://:0:0:0:0 | Load | m2015_6 | +| file://:0:0:0:0 | Load | m1127_29 | +| file://:0:0:0:0 | Load | m1133_29 | +| file://:0:0:0:0 | Load | m1515_4 | +| file://:0:0:0:0 | Load | m1515_4 | +| file://:0:0:0:0 | Load | m1734_9 | +| file://:0:0:0:0 | Load | m1763_4 | +| file://:0:0:0:0 | Load | m1883_6 | +| file://:0:0:0:0 | Load | m1883_6 | +| file://:0:0:0:0 | Load | m1888_6 | +| file://:0:0:0:0 | Load | m2062_6 | +| file://:0:0:0:0 | Load | m2201_40 | +| file://:0:0:0:0 | Load | m2204_40 | +| file://:0:0:0:0 | Load | m2210_36 | +| file://:0:0:0:0 | Load | m2215_40 | +| file://:0:0:0:0 | Load | m2293_46 | +| file://:0:0:0:0 | Load | m2416_53 | | file://:0:0:0:0 | Load | ~m0_4 | -| file://:0:0:0:0 | Load | ~m1446_6 | -| file://:0:0:0:0 | Load | ~m1714_10 | -| file://:0:0:0:0 | Load | ~m1714_14 | +| file://:0:0:0:0 | Load | ~m1493_6 | +| file://:0:0:0:0 | Load | ~m1761_10 | +| file://:0:0:0:0 | Load | ~m1761_14 | | file://:0:0:0:0 | Right | r0_3 | | file://:0:0:0:0 | Right | r0_5 | | file://:0:0:0:0 | Right | r0_8 | @@ -900,31 +1397,36 @@ | file://:0:0:0:0 | SideEffect | m0_4 | | file://:0:0:0:0 | SideEffect | m0_4 | | file://:0:0:0:0 | SideEffect | m0_4 | +| file://:0:0:0:0 | SideEffect | m0_4 | | file://:0:0:0:0 | SideEffect | m0_14 | -| file://:0:0:0:0 | SideEffect | m1080_23 | -| file://:0:0:0:0 | SideEffect | m1080_23 | -| file://:0:0:0:0 | SideEffect | m1086_23 | -| file://:0:0:0:0 | SideEffect | m1086_23 | -| file://:0:0:0:0 | SideEffect | m2154_13 | -| file://:0:0:0:0 | SideEffect | m2154_13 | -| file://:0:0:0:0 | SideEffect | m2154_34 | -| file://:0:0:0:0 | SideEffect | m2154_34 | -| file://:0:0:0:0 | SideEffect | m2157_13 | -| file://:0:0:0:0 | SideEffect | m2157_13 | -| file://:0:0:0:0 | SideEffect | m2157_34 | -| file://:0:0:0:0 | SideEffect | m2157_34 | -| file://:0:0:0:0 | SideEffect | m2163_9 | -| file://:0:0:0:0 | SideEffect | m2163_9 | -| file://:0:0:0:0 | SideEffect | m2163_30 | -| file://:0:0:0:0 | SideEffect | m2163_30 | -| file://:0:0:0:0 | SideEffect | m2168_13 | -| file://:0:0:0:0 | SideEffect | m2168_13 | -| file://:0:0:0:0 | SideEffect | m2168_34 | -| file://:0:0:0:0 | SideEffect | m2168_34 | -| file://:0:0:0:0 | SideEffect | m2246_21 | -| file://:0:0:0:0 | SideEffect | m2246_21 | -| file://:0:0:0:0 | SideEffect | m2246_40 | -| file://:0:0:0:0 | SideEffect | m2246_40 | +| file://:0:0:0:0 | SideEffect | m1127_19 | +| file://:0:0:0:0 | SideEffect | m1127_19 | +| file://:0:0:0:0 | SideEffect | m1133_19 | +| file://:0:0:0:0 | SideEffect | m1133_19 | +| file://:0:0:0:0 | SideEffect | m2201_13 | +| file://:0:0:0:0 | SideEffect | m2201_13 | +| file://:0:0:0:0 | SideEffect | m2201_30 | +| file://:0:0:0:0 | SideEffect | m2201_30 | +| file://:0:0:0:0 | SideEffect | m2204_13 | +| file://:0:0:0:0 | SideEffect | m2204_13 | +| file://:0:0:0:0 | SideEffect | m2204_30 | +| file://:0:0:0:0 | SideEffect | m2204_30 | +| file://:0:0:0:0 | SideEffect | m2210_9 | +| file://:0:0:0:0 | SideEffect | m2210_9 | +| file://:0:0:0:0 | SideEffect | m2210_26 | +| file://:0:0:0:0 | SideEffect | m2210_26 | +| file://:0:0:0:0 | SideEffect | m2215_13 | +| file://:0:0:0:0 | SideEffect | m2215_13 | +| file://:0:0:0:0 | SideEffect | m2215_30 | +| file://:0:0:0:0 | SideEffect | m2215_30 | +| file://:0:0:0:0 | SideEffect | m2293_21 | +| file://:0:0:0:0 | SideEffect | m2293_21 | +| file://:0:0:0:0 | SideEffect | m2293_36 | +| file://:0:0:0:0 | SideEffect | m2293_36 | +| file://:0:0:0:0 | SideEffect | m2416_28 | +| file://:0:0:0:0 | SideEffect | m2416_28 | +| file://:0:0:0:0 | SideEffect | m2416_43 | +| file://:0:0:0:0 | SideEffect | m2416_43 | | file://:0:0:0:0 | SideEffect | ~m0_4 | | file://:0:0:0:0 | SideEffect | ~m0_4 | | file://:0:0:0:0 | SideEffect | ~m0_4 | @@ -934,16 +1436,24 @@ | file://:0:0:0:0 | SideEffect | ~m96_8 | | file://:0:0:0:0 | SideEffect | ~m754_8 | | file://:0:0:0:0 | SideEffect | ~m763_8 | -| file://:0:0:0:0 | SideEffect | ~m1079_8 | -| file://:0:0:0:0 | SideEffect | ~m1079_8 | -| file://:0:0:0:0 | SideEffect | ~m1079_8 | -| file://:0:0:0:0 | SideEffect | ~m1079_8 | -| file://:0:0:0:0 | SideEffect | ~m1242_4 | -| file://:0:0:0:0 | SideEffect | ~m1449_6 | -| file://:0:0:0:0 | SideEffect | ~m1841_8 | -| file://:0:0:0:0 | SideEffect | ~m2175_6 | -| file://:0:0:0:0 | SideEffect | ~m2179_4 | -| file://:0:0:0:0 | SideEffect | ~m2186_6 | +| file://:0:0:0:0 | SideEffect | ~m1126_8 | +| file://:0:0:0:0 | SideEffect | ~m1126_8 | +| file://:0:0:0:0 | SideEffect | ~m1126_8 | +| file://:0:0:0:0 | SideEffect | ~m1126_8 | +| file://:0:0:0:0 | SideEffect | ~m1127_18 | +| file://:0:0:0:0 | SideEffect | ~m1133_18 | +| file://:0:0:0:0 | SideEffect | ~m1289_4 | +| file://:0:0:0:0 | SideEffect | ~m1496_6 | +| file://:0:0:0:0 | SideEffect | ~m1888_8 | +| file://:0:0:0:0 | SideEffect | ~m2201_29 | +| file://:0:0:0:0 | SideEffect | ~m2204_29 | +| file://:0:0:0:0 | SideEffect | ~m2210_25 | +| file://:0:0:0:0 | SideEffect | ~m2215_29 | +| file://:0:0:0:0 | SideEffect | ~m2222_6 | +| file://:0:0:0:0 | SideEffect | ~m2226_4 | +| file://:0:0:0:0 | SideEffect | ~m2233_6 | +| file://:0:0:0:0 | SideEffect | ~m2293_35 | +| file://:0:0:0:0 | SideEffect | ~m2416_42 | | file://:0:0:0:0 | StoreValue | r0_1 | | file://:0:0:0:0 | StoreValue | r0_1 | | file://:0:0:0:0 | StoreValue | r0_1 | @@ -975,10 +1485,12 @@ | file://:0:0:0:0 | Unary | r0_1 | | file://:0:0:0:0 | Unary | r0_1 | | file://:0:0:0:0 | Unary | r0_1 | +| file://:0:0:0:0 | Unary | r0_1 | | file://:0:0:0:0 | Unary | r0_2 | | file://:0:0:0:0 | Unary | r0_3 | | file://:0:0:0:0 | Unary | r0_4 | | file://:0:0:0:0 | Unary | r0_4 | +| file://:0:0:0:0 | Unary | r0_4 | | file://:0:0:0:0 | Unary | r0_5 | | file://:0:0:0:0 | Unary | r0_5 | | file://:0:0:0:0 | Unary | r0_6 | @@ -994,30 +1506,38 @@ | file://:0:0:0:0 | Unary | r0_7 | | file://:0:0:0:0 | Unary | r0_8 | | file://:0:0:0:0 | Unary | r0_8 | +| file://:0:0:0:0 | Unary | r0_8 | | file://:0:0:0:0 | Unary | r0_9 | | file://:0:0:0:0 | Unary | r0_9 | | file://:0:0:0:0 | Unary | r0_9 | | file://:0:0:0:0 | Unary | r0_10 | | file://:0:0:0:0 | Unary | r0_10 | | file://:0:0:0:0 | Unary | r0_10 | -| file://:0:0:0:0 | Unary | r0_11 | +| file://:0:0:0:0 | Unary | r0_10 | +| file://:0:0:0:0 | Unary | r0_10 | +| file://:0:0:0:0 | Unary | r0_10 | | file://:0:0:0:0 | Unary | r0_11 | | file://:0:0:0:0 | Unary | r0_12 | | file://:0:0:0:0 | Unary | r0_14 | | file://:0:0:0:0 | Unary | r0_14 | -| file://:0:0:0:0 | Unary | r0_14 | +| file://:0:0:0:0 | Unary | r0_17 | | file://:0:0:0:0 | Unary | r0_17 | | file://:0:0:0:0 | Unary | r0_18 | | file://:0:0:0:0 | Unary | r0_18 | | file://:0:0:0:0 | Unary | r0_19 | | file://:0:0:0:0 | Unary | r0_20 | | file://:0:0:0:0 | Unary | r0_20 | +| file://:0:0:0:0 | Unary | r0_20 | | file://:0:0:0:0 | Unary | r0_21 | | file://:0:0:0:0 | Unary | r0_21 | -| file://:0:0:0:0 | Unary | r0_21 | -| file://:0:0:0:0 | Unary | r0_24 | -| file://:0:0:0:0 | Unary | r0_31 | -| file://:0:0:0:0 | Unary | r0_34 | +| file://:0:0:0:0 | Unary | r0_22 | +| file://:0:0:0:0 | Unary | r0_26 | +| file://:0:0:0:0 | Unary | r0_33 | +| file://:0:0:0:0 | Unary | r0_36 | +| file://:0:0:0:0 | Unary | r0_42 | +| file://:0:0:0:0 | Unary | r0_49 | +| file://:0:0:0:0 | Unary | r0_52 | +| file://:0:0:0:0 | Unary | r0_58 | | ir.c:7:6:7:17 | ChiPartial | partial:m7_3 | | ir.c:7:6:7:17 | ChiTotal | total:m7_2 | | ir.c:7:6:7:17 | SideEffect | ~m10_6 | @@ -5709,6333 +6229,6602 @@ | ir.cpp:1056:1:1056:1 | SideEffect | m1049_12 | | ir.cpp:1056:1:1056:1 | SideEffect | ~m1055_7 | | ir.cpp:1056:1:1056:1 | SideEffect | ~m1056_6 | -| ir.cpp:1079:6:1079:18 | ChiPartial | partial:m1079_3 | -| ir.cpp:1079:6:1079:18 | ChiTotal | total:m1079_2 | -| ir.cpp:1079:6:1079:18 | SideEffect | ~m1090_1 | -| ir.cpp:1079:39:1079:39 | Address | &:r1079_5 | -| ir.cpp:1079:39:1079:39 | Address | &:r1079_5 | -| ir.cpp:1079:39:1079:39 | Address | &:r1079_7 | -| ir.cpp:1079:39:1079:39 | Address | &:r1079_7 | -| ir.cpp:1079:39:1079:39 | Load | m1079_6 | -| ir.cpp:1079:39:1079:39 | SideEffect | m1079_8 | -| ir.cpp:1080:5:1080:5 | Address | &:r1080_1 | -| ir.cpp:1080:5:1080:5 | Address | &:r1080_7 | -| ir.cpp:1080:5:1080:5 | Address | &:r1080_15 | -| ir.cpp:1080:14:1080:14 | Address | &:r1080_33 | -| ir.cpp:1080:18:1080:18 | Address | &:r1080_2 | -| ir.cpp:1080:18:1080:18 | Address | &:r1080_8 | -| ir.cpp:1080:18:1080:18 | Address | &:r1080_16 | -| ir.cpp:1080:18:1080:18 | Address | &:r1080_27 | -| ir.cpp:1080:18:1080:18 | Address | &:r1080_36 | -| ir.cpp:1080:18:1080:18 | Address | &:r1080_42 | -| ir.cpp:1080:18:1080:18 | Address | &:r1080_42 | -| ir.cpp:1080:18:1080:18 | Arg(0) | 0:r1080_28 | -| ir.cpp:1080:18:1080:18 | Arg(this) | this:r0_1 | -| ir.cpp:1080:18:1080:18 | Arg(this) | this:r0_3 | -| ir.cpp:1080:18:1080:18 | Arg(this) | this:r0_5 | -| ir.cpp:1080:18:1080:18 | Arg(this) | this:r0_7 | -| ir.cpp:1080:18:1080:18 | Arg(this) | this:r1080_42 | -| ir.cpp:1080:18:1080:18 | CallTarget | func:r1080_10 | -| ir.cpp:1080:18:1080:18 | CallTarget | func:r1080_18 | -| ir.cpp:1080:18:1080:18 | CallTarget | func:r1080_26 | -| ir.cpp:1080:18:1080:18 | CallTarget | func:r1080_35 | -| ir.cpp:1080:18:1080:18 | CallTarget | func:r1080_43 | -| ir.cpp:1080:18:1080:18 | ChiPartial | partial:m1080_12 | -| ir.cpp:1080:18:1080:18 | ChiPartial | partial:m1080_20 | -| ir.cpp:1080:18:1080:18 | ChiPartial | partial:m1080_30 | -| ir.cpp:1080:18:1080:18 | ChiPartial | partial:m1080_37 | -| ir.cpp:1080:18:1080:18 | ChiPartial | partial:m1080_45 | -| ir.cpp:1080:18:1080:18 | ChiPartial | partial:m1080_48 | -| ir.cpp:1080:18:1080:18 | ChiTotal | total:m1079_4 | -| ir.cpp:1080:18:1080:18 | ChiTotal | total:m1080_13 | -| ir.cpp:1080:18:1080:18 | ChiTotal | total:m1080_23 | -| ir.cpp:1080:18:1080:18 | ChiTotal | total:m1080_24 | -| ir.cpp:1080:18:1080:18 | ChiTotal | total:m1080_31 | -| ir.cpp:1080:18:1080:18 | ChiTotal | total:m1080_38 | -| ir.cpp:1080:18:1080:18 | Condition | r1080_29 | -| ir.cpp:1080:18:1080:18 | Load | m1079_6 | -| ir.cpp:1080:18:1080:18 | Load | m1080_6 | -| ir.cpp:1080:18:1080:18 | Load | m1080_6 | -| ir.cpp:1080:18:1080:18 | Load | m1080_22 | -| ir.cpp:1080:18:1080:18 | Phi | from 0:m1080_14 | -| ir.cpp:1080:18:1080:18 | Phi | from 0:~m1080_21 | -| ir.cpp:1080:18:1080:18 | Phi | from 4:m1080_49 | -| ir.cpp:1080:18:1080:18 | Phi | from 4:~m1080_46 | -| ir.cpp:1080:18:1080:18 | SideEffect | m1080_23 | -| ir.cpp:1080:18:1080:18 | SideEffect | ~m1079_4 | -| ir.cpp:1080:18:1080:18 | SideEffect | ~m1080_13 | -| ir.cpp:1080:18:1080:18 | SideEffect | ~m1080_24 | -| ir.cpp:1080:18:1080:18 | SideEffect | ~m1080_31 | -| ir.cpp:1080:18:1080:18 | SideEffect | ~m1080_38 | -| ir.cpp:1080:18:1080:18 | StoreValue | r1080_5 | -| ir.cpp:1080:18:1080:18 | StoreValue | r1080_11 | -| ir.cpp:1080:18:1080:18 | StoreValue | r1080_19 | -| ir.cpp:1080:18:1080:18 | Unary | r1080_3 | -| ir.cpp:1080:18:1080:18 | Unary | r1080_4 | -| ir.cpp:1080:18:1080:18 | Unary | r1080_9 | -| ir.cpp:1080:18:1080:18 | Unary | r1080_17 | -| ir.cpp:1080:18:1080:18 | Unary | r1080_25 | -| ir.cpp:1080:18:1080:18 | Unary | r1080_34 | -| ir.cpp:1080:18:1080:18 | Unary | r1080_44 | -| ir.cpp:1080:18:1080:19 | Load | ~m1080_38 | -| ir.cpp:1080:18:1080:19 | StoreValue | r1080_39 | -| ir.cpp:1081:13:1081:13 | Address | &:r1081_1 | -| ir.cpp:1081:13:1081:13 | Left | r1081_2 | -| ir.cpp:1081:13:1081:13 | Load | m1080_40 | -| ir.cpp:1081:13:1081:17 | Condition | r1081_4 | -| ir.cpp:1081:17:1081:17 | Right | r1081_3 | -| ir.cpp:1086:5:1086:5 | Address | &:r1086_1 | -| ir.cpp:1086:5:1086:5 | Address | &:r1086_7 | -| ir.cpp:1086:5:1086:5 | Address | &:r1086_15 | -| ir.cpp:1086:21:1086:21 | Address | &:r1086_42 | -| ir.cpp:1086:25:1086:25 | Address | &:r1086_2 | -| ir.cpp:1086:25:1086:25 | Address | &:r1086_8 | -| ir.cpp:1086:25:1086:25 | Address | &:r1086_16 | -| ir.cpp:1086:25:1086:25 | Address | &:r1086_27 | -| ir.cpp:1086:25:1086:25 | Address | &:r1086_33 | -| ir.cpp:1086:25:1086:25 | Address | &:r1086_33 | -| ir.cpp:1086:25:1086:25 | Arg(0) | 0:r1086_28 | -| ir.cpp:1086:25:1086:25 | Arg(this) | this:r0_9 | -| ir.cpp:1086:25:1086:25 | Arg(this) | this:r0_11 | -| ir.cpp:1086:25:1086:25 | Arg(this) | this:r0_13 | -| ir.cpp:1086:25:1086:25 | Arg(this) | this:r0_15 | -| ir.cpp:1086:25:1086:25 | Arg(this) | this:r1086_33 | -| ir.cpp:1086:25:1086:25 | CallTarget | func:r1086_10 | -| ir.cpp:1086:25:1086:25 | CallTarget | func:r1086_18 | -| ir.cpp:1086:25:1086:25 | CallTarget | func:r1086_26 | -| ir.cpp:1086:25:1086:25 | CallTarget | func:r1086_34 | -| ir.cpp:1086:25:1086:25 | CallTarget | func:r1086_44 | -| ir.cpp:1086:25:1086:25 | ChiPartial | partial:m1086_12 | -| ir.cpp:1086:25:1086:25 | ChiPartial | partial:m1086_20 | -| ir.cpp:1086:25:1086:25 | ChiPartial | partial:m1086_30 | -| ir.cpp:1086:25:1086:25 | ChiPartial | partial:m1086_36 | -| ir.cpp:1086:25:1086:25 | ChiPartial | partial:m1086_39 | -| ir.cpp:1086:25:1086:25 | ChiPartial | partial:m1086_46 | -| ir.cpp:1086:25:1086:25 | ChiTotal | total:m1080_31 | -| ir.cpp:1086:25:1086:25 | ChiTotal | total:m1086_13 | -| ir.cpp:1086:25:1086:25 | ChiTotal | total:m1086_23 | -| ir.cpp:1086:25:1086:25 | ChiTotal | total:m1086_24 | -| ir.cpp:1086:25:1086:25 | ChiTotal | total:m1086_31 | -| ir.cpp:1086:25:1086:25 | ChiTotal | total:m1086_47 | -| ir.cpp:1086:25:1086:25 | Condition | r1086_29 | -| ir.cpp:1086:25:1086:25 | Load | m1079_6 | -| ir.cpp:1086:25:1086:25 | Load | m1086_6 | -| ir.cpp:1086:25:1086:25 | Load | m1086_6 | -| ir.cpp:1086:25:1086:25 | Load | m1086_22 | -| ir.cpp:1086:25:1086:25 | Phi | from 5:m1086_14 | -| ir.cpp:1086:25:1086:25 | Phi | from 5:~m1086_21 | -| ir.cpp:1086:25:1086:25 | Phi | from 7:m1086_40 | -| ir.cpp:1086:25:1086:25 | Phi | from 7:~m1086_37 | -| ir.cpp:1086:25:1086:25 | SideEffect | m1086_23 | -| ir.cpp:1086:25:1086:25 | SideEffect | ~m1080_31 | -| ir.cpp:1086:25:1086:25 | SideEffect | ~m1086_13 | -| ir.cpp:1086:25:1086:25 | SideEffect | ~m1086_24 | -| ir.cpp:1086:25:1086:25 | SideEffect | ~m1086_31 | -| ir.cpp:1086:25:1086:25 | SideEffect | ~m1086_47 | -| ir.cpp:1086:25:1086:25 | StoreValue | r1086_5 | -| ir.cpp:1086:25:1086:25 | StoreValue | r1086_11 | -| ir.cpp:1086:25:1086:25 | StoreValue | r1086_19 | -| ir.cpp:1086:25:1086:25 | Unary | r1086_3 | -| ir.cpp:1086:25:1086:25 | Unary | r1086_4 | -| ir.cpp:1086:25:1086:25 | Unary | r1086_9 | -| ir.cpp:1086:25:1086:25 | Unary | r1086_17 | -| ir.cpp:1086:25:1086:25 | Unary | r1086_25 | -| ir.cpp:1086:25:1086:25 | Unary | r1086_35 | -| ir.cpp:1086:25:1086:25 | Unary | r1086_43 | -| ir.cpp:1086:25:1086:25 | Unary | r1086_45 | -| ir.cpp:1086:25:1086:26 | StoreValue | r1086_50 | -| ir.cpp:1086:25:1086:26 | Unary | r1086_48 | -| ir.cpp:1086:25:1086:26 | Unary | r1086_49 | -| ir.cpp:1087:13:1087:13 | Address | &:r1087_1 | -| ir.cpp:1087:13:1087:13 | Address | &:r1087_2 | -| ir.cpp:1087:13:1087:13 | Left | r1087_3 | -| ir.cpp:1087:13:1087:13 | Load | m1086_51 | -| ir.cpp:1087:13:1087:13 | Load | ~m1086_47 | -| ir.cpp:1087:13:1087:17 | Condition | r1087_5 | -| ir.cpp:1087:17:1087:17 | Right | r1087_4 | -| ir.cpp:1090:5:1090:5 | Phi | from 6:~m1086_31 | -| ir.cpp:1090:5:1090:5 | Phi | from 9:~m1086_47 | -| ir.cpp:1110:5:1110:11 | Address | &:r1110_7 | -| ir.cpp:1110:5:1110:11 | ChiPartial | partial:m1110_3 | -| ir.cpp:1110:5:1110:11 | ChiTotal | total:m1110_2 | -| ir.cpp:1110:5:1110:11 | Load | m1112_4 | -| ir.cpp:1110:5:1110:11 | SideEffect | ~m1111_2 | -| ir.cpp:1110:17:1110:17 | Address | &:r1110_5 | -| ir.cpp:1111:3:1111:14 | ChiPartial | partial:m1111_1 | -| ir.cpp:1111:3:1111:14 | ChiTotal | total:m1110_4 | -| ir.cpp:1111:3:1111:14 | SideEffect | ~m1110_4 | -| ir.cpp:1112:3:1112:11 | Address | &:r1112_1 | -| ir.cpp:1112:10:1112:10 | Address | &:r1112_2 | -| ir.cpp:1112:10:1112:10 | Load | m1110_6 | -| ir.cpp:1112:10:1112:10 | StoreValue | r1112_3 | -| ir.cpp:1115:13:1115:30 | ChiPartial | partial:m1115_3 | -| ir.cpp:1115:13:1115:30 | ChiTotal | total:m1115_2 | -| ir.cpp:1115:13:1115:30 | SideEffect | ~m1117_2 | -| ir.cpp:1115:46:1115:46 | Address | &:r1115_5 | -| ir.cpp:1115:46:1115:46 | Address | &:r1115_5 | -| ir.cpp:1115:46:1115:46 | Address | &:r1115_7 | -| ir.cpp:1115:46:1115:46 | Address | &:r1115_7 | -| ir.cpp:1115:46:1115:46 | Load | m1115_6 | -| ir.cpp:1115:46:1115:46 | SideEffect | m1115_8 | -| ir.cpp:1115:62:1115:62 | Address | &:r1115_9 | -| ir.cpp:1115:79:1115:79 | Address | &:r1115_11 | -| ir.cpp:1115:79:1115:79 | Address | &:r1115_11 | -| ir.cpp:1115:79:1115:79 | Address | &:r1115_13 | -| ir.cpp:1115:79:1115:79 | Address | &:r1115_13 | -| ir.cpp:1115:79:1115:79 | Load | m1115_12 | -| ir.cpp:1115:79:1115:79 | SideEffect | m1115_14 | -| ir.cpp:1115:95:1115:95 | Address | &:r1115_15 | -| ir.cpp:1117:3:1121:6 | ChiPartial | partial:m1117_1 | -| ir.cpp:1117:3:1121:6 | ChiTotal | total:m1115_4 | -| ir.cpp:1117:3:1121:6 | SideEffect | ~m1115_4 | -| ir.cpp:1120:13:1120:13 | Address | &:r1120_1 | -| ir.cpp:1120:13:1120:13 | AsmOperand(0) | 0:r1120_3 | -| ir.cpp:1120:13:1120:13 | Load | m1115_6 | -| ir.cpp:1120:13:1120:13 | Unary | r1120_2 | -| ir.cpp:1120:23:1120:23 | AsmOperand(1) | 1:r1120_4 | -| ir.cpp:1120:33:1120:33 | Address | &:r1120_5 | -| ir.cpp:1120:33:1120:33 | Address | &:r1120_6 | -| ir.cpp:1120:33:1120:33 | AsmOperand(2) | 2:r1120_7 | -| ir.cpp:1120:33:1120:33 | Load | m1115_12 | -| ir.cpp:1120:33:1120:33 | Load | ~m1115_14 | -| ir.cpp:1120:42:1120:42 | Address | &:r1120_8 | -| ir.cpp:1120:42:1120:42 | AsmOperand(3) | 3:r1120_9 | -| ir.cpp:1120:42:1120:42 | Load | m1115_16 | -| ir.cpp:1124:6:1124:23 | ChiPartial | partial:m1124_3 | -| ir.cpp:1124:6:1124:23 | ChiTotal | total:m1124_2 | -| ir.cpp:1124:6:1124:23 | SideEffect | m1124_3 | -| ir.cpp:1127:9:1127:9 | Address | &:r1127_1 | -| ir.cpp:1128:9:1128:9 | Address | &:r1128_1 | -| ir.cpp:1129:29:1129:29 | Address | &:r1129_1 | -| ir.cpp:1139:6:1139:30 | ChiPartial | partial:m1139_3 | -| ir.cpp:1139:6:1139:30 | ChiTotal | total:m1139_2 | -| ir.cpp:1139:6:1139:30 | SideEffect | m1139_3 | -| ir.cpp:1141:5:1141:20 | Address | &:r1141_1 | -| ir.cpp:1141:5:1141:20 | Address | &:r1141_5 | -| ir.cpp:1141:5:1141:20 | Address | &:r1141_10 | -| ir.cpp:1141:5:1141:20 | Address | &:r1141_10 | -| ir.cpp:1141:5:1141:20 | Condition | r1141_8 | -| ir.cpp:1141:5:1141:20 | Left | r1141_6 | -| ir.cpp:1141:5:1141:20 | Left | r1141_11 | -| ir.cpp:1141:5:1141:20 | Load | m1141_4 | -| ir.cpp:1141:5:1141:20 | Load | m1141_4 | -| ir.cpp:1141:5:1141:20 | Phi | from 0:m1141_3 | -| ir.cpp:1141:5:1141:20 | Phi | from 2:m1141_14 | -| ir.cpp:1141:5:1141:20 | Right | r1141_7 | -| ir.cpp:1141:5:1141:20 | Right | r1141_12 | -| ir.cpp:1141:5:1141:20 | StoreValue | r1141_2 | -| ir.cpp:1141:5:1141:20 | StoreValue | r1141_13 | -| ir.cpp:1144:6:1144:23 | ChiPartial | partial:m1144_3 | -| ir.cpp:1144:6:1144:23 | ChiTotal | total:m1144_2 | -| ir.cpp:1144:6:1144:23 | Phi | from 2:~m1144_10 | -| ir.cpp:1144:6:1144:23 | Phi | from 7:~m1156_8 | -| ir.cpp:1144:6:1144:23 | Phi | from 8:~m1144_4 | -| ir.cpp:1144:6:1144:23 | Phi | from 10:~m1144_4 | -| ir.cpp:1144:6:1144:23 | SideEffect | ~m1144_7 | -| ir.cpp:1144:30:1144:30 | Address | &:r1144_5 | -| ir.cpp:1146:9:1146:9 | Address | &:r1146_1 | -| ir.cpp:1146:12:1146:13 | StoreValue | r1146_2 | -| ir.cpp:1147:9:1147:9 | Address | &:r1147_1 | -| ir.cpp:1147:9:1147:9 | Condition | r1147_2 | -| ir.cpp:1147:9:1147:9 | Load | m1144_6 | -| ir.cpp:1148:7:1148:28 | Address | &:r1148_1 | -| ir.cpp:1148:7:1148:28 | Address | &:r1148_1 | -| ir.cpp:1148:7:1148:28 | Load | m1148_4 | -| ir.cpp:1148:13:1148:28 | StoreValue | r1148_3 | -| ir.cpp:1148:13:1148:28 | Unary | r1148_2 | -| ir.cpp:1150:14:1150:14 | Address | &:r1150_1 | -| ir.cpp:1150:14:1150:14 | Left | r1150_2 | -| ir.cpp:1150:14:1150:14 | Load | m1146_3 | -| ir.cpp:1150:14:1150:18 | Condition | r1150_4 | -| ir.cpp:1150:18:1150:18 | Right | r1150_3 | -| ir.cpp:1153:5:1153:5 | Address | &:r1153_2 | -| ir.cpp:1153:9:1153:9 | StoreValue | r1153_1 | -| ir.cpp:1155:22:1155:22 | Address | &:r1155_2 | -| ir.cpp:1155:22:1155:22 | Address | &:r1155_2 | -| ir.cpp:1155:22:1155:22 | Address | &:r1155_4 | -| ir.cpp:1155:22:1155:22 | Load | m1155_3 | -| ir.cpp:1156:5:1156:19 | Address | &:r1156_1 | -| ir.cpp:1156:5:1156:19 | Address | &:r1156_1 | -| ir.cpp:1156:5:1156:19 | Address | &:r1156_1 | -| ir.cpp:1156:5:1156:19 | Arg(this) | this:r1156_1 | -| ir.cpp:1156:5:1156:19 | CallTarget | func:r1156_3 | -| ir.cpp:1156:5:1156:19 | ChiPartial | partial:m1156_7 | -| ir.cpp:1156:5:1156:19 | ChiPartial | partial:m1156_10 | -| ir.cpp:1156:5:1156:19 | ChiTotal | total:m1144_4 | -| ir.cpp:1156:5:1156:19 | ChiTotal | total:m1156_2 | -| ir.cpp:1156:5:1156:19 | Load | m1156_11 | -| ir.cpp:1156:5:1156:19 | SideEffect | ~m1144_4 | -| ir.cpp:1156:18:1156:18 | Address | &:r1156_4 | -| ir.cpp:1156:18:1156:18 | Address | &:r1156_5 | -| ir.cpp:1156:18:1156:18 | Arg(0) | 0:r1156_5 | -| ir.cpp:1156:18:1156:18 | Load | m1155_3 | -| ir.cpp:1156:18:1156:18 | SideEffect | ~m1155_5 | -| ir.cpp:1158:24:1158:24 | Address | &:r1158_2 | -| ir.cpp:1158:24:1158:24 | Address | &:r1158_2 | -| ir.cpp:1158:24:1158:24 | Address | &:r1158_4 | -| ir.cpp:1158:24:1158:24 | Load | m1158_3 | -| ir.cpp:1164:6:1164:16 | ChiPartial | partial:m1164_3 | -| ir.cpp:1164:6:1164:16 | ChiTotal | total:m1164_2 | -| ir.cpp:1164:6:1164:16 | SideEffect | m1164_3 | -| ir.cpp:1164:22:1164:22 | Address | &:r1164_5 | -| ir.cpp:1165:18:1165:20 | Address | &:r1165_1 | -| ir.cpp:1165:18:1165:20 | Left | r1165_1 | -| ir.cpp:1165:18:1165:20 | Left | r1165_1 | -| ir.cpp:1165:18:1165:20 | Left | r1165_1 | -| ir.cpp:1165:18:1165:20 | Left | r1165_1 | -| ir.cpp:1165:23:1165:37 | Address | &:r1165_4 | -| ir.cpp:1165:23:1165:37 | Address | &:r1165_9 | -| ir.cpp:1165:23:1165:37 | Address | &:r1165_14 | -| ir.cpp:1165:23:1165:37 | Address | &:r1165_19 | -| ir.cpp:1165:23:1165:37 | Right | r1165_3 | -| ir.cpp:1165:23:1165:37 | Right | r1165_8 | -| ir.cpp:1165:23:1165:37 | Right | r1165_13 | -| ir.cpp:1165:23:1165:37 | Right | r1165_18 | -| ir.cpp:1165:26:1165:26 | ChiPartial | partial:m1165_6 | -| ir.cpp:1165:26:1165:26 | ChiTotal | total:m1165_2 | -| ir.cpp:1165:26:1165:26 | StoreValue | r1165_5 | -| ir.cpp:1165:29:1165:29 | ChiPartial | partial:m1165_11 | -| ir.cpp:1165:29:1165:29 | ChiTotal | total:m1165_7 | -| ir.cpp:1165:29:1165:29 | StoreValue | r1165_10 | -| ir.cpp:1165:32:1165:32 | ChiPartial | partial:m1165_16 | -| ir.cpp:1165:32:1165:32 | ChiTotal | total:m1165_12 | -| ir.cpp:1165:32:1165:32 | StoreValue | r1165_15 | -| ir.cpp:1165:35:1165:35 | ChiPartial | partial:m1165_21 | -| ir.cpp:1165:35:1165:35 | ChiTotal | total:m1165_17 | -| ir.cpp:1165:35:1165:35 | StoreValue | r1165_20 | -| ir.cpp:1166:7:1166:7 | Address | &:r1166_1 | -| ir.cpp:1166:11:1166:13 | Left | r1166_2 | -| ir.cpp:1166:11:1166:16 | Address | &:r1166_5 | -| ir.cpp:1166:11:1166:16 | Load | ~m1165_22 | -| ir.cpp:1166:11:1166:16 | StoreValue | r1166_6 | -| ir.cpp:1166:15:1166:15 | Address | &:r1166_3 | -| ir.cpp:1166:15:1166:15 | Load | m1164_6 | -| ir.cpp:1166:15:1166:15 | Right | r1166_4 | -| ir.cpp:1167:3:1167:5 | Left | r1167_3 | -| ir.cpp:1167:3:1167:8 | Address | &:r1167_6 | -| ir.cpp:1167:3:1167:12 | ChiPartial | partial:m1167_7 | -| ir.cpp:1167:3:1167:12 | ChiTotal | total:m1165_22 | -| ir.cpp:1167:7:1167:7 | Address | &:r1167_4 | -| ir.cpp:1167:7:1167:7 | Load | m1164_6 | -| ir.cpp:1167:7:1167:7 | Right | r1167_5 | -| ir.cpp:1167:12:1167:12 | Address | &:r1167_1 | -| ir.cpp:1167:12:1167:12 | Load | m1166_7 | -| ir.cpp:1167:12:1167:12 | StoreValue | r1167_2 | -| ir.cpp:1168:18:1168:28 | Address | &:r1168_1 | -| ir.cpp:1168:32:1168:78 | Arg(2) | 2:r1168_6 | -| ir.cpp:1168:32:1168:78 | StoreValue | r1168_10 | -| ir.cpp:1168:56:1168:58 | Address | &:r1168_2 | -| ir.cpp:1168:56:1168:58 | Arg(0) | 0:r1168_3 | -| ir.cpp:1168:56:1168:58 | Load | m1167_8 | -| ir.cpp:1168:61:1168:63 | Address | &:r1168_4 | -| ir.cpp:1168:61:1168:63 | Arg(1) | 1:r1168_5 | -| ir.cpp:1168:61:1168:63 | Load | m1167_8 | -| ir.cpp:1168:71:1168:71 | Arg(3) | 3:r1168_7 | -| ir.cpp:1168:74:1168:74 | Arg(4) | 4:r1168_8 | -| ir.cpp:1168:77:1168:77 | Arg(5) | 5:r1168_9 | -| ir.cpp:1169:3:1169:5 | Address | &:r1169_6 | -| ir.cpp:1169:9:1169:11 | Address | &:r1169_1 | -| ir.cpp:1169:9:1169:11 | Left | r1169_2 | -| ir.cpp:1169:9:1169:11 | Load | m1167_8 | -| ir.cpp:1169:9:1169:25 | StoreValue | r1169_5 | -| ir.cpp:1169:15:1169:25 | Address | &:r1169_3 | -| ir.cpp:1169:15:1169:25 | Load | m1168_11 | -| ir.cpp:1169:15:1169:25 | Right | r1169_4 | -| ir.cpp:1174:5:1174:21 | Address | &:r1174_7 | -| ir.cpp:1174:5:1174:21 | ChiPartial | partial:m1174_3 | -| ir.cpp:1174:5:1174:21 | ChiTotal | total:m1174_2 | -| ir.cpp:1174:5:1174:21 | Load | m1177_4 | -| ir.cpp:1174:5:1174:21 | SideEffect | m1174_3 | -| ir.cpp:1174:27:1174:27 | Address | &:r1174_5 | -| ir.cpp:1175:7:1175:7 | Address | &:r1175_1 | -| ir.cpp:1176:3:1176:8 | CallTarget | func:r1176_1 | -| ir.cpp:1176:10:1176:11 | Address | &:r1176_4 | -| ir.cpp:1176:10:1176:11 | Arg(0) | 0:r1176_4 | -| ir.cpp:1176:10:1176:11 | ChiPartial | partial:m1176_11 | -| ir.cpp:1176:10:1176:11 | ChiTotal | total:m1175_2 | -| ir.cpp:1176:10:1176:11 | Unary | r1176_3 | -| ir.cpp:1176:11:1176:11 | Unary | r1176_2 | -| ir.cpp:1176:14:1176:15 | Address | &:r1176_7 | -| ir.cpp:1176:14:1176:15 | Arg(1) | 1:r1176_7 | -| ir.cpp:1176:14:1176:15 | SideEffect | ~m1174_6 | -| ir.cpp:1176:14:1176:15 | Unary | r1176_6 | -| ir.cpp:1176:15:1176:15 | Unary | r1176_5 | -| ir.cpp:1176:18:1176:28 | Arg(2) | 2:r1176_8 | -| ir.cpp:1176:18:1176:28 | BufferSize | r1176_8 | -| ir.cpp:1176:18:1176:28 | BufferSize | r1176_8 | -| ir.cpp:1177:3:1177:11 | Address | &:r1177_1 | -| ir.cpp:1177:10:1177:10 | Address | &:r1177_2 | -| ir.cpp:1177:10:1177:10 | Load | m1176_12 | -| ir.cpp:1177:10:1177:10 | StoreValue | r1177_3 | -| ir.cpp:1180:8:1180:23 | Address | &:r1180_5 | -| ir.cpp:1180:8:1180:23 | ChiPartial | partial:m1180_3 | -| ir.cpp:1180:8:1180:23 | ChiTotal | total:m1180_2 | -| ir.cpp:1180:8:1180:23 | Load | m1181_11 | -| ir.cpp:1180:8:1180:23 | SideEffect | ~m1181_8 | -| ir.cpp:1181:3:1181:23 | Address | &:r1181_1 | -| ir.cpp:1181:3:1181:23 | Address | &:r1181_1 | -| ir.cpp:1181:3:1181:23 | Arg(this) | this:r1181_1 | -| ir.cpp:1181:3:1181:23 | CallTarget | func:r1181_3 | -| ir.cpp:1181:3:1181:23 | ChiPartial | partial:m1181_7 | -| ir.cpp:1181:3:1181:23 | ChiPartial | partial:m1181_10 | -| ir.cpp:1181:3:1181:23 | ChiTotal | total:m1180_4 | -| ir.cpp:1181:3:1181:23 | ChiTotal | total:m1181_2 | -| ir.cpp:1181:3:1181:23 | SideEffect | ~m1180_4 | -| ir.cpp:1181:17:1181:21 | Address | &:r1181_5 | -| ir.cpp:1181:17:1181:21 | Arg(0) | 0:r1181_5 | -| ir.cpp:1181:17:1181:21 | SideEffect | ~m1180_3 | -| ir.cpp:1181:17:1181:21 | Unary | r1181_4 | -| ir.cpp:1184:6:1184:16 | ChiPartial | partial:m1184_3 | -| ir.cpp:1184:6:1184:16 | ChiTotal | total:m1184_2 | -| ir.cpp:1184:6:1184:16 | SideEffect | m1184_3 | -| ir.cpp:1184:22:1184:22 | Address | &:r1184_5 | -| ir.cpp:1185:9:1185:9 | Address | &:r1185_1 | -| ir.cpp:1185:12:1185:13 | StoreValue | r1185_2 | -| ir.cpp:1186:12:1186:12 | Address | &:r1186_1 | -| ir.cpp:1186:12:1186:12 | Condition | r1186_2 | -| ir.cpp:1186:12:1186:12 | Load | m1184_6 | -| ir.cpp:1188:9:1188:9 | Address | &:r1188_2 | -| ir.cpp:1188:13:1188:13 | StoreValue | r1188_1 | -| ir.cpp:1190:9:1190:9 | Address | &:r1190_2 | -| ir.cpp:1190:9:1190:9 | Phi | from 0:m1185_3 | -| ir.cpp:1190:9:1190:9 | Phi | from 1:m1188_3 | -| ir.cpp:1190:13:1190:13 | Address | &:r1190_3 | -| ir.cpp:1190:13:1190:13 | Load | m1190_1 | -| ir.cpp:1190:13:1190:13 | StoreValue | r1190_4 | -| ir.cpp:1193:6:1193:28 | ChiPartial | partial:m1193_3 | -| ir.cpp:1193:6:1193:28 | ChiTotal | total:m1193_2 | -| ir.cpp:1193:6:1193:28 | SideEffect | m1193_3 | -| ir.cpp:1193:34:1193:34 | Address | &:r1193_5 | +| ir.cpp:1126:6:1126:18 | ChiPartial | partial:m1126_3 | +| ir.cpp:1126:6:1126:18 | ChiTotal | total:m1126_2 | +| ir.cpp:1126:6:1126:18 | SideEffect | ~m1137_1 | +| ir.cpp:1126:44:1126:44 | Address | &:r1126_5 | +| ir.cpp:1126:44:1126:44 | Address | &:r1126_5 | +| ir.cpp:1126:44:1126:44 | Address | &:r1126_7 | +| ir.cpp:1126:44:1126:44 | Address | &:r1126_7 | +| ir.cpp:1126:44:1126:44 | Load | m1126_6 | +| ir.cpp:1126:44:1126:44 | SideEffect | m1126_8 | +| ir.cpp:1127:5:1127:5 | Address | &:r1127_1 | +| ir.cpp:1127:5:1127:5 | Address | &:r1127_7 | +| ir.cpp:1127:5:1127:5 | Address | &:r1127_13 | +| ir.cpp:1127:14:1127:14 | Address | &:r1127_34 | +| ir.cpp:1127:18:1127:18 | Address | &:r1127_2 | +| ir.cpp:1127:18:1127:18 | Address | &:r1127_8 | +| ir.cpp:1127:18:1127:18 | Address | &:r1127_14 | +| ir.cpp:1127:18:1127:18 | Address | &:r1127_37 | +| ir.cpp:1127:18:1127:18 | Address | &:r1127_43 | +| ir.cpp:1127:18:1127:18 | Address | &:r1127_43 | +| ir.cpp:1127:18:1127:18 | Arg(this) | this:r0_1 | +| ir.cpp:1127:18:1127:18 | Arg(this) | this:r0_3 | +| ir.cpp:1127:18:1127:18 | Arg(this) | this:r0_5 | +| ir.cpp:1127:18:1127:18 | Arg(this) | this:r0_6 | +| ir.cpp:1127:18:1127:18 | Arg(this) | this:r0_13 | +| ir.cpp:1127:18:1127:18 | Arg(this) | this:r1127_43 | +| ir.cpp:1127:18:1127:18 | CallTarget | func:r1127_10 | +| ir.cpp:1127:18:1127:18 | CallTarget | func:r1127_16 | +| ir.cpp:1127:18:1127:18 | CallTarget | func:r1127_22 | +| ir.cpp:1127:18:1127:18 | CallTarget | func:r1127_23 | +| ir.cpp:1127:18:1127:18 | CallTarget | func:r1127_36 | +| ir.cpp:1127:18:1127:18 | CallTarget | func:r1127_44 | +| ir.cpp:1127:18:1127:18 | ChiPartial | partial:m1127_26 | +| ir.cpp:1127:18:1127:18 | ChiPartial | partial:m1127_28 | +| ir.cpp:1127:18:1127:18 | ChiPartial | partial:m1127_31 | +| ir.cpp:1127:18:1127:18 | ChiPartial | partial:m1127_38 | +| ir.cpp:1127:18:1127:18 | ChiPartial | partial:m1127_46 | +| ir.cpp:1127:18:1127:18 | ChiPartial | partial:m1127_49 | +| ir.cpp:1127:18:1127:18 | ChiTotal | total:m0_7 | +| ir.cpp:1127:18:1127:18 | ChiTotal | total:m1127_19 | +| ir.cpp:1127:18:1127:18 | ChiTotal | total:m1127_20 | +| ir.cpp:1127:18:1127:18 | ChiTotal | total:m1127_27 | +| ir.cpp:1127:18:1127:18 | ChiTotal | total:m1127_32 | +| ir.cpp:1127:18:1127:18 | ChiTotal | total:m1127_39 | +| ir.cpp:1127:18:1127:18 | Condition | r1127_30 | +| ir.cpp:1127:18:1127:18 | Load | m1126_6 | +| ir.cpp:1127:18:1127:18 | Load | m1127_6 | +| ir.cpp:1127:18:1127:18 | Load | m1127_6 | +| ir.cpp:1127:18:1127:18 | Phi | from 0:m1127_12 | +| ir.cpp:1127:18:1127:18 | Phi | from 0:~m1126_4 | +| ir.cpp:1127:18:1127:18 | Phi | from 4:m1127_50 | +| ir.cpp:1127:18:1127:18 | Phi | from 4:~m1127_47 | +| ir.cpp:1127:18:1127:18 | SideEffect | m1127_19 | +| ir.cpp:1127:18:1127:18 | SideEffect | ~m1127_20 | +| ir.cpp:1127:18:1127:18 | SideEffect | ~m1127_27 | +| ir.cpp:1127:18:1127:18 | SideEffect | ~m1127_32 | +| ir.cpp:1127:18:1127:18 | SideEffect | ~m1127_39 | +| ir.cpp:1127:18:1127:18 | StoreValue | r1127_5 | +| ir.cpp:1127:18:1127:18 | StoreValue | r1127_11 | +| ir.cpp:1127:18:1127:18 | StoreValue | r1127_17 | +| ir.cpp:1127:18:1127:18 | Unary | r1127_3 | +| ir.cpp:1127:18:1127:18 | Unary | r1127_4 | +| ir.cpp:1127:18:1127:18 | Unary | r1127_9 | +| ir.cpp:1127:18:1127:18 | Unary | r1127_15 | +| ir.cpp:1127:18:1127:18 | Unary | r1127_21 | +| ir.cpp:1127:18:1127:18 | Unary | r1127_24 | +| ir.cpp:1127:18:1127:18 | Unary | r1127_35 | +| ir.cpp:1127:18:1127:18 | Unary | r1127_45 | +| ir.cpp:1127:18:1127:19 | Load | ~m1127_39 | +| ir.cpp:1127:18:1127:19 | StoreValue | r1127_40 | +| ir.cpp:1128:13:1128:13 | Address | &:r1128_1 | +| ir.cpp:1128:13:1128:13 | Left | r1128_2 | +| ir.cpp:1128:13:1128:13 | Load | m1127_41 | +| ir.cpp:1128:13:1128:17 | Condition | r1128_4 | +| ir.cpp:1128:17:1128:17 | Right | r1128_3 | +| ir.cpp:1133:5:1133:5 | Address | &:r1133_1 | +| ir.cpp:1133:5:1133:5 | Address | &:r1133_7 | +| ir.cpp:1133:5:1133:5 | Address | &:r1133_13 | +| ir.cpp:1133:21:1133:21 | Address | &:r1133_43 | +| ir.cpp:1133:25:1133:25 | Address | &:r1133_2 | +| ir.cpp:1133:25:1133:25 | Address | &:r1133_8 | +| ir.cpp:1133:25:1133:25 | Address | &:r1133_14 | +| ir.cpp:1133:25:1133:25 | Address | &:r1133_34 | +| ir.cpp:1133:25:1133:25 | Address | &:r1133_34 | +| ir.cpp:1133:25:1133:25 | Arg(this) | this:r0_15 | +| ir.cpp:1133:25:1133:25 | Arg(this) | this:r0_17 | +| ir.cpp:1133:25:1133:25 | Arg(this) | this:r0_19 | +| ir.cpp:1133:25:1133:25 | Arg(this) | this:r0_20 | +| ir.cpp:1133:25:1133:25 | Arg(this) | this:r0_27 | +| ir.cpp:1133:25:1133:25 | Arg(this) | this:r1133_34 | +| ir.cpp:1133:25:1133:25 | CallTarget | func:r1133_10 | +| ir.cpp:1133:25:1133:25 | CallTarget | func:r1133_16 | +| ir.cpp:1133:25:1133:25 | CallTarget | func:r1133_22 | +| ir.cpp:1133:25:1133:25 | CallTarget | func:r1133_23 | +| ir.cpp:1133:25:1133:25 | CallTarget | func:r1133_35 | +| ir.cpp:1133:25:1133:25 | CallTarget | func:r1133_45 | +| ir.cpp:1133:25:1133:25 | ChiPartial | partial:m1133_26 | +| ir.cpp:1133:25:1133:25 | ChiPartial | partial:m1133_28 | +| ir.cpp:1133:25:1133:25 | ChiPartial | partial:m1133_31 | +| ir.cpp:1133:25:1133:25 | ChiPartial | partial:m1133_37 | +| ir.cpp:1133:25:1133:25 | ChiPartial | partial:m1133_40 | +| ir.cpp:1133:25:1133:25 | ChiPartial | partial:m1133_47 | +| ir.cpp:1133:25:1133:25 | ChiTotal | total:m0_21 | +| ir.cpp:1133:25:1133:25 | ChiTotal | total:m1133_19 | +| ir.cpp:1133:25:1133:25 | ChiTotal | total:m1133_20 | +| ir.cpp:1133:25:1133:25 | ChiTotal | total:m1133_27 | +| ir.cpp:1133:25:1133:25 | ChiTotal | total:m1133_32 | +| ir.cpp:1133:25:1133:25 | ChiTotal | total:m1133_48 | +| ir.cpp:1133:25:1133:25 | Condition | r1133_30 | +| ir.cpp:1133:25:1133:25 | Load | m1126_6 | +| ir.cpp:1133:25:1133:25 | Load | m1133_6 | +| ir.cpp:1133:25:1133:25 | Load | m1133_6 | +| ir.cpp:1133:25:1133:25 | Phi | from 5:m1133_12 | +| ir.cpp:1133:25:1133:25 | Phi | from 5:~m1127_32 | +| ir.cpp:1133:25:1133:25 | Phi | from 7:m1133_41 | +| ir.cpp:1133:25:1133:25 | Phi | from 7:~m1133_38 | +| ir.cpp:1133:25:1133:25 | SideEffect | m1133_19 | +| ir.cpp:1133:25:1133:25 | SideEffect | ~m1133_20 | +| ir.cpp:1133:25:1133:25 | SideEffect | ~m1133_27 | +| ir.cpp:1133:25:1133:25 | SideEffect | ~m1133_32 | +| ir.cpp:1133:25:1133:25 | SideEffect | ~m1133_48 | +| ir.cpp:1133:25:1133:25 | StoreValue | r1133_5 | +| ir.cpp:1133:25:1133:25 | StoreValue | r1133_11 | +| ir.cpp:1133:25:1133:25 | StoreValue | r1133_17 | +| ir.cpp:1133:25:1133:25 | Unary | r1133_3 | +| ir.cpp:1133:25:1133:25 | Unary | r1133_4 | +| ir.cpp:1133:25:1133:25 | Unary | r1133_9 | +| ir.cpp:1133:25:1133:25 | Unary | r1133_15 | +| ir.cpp:1133:25:1133:25 | Unary | r1133_21 | +| ir.cpp:1133:25:1133:25 | Unary | r1133_24 | +| ir.cpp:1133:25:1133:25 | Unary | r1133_36 | +| ir.cpp:1133:25:1133:25 | Unary | r1133_44 | +| ir.cpp:1133:25:1133:25 | Unary | r1133_46 | +| ir.cpp:1133:25:1133:26 | StoreValue | r1133_51 | +| ir.cpp:1133:25:1133:26 | Unary | r1133_49 | +| ir.cpp:1133:25:1133:26 | Unary | r1133_50 | +| ir.cpp:1134:13:1134:13 | Address | &:r1134_1 | +| ir.cpp:1134:13:1134:13 | Address | &:r1134_2 | +| ir.cpp:1134:13:1134:13 | Left | r1134_3 | +| ir.cpp:1134:13:1134:13 | Load | m1133_52 | +| ir.cpp:1134:13:1134:13 | Load | ~m1133_48 | +| ir.cpp:1134:13:1134:17 | Condition | r1134_5 | +| ir.cpp:1134:17:1134:17 | Right | r1134_4 | +| ir.cpp:1137:5:1137:5 | Phi | from 6:~m1133_32 | +| ir.cpp:1137:5:1137:5 | Phi | from 9:~m1133_48 | +| ir.cpp:1157:5:1157:11 | Address | &:r1157_7 | +| ir.cpp:1157:5:1157:11 | ChiPartial | partial:m1157_3 | +| ir.cpp:1157:5:1157:11 | ChiTotal | total:m1157_2 | +| ir.cpp:1157:5:1157:11 | Load | m1159_4 | +| ir.cpp:1157:5:1157:11 | SideEffect | ~m1158_2 | +| ir.cpp:1157:17:1157:17 | Address | &:r1157_5 | +| ir.cpp:1158:3:1158:14 | ChiPartial | partial:m1158_1 | +| ir.cpp:1158:3:1158:14 | ChiTotal | total:m1157_4 | +| ir.cpp:1158:3:1158:14 | SideEffect | ~m1157_4 | +| ir.cpp:1159:3:1159:11 | Address | &:r1159_1 | +| ir.cpp:1159:10:1159:10 | Address | &:r1159_2 | +| ir.cpp:1159:10:1159:10 | Load | m1157_6 | +| ir.cpp:1159:10:1159:10 | StoreValue | r1159_3 | +| ir.cpp:1162:13:1162:30 | ChiPartial | partial:m1162_3 | +| ir.cpp:1162:13:1162:30 | ChiTotal | total:m1162_2 | +| ir.cpp:1162:13:1162:30 | SideEffect | ~m1164_2 | +| ir.cpp:1162:46:1162:46 | Address | &:r1162_5 | +| ir.cpp:1162:46:1162:46 | Address | &:r1162_5 | +| ir.cpp:1162:46:1162:46 | Address | &:r1162_7 | +| ir.cpp:1162:46:1162:46 | Address | &:r1162_7 | +| ir.cpp:1162:46:1162:46 | Load | m1162_6 | +| ir.cpp:1162:46:1162:46 | SideEffect | m1162_8 | +| ir.cpp:1162:62:1162:62 | Address | &:r1162_9 | +| ir.cpp:1162:79:1162:79 | Address | &:r1162_11 | +| ir.cpp:1162:79:1162:79 | Address | &:r1162_11 | +| ir.cpp:1162:79:1162:79 | Address | &:r1162_13 | +| ir.cpp:1162:79:1162:79 | Address | &:r1162_13 | +| ir.cpp:1162:79:1162:79 | Load | m1162_12 | +| ir.cpp:1162:79:1162:79 | SideEffect | m1162_14 | +| ir.cpp:1162:95:1162:95 | Address | &:r1162_15 | +| ir.cpp:1164:3:1168:6 | ChiPartial | partial:m1164_1 | +| ir.cpp:1164:3:1168:6 | ChiTotal | total:m1162_4 | +| ir.cpp:1164:3:1168:6 | SideEffect | ~m1162_4 | +| ir.cpp:1167:13:1167:13 | Address | &:r1167_1 | +| ir.cpp:1167:13:1167:13 | AsmOperand(0) | 0:r1167_3 | +| ir.cpp:1167:13:1167:13 | Load | m1162_6 | +| ir.cpp:1167:13:1167:13 | Unary | r1167_2 | +| ir.cpp:1167:23:1167:23 | AsmOperand(1) | 1:r1167_4 | +| ir.cpp:1167:33:1167:33 | Address | &:r1167_5 | +| ir.cpp:1167:33:1167:33 | Address | &:r1167_6 | +| ir.cpp:1167:33:1167:33 | AsmOperand(2) | 2:r1167_7 | +| ir.cpp:1167:33:1167:33 | Load | m1162_12 | +| ir.cpp:1167:33:1167:33 | Load | ~m1162_14 | +| ir.cpp:1167:42:1167:42 | Address | &:r1167_8 | +| ir.cpp:1167:42:1167:42 | AsmOperand(3) | 3:r1167_9 | +| ir.cpp:1167:42:1167:42 | Load | m1162_16 | +| ir.cpp:1171:6:1171:23 | ChiPartial | partial:m1171_3 | +| ir.cpp:1171:6:1171:23 | ChiTotal | total:m1171_2 | +| ir.cpp:1171:6:1171:23 | SideEffect | m1171_3 | +| ir.cpp:1174:9:1174:9 | Address | &:r1174_1 | +| ir.cpp:1175:9:1175:9 | Address | &:r1175_1 | +| ir.cpp:1176:29:1176:29 | Address | &:r1176_1 | +| ir.cpp:1186:6:1186:30 | ChiPartial | partial:m1186_3 | +| ir.cpp:1186:6:1186:30 | ChiTotal | total:m1186_2 | +| ir.cpp:1186:6:1186:30 | SideEffect | m1186_3 | +| ir.cpp:1188:5:1188:20 | Address | &:r1188_1 | +| ir.cpp:1188:5:1188:20 | Address | &:r1188_5 | +| ir.cpp:1188:5:1188:20 | Address | &:r1188_10 | +| ir.cpp:1188:5:1188:20 | Address | &:r1188_10 | +| ir.cpp:1188:5:1188:20 | Condition | r1188_8 | +| ir.cpp:1188:5:1188:20 | Left | r1188_6 | +| ir.cpp:1188:5:1188:20 | Left | r1188_11 | +| ir.cpp:1188:5:1188:20 | Load | m1188_4 | +| ir.cpp:1188:5:1188:20 | Load | m1188_4 | +| ir.cpp:1188:5:1188:20 | Phi | from 0:m1188_3 | +| ir.cpp:1188:5:1188:20 | Phi | from 2:m1188_14 | +| ir.cpp:1188:5:1188:20 | Right | r1188_7 | +| ir.cpp:1188:5:1188:20 | Right | r1188_12 | +| ir.cpp:1188:5:1188:20 | StoreValue | r1188_2 | +| ir.cpp:1188:5:1188:20 | StoreValue | r1188_13 | +| ir.cpp:1191:6:1191:23 | ChiPartial | partial:m1191_3 | +| ir.cpp:1191:6:1191:23 | ChiTotal | total:m1191_2 | +| ir.cpp:1191:6:1191:23 | Phi | from 2:~m1191_10 | +| ir.cpp:1191:6:1191:23 | Phi | from 7:~m1203_8 | +| ir.cpp:1191:6:1191:23 | Phi | from 8:~m1191_4 | +| ir.cpp:1191:6:1191:23 | Phi | from 10:~m1191_4 | +| ir.cpp:1191:6:1191:23 | SideEffect | ~m1191_7 | +| ir.cpp:1191:30:1191:30 | Address | &:r1191_5 | +| ir.cpp:1193:9:1193:9 | Address | &:r1193_1 | +| ir.cpp:1193:12:1193:13 | StoreValue | r1193_2 | | ir.cpp:1194:9:1194:9 | Address | &:r1194_1 | -| ir.cpp:1194:12:1194:13 | StoreValue | r1194_2 | -| ir.cpp:1195:12:1195:12 | Address | &:r1195_1 | -| ir.cpp:1195:12:1195:12 | Condition | r1195_2 | -| ir.cpp:1195:12:1195:12 | Load | m1193_6 | -| ir.cpp:1197:9:1197:9 | Address | &:r1197_2 | -| ir.cpp:1197:13:1197:13 | StoreValue | r1197_1 | -| ir.cpp:1199:9:1199:9 | Address | &:r1199_2 | -| ir.cpp:1199:13:1199:13 | StoreValue | r1199_1 | -| ir.cpp:1201:9:1201:9 | Address | &:r1201_2 | -| ir.cpp:1201:9:1201:9 | Phi | from 0:m1194_3 | -| ir.cpp:1201:9:1201:9 | Phi | from 2:m1199_3 | -| ir.cpp:1201:13:1201:13 | Address | &:r1201_3 | -| ir.cpp:1201:13:1201:13 | Load | m1201_1 | -| ir.cpp:1201:13:1201:13 | StoreValue | r1201_4 | -| ir.cpp:1204:6:1204:16 | ChiPartial | partial:m1204_3 | -| ir.cpp:1204:6:1204:16 | ChiTotal | total:m1204_2 | -| ir.cpp:1204:6:1204:16 | SideEffect | m1204_3 | -| ir.cpp:1204:22:1204:22 | Address | &:r1204_5 | -| ir.cpp:1205:9:1205:9 | Address | &:r1205_1 | -| ir.cpp:1205:12:1205:13 | StoreValue | r1205_2 | -| ir.cpp:1206:12:1206:12 | Address | &:r1206_1 | -| ir.cpp:1206:12:1206:12 | Condition | r1206_2 | -| ir.cpp:1206:12:1206:12 | Load | m1204_6 | -| ir.cpp:1208:9:1208:9 | Address | &:r1208_2 | -| ir.cpp:1208:13:1208:13 | StoreValue | r1208_1 | -| ir.cpp:1211:9:1211:9 | Address | &:r1211_2 | -| ir.cpp:1211:13:1211:13 | StoreValue | r1211_1 | -| ir.cpp:1212:5:1212:5 | Phi | from 0:m1205_3 | -| ir.cpp:1212:5:1212:5 | Phi | from 1:m1208_3 | -| ir.cpp:1212:5:1212:5 | Phi | from 2:m1211_3 | -| ir.cpp:1213:9:1213:9 | Address | &:r1213_1 | -| ir.cpp:1213:13:1213:13 | Address | &:r1213_2 | -| ir.cpp:1213:13:1213:13 | Load | m1212_1 | -| ir.cpp:1213:13:1213:13 | StoreValue | r1213_3 | -| ir.cpp:1216:6:1216:24 | ChiPartial | partial:m1216_3 | -| ir.cpp:1216:6:1216:24 | ChiTotal | total:m1216_2 | -| ir.cpp:1216:6:1216:24 | SideEffect | m1216_3 | -| ir.cpp:1216:30:1216:30 | Address | &:r1216_5 | -| ir.cpp:1217:9:1217:9 | Address | &:r1217_1 | -| ir.cpp:1217:12:1217:13 | StoreValue | r1217_2 | -| ir.cpp:1218:12:1218:12 | Address | &:r1218_1 | -| ir.cpp:1218:12:1218:12 | Condition | r1218_2 | -| ir.cpp:1218:12:1218:12 | Load | m1216_6 | -| ir.cpp:1220:13:1220:13 | Address | &:r1220_2 | -| ir.cpp:1220:17:1220:17 | StoreValue | r1220_1 | -| ir.cpp:1224:13:1224:13 | Address | &:r1224_2 | -| ir.cpp:1224:17:1224:17 | StoreValue | r1224_1 | -| ir.cpp:1228:13:1228:13 | Address | &:r1228_2 | -| ir.cpp:1228:17:1228:17 | StoreValue | r1228_1 | -| ir.cpp:1229:5:1229:5 | Phi | from 1:m1220_3 | -| ir.cpp:1229:5:1229:5 | Phi | from 2:m1224_3 | -| ir.cpp:1229:5:1229:5 | Phi | from 3:m1228_3 | -| ir.cpp:1230:9:1230:9 | Address | &:r1230_1 | -| ir.cpp:1230:13:1230:13 | Address | &:r1230_2 | -| ir.cpp:1230:13:1230:13 | Load | m1229_1 | -| ir.cpp:1230:13:1230:13 | StoreValue | r1230_3 | -| ir.cpp:1233:5:1233:19 | Address | &:r1233_7 | -| ir.cpp:1233:5:1233:19 | ChiPartial | partial:m1233_3 | -| ir.cpp:1233:5:1233:19 | ChiTotal | total:m1233_2 | -| ir.cpp:1233:5:1233:19 | Load | m1239_15 | -| ir.cpp:1233:5:1233:19 | SideEffect | ~m1239_2 | -| ir.cpp:1233:25:1233:25 | Address | &:r1233_5 | -| ir.cpp:1234:16:1234:16 | Address | &:r1234_3 | -| ir.cpp:1234:16:1234:16 | SideEffect | ~m1234_6 | -| ir.cpp:1234:20:1234:20 | ChiPartial | partial:m1234_5 | -| ir.cpp:1234:20:1234:20 | ChiTotal | total:m1234_2 | -| ir.cpp:1234:20:1234:20 | StoreValue | r1234_4 | -| ir.cpp:1235:16:1235:16 | Address | &:r1235_3 | -| ir.cpp:1235:16:1235:16 | SideEffect | ~m1235_6 | -| ir.cpp:1235:20:1235:28 | ChiPartial | partial:m1235_5 | -| ir.cpp:1235:20:1235:28 | ChiTotal | total:m1235_2 | -| ir.cpp:1235:20:1235:28 | StoreValue | r1235_4 | -| ir.cpp:1236:16:1236:16 | Address | &:r1236_1 | -| ir.cpp:1236:16:1236:16 | Address | &:r1236_1 | -| ir.cpp:1236:16:1236:16 | Address | &:r1236_4 | -| ir.cpp:1236:16:1236:16 | ChiPartial | partial:m1236_10 | -| ir.cpp:1236:16:1236:16 | ChiTotal | total:m1236_8 | -| ir.cpp:1236:16:1236:16 | Condition | r1236_2 | -| ir.cpp:1236:16:1236:16 | Load | ~m1233_3 | -| ir.cpp:1236:16:1236:16 | StoreValue | r1236_9 | -| ir.cpp:1236:20:1236:20 | Address | &:r1236_5 | -| ir.cpp:1236:20:1236:20 | ChiPartial | partial:m1236_7 | -| ir.cpp:1236:20:1236:20 | ChiTotal | total:m1233_4 | -| ir.cpp:1236:20:1236:20 | Load | m1233_6 | -| ir.cpp:1236:20:1236:20 | StoreValue | r1236_6 | -| ir.cpp:1239:5:1239:25 | Address | &:r1239_3 | -| ir.cpp:1239:5:1239:25 | Phi | from 0:~m1233_3 | -| ir.cpp:1239:5:1239:25 | Phi | from 0:~m1233_4 | -| ir.cpp:1239:5:1239:25 | Phi | from 1:m1236_7 | -| ir.cpp:1239:5:1239:25 | Phi | from 1:~m1236_11 | -| ir.cpp:1239:12:1239:12 | Address | &:r1239_4 | -| ir.cpp:1239:12:1239:12 | Left | r1239_5 | -| ir.cpp:1239:12:1239:12 | Load | ~m1239_2 | -| ir.cpp:1239:12:1239:16 | Left | r1239_8 | -| ir.cpp:1239:12:1239:20 | Left | r1239_11 | -| ir.cpp:1239:12:1239:24 | StoreValue | r1239_14 | -| ir.cpp:1239:16:1239:16 | Address | &:r1239_6 | -| ir.cpp:1239:16:1239:16 | Load | ~m1239_2 | -| ir.cpp:1239:16:1239:16 | Right | r1239_7 | -| ir.cpp:1239:20:1239:20 | Address | &:r1239_9 | -| ir.cpp:1239:20:1239:20 | Load | m1239_1 | -| ir.cpp:1239:20:1239:20 | Right | r1239_10 | -| ir.cpp:1239:24:1239:24 | Address | &:r1239_12 | -| ir.cpp:1239:24:1239:24 | Load | ~m1239_2 | -| ir.cpp:1239:24:1239:24 | Right | r1239_13 | -| ir.cpp:1242:6:1242:31 | ChiPartial | partial:m1242_3 | -| ir.cpp:1242:6:1242:31 | ChiTotal | total:m1242_2 | -| ir.cpp:1242:6:1242:31 | SideEffect | ~m1246_1 | -| ir.cpp:1242:45:1242:51 | Address | &:r1242_5 | -| ir.cpp:1242:45:1242:51 | Address | &:r1242_5 | -| ir.cpp:1242:45:1242:51 | Address | &:r1242_7 | -| ir.cpp:1242:45:1242:51 | Address | &:r1242_7 | -| ir.cpp:1242:45:1242:51 | Load | m1242_6 | -| ir.cpp:1242:45:1242:51 | SideEffect | m1242_8 | -| ir.cpp:1243:19:1243:19 | Address | &:r1243_1 | -| ir.cpp:1243:19:1243:19 | Address | &:r1243_1 | -| ir.cpp:1243:19:1243:19 | Address | &:r1243_4 | -| ir.cpp:1243:19:1243:19 | Arg(this) | this:r1243_4 | -| ir.cpp:1243:19:1243:19 | ChiPartial | partial:m1243_6 | -| ir.cpp:1243:19:1243:19 | ChiTotal | total:m0_6 | -| ir.cpp:1243:19:1243:19 | Condition | r1243_2 | -| ir.cpp:1243:19:1243:19 | Load | ~m1242_3 | -| ir.cpp:1243:19:1243:19 | StoreValue | r1243_5 | -| ir.cpp:1244:19:1244:19 | Address | &:r1244_2 | -| ir.cpp:1244:19:1244:19 | Address | &:r1244_2 | -| ir.cpp:1244:19:1244:19 | Address | &:r1244_5 | -| ir.cpp:1244:19:1244:19 | Arg(this) | this:r1244_5 | -| ir.cpp:1244:19:1244:19 | ChiPartial | partial:m1244_16 | -| ir.cpp:1244:19:1244:19 | ChiTotal | total:m1244_14 | -| ir.cpp:1244:19:1244:19 | Condition | r1244_3 | -| ir.cpp:1244:19:1244:19 | Load | ~m1244_1 | -| ir.cpp:1244:19:1244:19 | Phi | from 0:~m1242_4 | -| ir.cpp:1244:19:1244:19 | Phi | from 1:~m1243_7 | -| ir.cpp:1244:19:1244:19 | StoreValue | r1244_15 | -| ir.cpp:1244:20:1244:29 | CallTarget | func:r1244_6 | -| ir.cpp:1244:20:1244:29 | ChiPartial | partial:m1244_10 | -| ir.cpp:1244:20:1244:29 | ChiPartial | partial:m1244_13 | -| ir.cpp:1244:20:1244:29 | ChiTotal | total:m1244_1 | -| ir.cpp:1244:20:1244:29 | ChiTotal | total:m1244_11 | -| ir.cpp:1244:20:1244:29 | SideEffect | ~m1244_1 | -| ir.cpp:1244:21:1244:28 | Address | &:r1244_8 | -| ir.cpp:1244:21:1244:28 | Arg(0) | 0:r1244_8 | -| ir.cpp:1244:21:1244:28 | SideEffect | ~m1242_3 | -| ir.cpp:1244:21:1244:28 | Unary | r1244_7 | -| ir.cpp:1245:19:1245:19 | Address | &:r1245_2 | -| ir.cpp:1245:19:1245:19 | Address | &:r1245_2 | -| ir.cpp:1245:19:1245:19 | Address | &:r1245_5 | -| ir.cpp:1245:19:1245:19 | Arg(this) | this:r1245_5 | -| ir.cpp:1245:19:1245:19 | ChiPartial | partial:m1245_16 | -| ir.cpp:1245:19:1245:19 | ChiTotal | total:m1245_14 | -| ir.cpp:1245:19:1245:19 | Condition | r1245_3 | -| ir.cpp:1245:19:1245:19 | Load | ~m1245_1 | -| ir.cpp:1245:19:1245:19 | Phi | from 2:~m1244_1 | -| ir.cpp:1245:19:1245:19 | Phi | from 3:~m1244_17 | -| ir.cpp:1245:19:1245:19 | StoreValue | r1245_15 | -| ir.cpp:1245:20:1245:28 | CallTarget | func:r1245_6 | -| ir.cpp:1245:20:1245:28 | ChiPartial | partial:m1245_10 | -| ir.cpp:1245:20:1245:28 | ChiPartial | partial:m1245_13 | -| ir.cpp:1245:20:1245:28 | ChiTotal | total:m1245_1 | -| ir.cpp:1245:20:1245:28 | ChiTotal | total:m1245_11 | -| ir.cpp:1245:20:1245:28 | SideEffect | ~m1245_1 | -| ir.cpp:1245:21:1245:27 | Address | &:r1245_7 | -| ir.cpp:1245:21:1245:27 | Address | &:r1245_8 | -| ir.cpp:1245:21:1245:27 | Arg(0) | 0:r1245_8 | -| ir.cpp:1245:21:1245:27 | Load | m1242_6 | -| ir.cpp:1245:21:1245:27 | SideEffect | ~m1242_8 | -| ir.cpp:1246:1:1246:1 | Phi | from 4:~m1245_1 | -| ir.cpp:1246:1:1246:1 | Phi | from 5:~m1245_17 | -| ir.cpp:1253:6:1253:17 | ChiPartial | partial:m1253_3 | -| ir.cpp:1253:6:1253:17 | ChiTotal | total:m1253_2 | -| ir.cpp:1253:6:1253:17 | SideEffect | m1253_3 | -| ir.cpp:1253:25:1253:26 | Address | &:r1253_5 | -| ir.cpp:1253:25:1253:26 | Address | &:r1253_5 | -| ir.cpp:1253:25:1253:26 | Address | &:r1253_7 | -| ir.cpp:1253:25:1253:26 | Address | &:r1253_7 | -| ir.cpp:1253:25:1253:26 | Load | m1253_6 | -| ir.cpp:1253:25:1253:26 | SideEffect | m1253_8 | -| ir.cpp:1253:35:1253:36 | Address | &:r1253_9 | -| ir.cpp:1253:35:1253:36 | Address | &:r1253_9 | -| ir.cpp:1253:35:1253:36 | Address | &:r1253_11 | -| ir.cpp:1253:35:1253:36 | Address | &:r1253_11 | -| ir.cpp:1253:35:1253:36 | Load | m1253_10 | -| ir.cpp:1253:35:1253:36 | SideEffect | m1253_12 | -| ir.cpp:1254:10:1254:15 | Address | &:r1254_1 | -| ir.cpp:1254:10:1254:15 | Left | r1254_1 | -| ir.cpp:1254:10:1254:15 | Left | r1254_1 | -| ir.cpp:1254:24:1254:27 | Address | &:r1254_4 | -| ir.cpp:1254:24:1254:27 | Address | &:r1254_9 | -| ir.cpp:1254:24:1254:27 | ChiPartial | partial:m1254_11 | -| ir.cpp:1254:24:1254:27 | ChiTotal | total:m1254_7 | -| ir.cpp:1254:24:1254:27 | Right | r1254_3 | -| ir.cpp:1254:24:1254:27 | Right | r1254_8 | -| ir.cpp:1254:24:1254:27 | StoreValue | r1254_10 | -| ir.cpp:1254:26:1254:26 | ChiPartial | partial:m1254_6 | -| ir.cpp:1254:26:1254:26 | ChiTotal | total:m1254_2 | -| ir.cpp:1254:26:1254:26 | StoreValue | r1254_5 | -| ir.cpp:1256:5:1256:10 | CallTarget | func:r1256_1 | -| ir.cpp:1256:12:1256:17 | Address | &:r1256_3 | -| ir.cpp:1256:12:1256:17 | Arg(0) | 0:r1256_3 | -| ir.cpp:1256:12:1256:17 | ChiPartial | partial:m1256_9 | -| ir.cpp:1256:12:1256:17 | ChiTotal | total:m1254_12 | -| ir.cpp:1256:12:1256:17 | Unary | r1256_2 | -| ir.cpp:1256:20:1256:21 | Address | &:r1256_4 | -| ir.cpp:1256:20:1256:21 | Address | &:r1256_6 | -| ir.cpp:1256:20:1256:21 | Arg(1) | 1:r1256_6 | -| ir.cpp:1256:20:1256:21 | Load | m1253_6 | -| ir.cpp:1256:20:1256:21 | SideEffect | ~m1253_8 | -| ir.cpp:1256:20:1256:21 | Unary | r1256_5 | -| ir.cpp:1257:5:1257:10 | CallTarget | func:r1257_1 | -| ir.cpp:1257:12:1257:17 | Address | &:r1257_3 | -| ir.cpp:1257:12:1257:17 | Address | &:r1257_3 | -| ir.cpp:1257:12:1257:17 | Arg(0) | 0:r1257_3 | -| ir.cpp:1257:12:1257:17 | ChiPartial | partial:m1257_10 | -| ir.cpp:1257:12:1257:17 | ChiTotal | total:m1256_10 | -| ir.cpp:1257:12:1257:17 | SideEffect | ~m1256_10 | -| ir.cpp:1257:12:1257:17 | Unary | r1257_2 | -| ir.cpp:1257:20:1257:21 | Address | &:r1257_4 | -| ir.cpp:1257:20:1257:21 | Address | &:r1257_6 | -| ir.cpp:1257:20:1257:21 | Arg(1) | 1:r1257_6 | -| ir.cpp:1257:20:1257:21 | Load | m1253_10 | -| ir.cpp:1257:20:1257:21 | SideEffect | ~m1253_12 | -| ir.cpp:1257:20:1257:21 | Unary | r1257_5 | -| ir.cpp:1263:17:1263:29 | ChiPartial | partial:m1263_3 | -| ir.cpp:1263:17:1263:29 | ChiTotal | total:m1263_2 | -| ir.cpp:1263:17:1263:29 | SideEffect | m1263_3 | -| ir.cpp:1263:34:1263:34 | Address | &:r1263_5 | -| ir.cpp:1263:34:1263:34 | Address | &:r1263_5 | -| ir.cpp:1263:34:1263:34 | Address | &:r1263_7 | -| ir.cpp:1263:34:1263:34 | Address | &:r1263_7 | -| ir.cpp:1263:34:1263:34 | Load | m1263_6 | -| ir.cpp:1263:34:1263:34 | SideEffect | m1264_7 | -| ir.cpp:1263:41:1263:41 | Address | &:r1263_9 | -| ir.cpp:1264:9:1264:9 | Address | &:r1264_3 | -| ir.cpp:1264:9:1264:9 | Load | m1263_6 | -| ir.cpp:1264:9:1264:9 | Unary | r1264_4 | -| ir.cpp:1264:9:1264:21 | ChiPartial | partial:m1264_6 | -| ir.cpp:1264:9:1264:21 | ChiTotal | total:m1263_8 | -| ir.cpp:1264:12:1264:17 | Address | &:r1264_5 | -| ir.cpp:1264:21:1264:21 | Address | &:r1264_1 | -| ir.cpp:1264:21:1264:21 | Load | m1263_10 | -| ir.cpp:1264:21:1264:21 | StoreValue | r1264_2 | -| ir.cpp:1272:6:1272:33 | ChiPartial | partial:m1272_3 | -| ir.cpp:1272:6:1272:33 | ChiTotal | total:m1272_2 | -| ir.cpp:1272:6:1272:33 | SideEffect | ~m1289_6 | -| ir.cpp:1272:39:1272:45 | Address | &:r1272_5 | -| ir.cpp:1272:51:1272:55 | Address | &:r1272_7 | -| ir.cpp:1272:51:1272:55 | Address | &:r1272_7 | -| ir.cpp:1272:51:1272:55 | Address | &:r1272_9 | -| ir.cpp:1272:51:1272:55 | Address | &:r1272_9 | -| ir.cpp:1272:51:1272:55 | Load | m1272_8 | -| ir.cpp:1272:51:1272:55 | SideEffect | m1283_12 | -| ir.cpp:1273:7:1273:7 | Address | &:r1273_1 | -| ir.cpp:1273:7:1273:7 | Address | &:r1273_1 | -| ir.cpp:1273:7:1273:7 | Arg(this) | this:r1273_1 | -| ir.cpp:1273:7:1273:7 | CallTarget | func:r1273_3 | -| ir.cpp:1273:7:1273:7 | ChiPartial | partial:m1273_5 | -| ir.cpp:1273:7:1273:7 | ChiPartial | partial:m1273_7 | -| ir.cpp:1273:7:1273:7 | ChiTotal | total:m1272_4 | -| ir.cpp:1273:7:1273:7 | ChiTotal | total:m1273_2 | -| ir.cpp:1273:7:1273:7 | SideEffect | ~m1272_4 | -| ir.cpp:1274:7:1274:26 | CallTarget | func:r1274_2 | -| ir.cpp:1274:7:1274:26 | ChiPartial | partial:m1274_5 | -| ir.cpp:1274:7:1274:26 | ChiTotal | total:m1273_6 | -| ir.cpp:1274:7:1274:26 | SideEffect | ~m1273_6 | -| ir.cpp:1274:28:1274:29 | Arg(0) | 0:r1274_3 | -| ir.cpp:1275:5:1275:27 | CallTarget | func:r1275_1 | -| ir.cpp:1275:5:1275:27 | ChiPartial | partial:m1275_4 | -| ir.cpp:1275:5:1275:27 | ChiTotal | total:m1274_6 | -| ir.cpp:1275:5:1275:27 | SideEffect | ~m1274_6 | -| ir.cpp:1275:29:1275:30 | Arg(0) | 0:r1275_2 | -| ir.cpp:1277:7:1277:7 | Address | &:r1277_1 | -| ir.cpp:1278:7:1278:19 | CallTarget | func:r1278_2 | -| ir.cpp:1278:7:1278:19 | ChiPartial | partial:m1278_8 | -| ir.cpp:1278:7:1278:19 | ChiTotal | total:m1275_5 | -| ir.cpp:1278:7:1278:19 | SideEffect | ~m1275_5 | -| ir.cpp:1278:21:1278:22 | Address | &:r1278_4 | -| ir.cpp:1278:21:1278:22 | Address | &:r1278_4 | -| ir.cpp:1278:21:1278:22 | Arg(0) | 0:r1278_4 | -| ir.cpp:1278:21:1278:22 | ChiPartial | partial:m1278_11 | -| ir.cpp:1278:21:1278:22 | ChiTotal | total:m1277_2 | -| ir.cpp:1278:21:1278:22 | SideEffect | ~m1277_2 | -| ir.cpp:1278:22:1278:22 | Unary | r1278_3 | -| ir.cpp:1278:25:1278:31 | Address | &:r1278_5 | -| ir.cpp:1278:25:1278:31 | Arg(1) | 1:r1278_6 | -| ir.cpp:1278:25:1278:31 | Load | m1272_6 | -| ir.cpp:1279:5:1279:20 | CallTarget | func:r1279_1 | -| ir.cpp:1279:5:1279:20 | ChiPartial | partial:m1279_7 | -| ir.cpp:1279:5:1279:20 | ChiTotal | total:m1278_9 | -| ir.cpp:1279:5:1279:20 | SideEffect | ~m1278_9 | -| ir.cpp:1279:22:1279:23 | Address | &:r1279_3 | -| ir.cpp:1279:22:1279:23 | Address | &:r1279_3 | -| ir.cpp:1279:22:1279:23 | Arg(0) | 0:r1279_3 | -| ir.cpp:1279:22:1279:23 | ChiPartial | partial:m1279_10 | -| ir.cpp:1279:22:1279:23 | ChiTotal | total:m1278_12 | -| ir.cpp:1279:22:1279:23 | SideEffect | ~m1278_12 | -| ir.cpp:1279:23:1279:23 | Unary | r1279_2 | -| ir.cpp:1279:26:1279:32 | Address | &:r1279_4 | -| ir.cpp:1279:26:1279:32 | Arg(1) | 1:r1279_5 | -| ir.cpp:1279:26:1279:32 | Load | m1272_6 | -| ir.cpp:1281:7:1281:7 | Unary | r1281_1 | -| ir.cpp:1281:11:1281:23 | CallTarget | func:r1281_3 | -| ir.cpp:1281:11:1281:23 | ChiPartial | partial:m1281_11 | -| ir.cpp:1281:11:1281:23 | ChiTotal | total:m1279_8 | -| ir.cpp:1281:11:1281:23 | SideEffect | ~m1279_8 | -| ir.cpp:1281:25:1281:29 | Address | &:r1281_4 | -| ir.cpp:1281:25:1281:29 | Address | &:r1281_5 | -| ir.cpp:1281:25:1281:29 | Address | &:r1281_5 | -| ir.cpp:1281:25:1281:29 | Arg(0) | 0:r1281_5 | -| ir.cpp:1281:25:1281:29 | ChiPartial | partial:m1281_14 | -| ir.cpp:1281:25:1281:29 | ChiTotal | total:m1272_10 | -| ir.cpp:1281:25:1281:29 | Load | m1272_8 | -| ir.cpp:1281:25:1281:29 | SideEffect | ~m1272_10 | -| ir.cpp:1281:32:1281:38 | Address | &:r1281_6 | -| ir.cpp:1281:32:1281:38 | Left | r1281_7 | -| ir.cpp:1281:32:1281:38 | Load | m1272_6 | -| ir.cpp:1281:32:1281:42 | Arg(1) | 1:r1281_9 | -| ir.cpp:1281:42:1281:42 | Right | r1281_8 | -| ir.cpp:1282:7:1282:11 | Address | &:r1282_1 | -| ir.cpp:1282:7:1282:11 | Load | m1272_8 | -| ir.cpp:1282:7:1282:11 | Unary | r1282_2 | -| ir.cpp:1282:14:1282:26 | CallTarget | func:r1282_4 | -| ir.cpp:1282:14:1282:26 | ChiPartial | partial:m1282_9 | -| ir.cpp:1282:14:1282:26 | ChiTotal | total:m1281_12 | -| ir.cpp:1282:14:1282:26 | SideEffect | ~m1281_12 | -| ir.cpp:1282:28:1282:29 | Address | &:r1282_6 | -| ir.cpp:1282:28:1282:29 | Address | &:r1282_6 | -| ir.cpp:1282:28:1282:29 | Arg(0) | 0:r1282_6 | -| ir.cpp:1282:28:1282:29 | ChiPartial | partial:m1282_12 | -| ir.cpp:1282:28:1282:29 | ChiTotal | total:m1279_11 | -| ir.cpp:1282:28:1282:29 | SideEffect | ~m1279_11 | -| ir.cpp:1282:29:1282:29 | Unary | r1282_5 | -| ir.cpp:1282:32:1282:33 | Arg(1) | 1:r1282_7 | -| ir.cpp:1283:5:1283:9 | Address | &:r1283_1 | -| ir.cpp:1283:5:1283:9 | Load | m1272_8 | -| ir.cpp:1283:12:1283:24 | CallTarget | func:r1283_3 | -| ir.cpp:1283:12:1283:24 | ChiPartial | partial:m1283_8 | -| ir.cpp:1283:12:1283:24 | ChiTotal | total:m1282_10 | -| ir.cpp:1283:12:1283:24 | SideEffect | ~m1282_10 | -| ir.cpp:1283:26:1283:30 | Address | &:r1283_4 | -| ir.cpp:1283:26:1283:30 | Address | &:r1283_5 | -| ir.cpp:1283:26:1283:30 | Address | &:r1283_5 | -| ir.cpp:1283:26:1283:30 | Arg(0) | 0:r1283_5 | -| ir.cpp:1283:26:1283:30 | ChiPartial | partial:m1283_11 | -| ir.cpp:1283:26:1283:30 | ChiTotal | total:m1281_15 | -| ir.cpp:1283:26:1283:30 | Load | m1272_8 | -| ir.cpp:1283:26:1283:30 | SideEffect | ~m1281_15 | -| ir.cpp:1283:33:1283:34 | Arg(1) | 1:r1283_6 | -| ir.cpp:1285:7:1285:31 | CallTarget | func:r1285_2 | -| ir.cpp:1285:7:1285:31 | ChiPartial | partial:m1285_4 | -| ir.cpp:1285:7:1285:31 | ChiTotal | total:m1283_9 | -| ir.cpp:1285:7:1285:31 | SideEffect | ~m1283_9 | -| ir.cpp:1286:5:1286:32 | CallTarget | func:r1286_1 | -| ir.cpp:1286:5:1286:32 | ChiPartial | partial:m1286_3 | -| ir.cpp:1286:5:1286:32 | ChiTotal | total:m1285_5 | -| ir.cpp:1286:5:1286:32 | SideEffect | ~m1285_5 | -| ir.cpp:1288:5:1288:20 | CallTarget | func:r1288_1 | -| ir.cpp:1288:5:1288:20 | ChiPartial | partial:m1288_3 | -| ir.cpp:1288:5:1288:20 | ChiTotal | total:m1286_4 | -| ir.cpp:1288:5:1288:20 | SideEffect | ~m1286_4 | -| ir.cpp:1288:25:1288:49 | CallTarget | func:r1288_5 | -| ir.cpp:1288:25:1288:49 | ChiPartial | partial:m1288_7 | -| ir.cpp:1288:25:1288:49 | ChiTotal | total:m1288_4 | -| ir.cpp:1288:25:1288:49 | SideEffect | ~m1288_4 | -| ir.cpp:1289:1:1289:1 | Address | &:r1289_2 | -| ir.cpp:1289:1:1289:1 | Address | &:r1289_2 | -| ir.cpp:1289:1:1289:1 | Arg(this) | this:r1289_2 | -| ir.cpp:1289:1:1289:1 | CallTarget | func:r1289_3 | -| ir.cpp:1289:1:1289:1 | ChiPartial | partial:m1289_5 | -| ir.cpp:1289:1:1289:1 | ChiPartial | partial:m1289_8 | -| ir.cpp:1289:1:1289:1 | ChiTotal | total:m1273_8 | -| ir.cpp:1289:1:1289:1 | ChiTotal | total:m1288_8 | -| ir.cpp:1289:1:1289:1 | SideEffect | m1273_8 | -| ir.cpp:1289:1:1289:1 | SideEffect | ~m1288_8 | -| ir.cpp:1291:5:1291:22 | Address | &:r1291_10 | -| ir.cpp:1291:5:1291:22 | ChiPartial | partial:m1291_3 | -| ir.cpp:1291:5:1291:22 | ChiTotal | total:m1291_2 | -| ir.cpp:1291:5:1291:22 | Load | m1291_9 | -| ir.cpp:1291:5:1291:22 | Phi | from 2:m1293_4 | -| ir.cpp:1291:5:1291:22 | Phi | from 3:m1295_2 | -| ir.cpp:1291:5:1291:22 | SideEffect | m1291_3 | -| ir.cpp:1291:29:1291:29 | Address | &:r1291_5 | -| ir.cpp:1291:36:1291:36 | Address | &:r1291_7 | -| ir.cpp:1292:9:1292:9 | Address | &:r1292_1 | -| ir.cpp:1292:9:1292:9 | Condition | r1292_2 | -| ir.cpp:1292:9:1292:9 | Load | m1291_6 | -| ir.cpp:1293:9:1293:17 | Address | &:r1293_1 | -| ir.cpp:1293:16:1293:16 | Address | &:r1293_2 | -| ir.cpp:1293:16:1293:16 | Load | m1291_8 | -| ir.cpp:1293:16:1293:16 | StoreValue | r1293_3 | -| ir.cpp:1295:1:1295:1 | Address | &:r1295_1 | -| ir.cpp:1297:6:1297:15 | ChiPartial | partial:m1297_3 | -| ir.cpp:1297:6:1297:15 | ChiTotal | total:m1297_2 | -| ir.cpp:1297:6:1297:15 | SideEffect | ~m1298_8 | -| ir.cpp:1297:21:1297:21 | Address | &:r1297_5 | -| ir.cpp:1297:28:1297:28 | Address | &:r1297_7 | -| ir.cpp:1298:12:1298:21 | CallTarget | func:r1298_1 | -| ir.cpp:1298:12:1298:21 | ChiPartial | partial:m1298_7 | -| ir.cpp:1298:12:1298:21 | ChiTotal | total:m1297_4 | -| ir.cpp:1298:12:1298:21 | SideEffect | ~m1297_4 | -| ir.cpp:1298:23:1298:23 | Address | &:r1298_2 | -| ir.cpp:1298:23:1298:23 | Arg(0) | 0:r1298_3 | -| ir.cpp:1298:23:1298:23 | Load | m1297_6 | -| ir.cpp:1298:26:1298:26 | Address | &:r1298_4 | -| ir.cpp:1298:26:1298:26 | Arg(1) | 1:r1298_5 | -| ir.cpp:1298:26:1298:26 | Load | m1297_8 | -| ir.cpp:1301:6:1301:25 | ChiPartial | partial:m1301_3 | -| ir.cpp:1301:6:1301:25 | ChiTotal | total:m1301_2 | -| ir.cpp:1301:6:1301:25 | SideEffect | m1301_3 | -| ir.cpp:1301:32:1301:32 | Address | &:r1301_5 | -| ir.cpp:1301:39:1301:39 | Address | &:r1301_7 | -| ir.cpp:1301:47:1301:47 | Address | &:r1301_9 | -| ir.cpp:1302:9:1302:9 | Address | &:r1302_1 | -| ir.cpp:1302:13:1302:13 | Address | &:r1302_2 | -| ir.cpp:1302:13:1302:13 | Load | m1301_8 | -| ir.cpp:1302:13:1302:13 | StoreValue | r1302_3 | -| ir.cpp:1303:5:1303:5 | Address | &:r1303_7 | -| ir.cpp:1303:9:1303:9 | Address | &:r1303_1 | -| ir.cpp:1303:9:1303:9 | Condition | r1303_2 | -| ir.cpp:1303:9:1303:9 | Load | m1301_6 | -| ir.cpp:1303:9:1303:9 | StoreValue | r1303_2 | -| ir.cpp:1303:9:1303:14 | Address | &:r1303_5 | -| ir.cpp:1303:9:1303:14 | Address | &:r1303_9 | -| ir.cpp:1303:9:1303:14 | Address | &:r1303_13 | -| ir.cpp:1303:9:1303:14 | Load | m1303_4 | -| ir.cpp:1303:9:1303:14 | Phi | from 2:m1303_10 | -| ir.cpp:1303:9:1303:14 | Phi | from 3:m1303_14 | -| ir.cpp:1303:9:1303:14 | StoreValue | r1303_6 | -| ir.cpp:1303:14:1303:14 | Address | &:r1303_11 | -| ir.cpp:1303:14:1303:14 | Load | m1301_8 | -| ir.cpp:1303:14:1303:14 | StoreValue | r1303_12 | -| ir.cpp:1304:5:1304:5 | Address | &:r1304_8 | -| ir.cpp:1304:9:1304:9 | Address | &:r1304_1 | -| ir.cpp:1304:9:1304:9 | Condition | r1304_2 | -| ir.cpp:1304:9:1304:9 | Load | m1301_6 | -| ir.cpp:1304:9:1304:9 | StoreValue | r1304_2 | -| ir.cpp:1304:9:1304:14 | Address | &:r1304_5 | -| ir.cpp:1304:9:1304:14 | Address | &:r1304_10 | -| ir.cpp:1304:9:1304:14 | Address | &:r1304_14 | -| ir.cpp:1304:9:1304:14 | Load | m1304_4 | -| ir.cpp:1304:9:1304:14 | Phi | from 5:m1304_11 | -| ir.cpp:1304:9:1304:14 | Phi | from 6:m1304_15 | -| ir.cpp:1304:9:1304:14 | StoreValue | r1304_7 | -| ir.cpp:1304:9:1304:14 | Unary | r1304_6 | -| ir.cpp:1304:14:1304:14 | Address | &:r1304_12 | -| ir.cpp:1304:14:1304:14 | Load | m1301_10 | -| ir.cpp:1304:14:1304:14 | StoreValue | r1304_13 | -| ir.cpp:1305:5:1305:5 | Address | &:r1305_9 | -| ir.cpp:1305:9:1305:9 | Address | &:r1305_1 | -| ir.cpp:1305:9:1305:9 | Condition | r1305_4 | -| ir.cpp:1305:9:1305:9 | Left | r1305_2 | -| ir.cpp:1305:9:1305:9 | Load | m1301_8 | -| ir.cpp:1305:9:1305:9 | Right | r1305_3 | -| ir.cpp:1305:9:1305:9 | StoreValue | r1305_2 | -| ir.cpp:1305:9:1305:14 | Address | &:r1305_7 | -| ir.cpp:1305:9:1305:14 | Address | &:r1305_11 | -| ir.cpp:1305:9:1305:14 | Address | &:r1305_15 | -| ir.cpp:1305:9:1305:14 | Load | m1305_6 | -| ir.cpp:1305:9:1305:14 | Phi | from 8:m1305_12 | -| ir.cpp:1305:9:1305:14 | Phi | from 9:m1305_16 | -| ir.cpp:1305:9:1305:14 | StoreValue | r1305_8 | -| ir.cpp:1305:14:1305:14 | Address | &:r1305_13 | -| ir.cpp:1305:14:1305:14 | Load | m1301_8 | -| ir.cpp:1305:14:1305:14 | StoreValue | r1305_14 | -| ir.cpp:1306:5:1306:5 | Address | &:r1306_10 | -| ir.cpp:1306:9:1306:9 | Address | &:r1306_1 | -| ir.cpp:1306:9:1306:9 | Condition | r1306_4 | -| ir.cpp:1306:9:1306:9 | Left | r1306_2 | -| ir.cpp:1306:9:1306:9 | Load | m1301_8 | -| ir.cpp:1306:9:1306:9 | Right | r1306_3 | -| ir.cpp:1306:9:1306:9 | StoreValue | r1306_2 | -| ir.cpp:1306:9:1306:14 | Address | &:r1306_7 | -| ir.cpp:1306:9:1306:14 | Address | &:r1306_12 | -| ir.cpp:1306:9:1306:14 | Address | &:r1306_16 | -| ir.cpp:1306:9:1306:14 | Load | m1306_6 | -| ir.cpp:1306:9:1306:14 | Phi | from 11:m1306_13 | -| ir.cpp:1306:9:1306:14 | Phi | from 12:m1306_17 | -| ir.cpp:1306:9:1306:14 | StoreValue | r1306_9 | -| ir.cpp:1306:9:1306:14 | Unary | r1306_8 | -| ir.cpp:1306:14:1306:14 | Address | &:r1306_14 | -| ir.cpp:1306:14:1306:14 | Load | m1301_10 | -| ir.cpp:1306:14:1306:14 | StoreValue | r1306_15 | -| ir.cpp:1307:5:1307:5 | Address | &:r1307_10 | -| ir.cpp:1307:9:1307:9 | Address | &:r1307_1 | -| ir.cpp:1307:9:1307:9 | Condition | r1307_4 | -| ir.cpp:1307:9:1307:9 | Left | r1307_2 | -| ir.cpp:1307:9:1307:9 | Load | m1301_10 | -| ir.cpp:1307:9:1307:9 | Right | r1307_3 | -| ir.cpp:1307:9:1307:9 | StoreValue | r1307_2 | -| ir.cpp:1307:9:1307:14 | Address | &:r1307_7 | -| ir.cpp:1307:9:1307:14 | Address | &:r1307_12 | -| ir.cpp:1307:9:1307:14 | Address | &:r1307_17 | -| ir.cpp:1307:9:1307:14 | Load | m1307_6 | -| ir.cpp:1307:9:1307:14 | Phi | from 14:m1307_13 | -| ir.cpp:1307:9:1307:14 | Phi | from 15:m1307_18 | -| ir.cpp:1307:9:1307:14 | StoreValue | r1307_9 | -| ir.cpp:1307:9:1307:14 | Unary | r1307_8 | -| ir.cpp:1307:14:1307:14 | Address | &:r1307_14 | -| ir.cpp:1307:14:1307:14 | Load | m1301_8 | -| ir.cpp:1307:14:1307:14 | StoreValue | r1307_16 | -| ir.cpp:1307:14:1307:14 | Unary | r1307_15 | -| ir.cpp:1308:5:1308:5 | Address | &:r1308_10 | -| ir.cpp:1308:9:1308:9 | Address | &:r1308_1 | -| ir.cpp:1308:9:1308:9 | Condition | r1308_4 | -| ir.cpp:1308:9:1308:9 | Left | r1308_2 | -| ir.cpp:1308:9:1308:9 | Load | m1301_10 | -| ir.cpp:1308:9:1308:9 | Right | r1308_3 | -| ir.cpp:1308:9:1308:9 | StoreValue | r1308_2 | -| ir.cpp:1308:9:1308:14 | Address | &:r1308_7 | -| ir.cpp:1308:9:1308:14 | Address | &:r1308_12 | -| ir.cpp:1308:9:1308:14 | Address | &:r1308_16 | -| ir.cpp:1308:9:1308:14 | Load | m1308_6 | -| ir.cpp:1308:9:1308:14 | Phi | from 17:m1308_13 | -| ir.cpp:1308:9:1308:14 | Phi | from 18:m1308_17 | -| ir.cpp:1308:9:1308:14 | StoreValue | r1308_9 | -| ir.cpp:1308:9:1308:14 | Unary | r1308_8 | -| ir.cpp:1308:14:1308:14 | Address | &:r1308_14 | -| ir.cpp:1308:14:1308:14 | Load | m1301_10 | -| ir.cpp:1308:14:1308:14 | StoreValue | r1308_15 | -| ir.cpp:1310:5:1310:5 | Address | &:r1310_9 | -| ir.cpp:1310:9:1310:26 | Address | &:r1310_7 | -| ir.cpp:1310:9:1310:26 | Address | &:r1310_11 | -| ir.cpp:1310:9:1310:26 | Address | &:r1310_33 | -| ir.cpp:1310:9:1310:26 | Load | m1310_6 | -| ir.cpp:1310:9:1310:26 | Phi | from 20:m1310_12 | -| ir.cpp:1310:9:1310:26 | Phi | from 26:m1310_34 | -| ir.cpp:1310:9:1310:26 | StoreValue | r1310_8 | -| ir.cpp:1310:10:1310:10 | Address | &:r1310_1 | -| ir.cpp:1310:10:1310:10 | Condition | r1310_4 | -| ir.cpp:1310:10:1310:10 | Left | r1310_2 | -| ir.cpp:1310:10:1310:10 | Load | m1301_8 | -| ir.cpp:1310:10:1310:10 | Right | r1310_3 | -| ir.cpp:1310:10:1310:20 | Address | &:r1310_13 | -| ir.cpp:1310:10:1310:20 | Address | &:r1310_17 | -| ir.cpp:1310:10:1310:20 | Address | &:r1310_20 | -| ir.cpp:1310:10:1310:20 | Condition | r1310_18 | -| ir.cpp:1310:10:1310:20 | Load | m1310_16 | -| ir.cpp:1310:10:1310:20 | Phi | from 21:m1310_15 | -| ir.cpp:1310:10:1310:20 | Phi | from 23:m1310_22 | -| ir.cpp:1310:10:1310:20 | StoreValue | r1310_14 | -| ir.cpp:1310:10:1310:20 | StoreValue | r1310_18 | -| ir.cpp:1310:10:1310:20 | StoreValue | r1310_21 | -| ir.cpp:1310:15:1310:15 | Address | &:r1310_23 | -| ir.cpp:1310:15:1310:15 | Condition | r1310_24 | -| ir.cpp:1310:15:1310:15 | Load | m1301_6 | -| ir.cpp:1310:20:1310:20 | Address | &:r1310_26 | -| ir.cpp:1310:20:1310:20 | Condition | r1310_29 | -| ir.cpp:1310:20:1310:20 | Left | r1310_27 | -| ir.cpp:1310:20:1310:20 | Load | m1301_10 | -| ir.cpp:1310:20:1310:20 | Right | r1310_28 | -| ir.cpp:1310:26:1310:26 | Address | &:r1310_31 | -| ir.cpp:1310:26:1310:26 | Load | m1301_8 | -| ir.cpp:1310:26:1310:26 | StoreValue | r1310_32 | -| ir.cpp:1316:5:1316:27 | Address | &:r1316_9 | -| ir.cpp:1316:5:1316:27 | ChiPartial | partial:m1316_3 | -| ir.cpp:1316:5:1316:27 | ChiTotal | total:m1316_2 | -| ir.cpp:1316:5:1316:27 | Load | m1317_11 | -| ir.cpp:1316:5:1316:27 | SideEffect | ~m1317_7 | -| ir.cpp:1316:33:1316:33 | Address | &:r1316_5 | -| ir.cpp:1316:40:1316:40 | Address | &:r1316_7 | -| ir.cpp:1317:5:1317:48 | Address | &:r1317_1 | -| ir.cpp:1317:12:1317:21 | CallTarget | func:r1317_2 | -| ir.cpp:1317:12:1317:21 | ChiPartial | partial:m1317_4 | -| ir.cpp:1317:12:1317:21 | ChiTotal | total:m1316_4 | -| ir.cpp:1317:12:1317:21 | Condition | r1317_3 | -| ir.cpp:1317:12:1317:21 | SideEffect | ~m1316_4 | -| ir.cpp:1317:12:1317:47 | Address | &:r1317_9 | -| ir.cpp:1317:12:1317:47 | Address | &:r1317_19 | -| ir.cpp:1317:12:1317:47 | Address | &:r1317_24 | -| ir.cpp:1317:12:1317:47 | Load | m1317_8 | -| ir.cpp:1317:12:1317:47 | Phi | from 3:m1317_20 | -| ir.cpp:1317:12:1317:47 | Phi | from 3:~m1317_15 | -| ir.cpp:1317:12:1317:47 | Phi | from 4:m1317_25 | -| ir.cpp:1317:12:1317:47 | Phi | from 4:~m1317_21 | -| ir.cpp:1317:12:1317:47 | StoreValue | r1317_10 | -| ir.cpp:1317:28:1317:37 | CallTarget | func:r1317_12 | -| ir.cpp:1317:28:1317:37 | ChiPartial | partial:m1317_14 | -| ir.cpp:1317:28:1317:37 | ChiTotal | total:m1317_5 | -| ir.cpp:1317:28:1317:37 | Condition | r1317_13 | -| ir.cpp:1317:28:1317:37 | SideEffect | ~m1317_5 | -| ir.cpp:1317:43:1317:43 | Address | &:r1317_17 | -| ir.cpp:1317:43:1317:43 | Load | m1316_6 | -| ir.cpp:1317:43:1317:43 | StoreValue | r1317_18 | -| ir.cpp:1317:47:1317:47 | Address | &:r1317_22 | -| ir.cpp:1317:47:1317:47 | Load | m1316_8 | -| ir.cpp:1317:47:1317:47 | Phi | from 0:~m1317_5 | -| ir.cpp:1317:47:1317:47 | Phi | from 2:~m1317_15 | -| ir.cpp:1317:47:1317:47 | StoreValue | r1317_23 | -| ir.cpp:1322:6:1322:6 | ChiPartial | partial:m1322_3 | -| ir.cpp:1322:6:1322:6 | ChiTotal | total:m1322_2 | -| ir.cpp:1322:6:1322:6 | SideEffect | ~m1324_8 | -| ir.cpp:1322:13:1322:13 | Address | &:r1322_5 | -| ir.cpp:1322:13:1322:13 | Address | &:r1322_5 | -| ir.cpp:1322:13:1322:13 | Address | &:r1322_7 | -| ir.cpp:1322:13:1322:13 | Address | &:r1322_7 | -| ir.cpp:1322:13:1322:13 | Load | m1322_6 | -| ir.cpp:1322:13:1322:13 | SideEffect | m1322_8 | -| ir.cpp:1324:3:1324:13 | Address | &:r1324_6 | -| ir.cpp:1324:3:1324:13 | Arg(0) | 0:r1324_2 | -| ir.cpp:1324:3:1324:13 | CallTarget | func:r1324_1 | -| ir.cpp:1324:3:1324:13 | ChiPartial | partial:m1324_7 | -| ir.cpp:1324:3:1324:13 | ChiTotal | total:m1322_4 | -| ir.cpp:1324:3:1324:13 | SideEffect | ~m1322_4 | -| ir.cpp:1324:3:1324:13 | Unary | r1324_6 | -| ir.cpp:1324:8:1324:8 | Address | &:r1324_3 | -| ir.cpp:1324:8:1324:8 | Arg(1) | 1:r1324_5 | -| ir.cpp:1324:8:1324:8 | Load | m1322_6 | -| ir.cpp:1324:8:1324:8 | Unary | r1324_4 | -| ir.cpp:1328:3:1328:3 | Address | &:r1328_5 | -| ir.cpp:1328:3:1328:3 | Address | &:r1328_5 | -| ir.cpp:1328:3:1328:3 | Address | &:r1328_5 | -| ir.cpp:1328:3:1328:3 | Address | &:r1328_5 | -| ir.cpp:1328:3:1328:3 | ChiPartial | partial:m1328_3 | -| ir.cpp:1328:3:1328:3 | ChiPartial | partial:m1328_3 | -| ir.cpp:1328:3:1328:3 | ChiPartial | partial:m1328_3 | -| ir.cpp:1328:3:1328:3 | ChiPartial | partial:m1328_3 | -| ir.cpp:1328:3:1328:3 | ChiTotal | total:m1328_2 | -| ir.cpp:1328:3:1328:3 | ChiTotal | total:m1328_2 | -| ir.cpp:1328:3:1328:3 | ChiTotal | total:m1328_2 | -| ir.cpp:1328:3:1328:3 | ChiTotal | total:m1328_2 | -| ir.cpp:1328:3:1328:3 | Load | m1329_3 | -| ir.cpp:1328:3:1328:3 | Load | m1329_3 | -| ir.cpp:1328:3:1328:3 | Load | m1329_8 | -| ir.cpp:1328:3:1328:3 | Load | m1329_8 | -| ir.cpp:1328:3:1328:3 | SideEffect | m1328_3 | -| ir.cpp:1328:3:1328:3 | SideEffect | m1328_3 | -| ir.cpp:1328:3:1328:3 | SideEffect | ~m1329_6 | -| ir.cpp:1328:3:1328:3 | SideEffect | ~m1329_6 | -| ir.cpp:1329:5:1329:15 | Address | &:r1329_1 | -| ir.cpp:1329:5:1329:15 | Address | &:r1329_1 | -| ir.cpp:1329:5:1329:15 | Address | &:r1329_1 | -| ir.cpp:1329:5:1329:15 | Address | &:r1329_1 | -| ir.cpp:1329:5:1329:15 | Address | &:r1329_1 | -| ir.cpp:1329:5:1329:15 | Address | &:r1329_1 | -| ir.cpp:1329:5:1329:15 | Arg(this) | this:r1329_1 | -| ir.cpp:1329:5:1329:15 | Arg(this) | this:r1329_1 | -| ir.cpp:1329:5:1329:15 | CallTarget | func:r1329_3 | -| ir.cpp:1329:5:1329:15 | CallTarget | func:r1329_3 | -| ir.cpp:1329:5:1329:15 | ChiPartial | partial:m1329_5 | -| ir.cpp:1329:5:1329:15 | ChiPartial | partial:m1329_5 | -| ir.cpp:1329:5:1329:15 | ChiPartial | partial:m1329_7 | -| ir.cpp:1329:5:1329:15 | ChiPartial | partial:m1329_7 | -| ir.cpp:1329:5:1329:15 | ChiTotal | total:m1328_4 | -| ir.cpp:1329:5:1329:15 | ChiTotal | total:m1328_4 | -| ir.cpp:1329:5:1329:15 | ChiTotal | total:m1329_2 | -| ir.cpp:1329:5:1329:15 | ChiTotal | total:m1329_2 | -| ir.cpp:1329:5:1329:15 | SideEffect | ~m1328_4 | -| ir.cpp:1329:5:1329:15 | SideEffect | ~m1328_4 | -| ir.cpp:1329:5:1329:15 | StoreValue | r1329_2 | -| ir.cpp:1329:5:1329:15 | StoreValue | r1329_2 | -| ir.cpp:1367:6:1367:21 | ChiPartial | partial:m1367_3 | -| ir.cpp:1367:6:1367:21 | ChiTotal | total:m1367_2 | -| ir.cpp:1367:6:1367:21 | SideEffect | ~m1379_6 | -| ir.cpp:1368:12:1368:12 | Address | &:r1368_1 | -| ir.cpp:1368:16:1368:34 | CallTarget | func:r1368_2 | -| ir.cpp:1368:16:1368:34 | ChiPartial | partial:m1368_4 | -| ir.cpp:1368:16:1368:34 | ChiTotal | total:m1367_4 | -| ir.cpp:1368:16:1368:34 | SideEffect | ~m1367_4 | -| ir.cpp:1368:16:1368:34 | StoreValue | r1368_3 | -| ir.cpp:1369:19:1369:20 | Address | &:r1369_1 | -| ir.cpp:1369:24:1369:42 | CallTarget | func:r1369_3 | -| ir.cpp:1369:24:1369:42 | ChiPartial | partial:m1369_5 | -| ir.cpp:1369:24:1369:42 | ChiTotal | total:m1368_5 | -| ir.cpp:1369:24:1369:42 | SideEffect | ~m1368_5 | -| ir.cpp:1369:24:1369:42 | StoreValue | r1369_4 | -| ir.cpp:1369:24:1369:44 | Address | &:r1369_2 | -| ir.cpp:1369:24:1369:44 | StoreValue | r1369_9 | -| ir.cpp:1369:24:1369:44 | Unary | r1369_2 | -| ir.cpp:1369:24:1369:44 | Unary | r1369_8 | -| ir.cpp:1371:5:1371:13 | CallTarget | func:r1371_1 | -| ir.cpp:1371:5:1371:13 | ChiPartial | partial:m1371_6 | -| ir.cpp:1371:5:1371:13 | ChiTotal | total:m1369_6 | -| ir.cpp:1371:5:1371:13 | SideEffect | ~m1369_6 | -| ir.cpp:1371:15:1371:15 | Address | &:r1371_4 | -| ir.cpp:1371:15:1371:15 | Arg(0) | 0:r1371_4 | -| ir.cpp:1371:15:1371:15 | SideEffect | ~m1368_6 | -| ir.cpp:1371:15:1371:15 | Unary | r1371_2 | -| ir.cpp:1371:15:1371:15 | Unary | r1371_3 | -| ir.cpp:1372:5:1372:21 | CallTarget | func:r1372_1 | -| ir.cpp:1372:5:1372:21 | ChiPartial | partial:m1372_15 | -| ir.cpp:1372:5:1372:21 | ChiTotal | total:m1372_9 | -| ir.cpp:1372:5:1372:21 | SideEffect | ~m1372_9 | -| ir.cpp:1372:23:1372:27 | Address | &:r1372_2 | -| ir.cpp:1372:23:1372:27 | Address | &:r1372_2 | -| ir.cpp:1372:23:1372:27 | Address | &:r1372_6 | -| ir.cpp:1372:23:1372:27 | Address | &:r1372_13 | -| ir.cpp:1372:23:1372:27 | Arg(0) | 0:r1372_6 | -| ir.cpp:1372:23:1372:27 | Arg(0) | 0:r1372_13 | -| ir.cpp:1372:23:1372:27 | Arg(this) | this:r1372_2 | -| ir.cpp:1372:23:1372:27 | CallTarget | func:r1372_4 | -| ir.cpp:1372:23:1372:27 | ChiPartial | partial:m1372_8 | -| ir.cpp:1372:23:1372:27 | ChiPartial | partial:m1372_11 | -| ir.cpp:1372:23:1372:27 | ChiTotal | total:m1371_7 | -| ir.cpp:1372:23:1372:27 | ChiTotal | total:m1372_3 | -| ir.cpp:1372:23:1372:27 | SideEffect | ~m1367_3 | -| ir.cpp:1372:23:1372:27 | SideEffect | ~m1371_7 | -| ir.cpp:1372:23:1372:27 | SideEffect | ~m1372_12 | -| ir.cpp:1372:23:1372:27 | Unary | r1372_2 | -| ir.cpp:1372:23:1372:27 | Unary | r1372_5 | -| ir.cpp:1373:5:1373:15 | CallTarget | func:r1373_1 | -| ir.cpp:1373:5:1373:15 | ChiPartial | partial:m1373_16 | -| ir.cpp:1373:5:1373:15 | ChiTotal | total:m1373_10 | -| ir.cpp:1373:5:1373:15 | SideEffect | ~m1373_10 | -| ir.cpp:1373:17:1373:17 | Address | &:r1373_2 | -| ir.cpp:1373:17:1373:17 | Address | &:r1373_2 | -| ir.cpp:1373:17:1373:17 | Address | &:r1373_2 | -| ir.cpp:1373:17:1373:17 | Address | &:r1373_7 | -| ir.cpp:1373:17:1373:17 | Arg(0) | 0:r1373_7 | -| ir.cpp:1373:17:1373:17 | Arg(0) | 0:r1373_14 | -| ir.cpp:1373:17:1373:17 | Arg(this) | this:r1373_2 | -| ir.cpp:1373:17:1373:17 | CallTarget | func:r1373_4 | -| ir.cpp:1373:17:1373:17 | ChiPartial | partial:m1373_9 | -| ir.cpp:1373:17:1373:17 | ChiPartial | partial:m1373_12 | -| ir.cpp:1373:17:1373:17 | ChiTotal | total:m1372_16 | -| ir.cpp:1373:17:1373:17 | ChiTotal | total:m1373_3 | -| ir.cpp:1373:17:1373:17 | Load | m1373_13 | -| ir.cpp:1373:17:1373:17 | SideEffect | ~m1368_6 | -| ir.cpp:1373:17:1373:17 | SideEffect | ~m1372_16 | -| ir.cpp:1373:17:1373:17 | Unary | r1373_5 | -| ir.cpp:1373:17:1373:17 | Unary | r1373_6 | -| ir.cpp:1374:5:1374:23 | CallTarget | func:r1374_1 | -| ir.cpp:1374:5:1374:23 | ChiPartial | partial:m1374_15 | -| ir.cpp:1374:5:1374:23 | ChiTotal | total:m1374_9 | -| ir.cpp:1374:5:1374:23 | SideEffect | ~m1374_9 | -| ir.cpp:1374:25:1374:29 | Address | &:r1374_2 | -| ir.cpp:1374:25:1374:29 | Address | &:r1374_2 | -| ir.cpp:1374:25:1374:29 | Address | &:r1374_2 | -| ir.cpp:1374:25:1374:29 | Address | &:r1374_6 | -| ir.cpp:1374:25:1374:29 | Arg(0) | 0:r1374_6 | -| ir.cpp:1374:25:1374:29 | Arg(0) | 0:r1374_13 | -| ir.cpp:1374:25:1374:29 | Arg(this) | this:r1374_2 | -| ir.cpp:1374:25:1374:29 | CallTarget | func:r1374_4 | -| ir.cpp:1374:25:1374:29 | ChiPartial | partial:m1374_8 | -| ir.cpp:1374:25:1374:29 | ChiPartial | partial:m1374_11 | -| ir.cpp:1374:25:1374:29 | ChiTotal | total:m1373_17 | -| ir.cpp:1374:25:1374:29 | ChiTotal | total:m1374_3 | -| ir.cpp:1374:25:1374:29 | Load | m1374_12 | -| ir.cpp:1374:25:1374:29 | SideEffect | ~m1367_3 | -| ir.cpp:1374:25:1374:29 | SideEffect | ~m1373_17 | -| ir.cpp:1374:25:1374:29 | Unary | r1374_5 | -| ir.cpp:1375:5:1375:12 | Address | &:r1375_1 | -| ir.cpp:1375:5:1375:12 | Address | &:r1375_1 | -| ir.cpp:1375:5:1375:12 | Address | &:r1375_9 | -| ir.cpp:1375:5:1375:12 | Arg(this) | this:r1375_1 | -| ir.cpp:1375:5:1375:12 | Arg(this) | this:r1375_9 | -| ir.cpp:1375:5:1375:12 | CallTarget | func:r1375_3 | -| ir.cpp:1375:5:1375:12 | ChiPartial | partial:m1375_5 | -| ir.cpp:1375:5:1375:12 | ChiPartial | partial:m1375_7 | -| ir.cpp:1375:5:1375:12 | ChiTotal | total:m1374_16 | -| ir.cpp:1375:5:1375:12 | ChiTotal | total:m1375_2 | -| ir.cpp:1375:5:1375:12 | SideEffect | m1375_8 | -| ir.cpp:1375:5:1375:12 | SideEffect | ~m1374_16 | -| ir.cpp:1375:5:1375:12 | Unary | r1375_1 | -| ir.cpp:1375:14:1375:18 | CallTarget | func:r1375_10 | -| ir.cpp:1375:14:1375:18 | ChiPartial | partial:m1375_12 | -| ir.cpp:1375:14:1375:18 | ChiTotal | total:m1375_6 | -| ir.cpp:1375:14:1375:18 | SideEffect | ~m1375_6 | -| ir.cpp:1376:5:1376:23 | CallTarget | func:r1376_2 | -| ir.cpp:1376:5:1376:23 | ChiPartial | partial:m1376_4 | -| ir.cpp:1376:5:1376:23 | ChiTotal | total:m1375_13 | -| ir.cpp:1376:5:1376:23 | SideEffect | ~m1375_13 | -| ir.cpp:1376:5:1376:23 | StoreValue | r1376_3 | -| ir.cpp:1376:5:1376:25 | Address | &:r1376_1 | -| ir.cpp:1376:5:1376:25 | Address | &:r1376_7 | -| ir.cpp:1376:5:1376:25 | Arg(this) | this:r1376_7 | -| ir.cpp:1376:5:1376:25 | SideEffect | m1376_6 | -| ir.cpp:1376:5:1376:25 | Unary | r1376_1 | -| ir.cpp:1376:27:1376:31 | CallTarget | func:r1376_8 | -| ir.cpp:1376:27:1376:31 | ChiPartial | partial:m1376_10 | -| ir.cpp:1376:27:1376:31 | ChiTotal | total:m1376_5 | -| ir.cpp:1376:27:1376:31 | SideEffect | ~m1376_5 | -| ir.cpp:1378:5:1378:28 | CallTarget | func:r1378_2 | -| ir.cpp:1378:5:1378:28 | ChiPartial | partial:m1378_4 | -| ir.cpp:1378:5:1378:28 | ChiTotal | total:m1376_11 | -| ir.cpp:1378:5:1378:28 | SideEffect | ~m1376_11 | -| ir.cpp:1378:5:1378:28 | StoreValue | r1378_3 | -| ir.cpp:1378:5:1378:30 | Address | &:r1378_1 | -| ir.cpp:1379:1:1379:1 | Address | &:r1379_2 | -| ir.cpp:1379:1:1379:1 | Address | &:r1379_2 | -| ir.cpp:1379:1:1379:1 | Arg(this) | this:r1379_2 | -| ir.cpp:1379:1:1379:1 | CallTarget | func:r1379_3 | -| ir.cpp:1379:1:1379:1 | ChiPartial | partial:m1379_5 | -| ir.cpp:1379:1:1379:1 | ChiPartial | partial:m1379_8 | -| ir.cpp:1379:1:1379:1 | ChiTotal | total:m1368_6 | -| ir.cpp:1379:1:1379:1 | ChiTotal | total:m1378_5 | -| ir.cpp:1379:1:1379:1 | SideEffect | m1368_6 | -| ir.cpp:1379:1:1379:1 | SideEffect | ~m1378_5 | -| ir.cpp:1381:6:1381:30 | ChiPartial | partial:m1381_3 | -| ir.cpp:1381:6:1381:30 | ChiTotal | total:m1381_2 | -| ir.cpp:1381:6:1381:30 | SideEffect | ~m1391_14 | -| ir.cpp:1382:21:1382:21 | Address | &:r1382_1 | -| ir.cpp:1382:25:1382:52 | CallTarget | func:r1382_2 | -| ir.cpp:1382:25:1382:52 | ChiPartial | partial:m1382_4 | -| ir.cpp:1382:25:1382:52 | ChiTotal | total:m1381_4 | -| ir.cpp:1382:25:1382:52 | SideEffect | ~m1381_4 | -| ir.cpp:1382:25:1382:52 | StoreValue | r1382_3 | -| ir.cpp:1383:28:1383:29 | Address | &:r1383_1 | -| ir.cpp:1383:33:1383:60 | CallTarget | func:r1383_3 | -| ir.cpp:1383:33:1383:60 | ChiPartial | partial:m1383_5 | -| ir.cpp:1383:33:1383:60 | ChiTotal | total:m1382_5 | -| ir.cpp:1383:33:1383:60 | SideEffect | ~m1382_5 | -| ir.cpp:1383:33:1383:60 | StoreValue | r1383_4 | -| ir.cpp:1383:33:1383:62 | Address | &:r1383_2 | -| ir.cpp:1383:33:1383:62 | StoreValue | r1383_9 | -| ir.cpp:1383:33:1383:62 | Unary | r1383_2 | -| ir.cpp:1383:33:1383:62 | Unary | r1383_8 | -| ir.cpp:1384:21:1384:22 | Address | &:r1384_1 | -| ir.cpp:1385:5:1385:13 | CallTarget | func:r1385_1 | -| ir.cpp:1385:5:1385:13 | ChiPartial | partial:m1385_6 | -| ir.cpp:1385:5:1385:13 | ChiTotal | total:m1383_6 | -| ir.cpp:1385:5:1385:13 | SideEffect | ~m1383_6 | -| ir.cpp:1385:15:1385:15 | Address | &:r1385_4 | -| ir.cpp:1385:15:1385:15 | Arg(0) | 0:r1385_4 | -| ir.cpp:1385:15:1385:15 | SideEffect | ~m1382_6 | -| ir.cpp:1385:15:1385:15 | Unary | r1385_2 | -| ir.cpp:1385:15:1385:15 | Unary | r1385_3 | -| ir.cpp:1386:5:1386:15 | CallTarget | func:r1386_1 | -| ir.cpp:1386:5:1386:15 | ChiPartial | partial:m1386_8 | -| ir.cpp:1386:5:1386:15 | ChiTotal | total:m1385_7 | -| ir.cpp:1386:5:1386:15 | SideEffect | ~m1385_7 | -| ir.cpp:1386:17:1386:17 | Address | &:r1386_2 | -| ir.cpp:1386:17:1386:17 | Address | &:r1386_2 | -| ir.cpp:1386:17:1386:17 | Address | &:r1386_3 | -| ir.cpp:1386:17:1386:17 | Arg(0) | 0:r1386_6 | -| ir.cpp:1386:17:1386:17 | Load | m1382_6 | -| ir.cpp:1386:17:1386:17 | Load | m1386_5 | -| ir.cpp:1386:17:1386:17 | StoreValue | r1386_4 | -| ir.cpp:1387:5:1387:21 | Address | &:r1387_1 | -| ir.cpp:1387:5:1387:21 | Address | &:r1387_1 | -| ir.cpp:1387:5:1387:21 | Address | &:r1387_1 | -| ir.cpp:1387:5:1387:21 | Arg(this) | this:r1387_1 | -| ir.cpp:1387:5:1387:21 | ChiPartial | partial:m1387_9 | -| ir.cpp:1387:5:1387:21 | ChiTotal | total:m1387_3 | -| ir.cpp:1387:5:1387:21 | SideEffect | m1387_3 | -| ir.cpp:1387:5:1387:21 | StoreValue | r1387_2 | -| ir.cpp:1387:23:1387:28 | CallTarget | func:r1387_4 | -| ir.cpp:1387:23:1387:28 | ChiPartial | partial:m1387_6 | -| ir.cpp:1387:23:1387:28 | ChiTotal | total:m1386_9 | -| ir.cpp:1387:23:1387:28 | SideEffect | ~m1386_9 | -| ir.cpp:1388:5:1388:32 | CallTarget | func:r1388_2 | -| ir.cpp:1388:5:1388:32 | ChiPartial | partial:m1388_4 | -| ir.cpp:1388:5:1388:32 | ChiTotal | total:m1387_7 | -| ir.cpp:1388:5:1388:32 | SideEffect | ~m1387_7 | -| ir.cpp:1388:5:1388:32 | StoreValue | r1388_3 | -| ir.cpp:1388:5:1388:34 | Address | &:r1388_1 | -| ir.cpp:1388:5:1388:34 | Address | &:r1388_1 | -| ir.cpp:1388:5:1388:34 | Address | &:r1388_1 | -| ir.cpp:1388:5:1388:34 | Arg(this) | this:r1388_1 | -| ir.cpp:1388:5:1388:34 | ChiPartial | partial:m1388_12 | -| ir.cpp:1388:5:1388:34 | ChiTotal | total:m1388_6 | -| ir.cpp:1388:5:1388:34 | SideEffect | m1388_6 | -| ir.cpp:1388:36:1388:41 | CallTarget | func:r1388_7 | -| ir.cpp:1388:36:1388:41 | ChiPartial | partial:m1388_9 | -| ir.cpp:1388:36:1388:41 | ChiTotal | total:m1388_5 | -| ir.cpp:1388:36:1388:41 | SideEffect | ~m1388_5 | -| ir.cpp:1390:5:1390:37 | CallTarget | func:r1390_2 | -| ir.cpp:1390:5:1390:37 | ChiPartial | partial:m1390_4 | -| ir.cpp:1390:5:1390:37 | ChiTotal | total:m1388_10 | -| ir.cpp:1390:5:1390:37 | SideEffect | ~m1388_10 | -| ir.cpp:1390:5:1390:37 | StoreValue | r1390_3 | -| ir.cpp:1390:5:1390:39 | Address | &:r1390_1 | -| ir.cpp:1391:1:1391:1 | Address | &:r1391_2 | -| ir.cpp:1391:1:1391:1 | Address | &:r1391_2 | -| ir.cpp:1391:1:1391:1 | Address | &:r1391_10 | -| ir.cpp:1391:1:1391:1 | Address | &:r1391_10 | -| ir.cpp:1391:1:1391:1 | Arg(this) | this:r1391_2 | -| ir.cpp:1391:1:1391:1 | Arg(this) | this:r1391_10 | -| ir.cpp:1391:1:1391:1 | CallTarget | func:r1391_3 | -| ir.cpp:1391:1:1391:1 | CallTarget | func:r1391_11 | -| ir.cpp:1391:1:1391:1 | ChiPartial | partial:m1391_5 | -| ir.cpp:1391:1:1391:1 | ChiPartial | partial:m1391_8 | -| ir.cpp:1391:1:1391:1 | ChiPartial | partial:m1391_13 | -| ir.cpp:1391:1:1391:1 | ChiPartial | partial:m1391_16 | -| ir.cpp:1391:1:1391:1 | ChiTotal | total:m1382_6 | -| ir.cpp:1391:1:1391:1 | ChiTotal | total:m1384_2 | -| ir.cpp:1391:1:1391:1 | ChiTotal | total:m1390_5 | -| ir.cpp:1391:1:1391:1 | ChiTotal | total:m1391_6 | -| ir.cpp:1391:1:1391:1 | SideEffect | m1382_6 | -| ir.cpp:1391:1:1391:1 | SideEffect | m1384_2 | -| ir.cpp:1391:1:1391:1 | SideEffect | ~m1390_5 | -| ir.cpp:1391:1:1391:1 | SideEffect | ~m1391_6 | -| ir.cpp:1393:6:1393:31 | ChiPartial | partial:m1393_3 | -| ir.cpp:1393:6:1393:31 | ChiTotal | total:m1393_2 | -| ir.cpp:1393:6:1393:31 | SideEffect | ~m1403_6 | -| ir.cpp:1394:22:1394:22 | Address | &:r1394_1 | -| ir.cpp:1394:26:1394:54 | CallTarget | func:r1394_2 | -| ir.cpp:1394:26:1394:54 | ChiPartial | partial:m1394_4 | -| ir.cpp:1394:26:1394:54 | ChiTotal | total:m1393_4 | -| ir.cpp:1394:26:1394:54 | SideEffect | ~m1393_4 | -| ir.cpp:1394:26:1394:54 | StoreValue | r1394_3 | -| ir.cpp:1395:29:1395:30 | Address | &:r1395_1 | -| ir.cpp:1395:34:1395:62 | CallTarget | func:r1395_3 | -| ir.cpp:1395:34:1395:62 | ChiPartial | partial:m1395_5 | -| ir.cpp:1395:34:1395:62 | ChiTotal | total:m1394_5 | -| ir.cpp:1395:34:1395:62 | SideEffect | ~m1394_5 | -| ir.cpp:1395:34:1395:62 | StoreValue | r1395_4 | -| ir.cpp:1395:34:1395:64 | Address | &:r1395_2 | -| ir.cpp:1395:34:1395:64 | StoreValue | r1395_9 | -| ir.cpp:1395:34:1395:64 | Unary | r1395_2 | -| ir.cpp:1395:34:1395:64 | Unary | r1395_8 | -| ir.cpp:1396:22:1396:23 | Address | &:r1396_1 | -| ir.cpp:1396:22:1396:23 | Address | &:r1396_1 | -| ir.cpp:1396:22:1396:23 | Arg(this) | this:r1396_1 | -| ir.cpp:1396:22:1396:23 | CallTarget | func:r1396_3 | -| ir.cpp:1396:22:1396:23 | ChiPartial | partial:m1396_5 | -| ir.cpp:1396:22:1396:23 | ChiPartial | partial:m1396_7 | -| ir.cpp:1396:22:1396:23 | ChiTotal | total:m1395_6 | -| ir.cpp:1396:22:1396:23 | ChiTotal | total:m1396_2 | -| ir.cpp:1396:22:1396:23 | SideEffect | ~m1395_6 | -| ir.cpp:1397:5:1397:13 | CallTarget | func:r1397_1 | -| ir.cpp:1397:5:1397:13 | ChiPartial | partial:m1397_6 | -| ir.cpp:1397:5:1397:13 | ChiTotal | total:m1396_6 | -| ir.cpp:1397:5:1397:13 | SideEffect | ~m1396_6 | -| ir.cpp:1397:15:1397:15 | Address | &:r1397_4 | -| ir.cpp:1397:15:1397:15 | Arg(0) | 0:r1397_4 | -| ir.cpp:1397:15:1397:15 | SideEffect | ~m1394_6 | -| ir.cpp:1397:15:1397:15 | Unary | r1397_2 | -| ir.cpp:1397:15:1397:15 | Unary | r1397_3 | -| ir.cpp:1398:5:1398:15 | CallTarget | func:r1398_1 | -| ir.cpp:1398:5:1398:15 | ChiPartial | partial:m1398_16 | -| ir.cpp:1398:5:1398:15 | ChiTotal | total:m1398_10 | -| ir.cpp:1398:5:1398:15 | SideEffect | ~m1398_10 | -| ir.cpp:1398:17:1398:17 | Address | &:r1398_2 | -| ir.cpp:1398:17:1398:17 | Address | &:r1398_2 | -| ir.cpp:1398:17:1398:17 | Address | &:r1398_2 | -| ir.cpp:1398:17:1398:17 | Address | &:r1398_7 | -| ir.cpp:1398:17:1398:17 | Arg(0) | 0:r1398_7 | -| ir.cpp:1398:17:1398:17 | Arg(0) | 0:r1398_14 | -| ir.cpp:1398:17:1398:17 | Arg(this) | this:r1398_2 | -| ir.cpp:1398:17:1398:17 | CallTarget | func:r1398_4 | -| ir.cpp:1398:17:1398:17 | ChiPartial | partial:m1398_9 | -| ir.cpp:1398:17:1398:17 | ChiPartial | partial:m1398_12 | -| ir.cpp:1398:17:1398:17 | ChiTotal | total:m1397_7 | -| ir.cpp:1398:17:1398:17 | ChiTotal | total:m1398_3 | -| ir.cpp:1398:17:1398:17 | Load | m1398_13 | -| ir.cpp:1398:17:1398:17 | SideEffect | ~m1394_6 | -| ir.cpp:1398:17:1398:17 | SideEffect | ~m1397_7 | -| ir.cpp:1398:17:1398:17 | Unary | r1398_5 | -| ir.cpp:1398:17:1398:17 | Unary | r1398_6 | -| ir.cpp:1399:5:1399:22 | Address | &:r1399_1 | -| ir.cpp:1399:5:1399:22 | Address | &:r1399_1 | -| ir.cpp:1399:5:1399:22 | Address | &:r1399_1 | -| ir.cpp:1399:5:1399:22 | Address | &:r1399_1 | -| ir.cpp:1399:5:1399:22 | Arg(this) | this:r1399_1 | -| ir.cpp:1399:5:1399:22 | Arg(this) | this:r1399_1 | -| ir.cpp:1399:5:1399:22 | CallTarget | func:r1399_3 | -| ir.cpp:1399:5:1399:22 | ChiPartial | partial:m1399_5 | -| ir.cpp:1399:5:1399:22 | ChiPartial | partial:m1399_7 | -| ir.cpp:1399:5:1399:22 | ChiPartial | partial:m1399_14 | -| ir.cpp:1399:5:1399:22 | ChiTotal | total:m1398_17 | -| ir.cpp:1399:5:1399:22 | ChiTotal | total:m1399_2 | -| ir.cpp:1399:5:1399:22 | ChiTotal | total:m1399_8 | -| ir.cpp:1399:5:1399:22 | SideEffect | m1399_8 | -| ir.cpp:1399:5:1399:22 | SideEffect | ~m1398_17 | -| ir.cpp:1399:24:1399:29 | CallTarget | func:r1399_9 | -| ir.cpp:1399:24:1399:29 | ChiPartial | partial:m1399_11 | -| ir.cpp:1399:24:1399:29 | ChiTotal | total:m1399_6 | -| ir.cpp:1399:24:1399:29 | SideEffect | ~m1399_6 | -| ir.cpp:1400:5:1400:33 | CallTarget | func:r1400_2 | -| ir.cpp:1400:5:1400:33 | ChiPartial | partial:m1400_4 | -| ir.cpp:1400:5:1400:33 | ChiTotal | total:m1399_12 | -| ir.cpp:1400:5:1400:33 | SideEffect | ~m1399_12 | -| ir.cpp:1400:5:1400:33 | StoreValue | r1400_3 | -| ir.cpp:1400:5:1400:35 | Address | &:r1400_1 | -| ir.cpp:1400:5:1400:35 | Address | &:r1400_1 | -| ir.cpp:1400:5:1400:35 | Address | &:r1400_1 | -| ir.cpp:1400:5:1400:35 | Arg(this) | this:r1400_1 | -| ir.cpp:1400:5:1400:35 | ChiPartial | partial:m1400_12 | -| ir.cpp:1400:5:1400:35 | ChiTotal | total:m1400_6 | -| ir.cpp:1400:5:1400:35 | SideEffect | m1400_6 | -| ir.cpp:1400:37:1400:42 | CallTarget | func:r1400_7 | -| ir.cpp:1400:37:1400:42 | ChiPartial | partial:m1400_9 | -| ir.cpp:1400:37:1400:42 | ChiTotal | total:m1400_5 | -| ir.cpp:1400:37:1400:42 | SideEffect | ~m1400_5 | -| ir.cpp:1401:5:1401:38 | CallTarget | func:r1401_2 | -| ir.cpp:1401:5:1401:38 | ChiPartial | partial:m1401_4 | -| ir.cpp:1401:5:1401:38 | ChiTotal | total:m1400_10 | -| ir.cpp:1401:5:1401:38 | SideEffect | ~m1400_10 | -| ir.cpp:1401:5:1401:38 | StoreValue | r1401_3 | -| ir.cpp:1401:5:1401:40 | Address | &:r1401_1 | -| ir.cpp:1403:9:1403:9 | Address | &:r1403_1 | -| ir.cpp:1403:13:1403:41 | CallTarget | func:r1403_3 | -| ir.cpp:1403:13:1403:41 | ChiPartial | partial:m1403_5 | -| ir.cpp:1403:13:1403:41 | ChiTotal | total:m1401_5 | -| ir.cpp:1403:13:1403:41 | SideEffect | ~m1401_5 | -| ir.cpp:1403:13:1403:41 | StoreValue | r1403_4 | -| ir.cpp:1403:13:1403:43 | Address | &:r1403_2 | -| ir.cpp:1403:13:1403:43 | Unary | r1403_2 | -| ir.cpp:1403:45:1403:45 | Address | &:r1403_8 | -| ir.cpp:1403:45:1403:45 | Load | ~m1403_7 | -| ir.cpp:1403:45:1403:45 | StoreValue | r1403_9 | -| ir.cpp:1406:6:1406:20 | ChiPartial | partial:m1406_3 | -| ir.cpp:1406:6:1406:20 | ChiTotal | total:m1406_2 | -| ir.cpp:1406:6:1406:20 | SideEffect | ~m1415_4 | -| ir.cpp:1407:11:1407:11 | Address | &:r1407_1 | -| ir.cpp:1407:15:1407:32 | CallTarget | func:r1407_2 | -| ir.cpp:1407:15:1407:32 | ChiPartial | partial:m1407_4 | -| ir.cpp:1407:15:1407:32 | ChiTotal | total:m1406_4 | -| ir.cpp:1407:15:1407:32 | SideEffect | ~m1406_4 | -| ir.cpp:1407:15:1407:32 | StoreValue | r1407_3 | -| ir.cpp:1408:18:1408:19 | Address | &:r1408_1 | -| ir.cpp:1408:23:1408:40 | CallTarget | func:r1408_3 | -| ir.cpp:1408:23:1408:40 | ChiPartial | partial:m1408_5 | -| ir.cpp:1408:23:1408:40 | ChiTotal | total:m1407_5 | -| ir.cpp:1408:23:1408:40 | SideEffect | ~m1407_5 | -| ir.cpp:1408:23:1408:40 | StoreValue | r1408_4 | -| ir.cpp:1408:23:1408:42 | Address | &:r1408_2 | -| ir.cpp:1408:23:1408:42 | StoreValue | r1408_9 | -| ir.cpp:1408:23:1408:42 | Unary | r1408_2 | -| ir.cpp:1408:23:1408:42 | Unary | r1408_8 | -| ir.cpp:1410:5:1410:13 | CallTarget | func:r1410_1 | -| ir.cpp:1410:5:1410:13 | ChiPartial | partial:m1410_6 | -| ir.cpp:1410:5:1410:13 | ChiTotal | total:m1408_6 | -| ir.cpp:1410:5:1410:13 | SideEffect | ~m1408_6 | -| ir.cpp:1410:15:1410:15 | Address | &:r1410_4 | -| ir.cpp:1410:15:1410:15 | Arg(0) | 0:r1410_4 | -| ir.cpp:1410:15:1410:15 | SideEffect | ~m1407_6 | -| ir.cpp:1410:15:1410:15 | Unary | r1410_2 | -| ir.cpp:1410:15:1410:15 | Unary | r1410_3 | -| ir.cpp:1411:5:1411:15 | CallTarget | func:r1411_1 | -| ir.cpp:1411:5:1411:15 | ChiPartial | partial:m1411_5 | -| ir.cpp:1411:5:1411:15 | ChiTotal | total:m1410_7 | -| ir.cpp:1411:5:1411:15 | SideEffect | ~m1410_7 | -| ir.cpp:1411:17:1411:17 | Address | &:r1411_2 | -| ir.cpp:1411:17:1411:17 | Arg(0) | 0:r1411_3 | -| ir.cpp:1411:17:1411:17 | Load | m1407_6 | -| ir.cpp:1413:9:1413:9 | Address | &:r1413_1 | -| ir.cpp:1413:13:1413:30 | Address | &:r1413_6 | -| ir.cpp:1413:13:1413:30 | CallTarget | func:r1413_2 | -| ir.cpp:1413:13:1413:30 | ChiPartial | partial:m1413_4 | -| ir.cpp:1413:13:1413:30 | ChiTotal | total:m1411_6 | -| ir.cpp:1413:13:1413:30 | SideEffect | ~m1411_6 | -| ir.cpp:1413:13:1413:30 | StoreValue | r1413_3 | -| ir.cpp:1413:13:1413:30 | Unary | r1413_6 | -| ir.cpp:1413:34:1413:34 | Address | &:r1413_8 | -| ir.cpp:1413:34:1413:34 | Load | ~m1413_7 | -| ir.cpp:1413:34:1413:34 | StoreValue | r1413_9 | -| ir.cpp:1415:5:1415:27 | CallTarget | func:r1415_1 | -| ir.cpp:1415:5:1415:27 | ChiPartial | partial:m1415_3 | -| ir.cpp:1415:5:1415:27 | ChiTotal | total:m1413_5 | -| ir.cpp:1415:5:1415:27 | SideEffect | ~m1413_5 | -| ir.cpp:1423:6:1423:29 | ChiPartial | partial:m1423_3 | -| ir.cpp:1423:6:1423:29 | ChiTotal | total:m1423_2 | -| ir.cpp:1423:6:1423:29 | SideEffect | ~m1428_5 | -| ir.cpp:1424:16:1424:17 | Address | &:r1424_1 | -| ir.cpp:1424:21:1424:46 | Address | &:r1424_6 | -| ir.cpp:1424:21:1424:46 | CallTarget | func:r1424_2 | -| ir.cpp:1424:21:1424:46 | ChiPartial | partial:m1424_4 | -| ir.cpp:1424:21:1424:46 | ChiTotal | total:m1423_4 | -| ir.cpp:1424:21:1424:46 | SideEffect | ~m1423_4 | -| ir.cpp:1424:21:1424:46 | StoreValue | r1424_3 | -| ir.cpp:1424:21:1424:46 | Unary | r1424_6 | -| ir.cpp:1424:21:1424:50 | StoreValue | r1424_12 | -| ir.cpp:1424:21:1424:50 | Unary | r1424_10 | -| ir.cpp:1424:21:1424:50 | Unary | r1424_11 | -| ir.cpp:1424:50:1424:50 | Address | &:r1424_8 | -| ir.cpp:1424:50:1424:50 | Load | ~m1424_7 | -| ir.cpp:1424:50:1424:50 | Unary | r1424_9 | -| ir.cpp:1425:9:1425:9 | Address | &:r1425_1 | -| ir.cpp:1425:13:1425:38 | Address | &:r1425_6 | -| ir.cpp:1425:13:1425:38 | CallTarget | func:r1425_2 | -| ir.cpp:1425:13:1425:38 | ChiPartial | partial:m1425_4 | -| ir.cpp:1425:13:1425:38 | ChiTotal | total:m1424_5 | -| ir.cpp:1425:13:1425:38 | SideEffect | ~m1424_5 | -| ir.cpp:1425:13:1425:38 | StoreValue | r1425_3 | -| ir.cpp:1425:13:1425:38 | Unary | r1425_6 | -| ir.cpp:1425:13:1425:42 | Load | ~m1425_5 | -| ir.cpp:1425:13:1425:42 | StoreValue | r1425_10 | -| ir.cpp:1425:42:1425:42 | Address | &:r1425_8 | -| ir.cpp:1425:42:1425:42 | Address | &:r1425_9 | -| ir.cpp:1425:42:1425:42 | Load | ~m1425_7 | -| ir.cpp:1427:18:1427:19 | Address | &:r1427_1 | -| ir.cpp:1427:23:1427:48 | Address | &:r1427_6 | -| ir.cpp:1427:23:1427:48 | CallTarget | func:r1427_2 | -| ir.cpp:1427:23:1427:48 | ChiPartial | partial:m1427_4 | -| ir.cpp:1427:23:1427:48 | ChiTotal | total:m1425_5 | -| ir.cpp:1427:23:1427:48 | SideEffect | ~m1425_5 | -| ir.cpp:1427:23:1427:48 | StoreValue | r1427_3 | -| ir.cpp:1427:23:1427:48 | Unary | r1427_6 | -| ir.cpp:1427:23:1427:52 | Left | r1427_9 | -| ir.cpp:1427:23:1427:55 | StoreValue | r1427_13 | -| ir.cpp:1427:23:1427:55 | Unary | r1427_11 | -| ir.cpp:1427:23:1427:55 | Unary | r1427_12 | -| ir.cpp:1427:52:1427:52 | Unary | r1427_8 | -| ir.cpp:1427:54:1427:54 | Right | r1427_10 | -| ir.cpp:1428:11:1428:11 | Address | &:r1428_1 | -| ir.cpp:1428:15:1428:40 | Address | &:r1428_6 | -| ir.cpp:1428:15:1428:40 | CallTarget | func:r1428_2 | -| ir.cpp:1428:15:1428:40 | ChiPartial | partial:m1428_4 | -| ir.cpp:1428:15:1428:40 | ChiTotal | total:m1427_5 | -| ir.cpp:1428:15:1428:40 | SideEffect | ~m1427_5 | -| ir.cpp:1428:15:1428:40 | StoreValue | r1428_3 | -| ir.cpp:1428:15:1428:40 | Unary | r1428_6 | -| ir.cpp:1428:15:1428:44 | Left | r1428_9 | -| ir.cpp:1428:15:1428:47 | Address | &:r1428_11 | -| ir.cpp:1428:15:1428:47 | Load | ~m1428_7 | -| ir.cpp:1428:15:1428:47 | StoreValue | r1428_12 | -| ir.cpp:1428:44:1428:44 | Unary | r1428_8 | -| ir.cpp:1428:46:1428:46 | Right | r1428_10 | -| ir.cpp:1445:6:1445:24 | ChiPartial | partial:m1445_3 | -| ir.cpp:1445:6:1445:24 | ChiTotal | total:m1445_2 | -| ir.cpp:1445:6:1445:24 | SideEffect | ~m1449_10 | -| ir.cpp:1446:14:1446:14 | Address | &:r1446_1 | -| ir.cpp:1446:18:1446:40 | CallTarget | func:r1446_2 | -| ir.cpp:1446:18:1446:40 | ChiPartial | partial:m1446_4 | -| ir.cpp:1446:18:1446:40 | ChiTotal | total:m1445_4 | -| ir.cpp:1446:18:1446:40 | SideEffect | ~m1445_4 | -| ir.cpp:1446:18:1446:40 | StoreValue | r1446_3 | -| ir.cpp:1447:5:1447:5 | Address | &:r1447_10 | -| ir.cpp:1447:9:1447:36 | Address | &:r1447_1 | -| ir.cpp:1447:9:1447:36 | Address | &:r1447_8 | -| ir.cpp:1447:9:1447:36 | Load | ~m1447_6 | -| ir.cpp:1447:9:1447:36 | StoreValue | r1447_9 | -| ir.cpp:1447:9:1447:36 | Unary | r1447_1 | -| ir.cpp:1447:9:1447:36 | Unary | r1447_7 | -| ir.cpp:1447:10:1447:33 | CallTarget | func:r1447_2 | -| ir.cpp:1447:10:1447:33 | ChiPartial | partial:m1447_4 | -| ir.cpp:1447:10:1447:33 | ChiTotal | total:m1446_5 | -| ir.cpp:1447:10:1447:33 | SideEffect | ~m1446_5 | -| ir.cpp:1447:10:1447:33 | StoreValue | r1447_3 | -| ir.cpp:1448:9:1448:9 | Address | &:r1448_1 | -| ir.cpp:1448:13:1448:36 | CallTarget | func:r1448_2 | -| ir.cpp:1448:13:1448:36 | ChiPartial | partial:m1448_4 | -| ir.cpp:1448:13:1448:36 | ChiTotal | total:m1447_5 | -| ir.cpp:1448:13:1448:36 | SideEffect | ~m1447_5 | -| ir.cpp:1448:13:1448:36 | StoreValue | r1448_3 | -| ir.cpp:1448:40:1448:40 | Address | &:r1448_7 | -| ir.cpp:1448:40:1448:40 | Load | ~m1448_6 | -| ir.cpp:1448:40:1448:40 | StoreValue | r1448_8 | -| ir.cpp:1449:11:1449:11 | Address | &:r1449_1 | -| ir.cpp:1449:16:1449:39 | CallTarget | func:r1449_2 | -| ir.cpp:1449:16:1449:39 | ChiPartial | partial:m1449_4 | -| ir.cpp:1449:16:1449:39 | ChiTotal | total:m1448_5 | -| ir.cpp:1449:16:1449:39 | SideEffect | ~m1448_5 | -| ir.cpp:1449:16:1449:39 | StoreValue | r1449_3 | -| ir.cpp:1449:44:1449:44 | Arg(this) | this:r0_11 | -| ir.cpp:1449:44:1449:44 | CallTarget | func:r1449_7 | -| ir.cpp:1449:44:1449:44 | ChiPartial | partial:m1449_9 | -| ir.cpp:1449:44:1449:44 | ChiTotal | total:m1449_5 | -| ir.cpp:1449:44:1449:44 | SideEffect | ~m1449_5 | -| ir.cpp:1449:44:1449:44 | StoreValue | r1449_8 | -| ir.cpp:1453:3:1453:21 | Address | &:r1453_5 | -| ir.cpp:1453:3:1453:21 | Address | &:r1453_5 | -| ir.cpp:1453:3:1453:21 | Address | &:r1453_7 | -| ir.cpp:1453:3:1453:21 | Address | &:r1453_7 | -| ir.cpp:1453:3:1453:21 | ChiPartial | partial:m1453_3 | -| ir.cpp:1453:3:1453:21 | ChiTotal | total:m1453_2 | -| ir.cpp:1453:3:1453:21 | Load | m1453_6 | -| ir.cpp:1453:3:1453:21 | SideEffect | m1453_3 | -| ir.cpp:1453:3:1453:21 | SideEffect | m1453_8 | -| ir.cpp:1459:3:1459:20 | Address | &:r1459_5 | -| ir.cpp:1459:3:1459:20 | Address | &:r1459_5 | -| ir.cpp:1459:3:1459:20 | Address | &:r1459_7 | -| ir.cpp:1459:3:1459:20 | Address | &:r1459_7 | -| ir.cpp:1459:3:1459:20 | ChiPartial | partial:m1459_3 | -| ir.cpp:1459:3:1459:20 | ChiTotal | total:m1459_2 | -| ir.cpp:1459:3:1459:20 | Load | m1459_6 | -| ir.cpp:1459:3:1459:20 | SideEffect | m1459_3 | -| ir.cpp:1459:3:1459:20 | SideEffect | m1460_6 | -| ir.cpp:1459:3:1459:20 | Unary | m1459_6 | -| ir.cpp:1459:26:1459:30 | Address | &:r1459_9 | -| ir.cpp:1459:26:1459:30 | ChiPartial | partial:m1459_11 | -| ir.cpp:1459:26:1459:30 | ChiTotal | total:m1459_8 | -| ir.cpp:1459:26:1459:30 | StoreValue | r1459_10 | -| ir.cpp:1460:5:1460:5 | Address | &:r1460_2 | -| ir.cpp:1460:5:1460:5 | Address | &:r1460_4 | -| ir.cpp:1460:5:1460:5 | Load | m1459_6 | -| ir.cpp:1460:5:1460:5 | Unary | r1460_3 | -| ir.cpp:1460:5:1460:9 | ChiPartial | partial:m1460_5 | -| ir.cpp:1460:5:1460:9 | ChiTotal | total:m1459_12 | -| ir.cpp:1460:9:1460:9 | StoreValue | r1460_1 | -| ir.cpp:1464:6:1464:29 | ChiPartial | partial:m1464_3 | -| ir.cpp:1464:6:1464:29 | ChiTotal | total:m1464_2 | -| ir.cpp:1464:6:1464:29 | SideEffect | m1464_3 | -| ir.cpp:1465:9:1465:10 | Address | &:r1465_1 | -| ir.cpp:1465:9:1465:10 | Left | r1465_1 | -| ir.cpp:1465:9:1465:10 | Left | r1465_1 | -| ir.cpp:1465:16:1465:22 | Address | &:r1465_4 | -| ir.cpp:1465:16:1465:22 | Address | &:r1465_9 | -| ir.cpp:1465:16:1465:22 | Right | r1465_3 | -| ir.cpp:1465:16:1465:22 | Right | r1465_8 | -| ir.cpp:1465:18:1465:18 | ChiPartial | partial:m1465_6 | -| ir.cpp:1465:18:1465:18 | ChiTotal | total:m1465_2 | -| ir.cpp:1465:18:1465:18 | StoreValue | r1465_5 | -| ir.cpp:1465:21:1465:21 | ChiPartial | partial:m1465_11 | -| ir.cpp:1465:21:1465:21 | ChiTotal | total:m1465_7 | -| ir.cpp:1465:21:1465:21 | StoreValue | r1465_10 | -| ir.cpp:1468:15:1468:15 | Address | &:r1468_1 | -| ir.cpp:1468:16:1468:16 | Address | &:r1468_5 | -| ir.cpp:1468:20:1468:20 | Address | &:r1468_6 | -| ir.cpp:1468:26:1468:27 | StoreValue | r1468_3 | -| ir.cpp:1468:26:1468:27 | Unary | r1468_2 | -| ir.cpp:1469:9:1469:10 | Address | &:r1469_2 | -| ir.cpp:1469:9:1469:10 | Address | &:r1469_3 | -| ir.cpp:1469:9:1469:10 | Load | m0_14 | -| ir.cpp:1469:9:1469:14 | ChiPartial | partial:m1469_4 | -| ir.cpp:1469:9:1469:14 | ChiTotal | total:m1465_12 | -| ir.cpp:1469:14:1469:14 | StoreValue | r1469_1 | -| ir.cpp:1470:14:1470:16 | Address | &:r1470_1 | -| ir.cpp:1470:20:1470:21 | Address | &:r1470_2 | -| ir.cpp:1470:20:1470:21 | Load | m0_14 | -| ir.cpp:1470:20:1470:21 | StoreValue | r1470_4 | -| ir.cpp:1470:20:1470:21 | Unary | r1470_3 | -| ir.cpp:1471:13:1471:13 | Address | &:r1471_1 | -| ir.cpp:1471:17:1471:18 | Address | &:r1471_2 | -| ir.cpp:1471:17:1471:18 | Address | &:r1471_3 | -| ir.cpp:1471:17:1471:18 | Load | m0_14 | -| ir.cpp:1471:17:1471:18 | Load | m1469_4 | -| ir.cpp:1471:17:1471:18 | StoreValue | r1471_4 | -| ir.cpp:1475:15:1475:36 | Address | &:r1475_1 | -| ir.cpp:1475:40:1475:41 | StoreValue | r1475_3 | -| ir.cpp:1475:40:1475:41 | Unary | r1475_2 | -| ir.cpp:1476:15:1476:16 | Address | &:r1476_1 | -| ir.cpp:1476:20:1476:41 | Address | &:r1476_2 | -| ir.cpp:1476:20:1476:41 | Left | r1476_5 | -| ir.cpp:1476:20:1476:41 | Load | m1475_4 | -| ir.cpp:1476:20:1476:41 | Unary | r1476_3 | -| ir.cpp:1476:20:1476:41 | Unary | r1476_4 | -| ir.cpp:1476:20:1476:44 | StoreValue | r1476_8 | -| ir.cpp:1476:20:1476:44 | Unary | r1476_7 | -| ir.cpp:1476:43:1476:43 | Right | r1476_6 | -| ir.cpp:1477:15:1477:16 | Address | &:r1477_1 | -| ir.cpp:1477:20:1477:41 | Address | &:r1477_2 | -| ir.cpp:1477:20:1477:41 | Left | r1477_5 | -| ir.cpp:1477:20:1477:41 | Load | m1475_4 | -| ir.cpp:1477:20:1477:41 | Unary | r1477_3 | -| ir.cpp:1477:20:1477:41 | Unary | r1477_4 | -| ir.cpp:1477:20:1477:44 | StoreValue | r1477_8 | -| ir.cpp:1477:20:1477:44 | Unary | r1477_7 | -| ir.cpp:1477:43:1477:43 | Right | r1477_6 | -| ir.cpp:1478:9:1478:10 | Address | &:r1478_2 | -| ir.cpp:1478:9:1478:10 | Address | &:r1478_4 | -| ir.cpp:1478:9:1478:10 | Load | m1477_9 | -| ir.cpp:1478:9:1478:10 | Unary | r1478_3 | -| ir.cpp:1478:9:1478:14 | ChiPartial | partial:m1478_5 | -| ir.cpp:1478:9:1478:14 | ChiTotal | total:m1469_5 | -| ir.cpp:1478:14:1478:14 | StoreValue | r1478_1 | -| ir.cpp:1479:14:1479:16 | Address | &:r1479_1 | -| ir.cpp:1479:20:1479:21 | Address | &:r1479_2 | -| ir.cpp:1479:20:1479:21 | Load | m1477_9 | -| ir.cpp:1479:20:1479:21 | StoreValue | r1479_5 | -| ir.cpp:1479:20:1479:21 | Unary | r1479_3 | -| ir.cpp:1479:20:1479:21 | Unary | r1479_4 | -| ir.cpp:1480:13:1480:13 | Address | &:r1480_1 | -| ir.cpp:1480:17:1480:18 | Address | &:r1480_2 | -| ir.cpp:1480:17:1480:18 | Address | &:r1480_3 | -| ir.cpp:1480:17:1480:18 | Load | m1477_9 | -| ir.cpp:1480:17:1480:18 | Load | m1478_5 | -| ir.cpp:1480:17:1480:18 | StoreValue | r1480_4 | -| ir.cpp:1484:8:1484:8 | Address | &:r1484_5 | -| ir.cpp:1484:8:1484:8 | Address | &:r1484_5 | -| ir.cpp:1484:8:1484:8 | Address | &:r1484_7 | -| ir.cpp:1484:8:1484:8 | Address | &:r1484_7 | -| ir.cpp:1484:8:1484:8 | ChiPartial | partial:m1484_3 | -| ir.cpp:1484:8:1484:8 | ChiTotal | total:m1484_2 | -| ir.cpp:1484:8:1484:8 | Load | m1484_6 | -| ir.cpp:1484:8:1484:8 | SideEffect | m1484_3 | -| ir.cpp:1484:8:1484:8 | SideEffect | m1484_8 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_5 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_5 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_5 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_5 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_7 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_7 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_7 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_7 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_9 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_10 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_13 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_17 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_18 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_21 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_25 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_26 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_29 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_33 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_34 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_37 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_41 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_42 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_45 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_49 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_50 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_53 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_57 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_58 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_61 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_65 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_66 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_69 | -| ir.cpp:1488:8:1488:8 | ChiPartial | partial:m1488_3 | -| ir.cpp:1488:8:1488:8 | ChiPartial | partial:m1488_3 | -| ir.cpp:1488:8:1488:8 | ChiPartial | partial:m1488_15 | -| ir.cpp:1488:8:1488:8 | ChiPartial | partial:m1488_23 | -| ir.cpp:1488:8:1488:8 | ChiPartial | partial:m1488_31 | -| ir.cpp:1488:8:1488:8 | ChiPartial | partial:m1488_39 | -| ir.cpp:1488:8:1488:8 | ChiPartial | partial:m1488_47 | -| ir.cpp:1488:8:1488:8 | ChiPartial | partial:m1488_55 | -| ir.cpp:1488:8:1488:8 | ChiPartial | partial:m1488_63 | -| ir.cpp:1488:8:1488:8 | ChiPartial | partial:m1488_71 | -| ir.cpp:1488:8:1488:8 | ChiTotal | total:m1488_2 | -| ir.cpp:1488:8:1488:8 | ChiTotal | total:m1488_2 | -| ir.cpp:1488:8:1488:8 | ChiTotal | total:m1488_8 | -| ir.cpp:1488:8:1488:8 | ChiTotal | total:m1488_16 | -| ir.cpp:1488:8:1488:8 | ChiTotal | total:m1488_24 | -| ir.cpp:1488:8:1488:8 | ChiTotal | total:m1488_32 | -| ir.cpp:1488:8:1488:8 | ChiTotal | total:m1488_40 | -| ir.cpp:1488:8:1488:8 | ChiTotal | total:m1488_48 | -| ir.cpp:1488:8:1488:8 | ChiTotal | total:m1488_56 | -| ir.cpp:1488:8:1488:8 | ChiTotal | total:m1488_64 | -| ir.cpp:1488:8:1488:8 | Load | m0_2 | -| ir.cpp:1488:8:1488:8 | Load | m0_2 | -| ir.cpp:1488:8:1488:8 | Load | m0_2 | -| ir.cpp:1488:8:1488:8 | Load | m0_2 | -| ir.cpp:1488:8:1488:8 | Load | m0_2 | -| ir.cpp:1488:8:1488:8 | Load | m0_2 | -| ir.cpp:1488:8:1488:8 | Load | m0_2 | -| ir.cpp:1488:8:1488:8 | Load | m0_2 | -| ir.cpp:1488:8:1488:8 | Load | m1488_6 | -| ir.cpp:1488:8:1488:8 | Load | m1488_6 | -| ir.cpp:1488:8:1488:8 | Load | ~m0_4 | -| ir.cpp:1488:8:1488:8 | Load | ~m0_4 | -| ir.cpp:1488:8:1488:8 | Load | ~m0_4 | -| ir.cpp:1488:8:1488:8 | Load | ~m0_4 | -| ir.cpp:1488:8:1488:8 | Load | ~m0_4 | -| ir.cpp:1488:8:1488:8 | Load | ~m0_4 | -| ir.cpp:1488:8:1488:8 | Load | ~m0_4 | -| ir.cpp:1488:8:1488:8 | Load | ~m0_4 | -| ir.cpp:1488:8:1488:8 | SideEffect | m1488_3 | -| ir.cpp:1488:8:1488:8 | SideEffect | m1488_3 | -| ir.cpp:1488:8:1488:8 | SideEffect | m1488_8 | -| ir.cpp:1488:8:1488:8 | SideEffect | m1488_72 | -| ir.cpp:1488:8:1488:8 | StoreValue | r1488_14 | -| ir.cpp:1488:8:1488:8 | StoreValue | r1488_22 | -| ir.cpp:1488:8:1488:8 | StoreValue | r1488_30 | -| ir.cpp:1488:8:1488:8 | StoreValue | r1488_38 | -| ir.cpp:1488:8:1488:8 | StoreValue | r1488_46 | -| ir.cpp:1488:8:1488:8 | StoreValue | r1488_54 | -| ir.cpp:1488:8:1488:8 | StoreValue | r1488_62 | -| ir.cpp:1488:8:1488:8 | StoreValue | r1488_70 | -| ir.cpp:1488:8:1488:8 | Unary | m1488_6 | -| ir.cpp:1488:8:1488:8 | Unary | m1488_6 | -| ir.cpp:1488:8:1488:8 | Unary | m1488_6 | -| ir.cpp:1488:8:1488:8 | Unary | m1488_6 | -| ir.cpp:1488:8:1488:8 | Unary | m1488_6 | -| ir.cpp:1488:8:1488:8 | Unary | m1488_6 | -| ir.cpp:1488:8:1488:8 | Unary | m1488_6 | -| ir.cpp:1488:8:1488:8 | Unary | m1488_6 | -| ir.cpp:1488:8:1488:8 | Unary | r1488_11 | -| ir.cpp:1488:8:1488:8 | Unary | r1488_12 | -| ir.cpp:1488:8:1488:8 | Unary | r1488_19 | -| ir.cpp:1488:8:1488:8 | Unary | r1488_20 | -| ir.cpp:1488:8:1488:8 | Unary | r1488_27 | -| ir.cpp:1488:8:1488:8 | Unary | r1488_28 | -| ir.cpp:1488:8:1488:8 | Unary | r1488_35 | -| ir.cpp:1488:8:1488:8 | Unary | r1488_36 | -| ir.cpp:1488:8:1488:8 | Unary | r1488_43 | -| ir.cpp:1488:8:1488:8 | Unary | r1488_44 | -| ir.cpp:1488:8:1488:8 | Unary | r1488_51 | -| ir.cpp:1488:8:1488:8 | Unary | r1488_52 | -| ir.cpp:1488:8:1488:8 | Unary | r1488_59 | -| ir.cpp:1488:8:1488:8 | Unary | r1488_60 | -| ir.cpp:1488:8:1488:8 | Unary | r1488_67 | -| ir.cpp:1488:8:1488:8 | Unary | r1488_68 | -| ir.cpp:1501:6:1501:35 | ChiPartial | partial:m1501_3 | -| ir.cpp:1501:6:1501:35 | ChiTotal | total:m1501_2 | -| ir.cpp:1501:6:1501:35 | SideEffect | ~m1527_7 | -| ir.cpp:1502:39:1502:39 | Address | &:r1502_1 | -| ir.cpp:1502:39:1502:39 | Address | &:r1502_1 | -| ir.cpp:1502:39:1502:39 | Arg(this) | this:r1502_1 | -| ir.cpp:1502:39:1502:39 | CallTarget | func:r1502_3 | -| ir.cpp:1502:39:1502:39 | ChiPartial | partial:m1502_5 | -| ir.cpp:1502:39:1502:39 | ChiPartial | partial:m1502_7 | -| ir.cpp:1502:39:1502:39 | ChiTotal | total:m1501_4 | -| ir.cpp:1502:39:1502:39 | ChiTotal | total:m1502_2 | -| ir.cpp:1502:39:1502:39 | SideEffect | ~m1501_4 | -| ir.cpp:1505:14:1505:14 | Address | &:r1505_1 | -| ir.cpp:1505:15:1505:15 | Address | &:r1505_5 | -| ir.cpp:1505:18:1505:18 | Address | &:r1505_9 | -| ir.cpp:1505:21:1505:21 | Address | &:r1505_13 | -| ir.cpp:1505:24:1505:24 | Address | &:r1505_17 | -| ir.cpp:1505:27:1505:27 | Address | &:r1505_23 | -| ir.cpp:1505:30:1505:30 | Address | &:r1505_27 | -| ir.cpp:1505:34:1505:34 | Address | &:r1505_31 | -| ir.cpp:1505:41:1505:41 | Address | &:r1505_37 | -| ir.cpp:1505:46:1505:46 | Address | &:r1505_2 | -| ir.cpp:1505:46:1505:46 | Load | m1502_8 | -| ir.cpp:1505:46:1505:46 | StoreValue | r1505_3 | -| ir.cpp:1505:47:1505:47 | Address | &:r1505_19 | -| ir.cpp:1505:47:1505:47 | Address | &:r1505_33 | -| ir.cpp:1505:47:1505:47 | Load | ~m1505_4 | -| ir.cpp:1505:47:1505:47 | Load | ~m1505_4 | -| ir.cpp:1505:47:1505:47 | StoreValue | r1505_7 | -| ir.cpp:1505:47:1505:47 | StoreValue | r1505_11 | -| ir.cpp:1505:47:1505:47 | StoreValue | r1505_15 | -| ir.cpp:1505:47:1505:47 | StoreValue | r1505_21 | -| ir.cpp:1505:47:1505:47 | StoreValue | r1505_25 | -| ir.cpp:1505:47:1505:47 | StoreValue | r1505_29 | -| ir.cpp:1505:47:1505:47 | StoreValue | r1505_35 | -| ir.cpp:1505:47:1505:47 | StoreValue | r1505_39 | -| ir.cpp:1505:47:1505:47 | Unary | r1505_6 | -| ir.cpp:1505:47:1505:47 | Unary | r1505_10 | -| ir.cpp:1505:47:1505:47 | Unary | r1505_14 | -| ir.cpp:1505:47:1505:47 | Unary | r1505_18 | -| ir.cpp:1505:47:1505:47 | Unary | r1505_20 | -| ir.cpp:1505:47:1505:47 | Unary | r1505_24 | -| ir.cpp:1505:47:1505:47 | Unary | r1505_28 | -| ir.cpp:1505:47:1505:47 | Unary | r1505_32 | -| ir.cpp:1505:47:1505:47 | Unary | r1505_34 | -| ir.cpp:1505:47:1505:47 | Unary | r1505_38 | -| ir.cpp:1506:9:1506:9 | Address | &:r1506_2 | -| ir.cpp:1506:9:1506:9 | Address | &:r1506_3 | -| ir.cpp:1506:9:1506:9 | Load | m1505_12 | -| ir.cpp:1506:9:1506:15 | ChiPartial | partial:m1506_4 | -| ir.cpp:1506:9:1506:15 | ChiTotal | total:m1505_4 | -| ir.cpp:1506:13:1506:15 | StoreValue | r1506_1 | -| ir.cpp:1507:17:1507:18 | Address | &:r1507_1 | -| ir.cpp:1507:22:1507:22 | Address | &:r1507_2 | -| ir.cpp:1507:22:1507:22 | Load | m1505_12 | -| ir.cpp:1507:22:1507:22 | StoreValue | r1507_4 | -| ir.cpp:1507:22:1507:22 | Unary | r1507_3 | -| ir.cpp:1508:13:1508:13 | Address | &:r1508_1 | -| ir.cpp:1508:17:1508:17 | Address | &:r1508_2 | -| ir.cpp:1508:17:1508:17 | Address | &:r1508_3 | -| ir.cpp:1508:17:1508:17 | Load | m1505_8 | -| ir.cpp:1508:17:1508:17 | Load | ~m1505_4 | -| ir.cpp:1508:17:1508:17 | StoreValue | r1508_4 | -| ir.cpp:1509:9:1509:9 | Address | &:r1509_2 | -| ir.cpp:1509:9:1509:9 | Address | &:r1509_3 | -| ir.cpp:1509:9:1509:9 | Load | m1505_22 | -| ir.cpp:1509:9:1509:13 | ChiPartial | partial:m1509_4 | -| ir.cpp:1509:9:1509:13 | ChiTotal | total:m1502_6 | -| ir.cpp:1509:13:1509:13 | StoreValue | r1509_1 | -| ir.cpp:1510:9:1510:10 | Address | &:r1510_5 | -| ir.cpp:1510:9:1510:14 | ChiPartial | partial:m1510_6 | -| ir.cpp:1510:9:1510:14 | ChiTotal | total:m1509_5 | -| ir.cpp:1510:10:1510:10 | Address | &:r1510_2 | -| ir.cpp:1510:10:1510:10 | Address | &:r1510_3 | -| ir.cpp:1510:10:1510:10 | Load | m1505_26 | -| ir.cpp:1510:10:1510:10 | Load | ~m1505_4 | -| ir.cpp:1510:10:1510:10 | Unary | r1510_4 | -| ir.cpp:1510:14:1510:14 | StoreValue | r1510_1 | -| ir.cpp:1511:14:1511:15 | Address | &:r1511_1 | -| ir.cpp:1511:19:1511:19 | Address | &:r1511_2 | -| ir.cpp:1511:19:1511:19 | Load | m1505_22 | -| ir.cpp:1511:19:1511:19 | StoreValue | r1511_4 | -| ir.cpp:1511:19:1511:19 | Unary | r1511_3 | -| ir.cpp:1512:14:1512:15 | Address | &:r1512_1 | -| ir.cpp:1512:19:1512:20 | StoreValue | r1512_4 | -| ir.cpp:1512:20:1512:20 | Address | &:r1512_2 | -| ir.cpp:1512:20:1512:20 | Load | m1505_22 | -| ir.cpp:1512:20:1512:20 | Unary | r1512_3 | -| ir.cpp:1513:13:1513:13 | Address | &:r1513_1 | -| ir.cpp:1513:17:1513:17 | Address | &:r1513_2 | -| ir.cpp:1513:17:1513:17 | Address | &:r1513_3 | -| ir.cpp:1513:17:1513:17 | Load | m1505_22 | -| ir.cpp:1513:17:1513:17 | Load | ~m1510_7 | -| ir.cpp:1513:17:1513:17 | StoreValue | r1513_4 | -| ir.cpp:1517:14:1517:35 | Address | &:r1517_1 | -| ir.cpp:1517:39:1517:39 | Address | &:r1517_2 | -| ir.cpp:1517:39:1517:39 | Load | m1502_8 | -| ir.cpp:1517:39:1517:39 | StoreValue | r1517_3 | -| ir.cpp:1518:15:1518:15 | Address | &:r1518_1 | -| ir.cpp:1518:19:1518:40 | Unary | r1518_2 | -| ir.cpp:1518:19:1518:42 | StoreValue | r1518_4 | -| ir.cpp:1518:42:1518:42 | Unary | r1518_3 | -| ir.cpp:1519:15:1519:15 | Address | &:r1519_1 | -| ir.cpp:1519:19:1519:40 | Unary | r1519_2 | -| ir.cpp:1519:19:1519:42 | StoreValue | r1519_4 | -| ir.cpp:1519:42:1519:42 | Unary | r1519_3 | -| ir.cpp:1521:15:1521:15 | Address | &:r1521_1 | -| ir.cpp:1521:19:1521:40 | Unary | r1521_2 | -| ir.cpp:1521:19:1521:42 | StoreValue | r1521_6 | -| ir.cpp:1521:19:1521:42 | Unary | r1521_5 | -| ir.cpp:1521:42:1521:42 | Address | &:r1521_3 | -| ir.cpp:1521:42:1521:42 | Load | ~m1517_4 | -| ir.cpp:1521:42:1521:42 | Unary | r1521_4 | -| ir.cpp:1522:15:1522:15 | Address | &:r1522_1 | -| ir.cpp:1522:19:1522:40 | Unary | r1522_2 | -| ir.cpp:1522:19:1522:42 | StoreValue | r1522_4 | -| ir.cpp:1522:42:1522:42 | Unary | r1522_3 | -| ir.cpp:1523:9:1523:9 | Address | &:r1523_2 | -| ir.cpp:1523:9:1523:9 | Address | &:r1523_4 | -| ir.cpp:1523:9:1523:9 | Load | m1519_5 | -| ir.cpp:1523:9:1523:9 | Unary | r1523_3 | -| ir.cpp:1523:9:1523:15 | ChiPartial | partial:m1523_5 | -| ir.cpp:1523:9:1523:15 | ChiTotal | total:m1517_4 | -| ir.cpp:1523:13:1523:15 | StoreValue | r1523_1 | -| ir.cpp:1524:17:1524:18 | Address | &:r1524_1 | -| ir.cpp:1524:22:1524:22 | Address | &:r1524_2 | -| ir.cpp:1524:22:1524:22 | Load | m1519_5 | -| ir.cpp:1524:22:1524:22 | StoreValue | r1524_5 | -| ir.cpp:1524:22:1524:22 | Unary | r1524_3 | -| ir.cpp:1524:22:1524:22 | Unary | r1524_4 | -| ir.cpp:1525:13:1525:13 | Address | &:r1525_1 | -| ir.cpp:1525:17:1525:17 | Address | &:r1525_2 | -| ir.cpp:1525:17:1525:17 | Address | &:r1525_3 | -| ir.cpp:1525:17:1525:17 | Load | m1518_5 | -| ir.cpp:1525:17:1525:17 | Load | ~m1517_4 | -| ir.cpp:1525:17:1525:17 | StoreValue | r1525_4 | -| ir.cpp:1526:9:1526:9 | Address | &:r1526_2 | -| ir.cpp:1526:9:1526:9 | Address | &:r1526_4 | -| ir.cpp:1526:9:1526:9 | Load | m1521_7 | -| ir.cpp:1526:9:1526:9 | Unary | r1526_3 | -| ir.cpp:1526:9:1526:13 | ChiPartial | partial:m1526_5 | -| ir.cpp:1526:9:1526:13 | ChiTotal | total:m1510_7 | -| ir.cpp:1526:13:1526:13 | StoreValue | r1526_1 | -| ir.cpp:1527:9:1527:10 | Address | &:r1527_5 | -| ir.cpp:1527:9:1527:14 | ChiPartial | partial:m1527_6 | -| ir.cpp:1527:9:1527:14 | ChiTotal | total:m1526_6 | -| ir.cpp:1527:10:1527:10 | Address | &:r1527_2 | -| ir.cpp:1527:10:1527:10 | Address | &:r1527_3 | -| ir.cpp:1527:10:1527:10 | Load | m1522_5 | -| ir.cpp:1527:10:1527:10 | Load | ~m1517_4 | -| ir.cpp:1527:10:1527:10 | Unary | r1527_4 | -| ir.cpp:1527:14:1527:14 | StoreValue | r1527_1 | -| ir.cpp:1528:14:1528:15 | Address | &:r1528_1 | -| ir.cpp:1528:19:1528:19 | Address | &:r1528_2 | -| ir.cpp:1528:19:1528:19 | Load | m1521_7 | -| ir.cpp:1528:19:1528:19 | StoreValue | r1528_5 | -| ir.cpp:1528:19:1528:19 | Unary | r1528_3 | -| ir.cpp:1528:19:1528:19 | Unary | r1528_4 | -| ir.cpp:1529:14:1529:15 | Address | &:r1529_1 | -| ir.cpp:1529:19:1529:20 | StoreValue | r1529_5 | -| ir.cpp:1529:20:1529:20 | Address | &:r1529_2 | -| ir.cpp:1529:20:1529:20 | Load | m1521_7 | -| ir.cpp:1529:20:1529:20 | Unary | r1529_3 | -| ir.cpp:1529:20:1529:20 | Unary | r1529_4 | -| ir.cpp:1530:13:1530:13 | Address | &:r1530_1 | -| ir.cpp:1530:17:1530:17 | Address | &:r1530_2 | -| ir.cpp:1530:17:1530:17 | Address | &:r1530_3 | -| ir.cpp:1530:17:1530:17 | Load | m1521_7 | -| ir.cpp:1530:17:1530:17 | Load | ~m1527_7 | -| ir.cpp:1530:17:1530:17 | StoreValue | r1530_4 | -| ir.cpp:1541:8:1541:8 | Address | &:r1541_5 | -| ir.cpp:1541:8:1541:8 | Address | &:r1541_5 | -| ir.cpp:1541:8:1541:8 | Address | &:r1541_5 | -| ir.cpp:1541:8:1541:8 | Address | &:r1541_5 | -| ir.cpp:1541:8:1541:8 | Address | &:r1541_7 | -| ir.cpp:1541:8:1541:8 | Address | &:r1541_7 | -| ir.cpp:1541:8:1541:8 | Address | &:r1541_7 | -| ir.cpp:1541:8:1541:8 | Address | &:r1541_7 | -| ir.cpp:1541:8:1541:8 | Address | &:r1541_9 | -| ir.cpp:1541:8:1541:8 | Address | &:r1541_10 | -| ir.cpp:1541:8:1541:8 | Address | &:r1541_13 | -| ir.cpp:1541:8:1541:8 | Address | &:r1541_17 | -| ir.cpp:1541:8:1541:8 | Address | &:r1541_18 | -| ir.cpp:1541:8:1541:8 | Address | &:r1541_21 | -| ir.cpp:1541:8:1541:8 | Address | &:r1541_25 | -| ir.cpp:1541:8:1541:8 | Address | &:r1541_26 | -| ir.cpp:1541:8:1541:8 | Address | &:r1541_29 | -| ir.cpp:1541:8:1541:8 | ChiPartial | partial:m1541_3 | -| ir.cpp:1541:8:1541:8 | ChiPartial | partial:m1541_3 | -| ir.cpp:1541:8:1541:8 | ChiPartial | partial:m1541_15 | -| ir.cpp:1541:8:1541:8 | ChiPartial | partial:m1541_23 | -| ir.cpp:1541:8:1541:8 | ChiPartial | partial:m1541_31 | -| ir.cpp:1541:8:1541:8 | ChiTotal | total:m1541_2 | -| ir.cpp:1541:8:1541:8 | ChiTotal | total:m1541_2 | -| ir.cpp:1541:8:1541:8 | ChiTotal | total:m1541_8 | -| ir.cpp:1541:8:1541:8 | ChiTotal | total:m1541_16 | -| ir.cpp:1541:8:1541:8 | ChiTotal | total:m1541_24 | -| ir.cpp:1541:8:1541:8 | Load | m0_2 | -| ir.cpp:1541:8:1541:8 | Load | m0_2 | -| ir.cpp:1541:8:1541:8 | Load | m0_2 | -| ir.cpp:1541:8:1541:8 | Load | m1541_6 | -| ir.cpp:1541:8:1541:8 | Load | m1541_6 | -| ir.cpp:1541:8:1541:8 | Load | ~m0_4 | -| ir.cpp:1541:8:1541:8 | Load | ~m0_4 | -| ir.cpp:1541:8:1541:8 | Load | ~m0_4 | -| ir.cpp:1541:8:1541:8 | SideEffect | m1541_3 | -| ir.cpp:1541:8:1541:8 | SideEffect | m1541_3 | -| ir.cpp:1541:8:1541:8 | SideEffect | m1541_8 | -| ir.cpp:1541:8:1541:8 | SideEffect | m1541_32 | -| ir.cpp:1541:8:1541:8 | StoreValue | r1541_14 | -| ir.cpp:1541:8:1541:8 | StoreValue | r1541_22 | -| ir.cpp:1541:8:1541:8 | StoreValue | r1541_30 | -| ir.cpp:1541:8:1541:8 | Unary | m1541_6 | -| ir.cpp:1541:8:1541:8 | Unary | m1541_6 | -| ir.cpp:1541:8:1541:8 | Unary | m1541_6 | -| ir.cpp:1541:8:1541:8 | Unary | r1541_11 | -| ir.cpp:1541:8:1541:8 | Unary | r1541_12 | -| ir.cpp:1541:8:1541:8 | Unary | r1541_19 | -| ir.cpp:1541:8:1541:8 | Unary | r1541_20 | -| ir.cpp:1541:8:1541:8 | Unary | r1541_27 | -| ir.cpp:1541:8:1541:8 | Unary | r1541_28 | -| ir.cpp:1569:60:1569:95 | Address | &:r1569_5 | -| ir.cpp:1569:60:1569:95 | Address | &:r1569_5 | -| ir.cpp:1569:60:1569:95 | Address | &:r1569_7 | -| ir.cpp:1569:60:1569:95 | Address | &:r1569_7 | -| ir.cpp:1569:60:1569:95 | Address | &:r1569_10 | -| ir.cpp:1569:60:1569:95 | ChiPartial | partial:m1569_3 | -| ir.cpp:1569:60:1569:95 | ChiTotal | total:m1569_2 | -| ir.cpp:1569:60:1569:95 | Load | m0_2 | -| ir.cpp:1569:60:1569:95 | Load | m1569_6 | -| ir.cpp:1569:60:1569:95 | SideEffect | m1569_3 | -| ir.cpp:1569:60:1569:95 | SideEffect | m1569_8 | -| ir.cpp:1570:5:1570:13 | Address | &:r1570_1 | -| ir.cpp:1570:12:1570:12 | Address | &:r1570_2 | -| ir.cpp:1570:12:1570:12 | Load | m1569_6 | -| ir.cpp:1570:12:1570:12 | Unary | r1570_3 | -| ir.cpp:1570:12:1570:12 | Unary | r1570_4 | -| ir.cpp:1573:60:1573:95 | Address | &:r1573_5 | -| ir.cpp:1573:60:1573:95 | Address | &:r1573_5 | -| ir.cpp:1573:60:1573:95 | Address | &:r1573_7 | -| ir.cpp:1573:60:1573:95 | Address | &:r1573_7 | -| ir.cpp:1573:60:1573:95 | Address | &:r1573_10 | -| ir.cpp:1573:60:1573:95 | ChiPartial | partial:m1573_3 | -| ir.cpp:1573:60:1573:95 | ChiTotal | total:m1573_2 | -| ir.cpp:1573:60:1573:95 | Load | m0_2 | -| ir.cpp:1573:60:1573:95 | Load | m1573_6 | -| ir.cpp:1573:60:1573:95 | SideEffect | m1573_3 | -| ir.cpp:1573:60:1573:95 | SideEffect | m1573_8 | -| ir.cpp:1574:5:1574:13 | Address | &:r1574_1 | -| ir.cpp:1574:12:1574:12 | Address | &:r1574_2 | -| ir.cpp:1574:12:1574:12 | Load | m1573_6 | -| ir.cpp:1574:12:1574:12 | Unary | r1574_3 | -| ir.cpp:1574:12:1574:12 | Unary | r1574_4 | -| ir.cpp:1577:60:1577:95 | Address | &:r1577_5 | -| ir.cpp:1577:60:1577:95 | Address | &:r1577_5 | -| ir.cpp:1577:60:1577:95 | Address | &:r1577_7 | -| ir.cpp:1577:60:1577:95 | Address | &:r1577_7 | -| ir.cpp:1577:60:1577:95 | Address | &:r1577_10 | -| ir.cpp:1577:60:1577:95 | ChiPartial | partial:m1577_3 | -| ir.cpp:1577:60:1577:95 | ChiTotal | total:m1577_2 | -| ir.cpp:1577:60:1577:95 | Load | m1577_6 | -| ir.cpp:1577:60:1577:95 | Load | m1578_8 | -| ir.cpp:1577:60:1577:95 | SideEffect | m1577_3 | -| ir.cpp:1577:60:1577:95 | SideEffect | m1577_8 | -| ir.cpp:1578:5:1578:13 | Address | &:r1578_1 | -| ir.cpp:1578:12:1578:12 | Address | &:r1578_2 | -| ir.cpp:1578:12:1578:12 | Address | &:r1578_4 | -| ir.cpp:1578:12:1578:12 | Load | m1577_6 | -| ir.cpp:1578:12:1578:12 | Load | ~m1577_8 | -| ir.cpp:1578:12:1578:12 | StoreValue | r1578_7 | -| ir.cpp:1578:12:1578:12 | Unary | r1578_3 | -| ir.cpp:1578:12:1578:12 | Unary | r1578_5 | -| ir.cpp:1578:12:1578:12 | Unary | r1578_6 | -| ir.cpp:1581:6:1581:37 | ChiPartial | partial:m1581_3 | -| ir.cpp:1581:6:1581:37 | ChiTotal | total:m1581_2 | -| ir.cpp:1581:6:1581:37 | SideEffect | ~m1602_6 | -| ir.cpp:1582:34:1582:34 | Address | &:r1582_1 | -| ir.cpp:1582:34:1582:34 | Address | &:r1582_1 | -| ir.cpp:1582:34:1582:34 | Arg(this) | this:r1582_1 | -| ir.cpp:1582:34:1582:34 | CallTarget | func:r1582_3 | -| ir.cpp:1582:34:1582:34 | ChiPartial | partial:m1582_5 | -| ir.cpp:1582:34:1582:34 | ChiPartial | partial:m1582_7 | -| ir.cpp:1582:34:1582:34 | ChiTotal | total:m1581_4 | -| ir.cpp:1582:34:1582:34 | ChiTotal | total:m1582_2 | -| ir.cpp:1582:34:1582:34 | SideEffect | ~m1581_4 | -| ir.cpp:1585:14:1585:14 | Address | &:r1585_1 | -| ir.cpp:1585:14:1585:14 | Address | &:r1585_6 | -| ir.cpp:1585:14:1585:14 | Address | &:r1585_6 | -| ir.cpp:1585:14:1585:14 | Address | &:r1585_18 | -| ir.cpp:1585:14:1585:14 | Address | &:r1585_18 | -| ir.cpp:1585:14:1585:14 | Address | &:r1585_30 | -| ir.cpp:1585:14:1585:14 | Address | &:r1585_30 | -| ir.cpp:1585:14:1585:14 | Arg(this) | this:r1585_6 | -| ir.cpp:1585:14:1585:14 | Arg(this) | this:r1585_18 | -| ir.cpp:1585:14:1585:14 | Arg(this) | this:r1585_30 | -| ir.cpp:1585:14:1585:14 | CallTarget | func:r1585_7 | -| ir.cpp:1585:14:1585:14 | CallTarget | func:r1585_19 | -| ir.cpp:1585:14:1585:14 | CallTarget | func:r1585_31 | -| ir.cpp:1585:14:1585:14 | ChiPartial | partial:m1585_9 | -| ir.cpp:1585:14:1585:14 | ChiPartial | partial:m1585_12 | -| ir.cpp:1585:14:1585:14 | ChiPartial | partial:m1585_21 | -| ir.cpp:1585:14:1585:14 | ChiPartial | partial:m1585_24 | -| ir.cpp:1585:14:1585:14 | ChiPartial | partial:m1585_33 | -| ir.cpp:1585:14:1585:14 | ChiPartial | partial:m1585_36 | -| ir.cpp:1585:14:1585:14 | ChiTotal | total:m1582_6 | -| ir.cpp:1585:14:1585:14 | ChiTotal | total:m1585_4 | -| ir.cpp:1585:14:1585:14 | ChiTotal | total:m1585_10 | -| ir.cpp:1585:14:1585:14 | ChiTotal | total:m1585_13 | -| ir.cpp:1585:14:1585:14 | ChiTotal | total:m1585_22 | -| ir.cpp:1585:14:1585:14 | ChiTotal | total:m1585_25 | -| ir.cpp:1585:14:1585:14 | SideEffect | m1585_4 | -| ir.cpp:1585:14:1585:14 | SideEffect | m1585_13 | -| ir.cpp:1585:14:1585:14 | SideEffect | m1585_25 | -| ir.cpp:1585:14:1585:14 | SideEffect | ~m1582_6 | -| ir.cpp:1585:14:1585:14 | SideEffect | ~m1585_10 | -| ir.cpp:1585:14:1585:14 | SideEffect | ~m1585_22 | -| ir.cpp:1585:14:1585:14 | Unary | r1585_8 | -| ir.cpp:1585:14:1585:14 | Unary | r1585_20 | -| ir.cpp:1585:14:1585:14 | Unary | r1585_32 | -| ir.cpp:1585:14:1585:27 | StoreValue | r1585_15 | -| ir.cpp:1585:14:1585:27 | StoreValue | r1585_27 | -| ir.cpp:1585:14:1585:27 | StoreValue | r1585_39 | -| ir.cpp:1585:14:1585:27 | Unary | r1585_14 | -| ir.cpp:1585:14:1585:27 | Unary | r1585_26 | -| ir.cpp:1585:14:1585:27 | Unary | r1585_38 | -| ir.cpp:1585:15:1585:15 | Address | &:r1585_5 | -| ir.cpp:1585:18:1585:18 | Address | &:r1585_17 | -| ir.cpp:1585:21:1585:21 | Address | &:r1585_29 | -| ir.cpp:1585:26:1585:26 | Address | &:r1585_2 | -| ir.cpp:1585:26:1585:26 | Load | m1582_8 | -| ir.cpp:1585:26:1585:26 | StoreValue | r1585_3 | -| ir.cpp:1586:9:1586:9 | Address | &:r1586_2 | -| ir.cpp:1586:9:1586:9 | Address | &:r1586_4 | -| ir.cpp:1586:9:1586:9 | Load | m1585_28 | -| ir.cpp:1586:9:1586:9 | Unary | r1586_3 | -| ir.cpp:1586:9:1586:15 | ChiPartial | partial:m1586_5 | -| ir.cpp:1586:9:1586:15 | ChiTotal | total:m1585_37 | -| ir.cpp:1586:13:1586:15 | StoreValue | r1586_1 | -| ir.cpp:1587:17:1587:18 | Address | &:r1587_1 | -| ir.cpp:1587:22:1587:22 | Address | &:r1587_2 | -| ir.cpp:1587:22:1587:22 | Load | m1585_28 | -| ir.cpp:1587:22:1587:22 | StoreValue | r1587_5 | -| ir.cpp:1587:22:1587:22 | Unary | r1587_3 | -| ir.cpp:1587:22:1587:22 | Unary | r1587_4 | -| ir.cpp:1588:13:1588:13 | Address | &:r1588_1 | -| ir.cpp:1588:17:1588:17 | Address | &:r1588_2 | -| ir.cpp:1588:17:1588:17 | Address | &:r1588_3 | -| ir.cpp:1588:17:1588:17 | Load | m1585_16 | -| ir.cpp:1588:17:1588:17 | Load | ~m1585_37 | -| ir.cpp:1588:17:1588:17 | StoreValue | r1588_4 | -| ir.cpp:1589:9:1589:9 | Address | &:r1589_2 | -| ir.cpp:1589:9:1589:9 | Address | &:r1589_4 | -| ir.cpp:1589:9:1589:9 | Load | m1585_40 | -| ir.cpp:1589:9:1589:9 | Unary | r1589_3 | -| ir.cpp:1589:9:1589:13 | ChiPartial | partial:m1589_5 | -| ir.cpp:1589:9:1589:13 | ChiTotal | total:m1585_34 | -| ir.cpp:1589:13:1589:13 | StoreValue | r1589_1 | -| ir.cpp:1590:14:1590:15 | Address | &:r1590_1 | -| ir.cpp:1590:19:1590:19 | Address | &:r1590_2 | -| ir.cpp:1590:19:1590:19 | Load | m1585_40 | -| ir.cpp:1590:19:1590:19 | StoreValue | r1590_5 | -| ir.cpp:1590:19:1590:19 | Unary | r1590_3 | -| ir.cpp:1590:19:1590:19 | Unary | r1590_4 | -| ir.cpp:1591:13:1591:13 | Address | &:r1591_1 | -| ir.cpp:1591:17:1591:17 | Address | &:r1591_2 | -| ir.cpp:1591:17:1591:17 | Address | &:r1591_3 | -| ir.cpp:1591:17:1591:17 | Load | m1585_40 | -| ir.cpp:1591:17:1591:17 | Load | ~m1589_6 | -| ir.cpp:1591:17:1591:17 | StoreValue | r1591_4 | -| ir.cpp:1595:14:1595:35 | Address | &:r1595_1 | -| ir.cpp:1595:39:1595:39 | Address | &:r1595_2 | -| ir.cpp:1595:39:1595:39 | Load | m1582_8 | -| ir.cpp:1595:39:1595:39 | StoreValue | r1595_3 | -| ir.cpp:1596:15:1596:15 | Address | &:r1596_1 | -| ir.cpp:1596:19:1596:40 | Address | &:r1596_2 | -| ir.cpp:1596:19:1596:40 | Address | &:r1596_2 | -| ir.cpp:1596:19:1596:40 | Arg(this) | this:r1596_2 | -| ir.cpp:1596:19:1596:40 | ChiPartial | partial:m1596_8 | -| ir.cpp:1596:19:1596:40 | ChiTotal | total:m1595_4 | -| ir.cpp:1596:19:1596:40 | SideEffect | m1595_4 | -| ir.cpp:1596:42:1596:47 | CallTarget | func:r1596_3 | -| ir.cpp:1596:42:1596:47 | ChiPartial | partial:m1596_5 | -| ir.cpp:1596:42:1596:47 | ChiTotal | total:m1589_6 | -| ir.cpp:1596:42:1596:47 | SideEffect | ~m1589_6 | -| ir.cpp:1596:42:1596:47 | Unary | r1596_4 | -| ir.cpp:1596:48:1596:50 | StoreValue | r1596_11 | -| ir.cpp:1596:48:1596:50 | Unary | r1596_10 | -| ir.cpp:1597:15:1597:15 | Address | &:r1597_1 | -| ir.cpp:1597:19:1597:40 | Address | &:r1597_2 | -| ir.cpp:1597:19:1597:40 | Address | &:r1597_2 | -| ir.cpp:1597:19:1597:40 | Arg(this) | this:r1597_2 | -| ir.cpp:1597:19:1597:40 | ChiPartial | partial:m1597_8 | -| ir.cpp:1597:19:1597:40 | ChiTotal | total:m1596_9 | -| ir.cpp:1597:19:1597:40 | SideEffect | m1596_9 | -| ir.cpp:1597:42:1597:47 | CallTarget | func:r1597_3 | -| ir.cpp:1597:42:1597:47 | ChiPartial | partial:m1597_5 | -| ir.cpp:1597:42:1597:47 | ChiTotal | total:m1596_6 | -| ir.cpp:1597:42:1597:47 | SideEffect | ~m1596_6 | -| ir.cpp:1597:42:1597:47 | Unary | r1597_4 | -| ir.cpp:1597:48:1597:50 | StoreValue | r1597_11 | -| ir.cpp:1597:48:1597:50 | Unary | r1597_10 | -| ir.cpp:1598:15:1598:15 | Address | &:r1598_1 | -| ir.cpp:1598:19:1598:40 | Address | &:r1598_2 | -| ir.cpp:1598:19:1598:40 | Address | &:r1598_2 | -| ir.cpp:1598:19:1598:40 | Arg(this) | this:r1598_2 | -| ir.cpp:1598:19:1598:40 | ChiPartial | partial:m1598_8 | -| ir.cpp:1598:19:1598:40 | ChiTotal | total:m1597_9 | -| ir.cpp:1598:19:1598:40 | SideEffect | m1597_9 | -| ir.cpp:1598:42:1598:47 | CallTarget | func:r1598_3 | -| ir.cpp:1598:42:1598:47 | ChiPartial | partial:m1598_5 | -| ir.cpp:1598:42:1598:47 | ChiTotal | total:m1597_6 | -| ir.cpp:1598:42:1598:47 | SideEffect | ~m1597_6 | -| ir.cpp:1598:42:1598:47 | Unary | r1598_4 | -| ir.cpp:1598:48:1598:50 | StoreValue | r1598_11 | -| ir.cpp:1598:48:1598:50 | Unary | r1598_10 | -| ir.cpp:1599:9:1599:9 | Address | &:r1599_2 | -| ir.cpp:1599:9:1599:9 | Address | &:r1599_4 | -| ir.cpp:1599:9:1599:9 | Load | m1597_12 | -| ir.cpp:1599:9:1599:9 | Unary | r1599_3 | -| ir.cpp:1599:9:1599:15 | ChiPartial | partial:m1599_5 | -| ir.cpp:1599:9:1599:15 | ChiTotal | total:m1598_9 | -| ir.cpp:1599:13:1599:15 | StoreValue | r1599_1 | -| ir.cpp:1600:17:1600:18 | Address | &:r1600_1 | -| ir.cpp:1600:22:1600:22 | Address | &:r1600_2 | -| ir.cpp:1600:22:1600:22 | Load | m1597_12 | -| ir.cpp:1600:22:1600:22 | StoreValue | r1600_5 | -| ir.cpp:1600:22:1600:22 | Unary | r1600_3 | -| ir.cpp:1600:22:1600:22 | Unary | r1600_4 | -| ir.cpp:1601:13:1601:13 | Address | &:r1601_1 | -| ir.cpp:1601:17:1601:17 | Address | &:r1601_2 | -| ir.cpp:1601:17:1601:17 | Address | &:r1601_3 | -| ir.cpp:1601:17:1601:17 | Load | m1596_12 | -| ir.cpp:1601:17:1601:17 | Load | ~m1598_9 | -| ir.cpp:1601:17:1601:17 | StoreValue | r1601_4 | -| ir.cpp:1602:9:1602:9 | Address | &:r1602_2 | -| ir.cpp:1602:9:1602:9 | Address | &:r1602_4 | -| ir.cpp:1602:9:1602:9 | Load | m1598_12 | -| ir.cpp:1602:9:1602:9 | Unary | r1602_3 | -| ir.cpp:1602:9:1602:13 | ChiPartial | partial:m1602_5 | -| ir.cpp:1602:9:1602:13 | ChiTotal | total:m1598_6 | -| ir.cpp:1602:13:1602:13 | StoreValue | r1602_1 | -| ir.cpp:1603:14:1603:15 | Address | &:r1603_1 | -| ir.cpp:1603:19:1603:19 | Address | &:r1603_2 | -| ir.cpp:1603:19:1603:19 | Load | m1598_12 | -| ir.cpp:1603:19:1603:19 | StoreValue | r1603_5 | -| ir.cpp:1603:19:1603:19 | Unary | r1603_3 | -| ir.cpp:1603:19:1603:19 | Unary | r1603_4 | -| ir.cpp:1604:13:1604:13 | Address | &:r1604_1 | -| ir.cpp:1604:17:1604:17 | Address | &:r1604_2 | -| ir.cpp:1604:17:1604:17 | Address | &:r1604_3 | -| ir.cpp:1604:17:1604:17 | Load | m1598_12 | -| ir.cpp:1604:17:1604:17 | Load | ~m1602_6 | -| ir.cpp:1604:17:1604:17 | StoreValue | r1604_4 | -| ir.cpp:1608:8:1608:8 | Address | &:r1608_5 | -| ir.cpp:1608:8:1608:8 | Address | &:r1608_5 | -| ir.cpp:1608:8:1608:8 | Address | &:r1608_7 | -| ir.cpp:1608:8:1608:8 | Address | &:r1608_7 | -| ir.cpp:1608:8:1608:8 | ChiPartial | partial:m1608_3 | -| ir.cpp:1608:8:1608:8 | ChiTotal | total:m1608_2 | -| ir.cpp:1608:8:1608:8 | Load | m1608_6 | -| ir.cpp:1608:8:1608:8 | SideEffect | m1608_3 | -| ir.cpp:1608:8:1608:8 | SideEffect | m1608_8 | -| ir.cpp:1635:61:1635:98 | Address | &:r1635_5 | -| ir.cpp:1635:61:1635:98 | Address | &:r1635_5 | -| ir.cpp:1635:61:1635:98 | Address | &:r1635_7 | -| ir.cpp:1635:61:1635:98 | Address | &:r1635_7 | -| ir.cpp:1635:61:1635:98 | Address | &:r1635_10 | -| ir.cpp:1635:61:1635:98 | ChiPartial | partial:m1635_3 | -| ir.cpp:1635:61:1635:98 | ChiTotal | total:m1635_2 | -| ir.cpp:1635:61:1635:98 | Load | m1635_6 | -| ir.cpp:1635:61:1635:98 | Load | m1636_6 | -| ir.cpp:1635:61:1635:98 | SideEffect | m1635_3 | -| ir.cpp:1635:61:1635:98 | SideEffect | m1635_8 | -| ir.cpp:1636:5:1636:13 | Address | &:r1636_1 | -| ir.cpp:1636:12:1636:12 | Address | &:r1636_2 | -| ir.cpp:1636:12:1636:12 | Address | &:r1636_4 | -| ir.cpp:1636:12:1636:12 | Load | m1635_6 | -| ir.cpp:1636:12:1636:12 | Load | ~m1635_8 | -| ir.cpp:1636:12:1636:12 | StoreValue | r1636_5 | -| ir.cpp:1636:12:1636:12 | Unary | r1636_3 | -| ir.cpp:1639:61:1639:98 | Address | &:r1639_5 | -| ir.cpp:1639:61:1639:98 | Address | &:r1639_5 | -| ir.cpp:1639:61:1639:98 | Address | &:r1639_7 | -| ir.cpp:1639:61:1639:98 | Address | &:r1639_7 | -| ir.cpp:1639:61:1639:98 | Address | &:r1639_10 | -| ir.cpp:1639:61:1639:98 | ChiPartial | partial:m1639_3 | -| ir.cpp:1639:61:1639:98 | ChiTotal | total:m1639_2 | -| ir.cpp:1639:61:1639:98 | Load | m1639_6 | -| ir.cpp:1639:61:1639:98 | Load | m1640_8 | -| ir.cpp:1639:61:1639:98 | SideEffect | m1639_3 | -| ir.cpp:1639:61:1639:98 | SideEffect | m1639_8 | -| ir.cpp:1640:5:1640:13 | Address | &:r1640_1 | -| ir.cpp:1640:12:1640:12 | Address | &:r1640_2 | -| ir.cpp:1640:12:1640:12 | Address | &:r1640_4 | -| ir.cpp:1640:12:1640:12 | Load | m1639_6 | -| ir.cpp:1640:12:1640:12 | Load | ~m1639_8 | -| ir.cpp:1640:12:1640:12 | StoreValue | r1640_7 | -| ir.cpp:1640:12:1640:12 | Unary | r1640_3 | -| ir.cpp:1640:12:1640:12 | Unary | r1640_5 | -| ir.cpp:1640:12:1640:12 | Unary | r1640_6 | -| ir.cpp:1643:61:1643:98 | Address | &:r1643_5 | -| ir.cpp:1643:61:1643:98 | Address | &:r1643_5 | -| ir.cpp:1643:61:1643:98 | Address | &:r1643_7 | -| ir.cpp:1643:61:1643:98 | Address | &:r1643_7 | -| ir.cpp:1643:61:1643:98 | Address | &:r1643_10 | -| ir.cpp:1643:61:1643:98 | ChiPartial | partial:m1643_3 | -| ir.cpp:1643:61:1643:98 | ChiTotal | total:m1643_2 | -| ir.cpp:1643:61:1643:98 | Load | m1643_6 | -| ir.cpp:1643:61:1643:98 | Load | m1644_6 | -| ir.cpp:1643:61:1643:98 | SideEffect | m1643_3 | -| ir.cpp:1643:61:1643:98 | SideEffect | m1643_8 | -| ir.cpp:1644:5:1644:13 | Address | &:r1644_1 | -| ir.cpp:1644:12:1644:12 | Address | &:r1644_2 | -| ir.cpp:1644:12:1644:12 | StoreValue | r1644_3 | -| ir.cpp:1644:12:1644:12 | StoreValue | r1644_5 | -| ir.cpp:1644:12:1644:12 | Unary | r1644_2 | -| ir.cpp:1647:6:1647:40 | ChiPartial | partial:m1647_3 | -| ir.cpp:1647:6:1647:40 | ChiTotal | total:m1647_2 | -| ir.cpp:1647:6:1647:40 | SideEffect | ~m1668_6 | -| ir.cpp:1648:36:1648:36 | Address | &:r1648_1 | -| ir.cpp:1648:36:1648:36 | Address | &:r1648_1 | -| ir.cpp:1648:36:1648:36 | Arg(this) | this:r1648_1 | -| ir.cpp:1648:36:1648:36 | CallTarget | func:r1648_3 | -| ir.cpp:1648:36:1648:36 | ChiPartial | partial:m1648_5 | -| ir.cpp:1648:36:1648:36 | ChiPartial | partial:m1648_7 | -| ir.cpp:1648:36:1648:36 | ChiTotal | total:m1647_4 | -| ir.cpp:1648:36:1648:36 | ChiTotal | total:m1648_2 | -| ir.cpp:1648:36:1648:36 | SideEffect | ~m1647_4 | -| ir.cpp:1651:16:1651:16 | Address | &:r1651_1 | -| ir.cpp:1651:16:1651:16 | Address | &:r1651_7 | -| ir.cpp:1651:16:1651:16 | Address | &:r1651_21 | -| ir.cpp:1651:16:1651:16 | Address | &:r1651_35 | -| ir.cpp:1651:16:1651:16 | CallTarget | func:r1651_10 | -| ir.cpp:1651:16:1651:16 | CallTarget | func:r1651_24 | -| ir.cpp:1651:16:1651:16 | CallTarget | func:r1651_38 | -| ir.cpp:1651:16:1651:16 | ChiPartial | partial:m1651_12 | -| ir.cpp:1651:16:1651:16 | ChiPartial | partial:m1651_26 | -| ir.cpp:1651:16:1651:16 | ChiPartial | partial:m1651_40 | -| ir.cpp:1651:16:1651:16 | ChiTotal | total:m1648_6 | -| ir.cpp:1651:16:1651:16 | ChiTotal | total:m1651_13 | -| ir.cpp:1651:16:1651:16 | ChiTotal | total:m1651_27 | -| ir.cpp:1651:16:1651:16 | Load | m1651_4 | -| ir.cpp:1651:16:1651:16 | Load | m1651_4 | -| ir.cpp:1651:16:1651:16 | Load | m1651_4 | -| ir.cpp:1651:16:1651:16 | SideEffect | ~m1648_6 | -| ir.cpp:1651:16:1651:16 | SideEffect | ~m1651_13 | -| ir.cpp:1651:16:1651:16 | SideEffect | ~m1651_27 | -| ir.cpp:1651:16:1651:16 | StoreValue | r1651_11 | -| ir.cpp:1651:16:1651:16 | Unary | r1651_8 | -| ir.cpp:1651:16:1651:16 | Unary | r1651_22 | -| ir.cpp:1651:16:1651:16 | Unary | r1651_25 | -| ir.cpp:1651:16:1651:16 | Unary | r1651_36 | -| ir.cpp:1651:16:1651:16 | Unary | r1651_39 | -| ir.cpp:1651:16:1651:30 | Address | &:r1651_6 | -| ir.cpp:1651:16:1651:30 | StoreValue | r1651_18 | -| ir.cpp:1651:16:1651:30 | StoreValue | r1651_32 | -| ir.cpp:1651:16:1651:30 | StoreValue | r1651_46 | -| ir.cpp:1651:16:1651:30 | Unary | r1651_6 | -| ir.cpp:1651:16:1651:30 | Unary | r1651_31 | -| ir.cpp:1651:16:1651:30 | Unary | r1651_45 | -| ir.cpp:1651:17:1651:17 | Address | &:r1651_5 | -| ir.cpp:1651:20:1651:20 | Address | &:r1651_20 | -| ir.cpp:1651:23:1651:23 | Address | &:r1651_34 | -| ir.cpp:1651:29:1651:29 | StoreValue | r1651_3 | -| ir.cpp:1651:29:1651:29 | Unary | r1651_2 | -| ir.cpp:1651:30:1651:30 | Address | &:r1651_9 | -| ir.cpp:1651:30:1651:30 | Address | &:r1651_9 | -| ir.cpp:1651:30:1651:30 | Address | &:r1651_23 | -| ir.cpp:1651:30:1651:30 | Address | &:r1651_23 | -| ir.cpp:1651:30:1651:30 | Address | &:r1651_37 | -| ir.cpp:1651:30:1651:30 | Address | &:r1651_37 | -| ir.cpp:1651:30:1651:30 | Arg(this) | this:r1651_9 | -| ir.cpp:1651:30:1651:30 | Arg(this) | this:r1651_23 | -| ir.cpp:1651:30:1651:30 | Arg(this) | this:r1651_37 | -| ir.cpp:1651:30:1651:30 | ChiPartial | partial:m1651_15 | -| ir.cpp:1651:30:1651:30 | ChiPartial | partial:m1651_29 | -| ir.cpp:1651:30:1651:30 | ChiPartial | partial:m1651_43 | -| ir.cpp:1651:30:1651:30 | ChiTotal | total:m1648_8 | -| ir.cpp:1651:30:1651:30 | ChiTotal | total:m1651_16 | -| ir.cpp:1651:30:1651:30 | ChiTotal | total:m1651_30 | -| ir.cpp:1651:30:1651:30 | SideEffect | m1648_8 | -| ir.cpp:1651:30:1651:30 | SideEffect | m1651_16 | -| ir.cpp:1651:30:1651:30 | SideEffect | m1651_30 | -| ir.cpp:1652:9:1652:9 | Address | &:r1652_2 | -| ir.cpp:1652:9:1652:9 | Address | &:r1652_4 | -| ir.cpp:1652:9:1652:9 | Load | m1651_19 | -| ir.cpp:1652:9:1652:9 | Unary | r1652_3 | -| ir.cpp:1652:13:1652:13 | StoreValue | r1652_1 | -| ir.cpp:1653:14:1653:15 | Address | &:r1653_1 | -| ir.cpp:1653:19:1653:19 | Address | &:r1653_2 | -| ir.cpp:1653:19:1653:19 | Load | m1651_19 | -| ir.cpp:1653:19:1653:19 | StoreValue | r1653_5 | -| ir.cpp:1653:19:1653:19 | Unary | r1653_3 | -| ir.cpp:1653:19:1653:19 | Unary | r1653_4 | -| ir.cpp:1654:13:1654:13 | Address | &:r1654_1 | -| ir.cpp:1654:17:1654:17 | Address | &:r1654_2 | -| ir.cpp:1654:17:1654:17 | Address | &:r1654_3 | -| ir.cpp:1654:17:1654:17 | Load | m1651_19 | -| ir.cpp:1654:17:1654:17 | Load | m1652_5 | -| ir.cpp:1654:17:1654:17 | StoreValue | r1654_4 | -| ir.cpp:1655:9:1655:9 | Address | &:r1655_2 | -| ir.cpp:1655:9:1655:9 | Address | &:r1655_4 | -| ir.cpp:1655:9:1655:9 | Load | m1651_33 | -| ir.cpp:1655:9:1655:9 | Unary | r1655_3 | -| ir.cpp:1655:9:1655:13 | ChiPartial | partial:m1655_5 | -| ir.cpp:1655:9:1655:13 | ChiTotal | total:m1651_41 | -| ir.cpp:1655:13:1655:13 | StoreValue | r1655_1 | -| ir.cpp:1656:14:1656:15 | Address | &:r1656_1 | -| ir.cpp:1656:19:1656:19 | Address | &:r1656_2 | -| ir.cpp:1656:19:1656:19 | Load | m1651_33 | -| ir.cpp:1656:19:1656:19 | StoreValue | r1656_5 | -| ir.cpp:1656:19:1656:19 | Unary | r1656_3 | -| ir.cpp:1656:19:1656:19 | Unary | r1656_4 | -| ir.cpp:1657:13:1657:13 | Address | &:r1657_1 | -| ir.cpp:1657:17:1657:17 | Address | &:r1657_2 | -| ir.cpp:1657:17:1657:17 | Address | &:r1657_3 | -| ir.cpp:1657:17:1657:17 | Load | m1651_33 | -| ir.cpp:1657:17:1657:17 | Load | ~m1655_6 | -| ir.cpp:1657:17:1657:17 | StoreValue | r1657_4 | -| ir.cpp:1661:16:1661:37 | Address | &:r1661_1 | -| ir.cpp:1661:41:1661:41 | StoreValue | r1661_3 | -| ir.cpp:1661:41:1661:41 | Unary | r1661_2 | -| ir.cpp:1662:16:1662:16 | Address | &:r1662_1 | -| ir.cpp:1662:20:1662:41 | Address | &:r1662_3 | -| ir.cpp:1662:20:1662:41 | Address | &:r1662_5 | -| ir.cpp:1662:20:1662:41 | Address | &:r1662_5 | -| ir.cpp:1662:20:1662:41 | Arg(this) | this:r1662_5 | -| ir.cpp:1662:20:1662:41 | ChiPartial | partial:m1662_11 | -| ir.cpp:1662:20:1662:41 | ChiTotal | total:m1651_44 | -| ir.cpp:1662:20:1662:41 | Load | m1661_4 | -| ir.cpp:1662:20:1662:41 | SideEffect | m1651_44 | -| ir.cpp:1662:20:1662:41 | Unary | r1662_4 | -| ir.cpp:1662:20:1662:50 | Address | &:r1662_2 | -| ir.cpp:1662:20:1662:50 | StoreValue | r1662_14 | -| ir.cpp:1662:20:1662:50 | Unary | r1662_2 | -| ir.cpp:1662:43:1662:48 | CallTarget | func:r1662_6 | -| ir.cpp:1662:43:1662:48 | ChiPartial | partial:m1662_8 | -| ir.cpp:1662:43:1662:48 | ChiTotal | total:m1655_6 | -| ir.cpp:1662:43:1662:48 | SideEffect | ~m1655_6 | -| ir.cpp:1662:43:1662:48 | StoreValue | r1662_7 | -| ir.cpp:1663:15:1663:15 | Address | &:r1663_1 | -| ir.cpp:1663:19:1663:40 | Address | &:r1663_2 | -| ir.cpp:1663:19:1663:40 | Address | &:r1663_4 | -| ir.cpp:1663:19:1663:40 | Address | &:r1663_4 | -| ir.cpp:1663:19:1663:40 | Arg(this) | this:r1663_4 | -| ir.cpp:1663:19:1663:40 | ChiPartial | partial:m1663_10 | -| ir.cpp:1663:19:1663:40 | ChiTotal | total:m1662_12 | -| ir.cpp:1663:19:1663:40 | Load | m1661_4 | -| ir.cpp:1663:19:1663:40 | SideEffect | m1662_12 | -| ir.cpp:1663:19:1663:40 | Unary | r1663_3 | -| ir.cpp:1663:42:1663:47 | CallTarget | func:r1663_5 | -| ir.cpp:1663:42:1663:47 | ChiPartial | partial:m1663_7 | -| ir.cpp:1663:42:1663:47 | ChiTotal | total:m1662_9 | -| ir.cpp:1663:42:1663:47 | SideEffect | ~m1662_9 | -| ir.cpp:1663:42:1663:47 | Unary | r1663_6 | -| ir.cpp:1663:48:1663:50 | StoreValue | r1663_13 | -| ir.cpp:1663:48:1663:50 | Unary | r1663_12 | -| ir.cpp:1664:16:1664:17 | Address | &:r1664_1 | -| ir.cpp:1664:21:1664:42 | Address | &:r1664_2 | -| ir.cpp:1664:21:1664:42 | Address | &:r1664_4 | -| ir.cpp:1664:21:1664:42 | Address | &:r1664_4 | -| ir.cpp:1664:21:1664:42 | Arg(this) | this:r1664_4 | -| ir.cpp:1664:21:1664:42 | ChiPartial | partial:m1664_10 | -| ir.cpp:1664:21:1664:42 | ChiTotal | total:m1663_11 | -| ir.cpp:1664:21:1664:42 | Load | m1661_4 | -| ir.cpp:1664:21:1664:42 | SideEffect | m1663_11 | -| ir.cpp:1664:21:1664:42 | Unary | r1664_3 | -| ir.cpp:1664:44:1664:49 | CallTarget | func:r1664_5 | -| ir.cpp:1664:44:1664:49 | ChiPartial | partial:m1664_7 | -| ir.cpp:1664:44:1664:49 | ChiTotal | total:m1663_8 | -| ir.cpp:1664:44:1664:49 | SideEffect | ~m1663_8 | -| ir.cpp:1664:44:1664:49 | Unary | r1664_6 | -| ir.cpp:1664:50:1664:52 | StoreValue | r1664_13 | -| ir.cpp:1664:50:1664:52 | Unary | r1664_12 | -| ir.cpp:1665:9:1665:9 | Address | &:r1665_2 | -| ir.cpp:1665:9:1665:9 | Address | &:r1665_4 | -| ir.cpp:1665:9:1665:9 | Load | m1662_15 | -| ir.cpp:1665:9:1665:9 | Unary | r1665_3 | -| ir.cpp:1665:13:1665:13 | StoreValue | r1665_1 | -| ir.cpp:1666:14:1666:15 | Address | &:r1666_1 | -| ir.cpp:1666:19:1666:19 | Address | &:r1666_2 | -| ir.cpp:1666:19:1666:19 | Load | m1662_15 | -| ir.cpp:1666:19:1666:19 | StoreValue | r1666_5 | -| ir.cpp:1666:19:1666:19 | Unary | r1666_3 | -| ir.cpp:1666:19:1666:19 | Unary | r1666_4 | -| ir.cpp:1667:13:1667:13 | Address | &:r1667_1 | -| ir.cpp:1667:17:1667:17 | Address | &:r1667_2 | -| ir.cpp:1667:17:1667:17 | Address | &:r1667_3 | -| ir.cpp:1667:17:1667:17 | Load | m1662_15 | -| ir.cpp:1667:17:1667:17 | Load | m1665_5 | -| ir.cpp:1667:17:1667:17 | StoreValue | r1667_4 | -| ir.cpp:1668:9:1668:9 | Address | &:r1668_2 | -| ir.cpp:1668:9:1668:9 | Address | &:r1668_4 | -| ir.cpp:1668:9:1668:9 | Load | m1663_14 | -| ir.cpp:1668:9:1668:9 | Unary | r1668_3 | -| ir.cpp:1668:9:1668:13 | ChiPartial | partial:m1668_5 | -| ir.cpp:1668:9:1668:13 | ChiTotal | total:m1664_8 | -| ir.cpp:1668:13:1668:13 | StoreValue | r1668_1 | -| ir.cpp:1669:14:1669:15 | Address | &:r1669_1 | -| ir.cpp:1669:19:1669:19 | Address | &:r1669_2 | -| ir.cpp:1669:19:1669:19 | Load | m1663_14 | -| ir.cpp:1669:19:1669:19 | StoreValue | r1669_5 | -| ir.cpp:1669:19:1669:19 | Unary | r1669_3 | -| ir.cpp:1669:19:1669:19 | Unary | r1669_4 | -| ir.cpp:1670:13:1670:13 | Address | &:r1670_1 | -| ir.cpp:1670:17:1670:17 | Address | &:r1670_2 | -| ir.cpp:1670:17:1670:17 | Address | &:r1670_3 | -| ir.cpp:1670:17:1670:17 | Load | m1663_14 | -| ir.cpp:1670:17:1670:17 | Load | ~m1668_6 | -| ir.cpp:1670:17:1670:17 | StoreValue | r1670_4 | -| ir.cpp:1674:6:1674:42 | ChiPartial | partial:m1674_3 | -| ir.cpp:1674:6:1674:42 | ChiTotal | total:m1674_2 | -| ir.cpp:1674:6:1674:42 | SideEffect | m1674_3 | -| ir.cpp:1675:9:1675:10 | Address | &:r1675_1 | -| ir.cpp:1675:9:1675:10 | Left | r1675_1 | -| ir.cpp:1675:9:1675:10 | Left | r1675_1 | -| ir.cpp:1675:16:1675:22 | Address | &:r1675_4 | -| ir.cpp:1675:16:1675:22 | Address | &:r1675_9 | -| ir.cpp:1675:16:1675:22 | Right | r1675_3 | -| ir.cpp:1675:16:1675:22 | Right | r1675_8 | -| ir.cpp:1675:18:1675:18 | ChiPartial | partial:m1675_6 | -| ir.cpp:1675:18:1675:18 | ChiTotal | total:m1675_2 | -| ir.cpp:1675:18:1675:18 | StoreValue | r1675_5 | -| ir.cpp:1675:21:1675:21 | ChiPartial | partial:m1675_11 | -| ir.cpp:1675:21:1675:21 | ChiTotal | total:m1675_7 | -| ir.cpp:1675:21:1675:21 | StoreValue | r1675_10 | -| ir.cpp:1676:10:1676:10 | Address | &:r1676_1 | -| ir.cpp:1676:11:1676:11 | Address | &:r1676_5 | -| ir.cpp:1676:15:1676:15 | Address | &:r1676_6 | -| ir.cpp:1676:21:1676:22 | Address | &:r1676_2 | -| ir.cpp:1676:21:1676:22 | Load | m1675_12 | -| ir.cpp:1676:21:1676:22 | StoreValue | r1676_3 | -| ir.cpp:1682:5:1682:23 | Address | &:r1682_5 | -| ir.cpp:1682:5:1682:23 | Address | &:r1682_5 | -| ir.cpp:1682:5:1682:23 | Address | &:r1682_7 | -| ir.cpp:1682:5:1682:23 | Address | &:r1682_7 | -| ir.cpp:1682:5:1682:23 | ChiPartial | partial:m1682_3 | -| ir.cpp:1682:5:1682:23 | ChiTotal | total:m1682_2 | -| ir.cpp:1682:5:1682:23 | Load | m1682_6 | -| ir.cpp:1682:5:1682:23 | SideEffect | m1682_3 | -| ir.cpp:1682:5:1682:23 | SideEffect | m1682_8 | -| ir.cpp:1685:6:1685:20 | ChiPartial | partial:m1685_3 | -| ir.cpp:1685:6:1685:20 | ChiTotal | total:m1685_2 | -| ir.cpp:1685:6:1685:20 | SideEffect | ~m1688_6 | -| ir.cpp:1685:26:1685:26 | Address | &:r1685_5 | -| ir.cpp:1685:34:1685:34 | Address | &:r1685_7 | -| ir.cpp:1685:34:1685:34 | Address | &:r1685_7 | -| ir.cpp:1685:34:1685:34 | Address | &:r1685_9 | -| ir.cpp:1685:34:1685:34 | Address | &:r1685_9 | -| ir.cpp:1685:34:1685:34 | Load | m1685_8 | -| ir.cpp:1685:34:1685:34 | SideEffect | m1685_10 | -| ir.cpp:1685:43:1685:43 | Address | &:r1685_11 | -| ir.cpp:1685:43:1685:43 | Address | &:r1685_11 | -| ir.cpp:1685:43:1685:43 | Address | &:r1685_13 | -| ir.cpp:1685:43:1685:43 | Address | &:r1685_13 | -| ir.cpp:1685:43:1685:43 | Load | m1685_12 | -| ir.cpp:1685:43:1685:43 | SideEffect | m1685_14 | -| ir.cpp:1687:17:1687:20 | Address | &:r1687_1 | -| ir.cpp:1687:24:1687:44 | Address | &:r1687_2 | -| ir.cpp:1687:24:1687:44 | Address | &:r1687_2 | -| ir.cpp:1687:24:1687:44 | Arg(this) | this:r1687_2 | -| ir.cpp:1687:24:1687:44 | CallTarget | func:r1687_4 | -| ir.cpp:1687:24:1687:44 | ChiPartial | partial:m1687_6 | -| ir.cpp:1687:24:1687:44 | ChiPartial | partial:m1687_8 | -| ir.cpp:1687:24:1687:44 | ChiTotal | total:m1685_4 | -| ir.cpp:1687:24:1687:44 | ChiTotal | total:m1687_3 | -| ir.cpp:1687:24:1687:44 | SideEffect | ~m1685_4 | -| ir.cpp:1687:24:1687:44 | StoreValue | r1687_11 | -| ir.cpp:1687:24:1687:44 | Unary | r1687_2 | -| ir.cpp:1687:24:1687:44 | Unary | r1687_10 | -| ir.cpp:1688:10:1688:13 | Address | &:r1688_1 | -| ir.cpp:1688:10:1688:13 | Address | &:r1688_1 | -| ir.cpp:1688:10:1688:13 | Arg(this) | this:r1688_1 | -| ir.cpp:1688:16:1688:37 | CallTarget | func:r1688_3 | -| ir.cpp:1688:16:1688:37 | ChiPartial | partial:m1688_5 | -| ir.cpp:1688:16:1688:37 | ChiPartial | partial:m1688_7 | -| ir.cpp:1688:16:1688:37 | ChiTotal | total:m1687_7 | -| ir.cpp:1688:16:1688:37 | ChiTotal | total:m1688_2 | -| ir.cpp:1688:16:1688:37 | SideEffect | ~m1687_7 | -| ir.cpp:1690:10:1690:21 | Address | &:r1690_1 | -| ir.cpp:1690:24:1692:5 | Address | &:r1690_2 | -| ir.cpp:1690:24:1692:5 | Address | &:r1690_2 | -| ir.cpp:1690:24:1692:5 | Address | &:r1690_4 | -| ir.cpp:1690:24:1692:5 | Address | &:r1690_5 | -| ir.cpp:1690:24:1692:5 | Address | &:r1690_6 | -| ir.cpp:1690:24:1692:5 | Address | &:r1690_7 | -| ir.cpp:1690:24:1692:5 | Address | &:r1690_8 | -| ir.cpp:1690:24:1692:5 | Address | &:r1690_12 | -| ir.cpp:1690:24:1692:5 | Address | &:r1690_17 | -| ir.cpp:1690:24:1692:5 | Address | &:r1690_20 | -| ir.cpp:1690:24:1692:5 | ChiPartial | partial:m1690_10 | -| ir.cpp:1690:24:1692:5 | ChiTotal | total:m0_3 | -| ir.cpp:1690:24:1692:5 | Load | m1687_12 | -| ir.cpp:1690:24:1692:5 | Load | m1688_8 | -| ir.cpp:1690:24:1692:5 | Load | m1692_6 | -| ir.cpp:1690:24:1692:5 | StoreValue | r1690_9 | -| ir.cpp:1690:24:1692:5 | StoreValue | r1690_23 | -| ir.cpp:1690:24:1692:5 | Unary | r1690_2 | -| ir.cpp:1690:24:1692:5 | Unary | r1690_2 | -| ir.cpp:1690:24:1692:5 | Unary | r1690_2 | -| ir.cpp:1690:24:1692:5 | Unary | r1690_2 | -| ir.cpp:1690:24:1692:5 | Unary | r1690_2 | -| ir.cpp:1690:38:1690:38 | Address | &:r1690_13 | -| ir.cpp:1690:38:1690:38 | ChiPartial | partial:m1690_15 | -| ir.cpp:1690:38:1690:38 | ChiTotal | total:m1690_11 | -| ir.cpp:1690:38:1690:38 | Load | m1685_6 | -| ir.cpp:1690:38:1690:38 | StoreValue | r1690_14 | -| ir.cpp:1690:41:1690:41 | Address | &:r1690_18 | -| ir.cpp:1690:41:1690:41 | Address | &:r1690_19 | -| ir.cpp:1690:41:1690:41 | Load | m1685_8 | -| ir.cpp:1690:44:1690:44 | Address | &:r1690_21 | -| ir.cpp:1690:44:1690:44 | Address | &:r1690_22 | -| ir.cpp:1690:44:1690:44 | Load | m1685_12 | -| ir.cpp:1690:46:1690:46 | Address | &:r1690_5 | -| ir.cpp:1690:46:1690:46 | Address | &:r1690_5 | -| ir.cpp:1690:46:1690:46 | Address | &:r1690_7 | -| ir.cpp:1690:46:1690:46 | Address | &:r1690_7 | -| ir.cpp:1690:46:1690:46 | ChiPartial | partial:m1690_3 | -| ir.cpp:1690:46:1690:46 | ChiTotal | total:m1690_2 | -| ir.cpp:1690:46:1690:46 | Load | m1690_6 | -| ir.cpp:1690:46:1690:46 | SideEffect | m1690_3 | -| ir.cpp:1690:46:1690:46 | SideEffect | m1690_8 | -| ir.cpp:1691:14:1691:25 | Address | &:r1691_1 | -| ir.cpp:1691:28:1691:54 | Address | &:r1691_2 | -| ir.cpp:1691:28:1691:54 | Address | &:r1691_2 | -| ir.cpp:1691:28:1691:54 | Address | &:r1691_4 | -| ir.cpp:1691:28:1691:54 | Address | &:r1691_5 | -| ir.cpp:1691:28:1691:54 | Address | &:r1691_7 | -| ir.cpp:1691:28:1691:54 | Address | &:r1691_11 | -| ir.cpp:1691:28:1691:54 | Address | &:r1691_12 | -| ir.cpp:1691:28:1691:54 | Address | &:r1691_14 | -| ir.cpp:1691:28:1691:54 | Address | &:r1691_18 | -| ir.cpp:1691:28:1691:54 | Address | &:r1691_19 | -| ir.cpp:1691:28:1691:54 | Address | &:r1691_21 | -| ir.cpp:1691:28:1691:54 | Address | &:r1691_25 | -| ir.cpp:1691:28:1691:54 | Address | &:r1691_26 | -| ir.cpp:1691:28:1691:54 | Address | &:r1691_28 | -| ir.cpp:1691:28:1691:54 | Address | &:r1691_32 | -| ir.cpp:1691:28:1691:54 | Address | &:r1691_33 | -| ir.cpp:1691:28:1691:54 | Address | &:r1691_35 | -| ir.cpp:1691:28:1691:54 | ChiPartial | partial:m1691_9 | -| ir.cpp:1691:28:1691:54 | ChiPartial | partial:m1691_16 | -| ir.cpp:1691:28:1691:54 | ChiPartial | partial:m1691_23 | -| ir.cpp:1691:28:1691:54 | ChiPartial | partial:m1691_30 | -| ir.cpp:1691:28:1691:54 | ChiPartial | partial:m1691_37 | -| ir.cpp:1691:28:1691:54 | ChiTotal | total:m1691_3 | -| ir.cpp:1691:28:1691:54 | ChiTotal | total:m1691_10 | -| ir.cpp:1691:28:1691:54 | ChiTotal | total:m1691_17 | -| ir.cpp:1691:28:1691:54 | ChiTotal | total:m1691_24 | -| ir.cpp:1691:28:1691:54 | ChiTotal | total:m1691_31 | -| ir.cpp:1691:28:1691:54 | Load | m1690_6 | -| ir.cpp:1691:28:1691:54 | Load | m1690_6 | -| ir.cpp:1691:28:1691:54 | Load | m1690_6 | -| ir.cpp:1691:28:1691:54 | Load | m1690_6 | -| ir.cpp:1691:28:1691:54 | Load | m1690_6 | -| ir.cpp:1691:28:1691:54 | Load | m1691_38 | -| ir.cpp:1691:28:1691:54 | Load | ~m1690_8 | -| ir.cpp:1691:28:1691:54 | Load | ~m1690_8 | -| ir.cpp:1691:28:1691:54 | Load | ~m1690_8 | -| ir.cpp:1691:28:1691:54 | Load | ~m1690_8 | -| ir.cpp:1691:28:1691:54 | Load | ~m1690_8 | -| ir.cpp:1691:28:1691:54 | StoreValue | r1691_8 | -| ir.cpp:1691:28:1691:54 | StoreValue | r1691_15 | -| ir.cpp:1691:28:1691:54 | StoreValue | r1691_22 | -| ir.cpp:1691:28:1691:54 | StoreValue | r1691_29 | -| ir.cpp:1691:28:1691:54 | StoreValue | r1691_36 | -| ir.cpp:1691:28:1691:54 | StoreValue | r1691_39 | -| ir.cpp:1691:28:1691:54 | Unary | r1691_2 | -| ir.cpp:1691:28:1691:54 | Unary | r1691_2 | -| ir.cpp:1691:28:1691:54 | Unary | r1691_2 | -| ir.cpp:1691:28:1691:54 | Unary | r1691_2 | -| ir.cpp:1691:28:1691:54 | Unary | r1691_2 | -| ir.cpp:1691:28:1691:54 | Unary | r1691_6 | -| ir.cpp:1691:28:1691:54 | Unary | r1691_13 | -| ir.cpp:1691:28:1691:54 | Unary | r1691_20 | -| ir.cpp:1691:28:1691:54 | Unary | r1691_27 | -| ir.cpp:1691:28:1691:54 | Unary | r1691_34 | -| ir.cpp:1691:50:1691:50 | Address | &:r1691_5 | -| ir.cpp:1691:50:1691:50 | Address | &:r1691_5 | -| ir.cpp:1691:50:1691:50 | Address | &:r1691_7 | -| ir.cpp:1691:50:1691:50 | Address | &:r1691_7 | -| ir.cpp:1691:50:1691:50 | ChiPartial | partial:m1691_3 | -| ir.cpp:1691:50:1691:50 | ChiTotal | total:m1691_2 | -| ir.cpp:1691:50:1691:50 | Load | m1691_6 | -| ir.cpp:1691:50:1691:50 | SideEffect | m1691_3 | -| ir.cpp:1691:50:1691:50 | SideEffect | m1691_8 | -| ir.cpp:1692:6:1692:6 | ChiPartial | partial:m1692_2 | -| ir.cpp:1692:6:1692:6 | ChiPartial | partial:m1692_5 | -| ir.cpp:1692:6:1692:6 | ChiTotal | total:m1690_16 | -| ir.cpp:1692:6:1692:6 | ChiTotal | total:m1692_3 | -| ir.cpp:1692:6:1692:6 | Load | ~m1685_10 | -| ir.cpp:1692:6:1692:6 | Load | ~m1685_14 | -| ir.cpp:1692:6:1692:6 | StoreValue | r1692_1 | -| ir.cpp:1692:6:1692:6 | StoreValue | r1692_4 | -| ir.cpp:1695:5:1695:21 | Address | &:r1695_5 | -| ir.cpp:1695:5:1695:21 | ChiPartial | partial:m1695_3 | -| ir.cpp:1695:5:1695:21 | ChiTotal | total:m1695_2 | -| ir.cpp:1695:5:1695:21 | Load | m1698_4 | -| ir.cpp:1695:5:1695:21 | SideEffect | m1695_3 | -| ir.cpp:1696:7:1696:7 | Address | &:r1696_1 | -| ir.cpp:1696:10:1696:12 | StoreValue | r1696_2 | -| ir.cpp:1698:3:1698:11 | Address | &:r1698_1 | -| ir.cpp:1698:10:1698:10 | Address | &:r1698_2 | -| ir.cpp:1698:10:1698:10 | Load | m1696_3 | -| ir.cpp:1698:10:1698:10 | StoreValue | r1698_3 | -| ir.cpp:1703:10:1703:10 | Address | &:r1703_5 | -| ir.cpp:1703:10:1703:10 | Address | &:r1703_5 | -| ir.cpp:1703:10:1703:10 | Address | &:r1703_7 | -| ir.cpp:1703:10:1703:10 | Address | &:r1703_7 | -| ir.cpp:1703:10:1703:10 | ChiPartial | partial:m1703_3 | -| ir.cpp:1703:10:1703:10 | ChiTotal | total:m1703_2 | -| ir.cpp:1703:10:1703:10 | Load | m1703_6 | -| ir.cpp:1703:10:1703:10 | SideEffect | m1703_3 | -| ir.cpp:1703:10:1703:10 | SideEffect | m1703_8 | -| ir.cpp:1704:14:1704:22 | Address | &:r1704_1 | -| ir.cpp:1704:25:1710:9 | Address | &:r1704_2 | -| ir.cpp:1704:25:1710:9 | Address | &:r1704_2 | -| ir.cpp:1704:25:1710:9 | Address | &:r1704_4 | -| ir.cpp:1704:25:1710:9 | Address | &:r1704_5 | -| ir.cpp:1704:25:1710:9 | Address | &:r1704_6 | -| ir.cpp:1704:25:1710:9 | Load | m1703_6 | -| ir.cpp:1704:25:1710:9 | Load | ~m1703_8 | -| ir.cpp:1704:25:1710:9 | Load | ~m1704_8 | -| ir.cpp:1704:25:1710:9 | StoreValue | r1704_7 | -| ir.cpp:1704:25:1710:9 | StoreValue | r1704_9 | -| ir.cpp:1704:25:1710:9 | Unary | r1704_2 | -| ir.cpp:1704:34:1704:34 | Address | &:r1704_5 | -| ir.cpp:1704:34:1704:34 | Address | &:r1704_5 | -| ir.cpp:1704:34:1704:34 | Address | &:r1704_7 | -| ir.cpp:1704:34:1704:34 | Address | &:r1704_7 | -| ir.cpp:1704:34:1704:34 | ChiPartial | partial:m1704_3 | -| ir.cpp:1704:34:1704:34 | ChiTotal | total:m1704_2 | -| ir.cpp:1704:34:1704:34 | Load | m1704_6 | -| ir.cpp:1704:34:1704:34 | SideEffect | m1704_8 | -| ir.cpp:1704:34:1704:34 | SideEffect | ~m1705_8 | -| ir.cpp:1705:13:1705:13 | Address | &:r1705_1 | -| ir.cpp:1705:13:1705:13 | Address | &:r1705_4 | -| ir.cpp:1705:13:1705:13 | Arg(this) | this:r1705_4 | -| ir.cpp:1705:13:1705:13 | CallTarget | func:r1705_5 | -| ir.cpp:1705:13:1705:13 | ChiPartial | partial:m1705_7 | -| ir.cpp:1705:13:1705:13 | ChiTotal | total:m1704_4 | -| ir.cpp:1705:13:1705:13 | Load | m1704_6 | -| ir.cpp:1705:13:1705:13 | SideEffect | ~m1704_4 | -| ir.cpp:1705:13:1705:13 | SideEffect | ~m1704_8 | -| ir.cpp:1705:13:1705:13 | Unary | r1705_2 | -| ir.cpp:1705:13:1705:13 | Unary | r1705_3 | -| ir.cpp:1707:18:1707:26 | Address | &:r1707_1 | -| ir.cpp:1707:29:1709:13 | Address | &:r1707_2 | -| ir.cpp:1707:29:1709:13 | Address | &:r1707_2 | -| ir.cpp:1707:29:1709:13 | Address | &:r1707_4 | -| ir.cpp:1707:29:1709:13 | Address | &:r1707_5 | -| ir.cpp:1707:29:1709:13 | Address | &:r1707_7 | -| ir.cpp:1707:29:1709:13 | Load | m1704_6 | -| ir.cpp:1707:29:1709:13 | Load | ~m1704_8 | -| ir.cpp:1707:29:1709:13 | Load | ~m1707_9 | -| ir.cpp:1707:29:1709:13 | StoreValue | r1707_8 | -| ir.cpp:1707:29:1709:13 | StoreValue | r1707_10 | -| ir.cpp:1707:29:1709:13 | Unary | r1707_2 | -| ir.cpp:1707:29:1709:13 | Unary | r1707_6 | -| ir.cpp:1707:38:1707:38 | Address | &:r1707_5 | -| ir.cpp:1707:38:1707:38 | Address | &:r1707_5 | -| ir.cpp:1707:38:1707:38 | Address | &:r1707_7 | -| ir.cpp:1707:38:1707:38 | Address | &:r1707_7 | -| ir.cpp:1707:38:1707:38 | ChiPartial | partial:m1707_3 | -| ir.cpp:1707:38:1707:38 | ChiTotal | total:m1707_2 | -| ir.cpp:1707:38:1707:38 | Load | m1707_6 | -| ir.cpp:1707:38:1707:38 | SideEffect | m1707_8 | -| ir.cpp:1707:38:1707:38 | SideEffect | ~m1708_8 | -| ir.cpp:1708:17:1708:17 | Address | &:r1708_1 | -| ir.cpp:1708:17:1708:17 | Address | &:r1708_4 | -| ir.cpp:1708:17:1708:17 | Arg(this) | this:r1708_4 | -| ir.cpp:1708:17:1708:17 | CallTarget | func:r1708_5 | -| ir.cpp:1708:17:1708:17 | ChiPartial | partial:m1708_7 | -| ir.cpp:1708:17:1708:17 | ChiTotal | total:m1707_4 | -| ir.cpp:1708:17:1708:17 | Load | m1707_6 | -| ir.cpp:1708:17:1708:17 | SideEffect | ~m1707_4 | -| ir.cpp:1708:17:1708:17 | SideEffect | ~m1707_8 | -| ir.cpp:1708:17:1708:17 | Unary | r1708_2 | -| ir.cpp:1708:17:1708:17 | Unary | r1708_3 | -| ir.cpp:1714:6:1714:21 | ChiPartial | partial:m1714_3 | -| ir.cpp:1714:6:1714:21 | ChiTotal | total:m1714_2 | -| ir.cpp:1714:6:1714:21 | SideEffect | m1714_3 | -| ir.cpp:1714:42:1714:43 | Address | &:r1714_5 | -| ir.cpp:1714:66:1714:67 | Address | &:r1714_7 | -| ir.cpp:1714:66:1714:67 | Address | &:r1714_7 | -| ir.cpp:1714:66:1714:67 | Address | &:r1714_9 | -| ir.cpp:1714:66:1714:67 | Address | &:r1714_9 | -| ir.cpp:1714:66:1714:67 | Load | m1714_8 | -| ir.cpp:1714:66:1714:67 | SideEffect | m1714_10 | -| ir.cpp:1714:91:1714:92 | Address | &:r1714_11 | -| ir.cpp:1714:91:1714:92 | Address | &:r1714_11 | -| ir.cpp:1714:91:1714:92 | Address | &:r1714_13 | -| ir.cpp:1714:91:1714:92 | Address | &:r1714_13 | -| ir.cpp:1714:91:1714:92 | Load | m1714_12 | -| ir.cpp:1714:91:1714:92 | SideEffect | m1714_14 | -| ir.cpp:1715:30:1715:31 | Address | &:r1715_1 | -| ir.cpp:1716:31:1716:32 | Address | &:r1716_1 | -| ir.cpp:1716:36:1716:55 | Address | &:r1716_2 | -| ir.cpp:1716:36:1716:55 | StoreValue | r1716_3 | -| ir.cpp:1716:36:1716:55 | StoreValue | r1716_6 | -| ir.cpp:1716:36:1716:55 | Unary | r1716_2 | -| ir.cpp:1716:36:1716:55 | Unary | r1716_5 | -| ir.cpp:1718:10:1718:17 | Address | &:r1718_1 | -| ir.cpp:1718:20:1720:5 | Address | &:r1718_2 | -| ir.cpp:1718:20:1720:5 | Address | &:r1718_2 | -| ir.cpp:1718:20:1720:5 | Address | &:r1718_4 | -| ir.cpp:1718:20:1720:5 | Address | &:r1718_5 | -| ir.cpp:1718:20:1720:5 | Address | &:r1718_9 | -| ir.cpp:1718:20:1720:5 | Address | &:r1718_10 | -| ir.cpp:1718:20:1720:5 | Address | &:r1718_11 | -| ir.cpp:1718:20:1720:5 | Address | &:r1718_12 | -| ir.cpp:1718:20:1720:5 | Address | &:r1718_13 | -| ir.cpp:1718:20:1720:5 | Address | &:r1718_14 | -| ir.cpp:1718:20:1720:5 | Address | &:r1718_15 | -| ir.cpp:1718:20:1720:5 | Address | &:r1718_16 | -| ir.cpp:1718:20:1720:5 | Address | &:r1718_20 | -| ir.cpp:1718:20:1720:5 | Address | &:r1718_21 | -| ir.cpp:1718:20:1720:5 | Address | &:r1718_22 | -| ir.cpp:1718:20:1720:5 | ChiPartial | partial:m1718_7 | -| ir.cpp:1718:20:1720:5 | ChiPartial | partial:m1718_18 | -| ir.cpp:1718:20:1720:5 | ChiTotal | total:m0_6 | -| ir.cpp:1718:20:1720:5 | ChiTotal | total:m1718_3 | -| ir.cpp:1718:20:1720:5 | Load | m0_9 | -| ir.cpp:1718:20:1720:5 | Load | m1714_6 | -| ir.cpp:1718:20:1720:5 | Load | m1714_8 | -| ir.cpp:1718:20:1720:5 | Load | m1714_12 | -| ir.cpp:1718:20:1720:5 | Load | m1715_2 | -| ir.cpp:1718:20:1720:5 | Load | m1716_7 | -| ir.cpp:1718:20:1720:5 | StoreValue | r1718_6 | -| ir.cpp:1718:20:1720:5 | StoreValue | r1718_17 | -| ir.cpp:1718:20:1720:5 | StoreValue | r1718_23 | -| ir.cpp:1718:20:1720:5 | Unary | r1718_2 | -| ir.cpp:1718:20:1720:5 | Unary | r1718_2 | -| ir.cpp:1718:20:1720:5 | Unary | r1718_2 | -| ir.cpp:1718:20:1720:5 | Unary | r1718_2 | -| ir.cpp:1718:20:1720:5 | Unary | r1718_2 | -| ir.cpp:1718:42:1718:42 | Address | &:r1718_5 | -| ir.cpp:1718:42:1718:42 | Address | &:r1718_5 | -| ir.cpp:1718:42:1718:42 | Address | &:r1718_7 | -| ir.cpp:1718:42:1718:42 | Address | &:r1718_7 | -| ir.cpp:1718:42:1718:42 | ChiPartial | partial:m1718_3 | -| ir.cpp:1718:42:1718:42 | ChiTotal | total:m1718_2 | -| ir.cpp:1718:42:1718:42 | Load | m1718_6 | -| ir.cpp:1718:42:1718:42 | SideEffect | m1718_3 | -| ir.cpp:1718:42:1718:42 | SideEffect | m1718_8 | -| ir.cpp:1719:14:1719:21 | Address | &:r1719_1 | -| ir.cpp:1719:24:1719:31 | Address | &:r1719_2 | -| ir.cpp:1719:24:1719:31 | Address | &:r1719_2 | -| ir.cpp:1719:24:1719:31 | Address | &:r1719_4 | -| ir.cpp:1719:24:1719:31 | Address | &:r1719_5 | -| ir.cpp:1719:24:1719:31 | Address | &:r1719_7 | -| ir.cpp:1719:24:1719:31 | Load | m1718_6 | -| ir.cpp:1719:24:1719:31 | Load | ~m1718_8 | -| ir.cpp:1719:24:1719:31 | Load | ~m1719_9 | -| ir.cpp:1719:24:1719:31 | StoreValue | r1719_8 | -| ir.cpp:1719:24:1719:31 | StoreValue | r1719_10 | -| ir.cpp:1719:24:1719:31 | Unary | r1719_2 | -| ir.cpp:1719:24:1719:31 | Unary | r1719_6 | -| ir.cpp:1719:30:1719:30 | Address | &:r1719_5 | -| ir.cpp:1719:30:1719:30 | Address | &:r1719_5 | -| ir.cpp:1719:30:1719:30 | Address | &:r1719_7 | -| ir.cpp:1719:30:1719:30 | Address | &:r1719_7 | -| ir.cpp:1719:30:1719:30 | ChiPartial | partial:m1719_3 | -| ir.cpp:1719:30:1719:30 | ChiTotal | total:m1719_2 | -| ir.cpp:1719:30:1719:30 | Load | m1719_6 | -| ir.cpp:1719:30:1719:30 | SideEffect | m1719_3 | -| ir.cpp:1719:30:1719:30 | SideEffect | m1719_8 | -| ir.cpp:1726:5:1726:44 | Address | &:r1726_5 | -| ir.cpp:1726:5:1726:44 | Address | &:r1726_5 | -| ir.cpp:1726:5:1726:44 | Address | &:r1726_7 | -| ir.cpp:1726:5:1726:44 | Address | &:r1726_7 | -| ir.cpp:1726:5:1726:44 | ChiPartial | partial:m1726_3 | -| ir.cpp:1726:5:1726:44 | ChiTotal | total:m1726_2 | -| ir.cpp:1726:5:1726:44 | Load | m1726_6 | -| ir.cpp:1726:5:1726:44 | SideEffect | m1726_3 | -| ir.cpp:1726:5:1726:44 | SideEffect | m1726_8 | -| ir.cpp:1727:5:1727:44 | Address | &:r1727_5 | -| ir.cpp:1727:5:1727:44 | Address | &:r1727_5 | -| ir.cpp:1727:5:1727:44 | Address | &:r1727_7 | -| ir.cpp:1727:5:1727:44 | Address | &:r1727_7 | -| ir.cpp:1727:5:1727:44 | ChiPartial | partial:m1727_3 | -| ir.cpp:1727:5:1727:44 | ChiTotal | total:m1727_2 | -| ir.cpp:1727:5:1727:44 | Load | m1727_6 | -| ir.cpp:1727:5:1727:44 | SideEffect | m1727_3 | -| ir.cpp:1727:5:1727:44 | SideEffect | m1728_10 | -| ir.cpp:1727:94:1727:94 | Address | &:r1727_9 | -| ir.cpp:1727:94:1727:94 | Address | &:r1727_9 | -| ir.cpp:1727:94:1727:94 | Address | &:r1727_11 | -| ir.cpp:1727:94:1727:94 | Address | &:r1727_11 | -| ir.cpp:1727:94:1727:94 | Load | m1727_10 | -| ir.cpp:1727:94:1727:94 | SideEffect | m1727_12 | -| ir.cpp:1728:9:1728:9 | Address | &:r1728_6 | -| ir.cpp:1728:9:1728:9 | Address | &:r1728_8 | -| ir.cpp:1728:9:1728:9 | Load | m1727_6 | -| ir.cpp:1728:9:1728:9 | Unary | r1728_7 | -| ir.cpp:1728:9:1728:15 | ChiPartial | partial:m1728_9 | -| ir.cpp:1728:9:1728:15 | ChiTotal | total:m1727_8 | -| ir.cpp:1728:13:1728:13 | Address | &:r1728_1 | -| ir.cpp:1728:13:1728:13 | Load | m1727_10 | -| ir.cpp:1728:13:1728:13 | Unary | r1728_2 | -| ir.cpp:1728:13:1728:13 | Unary | r1728_3 | -| ir.cpp:1728:15:1728:15 | Address | &:r1728_4 | -| ir.cpp:1728:15:1728:15 | Load | ~m1727_12 | -| ir.cpp:1728:15:1728:15 | StoreValue | r1728_5 | -| ir.cpp:1735:5:1735:39 | Address | &:r1735_5 | -| ir.cpp:1735:5:1735:39 | Address | &:r1735_5 | -| ir.cpp:1735:5:1735:39 | Address | &:r1735_7 | -| ir.cpp:1735:5:1735:39 | Address | &:r1735_7 | -| ir.cpp:1735:5:1735:39 | ChiPartial | partial:m1735_3 | -| ir.cpp:1735:5:1735:39 | ChiTotal | total:m1735_2 | -| ir.cpp:1735:5:1735:39 | Load | m1735_6 | -| ir.cpp:1735:5:1735:39 | SideEffect | m1735_3 | -| ir.cpp:1735:5:1735:39 | SideEffect | m1735_8 | -| ir.cpp:1738:7:1738:7 | Address | &:r1738_5 | -| ir.cpp:1738:7:1738:7 | Address | &:r1738_5 | -| ir.cpp:1738:7:1738:7 | Address | &:r1738_7 | -| ir.cpp:1738:7:1738:7 | Address | &:r1738_7 | -| ir.cpp:1738:7:1738:7 | Address | &:r1738_9 | -| ir.cpp:1738:7:1738:7 | Address | &:r1738_11 | -| ir.cpp:1738:7:1738:7 | Address | &:r1738_15 | -| ir.cpp:1738:7:1738:7 | Arg(0) | 0:r1738_15 | -| ir.cpp:1738:7:1738:7 | Arg(this) | this:r1738_9 | -| ir.cpp:1738:7:1738:7 | CallTarget | func:r1738_10 | -| ir.cpp:1738:7:1738:7 | ChiPartial | partial:m1738_3 | -| ir.cpp:1738:7:1738:7 | ChiPartial | partial:m1738_17 | -| ir.cpp:1738:7:1738:7 | ChiPartial | partial:m1738_20 | -| ir.cpp:1738:7:1738:7 | ChiTotal | total:m1738_2 | -| ir.cpp:1738:7:1738:7 | ChiTotal | total:m1738_4 | -| ir.cpp:1738:7:1738:7 | ChiTotal | total:m1738_8 | -| ir.cpp:1738:7:1738:7 | Load | m0_2 | -| ir.cpp:1738:7:1738:7 | Load | m1738_6 | -| ir.cpp:1738:7:1738:7 | SideEffect | m1738_21 | -| ir.cpp:1738:7:1738:7 | SideEffect | ~m0_4 | -| ir.cpp:1738:7:1738:7 | SideEffect | ~m1738_4 | -| ir.cpp:1738:7:1738:7 | SideEffect | ~m1738_18 | -| ir.cpp:1738:7:1738:7 | Unary | m1738_6 | -| ir.cpp:1738:7:1738:7 | Unary | r1738_12 | -| ir.cpp:1738:7:1738:7 | Unary | r1738_13 | -| ir.cpp:1738:7:1738:7 | Unary | r1738_14 | -| ir.cpp:1742:5:1742:38 | Address | &:r1742_5 | -| ir.cpp:1742:5:1742:38 | Address | &:r1742_5 | -| ir.cpp:1742:5:1742:38 | Address | &:r1742_7 | -| ir.cpp:1742:5:1742:38 | Address | &:r1742_7 | -| ir.cpp:1742:5:1742:38 | ChiPartial | partial:m1742_3 | -| ir.cpp:1742:5:1742:38 | ChiTotal | total:m1742_2 | -| ir.cpp:1742:5:1742:38 | Load | m1742_6 | -| ir.cpp:1742:5:1742:38 | SideEffect | m1742_22 | -| ir.cpp:1742:5:1742:38 | SideEffect | ~m1742_20 | -| ir.cpp:1742:5:1742:38 | Unary | m1742_6 | -| ir.cpp:1742:5:1742:38 | Unary | m1742_6 | -| ir.cpp:1742:42:1742:42 | Address | &:r1742_9 | -| ir.cpp:1742:42:1742:42 | Address | &:r1742_16 | -| ir.cpp:1742:42:1742:42 | Arg(this) | this:r1742_9 | -| ir.cpp:1742:42:1742:42 | Arg(this) | this:r1742_16 | -| ir.cpp:1742:42:1742:42 | CallTarget | func:r1742_10 | -| ir.cpp:1742:42:1742:42 | CallTarget | func:r1742_17 | -| ir.cpp:1742:42:1742:42 | ChiPartial | partial:m1742_12 | -| ir.cpp:1742:42:1742:42 | ChiPartial | partial:m1742_14 | -| ir.cpp:1742:42:1742:42 | ChiPartial | partial:m1742_19 | -| ir.cpp:1742:42:1742:42 | ChiPartial | partial:m1742_21 | -| ir.cpp:1742:42:1742:42 | ChiTotal | total:m1742_4 | -| ir.cpp:1742:42:1742:42 | ChiTotal | total:m1742_8 | -| ir.cpp:1742:42:1742:42 | ChiTotal | total:m1742_13 | -| ir.cpp:1742:42:1742:42 | ChiTotal | total:m1742_15 | -| ir.cpp:1742:42:1742:42 | SideEffect | ~m1742_4 | -| ir.cpp:1742:42:1742:42 | SideEffect | ~m1742_13 | -| ir.cpp:1745:7:1745:7 | Address | &:r1745_5 | -| ir.cpp:1745:7:1745:7 | Address | &:r1745_5 | -| ir.cpp:1745:7:1745:7 | Address | &:r1745_7 | -| ir.cpp:1745:7:1745:7 | Address | &:r1745_7 | -| ir.cpp:1745:7:1745:7 | Address | &:r1745_9 | -| ir.cpp:1745:7:1745:7 | Address | &:r1745_11 | -| ir.cpp:1745:7:1745:7 | Address | &:r1745_15 | -| ir.cpp:1745:7:1745:7 | Arg(0) | 0:r1745_15 | -| ir.cpp:1745:7:1745:7 | Arg(this) | this:r1745_9 | -| ir.cpp:1745:7:1745:7 | CallTarget | func:r1745_10 | -| ir.cpp:1745:7:1745:7 | ChiPartial | partial:m1745_3 | -| ir.cpp:1745:7:1745:7 | ChiPartial | partial:m1745_17 | -| ir.cpp:1745:7:1745:7 | ChiPartial | partial:m1745_20 | -| ir.cpp:1745:7:1745:7 | ChiTotal | total:m1745_2 | -| ir.cpp:1745:7:1745:7 | ChiTotal | total:m1745_4 | -| ir.cpp:1745:7:1745:7 | ChiTotal | total:m1745_18 | -| ir.cpp:1745:7:1745:7 | Load | m0_2 | -| ir.cpp:1745:7:1745:7 | Load | m1745_6 | -| ir.cpp:1745:7:1745:7 | SideEffect | m1745_8 | -| ir.cpp:1745:7:1745:7 | SideEffect | ~m0_4 | -| ir.cpp:1745:7:1745:7 | SideEffect | ~m1745_4 | -| ir.cpp:1745:7:1745:7 | SideEffect | ~m1745_21 | -| ir.cpp:1745:7:1745:7 | Unary | m1745_6 | -| ir.cpp:1745:7:1745:7 | Unary | r1745_12 | -| ir.cpp:1745:7:1745:7 | Unary | r1745_13 | -| ir.cpp:1745:7:1745:7 | Unary | r1745_14 | -| ir.cpp:1749:5:1749:35 | Address | &:r1749_5 | -| ir.cpp:1749:5:1749:35 | Address | &:r1749_5 | -| ir.cpp:1749:5:1749:35 | Address | &:r1749_7 | -| ir.cpp:1749:5:1749:35 | Address | &:r1749_7 | -| ir.cpp:1749:5:1749:35 | ChiPartial | partial:m1749_3 | -| ir.cpp:1749:5:1749:35 | ChiTotal | total:m1749_2 | -| ir.cpp:1749:5:1749:35 | Load | m1749_6 | -| ir.cpp:1749:5:1749:35 | SideEffect | m1749_8 | -| ir.cpp:1749:5:1749:35 | SideEffect | ~m1749_22 | -| ir.cpp:1749:5:1749:35 | Unary | m1749_6 | -| ir.cpp:1749:5:1749:35 | Unary | m1749_6 | -| ir.cpp:1749:39:1749:39 | Address | &:r1749_9 | -| ir.cpp:1749:39:1749:39 | Address | &:r1749_16 | -| ir.cpp:1749:39:1749:39 | Arg(this) | this:r1749_9 | -| ir.cpp:1749:39:1749:39 | Arg(this) | this:r1749_16 | -| ir.cpp:1749:39:1749:39 | CallTarget | func:r1749_10 | -| ir.cpp:1749:39:1749:39 | CallTarget | func:r1749_17 | -| ir.cpp:1749:39:1749:39 | ChiPartial | partial:m1749_12 | -| ir.cpp:1749:39:1749:39 | ChiPartial | partial:m1749_14 | -| ir.cpp:1749:39:1749:39 | ChiPartial | partial:m1749_19 | -| ir.cpp:1749:39:1749:39 | ChiPartial | partial:m1749_21 | -| ir.cpp:1749:39:1749:39 | ChiTotal | total:m1749_4 | -| ir.cpp:1749:39:1749:39 | ChiTotal | total:m1749_13 | -| ir.cpp:1749:39:1749:39 | ChiTotal | total:m1749_15 | -| ir.cpp:1749:39:1749:39 | ChiTotal | total:m1749_20 | -| ir.cpp:1749:39:1749:39 | SideEffect | ~m1749_4 | -| ir.cpp:1749:39:1749:39 | SideEffect | ~m1749_15 | -| ir.cpp:1752:5:1752:34 | Address | &:r1752_5 | -| ir.cpp:1752:5:1752:34 | ChiPartial | partial:m1752_3 | -| ir.cpp:1752:5:1752:34 | ChiTotal | total:m1752_2 | -| ir.cpp:1752:5:1752:34 | Load | m1757_2 | -| ir.cpp:1752:5:1752:34 | SideEffect | ~m1756_10 | -| ir.cpp:1753:51:1753:51 | Address | &:r1753_1 | -| ir.cpp:1753:51:1753:51 | Address | &:r1753_1 | -| ir.cpp:1753:51:1753:51 | Address | &:r1753_3 | -| ir.cpp:1753:51:1753:51 | Address | &:r1753_3 | -| ir.cpp:1753:51:1753:51 | Load | m1753_2 | -| ir.cpp:1753:51:1753:51 | SideEffect | m1753_4 | -| ir.cpp:1754:48:1754:48 | Address | &:r1754_1 | -| ir.cpp:1754:48:1754:48 | Address | &:r1754_1 | -| ir.cpp:1754:48:1754:48 | Address | &:r1754_3 | -| ir.cpp:1754:48:1754:48 | Address | &:r1754_3 | -| ir.cpp:1754:48:1754:48 | Load | m1754_2 | -| ir.cpp:1754:48:1754:48 | SideEffect | m1754_4 | -| ir.cpp:1755:40:1755:41 | Address | &:r1755_1 | -| ir.cpp:1755:40:1755:41 | Address | &:r1755_1 | -| ir.cpp:1755:40:1755:41 | Arg(this) | this:r1755_1 | -| ir.cpp:1755:44:1755:45 | CallTarget | func:r1755_3 | -| ir.cpp:1755:44:1755:45 | ChiPartial | partial:m1755_9 | -| ir.cpp:1755:44:1755:45 | ChiPartial | partial:m1755_12 | -| ir.cpp:1755:44:1755:45 | ChiTotal | total:m1752_4 | -| ir.cpp:1755:44:1755:45 | ChiTotal | total:m1755_2 | -| ir.cpp:1755:44:1755:45 | SideEffect | ~m1752_4 | -| ir.cpp:1755:45:1755:45 | Address | &:r1755_4 | -| ir.cpp:1755:45:1755:45 | Address | &:r1755_7 | -| ir.cpp:1755:45:1755:45 | Arg(0) | 0:r1755_7 | -| ir.cpp:1755:45:1755:45 | Load | m1753_2 | -| ir.cpp:1755:45:1755:45 | SideEffect | ~m1753_4 | -| ir.cpp:1755:45:1755:45 | Unary | r1755_5 | -| ir.cpp:1755:45:1755:45 | Unary | r1755_6 | -| ir.cpp:1756:37:1756:38 | Address | &:r1756_1 | -| ir.cpp:1756:37:1756:38 | Address | &:r1756_1 | -| ir.cpp:1756:37:1756:38 | Arg(this) | this:r1756_1 | -| ir.cpp:1756:41:1756:42 | CallTarget | func:r1756_3 | -| ir.cpp:1756:41:1756:42 | ChiPartial | partial:m1756_9 | -| ir.cpp:1756:41:1756:42 | ChiPartial | partial:m1756_12 | -| ir.cpp:1756:41:1756:42 | ChiTotal | total:m1755_10 | -| ir.cpp:1756:41:1756:42 | ChiTotal | total:m1756_2 | -| ir.cpp:1756:41:1756:42 | SideEffect | ~m1755_10 | -| ir.cpp:1756:42:1756:42 | Address | &:r1756_4 | -| ir.cpp:1756:42:1756:42 | Address | &:r1756_7 | -| ir.cpp:1756:42:1756:42 | Arg(0) | 0:r1756_7 | -| ir.cpp:1756:42:1756:42 | Load | m1754_2 | -| ir.cpp:1756:42:1756:42 | SideEffect | ~m1754_4 | -| ir.cpp:1756:42:1756:42 | Unary | r1756_5 | -| ir.cpp:1756:42:1756:42 | Unary | r1756_6 | -| ir.cpp:1757:1:1757:1 | Address | &:r1757_1 | -| ir.cpp:1759:6:1759:22 | ChiPartial | partial:m1759_3 | -| ir.cpp:1759:6:1759:22 | ChiTotal | total:m1759_2 | -| ir.cpp:1759:6:1759:22 | SideEffect | m1759_3 | -| ir.cpp:1759:28:1759:28 | Address | &:r1759_5 | -| ir.cpp:1760:13:1760:13 | Address | &:r1760_1 | -| ir.cpp:1760:17:1760:17 | Address | &:r1760_2 | -| ir.cpp:1760:17:1760:17 | Load | m1759_6 | -| ir.cpp:1760:17:1760:17 | StoreValue | r1760_3 | -| ir.cpp:1760:20:1760:20 | Address | &:r1760_5 | -| ir.cpp:1760:20:1760:20 | Left | r1760_6 | -| ir.cpp:1760:20:1760:20 | Load | m1759_6 | -| ir.cpp:1760:20:1760:24 | Condition | r1760_10 | -| ir.cpp:1760:20:1760:24 | Left | r1760_8 | -| ir.cpp:1760:20:1760:24 | Right | r1760_9 | -| ir.cpp:1760:24:1760:24 | Right | r1760_7 | -| ir.cpp:1761:9:1761:9 | Address | &:r1761_6 | -| ir.cpp:1761:13:1761:13 | Address | &:r1761_1 | -| ir.cpp:1761:13:1761:13 | Left | r1761_2 | -| ir.cpp:1761:13:1761:13 | Load | m1759_6 | -| ir.cpp:1761:13:1761:17 | StoreValue | r1761_5 | -| ir.cpp:1761:17:1761:17 | Address | &:r1761_3 | -| ir.cpp:1761:17:1761:17 | Load | m1760_4 | -| ir.cpp:1761:17:1761:17 | Right | r1761_4 | -| ir.cpp:1764:9:1764:9 | Address | &:r1764_2 | -| ir.cpp:1764:9:1764:9 | Phi | from 0:m1759_6 | -| ir.cpp:1764:9:1764:9 | Phi | from 1:m1761_7 | -| ir.cpp:1765:9:1765:9 | Address | &:r1765_3 | -| ir.cpp:1765:13:1765:13 | Address | &:r1765_1 | -| ir.cpp:1765:13:1765:13 | Load | m1764_1 | -| ir.cpp:1765:13:1765:13 | StoreValue | r1765_2 | -| ir.cpp:1765:16:1765:16 | Address | &:r1765_5 | -| ir.cpp:1765:16:1765:16 | Left | r1765_6 | -| ir.cpp:1765:16:1765:16 | Load | m1764_1 | -| ir.cpp:1765:16:1765:20 | Condition | r1765_10 | -| ir.cpp:1765:16:1765:20 | Left | r1765_8 | -| ir.cpp:1765:16:1765:20 | Right | r1765_9 | -| ir.cpp:1765:20:1765:20 | Right | r1765_7 | -| ir.cpp:1766:9:1766:9 | Address | &:r1766_6 | -| ir.cpp:1766:13:1766:13 | Address | &:r1766_1 | -| ir.cpp:1766:13:1766:13 | Left | r1766_2 | -| ir.cpp:1766:13:1766:13 | Load | m1764_1 | -| ir.cpp:1766:13:1766:17 | StoreValue | r1766_5 | -| ir.cpp:1766:17:1766:17 | Address | &:r1766_3 | -| ir.cpp:1766:17:1766:17 | Load | m1765_4 | -| ir.cpp:1766:17:1766:17 | Right | r1766_4 | -| ir.cpp:1769:9:1769:9 | Address | &:r1769_4 | -| ir.cpp:1769:13:1769:13 | Address | &:r1769_2 | -| ir.cpp:1769:13:1769:13 | Load | m1769_1 | -| ir.cpp:1769:13:1769:13 | Phi | from 2:m1764_1 | -| ir.cpp:1769:13:1769:13 | Phi | from 3:m1766_7 | -| ir.cpp:1769:13:1769:13 | StoreValue | r1769_3 | -| ir.cpp:1769:14:1769:25 | Address | &:r1769_6 | -| ir.cpp:1769:14:1769:25 | Condition | r1769_14 | -| ir.cpp:1769:20:1769:21 | Address | &:r1769_10 | -| ir.cpp:1769:20:1769:21 | Left | r1769_11 | -| ir.cpp:1769:20:1769:21 | Load | m1769_9 | -| ir.cpp:1769:20:1769:21 | Right | r1769_12 | -| ir.cpp:1769:20:1769:21 | Unary | r1769_13 | -| ir.cpp:1769:25:1769:25 | Address | &:r1769_7 | -| ir.cpp:1769:25:1769:25 | Load | m1769_5 | -| ir.cpp:1769:25:1769:25 | StoreValue | r1769_8 | -| ir.cpp:1770:9:1770:9 | Address | &:r1770_6 | -| ir.cpp:1770:13:1770:13 | Address | &:r1770_1 | -| ir.cpp:1770:13:1770:13 | Left | r1770_2 | -| ir.cpp:1770:13:1770:13 | Load | m1769_1 | -| ir.cpp:1770:13:1770:17 | StoreValue | r1770_5 | -| ir.cpp:1770:17:1770:17 | Address | &:r1770_3 | -| ir.cpp:1770:17:1770:17 | Load | m1769_5 | -| ir.cpp:1770:17:1770:17 | Right | r1770_4 | -| ir.cpp:1773:9:1773:29 | Address | &:r1773_6 | -| ir.cpp:1773:9:1773:29 | Condition | r1773_14 | -| ir.cpp:1773:13:1773:13 | Address | &:r1773_2 | -| ir.cpp:1773:13:1773:13 | Phi | from 4:m1769_1 | -| ir.cpp:1773:13:1773:13 | Phi | from 5:m1770_7 | -| ir.cpp:1773:17:1773:17 | Address | &:r1773_3 | -| ir.cpp:1773:17:1773:17 | Load | m1773_1 | -| ir.cpp:1773:17:1773:17 | StoreValue | r1773_4 | -| ir.cpp:1773:24:1773:25 | Address | &:r1773_10 | -| ir.cpp:1773:24:1773:25 | Left | r1773_11 | -| ir.cpp:1773:24:1773:25 | Load | m1773_9 | -| ir.cpp:1773:24:1773:25 | Right | r1773_12 | -| ir.cpp:1773:24:1773:25 | Unary | r1773_13 | -| ir.cpp:1773:29:1773:29 | Address | &:r1773_7 | -| ir.cpp:1773:29:1773:29 | Load | m1773_5 | -| ir.cpp:1773:29:1773:29 | StoreValue | r1773_8 | -| ir.cpp:1774:9:1774:9 | Address | &:r1774_6 | -| ir.cpp:1774:13:1774:13 | Address | &:r1774_1 | -| ir.cpp:1774:13:1774:13 | Left | r1774_2 | -| ir.cpp:1774:13:1774:13 | Load | m1773_1 | -| ir.cpp:1774:13:1774:17 | StoreValue | r1774_5 | -| ir.cpp:1774:17:1774:17 | Address | &:r1774_3 | -| ir.cpp:1774:17:1774:17 | Load | m1773_5 | -| ir.cpp:1774:17:1774:17 | Right | r1774_4 | -| ir.cpp:1777:9:1777:9 | Address | &:r1777_2 | -| ir.cpp:1777:9:1777:9 | Phi | from 6:m1773_1 | -| ir.cpp:1777:9:1777:9 | Phi | from 7:m1774_7 | -| ir.cpp:1777:13:1777:13 | Address | &:r1777_3 | -| ir.cpp:1777:13:1777:13 | Load | m1777_1 | -| ir.cpp:1777:13:1777:13 | StoreValue | r1777_4 | -| ir.cpp:1778:9:1778:9 | Address | &:r1778_1 | -| ir.cpp:1778:9:1778:9 | Condition | r1778_4 | -| ir.cpp:1778:9:1778:9 | Left | r1778_2 | -| ir.cpp:1778:9:1778:9 | Load | m1777_5 | -| ir.cpp:1778:9:1778:9 | Right | r1778_3 | -| ir.cpp:1779:9:1779:9 | Address | &:r1779_6 | -| ir.cpp:1779:13:1779:13 | Address | &:r1779_1 | -| ir.cpp:1779:13:1779:13 | Left | r1779_2 | -| ir.cpp:1779:13:1779:13 | Load | m1777_1 | -| ir.cpp:1779:13:1779:17 | StoreValue | r1779_5 | -| ir.cpp:1779:17:1779:17 | Address | &:r1779_3 | -| ir.cpp:1779:17:1779:17 | Load | m1777_5 | -| ir.cpp:1779:17:1779:17 | Right | r1779_4 | -| ir.cpp:1782:9:1782:18 | Address | &:r1782_2 | -| ir.cpp:1782:9:1782:18 | Condition | r1782_10 | -| ir.cpp:1782:9:1782:18 | Phi | from 8:m1777_1 | -| ir.cpp:1782:9:1782:18 | Phi | from 9:m1779_7 | -| ir.cpp:1782:13:1782:14 | Address | &:r1782_6 | -| ir.cpp:1782:13:1782:14 | Left | r1782_7 | -| ir.cpp:1782:13:1782:14 | Load | m1782_5 | -| ir.cpp:1782:13:1782:14 | Right | r1782_8 | -| ir.cpp:1782:13:1782:14 | Unary | r1782_9 | -| ir.cpp:1782:18:1782:18 | Address | &:r1782_3 | -| ir.cpp:1782:18:1782:18 | Load | m1777_5 | -| ir.cpp:1782:18:1782:18 | StoreValue | r1782_4 | -| ir.cpp:1783:9:1783:9 | Address | &:r1783_3 | -| ir.cpp:1783:9:1783:9 | Address | &:r1783_3 | -| ir.cpp:1783:9:1783:9 | Left | r1783_4 | -| ir.cpp:1783:9:1783:9 | Load | m1782_1 | -| ir.cpp:1783:9:1783:15 | StoreValue | r1783_5 | -| ir.cpp:1783:14:1783:15 | Address | &:r1783_1 | -| ir.cpp:1783:14:1783:15 | Load | m1782_5 | -| ir.cpp:1783:14:1783:15 | Right | r1783_2 | -| ir.cpp:1787:6:1787:26 | ChiPartial | partial:m1787_3 | -| ir.cpp:1787:6:1787:26 | ChiTotal | total:m1787_2 | -| ir.cpp:1787:6:1787:26 | SideEffect | m1787_3 | -| ir.cpp:1787:32:1787:32 | Address | &:r1787_5 | -| ir.cpp:1788:17:1788:17 | Address | &:r1788_1 | -| ir.cpp:1788:21:1788:21 | Address | &:r1788_2 | -| ir.cpp:1788:21:1788:21 | Load | m1787_6 | -| ir.cpp:1788:21:1788:21 | StoreValue | r1788_3 | -| ir.cpp:1788:24:1788:24 | Address | &:r1788_5 | -| ir.cpp:1788:24:1788:24 | Left | r1788_6 | -| ir.cpp:1788:24:1788:24 | Load | m1787_6 | -| ir.cpp:1788:24:1788:28 | Condition | r1788_8 | -| ir.cpp:1788:28:1788:28 | Right | r1788_7 | -| ir.cpp:1790:9:1790:9 | Address | &:r1790_6 | -| ir.cpp:1790:13:1790:13 | Address | &:r1790_1 | -| ir.cpp:1790:13:1790:13 | Left | r1790_2 | -| ir.cpp:1790:13:1790:13 | Load | m1787_6 | -| ir.cpp:1790:13:1790:17 | StoreValue | r1790_5 | -| ir.cpp:1790:17:1790:17 | Address | &:r1790_3 | -| ir.cpp:1790:17:1790:17 | Load | m1788_4 | -| ir.cpp:1790:17:1790:17 | Right | r1790_4 | -| ir.cpp:1793:9:1793:9 | Address | &:r1793_1 | -| ir.cpp:1794:13:1794:13 | Address | &:r1794_3 | -| ir.cpp:1794:17:1794:17 | Address | &:r1794_1 | -| ir.cpp:1794:17:1794:17 | Load | m1790_7 | -| ir.cpp:1794:17:1794:17 | StoreValue | r1794_2 | -| ir.cpp:1794:20:1794:20 | Address | &:r1794_5 | -| ir.cpp:1794:20:1794:20 | Left | r1794_6 | -| ir.cpp:1794:20:1794:20 | Load | m1790_7 | -| ir.cpp:1794:20:1794:24 | Condition | r1794_8 | -| ir.cpp:1794:24:1794:24 | Right | r1794_7 | -| ir.cpp:1796:9:1796:9 | Address | &:r1796_6 | -| ir.cpp:1796:13:1796:13 | Address | &:r1796_1 | -| ir.cpp:1796:13:1796:13 | Left | r1796_2 | -| ir.cpp:1796:13:1796:13 | Load | m1790_7 | -| ir.cpp:1796:13:1796:17 | StoreValue | r1796_5 | -| ir.cpp:1796:17:1796:17 | Address | &:r1796_3 | -| ir.cpp:1796:17:1796:17 | Load | m1794_4 | -| ir.cpp:1796:17:1796:17 | Right | r1796_4 | -| ir.cpp:1799:13:1799:13 | Address | &:r1799_3 | -| ir.cpp:1799:17:1799:17 | Address | &:r1799_1 | -| ir.cpp:1799:17:1799:17 | Load | m1796_7 | -| ir.cpp:1799:17:1799:17 | StoreValue | r1799_2 | -| ir.cpp:1799:18:1799:29 | Address | &:r1799_5 | -| ir.cpp:1799:18:1799:29 | Condition | r1799_11 | -| ir.cpp:1799:24:1799:25 | Address | &:r1799_9 | -| ir.cpp:1799:24:1799:25 | Load | m1799_8 | -| ir.cpp:1799:24:1799:25 | Unary | r1799_10 | -| ir.cpp:1799:29:1799:29 | Address | &:r1799_6 | -| ir.cpp:1799:29:1799:29 | Load | m1799_4 | -| ir.cpp:1799:29:1799:29 | StoreValue | r1799_7 | -| ir.cpp:1801:9:1801:9 | Address | &:r1801_6 | -| ir.cpp:1801:13:1801:13 | Address | &:r1801_1 | -| ir.cpp:1801:13:1801:13 | Left | r1801_2 | -| ir.cpp:1801:13:1801:13 | Load | m1796_7 | -| ir.cpp:1801:13:1801:17 | StoreValue | r1801_5 | -| ir.cpp:1801:17:1801:17 | Address | &:r1801_3 | -| ir.cpp:1801:17:1801:17 | Load | m1799_4 | -| ir.cpp:1801:17:1801:17 | Right | r1801_4 | -| ir.cpp:1804:13:1804:33 | Address | &:r1804_5 | -| ir.cpp:1804:13:1804:33 | Condition | r1804_11 | -| ir.cpp:1804:17:1804:17 | Address | &:r1804_1 | -| ir.cpp:1804:21:1804:21 | Address | &:r1804_2 | -| ir.cpp:1804:21:1804:21 | Load | m1801_7 | -| ir.cpp:1804:21:1804:21 | StoreValue | r1804_3 | -| ir.cpp:1804:28:1804:29 | Address | &:r1804_9 | -| ir.cpp:1804:28:1804:29 | Load | m1804_8 | -| ir.cpp:1804:28:1804:29 | Unary | r1804_10 | -| ir.cpp:1804:33:1804:33 | Address | &:r1804_6 | -| ir.cpp:1804:33:1804:33 | Load | m1804_4 | -| ir.cpp:1804:33:1804:33 | StoreValue | r1804_7 | -| ir.cpp:1806:9:1806:9 | Address | &:r1806_6 | -| ir.cpp:1806:13:1806:13 | Address | &:r1806_1 | -| ir.cpp:1806:13:1806:13 | Left | r1806_2 | -| ir.cpp:1806:13:1806:13 | Load | m1801_7 | -| ir.cpp:1806:13:1806:17 | StoreValue | r1806_5 | -| ir.cpp:1806:17:1806:17 | Address | &:r1806_3 | -| ir.cpp:1806:17:1806:17 | Load | m1804_4 | -| ir.cpp:1806:17:1806:17 | Right | r1806_4 | -| ir.cpp:1809:9:1809:9 | Address | &:r1809_1 | -| ir.cpp:1809:13:1809:13 | Address | &:r1809_2 | -| ir.cpp:1809:13:1809:13 | Load | m1806_7 | -| ir.cpp:1809:13:1809:13 | StoreValue | r1809_3 | -| ir.cpp:1810:13:1810:13 | Address | &:r1810_1 | -| ir.cpp:1810:13:1810:13 | Condition | r1810_2 | -| ir.cpp:1810:13:1810:13 | Load | m1809_4 | -| ir.cpp:1812:9:1812:9 | Address | &:r1812_6 | +| ir.cpp:1194:9:1194:9 | Condition | r1194_2 | +| ir.cpp:1194:9:1194:9 | Load | m1191_6 | +| ir.cpp:1195:7:1195:28 | Address | &:r1195_1 | +| ir.cpp:1195:7:1195:28 | Address | &:r1195_1 | +| ir.cpp:1195:7:1195:28 | Load | m1195_4 | +| ir.cpp:1195:13:1195:28 | StoreValue | r1195_3 | +| ir.cpp:1195:13:1195:28 | Unary | r1195_2 | +| ir.cpp:1197:14:1197:14 | Address | &:r1197_1 | +| ir.cpp:1197:14:1197:14 | Left | r1197_2 | +| ir.cpp:1197:14:1197:14 | Load | m1193_3 | +| ir.cpp:1197:14:1197:18 | Condition | r1197_4 | +| ir.cpp:1197:18:1197:18 | Right | r1197_3 | +| ir.cpp:1200:5:1200:5 | Address | &:r1200_2 | +| ir.cpp:1200:9:1200:9 | StoreValue | r1200_1 | +| ir.cpp:1202:22:1202:22 | Address | &:r1202_2 | +| ir.cpp:1202:22:1202:22 | Address | &:r1202_2 | +| ir.cpp:1202:22:1202:22 | Address | &:r1202_4 | +| ir.cpp:1202:22:1202:22 | Load | m1202_3 | +| ir.cpp:1203:5:1203:19 | Address | &:r1203_1 | +| ir.cpp:1203:5:1203:19 | Address | &:r1203_1 | +| ir.cpp:1203:5:1203:19 | Address | &:r1203_1 | +| ir.cpp:1203:5:1203:19 | Arg(this) | this:r1203_1 | +| ir.cpp:1203:5:1203:19 | CallTarget | func:r1203_3 | +| ir.cpp:1203:5:1203:19 | ChiPartial | partial:m1203_7 | +| ir.cpp:1203:5:1203:19 | ChiPartial | partial:m1203_10 | +| ir.cpp:1203:5:1203:19 | ChiTotal | total:m1191_4 | +| ir.cpp:1203:5:1203:19 | ChiTotal | total:m1203_2 | +| ir.cpp:1203:5:1203:19 | Load | m1203_11 | +| ir.cpp:1203:5:1203:19 | SideEffect | ~m1191_4 | +| ir.cpp:1203:18:1203:18 | Address | &:r1203_4 | +| ir.cpp:1203:18:1203:18 | Address | &:r1203_5 | +| ir.cpp:1203:18:1203:18 | Arg(0) | 0:r1203_5 | +| ir.cpp:1203:18:1203:18 | Load | m1202_3 | +| ir.cpp:1203:18:1203:18 | SideEffect | ~m1202_5 | +| ir.cpp:1205:24:1205:24 | Address | &:r1205_2 | +| ir.cpp:1205:24:1205:24 | Address | &:r1205_2 | +| ir.cpp:1205:24:1205:24 | Address | &:r1205_4 | +| ir.cpp:1205:24:1205:24 | Load | m1205_3 | +| ir.cpp:1211:6:1211:16 | ChiPartial | partial:m1211_3 | +| ir.cpp:1211:6:1211:16 | ChiTotal | total:m1211_2 | +| ir.cpp:1211:6:1211:16 | SideEffect | m1211_3 | +| ir.cpp:1211:22:1211:22 | Address | &:r1211_5 | +| ir.cpp:1212:18:1212:20 | Address | &:r1212_1 | +| ir.cpp:1212:18:1212:20 | Left | r1212_1 | +| ir.cpp:1212:18:1212:20 | Left | r1212_1 | +| ir.cpp:1212:18:1212:20 | Left | r1212_1 | +| ir.cpp:1212:18:1212:20 | Left | r1212_1 | +| ir.cpp:1212:23:1212:37 | Address | &:r1212_4 | +| ir.cpp:1212:23:1212:37 | Address | &:r1212_9 | +| ir.cpp:1212:23:1212:37 | Address | &:r1212_14 | +| ir.cpp:1212:23:1212:37 | Address | &:r1212_19 | +| ir.cpp:1212:23:1212:37 | Right | r1212_3 | +| ir.cpp:1212:23:1212:37 | Right | r1212_8 | +| ir.cpp:1212:23:1212:37 | Right | r1212_13 | +| ir.cpp:1212:23:1212:37 | Right | r1212_18 | +| ir.cpp:1212:26:1212:26 | ChiPartial | partial:m1212_6 | +| ir.cpp:1212:26:1212:26 | ChiTotal | total:m1212_2 | +| ir.cpp:1212:26:1212:26 | StoreValue | r1212_5 | +| ir.cpp:1212:29:1212:29 | ChiPartial | partial:m1212_11 | +| ir.cpp:1212:29:1212:29 | ChiTotal | total:m1212_7 | +| ir.cpp:1212:29:1212:29 | StoreValue | r1212_10 | +| ir.cpp:1212:32:1212:32 | ChiPartial | partial:m1212_16 | +| ir.cpp:1212:32:1212:32 | ChiTotal | total:m1212_12 | +| ir.cpp:1212:32:1212:32 | StoreValue | r1212_15 | +| ir.cpp:1212:35:1212:35 | ChiPartial | partial:m1212_21 | +| ir.cpp:1212:35:1212:35 | ChiTotal | total:m1212_17 | +| ir.cpp:1212:35:1212:35 | StoreValue | r1212_20 | +| ir.cpp:1213:7:1213:7 | Address | &:r1213_1 | +| ir.cpp:1213:11:1213:13 | Left | r1213_2 | +| ir.cpp:1213:11:1213:16 | Address | &:r1213_5 | +| ir.cpp:1213:11:1213:16 | Load | ~m1212_22 | +| ir.cpp:1213:11:1213:16 | StoreValue | r1213_6 | +| ir.cpp:1213:15:1213:15 | Address | &:r1213_3 | +| ir.cpp:1213:15:1213:15 | Load | m1211_6 | +| ir.cpp:1213:15:1213:15 | Right | r1213_4 | +| ir.cpp:1214:3:1214:5 | Left | r1214_3 | +| ir.cpp:1214:3:1214:8 | Address | &:r1214_6 | +| ir.cpp:1214:3:1214:12 | ChiPartial | partial:m1214_7 | +| ir.cpp:1214:3:1214:12 | ChiTotal | total:m1212_22 | +| ir.cpp:1214:7:1214:7 | Address | &:r1214_4 | +| ir.cpp:1214:7:1214:7 | Load | m1211_6 | +| ir.cpp:1214:7:1214:7 | Right | r1214_5 | +| ir.cpp:1214:12:1214:12 | Address | &:r1214_1 | +| ir.cpp:1214:12:1214:12 | Load | m1213_7 | +| ir.cpp:1214:12:1214:12 | StoreValue | r1214_2 | +| ir.cpp:1215:18:1215:28 | Address | &:r1215_1 | +| ir.cpp:1215:32:1215:78 | Arg(2) | 2:r1215_6 | +| ir.cpp:1215:32:1215:78 | StoreValue | r1215_10 | +| ir.cpp:1215:56:1215:58 | Address | &:r1215_2 | +| ir.cpp:1215:56:1215:58 | Arg(0) | 0:r1215_3 | +| ir.cpp:1215:56:1215:58 | Load | m1214_8 | +| ir.cpp:1215:61:1215:63 | Address | &:r1215_4 | +| ir.cpp:1215:61:1215:63 | Arg(1) | 1:r1215_5 | +| ir.cpp:1215:61:1215:63 | Load | m1214_8 | +| ir.cpp:1215:71:1215:71 | Arg(3) | 3:r1215_7 | +| ir.cpp:1215:74:1215:74 | Arg(4) | 4:r1215_8 | +| ir.cpp:1215:77:1215:77 | Arg(5) | 5:r1215_9 | +| ir.cpp:1216:3:1216:5 | Address | &:r1216_6 | +| ir.cpp:1216:9:1216:11 | Address | &:r1216_1 | +| ir.cpp:1216:9:1216:11 | Left | r1216_2 | +| ir.cpp:1216:9:1216:11 | Load | m1214_8 | +| ir.cpp:1216:9:1216:25 | StoreValue | r1216_5 | +| ir.cpp:1216:15:1216:25 | Address | &:r1216_3 | +| ir.cpp:1216:15:1216:25 | Load | m1215_11 | +| ir.cpp:1216:15:1216:25 | Right | r1216_4 | +| ir.cpp:1221:5:1221:21 | Address | &:r1221_7 | +| ir.cpp:1221:5:1221:21 | ChiPartial | partial:m1221_3 | +| ir.cpp:1221:5:1221:21 | ChiTotal | total:m1221_2 | +| ir.cpp:1221:5:1221:21 | Load | m1224_4 | +| ir.cpp:1221:5:1221:21 | SideEffect | m1221_3 | +| ir.cpp:1221:27:1221:27 | Address | &:r1221_5 | +| ir.cpp:1222:7:1222:7 | Address | &:r1222_1 | +| ir.cpp:1223:3:1223:8 | CallTarget | func:r1223_1 | +| ir.cpp:1223:10:1223:11 | Address | &:r1223_4 | +| ir.cpp:1223:10:1223:11 | Arg(0) | 0:r1223_4 | +| ir.cpp:1223:10:1223:11 | ChiPartial | partial:m1223_11 | +| ir.cpp:1223:10:1223:11 | ChiTotal | total:m1222_2 | +| ir.cpp:1223:10:1223:11 | Unary | r1223_3 | +| ir.cpp:1223:11:1223:11 | Unary | r1223_2 | +| ir.cpp:1223:14:1223:15 | Address | &:r1223_7 | +| ir.cpp:1223:14:1223:15 | Arg(1) | 1:r1223_7 | +| ir.cpp:1223:14:1223:15 | SideEffect | ~m1221_6 | +| ir.cpp:1223:14:1223:15 | Unary | r1223_6 | +| ir.cpp:1223:15:1223:15 | Unary | r1223_5 | +| ir.cpp:1223:18:1223:28 | Arg(2) | 2:r1223_8 | +| ir.cpp:1223:18:1223:28 | BufferSize | r1223_8 | +| ir.cpp:1223:18:1223:28 | BufferSize | r1223_8 | +| ir.cpp:1224:3:1224:11 | Address | &:r1224_1 | +| ir.cpp:1224:10:1224:10 | Address | &:r1224_2 | +| ir.cpp:1224:10:1224:10 | Load | m1223_12 | +| ir.cpp:1224:10:1224:10 | StoreValue | r1224_3 | +| ir.cpp:1227:8:1227:23 | Address | &:r1227_5 | +| ir.cpp:1227:8:1227:23 | ChiPartial | partial:m1227_3 | +| ir.cpp:1227:8:1227:23 | ChiTotal | total:m1227_2 | +| ir.cpp:1227:8:1227:23 | Load | m1228_11 | +| ir.cpp:1227:8:1227:23 | SideEffect | ~m1228_8 | +| ir.cpp:1228:3:1228:23 | Address | &:r1228_1 | +| ir.cpp:1228:3:1228:23 | Address | &:r1228_1 | +| ir.cpp:1228:3:1228:23 | Arg(this) | this:r1228_1 | +| ir.cpp:1228:3:1228:23 | CallTarget | func:r1228_3 | +| ir.cpp:1228:3:1228:23 | ChiPartial | partial:m1228_7 | +| ir.cpp:1228:3:1228:23 | ChiPartial | partial:m1228_10 | +| ir.cpp:1228:3:1228:23 | ChiTotal | total:m1227_4 | +| ir.cpp:1228:3:1228:23 | ChiTotal | total:m1228_2 | +| ir.cpp:1228:3:1228:23 | SideEffect | ~m1227_4 | +| ir.cpp:1228:17:1228:21 | Address | &:r1228_5 | +| ir.cpp:1228:17:1228:21 | Arg(0) | 0:r1228_5 | +| ir.cpp:1228:17:1228:21 | SideEffect | ~m1227_3 | +| ir.cpp:1228:17:1228:21 | Unary | r1228_4 | +| ir.cpp:1231:6:1231:16 | ChiPartial | partial:m1231_3 | +| ir.cpp:1231:6:1231:16 | ChiTotal | total:m1231_2 | +| ir.cpp:1231:6:1231:16 | SideEffect | m1231_3 | +| ir.cpp:1231:22:1231:22 | Address | &:r1231_5 | +| ir.cpp:1232:9:1232:9 | Address | &:r1232_1 | +| ir.cpp:1232:12:1232:13 | StoreValue | r1232_2 | +| ir.cpp:1233:12:1233:12 | Address | &:r1233_1 | +| ir.cpp:1233:12:1233:12 | Condition | r1233_2 | +| ir.cpp:1233:12:1233:12 | Load | m1231_6 | +| ir.cpp:1235:9:1235:9 | Address | &:r1235_2 | +| ir.cpp:1235:13:1235:13 | StoreValue | r1235_1 | +| ir.cpp:1237:9:1237:9 | Address | &:r1237_2 | +| ir.cpp:1237:9:1237:9 | Phi | from 0:m1232_3 | +| ir.cpp:1237:9:1237:9 | Phi | from 1:m1235_3 | +| ir.cpp:1237:13:1237:13 | Address | &:r1237_3 | +| ir.cpp:1237:13:1237:13 | Load | m1237_1 | +| ir.cpp:1237:13:1237:13 | StoreValue | r1237_4 | +| ir.cpp:1240:6:1240:28 | ChiPartial | partial:m1240_3 | +| ir.cpp:1240:6:1240:28 | ChiTotal | total:m1240_2 | +| ir.cpp:1240:6:1240:28 | SideEffect | m1240_3 | +| ir.cpp:1240:34:1240:34 | Address | &:r1240_5 | +| ir.cpp:1241:9:1241:9 | Address | &:r1241_1 | +| ir.cpp:1241:12:1241:13 | StoreValue | r1241_2 | +| ir.cpp:1242:12:1242:12 | Address | &:r1242_1 | +| ir.cpp:1242:12:1242:12 | Condition | r1242_2 | +| ir.cpp:1242:12:1242:12 | Load | m1240_6 | +| ir.cpp:1244:9:1244:9 | Address | &:r1244_2 | +| ir.cpp:1244:13:1244:13 | StoreValue | r1244_1 | +| ir.cpp:1246:9:1246:9 | Address | &:r1246_2 | +| ir.cpp:1246:13:1246:13 | StoreValue | r1246_1 | +| ir.cpp:1248:9:1248:9 | Address | &:r1248_2 | +| ir.cpp:1248:9:1248:9 | Phi | from 0:m1241_3 | +| ir.cpp:1248:9:1248:9 | Phi | from 2:m1246_3 | +| ir.cpp:1248:13:1248:13 | Address | &:r1248_3 | +| ir.cpp:1248:13:1248:13 | Load | m1248_1 | +| ir.cpp:1248:13:1248:13 | StoreValue | r1248_4 | +| ir.cpp:1251:6:1251:16 | ChiPartial | partial:m1251_3 | +| ir.cpp:1251:6:1251:16 | ChiTotal | total:m1251_2 | +| ir.cpp:1251:6:1251:16 | SideEffect | m1251_3 | +| ir.cpp:1251:22:1251:22 | Address | &:r1251_5 | +| ir.cpp:1252:9:1252:9 | Address | &:r1252_1 | +| ir.cpp:1252:12:1252:13 | StoreValue | r1252_2 | +| ir.cpp:1253:12:1253:12 | Address | &:r1253_1 | +| ir.cpp:1253:12:1253:12 | Condition | r1253_2 | +| ir.cpp:1253:12:1253:12 | Load | m1251_6 | +| ir.cpp:1255:9:1255:9 | Address | &:r1255_2 | +| ir.cpp:1255:13:1255:13 | StoreValue | r1255_1 | +| ir.cpp:1258:9:1258:9 | Address | &:r1258_2 | +| ir.cpp:1258:13:1258:13 | StoreValue | r1258_1 | +| ir.cpp:1259:5:1259:5 | Phi | from 0:m1252_3 | +| ir.cpp:1259:5:1259:5 | Phi | from 1:m1255_3 | +| ir.cpp:1259:5:1259:5 | Phi | from 2:m1258_3 | +| ir.cpp:1260:9:1260:9 | Address | &:r1260_1 | +| ir.cpp:1260:13:1260:13 | Address | &:r1260_2 | +| ir.cpp:1260:13:1260:13 | Load | m1259_1 | +| ir.cpp:1260:13:1260:13 | StoreValue | r1260_3 | +| ir.cpp:1263:6:1263:24 | ChiPartial | partial:m1263_3 | +| ir.cpp:1263:6:1263:24 | ChiTotal | total:m1263_2 | +| ir.cpp:1263:6:1263:24 | SideEffect | m1263_3 | +| ir.cpp:1263:30:1263:30 | Address | &:r1263_5 | +| ir.cpp:1264:9:1264:9 | Address | &:r1264_1 | +| ir.cpp:1264:12:1264:13 | StoreValue | r1264_2 | +| ir.cpp:1265:12:1265:12 | Address | &:r1265_1 | +| ir.cpp:1265:12:1265:12 | Condition | r1265_2 | +| ir.cpp:1265:12:1265:12 | Load | m1263_6 | +| ir.cpp:1267:13:1267:13 | Address | &:r1267_2 | +| ir.cpp:1267:17:1267:17 | StoreValue | r1267_1 | +| ir.cpp:1271:13:1271:13 | Address | &:r1271_2 | +| ir.cpp:1271:17:1271:17 | StoreValue | r1271_1 | +| ir.cpp:1275:13:1275:13 | Address | &:r1275_2 | +| ir.cpp:1275:17:1275:17 | StoreValue | r1275_1 | +| ir.cpp:1276:5:1276:5 | Phi | from 1:m1267_3 | +| ir.cpp:1276:5:1276:5 | Phi | from 2:m1271_3 | +| ir.cpp:1276:5:1276:5 | Phi | from 3:m1275_3 | +| ir.cpp:1277:9:1277:9 | Address | &:r1277_1 | +| ir.cpp:1277:13:1277:13 | Address | &:r1277_2 | +| ir.cpp:1277:13:1277:13 | Load | m1276_1 | +| ir.cpp:1277:13:1277:13 | StoreValue | r1277_3 | +| ir.cpp:1280:5:1280:19 | Address | &:r1280_7 | +| ir.cpp:1280:5:1280:19 | ChiPartial | partial:m1280_3 | +| ir.cpp:1280:5:1280:19 | ChiTotal | total:m1280_2 | +| ir.cpp:1280:5:1280:19 | Load | m1286_15 | +| ir.cpp:1280:5:1280:19 | SideEffect | ~m1286_2 | +| ir.cpp:1280:25:1280:25 | Address | &:r1280_5 | +| ir.cpp:1281:16:1281:16 | Address | &:r1281_3 | +| ir.cpp:1281:16:1281:16 | SideEffect | ~m1281_6 | +| ir.cpp:1281:20:1281:20 | ChiPartial | partial:m1281_5 | +| ir.cpp:1281:20:1281:20 | ChiTotal | total:m1281_2 | +| ir.cpp:1281:20:1281:20 | StoreValue | r1281_4 | +| ir.cpp:1282:16:1282:16 | Address | &:r1282_3 | +| ir.cpp:1282:16:1282:16 | SideEffect | ~m1282_6 | +| ir.cpp:1282:20:1282:28 | ChiPartial | partial:m1282_5 | +| ir.cpp:1282:20:1282:28 | ChiTotal | total:m1282_2 | +| ir.cpp:1282:20:1282:28 | StoreValue | r1282_4 | +| ir.cpp:1283:16:1283:16 | Address | &:r1283_1 | +| ir.cpp:1283:16:1283:16 | Address | &:r1283_1 | +| ir.cpp:1283:16:1283:16 | Address | &:r1283_4 | +| ir.cpp:1283:16:1283:16 | ChiPartial | partial:m1283_10 | +| ir.cpp:1283:16:1283:16 | ChiTotal | total:m1283_8 | +| ir.cpp:1283:16:1283:16 | Condition | r1283_2 | +| ir.cpp:1283:16:1283:16 | Load | ~m1280_3 | +| ir.cpp:1283:16:1283:16 | StoreValue | r1283_9 | +| ir.cpp:1283:20:1283:20 | Address | &:r1283_5 | +| ir.cpp:1283:20:1283:20 | ChiPartial | partial:m1283_7 | +| ir.cpp:1283:20:1283:20 | ChiTotal | total:m1280_4 | +| ir.cpp:1283:20:1283:20 | Load | m1280_6 | +| ir.cpp:1283:20:1283:20 | StoreValue | r1283_6 | +| ir.cpp:1286:5:1286:25 | Address | &:r1286_3 | +| ir.cpp:1286:5:1286:25 | Phi | from 0:~m1280_3 | +| ir.cpp:1286:5:1286:25 | Phi | from 0:~m1280_4 | +| ir.cpp:1286:5:1286:25 | Phi | from 1:m1283_7 | +| ir.cpp:1286:5:1286:25 | Phi | from 1:~m1283_11 | +| ir.cpp:1286:12:1286:12 | Address | &:r1286_4 | +| ir.cpp:1286:12:1286:12 | Left | r1286_5 | +| ir.cpp:1286:12:1286:12 | Load | ~m1286_2 | +| ir.cpp:1286:12:1286:16 | Left | r1286_8 | +| ir.cpp:1286:12:1286:20 | Left | r1286_11 | +| ir.cpp:1286:12:1286:24 | StoreValue | r1286_14 | +| ir.cpp:1286:16:1286:16 | Address | &:r1286_6 | +| ir.cpp:1286:16:1286:16 | Load | ~m1286_2 | +| ir.cpp:1286:16:1286:16 | Right | r1286_7 | +| ir.cpp:1286:20:1286:20 | Address | &:r1286_9 | +| ir.cpp:1286:20:1286:20 | Load | m1286_1 | +| ir.cpp:1286:20:1286:20 | Right | r1286_10 | +| ir.cpp:1286:24:1286:24 | Address | &:r1286_12 | +| ir.cpp:1286:24:1286:24 | Load | ~m1286_2 | +| ir.cpp:1286:24:1286:24 | Right | r1286_13 | +| ir.cpp:1289:6:1289:31 | ChiPartial | partial:m1289_3 | +| ir.cpp:1289:6:1289:31 | ChiTotal | total:m1289_2 | +| ir.cpp:1289:6:1289:31 | SideEffect | ~m1293_1 | +| ir.cpp:1289:45:1289:51 | Address | &:r1289_5 | +| ir.cpp:1289:45:1289:51 | Address | &:r1289_5 | +| ir.cpp:1289:45:1289:51 | Address | &:r1289_7 | +| ir.cpp:1289:45:1289:51 | Address | &:r1289_7 | +| ir.cpp:1289:45:1289:51 | Load | m1289_6 | +| ir.cpp:1289:45:1289:51 | SideEffect | m1289_8 | +| ir.cpp:1290:19:1290:19 | Address | &:r1290_1 | +| ir.cpp:1290:19:1290:19 | Address | &:r1290_1 | +| ir.cpp:1290:19:1290:19 | Address | &:r1290_4 | +| ir.cpp:1290:19:1290:19 | Arg(this) | this:r1290_4 | +| ir.cpp:1290:19:1290:19 | ChiPartial | partial:m1290_6 | +| ir.cpp:1290:19:1290:19 | ChiTotal | total:m0_6 | +| ir.cpp:1290:19:1290:19 | Condition | r1290_2 | +| ir.cpp:1290:19:1290:19 | Load | ~m1289_3 | +| ir.cpp:1290:19:1290:19 | StoreValue | r1290_5 | +| ir.cpp:1291:19:1291:19 | Address | &:r1291_2 | +| ir.cpp:1291:19:1291:19 | Address | &:r1291_2 | +| ir.cpp:1291:19:1291:19 | Address | &:r1291_5 | +| ir.cpp:1291:19:1291:19 | Arg(this) | this:r1291_5 | +| ir.cpp:1291:19:1291:19 | ChiPartial | partial:m1291_16 | +| ir.cpp:1291:19:1291:19 | ChiTotal | total:m1291_14 | +| ir.cpp:1291:19:1291:19 | Condition | r1291_3 | +| ir.cpp:1291:19:1291:19 | Load | ~m1291_1 | +| ir.cpp:1291:19:1291:19 | Phi | from 0:~m1289_4 | +| ir.cpp:1291:19:1291:19 | Phi | from 1:~m1290_7 | +| ir.cpp:1291:19:1291:19 | StoreValue | r1291_15 | +| ir.cpp:1291:20:1291:29 | CallTarget | func:r1291_6 | +| ir.cpp:1291:20:1291:29 | ChiPartial | partial:m1291_10 | +| ir.cpp:1291:20:1291:29 | ChiPartial | partial:m1291_13 | +| ir.cpp:1291:20:1291:29 | ChiTotal | total:m1291_1 | +| ir.cpp:1291:20:1291:29 | ChiTotal | total:m1291_11 | +| ir.cpp:1291:20:1291:29 | SideEffect | ~m1291_1 | +| ir.cpp:1291:21:1291:28 | Address | &:r1291_8 | +| ir.cpp:1291:21:1291:28 | Arg(0) | 0:r1291_8 | +| ir.cpp:1291:21:1291:28 | SideEffect | ~m1289_3 | +| ir.cpp:1291:21:1291:28 | Unary | r1291_7 | +| ir.cpp:1292:19:1292:19 | Address | &:r1292_2 | +| ir.cpp:1292:19:1292:19 | Address | &:r1292_2 | +| ir.cpp:1292:19:1292:19 | Address | &:r1292_5 | +| ir.cpp:1292:19:1292:19 | Arg(this) | this:r1292_5 | +| ir.cpp:1292:19:1292:19 | ChiPartial | partial:m1292_16 | +| ir.cpp:1292:19:1292:19 | ChiTotal | total:m1292_14 | +| ir.cpp:1292:19:1292:19 | Condition | r1292_3 | +| ir.cpp:1292:19:1292:19 | Load | ~m1292_1 | +| ir.cpp:1292:19:1292:19 | Phi | from 2:~m1291_1 | +| ir.cpp:1292:19:1292:19 | Phi | from 3:~m1291_17 | +| ir.cpp:1292:19:1292:19 | StoreValue | r1292_15 | +| ir.cpp:1292:20:1292:28 | CallTarget | func:r1292_6 | +| ir.cpp:1292:20:1292:28 | ChiPartial | partial:m1292_10 | +| ir.cpp:1292:20:1292:28 | ChiPartial | partial:m1292_13 | +| ir.cpp:1292:20:1292:28 | ChiTotal | total:m1292_1 | +| ir.cpp:1292:20:1292:28 | ChiTotal | total:m1292_11 | +| ir.cpp:1292:20:1292:28 | SideEffect | ~m1292_1 | +| ir.cpp:1292:21:1292:27 | Address | &:r1292_7 | +| ir.cpp:1292:21:1292:27 | Address | &:r1292_8 | +| ir.cpp:1292:21:1292:27 | Arg(0) | 0:r1292_8 | +| ir.cpp:1292:21:1292:27 | Load | m1289_6 | +| ir.cpp:1292:21:1292:27 | SideEffect | ~m1289_8 | +| ir.cpp:1293:1:1293:1 | Phi | from 4:~m1292_1 | +| ir.cpp:1293:1:1293:1 | Phi | from 5:~m1292_17 | +| ir.cpp:1300:6:1300:17 | ChiPartial | partial:m1300_3 | +| ir.cpp:1300:6:1300:17 | ChiTotal | total:m1300_2 | +| ir.cpp:1300:6:1300:17 | SideEffect | m1300_3 | +| ir.cpp:1300:25:1300:26 | Address | &:r1300_5 | +| ir.cpp:1300:25:1300:26 | Address | &:r1300_5 | +| ir.cpp:1300:25:1300:26 | Address | &:r1300_7 | +| ir.cpp:1300:25:1300:26 | Address | &:r1300_7 | +| ir.cpp:1300:25:1300:26 | Load | m1300_6 | +| ir.cpp:1300:25:1300:26 | SideEffect | m1300_8 | +| ir.cpp:1300:35:1300:36 | Address | &:r1300_9 | +| ir.cpp:1300:35:1300:36 | Address | &:r1300_9 | +| ir.cpp:1300:35:1300:36 | Address | &:r1300_11 | +| ir.cpp:1300:35:1300:36 | Address | &:r1300_11 | +| ir.cpp:1300:35:1300:36 | Load | m1300_10 | +| ir.cpp:1300:35:1300:36 | SideEffect | m1300_12 | +| ir.cpp:1301:10:1301:15 | Address | &:r1301_1 | +| ir.cpp:1301:10:1301:15 | Left | r1301_1 | +| ir.cpp:1301:10:1301:15 | Left | r1301_1 | +| ir.cpp:1301:24:1301:27 | Address | &:r1301_4 | +| ir.cpp:1301:24:1301:27 | Address | &:r1301_9 | +| ir.cpp:1301:24:1301:27 | ChiPartial | partial:m1301_11 | +| ir.cpp:1301:24:1301:27 | ChiTotal | total:m1301_7 | +| ir.cpp:1301:24:1301:27 | Right | r1301_3 | +| ir.cpp:1301:24:1301:27 | Right | r1301_8 | +| ir.cpp:1301:24:1301:27 | StoreValue | r1301_10 | +| ir.cpp:1301:26:1301:26 | ChiPartial | partial:m1301_6 | +| ir.cpp:1301:26:1301:26 | ChiTotal | total:m1301_2 | +| ir.cpp:1301:26:1301:26 | StoreValue | r1301_5 | +| ir.cpp:1303:5:1303:10 | CallTarget | func:r1303_1 | +| ir.cpp:1303:12:1303:17 | Address | &:r1303_3 | +| ir.cpp:1303:12:1303:17 | Arg(0) | 0:r1303_3 | +| ir.cpp:1303:12:1303:17 | ChiPartial | partial:m1303_9 | +| ir.cpp:1303:12:1303:17 | ChiTotal | total:m1301_12 | +| ir.cpp:1303:12:1303:17 | Unary | r1303_2 | +| ir.cpp:1303:20:1303:21 | Address | &:r1303_4 | +| ir.cpp:1303:20:1303:21 | Address | &:r1303_6 | +| ir.cpp:1303:20:1303:21 | Arg(1) | 1:r1303_6 | +| ir.cpp:1303:20:1303:21 | Load | m1300_6 | +| ir.cpp:1303:20:1303:21 | SideEffect | ~m1300_8 | +| ir.cpp:1303:20:1303:21 | Unary | r1303_5 | +| ir.cpp:1304:5:1304:10 | CallTarget | func:r1304_1 | +| ir.cpp:1304:12:1304:17 | Address | &:r1304_3 | +| ir.cpp:1304:12:1304:17 | Address | &:r1304_3 | +| ir.cpp:1304:12:1304:17 | Arg(0) | 0:r1304_3 | +| ir.cpp:1304:12:1304:17 | ChiPartial | partial:m1304_10 | +| ir.cpp:1304:12:1304:17 | ChiTotal | total:m1303_10 | +| ir.cpp:1304:12:1304:17 | SideEffect | ~m1303_10 | +| ir.cpp:1304:12:1304:17 | Unary | r1304_2 | +| ir.cpp:1304:20:1304:21 | Address | &:r1304_4 | +| ir.cpp:1304:20:1304:21 | Address | &:r1304_6 | +| ir.cpp:1304:20:1304:21 | Arg(1) | 1:r1304_6 | +| ir.cpp:1304:20:1304:21 | Load | m1300_10 | +| ir.cpp:1304:20:1304:21 | SideEffect | ~m1300_12 | +| ir.cpp:1304:20:1304:21 | Unary | r1304_5 | +| ir.cpp:1310:17:1310:29 | ChiPartial | partial:m1310_3 | +| ir.cpp:1310:17:1310:29 | ChiTotal | total:m1310_2 | +| ir.cpp:1310:17:1310:29 | SideEffect | m1310_3 | +| ir.cpp:1310:34:1310:34 | Address | &:r1310_5 | +| ir.cpp:1310:34:1310:34 | Address | &:r1310_5 | +| ir.cpp:1310:34:1310:34 | Address | &:r1310_7 | +| ir.cpp:1310:34:1310:34 | Address | &:r1310_7 | +| ir.cpp:1310:34:1310:34 | Load | m1310_6 | +| ir.cpp:1310:34:1310:34 | SideEffect | m1311_7 | +| ir.cpp:1310:41:1310:41 | Address | &:r1310_9 | +| ir.cpp:1311:9:1311:9 | Address | &:r1311_3 | +| ir.cpp:1311:9:1311:9 | Load | m1310_6 | +| ir.cpp:1311:9:1311:9 | Unary | r1311_4 | +| ir.cpp:1311:9:1311:21 | ChiPartial | partial:m1311_6 | +| ir.cpp:1311:9:1311:21 | ChiTotal | total:m1310_8 | +| ir.cpp:1311:12:1311:17 | Address | &:r1311_5 | +| ir.cpp:1311:21:1311:21 | Address | &:r1311_1 | +| ir.cpp:1311:21:1311:21 | Load | m1310_10 | +| ir.cpp:1311:21:1311:21 | StoreValue | r1311_2 | +| ir.cpp:1319:6:1319:33 | ChiPartial | partial:m1319_3 | +| ir.cpp:1319:6:1319:33 | ChiTotal | total:m1319_2 | +| ir.cpp:1319:6:1319:33 | SideEffect | ~m1336_6 | +| ir.cpp:1319:39:1319:45 | Address | &:r1319_5 | +| ir.cpp:1319:51:1319:55 | Address | &:r1319_7 | +| ir.cpp:1319:51:1319:55 | Address | &:r1319_7 | +| ir.cpp:1319:51:1319:55 | Address | &:r1319_9 | +| ir.cpp:1319:51:1319:55 | Address | &:r1319_9 | +| ir.cpp:1319:51:1319:55 | Load | m1319_8 | +| ir.cpp:1319:51:1319:55 | SideEffect | m1330_12 | +| ir.cpp:1320:7:1320:7 | Address | &:r1320_1 | +| ir.cpp:1320:7:1320:7 | Address | &:r1320_1 | +| ir.cpp:1320:7:1320:7 | Arg(this) | this:r1320_1 | +| ir.cpp:1320:7:1320:7 | CallTarget | func:r1320_3 | +| ir.cpp:1320:7:1320:7 | ChiPartial | partial:m1320_5 | +| ir.cpp:1320:7:1320:7 | ChiPartial | partial:m1320_7 | +| ir.cpp:1320:7:1320:7 | ChiTotal | total:m1319_4 | +| ir.cpp:1320:7:1320:7 | ChiTotal | total:m1320_2 | +| ir.cpp:1320:7:1320:7 | SideEffect | ~m1319_4 | +| ir.cpp:1321:7:1321:26 | CallTarget | func:r1321_2 | +| ir.cpp:1321:7:1321:26 | ChiPartial | partial:m1321_5 | +| ir.cpp:1321:7:1321:26 | ChiTotal | total:m1320_6 | +| ir.cpp:1321:7:1321:26 | SideEffect | ~m1320_6 | +| ir.cpp:1321:28:1321:29 | Arg(0) | 0:r1321_3 | +| ir.cpp:1322:5:1322:27 | CallTarget | func:r1322_1 | +| ir.cpp:1322:5:1322:27 | ChiPartial | partial:m1322_4 | +| ir.cpp:1322:5:1322:27 | ChiTotal | total:m1321_6 | +| ir.cpp:1322:5:1322:27 | SideEffect | ~m1321_6 | +| ir.cpp:1322:29:1322:30 | Arg(0) | 0:r1322_2 | +| ir.cpp:1324:7:1324:7 | Address | &:r1324_1 | +| ir.cpp:1325:7:1325:19 | CallTarget | func:r1325_2 | +| ir.cpp:1325:7:1325:19 | ChiPartial | partial:m1325_8 | +| ir.cpp:1325:7:1325:19 | ChiTotal | total:m1322_5 | +| ir.cpp:1325:7:1325:19 | SideEffect | ~m1322_5 | +| ir.cpp:1325:21:1325:22 | Address | &:r1325_4 | +| ir.cpp:1325:21:1325:22 | Address | &:r1325_4 | +| ir.cpp:1325:21:1325:22 | Arg(0) | 0:r1325_4 | +| ir.cpp:1325:21:1325:22 | ChiPartial | partial:m1325_11 | +| ir.cpp:1325:21:1325:22 | ChiTotal | total:m1324_2 | +| ir.cpp:1325:21:1325:22 | SideEffect | ~m1324_2 | +| ir.cpp:1325:22:1325:22 | Unary | r1325_3 | +| ir.cpp:1325:25:1325:31 | Address | &:r1325_5 | +| ir.cpp:1325:25:1325:31 | Arg(1) | 1:r1325_6 | +| ir.cpp:1325:25:1325:31 | Load | m1319_6 | +| ir.cpp:1326:5:1326:20 | CallTarget | func:r1326_1 | +| ir.cpp:1326:5:1326:20 | ChiPartial | partial:m1326_7 | +| ir.cpp:1326:5:1326:20 | ChiTotal | total:m1325_9 | +| ir.cpp:1326:5:1326:20 | SideEffect | ~m1325_9 | +| ir.cpp:1326:22:1326:23 | Address | &:r1326_3 | +| ir.cpp:1326:22:1326:23 | Address | &:r1326_3 | +| ir.cpp:1326:22:1326:23 | Arg(0) | 0:r1326_3 | +| ir.cpp:1326:22:1326:23 | ChiPartial | partial:m1326_10 | +| ir.cpp:1326:22:1326:23 | ChiTotal | total:m1325_12 | +| ir.cpp:1326:22:1326:23 | SideEffect | ~m1325_12 | +| ir.cpp:1326:23:1326:23 | Unary | r1326_2 | +| ir.cpp:1326:26:1326:32 | Address | &:r1326_4 | +| ir.cpp:1326:26:1326:32 | Arg(1) | 1:r1326_5 | +| ir.cpp:1326:26:1326:32 | Load | m1319_6 | +| ir.cpp:1328:7:1328:7 | Unary | r1328_1 | +| ir.cpp:1328:11:1328:23 | CallTarget | func:r1328_3 | +| ir.cpp:1328:11:1328:23 | ChiPartial | partial:m1328_11 | +| ir.cpp:1328:11:1328:23 | ChiTotal | total:m1326_8 | +| ir.cpp:1328:11:1328:23 | SideEffect | ~m1326_8 | +| ir.cpp:1328:25:1328:29 | Address | &:r1328_4 | +| ir.cpp:1328:25:1328:29 | Address | &:r1328_5 | +| ir.cpp:1328:25:1328:29 | Address | &:r1328_5 | +| ir.cpp:1328:25:1328:29 | Arg(0) | 0:r1328_5 | +| ir.cpp:1328:25:1328:29 | ChiPartial | partial:m1328_14 | +| ir.cpp:1328:25:1328:29 | ChiTotal | total:m1319_10 | +| ir.cpp:1328:25:1328:29 | Load | m1319_8 | +| ir.cpp:1328:25:1328:29 | SideEffect | ~m1319_10 | +| ir.cpp:1328:32:1328:38 | Address | &:r1328_6 | +| ir.cpp:1328:32:1328:38 | Left | r1328_7 | +| ir.cpp:1328:32:1328:38 | Load | m1319_6 | +| ir.cpp:1328:32:1328:42 | Arg(1) | 1:r1328_9 | +| ir.cpp:1328:42:1328:42 | Right | r1328_8 | +| ir.cpp:1329:7:1329:11 | Address | &:r1329_1 | +| ir.cpp:1329:7:1329:11 | Load | m1319_8 | +| ir.cpp:1329:7:1329:11 | Unary | r1329_2 | +| ir.cpp:1329:14:1329:26 | CallTarget | func:r1329_4 | +| ir.cpp:1329:14:1329:26 | ChiPartial | partial:m1329_9 | +| ir.cpp:1329:14:1329:26 | ChiTotal | total:m1328_12 | +| ir.cpp:1329:14:1329:26 | SideEffect | ~m1328_12 | +| ir.cpp:1329:28:1329:29 | Address | &:r1329_6 | +| ir.cpp:1329:28:1329:29 | Address | &:r1329_6 | +| ir.cpp:1329:28:1329:29 | Arg(0) | 0:r1329_6 | +| ir.cpp:1329:28:1329:29 | ChiPartial | partial:m1329_12 | +| ir.cpp:1329:28:1329:29 | ChiTotal | total:m1326_11 | +| ir.cpp:1329:28:1329:29 | SideEffect | ~m1326_11 | +| ir.cpp:1329:29:1329:29 | Unary | r1329_5 | +| ir.cpp:1329:32:1329:33 | Arg(1) | 1:r1329_7 | +| ir.cpp:1330:5:1330:9 | Address | &:r1330_1 | +| ir.cpp:1330:5:1330:9 | Load | m1319_8 | +| ir.cpp:1330:12:1330:24 | CallTarget | func:r1330_3 | +| ir.cpp:1330:12:1330:24 | ChiPartial | partial:m1330_8 | +| ir.cpp:1330:12:1330:24 | ChiTotal | total:m1329_10 | +| ir.cpp:1330:12:1330:24 | SideEffect | ~m1329_10 | +| ir.cpp:1330:26:1330:30 | Address | &:r1330_4 | +| ir.cpp:1330:26:1330:30 | Address | &:r1330_5 | +| ir.cpp:1330:26:1330:30 | Address | &:r1330_5 | +| ir.cpp:1330:26:1330:30 | Arg(0) | 0:r1330_5 | +| ir.cpp:1330:26:1330:30 | ChiPartial | partial:m1330_11 | +| ir.cpp:1330:26:1330:30 | ChiTotal | total:m1328_15 | +| ir.cpp:1330:26:1330:30 | Load | m1319_8 | +| ir.cpp:1330:26:1330:30 | SideEffect | ~m1328_15 | +| ir.cpp:1330:33:1330:34 | Arg(1) | 1:r1330_6 | +| ir.cpp:1332:7:1332:31 | CallTarget | func:r1332_2 | +| ir.cpp:1332:7:1332:31 | ChiPartial | partial:m1332_4 | +| ir.cpp:1332:7:1332:31 | ChiTotal | total:m1330_9 | +| ir.cpp:1332:7:1332:31 | SideEffect | ~m1330_9 | +| ir.cpp:1333:5:1333:32 | CallTarget | func:r1333_1 | +| ir.cpp:1333:5:1333:32 | ChiPartial | partial:m1333_3 | +| ir.cpp:1333:5:1333:32 | ChiTotal | total:m1332_5 | +| ir.cpp:1333:5:1333:32 | SideEffect | ~m1332_5 | +| ir.cpp:1335:5:1335:20 | CallTarget | func:r1335_1 | +| ir.cpp:1335:5:1335:20 | ChiPartial | partial:m1335_3 | +| ir.cpp:1335:5:1335:20 | ChiTotal | total:m1333_4 | +| ir.cpp:1335:5:1335:20 | SideEffect | ~m1333_4 | +| ir.cpp:1335:25:1335:49 | CallTarget | func:r1335_5 | +| ir.cpp:1335:25:1335:49 | ChiPartial | partial:m1335_7 | +| ir.cpp:1335:25:1335:49 | ChiTotal | total:m1335_4 | +| ir.cpp:1335:25:1335:49 | SideEffect | ~m1335_4 | +| ir.cpp:1336:1:1336:1 | Address | &:r1336_2 | +| ir.cpp:1336:1:1336:1 | Address | &:r1336_2 | +| ir.cpp:1336:1:1336:1 | Arg(this) | this:r1336_2 | +| ir.cpp:1336:1:1336:1 | CallTarget | func:r1336_3 | +| ir.cpp:1336:1:1336:1 | ChiPartial | partial:m1336_5 | +| ir.cpp:1336:1:1336:1 | ChiPartial | partial:m1336_8 | +| ir.cpp:1336:1:1336:1 | ChiTotal | total:m1320_8 | +| ir.cpp:1336:1:1336:1 | ChiTotal | total:m1335_8 | +| ir.cpp:1336:1:1336:1 | SideEffect | m1320_8 | +| ir.cpp:1336:1:1336:1 | SideEffect | ~m1335_8 | +| ir.cpp:1338:5:1338:22 | Address | &:r1338_10 | +| ir.cpp:1338:5:1338:22 | ChiPartial | partial:m1338_3 | +| ir.cpp:1338:5:1338:22 | ChiTotal | total:m1338_2 | +| ir.cpp:1338:5:1338:22 | Load | m1338_9 | +| ir.cpp:1338:5:1338:22 | Phi | from 2:m1340_4 | +| ir.cpp:1338:5:1338:22 | Phi | from 3:m1342_2 | +| ir.cpp:1338:5:1338:22 | SideEffect | m1338_3 | +| ir.cpp:1338:29:1338:29 | Address | &:r1338_5 | +| ir.cpp:1338:36:1338:36 | Address | &:r1338_7 | +| ir.cpp:1339:9:1339:9 | Address | &:r1339_1 | +| ir.cpp:1339:9:1339:9 | Condition | r1339_2 | +| ir.cpp:1339:9:1339:9 | Load | m1338_6 | +| ir.cpp:1340:9:1340:17 | Address | &:r1340_1 | +| ir.cpp:1340:16:1340:16 | Address | &:r1340_2 | +| ir.cpp:1340:16:1340:16 | Load | m1338_8 | +| ir.cpp:1340:16:1340:16 | StoreValue | r1340_3 | +| ir.cpp:1342:1:1342:1 | Address | &:r1342_1 | +| ir.cpp:1344:6:1344:15 | ChiPartial | partial:m1344_3 | +| ir.cpp:1344:6:1344:15 | ChiTotal | total:m1344_2 | +| ir.cpp:1344:6:1344:15 | SideEffect | ~m1345_8 | +| ir.cpp:1344:21:1344:21 | Address | &:r1344_5 | +| ir.cpp:1344:28:1344:28 | Address | &:r1344_7 | +| ir.cpp:1345:12:1345:21 | CallTarget | func:r1345_1 | +| ir.cpp:1345:12:1345:21 | ChiPartial | partial:m1345_7 | +| ir.cpp:1345:12:1345:21 | ChiTotal | total:m1344_4 | +| ir.cpp:1345:12:1345:21 | SideEffect | ~m1344_4 | +| ir.cpp:1345:23:1345:23 | Address | &:r1345_2 | +| ir.cpp:1345:23:1345:23 | Arg(0) | 0:r1345_3 | +| ir.cpp:1345:23:1345:23 | Load | m1344_6 | +| ir.cpp:1345:26:1345:26 | Address | &:r1345_4 | +| ir.cpp:1345:26:1345:26 | Arg(1) | 1:r1345_5 | +| ir.cpp:1345:26:1345:26 | Load | m1344_8 | +| ir.cpp:1348:6:1348:25 | ChiPartial | partial:m1348_3 | +| ir.cpp:1348:6:1348:25 | ChiTotal | total:m1348_2 | +| ir.cpp:1348:6:1348:25 | SideEffect | m1348_3 | +| ir.cpp:1348:32:1348:32 | Address | &:r1348_5 | +| ir.cpp:1348:39:1348:39 | Address | &:r1348_7 | +| ir.cpp:1348:47:1348:47 | Address | &:r1348_9 | +| ir.cpp:1349:9:1349:9 | Address | &:r1349_1 | +| ir.cpp:1349:13:1349:13 | Address | &:r1349_2 | +| ir.cpp:1349:13:1349:13 | Load | m1348_8 | +| ir.cpp:1349:13:1349:13 | StoreValue | r1349_3 | +| ir.cpp:1350:5:1350:5 | Address | &:r1350_7 | +| ir.cpp:1350:9:1350:9 | Address | &:r1350_1 | +| ir.cpp:1350:9:1350:9 | Condition | r1350_2 | +| ir.cpp:1350:9:1350:9 | Load | m1348_6 | +| ir.cpp:1350:9:1350:9 | StoreValue | r1350_2 | +| ir.cpp:1350:9:1350:14 | Address | &:r1350_5 | +| ir.cpp:1350:9:1350:14 | Address | &:r1350_9 | +| ir.cpp:1350:9:1350:14 | Address | &:r1350_13 | +| ir.cpp:1350:9:1350:14 | Load | m1350_4 | +| ir.cpp:1350:9:1350:14 | Phi | from 2:m1350_10 | +| ir.cpp:1350:9:1350:14 | Phi | from 3:m1350_14 | +| ir.cpp:1350:9:1350:14 | StoreValue | r1350_6 | +| ir.cpp:1350:14:1350:14 | Address | &:r1350_11 | +| ir.cpp:1350:14:1350:14 | Load | m1348_8 | +| ir.cpp:1350:14:1350:14 | StoreValue | r1350_12 | +| ir.cpp:1351:5:1351:5 | Address | &:r1351_8 | +| ir.cpp:1351:9:1351:9 | Address | &:r1351_1 | +| ir.cpp:1351:9:1351:9 | Condition | r1351_2 | +| ir.cpp:1351:9:1351:9 | Load | m1348_6 | +| ir.cpp:1351:9:1351:9 | StoreValue | r1351_2 | +| ir.cpp:1351:9:1351:14 | Address | &:r1351_5 | +| ir.cpp:1351:9:1351:14 | Address | &:r1351_10 | +| ir.cpp:1351:9:1351:14 | Address | &:r1351_14 | +| ir.cpp:1351:9:1351:14 | Load | m1351_4 | +| ir.cpp:1351:9:1351:14 | Phi | from 5:m1351_11 | +| ir.cpp:1351:9:1351:14 | Phi | from 6:m1351_15 | +| ir.cpp:1351:9:1351:14 | StoreValue | r1351_7 | +| ir.cpp:1351:9:1351:14 | Unary | r1351_6 | +| ir.cpp:1351:14:1351:14 | Address | &:r1351_12 | +| ir.cpp:1351:14:1351:14 | Load | m1348_10 | +| ir.cpp:1351:14:1351:14 | StoreValue | r1351_13 | +| ir.cpp:1352:5:1352:5 | Address | &:r1352_9 | +| ir.cpp:1352:9:1352:9 | Address | &:r1352_1 | +| ir.cpp:1352:9:1352:9 | Condition | r1352_4 | +| ir.cpp:1352:9:1352:9 | Left | r1352_2 | +| ir.cpp:1352:9:1352:9 | Load | m1348_8 | +| ir.cpp:1352:9:1352:9 | Right | r1352_3 | +| ir.cpp:1352:9:1352:9 | StoreValue | r1352_2 | +| ir.cpp:1352:9:1352:14 | Address | &:r1352_7 | +| ir.cpp:1352:9:1352:14 | Address | &:r1352_11 | +| ir.cpp:1352:9:1352:14 | Address | &:r1352_15 | +| ir.cpp:1352:9:1352:14 | Load | m1352_6 | +| ir.cpp:1352:9:1352:14 | Phi | from 8:m1352_12 | +| ir.cpp:1352:9:1352:14 | Phi | from 9:m1352_16 | +| ir.cpp:1352:9:1352:14 | StoreValue | r1352_8 | +| ir.cpp:1352:14:1352:14 | Address | &:r1352_13 | +| ir.cpp:1352:14:1352:14 | Load | m1348_8 | +| ir.cpp:1352:14:1352:14 | StoreValue | r1352_14 | +| ir.cpp:1353:5:1353:5 | Address | &:r1353_10 | +| ir.cpp:1353:9:1353:9 | Address | &:r1353_1 | +| ir.cpp:1353:9:1353:9 | Condition | r1353_4 | +| ir.cpp:1353:9:1353:9 | Left | r1353_2 | +| ir.cpp:1353:9:1353:9 | Load | m1348_8 | +| ir.cpp:1353:9:1353:9 | Right | r1353_3 | +| ir.cpp:1353:9:1353:9 | StoreValue | r1353_2 | +| ir.cpp:1353:9:1353:14 | Address | &:r1353_7 | +| ir.cpp:1353:9:1353:14 | Address | &:r1353_12 | +| ir.cpp:1353:9:1353:14 | Address | &:r1353_16 | +| ir.cpp:1353:9:1353:14 | Load | m1353_6 | +| ir.cpp:1353:9:1353:14 | Phi | from 11:m1353_13 | +| ir.cpp:1353:9:1353:14 | Phi | from 12:m1353_17 | +| ir.cpp:1353:9:1353:14 | StoreValue | r1353_9 | +| ir.cpp:1353:9:1353:14 | Unary | r1353_8 | +| ir.cpp:1353:14:1353:14 | Address | &:r1353_14 | +| ir.cpp:1353:14:1353:14 | Load | m1348_10 | +| ir.cpp:1353:14:1353:14 | StoreValue | r1353_15 | +| ir.cpp:1354:5:1354:5 | Address | &:r1354_10 | +| ir.cpp:1354:9:1354:9 | Address | &:r1354_1 | +| ir.cpp:1354:9:1354:9 | Condition | r1354_4 | +| ir.cpp:1354:9:1354:9 | Left | r1354_2 | +| ir.cpp:1354:9:1354:9 | Load | m1348_10 | +| ir.cpp:1354:9:1354:9 | Right | r1354_3 | +| ir.cpp:1354:9:1354:9 | StoreValue | r1354_2 | +| ir.cpp:1354:9:1354:14 | Address | &:r1354_7 | +| ir.cpp:1354:9:1354:14 | Address | &:r1354_12 | +| ir.cpp:1354:9:1354:14 | Address | &:r1354_17 | +| ir.cpp:1354:9:1354:14 | Load | m1354_6 | +| ir.cpp:1354:9:1354:14 | Phi | from 14:m1354_13 | +| ir.cpp:1354:9:1354:14 | Phi | from 15:m1354_18 | +| ir.cpp:1354:9:1354:14 | StoreValue | r1354_9 | +| ir.cpp:1354:9:1354:14 | Unary | r1354_8 | +| ir.cpp:1354:14:1354:14 | Address | &:r1354_14 | +| ir.cpp:1354:14:1354:14 | Load | m1348_8 | +| ir.cpp:1354:14:1354:14 | StoreValue | r1354_16 | +| ir.cpp:1354:14:1354:14 | Unary | r1354_15 | +| ir.cpp:1355:5:1355:5 | Address | &:r1355_10 | +| ir.cpp:1355:9:1355:9 | Address | &:r1355_1 | +| ir.cpp:1355:9:1355:9 | Condition | r1355_4 | +| ir.cpp:1355:9:1355:9 | Left | r1355_2 | +| ir.cpp:1355:9:1355:9 | Load | m1348_10 | +| ir.cpp:1355:9:1355:9 | Right | r1355_3 | +| ir.cpp:1355:9:1355:9 | StoreValue | r1355_2 | +| ir.cpp:1355:9:1355:14 | Address | &:r1355_7 | +| ir.cpp:1355:9:1355:14 | Address | &:r1355_12 | +| ir.cpp:1355:9:1355:14 | Address | &:r1355_16 | +| ir.cpp:1355:9:1355:14 | Load | m1355_6 | +| ir.cpp:1355:9:1355:14 | Phi | from 17:m1355_13 | +| ir.cpp:1355:9:1355:14 | Phi | from 18:m1355_17 | +| ir.cpp:1355:9:1355:14 | StoreValue | r1355_9 | +| ir.cpp:1355:9:1355:14 | Unary | r1355_8 | +| ir.cpp:1355:14:1355:14 | Address | &:r1355_14 | +| ir.cpp:1355:14:1355:14 | Load | m1348_10 | +| ir.cpp:1355:14:1355:14 | StoreValue | r1355_15 | +| ir.cpp:1357:5:1357:5 | Address | &:r1357_9 | +| ir.cpp:1357:9:1357:26 | Address | &:r1357_7 | +| ir.cpp:1357:9:1357:26 | Address | &:r1357_11 | +| ir.cpp:1357:9:1357:26 | Address | &:r1357_33 | +| ir.cpp:1357:9:1357:26 | Load | m1357_6 | +| ir.cpp:1357:9:1357:26 | Phi | from 20:m1357_12 | +| ir.cpp:1357:9:1357:26 | Phi | from 26:m1357_34 | +| ir.cpp:1357:9:1357:26 | StoreValue | r1357_8 | +| ir.cpp:1357:10:1357:10 | Address | &:r1357_1 | +| ir.cpp:1357:10:1357:10 | Condition | r1357_4 | +| ir.cpp:1357:10:1357:10 | Left | r1357_2 | +| ir.cpp:1357:10:1357:10 | Load | m1348_8 | +| ir.cpp:1357:10:1357:10 | Right | r1357_3 | +| ir.cpp:1357:10:1357:20 | Address | &:r1357_13 | +| ir.cpp:1357:10:1357:20 | Address | &:r1357_17 | +| ir.cpp:1357:10:1357:20 | Address | &:r1357_20 | +| ir.cpp:1357:10:1357:20 | Condition | r1357_18 | +| ir.cpp:1357:10:1357:20 | Load | m1357_16 | +| ir.cpp:1357:10:1357:20 | Phi | from 21:m1357_15 | +| ir.cpp:1357:10:1357:20 | Phi | from 23:m1357_22 | +| ir.cpp:1357:10:1357:20 | StoreValue | r1357_14 | +| ir.cpp:1357:10:1357:20 | StoreValue | r1357_18 | +| ir.cpp:1357:10:1357:20 | StoreValue | r1357_21 | +| ir.cpp:1357:15:1357:15 | Address | &:r1357_23 | +| ir.cpp:1357:15:1357:15 | Condition | r1357_24 | +| ir.cpp:1357:15:1357:15 | Load | m1348_6 | +| ir.cpp:1357:20:1357:20 | Address | &:r1357_26 | +| ir.cpp:1357:20:1357:20 | Condition | r1357_29 | +| ir.cpp:1357:20:1357:20 | Left | r1357_27 | +| ir.cpp:1357:20:1357:20 | Load | m1348_10 | +| ir.cpp:1357:20:1357:20 | Right | r1357_28 | +| ir.cpp:1357:26:1357:26 | Address | &:r1357_31 | +| ir.cpp:1357:26:1357:26 | Load | m1348_8 | +| ir.cpp:1357:26:1357:26 | StoreValue | r1357_32 | +| ir.cpp:1363:5:1363:27 | Address | &:r1363_9 | +| ir.cpp:1363:5:1363:27 | ChiPartial | partial:m1363_3 | +| ir.cpp:1363:5:1363:27 | ChiTotal | total:m1363_2 | +| ir.cpp:1363:5:1363:27 | Load | m1364_11 | +| ir.cpp:1363:5:1363:27 | SideEffect | ~m1364_7 | +| ir.cpp:1363:33:1363:33 | Address | &:r1363_5 | +| ir.cpp:1363:40:1363:40 | Address | &:r1363_7 | +| ir.cpp:1364:5:1364:48 | Address | &:r1364_1 | +| ir.cpp:1364:12:1364:21 | CallTarget | func:r1364_2 | +| ir.cpp:1364:12:1364:21 | ChiPartial | partial:m1364_4 | +| ir.cpp:1364:12:1364:21 | ChiTotal | total:m1363_4 | +| ir.cpp:1364:12:1364:21 | Condition | r1364_3 | +| ir.cpp:1364:12:1364:21 | SideEffect | ~m1363_4 | +| ir.cpp:1364:12:1364:47 | Address | &:r1364_9 | +| ir.cpp:1364:12:1364:47 | Address | &:r1364_19 | +| ir.cpp:1364:12:1364:47 | Address | &:r1364_24 | +| ir.cpp:1364:12:1364:47 | Load | m1364_8 | +| ir.cpp:1364:12:1364:47 | Phi | from 3:m1364_20 | +| ir.cpp:1364:12:1364:47 | Phi | from 3:~m1364_15 | +| ir.cpp:1364:12:1364:47 | Phi | from 4:m1364_25 | +| ir.cpp:1364:12:1364:47 | Phi | from 4:~m1364_21 | +| ir.cpp:1364:12:1364:47 | StoreValue | r1364_10 | +| ir.cpp:1364:28:1364:37 | CallTarget | func:r1364_12 | +| ir.cpp:1364:28:1364:37 | ChiPartial | partial:m1364_14 | +| ir.cpp:1364:28:1364:37 | ChiTotal | total:m1364_5 | +| ir.cpp:1364:28:1364:37 | Condition | r1364_13 | +| ir.cpp:1364:28:1364:37 | SideEffect | ~m1364_5 | +| ir.cpp:1364:43:1364:43 | Address | &:r1364_17 | +| ir.cpp:1364:43:1364:43 | Load | m1363_6 | +| ir.cpp:1364:43:1364:43 | StoreValue | r1364_18 | +| ir.cpp:1364:47:1364:47 | Address | &:r1364_22 | +| ir.cpp:1364:47:1364:47 | Load | m1363_8 | +| ir.cpp:1364:47:1364:47 | Phi | from 0:~m1364_5 | +| ir.cpp:1364:47:1364:47 | Phi | from 2:~m1364_15 | +| ir.cpp:1364:47:1364:47 | StoreValue | r1364_23 | +| ir.cpp:1369:6:1369:6 | ChiPartial | partial:m1369_3 | +| ir.cpp:1369:6:1369:6 | ChiTotal | total:m1369_2 | +| ir.cpp:1369:6:1369:6 | SideEffect | ~m1371_8 | +| ir.cpp:1369:13:1369:13 | Address | &:r1369_5 | +| ir.cpp:1369:13:1369:13 | Address | &:r1369_5 | +| ir.cpp:1369:13:1369:13 | Address | &:r1369_7 | +| ir.cpp:1369:13:1369:13 | Address | &:r1369_7 | +| ir.cpp:1369:13:1369:13 | Load | m1369_6 | +| ir.cpp:1369:13:1369:13 | SideEffect | m1369_8 | +| ir.cpp:1371:3:1371:13 | Address | &:r1371_6 | +| ir.cpp:1371:3:1371:13 | Arg(0) | 0:r1371_2 | +| ir.cpp:1371:3:1371:13 | CallTarget | func:r1371_1 | +| ir.cpp:1371:3:1371:13 | ChiPartial | partial:m1371_7 | +| ir.cpp:1371:3:1371:13 | ChiTotal | total:m1369_4 | +| ir.cpp:1371:3:1371:13 | SideEffect | ~m1369_4 | +| ir.cpp:1371:3:1371:13 | Unary | r1371_6 | +| ir.cpp:1371:8:1371:8 | Address | &:r1371_3 | +| ir.cpp:1371:8:1371:8 | Arg(1) | 1:r1371_5 | +| ir.cpp:1371:8:1371:8 | Load | m1369_6 | +| ir.cpp:1371:8:1371:8 | Unary | r1371_4 | +| ir.cpp:1375:3:1375:3 | Address | &:r1375_5 | +| ir.cpp:1375:3:1375:3 | Address | &:r1375_5 | +| ir.cpp:1375:3:1375:3 | Address | &:r1375_5 | +| ir.cpp:1375:3:1375:3 | Address | &:r1375_5 | +| ir.cpp:1375:3:1375:3 | ChiPartial | partial:m1375_3 | +| ir.cpp:1375:3:1375:3 | ChiPartial | partial:m1375_3 | +| ir.cpp:1375:3:1375:3 | ChiPartial | partial:m1375_3 | +| ir.cpp:1375:3:1375:3 | ChiPartial | partial:m1375_3 | +| ir.cpp:1375:3:1375:3 | ChiTotal | total:m1375_2 | +| ir.cpp:1375:3:1375:3 | ChiTotal | total:m1375_2 | +| ir.cpp:1375:3:1375:3 | ChiTotal | total:m1375_2 | +| ir.cpp:1375:3:1375:3 | ChiTotal | total:m1375_2 | +| ir.cpp:1375:3:1375:3 | Load | m1376_3 | +| ir.cpp:1375:3:1375:3 | Load | m1376_3 | +| ir.cpp:1375:3:1375:3 | Load | m1376_8 | +| ir.cpp:1375:3:1375:3 | Load | m1376_8 | +| ir.cpp:1375:3:1375:3 | SideEffect | m1375_3 | +| ir.cpp:1375:3:1375:3 | SideEffect | m1375_3 | +| ir.cpp:1375:3:1375:3 | SideEffect | ~m1376_6 | +| ir.cpp:1375:3:1375:3 | SideEffect | ~m1376_6 | +| ir.cpp:1376:5:1376:15 | Address | &:r1376_1 | +| ir.cpp:1376:5:1376:15 | Address | &:r1376_1 | +| ir.cpp:1376:5:1376:15 | Address | &:r1376_1 | +| ir.cpp:1376:5:1376:15 | Address | &:r1376_1 | +| ir.cpp:1376:5:1376:15 | Address | &:r1376_1 | +| ir.cpp:1376:5:1376:15 | Address | &:r1376_1 | +| ir.cpp:1376:5:1376:15 | Arg(this) | this:r1376_1 | +| ir.cpp:1376:5:1376:15 | Arg(this) | this:r1376_1 | +| ir.cpp:1376:5:1376:15 | CallTarget | func:r1376_3 | +| ir.cpp:1376:5:1376:15 | CallTarget | func:r1376_3 | +| ir.cpp:1376:5:1376:15 | ChiPartial | partial:m1376_5 | +| ir.cpp:1376:5:1376:15 | ChiPartial | partial:m1376_5 | +| ir.cpp:1376:5:1376:15 | ChiPartial | partial:m1376_7 | +| ir.cpp:1376:5:1376:15 | ChiPartial | partial:m1376_7 | +| ir.cpp:1376:5:1376:15 | ChiTotal | total:m1375_4 | +| ir.cpp:1376:5:1376:15 | ChiTotal | total:m1375_4 | +| ir.cpp:1376:5:1376:15 | ChiTotal | total:m1376_2 | +| ir.cpp:1376:5:1376:15 | ChiTotal | total:m1376_2 | +| ir.cpp:1376:5:1376:15 | SideEffect | ~m1375_4 | +| ir.cpp:1376:5:1376:15 | SideEffect | ~m1375_4 | +| ir.cpp:1376:5:1376:15 | StoreValue | r1376_2 | +| ir.cpp:1376:5:1376:15 | StoreValue | r1376_2 | +| ir.cpp:1414:6:1414:21 | ChiPartial | partial:m1414_3 | +| ir.cpp:1414:6:1414:21 | ChiTotal | total:m1414_2 | +| ir.cpp:1414:6:1414:21 | SideEffect | ~m1426_6 | +| ir.cpp:1415:12:1415:12 | Address | &:r1415_1 | +| ir.cpp:1415:16:1415:34 | CallTarget | func:r1415_2 | +| ir.cpp:1415:16:1415:34 | ChiPartial | partial:m1415_4 | +| ir.cpp:1415:16:1415:34 | ChiTotal | total:m1414_4 | +| ir.cpp:1415:16:1415:34 | SideEffect | ~m1414_4 | +| ir.cpp:1415:16:1415:34 | StoreValue | r1415_3 | +| ir.cpp:1416:19:1416:20 | Address | &:r1416_1 | +| ir.cpp:1416:24:1416:42 | CallTarget | func:r1416_3 | +| ir.cpp:1416:24:1416:42 | ChiPartial | partial:m1416_5 | +| ir.cpp:1416:24:1416:42 | ChiTotal | total:m1415_5 | +| ir.cpp:1416:24:1416:42 | SideEffect | ~m1415_5 | +| ir.cpp:1416:24:1416:42 | StoreValue | r1416_4 | +| ir.cpp:1416:24:1416:44 | Address | &:r1416_2 | +| ir.cpp:1416:24:1416:44 | StoreValue | r1416_9 | +| ir.cpp:1416:24:1416:44 | Unary | r1416_2 | +| ir.cpp:1416:24:1416:44 | Unary | r1416_8 | +| ir.cpp:1418:5:1418:13 | CallTarget | func:r1418_1 | +| ir.cpp:1418:5:1418:13 | ChiPartial | partial:m1418_6 | +| ir.cpp:1418:5:1418:13 | ChiTotal | total:m1416_6 | +| ir.cpp:1418:5:1418:13 | SideEffect | ~m1416_6 | +| ir.cpp:1418:15:1418:15 | Address | &:r1418_4 | +| ir.cpp:1418:15:1418:15 | Arg(0) | 0:r1418_4 | +| ir.cpp:1418:15:1418:15 | SideEffect | ~m1415_6 | +| ir.cpp:1418:15:1418:15 | Unary | r1418_2 | +| ir.cpp:1418:15:1418:15 | Unary | r1418_3 | +| ir.cpp:1419:5:1419:21 | CallTarget | func:r1419_1 | +| ir.cpp:1419:5:1419:21 | ChiPartial | partial:m1419_15 | +| ir.cpp:1419:5:1419:21 | ChiTotal | total:m1419_9 | +| ir.cpp:1419:5:1419:21 | SideEffect | ~m1419_9 | +| ir.cpp:1419:23:1419:27 | Address | &:r1419_2 | +| ir.cpp:1419:23:1419:27 | Address | &:r1419_2 | +| ir.cpp:1419:23:1419:27 | Address | &:r1419_6 | +| ir.cpp:1419:23:1419:27 | Address | &:r1419_13 | +| ir.cpp:1419:23:1419:27 | Arg(0) | 0:r1419_6 | +| ir.cpp:1419:23:1419:27 | Arg(0) | 0:r1419_13 | +| ir.cpp:1419:23:1419:27 | Arg(this) | this:r1419_2 | +| ir.cpp:1419:23:1419:27 | CallTarget | func:r1419_4 | +| ir.cpp:1419:23:1419:27 | ChiPartial | partial:m1419_8 | +| ir.cpp:1419:23:1419:27 | ChiPartial | partial:m1419_11 | +| ir.cpp:1419:23:1419:27 | ChiTotal | total:m1418_7 | +| ir.cpp:1419:23:1419:27 | ChiTotal | total:m1419_3 | +| ir.cpp:1419:23:1419:27 | SideEffect | ~m1414_3 | +| ir.cpp:1419:23:1419:27 | SideEffect | ~m1418_7 | +| ir.cpp:1419:23:1419:27 | SideEffect | ~m1419_12 | +| ir.cpp:1419:23:1419:27 | Unary | r1419_2 | +| ir.cpp:1419:23:1419:27 | Unary | r1419_5 | +| ir.cpp:1420:5:1420:15 | CallTarget | func:r1420_1 | +| ir.cpp:1420:5:1420:15 | ChiPartial | partial:m1420_16 | +| ir.cpp:1420:5:1420:15 | ChiTotal | total:m1420_10 | +| ir.cpp:1420:5:1420:15 | SideEffect | ~m1420_10 | +| ir.cpp:1420:17:1420:17 | Address | &:r1420_2 | +| ir.cpp:1420:17:1420:17 | Address | &:r1420_2 | +| ir.cpp:1420:17:1420:17 | Address | &:r1420_2 | +| ir.cpp:1420:17:1420:17 | Address | &:r1420_7 | +| ir.cpp:1420:17:1420:17 | Arg(0) | 0:r1420_7 | +| ir.cpp:1420:17:1420:17 | Arg(0) | 0:r1420_14 | +| ir.cpp:1420:17:1420:17 | Arg(this) | this:r1420_2 | +| ir.cpp:1420:17:1420:17 | CallTarget | func:r1420_4 | +| ir.cpp:1420:17:1420:17 | ChiPartial | partial:m1420_9 | +| ir.cpp:1420:17:1420:17 | ChiPartial | partial:m1420_12 | +| ir.cpp:1420:17:1420:17 | ChiTotal | total:m1419_16 | +| ir.cpp:1420:17:1420:17 | ChiTotal | total:m1420_3 | +| ir.cpp:1420:17:1420:17 | Load | m1420_13 | +| ir.cpp:1420:17:1420:17 | SideEffect | ~m1415_6 | +| ir.cpp:1420:17:1420:17 | SideEffect | ~m1419_16 | +| ir.cpp:1420:17:1420:17 | Unary | r1420_5 | +| ir.cpp:1420:17:1420:17 | Unary | r1420_6 | +| ir.cpp:1421:5:1421:23 | CallTarget | func:r1421_1 | +| ir.cpp:1421:5:1421:23 | ChiPartial | partial:m1421_15 | +| ir.cpp:1421:5:1421:23 | ChiTotal | total:m1421_9 | +| ir.cpp:1421:5:1421:23 | SideEffect | ~m1421_9 | +| ir.cpp:1421:25:1421:29 | Address | &:r1421_2 | +| ir.cpp:1421:25:1421:29 | Address | &:r1421_2 | +| ir.cpp:1421:25:1421:29 | Address | &:r1421_2 | +| ir.cpp:1421:25:1421:29 | Address | &:r1421_6 | +| ir.cpp:1421:25:1421:29 | Arg(0) | 0:r1421_6 | +| ir.cpp:1421:25:1421:29 | Arg(0) | 0:r1421_13 | +| ir.cpp:1421:25:1421:29 | Arg(this) | this:r1421_2 | +| ir.cpp:1421:25:1421:29 | CallTarget | func:r1421_4 | +| ir.cpp:1421:25:1421:29 | ChiPartial | partial:m1421_8 | +| ir.cpp:1421:25:1421:29 | ChiPartial | partial:m1421_11 | +| ir.cpp:1421:25:1421:29 | ChiTotal | total:m1420_17 | +| ir.cpp:1421:25:1421:29 | ChiTotal | total:m1421_3 | +| ir.cpp:1421:25:1421:29 | Load | m1421_12 | +| ir.cpp:1421:25:1421:29 | SideEffect | ~m1414_3 | +| ir.cpp:1421:25:1421:29 | SideEffect | ~m1420_17 | +| ir.cpp:1421:25:1421:29 | Unary | r1421_5 | +| ir.cpp:1422:5:1422:12 | Address | &:r1422_1 | +| ir.cpp:1422:5:1422:12 | Address | &:r1422_1 | +| ir.cpp:1422:5:1422:12 | Address | &:r1422_9 | +| ir.cpp:1422:5:1422:12 | Arg(this) | this:r1422_1 | +| ir.cpp:1422:5:1422:12 | Arg(this) | this:r1422_9 | +| ir.cpp:1422:5:1422:12 | CallTarget | func:r1422_3 | +| ir.cpp:1422:5:1422:12 | ChiPartial | partial:m1422_5 | +| ir.cpp:1422:5:1422:12 | ChiPartial | partial:m1422_7 | +| ir.cpp:1422:5:1422:12 | ChiTotal | total:m1421_16 | +| ir.cpp:1422:5:1422:12 | ChiTotal | total:m1422_2 | +| ir.cpp:1422:5:1422:12 | SideEffect | m1422_8 | +| ir.cpp:1422:5:1422:12 | SideEffect | ~m1421_16 | +| ir.cpp:1422:5:1422:12 | Unary | r1422_1 | +| ir.cpp:1422:14:1422:18 | CallTarget | func:r1422_10 | +| ir.cpp:1422:14:1422:18 | ChiPartial | partial:m1422_12 | +| ir.cpp:1422:14:1422:18 | ChiTotal | total:m1422_6 | +| ir.cpp:1422:14:1422:18 | SideEffect | ~m1422_6 | +| ir.cpp:1423:5:1423:23 | CallTarget | func:r1423_2 | +| ir.cpp:1423:5:1423:23 | ChiPartial | partial:m1423_4 | +| ir.cpp:1423:5:1423:23 | ChiTotal | total:m1422_13 | +| ir.cpp:1423:5:1423:23 | SideEffect | ~m1422_13 | +| ir.cpp:1423:5:1423:23 | StoreValue | r1423_3 | +| ir.cpp:1423:5:1423:25 | Address | &:r1423_1 | +| ir.cpp:1423:5:1423:25 | Address | &:r1423_7 | +| ir.cpp:1423:5:1423:25 | Arg(this) | this:r1423_7 | +| ir.cpp:1423:5:1423:25 | SideEffect | m1423_6 | +| ir.cpp:1423:5:1423:25 | Unary | r1423_1 | +| ir.cpp:1423:27:1423:31 | CallTarget | func:r1423_8 | +| ir.cpp:1423:27:1423:31 | ChiPartial | partial:m1423_10 | +| ir.cpp:1423:27:1423:31 | ChiTotal | total:m1423_5 | +| ir.cpp:1423:27:1423:31 | SideEffect | ~m1423_5 | +| ir.cpp:1425:5:1425:28 | CallTarget | func:r1425_2 | +| ir.cpp:1425:5:1425:28 | ChiPartial | partial:m1425_4 | +| ir.cpp:1425:5:1425:28 | ChiTotal | total:m1423_11 | +| ir.cpp:1425:5:1425:28 | SideEffect | ~m1423_11 | +| ir.cpp:1425:5:1425:28 | StoreValue | r1425_3 | +| ir.cpp:1425:5:1425:30 | Address | &:r1425_1 | +| ir.cpp:1426:1:1426:1 | Address | &:r1426_2 | +| ir.cpp:1426:1:1426:1 | Address | &:r1426_2 | +| ir.cpp:1426:1:1426:1 | Arg(this) | this:r1426_2 | +| ir.cpp:1426:1:1426:1 | CallTarget | func:r1426_3 | +| ir.cpp:1426:1:1426:1 | ChiPartial | partial:m1426_5 | +| ir.cpp:1426:1:1426:1 | ChiPartial | partial:m1426_8 | +| ir.cpp:1426:1:1426:1 | ChiTotal | total:m1415_6 | +| ir.cpp:1426:1:1426:1 | ChiTotal | total:m1425_5 | +| ir.cpp:1426:1:1426:1 | SideEffect | m1415_6 | +| ir.cpp:1426:1:1426:1 | SideEffect | ~m1425_5 | +| ir.cpp:1428:6:1428:30 | ChiPartial | partial:m1428_3 | +| ir.cpp:1428:6:1428:30 | ChiTotal | total:m1428_2 | +| ir.cpp:1428:6:1428:30 | SideEffect | ~m1438_14 | +| ir.cpp:1429:21:1429:21 | Address | &:r1429_1 | +| ir.cpp:1429:25:1429:52 | CallTarget | func:r1429_2 | +| ir.cpp:1429:25:1429:52 | ChiPartial | partial:m1429_4 | +| ir.cpp:1429:25:1429:52 | ChiTotal | total:m1428_4 | +| ir.cpp:1429:25:1429:52 | SideEffect | ~m1428_4 | +| ir.cpp:1429:25:1429:52 | StoreValue | r1429_3 | +| ir.cpp:1430:28:1430:29 | Address | &:r1430_1 | +| ir.cpp:1430:33:1430:60 | CallTarget | func:r1430_3 | +| ir.cpp:1430:33:1430:60 | ChiPartial | partial:m1430_5 | +| ir.cpp:1430:33:1430:60 | ChiTotal | total:m1429_5 | +| ir.cpp:1430:33:1430:60 | SideEffect | ~m1429_5 | +| ir.cpp:1430:33:1430:60 | StoreValue | r1430_4 | +| ir.cpp:1430:33:1430:62 | Address | &:r1430_2 | +| ir.cpp:1430:33:1430:62 | StoreValue | r1430_9 | +| ir.cpp:1430:33:1430:62 | Unary | r1430_2 | +| ir.cpp:1430:33:1430:62 | Unary | r1430_8 | +| ir.cpp:1431:21:1431:22 | Address | &:r1431_1 | +| ir.cpp:1432:5:1432:13 | CallTarget | func:r1432_1 | +| ir.cpp:1432:5:1432:13 | ChiPartial | partial:m1432_6 | +| ir.cpp:1432:5:1432:13 | ChiTotal | total:m1430_6 | +| ir.cpp:1432:5:1432:13 | SideEffect | ~m1430_6 | +| ir.cpp:1432:15:1432:15 | Address | &:r1432_4 | +| ir.cpp:1432:15:1432:15 | Arg(0) | 0:r1432_4 | +| ir.cpp:1432:15:1432:15 | SideEffect | ~m1429_6 | +| ir.cpp:1432:15:1432:15 | Unary | r1432_2 | +| ir.cpp:1432:15:1432:15 | Unary | r1432_3 | +| ir.cpp:1433:5:1433:15 | CallTarget | func:r1433_1 | +| ir.cpp:1433:5:1433:15 | ChiPartial | partial:m1433_8 | +| ir.cpp:1433:5:1433:15 | ChiTotal | total:m1432_7 | +| ir.cpp:1433:5:1433:15 | SideEffect | ~m1432_7 | +| ir.cpp:1433:17:1433:17 | Address | &:r1433_2 | +| ir.cpp:1433:17:1433:17 | Address | &:r1433_2 | +| ir.cpp:1433:17:1433:17 | Address | &:r1433_3 | +| ir.cpp:1433:17:1433:17 | Arg(0) | 0:r1433_6 | +| ir.cpp:1433:17:1433:17 | Load | m1429_6 | +| ir.cpp:1433:17:1433:17 | Load | m1433_5 | +| ir.cpp:1433:17:1433:17 | StoreValue | r1433_4 | +| ir.cpp:1434:5:1434:21 | Address | &:r1434_1 | +| ir.cpp:1434:5:1434:21 | Address | &:r1434_1 | +| ir.cpp:1434:5:1434:21 | Address | &:r1434_1 | +| ir.cpp:1434:5:1434:21 | Arg(this) | this:r1434_1 | +| ir.cpp:1434:5:1434:21 | ChiPartial | partial:m1434_9 | +| ir.cpp:1434:5:1434:21 | ChiTotal | total:m1434_3 | +| ir.cpp:1434:5:1434:21 | SideEffect | m1434_3 | +| ir.cpp:1434:5:1434:21 | StoreValue | r1434_2 | +| ir.cpp:1434:23:1434:28 | CallTarget | func:r1434_4 | +| ir.cpp:1434:23:1434:28 | ChiPartial | partial:m1434_6 | +| ir.cpp:1434:23:1434:28 | ChiTotal | total:m1433_9 | +| ir.cpp:1434:23:1434:28 | SideEffect | ~m1433_9 | +| ir.cpp:1435:5:1435:32 | CallTarget | func:r1435_2 | +| ir.cpp:1435:5:1435:32 | ChiPartial | partial:m1435_4 | +| ir.cpp:1435:5:1435:32 | ChiTotal | total:m1434_7 | +| ir.cpp:1435:5:1435:32 | SideEffect | ~m1434_7 | +| ir.cpp:1435:5:1435:32 | StoreValue | r1435_3 | +| ir.cpp:1435:5:1435:34 | Address | &:r1435_1 | +| ir.cpp:1435:5:1435:34 | Address | &:r1435_1 | +| ir.cpp:1435:5:1435:34 | Address | &:r1435_1 | +| ir.cpp:1435:5:1435:34 | Arg(this) | this:r1435_1 | +| ir.cpp:1435:5:1435:34 | ChiPartial | partial:m1435_12 | +| ir.cpp:1435:5:1435:34 | ChiTotal | total:m1435_6 | +| ir.cpp:1435:5:1435:34 | SideEffect | m1435_6 | +| ir.cpp:1435:36:1435:41 | CallTarget | func:r1435_7 | +| ir.cpp:1435:36:1435:41 | ChiPartial | partial:m1435_9 | +| ir.cpp:1435:36:1435:41 | ChiTotal | total:m1435_5 | +| ir.cpp:1435:36:1435:41 | SideEffect | ~m1435_5 | +| ir.cpp:1437:5:1437:37 | CallTarget | func:r1437_2 | +| ir.cpp:1437:5:1437:37 | ChiPartial | partial:m1437_4 | +| ir.cpp:1437:5:1437:37 | ChiTotal | total:m1435_10 | +| ir.cpp:1437:5:1437:37 | SideEffect | ~m1435_10 | +| ir.cpp:1437:5:1437:37 | StoreValue | r1437_3 | +| ir.cpp:1437:5:1437:39 | Address | &:r1437_1 | +| ir.cpp:1438:1:1438:1 | Address | &:r1438_2 | +| ir.cpp:1438:1:1438:1 | Address | &:r1438_2 | +| ir.cpp:1438:1:1438:1 | Address | &:r1438_10 | +| ir.cpp:1438:1:1438:1 | Address | &:r1438_10 | +| ir.cpp:1438:1:1438:1 | Arg(this) | this:r1438_2 | +| ir.cpp:1438:1:1438:1 | Arg(this) | this:r1438_10 | +| ir.cpp:1438:1:1438:1 | CallTarget | func:r1438_3 | +| ir.cpp:1438:1:1438:1 | CallTarget | func:r1438_11 | +| ir.cpp:1438:1:1438:1 | ChiPartial | partial:m1438_5 | +| ir.cpp:1438:1:1438:1 | ChiPartial | partial:m1438_8 | +| ir.cpp:1438:1:1438:1 | ChiPartial | partial:m1438_13 | +| ir.cpp:1438:1:1438:1 | ChiPartial | partial:m1438_16 | +| ir.cpp:1438:1:1438:1 | ChiTotal | total:m1429_6 | +| ir.cpp:1438:1:1438:1 | ChiTotal | total:m1431_2 | +| ir.cpp:1438:1:1438:1 | ChiTotal | total:m1437_5 | +| ir.cpp:1438:1:1438:1 | ChiTotal | total:m1438_6 | +| ir.cpp:1438:1:1438:1 | SideEffect | m1429_6 | +| ir.cpp:1438:1:1438:1 | SideEffect | m1431_2 | +| ir.cpp:1438:1:1438:1 | SideEffect | ~m1437_5 | +| ir.cpp:1438:1:1438:1 | SideEffect | ~m1438_6 | +| ir.cpp:1440:6:1440:31 | ChiPartial | partial:m1440_3 | +| ir.cpp:1440:6:1440:31 | ChiTotal | total:m1440_2 | +| ir.cpp:1440:6:1440:31 | SideEffect | ~m1450_6 | +| ir.cpp:1441:22:1441:22 | Address | &:r1441_1 | +| ir.cpp:1441:26:1441:54 | CallTarget | func:r1441_2 | +| ir.cpp:1441:26:1441:54 | ChiPartial | partial:m1441_4 | +| ir.cpp:1441:26:1441:54 | ChiTotal | total:m1440_4 | +| ir.cpp:1441:26:1441:54 | SideEffect | ~m1440_4 | +| ir.cpp:1441:26:1441:54 | StoreValue | r1441_3 | +| ir.cpp:1442:29:1442:30 | Address | &:r1442_1 | +| ir.cpp:1442:34:1442:62 | CallTarget | func:r1442_3 | +| ir.cpp:1442:34:1442:62 | ChiPartial | partial:m1442_5 | +| ir.cpp:1442:34:1442:62 | ChiTotal | total:m1441_5 | +| ir.cpp:1442:34:1442:62 | SideEffect | ~m1441_5 | +| ir.cpp:1442:34:1442:62 | StoreValue | r1442_4 | +| ir.cpp:1442:34:1442:64 | Address | &:r1442_2 | +| ir.cpp:1442:34:1442:64 | StoreValue | r1442_9 | +| ir.cpp:1442:34:1442:64 | Unary | r1442_2 | +| ir.cpp:1442:34:1442:64 | Unary | r1442_8 | +| ir.cpp:1443:22:1443:23 | Address | &:r1443_1 | +| ir.cpp:1443:22:1443:23 | Address | &:r1443_1 | +| ir.cpp:1443:22:1443:23 | Arg(this) | this:r1443_1 | +| ir.cpp:1443:22:1443:23 | CallTarget | func:r1443_3 | +| ir.cpp:1443:22:1443:23 | ChiPartial | partial:m1443_5 | +| ir.cpp:1443:22:1443:23 | ChiPartial | partial:m1443_7 | +| ir.cpp:1443:22:1443:23 | ChiTotal | total:m1442_6 | +| ir.cpp:1443:22:1443:23 | ChiTotal | total:m1443_2 | +| ir.cpp:1443:22:1443:23 | SideEffect | ~m1442_6 | +| ir.cpp:1444:5:1444:13 | CallTarget | func:r1444_1 | +| ir.cpp:1444:5:1444:13 | ChiPartial | partial:m1444_6 | +| ir.cpp:1444:5:1444:13 | ChiTotal | total:m1443_6 | +| ir.cpp:1444:5:1444:13 | SideEffect | ~m1443_6 | +| ir.cpp:1444:15:1444:15 | Address | &:r1444_4 | +| ir.cpp:1444:15:1444:15 | Arg(0) | 0:r1444_4 | +| ir.cpp:1444:15:1444:15 | SideEffect | ~m1441_6 | +| ir.cpp:1444:15:1444:15 | Unary | r1444_2 | +| ir.cpp:1444:15:1444:15 | Unary | r1444_3 | +| ir.cpp:1445:5:1445:15 | CallTarget | func:r1445_1 | +| ir.cpp:1445:5:1445:15 | ChiPartial | partial:m1445_16 | +| ir.cpp:1445:5:1445:15 | ChiTotal | total:m1445_10 | +| ir.cpp:1445:5:1445:15 | SideEffect | ~m1445_10 | +| ir.cpp:1445:17:1445:17 | Address | &:r1445_2 | +| ir.cpp:1445:17:1445:17 | Address | &:r1445_2 | +| ir.cpp:1445:17:1445:17 | Address | &:r1445_2 | +| ir.cpp:1445:17:1445:17 | Address | &:r1445_7 | +| ir.cpp:1445:17:1445:17 | Arg(0) | 0:r1445_7 | +| ir.cpp:1445:17:1445:17 | Arg(0) | 0:r1445_14 | +| ir.cpp:1445:17:1445:17 | Arg(this) | this:r1445_2 | +| ir.cpp:1445:17:1445:17 | CallTarget | func:r1445_4 | +| ir.cpp:1445:17:1445:17 | ChiPartial | partial:m1445_9 | +| ir.cpp:1445:17:1445:17 | ChiPartial | partial:m1445_12 | +| ir.cpp:1445:17:1445:17 | ChiTotal | total:m1444_7 | +| ir.cpp:1445:17:1445:17 | ChiTotal | total:m1445_3 | +| ir.cpp:1445:17:1445:17 | Load | m1445_13 | +| ir.cpp:1445:17:1445:17 | SideEffect | ~m1441_6 | +| ir.cpp:1445:17:1445:17 | SideEffect | ~m1444_7 | +| ir.cpp:1445:17:1445:17 | Unary | r1445_5 | +| ir.cpp:1445:17:1445:17 | Unary | r1445_6 | +| ir.cpp:1446:5:1446:22 | Address | &:r1446_1 | +| ir.cpp:1446:5:1446:22 | Address | &:r1446_1 | +| ir.cpp:1446:5:1446:22 | Address | &:r1446_1 | +| ir.cpp:1446:5:1446:22 | Address | &:r1446_1 | +| ir.cpp:1446:5:1446:22 | Arg(this) | this:r1446_1 | +| ir.cpp:1446:5:1446:22 | Arg(this) | this:r1446_1 | +| ir.cpp:1446:5:1446:22 | CallTarget | func:r1446_3 | +| ir.cpp:1446:5:1446:22 | ChiPartial | partial:m1446_5 | +| ir.cpp:1446:5:1446:22 | ChiPartial | partial:m1446_7 | +| ir.cpp:1446:5:1446:22 | ChiPartial | partial:m1446_14 | +| ir.cpp:1446:5:1446:22 | ChiTotal | total:m1445_17 | +| ir.cpp:1446:5:1446:22 | ChiTotal | total:m1446_2 | +| ir.cpp:1446:5:1446:22 | ChiTotal | total:m1446_8 | +| ir.cpp:1446:5:1446:22 | SideEffect | m1446_8 | +| ir.cpp:1446:5:1446:22 | SideEffect | ~m1445_17 | +| ir.cpp:1446:24:1446:29 | CallTarget | func:r1446_9 | +| ir.cpp:1446:24:1446:29 | ChiPartial | partial:m1446_11 | +| ir.cpp:1446:24:1446:29 | ChiTotal | total:m1446_6 | +| ir.cpp:1446:24:1446:29 | SideEffect | ~m1446_6 | +| ir.cpp:1447:5:1447:33 | CallTarget | func:r1447_2 | +| ir.cpp:1447:5:1447:33 | ChiPartial | partial:m1447_4 | +| ir.cpp:1447:5:1447:33 | ChiTotal | total:m1446_12 | +| ir.cpp:1447:5:1447:33 | SideEffect | ~m1446_12 | +| ir.cpp:1447:5:1447:33 | StoreValue | r1447_3 | +| ir.cpp:1447:5:1447:35 | Address | &:r1447_1 | +| ir.cpp:1447:5:1447:35 | Address | &:r1447_1 | +| ir.cpp:1447:5:1447:35 | Address | &:r1447_1 | +| ir.cpp:1447:5:1447:35 | Arg(this) | this:r1447_1 | +| ir.cpp:1447:5:1447:35 | ChiPartial | partial:m1447_12 | +| ir.cpp:1447:5:1447:35 | ChiTotal | total:m1447_6 | +| ir.cpp:1447:5:1447:35 | SideEffect | m1447_6 | +| ir.cpp:1447:37:1447:42 | CallTarget | func:r1447_7 | +| ir.cpp:1447:37:1447:42 | ChiPartial | partial:m1447_9 | +| ir.cpp:1447:37:1447:42 | ChiTotal | total:m1447_5 | +| ir.cpp:1447:37:1447:42 | SideEffect | ~m1447_5 | +| ir.cpp:1448:5:1448:38 | CallTarget | func:r1448_2 | +| ir.cpp:1448:5:1448:38 | ChiPartial | partial:m1448_4 | +| ir.cpp:1448:5:1448:38 | ChiTotal | total:m1447_10 | +| ir.cpp:1448:5:1448:38 | SideEffect | ~m1447_10 | +| ir.cpp:1448:5:1448:38 | StoreValue | r1448_3 | +| ir.cpp:1448:5:1448:40 | Address | &:r1448_1 | +| ir.cpp:1450:9:1450:9 | Address | &:r1450_1 | +| ir.cpp:1450:13:1450:41 | CallTarget | func:r1450_3 | +| ir.cpp:1450:13:1450:41 | ChiPartial | partial:m1450_5 | +| ir.cpp:1450:13:1450:41 | ChiTotal | total:m1448_5 | +| ir.cpp:1450:13:1450:41 | SideEffect | ~m1448_5 | +| ir.cpp:1450:13:1450:41 | StoreValue | r1450_4 | +| ir.cpp:1450:13:1450:43 | Address | &:r1450_2 | +| ir.cpp:1450:13:1450:43 | Unary | r1450_2 | +| ir.cpp:1450:45:1450:45 | Address | &:r1450_8 | +| ir.cpp:1450:45:1450:45 | Load | ~m1450_7 | +| ir.cpp:1450:45:1450:45 | StoreValue | r1450_9 | +| ir.cpp:1453:6:1453:20 | ChiPartial | partial:m1453_3 | +| ir.cpp:1453:6:1453:20 | ChiTotal | total:m1453_2 | +| ir.cpp:1453:6:1453:20 | SideEffect | ~m1462_4 | +| ir.cpp:1454:11:1454:11 | Address | &:r1454_1 | +| ir.cpp:1454:15:1454:32 | CallTarget | func:r1454_2 | +| ir.cpp:1454:15:1454:32 | ChiPartial | partial:m1454_4 | +| ir.cpp:1454:15:1454:32 | ChiTotal | total:m1453_4 | +| ir.cpp:1454:15:1454:32 | SideEffect | ~m1453_4 | +| ir.cpp:1454:15:1454:32 | StoreValue | r1454_3 | +| ir.cpp:1455:18:1455:19 | Address | &:r1455_1 | +| ir.cpp:1455:23:1455:40 | CallTarget | func:r1455_3 | +| ir.cpp:1455:23:1455:40 | ChiPartial | partial:m1455_5 | +| ir.cpp:1455:23:1455:40 | ChiTotal | total:m1454_5 | +| ir.cpp:1455:23:1455:40 | SideEffect | ~m1454_5 | +| ir.cpp:1455:23:1455:40 | StoreValue | r1455_4 | +| ir.cpp:1455:23:1455:42 | Address | &:r1455_2 | +| ir.cpp:1455:23:1455:42 | StoreValue | r1455_9 | +| ir.cpp:1455:23:1455:42 | Unary | r1455_2 | +| ir.cpp:1455:23:1455:42 | Unary | r1455_8 | +| ir.cpp:1457:5:1457:13 | CallTarget | func:r1457_1 | +| ir.cpp:1457:5:1457:13 | ChiPartial | partial:m1457_6 | +| ir.cpp:1457:5:1457:13 | ChiTotal | total:m1455_6 | +| ir.cpp:1457:5:1457:13 | SideEffect | ~m1455_6 | +| ir.cpp:1457:15:1457:15 | Address | &:r1457_4 | +| ir.cpp:1457:15:1457:15 | Arg(0) | 0:r1457_4 | +| ir.cpp:1457:15:1457:15 | SideEffect | ~m1454_6 | +| ir.cpp:1457:15:1457:15 | Unary | r1457_2 | +| ir.cpp:1457:15:1457:15 | Unary | r1457_3 | +| ir.cpp:1458:5:1458:15 | CallTarget | func:r1458_1 | +| ir.cpp:1458:5:1458:15 | ChiPartial | partial:m1458_5 | +| ir.cpp:1458:5:1458:15 | ChiTotal | total:m1457_7 | +| ir.cpp:1458:5:1458:15 | SideEffect | ~m1457_7 | +| ir.cpp:1458:17:1458:17 | Address | &:r1458_2 | +| ir.cpp:1458:17:1458:17 | Arg(0) | 0:r1458_3 | +| ir.cpp:1458:17:1458:17 | Load | m1454_6 | +| ir.cpp:1460:9:1460:9 | Address | &:r1460_1 | +| ir.cpp:1460:13:1460:30 | Address | &:r1460_6 | +| ir.cpp:1460:13:1460:30 | CallTarget | func:r1460_2 | +| ir.cpp:1460:13:1460:30 | ChiPartial | partial:m1460_4 | +| ir.cpp:1460:13:1460:30 | ChiTotal | total:m1458_6 | +| ir.cpp:1460:13:1460:30 | SideEffect | ~m1458_6 | +| ir.cpp:1460:13:1460:30 | StoreValue | r1460_3 | +| ir.cpp:1460:13:1460:30 | Unary | r1460_6 | +| ir.cpp:1460:34:1460:34 | Address | &:r1460_8 | +| ir.cpp:1460:34:1460:34 | Load | ~m1460_7 | +| ir.cpp:1460:34:1460:34 | StoreValue | r1460_9 | +| ir.cpp:1462:5:1462:27 | CallTarget | func:r1462_1 | +| ir.cpp:1462:5:1462:27 | ChiPartial | partial:m1462_3 | +| ir.cpp:1462:5:1462:27 | ChiTotal | total:m1460_5 | +| ir.cpp:1462:5:1462:27 | SideEffect | ~m1460_5 | +| ir.cpp:1470:6:1470:29 | ChiPartial | partial:m1470_3 | +| ir.cpp:1470:6:1470:29 | ChiTotal | total:m1470_2 | +| ir.cpp:1470:6:1470:29 | SideEffect | ~m1475_5 | +| ir.cpp:1471:16:1471:17 | Address | &:r1471_1 | +| ir.cpp:1471:21:1471:46 | Address | &:r1471_6 | +| ir.cpp:1471:21:1471:46 | CallTarget | func:r1471_2 | +| ir.cpp:1471:21:1471:46 | ChiPartial | partial:m1471_4 | +| ir.cpp:1471:21:1471:46 | ChiTotal | total:m1470_4 | +| ir.cpp:1471:21:1471:46 | SideEffect | ~m1470_4 | +| ir.cpp:1471:21:1471:46 | StoreValue | r1471_3 | +| ir.cpp:1471:21:1471:46 | Unary | r1471_6 | +| ir.cpp:1471:21:1471:50 | StoreValue | r1471_12 | +| ir.cpp:1471:21:1471:50 | Unary | r1471_10 | +| ir.cpp:1471:21:1471:50 | Unary | r1471_11 | +| ir.cpp:1471:50:1471:50 | Address | &:r1471_8 | +| ir.cpp:1471:50:1471:50 | Load | ~m1471_7 | +| ir.cpp:1471:50:1471:50 | Unary | r1471_9 | +| ir.cpp:1472:9:1472:9 | Address | &:r1472_1 | +| ir.cpp:1472:13:1472:38 | Address | &:r1472_6 | +| ir.cpp:1472:13:1472:38 | CallTarget | func:r1472_2 | +| ir.cpp:1472:13:1472:38 | ChiPartial | partial:m1472_4 | +| ir.cpp:1472:13:1472:38 | ChiTotal | total:m1471_5 | +| ir.cpp:1472:13:1472:38 | SideEffect | ~m1471_5 | +| ir.cpp:1472:13:1472:38 | StoreValue | r1472_3 | +| ir.cpp:1472:13:1472:38 | Unary | r1472_6 | +| ir.cpp:1472:13:1472:42 | Load | ~m1472_5 | +| ir.cpp:1472:13:1472:42 | StoreValue | r1472_10 | +| ir.cpp:1472:42:1472:42 | Address | &:r1472_8 | +| ir.cpp:1472:42:1472:42 | Address | &:r1472_9 | +| ir.cpp:1472:42:1472:42 | Load | ~m1472_7 | +| ir.cpp:1474:18:1474:19 | Address | &:r1474_1 | +| ir.cpp:1474:23:1474:48 | Address | &:r1474_6 | +| ir.cpp:1474:23:1474:48 | CallTarget | func:r1474_2 | +| ir.cpp:1474:23:1474:48 | ChiPartial | partial:m1474_4 | +| ir.cpp:1474:23:1474:48 | ChiTotal | total:m1472_5 | +| ir.cpp:1474:23:1474:48 | SideEffect | ~m1472_5 | +| ir.cpp:1474:23:1474:48 | StoreValue | r1474_3 | +| ir.cpp:1474:23:1474:48 | Unary | r1474_6 | +| ir.cpp:1474:23:1474:52 | Left | r1474_9 | +| ir.cpp:1474:23:1474:55 | StoreValue | r1474_13 | +| ir.cpp:1474:23:1474:55 | Unary | r1474_11 | +| ir.cpp:1474:23:1474:55 | Unary | r1474_12 | +| ir.cpp:1474:52:1474:52 | Unary | r1474_8 | +| ir.cpp:1474:54:1474:54 | Right | r1474_10 | +| ir.cpp:1475:11:1475:11 | Address | &:r1475_1 | +| ir.cpp:1475:15:1475:40 | Address | &:r1475_6 | +| ir.cpp:1475:15:1475:40 | CallTarget | func:r1475_2 | +| ir.cpp:1475:15:1475:40 | ChiPartial | partial:m1475_4 | +| ir.cpp:1475:15:1475:40 | ChiTotal | total:m1474_5 | +| ir.cpp:1475:15:1475:40 | SideEffect | ~m1474_5 | +| ir.cpp:1475:15:1475:40 | StoreValue | r1475_3 | +| ir.cpp:1475:15:1475:40 | Unary | r1475_6 | +| ir.cpp:1475:15:1475:44 | Left | r1475_9 | +| ir.cpp:1475:15:1475:47 | Address | &:r1475_11 | +| ir.cpp:1475:15:1475:47 | Load | ~m1475_7 | +| ir.cpp:1475:15:1475:47 | StoreValue | r1475_12 | +| ir.cpp:1475:44:1475:44 | Unary | r1475_8 | +| ir.cpp:1475:46:1475:46 | Right | r1475_10 | +| ir.cpp:1492:6:1492:24 | ChiPartial | partial:m1492_3 | +| ir.cpp:1492:6:1492:24 | ChiTotal | total:m1492_2 | +| ir.cpp:1492:6:1492:24 | SideEffect | ~m1496_10 | +| ir.cpp:1493:14:1493:14 | Address | &:r1493_1 | +| ir.cpp:1493:18:1493:40 | CallTarget | func:r1493_2 | +| ir.cpp:1493:18:1493:40 | ChiPartial | partial:m1493_4 | +| ir.cpp:1493:18:1493:40 | ChiTotal | total:m1492_4 | +| ir.cpp:1493:18:1493:40 | SideEffect | ~m1492_4 | +| ir.cpp:1493:18:1493:40 | StoreValue | r1493_3 | +| ir.cpp:1494:5:1494:5 | Address | &:r1494_10 | +| ir.cpp:1494:9:1494:36 | Address | &:r1494_1 | +| ir.cpp:1494:9:1494:36 | Address | &:r1494_8 | +| ir.cpp:1494:9:1494:36 | Load | ~m1494_6 | +| ir.cpp:1494:9:1494:36 | StoreValue | r1494_9 | +| ir.cpp:1494:9:1494:36 | Unary | r1494_1 | +| ir.cpp:1494:9:1494:36 | Unary | r1494_7 | +| ir.cpp:1494:10:1494:33 | CallTarget | func:r1494_2 | +| ir.cpp:1494:10:1494:33 | ChiPartial | partial:m1494_4 | +| ir.cpp:1494:10:1494:33 | ChiTotal | total:m1493_5 | +| ir.cpp:1494:10:1494:33 | SideEffect | ~m1493_5 | +| ir.cpp:1494:10:1494:33 | StoreValue | r1494_3 | +| ir.cpp:1495:9:1495:9 | Address | &:r1495_1 | +| ir.cpp:1495:13:1495:36 | CallTarget | func:r1495_2 | +| ir.cpp:1495:13:1495:36 | ChiPartial | partial:m1495_4 | +| ir.cpp:1495:13:1495:36 | ChiTotal | total:m1494_5 | +| ir.cpp:1495:13:1495:36 | SideEffect | ~m1494_5 | +| ir.cpp:1495:13:1495:36 | StoreValue | r1495_3 | +| ir.cpp:1495:40:1495:40 | Address | &:r1495_7 | +| ir.cpp:1495:40:1495:40 | Load | ~m1495_6 | +| ir.cpp:1495:40:1495:40 | StoreValue | r1495_8 | +| ir.cpp:1496:11:1496:11 | Address | &:r1496_1 | +| ir.cpp:1496:16:1496:39 | CallTarget | func:r1496_2 | +| ir.cpp:1496:16:1496:39 | ChiPartial | partial:m1496_4 | +| ir.cpp:1496:16:1496:39 | ChiTotal | total:m1495_5 | +| ir.cpp:1496:16:1496:39 | SideEffect | ~m1495_5 | +| ir.cpp:1496:16:1496:39 | StoreValue | r1496_3 | +| ir.cpp:1496:44:1496:44 | Arg(this) | this:r0_11 | +| ir.cpp:1496:44:1496:44 | CallTarget | func:r1496_7 | +| ir.cpp:1496:44:1496:44 | ChiPartial | partial:m1496_9 | +| ir.cpp:1496:44:1496:44 | ChiTotal | total:m1496_5 | +| ir.cpp:1496:44:1496:44 | SideEffect | ~m1496_5 | +| ir.cpp:1496:44:1496:44 | StoreValue | r1496_8 | +| ir.cpp:1500:3:1500:21 | Address | &:r1500_5 | +| ir.cpp:1500:3:1500:21 | Address | &:r1500_5 | +| ir.cpp:1500:3:1500:21 | Address | &:r1500_7 | +| ir.cpp:1500:3:1500:21 | Address | &:r1500_7 | +| ir.cpp:1500:3:1500:21 | ChiPartial | partial:m1500_3 | +| ir.cpp:1500:3:1500:21 | ChiTotal | total:m1500_2 | +| ir.cpp:1500:3:1500:21 | Load | m1500_6 | +| ir.cpp:1500:3:1500:21 | SideEffect | m1500_3 | +| ir.cpp:1500:3:1500:21 | SideEffect | m1500_8 | +| ir.cpp:1506:3:1506:20 | Address | &:r1506_5 | +| ir.cpp:1506:3:1506:20 | Address | &:r1506_5 | +| ir.cpp:1506:3:1506:20 | Address | &:r1506_7 | +| ir.cpp:1506:3:1506:20 | Address | &:r1506_7 | +| ir.cpp:1506:3:1506:20 | ChiPartial | partial:m1506_3 | +| ir.cpp:1506:3:1506:20 | ChiTotal | total:m1506_2 | +| ir.cpp:1506:3:1506:20 | Load | m1506_6 | +| ir.cpp:1506:3:1506:20 | SideEffect | m1506_3 | +| ir.cpp:1506:3:1506:20 | SideEffect | m1507_6 | +| ir.cpp:1506:3:1506:20 | Unary | m1506_6 | +| ir.cpp:1506:26:1506:30 | Address | &:r1506_9 | +| ir.cpp:1506:26:1506:30 | ChiPartial | partial:m1506_11 | +| ir.cpp:1506:26:1506:30 | ChiTotal | total:m1506_8 | +| ir.cpp:1506:26:1506:30 | StoreValue | r1506_10 | +| ir.cpp:1507:5:1507:5 | Address | &:r1507_2 | +| ir.cpp:1507:5:1507:5 | Address | &:r1507_4 | +| ir.cpp:1507:5:1507:5 | Load | m1506_6 | +| ir.cpp:1507:5:1507:5 | Unary | r1507_3 | +| ir.cpp:1507:5:1507:9 | ChiPartial | partial:m1507_5 | +| ir.cpp:1507:5:1507:9 | ChiTotal | total:m1506_12 | +| ir.cpp:1507:9:1507:9 | StoreValue | r1507_1 | +| ir.cpp:1511:6:1511:29 | ChiPartial | partial:m1511_3 | +| ir.cpp:1511:6:1511:29 | ChiTotal | total:m1511_2 | +| ir.cpp:1511:6:1511:29 | SideEffect | m1511_3 | +| ir.cpp:1512:9:1512:10 | Address | &:r1512_1 | +| ir.cpp:1512:9:1512:10 | Left | r1512_1 | +| ir.cpp:1512:9:1512:10 | Left | r1512_1 | +| ir.cpp:1512:16:1512:22 | Address | &:r1512_4 | +| ir.cpp:1512:16:1512:22 | Address | &:r1512_9 | +| ir.cpp:1512:16:1512:22 | Right | r1512_3 | +| ir.cpp:1512:16:1512:22 | Right | r1512_8 | +| ir.cpp:1512:18:1512:18 | ChiPartial | partial:m1512_6 | +| ir.cpp:1512:18:1512:18 | ChiTotal | total:m1512_2 | +| ir.cpp:1512:18:1512:18 | StoreValue | r1512_5 | +| ir.cpp:1512:21:1512:21 | ChiPartial | partial:m1512_11 | +| ir.cpp:1512:21:1512:21 | ChiTotal | total:m1512_7 | +| ir.cpp:1512:21:1512:21 | StoreValue | r1512_10 | +| ir.cpp:1515:15:1515:15 | Address | &:r1515_1 | +| ir.cpp:1515:16:1515:16 | Address | &:r1515_5 | +| ir.cpp:1515:20:1515:20 | Address | &:r1515_6 | +| ir.cpp:1515:26:1515:27 | StoreValue | r1515_3 | +| ir.cpp:1515:26:1515:27 | Unary | r1515_2 | +| ir.cpp:1516:9:1516:10 | Address | &:r1516_2 | +| ir.cpp:1516:9:1516:10 | Address | &:r1516_3 | +| ir.cpp:1516:9:1516:10 | Load | m0_14 | +| ir.cpp:1516:9:1516:14 | ChiPartial | partial:m1516_4 | +| ir.cpp:1516:9:1516:14 | ChiTotal | total:m1512_12 | +| ir.cpp:1516:14:1516:14 | StoreValue | r1516_1 | +| ir.cpp:1517:14:1517:16 | Address | &:r1517_1 | +| ir.cpp:1517:20:1517:21 | Address | &:r1517_2 | +| ir.cpp:1517:20:1517:21 | Load | m0_14 | +| ir.cpp:1517:20:1517:21 | StoreValue | r1517_4 | +| ir.cpp:1517:20:1517:21 | Unary | r1517_3 | +| ir.cpp:1518:13:1518:13 | Address | &:r1518_1 | +| ir.cpp:1518:17:1518:18 | Address | &:r1518_2 | +| ir.cpp:1518:17:1518:18 | Address | &:r1518_3 | +| ir.cpp:1518:17:1518:18 | Load | m0_14 | +| ir.cpp:1518:17:1518:18 | Load | m1516_4 | +| ir.cpp:1518:17:1518:18 | StoreValue | r1518_4 | +| ir.cpp:1522:15:1522:36 | Address | &:r1522_1 | +| ir.cpp:1522:40:1522:41 | StoreValue | r1522_3 | +| ir.cpp:1522:40:1522:41 | Unary | r1522_2 | +| ir.cpp:1523:15:1523:16 | Address | &:r1523_1 | +| ir.cpp:1523:20:1523:41 | Address | &:r1523_2 | +| ir.cpp:1523:20:1523:41 | Left | r1523_5 | +| ir.cpp:1523:20:1523:41 | Load | m1522_4 | +| ir.cpp:1523:20:1523:41 | Unary | r1523_3 | +| ir.cpp:1523:20:1523:41 | Unary | r1523_4 | +| ir.cpp:1523:20:1523:44 | StoreValue | r1523_8 | +| ir.cpp:1523:20:1523:44 | Unary | r1523_7 | +| ir.cpp:1523:43:1523:43 | Right | r1523_6 | +| ir.cpp:1524:15:1524:16 | Address | &:r1524_1 | +| ir.cpp:1524:20:1524:41 | Address | &:r1524_2 | +| ir.cpp:1524:20:1524:41 | Left | r1524_5 | +| ir.cpp:1524:20:1524:41 | Load | m1522_4 | +| ir.cpp:1524:20:1524:41 | Unary | r1524_3 | +| ir.cpp:1524:20:1524:41 | Unary | r1524_4 | +| ir.cpp:1524:20:1524:44 | StoreValue | r1524_8 | +| ir.cpp:1524:20:1524:44 | Unary | r1524_7 | +| ir.cpp:1524:43:1524:43 | Right | r1524_6 | +| ir.cpp:1525:9:1525:10 | Address | &:r1525_2 | +| ir.cpp:1525:9:1525:10 | Address | &:r1525_4 | +| ir.cpp:1525:9:1525:10 | Load | m1524_9 | +| ir.cpp:1525:9:1525:10 | Unary | r1525_3 | +| ir.cpp:1525:9:1525:14 | ChiPartial | partial:m1525_5 | +| ir.cpp:1525:9:1525:14 | ChiTotal | total:m1516_5 | +| ir.cpp:1525:14:1525:14 | StoreValue | r1525_1 | +| ir.cpp:1526:14:1526:16 | Address | &:r1526_1 | +| ir.cpp:1526:20:1526:21 | Address | &:r1526_2 | +| ir.cpp:1526:20:1526:21 | Load | m1524_9 | +| ir.cpp:1526:20:1526:21 | StoreValue | r1526_5 | +| ir.cpp:1526:20:1526:21 | Unary | r1526_3 | +| ir.cpp:1526:20:1526:21 | Unary | r1526_4 | +| ir.cpp:1527:13:1527:13 | Address | &:r1527_1 | +| ir.cpp:1527:17:1527:18 | Address | &:r1527_2 | +| ir.cpp:1527:17:1527:18 | Address | &:r1527_3 | +| ir.cpp:1527:17:1527:18 | Load | m1524_9 | +| ir.cpp:1527:17:1527:18 | Load | m1525_5 | +| ir.cpp:1527:17:1527:18 | StoreValue | r1527_4 | +| ir.cpp:1531:8:1531:8 | Address | &:r1531_5 | +| ir.cpp:1531:8:1531:8 | Address | &:r1531_5 | +| ir.cpp:1531:8:1531:8 | Address | &:r1531_7 | +| ir.cpp:1531:8:1531:8 | Address | &:r1531_7 | +| ir.cpp:1531:8:1531:8 | ChiPartial | partial:m1531_3 | +| ir.cpp:1531:8:1531:8 | ChiTotal | total:m1531_2 | +| ir.cpp:1531:8:1531:8 | Load | m1531_6 | +| ir.cpp:1531:8:1531:8 | SideEffect | m1531_3 | +| ir.cpp:1531:8:1531:8 | SideEffect | m1531_8 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_5 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_5 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_5 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_5 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_7 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_7 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_7 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_7 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_9 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_10 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_13 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_17 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_18 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_21 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_25 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_26 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_29 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_33 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_34 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_37 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_41 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_42 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_45 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_49 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_50 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_53 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_57 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_58 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_61 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_65 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_66 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_69 | +| ir.cpp:1535:8:1535:8 | ChiPartial | partial:m1535_3 | +| ir.cpp:1535:8:1535:8 | ChiPartial | partial:m1535_3 | +| ir.cpp:1535:8:1535:8 | ChiPartial | partial:m1535_15 | +| ir.cpp:1535:8:1535:8 | ChiPartial | partial:m1535_23 | +| ir.cpp:1535:8:1535:8 | ChiPartial | partial:m1535_31 | +| ir.cpp:1535:8:1535:8 | ChiPartial | partial:m1535_39 | +| ir.cpp:1535:8:1535:8 | ChiPartial | partial:m1535_47 | +| ir.cpp:1535:8:1535:8 | ChiPartial | partial:m1535_55 | +| ir.cpp:1535:8:1535:8 | ChiPartial | partial:m1535_63 | +| ir.cpp:1535:8:1535:8 | ChiPartial | partial:m1535_71 | +| ir.cpp:1535:8:1535:8 | ChiTotal | total:m1535_2 | +| ir.cpp:1535:8:1535:8 | ChiTotal | total:m1535_2 | +| ir.cpp:1535:8:1535:8 | ChiTotal | total:m1535_8 | +| ir.cpp:1535:8:1535:8 | ChiTotal | total:m1535_16 | +| ir.cpp:1535:8:1535:8 | ChiTotal | total:m1535_24 | +| ir.cpp:1535:8:1535:8 | ChiTotal | total:m1535_32 | +| ir.cpp:1535:8:1535:8 | ChiTotal | total:m1535_40 | +| ir.cpp:1535:8:1535:8 | ChiTotal | total:m1535_48 | +| ir.cpp:1535:8:1535:8 | ChiTotal | total:m1535_56 | +| ir.cpp:1535:8:1535:8 | ChiTotal | total:m1535_64 | +| ir.cpp:1535:8:1535:8 | Load | m0_2 | +| ir.cpp:1535:8:1535:8 | Load | m0_2 | +| ir.cpp:1535:8:1535:8 | Load | m0_2 | +| ir.cpp:1535:8:1535:8 | Load | m0_2 | +| ir.cpp:1535:8:1535:8 | Load | m0_2 | +| ir.cpp:1535:8:1535:8 | Load | m0_2 | +| ir.cpp:1535:8:1535:8 | Load | m0_2 | +| ir.cpp:1535:8:1535:8 | Load | m0_2 | +| ir.cpp:1535:8:1535:8 | Load | m1535_6 | +| ir.cpp:1535:8:1535:8 | Load | m1535_6 | +| ir.cpp:1535:8:1535:8 | Load | ~m0_4 | +| ir.cpp:1535:8:1535:8 | Load | ~m0_4 | +| ir.cpp:1535:8:1535:8 | Load | ~m0_4 | +| ir.cpp:1535:8:1535:8 | Load | ~m0_4 | +| ir.cpp:1535:8:1535:8 | Load | ~m0_4 | +| ir.cpp:1535:8:1535:8 | Load | ~m0_4 | +| ir.cpp:1535:8:1535:8 | Load | ~m0_4 | +| ir.cpp:1535:8:1535:8 | Load | ~m0_4 | +| ir.cpp:1535:8:1535:8 | SideEffect | m1535_3 | +| ir.cpp:1535:8:1535:8 | SideEffect | m1535_3 | +| ir.cpp:1535:8:1535:8 | SideEffect | m1535_8 | +| ir.cpp:1535:8:1535:8 | SideEffect | m1535_72 | +| ir.cpp:1535:8:1535:8 | StoreValue | r1535_14 | +| ir.cpp:1535:8:1535:8 | StoreValue | r1535_22 | +| ir.cpp:1535:8:1535:8 | StoreValue | r1535_30 | +| ir.cpp:1535:8:1535:8 | StoreValue | r1535_38 | +| ir.cpp:1535:8:1535:8 | StoreValue | r1535_46 | +| ir.cpp:1535:8:1535:8 | StoreValue | r1535_54 | +| ir.cpp:1535:8:1535:8 | StoreValue | r1535_62 | +| ir.cpp:1535:8:1535:8 | StoreValue | r1535_70 | +| ir.cpp:1535:8:1535:8 | Unary | m1535_6 | +| ir.cpp:1535:8:1535:8 | Unary | m1535_6 | +| ir.cpp:1535:8:1535:8 | Unary | m1535_6 | +| ir.cpp:1535:8:1535:8 | Unary | m1535_6 | +| ir.cpp:1535:8:1535:8 | Unary | m1535_6 | +| ir.cpp:1535:8:1535:8 | Unary | m1535_6 | +| ir.cpp:1535:8:1535:8 | Unary | m1535_6 | +| ir.cpp:1535:8:1535:8 | Unary | m1535_6 | +| ir.cpp:1535:8:1535:8 | Unary | r1535_11 | +| ir.cpp:1535:8:1535:8 | Unary | r1535_12 | +| ir.cpp:1535:8:1535:8 | Unary | r1535_19 | +| ir.cpp:1535:8:1535:8 | Unary | r1535_20 | +| ir.cpp:1535:8:1535:8 | Unary | r1535_27 | +| ir.cpp:1535:8:1535:8 | Unary | r1535_28 | +| ir.cpp:1535:8:1535:8 | Unary | r1535_35 | +| ir.cpp:1535:8:1535:8 | Unary | r1535_36 | +| ir.cpp:1535:8:1535:8 | Unary | r1535_43 | +| ir.cpp:1535:8:1535:8 | Unary | r1535_44 | +| ir.cpp:1535:8:1535:8 | Unary | r1535_51 | +| ir.cpp:1535:8:1535:8 | Unary | r1535_52 | +| ir.cpp:1535:8:1535:8 | Unary | r1535_59 | +| ir.cpp:1535:8:1535:8 | Unary | r1535_60 | +| ir.cpp:1535:8:1535:8 | Unary | r1535_67 | +| ir.cpp:1535:8:1535:8 | Unary | r1535_68 | +| ir.cpp:1548:6:1548:35 | ChiPartial | partial:m1548_3 | +| ir.cpp:1548:6:1548:35 | ChiTotal | total:m1548_2 | +| ir.cpp:1548:6:1548:35 | SideEffect | ~m1574_7 | +| ir.cpp:1549:39:1549:39 | Address | &:r1549_1 | +| ir.cpp:1549:39:1549:39 | Address | &:r1549_1 | +| ir.cpp:1549:39:1549:39 | Arg(this) | this:r1549_1 | +| ir.cpp:1549:39:1549:39 | CallTarget | func:r1549_3 | +| ir.cpp:1549:39:1549:39 | ChiPartial | partial:m1549_5 | +| ir.cpp:1549:39:1549:39 | ChiPartial | partial:m1549_7 | +| ir.cpp:1549:39:1549:39 | ChiTotal | total:m1548_4 | +| ir.cpp:1549:39:1549:39 | ChiTotal | total:m1549_2 | +| ir.cpp:1549:39:1549:39 | SideEffect | ~m1548_4 | +| ir.cpp:1552:14:1552:14 | Address | &:r1552_1 | +| ir.cpp:1552:15:1552:15 | Address | &:r1552_5 | +| ir.cpp:1552:18:1552:18 | Address | &:r1552_9 | +| ir.cpp:1552:21:1552:21 | Address | &:r1552_13 | +| ir.cpp:1552:24:1552:24 | Address | &:r1552_17 | +| ir.cpp:1552:27:1552:27 | Address | &:r1552_23 | +| ir.cpp:1552:30:1552:30 | Address | &:r1552_27 | +| ir.cpp:1552:34:1552:34 | Address | &:r1552_31 | +| ir.cpp:1552:41:1552:41 | Address | &:r1552_37 | +| ir.cpp:1552:46:1552:46 | Address | &:r1552_2 | +| ir.cpp:1552:46:1552:46 | Load | m1549_8 | +| ir.cpp:1552:46:1552:46 | StoreValue | r1552_3 | +| ir.cpp:1552:47:1552:47 | Address | &:r1552_19 | +| ir.cpp:1552:47:1552:47 | Address | &:r1552_33 | +| ir.cpp:1552:47:1552:47 | Load | ~m1552_4 | +| ir.cpp:1552:47:1552:47 | Load | ~m1552_4 | +| ir.cpp:1552:47:1552:47 | StoreValue | r1552_7 | +| ir.cpp:1552:47:1552:47 | StoreValue | r1552_11 | +| ir.cpp:1552:47:1552:47 | StoreValue | r1552_15 | +| ir.cpp:1552:47:1552:47 | StoreValue | r1552_21 | +| ir.cpp:1552:47:1552:47 | StoreValue | r1552_25 | +| ir.cpp:1552:47:1552:47 | StoreValue | r1552_29 | +| ir.cpp:1552:47:1552:47 | StoreValue | r1552_35 | +| ir.cpp:1552:47:1552:47 | StoreValue | r1552_39 | +| ir.cpp:1552:47:1552:47 | Unary | r1552_6 | +| ir.cpp:1552:47:1552:47 | Unary | r1552_10 | +| ir.cpp:1552:47:1552:47 | Unary | r1552_14 | +| ir.cpp:1552:47:1552:47 | Unary | r1552_18 | +| ir.cpp:1552:47:1552:47 | Unary | r1552_20 | +| ir.cpp:1552:47:1552:47 | Unary | r1552_24 | +| ir.cpp:1552:47:1552:47 | Unary | r1552_28 | +| ir.cpp:1552:47:1552:47 | Unary | r1552_32 | +| ir.cpp:1552:47:1552:47 | Unary | r1552_34 | +| ir.cpp:1552:47:1552:47 | Unary | r1552_38 | +| ir.cpp:1553:9:1553:9 | Address | &:r1553_2 | +| ir.cpp:1553:9:1553:9 | Address | &:r1553_3 | +| ir.cpp:1553:9:1553:9 | Load | m1552_12 | +| ir.cpp:1553:9:1553:15 | ChiPartial | partial:m1553_4 | +| ir.cpp:1553:9:1553:15 | ChiTotal | total:m1552_4 | +| ir.cpp:1553:13:1553:15 | StoreValue | r1553_1 | +| ir.cpp:1554:17:1554:18 | Address | &:r1554_1 | +| ir.cpp:1554:22:1554:22 | Address | &:r1554_2 | +| ir.cpp:1554:22:1554:22 | Load | m1552_12 | +| ir.cpp:1554:22:1554:22 | StoreValue | r1554_4 | +| ir.cpp:1554:22:1554:22 | Unary | r1554_3 | +| ir.cpp:1555:13:1555:13 | Address | &:r1555_1 | +| ir.cpp:1555:17:1555:17 | Address | &:r1555_2 | +| ir.cpp:1555:17:1555:17 | Address | &:r1555_3 | +| ir.cpp:1555:17:1555:17 | Load | m1552_8 | +| ir.cpp:1555:17:1555:17 | Load | ~m1552_4 | +| ir.cpp:1555:17:1555:17 | StoreValue | r1555_4 | +| ir.cpp:1556:9:1556:9 | Address | &:r1556_2 | +| ir.cpp:1556:9:1556:9 | Address | &:r1556_3 | +| ir.cpp:1556:9:1556:9 | Load | m1552_22 | +| ir.cpp:1556:9:1556:13 | ChiPartial | partial:m1556_4 | +| ir.cpp:1556:9:1556:13 | ChiTotal | total:m1549_6 | +| ir.cpp:1556:13:1556:13 | StoreValue | r1556_1 | +| ir.cpp:1557:9:1557:10 | Address | &:r1557_5 | +| ir.cpp:1557:9:1557:14 | ChiPartial | partial:m1557_6 | +| ir.cpp:1557:9:1557:14 | ChiTotal | total:m1556_5 | +| ir.cpp:1557:10:1557:10 | Address | &:r1557_2 | +| ir.cpp:1557:10:1557:10 | Address | &:r1557_3 | +| ir.cpp:1557:10:1557:10 | Load | m1552_26 | +| ir.cpp:1557:10:1557:10 | Load | ~m1552_4 | +| ir.cpp:1557:10:1557:10 | Unary | r1557_4 | +| ir.cpp:1557:14:1557:14 | StoreValue | r1557_1 | +| ir.cpp:1558:14:1558:15 | Address | &:r1558_1 | +| ir.cpp:1558:19:1558:19 | Address | &:r1558_2 | +| ir.cpp:1558:19:1558:19 | Load | m1552_22 | +| ir.cpp:1558:19:1558:19 | StoreValue | r1558_4 | +| ir.cpp:1558:19:1558:19 | Unary | r1558_3 | +| ir.cpp:1559:14:1559:15 | Address | &:r1559_1 | +| ir.cpp:1559:19:1559:20 | StoreValue | r1559_4 | +| ir.cpp:1559:20:1559:20 | Address | &:r1559_2 | +| ir.cpp:1559:20:1559:20 | Load | m1552_22 | +| ir.cpp:1559:20:1559:20 | Unary | r1559_3 | +| ir.cpp:1560:13:1560:13 | Address | &:r1560_1 | +| ir.cpp:1560:17:1560:17 | Address | &:r1560_2 | +| ir.cpp:1560:17:1560:17 | Address | &:r1560_3 | +| ir.cpp:1560:17:1560:17 | Load | m1552_22 | +| ir.cpp:1560:17:1560:17 | Load | ~m1557_7 | +| ir.cpp:1560:17:1560:17 | StoreValue | r1560_4 | +| ir.cpp:1564:14:1564:35 | Address | &:r1564_1 | +| ir.cpp:1564:39:1564:39 | Address | &:r1564_2 | +| ir.cpp:1564:39:1564:39 | Load | m1549_8 | +| ir.cpp:1564:39:1564:39 | StoreValue | r1564_3 | +| ir.cpp:1565:15:1565:15 | Address | &:r1565_1 | +| ir.cpp:1565:19:1565:40 | Unary | r1565_2 | +| ir.cpp:1565:19:1565:42 | StoreValue | r1565_4 | +| ir.cpp:1565:42:1565:42 | Unary | r1565_3 | +| ir.cpp:1566:15:1566:15 | Address | &:r1566_1 | +| ir.cpp:1566:19:1566:40 | Unary | r1566_2 | +| ir.cpp:1566:19:1566:42 | StoreValue | r1566_4 | +| ir.cpp:1566:42:1566:42 | Unary | r1566_3 | +| ir.cpp:1568:15:1568:15 | Address | &:r1568_1 | +| ir.cpp:1568:19:1568:40 | Unary | r1568_2 | +| ir.cpp:1568:19:1568:42 | StoreValue | r1568_6 | +| ir.cpp:1568:19:1568:42 | Unary | r1568_5 | +| ir.cpp:1568:42:1568:42 | Address | &:r1568_3 | +| ir.cpp:1568:42:1568:42 | Load | ~m1564_4 | +| ir.cpp:1568:42:1568:42 | Unary | r1568_4 | +| ir.cpp:1569:15:1569:15 | Address | &:r1569_1 | +| ir.cpp:1569:19:1569:40 | Unary | r1569_2 | +| ir.cpp:1569:19:1569:42 | StoreValue | r1569_4 | +| ir.cpp:1569:42:1569:42 | Unary | r1569_3 | +| ir.cpp:1570:9:1570:9 | Address | &:r1570_2 | +| ir.cpp:1570:9:1570:9 | Address | &:r1570_4 | +| ir.cpp:1570:9:1570:9 | Load | m1566_5 | +| ir.cpp:1570:9:1570:9 | Unary | r1570_3 | +| ir.cpp:1570:9:1570:15 | ChiPartial | partial:m1570_5 | +| ir.cpp:1570:9:1570:15 | ChiTotal | total:m1564_4 | +| ir.cpp:1570:13:1570:15 | StoreValue | r1570_1 | +| ir.cpp:1571:17:1571:18 | Address | &:r1571_1 | +| ir.cpp:1571:22:1571:22 | Address | &:r1571_2 | +| ir.cpp:1571:22:1571:22 | Load | m1566_5 | +| ir.cpp:1571:22:1571:22 | StoreValue | r1571_5 | +| ir.cpp:1571:22:1571:22 | Unary | r1571_3 | +| ir.cpp:1571:22:1571:22 | Unary | r1571_4 | +| ir.cpp:1572:13:1572:13 | Address | &:r1572_1 | +| ir.cpp:1572:17:1572:17 | Address | &:r1572_2 | +| ir.cpp:1572:17:1572:17 | Address | &:r1572_3 | +| ir.cpp:1572:17:1572:17 | Load | m1565_5 | +| ir.cpp:1572:17:1572:17 | Load | ~m1564_4 | +| ir.cpp:1572:17:1572:17 | StoreValue | r1572_4 | +| ir.cpp:1573:9:1573:9 | Address | &:r1573_2 | +| ir.cpp:1573:9:1573:9 | Address | &:r1573_4 | +| ir.cpp:1573:9:1573:9 | Load | m1568_7 | +| ir.cpp:1573:9:1573:9 | Unary | r1573_3 | +| ir.cpp:1573:9:1573:13 | ChiPartial | partial:m1573_5 | +| ir.cpp:1573:9:1573:13 | ChiTotal | total:m1557_7 | +| ir.cpp:1573:13:1573:13 | StoreValue | r1573_1 | +| ir.cpp:1574:9:1574:10 | Address | &:r1574_5 | +| ir.cpp:1574:9:1574:14 | ChiPartial | partial:m1574_6 | +| ir.cpp:1574:9:1574:14 | ChiTotal | total:m1573_6 | +| ir.cpp:1574:10:1574:10 | Address | &:r1574_2 | +| ir.cpp:1574:10:1574:10 | Address | &:r1574_3 | +| ir.cpp:1574:10:1574:10 | Load | m1569_5 | +| ir.cpp:1574:10:1574:10 | Load | ~m1564_4 | +| ir.cpp:1574:10:1574:10 | Unary | r1574_4 | +| ir.cpp:1574:14:1574:14 | StoreValue | r1574_1 | +| ir.cpp:1575:14:1575:15 | Address | &:r1575_1 | +| ir.cpp:1575:19:1575:19 | Address | &:r1575_2 | +| ir.cpp:1575:19:1575:19 | Load | m1568_7 | +| ir.cpp:1575:19:1575:19 | StoreValue | r1575_5 | +| ir.cpp:1575:19:1575:19 | Unary | r1575_3 | +| ir.cpp:1575:19:1575:19 | Unary | r1575_4 | +| ir.cpp:1576:14:1576:15 | Address | &:r1576_1 | +| ir.cpp:1576:19:1576:20 | StoreValue | r1576_5 | +| ir.cpp:1576:20:1576:20 | Address | &:r1576_2 | +| ir.cpp:1576:20:1576:20 | Load | m1568_7 | +| ir.cpp:1576:20:1576:20 | Unary | r1576_3 | +| ir.cpp:1576:20:1576:20 | Unary | r1576_4 | +| ir.cpp:1577:13:1577:13 | Address | &:r1577_1 | +| ir.cpp:1577:17:1577:17 | Address | &:r1577_2 | +| ir.cpp:1577:17:1577:17 | Address | &:r1577_3 | +| ir.cpp:1577:17:1577:17 | Load | m1568_7 | +| ir.cpp:1577:17:1577:17 | Load | ~m1574_7 | +| ir.cpp:1577:17:1577:17 | StoreValue | r1577_4 | +| ir.cpp:1588:8:1588:8 | Address | &:r1588_5 | +| ir.cpp:1588:8:1588:8 | Address | &:r1588_5 | +| ir.cpp:1588:8:1588:8 | Address | &:r1588_5 | +| ir.cpp:1588:8:1588:8 | Address | &:r1588_5 | +| ir.cpp:1588:8:1588:8 | Address | &:r1588_7 | +| ir.cpp:1588:8:1588:8 | Address | &:r1588_7 | +| ir.cpp:1588:8:1588:8 | Address | &:r1588_7 | +| ir.cpp:1588:8:1588:8 | Address | &:r1588_7 | +| ir.cpp:1588:8:1588:8 | Address | &:r1588_9 | +| ir.cpp:1588:8:1588:8 | Address | &:r1588_10 | +| ir.cpp:1588:8:1588:8 | Address | &:r1588_13 | +| ir.cpp:1588:8:1588:8 | Address | &:r1588_17 | +| ir.cpp:1588:8:1588:8 | Address | &:r1588_18 | +| ir.cpp:1588:8:1588:8 | Address | &:r1588_21 | +| ir.cpp:1588:8:1588:8 | Address | &:r1588_25 | +| ir.cpp:1588:8:1588:8 | Address | &:r1588_26 | +| ir.cpp:1588:8:1588:8 | Address | &:r1588_29 | +| ir.cpp:1588:8:1588:8 | ChiPartial | partial:m1588_3 | +| ir.cpp:1588:8:1588:8 | ChiPartial | partial:m1588_3 | +| ir.cpp:1588:8:1588:8 | ChiPartial | partial:m1588_15 | +| ir.cpp:1588:8:1588:8 | ChiPartial | partial:m1588_23 | +| ir.cpp:1588:8:1588:8 | ChiPartial | partial:m1588_31 | +| ir.cpp:1588:8:1588:8 | ChiTotal | total:m1588_2 | +| ir.cpp:1588:8:1588:8 | ChiTotal | total:m1588_2 | +| ir.cpp:1588:8:1588:8 | ChiTotal | total:m1588_8 | +| ir.cpp:1588:8:1588:8 | ChiTotal | total:m1588_16 | +| ir.cpp:1588:8:1588:8 | ChiTotal | total:m1588_24 | +| ir.cpp:1588:8:1588:8 | Load | m0_2 | +| ir.cpp:1588:8:1588:8 | Load | m0_2 | +| ir.cpp:1588:8:1588:8 | Load | m0_2 | +| ir.cpp:1588:8:1588:8 | Load | m1588_6 | +| ir.cpp:1588:8:1588:8 | Load | m1588_6 | +| ir.cpp:1588:8:1588:8 | Load | ~m0_4 | +| ir.cpp:1588:8:1588:8 | Load | ~m0_4 | +| ir.cpp:1588:8:1588:8 | Load | ~m0_4 | +| ir.cpp:1588:8:1588:8 | SideEffect | m1588_3 | +| ir.cpp:1588:8:1588:8 | SideEffect | m1588_3 | +| ir.cpp:1588:8:1588:8 | SideEffect | m1588_8 | +| ir.cpp:1588:8:1588:8 | SideEffect | m1588_32 | +| ir.cpp:1588:8:1588:8 | StoreValue | r1588_14 | +| ir.cpp:1588:8:1588:8 | StoreValue | r1588_22 | +| ir.cpp:1588:8:1588:8 | StoreValue | r1588_30 | +| ir.cpp:1588:8:1588:8 | Unary | m1588_6 | +| ir.cpp:1588:8:1588:8 | Unary | m1588_6 | +| ir.cpp:1588:8:1588:8 | Unary | m1588_6 | +| ir.cpp:1588:8:1588:8 | Unary | r1588_11 | +| ir.cpp:1588:8:1588:8 | Unary | r1588_12 | +| ir.cpp:1588:8:1588:8 | Unary | r1588_19 | +| ir.cpp:1588:8:1588:8 | Unary | r1588_20 | +| ir.cpp:1588:8:1588:8 | Unary | r1588_27 | +| ir.cpp:1588:8:1588:8 | Unary | r1588_28 | +| ir.cpp:1616:60:1616:95 | Address | &:r1616_5 | +| ir.cpp:1616:60:1616:95 | Address | &:r1616_5 | +| ir.cpp:1616:60:1616:95 | Address | &:r1616_7 | +| ir.cpp:1616:60:1616:95 | Address | &:r1616_7 | +| ir.cpp:1616:60:1616:95 | Address | &:r1616_10 | +| ir.cpp:1616:60:1616:95 | ChiPartial | partial:m1616_3 | +| ir.cpp:1616:60:1616:95 | ChiTotal | total:m1616_2 | +| ir.cpp:1616:60:1616:95 | Load | m0_2 | +| ir.cpp:1616:60:1616:95 | Load | m1616_6 | +| ir.cpp:1616:60:1616:95 | SideEffect | m1616_3 | +| ir.cpp:1616:60:1616:95 | SideEffect | m1616_8 | +| ir.cpp:1617:5:1617:13 | Address | &:r1617_1 | +| ir.cpp:1617:12:1617:12 | Address | &:r1617_2 | +| ir.cpp:1617:12:1617:12 | Load | m1616_6 | +| ir.cpp:1617:12:1617:12 | Unary | r1617_3 | +| ir.cpp:1617:12:1617:12 | Unary | r1617_4 | +| ir.cpp:1620:60:1620:95 | Address | &:r1620_5 | +| ir.cpp:1620:60:1620:95 | Address | &:r1620_5 | +| ir.cpp:1620:60:1620:95 | Address | &:r1620_7 | +| ir.cpp:1620:60:1620:95 | Address | &:r1620_7 | +| ir.cpp:1620:60:1620:95 | Address | &:r1620_10 | +| ir.cpp:1620:60:1620:95 | ChiPartial | partial:m1620_3 | +| ir.cpp:1620:60:1620:95 | ChiTotal | total:m1620_2 | +| ir.cpp:1620:60:1620:95 | Load | m0_2 | +| ir.cpp:1620:60:1620:95 | Load | m1620_6 | +| ir.cpp:1620:60:1620:95 | SideEffect | m1620_3 | +| ir.cpp:1620:60:1620:95 | SideEffect | m1620_8 | +| ir.cpp:1621:5:1621:13 | Address | &:r1621_1 | +| ir.cpp:1621:12:1621:12 | Address | &:r1621_2 | +| ir.cpp:1621:12:1621:12 | Load | m1620_6 | +| ir.cpp:1621:12:1621:12 | Unary | r1621_3 | +| ir.cpp:1621:12:1621:12 | Unary | r1621_4 | +| ir.cpp:1624:60:1624:95 | Address | &:r1624_5 | +| ir.cpp:1624:60:1624:95 | Address | &:r1624_5 | +| ir.cpp:1624:60:1624:95 | Address | &:r1624_7 | +| ir.cpp:1624:60:1624:95 | Address | &:r1624_7 | +| ir.cpp:1624:60:1624:95 | Address | &:r1624_10 | +| ir.cpp:1624:60:1624:95 | ChiPartial | partial:m1624_3 | +| ir.cpp:1624:60:1624:95 | ChiTotal | total:m1624_2 | +| ir.cpp:1624:60:1624:95 | Load | m1624_6 | +| ir.cpp:1624:60:1624:95 | Load | m1625_8 | +| ir.cpp:1624:60:1624:95 | SideEffect | m1624_3 | +| ir.cpp:1624:60:1624:95 | SideEffect | m1624_8 | +| ir.cpp:1625:5:1625:13 | Address | &:r1625_1 | +| ir.cpp:1625:12:1625:12 | Address | &:r1625_2 | +| ir.cpp:1625:12:1625:12 | Address | &:r1625_4 | +| ir.cpp:1625:12:1625:12 | Load | m1624_6 | +| ir.cpp:1625:12:1625:12 | Load | ~m1624_8 | +| ir.cpp:1625:12:1625:12 | StoreValue | r1625_7 | +| ir.cpp:1625:12:1625:12 | Unary | r1625_3 | +| ir.cpp:1625:12:1625:12 | Unary | r1625_5 | +| ir.cpp:1625:12:1625:12 | Unary | r1625_6 | +| ir.cpp:1628:6:1628:37 | ChiPartial | partial:m1628_3 | +| ir.cpp:1628:6:1628:37 | ChiTotal | total:m1628_2 | +| ir.cpp:1628:6:1628:37 | SideEffect | ~m1649_6 | +| ir.cpp:1629:34:1629:34 | Address | &:r1629_1 | +| ir.cpp:1629:34:1629:34 | Address | &:r1629_1 | +| ir.cpp:1629:34:1629:34 | Arg(this) | this:r1629_1 | +| ir.cpp:1629:34:1629:34 | CallTarget | func:r1629_3 | +| ir.cpp:1629:34:1629:34 | ChiPartial | partial:m1629_5 | +| ir.cpp:1629:34:1629:34 | ChiPartial | partial:m1629_7 | +| ir.cpp:1629:34:1629:34 | ChiTotal | total:m1628_4 | +| ir.cpp:1629:34:1629:34 | ChiTotal | total:m1629_2 | +| ir.cpp:1629:34:1629:34 | SideEffect | ~m1628_4 | +| ir.cpp:1632:14:1632:14 | Address | &:r1632_1 | +| ir.cpp:1632:14:1632:14 | Address | &:r1632_6 | +| ir.cpp:1632:14:1632:14 | Address | &:r1632_6 | +| ir.cpp:1632:14:1632:14 | Address | &:r1632_18 | +| ir.cpp:1632:14:1632:14 | Address | &:r1632_18 | +| ir.cpp:1632:14:1632:14 | Address | &:r1632_30 | +| ir.cpp:1632:14:1632:14 | Address | &:r1632_30 | +| ir.cpp:1632:14:1632:14 | Arg(this) | this:r1632_6 | +| ir.cpp:1632:14:1632:14 | Arg(this) | this:r1632_18 | +| ir.cpp:1632:14:1632:14 | Arg(this) | this:r1632_30 | +| ir.cpp:1632:14:1632:14 | CallTarget | func:r1632_7 | +| ir.cpp:1632:14:1632:14 | CallTarget | func:r1632_19 | +| ir.cpp:1632:14:1632:14 | CallTarget | func:r1632_31 | +| ir.cpp:1632:14:1632:14 | ChiPartial | partial:m1632_9 | +| ir.cpp:1632:14:1632:14 | ChiPartial | partial:m1632_12 | +| ir.cpp:1632:14:1632:14 | ChiPartial | partial:m1632_21 | +| ir.cpp:1632:14:1632:14 | ChiPartial | partial:m1632_24 | +| ir.cpp:1632:14:1632:14 | ChiPartial | partial:m1632_33 | +| ir.cpp:1632:14:1632:14 | ChiPartial | partial:m1632_36 | +| ir.cpp:1632:14:1632:14 | ChiTotal | total:m1629_6 | +| ir.cpp:1632:14:1632:14 | ChiTotal | total:m1632_4 | +| ir.cpp:1632:14:1632:14 | ChiTotal | total:m1632_10 | +| ir.cpp:1632:14:1632:14 | ChiTotal | total:m1632_13 | +| ir.cpp:1632:14:1632:14 | ChiTotal | total:m1632_22 | +| ir.cpp:1632:14:1632:14 | ChiTotal | total:m1632_25 | +| ir.cpp:1632:14:1632:14 | SideEffect | m1632_4 | +| ir.cpp:1632:14:1632:14 | SideEffect | m1632_13 | +| ir.cpp:1632:14:1632:14 | SideEffect | m1632_25 | +| ir.cpp:1632:14:1632:14 | SideEffect | ~m1629_6 | +| ir.cpp:1632:14:1632:14 | SideEffect | ~m1632_10 | +| ir.cpp:1632:14:1632:14 | SideEffect | ~m1632_22 | +| ir.cpp:1632:14:1632:14 | Unary | r1632_8 | +| ir.cpp:1632:14:1632:14 | Unary | r1632_20 | +| ir.cpp:1632:14:1632:14 | Unary | r1632_32 | +| ir.cpp:1632:14:1632:27 | StoreValue | r1632_15 | +| ir.cpp:1632:14:1632:27 | StoreValue | r1632_27 | +| ir.cpp:1632:14:1632:27 | StoreValue | r1632_39 | +| ir.cpp:1632:14:1632:27 | Unary | r1632_14 | +| ir.cpp:1632:14:1632:27 | Unary | r1632_26 | +| ir.cpp:1632:14:1632:27 | Unary | r1632_38 | +| ir.cpp:1632:15:1632:15 | Address | &:r1632_5 | +| ir.cpp:1632:18:1632:18 | Address | &:r1632_17 | +| ir.cpp:1632:21:1632:21 | Address | &:r1632_29 | +| ir.cpp:1632:26:1632:26 | Address | &:r1632_2 | +| ir.cpp:1632:26:1632:26 | Load | m1629_8 | +| ir.cpp:1632:26:1632:26 | StoreValue | r1632_3 | +| ir.cpp:1633:9:1633:9 | Address | &:r1633_2 | +| ir.cpp:1633:9:1633:9 | Address | &:r1633_4 | +| ir.cpp:1633:9:1633:9 | Load | m1632_28 | +| ir.cpp:1633:9:1633:9 | Unary | r1633_3 | +| ir.cpp:1633:9:1633:15 | ChiPartial | partial:m1633_5 | +| ir.cpp:1633:9:1633:15 | ChiTotal | total:m1632_37 | +| ir.cpp:1633:13:1633:15 | StoreValue | r1633_1 | +| ir.cpp:1634:17:1634:18 | Address | &:r1634_1 | +| ir.cpp:1634:22:1634:22 | Address | &:r1634_2 | +| ir.cpp:1634:22:1634:22 | Load | m1632_28 | +| ir.cpp:1634:22:1634:22 | StoreValue | r1634_5 | +| ir.cpp:1634:22:1634:22 | Unary | r1634_3 | +| ir.cpp:1634:22:1634:22 | Unary | r1634_4 | +| ir.cpp:1635:13:1635:13 | Address | &:r1635_1 | +| ir.cpp:1635:17:1635:17 | Address | &:r1635_2 | +| ir.cpp:1635:17:1635:17 | Address | &:r1635_3 | +| ir.cpp:1635:17:1635:17 | Load | m1632_16 | +| ir.cpp:1635:17:1635:17 | Load | ~m1632_37 | +| ir.cpp:1635:17:1635:17 | StoreValue | r1635_4 | +| ir.cpp:1636:9:1636:9 | Address | &:r1636_2 | +| ir.cpp:1636:9:1636:9 | Address | &:r1636_4 | +| ir.cpp:1636:9:1636:9 | Load | m1632_40 | +| ir.cpp:1636:9:1636:9 | Unary | r1636_3 | +| ir.cpp:1636:9:1636:13 | ChiPartial | partial:m1636_5 | +| ir.cpp:1636:9:1636:13 | ChiTotal | total:m1632_34 | +| ir.cpp:1636:13:1636:13 | StoreValue | r1636_1 | +| ir.cpp:1637:14:1637:15 | Address | &:r1637_1 | +| ir.cpp:1637:19:1637:19 | Address | &:r1637_2 | +| ir.cpp:1637:19:1637:19 | Load | m1632_40 | +| ir.cpp:1637:19:1637:19 | StoreValue | r1637_5 | +| ir.cpp:1637:19:1637:19 | Unary | r1637_3 | +| ir.cpp:1637:19:1637:19 | Unary | r1637_4 | +| ir.cpp:1638:13:1638:13 | Address | &:r1638_1 | +| ir.cpp:1638:17:1638:17 | Address | &:r1638_2 | +| ir.cpp:1638:17:1638:17 | Address | &:r1638_3 | +| ir.cpp:1638:17:1638:17 | Load | m1632_40 | +| ir.cpp:1638:17:1638:17 | Load | ~m1636_6 | +| ir.cpp:1638:17:1638:17 | StoreValue | r1638_4 | +| ir.cpp:1642:14:1642:35 | Address | &:r1642_1 | +| ir.cpp:1642:39:1642:39 | Address | &:r1642_2 | +| ir.cpp:1642:39:1642:39 | Load | m1629_8 | +| ir.cpp:1642:39:1642:39 | StoreValue | r1642_3 | +| ir.cpp:1643:15:1643:15 | Address | &:r1643_1 | +| ir.cpp:1643:19:1643:40 | Address | &:r1643_2 | +| ir.cpp:1643:19:1643:40 | Address | &:r1643_2 | +| ir.cpp:1643:19:1643:40 | Arg(this) | this:r1643_2 | +| ir.cpp:1643:19:1643:40 | ChiPartial | partial:m1643_8 | +| ir.cpp:1643:19:1643:40 | ChiTotal | total:m1642_4 | +| ir.cpp:1643:19:1643:40 | SideEffect | m1642_4 | +| ir.cpp:1643:42:1643:47 | CallTarget | func:r1643_3 | +| ir.cpp:1643:42:1643:47 | ChiPartial | partial:m1643_5 | +| ir.cpp:1643:42:1643:47 | ChiTotal | total:m1636_6 | +| ir.cpp:1643:42:1643:47 | SideEffect | ~m1636_6 | +| ir.cpp:1643:42:1643:47 | Unary | r1643_4 | +| ir.cpp:1643:48:1643:50 | StoreValue | r1643_11 | +| ir.cpp:1643:48:1643:50 | Unary | r1643_10 | +| ir.cpp:1644:15:1644:15 | Address | &:r1644_1 | +| ir.cpp:1644:19:1644:40 | Address | &:r1644_2 | +| ir.cpp:1644:19:1644:40 | Address | &:r1644_2 | +| ir.cpp:1644:19:1644:40 | Arg(this) | this:r1644_2 | +| ir.cpp:1644:19:1644:40 | ChiPartial | partial:m1644_8 | +| ir.cpp:1644:19:1644:40 | ChiTotal | total:m1643_9 | +| ir.cpp:1644:19:1644:40 | SideEffect | m1643_9 | +| ir.cpp:1644:42:1644:47 | CallTarget | func:r1644_3 | +| ir.cpp:1644:42:1644:47 | ChiPartial | partial:m1644_5 | +| ir.cpp:1644:42:1644:47 | ChiTotal | total:m1643_6 | +| ir.cpp:1644:42:1644:47 | SideEffect | ~m1643_6 | +| ir.cpp:1644:42:1644:47 | Unary | r1644_4 | +| ir.cpp:1644:48:1644:50 | StoreValue | r1644_11 | +| ir.cpp:1644:48:1644:50 | Unary | r1644_10 | +| ir.cpp:1645:15:1645:15 | Address | &:r1645_1 | +| ir.cpp:1645:19:1645:40 | Address | &:r1645_2 | +| ir.cpp:1645:19:1645:40 | Address | &:r1645_2 | +| ir.cpp:1645:19:1645:40 | Arg(this) | this:r1645_2 | +| ir.cpp:1645:19:1645:40 | ChiPartial | partial:m1645_8 | +| ir.cpp:1645:19:1645:40 | ChiTotal | total:m1644_9 | +| ir.cpp:1645:19:1645:40 | SideEffect | m1644_9 | +| ir.cpp:1645:42:1645:47 | CallTarget | func:r1645_3 | +| ir.cpp:1645:42:1645:47 | ChiPartial | partial:m1645_5 | +| ir.cpp:1645:42:1645:47 | ChiTotal | total:m1644_6 | +| ir.cpp:1645:42:1645:47 | SideEffect | ~m1644_6 | +| ir.cpp:1645:42:1645:47 | Unary | r1645_4 | +| ir.cpp:1645:48:1645:50 | StoreValue | r1645_11 | +| ir.cpp:1645:48:1645:50 | Unary | r1645_10 | +| ir.cpp:1646:9:1646:9 | Address | &:r1646_2 | +| ir.cpp:1646:9:1646:9 | Address | &:r1646_4 | +| ir.cpp:1646:9:1646:9 | Load | m1644_12 | +| ir.cpp:1646:9:1646:9 | Unary | r1646_3 | +| ir.cpp:1646:9:1646:15 | ChiPartial | partial:m1646_5 | +| ir.cpp:1646:9:1646:15 | ChiTotal | total:m1645_9 | +| ir.cpp:1646:13:1646:15 | StoreValue | r1646_1 | +| ir.cpp:1647:17:1647:18 | Address | &:r1647_1 | +| ir.cpp:1647:22:1647:22 | Address | &:r1647_2 | +| ir.cpp:1647:22:1647:22 | Load | m1644_12 | +| ir.cpp:1647:22:1647:22 | StoreValue | r1647_5 | +| ir.cpp:1647:22:1647:22 | Unary | r1647_3 | +| ir.cpp:1647:22:1647:22 | Unary | r1647_4 | +| ir.cpp:1648:13:1648:13 | Address | &:r1648_1 | +| ir.cpp:1648:17:1648:17 | Address | &:r1648_2 | +| ir.cpp:1648:17:1648:17 | Address | &:r1648_3 | +| ir.cpp:1648:17:1648:17 | Load | m1643_12 | +| ir.cpp:1648:17:1648:17 | Load | ~m1645_9 | +| ir.cpp:1648:17:1648:17 | StoreValue | r1648_4 | +| ir.cpp:1649:9:1649:9 | Address | &:r1649_2 | +| ir.cpp:1649:9:1649:9 | Address | &:r1649_4 | +| ir.cpp:1649:9:1649:9 | Load | m1645_12 | +| ir.cpp:1649:9:1649:9 | Unary | r1649_3 | +| ir.cpp:1649:9:1649:13 | ChiPartial | partial:m1649_5 | +| ir.cpp:1649:9:1649:13 | ChiTotal | total:m1645_6 | +| ir.cpp:1649:13:1649:13 | StoreValue | r1649_1 | +| ir.cpp:1650:14:1650:15 | Address | &:r1650_1 | +| ir.cpp:1650:19:1650:19 | Address | &:r1650_2 | +| ir.cpp:1650:19:1650:19 | Load | m1645_12 | +| ir.cpp:1650:19:1650:19 | StoreValue | r1650_5 | +| ir.cpp:1650:19:1650:19 | Unary | r1650_3 | +| ir.cpp:1650:19:1650:19 | Unary | r1650_4 | +| ir.cpp:1651:13:1651:13 | Address | &:r1651_1 | +| ir.cpp:1651:17:1651:17 | Address | &:r1651_2 | +| ir.cpp:1651:17:1651:17 | Address | &:r1651_3 | +| ir.cpp:1651:17:1651:17 | Load | m1645_12 | +| ir.cpp:1651:17:1651:17 | Load | ~m1649_6 | +| ir.cpp:1651:17:1651:17 | StoreValue | r1651_4 | +| ir.cpp:1655:8:1655:8 | Address | &:r1655_5 | +| ir.cpp:1655:8:1655:8 | Address | &:r1655_5 | +| ir.cpp:1655:8:1655:8 | Address | &:r1655_7 | +| ir.cpp:1655:8:1655:8 | Address | &:r1655_7 | +| ir.cpp:1655:8:1655:8 | ChiPartial | partial:m1655_3 | +| ir.cpp:1655:8:1655:8 | ChiTotal | total:m1655_2 | +| ir.cpp:1655:8:1655:8 | Load | m1655_6 | +| ir.cpp:1655:8:1655:8 | SideEffect | m1655_3 | +| ir.cpp:1655:8:1655:8 | SideEffect | m1655_8 | +| ir.cpp:1682:61:1682:98 | Address | &:r1682_5 | +| ir.cpp:1682:61:1682:98 | Address | &:r1682_5 | +| ir.cpp:1682:61:1682:98 | Address | &:r1682_7 | +| ir.cpp:1682:61:1682:98 | Address | &:r1682_7 | +| ir.cpp:1682:61:1682:98 | Address | &:r1682_10 | +| ir.cpp:1682:61:1682:98 | ChiPartial | partial:m1682_3 | +| ir.cpp:1682:61:1682:98 | ChiTotal | total:m1682_2 | +| ir.cpp:1682:61:1682:98 | Load | m1682_6 | +| ir.cpp:1682:61:1682:98 | Load | m1683_6 | +| ir.cpp:1682:61:1682:98 | SideEffect | m1682_3 | +| ir.cpp:1682:61:1682:98 | SideEffect | m1682_8 | +| ir.cpp:1683:5:1683:13 | Address | &:r1683_1 | +| ir.cpp:1683:12:1683:12 | Address | &:r1683_2 | +| ir.cpp:1683:12:1683:12 | Address | &:r1683_4 | +| ir.cpp:1683:12:1683:12 | Load | m1682_6 | +| ir.cpp:1683:12:1683:12 | Load | ~m1682_8 | +| ir.cpp:1683:12:1683:12 | StoreValue | r1683_5 | +| ir.cpp:1683:12:1683:12 | Unary | r1683_3 | +| ir.cpp:1686:61:1686:98 | Address | &:r1686_5 | +| ir.cpp:1686:61:1686:98 | Address | &:r1686_5 | +| ir.cpp:1686:61:1686:98 | Address | &:r1686_7 | +| ir.cpp:1686:61:1686:98 | Address | &:r1686_7 | +| ir.cpp:1686:61:1686:98 | Address | &:r1686_10 | +| ir.cpp:1686:61:1686:98 | ChiPartial | partial:m1686_3 | +| ir.cpp:1686:61:1686:98 | ChiTotal | total:m1686_2 | +| ir.cpp:1686:61:1686:98 | Load | m1686_6 | +| ir.cpp:1686:61:1686:98 | Load | m1687_8 | +| ir.cpp:1686:61:1686:98 | SideEffect | m1686_3 | +| ir.cpp:1686:61:1686:98 | SideEffect | m1686_8 | +| ir.cpp:1687:5:1687:13 | Address | &:r1687_1 | +| ir.cpp:1687:12:1687:12 | Address | &:r1687_2 | +| ir.cpp:1687:12:1687:12 | Address | &:r1687_4 | +| ir.cpp:1687:12:1687:12 | Load | m1686_6 | +| ir.cpp:1687:12:1687:12 | Load | ~m1686_8 | +| ir.cpp:1687:12:1687:12 | StoreValue | r1687_7 | +| ir.cpp:1687:12:1687:12 | Unary | r1687_3 | +| ir.cpp:1687:12:1687:12 | Unary | r1687_5 | +| ir.cpp:1687:12:1687:12 | Unary | r1687_6 | +| ir.cpp:1690:61:1690:98 | Address | &:r1690_5 | +| ir.cpp:1690:61:1690:98 | Address | &:r1690_5 | +| ir.cpp:1690:61:1690:98 | Address | &:r1690_7 | +| ir.cpp:1690:61:1690:98 | Address | &:r1690_7 | +| ir.cpp:1690:61:1690:98 | Address | &:r1690_10 | +| ir.cpp:1690:61:1690:98 | ChiPartial | partial:m1690_3 | +| ir.cpp:1690:61:1690:98 | ChiTotal | total:m1690_2 | +| ir.cpp:1690:61:1690:98 | Load | m1690_6 | +| ir.cpp:1690:61:1690:98 | Load | m1691_6 | +| ir.cpp:1690:61:1690:98 | SideEffect | m1690_3 | +| ir.cpp:1690:61:1690:98 | SideEffect | m1690_8 | +| ir.cpp:1691:5:1691:13 | Address | &:r1691_1 | +| ir.cpp:1691:12:1691:12 | Address | &:r1691_2 | +| ir.cpp:1691:12:1691:12 | StoreValue | r1691_3 | +| ir.cpp:1691:12:1691:12 | StoreValue | r1691_5 | +| ir.cpp:1691:12:1691:12 | Unary | r1691_2 | +| ir.cpp:1694:6:1694:40 | ChiPartial | partial:m1694_3 | +| ir.cpp:1694:6:1694:40 | ChiTotal | total:m1694_2 | +| ir.cpp:1694:6:1694:40 | SideEffect | ~m1715_6 | +| ir.cpp:1695:36:1695:36 | Address | &:r1695_1 | +| ir.cpp:1695:36:1695:36 | Address | &:r1695_1 | +| ir.cpp:1695:36:1695:36 | Arg(this) | this:r1695_1 | +| ir.cpp:1695:36:1695:36 | CallTarget | func:r1695_3 | +| ir.cpp:1695:36:1695:36 | ChiPartial | partial:m1695_5 | +| ir.cpp:1695:36:1695:36 | ChiPartial | partial:m1695_7 | +| ir.cpp:1695:36:1695:36 | ChiTotal | total:m1694_4 | +| ir.cpp:1695:36:1695:36 | ChiTotal | total:m1695_2 | +| ir.cpp:1695:36:1695:36 | SideEffect | ~m1694_4 | +| ir.cpp:1698:16:1698:16 | Address | &:r1698_1 | +| ir.cpp:1698:16:1698:16 | Address | &:r1698_7 | +| ir.cpp:1698:16:1698:16 | Address | &:r1698_21 | +| ir.cpp:1698:16:1698:16 | Address | &:r1698_35 | +| ir.cpp:1698:16:1698:16 | CallTarget | func:r1698_10 | +| ir.cpp:1698:16:1698:16 | CallTarget | func:r1698_24 | +| ir.cpp:1698:16:1698:16 | CallTarget | func:r1698_38 | +| ir.cpp:1698:16:1698:16 | ChiPartial | partial:m1698_12 | +| ir.cpp:1698:16:1698:16 | ChiPartial | partial:m1698_26 | +| ir.cpp:1698:16:1698:16 | ChiPartial | partial:m1698_40 | +| ir.cpp:1698:16:1698:16 | ChiTotal | total:m1695_6 | +| ir.cpp:1698:16:1698:16 | ChiTotal | total:m1698_13 | +| ir.cpp:1698:16:1698:16 | ChiTotal | total:m1698_27 | +| ir.cpp:1698:16:1698:16 | Load | m1698_4 | +| ir.cpp:1698:16:1698:16 | Load | m1698_4 | +| ir.cpp:1698:16:1698:16 | Load | m1698_4 | +| ir.cpp:1698:16:1698:16 | SideEffect | ~m1695_6 | +| ir.cpp:1698:16:1698:16 | SideEffect | ~m1698_13 | +| ir.cpp:1698:16:1698:16 | SideEffect | ~m1698_27 | +| ir.cpp:1698:16:1698:16 | StoreValue | r1698_11 | +| ir.cpp:1698:16:1698:16 | Unary | r1698_8 | +| ir.cpp:1698:16:1698:16 | Unary | r1698_22 | +| ir.cpp:1698:16:1698:16 | Unary | r1698_25 | +| ir.cpp:1698:16:1698:16 | Unary | r1698_36 | +| ir.cpp:1698:16:1698:16 | Unary | r1698_39 | +| ir.cpp:1698:16:1698:30 | Address | &:r1698_6 | +| ir.cpp:1698:16:1698:30 | StoreValue | r1698_18 | +| ir.cpp:1698:16:1698:30 | StoreValue | r1698_32 | +| ir.cpp:1698:16:1698:30 | StoreValue | r1698_46 | +| ir.cpp:1698:16:1698:30 | Unary | r1698_6 | +| ir.cpp:1698:16:1698:30 | Unary | r1698_31 | +| ir.cpp:1698:16:1698:30 | Unary | r1698_45 | +| ir.cpp:1698:17:1698:17 | Address | &:r1698_5 | +| ir.cpp:1698:20:1698:20 | Address | &:r1698_20 | +| ir.cpp:1698:23:1698:23 | Address | &:r1698_34 | +| ir.cpp:1698:29:1698:29 | StoreValue | r1698_3 | +| ir.cpp:1698:29:1698:29 | Unary | r1698_2 | +| ir.cpp:1698:30:1698:30 | Address | &:r1698_9 | +| ir.cpp:1698:30:1698:30 | Address | &:r1698_9 | +| ir.cpp:1698:30:1698:30 | Address | &:r1698_23 | +| ir.cpp:1698:30:1698:30 | Address | &:r1698_23 | +| ir.cpp:1698:30:1698:30 | Address | &:r1698_37 | +| ir.cpp:1698:30:1698:30 | Address | &:r1698_37 | +| ir.cpp:1698:30:1698:30 | Arg(this) | this:r1698_9 | +| ir.cpp:1698:30:1698:30 | Arg(this) | this:r1698_23 | +| ir.cpp:1698:30:1698:30 | Arg(this) | this:r1698_37 | +| ir.cpp:1698:30:1698:30 | ChiPartial | partial:m1698_15 | +| ir.cpp:1698:30:1698:30 | ChiPartial | partial:m1698_29 | +| ir.cpp:1698:30:1698:30 | ChiPartial | partial:m1698_43 | +| ir.cpp:1698:30:1698:30 | ChiTotal | total:m1695_8 | +| ir.cpp:1698:30:1698:30 | ChiTotal | total:m1698_16 | +| ir.cpp:1698:30:1698:30 | ChiTotal | total:m1698_30 | +| ir.cpp:1698:30:1698:30 | SideEffect | m1695_8 | +| ir.cpp:1698:30:1698:30 | SideEffect | m1698_16 | +| ir.cpp:1698:30:1698:30 | SideEffect | m1698_30 | +| ir.cpp:1699:9:1699:9 | Address | &:r1699_2 | +| ir.cpp:1699:9:1699:9 | Address | &:r1699_4 | +| ir.cpp:1699:9:1699:9 | Load | m1698_19 | +| ir.cpp:1699:9:1699:9 | Unary | r1699_3 | +| ir.cpp:1699:13:1699:13 | StoreValue | r1699_1 | +| ir.cpp:1700:14:1700:15 | Address | &:r1700_1 | +| ir.cpp:1700:19:1700:19 | Address | &:r1700_2 | +| ir.cpp:1700:19:1700:19 | Load | m1698_19 | +| ir.cpp:1700:19:1700:19 | StoreValue | r1700_5 | +| ir.cpp:1700:19:1700:19 | Unary | r1700_3 | +| ir.cpp:1700:19:1700:19 | Unary | r1700_4 | +| ir.cpp:1701:13:1701:13 | Address | &:r1701_1 | +| ir.cpp:1701:17:1701:17 | Address | &:r1701_2 | +| ir.cpp:1701:17:1701:17 | Address | &:r1701_3 | +| ir.cpp:1701:17:1701:17 | Load | m1698_19 | +| ir.cpp:1701:17:1701:17 | Load | m1699_5 | +| ir.cpp:1701:17:1701:17 | StoreValue | r1701_4 | +| ir.cpp:1702:9:1702:9 | Address | &:r1702_2 | +| ir.cpp:1702:9:1702:9 | Address | &:r1702_4 | +| ir.cpp:1702:9:1702:9 | Load | m1698_33 | +| ir.cpp:1702:9:1702:9 | Unary | r1702_3 | +| ir.cpp:1702:9:1702:13 | ChiPartial | partial:m1702_5 | +| ir.cpp:1702:9:1702:13 | ChiTotal | total:m1698_41 | +| ir.cpp:1702:13:1702:13 | StoreValue | r1702_1 | +| ir.cpp:1703:14:1703:15 | Address | &:r1703_1 | +| ir.cpp:1703:19:1703:19 | Address | &:r1703_2 | +| ir.cpp:1703:19:1703:19 | Load | m1698_33 | +| ir.cpp:1703:19:1703:19 | StoreValue | r1703_5 | +| ir.cpp:1703:19:1703:19 | Unary | r1703_3 | +| ir.cpp:1703:19:1703:19 | Unary | r1703_4 | +| ir.cpp:1704:13:1704:13 | Address | &:r1704_1 | +| ir.cpp:1704:17:1704:17 | Address | &:r1704_2 | +| ir.cpp:1704:17:1704:17 | Address | &:r1704_3 | +| ir.cpp:1704:17:1704:17 | Load | m1698_33 | +| ir.cpp:1704:17:1704:17 | Load | ~m1702_6 | +| ir.cpp:1704:17:1704:17 | StoreValue | r1704_4 | +| ir.cpp:1708:16:1708:37 | Address | &:r1708_1 | +| ir.cpp:1708:41:1708:41 | StoreValue | r1708_3 | +| ir.cpp:1708:41:1708:41 | Unary | r1708_2 | +| ir.cpp:1709:16:1709:16 | Address | &:r1709_1 | +| ir.cpp:1709:20:1709:41 | Address | &:r1709_3 | +| ir.cpp:1709:20:1709:41 | Address | &:r1709_5 | +| ir.cpp:1709:20:1709:41 | Address | &:r1709_5 | +| ir.cpp:1709:20:1709:41 | Arg(this) | this:r1709_5 | +| ir.cpp:1709:20:1709:41 | ChiPartial | partial:m1709_11 | +| ir.cpp:1709:20:1709:41 | ChiTotal | total:m1698_44 | +| ir.cpp:1709:20:1709:41 | Load | m1708_4 | +| ir.cpp:1709:20:1709:41 | SideEffect | m1698_44 | +| ir.cpp:1709:20:1709:41 | Unary | r1709_4 | +| ir.cpp:1709:20:1709:50 | Address | &:r1709_2 | +| ir.cpp:1709:20:1709:50 | StoreValue | r1709_14 | +| ir.cpp:1709:20:1709:50 | Unary | r1709_2 | +| ir.cpp:1709:43:1709:48 | CallTarget | func:r1709_6 | +| ir.cpp:1709:43:1709:48 | ChiPartial | partial:m1709_8 | +| ir.cpp:1709:43:1709:48 | ChiTotal | total:m1702_6 | +| ir.cpp:1709:43:1709:48 | SideEffect | ~m1702_6 | +| ir.cpp:1709:43:1709:48 | StoreValue | r1709_7 | +| ir.cpp:1710:15:1710:15 | Address | &:r1710_1 | +| ir.cpp:1710:19:1710:40 | Address | &:r1710_2 | +| ir.cpp:1710:19:1710:40 | Address | &:r1710_4 | +| ir.cpp:1710:19:1710:40 | Address | &:r1710_4 | +| ir.cpp:1710:19:1710:40 | Arg(this) | this:r1710_4 | +| ir.cpp:1710:19:1710:40 | ChiPartial | partial:m1710_10 | +| ir.cpp:1710:19:1710:40 | ChiTotal | total:m1709_12 | +| ir.cpp:1710:19:1710:40 | Load | m1708_4 | +| ir.cpp:1710:19:1710:40 | SideEffect | m1709_12 | +| ir.cpp:1710:19:1710:40 | Unary | r1710_3 | +| ir.cpp:1710:42:1710:47 | CallTarget | func:r1710_5 | +| ir.cpp:1710:42:1710:47 | ChiPartial | partial:m1710_7 | +| ir.cpp:1710:42:1710:47 | ChiTotal | total:m1709_9 | +| ir.cpp:1710:42:1710:47 | SideEffect | ~m1709_9 | +| ir.cpp:1710:42:1710:47 | Unary | r1710_6 | +| ir.cpp:1710:48:1710:50 | StoreValue | r1710_13 | +| ir.cpp:1710:48:1710:50 | Unary | r1710_12 | +| ir.cpp:1711:16:1711:17 | Address | &:r1711_1 | +| ir.cpp:1711:21:1711:42 | Address | &:r1711_2 | +| ir.cpp:1711:21:1711:42 | Address | &:r1711_4 | +| ir.cpp:1711:21:1711:42 | Address | &:r1711_4 | +| ir.cpp:1711:21:1711:42 | Arg(this) | this:r1711_4 | +| ir.cpp:1711:21:1711:42 | ChiPartial | partial:m1711_10 | +| ir.cpp:1711:21:1711:42 | ChiTotal | total:m1710_11 | +| ir.cpp:1711:21:1711:42 | Load | m1708_4 | +| ir.cpp:1711:21:1711:42 | SideEffect | m1710_11 | +| ir.cpp:1711:21:1711:42 | Unary | r1711_3 | +| ir.cpp:1711:44:1711:49 | CallTarget | func:r1711_5 | +| ir.cpp:1711:44:1711:49 | ChiPartial | partial:m1711_7 | +| ir.cpp:1711:44:1711:49 | ChiTotal | total:m1710_8 | +| ir.cpp:1711:44:1711:49 | SideEffect | ~m1710_8 | +| ir.cpp:1711:44:1711:49 | Unary | r1711_6 | +| ir.cpp:1711:50:1711:52 | StoreValue | r1711_13 | +| ir.cpp:1711:50:1711:52 | Unary | r1711_12 | +| ir.cpp:1712:9:1712:9 | Address | &:r1712_2 | +| ir.cpp:1712:9:1712:9 | Address | &:r1712_4 | +| ir.cpp:1712:9:1712:9 | Load | m1709_15 | +| ir.cpp:1712:9:1712:9 | Unary | r1712_3 | +| ir.cpp:1712:13:1712:13 | StoreValue | r1712_1 | +| ir.cpp:1713:14:1713:15 | Address | &:r1713_1 | +| ir.cpp:1713:19:1713:19 | Address | &:r1713_2 | +| ir.cpp:1713:19:1713:19 | Load | m1709_15 | +| ir.cpp:1713:19:1713:19 | StoreValue | r1713_5 | +| ir.cpp:1713:19:1713:19 | Unary | r1713_3 | +| ir.cpp:1713:19:1713:19 | Unary | r1713_4 | +| ir.cpp:1714:13:1714:13 | Address | &:r1714_1 | +| ir.cpp:1714:17:1714:17 | Address | &:r1714_2 | +| ir.cpp:1714:17:1714:17 | Address | &:r1714_3 | +| ir.cpp:1714:17:1714:17 | Load | m1709_15 | +| ir.cpp:1714:17:1714:17 | Load | m1712_5 | +| ir.cpp:1714:17:1714:17 | StoreValue | r1714_4 | +| ir.cpp:1715:9:1715:9 | Address | &:r1715_2 | +| ir.cpp:1715:9:1715:9 | Address | &:r1715_4 | +| ir.cpp:1715:9:1715:9 | Load | m1710_14 | +| ir.cpp:1715:9:1715:9 | Unary | r1715_3 | +| ir.cpp:1715:9:1715:13 | ChiPartial | partial:m1715_5 | +| ir.cpp:1715:9:1715:13 | ChiTotal | total:m1711_8 | +| ir.cpp:1715:13:1715:13 | StoreValue | r1715_1 | +| ir.cpp:1716:14:1716:15 | Address | &:r1716_1 | +| ir.cpp:1716:19:1716:19 | Address | &:r1716_2 | +| ir.cpp:1716:19:1716:19 | Load | m1710_14 | +| ir.cpp:1716:19:1716:19 | StoreValue | r1716_5 | +| ir.cpp:1716:19:1716:19 | Unary | r1716_3 | +| ir.cpp:1716:19:1716:19 | Unary | r1716_4 | +| ir.cpp:1717:13:1717:13 | Address | &:r1717_1 | +| ir.cpp:1717:17:1717:17 | Address | &:r1717_2 | +| ir.cpp:1717:17:1717:17 | Address | &:r1717_3 | +| ir.cpp:1717:17:1717:17 | Load | m1710_14 | +| ir.cpp:1717:17:1717:17 | Load | ~m1715_6 | +| ir.cpp:1717:17:1717:17 | StoreValue | r1717_4 | +| ir.cpp:1721:6:1721:42 | ChiPartial | partial:m1721_3 | +| ir.cpp:1721:6:1721:42 | ChiTotal | total:m1721_2 | +| ir.cpp:1721:6:1721:42 | SideEffect | m1721_3 | +| ir.cpp:1722:9:1722:10 | Address | &:r1722_1 | +| ir.cpp:1722:9:1722:10 | Left | r1722_1 | +| ir.cpp:1722:9:1722:10 | Left | r1722_1 | +| ir.cpp:1722:16:1722:22 | Address | &:r1722_4 | +| ir.cpp:1722:16:1722:22 | Address | &:r1722_9 | +| ir.cpp:1722:16:1722:22 | Right | r1722_3 | +| ir.cpp:1722:16:1722:22 | Right | r1722_8 | +| ir.cpp:1722:18:1722:18 | ChiPartial | partial:m1722_6 | +| ir.cpp:1722:18:1722:18 | ChiTotal | total:m1722_2 | +| ir.cpp:1722:18:1722:18 | StoreValue | r1722_5 | +| ir.cpp:1722:21:1722:21 | ChiPartial | partial:m1722_11 | +| ir.cpp:1722:21:1722:21 | ChiTotal | total:m1722_7 | +| ir.cpp:1722:21:1722:21 | StoreValue | r1722_10 | +| ir.cpp:1723:10:1723:10 | Address | &:r1723_1 | +| ir.cpp:1723:11:1723:11 | Address | &:r1723_5 | +| ir.cpp:1723:15:1723:15 | Address | &:r1723_6 | +| ir.cpp:1723:21:1723:22 | Address | &:r1723_2 | +| ir.cpp:1723:21:1723:22 | Load | m1722_12 | +| ir.cpp:1723:21:1723:22 | StoreValue | r1723_3 | +| ir.cpp:1729:5:1729:23 | Address | &:r1729_5 | +| ir.cpp:1729:5:1729:23 | Address | &:r1729_5 | +| ir.cpp:1729:5:1729:23 | Address | &:r1729_7 | +| ir.cpp:1729:5:1729:23 | Address | &:r1729_7 | +| ir.cpp:1729:5:1729:23 | ChiPartial | partial:m1729_3 | +| ir.cpp:1729:5:1729:23 | ChiTotal | total:m1729_2 | +| ir.cpp:1729:5:1729:23 | Load | m1729_6 | +| ir.cpp:1729:5:1729:23 | SideEffect | m1729_3 | +| ir.cpp:1729:5:1729:23 | SideEffect | m1729_8 | +| ir.cpp:1732:6:1732:20 | ChiPartial | partial:m1732_3 | +| ir.cpp:1732:6:1732:20 | ChiTotal | total:m1732_2 | +| ir.cpp:1732:6:1732:20 | SideEffect | ~m1735_6 | +| ir.cpp:1732:26:1732:26 | Address | &:r1732_5 | +| ir.cpp:1732:34:1732:34 | Address | &:r1732_7 | +| ir.cpp:1732:34:1732:34 | Address | &:r1732_7 | +| ir.cpp:1732:34:1732:34 | Address | &:r1732_9 | +| ir.cpp:1732:34:1732:34 | Address | &:r1732_9 | +| ir.cpp:1732:34:1732:34 | Load | m1732_8 | +| ir.cpp:1732:34:1732:34 | SideEffect | m1732_10 | +| ir.cpp:1732:43:1732:43 | Address | &:r1732_11 | +| ir.cpp:1732:43:1732:43 | Address | &:r1732_11 | +| ir.cpp:1732:43:1732:43 | Address | &:r1732_13 | +| ir.cpp:1732:43:1732:43 | Address | &:r1732_13 | +| ir.cpp:1732:43:1732:43 | Load | m1732_12 | +| ir.cpp:1732:43:1732:43 | SideEffect | m1732_14 | +| ir.cpp:1734:17:1734:20 | Address | &:r1734_1 | +| ir.cpp:1734:24:1734:44 | Address | &:r1734_2 | +| ir.cpp:1734:24:1734:44 | Address | &:r1734_2 | +| ir.cpp:1734:24:1734:44 | Arg(this) | this:r1734_2 | +| ir.cpp:1734:24:1734:44 | CallTarget | func:r1734_4 | +| ir.cpp:1734:24:1734:44 | ChiPartial | partial:m1734_6 | +| ir.cpp:1734:24:1734:44 | ChiPartial | partial:m1734_8 | +| ir.cpp:1734:24:1734:44 | ChiTotal | total:m1732_4 | +| ir.cpp:1734:24:1734:44 | ChiTotal | total:m1734_3 | +| ir.cpp:1734:24:1734:44 | SideEffect | ~m1732_4 | +| ir.cpp:1734:24:1734:44 | StoreValue | r1734_11 | +| ir.cpp:1734:24:1734:44 | Unary | r1734_2 | +| ir.cpp:1734:24:1734:44 | Unary | r1734_10 | +| ir.cpp:1735:10:1735:13 | Address | &:r1735_1 | +| ir.cpp:1735:10:1735:13 | Address | &:r1735_1 | +| ir.cpp:1735:10:1735:13 | Arg(this) | this:r1735_1 | +| ir.cpp:1735:16:1735:37 | CallTarget | func:r1735_3 | +| ir.cpp:1735:16:1735:37 | ChiPartial | partial:m1735_5 | +| ir.cpp:1735:16:1735:37 | ChiPartial | partial:m1735_7 | +| ir.cpp:1735:16:1735:37 | ChiTotal | total:m1734_7 | +| ir.cpp:1735:16:1735:37 | ChiTotal | total:m1735_2 | +| ir.cpp:1735:16:1735:37 | SideEffect | ~m1734_7 | +| ir.cpp:1737:10:1737:21 | Address | &:r1737_1 | +| ir.cpp:1737:24:1739:5 | Address | &:r1737_2 | +| ir.cpp:1737:24:1739:5 | Address | &:r1737_2 | +| ir.cpp:1737:24:1739:5 | Address | &:r1737_4 | +| ir.cpp:1737:24:1739:5 | Address | &:r1737_5 | +| ir.cpp:1737:24:1739:5 | Address | &:r1737_6 | +| ir.cpp:1737:24:1739:5 | Address | &:r1737_7 | +| ir.cpp:1737:24:1739:5 | Address | &:r1737_8 | +| ir.cpp:1737:24:1739:5 | Address | &:r1737_12 | +| ir.cpp:1737:24:1739:5 | Address | &:r1737_17 | +| ir.cpp:1737:24:1739:5 | Address | &:r1737_20 | +| ir.cpp:1737:24:1739:5 | ChiPartial | partial:m1737_10 | +| ir.cpp:1737:24:1739:5 | ChiTotal | total:m0_3 | +| ir.cpp:1737:24:1739:5 | Load | m1734_12 | +| ir.cpp:1737:24:1739:5 | Load | m1735_8 | +| ir.cpp:1737:24:1739:5 | Load | m1739_6 | +| ir.cpp:1737:24:1739:5 | StoreValue | r1737_9 | +| ir.cpp:1737:24:1739:5 | StoreValue | r1737_23 | +| ir.cpp:1737:24:1739:5 | Unary | r1737_2 | +| ir.cpp:1737:24:1739:5 | Unary | r1737_2 | +| ir.cpp:1737:24:1739:5 | Unary | r1737_2 | +| ir.cpp:1737:24:1739:5 | Unary | r1737_2 | +| ir.cpp:1737:24:1739:5 | Unary | r1737_2 | +| ir.cpp:1737:38:1737:38 | Address | &:r1737_13 | +| ir.cpp:1737:38:1737:38 | ChiPartial | partial:m1737_15 | +| ir.cpp:1737:38:1737:38 | ChiTotal | total:m1737_11 | +| ir.cpp:1737:38:1737:38 | Load | m1732_6 | +| ir.cpp:1737:38:1737:38 | StoreValue | r1737_14 | +| ir.cpp:1737:41:1737:41 | Address | &:r1737_18 | +| ir.cpp:1737:41:1737:41 | Address | &:r1737_19 | +| ir.cpp:1737:41:1737:41 | Load | m1732_8 | +| ir.cpp:1737:44:1737:44 | Address | &:r1737_21 | +| ir.cpp:1737:44:1737:44 | Address | &:r1737_22 | +| ir.cpp:1737:44:1737:44 | Load | m1732_12 | +| ir.cpp:1737:46:1737:46 | Address | &:r1737_5 | +| ir.cpp:1737:46:1737:46 | Address | &:r1737_5 | +| ir.cpp:1737:46:1737:46 | Address | &:r1737_7 | +| ir.cpp:1737:46:1737:46 | Address | &:r1737_7 | +| ir.cpp:1737:46:1737:46 | ChiPartial | partial:m1737_3 | +| ir.cpp:1737:46:1737:46 | ChiTotal | total:m1737_2 | +| ir.cpp:1737:46:1737:46 | Load | m1737_6 | +| ir.cpp:1737:46:1737:46 | SideEffect | m1737_3 | +| ir.cpp:1737:46:1737:46 | SideEffect | m1737_8 | +| ir.cpp:1738:14:1738:25 | Address | &:r1738_1 | +| ir.cpp:1738:28:1738:54 | Address | &:r1738_2 | +| ir.cpp:1738:28:1738:54 | Address | &:r1738_2 | +| ir.cpp:1738:28:1738:54 | Address | &:r1738_4 | +| ir.cpp:1738:28:1738:54 | Address | &:r1738_5 | +| ir.cpp:1738:28:1738:54 | Address | &:r1738_7 | +| ir.cpp:1738:28:1738:54 | Address | &:r1738_11 | +| ir.cpp:1738:28:1738:54 | Address | &:r1738_12 | +| ir.cpp:1738:28:1738:54 | Address | &:r1738_14 | +| ir.cpp:1738:28:1738:54 | Address | &:r1738_18 | +| ir.cpp:1738:28:1738:54 | Address | &:r1738_19 | +| ir.cpp:1738:28:1738:54 | Address | &:r1738_21 | +| ir.cpp:1738:28:1738:54 | Address | &:r1738_25 | +| ir.cpp:1738:28:1738:54 | Address | &:r1738_26 | +| ir.cpp:1738:28:1738:54 | Address | &:r1738_28 | +| ir.cpp:1738:28:1738:54 | Address | &:r1738_32 | +| ir.cpp:1738:28:1738:54 | Address | &:r1738_33 | +| ir.cpp:1738:28:1738:54 | Address | &:r1738_35 | +| ir.cpp:1738:28:1738:54 | ChiPartial | partial:m1738_9 | +| ir.cpp:1738:28:1738:54 | ChiPartial | partial:m1738_16 | +| ir.cpp:1738:28:1738:54 | ChiPartial | partial:m1738_23 | +| ir.cpp:1738:28:1738:54 | ChiPartial | partial:m1738_30 | +| ir.cpp:1738:28:1738:54 | ChiPartial | partial:m1738_37 | +| ir.cpp:1738:28:1738:54 | ChiTotal | total:m1738_3 | +| ir.cpp:1738:28:1738:54 | ChiTotal | total:m1738_10 | +| ir.cpp:1738:28:1738:54 | ChiTotal | total:m1738_17 | +| ir.cpp:1738:28:1738:54 | ChiTotal | total:m1738_24 | +| ir.cpp:1738:28:1738:54 | ChiTotal | total:m1738_31 | +| ir.cpp:1738:28:1738:54 | Load | m1737_6 | +| ir.cpp:1738:28:1738:54 | Load | m1737_6 | +| ir.cpp:1738:28:1738:54 | Load | m1737_6 | +| ir.cpp:1738:28:1738:54 | Load | m1737_6 | +| ir.cpp:1738:28:1738:54 | Load | m1737_6 | +| ir.cpp:1738:28:1738:54 | Load | m1738_38 | +| ir.cpp:1738:28:1738:54 | Load | ~m1737_8 | +| ir.cpp:1738:28:1738:54 | Load | ~m1737_8 | +| ir.cpp:1738:28:1738:54 | Load | ~m1737_8 | +| ir.cpp:1738:28:1738:54 | Load | ~m1737_8 | +| ir.cpp:1738:28:1738:54 | Load | ~m1737_8 | +| ir.cpp:1738:28:1738:54 | StoreValue | r1738_8 | +| ir.cpp:1738:28:1738:54 | StoreValue | r1738_15 | +| ir.cpp:1738:28:1738:54 | StoreValue | r1738_22 | +| ir.cpp:1738:28:1738:54 | StoreValue | r1738_29 | +| ir.cpp:1738:28:1738:54 | StoreValue | r1738_36 | +| ir.cpp:1738:28:1738:54 | StoreValue | r1738_39 | +| ir.cpp:1738:28:1738:54 | Unary | r1738_2 | +| ir.cpp:1738:28:1738:54 | Unary | r1738_2 | +| ir.cpp:1738:28:1738:54 | Unary | r1738_2 | +| ir.cpp:1738:28:1738:54 | Unary | r1738_2 | +| ir.cpp:1738:28:1738:54 | Unary | r1738_2 | +| ir.cpp:1738:28:1738:54 | Unary | r1738_6 | +| ir.cpp:1738:28:1738:54 | Unary | r1738_13 | +| ir.cpp:1738:28:1738:54 | Unary | r1738_20 | +| ir.cpp:1738:28:1738:54 | Unary | r1738_27 | +| ir.cpp:1738:28:1738:54 | Unary | r1738_34 | +| ir.cpp:1738:50:1738:50 | Address | &:r1738_5 | +| ir.cpp:1738:50:1738:50 | Address | &:r1738_5 | +| ir.cpp:1738:50:1738:50 | Address | &:r1738_7 | +| ir.cpp:1738:50:1738:50 | Address | &:r1738_7 | +| ir.cpp:1738:50:1738:50 | ChiPartial | partial:m1738_3 | +| ir.cpp:1738:50:1738:50 | ChiTotal | total:m1738_2 | +| ir.cpp:1738:50:1738:50 | Load | m1738_6 | +| ir.cpp:1738:50:1738:50 | SideEffect | m1738_3 | +| ir.cpp:1738:50:1738:50 | SideEffect | m1738_8 | +| ir.cpp:1739:6:1739:6 | ChiPartial | partial:m1739_2 | +| ir.cpp:1739:6:1739:6 | ChiPartial | partial:m1739_5 | +| ir.cpp:1739:6:1739:6 | ChiTotal | total:m1737_16 | +| ir.cpp:1739:6:1739:6 | ChiTotal | total:m1739_3 | +| ir.cpp:1739:6:1739:6 | Load | ~m1732_10 | +| ir.cpp:1739:6:1739:6 | Load | ~m1732_14 | +| ir.cpp:1739:6:1739:6 | StoreValue | r1739_1 | +| ir.cpp:1739:6:1739:6 | StoreValue | r1739_4 | +| ir.cpp:1742:5:1742:21 | Address | &:r1742_5 | +| ir.cpp:1742:5:1742:21 | ChiPartial | partial:m1742_3 | +| ir.cpp:1742:5:1742:21 | ChiTotal | total:m1742_2 | +| ir.cpp:1742:5:1742:21 | Load | m1745_4 | +| ir.cpp:1742:5:1742:21 | SideEffect | m1742_3 | +| ir.cpp:1743:7:1743:7 | Address | &:r1743_1 | +| ir.cpp:1743:10:1743:12 | StoreValue | r1743_2 | +| ir.cpp:1745:3:1745:11 | Address | &:r1745_1 | +| ir.cpp:1745:10:1745:10 | Address | &:r1745_2 | +| ir.cpp:1745:10:1745:10 | Load | m1743_3 | +| ir.cpp:1745:10:1745:10 | StoreValue | r1745_3 | +| ir.cpp:1750:10:1750:10 | Address | &:r1750_5 | +| ir.cpp:1750:10:1750:10 | Address | &:r1750_5 | +| ir.cpp:1750:10:1750:10 | Address | &:r1750_7 | +| ir.cpp:1750:10:1750:10 | Address | &:r1750_7 | +| ir.cpp:1750:10:1750:10 | ChiPartial | partial:m1750_3 | +| ir.cpp:1750:10:1750:10 | ChiTotal | total:m1750_2 | +| ir.cpp:1750:10:1750:10 | Load | m1750_6 | +| ir.cpp:1750:10:1750:10 | SideEffect | m1750_3 | +| ir.cpp:1750:10:1750:10 | SideEffect | m1750_8 | +| ir.cpp:1751:14:1751:22 | Address | &:r1751_1 | +| ir.cpp:1751:25:1757:9 | Address | &:r1751_2 | +| ir.cpp:1751:25:1757:9 | Address | &:r1751_2 | +| ir.cpp:1751:25:1757:9 | Address | &:r1751_4 | +| ir.cpp:1751:25:1757:9 | Address | &:r1751_5 | +| ir.cpp:1751:25:1757:9 | Address | &:r1751_6 | +| ir.cpp:1751:25:1757:9 | Load | m1750_6 | +| ir.cpp:1751:25:1757:9 | Load | ~m1750_8 | +| ir.cpp:1751:25:1757:9 | Load | ~m1751_8 | +| ir.cpp:1751:25:1757:9 | StoreValue | r1751_7 | +| ir.cpp:1751:25:1757:9 | StoreValue | r1751_9 | +| ir.cpp:1751:25:1757:9 | Unary | r1751_2 | +| ir.cpp:1751:34:1751:34 | Address | &:r1751_5 | +| ir.cpp:1751:34:1751:34 | Address | &:r1751_5 | +| ir.cpp:1751:34:1751:34 | Address | &:r1751_7 | +| ir.cpp:1751:34:1751:34 | Address | &:r1751_7 | +| ir.cpp:1751:34:1751:34 | ChiPartial | partial:m1751_3 | +| ir.cpp:1751:34:1751:34 | ChiTotal | total:m1751_2 | +| ir.cpp:1751:34:1751:34 | Load | m1751_6 | +| ir.cpp:1751:34:1751:34 | SideEffect | m1751_8 | +| ir.cpp:1751:34:1751:34 | SideEffect | ~m1752_8 | +| ir.cpp:1752:13:1752:13 | Address | &:r1752_1 | +| ir.cpp:1752:13:1752:13 | Address | &:r1752_4 | +| ir.cpp:1752:13:1752:13 | Arg(this) | this:r1752_4 | +| ir.cpp:1752:13:1752:13 | CallTarget | func:r1752_5 | +| ir.cpp:1752:13:1752:13 | ChiPartial | partial:m1752_7 | +| ir.cpp:1752:13:1752:13 | ChiTotal | total:m1751_4 | +| ir.cpp:1752:13:1752:13 | Load | m1751_6 | +| ir.cpp:1752:13:1752:13 | SideEffect | ~m1751_4 | +| ir.cpp:1752:13:1752:13 | SideEffect | ~m1751_8 | +| ir.cpp:1752:13:1752:13 | Unary | r1752_2 | +| ir.cpp:1752:13:1752:13 | Unary | r1752_3 | +| ir.cpp:1754:18:1754:26 | Address | &:r1754_1 | +| ir.cpp:1754:29:1756:13 | Address | &:r1754_2 | +| ir.cpp:1754:29:1756:13 | Address | &:r1754_2 | +| ir.cpp:1754:29:1756:13 | Address | &:r1754_4 | +| ir.cpp:1754:29:1756:13 | Address | &:r1754_5 | +| ir.cpp:1754:29:1756:13 | Address | &:r1754_7 | +| ir.cpp:1754:29:1756:13 | Load | m1751_6 | +| ir.cpp:1754:29:1756:13 | Load | ~m1751_8 | +| ir.cpp:1754:29:1756:13 | Load | ~m1754_9 | +| ir.cpp:1754:29:1756:13 | StoreValue | r1754_8 | +| ir.cpp:1754:29:1756:13 | StoreValue | r1754_10 | +| ir.cpp:1754:29:1756:13 | Unary | r1754_2 | +| ir.cpp:1754:29:1756:13 | Unary | r1754_6 | +| ir.cpp:1754:38:1754:38 | Address | &:r1754_5 | +| ir.cpp:1754:38:1754:38 | Address | &:r1754_5 | +| ir.cpp:1754:38:1754:38 | Address | &:r1754_7 | +| ir.cpp:1754:38:1754:38 | Address | &:r1754_7 | +| ir.cpp:1754:38:1754:38 | ChiPartial | partial:m1754_3 | +| ir.cpp:1754:38:1754:38 | ChiTotal | total:m1754_2 | +| ir.cpp:1754:38:1754:38 | Load | m1754_6 | +| ir.cpp:1754:38:1754:38 | SideEffect | m1754_8 | +| ir.cpp:1754:38:1754:38 | SideEffect | ~m1755_8 | +| ir.cpp:1755:17:1755:17 | Address | &:r1755_1 | +| ir.cpp:1755:17:1755:17 | Address | &:r1755_4 | +| ir.cpp:1755:17:1755:17 | Arg(this) | this:r1755_4 | +| ir.cpp:1755:17:1755:17 | CallTarget | func:r1755_5 | +| ir.cpp:1755:17:1755:17 | ChiPartial | partial:m1755_7 | +| ir.cpp:1755:17:1755:17 | ChiTotal | total:m1754_4 | +| ir.cpp:1755:17:1755:17 | Load | m1754_6 | +| ir.cpp:1755:17:1755:17 | SideEffect | ~m1754_4 | +| ir.cpp:1755:17:1755:17 | SideEffect | ~m1754_8 | +| ir.cpp:1755:17:1755:17 | Unary | r1755_2 | +| ir.cpp:1755:17:1755:17 | Unary | r1755_3 | +| ir.cpp:1761:6:1761:21 | ChiPartial | partial:m1761_3 | +| ir.cpp:1761:6:1761:21 | ChiTotal | total:m1761_2 | +| ir.cpp:1761:6:1761:21 | SideEffect | m1761_3 | +| ir.cpp:1761:42:1761:43 | Address | &:r1761_5 | +| ir.cpp:1761:66:1761:67 | Address | &:r1761_7 | +| ir.cpp:1761:66:1761:67 | Address | &:r1761_7 | +| ir.cpp:1761:66:1761:67 | Address | &:r1761_9 | +| ir.cpp:1761:66:1761:67 | Address | &:r1761_9 | +| ir.cpp:1761:66:1761:67 | Load | m1761_8 | +| ir.cpp:1761:66:1761:67 | SideEffect | m1761_10 | +| ir.cpp:1761:91:1761:92 | Address | &:r1761_11 | +| ir.cpp:1761:91:1761:92 | Address | &:r1761_11 | +| ir.cpp:1761:91:1761:92 | Address | &:r1761_13 | +| ir.cpp:1761:91:1761:92 | Address | &:r1761_13 | +| ir.cpp:1761:91:1761:92 | Load | m1761_12 | +| ir.cpp:1761:91:1761:92 | SideEffect | m1761_14 | +| ir.cpp:1762:30:1762:31 | Address | &:r1762_1 | +| ir.cpp:1763:31:1763:32 | Address | &:r1763_1 | +| ir.cpp:1763:36:1763:55 | Address | &:r1763_2 | +| ir.cpp:1763:36:1763:55 | StoreValue | r1763_3 | +| ir.cpp:1763:36:1763:55 | StoreValue | r1763_6 | +| ir.cpp:1763:36:1763:55 | Unary | r1763_2 | +| ir.cpp:1763:36:1763:55 | Unary | r1763_5 | +| ir.cpp:1765:10:1765:17 | Address | &:r1765_1 | +| ir.cpp:1765:20:1767:5 | Address | &:r1765_2 | +| ir.cpp:1765:20:1767:5 | Address | &:r1765_2 | +| ir.cpp:1765:20:1767:5 | Address | &:r1765_4 | +| ir.cpp:1765:20:1767:5 | Address | &:r1765_5 | +| ir.cpp:1765:20:1767:5 | Address | &:r1765_9 | +| ir.cpp:1765:20:1767:5 | Address | &:r1765_10 | +| ir.cpp:1765:20:1767:5 | Address | &:r1765_11 | +| ir.cpp:1765:20:1767:5 | Address | &:r1765_12 | +| ir.cpp:1765:20:1767:5 | Address | &:r1765_13 | +| ir.cpp:1765:20:1767:5 | Address | &:r1765_14 | +| ir.cpp:1765:20:1767:5 | Address | &:r1765_15 | +| ir.cpp:1765:20:1767:5 | Address | &:r1765_16 | +| ir.cpp:1765:20:1767:5 | Address | &:r1765_20 | +| ir.cpp:1765:20:1767:5 | Address | &:r1765_21 | +| ir.cpp:1765:20:1767:5 | Address | &:r1765_22 | +| ir.cpp:1765:20:1767:5 | ChiPartial | partial:m1765_7 | +| ir.cpp:1765:20:1767:5 | ChiPartial | partial:m1765_18 | +| ir.cpp:1765:20:1767:5 | ChiTotal | total:m0_6 | +| ir.cpp:1765:20:1767:5 | ChiTotal | total:m1765_3 | +| ir.cpp:1765:20:1767:5 | Load | m0_9 | +| ir.cpp:1765:20:1767:5 | Load | m1761_6 | +| ir.cpp:1765:20:1767:5 | Load | m1761_8 | +| ir.cpp:1765:20:1767:5 | Load | m1761_12 | +| ir.cpp:1765:20:1767:5 | Load | m1762_2 | +| ir.cpp:1765:20:1767:5 | Load | m1763_7 | +| ir.cpp:1765:20:1767:5 | StoreValue | r1765_6 | +| ir.cpp:1765:20:1767:5 | StoreValue | r1765_17 | +| ir.cpp:1765:20:1767:5 | StoreValue | r1765_23 | +| ir.cpp:1765:20:1767:5 | Unary | r1765_2 | +| ir.cpp:1765:20:1767:5 | Unary | r1765_2 | +| ir.cpp:1765:20:1767:5 | Unary | r1765_2 | +| ir.cpp:1765:20:1767:5 | Unary | r1765_2 | +| ir.cpp:1765:20:1767:5 | Unary | r1765_2 | +| ir.cpp:1765:42:1765:42 | Address | &:r1765_5 | +| ir.cpp:1765:42:1765:42 | Address | &:r1765_5 | +| ir.cpp:1765:42:1765:42 | Address | &:r1765_7 | +| ir.cpp:1765:42:1765:42 | Address | &:r1765_7 | +| ir.cpp:1765:42:1765:42 | ChiPartial | partial:m1765_3 | +| ir.cpp:1765:42:1765:42 | ChiTotal | total:m1765_2 | +| ir.cpp:1765:42:1765:42 | Load | m1765_6 | +| ir.cpp:1765:42:1765:42 | SideEffect | m1765_3 | +| ir.cpp:1765:42:1765:42 | SideEffect | m1765_8 | +| ir.cpp:1766:14:1766:21 | Address | &:r1766_1 | +| ir.cpp:1766:24:1766:31 | Address | &:r1766_2 | +| ir.cpp:1766:24:1766:31 | Address | &:r1766_2 | +| ir.cpp:1766:24:1766:31 | Address | &:r1766_4 | +| ir.cpp:1766:24:1766:31 | Address | &:r1766_5 | +| ir.cpp:1766:24:1766:31 | Address | &:r1766_7 | +| ir.cpp:1766:24:1766:31 | Load | m1765_6 | +| ir.cpp:1766:24:1766:31 | Load | ~m1765_8 | +| ir.cpp:1766:24:1766:31 | Load | ~m1766_9 | +| ir.cpp:1766:24:1766:31 | StoreValue | r1766_8 | +| ir.cpp:1766:24:1766:31 | StoreValue | r1766_10 | +| ir.cpp:1766:24:1766:31 | Unary | r1766_2 | +| ir.cpp:1766:24:1766:31 | Unary | r1766_6 | +| ir.cpp:1766:30:1766:30 | Address | &:r1766_5 | +| ir.cpp:1766:30:1766:30 | Address | &:r1766_5 | +| ir.cpp:1766:30:1766:30 | Address | &:r1766_7 | +| ir.cpp:1766:30:1766:30 | Address | &:r1766_7 | +| ir.cpp:1766:30:1766:30 | ChiPartial | partial:m1766_3 | +| ir.cpp:1766:30:1766:30 | ChiTotal | total:m1766_2 | +| ir.cpp:1766:30:1766:30 | Load | m1766_6 | +| ir.cpp:1766:30:1766:30 | SideEffect | m1766_3 | +| ir.cpp:1766:30:1766:30 | SideEffect | m1766_8 | +| ir.cpp:1773:5:1773:44 | Address | &:r1773_5 | +| ir.cpp:1773:5:1773:44 | Address | &:r1773_5 | +| ir.cpp:1773:5:1773:44 | Address | &:r1773_7 | +| ir.cpp:1773:5:1773:44 | Address | &:r1773_7 | +| ir.cpp:1773:5:1773:44 | ChiPartial | partial:m1773_3 | +| ir.cpp:1773:5:1773:44 | ChiTotal | total:m1773_2 | +| ir.cpp:1773:5:1773:44 | Load | m1773_6 | +| ir.cpp:1773:5:1773:44 | SideEffect | m1773_3 | +| ir.cpp:1773:5:1773:44 | SideEffect | m1773_8 | +| ir.cpp:1774:5:1774:44 | Address | &:r1774_5 | +| ir.cpp:1774:5:1774:44 | Address | &:r1774_5 | +| ir.cpp:1774:5:1774:44 | Address | &:r1774_7 | +| ir.cpp:1774:5:1774:44 | Address | &:r1774_7 | +| ir.cpp:1774:5:1774:44 | ChiPartial | partial:m1774_3 | +| ir.cpp:1774:5:1774:44 | ChiTotal | total:m1774_2 | +| ir.cpp:1774:5:1774:44 | Load | m1774_6 | +| ir.cpp:1774:5:1774:44 | SideEffect | m1774_3 | +| ir.cpp:1774:5:1774:44 | SideEffect | m1775_10 | +| ir.cpp:1774:94:1774:94 | Address | &:r1774_9 | +| ir.cpp:1774:94:1774:94 | Address | &:r1774_9 | +| ir.cpp:1774:94:1774:94 | Address | &:r1774_11 | +| ir.cpp:1774:94:1774:94 | Address | &:r1774_11 | +| ir.cpp:1774:94:1774:94 | Load | m1774_10 | +| ir.cpp:1774:94:1774:94 | SideEffect | m1774_12 | +| ir.cpp:1775:9:1775:9 | Address | &:r1775_6 | +| ir.cpp:1775:9:1775:9 | Address | &:r1775_8 | +| ir.cpp:1775:9:1775:9 | Load | m1774_6 | +| ir.cpp:1775:9:1775:9 | Unary | r1775_7 | +| ir.cpp:1775:9:1775:15 | ChiPartial | partial:m1775_9 | +| ir.cpp:1775:9:1775:15 | ChiTotal | total:m1774_8 | +| ir.cpp:1775:13:1775:13 | Address | &:r1775_1 | +| ir.cpp:1775:13:1775:13 | Load | m1774_10 | +| ir.cpp:1775:13:1775:13 | Unary | r1775_2 | +| ir.cpp:1775:13:1775:13 | Unary | r1775_3 | +| ir.cpp:1775:15:1775:15 | Address | &:r1775_4 | +| ir.cpp:1775:15:1775:15 | Load | ~m1774_12 | +| ir.cpp:1775:15:1775:15 | StoreValue | r1775_5 | +| ir.cpp:1782:5:1782:39 | Address | &:r1782_5 | +| ir.cpp:1782:5:1782:39 | Address | &:r1782_5 | +| ir.cpp:1782:5:1782:39 | Address | &:r1782_7 | +| ir.cpp:1782:5:1782:39 | Address | &:r1782_7 | +| ir.cpp:1782:5:1782:39 | ChiPartial | partial:m1782_3 | +| ir.cpp:1782:5:1782:39 | ChiTotal | total:m1782_2 | +| ir.cpp:1782:5:1782:39 | Load | m1782_6 | +| ir.cpp:1782:5:1782:39 | SideEffect | m1782_3 | +| ir.cpp:1782:5:1782:39 | SideEffect | m1782_8 | +| ir.cpp:1785:7:1785:7 | Address | &:r1785_5 | +| ir.cpp:1785:7:1785:7 | Address | &:r1785_5 | +| ir.cpp:1785:7:1785:7 | Address | &:r1785_7 | +| ir.cpp:1785:7:1785:7 | Address | &:r1785_7 | +| ir.cpp:1785:7:1785:7 | Address | &:r1785_9 | +| ir.cpp:1785:7:1785:7 | Address | &:r1785_11 | +| ir.cpp:1785:7:1785:7 | Address | &:r1785_15 | +| ir.cpp:1785:7:1785:7 | Arg(0) | 0:r1785_15 | +| ir.cpp:1785:7:1785:7 | Arg(this) | this:r1785_9 | +| ir.cpp:1785:7:1785:7 | CallTarget | func:r1785_10 | +| ir.cpp:1785:7:1785:7 | ChiPartial | partial:m1785_3 | +| ir.cpp:1785:7:1785:7 | ChiPartial | partial:m1785_17 | +| ir.cpp:1785:7:1785:7 | ChiPartial | partial:m1785_20 | +| ir.cpp:1785:7:1785:7 | ChiTotal | total:m1785_2 | +| ir.cpp:1785:7:1785:7 | ChiTotal | total:m1785_4 | +| ir.cpp:1785:7:1785:7 | ChiTotal | total:m1785_8 | +| ir.cpp:1785:7:1785:7 | Load | m0_2 | +| ir.cpp:1785:7:1785:7 | Load | m1785_6 | +| ir.cpp:1785:7:1785:7 | SideEffect | m1785_21 | +| ir.cpp:1785:7:1785:7 | SideEffect | ~m0_4 | +| ir.cpp:1785:7:1785:7 | SideEffect | ~m1785_4 | +| ir.cpp:1785:7:1785:7 | SideEffect | ~m1785_18 | +| ir.cpp:1785:7:1785:7 | Unary | m1785_6 | +| ir.cpp:1785:7:1785:7 | Unary | r1785_12 | +| ir.cpp:1785:7:1785:7 | Unary | r1785_13 | +| ir.cpp:1785:7:1785:7 | Unary | r1785_14 | +| ir.cpp:1789:5:1789:38 | Address | &:r1789_5 | +| ir.cpp:1789:5:1789:38 | Address | &:r1789_5 | +| ir.cpp:1789:5:1789:38 | Address | &:r1789_7 | +| ir.cpp:1789:5:1789:38 | Address | &:r1789_7 | +| ir.cpp:1789:5:1789:38 | ChiPartial | partial:m1789_3 | +| ir.cpp:1789:5:1789:38 | ChiTotal | total:m1789_2 | +| ir.cpp:1789:5:1789:38 | Load | m1789_6 | +| ir.cpp:1789:5:1789:38 | SideEffect | m1789_22 | +| ir.cpp:1789:5:1789:38 | SideEffect | ~m1789_20 | +| ir.cpp:1789:5:1789:38 | Unary | m1789_6 | +| ir.cpp:1789:5:1789:38 | Unary | m1789_6 | +| ir.cpp:1789:42:1789:42 | Address | &:r1789_9 | +| ir.cpp:1789:42:1789:42 | Address | &:r1789_16 | +| ir.cpp:1789:42:1789:42 | Arg(this) | this:r1789_9 | +| ir.cpp:1789:42:1789:42 | Arg(this) | this:r1789_16 | +| ir.cpp:1789:42:1789:42 | CallTarget | func:r1789_10 | +| ir.cpp:1789:42:1789:42 | CallTarget | func:r1789_17 | +| ir.cpp:1789:42:1789:42 | ChiPartial | partial:m1789_12 | +| ir.cpp:1789:42:1789:42 | ChiPartial | partial:m1789_14 | +| ir.cpp:1789:42:1789:42 | ChiPartial | partial:m1789_19 | +| ir.cpp:1789:42:1789:42 | ChiPartial | partial:m1789_21 | +| ir.cpp:1789:42:1789:42 | ChiTotal | total:m1789_4 | +| ir.cpp:1789:42:1789:42 | ChiTotal | total:m1789_8 | +| ir.cpp:1789:42:1789:42 | ChiTotal | total:m1789_13 | +| ir.cpp:1789:42:1789:42 | ChiTotal | total:m1789_15 | +| ir.cpp:1789:42:1789:42 | SideEffect | ~m1789_4 | +| ir.cpp:1789:42:1789:42 | SideEffect | ~m1789_13 | +| ir.cpp:1792:7:1792:7 | Address | &:r1792_5 | +| ir.cpp:1792:7:1792:7 | Address | &:r1792_5 | +| ir.cpp:1792:7:1792:7 | Address | &:r1792_7 | +| ir.cpp:1792:7:1792:7 | Address | &:r1792_7 | +| ir.cpp:1792:7:1792:7 | Address | &:r1792_9 | +| ir.cpp:1792:7:1792:7 | Address | &:r1792_11 | +| ir.cpp:1792:7:1792:7 | Address | &:r1792_15 | +| ir.cpp:1792:7:1792:7 | Arg(0) | 0:r1792_15 | +| ir.cpp:1792:7:1792:7 | Arg(this) | this:r1792_9 | +| ir.cpp:1792:7:1792:7 | CallTarget | func:r1792_10 | +| ir.cpp:1792:7:1792:7 | ChiPartial | partial:m1792_3 | +| ir.cpp:1792:7:1792:7 | ChiPartial | partial:m1792_17 | +| ir.cpp:1792:7:1792:7 | ChiPartial | partial:m1792_20 | +| ir.cpp:1792:7:1792:7 | ChiTotal | total:m1792_2 | +| ir.cpp:1792:7:1792:7 | ChiTotal | total:m1792_4 | +| ir.cpp:1792:7:1792:7 | ChiTotal | total:m1792_18 | +| ir.cpp:1792:7:1792:7 | Load | m0_2 | +| ir.cpp:1792:7:1792:7 | Load | m1792_6 | +| ir.cpp:1792:7:1792:7 | SideEffect | m1792_8 | +| ir.cpp:1792:7:1792:7 | SideEffect | ~m0_4 | +| ir.cpp:1792:7:1792:7 | SideEffect | ~m1792_4 | +| ir.cpp:1792:7:1792:7 | SideEffect | ~m1792_21 | +| ir.cpp:1792:7:1792:7 | Unary | m1792_6 | +| ir.cpp:1792:7:1792:7 | Unary | r1792_12 | +| ir.cpp:1792:7:1792:7 | Unary | r1792_13 | +| ir.cpp:1792:7:1792:7 | Unary | r1792_14 | +| ir.cpp:1796:5:1796:35 | Address | &:r1796_5 | +| ir.cpp:1796:5:1796:35 | Address | &:r1796_5 | +| ir.cpp:1796:5:1796:35 | Address | &:r1796_7 | +| ir.cpp:1796:5:1796:35 | Address | &:r1796_7 | +| ir.cpp:1796:5:1796:35 | ChiPartial | partial:m1796_3 | +| ir.cpp:1796:5:1796:35 | ChiTotal | total:m1796_2 | +| ir.cpp:1796:5:1796:35 | Load | m1796_6 | +| ir.cpp:1796:5:1796:35 | SideEffect | m1796_8 | +| ir.cpp:1796:5:1796:35 | SideEffect | ~m1796_22 | +| ir.cpp:1796:5:1796:35 | Unary | m1796_6 | +| ir.cpp:1796:5:1796:35 | Unary | m1796_6 | +| ir.cpp:1796:39:1796:39 | Address | &:r1796_9 | +| ir.cpp:1796:39:1796:39 | Address | &:r1796_16 | +| ir.cpp:1796:39:1796:39 | Arg(this) | this:r1796_9 | +| ir.cpp:1796:39:1796:39 | Arg(this) | this:r1796_16 | +| ir.cpp:1796:39:1796:39 | CallTarget | func:r1796_10 | +| ir.cpp:1796:39:1796:39 | CallTarget | func:r1796_17 | +| ir.cpp:1796:39:1796:39 | ChiPartial | partial:m1796_12 | +| ir.cpp:1796:39:1796:39 | ChiPartial | partial:m1796_14 | +| ir.cpp:1796:39:1796:39 | ChiPartial | partial:m1796_19 | +| ir.cpp:1796:39:1796:39 | ChiPartial | partial:m1796_21 | +| ir.cpp:1796:39:1796:39 | ChiTotal | total:m1796_4 | +| ir.cpp:1796:39:1796:39 | ChiTotal | total:m1796_13 | +| ir.cpp:1796:39:1796:39 | ChiTotal | total:m1796_15 | +| ir.cpp:1796:39:1796:39 | ChiTotal | total:m1796_20 | +| ir.cpp:1796:39:1796:39 | SideEffect | ~m1796_4 | +| ir.cpp:1796:39:1796:39 | SideEffect | ~m1796_15 | +| ir.cpp:1799:5:1799:34 | Address | &:r1799_5 | +| ir.cpp:1799:5:1799:34 | ChiPartial | partial:m1799_3 | +| ir.cpp:1799:5:1799:34 | ChiTotal | total:m1799_2 | +| ir.cpp:1799:5:1799:34 | Load | m1804_2 | +| ir.cpp:1799:5:1799:34 | SideEffect | ~m1803_10 | +| ir.cpp:1800:51:1800:51 | Address | &:r1800_1 | +| ir.cpp:1800:51:1800:51 | Address | &:r1800_1 | +| ir.cpp:1800:51:1800:51 | Address | &:r1800_3 | +| ir.cpp:1800:51:1800:51 | Address | &:r1800_3 | +| ir.cpp:1800:51:1800:51 | Load | m1800_2 | +| ir.cpp:1800:51:1800:51 | SideEffect | m1800_4 | +| ir.cpp:1801:48:1801:48 | Address | &:r1801_1 | +| ir.cpp:1801:48:1801:48 | Address | &:r1801_1 | +| ir.cpp:1801:48:1801:48 | Address | &:r1801_3 | +| ir.cpp:1801:48:1801:48 | Address | &:r1801_3 | +| ir.cpp:1801:48:1801:48 | Load | m1801_2 | +| ir.cpp:1801:48:1801:48 | SideEffect | m1801_4 | +| ir.cpp:1802:40:1802:41 | Address | &:r1802_1 | +| ir.cpp:1802:40:1802:41 | Address | &:r1802_1 | +| ir.cpp:1802:40:1802:41 | Arg(this) | this:r1802_1 | +| ir.cpp:1802:44:1802:45 | CallTarget | func:r1802_3 | +| ir.cpp:1802:44:1802:45 | ChiPartial | partial:m1802_9 | +| ir.cpp:1802:44:1802:45 | ChiPartial | partial:m1802_12 | +| ir.cpp:1802:44:1802:45 | ChiTotal | total:m1799_4 | +| ir.cpp:1802:44:1802:45 | ChiTotal | total:m1802_2 | +| ir.cpp:1802:44:1802:45 | SideEffect | ~m1799_4 | +| ir.cpp:1802:45:1802:45 | Address | &:r1802_4 | +| ir.cpp:1802:45:1802:45 | Address | &:r1802_7 | +| ir.cpp:1802:45:1802:45 | Arg(0) | 0:r1802_7 | +| ir.cpp:1802:45:1802:45 | Load | m1800_2 | +| ir.cpp:1802:45:1802:45 | SideEffect | ~m1800_4 | +| ir.cpp:1802:45:1802:45 | Unary | r1802_5 | +| ir.cpp:1802:45:1802:45 | Unary | r1802_6 | +| ir.cpp:1803:37:1803:38 | Address | &:r1803_1 | +| ir.cpp:1803:37:1803:38 | Address | &:r1803_1 | +| ir.cpp:1803:37:1803:38 | Arg(this) | this:r1803_1 | +| ir.cpp:1803:41:1803:42 | CallTarget | func:r1803_3 | +| ir.cpp:1803:41:1803:42 | ChiPartial | partial:m1803_9 | +| ir.cpp:1803:41:1803:42 | ChiPartial | partial:m1803_12 | +| ir.cpp:1803:41:1803:42 | ChiTotal | total:m1802_10 | +| ir.cpp:1803:41:1803:42 | ChiTotal | total:m1803_2 | +| ir.cpp:1803:41:1803:42 | SideEffect | ~m1802_10 | +| ir.cpp:1803:42:1803:42 | Address | &:r1803_4 | +| ir.cpp:1803:42:1803:42 | Address | &:r1803_7 | +| ir.cpp:1803:42:1803:42 | Arg(0) | 0:r1803_7 | +| ir.cpp:1803:42:1803:42 | Load | m1801_2 | +| ir.cpp:1803:42:1803:42 | SideEffect | ~m1801_4 | +| ir.cpp:1803:42:1803:42 | Unary | r1803_5 | +| ir.cpp:1803:42:1803:42 | Unary | r1803_6 | +| ir.cpp:1804:1:1804:1 | Address | &:r1804_1 | +| ir.cpp:1806:6:1806:22 | ChiPartial | partial:m1806_3 | +| ir.cpp:1806:6:1806:22 | ChiTotal | total:m1806_2 | +| ir.cpp:1806:6:1806:22 | SideEffect | m1806_3 | +| ir.cpp:1806:28:1806:28 | Address | &:r1806_5 | +| ir.cpp:1807:13:1807:13 | Address | &:r1807_1 | +| ir.cpp:1807:17:1807:17 | Address | &:r1807_2 | +| ir.cpp:1807:17:1807:17 | Load | m1806_6 | +| ir.cpp:1807:17:1807:17 | StoreValue | r1807_3 | +| ir.cpp:1807:20:1807:20 | Address | &:r1807_5 | +| ir.cpp:1807:20:1807:20 | Left | r1807_6 | +| ir.cpp:1807:20:1807:20 | Load | m1806_6 | +| ir.cpp:1807:20:1807:24 | Condition | r1807_10 | +| ir.cpp:1807:20:1807:24 | Left | r1807_8 | +| ir.cpp:1807:20:1807:24 | Right | r1807_9 | +| ir.cpp:1807:24:1807:24 | Right | r1807_7 | +| ir.cpp:1808:9:1808:9 | Address | &:r1808_6 | +| ir.cpp:1808:13:1808:13 | Address | &:r1808_1 | +| ir.cpp:1808:13:1808:13 | Left | r1808_2 | +| ir.cpp:1808:13:1808:13 | Load | m1806_6 | +| ir.cpp:1808:13:1808:17 | StoreValue | r1808_5 | +| ir.cpp:1808:17:1808:17 | Address | &:r1808_3 | +| ir.cpp:1808:17:1808:17 | Load | m1807_4 | +| ir.cpp:1808:17:1808:17 | Right | r1808_4 | +| ir.cpp:1811:9:1811:9 | Address | &:r1811_2 | +| ir.cpp:1811:9:1811:9 | Phi | from 0:m1806_6 | +| ir.cpp:1811:9:1811:9 | Phi | from 1:m1808_7 | +| ir.cpp:1812:9:1812:9 | Address | &:r1812_3 | | ir.cpp:1812:13:1812:13 | Address | &:r1812_1 | -| ir.cpp:1812:13:1812:13 | Left | r1812_2 | -| ir.cpp:1812:13:1812:13 | Load | m1806_7 | -| ir.cpp:1812:13:1812:17 | StoreValue | r1812_5 | -| ir.cpp:1812:17:1812:17 | Address | &:r1812_3 | -| ir.cpp:1812:17:1812:17 | Load | m1809_4 | -| ir.cpp:1812:17:1812:17 | Right | r1812_4 | -| ir.cpp:1815:13:1815:22 | Address | &:r1815_1 | -| ir.cpp:1815:13:1815:22 | Condition | r1815_7 | -| ir.cpp:1815:17:1815:18 | Address | &:r1815_5 | -| ir.cpp:1815:17:1815:18 | Load | m1815_4 | -| ir.cpp:1815:17:1815:18 | Unary | r1815_6 | -| ir.cpp:1815:22:1815:22 | Address | &:r1815_2 | -| ir.cpp:1815:22:1815:22 | Load | m1809_4 | -| ir.cpp:1815:22:1815:22 | StoreValue | r1815_3 | -| ir.cpp:1817:9:1817:9 | Address | &:r1817_3 | -| ir.cpp:1817:9:1817:9 | Address | &:r1817_3 | -| ir.cpp:1817:9:1817:9 | Left | r1817_4 | -| ir.cpp:1817:9:1817:9 | Load | m1812_7 | -| ir.cpp:1817:9:1817:15 | StoreValue | r1817_5 | -| ir.cpp:1817:14:1817:15 | Address | &:r1817_1 | -| ir.cpp:1817:14:1817:15 | Load | m1815_4 | -| ir.cpp:1817:14:1817:15 | Right | r1817_2 | -| ir.cpp:1823:5:1823:12 | Address | &:r1823_3 | -| ir.cpp:1823:5:1823:12 | SideEffect | ~m1823_6 | -| ir.cpp:1823:16:1823:16 | ChiPartial | partial:m1823_5 | -| ir.cpp:1823:16:1823:16 | ChiTotal | total:m1823_2 | -| ir.cpp:1823:16:1823:16 | StoreValue | r1823_4 | -| ir.cpp:1827:18:1827:25 | Address | &:r1827_3 | -| ir.cpp:1827:18:1827:25 | Arg(this) | this:r1827_3 | -| ir.cpp:1827:18:1827:25 | SideEffect | ~m1827_10 | -| ir.cpp:1827:27:1827:27 | Arg(0) | 0:r1827_5 | -| ir.cpp:1827:27:1827:28 | CallTarget | func:r1827_4 | -| ir.cpp:1827:27:1827:28 | ChiPartial | partial:m1827_7 | -| ir.cpp:1827:27:1827:28 | ChiPartial | partial:m1827_9 | -| ir.cpp:1827:27:1827:28 | ChiTotal | total:m1827_2 | -| ir.cpp:1827:27:1827:28 | ChiTotal | total:m1827_8 | -| ir.cpp:1827:27:1827:28 | SideEffect | ~m1827_2 | -| ir.cpp:1829:18:1829:25 | Address | &:r1829_3 | -| ir.cpp:1829:18:1829:25 | Arg(this) | this:r1829_3 | -| ir.cpp:1829:18:1829:25 | SideEffect | ~m1829_10 | -| ir.cpp:1829:28:1829:47 | CallTarget | func:r1829_4 | -| ir.cpp:1829:28:1829:47 | ChiPartial | partial:m1829_7 | -| ir.cpp:1829:28:1829:47 | ChiPartial | partial:m1829_9 | -| ir.cpp:1829:28:1829:47 | ChiTotal | total:m1829_2 | -| ir.cpp:1829:28:1829:47 | ChiTotal | total:m1829_8 | -| ir.cpp:1829:28:1829:47 | SideEffect | ~m1829_2 | -| ir.cpp:1829:46:1829:46 | Arg(0) | 0:r1829_5 | -| ir.cpp:1831:7:1831:19 | Address | &:r1831_3 | -| ir.cpp:1831:7:1831:19 | SideEffect | ~m1831_8 | -| ir.cpp:1831:23:1831:37 | ChiPartial | partial:m1831_7 | -| ir.cpp:1831:23:1831:37 | ChiTotal | total:m1831_2 | -| ir.cpp:1831:23:1831:37 | StoreValue | r1831_6 | -| ir.cpp:1831:23:1831:37 | Unary | r1831_4 | -| ir.cpp:1831:23:1831:37 | Unary | r1831_5 | -| ir.cpp:1833:5:1833:12 | Address | &:r1833_3 | -| ir.cpp:1833:5:1833:12 | SideEffect | ~m1833_7 | -| ir.cpp:1833:16:1833:23 | Address | &:r1833_4 | -| ir.cpp:1833:16:1833:23 | ChiPartial | partial:m1833_6 | -| ir.cpp:1833:16:1833:23 | ChiTotal | total:m1833_2 | -| ir.cpp:1833:16:1833:23 | Load | ~m1833_2 | -| ir.cpp:1833:16:1833:23 | StoreValue | r1833_5 | -| ir.cpp:1836:11:1836:11 | Address | &:r1836_5 | -| ir.cpp:1836:11:1836:11 | Address | &:r1836_5 | -| ir.cpp:1836:11:1836:11 | Address | &:r1836_7 | -| ir.cpp:1836:11:1836:11 | Address | &:r1836_7 | -| ir.cpp:1836:11:1836:11 | Address | &:r1836_10 | -| ir.cpp:1836:11:1836:11 | ChiPartial | partial:m1836_3 | -| ir.cpp:1836:11:1836:11 | ChiTotal | total:m1836_2 | -| ir.cpp:1836:11:1836:11 | Load | m0_20 | -| ir.cpp:1836:11:1836:11 | Load | m1836_6 | -| ir.cpp:1836:11:1836:11 | SideEffect | m0_14 | -| ir.cpp:1836:11:1836:11 | SideEffect | m1836_3 | -| ir.cpp:1841:12:1841:12 | Address | &:r1841_5 | -| ir.cpp:1841:12:1841:12 | Address | &:r1841_5 | -| ir.cpp:1841:12:1841:12 | Address | &:r1841_7 | -| ir.cpp:1841:12:1841:12 | Address | &:r1841_7 | -| ir.cpp:1841:12:1841:12 | Address | &:r1841_9 | -| ir.cpp:1841:12:1841:12 | Address | &:r1841_12 | -| ir.cpp:1841:12:1841:12 | Address | &:r1841_20 | -| ir.cpp:1841:12:1841:12 | Arg(this) | this:r0_5 | -| ir.cpp:1841:12:1841:12 | CallTarget | func:r1841_11 | -| ir.cpp:1841:12:1841:12 | ChiPartial | partial:m1841_3 | -| ir.cpp:1841:12:1841:12 | ChiPartial | partial:m1841_17 | -| ir.cpp:1841:12:1841:12 | ChiTotal | total:m1841_2 | -| ir.cpp:1841:12:1841:12 | ChiTotal | total:m1841_4 | -| ir.cpp:1841:12:1841:12 | Load | m0_2 | -| ir.cpp:1841:12:1841:12 | Load | m0_21 | -| ir.cpp:1841:12:1841:12 | Load | m1841_6 | -| ir.cpp:1841:12:1841:12 | Load | m1841_6 | -| ir.cpp:1841:12:1841:12 | SideEffect | m0_12 | -| ir.cpp:1841:12:1841:12 | SideEffect | ~m1841_4 | -| ir.cpp:1841:12:1841:12 | SideEffect | ~m1841_18 | -| ir.cpp:1841:12:1841:12 | Unary | r1841_10 | -| ir.cpp:1841:12:1841:12 | Unary | r1841_13 | -| ir.cpp:1841:12:1841:12 | Unary | r1841_14 | -| ir.cpp:1841:12:1841:12 | Unary | r1841_15 | -| ir.cpp:1841:12:1841:12 | Unary | r1841_16 | -| ir.cpp:1845:10:1845:12 | ChiPartial | partial:m1845_3 | -| ir.cpp:1845:10:1845:12 | ChiTotal | total:m1845_2 | -| ir.cpp:1845:10:1845:12 | SideEffect | ~m1847_18 | -| ir.cpp:1846:11:1846:11 | Address | &:r1846_1 | -| ir.cpp:1846:11:1846:11 | Address | &:r1846_1 | -| ir.cpp:1846:11:1846:11 | Arg(this) | this:r1846_1 | -| ir.cpp:1846:13:1846:13 | Address | &:r1846_4 | -| ir.cpp:1846:13:1846:13 | Address | &:r1846_4 | -| ir.cpp:1846:13:1846:13 | Arg(0) | 0:r1846_4 | -| ir.cpp:1846:13:1846:13 | ChiPartial | partial:m1846_11 | -| ir.cpp:1846:13:1846:13 | ChiTotal | total:m1846_7 | -| ir.cpp:1846:13:1846:13 | SideEffect | ~m1846_7 | -| ir.cpp:1846:13:1846:14 | CallTarget | func:r1846_3 | -| ir.cpp:1846:13:1846:14 | ChiPartial | partial:m1846_6 | -| ir.cpp:1846:13:1846:14 | ChiPartial | partial:m1846_9 | -| ir.cpp:1846:13:1846:14 | ChiTotal | total:m1845_4 | -| ir.cpp:1846:13:1846:14 | ChiTotal | total:m1846_2 | -| ir.cpp:1846:13:1846:14 | SideEffect | ~m1845_4 | -| ir.cpp:1847:9:1847:9 | Address | &:r1847_1 | -| ir.cpp:1847:9:1847:9 | Address | &:r1847_1 | -| ir.cpp:1847:9:1847:9 | Arg(this) | this:r1847_1 | -| ir.cpp:1847:9:1847:9 | ChiPartial | partial:m1847_21 | -| ir.cpp:1847:9:1847:9 | ChiTotal | total:m1846_10 | -| ir.cpp:1847:9:1847:9 | SideEffect | m1846_10 | -| ir.cpp:1847:11:1847:11 | CallTarget | func:r1847_2 | -| ir.cpp:1847:11:1847:11 | ChiPartial | partial:m1847_17 | -| ir.cpp:1847:11:1847:11 | ChiTotal | total:m1847_14 | -| ir.cpp:1847:11:1847:11 | SideEffect | ~m1847_14 | -| ir.cpp:1847:11:1847:11 | Unary | r1847_16 | -| ir.cpp:1847:13:1847:13 | Address | &:r1847_3 | -| ir.cpp:1847:13:1847:13 | Address | &:r1847_3 | -| ir.cpp:1847:13:1847:13 | Address | &:r1847_6 | -| ir.cpp:1847:13:1847:13 | Address | &:r1847_6 | -| ir.cpp:1847:13:1847:13 | Address | &:r1847_15 | -| ir.cpp:1847:13:1847:13 | Address | &:r1847_15 | -| ir.cpp:1847:13:1847:13 | Arg(0) | 0:r1847_6 | -| ir.cpp:1847:13:1847:13 | Arg(0) | 0:r1847_15 | -| ir.cpp:1847:13:1847:13 | Arg(this) | this:r1847_3 | -| ir.cpp:1847:13:1847:13 | CallTarget | func:r1847_5 | -| ir.cpp:1847:13:1847:13 | ChiPartial | partial:m1847_8 | -| ir.cpp:1847:13:1847:13 | ChiPartial | partial:m1847_11 | -| ir.cpp:1847:13:1847:13 | ChiPartial | partial:m1847_13 | -| ir.cpp:1847:13:1847:13 | ChiPartial | partial:m1847_23 | -| ir.cpp:1847:13:1847:13 | ChiTotal | total:m1846_12 | -| ir.cpp:1847:13:1847:13 | ChiTotal | total:m1847_4 | -| ir.cpp:1847:13:1847:13 | ChiTotal | total:m1847_9 | -| ir.cpp:1847:13:1847:13 | ChiTotal | total:m1847_12 | -| ir.cpp:1847:13:1847:13 | SideEffect | ~m1846_12 | -| ir.cpp:1847:13:1847:13 | SideEffect | ~m1847_9 | -| ir.cpp:1847:13:1847:13 | SideEffect | ~m1847_12 | -| ir.cpp:1847:13:1847:13 | Unary | r1847_3 | -| ir.cpp:1851:6:1851:14 | ChiPartial | partial:m1851_3 | -| ir.cpp:1851:6:1851:14 | ChiTotal | total:m1851_2 | -| ir.cpp:1851:6:1851:14 | SideEffect | m1851_3 | -| ir.cpp:1852:17:1852:18 | Address | &:r1852_1 | -| ir.cpp:1852:22:1852:40 | StoreValue | r1852_3 | -| ir.cpp:1852:22:1852:40 | Unary | r1852_2 | -| ir.cpp:1853:17:1853:23 | Address | &:r1853_1 | -| ir.cpp:1853:27:1853:34 | StoreValue | r1853_3 | -| ir.cpp:1853:27:1853:34 | Unary | r1853_2 | -| ir.cpp:1864:15:1864:15 | Address | &:r1864_5 | -| ir.cpp:1864:15:1864:15 | Address | &:r1864_5 | -| ir.cpp:1864:15:1864:15 | Address | &:r1864_7 | -| ir.cpp:1864:15:1864:15 | Address | &:r1864_7 | -| ir.cpp:1864:15:1864:15 | Address | &:r1864_15 | -| ir.cpp:1864:15:1864:15 | ChiPartial | partial:m1864_3 | -| ir.cpp:1864:15:1864:15 | ChiTotal | total:m1864_2 | -| ir.cpp:1864:15:1864:15 | Load | m1864_6 | -| ir.cpp:1864:15:1864:15 | Load | m1866_5 | -| ir.cpp:1864:15:1864:15 | SideEffect | m1864_3 | -| ir.cpp:1864:15:1864:15 | SideEffect | m1864_8 | -| ir.cpp:1864:47:1864:47 | Address | &:r1864_9 | -| ir.cpp:1864:47:1864:47 | Address | &:r1864_9 | -| ir.cpp:1864:47:1864:47 | Address | &:r1864_11 | -| ir.cpp:1864:47:1864:47 | Address | &:r1864_11 | -| ir.cpp:1864:47:1864:47 | Load | m1864_10 | -| ir.cpp:1864:47:1864:47 | SideEffect | m1864_12 | -| ir.cpp:1866:13:1866:21 | Address | &:r1866_1 | -| ir.cpp:1866:20:1866:20 | Address | &:r1866_2 | -| ir.cpp:1866:20:1866:20 | Load | m1864_10 | -| ir.cpp:1866:20:1866:20 | StoreValue | r1866_4 | -| ir.cpp:1866:20:1866:20 | Unary | r1866_3 | -| ir.cpp:1870:10:1870:14 | ChiPartial | partial:m1870_3 | -| ir.cpp:1870:10:1870:14 | ChiTotal | total:m1870_2 | -| ir.cpp:1870:10:1870:14 | SideEffect | ~m1872_12 | -| ir.cpp:1871:19:1871:19 | Address | &:r1871_1 | -| ir.cpp:1872:9:1872:9 | Address | &:r1872_1 | -| ir.cpp:1872:9:1872:9 | Address | &:r1872_1 | -| ir.cpp:1872:9:1872:9 | Arg(this) | this:r1872_1 | -| ir.cpp:1872:9:1872:9 | ChiPartial | partial:m1872_9 | -| ir.cpp:1872:9:1872:9 | ChiTotal | total:m1871_2 | -| ir.cpp:1872:9:1872:9 | SideEffect | m1871_2 | -| ir.cpp:1872:11:1872:33 | CallTarget | func:r1872_2 | -| ir.cpp:1872:11:1872:33 | ChiPartial | partial:m1872_5 | -| ir.cpp:1872:11:1872:33 | ChiTotal | total:m1870_4 | -| ir.cpp:1872:11:1872:33 | SideEffect | ~m1870_4 | -| ir.cpp:1872:35:1872:41 | Address | &:r1872_3 | -| ir.cpp:1872:35:1872:41 | Address | &:r1872_3 | -| ir.cpp:1872:35:1872:41 | Arg(0) | 0:r1872_3 | -| ir.cpp:1872:35:1872:41 | ChiPartial | partial:m1872_11 | -| ir.cpp:1872:35:1872:41 | ChiTotal | total:m1872_6 | -| ir.cpp:1872:35:1872:41 | SideEffect | ~m1872_6 | -| ir.cpp:1877:13:1877:13 | Address | &:r1877_5 | -| ir.cpp:1877:13:1877:13 | Address | &:r1877_5 | -| ir.cpp:1877:13:1877:13 | Address | &:r1877_7 | -| ir.cpp:1877:13:1877:13 | Address | &:r1877_7 | -| ir.cpp:1877:13:1877:13 | Address | &:r1877_10 | -| ir.cpp:1877:13:1877:13 | ChiPartial | partial:m1877_3 | -| ir.cpp:1877:13:1877:13 | ChiTotal | total:m1877_2 | -| ir.cpp:1877:13:1877:13 | Load | m1877_6 | -| ir.cpp:1877:13:1877:13 | Load | m1881_9 | -| ir.cpp:1877:13:1877:13 | SideEffect | m1877_3 | -| ir.cpp:1877:13:1877:13 | SideEffect | m1877_8 | -| ir.cpp:1878:13:1878:29 | Address | &:r1878_1 | -| ir.cpp:1878:13:1878:29 | Address | &:r1878_3 | -| ir.cpp:1879:13:1879:14 | Address | &:r1879_4 | -| ir.cpp:1879:13:1879:19 | ChiPartial | partial:m1879_5 | -| ir.cpp:1879:13:1879:19 | ChiTotal | total:m1878_2 | -| ir.cpp:1879:14:1879:14 | Unary | r1879_2 | -| ir.cpp:1879:14:1879:14 | Unary | r1879_3 | -| ir.cpp:1879:18:1879:19 | StoreValue | r1879_1 | -| ir.cpp:1880:13:1880:14 | Address | &:r1880_4 | -| ir.cpp:1880:13:1880:19 | ChiPartial | partial:m1880_5 | -| ir.cpp:1880:13:1880:19 | ChiTotal | total:m1878_4 | -| ir.cpp:1880:14:1880:14 | Unary | r1880_2 | -| ir.cpp:1880:14:1880:14 | Unary | r1880_3 | -| ir.cpp:1880:18:1880:19 | StoreValue | r1880_1 | -| ir.cpp:1881:13:1881:27 | Address | &:r1881_1 | -| ir.cpp:1881:20:1881:21 | Left | r1881_4 | -| ir.cpp:1881:20:1881:21 | Load | m1879_5 | -| ir.cpp:1881:20:1881:26 | StoreValue | r1881_8 | -| ir.cpp:1881:21:1881:21 | Address | &:r1881_3 | -| ir.cpp:1881:21:1881:21 | Unary | r1881_2 | -| ir.cpp:1881:25:1881:26 | Load | m1880_5 | -| ir.cpp:1881:25:1881:26 | Right | r1881_7 | -| ir.cpp:1881:26:1881:26 | Address | &:r1881_6 | -| ir.cpp:1881:26:1881:26 | Unary | r1881_5 | -| ir.cpp:1885:10:1885:14 | ChiPartial | partial:m1885_3 | -| ir.cpp:1885:10:1885:14 | ChiTotal | total:m1885_2 | -| ir.cpp:1885:10:1885:14 | SideEffect | ~m1887_5 | -| ir.cpp:1886:19:1886:19 | Address | &:r1886_1 | -| ir.cpp:1887:9:1887:9 | Address | &:r1887_1 | -| ir.cpp:1887:9:1887:9 | Address | &:r1887_1 | -| ir.cpp:1887:9:1887:9 | Arg(this) | this:r1887_1 | -| ir.cpp:1887:9:1887:9 | ChiPartial | partial:m1887_7 | -| ir.cpp:1887:9:1887:9 | ChiTotal | total:m1886_2 | -| ir.cpp:1887:9:1887:9 | SideEffect | m1886_2 | -| ir.cpp:1887:11:1887:50 | CallTarget | func:r1887_2 | -| ir.cpp:1887:11:1887:50 | ChiPartial | partial:m1887_4 | -| ir.cpp:1887:11:1887:50 | ChiTotal | total:m1885_4 | -| ir.cpp:1887:11:1887:50 | SideEffect | ~m1885_4 | -| ir.cpp:1891:24:1891:24 | Address | &:r1891_3 | -| ir.cpp:1891:24:1891:24 | Address | &:r1891_3 | -| ir.cpp:1891:24:1891:24 | SideEffect | ~m1891_6 | -| ir.cpp:1891:24:1891:24 | SideEffect | ~m1891_6 | -| ir.cpp:1891:42:1891:43 | ChiPartial | partial:m1891_5 | -| ir.cpp:1891:42:1891:43 | ChiPartial | partial:m1891_5 | -| ir.cpp:1891:42:1891:43 | ChiTotal | total:m1891_2 | -| ir.cpp:1891:42:1891:43 | ChiTotal | total:m1891_2 | -| ir.cpp:1891:42:1891:43 | StoreValue | r1891_4 | -| ir.cpp:1891:42:1891:43 | StoreValue | r1891_4 | -| ir.cpp:1893:5:1893:28 | Address | &:r1893_5 | -| ir.cpp:1893:5:1893:28 | ChiPartial | partial:m1893_3 | -| ir.cpp:1893:5:1893:28 | ChiTotal | total:m1893_2 | -| ir.cpp:1893:5:1893:28 | Load | m1896_8 | -| ir.cpp:1893:5:1893:28 | SideEffect | m1893_3 | -| ir.cpp:1894:9:1894:17 | Address | &:r1894_1 | -| ir.cpp:1894:21:1894:40 | Address | &:r1894_2 | -| ir.cpp:1894:21:1894:40 | Load | ~m1893_3 | -| ir.cpp:1894:21:1894:40 | StoreValue | r1894_3 | -| ir.cpp:1895:10:1895:19 | Address | &:r1895_1 | -| ir.cpp:1895:23:1895:43 | Address | &:r1895_2 | -| ir.cpp:1895:23:1895:43 | Load | ~m1893_3 | -| ir.cpp:1895:23:1895:43 | StoreValue | r1895_3 | -| ir.cpp:1896:5:1896:39 | Address | &:r1896_1 | -| ir.cpp:1896:12:1896:20 | Address | &:r1896_2 | -| ir.cpp:1896:12:1896:20 | Left | r1896_3 | -| ir.cpp:1896:12:1896:20 | Load | m1894_4 | -| ir.cpp:1896:12:1896:38 | StoreValue | r1896_7 | -| ir.cpp:1896:24:1896:38 | Right | r1896_6 | -| ir.cpp:1896:29:1896:38 | Address | &:r1896_4 | -| ir.cpp:1896:29:1896:38 | Load | m1895_4 | -| ir.cpp:1896:29:1896:38 | Unary | r1896_5 | -| ir.cpp:1901:5:1901:16 | Address | &:r1901_7 | -| ir.cpp:1901:5:1901:16 | ChiPartial | partial:m1901_3 | -| ir.cpp:1901:5:1901:16 | ChiTotal | total:m1901_2 | -| ir.cpp:1901:5:1901:16 | Load | m1903_4 | -| ir.cpp:1901:5:1901:16 | SideEffect | m1901_3 | -| ir.cpp:1901:22:1901:22 | Address | &:r1901_5 | -| ir.cpp:1902:9:1902:9 | Address | &:r1902_1 | -| ir.cpp:1902:9:1902:9 | Left | r1902_2 | -| ir.cpp:1902:9:1902:9 | Load | m1901_6 | -| ir.cpp:1902:9:1902:14 | Condition | r1902_4 | -| ir.cpp:1902:13:1902:14 | Right | r1902_3 | -| ir.cpp:1903:9:1903:17 | Address | &:r1903_1 | -| ir.cpp:1903:16:1903:16 | Address | &:r1903_2 | -| ir.cpp:1903:16:1903:16 | Load | m1901_6 | -| ir.cpp:1903:16:1903:16 | StoreValue | r1903_3 | -| ir.cpp:1905:9:1905:20 | CallTarget | func:r1905_1 | -| ir.cpp:1905:9:1905:20 | ChiPartial | partial:m1905_3 | -| ir.cpp:1905:9:1905:20 | ChiTotal | total:m1901_4 | -| ir.cpp:1905:9:1905:20 | SideEffect | ~m1901_4 | -| ir.cpp:1909:5:1909:17 | Address | &:r1909_8 | -| ir.cpp:1909:5:1909:17 | ChiPartial | partial:m1909_3 | -| ir.cpp:1909:5:1909:17 | ChiTotal | total:m1909_2 | -| ir.cpp:1909:5:1909:17 | Load | m1913_4 | -| ir.cpp:1909:5:1909:17 | SideEffect | m1909_3 | -| ir.cpp:1909:23:1909:23 | Address | &:r1909_5 | -| ir.cpp:1910:9:1910:9 | Address | &:r1910_1 | -| ir.cpp:1910:9:1910:9 | Left | r1910_2 | -| ir.cpp:1910:9:1910:9 | Load | m1909_6 | -| ir.cpp:1910:9:1910:14 | Condition | r1910_4 | -| ir.cpp:1910:13:1910:14 | Right | r1910_3 | -| ir.cpp:1911:9:1911:20 | CallTarget | func:r1911_1 | -| ir.cpp:1911:9:1911:20 | ChiPartial | partial:m1911_3 | -| ir.cpp:1911:9:1911:20 | ChiTotal | total:m1909_4 | -| ir.cpp:1911:9:1911:20 | SideEffect | ~m1909_4 | -| ir.cpp:1913:5:1913:13 | Address | &:r1913_1 | -| ir.cpp:1913:12:1913:12 | Address | &:r1913_2 | -| ir.cpp:1913:12:1913:12 | Load | m1909_6 | -| ir.cpp:1913:12:1913:12 | StoreValue | r1913_3 | -| ir.cpp:1916:5:1916:19 | Address | &:r1916_7 | -| ir.cpp:1916:5:1916:19 | ChiPartial | partial:m1916_3 | -| ir.cpp:1916:5:1916:19 | ChiTotal | total:m1916_2 | -| ir.cpp:1916:5:1916:19 | Load | m1917_4 | -| ir.cpp:1916:5:1916:19 | SideEffect | m1916_3 | -| ir.cpp:1916:25:1916:25 | Address | &:r1916_5 | -| ir.cpp:1917:5:1917:13 | Address | &:r1917_1 | -| ir.cpp:1917:12:1917:12 | Address | &:r1917_2 | -| ir.cpp:1917:12:1917:12 | Load | m1916_6 | -| ir.cpp:1917:12:1917:12 | StoreValue | r1917_3 | -| ir.cpp:1920:6:1920:43 | ChiPartial | partial:m1920_3 | -| ir.cpp:1920:6:1920:43 | ChiTotal | total:m1920_2 | -| ir.cpp:1920:6:1920:43 | SideEffect | ~m1928_6 | -| ir.cpp:1921:7:1921:7 | Address | &:r1921_1 | -| ir.cpp:1921:7:1921:7 | Address | &:r1921_1 | -| ir.cpp:1921:7:1921:7 | Arg(this) | this:r1921_1 | -| ir.cpp:1921:7:1921:7 | CallTarget | func:r1921_3 | -| ir.cpp:1921:7:1921:7 | ChiPartial | partial:m1921_5 | -| ir.cpp:1921:7:1921:7 | ChiPartial | partial:m1921_7 | -| ir.cpp:1921:7:1921:7 | ChiTotal | total:m1920_4 | -| ir.cpp:1921:7:1921:7 | ChiTotal | total:m1921_2 | -| ir.cpp:1921:7:1921:7 | SideEffect | ~m1920_4 | -| ir.cpp:1922:9:1922:9 | Address | &:r1922_1 | -| ir.cpp:1923:5:1923:5 | Address | &:r1923_7 | -| ir.cpp:1923:11:1923:30 | CallTarget | func:r1923_2 | -| ir.cpp:1923:11:1923:30 | ChiPartial | partial:m1923_5 | -| ir.cpp:1923:11:1923:30 | ChiTotal | total:m1921_6 | -| ir.cpp:1923:11:1923:30 | SideEffect | ~m1921_6 | -| ir.cpp:1923:11:1923:30 | StoreValue | r1923_4 | -| ir.cpp:1923:32:1923:33 | Arg(0) | 0:r1923_3 | -| ir.cpp:1924:9:1924:9 | Address | &:r1924_1 | -| ir.cpp:1925:5:1925:5 | Address | &:r1925_6 | -| ir.cpp:1925:9:1925:31 | CallTarget | func:r1925_1 | -| ir.cpp:1925:9:1925:31 | ChiPartial | partial:m1925_4 | -| ir.cpp:1925:9:1925:31 | ChiTotal | total:m1923_6 | -| ir.cpp:1925:9:1925:31 | SideEffect | ~m1923_6 | -| ir.cpp:1925:9:1925:31 | StoreValue | r1925_3 | -| ir.cpp:1925:33:1925:34 | Arg(0) | 0:r1925_2 | -| ir.cpp:1926:9:1926:9 | Address | &:r1926_1 | -| ir.cpp:1927:5:1927:5 | Address | &:r1927_6 | -| ir.cpp:1927:9:1927:23 | CallTarget | func:r1927_1 | -| ir.cpp:1927:9:1927:23 | ChiPartial | partial:m1927_4 | -| ir.cpp:1927:9:1927:23 | ChiTotal | total:m1925_5 | -| ir.cpp:1927:9:1927:23 | SideEffect | ~m1925_5 | -| ir.cpp:1927:9:1927:23 | StoreValue | r1927_3 | -| ir.cpp:1927:25:1927:26 | Arg(0) | 0:r1927_2 | -| ir.cpp:1928:1:1928:1 | Address | &:r1928_2 | -| ir.cpp:1928:1:1928:1 | Address | &:r1928_2 | -| ir.cpp:1928:1:1928:1 | Arg(this) | this:r1928_2 | -| ir.cpp:1928:1:1928:1 | CallTarget | func:r1928_3 | -| ir.cpp:1928:1:1928:1 | ChiPartial | partial:m1928_5 | -| ir.cpp:1928:1:1928:1 | ChiPartial | partial:m1928_8 | -| ir.cpp:1928:1:1928:1 | ChiTotal | total:m1921_8 | -| ir.cpp:1928:1:1928:1 | ChiTotal | total:m1927_5 | -| ir.cpp:1928:1:1928:1 | SideEffect | m1921_8 | -| ir.cpp:1928:1:1928:1 | SideEffect | ~m1927_5 | -| ir.cpp:1930:6:1930:23 | ChiPartial | partial:m1930_3 | -| ir.cpp:1930:6:1930:23 | ChiTotal | total:m1930_2 | -| ir.cpp:1930:6:1930:23 | SideEffect | m1930_3 | -| ir.cpp:1931:7:1931:7 | Address | &:r1931_1 | -| ir.cpp:1931:10:1931:10 | Address | &:r1931_3 | -| ir.cpp:1932:3:1932:3 | Address | &:r1932_5 | -| ir.cpp:1932:7:1932:7 | Address | &:r1932_2 | -| ir.cpp:1932:7:1932:7 | Address | &:r1932_2 | -| ir.cpp:1932:7:1932:12 | Load | m1932_3 | -| ir.cpp:1932:7:1932:12 | StoreValue | r1932_4 | -| ir.cpp:1932:11:1932:12 | StoreValue | r1932_1 | -| ir.cpp:1935:6:1935:38 | ChiPartial | partial:m1935_3 | -| ir.cpp:1935:6:1935:38 | ChiTotal | total:m1935_2 | -| ir.cpp:1935:6:1935:38 | SideEffect | m1935_3 | -| ir.cpp:1936:7:1936:7 | Address | &:r1936_1 | -| ir.cpp:1936:10:1936:10 | Address | &:r1936_3 | -| ir.cpp:1936:13:1936:14 | StoreValue | r1936_4 | -| ir.cpp:1937:3:1937:3 | Address | &:r1937_7 | -| ir.cpp:1937:8:1937:8 | Address | &:r1937_2 | -| ir.cpp:1937:8:1937:8 | Address | &:r1937_2 | -| ir.cpp:1937:8:1937:8 | Address | &:r1937_2 | -| ir.cpp:1937:8:1937:8 | Left | r1937_3 | -| ir.cpp:1937:8:1937:8 | Load | m1936_5 | -| ir.cpp:1937:8:1937:14 | Load | m1937_5 | -| ir.cpp:1937:8:1937:14 | StoreValue | r1937_4 | -| ir.cpp:1937:8:1937:14 | StoreValue | r1937_6 | -| ir.cpp:1937:13:1937:14 | Right | r1937_1 | -| ir.cpp:1944:15:1944:43 | Address | &:r1944_5 | -| ir.cpp:1944:15:1944:43 | ChiPartial | partial:m1944_3 | -| ir.cpp:1944:15:1944:43 | ChiTotal | total:m1944_2 | -| ir.cpp:1944:15:1944:43 | Load | m1945_4 | -| ir.cpp:1944:15:1944:43 | SideEffect | m1944_3 | -| ir.cpp:1945:9:1945:17 | Address | &:r1945_1 | -| ir.cpp:1945:16:1945:16 | StoreValue | r1945_3 | -| ir.cpp:1945:16:1945:16 | Unary | r1945_2 | -| ir.cpp:1947:14:1947:39 | Address | &:r1947_5 | -| ir.cpp:1947:14:1947:39 | ChiPartial | partial:m1947_3 | -| ir.cpp:1947:14:1947:39 | ChiTotal | total:m1947_2 | -| ir.cpp:1947:14:1947:39 | Load | m1948_4 | -| ir.cpp:1947:14:1947:39 | SideEffect | m1947_3 | -| ir.cpp:1948:9:1948:17 | Address | &:r1948_1 | -| ir.cpp:1948:16:1948:16 | Address | &:r1948_2 | -| ir.cpp:1948:16:1948:16 | Load | ~m1947_3 | -| ir.cpp:1948:16:1948:16 | StoreValue | r1948_3 | -| ir.cpp:1952:6:1952:55 | ChiPartial | partial:m1952_3 | -| ir.cpp:1952:6:1952:55 | ChiTotal | total:m1952_2 | -| ir.cpp:1952:6:1952:55 | SideEffect | ~m1967_4 | -| ir.cpp:1953:7:1953:7 | Address | &:r1953_1 | -| ir.cpp:1955:7:1955:35 | CallTarget | func:r1955_2 | -| ir.cpp:1955:7:1955:35 | ChiPartial | partial:m1955_4 | -| ir.cpp:1955:7:1955:35 | ChiTotal | total:m1952_4 | -| ir.cpp:1955:7:1955:35 | SideEffect | ~m1952_4 | -| ir.cpp:1955:7:1955:35 | Unary | r1955_3 | -| ir.cpp:1956:5:1956:36 | CallTarget | func:r1956_1 | -| ir.cpp:1956:5:1956:36 | ChiPartial | partial:m1956_3 | -| ir.cpp:1956:5:1956:36 | ChiTotal | total:m1955_5 | -| ir.cpp:1956:5:1956:36 | SideEffect | ~m1955_5 | -| ir.cpp:1956:5:1956:36 | Unary | r1956_2 | -| ir.cpp:1957:7:1957:32 | CallTarget | func:r1957_2 | -| ir.cpp:1957:7:1957:32 | ChiPartial | partial:m1957_4 | -| ir.cpp:1957:7:1957:32 | ChiTotal | total:m1956_4 | -| ir.cpp:1957:7:1957:32 | SideEffect | ~m1956_4 | -| ir.cpp:1958:5:1958:33 | CallTarget | func:r1958_1 | -| ir.cpp:1958:5:1958:33 | ChiPartial | partial:m1958_3 | -| ir.cpp:1958:5:1958:33 | ChiTotal | total:m1957_5 | -| ir.cpp:1958:5:1958:33 | SideEffect | ~m1957_5 | -| ir.cpp:1960:7:1960:7 | Address | &:r1960_1 | -| ir.cpp:1961:5:1961:5 | Address | &:r1961_7 | -| ir.cpp:1961:11:1961:39 | Address | &:r1961_3 | -| ir.cpp:1961:11:1961:39 | CallTarget | func:r1961_2 | -| ir.cpp:1961:11:1961:39 | ChiPartial | partial:m1961_4 | -| ir.cpp:1961:11:1961:39 | ChiTotal | total:m1958_4 | -| ir.cpp:1961:11:1961:39 | SideEffect | ~m1958_4 | -| ir.cpp:1961:40:1961:42 | Load | ~m1961_5 | -| ir.cpp:1961:40:1961:42 | StoreValue | r1961_6 | -| ir.cpp:1962:7:1962:7 | Address | &:r1962_1 | -| ir.cpp:1963:5:1963:5 | Address | &:r1963_6 | -| ir.cpp:1963:9:1963:40 | Address | &:r1963_2 | -| ir.cpp:1963:9:1963:40 | CallTarget | func:r1963_1 | -| ir.cpp:1963:9:1963:40 | ChiPartial | partial:m1963_3 | -| ir.cpp:1963:9:1963:40 | ChiTotal | total:m1961_5 | -| ir.cpp:1963:9:1963:40 | SideEffect | ~m1961_5 | -| ir.cpp:1963:41:1963:43 | Load | ~m1963_4 | -| ir.cpp:1963:41:1963:43 | StoreValue | r1963_5 | -| ir.cpp:1964:7:1964:7 | Address | &:r1964_1 | -| ir.cpp:1965:5:1965:5 | Address | &:r1965_6 | -| ir.cpp:1965:11:1965:36 | CallTarget | func:r1965_2 | -| ir.cpp:1965:11:1965:36 | ChiPartial | partial:m1965_4 | -| ir.cpp:1965:11:1965:36 | ChiTotal | total:m1963_4 | -| ir.cpp:1965:11:1965:36 | SideEffect | ~m1963_4 | -| ir.cpp:1965:11:1965:36 | StoreValue | r1965_3 | -| ir.cpp:1966:7:1966:7 | Address | &:r1966_1 | -| ir.cpp:1967:5:1967:5 | Address | &:r1967_5 | -| ir.cpp:1967:9:1967:37 | CallTarget | func:r1967_1 | -| ir.cpp:1967:9:1967:37 | ChiPartial | partial:m1967_3 | -| ir.cpp:1967:9:1967:37 | ChiTotal | total:m1965_5 | -| ir.cpp:1967:9:1967:37 | SideEffect | ~m1965_5 | -| ir.cpp:1967:9:1967:37 | StoreValue | r1967_2 | -| ir.cpp:1970:6:1970:18 | ChiPartial | partial:m1970_3 | -| ir.cpp:1970:6:1970:18 | ChiTotal | total:m1970_2 | -| ir.cpp:1970:6:1970:18 | SideEffect | m1970_3 | -| ir.cpp:1971:18:1971:18 | Address | &:r1971_1 | -| ir.cpp:1972:5:1972:5 | Address | &:r1972_1 | -| ir.cpp:1972:5:1972:5 | Load | m1971_2 | -| ir.cpp:1981:6:1981:24 | ChiPartial | partial:m1981_3 | -| ir.cpp:1981:6:1981:24 | ChiTotal | total:m1981_2 | -| ir.cpp:1981:6:1981:24 | SideEffect | ~m1989_5 | -| ir.cpp:1982:12:1982:12 | Address | &:r1982_1 | -| ir.cpp:1984:5:1984:19 | ChiPartial | partial:m1984_7 | -| ir.cpp:1984:5:1984:19 | ChiTotal | total:m1984_5 | -| ir.cpp:1984:7:1984:12 | CallTarget | func:r1984_2 | -| ir.cpp:1984:7:1984:12 | ChiPartial | partial:m1984_4 | -| ir.cpp:1984:7:1984:12 | ChiTotal | total:m1981_4 | -| ir.cpp:1984:7:1984:12 | SideEffect | ~m1981_4 | -| ir.cpp:1984:7:1984:12 | Unary | r1984_3 | -| ir.cpp:1984:13:1984:16 | Address | &:r1984_6 | -| ir.cpp:1985:5:1985:19 | ChiPartial | partial:m1985_7 | -| ir.cpp:1985:5:1985:19 | ChiTotal | total:m1985_5 | -| ir.cpp:1985:7:1985:12 | CallTarget | func:r1985_2 | -| ir.cpp:1985:7:1985:12 | ChiPartial | partial:m1985_4 | -| ir.cpp:1985:7:1985:12 | ChiTotal | total:m1984_8 | -| ir.cpp:1985:7:1985:12 | SideEffect | ~m1984_8 | -| ir.cpp:1985:7:1985:12 | Unary | r1985_3 | -| ir.cpp:1985:13:1985:16 | Address | &:r1985_6 | -| ir.cpp:1986:5:1986:15 | Address | &:r1986_1 | -| ir.cpp:1986:5:1986:15 | Address | &:r1986_1 | -| ir.cpp:1986:7:1986:13 | CallTarget | func:r1986_3 | -| ir.cpp:1986:7:1986:13 | ChiPartial | partial:m1986_5 | -| ir.cpp:1986:7:1986:13 | ChiTotal | total:m1985_8 | -| ir.cpp:1986:7:1986:13 | SideEffect | ~m1985_8 | -| ir.cpp:1986:7:1986:13 | StoreValue | r1986_4 | -| ir.cpp:1987:5:1987:18 | CallTarget | func:r1987_1 | -| ir.cpp:1987:5:1987:18 | ChiPartial | partial:m1987_3 | -| ir.cpp:1987:5:1987:18 | ChiTotal | total:m1986_6 | -| ir.cpp:1987:5:1987:18 | SideEffect | ~m1986_6 | -| ir.cpp:1987:5:1987:18 | Unary | r1987_2 | -| ir.cpp:1987:5:1987:25 | ChiPartial | partial:m1987_6 | -| ir.cpp:1987:5:1987:25 | ChiTotal | total:m1987_4 | -| ir.cpp:1987:19:1987:22 | Address | &:r1987_5 | -| ir.cpp:1988:5:1988:18 | CallTarget | func:r1988_1 | -| ir.cpp:1988:5:1988:18 | ChiPartial | partial:m1988_3 | -| ir.cpp:1988:5:1988:18 | ChiTotal | total:m1987_7 | -| ir.cpp:1988:5:1988:18 | SideEffect | ~m1987_7 | -| ir.cpp:1988:5:1988:18 | Unary | r1988_2 | -| ir.cpp:1988:5:1988:25 | ChiPartial | partial:m1988_6 | -| ir.cpp:1988:5:1988:25 | ChiTotal | total:m1988_4 | -| ir.cpp:1988:19:1988:22 | Address | &:r1988_5 | -| ir.cpp:1989:5:1989:19 | CallTarget | func:r1989_2 | -| ir.cpp:1989:5:1989:19 | ChiPartial | partial:m1989_4 | -| ir.cpp:1989:5:1989:19 | ChiTotal | total:m1988_7 | -| ir.cpp:1989:5:1989:19 | SideEffect | ~m1988_7 | -| ir.cpp:1989:5:1989:19 | StoreValue | r1989_3 | -| ir.cpp:1989:5:1989:21 | Address | &:r1989_1 | -| ir.cpp:1989:5:1989:21 | Address | &:r1989_1 | -| ir.cpp:1992:6:1992:21 | ChiPartial | partial:m1992_3 | -| ir.cpp:1992:6:1992:21 | ChiTotal | total:m1992_2 | -| ir.cpp:1992:6:1992:21 | SideEffect | ~m1996_6 | -| ir.cpp:1993:7:1993:7 | Address | &:r1993_1 | -| ir.cpp:1993:7:1993:7 | Address | &:r1993_1 | -| ir.cpp:1993:7:1993:7 | Arg(this) | this:r1993_1 | -| ir.cpp:1993:7:1993:7 | CallTarget | func:r1993_3 | -| ir.cpp:1993:7:1993:7 | ChiPartial | partial:m1993_5 | -| ir.cpp:1993:7:1993:7 | ChiPartial | partial:m1993_7 | -| ir.cpp:1993:7:1993:7 | ChiTotal | total:m1992_4 | -| ir.cpp:1993:7:1993:7 | ChiTotal | total:m1993_2 | -| ir.cpp:1993:7:1993:7 | SideEffect | ~m1992_4 | -| ir.cpp:1994:11:1994:13 | Address | &:r1994_1 | -| ir.cpp:1994:23:1994:45 | StoreValue | r1994_2 | -| ir.cpp:1995:5:1995:7 | Address | &:r1995_3 | -| ir.cpp:1995:13:1995:32 | StoreValue | r1995_2 | -| ir.cpp:1996:1:1996:1 | Address | &:r1996_2 | -| ir.cpp:1996:1:1996:1 | Address | &:r1996_2 | -| ir.cpp:1996:1:1996:1 | Arg(this) | this:r1996_2 | -| ir.cpp:1996:1:1996:1 | CallTarget | func:r1996_3 | -| ir.cpp:1996:1:1996:1 | ChiPartial | partial:m1996_5 | -| ir.cpp:1996:1:1996:1 | ChiPartial | partial:m1996_8 | -| ir.cpp:1996:1:1996:1 | ChiTotal | total:m1993_6 | -| ir.cpp:1996:1:1996:1 | ChiTotal | total:m1993_8 | -| ir.cpp:1996:1:1996:1 | SideEffect | m1993_8 | -| ir.cpp:1996:1:1996:1 | SideEffect | ~m1993_6 | -| ir.cpp:1998:6:1998:19 | ChiPartial | partial:m1998_3 | -| ir.cpp:1998:6:1998:19 | ChiTotal | total:m1998_2 | -| ir.cpp:1998:6:1998:19 | SideEffect | ~m2002_9 | -| ir.cpp:1998:26:1998:26 | Address | &:r1998_5 | -| ir.cpp:1998:33:1998:33 | Address | &:r1998_7 | -| ir.cpp:1998:40:1998:40 | Address | &:r1998_9 | -| ir.cpp:1998:47:1998:47 | Address | &:r1998_11 | -| ir.cpp:1999:5:1999:5 | Address | &:r1999_7 | -| ir.cpp:1999:9:1999:9 | Address | &:r1999_1 | -| ir.cpp:1999:9:1999:9 | Condition | r1999_2 | -| ir.cpp:1999:9:1999:9 | Load | m1998_6 | -| ir.cpp:1999:9:1999:17 | Address | &:r1999_5 | -| ir.cpp:1999:9:1999:17 | Address | &:r1999_11 | -| ir.cpp:1999:9:1999:17 | Address | &:r1999_15 | -| ir.cpp:1999:9:1999:17 | Load | m1999_4 | -| ir.cpp:1999:9:1999:17 | Phi | from 2:m1999_12 | -| ir.cpp:1999:9:1999:17 | Phi | from 3:m1999_16 | -| ir.cpp:1999:9:1999:17 | StoreValue | r1999_6 | -| ir.cpp:1999:13:1999:13 | Address | &:r1999_9 | -| ir.cpp:1999:13:1999:13 | Load | m1998_8 | -| ir.cpp:1999:13:1999:13 | StoreValue | r1999_10 | -| ir.cpp:1999:17:1999:17 | Address | &:r1999_13 | -| ir.cpp:1999:17:1999:17 | Load | m1998_10 | -| ir.cpp:1999:17:1999:17 | StoreValue | r1999_14 | -| ir.cpp:2000:5:2000:5 | Address | &:r2000_7 | -| ir.cpp:2000:9:2000:9 | Address | &:r2000_1 | -| ir.cpp:2000:9:2000:9 | Condition | r2000_2 | -| ir.cpp:2000:9:2000:9 | Load | m1998_6 | -| ir.cpp:2000:9:2000:17 | Address | &:r2000_5 | -| ir.cpp:2000:9:2000:17 | Address | &:r2000_11 | -| ir.cpp:2000:9:2000:17 | Address | &:r2000_14 | -| ir.cpp:2000:9:2000:17 | Load | m2000_4 | -| ir.cpp:2000:9:2000:17 | Phi | from 5:m2000_12 | -| ir.cpp:2000:9:2000:17 | Phi | from 6:m2000_15 | -| ir.cpp:2000:9:2000:17 | StoreValue | r2000_6 | -| ir.cpp:2000:13:2000:13 | Address | &:r2000_9 | -| ir.cpp:2000:13:2000:13 | Load | m1998_8 | -| ir.cpp:2000:13:2000:13 | StoreValue | r2000_10 | -| ir.cpp:2000:17:2000:17 | StoreValue | r2000_13 | -| ir.cpp:2001:5:2001:5 | Address | &:r2001_7 | -| ir.cpp:2001:9:2001:9 | Address | &:r2001_1 | -| ir.cpp:2001:9:2001:9 | Condition | r2001_2 | -| ir.cpp:2001:9:2001:9 | Load | m1998_6 | -| ir.cpp:2001:9:2001:17 | Address | &:r2001_5 | -| ir.cpp:2001:9:2001:17 | Address | &:r2001_10 | -| ir.cpp:2001:9:2001:17 | Address | &:r2001_13 | -| ir.cpp:2001:9:2001:17 | Load | m2001_4 | -| ir.cpp:2001:9:2001:17 | Phi | from 8:m2001_11 | -| ir.cpp:2001:9:2001:17 | Phi | from 9:m2001_14 | -| ir.cpp:2001:9:2001:17 | StoreValue | r2001_6 | -| ir.cpp:2001:13:2001:13 | StoreValue | r2001_9 | -| ir.cpp:2001:17:2001:17 | StoreValue | r2001_12 | -| ir.cpp:2002:5:2002:19 | ChiPartial | partial:m2002_8 | -| ir.cpp:2002:5:2002:19 | ChiTotal | total:m1998_4 | -| ir.cpp:2002:6:2002:6 | Address | &:r2002_2 | -| ir.cpp:2002:6:2002:6 | Condition | r2002_3 | -| ir.cpp:2002:6:2002:6 | Load | m1998_6 | -| ir.cpp:2002:6:2002:14 | Address | &:r2002_6 | -| ir.cpp:2002:6:2002:14 | Address | &:r2002_7 | -| ir.cpp:2002:6:2002:14 | Address | &:r2002_11 | -| ir.cpp:2002:6:2002:14 | Address | &:r2002_14 | -| ir.cpp:2002:6:2002:14 | Load | m2002_5 | -| ir.cpp:2002:6:2002:14 | Phi | from 11:m2002_12 | -| ir.cpp:2002:6:2002:14 | Phi | from 12:m2002_15 | -| ir.cpp:2002:10:2002:10 | StoreValue | r2002_10 | -| ir.cpp:2002:14:2002:14 | StoreValue | r2002_13 | -| ir.cpp:2002:19:2002:19 | StoreValue | r2002_1 | -| ir.cpp:2008:6:2008:22 | ChiPartial | partial:m2008_3 | -| ir.cpp:2008:6:2008:22 | ChiTotal | total:m2008_2 | -| ir.cpp:2008:6:2008:22 | SideEffect | m2008_3 | -| ir.cpp:2008:29:2008:29 | Address | &:r2008_5 | -| ir.cpp:2008:46:2008:46 | Address | &:r2008_7 | -| ir.cpp:2008:63:2008:63 | Address | &:r2008_9 | -| ir.cpp:2008:80:2008:80 | Address | &:r2008_11 | -| ir.cpp:2009:5:2009:5 | Address | &:r2009_7 | -| ir.cpp:2009:9:2009:9 | Address | &:r2009_1 | -| ir.cpp:2009:9:2009:9 | Condition | r2009_2 | -| ir.cpp:2009:9:2009:9 | Load | m2008_6 | -| ir.cpp:2009:9:2009:17 | Address | &:r2009_5 | -| ir.cpp:2009:9:2009:17 | Address | &:r2009_11 | -| ir.cpp:2009:9:2009:17 | Address | &:r2009_15 | -| ir.cpp:2009:9:2009:17 | Load | m2009_4 | -| ir.cpp:2009:9:2009:17 | Phi | from 2:m2009_12 | -| ir.cpp:2009:9:2009:17 | Phi | from 3:m2009_16 | -| ir.cpp:2009:9:2009:17 | StoreValue | r2009_6 | -| ir.cpp:2009:13:2009:13 | Address | &:r2009_9 | -| ir.cpp:2009:13:2009:13 | Load | m2008_8 | -| ir.cpp:2009:13:2009:13 | StoreValue | r2009_10 | -| ir.cpp:2009:17:2009:17 | Address | &:r2009_13 | -| ir.cpp:2009:17:2009:17 | Load | m2008_10 | -| ir.cpp:2009:17:2009:17 | StoreValue | r2009_14 | -| ir.cpp:2010:5:2010:5 | Address | &:r2010_10 | -| ir.cpp:2010:9:2010:9 | Address | &:r2010_2 | -| ir.cpp:2010:9:2010:9 | Address | &:r2010_6 | -| ir.cpp:2010:9:2010:9 | Address | &:r2010_17 | -| ir.cpp:2010:9:2010:9 | Address | &:r2010_23 | -| ir.cpp:2010:9:2010:9 | Condition | r2010_3 | -| ir.cpp:2010:9:2010:9 | Load | m2008_6 | -| ir.cpp:2010:9:2010:9 | Load | m2010_5 | -| ir.cpp:2010:9:2010:9 | Phi | from 5:m2010_18 | -| ir.cpp:2010:9:2010:9 | Phi | from 6:m2010_24 | -| ir.cpp:2010:9:2010:9 | StoreValue | r2010_7 | -| ir.cpp:2010:9:2010:31 | Address | &:r2010_1 | -| ir.cpp:2010:9:2010:31 | Address | &:r2010_1 | -| ir.cpp:2010:9:2010:31 | Load | m2010_8 | -| ir.cpp:2010:9:2010:31 | StoreValue | r2010_9 | -| ir.cpp:2010:13:2010:13 | Address | &:r2010_12 | -| ir.cpp:2010:13:2010:13 | Address | &:r2010_12 | -| ir.cpp:2010:13:2010:13 | Address | &:r2010_13 | -| ir.cpp:2010:13:2010:13 | Load | m2008_8 | -| ir.cpp:2010:13:2010:13 | Load | m2010_15 | -| ir.cpp:2010:13:2010:13 | StoreValue | r2010_14 | -| ir.cpp:2010:13:2010:13 | StoreValue | r2010_16 | -| ir.cpp:2010:17:2010:31 | Address | &:r2010_19 | -| ir.cpp:2010:17:2010:31 | Address | &:r2010_19 | -| ir.cpp:2010:17:2010:31 | Load | m2010_21 | -| ir.cpp:2010:17:2010:31 | StoreValue | r2010_20 | -| ir.cpp:2010:17:2010:31 | StoreValue | r2010_22 | -| ir.cpp:2011:5:2011:5 | Address | &:r2011_10 | -| ir.cpp:2011:9:2011:9 | Address | &:r2011_2 | -| ir.cpp:2011:9:2011:9 | Address | &:r2011_6 | -| ir.cpp:2011:9:2011:9 | Address | &:r2011_16 | -| ir.cpp:2011:9:2011:9 | Address | &:r2011_22 | -| ir.cpp:2011:9:2011:9 | Condition | r2011_3 | -| ir.cpp:2011:9:2011:9 | Load | m2008_6 | -| ir.cpp:2011:9:2011:9 | Load | m2011_5 | -| ir.cpp:2011:9:2011:9 | Phi | from 8:m2011_17 | -| ir.cpp:2011:9:2011:9 | Phi | from 9:m2011_23 | -| ir.cpp:2011:9:2011:9 | StoreValue | r2011_7 | -| ir.cpp:2011:9:2011:45 | Address | &:r2011_1 | -| ir.cpp:2011:9:2011:45 | Address | &:r2011_1 | -| ir.cpp:2011:9:2011:45 | Load | m2011_8 | -| ir.cpp:2011:9:2011:45 | StoreValue | r2011_9 | -| ir.cpp:2011:13:2011:27 | Address | &:r2011_12 | -| ir.cpp:2011:13:2011:27 | Address | &:r2011_12 | -| ir.cpp:2011:13:2011:27 | Load | m2011_14 | -| ir.cpp:2011:13:2011:27 | StoreValue | r2011_13 | -| ir.cpp:2011:13:2011:27 | StoreValue | r2011_15 | -| ir.cpp:2011:31:2011:45 | Address | &:r2011_18 | -| ir.cpp:2011:31:2011:45 | Address | &:r2011_18 | -| ir.cpp:2011:31:2011:45 | Load | m2011_20 | -| ir.cpp:2011:31:2011:45 | StoreValue | r2011_19 | -| ir.cpp:2011:31:2011:45 | StoreValue | r2011_21 | -| ir.cpp:2012:6:2012:6 | Address | &:r2012_11 | -| ir.cpp:2012:6:2012:6 | Unary | r2012_11 | -| ir.cpp:2012:6:2012:18 | Address | &:r2012_13 | -| ir.cpp:2012:10:2012:10 | Address | &:r2012_5 | -| ir.cpp:2012:10:2012:10 | Condition | r2012_6 | -| ir.cpp:2012:10:2012:10 | Load | m2008_6 | -| ir.cpp:2012:10:2012:18 | Address | &:r2012_9 | -| ir.cpp:2012:10:2012:18 | Address | &:r2012_17 | -| ir.cpp:2012:10:2012:18 | Address | &:r2012_21 | -| ir.cpp:2012:10:2012:18 | Load | m2012_8 | -| ir.cpp:2012:10:2012:18 | Phi | from 11:m2012_18 | -| ir.cpp:2012:10:2012:18 | Phi | from 12:m2012_22 | -| ir.cpp:2012:10:2012:18 | StoreValue | r2012_10 | -| ir.cpp:2012:14:2012:14 | Address | &:r2012_15 | -| ir.cpp:2012:14:2012:14 | Load | m2008_8 | -| ir.cpp:2012:14:2012:14 | StoreValue | r2012_16 | -| ir.cpp:2012:18:2012:18 | Address | &:r2012_19 | -| ir.cpp:2012:18:2012:18 | Load | m2008_10 | -| ir.cpp:2012:18:2012:18 | StoreValue | r2012_20 | -| ir.cpp:2012:23:2012:37 | Address | &:r2012_1 | -| ir.cpp:2012:23:2012:37 | Address | &:r2012_1 | -| ir.cpp:2012:23:2012:37 | Load | m2012_3 | -| ir.cpp:2012:23:2012:37 | StoreValue | r2012_2 | -| ir.cpp:2012:23:2012:37 | StoreValue | r2012_4 | -| ir.cpp:2015:8:2015:8 | Address | &:r2015_5 | -| ir.cpp:2015:8:2015:8 | Address | &:r2015_5 | -| ir.cpp:2015:8:2015:8 | Address | &:r2015_5 | -| ir.cpp:2015:8:2015:8 | Address | &:r2015_5 | -| ir.cpp:2015:8:2015:8 | Address | &:r2015_5 | -| ir.cpp:2015:8:2015:8 | Address | &:r2015_5 | -| ir.cpp:2015:8:2015:8 | Address | &:r2015_7 | -| ir.cpp:2015:8:2015:8 | Address | &:r2015_7 | -| ir.cpp:2015:8:2015:8 | Address | &:r2015_7 | -| ir.cpp:2015:8:2015:8 | Address | &:r2015_7 | -| ir.cpp:2015:8:2015:8 | Address | &:r2015_7 | -| ir.cpp:2015:8:2015:8 | Address | &:r2015_7 | -| ir.cpp:2015:8:2015:8 | Address | &:r2015_10 | -| ir.cpp:2015:8:2015:8 | ChiPartial | partial:m2015_3 | -| ir.cpp:2015:8:2015:8 | ChiPartial | partial:m2015_3 | -| ir.cpp:2015:8:2015:8 | ChiPartial | partial:m2015_3 | -| ir.cpp:2015:8:2015:8 | ChiTotal | total:m2015_2 | -| ir.cpp:2015:8:2015:8 | ChiTotal | total:m2015_2 | -| ir.cpp:2015:8:2015:8 | ChiTotal | total:m2015_2 | -| ir.cpp:2015:8:2015:8 | Load | m0_10 | -| ir.cpp:2015:8:2015:8 | Load | m2015_6 | -| ir.cpp:2015:8:2015:8 | Load | m2015_6 | -| ir.cpp:2015:8:2015:8 | Load | m2015_6 | -| ir.cpp:2015:8:2015:8 | SideEffect | m2015_3 | -| ir.cpp:2015:8:2015:8 | SideEffect | m2015_3 | -| ir.cpp:2015:8:2015:8 | SideEffect | m2015_3 | -| ir.cpp:2015:8:2015:8 | SideEffect | m2015_8 | -| ir.cpp:2015:8:2015:8 | SideEffect | m2015_8 | -| ir.cpp:2015:8:2015:8 | SideEffect | m2015_8 | -| ir.cpp:2016:13:2016:29 | Address | &:r2016_5 | -| ir.cpp:2016:13:2016:29 | Address | &:r2016_5 | -| ir.cpp:2016:13:2016:29 | Address | &:r2016_7 | -| ir.cpp:2016:13:2016:29 | Address | &:r2016_7 | -| ir.cpp:2016:13:2016:29 | ChiPartial | partial:m2016_3 | -| ir.cpp:2016:13:2016:29 | ChiTotal | total:m2016_2 | -| ir.cpp:2016:13:2016:29 | Load | m2016_6 | -| ir.cpp:2016:13:2016:29 | SideEffect | m2016_3 | -| ir.cpp:2016:13:2016:29 | SideEffect | m2016_8 | -| ir.cpp:2019:6:2019:25 | ChiPartial | partial:m2019_3 | -| ir.cpp:2019:6:2019:25 | ChiTotal | total:m2019_2 | -| ir.cpp:2019:6:2019:25 | SideEffect | ~m2023_32 | -| ir.cpp:2019:32:2019:32 | Address | &:r2019_5 | -| ir.cpp:2019:52:2019:52 | Address | &:r2019_7 | -| ir.cpp:2019:72:2019:72 | Address | &:r2019_9 | -| ir.cpp:2019:92:2019:92 | Address | &:r2019_11 | -| ir.cpp:2020:5:2020:5 | Address | &:r2020_1 | -| ir.cpp:2020:5:2020:5 | Address | &:r2020_1 | -| ir.cpp:2020:5:2020:5 | Arg(this) | this:r2020_1 | -| ir.cpp:2020:5:2020:5 | ChiPartial | partial:m2020_16 | -| ir.cpp:2020:5:2020:5 | ChiTotal | total:m2019_12 | -| ir.cpp:2020:5:2020:5 | SideEffect | m2019_12 | -| ir.cpp:2020:7:2020:7 | CallTarget | func:r2020_2 | -| ir.cpp:2020:7:2020:7 | ChiPartial | partial:m2020_12 | -| ir.cpp:2020:7:2020:7 | ChiTotal | total:m2019_4 | -| ir.cpp:2020:7:2020:7 | SideEffect | ~m2019_4 | -| ir.cpp:2020:7:2020:7 | Unary | r2020_11 | -| ir.cpp:2020:9:2020:9 | Address | &:r2020_3 | -| ir.cpp:2020:9:2020:9 | Condition | r2020_4 | -| ir.cpp:2020:9:2020:9 | Load | m2019_6 | -| ir.cpp:2020:9:2020:17 | Address | &:r2020_7 | -| ir.cpp:2020:9:2020:17 | Address | &:r2020_10 | -| ir.cpp:2020:9:2020:17 | Address | &:r2020_20 | -| ir.cpp:2020:9:2020:17 | Address | &:r2020_23 | -| ir.cpp:2020:9:2020:17 | Arg(0) | 0:r2020_10 | -| ir.cpp:2020:9:2020:17 | Load | m2020_6 | -| ir.cpp:2020:9:2020:17 | Phi | from 2:m2020_21 | -| ir.cpp:2020:9:2020:17 | Phi | from 3:m2020_24 | -| ir.cpp:2020:9:2020:17 | SideEffect | ~m2020_13 | -| ir.cpp:2020:9:2020:17 | Unary | r2020_8 | -| ir.cpp:2020:9:2020:17 | Unary | r2020_9 | -| ir.cpp:2020:13:2020:13 | StoreValue | r2020_19 | -| ir.cpp:2020:17:2020:17 | StoreValue | r2020_22 | -| ir.cpp:2021:5:2021:5 | Address | &:r2021_1 | -| ir.cpp:2021:5:2021:5 | Address | &:r2021_1 | -| ir.cpp:2021:5:2021:5 | Arg(this) | this:r2021_1 | -| ir.cpp:2021:5:2021:5 | ChiPartial | partial:m2021_19 | -| ir.cpp:2021:5:2021:5 | ChiTotal | total:m2020_17 | -| ir.cpp:2021:5:2021:5 | SideEffect | m2020_17 | -| ir.cpp:2021:7:2021:7 | CallTarget | func:r2021_2 | -| ir.cpp:2021:7:2021:7 | ChiPartial | partial:m2021_15 | -| ir.cpp:2021:7:2021:7 | ChiTotal | total:m2021_7 | -| ir.cpp:2021:7:2021:7 | SideEffect | ~m2021_7 | -| ir.cpp:2021:7:2021:7 | Unary | r2021_14 | -| ir.cpp:2021:9:2021:9 | Address | &:r2021_4 | -| ir.cpp:2021:9:2021:9 | Address | &:r2021_9 | -| ir.cpp:2021:9:2021:9 | Address | &:r2021_35 | -| ir.cpp:2021:9:2021:9 | Address | &:r2021_46 | -| ir.cpp:2021:9:2021:9 | Condition | r2021_5 | -| ir.cpp:2021:9:2021:9 | Load | m2019_6 | -| ir.cpp:2021:9:2021:9 | Load | m2021_8 | -| ir.cpp:2021:9:2021:9 | Phi | from 5:m2021_36 | -| ir.cpp:2021:9:2021:9 | Phi | from 5:~m2021_30 | -| ir.cpp:2021:9:2021:9 | Phi | from 6:m2021_47 | -| ir.cpp:2021:9:2021:9 | Phi | from 6:~m2021_42 | -| ir.cpp:2021:9:2021:9 | StoreValue | r2021_10 | -| ir.cpp:2021:9:2021:34 | Address | &:r2021_3 | -| ir.cpp:2021:9:2021:34 | Address | &:r2021_13 | -| ir.cpp:2021:9:2021:34 | Arg(0) | 0:r2021_13 | -| ir.cpp:2021:9:2021:34 | SideEffect | ~m2021_11 | -| ir.cpp:2021:9:2021:34 | Unary | r2021_3 | -| ir.cpp:2021:9:2021:34 | Unary | r2021_12 | -| ir.cpp:2021:13:2021:13 | Address | &:r2021_22 | -| ir.cpp:2021:13:2021:13 | Address | &:r2021_22 | -| ir.cpp:2021:13:2021:13 | Address | &:r2021_22 | -| ir.cpp:2021:13:2021:13 | Address | &:r2021_27 | -| ir.cpp:2021:13:2021:13 | Arg(0) | 0:r2021_27 | -| ir.cpp:2021:13:2021:13 | Arg(this) | this:r2021_22 | -| ir.cpp:2021:13:2021:13 | CallTarget | func:r2021_24 | -| ir.cpp:2021:13:2021:13 | ChiPartial | partial:m2021_29 | -| ir.cpp:2021:13:2021:13 | ChiPartial | partial:m2021_32 | -| ir.cpp:2021:13:2021:13 | ChiTotal | total:m2020_13 | -| ir.cpp:2021:13:2021:13 | ChiTotal | total:m2021_23 | -| ir.cpp:2021:13:2021:13 | Load | m2021_33 | -| ir.cpp:2021:13:2021:13 | SideEffect | ~m2019_8 | -| ir.cpp:2021:13:2021:13 | SideEffect | ~m2020_13 | -| ir.cpp:2021:13:2021:13 | StoreValue | r2021_34 | -| ir.cpp:2021:13:2021:13 | Unary | r2021_25 | -| ir.cpp:2021:13:2021:13 | Unary | r2021_26 | -| ir.cpp:2021:17:2021:34 | Address | &:r2021_37 | -| ir.cpp:2021:17:2021:34 | Address | &:r2021_37 | -| ir.cpp:2021:17:2021:34 | Address | &:r2021_37 | -| ir.cpp:2021:17:2021:34 | Arg(this) | this:r2021_37 | -| ir.cpp:2021:17:2021:34 | CallTarget | func:r2021_39 | -| ir.cpp:2021:17:2021:34 | ChiPartial | partial:m2021_41 | -| ir.cpp:2021:17:2021:34 | ChiPartial | partial:m2021_43 | -| ir.cpp:2021:17:2021:34 | ChiTotal | total:m2020_13 | -| ir.cpp:2021:17:2021:34 | ChiTotal | total:m2021_38 | -| ir.cpp:2021:17:2021:34 | Load | m2021_44 | -| ir.cpp:2021:17:2021:34 | SideEffect | ~m2020_13 | -| ir.cpp:2021:17:2021:34 | StoreValue | r2021_45 | -| ir.cpp:2022:5:2022:5 | Address | &:r2022_1 | -| ir.cpp:2022:5:2022:5 | Address | &:r2022_1 | -| ir.cpp:2022:5:2022:5 | Arg(this) | this:r2022_1 | -| ir.cpp:2022:5:2022:5 | ChiPartial | partial:m2022_19 | -| ir.cpp:2022:5:2022:5 | ChiTotal | total:m2021_20 | -| ir.cpp:2022:5:2022:5 | SideEffect | m2021_20 | -| ir.cpp:2022:7:2022:7 | CallTarget | func:r2022_2 | -| ir.cpp:2022:7:2022:7 | ChiPartial | partial:m2022_15 | -| ir.cpp:2022:7:2022:7 | ChiTotal | total:m2022_7 | -| ir.cpp:2022:7:2022:7 | SideEffect | ~m2022_7 | -| ir.cpp:2022:7:2022:7 | Unary | r2022_14 | -| ir.cpp:2022:9:2022:9 | Address | &:r2022_4 | -| ir.cpp:2022:9:2022:9 | Address | &:r2022_9 | -| ir.cpp:2022:9:2022:9 | Address | &:r2022_31 | -| ir.cpp:2022:9:2022:9 | Address | &:r2022_42 | -| ir.cpp:2022:9:2022:9 | Condition | r2022_5 | -| ir.cpp:2022:9:2022:9 | Load | m2019_6 | -| ir.cpp:2022:9:2022:9 | Load | m2022_8 | -| ir.cpp:2022:9:2022:9 | Phi | from 8:m2022_32 | -| ir.cpp:2022:9:2022:9 | Phi | from 8:~m2022_27 | -| ir.cpp:2022:9:2022:9 | Phi | from 9:m2022_43 | -| ir.cpp:2022:9:2022:9 | Phi | from 9:~m2022_38 | -| ir.cpp:2022:9:2022:9 | StoreValue | r2022_10 | -| ir.cpp:2022:9:2022:51 | Address | &:r2022_3 | -| ir.cpp:2022:9:2022:51 | Address | &:r2022_13 | -| ir.cpp:2022:9:2022:51 | Arg(0) | 0:r2022_13 | -| ir.cpp:2022:9:2022:51 | SideEffect | ~m2022_11 | -| ir.cpp:2022:9:2022:51 | Unary | r2022_3 | -| ir.cpp:2022:9:2022:51 | Unary | r2022_12 | -| ir.cpp:2022:13:2022:30 | Address | &:r2022_22 | -| ir.cpp:2022:13:2022:30 | Address | &:r2022_22 | -| ir.cpp:2022:13:2022:30 | Address | &:r2022_22 | -| ir.cpp:2022:13:2022:30 | Arg(this) | this:r2022_22 | -| ir.cpp:2022:13:2022:30 | CallTarget | func:r2022_24 | -| ir.cpp:2022:13:2022:30 | ChiPartial | partial:m2022_26 | -| ir.cpp:2022:13:2022:30 | ChiPartial | partial:m2022_28 | -| ir.cpp:2022:13:2022:30 | ChiTotal | total:m2021_16 | -| ir.cpp:2022:13:2022:30 | ChiTotal | total:m2022_23 | -| ir.cpp:2022:13:2022:30 | Load | m2022_29 | -| ir.cpp:2022:13:2022:30 | SideEffect | ~m2021_16 | -| ir.cpp:2022:13:2022:30 | StoreValue | r2022_30 | -| ir.cpp:2022:34:2022:51 | Address | &:r2022_33 | -| ir.cpp:2022:34:2022:51 | Address | &:r2022_33 | -| ir.cpp:2022:34:2022:51 | Address | &:r2022_33 | -| ir.cpp:2022:34:2022:51 | Arg(this) | this:r2022_33 | -| ir.cpp:2022:34:2022:51 | CallTarget | func:r2022_35 | -| ir.cpp:2022:34:2022:51 | ChiPartial | partial:m2022_37 | -| ir.cpp:2022:34:2022:51 | ChiPartial | partial:m2022_39 | -| ir.cpp:2022:34:2022:51 | ChiTotal | total:m2021_16 | -| ir.cpp:2022:34:2022:51 | ChiTotal | total:m2022_34 | -| ir.cpp:2022:34:2022:51 | Load | m2022_40 | -| ir.cpp:2022:34:2022:51 | SideEffect | ~m2021_16 | -| ir.cpp:2022:34:2022:51 | StoreValue | r2022_41 | -| ir.cpp:2023:5:2023:19 | ChiPartial | partial:m2023_35 | -| ir.cpp:2023:5:2023:19 | ChiTotal | total:m2023_17 | -| ir.cpp:2023:5:2023:19 | SideEffect | m2023_17 | -| ir.cpp:2023:6:2023:6 | Address | &:r2023_1 | -| ir.cpp:2023:6:2023:6 | Address | &:r2023_1 | -| ir.cpp:2023:6:2023:6 | Arg(this) | this:r2023_1 | -| ir.cpp:2023:6:2023:6 | ChiPartial | partial:m2023_16 | -| ir.cpp:2023:6:2023:6 | ChiTotal | total:m2022_20 | -| ir.cpp:2023:6:2023:6 | SideEffect | m2022_20 | -| ir.cpp:2023:8:2023:8 | CallTarget | func:r2023_2 | -| ir.cpp:2023:8:2023:8 | ChiPartial | partial:m2023_12 | -| ir.cpp:2023:8:2023:8 | ChiTotal | total:m2022_16 | -| ir.cpp:2023:8:2023:8 | SideEffect | ~m2022_16 | -| ir.cpp:2023:8:2023:8 | Unary | r2023_11 | -| ir.cpp:2023:8:2023:19 | Address | &:r2023_18 | -| ir.cpp:2023:8:2023:19 | Address | &:r2023_18 | -| ir.cpp:2023:8:2023:19 | Arg(this) | this:r2023_18 | -| ir.cpp:2023:10:2023:10 | Address | &:r2023_3 | -| ir.cpp:2023:10:2023:10 | Condition | r2023_4 | -| ir.cpp:2023:10:2023:10 | Load | m2019_6 | -| ir.cpp:2023:10:2023:18 | Address | &:r2023_7 | -| ir.cpp:2023:10:2023:18 | Address | &:r2023_10 | -| ir.cpp:2023:10:2023:18 | Address | &:r2023_39 | -| ir.cpp:2023:10:2023:18 | Address | &:r2023_42 | -| ir.cpp:2023:10:2023:18 | Arg(0) | 0:r2023_10 | -| ir.cpp:2023:10:2023:18 | Load | m2023_6 | -| ir.cpp:2023:10:2023:18 | Phi | from 11:m2023_40 | -| ir.cpp:2023:10:2023:18 | Phi | from 12:m2023_43 | -| ir.cpp:2023:10:2023:18 | SideEffect | ~m2023_13 | -| ir.cpp:2023:10:2023:18 | Unary | r2023_8 | -| ir.cpp:2023:10:2023:18 | Unary | r2023_9 | -| ir.cpp:2023:14:2023:14 | StoreValue | r2023_38 | -| ir.cpp:2023:18:2023:18 | StoreValue | r2023_41 | -| ir.cpp:2023:21:2023:21 | CallTarget | func:r2023_19 | -| ir.cpp:2023:21:2023:21 | ChiPartial | partial:m2023_31 | -| ir.cpp:2023:21:2023:21 | ChiTotal | total:m2023_25 | -| ir.cpp:2023:21:2023:21 | SideEffect | ~m2023_25 | -| ir.cpp:2023:21:2023:21 | Unary | r2023_30 | -| ir.cpp:2023:23:2023:40 | Address | &:r2023_20 | -| ir.cpp:2023:23:2023:40 | Address | &:r2023_20 | -| ir.cpp:2023:23:2023:40 | Address | &:r2023_29 | -| ir.cpp:2023:23:2023:40 | Arg(0) | 0:r2023_29 | -| ir.cpp:2023:23:2023:40 | Arg(this) | this:r2023_20 | -| ir.cpp:2023:23:2023:40 | CallTarget | func:r2023_22 | -| ir.cpp:2023:23:2023:40 | ChiPartial | partial:m2023_24 | -| ir.cpp:2023:23:2023:40 | ChiPartial | partial:m2023_26 | -| ir.cpp:2023:23:2023:40 | ChiTotal | total:m2023_13 | -| ir.cpp:2023:23:2023:40 | ChiTotal | total:m2023_21 | -| ir.cpp:2023:23:2023:40 | SideEffect | ~m2023_13 | -| ir.cpp:2023:23:2023:40 | SideEffect | ~m2023_27 | -| ir.cpp:2023:23:2023:40 | Unary | r2023_20 | -| ir.cpp:2023:23:2023:40 | Unary | r2023_28 | -| ir.cpp:2028:14:2028:22 | Address | &:r2028_7 | -| ir.cpp:2028:14:2028:22 | ChiPartial | partial:m2028_3 | -| ir.cpp:2028:14:2028:22 | ChiTotal | total:m2028_2 | -| ir.cpp:2028:14:2028:22 | Load | m2033_2 | -| ir.cpp:2028:14:2028:22 | SideEffect | ~m2030_6 | -| ir.cpp:2028:37:2028:37 | Address | &:r2028_5 | -| ir.cpp:2029:16:2029:16 | Address | &:r2029_1 | -| ir.cpp:2030:3:2030:3 | Address | &:r2030_10 | -| ir.cpp:2030:7:2030:7 | Address | &:r2030_1 | -| ir.cpp:2030:7:2030:7 | Left | r2030_2 | -| ir.cpp:2030:7:2030:7 | Load | m2028_6 | -| ir.cpp:2030:7:2030:13 | Condition | r2030_4 | -| ir.cpp:2030:7:2032:28 | Address | &:r2030_8 | -| ir.cpp:2030:7:2032:28 | Address | &:r2030_12 | -| ir.cpp:2030:7:2032:28 | Address | &:r2030_14 | -| ir.cpp:2030:7:2032:28 | Load | m2030_7 | -| ir.cpp:2030:7:2032:28 | Phi | from 2:m2030_13 | -| ir.cpp:2030:7:2032:28 | Phi | from 2:~m2031_6 | -| ir.cpp:2030:7:2032:28 | Phi | from 3:m2030_15 | -| ir.cpp:2030:7:2032:28 | Phi | from 3:~m2032_6 | -| ir.cpp:2030:7:2032:28 | StoreValue | r2030_9 | -| ir.cpp:2030:11:2030:13 | Right | r2030_3 | -| ir.cpp:2031:6:2031:20 | CallTarget | func:r2031_1 | -| ir.cpp:2031:6:2031:20 | ChiPartial | partial:m2031_5 | -| ir.cpp:2031:6:2031:20 | ChiTotal | total:m2028_4 | -| ir.cpp:2031:6:2031:20 | SideEffect | ~m2028_4 | -| ir.cpp:2031:6:2031:26 | StoreValue | r2031_9 | -| ir.cpp:2031:22:2031:22 | Address | &:r2031_2 | -| ir.cpp:2031:22:2031:22 | Arg(0) | 0:r2031_3 | -| ir.cpp:2031:22:2031:22 | Load | m2028_6 | -| ir.cpp:2031:26:2031:26 | Address | &:r2031_7 | -| ir.cpp:2031:26:2031:26 | Load | m2028_6 | -| ir.cpp:2031:26:2031:26 | Unary | r2031_8 | -| ir.cpp:2032:5:2032:28 | StoreValue | r2032_9 | -| ir.cpp:2032:6:2032:20 | CallTarget | func:r2032_1 | -| ir.cpp:2032:6:2032:20 | ChiPartial | partial:m2032_5 | -| ir.cpp:2032:6:2032:20 | ChiTotal | total:m2028_4 | -| ir.cpp:2032:6:2032:20 | SideEffect | ~m2028_4 | -| ir.cpp:2032:6:2032:27 | Unary | r2032_8 | -| ir.cpp:2032:22:2032:22 | Address | &:r2032_2 | -| ir.cpp:2032:22:2032:22 | Arg(0) | 0:r2032_3 | -| ir.cpp:2032:22:2032:22 | Load | m2028_6 | -| ir.cpp:2032:26:2032:27 | Unary | r2032_7 | -| ir.cpp:2033:1:2033:1 | Address | &:r2033_1 | -| ir.cpp:2035:6:2035:17 | ChiPartial | partial:m2035_3 | -| ir.cpp:2035:6:2035:17 | ChiTotal | total:m2035_2 | -| ir.cpp:2035:6:2035:17 | SideEffect | ~m2038_6 | -| ir.cpp:2036:8:2036:8 | Address | &:r2036_1 | -| ir.cpp:2036:12:2036:18 | Address | &:r2036_4 | -| ir.cpp:2036:12:2036:18 | Arg(0) | 0:r2036_3 | -| ir.cpp:2036:12:2036:18 | CallTarget | func:r2036_2 | -| ir.cpp:2036:12:2036:18 | ChiPartial | partial:m2036_5 | -| ir.cpp:2036:12:2036:18 | ChiTotal | total:m2035_4 | -| ir.cpp:2036:12:2036:18 | SideEffect | ~m2035_4 | -| ir.cpp:2036:12:2036:18 | StoreValue | r2036_8 | -| ir.cpp:2036:12:2036:18 | Unary | r2036_4 | -| ir.cpp:2037:3:2037:4 | Address | &:r2037_4 | -| ir.cpp:2037:3:2037:8 | ChiPartial | partial:m2037_5 | -| ir.cpp:2037:3:2037:8 | ChiTotal | total:m2036_7 | -| ir.cpp:2037:4:2037:4 | Address | &:r2037_2 | -| ir.cpp:2037:4:2037:4 | Load | m2036_9 | -| ir.cpp:2037:4:2037:4 | Unary | r2037_3 | -| ir.cpp:2037:8:2037:8 | StoreValue | r2037_1 | -| ir.cpp:2038:3:2038:10 | CallTarget | func:r2038_1 | -| ir.cpp:2038:3:2038:10 | ChiPartial | partial:m2038_5 | -| ir.cpp:2038:3:2038:10 | ChiTotal | total:m2036_6 | -| ir.cpp:2038:3:2038:10 | SideEffect | ~m2036_6 | -| ir.cpp:2038:10:2038:10 | Address | &:r2038_2 | -| ir.cpp:2038:10:2038:10 | Arg(0) | 0:r2038_3 | -| ir.cpp:2038:10:2038:10 | Load | m2036_9 | -| ir.cpp:2041:7:2041:7 | Address | &:r2041_5 | -| ir.cpp:2041:7:2041:7 | Address | &:r2041_5 | -| ir.cpp:2041:7:2041:7 | Address | &:r2041_7 | -| ir.cpp:2041:7:2041:7 | Address | &:r2041_7 | -| ir.cpp:2041:7:2041:7 | ChiPartial | partial:m2041_3 | -| ir.cpp:2041:7:2041:7 | ChiTotal | total:m2041_2 | -| ir.cpp:2041:7:2041:7 | Load | m2041_6 | -| ir.cpp:2041:7:2041:7 | SideEffect | m2041_3 | -| ir.cpp:2041:7:2041:7 | SideEffect | m2041_8 | -| ir.cpp:2043:10:2043:24 | ChiPartial | partial:m2043_3 | -| ir.cpp:2043:10:2043:24 | ChiTotal | total:m2043_2 | -| ir.cpp:2043:10:2043:24 | SideEffect | m2043_3 | -| ir.cpp:2043:32:2043:32 | Address | &:r2043_5 | -| ir.cpp:2043:32:2043:32 | Address | &:r2043_5 | -| ir.cpp:2043:32:2043:32 | Address | &:r2043_7 | -| ir.cpp:2043:32:2043:32 | Address | &:r2043_7 | -| ir.cpp:2043:32:2043:32 | Load | m2043_6 | -| ir.cpp:2043:32:2043:32 | SideEffect | m2043_8 | -| ir.cpp:2045:13:2045:18 | Address | &:r2045_5 | -| ir.cpp:2045:13:2045:18 | Address | &:r2045_5 | -| ir.cpp:2045:13:2045:18 | Address | &:r2045_7 | -| ir.cpp:2045:13:2045:18 | Address | &:r2045_7 | -| ir.cpp:2045:13:2045:18 | ChiPartial | partial:m2045_3 | -| ir.cpp:2045:13:2045:18 | ChiTotal | total:m2045_2 | -| ir.cpp:2045:13:2045:18 | Load | m2045_6 | -| ir.cpp:2045:13:2045:18 | SideEffect | m2045_3 | -| ir.cpp:2045:13:2045:18 | SideEffect | m2045_8 | -| ir.cpp:2048:7:2048:7 | Address | &:r2048_5 | -| ir.cpp:2048:7:2048:7 | Address | &:r2048_5 | -| ir.cpp:2048:7:2048:7 | Address | &:r2048_7 | -| ir.cpp:2048:7:2048:7 | Address | &:r2048_7 | -| ir.cpp:2048:7:2048:7 | Address | &:r2048_9 | -| ir.cpp:2048:7:2048:7 | Arg(this) | this:r2048_9 | -| ir.cpp:2048:7:2048:7 | CallTarget | func:r2048_10 | -| ir.cpp:2048:7:2048:7 | ChiPartial | partial:m2048_3 | -| ir.cpp:2048:7:2048:7 | ChiPartial | partial:m2048_12 | -| ir.cpp:2048:7:2048:7 | ChiPartial | partial:m2048_14 | -| ir.cpp:2048:7:2048:7 | ChiTotal | total:m2048_2 | -| ir.cpp:2048:7:2048:7 | ChiTotal | total:m2048_4 | -| ir.cpp:2048:7:2048:7 | ChiTotal | total:m2048_8 | -| ir.cpp:2048:7:2048:7 | Load | m2048_6 | -| ir.cpp:2048:7:2048:7 | SideEffect | m2048_15 | -| ir.cpp:2048:7:2048:7 | SideEffect | ~m2048_4 | -| ir.cpp:2048:7:2048:7 | SideEffect | ~m2048_13 | -| ir.cpp:2048:7:2048:7 | Unary | m2048_6 | -| ir.cpp:2051:5:2051:13 | Address | &:r2051_5 | -| ir.cpp:2051:5:2051:13 | Address | &:r2051_5 | -| ir.cpp:2051:5:2051:13 | Address | &:r2051_7 | -| ir.cpp:2051:5:2051:13 | Address | &:r2051_7 | -| ir.cpp:2051:5:2051:13 | ChiPartial | partial:m2051_3 | -| ir.cpp:2051:5:2051:13 | ChiTotal | total:m2051_2 | -| ir.cpp:2051:5:2051:13 | Load | m2051_6 | -| ir.cpp:2051:5:2051:13 | SideEffect | m2051_8 | -| ir.cpp:2051:5:2051:13 | SideEffect | ~m2051_14 | -| ir.cpp:2051:5:2051:13 | Unary | m2051_6 | -| ir.cpp:2051:18:2051:18 | Arg(this) | this:r2051_10 | -| ir.cpp:2051:18:2051:18 | CallTarget | func:r2051_11 | -| ir.cpp:2051:18:2051:18 | ChiPartial | partial:m2051_13 | -| ir.cpp:2051:18:2051:18 | ChiTotal | total:m2051_4 | -| ir.cpp:2051:18:2051:18 | SideEffect | ~m2051_4 | -| ir.cpp:2053:10:2053:24 | ChiPartial | partial:m2053_3 | -| ir.cpp:2053:10:2053:24 | ChiTotal | total:m2053_2 | -| ir.cpp:2053:10:2053:24 | SideEffect | m2053_3 | -| ir.cpp:2053:32:2053:32 | Address | &:r2053_5 | -| ir.cpp:2053:32:2053:32 | Address | &:r2053_5 | -| ir.cpp:2053:32:2053:32 | Address | &:r2053_7 | -| ir.cpp:2053:32:2053:32 | Address | &:r2053_7 | -| ir.cpp:2053:32:2053:32 | Load | m2053_6 | -| ir.cpp:2053:32:2053:32 | SideEffect | m2053_8 | -| ir.cpp:2058:5:2058:18 | Address | &:r2058_5 | -| ir.cpp:2058:5:2058:18 | ChiPartial | partial:m2058_3 | -| ir.cpp:2058:5:2058:18 | ChiTotal | total:m2058_2 | -| ir.cpp:2058:5:2058:18 | Load | m2068_2 | -| ir.cpp:2058:5:2058:18 | SideEffect | ~m2067_6 | -| ir.cpp:2060:12:2060:13 | Address | &:r2060_1 | -| ir.cpp:2060:17:2060:27 | Address | &:r2060_4 | -| ir.cpp:2060:17:2060:27 | Address | &:r2060_8 | -| ir.cpp:2060:17:2060:27 | Arg(0) | 0:r2060_3 | -| ir.cpp:2060:17:2060:27 | Arg(this) | this:r2060_8 | -| ir.cpp:2060:17:2060:27 | CallTarget | func:r2060_2 | -| ir.cpp:2060:17:2060:27 | CallTarget | func:r2060_9 | -| ir.cpp:2060:17:2060:27 | ChiPartial | partial:m2060_5 | -| ir.cpp:2060:17:2060:27 | ChiPartial | partial:m2060_11 | -| ir.cpp:2060:17:2060:27 | ChiPartial | partial:m2060_13 | -| ir.cpp:2060:17:2060:27 | ChiTotal | total:m2058_4 | -| ir.cpp:2060:17:2060:27 | ChiTotal | total:m2060_6 | -| ir.cpp:2060:17:2060:27 | ChiTotal | total:m2060_7 | -| ir.cpp:2060:17:2060:27 | SideEffect | ~m2058_4 | -| ir.cpp:2060:17:2060:27 | SideEffect | ~m2060_6 | -| ir.cpp:2060:17:2060:27 | StoreValue | r2060_8 | -| ir.cpp:2060:17:2060:27 | Unary | r2060_4 | -| ir.cpp:2061:5:2061:13 | CallTarget | func:r2061_1 | -| ir.cpp:2061:5:2061:13 | ChiPartial | partial:m2061_5 | -| ir.cpp:2061:5:2061:13 | ChiTotal | total:m2060_12 | -| ir.cpp:2061:5:2061:13 | SideEffect | ~m2060_12 | -| ir.cpp:2061:12:2061:13 | Address | &:r2061_2 | -| ir.cpp:2061:12:2061:13 | Arg(0) | 0:r2061_3 | -| ir.cpp:2061:12:2061:13 | Load | m2060_15 | -| ir.cpp:2063:12:2063:13 | Address | &:r2063_1 | -| ir.cpp:2063:17:2063:30 | Address | &:r2063_4 | -| ir.cpp:2063:17:2063:30 | Address | &:r2063_8 | -| ir.cpp:2063:17:2063:30 | Arg(0) | 0:r2063_3 | -| ir.cpp:2063:17:2063:30 | Arg(this) | this:r2063_8 | -| ir.cpp:2063:17:2063:30 | CallTarget | func:r2063_2 | -| ir.cpp:2063:17:2063:30 | CallTarget | func:r2063_9 | -| ir.cpp:2063:17:2063:30 | ChiPartial | partial:m2063_5 | -| ir.cpp:2063:17:2063:30 | ChiPartial | partial:m2063_11 | -| ir.cpp:2063:17:2063:30 | ChiPartial | partial:m2063_13 | -| ir.cpp:2063:17:2063:30 | ChiTotal | total:m2061_6 | -| ir.cpp:2063:17:2063:30 | ChiTotal | total:m2063_6 | -| ir.cpp:2063:17:2063:30 | ChiTotal | total:m2063_7 | -| ir.cpp:2063:17:2063:30 | SideEffect | ~m2061_6 | -| ir.cpp:2063:17:2063:30 | SideEffect | ~m2063_6 | -| ir.cpp:2063:17:2063:30 | StoreValue | r2063_15 | -| ir.cpp:2063:17:2063:30 | Unary | r2063_4 | -| ir.cpp:2063:17:2063:30 | Unary | r2063_8 | -| ir.cpp:2064:5:2064:13 | CallTarget | func:r2064_1 | -| ir.cpp:2064:5:2064:13 | ChiPartial | partial:m2064_5 | -| ir.cpp:2064:5:2064:13 | ChiTotal | total:m2063_12 | -| ir.cpp:2064:5:2064:13 | SideEffect | ~m2063_12 | -| ir.cpp:2064:12:2064:13 | Address | &:r2064_2 | -| ir.cpp:2064:12:2064:13 | Arg(0) | 0:r2064_3 | -| ir.cpp:2064:12:2064:13 | Load | m2063_16 | -| ir.cpp:2066:15:2066:15 | Address | &:r2066_1 | -| ir.cpp:2066:19:2066:32 | Address | &:r2066_4 | -| ir.cpp:2066:19:2066:32 | Address | &:r2066_8 | -| ir.cpp:2066:19:2066:32 | Arg(0) | 0:r2066_3 | -| ir.cpp:2066:19:2066:32 | Arg(this) | this:r2066_8 | -| ir.cpp:2066:19:2066:32 | CallTarget | func:r2066_2 | -| ir.cpp:2066:19:2066:32 | CallTarget | func:r2066_9 | -| ir.cpp:2066:19:2066:32 | ChiPartial | partial:m2066_5 | -| ir.cpp:2066:19:2066:32 | ChiPartial | partial:m2066_11 | -| ir.cpp:2066:19:2066:32 | ChiPartial | partial:m2066_13 | -| ir.cpp:2066:19:2066:32 | ChiTotal | total:m2064_6 | -| ir.cpp:2066:19:2066:32 | ChiTotal | total:m2066_6 | -| ir.cpp:2066:19:2066:32 | ChiTotal | total:m2066_7 | -| ir.cpp:2066:19:2066:32 | SideEffect | ~m2064_6 | -| ir.cpp:2066:19:2066:32 | SideEffect | ~m2066_6 | -| ir.cpp:2066:19:2066:32 | StoreValue | r2066_8 | -| ir.cpp:2066:19:2066:32 | Unary | r2066_4 | -| ir.cpp:2067:5:2067:12 | CallTarget | func:r2067_1 | -| ir.cpp:2067:5:2067:12 | ChiPartial | partial:m2067_5 | -| ir.cpp:2067:5:2067:12 | ChiTotal | total:m2066_12 | -| ir.cpp:2067:5:2067:12 | SideEffect | ~m2066_12 | -| ir.cpp:2067:12:2067:12 | Address | &:r2067_2 | -| ir.cpp:2067:12:2067:12 | Arg(0) | 0:r2067_3 | -| ir.cpp:2067:12:2067:12 | Load | m2066_15 | -| ir.cpp:2068:1:2068:1 | Address | &:r2068_1 | -| ir.cpp:2072:6:2072:26 | ChiPartial | partial:m2072_3 | -| ir.cpp:2072:6:2072:26 | ChiTotal | total:m2072_2 | -| ir.cpp:2072:6:2072:26 | SideEffect | ~m2074_5 | -| ir.cpp:2073:13:2073:13 | Address | &:r2073_1 | -| ir.cpp:2073:16:2073:19 | StoreValue | r2073_2 | -| ir.cpp:2074:3:2074:27 | CallTarget | func:r2074_1 | -| ir.cpp:2074:3:2074:27 | ChiPartial | partial:m2074_4 | -| ir.cpp:2074:3:2074:27 | ChiTotal | total:m2072_4 | -| ir.cpp:2074:3:2074:27 | SideEffect | ~m2072_4 | -| ir.cpp:2074:29:2074:29 | Arg(0) | 0:r2074_2 | -| ir.cpp:2079:5:2079:11 | Address | &:r2079_6 | -| ir.cpp:2079:5:2079:11 | ChiPartial | partial:m2079_3 | -| ir.cpp:2079:5:2079:11 | ChiTotal | total:m2079_2 | -| ir.cpp:2079:5:2079:11 | Load | m2084_4 | -| ir.cpp:2079:5:2079:11 | SideEffect | ~m2083_4 | -| ir.cpp:2080:9:2080:9 | Address | &:r2080_1 | -| ir.cpp:2080:13:2080:15 | CallTarget | func:r2080_2 | -| ir.cpp:2080:13:2080:15 | ChiPartial | partial:m2080_6 | -| ir.cpp:2080:13:2080:15 | ChiTotal | total:m2079_4 | -| ir.cpp:2080:13:2080:15 | SideEffect | ~m2079_4 | -| ir.cpp:2080:13:2080:15 | StoreValue | r2080_5 | -| ir.cpp:2080:17:2080:17 | Arg(0) | 0:r2080_3 | -| ir.cpp:2080:19:2080:19 | Arg(1) | 1:r2080_4 | -| ir.cpp:2081:9:2081:9 | Address | &:r2081_1 | -| ir.cpp:2081:9:2081:9 | Left | r2081_2 | -| ir.cpp:2081:9:2081:9 | Load | m2080_8 | -| ir.cpp:2081:9:2081:14 | Condition | r2081_4 | -| ir.cpp:2081:14:2081:14 | Right | r2081_3 | -| ir.cpp:2082:9:2082:12 | CallTarget | func:r2082_1 | -| ir.cpp:2082:9:2082:12 | ChiPartial | partial:m2082_4 | -| ir.cpp:2082:9:2082:12 | ChiTotal | total:m2080_7 | -| ir.cpp:2082:9:2082:12 | SideEffect | ~m2080_7 | -| ir.cpp:2082:14:2082:14 | Arg(0) | 0:r2082_2 | -| ir.cpp:2083:5:2083:12 | CallTarget | func:r2083_1 | -| ir.cpp:2083:5:2083:12 | ChiPartial | partial:m2083_3 | -| ir.cpp:2083:5:2083:12 | ChiTotal | total:m2080_7 | -| ir.cpp:2083:5:2083:12 | SideEffect | ~m2080_7 | -| ir.cpp:2084:5:2084:13 | Address | &:r2084_1 | -| ir.cpp:2084:12:2084:12 | Address | &:r2084_2 | -| ir.cpp:2084:12:2084:12 | Load | m2080_8 | -| ir.cpp:2084:12:2084:12 | StoreValue | r2084_3 | -| ir.cpp:2087:6:2087:17 | ChiPartial | partial:m2087_3 | -| ir.cpp:2087:6:2087:17 | ChiTotal | total:m2087_2 | -| ir.cpp:2088:5:2088:12 | CallTarget | func:r2088_1 | -| ir.cpp:2088:5:2088:12 | ChiPartial | partial:m2088_3 | -| ir.cpp:2088:5:2088:12 | ChiTotal | total:m2087_4 | -| ir.cpp:2088:5:2088:12 | SideEffect | ~m2087_4 | -| ir.cpp:2089:5:2089:8 | CallTarget | func:r2089_1 | -| ir.cpp:2089:5:2089:8 | ChiPartial | partial:m2089_4 | -| ir.cpp:2089:5:2089:8 | ChiTotal | total:m2088_4 | -| ir.cpp:2089:5:2089:8 | SideEffect | ~m2088_4 | -| ir.cpp:2089:10:2089:10 | Arg(0) | 0:r2089_2 | -| ir.cpp:2092:5:2092:16 | Address | &:r2092_6 | -| ir.cpp:2092:5:2092:16 | ChiPartial | partial:m2092_3 | -| ir.cpp:2092:5:2092:16 | ChiTotal | total:m2092_2 | -| ir.cpp:2092:5:2092:16 | Load | m2097_4 | -| ir.cpp:2092:5:2092:16 | SideEffect | ~m2096_4 | -| ir.cpp:2093:9:2093:9 | Address | &:r2093_1 | -| ir.cpp:2093:13:2093:15 | CallTarget | func:r2093_2 | -| ir.cpp:2093:13:2093:15 | ChiPartial | partial:m2093_6 | -| ir.cpp:2093:13:2093:15 | ChiTotal | total:m2092_4 | -| ir.cpp:2093:13:2093:15 | SideEffect | ~m2092_4 | -| ir.cpp:2093:13:2093:15 | StoreValue | r2093_5 | -| ir.cpp:2093:17:2093:17 | Arg(0) | 0:r2093_3 | -| ir.cpp:2093:19:2093:19 | Arg(1) | 1:r2093_4 | -| ir.cpp:2094:9:2094:9 | Address | &:r2094_1 | -| ir.cpp:2094:9:2094:9 | Left | r2094_2 | -| ir.cpp:2094:9:2094:9 | Load | m2093_8 | -| ir.cpp:2094:9:2094:14 | Condition | r2094_4 | -| ir.cpp:2094:14:2094:14 | Right | r2094_3 | -| ir.cpp:2095:9:2095:20 | CallTarget | func:r2095_1 | -| ir.cpp:2096:5:2096:12 | CallTarget | func:r2096_1 | -| ir.cpp:2096:5:2096:12 | ChiPartial | partial:m2096_3 | -| ir.cpp:2096:5:2096:12 | ChiTotal | total:m2093_7 | -| ir.cpp:2096:5:2096:12 | SideEffect | ~m2093_7 | -| ir.cpp:2097:5:2097:13 | Address | &:r2097_1 | -| ir.cpp:2097:12:2097:12 | Address | &:r2097_2 | -| ir.cpp:2097:12:2097:12 | Load | m2093_8 | -| ir.cpp:2097:12:2097:12 | StoreValue | r2097_3 | -| ir.cpp:2100:6:2100:24 | ChiPartial | partial:m2100_3 | -| ir.cpp:2100:6:2100:24 | ChiTotal | total:m2100_2 | -| ir.cpp:2100:6:2100:24 | SideEffect | ~m2106_8 | -| ir.cpp:2100:33:2100:33 | Address | &:r2100_5 | -| ir.cpp:2101:3:2101:12 | Address | &:r2101_6 | -| ir.cpp:2101:3:2101:12 | Arg(0) | 0:r2101_5 | -| ir.cpp:2101:3:2101:12 | CallTarget | func:r2101_1 | -| ir.cpp:2101:3:2101:12 | ChiPartial | partial:m2101_7 | -| ir.cpp:2101:3:2101:12 | ChiTotal | total:m2100_4 | -| ir.cpp:2101:3:2101:12 | Right | r2101_4 | -| ir.cpp:2101:3:2101:12 | SideEffect | ~m2100_4 | -| ir.cpp:2101:3:2101:12 | Unary | r2101_6 | -| ir.cpp:2101:11:2101:11 | Address | &:r2101_2 | -| ir.cpp:2101:11:2101:11 | Left | r2101_3 | -| ir.cpp:2101:11:2101:11 | Load | m2100_6 | -| ir.cpp:2102:3:2102:18 | Address | &:r2102_7 | -| ir.cpp:2102:3:2102:18 | Arg(0) | 0:r2102_5 | -| ir.cpp:2102:3:2102:18 | CallTarget | func:r2102_1 | -| ir.cpp:2102:3:2102:18 | ChiPartial | partial:m2102_8 | -| ir.cpp:2102:3:2102:18 | ChiTotal | total:m2101_8 | -| ir.cpp:2102:3:2102:18 | Right | r2102_4 | -| ir.cpp:2102:3:2102:18 | SideEffect | ~m2101_8 | -| ir.cpp:2102:3:2102:18 | Unary | r2102_7 | -| ir.cpp:2102:7:2102:10 | Arg(1) | 1:r2102_6 | -| ir.cpp:2102:17:2102:17 | Address | &:r2102_2 | -| ir.cpp:2102:17:2102:17 | Left | r2102_3 | -| ir.cpp:2102:17:2102:17 | Load | m2100_6 | -| ir.cpp:2103:3:2103:15 | Address | &:r2103_6 | -| ir.cpp:2103:3:2103:15 | Arg(0) | 0:r2103_5 | -| ir.cpp:2103:3:2103:15 | CallTarget | func:r2103_1 | -| ir.cpp:2103:3:2103:15 | ChiPartial | partial:m2103_7 | -| ir.cpp:2103:3:2103:15 | ChiTotal | total:m2102_9 | -| ir.cpp:2103:3:2103:15 | Right | r2103_4 | -| ir.cpp:2103:3:2103:15 | SideEffect | ~m2102_9 | -| ir.cpp:2103:3:2103:15 | Unary | r2103_6 | -| ir.cpp:2103:14:2103:14 | Address | &:r2103_2 | -| ir.cpp:2103:14:2103:14 | Left | r2103_3 | -| ir.cpp:2103:14:2103:14 | Load | m2100_6 | -| ir.cpp:2104:3:2104:20 | Address | &:r2104_7 | -| ir.cpp:2104:3:2104:20 | Arg(0) | 0:r2104_5 | -| ir.cpp:2104:3:2104:20 | CallTarget | func:r2104_1 | -| ir.cpp:2104:3:2104:20 | ChiPartial | partial:m2104_8 | -| ir.cpp:2104:3:2104:20 | ChiTotal | total:m2103_8 | -| ir.cpp:2104:3:2104:20 | Right | r2104_4 | -| ir.cpp:2104:3:2104:20 | SideEffect | ~m2103_8 | -| ir.cpp:2104:3:2104:20 | Unary | r2104_7 | -| ir.cpp:2104:19:2104:19 | Address | &:r2104_2 | -| ir.cpp:2104:19:2104:19 | Left | r2104_3 | -| ir.cpp:2104:19:2104:19 | Load | m2100_6 | -| ir.cpp:2104:21:2104:21 | Arg(1) | 1:r2104_6 | -| ir.cpp:2105:3:2105:36 | Address | &:r2105_6 | -| ir.cpp:2105:3:2105:36 | Arg(0) | 0:r2105_5 | -| ir.cpp:2105:3:2105:36 | CallTarget | func:r2105_1 | -| ir.cpp:2105:3:2105:36 | ChiPartial | partial:m2105_7 | -| ir.cpp:2105:3:2105:36 | ChiTotal | total:m2104_9 | -| ir.cpp:2105:3:2105:36 | Right | r2105_4 | -| ir.cpp:2105:3:2105:36 | SideEffect | ~m2104_9 | -| ir.cpp:2105:3:2105:36 | Unary | r2105_6 | -| ir.cpp:2105:35:2105:35 | Address | &:r2105_2 | -| ir.cpp:2105:35:2105:35 | Left | r2105_3 | -| ir.cpp:2105:35:2105:35 | Load | m2100_6 | -| ir.cpp:2106:3:2106:24 | Address | &:r2106_6 | -| ir.cpp:2106:3:2106:24 | Arg(0) | 0:r2106_5 | -| ir.cpp:2106:3:2106:24 | CallTarget | func:r2106_1 | -| ir.cpp:2106:3:2106:24 | ChiPartial | partial:m2106_7 | -| ir.cpp:2106:3:2106:24 | ChiTotal | total:m2105_8 | -| ir.cpp:2106:3:2106:24 | Right | r2106_4 | -| ir.cpp:2106:3:2106:24 | SideEffect | ~m2105_8 | -| ir.cpp:2106:3:2106:24 | Unary | r2106_6 | -| ir.cpp:2106:11:2106:11 | Address | &:r2106_2 | -| ir.cpp:2106:11:2106:11 | Left | r2106_3 | -| ir.cpp:2106:11:2106:11 | Load | m2100_6 | -| ir.cpp:2111:7:2111:17 | Address | &:r2111_10 | -| ir.cpp:2111:7:2111:17 | ChiPartial | partial:m2111_3 | -| ir.cpp:2111:7:2111:17 | ChiTotal | total:m2111_2 | -| ir.cpp:2111:7:2111:17 | Load | m2114_4 | -| ir.cpp:2111:7:2111:17 | SideEffect | m2111_3 | -| ir.cpp:2111:25:2111:25 | Address | &:r2111_5 | -| ir.cpp:2111:25:2111:25 | Address | &:r2111_5 | -| ir.cpp:2111:25:2111:25 | Address | &:r2111_7 | -| ir.cpp:2111:25:2111:25 | Address | &:r2111_7 | -| ir.cpp:2111:25:2111:25 | Load | m2111_6 | -| ir.cpp:2111:25:2111:25 | SideEffect | m2111_8 | -| ir.cpp:2112:9:2112:11 | Address | &:r2112_1 | -| ir.cpp:2113:10:2113:10 | Address | &:r2113_1 | -| ir.cpp:2113:14:2113:19 | CallTarget | func:r2113_2 | -| ir.cpp:2113:14:2113:19 | StoreValue | r2113_8 | -| ir.cpp:2113:21:2113:21 | Address | &:r2113_3 | -| ir.cpp:2113:21:2113:21 | Address | &:r2113_5 | -| ir.cpp:2113:21:2113:21 | Arg(0) | 0:r2113_5 | -| ir.cpp:2113:21:2113:21 | Load | m2111_6 | -| ir.cpp:2113:21:2113:21 | SideEffect | ~m2111_8 | -| ir.cpp:2113:21:2113:21 | Unary | r2113_4 | -| ir.cpp:2113:24:2113:27 | Address | &:r2113_7 | -| ir.cpp:2113:24:2113:27 | Arg(1) | 1:r2113_7 | -| ir.cpp:2113:24:2113:27 | ChiPartial | partial:m2113_10 | -| ir.cpp:2113:24:2113:27 | ChiTotal | total:m2112_2 | -| ir.cpp:2113:25:2113:27 | Unary | r2113_6 | -| ir.cpp:2114:3:2114:13 | Address | &:r2114_1 | -| ir.cpp:2114:10:2114:12 | Address | &:r2114_2 | -| ir.cpp:2114:10:2114:12 | Load | m2113_11 | -| ir.cpp:2114:10:2114:12 | StoreValue | r2114_3 | -| ir.cpp:2121:6:2121:39 | ChiPartial | partial:m2121_3 | -| ir.cpp:2121:6:2121:39 | ChiTotal | total:m2121_2 | -| ir.cpp:2121:6:2121:39 | SideEffect | ~m2122_8 | -| ir.cpp:2122:6:2122:42 | Address | &:r2122_1 | -| ir.cpp:2122:6:2122:42 | Condition | r2122_12 | -| ir.cpp:2122:22:2122:22 | Address | &:r2122_4 | -| ir.cpp:2122:22:2122:22 | Address | &:r2122_4 | -| ir.cpp:2122:22:2122:22 | Arg(this) | this:r2122_4 | -| ir.cpp:2122:22:2122:22 | CallTarget | func:r2122_5 | -| ir.cpp:2122:22:2122:22 | ChiPartial | partial:m2122_7 | -| ir.cpp:2122:22:2122:22 | ChiPartial | partial:m2122_10 | -| ir.cpp:2122:22:2122:22 | ChiTotal | total:m2121_4 | -| ir.cpp:2122:22:2122:22 | ChiTotal | total:m2122_3 | -| ir.cpp:2122:22:2122:22 | SideEffect | m2122_3 | -| ir.cpp:2122:22:2122:22 | SideEffect | ~m2121_4 | -| ir.cpp:2122:22:2122:22 | Unary | r2122_6 | -| ir.cpp:2122:25:2122:42 | StoreValue | r2122_2 | -| ir.cpp:2125:7:2125:7 | Address | &:r2125_5 | -| ir.cpp:2125:7:2125:7 | Address | &:r2125_5 | -| ir.cpp:2125:7:2125:7 | Address | &:r2125_7 | -| ir.cpp:2125:7:2125:7 | Address | &:r2125_7 | -| ir.cpp:2125:7:2125:7 | Address | &:r2125_9 | -| ir.cpp:2125:7:2125:7 | Address | &:r2125_10 | -| ir.cpp:2125:7:2125:7 | Address | &:r2125_13 | -| ir.cpp:2125:7:2125:7 | ChiPartial | partial:m2125_3 | -| ir.cpp:2125:7:2125:7 | ChiPartial | partial:m2125_15 | -| ir.cpp:2125:7:2125:7 | ChiTotal | total:m2125_2 | -| ir.cpp:2125:7:2125:7 | ChiTotal | total:m2125_8 | -| ir.cpp:2125:7:2125:7 | Load | m0_2 | -| ir.cpp:2125:7:2125:7 | Load | m2125_6 | -| ir.cpp:2125:7:2125:7 | Load | ~m0_4 | -| ir.cpp:2125:7:2125:7 | SideEffect | m2125_3 | -| ir.cpp:2125:7:2125:7 | SideEffect | m2125_16 | -| ir.cpp:2125:7:2125:7 | StoreValue | r2125_14 | -| ir.cpp:2125:7:2125:7 | Unary | m2125_6 | -| ir.cpp:2125:7:2125:7 | Unary | r2125_11 | -| ir.cpp:2125:7:2125:7 | Unary | r2125_12 | -| ir.cpp:2128:5:2128:23 | Address | &:r2128_5 | -| ir.cpp:2128:5:2128:23 | Address | &:r2128_5 | -| ir.cpp:2128:5:2128:23 | Address | &:r2128_7 | -| ir.cpp:2128:5:2128:23 | Address | &:r2128_7 | -| ir.cpp:2128:5:2128:23 | ChiPartial | partial:m2128_3 | -| ir.cpp:2128:5:2128:23 | ChiTotal | total:m2128_2 | -| ir.cpp:2128:5:2128:23 | Load | m2128_6 | -| ir.cpp:2128:5:2128:23 | SideEffect | m2128_20 | -| ir.cpp:2128:5:2128:23 | SideEffect | ~m2128_13 | -| ir.cpp:2128:29:2128:29 | Address | &:r2128_16 | -| ir.cpp:2128:29:2128:29 | Address | &:r2128_18 | -| ir.cpp:2128:29:2128:29 | Load | m2128_6 | -| ir.cpp:2128:29:2128:29 | Unary | r2128_17 | -| ir.cpp:2128:29:2128:40 | ChiPartial | partial:m2128_19 | -| ir.cpp:2128:29:2128:40 | ChiTotal | total:m2128_8 | -| ir.cpp:2128:33:2128:40 | Address | &:r2128_11 | -| ir.cpp:2128:33:2128:40 | Arg(0) | 0:r2128_10 | -| ir.cpp:2128:33:2128:40 | CallTarget | func:r2128_9 | -| ir.cpp:2128:33:2128:40 | ChiPartial | partial:m2128_12 | -| ir.cpp:2128:33:2128:40 | ChiTotal | total:m2128_4 | -| ir.cpp:2128:33:2128:40 | SideEffect | ~m2128_4 | -| ir.cpp:2128:33:2128:40 | StoreValue | r2128_15 | -| ir.cpp:2128:33:2128:40 | Unary | r2128_11 | -| ir.cpp:2129:5:2129:24 | Address | &:r2129_5 | -| ir.cpp:2129:5:2129:24 | Address | &:r2129_5 | -| ir.cpp:2129:5:2129:24 | Address | &:r2129_7 | -| ir.cpp:2129:5:2129:24 | Address | &:r2129_7 | -| ir.cpp:2129:5:2129:24 | ChiPartial | partial:m2129_3 | -| ir.cpp:2129:5:2129:24 | ChiTotal | total:m2129_2 | -| ir.cpp:2129:5:2129:24 | Load | m2129_6 | -| ir.cpp:2129:5:2129:24 | SideEffect | m2129_8 | -| ir.cpp:2129:5:2129:24 | SideEffect | ~m2129_16 | -| ir.cpp:2129:30:2129:37 | CallTarget | func:r2129_9 | -| ir.cpp:2129:30:2129:37 | ChiPartial | partial:m2129_15 | -| ir.cpp:2129:30:2129:37 | ChiTotal | total:m2129_4 | -| ir.cpp:2129:30:2129:37 | SideEffect | ~m2129_4 | -| ir.cpp:2129:37:2129:37 | Address | &:r2129_10 | -| ir.cpp:2129:37:2129:37 | Address | &:r2129_12 | -| ir.cpp:2129:37:2129:37 | Arg(0) | 0:r2129_13 | -| ir.cpp:2129:37:2129:37 | Load | m2129_6 | -| ir.cpp:2129:37:2129:37 | Load | ~m2129_8 | -| ir.cpp:2129:37:2129:37 | Unary | r2129_11 | -| ir.cpp:2131:10:2131:14 | Address | &:r2131_5 | -| ir.cpp:2131:10:2131:14 | Address | &:r2131_5 | -| ir.cpp:2131:10:2131:14 | Address | &:r2131_7 | -| ir.cpp:2131:10:2131:14 | Address | &:r2131_7 | -| ir.cpp:2131:10:2131:14 | ChiPartial | partial:m2131_3 | -| ir.cpp:2131:10:2131:14 | ChiTotal | total:m2131_2 | -| ir.cpp:2131:10:2131:14 | Load | m2131_6 | -| ir.cpp:2131:10:2131:14 | SideEffect | m2131_8 | -| ir.cpp:2131:10:2131:14 | SideEffect | ~m2131_19 | -| ir.cpp:2131:21:2131:21 | Address | &:r2131_9 | -| ir.cpp:2131:26:2131:27 | Address | &:r2131_17 | -| ir.cpp:2131:26:2131:31 | ChiPartial | partial:m2131_18 | -| ir.cpp:2131:26:2131:31 | ChiTotal | total:m2131_4 | -| ir.cpp:2131:27:2131:27 | Address | &:r2131_13 | -| ir.cpp:2131:27:2131:27 | Address | &:r2131_15 | -| ir.cpp:2131:27:2131:27 | Load | m2131_6 | -| ir.cpp:2131:27:2131:27 | Load | ~m2131_8 | -| ir.cpp:2131:27:2131:27 | Unary | r2131_14 | -| ir.cpp:2131:27:2131:27 | Unary | r2131_16 | -| ir.cpp:2131:31:2131:31 | Address | &:r2131_11 | -| ir.cpp:2131:31:2131:31 | Load | m2131_10 | -| ir.cpp:2131:31:2131:31 | StoreValue | r2131_12 | -| ir.cpp:2132:10:2132:14 | Address | &:r2132_5 | -| ir.cpp:2132:10:2132:14 | Address | &:r2132_5 | -| ir.cpp:2132:10:2132:14 | Address | &:r2132_7 | -| ir.cpp:2132:10:2132:14 | Address | &:r2132_7 | -| ir.cpp:2132:10:2132:14 | Address | &:r2132_17 | -| ir.cpp:2132:10:2132:14 | ChiPartial | partial:m2132_3 | -| ir.cpp:2132:10:2132:14 | ChiTotal | total:m2132_2 | -| ir.cpp:2132:10:2132:14 | Load | m2132_6 | -| ir.cpp:2132:10:2132:14 | Load | m2132_15 | -| ir.cpp:2132:10:2132:14 | SideEffect | m2132_3 | -| ir.cpp:2132:10:2132:14 | SideEffect | m2132_8 | -| ir.cpp:2132:20:2132:29 | Address | &:r2132_9 | -| ir.cpp:2132:27:2132:28 | Load | ~m2132_4 | -| ir.cpp:2132:27:2132:28 | StoreValue | r2132_14 | -| ir.cpp:2132:28:2132:28 | Address | &:r2132_10 | -| ir.cpp:2132:28:2132:28 | Address | &:r2132_12 | -| ir.cpp:2132:28:2132:28 | Address | &:r2132_13 | -| ir.cpp:2132:28:2132:28 | Load | m2132_6 | -| ir.cpp:2132:28:2132:28 | Load | ~m2132_8 | -| ir.cpp:2132:28:2132:28 | Unary | r2132_11 | -| ir.cpp:2135:16:2135:50 | Address | &:r2135_3 | -| ir.cpp:2135:16:2135:50 | SideEffect | ~m2135_6 | -| ir.cpp:2135:54:2135:57 | ChiPartial | partial:m2135_5 | -| ir.cpp:2135:54:2135:57 | ChiTotal | total:m2135_2 | -| ir.cpp:2135:54:2135:57 | StoreValue | r2135_4 | -| ir.cpp:2137:6:2137:35 | ChiPartial | partial:m2137_3 | -| ir.cpp:2137:6:2137:35 | ChiTotal | total:m2137_2 | -| ir.cpp:2137:6:2137:35 | Phi | from 13:~m2172_5 | -| ir.cpp:2137:6:2137:35 | Phi | from 19:~m2172_13 | -| ir.cpp:2137:6:2137:35 | Phi | from 23:~m2172_22 | -| ir.cpp:2137:6:2137:35 | SideEffect | ~m2137_9 | -| ir.cpp:2137:42:2137:42 | Address | &:r2137_5 | -| ir.cpp:2137:50:2137:50 | Address | &:r2137_7 | -| ir.cpp:2138:29:2138:29 | Address | &:r2138_1 | -| ir.cpp:2138:29:2138:29 | Address | &:r2138_1 | -| ir.cpp:2138:29:2138:29 | Arg(this) | this:r2138_1 | -| ir.cpp:2138:29:2138:29 | CallTarget | func:r2138_3 | -| ir.cpp:2138:29:2138:29 | ChiPartial | partial:m2138_5 | -| ir.cpp:2138:29:2138:29 | ChiPartial | partial:m2138_7 | -| ir.cpp:2138:29:2138:29 | ChiTotal | total:m2137_4 | -| ir.cpp:2138:29:2138:29 | ChiTotal | total:m2138_2 | -| ir.cpp:2138:29:2138:29 | SideEffect | ~m2137_4 | -| ir.cpp:2138:32:2138:32 | Address | &:r2138_9 | -| ir.cpp:2138:32:2138:32 | Condition | r2138_10 | -| ir.cpp:2138:32:2138:32 | Load | m2137_6 | -| ir.cpp:2139:9:2139:9 | Address | &:r2139_1 | -| ir.cpp:2139:9:2139:9 | Address | &:r2139_1 | -| ir.cpp:2139:9:2139:9 | Arg(this) | this:r2139_1 | -| ir.cpp:2139:9:2139:9 | ChiPartial | partial:m2139_8 | -| ir.cpp:2139:9:2139:9 | ChiTotal | total:m2138_8 | -| ir.cpp:2139:9:2139:9 | SideEffect | m2138_8 | -| ir.cpp:2139:11:2139:15 | CallTarget | func:r2139_2 | -| ir.cpp:2139:11:2139:15 | ChiPartial | partial:m2139_5 | -| ir.cpp:2139:11:2139:15 | ChiTotal | total:m2138_6 | -| ir.cpp:2139:11:2139:15 | SideEffect | ~m2138_6 | -| ir.cpp:2139:17:2139:19 | Arg(0) | 0:r2139_3 | -| ir.cpp:2139:21:2139:21 | Address | &:r2139_10 | -| ir.cpp:2139:21:2139:21 | Address | &:r2139_10 | -| ir.cpp:2139:21:2139:21 | Arg(this) | this:r2139_10 | -| ir.cpp:2139:21:2139:21 | CallTarget | func:r2139_11 | -| ir.cpp:2139:21:2139:21 | ChiPartial | partial:m2139_13 | -| ir.cpp:2139:21:2139:21 | ChiPartial | partial:m2139_16 | -| ir.cpp:2139:21:2139:21 | ChiTotal | total:m2139_6 | -| ir.cpp:2139:21:2139:21 | ChiTotal | total:m2139_9 | -| ir.cpp:2139:21:2139:21 | SideEffect | m2139_9 | -| ir.cpp:2139:21:2139:21 | SideEffect | ~m2139_6 | -| ir.cpp:2141:39:2141:39 | Address | &:r2141_2 | -| ir.cpp:2141:39:2141:39 | Address | &:r2141_2 | -| ir.cpp:2141:39:2141:39 | Arg(this) | this:r2141_2 | -| ir.cpp:2141:39:2141:39 | CallTarget | func:r2141_4 | -| ir.cpp:2141:39:2141:39 | ChiPartial | partial:m2141_6 | -| ir.cpp:2141:39:2141:39 | ChiPartial | partial:m2141_8 | -| ir.cpp:2141:39:2141:39 | ChiTotal | total:m2141_1 | -| ir.cpp:2141:39:2141:39 | ChiTotal | total:m2141_3 | -| ir.cpp:2141:39:2141:39 | Phi | from 0:~m2138_6 | -| ir.cpp:2141:39:2141:39 | Phi | from 2:~m2139_14 | -| ir.cpp:2141:39:2141:39 | SideEffect | ~m2141_1 | -| ir.cpp:2141:42:2141:76 | Condition | r2141_10 | -| ir.cpp:2142:9:2142:9 | Address | &:r2142_1 | -| ir.cpp:2142:9:2142:9 | Address | &:r2142_1 | -| ir.cpp:2142:9:2142:9 | Arg(this) | this:r2142_1 | -| ir.cpp:2142:9:2142:9 | ChiPartial | partial:m2142_8 | -| ir.cpp:2142:9:2142:9 | ChiTotal | total:m2141_9 | -| ir.cpp:2142:9:2142:9 | SideEffect | m2141_9 | -| ir.cpp:2142:11:2142:15 | CallTarget | func:r2142_2 | -| ir.cpp:2142:11:2142:15 | ChiPartial | partial:m2142_5 | -| ir.cpp:2142:11:2142:15 | ChiTotal | total:m2141_7 | -| ir.cpp:2142:11:2142:15 | SideEffect | ~m2141_7 | -| ir.cpp:2142:17:2142:19 | Arg(0) | 0:r2142_3 | -| ir.cpp:2144:32:2144:32 | Address | &:r2144_1 | -| ir.cpp:2144:32:2144:32 | Address | &:r2144_1 | -| ir.cpp:2144:32:2144:32 | Arg(this) | this:r2144_1 | -| ir.cpp:2144:32:2144:32 | CallTarget | func:r2144_3 | -| ir.cpp:2144:32:2144:32 | ChiPartial | partial:m2144_5 | -| ir.cpp:2144:32:2144:32 | ChiPartial | partial:m2144_7 | -| ir.cpp:2144:32:2144:32 | ChiTotal | total:m2142_6 | -| ir.cpp:2144:32:2144:32 | ChiTotal | total:m2144_2 | -| ir.cpp:2144:32:2144:32 | SideEffect | ~m2142_6 | -| ir.cpp:2144:35:2144:35 | Address | &:r2144_9 | -| ir.cpp:2144:35:2144:35 | Condition | r2144_11 | -| ir.cpp:2144:35:2144:35 | Load | m2137_8 | -| ir.cpp:2144:35:2144:35 | Unary | r2144_10 | -| ir.cpp:2146:11:2146:11 | Address | &:r2146_1 | -| ir.cpp:2146:11:2146:11 | Address | &:r2146_1 | -| ir.cpp:2146:11:2146:11 | Arg(this) | this:r2146_1 | -| ir.cpp:2146:11:2146:11 | ChiPartial | partial:m2146_8 | -| ir.cpp:2146:11:2146:11 | ChiTotal | total:m2144_8 | -| ir.cpp:2146:11:2146:11 | SideEffect | m2144_8 | -| ir.cpp:2146:13:2146:17 | CallTarget | func:r2146_2 | -| ir.cpp:2146:13:2146:17 | ChiPartial | partial:m2146_5 | -| ir.cpp:2146:13:2146:17 | ChiTotal | total:m2144_6 | -| ir.cpp:2146:13:2146:17 | SideEffect | ~m2144_6 | -| ir.cpp:2146:19:2146:21 | Arg(0) | 0:r2146_3 | -| ir.cpp:2149:11:2149:11 | Address | &:r2149_1 | -| ir.cpp:2149:11:2149:11 | Address | &:r2149_1 | -| ir.cpp:2149:11:2149:11 | Arg(this) | this:r2149_1 | -| ir.cpp:2149:11:2149:11 | ChiPartial | partial:m2149_8 | -| ir.cpp:2149:11:2149:11 | ChiTotal | total:m2144_8 | -| ir.cpp:2149:11:2149:11 | SideEffect | m2144_8 | -| ir.cpp:2149:13:2149:17 | CallTarget | func:r2149_2 | -| ir.cpp:2149:13:2149:17 | ChiPartial | partial:m2149_5 | -| ir.cpp:2149:13:2149:17 | ChiTotal | total:m2144_6 | -| ir.cpp:2149:13:2149:17 | SideEffect | ~m2144_6 | -| ir.cpp:2149:19:2149:21 | Arg(0) | 0:r2149_3 | -| ir.cpp:2151:5:2151:5 | Phi | from 5:~m2146_6 | -| ir.cpp:2151:5:2151:5 | Phi | from 6:~m2149_6 | -| ir.cpp:2153:25:2153:25 | Address | &:r2153_1 | -| ir.cpp:2153:25:2153:25 | Address | &:r2153_1 | -| ir.cpp:2153:25:2153:25 | Arg(this) | this:r2153_1 | -| ir.cpp:2153:25:2153:25 | CallTarget | func:r2153_3 | -| ir.cpp:2153:25:2153:25 | ChiPartial | partial:m2153_5 | -| ir.cpp:2153:25:2153:25 | ChiPartial | partial:m2153_7 | -| ir.cpp:2153:25:2153:25 | ChiTotal | total:m2151_1 | -| ir.cpp:2153:25:2153:25 | ChiTotal | total:m2153_2 | -| ir.cpp:2153:25:2153:25 | SideEffect | ~m2151_1 | -| ir.cpp:2154:5:2154:5 | Address | &:r2154_14 | -| ir.cpp:2154:5:2154:5 | Address | &:r2154_18 | -| ir.cpp:2154:5:2154:5 | Address | &:r2154_26 | -| ir.cpp:2154:37:2154:38 | Address | &:r2154_1 | -| ir.cpp:2154:37:2154:38 | Address | &:r2154_1 | -| ir.cpp:2154:37:2154:38 | Arg(this) | this:r2154_1 | -| ir.cpp:2154:40:2154:40 | Address | &:r2154_4 | -| ir.cpp:2154:40:2154:40 | Address | &:r2154_4 | -| ir.cpp:2154:40:2154:40 | Address | &:r2154_5 | -| ir.cpp:2154:40:2154:40 | Arg(0) | 0:r2154_8 | -| ir.cpp:2154:40:2154:40 | Load | m2153_8 | -| ir.cpp:2154:40:2154:40 | Load | m2154_7 | -| ir.cpp:2154:40:2154:40 | StoreValue | r2154_6 | -| ir.cpp:2154:40:2154:41 | CallTarget | func:r2154_3 | -| ir.cpp:2154:40:2154:41 | ChiPartial | partial:m2154_10 | -| ir.cpp:2154:40:2154:41 | ChiPartial | partial:m2154_12 | -| ir.cpp:2154:40:2154:41 | ChiTotal | total:m2153_6 | -| ir.cpp:2154:40:2154:41 | ChiTotal | total:m2154_2 | -| ir.cpp:2154:40:2154:41 | SideEffect | ~m2153_6 | -| ir.cpp:2154:64:2154:64 | Address | &:r2154_44 | -| ir.cpp:2154:64:2154:64 | Address | &:r2154_52 | -| ir.cpp:2154:64:2154:64 | Address | &:r2154_52 | -| ir.cpp:2154:64:2154:64 | Arg(this) | this:r2154_52 | -| ir.cpp:2154:64:2154:64 | CallTarget | func:r2154_53 | -| ir.cpp:2154:64:2154:64 | ChiPartial | partial:m2154_55 | -| ir.cpp:2154:64:2154:64 | ChiPartial | partial:m2154_58 | -| ir.cpp:2154:64:2154:64 | ChiTotal | total:m2155_6 | -| ir.cpp:2154:64:2154:64 | ChiTotal | total:m2155_9 | -| ir.cpp:2154:64:2154:64 | SideEffect | m2155_9 | -| ir.cpp:2154:64:2154:64 | SideEffect | ~m2155_6 | -| ir.cpp:2154:68:2154:68 | Address | &:r2154_19 | -| ir.cpp:2154:68:2154:68 | Address | &:r2154_27 | -| ir.cpp:2154:68:2154:68 | Address | &:r2154_38 | -| ir.cpp:2154:68:2154:68 | Address | &:r2154_47 | -| ir.cpp:2154:68:2154:68 | Address | &:r2154_60 | -| ir.cpp:2154:68:2154:68 | Address | &:r2154_60 | -| ir.cpp:2154:68:2154:68 | Arg(0) | 0:r2154_39 | -| ir.cpp:2154:68:2154:68 | Arg(this) | this:r0_2 | -| ir.cpp:2154:68:2154:68 | Arg(this) | this:r0_5 | -| ir.cpp:2154:68:2154:68 | Arg(this) | this:r0_7 | -| ir.cpp:2154:68:2154:68 | Arg(this) | this:r0_9 | -| ir.cpp:2154:68:2154:68 | Arg(this) | this:r2154_60 | -| ir.cpp:2154:68:2154:68 | CallTarget | func:r2154_21 | -| ir.cpp:2154:68:2154:68 | CallTarget | func:r2154_29 | -| ir.cpp:2154:68:2154:68 | CallTarget | func:r2154_37 | -| ir.cpp:2154:68:2154:68 | CallTarget | func:r2154_46 | -| ir.cpp:2154:68:2154:68 | CallTarget | func:r2154_61 | -| ir.cpp:2154:68:2154:68 | ChiPartial | partial:m2154_23 | -| ir.cpp:2154:68:2154:68 | ChiPartial | partial:m2154_31 | -| ir.cpp:2154:68:2154:68 | ChiPartial | partial:m2154_41 | -| ir.cpp:2154:68:2154:68 | ChiPartial | partial:m2154_48 | -| ir.cpp:2154:68:2154:68 | ChiPartial | partial:m2154_63 | -| ir.cpp:2154:68:2154:68 | ChiPartial | partial:m2154_66 | -| ir.cpp:2154:68:2154:68 | ChiTotal | total:m2154_11 | -| ir.cpp:2154:68:2154:68 | ChiTotal | total:m2154_24 | -| ir.cpp:2154:68:2154:68 | ChiTotal | total:m2154_34 | -| ir.cpp:2154:68:2154:68 | ChiTotal | total:m2154_35 | -| ir.cpp:2154:68:2154:68 | ChiTotal | total:m2154_42 | -| ir.cpp:2154:68:2154:68 | ChiTotal | total:m2154_56 | -| ir.cpp:2154:68:2154:68 | Condition | r2154_40 | -| ir.cpp:2154:68:2154:68 | Load | m2154_17 | -| ir.cpp:2154:68:2154:68 | Load | m2154_17 | -| ir.cpp:2154:68:2154:68 | Load | m2154_33 | -| ir.cpp:2154:68:2154:68 | Phi | from 7:m2154_25 | -| ir.cpp:2154:68:2154:68 | Phi | from 7:~m2154_32 | -| ir.cpp:2154:68:2154:68 | Phi | from 9:m2154_67 | -| ir.cpp:2154:68:2154:68 | Phi | from 9:~m2154_64 | -| ir.cpp:2154:68:2154:68 | SideEffect | m2154_34 | -| ir.cpp:2154:68:2154:68 | SideEffect | ~m2154_11 | -| ir.cpp:2154:68:2154:68 | SideEffect | ~m2154_24 | -| ir.cpp:2154:68:2154:68 | SideEffect | ~m2154_35 | -| ir.cpp:2154:68:2154:68 | SideEffect | ~m2154_42 | -| ir.cpp:2154:68:2154:68 | SideEffect | ~m2154_56 | -| ir.cpp:2154:68:2154:68 | StoreValue | r2154_22 | -| ir.cpp:2154:68:2154:68 | StoreValue | r2154_30 | -| ir.cpp:2154:68:2154:68 | Unary | r2154_20 | -| ir.cpp:2154:68:2154:68 | Unary | r2154_28 | -| ir.cpp:2154:68:2154:68 | Unary | r2154_36 | -| ir.cpp:2154:68:2154:68 | Unary | r2154_45 | -| ir.cpp:2154:68:2154:68 | Unary | r2154_62 | -| ir.cpp:2154:68:2154:69 | StoreValue | r2154_16 | -| ir.cpp:2154:68:2154:69 | Unary | r2154_15 | -| ir.cpp:2154:68:2154:70 | Load | ~m2154_49 | -| ir.cpp:2154:68:2154:70 | StoreValue | r2154_50 | -| ir.cpp:2155:7:2155:7 | Address | &:r2155_1 | -| ir.cpp:2155:7:2155:7 | Address | &:r2155_1 | -| ir.cpp:2155:7:2155:7 | Arg(this) | this:r2155_1 | -| ir.cpp:2155:7:2155:7 | ChiPartial | partial:m2155_8 | -| ir.cpp:2155:7:2155:7 | ChiTotal | total:m2154_51 | -| ir.cpp:2155:7:2155:7 | SideEffect | m2154_51 | -| ir.cpp:2155:9:2155:13 | CallTarget | func:r2155_2 | -| ir.cpp:2155:9:2155:13 | ChiPartial | partial:m2155_5 | -| ir.cpp:2155:9:2155:13 | ChiTotal | total:m2154_49 | -| ir.cpp:2155:9:2155:13 | SideEffect | ~m2154_49 | -| ir.cpp:2155:15:2155:17 | Arg(0) | 0:r2155_3 | -| ir.cpp:2157:5:2157:5 | Address | &:r2157_14 | -| ir.cpp:2157:5:2157:5 | Address | &:r2157_18 | -| ir.cpp:2157:5:2157:5 | Address | &:r2157_26 | -| ir.cpp:2157:37:2157:38 | Address | &:r2157_1 | -| ir.cpp:2157:37:2157:38 | Address | &:r2157_1 | -| ir.cpp:2157:37:2157:38 | Address | &:r2157_60 | -| ir.cpp:2157:37:2157:38 | Address | &:r2157_60 | -| ir.cpp:2157:37:2157:38 | Arg(this) | this:r2157_1 | -| ir.cpp:2157:37:2157:38 | Arg(this) | this:r2157_60 | -| ir.cpp:2157:37:2157:38 | CallTarget | func:r2157_61 | -| ir.cpp:2157:37:2157:38 | ChiPartial | partial:m2157_63 | -| ir.cpp:2157:37:2157:38 | ChiPartial | partial:m2157_66 | -| ir.cpp:2157:37:2157:38 | ChiTotal | total:m2157_13 | -| ir.cpp:2157:37:2157:38 | ChiTotal | total:m2157_56 | -| ir.cpp:2157:37:2157:38 | SideEffect | m2157_13 | -| ir.cpp:2157:37:2157:38 | SideEffect | ~m2157_56 | -| ir.cpp:2157:40:2157:40 | Address | &:r2157_4 | -| ir.cpp:2157:40:2157:40 | Address | &:r2157_4 | -| ir.cpp:2157:40:2157:40 | Address | &:r2157_5 | -| ir.cpp:2157:40:2157:40 | Arg(0) | 0:r2157_8 | -| ir.cpp:2157:40:2157:40 | Load | m2153_8 | -| ir.cpp:2157:40:2157:40 | Load | m2157_7 | -| ir.cpp:2157:40:2157:40 | StoreValue | r2157_6 | -| ir.cpp:2157:40:2157:41 | CallTarget | func:r2157_3 | -| ir.cpp:2157:40:2157:41 | ChiPartial | partial:m2157_10 | -| ir.cpp:2157:40:2157:41 | ChiPartial | partial:m2157_12 | -| ir.cpp:2157:40:2157:41 | ChiTotal | total:m2154_42 | -| ir.cpp:2157:40:2157:41 | ChiTotal | total:m2157_2 | -| ir.cpp:2157:40:2157:41 | SideEffect | ~m2154_42 | -| ir.cpp:2157:64:2157:64 | Address | &:r2157_44 | -| ir.cpp:2157:64:2157:64 | Address | &:r2157_52 | -| ir.cpp:2157:64:2157:64 | Address | &:r2157_52 | -| ir.cpp:2157:64:2157:64 | Address | &:r2157_68 | -| ir.cpp:2157:64:2157:64 | Address | &:r2157_68 | -| ir.cpp:2157:64:2157:64 | Arg(this) | this:r2157_52 | -| ir.cpp:2157:64:2157:64 | Arg(this) | this:r2157_68 | -| ir.cpp:2157:64:2157:64 | CallTarget | func:r2157_53 | -| ir.cpp:2157:64:2157:64 | CallTarget | func:r2157_69 | -| ir.cpp:2157:64:2157:64 | ChiPartial | partial:m2157_55 | -| ir.cpp:2157:64:2157:64 | ChiPartial | partial:m2157_58 | -| ir.cpp:2157:64:2157:64 | ChiPartial | partial:m2157_71 | -| ir.cpp:2157:64:2157:64 | ChiPartial | partial:m2157_74 | -| ir.cpp:2157:64:2157:64 | ChiTotal | total:m2159_5 | -| ir.cpp:2157:64:2157:64 | ChiTotal | total:m2159_5 | -| ir.cpp:2157:64:2157:64 | ChiTotal | total:m2159_8 | -| ir.cpp:2157:64:2157:64 | ChiTotal | total:m2159_8 | -| ir.cpp:2157:64:2157:64 | SideEffect | m2159_8 | -| ir.cpp:2157:64:2157:64 | SideEffect | m2159_8 | -| ir.cpp:2157:64:2157:64 | SideEffect | ~m2159_5 | -| ir.cpp:2157:64:2157:64 | SideEffect | ~m2159_5 | -| ir.cpp:2157:68:2157:68 | Address | &:r2157_19 | -| ir.cpp:2157:68:2157:68 | Address | &:r2157_27 | -| ir.cpp:2157:68:2157:68 | Address | &:r2157_38 | -| ir.cpp:2157:68:2157:68 | Address | &:r2157_47 | -| ir.cpp:2157:68:2157:68 | Address | &:r2157_76 | -| ir.cpp:2157:68:2157:68 | Address | &:r2157_76 | -| ir.cpp:2157:68:2157:68 | Arg(0) | 0:r2157_39 | -| ir.cpp:2157:68:2157:68 | Arg(this) | this:r0_12 | -| ir.cpp:2157:68:2157:68 | Arg(this) | this:r0_15 | -| ir.cpp:2157:68:2157:68 | Arg(this) | this:r0_17 | -| ir.cpp:2157:68:2157:68 | Arg(this) | this:r0_19 | -| ir.cpp:2157:68:2157:68 | Arg(this) | this:r2157_76 | -| ir.cpp:2157:68:2157:68 | CallTarget | func:r2157_21 | -| ir.cpp:2157:68:2157:68 | CallTarget | func:r2157_29 | -| ir.cpp:2157:68:2157:68 | CallTarget | func:r2157_37 | -| ir.cpp:2157:68:2157:68 | CallTarget | func:r2157_46 | -| ir.cpp:2157:68:2157:68 | CallTarget | func:r2157_77 | -| ir.cpp:2157:68:2157:68 | ChiPartial | partial:m2157_23 | -| ir.cpp:2157:68:2157:68 | ChiPartial | partial:m2157_31 | -| ir.cpp:2157:68:2157:68 | ChiPartial | partial:m2157_41 | -| ir.cpp:2157:68:2157:68 | ChiPartial | partial:m2157_48 | -| ir.cpp:2157:68:2157:68 | ChiPartial | partial:m2157_79 | -| ir.cpp:2157:68:2157:68 | ChiPartial | partial:m2157_82 | -| ir.cpp:2157:68:2157:68 | ChiTotal | total:m2157_11 | -| ir.cpp:2157:68:2157:68 | ChiTotal | total:m2157_24 | -| ir.cpp:2157:68:2157:68 | ChiTotal | total:m2157_34 | -| ir.cpp:2157:68:2157:68 | ChiTotal | total:m2157_35 | -| ir.cpp:2157:68:2157:68 | ChiTotal | total:m2157_42 | -| ir.cpp:2157:68:2157:68 | ChiTotal | total:m2157_72 | -| ir.cpp:2157:68:2157:68 | Condition | r2157_40 | -| ir.cpp:2157:68:2157:68 | Load | m2157_17 | -| ir.cpp:2157:68:2157:68 | Load | m2157_17 | -| ir.cpp:2157:68:2157:68 | Load | m2157_33 | -| ir.cpp:2157:68:2157:68 | Phi | from 10:m2157_25 | -| ir.cpp:2157:68:2157:68 | Phi | from 10:~m2157_32 | -| ir.cpp:2157:68:2157:68 | Phi | from 14:m2157_83 | -| ir.cpp:2157:68:2157:68 | Phi | from 14:~m2157_80 | -| ir.cpp:2157:68:2157:68 | SideEffect | m2157_34 | -| ir.cpp:2157:68:2157:68 | SideEffect | ~m2157_11 | -| ir.cpp:2157:68:2157:68 | SideEffect | ~m2157_24 | -| ir.cpp:2157:68:2157:68 | SideEffect | ~m2157_35 | -| ir.cpp:2157:68:2157:68 | SideEffect | ~m2157_42 | -| ir.cpp:2157:68:2157:68 | SideEffect | ~m2157_72 | -| ir.cpp:2157:68:2157:68 | StoreValue | r2157_22 | -| ir.cpp:2157:68:2157:68 | StoreValue | r2157_30 | -| ir.cpp:2157:68:2157:68 | Unary | r2157_20 | -| ir.cpp:2157:68:2157:68 | Unary | r2157_28 | -| ir.cpp:2157:68:2157:68 | Unary | r2157_36 | -| ir.cpp:2157:68:2157:68 | Unary | r2157_45 | -| ir.cpp:2157:68:2157:68 | Unary | r2157_78 | -| ir.cpp:2157:68:2157:69 | StoreValue | r2157_16 | -| ir.cpp:2157:68:2157:69 | Unary | r2157_15 | -| ir.cpp:2157:68:2157:70 | Load | ~m2157_49 | -| ir.cpp:2157:68:2157:70 | StoreValue | r2157_50 | -| ir.cpp:2158:7:2158:7 | Address | &:r2158_1 | -| ir.cpp:2158:7:2158:7 | Address | &:r2158_1 | -| ir.cpp:2158:7:2158:7 | Arg(this) | this:r2158_1 | -| ir.cpp:2158:7:2158:7 | ChiPartial | partial:m2158_8 | -| ir.cpp:2158:7:2158:7 | ChiTotal | total:m2157_51 | -| ir.cpp:2158:7:2158:7 | SideEffect | m2157_51 | -| ir.cpp:2158:9:2158:13 | CallTarget | func:r2158_2 | -| ir.cpp:2158:9:2158:13 | ChiPartial | partial:m2158_5 | -| ir.cpp:2158:9:2158:13 | ChiTotal | total:m2157_49 | -| ir.cpp:2158:9:2158:13 | SideEffect | ~m2157_49 | -| ir.cpp:2158:15:2158:17 | Arg(0) | 0:r2158_3 | -| ir.cpp:2159:11:2159:11 | Address | &:r2159_1 | -| ir.cpp:2159:11:2159:11 | Address | &:r2159_1 | -| ir.cpp:2159:11:2159:11 | Arg(this) | this:r2159_1 | -| ir.cpp:2159:11:2159:11 | ChiPartial | partial:m2159_7 | -| ir.cpp:2159:11:2159:11 | ChiTotal | total:m2158_9 | -| ir.cpp:2159:11:2159:11 | SideEffect | m2158_9 | -| ir.cpp:2159:11:2159:19 | Left | r2159_9 | -| ir.cpp:2159:11:2159:26 | Condition | r2159_11 | -| ir.cpp:2159:13:2159:17 | CallTarget | func:r2159_2 | -| ir.cpp:2159:13:2159:17 | ChiPartial | partial:m2159_4 | -| ir.cpp:2159:13:2159:17 | ChiTotal | total:m2158_6 | -| ir.cpp:2159:13:2159:17 | SideEffect | ~m2158_6 | -| ir.cpp:2159:13:2159:17 | Unary | r2159_3 | -| ir.cpp:2159:24:2159:26 | Right | r2159_10 | -| ir.cpp:2163:5:2163:5 | Address | &:r2163_10 | -| ir.cpp:2163:5:2163:5 | Address | &:r2163_14 | -| ir.cpp:2163:5:2163:5 | Address | &:r2163_22 | -| ir.cpp:2163:21:2163:22 | Address | &:r2163_1 | -| ir.cpp:2163:21:2163:22 | Address | &:r2163_1 | -| ir.cpp:2163:21:2163:22 | Address | &:r2163_57 | -| ir.cpp:2163:21:2163:22 | Address | &:r2163_57 | -| ir.cpp:2163:21:2163:22 | Arg(this) | this:r2163_1 | -| ir.cpp:2163:21:2163:22 | Arg(this) | this:r2163_57 | -| ir.cpp:2163:21:2163:22 | CallTarget | func:r2163_58 | -| ir.cpp:2163:21:2163:22 | ChiPartial | partial:m2163_60 | -| ir.cpp:2163:21:2163:22 | ChiPartial | partial:m2163_63 | -| ir.cpp:2163:21:2163:22 | ChiTotal | total:m2163_9 | -| ir.cpp:2163:21:2163:22 | ChiTotal | total:m2163_54 | -| ir.cpp:2163:21:2163:22 | SideEffect | m2163_9 | -| ir.cpp:2163:21:2163:22 | SideEffect | ~m2163_54 | -| ir.cpp:2163:24:2163:24 | Arg(0) | 0:r2163_4 | -| ir.cpp:2163:24:2163:25 | CallTarget | func:r2163_3 | -| ir.cpp:2163:24:2163:25 | ChiPartial | partial:m2163_6 | -| ir.cpp:2163:24:2163:25 | ChiPartial | partial:m2163_8 | -| ir.cpp:2163:24:2163:25 | ChiTotal | total:m2157_42 | -| ir.cpp:2163:24:2163:25 | ChiTotal | total:m2163_2 | -| ir.cpp:2163:24:2163:25 | SideEffect | ~m2157_42 | -| ir.cpp:2163:32:2163:32 | Address | &:r2163_49 | -| ir.cpp:2163:36:2163:36 | Address | &:r2163_15 | -| ir.cpp:2163:36:2163:36 | Address | &:r2163_23 | -| ir.cpp:2163:36:2163:36 | Address | &:r2163_34 | -| ir.cpp:2163:36:2163:36 | Address | &:r2163_40 | -| ir.cpp:2163:36:2163:36 | Address | &:r2163_40 | -| ir.cpp:2163:36:2163:36 | Address | &:r2163_52 | -| ir.cpp:2163:36:2163:36 | Arg(0) | 0:r2163_35 | -| ir.cpp:2163:36:2163:36 | Arg(this) | this:r0_22 | -| ir.cpp:2163:36:2163:36 | Arg(this) | this:r0_25 | -| ir.cpp:2163:36:2163:36 | Arg(this) | this:r0_27 | -| ir.cpp:2163:36:2163:36 | Arg(this) | this:r0_29 | -| ir.cpp:2163:36:2163:36 | Arg(this) | this:r2163_40 | -| ir.cpp:2163:36:2163:36 | CallTarget | func:r2163_17 | -| ir.cpp:2163:36:2163:36 | CallTarget | func:r2163_25 | -| ir.cpp:2163:36:2163:36 | CallTarget | func:r2163_33 | -| ir.cpp:2163:36:2163:36 | CallTarget | func:r2163_41 | -| ir.cpp:2163:36:2163:36 | CallTarget | func:r2163_51 | -| ir.cpp:2163:36:2163:36 | ChiPartial | partial:m2163_19 | -| ir.cpp:2163:36:2163:36 | ChiPartial | partial:m2163_27 | -| ir.cpp:2163:36:2163:36 | ChiPartial | partial:m2163_37 | -| ir.cpp:2163:36:2163:36 | ChiPartial | partial:m2163_43 | -| ir.cpp:2163:36:2163:36 | ChiPartial | partial:m2163_46 | -| ir.cpp:2163:36:2163:36 | ChiPartial | partial:m2163_53 | -| ir.cpp:2163:36:2163:36 | ChiTotal | total:m2163_7 | -| ir.cpp:2163:36:2163:36 | ChiTotal | total:m2163_20 | -| ir.cpp:2163:36:2163:36 | ChiTotal | total:m2163_30 | -| ir.cpp:2163:36:2163:36 | ChiTotal | total:m2163_31 | -| ir.cpp:2163:36:2163:36 | ChiTotal | total:m2163_38 | -| ir.cpp:2163:36:2163:36 | ChiTotal | total:m2163_54 | -| ir.cpp:2163:36:2163:36 | Condition | r2163_36 | -| ir.cpp:2163:36:2163:36 | Load | m2163_13 | -| ir.cpp:2163:36:2163:36 | Load | m2163_13 | -| ir.cpp:2163:36:2163:36 | Load | m2163_29 | -| ir.cpp:2163:36:2163:36 | Phi | from 15:m2163_21 | -| ir.cpp:2163:36:2163:36 | Phi | from 15:~m2163_28 | -| ir.cpp:2163:36:2163:36 | Phi | from 17:m2163_47 | -| ir.cpp:2163:36:2163:36 | Phi | from 17:~m2163_44 | -| ir.cpp:2163:36:2163:36 | SideEffect | m2163_30 | -| ir.cpp:2163:36:2163:36 | SideEffect | ~m2163_7 | -| ir.cpp:2163:36:2163:36 | SideEffect | ~m2163_20 | -| ir.cpp:2163:36:2163:36 | SideEffect | ~m2163_31 | -| ir.cpp:2163:36:2163:36 | SideEffect | ~m2163_38 | -| ir.cpp:2163:36:2163:36 | SideEffect | ~m2163_54 | -| ir.cpp:2163:36:2163:36 | StoreValue | r2163_18 | -| ir.cpp:2163:36:2163:36 | StoreValue | r2163_26 | -| ir.cpp:2163:36:2163:36 | Unary | r2163_16 | -| ir.cpp:2163:36:2163:36 | Unary | r2163_24 | -| ir.cpp:2163:36:2163:36 | Unary | r2163_32 | -| ir.cpp:2163:36:2163:36 | Unary | r2163_42 | -| ir.cpp:2163:36:2163:36 | Unary | r2163_50 | -| ir.cpp:2163:36:2163:37 | StoreValue | r2163_12 | -| ir.cpp:2163:36:2163:37 | Unary | r2163_11 | -| ir.cpp:2163:36:2163:38 | Load | ~m2163_54 | -| ir.cpp:2163:36:2163:38 | StoreValue | r2163_55 | -| ir.cpp:2164:11:2164:11 | Address | &:r2164_1 | -| ir.cpp:2164:11:2164:11 | Left | r2164_2 | -| ir.cpp:2164:11:2164:11 | Load | m2163_56 | -| ir.cpp:2164:11:2164:16 | Condition | r2164_4 | -| ir.cpp:2164:16:2164:16 | Right | r2164_3 | -| ir.cpp:2168:5:2168:5 | Address | &:r2168_14 | -| ir.cpp:2168:5:2168:5 | Address | &:r2168_18 | -| ir.cpp:2168:5:2168:5 | Address | &:r2168_26 | -| ir.cpp:2168:37:2168:38 | Address | &:r2168_1 | -| ir.cpp:2168:37:2168:38 | Address | &:r2168_1 | -| ir.cpp:2168:37:2168:38 | Arg(this) | this:r2168_1 | -| ir.cpp:2168:40:2168:40 | Address | &:r2168_4 | -| ir.cpp:2168:40:2168:40 | Address | &:r2168_4 | -| ir.cpp:2168:40:2168:40 | Address | &:r2168_5 | -| ir.cpp:2168:40:2168:40 | Arg(0) | 0:r2168_8 | -| ir.cpp:2168:40:2168:40 | Load | m2153_8 | -| ir.cpp:2168:40:2168:40 | Load | m2168_7 | -| ir.cpp:2168:40:2168:40 | StoreValue | r2168_6 | -| ir.cpp:2168:40:2168:41 | CallTarget | func:r2168_3 | -| ir.cpp:2168:40:2168:41 | ChiPartial | partial:m2168_10 | -| ir.cpp:2168:40:2168:41 | ChiPartial | partial:m2168_12 | -| ir.cpp:2168:40:2168:41 | ChiTotal | total:m2163_38 | -| ir.cpp:2168:40:2168:41 | ChiTotal | total:m2168_2 | -| ir.cpp:2168:40:2168:41 | SideEffect | ~m2163_38 | -| ir.cpp:2168:64:2168:64 | Address | &:r2168_44 | -| ir.cpp:2168:64:2168:64 | Address | &:r2168_52 | -| ir.cpp:2168:64:2168:64 | Address | &:r2168_52 | -| ir.cpp:2168:64:2168:64 | Arg(this) | this:r2168_52 | -| ir.cpp:2168:64:2168:64 | CallTarget | func:r2168_53 | -| ir.cpp:2168:64:2168:64 | ChiPartial | partial:m2168_55 | -| ir.cpp:2168:64:2168:64 | ChiPartial | partial:m2168_58 | -| ir.cpp:2168:64:2168:64 | ChiTotal | total:m2168_51 | -| ir.cpp:2168:64:2168:64 | ChiTotal | total:m2171_13 | -| ir.cpp:2168:64:2168:64 | SideEffect | m2168_51 | -| ir.cpp:2168:64:2168:64 | SideEffect | ~m2171_13 | -| ir.cpp:2168:68:2168:68 | Address | &:r2168_19 | -| ir.cpp:2168:68:2168:68 | Address | &:r2168_27 | -| ir.cpp:2168:68:2168:68 | Address | &:r2168_38 | -| ir.cpp:2168:68:2168:68 | Address | &:r2168_47 | -| ir.cpp:2168:68:2168:68 | Address | &:r2168_60 | -| ir.cpp:2168:68:2168:68 | Address | &:r2168_60 | -| ir.cpp:2168:68:2168:68 | Arg(0) | 0:r2168_39 | -| ir.cpp:2168:68:2168:68 | Arg(this) | this:r0_32 | -| ir.cpp:2168:68:2168:68 | Arg(this) | this:r0_35 | -| ir.cpp:2168:68:2168:68 | Arg(this) | this:r0_37 | -| ir.cpp:2168:68:2168:68 | Arg(this) | this:r0_39 | -| ir.cpp:2168:68:2168:68 | Arg(this) | this:r2168_60 | -| ir.cpp:2168:68:2168:68 | CallTarget | func:r2168_21 | -| ir.cpp:2168:68:2168:68 | CallTarget | func:r2168_29 | -| ir.cpp:2168:68:2168:68 | CallTarget | func:r2168_37 | -| ir.cpp:2168:68:2168:68 | CallTarget | func:r2168_46 | -| ir.cpp:2168:68:2168:68 | CallTarget | func:r2168_61 | -| ir.cpp:2168:68:2168:68 | ChiPartial | partial:m2168_23 | -| ir.cpp:2168:68:2168:68 | ChiPartial | partial:m2168_31 | -| ir.cpp:2168:68:2168:68 | ChiPartial | partial:m2168_41 | -| ir.cpp:2168:68:2168:68 | ChiPartial | partial:m2168_48 | -| ir.cpp:2168:68:2168:68 | ChiPartial | partial:m2168_63 | -| ir.cpp:2168:68:2168:68 | ChiPartial | partial:m2168_66 | -| ir.cpp:2168:68:2168:68 | ChiTotal | total:m2168_11 | -| ir.cpp:2168:68:2168:68 | ChiTotal | total:m2168_24 | -| ir.cpp:2168:68:2168:68 | ChiTotal | total:m2168_34 | -| ir.cpp:2168:68:2168:68 | ChiTotal | total:m2168_35 | -| ir.cpp:2168:68:2168:68 | ChiTotal | total:m2168_42 | -| ir.cpp:2168:68:2168:68 | ChiTotal | total:m2168_56 | -| ir.cpp:2168:68:2168:68 | Condition | r2168_40 | -| ir.cpp:2168:68:2168:68 | Load | m2168_17 | -| ir.cpp:2168:68:2168:68 | Load | m2168_17 | -| ir.cpp:2168:68:2168:68 | Load | m2168_33 | -| ir.cpp:2168:68:2168:68 | Phi | from 20:m2168_25 | -| ir.cpp:2168:68:2168:68 | Phi | from 20:~m2168_32 | -| ir.cpp:2168:68:2168:68 | Phi | from 22:m2168_67 | -| ir.cpp:2168:68:2168:68 | Phi | from 22:~m2168_64 | -| ir.cpp:2168:68:2168:68 | SideEffect | m2168_34 | -| ir.cpp:2168:68:2168:68 | SideEffect | ~m2168_11 | -| ir.cpp:2168:68:2168:68 | SideEffect | ~m2168_24 | -| ir.cpp:2168:68:2168:68 | SideEffect | ~m2168_35 | -| ir.cpp:2168:68:2168:68 | SideEffect | ~m2168_42 | -| ir.cpp:2168:68:2168:68 | SideEffect | ~m2168_56 | -| ir.cpp:2168:68:2168:68 | StoreValue | r2168_22 | -| ir.cpp:2168:68:2168:68 | StoreValue | r2168_30 | -| ir.cpp:2168:68:2168:68 | Unary | r2168_20 | -| ir.cpp:2168:68:2168:68 | Unary | r2168_28 | -| ir.cpp:2168:68:2168:68 | Unary | r2168_36 | -| ir.cpp:2168:68:2168:68 | Unary | r2168_45 | -| ir.cpp:2168:68:2168:68 | Unary | r2168_62 | -| ir.cpp:2168:68:2168:69 | StoreValue | r2168_16 | -| ir.cpp:2168:68:2168:69 | Unary | r2168_15 | -| ir.cpp:2168:68:2168:70 | Load | ~m2168_49 | -| ir.cpp:2168:68:2168:70 | StoreValue | r2168_50 | -| ir.cpp:2169:27:2169:28 | Address | &:r2169_1 | -| ir.cpp:2169:27:2169:28 | Address | &:r2169_1 | -| ir.cpp:2169:27:2169:28 | Arg(this) | this:r2169_1 | -| ir.cpp:2169:27:2169:28 | CallTarget | func:r2169_3 | -| ir.cpp:2169:27:2169:28 | ChiPartial | partial:m2169_5 | -| ir.cpp:2169:27:2169:28 | ChiPartial | partial:m2169_7 | -| ir.cpp:2169:27:2169:28 | ChiTotal | total:m2168_49 | -| ir.cpp:2169:27:2169:28 | ChiTotal | total:m2169_2 | -| ir.cpp:2169:27:2169:28 | SideEffect | ~m2168_49 | -| ir.cpp:2170:27:2170:28 | Address | &:r2170_1 | -| ir.cpp:2170:27:2170:28 | Address | &:r2170_1 | -| ir.cpp:2170:27:2170:28 | Arg(this) | this:r2170_1 | -| ir.cpp:2170:27:2170:28 | CallTarget | func:r2170_3 | -| ir.cpp:2170:27:2170:28 | ChiPartial | partial:m2170_5 | -| ir.cpp:2170:27:2170:28 | ChiPartial | partial:m2170_7 | -| ir.cpp:2170:27:2170:28 | ChiTotal | total:m2169_6 | -| ir.cpp:2170:27:2170:28 | ChiTotal | total:m2170_2 | -| ir.cpp:2170:27:2170:28 | SideEffect | ~m2169_6 | -| ir.cpp:2171:5:2171:5 | Address | &:r2171_1 | -| ir.cpp:2171:5:2171:5 | Address | &:r2171_1 | -| ir.cpp:2171:5:2171:5 | Address | &:r2171_9 | -| ir.cpp:2171:5:2171:5 | Address | &:r2171_9 | -| ir.cpp:2171:5:2171:5 | Arg(this) | this:r2171_1 | -| ir.cpp:2171:5:2171:5 | Arg(this) | this:r2171_9 | -| ir.cpp:2171:5:2171:5 | CallTarget | func:r2171_2 | -| ir.cpp:2171:5:2171:5 | CallTarget | func:r2171_10 | -| ir.cpp:2171:5:2171:5 | ChiPartial | partial:m2171_4 | -| ir.cpp:2171:5:2171:5 | ChiPartial | partial:m2171_7 | -| ir.cpp:2171:5:2171:5 | ChiPartial | partial:m2171_12 | -| ir.cpp:2171:5:2171:5 | ChiPartial | partial:m2171_15 | -| ir.cpp:2171:5:2171:5 | ChiTotal | total:m2169_8 | -| ir.cpp:2171:5:2171:5 | ChiTotal | total:m2170_6 | -| ir.cpp:2171:5:2171:5 | ChiTotal | total:m2170_8 | -| ir.cpp:2171:5:2171:5 | ChiTotal | total:m2171_5 | -| ir.cpp:2171:5:2171:5 | SideEffect | m2169_8 | -| ir.cpp:2171:5:2171:5 | SideEffect | m2170_8 | -| ir.cpp:2171:5:2171:5 | SideEffect | ~m2170_6 | -| ir.cpp:2171:5:2171:5 | SideEffect | ~m2171_5 | -| ir.cpp:2172:1:2172:1 | Address | &:r2172_1 | -| ir.cpp:2172:1:2172:1 | Address | &:r2172_1 | -| ir.cpp:2172:1:2172:1 | Address | &:r2172_9 | -| ir.cpp:2172:1:2172:1 | Address | &:r2172_9 | -| ir.cpp:2172:1:2172:1 | Address | &:r2172_18 | -| ir.cpp:2172:1:2172:1 | Address | &:r2172_18 | -| ir.cpp:2172:1:2172:1 | Arg(this) | this:r2172_1 | -| ir.cpp:2172:1:2172:1 | Arg(this) | this:r2172_9 | -| ir.cpp:2172:1:2172:1 | Arg(this) | this:r2172_18 | -| ir.cpp:2172:1:2172:1 | CallTarget | func:r2172_2 | -| ir.cpp:2172:1:2172:1 | CallTarget | func:r2172_10 | -| ir.cpp:2172:1:2172:1 | CallTarget | func:r2172_19 | -| ir.cpp:2172:1:2172:1 | ChiPartial | partial:m2172_4 | -| ir.cpp:2172:1:2172:1 | ChiPartial | partial:m2172_7 | -| ir.cpp:2172:1:2172:1 | ChiPartial | partial:m2172_12 | -| ir.cpp:2172:1:2172:1 | ChiPartial | partial:m2172_15 | -| ir.cpp:2172:1:2172:1 | ChiPartial | partial:m2172_21 | -| ir.cpp:2172:1:2172:1 | ChiPartial | partial:m2172_24 | -| ir.cpp:2172:1:2172:1 | ChiTotal | total:m2153_8 | -| ir.cpp:2172:1:2172:1 | ChiTotal | total:m2153_8 | -| ir.cpp:2172:1:2172:1 | ChiTotal | total:m2153_8 | -| ir.cpp:2172:1:2172:1 | ChiTotal | total:m2157_64 | -| ir.cpp:2172:1:2172:1 | ChiTotal | total:m2163_61 | -| ir.cpp:2172:1:2172:1 | ChiTotal | total:m2168_42 | -| ir.cpp:2172:1:2172:1 | SideEffect | m2153_8 | -| ir.cpp:2172:1:2172:1 | SideEffect | m2153_8 | -| ir.cpp:2172:1:2172:1 | SideEffect | m2153_8 | -| ir.cpp:2172:1:2172:1 | SideEffect | ~m2157_64 | -| ir.cpp:2172:1:2172:1 | SideEffect | ~m2163_61 | -| ir.cpp:2172:1:2172:1 | SideEffect | ~m2168_42 | -| ir.cpp:2174:6:2174:38 | ChiPartial | partial:m2174_3 | -| ir.cpp:2174:6:2174:38 | ChiTotal | total:m2174_2 | -| ir.cpp:2174:6:2174:38 | SideEffect | ~m2177_7 | -| ir.cpp:2175:25:2175:25 | Address | &:r2175_1 | -| ir.cpp:2175:25:2175:25 | Address | &:r2175_1 | -| ir.cpp:2175:25:2175:25 | Arg(this) | this:r2175_1 | -| ir.cpp:2175:25:2175:25 | CallTarget | func:r2175_3 | -| ir.cpp:2175:25:2175:25 | ChiPartial | partial:m2175_5 | -| ir.cpp:2175:25:2175:25 | ChiPartial | partial:m2175_7 | -| ir.cpp:2175:25:2175:25 | ChiTotal | total:m2174_4 | -| ir.cpp:2175:25:2175:25 | ChiTotal | total:m2175_2 | -| ir.cpp:2175:25:2175:25 | SideEffect | ~m2174_4 | -| ir.cpp:2176:32:2176:32 | Address | &:r2176_1 | -| ir.cpp:2176:32:2176:32 | Address | &:r2176_1 | -| ir.cpp:2176:32:2176:32 | Address | &:r2176_4 | -| ir.cpp:2176:32:2176:32 | Arg(this) | this:r2176_4 | -| ir.cpp:2176:32:2176:32 | ChiPartial | partial:m2176_6 | -| ir.cpp:2176:32:2176:32 | ChiTotal | total:m0_6 | -| ir.cpp:2176:32:2176:32 | Condition | r2176_2 | -| ir.cpp:2176:32:2176:32 | Load | ~m2175_6 | -| ir.cpp:2176:32:2176:32 | StoreValue | r2176_5 | -| ir.cpp:2177:1:2177:1 | Address | &:r2177_3 | -| ir.cpp:2177:1:2177:1 | Address | &:r2177_3 | -| ir.cpp:2177:1:2177:1 | Arg(this) | this:r2177_3 | -| ir.cpp:2177:1:2177:1 | CallTarget | func:r2177_4 | -| ir.cpp:2177:1:2177:1 | ChiPartial | partial:m2177_6 | -| ir.cpp:2177:1:2177:1 | ChiPartial | partial:m2177_9 | -| ir.cpp:2177:1:2177:1 | ChiTotal | total:m2175_8 | -| ir.cpp:2177:1:2177:1 | ChiTotal | total:m2177_1 | -| ir.cpp:2177:1:2177:1 | Phi | from 0:~m2175_6 | -| ir.cpp:2177:1:2177:1 | Phi | from 1:~m2176_7 | -| ir.cpp:2177:1:2177:1 | SideEffect | m2175_8 | -| ir.cpp:2177:1:2177:1 | SideEffect | ~m2177_1 | -| ir.cpp:2179:6:2179:38 | ChiPartial | partial:m2179_3 | -| ir.cpp:2179:6:2179:38 | ChiTotal | total:m2179_2 | -| ir.cpp:2179:6:2179:38 | SideEffect | ~m2182_6 | -| ir.cpp:2180:32:2180:32 | Address | &:r2180_1 | -| ir.cpp:2180:32:2180:32 | Address | &:r2180_1 | -| ir.cpp:2180:32:2180:32 | Address | &:r2180_4 | -| ir.cpp:2180:32:2180:32 | Arg(this) | this:r2180_4 | -| ir.cpp:2180:32:2180:32 | ChiPartial | partial:m2180_6 | -| ir.cpp:2180:32:2180:32 | ChiTotal | total:m0_6 | -| ir.cpp:2180:32:2180:32 | Condition | r2180_2 | -| ir.cpp:2180:32:2180:32 | Load | ~m2179_3 | -| ir.cpp:2180:32:2180:32 | StoreValue | r2180_5 | -| ir.cpp:2181:25:2181:25 | Address | &:r2181_2 | -| ir.cpp:2181:25:2181:25 | Address | &:r2181_2 | -| ir.cpp:2181:25:2181:25 | Arg(this) | this:r2181_2 | -| ir.cpp:2181:25:2181:25 | CallTarget | func:r2181_4 | -| ir.cpp:2181:25:2181:25 | ChiPartial | partial:m2181_6 | -| ir.cpp:2181:25:2181:25 | ChiPartial | partial:m2181_8 | -| ir.cpp:2181:25:2181:25 | ChiTotal | total:m2181_1 | -| ir.cpp:2181:25:2181:25 | ChiTotal | total:m2181_3 | -| ir.cpp:2181:25:2181:25 | Phi | from 0:~m2179_4 | -| ir.cpp:2181:25:2181:25 | Phi | from 1:~m2180_7 | -| ir.cpp:2181:25:2181:25 | SideEffect | ~m2181_1 | -| ir.cpp:2182:1:2182:1 | Address | &:r2182_2 | -| ir.cpp:2182:1:2182:1 | Address | &:r2182_2 | -| ir.cpp:2182:1:2182:1 | Arg(this) | this:r2182_2 | -| ir.cpp:2182:1:2182:1 | CallTarget | func:r2182_3 | -| ir.cpp:2182:1:2182:1 | ChiPartial | partial:m2182_5 | -| ir.cpp:2182:1:2182:1 | ChiPartial | partial:m2182_8 | -| ir.cpp:2182:1:2182:1 | ChiTotal | total:m2181_7 | -| ir.cpp:2182:1:2182:1 | ChiTotal | total:m2181_9 | -| ir.cpp:2182:1:2182:1 | SideEffect | m2181_9 | -| ir.cpp:2182:1:2182:1 | SideEffect | ~m2181_7 | -| ir.cpp:2184:6:2184:38 | ChiPartial | partial:m2184_3 | -| ir.cpp:2184:6:2184:38 | ChiTotal | total:m2184_2 | -| ir.cpp:2184:6:2184:38 | SideEffect | ~m2188_15 | -| ir.cpp:2185:25:2185:25 | Address | &:r2185_1 | -| ir.cpp:2185:25:2185:25 | Address | &:r2185_1 | -| ir.cpp:2185:25:2185:25 | Arg(this) | this:r2185_1 | -| ir.cpp:2185:25:2185:25 | CallTarget | func:r2185_3 | -| ir.cpp:2185:25:2185:25 | ChiPartial | partial:m2185_5 | -| ir.cpp:2185:25:2185:25 | ChiPartial | partial:m2185_7 | -| ir.cpp:2185:25:2185:25 | ChiTotal | total:m2184_4 | -| ir.cpp:2185:25:2185:25 | ChiTotal | total:m2185_2 | -| ir.cpp:2185:25:2185:25 | SideEffect | ~m2184_4 | -| ir.cpp:2186:25:2186:25 | Address | &:r2186_1 | -| ir.cpp:2186:25:2186:25 | Address | &:r2186_1 | -| ir.cpp:2186:25:2186:25 | Arg(this) | this:r2186_1 | -| ir.cpp:2186:25:2186:25 | CallTarget | func:r2186_3 | -| ir.cpp:2186:25:2186:25 | ChiPartial | partial:m2186_5 | -| ir.cpp:2186:25:2186:25 | ChiPartial | partial:m2186_7 | -| ir.cpp:2186:25:2186:25 | ChiTotal | total:m2185_6 | -| ir.cpp:2186:25:2186:25 | ChiTotal | total:m2186_2 | -| ir.cpp:2186:25:2186:25 | SideEffect | ~m2185_6 | -| ir.cpp:2187:32:2187:32 | Address | &:r2187_1 | -| ir.cpp:2187:32:2187:32 | Address | &:r2187_1 | -| ir.cpp:2187:32:2187:32 | Address | &:r2187_4 | -| ir.cpp:2187:32:2187:32 | Arg(this) | this:r2187_4 | -| ir.cpp:2187:32:2187:32 | ChiPartial | partial:m2187_6 | -| ir.cpp:2187:32:2187:32 | ChiTotal | total:m0_6 | -| ir.cpp:2187:32:2187:32 | Condition | r2187_2 | -| ir.cpp:2187:32:2187:32 | Load | ~m2186_6 | -| ir.cpp:2187:32:2187:32 | StoreValue | r2187_5 | -| ir.cpp:2188:1:2188:1 | Address | &:r2188_3 | -| ir.cpp:2188:1:2188:1 | Address | &:r2188_3 | -| ir.cpp:2188:1:2188:1 | Address | &:r2188_11 | -| ir.cpp:2188:1:2188:1 | Address | &:r2188_11 | -| ir.cpp:2188:1:2188:1 | Arg(this) | this:r2188_3 | -| ir.cpp:2188:1:2188:1 | Arg(this) | this:r2188_11 | -| ir.cpp:2188:1:2188:1 | CallTarget | func:r2188_4 | -| ir.cpp:2188:1:2188:1 | CallTarget | func:r2188_12 | -| ir.cpp:2188:1:2188:1 | ChiPartial | partial:m2188_6 | -| ir.cpp:2188:1:2188:1 | ChiPartial | partial:m2188_9 | -| ir.cpp:2188:1:2188:1 | ChiPartial | partial:m2188_14 | -| ir.cpp:2188:1:2188:1 | ChiPartial | partial:m2188_17 | -| ir.cpp:2188:1:2188:1 | ChiTotal | total:m2185_8 | -| ir.cpp:2188:1:2188:1 | ChiTotal | total:m2186_8 | -| ir.cpp:2188:1:2188:1 | ChiTotal | total:m2188_1 | -| ir.cpp:2188:1:2188:1 | ChiTotal | total:m2188_7 | -| ir.cpp:2188:1:2188:1 | Phi | from 0:~m2186_6 | -| ir.cpp:2188:1:2188:1 | Phi | from 1:~m2187_7 | -| ir.cpp:2188:1:2188:1 | SideEffect | m2185_8 | -| ir.cpp:2188:1:2188:1 | SideEffect | m2186_8 | -| ir.cpp:2188:1:2188:1 | SideEffect | ~m2188_1 | -| ir.cpp:2188:1:2188:1 | SideEffect | ~m2188_7 | -| ir.cpp:2190:28:2190:55 | Address | &:r2190_3 | -| ir.cpp:2190:28:2190:55 | Arg(this) | this:r2190_3 | -| ir.cpp:2190:28:2190:55 | CallTarget | func:r2190_4 | -| ir.cpp:2190:28:2190:55 | ChiPartial | partial:m2190_6 | -| ir.cpp:2190:28:2190:55 | ChiPartial | partial:m2190_8 | -| ir.cpp:2190:28:2190:55 | ChiTotal | total:m2190_2 | -| ir.cpp:2190:28:2190:55 | ChiTotal | total:m2190_7 | -| ir.cpp:2190:28:2190:55 | SideEffect | ~m2190_2 | -| ir.cpp:2190:28:2190:55 | SideEffect | ~m2190_9 | -| ir.cpp:2194:8:2194:8 | Address | &:r2194_16 | -| ir.cpp:2194:8:2194:8 | Address | &:r2194_16 | -| ir.cpp:2194:8:2194:8 | ChiPartial | partial:m2194_3 | -| ir.cpp:2194:8:2194:8 | ChiPartial | partial:m2194_3 | -| ir.cpp:2194:8:2194:8 | ChiTotal | total:m2194_2 | -| ir.cpp:2194:8:2194:8 | ChiTotal | total:m2194_2 | -| ir.cpp:2194:8:2194:8 | Load | m2194_14 | -| ir.cpp:2194:8:2194:8 | Load | m2194_14 | -| ir.cpp:2194:8:2194:8 | SideEffect | m2194_3 | -| ir.cpp:2194:8:2194:8 | SideEffect | m2194_3 | -| ir.cpp:2194:15:2194:15 | Address | &:r2194_5 | -| ir.cpp:2194:15:2194:15 | Address | &:r2194_5 | -| ir.cpp:2194:15:2194:15 | Address | &:r2194_5 | -| ir.cpp:2194:15:2194:15 | Address | &:r2194_5 | -| ir.cpp:2194:15:2194:15 | Address | &:r2194_7 | -| ir.cpp:2194:15:2194:15 | Address | &:r2194_7 | -| ir.cpp:2194:15:2194:15 | Address | &:r2194_7 | -| ir.cpp:2194:15:2194:15 | Address | &:r2194_7 | -| ir.cpp:2194:15:2194:15 | Load | m2194_6 | -| ir.cpp:2194:15:2194:15 | Load | m2194_6 | -| ir.cpp:2194:15:2194:15 | SideEffect | m2194_8 | -| ir.cpp:2194:15:2194:15 | SideEffect | m2194_8 | -| ir.cpp:2194:20:2194:28 | Address | &:r2194_9 | -| ir.cpp:2194:20:2194:28 | Address | &:r2194_9 | -| ir.cpp:2194:27:2194:27 | Address | &:r2194_10 | -| ir.cpp:2194:27:2194:27 | Address | &:r2194_10 | -| ir.cpp:2194:27:2194:27 | Load | m2194_6 | -| ir.cpp:2194:27:2194:27 | Load | m2194_6 | -| ir.cpp:2194:27:2194:27 | StoreValue | r2194_13 | -| ir.cpp:2194:27:2194:27 | StoreValue | r2194_13 | -| ir.cpp:2194:27:2194:27 | Unary | r2194_11 | -| ir.cpp:2194:27:2194:27 | Unary | r2194_11 | -| ir.cpp:2194:27:2194:27 | Unary | r2194_12 | -| ir.cpp:2194:27:2194:27 | Unary | r2194_12 | -| ir.cpp:2197:10:2197:10 | ChiPartial | partial:m2197_3 | -| ir.cpp:2197:10:2197:10 | ChiPartial | partial:m2197_3 | -| ir.cpp:2197:10:2197:10 | ChiTotal | total:m2197_2 | -| ir.cpp:2197:10:2197:10 | ChiTotal | total:m2197_2 | -| ir.cpp:2197:10:2197:10 | SideEffect | ~m2198_8 | -| ir.cpp:2197:10:2197:10 | SideEffect | ~m2198_16 | -| ir.cpp:2197:29:2197:29 | Address | &:r2197_5 | -| ir.cpp:2197:29:2197:29 | Address | &:r2197_5 | -| ir.cpp:2197:29:2197:29 | Address | &:r2197_5 | -| ir.cpp:2197:29:2197:29 | Address | &:r2197_5 | -| ir.cpp:2197:29:2197:29 | Address | &:r2197_7 | -| ir.cpp:2197:29:2197:29 | Address | &:r2197_7 | -| ir.cpp:2197:29:2197:29 | Address | &:r2197_7 | -| ir.cpp:2197:29:2197:29 | Address | &:r2197_7 | -| ir.cpp:2197:29:2197:29 | Load | m2197_6 | -| ir.cpp:2197:29:2197:29 | Load | m2197_6 | -| ir.cpp:2197:29:2197:29 | SideEffect | m2198_11 | -| ir.cpp:2197:29:2197:29 | SideEffect | m2198_19 | -| ir.cpp:2198:9:2198:11 | CallTarget | func:r2198_1 | -| ir.cpp:2198:9:2198:11 | CallTarget | func:r2198_1 | -| ir.cpp:2198:9:2198:11 | ChiPartial | partial:m2198_7 | -| ir.cpp:2198:9:2198:11 | ChiPartial | partial:m2198_7 | -| ir.cpp:2198:9:2198:11 | ChiTotal | total:m2197_4 | -| ir.cpp:2198:9:2198:11 | ChiTotal | total:m2197_4 | -| ir.cpp:2198:9:2198:11 | SideEffect | ~m2197_4 | -| ir.cpp:2198:9:2198:11 | SideEffect | ~m2197_4 | -| ir.cpp:2198:9:2198:11 | Unary | r2198_6 | -| ir.cpp:2198:9:2198:11 | Unary | r2198_6 | -| ir.cpp:2198:12:2198:15 | Address | &:r2198_12 | -| ir.cpp:2198:12:2198:15 | Address | &:r2198_12 | -| ir.cpp:2198:12:2198:15 | ChiPartial | partial:m2198_18 | -| ir.cpp:2198:12:2198:15 | ChiTotal | total:m2198_11 | -| ir.cpp:2198:12:2198:15 | SideEffect | ~m2198_11 | -| ir.cpp:2198:13:2198:13 | Address | &:r2198_2 | -| ir.cpp:2198:13:2198:13 | Address | &:r2198_2 | -| ir.cpp:2198:13:2198:13 | Address | &:r2198_5 | -| ir.cpp:2198:13:2198:13 | Address | &:r2198_5 | -| ir.cpp:2198:13:2198:13 | Address | &:r2198_5 | -| ir.cpp:2198:13:2198:13 | Address | &:r2198_5 | -| ir.cpp:2198:13:2198:13 | Arg(0) | 0:r2198_5 | -| ir.cpp:2198:13:2198:13 | Arg(0) | 0:r2198_5 | -| ir.cpp:2198:13:2198:13 | ChiPartial | partial:m2198_10 | -| ir.cpp:2198:13:2198:13 | ChiPartial | partial:m2198_10 | -| ir.cpp:2198:13:2198:13 | ChiTotal | total:m2197_8 | -| ir.cpp:2198:13:2198:13 | ChiTotal | total:m2197_8 | -| ir.cpp:2198:13:2198:13 | Load | m2197_6 | -| ir.cpp:2198:13:2198:13 | Load | m2197_6 | -| ir.cpp:2198:13:2198:13 | SideEffect | ~m2197_8 | -| ir.cpp:2198:13:2198:13 | SideEffect | ~m2197_8 | -| ir.cpp:2198:13:2198:13 | Unary | r2198_3 | -| ir.cpp:2198:13:2198:13 | Unary | r2198_3 | -| ir.cpp:2198:13:2198:13 | Unary | r2198_4 | -| ir.cpp:2198:13:2198:13 | Unary | r2198_4 | -| ir.cpp:2198:16:2198:17 | CallTarget | func:r2198_13 | -| ir.cpp:2198:16:2198:17 | ChiPartial | partial:m2198_15 | -| ir.cpp:2198:16:2198:17 | ChiTotal | total:m2198_8 | -| ir.cpp:2198:16:2198:17 | SideEffect | ~m2198_8 | -| ir.cpp:2201:10:2201:36 | ChiPartial | partial:m2201_3 | -| ir.cpp:2201:10:2201:36 | ChiTotal | total:m2201_2 | -| ir.cpp:2201:10:2201:36 | SideEffect | ~m2204_6 | -| ir.cpp:2202:29:2202:29 | Address | &:r2202_1 | -| ir.cpp:2202:29:2202:29 | Address | &:r2202_1 | -| ir.cpp:2202:29:2202:29 | Arg(this) | this:r2202_1 | -| ir.cpp:2202:29:2202:29 | CallTarget | func:r2202_3 | -| ir.cpp:2202:29:2202:29 | ChiPartial | partial:m2202_5 | -| ir.cpp:2202:29:2202:29 | ChiPartial | partial:m2202_7 | -| ir.cpp:2202:29:2202:29 | ChiTotal | total:m2201_4 | -| ir.cpp:2202:29:2202:29 | ChiTotal | total:m2202_2 | -| ir.cpp:2202:29:2202:29 | SideEffect | ~m2201_4 | -| ir.cpp:2203:9:2203:23 | CallTarget | func:r2203_1 | -| ir.cpp:2203:9:2203:23 | ChiPartial | partial:m2203_5 | -| ir.cpp:2203:9:2203:23 | ChiTotal | total:m2202_6 | -| ir.cpp:2203:9:2203:23 | SideEffect | ~m2202_6 | -| ir.cpp:2203:25:2203:25 | Address | &:r2203_3 | -| ir.cpp:2203:25:2203:25 | Address | &:r2203_3 | -| ir.cpp:2203:25:2203:25 | Arg(0) | 0:r2203_3 | -| ir.cpp:2203:25:2203:25 | ChiPartial | partial:m2203_8 | -| ir.cpp:2203:25:2203:25 | ChiTotal | total:m2202_8 | -| ir.cpp:2203:25:2203:25 | SideEffect | ~m2202_8 | -| ir.cpp:2203:25:2203:25 | Unary | r2203_2 | -| ir.cpp:2204:5:2204:5 | Address | &:r2204_2 | -| ir.cpp:2204:5:2204:5 | Address | &:r2204_2 | -| ir.cpp:2204:5:2204:5 | Arg(this) | this:r2204_2 | -| ir.cpp:2204:5:2204:5 | CallTarget | func:r2204_3 | -| ir.cpp:2204:5:2204:5 | ChiPartial | partial:m2204_5 | -| ir.cpp:2204:5:2204:5 | ChiPartial | partial:m2204_8 | -| ir.cpp:2204:5:2204:5 | ChiTotal | total:m2203_6 | -| ir.cpp:2204:5:2204:5 | ChiTotal | total:m2203_9 | -| ir.cpp:2204:5:2204:5 | SideEffect | m2203_9 | -| ir.cpp:2204:5:2204:5 | SideEffect | ~m2203_6 | -| ir.cpp:2206:10:2206:32 | ChiPartial | partial:m2206_3 | -| ir.cpp:2206:10:2206:32 | ChiTotal | total:m2206_2 | -| ir.cpp:2206:10:2206:32 | SideEffect | ~m2208_6 | -| ir.cpp:2207:13:2207:13 | Address | &:r2207_1 | -| ir.cpp:2208:9:2208:23 | CallTarget | func:r2208_1 | -| ir.cpp:2208:9:2208:23 | ChiPartial | partial:m2208_5 | -| ir.cpp:2208:9:2208:23 | ChiTotal | total:m2206_4 | -| ir.cpp:2208:9:2208:23 | SideEffect | ~m2206_4 | -| ir.cpp:2208:25:2208:25 | Address | &:r2208_3 | -| ir.cpp:2208:25:2208:25 | Address | &:r2208_3 | -| ir.cpp:2208:25:2208:25 | Arg(0) | 0:r2208_3 | -| ir.cpp:2208:25:2208:25 | ChiPartial | partial:m2208_8 | -| ir.cpp:2208:25:2208:25 | ChiTotal | total:m2207_2 | -| ir.cpp:2208:25:2208:25 | SideEffect | ~m2207_2 | -| ir.cpp:2208:25:2208:25 | Unary | r2208_2 | -| ir.cpp:2212:6:2212:24 | ChiPartial | partial:m2212_3 | -| ir.cpp:2212:6:2212:24 | ChiTotal | total:m2212_2 | -| ir.cpp:2212:6:2212:24 | Phi | from 2:~m2212_10 | -| ir.cpp:2212:6:2212:24 | Phi | from 6:~m2221_8 | -| ir.cpp:2212:6:2212:24 | Phi | from 9:~m2214_6 | -| ir.cpp:2212:6:2212:24 | Phi | from 10:~m2228_1 | -| ir.cpp:2212:6:2212:24 | SideEffect | ~m2212_7 | -| ir.cpp:2212:31:2212:31 | Address | &:r2212_5 | -| ir.cpp:2214:12:2214:12 | Address | &:r2214_1 | -| ir.cpp:2214:12:2214:12 | Address | &:r2214_1 | -| ir.cpp:2214:12:2214:12 | Arg(this) | this:r2214_1 | -| ir.cpp:2214:12:2214:12 | CallTarget | func:r2214_3 | -| ir.cpp:2214:12:2214:12 | ChiPartial | partial:m2214_5 | -| ir.cpp:2214:12:2214:12 | ChiPartial | partial:m2214_7 | -| ir.cpp:2214:12:2214:12 | ChiTotal | total:m2212_4 | -| ir.cpp:2214:12:2214:12 | ChiTotal | total:m2214_2 | -| ir.cpp:2214:12:2214:12 | SideEffect | ~m2212_4 | -| ir.cpp:2215:9:2215:9 | Address | &:r2215_1 | -| ir.cpp:2215:9:2215:9 | Condition | r2215_2 | -| ir.cpp:2215:9:2215:9 | Load | m2212_6 | -| ir.cpp:2216:7:2216:28 | Address | &:r2216_1 | -| ir.cpp:2216:7:2216:28 | Address | &:r2216_1 | -| ir.cpp:2216:7:2216:28 | Load | m2216_4 | -| ir.cpp:2216:13:2216:28 | StoreValue | r2216_3 | -| ir.cpp:2216:13:2216:28 | Unary | r2216_2 | -| ir.cpp:2218:12:2218:13 | Address | &:r2218_1 | -| ir.cpp:2218:12:2218:13 | Address | &:r2218_1 | -| ir.cpp:2218:12:2218:13 | Arg(this) | this:r2218_1 | -| ir.cpp:2218:12:2218:13 | CallTarget | func:r2218_3 | -| ir.cpp:2218:12:2218:13 | ChiPartial | partial:m2218_5 | -| ir.cpp:2218:12:2218:13 | ChiPartial | partial:m2218_7 | -| ir.cpp:2218:12:2218:13 | ChiTotal | total:m2214_6 | -| ir.cpp:2218:12:2218:13 | ChiTotal | total:m2218_2 | -| ir.cpp:2218:12:2218:13 | SideEffect | ~m2214_6 | -| ir.cpp:2219:3:2219:3 | Address | &:r2219_1 | -| ir.cpp:2219:3:2219:3 | Address | &:r2219_1 | -| ir.cpp:2219:3:2219:3 | Address | &:r2219_9 | -| ir.cpp:2219:3:2219:3 | Address | &:r2219_9 | -| ir.cpp:2219:3:2219:3 | Arg(this) | this:r2219_1 | -| ir.cpp:2219:3:2219:3 | Arg(this) | this:r2219_9 | -| ir.cpp:2219:3:2219:3 | CallTarget | func:r2219_2 | -| ir.cpp:2219:3:2219:3 | CallTarget | func:r2219_10 | -| ir.cpp:2219:3:2219:3 | ChiPartial | partial:m2219_4 | -| ir.cpp:2219:3:2219:3 | ChiPartial | partial:m2219_7 | -| ir.cpp:2219:3:2219:3 | ChiPartial | partial:m2219_12 | -| ir.cpp:2219:3:2219:3 | ChiPartial | partial:m2219_15 | -| ir.cpp:2219:3:2219:3 | ChiTotal | total:m2214_8 | -| ir.cpp:2219:3:2219:3 | ChiTotal | total:m2218_6 | -| ir.cpp:2219:3:2219:3 | ChiTotal | total:m2218_8 | -| ir.cpp:2219:3:2219:3 | ChiTotal | total:m2219_5 | -| ir.cpp:2219:3:2219:3 | SideEffect | m2214_8 | -| ir.cpp:2219:3:2219:3 | SideEffect | m2218_8 | -| ir.cpp:2219:3:2219:3 | SideEffect | ~m2218_6 | -| ir.cpp:2219:3:2219:3 | SideEffect | ~m2219_5 | -| ir.cpp:2220:22:2220:22 | Address | &:r2220_2 | -| ir.cpp:2220:22:2220:22 | Address | &:r2220_2 | -| ir.cpp:2220:22:2220:22 | Address | &:r2220_4 | -| ir.cpp:2220:22:2220:22 | Load | m2220_3 | -| ir.cpp:2221:5:2221:19 | Address | &:r2221_1 | -| ir.cpp:2221:5:2221:19 | Address | &:r2221_1 | -| ir.cpp:2221:5:2221:19 | Address | &:r2221_1 | -| ir.cpp:2221:5:2221:19 | Arg(this) | this:r2221_1 | -| ir.cpp:2221:5:2221:19 | CallTarget | func:r2221_3 | -| ir.cpp:2221:5:2221:19 | ChiPartial | partial:m2221_7 | -| ir.cpp:2221:5:2221:19 | ChiPartial | partial:m2221_10 | -| ir.cpp:2221:5:2221:19 | ChiTotal | total:m2214_6 | -| ir.cpp:2221:5:2221:19 | ChiTotal | total:m2221_2 | -| ir.cpp:2221:5:2221:19 | Load | m2221_11 | -| ir.cpp:2221:5:2221:19 | SideEffect | ~m2214_6 | -| ir.cpp:2221:18:2221:18 | Address | &:r2221_4 | -| ir.cpp:2221:18:2221:18 | Address | &:r2221_5 | -| ir.cpp:2221:18:2221:18 | Arg(0) | 0:r2221_5 | -| ir.cpp:2221:18:2221:18 | Load | m2220_3 | -| ir.cpp:2221:18:2221:18 | SideEffect | ~m2220_5 | -| ir.cpp:2223:24:2223:24 | Address | &:r2223_2 | -| ir.cpp:2223:24:2223:24 | Address | &:r2223_2 | -| ir.cpp:2223:24:2223:24 | Address | &:r2223_4 | -| ir.cpp:2223:24:2223:24 | Load | m2223_3 | -| ir.cpp:2228:1:2228:1 | Phi | from 4:~m2219_13 | -| ir.cpp:2228:1:2228:1 | Phi | from 8:~m2214_6 | -| ir.cpp:2230:6:2230:18 | ChiPartial | partial:m2230_3 | -| ir.cpp:2230:6:2230:18 | ChiTotal | total:m2230_2 | -| ir.cpp:2230:6:2230:18 | SideEffect | ~m2238_14 | -| ir.cpp:2230:25:2230:25 | Address | &:r2230_5 | -| ir.cpp:2231:12:2231:13 | Address | &:r2231_1 | -| ir.cpp:2231:12:2231:13 | Address | &:r2231_1 | -| ir.cpp:2231:12:2231:13 | Arg(this) | this:r2231_1 | -| ir.cpp:2231:12:2231:13 | CallTarget | func:r2231_3 | -| ir.cpp:2231:12:2231:13 | ChiPartial | partial:m2231_5 | -| ir.cpp:2231:12:2231:13 | ChiPartial | partial:m2231_7 | -| ir.cpp:2231:12:2231:13 | ChiTotal | total:m2230_4 | -| ir.cpp:2231:12:2231:13 | ChiTotal | total:m2231_2 | -| ir.cpp:2231:12:2231:13 | SideEffect | ~m2230_4 | -| ir.cpp:2232:8:2232:8 | Address | &:r2232_1 | -| ir.cpp:2232:8:2232:8 | Condition | r2232_2 | -| ir.cpp:2232:8:2232:8 | Load | m2230_6 | -| ir.cpp:2233:16:2233:17 | Address | &:r2233_1 | -| ir.cpp:2233:16:2233:17 | Address | &:r2233_1 | -| ir.cpp:2233:16:2233:17 | Arg(this) | this:r2233_1 | -| ir.cpp:2233:16:2233:17 | CallTarget | func:r2233_3 | -| ir.cpp:2233:16:2233:17 | ChiPartial | partial:m2233_5 | -| ir.cpp:2233:16:2233:17 | ChiPartial | partial:m2233_7 | -| ir.cpp:2233:16:2233:17 | ChiTotal | total:m2231_6 | -| ir.cpp:2233:16:2233:17 | ChiTotal | total:m2233_2 | -| ir.cpp:2233:16:2233:17 | SideEffect | ~m2231_6 | -| ir.cpp:2234:5:2234:5 | Address | &:r2234_1 | -| ir.cpp:2234:5:2234:5 | Address | &:r2234_1 | -| ir.cpp:2234:5:2234:5 | Arg(this) | this:r2234_1 | -| ir.cpp:2234:5:2234:5 | CallTarget | func:r2234_2 | -| ir.cpp:2234:5:2234:5 | ChiPartial | partial:m2234_4 | -| ir.cpp:2234:5:2234:5 | ChiPartial | partial:m2234_7 | -| ir.cpp:2234:5:2234:5 | ChiTotal | total:m2233_6 | -| ir.cpp:2234:5:2234:5 | ChiTotal | total:m2233_8 | -| ir.cpp:2234:5:2234:5 | SideEffect | m2233_8 | -| ir.cpp:2234:5:2234:5 | SideEffect | ~m2233_6 | -| ir.cpp:2235:16:2235:17 | Address | &:r2235_1 | -| ir.cpp:2235:16:2235:17 | Address | &:r2235_1 | -| ir.cpp:2235:16:2235:17 | Arg(this) | this:r2235_1 | -| ir.cpp:2235:16:2235:17 | CallTarget | func:r2235_3 | -| ir.cpp:2235:16:2235:17 | ChiPartial | partial:m2235_5 | -| ir.cpp:2235:16:2235:17 | ChiPartial | partial:m2235_7 | -| ir.cpp:2235:16:2235:17 | ChiTotal | total:m2231_6 | -| ir.cpp:2235:16:2235:17 | ChiTotal | total:m2235_2 | -| ir.cpp:2235:16:2235:17 | SideEffect | ~m2231_6 | -| ir.cpp:2236:5:2236:5 | Address | &:r2236_1 | -| ir.cpp:2236:5:2236:5 | Address | &:r2236_1 | -| ir.cpp:2236:5:2236:5 | Arg(this) | this:r2236_1 | -| ir.cpp:2236:5:2236:5 | CallTarget | func:r2236_2 | -| ir.cpp:2236:5:2236:5 | ChiPartial | partial:m2236_4 | -| ir.cpp:2236:5:2236:5 | ChiPartial | partial:m2236_7 | -| ir.cpp:2236:5:2236:5 | ChiTotal | total:m2235_6 | -| ir.cpp:2236:5:2236:5 | ChiTotal | total:m2235_8 | -| ir.cpp:2236:5:2236:5 | SideEffect | m2235_8 | -| ir.cpp:2236:5:2236:5 | SideEffect | ~m2235_6 | -| ir.cpp:2237:12:2237:13 | Address | &:r2237_2 | -| ir.cpp:2237:12:2237:13 | Address | &:r2237_2 | -| ir.cpp:2237:12:2237:13 | Arg(this) | this:r2237_2 | -| ir.cpp:2237:12:2237:13 | CallTarget | func:r2237_4 | -| ir.cpp:2237:12:2237:13 | ChiPartial | partial:m2237_6 | -| ir.cpp:2237:12:2237:13 | ChiPartial | partial:m2237_8 | -| ir.cpp:2237:12:2237:13 | ChiTotal | total:m2237_1 | -| ir.cpp:2237:12:2237:13 | ChiTotal | total:m2237_3 | -| ir.cpp:2237:12:2237:13 | Phi | from 1:~m2234_5 | -| ir.cpp:2237:12:2237:13 | Phi | from 2:~m2236_5 | -| ir.cpp:2237:12:2237:13 | SideEffect | ~m2237_1 | -| ir.cpp:2238:1:2238:1 | Address | &:r2238_2 | -| ir.cpp:2238:1:2238:1 | Address | &:r2238_2 | -| ir.cpp:2238:1:2238:1 | Address | &:r2238_10 | -| ir.cpp:2238:1:2238:1 | Address | &:r2238_10 | -| ir.cpp:2238:1:2238:1 | Arg(this) | this:r2238_2 | -| ir.cpp:2238:1:2238:1 | Arg(this) | this:r2238_10 | -| ir.cpp:2238:1:2238:1 | CallTarget | func:r2238_3 | -| ir.cpp:2238:1:2238:1 | CallTarget | func:r2238_11 | -| ir.cpp:2238:1:2238:1 | ChiPartial | partial:m2238_5 | -| ir.cpp:2238:1:2238:1 | ChiPartial | partial:m2238_8 | -| ir.cpp:2238:1:2238:1 | ChiPartial | partial:m2238_13 | -| ir.cpp:2238:1:2238:1 | ChiPartial | partial:m2238_16 | -| ir.cpp:2238:1:2238:1 | ChiTotal | total:m2231_8 | -| ir.cpp:2238:1:2238:1 | ChiTotal | total:m2237_7 | -| ir.cpp:2238:1:2238:1 | ChiTotal | total:m2237_9 | -| ir.cpp:2238:1:2238:1 | ChiTotal | total:m2238_6 | -| ir.cpp:2238:1:2238:1 | SideEffect | m2231_8 | -| ir.cpp:2238:1:2238:1 | SideEffect | m2237_9 | -| ir.cpp:2238:1:2238:1 | SideEffect | ~m2237_7 | -| ir.cpp:2238:1:2238:1 | SideEffect | ~m2238_6 | -| ir.cpp:2240:6:2240:19 | ChiPartial | partial:m2240_3 | -| ir.cpp:2240:6:2240:19 | ChiTotal | total:m2240_2 | -| ir.cpp:2240:6:2240:19 | SideEffect | ~m2250_54 | -| ir.cpp:2241:10:2241:10 | Address | &:r2241_1 | -| ir.cpp:2241:13:2241:16 | StoreValue | r2241_2 | -| ir.cpp:2242:16:2242:16 | Address | &:r2242_1 | -| ir.cpp:2242:16:2242:16 | Address | &:r2242_1 | -| ir.cpp:2242:16:2242:16 | Address | &:r2242_31 | -| ir.cpp:2242:16:2242:16 | Address | &:r2242_31 | -| ir.cpp:2242:16:2242:16 | Arg(this) | this:r2242_1 | -| ir.cpp:2242:16:2242:16 | Arg(this) | this:r2242_31 | -| ir.cpp:2242:16:2242:16 | CallTarget | func:r2242_32 | -| ir.cpp:2242:16:2242:16 | ChiPartial | partial:m2242_34 | -| ir.cpp:2242:16:2242:16 | ChiPartial | partial:m2242_37 | -| ir.cpp:2242:16:2242:16 | ChiTotal | total:m2242_12 | -| ir.cpp:2242:16:2242:16 | ChiTotal | total:m2242_13 | -| ir.cpp:2242:16:2242:16 | SideEffect | m2242_12 | -| ir.cpp:2242:16:2242:16 | SideEffect | ~m2242_13 | -| ir.cpp:2242:18:2242:24 | Address | &:r2242_5 | -| ir.cpp:2242:18:2242:24 | Arg(0) | 0:r2242_5 | -| ir.cpp:2242:18:2242:24 | SideEffect | ~m2240_3 | -| ir.cpp:2242:18:2242:24 | Unary | r2242_4 | -| ir.cpp:2242:18:2242:25 | CallTarget | func:r2242_3 | -| ir.cpp:2242:18:2242:25 | ChiPartial | partial:m2242_7 | -| ir.cpp:2242:18:2242:25 | ChiPartial | partial:m2242_10 | -| ir.cpp:2242:18:2242:25 | ChiTotal | total:m2240_4 | -| ir.cpp:2242:18:2242:25 | ChiTotal | total:m2242_2 | -| ir.cpp:2242:18:2242:25 | SideEffect | ~m2240_4 | -| ir.cpp:2242:28:2242:28 | Address | &:r2242_15 | -| ir.cpp:2242:28:2242:28 | Left | r2242_17 | -| ir.cpp:2242:28:2242:28 | Load | m2242_14 | -| ir.cpp:2242:28:2242:28 | Phi | from 0:m2241_3 | -| ir.cpp:2242:28:2242:28 | Phi | from 0:m2242_11 | -| ir.cpp:2242:28:2242:28 | Phi | from 0:~m2242_8 | -| ir.cpp:2242:28:2242:28 | Phi | from 2:m2242_28 | -| ir.cpp:2242:28:2242:28 | Phi | from 2:m2242_30 | -| ir.cpp:2242:28:2242:28 | Phi | from 2:~m2242_25 | -| ir.cpp:2242:28:2242:28 | Unary | r2242_16 | -| ir.cpp:2242:28:2242:33 | Condition | r2242_19 | -| ir.cpp:2242:33:2242:33 | Right | r2242_18 | -| ir.cpp:2242:36:2242:36 | Address | &:r2242_29 | -| ir.cpp:2242:40:2242:40 | Address | &:r2242_21 | -| ir.cpp:2242:40:2242:40 | Address | &:r2242_21 | -| ir.cpp:2242:40:2242:40 | Arg(this) | this:r2242_21 | -| ir.cpp:2242:40:2242:40 | ChiPartial | partial:m2242_27 | -| ir.cpp:2242:40:2242:40 | ChiTotal | total:m2242_12 | -| ir.cpp:2242:40:2242:40 | SideEffect | m2242_12 | -| ir.cpp:2242:42:2242:49 | CallTarget | func:r2242_22 | -| ir.cpp:2242:42:2242:49 | ChiPartial | partial:m2242_24 | -| ir.cpp:2242:42:2242:49 | ChiTotal | total:m2244_5 | -| ir.cpp:2242:42:2242:49 | SideEffect | ~m2244_5 | -| ir.cpp:2242:42:2242:49 | StoreValue | r2242_23 | -| ir.cpp:2243:16:2243:17 | Address | &:r2243_1 | -| ir.cpp:2243:16:2243:17 | Address | &:r2243_1 | -| ir.cpp:2243:16:2243:17 | Arg(this) | this:r2243_1 | -| ir.cpp:2243:16:2243:17 | CallTarget | func:r2243_3 | -| ir.cpp:2243:16:2243:17 | ChiPartial | partial:m2243_5 | -| ir.cpp:2243:16:2243:17 | ChiPartial | partial:m2243_7 | -| ir.cpp:2243:16:2243:17 | ChiTotal | total:m2242_13 | -| ir.cpp:2243:16:2243:17 | ChiTotal | total:m2243_2 | -| ir.cpp:2243:16:2243:17 | SideEffect | ~m2242_13 | -| ir.cpp:2244:5:2244:5 | Address | &:r2244_1 | -| ir.cpp:2244:5:2244:5 | Address | &:r2244_1 | -| ir.cpp:2244:5:2244:5 | Arg(this) | this:r2244_1 | -| ir.cpp:2244:5:2244:5 | CallTarget | func:r2244_2 | -| ir.cpp:2244:5:2244:5 | ChiPartial | partial:m2244_4 | -| ir.cpp:2244:5:2244:5 | ChiPartial | partial:m2244_7 | -| ir.cpp:2244:5:2244:5 | ChiTotal | total:m2243_6 | -| ir.cpp:2244:5:2244:5 | ChiTotal | total:m2243_8 | -| ir.cpp:2244:5:2244:5 | SideEffect | m2243_8 | -| ir.cpp:2244:5:2244:5 | SideEffect | ~m2243_6 | -| ir.cpp:2246:5:2246:5 | Address | &:r2246_1 | -| ir.cpp:2246:5:2246:5 | Address | &:r2246_24 | -| ir.cpp:2246:5:2246:5 | Address | &:r2246_32 | -| ir.cpp:2246:16:2246:16 | Address | &:r2246_50 | -| ir.cpp:2246:16:2246:16 | Address | &:r2246_50 | -| ir.cpp:2246:16:2246:16 | Address | &:r2246_67 | -| ir.cpp:2246:16:2246:16 | Address | &:r2246_67 | -| ir.cpp:2246:16:2246:16 | Arg(this) | this:r2246_50 | -| ir.cpp:2246:16:2246:16 | Arg(this) | this:r2246_67 | -| ir.cpp:2246:16:2246:16 | CallTarget | func:r2246_52 | -| ir.cpp:2246:16:2246:16 | CallTarget | func:r2246_68 | -| ir.cpp:2246:16:2246:16 | ChiPartial | partial:m2246_62 | -| ir.cpp:2246:16:2246:16 | ChiPartial | partial:m2246_65 | -| ir.cpp:2246:16:2246:16 | ChiPartial | partial:m2246_70 | -| ir.cpp:2246:16:2246:16 | ChiPartial | partial:m2246_73 | -| ir.cpp:2246:16:2246:16 | ChiTotal | total:m2246_51 | -| ir.cpp:2246:16:2246:16 | ChiTotal | total:m2246_57 | -| ir.cpp:2246:16:2246:16 | ChiTotal | total:m2246_66 | -| ir.cpp:2246:16:2246:16 | ChiTotal | total:m2248_5 | -| ir.cpp:2246:16:2246:16 | SideEffect | m2246_66 | -| ir.cpp:2246:16:2246:16 | SideEffect | ~m2246_57 | -| ir.cpp:2246:16:2246:16 | SideEffect | ~m2248_5 | -| ir.cpp:2246:20:2246:20 | Address | &:r2246_25 | -| ir.cpp:2246:20:2246:20 | Address | &:r2246_33 | -| ir.cpp:2246:20:2246:20 | Address | &:r2246_44 | -| ir.cpp:2246:20:2246:20 | Address | &:r2246_75 | -| ir.cpp:2246:20:2246:20 | Address | &:r2246_75 | -| ir.cpp:2246:20:2246:20 | Arg(0) | 0:r2246_45 | -| ir.cpp:2246:20:2246:20 | Arg(this) | this:r0_2 | -| ir.cpp:2246:20:2246:20 | Arg(this) | this:r0_5 | -| ir.cpp:2246:20:2246:20 | Arg(this) | this:r0_7 | -| ir.cpp:2246:20:2246:20 | Arg(this) | this:r0_9 | -| ir.cpp:2246:20:2246:20 | Arg(this) | this:r2246_75 | -| ir.cpp:2246:20:2246:20 | CallTarget | func:r2246_27 | -| ir.cpp:2246:20:2246:20 | CallTarget | func:r2246_35 | -| ir.cpp:2246:20:2246:20 | CallTarget | func:r2246_43 | -| ir.cpp:2246:20:2246:20 | CallTarget | func:r2246_54 | -| ir.cpp:2246:20:2246:20 | CallTarget | func:r2246_76 | -| ir.cpp:2246:20:2246:20 | ChiPartial | partial:m2246_29 | -| ir.cpp:2246:20:2246:20 | ChiPartial | partial:m2246_37 | -| ir.cpp:2246:20:2246:20 | ChiPartial | partial:m2246_47 | -| ir.cpp:2246:20:2246:20 | ChiPartial | partial:m2246_56 | -| ir.cpp:2246:20:2246:20 | ChiPartial | partial:m2246_78 | -| ir.cpp:2246:20:2246:20 | ChiPartial | partial:m2246_81 | -| ir.cpp:2246:20:2246:20 | ChiTotal | total:m2246_19 | -| ir.cpp:2246:20:2246:20 | ChiTotal | total:m2246_30 | -| ir.cpp:2246:20:2246:20 | ChiTotal | total:m2246_40 | -| ir.cpp:2246:20:2246:20 | ChiTotal | total:m2246_41 | -| ir.cpp:2246:20:2246:20 | ChiTotal | total:m2246_48 | -| ir.cpp:2246:20:2246:20 | ChiTotal | total:m2246_71 | -| ir.cpp:2246:20:2246:20 | Condition | r2246_46 | -| ir.cpp:2246:20:2246:20 | Load | m2246_23 | -| ir.cpp:2246:20:2246:20 | Load | m2246_23 | -| ir.cpp:2246:20:2246:20 | Load | m2246_39 | -| ir.cpp:2246:20:2246:20 | Phi | from 3:m2246_31 | -| ir.cpp:2246:20:2246:20 | Phi | from 3:~m2246_38 | -| ir.cpp:2246:20:2246:20 | Phi | from 5:m2246_82 | -| ir.cpp:2246:20:2246:20 | Phi | from 5:~m2246_79 | -| ir.cpp:2246:20:2246:20 | SideEffect | m2246_40 | -| ir.cpp:2246:20:2246:20 | SideEffect | ~m2246_19 | -| ir.cpp:2246:20:2246:20 | SideEffect | ~m2246_30 | -| ir.cpp:2246:20:2246:20 | SideEffect | ~m2246_41 | -| ir.cpp:2246:20:2246:20 | SideEffect | ~m2246_48 | -| ir.cpp:2246:20:2246:20 | SideEffect | ~m2246_71 | -| ir.cpp:2246:20:2246:20 | StoreValue | r2246_28 | -| ir.cpp:2246:20:2246:20 | StoreValue | r2246_36 | -| ir.cpp:2246:20:2246:20 | Unary | r2246_26 | -| ir.cpp:2246:20:2246:20 | Unary | r2246_34 | -| ir.cpp:2246:20:2246:20 | Unary | r2246_42 | -| ir.cpp:2246:20:2246:20 | Unary | r2246_53 | -| ir.cpp:2246:20:2246:20 | Unary | r2246_55 | -| ir.cpp:2246:20:2246:20 | Unary | r2246_77 | -| ir.cpp:2246:20:2246:50 | Address | &:r2246_2 | -| ir.cpp:2246:20:2246:50 | Address | &:r2246_2 | -| ir.cpp:2246:20:2246:50 | Arg(this) | this:r2246_2 | -| ir.cpp:2246:20:2246:50 | CallTarget | func:r2246_4 | -| ir.cpp:2246:20:2246:50 | ChiPartial | partial:m2246_18 | -| ir.cpp:2246:20:2246:50 | ChiPartial | partial:m2246_20 | -| ir.cpp:2246:20:2246:50 | ChiTotal | total:m2246_3 | -| ir.cpp:2246:20:2246:50 | ChiTotal | total:m2246_12 | -| ir.cpp:2246:20:2246:50 | SideEffect | ~m2246_12 | -| ir.cpp:2246:20:2246:50 | StoreValue | r2246_22 | -| ir.cpp:2246:20:2246:50 | Unary | r2246_2 | -| ir.cpp:2246:20:2246:51 | Address | &:r2246_60 | -| ir.cpp:2246:20:2246:51 | Arg(0) | 0:r2246_60 | -| ir.cpp:2246:20:2246:51 | SideEffect | ~m2246_63 | -| ir.cpp:2246:20:2246:51 | Unary | r2246_58 | -| ir.cpp:2246:20:2246:51 | Unary | r2246_59 | -| ir.cpp:2246:35:2246:49 | Address | &:r2246_5 | -| ir.cpp:2246:35:2246:49 | Address | &:r2246_5 | -| ir.cpp:2246:35:2246:49 | Address | &:r2246_5 | -| ir.cpp:2246:35:2246:49 | Arg(0) | 0:r2246_16 | -| ir.cpp:2246:35:2246:49 | Arg(this) | this:r2246_5 | -| ir.cpp:2246:35:2246:49 | CallTarget | func:r2246_7 | -| ir.cpp:2246:35:2246:49 | ChiPartial | partial:m2246_11 | -| ir.cpp:2246:35:2246:49 | ChiPartial | partial:m2246_14 | -| ir.cpp:2246:35:2246:49 | ChiTotal | total:m2242_35 | -| ir.cpp:2246:35:2246:49 | ChiTotal | total:m2246_6 | -| ir.cpp:2246:35:2246:49 | Load | m2246_15 | -| ir.cpp:2246:35:2246:49 | SideEffect | ~m2242_35 | -| ir.cpp:2246:42:2246:48 | Address | &:r2246_9 | -| ir.cpp:2246:42:2246:48 | Arg(0) | 0:r2246_9 | -| ir.cpp:2246:42:2246:48 | SideEffect | ~m2240_3 | -| ir.cpp:2246:42:2246:48 | Unary | r2246_8 | -| ir.cpp:2247:16:2247:17 | Address | &:r2247_1 | -| ir.cpp:2247:16:2247:17 | Address | &:r2247_1 | -| ir.cpp:2247:16:2247:17 | Arg(this) | this:r2247_1 | -| ir.cpp:2247:16:2247:17 | CallTarget | func:r2247_3 | -| ir.cpp:2247:16:2247:17 | ChiPartial | partial:m2247_5 | -| ir.cpp:2247:16:2247:17 | ChiPartial | partial:m2247_7 | -| ir.cpp:2247:16:2247:17 | ChiTotal | total:m2246_63 | -| ir.cpp:2247:16:2247:17 | ChiTotal | total:m2247_2 | -| ir.cpp:2247:16:2247:17 | SideEffect | ~m2246_63 | -| ir.cpp:2248:5:2248:5 | Address | &:r2248_1 | -| ir.cpp:2248:5:2248:5 | Address | &:r2248_1 | -| ir.cpp:2248:5:2248:5 | Arg(this) | this:r2248_1 | -| ir.cpp:2248:5:2248:5 | CallTarget | func:r2248_2 | -| ir.cpp:2248:5:2248:5 | ChiPartial | partial:m2248_4 | -| ir.cpp:2248:5:2248:5 | ChiPartial | partial:m2248_7 | -| ir.cpp:2248:5:2248:5 | ChiTotal | total:m2247_6 | -| ir.cpp:2248:5:2248:5 | ChiTotal | total:m2247_8 | -| ir.cpp:2248:5:2248:5 | SideEffect | m2247_8 | -| ir.cpp:2248:5:2248:5 | SideEffect | ~m2247_6 | -| ir.cpp:2250:16:2250:16 | Address | &:r2250_1 | -| ir.cpp:2250:16:2250:16 | Address | &:r2250_1 | -| ir.cpp:2250:16:2250:16 | Address | &:r2250_50 | -| ir.cpp:2250:16:2250:16 | Address | &:r2250_50 | -| ir.cpp:2250:16:2250:16 | Arg(this) | this:r2250_1 | -| ir.cpp:2250:16:2250:16 | Arg(this) | this:r2250_50 | -| ir.cpp:2250:16:2250:16 | CallTarget | func:r2250_51 | -| ir.cpp:2250:16:2250:16 | ChiPartial | partial:m2250_53 | -| ir.cpp:2250:16:2250:16 | ChiPartial | partial:m2250_56 | -| ir.cpp:2250:16:2250:16 | ChiTotal | total:m2250_23 | -| ir.cpp:2250:16:2250:16 | ChiTotal | total:m2250_46 | -| ir.cpp:2250:16:2250:16 | SideEffect | m2250_23 | -| ir.cpp:2250:16:2250:16 | SideEffect | ~m2250_46 | -| ir.cpp:2250:18:2250:24 | Address | &:r2250_5 | -| ir.cpp:2250:18:2250:24 | Arg(0) | 0:r2250_5 | -| ir.cpp:2250:18:2250:24 | SideEffect | ~m2240_3 | -| ir.cpp:2250:18:2250:24 | Unary | r2250_4 | -| ir.cpp:2250:18:2250:25 | CallTarget | func:r2250_3 | -| ir.cpp:2250:18:2250:25 | ChiPartial | partial:m2250_7 | -| ir.cpp:2250:18:2250:25 | ChiPartial | partial:m2250_10 | -| ir.cpp:2250:18:2250:25 | ChiTotal | total:m2246_48 | -| ir.cpp:2250:18:2250:25 | ChiTotal | total:m2250_2 | -| ir.cpp:2250:18:2250:25 | SideEffect | ~m2246_48 | -| ir.cpp:2250:28:2250:29 | Address | &:r2250_12 | -| ir.cpp:2250:28:2250:29 | Address | &:r2250_12 | -| ir.cpp:2250:28:2250:29 | Address | &:r2250_42 | -| ir.cpp:2250:28:2250:29 | Address | &:r2250_42 | -| ir.cpp:2250:28:2250:29 | Arg(this) | this:r2250_12 | -| ir.cpp:2250:28:2250:29 | Arg(this) | this:r2250_42 | -| ir.cpp:2250:28:2250:29 | CallTarget | func:r2250_43 | -| ir.cpp:2250:28:2250:29 | ChiPartial | partial:m2250_45 | -| ir.cpp:2250:28:2250:29 | ChiPartial | partial:m2250_48 | -| ir.cpp:2250:28:2250:29 | ChiTotal | total:m2250_22 | -| ir.cpp:2250:28:2250:29 | ChiTotal | total:m2250_24 | -| ir.cpp:2250:28:2250:29 | SideEffect | m2250_22 | -| ir.cpp:2250:28:2250:29 | SideEffect | ~m2250_24 | -| ir.cpp:2250:31:2250:37 | Address | &:r2250_16 | -| ir.cpp:2250:31:2250:37 | Arg(0) | 0:r2250_16 | -| ir.cpp:2250:31:2250:37 | SideEffect | ~m2240_3 | -| ir.cpp:2250:31:2250:37 | Unary | r2250_15 | -| ir.cpp:2250:31:2250:38 | CallTarget | func:r2250_14 | -| ir.cpp:2250:31:2250:38 | ChiPartial | partial:m2250_18 | -| ir.cpp:2250:31:2250:38 | ChiPartial | partial:m2250_21 | -| ir.cpp:2250:31:2250:38 | ChiTotal | total:m2250_8 | -| ir.cpp:2250:31:2250:38 | ChiTotal | total:m2250_13 | -| ir.cpp:2250:31:2250:38 | SideEffect | ~m2250_8 | -| ir.cpp:2250:41:2250:41 | Address | &:r2250_26 | -| ir.cpp:2250:41:2250:41 | Left | r2250_28 | -| ir.cpp:2250:41:2250:41 | Load | m2250_25 | -| ir.cpp:2250:41:2250:41 | Phi | from 6:m2242_14 | -| ir.cpp:2250:41:2250:41 | Phi | from 6:m2250_11 | -| ir.cpp:2250:41:2250:41 | Phi | from 6:~m2250_19 | -| ir.cpp:2250:41:2250:41 | Phi | from 8:m2250_39 | -| ir.cpp:2250:41:2250:41 | Phi | from 8:m2250_41 | -| ir.cpp:2250:41:2250:41 | Phi | from 8:~m2250_36 | -| ir.cpp:2250:41:2250:41 | Unary | r2250_27 | -| ir.cpp:2250:41:2250:46 | Condition | r2250_30 | -| ir.cpp:2250:46:2250:46 | Right | r2250_29 | -| ir.cpp:2250:49:2250:49 | Address | &:r2250_40 | -| ir.cpp:2250:53:2250:53 | Address | &:r2250_32 | -| ir.cpp:2250:53:2250:53 | Address | &:r2250_32 | -| ir.cpp:2250:53:2250:53 | Arg(this) | this:r2250_32 | -| ir.cpp:2250:53:2250:53 | ChiPartial | partial:m2250_38 | -| ir.cpp:2250:53:2250:53 | ChiTotal | total:m2250_23 | -| ir.cpp:2250:53:2250:53 | SideEffect | m2250_23 | -| ir.cpp:2250:55:2250:62 | CallTarget | func:r2250_33 | -| ir.cpp:2250:55:2250:62 | ChiPartial | partial:m2250_35 | -| ir.cpp:2250:55:2250:62 | ChiTotal | total:m2250_24 | -| ir.cpp:2250:55:2250:62 | SideEffect | ~m2250_24 | -| ir.cpp:2250:55:2250:62 | StoreValue | r2250_34 | -| ir.cpp:2251:9:2251:9 | Address | &:r2251_2 | -| ir.cpp:2251:13:2251:13 | StoreValue | r2251_1 | -| ir.cpp:2255:6:2255:19 | ChiPartial | partial:m2255_3 | -| ir.cpp:2255:6:2255:19 | ChiTotal | total:m2255_2 | -| ir.cpp:2255:6:2255:19 | SideEffect | ~m2260_5 | -| ir.cpp:2255:26:2255:26 | Address | &:r2255_5 | -| ir.cpp:2256:15:2256:15 | Address | &:r2256_1 | -| ir.cpp:2256:15:2256:15 | Address | &:r2256_1 | -| ir.cpp:2256:15:2256:15 | Arg(this) | this:r2256_1 | -| ir.cpp:2256:18:2256:33 | CallTarget | func:r2256_3 | -| ir.cpp:2256:18:2256:33 | ChiPartial | partial:m2256_7 | -| ir.cpp:2256:18:2256:33 | ChiPartial | partial:m2256_10 | -| ir.cpp:2256:18:2256:33 | ChiTotal | total:m2255_4 | -| ir.cpp:2256:18:2256:33 | ChiTotal | total:m2256_2 | -| ir.cpp:2256:18:2256:33 | SideEffect | ~m2255_4 | -| ir.cpp:2256:26:2256:32 | Address | &:r2256_5 | -| ir.cpp:2256:26:2256:32 | Arg(0) | 0:r2256_5 | -| ir.cpp:2256:26:2256:32 | SideEffect | ~m2255_3 | -| ir.cpp:2256:26:2256:32 | Unary | r2256_4 | -| ir.cpp:2256:36:2256:36 | Address | &:r2256_12 | -| ir.cpp:2256:36:2256:36 | Condition | r2256_13 | -| ir.cpp:2256:36:2256:36 | Load | m2255_6 | -| ir.cpp:2257:13:2257:13 | Address | &:r2257_1 | -| ir.cpp:2257:16:2257:17 | StoreValue | r2257_2 | -| ir.cpp:2259:13:2259:13 | Address | &:r2259_1 | -| ir.cpp:2259:16:2259:17 | StoreValue | r2259_2 | -| ir.cpp:2260:5:2260:5 | Address | &:r2260_1 | -| ir.cpp:2260:5:2260:5 | Address | &:r2260_1 | -| ir.cpp:2260:5:2260:5 | Arg(this) | this:r2260_1 | -| ir.cpp:2260:5:2260:5 | CallTarget | func:r2260_2 | -| ir.cpp:2260:5:2260:5 | ChiPartial | partial:m2260_4 | -| ir.cpp:2260:5:2260:5 | ChiPartial | partial:m2260_7 | -| ir.cpp:2260:5:2260:5 | ChiTotal | total:m2256_8 | -| ir.cpp:2260:5:2260:5 | ChiTotal | total:m2256_11 | -| ir.cpp:2260:5:2260:5 | SideEffect | m2256_11 | -| ir.cpp:2260:5:2260:5 | SideEffect | ~m2256_8 | -| ir.cpp:2270:6:2270:19 | ChiPartial | partial:m2270_3 | -| ir.cpp:2270:6:2270:19 | ChiTotal | total:m2270_2 | -| ir.cpp:2270:6:2270:19 | SideEffect | ~m2275_14 | -| ir.cpp:2270:26:2270:26 | Address | &:r2270_5 | -| ir.cpp:2271:8:2271:23 | Address | &:r2271_1 | -| ir.cpp:2271:8:2271:23 | Address | &:r2271_1 | -| ir.cpp:2271:8:2271:23 | Arg(this) | this:r2271_1 | -| ir.cpp:2271:8:2271:23 | Condition | r2271_19 | -| ir.cpp:2271:13:2271:13 | Address | &:r2271_11 | -| ir.cpp:2271:13:2271:13 | Address | &:r2271_11 | -| ir.cpp:2271:13:2271:13 | Arg(this) | this:r2271_11 | -| ir.cpp:2271:13:2271:13 | CallTarget | func:r2271_12 | -| ir.cpp:2271:13:2271:13 | ChiPartial | partial:m2271_14 | -| ir.cpp:2271:13:2271:13 | ChiPartial | partial:m2271_17 | -| ir.cpp:2271:13:2271:13 | ChiTotal | total:m2271_8 | -| ir.cpp:2271:13:2271:13 | ChiTotal | total:m2271_10 | -| ir.cpp:2271:13:2271:13 | SideEffect | m2271_10 | -| ir.cpp:2271:13:2271:13 | SideEffect | ~m2271_8 | -| ir.cpp:2271:13:2271:13 | Unary | r2271_13 | -| ir.cpp:2271:16:2271:23 | CallTarget | func:r2271_3 | -| ir.cpp:2271:16:2271:23 | ChiPartial | partial:m2271_7 | -| ir.cpp:2271:16:2271:23 | ChiPartial | partial:m2271_9 | -| ir.cpp:2271:16:2271:23 | ChiTotal | total:m2270_4 | -| ir.cpp:2271:16:2271:23 | ChiTotal | total:m2271_2 | -| ir.cpp:2271:16:2271:23 | SideEffect | ~m2270_4 | -| ir.cpp:2271:22:2271:22 | Address | &:r2271_4 | -| ir.cpp:2271:22:2271:22 | Arg(0) | 0:r2271_5 | -| ir.cpp:2271:22:2271:22 | Load | m2270_6 | -| ir.cpp:2272:16:2272:17 | Address | &:r2272_1 | -| ir.cpp:2272:16:2272:17 | Address | &:r2272_1 | -| ir.cpp:2272:16:2272:17 | Arg(this) | this:r2272_1 | -| ir.cpp:2272:16:2272:17 | CallTarget | func:r2272_3 | -| ir.cpp:2272:16:2272:17 | ChiPartial | partial:m2272_5 | -| ir.cpp:2272:16:2272:17 | ChiPartial | partial:m2272_7 | -| ir.cpp:2272:16:2272:17 | ChiTotal | total:m2271_15 | -| ir.cpp:2272:16:2272:17 | ChiTotal | total:m2272_2 | -| ir.cpp:2272:16:2272:17 | SideEffect | ~m2271_15 | -| ir.cpp:2273:5:2273:5 | Address | &:r2273_1 | -| ir.cpp:2273:5:2273:5 | Address | &:r2273_1 | -| ir.cpp:2273:5:2273:5 | Arg(this) | this:r2273_1 | -| ir.cpp:2273:5:2273:5 | CallTarget | func:r2273_2 | -| ir.cpp:2273:5:2273:5 | ChiPartial | partial:m2273_4 | -| ir.cpp:2273:5:2273:5 | ChiPartial | partial:m2273_7 | -| ir.cpp:2273:5:2273:5 | ChiTotal | total:m2272_6 | -| ir.cpp:2273:5:2273:5 | ChiTotal | total:m2272_8 | -| ir.cpp:2273:5:2273:5 | SideEffect | m2272_8 | -| ir.cpp:2273:5:2273:5 | SideEffect | ~m2272_6 | -| ir.cpp:2274:16:2274:17 | Address | &:r2274_1 | -| ir.cpp:2274:16:2274:17 | Address | &:r2274_1 | -| ir.cpp:2274:16:2274:17 | Arg(this) | this:r2274_1 | -| ir.cpp:2274:16:2274:17 | CallTarget | func:r2274_3 | -| ir.cpp:2274:16:2274:17 | ChiPartial | partial:m2274_5 | -| ir.cpp:2274:16:2274:17 | ChiPartial | partial:m2274_7 | -| ir.cpp:2274:16:2274:17 | ChiTotal | total:m2271_15 | -| ir.cpp:2274:16:2274:17 | ChiTotal | total:m2274_2 | -| ir.cpp:2274:16:2274:17 | SideEffect | ~m2271_15 | -| ir.cpp:2275:5:2275:5 | Address | &:r2275_1 | -| ir.cpp:2275:5:2275:5 | Address | &:r2275_1 | -| ir.cpp:2275:5:2275:5 | Address | &:r2275_10 | -| ir.cpp:2275:5:2275:5 | Address | &:r2275_10 | -| ir.cpp:2275:5:2275:5 | Arg(this) | this:r2275_1 | -| ir.cpp:2275:5:2275:5 | Arg(this) | this:r2275_10 | -| ir.cpp:2275:5:2275:5 | CallTarget | func:r2275_2 | -| ir.cpp:2275:5:2275:5 | CallTarget | func:r2275_11 | -| ir.cpp:2275:5:2275:5 | ChiPartial | partial:m2275_4 | -| ir.cpp:2275:5:2275:5 | ChiPartial | partial:m2275_7 | -| ir.cpp:2275:5:2275:5 | ChiPartial | partial:m2275_13 | -| ir.cpp:2275:5:2275:5 | ChiPartial | partial:m2275_16 | -| ir.cpp:2275:5:2275:5 | ChiTotal | total:m2271_18 | -| ir.cpp:2275:5:2275:5 | ChiTotal | total:m2274_6 | -| ir.cpp:2275:5:2275:5 | ChiTotal | total:m2274_8 | -| ir.cpp:2275:5:2275:5 | ChiTotal | total:m2275_9 | -| ir.cpp:2275:5:2275:5 | Phi | from 1:~m2273_5 | -| ir.cpp:2275:5:2275:5 | Phi | from 2:~m2275_5 | -| ir.cpp:2275:5:2275:5 | SideEffect | m2271_18 | -| ir.cpp:2275:5:2275:5 | SideEffect | m2274_8 | -| ir.cpp:2275:5:2275:5 | SideEffect | ~m2274_6 | -| ir.cpp:2275:5:2275:5 | SideEffect | ~m2275_9 | -| ir.cpp:2278:6:2278:25 | ChiPartial | partial:m2278_3 | -| ir.cpp:2278:6:2278:25 | ChiTotal | total:m2278_2 | -| ir.cpp:2278:6:2278:25 | SideEffect | ~m2289_13 | -| ir.cpp:2278:32:2278:32 | Address | &:r2278_5 | -| ir.cpp:2280:16:2280:16 | Address | &:r2280_1 | -| ir.cpp:2280:16:2280:16 | Address | &:r2280_1 | -| ir.cpp:2280:16:2280:16 | Arg(this) | this:r2280_1 | -| ir.cpp:2280:16:2280:16 | CallTarget | func:r2280_3 | -| ir.cpp:2280:16:2280:16 | ChiPartial | partial:m2280_5 | -| ir.cpp:2280:16:2280:16 | ChiPartial | partial:m2280_7 | -| ir.cpp:2280:16:2280:16 | ChiTotal | total:m2278_4 | -| ir.cpp:2280:16:2280:16 | ChiTotal | total:m2280_2 | -| ir.cpp:2280:16:2280:16 | SideEffect | ~m2278_4 | -| ir.cpp:2281:15:2281:15 | Address | &:r2281_2 | -| ir.cpp:2281:15:2281:15 | Condition | r2281_3 | -| ir.cpp:2281:15:2281:15 | Load | m2281_1 | -| ir.cpp:2281:15:2281:15 | Phi | from 0:m2278_6 | -| ir.cpp:2281:15:2281:15 | Phi | from 2:m2282_3 | -| ir.cpp:2282:13:2282:13 | Address | &:r2282_2 | -| ir.cpp:2282:17:2282:21 | StoreValue | r2282_1 | -| ir.cpp:2284:5:2284:5 | Address | &:r2284_1 | -| ir.cpp:2284:5:2284:5 | Address | &:r2284_1 | -| ir.cpp:2284:5:2284:5 | Arg(this) | this:r2284_1 | -| ir.cpp:2284:5:2284:5 | CallTarget | func:r2284_2 | -| ir.cpp:2284:5:2284:5 | ChiPartial | partial:m2284_4 | -| ir.cpp:2284:5:2284:5 | ChiPartial | partial:m2284_7 | -| ir.cpp:2284:5:2284:5 | ChiTotal | total:m2280_6 | -| ir.cpp:2284:5:2284:5 | ChiTotal | total:m2280_8 | -| ir.cpp:2284:5:2284:5 | SideEffect | m2280_8 | -| ir.cpp:2284:5:2284:5 | SideEffect | ~m2280_6 | -| ir.cpp:2287:16:2287:31 | Address | &:r2287_3 | -| ir.cpp:2287:16:2287:31 | Address | &:r2287_3 | -| ir.cpp:2287:16:2287:31 | Arg(this) | this:r2287_3 | -| ir.cpp:2287:16:2287:31 | Condition | r2287_21 | -| ir.cpp:2287:16:2287:31 | Phi | from 3:m2281_1 | -| ir.cpp:2287:16:2287:31 | Phi | from 3:~m2284_5 | -| ir.cpp:2287:16:2287:31 | Phi | from 5:m2288_3 | -| ir.cpp:2287:16:2287:31 | Phi | from 5:~m2289_5 | -| ir.cpp:2287:21:2287:21 | Address | &:r2287_13 | -| ir.cpp:2287:21:2287:21 | Address | &:r2287_13 | -| ir.cpp:2287:21:2287:21 | Arg(this) | this:r2287_13 | -| ir.cpp:2287:21:2287:21 | CallTarget | func:r2287_14 | -| ir.cpp:2287:21:2287:21 | ChiPartial | partial:m2287_16 | -| ir.cpp:2287:21:2287:21 | ChiPartial | partial:m2287_19 | -| ir.cpp:2287:21:2287:21 | ChiTotal | total:m2287_10 | -| ir.cpp:2287:21:2287:21 | ChiTotal | total:m2287_12 | -| ir.cpp:2287:21:2287:21 | SideEffect | m2287_12 | -| ir.cpp:2287:21:2287:21 | SideEffect | ~m2287_10 | -| ir.cpp:2287:21:2287:21 | Unary | r2287_15 | -| ir.cpp:2287:24:2287:31 | CallTarget | func:r2287_5 | -| ir.cpp:2287:24:2287:31 | ChiPartial | partial:m2287_9 | -| ir.cpp:2287:24:2287:31 | ChiPartial | partial:m2287_11 | -| ir.cpp:2287:24:2287:31 | ChiTotal | total:m2287_1 | -| ir.cpp:2287:24:2287:31 | ChiTotal | total:m2287_4 | -| ir.cpp:2287:24:2287:31 | SideEffect | ~m2287_1 | -| ir.cpp:2287:30:2287:30 | Address | &:r2287_6 | -| ir.cpp:2287:30:2287:30 | Arg(0) | 0:r2287_7 | -| ir.cpp:2287:30:2287:30 | Load | m2287_2 | -| ir.cpp:2288:13:2288:13 | Address | &:r2288_2 | -| ir.cpp:2288:17:2288:21 | StoreValue | r2288_1 | -| ir.cpp:2289:9:2289:9 | Address | &:r2289_1 | -| ir.cpp:2289:9:2289:9 | Address | &:r2289_1 | -| ir.cpp:2289:9:2289:9 | Address | &:r2289_9 | -| ir.cpp:2289:9:2289:9 | Address | &:r2289_9 | -| ir.cpp:2289:9:2289:9 | Arg(this) | this:r2289_1 | -| ir.cpp:2289:9:2289:9 | Arg(this) | this:r2289_9 | -| ir.cpp:2289:9:2289:9 | CallTarget | func:r2289_2 | -| ir.cpp:2289:9:2289:9 | CallTarget | func:r2289_10 | -| ir.cpp:2289:9:2289:9 | ChiPartial | partial:m2289_4 | -| ir.cpp:2289:9:2289:9 | ChiPartial | partial:m2289_7 | -| ir.cpp:2289:9:2289:9 | ChiPartial | partial:m2289_12 | -| ir.cpp:2289:9:2289:9 | ChiPartial | partial:m2289_15 | -| ir.cpp:2289:9:2289:9 | ChiTotal | total:m2287_17 | -| ir.cpp:2289:9:2289:9 | ChiTotal | total:m2287_17 | -| ir.cpp:2289:9:2289:9 | ChiTotal | total:m2287_20 | -| ir.cpp:2289:9:2289:9 | ChiTotal | total:m2287_20 | -| ir.cpp:2289:9:2289:9 | SideEffect | m2287_20 | -| ir.cpp:2289:9:2289:9 | SideEffect | m2287_20 | -| ir.cpp:2289:9:2289:9 | SideEffect | ~m2287_17 | -| ir.cpp:2289:9:2289:9 | SideEffect | ~m2287_17 | -| ir.cpp:2293:6:2293:13 | ChiPartial | partial:m2293_3 | -| ir.cpp:2293:6:2293:13 | ChiTotal | total:m2293_2 | -| ir.cpp:2293:6:2293:13 | SideEffect | m2293_3 | -| ir.cpp:2295:6:2295:24 | ChiPartial | partial:m2295_3 | -| ir.cpp:2295:6:2295:24 | ChiTotal | total:m2295_2 | -| ir.cpp:2295:6:2295:24 | Phi | from 2:~m2304_5 | -| ir.cpp:2295:6:2295:24 | Phi | from 4:~m2304_13 | -| ir.cpp:2295:6:2295:24 | Phi | from 5:~m2304_22 | -| ir.cpp:2295:6:2295:24 | SideEffect | ~m2295_7 | -| ir.cpp:2295:31:2295:31 | Address | &:r2295_5 | -| ir.cpp:2296:12:2296:12 | Address | &:r2296_1 | -| ir.cpp:2296:12:2296:12 | Address | &:r2296_1 | -| ir.cpp:2296:12:2296:12 | Arg(this) | this:r2296_1 | -| ir.cpp:2296:12:2296:12 | CallTarget | func:r2296_3 | -| ir.cpp:2296:12:2296:12 | ChiPartial | partial:m2296_5 | -| ir.cpp:2296:12:2296:12 | ChiPartial | partial:m2296_7 | -| ir.cpp:2296:12:2296:12 | ChiTotal | total:m2295_4 | -| ir.cpp:2296:12:2296:12 | ChiTotal | total:m2296_2 | -| ir.cpp:2296:12:2296:12 | SideEffect | ~m2295_4 | -| ir.cpp:2297:8:2297:8 | Address | &:r2297_1 | -| ir.cpp:2297:8:2297:8 | Condition | r2297_2 | -| ir.cpp:2297:8:2297:8 | Load | m2295_6 | -| ir.cpp:2300:8:2300:8 | Address | &:r2300_1 | -| ir.cpp:2300:8:2300:8 | Condition | r2300_2 | -| ir.cpp:2300:8:2300:8 | Load | m2295_6 | -| ir.cpp:2301:16:2301:23 | CallTarget | func:r2301_1 | -| ir.cpp:2301:16:2301:23 | ChiPartial | partial:m2301_3 | -| ir.cpp:2301:16:2301:23 | ChiTotal | total:m2296_6 | -| ir.cpp:2301:16:2301:23 | SideEffect | ~m2296_6 | -| ir.cpp:2304:1:2304:1 | Address | &:r2304_1 | -| ir.cpp:2304:1:2304:1 | Address | &:r2304_1 | -| ir.cpp:2304:1:2304:1 | Address | &:r2304_9 | -| ir.cpp:2304:1:2304:1 | Address | &:r2304_9 | -| ir.cpp:2304:1:2304:1 | Address | &:r2304_18 | -| ir.cpp:2304:1:2304:1 | Address | &:r2304_18 | -| ir.cpp:2304:1:2304:1 | Arg(this) | this:r2304_1 | -| ir.cpp:2304:1:2304:1 | Arg(this) | this:r2304_9 | -| ir.cpp:2304:1:2304:1 | Arg(this) | this:r2304_18 | -| ir.cpp:2304:1:2304:1 | CallTarget | func:r2304_2 | -| ir.cpp:2304:1:2304:1 | CallTarget | func:r2304_10 | -| ir.cpp:2304:1:2304:1 | CallTarget | func:r2304_19 | -| ir.cpp:2304:1:2304:1 | ChiPartial | partial:m2304_4 | -| ir.cpp:2304:1:2304:1 | ChiPartial | partial:m2304_7 | -| ir.cpp:2304:1:2304:1 | ChiPartial | partial:m2304_12 | -| ir.cpp:2304:1:2304:1 | ChiPartial | partial:m2304_15 | -| ir.cpp:2304:1:2304:1 | ChiPartial | partial:m2304_21 | -| ir.cpp:2304:1:2304:1 | ChiPartial | partial:m2304_24 | -| ir.cpp:2304:1:2304:1 | ChiTotal | total:m2296_6 | -| ir.cpp:2304:1:2304:1 | ChiTotal | total:m2296_6 | -| ir.cpp:2304:1:2304:1 | ChiTotal | total:m2296_8 | -| ir.cpp:2304:1:2304:1 | ChiTotal | total:m2296_8 | -| ir.cpp:2304:1:2304:1 | ChiTotal | total:m2296_8 | -| ir.cpp:2304:1:2304:1 | ChiTotal | total:m2301_4 | -| ir.cpp:2304:1:2304:1 | SideEffect | m2296_8 | -| ir.cpp:2304:1:2304:1 | SideEffect | m2296_8 | -| ir.cpp:2304:1:2304:1 | SideEffect | m2296_8 | -| ir.cpp:2304:1:2304:1 | SideEffect | ~m2296_6 | -| ir.cpp:2304:1:2304:1 | SideEffect | ~m2296_6 | -| ir.cpp:2304:1:2304:1 | SideEffect | ~m2301_4 | -| ir.cpp:2306:5:2306:24 | Address | &:r2306_9 | -| ir.cpp:2306:5:2306:24 | ChiPartial | partial:m2306_3 | -| ir.cpp:2306:5:2306:24 | ChiTotal | total:m2306_2 | -| ir.cpp:2306:5:2306:24 | Load | m2306_8 | -| ir.cpp:2306:5:2306:24 | Phi | from 2:m2309_3 | -| ir.cpp:2306:5:2306:24 | Phi | from 2:~m2312_5 | -| ir.cpp:2306:5:2306:24 | Phi | from 3:m2311_3 | -| ir.cpp:2306:5:2306:24 | Phi | from 3:~m2312_13 | -| ir.cpp:2306:5:2306:24 | SideEffect | ~m2306_7 | -| ir.cpp:2306:31:2306:31 | Address | &:r2306_5 | -| ir.cpp:2307:12:2307:12 | Address | &:r2307_1 | -| ir.cpp:2307:12:2307:12 | Address | &:r2307_1 | -| ir.cpp:2307:12:2307:12 | Arg(this) | this:r2307_1 | -| ir.cpp:2307:12:2307:12 | CallTarget | func:r2307_3 | -| ir.cpp:2307:12:2307:12 | ChiPartial | partial:m2307_5 | -| ir.cpp:2307:12:2307:12 | ChiPartial | partial:m2307_7 | -| ir.cpp:2307:12:2307:12 | ChiTotal | total:m2306_4 | -| ir.cpp:2307:12:2307:12 | ChiTotal | total:m2307_2 | -| ir.cpp:2307:12:2307:12 | SideEffect | ~m2306_4 | -| ir.cpp:2308:8:2308:8 | Address | &:r2308_1 | -| ir.cpp:2308:8:2308:8 | Condition | r2308_2 | -| ir.cpp:2308:8:2308:8 | Load | m2306_6 | -| ir.cpp:2309:9:2309:17 | Address | &:r2309_1 | -| ir.cpp:2309:16:2309:16 | StoreValue | r2309_2 | -| ir.cpp:2311:5:2311:13 | Address | &:r2311_1 | -| ir.cpp:2311:12:2311:12 | StoreValue | r2311_2 | -| ir.cpp:2312:1:2312:1 | Address | &:r2312_1 | -| ir.cpp:2312:1:2312:1 | Address | &:r2312_1 | -| ir.cpp:2312:1:2312:1 | Address | &:r2312_9 | -| ir.cpp:2312:1:2312:1 | Address | &:r2312_9 | -| ir.cpp:2312:1:2312:1 | Arg(this) | this:r2312_1 | -| ir.cpp:2312:1:2312:1 | Arg(this) | this:r2312_9 | -| ir.cpp:2312:1:2312:1 | CallTarget | func:r2312_2 | -| ir.cpp:2312:1:2312:1 | CallTarget | func:r2312_10 | -| ir.cpp:2312:1:2312:1 | ChiPartial | partial:m2312_4 | -| ir.cpp:2312:1:2312:1 | ChiPartial | partial:m2312_7 | -| ir.cpp:2312:1:2312:1 | ChiPartial | partial:m2312_12 | -| ir.cpp:2312:1:2312:1 | ChiPartial | partial:m2312_15 | -| ir.cpp:2312:1:2312:1 | ChiTotal | total:m2307_6 | -| ir.cpp:2312:1:2312:1 | ChiTotal | total:m2307_6 | -| ir.cpp:2312:1:2312:1 | ChiTotal | total:m2307_8 | -| ir.cpp:2312:1:2312:1 | ChiTotal | total:m2307_8 | -| ir.cpp:2312:1:2312:1 | SideEffect | m2307_8 | -| ir.cpp:2312:1:2312:1 | SideEffect | m2307_8 | -| ir.cpp:2312:1:2312:1 | SideEffect | ~m2307_6 | -| ir.cpp:2312:1:2312:1 | SideEffect | ~m2307_6 | -| ir.cpp:2314:6:2314:26 | ChiPartial | partial:m2314_3 | -| ir.cpp:2314:6:2314:26 | ChiTotal | total:m2314_2 | -| ir.cpp:2314:6:2314:26 | SideEffect | ~m2317_5 | -| ir.cpp:2315:12:2315:12 | Address | &:r2315_1 | -| ir.cpp:2315:12:2315:12 | Address | &:r2315_1 | -| ir.cpp:2315:12:2315:12 | Arg(this) | this:r2315_1 | -| ir.cpp:2315:12:2315:12 | CallTarget | func:r2315_3 | -| ir.cpp:2315:12:2315:12 | ChiPartial | partial:m2315_5 | -| ir.cpp:2315:12:2315:12 | ChiPartial | partial:m2315_7 | -| ir.cpp:2315:12:2315:12 | ChiTotal | total:m2314_4 | -| ir.cpp:2315:12:2315:12 | ChiTotal | total:m2315_2 | -| ir.cpp:2315:12:2315:12 | SideEffect | ~m2314_4 | -| ir.cpp:2316:12:2316:19 | CallTarget | func:r2316_1 | -| ir.cpp:2316:12:2316:19 | ChiPartial | partial:m2316_3 | -| ir.cpp:2316:12:2316:19 | ChiTotal | total:m2315_6 | -| ir.cpp:2316:12:2316:19 | SideEffect | ~m2315_6 | -| ir.cpp:2317:1:2317:1 | Address | &:r2317_1 | -| ir.cpp:2317:1:2317:1 | Address | &:r2317_1 | -| ir.cpp:2317:1:2317:1 | Arg(this) | this:r2317_1 | -| ir.cpp:2317:1:2317:1 | CallTarget | func:r2317_2 | -| ir.cpp:2317:1:2317:1 | ChiPartial | partial:m2317_4 | -| ir.cpp:2317:1:2317:1 | ChiPartial | partial:m2317_7 | -| ir.cpp:2317:1:2317:1 | ChiTotal | total:m2315_8 | -| ir.cpp:2317:1:2317:1 | ChiTotal | total:m2316_4 | -| ir.cpp:2317:1:2317:1 | SideEffect | m2315_8 | -| ir.cpp:2317:1:2317:1 | SideEffect | ~m2316_4 | -| ir.cpp:2327:32:2327:47 | Address | &:r2327_5 | -| ir.cpp:2327:32:2327:47 | ChiPartial | partial:m2327_3 | -| ir.cpp:2327:32:2327:47 | ChiTotal | total:m2327_2 | -| ir.cpp:2327:32:2327:47 | Load | m2329_3 | -| ir.cpp:2327:32:2327:47 | SideEffect | m2327_3 | -| ir.cpp:2329:9:2329:44 | Address | &:r2329_1 | -| ir.cpp:2329:16:2329:43 | StoreValue | r2329_2 | +| ir.cpp:1812:13:1812:13 | Load | m1811_1 | +| ir.cpp:1812:13:1812:13 | StoreValue | r1812_2 | +| ir.cpp:1812:16:1812:16 | Address | &:r1812_5 | +| ir.cpp:1812:16:1812:16 | Left | r1812_6 | +| ir.cpp:1812:16:1812:16 | Load | m1811_1 | +| ir.cpp:1812:16:1812:20 | Condition | r1812_10 | +| ir.cpp:1812:16:1812:20 | Left | r1812_8 | +| ir.cpp:1812:16:1812:20 | Right | r1812_9 | +| ir.cpp:1812:20:1812:20 | Right | r1812_7 | +| ir.cpp:1813:9:1813:9 | Address | &:r1813_6 | +| ir.cpp:1813:13:1813:13 | Address | &:r1813_1 | +| ir.cpp:1813:13:1813:13 | Left | r1813_2 | +| ir.cpp:1813:13:1813:13 | Load | m1811_1 | +| ir.cpp:1813:13:1813:17 | StoreValue | r1813_5 | +| ir.cpp:1813:17:1813:17 | Address | &:r1813_3 | +| ir.cpp:1813:17:1813:17 | Load | m1812_4 | +| ir.cpp:1813:17:1813:17 | Right | r1813_4 | +| ir.cpp:1816:9:1816:9 | Address | &:r1816_4 | +| ir.cpp:1816:13:1816:13 | Address | &:r1816_2 | +| ir.cpp:1816:13:1816:13 | Load | m1816_1 | +| ir.cpp:1816:13:1816:13 | Phi | from 2:m1811_1 | +| ir.cpp:1816:13:1816:13 | Phi | from 3:m1813_7 | +| ir.cpp:1816:13:1816:13 | StoreValue | r1816_3 | +| ir.cpp:1816:14:1816:25 | Address | &:r1816_6 | +| ir.cpp:1816:14:1816:25 | Condition | r1816_14 | +| ir.cpp:1816:20:1816:21 | Address | &:r1816_10 | +| ir.cpp:1816:20:1816:21 | Left | r1816_11 | +| ir.cpp:1816:20:1816:21 | Load | m1816_9 | +| ir.cpp:1816:20:1816:21 | Right | r1816_12 | +| ir.cpp:1816:20:1816:21 | Unary | r1816_13 | +| ir.cpp:1816:25:1816:25 | Address | &:r1816_7 | +| ir.cpp:1816:25:1816:25 | Load | m1816_5 | +| ir.cpp:1816:25:1816:25 | StoreValue | r1816_8 | +| ir.cpp:1817:9:1817:9 | Address | &:r1817_6 | +| ir.cpp:1817:13:1817:13 | Address | &:r1817_1 | +| ir.cpp:1817:13:1817:13 | Left | r1817_2 | +| ir.cpp:1817:13:1817:13 | Load | m1816_1 | +| ir.cpp:1817:13:1817:17 | StoreValue | r1817_5 | +| ir.cpp:1817:17:1817:17 | Address | &:r1817_3 | +| ir.cpp:1817:17:1817:17 | Load | m1816_5 | +| ir.cpp:1817:17:1817:17 | Right | r1817_4 | +| ir.cpp:1820:9:1820:29 | Address | &:r1820_6 | +| ir.cpp:1820:9:1820:29 | Condition | r1820_14 | +| ir.cpp:1820:13:1820:13 | Address | &:r1820_2 | +| ir.cpp:1820:13:1820:13 | Phi | from 4:m1816_1 | +| ir.cpp:1820:13:1820:13 | Phi | from 5:m1817_7 | +| ir.cpp:1820:17:1820:17 | Address | &:r1820_3 | +| ir.cpp:1820:17:1820:17 | Load | m1820_1 | +| ir.cpp:1820:17:1820:17 | StoreValue | r1820_4 | +| ir.cpp:1820:24:1820:25 | Address | &:r1820_10 | +| ir.cpp:1820:24:1820:25 | Left | r1820_11 | +| ir.cpp:1820:24:1820:25 | Load | m1820_9 | +| ir.cpp:1820:24:1820:25 | Right | r1820_12 | +| ir.cpp:1820:24:1820:25 | Unary | r1820_13 | +| ir.cpp:1820:29:1820:29 | Address | &:r1820_7 | +| ir.cpp:1820:29:1820:29 | Load | m1820_5 | +| ir.cpp:1820:29:1820:29 | StoreValue | r1820_8 | +| ir.cpp:1821:9:1821:9 | Address | &:r1821_6 | +| ir.cpp:1821:13:1821:13 | Address | &:r1821_1 | +| ir.cpp:1821:13:1821:13 | Left | r1821_2 | +| ir.cpp:1821:13:1821:13 | Load | m1820_1 | +| ir.cpp:1821:13:1821:17 | StoreValue | r1821_5 | +| ir.cpp:1821:17:1821:17 | Address | &:r1821_3 | +| ir.cpp:1821:17:1821:17 | Load | m1820_5 | +| ir.cpp:1821:17:1821:17 | Right | r1821_4 | +| ir.cpp:1824:9:1824:9 | Address | &:r1824_2 | +| ir.cpp:1824:9:1824:9 | Phi | from 6:m1820_1 | +| ir.cpp:1824:9:1824:9 | Phi | from 7:m1821_7 | +| ir.cpp:1824:13:1824:13 | Address | &:r1824_3 | +| ir.cpp:1824:13:1824:13 | Load | m1824_1 | +| ir.cpp:1824:13:1824:13 | StoreValue | r1824_4 | +| ir.cpp:1825:9:1825:9 | Address | &:r1825_1 | +| ir.cpp:1825:9:1825:9 | Condition | r1825_4 | +| ir.cpp:1825:9:1825:9 | Left | r1825_2 | +| ir.cpp:1825:9:1825:9 | Load | m1824_5 | +| ir.cpp:1825:9:1825:9 | Right | r1825_3 | +| ir.cpp:1826:9:1826:9 | Address | &:r1826_6 | +| ir.cpp:1826:13:1826:13 | Address | &:r1826_1 | +| ir.cpp:1826:13:1826:13 | Left | r1826_2 | +| ir.cpp:1826:13:1826:13 | Load | m1824_1 | +| ir.cpp:1826:13:1826:17 | StoreValue | r1826_5 | +| ir.cpp:1826:17:1826:17 | Address | &:r1826_3 | +| ir.cpp:1826:17:1826:17 | Load | m1824_5 | +| ir.cpp:1826:17:1826:17 | Right | r1826_4 | +| ir.cpp:1829:9:1829:18 | Address | &:r1829_2 | +| ir.cpp:1829:9:1829:18 | Condition | r1829_10 | +| ir.cpp:1829:9:1829:18 | Phi | from 8:m1824_1 | +| ir.cpp:1829:9:1829:18 | Phi | from 9:m1826_7 | +| ir.cpp:1829:13:1829:14 | Address | &:r1829_6 | +| ir.cpp:1829:13:1829:14 | Left | r1829_7 | +| ir.cpp:1829:13:1829:14 | Load | m1829_5 | +| ir.cpp:1829:13:1829:14 | Right | r1829_8 | +| ir.cpp:1829:13:1829:14 | Unary | r1829_9 | +| ir.cpp:1829:18:1829:18 | Address | &:r1829_3 | +| ir.cpp:1829:18:1829:18 | Load | m1824_5 | +| ir.cpp:1829:18:1829:18 | StoreValue | r1829_4 | +| ir.cpp:1830:9:1830:9 | Address | &:r1830_3 | +| ir.cpp:1830:9:1830:9 | Address | &:r1830_3 | +| ir.cpp:1830:9:1830:9 | Left | r1830_4 | +| ir.cpp:1830:9:1830:9 | Load | m1829_1 | +| ir.cpp:1830:9:1830:15 | StoreValue | r1830_5 | +| ir.cpp:1830:14:1830:15 | Address | &:r1830_1 | +| ir.cpp:1830:14:1830:15 | Load | m1829_5 | +| ir.cpp:1830:14:1830:15 | Right | r1830_2 | +| ir.cpp:1834:6:1834:26 | ChiPartial | partial:m1834_3 | +| ir.cpp:1834:6:1834:26 | ChiTotal | total:m1834_2 | +| ir.cpp:1834:6:1834:26 | SideEffect | m1834_3 | +| ir.cpp:1834:32:1834:32 | Address | &:r1834_5 | +| ir.cpp:1835:17:1835:17 | Address | &:r1835_1 | +| ir.cpp:1835:21:1835:21 | Address | &:r1835_2 | +| ir.cpp:1835:21:1835:21 | Load | m1834_6 | +| ir.cpp:1835:21:1835:21 | StoreValue | r1835_3 | +| ir.cpp:1835:24:1835:24 | Address | &:r1835_5 | +| ir.cpp:1835:24:1835:24 | Left | r1835_6 | +| ir.cpp:1835:24:1835:24 | Load | m1834_6 | +| ir.cpp:1835:24:1835:28 | Condition | r1835_8 | +| ir.cpp:1835:28:1835:28 | Right | r1835_7 | +| ir.cpp:1837:9:1837:9 | Address | &:r1837_6 | +| ir.cpp:1837:13:1837:13 | Address | &:r1837_1 | +| ir.cpp:1837:13:1837:13 | Left | r1837_2 | +| ir.cpp:1837:13:1837:13 | Load | m1834_6 | +| ir.cpp:1837:13:1837:17 | StoreValue | r1837_5 | +| ir.cpp:1837:17:1837:17 | Address | &:r1837_3 | +| ir.cpp:1837:17:1837:17 | Load | m1835_4 | +| ir.cpp:1837:17:1837:17 | Right | r1837_4 | +| ir.cpp:1840:9:1840:9 | Address | &:r1840_1 | +| ir.cpp:1841:13:1841:13 | Address | &:r1841_3 | +| ir.cpp:1841:17:1841:17 | Address | &:r1841_1 | +| ir.cpp:1841:17:1841:17 | Load | m1837_7 | +| ir.cpp:1841:17:1841:17 | StoreValue | r1841_2 | +| ir.cpp:1841:20:1841:20 | Address | &:r1841_5 | +| ir.cpp:1841:20:1841:20 | Left | r1841_6 | +| ir.cpp:1841:20:1841:20 | Load | m1837_7 | +| ir.cpp:1841:20:1841:24 | Condition | r1841_8 | +| ir.cpp:1841:24:1841:24 | Right | r1841_7 | +| ir.cpp:1843:9:1843:9 | Address | &:r1843_6 | +| ir.cpp:1843:13:1843:13 | Address | &:r1843_1 | +| ir.cpp:1843:13:1843:13 | Left | r1843_2 | +| ir.cpp:1843:13:1843:13 | Load | m1837_7 | +| ir.cpp:1843:13:1843:17 | StoreValue | r1843_5 | +| ir.cpp:1843:17:1843:17 | Address | &:r1843_3 | +| ir.cpp:1843:17:1843:17 | Load | m1841_4 | +| ir.cpp:1843:17:1843:17 | Right | r1843_4 | +| ir.cpp:1846:13:1846:13 | Address | &:r1846_3 | +| ir.cpp:1846:17:1846:17 | Address | &:r1846_1 | +| ir.cpp:1846:17:1846:17 | Load | m1843_7 | +| ir.cpp:1846:17:1846:17 | StoreValue | r1846_2 | +| ir.cpp:1846:18:1846:29 | Address | &:r1846_5 | +| ir.cpp:1846:18:1846:29 | Condition | r1846_11 | +| ir.cpp:1846:24:1846:25 | Address | &:r1846_9 | +| ir.cpp:1846:24:1846:25 | Load | m1846_8 | +| ir.cpp:1846:24:1846:25 | Unary | r1846_10 | +| ir.cpp:1846:29:1846:29 | Address | &:r1846_6 | +| ir.cpp:1846:29:1846:29 | Load | m1846_4 | +| ir.cpp:1846:29:1846:29 | StoreValue | r1846_7 | +| ir.cpp:1848:9:1848:9 | Address | &:r1848_6 | +| ir.cpp:1848:13:1848:13 | Address | &:r1848_1 | +| ir.cpp:1848:13:1848:13 | Left | r1848_2 | +| ir.cpp:1848:13:1848:13 | Load | m1843_7 | +| ir.cpp:1848:13:1848:17 | StoreValue | r1848_5 | +| ir.cpp:1848:17:1848:17 | Address | &:r1848_3 | +| ir.cpp:1848:17:1848:17 | Load | m1846_4 | +| ir.cpp:1848:17:1848:17 | Right | r1848_4 | +| ir.cpp:1851:13:1851:33 | Address | &:r1851_5 | +| ir.cpp:1851:13:1851:33 | Condition | r1851_11 | +| ir.cpp:1851:17:1851:17 | Address | &:r1851_1 | +| ir.cpp:1851:21:1851:21 | Address | &:r1851_2 | +| ir.cpp:1851:21:1851:21 | Load | m1848_7 | +| ir.cpp:1851:21:1851:21 | StoreValue | r1851_3 | +| ir.cpp:1851:28:1851:29 | Address | &:r1851_9 | +| ir.cpp:1851:28:1851:29 | Load | m1851_8 | +| ir.cpp:1851:28:1851:29 | Unary | r1851_10 | +| ir.cpp:1851:33:1851:33 | Address | &:r1851_6 | +| ir.cpp:1851:33:1851:33 | Load | m1851_4 | +| ir.cpp:1851:33:1851:33 | StoreValue | r1851_7 | +| ir.cpp:1853:9:1853:9 | Address | &:r1853_6 | +| ir.cpp:1853:13:1853:13 | Address | &:r1853_1 | +| ir.cpp:1853:13:1853:13 | Left | r1853_2 | +| ir.cpp:1853:13:1853:13 | Load | m1848_7 | +| ir.cpp:1853:13:1853:17 | StoreValue | r1853_5 | +| ir.cpp:1853:17:1853:17 | Address | &:r1853_3 | +| ir.cpp:1853:17:1853:17 | Load | m1851_4 | +| ir.cpp:1853:17:1853:17 | Right | r1853_4 | +| ir.cpp:1856:9:1856:9 | Address | &:r1856_1 | +| ir.cpp:1856:13:1856:13 | Address | &:r1856_2 | +| ir.cpp:1856:13:1856:13 | Load | m1853_7 | +| ir.cpp:1856:13:1856:13 | StoreValue | r1856_3 | +| ir.cpp:1857:13:1857:13 | Address | &:r1857_1 | +| ir.cpp:1857:13:1857:13 | Condition | r1857_2 | +| ir.cpp:1857:13:1857:13 | Load | m1856_4 | +| ir.cpp:1859:9:1859:9 | Address | &:r1859_6 | +| ir.cpp:1859:13:1859:13 | Address | &:r1859_1 | +| ir.cpp:1859:13:1859:13 | Left | r1859_2 | +| ir.cpp:1859:13:1859:13 | Load | m1853_7 | +| ir.cpp:1859:13:1859:17 | StoreValue | r1859_5 | +| ir.cpp:1859:17:1859:17 | Address | &:r1859_3 | +| ir.cpp:1859:17:1859:17 | Load | m1856_4 | +| ir.cpp:1859:17:1859:17 | Right | r1859_4 | +| ir.cpp:1862:13:1862:22 | Address | &:r1862_1 | +| ir.cpp:1862:13:1862:22 | Condition | r1862_7 | +| ir.cpp:1862:17:1862:18 | Address | &:r1862_5 | +| ir.cpp:1862:17:1862:18 | Load | m1862_4 | +| ir.cpp:1862:17:1862:18 | Unary | r1862_6 | +| ir.cpp:1862:22:1862:22 | Address | &:r1862_2 | +| ir.cpp:1862:22:1862:22 | Load | m1856_4 | +| ir.cpp:1862:22:1862:22 | StoreValue | r1862_3 | +| ir.cpp:1864:9:1864:9 | Address | &:r1864_3 | +| ir.cpp:1864:9:1864:9 | Address | &:r1864_3 | +| ir.cpp:1864:9:1864:9 | Left | r1864_4 | +| ir.cpp:1864:9:1864:9 | Load | m1859_7 | +| ir.cpp:1864:9:1864:15 | StoreValue | r1864_5 | +| ir.cpp:1864:14:1864:15 | Address | &:r1864_1 | +| ir.cpp:1864:14:1864:15 | Load | m1862_4 | +| ir.cpp:1864:14:1864:15 | Right | r1864_2 | +| ir.cpp:1870:5:1870:12 | Address | &:r1870_3 | +| ir.cpp:1870:5:1870:12 | SideEffect | ~m1870_6 | +| ir.cpp:1870:16:1870:16 | ChiPartial | partial:m1870_5 | +| ir.cpp:1870:16:1870:16 | ChiTotal | total:m1870_2 | +| ir.cpp:1870:16:1870:16 | StoreValue | r1870_4 | +| ir.cpp:1874:18:1874:25 | Address | &:r1874_3 | +| ir.cpp:1874:18:1874:25 | Arg(this) | this:r1874_3 | +| ir.cpp:1874:18:1874:25 | SideEffect | ~m1874_10 | +| ir.cpp:1874:27:1874:27 | Arg(0) | 0:r1874_5 | +| ir.cpp:1874:27:1874:28 | CallTarget | func:r1874_4 | +| ir.cpp:1874:27:1874:28 | ChiPartial | partial:m1874_7 | +| ir.cpp:1874:27:1874:28 | ChiPartial | partial:m1874_9 | +| ir.cpp:1874:27:1874:28 | ChiTotal | total:m1874_2 | +| ir.cpp:1874:27:1874:28 | ChiTotal | total:m1874_8 | +| ir.cpp:1874:27:1874:28 | SideEffect | ~m1874_2 | +| ir.cpp:1876:18:1876:25 | Address | &:r1876_3 | +| ir.cpp:1876:18:1876:25 | Arg(this) | this:r1876_3 | +| ir.cpp:1876:18:1876:25 | SideEffect | ~m1876_10 | +| ir.cpp:1876:28:1876:47 | CallTarget | func:r1876_4 | +| ir.cpp:1876:28:1876:47 | ChiPartial | partial:m1876_7 | +| ir.cpp:1876:28:1876:47 | ChiPartial | partial:m1876_9 | +| ir.cpp:1876:28:1876:47 | ChiTotal | total:m1876_2 | +| ir.cpp:1876:28:1876:47 | ChiTotal | total:m1876_8 | +| ir.cpp:1876:28:1876:47 | SideEffect | ~m1876_2 | +| ir.cpp:1876:46:1876:46 | Arg(0) | 0:r1876_5 | +| ir.cpp:1878:7:1878:19 | Address | &:r1878_3 | +| ir.cpp:1878:7:1878:19 | SideEffect | ~m1878_8 | +| ir.cpp:1878:23:1878:37 | ChiPartial | partial:m1878_7 | +| ir.cpp:1878:23:1878:37 | ChiTotal | total:m1878_2 | +| ir.cpp:1878:23:1878:37 | StoreValue | r1878_6 | +| ir.cpp:1878:23:1878:37 | Unary | r1878_4 | +| ir.cpp:1878:23:1878:37 | Unary | r1878_5 | +| ir.cpp:1880:5:1880:12 | Address | &:r1880_3 | +| ir.cpp:1880:5:1880:12 | SideEffect | ~m1880_7 | +| ir.cpp:1880:16:1880:23 | Address | &:r1880_4 | +| ir.cpp:1880:16:1880:23 | ChiPartial | partial:m1880_6 | +| ir.cpp:1880:16:1880:23 | ChiTotal | total:m1880_2 | +| ir.cpp:1880:16:1880:23 | Load | ~m1880_2 | +| ir.cpp:1880:16:1880:23 | StoreValue | r1880_5 | +| ir.cpp:1883:11:1883:11 | Address | &:r1883_5 | +| ir.cpp:1883:11:1883:11 | Address | &:r1883_5 | +| ir.cpp:1883:11:1883:11 | Address | &:r1883_7 | +| ir.cpp:1883:11:1883:11 | Address | &:r1883_7 | +| ir.cpp:1883:11:1883:11 | Address | &:r1883_10 | +| ir.cpp:1883:11:1883:11 | ChiPartial | partial:m1883_3 | +| ir.cpp:1883:11:1883:11 | ChiTotal | total:m1883_2 | +| ir.cpp:1883:11:1883:11 | Load | m0_20 | +| ir.cpp:1883:11:1883:11 | Load | m1883_6 | +| ir.cpp:1883:11:1883:11 | SideEffect | m0_14 | +| ir.cpp:1883:11:1883:11 | SideEffect | m1883_3 | +| ir.cpp:1888:12:1888:12 | Address | &:r1888_5 | +| ir.cpp:1888:12:1888:12 | Address | &:r1888_5 | +| ir.cpp:1888:12:1888:12 | Address | &:r1888_7 | +| ir.cpp:1888:12:1888:12 | Address | &:r1888_7 | +| ir.cpp:1888:12:1888:12 | Address | &:r1888_9 | +| ir.cpp:1888:12:1888:12 | Address | &:r1888_12 | +| ir.cpp:1888:12:1888:12 | Address | &:r1888_20 | +| ir.cpp:1888:12:1888:12 | Arg(this) | this:r0_5 | +| ir.cpp:1888:12:1888:12 | CallTarget | func:r1888_11 | +| ir.cpp:1888:12:1888:12 | ChiPartial | partial:m1888_3 | +| ir.cpp:1888:12:1888:12 | ChiPartial | partial:m1888_17 | +| ir.cpp:1888:12:1888:12 | ChiTotal | total:m1888_2 | +| ir.cpp:1888:12:1888:12 | ChiTotal | total:m1888_4 | +| ir.cpp:1888:12:1888:12 | Load | m0_2 | +| ir.cpp:1888:12:1888:12 | Load | m0_21 | +| ir.cpp:1888:12:1888:12 | Load | m1888_6 | +| ir.cpp:1888:12:1888:12 | Load | m1888_6 | +| ir.cpp:1888:12:1888:12 | SideEffect | m0_12 | +| ir.cpp:1888:12:1888:12 | SideEffect | ~m1888_4 | +| ir.cpp:1888:12:1888:12 | SideEffect | ~m1888_18 | +| ir.cpp:1888:12:1888:12 | Unary | r1888_10 | +| ir.cpp:1888:12:1888:12 | Unary | r1888_13 | +| ir.cpp:1888:12:1888:12 | Unary | r1888_14 | +| ir.cpp:1888:12:1888:12 | Unary | r1888_15 | +| ir.cpp:1888:12:1888:12 | Unary | r1888_16 | +| ir.cpp:1892:10:1892:12 | ChiPartial | partial:m1892_3 | +| ir.cpp:1892:10:1892:12 | ChiTotal | total:m1892_2 | +| ir.cpp:1892:10:1892:12 | SideEffect | ~m1894_18 | +| ir.cpp:1893:11:1893:11 | Address | &:r1893_1 | +| ir.cpp:1893:11:1893:11 | Address | &:r1893_1 | +| ir.cpp:1893:11:1893:11 | Arg(this) | this:r1893_1 | +| ir.cpp:1893:13:1893:13 | Address | &:r1893_4 | +| ir.cpp:1893:13:1893:13 | Address | &:r1893_4 | +| ir.cpp:1893:13:1893:13 | Arg(0) | 0:r1893_4 | +| ir.cpp:1893:13:1893:13 | ChiPartial | partial:m1893_11 | +| ir.cpp:1893:13:1893:13 | ChiTotal | total:m1893_7 | +| ir.cpp:1893:13:1893:13 | SideEffect | ~m1893_7 | +| ir.cpp:1893:13:1893:14 | CallTarget | func:r1893_3 | +| ir.cpp:1893:13:1893:14 | ChiPartial | partial:m1893_6 | +| ir.cpp:1893:13:1893:14 | ChiPartial | partial:m1893_9 | +| ir.cpp:1893:13:1893:14 | ChiTotal | total:m1892_4 | +| ir.cpp:1893:13:1893:14 | ChiTotal | total:m1893_2 | +| ir.cpp:1893:13:1893:14 | SideEffect | ~m1892_4 | +| ir.cpp:1894:9:1894:9 | Address | &:r1894_1 | +| ir.cpp:1894:9:1894:9 | Address | &:r1894_1 | +| ir.cpp:1894:9:1894:9 | Arg(this) | this:r1894_1 | +| ir.cpp:1894:9:1894:9 | ChiPartial | partial:m1894_21 | +| ir.cpp:1894:9:1894:9 | ChiTotal | total:m1893_10 | +| ir.cpp:1894:9:1894:9 | SideEffect | m1893_10 | +| ir.cpp:1894:11:1894:11 | CallTarget | func:r1894_2 | +| ir.cpp:1894:11:1894:11 | ChiPartial | partial:m1894_17 | +| ir.cpp:1894:11:1894:11 | ChiTotal | total:m1894_14 | +| ir.cpp:1894:11:1894:11 | SideEffect | ~m1894_14 | +| ir.cpp:1894:11:1894:11 | Unary | r1894_16 | +| ir.cpp:1894:13:1894:13 | Address | &:r1894_3 | +| ir.cpp:1894:13:1894:13 | Address | &:r1894_3 | +| ir.cpp:1894:13:1894:13 | Address | &:r1894_6 | +| ir.cpp:1894:13:1894:13 | Address | &:r1894_6 | +| ir.cpp:1894:13:1894:13 | Address | &:r1894_15 | +| ir.cpp:1894:13:1894:13 | Address | &:r1894_15 | +| ir.cpp:1894:13:1894:13 | Arg(0) | 0:r1894_6 | +| ir.cpp:1894:13:1894:13 | Arg(0) | 0:r1894_15 | +| ir.cpp:1894:13:1894:13 | Arg(this) | this:r1894_3 | +| ir.cpp:1894:13:1894:13 | CallTarget | func:r1894_5 | +| ir.cpp:1894:13:1894:13 | ChiPartial | partial:m1894_8 | +| ir.cpp:1894:13:1894:13 | ChiPartial | partial:m1894_11 | +| ir.cpp:1894:13:1894:13 | ChiPartial | partial:m1894_13 | +| ir.cpp:1894:13:1894:13 | ChiPartial | partial:m1894_23 | +| ir.cpp:1894:13:1894:13 | ChiTotal | total:m1893_12 | +| ir.cpp:1894:13:1894:13 | ChiTotal | total:m1894_4 | +| ir.cpp:1894:13:1894:13 | ChiTotal | total:m1894_9 | +| ir.cpp:1894:13:1894:13 | ChiTotal | total:m1894_12 | +| ir.cpp:1894:13:1894:13 | SideEffect | ~m1893_12 | +| ir.cpp:1894:13:1894:13 | SideEffect | ~m1894_9 | +| ir.cpp:1894:13:1894:13 | SideEffect | ~m1894_12 | +| ir.cpp:1894:13:1894:13 | Unary | r1894_3 | +| ir.cpp:1898:6:1898:14 | ChiPartial | partial:m1898_3 | +| ir.cpp:1898:6:1898:14 | ChiTotal | total:m1898_2 | +| ir.cpp:1898:6:1898:14 | SideEffect | m1898_3 | +| ir.cpp:1899:17:1899:18 | Address | &:r1899_1 | +| ir.cpp:1899:22:1899:40 | StoreValue | r1899_3 | +| ir.cpp:1899:22:1899:40 | Unary | r1899_2 | +| ir.cpp:1900:17:1900:23 | Address | &:r1900_1 | +| ir.cpp:1900:27:1900:34 | StoreValue | r1900_3 | +| ir.cpp:1900:27:1900:34 | Unary | r1900_2 | +| ir.cpp:1911:15:1911:15 | Address | &:r1911_5 | +| ir.cpp:1911:15:1911:15 | Address | &:r1911_5 | +| ir.cpp:1911:15:1911:15 | Address | &:r1911_7 | +| ir.cpp:1911:15:1911:15 | Address | &:r1911_7 | +| ir.cpp:1911:15:1911:15 | Address | &:r1911_15 | +| ir.cpp:1911:15:1911:15 | ChiPartial | partial:m1911_3 | +| ir.cpp:1911:15:1911:15 | ChiTotal | total:m1911_2 | +| ir.cpp:1911:15:1911:15 | Load | m1911_6 | +| ir.cpp:1911:15:1911:15 | Load | m1913_5 | +| ir.cpp:1911:15:1911:15 | SideEffect | m1911_3 | +| ir.cpp:1911:15:1911:15 | SideEffect | m1911_8 | +| ir.cpp:1911:47:1911:47 | Address | &:r1911_9 | +| ir.cpp:1911:47:1911:47 | Address | &:r1911_9 | +| ir.cpp:1911:47:1911:47 | Address | &:r1911_11 | +| ir.cpp:1911:47:1911:47 | Address | &:r1911_11 | +| ir.cpp:1911:47:1911:47 | Load | m1911_10 | +| ir.cpp:1911:47:1911:47 | SideEffect | m1911_12 | +| ir.cpp:1913:13:1913:21 | Address | &:r1913_1 | +| ir.cpp:1913:20:1913:20 | Address | &:r1913_2 | +| ir.cpp:1913:20:1913:20 | Load | m1911_10 | +| ir.cpp:1913:20:1913:20 | StoreValue | r1913_4 | +| ir.cpp:1913:20:1913:20 | Unary | r1913_3 | +| ir.cpp:1917:10:1917:14 | ChiPartial | partial:m1917_3 | +| ir.cpp:1917:10:1917:14 | ChiTotal | total:m1917_2 | +| ir.cpp:1917:10:1917:14 | SideEffect | ~m1919_12 | +| ir.cpp:1918:19:1918:19 | Address | &:r1918_1 | +| ir.cpp:1919:9:1919:9 | Address | &:r1919_1 | +| ir.cpp:1919:9:1919:9 | Address | &:r1919_1 | +| ir.cpp:1919:9:1919:9 | Arg(this) | this:r1919_1 | +| ir.cpp:1919:9:1919:9 | ChiPartial | partial:m1919_9 | +| ir.cpp:1919:9:1919:9 | ChiTotal | total:m1918_2 | +| ir.cpp:1919:9:1919:9 | SideEffect | m1918_2 | +| ir.cpp:1919:11:1919:33 | CallTarget | func:r1919_2 | +| ir.cpp:1919:11:1919:33 | ChiPartial | partial:m1919_5 | +| ir.cpp:1919:11:1919:33 | ChiTotal | total:m1917_4 | +| ir.cpp:1919:11:1919:33 | SideEffect | ~m1917_4 | +| ir.cpp:1919:35:1919:41 | Address | &:r1919_3 | +| ir.cpp:1919:35:1919:41 | Address | &:r1919_3 | +| ir.cpp:1919:35:1919:41 | Arg(0) | 0:r1919_3 | +| ir.cpp:1919:35:1919:41 | ChiPartial | partial:m1919_11 | +| ir.cpp:1919:35:1919:41 | ChiTotal | total:m1919_6 | +| ir.cpp:1919:35:1919:41 | SideEffect | ~m1919_6 | +| ir.cpp:1924:13:1924:13 | Address | &:r1924_5 | +| ir.cpp:1924:13:1924:13 | Address | &:r1924_5 | +| ir.cpp:1924:13:1924:13 | Address | &:r1924_7 | +| ir.cpp:1924:13:1924:13 | Address | &:r1924_7 | +| ir.cpp:1924:13:1924:13 | Address | &:r1924_10 | +| ir.cpp:1924:13:1924:13 | ChiPartial | partial:m1924_3 | +| ir.cpp:1924:13:1924:13 | ChiTotal | total:m1924_2 | +| ir.cpp:1924:13:1924:13 | Load | m1924_6 | +| ir.cpp:1924:13:1924:13 | Load | m1928_9 | +| ir.cpp:1924:13:1924:13 | SideEffect | m1924_3 | +| ir.cpp:1924:13:1924:13 | SideEffect | m1924_8 | +| ir.cpp:1925:13:1925:29 | Address | &:r1925_1 | +| ir.cpp:1925:13:1925:29 | Address | &:r1925_3 | +| ir.cpp:1926:13:1926:14 | Address | &:r1926_4 | +| ir.cpp:1926:13:1926:19 | ChiPartial | partial:m1926_5 | +| ir.cpp:1926:13:1926:19 | ChiTotal | total:m1925_2 | +| ir.cpp:1926:14:1926:14 | Unary | r1926_2 | +| ir.cpp:1926:14:1926:14 | Unary | r1926_3 | +| ir.cpp:1926:18:1926:19 | StoreValue | r1926_1 | +| ir.cpp:1927:13:1927:14 | Address | &:r1927_4 | +| ir.cpp:1927:13:1927:19 | ChiPartial | partial:m1927_5 | +| ir.cpp:1927:13:1927:19 | ChiTotal | total:m1925_4 | +| ir.cpp:1927:14:1927:14 | Unary | r1927_2 | +| ir.cpp:1927:14:1927:14 | Unary | r1927_3 | +| ir.cpp:1927:18:1927:19 | StoreValue | r1927_1 | +| ir.cpp:1928:13:1928:27 | Address | &:r1928_1 | +| ir.cpp:1928:20:1928:21 | Left | r1928_4 | +| ir.cpp:1928:20:1928:21 | Load | m1926_5 | +| ir.cpp:1928:20:1928:26 | StoreValue | r1928_8 | +| ir.cpp:1928:21:1928:21 | Address | &:r1928_3 | +| ir.cpp:1928:21:1928:21 | Unary | r1928_2 | +| ir.cpp:1928:25:1928:26 | Load | m1927_5 | +| ir.cpp:1928:25:1928:26 | Right | r1928_7 | +| ir.cpp:1928:26:1928:26 | Address | &:r1928_6 | +| ir.cpp:1928:26:1928:26 | Unary | r1928_5 | +| ir.cpp:1932:10:1932:14 | ChiPartial | partial:m1932_3 | +| ir.cpp:1932:10:1932:14 | ChiTotal | total:m1932_2 | +| ir.cpp:1932:10:1932:14 | SideEffect | ~m1934_5 | +| ir.cpp:1933:19:1933:19 | Address | &:r1933_1 | +| ir.cpp:1934:9:1934:9 | Address | &:r1934_1 | +| ir.cpp:1934:9:1934:9 | Address | &:r1934_1 | +| ir.cpp:1934:9:1934:9 | Arg(this) | this:r1934_1 | +| ir.cpp:1934:9:1934:9 | ChiPartial | partial:m1934_7 | +| ir.cpp:1934:9:1934:9 | ChiTotal | total:m1933_2 | +| ir.cpp:1934:9:1934:9 | SideEffect | m1933_2 | +| ir.cpp:1934:11:1934:50 | CallTarget | func:r1934_2 | +| ir.cpp:1934:11:1934:50 | ChiPartial | partial:m1934_4 | +| ir.cpp:1934:11:1934:50 | ChiTotal | total:m1932_4 | +| ir.cpp:1934:11:1934:50 | SideEffect | ~m1932_4 | +| ir.cpp:1938:24:1938:24 | Address | &:r1938_3 | +| ir.cpp:1938:24:1938:24 | Address | &:r1938_3 | +| ir.cpp:1938:24:1938:24 | SideEffect | ~m1938_6 | +| ir.cpp:1938:24:1938:24 | SideEffect | ~m1938_6 | +| ir.cpp:1938:42:1938:43 | ChiPartial | partial:m1938_5 | +| ir.cpp:1938:42:1938:43 | ChiPartial | partial:m1938_5 | +| ir.cpp:1938:42:1938:43 | ChiTotal | total:m1938_2 | +| ir.cpp:1938:42:1938:43 | ChiTotal | total:m1938_2 | +| ir.cpp:1938:42:1938:43 | StoreValue | r1938_4 | +| ir.cpp:1938:42:1938:43 | StoreValue | r1938_4 | +| ir.cpp:1940:5:1940:28 | Address | &:r1940_5 | +| ir.cpp:1940:5:1940:28 | ChiPartial | partial:m1940_3 | +| ir.cpp:1940:5:1940:28 | ChiTotal | total:m1940_2 | +| ir.cpp:1940:5:1940:28 | Load | m1943_8 | +| ir.cpp:1940:5:1940:28 | SideEffect | m1940_3 | +| ir.cpp:1941:9:1941:17 | Address | &:r1941_1 | +| ir.cpp:1941:21:1941:40 | Address | &:r1941_2 | +| ir.cpp:1941:21:1941:40 | Load | ~m1940_3 | +| ir.cpp:1941:21:1941:40 | StoreValue | r1941_3 | +| ir.cpp:1942:10:1942:19 | Address | &:r1942_1 | +| ir.cpp:1942:23:1942:43 | Address | &:r1942_2 | +| ir.cpp:1942:23:1942:43 | Load | ~m1940_3 | +| ir.cpp:1942:23:1942:43 | StoreValue | r1942_3 | +| ir.cpp:1943:5:1943:39 | Address | &:r1943_1 | +| ir.cpp:1943:12:1943:20 | Address | &:r1943_2 | +| ir.cpp:1943:12:1943:20 | Left | r1943_3 | +| ir.cpp:1943:12:1943:20 | Load | m1941_4 | +| ir.cpp:1943:12:1943:38 | StoreValue | r1943_7 | +| ir.cpp:1943:24:1943:38 | Right | r1943_6 | +| ir.cpp:1943:29:1943:38 | Address | &:r1943_4 | +| ir.cpp:1943:29:1943:38 | Load | m1942_4 | +| ir.cpp:1943:29:1943:38 | Unary | r1943_5 | +| ir.cpp:1948:5:1948:16 | Address | &:r1948_7 | +| ir.cpp:1948:5:1948:16 | ChiPartial | partial:m1948_3 | +| ir.cpp:1948:5:1948:16 | ChiTotal | total:m1948_2 | +| ir.cpp:1948:5:1948:16 | Load | m1950_4 | +| ir.cpp:1948:5:1948:16 | SideEffect | m1948_3 | +| ir.cpp:1948:22:1948:22 | Address | &:r1948_5 | +| ir.cpp:1949:9:1949:9 | Address | &:r1949_1 | +| ir.cpp:1949:9:1949:9 | Left | r1949_2 | +| ir.cpp:1949:9:1949:9 | Load | m1948_6 | +| ir.cpp:1949:9:1949:14 | Condition | r1949_4 | +| ir.cpp:1949:13:1949:14 | Right | r1949_3 | +| ir.cpp:1950:9:1950:17 | Address | &:r1950_1 | +| ir.cpp:1950:16:1950:16 | Address | &:r1950_2 | +| ir.cpp:1950:16:1950:16 | Load | m1948_6 | +| ir.cpp:1950:16:1950:16 | StoreValue | r1950_3 | +| ir.cpp:1952:9:1952:20 | CallTarget | func:r1952_1 | +| ir.cpp:1952:9:1952:20 | ChiPartial | partial:m1952_3 | +| ir.cpp:1952:9:1952:20 | ChiTotal | total:m1948_4 | +| ir.cpp:1952:9:1952:20 | SideEffect | ~m1948_4 | +| ir.cpp:1956:5:1956:17 | Address | &:r1956_8 | +| ir.cpp:1956:5:1956:17 | ChiPartial | partial:m1956_3 | +| ir.cpp:1956:5:1956:17 | ChiTotal | total:m1956_2 | +| ir.cpp:1956:5:1956:17 | Load | m1960_4 | +| ir.cpp:1956:5:1956:17 | SideEffect | m1956_3 | +| ir.cpp:1956:23:1956:23 | Address | &:r1956_5 | +| ir.cpp:1957:9:1957:9 | Address | &:r1957_1 | +| ir.cpp:1957:9:1957:9 | Left | r1957_2 | +| ir.cpp:1957:9:1957:9 | Load | m1956_6 | +| ir.cpp:1957:9:1957:14 | Condition | r1957_4 | +| ir.cpp:1957:13:1957:14 | Right | r1957_3 | +| ir.cpp:1958:9:1958:20 | CallTarget | func:r1958_1 | +| ir.cpp:1958:9:1958:20 | ChiPartial | partial:m1958_3 | +| ir.cpp:1958:9:1958:20 | ChiTotal | total:m1956_4 | +| ir.cpp:1958:9:1958:20 | SideEffect | ~m1956_4 | +| ir.cpp:1960:5:1960:13 | Address | &:r1960_1 | +| ir.cpp:1960:12:1960:12 | Address | &:r1960_2 | +| ir.cpp:1960:12:1960:12 | Load | m1956_6 | +| ir.cpp:1960:12:1960:12 | StoreValue | r1960_3 | +| ir.cpp:1963:5:1963:19 | Address | &:r1963_7 | +| ir.cpp:1963:5:1963:19 | ChiPartial | partial:m1963_3 | +| ir.cpp:1963:5:1963:19 | ChiTotal | total:m1963_2 | +| ir.cpp:1963:5:1963:19 | Load | m1964_4 | +| ir.cpp:1963:5:1963:19 | SideEffect | m1963_3 | +| ir.cpp:1963:25:1963:25 | Address | &:r1963_5 | +| ir.cpp:1964:5:1964:13 | Address | &:r1964_1 | +| ir.cpp:1964:12:1964:12 | Address | &:r1964_2 | +| ir.cpp:1964:12:1964:12 | Load | m1963_6 | +| ir.cpp:1964:12:1964:12 | StoreValue | r1964_3 | +| ir.cpp:1967:6:1967:43 | ChiPartial | partial:m1967_3 | +| ir.cpp:1967:6:1967:43 | ChiTotal | total:m1967_2 | +| ir.cpp:1967:6:1967:43 | SideEffect | ~m1975_6 | +| ir.cpp:1968:7:1968:7 | Address | &:r1968_1 | +| ir.cpp:1968:7:1968:7 | Address | &:r1968_1 | +| ir.cpp:1968:7:1968:7 | Arg(this) | this:r1968_1 | +| ir.cpp:1968:7:1968:7 | CallTarget | func:r1968_3 | +| ir.cpp:1968:7:1968:7 | ChiPartial | partial:m1968_5 | +| ir.cpp:1968:7:1968:7 | ChiPartial | partial:m1968_7 | +| ir.cpp:1968:7:1968:7 | ChiTotal | total:m1967_4 | +| ir.cpp:1968:7:1968:7 | ChiTotal | total:m1968_2 | +| ir.cpp:1968:7:1968:7 | SideEffect | ~m1967_4 | +| ir.cpp:1969:9:1969:9 | Address | &:r1969_1 | +| ir.cpp:1970:5:1970:5 | Address | &:r1970_7 | +| ir.cpp:1970:11:1970:30 | CallTarget | func:r1970_2 | +| ir.cpp:1970:11:1970:30 | ChiPartial | partial:m1970_5 | +| ir.cpp:1970:11:1970:30 | ChiTotal | total:m1968_6 | +| ir.cpp:1970:11:1970:30 | SideEffect | ~m1968_6 | +| ir.cpp:1970:11:1970:30 | StoreValue | r1970_4 | +| ir.cpp:1970:32:1970:33 | Arg(0) | 0:r1970_3 | +| ir.cpp:1971:9:1971:9 | Address | &:r1971_1 | +| ir.cpp:1972:5:1972:5 | Address | &:r1972_6 | +| ir.cpp:1972:9:1972:31 | CallTarget | func:r1972_1 | +| ir.cpp:1972:9:1972:31 | ChiPartial | partial:m1972_4 | +| ir.cpp:1972:9:1972:31 | ChiTotal | total:m1970_6 | +| ir.cpp:1972:9:1972:31 | SideEffect | ~m1970_6 | +| ir.cpp:1972:9:1972:31 | StoreValue | r1972_3 | +| ir.cpp:1972:33:1972:34 | Arg(0) | 0:r1972_2 | +| ir.cpp:1973:9:1973:9 | Address | &:r1973_1 | +| ir.cpp:1974:5:1974:5 | Address | &:r1974_6 | +| ir.cpp:1974:9:1974:23 | CallTarget | func:r1974_1 | +| ir.cpp:1974:9:1974:23 | ChiPartial | partial:m1974_4 | +| ir.cpp:1974:9:1974:23 | ChiTotal | total:m1972_5 | +| ir.cpp:1974:9:1974:23 | SideEffect | ~m1972_5 | +| ir.cpp:1974:9:1974:23 | StoreValue | r1974_3 | +| ir.cpp:1974:25:1974:26 | Arg(0) | 0:r1974_2 | +| ir.cpp:1975:1:1975:1 | Address | &:r1975_2 | +| ir.cpp:1975:1:1975:1 | Address | &:r1975_2 | +| ir.cpp:1975:1:1975:1 | Arg(this) | this:r1975_2 | +| ir.cpp:1975:1:1975:1 | CallTarget | func:r1975_3 | +| ir.cpp:1975:1:1975:1 | ChiPartial | partial:m1975_5 | +| ir.cpp:1975:1:1975:1 | ChiPartial | partial:m1975_8 | +| ir.cpp:1975:1:1975:1 | ChiTotal | total:m1968_8 | +| ir.cpp:1975:1:1975:1 | ChiTotal | total:m1974_5 | +| ir.cpp:1975:1:1975:1 | SideEffect | m1968_8 | +| ir.cpp:1975:1:1975:1 | SideEffect | ~m1974_5 | +| ir.cpp:1977:6:1977:23 | ChiPartial | partial:m1977_3 | +| ir.cpp:1977:6:1977:23 | ChiTotal | total:m1977_2 | +| ir.cpp:1977:6:1977:23 | SideEffect | m1977_3 | +| ir.cpp:1978:7:1978:7 | Address | &:r1978_1 | +| ir.cpp:1978:10:1978:10 | Address | &:r1978_3 | +| ir.cpp:1979:3:1979:3 | Address | &:r1979_5 | +| ir.cpp:1979:7:1979:7 | Address | &:r1979_2 | +| ir.cpp:1979:7:1979:7 | Address | &:r1979_2 | +| ir.cpp:1979:7:1979:12 | Load | m1979_3 | +| ir.cpp:1979:7:1979:12 | StoreValue | r1979_4 | +| ir.cpp:1979:11:1979:12 | StoreValue | r1979_1 | +| ir.cpp:1982:6:1982:38 | ChiPartial | partial:m1982_3 | +| ir.cpp:1982:6:1982:38 | ChiTotal | total:m1982_2 | +| ir.cpp:1982:6:1982:38 | SideEffect | m1982_3 | +| ir.cpp:1983:7:1983:7 | Address | &:r1983_1 | +| ir.cpp:1983:10:1983:10 | Address | &:r1983_3 | +| ir.cpp:1983:13:1983:14 | StoreValue | r1983_4 | +| ir.cpp:1984:3:1984:3 | Address | &:r1984_7 | +| ir.cpp:1984:8:1984:8 | Address | &:r1984_2 | +| ir.cpp:1984:8:1984:8 | Address | &:r1984_2 | +| ir.cpp:1984:8:1984:8 | Address | &:r1984_2 | +| ir.cpp:1984:8:1984:8 | Left | r1984_3 | +| ir.cpp:1984:8:1984:8 | Load | m1983_5 | +| ir.cpp:1984:8:1984:14 | Load | m1984_5 | +| ir.cpp:1984:8:1984:14 | StoreValue | r1984_4 | +| ir.cpp:1984:8:1984:14 | StoreValue | r1984_6 | +| ir.cpp:1984:13:1984:14 | Right | r1984_1 | +| ir.cpp:1991:15:1991:43 | Address | &:r1991_5 | +| ir.cpp:1991:15:1991:43 | ChiPartial | partial:m1991_3 | +| ir.cpp:1991:15:1991:43 | ChiTotal | total:m1991_2 | +| ir.cpp:1991:15:1991:43 | Load | m1992_4 | +| ir.cpp:1991:15:1991:43 | SideEffect | m1991_3 | +| ir.cpp:1992:9:1992:17 | Address | &:r1992_1 | +| ir.cpp:1992:16:1992:16 | StoreValue | r1992_3 | +| ir.cpp:1992:16:1992:16 | Unary | r1992_2 | +| ir.cpp:1994:14:1994:39 | Address | &:r1994_5 | +| ir.cpp:1994:14:1994:39 | ChiPartial | partial:m1994_3 | +| ir.cpp:1994:14:1994:39 | ChiTotal | total:m1994_2 | +| ir.cpp:1994:14:1994:39 | Load | m1995_4 | +| ir.cpp:1994:14:1994:39 | SideEffect | m1994_3 | +| ir.cpp:1995:9:1995:17 | Address | &:r1995_1 | +| ir.cpp:1995:16:1995:16 | Address | &:r1995_2 | +| ir.cpp:1995:16:1995:16 | Load | ~m1994_3 | +| ir.cpp:1995:16:1995:16 | StoreValue | r1995_3 | +| ir.cpp:1999:6:1999:55 | ChiPartial | partial:m1999_3 | +| ir.cpp:1999:6:1999:55 | ChiTotal | total:m1999_2 | +| ir.cpp:1999:6:1999:55 | SideEffect | ~m2014_4 | +| ir.cpp:2000:7:2000:7 | Address | &:r2000_1 | +| ir.cpp:2002:7:2002:35 | CallTarget | func:r2002_2 | +| ir.cpp:2002:7:2002:35 | ChiPartial | partial:m2002_4 | +| ir.cpp:2002:7:2002:35 | ChiTotal | total:m1999_4 | +| ir.cpp:2002:7:2002:35 | SideEffect | ~m1999_4 | +| ir.cpp:2002:7:2002:35 | Unary | r2002_3 | +| ir.cpp:2003:5:2003:36 | CallTarget | func:r2003_1 | +| ir.cpp:2003:5:2003:36 | ChiPartial | partial:m2003_3 | +| ir.cpp:2003:5:2003:36 | ChiTotal | total:m2002_5 | +| ir.cpp:2003:5:2003:36 | SideEffect | ~m2002_5 | +| ir.cpp:2003:5:2003:36 | Unary | r2003_2 | +| ir.cpp:2004:7:2004:32 | CallTarget | func:r2004_2 | +| ir.cpp:2004:7:2004:32 | ChiPartial | partial:m2004_4 | +| ir.cpp:2004:7:2004:32 | ChiTotal | total:m2003_4 | +| ir.cpp:2004:7:2004:32 | SideEffect | ~m2003_4 | +| ir.cpp:2005:5:2005:33 | CallTarget | func:r2005_1 | +| ir.cpp:2005:5:2005:33 | ChiPartial | partial:m2005_3 | +| ir.cpp:2005:5:2005:33 | ChiTotal | total:m2004_5 | +| ir.cpp:2005:5:2005:33 | SideEffect | ~m2004_5 | +| ir.cpp:2007:7:2007:7 | Address | &:r2007_1 | +| ir.cpp:2008:5:2008:5 | Address | &:r2008_7 | +| ir.cpp:2008:11:2008:39 | Address | &:r2008_3 | +| ir.cpp:2008:11:2008:39 | CallTarget | func:r2008_2 | +| ir.cpp:2008:11:2008:39 | ChiPartial | partial:m2008_4 | +| ir.cpp:2008:11:2008:39 | ChiTotal | total:m2005_4 | +| ir.cpp:2008:11:2008:39 | SideEffect | ~m2005_4 | +| ir.cpp:2008:40:2008:42 | Load | ~m2008_5 | +| ir.cpp:2008:40:2008:42 | StoreValue | r2008_6 | +| ir.cpp:2009:7:2009:7 | Address | &:r2009_1 | +| ir.cpp:2010:5:2010:5 | Address | &:r2010_6 | +| ir.cpp:2010:9:2010:40 | Address | &:r2010_2 | +| ir.cpp:2010:9:2010:40 | CallTarget | func:r2010_1 | +| ir.cpp:2010:9:2010:40 | ChiPartial | partial:m2010_3 | +| ir.cpp:2010:9:2010:40 | ChiTotal | total:m2008_5 | +| ir.cpp:2010:9:2010:40 | SideEffect | ~m2008_5 | +| ir.cpp:2010:41:2010:43 | Load | ~m2010_4 | +| ir.cpp:2010:41:2010:43 | StoreValue | r2010_5 | +| ir.cpp:2011:7:2011:7 | Address | &:r2011_1 | +| ir.cpp:2012:5:2012:5 | Address | &:r2012_6 | +| ir.cpp:2012:11:2012:36 | CallTarget | func:r2012_2 | +| ir.cpp:2012:11:2012:36 | ChiPartial | partial:m2012_4 | +| ir.cpp:2012:11:2012:36 | ChiTotal | total:m2010_4 | +| ir.cpp:2012:11:2012:36 | SideEffect | ~m2010_4 | +| ir.cpp:2012:11:2012:36 | StoreValue | r2012_3 | +| ir.cpp:2013:7:2013:7 | Address | &:r2013_1 | +| ir.cpp:2014:5:2014:5 | Address | &:r2014_5 | +| ir.cpp:2014:9:2014:37 | CallTarget | func:r2014_1 | +| ir.cpp:2014:9:2014:37 | ChiPartial | partial:m2014_3 | +| ir.cpp:2014:9:2014:37 | ChiTotal | total:m2012_5 | +| ir.cpp:2014:9:2014:37 | SideEffect | ~m2012_5 | +| ir.cpp:2014:9:2014:37 | StoreValue | r2014_2 | +| ir.cpp:2017:6:2017:18 | ChiPartial | partial:m2017_3 | +| ir.cpp:2017:6:2017:18 | ChiTotal | total:m2017_2 | +| ir.cpp:2017:6:2017:18 | SideEffect | m2017_3 | +| ir.cpp:2018:18:2018:18 | Address | &:r2018_1 | +| ir.cpp:2019:5:2019:5 | Address | &:r2019_1 | +| ir.cpp:2019:5:2019:5 | Load | m2018_2 | +| ir.cpp:2028:6:2028:24 | ChiPartial | partial:m2028_3 | +| ir.cpp:2028:6:2028:24 | ChiTotal | total:m2028_2 | +| ir.cpp:2028:6:2028:24 | SideEffect | ~m2036_5 | +| ir.cpp:2029:12:2029:12 | Address | &:r2029_1 | +| ir.cpp:2031:5:2031:19 | ChiPartial | partial:m2031_7 | +| ir.cpp:2031:5:2031:19 | ChiTotal | total:m2031_5 | +| ir.cpp:2031:7:2031:12 | CallTarget | func:r2031_2 | +| ir.cpp:2031:7:2031:12 | ChiPartial | partial:m2031_4 | +| ir.cpp:2031:7:2031:12 | ChiTotal | total:m2028_4 | +| ir.cpp:2031:7:2031:12 | SideEffect | ~m2028_4 | +| ir.cpp:2031:7:2031:12 | Unary | r2031_3 | +| ir.cpp:2031:13:2031:16 | Address | &:r2031_6 | +| ir.cpp:2032:5:2032:19 | ChiPartial | partial:m2032_7 | +| ir.cpp:2032:5:2032:19 | ChiTotal | total:m2032_5 | +| ir.cpp:2032:7:2032:12 | CallTarget | func:r2032_2 | +| ir.cpp:2032:7:2032:12 | ChiPartial | partial:m2032_4 | +| ir.cpp:2032:7:2032:12 | ChiTotal | total:m2031_8 | +| ir.cpp:2032:7:2032:12 | SideEffect | ~m2031_8 | +| ir.cpp:2032:7:2032:12 | Unary | r2032_3 | +| ir.cpp:2032:13:2032:16 | Address | &:r2032_6 | +| ir.cpp:2033:5:2033:15 | Address | &:r2033_1 | +| ir.cpp:2033:5:2033:15 | Address | &:r2033_1 | +| ir.cpp:2033:7:2033:13 | CallTarget | func:r2033_3 | +| ir.cpp:2033:7:2033:13 | ChiPartial | partial:m2033_5 | +| ir.cpp:2033:7:2033:13 | ChiTotal | total:m2032_8 | +| ir.cpp:2033:7:2033:13 | SideEffect | ~m2032_8 | +| ir.cpp:2033:7:2033:13 | StoreValue | r2033_4 | +| ir.cpp:2034:5:2034:18 | CallTarget | func:r2034_1 | +| ir.cpp:2034:5:2034:18 | ChiPartial | partial:m2034_3 | +| ir.cpp:2034:5:2034:18 | ChiTotal | total:m2033_6 | +| ir.cpp:2034:5:2034:18 | SideEffect | ~m2033_6 | +| ir.cpp:2034:5:2034:18 | Unary | r2034_2 | +| ir.cpp:2034:5:2034:25 | ChiPartial | partial:m2034_6 | +| ir.cpp:2034:5:2034:25 | ChiTotal | total:m2034_4 | +| ir.cpp:2034:19:2034:22 | Address | &:r2034_5 | +| ir.cpp:2035:5:2035:18 | CallTarget | func:r2035_1 | +| ir.cpp:2035:5:2035:18 | ChiPartial | partial:m2035_3 | +| ir.cpp:2035:5:2035:18 | ChiTotal | total:m2034_7 | +| ir.cpp:2035:5:2035:18 | SideEffect | ~m2034_7 | +| ir.cpp:2035:5:2035:18 | Unary | r2035_2 | +| ir.cpp:2035:5:2035:25 | ChiPartial | partial:m2035_6 | +| ir.cpp:2035:5:2035:25 | ChiTotal | total:m2035_4 | +| ir.cpp:2035:19:2035:22 | Address | &:r2035_5 | +| ir.cpp:2036:5:2036:19 | CallTarget | func:r2036_2 | +| ir.cpp:2036:5:2036:19 | ChiPartial | partial:m2036_4 | +| ir.cpp:2036:5:2036:19 | ChiTotal | total:m2035_7 | +| ir.cpp:2036:5:2036:19 | SideEffect | ~m2035_7 | +| ir.cpp:2036:5:2036:19 | StoreValue | r2036_3 | +| ir.cpp:2036:5:2036:21 | Address | &:r2036_1 | +| ir.cpp:2036:5:2036:21 | Address | &:r2036_1 | +| ir.cpp:2039:6:2039:21 | ChiPartial | partial:m2039_3 | +| ir.cpp:2039:6:2039:21 | ChiTotal | total:m2039_2 | +| ir.cpp:2039:6:2039:21 | SideEffect | ~m2043_6 | +| ir.cpp:2040:7:2040:7 | Address | &:r2040_1 | +| ir.cpp:2040:7:2040:7 | Address | &:r2040_1 | +| ir.cpp:2040:7:2040:7 | Arg(this) | this:r2040_1 | +| ir.cpp:2040:7:2040:7 | CallTarget | func:r2040_3 | +| ir.cpp:2040:7:2040:7 | ChiPartial | partial:m2040_5 | +| ir.cpp:2040:7:2040:7 | ChiPartial | partial:m2040_7 | +| ir.cpp:2040:7:2040:7 | ChiTotal | total:m2039_4 | +| ir.cpp:2040:7:2040:7 | ChiTotal | total:m2040_2 | +| ir.cpp:2040:7:2040:7 | SideEffect | ~m2039_4 | +| ir.cpp:2041:11:2041:13 | Address | &:r2041_1 | +| ir.cpp:2041:23:2041:45 | StoreValue | r2041_2 | +| ir.cpp:2042:5:2042:7 | Address | &:r2042_3 | +| ir.cpp:2042:13:2042:32 | StoreValue | r2042_2 | +| ir.cpp:2043:1:2043:1 | Address | &:r2043_2 | +| ir.cpp:2043:1:2043:1 | Address | &:r2043_2 | +| ir.cpp:2043:1:2043:1 | Arg(this) | this:r2043_2 | +| ir.cpp:2043:1:2043:1 | CallTarget | func:r2043_3 | +| ir.cpp:2043:1:2043:1 | ChiPartial | partial:m2043_5 | +| ir.cpp:2043:1:2043:1 | ChiPartial | partial:m2043_8 | +| ir.cpp:2043:1:2043:1 | ChiTotal | total:m2040_6 | +| ir.cpp:2043:1:2043:1 | ChiTotal | total:m2040_8 | +| ir.cpp:2043:1:2043:1 | SideEffect | m2040_8 | +| ir.cpp:2043:1:2043:1 | SideEffect | ~m2040_6 | +| ir.cpp:2045:6:2045:19 | ChiPartial | partial:m2045_3 | +| ir.cpp:2045:6:2045:19 | ChiTotal | total:m2045_2 | +| ir.cpp:2045:6:2045:19 | SideEffect | ~m2049_9 | +| ir.cpp:2045:26:2045:26 | Address | &:r2045_5 | +| ir.cpp:2045:33:2045:33 | Address | &:r2045_7 | +| ir.cpp:2045:40:2045:40 | Address | &:r2045_9 | +| ir.cpp:2045:47:2045:47 | Address | &:r2045_11 | +| ir.cpp:2046:5:2046:5 | Address | &:r2046_7 | +| ir.cpp:2046:9:2046:9 | Address | &:r2046_1 | +| ir.cpp:2046:9:2046:9 | Condition | r2046_2 | +| ir.cpp:2046:9:2046:9 | Load | m2045_6 | +| ir.cpp:2046:9:2046:17 | Address | &:r2046_5 | +| ir.cpp:2046:9:2046:17 | Address | &:r2046_11 | +| ir.cpp:2046:9:2046:17 | Address | &:r2046_15 | +| ir.cpp:2046:9:2046:17 | Load | m2046_4 | +| ir.cpp:2046:9:2046:17 | Phi | from 2:m2046_12 | +| ir.cpp:2046:9:2046:17 | Phi | from 3:m2046_16 | +| ir.cpp:2046:9:2046:17 | StoreValue | r2046_6 | +| ir.cpp:2046:13:2046:13 | Address | &:r2046_9 | +| ir.cpp:2046:13:2046:13 | Load | m2045_8 | +| ir.cpp:2046:13:2046:13 | StoreValue | r2046_10 | +| ir.cpp:2046:17:2046:17 | Address | &:r2046_13 | +| ir.cpp:2046:17:2046:17 | Load | m2045_10 | +| ir.cpp:2046:17:2046:17 | StoreValue | r2046_14 | +| ir.cpp:2047:5:2047:5 | Address | &:r2047_7 | +| ir.cpp:2047:9:2047:9 | Address | &:r2047_1 | +| ir.cpp:2047:9:2047:9 | Condition | r2047_2 | +| ir.cpp:2047:9:2047:9 | Load | m2045_6 | +| ir.cpp:2047:9:2047:17 | Address | &:r2047_5 | +| ir.cpp:2047:9:2047:17 | Address | &:r2047_11 | +| ir.cpp:2047:9:2047:17 | Address | &:r2047_14 | +| ir.cpp:2047:9:2047:17 | Load | m2047_4 | +| ir.cpp:2047:9:2047:17 | Phi | from 5:m2047_12 | +| ir.cpp:2047:9:2047:17 | Phi | from 6:m2047_15 | +| ir.cpp:2047:9:2047:17 | StoreValue | r2047_6 | +| ir.cpp:2047:13:2047:13 | Address | &:r2047_9 | +| ir.cpp:2047:13:2047:13 | Load | m2045_8 | +| ir.cpp:2047:13:2047:13 | StoreValue | r2047_10 | +| ir.cpp:2047:17:2047:17 | StoreValue | r2047_13 | +| ir.cpp:2048:5:2048:5 | Address | &:r2048_7 | +| ir.cpp:2048:9:2048:9 | Address | &:r2048_1 | +| ir.cpp:2048:9:2048:9 | Condition | r2048_2 | +| ir.cpp:2048:9:2048:9 | Load | m2045_6 | +| ir.cpp:2048:9:2048:17 | Address | &:r2048_5 | +| ir.cpp:2048:9:2048:17 | Address | &:r2048_10 | +| ir.cpp:2048:9:2048:17 | Address | &:r2048_13 | +| ir.cpp:2048:9:2048:17 | Load | m2048_4 | +| ir.cpp:2048:9:2048:17 | Phi | from 8:m2048_11 | +| ir.cpp:2048:9:2048:17 | Phi | from 9:m2048_14 | +| ir.cpp:2048:9:2048:17 | StoreValue | r2048_6 | +| ir.cpp:2048:13:2048:13 | StoreValue | r2048_9 | +| ir.cpp:2048:17:2048:17 | StoreValue | r2048_12 | +| ir.cpp:2049:5:2049:19 | ChiPartial | partial:m2049_8 | +| ir.cpp:2049:5:2049:19 | ChiTotal | total:m2045_4 | +| ir.cpp:2049:6:2049:6 | Address | &:r2049_2 | +| ir.cpp:2049:6:2049:6 | Condition | r2049_3 | +| ir.cpp:2049:6:2049:6 | Load | m2045_6 | +| ir.cpp:2049:6:2049:14 | Address | &:r2049_6 | +| ir.cpp:2049:6:2049:14 | Address | &:r2049_7 | +| ir.cpp:2049:6:2049:14 | Address | &:r2049_11 | +| ir.cpp:2049:6:2049:14 | Address | &:r2049_14 | +| ir.cpp:2049:6:2049:14 | Load | m2049_5 | +| ir.cpp:2049:6:2049:14 | Phi | from 11:m2049_12 | +| ir.cpp:2049:6:2049:14 | Phi | from 12:m2049_15 | +| ir.cpp:2049:10:2049:10 | StoreValue | r2049_10 | +| ir.cpp:2049:14:2049:14 | StoreValue | r2049_13 | +| ir.cpp:2049:19:2049:19 | StoreValue | r2049_1 | +| ir.cpp:2055:6:2055:22 | ChiPartial | partial:m2055_3 | +| ir.cpp:2055:6:2055:22 | ChiTotal | total:m2055_2 | +| ir.cpp:2055:6:2055:22 | SideEffect | m2055_3 | +| ir.cpp:2055:29:2055:29 | Address | &:r2055_5 | +| ir.cpp:2055:46:2055:46 | Address | &:r2055_7 | +| ir.cpp:2055:63:2055:63 | Address | &:r2055_9 | +| ir.cpp:2055:80:2055:80 | Address | &:r2055_11 | +| ir.cpp:2056:5:2056:5 | Address | &:r2056_7 | +| ir.cpp:2056:9:2056:9 | Address | &:r2056_1 | +| ir.cpp:2056:9:2056:9 | Condition | r2056_2 | +| ir.cpp:2056:9:2056:9 | Load | m2055_6 | +| ir.cpp:2056:9:2056:17 | Address | &:r2056_5 | +| ir.cpp:2056:9:2056:17 | Address | &:r2056_11 | +| ir.cpp:2056:9:2056:17 | Address | &:r2056_15 | +| ir.cpp:2056:9:2056:17 | Load | m2056_4 | +| ir.cpp:2056:9:2056:17 | Phi | from 2:m2056_12 | +| ir.cpp:2056:9:2056:17 | Phi | from 3:m2056_16 | +| ir.cpp:2056:9:2056:17 | StoreValue | r2056_6 | +| ir.cpp:2056:13:2056:13 | Address | &:r2056_9 | +| ir.cpp:2056:13:2056:13 | Load | m2055_8 | +| ir.cpp:2056:13:2056:13 | StoreValue | r2056_10 | +| ir.cpp:2056:17:2056:17 | Address | &:r2056_13 | +| ir.cpp:2056:17:2056:17 | Load | m2055_10 | +| ir.cpp:2056:17:2056:17 | StoreValue | r2056_14 | +| ir.cpp:2057:5:2057:5 | Address | &:r2057_10 | +| ir.cpp:2057:9:2057:9 | Address | &:r2057_2 | +| ir.cpp:2057:9:2057:9 | Address | &:r2057_6 | +| ir.cpp:2057:9:2057:9 | Address | &:r2057_17 | +| ir.cpp:2057:9:2057:9 | Address | &:r2057_23 | +| ir.cpp:2057:9:2057:9 | Condition | r2057_3 | +| ir.cpp:2057:9:2057:9 | Load | m2055_6 | +| ir.cpp:2057:9:2057:9 | Load | m2057_5 | +| ir.cpp:2057:9:2057:9 | Phi | from 5:m2057_18 | +| ir.cpp:2057:9:2057:9 | Phi | from 6:m2057_24 | +| ir.cpp:2057:9:2057:9 | StoreValue | r2057_7 | +| ir.cpp:2057:9:2057:31 | Address | &:r2057_1 | +| ir.cpp:2057:9:2057:31 | Address | &:r2057_1 | +| ir.cpp:2057:9:2057:31 | Load | m2057_8 | +| ir.cpp:2057:9:2057:31 | StoreValue | r2057_9 | +| ir.cpp:2057:13:2057:13 | Address | &:r2057_12 | +| ir.cpp:2057:13:2057:13 | Address | &:r2057_12 | +| ir.cpp:2057:13:2057:13 | Address | &:r2057_13 | +| ir.cpp:2057:13:2057:13 | Load | m2055_8 | +| ir.cpp:2057:13:2057:13 | Load | m2057_15 | +| ir.cpp:2057:13:2057:13 | StoreValue | r2057_14 | +| ir.cpp:2057:13:2057:13 | StoreValue | r2057_16 | +| ir.cpp:2057:17:2057:31 | Address | &:r2057_19 | +| ir.cpp:2057:17:2057:31 | Address | &:r2057_19 | +| ir.cpp:2057:17:2057:31 | Load | m2057_21 | +| ir.cpp:2057:17:2057:31 | StoreValue | r2057_20 | +| ir.cpp:2057:17:2057:31 | StoreValue | r2057_22 | +| ir.cpp:2058:5:2058:5 | Address | &:r2058_10 | +| ir.cpp:2058:9:2058:9 | Address | &:r2058_2 | +| ir.cpp:2058:9:2058:9 | Address | &:r2058_6 | +| ir.cpp:2058:9:2058:9 | Address | &:r2058_16 | +| ir.cpp:2058:9:2058:9 | Address | &:r2058_22 | +| ir.cpp:2058:9:2058:9 | Condition | r2058_3 | +| ir.cpp:2058:9:2058:9 | Load | m2055_6 | +| ir.cpp:2058:9:2058:9 | Load | m2058_5 | +| ir.cpp:2058:9:2058:9 | Phi | from 8:m2058_17 | +| ir.cpp:2058:9:2058:9 | Phi | from 9:m2058_23 | +| ir.cpp:2058:9:2058:9 | StoreValue | r2058_7 | +| ir.cpp:2058:9:2058:45 | Address | &:r2058_1 | +| ir.cpp:2058:9:2058:45 | Address | &:r2058_1 | +| ir.cpp:2058:9:2058:45 | Load | m2058_8 | +| ir.cpp:2058:9:2058:45 | StoreValue | r2058_9 | +| ir.cpp:2058:13:2058:27 | Address | &:r2058_12 | +| ir.cpp:2058:13:2058:27 | Address | &:r2058_12 | +| ir.cpp:2058:13:2058:27 | Load | m2058_14 | +| ir.cpp:2058:13:2058:27 | StoreValue | r2058_13 | +| ir.cpp:2058:13:2058:27 | StoreValue | r2058_15 | +| ir.cpp:2058:31:2058:45 | Address | &:r2058_18 | +| ir.cpp:2058:31:2058:45 | Address | &:r2058_18 | +| ir.cpp:2058:31:2058:45 | Load | m2058_20 | +| ir.cpp:2058:31:2058:45 | StoreValue | r2058_19 | +| ir.cpp:2058:31:2058:45 | StoreValue | r2058_21 | +| ir.cpp:2059:6:2059:6 | Address | &:r2059_11 | +| ir.cpp:2059:6:2059:6 | Unary | r2059_11 | +| ir.cpp:2059:6:2059:18 | Address | &:r2059_13 | +| ir.cpp:2059:10:2059:10 | Address | &:r2059_5 | +| ir.cpp:2059:10:2059:10 | Condition | r2059_6 | +| ir.cpp:2059:10:2059:10 | Load | m2055_6 | +| ir.cpp:2059:10:2059:18 | Address | &:r2059_9 | +| ir.cpp:2059:10:2059:18 | Address | &:r2059_17 | +| ir.cpp:2059:10:2059:18 | Address | &:r2059_21 | +| ir.cpp:2059:10:2059:18 | Load | m2059_8 | +| ir.cpp:2059:10:2059:18 | Phi | from 11:m2059_18 | +| ir.cpp:2059:10:2059:18 | Phi | from 12:m2059_22 | +| ir.cpp:2059:10:2059:18 | StoreValue | r2059_10 | +| ir.cpp:2059:14:2059:14 | Address | &:r2059_15 | +| ir.cpp:2059:14:2059:14 | Load | m2055_8 | +| ir.cpp:2059:14:2059:14 | StoreValue | r2059_16 | +| ir.cpp:2059:18:2059:18 | Address | &:r2059_19 | +| ir.cpp:2059:18:2059:18 | Load | m2055_10 | +| ir.cpp:2059:18:2059:18 | StoreValue | r2059_20 | +| ir.cpp:2059:23:2059:37 | Address | &:r2059_1 | +| ir.cpp:2059:23:2059:37 | Address | &:r2059_1 | +| ir.cpp:2059:23:2059:37 | Load | m2059_3 | +| ir.cpp:2059:23:2059:37 | StoreValue | r2059_2 | +| ir.cpp:2059:23:2059:37 | StoreValue | r2059_4 | +| ir.cpp:2062:8:2062:8 | Address | &:r2062_5 | +| ir.cpp:2062:8:2062:8 | Address | &:r2062_5 | +| ir.cpp:2062:8:2062:8 | Address | &:r2062_5 | +| ir.cpp:2062:8:2062:8 | Address | &:r2062_5 | +| ir.cpp:2062:8:2062:8 | Address | &:r2062_5 | +| ir.cpp:2062:8:2062:8 | Address | &:r2062_5 | +| ir.cpp:2062:8:2062:8 | Address | &:r2062_7 | +| ir.cpp:2062:8:2062:8 | Address | &:r2062_7 | +| ir.cpp:2062:8:2062:8 | Address | &:r2062_7 | +| ir.cpp:2062:8:2062:8 | Address | &:r2062_7 | +| ir.cpp:2062:8:2062:8 | Address | &:r2062_7 | +| ir.cpp:2062:8:2062:8 | Address | &:r2062_7 | +| ir.cpp:2062:8:2062:8 | Address | &:r2062_10 | +| ir.cpp:2062:8:2062:8 | ChiPartial | partial:m2062_3 | +| ir.cpp:2062:8:2062:8 | ChiPartial | partial:m2062_3 | +| ir.cpp:2062:8:2062:8 | ChiPartial | partial:m2062_3 | +| ir.cpp:2062:8:2062:8 | ChiTotal | total:m2062_2 | +| ir.cpp:2062:8:2062:8 | ChiTotal | total:m2062_2 | +| ir.cpp:2062:8:2062:8 | ChiTotal | total:m2062_2 | +| ir.cpp:2062:8:2062:8 | Load | m0_10 | +| ir.cpp:2062:8:2062:8 | Load | m2062_6 | +| ir.cpp:2062:8:2062:8 | Load | m2062_6 | +| ir.cpp:2062:8:2062:8 | Load | m2062_6 | +| ir.cpp:2062:8:2062:8 | SideEffect | m2062_3 | +| ir.cpp:2062:8:2062:8 | SideEffect | m2062_3 | +| ir.cpp:2062:8:2062:8 | SideEffect | m2062_3 | +| ir.cpp:2062:8:2062:8 | SideEffect | m2062_8 | +| ir.cpp:2062:8:2062:8 | SideEffect | m2062_8 | +| ir.cpp:2062:8:2062:8 | SideEffect | m2062_8 | +| ir.cpp:2063:13:2063:29 | Address | &:r2063_5 | +| ir.cpp:2063:13:2063:29 | Address | &:r2063_5 | +| ir.cpp:2063:13:2063:29 | Address | &:r2063_7 | +| ir.cpp:2063:13:2063:29 | Address | &:r2063_7 | +| ir.cpp:2063:13:2063:29 | ChiPartial | partial:m2063_3 | +| ir.cpp:2063:13:2063:29 | ChiTotal | total:m2063_2 | +| ir.cpp:2063:13:2063:29 | Load | m2063_6 | +| ir.cpp:2063:13:2063:29 | SideEffect | m2063_3 | +| ir.cpp:2063:13:2063:29 | SideEffect | m2063_8 | +| ir.cpp:2066:6:2066:25 | ChiPartial | partial:m2066_3 | +| ir.cpp:2066:6:2066:25 | ChiTotal | total:m2066_2 | +| ir.cpp:2066:6:2066:25 | SideEffect | ~m2070_32 | +| ir.cpp:2066:32:2066:32 | Address | &:r2066_5 | +| ir.cpp:2066:52:2066:52 | Address | &:r2066_7 | +| ir.cpp:2066:72:2066:72 | Address | &:r2066_9 | +| ir.cpp:2066:92:2066:92 | Address | &:r2066_11 | +| ir.cpp:2067:5:2067:5 | Address | &:r2067_1 | +| ir.cpp:2067:5:2067:5 | Address | &:r2067_1 | +| ir.cpp:2067:5:2067:5 | Arg(this) | this:r2067_1 | +| ir.cpp:2067:5:2067:5 | ChiPartial | partial:m2067_16 | +| ir.cpp:2067:5:2067:5 | ChiTotal | total:m2066_12 | +| ir.cpp:2067:5:2067:5 | SideEffect | m2066_12 | +| ir.cpp:2067:7:2067:7 | CallTarget | func:r2067_2 | +| ir.cpp:2067:7:2067:7 | ChiPartial | partial:m2067_12 | +| ir.cpp:2067:7:2067:7 | ChiTotal | total:m2066_4 | +| ir.cpp:2067:7:2067:7 | SideEffect | ~m2066_4 | +| ir.cpp:2067:7:2067:7 | Unary | r2067_11 | +| ir.cpp:2067:9:2067:9 | Address | &:r2067_3 | +| ir.cpp:2067:9:2067:9 | Condition | r2067_4 | +| ir.cpp:2067:9:2067:9 | Load | m2066_6 | +| ir.cpp:2067:9:2067:17 | Address | &:r2067_7 | +| ir.cpp:2067:9:2067:17 | Address | &:r2067_10 | +| ir.cpp:2067:9:2067:17 | Address | &:r2067_20 | +| ir.cpp:2067:9:2067:17 | Address | &:r2067_23 | +| ir.cpp:2067:9:2067:17 | Arg(0) | 0:r2067_10 | +| ir.cpp:2067:9:2067:17 | Load | m2067_6 | +| ir.cpp:2067:9:2067:17 | Phi | from 2:m2067_21 | +| ir.cpp:2067:9:2067:17 | Phi | from 3:m2067_24 | +| ir.cpp:2067:9:2067:17 | SideEffect | ~m2067_13 | +| ir.cpp:2067:9:2067:17 | Unary | r2067_8 | +| ir.cpp:2067:9:2067:17 | Unary | r2067_9 | +| ir.cpp:2067:13:2067:13 | StoreValue | r2067_19 | +| ir.cpp:2067:17:2067:17 | StoreValue | r2067_22 | +| ir.cpp:2068:5:2068:5 | Address | &:r2068_1 | +| ir.cpp:2068:5:2068:5 | Address | &:r2068_1 | +| ir.cpp:2068:5:2068:5 | Arg(this) | this:r2068_1 | +| ir.cpp:2068:5:2068:5 | ChiPartial | partial:m2068_19 | +| ir.cpp:2068:5:2068:5 | ChiTotal | total:m2067_17 | +| ir.cpp:2068:5:2068:5 | SideEffect | m2067_17 | +| ir.cpp:2068:7:2068:7 | CallTarget | func:r2068_2 | +| ir.cpp:2068:7:2068:7 | ChiPartial | partial:m2068_15 | +| ir.cpp:2068:7:2068:7 | ChiTotal | total:m2068_7 | +| ir.cpp:2068:7:2068:7 | SideEffect | ~m2068_7 | +| ir.cpp:2068:7:2068:7 | Unary | r2068_14 | +| ir.cpp:2068:9:2068:9 | Address | &:r2068_4 | +| ir.cpp:2068:9:2068:9 | Address | &:r2068_9 | +| ir.cpp:2068:9:2068:9 | Address | &:r2068_35 | +| ir.cpp:2068:9:2068:9 | Address | &:r2068_46 | +| ir.cpp:2068:9:2068:9 | Condition | r2068_5 | +| ir.cpp:2068:9:2068:9 | Load | m2066_6 | +| ir.cpp:2068:9:2068:9 | Load | m2068_8 | +| ir.cpp:2068:9:2068:9 | Phi | from 5:m2068_36 | +| ir.cpp:2068:9:2068:9 | Phi | from 5:~m2068_30 | +| ir.cpp:2068:9:2068:9 | Phi | from 6:m2068_47 | +| ir.cpp:2068:9:2068:9 | Phi | from 6:~m2068_42 | +| ir.cpp:2068:9:2068:9 | StoreValue | r2068_10 | +| ir.cpp:2068:9:2068:34 | Address | &:r2068_3 | +| ir.cpp:2068:9:2068:34 | Address | &:r2068_13 | +| ir.cpp:2068:9:2068:34 | Arg(0) | 0:r2068_13 | +| ir.cpp:2068:9:2068:34 | SideEffect | ~m2068_11 | +| ir.cpp:2068:9:2068:34 | Unary | r2068_3 | +| ir.cpp:2068:9:2068:34 | Unary | r2068_12 | +| ir.cpp:2068:13:2068:13 | Address | &:r2068_22 | +| ir.cpp:2068:13:2068:13 | Address | &:r2068_22 | +| ir.cpp:2068:13:2068:13 | Address | &:r2068_22 | +| ir.cpp:2068:13:2068:13 | Address | &:r2068_27 | +| ir.cpp:2068:13:2068:13 | Arg(0) | 0:r2068_27 | +| ir.cpp:2068:13:2068:13 | Arg(this) | this:r2068_22 | +| ir.cpp:2068:13:2068:13 | CallTarget | func:r2068_24 | +| ir.cpp:2068:13:2068:13 | ChiPartial | partial:m2068_29 | +| ir.cpp:2068:13:2068:13 | ChiPartial | partial:m2068_32 | +| ir.cpp:2068:13:2068:13 | ChiTotal | total:m2067_13 | +| ir.cpp:2068:13:2068:13 | ChiTotal | total:m2068_23 | +| ir.cpp:2068:13:2068:13 | Load | m2068_33 | +| ir.cpp:2068:13:2068:13 | SideEffect | ~m2066_8 | +| ir.cpp:2068:13:2068:13 | SideEffect | ~m2067_13 | +| ir.cpp:2068:13:2068:13 | StoreValue | r2068_34 | +| ir.cpp:2068:13:2068:13 | Unary | r2068_25 | +| ir.cpp:2068:13:2068:13 | Unary | r2068_26 | +| ir.cpp:2068:17:2068:34 | Address | &:r2068_37 | +| ir.cpp:2068:17:2068:34 | Address | &:r2068_37 | +| ir.cpp:2068:17:2068:34 | Address | &:r2068_37 | +| ir.cpp:2068:17:2068:34 | Arg(this) | this:r2068_37 | +| ir.cpp:2068:17:2068:34 | CallTarget | func:r2068_39 | +| ir.cpp:2068:17:2068:34 | ChiPartial | partial:m2068_41 | +| ir.cpp:2068:17:2068:34 | ChiPartial | partial:m2068_43 | +| ir.cpp:2068:17:2068:34 | ChiTotal | total:m2067_13 | +| ir.cpp:2068:17:2068:34 | ChiTotal | total:m2068_38 | +| ir.cpp:2068:17:2068:34 | Load | m2068_44 | +| ir.cpp:2068:17:2068:34 | SideEffect | ~m2067_13 | +| ir.cpp:2068:17:2068:34 | StoreValue | r2068_45 | +| ir.cpp:2069:5:2069:5 | Address | &:r2069_1 | +| ir.cpp:2069:5:2069:5 | Address | &:r2069_1 | +| ir.cpp:2069:5:2069:5 | Arg(this) | this:r2069_1 | +| ir.cpp:2069:5:2069:5 | ChiPartial | partial:m2069_19 | +| ir.cpp:2069:5:2069:5 | ChiTotal | total:m2068_20 | +| ir.cpp:2069:5:2069:5 | SideEffect | m2068_20 | +| ir.cpp:2069:7:2069:7 | CallTarget | func:r2069_2 | +| ir.cpp:2069:7:2069:7 | ChiPartial | partial:m2069_15 | +| ir.cpp:2069:7:2069:7 | ChiTotal | total:m2069_7 | +| ir.cpp:2069:7:2069:7 | SideEffect | ~m2069_7 | +| ir.cpp:2069:7:2069:7 | Unary | r2069_14 | +| ir.cpp:2069:9:2069:9 | Address | &:r2069_4 | +| ir.cpp:2069:9:2069:9 | Address | &:r2069_9 | +| ir.cpp:2069:9:2069:9 | Address | &:r2069_31 | +| ir.cpp:2069:9:2069:9 | Address | &:r2069_42 | +| ir.cpp:2069:9:2069:9 | Condition | r2069_5 | +| ir.cpp:2069:9:2069:9 | Load | m2066_6 | +| ir.cpp:2069:9:2069:9 | Load | m2069_8 | +| ir.cpp:2069:9:2069:9 | Phi | from 8:m2069_32 | +| ir.cpp:2069:9:2069:9 | Phi | from 8:~m2069_27 | +| ir.cpp:2069:9:2069:9 | Phi | from 9:m2069_43 | +| ir.cpp:2069:9:2069:9 | Phi | from 9:~m2069_38 | +| ir.cpp:2069:9:2069:9 | StoreValue | r2069_10 | +| ir.cpp:2069:9:2069:51 | Address | &:r2069_3 | +| ir.cpp:2069:9:2069:51 | Address | &:r2069_13 | +| ir.cpp:2069:9:2069:51 | Arg(0) | 0:r2069_13 | +| ir.cpp:2069:9:2069:51 | SideEffect | ~m2069_11 | +| ir.cpp:2069:9:2069:51 | Unary | r2069_3 | +| ir.cpp:2069:9:2069:51 | Unary | r2069_12 | +| ir.cpp:2069:13:2069:30 | Address | &:r2069_22 | +| ir.cpp:2069:13:2069:30 | Address | &:r2069_22 | +| ir.cpp:2069:13:2069:30 | Address | &:r2069_22 | +| ir.cpp:2069:13:2069:30 | Arg(this) | this:r2069_22 | +| ir.cpp:2069:13:2069:30 | CallTarget | func:r2069_24 | +| ir.cpp:2069:13:2069:30 | ChiPartial | partial:m2069_26 | +| ir.cpp:2069:13:2069:30 | ChiPartial | partial:m2069_28 | +| ir.cpp:2069:13:2069:30 | ChiTotal | total:m2068_16 | +| ir.cpp:2069:13:2069:30 | ChiTotal | total:m2069_23 | +| ir.cpp:2069:13:2069:30 | Load | m2069_29 | +| ir.cpp:2069:13:2069:30 | SideEffect | ~m2068_16 | +| ir.cpp:2069:13:2069:30 | StoreValue | r2069_30 | +| ir.cpp:2069:34:2069:51 | Address | &:r2069_33 | +| ir.cpp:2069:34:2069:51 | Address | &:r2069_33 | +| ir.cpp:2069:34:2069:51 | Address | &:r2069_33 | +| ir.cpp:2069:34:2069:51 | Arg(this) | this:r2069_33 | +| ir.cpp:2069:34:2069:51 | CallTarget | func:r2069_35 | +| ir.cpp:2069:34:2069:51 | ChiPartial | partial:m2069_37 | +| ir.cpp:2069:34:2069:51 | ChiPartial | partial:m2069_39 | +| ir.cpp:2069:34:2069:51 | ChiTotal | total:m2068_16 | +| ir.cpp:2069:34:2069:51 | ChiTotal | total:m2069_34 | +| ir.cpp:2069:34:2069:51 | Load | m2069_40 | +| ir.cpp:2069:34:2069:51 | SideEffect | ~m2068_16 | +| ir.cpp:2069:34:2069:51 | StoreValue | r2069_41 | +| ir.cpp:2070:5:2070:19 | ChiPartial | partial:m2070_35 | +| ir.cpp:2070:5:2070:19 | ChiTotal | total:m2070_17 | +| ir.cpp:2070:5:2070:19 | SideEffect | m2070_17 | +| ir.cpp:2070:6:2070:6 | Address | &:r2070_1 | +| ir.cpp:2070:6:2070:6 | Address | &:r2070_1 | +| ir.cpp:2070:6:2070:6 | Arg(this) | this:r2070_1 | +| ir.cpp:2070:6:2070:6 | ChiPartial | partial:m2070_16 | +| ir.cpp:2070:6:2070:6 | ChiTotal | total:m2069_20 | +| ir.cpp:2070:6:2070:6 | SideEffect | m2069_20 | +| ir.cpp:2070:8:2070:8 | CallTarget | func:r2070_2 | +| ir.cpp:2070:8:2070:8 | ChiPartial | partial:m2070_12 | +| ir.cpp:2070:8:2070:8 | ChiTotal | total:m2069_16 | +| ir.cpp:2070:8:2070:8 | SideEffect | ~m2069_16 | +| ir.cpp:2070:8:2070:8 | Unary | r2070_11 | +| ir.cpp:2070:8:2070:19 | Address | &:r2070_18 | +| ir.cpp:2070:8:2070:19 | Address | &:r2070_18 | +| ir.cpp:2070:8:2070:19 | Arg(this) | this:r2070_18 | +| ir.cpp:2070:10:2070:10 | Address | &:r2070_3 | +| ir.cpp:2070:10:2070:10 | Condition | r2070_4 | +| ir.cpp:2070:10:2070:10 | Load | m2066_6 | +| ir.cpp:2070:10:2070:18 | Address | &:r2070_7 | +| ir.cpp:2070:10:2070:18 | Address | &:r2070_10 | +| ir.cpp:2070:10:2070:18 | Address | &:r2070_39 | +| ir.cpp:2070:10:2070:18 | Address | &:r2070_42 | +| ir.cpp:2070:10:2070:18 | Arg(0) | 0:r2070_10 | +| ir.cpp:2070:10:2070:18 | Load | m2070_6 | +| ir.cpp:2070:10:2070:18 | Phi | from 11:m2070_40 | +| ir.cpp:2070:10:2070:18 | Phi | from 12:m2070_43 | +| ir.cpp:2070:10:2070:18 | SideEffect | ~m2070_13 | +| ir.cpp:2070:10:2070:18 | Unary | r2070_8 | +| ir.cpp:2070:10:2070:18 | Unary | r2070_9 | +| ir.cpp:2070:14:2070:14 | StoreValue | r2070_38 | +| ir.cpp:2070:18:2070:18 | StoreValue | r2070_41 | +| ir.cpp:2070:21:2070:21 | CallTarget | func:r2070_19 | +| ir.cpp:2070:21:2070:21 | ChiPartial | partial:m2070_31 | +| ir.cpp:2070:21:2070:21 | ChiTotal | total:m2070_25 | +| ir.cpp:2070:21:2070:21 | SideEffect | ~m2070_25 | +| ir.cpp:2070:21:2070:21 | Unary | r2070_30 | +| ir.cpp:2070:23:2070:40 | Address | &:r2070_20 | +| ir.cpp:2070:23:2070:40 | Address | &:r2070_20 | +| ir.cpp:2070:23:2070:40 | Address | &:r2070_29 | +| ir.cpp:2070:23:2070:40 | Arg(0) | 0:r2070_29 | +| ir.cpp:2070:23:2070:40 | Arg(this) | this:r2070_20 | +| ir.cpp:2070:23:2070:40 | CallTarget | func:r2070_22 | +| ir.cpp:2070:23:2070:40 | ChiPartial | partial:m2070_24 | +| ir.cpp:2070:23:2070:40 | ChiPartial | partial:m2070_26 | +| ir.cpp:2070:23:2070:40 | ChiTotal | total:m2070_13 | +| ir.cpp:2070:23:2070:40 | ChiTotal | total:m2070_21 | +| ir.cpp:2070:23:2070:40 | SideEffect | ~m2070_13 | +| ir.cpp:2070:23:2070:40 | SideEffect | ~m2070_27 | +| ir.cpp:2070:23:2070:40 | Unary | r2070_20 | +| ir.cpp:2070:23:2070:40 | Unary | r2070_28 | +| ir.cpp:2075:14:2075:22 | Address | &:r2075_7 | +| ir.cpp:2075:14:2075:22 | ChiPartial | partial:m2075_3 | +| ir.cpp:2075:14:2075:22 | ChiTotal | total:m2075_2 | +| ir.cpp:2075:14:2075:22 | Load | m2080_2 | +| ir.cpp:2075:14:2075:22 | SideEffect | ~m2077_6 | +| ir.cpp:2075:37:2075:37 | Address | &:r2075_5 | +| ir.cpp:2076:16:2076:16 | Address | &:r2076_1 | +| ir.cpp:2077:3:2077:3 | Address | &:r2077_10 | +| ir.cpp:2077:7:2077:7 | Address | &:r2077_1 | +| ir.cpp:2077:7:2077:7 | Left | r2077_2 | +| ir.cpp:2077:7:2077:7 | Load | m2075_6 | +| ir.cpp:2077:7:2077:13 | Condition | r2077_4 | +| ir.cpp:2077:7:2079:28 | Address | &:r2077_8 | +| ir.cpp:2077:7:2079:28 | Address | &:r2077_12 | +| ir.cpp:2077:7:2079:28 | Address | &:r2077_14 | +| ir.cpp:2077:7:2079:28 | Load | m2077_7 | +| ir.cpp:2077:7:2079:28 | Phi | from 2:m2077_13 | +| ir.cpp:2077:7:2079:28 | Phi | from 2:~m2078_6 | +| ir.cpp:2077:7:2079:28 | Phi | from 3:m2077_15 | +| ir.cpp:2077:7:2079:28 | Phi | from 3:~m2079_6 | +| ir.cpp:2077:7:2079:28 | StoreValue | r2077_9 | +| ir.cpp:2077:11:2077:13 | Right | r2077_3 | +| ir.cpp:2078:6:2078:20 | CallTarget | func:r2078_1 | +| ir.cpp:2078:6:2078:20 | ChiPartial | partial:m2078_5 | +| ir.cpp:2078:6:2078:20 | ChiTotal | total:m2075_4 | +| ir.cpp:2078:6:2078:20 | SideEffect | ~m2075_4 | +| ir.cpp:2078:6:2078:26 | StoreValue | r2078_9 | +| ir.cpp:2078:22:2078:22 | Address | &:r2078_2 | +| ir.cpp:2078:22:2078:22 | Arg(0) | 0:r2078_3 | +| ir.cpp:2078:22:2078:22 | Load | m2075_6 | +| ir.cpp:2078:26:2078:26 | Address | &:r2078_7 | +| ir.cpp:2078:26:2078:26 | Load | m2075_6 | +| ir.cpp:2078:26:2078:26 | Unary | r2078_8 | +| ir.cpp:2079:5:2079:28 | StoreValue | r2079_9 | +| ir.cpp:2079:6:2079:20 | CallTarget | func:r2079_1 | +| ir.cpp:2079:6:2079:20 | ChiPartial | partial:m2079_5 | +| ir.cpp:2079:6:2079:20 | ChiTotal | total:m2075_4 | +| ir.cpp:2079:6:2079:20 | SideEffect | ~m2075_4 | +| ir.cpp:2079:6:2079:27 | Unary | r2079_8 | +| ir.cpp:2079:22:2079:22 | Address | &:r2079_2 | +| ir.cpp:2079:22:2079:22 | Arg(0) | 0:r2079_3 | +| ir.cpp:2079:22:2079:22 | Load | m2075_6 | +| ir.cpp:2079:26:2079:27 | Unary | r2079_7 | +| ir.cpp:2080:1:2080:1 | Address | &:r2080_1 | +| ir.cpp:2082:6:2082:17 | ChiPartial | partial:m2082_3 | +| ir.cpp:2082:6:2082:17 | ChiTotal | total:m2082_2 | +| ir.cpp:2082:6:2082:17 | SideEffect | ~m2085_6 | +| ir.cpp:2083:8:2083:8 | Address | &:r2083_1 | +| ir.cpp:2083:12:2083:18 | Address | &:r2083_4 | +| ir.cpp:2083:12:2083:18 | Arg(0) | 0:r2083_3 | +| ir.cpp:2083:12:2083:18 | CallTarget | func:r2083_2 | +| ir.cpp:2083:12:2083:18 | ChiPartial | partial:m2083_5 | +| ir.cpp:2083:12:2083:18 | ChiTotal | total:m2082_4 | +| ir.cpp:2083:12:2083:18 | SideEffect | ~m2082_4 | +| ir.cpp:2083:12:2083:18 | StoreValue | r2083_8 | +| ir.cpp:2083:12:2083:18 | Unary | r2083_4 | +| ir.cpp:2084:3:2084:4 | Address | &:r2084_4 | +| ir.cpp:2084:3:2084:8 | ChiPartial | partial:m2084_5 | +| ir.cpp:2084:3:2084:8 | ChiTotal | total:m2083_7 | +| ir.cpp:2084:4:2084:4 | Address | &:r2084_2 | +| ir.cpp:2084:4:2084:4 | Load | m2083_9 | +| ir.cpp:2084:4:2084:4 | Unary | r2084_3 | +| ir.cpp:2084:8:2084:8 | StoreValue | r2084_1 | +| ir.cpp:2085:3:2085:10 | CallTarget | func:r2085_1 | +| ir.cpp:2085:3:2085:10 | ChiPartial | partial:m2085_5 | +| ir.cpp:2085:3:2085:10 | ChiTotal | total:m2083_6 | +| ir.cpp:2085:3:2085:10 | SideEffect | ~m2083_6 | +| ir.cpp:2085:10:2085:10 | Address | &:r2085_2 | +| ir.cpp:2085:10:2085:10 | Arg(0) | 0:r2085_3 | +| ir.cpp:2085:10:2085:10 | Load | m2083_9 | +| ir.cpp:2088:7:2088:7 | Address | &:r2088_5 | +| ir.cpp:2088:7:2088:7 | Address | &:r2088_5 | +| ir.cpp:2088:7:2088:7 | Address | &:r2088_7 | +| ir.cpp:2088:7:2088:7 | Address | &:r2088_7 | +| ir.cpp:2088:7:2088:7 | ChiPartial | partial:m2088_3 | +| ir.cpp:2088:7:2088:7 | ChiTotal | total:m2088_2 | +| ir.cpp:2088:7:2088:7 | Load | m2088_6 | +| ir.cpp:2088:7:2088:7 | SideEffect | m2088_3 | +| ir.cpp:2088:7:2088:7 | SideEffect | m2088_8 | +| ir.cpp:2090:10:2090:24 | ChiPartial | partial:m2090_3 | +| ir.cpp:2090:10:2090:24 | ChiTotal | total:m2090_2 | +| ir.cpp:2090:10:2090:24 | SideEffect | m2090_3 | +| ir.cpp:2090:32:2090:32 | Address | &:r2090_5 | +| ir.cpp:2090:32:2090:32 | Address | &:r2090_5 | +| ir.cpp:2090:32:2090:32 | Address | &:r2090_7 | +| ir.cpp:2090:32:2090:32 | Address | &:r2090_7 | +| ir.cpp:2090:32:2090:32 | Load | m2090_6 | +| ir.cpp:2090:32:2090:32 | SideEffect | m2090_8 | +| ir.cpp:2092:13:2092:18 | Address | &:r2092_5 | +| ir.cpp:2092:13:2092:18 | Address | &:r2092_5 | +| ir.cpp:2092:13:2092:18 | Address | &:r2092_7 | +| ir.cpp:2092:13:2092:18 | Address | &:r2092_7 | +| ir.cpp:2092:13:2092:18 | ChiPartial | partial:m2092_3 | +| ir.cpp:2092:13:2092:18 | ChiTotal | total:m2092_2 | +| ir.cpp:2092:13:2092:18 | Load | m2092_6 | +| ir.cpp:2092:13:2092:18 | SideEffect | m2092_3 | +| ir.cpp:2092:13:2092:18 | SideEffect | m2092_8 | +| ir.cpp:2095:7:2095:7 | Address | &:r2095_5 | +| ir.cpp:2095:7:2095:7 | Address | &:r2095_5 | +| ir.cpp:2095:7:2095:7 | Address | &:r2095_7 | +| ir.cpp:2095:7:2095:7 | Address | &:r2095_7 | +| ir.cpp:2095:7:2095:7 | Address | &:r2095_9 | +| ir.cpp:2095:7:2095:7 | Arg(this) | this:r2095_9 | +| ir.cpp:2095:7:2095:7 | CallTarget | func:r2095_10 | +| ir.cpp:2095:7:2095:7 | ChiPartial | partial:m2095_3 | +| ir.cpp:2095:7:2095:7 | ChiPartial | partial:m2095_12 | +| ir.cpp:2095:7:2095:7 | ChiPartial | partial:m2095_14 | +| ir.cpp:2095:7:2095:7 | ChiTotal | total:m2095_2 | +| ir.cpp:2095:7:2095:7 | ChiTotal | total:m2095_4 | +| ir.cpp:2095:7:2095:7 | ChiTotal | total:m2095_8 | +| ir.cpp:2095:7:2095:7 | Load | m2095_6 | +| ir.cpp:2095:7:2095:7 | SideEffect | m2095_15 | +| ir.cpp:2095:7:2095:7 | SideEffect | ~m2095_4 | +| ir.cpp:2095:7:2095:7 | SideEffect | ~m2095_13 | +| ir.cpp:2095:7:2095:7 | Unary | m2095_6 | +| ir.cpp:2098:5:2098:13 | Address | &:r2098_5 | +| ir.cpp:2098:5:2098:13 | Address | &:r2098_5 | +| ir.cpp:2098:5:2098:13 | Address | &:r2098_7 | +| ir.cpp:2098:5:2098:13 | Address | &:r2098_7 | +| ir.cpp:2098:5:2098:13 | ChiPartial | partial:m2098_3 | +| ir.cpp:2098:5:2098:13 | ChiTotal | total:m2098_2 | +| ir.cpp:2098:5:2098:13 | Load | m2098_6 | +| ir.cpp:2098:5:2098:13 | SideEffect | m2098_8 | +| ir.cpp:2098:5:2098:13 | SideEffect | ~m2098_14 | +| ir.cpp:2098:5:2098:13 | Unary | m2098_6 | +| ir.cpp:2098:18:2098:18 | Arg(this) | this:r2098_10 | +| ir.cpp:2098:18:2098:18 | CallTarget | func:r2098_11 | +| ir.cpp:2098:18:2098:18 | ChiPartial | partial:m2098_13 | +| ir.cpp:2098:18:2098:18 | ChiTotal | total:m2098_4 | +| ir.cpp:2098:18:2098:18 | SideEffect | ~m2098_4 | +| ir.cpp:2100:10:2100:24 | ChiPartial | partial:m2100_3 | +| ir.cpp:2100:10:2100:24 | ChiTotal | total:m2100_2 | +| ir.cpp:2100:10:2100:24 | SideEffect | m2100_3 | +| ir.cpp:2100:32:2100:32 | Address | &:r2100_5 | +| ir.cpp:2100:32:2100:32 | Address | &:r2100_5 | +| ir.cpp:2100:32:2100:32 | Address | &:r2100_7 | +| ir.cpp:2100:32:2100:32 | Address | &:r2100_7 | +| ir.cpp:2100:32:2100:32 | Load | m2100_6 | +| ir.cpp:2100:32:2100:32 | SideEffect | m2100_8 | +| ir.cpp:2105:5:2105:18 | Address | &:r2105_5 | +| ir.cpp:2105:5:2105:18 | ChiPartial | partial:m2105_3 | +| ir.cpp:2105:5:2105:18 | ChiTotal | total:m2105_2 | +| ir.cpp:2105:5:2105:18 | Load | m2115_2 | +| ir.cpp:2105:5:2105:18 | SideEffect | ~m2114_6 | +| ir.cpp:2107:12:2107:13 | Address | &:r2107_1 | +| ir.cpp:2107:17:2107:27 | Address | &:r2107_4 | +| ir.cpp:2107:17:2107:27 | Address | &:r2107_8 | +| ir.cpp:2107:17:2107:27 | Arg(0) | 0:r2107_3 | +| ir.cpp:2107:17:2107:27 | Arg(this) | this:r2107_8 | +| ir.cpp:2107:17:2107:27 | CallTarget | func:r2107_2 | +| ir.cpp:2107:17:2107:27 | CallTarget | func:r2107_9 | +| ir.cpp:2107:17:2107:27 | ChiPartial | partial:m2107_5 | +| ir.cpp:2107:17:2107:27 | ChiPartial | partial:m2107_11 | +| ir.cpp:2107:17:2107:27 | ChiPartial | partial:m2107_13 | +| ir.cpp:2107:17:2107:27 | ChiTotal | total:m2105_4 | +| ir.cpp:2107:17:2107:27 | ChiTotal | total:m2107_6 | +| ir.cpp:2107:17:2107:27 | ChiTotal | total:m2107_7 | +| ir.cpp:2107:17:2107:27 | SideEffect | ~m2105_4 | +| ir.cpp:2107:17:2107:27 | SideEffect | ~m2107_6 | +| ir.cpp:2107:17:2107:27 | StoreValue | r2107_8 | +| ir.cpp:2107:17:2107:27 | Unary | r2107_4 | +| ir.cpp:2108:5:2108:13 | CallTarget | func:r2108_1 | +| ir.cpp:2108:5:2108:13 | ChiPartial | partial:m2108_5 | +| ir.cpp:2108:5:2108:13 | ChiTotal | total:m2107_12 | +| ir.cpp:2108:5:2108:13 | SideEffect | ~m2107_12 | +| ir.cpp:2108:12:2108:13 | Address | &:r2108_2 | +| ir.cpp:2108:12:2108:13 | Arg(0) | 0:r2108_3 | +| ir.cpp:2108:12:2108:13 | Load | m2107_15 | +| ir.cpp:2110:12:2110:13 | Address | &:r2110_1 | +| ir.cpp:2110:17:2110:30 | Address | &:r2110_4 | +| ir.cpp:2110:17:2110:30 | Address | &:r2110_8 | +| ir.cpp:2110:17:2110:30 | Arg(0) | 0:r2110_3 | +| ir.cpp:2110:17:2110:30 | Arg(this) | this:r2110_8 | +| ir.cpp:2110:17:2110:30 | CallTarget | func:r2110_2 | +| ir.cpp:2110:17:2110:30 | CallTarget | func:r2110_9 | +| ir.cpp:2110:17:2110:30 | ChiPartial | partial:m2110_5 | +| ir.cpp:2110:17:2110:30 | ChiPartial | partial:m2110_11 | +| ir.cpp:2110:17:2110:30 | ChiPartial | partial:m2110_13 | +| ir.cpp:2110:17:2110:30 | ChiTotal | total:m2108_6 | +| ir.cpp:2110:17:2110:30 | ChiTotal | total:m2110_6 | +| ir.cpp:2110:17:2110:30 | ChiTotal | total:m2110_7 | +| ir.cpp:2110:17:2110:30 | SideEffect | ~m2108_6 | +| ir.cpp:2110:17:2110:30 | SideEffect | ~m2110_6 | +| ir.cpp:2110:17:2110:30 | StoreValue | r2110_15 | +| ir.cpp:2110:17:2110:30 | Unary | r2110_4 | +| ir.cpp:2110:17:2110:30 | Unary | r2110_8 | +| ir.cpp:2111:5:2111:13 | CallTarget | func:r2111_1 | +| ir.cpp:2111:5:2111:13 | ChiPartial | partial:m2111_5 | +| ir.cpp:2111:5:2111:13 | ChiTotal | total:m2110_12 | +| ir.cpp:2111:5:2111:13 | SideEffect | ~m2110_12 | +| ir.cpp:2111:12:2111:13 | Address | &:r2111_2 | +| ir.cpp:2111:12:2111:13 | Arg(0) | 0:r2111_3 | +| ir.cpp:2111:12:2111:13 | Load | m2110_16 | +| ir.cpp:2113:15:2113:15 | Address | &:r2113_1 | +| ir.cpp:2113:19:2113:32 | Address | &:r2113_4 | +| ir.cpp:2113:19:2113:32 | Address | &:r2113_8 | +| ir.cpp:2113:19:2113:32 | Arg(0) | 0:r2113_3 | +| ir.cpp:2113:19:2113:32 | Arg(this) | this:r2113_8 | +| ir.cpp:2113:19:2113:32 | CallTarget | func:r2113_2 | +| ir.cpp:2113:19:2113:32 | CallTarget | func:r2113_9 | +| ir.cpp:2113:19:2113:32 | ChiPartial | partial:m2113_5 | +| ir.cpp:2113:19:2113:32 | ChiPartial | partial:m2113_11 | +| ir.cpp:2113:19:2113:32 | ChiPartial | partial:m2113_13 | +| ir.cpp:2113:19:2113:32 | ChiTotal | total:m2111_6 | +| ir.cpp:2113:19:2113:32 | ChiTotal | total:m2113_6 | +| ir.cpp:2113:19:2113:32 | ChiTotal | total:m2113_7 | +| ir.cpp:2113:19:2113:32 | SideEffect | ~m2111_6 | +| ir.cpp:2113:19:2113:32 | SideEffect | ~m2113_6 | +| ir.cpp:2113:19:2113:32 | StoreValue | r2113_8 | +| ir.cpp:2113:19:2113:32 | Unary | r2113_4 | +| ir.cpp:2114:5:2114:12 | CallTarget | func:r2114_1 | +| ir.cpp:2114:5:2114:12 | ChiPartial | partial:m2114_5 | +| ir.cpp:2114:5:2114:12 | ChiTotal | total:m2113_12 | +| ir.cpp:2114:5:2114:12 | SideEffect | ~m2113_12 | +| ir.cpp:2114:12:2114:12 | Address | &:r2114_2 | +| ir.cpp:2114:12:2114:12 | Arg(0) | 0:r2114_3 | +| ir.cpp:2114:12:2114:12 | Load | m2113_15 | +| ir.cpp:2115:1:2115:1 | Address | &:r2115_1 | +| ir.cpp:2119:6:2119:26 | ChiPartial | partial:m2119_3 | +| ir.cpp:2119:6:2119:26 | ChiTotal | total:m2119_2 | +| ir.cpp:2119:6:2119:26 | SideEffect | ~m2121_5 | +| ir.cpp:2120:13:2120:13 | Address | &:r2120_1 | +| ir.cpp:2120:16:2120:19 | StoreValue | r2120_2 | +| ir.cpp:2121:3:2121:27 | CallTarget | func:r2121_1 | +| ir.cpp:2121:3:2121:27 | ChiPartial | partial:m2121_4 | +| ir.cpp:2121:3:2121:27 | ChiTotal | total:m2119_4 | +| ir.cpp:2121:3:2121:27 | SideEffect | ~m2119_4 | +| ir.cpp:2121:29:2121:29 | Arg(0) | 0:r2121_2 | +| ir.cpp:2126:5:2126:11 | Address | &:r2126_6 | +| ir.cpp:2126:5:2126:11 | ChiPartial | partial:m2126_3 | +| ir.cpp:2126:5:2126:11 | ChiTotal | total:m2126_2 | +| ir.cpp:2126:5:2126:11 | Load | m2131_4 | +| ir.cpp:2126:5:2126:11 | SideEffect | ~m2130_4 | +| ir.cpp:2127:9:2127:9 | Address | &:r2127_1 | +| ir.cpp:2127:13:2127:15 | CallTarget | func:r2127_2 | +| ir.cpp:2127:13:2127:15 | ChiPartial | partial:m2127_6 | +| ir.cpp:2127:13:2127:15 | ChiTotal | total:m2126_4 | +| ir.cpp:2127:13:2127:15 | SideEffect | ~m2126_4 | +| ir.cpp:2127:13:2127:15 | StoreValue | r2127_5 | +| ir.cpp:2127:17:2127:17 | Arg(0) | 0:r2127_3 | +| ir.cpp:2127:19:2127:19 | Arg(1) | 1:r2127_4 | +| ir.cpp:2128:9:2128:9 | Address | &:r2128_1 | +| ir.cpp:2128:9:2128:9 | Left | r2128_2 | +| ir.cpp:2128:9:2128:9 | Load | m2127_8 | +| ir.cpp:2128:9:2128:14 | Condition | r2128_4 | +| ir.cpp:2128:14:2128:14 | Right | r2128_3 | +| ir.cpp:2129:9:2129:12 | CallTarget | func:r2129_1 | +| ir.cpp:2129:9:2129:12 | ChiPartial | partial:m2129_4 | +| ir.cpp:2129:9:2129:12 | ChiTotal | total:m2127_7 | +| ir.cpp:2129:9:2129:12 | SideEffect | ~m2127_7 | +| ir.cpp:2129:14:2129:14 | Arg(0) | 0:r2129_2 | +| ir.cpp:2130:5:2130:12 | CallTarget | func:r2130_1 | +| ir.cpp:2130:5:2130:12 | ChiPartial | partial:m2130_3 | +| ir.cpp:2130:5:2130:12 | ChiTotal | total:m2127_7 | +| ir.cpp:2130:5:2130:12 | SideEffect | ~m2127_7 | +| ir.cpp:2131:5:2131:13 | Address | &:r2131_1 | +| ir.cpp:2131:12:2131:12 | Address | &:r2131_2 | +| ir.cpp:2131:12:2131:12 | Load | m2127_8 | +| ir.cpp:2131:12:2131:12 | StoreValue | r2131_3 | +| ir.cpp:2134:6:2134:17 | ChiPartial | partial:m2134_3 | +| ir.cpp:2134:6:2134:17 | ChiTotal | total:m2134_2 | +| ir.cpp:2135:5:2135:12 | CallTarget | func:r2135_1 | +| ir.cpp:2135:5:2135:12 | ChiPartial | partial:m2135_3 | +| ir.cpp:2135:5:2135:12 | ChiTotal | total:m2134_4 | +| ir.cpp:2135:5:2135:12 | SideEffect | ~m2134_4 | +| ir.cpp:2136:5:2136:8 | CallTarget | func:r2136_1 | +| ir.cpp:2136:5:2136:8 | ChiPartial | partial:m2136_4 | +| ir.cpp:2136:5:2136:8 | ChiTotal | total:m2135_4 | +| ir.cpp:2136:5:2136:8 | SideEffect | ~m2135_4 | +| ir.cpp:2136:10:2136:10 | Arg(0) | 0:r2136_2 | +| ir.cpp:2139:5:2139:16 | Address | &:r2139_6 | +| ir.cpp:2139:5:2139:16 | ChiPartial | partial:m2139_3 | +| ir.cpp:2139:5:2139:16 | ChiTotal | total:m2139_2 | +| ir.cpp:2139:5:2139:16 | Load | m2144_4 | +| ir.cpp:2139:5:2139:16 | SideEffect | ~m2143_4 | +| ir.cpp:2140:9:2140:9 | Address | &:r2140_1 | +| ir.cpp:2140:13:2140:15 | CallTarget | func:r2140_2 | +| ir.cpp:2140:13:2140:15 | ChiPartial | partial:m2140_6 | +| ir.cpp:2140:13:2140:15 | ChiTotal | total:m2139_4 | +| ir.cpp:2140:13:2140:15 | SideEffect | ~m2139_4 | +| ir.cpp:2140:13:2140:15 | StoreValue | r2140_5 | +| ir.cpp:2140:17:2140:17 | Arg(0) | 0:r2140_3 | +| ir.cpp:2140:19:2140:19 | Arg(1) | 1:r2140_4 | +| ir.cpp:2141:9:2141:9 | Address | &:r2141_1 | +| ir.cpp:2141:9:2141:9 | Left | r2141_2 | +| ir.cpp:2141:9:2141:9 | Load | m2140_8 | +| ir.cpp:2141:9:2141:14 | Condition | r2141_4 | +| ir.cpp:2141:14:2141:14 | Right | r2141_3 | +| ir.cpp:2142:9:2142:20 | CallTarget | func:r2142_1 | +| ir.cpp:2143:5:2143:12 | CallTarget | func:r2143_1 | +| ir.cpp:2143:5:2143:12 | ChiPartial | partial:m2143_3 | +| ir.cpp:2143:5:2143:12 | ChiTotal | total:m2140_7 | +| ir.cpp:2143:5:2143:12 | SideEffect | ~m2140_7 | +| ir.cpp:2144:5:2144:13 | Address | &:r2144_1 | +| ir.cpp:2144:12:2144:12 | Address | &:r2144_2 | +| ir.cpp:2144:12:2144:12 | Load | m2140_8 | +| ir.cpp:2144:12:2144:12 | StoreValue | r2144_3 | +| ir.cpp:2147:6:2147:24 | ChiPartial | partial:m2147_3 | +| ir.cpp:2147:6:2147:24 | ChiTotal | total:m2147_2 | +| ir.cpp:2147:6:2147:24 | SideEffect | ~m2153_8 | +| ir.cpp:2147:33:2147:33 | Address | &:r2147_5 | +| ir.cpp:2148:3:2148:12 | Address | &:r2148_6 | +| ir.cpp:2148:3:2148:12 | Arg(0) | 0:r2148_5 | +| ir.cpp:2148:3:2148:12 | CallTarget | func:r2148_1 | +| ir.cpp:2148:3:2148:12 | ChiPartial | partial:m2148_7 | +| ir.cpp:2148:3:2148:12 | ChiTotal | total:m2147_4 | +| ir.cpp:2148:3:2148:12 | Right | r2148_4 | +| ir.cpp:2148:3:2148:12 | SideEffect | ~m2147_4 | +| ir.cpp:2148:3:2148:12 | Unary | r2148_6 | +| ir.cpp:2148:11:2148:11 | Address | &:r2148_2 | +| ir.cpp:2148:11:2148:11 | Left | r2148_3 | +| ir.cpp:2148:11:2148:11 | Load | m2147_6 | +| ir.cpp:2149:3:2149:18 | Address | &:r2149_7 | +| ir.cpp:2149:3:2149:18 | Arg(0) | 0:r2149_5 | +| ir.cpp:2149:3:2149:18 | CallTarget | func:r2149_1 | +| ir.cpp:2149:3:2149:18 | ChiPartial | partial:m2149_8 | +| ir.cpp:2149:3:2149:18 | ChiTotal | total:m2148_8 | +| ir.cpp:2149:3:2149:18 | Right | r2149_4 | +| ir.cpp:2149:3:2149:18 | SideEffect | ~m2148_8 | +| ir.cpp:2149:3:2149:18 | Unary | r2149_7 | +| ir.cpp:2149:7:2149:10 | Arg(1) | 1:r2149_6 | +| ir.cpp:2149:17:2149:17 | Address | &:r2149_2 | +| ir.cpp:2149:17:2149:17 | Left | r2149_3 | +| ir.cpp:2149:17:2149:17 | Load | m2147_6 | +| ir.cpp:2150:3:2150:15 | Address | &:r2150_6 | +| ir.cpp:2150:3:2150:15 | Arg(0) | 0:r2150_5 | +| ir.cpp:2150:3:2150:15 | CallTarget | func:r2150_1 | +| ir.cpp:2150:3:2150:15 | ChiPartial | partial:m2150_7 | +| ir.cpp:2150:3:2150:15 | ChiTotal | total:m2149_9 | +| ir.cpp:2150:3:2150:15 | Right | r2150_4 | +| ir.cpp:2150:3:2150:15 | SideEffect | ~m2149_9 | +| ir.cpp:2150:3:2150:15 | Unary | r2150_6 | +| ir.cpp:2150:14:2150:14 | Address | &:r2150_2 | +| ir.cpp:2150:14:2150:14 | Left | r2150_3 | +| ir.cpp:2150:14:2150:14 | Load | m2147_6 | +| ir.cpp:2151:3:2151:20 | Address | &:r2151_7 | +| ir.cpp:2151:3:2151:20 | Arg(0) | 0:r2151_5 | +| ir.cpp:2151:3:2151:20 | CallTarget | func:r2151_1 | +| ir.cpp:2151:3:2151:20 | ChiPartial | partial:m2151_8 | +| ir.cpp:2151:3:2151:20 | ChiTotal | total:m2150_8 | +| ir.cpp:2151:3:2151:20 | Right | r2151_4 | +| ir.cpp:2151:3:2151:20 | SideEffect | ~m2150_8 | +| ir.cpp:2151:3:2151:20 | Unary | r2151_7 | +| ir.cpp:2151:19:2151:19 | Address | &:r2151_2 | +| ir.cpp:2151:19:2151:19 | Left | r2151_3 | +| ir.cpp:2151:19:2151:19 | Load | m2147_6 | +| ir.cpp:2151:21:2151:21 | Arg(1) | 1:r2151_6 | +| ir.cpp:2152:3:2152:36 | Address | &:r2152_6 | +| ir.cpp:2152:3:2152:36 | Arg(0) | 0:r2152_5 | +| ir.cpp:2152:3:2152:36 | CallTarget | func:r2152_1 | +| ir.cpp:2152:3:2152:36 | ChiPartial | partial:m2152_7 | +| ir.cpp:2152:3:2152:36 | ChiTotal | total:m2151_9 | +| ir.cpp:2152:3:2152:36 | Right | r2152_4 | +| ir.cpp:2152:3:2152:36 | SideEffect | ~m2151_9 | +| ir.cpp:2152:3:2152:36 | Unary | r2152_6 | +| ir.cpp:2152:35:2152:35 | Address | &:r2152_2 | +| ir.cpp:2152:35:2152:35 | Left | r2152_3 | +| ir.cpp:2152:35:2152:35 | Load | m2147_6 | +| ir.cpp:2153:3:2153:24 | Address | &:r2153_6 | +| ir.cpp:2153:3:2153:24 | Arg(0) | 0:r2153_5 | +| ir.cpp:2153:3:2153:24 | CallTarget | func:r2153_1 | +| ir.cpp:2153:3:2153:24 | ChiPartial | partial:m2153_7 | +| ir.cpp:2153:3:2153:24 | ChiTotal | total:m2152_8 | +| ir.cpp:2153:3:2153:24 | Right | r2153_4 | +| ir.cpp:2153:3:2153:24 | SideEffect | ~m2152_8 | +| ir.cpp:2153:3:2153:24 | Unary | r2153_6 | +| ir.cpp:2153:11:2153:11 | Address | &:r2153_2 | +| ir.cpp:2153:11:2153:11 | Left | r2153_3 | +| ir.cpp:2153:11:2153:11 | Load | m2147_6 | +| ir.cpp:2158:7:2158:17 | Address | &:r2158_10 | +| ir.cpp:2158:7:2158:17 | ChiPartial | partial:m2158_3 | +| ir.cpp:2158:7:2158:17 | ChiTotal | total:m2158_2 | +| ir.cpp:2158:7:2158:17 | Load | m2161_4 | +| ir.cpp:2158:7:2158:17 | SideEffect | m2158_3 | +| ir.cpp:2158:25:2158:25 | Address | &:r2158_5 | +| ir.cpp:2158:25:2158:25 | Address | &:r2158_5 | +| ir.cpp:2158:25:2158:25 | Address | &:r2158_7 | +| ir.cpp:2158:25:2158:25 | Address | &:r2158_7 | +| ir.cpp:2158:25:2158:25 | Load | m2158_6 | +| ir.cpp:2158:25:2158:25 | SideEffect | m2158_8 | +| ir.cpp:2159:9:2159:11 | Address | &:r2159_1 | +| ir.cpp:2160:10:2160:10 | Address | &:r2160_1 | +| ir.cpp:2160:14:2160:19 | CallTarget | func:r2160_2 | +| ir.cpp:2160:14:2160:19 | StoreValue | r2160_8 | +| ir.cpp:2160:21:2160:21 | Address | &:r2160_3 | +| ir.cpp:2160:21:2160:21 | Address | &:r2160_5 | +| ir.cpp:2160:21:2160:21 | Arg(0) | 0:r2160_5 | +| ir.cpp:2160:21:2160:21 | Load | m2158_6 | +| ir.cpp:2160:21:2160:21 | SideEffect | ~m2158_8 | +| ir.cpp:2160:21:2160:21 | Unary | r2160_4 | +| ir.cpp:2160:24:2160:27 | Address | &:r2160_7 | +| ir.cpp:2160:24:2160:27 | Arg(1) | 1:r2160_7 | +| ir.cpp:2160:24:2160:27 | ChiPartial | partial:m2160_10 | +| ir.cpp:2160:24:2160:27 | ChiTotal | total:m2159_2 | +| ir.cpp:2160:25:2160:27 | Unary | r2160_6 | +| ir.cpp:2161:3:2161:13 | Address | &:r2161_1 | +| ir.cpp:2161:10:2161:12 | Address | &:r2161_2 | +| ir.cpp:2161:10:2161:12 | Load | m2160_11 | +| ir.cpp:2161:10:2161:12 | StoreValue | r2161_3 | +| ir.cpp:2168:6:2168:39 | ChiPartial | partial:m2168_3 | +| ir.cpp:2168:6:2168:39 | ChiTotal | total:m2168_2 | +| ir.cpp:2168:6:2168:39 | SideEffect | ~m2169_8 | +| ir.cpp:2169:6:2169:42 | Address | &:r2169_1 | +| ir.cpp:2169:6:2169:42 | Condition | r2169_12 | +| ir.cpp:2169:22:2169:22 | Address | &:r2169_4 | +| ir.cpp:2169:22:2169:22 | Address | &:r2169_4 | +| ir.cpp:2169:22:2169:22 | Arg(this) | this:r2169_4 | +| ir.cpp:2169:22:2169:22 | CallTarget | func:r2169_5 | +| ir.cpp:2169:22:2169:22 | ChiPartial | partial:m2169_7 | +| ir.cpp:2169:22:2169:22 | ChiPartial | partial:m2169_10 | +| ir.cpp:2169:22:2169:22 | ChiTotal | total:m2168_4 | +| ir.cpp:2169:22:2169:22 | ChiTotal | total:m2169_3 | +| ir.cpp:2169:22:2169:22 | SideEffect | m2169_3 | +| ir.cpp:2169:22:2169:22 | SideEffect | ~m2168_4 | +| ir.cpp:2169:22:2169:22 | Unary | r2169_6 | +| ir.cpp:2169:25:2169:42 | StoreValue | r2169_2 | +| ir.cpp:2172:7:2172:7 | Address | &:r2172_5 | +| ir.cpp:2172:7:2172:7 | Address | &:r2172_5 | +| ir.cpp:2172:7:2172:7 | Address | &:r2172_7 | +| ir.cpp:2172:7:2172:7 | Address | &:r2172_7 | +| ir.cpp:2172:7:2172:7 | Address | &:r2172_9 | +| ir.cpp:2172:7:2172:7 | Address | &:r2172_10 | +| ir.cpp:2172:7:2172:7 | Address | &:r2172_13 | +| ir.cpp:2172:7:2172:7 | ChiPartial | partial:m2172_3 | +| ir.cpp:2172:7:2172:7 | ChiPartial | partial:m2172_15 | +| ir.cpp:2172:7:2172:7 | ChiTotal | total:m2172_2 | +| ir.cpp:2172:7:2172:7 | ChiTotal | total:m2172_8 | +| ir.cpp:2172:7:2172:7 | Load | m0_2 | +| ir.cpp:2172:7:2172:7 | Load | m2172_6 | +| ir.cpp:2172:7:2172:7 | Load | ~m0_4 | +| ir.cpp:2172:7:2172:7 | SideEffect | m2172_3 | +| ir.cpp:2172:7:2172:7 | SideEffect | m2172_16 | +| ir.cpp:2172:7:2172:7 | StoreValue | r2172_14 | +| ir.cpp:2172:7:2172:7 | Unary | m2172_6 | +| ir.cpp:2172:7:2172:7 | Unary | r2172_11 | +| ir.cpp:2172:7:2172:7 | Unary | r2172_12 | +| ir.cpp:2175:5:2175:23 | Address | &:r2175_5 | +| ir.cpp:2175:5:2175:23 | Address | &:r2175_5 | +| ir.cpp:2175:5:2175:23 | Address | &:r2175_7 | +| ir.cpp:2175:5:2175:23 | Address | &:r2175_7 | +| ir.cpp:2175:5:2175:23 | ChiPartial | partial:m2175_3 | +| ir.cpp:2175:5:2175:23 | ChiTotal | total:m2175_2 | +| ir.cpp:2175:5:2175:23 | Load | m2175_6 | +| ir.cpp:2175:5:2175:23 | SideEffect | m2175_20 | +| ir.cpp:2175:5:2175:23 | SideEffect | ~m2175_13 | +| ir.cpp:2175:29:2175:29 | Address | &:r2175_16 | +| ir.cpp:2175:29:2175:29 | Address | &:r2175_18 | +| ir.cpp:2175:29:2175:29 | Load | m2175_6 | +| ir.cpp:2175:29:2175:29 | Unary | r2175_17 | +| ir.cpp:2175:29:2175:40 | ChiPartial | partial:m2175_19 | +| ir.cpp:2175:29:2175:40 | ChiTotal | total:m2175_8 | +| ir.cpp:2175:33:2175:40 | Address | &:r2175_11 | +| ir.cpp:2175:33:2175:40 | Arg(0) | 0:r2175_10 | +| ir.cpp:2175:33:2175:40 | CallTarget | func:r2175_9 | +| ir.cpp:2175:33:2175:40 | ChiPartial | partial:m2175_12 | +| ir.cpp:2175:33:2175:40 | ChiTotal | total:m2175_4 | +| ir.cpp:2175:33:2175:40 | SideEffect | ~m2175_4 | +| ir.cpp:2175:33:2175:40 | StoreValue | r2175_15 | +| ir.cpp:2175:33:2175:40 | Unary | r2175_11 | +| ir.cpp:2176:5:2176:24 | Address | &:r2176_5 | +| ir.cpp:2176:5:2176:24 | Address | &:r2176_5 | +| ir.cpp:2176:5:2176:24 | Address | &:r2176_7 | +| ir.cpp:2176:5:2176:24 | Address | &:r2176_7 | +| ir.cpp:2176:5:2176:24 | ChiPartial | partial:m2176_3 | +| ir.cpp:2176:5:2176:24 | ChiTotal | total:m2176_2 | +| ir.cpp:2176:5:2176:24 | Load | m2176_6 | +| ir.cpp:2176:5:2176:24 | SideEffect | m2176_8 | +| ir.cpp:2176:5:2176:24 | SideEffect | ~m2176_16 | +| ir.cpp:2176:30:2176:37 | CallTarget | func:r2176_9 | +| ir.cpp:2176:30:2176:37 | ChiPartial | partial:m2176_15 | +| ir.cpp:2176:30:2176:37 | ChiTotal | total:m2176_4 | +| ir.cpp:2176:30:2176:37 | SideEffect | ~m2176_4 | +| ir.cpp:2176:37:2176:37 | Address | &:r2176_10 | +| ir.cpp:2176:37:2176:37 | Address | &:r2176_12 | +| ir.cpp:2176:37:2176:37 | Arg(0) | 0:r2176_13 | +| ir.cpp:2176:37:2176:37 | Load | m2176_6 | +| ir.cpp:2176:37:2176:37 | Load | ~m2176_8 | +| ir.cpp:2176:37:2176:37 | Unary | r2176_11 | +| ir.cpp:2178:10:2178:14 | Address | &:r2178_5 | +| ir.cpp:2178:10:2178:14 | Address | &:r2178_5 | +| ir.cpp:2178:10:2178:14 | Address | &:r2178_7 | +| ir.cpp:2178:10:2178:14 | Address | &:r2178_7 | +| ir.cpp:2178:10:2178:14 | ChiPartial | partial:m2178_3 | +| ir.cpp:2178:10:2178:14 | ChiTotal | total:m2178_2 | +| ir.cpp:2178:10:2178:14 | Load | m2178_6 | +| ir.cpp:2178:10:2178:14 | SideEffect | m2178_8 | +| ir.cpp:2178:10:2178:14 | SideEffect | ~m2178_19 | +| ir.cpp:2178:21:2178:21 | Address | &:r2178_9 | +| ir.cpp:2178:26:2178:27 | Address | &:r2178_17 | +| ir.cpp:2178:26:2178:31 | ChiPartial | partial:m2178_18 | +| ir.cpp:2178:26:2178:31 | ChiTotal | total:m2178_4 | +| ir.cpp:2178:27:2178:27 | Address | &:r2178_13 | +| ir.cpp:2178:27:2178:27 | Address | &:r2178_15 | +| ir.cpp:2178:27:2178:27 | Load | m2178_6 | +| ir.cpp:2178:27:2178:27 | Load | ~m2178_8 | +| ir.cpp:2178:27:2178:27 | Unary | r2178_14 | +| ir.cpp:2178:27:2178:27 | Unary | r2178_16 | +| ir.cpp:2178:31:2178:31 | Address | &:r2178_11 | +| ir.cpp:2178:31:2178:31 | Load | m2178_10 | +| ir.cpp:2178:31:2178:31 | StoreValue | r2178_12 | +| ir.cpp:2179:10:2179:14 | Address | &:r2179_5 | +| ir.cpp:2179:10:2179:14 | Address | &:r2179_5 | +| ir.cpp:2179:10:2179:14 | Address | &:r2179_7 | +| ir.cpp:2179:10:2179:14 | Address | &:r2179_7 | +| ir.cpp:2179:10:2179:14 | Address | &:r2179_17 | +| ir.cpp:2179:10:2179:14 | ChiPartial | partial:m2179_3 | +| ir.cpp:2179:10:2179:14 | ChiTotal | total:m2179_2 | +| ir.cpp:2179:10:2179:14 | Load | m2179_6 | +| ir.cpp:2179:10:2179:14 | Load | m2179_15 | +| ir.cpp:2179:10:2179:14 | SideEffect | m2179_3 | +| ir.cpp:2179:10:2179:14 | SideEffect | m2179_8 | +| ir.cpp:2179:20:2179:29 | Address | &:r2179_9 | +| ir.cpp:2179:27:2179:28 | Load | ~m2179_4 | +| ir.cpp:2179:27:2179:28 | StoreValue | r2179_14 | +| ir.cpp:2179:28:2179:28 | Address | &:r2179_10 | +| ir.cpp:2179:28:2179:28 | Address | &:r2179_12 | +| ir.cpp:2179:28:2179:28 | Address | &:r2179_13 | +| ir.cpp:2179:28:2179:28 | Load | m2179_6 | +| ir.cpp:2179:28:2179:28 | Load | ~m2179_8 | +| ir.cpp:2179:28:2179:28 | Unary | r2179_11 | +| ir.cpp:2182:16:2182:50 | Address | &:r2182_3 | +| ir.cpp:2182:16:2182:50 | SideEffect | ~m2182_6 | +| ir.cpp:2182:54:2182:57 | ChiPartial | partial:m2182_5 | +| ir.cpp:2182:54:2182:57 | ChiTotal | total:m2182_2 | +| ir.cpp:2182:54:2182:57 | StoreValue | r2182_4 | +| ir.cpp:2184:6:2184:35 | ChiPartial | partial:m2184_3 | +| ir.cpp:2184:6:2184:35 | ChiTotal | total:m2184_2 | +| ir.cpp:2184:6:2184:35 | Phi | from 13:~m2219_5 | +| ir.cpp:2184:6:2184:35 | Phi | from 19:~m2219_13 | +| ir.cpp:2184:6:2184:35 | Phi | from 23:~m2219_22 | +| ir.cpp:2184:6:2184:35 | SideEffect | ~m2184_9 | +| ir.cpp:2184:42:2184:42 | Address | &:r2184_5 | +| ir.cpp:2184:50:2184:50 | Address | &:r2184_7 | +| ir.cpp:2185:29:2185:29 | Address | &:r2185_1 | +| ir.cpp:2185:29:2185:29 | Address | &:r2185_1 | +| ir.cpp:2185:29:2185:29 | Arg(this) | this:r2185_1 | +| ir.cpp:2185:29:2185:29 | CallTarget | func:r2185_3 | +| ir.cpp:2185:29:2185:29 | ChiPartial | partial:m2185_5 | +| ir.cpp:2185:29:2185:29 | ChiPartial | partial:m2185_7 | +| ir.cpp:2185:29:2185:29 | ChiTotal | total:m2184_4 | +| ir.cpp:2185:29:2185:29 | ChiTotal | total:m2185_2 | +| ir.cpp:2185:29:2185:29 | SideEffect | ~m2184_4 | +| ir.cpp:2185:32:2185:32 | Address | &:r2185_9 | +| ir.cpp:2185:32:2185:32 | Condition | r2185_10 | +| ir.cpp:2185:32:2185:32 | Load | m2184_6 | +| ir.cpp:2186:9:2186:9 | Address | &:r2186_1 | +| ir.cpp:2186:9:2186:9 | Address | &:r2186_1 | +| ir.cpp:2186:9:2186:9 | Arg(this) | this:r2186_1 | +| ir.cpp:2186:9:2186:9 | ChiPartial | partial:m2186_8 | +| ir.cpp:2186:9:2186:9 | ChiTotal | total:m2185_8 | +| ir.cpp:2186:9:2186:9 | SideEffect | m2185_8 | +| ir.cpp:2186:11:2186:15 | CallTarget | func:r2186_2 | +| ir.cpp:2186:11:2186:15 | ChiPartial | partial:m2186_5 | +| ir.cpp:2186:11:2186:15 | ChiTotal | total:m2185_6 | +| ir.cpp:2186:11:2186:15 | SideEffect | ~m2185_6 | +| ir.cpp:2186:17:2186:19 | Arg(0) | 0:r2186_3 | +| ir.cpp:2186:21:2186:21 | Address | &:r2186_10 | +| ir.cpp:2186:21:2186:21 | Address | &:r2186_10 | +| ir.cpp:2186:21:2186:21 | Arg(this) | this:r2186_10 | +| ir.cpp:2186:21:2186:21 | CallTarget | func:r2186_11 | +| ir.cpp:2186:21:2186:21 | ChiPartial | partial:m2186_13 | +| ir.cpp:2186:21:2186:21 | ChiPartial | partial:m2186_16 | +| ir.cpp:2186:21:2186:21 | ChiTotal | total:m2186_6 | +| ir.cpp:2186:21:2186:21 | ChiTotal | total:m2186_9 | +| ir.cpp:2186:21:2186:21 | SideEffect | m2186_9 | +| ir.cpp:2186:21:2186:21 | SideEffect | ~m2186_6 | +| ir.cpp:2188:39:2188:39 | Address | &:r2188_2 | +| ir.cpp:2188:39:2188:39 | Address | &:r2188_2 | +| ir.cpp:2188:39:2188:39 | Arg(this) | this:r2188_2 | +| ir.cpp:2188:39:2188:39 | CallTarget | func:r2188_4 | +| ir.cpp:2188:39:2188:39 | ChiPartial | partial:m2188_6 | +| ir.cpp:2188:39:2188:39 | ChiPartial | partial:m2188_8 | +| ir.cpp:2188:39:2188:39 | ChiTotal | total:m2188_1 | +| ir.cpp:2188:39:2188:39 | ChiTotal | total:m2188_3 | +| ir.cpp:2188:39:2188:39 | Phi | from 0:~m2185_6 | +| ir.cpp:2188:39:2188:39 | Phi | from 2:~m2186_14 | +| ir.cpp:2188:39:2188:39 | SideEffect | ~m2188_1 | +| ir.cpp:2188:42:2188:76 | Condition | r2188_10 | +| ir.cpp:2189:9:2189:9 | Address | &:r2189_1 | +| ir.cpp:2189:9:2189:9 | Address | &:r2189_1 | +| ir.cpp:2189:9:2189:9 | Arg(this) | this:r2189_1 | +| ir.cpp:2189:9:2189:9 | ChiPartial | partial:m2189_8 | +| ir.cpp:2189:9:2189:9 | ChiTotal | total:m2188_9 | +| ir.cpp:2189:9:2189:9 | SideEffect | m2188_9 | +| ir.cpp:2189:11:2189:15 | CallTarget | func:r2189_2 | +| ir.cpp:2189:11:2189:15 | ChiPartial | partial:m2189_5 | +| ir.cpp:2189:11:2189:15 | ChiTotal | total:m2188_7 | +| ir.cpp:2189:11:2189:15 | SideEffect | ~m2188_7 | +| ir.cpp:2189:17:2189:19 | Arg(0) | 0:r2189_3 | +| ir.cpp:2191:32:2191:32 | Address | &:r2191_1 | +| ir.cpp:2191:32:2191:32 | Address | &:r2191_1 | +| ir.cpp:2191:32:2191:32 | Arg(this) | this:r2191_1 | +| ir.cpp:2191:32:2191:32 | CallTarget | func:r2191_3 | +| ir.cpp:2191:32:2191:32 | ChiPartial | partial:m2191_5 | +| ir.cpp:2191:32:2191:32 | ChiPartial | partial:m2191_7 | +| ir.cpp:2191:32:2191:32 | ChiTotal | total:m2189_6 | +| ir.cpp:2191:32:2191:32 | ChiTotal | total:m2191_2 | +| ir.cpp:2191:32:2191:32 | SideEffect | ~m2189_6 | +| ir.cpp:2191:35:2191:35 | Address | &:r2191_9 | +| ir.cpp:2191:35:2191:35 | Condition | r2191_11 | +| ir.cpp:2191:35:2191:35 | Load | m2184_8 | +| ir.cpp:2191:35:2191:35 | Unary | r2191_10 | +| ir.cpp:2193:11:2193:11 | Address | &:r2193_1 | +| ir.cpp:2193:11:2193:11 | Address | &:r2193_1 | +| ir.cpp:2193:11:2193:11 | Arg(this) | this:r2193_1 | +| ir.cpp:2193:11:2193:11 | ChiPartial | partial:m2193_8 | +| ir.cpp:2193:11:2193:11 | ChiTotal | total:m2191_8 | +| ir.cpp:2193:11:2193:11 | SideEffect | m2191_8 | +| ir.cpp:2193:13:2193:17 | CallTarget | func:r2193_2 | +| ir.cpp:2193:13:2193:17 | ChiPartial | partial:m2193_5 | +| ir.cpp:2193:13:2193:17 | ChiTotal | total:m2191_6 | +| ir.cpp:2193:13:2193:17 | SideEffect | ~m2191_6 | +| ir.cpp:2193:19:2193:21 | Arg(0) | 0:r2193_3 | +| ir.cpp:2196:11:2196:11 | Address | &:r2196_1 | +| ir.cpp:2196:11:2196:11 | Address | &:r2196_1 | +| ir.cpp:2196:11:2196:11 | Arg(this) | this:r2196_1 | +| ir.cpp:2196:11:2196:11 | ChiPartial | partial:m2196_8 | +| ir.cpp:2196:11:2196:11 | ChiTotal | total:m2191_8 | +| ir.cpp:2196:11:2196:11 | SideEffect | m2191_8 | +| ir.cpp:2196:13:2196:17 | CallTarget | func:r2196_2 | +| ir.cpp:2196:13:2196:17 | ChiPartial | partial:m2196_5 | +| ir.cpp:2196:13:2196:17 | ChiTotal | total:m2191_6 | +| ir.cpp:2196:13:2196:17 | SideEffect | ~m2191_6 | +| ir.cpp:2196:19:2196:21 | Arg(0) | 0:r2196_3 | +| ir.cpp:2198:5:2198:5 | Phi | from 5:~m2193_6 | +| ir.cpp:2198:5:2198:5 | Phi | from 6:~m2196_6 | +| ir.cpp:2200:25:2200:25 | Address | &:r2200_1 | +| ir.cpp:2200:25:2200:25 | Address | &:r2200_1 | +| ir.cpp:2200:25:2200:25 | Arg(this) | this:r2200_1 | +| ir.cpp:2200:25:2200:25 | CallTarget | func:r2200_3 | +| ir.cpp:2200:25:2200:25 | ChiPartial | partial:m2200_5 | +| ir.cpp:2200:25:2200:25 | ChiPartial | partial:m2200_7 | +| ir.cpp:2200:25:2200:25 | ChiTotal | total:m2198_1 | +| ir.cpp:2200:25:2200:25 | ChiTotal | total:m2200_2 | +| ir.cpp:2200:25:2200:25 | SideEffect | ~m2198_1 | +| ir.cpp:2201:5:2201:5 | Address | &:r2201_14 | +| ir.cpp:2201:5:2201:5 | Address | &:r2201_18 | +| ir.cpp:2201:5:2201:5 | Address | &:r2201_24 | +| ir.cpp:2201:42:2201:43 | Address | &:r2201_1 | +| ir.cpp:2201:42:2201:43 | Address | &:r2201_1 | +| ir.cpp:2201:42:2201:43 | Arg(this) | this:r2201_1 | +| ir.cpp:2201:45:2201:45 | Address | &:r2201_4 | +| ir.cpp:2201:45:2201:45 | Address | &:r2201_4 | +| ir.cpp:2201:45:2201:45 | Address | &:r2201_5 | +| ir.cpp:2201:45:2201:45 | Arg(0) | 0:r2201_8 | +| ir.cpp:2201:45:2201:45 | Load | m2200_8 | +| ir.cpp:2201:45:2201:45 | Load | m2201_7 | +| ir.cpp:2201:45:2201:45 | StoreValue | r2201_6 | +| ir.cpp:2201:45:2201:46 | CallTarget | func:r2201_3 | +| ir.cpp:2201:45:2201:46 | ChiPartial | partial:m2201_10 | +| ir.cpp:2201:45:2201:46 | ChiPartial | partial:m2201_12 | +| ir.cpp:2201:45:2201:46 | ChiTotal | total:m2200_6 | +| ir.cpp:2201:45:2201:46 | ChiTotal | total:m2201_2 | +| ir.cpp:2201:45:2201:46 | SideEffect | ~m2200_6 | +| ir.cpp:2201:69:2201:69 | Address | &:r2201_45 | +| ir.cpp:2201:69:2201:69 | Address | &:r2201_53 | +| ir.cpp:2201:69:2201:69 | Address | &:r2201_53 | +| ir.cpp:2201:69:2201:69 | Arg(this) | this:r2201_53 | +| ir.cpp:2201:69:2201:69 | CallTarget | func:r2201_54 | +| ir.cpp:2201:69:2201:69 | ChiPartial | partial:m2201_56 | +| ir.cpp:2201:69:2201:69 | ChiPartial | partial:m2201_59 | +| ir.cpp:2201:69:2201:69 | ChiTotal | total:m2202_6 | +| ir.cpp:2201:69:2201:69 | ChiTotal | total:m2202_9 | +| ir.cpp:2201:69:2201:69 | SideEffect | m2202_9 | +| ir.cpp:2201:69:2201:69 | SideEffect | ~m2202_6 | +| ir.cpp:2201:73:2201:73 | Address | &:r2201_19 | +| ir.cpp:2201:73:2201:73 | Address | &:r2201_25 | +| ir.cpp:2201:73:2201:73 | Address | &:r2201_48 | +| ir.cpp:2201:73:2201:73 | Address | &:r2201_61 | +| ir.cpp:2201:73:2201:73 | Address | &:r2201_61 | +| ir.cpp:2201:73:2201:73 | Arg(this) | this:r0_2 | +| ir.cpp:2201:73:2201:73 | Arg(this) | this:r0_5 | +| ir.cpp:2201:73:2201:73 | Arg(this) | this:r0_7 | +| ir.cpp:2201:73:2201:73 | Arg(this) | this:r0_8 | +| ir.cpp:2201:73:2201:73 | Arg(this) | this:r0_15 | +| ir.cpp:2201:73:2201:73 | Arg(this) | this:r2201_61 | +| ir.cpp:2201:73:2201:73 | CallTarget | func:r2201_21 | +| ir.cpp:2201:73:2201:73 | CallTarget | func:r2201_27 | +| ir.cpp:2201:73:2201:73 | CallTarget | func:r2201_33 | +| ir.cpp:2201:73:2201:73 | CallTarget | func:r2201_34 | +| ir.cpp:2201:73:2201:73 | CallTarget | func:r2201_47 | +| ir.cpp:2201:73:2201:73 | CallTarget | func:r2201_62 | +| ir.cpp:2201:73:2201:73 | ChiPartial | partial:m2201_37 | +| ir.cpp:2201:73:2201:73 | ChiPartial | partial:m2201_39 | +| ir.cpp:2201:73:2201:73 | ChiPartial | partial:m2201_42 | +| ir.cpp:2201:73:2201:73 | ChiPartial | partial:m2201_49 | +| ir.cpp:2201:73:2201:73 | ChiPartial | partial:m2201_64 | +| ir.cpp:2201:73:2201:73 | ChiPartial | partial:m2201_67 | +| ir.cpp:2201:73:2201:73 | ChiTotal | total:m0_9 | +| ir.cpp:2201:73:2201:73 | ChiTotal | total:m2201_30 | +| ir.cpp:2201:73:2201:73 | ChiTotal | total:m2201_31 | +| ir.cpp:2201:73:2201:73 | ChiTotal | total:m2201_38 | +| ir.cpp:2201:73:2201:73 | ChiTotal | total:m2201_43 | +| ir.cpp:2201:73:2201:73 | ChiTotal | total:m2201_57 | +| ir.cpp:2201:73:2201:73 | Condition | r2201_41 | +| ir.cpp:2201:73:2201:73 | Load | m2201_17 | +| ir.cpp:2201:73:2201:73 | Load | m2201_17 | +| ir.cpp:2201:73:2201:73 | Phi | from 7:m2201_23 | +| ir.cpp:2201:73:2201:73 | Phi | from 7:~m2201_11 | +| ir.cpp:2201:73:2201:73 | Phi | from 9:m2201_68 | +| ir.cpp:2201:73:2201:73 | Phi | from 9:~m2201_65 | +| ir.cpp:2201:73:2201:73 | SideEffect | m2201_30 | +| ir.cpp:2201:73:2201:73 | SideEffect | ~m2201_31 | +| ir.cpp:2201:73:2201:73 | SideEffect | ~m2201_38 | +| ir.cpp:2201:73:2201:73 | SideEffect | ~m2201_43 | +| ir.cpp:2201:73:2201:73 | SideEffect | ~m2201_57 | +| ir.cpp:2201:73:2201:73 | StoreValue | r2201_22 | +| ir.cpp:2201:73:2201:73 | StoreValue | r2201_28 | +| ir.cpp:2201:73:2201:73 | Unary | r2201_20 | +| ir.cpp:2201:73:2201:73 | Unary | r2201_26 | +| ir.cpp:2201:73:2201:73 | Unary | r2201_32 | +| ir.cpp:2201:73:2201:73 | Unary | r2201_35 | +| ir.cpp:2201:73:2201:73 | Unary | r2201_46 | +| ir.cpp:2201:73:2201:73 | Unary | r2201_63 | +| ir.cpp:2201:73:2201:74 | StoreValue | r2201_16 | +| ir.cpp:2201:73:2201:74 | Unary | r2201_15 | +| ir.cpp:2201:73:2201:75 | Load | ~m2201_50 | +| ir.cpp:2201:73:2201:75 | StoreValue | r2201_51 | +| ir.cpp:2202:7:2202:7 | Address | &:r2202_1 | +| ir.cpp:2202:7:2202:7 | Address | &:r2202_1 | +| ir.cpp:2202:7:2202:7 | Arg(this) | this:r2202_1 | +| ir.cpp:2202:7:2202:7 | ChiPartial | partial:m2202_8 | +| ir.cpp:2202:7:2202:7 | ChiTotal | total:m2201_52 | +| ir.cpp:2202:7:2202:7 | SideEffect | m2201_52 | +| ir.cpp:2202:9:2202:13 | CallTarget | func:r2202_2 | +| ir.cpp:2202:9:2202:13 | ChiPartial | partial:m2202_5 | +| ir.cpp:2202:9:2202:13 | ChiTotal | total:m2201_50 | +| ir.cpp:2202:9:2202:13 | SideEffect | ~m2201_50 | +| ir.cpp:2202:15:2202:17 | Arg(0) | 0:r2202_3 | +| ir.cpp:2204:5:2204:5 | Address | &:r2204_14 | +| ir.cpp:2204:5:2204:5 | Address | &:r2204_18 | +| ir.cpp:2204:5:2204:5 | Address | &:r2204_24 | +| ir.cpp:2204:42:2204:43 | Address | &:r2204_1 | +| ir.cpp:2204:42:2204:43 | Address | &:r2204_1 | +| ir.cpp:2204:42:2204:43 | Address | &:r2204_61 | +| ir.cpp:2204:42:2204:43 | Address | &:r2204_61 | +| ir.cpp:2204:42:2204:43 | Arg(this) | this:r2204_1 | +| ir.cpp:2204:42:2204:43 | Arg(this) | this:r2204_61 | +| ir.cpp:2204:42:2204:43 | CallTarget | func:r2204_62 | +| ir.cpp:2204:42:2204:43 | ChiPartial | partial:m2204_64 | +| ir.cpp:2204:42:2204:43 | ChiPartial | partial:m2204_67 | +| ir.cpp:2204:42:2204:43 | ChiTotal | total:m2204_13 | +| ir.cpp:2204:42:2204:43 | ChiTotal | total:m2204_57 | +| ir.cpp:2204:42:2204:43 | SideEffect | m2204_13 | +| ir.cpp:2204:42:2204:43 | SideEffect | ~m2204_57 | +| ir.cpp:2204:45:2204:45 | Address | &:r2204_4 | +| ir.cpp:2204:45:2204:45 | Address | &:r2204_4 | +| ir.cpp:2204:45:2204:45 | Address | &:r2204_5 | +| ir.cpp:2204:45:2204:45 | Arg(0) | 0:r2204_8 | +| ir.cpp:2204:45:2204:45 | Load | m2200_8 | +| ir.cpp:2204:45:2204:45 | Load | m2204_7 | +| ir.cpp:2204:45:2204:45 | StoreValue | r2204_6 | +| ir.cpp:2204:45:2204:46 | CallTarget | func:r2204_3 | +| ir.cpp:2204:45:2204:46 | ChiPartial | partial:m2204_10 | +| ir.cpp:2204:45:2204:46 | ChiPartial | partial:m2204_12 | +| ir.cpp:2204:45:2204:46 | ChiTotal | total:m2201_43 | +| ir.cpp:2204:45:2204:46 | ChiTotal | total:m2204_2 | +| ir.cpp:2204:45:2204:46 | SideEffect | ~m2201_43 | +| ir.cpp:2204:69:2204:69 | Address | &:r2204_45 | +| ir.cpp:2204:69:2204:69 | Address | &:r2204_53 | +| ir.cpp:2204:69:2204:69 | Address | &:r2204_53 | +| ir.cpp:2204:69:2204:69 | Address | &:r2204_69 | +| ir.cpp:2204:69:2204:69 | Address | &:r2204_69 | +| ir.cpp:2204:69:2204:69 | Arg(this) | this:r2204_53 | +| ir.cpp:2204:69:2204:69 | Arg(this) | this:r2204_69 | +| ir.cpp:2204:69:2204:69 | CallTarget | func:r2204_54 | +| ir.cpp:2204:69:2204:69 | CallTarget | func:r2204_70 | +| ir.cpp:2204:69:2204:69 | ChiPartial | partial:m2204_56 | +| ir.cpp:2204:69:2204:69 | ChiPartial | partial:m2204_59 | +| ir.cpp:2204:69:2204:69 | ChiPartial | partial:m2204_72 | +| ir.cpp:2204:69:2204:69 | ChiPartial | partial:m2204_75 | +| ir.cpp:2204:69:2204:69 | ChiTotal | total:m2206_5 | +| ir.cpp:2204:69:2204:69 | ChiTotal | total:m2206_5 | +| ir.cpp:2204:69:2204:69 | ChiTotal | total:m2206_8 | +| ir.cpp:2204:69:2204:69 | ChiTotal | total:m2206_8 | +| ir.cpp:2204:69:2204:69 | SideEffect | m2206_8 | +| ir.cpp:2204:69:2204:69 | SideEffect | m2206_8 | +| ir.cpp:2204:69:2204:69 | SideEffect | ~m2206_5 | +| ir.cpp:2204:69:2204:69 | SideEffect | ~m2206_5 | +| ir.cpp:2204:73:2204:73 | Address | &:r2204_19 | +| ir.cpp:2204:73:2204:73 | Address | &:r2204_25 | +| ir.cpp:2204:73:2204:73 | Address | &:r2204_48 | +| ir.cpp:2204:73:2204:73 | Address | &:r2204_77 | +| ir.cpp:2204:73:2204:73 | Address | &:r2204_77 | +| ir.cpp:2204:73:2204:73 | Arg(this) | this:r0_18 | +| ir.cpp:2204:73:2204:73 | Arg(this) | this:r0_21 | +| ir.cpp:2204:73:2204:73 | Arg(this) | this:r0_23 | +| ir.cpp:2204:73:2204:73 | Arg(this) | this:r0_24 | +| ir.cpp:2204:73:2204:73 | Arg(this) | this:r0_31 | +| ir.cpp:2204:73:2204:73 | Arg(this) | this:r2204_77 | +| ir.cpp:2204:73:2204:73 | CallTarget | func:r2204_21 | +| ir.cpp:2204:73:2204:73 | CallTarget | func:r2204_27 | +| ir.cpp:2204:73:2204:73 | CallTarget | func:r2204_33 | +| ir.cpp:2204:73:2204:73 | CallTarget | func:r2204_34 | +| ir.cpp:2204:73:2204:73 | CallTarget | func:r2204_47 | +| ir.cpp:2204:73:2204:73 | CallTarget | func:r2204_78 | +| ir.cpp:2204:73:2204:73 | ChiPartial | partial:m2204_37 | +| ir.cpp:2204:73:2204:73 | ChiPartial | partial:m2204_39 | +| ir.cpp:2204:73:2204:73 | ChiPartial | partial:m2204_42 | +| ir.cpp:2204:73:2204:73 | ChiPartial | partial:m2204_49 | +| ir.cpp:2204:73:2204:73 | ChiPartial | partial:m2204_80 | +| ir.cpp:2204:73:2204:73 | ChiPartial | partial:m2204_83 | +| ir.cpp:2204:73:2204:73 | ChiTotal | total:m0_25 | +| ir.cpp:2204:73:2204:73 | ChiTotal | total:m2204_30 | +| ir.cpp:2204:73:2204:73 | ChiTotal | total:m2204_31 | +| ir.cpp:2204:73:2204:73 | ChiTotal | total:m2204_38 | +| ir.cpp:2204:73:2204:73 | ChiTotal | total:m2204_43 | +| ir.cpp:2204:73:2204:73 | ChiTotal | total:m2204_73 | +| ir.cpp:2204:73:2204:73 | Condition | r2204_41 | +| ir.cpp:2204:73:2204:73 | Load | m2204_17 | +| ir.cpp:2204:73:2204:73 | Load | m2204_17 | +| ir.cpp:2204:73:2204:73 | Phi | from 10:m2204_23 | +| ir.cpp:2204:73:2204:73 | Phi | from 10:~m2204_11 | +| ir.cpp:2204:73:2204:73 | Phi | from 14:m2204_84 | +| ir.cpp:2204:73:2204:73 | Phi | from 14:~m2204_81 | +| ir.cpp:2204:73:2204:73 | SideEffect | m2204_30 | +| ir.cpp:2204:73:2204:73 | SideEffect | ~m2204_31 | +| ir.cpp:2204:73:2204:73 | SideEffect | ~m2204_38 | +| ir.cpp:2204:73:2204:73 | SideEffect | ~m2204_43 | +| ir.cpp:2204:73:2204:73 | SideEffect | ~m2204_73 | +| ir.cpp:2204:73:2204:73 | StoreValue | r2204_22 | +| ir.cpp:2204:73:2204:73 | StoreValue | r2204_28 | +| ir.cpp:2204:73:2204:73 | Unary | r2204_20 | +| ir.cpp:2204:73:2204:73 | Unary | r2204_26 | +| ir.cpp:2204:73:2204:73 | Unary | r2204_32 | +| ir.cpp:2204:73:2204:73 | Unary | r2204_35 | +| ir.cpp:2204:73:2204:73 | Unary | r2204_46 | +| ir.cpp:2204:73:2204:73 | Unary | r2204_79 | +| ir.cpp:2204:73:2204:74 | StoreValue | r2204_16 | +| ir.cpp:2204:73:2204:74 | Unary | r2204_15 | +| ir.cpp:2204:73:2204:75 | Load | ~m2204_50 | +| ir.cpp:2204:73:2204:75 | StoreValue | r2204_51 | +| ir.cpp:2205:7:2205:7 | Address | &:r2205_1 | +| ir.cpp:2205:7:2205:7 | Address | &:r2205_1 | +| ir.cpp:2205:7:2205:7 | Arg(this) | this:r2205_1 | +| ir.cpp:2205:7:2205:7 | ChiPartial | partial:m2205_8 | +| ir.cpp:2205:7:2205:7 | ChiTotal | total:m2204_52 | +| ir.cpp:2205:7:2205:7 | SideEffect | m2204_52 | +| ir.cpp:2205:9:2205:13 | CallTarget | func:r2205_2 | +| ir.cpp:2205:9:2205:13 | ChiPartial | partial:m2205_5 | +| ir.cpp:2205:9:2205:13 | ChiTotal | total:m2204_50 | +| ir.cpp:2205:9:2205:13 | SideEffect | ~m2204_50 | +| ir.cpp:2205:15:2205:17 | Arg(0) | 0:r2205_3 | +| ir.cpp:2206:11:2206:11 | Address | &:r2206_1 | +| ir.cpp:2206:11:2206:11 | Address | &:r2206_1 | +| ir.cpp:2206:11:2206:11 | Arg(this) | this:r2206_1 | +| ir.cpp:2206:11:2206:11 | ChiPartial | partial:m2206_7 | +| ir.cpp:2206:11:2206:11 | ChiTotal | total:m2205_9 | +| ir.cpp:2206:11:2206:11 | SideEffect | m2205_9 | +| ir.cpp:2206:11:2206:19 | Left | r2206_9 | +| ir.cpp:2206:11:2206:26 | Condition | r2206_11 | +| ir.cpp:2206:13:2206:17 | CallTarget | func:r2206_2 | +| ir.cpp:2206:13:2206:17 | ChiPartial | partial:m2206_4 | +| ir.cpp:2206:13:2206:17 | ChiTotal | total:m2205_6 | +| ir.cpp:2206:13:2206:17 | SideEffect | ~m2205_6 | +| ir.cpp:2206:13:2206:17 | Unary | r2206_3 | +| ir.cpp:2206:24:2206:26 | Right | r2206_10 | +| ir.cpp:2210:5:2210:5 | Address | &:r2210_10 | +| ir.cpp:2210:5:2210:5 | Address | &:r2210_14 | +| ir.cpp:2210:5:2210:5 | Address | &:r2210_20 | +| ir.cpp:2210:26:2210:27 | Address | &:r2210_1 | +| ir.cpp:2210:26:2210:27 | Address | &:r2210_1 | +| ir.cpp:2210:26:2210:27 | Address | &:r2210_58 | +| ir.cpp:2210:26:2210:27 | Address | &:r2210_58 | +| ir.cpp:2210:26:2210:27 | Arg(this) | this:r2210_1 | +| ir.cpp:2210:26:2210:27 | Arg(this) | this:r2210_58 | +| ir.cpp:2210:26:2210:27 | CallTarget | func:r2210_59 | +| ir.cpp:2210:26:2210:27 | ChiPartial | partial:m2210_61 | +| ir.cpp:2210:26:2210:27 | ChiPartial | partial:m2210_64 | +| ir.cpp:2210:26:2210:27 | ChiTotal | total:m2210_9 | +| ir.cpp:2210:26:2210:27 | ChiTotal | total:m2210_55 | +| ir.cpp:2210:26:2210:27 | SideEffect | m2210_9 | +| ir.cpp:2210:26:2210:27 | SideEffect | ~m2210_55 | +| ir.cpp:2210:29:2210:29 | Arg(0) | 0:r2210_4 | +| ir.cpp:2210:29:2210:30 | CallTarget | func:r2210_3 | +| ir.cpp:2210:29:2210:30 | ChiPartial | partial:m2210_6 | +| ir.cpp:2210:29:2210:30 | ChiPartial | partial:m2210_8 | +| ir.cpp:2210:29:2210:30 | ChiTotal | total:m2204_43 | +| ir.cpp:2210:29:2210:30 | ChiTotal | total:m2210_2 | +| ir.cpp:2210:29:2210:30 | SideEffect | ~m2204_43 | +| ir.cpp:2210:37:2210:37 | Address | &:r2210_50 | +| ir.cpp:2210:41:2210:41 | Address | &:r2210_15 | +| ir.cpp:2210:41:2210:41 | Address | &:r2210_21 | +| ir.cpp:2210:41:2210:41 | Address | &:r2210_41 | +| ir.cpp:2210:41:2210:41 | Address | &:r2210_41 | +| ir.cpp:2210:41:2210:41 | Address | &:r2210_53 | +| ir.cpp:2210:41:2210:41 | Arg(this) | this:r0_34 | +| ir.cpp:2210:41:2210:41 | Arg(this) | this:r0_37 | +| ir.cpp:2210:41:2210:41 | Arg(this) | this:r0_39 | +| ir.cpp:2210:41:2210:41 | Arg(this) | this:r0_40 | +| ir.cpp:2210:41:2210:41 | Arg(this) | this:r0_47 | +| ir.cpp:2210:41:2210:41 | Arg(this) | this:r2210_41 | +| ir.cpp:2210:41:2210:41 | CallTarget | func:r2210_17 | +| ir.cpp:2210:41:2210:41 | CallTarget | func:r2210_23 | +| ir.cpp:2210:41:2210:41 | CallTarget | func:r2210_29 | +| ir.cpp:2210:41:2210:41 | CallTarget | func:r2210_30 | +| ir.cpp:2210:41:2210:41 | CallTarget | func:r2210_42 | +| ir.cpp:2210:41:2210:41 | CallTarget | func:r2210_52 | +| ir.cpp:2210:41:2210:41 | ChiPartial | partial:m2210_33 | +| ir.cpp:2210:41:2210:41 | ChiPartial | partial:m2210_35 | +| ir.cpp:2210:41:2210:41 | ChiPartial | partial:m2210_38 | +| ir.cpp:2210:41:2210:41 | ChiPartial | partial:m2210_44 | +| ir.cpp:2210:41:2210:41 | ChiPartial | partial:m2210_47 | +| ir.cpp:2210:41:2210:41 | ChiPartial | partial:m2210_54 | +| ir.cpp:2210:41:2210:41 | ChiTotal | total:m0_41 | +| ir.cpp:2210:41:2210:41 | ChiTotal | total:m2210_26 | +| ir.cpp:2210:41:2210:41 | ChiTotal | total:m2210_27 | +| ir.cpp:2210:41:2210:41 | ChiTotal | total:m2210_34 | +| ir.cpp:2210:41:2210:41 | ChiTotal | total:m2210_39 | +| ir.cpp:2210:41:2210:41 | ChiTotal | total:m2210_55 | +| ir.cpp:2210:41:2210:41 | Condition | r2210_37 | +| ir.cpp:2210:41:2210:41 | Load | m2210_13 | +| ir.cpp:2210:41:2210:41 | Load | m2210_13 | +| ir.cpp:2210:41:2210:41 | Phi | from 15:m2210_19 | +| ir.cpp:2210:41:2210:41 | Phi | from 15:~m2210_7 | +| ir.cpp:2210:41:2210:41 | Phi | from 17:m2210_48 | +| ir.cpp:2210:41:2210:41 | Phi | from 17:~m2210_45 | +| ir.cpp:2210:41:2210:41 | SideEffect | m2210_26 | +| ir.cpp:2210:41:2210:41 | SideEffect | ~m2210_27 | +| ir.cpp:2210:41:2210:41 | SideEffect | ~m2210_34 | +| ir.cpp:2210:41:2210:41 | SideEffect | ~m2210_39 | +| ir.cpp:2210:41:2210:41 | SideEffect | ~m2210_55 | +| ir.cpp:2210:41:2210:41 | StoreValue | r2210_18 | +| ir.cpp:2210:41:2210:41 | StoreValue | r2210_24 | +| ir.cpp:2210:41:2210:41 | Unary | r2210_16 | +| ir.cpp:2210:41:2210:41 | Unary | r2210_22 | +| ir.cpp:2210:41:2210:41 | Unary | r2210_28 | +| ir.cpp:2210:41:2210:41 | Unary | r2210_31 | +| ir.cpp:2210:41:2210:41 | Unary | r2210_43 | +| ir.cpp:2210:41:2210:41 | Unary | r2210_51 | +| ir.cpp:2210:41:2210:42 | StoreValue | r2210_12 | +| ir.cpp:2210:41:2210:42 | Unary | r2210_11 | +| ir.cpp:2210:41:2210:43 | Load | ~m2210_55 | +| ir.cpp:2210:41:2210:43 | StoreValue | r2210_56 | +| ir.cpp:2211:11:2211:11 | Address | &:r2211_1 | +| ir.cpp:2211:11:2211:11 | Left | r2211_2 | +| ir.cpp:2211:11:2211:11 | Load | m2210_57 | +| ir.cpp:2211:11:2211:16 | Condition | r2211_4 | +| ir.cpp:2211:16:2211:16 | Right | r2211_3 | +| ir.cpp:2215:5:2215:5 | Address | &:r2215_14 | +| ir.cpp:2215:5:2215:5 | Address | &:r2215_18 | +| ir.cpp:2215:5:2215:5 | Address | &:r2215_24 | +| ir.cpp:2215:42:2215:43 | Address | &:r2215_1 | +| ir.cpp:2215:42:2215:43 | Address | &:r2215_1 | +| ir.cpp:2215:42:2215:43 | Arg(this) | this:r2215_1 | +| ir.cpp:2215:45:2215:45 | Address | &:r2215_4 | +| ir.cpp:2215:45:2215:45 | Address | &:r2215_4 | +| ir.cpp:2215:45:2215:45 | Address | &:r2215_5 | +| ir.cpp:2215:45:2215:45 | Arg(0) | 0:r2215_8 | +| ir.cpp:2215:45:2215:45 | Load | m2200_8 | +| ir.cpp:2215:45:2215:45 | Load | m2215_7 | +| ir.cpp:2215:45:2215:45 | StoreValue | r2215_6 | +| ir.cpp:2215:45:2215:46 | CallTarget | func:r2215_3 | +| ir.cpp:2215:45:2215:46 | ChiPartial | partial:m2215_10 | +| ir.cpp:2215:45:2215:46 | ChiPartial | partial:m2215_12 | +| ir.cpp:2215:45:2215:46 | ChiTotal | total:m2210_39 | +| ir.cpp:2215:45:2215:46 | ChiTotal | total:m2215_2 | +| ir.cpp:2215:45:2215:46 | SideEffect | ~m2210_39 | +| ir.cpp:2215:69:2215:69 | Address | &:r2215_45 | +| ir.cpp:2215:69:2215:69 | Address | &:r2215_53 | +| ir.cpp:2215:69:2215:69 | Address | &:r2215_53 | +| ir.cpp:2215:69:2215:69 | Arg(this) | this:r2215_53 | +| ir.cpp:2215:69:2215:69 | CallTarget | func:r2215_54 | +| ir.cpp:2215:69:2215:69 | ChiPartial | partial:m2215_56 | +| ir.cpp:2215:69:2215:69 | ChiPartial | partial:m2215_59 | +| ir.cpp:2215:69:2215:69 | ChiTotal | total:m2215_52 | +| ir.cpp:2215:69:2215:69 | ChiTotal | total:m2218_13 | +| ir.cpp:2215:69:2215:69 | SideEffect | m2215_52 | +| ir.cpp:2215:69:2215:69 | SideEffect | ~m2218_13 | +| ir.cpp:2215:73:2215:73 | Address | &:r2215_19 | +| ir.cpp:2215:73:2215:73 | Address | &:r2215_25 | +| ir.cpp:2215:73:2215:73 | Address | &:r2215_48 | +| ir.cpp:2215:73:2215:73 | Address | &:r2215_61 | +| ir.cpp:2215:73:2215:73 | Address | &:r2215_61 | +| ir.cpp:2215:73:2215:73 | Arg(this) | this:r0_50 | +| ir.cpp:2215:73:2215:73 | Arg(this) | this:r0_53 | +| ir.cpp:2215:73:2215:73 | Arg(this) | this:r0_55 | +| ir.cpp:2215:73:2215:73 | Arg(this) | this:r0_56 | +| ir.cpp:2215:73:2215:73 | Arg(this) | this:r0_63 | +| ir.cpp:2215:73:2215:73 | Arg(this) | this:r2215_61 | +| ir.cpp:2215:73:2215:73 | CallTarget | func:r2215_21 | +| ir.cpp:2215:73:2215:73 | CallTarget | func:r2215_27 | +| ir.cpp:2215:73:2215:73 | CallTarget | func:r2215_33 | +| ir.cpp:2215:73:2215:73 | CallTarget | func:r2215_34 | +| ir.cpp:2215:73:2215:73 | CallTarget | func:r2215_47 | +| ir.cpp:2215:73:2215:73 | CallTarget | func:r2215_62 | +| ir.cpp:2215:73:2215:73 | ChiPartial | partial:m2215_37 | +| ir.cpp:2215:73:2215:73 | ChiPartial | partial:m2215_39 | +| ir.cpp:2215:73:2215:73 | ChiPartial | partial:m2215_42 | +| ir.cpp:2215:73:2215:73 | ChiPartial | partial:m2215_49 | +| ir.cpp:2215:73:2215:73 | ChiPartial | partial:m2215_64 | +| ir.cpp:2215:73:2215:73 | ChiPartial | partial:m2215_67 | +| ir.cpp:2215:73:2215:73 | ChiTotal | total:m0_57 | +| ir.cpp:2215:73:2215:73 | ChiTotal | total:m2215_30 | +| ir.cpp:2215:73:2215:73 | ChiTotal | total:m2215_31 | +| ir.cpp:2215:73:2215:73 | ChiTotal | total:m2215_38 | +| ir.cpp:2215:73:2215:73 | ChiTotal | total:m2215_43 | +| ir.cpp:2215:73:2215:73 | ChiTotal | total:m2215_57 | +| ir.cpp:2215:73:2215:73 | Condition | r2215_41 | +| ir.cpp:2215:73:2215:73 | Load | m2215_17 | +| ir.cpp:2215:73:2215:73 | Load | m2215_17 | +| ir.cpp:2215:73:2215:73 | Phi | from 20:m2215_23 | +| ir.cpp:2215:73:2215:73 | Phi | from 20:~m2215_11 | +| ir.cpp:2215:73:2215:73 | Phi | from 22:m2215_68 | +| ir.cpp:2215:73:2215:73 | Phi | from 22:~m2215_65 | +| ir.cpp:2215:73:2215:73 | SideEffect | m2215_30 | +| ir.cpp:2215:73:2215:73 | SideEffect | ~m2215_31 | +| ir.cpp:2215:73:2215:73 | SideEffect | ~m2215_38 | +| ir.cpp:2215:73:2215:73 | SideEffect | ~m2215_43 | +| ir.cpp:2215:73:2215:73 | SideEffect | ~m2215_57 | +| ir.cpp:2215:73:2215:73 | StoreValue | r2215_22 | +| ir.cpp:2215:73:2215:73 | StoreValue | r2215_28 | +| ir.cpp:2215:73:2215:73 | Unary | r2215_20 | +| ir.cpp:2215:73:2215:73 | Unary | r2215_26 | +| ir.cpp:2215:73:2215:73 | Unary | r2215_32 | +| ir.cpp:2215:73:2215:73 | Unary | r2215_35 | +| ir.cpp:2215:73:2215:73 | Unary | r2215_46 | +| ir.cpp:2215:73:2215:73 | Unary | r2215_63 | +| ir.cpp:2215:73:2215:74 | StoreValue | r2215_16 | +| ir.cpp:2215:73:2215:74 | Unary | r2215_15 | +| ir.cpp:2215:73:2215:75 | Load | ~m2215_50 | +| ir.cpp:2215:73:2215:75 | StoreValue | r2215_51 | +| ir.cpp:2216:27:2216:28 | Address | &:r2216_1 | +| ir.cpp:2216:27:2216:28 | Address | &:r2216_1 | +| ir.cpp:2216:27:2216:28 | Arg(this) | this:r2216_1 | +| ir.cpp:2216:27:2216:28 | CallTarget | func:r2216_3 | +| ir.cpp:2216:27:2216:28 | ChiPartial | partial:m2216_5 | +| ir.cpp:2216:27:2216:28 | ChiPartial | partial:m2216_7 | +| ir.cpp:2216:27:2216:28 | ChiTotal | total:m2215_50 | +| ir.cpp:2216:27:2216:28 | ChiTotal | total:m2216_2 | +| ir.cpp:2216:27:2216:28 | SideEffect | ~m2215_50 | +| ir.cpp:2217:27:2217:28 | Address | &:r2217_1 | +| ir.cpp:2217:27:2217:28 | Address | &:r2217_1 | +| ir.cpp:2217:27:2217:28 | Arg(this) | this:r2217_1 | +| ir.cpp:2217:27:2217:28 | CallTarget | func:r2217_3 | +| ir.cpp:2217:27:2217:28 | ChiPartial | partial:m2217_5 | +| ir.cpp:2217:27:2217:28 | ChiPartial | partial:m2217_7 | +| ir.cpp:2217:27:2217:28 | ChiTotal | total:m2216_6 | +| ir.cpp:2217:27:2217:28 | ChiTotal | total:m2217_2 | +| ir.cpp:2217:27:2217:28 | SideEffect | ~m2216_6 | +| ir.cpp:2218:5:2218:5 | Address | &:r2218_1 | +| ir.cpp:2218:5:2218:5 | Address | &:r2218_1 | +| ir.cpp:2218:5:2218:5 | Address | &:r2218_9 | +| ir.cpp:2218:5:2218:5 | Address | &:r2218_9 | +| ir.cpp:2218:5:2218:5 | Arg(this) | this:r2218_1 | +| ir.cpp:2218:5:2218:5 | Arg(this) | this:r2218_9 | +| ir.cpp:2218:5:2218:5 | CallTarget | func:r2218_2 | +| ir.cpp:2218:5:2218:5 | CallTarget | func:r2218_10 | +| ir.cpp:2218:5:2218:5 | ChiPartial | partial:m2218_4 | +| ir.cpp:2218:5:2218:5 | ChiPartial | partial:m2218_7 | +| ir.cpp:2218:5:2218:5 | ChiPartial | partial:m2218_12 | +| ir.cpp:2218:5:2218:5 | ChiPartial | partial:m2218_15 | +| ir.cpp:2218:5:2218:5 | ChiTotal | total:m2216_8 | +| ir.cpp:2218:5:2218:5 | ChiTotal | total:m2217_6 | +| ir.cpp:2218:5:2218:5 | ChiTotal | total:m2217_8 | +| ir.cpp:2218:5:2218:5 | ChiTotal | total:m2218_5 | +| ir.cpp:2218:5:2218:5 | SideEffect | m2216_8 | +| ir.cpp:2218:5:2218:5 | SideEffect | m2217_8 | +| ir.cpp:2218:5:2218:5 | SideEffect | ~m2217_6 | +| ir.cpp:2218:5:2218:5 | SideEffect | ~m2218_5 | +| ir.cpp:2219:1:2219:1 | Address | &:r2219_1 | +| ir.cpp:2219:1:2219:1 | Address | &:r2219_1 | +| ir.cpp:2219:1:2219:1 | Address | &:r2219_9 | +| ir.cpp:2219:1:2219:1 | Address | &:r2219_9 | +| ir.cpp:2219:1:2219:1 | Address | &:r2219_18 | +| ir.cpp:2219:1:2219:1 | Address | &:r2219_18 | +| ir.cpp:2219:1:2219:1 | Arg(this) | this:r2219_1 | +| ir.cpp:2219:1:2219:1 | Arg(this) | this:r2219_9 | +| ir.cpp:2219:1:2219:1 | Arg(this) | this:r2219_18 | +| ir.cpp:2219:1:2219:1 | CallTarget | func:r2219_2 | +| ir.cpp:2219:1:2219:1 | CallTarget | func:r2219_10 | +| ir.cpp:2219:1:2219:1 | CallTarget | func:r2219_19 | +| ir.cpp:2219:1:2219:1 | ChiPartial | partial:m2219_4 | +| ir.cpp:2219:1:2219:1 | ChiPartial | partial:m2219_7 | +| ir.cpp:2219:1:2219:1 | ChiPartial | partial:m2219_12 | +| ir.cpp:2219:1:2219:1 | ChiPartial | partial:m2219_15 | +| ir.cpp:2219:1:2219:1 | ChiPartial | partial:m2219_21 | +| ir.cpp:2219:1:2219:1 | ChiPartial | partial:m2219_24 | +| ir.cpp:2219:1:2219:1 | ChiTotal | total:m2200_8 | +| ir.cpp:2219:1:2219:1 | ChiTotal | total:m2200_8 | +| ir.cpp:2219:1:2219:1 | ChiTotal | total:m2200_8 | +| ir.cpp:2219:1:2219:1 | ChiTotal | total:m2204_65 | +| ir.cpp:2219:1:2219:1 | ChiTotal | total:m2210_62 | +| ir.cpp:2219:1:2219:1 | ChiTotal | total:m2215_43 | +| ir.cpp:2219:1:2219:1 | SideEffect | m2200_8 | +| ir.cpp:2219:1:2219:1 | SideEffect | m2200_8 | +| ir.cpp:2219:1:2219:1 | SideEffect | m2200_8 | +| ir.cpp:2219:1:2219:1 | SideEffect | ~m2204_65 | +| ir.cpp:2219:1:2219:1 | SideEffect | ~m2210_62 | +| ir.cpp:2219:1:2219:1 | SideEffect | ~m2215_43 | +| ir.cpp:2221:6:2221:38 | ChiPartial | partial:m2221_3 | +| ir.cpp:2221:6:2221:38 | ChiTotal | total:m2221_2 | +| ir.cpp:2221:6:2221:38 | SideEffect | ~m2224_7 | +| ir.cpp:2222:25:2222:25 | Address | &:r2222_1 | +| ir.cpp:2222:25:2222:25 | Address | &:r2222_1 | +| ir.cpp:2222:25:2222:25 | Arg(this) | this:r2222_1 | +| ir.cpp:2222:25:2222:25 | CallTarget | func:r2222_3 | +| ir.cpp:2222:25:2222:25 | ChiPartial | partial:m2222_5 | +| ir.cpp:2222:25:2222:25 | ChiPartial | partial:m2222_7 | +| ir.cpp:2222:25:2222:25 | ChiTotal | total:m2221_4 | +| ir.cpp:2222:25:2222:25 | ChiTotal | total:m2222_2 | +| ir.cpp:2222:25:2222:25 | SideEffect | ~m2221_4 | +| ir.cpp:2223:32:2223:32 | Address | &:r2223_1 | +| ir.cpp:2223:32:2223:32 | Address | &:r2223_1 | +| ir.cpp:2223:32:2223:32 | Address | &:r2223_4 | +| ir.cpp:2223:32:2223:32 | Arg(this) | this:r2223_4 | +| ir.cpp:2223:32:2223:32 | ChiPartial | partial:m2223_6 | +| ir.cpp:2223:32:2223:32 | ChiTotal | total:m0_6 | +| ir.cpp:2223:32:2223:32 | Condition | r2223_2 | +| ir.cpp:2223:32:2223:32 | Load | ~m2222_6 | +| ir.cpp:2223:32:2223:32 | StoreValue | r2223_5 | +| ir.cpp:2224:1:2224:1 | Address | &:r2224_3 | +| ir.cpp:2224:1:2224:1 | Address | &:r2224_3 | +| ir.cpp:2224:1:2224:1 | Arg(this) | this:r2224_3 | +| ir.cpp:2224:1:2224:1 | CallTarget | func:r2224_4 | +| ir.cpp:2224:1:2224:1 | ChiPartial | partial:m2224_6 | +| ir.cpp:2224:1:2224:1 | ChiPartial | partial:m2224_9 | +| ir.cpp:2224:1:2224:1 | ChiTotal | total:m2222_8 | +| ir.cpp:2224:1:2224:1 | ChiTotal | total:m2224_1 | +| ir.cpp:2224:1:2224:1 | Phi | from 0:~m2222_6 | +| ir.cpp:2224:1:2224:1 | Phi | from 1:~m2223_7 | +| ir.cpp:2224:1:2224:1 | SideEffect | m2222_8 | +| ir.cpp:2224:1:2224:1 | SideEffect | ~m2224_1 | +| ir.cpp:2226:6:2226:38 | ChiPartial | partial:m2226_3 | +| ir.cpp:2226:6:2226:38 | ChiTotal | total:m2226_2 | +| ir.cpp:2226:6:2226:38 | SideEffect | ~m2229_6 | +| ir.cpp:2227:32:2227:32 | Address | &:r2227_1 | +| ir.cpp:2227:32:2227:32 | Address | &:r2227_1 | +| ir.cpp:2227:32:2227:32 | Address | &:r2227_4 | +| ir.cpp:2227:32:2227:32 | Arg(this) | this:r2227_4 | +| ir.cpp:2227:32:2227:32 | ChiPartial | partial:m2227_6 | +| ir.cpp:2227:32:2227:32 | ChiTotal | total:m0_6 | +| ir.cpp:2227:32:2227:32 | Condition | r2227_2 | +| ir.cpp:2227:32:2227:32 | Load | ~m2226_3 | +| ir.cpp:2227:32:2227:32 | StoreValue | r2227_5 | +| ir.cpp:2228:25:2228:25 | Address | &:r2228_2 | +| ir.cpp:2228:25:2228:25 | Address | &:r2228_2 | +| ir.cpp:2228:25:2228:25 | Arg(this) | this:r2228_2 | +| ir.cpp:2228:25:2228:25 | CallTarget | func:r2228_4 | +| ir.cpp:2228:25:2228:25 | ChiPartial | partial:m2228_6 | +| ir.cpp:2228:25:2228:25 | ChiPartial | partial:m2228_8 | +| ir.cpp:2228:25:2228:25 | ChiTotal | total:m2228_1 | +| ir.cpp:2228:25:2228:25 | ChiTotal | total:m2228_3 | +| ir.cpp:2228:25:2228:25 | Phi | from 0:~m2226_4 | +| ir.cpp:2228:25:2228:25 | Phi | from 1:~m2227_7 | +| ir.cpp:2228:25:2228:25 | SideEffect | ~m2228_1 | +| ir.cpp:2229:1:2229:1 | Address | &:r2229_2 | +| ir.cpp:2229:1:2229:1 | Address | &:r2229_2 | +| ir.cpp:2229:1:2229:1 | Arg(this) | this:r2229_2 | +| ir.cpp:2229:1:2229:1 | CallTarget | func:r2229_3 | +| ir.cpp:2229:1:2229:1 | ChiPartial | partial:m2229_5 | +| ir.cpp:2229:1:2229:1 | ChiPartial | partial:m2229_8 | +| ir.cpp:2229:1:2229:1 | ChiTotal | total:m2228_7 | +| ir.cpp:2229:1:2229:1 | ChiTotal | total:m2228_9 | +| ir.cpp:2229:1:2229:1 | SideEffect | m2228_9 | +| ir.cpp:2229:1:2229:1 | SideEffect | ~m2228_7 | +| ir.cpp:2231:6:2231:38 | ChiPartial | partial:m2231_3 | +| ir.cpp:2231:6:2231:38 | ChiTotal | total:m2231_2 | +| ir.cpp:2231:6:2231:38 | SideEffect | ~m2235_15 | +| ir.cpp:2232:25:2232:25 | Address | &:r2232_1 | +| ir.cpp:2232:25:2232:25 | Address | &:r2232_1 | +| ir.cpp:2232:25:2232:25 | Arg(this) | this:r2232_1 | +| ir.cpp:2232:25:2232:25 | CallTarget | func:r2232_3 | +| ir.cpp:2232:25:2232:25 | ChiPartial | partial:m2232_5 | +| ir.cpp:2232:25:2232:25 | ChiPartial | partial:m2232_7 | +| ir.cpp:2232:25:2232:25 | ChiTotal | total:m2231_4 | +| ir.cpp:2232:25:2232:25 | ChiTotal | total:m2232_2 | +| ir.cpp:2232:25:2232:25 | SideEffect | ~m2231_4 | +| ir.cpp:2233:25:2233:25 | Address | &:r2233_1 | +| ir.cpp:2233:25:2233:25 | Address | &:r2233_1 | +| ir.cpp:2233:25:2233:25 | Arg(this) | this:r2233_1 | +| ir.cpp:2233:25:2233:25 | CallTarget | func:r2233_3 | +| ir.cpp:2233:25:2233:25 | ChiPartial | partial:m2233_5 | +| ir.cpp:2233:25:2233:25 | ChiPartial | partial:m2233_7 | +| ir.cpp:2233:25:2233:25 | ChiTotal | total:m2232_6 | +| ir.cpp:2233:25:2233:25 | ChiTotal | total:m2233_2 | +| ir.cpp:2233:25:2233:25 | SideEffect | ~m2232_6 | +| ir.cpp:2234:32:2234:32 | Address | &:r2234_1 | +| ir.cpp:2234:32:2234:32 | Address | &:r2234_1 | +| ir.cpp:2234:32:2234:32 | Address | &:r2234_4 | +| ir.cpp:2234:32:2234:32 | Arg(this) | this:r2234_4 | +| ir.cpp:2234:32:2234:32 | ChiPartial | partial:m2234_6 | +| ir.cpp:2234:32:2234:32 | ChiTotal | total:m0_6 | +| ir.cpp:2234:32:2234:32 | Condition | r2234_2 | +| ir.cpp:2234:32:2234:32 | Load | ~m2233_6 | +| ir.cpp:2234:32:2234:32 | StoreValue | r2234_5 | +| ir.cpp:2235:1:2235:1 | Address | &:r2235_3 | +| ir.cpp:2235:1:2235:1 | Address | &:r2235_3 | +| ir.cpp:2235:1:2235:1 | Address | &:r2235_11 | +| ir.cpp:2235:1:2235:1 | Address | &:r2235_11 | +| ir.cpp:2235:1:2235:1 | Arg(this) | this:r2235_3 | +| ir.cpp:2235:1:2235:1 | Arg(this) | this:r2235_11 | +| ir.cpp:2235:1:2235:1 | CallTarget | func:r2235_4 | +| ir.cpp:2235:1:2235:1 | CallTarget | func:r2235_12 | +| ir.cpp:2235:1:2235:1 | ChiPartial | partial:m2235_6 | +| ir.cpp:2235:1:2235:1 | ChiPartial | partial:m2235_9 | +| ir.cpp:2235:1:2235:1 | ChiPartial | partial:m2235_14 | +| ir.cpp:2235:1:2235:1 | ChiPartial | partial:m2235_17 | +| ir.cpp:2235:1:2235:1 | ChiTotal | total:m2232_8 | +| ir.cpp:2235:1:2235:1 | ChiTotal | total:m2233_8 | +| ir.cpp:2235:1:2235:1 | ChiTotal | total:m2235_1 | +| ir.cpp:2235:1:2235:1 | ChiTotal | total:m2235_7 | +| ir.cpp:2235:1:2235:1 | Phi | from 0:~m2233_6 | +| ir.cpp:2235:1:2235:1 | Phi | from 1:~m2234_7 | +| ir.cpp:2235:1:2235:1 | SideEffect | m2232_8 | +| ir.cpp:2235:1:2235:1 | SideEffect | m2233_8 | +| ir.cpp:2235:1:2235:1 | SideEffect | ~m2235_1 | +| ir.cpp:2235:1:2235:1 | SideEffect | ~m2235_7 | +| ir.cpp:2237:28:2237:55 | Address | &:r2237_3 | +| ir.cpp:2237:28:2237:55 | Arg(this) | this:r2237_3 | +| ir.cpp:2237:28:2237:55 | CallTarget | func:r2237_4 | +| ir.cpp:2237:28:2237:55 | ChiPartial | partial:m2237_6 | +| ir.cpp:2237:28:2237:55 | ChiPartial | partial:m2237_8 | +| ir.cpp:2237:28:2237:55 | ChiTotal | total:m2237_2 | +| ir.cpp:2237:28:2237:55 | ChiTotal | total:m2237_7 | +| ir.cpp:2237:28:2237:55 | SideEffect | ~m2237_2 | +| ir.cpp:2237:28:2237:55 | SideEffect | ~m2237_9 | +| ir.cpp:2241:8:2241:8 | Address | &:r2241_16 | +| ir.cpp:2241:8:2241:8 | Address | &:r2241_16 | +| ir.cpp:2241:8:2241:8 | ChiPartial | partial:m2241_3 | +| ir.cpp:2241:8:2241:8 | ChiPartial | partial:m2241_3 | +| ir.cpp:2241:8:2241:8 | ChiTotal | total:m2241_2 | +| ir.cpp:2241:8:2241:8 | ChiTotal | total:m2241_2 | +| ir.cpp:2241:8:2241:8 | Load | m2241_14 | +| ir.cpp:2241:8:2241:8 | Load | m2241_14 | +| ir.cpp:2241:8:2241:8 | SideEffect | m2241_3 | +| ir.cpp:2241:8:2241:8 | SideEffect | m2241_3 | +| ir.cpp:2241:15:2241:15 | Address | &:r2241_5 | +| ir.cpp:2241:15:2241:15 | Address | &:r2241_5 | +| ir.cpp:2241:15:2241:15 | Address | &:r2241_5 | +| ir.cpp:2241:15:2241:15 | Address | &:r2241_5 | +| ir.cpp:2241:15:2241:15 | Address | &:r2241_7 | +| ir.cpp:2241:15:2241:15 | Address | &:r2241_7 | +| ir.cpp:2241:15:2241:15 | Address | &:r2241_7 | +| ir.cpp:2241:15:2241:15 | Address | &:r2241_7 | +| ir.cpp:2241:15:2241:15 | Load | m2241_6 | +| ir.cpp:2241:15:2241:15 | Load | m2241_6 | +| ir.cpp:2241:15:2241:15 | SideEffect | m2241_8 | +| ir.cpp:2241:15:2241:15 | SideEffect | m2241_8 | +| ir.cpp:2241:20:2241:28 | Address | &:r2241_9 | +| ir.cpp:2241:20:2241:28 | Address | &:r2241_9 | +| ir.cpp:2241:27:2241:27 | Address | &:r2241_10 | +| ir.cpp:2241:27:2241:27 | Address | &:r2241_10 | +| ir.cpp:2241:27:2241:27 | Load | m2241_6 | +| ir.cpp:2241:27:2241:27 | Load | m2241_6 | +| ir.cpp:2241:27:2241:27 | StoreValue | r2241_13 | +| ir.cpp:2241:27:2241:27 | StoreValue | r2241_13 | +| ir.cpp:2241:27:2241:27 | Unary | r2241_11 | +| ir.cpp:2241:27:2241:27 | Unary | r2241_11 | +| ir.cpp:2241:27:2241:27 | Unary | r2241_12 | +| ir.cpp:2241:27:2241:27 | Unary | r2241_12 | +| ir.cpp:2244:10:2244:10 | ChiPartial | partial:m2244_3 | +| ir.cpp:2244:10:2244:10 | ChiPartial | partial:m2244_3 | +| ir.cpp:2244:10:2244:10 | ChiTotal | total:m2244_2 | +| ir.cpp:2244:10:2244:10 | ChiTotal | total:m2244_2 | +| ir.cpp:2244:10:2244:10 | SideEffect | ~m2245_8 | +| ir.cpp:2244:10:2244:10 | SideEffect | ~m2245_16 | +| ir.cpp:2244:29:2244:29 | Address | &:r2244_5 | +| ir.cpp:2244:29:2244:29 | Address | &:r2244_5 | +| ir.cpp:2244:29:2244:29 | Address | &:r2244_5 | +| ir.cpp:2244:29:2244:29 | Address | &:r2244_5 | +| ir.cpp:2244:29:2244:29 | Address | &:r2244_7 | +| ir.cpp:2244:29:2244:29 | Address | &:r2244_7 | +| ir.cpp:2244:29:2244:29 | Address | &:r2244_7 | +| ir.cpp:2244:29:2244:29 | Address | &:r2244_7 | +| ir.cpp:2244:29:2244:29 | Load | m2244_6 | +| ir.cpp:2244:29:2244:29 | Load | m2244_6 | +| ir.cpp:2244:29:2244:29 | SideEffect | m2245_11 | +| ir.cpp:2244:29:2244:29 | SideEffect | m2245_19 | +| ir.cpp:2245:9:2245:11 | CallTarget | func:r2245_1 | +| ir.cpp:2245:9:2245:11 | CallTarget | func:r2245_1 | +| ir.cpp:2245:9:2245:11 | ChiPartial | partial:m2245_7 | +| ir.cpp:2245:9:2245:11 | ChiPartial | partial:m2245_7 | +| ir.cpp:2245:9:2245:11 | ChiTotal | total:m2244_4 | +| ir.cpp:2245:9:2245:11 | ChiTotal | total:m2244_4 | +| ir.cpp:2245:9:2245:11 | SideEffect | ~m2244_4 | +| ir.cpp:2245:9:2245:11 | SideEffect | ~m2244_4 | +| ir.cpp:2245:9:2245:11 | Unary | r2245_6 | +| ir.cpp:2245:9:2245:11 | Unary | r2245_6 | +| ir.cpp:2245:12:2245:15 | Address | &:r2245_12 | +| ir.cpp:2245:12:2245:15 | Address | &:r2245_12 | +| ir.cpp:2245:12:2245:15 | ChiPartial | partial:m2245_18 | +| ir.cpp:2245:12:2245:15 | ChiTotal | total:m2245_11 | +| ir.cpp:2245:12:2245:15 | SideEffect | ~m2245_11 | +| ir.cpp:2245:13:2245:13 | Address | &:r2245_2 | +| ir.cpp:2245:13:2245:13 | Address | &:r2245_2 | +| ir.cpp:2245:13:2245:13 | Address | &:r2245_5 | +| ir.cpp:2245:13:2245:13 | Address | &:r2245_5 | +| ir.cpp:2245:13:2245:13 | Address | &:r2245_5 | +| ir.cpp:2245:13:2245:13 | Address | &:r2245_5 | +| ir.cpp:2245:13:2245:13 | Arg(0) | 0:r2245_5 | +| ir.cpp:2245:13:2245:13 | Arg(0) | 0:r2245_5 | +| ir.cpp:2245:13:2245:13 | ChiPartial | partial:m2245_10 | +| ir.cpp:2245:13:2245:13 | ChiPartial | partial:m2245_10 | +| ir.cpp:2245:13:2245:13 | ChiTotal | total:m2244_8 | +| ir.cpp:2245:13:2245:13 | ChiTotal | total:m2244_8 | +| ir.cpp:2245:13:2245:13 | Load | m2244_6 | +| ir.cpp:2245:13:2245:13 | Load | m2244_6 | +| ir.cpp:2245:13:2245:13 | SideEffect | ~m2244_8 | +| ir.cpp:2245:13:2245:13 | SideEffect | ~m2244_8 | +| ir.cpp:2245:13:2245:13 | Unary | r2245_3 | +| ir.cpp:2245:13:2245:13 | Unary | r2245_3 | +| ir.cpp:2245:13:2245:13 | Unary | r2245_4 | +| ir.cpp:2245:13:2245:13 | Unary | r2245_4 | +| ir.cpp:2245:16:2245:17 | CallTarget | func:r2245_13 | +| ir.cpp:2245:16:2245:17 | ChiPartial | partial:m2245_15 | +| ir.cpp:2245:16:2245:17 | ChiTotal | total:m2245_8 | +| ir.cpp:2245:16:2245:17 | SideEffect | ~m2245_8 | +| ir.cpp:2248:10:2248:36 | ChiPartial | partial:m2248_3 | +| ir.cpp:2248:10:2248:36 | ChiTotal | total:m2248_2 | +| ir.cpp:2248:10:2248:36 | SideEffect | ~m2251_6 | +| ir.cpp:2249:29:2249:29 | Address | &:r2249_1 | +| ir.cpp:2249:29:2249:29 | Address | &:r2249_1 | +| ir.cpp:2249:29:2249:29 | Arg(this) | this:r2249_1 | +| ir.cpp:2249:29:2249:29 | CallTarget | func:r2249_3 | +| ir.cpp:2249:29:2249:29 | ChiPartial | partial:m2249_5 | +| ir.cpp:2249:29:2249:29 | ChiPartial | partial:m2249_7 | +| ir.cpp:2249:29:2249:29 | ChiTotal | total:m2248_4 | +| ir.cpp:2249:29:2249:29 | ChiTotal | total:m2249_2 | +| ir.cpp:2249:29:2249:29 | SideEffect | ~m2248_4 | +| ir.cpp:2250:9:2250:23 | CallTarget | func:r2250_1 | +| ir.cpp:2250:9:2250:23 | ChiPartial | partial:m2250_5 | +| ir.cpp:2250:9:2250:23 | ChiTotal | total:m2249_6 | +| ir.cpp:2250:9:2250:23 | SideEffect | ~m2249_6 | +| ir.cpp:2250:25:2250:25 | Address | &:r2250_3 | +| ir.cpp:2250:25:2250:25 | Address | &:r2250_3 | +| ir.cpp:2250:25:2250:25 | Arg(0) | 0:r2250_3 | +| ir.cpp:2250:25:2250:25 | ChiPartial | partial:m2250_8 | +| ir.cpp:2250:25:2250:25 | ChiTotal | total:m2249_8 | +| ir.cpp:2250:25:2250:25 | SideEffect | ~m2249_8 | +| ir.cpp:2250:25:2250:25 | Unary | r2250_2 | +| ir.cpp:2251:5:2251:5 | Address | &:r2251_2 | +| ir.cpp:2251:5:2251:5 | Address | &:r2251_2 | +| ir.cpp:2251:5:2251:5 | Arg(this) | this:r2251_2 | +| ir.cpp:2251:5:2251:5 | CallTarget | func:r2251_3 | +| ir.cpp:2251:5:2251:5 | ChiPartial | partial:m2251_5 | +| ir.cpp:2251:5:2251:5 | ChiPartial | partial:m2251_8 | +| ir.cpp:2251:5:2251:5 | ChiTotal | total:m2250_6 | +| ir.cpp:2251:5:2251:5 | ChiTotal | total:m2250_9 | +| ir.cpp:2251:5:2251:5 | SideEffect | m2250_9 | +| ir.cpp:2251:5:2251:5 | SideEffect | ~m2250_6 | +| ir.cpp:2253:10:2253:32 | ChiPartial | partial:m2253_3 | +| ir.cpp:2253:10:2253:32 | ChiTotal | total:m2253_2 | +| ir.cpp:2253:10:2253:32 | SideEffect | ~m2255_6 | +| ir.cpp:2254:13:2254:13 | Address | &:r2254_1 | +| ir.cpp:2255:9:2255:23 | CallTarget | func:r2255_1 | +| ir.cpp:2255:9:2255:23 | ChiPartial | partial:m2255_5 | +| ir.cpp:2255:9:2255:23 | ChiTotal | total:m2253_4 | +| ir.cpp:2255:9:2255:23 | SideEffect | ~m2253_4 | +| ir.cpp:2255:25:2255:25 | Address | &:r2255_3 | +| ir.cpp:2255:25:2255:25 | Address | &:r2255_3 | +| ir.cpp:2255:25:2255:25 | Arg(0) | 0:r2255_3 | +| ir.cpp:2255:25:2255:25 | ChiPartial | partial:m2255_8 | +| ir.cpp:2255:25:2255:25 | ChiTotal | total:m2254_2 | +| ir.cpp:2255:25:2255:25 | SideEffect | ~m2254_2 | +| ir.cpp:2255:25:2255:25 | Unary | r2255_2 | +| ir.cpp:2259:6:2259:24 | ChiPartial | partial:m2259_3 | +| ir.cpp:2259:6:2259:24 | ChiTotal | total:m2259_2 | +| ir.cpp:2259:6:2259:24 | Phi | from 2:~m2259_10 | +| ir.cpp:2259:6:2259:24 | Phi | from 6:~m2268_8 | +| ir.cpp:2259:6:2259:24 | Phi | from 9:~m2261_6 | +| ir.cpp:2259:6:2259:24 | Phi | from 10:~m2275_1 | +| ir.cpp:2259:6:2259:24 | SideEffect | ~m2259_7 | +| ir.cpp:2259:31:2259:31 | Address | &:r2259_5 | +| ir.cpp:2261:12:2261:12 | Address | &:r2261_1 | +| ir.cpp:2261:12:2261:12 | Address | &:r2261_1 | +| ir.cpp:2261:12:2261:12 | Arg(this) | this:r2261_1 | +| ir.cpp:2261:12:2261:12 | CallTarget | func:r2261_3 | +| ir.cpp:2261:12:2261:12 | ChiPartial | partial:m2261_5 | +| ir.cpp:2261:12:2261:12 | ChiPartial | partial:m2261_7 | +| ir.cpp:2261:12:2261:12 | ChiTotal | total:m2259_4 | +| ir.cpp:2261:12:2261:12 | ChiTotal | total:m2261_2 | +| ir.cpp:2261:12:2261:12 | SideEffect | ~m2259_4 | +| ir.cpp:2262:9:2262:9 | Address | &:r2262_1 | +| ir.cpp:2262:9:2262:9 | Condition | r2262_2 | +| ir.cpp:2262:9:2262:9 | Load | m2259_6 | +| ir.cpp:2263:7:2263:28 | Address | &:r2263_1 | +| ir.cpp:2263:7:2263:28 | Address | &:r2263_1 | +| ir.cpp:2263:7:2263:28 | Load | m2263_4 | +| ir.cpp:2263:13:2263:28 | StoreValue | r2263_3 | +| ir.cpp:2263:13:2263:28 | Unary | r2263_2 | +| ir.cpp:2265:12:2265:13 | Address | &:r2265_1 | +| ir.cpp:2265:12:2265:13 | Address | &:r2265_1 | +| ir.cpp:2265:12:2265:13 | Arg(this) | this:r2265_1 | +| ir.cpp:2265:12:2265:13 | CallTarget | func:r2265_3 | +| ir.cpp:2265:12:2265:13 | ChiPartial | partial:m2265_5 | +| ir.cpp:2265:12:2265:13 | ChiPartial | partial:m2265_7 | +| ir.cpp:2265:12:2265:13 | ChiTotal | total:m2261_6 | +| ir.cpp:2265:12:2265:13 | ChiTotal | total:m2265_2 | +| ir.cpp:2265:12:2265:13 | SideEffect | ~m2261_6 | +| ir.cpp:2266:3:2266:3 | Address | &:r2266_1 | +| ir.cpp:2266:3:2266:3 | Address | &:r2266_1 | +| ir.cpp:2266:3:2266:3 | Address | &:r2266_9 | +| ir.cpp:2266:3:2266:3 | Address | &:r2266_9 | +| ir.cpp:2266:3:2266:3 | Arg(this) | this:r2266_1 | +| ir.cpp:2266:3:2266:3 | Arg(this) | this:r2266_9 | +| ir.cpp:2266:3:2266:3 | CallTarget | func:r2266_2 | +| ir.cpp:2266:3:2266:3 | CallTarget | func:r2266_10 | +| ir.cpp:2266:3:2266:3 | ChiPartial | partial:m2266_4 | +| ir.cpp:2266:3:2266:3 | ChiPartial | partial:m2266_7 | +| ir.cpp:2266:3:2266:3 | ChiPartial | partial:m2266_12 | +| ir.cpp:2266:3:2266:3 | ChiPartial | partial:m2266_15 | +| ir.cpp:2266:3:2266:3 | ChiTotal | total:m2261_8 | +| ir.cpp:2266:3:2266:3 | ChiTotal | total:m2265_6 | +| ir.cpp:2266:3:2266:3 | ChiTotal | total:m2265_8 | +| ir.cpp:2266:3:2266:3 | ChiTotal | total:m2266_5 | +| ir.cpp:2266:3:2266:3 | SideEffect | m2261_8 | +| ir.cpp:2266:3:2266:3 | SideEffect | m2265_8 | +| ir.cpp:2266:3:2266:3 | SideEffect | ~m2265_6 | +| ir.cpp:2266:3:2266:3 | SideEffect | ~m2266_5 | +| ir.cpp:2267:22:2267:22 | Address | &:r2267_2 | +| ir.cpp:2267:22:2267:22 | Address | &:r2267_2 | +| ir.cpp:2267:22:2267:22 | Address | &:r2267_4 | +| ir.cpp:2267:22:2267:22 | Load | m2267_3 | +| ir.cpp:2268:5:2268:19 | Address | &:r2268_1 | +| ir.cpp:2268:5:2268:19 | Address | &:r2268_1 | +| ir.cpp:2268:5:2268:19 | Address | &:r2268_1 | +| ir.cpp:2268:5:2268:19 | Arg(this) | this:r2268_1 | +| ir.cpp:2268:5:2268:19 | CallTarget | func:r2268_3 | +| ir.cpp:2268:5:2268:19 | ChiPartial | partial:m2268_7 | +| ir.cpp:2268:5:2268:19 | ChiPartial | partial:m2268_10 | +| ir.cpp:2268:5:2268:19 | ChiTotal | total:m2261_6 | +| ir.cpp:2268:5:2268:19 | ChiTotal | total:m2268_2 | +| ir.cpp:2268:5:2268:19 | Load | m2268_11 | +| ir.cpp:2268:5:2268:19 | SideEffect | ~m2261_6 | +| ir.cpp:2268:18:2268:18 | Address | &:r2268_4 | +| ir.cpp:2268:18:2268:18 | Address | &:r2268_5 | +| ir.cpp:2268:18:2268:18 | Arg(0) | 0:r2268_5 | +| ir.cpp:2268:18:2268:18 | Load | m2267_3 | +| ir.cpp:2268:18:2268:18 | SideEffect | ~m2267_5 | +| ir.cpp:2270:24:2270:24 | Address | &:r2270_2 | +| ir.cpp:2270:24:2270:24 | Address | &:r2270_2 | +| ir.cpp:2270:24:2270:24 | Address | &:r2270_4 | +| ir.cpp:2270:24:2270:24 | Load | m2270_3 | +| ir.cpp:2275:1:2275:1 | Phi | from 4:~m2266_13 | +| ir.cpp:2275:1:2275:1 | Phi | from 8:~m2261_6 | +| ir.cpp:2277:6:2277:18 | ChiPartial | partial:m2277_3 | +| ir.cpp:2277:6:2277:18 | ChiTotal | total:m2277_2 | +| ir.cpp:2277:6:2277:18 | SideEffect | ~m2285_14 | +| ir.cpp:2277:25:2277:25 | Address | &:r2277_5 | +| ir.cpp:2278:12:2278:13 | Address | &:r2278_1 | +| ir.cpp:2278:12:2278:13 | Address | &:r2278_1 | +| ir.cpp:2278:12:2278:13 | Arg(this) | this:r2278_1 | +| ir.cpp:2278:12:2278:13 | CallTarget | func:r2278_3 | +| ir.cpp:2278:12:2278:13 | ChiPartial | partial:m2278_5 | +| ir.cpp:2278:12:2278:13 | ChiPartial | partial:m2278_7 | +| ir.cpp:2278:12:2278:13 | ChiTotal | total:m2277_4 | +| ir.cpp:2278:12:2278:13 | ChiTotal | total:m2278_2 | +| ir.cpp:2278:12:2278:13 | SideEffect | ~m2277_4 | +| ir.cpp:2279:8:2279:8 | Address | &:r2279_1 | +| ir.cpp:2279:8:2279:8 | Condition | r2279_2 | +| ir.cpp:2279:8:2279:8 | Load | m2277_6 | +| ir.cpp:2280:16:2280:17 | Address | &:r2280_1 | +| ir.cpp:2280:16:2280:17 | Address | &:r2280_1 | +| ir.cpp:2280:16:2280:17 | Arg(this) | this:r2280_1 | +| ir.cpp:2280:16:2280:17 | CallTarget | func:r2280_3 | +| ir.cpp:2280:16:2280:17 | ChiPartial | partial:m2280_5 | +| ir.cpp:2280:16:2280:17 | ChiPartial | partial:m2280_7 | +| ir.cpp:2280:16:2280:17 | ChiTotal | total:m2278_6 | +| ir.cpp:2280:16:2280:17 | ChiTotal | total:m2280_2 | +| ir.cpp:2280:16:2280:17 | SideEffect | ~m2278_6 | +| ir.cpp:2281:5:2281:5 | Address | &:r2281_1 | +| ir.cpp:2281:5:2281:5 | Address | &:r2281_1 | +| ir.cpp:2281:5:2281:5 | Arg(this) | this:r2281_1 | +| ir.cpp:2281:5:2281:5 | CallTarget | func:r2281_2 | +| ir.cpp:2281:5:2281:5 | ChiPartial | partial:m2281_4 | +| ir.cpp:2281:5:2281:5 | ChiPartial | partial:m2281_7 | +| ir.cpp:2281:5:2281:5 | ChiTotal | total:m2280_6 | +| ir.cpp:2281:5:2281:5 | ChiTotal | total:m2280_8 | +| ir.cpp:2281:5:2281:5 | SideEffect | m2280_8 | +| ir.cpp:2281:5:2281:5 | SideEffect | ~m2280_6 | +| ir.cpp:2282:16:2282:17 | Address | &:r2282_1 | +| ir.cpp:2282:16:2282:17 | Address | &:r2282_1 | +| ir.cpp:2282:16:2282:17 | Arg(this) | this:r2282_1 | +| ir.cpp:2282:16:2282:17 | CallTarget | func:r2282_3 | +| ir.cpp:2282:16:2282:17 | ChiPartial | partial:m2282_5 | +| ir.cpp:2282:16:2282:17 | ChiPartial | partial:m2282_7 | +| ir.cpp:2282:16:2282:17 | ChiTotal | total:m2278_6 | +| ir.cpp:2282:16:2282:17 | ChiTotal | total:m2282_2 | +| ir.cpp:2282:16:2282:17 | SideEffect | ~m2278_6 | +| ir.cpp:2283:5:2283:5 | Address | &:r2283_1 | +| ir.cpp:2283:5:2283:5 | Address | &:r2283_1 | +| ir.cpp:2283:5:2283:5 | Arg(this) | this:r2283_1 | +| ir.cpp:2283:5:2283:5 | CallTarget | func:r2283_2 | +| ir.cpp:2283:5:2283:5 | ChiPartial | partial:m2283_4 | +| ir.cpp:2283:5:2283:5 | ChiPartial | partial:m2283_7 | +| ir.cpp:2283:5:2283:5 | ChiTotal | total:m2282_6 | +| ir.cpp:2283:5:2283:5 | ChiTotal | total:m2282_8 | +| ir.cpp:2283:5:2283:5 | SideEffect | m2282_8 | +| ir.cpp:2283:5:2283:5 | SideEffect | ~m2282_6 | +| ir.cpp:2284:12:2284:13 | Address | &:r2284_2 | +| ir.cpp:2284:12:2284:13 | Address | &:r2284_2 | +| ir.cpp:2284:12:2284:13 | Arg(this) | this:r2284_2 | +| ir.cpp:2284:12:2284:13 | CallTarget | func:r2284_4 | +| ir.cpp:2284:12:2284:13 | ChiPartial | partial:m2284_6 | +| ir.cpp:2284:12:2284:13 | ChiPartial | partial:m2284_8 | +| ir.cpp:2284:12:2284:13 | ChiTotal | total:m2284_1 | +| ir.cpp:2284:12:2284:13 | ChiTotal | total:m2284_3 | +| ir.cpp:2284:12:2284:13 | Phi | from 1:~m2281_5 | +| ir.cpp:2284:12:2284:13 | Phi | from 2:~m2283_5 | +| ir.cpp:2284:12:2284:13 | SideEffect | ~m2284_1 | +| ir.cpp:2285:1:2285:1 | Address | &:r2285_2 | +| ir.cpp:2285:1:2285:1 | Address | &:r2285_2 | +| ir.cpp:2285:1:2285:1 | Address | &:r2285_10 | +| ir.cpp:2285:1:2285:1 | Address | &:r2285_10 | +| ir.cpp:2285:1:2285:1 | Arg(this) | this:r2285_2 | +| ir.cpp:2285:1:2285:1 | Arg(this) | this:r2285_10 | +| ir.cpp:2285:1:2285:1 | CallTarget | func:r2285_3 | +| ir.cpp:2285:1:2285:1 | CallTarget | func:r2285_11 | +| ir.cpp:2285:1:2285:1 | ChiPartial | partial:m2285_5 | +| ir.cpp:2285:1:2285:1 | ChiPartial | partial:m2285_8 | +| ir.cpp:2285:1:2285:1 | ChiPartial | partial:m2285_13 | +| ir.cpp:2285:1:2285:1 | ChiPartial | partial:m2285_16 | +| ir.cpp:2285:1:2285:1 | ChiTotal | total:m2278_8 | +| ir.cpp:2285:1:2285:1 | ChiTotal | total:m2284_7 | +| ir.cpp:2285:1:2285:1 | ChiTotal | total:m2284_9 | +| ir.cpp:2285:1:2285:1 | ChiTotal | total:m2285_6 | +| ir.cpp:2285:1:2285:1 | SideEffect | m2278_8 | +| ir.cpp:2285:1:2285:1 | SideEffect | m2284_9 | +| ir.cpp:2285:1:2285:1 | SideEffect | ~m2284_7 | +| ir.cpp:2285:1:2285:1 | SideEffect | ~m2285_6 | +| ir.cpp:2287:6:2287:19 | ChiPartial | partial:m2287_3 | +| ir.cpp:2287:6:2287:19 | ChiTotal | total:m2287_2 | +| ir.cpp:2287:6:2287:19 | SideEffect | ~m2297_54 | +| ir.cpp:2288:10:2288:10 | Address | &:r2288_1 | +| ir.cpp:2288:13:2288:16 | StoreValue | r2288_2 | +| ir.cpp:2289:16:2289:16 | Address | &:r2289_1 | +| ir.cpp:2289:16:2289:16 | Address | &:r2289_1 | +| ir.cpp:2289:16:2289:16 | Address | &:r2289_31 | +| ir.cpp:2289:16:2289:16 | Address | &:r2289_31 | +| ir.cpp:2289:16:2289:16 | Arg(this) | this:r2289_1 | +| ir.cpp:2289:16:2289:16 | Arg(this) | this:r2289_31 | +| ir.cpp:2289:16:2289:16 | CallTarget | func:r2289_32 | +| ir.cpp:2289:16:2289:16 | ChiPartial | partial:m2289_34 | +| ir.cpp:2289:16:2289:16 | ChiPartial | partial:m2289_37 | +| ir.cpp:2289:16:2289:16 | ChiTotal | total:m2289_12 | +| ir.cpp:2289:16:2289:16 | ChiTotal | total:m2289_13 | +| ir.cpp:2289:16:2289:16 | SideEffect | m2289_12 | +| ir.cpp:2289:16:2289:16 | SideEffect | ~m2289_13 | +| ir.cpp:2289:18:2289:24 | Address | &:r2289_5 | +| ir.cpp:2289:18:2289:24 | Arg(0) | 0:r2289_5 | +| ir.cpp:2289:18:2289:24 | SideEffect | ~m2287_3 | +| ir.cpp:2289:18:2289:24 | Unary | r2289_4 | +| ir.cpp:2289:18:2289:25 | CallTarget | func:r2289_3 | +| ir.cpp:2289:18:2289:25 | ChiPartial | partial:m2289_7 | +| ir.cpp:2289:18:2289:25 | ChiPartial | partial:m2289_10 | +| ir.cpp:2289:18:2289:25 | ChiTotal | total:m2287_4 | +| ir.cpp:2289:18:2289:25 | ChiTotal | total:m2289_2 | +| ir.cpp:2289:18:2289:25 | SideEffect | ~m2287_4 | +| ir.cpp:2289:28:2289:28 | Address | &:r2289_15 | +| ir.cpp:2289:28:2289:28 | Left | r2289_17 | +| ir.cpp:2289:28:2289:28 | Load | m2289_14 | +| ir.cpp:2289:28:2289:28 | Phi | from 0:m2288_3 | +| ir.cpp:2289:28:2289:28 | Phi | from 0:m2289_11 | +| ir.cpp:2289:28:2289:28 | Phi | from 0:~m2289_8 | +| ir.cpp:2289:28:2289:28 | Phi | from 2:m2289_28 | +| ir.cpp:2289:28:2289:28 | Phi | from 2:m2289_30 | +| ir.cpp:2289:28:2289:28 | Phi | from 2:~m2289_25 | +| ir.cpp:2289:28:2289:28 | Unary | r2289_16 | +| ir.cpp:2289:28:2289:33 | Condition | r2289_19 | +| ir.cpp:2289:33:2289:33 | Right | r2289_18 | +| ir.cpp:2289:36:2289:36 | Address | &:r2289_29 | +| ir.cpp:2289:40:2289:40 | Address | &:r2289_21 | +| ir.cpp:2289:40:2289:40 | Address | &:r2289_21 | +| ir.cpp:2289:40:2289:40 | Arg(this) | this:r2289_21 | +| ir.cpp:2289:40:2289:40 | ChiPartial | partial:m2289_27 | +| ir.cpp:2289:40:2289:40 | ChiTotal | total:m2289_12 | +| ir.cpp:2289:40:2289:40 | SideEffect | m2289_12 | +| ir.cpp:2289:42:2289:49 | CallTarget | func:r2289_22 | +| ir.cpp:2289:42:2289:49 | ChiPartial | partial:m2289_24 | +| ir.cpp:2289:42:2289:49 | ChiTotal | total:m2291_5 | +| ir.cpp:2289:42:2289:49 | SideEffect | ~m2291_5 | +| ir.cpp:2289:42:2289:49 | StoreValue | r2289_23 | +| ir.cpp:2290:16:2290:17 | Address | &:r2290_1 | +| ir.cpp:2290:16:2290:17 | Address | &:r2290_1 | +| ir.cpp:2290:16:2290:17 | Arg(this) | this:r2290_1 | +| ir.cpp:2290:16:2290:17 | CallTarget | func:r2290_3 | +| ir.cpp:2290:16:2290:17 | ChiPartial | partial:m2290_5 | +| ir.cpp:2290:16:2290:17 | ChiPartial | partial:m2290_7 | +| ir.cpp:2290:16:2290:17 | ChiTotal | total:m2289_13 | +| ir.cpp:2290:16:2290:17 | ChiTotal | total:m2290_2 | +| ir.cpp:2290:16:2290:17 | SideEffect | ~m2289_13 | +| ir.cpp:2291:5:2291:5 | Address | &:r2291_1 | +| ir.cpp:2291:5:2291:5 | Address | &:r2291_1 | +| ir.cpp:2291:5:2291:5 | Arg(this) | this:r2291_1 | +| ir.cpp:2291:5:2291:5 | CallTarget | func:r2291_2 | +| ir.cpp:2291:5:2291:5 | ChiPartial | partial:m2291_4 | +| ir.cpp:2291:5:2291:5 | ChiPartial | partial:m2291_7 | +| ir.cpp:2291:5:2291:5 | ChiTotal | total:m2290_6 | +| ir.cpp:2291:5:2291:5 | ChiTotal | total:m2290_8 | +| ir.cpp:2291:5:2291:5 | SideEffect | m2290_8 | +| ir.cpp:2291:5:2291:5 | SideEffect | ~m2290_6 | +| ir.cpp:2293:5:2293:5 | Address | &:r2293_1 | +| ir.cpp:2293:5:2293:5 | Address | &:r2293_24 | +| ir.cpp:2293:5:2293:5 | Address | &:r2293_30 | +| ir.cpp:2293:16:2293:16 | Address | &:r2293_51 | +| ir.cpp:2293:16:2293:16 | Address | &:r2293_51 | +| ir.cpp:2293:16:2293:16 | Address | &:r2293_68 | +| ir.cpp:2293:16:2293:16 | Address | &:r2293_68 | +| ir.cpp:2293:16:2293:16 | Arg(this) | this:r2293_51 | +| ir.cpp:2293:16:2293:16 | Arg(this) | this:r2293_68 | +| ir.cpp:2293:16:2293:16 | CallTarget | func:r2293_53 | +| ir.cpp:2293:16:2293:16 | CallTarget | func:r2293_69 | +| ir.cpp:2293:16:2293:16 | ChiPartial | partial:m2293_63 | +| ir.cpp:2293:16:2293:16 | ChiPartial | partial:m2293_66 | +| ir.cpp:2293:16:2293:16 | ChiPartial | partial:m2293_71 | +| ir.cpp:2293:16:2293:16 | ChiPartial | partial:m2293_74 | +| ir.cpp:2293:16:2293:16 | ChiTotal | total:m2293_52 | +| ir.cpp:2293:16:2293:16 | ChiTotal | total:m2293_58 | +| ir.cpp:2293:16:2293:16 | ChiTotal | total:m2293_67 | +| ir.cpp:2293:16:2293:16 | ChiTotal | total:m2295_5 | +| ir.cpp:2293:16:2293:16 | SideEffect | m2293_67 | +| ir.cpp:2293:16:2293:16 | SideEffect | ~m2293_58 | +| ir.cpp:2293:16:2293:16 | SideEffect | ~m2295_5 | +| ir.cpp:2293:20:2293:20 | Address | &:r2293_25 | +| ir.cpp:2293:20:2293:20 | Address | &:r2293_31 | +| ir.cpp:2293:20:2293:20 | Address | &:r2293_76 | +| ir.cpp:2293:20:2293:20 | Address | &:r2293_76 | +| ir.cpp:2293:20:2293:20 | Arg(this) | this:r0_2 | +| ir.cpp:2293:20:2293:20 | Arg(this) | this:r0_5 | +| ir.cpp:2293:20:2293:20 | Arg(this) | this:r0_7 | +| ir.cpp:2293:20:2293:20 | Arg(this) | this:r0_8 | +| ir.cpp:2293:20:2293:20 | Arg(this) | this:r0_15 | +| ir.cpp:2293:20:2293:20 | Arg(this) | this:r2293_76 | +| ir.cpp:2293:20:2293:20 | CallTarget | func:r2293_27 | +| ir.cpp:2293:20:2293:20 | CallTarget | func:r2293_33 | +| ir.cpp:2293:20:2293:20 | CallTarget | func:r2293_39 | +| ir.cpp:2293:20:2293:20 | CallTarget | func:r2293_40 | +| ir.cpp:2293:20:2293:20 | CallTarget | func:r2293_55 | +| ir.cpp:2293:20:2293:20 | CallTarget | func:r2293_77 | +| ir.cpp:2293:20:2293:20 | ChiPartial | partial:m2293_43 | +| ir.cpp:2293:20:2293:20 | ChiPartial | partial:m2293_45 | +| ir.cpp:2293:20:2293:20 | ChiPartial | partial:m2293_48 | +| ir.cpp:2293:20:2293:20 | ChiPartial | partial:m2293_57 | +| ir.cpp:2293:20:2293:20 | ChiPartial | partial:m2293_79 | +| ir.cpp:2293:20:2293:20 | ChiPartial | partial:m2293_82 | +| ir.cpp:2293:20:2293:20 | ChiTotal | total:m0_9 | +| ir.cpp:2293:20:2293:20 | ChiTotal | total:m2293_36 | +| ir.cpp:2293:20:2293:20 | ChiTotal | total:m2293_37 | +| ir.cpp:2293:20:2293:20 | ChiTotal | total:m2293_44 | +| ir.cpp:2293:20:2293:20 | ChiTotal | total:m2293_49 | +| ir.cpp:2293:20:2293:20 | ChiTotal | total:m2293_72 | +| ir.cpp:2293:20:2293:20 | Condition | r2293_47 | +| ir.cpp:2293:20:2293:20 | Load | m2293_23 | +| ir.cpp:2293:20:2293:20 | Load | m2293_23 | +| ir.cpp:2293:20:2293:20 | Phi | from 3:m2293_29 | +| ir.cpp:2293:20:2293:20 | Phi | from 3:~m2293_19 | +| ir.cpp:2293:20:2293:20 | Phi | from 5:m2293_83 | +| ir.cpp:2293:20:2293:20 | Phi | from 5:~m2293_80 | +| ir.cpp:2293:20:2293:20 | SideEffect | m2293_36 | +| ir.cpp:2293:20:2293:20 | SideEffect | ~m2293_37 | +| ir.cpp:2293:20:2293:20 | SideEffect | ~m2293_44 | +| ir.cpp:2293:20:2293:20 | SideEffect | ~m2293_49 | +| ir.cpp:2293:20:2293:20 | SideEffect | ~m2293_72 | +| ir.cpp:2293:20:2293:20 | StoreValue | r2293_28 | +| ir.cpp:2293:20:2293:20 | StoreValue | r2293_34 | +| ir.cpp:2293:20:2293:20 | Unary | r2293_26 | +| ir.cpp:2293:20:2293:20 | Unary | r2293_32 | +| ir.cpp:2293:20:2293:20 | Unary | r2293_38 | +| ir.cpp:2293:20:2293:20 | Unary | r2293_41 | +| ir.cpp:2293:20:2293:20 | Unary | r2293_54 | +| ir.cpp:2293:20:2293:20 | Unary | r2293_56 | +| ir.cpp:2293:20:2293:20 | Unary | r2293_78 | +| ir.cpp:2293:20:2293:55 | Address | &:r2293_2 | +| ir.cpp:2293:20:2293:55 | Address | &:r2293_2 | +| ir.cpp:2293:20:2293:55 | Arg(this) | this:r2293_2 | +| ir.cpp:2293:20:2293:55 | CallTarget | func:r2293_4 | +| ir.cpp:2293:20:2293:55 | ChiPartial | partial:m2293_18 | +| ir.cpp:2293:20:2293:55 | ChiPartial | partial:m2293_20 | +| ir.cpp:2293:20:2293:55 | ChiTotal | total:m2293_3 | +| ir.cpp:2293:20:2293:55 | ChiTotal | total:m2293_12 | +| ir.cpp:2293:20:2293:55 | SideEffect | ~m2293_12 | +| ir.cpp:2293:20:2293:55 | StoreValue | r2293_22 | +| ir.cpp:2293:20:2293:55 | Unary | r2293_2 | +| ir.cpp:2293:20:2293:56 | Address | &:r2293_61 | +| ir.cpp:2293:20:2293:56 | Arg(0) | 0:r2293_61 | +| ir.cpp:2293:20:2293:56 | SideEffect | ~m2293_64 | +| ir.cpp:2293:20:2293:56 | Unary | r2293_59 | +| ir.cpp:2293:20:2293:56 | Unary | r2293_60 | +| ir.cpp:2293:40:2293:54 | Address | &:r2293_5 | +| ir.cpp:2293:40:2293:54 | Address | &:r2293_5 | +| ir.cpp:2293:40:2293:54 | Address | &:r2293_5 | +| ir.cpp:2293:40:2293:54 | Arg(0) | 0:r2293_16 | +| ir.cpp:2293:40:2293:54 | Arg(this) | this:r2293_5 | +| ir.cpp:2293:40:2293:54 | CallTarget | func:r2293_7 | +| ir.cpp:2293:40:2293:54 | ChiPartial | partial:m2293_11 | +| ir.cpp:2293:40:2293:54 | ChiPartial | partial:m2293_14 | +| ir.cpp:2293:40:2293:54 | ChiTotal | total:m2289_35 | +| ir.cpp:2293:40:2293:54 | ChiTotal | total:m2293_6 | +| ir.cpp:2293:40:2293:54 | Load | m2293_15 | +| ir.cpp:2293:40:2293:54 | SideEffect | ~m2289_35 | +| ir.cpp:2293:47:2293:53 | Address | &:r2293_9 | +| ir.cpp:2293:47:2293:53 | Arg(0) | 0:r2293_9 | +| ir.cpp:2293:47:2293:53 | SideEffect | ~m2287_3 | +| ir.cpp:2293:47:2293:53 | Unary | r2293_8 | +| ir.cpp:2294:16:2294:17 | Address | &:r2294_1 | +| ir.cpp:2294:16:2294:17 | Address | &:r2294_1 | +| ir.cpp:2294:16:2294:17 | Arg(this) | this:r2294_1 | +| ir.cpp:2294:16:2294:17 | CallTarget | func:r2294_3 | +| ir.cpp:2294:16:2294:17 | ChiPartial | partial:m2294_5 | +| ir.cpp:2294:16:2294:17 | ChiPartial | partial:m2294_7 | +| ir.cpp:2294:16:2294:17 | ChiTotal | total:m2293_64 | +| ir.cpp:2294:16:2294:17 | ChiTotal | total:m2294_2 | +| ir.cpp:2294:16:2294:17 | SideEffect | ~m2293_64 | +| ir.cpp:2295:5:2295:5 | Address | &:r2295_1 | +| ir.cpp:2295:5:2295:5 | Address | &:r2295_1 | +| ir.cpp:2295:5:2295:5 | Arg(this) | this:r2295_1 | +| ir.cpp:2295:5:2295:5 | CallTarget | func:r2295_2 | +| ir.cpp:2295:5:2295:5 | ChiPartial | partial:m2295_4 | +| ir.cpp:2295:5:2295:5 | ChiPartial | partial:m2295_7 | +| ir.cpp:2295:5:2295:5 | ChiTotal | total:m2294_6 | +| ir.cpp:2295:5:2295:5 | ChiTotal | total:m2294_8 | +| ir.cpp:2295:5:2295:5 | SideEffect | m2294_8 | +| ir.cpp:2295:5:2295:5 | SideEffect | ~m2294_6 | +| ir.cpp:2297:16:2297:16 | Address | &:r2297_1 | +| ir.cpp:2297:16:2297:16 | Address | &:r2297_1 | +| ir.cpp:2297:16:2297:16 | Address | &:r2297_50 | +| ir.cpp:2297:16:2297:16 | Address | &:r2297_50 | +| ir.cpp:2297:16:2297:16 | Arg(this) | this:r2297_1 | +| ir.cpp:2297:16:2297:16 | Arg(this) | this:r2297_50 | +| ir.cpp:2297:16:2297:16 | CallTarget | func:r2297_51 | +| ir.cpp:2297:16:2297:16 | ChiPartial | partial:m2297_53 | +| ir.cpp:2297:16:2297:16 | ChiPartial | partial:m2297_56 | +| ir.cpp:2297:16:2297:16 | ChiTotal | total:m2297_23 | +| ir.cpp:2297:16:2297:16 | ChiTotal | total:m2297_46 | +| ir.cpp:2297:16:2297:16 | SideEffect | m2297_23 | +| ir.cpp:2297:16:2297:16 | SideEffect | ~m2297_46 | +| ir.cpp:2297:18:2297:24 | Address | &:r2297_5 | +| ir.cpp:2297:18:2297:24 | Arg(0) | 0:r2297_5 | +| ir.cpp:2297:18:2297:24 | SideEffect | ~m2287_3 | +| ir.cpp:2297:18:2297:24 | Unary | r2297_4 | +| ir.cpp:2297:18:2297:25 | CallTarget | func:r2297_3 | +| ir.cpp:2297:18:2297:25 | ChiPartial | partial:m2297_7 | +| ir.cpp:2297:18:2297:25 | ChiPartial | partial:m2297_10 | +| ir.cpp:2297:18:2297:25 | ChiTotal | total:m2293_49 | +| ir.cpp:2297:18:2297:25 | ChiTotal | total:m2297_2 | +| ir.cpp:2297:18:2297:25 | SideEffect | ~m2293_49 | +| ir.cpp:2297:28:2297:29 | Address | &:r2297_12 | +| ir.cpp:2297:28:2297:29 | Address | &:r2297_12 | +| ir.cpp:2297:28:2297:29 | Address | &:r2297_42 | +| ir.cpp:2297:28:2297:29 | Address | &:r2297_42 | +| ir.cpp:2297:28:2297:29 | Arg(this) | this:r2297_12 | +| ir.cpp:2297:28:2297:29 | Arg(this) | this:r2297_42 | +| ir.cpp:2297:28:2297:29 | CallTarget | func:r2297_43 | +| ir.cpp:2297:28:2297:29 | ChiPartial | partial:m2297_45 | +| ir.cpp:2297:28:2297:29 | ChiPartial | partial:m2297_48 | +| ir.cpp:2297:28:2297:29 | ChiTotal | total:m2297_22 | +| ir.cpp:2297:28:2297:29 | ChiTotal | total:m2297_24 | +| ir.cpp:2297:28:2297:29 | SideEffect | m2297_22 | +| ir.cpp:2297:28:2297:29 | SideEffect | ~m2297_24 | +| ir.cpp:2297:31:2297:37 | Address | &:r2297_16 | +| ir.cpp:2297:31:2297:37 | Arg(0) | 0:r2297_16 | +| ir.cpp:2297:31:2297:37 | SideEffect | ~m2287_3 | +| ir.cpp:2297:31:2297:37 | Unary | r2297_15 | +| ir.cpp:2297:31:2297:38 | CallTarget | func:r2297_14 | +| ir.cpp:2297:31:2297:38 | ChiPartial | partial:m2297_18 | +| ir.cpp:2297:31:2297:38 | ChiPartial | partial:m2297_21 | +| ir.cpp:2297:31:2297:38 | ChiTotal | total:m2297_8 | +| ir.cpp:2297:31:2297:38 | ChiTotal | total:m2297_13 | +| ir.cpp:2297:31:2297:38 | SideEffect | ~m2297_8 | +| ir.cpp:2297:41:2297:41 | Address | &:r2297_26 | +| ir.cpp:2297:41:2297:41 | Left | r2297_28 | +| ir.cpp:2297:41:2297:41 | Load | m2297_25 | +| ir.cpp:2297:41:2297:41 | Phi | from 6:m2289_14 | +| ir.cpp:2297:41:2297:41 | Phi | from 6:m2297_11 | +| ir.cpp:2297:41:2297:41 | Phi | from 6:~m2297_19 | +| ir.cpp:2297:41:2297:41 | Phi | from 8:m2297_39 | +| ir.cpp:2297:41:2297:41 | Phi | from 8:m2297_41 | +| ir.cpp:2297:41:2297:41 | Phi | from 8:~m2297_36 | +| ir.cpp:2297:41:2297:41 | Unary | r2297_27 | +| ir.cpp:2297:41:2297:46 | Condition | r2297_30 | +| ir.cpp:2297:46:2297:46 | Right | r2297_29 | +| ir.cpp:2297:49:2297:49 | Address | &:r2297_40 | +| ir.cpp:2297:53:2297:53 | Address | &:r2297_32 | +| ir.cpp:2297:53:2297:53 | Address | &:r2297_32 | +| ir.cpp:2297:53:2297:53 | Arg(this) | this:r2297_32 | +| ir.cpp:2297:53:2297:53 | ChiPartial | partial:m2297_38 | +| ir.cpp:2297:53:2297:53 | ChiTotal | total:m2297_23 | +| ir.cpp:2297:53:2297:53 | SideEffect | m2297_23 | +| ir.cpp:2297:55:2297:62 | CallTarget | func:r2297_33 | +| ir.cpp:2297:55:2297:62 | ChiPartial | partial:m2297_35 | +| ir.cpp:2297:55:2297:62 | ChiTotal | total:m2297_24 | +| ir.cpp:2297:55:2297:62 | SideEffect | ~m2297_24 | +| ir.cpp:2297:55:2297:62 | StoreValue | r2297_34 | +| ir.cpp:2298:9:2298:9 | Address | &:r2298_2 | +| ir.cpp:2298:13:2298:13 | StoreValue | r2298_1 | +| ir.cpp:2302:6:2302:19 | ChiPartial | partial:m2302_3 | +| ir.cpp:2302:6:2302:19 | ChiTotal | total:m2302_2 | +| ir.cpp:2302:6:2302:19 | SideEffect | ~m2307_5 | +| ir.cpp:2302:26:2302:26 | Address | &:r2302_5 | +| ir.cpp:2303:15:2303:15 | Address | &:r2303_1 | +| ir.cpp:2303:15:2303:15 | Address | &:r2303_1 | +| ir.cpp:2303:15:2303:15 | Arg(this) | this:r2303_1 | +| ir.cpp:2303:18:2303:33 | CallTarget | func:r2303_3 | +| ir.cpp:2303:18:2303:33 | ChiPartial | partial:m2303_7 | +| ir.cpp:2303:18:2303:33 | ChiPartial | partial:m2303_10 | +| ir.cpp:2303:18:2303:33 | ChiTotal | total:m2302_4 | +| ir.cpp:2303:18:2303:33 | ChiTotal | total:m2303_2 | +| ir.cpp:2303:18:2303:33 | SideEffect | ~m2302_4 | +| ir.cpp:2303:26:2303:32 | Address | &:r2303_5 | +| ir.cpp:2303:26:2303:32 | Arg(0) | 0:r2303_5 | +| ir.cpp:2303:26:2303:32 | SideEffect | ~m2302_3 | +| ir.cpp:2303:26:2303:32 | Unary | r2303_4 | +| ir.cpp:2303:36:2303:36 | Address | &:r2303_12 | +| ir.cpp:2303:36:2303:36 | Condition | r2303_13 | +| ir.cpp:2303:36:2303:36 | Load | m2302_6 | +| ir.cpp:2304:13:2304:13 | Address | &:r2304_1 | +| ir.cpp:2304:16:2304:17 | StoreValue | r2304_2 | +| ir.cpp:2306:13:2306:13 | Address | &:r2306_1 | +| ir.cpp:2306:16:2306:17 | StoreValue | r2306_2 | +| ir.cpp:2307:5:2307:5 | Address | &:r2307_1 | +| ir.cpp:2307:5:2307:5 | Address | &:r2307_1 | +| ir.cpp:2307:5:2307:5 | Arg(this) | this:r2307_1 | +| ir.cpp:2307:5:2307:5 | CallTarget | func:r2307_2 | +| ir.cpp:2307:5:2307:5 | ChiPartial | partial:m2307_4 | +| ir.cpp:2307:5:2307:5 | ChiPartial | partial:m2307_7 | +| ir.cpp:2307:5:2307:5 | ChiTotal | total:m2303_8 | +| ir.cpp:2307:5:2307:5 | ChiTotal | total:m2303_11 | +| ir.cpp:2307:5:2307:5 | SideEffect | m2303_11 | +| ir.cpp:2307:5:2307:5 | SideEffect | ~m2303_8 | +| ir.cpp:2317:6:2317:19 | ChiPartial | partial:m2317_3 | +| ir.cpp:2317:6:2317:19 | ChiTotal | total:m2317_2 | +| ir.cpp:2317:6:2317:19 | SideEffect | ~m2322_14 | +| ir.cpp:2317:26:2317:26 | Address | &:r2317_5 | +| ir.cpp:2318:8:2318:23 | Address | &:r2318_1 | +| ir.cpp:2318:8:2318:23 | Address | &:r2318_1 | +| ir.cpp:2318:8:2318:23 | Arg(this) | this:r2318_1 | +| ir.cpp:2318:8:2318:23 | Condition | r2318_19 | +| ir.cpp:2318:13:2318:13 | Address | &:r2318_11 | +| ir.cpp:2318:13:2318:13 | Address | &:r2318_11 | +| ir.cpp:2318:13:2318:13 | Arg(this) | this:r2318_11 | +| ir.cpp:2318:13:2318:13 | CallTarget | func:r2318_12 | +| ir.cpp:2318:13:2318:13 | ChiPartial | partial:m2318_14 | +| ir.cpp:2318:13:2318:13 | ChiPartial | partial:m2318_17 | +| ir.cpp:2318:13:2318:13 | ChiTotal | total:m2318_8 | +| ir.cpp:2318:13:2318:13 | ChiTotal | total:m2318_10 | +| ir.cpp:2318:13:2318:13 | SideEffect | m2318_10 | +| ir.cpp:2318:13:2318:13 | SideEffect | ~m2318_8 | +| ir.cpp:2318:13:2318:13 | Unary | r2318_13 | +| ir.cpp:2318:16:2318:23 | CallTarget | func:r2318_3 | +| ir.cpp:2318:16:2318:23 | ChiPartial | partial:m2318_7 | +| ir.cpp:2318:16:2318:23 | ChiPartial | partial:m2318_9 | +| ir.cpp:2318:16:2318:23 | ChiTotal | total:m2317_4 | +| ir.cpp:2318:16:2318:23 | ChiTotal | total:m2318_2 | +| ir.cpp:2318:16:2318:23 | SideEffect | ~m2317_4 | +| ir.cpp:2318:22:2318:22 | Address | &:r2318_4 | +| ir.cpp:2318:22:2318:22 | Arg(0) | 0:r2318_5 | +| ir.cpp:2318:22:2318:22 | Load | m2317_6 | +| ir.cpp:2319:16:2319:17 | Address | &:r2319_1 | +| ir.cpp:2319:16:2319:17 | Address | &:r2319_1 | +| ir.cpp:2319:16:2319:17 | Arg(this) | this:r2319_1 | +| ir.cpp:2319:16:2319:17 | CallTarget | func:r2319_3 | +| ir.cpp:2319:16:2319:17 | ChiPartial | partial:m2319_5 | +| ir.cpp:2319:16:2319:17 | ChiPartial | partial:m2319_7 | +| ir.cpp:2319:16:2319:17 | ChiTotal | total:m2318_15 | +| ir.cpp:2319:16:2319:17 | ChiTotal | total:m2319_2 | +| ir.cpp:2319:16:2319:17 | SideEffect | ~m2318_15 | +| ir.cpp:2320:5:2320:5 | Address | &:r2320_1 | +| ir.cpp:2320:5:2320:5 | Address | &:r2320_1 | +| ir.cpp:2320:5:2320:5 | Arg(this) | this:r2320_1 | +| ir.cpp:2320:5:2320:5 | CallTarget | func:r2320_2 | +| ir.cpp:2320:5:2320:5 | ChiPartial | partial:m2320_4 | +| ir.cpp:2320:5:2320:5 | ChiPartial | partial:m2320_7 | +| ir.cpp:2320:5:2320:5 | ChiTotal | total:m2319_6 | +| ir.cpp:2320:5:2320:5 | ChiTotal | total:m2319_8 | +| ir.cpp:2320:5:2320:5 | SideEffect | m2319_8 | +| ir.cpp:2320:5:2320:5 | SideEffect | ~m2319_6 | +| ir.cpp:2321:16:2321:17 | Address | &:r2321_1 | +| ir.cpp:2321:16:2321:17 | Address | &:r2321_1 | +| ir.cpp:2321:16:2321:17 | Arg(this) | this:r2321_1 | +| ir.cpp:2321:16:2321:17 | CallTarget | func:r2321_3 | +| ir.cpp:2321:16:2321:17 | ChiPartial | partial:m2321_5 | +| ir.cpp:2321:16:2321:17 | ChiPartial | partial:m2321_7 | +| ir.cpp:2321:16:2321:17 | ChiTotal | total:m2318_15 | +| ir.cpp:2321:16:2321:17 | ChiTotal | total:m2321_2 | +| ir.cpp:2321:16:2321:17 | SideEffect | ~m2318_15 | +| ir.cpp:2322:5:2322:5 | Address | &:r2322_1 | +| ir.cpp:2322:5:2322:5 | Address | &:r2322_1 | +| ir.cpp:2322:5:2322:5 | Address | &:r2322_10 | +| ir.cpp:2322:5:2322:5 | Address | &:r2322_10 | +| ir.cpp:2322:5:2322:5 | Arg(this) | this:r2322_1 | +| ir.cpp:2322:5:2322:5 | Arg(this) | this:r2322_10 | +| ir.cpp:2322:5:2322:5 | CallTarget | func:r2322_2 | +| ir.cpp:2322:5:2322:5 | CallTarget | func:r2322_11 | +| ir.cpp:2322:5:2322:5 | ChiPartial | partial:m2322_4 | +| ir.cpp:2322:5:2322:5 | ChiPartial | partial:m2322_7 | +| ir.cpp:2322:5:2322:5 | ChiPartial | partial:m2322_13 | +| ir.cpp:2322:5:2322:5 | ChiPartial | partial:m2322_16 | +| ir.cpp:2322:5:2322:5 | ChiTotal | total:m2318_18 | +| ir.cpp:2322:5:2322:5 | ChiTotal | total:m2321_6 | +| ir.cpp:2322:5:2322:5 | ChiTotal | total:m2321_8 | +| ir.cpp:2322:5:2322:5 | ChiTotal | total:m2322_9 | +| ir.cpp:2322:5:2322:5 | Phi | from 1:~m2320_5 | +| ir.cpp:2322:5:2322:5 | Phi | from 2:~m2322_5 | +| ir.cpp:2322:5:2322:5 | SideEffect | m2318_18 | +| ir.cpp:2322:5:2322:5 | SideEffect | m2321_8 | +| ir.cpp:2322:5:2322:5 | SideEffect | ~m2321_6 | +| ir.cpp:2322:5:2322:5 | SideEffect | ~m2322_9 | +| ir.cpp:2325:6:2325:25 | ChiPartial | partial:m2325_3 | +| ir.cpp:2325:6:2325:25 | ChiTotal | total:m2325_2 | +| ir.cpp:2325:6:2325:25 | SideEffect | ~m2336_13 | +| ir.cpp:2325:32:2325:32 | Address | &:r2325_5 | +| ir.cpp:2327:16:2327:16 | Address | &:r2327_1 | +| ir.cpp:2327:16:2327:16 | Address | &:r2327_1 | +| ir.cpp:2327:16:2327:16 | Arg(this) | this:r2327_1 | +| ir.cpp:2327:16:2327:16 | CallTarget | func:r2327_3 | +| ir.cpp:2327:16:2327:16 | ChiPartial | partial:m2327_5 | +| ir.cpp:2327:16:2327:16 | ChiPartial | partial:m2327_7 | +| ir.cpp:2327:16:2327:16 | ChiTotal | total:m2325_4 | +| ir.cpp:2327:16:2327:16 | ChiTotal | total:m2327_2 | +| ir.cpp:2327:16:2327:16 | SideEffect | ~m2325_4 | +| ir.cpp:2328:15:2328:15 | Address | &:r2328_2 | +| ir.cpp:2328:15:2328:15 | Condition | r2328_3 | +| ir.cpp:2328:15:2328:15 | Load | m2328_1 | +| ir.cpp:2328:15:2328:15 | Phi | from 0:m2325_6 | +| ir.cpp:2328:15:2328:15 | Phi | from 2:m2329_3 | +| ir.cpp:2329:13:2329:13 | Address | &:r2329_2 | +| ir.cpp:2329:17:2329:21 | StoreValue | r2329_1 | +| ir.cpp:2331:5:2331:5 | Address | &:r2331_1 | +| ir.cpp:2331:5:2331:5 | Address | &:r2331_1 | +| ir.cpp:2331:5:2331:5 | Arg(this) | this:r2331_1 | +| ir.cpp:2331:5:2331:5 | CallTarget | func:r2331_2 | +| ir.cpp:2331:5:2331:5 | ChiPartial | partial:m2331_4 | +| ir.cpp:2331:5:2331:5 | ChiPartial | partial:m2331_7 | +| ir.cpp:2331:5:2331:5 | ChiTotal | total:m2327_6 | +| ir.cpp:2331:5:2331:5 | ChiTotal | total:m2327_8 | +| ir.cpp:2331:5:2331:5 | SideEffect | m2327_8 | +| ir.cpp:2331:5:2331:5 | SideEffect | ~m2327_6 | +| ir.cpp:2334:16:2334:31 | Address | &:r2334_3 | +| ir.cpp:2334:16:2334:31 | Address | &:r2334_3 | +| ir.cpp:2334:16:2334:31 | Arg(this) | this:r2334_3 | +| ir.cpp:2334:16:2334:31 | Condition | r2334_21 | +| ir.cpp:2334:16:2334:31 | Phi | from 3:m2328_1 | +| ir.cpp:2334:16:2334:31 | Phi | from 3:~m2331_5 | +| ir.cpp:2334:16:2334:31 | Phi | from 5:m2335_3 | +| ir.cpp:2334:16:2334:31 | Phi | from 5:~m2336_5 | +| ir.cpp:2334:21:2334:21 | Address | &:r2334_13 | +| ir.cpp:2334:21:2334:21 | Address | &:r2334_13 | +| ir.cpp:2334:21:2334:21 | Arg(this) | this:r2334_13 | +| ir.cpp:2334:21:2334:21 | CallTarget | func:r2334_14 | +| ir.cpp:2334:21:2334:21 | ChiPartial | partial:m2334_16 | +| ir.cpp:2334:21:2334:21 | ChiPartial | partial:m2334_19 | +| ir.cpp:2334:21:2334:21 | ChiTotal | total:m2334_10 | +| ir.cpp:2334:21:2334:21 | ChiTotal | total:m2334_12 | +| ir.cpp:2334:21:2334:21 | SideEffect | m2334_12 | +| ir.cpp:2334:21:2334:21 | SideEffect | ~m2334_10 | +| ir.cpp:2334:21:2334:21 | Unary | r2334_15 | +| ir.cpp:2334:24:2334:31 | CallTarget | func:r2334_5 | +| ir.cpp:2334:24:2334:31 | ChiPartial | partial:m2334_9 | +| ir.cpp:2334:24:2334:31 | ChiPartial | partial:m2334_11 | +| ir.cpp:2334:24:2334:31 | ChiTotal | total:m2334_1 | +| ir.cpp:2334:24:2334:31 | ChiTotal | total:m2334_4 | +| ir.cpp:2334:24:2334:31 | SideEffect | ~m2334_1 | +| ir.cpp:2334:30:2334:30 | Address | &:r2334_6 | +| ir.cpp:2334:30:2334:30 | Arg(0) | 0:r2334_7 | +| ir.cpp:2334:30:2334:30 | Load | m2334_2 | +| ir.cpp:2335:13:2335:13 | Address | &:r2335_2 | +| ir.cpp:2335:17:2335:21 | StoreValue | r2335_1 | +| ir.cpp:2336:9:2336:9 | Address | &:r2336_1 | +| ir.cpp:2336:9:2336:9 | Address | &:r2336_1 | +| ir.cpp:2336:9:2336:9 | Address | &:r2336_9 | +| ir.cpp:2336:9:2336:9 | Address | &:r2336_9 | +| ir.cpp:2336:9:2336:9 | Arg(this) | this:r2336_1 | +| ir.cpp:2336:9:2336:9 | Arg(this) | this:r2336_9 | +| ir.cpp:2336:9:2336:9 | CallTarget | func:r2336_2 | +| ir.cpp:2336:9:2336:9 | CallTarget | func:r2336_10 | +| ir.cpp:2336:9:2336:9 | ChiPartial | partial:m2336_4 | +| ir.cpp:2336:9:2336:9 | ChiPartial | partial:m2336_7 | +| ir.cpp:2336:9:2336:9 | ChiPartial | partial:m2336_12 | +| ir.cpp:2336:9:2336:9 | ChiPartial | partial:m2336_15 | +| ir.cpp:2336:9:2336:9 | ChiTotal | total:m2334_17 | +| ir.cpp:2336:9:2336:9 | ChiTotal | total:m2334_17 | +| ir.cpp:2336:9:2336:9 | ChiTotal | total:m2334_20 | +| ir.cpp:2336:9:2336:9 | ChiTotal | total:m2334_20 | +| ir.cpp:2336:9:2336:9 | SideEffect | m2334_20 | +| ir.cpp:2336:9:2336:9 | SideEffect | m2334_20 | +| ir.cpp:2336:9:2336:9 | SideEffect | ~m2334_17 | +| ir.cpp:2336:9:2336:9 | SideEffect | ~m2334_17 | +| ir.cpp:2340:6:2340:13 | ChiPartial | partial:m2340_3 | +| ir.cpp:2340:6:2340:13 | ChiTotal | total:m2340_2 | +| ir.cpp:2340:6:2340:13 | SideEffect | m2340_3 | +| ir.cpp:2342:6:2342:24 | ChiPartial | partial:m2342_3 | +| ir.cpp:2342:6:2342:24 | ChiTotal | total:m2342_2 | +| ir.cpp:2342:6:2342:24 | Phi | from 2:~m2351_5 | +| ir.cpp:2342:6:2342:24 | Phi | from 4:~m2351_13 | +| ir.cpp:2342:6:2342:24 | Phi | from 5:~m2351_22 | +| ir.cpp:2342:6:2342:24 | SideEffect | ~m2342_7 | +| ir.cpp:2342:31:2342:31 | Address | &:r2342_5 | +| ir.cpp:2343:12:2343:12 | Address | &:r2343_1 | +| ir.cpp:2343:12:2343:12 | Address | &:r2343_1 | +| ir.cpp:2343:12:2343:12 | Arg(this) | this:r2343_1 | +| ir.cpp:2343:12:2343:12 | CallTarget | func:r2343_3 | +| ir.cpp:2343:12:2343:12 | ChiPartial | partial:m2343_5 | +| ir.cpp:2343:12:2343:12 | ChiPartial | partial:m2343_7 | +| ir.cpp:2343:12:2343:12 | ChiTotal | total:m2342_4 | +| ir.cpp:2343:12:2343:12 | ChiTotal | total:m2343_2 | +| ir.cpp:2343:12:2343:12 | SideEffect | ~m2342_4 | +| ir.cpp:2344:8:2344:8 | Address | &:r2344_1 | +| ir.cpp:2344:8:2344:8 | Condition | r2344_2 | +| ir.cpp:2344:8:2344:8 | Load | m2342_6 | +| ir.cpp:2347:8:2347:8 | Address | &:r2347_1 | +| ir.cpp:2347:8:2347:8 | Condition | r2347_2 | +| ir.cpp:2347:8:2347:8 | Load | m2342_6 | +| ir.cpp:2348:16:2348:23 | CallTarget | func:r2348_1 | +| ir.cpp:2348:16:2348:23 | ChiPartial | partial:m2348_3 | +| ir.cpp:2348:16:2348:23 | ChiTotal | total:m2343_6 | +| ir.cpp:2348:16:2348:23 | SideEffect | ~m2343_6 | +| ir.cpp:2351:1:2351:1 | Address | &:r2351_1 | +| ir.cpp:2351:1:2351:1 | Address | &:r2351_1 | +| ir.cpp:2351:1:2351:1 | Address | &:r2351_9 | +| ir.cpp:2351:1:2351:1 | Address | &:r2351_9 | +| ir.cpp:2351:1:2351:1 | Address | &:r2351_18 | +| ir.cpp:2351:1:2351:1 | Address | &:r2351_18 | +| ir.cpp:2351:1:2351:1 | Arg(this) | this:r2351_1 | +| ir.cpp:2351:1:2351:1 | Arg(this) | this:r2351_9 | +| ir.cpp:2351:1:2351:1 | Arg(this) | this:r2351_18 | +| ir.cpp:2351:1:2351:1 | CallTarget | func:r2351_2 | +| ir.cpp:2351:1:2351:1 | CallTarget | func:r2351_10 | +| ir.cpp:2351:1:2351:1 | CallTarget | func:r2351_19 | +| ir.cpp:2351:1:2351:1 | ChiPartial | partial:m2351_4 | +| ir.cpp:2351:1:2351:1 | ChiPartial | partial:m2351_7 | +| ir.cpp:2351:1:2351:1 | ChiPartial | partial:m2351_12 | +| ir.cpp:2351:1:2351:1 | ChiPartial | partial:m2351_15 | +| ir.cpp:2351:1:2351:1 | ChiPartial | partial:m2351_21 | +| ir.cpp:2351:1:2351:1 | ChiPartial | partial:m2351_24 | +| ir.cpp:2351:1:2351:1 | ChiTotal | total:m2343_6 | +| ir.cpp:2351:1:2351:1 | ChiTotal | total:m2343_6 | +| ir.cpp:2351:1:2351:1 | ChiTotal | total:m2343_8 | +| ir.cpp:2351:1:2351:1 | ChiTotal | total:m2343_8 | +| ir.cpp:2351:1:2351:1 | ChiTotal | total:m2343_8 | +| ir.cpp:2351:1:2351:1 | ChiTotal | total:m2348_4 | +| ir.cpp:2351:1:2351:1 | SideEffect | m2343_8 | +| ir.cpp:2351:1:2351:1 | SideEffect | m2343_8 | +| ir.cpp:2351:1:2351:1 | SideEffect | m2343_8 | +| ir.cpp:2351:1:2351:1 | SideEffect | ~m2343_6 | +| ir.cpp:2351:1:2351:1 | SideEffect | ~m2343_6 | +| ir.cpp:2351:1:2351:1 | SideEffect | ~m2348_4 | +| ir.cpp:2353:5:2353:24 | Address | &:r2353_9 | +| ir.cpp:2353:5:2353:24 | ChiPartial | partial:m2353_3 | +| ir.cpp:2353:5:2353:24 | ChiTotal | total:m2353_2 | +| ir.cpp:2353:5:2353:24 | Load | m2353_8 | +| ir.cpp:2353:5:2353:24 | Phi | from 2:m2356_3 | +| ir.cpp:2353:5:2353:24 | Phi | from 2:~m2359_5 | +| ir.cpp:2353:5:2353:24 | Phi | from 3:m2358_3 | +| ir.cpp:2353:5:2353:24 | Phi | from 3:~m2359_13 | +| ir.cpp:2353:5:2353:24 | SideEffect | ~m2353_7 | +| ir.cpp:2353:31:2353:31 | Address | &:r2353_5 | +| ir.cpp:2354:12:2354:12 | Address | &:r2354_1 | +| ir.cpp:2354:12:2354:12 | Address | &:r2354_1 | +| ir.cpp:2354:12:2354:12 | Arg(this) | this:r2354_1 | +| ir.cpp:2354:12:2354:12 | CallTarget | func:r2354_3 | +| ir.cpp:2354:12:2354:12 | ChiPartial | partial:m2354_5 | +| ir.cpp:2354:12:2354:12 | ChiPartial | partial:m2354_7 | +| ir.cpp:2354:12:2354:12 | ChiTotal | total:m2353_4 | +| ir.cpp:2354:12:2354:12 | ChiTotal | total:m2354_2 | +| ir.cpp:2354:12:2354:12 | SideEffect | ~m2353_4 | +| ir.cpp:2355:8:2355:8 | Address | &:r2355_1 | +| ir.cpp:2355:8:2355:8 | Condition | r2355_2 | +| ir.cpp:2355:8:2355:8 | Load | m2353_6 | +| ir.cpp:2356:9:2356:17 | Address | &:r2356_1 | +| ir.cpp:2356:16:2356:16 | StoreValue | r2356_2 | +| ir.cpp:2358:5:2358:13 | Address | &:r2358_1 | +| ir.cpp:2358:12:2358:12 | StoreValue | r2358_2 | +| ir.cpp:2359:1:2359:1 | Address | &:r2359_1 | +| ir.cpp:2359:1:2359:1 | Address | &:r2359_1 | +| ir.cpp:2359:1:2359:1 | Address | &:r2359_9 | +| ir.cpp:2359:1:2359:1 | Address | &:r2359_9 | +| ir.cpp:2359:1:2359:1 | Arg(this) | this:r2359_1 | +| ir.cpp:2359:1:2359:1 | Arg(this) | this:r2359_9 | +| ir.cpp:2359:1:2359:1 | CallTarget | func:r2359_2 | +| ir.cpp:2359:1:2359:1 | CallTarget | func:r2359_10 | +| ir.cpp:2359:1:2359:1 | ChiPartial | partial:m2359_4 | +| ir.cpp:2359:1:2359:1 | ChiPartial | partial:m2359_7 | +| ir.cpp:2359:1:2359:1 | ChiPartial | partial:m2359_12 | +| ir.cpp:2359:1:2359:1 | ChiPartial | partial:m2359_15 | +| ir.cpp:2359:1:2359:1 | ChiTotal | total:m2354_6 | +| ir.cpp:2359:1:2359:1 | ChiTotal | total:m2354_6 | +| ir.cpp:2359:1:2359:1 | ChiTotal | total:m2354_8 | +| ir.cpp:2359:1:2359:1 | ChiTotal | total:m2354_8 | +| ir.cpp:2359:1:2359:1 | SideEffect | m2354_8 | +| ir.cpp:2359:1:2359:1 | SideEffect | m2354_8 | +| ir.cpp:2359:1:2359:1 | SideEffect | ~m2354_6 | +| ir.cpp:2359:1:2359:1 | SideEffect | ~m2354_6 | +| ir.cpp:2361:6:2361:26 | ChiPartial | partial:m2361_3 | +| ir.cpp:2361:6:2361:26 | ChiTotal | total:m2361_2 | +| ir.cpp:2361:6:2361:26 | SideEffect | ~m2364_5 | +| ir.cpp:2362:12:2362:12 | Address | &:r2362_1 | +| ir.cpp:2362:12:2362:12 | Address | &:r2362_1 | +| ir.cpp:2362:12:2362:12 | Arg(this) | this:r2362_1 | +| ir.cpp:2362:12:2362:12 | CallTarget | func:r2362_3 | +| ir.cpp:2362:12:2362:12 | ChiPartial | partial:m2362_5 | +| ir.cpp:2362:12:2362:12 | ChiPartial | partial:m2362_7 | +| ir.cpp:2362:12:2362:12 | ChiTotal | total:m2361_4 | +| ir.cpp:2362:12:2362:12 | ChiTotal | total:m2362_2 | +| ir.cpp:2362:12:2362:12 | SideEffect | ~m2361_4 | +| ir.cpp:2363:12:2363:19 | CallTarget | func:r2363_1 | +| ir.cpp:2363:12:2363:19 | ChiPartial | partial:m2363_3 | +| ir.cpp:2363:12:2363:19 | ChiTotal | total:m2362_6 | +| ir.cpp:2363:12:2363:19 | SideEffect | ~m2362_6 | +| ir.cpp:2364:1:2364:1 | Address | &:r2364_1 | +| ir.cpp:2364:1:2364:1 | Address | &:r2364_1 | +| ir.cpp:2364:1:2364:1 | Arg(this) | this:r2364_1 | +| ir.cpp:2364:1:2364:1 | CallTarget | func:r2364_2 | +| ir.cpp:2364:1:2364:1 | ChiPartial | partial:m2364_4 | +| ir.cpp:2364:1:2364:1 | ChiPartial | partial:m2364_7 | +| ir.cpp:2364:1:2364:1 | ChiTotal | total:m2362_8 | +| ir.cpp:2364:1:2364:1 | ChiTotal | total:m2363_4 | +| ir.cpp:2364:1:2364:1 | SideEffect | m2362_8 | +| ir.cpp:2364:1:2364:1 | SideEffect | ~m2363_4 | +| ir.cpp:2374:32:2374:47 | Address | &:r2374_5 | +| ir.cpp:2374:32:2374:47 | ChiPartial | partial:m2374_3 | +| ir.cpp:2374:32:2374:47 | ChiTotal | total:m2374_2 | +| ir.cpp:2374:32:2374:47 | Load | m2376_3 | +| ir.cpp:2374:32:2374:47 | SideEffect | m2374_3 | +| ir.cpp:2376:9:2376:44 | Address | &:r2376_1 | +| ir.cpp:2376:16:2376:43 | StoreValue | r2376_2 | +| ir.cpp:2381:5:2381:49 | Address | &:r2381_5 | +| ir.cpp:2381:5:2381:49 | ChiPartial | partial:m2381_3 | +| ir.cpp:2381:5:2381:49 | ChiTotal | total:m2381_2 | +| ir.cpp:2381:5:2381:49 | Load | m2382_5 | +| ir.cpp:2381:5:2381:49 | SideEffect | m2381_3 | +| ir.cpp:2382:5:2382:17 | Address | &:r2382_1 | +| ir.cpp:2382:12:2382:12 | Left | r2382_2 | +| ir.cpp:2382:12:2382:16 | StoreValue | r2382_4 | +| ir.cpp:2382:16:2382:16 | Right | r2382_3 | +| ir.cpp:2392:5:2392:45 | Address | &:r2392_5 | +| ir.cpp:2392:5:2392:45 | ChiPartial | partial:m2392_3 | +| ir.cpp:2392:5:2392:45 | ChiTotal | total:m2392_2 | +| ir.cpp:2392:5:2392:45 | Load | m2393_3 | +| ir.cpp:2392:5:2392:45 | SideEffect | m2392_3 | +| ir.cpp:2393:5:2393:22 | Address | &:r2393_1 | +| ir.cpp:2393:12:2393:21 | StoreValue | r2393_2 | +| ir.cpp:2396:6:2396:40 | ChiPartial | partial:m2396_3 | +| ir.cpp:2396:6:2396:40 | ChiTotal | total:m2396_2 | +| ir.cpp:2396:6:2396:40 | SideEffect | ~m2416_56 | +| ir.cpp:2397:9:2397:46 | Address | &:r2397_1 | +| ir.cpp:2397:9:2397:46 | Condition | r2397_22 | +| ir.cpp:2397:14:2397:14 | Address | &:r2397_18 | +| ir.cpp:2397:14:2397:14 | Left | r2397_19 | +| ir.cpp:2397:14:2397:14 | Load | m2397_17 | +| ir.cpp:2397:14:2397:14 | Right | r2397_20 | +| ir.cpp:2397:14:2397:14 | Unary | r2397_21 | +| ir.cpp:2397:18:2397:38 | Address | &:r2397_2 | +| ir.cpp:2397:18:2397:38 | Address | &:r2397_2 | +| ir.cpp:2397:18:2397:38 | Address | &:r2397_2 | +| ir.cpp:2397:18:2397:38 | Address | &:r2397_2 | +| ir.cpp:2397:18:2397:38 | Arg(this) | this:r2397_2 | +| ir.cpp:2397:18:2397:38 | Arg(this) | this:r2397_2 | +| ir.cpp:2397:18:2397:38 | CallTarget | func:r2397_4 | +| ir.cpp:2397:18:2397:38 | ChiPartial | partial:m2397_6 | +| ir.cpp:2397:18:2397:38 | ChiPartial | partial:m2397_8 | +| ir.cpp:2397:18:2397:38 | ChiPartial | partial:m2397_15 | +| ir.cpp:2397:18:2397:38 | ChiTotal | total:m2396_4 | +| ir.cpp:2397:18:2397:38 | ChiTotal | total:m2397_3 | +| ir.cpp:2397:18:2397:38 | ChiTotal | total:m2397_9 | +| ir.cpp:2397:18:2397:38 | SideEffect | m2397_9 | +| ir.cpp:2397:18:2397:38 | SideEffect | ~m2396_4 | +| ir.cpp:2397:40:2397:44 | CallTarget | func:r2397_10 | +| ir.cpp:2397:40:2397:44 | ChiPartial | partial:m2397_12 | +| ir.cpp:2397:40:2397:44 | ChiTotal | total:m2397_7 | +| ir.cpp:2397:40:2397:44 | SideEffect | ~m2397_7 | +| ir.cpp:2397:40:2397:44 | StoreValue | r2397_11 | +| ir.cpp:2398:9:2398:9 | Address | &:r2398_1 | +| ir.cpp:2398:9:2398:9 | Address | &:r2398_1 | +| ir.cpp:2398:9:2398:9 | Left | r2398_2 | +| ir.cpp:2398:9:2398:9 | Load | m2397_17 | +| ir.cpp:2398:9:2398:11 | Right | r2398_3 | +| ir.cpp:2398:9:2398:11 | StoreValue | r2398_4 | +| ir.cpp:2400:14:2400:14 | Address | &:r2400_1 | +| ir.cpp:2400:18:2400:38 | Address | &:r2400_2 | +| ir.cpp:2400:18:2400:38 | Address | &:r2400_2 | +| ir.cpp:2400:18:2400:38 | Address | &:r2400_2 | +| ir.cpp:2400:18:2400:38 | Address | &:r2400_2 | +| ir.cpp:2400:18:2400:38 | Arg(this) | this:r2400_2 | +| ir.cpp:2400:18:2400:38 | Arg(this) | this:r2400_2 | +| ir.cpp:2400:18:2400:38 | CallTarget | func:r2400_4 | +| ir.cpp:2400:18:2400:38 | ChiPartial | partial:m2400_6 | +| ir.cpp:2400:18:2400:38 | ChiPartial | partial:m2400_8 | +| ir.cpp:2400:18:2400:38 | ChiPartial | partial:m2400_15 | +| ir.cpp:2400:18:2400:38 | ChiTotal | total:m2397_13 | +| ir.cpp:2400:18:2400:38 | ChiTotal | total:m2400_3 | +| ir.cpp:2400:18:2400:38 | ChiTotal | total:m2400_9 | +| ir.cpp:2400:18:2400:38 | SideEffect | m2400_9 | +| ir.cpp:2400:18:2400:38 | SideEffect | ~m2397_13 | +| ir.cpp:2400:40:2400:44 | CallTarget | func:r2400_10 | +| ir.cpp:2400:40:2400:44 | ChiPartial | partial:m2400_12 | +| ir.cpp:2400:40:2400:44 | ChiTotal | total:m2400_7 | +| ir.cpp:2400:40:2400:44 | SideEffect | ~m2400_7 | +| ir.cpp:2400:40:2400:44 | StoreValue | r2400_11 | +| ir.cpp:2400:49:2400:49 | Address | &:r2400_18 | +| ir.cpp:2400:49:2400:49 | Condition | r2400_21 | +| ir.cpp:2400:49:2400:49 | Left | r2400_19 | +| ir.cpp:2400:49:2400:49 | Load | m2400_17 | +| ir.cpp:2400:49:2400:49 | Right | r2400_20 | +| ir.cpp:2401:9:2401:9 | Address | &:r2401_1 | +| ir.cpp:2401:9:2401:9 | Address | &:r2401_1 | +| ir.cpp:2401:9:2401:9 | Left | r2401_2 | +| ir.cpp:2401:9:2401:9 | Load | m2400_17 | +| ir.cpp:2401:9:2401:11 | Right | r2401_3 | +| ir.cpp:2401:9:2401:11 | StoreValue | r2401_4 | +| ir.cpp:2403:24:2403:24 | Address | &:r2403_1 | +| ir.cpp:2403:28:2403:48 | Address | &:r2403_2 | +| ir.cpp:2403:28:2403:48 | Address | &:r2403_2 | +| ir.cpp:2403:28:2403:48 | Address | &:r2403_2 | +| ir.cpp:2403:28:2403:48 | Address | &:r2403_2 | +| ir.cpp:2403:28:2403:48 | Arg(this) | this:r2403_2 | +| ir.cpp:2403:28:2403:48 | Arg(this) | this:r2403_2 | +| ir.cpp:2403:28:2403:48 | CallTarget | func:r2403_4 | +| ir.cpp:2403:28:2403:48 | ChiPartial | partial:m2403_6 | +| ir.cpp:2403:28:2403:48 | ChiPartial | partial:m2403_8 | +| ir.cpp:2403:28:2403:48 | ChiPartial | partial:m2403_15 | +| ir.cpp:2403:28:2403:48 | ChiTotal | total:m2400_13 | +| ir.cpp:2403:28:2403:48 | ChiTotal | total:m2403_3 | +| ir.cpp:2403:28:2403:48 | ChiTotal | total:m2403_9 | +| ir.cpp:2403:28:2403:48 | SideEffect | m2403_9 | +| ir.cpp:2403:28:2403:48 | SideEffect | ~m2400_13 | +| ir.cpp:2403:50:2403:54 | CallTarget | func:r2403_10 | +| ir.cpp:2403:50:2403:54 | ChiPartial | partial:m2403_12 | +| ir.cpp:2403:50:2403:54 | ChiTotal | total:m2403_7 | +| ir.cpp:2403:50:2403:54 | SideEffect | ~m2403_7 | +| ir.cpp:2403:50:2403:54 | StoreValue | r2403_11 | +| ir.cpp:2403:59:2403:93 | Condition | r2403_18 | +| ir.cpp:2404:9:2404:9 | Address | &:r2404_1 | +| ir.cpp:2404:9:2404:9 | Address | &:r2404_1 | +| ir.cpp:2404:9:2404:9 | Left | r2404_2 | +| ir.cpp:2404:9:2404:9 | Load | m2403_17 | +| ir.cpp:2404:9:2404:11 | Right | r2404_3 | +| ir.cpp:2404:9:2404:11 | StoreValue | r2404_4 | +| ir.cpp:2406:12:2406:49 | Address | &:r2406_1 | +| ir.cpp:2406:12:2406:49 | Condition | r2406_21 | +| ir.cpp:2406:17:2406:17 | Address | &:r2406_18 | +| ir.cpp:2406:17:2406:17 | Load | m2406_17 | +| ir.cpp:2406:17:2406:17 | Unary | r2406_19 | +| ir.cpp:2406:17:2406:17 | Unary | r2406_20 | +| ir.cpp:2406:21:2406:41 | Address | &:r2406_2 | +| ir.cpp:2406:21:2406:41 | Address | &:r2406_2 | +| ir.cpp:2406:21:2406:41 | Address | &:r2406_2 | +| ir.cpp:2406:21:2406:41 | Address | &:r2406_2 | +| ir.cpp:2406:21:2406:41 | Arg(this) | this:r2406_2 | +| ir.cpp:2406:21:2406:41 | Arg(this) | this:r2406_2 | +| ir.cpp:2406:21:2406:41 | CallTarget | func:r2406_4 | +| ir.cpp:2406:21:2406:41 | ChiPartial | partial:m2406_6 | +| ir.cpp:2406:21:2406:41 | ChiPartial | partial:m2406_8 | +| ir.cpp:2406:21:2406:41 | ChiPartial | partial:m2406_15 | +| ir.cpp:2406:21:2406:41 | ChiTotal | total:m2403_13 | +| ir.cpp:2406:21:2406:41 | ChiTotal | total:m2406_3 | +| ir.cpp:2406:21:2406:41 | ChiTotal | total:m2406_9 | +| ir.cpp:2406:21:2406:41 | SideEffect | m2406_9 | +| ir.cpp:2406:21:2406:41 | SideEffect | ~m2403_13 | +| ir.cpp:2406:43:2406:47 | CallTarget | func:r2406_10 | +| ir.cpp:2406:43:2406:47 | ChiPartial | partial:m2406_12 | +| ir.cpp:2406:43:2406:47 | ChiTotal | total:m2406_7 | +| ir.cpp:2406:43:2406:47 | SideEffect | ~m2406_7 | +| ir.cpp:2406:43:2406:47 | StoreValue | r2406_11 | +| ir.cpp:2408:11:2408:11 | Address | &:r2408_1 | +| ir.cpp:2408:11:2408:11 | Address | &:r2408_1 | +| ir.cpp:2408:11:2408:11 | Left | r2408_2 | +| ir.cpp:2408:11:2408:11 | Load | m2406_17 | +| ir.cpp:2408:11:2408:13 | Right | r2408_3 | +| ir.cpp:2408:11:2408:13 | StoreValue | r2408_4 | +| ir.cpp:2411:17:2411:17 | Address | &:r2411_1 | +| ir.cpp:2411:21:2411:41 | Address | &:r2411_2 | +| ir.cpp:2411:21:2411:41 | Address | &:r2411_2 | +| ir.cpp:2411:21:2411:41 | Address | &:r2411_2 | +| ir.cpp:2411:21:2411:41 | Address | &:r2411_2 | +| ir.cpp:2411:21:2411:41 | Arg(this) | this:r2411_2 | +| ir.cpp:2411:21:2411:41 | Arg(this) | this:r2411_2 | +| ir.cpp:2411:21:2411:41 | CallTarget | func:r2411_4 | +| ir.cpp:2411:21:2411:41 | ChiPartial | partial:m2411_6 | +| ir.cpp:2411:21:2411:41 | ChiPartial | partial:m2411_8 | +| ir.cpp:2411:21:2411:41 | ChiPartial | partial:m2411_15 | +| ir.cpp:2411:21:2411:41 | ChiTotal | total:m2406_13 | +| ir.cpp:2411:21:2411:41 | ChiTotal | total:m2411_3 | +| ir.cpp:2411:21:2411:41 | ChiTotal | total:m2411_9 | +| ir.cpp:2411:21:2411:41 | SideEffect | m2411_9 | +| ir.cpp:2411:21:2411:41 | SideEffect | ~m2406_13 | +| ir.cpp:2411:43:2411:47 | CallTarget | func:r2411_10 | +| ir.cpp:2411:43:2411:47 | ChiPartial | partial:m2411_12 | +| ir.cpp:2411:43:2411:47 | ChiTotal | total:m2411_7 | +| ir.cpp:2411:43:2411:47 | SideEffect | ~m2411_7 | +| ir.cpp:2411:43:2411:47 | StoreValue | r2411_11 | +| ir.cpp:2411:52:2411:52 | Address | &:r2411_18 | +| ir.cpp:2411:52:2411:52 | Condition | r2411_20 | +| ir.cpp:2411:52:2411:52 | Load | m2411_17 | +| ir.cpp:2411:52:2411:52 | Unary | r2411_19 | +| ir.cpp:2413:11:2413:11 | Address | &:r2413_1 | +| ir.cpp:2413:11:2413:11 | Address | &:r2413_1 | +| ir.cpp:2413:11:2413:11 | Left | r2413_2 | +| ir.cpp:2413:11:2413:11 | Load | m2411_17 | +| ir.cpp:2413:11:2413:13 | Right | r2413_3 | +| ir.cpp:2413:11:2413:13 | StoreValue | r2413_4 | +| ir.cpp:2416:5:2416:5 | Address | &:r2416_18 | +| ir.cpp:2416:5:2416:5 | Address | &:r2416_31 | +| ir.cpp:2416:5:2416:5 | Address | &:r2416_37 | +| ir.cpp:2416:14:2416:14 | Address | &:r2416_1 | +| ir.cpp:2416:18:2416:38 | Address | &:r2416_2 | +| ir.cpp:2416:18:2416:38 | Address | &:r2416_2 | +| ir.cpp:2416:18:2416:38 | Address | &:r2416_2 | +| ir.cpp:2416:18:2416:38 | Address | &:r2416_2 | +| ir.cpp:2416:18:2416:38 | Arg(this) | this:r2416_2 | +| ir.cpp:2416:18:2416:38 | Arg(this) | this:r2416_2 | +| ir.cpp:2416:18:2416:38 | CallTarget | func:r2416_4 | +| ir.cpp:2416:18:2416:38 | ChiPartial | partial:m2416_6 | +| ir.cpp:2416:18:2416:38 | ChiPartial | partial:m2416_8 | +| ir.cpp:2416:18:2416:38 | ChiPartial | partial:m2416_15 | +| ir.cpp:2416:18:2416:38 | ChiTotal | total:m2411_13 | +| ir.cpp:2416:18:2416:38 | ChiTotal | total:m2416_3 | +| ir.cpp:2416:18:2416:38 | ChiTotal | total:m2416_9 | +| ir.cpp:2416:18:2416:38 | SideEffect | m2416_9 | +| ir.cpp:2416:18:2416:38 | SideEffect | ~m2411_13 | +| ir.cpp:2416:40:2416:44 | CallTarget | func:r2416_10 | +| ir.cpp:2416:40:2416:44 | ChiPartial | partial:m2416_12 | +| ir.cpp:2416:40:2416:44 | ChiTotal | total:m2416_7 | +| ir.cpp:2416:40:2416:44 | SideEffect | ~m2416_7 | +| ir.cpp:2416:40:2416:44 | StoreValue | r2416_11 | +| ir.cpp:2416:54:2416:54 | Address | &:r2416_58 | +| ir.cpp:2416:58:2416:58 | Address | &:r2416_32 | +| ir.cpp:2416:58:2416:58 | Address | &:r2416_38 | +| ir.cpp:2416:58:2416:58 | Address | &:r2416_61 | +| ir.cpp:2416:58:2416:58 | Address | &:r2416_66 | +| ir.cpp:2416:58:2416:58 | Address | &:r2416_66 | +| ir.cpp:2416:58:2416:58 | Arg(this) | this:r0_2 | +| ir.cpp:2416:58:2416:58 | Arg(this) | this:r0_5 | +| ir.cpp:2416:58:2416:58 | Arg(this) | this:r0_7 | +| ir.cpp:2416:58:2416:58 | Arg(this) | this:r0_8 | +| ir.cpp:2416:58:2416:58 | Arg(this) | this:r0_15 | +| ir.cpp:2416:58:2416:58 | Arg(this) | this:r2416_66 | +| ir.cpp:2416:58:2416:58 | CallTarget | func:r2416_34 | +| ir.cpp:2416:58:2416:58 | CallTarget | func:r2416_40 | +| ir.cpp:2416:58:2416:58 | CallTarget | func:r2416_46 | +| ir.cpp:2416:58:2416:58 | CallTarget | func:r2416_47 | +| ir.cpp:2416:58:2416:58 | CallTarget | func:r2416_60 | +| ir.cpp:2416:58:2416:58 | CallTarget | func:r2416_67 | +| ir.cpp:2416:58:2416:58 | ChiPartial | partial:m2416_50 | +| ir.cpp:2416:58:2416:58 | ChiPartial | partial:m2416_52 | +| ir.cpp:2416:58:2416:58 | ChiPartial | partial:m2416_55 | +| ir.cpp:2416:58:2416:58 | ChiPartial | partial:m2416_62 | +| ir.cpp:2416:58:2416:58 | ChiPartial | partial:m2416_69 | +| ir.cpp:2416:58:2416:58 | ChiPartial | partial:m2416_72 | +| ir.cpp:2416:58:2416:58 | ChiTotal | total:m0_9 | +| ir.cpp:2416:58:2416:58 | ChiTotal | total:m2416_43 | +| ir.cpp:2416:58:2416:58 | ChiTotal | total:m2416_44 | +| ir.cpp:2416:58:2416:58 | ChiTotal | total:m2416_51 | +| ir.cpp:2416:58:2416:58 | ChiTotal | total:m2416_56 | +| ir.cpp:2416:58:2416:58 | ChiTotal | total:m2416_63 | +| ir.cpp:2416:58:2416:58 | Condition | r2416_54 | +| ir.cpp:2416:58:2416:58 | Load | m2416_30 | +| ir.cpp:2416:58:2416:58 | Load | m2416_30 | +| ir.cpp:2416:58:2416:58 | Phi | from 9:m2416_36 | +| ir.cpp:2416:58:2416:58 | Phi | from 9:~m2416_26 | +| ir.cpp:2416:58:2416:58 | Phi | from 11:m2416_73 | +| ir.cpp:2416:58:2416:58 | Phi | from 11:~m2416_70 | +| ir.cpp:2416:58:2416:58 | SideEffect | m2416_43 | +| ir.cpp:2416:58:2416:58 | SideEffect | ~m2416_44 | +| ir.cpp:2416:58:2416:58 | SideEffect | ~m2416_51 | +| ir.cpp:2416:58:2416:58 | SideEffect | ~m2416_56 | +| ir.cpp:2416:58:2416:58 | SideEffect | ~m2416_63 | +| ir.cpp:2416:58:2416:58 | StoreValue | r2416_35 | +| ir.cpp:2416:58:2416:58 | StoreValue | r2416_41 | +| ir.cpp:2416:58:2416:58 | Unary | r2416_33 | +| ir.cpp:2416:58:2416:58 | Unary | r2416_39 | +| ir.cpp:2416:58:2416:58 | Unary | r2416_45 | +| ir.cpp:2416:58:2416:58 | Unary | r2416_48 | +| ir.cpp:2416:58:2416:58 | Unary | r2416_59 | +| ir.cpp:2416:58:2416:58 | Unary | r2416_68 | +| ir.cpp:2416:58:2416:77 | Address | &:r2416_19 | +| ir.cpp:2416:58:2416:77 | Address | &:r2416_19 | +| ir.cpp:2416:58:2416:77 | Arg(this) | this:r2416_19 | +| ir.cpp:2416:58:2416:77 | CallTarget | func:r2416_21 | +| ir.cpp:2416:58:2416:77 | ChiPartial | partial:m2416_25 | +| ir.cpp:2416:58:2416:77 | ChiPartial | partial:m2416_27 | +| ir.cpp:2416:58:2416:77 | ChiTotal | total:m2416_13 | +| ir.cpp:2416:58:2416:77 | ChiTotal | total:m2416_20 | +| ir.cpp:2416:58:2416:77 | SideEffect | ~m2416_13 | +| ir.cpp:2416:58:2416:77 | StoreValue | r2416_29 | +| ir.cpp:2416:58:2416:77 | Unary | r2416_19 | +| ir.cpp:2416:58:2416:78 | Load | ~m2416_63 | +| ir.cpp:2416:58:2416:78 | StoreValue | r2416_64 | +| ir.cpp:2416:76:2416:76 | Address | &:r2416_22 | +| ir.cpp:2416:76:2416:76 | Arg(0) | 0:r2416_23 | +| ir.cpp:2416:76:2416:76 | Load | m2416_17 | +| ir.cpp:2417:9:2417:9 | Address | &:r2417_4 | +| ir.cpp:2417:9:2417:9 | Address | &:r2417_4 | +| ir.cpp:2417:9:2417:9 | Load | m2416_65 | +| ir.cpp:2417:9:2417:9 | Unary | r2417_5 | +| ir.cpp:2417:9:2417:14 | Left | r2417_6 | +| ir.cpp:2417:9:2417:14 | StoreValue | r2417_8 | +| ir.cpp:2417:9:2417:14 | Unary | r2417_7 | +| ir.cpp:2417:14:2417:14 | Address | &:r2417_1 | +| ir.cpp:2417:14:2417:14 | Load | m2416_17 | +| ir.cpp:2417:14:2417:14 | Right | r2417_3 | +| ir.cpp:2417:14:2417:14 | Unary | r2417_2 | | perf-regression.cpp:6:3:6:5 | Address | &:r6_5 | | perf-regression.cpp:6:3:6:5 | Address | &:r6_5 | | perf-regression.cpp:6:3:6:5 | Address | &:r6_7 | diff --git a/cpp/ql/test/library-tests/ir/ir/raw_consistency.expected b/cpp/ql/test/library-tests/ir/ir/raw_consistency.expected index aefdbf9d134..356390f9b4f 100644 --- a/cpp/ql/test/library-tests/ir/ir/raw_consistency.expected +++ b/cpp/ql/test/library-tests/ir/ir/raw_consistency.expected @@ -20,7 +20,7 @@ multipleIRTypes lostReachability backEdgeCountMismatch useNotDominatedByDefinition -| ir.cpp:1488:8:1488:8 | Unary | Operand 'Unary' is not dominated by its definition in function '$@'. | ir.cpp:1488:8:1488:8 | void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct() | void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct() | +| ir.cpp:1535:8:1535:8 | Unary | Operand 'Unary' is not dominated by its definition in function '$@'. | ir.cpp:1535:8:1535:8 | void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct() | void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct() | | try_except.c:13:13:13:13 | Left | Operand 'Left' is not dominated by its definition in function '$@'. | try_except.c:6:6:6:6 | void f() | void f() | | try_except.c:13:13:13:13 | Left | Operand 'Left' is not dominated by its definition in function '$@'. | try_except.c:6:6:6:6 | void f() | void f() | | try_except.c:39:15:39:15 | Left | Operand 'Left' is not dominated by its definition in function '$@'. | try_except.c:32:6:32:6 | void h(int) | void h(int) | diff --git a/cpp/ql/test/library-tests/ir/ir/raw_ir.expected b/cpp/ql/test/library-tests/ir/ir/raw_ir.expected index 02bd6400025..7698e996e12 100644 --- a/cpp/ql/test/library-tests/ir/ir/raw_ir.expected +++ b/cpp/ql/test/library-tests/ir/ir/raw_ir.expected @@ -724,6 +724,420 @@ complex.c: # 58| v58_5(void) = AliasedUse : ~m? # 58| v58_6(void) = ExitFunction : +destructors_for_temps.cpp: +# 9| void ClassWithConstructor::ClassWithConstructor(ClassWithConstructor&&) +# 9| Block 0 +# 9| v9_1(void) = EnterFunction : +# 9| mu9_2(unknown) = AliasedDefinition : +# 9| mu9_3(unknown) = InitializeNonLocal : +# 9| r9_4(glval) = VariableAddress[#this] : +# 9| mu9_5(glval) = InitializeParameter[#this] : &:r9_4 +# 9| r9_6(glval) = Load[#this] : &:r9_4, ~m? +# 9| mu9_7(ClassWithConstructor) = InitializeIndirection[#this] : &:r9_6 +#-----| r0_1(glval) = VariableAddress[(unnamed parameter 0)] : +#-----| mu0_2(ClassWithConstructor &&) = InitializeParameter[(unnamed parameter 0)] : &:r0_1 +#-----| r0_3(ClassWithConstructor &&) = Load[(unnamed parameter 0)] : &:r0_1, ~m? +#-----| mu0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3 +# 9| v9_8(void) = NoOp : +# 9| v9_9(void) = ReturnIndirection[#this] : &:r9_6, ~m? +#-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, ~m? +# 9| v9_10(void) = ReturnVoid : +# 9| v9_11(void) = AliasedUse : ~m? +# 9| v9_12(void) = ExitFunction : + +# 14| char temp_test() +# 14| Block 0 +# 14| v14_1(void) = EnterFunction : +# 14| mu14_2(unknown) = AliasedDefinition : +# 14| mu14_3(unknown) = InitializeNonLocal : +# 15| r15_1(glval) = VariableAddress[x] : +# 15| r15_2(glval) = VariableAddress[#temp15:14] : +# 15| mu15_3(ClassWithDestructor2) = Uninitialized[#temp15:14] : &:r15_2 +# 15| r15_4(glval) = FunctionAddress[ClassWithDestructor2] : +# 15| v15_5(void) = Call[ClassWithDestructor2] : func:r15_4, this:r15_2 +# 15| mu15_6(unknown) = ^CallSideEffect : ~m? +# 15| mu15_7(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r15_2 +# 15| r15_8(glval) = FunctionAddress[get_x] : +# 15| r15_9(char) = Call[get_x] : func:r15_8, this:r15_2 +# 15| mu15_10(unknown) = ^CallSideEffect : ~m? +# 15| v15_11(void) = ^IndirectReadSideEffect[-1] : &:r15_2, ~m? +# 15| mu15_12(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r15_2 +# 15| mu15_13(char) = Store[x] : &:r15_1, r15_9 +# 16| r16_1(glval) = VariableAddress[y] : +# 16| mu16_2(ClassWithConstructor) = Uninitialized[y] : &:r16_1 +# 16| r16_3(glval) = FunctionAddress[ClassWithConstructor] : +# 16| r16_4(char) = Constant[97] : +# 16| r16_5(glval) = VariableAddress[#temp16:33] : +# 16| mu16_6(ClassWithDestructor2) = Uninitialized[#temp16:33] : &:r16_5 +# 16| r16_7(glval) = FunctionAddress[ClassWithDestructor2] : +# 16| v16_8(void) = Call[ClassWithDestructor2] : func:r16_7, this:r16_5 +# 16| mu16_9(unknown) = ^CallSideEffect : ~m? +# 16| mu16_10(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r16_5 +# 16| r16_11(glval) = FunctionAddress[get_x] : +# 16| r16_12(char) = Call[get_x] : func:r16_11, this:r16_5 +# 16| mu16_13(unknown) = ^CallSideEffect : ~m? +# 16| v16_14(void) = ^IndirectReadSideEffect[-1] : &:r16_5, ~m? +# 16| mu16_15(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r16_5 +# 16| v16_16(void) = Call[ClassWithConstructor] : func:r16_3, this:r16_1, 0:r16_4, 1:r16_12 +# 16| mu16_17(unknown) = ^CallSideEffect : ~m? +# 16| mu16_18(ClassWithConstructor) = ^IndirectMayWriteSideEffect[-1] : &:r16_1 +# 17| r17_1(glval) = VariableAddress[#return] : +# 17| r17_2(glval) = VariableAddress[#temp17:12] : +# 17| mu17_3(ClassWithDestructor2) = Uninitialized[#temp17:12] : &:r17_2 +# 17| r17_4(glval) = FunctionAddress[ClassWithDestructor2] : +# 17| v17_5(void) = Call[ClassWithDestructor2] : func:r17_4, this:r17_2 +# 17| mu17_6(unknown) = ^CallSideEffect : ~m? +# 17| mu17_7(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r17_2 +# 17| r17_8(glval) = FunctionAddress[get_x] : +# 17| r17_9(char) = Call[get_x] : func:r17_8, this:r17_2 +# 17| mu17_10(unknown) = ^CallSideEffect : ~m? +# 17| v17_11(void) = ^IndirectReadSideEffect[-1] : &:r17_2, ~m? +# 17| mu17_12(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r17_2 +# 17| mu17_13(char) = Store[#return] : &:r17_1, r17_9 +# 14| r14_4(glval) = VariableAddress[#return] : +# 14| v14_5(void) = ReturnValue : &:r14_4, ~m? +# 14| v14_6(void) = AliasedUse : ~m? +# 14| v14_7(void) = ExitFunction : + +# 21| char temp_test2() +# 21| Block 0 +# 21| v21_1(void) = EnterFunction : +# 21| mu21_2(unknown) = AliasedDefinition : +# 21| mu21_3(unknown) = InitializeNonLocal : +# 22| r22_1(glval) = FunctionAddress[operator new] : +# 22| r22_2(unsigned long) = Constant[1] : +# 22| r22_3(void *) = Call[operator new] : func:r22_1, 0:r22_2 +# 22| mu22_4(unknown) = ^CallSideEffect : ~m? +# 22| mu22_5(unknown) = ^InitializeDynamicAllocation : &:r22_3 +# 22| r22_6(ClassWithDestructor2 *) = Convert : r22_3 +# 22| r22_7(glval) = FunctionAddress[ClassWithDestructor2] : +# 22| v22_8(void) = Call[ClassWithDestructor2] : func:r22_7, this:r22_6 +# 22| mu22_9(unknown) = ^CallSideEffect : ~m? +# 22| mu22_10(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r22_6 +# 23| r23_1(glval) = VariableAddress[#return] : +# 23| r23_2(glval) = VariableAddress[#temp23:12] : +# 23| mu23_3(ClassWithDestructor2) = Uninitialized[#temp23:12] : &:r23_2 +# 23| r23_4(glval) = FunctionAddress[ClassWithDestructor2] : +# 23| v23_5(void) = Call[ClassWithDestructor2] : func:r23_4, this:r23_2 +# 23| mu23_6(unknown) = ^CallSideEffect : ~m? +# 23| mu23_7(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r23_2 +# 23| r23_8(glval) = FunctionAddress[get_x] : +# 23| r23_9(char) = Call[get_x] : func:r23_8, this:r23_2 +# 23| mu23_10(unknown) = ^CallSideEffect : ~m? +# 23| v23_11(void) = ^IndirectReadSideEffect[-1] : &:r23_2, ~m? +# 23| mu23_12(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r23_2 +# 23| r23_13(int) = Convert : r23_9 +# 23| r23_14(glval) = VariableAddress[#temp23:45] : +# 23| mu23_15(ClassWithDestructor2) = Uninitialized[#temp23:45] : &:r23_14 +# 23| r23_16(glval) = FunctionAddress[ClassWithDestructor2] : +# 23| v23_17(void) = Call[ClassWithDestructor2] : func:r23_16, this:r23_14 +# 23| mu23_18(unknown) = ^CallSideEffect : ~m? +# 23| mu23_19(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r23_14 +# 23| r23_20(glval) = FunctionAddress[get_x] : +# 23| r23_21(char) = Call[get_x] : func:r23_20, this:r23_14 +# 23| mu23_22(unknown) = ^CallSideEffect : ~m? +# 23| v23_23(void) = ^IndirectReadSideEffect[-1] : &:r23_14, ~m? +# 23| mu23_24(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r23_14 +# 23| r23_25(int) = Convert : r23_21 +# 23| r23_26(int) = Add : r23_13, r23_25 +# 23| r23_27(char) = Convert : r23_26 +# 23| mu23_28(char) = Store[#return] : &:r23_1, r23_27 +# 21| r21_4(glval) = VariableAddress[#return] : +# 21| v21_5(void) = ReturnValue : &:r21_4, ~m? +# 21| v21_6(void) = AliasedUse : ~m? +# 21| v21_7(void) = ExitFunction : + +# 29| void temp_test3() +# 29| Block 0 +# 29| v29_1(void) = EnterFunction : +# 29| mu29_2(unknown) = AliasedDefinition : +# 29| mu29_3(unknown) = InitializeNonLocal : +# 30| r30_1(glval) = VariableAddress[rs] : +# 30| r30_2(glval) = VariableAddress[#temp30:38] : +# 30| r30_3(glval) = FunctionAddress[returnValue] : +# 30| r30_4(ClassWithDestructor2) = Call[returnValue] : func:r30_3 +# 30| mu30_5(unknown) = ^CallSideEffect : ~m? +# 30| mu30_6(ClassWithDestructor2) = Store[#temp30:38] : &:r30_2, r30_4 +# 30| r30_7(glval) = Convert : r30_2 +# 30| r30_8(ClassWithDestructor2 &) = CopyValue : r30_7 +# 30| mu30_9(ClassWithDestructor2 &) = Store[rs] : &:r30_1, r30_8 +# 31| v31_1(void) = NoOp : +# 29| v29_4(void) = ReturnVoid : +# 29| v29_5(void) = AliasedUse : ~m? +# 29| v29_6(void) = ExitFunction : + +# 33| void temp_test4() +# 33| Block 0 +# 33| v33_1(void) = EnterFunction : +# 33| mu33_2(unknown) = AliasedDefinition : +# 33| mu33_3(unknown) = InitializeNonLocal : +# 34| r34_1(glval) = VariableAddress[c] : +# 34| mu34_2(ClassWithDestructor2) = Uninitialized[c] : &:r34_1 +# 34| r34_3(glval) = FunctionAddress[ClassWithDestructor2] : +# 34| v34_4(void) = Call[ClassWithDestructor2] : func:r34_3, this:r34_1 +# 34| mu34_5(unknown) = ^CallSideEffect : ~m? +# 34| mu34_6(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r34_1 +# 35| r35_1(glval) = VariableAddress[rs2] : +# 35| r35_2(glval) = VariableAddress[#temp35:39] : +# 35| r35_3(glval) = FunctionAddress[returnValue] : +# 35| r35_4(ClassWithDestructor2) = Call[returnValue] : func:r35_3 +# 35| mu35_5(unknown) = ^CallSideEffect : ~m? +# 35| mu35_6(ClassWithDestructor2) = Store[#temp35:39] : &:r35_2, r35_4 +# 35| r35_7(glval) = Convert : r35_2 +# 35| r35_8(ClassWithDestructor2 &) = CopyValue : r35_7 +# 35| mu35_9(ClassWithDestructor2 &) = Store[rs2] : &:r35_1, r35_8 +# 36| v36_1(void) = NoOp : +# 36| r36_2(glval) = VariableAddress[c] : +# 36| r36_3(glval) = FunctionAddress[~ClassWithDestructor2] : +# 36| v36_4(void) = Call[~ClassWithDestructor2] : func:r36_3, this:r36_2 +# 36| mu36_5(unknown) = ^CallSideEffect : ~m? +# 36| v36_6(void) = ^IndirectReadSideEffect[-1] : &:r36_2, ~m? +# 36| mu36_7(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r36_2 +# 33| v33_4(void) = ReturnVoid : +# 33| v33_5(void) = AliasedUse : ~m? +# 33| v33_6(void) = ExitFunction : + +# 38| void temp_test5(bool) +# 38| Block 0 +# 38| v38_1(void) = EnterFunction : +# 38| mu38_2(unknown) = AliasedDefinition : +# 38| mu38_3(unknown) = InitializeNonLocal : +# 38| r38_4(glval) = VariableAddress[b] : +# 38| mu38_5(bool) = InitializeParameter[b] : &:r38_4 +# 39| r39_1(glval) = VariableAddress[#temp39:3] : +# 39| r39_2(glval) = VariableAddress[b] : +# 39| r39_3(bool) = Load[b] : &:r39_2, ~m? +# 39| v39_4(void) = ConditionalBranch : r39_3 +#-----| False -> Block 3 +#-----| True -> Block 2 + +# 39| Block 1 +# 39| r39_5(glval) = VariableAddress[#temp39:3] : +# 39| r39_6(ClassWithDestructor2) = Load[#temp39:3] : &:r39_5, ~m? +# 39| mu39_7(ClassWithDestructor2) = Store[#temp39:3] : &:r39_1, r39_6 +# 40| v40_1(void) = NoOp : +# 38| v38_6(void) = ReturnVoid : +# 38| v38_7(void) = AliasedUse : ~m? +# 38| v38_8(void) = ExitFunction : + +# 39| Block 2 +# 39| r39_8(glval) = VariableAddress[#temp39:7] : +# 39| mu39_9(ClassWithDestructor2) = Uninitialized[#temp39:7] : &:r39_8 +# 39| r39_10(glval) = FunctionAddress[ClassWithDestructor2] : +# 39| v39_11(void) = Call[ClassWithDestructor2] : func:r39_10, this:r39_8 +# 39| mu39_12(unknown) = ^CallSideEffect : ~m? +# 39| mu39_13(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r39_8 +# 39| r39_14(ClassWithDestructor2) = Load[#temp39:7] : &:r39_8, ~m? +# 39| r39_15(glval) = VariableAddress[#temp39:3] : +# 39| mu39_16(ClassWithDestructor2) = Store[#temp39:3] : &:r39_15, r39_14 +#-----| Goto -> Block 1 + +# 39| Block 3 +# 39| r39_17(glval) = VariableAddress[#temp39:32] : +# 39| mu39_18(ClassWithDestructor2) = Uninitialized[#temp39:32] : &:r39_17 +# 39| r39_19(glval) = FunctionAddress[ClassWithDestructor2] : +# 39| v39_20(void) = Call[ClassWithDestructor2] : func:r39_19, this:r39_17 +# 39| mu39_21(unknown) = ^CallSideEffect : ~m? +# 39| mu39_22(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r39_17 +# 39| r39_23(ClassWithDestructor2) = Load[#temp39:32] : &:r39_17, ~m? +# 39| r39_24(glval) = VariableAddress[#temp39:3] : +# 39| mu39_25(ClassWithDestructor2) = Store[#temp39:3] : &:r39_24, r39_23 +#-----| Goto -> Block 1 + +# 42| void temp_test6(bool) +# 42| Block 0 +# 42| v42_1(void) = EnterFunction : +# 42| mu42_2(unknown) = AliasedDefinition : +# 42| mu42_3(unknown) = InitializeNonLocal : +# 42| r42_4(glval) = VariableAddress[b] : +# 42| mu42_5(bool) = InitializeParameter[b] : &:r42_4 +# 43| r43_1(glval) = VariableAddress[c] : +# 43| mu43_2(ClassWithDestructor2) = Uninitialized[c] : &:r43_1 +# 43| r43_3(glval) = FunctionAddress[ClassWithDestructor2] : +# 43| v43_4(void) = Call[ClassWithDestructor2] : func:r43_3, this:r43_1 +# 43| mu43_5(unknown) = ^CallSideEffect : ~m? +# 43| mu43_6(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r43_1 +# 44| r44_1(glval) = VariableAddress[b] : +# 44| r44_2(bool) = Load[b] : &:r44_1, ~m? +# 44| v44_3(void) = ConditionalBranch : r44_2 +#-----| False -> Block 4 +#-----| True -> Block 3 + +# 42| Block 1 +# 42| v42_6(void) = AliasedUse : ~m? +# 42| v42_7(void) = ExitFunction : + +# 42| Block 2 +# 42| v42_8(void) = Unwind : +#-----| Goto -> Block 1 + +# 45| Block 3 +# 45| r45_1(glval) = VariableAddress[#throw45:7] : +# 45| mu45_2(ClassWithConstructor) = Uninitialized[#throw45:7] : &:r45_1 +# 45| r45_3(glval) = FunctionAddress[ClassWithConstructor] : +# 45| r45_4(char) = Constant[120] : +# 45| r45_5(glval) = VariableAddress[#temp45:39] : +# 45| mu45_6(ClassWithDestructor2) = Uninitialized[#temp45:39] : &:r45_5 +# 45| r45_7(glval) = FunctionAddress[ClassWithDestructor2] : +# 45| v45_8(void) = Call[ClassWithDestructor2] : func:r45_7, this:r45_5 +# 45| mu45_9(unknown) = ^CallSideEffect : ~m? +# 45| mu45_10(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r45_5 +# 45| r45_11(glval) = FunctionAddress[get_x] : +# 45| r45_12(char) = Call[get_x] : func:r45_11, this:r45_5 +# 45| mu45_13(unknown) = ^CallSideEffect : ~m? +# 45| v45_14(void) = ^IndirectReadSideEffect[-1] : &:r45_5, ~m? +# 45| mu45_15(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r45_5 +# 45| v45_16(void) = Call[ClassWithConstructor] : func:r45_3, this:r45_1, 0:r45_4, 1:r45_12 +# 45| mu45_17(unknown) = ^CallSideEffect : ~m? +# 45| mu45_18(ClassWithConstructor) = ^IndirectMayWriteSideEffect[-1] : &:r45_1 +# 45| v45_19(void) = ThrowValue : &:r45_1, ~m? +#-----| Exception -> Block 2 + +# 47| Block 4 +# 47| v47_1(void) = NoOp : +# 47| r47_2(glval) = VariableAddress[c] : +# 47| r47_3(glval) = FunctionAddress[~ClassWithDestructor2] : +# 47| v47_4(void) = Call[~ClassWithDestructor2] : func:r47_3, this:r47_2 +# 47| mu47_5(unknown) = ^CallSideEffect : ~m? +# 47| v47_6(void) = ^IndirectReadSideEffect[-1] : &:r47_2, ~m? +# 47| mu47_7(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r47_2 +# 42| v42_9(void) = ReturnVoid : +#-----| Goto -> Block 1 + +# 49| void temp_test7(bool) +# 49| Block 0 +# 49| v49_1(void) = EnterFunction : +# 49| mu49_2(unknown) = AliasedDefinition : +# 49| mu49_3(unknown) = InitializeNonLocal : +# 49| r49_4(glval) = VariableAddress[b] : +# 49| mu49_5(bool) = InitializeParameter[b] : &:r49_4 +# 50| r50_1(glval) = VariableAddress[c] : +# 50| mu50_2(ClassWithDestructor2) = Uninitialized[c] : &:r50_1 +# 50| r50_3(glval) = FunctionAddress[ClassWithDestructor2] : +# 50| v50_4(void) = Call[ClassWithDestructor2] : func:r50_3, this:r50_1 +# 50| mu50_5(unknown) = ^CallSideEffect : ~m? +# 50| mu50_6(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r50_1 +# 51| r51_1(glval) = VariableAddress[#temp51:5] : +# 51| r51_2(glval) = VariableAddress[b] : +# 51| r51_3(bool) = Load[b] : &:r51_2, ~m? +# 51| v51_4(void) = ConditionalBranch : r51_3 +#-----| False -> Block 4 +#-----| True -> Block 3 + +# 49| Block 1 +# 49| v49_6(void) = AliasedUse : ~m? +# 49| v49_7(void) = ExitFunction : + +# 49| Block 2 +# 49| v49_8(void) = Unwind : +#-----| Goto -> Block 1 + +# 51| Block 3 +# 51| r51_5(glval) = VariableAddress[#throw51:9] : +# 51| mu51_6(ClassWithConstructor) = Uninitialized[#throw51:9] : &:r51_5 +# 51| r51_7(glval) = FunctionAddress[ClassWithConstructor] : +# 51| r51_8(char) = Constant[120] : +# 51| r51_9(glval) = VariableAddress[#temp51:41] : +# 51| mu51_10(ClassWithDestructor2) = Uninitialized[#temp51:41] : &:r51_9 +# 51| r51_11(glval) = FunctionAddress[ClassWithDestructor2] : +# 51| v51_12(void) = Call[ClassWithDestructor2] : func:r51_11, this:r51_9 +# 51| mu51_13(unknown) = ^CallSideEffect : ~m? +# 51| mu51_14(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r51_9 +# 51| r51_15(glval) = FunctionAddress[get_x] : +# 51| r51_16(char) = Call[get_x] : func:r51_15, this:r51_9 +# 51| mu51_17(unknown) = ^CallSideEffect : ~m? +# 51| v51_18(void) = ^IndirectReadSideEffect[-1] : &:r51_9, ~m? +# 51| mu51_19(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r51_9 +# 51| v51_20(void) = Call[ClassWithConstructor] : func:r51_7, this:r51_5, 0:r51_8, 1:r51_16 +# 51| mu51_21(unknown) = ^CallSideEffect : ~m? +# 51| mu51_22(ClassWithConstructor) = ^IndirectMayWriteSideEffect[-1] : &:r51_5 +# 51| v51_23(void) = ThrowValue : &:r51_5, ~m? +#-----| Exception -> Block 2 + +# 51| Block 4 +# 51| r51_24(glval) = VariableAddress[#temp51:75] : +# 51| mu51_25(ClassWithDestructor2) = Uninitialized[#temp51:75] : &:r51_24 +# 51| r51_26(glval) = FunctionAddress[ClassWithDestructor2] : +# 51| v51_27(void) = Call[ClassWithDestructor2] : func:r51_26, this:r51_24 +# 51| mu51_28(unknown) = ^CallSideEffect : ~m? +# 51| mu51_29(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r51_24 +# 51| r51_30(ClassWithDestructor2) = Load[#temp51:75] : &:r51_24, ~m? +# 51| r51_31(glval) = VariableAddress[#temp51:5] : +# 51| mu51_32(ClassWithDestructor2) = Store[#temp51:5] : &:r51_31, r51_30 +# 51| r51_33(glval) = VariableAddress[#temp51:5] : +# 51| r51_34(ClassWithDestructor2) = Load[#temp51:5] : &:r51_33, ~m? +# 51| mu51_35(ClassWithDestructor2) = Store[#temp51:5] : &:r51_1, r51_34 +# 52| v52_1(void) = NoOp : +# 52| r52_2(glval) = VariableAddress[c] : +# 52| r52_3(glval) = FunctionAddress[~ClassWithDestructor2] : +# 52| v52_4(void) = Call[~ClassWithDestructor2] : func:r52_3, this:r52_2 +# 52| mu52_5(unknown) = ^CallSideEffect : ~m? +# 52| v52_6(void) = ^IndirectReadSideEffect[-1] : &:r52_2, ~m? +# 52| mu52_7(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r52_2 +# 49| v49_9(void) = ReturnVoid : +#-----| Goto -> Block 1 + +# 54| void temp_test8(bool) +# 54| Block 0 +# 54| v54_1(void) = EnterFunction : +# 54| mu54_2(unknown) = AliasedDefinition : +# 54| mu54_3(unknown) = InitializeNonLocal : +# 54| r54_4(glval) = VariableAddress[b] : +# 54| mu54_5(bool) = InitializeParameter[b] : &:r54_4 +# 55| r55_1(glval) = VariableAddress[#temp55:5] : +# 55| r55_2(glval) = VariableAddress[b] : +# 55| r55_3(bool) = Load[b] : &:r55_2, ~m? +# 55| v55_4(void) = ConditionalBranch : r55_3 +#-----| False -> Block 4 +#-----| True -> Block 3 + +# 54| Block 1 +# 54| v54_6(void) = AliasedUse : ~m? +# 54| v54_7(void) = ExitFunction : + +# 54| Block 2 +# 54| v54_8(void) = Unwind : +#-----| Goto -> Block 1 + +# 55| Block 3 +# 55| r55_5(glval) = VariableAddress[#throw55:9] : +# 55| mu55_6(ClassWithConstructor) = Uninitialized[#throw55:9] : &:r55_5 +# 55| r55_7(glval) = FunctionAddress[ClassWithConstructor] : +# 55| r55_8(char) = Constant[120] : +# 55| r55_9(glval) = VariableAddress[#temp55:41] : +# 55| mu55_10(ClassWithDestructor2) = Uninitialized[#temp55:41] : &:r55_9 +# 55| r55_11(glval) = FunctionAddress[ClassWithDestructor2] : +# 55| v55_12(void) = Call[ClassWithDestructor2] : func:r55_11, this:r55_9 +# 55| mu55_13(unknown) = ^CallSideEffect : ~m? +# 55| mu55_14(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r55_9 +# 55| r55_15(glval) = FunctionAddress[get_x] : +# 55| r55_16(char) = Call[get_x] : func:r55_15, this:r55_9 +# 55| mu55_17(unknown) = ^CallSideEffect : ~m? +# 55| v55_18(void) = ^IndirectReadSideEffect[-1] : &:r55_9, ~m? +# 55| mu55_19(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r55_9 +# 55| v55_20(void) = Call[ClassWithConstructor] : func:r55_7, this:r55_5, 0:r55_8, 1:r55_16 +# 55| mu55_21(unknown) = ^CallSideEffect : ~m? +# 55| mu55_22(ClassWithConstructor) = ^IndirectMayWriteSideEffect[-1] : &:r55_5 +# 55| v55_23(void) = ThrowValue : &:r55_5, ~m? +#-----| Exception -> Block 2 + +# 55| Block 4 +# 55| r55_24(glval) = VariableAddress[#temp55:75] : +# 55| mu55_25(ClassWithDestructor2) = Uninitialized[#temp55:75] : &:r55_24 +# 55| r55_26(glval) = FunctionAddress[ClassWithDestructor2] : +# 55| v55_27(void) = Call[ClassWithDestructor2] : func:r55_26, this:r55_24 +# 55| mu55_28(unknown) = ^CallSideEffect : ~m? +# 55| mu55_29(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r55_24 +# 55| r55_30(ClassWithDestructor2) = Load[#temp55:75] : &:r55_24, ~m? +# 55| r55_31(glval) = VariableAddress[#temp55:5] : +# 55| mu55_32(ClassWithDestructor2) = Store[#temp55:5] : &:r55_31, r55_30 +# 55| r55_33(glval) = VariableAddress[#temp55:5] : +# 55| r55_34(ClassWithDestructor2) = Load[#temp55:5] : &:r55_33, ~m? +# 55| mu55_35(ClassWithDestructor2) = Store[#temp55:5] : &:r55_1, r55_34 +# 56| v56_1(void) = NoOp : +# 54| v54_9(void) = ReturnVoid : +#-----| Goto -> Block 1 + ir.c: # 7| void MyCoordsTest(int) # 7| Block 0 @@ -6411,3717 +6825,3731 @@ ir.cpp: # 1054| v1054_41(void) = AliasedUse : ~m? # 1054| v1054_42(void) = ExitFunction : -# 1079| void RangeBasedFor(vector const&) -# 1079| Block 0 -# 1079| v1079_1(void) = EnterFunction : -# 1079| mu1079_2(unknown) = AliasedDefinition : -# 1079| mu1079_3(unknown) = InitializeNonLocal : -# 1079| r1079_4(glval &>) = VariableAddress[v] : -# 1079| mu1079_5(vector &) = InitializeParameter[v] : &:r1079_4 -# 1079| r1079_6(vector &) = Load[v] : &:r1079_4, ~m? -# 1079| mu1079_7(unknown) = InitializeIndirection[v] : &:r1079_6 -# 1080| r1080_1(glval &>) = VariableAddress[(__range)] : -# 1080| r1080_2(glval &>) = VariableAddress[v] : -# 1080| r1080_3(vector &) = Load[v] : &:r1080_2, ~m? -# 1080| r1080_4(glval>) = CopyValue : r1080_3 -# 1080| r1080_5(vector &) = CopyValue : r1080_4 -# 1080| mu1080_6(vector &) = Store[(__range)] : &:r1080_1, r1080_5 -# 1080| r1080_7(glval) = VariableAddress[(__begin)] : -# 1080| r1080_8(glval &>) = VariableAddress[(__range)] : -# 1080| r1080_9(vector &) = Load[(__range)] : &:r1080_8, ~m? -#-----| r0_1(glval>) = CopyValue : r1080_9 -# 1080| r1080_10(glval) = FunctionAddress[begin] : -# 1080| r1080_11(iterator) = Call[begin] : func:r1080_10, this:r0_1 -# 1080| mu1080_12(unknown) = ^CallSideEffect : ~m? -#-----| v0_2(void) = ^IndirectReadSideEffect[-1] : &:r0_1, ~m? -# 1080| mu1080_13(iterator) = Store[(__begin)] : &:r1080_7, r1080_11 -# 1080| r1080_14(glval) = VariableAddress[(__end)] : -# 1080| r1080_15(glval &>) = VariableAddress[(__range)] : -# 1080| r1080_16(vector &) = Load[(__range)] : &:r1080_15, ~m? -#-----| r0_3(glval>) = CopyValue : r1080_16 -# 1080| r1080_17(glval) = FunctionAddress[end] : -# 1080| r1080_18(iterator) = Call[end] : func:r1080_17, this:r0_3 -# 1080| mu1080_19(unknown) = ^CallSideEffect : ~m? -#-----| v0_4(void) = ^IndirectReadSideEffect[-1] : &:r0_3, ~m? -# 1080| mu1080_20(iterator) = Store[(__end)] : &:r1080_14, r1080_18 +# 1126| void RangeBasedFor(std::vector const&) +# 1126| Block 0 +# 1126| v1126_1(void) = EnterFunction : +# 1126| mu1126_2(unknown) = AliasedDefinition : +# 1126| mu1126_3(unknown) = InitializeNonLocal : +# 1126| r1126_4(glval &>) = VariableAddress[v] : +# 1126| mu1126_5(vector &) = InitializeParameter[v] : &:r1126_4 +# 1126| r1126_6(vector &) = Load[v] : &:r1126_4, ~m? +# 1126| mu1126_7(unknown) = InitializeIndirection[v] : &:r1126_6 +# 1127| r1127_1(glval &>) = VariableAddress[(__range)] : +# 1127| r1127_2(glval &>) = VariableAddress[v] : +# 1127| r1127_3(vector &) = Load[v] : &:r1127_2, ~m? +# 1127| r1127_4(glval>) = CopyValue : r1127_3 +# 1127| r1127_5(vector &) = CopyValue : r1127_4 +# 1127| mu1127_6(vector &) = Store[(__range)] : &:r1127_1, r1127_5 +# 1127| r1127_7(glval>) = VariableAddress[(__begin)] : +# 1127| r1127_8(glval &>) = VariableAddress[(__range)] : +# 1127| r1127_9(vector &) = Load[(__range)] : &:r1127_8, ~m? +#-----| r0_1(glval>) = CopyValue : r1127_9 +# 1127| r1127_10(glval) = FunctionAddress[begin] : +# 1127| r1127_11(iterator) = Call[begin] : func:r1127_10, this:r0_1 +#-----| v0_2(void) = ^IndirectReadSideEffect[-1] : &:r0_1, ~m? +# 1127| mu1127_12(iterator) = Store[(__begin)] : &:r1127_7, r1127_11 +# 1127| r1127_13(glval>) = VariableAddress[(__end)] : +# 1127| r1127_14(glval &>) = VariableAddress[(__range)] : +# 1127| r1127_15(vector &) = Load[(__range)] : &:r1127_14, ~m? +#-----| r0_3(glval>) = CopyValue : r1127_15 +# 1127| r1127_16(glval) = FunctionAddress[end] : +# 1127| r1127_17(iterator) = Call[end] : func:r1127_16, this:r0_3 +#-----| v0_4(void) = ^IndirectReadSideEffect[-1] : &:r0_3, ~m? +# 1127| mu1127_18(iterator) = Store[(__end)] : &:r1127_13, r1127_17 #-----| Goto -> Block 1 -# 1080| Block 1 -# 1080| r1080_21(glval) = VariableAddress[(__begin)] : -#-----| r0_5(glval) = Convert : r1080_21 -# 1080| r1080_22(glval) = FunctionAddress[operator!=] : -# 1080| r1080_23(glval) = VariableAddress[(__end)] : -# 1080| r1080_24(iterator) = Load[(__end)] : &:r1080_23, ~m? -# 1080| r1080_25(bool) = Call[operator!=] : func:r1080_22, this:r0_5, 0:r1080_24 -# 1080| mu1080_26(unknown) = ^CallSideEffect : ~m? -#-----| v0_6(void) = ^IndirectReadSideEffect[-1] : &:r0_5, ~m? -# 1080| v1080_27(void) = ConditionalBranch : r1080_25 +# 1127| Block 1 +# 1127| r1127_19(glval>) = VariableAddress[(__begin)] : +#-----| r0_5(glval>) = Convert : r1127_19 +# 1127| r1127_20(glval) = FunctionAddress[operator!=] : +#-----| r0_6(glval>) = VariableAddress[#temp0:0] : +#-----| mu0_7(iterator) = Uninitialized[#temp0:0] : &:r0_6 +# 1127| r1127_21(glval) = FunctionAddress[iterator] : +# 1127| r1127_22(glval>) = VariableAddress[(__end)] : +#-----| r0_8(glval>) = Convert : r1127_22 +#-----| r0_9(iterator &) = CopyValue : r0_8 +# 1127| v1127_23(void) = Call[iterator] : func:r1127_21, this:r0_6, 0:r0_9 +# 1127| mu1127_24(unknown) = ^CallSideEffect : ~m? +#-----| v0_10(void) = ^BufferReadSideEffect[0] : &:r0_9, ~m? +# 1127| mu1127_25(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_6 +#-----| r0_11(iterator) = Load[#temp0:0] : &:r0_6, ~m? +# 1127| r1127_26(bool) = Call[operator!=] : func:r1127_20, this:r0_5, 0:r0_11 +# 1127| mu1127_27(unknown) = ^CallSideEffect : ~m? +#-----| v0_12(void) = ^IndirectReadSideEffect[-1] : &:r0_5, ~m? +# 1127| v1127_28(void) = ConditionalBranch : r1127_26 #-----| False -> Block 5 #-----| True -> Block 2 -# 1080| Block 2 -# 1080| r1080_28(glval) = VariableAddress[e] : -# 1080| r1080_29(glval) = VariableAddress[(__begin)] : -#-----| r0_7(glval) = Convert : r1080_29 -# 1080| r1080_30(glval) = FunctionAddress[operator*] : -# 1080| r1080_31(int &) = Call[operator*] : func:r1080_30, this:r0_7 -# 1080| mu1080_32(unknown) = ^CallSideEffect : ~m? -#-----| v0_8(void) = ^IndirectReadSideEffect[-1] : &:r0_7, ~m? -# 1080| r1080_33(int) = Load[?] : &:r1080_31, ~m? -# 1080| mu1080_34(int) = Store[e] : &:r1080_28, r1080_33 -# 1081| r1081_1(glval) = VariableAddress[e] : -# 1081| r1081_2(int) = Load[e] : &:r1081_1, ~m? -# 1081| r1081_3(int) = Constant[0] : -# 1081| r1081_4(bool) = CompareGT : r1081_2, r1081_3 -# 1081| v1081_5(void) = ConditionalBranch : r1081_4 +# 1127| Block 2 +# 1127| r1127_29(glval) = VariableAddress[e] : +# 1127| r1127_30(glval>) = VariableAddress[(__begin)] : +#-----| r0_13(glval>) = Convert : r1127_30 +# 1127| r1127_31(glval) = FunctionAddress[operator*] : +# 1127| r1127_32(int &) = Call[operator*] : func:r1127_31, this:r0_13 +# 1127| mu1127_33(unknown) = ^CallSideEffect : ~m? +#-----| v0_14(void) = ^IndirectReadSideEffect[-1] : &:r0_13, ~m? +# 1127| r1127_34(int) = Load[?] : &:r1127_32, ~m? +# 1127| mu1127_35(int) = Store[e] : &:r1127_29, r1127_34 +# 1128| r1128_1(glval) = VariableAddress[e] : +# 1128| r1128_2(int) = Load[e] : &:r1128_1, ~m? +# 1128| r1128_3(int) = Constant[0] : +# 1128| r1128_4(bool) = CompareGT : r1128_2, r1128_3 +# 1128| v1128_5(void) = ConditionalBranch : r1128_4 #-----| False -> Block 4 #-----| True -> Block 3 -# 1082| Block 3 -# 1082| v1082_1(void) = NoOp : +# 1129| Block 3 +# 1129| v1129_1(void) = NoOp : #-----| Goto -> Block 4 -# 1080| Block 4 -# 1080| v1080_35(void) = NoOp : -# 1080| r1080_36(glval) = VariableAddress[(__begin)] : -# 1080| r1080_37(glval) = FunctionAddress[operator++] : -# 1080| r1080_38(iterator &) = Call[operator++] : func:r1080_37, this:r1080_36 -# 1080| mu1080_39(unknown) = ^CallSideEffect : ~m? -# 1080| v1080_40(void) = ^IndirectReadSideEffect[-1] : &:r1080_36, ~m? -# 1080| mu1080_41(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r1080_36 -# 1080| r1080_42(glval) = CopyValue : r1080_38 +# 1127| Block 4 +# 1127| v1127_36(void) = NoOp : +# 1127| r1127_37(glval>) = VariableAddress[(__begin)] : +# 1127| r1127_38(glval) = FunctionAddress[operator++] : +# 1127| r1127_39(iterator &) = Call[operator++] : func:r1127_38, this:r1127_37 +# 1127| mu1127_40(unknown) = ^CallSideEffect : ~m? +# 1127| v1127_41(void) = ^IndirectReadSideEffect[-1] : &:r1127_37, ~m? +# 1127| mu1127_42(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r1127_37 +# 1127| r1127_43(glval>) = CopyValue : r1127_39 #-----| Goto (back edge) -> Block 1 -# 1086| Block 5 -# 1086| r1086_1(glval &>) = VariableAddress[(__range)] : -# 1086| r1086_2(glval &>) = VariableAddress[v] : -# 1086| r1086_3(vector &) = Load[v] : &:r1086_2, ~m? -# 1086| r1086_4(glval>) = CopyValue : r1086_3 -# 1086| r1086_5(vector &) = CopyValue : r1086_4 -# 1086| mu1086_6(vector &) = Store[(__range)] : &:r1086_1, r1086_5 -# 1086| r1086_7(glval) = VariableAddress[(__begin)] : -# 1086| r1086_8(glval &>) = VariableAddress[(__range)] : -# 1086| r1086_9(vector &) = Load[(__range)] : &:r1086_8, ~m? -#-----| r0_9(glval>) = CopyValue : r1086_9 -# 1086| r1086_10(glval) = FunctionAddress[begin] : -# 1086| r1086_11(iterator) = Call[begin] : func:r1086_10, this:r0_9 -# 1086| mu1086_12(unknown) = ^CallSideEffect : ~m? -#-----| v0_10(void) = ^IndirectReadSideEffect[-1] : &:r0_9, ~m? -# 1086| mu1086_13(iterator) = Store[(__begin)] : &:r1086_7, r1086_11 -# 1086| r1086_14(glval) = VariableAddress[(__end)] : -# 1086| r1086_15(glval &>) = VariableAddress[(__range)] : -# 1086| r1086_16(vector &) = Load[(__range)] : &:r1086_15, ~m? -#-----| r0_11(glval>) = CopyValue : r1086_16 -# 1086| r1086_17(glval) = FunctionAddress[end] : -# 1086| r1086_18(iterator) = Call[end] : func:r1086_17, this:r0_11 -# 1086| mu1086_19(unknown) = ^CallSideEffect : ~m? -#-----| v0_12(void) = ^IndirectReadSideEffect[-1] : &:r0_11, ~m? -# 1086| mu1086_20(iterator) = Store[(__end)] : &:r1086_14, r1086_18 +# 1133| Block 5 +# 1133| r1133_1(glval &>) = VariableAddress[(__range)] : +# 1133| r1133_2(glval &>) = VariableAddress[v] : +# 1133| r1133_3(vector &) = Load[v] : &:r1133_2, ~m? +# 1133| r1133_4(glval>) = CopyValue : r1133_3 +# 1133| r1133_5(vector &) = CopyValue : r1133_4 +# 1133| mu1133_6(vector &) = Store[(__range)] : &:r1133_1, r1133_5 +# 1133| r1133_7(glval>) = VariableAddress[(__begin)] : +# 1133| r1133_8(glval &>) = VariableAddress[(__range)] : +# 1133| r1133_9(vector &) = Load[(__range)] : &:r1133_8, ~m? +#-----| r0_15(glval>) = CopyValue : r1133_9 +# 1133| r1133_10(glval) = FunctionAddress[begin] : +# 1133| r1133_11(iterator) = Call[begin] : func:r1133_10, this:r0_15 +#-----| v0_16(void) = ^IndirectReadSideEffect[-1] : &:r0_15, ~m? +# 1133| mu1133_12(iterator) = Store[(__begin)] : &:r1133_7, r1133_11 +# 1133| r1133_13(glval>) = VariableAddress[(__end)] : +# 1133| r1133_14(glval &>) = VariableAddress[(__range)] : +# 1133| r1133_15(vector &) = Load[(__range)] : &:r1133_14, ~m? +#-----| r0_17(glval>) = CopyValue : r1133_15 +# 1133| r1133_16(glval) = FunctionAddress[end] : +# 1133| r1133_17(iterator) = Call[end] : func:r1133_16, this:r0_17 +#-----| v0_18(void) = ^IndirectReadSideEffect[-1] : &:r0_17, ~m? +# 1133| mu1133_18(iterator) = Store[(__end)] : &:r1133_13, r1133_17 #-----| Goto -> Block 6 -# 1086| Block 6 -# 1086| r1086_21(glval) = VariableAddress[(__begin)] : -#-----| r0_13(glval) = Convert : r1086_21 -# 1086| r1086_22(glval) = FunctionAddress[operator!=] : -# 1086| r1086_23(glval) = VariableAddress[(__end)] : -# 1086| r1086_24(iterator) = Load[(__end)] : &:r1086_23, ~m? -# 1086| r1086_25(bool) = Call[operator!=] : func:r1086_22, this:r0_13, 0:r1086_24 -# 1086| mu1086_26(unknown) = ^CallSideEffect : ~m? -#-----| v0_14(void) = ^IndirectReadSideEffect[-1] : &:r0_13, ~m? -# 1086| v1086_27(void) = ConditionalBranch : r1086_25 +# 1133| Block 6 +# 1133| r1133_19(glval>) = VariableAddress[(__begin)] : +#-----| r0_19(glval>) = Convert : r1133_19 +# 1133| r1133_20(glval) = FunctionAddress[operator!=] : +#-----| r0_20(glval>) = VariableAddress[#temp0:0] : +#-----| mu0_21(iterator) = Uninitialized[#temp0:0] : &:r0_20 +# 1133| r1133_21(glval) = FunctionAddress[iterator] : +# 1133| r1133_22(glval>) = VariableAddress[(__end)] : +#-----| r0_22(glval>) = Convert : r1133_22 +#-----| r0_23(iterator &) = CopyValue : r0_22 +# 1133| v1133_23(void) = Call[iterator] : func:r1133_21, this:r0_20, 0:r0_23 +# 1133| mu1133_24(unknown) = ^CallSideEffect : ~m? +#-----| v0_24(void) = ^BufferReadSideEffect[0] : &:r0_23, ~m? +# 1133| mu1133_25(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_20 +#-----| r0_25(iterator) = Load[#temp0:0] : &:r0_20, ~m? +# 1133| r1133_26(bool) = Call[operator!=] : func:r1133_20, this:r0_19, 0:r0_25 +# 1133| mu1133_27(unknown) = ^CallSideEffect : ~m? +#-----| v0_26(void) = ^IndirectReadSideEffect[-1] : &:r0_19, ~m? +# 1133| v1133_28(void) = ConditionalBranch : r1133_26 #-----| False -> Block 10 #-----| True -> Block 8 -# 1086| Block 7 -# 1086| r1086_28(glval) = VariableAddress[(__begin)] : -# 1086| r1086_29(glval) = FunctionAddress[operator++] : -# 1086| r1086_30(iterator &) = Call[operator++] : func:r1086_29, this:r1086_28 -# 1086| mu1086_31(unknown) = ^CallSideEffect : ~m? -# 1086| v1086_32(void) = ^IndirectReadSideEffect[-1] : &:r1086_28, ~m? -# 1086| mu1086_33(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r1086_28 -# 1086| r1086_34(glval) = CopyValue : r1086_30 +# 1133| Block 7 +# 1133| r1133_29(glval>) = VariableAddress[(__begin)] : +# 1133| r1133_30(glval) = FunctionAddress[operator++] : +# 1133| r1133_31(iterator &) = Call[operator++] : func:r1133_30, this:r1133_29 +# 1133| mu1133_32(unknown) = ^CallSideEffect : ~m? +# 1133| v1133_33(void) = ^IndirectReadSideEffect[-1] : &:r1133_29, ~m? +# 1133| mu1133_34(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r1133_29 +# 1133| r1133_35(glval>) = CopyValue : r1133_31 #-----| Goto (back edge) -> Block 6 -# 1086| Block 8 -# 1086| r1086_35(glval) = VariableAddress[e] : -# 1086| r1086_36(glval) = VariableAddress[(__begin)] : -#-----| r0_15(glval) = Convert : r1086_36 -# 1086| r1086_37(glval) = FunctionAddress[operator*] : -# 1086| r1086_38(int &) = Call[operator*] : func:r1086_37, this:r0_15 -# 1086| mu1086_39(unknown) = ^CallSideEffect : ~m? -#-----| v0_16(void) = ^IndirectReadSideEffect[-1] : &:r0_15, ~m? -# 1086| r1086_40(glval) = CopyValue : r1086_38 -# 1086| r1086_41(glval) = Convert : r1086_40 -# 1086| r1086_42(int &) = CopyValue : r1086_41 -# 1086| mu1086_43(int &) = Store[e] : &:r1086_35, r1086_42 -# 1087| r1087_1(glval) = VariableAddress[e] : -# 1087| r1087_2(int &) = Load[e] : &:r1087_1, ~m? -# 1087| r1087_3(int) = Load[?] : &:r1087_2, ~m? -# 1087| r1087_4(int) = Constant[5] : -# 1087| r1087_5(bool) = CompareLT : r1087_3, r1087_4 -# 1087| v1087_6(void) = ConditionalBranch : r1087_5 +# 1133| Block 8 +# 1133| r1133_36(glval) = VariableAddress[e] : +# 1133| r1133_37(glval>) = VariableAddress[(__begin)] : +#-----| r0_27(glval>) = Convert : r1133_37 +# 1133| r1133_38(glval) = FunctionAddress[operator*] : +# 1133| r1133_39(int &) = Call[operator*] : func:r1133_38, this:r0_27 +# 1133| mu1133_40(unknown) = ^CallSideEffect : ~m? +#-----| v0_28(void) = ^IndirectReadSideEffect[-1] : &:r0_27, ~m? +# 1133| r1133_41(glval) = CopyValue : r1133_39 +# 1133| r1133_42(glval) = Convert : r1133_41 +# 1133| r1133_43(int &) = CopyValue : r1133_42 +# 1133| mu1133_44(int &) = Store[e] : &:r1133_36, r1133_43 +# 1134| r1134_1(glval) = VariableAddress[e] : +# 1134| r1134_2(int &) = Load[e] : &:r1134_1, ~m? +# 1134| r1134_3(int) = Load[?] : &:r1134_2, ~m? +# 1134| r1134_4(int) = Constant[5] : +# 1134| r1134_5(bool) = CompareLT : r1134_3, r1134_4 +# 1134| v1134_6(void) = ConditionalBranch : r1134_5 #-----| False -> Block 7 #-----| True -> Block 9 -# 1088| Block 9 -# 1088| v1088_1(void) = NoOp : +# 1135| Block 9 +# 1135| v1135_1(void) = NoOp : #-----| Goto -> Block 10 -# 1090| Block 10 -# 1090| v1090_1(void) = NoOp : -# 1091| v1091_1(void) = NoOp : -# 1079| v1079_8(void) = ReturnIndirection[v] : &:r1079_6, ~m? -# 1079| v1079_9(void) = ReturnVoid : -# 1079| v1079_10(void) = AliasedUse : ~m? -# 1079| v1079_11(void) = ExitFunction : +# 1137| Block 10 +# 1137| v1137_1(void) = NoOp : +# 1138| v1138_1(void) = NoOp : +# 1126| v1126_8(void) = ReturnIndirection[v] : &:r1126_6, ~m? +# 1126| v1126_9(void) = ReturnVoid : +# 1126| v1126_10(void) = AliasedUse : ~m? +# 1126| v1126_11(void) = ExitFunction : -# 1110| int AsmStmt(int) -# 1110| Block 0 -# 1110| v1110_1(void) = EnterFunction : -# 1110| mu1110_2(unknown) = AliasedDefinition : -# 1110| mu1110_3(unknown) = InitializeNonLocal : -# 1110| r1110_4(glval) = VariableAddress[x] : -# 1110| mu1110_5(int) = InitializeParameter[x] : &:r1110_4 -# 1111| mu1111_1(unknown) = InlineAsm : ~m? -# 1112| r1112_1(glval) = VariableAddress[#return] : -# 1112| r1112_2(glval) = VariableAddress[x] : -# 1112| r1112_3(int) = Load[x] : &:r1112_2, ~m? -# 1112| mu1112_4(int) = Store[#return] : &:r1112_1, r1112_3 -# 1110| r1110_6(glval) = VariableAddress[#return] : -# 1110| v1110_7(void) = ReturnValue : &:r1110_6, ~m? -# 1110| v1110_8(void) = AliasedUse : ~m? -# 1110| v1110_9(void) = ExitFunction : +# 1157| int AsmStmt(int) +# 1157| Block 0 +# 1157| v1157_1(void) = EnterFunction : +# 1157| mu1157_2(unknown) = AliasedDefinition : +# 1157| mu1157_3(unknown) = InitializeNonLocal : +# 1157| r1157_4(glval) = VariableAddress[x] : +# 1157| mu1157_5(int) = InitializeParameter[x] : &:r1157_4 +# 1158| mu1158_1(unknown) = InlineAsm : ~m? +# 1159| r1159_1(glval) = VariableAddress[#return] : +# 1159| r1159_2(glval) = VariableAddress[x] : +# 1159| r1159_3(int) = Load[x] : &:r1159_2, ~m? +# 1159| mu1159_4(int) = Store[#return] : &:r1159_1, r1159_3 +# 1157| r1157_6(glval) = VariableAddress[#return] : +# 1157| v1157_7(void) = ReturnValue : &:r1157_6, ~m? +# 1157| v1157_8(void) = AliasedUse : ~m? +# 1157| v1157_9(void) = ExitFunction : -# 1115| void AsmStmtWithOutputs(unsigned int&, unsigned int, unsigned int&, unsigned int) -# 1115| Block 0 -# 1115| v1115_1(void) = EnterFunction : -# 1115| mu1115_2(unknown) = AliasedDefinition : -# 1115| mu1115_3(unknown) = InitializeNonLocal : -# 1115| r1115_4(glval) = VariableAddress[a] : -# 1115| mu1115_5(unsigned int &) = InitializeParameter[a] : &:r1115_4 -# 1115| r1115_6(unsigned int &) = Load[a] : &:r1115_4, ~m? -# 1115| mu1115_7(unknown) = InitializeIndirection[a] : &:r1115_6 -# 1115| r1115_8(glval) = VariableAddress[b] : -# 1115| mu1115_9(unsigned int) = InitializeParameter[b] : &:r1115_8 -# 1115| r1115_10(glval) = VariableAddress[c] : -# 1115| mu1115_11(unsigned int &) = InitializeParameter[c] : &:r1115_10 -# 1115| r1115_12(unsigned int &) = Load[c] : &:r1115_10, ~m? -# 1115| mu1115_13(unknown) = InitializeIndirection[c] : &:r1115_12 -# 1115| r1115_14(glval) = VariableAddress[d] : -# 1115| mu1115_15(unsigned int) = InitializeParameter[d] : &:r1115_14 -# 1120| r1120_1(glval) = VariableAddress[a] : -# 1120| r1120_2(unsigned int &) = Load[a] : &:r1120_1, ~m? -# 1120| r1120_3(glval) = CopyValue : r1120_2 -# 1120| r1120_4(glval) = VariableAddress[b] : -# 1120| r1120_5(glval) = VariableAddress[c] : -# 1120| r1120_6(unsigned int &) = Load[c] : &:r1120_5, ~m? -# 1120| r1120_7(unsigned int) = Load[?] : &:r1120_6, ~m? -# 1120| r1120_8(glval) = VariableAddress[d] : -# 1120| r1120_9(unsigned int) = Load[d] : &:r1120_8, ~m? -# 1117| mu1117_1(unknown) = InlineAsm : ~m?, 0:r1120_3, 1:r1120_4, 2:r1120_7, 3:r1120_9 -# 1122| v1122_1(void) = NoOp : -# 1115| v1115_16(void) = ReturnIndirection[a] : &:r1115_6, ~m? -# 1115| v1115_17(void) = ReturnIndirection[c] : &:r1115_12, ~m? -# 1115| v1115_18(void) = ReturnVoid : -# 1115| v1115_19(void) = AliasedUse : ~m? -# 1115| v1115_20(void) = ExitFunction : +# 1162| void AsmStmtWithOutputs(unsigned int&, unsigned int, unsigned int&, unsigned int) +# 1162| Block 0 +# 1162| v1162_1(void) = EnterFunction : +# 1162| mu1162_2(unknown) = AliasedDefinition : +# 1162| mu1162_3(unknown) = InitializeNonLocal : +# 1162| r1162_4(glval) = VariableAddress[a] : +# 1162| mu1162_5(unsigned int &) = InitializeParameter[a] : &:r1162_4 +# 1162| r1162_6(unsigned int &) = Load[a] : &:r1162_4, ~m? +# 1162| mu1162_7(unknown) = InitializeIndirection[a] : &:r1162_6 +# 1162| r1162_8(glval) = VariableAddress[b] : +# 1162| mu1162_9(unsigned int) = InitializeParameter[b] : &:r1162_8 +# 1162| r1162_10(glval) = VariableAddress[c] : +# 1162| mu1162_11(unsigned int &) = InitializeParameter[c] : &:r1162_10 +# 1162| r1162_12(unsigned int &) = Load[c] : &:r1162_10, ~m? +# 1162| mu1162_13(unknown) = InitializeIndirection[c] : &:r1162_12 +# 1162| r1162_14(glval) = VariableAddress[d] : +# 1162| mu1162_15(unsigned int) = InitializeParameter[d] : &:r1162_14 +# 1167| r1167_1(glval) = VariableAddress[a] : +# 1167| r1167_2(unsigned int &) = Load[a] : &:r1167_1, ~m? +# 1167| r1167_3(glval) = CopyValue : r1167_2 +# 1167| r1167_4(glval) = VariableAddress[b] : +# 1167| r1167_5(glval) = VariableAddress[c] : +# 1167| r1167_6(unsigned int &) = Load[c] : &:r1167_5, ~m? +# 1167| r1167_7(unsigned int) = Load[?] : &:r1167_6, ~m? +# 1167| r1167_8(glval) = VariableAddress[d] : +# 1167| r1167_9(unsigned int) = Load[d] : &:r1167_8, ~m? +# 1164| mu1164_1(unknown) = InlineAsm : ~m?, 0:r1167_3, 1:r1167_4, 2:r1167_7, 3:r1167_9 +# 1169| v1169_1(void) = NoOp : +# 1162| v1162_16(void) = ReturnIndirection[a] : &:r1162_6, ~m? +# 1162| v1162_17(void) = ReturnIndirection[c] : &:r1162_12, ~m? +# 1162| v1162_18(void) = ReturnVoid : +# 1162| v1162_19(void) = AliasedUse : ~m? +# 1162| v1162_20(void) = ExitFunction : -# 1124| void ExternDeclarations() -# 1124| Block 0 -# 1124| v1124_1(void) = EnterFunction : -# 1124| mu1124_2(unknown) = AliasedDefinition : -# 1124| mu1124_3(unknown) = InitializeNonLocal : -# 1127| r1127_1(glval) = VariableAddress[x] : -# 1127| mu1127_2(int) = Uninitialized[x] : &:r1127_1 -# 1128| r1128_1(glval) = VariableAddress[y] : -# 1128| mu1128_2(int) = Uninitialized[y] : &:r1128_1 -# 1129| r1129_1(glval) = VariableAddress[h] : -# 1129| mu1129_2(int) = Uninitialized[h] : &:r1129_1 -# 1131| v1131_1(void) = NoOp : -# 1124| v1124_4(void) = ReturnVoid : -# 1124| v1124_5(void) = AliasedUse : ~m? -# 1124| v1124_6(void) = ExitFunction : +# 1171| void ExternDeclarations() +# 1171| Block 0 +# 1171| v1171_1(void) = EnterFunction : +# 1171| mu1171_2(unknown) = AliasedDefinition : +# 1171| mu1171_3(unknown) = InitializeNonLocal : +# 1174| r1174_1(glval) = VariableAddress[x] : +# 1174| mu1174_2(int) = Uninitialized[x] : &:r1174_1 +# 1175| r1175_1(glval) = VariableAddress[y] : +# 1175| mu1175_2(int) = Uninitialized[y] : &:r1175_1 +# 1176| r1176_1(glval) = VariableAddress[h] : +# 1176| mu1176_2(int) = Uninitialized[h] : &:r1176_1 +# 1178| v1178_1(void) = NoOp : +# 1171| v1171_4(void) = ReturnVoid : +# 1171| v1171_5(void) = AliasedUse : ~m? +# 1171| v1171_6(void) = ExitFunction : -# 1139| void ExternDeclarationsInMacro() -# 1139| Block 0 -# 1139| v1139_1(void) = EnterFunction : -# 1139| mu1139_2(unknown) = AliasedDefinition : -# 1139| mu1139_3(unknown) = InitializeNonLocal : -# 1141| r1141_1(glval) = VariableAddress[i] : -# 1141| r1141_2(int) = Constant[0] : -# 1141| mu1141_3(int) = Store[i] : &:r1141_1, r1141_2 +# 1186| void ExternDeclarationsInMacro() +# 1186| Block 0 +# 1186| v1186_1(void) = EnterFunction : +# 1186| mu1186_2(unknown) = AliasedDefinition : +# 1186| mu1186_3(unknown) = InitializeNonLocal : +# 1188| r1188_1(glval) = VariableAddress[i] : +# 1188| r1188_2(int) = Constant[0] : +# 1188| mu1188_3(int) = Store[i] : &:r1188_1, r1188_2 #-----| Goto -> Block 1 -# 1141| Block 1 -# 1141| r1141_4(glval) = VariableAddress[i] : -# 1141| r1141_5(int) = Load[i] : &:r1141_4, ~m? -# 1141| r1141_6(int) = Constant[10] : -# 1141| r1141_7(bool) = CompareLT : r1141_5, r1141_6 -# 1141| v1141_8(void) = ConditionalBranch : r1141_7 +# 1188| Block 1 +# 1188| r1188_4(glval) = VariableAddress[i] : +# 1188| r1188_5(int) = Load[i] : &:r1188_4, ~m? +# 1188| r1188_6(int) = Constant[10] : +# 1188| r1188_7(bool) = CompareLT : r1188_5, r1188_6 +# 1188| v1188_8(void) = ConditionalBranch : r1188_7 #-----| False -> Block 3 #-----| True -> Block 2 -# 1141| Block 2 -# 1141| r1141_9(glval) = VariableAddress[i] : -# 1141| r1141_10(int) = Load[i] : &:r1141_9, ~m? -# 1141| r1141_11(int) = Constant[1] : -# 1141| r1141_12(int) = Add : r1141_10, r1141_11 -# 1141| mu1141_13(int) = Store[i] : &:r1141_9, r1141_12 +# 1188| Block 2 +# 1188| r1188_9(glval) = VariableAddress[i] : +# 1188| r1188_10(int) = Load[i] : &:r1188_9, ~m? +# 1188| r1188_11(int) = Constant[1] : +# 1188| r1188_12(int) = Add : r1188_10, r1188_11 +# 1188| mu1188_13(int) = Store[i] : &:r1188_9, r1188_12 #-----| Goto (back edge) -> Block 1 -# 1141| Block 3 -# 1141| v1141_14(void) = NoOp : -# 1142| v1142_1(void) = NoOp : -# 1139| v1139_4(void) = ReturnVoid : -# 1139| v1139_5(void) = AliasedUse : ~m? -# 1139| v1139_6(void) = ExitFunction : +# 1188| Block 3 +# 1188| v1188_14(void) = NoOp : +# 1189| v1189_1(void) = NoOp : +# 1186| v1186_4(void) = ReturnVoid : +# 1186| v1186_5(void) = AliasedUse : ~m? +# 1186| v1186_6(void) = ExitFunction : -# 1144| void TryCatchNoCatchAny(bool) -# 1144| Block 0 -# 1144| v1144_1(void) = EnterFunction : -# 1144| mu1144_2(unknown) = AliasedDefinition : -# 1144| mu1144_3(unknown) = InitializeNonLocal : -# 1144| r1144_4(glval) = VariableAddress[b] : -# 1144| mu1144_5(bool) = InitializeParameter[b] : &:r1144_4 -# 1146| r1146_1(glval) = VariableAddress[x] : -# 1146| r1146_2(int) = Constant[5] : -# 1146| mu1146_3(int) = Store[x] : &:r1146_1, r1146_2 -# 1147| r1147_1(glval) = VariableAddress[b] : -# 1147| r1147_2(bool) = Load[b] : &:r1147_1, ~m? -# 1147| v1147_3(void) = ConditionalBranch : r1147_2 +# 1191| void TryCatchNoCatchAny(bool) +# 1191| Block 0 +# 1191| v1191_1(void) = EnterFunction : +# 1191| mu1191_2(unknown) = AliasedDefinition : +# 1191| mu1191_3(unknown) = InitializeNonLocal : +# 1191| r1191_4(glval) = VariableAddress[b] : +# 1191| mu1191_5(bool) = InitializeParameter[b] : &:r1191_4 +# 1193| r1193_1(glval) = VariableAddress[x] : +# 1193| r1193_2(int) = Constant[5] : +# 1193| mu1193_3(int) = Store[x] : &:r1193_1, r1193_2 +# 1194| r1194_1(glval) = VariableAddress[b] : +# 1194| r1194_2(bool) = Load[b] : &:r1194_1, ~m? +# 1194| v1194_3(void) = ConditionalBranch : r1194_2 #-----| False -> Block 4 #-----| True -> Block 3 -# 1144| Block 1 -# 1144| v1144_6(void) = AliasedUse : ~m? -# 1144| v1144_7(void) = ExitFunction : +# 1191| Block 1 +# 1191| v1191_6(void) = AliasedUse : ~m? +# 1191| v1191_7(void) = ExitFunction : -# 1144| Block 2 -# 1144| v1144_8(void) = Unwind : +# 1191| Block 2 +# 1191| v1191_8(void) = Unwind : #-----| Goto -> Block 1 -# 1148| Block 3 -# 1148| r1148_1(glval) = VariableAddress[#throw1148:7] : -# 1148| r1148_2(glval) = StringConstant["string literal"] : -# 1148| r1148_3(char *) = Convert : r1148_2 -# 1148| mu1148_4(char *) = Store[#throw1148:7] : &:r1148_1, r1148_3 -# 1148| v1148_5(void) = ThrowValue : &:r1148_1, ~m? +# 1195| Block 3 +# 1195| r1195_1(glval) = VariableAddress[#throw1195:7] : +# 1195| r1195_2(glval) = StringConstant["string literal"] : +# 1195| r1195_3(char *) = Convert : r1195_2 +# 1195| mu1195_4(char *) = Store[#throw1195:7] : &:r1195_1, r1195_3 +# 1195| v1195_5(void) = ThrowValue : &:r1195_1, ~m? #-----| Exception -> Block 9 -# 1150| Block 4 -# 1150| r1150_1(glval) = VariableAddress[x] : -# 1150| r1150_2(int) = Load[x] : &:r1150_1, ~m? -# 1150| r1150_3(int) = Constant[2] : -# 1150| r1150_4(bool) = CompareLT : r1150_2, r1150_3 -# 1150| v1150_5(void) = ConditionalBranch : r1150_4 +# 1197| Block 4 +# 1197| r1197_1(glval) = VariableAddress[x] : +# 1197| r1197_2(int) = Load[x] : &:r1197_1, ~m? +# 1197| r1197_3(int) = Constant[2] : +# 1197| r1197_4(bool) = CompareLT : r1197_2, r1197_3 +# 1197| v1197_5(void) = ConditionalBranch : r1197_4 #-----| False -> Block 8 #-----| True -> Block 5 -# 1151| Block 5 -# 1151| r1151_1(glval) = VariableAddress[b] : -# 1151| r1151_2(bool) = Load[b] : &:r1151_1, ~m? -# 1151| v1151_3(void) = ConditionalBranch : r1151_2 +# 1198| Block 5 +# 1198| r1198_1(glval) = VariableAddress[b] : +# 1198| r1198_2(bool) = Load[b] : &:r1198_1, ~m? +# 1198| v1198_3(void) = ConditionalBranch : r1198_2 #-----| False -> Block 7 #-----| True -> Block 6 -# 1151| Block 6 -# 1151| r1151_4(int) = Constant[7] : -# 1151| r1151_5(glval) = VariableAddress[#temp1151:11] : -# 1151| mu1151_6(int) = Store[#temp1151:11] : &:r1151_5, r1151_4 -# 1151| r1151_7(glval) = VariableAddress[#temp1151:11] : -# 1151| r1151_8(int) = Load[#temp1151:11] : &:r1151_7, ~m? -# 1151| r1151_9(glval) = VariableAddress[x] : -# 1151| mu1151_10(int) = Store[x] : &:r1151_9, r1151_8 +# 1198| Block 6 +# 1198| r1198_4(int) = Constant[7] : +# 1198| r1198_5(glval) = VariableAddress[#temp1198:11] : +# 1198| mu1198_6(int) = Store[#temp1198:11] : &:r1198_5, r1198_4 +# 1198| r1198_7(glval) = VariableAddress[#temp1198:11] : +# 1198| r1198_8(int) = Load[#temp1198:11] : &:r1198_7, ~m? +# 1198| r1198_9(glval) = VariableAddress[x] : +# 1198| mu1198_10(int) = Store[x] : &:r1198_9, r1198_8 #-----| Goto -> Block 8 -# 1151| Block 7 -# 1151| r1151_11(glval) = VariableAddress[#throw1151:19] : -# 1151| mu1151_12(String) = Uninitialized[#throw1151:19] : &:r1151_11 -# 1151| r1151_13(glval) = FunctionAddress[String] : -# 1151| r1151_14(glval) = StringConstant["String object"] : -# 1151| r1151_15(char *) = Convert : r1151_14 -# 1151| v1151_16(void) = Call[String] : func:r1151_13, this:r1151_11, 0:r1151_15 -# 1151| mu1151_17(unknown) = ^CallSideEffect : ~m? -# 1151| v1151_18(void) = ^BufferReadSideEffect[0] : &:r1151_15, ~m? -# 1151| mu1151_19(String) = ^IndirectMayWriteSideEffect[-1] : &:r1151_11 -# 1151| v1151_20(void) = ThrowValue : &:r1151_11, ~m? +# 1198| Block 7 +# 1198| r1198_11(glval) = VariableAddress[#throw1198:19] : +# 1198| mu1198_12(String) = Uninitialized[#throw1198:19] : &:r1198_11 +# 1198| r1198_13(glval) = FunctionAddress[String] : +# 1198| r1198_14(glval) = StringConstant["String object"] : +# 1198| r1198_15(char *) = Convert : r1198_14 +# 1198| v1198_16(void) = Call[String] : func:r1198_13, this:r1198_11, 0:r1198_15 +# 1198| mu1198_17(unknown) = ^CallSideEffect : ~m? +# 1198| v1198_18(void) = ^BufferReadSideEffect[0] : &:r1198_15, ~m? +# 1198| mu1198_19(String) = ^IndirectMayWriteSideEffect[-1] : &:r1198_11 +# 1198| v1198_20(void) = ThrowValue : &:r1198_11, ~m? #-----| Exception -> Block 9 -# 1153| Block 8 -# 1153| r1153_1(int) = Constant[7] : -# 1153| r1153_2(glval) = VariableAddress[x] : -# 1153| mu1153_3(int) = Store[x] : &:r1153_2, r1153_1 +# 1200| Block 8 +# 1200| r1200_1(int) = Constant[7] : +# 1200| r1200_2(glval) = VariableAddress[x] : +# 1200| mu1200_3(int) = Store[x] : &:r1200_2, r1200_1 #-----| Goto -> Block 13 -# 1155| Block 9 -# 1155| v1155_1(void) = CatchByType[const char *] : +# 1202| Block 9 +# 1202| v1202_1(void) = CatchByType[const char *] : #-----| Exception -> Block 11 #-----| Goto -> Block 10 -# 1155| Block 10 -# 1155| r1155_2(glval) = VariableAddress[s] : -# 1155| mu1155_3(char *) = InitializeParameter[s] : &:r1155_2 -# 1155| r1155_4(char *) = Load[s] : &:r1155_2, ~m? -# 1155| mu1155_5(unknown) = InitializeIndirection[s] : &:r1155_4 -# 1156| r1156_1(glval) = VariableAddress[#throw1156:5] : -# 1156| mu1156_2(String) = Uninitialized[#throw1156:5] : &:r1156_1 -# 1156| r1156_3(glval) = FunctionAddress[String] : -# 1156| r1156_4(glval) = VariableAddress[s] : -# 1156| r1156_5(char *) = Load[s] : &:r1156_4, ~m? -# 1156| v1156_6(void) = Call[String] : func:r1156_3, this:r1156_1, 0:r1156_5 -# 1156| mu1156_7(unknown) = ^CallSideEffect : ~m? -# 1156| v1156_8(void) = ^BufferReadSideEffect[0] : &:r1156_5, ~m? -# 1156| mu1156_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r1156_1 -# 1156| v1156_10(void) = ThrowValue : &:r1156_1, ~m? +# 1202| Block 10 +# 1202| r1202_2(glval) = VariableAddress[s] : +# 1202| mu1202_3(char *) = InitializeParameter[s] : &:r1202_2 +# 1202| r1202_4(char *) = Load[s] : &:r1202_2, ~m? +# 1202| mu1202_5(unknown) = InitializeIndirection[s] : &:r1202_4 +# 1203| r1203_1(glval) = VariableAddress[#throw1203:5] : +# 1203| mu1203_2(String) = Uninitialized[#throw1203:5] : &:r1203_1 +# 1203| r1203_3(glval) = FunctionAddress[String] : +# 1203| r1203_4(glval) = VariableAddress[s] : +# 1203| r1203_5(char *) = Load[s] : &:r1203_4, ~m? +# 1203| v1203_6(void) = Call[String] : func:r1203_3, this:r1203_1, 0:r1203_5 +# 1203| mu1203_7(unknown) = ^CallSideEffect : ~m? +# 1203| v1203_8(void) = ^BufferReadSideEffect[0] : &:r1203_5, ~m? +# 1203| mu1203_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r1203_1 +# 1203| v1203_10(void) = ThrowValue : &:r1203_1, ~m? #-----| Exception -> Block 2 -# 1158| Block 11 -# 1158| v1158_1(void) = CatchByType[const String &] : +# 1205| Block 11 +# 1205| v1205_1(void) = CatchByType[const String &] : #-----| Exception -> Block 2 #-----| Goto -> Block 12 -# 1158| Block 12 -# 1158| r1158_2(glval) = VariableAddress[e] : -# 1158| mu1158_3(String &) = InitializeParameter[e] : &:r1158_2 -# 1158| r1158_4(String &) = Load[e] : &:r1158_2, ~m? -# 1158| mu1158_5(unknown) = InitializeIndirection[e] : &:r1158_4 -# 1158| v1158_6(void) = NoOp : +# 1205| Block 12 +# 1205| r1205_2(glval) = VariableAddress[e] : +# 1205| mu1205_3(String &) = InitializeParameter[e] : &:r1205_2 +# 1205| r1205_4(String &) = Load[e] : &:r1205_2, ~m? +# 1205| mu1205_5(unknown) = InitializeIndirection[e] : &:r1205_4 +# 1205| v1205_6(void) = NoOp : #-----| Goto -> Block 13 -# 1160| Block 13 -# 1160| v1160_1(void) = NoOp : -# 1144| v1144_9(void) = ReturnVoid : +# 1207| Block 13 +# 1207| v1207_1(void) = NoOp : +# 1191| v1191_9(void) = ReturnVoid : #-----| Goto -> Block 1 -# 1164| void VectorTypes(int) -# 1164| Block 0 -# 1164| v1164_1(void) = EnterFunction : -# 1164| mu1164_2(unknown) = AliasedDefinition : -# 1164| mu1164_3(unknown) = InitializeNonLocal : -# 1164| r1164_4(glval) = VariableAddress[i] : -# 1164| mu1164_5(int) = InitializeParameter[i] : &:r1164_4 -# 1165| r1165_1(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : -# 1165| mu1165_2(__attribute((vector_size(16UL))) int) = Uninitialized[vi4] : &:r1165_1 -# 1165| r1165_3(int) = Constant[0] : -# 1165| r1165_4(glval) = PointerAdd[4] : r1165_1, r1165_3 -# 1165| r1165_5(int) = Constant[0] : -# 1165| mu1165_6(int) = Store[?] : &:r1165_4, r1165_5 -# 1165| r1165_7(int) = Constant[1] : -# 1165| r1165_8(glval) = PointerAdd[4] : r1165_1, r1165_7 -# 1165| r1165_9(int) = Constant[1] : -# 1165| mu1165_10(int) = Store[?] : &:r1165_8, r1165_9 -# 1165| r1165_11(int) = Constant[2] : -# 1165| r1165_12(glval) = PointerAdd[4] : r1165_1, r1165_11 -# 1165| r1165_13(int) = Constant[2] : -# 1165| mu1165_14(int) = Store[?] : &:r1165_12, r1165_13 -# 1165| r1165_15(int) = Constant[3] : -# 1165| r1165_16(glval) = PointerAdd[4] : r1165_1, r1165_15 -# 1165| r1165_17(int) = Constant[3] : -# 1165| mu1165_18(int) = Store[?] : &:r1165_16, r1165_17 -# 1166| r1166_1(glval) = VariableAddress[x] : -# 1166| r1166_2(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : -# 1166| r1166_3(glval) = VariableAddress[i] : -# 1166| r1166_4(int) = Load[i] : &:r1166_3, ~m? -# 1166| r1166_5(glval) = PointerAdd[4] : r1166_2, r1166_4 -# 1166| r1166_6(int) = Load[?] : &:r1166_5, ~m? -# 1166| mu1166_7(int) = Store[x] : &:r1166_1, r1166_6 -# 1167| r1167_1(glval) = VariableAddress[x] : -# 1167| r1167_2(int) = Load[x] : &:r1167_1, ~m? -# 1167| r1167_3(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : -# 1167| r1167_4(glval) = VariableAddress[i] : -# 1167| r1167_5(int) = Load[i] : &:r1167_4, ~m? -# 1167| r1167_6(glval) = PointerAdd[4] : r1167_3, r1167_5 -# 1167| mu1167_7(int) = Store[?] : &:r1167_6, r1167_2 -# 1168| r1168_1(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4_shuffle] : -# 1168| r1168_2(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : -# 1168| r1168_3(__attribute((vector_size(16UL))) int) = Load[vi4] : &:r1168_2, ~m? -# 1168| r1168_4(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : -# 1168| r1168_5(__attribute((vector_size(16UL))) int) = Load[vi4] : &:r1168_4, ~m? -# 1168| r1168_6(int) = Constant[3] : -# 1168| r1168_7(int) = Constant[2] : -# 1168| r1168_8(int) = Constant[1] : -# 1168| r1168_9(int) = Constant[0] : -# 1168| r1168_10(__attribute((vector_size(16))) int) = BuiltIn[__builtin_shufflevector] : 0:r1168_3, 1:r1168_5, 2:r1168_6, 3:r1168_7, 4:r1168_8, 5:r1168_9 -# 1168| mu1168_11(__attribute((vector_size(16UL))) int) = Store[vi4_shuffle] : &:r1168_1, r1168_10 -# 1169| r1169_1(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : -# 1169| r1169_2(__attribute((vector_size(16UL))) int) = Load[vi4] : &:r1169_1, ~m? -# 1169| r1169_3(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4_shuffle] : -# 1169| r1169_4(__attribute((vector_size(16UL))) int) = Load[vi4_shuffle] : &:r1169_3, ~m? -# 1169| r1169_5(__attribute((vector_size(16UL))) int) = Add : r1169_2, r1169_4 -# 1169| r1169_6(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : -# 1169| mu1169_7(__attribute((vector_size(16UL))) int) = Store[vi4] : &:r1169_6, r1169_5 -# 1170| v1170_1(void) = NoOp : -# 1164| v1164_6(void) = ReturnVoid : -# 1164| v1164_7(void) = AliasedUse : ~m? -# 1164| v1164_8(void) = ExitFunction : +# 1211| void VectorTypes(int) +# 1211| Block 0 +# 1211| v1211_1(void) = EnterFunction : +# 1211| mu1211_2(unknown) = AliasedDefinition : +# 1211| mu1211_3(unknown) = InitializeNonLocal : +# 1211| r1211_4(glval) = VariableAddress[i] : +# 1211| mu1211_5(int) = InitializeParameter[i] : &:r1211_4 +# 1212| r1212_1(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : +# 1212| mu1212_2(__attribute((vector_size(16UL))) int) = Uninitialized[vi4] : &:r1212_1 +# 1212| r1212_3(int) = Constant[0] : +# 1212| r1212_4(glval) = PointerAdd[4] : r1212_1, r1212_3 +# 1212| r1212_5(int) = Constant[0] : +# 1212| mu1212_6(int) = Store[?] : &:r1212_4, r1212_5 +# 1212| r1212_7(int) = Constant[1] : +# 1212| r1212_8(glval) = PointerAdd[4] : r1212_1, r1212_7 +# 1212| r1212_9(int) = Constant[1] : +# 1212| mu1212_10(int) = Store[?] : &:r1212_8, r1212_9 +# 1212| r1212_11(int) = Constant[2] : +# 1212| r1212_12(glval) = PointerAdd[4] : r1212_1, r1212_11 +# 1212| r1212_13(int) = Constant[2] : +# 1212| mu1212_14(int) = Store[?] : &:r1212_12, r1212_13 +# 1212| r1212_15(int) = Constant[3] : +# 1212| r1212_16(glval) = PointerAdd[4] : r1212_1, r1212_15 +# 1212| r1212_17(int) = Constant[3] : +# 1212| mu1212_18(int) = Store[?] : &:r1212_16, r1212_17 +# 1213| r1213_1(glval) = VariableAddress[x] : +# 1213| r1213_2(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : +# 1213| r1213_3(glval) = VariableAddress[i] : +# 1213| r1213_4(int) = Load[i] : &:r1213_3, ~m? +# 1213| r1213_5(glval) = PointerAdd[4] : r1213_2, r1213_4 +# 1213| r1213_6(int) = Load[?] : &:r1213_5, ~m? +# 1213| mu1213_7(int) = Store[x] : &:r1213_1, r1213_6 +# 1214| r1214_1(glval) = VariableAddress[x] : +# 1214| r1214_2(int) = Load[x] : &:r1214_1, ~m? +# 1214| r1214_3(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : +# 1214| r1214_4(glval) = VariableAddress[i] : +# 1214| r1214_5(int) = Load[i] : &:r1214_4, ~m? +# 1214| r1214_6(glval) = PointerAdd[4] : r1214_3, r1214_5 +# 1214| mu1214_7(int) = Store[?] : &:r1214_6, r1214_2 +# 1215| r1215_1(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4_shuffle] : +# 1215| r1215_2(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : +# 1215| r1215_3(__attribute((vector_size(16UL))) int) = Load[vi4] : &:r1215_2, ~m? +# 1215| r1215_4(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : +# 1215| r1215_5(__attribute((vector_size(16UL))) int) = Load[vi4] : &:r1215_4, ~m? +# 1215| r1215_6(int) = Constant[3] : +# 1215| r1215_7(int) = Constant[2] : +# 1215| r1215_8(int) = Constant[1] : +# 1215| r1215_9(int) = Constant[0] : +# 1215| r1215_10(__attribute((vector_size(16))) int) = BuiltIn[__builtin_shufflevector] : 0:r1215_3, 1:r1215_5, 2:r1215_6, 3:r1215_7, 4:r1215_8, 5:r1215_9 +# 1215| mu1215_11(__attribute((vector_size(16UL))) int) = Store[vi4_shuffle] : &:r1215_1, r1215_10 +# 1216| r1216_1(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : +# 1216| r1216_2(__attribute((vector_size(16UL))) int) = Load[vi4] : &:r1216_1, ~m? +# 1216| r1216_3(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4_shuffle] : +# 1216| r1216_4(__attribute((vector_size(16UL))) int) = Load[vi4_shuffle] : &:r1216_3, ~m? +# 1216| r1216_5(__attribute((vector_size(16UL))) int) = Add : r1216_2, r1216_4 +# 1216| r1216_6(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : +# 1216| mu1216_7(__attribute((vector_size(16UL))) int) = Store[vi4] : &:r1216_6, r1216_5 +# 1217| v1217_1(void) = NoOp : +# 1211| v1211_6(void) = ReturnVoid : +# 1211| v1211_7(void) = AliasedUse : ~m? +# 1211| v1211_8(void) = ExitFunction : -# 1174| int ModeledCallTarget(int) -# 1174| Block 0 -# 1174| v1174_1(void) = EnterFunction : -# 1174| mu1174_2(unknown) = AliasedDefinition : -# 1174| mu1174_3(unknown) = InitializeNonLocal : -# 1174| r1174_4(glval) = VariableAddress[x] : -# 1174| mu1174_5(int) = InitializeParameter[x] : &:r1174_4 -# 1175| r1175_1(glval) = VariableAddress[y] : -# 1175| mu1175_2(int) = Uninitialized[y] : &:r1175_1 -# 1176| r1176_1(glval) = FunctionAddress[memcpy] : -# 1176| r1176_2(glval) = VariableAddress[y] : -# 1176| r1176_3(int *) = CopyValue : r1176_2 -# 1176| r1176_4(void *) = Convert : r1176_3 -# 1176| r1176_5(glval) = VariableAddress[x] : -# 1176| r1176_6(int *) = CopyValue : r1176_5 -# 1176| r1176_7(void *) = Convert : r1176_6 -# 1176| r1176_8(int) = Constant[4] : -# 1176| r1176_9(void *) = Call[memcpy] : func:r1176_1, 0:r1176_4, 1:r1176_7, 2:r1176_8 -# 1176| v1176_10(void) = ^SizedBufferReadSideEffect[1] : &:r1176_7, r1176_8, ~m? -# 1176| mu1176_11(unknown) = ^SizedBufferMustWriteSideEffect[0] : &:r1176_4, r1176_8 -# 1177| r1177_1(glval) = VariableAddress[#return] : -# 1177| r1177_2(glval) = VariableAddress[y] : -# 1177| r1177_3(int) = Load[y] : &:r1177_2, ~m? -# 1177| mu1177_4(int) = Store[#return] : &:r1177_1, r1177_3 -# 1174| r1174_6(glval) = VariableAddress[#return] : -# 1174| v1174_7(void) = ReturnValue : &:r1174_6, ~m? -# 1174| v1174_8(void) = AliasedUse : ~m? -# 1174| v1174_9(void) = ExitFunction : +# 1221| int ModeledCallTarget(int) +# 1221| Block 0 +# 1221| v1221_1(void) = EnterFunction : +# 1221| mu1221_2(unknown) = AliasedDefinition : +# 1221| mu1221_3(unknown) = InitializeNonLocal : +# 1221| r1221_4(glval) = VariableAddress[x] : +# 1221| mu1221_5(int) = InitializeParameter[x] : &:r1221_4 +# 1222| r1222_1(glval) = VariableAddress[y] : +# 1222| mu1222_2(int) = Uninitialized[y] : &:r1222_1 +# 1223| r1223_1(glval) = FunctionAddress[memcpy] : +# 1223| r1223_2(glval) = VariableAddress[y] : +# 1223| r1223_3(int *) = CopyValue : r1223_2 +# 1223| r1223_4(void *) = Convert : r1223_3 +# 1223| r1223_5(glval) = VariableAddress[x] : +# 1223| r1223_6(int *) = CopyValue : r1223_5 +# 1223| r1223_7(void *) = Convert : r1223_6 +# 1223| r1223_8(int) = Constant[4] : +# 1223| r1223_9(void *) = Call[memcpy] : func:r1223_1, 0:r1223_4, 1:r1223_7, 2:r1223_8 +# 1223| v1223_10(void) = ^SizedBufferReadSideEffect[1] : &:r1223_7, r1223_8, ~m? +# 1223| mu1223_11(unknown) = ^SizedBufferMustWriteSideEffect[0] : &:r1223_4, r1223_8 +# 1224| r1224_1(glval) = VariableAddress[#return] : +# 1224| r1224_2(glval) = VariableAddress[y] : +# 1224| r1224_3(int) = Load[y] : &:r1224_2, ~m? +# 1224| mu1224_4(int) = Store[#return] : &:r1224_1, r1224_3 +# 1221| r1221_6(glval) = VariableAddress[#return] : +# 1221| v1221_7(void) = ReturnValue : &:r1221_6, ~m? +# 1221| v1221_8(void) = AliasedUse : ~m? +# 1221| v1221_9(void) = ExitFunction : -# 1180| String ReturnObjectImpl() -# 1180| Block 0 -# 1180| v1180_1(void) = EnterFunction : -# 1180| mu1180_2(unknown) = AliasedDefinition : -# 1180| mu1180_3(unknown) = InitializeNonLocal : -# 1181| r1181_1(glval) = VariableAddress[#return] : -# 1181| mu1181_2(String) = Uninitialized[#return] : &:r1181_1 -# 1181| r1181_3(glval) = FunctionAddress[String] : -# 1181| r1181_4(glval) = StringConstant["foo"] : -# 1181| r1181_5(char *) = Convert : r1181_4 -# 1181| v1181_6(void) = Call[String] : func:r1181_3, this:r1181_1, 0:r1181_5 -# 1181| mu1181_7(unknown) = ^CallSideEffect : ~m? -# 1181| v1181_8(void) = ^BufferReadSideEffect[0] : &:r1181_5, ~m? -# 1181| mu1181_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r1181_1 -# 1180| r1180_4(glval) = VariableAddress[#return] : -# 1180| v1180_5(void) = ReturnValue : &:r1180_4, ~m? -# 1180| v1180_6(void) = AliasedUse : ~m? -# 1180| v1180_7(void) = ExitFunction : +# 1227| String ReturnObjectImpl() +# 1227| Block 0 +# 1227| v1227_1(void) = EnterFunction : +# 1227| mu1227_2(unknown) = AliasedDefinition : +# 1227| mu1227_3(unknown) = InitializeNonLocal : +# 1228| r1228_1(glval) = VariableAddress[#return] : +# 1228| mu1228_2(String) = Uninitialized[#return] : &:r1228_1 +# 1228| r1228_3(glval) = FunctionAddress[String] : +# 1228| r1228_4(glval) = StringConstant["foo"] : +# 1228| r1228_5(char *) = Convert : r1228_4 +# 1228| v1228_6(void) = Call[String] : func:r1228_3, this:r1228_1, 0:r1228_5 +# 1228| mu1228_7(unknown) = ^CallSideEffect : ~m? +# 1228| v1228_8(void) = ^BufferReadSideEffect[0] : &:r1228_5, ~m? +# 1228| mu1228_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r1228_1 +# 1227| r1227_4(glval) = VariableAddress[#return] : +# 1227| v1227_5(void) = ReturnValue : &:r1227_4, ~m? +# 1227| v1227_6(void) = AliasedUse : ~m? +# 1227| v1227_7(void) = ExitFunction : -# 1184| void switch1Case(int) -# 1184| Block 0 -# 1184| v1184_1(void) = EnterFunction : -# 1184| mu1184_2(unknown) = AliasedDefinition : -# 1184| mu1184_3(unknown) = InitializeNonLocal : -# 1184| r1184_4(glval) = VariableAddress[x] : -# 1184| mu1184_5(int) = InitializeParameter[x] : &:r1184_4 -# 1185| r1185_1(glval) = VariableAddress[y] : -# 1185| r1185_2(int) = Constant[0] : -# 1185| mu1185_3(int) = Store[y] : &:r1185_1, r1185_2 -# 1186| r1186_1(glval) = VariableAddress[x] : -# 1186| r1186_2(int) = Load[x] : &:r1186_1, ~m? -# 1186| v1186_3(void) = Switch : r1186_2 +# 1231| void switch1Case(int) +# 1231| Block 0 +# 1231| v1231_1(void) = EnterFunction : +# 1231| mu1231_2(unknown) = AliasedDefinition : +# 1231| mu1231_3(unknown) = InitializeNonLocal : +# 1231| r1231_4(glval) = VariableAddress[x] : +# 1231| mu1231_5(int) = InitializeParameter[x] : &:r1231_4 +# 1232| r1232_1(glval) = VariableAddress[y] : +# 1232| r1232_2(int) = Constant[0] : +# 1232| mu1232_3(int) = Store[y] : &:r1232_1, r1232_2 +# 1233| r1233_1(glval) = VariableAddress[x] : +# 1233| r1233_2(int) = Load[x] : &:r1233_1, ~m? +# 1233| v1233_3(void) = Switch : r1233_2 #-----| Case[1] -> Block 1 #-----| Default -> Block 2 -# 1187| Block 1 -# 1187| v1187_1(void) = NoOp : -# 1188| r1188_1(int) = Constant[2] : -# 1188| r1188_2(glval) = VariableAddress[y] : -# 1188| mu1188_3(int) = Store[y] : &:r1188_2, r1188_1 +# 1234| Block 1 +# 1234| v1234_1(void) = NoOp : +# 1235| r1235_1(int) = Constant[2] : +# 1235| r1235_2(glval) = VariableAddress[y] : +# 1235| mu1235_3(int) = Store[y] : &:r1235_2, r1235_1 #-----| Goto -> Block 2 -# 1190| Block 2 -# 1190| r1190_1(glval) = VariableAddress[z] : -# 1190| r1190_2(glval) = VariableAddress[y] : -# 1190| r1190_3(int) = Load[y] : &:r1190_2, ~m? -# 1190| mu1190_4(int) = Store[z] : &:r1190_1, r1190_3 -# 1191| v1191_1(void) = NoOp : -# 1184| v1184_6(void) = ReturnVoid : -# 1184| v1184_7(void) = AliasedUse : ~m? -# 1184| v1184_8(void) = ExitFunction : +# 1237| Block 2 +# 1237| r1237_1(glval) = VariableAddress[z] : +# 1237| r1237_2(glval) = VariableAddress[y] : +# 1237| r1237_3(int) = Load[y] : &:r1237_2, ~m? +# 1237| mu1237_4(int) = Store[z] : &:r1237_1, r1237_3 +# 1238| v1238_1(void) = NoOp : +# 1231| v1231_6(void) = ReturnVoid : +# 1231| v1231_7(void) = AliasedUse : ~m? +# 1231| v1231_8(void) = ExitFunction : -# 1193| void switch2Case_fallthrough(int) -# 1193| Block 0 -# 1193| v1193_1(void) = EnterFunction : -# 1193| mu1193_2(unknown) = AliasedDefinition : -# 1193| mu1193_3(unknown) = InitializeNonLocal : -# 1193| r1193_4(glval) = VariableAddress[x] : -# 1193| mu1193_5(int) = InitializeParameter[x] : &:r1193_4 -# 1194| r1194_1(glval) = VariableAddress[y] : -# 1194| r1194_2(int) = Constant[0] : -# 1194| mu1194_3(int) = Store[y] : &:r1194_1, r1194_2 -# 1195| r1195_1(glval) = VariableAddress[x] : -# 1195| r1195_2(int) = Load[x] : &:r1195_1, ~m? -# 1195| v1195_3(void) = Switch : r1195_2 +# 1240| void switch2Case_fallthrough(int) +# 1240| Block 0 +# 1240| v1240_1(void) = EnterFunction : +# 1240| mu1240_2(unknown) = AliasedDefinition : +# 1240| mu1240_3(unknown) = InitializeNonLocal : +# 1240| r1240_4(glval) = VariableAddress[x] : +# 1240| mu1240_5(int) = InitializeParameter[x] : &:r1240_4 +# 1241| r1241_1(glval) = VariableAddress[y] : +# 1241| r1241_2(int) = Constant[0] : +# 1241| mu1241_3(int) = Store[y] : &:r1241_1, r1241_2 +# 1242| r1242_1(glval) = VariableAddress[x] : +# 1242| r1242_2(int) = Load[x] : &:r1242_1, ~m? +# 1242| v1242_3(void) = Switch : r1242_2 #-----| Case[1] -> Block 1 #-----| Case[2] -> Block 2 #-----| Default -> Block 3 -# 1196| Block 1 -# 1196| v1196_1(void) = NoOp : -# 1197| r1197_1(int) = Constant[2] : -# 1197| r1197_2(glval) = VariableAddress[y] : -# 1197| mu1197_3(int) = Store[y] : &:r1197_2, r1197_1 -#-----| Goto -> Block 2 - -# 1198| Block 2 -# 1198| v1198_1(void) = NoOp : -# 1199| r1199_1(int) = Constant[3] : -# 1199| r1199_2(glval) = VariableAddress[y] : -# 1199| mu1199_3(int) = Store[y] : &:r1199_2, r1199_1 -#-----| Goto -> Block 3 - -# 1201| Block 3 -# 1201| r1201_1(glval) = VariableAddress[z] : -# 1201| r1201_2(glval) = VariableAddress[y] : -# 1201| r1201_3(int) = Load[y] : &:r1201_2, ~m? -# 1201| mu1201_4(int) = Store[z] : &:r1201_1, r1201_3 -# 1202| v1202_1(void) = NoOp : -# 1193| v1193_6(void) = ReturnVoid : -# 1193| v1193_7(void) = AliasedUse : ~m? -# 1193| v1193_8(void) = ExitFunction : - -# 1204| void switch2Case(int) -# 1204| Block 0 -# 1204| v1204_1(void) = EnterFunction : -# 1204| mu1204_2(unknown) = AliasedDefinition : -# 1204| mu1204_3(unknown) = InitializeNonLocal : -# 1204| r1204_4(glval) = VariableAddress[x] : -# 1204| mu1204_5(int) = InitializeParameter[x] : &:r1204_4 -# 1205| r1205_1(glval) = VariableAddress[y] : -# 1205| r1205_2(int) = Constant[0] : -# 1205| mu1205_3(int) = Store[y] : &:r1205_1, r1205_2 -# 1206| r1206_1(glval) = VariableAddress[x] : -# 1206| r1206_2(int) = Load[x] : &:r1206_1, ~m? -# 1206| v1206_3(void) = Switch : r1206_2 -#-----| Case[1] -> Block 1 -#-----| Case[2] -> Block 2 -#-----| Default -> Block 3 - -# 1207| Block 1 -# 1207| v1207_1(void) = NoOp : -# 1208| r1208_1(int) = Constant[2] : -# 1208| r1208_2(glval) = VariableAddress[y] : -# 1208| mu1208_3(int) = Store[y] : &:r1208_2, r1208_1 -# 1209| v1209_1(void) = NoOp : -#-----| Goto -> Block 3 - -# 1210| Block 2 -# 1210| v1210_1(void) = NoOp : -# 1211| r1211_1(int) = Constant[3] : -# 1211| r1211_2(glval) = VariableAddress[y] : -# 1211| mu1211_3(int) = Store[y] : &:r1211_2, r1211_1 -#-----| Goto -> Block 3 - -# 1212| Block 3 -# 1212| v1212_1(void) = NoOp : -# 1213| r1213_1(glval) = VariableAddress[z] : -# 1213| r1213_2(glval) = VariableAddress[y] : -# 1213| r1213_3(int) = Load[y] : &:r1213_2, ~m? -# 1213| mu1213_4(int) = Store[z] : &:r1213_1, r1213_3 -# 1214| v1214_1(void) = NoOp : -# 1204| v1204_6(void) = ReturnVoid : -# 1204| v1204_7(void) = AliasedUse : ~m? -# 1204| v1204_8(void) = ExitFunction : - -# 1216| void switch2Case_default(int) -# 1216| Block 0 -# 1216| v1216_1(void) = EnterFunction : -# 1216| mu1216_2(unknown) = AliasedDefinition : -# 1216| mu1216_3(unknown) = InitializeNonLocal : -# 1216| r1216_4(glval) = VariableAddress[x] : -# 1216| mu1216_5(int) = InitializeParameter[x] : &:r1216_4 -# 1217| r1217_1(glval) = VariableAddress[y] : -# 1217| r1217_2(int) = Constant[0] : -# 1217| mu1217_3(int) = Store[y] : &:r1217_1, r1217_2 -# 1218| r1218_1(glval) = VariableAddress[x] : -# 1218| r1218_2(int) = Load[x] : &:r1218_1, ~m? -# 1218| v1218_3(void) = Switch : r1218_2 -#-----| Case[1] -> Block 1 -#-----| Case[2] -> Block 2 -#-----| Default -> Block 3 - -# 1219| Block 1 -# 1219| v1219_1(void) = NoOp : -# 1220| r1220_1(int) = Constant[2] : -# 1220| r1220_2(glval) = VariableAddress[y] : -# 1220| mu1220_3(int) = Store[y] : &:r1220_2, r1220_1 -# 1221| v1221_1(void) = NoOp : -#-----| Goto -> Block 4 - -# 1223| Block 2 -# 1223| v1223_1(void) = NoOp : -# 1224| r1224_1(int) = Constant[3] : -# 1224| r1224_2(glval) = VariableAddress[y] : -# 1224| mu1224_3(int) = Store[y] : &:r1224_2, r1224_1 -# 1225| v1225_1(void) = NoOp : -#-----| Goto -> Block 4 - -# 1227| Block 3 -# 1227| v1227_1(void) = NoOp : -# 1228| r1228_1(int) = Constant[4] : -# 1228| r1228_2(glval) = VariableAddress[y] : -# 1228| mu1228_3(int) = Store[y] : &:r1228_2, r1228_1 -#-----| Goto -> Block 4 - -# 1229| Block 4 -# 1229| v1229_1(void) = NoOp : -# 1230| r1230_1(glval) = VariableAddress[z] : -# 1230| r1230_2(glval) = VariableAddress[y] : -# 1230| r1230_3(int) = Load[y] : &:r1230_2, ~m? -# 1230| mu1230_4(int) = Store[z] : &:r1230_1, r1230_3 -# 1231| v1231_1(void) = NoOp : -# 1216| v1216_6(void) = ReturnVoid : -# 1216| v1216_7(void) = AliasedUse : ~m? -# 1216| v1216_8(void) = ExitFunction : - -# 1233| int staticLocalInit(int) -# 1233| Block 0 -# 1233| v1233_1(void) = EnterFunction : -# 1233| mu1233_2(unknown) = AliasedDefinition : -# 1233| mu1233_3(unknown) = InitializeNonLocal : -# 1233| r1233_4(glval) = VariableAddress[x] : -# 1233| mu1233_5(int) = InitializeParameter[x] : &:r1233_4 -# 1236| r1236_1(glval) = VariableAddress[c#init] : -# 1236| r1236_2(bool) = Load[c#init] : &:r1236_1, ~m? -# 1236| v1236_3(void) = ConditionalBranch : r1236_2 -#-----| False -> Block 1 -#-----| True -> Block 2 - -# 1236| Block 1 -# 1236| r1236_4(glval) = VariableAddress[c] : -# 1236| r1236_5(glval) = VariableAddress[x] : -# 1236| r1236_6(int) = Load[x] : &:r1236_5, ~m? -# 1236| mu1236_7(int) = Store[c] : &:r1236_4, r1236_6 -# 1236| r1236_8(bool) = Constant[1] : -# 1236| mu1236_9(bool) = Store[c#init] : &:r1236_1, r1236_8 -#-----| Goto -> Block 2 - -# 1239| Block 2 -# 1239| r1239_1(glval) = VariableAddress[#return] : -# 1239| r1239_2(glval) = VariableAddress[a] : -# 1239| r1239_3(int) = Load[a] : &:r1239_2, ~m? -# 1239| r1239_4(glval) = VariableAddress[b] : -# 1239| r1239_5(int) = Load[b] : &:r1239_4, ~m? -# 1239| r1239_6(int) = Add : r1239_3, r1239_5 -# 1239| r1239_7(glval) = VariableAddress[c] : -# 1239| r1239_8(int) = Load[c] : &:r1239_7, ~m? -# 1239| r1239_9(int) = Add : r1239_6, r1239_8 -# 1239| r1239_10(glval) = VariableAddress[d] : -# 1239| r1239_11(int) = Load[d] : &:r1239_10, ~m? -# 1239| r1239_12(int) = Add : r1239_9, r1239_11 -# 1239| mu1239_13(int) = Store[#return] : &:r1239_1, r1239_12 -# 1233| r1233_6(glval) = VariableAddress[#return] : -# 1233| v1233_7(void) = ReturnValue : &:r1233_6, ~m? -# 1233| v1233_8(void) = AliasedUse : ~m? -# 1233| v1233_9(void) = ExitFunction : - -# 1234| int a -# 1234| Block 0 -# 1234| v1234_1(void) = EnterFunction : -# 1234| mu1234_2(unknown) = AliasedDefinition : -# 1234| r1234_3(glval) = VariableAddress[a] : -# 1234| r1234_4(int) = Constant[0] : -# 1234| mu1234_5(int) = Store[a] : &:r1234_3, r1234_4 -# 1234| v1234_6(void) = ReturnVoid : -# 1234| v1234_7(void) = AliasedUse : ~m? -# 1234| v1234_8(void) = ExitFunction : - -# 1235| int b -# 1235| Block 0 -# 1235| v1235_1(void) = EnterFunction : -# 1235| mu1235_2(unknown) = AliasedDefinition : -# 1235| r1235_3(glval) = VariableAddress[b] : -# 1235| r1235_4(int) = Constant[4] : -# 1235| mu1235_5(int) = Store[b] : &:r1235_3, r1235_4 -# 1235| v1235_6(void) = ReturnVoid : -# 1235| v1235_7(void) = AliasedUse : ~m? -# 1235| v1235_8(void) = ExitFunction : - -# 1242| void staticLocalWithConstructor(char const*) -# 1242| Block 0 -# 1242| v1242_1(void) = EnterFunction : -# 1242| mu1242_2(unknown) = AliasedDefinition : -# 1242| mu1242_3(unknown) = InitializeNonLocal : -# 1242| r1242_4(glval) = VariableAddress[dynamic] : -# 1242| mu1242_5(char *) = InitializeParameter[dynamic] : &:r1242_4 -# 1242| r1242_6(char *) = Load[dynamic] : &:r1242_4, ~m? -# 1242| mu1242_7(unknown) = InitializeIndirection[dynamic] : &:r1242_6 -# 1243| r1243_1(glval) = VariableAddress[a#init] : -# 1243| r1243_2(bool) = Load[a#init] : &:r1243_1, ~m? -# 1243| v1243_3(void) = ConditionalBranch : r1243_2 -#-----| False -> Block 1 -#-----| True -> Block 2 - # 1243| Block 1 -# 1243| r1243_4(glval) = VariableAddress[a] : -#-----| r0_1(glval) = FunctionAddress[String] : -#-----| v0_2(void) = Call[String] : func:r0_1, this:r1243_4 -#-----| mu0_3(unknown) = ^CallSideEffect : ~m? -#-----| mu0_4(String) = ^IndirectMayWriteSideEffect[-1] : &:r1243_4 -# 1243| r1243_5(bool) = Constant[1] : -# 1243| mu1243_6(bool) = Store[a#init] : &:r1243_1, r1243_5 +# 1243| v1243_1(void) = NoOp : +# 1244| r1244_1(int) = Constant[2] : +# 1244| r1244_2(glval) = VariableAddress[y] : +# 1244| mu1244_3(int) = Store[y] : &:r1244_2, r1244_1 #-----| Goto -> Block 2 -# 1244| Block 2 -# 1244| r1244_1(glval) = VariableAddress[b#init] : -# 1244| r1244_2(bool) = Load[b#init] : &:r1244_1, ~m? -# 1244| v1244_3(void) = ConditionalBranch : r1244_2 +# 1245| Block 2 +# 1245| v1245_1(void) = NoOp : +# 1246| r1246_1(int) = Constant[3] : +# 1246| r1246_2(glval) = VariableAddress[y] : +# 1246| mu1246_3(int) = Store[y] : &:r1246_2, r1246_1 +#-----| Goto -> Block 3 + +# 1248| Block 3 +# 1248| r1248_1(glval) = VariableAddress[z] : +# 1248| r1248_2(glval) = VariableAddress[y] : +# 1248| r1248_3(int) = Load[y] : &:r1248_2, ~m? +# 1248| mu1248_4(int) = Store[z] : &:r1248_1, r1248_3 +# 1249| v1249_1(void) = NoOp : +# 1240| v1240_6(void) = ReturnVoid : +# 1240| v1240_7(void) = AliasedUse : ~m? +# 1240| v1240_8(void) = ExitFunction : + +# 1251| void switch2Case(int) +# 1251| Block 0 +# 1251| v1251_1(void) = EnterFunction : +# 1251| mu1251_2(unknown) = AliasedDefinition : +# 1251| mu1251_3(unknown) = InitializeNonLocal : +# 1251| r1251_4(glval) = VariableAddress[x] : +# 1251| mu1251_5(int) = InitializeParameter[x] : &:r1251_4 +# 1252| r1252_1(glval) = VariableAddress[y] : +# 1252| r1252_2(int) = Constant[0] : +# 1252| mu1252_3(int) = Store[y] : &:r1252_1, r1252_2 +# 1253| r1253_1(glval) = VariableAddress[x] : +# 1253| r1253_2(int) = Load[x] : &:r1253_1, ~m? +# 1253| v1253_3(void) = Switch : r1253_2 +#-----| Case[1] -> Block 1 +#-----| Case[2] -> Block 2 +#-----| Default -> Block 3 + +# 1254| Block 1 +# 1254| v1254_1(void) = NoOp : +# 1255| r1255_1(int) = Constant[2] : +# 1255| r1255_2(glval) = VariableAddress[y] : +# 1255| mu1255_3(int) = Store[y] : &:r1255_2, r1255_1 +# 1256| v1256_1(void) = NoOp : +#-----| Goto -> Block 3 + +# 1257| Block 2 +# 1257| v1257_1(void) = NoOp : +# 1258| r1258_1(int) = Constant[3] : +# 1258| r1258_2(glval) = VariableAddress[y] : +# 1258| mu1258_3(int) = Store[y] : &:r1258_2, r1258_1 +#-----| Goto -> Block 3 + +# 1259| Block 3 +# 1259| v1259_1(void) = NoOp : +# 1260| r1260_1(glval) = VariableAddress[z] : +# 1260| r1260_2(glval) = VariableAddress[y] : +# 1260| r1260_3(int) = Load[y] : &:r1260_2, ~m? +# 1260| mu1260_4(int) = Store[z] : &:r1260_1, r1260_3 +# 1261| v1261_1(void) = NoOp : +# 1251| v1251_6(void) = ReturnVoid : +# 1251| v1251_7(void) = AliasedUse : ~m? +# 1251| v1251_8(void) = ExitFunction : + +# 1263| void switch2Case_default(int) +# 1263| Block 0 +# 1263| v1263_1(void) = EnterFunction : +# 1263| mu1263_2(unknown) = AliasedDefinition : +# 1263| mu1263_3(unknown) = InitializeNonLocal : +# 1263| r1263_4(glval) = VariableAddress[x] : +# 1263| mu1263_5(int) = InitializeParameter[x] : &:r1263_4 +# 1264| r1264_1(glval) = VariableAddress[y] : +# 1264| r1264_2(int) = Constant[0] : +# 1264| mu1264_3(int) = Store[y] : &:r1264_1, r1264_2 +# 1265| r1265_1(glval) = VariableAddress[x] : +# 1265| r1265_2(int) = Load[x] : &:r1265_1, ~m? +# 1265| v1265_3(void) = Switch : r1265_2 +#-----| Case[1] -> Block 1 +#-----| Case[2] -> Block 2 +#-----| Default -> Block 3 + +# 1266| Block 1 +# 1266| v1266_1(void) = NoOp : +# 1267| r1267_1(int) = Constant[2] : +# 1267| r1267_2(glval) = VariableAddress[y] : +# 1267| mu1267_3(int) = Store[y] : &:r1267_2, r1267_1 +# 1268| v1268_1(void) = NoOp : +#-----| Goto -> Block 4 + +# 1270| Block 2 +# 1270| v1270_1(void) = NoOp : +# 1271| r1271_1(int) = Constant[3] : +# 1271| r1271_2(glval) = VariableAddress[y] : +# 1271| mu1271_3(int) = Store[y] : &:r1271_2, r1271_1 +# 1272| v1272_1(void) = NoOp : +#-----| Goto -> Block 4 + +# 1274| Block 3 +# 1274| v1274_1(void) = NoOp : +# 1275| r1275_1(int) = Constant[4] : +# 1275| r1275_2(glval) = VariableAddress[y] : +# 1275| mu1275_3(int) = Store[y] : &:r1275_2, r1275_1 +#-----| Goto -> Block 4 + +# 1276| Block 4 +# 1276| v1276_1(void) = NoOp : +# 1277| r1277_1(glval) = VariableAddress[z] : +# 1277| r1277_2(glval) = VariableAddress[y] : +# 1277| r1277_3(int) = Load[y] : &:r1277_2, ~m? +# 1277| mu1277_4(int) = Store[z] : &:r1277_1, r1277_3 +# 1278| v1278_1(void) = NoOp : +# 1263| v1263_6(void) = ReturnVoid : +# 1263| v1263_7(void) = AliasedUse : ~m? +# 1263| v1263_8(void) = ExitFunction : + +# 1280| int staticLocalInit(int) +# 1280| Block 0 +# 1280| v1280_1(void) = EnterFunction : +# 1280| mu1280_2(unknown) = AliasedDefinition : +# 1280| mu1280_3(unknown) = InitializeNonLocal : +# 1280| r1280_4(glval) = VariableAddress[x] : +# 1280| mu1280_5(int) = InitializeParameter[x] : &:r1280_4 +# 1283| r1283_1(glval) = VariableAddress[c#init] : +# 1283| r1283_2(bool) = Load[c#init] : &:r1283_1, ~m? +# 1283| v1283_3(void) = ConditionalBranch : r1283_2 +#-----| False -> Block 1 +#-----| True -> Block 2 + +# 1283| Block 1 +# 1283| r1283_4(glval) = VariableAddress[c] : +# 1283| r1283_5(glval) = VariableAddress[x] : +# 1283| r1283_6(int) = Load[x] : &:r1283_5, ~m? +# 1283| mu1283_7(int) = Store[c] : &:r1283_4, r1283_6 +# 1283| r1283_8(bool) = Constant[1] : +# 1283| mu1283_9(bool) = Store[c#init] : &:r1283_1, r1283_8 +#-----| Goto -> Block 2 + +# 1286| Block 2 +# 1286| r1286_1(glval) = VariableAddress[#return] : +# 1286| r1286_2(glval) = VariableAddress[a] : +# 1286| r1286_3(int) = Load[a] : &:r1286_2, ~m? +# 1286| r1286_4(glval) = VariableAddress[b] : +# 1286| r1286_5(int) = Load[b] : &:r1286_4, ~m? +# 1286| r1286_6(int) = Add : r1286_3, r1286_5 +# 1286| r1286_7(glval) = VariableAddress[c] : +# 1286| r1286_8(int) = Load[c] : &:r1286_7, ~m? +# 1286| r1286_9(int) = Add : r1286_6, r1286_8 +# 1286| r1286_10(glval) = VariableAddress[d] : +# 1286| r1286_11(int) = Load[d] : &:r1286_10, ~m? +# 1286| r1286_12(int) = Add : r1286_9, r1286_11 +# 1286| mu1286_13(int) = Store[#return] : &:r1286_1, r1286_12 +# 1280| r1280_6(glval) = VariableAddress[#return] : +# 1280| v1280_7(void) = ReturnValue : &:r1280_6, ~m? +# 1280| v1280_8(void) = AliasedUse : ~m? +# 1280| v1280_9(void) = ExitFunction : + +# 1281| int a +# 1281| Block 0 +# 1281| v1281_1(void) = EnterFunction : +# 1281| mu1281_2(unknown) = AliasedDefinition : +# 1281| r1281_3(glval) = VariableAddress[a] : +# 1281| r1281_4(int) = Constant[0] : +# 1281| mu1281_5(int) = Store[a] : &:r1281_3, r1281_4 +# 1281| v1281_6(void) = ReturnVoid : +# 1281| v1281_7(void) = AliasedUse : ~m? +# 1281| v1281_8(void) = ExitFunction : + +# 1282| int b +# 1282| Block 0 +# 1282| v1282_1(void) = EnterFunction : +# 1282| mu1282_2(unknown) = AliasedDefinition : +# 1282| r1282_3(glval) = VariableAddress[b] : +# 1282| r1282_4(int) = Constant[4] : +# 1282| mu1282_5(int) = Store[b] : &:r1282_3, r1282_4 +# 1282| v1282_6(void) = ReturnVoid : +# 1282| v1282_7(void) = AliasedUse : ~m? +# 1282| v1282_8(void) = ExitFunction : + +# 1289| void staticLocalWithConstructor(char const*) +# 1289| Block 0 +# 1289| v1289_1(void) = EnterFunction : +# 1289| mu1289_2(unknown) = AliasedDefinition : +# 1289| mu1289_3(unknown) = InitializeNonLocal : +# 1289| r1289_4(glval) = VariableAddress[dynamic] : +# 1289| mu1289_5(char *) = InitializeParameter[dynamic] : &:r1289_4 +# 1289| r1289_6(char *) = Load[dynamic] : &:r1289_4, ~m? +# 1289| mu1289_7(unknown) = InitializeIndirection[dynamic] : &:r1289_6 +# 1290| r1290_1(glval) = VariableAddress[a#init] : +# 1290| r1290_2(bool) = Load[a#init] : &:r1290_1, ~m? +# 1290| v1290_3(void) = ConditionalBranch : r1290_2 +#-----| False -> Block 1 +#-----| True -> Block 2 + +# 1290| Block 1 +# 1290| r1290_4(glval) = VariableAddress[a] : +#-----| r0_1(glval) = FunctionAddress[String] : +#-----| v0_2(void) = Call[String] : func:r0_1, this:r1290_4 +#-----| mu0_3(unknown) = ^CallSideEffect : ~m? +#-----| mu0_4(String) = ^IndirectMayWriteSideEffect[-1] : &:r1290_4 +# 1290| r1290_5(bool) = Constant[1] : +# 1290| mu1290_6(bool) = Store[a#init] : &:r1290_1, r1290_5 +#-----| Goto -> Block 2 + +# 1291| Block 2 +# 1291| r1291_1(glval) = VariableAddress[b#init] : +# 1291| r1291_2(bool) = Load[b#init] : &:r1291_1, ~m? +# 1291| v1291_3(void) = ConditionalBranch : r1291_2 #-----| False -> Block 3 #-----| True -> Block 4 -# 1244| Block 3 -# 1244| r1244_4(glval) = VariableAddress[b] : -# 1244| r1244_5(glval) = FunctionAddress[String] : -# 1244| r1244_6(glval) = StringConstant["static"] : -# 1244| r1244_7(char *) = Convert : r1244_6 -# 1244| v1244_8(void) = Call[String] : func:r1244_5, this:r1244_4, 0:r1244_7 -# 1244| mu1244_9(unknown) = ^CallSideEffect : ~m? -# 1244| v1244_10(void) = ^BufferReadSideEffect[0] : &:r1244_7, ~m? -# 1244| mu1244_11(String) = ^IndirectMayWriteSideEffect[-1] : &:r1244_4 -# 1244| r1244_12(bool) = Constant[1] : -# 1244| mu1244_13(bool) = Store[b#init] : &:r1244_1, r1244_12 +# 1291| Block 3 +# 1291| r1291_4(glval) = VariableAddress[b] : +# 1291| r1291_5(glval) = FunctionAddress[String] : +# 1291| r1291_6(glval) = StringConstant["static"] : +# 1291| r1291_7(char *) = Convert : r1291_6 +# 1291| v1291_8(void) = Call[String] : func:r1291_5, this:r1291_4, 0:r1291_7 +# 1291| mu1291_9(unknown) = ^CallSideEffect : ~m? +# 1291| v1291_10(void) = ^BufferReadSideEffect[0] : &:r1291_7, ~m? +# 1291| mu1291_11(String) = ^IndirectMayWriteSideEffect[-1] : &:r1291_4 +# 1291| r1291_12(bool) = Constant[1] : +# 1291| mu1291_13(bool) = Store[b#init] : &:r1291_1, r1291_12 #-----| Goto -> Block 4 -# 1245| Block 4 -# 1245| r1245_1(glval) = VariableAddress[c#init] : -# 1245| r1245_2(bool) = Load[c#init] : &:r1245_1, ~m? -# 1245| v1245_3(void) = ConditionalBranch : r1245_2 +# 1292| Block 4 +# 1292| r1292_1(glval) = VariableAddress[c#init] : +# 1292| r1292_2(bool) = Load[c#init] : &:r1292_1, ~m? +# 1292| v1292_3(void) = ConditionalBranch : r1292_2 #-----| False -> Block 5 #-----| True -> Block 6 -# 1245| Block 5 -# 1245| r1245_4(glval) = VariableAddress[c] : -# 1245| r1245_5(glval) = FunctionAddress[String] : -# 1245| r1245_6(glval) = VariableAddress[dynamic] : -# 1245| r1245_7(char *) = Load[dynamic] : &:r1245_6, ~m? -# 1245| v1245_8(void) = Call[String] : func:r1245_5, this:r1245_4, 0:r1245_7 -# 1245| mu1245_9(unknown) = ^CallSideEffect : ~m? -# 1245| v1245_10(void) = ^BufferReadSideEffect[0] : &:r1245_7, ~m? -# 1245| mu1245_11(String) = ^IndirectMayWriteSideEffect[-1] : &:r1245_4 -# 1245| r1245_12(bool) = Constant[1] : -# 1245| mu1245_13(bool) = Store[c#init] : &:r1245_1, r1245_12 +# 1292| Block 5 +# 1292| r1292_4(glval) = VariableAddress[c] : +# 1292| r1292_5(glval) = FunctionAddress[String] : +# 1292| r1292_6(glval) = VariableAddress[dynamic] : +# 1292| r1292_7(char *) = Load[dynamic] : &:r1292_6, ~m? +# 1292| v1292_8(void) = Call[String] : func:r1292_5, this:r1292_4, 0:r1292_7 +# 1292| mu1292_9(unknown) = ^CallSideEffect : ~m? +# 1292| v1292_10(void) = ^BufferReadSideEffect[0] : &:r1292_7, ~m? +# 1292| mu1292_11(String) = ^IndirectMayWriteSideEffect[-1] : &:r1292_4 +# 1292| r1292_12(bool) = Constant[1] : +# 1292| mu1292_13(bool) = Store[c#init] : &:r1292_1, r1292_12 #-----| Goto -> Block 6 -# 1246| Block 6 -# 1246| v1246_1(void) = NoOp : -# 1242| v1242_8(void) = ReturnIndirection[dynamic] : &:r1242_6, ~m? -# 1242| v1242_9(void) = ReturnVoid : -# 1242| v1242_10(void) = AliasedUse : ~m? -# 1242| v1242_11(void) = ExitFunction : +# 1293| Block 6 +# 1293| v1293_1(void) = NoOp : +# 1289| v1289_8(void) = ReturnIndirection[dynamic] : &:r1289_6, ~m? +# 1289| v1289_9(void) = ReturnVoid : +# 1289| v1289_10(void) = AliasedUse : ~m? +# 1289| v1289_11(void) = ExitFunction : -# 1253| void test_strings(char*, char*) -# 1253| Block 0 -# 1253| v1253_1(void) = EnterFunction : -# 1253| mu1253_2(unknown) = AliasedDefinition : -# 1253| mu1253_3(unknown) = InitializeNonLocal : -# 1253| r1253_4(glval) = VariableAddress[s1] : -# 1253| mu1253_5(char *) = InitializeParameter[s1] : &:r1253_4 -# 1253| r1253_6(char *) = Load[s1] : &:r1253_4, ~m? -# 1253| mu1253_7(unknown) = InitializeIndirection[s1] : &:r1253_6 -# 1253| r1253_8(glval) = VariableAddress[s2] : -# 1253| mu1253_9(char *) = InitializeParameter[s2] : &:r1253_8 -# 1253| r1253_10(char *) = Load[s2] : &:r1253_8, ~m? -# 1253| mu1253_11(unknown) = InitializeIndirection[s2] : &:r1253_10 -# 1254| r1254_1(glval) = VariableAddress[buffer] : -# 1254| mu1254_2(char[1024]) = Uninitialized[buffer] : &:r1254_1 -# 1254| r1254_3(int) = Constant[0] : -# 1254| r1254_4(glval) = PointerAdd[1] : r1254_1, r1254_3 -# 1254| r1254_5(char) = Constant[0] : -# 1254| mu1254_6(char) = Store[?] : &:r1254_4, r1254_5 -# 1254| r1254_7(int) = Constant[1] : -# 1254| r1254_8(glval) = PointerAdd[1] : r1254_1, r1254_7 -# 1254| r1254_9(unknown[1023]) = Constant[0] : -# 1254| mu1254_10(unknown[1023]) = Store[?] : &:r1254_8, r1254_9 -# 1256| r1256_1(glval) = FunctionAddress[strcpy] : -# 1256| r1256_2(glval) = VariableAddress[buffer] : -# 1256| r1256_3(char *) = Convert : r1256_2 -# 1256| r1256_4(glval) = VariableAddress[s1] : -# 1256| r1256_5(char *) = Load[s1] : &:r1256_4, ~m? -# 1256| r1256_6(char *) = Convert : r1256_5 -# 1256| r1256_7(char *) = Call[strcpy] : func:r1256_1, 0:r1256_3, 1:r1256_6 -# 1256| v1256_8(void) = ^BufferReadSideEffect[1] : &:r1256_6, ~m? -# 1256| mu1256_9(unknown) = ^BufferMayWriteSideEffect[0] : &:r1256_3 -# 1257| r1257_1(glval) = FunctionAddress[strcat] : -# 1257| r1257_2(glval) = VariableAddress[buffer] : -# 1257| r1257_3(char *) = Convert : r1257_2 -# 1257| r1257_4(glval) = VariableAddress[s2] : -# 1257| r1257_5(char *) = Load[s2] : &:r1257_4, ~m? -# 1257| r1257_6(char *) = Convert : r1257_5 -# 1257| r1257_7(char *) = Call[strcat] : func:r1257_1, 0:r1257_3, 1:r1257_6 -# 1257| v1257_8(void) = ^BufferReadSideEffect[0] : &:r1257_3, ~m? -# 1257| v1257_9(void) = ^BufferReadSideEffect[1] : &:r1257_6, ~m? -# 1257| mu1257_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r1257_3 -# 1258| v1258_1(void) = NoOp : -# 1253| v1253_12(void) = ReturnIndirection[s1] : &:r1253_6, ~m? -# 1253| v1253_13(void) = ReturnIndirection[s2] : &:r1253_10, ~m? -# 1253| v1253_14(void) = ReturnVoid : -# 1253| v1253_15(void) = AliasedUse : ~m? -# 1253| v1253_16(void) = ExitFunction : +# 1300| void test_strings(char*, char*) +# 1300| Block 0 +# 1300| v1300_1(void) = EnterFunction : +# 1300| mu1300_2(unknown) = AliasedDefinition : +# 1300| mu1300_3(unknown) = InitializeNonLocal : +# 1300| r1300_4(glval) = VariableAddress[s1] : +# 1300| mu1300_5(char *) = InitializeParameter[s1] : &:r1300_4 +# 1300| r1300_6(char *) = Load[s1] : &:r1300_4, ~m? +# 1300| mu1300_7(unknown) = InitializeIndirection[s1] : &:r1300_6 +# 1300| r1300_8(glval) = VariableAddress[s2] : +# 1300| mu1300_9(char *) = InitializeParameter[s2] : &:r1300_8 +# 1300| r1300_10(char *) = Load[s2] : &:r1300_8, ~m? +# 1300| mu1300_11(unknown) = InitializeIndirection[s2] : &:r1300_10 +# 1301| r1301_1(glval) = VariableAddress[buffer] : +# 1301| mu1301_2(char[1024]) = Uninitialized[buffer] : &:r1301_1 +# 1301| r1301_3(int) = Constant[0] : +# 1301| r1301_4(glval) = PointerAdd[1] : r1301_1, r1301_3 +# 1301| r1301_5(char) = Constant[0] : +# 1301| mu1301_6(char) = Store[?] : &:r1301_4, r1301_5 +# 1301| r1301_7(int) = Constant[1] : +# 1301| r1301_8(glval) = PointerAdd[1] : r1301_1, r1301_7 +# 1301| r1301_9(unknown[1023]) = Constant[0] : +# 1301| mu1301_10(unknown[1023]) = Store[?] : &:r1301_8, r1301_9 +# 1303| r1303_1(glval) = FunctionAddress[strcpy] : +# 1303| r1303_2(glval) = VariableAddress[buffer] : +# 1303| r1303_3(char *) = Convert : r1303_2 +# 1303| r1303_4(glval) = VariableAddress[s1] : +# 1303| r1303_5(char *) = Load[s1] : &:r1303_4, ~m? +# 1303| r1303_6(char *) = Convert : r1303_5 +# 1303| r1303_7(char *) = Call[strcpy] : func:r1303_1, 0:r1303_3, 1:r1303_6 +# 1303| v1303_8(void) = ^BufferReadSideEffect[1] : &:r1303_6, ~m? +# 1303| mu1303_9(unknown) = ^BufferMayWriteSideEffect[0] : &:r1303_3 +# 1304| r1304_1(glval) = FunctionAddress[strcat] : +# 1304| r1304_2(glval) = VariableAddress[buffer] : +# 1304| r1304_3(char *) = Convert : r1304_2 +# 1304| r1304_4(glval) = VariableAddress[s2] : +# 1304| r1304_5(char *) = Load[s2] : &:r1304_4, ~m? +# 1304| r1304_6(char *) = Convert : r1304_5 +# 1304| r1304_7(char *) = Call[strcat] : func:r1304_1, 0:r1304_3, 1:r1304_6 +# 1304| v1304_8(void) = ^BufferReadSideEffect[0] : &:r1304_3, ~m? +# 1304| v1304_9(void) = ^BufferReadSideEffect[1] : &:r1304_6, ~m? +# 1304| mu1304_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r1304_3 +# 1305| v1305_1(void) = NoOp : +# 1300| v1300_12(void) = ReturnIndirection[s1] : &:r1300_6, ~m? +# 1300| v1300_13(void) = ReturnIndirection[s2] : &:r1300_10, ~m? +# 1300| v1300_14(void) = ReturnVoid : +# 1300| v1300_15(void) = AliasedUse : ~m? +# 1300| v1300_16(void) = ExitFunction : -# 1263| void A::static_member(A*, int) -# 1263| Block 0 -# 1263| v1263_1(void) = EnterFunction : -# 1263| mu1263_2(unknown) = AliasedDefinition : -# 1263| mu1263_3(unknown) = InitializeNonLocal : -# 1263| r1263_4(glval) = VariableAddress[a] : -# 1263| mu1263_5(A *) = InitializeParameter[a] : &:r1263_4 -# 1263| r1263_6(A *) = Load[a] : &:r1263_4, ~m? -# 1263| mu1263_7(unknown) = InitializeIndirection[a] : &:r1263_6 -# 1263| r1263_8(glval) = VariableAddress[x] : -# 1263| mu1263_9(int) = InitializeParameter[x] : &:r1263_8 -# 1264| r1264_1(glval) = VariableAddress[x] : -# 1264| r1264_2(int) = Load[x] : &:r1264_1, ~m? -# 1264| r1264_3(glval) = VariableAddress[a] : -# 1264| r1264_4(A *) = Load[a] : &:r1264_3, ~m? -# 1264| r1264_5(glval) = FieldAddress[member] : r1264_4 -# 1264| mu1264_6(int) = Store[?] : &:r1264_5, r1264_2 -# 1265| v1265_1(void) = NoOp : -# 1263| v1263_10(void) = ReturnIndirection[a] : &:r1263_6, ~m? -# 1263| v1263_11(void) = ReturnVoid : -# 1263| v1263_12(void) = AliasedUse : ~m? -# 1263| v1263_13(void) = ExitFunction : +# 1310| void A::static_member(A*, int) +# 1310| Block 0 +# 1310| v1310_1(void) = EnterFunction : +# 1310| mu1310_2(unknown) = AliasedDefinition : +# 1310| mu1310_3(unknown) = InitializeNonLocal : +# 1310| r1310_4(glval) = VariableAddress[a] : +# 1310| mu1310_5(A *) = InitializeParameter[a] : &:r1310_4 +# 1310| r1310_6(A *) = Load[a] : &:r1310_4, ~m? +# 1310| mu1310_7(unknown) = InitializeIndirection[a] : &:r1310_6 +# 1310| r1310_8(glval) = VariableAddress[x] : +# 1310| mu1310_9(int) = InitializeParameter[x] : &:r1310_8 +# 1311| r1311_1(glval) = VariableAddress[x] : +# 1311| r1311_2(int) = Load[x] : &:r1311_1, ~m? +# 1311| r1311_3(glval) = VariableAddress[a] : +# 1311| r1311_4(A *) = Load[a] : &:r1311_3, ~m? +# 1311| r1311_5(glval) = FieldAddress[member] : r1311_4 +# 1311| mu1311_6(int) = Store[?] : &:r1311_5, r1311_2 +# 1312| v1312_1(void) = NoOp : +# 1310| v1310_10(void) = ReturnIndirection[a] : &:r1310_6, ~m? +# 1310| v1310_11(void) = ReturnVoid : +# 1310| v1310_12(void) = AliasedUse : ~m? +# 1310| v1310_13(void) = ExitFunction : -# 1272| void test_static_member_functions(int, A*) -# 1272| Block 0 -# 1272| v1272_1(void) = EnterFunction : -# 1272| mu1272_2(unknown) = AliasedDefinition : -# 1272| mu1272_3(unknown) = InitializeNonLocal : -# 1272| r1272_4(glval) = VariableAddress[int_arg] : -# 1272| mu1272_5(int) = InitializeParameter[int_arg] : &:r1272_4 -# 1272| r1272_6(glval) = VariableAddress[a_arg] : -# 1272| mu1272_7(A *) = InitializeParameter[a_arg] : &:r1272_6 -# 1272| r1272_8(A *) = Load[a_arg] : &:r1272_6, ~m? -# 1272| mu1272_9(unknown) = InitializeIndirection[a_arg] : &:r1272_8 -# 1273| r1273_1(glval) = VariableAddress[c] : -# 1273| mu1273_2(C) = Uninitialized[c] : &:r1273_1 -# 1273| r1273_3(glval) = FunctionAddress[C] : -# 1273| v1273_4(void) = Call[C] : func:r1273_3, this:r1273_1 -# 1273| mu1273_5(unknown) = ^CallSideEffect : ~m? -# 1273| mu1273_6(C) = ^IndirectMayWriteSideEffect[-1] : &:r1273_1 -# 1274| r1274_1(glval) = VariableAddress[c] : -# 1274| r1274_2(glval) = FunctionAddress[StaticMemberFunction] : -# 1274| r1274_3(int) = Constant[10] : -# 1274| r1274_4(int) = Call[StaticMemberFunction] : func:r1274_2, 0:r1274_3 -# 1274| mu1274_5(unknown) = ^CallSideEffect : ~m? -# 1275| r1275_1(glval) = FunctionAddress[StaticMemberFunction] : -# 1275| r1275_2(int) = Constant[10] : -# 1275| r1275_3(int) = Call[StaticMemberFunction] : func:r1275_1, 0:r1275_2 -# 1275| mu1275_4(unknown) = ^CallSideEffect : ~m? -# 1277| r1277_1(glval) = VariableAddress[a] : -# 1277| mu1277_2(A) = Uninitialized[a] : &:r1277_1 -# 1278| r1278_1(glval) = VariableAddress[a] : -# 1278| r1278_2(glval) = FunctionAddress[static_member] : -# 1278| r1278_3(glval) = VariableAddress[a] : -# 1278| r1278_4(A *) = CopyValue : r1278_3 -# 1278| r1278_5(glval) = VariableAddress[int_arg] : -# 1278| r1278_6(int) = Load[int_arg] : &:r1278_5, ~m? -# 1278| v1278_7(void) = Call[static_member] : func:r1278_2, 0:r1278_4, 1:r1278_6 -# 1278| mu1278_8(unknown) = ^CallSideEffect : ~m? -# 1278| v1278_9(void) = ^BufferReadSideEffect[0] : &:r1278_4, ~m? -# 1278| mu1278_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r1278_4 -# 1279| r1279_1(glval) = FunctionAddress[static_member] : -# 1279| r1279_2(glval) = VariableAddress[a] : -# 1279| r1279_3(A *) = CopyValue : r1279_2 -# 1279| r1279_4(glval) = VariableAddress[int_arg] : -# 1279| r1279_5(int) = Load[int_arg] : &:r1279_4, ~m? -# 1279| v1279_6(void) = Call[static_member] : func:r1279_1, 0:r1279_3, 1:r1279_5 -# 1279| mu1279_7(unknown) = ^CallSideEffect : ~m? -# 1279| v1279_8(void) = ^BufferReadSideEffect[0] : &:r1279_3, ~m? -# 1279| mu1279_9(unknown) = ^BufferMayWriteSideEffect[0] : &:r1279_3 -# 1281| r1281_1(glval) = VariableAddress[a] : -# 1281| r1281_2(A *) = CopyValue : r1281_1 -# 1281| r1281_3(glval) = FunctionAddress[static_member] : -# 1281| r1281_4(glval) = VariableAddress[a_arg] : -# 1281| r1281_5(A *) = Load[a_arg] : &:r1281_4, ~m? -# 1281| r1281_6(glval) = VariableAddress[int_arg] : -# 1281| r1281_7(int) = Load[int_arg] : &:r1281_6, ~m? -# 1281| r1281_8(int) = Constant[2] : -# 1281| r1281_9(int) = Add : r1281_7, r1281_8 -# 1281| v1281_10(void) = Call[static_member] : func:r1281_3, 0:r1281_5, 1:r1281_9 -# 1281| mu1281_11(unknown) = ^CallSideEffect : ~m? -# 1281| v1281_12(void) = ^BufferReadSideEffect[0] : &:r1281_5, ~m? -# 1281| mu1281_13(unknown) = ^BufferMayWriteSideEffect[0] : &:r1281_5 -# 1282| r1282_1(glval) = VariableAddress[a_arg] : -# 1282| r1282_2(A *) = Load[a_arg] : &:r1282_1, ~m? -# 1282| r1282_3(glval) = CopyValue : r1282_2 -# 1282| r1282_4(glval) = FunctionAddress[static_member] : -# 1282| r1282_5(glval) = VariableAddress[a] : -# 1282| r1282_6(A *) = CopyValue : r1282_5 -# 1282| r1282_7(int) = Constant[99] : -# 1282| v1282_8(void) = Call[static_member] : func:r1282_4, 0:r1282_6, 1:r1282_7 -# 1282| mu1282_9(unknown) = ^CallSideEffect : ~m? -# 1282| v1282_10(void) = ^BufferReadSideEffect[0] : &:r1282_6, ~m? -# 1282| mu1282_11(unknown) = ^BufferMayWriteSideEffect[0] : &:r1282_6 -# 1283| r1283_1(glval) = VariableAddress[a_arg] : -# 1283| r1283_2(A *) = Load[a_arg] : &:r1283_1, ~m? -# 1283| r1283_3(glval) = FunctionAddress[static_member] : -# 1283| r1283_4(glval) = VariableAddress[a_arg] : -# 1283| r1283_5(A *) = Load[a_arg] : &:r1283_4, ~m? -# 1283| r1283_6(int) = Constant[-1] : -# 1283| v1283_7(void) = Call[static_member] : func:r1283_3, 0:r1283_5, 1:r1283_6 -# 1283| mu1283_8(unknown) = ^CallSideEffect : ~m? -# 1283| v1283_9(void) = ^BufferReadSideEffect[0] : &:r1283_5, ~m? -# 1283| mu1283_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r1283_5 -# 1285| r1285_1(glval) = VariableAddress[a] : -# 1285| r1285_2(glval) = FunctionAddress[static_member_without_def] : -# 1285| v1285_3(void) = Call[static_member_without_def] : func:r1285_2 -# 1285| mu1285_4(unknown) = ^CallSideEffect : ~m? -# 1286| r1286_1(glval) = FunctionAddress[static_member_without_def] : -# 1286| v1286_2(void) = Call[static_member_without_def] : func:r1286_1 -# 1286| mu1286_3(unknown) = ^CallSideEffect : ~m? -# 1288| r1288_1(glval) = FunctionAddress[getAnInstanceOfA] : -# 1288| r1288_2(A *) = Call[getAnInstanceOfA] : func:r1288_1 -# 1288| mu1288_3(unknown) = ^CallSideEffect : ~m? -# 1288| r1288_4(glval) = FunctionAddress[static_member_without_def] : -# 1288| v1288_5(void) = Call[static_member_without_def] : func:r1288_4 -# 1288| mu1288_6(unknown) = ^CallSideEffect : ~m? -# 1289| v1289_1(void) = NoOp : -# 1289| r1289_2(glval) = VariableAddress[c] : -# 1289| r1289_3(glval) = FunctionAddress[~C] : -# 1289| v1289_4(void) = Call[~C] : func:r1289_3, this:r1289_2 -# 1289| mu1289_5(unknown) = ^CallSideEffect : ~m? -# 1289| v1289_6(void) = ^IndirectReadSideEffect[-1] : &:r1289_2, ~m? -# 1289| mu1289_7(C) = ^IndirectMayWriteSideEffect[-1] : &:r1289_2 -# 1272| v1272_10(void) = ReturnIndirection[a_arg] : &:r1272_8, ~m? -# 1272| v1272_11(void) = ReturnVoid : -# 1272| v1272_12(void) = AliasedUse : ~m? -# 1272| v1272_13(void) = ExitFunction : +# 1319| void test_static_member_functions(int, A*) +# 1319| Block 0 +# 1319| v1319_1(void) = EnterFunction : +# 1319| mu1319_2(unknown) = AliasedDefinition : +# 1319| mu1319_3(unknown) = InitializeNonLocal : +# 1319| r1319_4(glval) = VariableAddress[int_arg] : +# 1319| mu1319_5(int) = InitializeParameter[int_arg] : &:r1319_4 +# 1319| r1319_6(glval) = VariableAddress[a_arg] : +# 1319| mu1319_7(A *) = InitializeParameter[a_arg] : &:r1319_6 +# 1319| r1319_8(A *) = Load[a_arg] : &:r1319_6, ~m? +# 1319| mu1319_9(unknown) = InitializeIndirection[a_arg] : &:r1319_8 +# 1320| r1320_1(glval) = VariableAddress[c] : +# 1320| mu1320_2(C) = Uninitialized[c] : &:r1320_1 +# 1320| r1320_3(glval) = FunctionAddress[C] : +# 1320| v1320_4(void) = Call[C] : func:r1320_3, this:r1320_1 +# 1320| mu1320_5(unknown) = ^CallSideEffect : ~m? +# 1320| mu1320_6(C) = ^IndirectMayWriteSideEffect[-1] : &:r1320_1 +# 1321| r1321_1(glval) = VariableAddress[c] : +# 1321| r1321_2(glval) = FunctionAddress[StaticMemberFunction] : +# 1321| r1321_3(int) = Constant[10] : +# 1321| r1321_4(int) = Call[StaticMemberFunction] : func:r1321_2, 0:r1321_3 +# 1321| mu1321_5(unknown) = ^CallSideEffect : ~m? +# 1322| r1322_1(glval) = FunctionAddress[StaticMemberFunction] : +# 1322| r1322_2(int) = Constant[10] : +# 1322| r1322_3(int) = Call[StaticMemberFunction] : func:r1322_1, 0:r1322_2 +# 1322| mu1322_4(unknown) = ^CallSideEffect : ~m? +# 1324| r1324_1(glval) = VariableAddress[a] : +# 1324| mu1324_2(A) = Uninitialized[a] : &:r1324_1 +# 1325| r1325_1(glval) = VariableAddress[a] : +# 1325| r1325_2(glval) = FunctionAddress[static_member] : +# 1325| r1325_3(glval) = VariableAddress[a] : +# 1325| r1325_4(A *) = CopyValue : r1325_3 +# 1325| r1325_5(glval) = VariableAddress[int_arg] : +# 1325| r1325_6(int) = Load[int_arg] : &:r1325_5, ~m? +# 1325| v1325_7(void) = Call[static_member] : func:r1325_2, 0:r1325_4, 1:r1325_6 +# 1325| mu1325_8(unknown) = ^CallSideEffect : ~m? +# 1325| v1325_9(void) = ^BufferReadSideEffect[0] : &:r1325_4, ~m? +# 1325| mu1325_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r1325_4 +# 1326| r1326_1(glval) = FunctionAddress[static_member] : +# 1326| r1326_2(glval) = VariableAddress[a] : +# 1326| r1326_3(A *) = CopyValue : r1326_2 +# 1326| r1326_4(glval) = VariableAddress[int_arg] : +# 1326| r1326_5(int) = Load[int_arg] : &:r1326_4, ~m? +# 1326| v1326_6(void) = Call[static_member] : func:r1326_1, 0:r1326_3, 1:r1326_5 +# 1326| mu1326_7(unknown) = ^CallSideEffect : ~m? +# 1326| v1326_8(void) = ^BufferReadSideEffect[0] : &:r1326_3, ~m? +# 1326| mu1326_9(unknown) = ^BufferMayWriteSideEffect[0] : &:r1326_3 +# 1328| r1328_1(glval) = VariableAddress[a] : +# 1328| r1328_2(A *) = CopyValue : r1328_1 +# 1328| r1328_3(glval) = FunctionAddress[static_member] : +# 1328| r1328_4(glval) = VariableAddress[a_arg] : +# 1328| r1328_5(A *) = Load[a_arg] : &:r1328_4, ~m? +# 1328| r1328_6(glval) = VariableAddress[int_arg] : +# 1328| r1328_7(int) = Load[int_arg] : &:r1328_6, ~m? +# 1328| r1328_8(int) = Constant[2] : +# 1328| r1328_9(int) = Add : r1328_7, r1328_8 +# 1328| v1328_10(void) = Call[static_member] : func:r1328_3, 0:r1328_5, 1:r1328_9 +# 1328| mu1328_11(unknown) = ^CallSideEffect : ~m? +# 1328| v1328_12(void) = ^BufferReadSideEffect[0] : &:r1328_5, ~m? +# 1328| mu1328_13(unknown) = ^BufferMayWriteSideEffect[0] : &:r1328_5 +# 1329| r1329_1(glval) = VariableAddress[a_arg] : +# 1329| r1329_2(A *) = Load[a_arg] : &:r1329_1, ~m? +# 1329| r1329_3(glval) = CopyValue : r1329_2 +# 1329| r1329_4(glval) = FunctionAddress[static_member] : +# 1329| r1329_5(glval) = VariableAddress[a] : +# 1329| r1329_6(A *) = CopyValue : r1329_5 +# 1329| r1329_7(int) = Constant[99] : +# 1329| v1329_8(void) = Call[static_member] : func:r1329_4, 0:r1329_6, 1:r1329_7 +# 1329| mu1329_9(unknown) = ^CallSideEffect : ~m? +# 1329| v1329_10(void) = ^BufferReadSideEffect[0] : &:r1329_6, ~m? +# 1329| mu1329_11(unknown) = ^BufferMayWriteSideEffect[0] : &:r1329_6 +# 1330| r1330_1(glval) = VariableAddress[a_arg] : +# 1330| r1330_2(A *) = Load[a_arg] : &:r1330_1, ~m? +# 1330| r1330_3(glval) = FunctionAddress[static_member] : +# 1330| r1330_4(glval) = VariableAddress[a_arg] : +# 1330| r1330_5(A *) = Load[a_arg] : &:r1330_4, ~m? +# 1330| r1330_6(int) = Constant[-1] : +# 1330| v1330_7(void) = Call[static_member] : func:r1330_3, 0:r1330_5, 1:r1330_6 +# 1330| mu1330_8(unknown) = ^CallSideEffect : ~m? +# 1330| v1330_9(void) = ^BufferReadSideEffect[0] : &:r1330_5, ~m? +# 1330| mu1330_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r1330_5 +# 1332| r1332_1(glval) = VariableAddress[a] : +# 1332| r1332_2(glval) = FunctionAddress[static_member_without_def] : +# 1332| v1332_3(void) = Call[static_member_without_def] : func:r1332_2 +# 1332| mu1332_4(unknown) = ^CallSideEffect : ~m? +# 1333| r1333_1(glval) = FunctionAddress[static_member_without_def] : +# 1333| v1333_2(void) = Call[static_member_without_def] : func:r1333_1 +# 1333| mu1333_3(unknown) = ^CallSideEffect : ~m? +# 1335| r1335_1(glval) = FunctionAddress[getAnInstanceOfA] : +# 1335| r1335_2(A *) = Call[getAnInstanceOfA] : func:r1335_1 +# 1335| mu1335_3(unknown) = ^CallSideEffect : ~m? +# 1335| r1335_4(glval) = FunctionAddress[static_member_without_def] : +# 1335| v1335_5(void) = Call[static_member_without_def] : func:r1335_4 +# 1335| mu1335_6(unknown) = ^CallSideEffect : ~m? +# 1336| v1336_1(void) = NoOp : +# 1336| r1336_2(glval) = VariableAddress[c] : +# 1336| r1336_3(glval) = FunctionAddress[~C] : +# 1336| v1336_4(void) = Call[~C] : func:r1336_3, this:r1336_2 +# 1336| mu1336_5(unknown) = ^CallSideEffect : ~m? +# 1336| v1336_6(void) = ^IndirectReadSideEffect[-1] : &:r1336_2, ~m? +# 1336| mu1336_7(C) = ^IndirectMayWriteSideEffect[-1] : &:r1336_2 +# 1319| v1319_10(void) = ReturnIndirection[a_arg] : &:r1319_8, ~m? +# 1319| v1319_11(void) = ReturnVoid : +# 1319| v1319_12(void) = AliasedUse : ~m? +# 1319| v1319_13(void) = ExitFunction : -# 1291| int missingReturnValue(bool, int) -# 1291| Block 0 -# 1291| v1291_1(void) = EnterFunction : -# 1291| mu1291_2(unknown) = AliasedDefinition : -# 1291| mu1291_3(unknown) = InitializeNonLocal : -# 1291| r1291_4(glval) = VariableAddress[b] : -# 1291| mu1291_5(bool) = InitializeParameter[b] : &:r1291_4 -# 1291| r1291_6(glval) = VariableAddress[x] : -# 1291| mu1291_7(int) = InitializeParameter[x] : &:r1291_6 -# 1292| r1292_1(glval) = VariableAddress[b] : -# 1292| r1292_2(bool) = Load[b] : &:r1292_1, ~m? -# 1292| v1292_3(void) = ConditionalBranch : r1292_2 +# 1338| int missingReturnValue(bool, int) +# 1338| Block 0 +# 1338| v1338_1(void) = EnterFunction : +# 1338| mu1338_2(unknown) = AliasedDefinition : +# 1338| mu1338_3(unknown) = InitializeNonLocal : +# 1338| r1338_4(glval) = VariableAddress[b] : +# 1338| mu1338_5(bool) = InitializeParameter[b] : &:r1338_4 +# 1338| r1338_6(glval) = VariableAddress[x] : +# 1338| mu1338_7(int) = InitializeParameter[x] : &:r1338_6 +# 1339| r1339_1(glval) = VariableAddress[b] : +# 1339| r1339_2(bool) = Load[b] : &:r1339_1, ~m? +# 1339| v1339_3(void) = ConditionalBranch : r1339_2 #-----| False -> Block 3 #-----| True -> Block 2 -# 1291| Block 1 -# 1291| r1291_8(glval) = VariableAddress[#return] : -# 1291| v1291_9(void) = ReturnValue : &:r1291_8, ~m? -# 1291| v1291_10(void) = AliasedUse : ~m? -# 1291| v1291_11(void) = ExitFunction : +# 1338| Block 1 +# 1338| r1338_8(glval) = VariableAddress[#return] : +# 1338| v1338_9(void) = ReturnValue : &:r1338_8, ~m? +# 1338| v1338_10(void) = AliasedUse : ~m? +# 1338| v1338_11(void) = ExitFunction : -# 1293| Block 2 -# 1293| r1293_1(glval) = VariableAddress[#return] : -# 1293| r1293_2(glval) = VariableAddress[x] : -# 1293| r1293_3(int) = Load[x] : &:r1293_2, ~m? -# 1293| mu1293_4(int) = Store[#return] : &:r1293_1, r1293_3 +# 1340| Block 2 +# 1340| r1340_1(glval) = VariableAddress[#return] : +# 1340| r1340_2(glval) = VariableAddress[x] : +# 1340| r1340_3(int) = Load[x] : &:r1340_2, ~m? +# 1340| mu1340_4(int) = Store[#return] : &:r1340_1, r1340_3 #-----| Goto -> Block 1 -# 1295| Block 3 -# 1295| r1295_1(glval) = VariableAddress[#return] : -# 1295| mu1295_2(int) = Uninitialized[#return] : &:r1295_1 +# 1342| Block 3 +# 1342| r1342_1(glval) = VariableAddress[#return] : +# 1342| mu1342_2(int) = Uninitialized[#return] : &:r1342_1 #-----| Goto -> Block 1 -# 1297| void returnVoid(int, int) -# 1297| Block 0 -# 1297| v1297_1(void) = EnterFunction : -# 1297| mu1297_2(unknown) = AliasedDefinition : -# 1297| mu1297_3(unknown) = InitializeNonLocal : -# 1297| r1297_4(glval) = VariableAddress[x] : -# 1297| mu1297_5(int) = InitializeParameter[x] : &:r1297_4 -# 1297| r1297_6(glval) = VariableAddress[y] : -# 1297| mu1297_7(int) = InitializeParameter[y] : &:r1297_6 -# 1298| r1298_1(glval) = FunctionAddress[IntegerOps] : -# 1298| r1298_2(glval) = VariableAddress[x] : -# 1298| r1298_3(int) = Load[x] : &:r1298_2, ~m? -# 1298| r1298_4(glval) = VariableAddress[y] : -# 1298| r1298_5(int) = Load[y] : &:r1298_4, ~m? -# 1298| v1298_6(void) = Call[IntegerOps] : func:r1298_1, 0:r1298_3, 1:r1298_5 -# 1298| mu1298_7(unknown) = ^CallSideEffect : ~m? -# 1298| v1298_8(void) = NoOp : -# 1297| v1297_8(void) = ReturnVoid : -# 1297| v1297_9(void) = AliasedUse : ~m? -# 1297| v1297_10(void) = ExitFunction : +# 1344| void returnVoid(int, int) +# 1344| Block 0 +# 1344| v1344_1(void) = EnterFunction : +# 1344| mu1344_2(unknown) = AliasedDefinition : +# 1344| mu1344_3(unknown) = InitializeNonLocal : +# 1344| r1344_4(glval) = VariableAddress[x] : +# 1344| mu1344_5(int) = InitializeParameter[x] : &:r1344_4 +# 1344| r1344_6(glval) = VariableAddress[y] : +# 1344| mu1344_7(int) = InitializeParameter[y] : &:r1344_6 +# 1345| r1345_1(glval) = FunctionAddress[IntegerOps] : +# 1345| r1345_2(glval) = VariableAddress[x] : +# 1345| r1345_3(int) = Load[x] : &:r1345_2, ~m? +# 1345| r1345_4(glval) = VariableAddress[y] : +# 1345| r1345_5(int) = Load[y] : &:r1345_4, ~m? +# 1345| v1345_6(void) = Call[IntegerOps] : func:r1345_1, 0:r1345_3, 1:r1345_5 +# 1345| mu1345_7(unknown) = ^CallSideEffect : ~m? +# 1345| v1345_8(void) = NoOp : +# 1344| v1344_8(void) = ReturnVoid : +# 1344| v1344_9(void) = AliasedUse : ~m? +# 1344| v1344_10(void) = ExitFunction : -# 1301| void gccBinaryConditional(bool, int, long) -# 1301| Block 0 -# 1301| v1301_1(void) = EnterFunction : -# 1301| mu1301_2(unknown) = AliasedDefinition : -# 1301| mu1301_3(unknown) = InitializeNonLocal : -# 1301| r1301_4(glval) = VariableAddress[b] : -# 1301| mu1301_5(bool) = InitializeParameter[b] : &:r1301_4 -# 1301| r1301_6(glval) = VariableAddress[x] : -# 1301| mu1301_7(int) = InitializeParameter[x] : &:r1301_6 -# 1301| r1301_8(glval) = VariableAddress[y] : -# 1301| mu1301_9(long) = InitializeParameter[y] : &:r1301_8 -# 1302| r1302_1(glval) = VariableAddress[z] : -# 1302| r1302_2(glval) = VariableAddress[x] : -# 1302| r1302_3(int) = Load[x] : &:r1302_2, ~m? -# 1302| mu1302_4(int) = Store[z] : &:r1302_1, r1302_3 -# 1303| r1303_1(glval) = VariableAddress[b] : -# 1303| r1303_2(bool) = Load[b] : &:r1303_1, ~m? -# 1303| v1303_3(void) = ConditionalBranch : r1303_2 +# 1348| void gccBinaryConditional(bool, int, long) +# 1348| Block 0 +# 1348| v1348_1(void) = EnterFunction : +# 1348| mu1348_2(unknown) = AliasedDefinition : +# 1348| mu1348_3(unknown) = InitializeNonLocal : +# 1348| r1348_4(glval) = VariableAddress[b] : +# 1348| mu1348_5(bool) = InitializeParameter[b] : &:r1348_4 +# 1348| r1348_6(glval) = VariableAddress[x] : +# 1348| mu1348_7(int) = InitializeParameter[x] : &:r1348_6 +# 1348| r1348_8(glval) = VariableAddress[y] : +# 1348| mu1348_9(long) = InitializeParameter[y] : &:r1348_8 +# 1349| r1349_1(glval) = VariableAddress[z] : +# 1349| r1349_2(glval) = VariableAddress[x] : +# 1349| r1349_3(int) = Load[x] : &:r1349_2, ~m? +# 1349| mu1349_4(int) = Store[z] : &:r1349_1, r1349_3 +# 1350| r1350_1(glval) = VariableAddress[b] : +# 1350| r1350_2(bool) = Load[b] : &:r1350_1, ~m? +# 1350| v1350_3(void) = ConditionalBranch : r1350_2 #-----| False -> Block 3 #-----| True -> Block 2 -# 1303| Block 1 -# 1303| r1303_4(glval) = VariableAddress[#temp1303:9] : -# 1303| r1303_5(int) = Load[#temp1303:9] : &:r1303_4, ~m? -# 1303| r1303_6(glval) = VariableAddress[z] : -# 1303| mu1303_7(int) = Store[z] : &:r1303_6, r1303_5 -# 1304| r1304_1(glval) = VariableAddress[b] : -# 1304| r1304_2(bool) = Load[b] : &:r1304_1, ~m? -# 1304| v1304_3(void) = ConditionalBranch : r1304_2 +# 1350| Block 1 +# 1350| r1350_4(glval) = VariableAddress[#temp1350:9] : +# 1350| r1350_5(int) = Load[#temp1350:9] : &:r1350_4, ~m? +# 1350| r1350_6(glval) = VariableAddress[z] : +# 1350| mu1350_7(int) = Store[z] : &:r1350_6, r1350_5 +# 1351| r1351_1(glval) = VariableAddress[b] : +# 1351| r1351_2(bool) = Load[b] : &:r1351_1, ~m? +# 1351| v1351_3(void) = ConditionalBranch : r1351_2 #-----| False -> Block 6 #-----| True -> Block 5 -# 1303| Block 2 -# 1303| r1303_8(glval) = VariableAddress[#temp1303:9] : -# 1303| mu1303_9(int) = Store[#temp1303:9] : &:r1303_8, r1303_2 +# 1350| Block 2 +# 1350| r1350_8(glval) = VariableAddress[#temp1350:9] : +# 1350| mu1350_9(int) = Store[#temp1350:9] : &:r1350_8, r1350_2 #-----| Goto -> Block 1 -# 1303| Block 3 -# 1303| r1303_10(glval) = VariableAddress[x] : -# 1303| r1303_11(int) = Load[x] : &:r1303_10, ~m? -# 1303| r1303_12(glval) = VariableAddress[#temp1303:9] : -# 1303| mu1303_13(int) = Store[#temp1303:9] : &:r1303_12, r1303_11 +# 1350| Block 3 +# 1350| r1350_10(glval) = VariableAddress[x] : +# 1350| r1350_11(int) = Load[x] : &:r1350_10, ~m? +# 1350| r1350_12(glval) = VariableAddress[#temp1350:9] : +# 1350| mu1350_13(int) = Store[#temp1350:9] : &:r1350_12, r1350_11 #-----| Goto -> Block 1 -# 1304| Block 4 -# 1304| r1304_4(glval) = VariableAddress[#temp1304:9] : -# 1304| r1304_5(long) = Load[#temp1304:9] : &:r1304_4, ~m? -# 1304| r1304_6(int) = Convert : r1304_5 -# 1304| r1304_7(glval) = VariableAddress[z] : -# 1304| mu1304_8(int) = Store[z] : &:r1304_7, r1304_6 -# 1305| r1305_1(glval) = VariableAddress[x] : -# 1305| r1305_2(int) = Load[x] : &:r1305_1, ~m? -# 1305| r1305_3(int) = Constant[0] : -# 1305| r1305_4(bool) = CompareNE : r1305_2, r1305_3 -# 1305| v1305_5(void) = ConditionalBranch : r1305_4 +# 1351| Block 4 +# 1351| r1351_4(glval) = VariableAddress[#temp1351:9] : +# 1351| r1351_5(long) = Load[#temp1351:9] : &:r1351_4, ~m? +# 1351| r1351_6(int) = Convert : r1351_5 +# 1351| r1351_7(glval) = VariableAddress[z] : +# 1351| mu1351_8(int) = Store[z] : &:r1351_7, r1351_6 +# 1352| r1352_1(glval) = VariableAddress[x] : +# 1352| r1352_2(int) = Load[x] : &:r1352_1, ~m? +# 1352| r1352_3(int) = Constant[0] : +# 1352| r1352_4(bool) = CompareNE : r1352_2, r1352_3 +# 1352| v1352_5(void) = ConditionalBranch : r1352_4 #-----| False -> Block 9 #-----| True -> Block 8 -# 1304| Block 5 -# 1304| r1304_9(glval) = VariableAddress[#temp1304:9] : -# 1304| mu1304_10(long) = Store[#temp1304:9] : &:r1304_9, r1304_2 +# 1351| Block 5 +# 1351| r1351_9(glval) = VariableAddress[#temp1351:9] : +# 1351| mu1351_10(long) = Store[#temp1351:9] : &:r1351_9, r1351_2 #-----| Goto -> Block 4 -# 1304| Block 6 -# 1304| r1304_11(glval) = VariableAddress[y] : -# 1304| r1304_12(long) = Load[y] : &:r1304_11, ~m? -# 1304| r1304_13(glval) = VariableAddress[#temp1304:9] : -# 1304| mu1304_14(long) = Store[#temp1304:9] : &:r1304_13, r1304_12 +# 1351| Block 6 +# 1351| r1351_11(glval) = VariableAddress[y] : +# 1351| r1351_12(long) = Load[y] : &:r1351_11, ~m? +# 1351| r1351_13(glval) = VariableAddress[#temp1351:9] : +# 1351| mu1351_14(long) = Store[#temp1351:9] : &:r1351_13, r1351_12 #-----| Goto -> Block 4 -# 1305| Block 7 -# 1305| r1305_6(glval) = VariableAddress[#temp1305:9] : -# 1305| r1305_7(int) = Load[#temp1305:9] : &:r1305_6, ~m? -# 1305| r1305_8(glval) = VariableAddress[z] : -# 1305| mu1305_9(int) = Store[z] : &:r1305_8, r1305_7 -# 1306| r1306_1(glval) = VariableAddress[x] : -# 1306| r1306_2(int) = Load[x] : &:r1306_1, ~m? -# 1306| r1306_3(int) = Constant[0] : -# 1306| r1306_4(bool) = CompareNE : r1306_2, r1306_3 -# 1306| v1306_5(void) = ConditionalBranch : r1306_4 +# 1352| Block 7 +# 1352| r1352_6(glval) = VariableAddress[#temp1352:9] : +# 1352| r1352_7(int) = Load[#temp1352:9] : &:r1352_6, ~m? +# 1352| r1352_8(glval) = VariableAddress[z] : +# 1352| mu1352_9(int) = Store[z] : &:r1352_8, r1352_7 +# 1353| r1353_1(glval) = VariableAddress[x] : +# 1353| r1353_2(int) = Load[x] : &:r1353_1, ~m? +# 1353| r1353_3(int) = Constant[0] : +# 1353| r1353_4(bool) = CompareNE : r1353_2, r1353_3 +# 1353| v1353_5(void) = ConditionalBranch : r1353_4 #-----| False -> Block 12 #-----| True -> Block 11 -# 1305| Block 8 -# 1305| r1305_10(glval) = VariableAddress[#temp1305:9] : -# 1305| mu1305_11(int) = Store[#temp1305:9] : &:r1305_10, r1305_2 +# 1352| Block 8 +# 1352| r1352_10(glval) = VariableAddress[#temp1352:9] : +# 1352| mu1352_11(int) = Store[#temp1352:9] : &:r1352_10, r1352_2 #-----| Goto -> Block 7 -# 1305| Block 9 -# 1305| r1305_12(glval) = VariableAddress[x] : -# 1305| r1305_13(int) = Load[x] : &:r1305_12, ~m? -# 1305| r1305_14(glval) = VariableAddress[#temp1305:9] : -# 1305| mu1305_15(int) = Store[#temp1305:9] : &:r1305_14, r1305_13 +# 1352| Block 9 +# 1352| r1352_12(glval) = VariableAddress[x] : +# 1352| r1352_13(int) = Load[x] : &:r1352_12, ~m? +# 1352| r1352_14(glval) = VariableAddress[#temp1352:9] : +# 1352| mu1352_15(int) = Store[#temp1352:9] : &:r1352_14, r1352_13 #-----| Goto -> Block 7 -# 1306| Block 10 -# 1306| r1306_6(glval) = VariableAddress[#temp1306:9] : -# 1306| r1306_7(long) = Load[#temp1306:9] : &:r1306_6, ~m? -# 1306| r1306_8(int) = Convert : r1306_7 -# 1306| r1306_9(glval) = VariableAddress[z] : -# 1306| mu1306_10(int) = Store[z] : &:r1306_9, r1306_8 -# 1307| r1307_1(glval) = VariableAddress[y] : -# 1307| r1307_2(long) = Load[y] : &:r1307_1, ~m? -# 1307| r1307_3(long) = Constant[0] : -# 1307| r1307_4(bool) = CompareNE : r1307_2, r1307_3 -# 1307| v1307_5(void) = ConditionalBranch : r1307_4 +# 1353| Block 10 +# 1353| r1353_6(glval) = VariableAddress[#temp1353:9] : +# 1353| r1353_7(long) = Load[#temp1353:9] : &:r1353_6, ~m? +# 1353| r1353_8(int) = Convert : r1353_7 +# 1353| r1353_9(glval) = VariableAddress[z] : +# 1353| mu1353_10(int) = Store[z] : &:r1353_9, r1353_8 +# 1354| r1354_1(glval) = VariableAddress[y] : +# 1354| r1354_2(long) = Load[y] : &:r1354_1, ~m? +# 1354| r1354_3(long) = Constant[0] : +# 1354| r1354_4(bool) = CompareNE : r1354_2, r1354_3 +# 1354| v1354_5(void) = ConditionalBranch : r1354_4 #-----| False -> Block 15 #-----| True -> Block 14 -# 1306| Block 11 -# 1306| r1306_11(glval) = VariableAddress[#temp1306:9] : -# 1306| mu1306_12(long) = Store[#temp1306:9] : &:r1306_11, r1306_2 +# 1353| Block 11 +# 1353| r1353_11(glval) = VariableAddress[#temp1353:9] : +# 1353| mu1353_12(long) = Store[#temp1353:9] : &:r1353_11, r1353_2 #-----| Goto -> Block 10 -# 1306| Block 12 -# 1306| r1306_13(glval) = VariableAddress[y] : -# 1306| r1306_14(long) = Load[y] : &:r1306_13, ~m? -# 1306| r1306_15(glval) = VariableAddress[#temp1306:9] : -# 1306| mu1306_16(long) = Store[#temp1306:9] : &:r1306_15, r1306_14 +# 1353| Block 12 +# 1353| r1353_13(glval) = VariableAddress[y] : +# 1353| r1353_14(long) = Load[y] : &:r1353_13, ~m? +# 1353| r1353_15(glval) = VariableAddress[#temp1353:9] : +# 1353| mu1353_16(long) = Store[#temp1353:9] : &:r1353_15, r1353_14 #-----| Goto -> Block 10 -# 1307| Block 13 -# 1307| r1307_6(glval) = VariableAddress[#temp1307:9] : -# 1307| r1307_7(long) = Load[#temp1307:9] : &:r1307_6, ~m? -# 1307| r1307_8(int) = Convert : r1307_7 -# 1307| r1307_9(glval) = VariableAddress[z] : -# 1307| mu1307_10(int) = Store[z] : &:r1307_9, r1307_8 -# 1308| r1308_1(glval) = VariableAddress[y] : -# 1308| r1308_2(long) = Load[y] : &:r1308_1, ~m? -# 1308| r1308_3(long) = Constant[0] : -# 1308| r1308_4(bool) = CompareNE : r1308_2, r1308_3 -# 1308| v1308_5(void) = ConditionalBranch : r1308_4 +# 1354| Block 13 +# 1354| r1354_6(glval) = VariableAddress[#temp1354:9] : +# 1354| r1354_7(long) = Load[#temp1354:9] : &:r1354_6, ~m? +# 1354| r1354_8(int) = Convert : r1354_7 +# 1354| r1354_9(glval) = VariableAddress[z] : +# 1354| mu1354_10(int) = Store[z] : &:r1354_9, r1354_8 +# 1355| r1355_1(glval) = VariableAddress[y] : +# 1355| r1355_2(long) = Load[y] : &:r1355_1, ~m? +# 1355| r1355_3(long) = Constant[0] : +# 1355| r1355_4(bool) = CompareNE : r1355_2, r1355_3 +# 1355| v1355_5(void) = ConditionalBranch : r1355_4 #-----| False -> Block 18 #-----| True -> Block 17 -# 1307| Block 14 -# 1307| r1307_11(glval) = VariableAddress[#temp1307:9] : -# 1307| mu1307_12(long) = Store[#temp1307:9] : &:r1307_11, r1307_2 +# 1354| Block 14 +# 1354| r1354_11(glval) = VariableAddress[#temp1354:9] : +# 1354| mu1354_12(long) = Store[#temp1354:9] : &:r1354_11, r1354_2 #-----| Goto -> Block 13 -# 1307| Block 15 -# 1307| r1307_13(glval) = VariableAddress[x] : -# 1307| r1307_14(int) = Load[x] : &:r1307_13, ~m? -# 1307| r1307_15(long) = Convert : r1307_14 -# 1307| r1307_16(glval) = VariableAddress[#temp1307:9] : -# 1307| mu1307_17(long) = Store[#temp1307:9] : &:r1307_16, r1307_15 +# 1354| Block 15 +# 1354| r1354_13(glval) = VariableAddress[x] : +# 1354| r1354_14(int) = Load[x] : &:r1354_13, ~m? +# 1354| r1354_15(long) = Convert : r1354_14 +# 1354| r1354_16(glval) = VariableAddress[#temp1354:9] : +# 1354| mu1354_17(long) = Store[#temp1354:9] : &:r1354_16, r1354_15 #-----| Goto -> Block 13 -# 1308| Block 16 -# 1308| r1308_6(glval) = VariableAddress[#temp1308:9] : -# 1308| r1308_7(long) = Load[#temp1308:9] : &:r1308_6, ~m? -# 1308| r1308_8(int) = Convert : r1308_7 -# 1308| r1308_9(glval) = VariableAddress[z] : -# 1308| mu1308_10(int) = Store[z] : &:r1308_9, r1308_8 -# 1310| r1310_1(glval) = VariableAddress[x] : -# 1310| r1310_2(int) = Load[x] : &:r1310_1, ~m? -# 1310| r1310_3(int) = Constant[0] : -# 1310| r1310_4(bool) = CompareNE : r1310_2, r1310_3 -# 1310| v1310_5(void) = ConditionalBranch : r1310_4 +# 1355| Block 16 +# 1355| r1355_6(glval) = VariableAddress[#temp1355:9] : +# 1355| r1355_7(long) = Load[#temp1355:9] : &:r1355_6, ~m? +# 1355| r1355_8(int) = Convert : r1355_7 +# 1355| r1355_9(glval) = VariableAddress[z] : +# 1355| mu1355_10(int) = Store[z] : &:r1355_9, r1355_8 +# 1357| r1357_1(glval) = VariableAddress[x] : +# 1357| r1357_2(int) = Load[x] : &:r1357_1, ~m? +# 1357| r1357_3(int) = Constant[0] : +# 1357| r1357_4(bool) = CompareNE : r1357_2, r1357_3 +# 1357| v1357_5(void) = ConditionalBranch : r1357_4 #-----| False -> Block 25 #-----| True -> Block 24 -# 1308| Block 17 -# 1308| r1308_11(glval) = VariableAddress[#temp1308:9] : -# 1308| mu1308_12(long) = Store[#temp1308:9] : &:r1308_11, r1308_2 +# 1355| Block 17 +# 1355| r1355_11(glval) = VariableAddress[#temp1355:9] : +# 1355| mu1355_12(long) = Store[#temp1355:9] : &:r1355_11, r1355_2 #-----| Goto -> Block 16 -# 1308| Block 18 -# 1308| r1308_13(glval) = VariableAddress[y] : -# 1308| r1308_14(long) = Load[y] : &:r1308_13, ~m? -# 1308| r1308_15(glval) = VariableAddress[#temp1308:9] : -# 1308| mu1308_16(long) = Store[#temp1308:9] : &:r1308_15, r1308_14 +# 1355| Block 18 +# 1355| r1355_13(glval) = VariableAddress[y] : +# 1355| r1355_14(long) = Load[y] : &:r1355_13, ~m? +# 1355| r1355_15(glval) = VariableAddress[#temp1355:9] : +# 1355| mu1355_16(long) = Store[#temp1355:9] : &:r1355_15, r1355_14 #-----| Goto -> Block 16 -# 1310| Block 19 -# 1310| r1310_6(glval) = VariableAddress[#temp1310:9] : -# 1310| r1310_7(int) = Load[#temp1310:9] : &:r1310_6, ~m? -# 1310| r1310_8(glval) = VariableAddress[z] : -# 1310| mu1310_9(int) = Store[z] : &:r1310_8, r1310_7 -# 1311| v1311_1(void) = NoOp : -# 1301| v1301_10(void) = ReturnVoid : -# 1301| v1301_11(void) = AliasedUse : ~m? -# 1301| v1301_12(void) = ExitFunction : +# 1357| Block 19 +# 1357| r1357_6(glval) = VariableAddress[#temp1357:9] : +# 1357| r1357_7(int) = Load[#temp1357:9] : &:r1357_6, ~m? +# 1357| r1357_8(glval) = VariableAddress[z] : +# 1357| mu1357_9(int) = Store[z] : &:r1357_8, r1357_7 +# 1358| v1358_1(void) = NoOp : +# 1348| v1348_10(void) = ReturnVoid : +# 1348| v1348_11(void) = AliasedUse : ~m? +# 1348| v1348_12(void) = ExitFunction : -# 1310| Block 20 -# 1310| r1310_10(glval) = VariableAddress[#temp1310:9] : -# 1310| mu1310_11(int) = Store[#temp1310:9] : &:r1310_10, r1310_16 +# 1357| Block 20 +# 1357| r1357_10(glval) = VariableAddress[#temp1357:9] : +# 1357| mu1357_11(int) = Store[#temp1357:9] : &:r1357_10, r1357_16 #-----| Goto -> Block 19 -# 1310| Block 21 -# 1310| r1310_12(glval) = VariableAddress[#temp1310:10] : -# 1310| r1310_13(bool) = Constant[0] : -# 1310| mu1310_14(bool) = Store[#temp1310:10] : &:r1310_12, r1310_13 +# 1357| Block 21 +# 1357| r1357_12(glval) = VariableAddress[#temp1357:10] : +# 1357| r1357_13(bool) = Constant[0] : +# 1357| mu1357_14(bool) = Store[#temp1357:10] : &:r1357_12, r1357_13 #-----| Goto -> Block 22 -# 1310| Block 22 -# 1310| r1310_15(glval) = VariableAddress[#temp1310:10] : -# 1310| r1310_16(bool) = Load[#temp1310:10] : &:r1310_15, ~m? -# 1310| v1310_17(void) = ConditionalBranch : r1310_16 +# 1357| Block 22 +# 1357| r1357_15(glval) = VariableAddress[#temp1357:10] : +# 1357| r1357_16(bool) = Load[#temp1357:10] : &:r1357_15, ~m? +# 1357| v1357_17(void) = ConditionalBranch : r1357_16 #-----| False -> Block 26 #-----| True -> Block 20 -# 1310| Block 23 -# 1310| r1310_18(glval) = VariableAddress[#temp1310:10] : -# 1310| r1310_19(bool) = Constant[1] : -# 1310| mu1310_20(bool) = Store[#temp1310:10] : &:r1310_18, r1310_19 +# 1357| Block 23 +# 1357| r1357_18(glval) = VariableAddress[#temp1357:10] : +# 1357| r1357_19(bool) = Constant[1] : +# 1357| mu1357_20(bool) = Store[#temp1357:10] : &:r1357_18, r1357_19 #-----| Goto -> Block 22 -# 1310| Block 24 -# 1310| r1310_21(glval) = VariableAddress[b] : -# 1310| r1310_22(bool) = Load[b] : &:r1310_21, ~m? -# 1310| v1310_23(void) = ConditionalBranch : r1310_22 +# 1357| Block 24 +# 1357| r1357_21(glval) = VariableAddress[b] : +# 1357| r1357_22(bool) = Load[b] : &:r1357_21, ~m? +# 1357| v1357_23(void) = ConditionalBranch : r1357_22 #-----| False -> Block 25 #-----| True -> Block 23 -# 1310| Block 25 -# 1310| r1310_24(glval) = VariableAddress[y] : -# 1310| r1310_25(long) = Load[y] : &:r1310_24, ~m? -# 1310| r1310_26(long) = Constant[0] : -# 1310| r1310_27(bool) = CompareNE : r1310_25, r1310_26 -# 1310| v1310_28(void) = ConditionalBranch : r1310_27 +# 1357| Block 25 +# 1357| r1357_24(glval) = VariableAddress[y] : +# 1357| r1357_25(long) = Load[y] : &:r1357_24, ~m? +# 1357| r1357_26(long) = Constant[0] : +# 1357| r1357_27(bool) = CompareNE : r1357_25, r1357_26 +# 1357| v1357_28(void) = ConditionalBranch : r1357_27 #-----| False -> Block 21 #-----| True -> Block 23 -# 1310| Block 26 -# 1310| r1310_29(glval) = VariableAddress[x] : -# 1310| r1310_30(int) = Load[x] : &:r1310_29, ~m? -# 1310| r1310_31(glval) = VariableAddress[#temp1310:9] : -# 1310| mu1310_32(int) = Store[#temp1310:9] : &:r1310_31, r1310_30 +# 1357| Block 26 +# 1357| r1357_29(glval) = VariableAddress[x] : +# 1357| r1357_30(int) = Load[x] : &:r1357_29, ~m? +# 1357| r1357_31(glval) = VariableAddress[#temp1357:9] : +# 1357| mu1357_32(int) = Store[#temp1357:9] : &:r1357_31, r1357_30 #-----| Goto -> Block 19 -# 1316| int shortCircuitConditional(int, int) -# 1316| Block 0 -# 1316| v1316_1(void) = EnterFunction : -# 1316| mu1316_2(unknown) = AliasedDefinition : -# 1316| mu1316_3(unknown) = InitializeNonLocal : -# 1316| r1316_4(glval) = VariableAddress[x] : -# 1316| mu1316_5(int) = InitializeParameter[x] : &:r1316_4 -# 1316| r1316_6(glval) = VariableAddress[y] : -# 1316| mu1316_7(int) = InitializeParameter[y] : &:r1316_6 -# 1317| r1317_1(glval) = VariableAddress[#return] : -# 1317| r1317_2(glval) = FunctionAddress[predicateA] : -# 1317| r1317_3(bool) = Call[predicateA] : func:r1317_2 -# 1317| mu1317_4(unknown) = ^CallSideEffect : ~m? -# 1317| v1317_5(void) = ConditionalBranch : r1317_3 +# 1363| int shortCircuitConditional(int, int) +# 1363| Block 0 +# 1363| v1363_1(void) = EnterFunction : +# 1363| mu1363_2(unknown) = AliasedDefinition : +# 1363| mu1363_3(unknown) = InitializeNonLocal : +# 1363| r1363_4(glval) = VariableAddress[x] : +# 1363| mu1363_5(int) = InitializeParameter[x] : &:r1363_4 +# 1363| r1363_6(glval) = VariableAddress[y] : +# 1363| mu1363_7(int) = InitializeParameter[y] : &:r1363_6 +# 1364| r1364_1(glval) = VariableAddress[#return] : +# 1364| r1364_2(glval) = FunctionAddress[predicateA] : +# 1364| r1364_3(bool) = Call[predicateA] : func:r1364_2 +# 1364| mu1364_4(unknown) = ^CallSideEffect : ~m? +# 1364| v1364_5(void) = ConditionalBranch : r1364_3 #-----| False -> Block 4 #-----| True -> Block 2 -# 1317| Block 1 -# 1317| r1317_6(glval) = VariableAddress[#temp1317:12] : -# 1317| r1317_7(int) = Load[#temp1317:12] : &:r1317_6, ~m? -# 1317| mu1317_8(int) = Store[#return] : &:r1317_1, r1317_7 -# 1316| r1316_8(glval) = VariableAddress[#return] : -# 1316| v1316_9(void) = ReturnValue : &:r1316_8, ~m? -# 1316| v1316_10(void) = AliasedUse : ~m? -# 1316| v1316_11(void) = ExitFunction : +# 1364| Block 1 +# 1364| r1364_6(glval) = VariableAddress[#temp1364:12] : +# 1364| r1364_7(int) = Load[#temp1364:12] : &:r1364_6, ~m? +# 1364| mu1364_8(int) = Store[#return] : &:r1364_1, r1364_7 +# 1363| r1363_8(glval) = VariableAddress[#return] : +# 1363| v1363_9(void) = ReturnValue : &:r1363_8, ~m? +# 1363| v1363_10(void) = AliasedUse : ~m? +# 1363| v1363_11(void) = ExitFunction : -# 1317| Block 2 -# 1317| r1317_9(glval) = FunctionAddress[predicateB] : -# 1317| r1317_10(bool) = Call[predicateB] : func:r1317_9 -# 1317| mu1317_11(unknown) = ^CallSideEffect : ~m? -# 1317| v1317_12(void) = ConditionalBranch : r1317_10 +# 1364| Block 2 +# 1364| r1364_9(glval) = FunctionAddress[predicateB] : +# 1364| r1364_10(bool) = Call[predicateB] : func:r1364_9 +# 1364| mu1364_11(unknown) = ^CallSideEffect : ~m? +# 1364| v1364_12(void) = ConditionalBranch : r1364_10 #-----| False -> Block 4 #-----| True -> Block 3 -# 1317| Block 3 -# 1317| r1317_13(glval) = VariableAddress[x] : -# 1317| r1317_14(int) = Load[x] : &:r1317_13, ~m? -# 1317| r1317_15(glval) = VariableAddress[#temp1317:12] : -# 1317| mu1317_16(int) = Store[#temp1317:12] : &:r1317_15, r1317_14 +# 1364| Block 3 +# 1364| r1364_13(glval) = VariableAddress[x] : +# 1364| r1364_14(int) = Load[x] : &:r1364_13, ~m? +# 1364| r1364_15(glval) = VariableAddress[#temp1364:12] : +# 1364| mu1364_16(int) = Store[#temp1364:12] : &:r1364_15, r1364_14 #-----| Goto -> Block 1 -# 1317| Block 4 -# 1317| r1317_17(glval) = VariableAddress[y] : -# 1317| r1317_18(int) = Load[y] : &:r1317_17, ~m? -# 1317| r1317_19(glval) = VariableAddress[#temp1317:12] : -# 1317| mu1317_20(int) = Store[#temp1317:12] : &:r1317_19, r1317_18 +# 1364| Block 4 +# 1364| r1364_17(glval) = VariableAddress[y] : +# 1364| r1364_18(int) = Load[y] : &:r1364_17, ~m? +# 1364| r1364_19(glval) = VariableAddress[#temp1364:12] : +# 1364| mu1364_20(int) = Store[#temp1364:12] : &:r1364_19, r1364_18 #-----| Goto -> Block 1 -# 1322| void f(int*) -# 1322| Block 0 -# 1322| v1322_1(void) = EnterFunction : -# 1322| mu1322_2(unknown) = AliasedDefinition : -# 1322| mu1322_3(unknown) = InitializeNonLocal : -# 1322| r1322_4(glval) = VariableAddress[p] : -# 1322| mu1322_5(int *) = InitializeParameter[p] : &:r1322_4 -# 1322| r1322_6(int *) = Load[p] : &:r1322_4, ~m? -# 1322| mu1322_7(unknown) = InitializeIndirection[p] : &:r1322_6 -# 1324| r1324_1(glval) = FunctionAddress[operator new] : -# 1324| r1324_2(unsigned long) = Constant[4] : -# 1324| r1324_3(glval) = VariableAddress[p] : -# 1324| r1324_4(int *) = Load[p] : &:r1324_3, ~m? -# 1324| r1324_5(void *) = Convert : r1324_4 -# 1324| r1324_6(void *) = Call[operator new] : func:r1324_1, 0:r1324_2, 1:r1324_5 -# 1324| mu1324_7(unknown) = ^CallSideEffect : ~m? -# 1324| mu1324_8(unknown) = ^InitializeDynamicAllocation : &:r1324_6 -# 1324| r1324_9(int *) = Convert : r1324_6 -# 1325| v1325_1(void) = NoOp : -# 1322| v1322_8(void) = ReturnIndirection[p] : &:r1322_6, ~m? -# 1322| v1322_9(void) = ReturnVoid : -# 1322| v1322_10(void) = AliasedUse : ~m? -# 1322| v1322_11(void) = ExitFunction : +# 1369| void f(int*) +# 1369| Block 0 +# 1369| v1369_1(void) = EnterFunction : +# 1369| mu1369_2(unknown) = AliasedDefinition : +# 1369| mu1369_3(unknown) = InitializeNonLocal : +# 1369| r1369_4(glval) = VariableAddress[p] : +# 1369| mu1369_5(int *) = InitializeParameter[p] : &:r1369_4 +# 1369| r1369_6(int *) = Load[p] : &:r1369_4, ~m? +# 1369| mu1369_7(unknown) = InitializeIndirection[p] : &:r1369_6 +# 1371| r1371_1(glval) = FunctionAddress[operator new] : +# 1371| r1371_2(unsigned long) = Constant[4] : +# 1371| r1371_3(glval) = VariableAddress[p] : +# 1371| r1371_4(int *) = Load[p] : &:r1371_3, ~m? +# 1371| r1371_5(void *) = Convert : r1371_4 +# 1371| r1371_6(void *) = Call[operator new] : func:r1371_1, 0:r1371_2, 1:r1371_5 +# 1371| mu1371_7(unknown) = ^CallSideEffect : ~m? +# 1371| mu1371_8(unknown) = ^InitializeDynamicAllocation : &:r1371_6 +# 1371| r1371_9(int *) = Convert : r1371_6 +# 1372| v1372_1(void) = NoOp : +# 1369| v1369_8(void) = ReturnIndirection[p] : &:r1369_6, ~m? +# 1369| v1369_9(void) = ReturnVoid : +# 1369| v1369_10(void) = AliasedUse : ~m? +# 1369| v1369_11(void) = ExitFunction : -# 1328| Point defaultConstruct() -# 1328| Block 0 -# 1328| v1328_1(void) = EnterFunction : -# 1328| mu1328_2(unknown) = AliasedDefinition : -# 1328| mu1328_3(unknown) = InitializeNonLocal : -# 1329| r1329_1(glval) = VariableAddress[#return] : -# 1329| r1329_2(Point) = Constant[0] : -# 1329| mu1329_3(Point) = Store[#return] : &:r1329_1, r1329_2 -# 1328| r1328_4(glval) = VariableAddress[#return] : -# 1328| v1328_5(void) = ReturnValue : &:r1328_4, ~m? -# 1328| v1328_6(void) = AliasedUse : ~m? -# 1328| v1328_7(void) = ExitFunction : +# 1375| Point defaultConstruct() +# 1375| Block 0 +# 1375| v1375_1(void) = EnterFunction : +# 1375| mu1375_2(unknown) = AliasedDefinition : +# 1375| mu1375_3(unknown) = InitializeNonLocal : +# 1376| r1376_1(glval) = VariableAddress[#return] : +# 1376| r1376_2(Point) = Constant[0] : +# 1376| mu1376_3(Point) = Store[#return] : &:r1376_1, r1376_2 +# 1375| r1375_4(glval) = VariableAddress[#return] : +# 1375| v1375_5(void) = ReturnValue : &:r1375_4, ~m? +# 1375| v1375_6(void) = AliasedUse : ~m? +# 1375| v1375_7(void) = ExitFunction : -# 1328| String defaultConstruct() -# 1328| Block 0 -# 1328| v1328_1(void) = EnterFunction : -# 1328| mu1328_2(unknown) = AliasedDefinition : -# 1328| mu1328_3(unknown) = InitializeNonLocal : -# 1329| r1329_1(glval) = VariableAddress[#return] : -# 1329| mu1329_2(String) = Uninitialized[#return] : &:r1329_1 -# 1329| r1329_3(glval) = FunctionAddress[String] : -# 1329| v1329_4(void) = Call[String] : func:r1329_3, this:r1329_1 -# 1329| mu1329_5(unknown) = ^CallSideEffect : ~m? -# 1329| mu1329_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r1329_1 -# 1328| r1328_4(glval) = VariableAddress[#return] : -# 1328| v1328_5(void) = ReturnValue : &:r1328_4, ~m? -# 1328| v1328_6(void) = AliasedUse : ~m? -# 1328| v1328_7(void) = ExitFunction : +# 1375| String defaultConstruct() +# 1375| Block 0 +# 1375| v1375_1(void) = EnterFunction : +# 1375| mu1375_2(unknown) = AliasedDefinition : +# 1375| mu1375_3(unknown) = InitializeNonLocal : +# 1376| r1376_1(glval) = VariableAddress[#return] : +# 1376| mu1376_2(String) = Uninitialized[#return] : &:r1376_1 +# 1376| r1376_3(glval) = FunctionAddress[String] : +# 1376| v1376_4(void) = Call[String] : func:r1376_3, this:r1376_1 +# 1376| mu1376_5(unknown) = ^CallSideEffect : ~m? +# 1376| mu1376_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r1376_1 +# 1375| r1375_4(glval) = VariableAddress[#return] : +# 1375| v1375_5(void) = ReturnValue : &:r1375_4, ~m? +# 1375| v1375_6(void) = AliasedUse : ~m? +# 1375| v1375_7(void) = ExitFunction : -# 1328| copy_constructor defaultConstruct() -# 1328| Block 0 -# 1328| v1328_1(void) = EnterFunction : -# 1328| mu1328_2(unknown) = AliasedDefinition : -# 1328| mu1328_3(unknown) = InitializeNonLocal : -# 1329| r1329_1(glval) = VariableAddress[#return] : -# 1329| mu1329_2(copy_constructor) = Uninitialized[#return] : &:r1329_1 -# 1329| r1329_3(glval) = FunctionAddress[copy_constructor] : -# 1329| v1329_4(void) = Call[copy_constructor] : func:r1329_3, this:r1329_1 -# 1329| mu1329_5(unknown) = ^CallSideEffect : ~m? -# 1329| mu1329_6(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1329_1 -# 1328| r1328_4(glval) = VariableAddress[#return] : -# 1328| v1328_5(void) = ReturnValue : &:r1328_4, ~m? -# 1328| v1328_6(void) = AliasedUse : ~m? -# 1328| v1328_7(void) = ExitFunction : +# 1375| copy_constructor defaultConstruct() +# 1375| Block 0 +# 1375| v1375_1(void) = EnterFunction : +# 1375| mu1375_2(unknown) = AliasedDefinition : +# 1375| mu1375_3(unknown) = InitializeNonLocal : +# 1376| r1376_1(glval) = VariableAddress[#return] : +# 1376| mu1376_2(copy_constructor) = Uninitialized[#return] : &:r1376_1 +# 1376| r1376_3(glval) = FunctionAddress[copy_constructor] : +# 1376| v1376_4(void) = Call[copy_constructor] : func:r1376_3, this:r1376_1 +# 1376| mu1376_5(unknown) = ^CallSideEffect : ~m? +# 1376| mu1376_6(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1376_1 +# 1375| r1375_4(glval) = VariableAddress[#return] : +# 1375| v1375_5(void) = ReturnValue : &:r1375_4, ~m? +# 1375| v1375_6(void) = AliasedUse : ~m? +# 1375| v1375_7(void) = ExitFunction : -# 1328| destructor_only defaultConstruct() -# 1328| Block 0 -# 1328| v1328_1(void) = EnterFunction : -# 1328| mu1328_2(unknown) = AliasedDefinition : -# 1328| mu1328_3(unknown) = InitializeNonLocal : -# 1329| r1329_1(glval) = VariableAddress[#return] : -# 1329| r1329_2(destructor_only) = Constant[0] : -# 1329| mu1329_3(destructor_only) = Store[#return] : &:r1329_1, r1329_2 -# 1328| r1328_4(glval) = VariableAddress[#return] : -# 1328| v1328_5(void) = ReturnValue : &:r1328_4, ~m? -# 1328| v1328_6(void) = AliasedUse : ~m? -# 1328| v1328_7(void) = ExitFunction : +# 1375| destructor_only defaultConstruct() +# 1375| Block 0 +# 1375| v1375_1(void) = EnterFunction : +# 1375| mu1375_2(unknown) = AliasedDefinition : +# 1375| mu1375_3(unknown) = InitializeNonLocal : +# 1376| r1376_1(glval) = VariableAddress[#return] : +# 1376| r1376_2(destructor_only) = Constant[0] : +# 1376| mu1376_3(destructor_only) = Store[#return] : &:r1376_1, r1376_2 +# 1375| r1375_4(glval) = VariableAddress[#return] : +# 1375| v1375_5(void) = ReturnValue : &:r1375_4, ~m? +# 1375| v1375_6(void) = AliasedUse : ~m? +# 1375| v1375_7(void) = ExitFunction : -# 1367| void temporary_string() -# 1367| Block 0 -# 1367| v1367_1(void) = EnterFunction : -# 1367| mu1367_2(unknown) = AliasedDefinition : -# 1367| mu1367_3(unknown) = InitializeNonLocal : -# 1368| r1368_1(glval) = VariableAddress[s] : -# 1368| r1368_2(glval) = FunctionAddress[returnValue] : -# 1368| r1368_3(String) = Call[returnValue] : func:r1368_2 -# 1368| mu1368_4(unknown) = ^CallSideEffect : ~m? -# 1368| mu1368_5(String) = Store[s] : &:r1368_1, r1368_3 -# 1369| r1369_1(glval) = VariableAddress[rs] : -# 1369| r1369_2(glval) = VariableAddress[#temp1369:24] : -# 1369| r1369_3(glval) = FunctionAddress[returnValue] : -# 1369| r1369_4(String) = Call[returnValue] : func:r1369_3 -# 1369| mu1369_5(unknown) = ^CallSideEffect : ~m? -# 1369| mu1369_6(String) = Store[#temp1369:24] : &:r1369_2, r1369_4 -# 1369| r1369_7(glval) = Convert : r1369_2 -# 1369| r1369_8(String &) = CopyValue : r1369_7 -# 1369| mu1369_9(String &) = Store[rs] : &:r1369_1, r1369_8 -# 1371| r1371_1(glval) = FunctionAddress[acceptRef] : -# 1371| r1371_2(glval) = VariableAddress[s] : -# 1371| r1371_3(glval) = Convert : r1371_2 -# 1371| r1371_4(String &) = CopyValue : r1371_3 -# 1371| v1371_5(void) = Call[acceptRef] : func:r1371_1, 0:r1371_4 -# 1371| mu1371_6(unknown) = ^CallSideEffect : ~m? -# 1371| v1371_7(void) = ^BufferReadSideEffect[0] : &:r1371_4, ~m? -# 1372| r1372_1(glval) = FunctionAddress[acceptRef] : -# 1372| r1372_2(glval) = VariableAddress[#temp1372:23] : -# 1372| mu1372_3(String) = Uninitialized[#temp1372:23] : &:r1372_2 -# 1372| r1372_4(glval) = FunctionAddress[String] : -# 1372| r1372_5(glval) = StringConstant["foo"] : -# 1372| r1372_6(char *) = Convert : r1372_5 -# 1372| v1372_7(void) = Call[String] : func:r1372_4, this:r1372_2, 0:r1372_6 -# 1372| mu1372_8(unknown) = ^CallSideEffect : ~m? -# 1372| v1372_9(void) = ^BufferReadSideEffect[0] : &:r1372_6, ~m? -# 1372| mu1372_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r1372_2 -# 1372| r1372_11(String &) = CopyValue : r1372_2 -# 1372| v1372_12(void) = Call[acceptRef] : func:r1372_1, 0:r1372_11 -# 1372| mu1372_13(unknown) = ^CallSideEffect : ~m? -# 1372| v1372_14(void) = ^BufferReadSideEffect[0] : &:r1372_11, ~m? -# 1373| r1373_1(glval) = FunctionAddress[acceptValue] : -# 1373| r1373_2(glval) = VariableAddress[#temp1373:17] : -# 1373| mu1373_3(String) = Uninitialized[#temp1373:17] : &:r1373_2 -# 1373| r1373_4(glval) = FunctionAddress[String] : -# 1373| r1373_5(glval) = VariableAddress[s] : -# 1373| r1373_6(glval) = Convert : r1373_5 -# 1373| r1373_7(String &) = CopyValue : r1373_6 -# 1373| v1373_8(void) = Call[String] : func:r1373_4, this:r1373_2, 0:r1373_7 -# 1373| mu1373_9(unknown) = ^CallSideEffect : ~m? -# 1373| v1373_10(void) = ^BufferReadSideEffect[0] : &:r1373_7, ~m? -# 1373| mu1373_11(String) = ^IndirectMayWriteSideEffect[-1] : &:r1373_2 -# 1373| r1373_12(String) = Load[#temp1373:17] : &:r1373_2, ~m? -# 1373| v1373_13(void) = Call[acceptValue] : func:r1373_1, 0:r1373_12 -# 1373| mu1373_14(unknown) = ^CallSideEffect : ~m? -# 1374| r1374_1(glval) = FunctionAddress[acceptValue] : -# 1374| r1374_2(glval) = VariableAddress[#temp1374:25] : -# 1374| mu1374_3(String) = Uninitialized[#temp1374:25] : &:r1374_2 -# 1374| r1374_4(glval) = FunctionAddress[String] : -# 1374| r1374_5(glval) = StringConstant["foo"] : -# 1374| r1374_6(char *) = Convert : r1374_5 -# 1374| v1374_7(void) = Call[String] : func:r1374_4, this:r1374_2, 0:r1374_6 -# 1374| mu1374_8(unknown) = ^CallSideEffect : ~m? -# 1374| v1374_9(void) = ^BufferReadSideEffect[0] : &:r1374_6, ~m? -# 1374| mu1374_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r1374_2 -# 1374| r1374_11(String) = Load[#temp1374:25] : &:r1374_2, ~m? -# 1374| v1374_12(void) = Call[acceptValue] : func:r1374_1, 0:r1374_11 -# 1374| mu1374_13(unknown) = ^CallSideEffect : ~m? -# 1375| r1375_1(glval) = VariableAddress[#temp1375:5] : -# 1375| mu1375_2(String) = Uninitialized[#temp1375:5] : &:r1375_1 -# 1375| r1375_3(glval) = FunctionAddress[String] : -# 1375| v1375_4(void) = Call[String] : func:r1375_3, this:r1375_1 -# 1375| mu1375_5(unknown) = ^CallSideEffect : ~m? -# 1375| mu1375_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r1375_1 -# 1375| r1375_7(glval) = Convert : r1375_1 -# 1375| r1375_8(glval) = FunctionAddress[c_str] : -# 1375| r1375_9(char *) = Call[c_str] : func:r1375_8, this:r1375_7 -# 1375| mu1375_10(unknown) = ^CallSideEffect : ~m? -# 1375| v1375_11(void) = ^IndirectReadSideEffect[-1] : &:r1375_7, ~m? -# 1376| r1376_1(glval) = VariableAddress[#temp1376:5] : -# 1376| r1376_2(glval) = FunctionAddress[returnValue] : -# 1376| r1376_3(String) = Call[returnValue] : func:r1376_2 -# 1376| mu1376_4(unknown) = ^CallSideEffect : ~m? -# 1376| mu1376_5(String) = Store[#temp1376:5] : &:r1376_1, r1376_3 -# 1376| r1376_6(glval) = Convert : r1376_1 -# 1376| r1376_7(glval) = FunctionAddress[c_str] : -# 1376| r1376_8(char *) = Call[c_str] : func:r1376_7, this:r1376_6 -# 1376| mu1376_9(unknown) = ^CallSideEffect : ~m? -# 1376| v1376_10(void) = ^IndirectReadSideEffect[-1] : &:r1376_6, ~m? -# 1378| r1378_1(glval) = VariableAddress[#temp1378:5] : -# 1378| r1378_2(glval) = FunctionAddress[defaultConstruct] : -# 1378| r1378_3(String) = Call[defaultConstruct] : func:r1378_2 -# 1378| mu1378_4(unknown) = ^CallSideEffect : ~m? -# 1378| mu1378_5(String) = Store[#temp1378:5] : &:r1378_1, r1378_3 -# 1379| v1379_1(void) = NoOp : -# 1379| r1379_2(glval) = VariableAddress[s] : -# 1379| r1379_3(glval) = FunctionAddress[~String] : -# 1379| v1379_4(void) = Call[~String] : func:r1379_3, this:r1379_2 -# 1379| mu1379_5(unknown) = ^CallSideEffect : ~m? -# 1379| v1379_6(void) = ^IndirectReadSideEffect[-1] : &:r1379_2, ~m? -# 1379| mu1379_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r1379_2 -# 1367| v1367_4(void) = ReturnVoid : -# 1367| v1367_5(void) = AliasedUse : ~m? -# 1367| v1367_6(void) = ExitFunction : +# 1414| void temporary_string() +# 1414| Block 0 +# 1414| v1414_1(void) = EnterFunction : +# 1414| mu1414_2(unknown) = AliasedDefinition : +# 1414| mu1414_3(unknown) = InitializeNonLocal : +# 1415| r1415_1(glval) = VariableAddress[s] : +# 1415| r1415_2(glval) = FunctionAddress[returnValue] : +# 1415| r1415_3(String) = Call[returnValue] : func:r1415_2 +# 1415| mu1415_4(unknown) = ^CallSideEffect : ~m? +# 1415| mu1415_5(String) = Store[s] : &:r1415_1, r1415_3 +# 1416| r1416_1(glval) = VariableAddress[rs] : +# 1416| r1416_2(glval) = VariableAddress[#temp1416:24] : +# 1416| r1416_3(glval) = FunctionAddress[returnValue] : +# 1416| r1416_4(String) = Call[returnValue] : func:r1416_3 +# 1416| mu1416_5(unknown) = ^CallSideEffect : ~m? +# 1416| mu1416_6(String) = Store[#temp1416:24] : &:r1416_2, r1416_4 +# 1416| r1416_7(glval) = Convert : r1416_2 +# 1416| r1416_8(String &) = CopyValue : r1416_7 +# 1416| mu1416_9(String &) = Store[rs] : &:r1416_1, r1416_8 +# 1418| r1418_1(glval) = FunctionAddress[acceptRef] : +# 1418| r1418_2(glval) = VariableAddress[s] : +# 1418| r1418_3(glval) = Convert : r1418_2 +# 1418| r1418_4(String &) = CopyValue : r1418_3 +# 1418| v1418_5(void) = Call[acceptRef] : func:r1418_1, 0:r1418_4 +# 1418| mu1418_6(unknown) = ^CallSideEffect : ~m? +# 1418| v1418_7(void) = ^BufferReadSideEffect[0] : &:r1418_4, ~m? +# 1419| r1419_1(glval) = FunctionAddress[acceptRef] : +# 1419| r1419_2(glval) = VariableAddress[#temp1419:23] : +# 1419| mu1419_3(String) = Uninitialized[#temp1419:23] : &:r1419_2 +# 1419| r1419_4(glval) = FunctionAddress[String] : +# 1419| r1419_5(glval) = StringConstant["foo"] : +# 1419| r1419_6(char *) = Convert : r1419_5 +# 1419| v1419_7(void) = Call[String] : func:r1419_4, this:r1419_2, 0:r1419_6 +# 1419| mu1419_8(unknown) = ^CallSideEffect : ~m? +# 1419| v1419_9(void) = ^BufferReadSideEffect[0] : &:r1419_6, ~m? +# 1419| mu1419_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r1419_2 +# 1419| r1419_11(String &) = CopyValue : r1419_2 +# 1419| v1419_12(void) = Call[acceptRef] : func:r1419_1, 0:r1419_11 +# 1419| mu1419_13(unknown) = ^CallSideEffect : ~m? +# 1419| v1419_14(void) = ^BufferReadSideEffect[0] : &:r1419_11, ~m? +# 1420| r1420_1(glval) = FunctionAddress[acceptValue] : +# 1420| r1420_2(glval) = VariableAddress[#temp1420:17] : +# 1420| mu1420_3(String) = Uninitialized[#temp1420:17] : &:r1420_2 +# 1420| r1420_4(glval) = FunctionAddress[String] : +# 1420| r1420_5(glval) = VariableAddress[s] : +# 1420| r1420_6(glval) = Convert : r1420_5 +# 1420| r1420_7(String &) = CopyValue : r1420_6 +# 1420| v1420_8(void) = Call[String] : func:r1420_4, this:r1420_2, 0:r1420_7 +# 1420| mu1420_9(unknown) = ^CallSideEffect : ~m? +# 1420| v1420_10(void) = ^BufferReadSideEffect[0] : &:r1420_7, ~m? +# 1420| mu1420_11(String) = ^IndirectMayWriteSideEffect[-1] : &:r1420_2 +# 1420| r1420_12(String) = Load[#temp1420:17] : &:r1420_2, ~m? +# 1420| v1420_13(void) = Call[acceptValue] : func:r1420_1, 0:r1420_12 +# 1420| mu1420_14(unknown) = ^CallSideEffect : ~m? +# 1421| r1421_1(glval) = FunctionAddress[acceptValue] : +# 1421| r1421_2(glval) = VariableAddress[#temp1421:25] : +# 1421| mu1421_3(String) = Uninitialized[#temp1421:25] : &:r1421_2 +# 1421| r1421_4(glval) = FunctionAddress[String] : +# 1421| r1421_5(glval) = StringConstant["foo"] : +# 1421| r1421_6(char *) = Convert : r1421_5 +# 1421| v1421_7(void) = Call[String] : func:r1421_4, this:r1421_2, 0:r1421_6 +# 1421| mu1421_8(unknown) = ^CallSideEffect : ~m? +# 1421| v1421_9(void) = ^BufferReadSideEffect[0] : &:r1421_6, ~m? +# 1421| mu1421_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r1421_2 +# 1421| r1421_11(String) = Load[#temp1421:25] : &:r1421_2, ~m? +# 1421| v1421_12(void) = Call[acceptValue] : func:r1421_1, 0:r1421_11 +# 1421| mu1421_13(unknown) = ^CallSideEffect : ~m? +# 1422| r1422_1(glval) = VariableAddress[#temp1422:5] : +# 1422| mu1422_2(String) = Uninitialized[#temp1422:5] : &:r1422_1 +# 1422| r1422_3(glval) = FunctionAddress[String] : +# 1422| v1422_4(void) = Call[String] : func:r1422_3, this:r1422_1 +# 1422| mu1422_5(unknown) = ^CallSideEffect : ~m? +# 1422| mu1422_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r1422_1 +# 1422| r1422_7(glval) = Convert : r1422_1 +# 1422| r1422_8(glval) = FunctionAddress[c_str] : +# 1422| r1422_9(char *) = Call[c_str] : func:r1422_8, this:r1422_7 +# 1422| mu1422_10(unknown) = ^CallSideEffect : ~m? +# 1422| v1422_11(void) = ^IndirectReadSideEffect[-1] : &:r1422_7, ~m? +# 1423| r1423_1(glval) = VariableAddress[#temp1423:5] : +# 1423| r1423_2(glval) = FunctionAddress[returnValue] : +# 1423| r1423_3(String) = Call[returnValue] : func:r1423_2 +# 1423| mu1423_4(unknown) = ^CallSideEffect : ~m? +# 1423| mu1423_5(String) = Store[#temp1423:5] : &:r1423_1, r1423_3 +# 1423| r1423_6(glval) = Convert : r1423_1 +# 1423| r1423_7(glval) = FunctionAddress[c_str] : +# 1423| r1423_8(char *) = Call[c_str] : func:r1423_7, this:r1423_6 +# 1423| mu1423_9(unknown) = ^CallSideEffect : ~m? +# 1423| v1423_10(void) = ^IndirectReadSideEffect[-1] : &:r1423_6, ~m? +# 1425| r1425_1(glval) = VariableAddress[#temp1425:5] : +# 1425| r1425_2(glval) = FunctionAddress[defaultConstruct] : +# 1425| r1425_3(String) = Call[defaultConstruct] : func:r1425_2 +# 1425| mu1425_4(unknown) = ^CallSideEffect : ~m? +# 1425| mu1425_5(String) = Store[#temp1425:5] : &:r1425_1, r1425_3 +# 1426| v1426_1(void) = NoOp : +# 1426| r1426_2(glval) = VariableAddress[s] : +# 1426| r1426_3(glval) = FunctionAddress[~String] : +# 1426| v1426_4(void) = Call[~String] : func:r1426_3, this:r1426_2 +# 1426| mu1426_5(unknown) = ^CallSideEffect : ~m? +# 1426| v1426_6(void) = ^IndirectReadSideEffect[-1] : &:r1426_2, ~m? +# 1426| mu1426_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r1426_2 +# 1414| v1414_4(void) = ReturnVoid : +# 1414| v1414_5(void) = AliasedUse : ~m? +# 1414| v1414_6(void) = ExitFunction : -# 1381| void temporary_destructor_only() -# 1381| Block 0 -# 1381| v1381_1(void) = EnterFunction : -# 1381| mu1381_2(unknown) = AliasedDefinition : -# 1381| mu1381_3(unknown) = InitializeNonLocal : -# 1382| r1382_1(glval) = VariableAddress[d] : -# 1382| r1382_2(glval) = FunctionAddress[returnValue] : -# 1382| r1382_3(destructor_only) = Call[returnValue] : func:r1382_2 -# 1382| mu1382_4(unknown) = ^CallSideEffect : ~m? -# 1382| mu1382_5(destructor_only) = Store[d] : &:r1382_1, r1382_3 -# 1383| r1383_1(glval) = VariableAddress[rd] : -# 1383| r1383_2(glval) = VariableAddress[#temp1383:33] : -# 1383| r1383_3(glval) = FunctionAddress[returnValue] : -# 1383| r1383_4(destructor_only) = Call[returnValue] : func:r1383_3 -# 1383| mu1383_5(unknown) = ^CallSideEffect : ~m? -# 1383| mu1383_6(destructor_only) = Store[#temp1383:33] : &:r1383_2, r1383_4 -# 1383| r1383_7(glval) = Convert : r1383_2 -# 1383| r1383_8(destructor_only &) = CopyValue : r1383_7 -# 1383| mu1383_9(destructor_only &) = Store[rd] : &:r1383_1, r1383_8 -# 1384| r1384_1(glval) = VariableAddress[d2] : -# 1384| mu1384_2(destructor_only) = Uninitialized[d2] : &:r1384_1 -# 1385| r1385_1(glval) = FunctionAddress[acceptRef] : -# 1385| r1385_2(glval) = VariableAddress[d] : -# 1385| r1385_3(glval) = Convert : r1385_2 -# 1385| r1385_4(destructor_only &) = CopyValue : r1385_3 -# 1385| v1385_5(void) = Call[acceptRef] : func:r1385_1, 0:r1385_4 -# 1385| mu1385_6(unknown) = ^CallSideEffect : ~m? -# 1385| v1385_7(void) = ^BufferReadSideEffect[0] : &:r1385_4, ~m? -# 1386| r1386_1(glval) = FunctionAddress[acceptValue] : -# 1386| r1386_2(glval) = VariableAddress[#temp1386:17] : -# 1386| r1386_3(glval) = VariableAddress[d] : -# 1386| r1386_4(destructor_only) = Load[d] : &:r1386_3, ~m? -# 1386| mu1386_5(destructor_only) = Store[#temp1386:17] : &:r1386_2, r1386_4 -# 1386| r1386_6(destructor_only) = Load[#temp1386:17] : &:r1386_2, ~m? -# 1386| v1386_7(void) = Call[acceptValue] : func:r1386_1, 0:r1386_6 -# 1386| mu1386_8(unknown) = ^CallSideEffect : ~m? -# 1387| r1387_1(glval) = VariableAddress[#temp1387:5] : -# 1387| r1387_2(destructor_only) = Constant[0] : -# 1387| mu1387_3(destructor_only) = Store[#temp1387:5] : &:r1387_1, r1387_2 -# 1387| r1387_4(glval) = FunctionAddress[method] : -# 1387| v1387_5(void) = Call[method] : func:r1387_4, this:r1387_1 -# 1387| mu1387_6(unknown) = ^CallSideEffect : ~m? -# 1387| v1387_7(void) = ^IndirectReadSideEffect[-1] : &:r1387_1, ~m? -# 1387| mu1387_8(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1387_1 -# 1388| r1388_1(glval) = VariableAddress[#temp1388:5] : -# 1388| r1388_2(glval) = FunctionAddress[returnValue] : -# 1388| r1388_3(destructor_only) = Call[returnValue] : func:r1388_2 -# 1388| mu1388_4(unknown) = ^CallSideEffect : ~m? -# 1388| mu1388_5(destructor_only) = Store[#temp1388:5] : &:r1388_1, r1388_3 -# 1388| r1388_6(glval) = FunctionAddress[method] : -# 1388| v1388_7(void) = Call[method] : func:r1388_6, this:r1388_1 -# 1388| mu1388_8(unknown) = ^CallSideEffect : ~m? -# 1388| v1388_9(void) = ^IndirectReadSideEffect[-1] : &:r1388_1, ~m? -# 1388| mu1388_10(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1388_1 -# 1390| r1390_1(glval) = VariableAddress[#temp1390:5] : -# 1390| r1390_2(glval) = FunctionAddress[defaultConstruct] : -# 1390| r1390_3(destructor_only) = Call[defaultConstruct] : func:r1390_2 -# 1390| mu1390_4(unknown) = ^CallSideEffect : ~m? -# 1390| mu1390_5(destructor_only) = Store[#temp1390:5] : &:r1390_1, r1390_3 -# 1391| v1391_1(void) = NoOp : -# 1391| r1391_2(glval) = VariableAddress[d2] : -# 1391| r1391_3(glval) = FunctionAddress[~destructor_only] : -# 1391| v1391_4(void) = Call[~destructor_only] : func:r1391_3, this:r1391_2 -# 1391| mu1391_5(unknown) = ^CallSideEffect : ~m? -# 1391| v1391_6(void) = ^IndirectReadSideEffect[-1] : &:r1391_2, ~m? -# 1391| mu1391_7(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1391_2 -# 1391| r1391_8(glval) = VariableAddress[d] : -# 1391| r1391_9(glval) = FunctionAddress[~destructor_only] : -# 1391| v1391_10(void) = Call[~destructor_only] : func:r1391_9, this:r1391_8 -# 1391| mu1391_11(unknown) = ^CallSideEffect : ~m? -# 1391| v1391_12(void) = ^IndirectReadSideEffect[-1] : &:r1391_8, ~m? -# 1391| mu1391_13(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1391_8 -# 1381| v1381_4(void) = ReturnVoid : -# 1381| v1381_5(void) = AliasedUse : ~m? -# 1381| v1381_6(void) = ExitFunction : +# 1428| void temporary_destructor_only() +# 1428| Block 0 +# 1428| v1428_1(void) = EnterFunction : +# 1428| mu1428_2(unknown) = AliasedDefinition : +# 1428| mu1428_3(unknown) = InitializeNonLocal : +# 1429| r1429_1(glval) = VariableAddress[d] : +# 1429| r1429_2(glval) = FunctionAddress[returnValue] : +# 1429| r1429_3(destructor_only) = Call[returnValue] : func:r1429_2 +# 1429| mu1429_4(unknown) = ^CallSideEffect : ~m? +# 1429| mu1429_5(destructor_only) = Store[d] : &:r1429_1, r1429_3 +# 1430| r1430_1(glval) = VariableAddress[rd] : +# 1430| r1430_2(glval) = VariableAddress[#temp1430:33] : +# 1430| r1430_3(glval) = FunctionAddress[returnValue] : +# 1430| r1430_4(destructor_only) = Call[returnValue] : func:r1430_3 +# 1430| mu1430_5(unknown) = ^CallSideEffect : ~m? +# 1430| mu1430_6(destructor_only) = Store[#temp1430:33] : &:r1430_2, r1430_4 +# 1430| r1430_7(glval) = Convert : r1430_2 +# 1430| r1430_8(destructor_only &) = CopyValue : r1430_7 +# 1430| mu1430_9(destructor_only &) = Store[rd] : &:r1430_1, r1430_8 +# 1431| r1431_1(glval) = VariableAddress[d2] : +# 1431| mu1431_2(destructor_only) = Uninitialized[d2] : &:r1431_1 +# 1432| r1432_1(glval) = FunctionAddress[acceptRef] : +# 1432| r1432_2(glval) = VariableAddress[d] : +# 1432| r1432_3(glval) = Convert : r1432_2 +# 1432| r1432_4(destructor_only &) = CopyValue : r1432_3 +# 1432| v1432_5(void) = Call[acceptRef] : func:r1432_1, 0:r1432_4 +# 1432| mu1432_6(unknown) = ^CallSideEffect : ~m? +# 1432| v1432_7(void) = ^BufferReadSideEffect[0] : &:r1432_4, ~m? +# 1433| r1433_1(glval) = FunctionAddress[acceptValue] : +# 1433| r1433_2(glval) = VariableAddress[#temp1433:17] : +# 1433| r1433_3(glval) = VariableAddress[d] : +# 1433| r1433_4(destructor_only) = Load[d] : &:r1433_3, ~m? +# 1433| mu1433_5(destructor_only) = Store[#temp1433:17] : &:r1433_2, r1433_4 +# 1433| r1433_6(destructor_only) = Load[#temp1433:17] : &:r1433_2, ~m? +# 1433| v1433_7(void) = Call[acceptValue] : func:r1433_1, 0:r1433_6 +# 1433| mu1433_8(unknown) = ^CallSideEffect : ~m? +# 1434| r1434_1(glval) = VariableAddress[#temp1434:5] : +# 1434| r1434_2(destructor_only) = Constant[0] : +# 1434| mu1434_3(destructor_only) = Store[#temp1434:5] : &:r1434_1, r1434_2 +# 1434| r1434_4(glval) = FunctionAddress[method] : +# 1434| v1434_5(void) = Call[method] : func:r1434_4, this:r1434_1 +# 1434| mu1434_6(unknown) = ^CallSideEffect : ~m? +# 1434| v1434_7(void) = ^IndirectReadSideEffect[-1] : &:r1434_1, ~m? +# 1434| mu1434_8(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1434_1 +# 1435| r1435_1(glval) = VariableAddress[#temp1435:5] : +# 1435| r1435_2(glval) = FunctionAddress[returnValue] : +# 1435| r1435_3(destructor_only) = Call[returnValue] : func:r1435_2 +# 1435| mu1435_4(unknown) = ^CallSideEffect : ~m? +# 1435| mu1435_5(destructor_only) = Store[#temp1435:5] : &:r1435_1, r1435_3 +# 1435| r1435_6(glval) = FunctionAddress[method] : +# 1435| v1435_7(void) = Call[method] : func:r1435_6, this:r1435_1 +# 1435| mu1435_8(unknown) = ^CallSideEffect : ~m? +# 1435| v1435_9(void) = ^IndirectReadSideEffect[-1] : &:r1435_1, ~m? +# 1435| mu1435_10(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1435_1 +# 1437| r1437_1(glval) = VariableAddress[#temp1437:5] : +# 1437| r1437_2(glval) = FunctionAddress[defaultConstruct] : +# 1437| r1437_3(destructor_only) = Call[defaultConstruct] : func:r1437_2 +# 1437| mu1437_4(unknown) = ^CallSideEffect : ~m? +# 1437| mu1437_5(destructor_only) = Store[#temp1437:5] : &:r1437_1, r1437_3 +# 1438| v1438_1(void) = NoOp : +# 1438| r1438_2(glval) = VariableAddress[d2] : +# 1438| r1438_3(glval) = FunctionAddress[~destructor_only] : +# 1438| v1438_4(void) = Call[~destructor_only] : func:r1438_3, this:r1438_2 +# 1438| mu1438_5(unknown) = ^CallSideEffect : ~m? +# 1438| v1438_6(void) = ^IndirectReadSideEffect[-1] : &:r1438_2, ~m? +# 1438| mu1438_7(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1438_2 +# 1438| r1438_8(glval) = VariableAddress[d] : +# 1438| r1438_9(glval) = FunctionAddress[~destructor_only] : +# 1438| v1438_10(void) = Call[~destructor_only] : func:r1438_9, this:r1438_8 +# 1438| mu1438_11(unknown) = ^CallSideEffect : ~m? +# 1438| v1438_12(void) = ^IndirectReadSideEffect[-1] : &:r1438_8, ~m? +# 1438| mu1438_13(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1438_8 +# 1428| v1428_4(void) = ReturnVoid : +# 1428| v1428_5(void) = AliasedUse : ~m? +# 1428| v1428_6(void) = ExitFunction : -# 1393| void temporary_copy_constructor() -# 1393| Block 0 -# 1393| v1393_1(void) = EnterFunction : -# 1393| mu1393_2(unknown) = AliasedDefinition : -# 1393| mu1393_3(unknown) = InitializeNonLocal : -# 1394| r1394_1(glval) = VariableAddress[d] : -# 1394| r1394_2(glval) = FunctionAddress[returnValue] : -# 1394| r1394_3(copy_constructor) = Call[returnValue] : func:r1394_2 -# 1394| mu1394_4(unknown) = ^CallSideEffect : ~m? -# 1394| mu1394_5(copy_constructor) = Store[d] : &:r1394_1, r1394_3 -# 1395| r1395_1(glval) = VariableAddress[rd] : -# 1395| r1395_2(glval) = VariableAddress[#temp1395:34] : -# 1395| r1395_3(glval) = FunctionAddress[returnValue] : -# 1395| r1395_4(copy_constructor) = Call[returnValue] : func:r1395_3 -# 1395| mu1395_5(unknown) = ^CallSideEffect : ~m? -# 1395| mu1395_6(copy_constructor) = Store[#temp1395:34] : &:r1395_2, r1395_4 -# 1395| r1395_7(glval) = Convert : r1395_2 -# 1395| r1395_8(copy_constructor &) = CopyValue : r1395_7 -# 1395| mu1395_9(copy_constructor &) = Store[rd] : &:r1395_1, r1395_8 -# 1396| r1396_1(glval) = VariableAddress[d2] : -# 1396| mu1396_2(copy_constructor) = Uninitialized[d2] : &:r1396_1 -# 1396| r1396_3(glval) = FunctionAddress[copy_constructor] : -# 1396| v1396_4(void) = Call[copy_constructor] : func:r1396_3, this:r1396_1 -# 1396| mu1396_5(unknown) = ^CallSideEffect : ~m? -# 1396| mu1396_6(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1396_1 -# 1397| r1397_1(glval) = FunctionAddress[acceptRef] : -# 1397| r1397_2(glval) = VariableAddress[d] : -# 1397| r1397_3(glval) = Convert : r1397_2 -# 1397| r1397_4(copy_constructor &) = CopyValue : r1397_3 -# 1397| v1397_5(void) = Call[acceptRef] : func:r1397_1, 0:r1397_4 -# 1397| mu1397_6(unknown) = ^CallSideEffect : ~m? -# 1397| v1397_7(void) = ^BufferReadSideEffect[0] : &:r1397_4, ~m? -# 1398| r1398_1(glval) = FunctionAddress[acceptValue] : -# 1398| r1398_2(glval) = VariableAddress[#temp1398:17] : -# 1398| mu1398_3(copy_constructor) = Uninitialized[#temp1398:17] : &:r1398_2 -# 1398| r1398_4(glval) = FunctionAddress[copy_constructor] : -# 1398| r1398_5(glval) = VariableAddress[d] : -# 1398| r1398_6(glval) = Convert : r1398_5 -# 1398| r1398_7(copy_constructor &) = CopyValue : r1398_6 -# 1398| v1398_8(void) = Call[copy_constructor] : func:r1398_4, this:r1398_2, 0:r1398_7 -# 1398| mu1398_9(unknown) = ^CallSideEffect : ~m? -# 1398| v1398_10(void) = ^BufferReadSideEffect[0] : &:r1398_7, ~m? -# 1398| mu1398_11(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1398_2 -# 1398| r1398_12(copy_constructor) = Load[#temp1398:17] : &:r1398_2, ~m? -# 1398| v1398_13(void) = Call[acceptValue] : func:r1398_1, 0:r1398_12 -# 1398| mu1398_14(unknown) = ^CallSideEffect : ~m? -# 1399| r1399_1(glval) = VariableAddress[#temp1399:5] : -# 1399| mu1399_2(copy_constructor) = Uninitialized[#temp1399:5] : &:r1399_1 -# 1399| r1399_3(glval) = FunctionAddress[copy_constructor] : -# 1399| v1399_4(void) = Call[copy_constructor] : func:r1399_3, this:r1399_1 -# 1399| mu1399_5(unknown) = ^CallSideEffect : ~m? -# 1399| mu1399_6(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1399_1 -# 1399| r1399_7(glval) = FunctionAddress[method] : -# 1399| v1399_8(void) = Call[method] : func:r1399_7, this:r1399_1 -# 1399| mu1399_9(unknown) = ^CallSideEffect : ~m? -# 1399| v1399_10(void) = ^IndirectReadSideEffect[-1] : &:r1399_1, ~m? -# 1399| mu1399_11(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1399_1 -# 1400| r1400_1(glval) = VariableAddress[#temp1400:5] : -# 1400| r1400_2(glval) = FunctionAddress[returnValue] : -# 1400| r1400_3(copy_constructor) = Call[returnValue] : func:r1400_2 -# 1400| mu1400_4(unknown) = ^CallSideEffect : ~m? -# 1400| mu1400_5(copy_constructor) = Store[#temp1400:5] : &:r1400_1, r1400_3 -# 1400| r1400_6(glval) = FunctionAddress[method] : -# 1400| v1400_7(void) = Call[method] : func:r1400_6, this:r1400_1 -# 1400| mu1400_8(unknown) = ^CallSideEffect : ~m? -# 1400| v1400_9(void) = ^IndirectReadSideEffect[-1] : &:r1400_1, ~m? -# 1400| mu1400_10(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1400_1 -# 1401| r1401_1(glval) = VariableAddress[#temp1401:5] : -# 1401| r1401_2(glval) = FunctionAddress[defaultConstruct] : -# 1401| r1401_3(copy_constructor) = Call[defaultConstruct] : func:r1401_2 -# 1401| mu1401_4(unknown) = ^CallSideEffect : ~m? -# 1401| mu1401_5(copy_constructor) = Store[#temp1401:5] : &:r1401_1, r1401_3 -# 1403| r1403_1(glval) = VariableAddress[y] : -# 1403| r1403_2(glval) = VariableAddress[#temp1403:13] : -# 1403| r1403_3(glval) = FunctionAddress[returnValue] : -# 1403| r1403_4(copy_constructor) = Call[returnValue] : func:r1403_3 -# 1403| mu1403_5(unknown) = ^CallSideEffect : ~m? -# 1403| mu1403_6(copy_constructor) = Store[#temp1403:13] : &:r1403_2, r1403_4 -# 1403| r1403_7(glval) = FieldAddress[y] : r1403_2 -# 1403| r1403_8(int) = Load[?] : &:r1403_7, ~m? -# 1403| mu1403_9(int) = Store[y] : &:r1403_1, r1403_8 -# 1404| v1404_1(void) = NoOp : -# 1393| v1393_4(void) = ReturnVoid : -# 1393| v1393_5(void) = AliasedUse : ~m? -# 1393| v1393_6(void) = ExitFunction : +# 1440| void temporary_copy_constructor() +# 1440| Block 0 +# 1440| v1440_1(void) = EnterFunction : +# 1440| mu1440_2(unknown) = AliasedDefinition : +# 1440| mu1440_3(unknown) = InitializeNonLocal : +# 1441| r1441_1(glval) = VariableAddress[d] : +# 1441| r1441_2(glval) = FunctionAddress[returnValue] : +# 1441| r1441_3(copy_constructor) = Call[returnValue] : func:r1441_2 +# 1441| mu1441_4(unknown) = ^CallSideEffect : ~m? +# 1441| mu1441_5(copy_constructor) = Store[d] : &:r1441_1, r1441_3 +# 1442| r1442_1(glval) = VariableAddress[rd] : +# 1442| r1442_2(glval) = VariableAddress[#temp1442:34] : +# 1442| r1442_3(glval) = FunctionAddress[returnValue] : +# 1442| r1442_4(copy_constructor) = Call[returnValue] : func:r1442_3 +# 1442| mu1442_5(unknown) = ^CallSideEffect : ~m? +# 1442| mu1442_6(copy_constructor) = Store[#temp1442:34] : &:r1442_2, r1442_4 +# 1442| r1442_7(glval) = Convert : r1442_2 +# 1442| r1442_8(copy_constructor &) = CopyValue : r1442_7 +# 1442| mu1442_9(copy_constructor &) = Store[rd] : &:r1442_1, r1442_8 +# 1443| r1443_1(glval) = VariableAddress[d2] : +# 1443| mu1443_2(copy_constructor) = Uninitialized[d2] : &:r1443_1 +# 1443| r1443_3(glval) = FunctionAddress[copy_constructor] : +# 1443| v1443_4(void) = Call[copy_constructor] : func:r1443_3, this:r1443_1 +# 1443| mu1443_5(unknown) = ^CallSideEffect : ~m? +# 1443| mu1443_6(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1443_1 +# 1444| r1444_1(glval) = FunctionAddress[acceptRef] : +# 1444| r1444_2(glval) = VariableAddress[d] : +# 1444| r1444_3(glval) = Convert : r1444_2 +# 1444| r1444_4(copy_constructor &) = CopyValue : r1444_3 +# 1444| v1444_5(void) = Call[acceptRef] : func:r1444_1, 0:r1444_4 +# 1444| mu1444_6(unknown) = ^CallSideEffect : ~m? +# 1444| v1444_7(void) = ^BufferReadSideEffect[0] : &:r1444_4, ~m? +# 1445| r1445_1(glval) = FunctionAddress[acceptValue] : +# 1445| r1445_2(glval) = VariableAddress[#temp1445:17] : +# 1445| mu1445_3(copy_constructor) = Uninitialized[#temp1445:17] : &:r1445_2 +# 1445| r1445_4(glval) = FunctionAddress[copy_constructor] : +# 1445| r1445_5(glval) = VariableAddress[d] : +# 1445| r1445_6(glval) = Convert : r1445_5 +# 1445| r1445_7(copy_constructor &) = CopyValue : r1445_6 +# 1445| v1445_8(void) = Call[copy_constructor] : func:r1445_4, this:r1445_2, 0:r1445_7 +# 1445| mu1445_9(unknown) = ^CallSideEffect : ~m? +# 1445| v1445_10(void) = ^BufferReadSideEffect[0] : &:r1445_7, ~m? +# 1445| mu1445_11(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1445_2 +# 1445| r1445_12(copy_constructor) = Load[#temp1445:17] : &:r1445_2, ~m? +# 1445| v1445_13(void) = Call[acceptValue] : func:r1445_1, 0:r1445_12 +# 1445| mu1445_14(unknown) = ^CallSideEffect : ~m? +# 1446| r1446_1(glval) = VariableAddress[#temp1446:5] : +# 1446| mu1446_2(copy_constructor) = Uninitialized[#temp1446:5] : &:r1446_1 +# 1446| r1446_3(glval) = FunctionAddress[copy_constructor] : +# 1446| v1446_4(void) = Call[copy_constructor] : func:r1446_3, this:r1446_1 +# 1446| mu1446_5(unknown) = ^CallSideEffect : ~m? +# 1446| mu1446_6(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1446_1 +# 1446| r1446_7(glval) = FunctionAddress[method] : +# 1446| v1446_8(void) = Call[method] : func:r1446_7, this:r1446_1 +# 1446| mu1446_9(unknown) = ^CallSideEffect : ~m? +# 1446| v1446_10(void) = ^IndirectReadSideEffect[-1] : &:r1446_1, ~m? +# 1446| mu1446_11(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1446_1 +# 1447| r1447_1(glval) = VariableAddress[#temp1447:5] : +# 1447| r1447_2(glval) = FunctionAddress[returnValue] : +# 1447| r1447_3(copy_constructor) = Call[returnValue] : func:r1447_2 +# 1447| mu1447_4(unknown) = ^CallSideEffect : ~m? +# 1447| mu1447_5(copy_constructor) = Store[#temp1447:5] : &:r1447_1, r1447_3 +# 1447| r1447_6(glval) = FunctionAddress[method] : +# 1447| v1447_7(void) = Call[method] : func:r1447_6, this:r1447_1 +# 1447| mu1447_8(unknown) = ^CallSideEffect : ~m? +# 1447| v1447_9(void) = ^IndirectReadSideEffect[-1] : &:r1447_1, ~m? +# 1447| mu1447_10(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1447_1 +# 1448| r1448_1(glval) = VariableAddress[#temp1448:5] : +# 1448| r1448_2(glval) = FunctionAddress[defaultConstruct] : +# 1448| r1448_3(copy_constructor) = Call[defaultConstruct] : func:r1448_2 +# 1448| mu1448_4(unknown) = ^CallSideEffect : ~m? +# 1448| mu1448_5(copy_constructor) = Store[#temp1448:5] : &:r1448_1, r1448_3 +# 1450| r1450_1(glval) = VariableAddress[y] : +# 1450| r1450_2(glval) = VariableAddress[#temp1450:13] : +# 1450| r1450_3(glval) = FunctionAddress[returnValue] : +# 1450| r1450_4(copy_constructor) = Call[returnValue] : func:r1450_3 +# 1450| mu1450_5(unknown) = ^CallSideEffect : ~m? +# 1450| mu1450_6(copy_constructor) = Store[#temp1450:13] : &:r1450_2, r1450_4 +# 1450| r1450_7(glval) = FieldAddress[y] : r1450_2 +# 1450| r1450_8(int) = Load[?] : &:r1450_7, ~m? +# 1450| mu1450_9(int) = Store[y] : &:r1450_1, r1450_8 +# 1451| v1451_1(void) = NoOp : +# 1440| v1440_4(void) = ReturnVoid : +# 1440| v1440_5(void) = AliasedUse : ~m? +# 1440| v1440_6(void) = ExitFunction : -# 1406| void temporary_point() -# 1406| Block 0 -# 1406| v1406_1(void) = EnterFunction : -# 1406| mu1406_2(unknown) = AliasedDefinition : -# 1406| mu1406_3(unknown) = InitializeNonLocal : -# 1407| r1407_1(glval) = VariableAddress[p] : -# 1407| r1407_2(glval) = FunctionAddress[returnValue] : -# 1407| r1407_3(Point) = Call[returnValue] : func:r1407_2 -# 1407| mu1407_4(unknown) = ^CallSideEffect : ~m? -# 1407| mu1407_5(Point) = Store[p] : &:r1407_1, r1407_3 -# 1408| r1408_1(glval) = VariableAddress[rp] : -# 1408| r1408_2(glval) = VariableAddress[#temp1408:23] : -# 1408| r1408_3(glval) = FunctionAddress[returnValue] : -# 1408| r1408_4(Point) = Call[returnValue] : func:r1408_3 -# 1408| mu1408_5(unknown) = ^CallSideEffect : ~m? -# 1408| mu1408_6(Point) = Store[#temp1408:23] : &:r1408_2, r1408_4 -# 1408| r1408_7(glval) = Convert : r1408_2 -# 1408| r1408_8(Point &) = CopyValue : r1408_7 -# 1408| mu1408_9(Point &) = Store[rp] : &:r1408_1, r1408_8 -# 1410| r1410_1(glval) = FunctionAddress[acceptRef] : -# 1410| r1410_2(glval) = VariableAddress[p] : -# 1410| r1410_3(glval) = Convert : r1410_2 -# 1410| r1410_4(Point &) = CopyValue : r1410_3 -# 1410| v1410_5(void) = Call[acceptRef] : func:r1410_1, 0:r1410_4 -# 1410| mu1410_6(unknown) = ^CallSideEffect : ~m? -# 1410| v1410_7(void) = ^BufferReadSideEffect[0] : &:r1410_4, ~m? -# 1411| r1411_1(glval) = FunctionAddress[acceptValue] : -# 1411| r1411_2(glval) = VariableAddress[p] : -# 1411| r1411_3(Point) = Load[p] : &:r1411_2, ~m? -# 1411| v1411_4(void) = Call[acceptValue] : func:r1411_1, 0:r1411_3 -# 1411| mu1411_5(unknown) = ^CallSideEffect : ~m? -# 1412| r1412_1(int) = Constant[0] : -# 1413| r1413_1(glval) = VariableAddress[y] : -# 1413| r1413_2(glval) = FunctionAddress[returnValue] : -# 1413| r1413_3(Point) = Call[returnValue] : func:r1413_2 -# 1413| mu1413_4(unknown) = ^CallSideEffect : ~m? -# 1413| r1413_5(glval) = VariableAddress[#temp1413:13] : -# 1413| mu1413_6(Point) = Store[#temp1413:13] : &:r1413_5, r1413_3 -# 1413| r1413_7(glval) = FieldAddress[y] : r1413_5 -# 1413| r1413_8(int) = Load[?] : &:r1413_7, ~m? -# 1413| mu1413_9(int) = Store[y] : &:r1413_1, r1413_8 -# 1415| r1415_1(glval) = FunctionAddress[defaultConstruct] : -# 1415| r1415_2(Point) = Call[defaultConstruct] : func:r1415_1 -# 1415| mu1415_3(unknown) = ^CallSideEffect : ~m? -# 1416| v1416_1(void) = NoOp : -# 1406| v1406_4(void) = ReturnVoid : -# 1406| v1406_5(void) = AliasedUse : ~m? -# 1406| v1406_6(void) = ExitFunction : +# 1453| void temporary_point() +# 1453| Block 0 +# 1453| v1453_1(void) = EnterFunction : +# 1453| mu1453_2(unknown) = AliasedDefinition : +# 1453| mu1453_3(unknown) = InitializeNonLocal : +# 1454| r1454_1(glval) = VariableAddress[p] : +# 1454| r1454_2(glval) = FunctionAddress[returnValue] : +# 1454| r1454_3(Point) = Call[returnValue] : func:r1454_2 +# 1454| mu1454_4(unknown) = ^CallSideEffect : ~m? +# 1454| mu1454_5(Point) = Store[p] : &:r1454_1, r1454_3 +# 1455| r1455_1(glval) = VariableAddress[rp] : +# 1455| r1455_2(glval) = VariableAddress[#temp1455:23] : +# 1455| r1455_3(glval) = FunctionAddress[returnValue] : +# 1455| r1455_4(Point) = Call[returnValue] : func:r1455_3 +# 1455| mu1455_5(unknown) = ^CallSideEffect : ~m? +# 1455| mu1455_6(Point) = Store[#temp1455:23] : &:r1455_2, r1455_4 +# 1455| r1455_7(glval) = Convert : r1455_2 +# 1455| r1455_8(Point &) = CopyValue : r1455_7 +# 1455| mu1455_9(Point &) = Store[rp] : &:r1455_1, r1455_8 +# 1457| r1457_1(glval) = FunctionAddress[acceptRef] : +# 1457| r1457_2(glval) = VariableAddress[p] : +# 1457| r1457_3(glval) = Convert : r1457_2 +# 1457| r1457_4(Point &) = CopyValue : r1457_3 +# 1457| v1457_5(void) = Call[acceptRef] : func:r1457_1, 0:r1457_4 +# 1457| mu1457_6(unknown) = ^CallSideEffect : ~m? +# 1457| v1457_7(void) = ^BufferReadSideEffect[0] : &:r1457_4, ~m? +# 1458| r1458_1(glval) = FunctionAddress[acceptValue] : +# 1458| r1458_2(glval) = VariableAddress[p] : +# 1458| r1458_3(Point) = Load[p] : &:r1458_2, ~m? +# 1458| v1458_4(void) = Call[acceptValue] : func:r1458_1, 0:r1458_3 +# 1458| mu1458_5(unknown) = ^CallSideEffect : ~m? +# 1459| r1459_1(int) = Constant[0] : +# 1460| r1460_1(glval) = VariableAddress[y] : +# 1460| r1460_2(glval) = FunctionAddress[returnValue] : +# 1460| r1460_3(Point) = Call[returnValue] : func:r1460_2 +# 1460| mu1460_4(unknown) = ^CallSideEffect : ~m? +# 1460| r1460_5(glval) = VariableAddress[#temp1460:13] : +# 1460| mu1460_6(Point) = Store[#temp1460:13] : &:r1460_5, r1460_3 +# 1460| r1460_7(glval) = FieldAddress[y] : r1460_5 +# 1460| r1460_8(int) = Load[?] : &:r1460_7, ~m? +# 1460| mu1460_9(int) = Store[y] : &:r1460_1, r1460_8 +# 1462| r1462_1(glval) = FunctionAddress[defaultConstruct] : +# 1462| r1462_2(Point) = Call[defaultConstruct] : func:r1462_1 +# 1462| mu1462_3(unknown) = ^CallSideEffect : ~m? +# 1463| v1463_1(void) = NoOp : +# 1453| v1453_4(void) = ReturnVoid : +# 1453| v1453_5(void) = AliasedUse : ~m? +# 1453| v1453_6(void) = ExitFunction : -# 1423| void temporary_unusual_fields() -# 1423| Block 0 -# 1423| v1423_1(void) = EnterFunction : -# 1423| mu1423_2(unknown) = AliasedDefinition : -# 1423| mu1423_3(unknown) = InitializeNonLocal : -# 1424| r1424_1(glval) = VariableAddress[rx] : -# 1424| r1424_2(glval) = FunctionAddress[returnValue] : -# 1424| r1424_3(UnusualFields) = Call[returnValue] : func:r1424_2 -# 1424| mu1424_4(unknown) = ^CallSideEffect : ~m? -# 1424| r1424_5(glval) = VariableAddress[#temp1424:21] : -# 1424| mu1424_6(UnusualFields) = Store[#temp1424:21] : &:r1424_5, r1424_3 -# 1424| r1424_7(glval) = FieldAddress[r] : r1424_5 -# 1424| r1424_8(int &) = Load[?] : &:r1424_7, ~m? -# 1424| r1424_9(glval) = CopyValue : r1424_8 -# 1424| r1424_10(glval) = Convert : r1424_9 -# 1424| r1424_11(int &) = CopyValue : r1424_10 -# 1424| mu1424_12(int &) = Store[rx] : &:r1424_1, r1424_11 -# 1425| r1425_1(glval) = VariableAddress[x] : -# 1425| r1425_2(glval) = FunctionAddress[returnValue] : -# 1425| r1425_3(UnusualFields) = Call[returnValue] : func:r1425_2 -# 1425| mu1425_4(unknown) = ^CallSideEffect : ~m? -# 1425| r1425_5(glval) = VariableAddress[#temp1425:13] : -# 1425| mu1425_6(UnusualFields) = Store[#temp1425:13] : &:r1425_5, r1425_3 -# 1425| r1425_7(glval) = FieldAddress[r] : r1425_5 -# 1425| r1425_8(int &) = Load[?] : &:r1425_7, ~m? -# 1425| r1425_9(int) = Load[?] : &:r1425_8, ~m? -# 1425| mu1425_10(int) = Store[x] : &:r1425_1, r1425_9 -# 1427| r1427_1(glval) = VariableAddress[rf] : -# 1427| r1427_2(glval) = FunctionAddress[returnValue] : -# 1427| r1427_3(UnusualFields) = Call[returnValue] : func:r1427_2 -# 1427| mu1427_4(unknown) = ^CallSideEffect : ~m? -# 1427| r1427_5(glval) = VariableAddress[#temp1427:23] : -# 1427| mu1427_6(UnusualFields) = Store[#temp1427:23] : &:r1427_5, r1427_3 -# 1427| r1427_7(glval) = FieldAddress[a] : r1427_5 -# 1427| r1427_8(float *) = Convert : r1427_7 -# 1427| r1427_9(int) = Constant[3] : -# 1427| r1427_10(glval) = PointerAdd[4] : r1427_8, r1427_9 -# 1427| r1427_11(glval) = Convert : r1427_10 -# 1427| r1427_12(float &) = CopyValue : r1427_11 -# 1427| mu1427_13(float &) = Store[rf] : &:r1427_1, r1427_12 -# 1428| r1428_1(glval) = VariableAddress[f] : -# 1428| r1428_2(glval) = FunctionAddress[returnValue] : -# 1428| r1428_3(UnusualFields) = Call[returnValue] : func:r1428_2 -# 1428| mu1428_4(unknown) = ^CallSideEffect : ~m? -# 1428| r1428_5(glval) = VariableAddress[#temp1428:15] : -# 1428| mu1428_6(UnusualFields) = Store[#temp1428:15] : &:r1428_5, r1428_3 -# 1428| r1428_7(glval) = FieldAddress[a] : r1428_5 -# 1428| r1428_8(float *) = Convert : r1428_7 -# 1428| r1428_9(int) = Constant[5] : -# 1428| r1428_10(glval) = PointerAdd[4] : r1428_8, r1428_9 -# 1428| r1428_11(float) = Load[?] : &:r1428_10, ~m? -# 1428| mu1428_12(float) = Store[f] : &:r1428_1, r1428_11 -# 1429| v1429_1(void) = NoOp : -# 1423| v1423_4(void) = ReturnVoid : -# 1423| v1423_5(void) = AliasedUse : ~m? -# 1423| v1423_6(void) = ExitFunction : +# 1470| void temporary_unusual_fields() +# 1470| Block 0 +# 1470| v1470_1(void) = EnterFunction : +# 1470| mu1470_2(unknown) = AliasedDefinition : +# 1470| mu1470_3(unknown) = InitializeNonLocal : +# 1471| r1471_1(glval) = VariableAddress[rx] : +# 1471| r1471_2(glval) = FunctionAddress[returnValue] : +# 1471| r1471_3(UnusualFields) = Call[returnValue] : func:r1471_2 +# 1471| mu1471_4(unknown) = ^CallSideEffect : ~m? +# 1471| r1471_5(glval) = VariableAddress[#temp1471:21] : +# 1471| mu1471_6(UnusualFields) = Store[#temp1471:21] : &:r1471_5, r1471_3 +# 1471| r1471_7(glval) = FieldAddress[r] : r1471_5 +# 1471| r1471_8(int &) = Load[?] : &:r1471_7, ~m? +# 1471| r1471_9(glval) = CopyValue : r1471_8 +# 1471| r1471_10(glval) = Convert : r1471_9 +# 1471| r1471_11(int &) = CopyValue : r1471_10 +# 1471| mu1471_12(int &) = Store[rx] : &:r1471_1, r1471_11 +# 1472| r1472_1(glval) = VariableAddress[x] : +# 1472| r1472_2(glval) = FunctionAddress[returnValue] : +# 1472| r1472_3(UnusualFields) = Call[returnValue] : func:r1472_2 +# 1472| mu1472_4(unknown) = ^CallSideEffect : ~m? +# 1472| r1472_5(glval) = VariableAddress[#temp1472:13] : +# 1472| mu1472_6(UnusualFields) = Store[#temp1472:13] : &:r1472_5, r1472_3 +# 1472| r1472_7(glval) = FieldAddress[r] : r1472_5 +# 1472| r1472_8(int &) = Load[?] : &:r1472_7, ~m? +# 1472| r1472_9(int) = Load[?] : &:r1472_8, ~m? +# 1472| mu1472_10(int) = Store[x] : &:r1472_1, r1472_9 +# 1474| r1474_1(glval) = VariableAddress[rf] : +# 1474| r1474_2(glval) = FunctionAddress[returnValue] : +# 1474| r1474_3(UnusualFields) = Call[returnValue] : func:r1474_2 +# 1474| mu1474_4(unknown) = ^CallSideEffect : ~m? +# 1474| r1474_5(glval) = VariableAddress[#temp1474:23] : +# 1474| mu1474_6(UnusualFields) = Store[#temp1474:23] : &:r1474_5, r1474_3 +# 1474| r1474_7(glval) = FieldAddress[a] : r1474_5 +# 1474| r1474_8(float *) = Convert : r1474_7 +# 1474| r1474_9(int) = Constant[3] : +# 1474| r1474_10(glval) = PointerAdd[4] : r1474_8, r1474_9 +# 1474| r1474_11(glval) = Convert : r1474_10 +# 1474| r1474_12(float &) = CopyValue : r1474_11 +# 1474| mu1474_13(float &) = Store[rf] : &:r1474_1, r1474_12 +# 1475| r1475_1(glval) = VariableAddress[f] : +# 1475| r1475_2(glval) = FunctionAddress[returnValue] : +# 1475| r1475_3(UnusualFields) = Call[returnValue] : func:r1475_2 +# 1475| mu1475_4(unknown) = ^CallSideEffect : ~m? +# 1475| r1475_5(glval) = VariableAddress[#temp1475:15] : +# 1475| mu1475_6(UnusualFields) = Store[#temp1475:15] : &:r1475_5, r1475_3 +# 1475| r1475_7(glval) = FieldAddress[a] : r1475_5 +# 1475| r1475_8(float *) = Convert : r1475_7 +# 1475| r1475_9(int) = Constant[5] : +# 1475| r1475_10(glval) = PointerAdd[4] : r1475_8, r1475_9 +# 1475| r1475_11(float) = Load[?] : &:r1475_10, ~m? +# 1475| mu1475_12(float) = Store[f] : &:r1475_1, r1475_11 +# 1476| v1476_1(void) = NoOp : +# 1470| v1470_4(void) = ReturnVoid : +# 1470| v1470_5(void) = AliasedUse : ~m? +# 1470| v1470_6(void) = ExitFunction : -# 1445| void temporary_hierarchy() -# 1445| Block 0 -# 1445| v1445_1(void) = EnterFunction : -# 1445| mu1445_2(unknown) = AliasedDefinition : -# 1445| mu1445_3(unknown) = InitializeNonLocal : -# 1446| r1446_1(glval) = VariableAddress[b] : +# 1492| void temporary_hierarchy() +# 1492| Block 0 +# 1492| v1492_1(void) = EnterFunction : +# 1492| mu1492_2(unknown) = AliasedDefinition : +# 1492| mu1492_3(unknown) = InitializeNonLocal : +# 1493| r1493_1(glval) = VariableAddress[b] : #-----| r0_1(glval) = VariableAddress[#temp0:0] : -# 1446| r1446_2(glval) = FunctionAddress[returnValue] : -# 1446| r1446_3(POD_Middle) = Call[returnValue] : func:r1446_2 -# 1446| mu1446_4(unknown) = ^CallSideEffect : ~m? -# 1446| mu1446_5(POD_Middle) = Store[#temp0:0] : &:r0_1, r1446_3 +# 1493| r1493_2(glval) = FunctionAddress[returnValue] : +# 1493| r1493_3(POD_Middle) = Call[returnValue] : func:r1493_2 +# 1493| mu1493_4(unknown) = ^CallSideEffect : ~m? +# 1493| mu1493_5(POD_Middle) = Store[#temp0:0] : &:r0_1, r1493_3 #-----| r0_2(glval) = ConvertToNonVirtualBase[POD_Middle : POD_Base] : r0_1 #-----| r0_3(POD_Base) = Load[?] : &:r0_2, ~m? -#-----| mu0_4(POD_Base) = Store[b] : &:r1446_1, r0_3 -# 1447| r1447_1(glval) = VariableAddress[#temp1447:9] : -# 1447| r1447_2(glval) = FunctionAddress[returnValue] : -# 1447| r1447_3(POD_Derived) = Call[returnValue] : func:r1447_2 -# 1447| mu1447_4(unknown) = ^CallSideEffect : ~m? -# 1447| mu1447_5(POD_Derived) = Store[#temp1447:9] : &:r1447_1, r1447_3 -# 1447| r1447_6(glval) = ConvertToNonVirtualBase[POD_Derived : POD_Middle] : r1447_1 -# 1447| r1447_7(glval) = ConvertToNonVirtualBase[POD_Middle : POD_Base] : r1447_6 -# 1447| r1447_8(POD_Base) = Load[?] : &:r1447_7, ~m? -# 1447| r1447_9(glval) = VariableAddress[b] : -# 1447| mu1447_10(POD_Base) = Store[b] : &:r1447_9, r1447_8 -# 1448| r1448_1(glval) = VariableAddress[x] : +#-----| mu0_4(POD_Base) = Store[b] : &:r1493_1, r0_3 +# 1494| r1494_1(glval) = VariableAddress[#temp1494:9] : +# 1494| r1494_2(glval) = FunctionAddress[returnValue] : +# 1494| r1494_3(POD_Derived) = Call[returnValue] : func:r1494_2 +# 1494| mu1494_4(unknown) = ^CallSideEffect : ~m? +# 1494| mu1494_5(POD_Derived) = Store[#temp1494:9] : &:r1494_1, r1494_3 +# 1494| r1494_6(glval) = ConvertToNonVirtualBase[POD_Derived : POD_Middle] : r1494_1 +# 1494| r1494_7(glval) = ConvertToNonVirtualBase[POD_Middle : POD_Base] : r1494_6 +# 1494| r1494_8(POD_Base) = Load[?] : &:r1494_7, ~m? +# 1494| r1494_9(glval) = VariableAddress[b] : +# 1494| mu1494_10(POD_Base) = Store[b] : &:r1494_9, r1494_8 +# 1495| r1495_1(glval) = VariableAddress[x] : #-----| r0_5(glval) = VariableAddress[#temp0:0] : -# 1448| r1448_2(glval) = FunctionAddress[returnValue] : -# 1448| r1448_3(POD_Derived) = Call[returnValue] : func:r1448_2 -# 1448| mu1448_4(unknown) = ^CallSideEffect : ~m? -# 1448| mu1448_5(POD_Derived) = Store[#temp0:0] : &:r0_5, r1448_3 +# 1495| r1495_2(glval) = FunctionAddress[returnValue] : +# 1495| r1495_3(POD_Derived) = Call[returnValue] : func:r1495_2 +# 1495| mu1495_4(unknown) = ^CallSideEffect : ~m? +# 1495| mu1495_5(POD_Derived) = Store[#temp0:0] : &:r0_5, r1495_3 #-----| r0_6(glval) = ConvertToNonVirtualBase[POD_Derived : POD_Middle] : r0_5 #-----| r0_7(glval) = ConvertToNonVirtualBase[POD_Middle : POD_Base] : r0_6 -# 1448| r1448_6(glval) = FieldAddress[x] : r0_7 -# 1448| r1448_7(int) = Load[?] : &:r1448_6, ~m? -# 1448| mu1448_8(int) = Store[x] : &:r1448_1, r1448_7 -# 1449| r1449_1(glval) = VariableAddress[f] : +# 1495| r1495_6(glval) = FieldAddress[x] : r0_7 +# 1495| r1495_7(int) = Load[?] : &:r1495_6, ~m? +# 1495| mu1495_8(int) = Store[x] : &:r1495_1, r1495_7 +# 1496| r1496_1(glval) = VariableAddress[f] : #-----| r0_8(glval) = VariableAddress[#temp0:0] : -# 1449| r1449_2(glval) = FunctionAddress[returnValue] : -# 1449| r1449_3(POD_Derived) = Call[returnValue] : func:r1449_2 -# 1449| mu1449_4(unknown) = ^CallSideEffect : ~m? -# 1449| mu1449_5(POD_Derived) = Store[#temp0:0] : &:r0_8, r1449_3 +# 1496| r1496_2(glval) = FunctionAddress[returnValue] : +# 1496| r1496_3(POD_Derived) = Call[returnValue] : func:r1496_2 +# 1496| mu1496_4(unknown) = ^CallSideEffect : ~m? +# 1496| mu1496_5(POD_Derived) = Store[#temp0:0] : &:r0_8, r1496_3 #-----| r0_9(glval) = ConvertToNonVirtualBase[POD_Derived : POD_Middle] : r0_8 #-----| r0_10(glval) = ConvertToNonVirtualBase[POD_Middle : POD_Base] : r0_9 #-----| r0_11(glval) = Convert : r0_10 -# 1449| r1449_6(glval) = FunctionAddress[f] : -# 1449| r1449_7(float) = Call[f] : func:r1449_6, this:r0_11 -# 1449| mu1449_8(unknown) = ^CallSideEffect : ~m? +# 1496| r1496_6(glval) = FunctionAddress[f] : +# 1496| r1496_7(float) = Call[f] : func:r1496_6, this:r0_11 +# 1496| mu1496_8(unknown) = ^CallSideEffect : ~m? #-----| v0_12(void) = ^IndirectReadSideEffect[-1] : &:r0_11, ~m? -# 1449| mu1449_9(float) = Store[f] : &:r1449_1, r1449_7 -# 1450| v1450_1(void) = NoOp : -# 1445| v1445_4(void) = ReturnVoid : -# 1445| v1445_5(void) = AliasedUse : ~m? -# 1445| v1445_6(void) = ExitFunction : +# 1496| mu1496_9(float) = Store[f] : &:r1496_1, r1496_7 +# 1497| v1497_1(void) = NoOp : +# 1492| v1492_4(void) = ReturnVoid : +# 1492| v1492_5(void) = AliasedUse : ~m? +# 1492| v1492_6(void) = ExitFunction : -# 1453| void Inheritance_Test_B::~Inheritance_Test_B() -# 1453| Block 0 -# 1453| v1453_1(void) = EnterFunction : -# 1453| mu1453_2(unknown) = AliasedDefinition : -# 1453| mu1453_3(unknown) = InitializeNonLocal : -# 1453| r1453_4(glval) = VariableAddress[#this] : -# 1453| mu1453_5(glval) = InitializeParameter[#this] : &:r1453_4 -# 1453| r1453_6(glval) = Load[#this] : &:r1453_4, ~m? -# 1453| mu1453_7(Inheritance_Test_B) = InitializeIndirection[#this] : &:r1453_6 -# 1453| v1453_8(void) = NoOp : -# 1453| v1453_9(void) = ReturnIndirection[#this] : &:r1453_6, ~m? -# 1453| v1453_10(void) = ReturnVoid : -# 1453| v1453_11(void) = AliasedUse : ~m? -# 1453| v1453_12(void) = ExitFunction : +# 1500| void Inheritance_Test_B::~Inheritance_Test_B() +# 1500| Block 0 +# 1500| v1500_1(void) = EnterFunction : +# 1500| mu1500_2(unknown) = AliasedDefinition : +# 1500| mu1500_3(unknown) = InitializeNonLocal : +# 1500| r1500_4(glval) = VariableAddress[#this] : +# 1500| mu1500_5(glval) = InitializeParameter[#this] : &:r1500_4 +# 1500| r1500_6(glval) = Load[#this] : &:r1500_4, ~m? +# 1500| mu1500_7(Inheritance_Test_B) = InitializeIndirection[#this] : &:r1500_6 +# 1500| v1500_8(void) = NoOp : +# 1500| v1500_9(void) = ReturnIndirection[#this] : &:r1500_6, ~m? +# 1500| v1500_10(void) = ReturnVoid : +# 1500| v1500_11(void) = AliasedUse : ~m? +# 1500| v1500_12(void) = ExitFunction : -# 1459| void Inheritance_Test_A::Inheritance_Test_A() -# 1459| Block 0 -# 1459| v1459_1(void) = EnterFunction : -# 1459| mu1459_2(unknown) = AliasedDefinition : -# 1459| mu1459_3(unknown) = InitializeNonLocal : -# 1459| r1459_4(glval) = VariableAddress[#this] : -# 1459| mu1459_5(glval) = InitializeParameter[#this] : &:r1459_4 -# 1459| r1459_6(glval) = Load[#this] : &:r1459_4, ~m? -# 1459| mu1459_7(Inheritance_Test_A) = InitializeIndirection[#this] : &:r1459_6 -# 1459| r1459_8(glval) = FieldAddress[x] : mu1459_5 -# 1459| r1459_9(int) = Constant[42] : -# 1459| mu1459_10(int) = Store[?] : &:r1459_8, r1459_9 -# 1460| r1460_1(int) = Constant[3] : -# 1460| r1460_2(glval) = VariableAddress[#this] : -# 1460| r1460_3(Inheritance_Test_A *) = Load[#this] : &:r1460_2, ~m? -# 1460| r1460_4(glval) = FieldAddress[y] : r1460_3 -# 1460| mu1460_5(int) = Store[?] : &:r1460_4, r1460_1 -# 1461| v1461_1(void) = NoOp : -# 1459| v1459_11(void) = ReturnIndirection[#this] : &:r1459_6, ~m? -# 1459| v1459_12(void) = ReturnVoid : -# 1459| v1459_13(void) = AliasedUse : ~m? -# 1459| v1459_14(void) = ExitFunction : +# 1506| void Inheritance_Test_A::Inheritance_Test_A() +# 1506| Block 0 +# 1506| v1506_1(void) = EnterFunction : +# 1506| mu1506_2(unknown) = AliasedDefinition : +# 1506| mu1506_3(unknown) = InitializeNonLocal : +# 1506| r1506_4(glval) = VariableAddress[#this] : +# 1506| mu1506_5(glval) = InitializeParameter[#this] : &:r1506_4 +# 1506| r1506_6(glval) = Load[#this] : &:r1506_4, ~m? +# 1506| mu1506_7(Inheritance_Test_A) = InitializeIndirection[#this] : &:r1506_6 +# 1506| r1506_8(glval) = FieldAddress[x] : mu1506_5 +# 1506| r1506_9(int) = Constant[42] : +# 1506| mu1506_10(int) = Store[?] : &:r1506_8, r1506_9 +# 1507| r1507_1(int) = Constant[3] : +# 1507| r1507_2(glval) = VariableAddress[#this] : +# 1507| r1507_3(Inheritance_Test_A *) = Load[#this] : &:r1507_2, ~m? +# 1507| r1507_4(glval) = FieldAddress[y] : r1507_3 +# 1507| mu1507_5(int) = Store[?] : &:r1507_4, r1507_1 +# 1508| v1508_1(void) = NoOp : +# 1506| v1506_11(void) = ReturnIndirection[#this] : &:r1506_6, ~m? +# 1506| v1506_12(void) = ReturnVoid : +# 1506| v1506_13(void) = AliasedUse : ~m? +# 1506| v1506_14(void) = ExitFunction : -# 1464| void array_structured_binding() -# 1464| Block 0 -# 1464| v1464_1(void) = EnterFunction : -# 1464| mu1464_2(unknown) = AliasedDefinition : -# 1464| mu1464_3(unknown) = InitializeNonLocal : -# 1465| r1465_1(glval) = VariableAddress[xs] : -# 1465| mu1465_2(int[2]) = Uninitialized[xs] : &:r1465_1 -# 1465| r1465_3(int) = Constant[0] : -# 1465| r1465_4(glval) = PointerAdd[4] : r1465_1, r1465_3 -# 1465| r1465_5(int) = Constant[1] : -# 1465| mu1465_6(int) = Store[?] : &:r1465_4, r1465_5 -# 1465| r1465_7(int) = Constant[1] : -# 1465| r1465_8(glval) = PointerAdd[4] : r1465_1, r1465_7 -# 1465| r1465_9(int) = Constant[2] : -# 1465| mu1465_10(int) = Store[?] : &:r1465_8, r1465_9 -# 1468| r1468_1(glval) = VariableAddress[(unnamed local variable)] : -# 1468| r1468_2(glval) = VariableAddress[xs] : -# 1468| r1468_3(int(&)[2]) = CopyValue : r1468_2 -# 1468| mu1468_4(int(&)[2]) = Store[(unnamed local variable)] : &:r1468_1, r1468_3 -# 1468| r1468_5(glval) = VariableAddress[x0] : +# 1511| void array_structured_binding() +# 1511| Block 0 +# 1511| v1511_1(void) = EnterFunction : +# 1511| mu1511_2(unknown) = AliasedDefinition : +# 1511| mu1511_3(unknown) = InitializeNonLocal : +# 1512| r1512_1(glval) = VariableAddress[xs] : +# 1512| mu1512_2(int[2]) = Uninitialized[xs] : &:r1512_1 +# 1512| r1512_3(int) = Constant[0] : +# 1512| r1512_4(glval) = PointerAdd[4] : r1512_1, r1512_3 +# 1512| r1512_5(int) = Constant[1] : +# 1512| mu1512_6(int) = Store[?] : &:r1512_4, r1512_5 +# 1512| r1512_7(int) = Constant[1] : +# 1512| r1512_8(glval) = PointerAdd[4] : r1512_1, r1512_7 +# 1512| r1512_9(int) = Constant[2] : +# 1512| mu1512_10(int) = Store[?] : &:r1512_8, r1512_9 +# 1515| r1515_1(glval) = VariableAddress[(unnamed local variable)] : +# 1515| r1515_2(glval) = VariableAddress[xs] : +# 1515| r1515_3(int(&)[2]) = CopyValue : r1515_2 +# 1515| mu1515_4(int(&)[2]) = Store[(unnamed local variable)] : &:r1515_1, r1515_3 +# 1515| r1515_5(glval) = VariableAddress[x0] : #-----| r0_1(glval) = VariableAddress[(unnamed local variable)] : #-----| r0_2(int(&)[2]) = Load[(unnamed local variable)] : &:r0_1, ~m? #-----| r0_3(glval) = CopyValue : r0_2 #-----| r0_4(int *) = Convert : r0_3 #-----| r0_5(unsigned long) = Constant[0] : #-----| r0_6(glval) = PointerAdd[4] : r0_4, r0_5 -#-----| mu0_7(int &) = Store[x0] : &:r1468_5, r0_6 -# 1468| r1468_6(glval) = VariableAddress[x1] : +#-----| mu0_7(int &) = Store[x0] : &:r1515_5, r0_6 +# 1515| r1515_6(glval) = VariableAddress[x1] : #-----| r0_8(glval) = VariableAddress[(unnamed local variable)] : #-----| r0_9(int(&)[2]) = Load[(unnamed local variable)] : &:r0_8, ~m? #-----| r0_10(glval) = CopyValue : r0_9 #-----| r0_11(int *) = Convert : r0_10 #-----| r0_12(unsigned long) = Constant[1] : #-----| r0_13(glval) = PointerAdd[4] : r0_11, r0_12 -#-----| mu0_14(int &) = Store[x1] : &:r1468_6, r0_13 -# 1469| r1469_1(int) = Constant[3] : -# 1469| r1469_2(glval) = VariableAddress[x1] : -# 1469| r1469_3(int &) = Load[x1] : &:r1469_2, ~m? -# 1469| mu1469_4(int) = Store[?] : &:r1469_3, r1469_1 -# 1470| r1470_1(glval) = VariableAddress[rx1] : -# 1470| r1470_2(glval) = VariableAddress[x1] : -# 1470| r1470_3(int &) = Load[x1] : &:r1470_2, ~m? -# 1470| r1470_4(int &) = CopyValue : r1470_3 -# 1470| mu1470_5(int &) = Store[rx1] : &:r1470_1, r1470_4 -# 1471| r1471_1(glval) = VariableAddress[x] : -# 1471| r1471_2(glval) = VariableAddress[x1] : -# 1471| r1471_3(int &) = Load[x1] : &:r1471_2, ~m? -# 1471| r1471_4(int) = Load[?] : &:r1471_3, ~m? -# 1471| mu1471_5(int) = Store[x] : &:r1471_1, r1471_4 -# 1475| r1475_1(glval) = VariableAddress[unnamed_local_variable] : -# 1475| r1475_2(glval) = VariableAddress[xs] : -# 1475| r1475_3(int(&)[2]) = CopyValue : r1475_2 -# 1475| mu1475_4(int(&)[2]) = Store[unnamed_local_variable] : &:r1475_1, r1475_3 -# 1476| r1476_1(glval) = VariableAddress[x0] : -# 1476| r1476_2(glval) = VariableAddress[unnamed_local_variable] : -# 1476| r1476_3(int(&)[2]) = Load[unnamed_local_variable] : &:r1476_2, ~m? -# 1476| r1476_4(glval) = CopyValue : r1476_3 -# 1476| r1476_5(int *) = Convert : r1476_4 -# 1476| r1476_6(int) = Constant[0] : -# 1476| r1476_7(glval) = PointerAdd[4] : r1476_5, r1476_6 -# 1476| r1476_8(int &) = CopyValue : r1476_7 -# 1476| mu1476_9(int &) = Store[x0] : &:r1476_1, r1476_8 -# 1477| r1477_1(glval) = VariableAddress[x1] : -# 1477| r1477_2(glval) = VariableAddress[unnamed_local_variable] : -# 1477| r1477_3(int(&)[2]) = Load[unnamed_local_variable] : &:r1477_2, ~m? -# 1477| r1477_4(glval) = CopyValue : r1477_3 -# 1477| r1477_5(int *) = Convert : r1477_4 -# 1477| r1477_6(int) = Constant[1] : -# 1477| r1477_7(glval) = PointerAdd[4] : r1477_5, r1477_6 -# 1477| r1477_8(int &) = CopyValue : r1477_7 -# 1477| mu1477_9(int &) = Store[x1] : &:r1477_1, r1477_8 -# 1478| r1478_1(int) = Constant[3] : -# 1478| r1478_2(glval) = VariableAddress[x1] : -# 1478| r1478_3(int &) = Load[x1] : &:r1478_2, ~m? -# 1478| r1478_4(glval) = CopyValue : r1478_3 -# 1478| mu1478_5(int) = Store[?] : &:r1478_4, r1478_1 -# 1479| r1479_1(glval) = VariableAddress[rx1] : -# 1479| r1479_2(glval) = VariableAddress[x1] : -# 1479| r1479_3(int &) = Load[x1] : &:r1479_2, ~m? -# 1479| r1479_4(glval) = CopyValue : r1479_3 -# 1479| r1479_5(int &) = CopyValue : r1479_4 -# 1479| mu1479_6(int &) = Store[rx1] : &:r1479_1, r1479_5 -# 1480| r1480_1(glval) = VariableAddress[x] : -# 1480| r1480_2(glval) = VariableAddress[x1] : -# 1480| r1480_3(int &) = Load[x1] : &:r1480_2, ~m? -# 1480| r1480_4(int) = Load[?] : &:r1480_3, ~m? -# 1480| mu1480_5(int) = Store[x] : &:r1480_1, r1480_4 -# 1482| v1482_1(void) = NoOp : -# 1464| v1464_4(void) = ReturnVoid : -# 1464| v1464_5(void) = AliasedUse : ~m? -# 1464| v1464_6(void) = ExitFunction : +#-----| mu0_14(int &) = Store[x1] : &:r1515_6, r0_13 +# 1516| r1516_1(int) = Constant[3] : +# 1516| r1516_2(glval) = VariableAddress[x1] : +# 1516| r1516_3(int &) = Load[x1] : &:r1516_2, ~m? +# 1516| mu1516_4(int) = Store[?] : &:r1516_3, r1516_1 +# 1517| r1517_1(glval) = VariableAddress[rx1] : +# 1517| r1517_2(glval) = VariableAddress[x1] : +# 1517| r1517_3(int &) = Load[x1] : &:r1517_2, ~m? +# 1517| r1517_4(int &) = CopyValue : r1517_3 +# 1517| mu1517_5(int &) = Store[rx1] : &:r1517_1, r1517_4 +# 1518| r1518_1(glval) = VariableAddress[x] : +# 1518| r1518_2(glval) = VariableAddress[x1] : +# 1518| r1518_3(int &) = Load[x1] : &:r1518_2, ~m? +# 1518| r1518_4(int) = Load[?] : &:r1518_3, ~m? +# 1518| mu1518_5(int) = Store[x] : &:r1518_1, r1518_4 +# 1522| r1522_1(glval) = VariableAddress[unnamed_local_variable] : +# 1522| r1522_2(glval) = VariableAddress[xs] : +# 1522| r1522_3(int(&)[2]) = CopyValue : r1522_2 +# 1522| mu1522_4(int(&)[2]) = Store[unnamed_local_variable] : &:r1522_1, r1522_3 +# 1523| r1523_1(glval) = VariableAddress[x0] : +# 1523| r1523_2(glval) = VariableAddress[unnamed_local_variable] : +# 1523| r1523_3(int(&)[2]) = Load[unnamed_local_variable] : &:r1523_2, ~m? +# 1523| r1523_4(glval) = CopyValue : r1523_3 +# 1523| r1523_5(int *) = Convert : r1523_4 +# 1523| r1523_6(int) = Constant[0] : +# 1523| r1523_7(glval) = PointerAdd[4] : r1523_5, r1523_6 +# 1523| r1523_8(int &) = CopyValue : r1523_7 +# 1523| mu1523_9(int &) = Store[x0] : &:r1523_1, r1523_8 +# 1524| r1524_1(glval) = VariableAddress[x1] : +# 1524| r1524_2(glval) = VariableAddress[unnamed_local_variable] : +# 1524| r1524_3(int(&)[2]) = Load[unnamed_local_variable] : &:r1524_2, ~m? +# 1524| r1524_4(glval) = CopyValue : r1524_3 +# 1524| r1524_5(int *) = Convert : r1524_4 +# 1524| r1524_6(int) = Constant[1] : +# 1524| r1524_7(glval) = PointerAdd[4] : r1524_5, r1524_6 +# 1524| r1524_8(int &) = CopyValue : r1524_7 +# 1524| mu1524_9(int &) = Store[x1] : &:r1524_1, r1524_8 +# 1525| r1525_1(int) = Constant[3] : +# 1525| r1525_2(glval) = VariableAddress[x1] : +# 1525| r1525_3(int &) = Load[x1] : &:r1525_2, ~m? +# 1525| r1525_4(glval) = CopyValue : r1525_3 +# 1525| mu1525_5(int) = Store[?] : &:r1525_4, r1525_1 +# 1526| r1526_1(glval) = VariableAddress[rx1] : +# 1526| r1526_2(glval) = VariableAddress[x1] : +# 1526| r1526_3(int &) = Load[x1] : &:r1526_2, ~m? +# 1526| r1526_4(glval) = CopyValue : r1526_3 +# 1526| r1526_5(int &) = CopyValue : r1526_4 +# 1526| mu1526_6(int &) = Store[rx1] : &:r1526_1, r1526_5 +# 1527| r1527_1(glval) = VariableAddress[x] : +# 1527| r1527_2(glval) = VariableAddress[x1] : +# 1527| r1527_3(int &) = Load[x1] : &:r1527_2, ~m? +# 1527| r1527_4(int) = Load[?] : &:r1527_3, ~m? +# 1527| mu1527_5(int) = Store[x] : &:r1527_1, r1527_4 +# 1529| v1529_1(void) = NoOp : +# 1511| v1511_4(void) = ReturnVoid : +# 1511| v1511_5(void) = AliasedUse : ~m? +# 1511| v1511_6(void) = ExitFunction : -# 1484| void StructuredBindingDataMemberMemberStruct::StructuredBindingDataMemberMemberStruct() -# 1484| Block 0 -# 1484| v1484_1(void) = EnterFunction : -# 1484| mu1484_2(unknown) = AliasedDefinition : -# 1484| mu1484_3(unknown) = InitializeNonLocal : -# 1484| r1484_4(glval) = VariableAddress[#this] : -# 1484| mu1484_5(glval) = InitializeParameter[#this] : &:r1484_4 -# 1484| r1484_6(glval) = Load[#this] : &:r1484_4, ~m? -# 1484| mu1484_7(StructuredBindingDataMemberMemberStruct) = InitializeIndirection[#this] : &:r1484_6 -# 1484| v1484_8(void) = NoOp : -# 1484| v1484_9(void) = ReturnIndirection[#this] : &:r1484_6, ~m? -# 1484| v1484_10(void) = ReturnVoid : -# 1484| v1484_11(void) = AliasedUse : ~m? -# 1484| v1484_12(void) = ExitFunction : +# 1531| void StructuredBindingDataMemberMemberStruct::StructuredBindingDataMemberMemberStruct() +# 1531| Block 0 +# 1531| v1531_1(void) = EnterFunction : +# 1531| mu1531_2(unknown) = AliasedDefinition : +# 1531| mu1531_3(unknown) = InitializeNonLocal : +# 1531| r1531_4(glval) = VariableAddress[#this] : +# 1531| mu1531_5(glval) = InitializeParameter[#this] : &:r1531_4 +# 1531| r1531_6(glval) = Load[#this] : &:r1531_4, ~m? +# 1531| mu1531_7(StructuredBindingDataMemberMemberStruct) = InitializeIndirection[#this] : &:r1531_6 +# 1531| v1531_8(void) = NoOp : +# 1531| v1531_9(void) = ReturnIndirection[#this] : &:r1531_6, ~m? +# 1531| v1531_10(void) = ReturnVoid : +# 1531| v1531_11(void) = AliasedUse : ~m? +# 1531| v1531_12(void) = ExitFunction : -# 1488| void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct() -# 1488| Block 0 -# 1488| v1488_1(void) = EnterFunction : -# 1488| mu1488_2(unknown) = AliasedDefinition : -# 1488| mu1488_3(unknown) = InitializeNonLocal : -# 1488| r1488_4(glval) = VariableAddress[#this] : -# 1488| mu1488_5(glval) = InitializeParameter[#this] : &:r1488_4 -# 1488| r1488_6(glval) = Load[#this] : &:r1488_4, ~m? -# 1488| mu1488_7(StructuredBindingDataMemberStruct) = InitializeIndirection[#this] : &:r1488_6 +# 1535| void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct() +# 1535| Block 0 +# 1535| v1535_1(void) = EnterFunction : +# 1535| mu1535_2(unknown) = AliasedDefinition : +# 1535| mu1535_3(unknown) = InitializeNonLocal : +# 1535| r1535_4(glval) = VariableAddress[#this] : +# 1535| mu1535_5(glval) = InitializeParameter[#this] : &:r1535_4 +# 1535| r1535_6(glval) = Load[#this] : &:r1535_4, ~m? +# 1535| mu1535_7(StructuredBindingDataMemberStruct) = InitializeIndirection[#this] : &:r1535_6 #-----| Goto -> Block 2 -# 1488| Block 1 -# 1488| r1488_8(glval) = FieldAddress[m] : mu1488_5 -# 1488| r1488_9(glval) = FunctionAddress[StructuredBindingDataMemberMemberStruct] : -# 1488| v1488_10(void) = Call[StructuredBindingDataMemberMemberStruct] : func:r1488_9, this:r1488_8 -# 1488| mu1488_11(unknown) = ^CallSideEffect : ~m? -# 1488| mu1488_12(StructuredBindingDataMemberMemberStruct) = ^IndirectMayWriteSideEffect[-1] : &:r1488_8 +# 1535| Block 1 +# 1535| r1535_8(glval) = FieldAddress[m] : mu1535_5 +# 1535| r1535_9(glval) = FunctionAddress[StructuredBindingDataMemberMemberStruct] : +# 1535| v1535_10(void) = Call[StructuredBindingDataMemberMemberStruct] : func:r1535_9, this:r1535_8 +# 1535| mu1535_11(unknown) = ^CallSideEffect : ~m? +# 1535| mu1535_12(StructuredBindingDataMemberMemberStruct) = ^IndirectMayWriteSideEffect[-1] : &:r1535_8 #-----| Goto -> Block 2 -# 1488| Block 2 -# 1488| v1488_13(void) = NoOp : -# 1488| v1488_14(void) = ReturnIndirection[#this] : &:r1488_6, ~m? -# 1488| v1488_15(void) = ReturnVoid : -# 1488| v1488_16(void) = AliasedUse : ~m? -# 1488| v1488_17(void) = ExitFunction : +# 1535| Block 2 +# 1535| v1535_13(void) = NoOp : +# 1535| v1535_14(void) = ReturnIndirection[#this] : &:r1535_6, ~m? +# 1535| v1535_15(void) = ReturnVoid : +# 1535| v1535_16(void) = AliasedUse : ~m? +# 1535| v1535_17(void) = ExitFunction : -# 1488| void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct(StructuredBindingDataMemberStruct const&) -# 1488| Block 0 -# 1488| v1488_1(void) = EnterFunction : -# 1488| mu1488_2(unknown) = AliasedDefinition : -# 1488| mu1488_3(unknown) = InitializeNonLocal : -# 1488| r1488_4(glval) = VariableAddress[#this] : -# 1488| mu1488_5(glval) = InitializeParameter[#this] : &:r1488_4 -# 1488| r1488_6(glval) = Load[#this] : &:r1488_4, ~m? -# 1488| mu1488_7(StructuredBindingDataMemberStruct) = InitializeIndirection[#this] : &:r1488_6 +# 1535| void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct(StructuredBindingDataMemberStruct const&) +# 1535| Block 0 +# 1535| v1535_1(void) = EnterFunction : +# 1535| mu1535_2(unknown) = AliasedDefinition : +# 1535| mu1535_3(unknown) = InitializeNonLocal : +# 1535| r1535_4(glval) = VariableAddress[#this] : +# 1535| mu1535_5(glval) = InitializeParameter[#this] : &:r1535_4 +# 1535| r1535_6(glval) = Load[#this] : &:r1535_4, ~m? +# 1535| mu1535_7(StructuredBindingDataMemberStruct) = InitializeIndirection[#this] : &:r1535_6 #-----| r0_1(glval) = VariableAddress[(unnamed parameter 0)] : #-----| mu0_2(StructuredBindingDataMemberStruct &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1 #-----| r0_3(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r0_1, ~m? #-----| mu0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3 -# 1488| r1488_8(glval) = FieldAddress[i] : mu1488_5 -# 1488| r1488_9(glval) = VariableAddress[(unnamed parameter 0)] : -# 1488| r1488_10(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1488_9, ~m? -# 1488| r1488_11(glval) = CopyValue : r1488_10 -# 1488| r1488_12(glval) = FieldAddress[i] : r1488_11 -# 1488| r1488_13(int) = Load[?] : &:r1488_12, ~m? -# 1488| mu1488_14(int) = Store[?] : &:r1488_8, r1488_13 -# 1488| r1488_15(glval) = FieldAddress[d] : mu1488_5 -# 1488| r1488_16(glval) = VariableAddress[(unnamed parameter 0)] : -# 1488| r1488_17(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1488_16, ~m? -# 1488| r1488_18(glval) = CopyValue : r1488_17 -# 1488| r1488_19(glval) = FieldAddress[d] : r1488_18 -# 1488| r1488_20(double) = Load[?] : &:r1488_19, ~m? -# 1488| mu1488_21(double) = Store[?] : &:r1488_15, r1488_20 -# 1488| r1488_22(glval) = FieldAddress[b] : mu1488_5 -# 1488| r1488_23(glval) = VariableAddress[(unnamed parameter 0)] : -# 1488| r1488_24(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1488_23, ~m? -# 1488| r1488_25(glval) = CopyValue : r1488_24 -# 1488| r1488_26(glval) = FieldAddress[b] : r1488_25 -# 1488| r1488_27(unsigned int) = Load[?] : &:r1488_26, ~m? -# 1488| mu1488_28(unsigned int) = Store[?] : &:r1488_22, r1488_27 -# 1488| r1488_29(glval) = FieldAddress[r] : mu1488_5 -# 1488| r1488_30(glval) = VariableAddress[(unnamed parameter 0)] : -# 1488| r1488_31(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1488_30, ~m? -# 1488| r1488_32(glval) = CopyValue : r1488_31 -# 1488| r1488_33(glval) = FieldAddress[r] : r1488_32 -# 1488| r1488_34(int &) = Load[?] : &:r1488_33, ~m? -# 1488| mu1488_35(int &) = Store[?] : &:r1488_29, r1488_34 -# 1488| r1488_36(glval) = FieldAddress[p] : mu1488_5 -# 1488| r1488_37(glval) = VariableAddress[(unnamed parameter 0)] : -# 1488| r1488_38(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1488_37, ~m? -# 1488| r1488_39(glval) = CopyValue : r1488_38 -# 1488| r1488_40(glval) = FieldAddress[p] : r1488_39 -# 1488| r1488_41(int *) = Load[?] : &:r1488_40, ~m? -# 1488| mu1488_42(int *) = Store[?] : &:r1488_36, r1488_41 -# 1488| r1488_43(glval) = FieldAddress[xs] : mu1488_5 -# 1488| r1488_44(glval) = VariableAddress[(unnamed parameter 0)] : -# 1488| r1488_45(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1488_44, ~m? -# 1488| r1488_46(glval) = CopyValue : r1488_45 -# 1488| r1488_47(glval) = FieldAddress[xs] : r1488_46 -# 1488| r1488_48(int[2]) = Load[?] : &:r1488_47, ~m? -# 1488| mu1488_49(int[2]) = Store[?] : &:r1488_43, r1488_48 -# 1488| r1488_50(glval) = FieldAddress[r_alt] : mu1488_5 -# 1488| r1488_51(glval) = VariableAddress[(unnamed parameter 0)] : -# 1488| r1488_52(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1488_51, ~m? -# 1488| r1488_53(glval) = CopyValue : r1488_52 -# 1488| r1488_54(glval) = FieldAddress[r_alt] : r1488_53 -# 1488| r1488_55(int &) = Load[?] : &:r1488_54, ~m? -# 1488| mu1488_56(int &) = Store[?] : &:r1488_50, r1488_55 -# 1488| r1488_57(glval) = FieldAddress[m] : mu1488_5 -# 1488| r1488_58(glval) = VariableAddress[(unnamed parameter 0)] : -# 1488| r1488_59(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1488_58, ~m? -# 1488| r1488_60(glval) = CopyValue : r1488_59 -# 1488| r1488_61(glval) = FieldAddress[m] : r1488_60 -# 1488| r1488_62(StructuredBindingDataMemberMemberStruct) = Load[?] : &:r1488_61, ~m? -# 1488| mu1488_63(StructuredBindingDataMemberMemberStruct) = Store[?] : &:r1488_57, r1488_62 -# 1488| v1488_64(void) = NoOp : -# 1488| v1488_65(void) = ReturnIndirection[#this] : &:r1488_6, ~m? +# 1535| r1535_8(glval) = FieldAddress[i] : mu1535_5 +# 1535| r1535_9(glval) = VariableAddress[(unnamed parameter 0)] : +# 1535| r1535_10(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_9, ~m? +# 1535| r1535_11(glval) = CopyValue : r1535_10 +# 1535| r1535_12(glval) = FieldAddress[i] : r1535_11 +# 1535| r1535_13(int) = Load[?] : &:r1535_12, ~m? +# 1535| mu1535_14(int) = Store[?] : &:r1535_8, r1535_13 +# 1535| r1535_15(glval) = FieldAddress[d] : mu1535_5 +# 1535| r1535_16(glval) = VariableAddress[(unnamed parameter 0)] : +# 1535| r1535_17(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_16, ~m? +# 1535| r1535_18(glval) = CopyValue : r1535_17 +# 1535| r1535_19(glval) = FieldAddress[d] : r1535_18 +# 1535| r1535_20(double) = Load[?] : &:r1535_19, ~m? +# 1535| mu1535_21(double) = Store[?] : &:r1535_15, r1535_20 +# 1535| r1535_22(glval) = FieldAddress[b] : mu1535_5 +# 1535| r1535_23(glval) = VariableAddress[(unnamed parameter 0)] : +# 1535| r1535_24(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_23, ~m? +# 1535| r1535_25(glval) = CopyValue : r1535_24 +# 1535| r1535_26(glval) = FieldAddress[b] : r1535_25 +# 1535| r1535_27(unsigned int) = Load[?] : &:r1535_26, ~m? +# 1535| mu1535_28(unsigned int) = Store[?] : &:r1535_22, r1535_27 +# 1535| r1535_29(glval) = FieldAddress[r] : mu1535_5 +# 1535| r1535_30(glval) = VariableAddress[(unnamed parameter 0)] : +# 1535| r1535_31(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_30, ~m? +# 1535| r1535_32(glval) = CopyValue : r1535_31 +# 1535| r1535_33(glval) = FieldAddress[r] : r1535_32 +# 1535| r1535_34(int &) = Load[?] : &:r1535_33, ~m? +# 1535| mu1535_35(int &) = Store[?] : &:r1535_29, r1535_34 +# 1535| r1535_36(glval) = FieldAddress[p] : mu1535_5 +# 1535| r1535_37(glval) = VariableAddress[(unnamed parameter 0)] : +# 1535| r1535_38(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_37, ~m? +# 1535| r1535_39(glval) = CopyValue : r1535_38 +# 1535| r1535_40(glval) = FieldAddress[p] : r1535_39 +# 1535| r1535_41(int *) = Load[?] : &:r1535_40, ~m? +# 1535| mu1535_42(int *) = Store[?] : &:r1535_36, r1535_41 +# 1535| r1535_43(glval) = FieldAddress[xs] : mu1535_5 +# 1535| r1535_44(glval) = VariableAddress[(unnamed parameter 0)] : +# 1535| r1535_45(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_44, ~m? +# 1535| r1535_46(glval) = CopyValue : r1535_45 +# 1535| r1535_47(glval) = FieldAddress[xs] : r1535_46 +# 1535| r1535_48(int[2]) = Load[?] : &:r1535_47, ~m? +# 1535| mu1535_49(int[2]) = Store[?] : &:r1535_43, r1535_48 +# 1535| r1535_50(glval) = FieldAddress[r_alt] : mu1535_5 +# 1535| r1535_51(glval) = VariableAddress[(unnamed parameter 0)] : +# 1535| r1535_52(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_51, ~m? +# 1535| r1535_53(glval) = CopyValue : r1535_52 +# 1535| r1535_54(glval) = FieldAddress[r_alt] : r1535_53 +# 1535| r1535_55(int &) = Load[?] : &:r1535_54, ~m? +# 1535| mu1535_56(int &) = Store[?] : &:r1535_50, r1535_55 +# 1535| r1535_57(glval) = FieldAddress[m] : mu1535_5 +# 1535| r1535_58(glval) = VariableAddress[(unnamed parameter 0)] : +# 1535| r1535_59(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_58, ~m? +# 1535| r1535_60(glval) = CopyValue : r1535_59 +# 1535| r1535_61(glval) = FieldAddress[m] : r1535_60 +# 1535| r1535_62(StructuredBindingDataMemberMemberStruct) = Load[?] : &:r1535_61, ~m? +# 1535| mu1535_63(StructuredBindingDataMemberMemberStruct) = Store[?] : &:r1535_57, r1535_62 +# 1535| v1535_64(void) = NoOp : +# 1535| v1535_65(void) = ReturnIndirection[#this] : &:r1535_6, ~m? #-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, ~m? -# 1488| v1488_66(void) = ReturnVoid : -# 1488| v1488_67(void) = AliasedUse : ~m? -# 1488| v1488_68(void) = ExitFunction : +# 1535| v1535_66(void) = ReturnVoid : +# 1535| v1535_67(void) = AliasedUse : ~m? +# 1535| v1535_68(void) = ExitFunction : -# 1501| void data_member_structured_binding() -# 1501| Block 0 -# 1501| v1501_1(void) = EnterFunction : -# 1501| mu1501_2(unknown) = AliasedDefinition : -# 1501| mu1501_3(unknown) = InitializeNonLocal : -# 1502| r1502_1(glval) = VariableAddress[s] : -# 1502| mu1502_2(StructuredBindingDataMemberStruct) = Uninitialized[s] : &:r1502_1 -# 1502| r1502_3(glval) = FunctionAddress[StructuredBindingDataMemberStruct] : -# 1502| v1502_4(void) = Call[StructuredBindingDataMemberStruct] : func:r1502_3, this:r1502_1 -# 1502| mu1502_5(unknown) = ^CallSideEffect : ~m? -# 1502| mu1502_6(StructuredBindingDataMemberStruct) = ^IndirectMayWriteSideEffect[-1] : &:r1502_1 -# 1505| r1505_1(glval) = VariableAddress[(unnamed local variable)] : -# 1505| r1505_2(glval) = VariableAddress[s] : -# 1505| r1505_3(StructuredBindingDataMemberStruct) = Load[s] : &:r1505_2, ~m? -# 1505| mu1505_4(StructuredBindingDataMemberStruct) = Store[(unnamed local variable)] : &:r1505_1, r1505_3 -# 1505| r1505_5(glval) = VariableAddress[i] : -# 1505| r1505_6(glval) = VariableAddress[(unnamed local variable)] : -# 1505| r1505_7(glval) = FieldAddress[i] : r1505_6 -# 1505| mu1505_8(int &) = Store[i] : &:r1505_5, r1505_7 -# 1505| r1505_9(glval) = VariableAddress[d] : -# 1505| r1505_10(glval) = VariableAddress[(unnamed local variable)] : -# 1505| r1505_11(glval) = FieldAddress[d] : r1505_10 -# 1505| mu1505_12(double &) = Store[d] : &:r1505_9, r1505_11 -# 1505| r1505_13(glval) = VariableAddress[b] : -# 1505| r1505_14(glval) = VariableAddress[(unnamed local variable)] : -# 1505| r1505_15(glval) = FieldAddress[b] : r1505_14 -# 1505| mu1505_16(unsigned int &) = Store[b] : &:r1505_13, r1505_15 -# 1505| r1505_17(glval) = VariableAddress[r] : -# 1505| r1505_18(glval) = VariableAddress[(unnamed local variable)] : -# 1505| r1505_19(glval) = FieldAddress[r] : r1505_18 -# 1505| r1505_20(int &) = Load[?] : &:r1505_19, ~m? -# 1505| r1505_21(glval) = CopyValue : r1505_20 -# 1505| mu1505_22(int &) = Store[r] : &:r1505_17, r1505_21 -# 1505| r1505_23(glval) = VariableAddress[p] : -# 1505| r1505_24(glval) = VariableAddress[(unnamed local variable)] : -# 1505| r1505_25(glval) = FieldAddress[p] : r1505_24 -# 1505| mu1505_26(int *&) = Store[p] : &:r1505_23, r1505_25 -# 1505| r1505_27(glval) = VariableAddress[xs] : -# 1505| r1505_28(glval) = VariableAddress[(unnamed local variable)] : -# 1505| r1505_29(glval) = FieldAddress[xs] : r1505_28 -# 1505| mu1505_30(int(&)[2]) = Store[xs] : &:r1505_27, r1505_29 -# 1505| r1505_31(glval) = VariableAddress[r_alt] : -# 1505| r1505_32(glval) = VariableAddress[(unnamed local variable)] : -# 1505| r1505_33(glval) = FieldAddress[r_alt] : r1505_32 -# 1505| r1505_34(int &) = Load[?] : &:r1505_33, ~m? -# 1505| r1505_35(glval) = CopyValue : r1505_34 -# 1505| mu1505_36(int &) = Store[r_alt] : &:r1505_31, r1505_35 -# 1505| r1505_37(glval) = VariableAddress[m] : -# 1505| r1505_38(glval) = VariableAddress[(unnamed local variable)] : -# 1505| r1505_39(glval) = FieldAddress[m] : r1505_38 -# 1505| mu1505_40(StructuredBindingDataMemberMemberStruct &) = Store[m] : &:r1505_37, r1505_39 -# 1506| r1506_1(double) = Constant[4.0] : -# 1506| r1506_2(glval) = VariableAddress[d] : -# 1506| r1506_3(double &) = Load[d] : &:r1506_2, ~m? -# 1506| mu1506_4(double) = Store[?] : &:r1506_3, r1506_1 -# 1507| r1507_1(glval) = VariableAddress[rd] : -# 1507| r1507_2(glval) = VariableAddress[d] : -# 1507| r1507_3(double &) = Load[d] : &:r1507_2, ~m? -# 1507| r1507_4(double &) = CopyValue : r1507_3 -# 1507| mu1507_5(double &) = Store[rd] : &:r1507_1, r1507_4 -# 1508| r1508_1(glval) = VariableAddress[v] : -# 1508| r1508_2(glval) = VariableAddress[i] : -# 1508| r1508_3(int &) = Load[i] : &:r1508_2, ~m? -# 1508| r1508_4(int) = Load[?] : &:r1508_3, ~m? -# 1508| mu1508_5(int) = Store[v] : &:r1508_1, r1508_4 -# 1509| r1509_1(int) = Constant[5] : -# 1509| r1509_2(glval) = VariableAddress[r] : -# 1509| r1509_3(int &) = Load[r] : &:r1509_2, ~m? -# 1509| mu1509_4(int) = Store[?] : &:r1509_3, r1509_1 -# 1510| r1510_1(int) = Constant[6] : -# 1510| r1510_2(glval) = VariableAddress[p] : -# 1510| r1510_3(int *&) = Load[p] : &:r1510_2, ~m? -# 1510| r1510_4(int *) = Load[?] : &:r1510_3, ~m? -# 1510| r1510_5(glval) = CopyValue : r1510_4 -# 1510| mu1510_6(int) = Store[?] : &:r1510_5, r1510_1 -# 1511| r1511_1(glval) = VariableAddress[rr] : -# 1511| r1511_2(glval) = VariableAddress[r] : -# 1511| r1511_3(int &) = Load[r] : &:r1511_2, ~m? -# 1511| r1511_4(int &) = CopyValue : r1511_3 -# 1511| mu1511_5(int &) = Store[rr] : &:r1511_1, r1511_4 -# 1512| r1512_1(glval) = VariableAddress[pr] : -# 1512| r1512_2(glval) = VariableAddress[r] : -# 1512| r1512_3(int &) = Load[r] : &:r1512_2, ~m? -# 1512| r1512_4(int *) = CopyValue : r1512_3 -# 1512| mu1512_5(int *) = Store[pr] : &:r1512_1, r1512_4 -# 1513| r1513_1(glval) = VariableAddress[w] : -# 1513| r1513_2(glval) = VariableAddress[r] : -# 1513| r1513_3(int &) = Load[r] : &:r1513_2, ~m? -# 1513| r1513_4(int) = Load[?] : &:r1513_3, ~m? -# 1513| mu1513_5(int) = Store[w] : &:r1513_1, r1513_4 -# 1517| r1517_1(glval) = VariableAddress[unnamed_local_variable] : -# 1517| r1517_2(glval) = VariableAddress[s] : -# 1517| r1517_3(StructuredBindingDataMemberStruct) = Load[s] : &:r1517_2, ~m? -# 1517| mu1517_4(StructuredBindingDataMemberStruct) = Store[unnamed_local_variable] : &:r1517_1, r1517_3 -# 1518| r1518_1(glval) = VariableAddress[i] : -# 1518| r1518_2(glval) = VariableAddress[unnamed_local_variable] : -# 1518| r1518_3(glval) = FieldAddress[i] : r1518_2 -# 1518| r1518_4(int &) = CopyValue : r1518_3 -# 1518| mu1518_5(int &) = Store[i] : &:r1518_1, r1518_4 -# 1519| r1519_1(glval) = VariableAddress[d] : -# 1519| r1519_2(glval) = VariableAddress[unnamed_local_variable] : -# 1519| r1519_3(glval) = FieldAddress[d] : r1519_2 -# 1519| r1519_4(double &) = CopyValue : r1519_3 -# 1519| mu1519_5(double &) = Store[d] : &:r1519_1, r1519_4 -# 1521| r1521_1(glval) = VariableAddress[r] : -# 1521| r1521_2(glval) = VariableAddress[unnamed_local_variable] : -# 1521| r1521_3(glval) = FieldAddress[r] : r1521_2 -# 1521| r1521_4(int &) = Load[?] : &:r1521_3, ~m? -# 1521| r1521_5(glval) = CopyValue : r1521_4 -# 1521| r1521_6(int &) = CopyValue : r1521_5 -# 1521| mu1521_7(int &) = Store[r] : &:r1521_1, r1521_6 -# 1522| r1522_1(glval) = VariableAddress[p] : -# 1522| r1522_2(glval) = VariableAddress[unnamed_local_variable] : -# 1522| r1522_3(glval) = FieldAddress[p] : r1522_2 -# 1522| r1522_4(int *&) = CopyValue : r1522_3 -# 1522| mu1522_5(int *&) = Store[p] : &:r1522_1, r1522_4 -# 1523| r1523_1(double) = Constant[4.0] : -# 1523| r1523_2(glval) = VariableAddress[d] : -# 1523| r1523_3(double &) = Load[d] : &:r1523_2, ~m? -# 1523| r1523_4(glval) = CopyValue : r1523_3 -# 1523| mu1523_5(double) = Store[?] : &:r1523_4, r1523_1 -# 1524| r1524_1(glval) = VariableAddress[rd] : -# 1524| r1524_2(glval) = VariableAddress[d] : -# 1524| r1524_3(double &) = Load[d] : &:r1524_2, ~m? -# 1524| r1524_4(glval) = CopyValue : r1524_3 -# 1524| r1524_5(double &) = CopyValue : r1524_4 -# 1524| mu1524_6(double &) = Store[rd] : &:r1524_1, r1524_5 -# 1525| r1525_1(glval) = VariableAddress[v] : -# 1525| r1525_2(glval) = VariableAddress[i] : -# 1525| r1525_3(int &) = Load[i] : &:r1525_2, ~m? -# 1525| r1525_4(int) = Load[?] : &:r1525_3, ~m? -# 1525| mu1525_5(int) = Store[v] : &:r1525_1, r1525_4 -# 1526| r1526_1(int) = Constant[5] : -# 1526| r1526_2(glval) = VariableAddress[r] : -# 1526| r1526_3(int &) = Load[r] : &:r1526_2, ~m? -# 1526| r1526_4(glval) = CopyValue : r1526_3 -# 1526| mu1526_5(int) = Store[?] : &:r1526_4, r1526_1 -# 1527| r1527_1(int) = Constant[6] : -# 1527| r1527_2(glval) = VariableAddress[p] : -# 1527| r1527_3(int *&) = Load[p] : &:r1527_2, ~m? -# 1527| r1527_4(int *) = Load[?] : &:r1527_3, ~m? -# 1527| r1527_5(glval) = CopyValue : r1527_4 -# 1527| mu1527_6(int) = Store[?] : &:r1527_5, r1527_1 -# 1528| r1528_1(glval) = VariableAddress[rr] : -# 1528| r1528_2(glval) = VariableAddress[r] : -# 1528| r1528_3(int &) = Load[r] : &:r1528_2, ~m? -# 1528| r1528_4(glval) = CopyValue : r1528_3 -# 1528| r1528_5(int &) = CopyValue : r1528_4 -# 1528| mu1528_6(int &) = Store[rr] : &:r1528_1, r1528_5 -# 1529| r1529_1(glval) = VariableAddress[pr] : -# 1529| r1529_2(glval) = VariableAddress[r] : -# 1529| r1529_3(int &) = Load[r] : &:r1529_2, ~m? -# 1529| r1529_4(glval) = CopyValue : r1529_3 -# 1529| r1529_5(int *) = CopyValue : r1529_4 -# 1529| mu1529_6(int *) = Store[pr] : &:r1529_1, r1529_5 -# 1530| r1530_1(glval) = VariableAddress[w] : -# 1530| r1530_2(glval) = VariableAddress[r] : -# 1530| r1530_3(int &) = Load[r] : &:r1530_2, ~m? -# 1530| r1530_4(int) = Load[?] : &:r1530_3, ~m? -# 1530| mu1530_5(int) = Store[w] : &:r1530_1, r1530_4 -# 1532| v1532_1(void) = NoOp : -# 1501| v1501_4(void) = ReturnVoid : -# 1501| v1501_5(void) = AliasedUse : ~m? -# 1501| v1501_6(void) = ExitFunction : +# 1548| void data_member_structured_binding() +# 1548| Block 0 +# 1548| v1548_1(void) = EnterFunction : +# 1548| mu1548_2(unknown) = AliasedDefinition : +# 1548| mu1548_3(unknown) = InitializeNonLocal : +# 1549| r1549_1(glval) = VariableAddress[s] : +# 1549| mu1549_2(StructuredBindingDataMemberStruct) = Uninitialized[s] : &:r1549_1 +# 1549| r1549_3(glval) = FunctionAddress[StructuredBindingDataMemberStruct] : +# 1549| v1549_4(void) = Call[StructuredBindingDataMemberStruct] : func:r1549_3, this:r1549_1 +# 1549| mu1549_5(unknown) = ^CallSideEffect : ~m? +# 1549| mu1549_6(StructuredBindingDataMemberStruct) = ^IndirectMayWriteSideEffect[-1] : &:r1549_1 +# 1552| r1552_1(glval) = VariableAddress[(unnamed local variable)] : +# 1552| r1552_2(glval) = VariableAddress[s] : +# 1552| r1552_3(StructuredBindingDataMemberStruct) = Load[s] : &:r1552_2, ~m? +# 1552| mu1552_4(StructuredBindingDataMemberStruct) = Store[(unnamed local variable)] : &:r1552_1, r1552_3 +# 1552| r1552_5(glval) = VariableAddress[i] : +# 1552| r1552_6(glval) = VariableAddress[(unnamed local variable)] : +# 1552| r1552_7(glval) = FieldAddress[i] : r1552_6 +# 1552| mu1552_8(int &) = Store[i] : &:r1552_5, r1552_7 +# 1552| r1552_9(glval) = VariableAddress[d] : +# 1552| r1552_10(glval) = VariableAddress[(unnamed local variable)] : +# 1552| r1552_11(glval) = FieldAddress[d] : r1552_10 +# 1552| mu1552_12(double &) = Store[d] : &:r1552_9, r1552_11 +# 1552| r1552_13(glval) = VariableAddress[b] : +# 1552| r1552_14(glval) = VariableAddress[(unnamed local variable)] : +# 1552| r1552_15(glval) = FieldAddress[b] : r1552_14 +# 1552| mu1552_16(unsigned int &) = Store[b] : &:r1552_13, r1552_15 +# 1552| r1552_17(glval) = VariableAddress[r] : +# 1552| r1552_18(glval) = VariableAddress[(unnamed local variable)] : +# 1552| r1552_19(glval) = FieldAddress[r] : r1552_18 +# 1552| r1552_20(int &) = Load[?] : &:r1552_19, ~m? +# 1552| r1552_21(glval) = CopyValue : r1552_20 +# 1552| mu1552_22(int &) = Store[r] : &:r1552_17, r1552_21 +# 1552| r1552_23(glval) = VariableAddress[p] : +# 1552| r1552_24(glval) = VariableAddress[(unnamed local variable)] : +# 1552| r1552_25(glval) = FieldAddress[p] : r1552_24 +# 1552| mu1552_26(int *&) = Store[p] : &:r1552_23, r1552_25 +# 1552| r1552_27(glval) = VariableAddress[xs] : +# 1552| r1552_28(glval) = VariableAddress[(unnamed local variable)] : +# 1552| r1552_29(glval) = FieldAddress[xs] : r1552_28 +# 1552| mu1552_30(int(&)[2]) = Store[xs] : &:r1552_27, r1552_29 +# 1552| r1552_31(glval) = VariableAddress[r_alt] : +# 1552| r1552_32(glval) = VariableAddress[(unnamed local variable)] : +# 1552| r1552_33(glval) = FieldAddress[r_alt] : r1552_32 +# 1552| r1552_34(int &) = Load[?] : &:r1552_33, ~m? +# 1552| r1552_35(glval) = CopyValue : r1552_34 +# 1552| mu1552_36(int &) = Store[r_alt] : &:r1552_31, r1552_35 +# 1552| r1552_37(glval) = VariableAddress[m] : +# 1552| r1552_38(glval) = VariableAddress[(unnamed local variable)] : +# 1552| r1552_39(glval) = FieldAddress[m] : r1552_38 +# 1552| mu1552_40(StructuredBindingDataMemberMemberStruct &) = Store[m] : &:r1552_37, r1552_39 +# 1553| r1553_1(double) = Constant[4.0] : +# 1553| r1553_2(glval) = VariableAddress[d] : +# 1553| r1553_3(double &) = Load[d] : &:r1553_2, ~m? +# 1553| mu1553_4(double) = Store[?] : &:r1553_3, r1553_1 +# 1554| r1554_1(glval) = VariableAddress[rd] : +# 1554| r1554_2(glval) = VariableAddress[d] : +# 1554| r1554_3(double &) = Load[d] : &:r1554_2, ~m? +# 1554| r1554_4(double &) = CopyValue : r1554_3 +# 1554| mu1554_5(double &) = Store[rd] : &:r1554_1, r1554_4 +# 1555| r1555_1(glval) = VariableAddress[v] : +# 1555| r1555_2(glval) = VariableAddress[i] : +# 1555| r1555_3(int &) = Load[i] : &:r1555_2, ~m? +# 1555| r1555_4(int) = Load[?] : &:r1555_3, ~m? +# 1555| mu1555_5(int) = Store[v] : &:r1555_1, r1555_4 +# 1556| r1556_1(int) = Constant[5] : +# 1556| r1556_2(glval) = VariableAddress[r] : +# 1556| r1556_3(int &) = Load[r] : &:r1556_2, ~m? +# 1556| mu1556_4(int) = Store[?] : &:r1556_3, r1556_1 +# 1557| r1557_1(int) = Constant[6] : +# 1557| r1557_2(glval) = VariableAddress[p] : +# 1557| r1557_3(int *&) = Load[p] : &:r1557_2, ~m? +# 1557| r1557_4(int *) = Load[?] : &:r1557_3, ~m? +# 1557| r1557_5(glval) = CopyValue : r1557_4 +# 1557| mu1557_6(int) = Store[?] : &:r1557_5, r1557_1 +# 1558| r1558_1(glval) = VariableAddress[rr] : +# 1558| r1558_2(glval) = VariableAddress[r] : +# 1558| r1558_3(int &) = Load[r] : &:r1558_2, ~m? +# 1558| r1558_4(int &) = CopyValue : r1558_3 +# 1558| mu1558_5(int &) = Store[rr] : &:r1558_1, r1558_4 +# 1559| r1559_1(glval) = VariableAddress[pr] : +# 1559| r1559_2(glval) = VariableAddress[r] : +# 1559| r1559_3(int &) = Load[r] : &:r1559_2, ~m? +# 1559| r1559_4(int *) = CopyValue : r1559_3 +# 1559| mu1559_5(int *) = Store[pr] : &:r1559_1, r1559_4 +# 1560| r1560_1(glval) = VariableAddress[w] : +# 1560| r1560_2(glval) = VariableAddress[r] : +# 1560| r1560_3(int &) = Load[r] : &:r1560_2, ~m? +# 1560| r1560_4(int) = Load[?] : &:r1560_3, ~m? +# 1560| mu1560_5(int) = Store[w] : &:r1560_1, r1560_4 +# 1564| r1564_1(glval) = VariableAddress[unnamed_local_variable] : +# 1564| r1564_2(glval) = VariableAddress[s] : +# 1564| r1564_3(StructuredBindingDataMemberStruct) = Load[s] : &:r1564_2, ~m? +# 1564| mu1564_4(StructuredBindingDataMemberStruct) = Store[unnamed_local_variable] : &:r1564_1, r1564_3 +# 1565| r1565_1(glval) = VariableAddress[i] : +# 1565| r1565_2(glval) = VariableAddress[unnamed_local_variable] : +# 1565| r1565_3(glval) = FieldAddress[i] : r1565_2 +# 1565| r1565_4(int &) = CopyValue : r1565_3 +# 1565| mu1565_5(int &) = Store[i] : &:r1565_1, r1565_4 +# 1566| r1566_1(glval) = VariableAddress[d] : +# 1566| r1566_2(glval) = VariableAddress[unnamed_local_variable] : +# 1566| r1566_3(glval) = FieldAddress[d] : r1566_2 +# 1566| r1566_4(double &) = CopyValue : r1566_3 +# 1566| mu1566_5(double &) = Store[d] : &:r1566_1, r1566_4 +# 1568| r1568_1(glval) = VariableAddress[r] : +# 1568| r1568_2(glval) = VariableAddress[unnamed_local_variable] : +# 1568| r1568_3(glval) = FieldAddress[r] : r1568_2 +# 1568| r1568_4(int &) = Load[?] : &:r1568_3, ~m? +# 1568| r1568_5(glval) = CopyValue : r1568_4 +# 1568| r1568_6(int &) = CopyValue : r1568_5 +# 1568| mu1568_7(int &) = Store[r] : &:r1568_1, r1568_6 +# 1569| r1569_1(glval) = VariableAddress[p] : +# 1569| r1569_2(glval) = VariableAddress[unnamed_local_variable] : +# 1569| r1569_3(glval) = FieldAddress[p] : r1569_2 +# 1569| r1569_4(int *&) = CopyValue : r1569_3 +# 1569| mu1569_5(int *&) = Store[p] : &:r1569_1, r1569_4 +# 1570| r1570_1(double) = Constant[4.0] : +# 1570| r1570_2(glval) = VariableAddress[d] : +# 1570| r1570_3(double &) = Load[d] : &:r1570_2, ~m? +# 1570| r1570_4(glval) = CopyValue : r1570_3 +# 1570| mu1570_5(double) = Store[?] : &:r1570_4, r1570_1 +# 1571| r1571_1(glval) = VariableAddress[rd] : +# 1571| r1571_2(glval) = VariableAddress[d] : +# 1571| r1571_3(double &) = Load[d] : &:r1571_2, ~m? +# 1571| r1571_4(glval) = CopyValue : r1571_3 +# 1571| r1571_5(double &) = CopyValue : r1571_4 +# 1571| mu1571_6(double &) = Store[rd] : &:r1571_1, r1571_5 +# 1572| r1572_1(glval) = VariableAddress[v] : +# 1572| r1572_2(glval) = VariableAddress[i] : +# 1572| r1572_3(int &) = Load[i] : &:r1572_2, ~m? +# 1572| r1572_4(int) = Load[?] : &:r1572_3, ~m? +# 1572| mu1572_5(int) = Store[v] : &:r1572_1, r1572_4 +# 1573| r1573_1(int) = Constant[5] : +# 1573| r1573_2(glval) = VariableAddress[r] : +# 1573| r1573_3(int &) = Load[r] : &:r1573_2, ~m? +# 1573| r1573_4(glval) = CopyValue : r1573_3 +# 1573| mu1573_5(int) = Store[?] : &:r1573_4, r1573_1 +# 1574| r1574_1(int) = Constant[6] : +# 1574| r1574_2(glval) = VariableAddress[p] : +# 1574| r1574_3(int *&) = Load[p] : &:r1574_2, ~m? +# 1574| r1574_4(int *) = Load[?] : &:r1574_3, ~m? +# 1574| r1574_5(glval) = CopyValue : r1574_4 +# 1574| mu1574_6(int) = Store[?] : &:r1574_5, r1574_1 +# 1575| r1575_1(glval) = VariableAddress[rr] : +# 1575| r1575_2(glval) = VariableAddress[r] : +# 1575| r1575_3(int &) = Load[r] : &:r1575_2, ~m? +# 1575| r1575_4(glval) = CopyValue : r1575_3 +# 1575| r1575_5(int &) = CopyValue : r1575_4 +# 1575| mu1575_6(int &) = Store[rr] : &:r1575_1, r1575_5 +# 1576| r1576_1(glval) = VariableAddress[pr] : +# 1576| r1576_2(glval) = VariableAddress[r] : +# 1576| r1576_3(int &) = Load[r] : &:r1576_2, ~m? +# 1576| r1576_4(glval) = CopyValue : r1576_3 +# 1576| r1576_5(int *) = CopyValue : r1576_4 +# 1576| mu1576_6(int *) = Store[pr] : &:r1576_1, r1576_5 +# 1577| r1577_1(glval) = VariableAddress[w] : +# 1577| r1577_2(glval) = VariableAddress[r] : +# 1577| r1577_3(int &) = Load[r] : &:r1577_2, ~m? +# 1577| r1577_4(int) = Load[?] : &:r1577_3, ~m? +# 1577| mu1577_5(int) = Store[w] : &:r1577_1, r1577_4 +# 1579| v1579_1(void) = NoOp : +# 1548| v1548_4(void) = ReturnVoid : +# 1548| v1548_5(void) = AliasedUse : ~m? +# 1548| v1548_6(void) = ExitFunction : -# 1541| void StructuredBindingTupleRefGet::StructuredBindingTupleRefGet() -# 1541| Block 0 -# 1541| v1541_1(void) = EnterFunction : -# 1541| mu1541_2(unknown) = AliasedDefinition : -# 1541| mu1541_3(unknown) = InitializeNonLocal : -# 1541| r1541_4(glval) = VariableAddress[#this] : -# 1541| mu1541_5(glval) = InitializeParameter[#this] : &:r1541_4 -# 1541| r1541_6(glval) = Load[#this] : &:r1541_4, ~m? -# 1541| mu1541_7(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1541_6 -# 1541| v1541_8(void) = NoOp : -# 1541| v1541_9(void) = ReturnIndirection[#this] : &:r1541_6, ~m? -# 1541| v1541_10(void) = ReturnVoid : -# 1541| v1541_11(void) = AliasedUse : ~m? -# 1541| v1541_12(void) = ExitFunction : +# 1588| void StructuredBindingTupleRefGet::StructuredBindingTupleRefGet() +# 1588| Block 0 +# 1588| v1588_1(void) = EnterFunction : +# 1588| mu1588_2(unknown) = AliasedDefinition : +# 1588| mu1588_3(unknown) = InitializeNonLocal : +# 1588| r1588_4(glval) = VariableAddress[#this] : +# 1588| mu1588_5(glval) = InitializeParameter[#this] : &:r1588_4 +# 1588| r1588_6(glval) = Load[#this] : &:r1588_4, ~m? +# 1588| mu1588_7(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1588_6 +# 1588| v1588_8(void) = NoOp : +# 1588| v1588_9(void) = ReturnIndirection[#this] : &:r1588_6, ~m? +# 1588| v1588_10(void) = ReturnVoid : +# 1588| v1588_11(void) = AliasedUse : ~m? +# 1588| v1588_12(void) = ExitFunction : -# 1541| void StructuredBindingTupleRefGet::StructuredBindingTupleRefGet(StructuredBindingTupleRefGet const&) -# 1541| Block 0 -# 1541| v1541_1(void) = EnterFunction : -# 1541| mu1541_2(unknown) = AliasedDefinition : -# 1541| mu1541_3(unknown) = InitializeNonLocal : -# 1541| r1541_4(glval) = VariableAddress[#this] : -# 1541| mu1541_5(glval) = InitializeParameter[#this] : &:r1541_4 -# 1541| r1541_6(glval) = Load[#this] : &:r1541_4, ~m? -# 1541| mu1541_7(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1541_6 +# 1588| void StructuredBindingTupleRefGet::StructuredBindingTupleRefGet(StructuredBindingTupleRefGet const&) +# 1588| Block 0 +# 1588| v1588_1(void) = EnterFunction : +# 1588| mu1588_2(unknown) = AliasedDefinition : +# 1588| mu1588_3(unknown) = InitializeNonLocal : +# 1588| r1588_4(glval) = VariableAddress[#this] : +# 1588| mu1588_5(glval) = InitializeParameter[#this] : &:r1588_4 +# 1588| r1588_6(glval) = Load[#this] : &:r1588_4, ~m? +# 1588| mu1588_7(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1588_6 #-----| r0_1(glval) = VariableAddress[(unnamed parameter 0)] : #-----| mu0_2(StructuredBindingTupleRefGet &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1 #-----| r0_3(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r0_1, ~m? #-----| mu0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3 -# 1541| r1541_8(glval) = FieldAddress[i] : mu1541_5 -# 1541| r1541_9(glval) = VariableAddress[(unnamed parameter 0)] : -# 1541| r1541_10(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r1541_9, ~m? -# 1541| r1541_11(glval) = CopyValue : r1541_10 -# 1541| r1541_12(glval) = FieldAddress[i] : r1541_11 -# 1541| r1541_13(int) = Load[?] : &:r1541_12, ~m? -# 1541| mu1541_14(int) = Store[?] : &:r1541_8, r1541_13 -# 1541| r1541_15(glval) = FieldAddress[d] : mu1541_5 -# 1541| r1541_16(glval) = VariableAddress[(unnamed parameter 0)] : -# 1541| r1541_17(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r1541_16, ~m? -# 1541| r1541_18(glval) = CopyValue : r1541_17 -# 1541| r1541_19(glval) = FieldAddress[d] : r1541_18 -# 1541| r1541_20(double) = Load[?] : &:r1541_19, ~m? -# 1541| mu1541_21(double) = Store[?] : &:r1541_15, r1541_20 -# 1541| r1541_22(glval) = FieldAddress[r] : mu1541_5 -# 1541| r1541_23(glval) = VariableAddress[(unnamed parameter 0)] : -# 1541| r1541_24(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r1541_23, ~m? -# 1541| r1541_25(glval) = CopyValue : r1541_24 -# 1541| r1541_26(glval) = FieldAddress[r] : r1541_25 -# 1541| r1541_27(int &) = Load[?] : &:r1541_26, ~m? -# 1541| mu1541_28(int &) = Store[?] : &:r1541_22, r1541_27 -# 1541| v1541_29(void) = NoOp : -# 1541| v1541_30(void) = ReturnIndirection[#this] : &:r1541_6, ~m? +# 1588| r1588_8(glval) = FieldAddress[i] : mu1588_5 +# 1588| r1588_9(glval) = VariableAddress[(unnamed parameter 0)] : +# 1588| r1588_10(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r1588_9, ~m? +# 1588| r1588_11(glval) = CopyValue : r1588_10 +# 1588| r1588_12(glval) = FieldAddress[i] : r1588_11 +# 1588| r1588_13(int) = Load[?] : &:r1588_12, ~m? +# 1588| mu1588_14(int) = Store[?] : &:r1588_8, r1588_13 +# 1588| r1588_15(glval) = FieldAddress[d] : mu1588_5 +# 1588| r1588_16(glval) = VariableAddress[(unnamed parameter 0)] : +# 1588| r1588_17(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r1588_16, ~m? +# 1588| r1588_18(glval) = CopyValue : r1588_17 +# 1588| r1588_19(glval) = FieldAddress[d] : r1588_18 +# 1588| r1588_20(double) = Load[?] : &:r1588_19, ~m? +# 1588| mu1588_21(double) = Store[?] : &:r1588_15, r1588_20 +# 1588| r1588_22(glval) = FieldAddress[r] : mu1588_5 +# 1588| r1588_23(glval) = VariableAddress[(unnamed parameter 0)] : +# 1588| r1588_24(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r1588_23, ~m? +# 1588| r1588_25(glval) = CopyValue : r1588_24 +# 1588| r1588_26(glval) = FieldAddress[r] : r1588_25 +# 1588| r1588_27(int &) = Load[?] : &:r1588_26, ~m? +# 1588| mu1588_28(int &) = Store[?] : &:r1588_22, r1588_27 +# 1588| v1588_29(void) = NoOp : +# 1588| v1588_30(void) = ReturnIndirection[#this] : &:r1588_6, ~m? #-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, ~m? -# 1541| v1541_31(void) = ReturnVoid : -# 1541| v1541_32(void) = AliasedUse : ~m? -# 1541| v1541_33(void) = ExitFunction : +# 1588| v1588_31(void) = ReturnVoid : +# 1588| v1588_32(void) = AliasedUse : ~m? +# 1588| v1588_33(void) = ExitFunction : -# 1569| std::tuple_element::type& StructuredBindingTupleRefGet::get() -# 1569| Block 0 -# 1569| v1569_1(void) = EnterFunction : -# 1569| mu1569_2(unknown) = AliasedDefinition : -# 1569| mu1569_3(unknown) = InitializeNonLocal : -# 1569| r1569_4(glval) = VariableAddress[#this] : -# 1569| mu1569_5(glval) = InitializeParameter[#this] : &:r1569_4 -# 1569| r1569_6(glval) = Load[#this] : &:r1569_4, ~m? -# 1569| mu1569_7(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1569_6 -# 1570| r1570_1(glval) = VariableAddress[#return] : -# 1570| r1570_2(glval) = VariableAddress[#this] : -# 1570| r1570_3(StructuredBindingTupleRefGet *) = Load[#this] : &:r1570_2, ~m? -# 1570| r1570_4(glval) = FieldAddress[i] : r1570_3 -#-----| r0_1(int &) = CopyValue : r1570_4 -#-----| mu0_2(int &) = Store[#return] : &:r1570_1, r0_1 -# 1569| v1569_8(void) = ReturnIndirection[#this] : &:r1569_6, ~m? -# 1569| r1569_9(glval) = VariableAddress[#return] : -# 1569| v1569_10(void) = ReturnValue : &:r1569_9, ~m? -# 1569| v1569_11(void) = AliasedUse : ~m? -# 1569| v1569_12(void) = ExitFunction : +# 1616| std::tuple_element::type& StructuredBindingTupleRefGet::get() +# 1616| Block 0 +# 1616| v1616_1(void) = EnterFunction : +# 1616| mu1616_2(unknown) = AliasedDefinition : +# 1616| mu1616_3(unknown) = InitializeNonLocal : +# 1616| r1616_4(glval) = VariableAddress[#this] : +# 1616| mu1616_5(glval) = InitializeParameter[#this] : &:r1616_4 +# 1616| r1616_6(glval) = Load[#this] : &:r1616_4, ~m? +# 1616| mu1616_7(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1616_6 +# 1617| r1617_1(glval) = VariableAddress[#return] : +# 1617| r1617_2(glval) = VariableAddress[#this] : +# 1617| r1617_3(StructuredBindingTupleRefGet *) = Load[#this] : &:r1617_2, ~m? +# 1617| r1617_4(glval) = FieldAddress[i] : r1617_3 +#-----| r0_1(int &) = CopyValue : r1617_4 +#-----| mu0_2(int &) = Store[#return] : &:r1617_1, r0_1 +# 1616| v1616_8(void) = ReturnIndirection[#this] : &:r1616_6, ~m? +# 1616| r1616_9(glval) = VariableAddress[#return] : +# 1616| v1616_10(void) = ReturnValue : &:r1616_9, ~m? +# 1616| v1616_11(void) = AliasedUse : ~m? +# 1616| v1616_12(void) = ExitFunction : -# 1573| std::tuple_element::type& StructuredBindingTupleRefGet::get() -# 1573| Block 0 -# 1573| v1573_1(void) = EnterFunction : -# 1573| mu1573_2(unknown) = AliasedDefinition : -# 1573| mu1573_3(unknown) = InitializeNonLocal : -# 1573| r1573_4(glval) = VariableAddress[#this] : -# 1573| mu1573_5(glval) = InitializeParameter[#this] : &:r1573_4 -# 1573| r1573_6(glval) = Load[#this] : &:r1573_4, ~m? -# 1573| mu1573_7(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1573_6 -# 1574| r1574_1(glval) = VariableAddress[#return] : -# 1574| r1574_2(glval) = VariableAddress[#this] : -# 1574| r1574_3(StructuredBindingTupleRefGet *) = Load[#this] : &:r1574_2, ~m? -# 1574| r1574_4(glval) = FieldAddress[d] : r1574_3 -#-----| r0_1(double &) = CopyValue : r1574_4 -#-----| mu0_2(double &) = Store[#return] : &:r1574_1, r0_1 -# 1573| v1573_8(void) = ReturnIndirection[#this] : &:r1573_6, ~m? -# 1573| r1573_9(glval) = VariableAddress[#return] : -# 1573| v1573_10(void) = ReturnValue : &:r1573_9, ~m? -# 1573| v1573_11(void) = AliasedUse : ~m? -# 1573| v1573_12(void) = ExitFunction : +# 1620| std::tuple_element::type& StructuredBindingTupleRefGet::get() +# 1620| Block 0 +# 1620| v1620_1(void) = EnterFunction : +# 1620| mu1620_2(unknown) = AliasedDefinition : +# 1620| mu1620_3(unknown) = InitializeNonLocal : +# 1620| r1620_4(glval) = VariableAddress[#this] : +# 1620| mu1620_5(glval) = InitializeParameter[#this] : &:r1620_4 +# 1620| r1620_6(glval) = Load[#this] : &:r1620_4, ~m? +# 1620| mu1620_7(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1620_6 +# 1621| r1621_1(glval) = VariableAddress[#return] : +# 1621| r1621_2(glval) = VariableAddress[#this] : +# 1621| r1621_3(StructuredBindingTupleRefGet *) = Load[#this] : &:r1621_2, ~m? +# 1621| r1621_4(glval) = FieldAddress[d] : r1621_3 +#-----| r0_1(double &) = CopyValue : r1621_4 +#-----| mu0_2(double &) = Store[#return] : &:r1621_1, r0_1 +# 1620| v1620_8(void) = ReturnIndirection[#this] : &:r1620_6, ~m? +# 1620| r1620_9(glval) = VariableAddress[#return] : +# 1620| v1620_10(void) = ReturnValue : &:r1620_9, ~m? +# 1620| v1620_11(void) = AliasedUse : ~m? +# 1620| v1620_12(void) = ExitFunction : -# 1577| std::tuple_element::type StructuredBindingTupleRefGet::get() -# 1577| Block 0 -# 1577| v1577_1(void) = EnterFunction : -# 1577| mu1577_2(unknown) = AliasedDefinition : -# 1577| mu1577_3(unknown) = InitializeNonLocal : -# 1577| r1577_4(glval) = VariableAddress[#this] : -# 1577| mu1577_5(glval) = InitializeParameter[#this] : &:r1577_4 -# 1577| r1577_6(glval) = Load[#this] : &:r1577_4, ~m? -# 1577| mu1577_7(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1577_6 -# 1578| r1578_1(glval) = VariableAddress[#return] : -# 1578| r1578_2(glval) = VariableAddress[#this] : -# 1578| r1578_3(StructuredBindingTupleRefGet *) = Load[#this] : &:r1578_2, ~m? -# 1578| r1578_4(glval) = FieldAddress[r] : r1578_3 -# 1578| r1578_5(int &) = Load[?] : &:r1578_4, ~m? -# 1578| r1578_6(glval) = CopyValue : r1578_5 -# 1578| r1578_7(int &) = CopyValue : r1578_6 -# 1578| mu1578_8(int &) = Store[#return] : &:r1578_1, r1578_7 -# 1577| v1577_8(void) = ReturnIndirection[#this] : &:r1577_6, ~m? -# 1577| r1577_9(glval) = VariableAddress[#return] : -# 1577| v1577_10(void) = ReturnValue : &:r1577_9, ~m? -# 1577| v1577_11(void) = AliasedUse : ~m? -# 1577| v1577_12(void) = ExitFunction : +# 1624| std::tuple_element::type StructuredBindingTupleRefGet::get() +# 1624| Block 0 +# 1624| v1624_1(void) = EnterFunction : +# 1624| mu1624_2(unknown) = AliasedDefinition : +# 1624| mu1624_3(unknown) = InitializeNonLocal : +# 1624| r1624_4(glval) = VariableAddress[#this] : +# 1624| mu1624_5(glval) = InitializeParameter[#this] : &:r1624_4 +# 1624| r1624_6(glval) = Load[#this] : &:r1624_4, ~m? +# 1624| mu1624_7(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1624_6 +# 1625| r1625_1(glval) = VariableAddress[#return] : +# 1625| r1625_2(glval) = VariableAddress[#this] : +# 1625| r1625_3(StructuredBindingTupleRefGet *) = Load[#this] : &:r1625_2, ~m? +# 1625| r1625_4(glval) = FieldAddress[r] : r1625_3 +# 1625| r1625_5(int &) = Load[?] : &:r1625_4, ~m? +# 1625| r1625_6(glval) = CopyValue : r1625_5 +# 1625| r1625_7(int &) = CopyValue : r1625_6 +# 1625| mu1625_8(int &) = Store[#return] : &:r1625_1, r1625_7 +# 1624| v1624_8(void) = ReturnIndirection[#this] : &:r1624_6, ~m? +# 1624| r1624_9(glval) = VariableAddress[#return] : +# 1624| v1624_10(void) = ReturnValue : &:r1624_9, ~m? +# 1624| v1624_11(void) = AliasedUse : ~m? +# 1624| v1624_12(void) = ExitFunction : -# 1581| void tuple_structured_binding_ref_get() -# 1581| Block 0 -# 1581| v1581_1(void) = EnterFunction : -# 1581| mu1581_2(unknown) = AliasedDefinition : -# 1581| mu1581_3(unknown) = InitializeNonLocal : -# 1582| r1582_1(glval) = VariableAddress[t] : -# 1582| mu1582_2(StructuredBindingTupleRefGet) = Uninitialized[t] : &:r1582_1 -# 1582| r1582_3(glval) = FunctionAddress[StructuredBindingTupleRefGet] : -# 1582| v1582_4(void) = Call[StructuredBindingTupleRefGet] : func:r1582_3, this:r1582_1 -# 1582| mu1582_5(unknown) = ^CallSideEffect : ~m? -# 1582| mu1582_6(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1582_1 -# 1585| r1585_1(glval) = VariableAddress[(unnamed local variable)] : -# 1585| r1585_2(glval) = VariableAddress[t] : -# 1585| r1585_3(StructuredBindingTupleRefGet) = Load[t] : &:r1585_2, ~m? -# 1585| mu1585_4(StructuredBindingTupleRefGet) = Store[(unnamed local variable)] : &:r1585_1, r1585_3 -# 1585| r1585_5(glval) = VariableAddress[i] : -# 1585| r1585_6(glval) = VariableAddress[(unnamed local variable)] : -# 1585| r1585_7(glval) = FunctionAddress[get] : -# 1585| r1585_8(int &) = Call[get] : func:r1585_7, this:r1585_6 -# 1585| mu1585_9(unknown) = ^CallSideEffect : ~m? -# 1585| v1585_10(void) = ^IndirectReadSideEffect[-1] : &:r1585_6, ~m? -# 1585| mu1585_11(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1585_6 -# 1585| r1585_12(glval) = CopyValue : r1585_8 -# 1585| r1585_13(int &) = CopyValue : r1585_12 -# 1585| mu1585_14(int &) = Store[i] : &:r1585_5, r1585_13 -# 1585| r1585_15(glval) = VariableAddress[d] : -# 1585| r1585_16(glval) = VariableAddress[(unnamed local variable)] : -# 1585| r1585_17(glval) = FunctionAddress[get] : -# 1585| r1585_18(double &) = Call[get] : func:r1585_17, this:r1585_16 -# 1585| mu1585_19(unknown) = ^CallSideEffect : ~m? -# 1585| v1585_20(void) = ^IndirectReadSideEffect[-1] : &:r1585_16, ~m? -# 1585| mu1585_21(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1585_16 -# 1585| r1585_22(glval) = CopyValue : r1585_18 -# 1585| r1585_23(double &) = CopyValue : r1585_22 -# 1585| mu1585_24(double &) = Store[d] : &:r1585_15, r1585_23 -# 1585| r1585_25(glval) = VariableAddress[r] : -# 1585| r1585_26(glval) = VariableAddress[(unnamed local variable)] : -# 1585| r1585_27(glval) = FunctionAddress[get] : -# 1585| r1585_28(int &) = Call[get] : func:r1585_27, this:r1585_26 -# 1585| mu1585_29(unknown) = ^CallSideEffect : ~m? -# 1585| v1585_30(void) = ^IndirectReadSideEffect[-1] : &:r1585_26, ~m? -# 1585| mu1585_31(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1585_26 -# 1585| r1585_32(glval) = CopyValue : r1585_28 -# 1585| r1585_33(int &) = CopyValue : r1585_32 -# 1585| mu1585_34(int &) = Store[r] : &:r1585_25, r1585_33 -# 1586| r1586_1(double) = Constant[4.0] : -# 1586| r1586_2(glval) = VariableAddress[d] : -# 1586| r1586_3(double &) = Load[d] : &:r1586_2, ~m? -# 1586| r1586_4(glval) = CopyValue : r1586_3 -# 1586| mu1586_5(double) = Store[?] : &:r1586_4, r1586_1 -# 1587| r1587_1(glval) = VariableAddress[rd] : -# 1587| r1587_2(glval) = VariableAddress[d] : -# 1587| r1587_3(double &) = Load[d] : &:r1587_2, ~m? -# 1587| r1587_4(glval) = CopyValue : r1587_3 -# 1587| r1587_5(double &) = CopyValue : r1587_4 -# 1587| mu1587_6(double &) = Store[rd] : &:r1587_1, r1587_5 -# 1588| r1588_1(glval) = VariableAddress[v] : -# 1588| r1588_2(glval) = VariableAddress[i] : -# 1588| r1588_3(int &) = Load[i] : &:r1588_2, ~m? -# 1588| r1588_4(int) = Load[?] : &:r1588_3, ~m? -# 1588| mu1588_5(int) = Store[v] : &:r1588_1, r1588_4 -# 1589| r1589_1(int) = Constant[5] : -# 1589| r1589_2(glval) = VariableAddress[r] : -# 1589| r1589_3(int &) = Load[r] : &:r1589_2, ~m? -# 1589| r1589_4(glval) = CopyValue : r1589_3 -# 1589| mu1589_5(int) = Store[?] : &:r1589_4, r1589_1 -# 1590| r1590_1(glval) = VariableAddress[rr] : -# 1590| r1590_2(glval) = VariableAddress[r] : -# 1590| r1590_3(int &) = Load[r] : &:r1590_2, ~m? -# 1590| r1590_4(glval) = CopyValue : r1590_3 -# 1590| r1590_5(int &) = CopyValue : r1590_4 -# 1590| mu1590_6(int &) = Store[rr] : &:r1590_1, r1590_5 -# 1591| r1591_1(glval) = VariableAddress[w] : -# 1591| r1591_2(glval) = VariableAddress[r] : -# 1591| r1591_3(int &) = Load[r] : &:r1591_2, ~m? -# 1591| r1591_4(int) = Load[?] : &:r1591_3, ~m? -# 1591| mu1591_5(int) = Store[w] : &:r1591_1, r1591_4 -# 1595| r1595_1(glval) = VariableAddress[unnamed_local_variable] : -# 1595| r1595_2(glval) = VariableAddress[t] : -# 1595| r1595_3(StructuredBindingTupleRefGet) = Load[t] : &:r1595_2, ~m? -# 1595| mu1595_4(StructuredBindingTupleRefGet) = Store[unnamed_local_variable] : &:r1595_1, r1595_3 -# 1596| r1596_1(glval) = VariableAddress[i] : -# 1596| r1596_2(glval) = VariableAddress[unnamed_local_variable] : -# 1596| r1596_3(glval) = FunctionAddress[get] : -# 1596| r1596_4(int &) = Call[get] : func:r1596_3, this:r1596_2 -# 1596| mu1596_5(unknown) = ^CallSideEffect : ~m? -# 1596| v1596_6(void) = ^IndirectReadSideEffect[-1] : &:r1596_2, ~m? -# 1596| mu1596_7(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1596_2 -# 1596| r1596_8(glval) = CopyValue : r1596_4 -# 1596| r1596_9(int &) = CopyValue : r1596_8 -# 1596| mu1596_10(int &) = Store[i] : &:r1596_1, r1596_9 -# 1597| r1597_1(glval) = VariableAddress[d] : -# 1597| r1597_2(glval) = VariableAddress[unnamed_local_variable] : -# 1597| r1597_3(glval) = FunctionAddress[get] : -# 1597| r1597_4(double &) = Call[get] : func:r1597_3, this:r1597_2 -# 1597| mu1597_5(unknown) = ^CallSideEffect : ~m? -# 1597| v1597_6(void) = ^IndirectReadSideEffect[-1] : &:r1597_2, ~m? -# 1597| mu1597_7(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1597_2 -# 1597| r1597_8(glval) = CopyValue : r1597_4 -# 1597| r1597_9(double &) = CopyValue : r1597_8 -# 1597| mu1597_10(double &) = Store[d] : &:r1597_1, r1597_9 -# 1598| r1598_1(glval) = VariableAddress[r] : -# 1598| r1598_2(glval) = VariableAddress[unnamed_local_variable] : -# 1598| r1598_3(glval) = FunctionAddress[get] : -# 1598| r1598_4(int &) = Call[get] : func:r1598_3, this:r1598_2 -# 1598| mu1598_5(unknown) = ^CallSideEffect : ~m? -# 1598| v1598_6(void) = ^IndirectReadSideEffect[-1] : &:r1598_2, ~m? -# 1598| mu1598_7(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1598_2 -# 1598| r1598_8(glval) = CopyValue : r1598_4 -# 1598| r1598_9(int &) = CopyValue : r1598_8 -# 1598| mu1598_10(int &) = Store[r] : &:r1598_1, r1598_9 -# 1599| r1599_1(double) = Constant[4.0] : -# 1599| r1599_2(glval) = VariableAddress[d] : -# 1599| r1599_3(double &) = Load[d] : &:r1599_2, ~m? -# 1599| r1599_4(glval) = CopyValue : r1599_3 -# 1599| mu1599_5(double) = Store[?] : &:r1599_4, r1599_1 -# 1600| r1600_1(glval) = VariableAddress[rd] : -# 1600| r1600_2(glval) = VariableAddress[d] : -# 1600| r1600_3(double &) = Load[d] : &:r1600_2, ~m? -# 1600| r1600_4(glval) = CopyValue : r1600_3 -# 1600| r1600_5(double &) = CopyValue : r1600_4 -# 1600| mu1600_6(double &) = Store[rd] : &:r1600_1, r1600_5 -# 1601| r1601_1(glval) = VariableAddress[v] : -# 1601| r1601_2(glval) = VariableAddress[i] : -# 1601| r1601_3(int &) = Load[i] : &:r1601_2, ~m? -# 1601| r1601_4(int) = Load[?] : &:r1601_3, ~m? -# 1601| mu1601_5(int) = Store[v] : &:r1601_1, r1601_4 -# 1602| r1602_1(int) = Constant[5] : -# 1602| r1602_2(glval) = VariableAddress[r] : -# 1602| r1602_3(int &) = Load[r] : &:r1602_2, ~m? -# 1602| r1602_4(glval) = CopyValue : r1602_3 -# 1602| mu1602_5(int) = Store[?] : &:r1602_4, r1602_1 -# 1603| r1603_1(glval) = VariableAddress[rr] : -# 1603| r1603_2(glval) = VariableAddress[r] : -# 1603| r1603_3(int &) = Load[r] : &:r1603_2, ~m? -# 1603| r1603_4(glval) = CopyValue : r1603_3 -# 1603| r1603_5(int &) = CopyValue : r1603_4 -# 1603| mu1603_6(int &) = Store[rr] : &:r1603_1, r1603_5 -# 1604| r1604_1(glval) = VariableAddress[w] : -# 1604| r1604_2(glval) = VariableAddress[r] : -# 1604| r1604_3(int &) = Load[r] : &:r1604_2, ~m? -# 1604| r1604_4(int) = Load[?] : &:r1604_3, ~m? -# 1604| mu1604_5(int) = Store[w] : &:r1604_1, r1604_4 -# 1606| v1606_1(void) = NoOp : -# 1581| v1581_4(void) = ReturnVoid : -# 1581| v1581_5(void) = AliasedUse : ~m? -# 1581| v1581_6(void) = ExitFunction : +# 1628| void tuple_structured_binding_ref_get() +# 1628| Block 0 +# 1628| v1628_1(void) = EnterFunction : +# 1628| mu1628_2(unknown) = AliasedDefinition : +# 1628| mu1628_3(unknown) = InitializeNonLocal : +# 1629| r1629_1(glval) = VariableAddress[t] : +# 1629| mu1629_2(StructuredBindingTupleRefGet) = Uninitialized[t] : &:r1629_1 +# 1629| r1629_3(glval) = FunctionAddress[StructuredBindingTupleRefGet] : +# 1629| v1629_4(void) = Call[StructuredBindingTupleRefGet] : func:r1629_3, this:r1629_1 +# 1629| mu1629_5(unknown) = ^CallSideEffect : ~m? +# 1629| mu1629_6(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1629_1 +# 1632| r1632_1(glval) = VariableAddress[(unnamed local variable)] : +# 1632| r1632_2(glval) = VariableAddress[t] : +# 1632| r1632_3(StructuredBindingTupleRefGet) = Load[t] : &:r1632_2, ~m? +# 1632| mu1632_4(StructuredBindingTupleRefGet) = Store[(unnamed local variable)] : &:r1632_1, r1632_3 +# 1632| r1632_5(glval) = VariableAddress[i] : +# 1632| r1632_6(glval) = VariableAddress[(unnamed local variable)] : +# 1632| r1632_7(glval) = FunctionAddress[get] : +# 1632| r1632_8(int &) = Call[get] : func:r1632_7, this:r1632_6 +# 1632| mu1632_9(unknown) = ^CallSideEffect : ~m? +# 1632| v1632_10(void) = ^IndirectReadSideEffect[-1] : &:r1632_6, ~m? +# 1632| mu1632_11(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1632_6 +# 1632| r1632_12(glval) = CopyValue : r1632_8 +# 1632| r1632_13(int &) = CopyValue : r1632_12 +# 1632| mu1632_14(int &) = Store[i] : &:r1632_5, r1632_13 +# 1632| r1632_15(glval) = VariableAddress[d] : +# 1632| r1632_16(glval) = VariableAddress[(unnamed local variable)] : +# 1632| r1632_17(glval) = FunctionAddress[get] : +# 1632| r1632_18(double &) = Call[get] : func:r1632_17, this:r1632_16 +# 1632| mu1632_19(unknown) = ^CallSideEffect : ~m? +# 1632| v1632_20(void) = ^IndirectReadSideEffect[-1] : &:r1632_16, ~m? +# 1632| mu1632_21(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1632_16 +# 1632| r1632_22(glval) = CopyValue : r1632_18 +# 1632| r1632_23(double &) = CopyValue : r1632_22 +# 1632| mu1632_24(double &) = Store[d] : &:r1632_15, r1632_23 +# 1632| r1632_25(glval) = VariableAddress[r] : +# 1632| r1632_26(glval) = VariableAddress[(unnamed local variable)] : +# 1632| r1632_27(glval) = FunctionAddress[get] : +# 1632| r1632_28(int &) = Call[get] : func:r1632_27, this:r1632_26 +# 1632| mu1632_29(unknown) = ^CallSideEffect : ~m? +# 1632| v1632_30(void) = ^IndirectReadSideEffect[-1] : &:r1632_26, ~m? +# 1632| mu1632_31(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1632_26 +# 1632| r1632_32(glval) = CopyValue : r1632_28 +# 1632| r1632_33(int &) = CopyValue : r1632_32 +# 1632| mu1632_34(int &) = Store[r] : &:r1632_25, r1632_33 +# 1633| r1633_1(double) = Constant[4.0] : +# 1633| r1633_2(glval) = VariableAddress[d] : +# 1633| r1633_3(double &) = Load[d] : &:r1633_2, ~m? +# 1633| r1633_4(glval) = CopyValue : r1633_3 +# 1633| mu1633_5(double) = Store[?] : &:r1633_4, r1633_1 +# 1634| r1634_1(glval) = VariableAddress[rd] : +# 1634| r1634_2(glval) = VariableAddress[d] : +# 1634| r1634_3(double &) = Load[d] : &:r1634_2, ~m? +# 1634| r1634_4(glval) = CopyValue : r1634_3 +# 1634| r1634_5(double &) = CopyValue : r1634_4 +# 1634| mu1634_6(double &) = Store[rd] : &:r1634_1, r1634_5 +# 1635| r1635_1(glval) = VariableAddress[v] : +# 1635| r1635_2(glval) = VariableAddress[i] : +# 1635| r1635_3(int &) = Load[i] : &:r1635_2, ~m? +# 1635| r1635_4(int) = Load[?] : &:r1635_3, ~m? +# 1635| mu1635_5(int) = Store[v] : &:r1635_1, r1635_4 +# 1636| r1636_1(int) = Constant[5] : +# 1636| r1636_2(glval) = VariableAddress[r] : +# 1636| r1636_3(int &) = Load[r] : &:r1636_2, ~m? +# 1636| r1636_4(glval) = CopyValue : r1636_3 +# 1636| mu1636_5(int) = Store[?] : &:r1636_4, r1636_1 +# 1637| r1637_1(glval) = VariableAddress[rr] : +# 1637| r1637_2(glval) = VariableAddress[r] : +# 1637| r1637_3(int &) = Load[r] : &:r1637_2, ~m? +# 1637| r1637_4(glval) = CopyValue : r1637_3 +# 1637| r1637_5(int &) = CopyValue : r1637_4 +# 1637| mu1637_6(int &) = Store[rr] : &:r1637_1, r1637_5 +# 1638| r1638_1(glval) = VariableAddress[w] : +# 1638| r1638_2(glval) = VariableAddress[r] : +# 1638| r1638_3(int &) = Load[r] : &:r1638_2, ~m? +# 1638| r1638_4(int) = Load[?] : &:r1638_3, ~m? +# 1638| mu1638_5(int) = Store[w] : &:r1638_1, r1638_4 +# 1642| r1642_1(glval) = VariableAddress[unnamed_local_variable] : +# 1642| r1642_2(glval) = VariableAddress[t] : +# 1642| r1642_3(StructuredBindingTupleRefGet) = Load[t] : &:r1642_2, ~m? +# 1642| mu1642_4(StructuredBindingTupleRefGet) = Store[unnamed_local_variable] : &:r1642_1, r1642_3 +# 1643| r1643_1(glval) = VariableAddress[i] : +# 1643| r1643_2(glval) = VariableAddress[unnamed_local_variable] : +# 1643| r1643_3(glval) = FunctionAddress[get] : +# 1643| r1643_4(int &) = Call[get] : func:r1643_3, this:r1643_2 +# 1643| mu1643_5(unknown) = ^CallSideEffect : ~m? +# 1643| v1643_6(void) = ^IndirectReadSideEffect[-1] : &:r1643_2, ~m? +# 1643| mu1643_7(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1643_2 +# 1643| r1643_8(glval) = CopyValue : r1643_4 +# 1643| r1643_9(int &) = CopyValue : r1643_8 +# 1643| mu1643_10(int &) = Store[i] : &:r1643_1, r1643_9 +# 1644| r1644_1(glval) = VariableAddress[d] : +# 1644| r1644_2(glval) = VariableAddress[unnamed_local_variable] : +# 1644| r1644_3(glval) = FunctionAddress[get] : +# 1644| r1644_4(double &) = Call[get] : func:r1644_3, this:r1644_2 +# 1644| mu1644_5(unknown) = ^CallSideEffect : ~m? +# 1644| v1644_6(void) = ^IndirectReadSideEffect[-1] : &:r1644_2, ~m? +# 1644| mu1644_7(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1644_2 +# 1644| r1644_8(glval) = CopyValue : r1644_4 +# 1644| r1644_9(double &) = CopyValue : r1644_8 +# 1644| mu1644_10(double &) = Store[d] : &:r1644_1, r1644_9 +# 1645| r1645_1(glval) = VariableAddress[r] : +# 1645| r1645_2(glval) = VariableAddress[unnamed_local_variable] : +# 1645| r1645_3(glval) = FunctionAddress[get] : +# 1645| r1645_4(int &) = Call[get] : func:r1645_3, this:r1645_2 +# 1645| mu1645_5(unknown) = ^CallSideEffect : ~m? +# 1645| v1645_6(void) = ^IndirectReadSideEffect[-1] : &:r1645_2, ~m? +# 1645| mu1645_7(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1645_2 +# 1645| r1645_8(glval) = CopyValue : r1645_4 +# 1645| r1645_9(int &) = CopyValue : r1645_8 +# 1645| mu1645_10(int &) = Store[r] : &:r1645_1, r1645_9 +# 1646| r1646_1(double) = Constant[4.0] : +# 1646| r1646_2(glval) = VariableAddress[d] : +# 1646| r1646_3(double &) = Load[d] : &:r1646_2, ~m? +# 1646| r1646_4(glval) = CopyValue : r1646_3 +# 1646| mu1646_5(double) = Store[?] : &:r1646_4, r1646_1 +# 1647| r1647_1(glval) = VariableAddress[rd] : +# 1647| r1647_2(glval) = VariableAddress[d] : +# 1647| r1647_3(double &) = Load[d] : &:r1647_2, ~m? +# 1647| r1647_4(glval) = CopyValue : r1647_3 +# 1647| r1647_5(double &) = CopyValue : r1647_4 +# 1647| mu1647_6(double &) = Store[rd] : &:r1647_1, r1647_5 +# 1648| r1648_1(glval) = VariableAddress[v] : +# 1648| r1648_2(glval) = VariableAddress[i] : +# 1648| r1648_3(int &) = Load[i] : &:r1648_2, ~m? +# 1648| r1648_4(int) = Load[?] : &:r1648_3, ~m? +# 1648| mu1648_5(int) = Store[v] : &:r1648_1, r1648_4 +# 1649| r1649_1(int) = Constant[5] : +# 1649| r1649_2(glval) = VariableAddress[r] : +# 1649| r1649_3(int &) = Load[r] : &:r1649_2, ~m? +# 1649| r1649_4(glval) = CopyValue : r1649_3 +# 1649| mu1649_5(int) = Store[?] : &:r1649_4, r1649_1 +# 1650| r1650_1(glval) = VariableAddress[rr] : +# 1650| r1650_2(glval) = VariableAddress[r] : +# 1650| r1650_3(int &) = Load[r] : &:r1650_2, ~m? +# 1650| r1650_4(glval) = CopyValue : r1650_3 +# 1650| r1650_5(int &) = CopyValue : r1650_4 +# 1650| mu1650_6(int &) = Store[rr] : &:r1650_1, r1650_5 +# 1651| r1651_1(glval) = VariableAddress[w] : +# 1651| r1651_2(glval) = VariableAddress[r] : +# 1651| r1651_3(int &) = Load[r] : &:r1651_2, ~m? +# 1651| r1651_4(int) = Load[?] : &:r1651_3, ~m? +# 1651| mu1651_5(int) = Store[w] : &:r1651_1, r1651_4 +# 1653| v1653_1(void) = NoOp : +# 1628| v1628_4(void) = ReturnVoid : +# 1628| v1628_5(void) = AliasedUse : ~m? +# 1628| v1628_6(void) = ExitFunction : -# 1608| void StructuredBindingTupleNoRefGet::StructuredBindingTupleNoRefGet() -# 1608| Block 0 -# 1608| v1608_1(void) = EnterFunction : -# 1608| mu1608_2(unknown) = AliasedDefinition : -# 1608| mu1608_3(unknown) = InitializeNonLocal : -# 1608| r1608_4(glval) = VariableAddress[#this] : -# 1608| mu1608_5(glval) = InitializeParameter[#this] : &:r1608_4 -# 1608| r1608_6(glval) = Load[#this] : &:r1608_4, ~m? -# 1608| mu1608_7(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1608_6 -# 1608| v1608_8(void) = NoOp : -# 1608| v1608_9(void) = ReturnIndirection[#this] : &:r1608_6, ~m? -# 1608| v1608_10(void) = ReturnVoid : -# 1608| v1608_11(void) = AliasedUse : ~m? -# 1608| v1608_12(void) = ExitFunction : +# 1655| void StructuredBindingTupleNoRefGet::StructuredBindingTupleNoRefGet() +# 1655| Block 0 +# 1655| v1655_1(void) = EnterFunction : +# 1655| mu1655_2(unknown) = AliasedDefinition : +# 1655| mu1655_3(unknown) = InitializeNonLocal : +# 1655| r1655_4(glval) = VariableAddress[#this] : +# 1655| mu1655_5(glval) = InitializeParameter[#this] : &:r1655_4 +# 1655| r1655_6(glval) = Load[#this] : &:r1655_4, ~m? +# 1655| mu1655_7(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1655_6 +# 1655| v1655_8(void) = NoOp : +# 1655| v1655_9(void) = ReturnIndirection[#this] : &:r1655_6, ~m? +# 1655| v1655_10(void) = ReturnVoid : +# 1655| v1655_11(void) = AliasedUse : ~m? +# 1655| v1655_12(void) = ExitFunction : -# 1635| std::tuple_element::type StructuredBindingTupleNoRefGet::get() -# 1635| Block 0 -# 1635| v1635_1(void) = EnterFunction : -# 1635| mu1635_2(unknown) = AliasedDefinition : -# 1635| mu1635_3(unknown) = InitializeNonLocal : -# 1635| r1635_4(glval) = VariableAddress[#this] : -# 1635| mu1635_5(glval) = InitializeParameter[#this] : &:r1635_4 -# 1635| r1635_6(glval) = Load[#this] : &:r1635_4, ~m? -# 1635| mu1635_7(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1635_6 -# 1636| r1636_1(glval) = VariableAddress[#return] : -# 1636| r1636_2(glval) = VariableAddress[#this] : -# 1636| r1636_3(StructuredBindingTupleNoRefGet *) = Load[#this] : &:r1636_2, ~m? -# 1636| r1636_4(glval) = FieldAddress[i] : r1636_3 -# 1636| r1636_5(int) = Load[?] : &:r1636_4, ~m? -# 1636| mu1636_6(int) = Store[#return] : &:r1636_1, r1636_5 -# 1635| v1635_8(void) = ReturnIndirection[#this] : &:r1635_6, ~m? -# 1635| r1635_9(glval) = VariableAddress[#return] : -# 1635| v1635_10(void) = ReturnValue : &:r1635_9, ~m? -# 1635| v1635_11(void) = AliasedUse : ~m? -# 1635| v1635_12(void) = ExitFunction : +# 1682| std::tuple_element::type StructuredBindingTupleNoRefGet::get() +# 1682| Block 0 +# 1682| v1682_1(void) = EnterFunction : +# 1682| mu1682_2(unknown) = AliasedDefinition : +# 1682| mu1682_3(unknown) = InitializeNonLocal : +# 1682| r1682_4(glval) = VariableAddress[#this] : +# 1682| mu1682_5(glval) = InitializeParameter[#this] : &:r1682_4 +# 1682| r1682_6(glval) = Load[#this] : &:r1682_4, ~m? +# 1682| mu1682_7(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1682_6 +# 1683| r1683_1(glval) = VariableAddress[#return] : +# 1683| r1683_2(glval) = VariableAddress[#this] : +# 1683| r1683_3(StructuredBindingTupleNoRefGet *) = Load[#this] : &:r1683_2, ~m? +# 1683| r1683_4(glval) = FieldAddress[i] : r1683_3 +# 1683| r1683_5(int) = Load[?] : &:r1683_4, ~m? +# 1683| mu1683_6(int) = Store[#return] : &:r1683_1, r1683_5 +# 1682| v1682_8(void) = ReturnIndirection[#this] : &:r1682_6, ~m? +# 1682| r1682_9(glval) = VariableAddress[#return] : +# 1682| v1682_10(void) = ReturnValue : &:r1682_9, ~m? +# 1682| v1682_11(void) = AliasedUse : ~m? +# 1682| v1682_12(void) = ExitFunction : -# 1639| std::tuple_element::type StructuredBindingTupleNoRefGet::get() -# 1639| Block 0 -# 1639| v1639_1(void) = EnterFunction : -# 1639| mu1639_2(unknown) = AliasedDefinition : -# 1639| mu1639_3(unknown) = InitializeNonLocal : -# 1639| r1639_4(glval) = VariableAddress[#this] : -# 1639| mu1639_5(glval) = InitializeParameter[#this] : &:r1639_4 -# 1639| r1639_6(glval) = Load[#this] : &:r1639_4, ~m? -# 1639| mu1639_7(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1639_6 -# 1640| r1640_1(glval) = VariableAddress[#return] : -# 1640| r1640_2(glval) = VariableAddress[#this] : -# 1640| r1640_3(StructuredBindingTupleNoRefGet *) = Load[#this] : &:r1640_2, ~m? -# 1640| r1640_4(glval) = FieldAddress[r] : r1640_3 -# 1640| r1640_5(int &) = Load[?] : &:r1640_4, ~m? -# 1640| r1640_6(glval) = CopyValue : r1640_5 -# 1640| r1640_7(int &) = CopyValue : r1640_6 -# 1640| mu1640_8(int &) = Store[#return] : &:r1640_1, r1640_7 -# 1639| v1639_8(void) = ReturnIndirection[#this] : &:r1639_6, ~m? -# 1639| r1639_9(glval) = VariableAddress[#return] : -# 1639| v1639_10(void) = ReturnValue : &:r1639_9, ~m? -# 1639| v1639_11(void) = AliasedUse : ~m? -# 1639| v1639_12(void) = ExitFunction : +# 1686| std::tuple_element::type StructuredBindingTupleNoRefGet::get() +# 1686| Block 0 +# 1686| v1686_1(void) = EnterFunction : +# 1686| mu1686_2(unknown) = AliasedDefinition : +# 1686| mu1686_3(unknown) = InitializeNonLocal : +# 1686| r1686_4(glval) = VariableAddress[#this] : +# 1686| mu1686_5(glval) = InitializeParameter[#this] : &:r1686_4 +# 1686| r1686_6(glval) = Load[#this] : &:r1686_4, ~m? +# 1686| mu1686_7(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1686_6 +# 1687| r1687_1(glval) = VariableAddress[#return] : +# 1687| r1687_2(glval) = VariableAddress[#this] : +# 1687| r1687_3(StructuredBindingTupleNoRefGet *) = Load[#this] : &:r1687_2, ~m? +# 1687| r1687_4(glval) = FieldAddress[r] : r1687_3 +# 1687| r1687_5(int &) = Load[?] : &:r1687_4, ~m? +# 1687| r1687_6(glval) = CopyValue : r1687_5 +# 1687| r1687_7(int &) = CopyValue : r1687_6 +# 1687| mu1687_8(int &) = Store[#return] : &:r1687_1, r1687_7 +# 1686| v1686_8(void) = ReturnIndirection[#this] : &:r1686_6, ~m? +# 1686| r1686_9(glval) = VariableAddress[#return] : +# 1686| v1686_10(void) = ReturnValue : &:r1686_9, ~m? +# 1686| v1686_11(void) = AliasedUse : ~m? +# 1686| v1686_12(void) = ExitFunction : -# 1643| std::tuple_element::type StructuredBindingTupleNoRefGet::get() -# 1643| Block 0 -# 1643| v1643_1(void) = EnterFunction : -# 1643| mu1643_2(unknown) = AliasedDefinition : -# 1643| mu1643_3(unknown) = InitializeNonLocal : -# 1643| r1643_4(glval) = VariableAddress[#this] : -# 1643| mu1643_5(glval) = InitializeParameter[#this] : &:r1643_4 -# 1643| r1643_6(glval) = Load[#this] : &:r1643_4, ~m? -# 1643| mu1643_7(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1643_6 -# 1644| r1644_1(glval) = VariableAddress[#return] : -# 1644| r1644_2(glval) = VariableAddress[#temp1644:12] : -# 1644| r1644_3(int) = Constant[5] : -# 1644| mu1644_4(int) = Store[#temp1644:12] : &:r1644_2, r1644_3 -# 1644| r1644_5(int &) = CopyValue : r1644_2 -# 1644| mu1644_6(int &&) = Store[#return] : &:r1644_1, r1644_5 -# 1643| v1643_8(void) = ReturnIndirection[#this] : &:r1643_6, ~m? -# 1643| r1643_9(glval) = VariableAddress[#return] : -# 1643| v1643_10(void) = ReturnValue : &:r1643_9, ~m? -# 1643| v1643_11(void) = AliasedUse : ~m? -# 1643| v1643_12(void) = ExitFunction : +# 1690| std::tuple_element::type StructuredBindingTupleNoRefGet::get() +# 1690| Block 0 +# 1690| v1690_1(void) = EnterFunction : +# 1690| mu1690_2(unknown) = AliasedDefinition : +# 1690| mu1690_3(unknown) = InitializeNonLocal : +# 1690| r1690_4(glval) = VariableAddress[#this] : +# 1690| mu1690_5(glval) = InitializeParameter[#this] : &:r1690_4 +# 1690| r1690_6(glval) = Load[#this] : &:r1690_4, ~m? +# 1690| mu1690_7(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1690_6 +# 1691| r1691_1(glval) = VariableAddress[#return] : +# 1691| r1691_2(glval) = VariableAddress[#temp1691:12] : +# 1691| r1691_3(int) = Constant[5] : +# 1691| mu1691_4(int) = Store[#temp1691:12] : &:r1691_2, r1691_3 +# 1691| r1691_5(int &) = CopyValue : r1691_2 +# 1691| mu1691_6(int &&) = Store[#return] : &:r1691_1, r1691_5 +# 1690| v1690_8(void) = ReturnIndirection[#this] : &:r1690_6, ~m? +# 1690| r1690_9(glval) = VariableAddress[#return] : +# 1690| v1690_10(void) = ReturnValue : &:r1690_9, ~m? +# 1690| v1690_11(void) = AliasedUse : ~m? +# 1690| v1690_12(void) = ExitFunction : -# 1647| void tuple_structured_binding_no_ref_get() -# 1647| Block 0 -# 1647| v1647_1(void) = EnterFunction : -# 1647| mu1647_2(unknown) = AliasedDefinition : -# 1647| mu1647_3(unknown) = InitializeNonLocal : -# 1648| r1648_1(glval) = VariableAddress[t] : -# 1648| mu1648_2(StructuredBindingTupleNoRefGet) = Uninitialized[t] : &:r1648_1 -# 1648| r1648_3(glval) = FunctionAddress[StructuredBindingTupleNoRefGet] : -# 1648| v1648_4(void) = Call[StructuredBindingTupleNoRefGet] : func:r1648_3, this:r1648_1 -# 1648| mu1648_5(unknown) = ^CallSideEffect : ~m? -# 1648| mu1648_6(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1648_1 -# 1651| r1651_1(glval) = VariableAddress[(unnamed local variable)] : -# 1651| r1651_2(glval) = VariableAddress[t] : -# 1651| r1651_3(StructuredBindingTupleNoRefGet &) = CopyValue : r1651_2 -# 1651| mu1651_4(StructuredBindingTupleNoRefGet &) = Store[(unnamed local variable)] : &:r1651_1, r1651_3 -# 1651| r1651_5(glval) = VariableAddress[i] : -# 1651| r1651_6(glval) = VariableAddress[#temp1651:16] : -# 1651| r1651_7(glval) = VariableAddress[(unnamed local variable)] : -# 1651| r1651_8(StructuredBindingTupleNoRefGet &) = Load[(unnamed local variable)] : &:r1651_7, ~m? -# 1651| r1651_9(glval) = CopyValue : r1651_8 -# 1651| r1651_10(glval) = FunctionAddress[get] : -# 1651| r1651_11(int) = Call[get] : func:r1651_10, this:r1651_9 -# 1651| mu1651_12(unknown) = ^CallSideEffect : ~m? -# 1651| v1651_13(void) = ^IndirectReadSideEffect[-1] : &:r1651_9, ~m? -# 1651| mu1651_14(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1651_9 -# 1651| mu1651_15(int) = Store[#temp1651:16] : &:r1651_6, r1651_11 -# 1651| r1651_16(int &) = CopyValue : r1651_6 -# 1651| mu1651_17(int &&) = Store[i] : &:r1651_5, r1651_16 -# 1651| r1651_18(glval) = VariableAddress[r] : -# 1651| r1651_19(glval) = VariableAddress[(unnamed local variable)] : -# 1651| r1651_20(StructuredBindingTupleNoRefGet &) = Load[(unnamed local variable)] : &:r1651_19, ~m? -# 1651| r1651_21(glval) = CopyValue : r1651_20 -# 1651| r1651_22(glval) = FunctionAddress[get] : -# 1651| r1651_23(int &) = Call[get] : func:r1651_22, this:r1651_21 -# 1651| mu1651_24(unknown) = ^CallSideEffect : ~m? -# 1651| v1651_25(void) = ^IndirectReadSideEffect[-1] : &:r1651_21, ~m? -# 1651| mu1651_26(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1651_21 -# 1651| r1651_27(glval) = CopyValue : r1651_23 -# 1651| r1651_28(int &) = CopyValue : r1651_27 -# 1651| mu1651_29(int &) = Store[r] : &:r1651_18, r1651_28 -# 1651| r1651_30(glval) = VariableAddress[rv] : -# 1651| r1651_31(glval) = VariableAddress[(unnamed local variable)] : -# 1651| r1651_32(StructuredBindingTupleNoRefGet &) = Load[(unnamed local variable)] : &:r1651_31, ~m? -# 1651| r1651_33(glval) = CopyValue : r1651_32 -# 1651| r1651_34(glval) = FunctionAddress[get] : -# 1651| r1651_35(int &&) = Call[get] : func:r1651_34, this:r1651_33 -# 1651| mu1651_36(unknown) = ^CallSideEffect : ~m? -# 1651| v1651_37(void) = ^IndirectReadSideEffect[-1] : &:r1651_33, ~m? -# 1651| mu1651_38(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1651_33 -# 1651| r1651_39(glval) = CopyValue : r1651_35 -# 1651| r1651_40(int &) = CopyValue : r1651_39 -# 1651| mu1651_41(int &&) = Store[rv] : &:r1651_30, r1651_40 -# 1652| r1652_1(int) = Constant[4] : -# 1652| r1652_2(glval) = VariableAddress[i] : -# 1652| r1652_3(int &&) = Load[i] : &:r1652_2, ~m? -# 1652| r1652_4(glval) = CopyValue : r1652_3 -# 1652| mu1652_5(int) = Store[?] : &:r1652_4, r1652_1 -# 1653| r1653_1(glval) = VariableAddress[ri] : -# 1653| r1653_2(glval) = VariableAddress[i] : -# 1653| r1653_3(int &&) = Load[i] : &:r1653_2, ~m? -# 1653| r1653_4(glval) = CopyValue : r1653_3 -# 1653| r1653_5(int &) = CopyValue : r1653_4 -# 1653| mu1653_6(int &) = Store[ri] : &:r1653_1, r1653_5 -# 1654| r1654_1(glval) = VariableAddress[v] : -# 1654| r1654_2(glval) = VariableAddress[i] : -# 1654| r1654_3(int &&) = Load[i] : &:r1654_2, ~m? -# 1654| r1654_4(int) = Load[?] : &:r1654_3, ~m? -# 1654| mu1654_5(int) = Store[v] : &:r1654_1, r1654_4 -# 1655| r1655_1(int) = Constant[5] : -# 1655| r1655_2(glval) = VariableAddress[r] : -# 1655| r1655_3(int &) = Load[r] : &:r1655_2, ~m? -# 1655| r1655_4(glval) = CopyValue : r1655_3 -# 1655| mu1655_5(int) = Store[?] : &:r1655_4, r1655_1 -# 1656| r1656_1(glval) = VariableAddress[rr] : -# 1656| r1656_2(glval) = VariableAddress[r] : -# 1656| r1656_3(int &) = Load[r] : &:r1656_2, ~m? -# 1656| r1656_4(glval) = CopyValue : r1656_3 -# 1656| r1656_5(int &) = CopyValue : r1656_4 -# 1656| mu1656_6(int &) = Store[rr] : &:r1656_1, r1656_5 -# 1657| r1657_1(glval) = VariableAddress[w] : -# 1657| r1657_2(glval) = VariableAddress[r] : -# 1657| r1657_3(int &) = Load[r] : &:r1657_2, ~m? -# 1657| r1657_4(int) = Load[?] : &:r1657_3, ~m? -# 1657| mu1657_5(int) = Store[w] : &:r1657_1, r1657_4 -# 1661| r1661_1(glval) = VariableAddress[unnamed_local_variable] : -# 1661| r1661_2(glval) = VariableAddress[t] : -# 1661| r1661_3(StructuredBindingTupleNoRefGet &) = CopyValue : r1661_2 -# 1661| mu1661_4(StructuredBindingTupleNoRefGet &) = Store[unnamed_local_variable] : &:r1661_1, r1661_3 -# 1662| r1662_1(glval) = VariableAddress[i] : -# 1662| r1662_2(glval) = VariableAddress[#temp1662:20] : -# 1662| r1662_3(glval) = VariableAddress[unnamed_local_variable] : -# 1662| r1662_4(StructuredBindingTupleNoRefGet &) = Load[unnamed_local_variable] : &:r1662_3, ~m? -# 1662| r1662_5(glval) = CopyValue : r1662_4 -# 1662| r1662_6(glval) = FunctionAddress[get] : -# 1662| r1662_7(int) = Call[get] : func:r1662_6, this:r1662_5 -# 1662| mu1662_8(unknown) = ^CallSideEffect : ~m? -# 1662| v1662_9(void) = ^IndirectReadSideEffect[-1] : &:r1662_5, ~m? -# 1662| mu1662_10(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1662_5 -# 1662| mu1662_11(int) = Store[#temp1662:20] : &:r1662_2, r1662_7 -# 1662| r1662_12(int &) = CopyValue : r1662_2 -# 1662| mu1662_13(int &&) = Store[i] : &:r1662_1, r1662_12 -# 1663| r1663_1(glval) = VariableAddress[r] : -# 1663| r1663_2(glval) = VariableAddress[unnamed_local_variable] : -# 1663| r1663_3(StructuredBindingTupleNoRefGet &) = Load[unnamed_local_variable] : &:r1663_2, ~m? -# 1663| r1663_4(glval) = CopyValue : r1663_3 -# 1663| r1663_5(glval) = FunctionAddress[get] : -# 1663| r1663_6(int &) = Call[get] : func:r1663_5, this:r1663_4 -# 1663| mu1663_7(unknown) = ^CallSideEffect : ~m? -# 1663| v1663_8(void) = ^IndirectReadSideEffect[-1] : &:r1663_4, ~m? -# 1663| mu1663_9(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1663_4 -# 1663| r1663_10(glval) = CopyValue : r1663_6 -# 1663| r1663_11(int &) = CopyValue : r1663_10 -# 1663| mu1663_12(int &) = Store[r] : &:r1663_1, r1663_11 -# 1664| r1664_1(glval) = VariableAddress[rv] : -# 1664| r1664_2(glval) = VariableAddress[unnamed_local_variable] : -# 1664| r1664_3(StructuredBindingTupleNoRefGet &) = Load[unnamed_local_variable] : &:r1664_2, ~m? -# 1664| r1664_4(glval) = CopyValue : r1664_3 -# 1664| r1664_5(glval) = FunctionAddress[get] : -# 1664| r1664_6(int &&) = Call[get] : func:r1664_5, this:r1664_4 -# 1664| mu1664_7(unknown) = ^CallSideEffect : ~m? -# 1664| v1664_8(void) = ^IndirectReadSideEffect[-1] : &:r1664_4, ~m? -# 1664| mu1664_9(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1664_4 -# 1664| r1664_10(glval) = CopyValue : r1664_6 -# 1664| r1664_11(int &) = CopyValue : r1664_10 -# 1664| mu1664_12(int &&) = Store[rv] : &:r1664_1, r1664_11 -# 1665| r1665_1(int) = Constant[4] : -# 1665| r1665_2(glval) = VariableAddress[i] : -# 1665| r1665_3(int &&) = Load[i] : &:r1665_2, ~m? -# 1665| r1665_4(glval) = CopyValue : r1665_3 -# 1665| mu1665_5(int) = Store[?] : &:r1665_4, r1665_1 -# 1666| r1666_1(glval) = VariableAddress[ri] : -# 1666| r1666_2(glval) = VariableAddress[i] : -# 1666| r1666_3(int &&) = Load[i] : &:r1666_2, ~m? -# 1666| r1666_4(glval) = CopyValue : r1666_3 -# 1666| r1666_5(int &) = CopyValue : r1666_4 -# 1666| mu1666_6(int &) = Store[ri] : &:r1666_1, r1666_5 -# 1667| r1667_1(glval) = VariableAddress[v] : -# 1667| r1667_2(glval) = VariableAddress[i] : -# 1667| r1667_3(int &&) = Load[i] : &:r1667_2, ~m? -# 1667| r1667_4(int) = Load[?] : &:r1667_3, ~m? -# 1667| mu1667_5(int) = Store[v] : &:r1667_1, r1667_4 -# 1668| r1668_1(int) = Constant[5] : -# 1668| r1668_2(glval) = VariableAddress[r] : -# 1668| r1668_3(int &) = Load[r] : &:r1668_2, ~m? -# 1668| r1668_4(glval) = CopyValue : r1668_3 -# 1668| mu1668_5(int) = Store[?] : &:r1668_4, r1668_1 -# 1669| r1669_1(glval) = VariableAddress[rr] : -# 1669| r1669_2(glval) = VariableAddress[r] : -# 1669| r1669_3(int &) = Load[r] : &:r1669_2, ~m? -# 1669| r1669_4(glval) = CopyValue : r1669_3 -# 1669| r1669_5(int &) = CopyValue : r1669_4 -# 1669| mu1669_6(int &) = Store[rr] : &:r1669_1, r1669_5 -# 1670| r1670_1(glval) = VariableAddress[w] : -# 1670| r1670_2(glval) = VariableAddress[r] : -# 1670| r1670_3(int &) = Load[r] : &:r1670_2, ~m? -# 1670| r1670_4(int) = Load[?] : &:r1670_3, ~m? -# 1670| mu1670_5(int) = Store[w] : &:r1670_1, r1670_4 -# 1672| v1672_1(void) = NoOp : -# 1647| v1647_4(void) = ReturnVoid : -# 1647| v1647_5(void) = AliasedUse : ~m? -# 1647| v1647_6(void) = ExitFunction : +# 1694| void tuple_structured_binding_no_ref_get() +# 1694| Block 0 +# 1694| v1694_1(void) = EnterFunction : +# 1694| mu1694_2(unknown) = AliasedDefinition : +# 1694| mu1694_3(unknown) = InitializeNonLocal : +# 1695| r1695_1(glval) = VariableAddress[t] : +# 1695| mu1695_2(StructuredBindingTupleNoRefGet) = Uninitialized[t] : &:r1695_1 +# 1695| r1695_3(glval) = FunctionAddress[StructuredBindingTupleNoRefGet] : +# 1695| v1695_4(void) = Call[StructuredBindingTupleNoRefGet] : func:r1695_3, this:r1695_1 +# 1695| mu1695_5(unknown) = ^CallSideEffect : ~m? +# 1695| mu1695_6(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1695_1 +# 1698| r1698_1(glval) = VariableAddress[(unnamed local variable)] : +# 1698| r1698_2(glval) = VariableAddress[t] : +# 1698| r1698_3(StructuredBindingTupleNoRefGet &) = CopyValue : r1698_2 +# 1698| mu1698_4(StructuredBindingTupleNoRefGet &) = Store[(unnamed local variable)] : &:r1698_1, r1698_3 +# 1698| r1698_5(glval) = VariableAddress[i] : +# 1698| r1698_6(glval) = VariableAddress[#temp1698:16] : +# 1698| r1698_7(glval) = VariableAddress[(unnamed local variable)] : +# 1698| r1698_8(StructuredBindingTupleNoRefGet &) = Load[(unnamed local variable)] : &:r1698_7, ~m? +# 1698| r1698_9(glval) = CopyValue : r1698_8 +# 1698| r1698_10(glval) = FunctionAddress[get] : +# 1698| r1698_11(int) = Call[get] : func:r1698_10, this:r1698_9 +# 1698| mu1698_12(unknown) = ^CallSideEffect : ~m? +# 1698| v1698_13(void) = ^IndirectReadSideEffect[-1] : &:r1698_9, ~m? +# 1698| mu1698_14(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1698_9 +# 1698| mu1698_15(int) = Store[#temp1698:16] : &:r1698_6, r1698_11 +# 1698| r1698_16(int &) = CopyValue : r1698_6 +# 1698| mu1698_17(int &&) = Store[i] : &:r1698_5, r1698_16 +# 1698| r1698_18(glval) = VariableAddress[r] : +# 1698| r1698_19(glval) = VariableAddress[(unnamed local variable)] : +# 1698| r1698_20(StructuredBindingTupleNoRefGet &) = Load[(unnamed local variable)] : &:r1698_19, ~m? +# 1698| r1698_21(glval) = CopyValue : r1698_20 +# 1698| r1698_22(glval) = FunctionAddress[get] : +# 1698| r1698_23(int &) = Call[get] : func:r1698_22, this:r1698_21 +# 1698| mu1698_24(unknown) = ^CallSideEffect : ~m? +# 1698| v1698_25(void) = ^IndirectReadSideEffect[-1] : &:r1698_21, ~m? +# 1698| mu1698_26(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1698_21 +# 1698| r1698_27(glval) = CopyValue : r1698_23 +# 1698| r1698_28(int &) = CopyValue : r1698_27 +# 1698| mu1698_29(int &) = Store[r] : &:r1698_18, r1698_28 +# 1698| r1698_30(glval) = VariableAddress[rv] : +# 1698| r1698_31(glval) = VariableAddress[(unnamed local variable)] : +# 1698| r1698_32(StructuredBindingTupleNoRefGet &) = Load[(unnamed local variable)] : &:r1698_31, ~m? +# 1698| r1698_33(glval) = CopyValue : r1698_32 +# 1698| r1698_34(glval) = FunctionAddress[get] : +# 1698| r1698_35(int &&) = Call[get] : func:r1698_34, this:r1698_33 +# 1698| mu1698_36(unknown) = ^CallSideEffect : ~m? +# 1698| v1698_37(void) = ^IndirectReadSideEffect[-1] : &:r1698_33, ~m? +# 1698| mu1698_38(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1698_33 +# 1698| r1698_39(glval) = CopyValue : r1698_35 +# 1698| r1698_40(int &) = CopyValue : r1698_39 +# 1698| mu1698_41(int &&) = Store[rv] : &:r1698_30, r1698_40 +# 1699| r1699_1(int) = Constant[4] : +# 1699| r1699_2(glval) = VariableAddress[i] : +# 1699| r1699_3(int &&) = Load[i] : &:r1699_2, ~m? +# 1699| r1699_4(glval) = CopyValue : r1699_3 +# 1699| mu1699_5(int) = Store[?] : &:r1699_4, r1699_1 +# 1700| r1700_1(glval) = VariableAddress[ri] : +# 1700| r1700_2(glval) = VariableAddress[i] : +# 1700| r1700_3(int &&) = Load[i] : &:r1700_2, ~m? +# 1700| r1700_4(glval) = CopyValue : r1700_3 +# 1700| r1700_5(int &) = CopyValue : r1700_4 +# 1700| mu1700_6(int &) = Store[ri] : &:r1700_1, r1700_5 +# 1701| r1701_1(glval) = VariableAddress[v] : +# 1701| r1701_2(glval) = VariableAddress[i] : +# 1701| r1701_3(int &&) = Load[i] : &:r1701_2, ~m? +# 1701| r1701_4(int) = Load[?] : &:r1701_3, ~m? +# 1701| mu1701_5(int) = Store[v] : &:r1701_1, r1701_4 +# 1702| r1702_1(int) = Constant[5] : +# 1702| r1702_2(glval) = VariableAddress[r] : +# 1702| r1702_3(int &) = Load[r] : &:r1702_2, ~m? +# 1702| r1702_4(glval) = CopyValue : r1702_3 +# 1702| mu1702_5(int) = Store[?] : &:r1702_4, r1702_1 +# 1703| r1703_1(glval) = VariableAddress[rr] : +# 1703| r1703_2(glval) = VariableAddress[r] : +# 1703| r1703_3(int &) = Load[r] : &:r1703_2, ~m? +# 1703| r1703_4(glval) = CopyValue : r1703_3 +# 1703| r1703_5(int &) = CopyValue : r1703_4 +# 1703| mu1703_6(int &) = Store[rr] : &:r1703_1, r1703_5 +# 1704| r1704_1(glval) = VariableAddress[w] : +# 1704| r1704_2(glval) = VariableAddress[r] : +# 1704| r1704_3(int &) = Load[r] : &:r1704_2, ~m? +# 1704| r1704_4(int) = Load[?] : &:r1704_3, ~m? +# 1704| mu1704_5(int) = Store[w] : &:r1704_1, r1704_4 +# 1708| r1708_1(glval) = VariableAddress[unnamed_local_variable] : +# 1708| r1708_2(glval) = VariableAddress[t] : +# 1708| r1708_3(StructuredBindingTupleNoRefGet &) = CopyValue : r1708_2 +# 1708| mu1708_4(StructuredBindingTupleNoRefGet &) = Store[unnamed_local_variable] : &:r1708_1, r1708_3 +# 1709| r1709_1(glval) = VariableAddress[i] : +# 1709| r1709_2(glval) = VariableAddress[#temp1709:20] : +# 1709| r1709_3(glval) = VariableAddress[unnamed_local_variable] : +# 1709| r1709_4(StructuredBindingTupleNoRefGet &) = Load[unnamed_local_variable] : &:r1709_3, ~m? +# 1709| r1709_5(glval) = CopyValue : r1709_4 +# 1709| r1709_6(glval) = FunctionAddress[get] : +# 1709| r1709_7(int) = Call[get] : func:r1709_6, this:r1709_5 +# 1709| mu1709_8(unknown) = ^CallSideEffect : ~m? +# 1709| v1709_9(void) = ^IndirectReadSideEffect[-1] : &:r1709_5, ~m? +# 1709| mu1709_10(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1709_5 +# 1709| mu1709_11(int) = Store[#temp1709:20] : &:r1709_2, r1709_7 +# 1709| r1709_12(int &) = CopyValue : r1709_2 +# 1709| mu1709_13(int &&) = Store[i] : &:r1709_1, r1709_12 +# 1710| r1710_1(glval) = VariableAddress[r] : +# 1710| r1710_2(glval) = VariableAddress[unnamed_local_variable] : +# 1710| r1710_3(StructuredBindingTupleNoRefGet &) = Load[unnamed_local_variable] : &:r1710_2, ~m? +# 1710| r1710_4(glval) = CopyValue : r1710_3 +# 1710| r1710_5(glval) = FunctionAddress[get] : +# 1710| r1710_6(int &) = Call[get] : func:r1710_5, this:r1710_4 +# 1710| mu1710_7(unknown) = ^CallSideEffect : ~m? +# 1710| v1710_8(void) = ^IndirectReadSideEffect[-1] : &:r1710_4, ~m? +# 1710| mu1710_9(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1710_4 +# 1710| r1710_10(glval) = CopyValue : r1710_6 +# 1710| r1710_11(int &) = CopyValue : r1710_10 +# 1710| mu1710_12(int &) = Store[r] : &:r1710_1, r1710_11 +# 1711| r1711_1(glval) = VariableAddress[rv] : +# 1711| r1711_2(glval) = VariableAddress[unnamed_local_variable] : +# 1711| r1711_3(StructuredBindingTupleNoRefGet &) = Load[unnamed_local_variable] : &:r1711_2, ~m? +# 1711| r1711_4(glval) = CopyValue : r1711_3 +# 1711| r1711_5(glval) = FunctionAddress[get] : +# 1711| r1711_6(int &&) = Call[get] : func:r1711_5, this:r1711_4 +# 1711| mu1711_7(unknown) = ^CallSideEffect : ~m? +# 1711| v1711_8(void) = ^IndirectReadSideEffect[-1] : &:r1711_4, ~m? +# 1711| mu1711_9(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1711_4 +# 1711| r1711_10(glval) = CopyValue : r1711_6 +# 1711| r1711_11(int &) = CopyValue : r1711_10 +# 1711| mu1711_12(int &&) = Store[rv] : &:r1711_1, r1711_11 +# 1712| r1712_1(int) = Constant[4] : +# 1712| r1712_2(glval) = VariableAddress[i] : +# 1712| r1712_3(int &&) = Load[i] : &:r1712_2, ~m? +# 1712| r1712_4(glval) = CopyValue : r1712_3 +# 1712| mu1712_5(int) = Store[?] : &:r1712_4, r1712_1 +# 1713| r1713_1(glval) = VariableAddress[ri] : +# 1713| r1713_2(glval) = VariableAddress[i] : +# 1713| r1713_3(int &&) = Load[i] : &:r1713_2, ~m? +# 1713| r1713_4(glval) = CopyValue : r1713_3 +# 1713| r1713_5(int &) = CopyValue : r1713_4 +# 1713| mu1713_6(int &) = Store[ri] : &:r1713_1, r1713_5 +# 1714| r1714_1(glval) = VariableAddress[v] : +# 1714| r1714_2(glval) = VariableAddress[i] : +# 1714| r1714_3(int &&) = Load[i] : &:r1714_2, ~m? +# 1714| r1714_4(int) = Load[?] : &:r1714_3, ~m? +# 1714| mu1714_5(int) = Store[v] : &:r1714_1, r1714_4 +# 1715| r1715_1(int) = Constant[5] : +# 1715| r1715_2(glval) = VariableAddress[r] : +# 1715| r1715_3(int &) = Load[r] : &:r1715_2, ~m? +# 1715| r1715_4(glval) = CopyValue : r1715_3 +# 1715| mu1715_5(int) = Store[?] : &:r1715_4, r1715_1 +# 1716| r1716_1(glval) = VariableAddress[rr] : +# 1716| r1716_2(glval) = VariableAddress[r] : +# 1716| r1716_3(int &) = Load[r] : &:r1716_2, ~m? +# 1716| r1716_4(glval) = CopyValue : r1716_3 +# 1716| r1716_5(int &) = CopyValue : r1716_4 +# 1716| mu1716_6(int &) = Store[rr] : &:r1716_1, r1716_5 +# 1717| r1717_1(glval) = VariableAddress[w] : +# 1717| r1717_2(glval) = VariableAddress[r] : +# 1717| r1717_3(int &) = Load[r] : &:r1717_2, ~m? +# 1717| r1717_4(int) = Load[?] : &:r1717_3, ~m? +# 1717| mu1717_5(int) = Store[w] : &:r1717_1, r1717_4 +# 1719| v1719_1(void) = NoOp : +# 1694| v1694_4(void) = ReturnVoid : +# 1694| v1694_5(void) = AliasedUse : ~m? +# 1694| v1694_6(void) = ExitFunction : -# 1674| void array_structured_binding_non_ref_init() -# 1674| Block 0 -# 1674| v1674_1(void) = EnterFunction : -# 1674| mu1674_2(unknown) = AliasedDefinition : -# 1674| mu1674_3(unknown) = InitializeNonLocal : -# 1675| r1675_1(glval) = VariableAddress[xs] : -# 1675| mu1675_2(int[2]) = Uninitialized[xs] : &:r1675_1 -# 1675| r1675_3(int) = Constant[0] : -# 1675| r1675_4(glval) = PointerAdd[4] : r1675_1, r1675_3 -# 1675| r1675_5(int) = Constant[1] : -# 1675| mu1675_6(int) = Store[?] : &:r1675_4, r1675_5 -# 1675| r1675_7(int) = Constant[1] : -# 1675| r1675_8(glval) = PointerAdd[4] : r1675_1, r1675_7 -# 1675| r1675_9(int) = Constant[2] : -# 1675| mu1675_10(int) = Store[?] : &:r1675_8, r1675_9 -# 1676| r1676_1(glval) = VariableAddress[(unnamed local variable)] : -# 1676| r1676_2(glval) = VariableAddress[xs] : -# 1676| r1676_3(int[2]) = Load[xs] : &:r1676_2, ~m? -# 1676| mu1676_4(int[2]) = Store[(unnamed local variable)] : &:r1676_1, r1676_3 -# 1676| r1676_5(glval) = VariableAddress[x0] : +# 1721| void array_structured_binding_non_ref_init() +# 1721| Block 0 +# 1721| v1721_1(void) = EnterFunction : +# 1721| mu1721_2(unknown) = AliasedDefinition : +# 1721| mu1721_3(unknown) = InitializeNonLocal : +# 1722| r1722_1(glval) = VariableAddress[xs] : +# 1722| mu1722_2(int[2]) = Uninitialized[xs] : &:r1722_1 +# 1722| r1722_3(int) = Constant[0] : +# 1722| r1722_4(glval) = PointerAdd[4] : r1722_1, r1722_3 +# 1722| r1722_5(int) = Constant[1] : +# 1722| mu1722_6(int) = Store[?] : &:r1722_4, r1722_5 +# 1722| r1722_7(int) = Constant[1] : +# 1722| r1722_8(glval) = PointerAdd[4] : r1722_1, r1722_7 +# 1722| r1722_9(int) = Constant[2] : +# 1722| mu1722_10(int) = Store[?] : &:r1722_8, r1722_9 +# 1723| r1723_1(glval) = VariableAddress[(unnamed local variable)] : +# 1723| r1723_2(glval) = VariableAddress[xs] : +# 1723| r1723_3(int[2]) = Load[xs] : &:r1723_2, ~m? +# 1723| mu1723_4(int[2]) = Store[(unnamed local variable)] : &:r1723_1, r1723_3 +# 1723| r1723_5(glval) = VariableAddress[x0] : #-----| r0_1(glval) = VariableAddress[(unnamed local variable)] : #-----| r0_2(int *) = Convert : r0_1 #-----| r0_3(unsigned long) = Constant[0] : #-----| r0_4(glval) = PointerAdd[4] : r0_2, r0_3 -#-----| mu0_5(int &) = Store[x0] : &:r1676_5, r0_4 -# 1676| r1676_6(glval) = VariableAddress[x1] : +#-----| mu0_5(int &) = Store[x0] : &:r1723_5, r0_4 +# 1723| r1723_6(glval) = VariableAddress[x1] : #-----| r0_6(glval) = VariableAddress[(unnamed local variable)] : #-----| r0_7(int *) = Convert : r0_6 #-----| r0_8(unsigned long) = Constant[1] : #-----| r0_9(glval) = PointerAdd[4] : r0_7, r0_8 -#-----| mu0_10(int &) = Store[x1] : &:r1676_6, r0_9 -# 1677| v1677_1(void) = NoOp : -# 1674| v1674_4(void) = ReturnVoid : -# 1674| v1674_5(void) = AliasedUse : ~m? -# 1674| v1674_6(void) = ExitFunction : +#-----| mu0_10(int &) = Store[x1] : &:r1723_6, r0_9 +# 1724| v1724_1(void) = NoOp : +# 1721| v1721_4(void) = ReturnVoid : +# 1721| v1721_5(void) = AliasedUse : ~m? +# 1721| v1721_6(void) = ExitFunction : -# 1682| void CapturedLambdaMyObj::CapturedLambdaMyObj() -# 1682| Block 0 -# 1682| v1682_1(void) = EnterFunction : -# 1682| mu1682_2(unknown) = AliasedDefinition : -# 1682| mu1682_3(unknown) = InitializeNonLocal : -# 1682| r1682_4(glval) = VariableAddress[#this] : -# 1682| mu1682_5(glval) = InitializeParameter[#this] : &:r1682_4 -# 1682| r1682_6(glval) = Load[#this] : &:r1682_4, ~m? -# 1682| mu1682_7(CapturedLambdaMyObj) = InitializeIndirection[#this] : &:r1682_6 -# 1682| v1682_8(void) = NoOp : -# 1682| v1682_9(void) = ReturnIndirection[#this] : &:r1682_6, ~m? -# 1682| v1682_10(void) = ReturnVoid : -# 1682| v1682_11(void) = AliasedUse : ~m? -# 1682| v1682_12(void) = ExitFunction : +# 1729| void CapturedLambdaMyObj::CapturedLambdaMyObj() +# 1729| Block 0 +# 1729| v1729_1(void) = EnterFunction : +# 1729| mu1729_2(unknown) = AliasedDefinition : +# 1729| mu1729_3(unknown) = InitializeNonLocal : +# 1729| r1729_4(glval) = VariableAddress[#this] : +# 1729| mu1729_5(glval) = InitializeParameter[#this] : &:r1729_4 +# 1729| r1729_6(glval) = Load[#this] : &:r1729_4, ~m? +# 1729| mu1729_7(CapturedLambdaMyObj) = InitializeIndirection[#this] : &:r1729_6 +# 1729| v1729_8(void) = NoOp : +# 1729| v1729_9(void) = ReturnIndirection[#this] : &:r1729_6, ~m? +# 1729| v1729_10(void) = ReturnVoid : +# 1729| v1729_11(void) = AliasedUse : ~m? +# 1729| v1729_12(void) = ExitFunction : -# 1685| void captured_lambda(int, int&, int&&) -# 1685| Block 0 -# 1685| v1685_1(void) = EnterFunction : -# 1685| mu1685_2(unknown) = AliasedDefinition : -# 1685| mu1685_3(unknown) = InitializeNonLocal : -# 1685| r1685_4(glval) = VariableAddress[x] : -# 1685| mu1685_5(int) = InitializeParameter[x] : &:r1685_4 -# 1685| r1685_6(glval) = VariableAddress[y] : -# 1685| mu1685_7(int &) = InitializeParameter[y] : &:r1685_6 -# 1685| r1685_8(int &) = Load[y] : &:r1685_6, ~m? -# 1685| mu1685_9(unknown) = InitializeIndirection[y] : &:r1685_8 -# 1685| r1685_10(glval) = VariableAddress[z] : -# 1685| mu1685_11(int &&) = InitializeParameter[z] : &:r1685_10 -# 1685| r1685_12(int &&) = Load[z] : &:r1685_10, ~m? -# 1685| mu1685_13(unknown) = InitializeIndirection[z] : &:r1685_12 -# 1687| r1687_1(glval) = VariableAddress[obj1] : -# 1687| r1687_2(glval) = VariableAddress[#temp1687:24] : -# 1687| mu1687_3(CapturedLambdaMyObj) = Uninitialized[#temp1687:24] : &:r1687_2 -# 1687| r1687_4(glval) = FunctionAddress[CapturedLambdaMyObj] : -# 1687| v1687_5(void) = Call[CapturedLambdaMyObj] : func:r1687_4, this:r1687_2 -# 1687| mu1687_6(unknown) = ^CallSideEffect : ~m? -# 1687| mu1687_7(CapturedLambdaMyObj) = ^IndirectMayWriteSideEffect[-1] : &:r1687_2 -# 1687| r1687_8(glval) = Convert : r1687_2 -# 1687| r1687_9(CapturedLambdaMyObj &) = CopyValue : r1687_8 -# 1687| mu1687_10(CapturedLambdaMyObj &) = Store[obj1] : &:r1687_1, r1687_9 -# 1688| r1688_1(glval) = VariableAddress[obj2] : -# 1688| mu1688_2(CapturedLambdaMyObj) = Uninitialized[obj2] : &:r1688_1 -# 1688| r1688_3(glval) = FunctionAddress[CapturedLambdaMyObj] : -# 1688| v1688_4(void) = Call[CapturedLambdaMyObj] : func:r1688_3, this:r1688_1 -# 1688| mu1688_5(unknown) = ^CallSideEffect : ~m? -# 1688| mu1688_6(CapturedLambdaMyObj) = ^IndirectMayWriteSideEffect[-1] : &:r1688_1 -# 1690| r1690_1(glval) = VariableAddress[lambda_outer] : -# 1690| r1690_2(glval) = VariableAddress[#temp1690:24] : -# 1690| mu1690_3(decltype([...](...){...})) = Uninitialized[#temp1690:24] : &:r1690_2 -# 1690| r1690_4(glval) = FieldAddress[obj1] : r1690_2 -# 1690| r1690_5(glval) = VariableAddress[obj1] : -# 1690| r1690_6(CapturedLambdaMyObj &) = Load[obj1] : &:r1690_5, ~m? -#-----| r0_1(CapturedLambdaMyObj) = Load[?] : &:r1690_6, ~m? -#-----| mu0_2(CapturedLambdaMyObj) = Store[?] : &:r1690_4, r0_1 -# 1690| r1690_7(glval) = FieldAddress[obj2] : r1690_2 -# 1690| r1690_8(glval) = VariableAddress[obj2] : -# 1690| r1690_9(CapturedLambdaMyObj) = Load[obj2] : &:r1690_8, ~m? -# 1690| mu1690_10(CapturedLambdaMyObj) = Store[?] : &:r1690_7, r1690_9 -# 1690| r1690_11(glval) = FieldAddress[x] : r1690_2 -# 1690| r1690_12(glval) = VariableAddress[x] : -# 1690| r1690_13(int) = Load[x] : &:r1690_12, ~m? -# 1690| mu1690_14(int) = Store[?] : &:r1690_11, r1690_13 -# 1690| r1690_15(glval) = FieldAddress[y] : r1690_2 -# 1690| r1690_16(glval) = VariableAddress[y] : -# 1690| r1690_17(int &) = Load[y] : &:r1690_16, ~m? -# 1692| r1692_1(int) = Load[?] : &:r1690_17, ~m? -# 1692| mu1692_2(int) = Store[?] : &:r1690_15, r1692_1 -# 1690| r1690_18(glval) = FieldAddress[z] : r1690_2 -# 1690| r1690_19(glval) = VariableAddress[z] : -# 1690| r1690_20(int &&) = Load[z] : &:r1690_19, ~m? -# 1692| r1692_3(int) = Load[?] : &:r1690_20, ~m? -# 1692| mu1692_4(int) = Store[?] : &:r1690_18, r1692_3 -# 1690| r1690_21(decltype([...](...){...})) = Load[#temp1690:24] : &:r1690_2, ~m? -# 1690| mu1690_22(decltype([...](...){...})) = Store[lambda_outer] : &:r1690_1, r1690_21 -# 1693| v1693_1(void) = NoOp : -# 1685| v1685_14(void) = ReturnIndirection[y] : &:r1685_8, ~m? -# 1685| v1685_15(void) = ReturnIndirection[z] : &:r1685_12, ~m? -# 1685| v1685_16(void) = ReturnVoid : -# 1685| v1685_17(void) = AliasedUse : ~m? -# 1685| v1685_18(void) = ExitFunction : +# 1732| void captured_lambda(int, int&, int&&) +# 1732| Block 0 +# 1732| v1732_1(void) = EnterFunction : +# 1732| mu1732_2(unknown) = AliasedDefinition : +# 1732| mu1732_3(unknown) = InitializeNonLocal : +# 1732| r1732_4(glval) = VariableAddress[x] : +# 1732| mu1732_5(int) = InitializeParameter[x] : &:r1732_4 +# 1732| r1732_6(glval) = VariableAddress[y] : +# 1732| mu1732_7(int &) = InitializeParameter[y] : &:r1732_6 +# 1732| r1732_8(int &) = Load[y] : &:r1732_6, ~m? +# 1732| mu1732_9(unknown) = InitializeIndirection[y] : &:r1732_8 +# 1732| r1732_10(glval) = VariableAddress[z] : +# 1732| mu1732_11(int &&) = InitializeParameter[z] : &:r1732_10 +# 1732| r1732_12(int &&) = Load[z] : &:r1732_10, ~m? +# 1732| mu1732_13(unknown) = InitializeIndirection[z] : &:r1732_12 +# 1734| r1734_1(glval) = VariableAddress[obj1] : +# 1734| r1734_2(glval) = VariableAddress[#temp1734:24] : +# 1734| mu1734_3(CapturedLambdaMyObj) = Uninitialized[#temp1734:24] : &:r1734_2 +# 1734| r1734_4(glval) = FunctionAddress[CapturedLambdaMyObj] : +# 1734| v1734_5(void) = Call[CapturedLambdaMyObj] : func:r1734_4, this:r1734_2 +# 1734| mu1734_6(unknown) = ^CallSideEffect : ~m? +# 1734| mu1734_7(CapturedLambdaMyObj) = ^IndirectMayWriteSideEffect[-1] : &:r1734_2 +# 1734| r1734_8(glval) = Convert : r1734_2 +# 1734| r1734_9(CapturedLambdaMyObj &) = CopyValue : r1734_8 +# 1734| mu1734_10(CapturedLambdaMyObj &) = Store[obj1] : &:r1734_1, r1734_9 +# 1735| r1735_1(glval) = VariableAddress[obj2] : +# 1735| mu1735_2(CapturedLambdaMyObj) = Uninitialized[obj2] : &:r1735_1 +# 1735| r1735_3(glval) = FunctionAddress[CapturedLambdaMyObj] : +# 1735| v1735_4(void) = Call[CapturedLambdaMyObj] : func:r1735_3, this:r1735_1 +# 1735| mu1735_5(unknown) = ^CallSideEffect : ~m? +# 1735| mu1735_6(CapturedLambdaMyObj) = ^IndirectMayWriteSideEffect[-1] : &:r1735_1 +# 1737| r1737_1(glval) = VariableAddress[lambda_outer] : +# 1737| r1737_2(glval) = VariableAddress[#temp1737:24] : +# 1737| mu1737_3(decltype([...](...){...})) = Uninitialized[#temp1737:24] : &:r1737_2 +# 1737| r1737_4(glval) = FieldAddress[obj1] : r1737_2 +# 1737| r1737_5(glval) = VariableAddress[obj1] : +# 1737| r1737_6(CapturedLambdaMyObj &) = Load[obj1] : &:r1737_5, ~m? +#-----| r0_1(CapturedLambdaMyObj) = Load[?] : &:r1737_6, ~m? +#-----| mu0_2(CapturedLambdaMyObj) = Store[?] : &:r1737_4, r0_1 +# 1737| r1737_7(glval) = FieldAddress[obj2] : r1737_2 +# 1737| r1737_8(glval) = VariableAddress[obj2] : +# 1737| r1737_9(CapturedLambdaMyObj) = Load[obj2] : &:r1737_8, ~m? +# 1737| mu1737_10(CapturedLambdaMyObj) = Store[?] : &:r1737_7, r1737_9 +# 1737| r1737_11(glval) = FieldAddress[x] : r1737_2 +# 1737| r1737_12(glval) = VariableAddress[x] : +# 1737| r1737_13(int) = Load[x] : &:r1737_12, ~m? +# 1737| mu1737_14(int) = Store[?] : &:r1737_11, r1737_13 +# 1737| r1737_15(glval) = FieldAddress[y] : r1737_2 +# 1737| r1737_16(glval) = VariableAddress[y] : +# 1737| r1737_17(int &) = Load[y] : &:r1737_16, ~m? +# 1739| r1739_1(int) = Load[?] : &:r1737_17, ~m? +# 1739| mu1739_2(int) = Store[?] : &:r1737_15, r1739_1 +# 1737| r1737_18(glval) = FieldAddress[z] : r1737_2 +# 1737| r1737_19(glval) = VariableAddress[z] : +# 1737| r1737_20(int &&) = Load[z] : &:r1737_19, ~m? +# 1739| r1739_3(int) = Load[?] : &:r1737_20, ~m? +# 1739| mu1739_4(int) = Store[?] : &:r1737_18, r1739_3 +# 1737| r1737_21(decltype([...](...){...})) = Load[#temp1737:24] : &:r1737_2, ~m? +# 1737| mu1737_22(decltype([...](...){...})) = Store[lambda_outer] : &:r1737_1, r1737_21 +# 1740| v1740_1(void) = NoOp : +# 1732| v1732_14(void) = ReturnIndirection[y] : &:r1732_8, ~m? +# 1732| v1732_15(void) = ReturnIndirection[z] : &:r1732_12, ~m? +# 1732| v1732_16(void) = ReturnVoid : +# 1732| v1732_17(void) = AliasedUse : ~m? +# 1732| v1732_18(void) = ExitFunction : -# 1690| void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25)::operator()() const -# 1690| Block 0 -# 1690| v1690_1(void) = EnterFunction : -# 1690| mu1690_2(unknown) = AliasedDefinition : -# 1690| mu1690_3(unknown) = InitializeNonLocal : -# 1690| r1690_4(glval) = VariableAddress[#this] : -# 1690| mu1690_5(glval) = InitializeParameter[#this] : &:r1690_4 -# 1690| r1690_6(glval) = Load[#this] : &:r1690_4, ~m? -# 1690| mu1690_7(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1690_6 -# 1691| r1691_1(glval) = VariableAddress[lambda_inner] : -# 1691| r1691_2(glval) = VariableAddress[#temp1691:28] : -# 1691| mu1691_3(decltype([...](...){...})) = Uninitialized[#temp1691:28] : &:r1691_2 -# 1691| r1691_4(glval) = FieldAddress[obj1] : r1691_2 -# 1691| r1691_5(glval) = VariableAddress[#this] : -# 1691| r1691_6(lambda [] type at line 1691, col. 29 *) = Load[#this] : &:r1691_5, ~m? -# 1691| r1691_7(glval) = FieldAddress[obj1] : r1691_6 -# 1691| r1691_8(CapturedLambdaMyObj) = Load[?] : &:r1691_7, ~m? -# 1691| mu1691_9(CapturedLambdaMyObj) = Store[?] : &:r1691_4, r1691_8 -# 1691| r1691_10(glval) = FieldAddress[obj2] : r1691_2 -# 1691| r1691_11(glval) = VariableAddress[#this] : -# 1691| r1691_12(lambda [] type at line 1691, col. 29 *) = Load[#this] : &:r1691_11, ~m? -# 1691| r1691_13(glval) = FieldAddress[obj2] : r1691_12 -# 1691| r1691_14(CapturedLambdaMyObj) = Load[?] : &:r1691_13, ~m? -# 1691| mu1691_15(CapturedLambdaMyObj) = Store[?] : &:r1691_10, r1691_14 -# 1691| r1691_16(glval) = FieldAddress[x] : r1691_2 -# 1691| r1691_17(glval) = VariableAddress[#this] : -# 1691| r1691_18(lambda [] type at line 1690, col. 25 *) = Load[#this] : &:r1691_17, ~m? -# 1691| r1691_19(glval) = FieldAddress[x] : r1691_18 -# 1691| r1691_20(int) = Load[?] : &:r1691_19, ~m? -# 1691| mu1691_21(int) = Store[?] : &:r1691_16, r1691_20 -# 1691| r1691_22(glval) = FieldAddress[y] : r1691_2 -# 1691| r1691_23(glval) = VariableAddress[#this] : -# 1691| r1691_24(lambda [] type at line 1690, col. 25 *) = Load[#this] : &:r1691_23, ~m? -# 1691| r1691_25(glval) = FieldAddress[y] : r1691_24 -# 1691| r1691_26(int) = Load[?] : &:r1691_25, ~m? -# 1691| mu1691_27(int) = Store[?] : &:r1691_22, r1691_26 -# 1691| r1691_28(glval) = FieldAddress[z] : r1691_2 -# 1691| r1691_29(glval) = VariableAddress[#this] : -# 1691| r1691_30(lambda [] type at line 1690, col. 25 *) = Load[#this] : &:r1691_29, ~m? -# 1691| r1691_31(glval) = FieldAddress[z] : r1691_30 -# 1691| r1691_32(int) = Load[?] : &:r1691_31, ~m? -# 1691| mu1691_33(int) = Store[?] : &:r1691_28, r1691_32 -# 1691| r1691_34(decltype([...](...){...})) = Load[#temp1691:28] : &:r1691_2, ~m? -# 1691| mu1691_35(decltype([...](...){...})) = Store[lambda_inner] : &:r1691_1, r1691_34 -# 1692| v1692_1(void) = NoOp : -# 1690| v1690_8(void) = ReturnIndirection[#this] : &:r1690_6, ~m? -# 1690| v1690_9(void) = ReturnVoid : -# 1690| v1690_10(void) = AliasedUse : ~m? -# 1690| v1690_11(void) = ExitFunction : +# 1737| void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)::operator()() const +# 1737| Block 0 +# 1737| v1737_1(void) = EnterFunction : +# 1737| mu1737_2(unknown) = AliasedDefinition : +# 1737| mu1737_3(unknown) = InitializeNonLocal : +# 1737| r1737_4(glval) = VariableAddress[#this] : +# 1737| mu1737_5(glval) = InitializeParameter[#this] : &:r1737_4 +# 1737| r1737_6(glval) = Load[#this] : &:r1737_4, ~m? +# 1737| mu1737_7(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1737_6 +# 1738| r1738_1(glval) = VariableAddress[lambda_inner] : +# 1738| r1738_2(glval) = VariableAddress[#temp1738:28] : +# 1738| mu1738_3(decltype([...](...){...})) = Uninitialized[#temp1738:28] : &:r1738_2 +# 1738| r1738_4(glval) = FieldAddress[obj1] : r1738_2 +# 1738| r1738_5(glval) = VariableAddress[#this] : +# 1738| r1738_6(lambda [] type at line 1738, col. 29 *) = Load[#this] : &:r1738_5, ~m? +# 1738| r1738_7(glval) = FieldAddress[obj1] : r1738_6 +# 1738| r1738_8(CapturedLambdaMyObj) = Load[?] : &:r1738_7, ~m? +# 1738| mu1738_9(CapturedLambdaMyObj) = Store[?] : &:r1738_4, r1738_8 +# 1738| r1738_10(glval) = FieldAddress[obj2] : r1738_2 +# 1738| r1738_11(glval) = VariableAddress[#this] : +# 1738| r1738_12(lambda [] type at line 1738, col. 29 *) = Load[#this] : &:r1738_11, ~m? +# 1738| r1738_13(glval) = FieldAddress[obj2] : r1738_12 +# 1738| r1738_14(CapturedLambdaMyObj) = Load[?] : &:r1738_13, ~m? +# 1738| mu1738_15(CapturedLambdaMyObj) = Store[?] : &:r1738_10, r1738_14 +# 1738| r1738_16(glval) = FieldAddress[x] : r1738_2 +# 1738| r1738_17(glval) = VariableAddress[#this] : +# 1738| r1738_18(lambda [] type at line 1737, col. 25 *) = Load[#this] : &:r1738_17, ~m? +# 1738| r1738_19(glval) = FieldAddress[x] : r1738_18 +# 1738| r1738_20(int) = Load[?] : &:r1738_19, ~m? +# 1738| mu1738_21(int) = Store[?] : &:r1738_16, r1738_20 +# 1738| r1738_22(glval) = FieldAddress[y] : r1738_2 +# 1738| r1738_23(glval) = VariableAddress[#this] : +# 1738| r1738_24(lambda [] type at line 1737, col. 25 *) = Load[#this] : &:r1738_23, ~m? +# 1738| r1738_25(glval) = FieldAddress[y] : r1738_24 +# 1738| r1738_26(int) = Load[?] : &:r1738_25, ~m? +# 1738| mu1738_27(int) = Store[?] : &:r1738_22, r1738_26 +# 1738| r1738_28(glval) = FieldAddress[z] : r1738_2 +# 1738| r1738_29(glval) = VariableAddress[#this] : +# 1738| r1738_30(lambda [] type at line 1737, col. 25 *) = Load[#this] : &:r1738_29, ~m? +# 1738| r1738_31(glval) = FieldAddress[z] : r1738_30 +# 1738| r1738_32(int) = Load[?] : &:r1738_31, ~m? +# 1738| mu1738_33(int) = Store[?] : &:r1738_28, r1738_32 +# 1738| r1738_34(decltype([...](...){...})) = Load[#temp1738:28] : &:r1738_2, ~m? +# 1738| mu1738_35(decltype([...](...){...})) = Store[lambda_inner] : &:r1738_1, r1738_34 +# 1739| v1739_1(void) = NoOp : +# 1737| v1737_8(void) = ReturnIndirection[#this] : &:r1737_6, ~m? +# 1737| v1737_9(void) = ReturnVoid : +# 1737| v1737_10(void) = AliasedUse : ~m? +# 1737| v1737_11(void) = ExitFunction : -# 1691| void (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25)::operator()() const)::(lambda [] type at line 1691, col. 29)::operator()() const -# 1691| Block 0 -# 1691| v1691_1(void) = EnterFunction : -# 1691| mu1691_2(unknown) = AliasedDefinition : -# 1691| mu1691_3(unknown) = InitializeNonLocal : -# 1691| r1691_4(glval) = VariableAddress[#this] : -# 1691| mu1691_5(glval) = InitializeParameter[#this] : &:r1691_4 -# 1691| r1691_6(glval) = Load[#this] : &:r1691_4, ~m? -# 1691| mu1691_7(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1691_6 -# 1691| v1691_8(void) = NoOp : -# 1691| v1691_9(void) = NoOp : -# 1691| v1691_10(void) = ReturnIndirection[#this] : &:r1691_6, ~m? -# 1691| v1691_11(void) = ReturnVoid : -# 1691| v1691_12(void) = AliasedUse : ~m? -# 1691| v1691_13(void) = ExitFunction : - -# 1695| int goto_on_same_line() -# 1695| Block 0 -# 1695| v1695_1(void) = EnterFunction : -# 1695| mu1695_2(unknown) = AliasedDefinition : -# 1695| mu1695_3(unknown) = InitializeNonLocal : -# 1696| r1696_1(glval) = VariableAddress[x] : -# 1696| r1696_2(int) = Constant[42] : -# 1696| mu1696_3(int) = Store[x] : &:r1696_1, r1696_2 -# 1697| v1697_1(void) = NoOp : -# 1697| v1697_2(void) = NoOp : -# 1698| r1698_1(glval) = VariableAddress[#return] : -# 1698| r1698_2(glval) = VariableAddress[x] : -# 1698| r1698_3(int) = Load[x] : &:r1698_2, ~m? -# 1698| mu1698_4(int) = Store[#return] : &:r1698_1, r1698_3 -# 1695| r1695_4(glval) = VariableAddress[#return] : -# 1695| v1695_5(void) = ReturnValue : &:r1695_4, ~m? -# 1695| v1695_6(void) = AliasedUse : ~m? -# 1695| v1695_7(void) = ExitFunction : - -# 1703| void TrivialLambdaClass::m() const -# 1703| Block 0 -# 1703| v1703_1(void) = EnterFunction : -# 1703| mu1703_2(unknown) = AliasedDefinition : -# 1703| mu1703_3(unknown) = InitializeNonLocal : -# 1703| r1703_4(glval) = VariableAddress[#this] : -# 1703| mu1703_5(glval) = InitializeParameter[#this] : &:r1703_4 -# 1703| r1703_6(glval) = Load[#this] : &:r1703_4, ~m? -# 1703| mu1703_7(TrivialLambdaClass) = InitializeIndirection[#this] : &:r1703_6 -# 1704| r1704_1(glval) = VariableAddress[l_m_outer] : -# 1704| r1704_2(glval) = VariableAddress[#temp1704:25] : -# 1704| mu1704_3(decltype([...](...){...})) = Uninitialized[#temp1704:25] : &:r1704_2 -# 1704| r1704_4(glval) = FieldAddress[(captured this)] : r1704_2 -# 1704| r1704_5(glval) = VariableAddress[#this] : -# 1704| r1704_6(TrivialLambdaClass *) = Load[#this] : &:r1704_5, ~m? -# 1704| r1704_7(TrivialLambdaClass) = Load[?] : &:r1704_6, ~m? -# 1704| mu1704_8(TrivialLambdaClass) = Store[?] : &:r1704_4, r1704_7 -# 1704| r1704_9(decltype([...](...){...})) = Load[#temp1704:25] : &:r1704_2, ~m? -# 1704| mu1704_10(decltype([...](...){...})) = Store[l_m_outer] : &:r1704_1, r1704_9 -# 1711| v1711_1(void) = NoOp : -# 1703| v1703_8(void) = ReturnIndirection[#this] : &:r1703_6, ~m? -# 1703| v1703_9(void) = ReturnVoid : -# 1703| v1703_10(void) = AliasedUse : ~m? -# 1703| v1703_11(void) = ExitFunction : - -# 1704| void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26)::operator()() const -# 1704| Block 0 -# 1704| v1704_1(void) = EnterFunction : -# 1704| mu1704_2(unknown) = AliasedDefinition : -# 1704| mu1704_3(unknown) = InitializeNonLocal : -# 1704| r1704_4(glval) = VariableAddress[#this] : -# 1704| mu1704_5(glval) = InitializeParameter[#this] : &:r1704_4 -# 1704| r1704_6(glval) = Load[#this] : &:r1704_4, ~m? -# 1704| mu1704_7(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1704_6 -# 1705| r1705_1(glval) = VariableAddress[#this] : -# 1705| r1705_2(lambda [] type at line 1704, col. 26 *) = Load[#this] : &:r1705_1, ~m? -# 1705| r1705_3(glval) = FieldAddress[(captured this)] : r1705_2 -# 1705| r1705_4(TrivialLambdaClass *) = CopyValue : r1705_3 -# 1705| r1705_5(glval) = FunctionAddress[m] : -# 1705| v1705_6(void) = Call[m] : func:r1705_5, this:r1705_4 -# 1705| mu1705_7(unknown) = ^CallSideEffect : ~m? -# 1705| v1705_8(void) = ^IndirectReadSideEffect[-1] : &:r1705_4, ~m? -# 1707| r1707_1(glval) = VariableAddress[l_m_inner] : -# 1707| r1707_2(glval) = VariableAddress[#temp1707:29] : -# 1707| mu1707_3(decltype([...](...){...})) = Uninitialized[#temp1707:29] : &:r1707_2 -# 1707| r1707_4(glval) = FieldAddress[(captured this)] : r1707_2 -# 1707| r1707_5(glval) = VariableAddress[#this] : -# 1707| r1707_6(lambda [] type at line 1707, col. 30 *) = Load[#this] : &:r1707_5, ~m? -# 1707| r1707_7(glval) = FieldAddress[(captured this)] : r1707_6 -# 1707| r1707_8(TrivialLambdaClass) = Load[?] : &:r1707_7, ~m? -# 1707| mu1707_9(TrivialLambdaClass) = Store[?] : &:r1707_4, r1707_8 -# 1707| r1707_10(decltype([...](...){...})) = Load[#temp1707:29] : &:r1707_2, ~m? -# 1707| mu1707_11(decltype([...](...){...})) = Store[l_m_inner] : &:r1707_1, r1707_10 -# 1710| v1710_1(void) = NoOp : -# 1704| v1704_8(void) = ReturnIndirection[#this] : &:r1704_6, ~m? -# 1704| v1704_9(void) = ReturnVoid : -# 1704| v1704_10(void) = AliasedUse : ~m? -# 1704| v1704_11(void) = ExitFunction : - -# 1707| void (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26)::operator()() const)::(lambda [] type at line 1707, col. 30)::operator()() const -# 1707| Block 0 -# 1707| v1707_1(void) = EnterFunction : -# 1707| mu1707_2(unknown) = AliasedDefinition : -# 1707| mu1707_3(unknown) = InitializeNonLocal : -# 1707| r1707_4(glval) = VariableAddress[#this] : -# 1707| mu1707_5(glval) = InitializeParameter[#this] : &:r1707_4 -# 1707| r1707_6(glval) = Load[#this] : &:r1707_4, ~m? -# 1707| mu1707_7(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1707_6 -# 1708| r1708_1(glval) = VariableAddress[#this] : -# 1708| r1708_2(lambda [] type at line 1707, col. 30 *) = Load[#this] : &:r1708_1, ~m? -# 1708| r1708_3(glval) = FieldAddress[(captured this)] : r1708_2 -# 1708| r1708_4(TrivialLambdaClass *) = CopyValue : r1708_3 -# 1708| r1708_5(glval) = FunctionAddress[m] : -# 1708| v1708_6(void) = Call[m] : func:r1708_5, this:r1708_4 -# 1708| mu1708_7(unknown) = ^CallSideEffect : ~m? -# 1708| v1708_8(void) = ^IndirectReadSideEffect[-1] : &:r1708_4, ~m? -# 1709| v1709_1(void) = NoOp : -# 1707| v1707_8(void) = ReturnIndirection[#this] : &:r1707_6, ~m? -# 1707| v1707_9(void) = ReturnVoid : -# 1707| v1707_10(void) = AliasedUse : ~m? -# 1707| v1707_11(void) = ExitFunction : - -# 1714| void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&) -# 1714| Block 0 -# 1714| v1714_1(void) = EnterFunction : -# 1714| mu1714_2(unknown) = AliasedDefinition : -# 1714| mu1714_3(unknown) = InitializeNonLocal : -# 1714| r1714_4(glval) = VariableAddress[p1] : -# 1714| mu1714_5(TrivialLambdaClass) = InitializeParameter[p1] : &:r1714_4 -# 1714| r1714_6(glval) = VariableAddress[p2] : -# 1714| mu1714_7(TrivialLambdaClass &) = InitializeParameter[p2] : &:r1714_6 -# 1714| r1714_8(TrivialLambdaClass &) = Load[p2] : &:r1714_6, ~m? -# 1714| mu1714_9(unknown) = InitializeIndirection[p2] : &:r1714_8 -# 1714| r1714_10(glval) = VariableAddress[p3] : -# 1714| mu1714_11(TrivialLambdaClass &&) = InitializeParameter[p3] : &:r1714_10 -# 1714| r1714_12(TrivialLambdaClass &&) = Load[p3] : &:r1714_10, ~m? -# 1714| mu1714_13(unknown) = InitializeIndirection[p3] : &:r1714_12 -# 1715| r1715_1(glval) = VariableAddress[l1] : -# 1715| mu1715_2(TrivialLambdaClass) = Uninitialized[l1] : &:r1715_1 -# 1716| r1716_1(glval) = VariableAddress[l2] : -# 1716| r1716_2(glval) = VariableAddress[#temp1716:36] : -# 1716| r1716_3(TrivialLambdaClass) = Constant[0] : -# 1716| mu1716_4(TrivialLambdaClass) = Store[#temp1716:36] : &:r1716_2, r1716_3 -# 1716| r1716_5(glval) = Convert : r1716_2 -# 1716| r1716_6(TrivialLambdaClass &) = CopyValue : r1716_5 -# 1716| mu1716_7(TrivialLambdaClass &) = Store[l2] : &:r1716_1, r1716_6 -# 1718| r1718_1(glval) = VariableAddress[l_outer1] : -# 1718| r1718_2(glval) = VariableAddress[#temp1718:20] : -# 1718| mu1718_3(decltype([...](...){...})) = Uninitialized[#temp1718:20] : &:r1718_2 -# 1718| r1718_4(glval) = FieldAddress[p1] : r1718_2 -# 1718| r1718_5(glval) = VariableAddress[p1] : -# 1718| r1718_6(TrivialLambdaClass) = Load[p1] : &:r1718_5, ~m? -# 1718| mu1718_7(TrivialLambdaClass) = Store[?] : &:r1718_4, r1718_6 -# 1718| r1718_8(glval) = FieldAddress[p2] : r1718_2 -# 1718| r1718_9(glval) = VariableAddress[p2] : -# 1718| r1718_10(TrivialLambdaClass &) = Load[p2] : &:r1718_9, ~m? -#-----| r0_1(TrivialLambdaClass) = Load[?] : &:r1718_10, ~m? -#-----| mu0_2(TrivialLambdaClass) = Store[?] : &:r1718_8, r0_1 -# 1718| r1718_11(glval) = FieldAddress[p3] : r1718_2 -# 1718| r1718_12(glval) = VariableAddress[p3] : -# 1718| r1718_13(TrivialLambdaClass &&) = Load[p3] : &:r1718_12, ~m? -#-----| r0_3(TrivialLambdaClass) = Load[?] : &:r1718_13, ~m? -#-----| mu0_4(TrivialLambdaClass) = Store[?] : &:r1718_11, r0_3 -# 1718| r1718_14(glval) = FieldAddress[l1] : r1718_2 -# 1718| r1718_15(glval) = VariableAddress[l1] : -# 1718| r1718_16(TrivialLambdaClass) = Load[l1] : &:r1718_15, ~m? -# 1718| mu1718_17(TrivialLambdaClass) = Store[?] : &:r1718_14, r1718_16 -# 1718| r1718_18(glval) = FieldAddress[l2] : r1718_2 -# 1718| r1718_19(glval) = VariableAddress[l2] : -# 1718| r1718_20(TrivialLambdaClass &) = Load[l2] : &:r1718_19, ~m? -#-----| r0_5(TrivialLambdaClass) = Load[?] : &:r1718_20, ~m? -#-----| mu0_6(TrivialLambdaClass) = Store[?] : &:r1718_18, r0_5 -# 1718| r1718_21(decltype([...](...){...})) = Load[#temp1718:20] : &:r1718_2, ~m? -# 1718| mu1718_22(decltype([...](...){...})) = Store[l_outer1] : &:r1718_1, r1718_21 -# 1721| v1721_1(void) = NoOp : -# 1714| v1714_14(void) = ReturnIndirection[p2] : &:r1714_8, ~m? -# 1714| v1714_15(void) = ReturnIndirection[p3] : &:r1714_12, ~m? -# 1714| v1714_16(void) = ReturnVoid : -# 1714| v1714_17(void) = AliasedUse : ~m? -# 1714| v1714_18(void) = ExitFunction : - -# 1718| void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21)::operator()() const -# 1718| Block 0 -# 1718| v1718_1(void) = EnterFunction : -# 1718| mu1718_2(unknown) = AliasedDefinition : -# 1718| mu1718_3(unknown) = InitializeNonLocal : -# 1718| r1718_4(glval) = VariableAddress[#this] : -# 1718| mu1718_5(glval) = InitializeParameter[#this] : &:r1718_4 -# 1718| r1718_6(glval) = Load[#this] : &:r1718_4, ~m? -# 1718| mu1718_7(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1718_6 -# 1719| r1719_1(glval) = VariableAddress[l_inner1] : -# 1719| r1719_2(glval) = VariableAddress[#temp1719:24] : -# 1719| mu1719_3(decltype([...](...){...})) = Uninitialized[#temp1719:24] : &:r1719_2 -# 1719| r1719_4(glval) = FieldAddress[p1] : r1719_2 -# 1719| r1719_5(glval) = VariableAddress[#this] : -# 1719| r1719_6(lambda [] type at line 1719, col. 25 *) = Load[#this] : &:r1719_5, ~m? -# 1719| r1719_7(glval) = FieldAddress[p1] : r1719_6 -# 1719| r1719_8(TrivialLambdaClass) = Load[?] : &:r1719_7, ~m? -# 1719| mu1719_9(TrivialLambdaClass) = Store[?] : &:r1719_4, r1719_8 -# 1719| r1719_10(decltype([...](...){...})) = Load[#temp1719:24] : &:r1719_2, ~m? -# 1719| mu1719_11(decltype([...](...){...})) = Store[l_inner1] : &:r1719_1, r1719_10 -# 1720| v1720_1(void) = NoOp : -# 1718| v1718_8(void) = ReturnIndirection[#this] : &:r1718_6, ~m? -# 1718| v1718_9(void) = ReturnVoid : -# 1718| v1718_10(void) = AliasedUse : ~m? -# 1718| v1718_11(void) = ExitFunction : - -# 1719| void (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21)::operator()() const)::(lambda [] type at line 1719, col. 25)::operator()() const -# 1719| Block 0 -# 1719| v1719_1(void) = EnterFunction : -# 1719| mu1719_2(unknown) = AliasedDefinition : -# 1719| mu1719_3(unknown) = InitializeNonLocal : -# 1719| r1719_4(glval) = VariableAddress[#this] : -# 1719| mu1719_5(glval) = InitializeParameter[#this] : &:r1719_4 -# 1719| r1719_6(glval) = Load[#this] : &:r1719_4, ~m? -# 1719| mu1719_7(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1719_6 -# 1719| v1719_8(void) = NoOp : -# 1719| v1719_9(void) = ReturnIndirection[#this] : &:r1719_6, ~m? -# 1719| v1719_10(void) = ReturnVoid : -# 1719| v1719_11(void) = AliasedUse : ~m? -# 1719| v1719_12(void) = ExitFunction : - -# 1726| void CopyConstructorWithImplicitArgumentClass::CopyConstructorWithImplicitArgumentClass() -# 1726| Block 0 -# 1726| v1726_1(void) = EnterFunction : -# 1726| mu1726_2(unknown) = AliasedDefinition : -# 1726| mu1726_3(unknown) = InitializeNonLocal : -# 1726| r1726_4(glval) = VariableAddress[#this] : -# 1726| mu1726_5(glval) = InitializeParameter[#this] : &:r1726_4 -# 1726| r1726_6(glval) = Load[#this] : &:r1726_4, ~m? -# 1726| mu1726_7(CopyConstructorWithImplicitArgumentClass) = InitializeIndirection[#this] : &:r1726_6 -# 1726| v1726_8(void) = NoOp : -# 1726| v1726_9(void) = ReturnIndirection[#this] : &:r1726_6, ~m? -# 1726| v1726_10(void) = ReturnVoid : -# 1726| v1726_11(void) = AliasedUse : ~m? -# 1726| v1726_12(void) = ExitFunction : - -# 1727| void CopyConstructorWithImplicitArgumentClass::CopyConstructorWithImplicitArgumentClass(CopyConstructorWithImplicitArgumentClass const&) -# 1727| Block 0 -# 1727| v1727_1(void) = EnterFunction : -# 1727| mu1727_2(unknown) = AliasedDefinition : -# 1727| mu1727_3(unknown) = InitializeNonLocal : -# 1727| r1727_4(glval) = VariableAddress[#this] : -# 1727| mu1727_5(glval) = InitializeParameter[#this] : &:r1727_4 -# 1727| r1727_6(glval) = Load[#this] : &:r1727_4, ~m? -# 1727| mu1727_7(CopyConstructorWithImplicitArgumentClass) = InitializeIndirection[#this] : &:r1727_6 -# 1727| r1727_8(glval) = VariableAddress[c] : -# 1727| mu1727_9(CopyConstructorWithImplicitArgumentClass &) = InitializeParameter[c] : &:r1727_8 -# 1727| r1727_10(CopyConstructorWithImplicitArgumentClass &) = Load[c] : &:r1727_8, ~m? -# 1727| mu1727_11(unknown) = InitializeIndirection[c] : &:r1727_10 -# 1728| r1728_1(glval) = VariableAddress[c] : -# 1728| r1728_2(CopyConstructorWithImplicitArgumentClass &) = Load[c] : &:r1728_1, ~m? -# 1728| r1728_3(glval) = CopyValue : r1728_2 -# 1728| r1728_4(glval) = FieldAddress[x] : r1728_3 -# 1728| r1728_5(int) = Load[?] : &:r1728_4, ~m? -# 1728| r1728_6(glval) = VariableAddress[#this] : -# 1728| r1728_7(CopyConstructorWithImplicitArgumentClass *) = Load[#this] : &:r1728_6, ~m? -# 1728| r1728_8(glval) = FieldAddress[x] : r1728_7 -# 1728| mu1728_9(int) = Store[?] : &:r1728_8, r1728_5 -# 1729| v1729_1(void) = NoOp : -# 1727| v1727_12(void) = ReturnIndirection[#this] : &:r1727_6, ~m? -# 1727| v1727_13(void) = ReturnIndirection[c] : &:r1727_10, ~m? -# 1727| v1727_14(void) = ReturnVoid : -# 1727| v1727_15(void) = AliasedUse : ~m? -# 1727| v1727_16(void) = ExitFunction : - -# 1735| void CopyConstructorWithBitwiseCopyClass::CopyConstructorWithBitwiseCopyClass() -# 1735| Block 0 -# 1735| v1735_1(void) = EnterFunction : -# 1735| mu1735_2(unknown) = AliasedDefinition : -# 1735| mu1735_3(unknown) = InitializeNonLocal : -# 1735| r1735_4(glval) = VariableAddress[#this] : -# 1735| mu1735_5(glval) = InitializeParameter[#this] : &:r1735_4 -# 1735| r1735_6(glval) = Load[#this] : &:r1735_4, ~m? -# 1735| mu1735_7(CopyConstructorWithBitwiseCopyClass) = InitializeIndirection[#this] : &:r1735_6 -# 1735| v1735_8(void) = NoOp : -# 1735| v1735_9(void) = ReturnIndirection[#this] : &:r1735_6, ~m? -# 1735| v1735_10(void) = ReturnVoid : -# 1735| v1735_11(void) = AliasedUse : ~m? -# 1735| v1735_12(void) = ExitFunction : - -# 1738| void CopyConstructorTestNonVirtualClass::CopyConstructorTestNonVirtualClass(CopyConstructorTestNonVirtualClass const&) +# 1738| void (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)::operator()() const)::(lambda [] type at line 1738, col. 29)::operator()() const # 1738| Block 0 -# 1738| v1738_1(void) = EnterFunction : -# 1738| mu1738_2(unknown) = AliasedDefinition : -# 1738| mu1738_3(unknown) = InitializeNonLocal : -# 1738| r1738_4(glval) = VariableAddress[#this] : -# 1738| mu1738_5(glval) = InitializeParameter[#this] : &:r1738_4 -# 1738| r1738_6(glval) = Load[#this] : &:r1738_4, ~m? -# 1738| mu1738_7(CopyConstructorTestNonVirtualClass) = InitializeIndirection[#this] : &:r1738_6 +# 1738| v1738_1(void) = EnterFunction : +# 1738| mu1738_2(unknown) = AliasedDefinition : +# 1738| mu1738_3(unknown) = InitializeNonLocal : +# 1738| r1738_4(glval) = VariableAddress[#this] : +# 1738| mu1738_5(glval) = InitializeParameter[#this] : &:r1738_4 +# 1738| r1738_6(glval) = Load[#this] : &:r1738_4, ~m? +# 1738| mu1738_7(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1738_6 +# 1738| v1738_8(void) = NoOp : +# 1738| v1738_9(void) = NoOp : +# 1738| v1738_10(void) = ReturnIndirection[#this] : &:r1738_6, ~m? +# 1738| v1738_11(void) = ReturnVoid : +# 1738| v1738_12(void) = AliasedUse : ~m? +# 1738| v1738_13(void) = ExitFunction : + +# 1742| int goto_on_same_line() +# 1742| Block 0 +# 1742| v1742_1(void) = EnterFunction : +# 1742| mu1742_2(unknown) = AliasedDefinition : +# 1742| mu1742_3(unknown) = InitializeNonLocal : +# 1743| r1743_1(glval) = VariableAddress[x] : +# 1743| r1743_2(int) = Constant[42] : +# 1743| mu1743_3(int) = Store[x] : &:r1743_1, r1743_2 +# 1744| v1744_1(void) = NoOp : +# 1744| v1744_2(void) = NoOp : +# 1745| r1745_1(glval) = VariableAddress[#return] : +# 1745| r1745_2(glval) = VariableAddress[x] : +# 1745| r1745_3(int) = Load[x] : &:r1745_2, ~m? +# 1745| mu1745_4(int) = Store[#return] : &:r1745_1, r1745_3 +# 1742| r1742_4(glval) = VariableAddress[#return] : +# 1742| v1742_5(void) = ReturnValue : &:r1742_4, ~m? +# 1742| v1742_6(void) = AliasedUse : ~m? +# 1742| v1742_7(void) = ExitFunction : + +# 1750| void TrivialLambdaClass::m() const +# 1750| Block 0 +# 1750| v1750_1(void) = EnterFunction : +# 1750| mu1750_2(unknown) = AliasedDefinition : +# 1750| mu1750_3(unknown) = InitializeNonLocal : +# 1750| r1750_4(glval) = VariableAddress[#this] : +# 1750| mu1750_5(glval) = InitializeParameter[#this] : &:r1750_4 +# 1750| r1750_6(glval) = Load[#this] : &:r1750_4, ~m? +# 1750| mu1750_7(TrivialLambdaClass) = InitializeIndirection[#this] : &:r1750_6 +# 1751| r1751_1(glval) = VariableAddress[l_m_outer] : +# 1751| r1751_2(glval) = VariableAddress[#temp1751:25] : +# 1751| mu1751_3(decltype([...](...){...})) = Uninitialized[#temp1751:25] : &:r1751_2 +# 1751| r1751_4(glval) = FieldAddress[(captured this)] : r1751_2 +# 1751| r1751_5(glval) = VariableAddress[#this] : +# 1751| r1751_6(TrivialLambdaClass *) = Load[#this] : &:r1751_5, ~m? +# 1751| r1751_7(TrivialLambdaClass) = Load[?] : &:r1751_6, ~m? +# 1751| mu1751_8(TrivialLambdaClass) = Store[?] : &:r1751_4, r1751_7 +# 1751| r1751_9(decltype([...](...){...})) = Load[#temp1751:25] : &:r1751_2, ~m? +# 1751| mu1751_10(decltype([...](...){...})) = Store[l_m_outer] : &:r1751_1, r1751_9 +# 1758| v1758_1(void) = NoOp : +# 1750| v1750_8(void) = ReturnIndirection[#this] : &:r1750_6, ~m? +# 1750| v1750_9(void) = ReturnVoid : +# 1750| v1750_10(void) = AliasedUse : ~m? +# 1750| v1750_11(void) = ExitFunction : + +# 1751| void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)::operator()() const +# 1751| Block 0 +# 1751| v1751_1(void) = EnterFunction : +# 1751| mu1751_2(unknown) = AliasedDefinition : +# 1751| mu1751_3(unknown) = InitializeNonLocal : +# 1751| r1751_4(glval) = VariableAddress[#this] : +# 1751| mu1751_5(glval) = InitializeParameter[#this] : &:r1751_4 +# 1751| r1751_6(glval) = Load[#this] : &:r1751_4, ~m? +# 1751| mu1751_7(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1751_6 +# 1752| r1752_1(glval) = VariableAddress[#this] : +# 1752| r1752_2(lambda [] type at line 1751, col. 26 *) = Load[#this] : &:r1752_1, ~m? +# 1752| r1752_3(glval) = FieldAddress[(captured this)] : r1752_2 +# 1752| r1752_4(TrivialLambdaClass *) = CopyValue : r1752_3 +# 1752| r1752_5(glval) = FunctionAddress[m] : +# 1752| v1752_6(void) = Call[m] : func:r1752_5, this:r1752_4 +# 1752| mu1752_7(unknown) = ^CallSideEffect : ~m? +# 1752| v1752_8(void) = ^IndirectReadSideEffect[-1] : &:r1752_4, ~m? +# 1754| r1754_1(glval) = VariableAddress[l_m_inner] : +# 1754| r1754_2(glval) = VariableAddress[#temp1754:29] : +# 1754| mu1754_3(decltype([...](...){...})) = Uninitialized[#temp1754:29] : &:r1754_2 +# 1754| r1754_4(glval) = FieldAddress[(captured this)] : r1754_2 +# 1754| r1754_5(glval) = VariableAddress[#this] : +# 1754| r1754_6(lambda [] type at line 1754, col. 30 *) = Load[#this] : &:r1754_5, ~m? +# 1754| r1754_7(glval) = FieldAddress[(captured this)] : r1754_6 +# 1754| r1754_8(TrivialLambdaClass) = Load[?] : &:r1754_7, ~m? +# 1754| mu1754_9(TrivialLambdaClass) = Store[?] : &:r1754_4, r1754_8 +# 1754| r1754_10(decltype([...](...){...})) = Load[#temp1754:29] : &:r1754_2, ~m? +# 1754| mu1754_11(decltype([...](...){...})) = Store[l_m_inner] : &:r1754_1, r1754_10 +# 1757| v1757_1(void) = NoOp : +# 1751| v1751_8(void) = ReturnIndirection[#this] : &:r1751_6, ~m? +# 1751| v1751_9(void) = ReturnVoid : +# 1751| v1751_10(void) = AliasedUse : ~m? +# 1751| v1751_11(void) = ExitFunction : + +# 1754| void (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)::operator()() const)::(lambda [] type at line 1754, col. 30)::operator()() const +# 1754| Block 0 +# 1754| v1754_1(void) = EnterFunction : +# 1754| mu1754_2(unknown) = AliasedDefinition : +# 1754| mu1754_3(unknown) = InitializeNonLocal : +# 1754| r1754_4(glval) = VariableAddress[#this] : +# 1754| mu1754_5(glval) = InitializeParameter[#this] : &:r1754_4 +# 1754| r1754_6(glval) = Load[#this] : &:r1754_4, ~m? +# 1754| mu1754_7(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1754_6 +# 1755| r1755_1(glval) = VariableAddress[#this] : +# 1755| r1755_2(lambda [] type at line 1754, col. 30 *) = Load[#this] : &:r1755_1, ~m? +# 1755| r1755_3(glval) = FieldAddress[(captured this)] : r1755_2 +# 1755| r1755_4(TrivialLambdaClass *) = CopyValue : r1755_3 +# 1755| r1755_5(glval) = FunctionAddress[m] : +# 1755| v1755_6(void) = Call[m] : func:r1755_5, this:r1755_4 +# 1755| mu1755_7(unknown) = ^CallSideEffect : ~m? +# 1755| v1755_8(void) = ^IndirectReadSideEffect[-1] : &:r1755_4, ~m? +# 1756| v1756_1(void) = NoOp : +# 1754| v1754_8(void) = ReturnIndirection[#this] : &:r1754_6, ~m? +# 1754| v1754_9(void) = ReturnVoid : +# 1754| v1754_10(void) = AliasedUse : ~m? +# 1754| v1754_11(void) = ExitFunction : + +# 1761| void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&) +# 1761| Block 0 +# 1761| v1761_1(void) = EnterFunction : +# 1761| mu1761_2(unknown) = AliasedDefinition : +# 1761| mu1761_3(unknown) = InitializeNonLocal : +# 1761| r1761_4(glval) = VariableAddress[p1] : +# 1761| mu1761_5(TrivialLambdaClass) = InitializeParameter[p1] : &:r1761_4 +# 1761| r1761_6(glval) = VariableAddress[p2] : +# 1761| mu1761_7(TrivialLambdaClass &) = InitializeParameter[p2] : &:r1761_6 +# 1761| r1761_8(TrivialLambdaClass &) = Load[p2] : &:r1761_6, ~m? +# 1761| mu1761_9(unknown) = InitializeIndirection[p2] : &:r1761_8 +# 1761| r1761_10(glval) = VariableAddress[p3] : +# 1761| mu1761_11(TrivialLambdaClass &&) = InitializeParameter[p3] : &:r1761_10 +# 1761| r1761_12(TrivialLambdaClass &&) = Load[p3] : &:r1761_10, ~m? +# 1761| mu1761_13(unknown) = InitializeIndirection[p3] : &:r1761_12 +# 1762| r1762_1(glval) = VariableAddress[l1] : +# 1762| mu1762_2(TrivialLambdaClass) = Uninitialized[l1] : &:r1762_1 +# 1763| r1763_1(glval) = VariableAddress[l2] : +# 1763| r1763_2(glval) = VariableAddress[#temp1763:36] : +# 1763| r1763_3(TrivialLambdaClass) = Constant[0] : +# 1763| mu1763_4(TrivialLambdaClass) = Store[#temp1763:36] : &:r1763_2, r1763_3 +# 1763| r1763_5(glval) = Convert : r1763_2 +# 1763| r1763_6(TrivialLambdaClass &) = CopyValue : r1763_5 +# 1763| mu1763_7(TrivialLambdaClass &) = Store[l2] : &:r1763_1, r1763_6 +# 1765| r1765_1(glval) = VariableAddress[l_outer1] : +# 1765| r1765_2(glval) = VariableAddress[#temp1765:20] : +# 1765| mu1765_3(decltype([...](...){...})) = Uninitialized[#temp1765:20] : &:r1765_2 +# 1765| r1765_4(glval) = FieldAddress[p1] : r1765_2 +# 1765| r1765_5(glval) = VariableAddress[p1] : +# 1765| r1765_6(TrivialLambdaClass) = Load[p1] : &:r1765_5, ~m? +# 1765| mu1765_7(TrivialLambdaClass) = Store[?] : &:r1765_4, r1765_6 +# 1765| r1765_8(glval) = FieldAddress[p2] : r1765_2 +# 1765| r1765_9(glval) = VariableAddress[p2] : +# 1765| r1765_10(TrivialLambdaClass &) = Load[p2] : &:r1765_9, ~m? +#-----| r0_1(TrivialLambdaClass) = Load[?] : &:r1765_10, ~m? +#-----| mu0_2(TrivialLambdaClass) = Store[?] : &:r1765_8, r0_1 +# 1765| r1765_11(glval) = FieldAddress[p3] : r1765_2 +# 1765| r1765_12(glval) = VariableAddress[p3] : +# 1765| r1765_13(TrivialLambdaClass &&) = Load[p3] : &:r1765_12, ~m? +#-----| r0_3(TrivialLambdaClass) = Load[?] : &:r1765_13, ~m? +#-----| mu0_4(TrivialLambdaClass) = Store[?] : &:r1765_11, r0_3 +# 1765| r1765_14(glval) = FieldAddress[l1] : r1765_2 +# 1765| r1765_15(glval) = VariableAddress[l1] : +# 1765| r1765_16(TrivialLambdaClass) = Load[l1] : &:r1765_15, ~m? +# 1765| mu1765_17(TrivialLambdaClass) = Store[?] : &:r1765_14, r1765_16 +# 1765| r1765_18(glval) = FieldAddress[l2] : r1765_2 +# 1765| r1765_19(glval) = VariableAddress[l2] : +# 1765| r1765_20(TrivialLambdaClass &) = Load[l2] : &:r1765_19, ~m? +#-----| r0_5(TrivialLambdaClass) = Load[?] : &:r1765_20, ~m? +#-----| mu0_6(TrivialLambdaClass) = Store[?] : &:r1765_18, r0_5 +# 1765| r1765_21(decltype([...](...){...})) = Load[#temp1765:20] : &:r1765_2, ~m? +# 1765| mu1765_22(decltype([...](...){...})) = Store[l_outer1] : &:r1765_1, r1765_21 +# 1768| v1768_1(void) = NoOp : +# 1761| v1761_14(void) = ReturnIndirection[p2] : &:r1761_8, ~m? +# 1761| v1761_15(void) = ReturnIndirection[p3] : &:r1761_12, ~m? +# 1761| v1761_16(void) = ReturnVoid : +# 1761| v1761_17(void) = AliasedUse : ~m? +# 1761| v1761_18(void) = ExitFunction : + +# 1765| void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)::operator()() const +# 1765| Block 0 +# 1765| v1765_1(void) = EnterFunction : +# 1765| mu1765_2(unknown) = AliasedDefinition : +# 1765| mu1765_3(unknown) = InitializeNonLocal : +# 1765| r1765_4(glval) = VariableAddress[#this] : +# 1765| mu1765_5(glval) = InitializeParameter[#this] : &:r1765_4 +# 1765| r1765_6(glval) = Load[#this] : &:r1765_4, ~m? +# 1765| mu1765_7(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1765_6 +# 1766| r1766_1(glval) = VariableAddress[l_inner1] : +# 1766| r1766_2(glval) = VariableAddress[#temp1766:24] : +# 1766| mu1766_3(decltype([...](...){...})) = Uninitialized[#temp1766:24] : &:r1766_2 +# 1766| r1766_4(glval) = FieldAddress[p1] : r1766_2 +# 1766| r1766_5(glval) = VariableAddress[#this] : +# 1766| r1766_6(lambda [] type at line 1766, col. 25 *) = Load[#this] : &:r1766_5, ~m? +# 1766| r1766_7(glval) = FieldAddress[p1] : r1766_6 +# 1766| r1766_8(TrivialLambdaClass) = Load[?] : &:r1766_7, ~m? +# 1766| mu1766_9(TrivialLambdaClass) = Store[?] : &:r1766_4, r1766_8 +# 1766| r1766_10(decltype([...](...){...})) = Load[#temp1766:24] : &:r1766_2, ~m? +# 1766| mu1766_11(decltype([...](...){...})) = Store[l_inner1] : &:r1766_1, r1766_10 +# 1767| v1767_1(void) = NoOp : +# 1765| v1765_8(void) = ReturnIndirection[#this] : &:r1765_6, ~m? +# 1765| v1765_9(void) = ReturnVoid : +# 1765| v1765_10(void) = AliasedUse : ~m? +# 1765| v1765_11(void) = ExitFunction : + +# 1766| void (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)::operator()() const)::(lambda [] type at line 1766, col. 25)::operator()() const +# 1766| Block 0 +# 1766| v1766_1(void) = EnterFunction : +# 1766| mu1766_2(unknown) = AliasedDefinition : +# 1766| mu1766_3(unknown) = InitializeNonLocal : +# 1766| r1766_4(glval) = VariableAddress[#this] : +# 1766| mu1766_5(glval) = InitializeParameter[#this] : &:r1766_4 +# 1766| r1766_6(glval) = Load[#this] : &:r1766_4, ~m? +# 1766| mu1766_7(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1766_6 +# 1766| v1766_8(void) = NoOp : +# 1766| v1766_9(void) = ReturnIndirection[#this] : &:r1766_6, ~m? +# 1766| v1766_10(void) = ReturnVoid : +# 1766| v1766_11(void) = AliasedUse : ~m? +# 1766| v1766_12(void) = ExitFunction : + +# 1773| void CopyConstructorWithImplicitArgumentClass::CopyConstructorWithImplicitArgumentClass() +# 1773| Block 0 +# 1773| v1773_1(void) = EnterFunction : +# 1773| mu1773_2(unknown) = AliasedDefinition : +# 1773| mu1773_3(unknown) = InitializeNonLocal : +# 1773| r1773_4(glval) = VariableAddress[#this] : +# 1773| mu1773_5(glval) = InitializeParameter[#this] : &:r1773_4 +# 1773| r1773_6(glval) = Load[#this] : &:r1773_4, ~m? +# 1773| mu1773_7(CopyConstructorWithImplicitArgumentClass) = InitializeIndirection[#this] : &:r1773_6 +# 1773| v1773_8(void) = NoOp : +# 1773| v1773_9(void) = ReturnIndirection[#this] : &:r1773_6, ~m? +# 1773| v1773_10(void) = ReturnVoid : +# 1773| v1773_11(void) = AliasedUse : ~m? +# 1773| v1773_12(void) = ExitFunction : + +# 1774| void CopyConstructorWithImplicitArgumentClass::CopyConstructorWithImplicitArgumentClass(CopyConstructorWithImplicitArgumentClass const&) +# 1774| Block 0 +# 1774| v1774_1(void) = EnterFunction : +# 1774| mu1774_2(unknown) = AliasedDefinition : +# 1774| mu1774_3(unknown) = InitializeNonLocal : +# 1774| r1774_4(glval) = VariableAddress[#this] : +# 1774| mu1774_5(glval) = InitializeParameter[#this] : &:r1774_4 +# 1774| r1774_6(glval) = Load[#this] : &:r1774_4, ~m? +# 1774| mu1774_7(CopyConstructorWithImplicitArgumentClass) = InitializeIndirection[#this] : &:r1774_6 +# 1774| r1774_8(glval) = VariableAddress[c] : +# 1774| mu1774_9(CopyConstructorWithImplicitArgumentClass &) = InitializeParameter[c] : &:r1774_8 +# 1774| r1774_10(CopyConstructorWithImplicitArgumentClass &) = Load[c] : &:r1774_8, ~m? +# 1774| mu1774_11(unknown) = InitializeIndirection[c] : &:r1774_10 +# 1775| r1775_1(glval) = VariableAddress[c] : +# 1775| r1775_2(CopyConstructorWithImplicitArgumentClass &) = Load[c] : &:r1775_1, ~m? +# 1775| r1775_3(glval) = CopyValue : r1775_2 +# 1775| r1775_4(glval) = FieldAddress[x] : r1775_3 +# 1775| r1775_5(int) = Load[?] : &:r1775_4, ~m? +# 1775| r1775_6(glval) = VariableAddress[#this] : +# 1775| r1775_7(CopyConstructorWithImplicitArgumentClass *) = Load[#this] : &:r1775_6, ~m? +# 1775| r1775_8(glval) = FieldAddress[x] : r1775_7 +# 1775| mu1775_9(int) = Store[?] : &:r1775_8, r1775_5 +# 1776| v1776_1(void) = NoOp : +# 1774| v1774_12(void) = ReturnIndirection[#this] : &:r1774_6, ~m? +# 1774| v1774_13(void) = ReturnIndirection[c] : &:r1774_10, ~m? +# 1774| v1774_14(void) = ReturnVoid : +# 1774| v1774_15(void) = AliasedUse : ~m? +# 1774| v1774_16(void) = ExitFunction : + +# 1782| void CopyConstructorWithBitwiseCopyClass::CopyConstructorWithBitwiseCopyClass() +# 1782| Block 0 +# 1782| v1782_1(void) = EnterFunction : +# 1782| mu1782_2(unknown) = AliasedDefinition : +# 1782| mu1782_3(unknown) = InitializeNonLocal : +# 1782| r1782_4(glval) = VariableAddress[#this] : +# 1782| mu1782_5(glval) = InitializeParameter[#this] : &:r1782_4 +# 1782| r1782_6(glval) = Load[#this] : &:r1782_4, ~m? +# 1782| mu1782_7(CopyConstructorWithBitwiseCopyClass) = InitializeIndirection[#this] : &:r1782_6 +# 1782| v1782_8(void) = NoOp : +# 1782| v1782_9(void) = ReturnIndirection[#this] : &:r1782_6, ~m? +# 1782| v1782_10(void) = ReturnVoid : +# 1782| v1782_11(void) = AliasedUse : ~m? +# 1782| v1782_12(void) = ExitFunction : + +# 1785| void CopyConstructorTestNonVirtualClass::CopyConstructorTestNonVirtualClass(CopyConstructorTestNonVirtualClass const&) +# 1785| Block 0 +# 1785| v1785_1(void) = EnterFunction : +# 1785| mu1785_2(unknown) = AliasedDefinition : +# 1785| mu1785_3(unknown) = InitializeNonLocal : +# 1785| r1785_4(glval) = VariableAddress[#this] : +# 1785| mu1785_5(glval) = InitializeParameter[#this] : &:r1785_4 +# 1785| r1785_6(glval) = Load[#this] : &:r1785_4, ~m? +# 1785| mu1785_7(CopyConstructorTestNonVirtualClass) = InitializeIndirection[#this] : &:r1785_6 #-----| r0_1(glval) = VariableAddress[(unnamed parameter 0)] : #-----| mu0_2(CopyConstructorTestNonVirtualClass &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1 #-----| r0_3(CopyConstructorTestNonVirtualClass &) = Load[(unnamed parameter 0)] : &:r0_1, ~m? #-----| mu0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3 -# 1738| r1738_8(glval) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithImplicitArgumentClass] : mu1738_5 -# 1738| r1738_9(glval) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] : -# 1738| r1738_10(glval) = VariableAddress[(unnamed parameter 0)] : -# 1738| r1738_11(CopyConstructorTestNonVirtualClass &) = Load[(unnamed parameter 0)] : &:r1738_10, ~m? -# 1738| r1738_12(glval) = CopyValue : r1738_11 -# 1738| r1738_13(glval) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithImplicitArgumentClass] : r1738_12 -# 1738| r1738_14(CopyConstructorWithImplicitArgumentClass &) = CopyValue : r1738_13 -# 1738| v1738_15(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1738_9, this:r1738_8, 0:r1738_14 -# 1738| mu1738_16(unknown) = ^CallSideEffect : ~m? -# 1738| v1738_17(void) = ^BufferReadSideEffect[0] : &:r1738_14, ~m? -# 1738| mu1738_18(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1738_8 -# 1738| v1738_19(void) = NoOp : -# 1738| v1738_20(void) = ReturnIndirection[#this] : &:r1738_6, ~m? +# 1785| r1785_8(glval) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithImplicitArgumentClass] : mu1785_5 +# 1785| r1785_9(glval) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] : +# 1785| r1785_10(glval) = VariableAddress[(unnamed parameter 0)] : +# 1785| r1785_11(CopyConstructorTestNonVirtualClass &) = Load[(unnamed parameter 0)] : &:r1785_10, ~m? +# 1785| r1785_12(glval) = CopyValue : r1785_11 +# 1785| r1785_13(glval) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithImplicitArgumentClass] : r1785_12 +# 1785| r1785_14(CopyConstructorWithImplicitArgumentClass &) = CopyValue : r1785_13 +# 1785| v1785_15(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1785_9, this:r1785_8, 0:r1785_14 +# 1785| mu1785_16(unknown) = ^CallSideEffect : ~m? +# 1785| v1785_17(void) = ^BufferReadSideEffect[0] : &:r1785_14, ~m? +# 1785| mu1785_18(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1785_8 +# 1785| v1785_19(void) = NoOp : +# 1785| v1785_20(void) = ReturnIndirection[#this] : &:r1785_6, ~m? #-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, ~m? -# 1738| v1738_21(void) = ReturnVoid : -# 1738| v1738_22(void) = AliasedUse : ~m? -# 1738| v1738_23(void) = ExitFunction : +# 1785| v1785_21(void) = ReturnVoid : +# 1785| v1785_22(void) = AliasedUse : ~m? +# 1785| v1785_23(void) = ExitFunction : -# 1742| void CopyConstructorTestNonVirtualClass::CopyConstructorTestNonVirtualClass() -# 1742| Block 0 -# 1742| v1742_1(void) = EnterFunction : -# 1742| mu1742_2(unknown) = AliasedDefinition : -# 1742| mu1742_3(unknown) = InitializeNonLocal : -# 1742| r1742_4(glval) = VariableAddress[#this] : -# 1742| mu1742_5(glval) = InitializeParameter[#this] : &:r1742_4 -# 1742| r1742_6(glval) = Load[#this] : &:r1742_4, ~m? -# 1742| mu1742_7(CopyConstructorTestNonVirtualClass) = InitializeIndirection[#this] : &:r1742_6 -# 1742| r1742_8(glval) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithImplicitArgumentClass] : mu1742_5 -# 1742| r1742_9(glval) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] : -# 1742| v1742_10(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1742_9, this:r1742_8 -# 1742| mu1742_11(unknown) = ^CallSideEffect : ~m? -# 1742| mu1742_12(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1742_8 -# 1742| r1742_13(glval) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithBitwiseCopyClass] : mu1742_5 -# 1742| r1742_14(glval) = FunctionAddress[CopyConstructorWithBitwiseCopyClass] : -# 1742| v1742_15(void) = Call[CopyConstructorWithBitwiseCopyClass] : func:r1742_14, this:r1742_13 -# 1742| mu1742_16(unknown) = ^CallSideEffect : ~m? -# 1742| mu1742_17(CopyConstructorWithBitwiseCopyClass) = ^IndirectMayWriteSideEffect[-1] : &:r1742_13 -# 1742| v1742_18(void) = NoOp : -# 1742| v1742_19(void) = ReturnIndirection[#this] : &:r1742_6, ~m? -# 1742| v1742_20(void) = ReturnVoid : -# 1742| v1742_21(void) = AliasedUse : ~m? -# 1742| v1742_22(void) = ExitFunction : +# 1789| void CopyConstructorTestNonVirtualClass::CopyConstructorTestNonVirtualClass() +# 1789| Block 0 +# 1789| v1789_1(void) = EnterFunction : +# 1789| mu1789_2(unknown) = AliasedDefinition : +# 1789| mu1789_3(unknown) = InitializeNonLocal : +# 1789| r1789_4(glval) = VariableAddress[#this] : +# 1789| mu1789_5(glval) = InitializeParameter[#this] : &:r1789_4 +# 1789| r1789_6(glval) = Load[#this] : &:r1789_4, ~m? +# 1789| mu1789_7(CopyConstructorTestNonVirtualClass) = InitializeIndirection[#this] : &:r1789_6 +# 1789| r1789_8(glval) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithImplicitArgumentClass] : mu1789_5 +# 1789| r1789_9(glval) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] : +# 1789| v1789_10(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1789_9, this:r1789_8 +# 1789| mu1789_11(unknown) = ^CallSideEffect : ~m? +# 1789| mu1789_12(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1789_8 +# 1789| r1789_13(glval) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithBitwiseCopyClass] : mu1789_5 +# 1789| r1789_14(glval) = FunctionAddress[CopyConstructorWithBitwiseCopyClass] : +# 1789| v1789_15(void) = Call[CopyConstructorWithBitwiseCopyClass] : func:r1789_14, this:r1789_13 +# 1789| mu1789_16(unknown) = ^CallSideEffect : ~m? +# 1789| mu1789_17(CopyConstructorWithBitwiseCopyClass) = ^IndirectMayWriteSideEffect[-1] : &:r1789_13 +# 1789| v1789_18(void) = NoOp : +# 1789| v1789_19(void) = ReturnIndirection[#this] : &:r1789_6, ~m? +# 1789| v1789_20(void) = ReturnVoid : +# 1789| v1789_21(void) = AliasedUse : ~m? +# 1789| v1789_22(void) = ExitFunction : -# 1745| void CopyConstructorTestVirtualClass::CopyConstructorTestVirtualClass(CopyConstructorTestVirtualClass const&) -# 1745| Block 0 -# 1745| v1745_1(void) = EnterFunction : -# 1745| mu1745_2(unknown) = AliasedDefinition : -# 1745| mu1745_3(unknown) = InitializeNonLocal : -# 1745| r1745_4(glval) = VariableAddress[#this] : -# 1745| mu1745_5(glval) = InitializeParameter[#this] : &:r1745_4 -# 1745| r1745_6(glval) = Load[#this] : &:r1745_4, ~m? -# 1745| mu1745_7(CopyConstructorTestVirtualClass) = InitializeIndirection[#this] : &:r1745_6 +# 1792| void CopyConstructorTestVirtualClass::CopyConstructorTestVirtualClass(CopyConstructorTestVirtualClass const&) +# 1792| Block 0 +# 1792| v1792_1(void) = EnterFunction : +# 1792| mu1792_2(unknown) = AliasedDefinition : +# 1792| mu1792_3(unknown) = InitializeNonLocal : +# 1792| r1792_4(glval) = VariableAddress[#this] : +# 1792| mu1792_5(glval) = InitializeParameter[#this] : &:r1792_4 +# 1792| r1792_6(glval) = Load[#this] : &:r1792_4, ~m? +# 1792| mu1792_7(CopyConstructorTestVirtualClass) = InitializeIndirection[#this] : &:r1792_6 #-----| r0_1(glval) = VariableAddress[(unnamed parameter 0)] : #-----| mu0_2(CopyConstructorTestVirtualClass &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1 #-----| r0_3(CopyConstructorTestVirtualClass &) = Load[(unnamed parameter 0)] : &:r0_1, ~m? #-----| mu0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3 -# 1745| r1745_8(glval) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithImplicitArgumentClass] : mu1745_5 -# 1745| r1745_9(glval) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] : -# 1745| r1745_10(glval) = VariableAddress[(unnamed parameter 0)] : -# 1745| r1745_11(CopyConstructorTestVirtualClass &) = Load[(unnamed parameter 0)] : &:r1745_10, ~m? -# 1745| r1745_12(glval) = CopyValue : r1745_11 -# 1745| r1745_13(glval) = ConvertToVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithImplicitArgumentClass] : r1745_12 -# 1745| r1745_14(CopyConstructorWithImplicitArgumentClass &) = CopyValue : r1745_13 -# 1745| v1745_15(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1745_9, this:r1745_8, 0:r1745_14 -# 1745| mu1745_16(unknown) = ^CallSideEffect : ~m? -# 1745| v1745_17(void) = ^BufferReadSideEffect[0] : &:r1745_14, ~m? -# 1745| mu1745_18(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1745_8 -# 1745| v1745_19(void) = NoOp : -# 1745| v1745_20(void) = ReturnIndirection[#this] : &:r1745_6, ~m? +# 1792| r1792_8(glval) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithImplicitArgumentClass] : mu1792_5 +# 1792| r1792_9(glval) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] : +# 1792| r1792_10(glval) = VariableAddress[(unnamed parameter 0)] : +# 1792| r1792_11(CopyConstructorTestVirtualClass &) = Load[(unnamed parameter 0)] : &:r1792_10, ~m? +# 1792| r1792_12(glval) = CopyValue : r1792_11 +# 1792| r1792_13(glval) = ConvertToVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithImplicitArgumentClass] : r1792_12 +# 1792| r1792_14(CopyConstructorWithImplicitArgumentClass &) = CopyValue : r1792_13 +# 1792| v1792_15(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1792_9, this:r1792_8, 0:r1792_14 +# 1792| mu1792_16(unknown) = ^CallSideEffect : ~m? +# 1792| v1792_17(void) = ^BufferReadSideEffect[0] : &:r1792_14, ~m? +# 1792| mu1792_18(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1792_8 +# 1792| v1792_19(void) = NoOp : +# 1792| v1792_20(void) = ReturnIndirection[#this] : &:r1792_6, ~m? #-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, ~m? -# 1745| v1745_21(void) = ReturnVoid : -# 1745| v1745_22(void) = AliasedUse : ~m? -# 1745| v1745_23(void) = ExitFunction : +# 1792| v1792_21(void) = ReturnVoid : +# 1792| v1792_22(void) = AliasedUse : ~m? +# 1792| v1792_23(void) = ExitFunction : -# 1749| void CopyConstructorTestVirtualClass::CopyConstructorTestVirtualClass() -# 1749| Block 0 -# 1749| v1749_1(void) = EnterFunction : -# 1749| mu1749_2(unknown) = AliasedDefinition : -# 1749| mu1749_3(unknown) = InitializeNonLocal : -# 1749| r1749_4(glval) = VariableAddress[#this] : -# 1749| mu1749_5(glval) = InitializeParameter[#this] : &:r1749_4 -# 1749| r1749_6(glval) = Load[#this] : &:r1749_4, ~m? -# 1749| mu1749_7(CopyConstructorTestVirtualClass) = InitializeIndirection[#this] : &:r1749_6 -# 1749| r1749_8(glval) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithImplicitArgumentClass] : mu1749_5 -# 1749| r1749_9(glval) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] : -# 1749| v1749_10(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1749_9, this:r1749_8 -# 1749| mu1749_11(unknown) = ^CallSideEffect : ~m? -# 1749| mu1749_12(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1749_8 -# 1749| r1749_13(glval) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithBitwiseCopyClass] : mu1749_5 -# 1749| r1749_14(glval) = FunctionAddress[CopyConstructorWithBitwiseCopyClass] : -# 1749| v1749_15(void) = Call[CopyConstructorWithBitwiseCopyClass] : func:r1749_14, this:r1749_13 -# 1749| mu1749_16(unknown) = ^CallSideEffect : ~m? -# 1749| mu1749_17(CopyConstructorWithBitwiseCopyClass) = ^IndirectMayWriteSideEffect[-1] : &:r1749_13 -# 1749| v1749_18(void) = NoOp : -# 1749| v1749_19(void) = ReturnIndirection[#this] : &:r1749_6, ~m? -# 1749| v1749_20(void) = ReturnVoid : -# 1749| v1749_21(void) = AliasedUse : ~m? -# 1749| v1749_22(void) = ExitFunction : +# 1796| void CopyConstructorTestVirtualClass::CopyConstructorTestVirtualClass() +# 1796| Block 0 +# 1796| v1796_1(void) = EnterFunction : +# 1796| mu1796_2(unknown) = AliasedDefinition : +# 1796| mu1796_3(unknown) = InitializeNonLocal : +# 1796| r1796_4(glval) = VariableAddress[#this] : +# 1796| mu1796_5(glval) = InitializeParameter[#this] : &:r1796_4 +# 1796| r1796_6(glval) = Load[#this] : &:r1796_4, ~m? +# 1796| mu1796_7(CopyConstructorTestVirtualClass) = InitializeIndirection[#this] : &:r1796_6 +# 1796| r1796_8(glval) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithImplicitArgumentClass] : mu1796_5 +# 1796| r1796_9(glval) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] : +# 1796| v1796_10(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1796_9, this:r1796_8 +# 1796| mu1796_11(unknown) = ^CallSideEffect : ~m? +# 1796| mu1796_12(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1796_8 +# 1796| r1796_13(glval) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithBitwiseCopyClass] : mu1796_5 +# 1796| r1796_14(glval) = FunctionAddress[CopyConstructorWithBitwiseCopyClass] : +# 1796| v1796_15(void) = Call[CopyConstructorWithBitwiseCopyClass] : func:r1796_14, this:r1796_13 +# 1796| mu1796_16(unknown) = ^CallSideEffect : ~m? +# 1796| mu1796_17(CopyConstructorWithBitwiseCopyClass) = ^IndirectMayWriteSideEffect[-1] : &:r1796_13 +# 1796| v1796_18(void) = NoOp : +# 1796| v1796_19(void) = ReturnIndirection[#this] : &:r1796_6, ~m? +# 1796| v1796_20(void) = ReturnVoid : +# 1796| v1796_21(void) = AliasedUse : ~m? +# 1796| v1796_22(void) = ExitFunction : -# 1752| int implicit_copy_constructor_test(CopyConstructorTestNonVirtualClass const&, CopyConstructorTestVirtualClass const&) -# 1752| Block 0 -# 1752| v1752_1(void) = EnterFunction : -# 1752| mu1752_2(unknown) = AliasedDefinition : -# 1752| mu1752_3(unknown) = InitializeNonLocal : -# 1753| r1753_1(glval) = VariableAddress[x] : -# 1753| mu1753_2(CopyConstructorTestNonVirtualClass &) = InitializeParameter[x] : &:r1753_1 -# 1753| r1753_3(CopyConstructorTestNonVirtualClass &) = Load[x] : &:r1753_1, ~m? -# 1753| mu1753_4(unknown) = InitializeIndirection[x] : &:r1753_3 -# 1754| r1754_1(glval) = VariableAddress[y] : -# 1754| mu1754_2(CopyConstructorTestVirtualClass &) = InitializeParameter[y] : &:r1754_1 -# 1754| r1754_3(CopyConstructorTestVirtualClass &) = Load[y] : &:r1754_1, ~m? -# 1754| mu1754_4(unknown) = InitializeIndirection[y] : &:r1754_3 -# 1755| r1755_1(glval) = VariableAddress[cx] : -# 1755| mu1755_2(CopyConstructorTestNonVirtualClass) = Uninitialized[cx] : &:r1755_1 -# 1755| r1755_3(glval) = FunctionAddress[CopyConstructorTestNonVirtualClass] : -# 1755| r1755_4(glval) = VariableAddress[x] : -# 1755| r1755_5(CopyConstructorTestNonVirtualClass &) = Load[x] : &:r1755_4, ~m? -# 1755| r1755_6(glval) = CopyValue : r1755_5 -# 1755| r1755_7(CopyConstructorTestNonVirtualClass &) = CopyValue : r1755_6 -# 1755| v1755_8(void) = Call[CopyConstructorTestNonVirtualClass] : func:r1755_3, this:r1755_1, 0:r1755_7 -# 1755| mu1755_9(unknown) = ^CallSideEffect : ~m? -# 1755| v1755_10(void) = ^BufferReadSideEffect[0] : &:r1755_7, ~m? -# 1755| mu1755_11(CopyConstructorTestNonVirtualClass) = ^IndirectMayWriteSideEffect[-1] : &:r1755_1 -# 1756| r1756_1(glval) = VariableAddress[cy] : -# 1756| mu1756_2(CopyConstructorTestVirtualClass) = Uninitialized[cy] : &:r1756_1 -# 1756| r1756_3(glval) = FunctionAddress[CopyConstructorTestVirtualClass] : -# 1756| r1756_4(glval) = VariableAddress[y] : -# 1756| r1756_5(CopyConstructorTestVirtualClass &) = Load[y] : &:r1756_4, ~m? -# 1756| r1756_6(glval) = CopyValue : r1756_5 -# 1756| r1756_7(CopyConstructorTestVirtualClass &) = CopyValue : r1756_6 -# 1756| v1756_8(void) = Call[CopyConstructorTestVirtualClass] : func:r1756_3, this:r1756_1, 0:r1756_7 -# 1756| mu1756_9(unknown) = ^CallSideEffect : ~m? -# 1756| v1756_10(void) = ^BufferReadSideEffect[0] : &:r1756_7, ~m? -# 1756| mu1756_11(CopyConstructorTestVirtualClass) = ^IndirectMayWriteSideEffect[-1] : &:r1756_1 -# 1757| r1757_1(glval) = VariableAddress[#return] : -# 1757| mu1757_2(int) = Uninitialized[#return] : &:r1757_1 -# 1753| v1753_5(void) = ReturnIndirection[x] : &:r1753_3, ~m? -# 1754| v1754_5(void) = ReturnIndirection[y] : &:r1754_3, ~m? -# 1752| r1752_4(glval) = VariableAddress[#return] : -# 1752| v1752_5(void) = ReturnValue : &:r1752_4, ~m? -# 1752| v1752_6(void) = AliasedUse : ~m? -# 1752| v1752_7(void) = ExitFunction : +# 1799| int implicit_copy_constructor_test(CopyConstructorTestNonVirtualClass const&, CopyConstructorTestVirtualClass const&) +# 1799| Block 0 +# 1799| v1799_1(void) = EnterFunction : +# 1799| mu1799_2(unknown) = AliasedDefinition : +# 1799| mu1799_3(unknown) = InitializeNonLocal : +# 1800| r1800_1(glval) = VariableAddress[x] : +# 1800| mu1800_2(CopyConstructorTestNonVirtualClass &) = InitializeParameter[x] : &:r1800_1 +# 1800| r1800_3(CopyConstructorTestNonVirtualClass &) = Load[x] : &:r1800_1, ~m? +# 1800| mu1800_4(unknown) = InitializeIndirection[x] : &:r1800_3 +# 1801| r1801_1(glval) = VariableAddress[y] : +# 1801| mu1801_2(CopyConstructorTestVirtualClass &) = InitializeParameter[y] : &:r1801_1 +# 1801| r1801_3(CopyConstructorTestVirtualClass &) = Load[y] : &:r1801_1, ~m? +# 1801| mu1801_4(unknown) = InitializeIndirection[y] : &:r1801_3 +# 1802| r1802_1(glval) = VariableAddress[cx] : +# 1802| mu1802_2(CopyConstructorTestNonVirtualClass) = Uninitialized[cx] : &:r1802_1 +# 1802| r1802_3(glval) = FunctionAddress[CopyConstructorTestNonVirtualClass] : +# 1802| r1802_4(glval) = VariableAddress[x] : +# 1802| r1802_5(CopyConstructorTestNonVirtualClass &) = Load[x] : &:r1802_4, ~m? +# 1802| r1802_6(glval) = CopyValue : r1802_5 +# 1802| r1802_7(CopyConstructorTestNonVirtualClass &) = CopyValue : r1802_6 +# 1802| v1802_8(void) = Call[CopyConstructorTestNonVirtualClass] : func:r1802_3, this:r1802_1, 0:r1802_7 +# 1802| mu1802_9(unknown) = ^CallSideEffect : ~m? +# 1802| v1802_10(void) = ^BufferReadSideEffect[0] : &:r1802_7, ~m? +# 1802| mu1802_11(CopyConstructorTestNonVirtualClass) = ^IndirectMayWriteSideEffect[-1] : &:r1802_1 +# 1803| r1803_1(glval) = VariableAddress[cy] : +# 1803| mu1803_2(CopyConstructorTestVirtualClass) = Uninitialized[cy] : &:r1803_1 +# 1803| r1803_3(glval) = FunctionAddress[CopyConstructorTestVirtualClass] : +# 1803| r1803_4(glval) = VariableAddress[y] : +# 1803| r1803_5(CopyConstructorTestVirtualClass &) = Load[y] : &:r1803_4, ~m? +# 1803| r1803_6(glval) = CopyValue : r1803_5 +# 1803| r1803_7(CopyConstructorTestVirtualClass &) = CopyValue : r1803_6 +# 1803| v1803_8(void) = Call[CopyConstructorTestVirtualClass] : func:r1803_3, this:r1803_1, 0:r1803_7 +# 1803| mu1803_9(unknown) = ^CallSideEffect : ~m? +# 1803| v1803_10(void) = ^BufferReadSideEffect[0] : &:r1803_7, ~m? +# 1803| mu1803_11(CopyConstructorTestVirtualClass) = ^IndirectMayWriteSideEffect[-1] : &:r1803_1 +# 1804| r1804_1(glval) = VariableAddress[#return] : +# 1804| mu1804_2(int) = Uninitialized[#return] : &:r1804_1 +# 1800| v1800_5(void) = ReturnIndirection[x] : &:r1800_3, ~m? +# 1801| v1801_5(void) = ReturnIndirection[y] : &:r1801_3, ~m? +# 1799| r1799_4(glval) = VariableAddress[#return] : +# 1799| v1799_5(void) = ReturnValue : &:r1799_4, ~m? +# 1799| v1799_6(void) = AliasedUse : ~m? +# 1799| v1799_7(void) = ExitFunction : -# 1759| void if_initialization(int) -# 1759| Block 0 -# 1759| v1759_1(void) = EnterFunction : -# 1759| mu1759_2(unknown) = AliasedDefinition : -# 1759| mu1759_3(unknown) = InitializeNonLocal : -# 1759| r1759_4(glval) = VariableAddress[x] : -# 1759| mu1759_5(int) = InitializeParameter[x] : &:r1759_4 -# 1760| r1760_1(glval) = VariableAddress[y] : -# 1760| r1760_2(glval) = VariableAddress[x] : -# 1760| r1760_3(int) = Load[x] : &:r1760_2, ~m? -# 1760| mu1760_4(int) = Store[y] : &:r1760_1, r1760_3 -# 1760| r1760_5(glval) = VariableAddress[x] : -# 1760| r1760_6(int) = Load[x] : &:r1760_5, ~m? -# 1760| r1760_7(int) = Constant[1] : -# 1760| r1760_8(int) = Add : r1760_6, r1760_7 -# 1760| r1760_9(int) = Constant[0] : -# 1760| r1760_10(bool) = CompareNE : r1760_8, r1760_9 -# 1760| v1760_11(void) = ConditionalBranch : r1760_10 +# 1806| void if_initialization(int) +# 1806| Block 0 +# 1806| v1806_1(void) = EnterFunction : +# 1806| mu1806_2(unknown) = AliasedDefinition : +# 1806| mu1806_3(unknown) = InitializeNonLocal : +# 1806| r1806_4(glval) = VariableAddress[x] : +# 1806| mu1806_5(int) = InitializeParameter[x] : &:r1806_4 +# 1807| r1807_1(glval) = VariableAddress[y] : +# 1807| r1807_2(glval) = VariableAddress[x] : +# 1807| r1807_3(int) = Load[x] : &:r1807_2, ~m? +# 1807| mu1807_4(int) = Store[y] : &:r1807_1, r1807_3 +# 1807| r1807_5(glval) = VariableAddress[x] : +# 1807| r1807_6(int) = Load[x] : &:r1807_5, ~m? +# 1807| r1807_7(int) = Constant[1] : +# 1807| r1807_8(int) = Add : r1807_6, r1807_7 +# 1807| r1807_9(int) = Constant[0] : +# 1807| r1807_10(bool) = CompareNE : r1807_8, r1807_9 +# 1807| v1807_11(void) = ConditionalBranch : r1807_10 #-----| False -> Block 2 #-----| True -> Block 1 -# 1761| Block 1 -# 1761| r1761_1(glval) = VariableAddress[x] : -# 1761| r1761_2(int) = Load[x] : &:r1761_1, ~m? -# 1761| r1761_3(glval) = VariableAddress[y] : -# 1761| r1761_4(int) = Load[y] : &:r1761_3, ~m? -# 1761| r1761_5(int) = Add : r1761_2, r1761_4 -# 1761| r1761_6(glval) = VariableAddress[x] : -# 1761| mu1761_7(int) = Store[x] : &:r1761_6, r1761_5 +# 1808| Block 1 +# 1808| r1808_1(glval) = VariableAddress[x] : +# 1808| r1808_2(int) = Load[x] : &:r1808_1, ~m? +# 1808| r1808_3(glval) = VariableAddress[y] : +# 1808| r1808_4(int) = Load[y] : &:r1808_3, ~m? +# 1808| r1808_5(int) = Add : r1808_2, r1808_4 +# 1808| r1808_6(glval) = VariableAddress[x] : +# 1808| mu1808_7(int) = Store[x] : &:r1808_6, r1808_5 #-----| Goto -> Block 2 -# 1764| Block 2 -# 1764| r1764_1(glval) = VariableAddress[w] : -# 1764| mu1764_2(int) = Uninitialized[w] : &:r1764_1 -# 1765| r1765_1(glval) = VariableAddress[x] : -# 1765| r1765_2(int) = Load[x] : &:r1765_1, ~m? -# 1765| r1765_3(glval) = VariableAddress[w] : -# 1765| mu1765_4(int) = Store[w] : &:r1765_3, r1765_2 -# 1765| r1765_5(glval) = VariableAddress[x] : -# 1765| r1765_6(int) = Load[x] : &:r1765_5, ~m? -# 1765| r1765_7(int) = Constant[1] : -# 1765| r1765_8(int) = Add : r1765_6, r1765_7 -# 1765| r1765_9(int) = Constant[0] : -# 1765| r1765_10(bool) = CompareNE : r1765_8, r1765_9 -# 1765| v1765_11(void) = ConditionalBranch : r1765_10 +# 1811| Block 2 +# 1811| r1811_1(glval) = VariableAddress[w] : +# 1811| mu1811_2(int) = Uninitialized[w] : &:r1811_1 +# 1812| r1812_1(glval) = VariableAddress[x] : +# 1812| r1812_2(int) = Load[x] : &:r1812_1, ~m? +# 1812| r1812_3(glval) = VariableAddress[w] : +# 1812| mu1812_4(int) = Store[w] : &:r1812_3, r1812_2 +# 1812| r1812_5(glval) = VariableAddress[x] : +# 1812| r1812_6(int) = Load[x] : &:r1812_5, ~m? +# 1812| r1812_7(int) = Constant[1] : +# 1812| r1812_8(int) = Add : r1812_6, r1812_7 +# 1812| r1812_9(int) = Constant[0] : +# 1812| r1812_10(bool) = CompareNE : r1812_8, r1812_9 +# 1812| v1812_11(void) = ConditionalBranch : r1812_10 #-----| False -> Block 4 #-----| True -> Block 3 -# 1766| Block 3 -# 1766| r1766_1(glval) = VariableAddress[x] : -# 1766| r1766_2(int) = Load[x] : &:r1766_1, ~m? -# 1766| r1766_3(glval) = VariableAddress[w] : -# 1766| r1766_4(int) = Load[w] : &:r1766_3, ~m? -# 1766| r1766_5(int) = Add : r1766_2, r1766_4 -# 1766| r1766_6(glval) = VariableAddress[x] : -# 1766| mu1766_7(int) = Store[x] : &:r1766_6, r1766_5 +# 1813| Block 3 +# 1813| r1813_1(glval) = VariableAddress[x] : +# 1813| r1813_2(int) = Load[x] : &:r1813_1, ~m? +# 1813| r1813_3(glval) = VariableAddress[w] : +# 1813| r1813_4(int) = Load[w] : &:r1813_3, ~m? +# 1813| r1813_5(int) = Add : r1813_2, r1813_4 +# 1813| r1813_6(glval) = VariableAddress[x] : +# 1813| mu1813_7(int) = Store[x] : &:r1813_6, r1813_5 #-----| Goto -> Block 4 -# 1769| Block 4 -# 1769| r1769_1(glval) = VariableAddress[x] : -# 1769| r1769_2(int) = Load[x] : &:r1769_1, ~m? -# 1769| r1769_3(glval) = VariableAddress[w] : -# 1769| mu1769_4(int) = Store[w] : &:r1769_3, r1769_2 -# 1769| r1769_5(glval) = VariableAddress[w2] : -# 1769| r1769_6(glval) = VariableAddress[w] : -# 1769| r1769_7(int) = Load[w] : &:r1769_6, ~m? -# 1769| mu1769_8(int) = Store[w2] : &:r1769_5, r1769_7 -# 1769| r1769_9(glval) = VariableAddress[w2] : -# 1769| r1769_10(int) = Load[w2] : &:r1769_9, ~m? -# 1769| r1769_11(int) = Constant[0] : -# 1769| r1769_12(bool) = CompareNE : r1769_10, r1769_11 -# 1769| r1769_13(bool) = CopyValue : r1769_12 -# 1769| v1769_14(void) = ConditionalBranch : r1769_13 +# 1816| Block 4 +# 1816| r1816_1(glval) = VariableAddress[x] : +# 1816| r1816_2(int) = Load[x] : &:r1816_1, ~m? +# 1816| r1816_3(glval) = VariableAddress[w] : +# 1816| mu1816_4(int) = Store[w] : &:r1816_3, r1816_2 +# 1816| r1816_5(glval) = VariableAddress[w2] : +# 1816| r1816_6(glval) = VariableAddress[w] : +# 1816| r1816_7(int) = Load[w] : &:r1816_6, ~m? +# 1816| mu1816_8(int) = Store[w2] : &:r1816_5, r1816_7 +# 1816| r1816_9(glval) = VariableAddress[w2] : +# 1816| r1816_10(int) = Load[w2] : &:r1816_9, ~m? +# 1816| r1816_11(int) = Constant[0] : +# 1816| r1816_12(bool) = CompareNE : r1816_10, r1816_11 +# 1816| r1816_13(bool) = CopyValue : r1816_12 +# 1816| v1816_14(void) = ConditionalBranch : r1816_13 #-----| False -> Block 6 #-----| True -> Block 5 -# 1770| Block 5 -# 1770| r1770_1(glval) = VariableAddress[x] : -# 1770| r1770_2(int) = Load[x] : &:r1770_1, ~m? -# 1770| r1770_3(glval) = VariableAddress[w] : -# 1770| r1770_4(int) = Load[w] : &:r1770_3, ~m? -# 1770| r1770_5(int) = Add : r1770_2, r1770_4 -# 1770| r1770_6(glval) = VariableAddress[x] : -# 1770| mu1770_7(int) = Store[x] : &:r1770_6, r1770_5 +# 1817| Block 5 +# 1817| r1817_1(glval) = VariableAddress[x] : +# 1817| r1817_2(int) = Load[x] : &:r1817_1, ~m? +# 1817| r1817_3(glval) = VariableAddress[w] : +# 1817| r1817_4(int) = Load[w] : &:r1817_3, ~m? +# 1817| r1817_5(int) = Add : r1817_2, r1817_4 +# 1817| r1817_6(glval) = VariableAddress[x] : +# 1817| mu1817_7(int) = Store[x] : &:r1817_6, r1817_5 #-----| Goto -> Block 6 -# 1773| Block 6 -# 1773| r1773_1(glval) = VariableAddress[v] : -# 1773| r1773_2(glval) = VariableAddress[x] : -# 1773| r1773_3(int) = Load[x] : &:r1773_2, ~m? -# 1773| mu1773_4(int) = Store[v] : &:r1773_1, r1773_3 -# 1773| r1773_5(glval) = VariableAddress[v2] : -# 1773| r1773_6(glval) = VariableAddress[v] : -# 1773| r1773_7(int) = Load[v] : &:r1773_6, ~m? -# 1773| mu1773_8(int) = Store[v2] : &:r1773_5, r1773_7 -# 1773| r1773_9(glval) = VariableAddress[v2] : -# 1773| r1773_10(int) = Load[v2] : &:r1773_9, ~m? -# 1773| r1773_11(int) = Constant[0] : -# 1773| r1773_12(bool) = CompareNE : r1773_10, r1773_11 -# 1773| r1773_13(bool) = CopyValue : r1773_12 -# 1773| v1773_14(void) = ConditionalBranch : r1773_13 +# 1820| Block 6 +# 1820| r1820_1(glval) = VariableAddress[v] : +# 1820| r1820_2(glval) = VariableAddress[x] : +# 1820| r1820_3(int) = Load[x] : &:r1820_2, ~m? +# 1820| mu1820_4(int) = Store[v] : &:r1820_1, r1820_3 +# 1820| r1820_5(glval) = VariableAddress[v2] : +# 1820| r1820_6(glval) = VariableAddress[v] : +# 1820| r1820_7(int) = Load[v] : &:r1820_6, ~m? +# 1820| mu1820_8(int) = Store[v2] : &:r1820_5, r1820_7 +# 1820| r1820_9(glval) = VariableAddress[v2] : +# 1820| r1820_10(int) = Load[v2] : &:r1820_9, ~m? +# 1820| r1820_11(int) = Constant[0] : +# 1820| r1820_12(bool) = CompareNE : r1820_10, r1820_11 +# 1820| r1820_13(bool) = CopyValue : r1820_12 +# 1820| v1820_14(void) = ConditionalBranch : r1820_13 #-----| False -> Block 8 #-----| True -> Block 7 -# 1774| Block 7 -# 1774| r1774_1(glval) = VariableAddress[x] : -# 1774| r1774_2(int) = Load[x] : &:r1774_1, ~m? -# 1774| r1774_3(glval) = VariableAddress[v] : -# 1774| r1774_4(int) = Load[v] : &:r1774_3, ~m? -# 1774| r1774_5(int) = Add : r1774_2, r1774_4 -# 1774| r1774_6(glval) = VariableAddress[x] : -# 1774| mu1774_7(int) = Store[x] : &:r1774_6, r1774_5 +# 1821| Block 7 +# 1821| r1821_1(glval) = VariableAddress[x] : +# 1821| r1821_2(int) = Load[x] : &:r1821_1, ~m? +# 1821| r1821_3(glval) = VariableAddress[v] : +# 1821| r1821_4(int) = Load[v] : &:r1821_3, ~m? +# 1821| r1821_5(int) = Add : r1821_2, r1821_4 +# 1821| r1821_6(glval) = VariableAddress[x] : +# 1821| mu1821_7(int) = Store[x] : &:r1821_6, r1821_5 #-----| Goto -> Block 8 -# 1777| Block 8 -# 1777| r1777_1(glval) = VariableAddress[z] : -# 1777| r1777_2(glval) = VariableAddress[x] : -# 1777| r1777_3(int) = Load[x] : &:r1777_2, ~m? -# 1777| mu1777_4(int) = Store[z] : &:r1777_1, r1777_3 -# 1778| r1778_1(glval) = VariableAddress[z] : -# 1778| r1778_2(int) = Load[z] : &:r1778_1, ~m? -# 1778| r1778_3(int) = Constant[0] : -# 1778| r1778_4(bool) = CompareNE : r1778_2, r1778_3 -# 1778| v1778_5(void) = ConditionalBranch : r1778_4 +# 1824| Block 8 +# 1824| r1824_1(glval) = VariableAddress[z] : +# 1824| r1824_2(glval) = VariableAddress[x] : +# 1824| r1824_3(int) = Load[x] : &:r1824_2, ~m? +# 1824| mu1824_4(int) = Store[z] : &:r1824_1, r1824_3 +# 1825| r1825_1(glval) = VariableAddress[z] : +# 1825| r1825_2(int) = Load[z] : &:r1825_1, ~m? +# 1825| r1825_3(int) = Constant[0] : +# 1825| r1825_4(bool) = CompareNE : r1825_2, r1825_3 +# 1825| v1825_5(void) = ConditionalBranch : r1825_4 #-----| False -> Block 10 #-----| True -> Block 9 -# 1779| Block 9 -# 1779| r1779_1(glval) = VariableAddress[x] : -# 1779| r1779_2(int) = Load[x] : &:r1779_1, ~m? -# 1779| r1779_3(glval) = VariableAddress[z] : -# 1779| r1779_4(int) = Load[z] : &:r1779_3, ~m? -# 1779| r1779_5(int) = Add : r1779_2, r1779_4 -# 1779| r1779_6(glval) = VariableAddress[x] : -# 1779| mu1779_7(int) = Store[x] : &:r1779_6, r1779_5 +# 1826| Block 9 +# 1826| r1826_1(glval) = VariableAddress[x] : +# 1826| r1826_2(int) = Load[x] : &:r1826_1, ~m? +# 1826| r1826_3(glval) = VariableAddress[z] : +# 1826| r1826_4(int) = Load[z] : &:r1826_3, ~m? +# 1826| r1826_5(int) = Add : r1826_2, r1826_4 +# 1826| r1826_6(glval) = VariableAddress[x] : +# 1826| mu1826_7(int) = Store[x] : &:r1826_6, r1826_5 #-----| Goto -> Block 10 -# 1782| Block 10 -# 1782| r1782_1(glval) = VariableAddress[z2] : -# 1782| r1782_2(glval) = VariableAddress[z] : -# 1782| r1782_3(int) = Load[z] : &:r1782_2, ~m? -# 1782| mu1782_4(int) = Store[z2] : &:r1782_1, r1782_3 -# 1782| r1782_5(glval) = VariableAddress[z2] : -# 1782| r1782_6(int) = Load[z2] : &:r1782_5, ~m? -# 1782| r1782_7(int) = Constant[0] : -# 1782| r1782_8(bool) = CompareNE : r1782_6, r1782_7 -# 1782| r1782_9(bool) = CopyValue : r1782_8 -# 1782| v1782_10(void) = ConditionalBranch : r1782_9 +# 1829| Block 10 +# 1829| r1829_1(glval) = VariableAddress[z2] : +# 1829| r1829_2(glval) = VariableAddress[z] : +# 1829| r1829_3(int) = Load[z] : &:r1829_2, ~m? +# 1829| mu1829_4(int) = Store[z2] : &:r1829_1, r1829_3 +# 1829| r1829_5(glval) = VariableAddress[z2] : +# 1829| r1829_6(int) = Load[z2] : &:r1829_5, ~m? +# 1829| r1829_7(int) = Constant[0] : +# 1829| r1829_8(bool) = CompareNE : r1829_6, r1829_7 +# 1829| r1829_9(bool) = CopyValue : r1829_8 +# 1829| v1829_10(void) = ConditionalBranch : r1829_9 #-----| False -> Block 12 #-----| True -> Block 11 -# 1783| Block 11 -# 1783| r1783_1(glval) = VariableAddress[z2] : -# 1783| r1783_2(int) = Load[z2] : &:r1783_1, ~m? -# 1783| r1783_3(glval) = VariableAddress[x] : -# 1783| r1783_4(int) = Load[x] : &:r1783_3, ~m? -# 1783| r1783_5(int) = Add : r1783_4, r1783_2 -# 1783| mu1783_6(int) = Store[x] : &:r1783_3, r1783_5 +# 1830| Block 11 +# 1830| r1830_1(glval) = VariableAddress[z2] : +# 1830| r1830_2(int) = Load[z2] : &:r1830_1, ~m? +# 1830| r1830_3(glval) = VariableAddress[x] : +# 1830| r1830_4(int) = Load[x] : &:r1830_3, ~m? +# 1830| r1830_5(int) = Add : r1830_4, r1830_2 +# 1830| mu1830_6(int) = Store[x] : &:r1830_3, r1830_5 #-----| Goto -> Block 12 -# 1785| Block 12 -# 1785| v1785_1(void) = NoOp : -# 1759| v1759_6(void) = ReturnVoid : -# 1759| v1759_7(void) = AliasedUse : ~m? -# 1759| v1759_8(void) = ExitFunction : +# 1832| Block 12 +# 1832| v1832_1(void) = NoOp : +# 1806| v1806_6(void) = ReturnVoid : +# 1806| v1806_7(void) = AliasedUse : ~m? +# 1806| v1806_8(void) = ExitFunction : -# 1787| void switch_initialization(int) -# 1787| Block 0 -# 1787| v1787_1(void) = EnterFunction : -# 1787| mu1787_2(unknown) = AliasedDefinition : -# 1787| mu1787_3(unknown) = InitializeNonLocal : -# 1787| r1787_4(glval) = VariableAddress[x] : -# 1787| mu1787_5(int) = InitializeParameter[x] : &:r1787_4 -# 1788| r1788_1(glval) = VariableAddress[y] : -# 1788| r1788_2(glval) = VariableAddress[x] : -# 1788| r1788_3(int) = Load[x] : &:r1788_2, ~m? -# 1788| mu1788_4(int) = Store[y] : &:r1788_1, r1788_3 -# 1788| r1788_5(glval) = VariableAddress[x] : -# 1788| r1788_6(int) = Load[x] : &:r1788_5, ~m? -# 1788| r1788_7(int) = Constant[1] : -# 1788| r1788_8(int) = Add : r1788_6, r1788_7 -# 1788| v1788_9(void) = Switch : r1788_8 +# 1834| void switch_initialization(int) +# 1834| Block 0 +# 1834| v1834_1(void) = EnterFunction : +# 1834| mu1834_2(unknown) = AliasedDefinition : +# 1834| mu1834_3(unknown) = InitializeNonLocal : +# 1834| r1834_4(glval) = VariableAddress[x] : +# 1834| mu1834_5(int) = InitializeParameter[x] : &:r1834_4 +# 1835| r1835_1(glval) = VariableAddress[y] : +# 1835| r1835_2(glval) = VariableAddress[x] : +# 1835| r1835_3(int) = Load[x] : &:r1835_2, ~m? +# 1835| mu1835_4(int) = Store[y] : &:r1835_1, r1835_3 +# 1835| r1835_5(glval) = VariableAddress[x] : +# 1835| r1835_6(int) = Load[x] : &:r1835_5, ~m? +# 1835| r1835_7(int) = Constant[1] : +# 1835| r1835_8(int) = Add : r1835_6, r1835_7 +# 1835| v1835_9(void) = Switch : r1835_8 #-----| Default -> Block 1 -# 1789| Block 1 -# 1789| v1789_1(void) = NoOp : -# 1790| r1790_1(glval) = VariableAddress[x] : -# 1790| r1790_2(int) = Load[x] : &:r1790_1, ~m? -# 1790| r1790_3(glval) = VariableAddress[y] : -# 1790| r1790_4(int) = Load[y] : &:r1790_3, ~m? -# 1790| r1790_5(int) = Add : r1790_2, r1790_4 -# 1790| r1790_6(glval) = VariableAddress[x] : -# 1790| mu1790_7(int) = Store[x] : &:r1790_6, r1790_5 -# 1793| r1793_1(glval) = VariableAddress[w] : -# 1793| mu1793_2(int) = Uninitialized[w] : &:r1793_1 -# 1794| r1794_1(glval) = VariableAddress[x] : -# 1794| r1794_2(int) = Load[x] : &:r1794_1, ~m? -# 1794| r1794_3(glval) = VariableAddress[w] : -# 1794| mu1794_4(int) = Store[w] : &:r1794_3, r1794_2 -# 1794| r1794_5(glval) = VariableAddress[x] : -# 1794| r1794_6(int) = Load[x] : &:r1794_5, ~m? -# 1794| r1794_7(int) = Constant[1] : -# 1794| r1794_8(int) = Add : r1794_6, r1794_7 -# 1794| v1794_9(void) = Switch : r1794_8 +# 1836| Block 1 +# 1836| v1836_1(void) = NoOp : +# 1837| r1837_1(glval) = VariableAddress[x] : +# 1837| r1837_2(int) = Load[x] : &:r1837_1, ~m? +# 1837| r1837_3(glval) = VariableAddress[y] : +# 1837| r1837_4(int) = Load[y] : &:r1837_3, ~m? +# 1837| r1837_5(int) = Add : r1837_2, r1837_4 +# 1837| r1837_6(glval) = VariableAddress[x] : +# 1837| mu1837_7(int) = Store[x] : &:r1837_6, r1837_5 +# 1840| r1840_1(glval) = VariableAddress[w] : +# 1840| mu1840_2(int) = Uninitialized[w] : &:r1840_1 +# 1841| r1841_1(glval) = VariableAddress[x] : +# 1841| r1841_2(int) = Load[x] : &:r1841_1, ~m? +# 1841| r1841_3(glval) = VariableAddress[w] : +# 1841| mu1841_4(int) = Store[w] : &:r1841_3, r1841_2 +# 1841| r1841_5(glval) = VariableAddress[x] : +# 1841| r1841_6(int) = Load[x] : &:r1841_5, ~m? +# 1841| r1841_7(int) = Constant[1] : +# 1841| r1841_8(int) = Add : r1841_6, r1841_7 +# 1841| v1841_9(void) = Switch : r1841_8 #-----| Default -> Block 2 -# 1795| Block 2 -# 1795| v1795_1(void) = NoOp : -# 1796| r1796_1(glval) = VariableAddress[x] : -# 1796| r1796_2(int) = Load[x] : &:r1796_1, ~m? -# 1796| r1796_3(glval) = VariableAddress[w] : -# 1796| r1796_4(int) = Load[w] : &:r1796_3, ~m? -# 1796| r1796_5(int) = Add : r1796_2, r1796_4 -# 1796| r1796_6(glval) = VariableAddress[x] : -# 1796| mu1796_7(int) = Store[x] : &:r1796_6, r1796_5 -# 1799| r1799_1(glval) = VariableAddress[x] : -# 1799| r1799_2(int) = Load[x] : &:r1799_1, ~m? -# 1799| r1799_3(glval) = VariableAddress[w] : -# 1799| mu1799_4(int) = Store[w] : &:r1799_3, r1799_2 -# 1799| r1799_5(glval) = VariableAddress[w2] : -# 1799| r1799_6(glval) = VariableAddress[w] : -# 1799| r1799_7(int) = Load[w] : &:r1799_6, ~m? -# 1799| mu1799_8(int) = Store[w2] : &:r1799_5, r1799_7 -# 1799| r1799_9(glval) = VariableAddress[w2] : -# 1799| r1799_10(int) = Load[w2] : &:r1799_9, ~m? -# 1799| r1799_11(int) = CopyValue : r1799_10 -# 1799| v1799_12(void) = Switch : r1799_11 +# 1842| Block 2 +# 1842| v1842_1(void) = NoOp : +# 1843| r1843_1(glval) = VariableAddress[x] : +# 1843| r1843_2(int) = Load[x] : &:r1843_1, ~m? +# 1843| r1843_3(glval) = VariableAddress[w] : +# 1843| r1843_4(int) = Load[w] : &:r1843_3, ~m? +# 1843| r1843_5(int) = Add : r1843_2, r1843_4 +# 1843| r1843_6(glval) = VariableAddress[x] : +# 1843| mu1843_7(int) = Store[x] : &:r1843_6, r1843_5 +# 1846| r1846_1(glval) = VariableAddress[x] : +# 1846| r1846_2(int) = Load[x] : &:r1846_1, ~m? +# 1846| r1846_3(glval) = VariableAddress[w] : +# 1846| mu1846_4(int) = Store[w] : &:r1846_3, r1846_2 +# 1846| r1846_5(glval) = VariableAddress[w2] : +# 1846| r1846_6(glval) = VariableAddress[w] : +# 1846| r1846_7(int) = Load[w] : &:r1846_6, ~m? +# 1846| mu1846_8(int) = Store[w2] : &:r1846_5, r1846_7 +# 1846| r1846_9(glval) = VariableAddress[w2] : +# 1846| r1846_10(int) = Load[w2] : &:r1846_9, ~m? +# 1846| r1846_11(int) = CopyValue : r1846_10 +# 1846| v1846_12(void) = Switch : r1846_11 #-----| Default -> Block 3 -# 1800| Block 3 -# 1800| v1800_1(void) = NoOp : -# 1801| r1801_1(glval) = VariableAddress[x] : -# 1801| r1801_2(int) = Load[x] : &:r1801_1, ~m? -# 1801| r1801_3(glval) = VariableAddress[w] : -# 1801| r1801_4(int) = Load[w] : &:r1801_3, ~m? -# 1801| r1801_5(int) = Add : r1801_2, r1801_4 -# 1801| r1801_6(glval) = VariableAddress[x] : -# 1801| mu1801_7(int) = Store[x] : &:r1801_6, r1801_5 -# 1804| r1804_1(glval) = VariableAddress[v] : -# 1804| r1804_2(glval) = VariableAddress[x] : -# 1804| r1804_3(int) = Load[x] : &:r1804_2, ~m? -# 1804| mu1804_4(int) = Store[v] : &:r1804_1, r1804_3 -# 1804| r1804_5(glval) = VariableAddress[v2] : -# 1804| r1804_6(glval) = VariableAddress[v] : -# 1804| r1804_7(int) = Load[v] : &:r1804_6, ~m? -# 1804| mu1804_8(int) = Store[v2] : &:r1804_5, r1804_7 -# 1804| r1804_9(glval) = VariableAddress[v2] : -# 1804| r1804_10(int) = Load[v2] : &:r1804_9, ~m? -# 1804| r1804_11(int) = CopyValue : r1804_10 -# 1804| v1804_12(void) = Switch : r1804_11 +# 1847| Block 3 +# 1847| v1847_1(void) = NoOp : +# 1848| r1848_1(glval) = VariableAddress[x] : +# 1848| r1848_2(int) = Load[x] : &:r1848_1, ~m? +# 1848| r1848_3(glval) = VariableAddress[w] : +# 1848| r1848_4(int) = Load[w] : &:r1848_3, ~m? +# 1848| r1848_5(int) = Add : r1848_2, r1848_4 +# 1848| r1848_6(glval) = VariableAddress[x] : +# 1848| mu1848_7(int) = Store[x] : &:r1848_6, r1848_5 +# 1851| r1851_1(glval) = VariableAddress[v] : +# 1851| r1851_2(glval) = VariableAddress[x] : +# 1851| r1851_3(int) = Load[x] : &:r1851_2, ~m? +# 1851| mu1851_4(int) = Store[v] : &:r1851_1, r1851_3 +# 1851| r1851_5(glval) = VariableAddress[v2] : +# 1851| r1851_6(glval) = VariableAddress[v] : +# 1851| r1851_7(int) = Load[v] : &:r1851_6, ~m? +# 1851| mu1851_8(int) = Store[v2] : &:r1851_5, r1851_7 +# 1851| r1851_9(glval) = VariableAddress[v2] : +# 1851| r1851_10(int) = Load[v2] : &:r1851_9, ~m? +# 1851| r1851_11(int) = CopyValue : r1851_10 +# 1851| v1851_12(void) = Switch : r1851_11 #-----| Default -> Block 4 -# 1805| Block 4 -# 1805| v1805_1(void) = NoOp : -# 1806| r1806_1(glval) = VariableAddress[x] : -# 1806| r1806_2(int) = Load[x] : &:r1806_1, ~m? -# 1806| r1806_3(glval) = VariableAddress[v] : -# 1806| r1806_4(int) = Load[v] : &:r1806_3, ~m? -# 1806| r1806_5(int) = Add : r1806_2, r1806_4 -# 1806| r1806_6(glval) = VariableAddress[x] : -# 1806| mu1806_7(int) = Store[x] : &:r1806_6, r1806_5 -# 1809| r1809_1(glval) = VariableAddress[z] : -# 1809| r1809_2(glval) = VariableAddress[x] : -# 1809| r1809_3(int) = Load[x] : &:r1809_2, ~m? -# 1809| mu1809_4(int) = Store[z] : &:r1809_1, r1809_3 -# 1810| r1810_1(glval) = VariableAddress[z] : -# 1810| r1810_2(int) = Load[z] : &:r1810_1, ~m? -# 1810| v1810_3(void) = Switch : r1810_2 +# 1852| Block 4 +# 1852| v1852_1(void) = NoOp : +# 1853| r1853_1(glval) = VariableAddress[x] : +# 1853| r1853_2(int) = Load[x] : &:r1853_1, ~m? +# 1853| r1853_3(glval) = VariableAddress[v] : +# 1853| r1853_4(int) = Load[v] : &:r1853_3, ~m? +# 1853| r1853_5(int) = Add : r1853_2, r1853_4 +# 1853| r1853_6(glval) = VariableAddress[x] : +# 1853| mu1853_7(int) = Store[x] : &:r1853_6, r1853_5 +# 1856| r1856_1(glval) = VariableAddress[z] : +# 1856| r1856_2(glval) = VariableAddress[x] : +# 1856| r1856_3(int) = Load[x] : &:r1856_2, ~m? +# 1856| mu1856_4(int) = Store[z] : &:r1856_1, r1856_3 +# 1857| r1857_1(glval) = VariableAddress[z] : +# 1857| r1857_2(int) = Load[z] : &:r1857_1, ~m? +# 1857| v1857_3(void) = Switch : r1857_2 #-----| Default -> Block 5 -# 1811| Block 5 -# 1811| v1811_1(void) = NoOp : -# 1812| r1812_1(glval) = VariableAddress[x] : -# 1812| r1812_2(int) = Load[x] : &:r1812_1, ~m? -# 1812| r1812_3(glval) = VariableAddress[z] : -# 1812| r1812_4(int) = Load[z] : &:r1812_3, ~m? -# 1812| r1812_5(int) = Add : r1812_2, r1812_4 -# 1812| r1812_6(glval) = VariableAddress[x] : -# 1812| mu1812_7(int) = Store[x] : &:r1812_6, r1812_5 -# 1815| r1815_1(glval) = VariableAddress[z2] : -# 1815| r1815_2(glval) = VariableAddress[z] : -# 1815| r1815_3(int) = Load[z] : &:r1815_2, ~m? -# 1815| mu1815_4(int) = Store[z2] : &:r1815_1, r1815_3 -# 1815| r1815_5(glval) = VariableAddress[z2] : -# 1815| r1815_6(int) = Load[z2] : &:r1815_5, ~m? -# 1815| r1815_7(int) = CopyValue : r1815_6 -# 1815| v1815_8(void) = Switch : r1815_7 +# 1858| Block 5 +# 1858| v1858_1(void) = NoOp : +# 1859| r1859_1(glval) = VariableAddress[x] : +# 1859| r1859_2(int) = Load[x] : &:r1859_1, ~m? +# 1859| r1859_3(glval) = VariableAddress[z] : +# 1859| r1859_4(int) = Load[z] : &:r1859_3, ~m? +# 1859| r1859_5(int) = Add : r1859_2, r1859_4 +# 1859| r1859_6(glval) = VariableAddress[x] : +# 1859| mu1859_7(int) = Store[x] : &:r1859_6, r1859_5 +# 1862| r1862_1(glval) = VariableAddress[z2] : +# 1862| r1862_2(glval) = VariableAddress[z] : +# 1862| r1862_3(int) = Load[z] : &:r1862_2, ~m? +# 1862| mu1862_4(int) = Store[z2] : &:r1862_1, r1862_3 +# 1862| r1862_5(glval) = VariableAddress[z2] : +# 1862| r1862_6(int) = Load[z2] : &:r1862_5, ~m? +# 1862| r1862_7(int) = CopyValue : r1862_6 +# 1862| v1862_8(void) = Switch : r1862_7 #-----| Default -> Block 6 -# 1816| Block 6 -# 1816| v1816_1(void) = NoOp : -# 1817| r1817_1(glval) = VariableAddress[z2] : -# 1817| r1817_2(int) = Load[z2] : &:r1817_1, ~m? -# 1817| r1817_3(glval) = VariableAddress[x] : -# 1817| r1817_4(int) = Load[x] : &:r1817_3, ~m? -# 1817| r1817_5(int) = Add : r1817_4, r1817_2 -# 1817| mu1817_6(int) = Store[x] : &:r1817_3, r1817_5 -# 1819| v1819_1(void) = NoOp : -# 1787| v1787_6(void) = ReturnVoid : -# 1787| v1787_7(void) = AliasedUse : ~m? -# 1787| v1787_8(void) = ExitFunction : +# 1863| Block 6 +# 1863| v1863_1(void) = NoOp : +# 1864| r1864_1(glval) = VariableAddress[z2] : +# 1864| r1864_2(int) = Load[z2] : &:r1864_1, ~m? +# 1864| r1864_3(glval) = VariableAddress[x] : +# 1864| r1864_4(int) = Load[x] : &:r1864_3, ~m? +# 1864| r1864_5(int) = Add : r1864_4, r1864_2 +# 1864| mu1864_6(int) = Store[x] : &:r1864_3, r1864_5 +# 1866| v1866_1(void) = NoOp : +# 1834| v1834_6(void) = ReturnVoid : +# 1834| v1834_7(void) = AliasedUse : ~m? +# 1834| v1834_8(void) = ExitFunction : -# 1823| int global_2 -# 1823| Block 0 -# 1823| v1823_1(void) = EnterFunction : -# 1823| mu1823_2(unknown) = AliasedDefinition : -# 1823| r1823_3(glval) = VariableAddress[global_2] : -# 1823| r1823_4(int) = Constant[1] : -# 1823| mu1823_5(int) = Store[global_2] : &:r1823_3, r1823_4 -# 1823| v1823_6(void) = ReturnVoid : -# 1823| v1823_7(void) = AliasedUse : ~m? -# 1823| v1823_8(void) = ExitFunction : +# 1870| int global_2 +# 1870| Block 0 +# 1870| v1870_1(void) = EnterFunction : +# 1870| mu1870_2(unknown) = AliasedDefinition : +# 1870| r1870_3(glval) = VariableAddress[global_2] : +# 1870| r1870_4(int) = Constant[1] : +# 1870| mu1870_5(int) = Store[global_2] : &:r1870_3, r1870_4 +# 1870| v1870_6(void) = ReturnVoid : +# 1870| v1870_7(void) = AliasedUse : ~m? +# 1870| v1870_8(void) = ExitFunction : -# 1827| constructor_only global_4 -# 1827| Block 0 -# 1827| v1827_1(void) = EnterFunction : -# 1827| mu1827_2(unknown) = AliasedDefinition : -# 1827| r1827_3(glval) = VariableAddress[global_4] : -# 1827| r1827_4(glval) = FunctionAddress[constructor_only] : -# 1827| r1827_5(int) = Constant[1] : -# 1827| v1827_6(void) = Call[constructor_only] : func:r1827_4, this:r1827_3, 0:r1827_5 -# 1827| mu1827_7(unknown) = ^CallSideEffect : ~m? -# 1827| mu1827_8(constructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1827_3 -# 1827| v1827_9(void) = ReturnVoid : -# 1827| v1827_10(void) = AliasedUse : ~m? -# 1827| v1827_11(void) = ExitFunction : +# 1874| constructor_only global_4 +# 1874| Block 0 +# 1874| v1874_1(void) = EnterFunction : +# 1874| mu1874_2(unknown) = AliasedDefinition : +# 1874| r1874_3(glval) = VariableAddress[global_4] : +# 1874| r1874_4(glval) = FunctionAddress[constructor_only] : +# 1874| r1874_5(int) = Constant[1] : +# 1874| v1874_6(void) = Call[constructor_only] : func:r1874_4, this:r1874_3, 0:r1874_5 +# 1874| mu1874_7(unknown) = ^CallSideEffect : ~m? +# 1874| mu1874_8(constructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1874_3 +# 1874| v1874_9(void) = ReturnVoid : +# 1874| v1874_10(void) = AliasedUse : ~m? +# 1874| v1874_11(void) = ExitFunction : -# 1829| constructor_only global_5 -# 1829| Block 0 -# 1829| v1829_1(void) = EnterFunction : -# 1829| mu1829_2(unknown) = AliasedDefinition : -# 1829| r1829_3(glval) = VariableAddress[global_5] : -# 1829| r1829_4(glval) = FunctionAddress[constructor_only] : -# 1829| r1829_5(int) = Constant[2] : -# 1829| v1829_6(void) = Call[constructor_only] : func:r1829_4, this:r1829_3, 0:r1829_5 -# 1829| mu1829_7(unknown) = ^CallSideEffect : ~m? -# 1829| mu1829_8(constructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1829_3 -# 1829| v1829_9(void) = ReturnVoid : -# 1829| v1829_10(void) = AliasedUse : ~m? -# 1829| v1829_11(void) = ExitFunction : +# 1876| constructor_only global_5 +# 1876| Block 0 +# 1876| v1876_1(void) = EnterFunction : +# 1876| mu1876_2(unknown) = AliasedDefinition : +# 1876| r1876_3(glval) = VariableAddress[global_5] : +# 1876| r1876_4(glval) = FunctionAddress[constructor_only] : +# 1876| r1876_5(int) = Constant[2] : +# 1876| v1876_6(void) = Call[constructor_only] : func:r1876_4, this:r1876_3, 0:r1876_5 +# 1876| mu1876_7(unknown) = ^CallSideEffect : ~m? +# 1876| mu1876_8(constructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1876_3 +# 1876| v1876_9(void) = ReturnVoid : +# 1876| v1876_10(void) = AliasedUse : ~m? +# 1876| v1876_11(void) = ExitFunction : -# 1831| char* global_string -# 1831| Block 0 -# 1831| v1831_1(void) = EnterFunction : -# 1831| mu1831_2(unknown) = AliasedDefinition : -# 1831| r1831_3(glval) = VariableAddress[global_string] : -# 1831| r1831_4(glval) = StringConstant["global string"] : -# 1831| r1831_5(char *) = Convert : r1831_4 -# 1831| r1831_6(char *) = Convert : r1831_5 -# 1831| mu1831_7(char *) = Store[global_string] : &:r1831_3, r1831_6 -# 1831| v1831_8(void) = ReturnVoid : -# 1831| v1831_9(void) = AliasedUse : ~m? -# 1831| v1831_10(void) = ExitFunction : +# 1878| char* global_string +# 1878| Block 0 +# 1878| v1878_1(void) = EnterFunction : +# 1878| mu1878_2(unknown) = AliasedDefinition : +# 1878| r1878_3(glval) = VariableAddress[global_string] : +# 1878| r1878_4(glval) = StringConstant["global string"] : +# 1878| r1878_5(char *) = Convert : r1878_4 +# 1878| r1878_6(char *) = Convert : r1878_5 +# 1878| mu1878_7(char *) = Store[global_string] : &:r1878_3, r1878_6 +# 1878| v1878_8(void) = ReturnVoid : +# 1878| v1878_9(void) = AliasedUse : ~m? +# 1878| v1878_10(void) = ExitFunction : -# 1833| int global_6 -# 1833| Block 0 -# 1833| v1833_1(void) = EnterFunction : -# 1833| mu1833_2(unknown) = AliasedDefinition : -# 1833| r1833_3(glval) = VariableAddress[global_6] : -# 1833| r1833_4(glval) = VariableAddress[global_2] : -# 1833| r1833_5(int) = Load[global_2] : &:r1833_4, ~m? -# 1833| mu1833_6(int) = Store[global_6] : &:r1833_3, r1833_5 -# 1833| v1833_7(void) = ReturnVoid : -# 1833| v1833_8(void) = AliasedUse : ~m? -# 1833| v1833_9(void) = ExitFunction : +# 1880| int global_6 +# 1880| Block 0 +# 1880| v1880_1(void) = EnterFunction : +# 1880| mu1880_2(unknown) = AliasedDefinition : +# 1880| r1880_3(glval) = VariableAddress[global_6] : +# 1880| r1880_4(glval) = VariableAddress[global_2] : +# 1880| r1880_5(int) = Load[global_2] : &:r1880_4, ~m? +# 1880| mu1880_6(int) = Store[global_6] : &:r1880_3, r1880_5 +# 1880| v1880_7(void) = ReturnVoid : +# 1880| v1880_8(void) = AliasedUse : ~m? +# 1880| v1880_9(void) = ExitFunction : -# 1836| block_assignment::A& block_assignment::A::operator=(block_assignment::A&&) -# 1836| Block 0 -# 1836| v1836_1(void) = EnterFunction : -# 1836| mu1836_2(unknown) = AliasedDefinition : -# 1836| mu1836_3(unknown) = InitializeNonLocal : -# 1836| r1836_4(glval) = VariableAddress[#this] : -# 1836| mu1836_5(glval) = InitializeParameter[#this] : &:r1836_4 -# 1836| r1836_6(glval) = Load[#this] : &:r1836_4, ~m? -# 1836| mu1836_7(A) = InitializeIndirection[#this] : &:r1836_6 +# 1883| block_assignment::A& block_assignment::A::operator=(block_assignment::A&&) +# 1883| Block 0 +# 1883| v1883_1(void) = EnterFunction : +# 1883| mu1883_2(unknown) = AliasedDefinition : +# 1883| mu1883_3(unknown) = InitializeNonLocal : +# 1883| r1883_4(glval) = VariableAddress[#this] : +# 1883| mu1883_5(glval) = InitializeParameter[#this] : &:r1883_4 +# 1883| r1883_6(glval) = Load[#this] : &:r1883_4, ~m? +# 1883| mu1883_7(A) = InitializeIndirection[#this] : &:r1883_6 #-----| r0_1(glval) = VariableAddress[(unnamed parameter 0)] : #-----| mu0_2(A &&) = InitializeParameter[(unnamed parameter 0)] : &:r0_1 #-----| r0_3(A &&) = Load[(unnamed parameter 0)] : &:r0_1, ~m? @@ -10141,896 +10569,896 @@ ir.cpp: #-----| r0_17(glval) = CopyValue : r0_16 #-----| r0_18(A &) = CopyValue : r0_17 #-----| mu0_19(A &) = Store[#return] : &:r0_14, r0_18 -# 1836| v1836_8(void) = ReturnIndirection[#this] : &:r1836_6, ~m? +# 1883| v1883_8(void) = ReturnIndirection[#this] : &:r1883_6, ~m? #-----| v0_20(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, ~m? -# 1836| r1836_9(glval) = VariableAddress[#return] : -# 1836| v1836_10(void) = ReturnValue : &:r1836_9, ~m? -# 1836| v1836_11(void) = AliasedUse : ~m? -# 1836| v1836_12(void) = ExitFunction : +# 1883| r1883_9(glval) = VariableAddress[#return] : +# 1883| v1883_10(void) = ReturnValue : &:r1883_9, ~m? +# 1883| v1883_11(void) = AliasedUse : ~m? +# 1883| v1883_12(void) = ExitFunction : -# 1841| block_assignment::B& block_assignment::B::operator=(block_assignment::B&&) -# 1841| Block 0 -# 1841| v1841_1(void) = EnterFunction : -# 1841| mu1841_2(unknown) = AliasedDefinition : -# 1841| mu1841_3(unknown) = InitializeNonLocal : -# 1841| r1841_4(glval) = VariableAddress[#this] : -# 1841| mu1841_5(glval) = InitializeParameter[#this] : &:r1841_4 -# 1841| r1841_6(glval) = Load[#this] : &:r1841_4, ~m? -# 1841| mu1841_7(B) = InitializeIndirection[#this] : &:r1841_6 +# 1888| block_assignment::B& block_assignment::B::operator=(block_assignment::B&&) +# 1888| Block 0 +# 1888| v1888_1(void) = EnterFunction : +# 1888| mu1888_2(unknown) = AliasedDefinition : +# 1888| mu1888_3(unknown) = InitializeNonLocal : +# 1888| r1888_4(glval) = VariableAddress[#this] : +# 1888| mu1888_5(glval) = InitializeParameter[#this] : &:r1888_4 +# 1888| r1888_6(glval) = Load[#this] : &:r1888_4, ~m? +# 1888| mu1888_7(B) = InitializeIndirection[#this] : &:r1888_6 #-----| r0_1(glval) = VariableAddress[(unnamed parameter 0)] : #-----| mu0_2(B &&) = InitializeParameter[(unnamed parameter 0)] : &:r0_1 #-----| r0_3(B &&) = Load[(unnamed parameter 0)] : &:r0_1, ~m? #-----| mu0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3 -# 1841| r1841_8(glval) = VariableAddress[#this] : -# 1841| r1841_9(B *) = Load[#this] : &:r1841_8, ~m? -#-----| r0_5(A *) = ConvertToNonVirtualBase[B : A] : r1841_9 -# 1841| r1841_10(glval) = FunctionAddress[operator=] : -# 1841| r1841_11(glval) = VariableAddress[(unnamed parameter 0)] : -# 1841| r1841_12(B &&) = Load[(unnamed parameter 0)] : &:r1841_11, ~m? -#-----| r0_6(glval) = CopyValue : r1841_12 -# 1841| r1841_13(B *) = CopyValue : r0_6 -#-----| r0_7(A *) = ConvertToNonVirtualBase[B : A] : r1841_13 -# 1841| r1841_14(glval) = CopyValue : r0_7 -#-----| r0_8(A &) = CopyValue : r1841_14 -# 1841| r1841_15(A &) = Call[operator=] : func:r1841_10, this:r0_5, 0:r0_8 -# 1841| mu1841_16(unknown) = ^CallSideEffect : ~m? +# 1888| r1888_8(glval) = VariableAddress[#this] : +# 1888| r1888_9(B *) = Load[#this] : &:r1888_8, ~m? +#-----| r0_5(A *) = ConvertToNonVirtualBase[B : A] : r1888_9 +# 1888| r1888_10(glval) = FunctionAddress[operator=] : +# 1888| r1888_11(glval) = VariableAddress[(unnamed parameter 0)] : +# 1888| r1888_12(B &&) = Load[(unnamed parameter 0)] : &:r1888_11, ~m? +#-----| r0_6(glval) = CopyValue : r1888_12 +# 1888| r1888_13(B *) = CopyValue : r0_6 +#-----| r0_7(A *) = ConvertToNonVirtualBase[B : A] : r1888_13 +# 1888| r1888_14(glval) = CopyValue : r0_7 +#-----| r0_8(A &) = CopyValue : r1888_14 +# 1888| r1888_15(A &) = Call[operator=] : func:r1888_10, this:r0_5, 0:r0_8 +# 1888| mu1888_16(unknown) = ^CallSideEffect : ~m? #-----| v0_9(void) = ^IndirectReadSideEffect[-1] : &:r0_5, ~m? #-----| v0_10(void) = ^BufferReadSideEffect[0] : &:r0_8, ~m? #-----| mu0_11(A) = ^IndirectMayWriteSideEffect[-1] : &:r0_5 #-----| mu0_12(unknown) = ^BufferMayWriteSideEffect[0] : &:r0_8 -#-----| r0_13(glval) = CopyValue : r1841_15 +#-----| r0_13(glval) = CopyValue : r1888_15 #-----| r0_14(glval) = VariableAddress[#return] : #-----| r0_15(glval) = VariableAddress[#this] : #-----| r0_16(B *) = Load[#this] : &:r0_15, ~m? #-----| r0_17(glval) = CopyValue : r0_16 #-----| r0_18(B &) = CopyValue : r0_17 #-----| mu0_19(B &) = Store[#return] : &:r0_14, r0_18 -# 1841| v1841_17(void) = ReturnIndirection[#this] : &:r1841_6, ~m? +# 1888| v1888_17(void) = ReturnIndirection[#this] : &:r1888_6, ~m? #-----| v0_20(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, ~m? -# 1841| r1841_18(glval) = VariableAddress[#return] : -# 1841| v1841_19(void) = ReturnValue : &:r1841_18, ~m? -# 1841| v1841_20(void) = AliasedUse : ~m? -# 1841| v1841_21(void) = ExitFunction : +# 1888| r1888_18(glval) = VariableAddress[#return] : +# 1888| v1888_19(void) = ReturnValue : &:r1888_18, ~m? +# 1888| v1888_20(void) = AliasedUse : ~m? +# 1888| v1888_21(void) = ExitFunction : -# 1845| void block_assignment::foo() -# 1845| Block 0 -# 1845| v1845_1(void) = EnterFunction : -# 1845| mu1845_2(unknown) = AliasedDefinition : -# 1845| mu1845_3(unknown) = InitializeNonLocal : -# 1846| r1846_1(glval) = VariableAddress[v] : -# 1846| mu1846_2(B) = Uninitialized[v] : &:r1846_1 -# 1846| r1846_3(glval) = FunctionAddress[B] : -# 1846| r1846_4(A *) = Constant[0] : -# 1846| v1846_5(void) = Call[B] : func:r1846_3, this:r1846_1, 0:r1846_4 -# 1846| mu1846_6(unknown) = ^CallSideEffect : ~m? -# 1846| v1846_7(void) = ^BufferReadSideEffect[0] : &:r1846_4, ~m? -# 1846| mu1846_8(B) = ^IndirectMayWriteSideEffect[-1] : &:r1846_1 -# 1846| mu1846_9(unknown) = ^BufferMayWriteSideEffect[0] : &:r1846_4 -# 1847| r1847_1(glval) = VariableAddress[v] : -# 1847| r1847_2(glval) = FunctionAddress[operator=] : -# 1847| r1847_3(glval) = VariableAddress[#temp1847:13] : -# 1847| mu1847_4(B) = Uninitialized[#temp1847:13] : &:r1847_3 -# 1847| r1847_5(glval) = FunctionAddress[B] : -# 1847| r1847_6(A *) = Constant[0] : -# 1847| v1847_7(void) = Call[B] : func:r1847_5, this:r1847_3, 0:r1847_6 -# 1847| mu1847_8(unknown) = ^CallSideEffect : ~m? -# 1847| v1847_9(void) = ^BufferReadSideEffect[0] : &:r1847_6, ~m? -# 1847| mu1847_10(B) = ^IndirectMayWriteSideEffect[-1] : &:r1847_3 -# 1847| mu1847_11(unknown) = ^BufferMayWriteSideEffect[0] : &:r1847_6 -# 1847| r1847_12(B &) = CopyValue : r1847_3 -# 1847| r1847_13(B &) = Call[operator=] : func:r1847_2, this:r1847_1, 0:r1847_12 -# 1847| mu1847_14(unknown) = ^CallSideEffect : ~m? -# 1847| v1847_15(void) = ^IndirectReadSideEffect[-1] : &:r1847_1, ~m? -# 1847| v1847_16(void) = ^BufferReadSideEffect[0] : &:r1847_12, ~m? -# 1847| mu1847_17(B) = ^IndirectMayWriteSideEffect[-1] : &:r1847_1 -# 1847| mu1847_18(unknown) = ^BufferMayWriteSideEffect[0] : &:r1847_12 -# 1847| r1847_19(glval) = CopyValue : r1847_13 -# 1848| v1848_1(void) = NoOp : -# 1845| v1845_4(void) = ReturnVoid : -# 1845| v1845_5(void) = AliasedUse : ~m? -# 1845| v1845_6(void) = ExitFunction : +# 1892| void block_assignment::foo() +# 1892| Block 0 +# 1892| v1892_1(void) = EnterFunction : +# 1892| mu1892_2(unknown) = AliasedDefinition : +# 1892| mu1892_3(unknown) = InitializeNonLocal : +# 1893| r1893_1(glval) = VariableAddress[v] : +# 1893| mu1893_2(B) = Uninitialized[v] : &:r1893_1 +# 1893| r1893_3(glval) = FunctionAddress[B] : +# 1893| r1893_4(A *) = Constant[0] : +# 1893| v1893_5(void) = Call[B] : func:r1893_3, this:r1893_1, 0:r1893_4 +# 1893| mu1893_6(unknown) = ^CallSideEffect : ~m? +# 1893| v1893_7(void) = ^BufferReadSideEffect[0] : &:r1893_4, ~m? +# 1893| mu1893_8(B) = ^IndirectMayWriteSideEffect[-1] : &:r1893_1 +# 1893| mu1893_9(unknown) = ^BufferMayWriteSideEffect[0] : &:r1893_4 +# 1894| r1894_1(glval) = VariableAddress[v] : +# 1894| r1894_2(glval) = FunctionAddress[operator=] : +# 1894| r1894_3(glval) = VariableAddress[#temp1894:13] : +# 1894| mu1894_4(B) = Uninitialized[#temp1894:13] : &:r1894_3 +# 1894| r1894_5(glval) = FunctionAddress[B] : +# 1894| r1894_6(A *) = Constant[0] : +# 1894| v1894_7(void) = Call[B] : func:r1894_5, this:r1894_3, 0:r1894_6 +# 1894| mu1894_8(unknown) = ^CallSideEffect : ~m? +# 1894| v1894_9(void) = ^BufferReadSideEffect[0] : &:r1894_6, ~m? +# 1894| mu1894_10(B) = ^IndirectMayWriteSideEffect[-1] : &:r1894_3 +# 1894| mu1894_11(unknown) = ^BufferMayWriteSideEffect[0] : &:r1894_6 +# 1894| r1894_12(B &) = CopyValue : r1894_3 +# 1894| r1894_13(B &) = Call[operator=] : func:r1894_2, this:r1894_1, 0:r1894_12 +# 1894| mu1894_14(unknown) = ^CallSideEffect : ~m? +# 1894| v1894_15(void) = ^IndirectReadSideEffect[-1] : &:r1894_1, ~m? +# 1894| v1894_16(void) = ^BufferReadSideEffect[0] : &:r1894_12, ~m? +# 1894| mu1894_17(B) = ^IndirectMayWriteSideEffect[-1] : &:r1894_1 +# 1894| mu1894_18(unknown) = ^BufferMayWriteSideEffect[0] : &:r1894_12 +# 1894| r1894_19(glval) = CopyValue : r1894_13 +# 1895| v1895_1(void) = NoOp : +# 1892| v1892_4(void) = ReturnVoid : +# 1892| v1892_5(void) = AliasedUse : ~m? +# 1892| v1892_6(void) = ExitFunction : -# 1851| void magicvars() -# 1851| Block 0 -# 1851| v1851_1(void) = EnterFunction : -# 1851| mu1851_2(unknown) = AliasedDefinition : -# 1851| mu1851_3(unknown) = InitializeNonLocal : -# 1852| r1852_1(glval) = VariableAddress[pf] : -# 1852| r1852_2(glval) = VariableAddress[__PRETTY_FUNCTION__] : -# 1852| r1852_3(char *) = Convert : r1852_2 -# 1852| mu1852_4(char *) = Store[pf] : &:r1852_1, r1852_3 -# 1853| r1853_1(glval) = VariableAddress[strfunc] : -# 1853| r1853_2(glval) = VariableAddress[__func__] : -# 1853| r1853_3(char *) = Convert : r1853_2 -# 1853| mu1853_4(char *) = Store[strfunc] : &:r1853_1, r1853_3 -# 1854| v1854_1(void) = NoOp : -# 1851| v1851_4(void) = ReturnVoid : -# 1851| v1851_5(void) = AliasedUse : ~m? -# 1851| v1851_6(void) = ExitFunction : +# 1898| void magicvars() +# 1898| Block 0 +# 1898| v1898_1(void) = EnterFunction : +# 1898| mu1898_2(unknown) = AliasedDefinition : +# 1898| mu1898_3(unknown) = InitializeNonLocal : +# 1899| r1899_1(glval) = VariableAddress[pf] : +# 1899| r1899_2(glval) = VariableAddress[__PRETTY_FUNCTION__] : +# 1899| r1899_3(char *) = Convert : r1899_2 +# 1899| mu1899_4(char *) = Store[pf] : &:r1899_1, r1899_3 +# 1900| r1900_1(glval) = VariableAddress[strfunc] : +# 1900| r1900_2(glval) = VariableAddress[__func__] : +# 1900| r1900_3(char *) = Convert : r1900_2 +# 1900| mu1900_4(char *) = Store[strfunc] : &:r1900_1, r1900_3 +# 1901| v1901_1(void) = NoOp : +# 1898| v1898_4(void) = ReturnVoid : +# 1898| v1898_5(void) = AliasedUse : ~m? +# 1898| v1898_6(void) = ExitFunction : -# 1864| void* missing_declaration_entries::Bar1::missing_type_decl_entry(missing_declaration_entries::Bar1::pointer) -# 1864| Block 0 -# 1864| v1864_1(void) = EnterFunction : -# 1864| mu1864_2(unknown) = AliasedDefinition : -# 1864| mu1864_3(unknown) = InitializeNonLocal : -# 1864| r1864_4(glval) = VariableAddress[#this] : -# 1864| mu1864_5(glval>) = InitializeParameter[#this] : &:r1864_4 -# 1864| r1864_6(glval>) = Load[#this] : &:r1864_4, ~m? -# 1864| mu1864_7(Bar1) = InitializeIndirection[#this] : &:r1864_6 -# 1864| r1864_8(glval) = VariableAddress[p] : -# 1864| mu1864_9(S *) = InitializeParameter[p] : &:r1864_8 -# 1864| r1864_10(S *) = Load[p] : &:r1864_8, ~m? -# 1864| mu1864_11(unknown) = InitializeIndirection[p] : &:r1864_10 -# 1866| r1866_1(glval) = VariableAddress[#return] : -# 1866| r1866_2(glval) = VariableAddress[p] : -# 1866| r1866_3(S *) = Load[p] : &:r1866_2, ~m? -# 1866| r1866_4(void *) = Convert : r1866_3 -# 1866| mu1866_5(void *) = Store[#return] : &:r1866_1, r1866_4 -# 1864| v1864_12(void) = ReturnIndirection[#this] : &:r1864_6, ~m? -# 1864| v1864_13(void) = ReturnIndirection[p] : &:r1864_10, ~m? -# 1864| r1864_14(glval) = VariableAddress[#return] : -# 1864| v1864_15(void) = ReturnValue : &:r1864_14, ~m? -# 1864| v1864_16(void) = AliasedUse : ~m? -# 1864| v1864_17(void) = ExitFunction : +# 1911| void* missing_declaration_entries::Bar1::missing_type_decl_entry(missing_declaration_entries::Bar1::pointer) +# 1911| Block 0 +# 1911| v1911_1(void) = EnterFunction : +# 1911| mu1911_2(unknown) = AliasedDefinition : +# 1911| mu1911_3(unknown) = InitializeNonLocal : +# 1911| r1911_4(glval) = VariableAddress[#this] : +# 1911| mu1911_5(glval>) = InitializeParameter[#this] : &:r1911_4 +# 1911| r1911_6(glval>) = Load[#this] : &:r1911_4, ~m? +# 1911| mu1911_7(Bar1) = InitializeIndirection[#this] : &:r1911_6 +# 1911| r1911_8(glval) = VariableAddress[p] : +# 1911| mu1911_9(S *) = InitializeParameter[p] : &:r1911_8 +# 1911| r1911_10(S *) = Load[p] : &:r1911_8, ~m? +# 1911| mu1911_11(unknown) = InitializeIndirection[p] : &:r1911_10 +# 1913| r1913_1(glval) = VariableAddress[#return] : +# 1913| r1913_2(glval) = VariableAddress[p] : +# 1913| r1913_3(S *) = Load[p] : &:r1913_2, ~m? +# 1913| r1913_4(void *) = Convert : r1913_3 +# 1913| mu1913_5(void *) = Store[#return] : &:r1913_1, r1913_4 +# 1911| v1911_12(void) = ReturnIndirection[#this] : &:r1911_6, ~m? +# 1911| v1911_13(void) = ReturnIndirection[p] : &:r1911_10, ~m? +# 1911| r1911_14(glval) = VariableAddress[#return] : +# 1911| v1911_15(void) = ReturnValue : &:r1911_14, ~m? +# 1911| v1911_16(void) = AliasedUse : ~m? +# 1911| v1911_17(void) = ExitFunction : -# 1870| void missing_declaration_entries::test1() -# 1870| Block 0 -# 1870| v1870_1(void) = EnterFunction : -# 1870| mu1870_2(unknown) = AliasedDefinition : -# 1870| mu1870_3(unknown) = InitializeNonLocal : -# 1871| r1871_1(glval>) = VariableAddress[b] : -# 1871| mu1871_2(Bar1) = Uninitialized[b] : &:r1871_1 -# 1872| r1872_1(glval>) = VariableAddress[b] : -# 1872| r1872_2(glval) = FunctionAddress[missing_type_decl_entry] : -# 1872| r1872_3(S *) = Constant[0] : -# 1872| r1872_4(void *) = Call[missing_type_decl_entry] : func:r1872_2, this:r1872_1, 0:r1872_3 -# 1872| mu1872_5(unknown) = ^CallSideEffect : ~m? -# 1872| v1872_6(void) = ^IndirectReadSideEffect[-1] : &:r1872_1, ~m? -# 1872| v1872_7(void) = ^BufferReadSideEffect[0] : &:r1872_3, ~m? -# 1872| mu1872_8(Bar1) = ^IndirectMayWriteSideEffect[-1] : &:r1872_1 -# 1872| mu1872_9(unknown) = ^BufferMayWriteSideEffect[0] : &:r1872_3 -# 1873| v1873_1(void) = NoOp : -# 1870| v1870_4(void) = ReturnVoid : -# 1870| v1870_5(void) = AliasedUse : ~m? -# 1870| v1870_6(void) = ExitFunction : +# 1917| void missing_declaration_entries::test1() +# 1917| Block 0 +# 1917| v1917_1(void) = EnterFunction : +# 1917| mu1917_2(unknown) = AliasedDefinition : +# 1917| mu1917_3(unknown) = InitializeNonLocal : +# 1918| r1918_1(glval>) = VariableAddress[b] : +# 1918| mu1918_2(Bar1) = Uninitialized[b] : &:r1918_1 +# 1919| r1919_1(glval>) = VariableAddress[b] : +# 1919| r1919_2(glval) = FunctionAddress[missing_type_decl_entry] : +# 1919| r1919_3(S *) = Constant[0] : +# 1919| r1919_4(void *) = Call[missing_type_decl_entry] : func:r1919_2, this:r1919_1, 0:r1919_3 +# 1919| mu1919_5(unknown) = ^CallSideEffect : ~m? +# 1919| v1919_6(void) = ^IndirectReadSideEffect[-1] : &:r1919_1, ~m? +# 1919| v1919_7(void) = ^BufferReadSideEffect[0] : &:r1919_3, ~m? +# 1919| mu1919_8(Bar1) = ^IndirectMayWriteSideEffect[-1] : &:r1919_1 +# 1919| mu1919_9(unknown) = ^BufferMayWriteSideEffect[0] : &:r1919_3 +# 1920| v1920_1(void) = NoOp : +# 1917| v1917_4(void) = ReturnVoid : +# 1917| v1917_5(void) = AliasedUse : ~m? +# 1917| v1917_6(void) = ExitFunction : -# 1877| int missing_declaration_entries::Bar2::two_missing_variable_declaration_entries() -# 1877| Block 0 -# 1877| v1877_1(void) = EnterFunction : -# 1877| mu1877_2(unknown) = AliasedDefinition : -# 1877| mu1877_3(unknown) = InitializeNonLocal : -# 1877| r1877_4(glval) = VariableAddress[#this] : -# 1877| mu1877_5(glval>) = InitializeParameter[#this] : &:r1877_4 -# 1877| r1877_6(glval>) = Load[#this] : &:r1877_4, ~m? -# 1877| mu1877_7(Bar2) = InitializeIndirection[#this] : &:r1877_6 -# 1878| r1878_1(glval) = VariableAddress[x] : -# 1878| mu1878_2(int[10]) = Uninitialized[x] : &:r1878_1 -# 1878| r1878_3(glval) = VariableAddress[y] : -# 1878| mu1878_4(int[10]) = Uninitialized[y] : &:r1878_3 -# 1879| r1879_1(int) = Constant[10] : -# 1879| r1879_2(glval) = VariableAddress[x] : -# 1879| r1879_3(int *) = Convert : r1879_2 -# 1879| r1879_4(glval) = CopyValue : r1879_3 -# 1879| mu1879_5(int) = Store[?] : &:r1879_4, r1879_1 -# 1880| r1880_1(int) = Constant[10] : -# 1880| r1880_2(glval) = VariableAddress[y] : -# 1880| r1880_3(int *) = Convert : r1880_2 -# 1880| r1880_4(glval) = CopyValue : r1880_3 -# 1880| mu1880_5(int) = Store[?] : &:r1880_4, r1880_1 -# 1881| r1881_1(glval) = VariableAddress[#return] : -# 1881| r1881_2(glval) = VariableAddress[x] : -# 1881| r1881_3(int *) = Convert : r1881_2 -# 1881| r1881_4(int) = Load[?] : &:r1881_3, ~m? -# 1881| r1881_5(glval) = VariableAddress[y] : -# 1881| r1881_6(int *) = Convert : r1881_5 -# 1881| r1881_7(int) = Load[?] : &:r1881_6, ~m? -# 1881| r1881_8(int) = Add : r1881_4, r1881_7 -# 1881| mu1881_9(int) = Store[#return] : &:r1881_1, r1881_8 -# 1877| v1877_8(void) = ReturnIndirection[#this] : &:r1877_6, ~m? -# 1877| r1877_9(glval) = VariableAddress[#return] : -# 1877| v1877_10(void) = ReturnValue : &:r1877_9, ~m? -# 1877| v1877_11(void) = AliasedUse : ~m? -# 1877| v1877_12(void) = ExitFunction : +# 1924| int missing_declaration_entries::Bar2::two_missing_variable_declaration_entries() +# 1924| Block 0 +# 1924| v1924_1(void) = EnterFunction : +# 1924| mu1924_2(unknown) = AliasedDefinition : +# 1924| mu1924_3(unknown) = InitializeNonLocal : +# 1924| r1924_4(glval) = VariableAddress[#this] : +# 1924| mu1924_5(glval>) = InitializeParameter[#this] : &:r1924_4 +# 1924| r1924_6(glval>) = Load[#this] : &:r1924_4, ~m? +# 1924| mu1924_7(Bar2) = InitializeIndirection[#this] : &:r1924_6 +# 1925| r1925_1(glval) = VariableAddress[x] : +# 1925| mu1925_2(int[10]) = Uninitialized[x] : &:r1925_1 +# 1925| r1925_3(glval) = VariableAddress[y] : +# 1925| mu1925_4(int[10]) = Uninitialized[y] : &:r1925_3 +# 1926| r1926_1(int) = Constant[10] : +# 1926| r1926_2(glval) = VariableAddress[x] : +# 1926| r1926_3(int *) = Convert : r1926_2 +# 1926| r1926_4(glval) = CopyValue : r1926_3 +# 1926| mu1926_5(int) = Store[?] : &:r1926_4, r1926_1 +# 1927| r1927_1(int) = Constant[10] : +# 1927| r1927_2(glval) = VariableAddress[y] : +# 1927| r1927_3(int *) = Convert : r1927_2 +# 1927| r1927_4(glval) = CopyValue : r1927_3 +# 1927| mu1927_5(int) = Store[?] : &:r1927_4, r1927_1 +# 1928| r1928_1(glval) = VariableAddress[#return] : +# 1928| r1928_2(glval) = VariableAddress[x] : +# 1928| r1928_3(int *) = Convert : r1928_2 +# 1928| r1928_4(int) = Load[?] : &:r1928_3, ~m? +# 1928| r1928_5(glval) = VariableAddress[y] : +# 1928| r1928_6(int *) = Convert : r1928_5 +# 1928| r1928_7(int) = Load[?] : &:r1928_6, ~m? +# 1928| r1928_8(int) = Add : r1928_4, r1928_7 +# 1928| mu1928_9(int) = Store[#return] : &:r1928_1, r1928_8 +# 1924| v1924_8(void) = ReturnIndirection[#this] : &:r1924_6, ~m? +# 1924| r1924_9(glval) = VariableAddress[#return] : +# 1924| v1924_10(void) = ReturnValue : &:r1924_9, ~m? +# 1924| v1924_11(void) = AliasedUse : ~m? +# 1924| v1924_12(void) = ExitFunction : -# 1885| void missing_declaration_entries::test2() -# 1885| Block 0 -# 1885| v1885_1(void) = EnterFunction : -# 1885| mu1885_2(unknown) = AliasedDefinition : -# 1885| mu1885_3(unknown) = InitializeNonLocal : -# 1886| r1886_1(glval>) = VariableAddress[b] : -# 1886| mu1886_2(Bar2) = Uninitialized[b] : &:r1886_1 -# 1887| r1887_1(glval>) = VariableAddress[b] : -# 1887| r1887_2(glval) = FunctionAddress[two_missing_variable_declaration_entries] : -# 1887| r1887_3(int) = Call[two_missing_variable_declaration_entries] : func:r1887_2, this:r1887_1 -# 1887| mu1887_4(unknown) = ^CallSideEffect : ~m? -# 1887| v1887_5(void) = ^IndirectReadSideEffect[-1] : &:r1887_1, ~m? -# 1887| mu1887_6(Bar2) = ^IndirectMayWriteSideEffect[-1] : &:r1887_1 -# 1888| v1888_1(void) = NoOp : -# 1885| v1885_4(void) = ReturnVoid : -# 1885| v1885_5(void) = AliasedUse : ~m? -# 1885| v1885_6(void) = ExitFunction : +# 1932| void missing_declaration_entries::test2() +# 1932| Block 0 +# 1932| v1932_1(void) = EnterFunction : +# 1932| mu1932_2(unknown) = AliasedDefinition : +# 1932| mu1932_3(unknown) = InitializeNonLocal : +# 1933| r1933_1(glval>) = VariableAddress[b] : +# 1933| mu1933_2(Bar2) = Uninitialized[b] : &:r1933_1 +# 1934| r1934_1(glval>) = VariableAddress[b] : +# 1934| r1934_2(glval) = FunctionAddress[two_missing_variable_declaration_entries] : +# 1934| r1934_3(int) = Call[two_missing_variable_declaration_entries] : func:r1934_2, this:r1934_1 +# 1934| mu1934_4(unknown) = ^CallSideEffect : ~m? +# 1934| v1934_5(void) = ^IndirectReadSideEffect[-1] : &:r1934_1, ~m? +# 1934| mu1934_6(Bar2) = ^IndirectMayWriteSideEffect[-1] : &:r1934_1 +# 1935| v1935_1(void) = NoOp : +# 1932| v1932_4(void) = ReturnVoid : +# 1932| v1932_5(void) = AliasedUse : ~m? +# 1932| v1932_6(void) = ExitFunction : -# 1891| char global_template -# 1891| Block 0 -# 1891| v1891_1(void) = EnterFunction : -# 1891| mu1891_2(unknown) = AliasedDefinition : -# 1891| r1891_3(glval) = VariableAddress[global_template] : -# 1891| r1891_4(char) = Constant[42] : -# 1891| mu1891_5(char) = Store[global_template] : &:r1891_3, r1891_4 -# 1891| v1891_6(void) = ReturnVoid : -# 1891| v1891_7(void) = AliasedUse : ~m? -# 1891| v1891_8(void) = ExitFunction : +# 1938| char global_template +# 1938| Block 0 +# 1938| v1938_1(void) = EnterFunction : +# 1938| mu1938_2(unknown) = AliasedDefinition : +# 1938| r1938_3(glval) = VariableAddress[global_template] : +# 1938| r1938_4(char) = Constant[42] : +# 1938| mu1938_5(char) = Store[global_template] : &:r1938_3, r1938_4 +# 1938| v1938_6(void) = ReturnVoid : +# 1938| v1938_7(void) = AliasedUse : ~m? +# 1938| v1938_8(void) = ExitFunction : -# 1891| int global_template -# 1891| Block 0 -# 1891| v1891_1(void) = EnterFunction : -# 1891| mu1891_2(unknown) = AliasedDefinition : -# 1891| r1891_3(glval) = VariableAddress[global_template] : -# 1891| r1891_4(int) = Constant[42] : -# 1891| mu1891_5(int) = Store[global_template] : &:r1891_3, r1891_4 -# 1891| v1891_6(void) = ReturnVoid : -# 1891| v1891_7(void) = AliasedUse : ~m? -# 1891| v1891_8(void) = ExitFunction : +# 1938| int global_template +# 1938| Block 0 +# 1938| v1938_1(void) = EnterFunction : +# 1938| mu1938_2(unknown) = AliasedDefinition : +# 1938| r1938_3(glval) = VariableAddress[global_template] : +# 1938| r1938_4(int) = Constant[42] : +# 1938| mu1938_5(int) = Store[global_template] : &:r1938_3, r1938_4 +# 1938| v1938_6(void) = ReturnVoid : +# 1938| v1938_7(void) = AliasedUse : ~m? +# 1938| v1938_8(void) = ExitFunction : -# 1893| int test_global_template_int() -# 1893| Block 0 -# 1893| v1893_1(void) = EnterFunction : -# 1893| mu1893_2(unknown) = AliasedDefinition : -# 1893| mu1893_3(unknown) = InitializeNonLocal : -# 1894| r1894_1(glval) = VariableAddress[local_int] : -# 1894| r1894_2(glval) = VariableAddress[global_template] : -# 1894| r1894_3(int) = Load[global_template] : &:r1894_2, ~m? -# 1894| mu1894_4(int) = Store[local_int] : &:r1894_1, r1894_3 -# 1895| r1895_1(glval) = VariableAddress[local_char] : -# 1895| r1895_2(glval) = VariableAddress[global_template] : -# 1895| r1895_3(char) = Load[global_template] : &:r1895_2, ~m? -# 1895| mu1895_4(char) = Store[local_char] : &:r1895_1, r1895_3 -# 1896| r1896_1(glval) = VariableAddress[#return] : -# 1896| r1896_2(glval) = VariableAddress[local_int] : -# 1896| r1896_3(int) = Load[local_int] : &:r1896_2, ~m? -# 1896| r1896_4(glval) = VariableAddress[local_char] : -# 1896| r1896_5(char) = Load[local_char] : &:r1896_4, ~m? -# 1896| r1896_6(int) = Convert : r1896_5 -# 1896| r1896_7(int) = Add : r1896_3, r1896_6 -# 1896| mu1896_8(int) = Store[#return] : &:r1896_1, r1896_7 -# 1893| r1893_4(glval) = VariableAddress[#return] : -# 1893| v1893_5(void) = ReturnValue : &:r1893_4, ~m? -# 1893| v1893_6(void) = AliasedUse : ~m? -# 1893| v1893_7(void) = ExitFunction : +# 1940| int test_global_template_int() +# 1940| Block 0 +# 1940| v1940_1(void) = EnterFunction : +# 1940| mu1940_2(unknown) = AliasedDefinition : +# 1940| mu1940_3(unknown) = InitializeNonLocal : +# 1941| r1941_1(glval) = VariableAddress[local_int] : +# 1941| r1941_2(glval) = VariableAddress[global_template] : +# 1941| r1941_3(int) = Load[global_template] : &:r1941_2, ~m? +# 1941| mu1941_4(int) = Store[local_int] : &:r1941_1, r1941_3 +# 1942| r1942_1(glval) = VariableAddress[local_char] : +# 1942| r1942_2(glval) = VariableAddress[global_template] : +# 1942| r1942_3(char) = Load[global_template] : &:r1942_2, ~m? +# 1942| mu1942_4(char) = Store[local_char] : &:r1942_1, r1942_3 +# 1943| r1943_1(glval) = VariableAddress[#return] : +# 1943| r1943_2(glval) = VariableAddress[local_int] : +# 1943| r1943_3(int) = Load[local_int] : &:r1943_2, ~m? +# 1943| r1943_4(glval) = VariableAddress[local_char] : +# 1943| r1943_5(char) = Load[local_char] : &:r1943_4, ~m? +# 1943| r1943_6(int) = Convert : r1943_5 +# 1943| r1943_7(int) = Add : r1943_3, r1943_6 +# 1943| mu1943_8(int) = Store[#return] : &:r1943_1, r1943_7 +# 1940| r1940_4(glval) = VariableAddress[#return] : +# 1940| v1940_5(void) = ReturnValue : &:r1940_4, ~m? +# 1940| v1940_6(void) = AliasedUse : ~m? +# 1940| v1940_7(void) = ExitFunction : -# 1901| int noreturnTest(int) -# 1901| Block 0 -# 1901| v1901_1(void) = EnterFunction : -# 1901| mu1901_2(unknown) = AliasedDefinition : -# 1901| mu1901_3(unknown) = InitializeNonLocal : -# 1901| r1901_4(glval) = VariableAddress[x] : -# 1901| mu1901_5(int) = InitializeParameter[x] : &:r1901_4 -# 1902| r1902_1(glval) = VariableAddress[x] : -# 1902| r1902_2(int) = Load[x] : &:r1902_1, ~m? -# 1902| r1902_3(int) = Constant[10] : -# 1902| r1902_4(bool) = CompareLT : r1902_2, r1902_3 -# 1902| v1902_5(void) = ConditionalBranch : r1902_4 +# 1948| int noreturnTest(int) +# 1948| Block 0 +# 1948| v1948_1(void) = EnterFunction : +# 1948| mu1948_2(unknown) = AliasedDefinition : +# 1948| mu1948_3(unknown) = InitializeNonLocal : +# 1948| r1948_4(glval) = VariableAddress[x] : +# 1948| mu1948_5(int) = InitializeParameter[x] : &:r1948_4 +# 1949| r1949_1(glval) = VariableAddress[x] : +# 1949| r1949_2(int) = Load[x] : &:r1949_1, ~m? +# 1949| r1949_3(int) = Constant[10] : +# 1949| r1949_4(bool) = CompareLT : r1949_2, r1949_3 +# 1949| v1949_5(void) = ConditionalBranch : r1949_4 #-----| False -> Block 3 #-----| True -> Block 2 -# 1901| Block 1 -# 1901| r1901_6(glval) = VariableAddress[#return] : -# 1901| v1901_7(void) = ReturnValue : &:r1901_6, ~m? -# 1901| v1901_8(void) = AliasedUse : ~m? -# 1901| v1901_9(void) = ExitFunction : +# 1948| Block 1 +# 1948| r1948_6(glval) = VariableAddress[#return] : +# 1948| v1948_7(void) = ReturnValue : &:r1948_6, ~m? +# 1948| v1948_8(void) = AliasedUse : ~m? +# 1948| v1948_9(void) = ExitFunction : -# 1903| Block 2 -# 1903| r1903_1(glval) = VariableAddress[#return] : -# 1903| r1903_2(glval) = VariableAddress[x] : -# 1903| r1903_3(int) = Load[x] : &:r1903_2, ~m? -# 1903| mu1903_4(int) = Store[#return] : &:r1903_1, r1903_3 +# 1950| Block 2 +# 1950| r1950_1(glval) = VariableAddress[#return] : +# 1950| r1950_2(glval) = VariableAddress[x] : +# 1950| r1950_3(int) = Load[x] : &:r1950_2, ~m? +# 1950| mu1950_4(int) = Store[#return] : &:r1950_1, r1950_3 #-----| Goto -> Block 1 -# 1905| Block 3 -# 1905| r1905_1(glval) = FunctionAddress[noreturnFunc] : -# 1905| v1905_2(void) = Call[noreturnFunc] : func:r1905_1 -# 1905| mu1905_3(unknown) = ^CallSideEffect : ~m? -# 1901| v1901_10(void) = Unreached : +# 1952| Block 3 +# 1952| r1952_1(glval) = FunctionAddress[noreturnFunc] : +# 1952| v1952_2(void) = Call[noreturnFunc] : func:r1952_1 +# 1952| mu1952_3(unknown) = ^CallSideEffect : ~m? +# 1948| v1948_10(void) = Unreached : -# 1907| Block 4 -# 1907| r1907_1(glval) = VariableAddress[#return] : -# 1907| mu1907_2(int) = Uninitialized[#return] : &:r1907_1 +# 1954| Block 4 +# 1954| r1954_1(glval) = VariableAddress[#return] : +# 1954| mu1954_2(int) = Uninitialized[#return] : &:r1954_1 #-----| Goto -> Block 1 -# 1909| int noreturnTest2(int) -# 1909| Block 0 -# 1909| v1909_1(void) = EnterFunction : -# 1909| mu1909_2(unknown) = AliasedDefinition : -# 1909| mu1909_3(unknown) = InitializeNonLocal : -# 1909| r1909_4(glval) = VariableAddress[x] : -# 1909| mu1909_5(int) = InitializeParameter[x] : &:r1909_4 -# 1910| r1910_1(glval) = VariableAddress[x] : -# 1910| r1910_2(int) = Load[x] : &:r1910_1, ~m? -# 1910| r1910_3(int) = Constant[10] : -# 1910| r1910_4(bool) = CompareLT : r1910_2, r1910_3 -# 1910| v1910_5(void) = ConditionalBranch : r1910_4 +# 1956| int noreturnTest2(int) +# 1956| Block 0 +# 1956| v1956_1(void) = EnterFunction : +# 1956| mu1956_2(unknown) = AliasedDefinition : +# 1956| mu1956_3(unknown) = InitializeNonLocal : +# 1956| r1956_4(glval) = VariableAddress[x] : +# 1956| mu1956_5(int) = InitializeParameter[x] : &:r1956_4 +# 1957| r1957_1(glval) = VariableAddress[x] : +# 1957| r1957_2(int) = Load[x] : &:r1957_1, ~m? +# 1957| r1957_3(int) = Constant[10] : +# 1957| r1957_4(bool) = CompareLT : r1957_2, r1957_3 +# 1957| v1957_5(void) = ConditionalBranch : r1957_4 #-----| False -> Block 2 #-----| True -> Block 1 -# 1911| Block 1 -# 1911| r1911_1(glval) = FunctionAddress[noreturnFunc] : -# 1911| v1911_2(void) = Call[noreturnFunc] : func:r1911_1 -# 1911| mu1911_3(unknown) = ^CallSideEffect : ~m? -# 1909| v1909_6(void) = Unreached : +# 1958| Block 1 +# 1958| r1958_1(glval) = FunctionAddress[noreturnFunc] : +# 1958| v1958_2(void) = Call[noreturnFunc] : func:r1958_1 +# 1958| mu1958_3(unknown) = ^CallSideEffect : ~m? +# 1956| v1956_6(void) = Unreached : -# 1913| Block 2 -# 1913| r1913_1(glval) = VariableAddress[#return] : -# 1913| r1913_2(glval) = VariableAddress[x] : -# 1913| r1913_3(int) = Load[x] : &:r1913_2, ~m? -# 1913| mu1913_4(int) = Store[#return] : &:r1913_1, r1913_3 -# 1909| r1909_7(glval) = VariableAddress[#return] : -# 1909| v1909_8(void) = ReturnValue : &:r1909_7, ~m? -# 1909| v1909_9(void) = AliasedUse : ~m? -# 1909| v1909_10(void) = ExitFunction : +# 1960| Block 2 +# 1960| r1960_1(glval) = VariableAddress[#return] : +# 1960| r1960_2(glval) = VariableAddress[x] : +# 1960| r1960_3(int) = Load[x] : &:r1960_2, ~m? +# 1960| mu1960_4(int) = Store[#return] : &:r1960_1, r1960_3 +# 1956| r1956_7(glval) = VariableAddress[#return] : +# 1956| v1956_8(void) = ReturnValue : &:r1956_7, ~m? +# 1956| v1956_9(void) = AliasedUse : ~m? +# 1956| v1956_10(void) = ExitFunction : -# 1916| int static_function(int) -# 1916| Block 0 -# 1916| v1916_1(void) = EnterFunction : -# 1916| mu1916_2(unknown) = AliasedDefinition : -# 1916| mu1916_3(unknown) = InitializeNonLocal : -# 1916| r1916_4(glval) = VariableAddress[x] : -# 1916| mu1916_5(int) = InitializeParameter[x] : &:r1916_4 -# 1917| r1917_1(glval) = VariableAddress[#return] : -# 1917| r1917_2(glval) = VariableAddress[x] : -# 1917| r1917_3(int) = Load[x] : &:r1917_2, ~m? -# 1917| mu1917_4(int) = Store[#return] : &:r1917_1, r1917_3 -# 1916| r1916_6(glval) = VariableAddress[#return] : -# 1916| v1916_7(void) = ReturnValue : &:r1916_6, ~m? -# 1916| v1916_8(void) = AliasedUse : ~m? -# 1916| v1916_9(void) = ExitFunction : +# 1963| int static_function(int) +# 1963| Block 0 +# 1963| v1963_1(void) = EnterFunction : +# 1963| mu1963_2(unknown) = AliasedDefinition : +# 1963| mu1963_3(unknown) = InitializeNonLocal : +# 1963| r1963_4(glval) = VariableAddress[x] : +# 1963| mu1963_5(int) = InitializeParameter[x] : &:r1963_4 +# 1964| r1964_1(glval) = VariableAddress[#return] : +# 1964| r1964_2(glval) = VariableAddress[x] : +# 1964| r1964_3(int) = Load[x] : &:r1964_2, ~m? +# 1964| mu1964_4(int) = Store[#return] : &:r1964_1, r1964_3 +# 1963| r1963_6(glval) = VariableAddress[#return] : +# 1963| v1963_7(void) = ReturnValue : &:r1963_6, ~m? +# 1963| v1963_8(void) = AliasedUse : ~m? +# 1963| v1963_9(void) = ExitFunction : -# 1920| void test_static_functions_with_assignments() -# 1920| Block 0 -# 1920| v1920_1(void) = EnterFunction : -# 1920| mu1920_2(unknown) = AliasedDefinition : -# 1920| mu1920_3(unknown) = InitializeNonLocal : -# 1921| r1921_1(glval) = VariableAddress[c] : -# 1921| mu1921_2(C) = Uninitialized[c] : &:r1921_1 -# 1921| r1921_3(glval) = FunctionAddress[C] : -# 1921| v1921_4(void) = Call[C] : func:r1921_3, this:r1921_1 -# 1921| mu1921_5(unknown) = ^CallSideEffect : ~m? -# 1921| mu1921_6(C) = ^IndirectMayWriteSideEffect[-1] : &:r1921_1 -# 1922| r1922_1(glval) = VariableAddress[x] : -# 1922| mu1922_2(int) = Uninitialized[x] : &:r1922_1 -# 1923| r1923_1(glval) = VariableAddress[c] : -# 1923| r1923_2(glval) = FunctionAddress[StaticMemberFunction] : -# 1923| r1923_3(int) = Constant[10] : -# 1923| r1923_4(int) = Call[StaticMemberFunction] : func:r1923_2, 0:r1923_3 -# 1923| mu1923_5(unknown) = ^CallSideEffect : ~m? -# 1923| r1923_6(glval) = VariableAddress[x] : -# 1923| mu1923_7(int) = Store[x] : &:r1923_6, r1923_4 -# 1924| r1924_1(glval) = VariableAddress[y] : -# 1924| mu1924_2(int) = Uninitialized[y] : &:r1924_1 -# 1925| r1925_1(glval) = FunctionAddress[StaticMemberFunction] : -# 1925| r1925_2(int) = Constant[10] : -# 1925| r1925_3(int) = Call[StaticMemberFunction] : func:r1925_1, 0:r1925_2 -# 1925| mu1925_4(unknown) = ^CallSideEffect : ~m? -# 1925| r1925_5(glval) = VariableAddress[y] : -# 1925| mu1925_6(int) = Store[y] : &:r1925_5, r1925_3 -# 1926| r1926_1(glval) = VariableAddress[z] : -# 1926| mu1926_2(int) = Uninitialized[z] : &:r1926_1 -# 1927| r1927_1(glval) = FunctionAddress[static_function] : -# 1927| r1927_2(int) = Constant[10] : -# 1927| r1927_3(int) = Call[static_function] : func:r1927_1, 0:r1927_2 -# 1927| mu1927_4(unknown) = ^CallSideEffect : ~m? -# 1927| r1927_5(glval) = VariableAddress[z] : -# 1927| mu1927_6(int) = Store[z] : &:r1927_5, r1927_3 -# 1928| v1928_1(void) = NoOp : -# 1928| r1928_2(glval) = VariableAddress[c] : -# 1928| r1928_3(glval) = FunctionAddress[~C] : -# 1928| v1928_4(void) = Call[~C] : func:r1928_3, this:r1928_2 -# 1928| mu1928_5(unknown) = ^CallSideEffect : ~m? -# 1928| v1928_6(void) = ^IndirectReadSideEffect[-1] : &:r1928_2, ~m? -# 1928| mu1928_7(C) = ^IndirectMayWriteSideEffect[-1] : &:r1928_2 -# 1920| v1920_4(void) = ReturnVoid : -# 1920| v1920_5(void) = AliasedUse : ~m? -# 1920| v1920_6(void) = ExitFunction : +# 1967| void test_static_functions_with_assignments() +# 1967| Block 0 +# 1967| v1967_1(void) = EnterFunction : +# 1967| mu1967_2(unknown) = AliasedDefinition : +# 1967| mu1967_3(unknown) = InitializeNonLocal : +# 1968| r1968_1(glval) = VariableAddress[c] : +# 1968| mu1968_2(C) = Uninitialized[c] : &:r1968_1 +# 1968| r1968_3(glval) = FunctionAddress[C] : +# 1968| v1968_4(void) = Call[C] : func:r1968_3, this:r1968_1 +# 1968| mu1968_5(unknown) = ^CallSideEffect : ~m? +# 1968| mu1968_6(C) = ^IndirectMayWriteSideEffect[-1] : &:r1968_1 +# 1969| r1969_1(glval) = VariableAddress[x] : +# 1969| mu1969_2(int) = Uninitialized[x] : &:r1969_1 +# 1970| r1970_1(glval) = VariableAddress[c] : +# 1970| r1970_2(glval) = FunctionAddress[StaticMemberFunction] : +# 1970| r1970_3(int) = Constant[10] : +# 1970| r1970_4(int) = Call[StaticMemberFunction] : func:r1970_2, 0:r1970_3 +# 1970| mu1970_5(unknown) = ^CallSideEffect : ~m? +# 1970| r1970_6(glval) = VariableAddress[x] : +# 1970| mu1970_7(int) = Store[x] : &:r1970_6, r1970_4 +# 1971| r1971_1(glval) = VariableAddress[y] : +# 1971| mu1971_2(int) = Uninitialized[y] : &:r1971_1 +# 1972| r1972_1(glval) = FunctionAddress[StaticMemberFunction] : +# 1972| r1972_2(int) = Constant[10] : +# 1972| r1972_3(int) = Call[StaticMemberFunction] : func:r1972_1, 0:r1972_2 +# 1972| mu1972_4(unknown) = ^CallSideEffect : ~m? +# 1972| r1972_5(glval) = VariableAddress[y] : +# 1972| mu1972_6(int) = Store[y] : &:r1972_5, r1972_3 +# 1973| r1973_1(glval) = VariableAddress[z] : +# 1973| mu1973_2(int) = Uninitialized[z] : &:r1973_1 +# 1974| r1974_1(glval) = FunctionAddress[static_function] : +# 1974| r1974_2(int) = Constant[10] : +# 1974| r1974_3(int) = Call[static_function] : func:r1974_1, 0:r1974_2 +# 1974| mu1974_4(unknown) = ^CallSideEffect : ~m? +# 1974| r1974_5(glval) = VariableAddress[z] : +# 1974| mu1974_6(int) = Store[z] : &:r1974_5, r1974_3 +# 1975| v1975_1(void) = NoOp : +# 1975| r1975_2(glval) = VariableAddress[c] : +# 1975| r1975_3(glval) = FunctionAddress[~C] : +# 1975| v1975_4(void) = Call[~C] : func:r1975_3, this:r1975_2 +# 1975| mu1975_5(unknown) = ^CallSideEffect : ~m? +# 1975| v1975_6(void) = ^IndirectReadSideEffect[-1] : &:r1975_2, ~m? +# 1975| mu1975_7(C) = ^IndirectMayWriteSideEffect[-1] : &:r1975_2 +# 1967| v1967_4(void) = ReturnVoid : +# 1967| v1967_5(void) = AliasedUse : ~m? +# 1967| v1967_6(void) = ExitFunction : -# 1930| void test_double_assign() -# 1930| Block 0 -# 1930| v1930_1(void) = EnterFunction : -# 1930| mu1930_2(unknown) = AliasedDefinition : -# 1930| mu1930_3(unknown) = InitializeNonLocal : -# 1931| r1931_1(glval) = VariableAddress[i] : -# 1931| mu1931_2(int) = Uninitialized[i] : &:r1931_1 -# 1931| r1931_3(glval) = VariableAddress[j] : -# 1931| mu1931_4(int) = Uninitialized[j] : &:r1931_3 -# 1932| r1932_1(int) = Constant[40] : -# 1932| r1932_2(glval) = VariableAddress[j] : -# 1932| mu1932_3(int) = Store[j] : &:r1932_2, r1932_1 -# 1932| r1932_4(int) = Load[j] : &:r1932_2, ~m? -# 1932| r1932_5(glval) = VariableAddress[i] : -# 1932| mu1932_6(int) = Store[i] : &:r1932_5, r1932_4 -# 1933| v1933_1(void) = NoOp : -# 1930| v1930_4(void) = ReturnVoid : -# 1930| v1930_5(void) = AliasedUse : ~m? -# 1930| v1930_6(void) = ExitFunction : +# 1977| void test_double_assign() +# 1977| Block 0 +# 1977| v1977_1(void) = EnterFunction : +# 1977| mu1977_2(unknown) = AliasedDefinition : +# 1977| mu1977_3(unknown) = InitializeNonLocal : +# 1978| r1978_1(glval) = VariableAddress[i] : +# 1978| mu1978_2(int) = Uninitialized[i] : &:r1978_1 +# 1978| r1978_3(glval) = VariableAddress[j] : +# 1978| mu1978_4(int) = Uninitialized[j] : &:r1978_3 +# 1979| r1979_1(int) = Constant[40] : +# 1979| r1979_2(glval) = VariableAddress[j] : +# 1979| mu1979_3(int) = Store[j] : &:r1979_2, r1979_1 +# 1979| r1979_4(int) = Load[j] : &:r1979_2, ~m? +# 1979| r1979_5(glval) = VariableAddress[i] : +# 1979| mu1979_6(int) = Store[i] : &:r1979_5, r1979_4 +# 1980| v1980_1(void) = NoOp : +# 1977| v1977_4(void) = ReturnVoid : +# 1977| v1977_5(void) = AliasedUse : ~m? +# 1977| v1977_6(void) = ExitFunction : -# 1935| void test_assign_with_assign_operation() -# 1935| Block 0 -# 1935| v1935_1(void) = EnterFunction : -# 1935| mu1935_2(unknown) = AliasedDefinition : -# 1935| mu1935_3(unknown) = InitializeNonLocal : -# 1936| r1936_1(glval) = VariableAddress[i] : -# 1936| mu1936_2(int) = Uninitialized[i] : &:r1936_1 -# 1936| r1936_3(glval) = VariableAddress[j] : -# 1936| r1936_4(int) = Constant[0] : -# 1936| mu1936_5(int) = Store[j] : &:r1936_3, r1936_4 -# 1937| r1937_1(int) = Constant[40] : -# 1937| r1937_2(glval) = VariableAddress[j] : -# 1937| r1937_3(int) = Load[j] : &:r1937_2, ~m? -# 1937| r1937_4(int) = Add : r1937_3, r1937_1 -# 1937| mu1937_5(int) = Store[j] : &:r1937_2, r1937_4 -# 1937| r1937_6(int) = Load[j] : &:r1937_2, ~m? -# 1937| r1937_7(glval) = VariableAddress[i] : -# 1937| mu1937_8(int) = Store[i] : &:r1937_7, r1937_6 -# 1938| v1938_1(void) = NoOp : -# 1935| v1935_4(void) = ReturnVoid : -# 1935| v1935_5(void) = AliasedUse : ~m? -# 1935| v1935_6(void) = ExitFunction : +# 1982| void test_assign_with_assign_operation() +# 1982| Block 0 +# 1982| v1982_1(void) = EnterFunction : +# 1982| mu1982_2(unknown) = AliasedDefinition : +# 1982| mu1982_3(unknown) = InitializeNonLocal : +# 1983| r1983_1(glval) = VariableAddress[i] : +# 1983| mu1983_2(int) = Uninitialized[i] : &:r1983_1 +# 1983| r1983_3(glval) = VariableAddress[j] : +# 1983| r1983_4(int) = Constant[0] : +# 1983| mu1983_5(int) = Store[j] : &:r1983_3, r1983_4 +# 1984| r1984_1(int) = Constant[40] : +# 1984| r1984_2(glval) = VariableAddress[j] : +# 1984| r1984_3(int) = Load[j] : &:r1984_2, ~m? +# 1984| r1984_4(int) = Add : r1984_3, r1984_1 +# 1984| mu1984_5(int) = Store[j] : &:r1984_2, r1984_4 +# 1984| r1984_6(int) = Load[j] : &:r1984_2, ~m? +# 1984| r1984_7(glval) = VariableAddress[i] : +# 1984| mu1984_8(int) = Store[i] : &:r1984_7, r1984_6 +# 1985| v1985_1(void) = NoOp : +# 1982| v1982_4(void) = ReturnVoid : +# 1982| v1982_5(void) = AliasedUse : ~m? +# 1982| v1982_6(void) = ExitFunction : -# 1944| D& D::ReferenceStaticMemberFunction() -# 1944| Block 0 -# 1944| v1944_1(void) = EnterFunction : -# 1944| mu1944_2(unknown) = AliasedDefinition : -# 1944| mu1944_3(unknown) = InitializeNonLocal : -# 1945| r1945_1(glval) = VariableAddress[#return] : -# 1945| r1945_2(glval) = VariableAddress[x] : -# 1945| r1945_3(D &) = CopyValue : r1945_2 -# 1945| mu1945_4(D &) = Store[#return] : &:r1945_1, r1945_3 -# 1944| r1944_4(glval) = VariableAddress[#return] : -# 1944| v1944_5(void) = ReturnValue : &:r1944_4, ~m? -# 1944| v1944_6(void) = AliasedUse : ~m? -# 1944| v1944_7(void) = ExitFunction : +# 1991| D& D::ReferenceStaticMemberFunction() +# 1991| Block 0 +# 1991| v1991_1(void) = EnterFunction : +# 1991| mu1991_2(unknown) = AliasedDefinition : +# 1991| mu1991_3(unknown) = InitializeNonLocal : +# 1992| r1992_1(glval) = VariableAddress[#return] : +# 1992| r1992_2(glval) = VariableAddress[x] : +# 1992| r1992_3(D &) = CopyValue : r1992_2 +# 1992| mu1992_4(D &) = Store[#return] : &:r1992_1, r1992_3 +# 1991| r1991_4(glval) = VariableAddress[#return] : +# 1991| v1991_5(void) = ReturnValue : &:r1991_4, ~m? +# 1991| v1991_6(void) = AliasedUse : ~m? +# 1991| v1991_7(void) = ExitFunction : -# 1947| D D::ObjectStaticMemberFunction() -# 1947| Block 0 -# 1947| v1947_1(void) = EnterFunction : -# 1947| mu1947_2(unknown) = AliasedDefinition : -# 1947| mu1947_3(unknown) = InitializeNonLocal : -# 1948| r1948_1(glval) = VariableAddress[#return] : -# 1948| r1948_2(glval) = VariableAddress[x] : -# 1948| r1948_3(D) = Load[x] : &:r1948_2, ~m? -# 1948| mu1948_4(D) = Store[#return] : &:r1948_1, r1948_3 -# 1947| r1947_4(glval) = VariableAddress[#return] : -# 1947| v1947_5(void) = ReturnValue : &:r1947_4, ~m? -# 1947| v1947_6(void) = AliasedUse : ~m? -# 1947| v1947_7(void) = ExitFunction : +# 1994| D D::ObjectStaticMemberFunction() +# 1994| Block 0 +# 1994| v1994_1(void) = EnterFunction : +# 1994| mu1994_2(unknown) = AliasedDefinition : +# 1994| mu1994_3(unknown) = InitializeNonLocal : +# 1995| r1995_1(glval) = VariableAddress[#return] : +# 1995| r1995_2(glval) = VariableAddress[x] : +# 1995| r1995_3(D) = Load[x] : &:r1995_2, ~m? +# 1995| mu1995_4(D) = Store[#return] : &:r1995_1, r1995_3 +# 1994| r1994_4(glval) = VariableAddress[#return] : +# 1994| v1994_5(void) = ReturnValue : &:r1994_4, ~m? +# 1994| v1994_6(void) = AliasedUse : ~m? +# 1994| v1994_7(void) = ExitFunction : -# 1952| void test_static_member_functions_with_reference_return() -# 1952| Block 0 -# 1952| v1952_1(void) = EnterFunction : -# 1952| mu1952_2(unknown) = AliasedDefinition : -# 1952| mu1952_3(unknown) = InitializeNonLocal : -# 1953| r1953_1(glval) = VariableAddress[d] : -# 1953| mu1953_2(D) = Uninitialized[d] : &:r1953_1 -# 1955| r1955_1(glval) = VariableAddress[d] : -# 1955| r1955_2(glval) = FunctionAddress[ReferenceStaticMemberFunction] : -# 1955| r1955_3(D &) = Call[ReferenceStaticMemberFunction] : func:r1955_2 -# 1955| mu1955_4(unknown) = ^CallSideEffect : ~m? -# 1955| r1955_5(glval) = CopyValue : r1955_3 -# 1956| r1956_1(glval) = FunctionAddress[ReferenceStaticMemberFunction] : -# 1956| r1956_2(D &) = Call[ReferenceStaticMemberFunction] : func:r1956_1 -# 1956| mu1956_3(unknown) = ^CallSideEffect : ~m? -# 1956| r1956_4(glval) = CopyValue : r1956_2 -# 1957| r1957_1(glval) = VariableAddress[d] : -# 1957| r1957_2(glval) = FunctionAddress[ObjectStaticMemberFunction] : -# 1957| r1957_3(D) = Call[ObjectStaticMemberFunction] : func:r1957_2 -# 1957| mu1957_4(unknown) = ^CallSideEffect : ~m? -# 1958| r1958_1(glval) = FunctionAddress[ObjectStaticMemberFunction] : -# 1958| r1958_2(D) = Call[ObjectStaticMemberFunction] : func:r1958_1 -# 1958| mu1958_3(unknown) = ^CallSideEffect : ~m? -# 1960| r1960_1(glval) = VariableAddress[x] : -# 1960| mu1960_2(D) = Uninitialized[x] : &:r1960_1 -# 1961| r1961_1(glval) = VariableAddress[d] : -# 1961| r1961_2(glval) = FunctionAddress[ReferenceStaticMemberFunction] : -# 1961| r1961_3(D &) = Call[ReferenceStaticMemberFunction] : func:r1961_2 -# 1961| mu1961_4(unknown) = ^CallSideEffect : ~m? -# 1961| r1961_5(D) = Load[?] : &:r1961_3, ~m? -# 1961| r1961_6(glval) = VariableAddress[x] : -# 1961| mu1961_7(D) = Store[x] : &:r1961_6, r1961_5 -# 1962| r1962_1(glval) = VariableAddress[y] : -# 1962| mu1962_2(D) = Uninitialized[y] : &:r1962_1 -# 1963| r1963_1(glval) = FunctionAddress[ReferenceStaticMemberFunction] : -# 1963| r1963_2(D &) = Call[ReferenceStaticMemberFunction] : func:r1963_1 -# 1963| mu1963_3(unknown) = ^CallSideEffect : ~m? -# 1963| r1963_4(D) = Load[?] : &:r1963_2, ~m? -# 1963| r1963_5(glval) = VariableAddress[y] : -# 1963| mu1963_6(D) = Store[y] : &:r1963_5, r1963_4 -# 1964| r1964_1(glval) = VariableAddress[j] : -# 1964| mu1964_2(D) = Uninitialized[j] : &:r1964_1 -# 1965| r1965_1(glval) = VariableAddress[d] : -# 1965| r1965_2(glval) = FunctionAddress[ObjectStaticMemberFunction] : -# 1965| r1965_3(D) = Call[ObjectStaticMemberFunction] : func:r1965_2 -# 1965| mu1965_4(unknown) = ^CallSideEffect : ~m? -# 1965| r1965_5(glval) = VariableAddress[j] : -# 1965| mu1965_6(D) = Store[j] : &:r1965_5, r1965_3 -# 1966| r1966_1(glval) = VariableAddress[k] : -# 1966| mu1966_2(D) = Uninitialized[k] : &:r1966_1 -# 1967| r1967_1(glval) = FunctionAddress[ObjectStaticMemberFunction] : -# 1967| r1967_2(D) = Call[ObjectStaticMemberFunction] : func:r1967_1 -# 1967| mu1967_3(unknown) = ^CallSideEffect : ~m? -# 1967| r1967_4(glval) = VariableAddress[k] : -# 1967| mu1967_5(D) = Store[k] : &:r1967_4, r1967_2 -# 1968| v1968_1(void) = NoOp : -# 1952| v1952_4(void) = ReturnVoid : -# 1952| v1952_5(void) = AliasedUse : ~m? -# 1952| v1952_6(void) = ExitFunction : +# 1999| void test_static_member_functions_with_reference_return() +# 1999| Block 0 +# 1999| v1999_1(void) = EnterFunction : +# 1999| mu1999_2(unknown) = AliasedDefinition : +# 1999| mu1999_3(unknown) = InitializeNonLocal : +# 2000| r2000_1(glval) = VariableAddress[d] : +# 2000| mu2000_2(D) = Uninitialized[d] : &:r2000_1 +# 2002| r2002_1(glval) = VariableAddress[d] : +# 2002| r2002_2(glval) = FunctionAddress[ReferenceStaticMemberFunction] : +# 2002| r2002_3(D &) = Call[ReferenceStaticMemberFunction] : func:r2002_2 +# 2002| mu2002_4(unknown) = ^CallSideEffect : ~m? +# 2002| r2002_5(glval) = CopyValue : r2002_3 +# 2003| r2003_1(glval) = FunctionAddress[ReferenceStaticMemberFunction] : +# 2003| r2003_2(D &) = Call[ReferenceStaticMemberFunction] : func:r2003_1 +# 2003| mu2003_3(unknown) = ^CallSideEffect : ~m? +# 2003| r2003_4(glval) = CopyValue : r2003_2 +# 2004| r2004_1(glval) = VariableAddress[d] : +# 2004| r2004_2(glval) = FunctionAddress[ObjectStaticMemberFunction] : +# 2004| r2004_3(D) = Call[ObjectStaticMemberFunction] : func:r2004_2 +# 2004| mu2004_4(unknown) = ^CallSideEffect : ~m? +# 2005| r2005_1(glval) = FunctionAddress[ObjectStaticMemberFunction] : +# 2005| r2005_2(D) = Call[ObjectStaticMemberFunction] : func:r2005_1 +# 2005| mu2005_3(unknown) = ^CallSideEffect : ~m? +# 2007| r2007_1(glval) = VariableAddress[x] : +# 2007| mu2007_2(D) = Uninitialized[x] : &:r2007_1 +# 2008| r2008_1(glval) = VariableAddress[d] : +# 2008| r2008_2(glval) = FunctionAddress[ReferenceStaticMemberFunction] : +# 2008| r2008_3(D &) = Call[ReferenceStaticMemberFunction] : func:r2008_2 +# 2008| mu2008_4(unknown) = ^CallSideEffect : ~m? +# 2008| r2008_5(D) = Load[?] : &:r2008_3, ~m? +# 2008| r2008_6(glval) = VariableAddress[x] : +# 2008| mu2008_7(D) = Store[x] : &:r2008_6, r2008_5 +# 2009| r2009_1(glval) = VariableAddress[y] : +# 2009| mu2009_2(D) = Uninitialized[y] : &:r2009_1 +# 2010| r2010_1(glval) = FunctionAddress[ReferenceStaticMemberFunction] : +# 2010| r2010_2(D &) = Call[ReferenceStaticMemberFunction] : func:r2010_1 +# 2010| mu2010_3(unknown) = ^CallSideEffect : ~m? +# 2010| r2010_4(D) = Load[?] : &:r2010_2, ~m? +# 2010| r2010_5(glval) = VariableAddress[y] : +# 2010| mu2010_6(D) = Store[y] : &:r2010_5, r2010_4 +# 2011| r2011_1(glval) = VariableAddress[j] : +# 2011| mu2011_2(D) = Uninitialized[j] : &:r2011_1 +# 2012| r2012_1(glval) = VariableAddress[d] : +# 2012| r2012_2(glval) = FunctionAddress[ObjectStaticMemberFunction] : +# 2012| r2012_3(D) = Call[ObjectStaticMemberFunction] : func:r2012_2 +# 2012| mu2012_4(unknown) = ^CallSideEffect : ~m? +# 2012| r2012_5(glval) = VariableAddress[j] : +# 2012| mu2012_6(D) = Store[j] : &:r2012_5, r2012_3 +# 2013| r2013_1(glval) = VariableAddress[k] : +# 2013| mu2013_2(D) = Uninitialized[k] : &:r2013_1 +# 2014| r2014_1(glval) = FunctionAddress[ObjectStaticMemberFunction] : +# 2014| r2014_2(D) = Call[ObjectStaticMemberFunction] : func:r2014_1 +# 2014| mu2014_3(unknown) = ^CallSideEffect : ~m? +# 2014| r2014_4(glval) = VariableAddress[k] : +# 2014| mu2014_5(D) = Store[k] : &:r2014_4, r2014_2 +# 2015| v2015_1(void) = NoOp : +# 1999| v1999_4(void) = ReturnVoid : +# 1999| v1999_5(void) = AliasedUse : ~m? +# 1999| v1999_6(void) = ExitFunction : -# 1970| void test_volatile() -# 1970| Block 0 -# 1970| v1970_1(void) = EnterFunction : -# 1970| mu1970_2(unknown) = AliasedDefinition : -# 1970| mu1970_3(unknown) = InitializeNonLocal : -# 1971| r1971_1(glval) = VariableAddress[x] : -# 1971| mu1971_2(int) = Uninitialized[x] : &:r1971_1 -# 1972| r1972_1(glval) = VariableAddress[x] : -# 1972| r1972_2(int) = Load[x] : &:r1972_1, ~m? -# 1973| v1973_1(void) = NoOp : -# 1970| v1970_4(void) = ReturnVoid : -# 1970| v1970_5(void) = AliasedUse : ~m? -# 1970| v1970_6(void) = ExitFunction : +# 2017| void test_volatile() +# 2017| Block 0 +# 2017| v2017_1(void) = EnterFunction : +# 2017| mu2017_2(unknown) = AliasedDefinition : +# 2017| mu2017_3(unknown) = InitializeNonLocal : +# 2018| r2018_1(glval) = VariableAddress[x] : +# 2018| mu2018_2(int) = Uninitialized[x] : &:r2018_1 +# 2019| r2019_1(glval) = VariableAddress[x] : +# 2019| r2019_2(int) = Load[x] : &:r2019_1, ~m? +# 2020| v2020_1(void) = NoOp : +# 2017| v2017_4(void) = ReturnVoid : +# 2017| v2017_5(void) = AliasedUse : ~m? +# 2017| v2017_6(void) = ExitFunction : -# 1981| void value_category_test() -# 1981| Block 0 -# 1981| v1981_1(void) = EnterFunction : -# 1981| mu1981_2(unknown) = AliasedDefinition : -# 1981| mu1981_3(unknown) = InitializeNonLocal : -# 1982| r1982_1(glval) = VariableAddress[c] : -# 1982| mu1982_2(ValCat) = Uninitialized[c] : &:r1982_1 +# 2028| void value_category_test() +# 2028| Block 0 +# 2028| v2028_1(void) = EnterFunction : +# 2028| mu2028_2(unknown) = AliasedDefinition : +# 2028| mu2028_3(unknown) = InitializeNonLocal : +# 2029| r2029_1(glval) = VariableAddress[c] : +# 2029| mu2029_2(ValCat) = Uninitialized[c] : &:r2029_1 #-----| r0_1(glval) = VariableAddress[#temp0:0] : #-----| mu0_2(ValCat) = Uninitialized[#temp0:0] : &:r0_1 #-----| r0_3(ValCat) = Load[#temp0:0] : &:r0_1, ~m? -# 1984| r1984_1(glval) = VariableAddress[c] : -# 1984| r1984_2(glval) = FunctionAddress[lvalue] : -# 1984| r1984_3(ValCat &) = Call[lvalue] : func:r1984_2 -# 1984| mu1984_4(unknown) = ^CallSideEffect : ~m? -# 1984| r1984_5(glval) = CopyValue : r1984_3 -# 1984| mu1984_6(ValCat) = Store[?] : &:r1984_5, r0_3 +# 2031| r2031_1(glval) = VariableAddress[c] : +# 2031| r2031_2(glval) = FunctionAddress[lvalue] : +# 2031| r2031_3(ValCat &) = Call[lvalue] : func:r2031_2 +# 2031| mu2031_4(unknown) = ^CallSideEffect : ~m? +# 2031| r2031_5(glval) = CopyValue : r2031_3 +# 2031| mu2031_6(ValCat) = Store[?] : &:r2031_5, r0_3 #-----| r0_4(glval) = VariableAddress[#temp0:0] : #-----| mu0_5(ValCat) = Uninitialized[#temp0:0] : &:r0_4 #-----| r0_6(ValCat) = Load[#temp0:0] : &:r0_4, ~m? -# 1985| r1985_1(glval) = VariableAddress[c] : -# 1985| r1985_2(glval) = FunctionAddress[xvalue] : -# 1985| r1985_3(ValCat &&) = Call[xvalue] : func:r1985_2 -# 1985| mu1985_4(unknown) = ^CallSideEffect : ~m? -# 1985| r1985_5(glval) = CopyValue : r1985_3 -# 1985| mu1985_6(ValCat) = Store[?] : &:r1985_5, r0_6 +# 2032| r2032_1(glval) = VariableAddress[c] : +# 2032| r2032_2(glval) = FunctionAddress[xvalue] : +# 2032| r2032_3(ValCat &&) = Call[xvalue] : func:r2032_2 +# 2032| mu2032_4(unknown) = ^CallSideEffect : ~m? +# 2032| r2032_5(glval) = CopyValue : r2032_3 +# 2032| mu2032_6(ValCat) = Store[?] : &:r2032_5, r0_6 #-----| r0_7(glval) = VariableAddress[#temp0:0] : #-----| mu0_8(ValCat) = Uninitialized[#temp0:0] : &:r0_7 #-----| r0_9(ValCat) = Load[#temp0:0] : &:r0_7, ~m? -# 1986| r1986_1(glval) = VariableAddress[#temp1986:5] : -# 1986| r1986_2(glval) = VariableAddress[c] : -# 1986| r1986_3(glval) = FunctionAddress[prvalue] : -# 1986| r1986_4(ValCat) = Call[prvalue] : func:r1986_3 -# 1986| mu1986_5(unknown) = ^CallSideEffect : ~m? -# 1986| mu1986_6(ValCat) = Store[#temp1986:5] : &:r1986_1, r1986_4 -# 1986| mu1986_7(ValCat) = Store[#temp1986:5] : &:r1986_1, r0_9 +# 2033| r2033_1(glval) = VariableAddress[#temp2033:5] : +# 2033| r2033_2(glval) = VariableAddress[c] : +# 2033| r2033_3(glval) = FunctionAddress[prvalue] : +# 2033| r2033_4(ValCat) = Call[prvalue] : func:r2033_3 +# 2033| mu2033_5(unknown) = ^CallSideEffect : ~m? +# 2033| mu2033_6(ValCat) = Store[#temp2033:5] : &:r2033_1, r2033_4 +# 2033| mu2033_7(ValCat) = Store[#temp2033:5] : &:r2033_1, r0_9 #-----| r0_10(glval) = VariableAddress[#temp0:0] : #-----| mu0_11(ValCat) = Uninitialized[#temp0:0] : &:r0_10 #-----| r0_12(ValCat) = Load[#temp0:0] : &:r0_10, ~m? -# 1987| r1987_1(glval) = FunctionAddress[lvalue] : -# 1987| r1987_2(ValCat &) = Call[lvalue] : func:r1987_1 -# 1987| mu1987_3(unknown) = ^CallSideEffect : ~m? -# 1987| r1987_4(glval) = CopyValue : r1987_2 -# 1987| mu1987_5(ValCat) = Store[?] : &:r1987_4, r0_12 +# 2034| r2034_1(glval) = FunctionAddress[lvalue] : +# 2034| r2034_2(ValCat &) = Call[lvalue] : func:r2034_1 +# 2034| mu2034_3(unknown) = ^CallSideEffect : ~m? +# 2034| r2034_4(glval) = CopyValue : r2034_2 +# 2034| mu2034_5(ValCat) = Store[?] : &:r2034_4, r0_12 #-----| r0_13(glval) = VariableAddress[#temp0:0] : #-----| mu0_14(ValCat) = Uninitialized[#temp0:0] : &:r0_13 #-----| r0_15(ValCat) = Load[#temp0:0] : &:r0_13, ~m? -# 1988| r1988_1(glval) = FunctionAddress[xvalue] : -# 1988| r1988_2(ValCat &&) = Call[xvalue] : func:r1988_1 -# 1988| mu1988_3(unknown) = ^CallSideEffect : ~m? -# 1988| r1988_4(glval) = CopyValue : r1988_2 -# 1988| mu1988_5(ValCat) = Store[?] : &:r1988_4, r0_15 +# 2035| r2035_1(glval) = FunctionAddress[xvalue] : +# 2035| r2035_2(ValCat &&) = Call[xvalue] : func:r2035_1 +# 2035| mu2035_3(unknown) = ^CallSideEffect : ~m? +# 2035| r2035_4(glval) = CopyValue : r2035_2 +# 2035| mu2035_5(ValCat) = Store[?] : &:r2035_4, r0_15 #-----| r0_16(glval) = VariableAddress[#temp0:0] : #-----| mu0_17(ValCat) = Uninitialized[#temp0:0] : &:r0_16 #-----| r0_18(ValCat) = Load[#temp0:0] : &:r0_16, ~m? -# 1989| r1989_1(glval) = VariableAddress[#temp1989:5] : -# 1989| r1989_2(glval) = FunctionAddress[prvalue] : -# 1989| r1989_3(ValCat) = Call[prvalue] : func:r1989_2 -# 1989| mu1989_4(unknown) = ^CallSideEffect : ~m? -# 1989| mu1989_5(ValCat) = Store[#temp1989:5] : &:r1989_1, r1989_3 -# 1989| mu1989_6(ValCat) = Store[#temp1989:5] : &:r1989_1, r0_18 -# 1990| v1990_1(void) = NoOp : -# 1981| v1981_4(void) = ReturnVoid : -# 1981| v1981_5(void) = AliasedUse : ~m? -# 1981| v1981_6(void) = ExitFunction : +# 2036| r2036_1(glval) = VariableAddress[#temp2036:5] : +# 2036| r2036_2(glval) = FunctionAddress[prvalue] : +# 2036| r2036_3(ValCat) = Call[prvalue] : func:r2036_2 +# 2036| mu2036_4(unknown) = ^CallSideEffect : ~m? +# 2036| mu2036_5(ValCat) = Store[#temp2036:5] : &:r2036_1, r2036_3 +# 2036| mu2036_6(ValCat) = Store[#temp2036:5] : &:r2036_1, r0_18 +# 2037| v2037_1(void) = NoOp : +# 2028| v2028_4(void) = ReturnVoid : +# 2028| v2028_5(void) = AliasedUse : ~m? +# 2028| v2028_6(void) = ExitFunction : -# 1992| void SetStaticFuncPtr() -# 1992| Block 0 -# 1992| v1992_1(void) = EnterFunction : -# 1992| mu1992_2(unknown) = AliasedDefinition : -# 1992| mu1992_3(unknown) = InitializeNonLocal : -# 1993| r1993_1(glval) = VariableAddress[c] : -# 1993| mu1993_2(C) = Uninitialized[c] : &:r1993_1 -# 1993| r1993_3(glval) = FunctionAddress[C] : -# 1993| v1993_4(void) = Call[C] : func:r1993_3, this:r1993_1 -# 1993| mu1993_5(unknown) = ^CallSideEffect : ~m? -# 1993| mu1993_6(C) = ^IndirectMayWriteSideEffect[-1] : &:r1993_1 -# 1994| r1994_1(glval<..(*)(..)>) = VariableAddress[pfn] : -# 1994| r1994_2(..(*)(..)) = FunctionAddress[StaticMemberFunction] : -# 1994| mu1994_3(..(*)(..)) = Store[pfn] : &:r1994_1, r1994_2 -# 1995| r1995_1(glval) = VariableAddress[c] : -# 1995| r1995_2(..(*)(..)) = FunctionAddress[StaticMemberFunction] : -# 1995| r1995_3(glval<..(*)(..)>) = VariableAddress[pfn] : -# 1995| mu1995_4(..(*)(..)) = Store[pfn] : &:r1995_3, r1995_2 -# 1996| v1996_1(void) = NoOp : -# 1996| r1996_2(glval) = VariableAddress[c] : -# 1996| r1996_3(glval) = FunctionAddress[~C] : -# 1996| v1996_4(void) = Call[~C] : func:r1996_3, this:r1996_2 -# 1996| mu1996_5(unknown) = ^CallSideEffect : ~m? -# 1996| v1996_6(void) = ^IndirectReadSideEffect[-1] : &:r1996_2, ~m? -# 1996| mu1996_7(C) = ^IndirectMayWriteSideEffect[-1] : &:r1996_2 -# 1992| v1992_4(void) = ReturnVoid : -# 1992| v1992_5(void) = AliasedUse : ~m? -# 1992| v1992_6(void) = ExitFunction : +# 2039| void SetStaticFuncPtr() +# 2039| Block 0 +# 2039| v2039_1(void) = EnterFunction : +# 2039| mu2039_2(unknown) = AliasedDefinition : +# 2039| mu2039_3(unknown) = InitializeNonLocal : +# 2040| r2040_1(glval) = VariableAddress[c] : +# 2040| mu2040_2(C) = Uninitialized[c] : &:r2040_1 +# 2040| r2040_3(glval) = FunctionAddress[C] : +# 2040| v2040_4(void) = Call[C] : func:r2040_3, this:r2040_1 +# 2040| mu2040_5(unknown) = ^CallSideEffect : ~m? +# 2040| mu2040_6(C) = ^IndirectMayWriteSideEffect[-1] : &:r2040_1 +# 2041| r2041_1(glval<..(*)(..)>) = VariableAddress[pfn] : +# 2041| r2041_2(..(*)(..)) = FunctionAddress[StaticMemberFunction] : +# 2041| mu2041_3(..(*)(..)) = Store[pfn] : &:r2041_1, r2041_2 +# 2042| r2042_1(glval) = VariableAddress[c] : +# 2042| r2042_2(..(*)(..)) = FunctionAddress[StaticMemberFunction] : +# 2042| r2042_3(glval<..(*)(..)>) = VariableAddress[pfn] : +# 2042| mu2042_4(..(*)(..)) = Store[pfn] : &:r2042_3, r2042_2 +# 2043| v2043_1(void) = NoOp : +# 2043| r2043_2(glval) = VariableAddress[c] : +# 2043| r2043_3(glval) = FunctionAddress[~C] : +# 2043| v2043_4(void) = Call[~C] : func:r2043_3, this:r2043_2 +# 2043| mu2043_5(unknown) = ^CallSideEffect : ~m? +# 2043| v2043_6(void) = ^IndirectReadSideEffect[-1] : &:r2043_2, ~m? +# 2043| mu2043_7(C) = ^IndirectMayWriteSideEffect[-1] : &:r2043_2 +# 2039| v2039_4(void) = ReturnVoid : +# 2039| v2039_5(void) = AliasedUse : ~m? +# 2039| v2039_6(void) = ExitFunction : -# 1998| void TernaryTestInt(bool, int, int, int) -# 1998| Block 0 -# 1998| v1998_1(void) = EnterFunction : -# 1998| mu1998_2(unknown) = AliasedDefinition : -# 1998| mu1998_3(unknown) = InitializeNonLocal : -# 1998| r1998_4(glval) = VariableAddress[a] : -# 1998| mu1998_5(bool) = InitializeParameter[a] : &:r1998_4 -# 1998| r1998_6(glval) = VariableAddress[x] : -# 1998| mu1998_7(int) = InitializeParameter[x] : &:r1998_6 -# 1998| r1998_8(glval) = VariableAddress[y] : -# 1998| mu1998_9(int) = InitializeParameter[y] : &:r1998_8 -# 1998| r1998_10(glval) = VariableAddress[z] : -# 1998| mu1998_11(int) = InitializeParameter[z] : &:r1998_10 -# 1999| r1999_1(glval) = VariableAddress[a] : -# 1999| r1999_2(bool) = Load[a] : &:r1999_1, ~m? -# 1999| v1999_3(void) = ConditionalBranch : r1999_2 +# 2045| void TernaryTestInt(bool, int, int, int) +# 2045| Block 0 +# 2045| v2045_1(void) = EnterFunction : +# 2045| mu2045_2(unknown) = AliasedDefinition : +# 2045| mu2045_3(unknown) = InitializeNonLocal : +# 2045| r2045_4(glval) = VariableAddress[a] : +# 2045| mu2045_5(bool) = InitializeParameter[a] : &:r2045_4 +# 2045| r2045_6(glval) = VariableAddress[x] : +# 2045| mu2045_7(int) = InitializeParameter[x] : &:r2045_6 +# 2045| r2045_8(glval) = VariableAddress[y] : +# 2045| mu2045_9(int) = InitializeParameter[y] : &:r2045_8 +# 2045| r2045_10(glval) = VariableAddress[z] : +# 2045| mu2045_11(int) = InitializeParameter[z] : &:r2045_10 +# 2046| r2046_1(glval) = VariableAddress[a] : +# 2046| r2046_2(bool) = Load[a] : &:r2046_1, ~m? +# 2046| v2046_3(void) = ConditionalBranch : r2046_2 #-----| False -> Block 3 #-----| True -> Block 2 -# 1999| Block 1 -# 1999| r1999_4(glval) = VariableAddress[#temp1999:9] : -# 1999| r1999_5(int) = Load[#temp1999:9] : &:r1999_4, ~m? -# 1999| r1999_6(glval) = VariableAddress[z] : -# 1999| mu1999_7(int) = Store[z] : &:r1999_6, r1999_5 -# 2000| r2000_1(glval) = VariableAddress[a] : -# 2000| r2000_2(bool) = Load[a] : &:r2000_1, ~m? -# 2000| v2000_3(void) = ConditionalBranch : r2000_2 +# 2046| Block 1 +# 2046| r2046_4(glval) = VariableAddress[#temp2046:9] : +# 2046| r2046_5(int) = Load[#temp2046:9] : &:r2046_4, ~m? +# 2046| r2046_6(glval) = VariableAddress[z] : +# 2046| mu2046_7(int) = Store[z] : &:r2046_6, r2046_5 +# 2047| r2047_1(glval) = VariableAddress[a] : +# 2047| r2047_2(bool) = Load[a] : &:r2047_1, ~m? +# 2047| v2047_3(void) = ConditionalBranch : r2047_2 #-----| False -> Block 6 #-----| True -> Block 5 -# 1999| Block 2 -# 1999| r1999_8(glval) = VariableAddress[x] : -# 1999| r1999_9(int) = Load[x] : &:r1999_8, ~m? -# 1999| r1999_10(glval) = VariableAddress[#temp1999:9] : -# 1999| mu1999_11(int) = Store[#temp1999:9] : &:r1999_10, r1999_9 +# 2046| Block 2 +# 2046| r2046_8(glval) = VariableAddress[x] : +# 2046| r2046_9(int) = Load[x] : &:r2046_8, ~m? +# 2046| r2046_10(glval) = VariableAddress[#temp2046:9] : +# 2046| mu2046_11(int) = Store[#temp2046:9] : &:r2046_10, r2046_9 #-----| Goto -> Block 1 -# 1999| Block 3 -# 1999| r1999_12(glval) = VariableAddress[y] : -# 1999| r1999_13(int) = Load[y] : &:r1999_12, ~m? -# 1999| r1999_14(glval) = VariableAddress[#temp1999:9] : -# 1999| mu1999_15(int) = Store[#temp1999:9] : &:r1999_14, r1999_13 +# 2046| Block 3 +# 2046| r2046_12(glval) = VariableAddress[y] : +# 2046| r2046_13(int) = Load[y] : &:r2046_12, ~m? +# 2046| r2046_14(glval) = VariableAddress[#temp2046:9] : +# 2046| mu2046_15(int) = Store[#temp2046:9] : &:r2046_14, r2046_13 #-----| Goto -> Block 1 -# 2000| Block 4 -# 2000| r2000_4(glval) = VariableAddress[#temp2000:9] : -# 2000| r2000_5(int) = Load[#temp2000:9] : &:r2000_4, ~m? -# 2000| r2000_6(glval) = VariableAddress[z] : -# 2000| mu2000_7(int) = Store[z] : &:r2000_6, r2000_5 -# 2001| r2001_1(glval) = VariableAddress[a] : -# 2001| r2001_2(bool) = Load[a] : &:r2001_1, ~m? -# 2001| v2001_3(void) = ConditionalBranch : r2001_2 +# 2047| Block 4 +# 2047| r2047_4(glval) = VariableAddress[#temp2047:9] : +# 2047| r2047_5(int) = Load[#temp2047:9] : &:r2047_4, ~m? +# 2047| r2047_6(glval) = VariableAddress[z] : +# 2047| mu2047_7(int) = Store[z] : &:r2047_6, r2047_5 +# 2048| r2048_1(glval) = VariableAddress[a] : +# 2048| r2048_2(bool) = Load[a] : &:r2048_1, ~m? +# 2048| v2048_3(void) = ConditionalBranch : r2048_2 #-----| False -> Block 9 #-----| True -> Block 8 -# 2000| Block 5 -# 2000| r2000_8(glval) = VariableAddress[x] : -# 2000| r2000_9(int) = Load[x] : &:r2000_8, ~m? -# 2000| r2000_10(glval) = VariableAddress[#temp2000:9] : -# 2000| mu2000_11(int) = Store[#temp2000:9] : &:r2000_10, r2000_9 +# 2047| Block 5 +# 2047| r2047_8(glval) = VariableAddress[x] : +# 2047| r2047_9(int) = Load[x] : &:r2047_8, ~m? +# 2047| r2047_10(glval) = VariableAddress[#temp2047:9] : +# 2047| mu2047_11(int) = Store[#temp2047:9] : &:r2047_10, r2047_9 #-----| Goto -> Block 4 -# 2000| Block 6 -# 2000| r2000_12(int) = Constant[5] : -# 2000| r2000_13(glval) = VariableAddress[#temp2000:9] : -# 2000| mu2000_14(int) = Store[#temp2000:9] : &:r2000_13, r2000_12 +# 2047| Block 6 +# 2047| r2047_12(int) = Constant[5] : +# 2047| r2047_13(glval) = VariableAddress[#temp2047:9] : +# 2047| mu2047_14(int) = Store[#temp2047:9] : &:r2047_13, r2047_12 #-----| Goto -> Block 4 -# 2001| Block 7 -# 2001| r2001_4(glval) = VariableAddress[#temp2001:9] : -# 2001| r2001_5(int) = Load[#temp2001:9] : &:r2001_4, ~m? -# 2001| r2001_6(glval) = VariableAddress[z] : -# 2001| mu2001_7(int) = Store[z] : &:r2001_6, r2001_5 -# 2002| r2002_1(int) = Constant[7] : -# 2002| r2002_2(glval) = VariableAddress[a] : -# 2002| r2002_3(bool) = Load[a] : &:r2002_2, ~m? -# 2002| v2002_4(void) = ConditionalBranch : r2002_3 +# 2048| Block 7 +# 2048| r2048_4(glval) = VariableAddress[#temp2048:9] : +# 2048| r2048_5(int) = Load[#temp2048:9] : &:r2048_4, ~m? +# 2048| r2048_6(glval) = VariableAddress[z] : +# 2048| mu2048_7(int) = Store[z] : &:r2048_6, r2048_5 +# 2049| r2049_1(int) = Constant[7] : +# 2049| r2049_2(glval) = VariableAddress[a] : +# 2049| r2049_3(bool) = Load[a] : &:r2049_2, ~m? +# 2049| v2049_4(void) = ConditionalBranch : r2049_3 #-----| False -> Block 12 #-----| True -> Block 11 -# 2001| Block 8 -# 2001| r2001_8(int) = Constant[3] : -# 2001| r2001_9(glval) = VariableAddress[#temp2001:9] : -# 2001| mu2001_10(int) = Store[#temp2001:9] : &:r2001_9, r2001_8 +# 2048| Block 8 +# 2048| r2048_8(int) = Constant[3] : +# 2048| r2048_9(glval) = VariableAddress[#temp2048:9] : +# 2048| mu2048_10(int) = Store[#temp2048:9] : &:r2048_9, r2048_8 #-----| Goto -> Block 7 -# 2001| Block 9 -# 2001| r2001_11(int) = Constant[5] : -# 2001| r2001_12(glval) = VariableAddress[#temp2001:9] : -# 2001| mu2001_13(int) = Store[#temp2001:9] : &:r2001_12, r2001_11 +# 2048| Block 9 +# 2048| r2048_11(int) = Constant[5] : +# 2048| r2048_12(glval) = VariableAddress[#temp2048:9] : +# 2048| mu2048_13(int) = Store[#temp2048:9] : &:r2048_12, r2048_11 #-----| Goto -> Block 7 -# 2002| Block 10 -# 2002| r2002_5(glval) = VariableAddress[#temp2002:6] : -# 2002| r2002_6(glval) = Load[#temp2002:6] : &:r2002_5, ~m? -# 2002| mu2002_7(int) = Store[?] : &:r2002_6, r2002_1 -# 2003| v2003_1(void) = NoOp : -# 1998| v1998_12(void) = ReturnVoid : -# 1998| v1998_13(void) = AliasedUse : ~m? -# 1998| v1998_14(void) = ExitFunction : +# 2049| Block 10 +# 2049| r2049_5(glval) = VariableAddress[#temp2049:6] : +# 2049| r2049_6(glval) = Load[#temp2049:6] : &:r2049_5, ~m? +# 2049| mu2049_7(int) = Store[?] : &:r2049_6, r2049_1 +# 2050| v2050_1(void) = NoOp : +# 2045| v2045_12(void) = ReturnVoid : +# 2045| v2045_13(void) = AliasedUse : ~m? +# 2045| v2045_14(void) = ExitFunction : -# 2002| Block 11 -# 2002| r2002_8(glval) = VariableAddress[x] : -# 2002| r2002_9(glval) = VariableAddress[#temp2002:6] : -# 2002| mu2002_10(glval) = Store[#temp2002:6] : &:r2002_9, r2002_8 +# 2049| Block 11 +# 2049| r2049_8(glval) = VariableAddress[x] : +# 2049| r2049_9(glval) = VariableAddress[#temp2049:6] : +# 2049| mu2049_10(glval) = Store[#temp2049:6] : &:r2049_9, r2049_8 #-----| Goto -> Block 10 -# 2002| Block 12 -# 2002| r2002_11(glval) = VariableAddress[y] : -# 2002| r2002_12(glval) = VariableAddress[#temp2002:6] : -# 2002| mu2002_13(glval) = Store[#temp2002:6] : &:r2002_12, r2002_11 +# 2049| Block 12 +# 2049| r2049_11(glval) = VariableAddress[y] : +# 2049| r2049_12(glval) = VariableAddress[#temp2049:6] : +# 2049| mu2049_13(glval) = Store[#temp2049:6] : &:r2049_12, r2049_11 #-----| Goto -> Block 10 -# 2008| void TernaryTestPodObj(bool, TernaryPodObj, TernaryPodObj, TernaryPodObj) -# 2008| Block 0 -# 2008| v2008_1(void) = EnterFunction : -# 2008| mu2008_2(unknown) = AliasedDefinition : -# 2008| mu2008_3(unknown) = InitializeNonLocal : -# 2008| r2008_4(glval) = VariableAddress[a] : -# 2008| mu2008_5(bool) = InitializeParameter[a] : &:r2008_4 -# 2008| r2008_6(glval) = VariableAddress[x] : -# 2008| mu2008_7(TernaryPodObj) = InitializeParameter[x] : &:r2008_6 -# 2008| r2008_8(glval) = VariableAddress[y] : -# 2008| mu2008_9(TernaryPodObj) = InitializeParameter[y] : &:r2008_8 -# 2008| r2008_10(glval) = VariableAddress[z] : -# 2008| mu2008_11(TernaryPodObj) = InitializeParameter[z] : &:r2008_10 -# 2009| r2009_1(glval) = VariableAddress[a] : -# 2009| r2009_2(bool) = Load[a] : &:r2009_1, ~m? -# 2009| v2009_3(void) = ConditionalBranch : r2009_2 +# 2055| void TernaryTestPodObj(bool, TernaryPodObj, TernaryPodObj, TernaryPodObj) +# 2055| Block 0 +# 2055| v2055_1(void) = EnterFunction : +# 2055| mu2055_2(unknown) = AliasedDefinition : +# 2055| mu2055_3(unknown) = InitializeNonLocal : +# 2055| r2055_4(glval) = VariableAddress[a] : +# 2055| mu2055_5(bool) = InitializeParameter[a] : &:r2055_4 +# 2055| r2055_6(glval) = VariableAddress[x] : +# 2055| mu2055_7(TernaryPodObj) = InitializeParameter[x] : &:r2055_6 +# 2055| r2055_8(glval) = VariableAddress[y] : +# 2055| mu2055_9(TernaryPodObj) = InitializeParameter[y] : &:r2055_8 +# 2055| r2055_10(glval) = VariableAddress[z] : +# 2055| mu2055_11(TernaryPodObj) = InitializeParameter[z] : &:r2055_10 +# 2056| r2056_1(glval) = VariableAddress[a] : +# 2056| r2056_2(bool) = Load[a] : &:r2056_1, ~m? +# 2056| v2056_3(void) = ConditionalBranch : r2056_2 #-----| False -> Block 3 #-----| True -> Block 2 -# 2009| Block 1 -# 2009| r2009_4(glval) = VariableAddress[#temp2009:9] : -# 2009| r2009_5(TernaryPodObj) = Load[#temp2009:9] : &:r2009_4, ~m? -# 2009| r2009_6(glval) = VariableAddress[z] : -# 2009| mu2009_7(TernaryPodObj) = Store[z] : &:r2009_6, r2009_5 -# 2010| r2010_1(glval) = VariableAddress[#temp2010:9] : -# 2010| r2010_2(glval) = VariableAddress[a] : -# 2010| r2010_3(bool) = Load[a] : &:r2010_2, ~m? -# 2010| v2010_4(void) = ConditionalBranch : r2010_3 +# 2056| Block 1 +# 2056| r2056_4(glval) = VariableAddress[#temp2056:9] : +# 2056| r2056_5(TernaryPodObj) = Load[#temp2056:9] : &:r2056_4, ~m? +# 2056| r2056_6(glval) = VariableAddress[z] : +# 2056| mu2056_7(TernaryPodObj) = Store[z] : &:r2056_6, r2056_5 +# 2057| r2057_1(glval) = VariableAddress[#temp2057:9] : +# 2057| r2057_2(glval) = VariableAddress[a] : +# 2057| r2057_3(bool) = Load[a] : &:r2057_2, ~m? +# 2057| v2057_4(void) = ConditionalBranch : r2057_3 #-----| False -> Block 6 #-----| True -> Block 5 -# 2009| Block 2 -# 2009| r2009_8(glval) = VariableAddress[x] : -# 2009| r2009_9(TernaryPodObj) = Load[x] : &:r2009_8, ~m? -# 2009| r2009_10(glval) = VariableAddress[#temp2009:9] : -# 2009| mu2009_11(TernaryPodObj) = Store[#temp2009:9] : &:r2009_10, r2009_9 +# 2056| Block 2 +# 2056| r2056_8(glval) = VariableAddress[x] : +# 2056| r2056_9(TernaryPodObj) = Load[x] : &:r2056_8, ~m? +# 2056| r2056_10(glval) = VariableAddress[#temp2056:9] : +# 2056| mu2056_11(TernaryPodObj) = Store[#temp2056:9] : &:r2056_10, r2056_9 #-----| Goto -> Block 1 -# 2009| Block 3 -# 2009| r2009_12(glval) = VariableAddress[y] : -# 2009| r2009_13(TernaryPodObj) = Load[y] : &:r2009_12, ~m? -# 2009| r2009_14(glval) = VariableAddress[#temp2009:9] : -# 2009| mu2009_15(TernaryPodObj) = Store[#temp2009:9] : &:r2009_14, r2009_13 +# 2056| Block 3 +# 2056| r2056_12(glval) = VariableAddress[y] : +# 2056| r2056_13(TernaryPodObj) = Load[y] : &:r2056_12, ~m? +# 2056| r2056_14(glval) = VariableAddress[#temp2056:9] : +# 2056| mu2056_15(TernaryPodObj) = Store[#temp2056:9] : &:r2056_14, r2056_13 #-----| Goto -> Block 1 -# 2010| Block 4 -# 2010| r2010_5(glval) = VariableAddress[#temp2010:9] : -# 2010| r2010_6(TernaryPodObj) = Load[#temp2010:9] : &:r2010_5, ~m? -# 2010| mu2010_7(TernaryPodObj) = Store[#temp2010:9] : &:r2010_1, r2010_6 -# 2010| r2010_8(TernaryPodObj) = Load[#temp2010:9] : &:r2010_1, ~m? -# 2010| r2010_9(glval) = VariableAddress[z] : -# 2010| mu2010_10(TernaryPodObj) = Store[z] : &:r2010_9, r2010_8 -# 2011| r2011_1(glval) = VariableAddress[#temp2011:9] : -# 2011| r2011_2(glval) = VariableAddress[a] : -# 2011| r2011_3(bool) = Load[a] : &:r2011_2, ~m? -# 2011| v2011_4(void) = ConditionalBranch : r2011_3 +# 2057| Block 4 +# 2057| r2057_5(glval) = VariableAddress[#temp2057:9] : +# 2057| r2057_6(TernaryPodObj) = Load[#temp2057:9] : &:r2057_5, ~m? +# 2057| mu2057_7(TernaryPodObj) = Store[#temp2057:9] : &:r2057_1, r2057_6 +# 2057| r2057_8(TernaryPodObj) = Load[#temp2057:9] : &:r2057_1, ~m? +# 2057| r2057_9(glval) = VariableAddress[z] : +# 2057| mu2057_10(TernaryPodObj) = Store[z] : &:r2057_9, r2057_8 +# 2058| r2058_1(glval) = VariableAddress[#temp2058:9] : +# 2058| r2058_2(glval) = VariableAddress[a] : +# 2058| r2058_3(bool) = Load[a] : &:r2058_2, ~m? +# 2058| v2058_4(void) = ConditionalBranch : r2058_3 #-----| False -> Block 9 #-----| True -> Block 8 -# 2010| Block 5 -# 2010| r2010_11(glval) = VariableAddress[#temp2010:13] : -# 2010| r2010_12(glval) = VariableAddress[x] : -# 2010| r2010_13(TernaryPodObj) = Load[x] : &:r2010_12, ~m? -# 2010| mu2010_14(TernaryPodObj) = Store[#temp2010:13] : &:r2010_11, r2010_13 -# 2010| r2010_15(TernaryPodObj) = Load[#temp2010:13] : &:r2010_11, ~m? -# 2010| r2010_16(glval) = VariableAddress[#temp2010:9] : -# 2010| mu2010_17(TernaryPodObj) = Store[#temp2010:9] : &:r2010_16, r2010_15 +# 2057| Block 5 +# 2057| r2057_11(glval) = VariableAddress[#temp2057:13] : +# 2057| r2057_12(glval) = VariableAddress[x] : +# 2057| r2057_13(TernaryPodObj) = Load[x] : &:r2057_12, ~m? +# 2057| mu2057_14(TernaryPodObj) = Store[#temp2057:13] : &:r2057_11, r2057_13 +# 2057| r2057_15(TernaryPodObj) = Load[#temp2057:13] : &:r2057_11, ~m? +# 2057| r2057_16(glval) = VariableAddress[#temp2057:9] : +# 2057| mu2057_17(TernaryPodObj) = Store[#temp2057:9] : &:r2057_16, r2057_15 #-----| Goto -> Block 4 -# 2010| Block 6 -# 2010| r2010_18(glval) = VariableAddress[#temp2010:17] : -# 2010| r2010_19(TernaryPodObj) = Constant[0] : -# 2010| mu2010_20(TernaryPodObj) = Store[#temp2010:17] : &:r2010_18, r2010_19 -# 2010| r2010_21(TernaryPodObj) = Load[#temp2010:17] : &:r2010_18, ~m? -# 2010| r2010_22(glval) = VariableAddress[#temp2010:9] : -# 2010| mu2010_23(TernaryPodObj) = Store[#temp2010:9] : &:r2010_22, r2010_21 +# 2057| Block 6 +# 2057| r2057_18(glval) = VariableAddress[#temp2057:17] : +# 2057| r2057_19(TernaryPodObj) = Constant[0] : +# 2057| mu2057_20(TernaryPodObj) = Store[#temp2057:17] : &:r2057_18, r2057_19 +# 2057| r2057_21(TernaryPodObj) = Load[#temp2057:17] : &:r2057_18, ~m? +# 2057| r2057_22(glval) = VariableAddress[#temp2057:9] : +# 2057| mu2057_23(TernaryPodObj) = Store[#temp2057:9] : &:r2057_22, r2057_21 #-----| Goto -> Block 4 -# 2011| Block 7 -# 2011| r2011_5(glval) = VariableAddress[#temp2011:9] : -# 2011| r2011_6(TernaryPodObj) = Load[#temp2011:9] : &:r2011_5, ~m? -# 2011| mu2011_7(TernaryPodObj) = Store[#temp2011:9] : &:r2011_1, r2011_6 -# 2011| r2011_8(TernaryPodObj) = Load[#temp2011:9] : &:r2011_1, ~m? -# 2011| r2011_9(glval) = VariableAddress[z] : -# 2011| mu2011_10(TernaryPodObj) = Store[z] : &:r2011_9, r2011_8 -# 2012| r2012_1(glval) = VariableAddress[#temp2012:23] : -# 2012| r2012_2(TernaryPodObj) = Constant[0] : -# 2012| mu2012_3(TernaryPodObj) = Store[#temp2012:23] : &:r2012_1, r2012_2 -# 2012| r2012_4(TernaryPodObj) = Load[#temp2012:23] : &:r2012_1, ~m? -# 2012| r2012_5(glval) = VariableAddress[a] : -# 2012| r2012_6(bool) = Load[a] : &:r2012_5, ~m? -# 2012| v2012_7(void) = ConditionalBranch : r2012_6 +# 2058| Block 7 +# 2058| r2058_5(glval) = VariableAddress[#temp2058:9] : +# 2058| r2058_6(TernaryPodObj) = Load[#temp2058:9] : &:r2058_5, ~m? +# 2058| mu2058_7(TernaryPodObj) = Store[#temp2058:9] : &:r2058_1, r2058_6 +# 2058| r2058_8(TernaryPodObj) = Load[#temp2058:9] : &:r2058_1, ~m? +# 2058| r2058_9(glval) = VariableAddress[z] : +# 2058| mu2058_10(TernaryPodObj) = Store[z] : &:r2058_9, r2058_8 +# 2059| r2059_1(glval) = VariableAddress[#temp2059:23] : +# 2059| r2059_2(TernaryPodObj) = Constant[0] : +# 2059| mu2059_3(TernaryPodObj) = Store[#temp2059:23] : &:r2059_1, r2059_2 +# 2059| r2059_4(TernaryPodObj) = Load[#temp2059:23] : &:r2059_1, ~m? +# 2059| r2059_5(glval) = VariableAddress[a] : +# 2059| r2059_6(bool) = Load[a] : &:r2059_5, ~m? +# 2059| v2059_7(void) = ConditionalBranch : r2059_6 #-----| False -> Block 12 #-----| True -> Block 11 -# 2011| Block 8 -# 2011| r2011_11(glval) = VariableAddress[#temp2011:13] : -# 2011| r2011_12(TernaryPodObj) = Constant[0] : -# 2011| mu2011_13(TernaryPodObj) = Store[#temp2011:13] : &:r2011_11, r2011_12 -# 2011| r2011_14(TernaryPodObj) = Load[#temp2011:13] : &:r2011_11, ~m? -# 2011| r2011_15(glval) = VariableAddress[#temp2011:9] : -# 2011| mu2011_16(TernaryPodObj) = Store[#temp2011:9] : &:r2011_15, r2011_14 +# 2058| Block 8 +# 2058| r2058_11(glval) = VariableAddress[#temp2058:13] : +# 2058| r2058_12(TernaryPodObj) = Constant[0] : +# 2058| mu2058_13(TernaryPodObj) = Store[#temp2058:13] : &:r2058_11, r2058_12 +# 2058| r2058_14(TernaryPodObj) = Load[#temp2058:13] : &:r2058_11, ~m? +# 2058| r2058_15(glval) = VariableAddress[#temp2058:9] : +# 2058| mu2058_16(TernaryPodObj) = Store[#temp2058:9] : &:r2058_15, r2058_14 #-----| Goto -> Block 7 -# 2011| Block 9 -# 2011| r2011_17(glval) = VariableAddress[#temp2011:31] : -# 2011| r2011_18(TernaryPodObj) = Constant[0] : -# 2011| mu2011_19(TernaryPodObj) = Store[#temp2011:31] : &:r2011_17, r2011_18 -# 2011| r2011_20(TernaryPodObj) = Load[#temp2011:31] : &:r2011_17, ~m? -# 2011| r2011_21(glval) = VariableAddress[#temp2011:9] : -# 2011| mu2011_22(TernaryPodObj) = Store[#temp2011:9] : &:r2011_21, r2011_20 +# 2058| Block 9 +# 2058| r2058_17(glval) = VariableAddress[#temp2058:31] : +# 2058| r2058_18(TernaryPodObj) = Constant[0] : +# 2058| mu2058_19(TernaryPodObj) = Store[#temp2058:31] : &:r2058_17, r2058_18 +# 2058| r2058_20(TernaryPodObj) = Load[#temp2058:31] : &:r2058_17, ~m? +# 2058| r2058_21(glval) = VariableAddress[#temp2058:9] : +# 2058| mu2058_22(TernaryPodObj) = Store[#temp2058:9] : &:r2058_21, r2058_20 #-----| Goto -> Block 7 -# 2012| Block 10 -# 2012| r2012_8(glval) = VariableAddress[#temp2012:10] : -# 2012| r2012_9(TernaryPodObj) = Load[#temp2012:10] : &:r2012_8, ~m? -# 2012| r2012_10(glval) = VariableAddress[z] : -# 2012| mu2012_11(TernaryPodObj) = Store[z] : &:r2012_10, r2012_9 -# 2012| r2012_12(glval) = CopyValue : r2012_10 -# 2012| mu2012_13(TernaryPodObj) = Store[?] : &:r2012_12, r2012_4 -# 2013| v2013_1(void) = NoOp : -# 2008| v2008_12(void) = ReturnVoid : -# 2008| v2008_13(void) = AliasedUse : ~m? -# 2008| v2008_14(void) = ExitFunction : +# 2059| Block 10 +# 2059| r2059_8(glval) = VariableAddress[#temp2059:10] : +# 2059| r2059_9(TernaryPodObj) = Load[#temp2059:10] : &:r2059_8, ~m? +# 2059| r2059_10(glval) = VariableAddress[z] : +# 2059| mu2059_11(TernaryPodObj) = Store[z] : &:r2059_10, r2059_9 +# 2059| r2059_12(glval) = CopyValue : r2059_10 +# 2059| mu2059_13(TernaryPodObj) = Store[?] : &:r2059_12, r2059_4 +# 2060| v2060_1(void) = NoOp : +# 2055| v2055_12(void) = ReturnVoid : +# 2055| v2055_13(void) = AliasedUse : ~m? +# 2055| v2055_14(void) = ExitFunction : -# 2012| Block 11 -# 2012| r2012_14(glval) = VariableAddress[x] : -# 2012| r2012_15(TernaryPodObj) = Load[x] : &:r2012_14, ~m? -# 2012| r2012_16(glval) = VariableAddress[#temp2012:10] : -# 2012| mu2012_17(TernaryPodObj) = Store[#temp2012:10] : &:r2012_16, r2012_15 +# 2059| Block 11 +# 2059| r2059_14(glval) = VariableAddress[x] : +# 2059| r2059_15(TernaryPodObj) = Load[x] : &:r2059_14, ~m? +# 2059| r2059_16(glval) = VariableAddress[#temp2059:10] : +# 2059| mu2059_17(TernaryPodObj) = Store[#temp2059:10] : &:r2059_16, r2059_15 #-----| Goto -> Block 10 -# 2012| Block 12 -# 2012| r2012_18(glval) = VariableAddress[y] : -# 2012| r2012_19(TernaryPodObj) = Load[y] : &:r2012_18, ~m? -# 2012| r2012_20(glval) = VariableAddress[#temp2012:10] : -# 2012| mu2012_21(TernaryPodObj) = Store[#temp2012:10] : &:r2012_20, r2012_19 +# 2059| Block 12 +# 2059| r2059_18(glval) = VariableAddress[y] : +# 2059| r2059_19(TernaryPodObj) = Load[y] : &:r2059_18, ~m? +# 2059| r2059_20(glval) = VariableAddress[#temp2059:10] : +# 2059| mu2059_21(TernaryPodObj) = Store[#temp2059:10] : &:r2059_20, r2059_19 #-----| Goto -> Block 10 -# 2015| TernaryNonPodObj& TernaryNonPodObj::operator=(TernaryNonPodObj const&) -# 2015| Block 0 -# 2015| v2015_1(void) = EnterFunction : -# 2015| mu2015_2(unknown) = AliasedDefinition : -# 2015| mu2015_3(unknown) = InitializeNonLocal : -# 2015| r2015_4(glval) = VariableAddress[#this] : -# 2015| mu2015_5(glval) = InitializeParameter[#this] : &:r2015_4 -# 2015| r2015_6(glval) = Load[#this] : &:r2015_4, ~m? -# 2015| mu2015_7(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2015_6 +# 2062| TernaryNonPodObj& TernaryNonPodObj::operator=(TernaryNonPodObj const&) +# 2062| Block 0 +# 2062| v2062_1(void) = EnterFunction : +# 2062| mu2062_2(unknown) = AliasedDefinition : +# 2062| mu2062_3(unknown) = InitializeNonLocal : +# 2062| r2062_4(glval) = VariableAddress[#this] : +# 2062| mu2062_5(glval) = InitializeParameter[#this] : &:r2062_4 +# 2062| r2062_6(glval) = Load[#this] : &:r2062_4, ~m? +# 2062| mu2062_7(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2062_6 #-----| r0_1(glval) = VariableAddress[(unnamed parameter 0)] : #-----| mu0_2(TernaryNonPodObj &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1 #-----| r0_3(TernaryNonPodObj &) = Load[(unnamed parameter 0)] : &:r0_1, ~m? @@ -11041,2478 +11469,2795 @@ ir.cpp: #-----| r0_8(glval) = CopyValue : r0_7 #-----| r0_9(TernaryNonPodObj &) = CopyValue : r0_8 #-----| mu0_10(TernaryNonPodObj &) = Store[#return] : &:r0_5, r0_9 -# 2015| v2015_8(void) = ReturnIndirection[#this] : &:r2015_6, ~m? +# 2062| v2062_8(void) = ReturnIndirection[#this] : &:r2062_6, ~m? #-----| v0_11(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, ~m? -# 2015| r2015_9(glval) = VariableAddress[#return] : -# 2015| v2015_10(void) = ReturnValue : &:r2015_9, ~m? -# 2015| v2015_11(void) = AliasedUse : ~m? -# 2015| v2015_12(void) = ExitFunction : +# 2062| r2062_9(glval) = VariableAddress[#return] : +# 2062| v2062_10(void) = ReturnValue : &:r2062_9, ~m? +# 2062| v2062_11(void) = AliasedUse : ~m? +# 2062| v2062_12(void) = ExitFunction : -# 2015| void TernaryNonPodObj::TernaryNonPodObj() -# 2015| Block 0 -# 2015| v2015_1(void) = EnterFunction : -# 2015| mu2015_2(unknown) = AliasedDefinition : -# 2015| mu2015_3(unknown) = InitializeNonLocal : -# 2015| r2015_4(glval) = VariableAddress[#this] : -# 2015| mu2015_5(glval) = InitializeParameter[#this] : &:r2015_4 -# 2015| r2015_6(glval) = Load[#this] : &:r2015_4, ~m? -# 2015| mu2015_7(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2015_6 -# 2015| v2015_8(void) = NoOp : -# 2015| v2015_9(void) = ReturnIndirection[#this] : &:r2015_6, ~m? -# 2015| v2015_10(void) = ReturnVoid : -# 2015| v2015_11(void) = AliasedUse : ~m? -# 2015| v2015_12(void) = ExitFunction : +# 2062| void TernaryNonPodObj::TernaryNonPodObj() +# 2062| Block 0 +# 2062| v2062_1(void) = EnterFunction : +# 2062| mu2062_2(unknown) = AliasedDefinition : +# 2062| mu2062_3(unknown) = InitializeNonLocal : +# 2062| r2062_4(glval) = VariableAddress[#this] : +# 2062| mu2062_5(glval) = InitializeParameter[#this] : &:r2062_4 +# 2062| r2062_6(glval) = Load[#this] : &:r2062_4, ~m? +# 2062| mu2062_7(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2062_6 +# 2062| v2062_8(void) = NoOp : +# 2062| v2062_9(void) = ReturnIndirection[#this] : &:r2062_6, ~m? +# 2062| v2062_10(void) = ReturnVoid : +# 2062| v2062_11(void) = AliasedUse : ~m? +# 2062| v2062_12(void) = ExitFunction : -# 2015| void TernaryNonPodObj::TernaryNonPodObj(TernaryNonPodObj const&) -# 2015| Block 0 -# 2015| v2015_1(void) = EnterFunction : -# 2015| mu2015_2(unknown) = AliasedDefinition : -# 2015| mu2015_3(unknown) = InitializeNonLocal : -# 2015| r2015_4(glval) = VariableAddress[#this] : -# 2015| mu2015_5(glval) = InitializeParameter[#this] : &:r2015_4 -# 2015| r2015_6(glval) = Load[#this] : &:r2015_4, ~m? -# 2015| mu2015_7(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2015_6 +# 2062| void TernaryNonPodObj::TernaryNonPodObj(TernaryNonPodObj const&) +# 2062| Block 0 +# 2062| v2062_1(void) = EnterFunction : +# 2062| mu2062_2(unknown) = AliasedDefinition : +# 2062| mu2062_3(unknown) = InitializeNonLocal : +# 2062| r2062_4(glval) = VariableAddress[#this] : +# 2062| mu2062_5(glval) = InitializeParameter[#this] : &:r2062_4 +# 2062| r2062_6(glval) = Load[#this] : &:r2062_4, ~m? +# 2062| mu2062_7(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2062_6 #-----| r0_1(glval) = VariableAddress[(unnamed parameter 0)] : #-----| mu0_2(TernaryNonPodObj &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1 #-----| r0_3(TernaryNonPodObj &) = Load[(unnamed parameter 0)] : &:r0_1, ~m? #-----| mu0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3 -# 2015| v2015_8(void) = NoOp : -# 2015| v2015_9(void) = ReturnIndirection[#this] : &:r2015_6, ~m? +# 2062| v2062_8(void) = NoOp : +# 2062| v2062_9(void) = ReturnIndirection[#this] : &:r2062_6, ~m? #-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, ~m? -# 2015| v2015_10(void) = ReturnVoid : -# 2015| v2015_11(void) = AliasedUse : ~m? -# 2015| v2015_12(void) = ExitFunction : +# 2062| v2062_10(void) = ReturnVoid : +# 2062| v2062_11(void) = AliasedUse : ~m? +# 2062| v2062_12(void) = ExitFunction : -# 2016| void TernaryNonPodObj::~TernaryNonPodObj() -# 2016| Block 0 -# 2016| v2016_1(void) = EnterFunction : -# 2016| mu2016_2(unknown) = AliasedDefinition : -# 2016| mu2016_3(unknown) = InitializeNonLocal : -# 2016| r2016_4(glval) = VariableAddress[#this] : -# 2016| mu2016_5(glval) = InitializeParameter[#this] : &:r2016_4 -# 2016| r2016_6(glval) = Load[#this] : &:r2016_4, ~m? -# 2016| mu2016_7(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2016_6 -# 2016| v2016_8(void) = NoOp : -# 2016| v2016_9(void) = ReturnIndirection[#this] : &:r2016_6, ~m? -# 2016| v2016_10(void) = ReturnVoid : -# 2016| v2016_11(void) = AliasedUse : ~m? -# 2016| v2016_12(void) = ExitFunction : +# 2063| void TernaryNonPodObj::~TernaryNonPodObj() +# 2063| Block 0 +# 2063| v2063_1(void) = EnterFunction : +# 2063| mu2063_2(unknown) = AliasedDefinition : +# 2063| mu2063_3(unknown) = InitializeNonLocal : +# 2063| r2063_4(glval) = VariableAddress[#this] : +# 2063| mu2063_5(glval) = InitializeParameter[#this] : &:r2063_4 +# 2063| r2063_6(glval) = Load[#this] : &:r2063_4, ~m? +# 2063| mu2063_7(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2063_6 +# 2063| v2063_8(void) = NoOp : +# 2063| v2063_9(void) = ReturnIndirection[#this] : &:r2063_6, ~m? +# 2063| v2063_10(void) = ReturnVoid : +# 2063| v2063_11(void) = AliasedUse : ~m? +# 2063| v2063_12(void) = ExitFunction : -# 2019| void TernaryTestNonPodObj(bool, TernaryNonPodObj, TernaryNonPodObj, TernaryNonPodObj) -# 2019| Block 0 -# 2019| v2019_1(void) = EnterFunction : -# 2019| mu2019_2(unknown) = AliasedDefinition : -# 2019| mu2019_3(unknown) = InitializeNonLocal : -# 2019| r2019_4(glval) = VariableAddress[a] : -# 2019| mu2019_5(bool) = InitializeParameter[a] : &:r2019_4 -# 2019| r2019_6(glval) = VariableAddress[x] : -# 2019| mu2019_7(TernaryNonPodObj) = InitializeParameter[x] : &:r2019_6 -# 2019| r2019_8(glval) = VariableAddress[y] : -# 2019| mu2019_9(TernaryNonPodObj) = InitializeParameter[y] : &:r2019_8 -# 2019| r2019_10(glval) = VariableAddress[z] : -# 2019| mu2019_11(TernaryNonPodObj) = InitializeParameter[z] : &:r2019_10 -# 2020| r2020_1(glval) = VariableAddress[z] : -# 2020| r2020_2(glval) = FunctionAddress[operator=] : -# 2020| r2020_3(glval) = VariableAddress[a] : -# 2020| r2020_4(bool) = Load[a] : &:r2020_3, ~m? -# 2020| v2020_5(void) = ConditionalBranch : r2020_4 +# 2066| void TernaryTestNonPodObj(bool, TernaryNonPodObj, TernaryNonPodObj, TernaryNonPodObj) +# 2066| Block 0 +# 2066| v2066_1(void) = EnterFunction : +# 2066| mu2066_2(unknown) = AliasedDefinition : +# 2066| mu2066_3(unknown) = InitializeNonLocal : +# 2066| r2066_4(glval) = VariableAddress[a] : +# 2066| mu2066_5(bool) = InitializeParameter[a] : &:r2066_4 +# 2066| r2066_6(glval) = VariableAddress[x] : +# 2066| mu2066_7(TernaryNonPodObj) = InitializeParameter[x] : &:r2066_6 +# 2066| r2066_8(glval) = VariableAddress[y] : +# 2066| mu2066_9(TernaryNonPodObj) = InitializeParameter[y] : &:r2066_8 +# 2066| r2066_10(glval) = VariableAddress[z] : +# 2066| mu2066_11(TernaryNonPodObj) = InitializeParameter[z] : &:r2066_10 +# 2067| r2067_1(glval) = VariableAddress[z] : +# 2067| r2067_2(glval) = FunctionAddress[operator=] : +# 2067| r2067_3(glval) = VariableAddress[a] : +# 2067| r2067_4(bool) = Load[a] : &:r2067_3, ~m? +# 2067| v2067_5(void) = ConditionalBranch : r2067_4 #-----| False -> Block 3 #-----| True -> Block 2 -# 2020| Block 1 -# 2020| r2020_6(glval) = VariableAddress[#temp2020:9] : -# 2020| r2020_7(glval) = Load[#temp2020:9] : &:r2020_6, ~m? -# 2020| r2020_8(glval) = Convert : r2020_7 -# 2020| r2020_9(TernaryNonPodObj &) = CopyValue : r2020_8 -# 2020| r2020_10(TernaryNonPodObj &) = Call[operator=] : func:r2020_2, this:r2020_1, 0:r2020_9 -# 2020| mu2020_11(unknown) = ^CallSideEffect : ~m? -# 2020| v2020_12(void) = ^IndirectReadSideEffect[-1] : &:r2020_1, ~m? -# 2020| v2020_13(void) = ^BufferReadSideEffect[0] : &:r2020_9, ~m? -# 2020| mu2020_14(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2020_1 -# 2020| r2020_15(glval) = CopyValue : r2020_10 -# 2021| r2021_1(glval) = VariableAddress[z] : -# 2021| r2021_2(glval) = FunctionAddress[operator=] : -# 2021| r2021_3(glval) = VariableAddress[#temp2021:9] : -# 2021| r2021_4(glval) = VariableAddress[a] : -# 2021| r2021_5(bool) = Load[a] : &:r2021_4, ~m? -# 2021| v2021_6(void) = ConditionalBranch : r2021_5 +# 2067| Block 1 +# 2067| r2067_6(glval) = VariableAddress[#temp2067:9] : +# 2067| r2067_7(glval) = Load[#temp2067:9] : &:r2067_6, ~m? +# 2067| r2067_8(glval) = Convert : r2067_7 +# 2067| r2067_9(TernaryNonPodObj &) = CopyValue : r2067_8 +# 2067| r2067_10(TernaryNonPodObj &) = Call[operator=] : func:r2067_2, this:r2067_1, 0:r2067_9 +# 2067| mu2067_11(unknown) = ^CallSideEffect : ~m? +# 2067| v2067_12(void) = ^IndirectReadSideEffect[-1] : &:r2067_1, ~m? +# 2067| v2067_13(void) = ^BufferReadSideEffect[0] : &:r2067_9, ~m? +# 2067| mu2067_14(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2067_1 +# 2067| r2067_15(glval) = CopyValue : r2067_10 +# 2068| r2068_1(glval) = VariableAddress[z] : +# 2068| r2068_2(glval) = FunctionAddress[operator=] : +# 2068| r2068_3(glval) = VariableAddress[#temp2068:9] : +# 2068| r2068_4(glval) = VariableAddress[a] : +# 2068| r2068_5(bool) = Load[a] : &:r2068_4, ~m? +# 2068| v2068_6(void) = ConditionalBranch : r2068_5 #-----| False -> Block 6 #-----| True -> Block 5 -# 2020| Block 2 -# 2020| r2020_16(glval) = VariableAddress[x] : -# 2020| r2020_17(glval) = VariableAddress[#temp2020:9] : -# 2020| mu2020_18(glval) = Store[#temp2020:9] : &:r2020_17, r2020_16 +# 2067| Block 2 +# 2067| r2067_16(glval) = VariableAddress[x] : +# 2067| r2067_17(glval) = VariableAddress[#temp2067:9] : +# 2067| mu2067_18(glval) = Store[#temp2067:9] : &:r2067_17, r2067_16 #-----| Goto -> Block 1 -# 2020| Block 3 -# 2020| r2020_19(glval) = VariableAddress[y] : -# 2020| r2020_20(glval) = VariableAddress[#temp2020:9] : -# 2020| mu2020_21(glval) = Store[#temp2020:9] : &:r2020_20, r2020_19 +# 2067| Block 3 +# 2067| r2067_19(glval) = VariableAddress[y] : +# 2067| r2067_20(glval) = VariableAddress[#temp2067:9] : +# 2067| mu2067_21(glval) = Store[#temp2067:9] : &:r2067_20, r2067_19 #-----| Goto -> Block 1 -# 2021| Block 4 -# 2021| r2021_7(glval) = VariableAddress[#temp2021:9] : -# 2021| r2021_8(TernaryNonPodObj) = Load[#temp2021:9] : &:r2021_7, ~m? -# 2021| mu2021_9(TernaryNonPodObj) = Store[#temp2021:9] : &:r2021_3, r2021_8 -# 2021| r2021_10(glval) = Convert : r2021_3 -# 2021| r2021_11(TernaryNonPodObj &) = CopyValue : r2021_10 -# 2021| r2021_12(TernaryNonPodObj &) = Call[operator=] : func:r2021_2, this:r2021_1, 0:r2021_11 -# 2021| mu2021_13(unknown) = ^CallSideEffect : ~m? -# 2021| v2021_14(void) = ^IndirectReadSideEffect[-1] : &:r2021_1, ~m? -# 2021| v2021_15(void) = ^BufferReadSideEffect[0] : &:r2021_11, ~m? -# 2021| mu2021_16(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2021_1 -# 2021| r2021_17(glval) = CopyValue : r2021_12 -# 2022| r2022_1(glval) = VariableAddress[z] : -# 2022| r2022_2(glval) = FunctionAddress[operator=] : -# 2022| r2022_3(glval) = VariableAddress[#temp2022:9] : -# 2022| r2022_4(glval) = VariableAddress[a] : -# 2022| r2022_5(bool) = Load[a] : &:r2022_4, ~m? -# 2022| v2022_6(void) = ConditionalBranch : r2022_5 +# 2068| Block 4 +# 2068| r2068_7(glval) = VariableAddress[#temp2068:9] : +# 2068| r2068_8(TernaryNonPodObj) = Load[#temp2068:9] : &:r2068_7, ~m? +# 2068| mu2068_9(TernaryNonPodObj) = Store[#temp2068:9] : &:r2068_3, r2068_8 +# 2068| r2068_10(glval) = Convert : r2068_3 +# 2068| r2068_11(TernaryNonPodObj &) = CopyValue : r2068_10 +# 2068| r2068_12(TernaryNonPodObj &) = Call[operator=] : func:r2068_2, this:r2068_1, 0:r2068_11 +# 2068| mu2068_13(unknown) = ^CallSideEffect : ~m? +# 2068| v2068_14(void) = ^IndirectReadSideEffect[-1] : &:r2068_1, ~m? +# 2068| v2068_15(void) = ^BufferReadSideEffect[0] : &:r2068_11, ~m? +# 2068| mu2068_16(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2068_1 +# 2068| r2068_17(glval) = CopyValue : r2068_12 +# 2069| r2069_1(glval) = VariableAddress[z] : +# 2069| r2069_2(glval) = FunctionAddress[operator=] : +# 2069| r2069_3(glval) = VariableAddress[#temp2069:9] : +# 2069| r2069_4(glval) = VariableAddress[a] : +# 2069| r2069_5(bool) = Load[a] : &:r2069_4, ~m? +# 2069| v2069_6(void) = ConditionalBranch : r2069_5 #-----| False -> Block 9 #-----| True -> Block 8 -# 2021| Block 5 -# 2021| r2021_18(glval) = VariableAddress[#temp2021:13] : -# 2021| mu2021_19(TernaryNonPodObj) = Uninitialized[#temp2021:13] : &:r2021_18 -# 2021| r2021_20(glval) = FunctionAddress[TernaryNonPodObj] : -# 2021| r2021_21(glval) = VariableAddress[x] : -# 2021| r2021_22(glval) = Convert : r2021_21 -# 2021| r2021_23(TernaryNonPodObj &) = CopyValue : r2021_22 -# 2021| v2021_24(void) = Call[TernaryNonPodObj] : func:r2021_20, this:r2021_18, 0:r2021_23 -# 2021| mu2021_25(unknown) = ^CallSideEffect : ~m? -# 2021| v2021_26(void) = ^BufferReadSideEffect[0] : &:r2021_23, ~m? -# 2021| mu2021_27(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2021_18 -# 2021| r2021_28(TernaryNonPodObj) = Load[#temp2021:13] : &:r2021_18, ~m? -# 2021| r2021_29(glval) = VariableAddress[#temp2021:9] : -# 2021| mu2021_30(TernaryNonPodObj) = Store[#temp2021:9] : &:r2021_29, r2021_28 +# 2068| Block 5 +# 2068| r2068_18(glval) = VariableAddress[#temp2068:13] : +# 2068| mu2068_19(TernaryNonPodObj) = Uninitialized[#temp2068:13] : &:r2068_18 +# 2068| r2068_20(glval) = FunctionAddress[TernaryNonPodObj] : +# 2068| r2068_21(glval) = VariableAddress[x] : +# 2068| r2068_22(glval) = Convert : r2068_21 +# 2068| r2068_23(TernaryNonPodObj &) = CopyValue : r2068_22 +# 2068| v2068_24(void) = Call[TernaryNonPodObj] : func:r2068_20, this:r2068_18, 0:r2068_23 +# 2068| mu2068_25(unknown) = ^CallSideEffect : ~m? +# 2068| v2068_26(void) = ^BufferReadSideEffect[0] : &:r2068_23, ~m? +# 2068| mu2068_27(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2068_18 +# 2068| r2068_28(TernaryNonPodObj) = Load[#temp2068:13] : &:r2068_18, ~m? +# 2068| r2068_29(glval) = VariableAddress[#temp2068:9] : +# 2068| mu2068_30(TernaryNonPodObj) = Store[#temp2068:9] : &:r2068_29, r2068_28 #-----| Goto -> Block 4 -# 2021| Block 6 -# 2021| r2021_31(glval) = VariableAddress[#temp2021:17] : -# 2021| mu2021_32(TernaryNonPodObj) = Uninitialized[#temp2021:17] : &:r2021_31 -# 2021| r2021_33(glval) = FunctionAddress[TernaryNonPodObj] : -# 2021| v2021_34(void) = Call[TernaryNonPodObj] : func:r2021_33, this:r2021_31 -# 2021| mu2021_35(unknown) = ^CallSideEffect : ~m? -# 2021| mu2021_36(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2021_31 -# 2021| r2021_37(TernaryNonPodObj) = Load[#temp2021:17] : &:r2021_31, ~m? -# 2021| r2021_38(glval) = VariableAddress[#temp2021:9] : -# 2021| mu2021_39(TernaryNonPodObj) = Store[#temp2021:9] : &:r2021_38, r2021_37 +# 2068| Block 6 +# 2068| r2068_31(glval) = VariableAddress[#temp2068:17] : +# 2068| mu2068_32(TernaryNonPodObj) = Uninitialized[#temp2068:17] : &:r2068_31 +# 2068| r2068_33(glval) = FunctionAddress[TernaryNonPodObj] : +# 2068| v2068_34(void) = Call[TernaryNonPodObj] : func:r2068_33, this:r2068_31 +# 2068| mu2068_35(unknown) = ^CallSideEffect : ~m? +# 2068| mu2068_36(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2068_31 +# 2068| r2068_37(TernaryNonPodObj) = Load[#temp2068:17] : &:r2068_31, ~m? +# 2068| r2068_38(glval) = VariableAddress[#temp2068:9] : +# 2068| mu2068_39(TernaryNonPodObj) = Store[#temp2068:9] : &:r2068_38, r2068_37 #-----| Goto -> Block 4 -# 2022| Block 7 -# 2022| r2022_7(glval) = VariableAddress[#temp2022:9] : -# 2022| r2022_8(TernaryNonPodObj) = Load[#temp2022:9] : &:r2022_7, ~m? -# 2022| mu2022_9(TernaryNonPodObj) = Store[#temp2022:9] : &:r2022_3, r2022_8 -# 2022| r2022_10(glval) = Convert : r2022_3 -# 2022| r2022_11(TernaryNonPodObj &) = CopyValue : r2022_10 -# 2022| r2022_12(TernaryNonPodObj &) = Call[operator=] : func:r2022_2, this:r2022_1, 0:r2022_11 -# 2022| mu2022_13(unknown) = ^CallSideEffect : ~m? -# 2022| v2022_14(void) = ^IndirectReadSideEffect[-1] : &:r2022_1, ~m? -# 2022| v2022_15(void) = ^BufferReadSideEffect[0] : &:r2022_11, ~m? -# 2022| mu2022_16(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2022_1 -# 2022| r2022_17(glval) = CopyValue : r2022_12 -# 2023| r2023_1(glval) = VariableAddress[z] : -# 2023| r2023_2(glval) = FunctionAddress[operator=] : -# 2023| r2023_3(glval) = VariableAddress[a] : -# 2023| r2023_4(bool) = Load[a] : &:r2023_3, ~m? -# 2023| v2023_5(void) = ConditionalBranch : r2023_4 +# 2069| Block 7 +# 2069| r2069_7(glval) = VariableAddress[#temp2069:9] : +# 2069| r2069_8(TernaryNonPodObj) = Load[#temp2069:9] : &:r2069_7, ~m? +# 2069| mu2069_9(TernaryNonPodObj) = Store[#temp2069:9] : &:r2069_3, r2069_8 +# 2069| r2069_10(glval) = Convert : r2069_3 +# 2069| r2069_11(TernaryNonPodObj &) = CopyValue : r2069_10 +# 2069| r2069_12(TernaryNonPodObj &) = Call[operator=] : func:r2069_2, this:r2069_1, 0:r2069_11 +# 2069| mu2069_13(unknown) = ^CallSideEffect : ~m? +# 2069| v2069_14(void) = ^IndirectReadSideEffect[-1] : &:r2069_1, ~m? +# 2069| v2069_15(void) = ^BufferReadSideEffect[0] : &:r2069_11, ~m? +# 2069| mu2069_16(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2069_1 +# 2069| r2069_17(glval) = CopyValue : r2069_12 +# 2070| r2070_1(glval) = VariableAddress[z] : +# 2070| r2070_2(glval) = FunctionAddress[operator=] : +# 2070| r2070_3(glval) = VariableAddress[a] : +# 2070| r2070_4(bool) = Load[a] : &:r2070_3, ~m? +# 2070| v2070_5(void) = ConditionalBranch : r2070_4 #-----| False -> Block 12 #-----| True -> Block 11 -# 2022| Block 8 -# 2022| r2022_18(glval) = VariableAddress[#temp2022:13] : -# 2022| mu2022_19(TernaryNonPodObj) = Uninitialized[#temp2022:13] : &:r2022_18 -# 2022| r2022_20(glval) = FunctionAddress[TernaryNonPodObj] : -# 2022| v2022_21(void) = Call[TernaryNonPodObj] : func:r2022_20, this:r2022_18 -# 2022| mu2022_22(unknown) = ^CallSideEffect : ~m? -# 2022| mu2022_23(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2022_18 -# 2022| r2022_24(TernaryNonPodObj) = Load[#temp2022:13] : &:r2022_18, ~m? -# 2022| r2022_25(glval) = VariableAddress[#temp2022:9] : -# 2022| mu2022_26(TernaryNonPodObj) = Store[#temp2022:9] : &:r2022_25, r2022_24 +# 2069| Block 8 +# 2069| r2069_18(glval) = VariableAddress[#temp2069:13] : +# 2069| mu2069_19(TernaryNonPodObj) = Uninitialized[#temp2069:13] : &:r2069_18 +# 2069| r2069_20(glval) = FunctionAddress[TernaryNonPodObj] : +# 2069| v2069_21(void) = Call[TernaryNonPodObj] : func:r2069_20, this:r2069_18 +# 2069| mu2069_22(unknown) = ^CallSideEffect : ~m? +# 2069| mu2069_23(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2069_18 +# 2069| r2069_24(TernaryNonPodObj) = Load[#temp2069:13] : &:r2069_18, ~m? +# 2069| r2069_25(glval) = VariableAddress[#temp2069:9] : +# 2069| mu2069_26(TernaryNonPodObj) = Store[#temp2069:9] : &:r2069_25, r2069_24 #-----| Goto -> Block 7 -# 2022| Block 9 -# 2022| r2022_27(glval) = VariableAddress[#temp2022:34] : -# 2022| mu2022_28(TernaryNonPodObj) = Uninitialized[#temp2022:34] : &:r2022_27 -# 2022| r2022_29(glval) = FunctionAddress[TernaryNonPodObj] : -# 2022| v2022_30(void) = Call[TernaryNonPodObj] : func:r2022_29, this:r2022_27 -# 2022| mu2022_31(unknown) = ^CallSideEffect : ~m? -# 2022| mu2022_32(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2022_27 -# 2022| r2022_33(TernaryNonPodObj) = Load[#temp2022:34] : &:r2022_27, ~m? -# 2022| r2022_34(glval) = VariableAddress[#temp2022:9] : -# 2022| mu2022_35(TernaryNonPodObj) = Store[#temp2022:9] : &:r2022_34, r2022_33 +# 2069| Block 9 +# 2069| r2069_27(glval) = VariableAddress[#temp2069:34] : +# 2069| mu2069_28(TernaryNonPodObj) = Uninitialized[#temp2069:34] : &:r2069_27 +# 2069| r2069_29(glval) = FunctionAddress[TernaryNonPodObj] : +# 2069| v2069_30(void) = Call[TernaryNonPodObj] : func:r2069_29, this:r2069_27 +# 2069| mu2069_31(unknown) = ^CallSideEffect : ~m? +# 2069| mu2069_32(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2069_27 +# 2069| r2069_33(TernaryNonPodObj) = Load[#temp2069:34] : &:r2069_27, ~m? +# 2069| r2069_34(glval) = VariableAddress[#temp2069:9] : +# 2069| mu2069_35(TernaryNonPodObj) = Store[#temp2069:9] : &:r2069_34, r2069_33 #-----| Goto -> Block 7 -# 2023| Block 10 -# 2023| r2023_6(glval) = VariableAddress[#temp2023:10] : -# 2023| r2023_7(glval) = Load[#temp2023:10] : &:r2023_6, ~m? -# 2023| r2023_8(glval) = Convert : r2023_7 -# 2023| r2023_9(TernaryNonPodObj &) = CopyValue : r2023_8 -# 2023| r2023_10(TernaryNonPodObj &) = Call[operator=] : func:r2023_2, this:r2023_1, 0:r2023_9 -# 2023| mu2023_11(unknown) = ^CallSideEffect : ~m? -# 2023| v2023_12(void) = ^IndirectReadSideEffect[-1] : &:r2023_1, ~m? -# 2023| v2023_13(void) = ^BufferReadSideEffect[0] : &:r2023_9, ~m? -# 2023| mu2023_14(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2023_1 -# 2023| r2023_15(glval) = CopyValue : r2023_10 -# 2023| r2023_16(glval) = FunctionAddress[operator=] : -# 2023| r2023_17(glval) = VariableAddress[#temp2023:23] : -# 2023| mu2023_18(TernaryNonPodObj) = Uninitialized[#temp2023:23] : &:r2023_17 -# 2023| r2023_19(glval) = FunctionAddress[TernaryNonPodObj] : -# 2023| v2023_20(void) = Call[TernaryNonPodObj] : func:r2023_19, this:r2023_17 -# 2023| mu2023_21(unknown) = ^CallSideEffect : ~m? -# 2023| mu2023_22(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2023_17 -# 2023| r2023_23(glval) = Convert : r2023_17 -# 2023| r2023_24(TernaryNonPodObj &) = CopyValue : r2023_23 -# 2023| r2023_25(TernaryNonPodObj &) = Call[operator=] : func:r2023_16, this:r2023_15, 0:r2023_24 -# 2023| mu2023_26(unknown) = ^CallSideEffect : ~m? -# 2023| v2023_27(void) = ^IndirectReadSideEffect[-1] : &:r2023_15, ~m? -# 2023| v2023_28(void) = ^BufferReadSideEffect[0] : &:r2023_24, ~m? -# 2023| mu2023_29(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2023_15 -# 2023| r2023_30(glval) = CopyValue : r2023_25 -# 2024| v2024_1(void) = NoOp : -# 2019| v2019_12(void) = ReturnVoid : -# 2019| v2019_13(void) = AliasedUse : ~m? -# 2019| v2019_14(void) = ExitFunction : +# 2070| Block 10 +# 2070| r2070_6(glval) = VariableAddress[#temp2070:10] : +# 2070| r2070_7(glval) = Load[#temp2070:10] : &:r2070_6, ~m? +# 2070| r2070_8(glval) = Convert : r2070_7 +# 2070| r2070_9(TernaryNonPodObj &) = CopyValue : r2070_8 +# 2070| r2070_10(TernaryNonPodObj &) = Call[operator=] : func:r2070_2, this:r2070_1, 0:r2070_9 +# 2070| mu2070_11(unknown) = ^CallSideEffect : ~m? +# 2070| v2070_12(void) = ^IndirectReadSideEffect[-1] : &:r2070_1, ~m? +# 2070| v2070_13(void) = ^BufferReadSideEffect[0] : &:r2070_9, ~m? +# 2070| mu2070_14(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2070_1 +# 2070| r2070_15(glval) = CopyValue : r2070_10 +# 2070| r2070_16(glval) = FunctionAddress[operator=] : +# 2070| r2070_17(glval) = VariableAddress[#temp2070:23] : +# 2070| mu2070_18(TernaryNonPodObj) = Uninitialized[#temp2070:23] : &:r2070_17 +# 2070| r2070_19(glval) = FunctionAddress[TernaryNonPodObj] : +# 2070| v2070_20(void) = Call[TernaryNonPodObj] : func:r2070_19, this:r2070_17 +# 2070| mu2070_21(unknown) = ^CallSideEffect : ~m? +# 2070| mu2070_22(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2070_17 +# 2070| r2070_23(glval) = Convert : r2070_17 +# 2070| r2070_24(TernaryNonPodObj &) = CopyValue : r2070_23 +# 2070| r2070_25(TernaryNonPodObj &) = Call[operator=] : func:r2070_16, this:r2070_15, 0:r2070_24 +# 2070| mu2070_26(unknown) = ^CallSideEffect : ~m? +# 2070| v2070_27(void) = ^IndirectReadSideEffect[-1] : &:r2070_15, ~m? +# 2070| v2070_28(void) = ^BufferReadSideEffect[0] : &:r2070_24, ~m? +# 2070| mu2070_29(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2070_15 +# 2070| r2070_30(glval) = CopyValue : r2070_25 +# 2071| v2071_1(void) = NoOp : +# 2066| v2066_12(void) = ReturnVoid : +# 2066| v2066_13(void) = AliasedUse : ~m? +# 2066| v2066_14(void) = ExitFunction : -# 2023| Block 11 -# 2023| r2023_31(glval) = VariableAddress[x] : -# 2023| r2023_32(glval) = VariableAddress[#temp2023:10] : -# 2023| mu2023_33(glval) = Store[#temp2023:10] : &:r2023_32, r2023_31 +# 2070| Block 11 +# 2070| r2070_31(glval) = VariableAddress[x] : +# 2070| r2070_32(glval) = VariableAddress[#temp2070:10] : +# 2070| mu2070_33(glval) = Store[#temp2070:10] : &:r2070_32, r2070_31 #-----| Goto -> Block 10 -# 2023| Block 12 -# 2023| r2023_34(glval) = VariableAddress[y] : -# 2023| r2023_35(glval) = VariableAddress[#temp2023:10] : -# 2023| mu2023_36(glval) = Store[#temp2023:10] : &:r2023_35, r2023_34 +# 2070| Block 12 +# 2070| r2070_34(glval) = VariableAddress[y] : +# 2070| r2070_35(glval) = VariableAddress[#temp2070:10] : +# 2070| mu2070_36(glval) = Store[#temp2070:10] : &:r2070_35, r2070_34 #-----| Goto -> Block 10 -# 2028| unsigned int CommaTest(unsigned int) -# 2028| Block 0 -# 2028| v2028_1(void) = EnterFunction : -# 2028| mu2028_2(unknown) = AliasedDefinition : -# 2028| mu2028_3(unknown) = InitializeNonLocal : -# 2028| r2028_4(glval) = VariableAddress[x] : -# 2028| mu2028_5(unsigned int) = InitializeParameter[x] : &:r2028_4 -# 2029| r2029_1(glval) = VariableAddress[y] : -# 2029| mu2029_2(unsigned int) = Uninitialized[y] : &:r2029_1 -# 2030| r2030_1(glval) = VariableAddress[x] : -# 2030| r2030_2(unsigned int) = Load[x] : &:r2030_1, ~m? -# 2030| r2030_3(unsigned int) = Constant[100] : -# 2030| r2030_4(bool) = CompareLT : r2030_2, r2030_3 -# 2030| v2030_5(void) = ConditionalBranch : r2030_4 +# 2075| unsigned int CommaTest(unsigned int) +# 2075| Block 0 +# 2075| v2075_1(void) = EnterFunction : +# 2075| mu2075_2(unknown) = AliasedDefinition : +# 2075| mu2075_3(unknown) = InitializeNonLocal : +# 2075| r2075_4(glval) = VariableAddress[x] : +# 2075| mu2075_5(unsigned int) = InitializeParameter[x] : &:r2075_4 +# 2076| r2076_1(glval) = VariableAddress[y] : +# 2076| mu2076_2(unsigned int) = Uninitialized[y] : &:r2076_1 +# 2077| r2077_1(glval) = VariableAddress[x] : +# 2077| r2077_2(unsigned int) = Load[x] : &:r2077_1, ~m? +# 2077| r2077_3(unsigned int) = Constant[100] : +# 2077| r2077_4(bool) = CompareLT : r2077_2, r2077_3 +# 2077| v2077_5(void) = ConditionalBranch : r2077_4 #-----| False -> Block 3 #-----| True -> Block 2 -# 2030| Block 1 -# 2030| r2030_6(glval) = VariableAddress[#temp2030:7] : -# 2030| r2030_7(unsigned int) = Load[#temp2030:7] : &:r2030_6, ~m? -# 2030| r2030_8(glval) = VariableAddress[y] : -# 2030| mu2030_9(unsigned int) = Store[y] : &:r2030_8, r2030_7 -# 2033| r2033_1(glval) = VariableAddress[#return] : -# 2033| mu2033_2(unsigned int) = Uninitialized[#return] : &:r2033_1 -# 2028| r2028_6(glval) = VariableAddress[#return] : -# 2028| v2028_7(void) = ReturnValue : &:r2028_6, ~m? -# 2028| v2028_8(void) = AliasedUse : ~m? -# 2028| v2028_9(void) = ExitFunction : +# 2077| Block 1 +# 2077| r2077_6(glval) = VariableAddress[#temp2077:7] : +# 2077| r2077_7(unsigned int) = Load[#temp2077:7] : &:r2077_6, ~m? +# 2077| r2077_8(glval) = VariableAddress[y] : +# 2077| mu2077_9(unsigned int) = Store[y] : &:r2077_8, r2077_7 +# 2080| r2080_1(glval) = VariableAddress[#return] : +# 2080| mu2080_2(unsigned int) = Uninitialized[#return] : &:r2080_1 +# 2075| r2075_6(glval) = VariableAddress[#return] : +# 2075| v2075_7(void) = ReturnValue : &:r2075_6, ~m? +# 2075| v2075_8(void) = AliasedUse : ~m? +# 2075| v2075_9(void) = ExitFunction : -# 2031| Block 2 -# 2031| r2031_1(glval) = FunctionAddress[CommaTestHelper] : -# 2031| r2031_2(glval) = VariableAddress[x] : -# 2031| r2031_3(unsigned int) = Load[x] : &:r2031_2, ~m? -# 2031| v2031_4(void) = Call[CommaTestHelper] : func:r2031_1, 0:r2031_3 -# 2031| mu2031_5(unknown) = ^CallSideEffect : ~m? -# 2031| r2031_6(glval) = VariableAddress[x] : -# 2031| r2031_7(unsigned int) = Load[x] : &:r2031_6, ~m? -# 2031| r2031_8(unsigned int) = CopyValue : r2031_7 -# 2030| r2030_10(glval) = VariableAddress[#temp2030:7] : -# 2030| mu2030_11(unsigned int) = Store[#temp2030:7] : &:r2030_10, r2031_8 +# 2078| Block 2 +# 2078| r2078_1(glval) = FunctionAddress[CommaTestHelper] : +# 2078| r2078_2(glval) = VariableAddress[x] : +# 2078| r2078_3(unsigned int) = Load[x] : &:r2078_2, ~m? +# 2078| v2078_4(void) = Call[CommaTestHelper] : func:r2078_1, 0:r2078_3 +# 2078| mu2078_5(unknown) = ^CallSideEffect : ~m? +# 2078| r2078_6(glval) = VariableAddress[x] : +# 2078| r2078_7(unsigned int) = Load[x] : &:r2078_6, ~m? +# 2078| r2078_8(unsigned int) = CopyValue : r2078_7 +# 2077| r2077_10(glval) = VariableAddress[#temp2077:7] : +# 2077| mu2077_11(unsigned int) = Store[#temp2077:7] : &:r2077_10, r2078_8 #-----| Goto -> Block 1 -# 2032| Block 3 -# 2032| r2032_1(glval) = FunctionAddress[CommaTestHelper] : -# 2032| r2032_2(glval) = VariableAddress[x] : -# 2032| r2032_3(unsigned int) = Load[x] : &:r2032_2, ~m? -# 2032| v2032_4(void) = Call[CommaTestHelper] : func:r2032_1, 0:r2032_3 -# 2032| mu2032_5(unknown) = ^CallSideEffect : ~m? -# 2032| r2032_6(int) = Constant[10] : -# 2032| r2032_7(int) = CopyValue : r2032_6 -# 2032| r2032_8(unsigned int) = Convert : r2032_7 -# 2030| r2030_12(glval) = VariableAddress[#temp2030:7] : -# 2030| mu2030_13(unsigned int) = Store[#temp2030:7] : &:r2030_12, r2032_8 +# 2079| Block 3 +# 2079| r2079_1(glval) = FunctionAddress[CommaTestHelper] : +# 2079| r2079_2(glval) = VariableAddress[x] : +# 2079| r2079_3(unsigned int) = Load[x] : &:r2079_2, ~m? +# 2079| v2079_4(void) = Call[CommaTestHelper] : func:r2079_1, 0:r2079_3 +# 2079| mu2079_5(unknown) = ^CallSideEffect : ~m? +# 2079| r2079_6(int) = Constant[10] : +# 2079| r2079_7(int) = CopyValue : r2079_6 +# 2079| r2079_8(unsigned int) = Convert : r2079_7 +# 2077| r2077_12(glval) = VariableAddress[#temp2077:7] : +# 2077| mu2077_13(unsigned int) = Store[#temp2077:7] : &:r2077_12, r2079_8 #-----| Goto -> Block 1 -# 2035| void NewDeleteMem() -# 2035| Block 0 -# 2035| v2035_1(void) = EnterFunction : -# 2035| mu2035_2(unknown) = AliasedDefinition : -# 2035| mu2035_3(unknown) = InitializeNonLocal : -# 2036| r2036_1(glval) = VariableAddress[x] : -# 2036| r2036_2(glval) = FunctionAddress[operator new] : -# 2036| r2036_3(unsigned long) = Constant[4] : -# 2036| r2036_4(void *) = Call[operator new] : func:r2036_2, 0:r2036_3 -# 2036| mu2036_5(unknown) = ^CallSideEffect : ~m? -# 2036| mu2036_6(unknown) = ^InitializeDynamicAllocation : &:r2036_4 -# 2036| r2036_7(int *) = Convert : r2036_4 -# 2036| mu2036_8(int *) = Store[x] : &:r2036_1, r2036_7 -# 2037| r2037_1(int) = Constant[6] : -# 2037| r2037_2(glval) = VariableAddress[x] : -# 2037| r2037_3(int *) = Load[x] : &:r2037_2, ~m? -# 2037| r2037_4(glval) = CopyValue : r2037_3 -# 2037| mu2037_5(int) = Store[?] : &:r2037_4, r2037_1 -# 2038| r2038_1(glval) = FunctionAddress[operator delete] : -# 2038| r2038_2(glval) = VariableAddress[x] : -# 2038| r2038_3(int *) = Load[x] : &:r2038_2, ~m? -# 2038| v2038_4(void) = Call[operator delete] : func:r2038_1, 0:r2038_3 -# 2038| mu2038_5(unknown) = ^CallSideEffect : ~m? -# 2039| v2039_1(void) = NoOp : -# 2035| v2035_4(void) = ReturnVoid : -# 2035| v2035_5(void) = AliasedUse : ~m? -# 2035| v2035_6(void) = ExitFunction : +# 2082| void NewDeleteMem() +# 2082| Block 0 +# 2082| v2082_1(void) = EnterFunction : +# 2082| mu2082_2(unknown) = AliasedDefinition : +# 2082| mu2082_3(unknown) = InitializeNonLocal : +# 2083| r2083_1(glval) = VariableAddress[x] : +# 2083| r2083_2(glval) = FunctionAddress[operator new] : +# 2083| r2083_3(unsigned long) = Constant[4] : +# 2083| r2083_4(void *) = Call[operator new] : func:r2083_2, 0:r2083_3 +# 2083| mu2083_5(unknown) = ^CallSideEffect : ~m? +# 2083| mu2083_6(unknown) = ^InitializeDynamicAllocation : &:r2083_4 +# 2083| r2083_7(int *) = Convert : r2083_4 +# 2083| mu2083_8(int *) = Store[x] : &:r2083_1, r2083_7 +# 2084| r2084_1(int) = Constant[6] : +# 2084| r2084_2(glval) = VariableAddress[x] : +# 2084| r2084_3(int *) = Load[x] : &:r2084_2, ~m? +# 2084| r2084_4(glval) = CopyValue : r2084_3 +# 2084| mu2084_5(int) = Store[?] : &:r2084_4, r2084_1 +# 2085| r2085_1(glval) = FunctionAddress[operator delete] : +# 2085| r2085_2(glval) = VariableAddress[x] : +# 2085| r2085_3(int *) = Load[x] : &:r2085_2, ~m? +# 2085| v2085_4(void) = Call[operator delete] : func:r2085_1, 0:r2085_3 +# 2085| mu2085_5(unknown) = ^CallSideEffect : ~m? +# 2086| v2086_1(void) = NoOp : +# 2082| v2082_4(void) = ReturnVoid : +# 2082| v2082_5(void) = AliasedUse : ~m? +# 2082| v2082_6(void) = ExitFunction : -# 2041| void Base2::Base2() -# 2041| Block 0 -# 2041| v2041_1(void) = EnterFunction : -# 2041| mu2041_2(unknown) = AliasedDefinition : -# 2041| mu2041_3(unknown) = InitializeNonLocal : -# 2041| r2041_4(glval) = VariableAddress[#this] : -# 2041| mu2041_5(glval) = InitializeParameter[#this] : &:r2041_4 -# 2041| r2041_6(glval) = Load[#this] : &:r2041_4, ~m? -# 2041| mu2041_7(Base2) = InitializeIndirection[#this] : &:r2041_6 -# 2041| v2041_8(void) = NoOp : -# 2041| v2041_9(void) = ReturnIndirection[#this] : &:r2041_6, ~m? -# 2041| v2041_10(void) = ReturnVoid : -# 2041| v2041_11(void) = AliasedUse : ~m? -# 2041| v2041_12(void) = ExitFunction : +# 2088| void Base2::Base2() +# 2088| Block 0 +# 2088| v2088_1(void) = EnterFunction : +# 2088| mu2088_2(unknown) = AliasedDefinition : +# 2088| mu2088_3(unknown) = InitializeNonLocal : +# 2088| r2088_4(glval) = VariableAddress[#this] : +# 2088| mu2088_5(glval) = InitializeParameter[#this] : &:r2088_4 +# 2088| r2088_6(glval) = Load[#this] : &:r2088_4, ~m? +# 2088| mu2088_7(Base2) = InitializeIndirection[#this] : &:r2088_6 +# 2088| v2088_8(void) = NoOp : +# 2088| v2088_9(void) = ReturnIndirection[#this] : &:r2088_6, ~m? +# 2088| v2088_10(void) = ReturnVoid : +# 2088| v2088_11(void) = AliasedUse : ~m? +# 2088| v2088_12(void) = ExitFunction : -# 2043| void Base2::operator delete(void*) -# 2043| Block 0 -# 2043| v2043_1(void) = EnterFunction : -# 2043| mu2043_2(unknown) = AliasedDefinition : -# 2043| mu2043_3(unknown) = InitializeNonLocal : -# 2043| r2043_4(glval) = VariableAddress[p] : -# 2043| mu2043_5(void *) = InitializeParameter[p] : &:r2043_4 -# 2043| r2043_6(void *) = Load[p] : &:r2043_4, ~m? -# 2043| mu2043_7(unknown) = InitializeIndirection[p] : &:r2043_6 -# 2044| v2044_1(void) = NoOp : -# 2043| v2043_8(void) = ReturnIndirection[p] : &:r2043_6, ~m? -# 2043| v2043_9(void) = ReturnVoid : -# 2043| v2043_10(void) = AliasedUse : ~m? -# 2043| v2043_11(void) = ExitFunction : +# 2090| void Base2::operator delete(void*) +# 2090| Block 0 +# 2090| v2090_1(void) = EnterFunction : +# 2090| mu2090_2(unknown) = AliasedDefinition : +# 2090| mu2090_3(unknown) = InitializeNonLocal : +# 2090| r2090_4(glval) = VariableAddress[p] : +# 2090| mu2090_5(void *) = InitializeParameter[p] : &:r2090_4 +# 2090| r2090_6(void *) = Load[p] : &:r2090_4, ~m? +# 2090| mu2090_7(unknown) = InitializeIndirection[p] : &:r2090_6 +# 2091| v2091_1(void) = NoOp : +# 2090| v2090_8(void) = ReturnIndirection[p] : &:r2090_6, ~m? +# 2090| v2090_9(void) = ReturnVoid : +# 2090| v2090_10(void) = AliasedUse : ~m? +# 2090| v2090_11(void) = ExitFunction : -# 2045| void Base2::~Base2() -# 2045| Block 0 -# 2045| v2045_1(void) = EnterFunction : -# 2045| mu2045_2(unknown) = AliasedDefinition : -# 2045| mu2045_3(unknown) = InitializeNonLocal : -# 2045| r2045_4(glval) = VariableAddress[#this] : -# 2045| mu2045_5(glval) = InitializeParameter[#this] : &:r2045_4 -# 2045| r2045_6(glval) = Load[#this] : &:r2045_4, ~m? -# 2045| mu2045_7(Base2) = InitializeIndirection[#this] : &:r2045_6 -# 2045| v2045_8(void) = NoOp : -# 2045| v2045_9(void) = ReturnIndirection[#this] : &:r2045_6, ~m? -# 2045| v2045_10(void) = ReturnVoid : -# 2045| v2045_11(void) = AliasedUse : ~m? -# 2045| v2045_12(void) = ExitFunction : - -# 2048| void Derived2::Derived2() -# 2048| Block 0 -# 2048| v2048_1(void) = EnterFunction : -# 2048| mu2048_2(unknown) = AliasedDefinition : -# 2048| mu2048_3(unknown) = InitializeNonLocal : -# 2048| r2048_4(glval) = VariableAddress[#this] : -# 2048| mu2048_5(glval) = InitializeParameter[#this] : &:r2048_4 -# 2048| r2048_6(glval) = Load[#this] : &:r2048_4, ~m? -# 2048| mu2048_7(Derived2) = InitializeIndirection[#this] : &:r2048_6 -# 2048| r2048_8(glval) = ConvertToNonVirtualBase[Derived2 : Base2] : mu2048_5 -# 2048| r2048_9(glval) = FunctionAddress[Base2] : -# 2048| v2048_10(void) = Call[Base2] : func:r2048_9, this:r2048_8 -# 2048| mu2048_11(unknown) = ^CallSideEffect : ~m? -# 2048| mu2048_12(Base2) = ^IndirectMayWriteSideEffect[-1] : &:r2048_8 -# 2048| v2048_13(void) = NoOp : -# 2048| v2048_14(void) = ReturnIndirection[#this] : &:r2048_6, ~m? -# 2048| v2048_15(void) = ReturnVoid : -# 2048| v2048_16(void) = AliasedUse : ~m? -# 2048| v2048_17(void) = ExitFunction : - -# 2051| void Derived2::~Derived2() -# 2051| Block 0 -# 2051| v2051_1(void) = EnterFunction : -# 2051| mu2051_2(unknown) = AliasedDefinition : -# 2051| mu2051_3(unknown) = InitializeNonLocal : -# 2051| r2051_4(glval) = VariableAddress[#this] : -# 2051| mu2051_5(glval) = InitializeParameter[#this] : &:r2051_4 -# 2051| r2051_6(glval) = Load[#this] : &:r2051_4, ~m? -# 2051| mu2051_7(Derived2) = InitializeIndirection[#this] : &:r2051_6 -# 2051| v2051_8(void) = NoOp : -# 2051| r2051_9(glval) = ConvertToNonVirtualBase[Derived2 : Base2] : mu2051_5 -# 2051| r2051_10(glval) = FunctionAddress[~Base2] : -# 2051| v2051_11(void) = Call[~Base2] : func:r2051_10, this:r2051_9 -# 2051| mu2051_12(unknown) = ^CallSideEffect : ~m? -# 2051| v2051_13(void) = ReturnIndirection[#this] : &:r2051_6, ~m? -# 2051| v2051_14(void) = ReturnVoid : -# 2051| v2051_15(void) = AliasedUse : ~m? -# 2051| v2051_16(void) = ExitFunction : - -# 2053| void Derived2::operator delete(void*) -# 2053| Block 0 -# 2053| v2053_1(void) = EnterFunction : -# 2053| mu2053_2(unknown) = AliasedDefinition : -# 2053| mu2053_3(unknown) = InitializeNonLocal : -# 2053| r2053_4(glval) = VariableAddress[p] : -# 2053| mu2053_5(void *) = InitializeParameter[p] : &:r2053_4 -# 2053| r2053_6(void *) = Load[p] : &:r2053_4, ~m? -# 2053| mu2053_7(unknown) = InitializeIndirection[p] : &:r2053_6 -# 2054| v2054_1(void) = NoOp : -# 2053| v2053_8(void) = ReturnIndirection[p] : &:r2053_6, ~m? -# 2053| v2053_9(void) = ReturnVoid : -# 2053| v2053_10(void) = AliasedUse : ~m? -# 2053| v2053_11(void) = ExitFunction : - -# 2058| int virtual_delete() -# 2058| Block 0 -# 2058| v2058_1(void) = EnterFunction : -# 2058| mu2058_2(unknown) = AliasedDefinition : -# 2058| mu2058_3(unknown) = InitializeNonLocal : -# 2060| r2060_1(glval) = VariableAddress[b1] : -# 2060| r2060_2(glval) = FunctionAddress[operator new] : -# 2060| r2060_3(unsigned long) = Constant[8] : -# 2060| r2060_4(void *) = Call[operator new] : func:r2060_2, 0:r2060_3 -# 2060| mu2060_5(unknown) = ^CallSideEffect : ~m? -# 2060| mu2060_6(unknown) = ^InitializeDynamicAllocation : &:r2060_4 -# 2060| r2060_7(Base2 *) = Convert : r2060_4 -# 2060| r2060_8(glval) = FunctionAddress[Base2] : -# 2060| v2060_9(void) = Call[Base2] : func:r2060_8, this:r2060_7 -# 2060| mu2060_10(unknown) = ^CallSideEffect : ~m? -# 2060| mu2060_11(Base2) = ^IndirectMayWriteSideEffect[-1] : &:r2060_7 -# 2060| mu2060_12(Base2 *) = Store[b1] : &:r2060_1, r2060_7 -# 2061| r2061_1(glval) = VirtualDeleteFunctionAddress : -# 2061| r2061_2(glval) = VariableAddress[b1] : -# 2061| r2061_3(Base2 *) = Load[b1] : &:r2061_2, ~m? -# 2061| v2061_4(void) = Call[?] : func:r2061_1, 0:r2061_3 -# 2061| mu2061_5(unknown) = ^CallSideEffect : ~m? -# 2063| r2063_1(glval) = VariableAddress[b2] : -# 2063| r2063_2(glval) = FunctionAddress[operator new] : -# 2063| r2063_3(unsigned long) = Constant[16] : -# 2063| r2063_4(void *) = Call[operator new] : func:r2063_2, 0:r2063_3 -# 2063| mu2063_5(unknown) = ^CallSideEffect : ~m? -# 2063| mu2063_6(unknown) = ^InitializeDynamicAllocation : &:r2063_4 -# 2063| r2063_7(Derived2 *) = Convert : r2063_4 -# 2063| r2063_8(glval) = FunctionAddress[Derived2] : -# 2063| v2063_9(void) = Call[Derived2] : func:r2063_8, this:r2063_7 -# 2063| mu2063_10(unknown) = ^CallSideEffect : ~m? -# 2063| mu2063_11(Derived2) = ^IndirectMayWriteSideEffect[-1] : &:r2063_7 -# 2063| r2063_12(Base2 *) = ConvertToNonVirtualBase[Derived2 : Base2] : r2063_7 -# 2063| mu2063_13(Base2 *) = Store[b2] : &:r2063_1, r2063_12 -# 2064| r2064_1(glval) = VirtualDeleteFunctionAddress : -# 2064| r2064_2(glval) = VariableAddress[b2] : -# 2064| r2064_3(Base2 *) = Load[b2] : &:r2064_2, ~m? -# 2064| v2064_4(void) = Call[?] : func:r2064_1, 0:r2064_3 -# 2064| mu2064_5(unknown) = ^CallSideEffect : ~m? -# 2066| r2066_1(glval) = VariableAddress[d] : -# 2066| r2066_2(glval) = FunctionAddress[operator new] : -# 2066| r2066_3(unsigned long) = Constant[16] : -# 2066| r2066_4(void *) = Call[operator new] : func:r2066_2, 0:r2066_3 -# 2066| mu2066_5(unknown) = ^CallSideEffect : ~m? -# 2066| mu2066_6(unknown) = ^InitializeDynamicAllocation : &:r2066_4 -# 2066| r2066_7(Derived2 *) = Convert : r2066_4 -# 2066| r2066_8(glval) = FunctionAddress[Derived2] : -# 2066| v2066_9(void) = Call[Derived2] : func:r2066_8, this:r2066_7 -# 2066| mu2066_10(unknown) = ^CallSideEffect : ~m? -# 2066| mu2066_11(Derived2) = ^IndirectMayWriteSideEffect[-1] : &:r2066_7 -# 2066| mu2066_12(Derived2 *) = Store[d] : &:r2066_1, r2066_7 -# 2067| r2067_1(glval) = VirtualDeleteFunctionAddress : -# 2067| r2067_2(glval) = VariableAddress[d] : -# 2067| r2067_3(Derived2 *) = Load[d] : &:r2067_2, ~m? -# 2067| v2067_4(void) = Call[?] : func:r2067_1, 0:r2067_3 -# 2067| mu2067_5(unknown) = ^CallSideEffect : ~m? -# 2068| r2068_1(glval) = VariableAddress[#return] : -# 2068| mu2068_2(int) = Uninitialized[#return] : &:r2068_1 -# 2058| r2058_4(glval) = VariableAddress[#return] : -# 2058| v2058_5(void) = ReturnValue : &:r2058_4, ~m? -# 2058| v2058_6(void) = AliasedUse : ~m? -# 2058| v2058_7(void) = ExitFunction : - -# 2072| void test_constant_folding() -# 2072| Block 0 -# 2072| v2072_1(void) = EnterFunction : -# 2072| mu2072_2(unknown) = AliasedDefinition : -# 2072| mu2072_3(unknown) = InitializeNonLocal : -# 2073| r2073_1(glval) = VariableAddress[x] : -# 2073| r2073_2(int) = Constant[116] : -# 2073| mu2073_3(int) = Store[x] : &:r2073_1, r2073_2 -# 2074| r2074_1(glval) = FunctionAddress[test_constant_folding_use] : -# 2074| r2074_2(int) = Constant[116] : -# 2074| v2074_3(void) = Call[test_constant_folding_use] : func:r2074_1, 0:r2074_2 -# 2074| mu2074_4(unknown) = ^CallSideEffect : ~m? -# 2075| v2075_1(void) = NoOp : -# 2072| v2072_4(void) = ReturnVoid : -# 2072| v2072_5(void) = AliasedUse : ~m? -# 2072| v2072_6(void) = ExitFunction : - -# 2079| int NonExit() -# 2079| Block 0 -# 2079| v2079_1(void) = EnterFunction : -# 2079| mu2079_2(unknown) = AliasedDefinition : -# 2079| mu2079_3(unknown) = InitializeNonLocal : -# 2080| r2080_1(glval) = VariableAddress[x] : -# 2080| r2080_2(glval) = FunctionAddress[Add] : -# 2080| r2080_3(int) = Constant[3] : -# 2080| r2080_4(int) = Constant[4] : -# 2080| r2080_5(int) = Call[Add] : func:r2080_2, 0:r2080_3, 1:r2080_4 -# 2080| mu2080_6(unknown) = ^CallSideEffect : ~m? -# 2080| mu2080_7(int) = Store[x] : &:r2080_1, r2080_5 -# 2081| r2081_1(glval) = VariableAddress[x] : -# 2081| r2081_2(int) = Load[x] : &:r2081_1, ~m? -# 2081| r2081_3(int) = Constant[7] : -# 2081| r2081_4(bool) = CompareEQ : r2081_2, r2081_3 -# 2081| v2081_5(void) = ConditionalBranch : r2081_4 -#-----| False -> Block 2 -#-----| True -> Block 1 - -# 2082| Block 1 -# 2082| r2082_1(glval) = FunctionAddress[exit] : -# 2082| r2082_2(int) = Constant[3] : -# 2082| v2082_3(void) = Call[exit] : func:r2082_1, 0:r2082_2 -# 2082| mu2082_4(unknown) = ^CallSideEffect : ~m? -# 2079| v2079_4(void) = Unreached : - -# 2083| Block 2 -# 2083| r2083_1(glval) = FunctionAddress[VoidFunc] : -# 2083| v2083_2(void) = Call[VoidFunc] : func:r2083_1 -# 2083| mu2083_3(unknown) = ^CallSideEffect : ~m? -# 2084| r2084_1(glval) = VariableAddress[#return] : -# 2084| r2084_2(glval) = VariableAddress[x] : -# 2084| r2084_3(int) = Load[x] : &:r2084_2, ~m? -# 2084| mu2084_4(int) = Store[#return] : &:r2084_1, r2084_3 -# 2079| r2079_5(glval) = VariableAddress[#return] : -# 2079| v2079_6(void) = ReturnValue : &:r2079_5, ~m? -# 2079| v2079_7(void) = AliasedUse : ~m? -# 2079| v2079_8(void) = ExitFunction : - -# 2087| void CallsNonExit() -# 2087| Block 0 -# 2087| v2087_1(void) = EnterFunction : -# 2087| mu2087_2(unknown) = AliasedDefinition : -# 2087| mu2087_3(unknown) = InitializeNonLocal : -# 2088| r2088_1(glval) = FunctionAddress[VoidFunc] : -# 2088| v2088_2(void) = Call[VoidFunc] : func:r2088_1 -# 2088| mu2088_3(unknown) = ^CallSideEffect : ~m? -# 2089| r2089_1(glval) = FunctionAddress[exit] : -# 2089| r2089_2(int) = Constant[3] : -# 2089| v2089_3(void) = Call[exit] : func:r2089_1, 0:r2089_2 -# 2089| mu2089_4(unknown) = ^CallSideEffect : ~m? -# 2087| v2087_4(void) = Unreached : - -# 2090| Block 1 -# 2090| v2090_1(void) = NoOp : -# 2087| v2087_5(void) = ReturnVoid : -# 2087| v2087_6(void) = AliasedUse : ~m? -# 2087| v2087_7(void) = ExitFunction : - -# 2092| int TransNonExit() +# 2092| void Base2::~Base2() # 2092| Block 0 -# 2092| v2092_1(void) = EnterFunction : -# 2092| mu2092_2(unknown) = AliasedDefinition : -# 2092| mu2092_3(unknown) = InitializeNonLocal : -# 2093| r2093_1(glval) = VariableAddress[x] : -# 2093| r2093_2(glval) = FunctionAddress[Add] : -# 2093| r2093_3(int) = Constant[3] : -# 2093| r2093_4(int) = Constant[4] : -# 2093| r2093_5(int) = Call[Add] : func:r2093_2, 0:r2093_3, 1:r2093_4 -# 2093| mu2093_6(unknown) = ^CallSideEffect : ~m? -# 2093| mu2093_7(int) = Store[x] : &:r2093_1, r2093_5 -# 2094| r2094_1(glval) = VariableAddress[x] : -# 2094| r2094_2(int) = Load[x] : &:r2094_1, ~m? -# 2094| r2094_3(int) = Constant[7] : -# 2094| r2094_4(bool) = CompareEQ : r2094_2, r2094_3 -# 2094| v2094_5(void) = ConditionalBranch : r2094_4 -#-----| False -> Block 2 -#-----| True -> Block 1 +# 2092| v2092_1(void) = EnterFunction : +# 2092| mu2092_2(unknown) = AliasedDefinition : +# 2092| mu2092_3(unknown) = InitializeNonLocal : +# 2092| r2092_4(glval) = VariableAddress[#this] : +# 2092| mu2092_5(glval) = InitializeParameter[#this] : &:r2092_4 +# 2092| r2092_6(glval) = Load[#this] : &:r2092_4, ~m? +# 2092| mu2092_7(Base2) = InitializeIndirection[#this] : &:r2092_6 +# 2092| v2092_8(void) = NoOp : +# 2092| v2092_9(void) = ReturnIndirection[#this] : &:r2092_6, ~m? +# 2092| v2092_10(void) = ReturnVoid : +# 2092| v2092_11(void) = AliasedUse : ~m? +# 2092| v2092_12(void) = ExitFunction : -# 2095| Block 1 -# 2095| r2095_1(glval) = FunctionAddress[CallsNonExit] : -# 2095| v2095_2(void) = Call[CallsNonExit] : func:r2095_1 -# 2095| mu2095_3(unknown) = ^CallSideEffect : ~m? -#-----| Goto -> Block 2 +# 2095| void Derived2::Derived2() +# 2095| Block 0 +# 2095| v2095_1(void) = EnterFunction : +# 2095| mu2095_2(unknown) = AliasedDefinition : +# 2095| mu2095_3(unknown) = InitializeNonLocal : +# 2095| r2095_4(glval) = VariableAddress[#this] : +# 2095| mu2095_5(glval) = InitializeParameter[#this] : &:r2095_4 +# 2095| r2095_6(glval) = Load[#this] : &:r2095_4, ~m? +# 2095| mu2095_7(Derived2) = InitializeIndirection[#this] : &:r2095_6 +# 2095| r2095_8(glval) = ConvertToNonVirtualBase[Derived2 : Base2] : mu2095_5 +# 2095| r2095_9(glval) = FunctionAddress[Base2] : +# 2095| v2095_10(void) = Call[Base2] : func:r2095_9, this:r2095_8 +# 2095| mu2095_11(unknown) = ^CallSideEffect : ~m? +# 2095| mu2095_12(Base2) = ^IndirectMayWriteSideEffect[-1] : &:r2095_8 +# 2095| v2095_13(void) = NoOp : +# 2095| v2095_14(void) = ReturnIndirection[#this] : &:r2095_6, ~m? +# 2095| v2095_15(void) = ReturnVoid : +# 2095| v2095_16(void) = AliasedUse : ~m? +# 2095| v2095_17(void) = ExitFunction : -# 2096| Block 2 -# 2096| r2096_1(glval) = FunctionAddress[VoidFunc] : -# 2096| v2096_2(void) = Call[VoidFunc] : func:r2096_1 -# 2096| mu2096_3(unknown) = ^CallSideEffect : ~m? -# 2097| r2097_1(glval) = VariableAddress[#return] : -# 2097| r2097_2(glval) = VariableAddress[x] : -# 2097| r2097_3(int) = Load[x] : &:r2097_2, ~m? -# 2097| mu2097_4(int) = Store[#return] : &:r2097_1, r2097_3 -# 2092| r2092_4(glval) = VariableAddress[#return] : -# 2092| v2092_5(void) = ReturnValue : &:r2092_4, ~m? -# 2092| v2092_6(void) = AliasedUse : ~m? -# 2092| v2092_7(void) = ExitFunction : +# 2098| void Derived2::~Derived2() +# 2098| Block 0 +# 2098| v2098_1(void) = EnterFunction : +# 2098| mu2098_2(unknown) = AliasedDefinition : +# 2098| mu2098_3(unknown) = InitializeNonLocal : +# 2098| r2098_4(glval) = VariableAddress[#this] : +# 2098| mu2098_5(glval) = InitializeParameter[#this] : &:r2098_4 +# 2098| r2098_6(glval) = Load[#this] : &:r2098_4, ~m? +# 2098| mu2098_7(Derived2) = InitializeIndirection[#this] : &:r2098_6 +# 2098| v2098_8(void) = NoOp : +# 2098| r2098_9(glval) = ConvertToNonVirtualBase[Derived2 : Base2] : mu2098_5 +# 2098| r2098_10(glval) = FunctionAddress[~Base2] : +# 2098| v2098_11(void) = Call[~Base2] : func:r2098_10, this:r2098_9 +# 2098| mu2098_12(unknown) = ^CallSideEffect : ~m? +# 2098| v2098_13(void) = ReturnIndirection[#this] : &:r2098_6, ~m? +# 2098| v2098_14(void) = ReturnVoid : +# 2098| v2098_15(void) = AliasedUse : ~m? +# 2098| v2098_16(void) = ExitFunction : -# 2100| void newArrayCorrectType(size_t) +# 2100| void Derived2::operator delete(void*) # 2100| Block 0 -# 2100| v2100_1(void) = EnterFunction : -# 2100| mu2100_2(unknown) = AliasedDefinition : -# 2100| mu2100_3(unknown) = InitializeNonLocal : -# 2100| r2100_4(glval) = VariableAddress[n] : -# 2100| mu2100_5(unsigned long) = InitializeParameter[n] : &:r2100_4 -# 2101| r2101_1(glval) = FunctionAddress[operator new[]] : -# 2101| r2101_2(glval) = VariableAddress[n] : -# 2101| r2101_3(unsigned long) = Load[n] : &:r2101_2, ~m? -# 2101| r2101_4(unsigned long) = Constant[4] : -# 2101| r2101_5(unsigned long) = Mul : r2101_3, r2101_4 -# 2101| r2101_6(void *) = Call[operator new[]] : func:r2101_1, 0:r2101_5 -# 2101| mu2101_7(unknown) = ^CallSideEffect : ~m? -# 2101| mu2101_8(unknown) = ^InitializeDynamicAllocation : &:r2101_6 -# 2101| r2101_9(int *) = Convert : r2101_6 -# 2102| r2102_1(glval) = FunctionAddress[operator new[]] : -# 2102| r2102_2(glval) = VariableAddress[n] : -# 2102| r2102_3(unsigned long) = Load[n] : &:r2102_2, ~m? -# 2102| r2102_4(unsigned long) = Constant[4] : -# 2102| r2102_5(unsigned long) = Mul : r2102_3, r2102_4 -# 2102| r2102_6(float) = Constant[1.0] : -# 2102| r2102_7(void *) = Call[operator new[]] : func:r2102_1, 0:r2102_5, 1:r2102_6 -# 2102| mu2102_8(unknown) = ^CallSideEffect : ~m? -# 2102| mu2102_9(unknown) = ^InitializeDynamicAllocation : &:r2102_7 -# 2102| r2102_10(int *) = Convert : r2102_7 -# 2103| r2103_1(glval) = FunctionAddress[operator new[]] : -# 2103| r2103_2(glval) = VariableAddress[n] : -# 2103| r2103_3(unsigned long) = Load[n] : &:r2103_2, ~m? -# 2103| r2103_4(unsigned long) = Constant[8] : -# 2103| r2103_5(unsigned long) = Mul : r2103_3, r2103_4 -# 2103| r2103_6(void *) = Call[operator new[]] : func:r2103_1, 0:r2103_5 -# 2103| mu2103_7(unknown) = ^CallSideEffect : ~m? -# 2103| mu2103_8(unknown) = ^InitializeDynamicAllocation : &:r2103_6 -# 2103| r2103_9(String *) = Convert : r2103_6 -# 2104| r2104_1(glval) = FunctionAddress[operator new[]] : -# 2104| r2104_2(glval) = VariableAddress[n] : -# 2104| r2104_3(unsigned long) = Load[n] : &:r2104_2, ~m? -# 2104| r2104_4(unsigned long) = Constant[256] : -# 2104| r2104_5(unsigned long) = Mul : r2104_3, r2104_4 -# 2104| r2104_6(align_val_t) = Constant[128] : -# 2104| r2104_7(void *) = Call[operator new[]] : func:r2104_1, 0:r2104_5, 1:r2104_6 -# 2104| mu2104_8(unknown) = ^CallSideEffect : ~m? -# 2104| mu2104_9(unknown) = ^InitializeDynamicAllocation : &:r2104_7 -# 2104| r2104_10(Overaligned *) = Convert : r2104_7 -# 2105| r2105_1(glval) = FunctionAddress[operator new[]] : -# 2105| r2105_2(glval) = VariableAddress[n] : -# 2105| r2105_3(unsigned long) = Load[n] : &:r2105_2, ~m? -# 2105| r2105_4(unsigned long) = Constant[1] : -# 2105| r2105_5(unsigned long) = Mul : r2105_3, r2105_4 -# 2105| r2105_6(void *) = Call[operator new[]] : func:r2105_1, 0:r2105_5 -# 2105| mu2105_7(unknown) = ^CallSideEffect : ~m? -# 2105| mu2105_8(unknown) = ^InitializeDynamicAllocation : &:r2105_6 -# 2105| r2105_9(DefaultCtorWithDefaultParam *) = Convert : r2105_6 -# 2106| r2106_1(glval) = FunctionAddress[operator new[]] : -# 2106| r2106_2(glval) = VariableAddress[n] : -# 2106| r2106_3(unsigned long) = Load[n] : &:r2106_2, ~m? -# 2106| r2106_4(unsigned long) = Constant[4] : -# 2106| r2106_5(unsigned long) = Mul : r2106_3, r2106_4 -# 2106| r2106_6(void *) = Call[operator new[]] : func:r2106_1, 0:r2106_5 -# 2106| mu2106_7(unknown) = ^CallSideEffect : ~m? -# 2106| mu2106_8(unknown) = ^InitializeDynamicAllocation : &:r2106_6 -# 2106| r2106_9(int *) = Convert : r2106_6 -# 2107| v2107_1(void) = NoOp : -# 2100| v2100_6(void) = ReturnVoid : -# 2100| v2100_7(void) = AliasedUse : ~m? -# 2100| v2100_8(void) = ExitFunction : +# 2100| v2100_1(void) = EnterFunction : +# 2100| mu2100_2(unknown) = AliasedDefinition : +# 2100| mu2100_3(unknown) = InitializeNonLocal : +# 2100| r2100_4(glval) = VariableAddress[p] : +# 2100| mu2100_5(void *) = InitializeParameter[p] : &:r2100_4 +# 2100| r2100_6(void *) = Load[p] : &:r2100_4, ~m? +# 2100| mu2100_7(unknown) = InitializeIndirection[p] : &:r2100_6 +# 2101| v2101_1(void) = NoOp : +# 2100| v2100_8(void) = ReturnIndirection[p] : &:r2100_6, ~m? +# 2100| v2100_9(void) = ReturnVoid : +# 2100| v2100_10(void) = AliasedUse : ~m? +# 2100| v2100_11(void) = ExitFunction : -# 2111| char* test_strtod(char*) -# 2111| Block 0 -# 2111| v2111_1(void) = EnterFunction : -# 2111| mu2111_2(unknown) = AliasedDefinition : -# 2111| mu2111_3(unknown) = InitializeNonLocal : -# 2111| r2111_4(glval) = VariableAddress[s] : -# 2111| mu2111_5(char *) = InitializeParameter[s] : &:r2111_4 -# 2111| r2111_6(char *) = Load[s] : &:r2111_4, ~m? -# 2111| mu2111_7(unknown) = InitializeIndirection[s] : &:r2111_6 -# 2112| r2112_1(glval) = VariableAddress[end] : -# 2112| mu2112_2(char *) = Uninitialized[end] : &:r2112_1 -# 2113| r2113_1(glval) = VariableAddress[d] : -# 2113| r2113_2(glval) = FunctionAddress[strtod] : -# 2113| r2113_3(glval) = VariableAddress[s] : -# 2113| r2113_4(char *) = Load[s] : &:r2113_3, ~m? -# 2113| r2113_5(char *) = Convert : r2113_4 -# 2113| r2113_6(glval) = VariableAddress[end] : -# 2113| r2113_7(char **) = CopyValue : r2113_6 -# 2113| r2113_8(double) = Call[strtod] : func:r2113_2, 0:r2113_5, 1:r2113_7 -# 2113| v2113_9(void) = ^BufferReadSideEffect[0] : &:r2113_5, ~m? -# 2113| mu2113_10(char *) = ^IndirectMayWriteSideEffect[1] : &:r2113_7 -# 2113| mu2113_11(double) = Store[d] : &:r2113_1, r2113_8 -# 2114| r2114_1(glval) = VariableAddress[#return] : -# 2114| r2114_2(glval) = VariableAddress[end] : -# 2114| r2114_3(char *) = Load[end] : &:r2114_2, ~m? -# 2114| mu2114_4(char *) = Store[#return] : &:r2114_1, r2114_3 -# 2111| v2111_8(void) = ReturnIndirection[s] : &:r2111_6, ~m? -# 2111| r2111_9(glval) = VariableAddress[#return] : -# 2111| v2111_10(void) = ReturnValue : &:r2111_9, ~m? -# 2111| v2111_11(void) = AliasedUse : ~m? -# 2111| v2111_12(void) = ExitFunction : +# 2105| int virtual_delete() +# 2105| Block 0 +# 2105| v2105_1(void) = EnterFunction : +# 2105| mu2105_2(unknown) = AliasedDefinition : +# 2105| mu2105_3(unknown) = InitializeNonLocal : +# 2107| r2107_1(glval) = VariableAddress[b1] : +# 2107| r2107_2(glval) = FunctionAddress[operator new] : +# 2107| r2107_3(unsigned long) = Constant[8] : +# 2107| r2107_4(void *) = Call[operator new] : func:r2107_2, 0:r2107_3 +# 2107| mu2107_5(unknown) = ^CallSideEffect : ~m? +# 2107| mu2107_6(unknown) = ^InitializeDynamicAllocation : &:r2107_4 +# 2107| r2107_7(Base2 *) = Convert : r2107_4 +# 2107| r2107_8(glval) = FunctionAddress[Base2] : +# 2107| v2107_9(void) = Call[Base2] : func:r2107_8, this:r2107_7 +# 2107| mu2107_10(unknown) = ^CallSideEffect : ~m? +# 2107| mu2107_11(Base2) = ^IndirectMayWriteSideEffect[-1] : &:r2107_7 +# 2107| mu2107_12(Base2 *) = Store[b1] : &:r2107_1, r2107_7 +# 2108| r2108_1(glval) = VirtualDeleteFunctionAddress : +# 2108| r2108_2(glval) = VariableAddress[b1] : +# 2108| r2108_3(Base2 *) = Load[b1] : &:r2108_2, ~m? +# 2108| v2108_4(void) = Call[?] : func:r2108_1, 0:r2108_3 +# 2108| mu2108_5(unknown) = ^CallSideEffect : ~m? +# 2110| r2110_1(glval) = VariableAddress[b2] : +# 2110| r2110_2(glval) = FunctionAddress[operator new] : +# 2110| r2110_3(unsigned long) = Constant[16] : +# 2110| r2110_4(void *) = Call[operator new] : func:r2110_2, 0:r2110_3 +# 2110| mu2110_5(unknown) = ^CallSideEffect : ~m? +# 2110| mu2110_6(unknown) = ^InitializeDynamicAllocation : &:r2110_4 +# 2110| r2110_7(Derived2 *) = Convert : r2110_4 +# 2110| r2110_8(glval) = FunctionAddress[Derived2] : +# 2110| v2110_9(void) = Call[Derived2] : func:r2110_8, this:r2110_7 +# 2110| mu2110_10(unknown) = ^CallSideEffect : ~m? +# 2110| mu2110_11(Derived2) = ^IndirectMayWriteSideEffect[-1] : &:r2110_7 +# 2110| r2110_12(Base2 *) = ConvertToNonVirtualBase[Derived2 : Base2] : r2110_7 +# 2110| mu2110_13(Base2 *) = Store[b2] : &:r2110_1, r2110_12 +# 2111| r2111_1(glval) = VirtualDeleteFunctionAddress : +# 2111| r2111_2(glval) = VariableAddress[b2] : +# 2111| r2111_3(Base2 *) = Load[b2] : &:r2111_2, ~m? +# 2111| v2111_4(void) = Call[?] : func:r2111_1, 0:r2111_3 +# 2111| mu2111_5(unknown) = ^CallSideEffect : ~m? +# 2113| r2113_1(glval) = VariableAddress[d] : +# 2113| r2113_2(glval) = FunctionAddress[operator new] : +# 2113| r2113_3(unsigned long) = Constant[16] : +# 2113| r2113_4(void *) = Call[operator new] : func:r2113_2, 0:r2113_3 +# 2113| mu2113_5(unknown) = ^CallSideEffect : ~m? +# 2113| mu2113_6(unknown) = ^InitializeDynamicAllocation : &:r2113_4 +# 2113| r2113_7(Derived2 *) = Convert : r2113_4 +# 2113| r2113_8(glval) = FunctionAddress[Derived2] : +# 2113| v2113_9(void) = Call[Derived2] : func:r2113_8, this:r2113_7 +# 2113| mu2113_10(unknown) = ^CallSideEffect : ~m? +# 2113| mu2113_11(Derived2) = ^IndirectMayWriteSideEffect[-1] : &:r2113_7 +# 2113| mu2113_12(Derived2 *) = Store[d] : &:r2113_1, r2113_7 +# 2114| r2114_1(glval) = VirtualDeleteFunctionAddress : +# 2114| r2114_2(glval) = VariableAddress[d] : +# 2114| r2114_3(Derived2 *) = Load[d] : &:r2114_2, ~m? +# 2114| v2114_4(void) = Call[?] : func:r2114_1, 0:r2114_3 +# 2114| mu2114_5(unknown) = ^CallSideEffect : ~m? +# 2115| r2115_1(glval) = VariableAddress[#return] : +# 2115| mu2115_2(int) = Uninitialized[#return] : &:r2115_1 +# 2105| r2105_4(glval) = VariableAddress[#return] : +# 2105| v2105_5(void) = ReturnValue : &:r2105_4, ~m? +# 2105| v2105_6(void) = AliasedUse : ~m? +# 2105| v2105_7(void) = ExitFunction : -# 2121| void call_as_child_of_ConditionDeclExpr() -# 2121| Block 0 -# 2121| v2121_1(void) = EnterFunction : -# 2121| mu2121_2(unknown) = AliasedDefinition : -# 2121| mu2121_3(unknown) = InitializeNonLocal : -# 2122| r2122_1(glval) = VariableAddress[b] : -# 2122| r2122_2(HasOperatorBool) = Constant[0] : -# 2122| mu2122_3(HasOperatorBool) = Store[b] : &:r2122_1, r2122_2 -# 2122| r2122_4(glval) = VariableAddress[b] : -# 2122| r2122_5(glval) = FunctionAddress[operator bool] : -# 2122| r2122_6(bool) = Call[operator bool] : func:r2122_5, this:r2122_4 -# 2122| mu2122_7(unknown) = ^CallSideEffect : ~m? -# 2122| v2122_8(void) = ^IndirectReadSideEffect[-1] : &:r2122_4, ~m? -# 2122| mu2122_9(HasOperatorBool) = ^IndirectMayWriteSideEffect[-1] : &:r2122_4 -# 2122| r2122_10(bool) = CopyValue : r2122_6 -# 2122| v2122_11(void) = ConditionalBranch : r2122_10 +# 2119| void test_constant_folding() +# 2119| Block 0 +# 2119| v2119_1(void) = EnterFunction : +# 2119| mu2119_2(unknown) = AliasedDefinition : +# 2119| mu2119_3(unknown) = InitializeNonLocal : +# 2120| r2120_1(glval) = VariableAddress[x] : +# 2120| r2120_2(int) = Constant[116] : +# 2120| mu2120_3(int) = Store[x] : &:r2120_1, r2120_2 +# 2121| r2121_1(glval) = FunctionAddress[test_constant_folding_use] : +# 2121| r2121_2(int) = Constant[116] : +# 2121| v2121_3(void) = Call[test_constant_folding_use] : func:r2121_1, 0:r2121_2 +# 2121| mu2121_4(unknown) = ^CallSideEffect : ~m? +# 2122| v2122_1(void) = NoOp : +# 2119| v2119_4(void) = ReturnVoid : +# 2119| v2119_5(void) = AliasedUse : ~m? +# 2119| v2119_6(void) = ExitFunction : + +# 2126| int NonExit() +# 2126| Block 0 +# 2126| v2126_1(void) = EnterFunction : +# 2126| mu2126_2(unknown) = AliasedDefinition : +# 2126| mu2126_3(unknown) = InitializeNonLocal : +# 2127| r2127_1(glval) = VariableAddress[x] : +# 2127| r2127_2(glval) = FunctionAddress[Add] : +# 2127| r2127_3(int) = Constant[3] : +# 2127| r2127_4(int) = Constant[4] : +# 2127| r2127_5(int) = Call[Add] : func:r2127_2, 0:r2127_3, 1:r2127_4 +# 2127| mu2127_6(unknown) = ^CallSideEffect : ~m? +# 2127| mu2127_7(int) = Store[x] : &:r2127_1, r2127_5 +# 2128| r2128_1(glval) = VariableAddress[x] : +# 2128| r2128_2(int) = Load[x] : &:r2128_1, ~m? +# 2128| r2128_3(int) = Constant[7] : +# 2128| r2128_4(bool) = CompareEQ : r2128_2, r2128_3 +# 2128| v2128_5(void) = ConditionalBranch : r2128_4 #-----| False -> Block 2 #-----| True -> Block 1 -# 2122| Block 1 -# 2122| v2122_12(void) = NoOp : +# 2129| Block 1 +# 2129| r2129_1(glval) = FunctionAddress[exit] : +# 2129| r2129_2(int) = Constant[3] : +# 2129| v2129_3(void) = Call[exit] : func:r2129_1, 0:r2129_2 +# 2129| mu2129_4(unknown) = ^CallSideEffect : ~m? +# 2126| v2126_4(void) = Unreached : + +# 2130| Block 2 +# 2130| r2130_1(glval) = FunctionAddress[VoidFunc] : +# 2130| v2130_2(void) = Call[VoidFunc] : func:r2130_1 +# 2130| mu2130_3(unknown) = ^CallSideEffect : ~m? +# 2131| r2131_1(glval) = VariableAddress[#return] : +# 2131| r2131_2(glval) = VariableAddress[x] : +# 2131| r2131_3(int) = Load[x] : &:r2131_2, ~m? +# 2131| mu2131_4(int) = Store[#return] : &:r2131_1, r2131_3 +# 2126| r2126_5(glval) = VariableAddress[#return] : +# 2126| v2126_6(void) = ReturnValue : &:r2126_5, ~m? +# 2126| v2126_7(void) = AliasedUse : ~m? +# 2126| v2126_8(void) = ExitFunction : + +# 2134| void CallsNonExit() +# 2134| Block 0 +# 2134| v2134_1(void) = EnterFunction : +# 2134| mu2134_2(unknown) = AliasedDefinition : +# 2134| mu2134_3(unknown) = InitializeNonLocal : +# 2135| r2135_1(glval) = FunctionAddress[VoidFunc] : +# 2135| v2135_2(void) = Call[VoidFunc] : func:r2135_1 +# 2135| mu2135_3(unknown) = ^CallSideEffect : ~m? +# 2136| r2136_1(glval) = FunctionAddress[exit] : +# 2136| r2136_2(int) = Constant[3] : +# 2136| v2136_3(void) = Call[exit] : func:r2136_1, 0:r2136_2 +# 2136| mu2136_4(unknown) = ^CallSideEffect : ~m? +# 2134| v2134_4(void) = Unreached : + +# 2137| Block 1 +# 2137| v2137_1(void) = NoOp : +# 2134| v2134_5(void) = ReturnVoid : +# 2134| v2134_6(void) = AliasedUse : ~m? +# 2134| v2134_7(void) = ExitFunction : + +# 2139| int TransNonExit() +# 2139| Block 0 +# 2139| v2139_1(void) = EnterFunction : +# 2139| mu2139_2(unknown) = AliasedDefinition : +# 2139| mu2139_3(unknown) = InitializeNonLocal : +# 2140| r2140_1(glval) = VariableAddress[x] : +# 2140| r2140_2(glval) = FunctionAddress[Add] : +# 2140| r2140_3(int) = Constant[3] : +# 2140| r2140_4(int) = Constant[4] : +# 2140| r2140_5(int) = Call[Add] : func:r2140_2, 0:r2140_3, 1:r2140_4 +# 2140| mu2140_6(unknown) = ^CallSideEffect : ~m? +# 2140| mu2140_7(int) = Store[x] : &:r2140_1, r2140_5 +# 2141| r2141_1(glval) = VariableAddress[x] : +# 2141| r2141_2(int) = Load[x] : &:r2141_1, ~m? +# 2141| r2141_3(int) = Constant[7] : +# 2141| r2141_4(bool) = CompareEQ : r2141_2, r2141_3 +# 2141| v2141_5(void) = ConditionalBranch : r2141_4 +#-----| False -> Block 2 +#-----| True -> Block 1 + +# 2142| Block 1 +# 2142| r2142_1(glval) = FunctionAddress[CallsNonExit] : +# 2142| v2142_2(void) = Call[CallsNonExit] : func:r2142_1 +# 2142| mu2142_3(unknown) = ^CallSideEffect : ~m? #-----| Goto -> Block 2 -# 2123| Block 2 -# 2123| v2123_1(void) = NoOp : -# 2121| v2121_4(void) = ReturnVoid : -# 2121| v2121_5(void) = AliasedUse : ~m? -# 2121| v2121_6(void) = ExitFunction : +# 2143| Block 2 +# 2143| r2143_1(glval) = FunctionAddress[VoidFunc] : +# 2143| v2143_2(void) = Call[VoidFunc] : func:r2143_1 +# 2143| mu2143_3(unknown) = ^CallSideEffect : ~m? +# 2144| r2144_1(glval) = VariableAddress[#return] : +# 2144| r2144_2(glval) = VariableAddress[x] : +# 2144| r2144_3(int) = Load[x] : &:r2144_2, ~m? +# 2144| mu2144_4(int) = Store[#return] : &:r2144_1, r2144_3 +# 2139| r2139_4(glval) = VariableAddress[#return] : +# 2139| v2139_5(void) = ReturnValue : &:r2139_4, ~m? +# 2139| v2139_6(void) = AliasedUse : ~m? +# 2139| v2139_7(void) = ExitFunction : -# 2125| void ClassWithDestructor::ClassWithDestructor(ClassWithDestructor const&) -# 2125| Block 0 -# 2125| v2125_1(void) = EnterFunction : -# 2125| mu2125_2(unknown) = AliasedDefinition : -# 2125| mu2125_3(unknown) = InitializeNonLocal : -# 2125| r2125_4(glval) = VariableAddress[#this] : -# 2125| mu2125_5(glval) = InitializeParameter[#this] : &:r2125_4 -# 2125| r2125_6(glval) = Load[#this] : &:r2125_4, ~m? -# 2125| mu2125_7(ClassWithDestructor) = InitializeIndirection[#this] : &:r2125_6 +# 2147| void newArrayCorrectType(size_t) +# 2147| Block 0 +# 2147| v2147_1(void) = EnterFunction : +# 2147| mu2147_2(unknown) = AliasedDefinition : +# 2147| mu2147_3(unknown) = InitializeNonLocal : +# 2147| r2147_4(glval) = VariableAddress[n] : +# 2147| mu2147_5(unsigned long) = InitializeParameter[n] : &:r2147_4 +# 2148| r2148_1(glval) = FunctionAddress[operator new[]] : +# 2148| r2148_2(glval) = VariableAddress[n] : +# 2148| r2148_3(unsigned long) = Load[n] : &:r2148_2, ~m? +# 2148| r2148_4(unsigned long) = Constant[4] : +# 2148| r2148_5(unsigned long) = Mul : r2148_3, r2148_4 +# 2148| r2148_6(void *) = Call[operator new[]] : func:r2148_1, 0:r2148_5 +# 2148| mu2148_7(unknown) = ^CallSideEffect : ~m? +# 2148| mu2148_8(unknown) = ^InitializeDynamicAllocation : &:r2148_6 +# 2148| r2148_9(int *) = Convert : r2148_6 +# 2149| r2149_1(glval) = FunctionAddress[operator new[]] : +# 2149| r2149_2(glval) = VariableAddress[n] : +# 2149| r2149_3(unsigned long) = Load[n] : &:r2149_2, ~m? +# 2149| r2149_4(unsigned long) = Constant[4] : +# 2149| r2149_5(unsigned long) = Mul : r2149_3, r2149_4 +# 2149| r2149_6(float) = Constant[1.0] : +# 2149| r2149_7(void *) = Call[operator new[]] : func:r2149_1, 0:r2149_5, 1:r2149_6 +# 2149| mu2149_8(unknown) = ^CallSideEffect : ~m? +# 2149| mu2149_9(unknown) = ^InitializeDynamicAllocation : &:r2149_7 +# 2149| r2149_10(int *) = Convert : r2149_7 +# 2150| r2150_1(glval) = FunctionAddress[operator new[]] : +# 2150| r2150_2(glval) = VariableAddress[n] : +# 2150| r2150_3(unsigned long) = Load[n] : &:r2150_2, ~m? +# 2150| r2150_4(unsigned long) = Constant[8] : +# 2150| r2150_5(unsigned long) = Mul : r2150_3, r2150_4 +# 2150| r2150_6(void *) = Call[operator new[]] : func:r2150_1, 0:r2150_5 +# 2150| mu2150_7(unknown) = ^CallSideEffect : ~m? +# 2150| mu2150_8(unknown) = ^InitializeDynamicAllocation : &:r2150_6 +# 2150| r2150_9(String *) = Convert : r2150_6 +# 2151| r2151_1(glval) = FunctionAddress[operator new[]] : +# 2151| r2151_2(glval) = VariableAddress[n] : +# 2151| r2151_3(unsigned long) = Load[n] : &:r2151_2, ~m? +# 2151| r2151_4(unsigned long) = Constant[256] : +# 2151| r2151_5(unsigned long) = Mul : r2151_3, r2151_4 +# 2151| r2151_6(align_val_t) = Constant[128] : +# 2151| r2151_7(void *) = Call[operator new[]] : func:r2151_1, 0:r2151_5, 1:r2151_6 +# 2151| mu2151_8(unknown) = ^CallSideEffect : ~m? +# 2151| mu2151_9(unknown) = ^InitializeDynamicAllocation : &:r2151_7 +# 2151| r2151_10(Overaligned *) = Convert : r2151_7 +# 2152| r2152_1(glval) = FunctionAddress[operator new[]] : +# 2152| r2152_2(glval) = VariableAddress[n] : +# 2152| r2152_3(unsigned long) = Load[n] : &:r2152_2, ~m? +# 2152| r2152_4(unsigned long) = Constant[1] : +# 2152| r2152_5(unsigned long) = Mul : r2152_3, r2152_4 +# 2152| r2152_6(void *) = Call[operator new[]] : func:r2152_1, 0:r2152_5 +# 2152| mu2152_7(unknown) = ^CallSideEffect : ~m? +# 2152| mu2152_8(unknown) = ^InitializeDynamicAllocation : &:r2152_6 +# 2152| r2152_9(DefaultCtorWithDefaultParam *) = Convert : r2152_6 +# 2153| r2153_1(glval) = FunctionAddress[operator new[]] : +# 2153| r2153_2(glval) = VariableAddress[n] : +# 2153| r2153_3(unsigned long) = Load[n] : &:r2153_2, ~m? +# 2153| r2153_4(unsigned long) = Constant[4] : +# 2153| r2153_5(unsigned long) = Mul : r2153_3, r2153_4 +# 2153| r2153_6(void *) = Call[operator new[]] : func:r2153_1, 0:r2153_5 +# 2153| mu2153_7(unknown) = ^CallSideEffect : ~m? +# 2153| mu2153_8(unknown) = ^InitializeDynamicAllocation : &:r2153_6 +# 2153| r2153_9(int *) = Convert : r2153_6 +# 2154| v2154_1(void) = NoOp : +# 2147| v2147_6(void) = ReturnVoid : +# 2147| v2147_7(void) = AliasedUse : ~m? +# 2147| v2147_8(void) = ExitFunction : + +# 2158| char* test_strtod(char*) +# 2158| Block 0 +# 2158| v2158_1(void) = EnterFunction : +# 2158| mu2158_2(unknown) = AliasedDefinition : +# 2158| mu2158_3(unknown) = InitializeNonLocal : +# 2158| r2158_4(glval) = VariableAddress[s] : +# 2158| mu2158_5(char *) = InitializeParameter[s] : &:r2158_4 +# 2158| r2158_6(char *) = Load[s] : &:r2158_4, ~m? +# 2158| mu2158_7(unknown) = InitializeIndirection[s] : &:r2158_6 +# 2159| r2159_1(glval) = VariableAddress[end] : +# 2159| mu2159_2(char *) = Uninitialized[end] : &:r2159_1 +# 2160| r2160_1(glval) = VariableAddress[d] : +# 2160| r2160_2(glval) = FunctionAddress[strtod] : +# 2160| r2160_3(glval) = VariableAddress[s] : +# 2160| r2160_4(char *) = Load[s] : &:r2160_3, ~m? +# 2160| r2160_5(char *) = Convert : r2160_4 +# 2160| r2160_6(glval) = VariableAddress[end] : +# 2160| r2160_7(char **) = CopyValue : r2160_6 +# 2160| r2160_8(double) = Call[strtod] : func:r2160_2, 0:r2160_5, 1:r2160_7 +# 2160| v2160_9(void) = ^BufferReadSideEffect[0] : &:r2160_5, ~m? +# 2160| mu2160_10(char *) = ^IndirectMayWriteSideEffect[1] : &:r2160_7 +# 2160| mu2160_11(double) = Store[d] : &:r2160_1, r2160_8 +# 2161| r2161_1(glval) = VariableAddress[#return] : +# 2161| r2161_2(glval) = VariableAddress[end] : +# 2161| r2161_3(char *) = Load[end] : &:r2161_2, ~m? +# 2161| mu2161_4(char *) = Store[#return] : &:r2161_1, r2161_3 +# 2158| v2158_8(void) = ReturnIndirection[s] : &:r2158_6, ~m? +# 2158| r2158_9(glval) = VariableAddress[#return] : +# 2158| v2158_10(void) = ReturnValue : &:r2158_9, ~m? +# 2158| v2158_11(void) = AliasedUse : ~m? +# 2158| v2158_12(void) = ExitFunction : + +# 2168| void call_as_child_of_ConditionDeclExpr() +# 2168| Block 0 +# 2168| v2168_1(void) = EnterFunction : +# 2168| mu2168_2(unknown) = AliasedDefinition : +# 2168| mu2168_3(unknown) = InitializeNonLocal : +# 2169| r2169_1(glval) = VariableAddress[b] : +# 2169| r2169_2(HasOperatorBool) = Constant[0] : +# 2169| mu2169_3(HasOperatorBool) = Store[b] : &:r2169_1, r2169_2 +# 2169| r2169_4(glval) = VariableAddress[b] : +# 2169| r2169_5(glval) = FunctionAddress[operator bool] : +# 2169| r2169_6(bool) = Call[operator bool] : func:r2169_5, this:r2169_4 +# 2169| mu2169_7(unknown) = ^CallSideEffect : ~m? +# 2169| v2169_8(void) = ^IndirectReadSideEffect[-1] : &:r2169_4, ~m? +# 2169| mu2169_9(HasOperatorBool) = ^IndirectMayWriteSideEffect[-1] : &:r2169_4 +# 2169| r2169_10(bool) = CopyValue : r2169_6 +# 2169| v2169_11(void) = ConditionalBranch : r2169_10 +#-----| False -> Block 2 +#-----| True -> Block 1 + +# 2169| Block 1 +# 2169| v2169_12(void) = NoOp : +#-----| Goto -> Block 2 + +# 2170| Block 2 +# 2170| v2170_1(void) = NoOp : +# 2168| v2168_4(void) = ReturnVoid : +# 2168| v2168_5(void) = AliasedUse : ~m? +# 2168| v2168_6(void) = ExitFunction : + +# 2172| void ClassWithDestructor::ClassWithDestructor(ClassWithDestructor const&) +# 2172| Block 0 +# 2172| v2172_1(void) = EnterFunction : +# 2172| mu2172_2(unknown) = AliasedDefinition : +# 2172| mu2172_3(unknown) = InitializeNonLocal : +# 2172| r2172_4(glval) = VariableAddress[#this] : +# 2172| mu2172_5(glval) = InitializeParameter[#this] : &:r2172_4 +# 2172| r2172_6(glval) = Load[#this] : &:r2172_4, ~m? +# 2172| mu2172_7(ClassWithDestructor) = InitializeIndirection[#this] : &:r2172_6 #-----| r0_1(glval) = VariableAddress[(unnamed parameter 0)] : #-----| mu0_2(ClassWithDestructor &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1 #-----| r0_3(ClassWithDestructor &) = Load[(unnamed parameter 0)] : &:r0_1, ~m? #-----| mu0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3 -# 2125| r2125_8(glval) = FieldAddress[x] : mu2125_5 -# 2125| r2125_9(glval) = VariableAddress[(unnamed parameter 0)] : -# 2125| r2125_10(ClassWithDestructor &) = Load[(unnamed parameter 0)] : &:r2125_9, ~m? -# 2125| r2125_11(glval) = CopyValue : r2125_10 -# 2125| r2125_12(glval) = FieldAddress[x] : r2125_11 -# 2125| r2125_13(char *) = Load[?] : &:r2125_12, ~m? -# 2125| mu2125_14(char *) = Store[?] : &:r2125_8, r2125_13 -# 2125| v2125_15(void) = NoOp : -# 2125| v2125_16(void) = ReturnIndirection[#this] : &:r2125_6, ~m? +# 2172| r2172_8(glval) = FieldAddress[x] : mu2172_5 +# 2172| r2172_9(glval) = VariableAddress[(unnamed parameter 0)] : +# 2172| r2172_10(ClassWithDestructor &) = Load[(unnamed parameter 0)] : &:r2172_9, ~m? +# 2172| r2172_11(glval) = CopyValue : r2172_10 +# 2172| r2172_12(glval) = FieldAddress[x] : r2172_11 +# 2172| r2172_13(char *) = Load[?] : &:r2172_12, ~m? +# 2172| mu2172_14(char *) = Store[?] : &:r2172_8, r2172_13 +# 2172| v2172_15(void) = NoOp : +# 2172| v2172_16(void) = ReturnIndirection[#this] : &:r2172_6, ~m? #-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, ~m? -# 2125| v2125_17(void) = ReturnVoid : -# 2125| v2125_18(void) = AliasedUse : ~m? -# 2125| v2125_19(void) = ExitFunction : +# 2172| v2172_17(void) = ReturnVoid : +# 2172| v2172_18(void) = AliasedUse : ~m? +# 2172| v2172_19(void) = ExitFunction : -# 2128| void ClassWithDestructor::ClassWithDestructor() -# 2128| Block 0 -# 2128| v2128_1(void) = EnterFunction : -# 2128| mu2128_2(unknown) = AliasedDefinition : -# 2128| mu2128_3(unknown) = InitializeNonLocal : -# 2128| r2128_4(glval) = VariableAddress[#this] : -# 2128| mu2128_5(glval) = InitializeParameter[#this] : &:r2128_4 -# 2128| r2128_6(glval) = Load[#this] : &:r2128_4, ~m? -# 2128| mu2128_7(ClassWithDestructor) = InitializeIndirection[#this] : &:r2128_6 -# 2128| r2128_8(glval) = FunctionAddress[operator new] : -# 2128| r2128_9(unsigned long) = Constant[1] : -# 2128| r2128_10(void *) = Call[operator new] : func:r2128_8, 0:r2128_9 -# 2128| mu2128_11(unknown) = ^CallSideEffect : ~m? -# 2128| mu2128_12(unknown) = ^InitializeDynamicAllocation : &:r2128_10 -# 2128| r2128_13(char *) = Convert : r2128_10 -# 2128| r2128_14(glval) = VariableAddress[#this] : -# 2128| r2128_15(ClassWithDestructor *) = Load[#this] : &:r2128_14, ~m? -# 2128| r2128_16(glval) = FieldAddress[x] : r2128_15 -# 2128| mu2128_17(char *) = Store[?] : &:r2128_16, r2128_13 -# 2128| v2128_18(void) = NoOp : -# 2128| v2128_19(void) = ReturnIndirection[#this] : &:r2128_6, ~m? -# 2128| v2128_20(void) = ReturnVoid : -# 2128| v2128_21(void) = AliasedUse : ~m? -# 2128| v2128_22(void) = ExitFunction : +# 2175| void ClassWithDestructor::ClassWithDestructor() +# 2175| Block 0 +# 2175| v2175_1(void) = EnterFunction : +# 2175| mu2175_2(unknown) = AliasedDefinition : +# 2175| mu2175_3(unknown) = InitializeNonLocal : +# 2175| r2175_4(glval) = VariableAddress[#this] : +# 2175| mu2175_5(glval) = InitializeParameter[#this] : &:r2175_4 +# 2175| r2175_6(glval) = Load[#this] : &:r2175_4, ~m? +# 2175| mu2175_7(ClassWithDestructor) = InitializeIndirection[#this] : &:r2175_6 +# 2175| r2175_8(glval) = FunctionAddress[operator new] : +# 2175| r2175_9(unsigned long) = Constant[1] : +# 2175| r2175_10(void *) = Call[operator new] : func:r2175_8, 0:r2175_9 +# 2175| mu2175_11(unknown) = ^CallSideEffect : ~m? +# 2175| mu2175_12(unknown) = ^InitializeDynamicAllocation : &:r2175_10 +# 2175| r2175_13(char *) = Convert : r2175_10 +# 2175| r2175_14(glval) = VariableAddress[#this] : +# 2175| r2175_15(ClassWithDestructor *) = Load[#this] : &:r2175_14, ~m? +# 2175| r2175_16(glval) = FieldAddress[x] : r2175_15 +# 2175| mu2175_17(char *) = Store[?] : &:r2175_16, r2175_13 +# 2175| v2175_18(void) = NoOp : +# 2175| v2175_19(void) = ReturnIndirection[#this] : &:r2175_6, ~m? +# 2175| v2175_20(void) = ReturnVoid : +# 2175| v2175_21(void) = AliasedUse : ~m? +# 2175| v2175_22(void) = ExitFunction : -# 2129| void ClassWithDestructor::~ClassWithDestructor() -# 2129| Block 0 -# 2129| v2129_1(void) = EnterFunction : -# 2129| mu2129_2(unknown) = AliasedDefinition : -# 2129| mu2129_3(unknown) = InitializeNonLocal : -# 2129| r2129_4(glval) = VariableAddress[#this] : -# 2129| mu2129_5(glval) = InitializeParameter[#this] : &:r2129_4 -# 2129| r2129_6(glval) = Load[#this] : &:r2129_4, ~m? -# 2129| mu2129_7(ClassWithDestructor) = InitializeIndirection[#this] : &:r2129_6 -# 2129| r2129_8(glval) = FunctionAddress[operator delete] : -# 2129| r2129_9(glval) = VariableAddress[#this] : -# 2129| r2129_10(ClassWithDestructor *) = Load[#this] : &:r2129_9, ~m? -# 2129| r2129_11(glval) = FieldAddress[x] : r2129_10 -# 2129| r2129_12(char *) = Load[?] : &:r2129_11, ~m? -# 2129| v2129_13(void) = Call[operator delete] : func:r2129_8, 0:r2129_12 -# 2129| mu2129_14(unknown) = ^CallSideEffect : ~m? -# 2129| v2129_15(void) = NoOp : -# 2129| v2129_16(void) = ReturnIndirection[#this] : &:r2129_6, ~m? -# 2129| v2129_17(void) = ReturnVoid : -# 2129| v2129_18(void) = AliasedUse : ~m? -# 2129| v2129_19(void) = ExitFunction : +# 2176| void ClassWithDestructor::~ClassWithDestructor() +# 2176| Block 0 +# 2176| v2176_1(void) = EnterFunction : +# 2176| mu2176_2(unknown) = AliasedDefinition : +# 2176| mu2176_3(unknown) = InitializeNonLocal : +# 2176| r2176_4(glval) = VariableAddress[#this] : +# 2176| mu2176_5(glval) = InitializeParameter[#this] : &:r2176_4 +# 2176| r2176_6(glval) = Load[#this] : &:r2176_4, ~m? +# 2176| mu2176_7(ClassWithDestructor) = InitializeIndirection[#this] : &:r2176_6 +# 2176| r2176_8(glval) = FunctionAddress[operator delete] : +# 2176| r2176_9(glval) = VariableAddress[#this] : +# 2176| r2176_10(ClassWithDestructor *) = Load[#this] : &:r2176_9, ~m? +# 2176| r2176_11(glval) = FieldAddress[x] : r2176_10 +# 2176| r2176_12(char *) = Load[?] : &:r2176_11, ~m? +# 2176| v2176_13(void) = Call[operator delete] : func:r2176_8, 0:r2176_12 +# 2176| mu2176_14(unknown) = ^CallSideEffect : ~m? +# 2176| v2176_15(void) = NoOp : +# 2176| v2176_16(void) = ReturnIndirection[#this] : &:r2176_6, ~m? +# 2176| v2176_17(void) = ReturnVoid : +# 2176| v2176_18(void) = AliasedUse : ~m? +# 2176| v2176_19(void) = ExitFunction : -# 2131| void ClassWithDestructor::set_x(char) -# 2131| Block 0 -# 2131| v2131_1(void) = EnterFunction : -# 2131| mu2131_2(unknown) = AliasedDefinition : -# 2131| mu2131_3(unknown) = InitializeNonLocal : -# 2131| r2131_4(glval) = VariableAddress[#this] : -# 2131| mu2131_5(glval) = InitializeParameter[#this] : &:r2131_4 -# 2131| r2131_6(glval) = Load[#this] : &:r2131_4, ~m? -# 2131| mu2131_7(ClassWithDestructor) = InitializeIndirection[#this] : &:r2131_6 -# 2131| r2131_8(glval) = VariableAddress[y] : -# 2131| mu2131_9(char) = InitializeParameter[y] : &:r2131_8 -# 2131| r2131_10(glval) = VariableAddress[y] : -# 2131| r2131_11(char) = Load[y] : &:r2131_10, ~m? -# 2131| r2131_12(glval) = VariableAddress[#this] : -# 2131| r2131_13(ClassWithDestructor *) = Load[#this] : &:r2131_12, ~m? -# 2131| r2131_14(glval) = FieldAddress[x] : r2131_13 -# 2131| r2131_15(char *) = Load[?] : &:r2131_14, ~m? -# 2131| r2131_16(glval) = CopyValue : r2131_15 -# 2131| mu2131_17(char) = Store[?] : &:r2131_16, r2131_11 -# 2131| v2131_18(void) = NoOp : -# 2131| v2131_19(void) = ReturnIndirection[#this] : &:r2131_6, ~m? -# 2131| v2131_20(void) = ReturnVoid : -# 2131| v2131_21(void) = AliasedUse : ~m? -# 2131| v2131_22(void) = ExitFunction : +# 2178| void ClassWithDestructor::set_x(char) +# 2178| Block 0 +# 2178| v2178_1(void) = EnterFunction : +# 2178| mu2178_2(unknown) = AliasedDefinition : +# 2178| mu2178_3(unknown) = InitializeNonLocal : +# 2178| r2178_4(glval) = VariableAddress[#this] : +# 2178| mu2178_5(glval) = InitializeParameter[#this] : &:r2178_4 +# 2178| r2178_6(glval) = Load[#this] : &:r2178_4, ~m? +# 2178| mu2178_7(ClassWithDestructor) = InitializeIndirection[#this] : &:r2178_6 +# 2178| r2178_8(glval) = VariableAddress[y] : +# 2178| mu2178_9(char) = InitializeParameter[y] : &:r2178_8 +# 2178| r2178_10(glval) = VariableAddress[y] : +# 2178| r2178_11(char) = Load[y] : &:r2178_10, ~m? +# 2178| r2178_12(glval) = VariableAddress[#this] : +# 2178| r2178_13(ClassWithDestructor *) = Load[#this] : &:r2178_12, ~m? +# 2178| r2178_14(glval) = FieldAddress[x] : r2178_13 +# 2178| r2178_15(char *) = Load[?] : &:r2178_14, ~m? +# 2178| r2178_16(glval) = CopyValue : r2178_15 +# 2178| mu2178_17(char) = Store[?] : &:r2178_16, r2178_11 +# 2178| v2178_18(void) = NoOp : +# 2178| v2178_19(void) = ReturnIndirection[#this] : &:r2178_6, ~m? +# 2178| v2178_20(void) = ReturnVoid : +# 2178| v2178_21(void) = AliasedUse : ~m? +# 2178| v2178_22(void) = ExitFunction : -# 2132| char ClassWithDestructor::get_x() -# 2132| Block 0 -# 2132| v2132_1(void) = EnterFunction : -# 2132| mu2132_2(unknown) = AliasedDefinition : -# 2132| mu2132_3(unknown) = InitializeNonLocal : -# 2132| r2132_4(glval) = VariableAddress[#this] : -# 2132| mu2132_5(glval) = InitializeParameter[#this] : &:r2132_4 -# 2132| r2132_6(glval) = Load[#this] : &:r2132_4, ~m? -# 2132| mu2132_7(ClassWithDestructor) = InitializeIndirection[#this] : &:r2132_6 -# 2132| r2132_8(glval) = VariableAddress[#return] : -# 2132| r2132_9(glval) = VariableAddress[#this] : -# 2132| r2132_10(ClassWithDestructor *) = Load[#this] : &:r2132_9, ~m? -# 2132| r2132_11(glval) = FieldAddress[x] : r2132_10 -# 2132| r2132_12(char *) = Load[?] : &:r2132_11, ~m? -# 2132| r2132_13(char) = Load[?] : &:r2132_12, ~m? -# 2132| mu2132_14(char) = Store[#return] : &:r2132_8, r2132_13 -# 2132| v2132_15(void) = ReturnIndirection[#this] : &:r2132_6, ~m? -# 2132| r2132_16(glval) = VariableAddress[#return] : -# 2132| v2132_17(void) = ReturnValue : &:r2132_16, ~m? -# 2132| v2132_18(void) = AliasedUse : ~m? -# 2132| v2132_19(void) = ExitFunction : - -# 2135| bool initialization_with_destructor_bool -# 2135| Block 0 -# 2135| v2135_1(void) = EnterFunction : -# 2135| mu2135_2(unknown) = AliasedDefinition : -# 2135| r2135_3(glval) = VariableAddress[initialization_with_destructor_bool] : -# 2135| r2135_4(bool) = Constant[1] : -# 2135| mu2135_5(bool) = Store[initialization_with_destructor_bool] : &:r2135_3, r2135_4 -# 2135| v2135_6(void) = ReturnVoid : -# 2135| v2135_7(void) = AliasedUse : ~m? -# 2135| v2135_8(void) = ExitFunction : - -# 2137| void initialization_with_destructor(bool, char) -# 2137| Block 0 -# 2137| v2137_1(void) = EnterFunction : -# 2137| mu2137_2(unknown) = AliasedDefinition : -# 2137| mu2137_3(unknown) = InitializeNonLocal : -# 2137| r2137_4(glval) = VariableAddress[b] : -# 2137| mu2137_5(bool) = InitializeParameter[b] : &:r2137_4 -# 2137| r2137_6(glval) = VariableAddress[c] : -# 2137| mu2137_7(char) = InitializeParameter[c] : &:r2137_6 -# 2138| r2138_1(glval) = VariableAddress[x] : -# 2138| mu2138_2(ClassWithDestructor) = Uninitialized[x] : &:r2138_1 -# 2138| r2138_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2138| v2138_4(void) = Call[ClassWithDestructor] : func:r2138_3, this:r2138_1 -# 2138| mu2138_5(unknown) = ^CallSideEffect : ~m? -# 2138| mu2138_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2138_1 -# 2138| r2138_7(glval) = VariableAddress[b] : -# 2138| r2138_8(bool) = Load[b] : &:r2138_7, ~m? -# 2138| v2138_9(void) = ConditionalBranch : r2138_8 -#-----| False -> Block 3 -#-----| True -> Block 2 - -# 2137| Block 1 -# 2137| v2137_8(void) = ReturnVoid : -# 2137| v2137_9(void) = AliasedUse : ~m? -# 2137| v2137_10(void) = ExitFunction : - -# 2139| Block 2 -# 2139| r2139_1(glval) = VariableAddress[x] : -# 2139| r2139_2(glval) = FunctionAddress[set_x] : -# 2139| r2139_3(char) = Constant[97] : -# 2139| v2139_4(void) = Call[set_x] : func:r2139_2, this:r2139_1, 0:r2139_3 -# 2139| mu2139_5(unknown) = ^CallSideEffect : ~m? -# 2139| v2139_6(void) = ^IndirectReadSideEffect[-1] : &:r2139_1, ~m? -# 2139| mu2139_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2139_1 -# 2139| r2139_8(glval) = VariableAddress[x] : -# 2139| r2139_9(glval) = FunctionAddress[~ClassWithDestructor] : -# 2139| v2139_10(void) = Call[~ClassWithDestructor] : func:r2139_9, this:r2139_8 -# 2139| mu2139_11(unknown) = ^CallSideEffect : ~m? -# 2139| v2139_12(void) = ^IndirectReadSideEffect[-1] : &:r2139_8, ~m? -# 2139| mu2139_13(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2139_8 -#-----| Goto -> Block 3 - -# 2141| Block 3 -# 2141| r2141_1(glval) = VariableAddress[x] : -# 2141| mu2141_2(ClassWithDestructor) = Uninitialized[x] : &:r2141_1 -# 2141| r2141_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2141| v2141_4(void) = Call[ClassWithDestructor] : func:r2141_3, this:r2141_1 -# 2141| mu2141_5(unknown) = ^CallSideEffect : ~m? -# 2141| mu2141_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2141_1 -# 2141| r2141_7(bool) = Constant[1] : -# 2141| v2141_8(void) = ConditionalBranch : r2141_7 -#-----| False -> Block 6 -#-----| True -> Block 4 - -# 2142| Block 4 -# 2142| r2142_1(glval) = VariableAddress[x] : -# 2142| r2142_2(glval) = FunctionAddress[set_x] : -# 2142| r2142_3(char) = Constant[97] : -# 2142| v2142_4(void) = Call[set_x] : func:r2142_2, this:r2142_1, 0:r2142_3 -# 2142| mu2142_5(unknown) = ^CallSideEffect : ~m? -# 2142| v2142_6(void) = ^IndirectReadSideEffect[-1] : &:r2142_1, ~m? -# 2142| mu2142_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2142_1 -#-----| Goto -> Block 6 - -# 2142| Block 5 -# 2142| r2142_8(glval) = VariableAddress[x] : -# 2142| r2142_9(glval) = FunctionAddress[~ClassWithDestructor] : -# 2142| v2142_10(void) = Call[~ClassWithDestructor] : func:r2142_9, this:r2142_8 -# 2142| mu2142_11(unknown) = ^CallSideEffect : ~m? -# 2142| v2142_12(void) = ^IndirectReadSideEffect[-1] : &:r2142_8, ~m? -# 2142| mu2142_13(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2142_8 -#-----| Goto -> Block 6 - -# 2144| Block 6 -# 2144| r2144_1(glval) = VariableAddress[x] : -# 2144| mu2144_2(ClassWithDestructor) = Uninitialized[x] : &:r2144_1 -# 2144| r2144_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2144| v2144_4(void) = Call[ClassWithDestructor] : func:r2144_3, this:r2144_1 -# 2144| mu2144_5(unknown) = ^CallSideEffect : ~m? -# 2144| mu2144_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2144_1 -# 2144| r2144_7(glval) = VariableAddress[c] : -# 2144| r2144_8(char) = Load[c] : &:r2144_7, ~m? -# 2144| r2144_9(int) = Convert : r2144_8 -# 2144| v2144_10(void) = Switch : r2144_9 -#-----| Case[97] -> Block 7 -#-----| Default -> Block 8 - -# 2145| Block 7 -# 2145| v2145_1(void) = NoOp : -# 2146| r2146_1(glval) = VariableAddress[x] : -# 2146| r2146_2(glval) = FunctionAddress[set_x] : -# 2146| r2146_3(char) = Constant[97] : -# 2146| v2146_4(void) = Call[set_x] : func:r2146_2, this:r2146_1, 0:r2146_3 -# 2146| mu2146_5(unknown) = ^CallSideEffect : ~m? -# 2146| v2146_6(void) = ^IndirectReadSideEffect[-1] : &:r2146_1, ~m? -# 2146| mu2146_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2146_1 -# 2147| v2147_1(void) = NoOp : -#-----| Goto -> Block 10 - -# 2148| Block 8 -# 2148| v2148_1(void) = NoOp : -# 2149| r2149_1(glval) = VariableAddress[x] : -# 2149| r2149_2(glval) = FunctionAddress[set_x] : -# 2149| r2149_3(char) = Constant[98] : -# 2149| v2149_4(void) = Call[set_x] : func:r2149_2, this:r2149_1, 0:r2149_3 -# 2149| mu2149_5(unknown) = ^CallSideEffect : ~m? -# 2149| v2149_6(void) = ^IndirectReadSideEffect[-1] : &:r2149_1, ~m? -# 2149| mu2149_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2149_1 -# 2150| v2150_1(void) = NoOp : -#-----| Goto -> Block 10 - -# 2151| Block 9 -# 2151| r2151_1(glval) = VariableAddress[x] : -# 2151| r2151_2(glval) = FunctionAddress[~ClassWithDestructor] : -# 2151| v2151_3(void) = Call[~ClassWithDestructor] : func:r2151_2, this:r2151_1 -# 2151| mu2151_4(unknown) = ^CallSideEffect : ~m? -# 2151| v2151_5(void) = ^IndirectReadSideEffect[-1] : &:r2151_1, ~m? -# 2151| mu2151_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2151_1 -#-----| Goto -> Block 10 - -# 2151| Block 10 -# 2151| v2151_7(void) = NoOp : -# 2153| r2153_1(glval) = VariableAddress[x] : -# 2153| mu2153_2(ClassWithDestructor) = Uninitialized[x] : &:r2153_1 -# 2153| r2153_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2153| v2153_4(void) = Call[ClassWithDestructor] : func:r2153_3, this:r2153_1 -# 2153| mu2153_5(unknown) = ^CallSideEffect : ~m? -# 2153| mu2153_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2153_1 -# 2154| r2154_1(glval>) = VariableAddress[ys] : -# 2154| mu2154_2(vector) = Uninitialized[ys] : &:r2154_1 -# 2154| r2154_3(glval) = FunctionAddress[vector] : -# 2154| r2154_4(glval) = VariableAddress[#temp2154:40] : -# 2154| r2154_5(glval) = VariableAddress[x] : -# 2154| r2154_6(ClassWithDestructor) = Load[x] : &:r2154_5, ~m? -# 2154| mu2154_7(ClassWithDestructor) = Store[#temp2154:40] : &:r2154_4, r2154_6 -# 2154| r2154_8(ClassWithDestructor) = Load[#temp2154:40] : &:r2154_4, ~m? -# 2154| v2154_9(void) = Call[vector] : func:r2154_3, this:r2154_1, 0:r2154_8 -# 2154| mu2154_10(unknown) = ^CallSideEffect : ~m? -# 2154| mu2154_11(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2154_1 -# 2154| r2154_12(glval &>) = VariableAddress[(__range)] : -# 2154| r2154_13(glval>) = VariableAddress[ys] : -# 2154| r2154_14(vector &) = CopyValue : r2154_13 -# 2154| mu2154_15(vector &) = Store[(__range)] : &:r2154_12, r2154_14 -# 2154| r2154_16(glval) = VariableAddress[(__begin)] : -# 2154| r2154_17(glval &>) = VariableAddress[(__range)] : -# 2154| r2154_18(vector &) = Load[(__range)] : &:r2154_17, ~m? -#-----| r0_1(glval>) = CopyValue : r2154_18 -#-----| r0_2(glval>) = Convert : r0_1 -# 2154| r2154_19(glval) = FunctionAddress[begin] : -# 2154| r2154_20(iterator) = Call[begin] : func:r2154_19, this:r0_2 -# 2154| mu2154_21(unknown) = ^CallSideEffect : ~m? -#-----| v0_3(void) = ^IndirectReadSideEffect[-1] : &:r0_2, ~m? -# 2154| mu2154_22(iterator) = Store[(__begin)] : &:r2154_16, r2154_20 -# 2154| r2154_23(glval) = VariableAddress[(__end)] : -# 2154| r2154_24(glval &>) = VariableAddress[(__range)] : -# 2154| r2154_25(vector &) = Load[(__range)] : &:r2154_24, ~m? -#-----| r0_4(glval>) = CopyValue : r2154_25 -#-----| r0_5(glval>) = Convert : r0_4 -# 2154| r2154_26(glval) = FunctionAddress[end] : -# 2154| r2154_27(iterator) = Call[end] : func:r2154_26, this:r0_5 -# 2154| mu2154_28(unknown) = ^CallSideEffect : ~m? -#-----| v0_6(void) = ^IndirectReadSideEffect[-1] : &:r0_5, ~m? -# 2154| mu2154_29(iterator) = Store[(__end)] : &:r2154_23, r2154_27 -#-----| Goto -> Block 11 - -# 2154| Block 11 -# 2154| r2154_30(glval) = VariableAddress[(__begin)] : -#-----| r0_7(glval) = Convert : r2154_30 -# 2154| r2154_31(glval) = FunctionAddress[operator!=] : -# 2154| r2154_32(glval) = VariableAddress[(__end)] : -# 2154| r2154_33(iterator) = Load[(__end)] : &:r2154_32, ~m? -# 2154| r2154_34(bool) = Call[operator!=] : func:r2154_31, this:r0_7, 0:r2154_33 -# 2154| mu2154_35(unknown) = ^CallSideEffect : ~m? -#-----| v0_8(void) = ^IndirectReadSideEffect[-1] : &:r0_7, ~m? -# 2154| v2154_36(void) = ConditionalBranch : r2154_34 -#-----| False -> Block 14 -#-----| True -> Block 12 - -# 2154| Block 12 -# 2154| r2154_37(glval) = VariableAddress[y] : -# 2154| r2154_38(glval) = VariableAddress[(__begin)] : -#-----| r0_9(glval) = Convert : r2154_38 -# 2154| r2154_39(glval) = FunctionAddress[operator*] : -# 2154| r2154_40(ClassWithDestructor &) = Call[operator*] : func:r2154_39, this:r0_9 -# 2154| mu2154_41(unknown) = ^CallSideEffect : ~m? -#-----| v0_10(void) = ^IndirectReadSideEffect[-1] : &:r0_9, ~m? -# 2154| r2154_42(ClassWithDestructor) = Load[?] : &:r2154_40, ~m? -# 2154| mu2154_43(ClassWithDestructor) = Store[y] : &:r2154_37, r2154_42 -# 2155| r2155_1(glval) = VariableAddress[y] : -# 2155| r2155_2(glval) = FunctionAddress[set_x] : -# 2155| r2155_3(char) = Constant[97] : -# 2155| v2155_4(void) = Call[set_x] : func:r2155_2, this:r2155_1, 0:r2155_3 -# 2155| mu2155_5(unknown) = ^CallSideEffect : ~m? -# 2155| v2155_6(void) = ^IndirectReadSideEffect[-1] : &:r2155_1, ~m? -# 2155| mu2155_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2155_1 -# 2154| r2154_44(glval) = VariableAddress[y] : -# 2154| r2154_45(glval) = FunctionAddress[~ClassWithDestructor] : -# 2154| v2154_46(void) = Call[~ClassWithDestructor] : func:r2154_45, this:r2154_44 -# 2154| mu2154_47(unknown) = ^CallSideEffect : ~m? -# 2154| v2154_48(void) = ^IndirectReadSideEffect[-1] : &:r2154_44, ~m? -# 2154| mu2154_49(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2154_44 -# 2154| r2154_50(glval) = VariableAddress[(__begin)] : -# 2154| r2154_51(glval) = FunctionAddress[operator++] : -# 2154| r2154_52(iterator &) = Call[operator++] : func:r2154_51, this:r2154_50 -# 2154| mu2154_53(unknown) = ^CallSideEffect : ~m? -# 2154| v2154_54(void) = ^IndirectReadSideEffect[-1] : &:r2154_50, ~m? -# 2154| mu2154_55(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2154_50 -# 2154| r2154_56(glval) = CopyValue : r2154_52 -#-----| Goto (back edge) -> Block 11 - -# 2154| Block 13 -# 2154| r2154_57(glval>) = VariableAddress[ys] : -# 2154| r2154_58(glval) = FunctionAddress[~vector] : -# 2154| v2154_59(void) = Call[~vector] : func:r2154_58, this:r2154_57 -# 2154| mu2154_60(unknown) = ^CallSideEffect : ~m? -# 2154| v2154_61(void) = ^IndirectReadSideEffect[-1] : &:r2154_57, ~m? -# 2154| mu2154_62(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2154_57 -#-----| Goto -> Block 14 - -# 2157| Block 14 -# 2157| r2157_1(glval>) = VariableAddress[ys] : -# 2157| mu2157_2(vector) = Uninitialized[ys] : &:r2157_1 -# 2157| r2157_3(glval) = FunctionAddress[vector] : -# 2157| r2157_4(glval) = VariableAddress[#temp2157:40] : -# 2157| r2157_5(glval) = VariableAddress[x] : -# 2157| r2157_6(ClassWithDestructor) = Load[x] : &:r2157_5, ~m? -# 2157| mu2157_7(ClassWithDestructor) = Store[#temp2157:40] : &:r2157_4, r2157_6 -# 2157| r2157_8(ClassWithDestructor) = Load[#temp2157:40] : &:r2157_4, ~m? -# 2157| v2157_9(void) = Call[vector] : func:r2157_3, this:r2157_1, 0:r2157_8 -# 2157| mu2157_10(unknown) = ^CallSideEffect : ~m? -# 2157| mu2157_11(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2157_1 -# 2157| r2157_12(glval &>) = VariableAddress[(__range)] : -# 2157| r2157_13(glval>) = VariableAddress[ys] : -# 2157| r2157_14(vector &) = CopyValue : r2157_13 -# 2157| mu2157_15(vector &) = Store[(__range)] : &:r2157_12, r2157_14 -# 2157| r2157_16(glval) = VariableAddress[(__begin)] : -# 2157| r2157_17(glval &>) = VariableAddress[(__range)] : -# 2157| r2157_18(vector &) = Load[(__range)] : &:r2157_17, ~m? -#-----| r0_11(glval>) = CopyValue : r2157_18 -#-----| r0_12(glval>) = Convert : r0_11 -# 2157| r2157_19(glval) = FunctionAddress[begin] : -# 2157| r2157_20(iterator) = Call[begin] : func:r2157_19, this:r0_12 -# 2157| mu2157_21(unknown) = ^CallSideEffect : ~m? -#-----| v0_13(void) = ^IndirectReadSideEffect[-1] : &:r0_12, ~m? -# 2157| mu2157_22(iterator) = Store[(__begin)] : &:r2157_16, r2157_20 -# 2157| r2157_23(glval) = VariableAddress[(__end)] : -# 2157| r2157_24(glval &>) = VariableAddress[(__range)] : -# 2157| r2157_25(vector &) = Load[(__range)] : &:r2157_24, ~m? -#-----| r0_14(glval>) = CopyValue : r2157_25 -#-----| r0_15(glval>) = Convert : r0_14 -# 2157| r2157_26(glval) = FunctionAddress[end] : -# 2157| r2157_27(iterator) = Call[end] : func:r2157_26, this:r0_15 -# 2157| mu2157_28(unknown) = ^CallSideEffect : ~m? -#-----| v0_16(void) = ^IndirectReadSideEffect[-1] : &:r0_15, ~m? -# 2157| mu2157_29(iterator) = Store[(__end)] : &:r2157_23, r2157_27 -#-----| Goto -> Block 15 - -# 2157| Block 15 -# 2157| r2157_30(glval) = VariableAddress[(__begin)] : -#-----| r0_17(glval) = Convert : r2157_30 -# 2157| r2157_31(glval) = FunctionAddress[operator!=] : -# 2157| r2157_32(glval) = VariableAddress[(__end)] : -# 2157| r2157_33(iterator) = Load[(__end)] : &:r2157_32, ~m? -# 2157| r2157_34(bool) = Call[operator!=] : func:r2157_31, this:r0_17, 0:r2157_33 -# 2157| mu2157_35(unknown) = ^CallSideEffect : ~m? -#-----| v0_18(void) = ^IndirectReadSideEffect[-1] : &:r0_17, ~m? -# 2157| v2157_36(void) = ConditionalBranch : r2157_34 -#-----| False -> Block 20 -#-----| True -> Block 16 - -# 2157| Block 16 -# 2157| r2157_37(glval) = VariableAddress[y] : -# 2157| r2157_38(glval) = VariableAddress[(__begin)] : -#-----| r0_19(glval) = Convert : r2157_38 -# 2157| r2157_39(glval) = FunctionAddress[operator*] : -# 2157| r2157_40(ClassWithDestructor &) = Call[operator*] : func:r2157_39, this:r0_19 -# 2157| mu2157_41(unknown) = ^CallSideEffect : ~m? -#-----| v0_20(void) = ^IndirectReadSideEffect[-1] : &:r0_19, ~m? -# 2157| r2157_42(ClassWithDestructor) = Load[?] : &:r2157_40, ~m? -# 2157| mu2157_43(ClassWithDestructor) = Store[y] : &:r2157_37, r2157_42 -# 2158| r2158_1(glval) = VariableAddress[y] : -# 2158| r2158_2(glval) = FunctionAddress[set_x] : -# 2158| r2158_3(char) = Constant[97] : -# 2158| v2158_4(void) = Call[set_x] : func:r2158_2, this:r2158_1, 0:r2158_3 -# 2158| mu2158_5(unknown) = ^CallSideEffect : ~m? -# 2158| v2158_6(void) = ^IndirectReadSideEffect[-1] : &:r2158_1, ~m? -# 2158| mu2158_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2158_1 -# 2159| r2159_1(glval) = VariableAddress[y] : -# 2159| r2159_2(glval) = FunctionAddress[get_x] : -# 2159| r2159_3(char) = Call[get_x] : func:r2159_2, this:r2159_1 -# 2159| mu2159_4(unknown) = ^CallSideEffect : ~m? -# 2159| v2159_5(void) = ^IndirectReadSideEffect[-1] : &:r2159_1, ~m? -# 2159| mu2159_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2159_1 -# 2159| r2159_7(int) = Convert : r2159_3 -# 2159| r2159_8(int) = Constant[98] : -# 2159| r2159_9(bool) = CompareEQ : r2159_7, r2159_8 -# 2159| v2159_10(void) = ConditionalBranch : r2159_9 -#-----| False -> Block 18 -#-----| True -> Block 17 - -# 2160| Block 17 -# 2160| v2160_1(void) = NoOp : -# 2157| r2157_44(glval) = VariableAddress[y] : -# 2157| r2157_45(glval) = FunctionAddress[~ClassWithDestructor] : -# 2157| v2157_46(void) = Call[~ClassWithDestructor] : func:r2157_45, this:r2157_44 -# 2157| mu2157_47(unknown) = ^CallSideEffect : ~m? -# 2157| v2157_48(void) = ^IndirectReadSideEffect[-1] : &:r2157_44, ~m? -# 2157| mu2157_49(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2157_44 -# 2157| r2157_50(glval>) = VariableAddress[ys] : -# 2157| r2157_51(glval) = FunctionAddress[~vector] : -# 2157| v2157_52(void) = Call[~vector] : func:r2157_51, this:r2157_50 -# 2157| mu2157_53(unknown) = ^CallSideEffect : ~m? -# 2157| v2157_54(void) = ^IndirectReadSideEffect[-1] : &:r2157_50, ~m? -# 2157| mu2157_55(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2157_50 -# 2172| r2172_1(glval) = VariableAddress[x] : -# 2172| r2172_2(glval) = FunctionAddress[~ClassWithDestructor] : -# 2172| v2172_3(void) = Call[~ClassWithDestructor] : func:r2172_2, this:r2172_1 -# 2172| mu2172_4(unknown) = ^CallSideEffect : ~m? -# 2172| v2172_5(void) = ^IndirectReadSideEffect[-1] : &:r2172_1, ~m? -# 2172| mu2172_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2172_1 -#-----| Goto -> Block 1 - -# 2157| Block 18 -# 2157| r2157_56(glval) = VariableAddress[y] : -# 2157| r2157_57(glval) = FunctionAddress[~ClassWithDestructor] : -# 2157| v2157_58(void) = Call[~ClassWithDestructor] : func:r2157_57, this:r2157_56 -# 2157| mu2157_59(unknown) = ^CallSideEffect : ~m? -# 2157| v2157_60(void) = ^IndirectReadSideEffect[-1] : &:r2157_56, ~m? -# 2157| mu2157_61(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2157_56 -# 2157| r2157_62(glval) = VariableAddress[(__begin)] : -# 2157| r2157_63(glval) = FunctionAddress[operator++] : -# 2157| r2157_64(iterator &) = Call[operator++] : func:r2157_63, this:r2157_62 -# 2157| mu2157_65(unknown) = ^CallSideEffect : ~m? -# 2157| v2157_66(void) = ^IndirectReadSideEffect[-1] : &:r2157_62, ~m? -# 2157| mu2157_67(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2157_62 -# 2157| r2157_68(glval) = CopyValue : r2157_64 -#-----| Goto (back edge) -> Block 15 - -# 2157| Block 19 -# 2157| r2157_69(glval>) = VariableAddress[ys] : -# 2157| r2157_70(glval) = FunctionAddress[~vector] : -# 2157| v2157_71(void) = Call[~vector] : func:r2157_70, this:r2157_69 -# 2157| mu2157_72(unknown) = ^CallSideEffect : ~m? -# 2157| v2157_73(void) = ^IndirectReadSideEffect[-1] : &:r2157_69, ~m? -# 2157| mu2157_74(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2157_69 -#-----| Goto -> Block 20 - -# 2163| Block 20 -# 2163| r2163_1(glval>) = VariableAddress[ys] : -# 2163| mu2163_2(vector) = Uninitialized[ys] : &:r2163_1 -# 2163| r2163_3(glval) = FunctionAddress[vector] : -# 2163| r2163_4(int) = Constant[1] : -# 2163| v2163_5(void) = Call[vector] : func:r2163_3, this:r2163_1, 0:r2163_4 -# 2163| mu2163_6(unknown) = ^CallSideEffect : ~m? -# 2163| mu2163_7(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2163_1 -# 2163| r2163_8(glval &>) = VariableAddress[(__range)] : -# 2163| r2163_9(glval>) = VariableAddress[ys] : -# 2163| r2163_10(vector &) = CopyValue : r2163_9 -# 2163| mu2163_11(vector &) = Store[(__range)] : &:r2163_8, r2163_10 -# 2163| r2163_12(glval) = VariableAddress[(__begin)] : -# 2163| r2163_13(glval &>) = VariableAddress[(__range)] : -# 2163| r2163_14(vector &) = Load[(__range)] : &:r2163_13, ~m? -#-----| r0_21(glval>) = CopyValue : r2163_14 -#-----| r0_22(glval>) = Convert : r0_21 -# 2163| r2163_15(glval) = FunctionAddress[begin] : -# 2163| r2163_16(iterator) = Call[begin] : func:r2163_15, this:r0_22 -# 2163| mu2163_17(unknown) = ^CallSideEffect : ~m? -#-----| v0_23(void) = ^IndirectReadSideEffect[-1] : &:r0_22, ~m? -# 2163| mu2163_18(iterator) = Store[(__begin)] : &:r2163_12, r2163_16 -# 2163| r2163_19(glval) = VariableAddress[(__end)] : -# 2163| r2163_20(glval &>) = VariableAddress[(__range)] : -# 2163| r2163_21(vector &) = Load[(__range)] : &:r2163_20, ~m? -#-----| r0_24(glval>) = CopyValue : r2163_21 -#-----| r0_25(glval>) = Convert : r0_24 -# 2163| r2163_22(glval) = FunctionAddress[end] : -# 2163| r2163_23(iterator) = Call[end] : func:r2163_22, this:r0_25 -# 2163| mu2163_24(unknown) = ^CallSideEffect : ~m? -#-----| v0_26(void) = ^IndirectReadSideEffect[-1] : &:r0_25, ~m? -# 2163| mu2163_25(iterator) = Store[(__end)] : &:r2163_19, r2163_23 -#-----| Goto -> Block 21 - -# 2163| Block 21 -# 2163| r2163_26(glval) = VariableAddress[(__begin)] : -#-----| r0_27(glval) = Convert : r2163_26 -# 2163| r2163_27(glval) = FunctionAddress[operator!=] : -# 2163| r2163_28(glval) = VariableAddress[(__end)] : -# 2163| r2163_29(iterator) = Load[(__end)] : &:r2163_28, ~m? -# 2163| r2163_30(bool) = Call[operator!=] : func:r2163_27, this:r0_27, 0:r2163_29 -# 2163| mu2163_31(unknown) = ^CallSideEffect : ~m? -#-----| v0_28(void) = ^IndirectReadSideEffect[-1] : &:r0_27, ~m? -# 2163| v2163_32(void) = ConditionalBranch : r2163_30 -#-----| False -> Block 26 -#-----| True -> Block 23 - -# 2163| Block 22 -# 2163| r2163_33(glval) = VariableAddress[(__begin)] : -# 2163| r2163_34(glval) = FunctionAddress[operator++] : -# 2163| r2163_35(iterator &) = Call[operator++] : func:r2163_34, this:r2163_33 -# 2163| mu2163_36(unknown) = ^CallSideEffect : ~m? -# 2163| v2163_37(void) = ^IndirectReadSideEffect[-1] : &:r2163_33, ~m? -# 2163| mu2163_38(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2163_33 -# 2163| r2163_39(glval) = CopyValue : r2163_35 -#-----| Goto (back edge) -> Block 21 - -# 2163| Block 23 -# 2163| r2163_40(glval) = VariableAddress[y] : -# 2163| r2163_41(glval) = VariableAddress[(__begin)] : -#-----| r0_29(glval) = Convert : r2163_41 -# 2163| r2163_42(glval) = FunctionAddress[operator*] : -# 2163| r2163_43(int &) = Call[operator*] : func:r2163_42, this:r0_29 -# 2163| mu2163_44(unknown) = ^CallSideEffect : ~m? -#-----| v0_30(void) = ^IndirectReadSideEffect[-1] : &:r0_29, ~m? -# 2163| r2163_45(int) = Load[?] : &:r2163_43, ~m? -# 2163| mu2163_46(int) = Store[y] : &:r2163_40, r2163_45 -# 2164| r2164_1(glval) = VariableAddress[y] : -# 2164| r2164_2(int) = Load[y] : &:r2164_1, ~m? -# 2164| r2164_3(int) = Constant[1] : -# 2164| r2164_4(bool) = CompareEQ : r2164_2, r2164_3 -# 2164| v2164_5(void) = ConditionalBranch : r2164_4 -#-----| False -> Block 22 -#-----| True -> Block 24 - -# 2165| Block 24 -# 2165| v2165_1(void) = NoOp : -# 2163| r2163_47(glval>) = VariableAddress[ys] : -# 2163| r2163_48(glval) = FunctionAddress[~vector] : -# 2163| v2163_49(void) = Call[~vector] : func:r2163_48, this:r2163_47 -# 2163| mu2163_50(unknown) = ^CallSideEffect : ~m? -# 2163| v2163_51(void) = ^IndirectReadSideEffect[-1] : &:r2163_47, ~m? -# 2163| mu2163_52(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2163_47 -# 2172| r2172_7(glval) = VariableAddress[x] : -# 2172| r2172_8(glval) = FunctionAddress[~ClassWithDestructor] : -# 2172| v2172_9(void) = Call[~ClassWithDestructor] : func:r2172_8, this:r2172_7 -# 2172| mu2172_10(unknown) = ^CallSideEffect : ~m? -# 2172| v2172_11(void) = ^IndirectReadSideEffect[-1] : &:r2172_7, ~m? -# 2172| mu2172_12(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2172_7 -#-----| Goto -> Block 1 - -# 2163| Block 25 -# 2163| r2163_53(glval>) = VariableAddress[ys] : -# 2163| r2163_54(glval) = FunctionAddress[~vector] : -# 2163| v2163_55(void) = Call[~vector] : func:r2163_54, this:r2163_53 -# 2163| mu2163_56(unknown) = ^CallSideEffect : ~m? -# 2163| v2163_57(void) = ^IndirectReadSideEffect[-1] : &:r2163_53, ~m? -# 2163| mu2163_58(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2163_53 -#-----| Goto -> Block 26 - -# 2168| Block 26 -# 2168| r2168_1(glval>) = VariableAddress[ys] : -# 2168| mu2168_2(vector) = Uninitialized[ys] : &:r2168_1 -# 2168| r2168_3(glval) = FunctionAddress[vector] : -# 2168| r2168_4(glval) = VariableAddress[#temp2168:40] : -# 2168| r2168_5(glval) = VariableAddress[x] : -# 2168| r2168_6(ClassWithDestructor) = Load[x] : &:r2168_5, ~m? -# 2168| mu2168_7(ClassWithDestructor) = Store[#temp2168:40] : &:r2168_4, r2168_6 -# 2168| r2168_8(ClassWithDestructor) = Load[#temp2168:40] : &:r2168_4, ~m? -# 2168| v2168_9(void) = Call[vector] : func:r2168_3, this:r2168_1, 0:r2168_8 -# 2168| mu2168_10(unknown) = ^CallSideEffect : ~m? -# 2168| mu2168_11(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2168_1 -# 2168| r2168_12(glval &>) = VariableAddress[(__range)] : -# 2168| r2168_13(glval>) = VariableAddress[ys] : -# 2168| r2168_14(vector &) = CopyValue : r2168_13 -# 2168| mu2168_15(vector &) = Store[(__range)] : &:r2168_12, r2168_14 -# 2168| r2168_16(glval) = VariableAddress[(__begin)] : -# 2168| r2168_17(glval &>) = VariableAddress[(__range)] : -# 2168| r2168_18(vector &) = Load[(__range)] : &:r2168_17, ~m? -#-----| r0_31(glval>) = CopyValue : r2168_18 -#-----| r0_32(glval>) = Convert : r0_31 -# 2168| r2168_19(glval) = FunctionAddress[begin] : -# 2168| r2168_20(iterator) = Call[begin] : func:r2168_19, this:r0_32 -# 2168| mu2168_21(unknown) = ^CallSideEffect : ~m? -#-----| v0_33(void) = ^IndirectReadSideEffect[-1] : &:r0_32, ~m? -# 2168| mu2168_22(iterator) = Store[(__begin)] : &:r2168_16, r2168_20 -# 2168| r2168_23(glval) = VariableAddress[(__end)] : -# 2168| r2168_24(glval &>) = VariableAddress[(__range)] : -# 2168| r2168_25(vector &) = Load[(__range)] : &:r2168_24, ~m? -#-----| r0_34(glval>) = CopyValue : r2168_25 -#-----| r0_35(glval>) = Convert : r0_34 -# 2168| r2168_26(glval) = FunctionAddress[end] : -# 2168| r2168_27(iterator) = Call[end] : func:r2168_26, this:r0_35 -# 2168| mu2168_28(unknown) = ^CallSideEffect : ~m? -#-----| v0_36(void) = ^IndirectReadSideEffect[-1] : &:r0_35, ~m? -# 2168| mu2168_29(iterator) = Store[(__end)] : &:r2168_23, r2168_27 -#-----| Goto -> Block 27 - -# 2168| Block 27 -# 2168| r2168_30(glval) = VariableAddress[(__begin)] : -#-----| r0_37(glval) = Convert : r2168_30 -# 2168| r2168_31(glval) = FunctionAddress[operator!=] : -# 2168| r2168_32(glval) = VariableAddress[(__end)] : -# 2168| r2168_33(iterator) = Load[(__end)] : &:r2168_32, ~m? -# 2168| r2168_34(bool) = Call[operator!=] : func:r2168_31, this:r0_37, 0:r2168_33 -# 2168| mu2168_35(unknown) = ^CallSideEffect : ~m? -#-----| v0_38(void) = ^IndirectReadSideEffect[-1] : &:r0_37, ~m? -# 2168| v2168_36(void) = ConditionalBranch : r2168_34 -#-----| False -> Block 30 -#-----| True -> Block 28 - -# 2168| Block 28 -# 2168| r2168_37(glval) = VariableAddress[y] : -# 2168| r2168_38(glval) = VariableAddress[(__begin)] : -#-----| r0_39(glval) = Convert : r2168_38 -# 2168| r2168_39(glval) = FunctionAddress[operator*] : -# 2168| r2168_40(ClassWithDestructor &) = Call[operator*] : func:r2168_39, this:r0_39 -# 2168| mu2168_41(unknown) = ^CallSideEffect : ~m? -#-----| v0_40(void) = ^IndirectReadSideEffect[-1] : &:r0_39, ~m? -# 2168| r2168_42(ClassWithDestructor) = Load[?] : &:r2168_40, ~m? -# 2168| mu2168_43(ClassWithDestructor) = Store[y] : &:r2168_37, r2168_42 -# 2169| r2169_1(glval) = VariableAddress[z1] : -# 2169| mu2169_2(ClassWithDestructor) = Uninitialized[z1] : &:r2169_1 -# 2169| r2169_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2169| v2169_4(void) = Call[ClassWithDestructor] : func:r2169_3, this:r2169_1 -# 2169| mu2169_5(unknown) = ^CallSideEffect : ~m? -# 2169| mu2169_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2169_1 -# 2170| r2170_1(glval) = VariableAddress[z2] : -# 2170| mu2170_2(ClassWithDestructor) = Uninitialized[z2] : &:r2170_1 -# 2170| r2170_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2170| v2170_4(void) = Call[ClassWithDestructor] : func:r2170_3, this:r2170_1 -# 2170| mu2170_5(unknown) = ^CallSideEffect : ~m? -# 2170| mu2170_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2170_1 -# 2171| r2171_1(glval) = VariableAddress[z2] : -# 2171| r2171_2(glval) = FunctionAddress[~ClassWithDestructor] : -# 2171| v2171_3(void) = Call[~ClassWithDestructor] : func:r2171_2, this:r2171_1 -# 2171| mu2171_4(unknown) = ^CallSideEffect : ~m? -# 2171| v2171_5(void) = ^IndirectReadSideEffect[-1] : &:r2171_1, ~m? -# 2171| mu2171_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2171_1 -# 2171| r2171_7(glval) = VariableAddress[z1] : -# 2171| r2171_8(glval) = FunctionAddress[~ClassWithDestructor] : -# 2171| v2171_9(void) = Call[~ClassWithDestructor] : func:r2171_8, this:r2171_7 -# 2171| mu2171_10(unknown) = ^CallSideEffect : ~m? -# 2171| v2171_11(void) = ^IndirectReadSideEffect[-1] : &:r2171_7, ~m? -# 2171| mu2171_12(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2171_7 -# 2168| r2168_44(glval) = VariableAddress[y] : -# 2168| r2168_45(glval) = FunctionAddress[~ClassWithDestructor] : -# 2168| v2168_46(void) = Call[~ClassWithDestructor] : func:r2168_45, this:r2168_44 -# 2168| mu2168_47(unknown) = ^CallSideEffect : ~m? -# 2168| v2168_48(void) = ^IndirectReadSideEffect[-1] : &:r2168_44, ~m? -# 2168| mu2168_49(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2168_44 -# 2168| r2168_50(glval) = VariableAddress[(__begin)] : -# 2168| r2168_51(glval) = FunctionAddress[operator++] : -# 2168| r2168_52(iterator &) = Call[operator++] : func:r2168_51, this:r2168_50 -# 2168| mu2168_53(unknown) = ^CallSideEffect : ~m? -# 2168| v2168_54(void) = ^IndirectReadSideEffect[-1] : &:r2168_50, ~m? -# 2168| mu2168_55(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2168_50 -# 2168| r2168_56(glval) = CopyValue : r2168_52 -#-----| Goto (back edge) -> Block 27 - -# 2168| Block 29 -# 2168| r2168_57(glval>) = VariableAddress[ys] : -# 2168| r2168_58(glval) = FunctionAddress[~vector] : -# 2168| v2168_59(void) = Call[~vector] : func:r2168_58, this:r2168_57 -# 2168| mu2168_60(unknown) = ^CallSideEffect : ~m? -# 2168| v2168_61(void) = ^IndirectReadSideEffect[-1] : &:r2168_57, ~m? -# 2168| mu2168_62(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2168_57 -#-----| Goto -> Block 30 - -# 2172| Block 30 -# 2172| v2172_13(void) = NoOp : -# 2172| r2172_14(glval) = VariableAddress[x] : -# 2172| r2172_15(glval) = FunctionAddress[~ClassWithDestructor] : -# 2172| v2172_16(void) = Call[~ClassWithDestructor] : func:r2172_15, this:r2172_14 -# 2172| mu2172_17(unknown) = ^CallSideEffect : ~m? -# 2172| v2172_18(void) = ^IndirectReadSideEffect[-1] : &:r2172_14, ~m? -# 2172| mu2172_19(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2172_14 -#-----| Goto -> Block 1 - -# 2174| void static_variable_with_destructor_1() -# 2174| Block 0 -# 2174| v2174_1(void) = EnterFunction : -# 2174| mu2174_2(unknown) = AliasedDefinition : -# 2174| mu2174_3(unknown) = InitializeNonLocal : -# 2175| r2175_1(glval) = VariableAddress[a] : -# 2175| mu2175_2(ClassWithDestructor) = Uninitialized[a] : &:r2175_1 -# 2175| r2175_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2175| v2175_4(void) = Call[ClassWithDestructor] : func:r2175_3, this:r2175_1 -# 2175| mu2175_5(unknown) = ^CallSideEffect : ~m? -# 2175| mu2175_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2175_1 -# 2176| r2176_1(glval) = VariableAddress[b#init] : -# 2176| r2176_2(bool) = Load[b#init] : &:r2176_1, ~m? -# 2176| v2176_3(void) = ConditionalBranch : r2176_2 -#-----| False -> Block 1 -#-----| True -> Block 2 - -# 2176| Block 1 -# 2176| r2176_4(glval) = VariableAddress[b] : -#-----| r0_1(glval) = FunctionAddress[ClassWithDestructor] : -#-----| v0_2(void) = Call[ClassWithDestructor] : func:r0_1, this:r2176_4 -#-----| mu0_3(unknown) = ^CallSideEffect : ~m? -#-----| mu0_4(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2176_4 -# 2176| r2176_5(bool) = Constant[1] : -# 2176| mu2176_6(bool) = Store[b#init] : &:r2176_1, r2176_5 -#-----| Goto -> Block 2 - -# 2177| Block 2 -# 2177| v2177_1(void) = NoOp : -# 2177| r2177_2(glval) = VariableAddress[a] : -# 2177| r2177_3(glval) = FunctionAddress[~ClassWithDestructor] : -# 2177| v2177_4(void) = Call[~ClassWithDestructor] : func:r2177_3, this:r2177_2 -# 2177| mu2177_5(unknown) = ^CallSideEffect : ~m? -# 2177| v2177_6(void) = ^IndirectReadSideEffect[-1] : &:r2177_2, ~m? -# 2177| mu2177_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2177_2 -# 2174| v2174_4(void) = ReturnVoid : -# 2174| v2174_5(void) = AliasedUse : ~m? -# 2174| v2174_6(void) = ExitFunction : - -# 2179| void static_variable_with_destructor_2() +# 2179| char ClassWithDestructor::get_x() # 2179| Block 0 -# 2179| v2179_1(void) = EnterFunction : -# 2179| mu2179_2(unknown) = AliasedDefinition : -# 2179| mu2179_3(unknown) = InitializeNonLocal : -# 2180| r2180_1(glval) = VariableAddress[a#init] : -# 2180| r2180_2(bool) = Load[a#init] : &:r2180_1, ~m? -# 2180| v2180_3(void) = ConditionalBranch : r2180_2 -#-----| False -> Block 1 -#-----| True -> Block 2 +# 2179| v2179_1(void) = EnterFunction : +# 2179| mu2179_2(unknown) = AliasedDefinition : +# 2179| mu2179_3(unknown) = InitializeNonLocal : +# 2179| r2179_4(glval) = VariableAddress[#this] : +# 2179| mu2179_5(glval) = InitializeParameter[#this] : &:r2179_4 +# 2179| r2179_6(glval) = Load[#this] : &:r2179_4, ~m? +# 2179| mu2179_7(ClassWithDestructor) = InitializeIndirection[#this] : &:r2179_6 +# 2179| r2179_8(glval) = VariableAddress[#return] : +# 2179| r2179_9(glval) = VariableAddress[#this] : +# 2179| r2179_10(ClassWithDestructor *) = Load[#this] : &:r2179_9, ~m? +# 2179| r2179_11(glval) = FieldAddress[x] : r2179_10 +# 2179| r2179_12(char *) = Load[?] : &:r2179_11, ~m? +# 2179| r2179_13(char) = Load[?] : &:r2179_12, ~m? +# 2179| mu2179_14(char) = Store[#return] : &:r2179_8, r2179_13 +# 2179| v2179_15(void) = ReturnIndirection[#this] : &:r2179_6, ~m? +# 2179| r2179_16(glval) = VariableAddress[#return] : +# 2179| v2179_17(void) = ReturnValue : &:r2179_16, ~m? +# 2179| v2179_18(void) = AliasedUse : ~m? +# 2179| v2179_19(void) = ExitFunction : -# 2180| Block 1 -# 2180| r2180_4(glval) = VariableAddress[a] : -#-----| r0_1(glval) = FunctionAddress[ClassWithDestructor] : -#-----| v0_2(void) = Call[ClassWithDestructor] : func:r0_1, this:r2180_4 -#-----| mu0_3(unknown) = ^CallSideEffect : ~m? -#-----| mu0_4(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2180_4 -# 2180| r2180_5(bool) = Constant[1] : -# 2180| mu2180_6(bool) = Store[a#init] : &:r2180_1, r2180_5 -#-----| Goto -> Block 2 +# 2182| bool initialization_with_destructor_bool +# 2182| Block 0 +# 2182| v2182_1(void) = EnterFunction : +# 2182| mu2182_2(unknown) = AliasedDefinition : +# 2182| r2182_3(glval) = VariableAddress[initialization_with_destructor_bool] : +# 2182| r2182_4(bool) = Constant[1] : +# 2182| mu2182_5(bool) = Store[initialization_with_destructor_bool] : &:r2182_3, r2182_4 +# 2182| v2182_6(void) = ReturnVoid : +# 2182| v2182_7(void) = AliasedUse : ~m? +# 2182| v2182_8(void) = ExitFunction : -# 2181| Block 2 -# 2181| r2181_1(glval) = VariableAddress[b] : -# 2181| mu2181_2(ClassWithDestructor) = Uninitialized[b] : &:r2181_1 -# 2181| r2181_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2181| v2181_4(void) = Call[ClassWithDestructor] : func:r2181_3, this:r2181_1 -# 2181| mu2181_5(unknown) = ^CallSideEffect : ~m? -# 2181| mu2181_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2181_1 -# 2182| v2182_1(void) = NoOp : -# 2182| r2182_2(glval) = VariableAddress[b] : -# 2182| r2182_3(glval) = FunctionAddress[~ClassWithDestructor] : -# 2182| v2182_4(void) = Call[~ClassWithDestructor] : func:r2182_3, this:r2182_2 -# 2182| mu2182_5(unknown) = ^CallSideEffect : ~m? -# 2182| v2182_6(void) = ^IndirectReadSideEffect[-1] : &:r2182_2, ~m? -# 2182| mu2182_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2182_2 -# 2179| v2179_4(void) = ReturnVoid : -# 2179| v2179_5(void) = AliasedUse : ~m? -# 2179| v2179_6(void) = ExitFunction : - -# 2184| void static_variable_with_destructor_3() +# 2184| void initialization_with_destructor(bool, char) # 2184| Block 0 # 2184| v2184_1(void) = EnterFunction : # 2184| mu2184_2(unknown) = AliasedDefinition : # 2184| mu2184_3(unknown) = InitializeNonLocal : -# 2185| r2185_1(glval) = VariableAddress[a] : -# 2185| mu2185_2(ClassWithDestructor) = Uninitialized[a] : &:r2185_1 +# 2184| r2184_4(glval) = VariableAddress[b] : +# 2184| mu2184_5(bool) = InitializeParameter[b] : &:r2184_4 +# 2184| r2184_6(glval) = VariableAddress[c] : +# 2184| mu2184_7(char) = InitializeParameter[c] : &:r2184_6 +# 2185| r2185_1(glval) = VariableAddress[x] : +# 2185| mu2185_2(ClassWithDestructor) = Uninitialized[x] : &:r2185_1 # 2185| r2185_3(glval) = FunctionAddress[ClassWithDestructor] : # 2185| v2185_4(void) = Call[ClassWithDestructor] : func:r2185_3, this:r2185_1 # 2185| mu2185_5(unknown) = ^CallSideEffect : ~m? # 2185| mu2185_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2185_1 -# 2186| r2186_1(glval) = VariableAddress[b] : -# 2186| mu2186_2(ClassWithDestructor) = Uninitialized[b] : &:r2186_1 -# 2186| r2186_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2186| v2186_4(void) = Call[ClassWithDestructor] : func:r2186_3, this:r2186_1 -# 2186| mu2186_5(unknown) = ^CallSideEffect : ~m? -# 2186| mu2186_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2186_1 -# 2187| r2187_1(glval) = VariableAddress[c#init] : -# 2187| r2187_2(bool) = Load[c#init] : &:r2187_1, ~m? -# 2187| v2187_3(void) = ConditionalBranch : r2187_2 -#-----| False -> Block 1 -#-----| True -> Block 2 - -# 2187| Block 1 -# 2187| r2187_4(glval) = VariableAddress[c] : -#-----| r0_1(glval) = FunctionAddress[ClassWithDestructor] : -#-----| v0_2(void) = Call[ClassWithDestructor] : func:r0_1, this:r2187_4 -#-----| mu0_3(unknown) = ^CallSideEffect : ~m? -#-----| mu0_4(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2187_4 -# 2187| r2187_5(bool) = Constant[1] : -# 2187| mu2187_6(bool) = Store[c#init] : &:r2187_1, r2187_5 -#-----| Goto -> Block 2 - -# 2188| Block 2 -# 2188| v2188_1(void) = NoOp : -# 2188| r2188_2(glval) = VariableAddress[b] : -# 2188| r2188_3(glval) = FunctionAddress[~ClassWithDestructor] : -# 2188| v2188_4(void) = Call[~ClassWithDestructor] : func:r2188_3, this:r2188_2 -# 2188| mu2188_5(unknown) = ^CallSideEffect : ~m? -# 2188| v2188_6(void) = ^IndirectReadSideEffect[-1] : &:r2188_2, ~m? -# 2188| mu2188_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2188_2 -# 2188| r2188_8(glval) = VariableAddress[a] : -# 2188| r2188_9(glval) = FunctionAddress[~ClassWithDestructor] : -# 2188| v2188_10(void) = Call[~ClassWithDestructor] : func:r2188_9, this:r2188_8 -# 2188| mu2188_11(unknown) = ^CallSideEffect : ~m? -# 2188| v2188_12(void) = ^IndirectReadSideEffect[-1] : &:r2188_8, ~m? -# 2188| mu2188_13(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2188_8 -# 2184| v2184_4(void) = ReturnVoid : -# 2184| v2184_5(void) = AliasedUse : ~m? -# 2184| v2184_6(void) = ExitFunction : - -# 2190| ClassWithDestructor global_class_with_destructor -# 2190| Block 0 -# 2190| v2190_1(void) = EnterFunction : -# 2190| mu2190_2(unknown) = AliasedDefinition : -# 2190| r2190_3(glval) = VariableAddress[global_class_with_destructor] : -# 2190| r2190_4(glval) = FunctionAddress[ClassWithDestructor] : -# 2190| v2190_5(void) = Call[ClassWithDestructor] : func:r2190_4, this:r2190_3 -# 2190| mu2190_6(unknown) = ^CallSideEffect : ~m? -# 2190| mu2190_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2190_3 -# 2190| v2190_8(void) = ReturnVoid : -# 2190| v2190_9(void) = AliasedUse : ~m? -# 2190| v2190_10(void) = ExitFunction : - -# 2194| ClassWithDestructor& vacuous_destructor_call::get(ClassWithDestructor&) -# 2194| Block 0 -# 2194| v2194_1(void) = EnterFunction : -# 2194| mu2194_2(unknown) = AliasedDefinition : -# 2194| mu2194_3(unknown) = InitializeNonLocal : -# 2194| r2194_4(glval) = VariableAddress[t] : -# 2194| mu2194_5(ClassWithDestructor &) = InitializeParameter[t] : &:r2194_4 -# 2194| r2194_6(ClassWithDestructor &) = Load[t] : &:r2194_4, ~m? -# 2194| mu2194_7(unknown) = InitializeIndirection[t] : &:r2194_6 -# 2194| r2194_8(glval) = VariableAddress[#return] : -# 2194| r2194_9(glval) = VariableAddress[t] : -# 2194| r2194_10(ClassWithDestructor &) = Load[t] : &:r2194_9, ~m? -# 2194| r2194_11(glval) = CopyValue : r2194_10 -# 2194| r2194_12(ClassWithDestructor &) = CopyValue : r2194_11 -# 2194| mu2194_13(ClassWithDestructor &) = Store[#return] : &:r2194_8, r2194_12 -# 2194| v2194_14(void) = ReturnIndirection[t] : &:r2194_6, ~m? -# 2194| r2194_15(glval) = VariableAddress[#return] : -# 2194| v2194_16(void) = ReturnValue : &:r2194_15, ~m? -# 2194| v2194_17(void) = AliasedUse : ~m? -# 2194| v2194_18(void) = ExitFunction : - -# 2194| int& vacuous_destructor_call::get(int&) -# 2194| Block 0 -# 2194| v2194_1(void) = EnterFunction : -# 2194| mu2194_2(unknown) = AliasedDefinition : -# 2194| mu2194_3(unknown) = InitializeNonLocal : -# 2194| r2194_4(glval) = VariableAddress[t] : -# 2194| mu2194_5(int &) = InitializeParameter[t] : &:r2194_4 -# 2194| r2194_6(int &) = Load[t] : &:r2194_4, ~m? -# 2194| mu2194_7(unknown) = InitializeIndirection[t] : &:r2194_6 -# 2194| r2194_8(glval) = VariableAddress[#return] : -# 2194| r2194_9(glval) = VariableAddress[t] : -# 2194| r2194_10(int &) = Load[t] : &:r2194_9, ~m? -# 2194| r2194_11(glval) = CopyValue : r2194_10 -# 2194| r2194_12(int &) = CopyValue : r2194_11 -# 2194| mu2194_13(int &) = Store[#return] : &:r2194_8, r2194_12 -# 2194| v2194_14(void) = ReturnIndirection[t] : &:r2194_6, ~m? -# 2194| r2194_15(glval) = VariableAddress[#return] : -# 2194| v2194_16(void) = ReturnValue : &:r2194_15, ~m? -# 2194| v2194_17(void) = AliasedUse : ~m? -# 2194| v2194_18(void) = ExitFunction : - -# 2197| void vacuous_destructor_call::call_destructor(ClassWithDestructor&) -# 2197| Block 0 -# 2197| v2197_1(void) = EnterFunction : -# 2197| mu2197_2(unknown) = AliasedDefinition : -# 2197| mu2197_3(unknown) = InitializeNonLocal : -# 2197| r2197_4(glval) = VariableAddress[t] : -# 2197| mu2197_5(ClassWithDestructor &) = InitializeParameter[t] : &:r2197_4 -# 2197| r2197_6(ClassWithDestructor &) = Load[t] : &:r2197_4, ~m? -# 2197| mu2197_7(unknown) = InitializeIndirection[t] : &:r2197_6 -# 2198| r2198_1(glval) = FunctionAddress[get] : -# 2198| r2198_2(glval) = VariableAddress[t] : -# 2198| r2198_3(ClassWithDestructor &) = Load[t] : &:r2198_2, ~m? -# 2198| r2198_4(glval) = CopyValue : r2198_3 -# 2198| r2198_5(ClassWithDestructor &) = CopyValue : r2198_4 -# 2198| r2198_6(ClassWithDestructor &) = Call[get] : func:r2198_1, 0:r2198_5 -# 2198| mu2198_7(unknown) = ^CallSideEffect : ~m? -# 2198| v2198_8(void) = ^BufferReadSideEffect[0] : &:r2198_5, ~m? -# 2198| mu2198_9(unknown) = ^BufferMayWriteSideEffect[0] : &:r2198_5 -# 2198| r2198_10(glval) = CopyValue : r2198_6 -# 2198| r2198_11(glval) = FunctionAddress[~ClassWithDestructor] : -# 2198| v2198_12(void) = Call[~ClassWithDestructor] : func:r2198_11 -# 2198| mu2198_13(unknown) = ^CallSideEffect : ~m? -# 2198| v2198_14(void) = ^IndirectReadSideEffect[-1] : &:r2198_10, ~m? -# 2198| mu2198_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2198_10 -# 2199| v2199_1(void) = NoOp : -# 2197| v2197_8(void) = ReturnIndirection[t] : &:r2197_6, ~m? -# 2197| v2197_9(void) = ReturnVoid : -# 2197| v2197_10(void) = AliasedUse : ~m? -# 2197| v2197_11(void) = ExitFunction : - -# 2197| void vacuous_destructor_call::call_destructor(int&) -# 2197| Block 0 -# 2197| v2197_1(void) = EnterFunction : -# 2197| mu2197_2(unknown) = AliasedDefinition : -# 2197| mu2197_3(unknown) = InitializeNonLocal : -# 2197| r2197_4(glval) = VariableAddress[t] : -# 2197| mu2197_5(int &) = InitializeParameter[t] : &:r2197_4 -# 2197| r2197_6(int &) = Load[t] : &:r2197_4, ~m? -# 2197| mu2197_7(unknown) = InitializeIndirection[t] : &:r2197_6 -# 2198| r2198_1(glval) = FunctionAddress[get] : -# 2198| r2198_2(glval) = VariableAddress[t] : -# 2198| r2198_3(int &) = Load[t] : &:r2198_2, ~m? -# 2198| r2198_4(glval) = CopyValue : r2198_3 -# 2198| r2198_5(int &) = CopyValue : r2198_4 -# 2198| r2198_6(int &) = Call[get] : func:r2198_1, 0:r2198_5 -# 2198| mu2198_7(unknown) = ^CallSideEffect : ~m? -# 2198| v2198_8(void) = ^BufferReadSideEffect[0] : &:r2198_5, ~m? -# 2198| mu2198_9(unknown) = ^BufferMayWriteSideEffect[0] : &:r2198_5 -# 2198| r2198_10(glval) = CopyValue : r2198_6 -# 2199| v2199_1(void) = NoOp : -# 2197| v2197_8(void) = ReturnIndirection[t] : &:r2197_6, ~m? -# 2197| v2197_9(void) = ReturnVoid : -# 2197| v2197_10(void) = AliasedUse : ~m? -# 2197| v2197_11(void) = ExitFunction : - -# 2201| void vacuous_destructor_call::non_vacuous_destructor_call() -# 2201| Block 0 -# 2201| v2201_1(void) = EnterFunction : -# 2201| mu2201_2(unknown) = AliasedDefinition : -# 2201| mu2201_3(unknown) = InitializeNonLocal : -# 2202| r2202_1(glval) = VariableAddress[c] : -# 2202| mu2202_2(ClassWithDestructor) = Uninitialized[c] : &:r2202_1 -# 2202| r2202_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2202| v2202_4(void) = Call[ClassWithDestructor] : func:r2202_3, this:r2202_1 -# 2202| mu2202_5(unknown) = ^CallSideEffect : ~m? -# 2202| mu2202_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2202_1 -# 2203| r2203_1(glval) = FunctionAddress[call_destructor] : -# 2203| r2203_2(glval) = VariableAddress[c] : -# 2203| r2203_3(ClassWithDestructor &) = CopyValue : r2203_2 -# 2203| v2203_4(void) = Call[call_destructor] : func:r2203_1, 0:r2203_3 -# 2203| mu2203_5(unknown) = ^CallSideEffect : ~m? -# 2203| v2203_6(void) = ^BufferReadSideEffect[0] : &:r2203_3, ~m? -# 2203| mu2203_7(unknown) = ^BufferMayWriteSideEffect[0] : &:r2203_3 -# 2204| v2204_1(void) = NoOp : -# 2204| r2204_2(glval) = VariableAddress[c] : -# 2204| r2204_3(glval) = FunctionAddress[~ClassWithDestructor] : -# 2204| v2204_4(void) = Call[~ClassWithDestructor] : func:r2204_3, this:r2204_2 -# 2204| mu2204_5(unknown) = ^CallSideEffect : ~m? -# 2204| v2204_6(void) = ^IndirectReadSideEffect[-1] : &:r2204_2, ~m? -# 2204| mu2204_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2204_2 -# 2201| v2201_4(void) = ReturnVoid : -# 2201| v2201_5(void) = AliasedUse : ~m? -# 2201| v2201_6(void) = ExitFunction : - -# 2206| void vacuous_destructor_call::vacuous_destructor_call() -# 2206| Block 0 -# 2206| v2206_1(void) = EnterFunction : -# 2206| mu2206_2(unknown) = AliasedDefinition : -# 2206| mu2206_3(unknown) = InitializeNonLocal : -# 2207| r2207_1(glval) = VariableAddress[i] : -# 2207| mu2207_2(int) = Uninitialized[i] : &:r2207_1 -# 2208| r2208_1(glval) = FunctionAddress[call_destructor] : -# 2208| r2208_2(glval) = VariableAddress[i] : -# 2208| r2208_3(int &) = CopyValue : r2208_2 -# 2208| v2208_4(void) = Call[call_destructor] : func:r2208_1, 0:r2208_3 -# 2208| mu2208_5(unknown) = ^CallSideEffect : ~m? -# 2208| v2208_6(void) = ^BufferReadSideEffect[0] : &:r2208_3, ~m? -# 2208| mu2208_7(unknown) = ^BufferMayWriteSideEffect[0] : &:r2208_3 -# 2209| v2209_1(void) = NoOp : -# 2206| v2206_4(void) = ReturnVoid : -# 2206| v2206_5(void) = AliasedUse : ~m? -# 2206| v2206_6(void) = ExitFunction : - -# 2212| void TryCatchDestructors(bool) -# 2212| Block 0 -# 2212| v2212_1(void) = EnterFunction : -# 2212| mu2212_2(unknown) = AliasedDefinition : -# 2212| mu2212_3(unknown) = InitializeNonLocal : -# 2212| r2212_4(glval) = VariableAddress[b] : -# 2212| mu2212_5(bool) = InitializeParameter[b] : &:r2212_4 -# 2214| r2214_1(glval) = VariableAddress[s] : -# 2214| mu2214_2(String) = Uninitialized[s] : &:r2214_1 -# 2214| r2214_3(glval) = FunctionAddress[String] : -# 2214| v2214_4(void) = Call[String] : func:r2214_3, this:r2214_1 -# 2214| mu2214_5(unknown) = ^CallSideEffect : ~m? -# 2214| mu2214_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2214_1 -# 2215| r2215_1(glval) = VariableAddress[b] : -# 2215| r2215_2(bool) = Load[b] : &:r2215_1, ~m? -# 2215| v2215_3(void) = ConditionalBranch : r2215_2 -#-----| False -> Block 4 -#-----| True -> Block 3 - -# 2212| Block 1 -# 2212| v2212_6(void) = AliasedUse : ~m? -# 2212| v2212_7(void) = ExitFunction : - -# 2212| Block 2 -# 2212| v2212_8(void) = Unwind : -#-----| Goto -> Block 1 - -# 2216| Block 3 -# 2216| r2216_1(glval) = VariableAddress[#throw2216:7] : -# 2216| r2216_2(glval) = StringConstant["string literal"] : -# 2216| r2216_3(char *) = Convert : r2216_2 -# 2216| mu2216_4(char *) = Store[#throw2216:7] : &:r2216_1, r2216_3 -# 2216| v2216_5(void) = ThrowValue : &:r2216_1, ~m? -#-----| Exception -> Block 5 - -# 2218| Block 4 -# 2218| r2218_1(glval) = VariableAddress[s2] : -# 2218| mu2218_2(String) = Uninitialized[s2] : &:r2218_1 -# 2218| r2218_3(glval) = FunctionAddress[String] : -# 2218| v2218_4(void) = Call[String] : func:r2218_3, this:r2218_1 -# 2218| mu2218_5(unknown) = ^CallSideEffect : ~m? -# 2218| mu2218_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2218_1 -# 2219| r2219_1(glval) = VariableAddress[s2] : -# 2219| r2219_2(glval) = FunctionAddress[~String] : -# 2219| v2219_3(void) = Call[~String] : func:r2219_2, this:r2219_1 -# 2219| mu2219_4(unknown) = ^CallSideEffect : ~m? -# 2219| v2219_5(void) = ^IndirectReadSideEffect[-1] : &:r2219_1, ~m? -# 2219| mu2219_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2219_1 -# 2219| r2219_7(glval) = VariableAddress[s] : -# 2219| r2219_8(glval) = FunctionAddress[~String] : -# 2219| v2219_9(void) = Call[~String] : func:r2219_8, this:r2219_7 -# 2219| mu2219_10(unknown) = ^CallSideEffect : ~m? -# 2219| v2219_11(void) = ^IndirectReadSideEffect[-1] : &:r2219_7, ~m? -# 2219| mu2219_12(String) = ^IndirectMayWriteSideEffect[-1] : &:r2219_7 -#-----| Goto -> Block 10 - -# 2220| Block 5 -# 2220| v2220_1(void) = CatchByType[const char *] : -#-----| Exception -> Block 7 -#-----| Goto -> Block 6 - -# 2220| Block 6 -# 2220| r2220_2(glval) = VariableAddress[s] : -# 2220| mu2220_3(char *) = InitializeParameter[s] : &:r2220_2 -# 2220| r2220_4(char *) = Load[s] : &:r2220_2, ~m? -# 2220| mu2220_5(unknown) = InitializeIndirection[s] : &:r2220_4 -# 2221| r2221_1(glval) = VariableAddress[#throw2221:5] : -# 2221| mu2221_2(String) = Uninitialized[#throw2221:5] : &:r2221_1 -# 2221| r2221_3(glval) = FunctionAddress[String] : -# 2221| r2221_4(glval) = VariableAddress[s] : -# 2221| r2221_5(char *) = Load[s] : &:r2221_4, ~m? -# 2221| v2221_6(void) = Call[String] : func:r2221_3, this:r2221_1, 0:r2221_5 -# 2221| mu2221_7(unknown) = ^CallSideEffect : ~m? -# 2221| v2221_8(void) = ^BufferReadSideEffect[0] : &:r2221_5, ~m? -# 2221| mu2221_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r2221_1 -# 2221| v2221_10(void) = ThrowValue : &:r2221_1, ~m? -#-----| Exception -> Block 2 - -# 2223| Block 7 -# 2223| v2223_1(void) = CatchByType[const String &] : -#-----| Exception -> Block 9 -#-----| Goto -> Block 8 - -# 2223| Block 8 -# 2223| r2223_2(glval) = VariableAddress[e] : -# 2223| mu2223_3(String &) = InitializeParameter[e] : &:r2223_2 -# 2223| r2223_4(String &) = Load[e] : &:r2223_2, ~m? -# 2223| mu2223_5(unknown) = InitializeIndirection[e] : &:r2223_4 -# 2223| v2223_6(void) = NoOp : -#-----| Goto -> Block 10 - -# 2225| Block 9 -# 2225| v2225_1(void) = CatchAny : -# 2226| v2226_1(void) = ReThrow : -#-----| Exception -> Block 2 - -# 2228| Block 10 -# 2228| v2228_1(void) = NoOp : -# 2212| v2212_9(void) = ReturnVoid : -#-----| Goto -> Block 1 - -# 2230| void IfDestructors(bool) -# 2230| Block 0 -# 2230| v2230_1(void) = EnterFunction : -# 2230| mu2230_2(unknown) = AliasedDefinition : -# 2230| mu2230_3(unknown) = InitializeNonLocal : -# 2230| r2230_4(glval) = VariableAddress[b] : -# 2230| mu2230_5(bool) = InitializeParameter[b] : &:r2230_4 -# 2231| r2231_1(glval) = VariableAddress[s1] : -# 2231| mu2231_2(String) = Uninitialized[s1] : &:r2231_1 -# 2231| r2231_3(glval) = FunctionAddress[String] : -# 2231| v2231_4(void) = Call[String] : func:r2231_3, this:r2231_1 -# 2231| mu2231_5(unknown) = ^CallSideEffect : ~m? -# 2231| mu2231_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2231_1 -# 2232| r2232_1(glval) = VariableAddress[b] : -# 2232| r2232_2(bool) = Load[b] : &:r2232_1, ~m? -# 2232| v2232_3(void) = ConditionalBranch : r2232_2 -#-----| False -> Block 2 -#-----| True -> Block 1 - -# 2233| Block 1 -# 2233| r2233_1(glval) = VariableAddress[s2] : -# 2233| mu2233_2(String) = Uninitialized[s2] : &:r2233_1 -# 2233| r2233_3(glval) = FunctionAddress[String] : -# 2233| v2233_4(void) = Call[String] : func:r2233_3, this:r2233_1 -# 2233| mu2233_5(unknown) = ^CallSideEffect : ~m? -# 2233| mu2233_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2233_1 -# 2234| r2234_1(glval) = VariableAddress[s2] : -# 2234| r2234_2(glval) = FunctionAddress[~String] : -# 2234| v2234_3(void) = Call[~String] : func:r2234_2, this:r2234_1 -# 2234| mu2234_4(unknown) = ^CallSideEffect : ~m? -# 2234| v2234_5(void) = ^IndirectReadSideEffect[-1] : &:r2234_1, ~m? -# 2234| mu2234_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2234_1 -#-----| Goto -> Block 3 - -# 2235| Block 2 -# 2235| r2235_1(glval) = VariableAddress[s3] : -# 2235| mu2235_2(String) = Uninitialized[s3] : &:r2235_1 -# 2235| r2235_3(glval) = FunctionAddress[String] : -# 2235| v2235_4(void) = Call[String] : func:r2235_3, this:r2235_1 -# 2235| mu2235_5(unknown) = ^CallSideEffect : ~m? -# 2235| mu2235_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2235_1 -# 2236| r2236_1(glval) = VariableAddress[s3] : -# 2236| r2236_2(glval) = FunctionAddress[~String] : -# 2236| v2236_3(void) = Call[~String] : func:r2236_2, this:r2236_1 -# 2236| mu2236_4(unknown) = ^CallSideEffect : ~m? -# 2236| v2236_5(void) = ^IndirectReadSideEffect[-1] : &:r2236_1, ~m? -# 2236| mu2236_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2236_1 -#-----| Goto -> Block 3 - -# 2237| Block 3 -# 2237| r2237_1(glval) = VariableAddress[s4] : -# 2237| mu2237_2(String) = Uninitialized[s4] : &:r2237_1 -# 2237| r2237_3(glval) = FunctionAddress[String] : -# 2237| v2237_4(void) = Call[String] : func:r2237_3, this:r2237_1 -# 2237| mu2237_5(unknown) = ^CallSideEffect : ~m? -# 2237| mu2237_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2237_1 -# 2238| v2238_1(void) = NoOp : -# 2238| r2238_2(glval) = VariableAddress[s4] : -# 2238| r2238_3(glval) = FunctionAddress[~String] : -# 2238| v2238_4(void) = Call[~String] : func:r2238_3, this:r2238_2 -# 2238| mu2238_5(unknown) = ^CallSideEffect : ~m? -# 2238| v2238_6(void) = ^IndirectReadSideEffect[-1] : &:r2238_2, ~m? -# 2238| mu2238_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2238_2 -# 2238| r2238_8(glval) = VariableAddress[s1] : -# 2238| r2238_9(glval) = FunctionAddress[~String] : -# 2238| v2238_10(void) = Call[~String] : func:r2238_9, this:r2238_8 -# 2238| mu2238_11(unknown) = ^CallSideEffect : ~m? -# 2238| v2238_12(void) = ^IndirectReadSideEffect[-1] : &:r2238_8, ~m? -# 2238| mu2238_13(String) = ^IndirectMayWriteSideEffect[-1] : &:r2238_8 -# 2230| v2230_6(void) = ReturnVoid : -# 2230| v2230_7(void) = AliasedUse : ~m? -# 2230| v2230_8(void) = ExitFunction : - -# 2240| void ForDestructors() -# 2240| Block 0 -# 2240| v2240_1(void) = EnterFunction : -# 2240| mu2240_2(unknown) = AliasedDefinition : -# 2240| mu2240_3(unknown) = InitializeNonLocal : -# 2241| r2241_1(glval) = VariableAddress[c] : -# 2241| r2241_2(char) = Constant[97] : -# 2241| mu2241_3(char) = Store[c] : &:r2241_1, r2241_2 -# 2242| r2242_1(glval) = VariableAddress[s] : -# 2242| mu2242_2(String) = Uninitialized[s] : &:r2242_1 -# 2242| r2242_3(glval) = FunctionAddress[String] : -# 2242| r2242_4(glval) = StringConstant["hello"] : -# 2242| r2242_5(char *) = Convert : r2242_4 -# 2242| v2242_6(void) = Call[String] : func:r2242_3, this:r2242_1, 0:r2242_5 -# 2242| mu2242_7(unknown) = ^CallSideEffect : ~m? -# 2242| v2242_8(void) = ^BufferReadSideEffect[0] : &:r2242_5, ~m? -# 2242| mu2242_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r2242_1 -#-----| Goto -> Block 1 - -# 2242| Block 1 -# 2242| r2242_10(glval) = VariableAddress[c] : -# 2242| r2242_11(char) = Load[c] : &:r2242_10, ~m? -# 2242| r2242_12(int) = Convert : r2242_11 -# 2242| r2242_13(int) = Constant[0] : -# 2242| r2242_14(bool) = CompareNE : r2242_12, r2242_13 -# 2242| v2242_15(void) = ConditionalBranch : r2242_14 +# 2185| r2185_7(glval) = VariableAddress[b] : +# 2185| r2185_8(bool) = Load[b] : &:r2185_7, ~m? +# 2185| v2185_9(void) = ConditionalBranch : r2185_8 #-----| False -> Block 3 #-----| True -> Block 2 -# 2243| Block 2 -# 2243| r2243_1(glval) = VariableAddress[s2] : -# 2243| mu2243_2(String) = Uninitialized[s2] : &:r2243_1 -# 2243| r2243_3(glval) = FunctionAddress[String] : -# 2243| v2243_4(void) = Call[String] : func:r2243_3, this:r2243_1 -# 2243| mu2243_5(unknown) = ^CallSideEffect : ~m? -# 2243| mu2243_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2243_1 -# 2244| r2244_1(glval) = VariableAddress[s2] : -# 2244| r2244_2(glval) = FunctionAddress[~String] : -# 2244| v2244_3(void) = Call[~String] : func:r2244_2, this:r2244_1 -# 2244| mu2244_4(unknown) = ^CallSideEffect : ~m? -# 2244| v2244_5(void) = ^IndirectReadSideEffect[-1] : &:r2244_1, ~m? -# 2244| mu2244_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2244_1 -# 2242| r2242_16(glval) = VariableAddress[s] : -# 2242| r2242_17(glval) = FunctionAddress[pop_back] : -# 2242| r2242_18(char) = Call[pop_back] : func:r2242_17, this:r2242_16 -# 2242| mu2242_19(unknown) = ^CallSideEffect : ~m? -# 2242| v2242_20(void) = ^IndirectReadSideEffect[-1] : &:r2242_16, ~m? -# 2242| mu2242_21(String) = ^IndirectMayWriteSideEffect[-1] : &:r2242_16 -# 2242| r2242_22(glval) = VariableAddress[c] : -# 2242| mu2242_23(char) = Store[c] : &:r2242_22, r2242_18 -#-----| Goto (back edge) -> Block 1 +# 2184| Block 1 +# 2184| v2184_8(void) = ReturnVoid : +# 2184| v2184_9(void) = AliasedUse : ~m? +# 2184| v2184_10(void) = ExitFunction : -# 2242| Block 3 -# 2242| r2242_24(glval) = VariableAddress[s] : -# 2242| r2242_25(glval) = FunctionAddress[~String] : -# 2242| v2242_26(void) = Call[~String] : func:r2242_25, this:r2242_24 -# 2242| mu2242_27(unknown) = ^CallSideEffect : ~m? -# 2242| v2242_28(void) = ^IndirectReadSideEffect[-1] : &:r2242_24, ~m? -# 2242| mu2242_29(String) = ^IndirectMayWriteSideEffect[-1] : &:r2242_24 -# 2246| r2246_1(glval &&>) = VariableAddress[(__range)] : -# 2246| r2246_2(glval>) = VariableAddress[#temp2246:20] : -# 2246| mu2246_3(vector) = Uninitialized[#temp2246:20] : &:r2246_2 -# 2246| r2246_4(glval) = FunctionAddress[vector] : -# 2246| r2246_5(glval) = VariableAddress[#temp2246:35] : -# 2246| mu2246_6(String) = Uninitialized[#temp2246:35] : &:r2246_5 -# 2246| r2246_7(glval) = FunctionAddress[String] : -# 2246| r2246_8(glval) = StringConstant["hello"] : -# 2246| r2246_9(char *) = Convert : r2246_8 -# 2246| v2246_10(void) = Call[String] : func:r2246_7, this:r2246_5, 0:r2246_9 -# 2246| mu2246_11(unknown) = ^CallSideEffect : ~m? -# 2246| v2246_12(void) = ^BufferReadSideEffect[0] : &:r2246_9, ~m? -# 2246| mu2246_13(String) = ^IndirectMayWriteSideEffect[-1] : &:r2246_5 -# 2246| r2246_14(String) = Load[#temp2246:35] : &:r2246_5, ~m? -# 2246| v2246_15(void) = Call[vector] : func:r2246_4, this:r2246_2, 0:r2246_14 -# 2246| mu2246_16(unknown) = ^CallSideEffect : ~m? -# 2246| mu2246_17(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2246_2 -# 2246| r2246_18(vector &) = CopyValue : r2246_2 -# 2246| mu2246_19(vector &&) = Store[(__range)] : &:r2246_1, r2246_18 -# 2246| r2246_20(glval) = VariableAddress[(__begin)] : -# 2246| r2246_21(glval &&>) = VariableAddress[(__range)] : -# 2246| r2246_22(vector &&) = Load[(__range)] : &:r2246_21, ~m? -#-----| r0_1(glval>) = CopyValue : r2246_22 -#-----| r0_2(glval>) = Convert : r0_1 -# 2246| r2246_23(glval) = FunctionAddress[begin] : -# 2246| r2246_24(iterator) = Call[begin] : func:r2246_23, this:r0_2 -# 2246| mu2246_25(unknown) = ^CallSideEffect : ~m? -#-----| v0_3(void) = ^IndirectReadSideEffect[-1] : &:r0_2, ~m? -# 2246| mu2246_26(iterator) = Store[(__begin)] : &:r2246_20, r2246_24 -# 2246| r2246_27(glval) = VariableAddress[(__end)] : -# 2246| r2246_28(glval &&>) = VariableAddress[(__range)] : -# 2246| r2246_29(vector &&) = Load[(__range)] : &:r2246_28, ~m? -#-----| r0_4(glval>) = CopyValue : r2246_29 -#-----| r0_5(glval>) = Convert : r0_4 -# 2246| r2246_30(glval) = FunctionAddress[end] : -# 2246| r2246_31(iterator) = Call[end] : func:r2246_30, this:r0_5 -# 2246| mu2246_32(unknown) = ^CallSideEffect : ~m? -#-----| v0_6(void) = ^IndirectReadSideEffect[-1] : &:r0_5, ~m? -# 2246| mu2246_33(iterator) = Store[(__end)] : &:r2246_27, r2246_31 -#-----| Goto -> Block 4 - -# 2246| Block 4 -# 2246| r2246_34(glval) = VariableAddress[(__begin)] : -#-----| r0_7(glval) = Convert : r2246_34 -# 2246| r2246_35(glval) = FunctionAddress[operator!=] : -# 2246| r2246_36(glval) = VariableAddress[(__end)] : -# 2246| r2246_37(iterator) = Load[(__end)] : &:r2246_36, ~m? -# 2246| r2246_38(bool) = Call[operator!=] : func:r2246_35, this:r0_7, 0:r2246_37 -# 2246| mu2246_39(unknown) = ^CallSideEffect : ~m? -#-----| v0_8(void) = ^IndirectReadSideEffect[-1] : &:r0_7, ~m? -# 2246| v2246_40(void) = ConditionalBranch : r2246_38 -#-----| False -> Block 6 -#-----| True -> Block 5 - -# 2246| Block 5 -# 2246| r2246_41(glval) = VariableAddress[s] : -# 2246| mu2246_42(String) = Uninitialized[s] : &:r2246_41 -# 2246| r2246_43(glval) = FunctionAddress[String] : -# 2246| r2246_44(glval) = VariableAddress[(__begin)] : -#-----| r0_9(glval) = Convert : r2246_44 -# 2246| r2246_45(glval) = FunctionAddress[operator*] : -# 2246| r2246_46(String &) = Call[operator*] : func:r2246_45, this:r0_9 -# 2246| mu2246_47(unknown) = ^CallSideEffect : ~m? -#-----| v0_10(void) = ^IndirectReadSideEffect[-1] : &:r0_9, ~m? -# 2246| r2246_48(glval) = CopyValue : r2246_46 -# 2246| r2246_49(glval) = Convert : r2246_48 -# 2246| r2246_50(String &) = CopyValue : r2246_49 -# 2246| v2246_51(void) = Call[String] : func:r2246_43, this:r2246_41, 0:r2246_50 -# 2246| mu2246_52(unknown) = ^CallSideEffect : ~m? -# 2246| v2246_53(void) = ^BufferReadSideEffect[0] : &:r2246_50, ~m? -# 2246| mu2246_54(String) = ^IndirectMayWriteSideEffect[-1] : &:r2246_41 -# 2247| r2247_1(glval) = VariableAddress[s2] : -# 2247| mu2247_2(String) = Uninitialized[s2] : &:r2247_1 -# 2247| r2247_3(glval) = FunctionAddress[String] : -# 2247| v2247_4(void) = Call[String] : func:r2247_3, this:r2247_1 -# 2247| mu2247_5(unknown) = ^CallSideEffect : ~m? -# 2247| mu2247_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2247_1 -# 2248| r2248_1(glval) = VariableAddress[s2] : -# 2248| r2248_2(glval) = FunctionAddress[~String] : -# 2248| v2248_3(void) = Call[~String] : func:r2248_2, this:r2248_1 -# 2248| mu2248_4(unknown) = ^CallSideEffect : ~m? -# 2248| v2248_5(void) = ^IndirectReadSideEffect[-1] : &:r2248_1, ~m? -# 2248| mu2248_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2248_1 -# 2246| r2246_55(glval) = VariableAddress[s] : -# 2246| r2246_56(glval) = FunctionAddress[~String] : -# 2246| v2246_57(void) = Call[~String] : func:r2246_56, this:r2246_55 -# 2246| mu2246_58(unknown) = ^CallSideEffect : ~m? -# 2246| v2246_59(void) = ^IndirectReadSideEffect[-1] : &:r2246_55, ~m? -# 2246| mu2246_60(String) = ^IndirectMayWriteSideEffect[-1] : &:r2246_55 -# 2246| r2246_61(glval) = VariableAddress[(__begin)] : -# 2246| r2246_62(glval) = FunctionAddress[operator++] : -# 2246| r2246_63(iterator &) = Call[operator++] : func:r2246_62, this:r2246_61 -# 2246| mu2246_64(unknown) = ^CallSideEffect : ~m? -# 2246| v2246_65(void) = ^IndirectReadSideEffect[-1] : &:r2246_61, ~m? -# 2246| mu2246_66(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2246_61 -# 2246| r2246_67(glval) = CopyValue : r2246_63 -#-----| Goto (back edge) -> Block 4 - -# 2250| Block 6 -# 2250| r2250_1(glval) = VariableAddress[s] : -# 2250| mu2250_2(String) = Uninitialized[s] : &:r2250_1 -# 2250| r2250_3(glval) = FunctionAddress[String] : -# 2250| r2250_4(glval) = StringConstant["hello"] : -# 2250| r2250_5(char *) = Convert : r2250_4 -# 2250| v2250_6(void) = Call[String] : func:r2250_3, this:r2250_1, 0:r2250_5 -# 2250| mu2250_7(unknown) = ^CallSideEffect : ~m? -# 2250| v2250_8(void) = ^BufferReadSideEffect[0] : &:r2250_5, ~m? -# 2250| mu2250_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r2250_1 -# 2250| r2250_10(glval) = VariableAddress[s2] : -# 2250| mu2250_11(String) = Uninitialized[s2] : &:r2250_10 -# 2250| r2250_12(glval) = FunctionAddress[String] : -# 2250| r2250_13(glval) = StringConstant["world"] : -# 2250| r2250_14(char *) = Convert : r2250_13 -# 2250| v2250_15(void) = Call[String] : func:r2250_12, this:r2250_10, 0:r2250_14 -# 2250| mu2250_16(unknown) = ^CallSideEffect : ~m? -# 2250| v2250_17(void) = ^BufferReadSideEffect[0] : &:r2250_14, ~m? -# 2250| mu2250_18(String) = ^IndirectMayWriteSideEffect[-1] : &:r2250_10 -#-----| Goto -> Block 7 - -# 2250| Block 7 -# 2250| r2250_19(glval) = VariableAddress[c] : -# 2250| r2250_20(char) = Load[c] : &:r2250_19, ~m? -# 2250| r2250_21(int) = Convert : r2250_20 -# 2250| r2250_22(int) = Constant[0] : -# 2250| r2250_23(bool) = CompareNE : r2250_21, r2250_22 -# 2250| v2250_24(void) = ConditionalBranch : r2250_23 -#-----| False -> Block 9 -#-----| True -> Block 8 - -# 2251| Block 8 -# 2251| r2251_1(char) = Constant[0] : -# 2251| r2251_2(glval) = VariableAddress[c] : -# 2251| mu2251_3(char) = Store[c] : &:r2251_2, r2251_1 -# 2250| r2250_25(glval) = VariableAddress[s] : -# 2250| r2250_26(glval) = FunctionAddress[pop_back] : -# 2250| r2250_27(char) = Call[pop_back] : func:r2250_26, this:r2250_25 -# 2250| mu2250_28(unknown) = ^CallSideEffect : ~m? -# 2250| v2250_29(void) = ^IndirectReadSideEffect[-1] : &:r2250_25, ~m? -# 2250| mu2250_30(String) = ^IndirectMayWriteSideEffect[-1] : &:r2250_25 -# 2250| r2250_31(glval) = VariableAddress[c] : -# 2250| mu2250_32(char) = Store[c] : &:r2250_31, r2250_27 -#-----| Goto (back edge) -> Block 7 - -# 2250| Block 9 -# 2250| r2250_33(glval) = VariableAddress[s2] : -# 2250| r2250_34(glval) = FunctionAddress[~String] : -# 2250| v2250_35(void) = Call[~String] : func:r2250_34, this:r2250_33 -# 2250| mu2250_36(unknown) = ^CallSideEffect : ~m? -# 2250| v2250_37(void) = ^IndirectReadSideEffect[-1] : &:r2250_33, ~m? -# 2250| mu2250_38(String) = ^IndirectMayWriteSideEffect[-1] : &:r2250_33 -# 2250| r2250_39(glval) = VariableAddress[s] : -# 2250| r2250_40(glval) = FunctionAddress[~String] : -# 2250| v2250_41(void) = Call[~String] : func:r2250_40, this:r2250_39 -# 2250| mu2250_42(unknown) = ^CallSideEffect : ~m? -# 2250| v2250_43(void) = ^IndirectReadSideEffect[-1] : &:r2250_39, ~m? -# 2250| mu2250_44(String) = ^IndirectMayWriteSideEffect[-1] : &:r2250_39 -# 2253| v2253_1(void) = NoOp : -# 2240| v2240_4(void) = ReturnVoid : -# 2240| v2240_5(void) = AliasedUse : ~m? -# 2240| v2240_6(void) = ExitFunction : - -# 2255| void IfDestructors2(bool) -# 2255| Block 0 -# 2255| v2255_1(void) = EnterFunction : -# 2255| mu2255_2(unknown) = AliasedDefinition : -# 2255| mu2255_3(unknown) = InitializeNonLocal : -# 2255| r2255_4(glval) = VariableAddress[b] : -# 2255| mu2255_5(bool) = InitializeParameter[b] : &:r2255_4 -# 2256| r2256_1(glval) = VariableAddress[s] : -# 2256| mu2256_2(String) = Uninitialized[s] : &:r2256_1 -# 2256| r2256_3(glval) = FunctionAddress[String] : -# 2256| r2256_4(glval) = StringConstant["hello"] : -# 2256| r2256_5(char *) = Convert : r2256_4 -# 2256| v2256_6(void) = Call[String] : func:r2256_3, this:r2256_1, 0:r2256_5 -# 2256| mu2256_7(unknown) = ^CallSideEffect : ~m? -# 2256| v2256_8(void) = ^BufferReadSideEffect[0] : &:r2256_5, ~m? -# 2256| mu2256_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r2256_1 -# 2256| r2256_10(glval) = VariableAddress[b] : -# 2256| r2256_11(bool) = Load[b] : &:r2256_10, ~m? -# 2256| v2256_12(void) = ConditionalBranch : r2256_11 -#-----| False -> Block 2 -#-----| True -> Block 1 - -# 2257| Block 1 -# 2257| r2257_1(glval) = VariableAddress[x] : -# 2257| r2257_2(int) = Constant[0] : -# 2257| mu2257_3(int) = Store[x] : &:r2257_1, r2257_2 +# 2186| Block 2 +# 2186| r2186_1(glval) = VariableAddress[x] : +# 2186| r2186_2(glval) = FunctionAddress[set_x] : +# 2186| r2186_3(char) = Constant[97] : +# 2186| v2186_4(void) = Call[set_x] : func:r2186_2, this:r2186_1, 0:r2186_3 +# 2186| mu2186_5(unknown) = ^CallSideEffect : ~m? +# 2186| v2186_6(void) = ^IndirectReadSideEffect[-1] : &:r2186_1, ~m? +# 2186| mu2186_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2186_1 +# 2186| r2186_8(glval) = VariableAddress[x] : +# 2186| r2186_9(glval) = FunctionAddress[~ClassWithDestructor] : +# 2186| v2186_10(void) = Call[~ClassWithDestructor] : func:r2186_9, this:r2186_8 +# 2186| mu2186_11(unknown) = ^CallSideEffect : ~m? +# 2186| v2186_12(void) = ^IndirectReadSideEffect[-1] : &:r2186_8, ~m? +# 2186| mu2186_13(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2186_8 #-----| Goto -> Block 3 +# 2188| Block 3 +# 2188| r2188_1(glval) = VariableAddress[x] : +# 2188| mu2188_2(ClassWithDestructor) = Uninitialized[x] : &:r2188_1 +# 2188| r2188_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2188| v2188_4(void) = Call[ClassWithDestructor] : func:r2188_3, this:r2188_1 +# 2188| mu2188_5(unknown) = ^CallSideEffect : ~m? +# 2188| mu2188_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2188_1 +# 2188| r2188_7(bool) = Constant[1] : +# 2188| v2188_8(void) = ConditionalBranch : r2188_7 +#-----| False -> Block 6 +#-----| True -> Block 4 + +# 2189| Block 4 +# 2189| r2189_1(glval) = VariableAddress[x] : +# 2189| r2189_2(glval) = FunctionAddress[set_x] : +# 2189| r2189_3(char) = Constant[97] : +# 2189| v2189_4(void) = Call[set_x] : func:r2189_2, this:r2189_1, 0:r2189_3 +# 2189| mu2189_5(unknown) = ^CallSideEffect : ~m? +# 2189| v2189_6(void) = ^IndirectReadSideEffect[-1] : &:r2189_1, ~m? +# 2189| mu2189_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2189_1 +#-----| Goto -> Block 6 + +# 2189| Block 5 +# 2189| r2189_8(glval) = VariableAddress[x] : +# 2189| r2189_9(glval) = FunctionAddress[~ClassWithDestructor] : +# 2189| v2189_10(void) = Call[~ClassWithDestructor] : func:r2189_9, this:r2189_8 +# 2189| mu2189_11(unknown) = ^CallSideEffect : ~m? +# 2189| v2189_12(void) = ^IndirectReadSideEffect[-1] : &:r2189_8, ~m? +# 2189| mu2189_13(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2189_8 +#-----| Goto -> Block 6 + +# 2191| Block 6 +# 2191| r2191_1(glval) = VariableAddress[x] : +# 2191| mu2191_2(ClassWithDestructor) = Uninitialized[x] : &:r2191_1 +# 2191| r2191_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2191| v2191_4(void) = Call[ClassWithDestructor] : func:r2191_3, this:r2191_1 +# 2191| mu2191_5(unknown) = ^CallSideEffect : ~m? +# 2191| mu2191_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2191_1 +# 2191| r2191_7(glval) = VariableAddress[c] : +# 2191| r2191_8(char) = Load[c] : &:r2191_7, ~m? +# 2191| r2191_9(int) = Convert : r2191_8 +# 2191| v2191_10(void) = Switch : r2191_9 +#-----| Case[97] -> Block 7 +#-----| Default -> Block 8 + +# 2192| Block 7 +# 2192| v2192_1(void) = NoOp : +# 2193| r2193_1(glval) = VariableAddress[x] : +# 2193| r2193_2(glval) = FunctionAddress[set_x] : +# 2193| r2193_3(char) = Constant[97] : +# 2193| v2193_4(void) = Call[set_x] : func:r2193_2, this:r2193_1, 0:r2193_3 +# 2193| mu2193_5(unknown) = ^CallSideEffect : ~m? +# 2193| v2193_6(void) = ^IndirectReadSideEffect[-1] : &:r2193_1, ~m? +# 2193| mu2193_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2193_1 +# 2194| v2194_1(void) = NoOp : +#-----| Goto -> Block 10 + +# 2195| Block 8 +# 2195| v2195_1(void) = NoOp : +# 2196| r2196_1(glval) = VariableAddress[x] : +# 2196| r2196_2(glval) = FunctionAddress[set_x] : +# 2196| r2196_3(char) = Constant[98] : +# 2196| v2196_4(void) = Call[set_x] : func:r2196_2, this:r2196_1, 0:r2196_3 +# 2196| mu2196_5(unknown) = ^CallSideEffect : ~m? +# 2196| v2196_6(void) = ^IndirectReadSideEffect[-1] : &:r2196_1, ~m? +# 2196| mu2196_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2196_1 +# 2197| v2197_1(void) = NoOp : +#-----| Goto -> Block 10 + +# 2198| Block 9 +# 2198| r2198_1(glval) = VariableAddress[x] : +# 2198| r2198_2(glval) = FunctionAddress[~ClassWithDestructor] : +# 2198| v2198_3(void) = Call[~ClassWithDestructor] : func:r2198_2, this:r2198_1 +# 2198| mu2198_4(unknown) = ^CallSideEffect : ~m? +# 2198| v2198_5(void) = ^IndirectReadSideEffect[-1] : &:r2198_1, ~m? +# 2198| mu2198_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2198_1 +#-----| Goto -> Block 10 + +# 2198| Block 10 +# 2198| v2198_7(void) = NoOp : +# 2200| r2200_1(glval) = VariableAddress[x] : +# 2200| mu2200_2(ClassWithDestructor) = Uninitialized[x] : &:r2200_1 +# 2200| r2200_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2200| v2200_4(void) = Call[ClassWithDestructor] : func:r2200_3, this:r2200_1 +# 2200| mu2200_5(unknown) = ^CallSideEffect : ~m? +# 2200| mu2200_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2200_1 +# 2201| r2201_1(glval>) = VariableAddress[ys] : +# 2201| mu2201_2(vector) = Uninitialized[ys] : &:r2201_1 +# 2201| r2201_3(glval) = FunctionAddress[vector] : +# 2201| r2201_4(glval) = VariableAddress[#temp2201:45] : +# 2201| r2201_5(glval) = VariableAddress[x] : +# 2201| r2201_6(ClassWithDestructor) = Load[x] : &:r2201_5, ~m? +# 2201| mu2201_7(ClassWithDestructor) = Store[#temp2201:45] : &:r2201_4, r2201_6 +# 2201| r2201_8(ClassWithDestructor) = Load[#temp2201:45] : &:r2201_4, ~m? +# 2201| v2201_9(void) = Call[vector] : func:r2201_3, this:r2201_1, 0:r2201_8 +# 2201| mu2201_10(unknown) = ^CallSideEffect : ~m? +# 2201| mu2201_11(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2201_1 +# 2201| r2201_12(glval &>) = VariableAddress[(__range)] : +# 2201| r2201_13(glval>) = VariableAddress[ys] : +# 2201| r2201_14(vector &) = CopyValue : r2201_13 +# 2201| mu2201_15(vector &) = Store[(__range)] : &:r2201_12, r2201_14 +# 2201| r2201_16(glval>) = VariableAddress[(__begin)] : +# 2201| r2201_17(glval &>) = VariableAddress[(__range)] : +# 2201| r2201_18(vector &) = Load[(__range)] : &:r2201_17, ~m? +#-----| r0_1(glval>) = CopyValue : r2201_18 +#-----| r0_2(glval>) = Convert : r0_1 +# 2201| r2201_19(glval) = FunctionAddress[begin] : +# 2201| r2201_20(iterator) = Call[begin] : func:r2201_19, this:r0_2 +#-----| v0_3(void) = ^IndirectReadSideEffect[-1] : &:r0_2, ~m? +# 2201| mu2201_21(iterator) = Store[(__begin)] : &:r2201_16, r2201_20 +# 2201| r2201_22(glval>) = VariableAddress[(__end)] : +# 2201| r2201_23(glval &>) = VariableAddress[(__range)] : +# 2201| r2201_24(vector &) = Load[(__range)] : &:r2201_23, ~m? +#-----| r0_4(glval>) = CopyValue : r2201_24 +#-----| r0_5(glval>) = Convert : r0_4 +# 2201| r2201_25(glval) = FunctionAddress[end] : +# 2201| r2201_26(iterator) = Call[end] : func:r2201_25, this:r0_5 +#-----| v0_6(void) = ^IndirectReadSideEffect[-1] : &:r0_5, ~m? +# 2201| mu2201_27(iterator) = Store[(__end)] : &:r2201_22, r2201_26 +#-----| Goto -> Block 11 + +# 2201| Block 11 +# 2201| r2201_28(glval>) = VariableAddress[(__begin)] : +#-----| r0_7(glval>) = Convert : r2201_28 +# 2201| r2201_29(glval) = FunctionAddress[operator!=] : +#-----| r0_8(glval>) = VariableAddress[#temp0:0] : +#-----| mu0_9(iterator) = Uninitialized[#temp0:0] : &:r0_8 +# 2201| r2201_30(glval) = FunctionAddress[iterator] : +# 2201| r2201_31(glval>) = VariableAddress[(__end)] : +#-----| r0_10(glval>) = Convert : r2201_31 +#-----| r0_11(iterator &) = CopyValue : r0_10 +# 2201| v2201_32(void) = Call[iterator] : func:r2201_30, this:r0_8, 0:r0_11 +# 2201| mu2201_33(unknown) = ^CallSideEffect : ~m? +#-----| v0_12(void) = ^BufferReadSideEffect[0] : &:r0_11, ~m? +# 2201| mu2201_34(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_8 +#-----| r0_13(iterator) = Load[#temp0:0] : &:r0_8, ~m? +# 2201| r2201_35(bool) = Call[operator!=] : func:r2201_29, this:r0_7, 0:r0_13 +# 2201| mu2201_36(unknown) = ^CallSideEffect : ~m? +#-----| v0_14(void) = ^IndirectReadSideEffect[-1] : &:r0_7, ~m? +# 2201| v2201_37(void) = ConditionalBranch : r2201_35 +#-----| False -> Block 14 +#-----| True -> Block 12 + +# 2201| Block 12 +# 2201| r2201_38(glval) = VariableAddress[y] : +# 2201| r2201_39(glval>) = VariableAddress[(__begin)] : +#-----| r0_15(glval>) = Convert : r2201_39 +# 2201| r2201_40(glval) = FunctionAddress[operator*] : +# 2201| r2201_41(ClassWithDestructor &) = Call[operator*] : func:r2201_40, this:r0_15 +# 2201| mu2201_42(unknown) = ^CallSideEffect : ~m? +#-----| v0_16(void) = ^IndirectReadSideEffect[-1] : &:r0_15, ~m? +# 2201| r2201_43(ClassWithDestructor) = Load[?] : &:r2201_41, ~m? +# 2201| mu2201_44(ClassWithDestructor) = Store[y] : &:r2201_38, r2201_43 +# 2202| r2202_1(glval) = VariableAddress[y] : +# 2202| r2202_2(glval) = FunctionAddress[set_x] : +# 2202| r2202_3(char) = Constant[97] : +# 2202| v2202_4(void) = Call[set_x] : func:r2202_2, this:r2202_1, 0:r2202_3 +# 2202| mu2202_5(unknown) = ^CallSideEffect : ~m? +# 2202| v2202_6(void) = ^IndirectReadSideEffect[-1] : &:r2202_1, ~m? +# 2202| mu2202_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2202_1 +# 2201| r2201_45(glval) = VariableAddress[y] : +# 2201| r2201_46(glval) = FunctionAddress[~ClassWithDestructor] : +# 2201| v2201_47(void) = Call[~ClassWithDestructor] : func:r2201_46, this:r2201_45 +# 2201| mu2201_48(unknown) = ^CallSideEffect : ~m? +# 2201| v2201_49(void) = ^IndirectReadSideEffect[-1] : &:r2201_45, ~m? +# 2201| mu2201_50(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2201_45 +# 2201| r2201_51(glval>) = VariableAddress[(__begin)] : +# 2201| r2201_52(glval) = FunctionAddress[operator++] : +# 2201| r2201_53(iterator &) = Call[operator++] : func:r2201_52, this:r2201_51 +# 2201| mu2201_54(unknown) = ^CallSideEffect : ~m? +# 2201| v2201_55(void) = ^IndirectReadSideEffect[-1] : &:r2201_51, ~m? +# 2201| mu2201_56(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2201_51 +# 2201| r2201_57(glval>) = CopyValue : r2201_53 +#-----| Goto (back edge) -> Block 11 + +# 2201| Block 13 +# 2201| r2201_58(glval>) = VariableAddress[ys] : +# 2201| r2201_59(glval) = FunctionAddress[~vector] : +# 2201| v2201_60(void) = Call[~vector] : func:r2201_59, this:r2201_58 +# 2201| mu2201_61(unknown) = ^CallSideEffect : ~m? +# 2201| v2201_62(void) = ^IndirectReadSideEffect[-1] : &:r2201_58, ~m? +# 2201| mu2201_63(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2201_58 +#-----| Goto -> Block 14 + +# 2204| Block 14 +# 2204| r2204_1(glval>) = VariableAddress[ys] : +# 2204| mu2204_2(vector) = Uninitialized[ys] : &:r2204_1 +# 2204| r2204_3(glval) = FunctionAddress[vector] : +# 2204| r2204_4(glval) = VariableAddress[#temp2204:45] : +# 2204| r2204_5(glval) = VariableAddress[x] : +# 2204| r2204_6(ClassWithDestructor) = Load[x] : &:r2204_5, ~m? +# 2204| mu2204_7(ClassWithDestructor) = Store[#temp2204:45] : &:r2204_4, r2204_6 +# 2204| r2204_8(ClassWithDestructor) = Load[#temp2204:45] : &:r2204_4, ~m? +# 2204| v2204_9(void) = Call[vector] : func:r2204_3, this:r2204_1, 0:r2204_8 +# 2204| mu2204_10(unknown) = ^CallSideEffect : ~m? +# 2204| mu2204_11(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2204_1 +# 2204| r2204_12(glval &>) = VariableAddress[(__range)] : +# 2204| r2204_13(glval>) = VariableAddress[ys] : +# 2204| r2204_14(vector &) = CopyValue : r2204_13 +# 2204| mu2204_15(vector &) = Store[(__range)] : &:r2204_12, r2204_14 +# 2204| r2204_16(glval>) = VariableAddress[(__begin)] : +# 2204| r2204_17(glval &>) = VariableAddress[(__range)] : +# 2204| r2204_18(vector &) = Load[(__range)] : &:r2204_17, ~m? +#-----| r0_17(glval>) = CopyValue : r2204_18 +#-----| r0_18(glval>) = Convert : r0_17 +# 2204| r2204_19(glval) = FunctionAddress[begin] : +# 2204| r2204_20(iterator) = Call[begin] : func:r2204_19, this:r0_18 +#-----| v0_19(void) = ^IndirectReadSideEffect[-1] : &:r0_18, ~m? +# 2204| mu2204_21(iterator) = Store[(__begin)] : &:r2204_16, r2204_20 +# 2204| r2204_22(glval>) = VariableAddress[(__end)] : +# 2204| r2204_23(glval &>) = VariableAddress[(__range)] : +# 2204| r2204_24(vector &) = Load[(__range)] : &:r2204_23, ~m? +#-----| r0_20(glval>) = CopyValue : r2204_24 +#-----| r0_21(glval>) = Convert : r0_20 +# 2204| r2204_25(glval) = FunctionAddress[end] : +# 2204| r2204_26(iterator) = Call[end] : func:r2204_25, this:r0_21 +#-----| v0_22(void) = ^IndirectReadSideEffect[-1] : &:r0_21, ~m? +# 2204| mu2204_27(iterator) = Store[(__end)] : &:r2204_22, r2204_26 +#-----| Goto -> Block 15 + +# 2204| Block 15 +# 2204| r2204_28(glval>) = VariableAddress[(__begin)] : +#-----| r0_23(glval>) = Convert : r2204_28 +# 2204| r2204_29(glval) = FunctionAddress[operator!=] : +#-----| r0_24(glval>) = VariableAddress[#temp0:0] : +#-----| mu0_25(iterator) = Uninitialized[#temp0:0] : &:r0_24 +# 2204| r2204_30(glval) = FunctionAddress[iterator] : +# 2204| r2204_31(glval>) = VariableAddress[(__end)] : +#-----| r0_26(glval>) = Convert : r2204_31 +#-----| r0_27(iterator &) = CopyValue : r0_26 +# 2204| v2204_32(void) = Call[iterator] : func:r2204_30, this:r0_24, 0:r0_27 +# 2204| mu2204_33(unknown) = ^CallSideEffect : ~m? +#-----| v0_28(void) = ^BufferReadSideEffect[0] : &:r0_27, ~m? +# 2204| mu2204_34(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_24 +#-----| r0_29(iterator) = Load[#temp0:0] : &:r0_24, ~m? +# 2204| r2204_35(bool) = Call[operator!=] : func:r2204_29, this:r0_23, 0:r0_29 +# 2204| mu2204_36(unknown) = ^CallSideEffect : ~m? +#-----| v0_30(void) = ^IndirectReadSideEffect[-1] : &:r0_23, ~m? +# 2204| v2204_37(void) = ConditionalBranch : r2204_35 +#-----| False -> Block 20 +#-----| True -> Block 16 + +# 2204| Block 16 +# 2204| r2204_38(glval) = VariableAddress[y] : +# 2204| r2204_39(glval>) = VariableAddress[(__begin)] : +#-----| r0_31(glval>) = Convert : r2204_39 +# 2204| r2204_40(glval) = FunctionAddress[operator*] : +# 2204| r2204_41(ClassWithDestructor &) = Call[operator*] : func:r2204_40, this:r0_31 +# 2204| mu2204_42(unknown) = ^CallSideEffect : ~m? +#-----| v0_32(void) = ^IndirectReadSideEffect[-1] : &:r0_31, ~m? +# 2204| r2204_43(ClassWithDestructor) = Load[?] : &:r2204_41, ~m? +# 2204| mu2204_44(ClassWithDestructor) = Store[y] : &:r2204_38, r2204_43 +# 2205| r2205_1(glval) = VariableAddress[y] : +# 2205| r2205_2(glval) = FunctionAddress[set_x] : +# 2205| r2205_3(char) = Constant[97] : +# 2205| v2205_4(void) = Call[set_x] : func:r2205_2, this:r2205_1, 0:r2205_3 +# 2205| mu2205_5(unknown) = ^CallSideEffect : ~m? +# 2205| v2205_6(void) = ^IndirectReadSideEffect[-1] : &:r2205_1, ~m? +# 2205| mu2205_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2205_1 +# 2206| r2206_1(glval) = VariableAddress[y] : +# 2206| r2206_2(glval) = FunctionAddress[get_x] : +# 2206| r2206_3(char) = Call[get_x] : func:r2206_2, this:r2206_1 +# 2206| mu2206_4(unknown) = ^CallSideEffect : ~m? +# 2206| v2206_5(void) = ^IndirectReadSideEffect[-1] : &:r2206_1, ~m? +# 2206| mu2206_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2206_1 +# 2206| r2206_7(int) = Convert : r2206_3 +# 2206| r2206_8(int) = Constant[98] : +# 2206| r2206_9(bool) = CompareEQ : r2206_7, r2206_8 +# 2206| v2206_10(void) = ConditionalBranch : r2206_9 +#-----| False -> Block 18 +#-----| True -> Block 17 + +# 2207| Block 17 +# 2207| v2207_1(void) = NoOp : +# 2204| r2204_45(glval) = VariableAddress[y] : +# 2204| r2204_46(glval) = FunctionAddress[~ClassWithDestructor] : +# 2204| v2204_47(void) = Call[~ClassWithDestructor] : func:r2204_46, this:r2204_45 +# 2204| mu2204_48(unknown) = ^CallSideEffect : ~m? +# 2204| v2204_49(void) = ^IndirectReadSideEffect[-1] : &:r2204_45, ~m? +# 2204| mu2204_50(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2204_45 +# 2204| r2204_51(glval>) = VariableAddress[ys] : +# 2204| r2204_52(glval) = FunctionAddress[~vector] : +# 2204| v2204_53(void) = Call[~vector] : func:r2204_52, this:r2204_51 +# 2204| mu2204_54(unknown) = ^CallSideEffect : ~m? +# 2204| v2204_55(void) = ^IndirectReadSideEffect[-1] : &:r2204_51, ~m? +# 2204| mu2204_56(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2204_51 +# 2219| r2219_1(glval) = VariableAddress[x] : +# 2219| r2219_2(glval) = FunctionAddress[~ClassWithDestructor] : +# 2219| v2219_3(void) = Call[~ClassWithDestructor] : func:r2219_2, this:r2219_1 +# 2219| mu2219_4(unknown) = ^CallSideEffect : ~m? +# 2219| v2219_5(void) = ^IndirectReadSideEffect[-1] : &:r2219_1, ~m? +# 2219| mu2219_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2219_1 +#-----| Goto -> Block 1 + +# 2204| Block 18 +# 2204| r2204_57(glval) = VariableAddress[y] : +# 2204| r2204_58(glval) = FunctionAddress[~ClassWithDestructor] : +# 2204| v2204_59(void) = Call[~ClassWithDestructor] : func:r2204_58, this:r2204_57 +# 2204| mu2204_60(unknown) = ^CallSideEffect : ~m? +# 2204| v2204_61(void) = ^IndirectReadSideEffect[-1] : &:r2204_57, ~m? +# 2204| mu2204_62(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2204_57 +# 2204| r2204_63(glval>) = VariableAddress[(__begin)] : +# 2204| r2204_64(glval) = FunctionAddress[operator++] : +# 2204| r2204_65(iterator &) = Call[operator++] : func:r2204_64, this:r2204_63 +# 2204| mu2204_66(unknown) = ^CallSideEffect : ~m? +# 2204| v2204_67(void) = ^IndirectReadSideEffect[-1] : &:r2204_63, ~m? +# 2204| mu2204_68(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2204_63 +# 2204| r2204_69(glval>) = CopyValue : r2204_65 +#-----| Goto (back edge) -> Block 15 + +# 2204| Block 19 +# 2204| r2204_70(glval>) = VariableAddress[ys] : +# 2204| r2204_71(glval) = FunctionAddress[~vector] : +# 2204| v2204_72(void) = Call[~vector] : func:r2204_71, this:r2204_70 +# 2204| mu2204_73(unknown) = ^CallSideEffect : ~m? +# 2204| v2204_74(void) = ^IndirectReadSideEffect[-1] : &:r2204_70, ~m? +# 2204| mu2204_75(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2204_70 +#-----| Goto -> Block 20 + +# 2210| Block 20 +# 2210| r2210_1(glval>) = VariableAddress[ys] : +# 2210| mu2210_2(vector) = Uninitialized[ys] : &:r2210_1 +# 2210| r2210_3(glval) = FunctionAddress[vector] : +# 2210| r2210_4(int) = Constant[1] : +# 2210| v2210_5(void) = Call[vector] : func:r2210_3, this:r2210_1, 0:r2210_4 +# 2210| mu2210_6(unknown) = ^CallSideEffect : ~m? +# 2210| mu2210_7(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2210_1 +# 2210| r2210_8(glval &>) = VariableAddress[(__range)] : +# 2210| r2210_9(glval>) = VariableAddress[ys] : +# 2210| r2210_10(vector &) = CopyValue : r2210_9 +# 2210| mu2210_11(vector &) = Store[(__range)] : &:r2210_8, r2210_10 +# 2210| r2210_12(glval>) = VariableAddress[(__begin)] : +# 2210| r2210_13(glval &>) = VariableAddress[(__range)] : +# 2210| r2210_14(vector &) = Load[(__range)] : &:r2210_13, ~m? +#-----| r0_33(glval>) = CopyValue : r2210_14 +#-----| r0_34(glval>) = Convert : r0_33 +# 2210| r2210_15(glval) = FunctionAddress[begin] : +# 2210| r2210_16(iterator) = Call[begin] : func:r2210_15, this:r0_34 +#-----| v0_35(void) = ^IndirectReadSideEffect[-1] : &:r0_34, ~m? +# 2210| mu2210_17(iterator) = Store[(__begin)] : &:r2210_12, r2210_16 +# 2210| r2210_18(glval>) = VariableAddress[(__end)] : +# 2210| r2210_19(glval &>) = VariableAddress[(__range)] : +# 2210| r2210_20(vector &) = Load[(__range)] : &:r2210_19, ~m? +#-----| r0_36(glval>) = CopyValue : r2210_20 +#-----| r0_37(glval>) = Convert : r0_36 +# 2210| r2210_21(glval) = FunctionAddress[end] : +# 2210| r2210_22(iterator) = Call[end] : func:r2210_21, this:r0_37 +#-----| v0_38(void) = ^IndirectReadSideEffect[-1] : &:r0_37, ~m? +# 2210| mu2210_23(iterator) = Store[(__end)] : &:r2210_18, r2210_22 +#-----| Goto -> Block 21 + +# 2210| Block 21 +# 2210| r2210_24(glval>) = VariableAddress[(__begin)] : +#-----| r0_39(glval>) = Convert : r2210_24 +# 2210| r2210_25(glval) = FunctionAddress[operator!=] : +#-----| r0_40(glval>) = VariableAddress[#temp0:0] : +#-----| mu0_41(iterator) = Uninitialized[#temp0:0] : &:r0_40 +# 2210| r2210_26(glval) = FunctionAddress[iterator] : +# 2210| r2210_27(glval>) = VariableAddress[(__end)] : +#-----| r0_42(glval>) = Convert : r2210_27 +#-----| r0_43(iterator &) = CopyValue : r0_42 +# 2210| v2210_28(void) = Call[iterator] : func:r2210_26, this:r0_40, 0:r0_43 +# 2210| mu2210_29(unknown) = ^CallSideEffect : ~m? +#-----| v0_44(void) = ^BufferReadSideEffect[0] : &:r0_43, ~m? +# 2210| mu2210_30(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_40 +#-----| r0_45(iterator) = Load[#temp0:0] : &:r0_40, ~m? +# 2210| r2210_31(bool) = Call[operator!=] : func:r2210_25, this:r0_39, 0:r0_45 +# 2210| mu2210_32(unknown) = ^CallSideEffect : ~m? +#-----| v0_46(void) = ^IndirectReadSideEffect[-1] : &:r0_39, ~m? +# 2210| v2210_33(void) = ConditionalBranch : r2210_31 +#-----| False -> Block 26 +#-----| True -> Block 23 + +# 2210| Block 22 +# 2210| r2210_34(glval>) = VariableAddress[(__begin)] : +# 2210| r2210_35(glval) = FunctionAddress[operator++] : +# 2210| r2210_36(iterator &) = Call[operator++] : func:r2210_35, this:r2210_34 +# 2210| mu2210_37(unknown) = ^CallSideEffect : ~m? +# 2210| v2210_38(void) = ^IndirectReadSideEffect[-1] : &:r2210_34, ~m? +# 2210| mu2210_39(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2210_34 +# 2210| r2210_40(glval>) = CopyValue : r2210_36 +#-----| Goto (back edge) -> Block 21 + +# 2210| Block 23 +# 2210| r2210_41(glval) = VariableAddress[y] : +# 2210| r2210_42(glval>) = VariableAddress[(__begin)] : +#-----| r0_47(glval>) = Convert : r2210_42 +# 2210| r2210_43(glval) = FunctionAddress[operator*] : +# 2210| r2210_44(int &) = Call[operator*] : func:r2210_43, this:r0_47 +# 2210| mu2210_45(unknown) = ^CallSideEffect : ~m? +#-----| v0_48(void) = ^IndirectReadSideEffect[-1] : &:r0_47, ~m? +# 2210| r2210_46(int) = Load[?] : &:r2210_44, ~m? +# 2210| mu2210_47(int) = Store[y] : &:r2210_41, r2210_46 +# 2211| r2211_1(glval) = VariableAddress[y] : +# 2211| r2211_2(int) = Load[y] : &:r2211_1, ~m? +# 2211| r2211_3(int) = Constant[1] : +# 2211| r2211_4(bool) = CompareEQ : r2211_2, r2211_3 +# 2211| v2211_5(void) = ConditionalBranch : r2211_4 +#-----| False -> Block 22 +#-----| True -> Block 24 + +# 2212| Block 24 +# 2212| v2212_1(void) = NoOp : +# 2210| r2210_48(glval>) = VariableAddress[ys] : +# 2210| r2210_49(glval) = FunctionAddress[~vector] : +# 2210| v2210_50(void) = Call[~vector] : func:r2210_49, this:r2210_48 +# 2210| mu2210_51(unknown) = ^CallSideEffect : ~m? +# 2210| v2210_52(void) = ^IndirectReadSideEffect[-1] : &:r2210_48, ~m? +# 2210| mu2210_53(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2210_48 +# 2219| r2219_7(glval) = VariableAddress[x] : +# 2219| r2219_8(glval) = FunctionAddress[~ClassWithDestructor] : +# 2219| v2219_9(void) = Call[~ClassWithDestructor] : func:r2219_8, this:r2219_7 +# 2219| mu2219_10(unknown) = ^CallSideEffect : ~m? +# 2219| v2219_11(void) = ^IndirectReadSideEffect[-1] : &:r2219_7, ~m? +# 2219| mu2219_12(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2219_7 +#-----| Goto -> Block 1 + +# 2210| Block 25 +# 2210| r2210_54(glval>) = VariableAddress[ys] : +# 2210| r2210_55(glval) = FunctionAddress[~vector] : +# 2210| v2210_56(void) = Call[~vector] : func:r2210_55, this:r2210_54 +# 2210| mu2210_57(unknown) = ^CallSideEffect : ~m? +# 2210| v2210_58(void) = ^IndirectReadSideEffect[-1] : &:r2210_54, ~m? +# 2210| mu2210_59(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2210_54 +#-----| Goto -> Block 26 + +# 2215| Block 26 +# 2215| r2215_1(glval>) = VariableAddress[ys] : +# 2215| mu2215_2(vector) = Uninitialized[ys] : &:r2215_1 +# 2215| r2215_3(glval) = FunctionAddress[vector] : +# 2215| r2215_4(glval) = VariableAddress[#temp2215:45] : +# 2215| r2215_5(glval) = VariableAddress[x] : +# 2215| r2215_6(ClassWithDestructor) = Load[x] : &:r2215_5, ~m? +# 2215| mu2215_7(ClassWithDestructor) = Store[#temp2215:45] : &:r2215_4, r2215_6 +# 2215| r2215_8(ClassWithDestructor) = Load[#temp2215:45] : &:r2215_4, ~m? +# 2215| v2215_9(void) = Call[vector] : func:r2215_3, this:r2215_1, 0:r2215_8 +# 2215| mu2215_10(unknown) = ^CallSideEffect : ~m? +# 2215| mu2215_11(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2215_1 +# 2215| r2215_12(glval &>) = VariableAddress[(__range)] : +# 2215| r2215_13(glval>) = VariableAddress[ys] : +# 2215| r2215_14(vector &) = CopyValue : r2215_13 +# 2215| mu2215_15(vector &) = Store[(__range)] : &:r2215_12, r2215_14 +# 2215| r2215_16(glval>) = VariableAddress[(__begin)] : +# 2215| r2215_17(glval &>) = VariableAddress[(__range)] : +# 2215| r2215_18(vector &) = Load[(__range)] : &:r2215_17, ~m? +#-----| r0_49(glval>) = CopyValue : r2215_18 +#-----| r0_50(glval>) = Convert : r0_49 +# 2215| r2215_19(glval) = FunctionAddress[begin] : +# 2215| r2215_20(iterator) = Call[begin] : func:r2215_19, this:r0_50 +#-----| v0_51(void) = ^IndirectReadSideEffect[-1] : &:r0_50, ~m? +# 2215| mu2215_21(iterator) = Store[(__begin)] : &:r2215_16, r2215_20 +# 2215| r2215_22(glval>) = VariableAddress[(__end)] : +# 2215| r2215_23(glval &>) = VariableAddress[(__range)] : +# 2215| r2215_24(vector &) = Load[(__range)] : &:r2215_23, ~m? +#-----| r0_52(glval>) = CopyValue : r2215_24 +#-----| r0_53(glval>) = Convert : r0_52 +# 2215| r2215_25(glval) = FunctionAddress[end] : +# 2215| r2215_26(iterator) = Call[end] : func:r2215_25, this:r0_53 +#-----| v0_54(void) = ^IndirectReadSideEffect[-1] : &:r0_53, ~m? +# 2215| mu2215_27(iterator) = Store[(__end)] : &:r2215_22, r2215_26 +#-----| Goto -> Block 27 + +# 2215| Block 27 +# 2215| r2215_28(glval>) = VariableAddress[(__begin)] : +#-----| r0_55(glval>) = Convert : r2215_28 +# 2215| r2215_29(glval) = FunctionAddress[operator!=] : +#-----| r0_56(glval>) = VariableAddress[#temp0:0] : +#-----| mu0_57(iterator) = Uninitialized[#temp0:0] : &:r0_56 +# 2215| r2215_30(glval) = FunctionAddress[iterator] : +# 2215| r2215_31(glval>) = VariableAddress[(__end)] : +#-----| r0_58(glval>) = Convert : r2215_31 +#-----| r0_59(iterator &) = CopyValue : r0_58 +# 2215| v2215_32(void) = Call[iterator] : func:r2215_30, this:r0_56, 0:r0_59 +# 2215| mu2215_33(unknown) = ^CallSideEffect : ~m? +#-----| v0_60(void) = ^BufferReadSideEffect[0] : &:r0_59, ~m? +# 2215| mu2215_34(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_56 +#-----| r0_61(iterator) = Load[#temp0:0] : &:r0_56, ~m? +# 2215| r2215_35(bool) = Call[operator!=] : func:r2215_29, this:r0_55, 0:r0_61 +# 2215| mu2215_36(unknown) = ^CallSideEffect : ~m? +#-----| v0_62(void) = ^IndirectReadSideEffect[-1] : &:r0_55, ~m? +# 2215| v2215_37(void) = ConditionalBranch : r2215_35 +#-----| False -> Block 30 +#-----| True -> Block 28 + +# 2215| Block 28 +# 2215| r2215_38(glval) = VariableAddress[y] : +# 2215| r2215_39(glval>) = VariableAddress[(__begin)] : +#-----| r0_63(glval>) = Convert : r2215_39 +# 2215| r2215_40(glval) = FunctionAddress[operator*] : +# 2215| r2215_41(ClassWithDestructor &) = Call[operator*] : func:r2215_40, this:r0_63 +# 2215| mu2215_42(unknown) = ^CallSideEffect : ~m? +#-----| v0_64(void) = ^IndirectReadSideEffect[-1] : &:r0_63, ~m? +# 2215| r2215_43(ClassWithDestructor) = Load[?] : &:r2215_41, ~m? +# 2215| mu2215_44(ClassWithDestructor) = Store[y] : &:r2215_38, r2215_43 +# 2216| r2216_1(glval) = VariableAddress[z1] : +# 2216| mu2216_2(ClassWithDestructor) = Uninitialized[z1] : &:r2216_1 +# 2216| r2216_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2216| v2216_4(void) = Call[ClassWithDestructor] : func:r2216_3, this:r2216_1 +# 2216| mu2216_5(unknown) = ^CallSideEffect : ~m? +# 2216| mu2216_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2216_1 +# 2217| r2217_1(glval) = VariableAddress[z2] : +# 2217| mu2217_2(ClassWithDestructor) = Uninitialized[z2] : &:r2217_1 +# 2217| r2217_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2217| v2217_4(void) = Call[ClassWithDestructor] : func:r2217_3, this:r2217_1 +# 2217| mu2217_5(unknown) = ^CallSideEffect : ~m? +# 2217| mu2217_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2217_1 +# 2218| r2218_1(glval) = VariableAddress[z2] : +# 2218| r2218_2(glval) = FunctionAddress[~ClassWithDestructor] : +# 2218| v2218_3(void) = Call[~ClassWithDestructor] : func:r2218_2, this:r2218_1 +# 2218| mu2218_4(unknown) = ^CallSideEffect : ~m? +# 2218| v2218_5(void) = ^IndirectReadSideEffect[-1] : &:r2218_1, ~m? +# 2218| mu2218_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2218_1 +# 2218| r2218_7(glval) = VariableAddress[z1] : +# 2218| r2218_8(glval) = FunctionAddress[~ClassWithDestructor] : +# 2218| v2218_9(void) = Call[~ClassWithDestructor] : func:r2218_8, this:r2218_7 +# 2218| mu2218_10(unknown) = ^CallSideEffect : ~m? +# 2218| v2218_11(void) = ^IndirectReadSideEffect[-1] : &:r2218_7, ~m? +# 2218| mu2218_12(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2218_7 +# 2215| r2215_45(glval) = VariableAddress[y] : +# 2215| r2215_46(glval) = FunctionAddress[~ClassWithDestructor] : +# 2215| v2215_47(void) = Call[~ClassWithDestructor] : func:r2215_46, this:r2215_45 +# 2215| mu2215_48(unknown) = ^CallSideEffect : ~m? +# 2215| v2215_49(void) = ^IndirectReadSideEffect[-1] : &:r2215_45, ~m? +# 2215| mu2215_50(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2215_45 +# 2215| r2215_51(glval>) = VariableAddress[(__begin)] : +# 2215| r2215_52(glval) = FunctionAddress[operator++] : +# 2215| r2215_53(iterator &) = Call[operator++] : func:r2215_52, this:r2215_51 +# 2215| mu2215_54(unknown) = ^CallSideEffect : ~m? +# 2215| v2215_55(void) = ^IndirectReadSideEffect[-1] : &:r2215_51, ~m? +# 2215| mu2215_56(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2215_51 +# 2215| r2215_57(glval>) = CopyValue : r2215_53 +#-----| Goto (back edge) -> Block 27 + +# 2215| Block 29 +# 2215| r2215_58(glval>) = VariableAddress[ys] : +# 2215| r2215_59(glval) = FunctionAddress[~vector] : +# 2215| v2215_60(void) = Call[~vector] : func:r2215_59, this:r2215_58 +# 2215| mu2215_61(unknown) = ^CallSideEffect : ~m? +# 2215| v2215_62(void) = ^IndirectReadSideEffect[-1] : &:r2215_58, ~m? +# 2215| mu2215_63(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2215_58 +#-----| Goto -> Block 30 + +# 2219| Block 30 +# 2219| v2219_13(void) = NoOp : +# 2219| r2219_14(glval) = VariableAddress[x] : +# 2219| r2219_15(glval) = FunctionAddress[~ClassWithDestructor] : +# 2219| v2219_16(void) = Call[~ClassWithDestructor] : func:r2219_15, this:r2219_14 +# 2219| mu2219_17(unknown) = ^CallSideEffect : ~m? +# 2219| v2219_18(void) = ^IndirectReadSideEffect[-1] : &:r2219_14, ~m? +# 2219| mu2219_19(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2219_14 +#-----| Goto -> Block 1 + +# 2221| void static_variable_with_destructor_1() +# 2221| Block 0 +# 2221| v2221_1(void) = EnterFunction : +# 2221| mu2221_2(unknown) = AliasedDefinition : +# 2221| mu2221_3(unknown) = InitializeNonLocal : +# 2222| r2222_1(glval) = VariableAddress[a] : +# 2222| mu2222_2(ClassWithDestructor) = Uninitialized[a] : &:r2222_1 +# 2222| r2222_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2222| v2222_4(void) = Call[ClassWithDestructor] : func:r2222_3, this:r2222_1 +# 2222| mu2222_5(unknown) = ^CallSideEffect : ~m? +# 2222| mu2222_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2222_1 +# 2223| r2223_1(glval) = VariableAddress[b#init] : +# 2223| r2223_2(bool) = Load[b#init] : &:r2223_1, ~m? +# 2223| v2223_3(void) = ConditionalBranch : r2223_2 +#-----| False -> Block 1 +#-----| True -> Block 2 + +# 2223| Block 1 +# 2223| r2223_4(glval) = VariableAddress[b] : +#-----| r0_1(glval) = FunctionAddress[ClassWithDestructor] : +#-----| v0_2(void) = Call[ClassWithDestructor] : func:r0_1, this:r2223_4 +#-----| mu0_3(unknown) = ^CallSideEffect : ~m? +#-----| mu0_4(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2223_4 +# 2223| r2223_5(bool) = Constant[1] : +# 2223| mu2223_6(bool) = Store[b#init] : &:r2223_1, r2223_5 +#-----| Goto -> Block 2 + +# 2224| Block 2 +# 2224| v2224_1(void) = NoOp : +# 2224| r2224_2(glval) = VariableAddress[a] : +# 2224| r2224_3(glval) = FunctionAddress[~ClassWithDestructor] : +# 2224| v2224_4(void) = Call[~ClassWithDestructor] : func:r2224_3, this:r2224_2 +# 2224| mu2224_5(unknown) = ^CallSideEffect : ~m? +# 2224| v2224_6(void) = ^IndirectReadSideEffect[-1] : &:r2224_2, ~m? +# 2224| mu2224_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2224_2 +# 2221| v2221_4(void) = ReturnVoid : +# 2221| v2221_5(void) = AliasedUse : ~m? +# 2221| v2221_6(void) = ExitFunction : + +# 2226| void static_variable_with_destructor_2() +# 2226| Block 0 +# 2226| v2226_1(void) = EnterFunction : +# 2226| mu2226_2(unknown) = AliasedDefinition : +# 2226| mu2226_3(unknown) = InitializeNonLocal : +# 2227| r2227_1(glval) = VariableAddress[a#init] : +# 2227| r2227_2(bool) = Load[a#init] : &:r2227_1, ~m? +# 2227| v2227_3(void) = ConditionalBranch : r2227_2 +#-----| False -> Block 1 +#-----| True -> Block 2 + +# 2227| Block 1 +# 2227| r2227_4(glval) = VariableAddress[a] : +#-----| r0_1(glval) = FunctionAddress[ClassWithDestructor] : +#-----| v0_2(void) = Call[ClassWithDestructor] : func:r0_1, this:r2227_4 +#-----| mu0_3(unknown) = ^CallSideEffect : ~m? +#-----| mu0_4(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2227_4 +# 2227| r2227_5(bool) = Constant[1] : +# 2227| mu2227_6(bool) = Store[a#init] : &:r2227_1, r2227_5 +#-----| Goto -> Block 2 + +# 2228| Block 2 +# 2228| r2228_1(glval) = VariableAddress[b] : +# 2228| mu2228_2(ClassWithDestructor) = Uninitialized[b] : &:r2228_1 +# 2228| r2228_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2228| v2228_4(void) = Call[ClassWithDestructor] : func:r2228_3, this:r2228_1 +# 2228| mu2228_5(unknown) = ^CallSideEffect : ~m? +# 2228| mu2228_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2228_1 +# 2229| v2229_1(void) = NoOp : +# 2229| r2229_2(glval) = VariableAddress[b] : +# 2229| r2229_3(glval) = FunctionAddress[~ClassWithDestructor] : +# 2229| v2229_4(void) = Call[~ClassWithDestructor] : func:r2229_3, this:r2229_2 +# 2229| mu2229_5(unknown) = ^CallSideEffect : ~m? +# 2229| v2229_6(void) = ^IndirectReadSideEffect[-1] : &:r2229_2, ~m? +# 2229| mu2229_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2229_2 +# 2226| v2226_4(void) = ReturnVoid : +# 2226| v2226_5(void) = AliasedUse : ~m? +# 2226| v2226_6(void) = ExitFunction : + +# 2231| void static_variable_with_destructor_3() +# 2231| Block 0 +# 2231| v2231_1(void) = EnterFunction : +# 2231| mu2231_2(unknown) = AliasedDefinition : +# 2231| mu2231_3(unknown) = InitializeNonLocal : +# 2232| r2232_1(glval) = VariableAddress[a] : +# 2232| mu2232_2(ClassWithDestructor) = Uninitialized[a] : &:r2232_1 +# 2232| r2232_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2232| v2232_4(void) = Call[ClassWithDestructor] : func:r2232_3, this:r2232_1 +# 2232| mu2232_5(unknown) = ^CallSideEffect : ~m? +# 2232| mu2232_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2232_1 +# 2233| r2233_1(glval) = VariableAddress[b] : +# 2233| mu2233_2(ClassWithDestructor) = Uninitialized[b] : &:r2233_1 +# 2233| r2233_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2233| v2233_4(void) = Call[ClassWithDestructor] : func:r2233_3, this:r2233_1 +# 2233| mu2233_5(unknown) = ^CallSideEffect : ~m? +# 2233| mu2233_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2233_1 +# 2234| r2234_1(glval) = VariableAddress[c#init] : +# 2234| r2234_2(bool) = Load[c#init] : &:r2234_1, ~m? +# 2234| v2234_3(void) = ConditionalBranch : r2234_2 +#-----| False -> Block 1 +#-----| True -> Block 2 + +# 2234| Block 1 +# 2234| r2234_4(glval) = VariableAddress[c] : +#-----| r0_1(glval) = FunctionAddress[ClassWithDestructor] : +#-----| v0_2(void) = Call[ClassWithDestructor] : func:r0_1, this:r2234_4 +#-----| mu0_3(unknown) = ^CallSideEffect : ~m? +#-----| mu0_4(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2234_4 +# 2234| r2234_5(bool) = Constant[1] : +# 2234| mu2234_6(bool) = Store[c#init] : &:r2234_1, r2234_5 +#-----| Goto -> Block 2 + +# 2235| Block 2 +# 2235| v2235_1(void) = NoOp : +# 2235| r2235_2(glval) = VariableAddress[b] : +# 2235| r2235_3(glval) = FunctionAddress[~ClassWithDestructor] : +# 2235| v2235_4(void) = Call[~ClassWithDestructor] : func:r2235_3, this:r2235_2 +# 2235| mu2235_5(unknown) = ^CallSideEffect : ~m? +# 2235| v2235_6(void) = ^IndirectReadSideEffect[-1] : &:r2235_2, ~m? +# 2235| mu2235_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2235_2 +# 2235| r2235_8(glval) = VariableAddress[a] : +# 2235| r2235_9(glval) = FunctionAddress[~ClassWithDestructor] : +# 2235| v2235_10(void) = Call[~ClassWithDestructor] : func:r2235_9, this:r2235_8 +# 2235| mu2235_11(unknown) = ^CallSideEffect : ~m? +# 2235| v2235_12(void) = ^IndirectReadSideEffect[-1] : &:r2235_8, ~m? +# 2235| mu2235_13(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2235_8 +# 2231| v2231_4(void) = ReturnVoid : +# 2231| v2231_5(void) = AliasedUse : ~m? +# 2231| v2231_6(void) = ExitFunction : + +# 2237| ClassWithDestructor global_class_with_destructor +# 2237| Block 0 +# 2237| v2237_1(void) = EnterFunction : +# 2237| mu2237_2(unknown) = AliasedDefinition : +# 2237| r2237_3(glval) = VariableAddress[global_class_with_destructor] : +# 2237| r2237_4(glval) = FunctionAddress[ClassWithDestructor] : +# 2237| v2237_5(void) = Call[ClassWithDestructor] : func:r2237_4, this:r2237_3 +# 2237| mu2237_6(unknown) = ^CallSideEffect : ~m? +# 2237| mu2237_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2237_3 +# 2237| v2237_8(void) = ReturnVoid : +# 2237| v2237_9(void) = AliasedUse : ~m? +# 2237| v2237_10(void) = ExitFunction : + +# 2241| ClassWithDestructor& vacuous_destructor_call::get(ClassWithDestructor&) +# 2241| Block 0 +# 2241| v2241_1(void) = EnterFunction : +# 2241| mu2241_2(unknown) = AliasedDefinition : +# 2241| mu2241_3(unknown) = InitializeNonLocal : +# 2241| r2241_4(glval) = VariableAddress[t] : +# 2241| mu2241_5(ClassWithDestructor &) = InitializeParameter[t] : &:r2241_4 +# 2241| r2241_6(ClassWithDestructor &) = Load[t] : &:r2241_4, ~m? +# 2241| mu2241_7(unknown) = InitializeIndirection[t] : &:r2241_6 +# 2241| r2241_8(glval) = VariableAddress[#return] : +# 2241| r2241_9(glval) = VariableAddress[t] : +# 2241| r2241_10(ClassWithDestructor &) = Load[t] : &:r2241_9, ~m? +# 2241| r2241_11(glval) = CopyValue : r2241_10 +# 2241| r2241_12(ClassWithDestructor &) = CopyValue : r2241_11 +# 2241| mu2241_13(ClassWithDestructor &) = Store[#return] : &:r2241_8, r2241_12 +# 2241| v2241_14(void) = ReturnIndirection[t] : &:r2241_6, ~m? +# 2241| r2241_15(glval) = VariableAddress[#return] : +# 2241| v2241_16(void) = ReturnValue : &:r2241_15, ~m? +# 2241| v2241_17(void) = AliasedUse : ~m? +# 2241| v2241_18(void) = ExitFunction : + +# 2241| int& vacuous_destructor_call::get(int&) +# 2241| Block 0 +# 2241| v2241_1(void) = EnterFunction : +# 2241| mu2241_2(unknown) = AliasedDefinition : +# 2241| mu2241_3(unknown) = InitializeNonLocal : +# 2241| r2241_4(glval) = VariableAddress[t] : +# 2241| mu2241_5(int &) = InitializeParameter[t] : &:r2241_4 +# 2241| r2241_6(int &) = Load[t] : &:r2241_4, ~m? +# 2241| mu2241_7(unknown) = InitializeIndirection[t] : &:r2241_6 +# 2241| r2241_8(glval) = VariableAddress[#return] : +# 2241| r2241_9(glval) = VariableAddress[t] : +# 2241| r2241_10(int &) = Load[t] : &:r2241_9, ~m? +# 2241| r2241_11(glval) = CopyValue : r2241_10 +# 2241| r2241_12(int &) = CopyValue : r2241_11 +# 2241| mu2241_13(int &) = Store[#return] : &:r2241_8, r2241_12 +# 2241| v2241_14(void) = ReturnIndirection[t] : &:r2241_6, ~m? +# 2241| r2241_15(glval) = VariableAddress[#return] : +# 2241| v2241_16(void) = ReturnValue : &:r2241_15, ~m? +# 2241| v2241_17(void) = AliasedUse : ~m? +# 2241| v2241_18(void) = ExitFunction : + +# 2244| void vacuous_destructor_call::call_destructor(ClassWithDestructor&) +# 2244| Block 0 +# 2244| v2244_1(void) = EnterFunction : +# 2244| mu2244_2(unknown) = AliasedDefinition : +# 2244| mu2244_3(unknown) = InitializeNonLocal : +# 2244| r2244_4(glval) = VariableAddress[t] : +# 2244| mu2244_5(ClassWithDestructor &) = InitializeParameter[t] : &:r2244_4 +# 2244| r2244_6(ClassWithDestructor &) = Load[t] : &:r2244_4, ~m? +# 2244| mu2244_7(unknown) = InitializeIndirection[t] : &:r2244_6 +# 2245| r2245_1(glval) = FunctionAddress[get] : +# 2245| r2245_2(glval) = VariableAddress[t] : +# 2245| r2245_3(ClassWithDestructor &) = Load[t] : &:r2245_2, ~m? +# 2245| r2245_4(glval) = CopyValue : r2245_3 +# 2245| r2245_5(ClassWithDestructor &) = CopyValue : r2245_4 +# 2245| r2245_6(ClassWithDestructor &) = Call[get] : func:r2245_1, 0:r2245_5 +# 2245| mu2245_7(unknown) = ^CallSideEffect : ~m? +# 2245| v2245_8(void) = ^BufferReadSideEffect[0] : &:r2245_5, ~m? +# 2245| mu2245_9(unknown) = ^BufferMayWriteSideEffect[0] : &:r2245_5 +# 2245| r2245_10(glval) = CopyValue : r2245_6 +# 2245| r2245_11(glval) = FunctionAddress[~ClassWithDestructor] : +# 2245| v2245_12(void) = Call[~ClassWithDestructor] : func:r2245_11 +# 2245| mu2245_13(unknown) = ^CallSideEffect : ~m? +# 2245| v2245_14(void) = ^IndirectReadSideEffect[-1] : &:r2245_10, ~m? +# 2245| mu2245_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2245_10 +# 2246| v2246_1(void) = NoOp : +# 2244| v2244_8(void) = ReturnIndirection[t] : &:r2244_6, ~m? +# 2244| v2244_9(void) = ReturnVoid : +# 2244| v2244_10(void) = AliasedUse : ~m? +# 2244| v2244_11(void) = ExitFunction : + +# 2244| void vacuous_destructor_call::call_destructor(int&) +# 2244| Block 0 +# 2244| v2244_1(void) = EnterFunction : +# 2244| mu2244_2(unknown) = AliasedDefinition : +# 2244| mu2244_3(unknown) = InitializeNonLocal : +# 2244| r2244_4(glval) = VariableAddress[t] : +# 2244| mu2244_5(int &) = InitializeParameter[t] : &:r2244_4 +# 2244| r2244_6(int &) = Load[t] : &:r2244_4, ~m? +# 2244| mu2244_7(unknown) = InitializeIndirection[t] : &:r2244_6 +# 2245| r2245_1(glval) = FunctionAddress[get] : +# 2245| r2245_2(glval) = VariableAddress[t] : +# 2245| r2245_3(int &) = Load[t] : &:r2245_2, ~m? +# 2245| r2245_4(glval) = CopyValue : r2245_3 +# 2245| r2245_5(int &) = CopyValue : r2245_4 +# 2245| r2245_6(int &) = Call[get] : func:r2245_1, 0:r2245_5 +# 2245| mu2245_7(unknown) = ^CallSideEffect : ~m? +# 2245| v2245_8(void) = ^BufferReadSideEffect[0] : &:r2245_5, ~m? +# 2245| mu2245_9(unknown) = ^BufferMayWriteSideEffect[0] : &:r2245_5 +# 2245| r2245_10(glval) = CopyValue : r2245_6 +# 2246| v2246_1(void) = NoOp : +# 2244| v2244_8(void) = ReturnIndirection[t] : &:r2244_6, ~m? +# 2244| v2244_9(void) = ReturnVoid : +# 2244| v2244_10(void) = AliasedUse : ~m? +# 2244| v2244_11(void) = ExitFunction : + +# 2248| void vacuous_destructor_call::non_vacuous_destructor_call() +# 2248| Block 0 +# 2248| v2248_1(void) = EnterFunction : +# 2248| mu2248_2(unknown) = AliasedDefinition : +# 2248| mu2248_3(unknown) = InitializeNonLocal : +# 2249| r2249_1(glval) = VariableAddress[c] : +# 2249| mu2249_2(ClassWithDestructor) = Uninitialized[c] : &:r2249_1 +# 2249| r2249_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2249| v2249_4(void) = Call[ClassWithDestructor] : func:r2249_3, this:r2249_1 +# 2249| mu2249_5(unknown) = ^CallSideEffect : ~m? +# 2249| mu2249_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2249_1 +# 2250| r2250_1(glval) = FunctionAddress[call_destructor] : +# 2250| r2250_2(glval) = VariableAddress[c] : +# 2250| r2250_3(ClassWithDestructor &) = CopyValue : r2250_2 +# 2250| v2250_4(void) = Call[call_destructor] : func:r2250_1, 0:r2250_3 +# 2250| mu2250_5(unknown) = ^CallSideEffect : ~m? +# 2250| v2250_6(void) = ^BufferReadSideEffect[0] : &:r2250_3, ~m? +# 2250| mu2250_7(unknown) = ^BufferMayWriteSideEffect[0] : &:r2250_3 +# 2251| v2251_1(void) = NoOp : +# 2251| r2251_2(glval) = VariableAddress[c] : +# 2251| r2251_3(glval) = FunctionAddress[~ClassWithDestructor] : +# 2251| v2251_4(void) = Call[~ClassWithDestructor] : func:r2251_3, this:r2251_2 +# 2251| mu2251_5(unknown) = ^CallSideEffect : ~m? +# 2251| v2251_6(void) = ^IndirectReadSideEffect[-1] : &:r2251_2, ~m? +# 2251| mu2251_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2251_2 +# 2248| v2248_4(void) = ReturnVoid : +# 2248| v2248_5(void) = AliasedUse : ~m? +# 2248| v2248_6(void) = ExitFunction : + +# 2253| void vacuous_destructor_call::vacuous_destructor_call() +# 2253| Block 0 +# 2253| v2253_1(void) = EnterFunction : +# 2253| mu2253_2(unknown) = AliasedDefinition : +# 2253| mu2253_3(unknown) = InitializeNonLocal : +# 2254| r2254_1(glval) = VariableAddress[i] : +# 2254| mu2254_2(int) = Uninitialized[i] : &:r2254_1 +# 2255| r2255_1(glval) = FunctionAddress[call_destructor] : +# 2255| r2255_2(glval) = VariableAddress[i] : +# 2255| r2255_3(int &) = CopyValue : r2255_2 +# 2255| v2255_4(void) = Call[call_destructor] : func:r2255_1, 0:r2255_3 +# 2255| mu2255_5(unknown) = ^CallSideEffect : ~m? +# 2255| v2255_6(void) = ^BufferReadSideEffect[0] : &:r2255_3, ~m? +# 2255| mu2255_7(unknown) = ^BufferMayWriteSideEffect[0] : &:r2255_3 +# 2256| v2256_1(void) = NoOp : +# 2253| v2253_4(void) = ReturnVoid : +# 2253| v2253_5(void) = AliasedUse : ~m? +# 2253| v2253_6(void) = ExitFunction : + +# 2259| void TryCatchDestructors(bool) +# 2259| Block 0 +# 2259| v2259_1(void) = EnterFunction : +# 2259| mu2259_2(unknown) = AliasedDefinition : +# 2259| mu2259_3(unknown) = InitializeNonLocal : +# 2259| r2259_4(glval) = VariableAddress[b] : +# 2259| mu2259_5(bool) = InitializeParameter[b] : &:r2259_4 +# 2261| r2261_1(glval) = VariableAddress[s] : +# 2261| mu2261_2(String) = Uninitialized[s] : &:r2261_1 +# 2261| r2261_3(glval) = FunctionAddress[String] : +# 2261| v2261_4(void) = Call[String] : func:r2261_3, this:r2261_1 +# 2261| mu2261_5(unknown) = ^CallSideEffect : ~m? +# 2261| mu2261_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2261_1 +# 2262| r2262_1(glval) = VariableAddress[b] : +# 2262| r2262_2(bool) = Load[b] : &:r2262_1, ~m? +# 2262| v2262_3(void) = ConditionalBranch : r2262_2 +#-----| False -> Block 4 +#-----| True -> Block 3 + +# 2259| Block 1 +# 2259| v2259_6(void) = AliasedUse : ~m? +# 2259| v2259_7(void) = ExitFunction : + # 2259| Block 2 -# 2259| r2259_1(glval) = VariableAddress[y] : -# 2259| r2259_2(int) = Constant[0] : -# 2259| mu2259_3(int) = Store[y] : &:r2259_1, r2259_2 -#-----| Goto -> Block 3 +# 2259| v2259_8(void) = Unwind : +#-----| Goto -> Block 1 -# 2260| Block 3 -# 2260| r2260_1(glval) = VariableAddress[s] : -# 2260| r2260_2(glval) = FunctionAddress[~String] : -# 2260| v2260_3(void) = Call[~String] : func:r2260_2, this:r2260_1 -# 2260| mu2260_4(unknown) = ^CallSideEffect : ~m? -# 2260| v2260_5(void) = ^IndirectReadSideEffect[-1] : &:r2260_1, ~m? -# 2260| mu2260_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2260_1 -# 2261| v2261_1(void) = NoOp : -# 2255| v2255_6(void) = ReturnVoid : -# 2255| v2255_7(void) = AliasedUse : ~m? -# 2255| v2255_8(void) = ExitFunction : +# 2263| Block 3 +# 2263| r2263_1(glval) = VariableAddress[#throw2263:7] : +# 2263| r2263_2(glval) = StringConstant["string literal"] : +# 2263| r2263_3(char *) = Convert : r2263_2 +# 2263| mu2263_4(char *) = Store[#throw2263:7] : &:r2263_1, r2263_3 +# 2263| v2263_5(void) = ThrowValue : &:r2263_1, ~m? +#-----| Exception -> Block 5 -# 2270| void IfDestructors3(bool) -# 2270| Block 0 -# 2270| v2270_1(void) = EnterFunction : -# 2270| mu2270_2(unknown) = AliasedDefinition : -# 2270| mu2270_3(unknown) = InitializeNonLocal : -# 2270| r2270_4(glval) = VariableAddress[b] : -# 2270| mu2270_5(bool) = InitializeParameter[b] : &:r2270_4 -# 2271| r2271_1(glval) = VariableAddress[B] : -# 2271| mu2271_2(Bool) = Uninitialized[B] : &:r2271_1 -# 2271| r2271_3(glval) = FunctionAddress[Bool] : -# 2271| r2271_4(glval) = VariableAddress[b] : -# 2271| r2271_5(bool) = Load[b] : &:r2271_4, ~m? -# 2271| v2271_6(void) = Call[Bool] : func:r2271_3, this:r2271_1, 0:r2271_5 -# 2271| mu2271_7(unknown) = ^CallSideEffect : ~m? -# 2271| mu2271_8(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2271_1 -# 2271| r2271_9(glval) = VariableAddress[B] : -# 2271| r2271_10(glval) = FunctionAddress[operator bool] : -# 2271| r2271_11(bool) = Call[operator bool] : func:r2271_10, this:r2271_9 -# 2271| mu2271_12(unknown) = ^CallSideEffect : ~m? -# 2271| v2271_13(void) = ^IndirectReadSideEffect[-1] : &:r2271_9, ~m? -# 2271| mu2271_14(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2271_9 -# 2271| r2271_15(bool) = CopyValue : r2271_11 -# 2271| v2271_16(void) = ConditionalBranch : r2271_15 +# 2265| Block 4 +# 2265| r2265_1(glval) = VariableAddress[s2] : +# 2265| mu2265_2(String) = Uninitialized[s2] : &:r2265_1 +# 2265| r2265_3(glval) = FunctionAddress[String] : +# 2265| v2265_4(void) = Call[String] : func:r2265_3, this:r2265_1 +# 2265| mu2265_5(unknown) = ^CallSideEffect : ~m? +# 2265| mu2265_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2265_1 +# 2266| r2266_1(glval) = VariableAddress[s2] : +# 2266| r2266_2(glval) = FunctionAddress[~String] : +# 2266| v2266_3(void) = Call[~String] : func:r2266_2, this:r2266_1 +# 2266| mu2266_4(unknown) = ^CallSideEffect : ~m? +# 2266| v2266_5(void) = ^IndirectReadSideEffect[-1] : &:r2266_1, ~m? +# 2266| mu2266_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2266_1 +# 2266| r2266_7(glval) = VariableAddress[s] : +# 2266| r2266_8(glval) = FunctionAddress[~String] : +# 2266| v2266_9(void) = Call[~String] : func:r2266_8, this:r2266_7 +# 2266| mu2266_10(unknown) = ^CallSideEffect : ~m? +# 2266| v2266_11(void) = ^IndirectReadSideEffect[-1] : &:r2266_7, ~m? +# 2266| mu2266_12(String) = ^IndirectMayWriteSideEffect[-1] : &:r2266_7 +#-----| Goto -> Block 10 + +# 2267| Block 5 +# 2267| v2267_1(void) = CatchByType[const char *] : +#-----| Exception -> Block 7 +#-----| Goto -> Block 6 + +# 2267| Block 6 +# 2267| r2267_2(glval) = VariableAddress[s] : +# 2267| mu2267_3(char *) = InitializeParameter[s] : &:r2267_2 +# 2267| r2267_4(char *) = Load[s] : &:r2267_2, ~m? +# 2267| mu2267_5(unknown) = InitializeIndirection[s] : &:r2267_4 +# 2268| r2268_1(glval) = VariableAddress[#throw2268:5] : +# 2268| mu2268_2(String) = Uninitialized[#throw2268:5] : &:r2268_1 +# 2268| r2268_3(glval) = FunctionAddress[String] : +# 2268| r2268_4(glval) = VariableAddress[s] : +# 2268| r2268_5(char *) = Load[s] : &:r2268_4, ~m? +# 2268| v2268_6(void) = Call[String] : func:r2268_3, this:r2268_1, 0:r2268_5 +# 2268| mu2268_7(unknown) = ^CallSideEffect : ~m? +# 2268| v2268_8(void) = ^BufferReadSideEffect[0] : &:r2268_5, ~m? +# 2268| mu2268_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r2268_1 +# 2268| v2268_10(void) = ThrowValue : &:r2268_1, ~m? +#-----| Exception -> Block 2 + +# 2270| Block 7 +# 2270| v2270_1(void) = CatchByType[const String &] : +#-----| Exception -> Block 9 +#-----| Goto -> Block 8 + +# 2270| Block 8 +# 2270| r2270_2(glval) = VariableAddress[e] : +# 2270| mu2270_3(String &) = InitializeParameter[e] : &:r2270_2 +# 2270| r2270_4(String &) = Load[e] : &:r2270_2, ~m? +# 2270| mu2270_5(unknown) = InitializeIndirection[e] : &:r2270_4 +# 2270| v2270_6(void) = NoOp : +#-----| Goto -> Block 10 + +# 2272| Block 9 +# 2272| v2272_1(void) = CatchAny : +# 2273| v2273_1(void) = ReThrow : +#-----| Exception -> Block 2 + +# 2275| Block 10 +# 2275| v2275_1(void) = NoOp : +# 2259| v2259_9(void) = ReturnVoid : +#-----| Goto -> Block 1 + +# 2277| void IfDestructors(bool) +# 2277| Block 0 +# 2277| v2277_1(void) = EnterFunction : +# 2277| mu2277_2(unknown) = AliasedDefinition : +# 2277| mu2277_3(unknown) = InitializeNonLocal : +# 2277| r2277_4(glval) = VariableAddress[b] : +# 2277| mu2277_5(bool) = InitializeParameter[b] : &:r2277_4 +# 2278| r2278_1(glval) = VariableAddress[s1] : +# 2278| mu2278_2(String) = Uninitialized[s1] : &:r2278_1 +# 2278| r2278_3(glval) = FunctionAddress[String] : +# 2278| v2278_4(void) = Call[String] : func:r2278_3, this:r2278_1 +# 2278| mu2278_5(unknown) = ^CallSideEffect : ~m? +# 2278| mu2278_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2278_1 +# 2279| r2279_1(glval) = VariableAddress[b] : +# 2279| r2279_2(bool) = Load[b] : &:r2279_1, ~m? +# 2279| v2279_3(void) = ConditionalBranch : r2279_2 #-----| False -> Block 2 #-----| True -> Block 1 -# 2272| Block 1 -# 2272| r2272_1(glval) = VariableAddress[s1] : -# 2272| mu2272_2(String) = Uninitialized[s1] : &:r2272_1 -# 2272| r2272_3(glval) = FunctionAddress[String] : -# 2272| v2272_4(void) = Call[String] : func:r2272_3, this:r2272_1 -# 2272| mu2272_5(unknown) = ^CallSideEffect : ~m? -# 2272| mu2272_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2272_1 -# 2273| r2273_1(glval) = VariableAddress[s1] : -# 2273| r2273_2(glval) = FunctionAddress[~String] : -# 2273| v2273_3(void) = Call[~String] : func:r2273_2, this:r2273_1 -# 2273| mu2273_4(unknown) = ^CallSideEffect : ~m? -# 2273| v2273_5(void) = ^IndirectReadSideEffect[-1] : &:r2273_1, ~m? -# 2273| mu2273_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2273_1 -#-----| Goto -> Block 3 - -# 2274| Block 2 -# 2274| r2274_1(glval) = VariableAddress[s2] : -# 2274| mu2274_2(String) = Uninitialized[s2] : &:r2274_1 -# 2274| r2274_3(glval) = FunctionAddress[String] : -# 2274| v2274_4(void) = Call[String] : func:r2274_3, this:r2274_1 -# 2274| mu2274_5(unknown) = ^CallSideEffect : ~m? -# 2274| mu2274_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2274_1 -# 2275| r2275_1(glval) = VariableAddress[s2] : -# 2275| r2275_2(glval) = FunctionAddress[~String] : -# 2275| v2275_3(void) = Call[~String] : func:r2275_2, this:r2275_1 -# 2275| mu2275_4(unknown) = ^CallSideEffect : ~m? -# 2275| v2275_5(void) = ^IndirectReadSideEffect[-1] : &:r2275_1, ~m? -# 2275| mu2275_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2275_1 -#-----| Goto -> Block 3 - -# 2275| Block 3 -# 2275| r2275_7(glval) = VariableAddress[B] : -# 2275| r2275_8(glval) = FunctionAddress[~Bool] : -# 2275| v2275_9(void) = Call[~Bool] : func:r2275_8, this:r2275_7 -# 2275| mu2275_10(unknown) = ^CallSideEffect : ~m? -# 2275| v2275_11(void) = ^IndirectReadSideEffect[-1] : &:r2275_7, ~m? -# 2275| mu2275_12(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2275_7 -# 2276| v2276_1(void) = NoOp : -# 2270| v2270_6(void) = ReturnVoid : -# 2270| v2270_7(void) = AliasedUse : ~m? -# 2270| v2270_8(void) = ExitFunction : - -# 2278| void WhileLoopDestructors(bool) -# 2278| Block 0 -# 2278| v2278_1(void) = EnterFunction : -# 2278| mu2278_2(unknown) = AliasedDefinition : -# 2278| mu2278_3(unknown) = InitializeNonLocal : -# 2278| r2278_4(glval) = VariableAddress[b] : -# 2278| mu2278_5(bool) = InitializeParameter[b] : &:r2278_4 -# 2280| r2280_1(glval) = VariableAddress[s] : -# 2280| mu2280_2(String) = Uninitialized[s] : &:r2280_1 +# 2280| Block 1 +# 2280| r2280_1(glval) = VariableAddress[s2] : +# 2280| mu2280_2(String) = Uninitialized[s2] : &:r2280_1 # 2280| r2280_3(glval) = FunctionAddress[String] : # 2280| v2280_4(void) = Call[String] : func:r2280_3, this:r2280_1 # 2280| mu2280_5(unknown) = ^CallSideEffect : ~m? # 2280| mu2280_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2280_1 +# 2281| r2281_1(glval) = VariableAddress[s2] : +# 2281| r2281_2(glval) = FunctionAddress[~String] : +# 2281| v2281_3(void) = Call[~String] : func:r2281_2, this:r2281_1 +# 2281| mu2281_4(unknown) = ^CallSideEffect : ~m? +# 2281| v2281_5(void) = ^IndirectReadSideEffect[-1] : &:r2281_1, ~m? +# 2281| mu2281_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2281_1 +#-----| Goto -> Block 3 + +# 2282| Block 2 +# 2282| r2282_1(glval) = VariableAddress[s3] : +# 2282| mu2282_2(String) = Uninitialized[s3] : &:r2282_1 +# 2282| r2282_3(glval) = FunctionAddress[String] : +# 2282| v2282_4(void) = Call[String] : func:r2282_3, this:r2282_1 +# 2282| mu2282_5(unknown) = ^CallSideEffect : ~m? +# 2282| mu2282_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2282_1 +# 2283| r2283_1(glval) = VariableAddress[s3] : +# 2283| r2283_2(glval) = FunctionAddress[~String] : +# 2283| v2283_3(void) = Call[~String] : func:r2283_2, this:r2283_1 +# 2283| mu2283_4(unknown) = ^CallSideEffect : ~m? +# 2283| v2283_5(void) = ^IndirectReadSideEffect[-1] : &:r2283_1, ~m? +# 2283| mu2283_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2283_1 +#-----| Goto -> Block 3 + +# 2284| Block 3 +# 2284| r2284_1(glval) = VariableAddress[s4] : +# 2284| mu2284_2(String) = Uninitialized[s4] : &:r2284_1 +# 2284| r2284_3(glval) = FunctionAddress[String] : +# 2284| v2284_4(void) = Call[String] : func:r2284_3, this:r2284_1 +# 2284| mu2284_5(unknown) = ^CallSideEffect : ~m? +# 2284| mu2284_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2284_1 +# 2285| v2285_1(void) = NoOp : +# 2285| r2285_2(glval) = VariableAddress[s4] : +# 2285| r2285_3(glval) = FunctionAddress[~String] : +# 2285| v2285_4(void) = Call[~String] : func:r2285_3, this:r2285_2 +# 2285| mu2285_5(unknown) = ^CallSideEffect : ~m? +# 2285| v2285_6(void) = ^IndirectReadSideEffect[-1] : &:r2285_2, ~m? +# 2285| mu2285_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2285_2 +# 2285| r2285_8(glval) = VariableAddress[s1] : +# 2285| r2285_9(glval) = FunctionAddress[~String] : +# 2285| v2285_10(void) = Call[~String] : func:r2285_9, this:r2285_8 +# 2285| mu2285_11(unknown) = ^CallSideEffect : ~m? +# 2285| v2285_12(void) = ^IndirectReadSideEffect[-1] : &:r2285_8, ~m? +# 2285| mu2285_13(String) = ^IndirectMayWriteSideEffect[-1] : &:r2285_8 +# 2277| v2277_6(void) = ReturnVoid : +# 2277| v2277_7(void) = AliasedUse : ~m? +# 2277| v2277_8(void) = ExitFunction : + +# 2287| void ForDestructors() +# 2287| Block 0 +# 2287| v2287_1(void) = EnterFunction : +# 2287| mu2287_2(unknown) = AliasedDefinition : +# 2287| mu2287_3(unknown) = InitializeNonLocal : +# 2288| r2288_1(glval) = VariableAddress[c] : +# 2288| r2288_2(char) = Constant[97] : +# 2288| mu2288_3(char) = Store[c] : &:r2288_1, r2288_2 +# 2289| r2289_1(glval) = VariableAddress[s] : +# 2289| mu2289_2(String) = Uninitialized[s] : &:r2289_1 +# 2289| r2289_3(glval) = FunctionAddress[String] : +# 2289| r2289_4(glval) = StringConstant["hello"] : +# 2289| r2289_5(char *) = Convert : r2289_4 +# 2289| v2289_6(void) = Call[String] : func:r2289_3, this:r2289_1, 0:r2289_5 +# 2289| mu2289_7(unknown) = ^CallSideEffect : ~m? +# 2289| v2289_8(void) = ^BufferReadSideEffect[0] : &:r2289_5, ~m? +# 2289| mu2289_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r2289_1 #-----| Goto -> Block 1 -# 2281| Block 1 -# 2281| r2281_1(glval) = VariableAddress[b] : -# 2281| r2281_2(bool) = Load[b] : &:r2281_1, ~m? -# 2281| v2281_3(void) = ConditionalBranch : r2281_2 +# 2289| Block 1 +# 2289| r2289_10(glval) = VariableAddress[c] : +# 2289| r2289_11(char) = Load[c] : &:r2289_10, ~m? +# 2289| r2289_12(int) = Convert : r2289_11 +# 2289| r2289_13(int) = Constant[0] : +# 2289| r2289_14(bool) = CompareNE : r2289_12, r2289_13 +# 2289| v2289_15(void) = ConditionalBranch : r2289_14 #-----| False -> Block 3 #-----| True -> Block 2 -# 2282| Block 2 -# 2282| r2282_1(bool) = Constant[0] : -# 2282| r2282_2(glval) = VariableAddress[b] : -# 2282| mu2282_3(bool) = Store[b] : &:r2282_2, r2282_1 +# 2290| Block 2 +# 2290| r2290_1(glval) = VariableAddress[s2] : +# 2290| mu2290_2(String) = Uninitialized[s2] : &:r2290_1 +# 2290| r2290_3(glval) = FunctionAddress[String] : +# 2290| v2290_4(void) = Call[String] : func:r2290_3, this:r2290_1 +# 2290| mu2290_5(unknown) = ^CallSideEffect : ~m? +# 2290| mu2290_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2290_1 +# 2291| r2291_1(glval) = VariableAddress[s2] : +# 2291| r2291_2(glval) = FunctionAddress[~String] : +# 2291| v2291_3(void) = Call[~String] : func:r2291_2, this:r2291_1 +# 2291| mu2291_4(unknown) = ^CallSideEffect : ~m? +# 2291| v2291_5(void) = ^IndirectReadSideEffect[-1] : &:r2291_1, ~m? +# 2291| mu2291_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2291_1 +# 2289| r2289_16(glval) = VariableAddress[s] : +# 2289| r2289_17(glval) = FunctionAddress[pop_back] : +# 2289| r2289_18(char) = Call[pop_back] : func:r2289_17, this:r2289_16 +# 2289| mu2289_19(unknown) = ^CallSideEffect : ~m? +# 2289| v2289_20(void) = ^IndirectReadSideEffect[-1] : &:r2289_16, ~m? +# 2289| mu2289_21(String) = ^IndirectMayWriteSideEffect[-1] : &:r2289_16 +# 2289| r2289_22(glval) = VariableAddress[c] : +# 2289| mu2289_23(char) = Store[c] : &:r2289_22, r2289_18 #-----| Goto (back edge) -> Block 1 -# 2284| Block 3 -# 2284| r2284_1(glval) = VariableAddress[s] : -# 2284| r2284_2(glval) = FunctionAddress[~String] : -# 2284| v2284_3(void) = Call[~String] : func:r2284_2, this:r2284_1 -# 2284| mu2284_4(unknown) = ^CallSideEffect : ~m? -# 2284| v2284_5(void) = ^IndirectReadSideEffect[-1] : &:r2284_1, ~m? -# 2284| mu2284_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2284_1 +# 2289| Block 3 +# 2289| r2289_24(glval) = VariableAddress[s] : +# 2289| r2289_25(glval) = FunctionAddress[~String] : +# 2289| v2289_26(void) = Call[~String] : func:r2289_25, this:r2289_24 +# 2289| mu2289_27(unknown) = ^CallSideEffect : ~m? +# 2289| v2289_28(void) = ^IndirectReadSideEffect[-1] : &:r2289_24, ~m? +# 2289| mu2289_29(String) = ^IndirectMayWriteSideEffect[-1] : &:r2289_24 +# 2293| r2293_1(glval &&>) = VariableAddress[(__range)] : +# 2293| r2293_2(glval>) = VariableAddress[#temp2293:20] : +# 2293| mu2293_3(vector) = Uninitialized[#temp2293:20] : &:r2293_2 +# 2293| r2293_4(glval) = FunctionAddress[vector] : +# 2293| r2293_5(glval) = VariableAddress[#temp2293:40] : +# 2293| mu2293_6(String) = Uninitialized[#temp2293:40] : &:r2293_5 +# 2293| r2293_7(glval) = FunctionAddress[String] : +# 2293| r2293_8(glval) = StringConstant["hello"] : +# 2293| r2293_9(char *) = Convert : r2293_8 +# 2293| v2293_10(void) = Call[String] : func:r2293_7, this:r2293_5, 0:r2293_9 +# 2293| mu2293_11(unknown) = ^CallSideEffect : ~m? +# 2293| v2293_12(void) = ^BufferReadSideEffect[0] : &:r2293_9, ~m? +# 2293| mu2293_13(String) = ^IndirectMayWriteSideEffect[-1] : &:r2293_5 +# 2293| r2293_14(String) = Load[#temp2293:40] : &:r2293_5, ~m? +# 2293| v2293_15(void) = Call[vector] : func:r2293_4, this:r2293_2, 0:r2293_14 +# 2293| mu2293_16(unknown) = ^CallSideEffect : ~m? +# 2293| mu2293_17(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2293_2 +# 2293| r2293_18(vector &) = CopyValue : r2293_2 +# 2293| mu2293_19(vector &&) = Store[(__range)] : &:r2293_1, r2293_18 +# 2293| r2293_20(glval>) = VariableAddress[(__begin)] : +# 2293| r2293_21(glval &&>) = VariableAddress[(__range)] : +# 2293| r2293_22(vector &&) = Load[(__range)] : &:r2293_21, ~m? +#-----| r0_1(glval>) = CopyValue : r2293_22 +#-----| r0_2(glval>) = Convert : r0_1 +# 2293| r2293_23(glval) = FunctionAddress[begin] : +# 2293| r2293_24(iterator) = Call[begin] : func:r2293_23, this:r0_2 +#-----| v0_3(void) = ^IndirectReadSideEffect[-1] : &:r0_2, ~m? +# 2293| mu2293_25(iterator) = Store[(__begin)] : &:r2293_20, r2293_24 +# 2293| r2293_26(glval>) = VariableAddress[(__end)] : +# 2293| r2293_27(glval &&>) = VariableAddress[(__range)] : +# 2293| r2293_28(vector &&) = Load[(__range)] : &:r2293_27, ~m? +#-----| r0_4(glval>) = CopyValue : r2293_28 +#-----| r0_5(glval>) = Convert : r0_4 +# 2293| r2293_29(glval) = FunctionAddress[end] : +# 2293| r2293_30(iterator) = Call[end] : func:r2293_29, this:r0_5 +#-----| v0_6(void) = ^IndirectReadSideEffect[-1] : &:r0_5, ~m? +# 2293| mu2293_31(iterator) = Store[(__end)] : &:r2293_26, r2293_30 #-----| Goto -> Block 4 -# 2287| Block 4 -# 2287| r2287_1(glval) = VariableAddress[B] : -# 2287| mu2287_2(Bool) = Uninitialized[B] : &:r2287_1 -# 2287| r2287_3(glval) = FunctionAddress[Bool] : -# 2287| r2287_4(glval) = VariableAddress[b] : -# 2287| r2287_5(bool) = Load[b] : &:r2287_4, ~m? -# 2287| v2287_6(void) = Call[Bool] : func:r2287_3, this:r2287_1, 0:r2287_5 -# 2287| mu2287_7(unknown) = ^CallSideEffect : ~m? -# 2287| mu2287_8(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2287_1 -# 2287| r2287_9(glval) = VariableAddress[B] : -# 2287| r2287_10(glval) = FunctionAddress[operator bool] : -# 2287| r2287_11(bool) = Call[operator bool] : func:r2287_10, this:r2287_9 -# 2287| mu2287_12(unknown) = ^CallSideEffect : ~m? -# 2287| v2287_13(void) = ^IndirectReadSideEffect[-1] : &:r2287_9, ~m? -# 2287| mu2287_14(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2287_9 -# 2287| r2287_15(bool) = CopyValue : r2287_11 -# 2287| v2287_16(void) = ConditionalBranch : r2287_15 +# 2293| Block 4 +# 2293| r2293_32(glval>) = VariableAddress[(__begin)] : +#-----| r0_7(glval>) = Convert : r2293_32 +# 2293| r2293_33(glval) = FunctionAddress[operator!=] : +#-----| r0_8(glval>) = VariableAddress[#temp0:0] : +#-----| mu0_9(iterator) = Uninitialized[#temp0:0] : &:r0_8 +# 2293| r2293_34(glval) = FunctionAddress[iterator] : +# 2293| r2293_35(glval>) = VariableAddress[(__end)] : +#-----| r0_10(glval>) = Convert : r2293_35 +#-----| r0_11(iterator &) = CopyValue : r0_10 +# 2293| v2293_36(void) = Call[iterator] : func:r2293_34, this:r0_8, 0:r0_11 +# 2293| mu2293_37(unknown) = ^CallSideEffect : ~m? +#-----| v0_12(void) = ^BufferReadSideEffect[0] : &:r0_11, ~m? +# 2293| mu2293_38(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_8 +#-----| r0_13(iterator) = Load[#temp0:0] : &:r0_8, ~m? +# 2293| r2293_39(bool) = Call[operator!=] : func:r2293_33, this:r0_7, 0:r0_13 +# 2293| mu2293_40(unknown) = ^CallSideEffect : ~m? +#-----| v0_14(void) = ^IndirectReadSideEffect[-1] : &:r0_7, ~m? +# 2293| v2293_41(void) = ConditionalBranch : r2293_39 #-----| False -> Block 6 #-----| True -> Block 5 -# 2288| Block 5 -# 2288| r2288_1(bool) = Constant[0] : -# 2288| r2288_2(glval) = VariableAddress[b] : -# 2288| mu2288_3(bool) = Store[b] : &:r2288_2, r2288_1 -# 2289| r2289_1(glval) = VariableAddress[B] : -# 2289| r2289_2(glval) = FunctionAddress[~Bool] : -# 2289| v2289_3(void) = Call[~Bool] : func:r2289_2, this:r2289_1 -# 2289| mu2289_4(unknown) = ^CallSideEffect : ~m? -# 2289| v2289_5(void) = ^IndirectReadSideEffect[-1] : &:r2289_1, ~m? -# 2289| mu2289_6(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2289_1 +# 2293| Block 5 +# 2293| r2293_42(glval) = VariableAddress[s] : +# 2293| mu2293_43(String) = Uninitialized[s] : &:r2293_42 +# 2293| r2293_44(glval) = FunctionAddress[String] : +# 2293| r2293_45(glval>) = VariableAddress[(__begin)] : +#-----| r0_15(glval>) = Convert : r2293_45 +# 2293| r2293_46(glval) = FunctionAddress[operator*] : +# 2293| r2293_47(String &) = Call[operator*] : func:r2293_46, this:r0_15 +# 2293| mu2293_48(unknown) = ^CallSideEffect : ~m? +#-----| v0_16(void) = ^IndirectReadSideEffect[-1] : &:r0_15, ~m? +# 2293| r2293_49(glval) = CopyValue : r2293_47 +# 2293| r2293_50(glval) = Convert : r2293_49 +# 2293| r2293_51(String &) = CopyValue : r2293_50 +# 2293| v2293_52(void) = Call[String] : func:r2293_44, this:r2293_42, 0:r2293_51 +# 2293| mu2293_53(unknown) = ^CallSideEffect : ~m? +# 2293| v2293_54(void) = ^BufferReadSideEffect[0] : &:r2293_51, ~m? +# 2293| mu2293_55(String) = ^IndirectMayWriteSideEffect[-1] : &:r2293_42 +# 2294| r2294_1(glval) = VariableAddress[s2] : +# 2294| mu2294_2(String) = Uninitialized[s2] : &:r2294_1 +# 2294| r2294_3(glval) = FunctionAddress[String] : +# 2294| v2294_4(void) = Call[String] : func:r2294_3, this:r2294_1 +# 2294| mu2294_5(unknown) = ^CallSideEffect : ~m? +# 2294| mu2294_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2294_1 +# 2295| r2295_1(glval) = VariableAddress[s2] : +# 2295| r2295_2(glval) = FunctionAddress[~String] : +# 2295| v2295_3(void) = Call[~String] : func:r2295_2, this:r2295_1 +# 2295| mu2295_4(unknown) = ^CallSideEffect : ~m? +# 2295| v2295_5(void) = ^IndirectReadSideEffect[-1] : &:r2295_1, ~m? +# 2295| mu2295_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2295_1 +# 2293| r2293_56(glval) = VariableAddress[s] : +# 2293| r2293_57(glval) = FunctionAddress[~String] : +# 2293| v2293_58(void) = Call[~String] : func:r2293_57, this:r2293_56 +# 2293| mu2293_59(unknown) = ^CallSideEffect : ~m? +# 2293| v2293_60(void) = ^IndirectReadSideEffect[-1] : &:r2293_56, ~m? +# 2293| mu2293_61(String) = ^IndirectMayWriteSideEffect[-1] : &:r2293_56 +# 2293| r2293_62(glval>) = VariableAddress[(__begin)] : +# 2293| r2293_63(glval) = FunctionAddress[operator++] : +# 2293| r2293_64(iterator &) = Call[operator++] : func:r2293_63, this:r2293_62 +# 2293| mu2293_65(unknown) = ^CallSideEffect : ~m? +# 2293| v2293_66(void) = ^IndirectReadSideEffect[-1] : &:r2293_62, ~m? +# 2293| mu2293_67(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2293_62 +# 2293| r2293_68(glval>) = CopyValue : r2293_64 #-----| Goto (back edge) -> Block 4 -# 2289| Block 6 -# 2289| r2289_7(glval) = VariableAddress[B] : -# 2289| r2289_8(glval) = FunctionAddress[~Bool] : -# 2289| v2289_9(void) = Call[~Bool] : func:r2289_8, this:r2289_7 -# 2289| mu2289_10(unknown) = ^CallSideEffect : ~m? -# 2289| v2289_11(void) = ^IndirectReadSideEffect[-1] : &:r2289_7, ~m? -# 2289| mu2289_12(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2289_7 -# 2291| v2291_1(void) = NoOp : -# 2278| v2278_6(void) = ReturnVoid : -# 2278| v2278_7(void) = AliasedUse : ~m? -# 2278| v2278_8(void) = ExitFunction : +# 2297| Block 6 +# 2297| r2297_1(glval) = VariableAddress[s] : +# 2297| mu2297_2(String) = Uninitialized[s] : &:r2297_1 +# 2297| r2297_3(glval) = FunctionAddress[String] : +# 2297| r2297_4(glval) = StringConstant["hello"] : +# 2297| r2297_5(char *) = Convert : r2297_4 +# 2297| v2297_6(void) = Call[String] : func:r2297_3, this:r2297_1, 0:r2297_5 +# 2297| mu2297_7(unknown) = ^CallSideEffect : ~m? +# 2297| v2297_8(void) = ^BufferReadSideEffect[0] : &:r2297_5, ~m? +# 2297| mu2297_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r2297_1 +# 2297| r2297_10(glval) = VariableAddress[s2] : +# 2297| mu2297_11(String) = Uninitialized[s2] : &:r2297_10 +# 2297| r2297_12(glval) = FunctionAddress[String] : +# 2297| r2297_13(glval) = StringConstant["world"] : +# 2297| r2297_14(char *) = Convert : r2297_13 +# 2297| v2297_15(void) = Call[String] : func:r2297_12, this:r2297_10, 0:r2297_14 +# 2297| mu2297_16(unknown) = ^CallSideEffect : ~m? +# 2297| v2297_17(void) = ^BufferReadSideEffect[0] : &:r2297_14, ~m? +# 2297| mu2297_18(String) = ^IndirectMayWriteSideEffect[-1] : &:r2297_10 +#-----| Goto -> Block 7 -# 2293| void VoidFunc() -# 2293| Block 0 -# 2293| v2293_1(void) = EnterFunction : -# 2293| mu2293_2(unknown) = AliasedDefinition : -# 2293| mu2293_3(unknown) = InitializeNonLocal : -# 2293| v2293_4(void) = NoOp : -# 2293| v2293_5(void) = ReturnVoid : -# 2293| v2293_6(void) = AliasedUse : ~m? -# 2293| v2293_7(void) = ExitFunction : +# 2297| Block 7 +# 2297| r2297_19(glval) = VariableAddress[c] : +# 2297| r2297_20(char) = Load[c] : &:r2297_19, ~m? +# 2297| r2297_21(int) = Convert : r2297_20 +# 2297| r2297_22(int) = Constant[0] : +# 2297| r2297_23(bool) = CompareNE : r2297_21, r2297_22 +# 2297| v2297_24(void) = ConditionalBranch : r2297_23 +#-----| False -> Block 9 +#-----| True -> Block 8 -# 2295| void IfReturnDestructors(bool) -# 2295| Block 0 -# 2295| v2295_1(void) = EnterFunction : -# 2295| mu2295_2(unknown) = AliasedDefinition : -# 2295| mu2295_3(unknown) = InitializeNonLocal : -# 2295| r2295_4(glval) = VariableAddress[b] : -# 2295| mu2295_5(bool) = InitializeParameter[b] : &:r2295_4 -# 2296| r2296_1(glval) = VariableAddress[s] : -# 2296| mu2296_2(String) = Uninitialized[s] : &:r2296_1 -# 2296| r2296_3(glval) = FunctionAddress[String] : -# 2296| v2296_4(void) = Call[String] : func:r2296_3, this:r2296_1 -# 2296| mu2296_5(unknown) = ^CallSideEffect : ~m? -# 2296| mu2296_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2296_1 -# 2297| r2297_1(glval) = VariableAddress[b] : -# 2297| r2297_2(bool) = Load[b] : &:r2297_1, ~m? -# 2297| v2297_3(void) = ConditionalBranch : r2297_2 +# 2298| Block 8 +# 2298| r2298_1(char) = Constant[0] : +# 2298| r2298_2(glval) = VariableAddress[c] : +# 2298| mu2298_3(char) = Store[c] : &:r2298_2, r2298_1 +# 2297| r2297_25(glval) = VariableAddress[s] : +# 2297| r2297_26(glval) = FunctionAddress[pop_back] : +# 2297| r2297_27(char) = Call[pop_back] : func:r2297_26, this:r2297_25 +# 2297| mu2297_28(unknown) = ^CallSideEffect : ~m? +# 2297| v2297_29(void) = ^IndirectReadSideEffect[-1] : &:r2297_25, ~m? +# 2297| mu2297_30(String) = ^IndirectMayWriteSideEffect[-1] : &:r2297_25 +# 2297| r2297_31(glval) = VariableAddress[c] : +# 2297| mu2297_32(char) = Store[c] : &:r2297_31, r2297_27 +#-----| Goto (back edge) -> Block 7 + +# 2297| Block 9 +# 2297| r2297_33(glval) = VariableAddress[s2] : +# 2297| r2297_34(glval) = FunctionAddress[~String] : +# 2297| v2297_35(void) = Call[~String] : func:r2297_34, this:r2297_33 +# 2297| mu2297_36(unknown) = ^CallSideEffect : ~m? +# 2297| v2297_37(void) = ^IndirectReadSideEffect[-1] : &:r2297_33, ~m? +# 2297| mu2297_38(String) = ^IndirectMayWriteSideEffect[-1] : &:r2297_33 +# 2297| r2297_39(glval) = VariableAddress[s] : +# 2297| r2297_40(glval) = FunctionAddress[~String] : +# 2297| v2297_41(void) = Call[~String] : func:r2297_40, this:r2297_39 +# 2297| mu2297_42(unknown) = ^CallSideEffect : ~m? +# 2297| v2297_43(void) = ^IndirectReadSideEffect[-1] : &:r2297_39, ~m? +# 2297| mu2297_44(String) = ^IndirectMayWriteSideEffect[-1] : &:r2297_39 +# 2300| v2300_1(void) = NoOp : +# 2287| v2287_4(void) = ReturnVoid : +# 2287| v2287_5(void) = AliasedUse : ~m? +# 2287| v2287_6(void) = ExitFunction : + +# 2302| void IfDestructors2(bool) +# 2302| Block 0 +# 2302| v2302_1(void) = EnterFunction : +# 2302| mu2302_2(unknown) = AliasedDefinition : +# 2302| mu2302_3(unknown) = InitializeNonLocal : +# 2302| r2302_4(glval) = VariableAddress[b] : +# 2302| mu2302_5(bool) = InitializeParameter[b] : &:r2302_4 +# 2303| r2303_1(glval) = VariableAddress[s] : +# 2303| mu2303_2(String) = Uninitialized[s] : &:r2303_1 +# 2303| r2303_3(glval) = FunctionAddress[String] : +# 2303| r2303_4(glval) = StringConstant["hello"] : +# 2303| r2303_5(char *) = Convert : r2303_4 +# 2303| v2303_6(void) = Call[String] : func:r2303_3, this:r2303_1, 0:r2303_5 +# 2303| mu2303_7(unknown) = ^CallSideEffect : ~m? +# 2303| v2303_8(void) = ^BufferReadSideEffect[0] : &:r2303_5, ~m? +# 2303| mu2303_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r2303_1 +# 2303| r2303_10(glval) = VariableAddress[b] : +# 2303| r2303_11(bool) = Load[b] : &:r2303_10, ~m? +# 2303| v2303_12(void) = ConditionalBranch : r2303_11 +#-----| False -> Block 2 +#-----| True -> Block 1 + +# 2304| Block 1 +# 2304| r2304_1(glval) = VariableAddress[x] : +# 2304| r2304_2(int) = Constant[0] : +# 2304| mu2304_3(int) = Store[x] : &:r2304_1, r2304_2 +#-----| Goto -> Block 3 + +# 2306| Block 2 +# 2306| r2306_1(glval) = VariableAddress[y] : +# 2306| r2306_2(int) = Constant[0] : +# 2306| mu2306_3(int) = Store[y] : &:r2306_1, r2306_2 +#-----| Goto -> Block 3 + +# 2307| Block 3 +# 2307| r2307_1(glval) = VariableAddress[s] : +# 2307| r2307_2(glval) = FunctionAddress[~String] : +# 2307| v2307_3(void) = Call[~String] : func:r2307_2, this:r2307_1 +# 2307| mu2307_4(unknown) = ^CallSideEffect : ~m? +# 2307| v2307_5(void) = ^IndirectReadSideEffect[-1] : &:r2307_1, ~m? +# 2307| mu2307_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2307_1 +# 2308| v2308_1(void) = NoOp : +# 2302| v2302_6(void) = ReturnVoid : +# 2302| v2302_7(void) = AliasedUse : ~m? +# 2302| v2302_8(void) = ExitFunction : + +# 2317| void IfDestructors3(bool) +# 2317| Block 0 +# 2317| v2317_1(void) = EnterFunction : +# 2317| mu2317_2(unknown) = AliasedDefinition : +# 2317| mu2317_3(unknown) = InitializeNonLocal : +# 2317| r2317_4(glval) = VariableAddress[b] : +# 2317| mu2317_5(bool) = InitializeParameter[b] : &:r2317_4 +# 2318| r2318_1(glval) = VariableAddress[B] : +# 2318| mu2318_2(Bool) = Uninitialized[B] : &:r2318_1 +# 2318| r2318_3(glval) = FunctionAddress[Bool] : +# 2318| r2318_4(glval) = VariableAddress[b] : +# 2318| r2318_5(bool) = Load[b] : &:r2318_4, ~m? +# 2318| v2318_6(void) = Call[Bool] : func:r2318_3, this:r2318_1, 0:r2318_5 +# 2318| mu2318_7(unknown) = ^CallSideEffect : ~m? +# 2318| mu2318_8(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2318_1 +# 2318| r2318_9(glval) = VariableAddress[B] : +# 2318| r2318_10(glval) = FunctionAddress[operator bool] : +# 2318| r2318_11(bool) = Call[operator bool] : func:r2318_10, this:r2318_9 +# 2318| mu2318_12(unknown) = ^CallSideEffect : ~m? +# 2318| v2318_13(void) = ^IndirectReadSideEffect[-1] : &:r2318_9, ~m? +# 2318| mu2318_14(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2318_9 +# 2318| r2318_15(bool) = CopyValue : r2318_11 +# 2318| v2318_16(void) = ConditionalBranch : r2318_15 +#-----| False -> Block 2 +#-----| True -> Block 1 + +# 2319| Block 1 +# 2319| r2319_1(glval) = VariableAddress[s1] : +# 2319| mu2319_2(String) = Uninitialized[s1] : &:r2319_1 +# 2319| r2319_3(glval) = FunctionAddress[String] : +# 2319| v2319_4(void) = Call[String] : func:r2319_3, this:r2319_1 +# 2319| mu2319_5(unknown) = ^CallSideEffect : ~m? +# 2319| mu2319_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2319_1 +# 2320| r2320_1(glval) = VariableAddress[s1] : +# 2320| r2320_2(glval) = FunctionAddress[~String] : +# 2320| v2320_3(void) = Call[~String] : func:r2320_2, this:r2320_1 +# 2320| mu2320_4(unknown) = ^CallSideEffect : ~m? +# 2320| v2320_5(void) = ^IndirectReadSideEffect[-1] : &:r2320_1, ~m? +# 2320| mu2320_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2320_1 +#-----| Goto -> Block 3 + +# 2321| Block 2 +# 2321| r2321_1(glval) = VariableAddress[s2] : +# 2321| mu2321_2(String) = Uninitialized[s2] : &:r2321_1 +# 2321| r2321_3(glval) = FunctionAddress[String] : +# 2321| v2321_4(void) = Call[String] : func:r2321_3, this:r2321_1 +# 2321| mu2321_5(unknown) = ^CallSideEffect : ~m? +# 2321| mu2321_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2321_1 +# 2322| r2322_1(glval) = VariableAddress[s2] : +# 2322| r2322_2(glval) = FunctionAddress[~String] : +# 2322| v2322_3(void) = Call[~String] : func:r2322_2, this:r2322_1 +# 2322| mu2322_4(unknown) = ^CallSideEffect : ~m? +# 2322| v2322_5(void) = ^IndirectReadSideEffect[-1] : &:r2322_1, ~m? +# 2322| mu2322_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2322_1 +#-----| Goto -> Block 3 + +# 2322| Block 3 +# 2322| r2322_7(glval) = VariableAddress[B] : +# 2322| r2322_8(glval) = FunctionAddress[~Bool] : +# 2322| v2322_9(void) = Call[~Bool] : func:r2322_8, this:r2322_7 +# 2322| mu2322_10(unknown) = ^CallSideEffect : ~m? +# 2322| v2322_11(void) = ^IndirectReadSideEffect[-1] : &:r2322_7, ~m? +# 2322| mu2322_12(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2322_7 +# 2323| v2323_1(void) = NoOp : +# 2317| v2317_6(void) = ReturnVoid : +# 2317| v2317_7(void) = AliasedUse : ~m? +# 2317| v2317_8(void) = ExitFunction : + +# 2325| void WhileLoopDestructors(bool) +# 2325| Block 0 +# 2325| v2325_1(void) = EnterFunction : +# 2325| mu2325_2(unknown) = AliasedDefinition : +# 2325| mu2325_3(unknown) = InitializeNonLocal : +# 2325| r2325_4(glval) = VariableAddress[b] : +# 2325| mu2325_5(bool) = InitializeParameter[b] : &:r2325_4 +# 2327| r2327_1(glval) = VariableAddress[s] : +# 2327| mu2327_2(String) = Uninitialized[s] : &:r2327_1 +# 2327| r2327_3(glval) = FunctionAddress[String] : +# 2327| v2327_4(void) = Call[String] : func:r2327_3, this:r2327_1 +# 2327| mu2327_5(unknown) = ^CallSideEffect : ~m? +# 2327| mu2327_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2327_1 +#-----| Goto -> Block 1 + +# 2328| Block 1 +# 2328| r2328_1(glval) = VariableAddress[b] : +# 2328| r2328_2(bool) = Load[b] : &:r2328_1, ~m? +# 2328| v2328_3(void) = ConditionalBranch : r2328_2 #-----| False -> Block 3 #-----| True -> Block 2 -# 2295| Block 1 -# 2295| v2295_6(void) = ReturnVoid : -# 2295| v2295_7(void) = AliasedUse : ~m? -# 2295| v2295_8(void) = ExitFunction : +# 2329| Block 2 +# 2329| r2329_1(bool) = Constant[0] : +# 2329| r2329_2(glval) = VariableAddress[b] : +# 2329| mu2329_3(bool) = Store[b] : &:r2329_2, r2329_1 +#-----| Goto (back edge) -> Block 1 -# 2298| Block 2 -# 2298| v2298_1(void) = NoOp : -# 2304| r2304_1(glval) = VariableAddress[s] : -# 2304| r2304_2(glval) = FunctionAddress[~String] : -# 2304| v2304_3(void) = Call[~String] : func:r2304_2, this:r2304_1 -# 2304| mu2304_4(unknown) = ^CallSideEffect : ~m? -# 2304| v2304_5(void) = ^IndirectReadSideEffect[-1] : &:r2304_1, ~m? -# 2304| mu2304_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2304_1 +# 2331| Block 3 +# 2331| r2331_1(glval) = VariableAddress[s] : +# 2331| r2331_2(glval) = FunctionAddress[~String] : +# 2331| v2331_3(void) = Call[~String] : func:r2331_2, this:r2331_1 +# 2331| mu2331_4(unknown) = ^CallSideEffect : ~m? +# 2331| v2331_5(void) = ^IndirectReadSideEffect[-1] : &:r2331_1, ~m? +# 2331| mu2331_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2331_1 +#-----| Goto -> Block 4 + +# 2334| Block 4 +# 2334| r2334_1(glval) = VariableAddress[B] : +# 2334| mu2334_2(Bool) = Uninitialized[B] : &:r2334_1 +# 2334| r2334_3(glval) = FunctionAddress[Bool] : +# 2334| r2334_4(glval) = VariableAddress[b] : +# 2334| r2334_5(bool) = Load[b] : &:r2334_4, ~m? +# 2334| v2334_6(void) = Call[Bool] : func:r2334_3, this:r2334_1, 0:r2334_5 +# 2334| mu2334_7(unknown) = ^CallSideEffect : ~m? +# 2334| mu2334_8(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2334_1 +# 2334| r2334_9(glval) = VariableAddress[B] : +# 2334| r2334_10(glval) = FunctionAddress[operator bool] : +# 2334| r2334_11(bool) = Call[operator bool] : func:r2334_10, this:r2334_9 +# 2334| mu2334_12(unknown) = ^CallSideEffect : ~m? +# 2334| v2334_13(void) = ^IndirectReadSideEffect[-1] : &:r2334_9, ~m? +# 2334| mu2334_14(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2334_9 +# 2334| r2334_15(bool) = CopyValue : r2334_11 +# 2334| v2334_16(void) = ConditionalBranch : r2334_15 +#-----| False -> Block 6 +#-----| True -> Block 5 + +# 2335| Block 5 +# 2335| r2335_1(bool) = Constant[0] : +# 2335| r2335_2(glval) = VariableAddress[b] : +# 2335| mu2335_3(bool) = Store[b] : &:r2335_2, r2335_1 +# 2336| r2336_1(glval) = VariableAddress[B] : +# 2336| r2336_2(glval) = FunctionAddress[~Bool] : +# 2336| v2336_3(void) = Call[~Bool] : func:r2336_2, this:r2336_1 +# 2336| mu2336_4(unknown) = ^CallSideEffect : ~m? +# 2336| v2336_5(void) = ^IndirectReadSideEffect[-1] : &:r2336_1, ~m? +# 2336| mu2336_6(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2336_1 +#-----| Goto (back edge) -> Block 4 + +# 2336| Block 6 +# 2336| r2336_7(glval) = VariableAddress[B] : +# 2336| r2336_8(glval) = FunctionAddress[~Bool] : +# 2336| v2336_9(void) = Call[~Bool] : func:r2336_8, this:r2336_7 +# 2336| mu2336_10(unknown) = ^CallSideEffect : ~m? +# 2336| v2336_11(void) = ^IndirectReadSideEffect[-1] : &:r2336_7, ~m? +# 2336| mu2336_12(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2336_7 +# 2338| v2338_1(void) = NoOp : +# 2325| v2325_6(void) = ReturnVoid : +# 2325| v2325_7(void) = AliasedUse : ~m? +# 2325| v2325_8(void) = ExitFunction : + +# 2340| void VoidFunc() +# 2340| Block 0 +# 2340| v2340_1(void) = EnterFunction : +# 2340| mu2340_2(unknown) = AliasedDefinition : +# 2340| mu2340_3(unknown) = InitializeNonLocal : +# 2340| v2340_4(void) = NoOp : +# 2340| v2340_5(void) = ReturnVoid : +# 2340| v2340_6(void) = AliasedUse : ~m? +# 2340| v2340_7(void) = ExitFunction : + +# 2342| void IfReturnDestructors(bool) +# 2342| Block 0 +# 2342| v2342_1(void) = EnterFunction : +# 2342| mu2342_2(unknown) = AliasedDefinition : +# 2342| mu2342_3(unknown) = InitializeNonLocal : +# 2342| r2342_4(glval) = VariableAddress[b] : +# 2342| mu2342_5(bool) = InitializeParameter[b] : &:r2342_4 +# 2343| r2343_1(glval) = VariableAddress[s] : +# 2343| mu2343_2(String) = Uninitialized[s] : &:r2343_1 +# 2343| r2343_3(glval) = FunctionAddress[String] : +# 2343| v2343_4(void) = Call[String] : func:r2343_3, this:r2343_1 +# 2343| mu2343_5(unknown) = ^CallSideEffect : ~m? +# 2343| mu2343_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2343_1 +# 2344| r2344_1(glval) = VariableAddress[b] : +# 2344| r2344_2(bool) = Load[b] : &:r2344_1, ~m? +# 2344| v2344_3(void) = ConditionalBranch : r2344_2 +#-----| False -> Block 3 +#-----| True -> Block 2 + +# 2342| Block 1 +# 2342| v2342_6(void) = ReturnVoid : +# 2342| v2342_7(void) = AliasedUse : ~m? +# 2342| v2342_8(void) = ExitFunction : + +# 2345| Block 2 +# 2345| v2345_1(void) = NoOp : +# 2351| r2351_1(glval) = VariableAddress[s] : +# 2351| r2351_2(glval) = FunctionAddress[~String] : +# 2351| v2351_3(void) = Call[~String] : func:r2351_2, this:r2351_1 +# 2351| mu2351_4(unknown) = ^CallSideEffect : ~m? +# 2351| v2351_5(void) = ^IndirectReadSideEffect[-1] : &:r2351_1, ~m? +# 2351| mu2351_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2351_1 #-----| Goto -> Block 1 -# 2300| Block 3 -# 2300| r2300_1(glval) = VariableAddress[b] : -# 2300| r2300_2(bool) = Load[b] : &:r2300_1, ~m? -# 2300| v2300_3(void) = ConditionalBranch : r2300_2 +# 2347| Block 3 +# 2347| r2347_1(glval) = VariableAddress[b] : +# 2347| r2347_2(bool) = Load[b] : &:r2347_1, ~m? +# 2347| v2347_3(void) = ConditionalBranch : r2347_2 #-----| False -> Block 5 #-----| True -> Block 4 -# 2301| Block 4 -# 2301| r2301_1(glval) = FunctionAddress[VoidFunc] : -# 2301| v2301_2(void) = Call[VoidFunc] : func:r2301_1 -# 2301| mu2301_3(unknown) = ^CallSideEffect : ~m? -# 2301| v2301_4(void) = NoOp : -# 2304| r2304_7(glval) = VariableAddress[s] : -# 2304| r2304_8(glval) = FunctionAddress[~String] : -# 2304| v2304_9(void) = Call[~String] : func:r2304_8, this:r2304_7 -# 2304| mu2304_10(unknown) = ^CallSideEffect : ~m? -# 2304| v2304_11(void) = ^IndirectReadSideEffect[-1] : &:r2304_7, ~m? -# 2304| mu2304_12(String) = ^IndirectMayWriteSideEffect[-1] : &:r2304_7 +# 2348| Block 4 +# 2348| r2348_1(glval) = FunctionAddress[VoidFunc] : +# 2348| v2348_2(void) = Call[VoidFunc] : func:r2348_1 +# 2348| mu2348_3(unknown) = ^CallSideEffect : ~m? +# 2348| v2348_4(void) = NoOp : +# 2351| r2351_7(glval) = VariableAddress[s] : +# 2351| r2351_8(glval) = FunctionAddress[~String] : +# 2351| v2351_9(void) = Call[~String] : func:r2351_8, this:r2351_7 +# 2351| mu2351_10(unknown) = ^CallSideEffect : ~m? +# 2351| v2351_11(void) = ^IndirectReadSideEffect[-1] : &:r2351_7, ~m? +# 2351| mu2351_12(String) = ^IndirectMayWriteSideEffect[-1] : &:r2351_7 #-----| Goto -> Block 1 -# 2303| Block 5 -# 2303| r2303_1(glval) = VariableAddress[s] : -# 2304| v2304_13(void) = NoOp : -# 2304| r2304_14(glval) = VariableAddress[s] : -# 2304| r2304_15(glval) = FunctionAddress[~String] : -# 2304| v2304_16(void) = Call[~String] : func:r2304_15, this:r2304_14 -# 2304| mu2304_17(unknown) = ^CallSideEffect : ~m? -# 2304| v2304_18(void) = ^IndirectReadSideEffect[-1] : &:r2304_14, ~m? -# 2304| mu2304_19(String) = ^IndirectMayWriteSideEffect[-1] : &:r2304_14 +# 2350| Block 5 +# 2350| r2350_1(glval) = VariableAddress[s] : +# 2351| v2351_13(void) = NoOp : +# 2351| r2351_14(glval) = VariableAddress[s] : +# 2351| r2351_15(glval) = FunctionAddress[~String] : +# 2351| v2351_16(void) = Call[~String] : func:r2351_15, this:r2351_14 +# 2351| mu2351_17(unknown) = ^CallSideEffect : ~m? +# 2351| v2351_18(void) = ^IndirectReadSideEffect[-1] : &:r2351_14, ~m? +# 2351| mu2351_19(String) = ^IndirectMayWriteSideEffect[-1] : &:r2351_14 #-----| Goto -> Block 1 -# 2306| int IfReturnDestructors3(bool) -# 2306| Block 0 -# 2306| v2306_1(void) = EnterFunction : -# 2306| mu2306_2(unknown) = AliasedDefinition : -# 2306| mu2306_3(unknown) = InitializeNonLocal : -# 2306| r2306_4(glval) = VariableAddress[b] : -# 2306| mu2306_5(bool) = InitializeParameter[b] : &:r2306_4 -# 2307| r2307_1(glval) = VariableAddress[s] : -# 2307| mu2307_2(String) = Uninitialized[s] : &:r2307_1 -# 2307| r2307_3(glval) = FunctionAddress[String] : -# 2307| v2307_4(void) = Call[String] : func:r2307_3, this:r2307_1 -# 2307| mu2307_5(unknown) = ^CallSideEffect : ~m? -# 2307| mu2307_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2307_1 -# 2308| r2308_1(glval) = VariableAddress[b] : -# 2308| r2308_2(bool) = Load[b] : &:r2308_1, ~m? -# 2308| v2308_3(void) = ConditionalBranch : r2308_2 +# 2353| int IfReturnDestructors3(bool) +# 2353| Block 0 +# 2353| v2353_1(void) = EnterFunction : +# 2353| mu2353_2(unknown) = AliasedDefinition : +# 2353| mu2353_3(unknown) = InitializeNonLocal : +# 2353| r2353_4(glval) = VariableAddress[b] : +# 2353| mu2353_5(bool) = InitializeParameter[b] : &:r2353_4 +# 2354| r2354_1(glval) = VariableAddress[s] : +# 2354| mu2354_2(String) = Uninitialized[s] : &:r2354_1 +# 2354| r2354_3(glval) = FunctionAddress[String] : +# 2354| v2354_4(void) = Call[String] : func:r2354_3, this:r2354_1 +# 2354| mu2354_5(unknown) = ^CallSideEffect : ~m? +# 2354| mu2354_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2354_1 +# 2355| r2355_1(glval) = VariableAddress[b] : +# 2355| r2355_2(bool) = Load[b] : &:r2355_1, ~m? +# 2355| v2355_3(void) = ConditionalBranch : r2355_2 #-----| False -> Block 3 #-----| True -> Block 2 -# 2306| Block 1 -# 2306| r2306_6(glval) = VariableAddress[#return] : -# 2306| v2306_7(void) = ReturnValue : &:r2306_6, ~m? -# 2306| v2306_8(void) = AliasedUse : ~m? -# 2306| v2306_9(void) = ExitFunction : +# 2353| Block 1 +# 2353| r2353_6(glval) = VariableAddress[#return] : +# 2353| v2353_7(void) = ReturnValue : &:r2353_6, ~m? +# 2353| v2353_8(void) = AliasedUse : ~m? +# 2353| v2353_9(void) = ExitFunction : -# 2309| Block 2 -# 2309| r2309_1(glval) = VariableAddress[#return] : -# 2309| r2309_2(int) = Constant[1] : -# 2309| mu2309_3(int) = Store[#return] : &:r2309_1, r2309_2 -# 2312| r2312_1(glval) = VariableAddress[s] : -# 2312| r2312_2(glval) = FunctionAddress[~String] : -# 2312| v2312_3(void) = Call[~String] : func:r2312_2, this:r2312_1 -# 2312| mu2312_4(unknown) = ^CallSideEffect : ~m? -# 2312| v2312_5(void) = ^IndirectReadSideEffect[-1] : &:r2312_1, ~m? -# 2312| mu2312_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2312_1 +# 2356| Block 2 +# 2356| r2356_1(glval) = VariableAddress[#return] : +# 2356| r2356_2(int) = Constant[1] : +# 2356| mu2356_3(int) = Store[#return] : &:r2356_1, r2356_2 +# 2359| r2359_1(glval) = VariableAddress[s] : +# 2359| r2359_2(glval) = FunctionAddress[~String] : +# 2359| v2359_3(void) = Call[~String] : func:r2359_2, this:r2359_1 +# 2359| mu2359_4(unknown) = ^CallSideEffect : ~m? +# 2359| v2359_5(void) = ^IndirectReadSideEffect[-1] : &:r2359_1, ~m? +# 2359| mu2359_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2359_1 #-----| Goto -> Block 1 -# 2311| Block 3 -# 2311| r2311_1(glval) = VariableAddress[#return] : -# 2311| r2311_2(int) = Constant[0] : -# 2311| mu2311_3(int) = Store[#return] : &:r2311_1, r2311_2 -# 2312| r2312_7(glval) = VariableAddress[s] : -# 2312| r2312_8(glval) = FunctionAddress[~String] : -# 2312| v2312_9(void) = Call[~String] : func:r2312_8, this:r2312_7 -# 2312| mu2312_10(unknown) = ^CallSideEffect : ~m? -# 2312| v2312_11(void) = ^IndirectReadSideEffect[-1] : &:r2312_7, ~m? -# 2312| mu2312_12(String) = ^IndirectMayWriteSideEffect[-1] : &:r2312_7 +# 2358| Block 3 +# 2358| r2358_1(glval) = VariableAddress[#return] : +# 2358| r2358_2(int) = Constant[0] : +# 2358| mu2358_3(int) = Store[#return] : &:r2358_1, r2358_2 +# 2359| r2359_7(glval) = VariableAddress[s] : +# 2359| r2359_8(glval) = FunctionAddress[~String] : +# 2359| v2359_9(void) = Call[~String] : func:r2359_8, this:r2359_7 +# 2359| mu2359_10(unknown) = ^CallSideEffect : ~m? +# 2359| v2359_11(void) = ^IndirectReadSideEffect[-1] : &:r2359_7, ~m? +# 2359| mu2359_12(String) = ^IndirectMayWriteSideEffect[-1] : &:r2359_7 #-----| Goto -> Block 1 -# 2314| void VoidReturnDestructors() -# 2314| Block 0 -# 2314| v2314_1(void) = EnterFunction : -# 2314| mu2314_2(unknown) = AliasedDefinition : -# 2314| mu2314_3(unknown) = InitializeNonLocal : -# 2315| r2315_1(glval) = VariableAddress[s] : -# 2315| mu2315_2(String) = Uninitialized[s] : &:r2315_1 -# 2315| r2315_3(glval) = FunctionAddress[String] : -# 2315| v2315_4(void) = Call[String] : func:r2315_3, this:r2315_1 -# 2315| mu2315_5(unknown) = ^CallSideEffect : ~m? -# 2315| mu2315_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2315_1 -# 2316| r2316_1(glval) = FunctionAddress[VoidFunc] : -# 2316| v2316_2(void) = Call[VoidFunc] : func:r2316_1 -# 2316| mu2316_3(unknown) = ^CallSideEffect : ~m? -# 2316| v2316_4(void) = NoOp : -# 2317| r2317_1(glval) = VariableAddress[s] : -# 2317| r2317_2(glval) = FunctionAddress[~String] : -# 2317| v2317_3(void) = Call[~String] : func:r2317_2, this:r2317_1 -# 2317| mu2317_4(unknown) = ^CallSideEffect : ~m? -# 2317| v2317_5(void) = ^IndirectReadSideEffect[-1] : &:r2317_1, ~m? -# 2317| mu2317_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2317_1 -# 2314| v2314_4(void) = ReturnVoid : -# 2314| v2314_5(void) = AliasedUse : ~m? -# 2314| v2314_6(void) = ExitFunction : +# 2361| void VoidReturnDestructors() +# 2361| Block 0 +# 2361| v2361_1(void) = EnterFunction : +# 2361| mu2361_2(unknown) = AliasedDefinition : +# 2361| mu2361_3(unknown) = InitializeNonLocal : +# 2362| r2362_1(glval) = VariableAddress[s] : +# 2362| mu2362_2(String) = Uninitialized[s] : &:r2362_1 +# 2362| r2362_3(glval) = FunctionAddress[String] : +# 2362| v2362_4(void) = Call[String] : func:r2362_3, this:r2362_1 +# 2362| mu2362_5(unknown) = ^CallSideEffect : ~m? +# 2362| mu2362_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2362_1 +# 2363| r2363_1(glval) = FunctionAddress[VoidFunc] : +# 2363| v2363_2(void) = Call[VoidFunc] : func:r2363_1 +# 2363| mu2363_3(unknown) = ^CallSideEffect : ~m? +# 2363| v2363_4(void) = NoOp : +# 2364| r2364_1(glval) = VariableAddress[s] : +# 2364| r2364_2(glval) = FunctionAddress[~String] : +# 2364| v2364_3(void) = Call[~String] : func:r2364_2, this:r2364_1 +# 2364| mu2364_4(unknown) = ^CallSideEffect : ~m? +# 2364| v2364_5(void) = ^IndirectReadSideEffect[-1] : &:r2364_1, ~m? +# 2364| mu2364_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2364_1 +# 2361| v2361_4(void) = ReturnVoid : +# 2361| v2361_5(void) = AliasedUse : ~m? +# 2361| v2361_6(void) = ExitFunction : -# 2327| return_routine_type::VoidToIntMemberFunc return_routine_type::GetVoidToIntFunc() -# 2327| Block 0 -# 2327| v2327_1(void) = EnterFunction : -# 2327| mu2327_2(unknown) = AliasedDefinition : -# 2327| mu2327_3(unknown) = InitializeNonLocal : -# 2329| r2329_1(glval<..:: *>) = VariableAddress[#return] : -# 2329| r2329_2(..()(..)) = FunctionAddress[VoidToInt] : -# 2329| mu2329_3(..:: *) = Store[#return] : &:r2329_1, r2329_2 -# 2327| r2327_4(glval<..:: *>) = VariableAddress[#return] : -# 2327| v2327_5(void) = ReturnValue : &:r2327_4, ~m? -# 2327| v2327_6(void) = AliasedUse : ~m? -# 2327| v2327_7(void) = ExitFunction : +# 2374| return_routine_type::VoidToIntMemberFunc return_routine_type::GetVoidToIntFunc() +# 2374| Block 0 +# 2374| v2374_1(void) = EnterFunction : +# 2374| mu2374_2(unknown) = AliasedDefinition : +# 2374| mu2374_3(unknown) = InitializeNonLocal : +# 2376| r2376_1(glval<..:: *>) = VariableAddress[#return] : +# 2376| r2376_2(..()(..)) = FunctionAddress[VoidToInt] : +# 2376| mu2376_3(..:: *) = Store[#return] : &:r2376_1, r2376_2 +# 2374| r2374_4(glval<..:: *>) = VariableAddress[#return] : +# 2374| v2374_5(void) = ReturnValue : &:r2374_4, ~m? +# 2374| v2374_6(void) = AliasedUse : ~m? +# 2374| v2374_7(void) = ExitFunction : + +# 2381| int small_operation_should_not_be_constant_folded() +# 2381| Block 0 +# 2381| v2381_1(void) = EnterFunction : +# 2381| mu2381_2(unknown) = AliasedDefinition : +# 2381| mu2381_3(unknown) = InitializeNonLocal : +# 2382| r2382_1(glval) = VariableAddress[#return] : +# 2382| r2382_2(int) = Constant[1] : +# 2382| r2382_3(int) = Constant[2] : +# 2382| r2382_4(int) = BitXor : r2382_2, r2382_3 +# 2382| mu2382_5(int) = Store[#return] : &:r2382_1, r2382_4 +# 2381| r2381_4(glval) = VariableAddress[#return] : +# 2381| v2381_5(void) = ReturnValue : &:r2381_4, ~m? +# 2381| v2381_6(void) = AliasedUse : ~m? +# 2381| v2381_7(void) = ExitFunction : + +# 2392| int large_operation_should_be_constant_folded() +# 2392| Block 0 +# 2392| v2392_1(void) = EnterFunction : +# 2392| mu2392_2(unknown) = AliasedDefinition : +# 2392| mu2392_3(unknown) = InitializeNonLocal : +# 2393| r2393_1(glval) = VariableAddress[#return] : +# 2393| r2393_2(int) = Constant[0] : +# 2393| mu2393_3(int) = Store[#return] : &:r2393_1, r2393_2 +# 2392| r2392_4(glval) = VariableAddress[#return] : +# 2392| v2392_5(void) = ReturnValue : &:r2392_4, ~m? +# 2392| v2392_6(void) = AliasedUse : ~m? +# 2392| v2392_7(void) = ExitFunction : + +# 2396| void initialization_with_temp_destructor() +# 2396| Block 0 +# 2396| v2396_1(void) = EnterFunction : +# 2396| mu2396_2(unknown) = AliasedDefinition : +# 2396| mu2396_3(unknown) = InitializeNonLocal : +# 2397| r2397_1(glval) = VariableAddress[x] : +# 2397| r2397_2(glval) = VariableAddress[#temp2397:18] : +# 2397| mu2397_3(ClassWithDestructor) = Uninitialized[#temp2397:18] : &:r2397_2 +# 2397| r2397_4(glval) = FunctionAddress[ClassWithDestructor] : +# 2397| v2397_5(void) = Call[ClassWithDestructor] : func:r2397_4, this:r2397_2 +# 2397| mu2397_6(unknown) = ^CallSideEffect : ~m? +# 2397| mu2397_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2397_2 +# 2397| r2397_8(glval) = FunctionAddress[get_x] : +# 2397| r2397_9(char) = Call[get_x] : func:r2397_8, this:r2397_2 +# 2397| mu2397_10(unknown) = ^CallSideEffect : ~m? +# 2397| v2397_11(void) = ^IndirectReadSideEffect[-1] : &:r2397_2, ~m? +# 2397| mu2397_12(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2397_2 +# 2397| mu2397_13(char) = Store[x] : &:r2397_1, r2397_9 +# 2397| r2397_14(glval) = VariableAddress[x] : +# 2397| r2397_15(char) = Load[x] : &:r2397_14, ~m? +# 2397| r2397_16(char) = Constant[0] : +# 2397| r2397_17(bool) = CompareNE : r2397_15, r2397_16 +# 2397| r2397_18(bool) = CopyValue : r2397_17 +# 2397| v2397_19(void) = ConditionalBranch : r2397_18 +#-----| False -> Block 2 +#-----| True -> Block 1 + +# 2398| Block 1 +# 2398| r2398_1(glval) = VariableAddress[x] : +# 2398| r2398_2(char) = Load[x] : &:r2398_1, ~m? +# 2398| r2398_3(char) = Constant[1] : +# 2398| r2398_4(char) = Add : r2398_2, r2398_3 +# 2398| mu2398_5(char) = Store[x] : &:r2398_1, r2398_4 +#-----| Goto -> Block 2 + +# 2400| Block 2 +# 2400| r2400_1(glval) = VariableAddress[x] : +# 2400| r2400_2(glval) = VariableAddress[#temp2400:18] : +# 2400| mu2400_3(ClassWithDestructor) = Uninitialized[#temp2400:18] : &:r2400_2 +# 2400| r2400_4(glval) = FunctionAddress[ClassWithDestructor] : +# 2400| v2400_5(void) = Call[ClassWithDestructor] : func:r2400_4, this:r2400_2 +# 2400| mu2400_6(unknown) = ^CallSideEffect : ~m? +# 2400| mu2400_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2400_2 +# 2400| r2400_8(glval) = FunctionAddress[get_x] : +# 2400| r2400_9(char) = Call[get_x] : func:r2400_8, this:r2400_2 +# 2400| mu2400_10(unknown) = ^CallSideEffect : ~m? +# 2400| v2400_11(void) = ^IndirectReadSideEffect[-1] : &:r2400_2, ~m? +# 2400| mu2400_12(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2400_2 +# 2400| mu2400_13(char) = Store[x] : &:r2400_1, r2400_9 +# 2400| r2400_14(glval) = VariableAddress[x] : +# 2400| r2400_15(char) = Load[x] : &:r2400_14, ~m? +# 2400| r2400_16(char) = Constant[0] : +# 2400| r2400_17(bool) = CompareNE : r2400_15, r2400_16 +# 2400| v2400_18(void) = ConditionalBranch : r2400_17 +#-----| False -> Block 4 +#-----| True -> Block 3 + +# 2401| Block 3 +# 2401| r2401_1(glval) = VariableAddress[x] : +# 2401| r2401_2(char) = Load[x] : &:r2401_1, ~m? +# 2401| r2401_3(char) = Constant[1] : +# 2401| r2401_4(char) = Add : r2401_2, r2401_3 +# 2401| mu2401_5(char) = Store[x] : &:r2401_1, r2401_4 +#-----| Goto -> Block 4 + +# 2403| Block 4 +# 2403| r2403_1(glval) = VariableAddress[x] : +# 2403| r2403_2(glval) = VariableAddress[#temp2403:28] : +# 2403| mu2403_3(ClassWithDestructor) = Uninitialized[#temp2403:28] : &:r2403_2 +# 2403| r2403_4(glval) = FunctionAddress[ClassWithDestructor] : +# 2403| v2403_5(void) = Call[ClassWithDestructor] : func:r2403_4, this:r2403_2 +# 2403| mu2403_6(unknown) = ^CallSideEffect : ~m? +# 2403| mu2403_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2403_2 +# 2403| r2403_8(glval) = FunctionAddress[get_x] : +# 2403| r2403_9(char) = Call[get_x] : func:r2403_8, this:r2403_2 +# 2403| mu2403_10(unknown) = ^CallSideEffect : ~m? +# 2403| v2403_11(void) = ^IndirectReadSideEffect[-1] : &:r2403_2, ~m? +# 2403| mu2403_12(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2403_2 +# 2403| mu2403_13(char) = Store[x] : &:r2403_1, r2403_9 +# 2403| r2403_14(bool) = Constant[1] : +# 2403| v2403_15(void) = ConditionalBranch : r2403_14 +#-----| False -> Block 6 +#-----| True -> Block 5 + +# 2404| Block 5 +# 2404| r2404_1(glval) = VariableAddress[x] : +# 2404| r2404_2(char) = Load[x] : &:r2404_1, ~m? +# 2404| r2404_3(char) = Constant[1] : +# 2404| r2404_4(char) = Add : r2404_2, r2404_3 +# 2404| mu2404_5(char) = Store[x] : &:r2404_1, r2404_4 +#-----| Goto -> Block 6 + +# 2406| Block 6 +# 2406| r2406_1(glval) = VariableAddress[x] : +# 2406| r2406_2(glval) = VariableAddress[#temp2406:21] : +# 2406| mu2406_3(ClassWithDestructor) = Uninitialized[#temp2406:21] : &:r2406_2 +# 2406| r2406_4(glval) = FunctionAddress[ClassWithDestructor] : +# 2406| v2406_5(void) = Call[ClassWithDestructor] : func:r2406_4, this:r2406_2 +# 2406| mu2406_6(unknown) = ^CallSideEffect : ~m? +# 2406| mu2406_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2406_2 +# 2406| r2406_8(glval) = FunctionAddress[get_x] : +# 2406| r2406_9(char) = Call[get_x] : func:r2406_8, this:r2406_2 +# 2406| mu2406_10(unknown) = ^CallSideEffect : ~m? +# 2406| v2406_11(void) = ^IndirectReadSideEffect[-1] : &:r2406_2, ~m? +# 2406| mu2406_12(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2406_2 +# 2406| mu2406_13(char) = Store[x] : &:r2406_1, r2406_9 +# 2406| r2406_14(glval) = VariableAddress[x] : +# 2406| r2406_15(char) = Load[x] : &:r2406_14, ~m? +# 2406| r2406_16(int) = Convert : r2406_15 +# 2406| r2406_17(int) = CopyValue : r2406_16 +# 2406| v2406_18(void) = Switch : r2406_17 +#-----| Case[97] -> Block 7 +#-----| Default -> Block 8 + +# 2407| Block 7 +# 2407| v2407_1(void) = NoOp : +# 2408| r2408_1(glval) = VariableAddress[x] : +# 2408| r2408_2(char) = Load[x] : &:r2408_1, ~m? +# 2408| r2408_3(char) = Constant[1] : +# 2408| r2408_4(char) = Add : r2408_2, r2408_3 +# 2408| mu2408_5(char) = Store[x] : &:r2408_1, r2408_4 +#-----| Goto -> Block 8 + +# 2411| Block 8 +# 2411| r2411_1(glval) = VariableAddress[x] : +# 2411| r2411_2(glval) = VariableAddress[#temp2411:21] : +# 2411| mu2411_3(ClassWithDestructor) = Uninitialized[#temp2411:21] : &:r2411_2 +# 2411| r2411_4(glval) = FunctionAddress[ClassWithDestructor] : +# 2411| v2411_5(void) = Call[ClassWithDestructor] : func:r2411_4, this:r2411_2 +# 2411| mu2411_6(unknown) = ^CallSideEffect : ~m? +# 2411| mu2411_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2411_2 +# 2411| r2411_8(glval) = FunctionAddress[get_x] : +# 2411| r2411_9(char) = Call[get_x] : func:r2411_8, this:r2411_2 +# 2411| mu2411_10(unknown) = ^CallSideEffect : ~m? +# 2411| v2411_11(void) = ^IndirectReadSideEffect[-1] : &:r2411_2, ~m? +# 2411| mu2411_12(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2411_2 +# 2411| mu2411_13(char) = Store[x] : &:r2411_1, r2411_9 +# 2411| r2411_14(glval) = VariableAddress[x] : +# 2411| r2411_15(char) = Load[x] : &:r2411_14, ~m? +# 2411| r2411_16(int) = Convert : r2411_15 +# 2411| v2411_17(void) = Switch : r2411_16 +#-----| Case[97] -> Block 9 +#-----| Default -> Block 10 + +# 2412| Block 9 +# 2412| v2412_1(void) = NoOp : +# 2413| r2413_1(glval) = VariableAddress[x] : +# 2413| r2413_2(char) = Load[x] : &:r2413_1, ~m? +# 2413| r2413_3(char) = Constant[1] : +# 2413| r2413_4(char) = Add : r2413_2, r2413_3 +# 2413| mu2413_5(char) = Store[x] : &:r2413_1, r2413_4 +#-----| Goto -> Block 10 + +# 2416| Block 10 +# 2416| r2416_1(glval) = VariableAddress[x] : +# 2416| r2416_2(glval) = VariableAddress[#temp2416:18] : +# 2416| mu2416_3(ClassWithDestructor) = Uninitialized[#temp2416:18] : &:r2416_2 +# 2416| r2416_4(glval) = FunctionAddress[ClassWithDestructor] : +# 2416| v2416_5(void) = Call[ClassWithDestructor] : func:r2416_4, this:r2416_2 +# 2416| mu2416_6(unknown) = ^CallSideEffect : ~m? +# 2416| mu2416_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2416_2 +# 2416| r2416_8(glval) = FunctionAddress[get_x] : +# 2416| r2416_9(char) = Call[get_x] : func:r2416_8, this:r2416_2 +# 2416| mu2416_10(unknown) = ^CallSideEffect : ~m? +# 2416| v2416_11(void) = ^IndirectReadSideEffect[-1] : &:r2416_2, ~m? +# 2416| mu2416_12(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2416_2 +# 2416| mu2416_13(char) = Store[x] : &:r2416_1, r2416_9 +# 2416| r2416_14(glval &&>) = VariableAddress[(__range)] : +# 2416| r2416_15(glval>) = VariableAddress[#temp2416:58] : +# 2416| mu2416_16(vector) = Uninitialized[#temp2416:58] : &:r2416_15 +# 2416| r2416_17(glval) = FunctionAddress[vector] : +# 2416| r2416_18(glval) = VariableAddress[x] : +# 2416| r2416_19(char) = Load[x] : &:r2416_18, ~m? +# 2416| v2416_20(void) = Call[vector] : func:r2416_17, this:r2416_15, 0:r2416_19 +# 2416| mu2416_21(unknown) = ^CallSideEffect : ~m? +# 2416| mu2416_22(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2416_15 +# 2416| r2416_23(vector &) = CopyValue : r2416_15 +# 2416| mu2416_24(vector &&) = Store[(__range)] : &:r2416_14, r2416_23 +# 2416| r2416_25(glval>) = VariableAddress[(__begin)] : +# 2416| r2416_26(glval &&>) = VariableAddress[(__range)] : +# 2416| r2416_27(vector &&) = Load[(__range)] : &:r2416_26, ~m? +#-----| r0_1(glval>) = CopyValue : r2416_27 +#-----| r0_2(glval>) = Convert : r0_1 +# 2416| r2416_28(glval) = FunctionAddress[begin] : +# 2416| r2416_29(iterator) = Call[begin] : func:r2416_28, this:r0_2 +#-----| v0_3(void) = ^IndirectReadSideEffect[-1] : &:r0_2, ~m? +# 2416| mu2416_30(iterator) = Store[(__begin)] : &:r2416_25, r2416_29 +# 2416| r2416_31(glval>) = VariableAddress[(__end)] : +# 2416| r2416_32(glval &&>) = VariableAddress[(__range)] : +# 2416| r2416_33(vector &&) = Load[(__range)] : &:r2416_32, ~m? +#-----| r0_4(glval>) = CopyValue : r2416_33 +#-----| r0_5(glval>) = Convert : r0_4 +# 2416| r2416_34(glval) = FunctionAddress[end] : +# 2416| r2416_35(iterator) = Call[end] : func:r2416_34, this:r0_5 +#-----| v0_6(void) = ^IndirectReadSideEffect[-1] : &:r0_5, ~m? +# 2416| mu2416_36(iterator) = Store[(__end)] : &:r2416_31, r2416_35 +#-----| Goto -> Block 11 + +# 2416| Block 11 +# 2416| r2416_37(glval>) = VariableAddress[(__begin)] : +#-----| r0_7(glval>) = Convert : r2416_37 +# 2416| r2416_38(glval) = FunctionAddress[operator!=] : +#-----| r0_8(glval>) = VariableAddress[#temp0:0] : +#-----| mu0_9(iterator) = Uninitialized[#temp0:0] : &:r0_8 +# 2416| r2416_39(glval) = FunctionAddress[iterator] : +# 2416| r2416_40(glval>) = VariableAddress[(__end)] : +#-----| r0_10(glval>) = Convert : r2416_40 +#-----| r0_11(iterator &) = CopyValue : r0_10 +# 2416| v2416_41(void) = Call[iterator] : func:r2416_39, this:r0_8, 0:r0_11 +# 2416| mu2416_42(unknown) = ^CallSideEffect : ~m? +#-----| v0_12(void) = ^BufferReadSideEffect[0] : &:r0_11, ~m? +# 2416| mu2416_43(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_8 +#-----| r0_13(iterator) = Load[#temp0:0] : &:r0_8, ~m? +# 2416| r2416_44(bool) = Call[operator!=] : func:r2416_38, this:r0_7, 0:r0_13 +# 2416| mu2416_45(unknown) = ^CallSideEffect : ~m? +#-----| v0_14(void) = ^IndirectReadSideEffect[-1] : &:r0_7, ~m? +# 2416| v2416_46(void) = ConditionalBranch : r2416_44 +#-----| False -> Block 13 +#-----| True -> Block 12 + +# 2416| Block 12 +# 2416| r2416_47(glval) = VariableAddress[y] : +# 2416| r2416_48(glval>) = VariableAddress[(__begin)] : +#-----| r0_15(glval>) = Convert : r2416_48 +# 2416| r2416_49(glval) = FunctionAddress[operator*] : +# 2416| r2416_50(char &) = Call[operator*] : func:r2416_49, this:r0_15 +# 2416| mu2416_51(unknown) = ^CallSideEffect : ~m? +#-----| v0_16(void) = ^IndirectReadSideEffect[-1] : &:r0_15, ~m? +# 2416| r2416_52(char) = Load[?] : &:r2416_50, ~m? +# 2416| mu2416_53(char) = Store[y] : &:r2416_47, r2416_52 +# 2417| r2417_1(glval) = VariableAddress[x] : +# 2417| r2417_2(char) = Load[x] : &:r2417_1, ~m? +# 2417| r2417_3(int) = Convert : r2417_2 +# 2417| r2417_4(glval) = VariableAddress[y] : +# 2417| r2417_5(char) = Load[y] : &:r2417_4, ~m? +# 2417| r2417_6(int) = Convert : r2417_5 +# 2417| r2417_7(int) = Add : r2417_6, r2417_3 +# 2417| r2417_8(char) = Convert : r2417_7 +# 2417| mu2417_9(char) = Store[y] : &:r2417_4, r2417_8 +# 2416| r2416_54(glval>) = VariableAddress[(__begin)] : +# 2416| r2416_55(glval) = FunctionAddress[operator++] : +# 2416| r2416_56(iterator &) = Call[operator++] : func:r2416_55, this:r2416_54 +# 2416| mu2416_57(unknown) = ^CallSideEffect : ~m? +# 2416| v2416_58(void) = ^IndirectReadSideEffect[-1] : &:r2416_54, ~m? +# 2416| mu2416_59(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2416_54 +# 2416| r2416_60(glval>) = CopyValue : r2416_56 +#-----| Goto (back edge) -> Block 11 + +# 2418| Block 13 +# 2418| v2418_1(void) = NoOp : +# 2396| v2396_4(void) = ReturnVoid : +# 2396| v2396_5(void) = AliasedUse : ~m? +# 2396| v2396_6(void) = ExitFunction : perf-regression.cpp: # 6| void Big::Big() diff --git a/cpp/ql/test/query-tests/Critical/MemoryFreed/DoubleFree.expected b/cpp/ql/test/query-tests/Critical/MemoryFreed/DoubleFree.expected index b9ac7f0a2d5..bd886810284 100644 --- a/cpp/ql/test/query-tests/Critical/MemoryFreed/DoubleFree.expected +++ b/cpp/ql/test/query-tests/Critical/MemoryFreed/DoubleFree.expected @@ -11,6 +11,7 @@ edges | test_free.cpp:128:10:128:11 | pointer to free output argument | test_free.cpp:129:10:129:11 | * ... | provenance | | | test_free.cpp:152:27:152:27 | pointer to free output argument | test_free.cpp:154:10:154:10 | a | provenance | | | test_free.cpp:207:10:207:10 | pointer to free output argument | test_free.cpp:209:10:209:10 | a | provenance | | +| test_free.cpp:301:12:301:14 | pointer to g_free output argument | test_free.cpp:302:12:302:14 | buf | provenance | | nodes | test_free.cpp:11:10:11:10 | pointer to free output argument | semmle.label | pointer to free output argument | | test_free.cpp:14:10:14:10 | a | semmle.label | a | @@ -36,6 +37,8 @@ nodes | test_free.cpp:154:10:154:10 | a | semmle.label | a | | test_free.cpp:207:10:207:10 | pointer to free output argument | semmle.label | pointer to free output argument | | test_free.cpp:209:10:209:10 | a | semmle.label | a | +| test_free.cpp:301:12:301:14 | pointer to g_free output argument | semmle.label | pointer to g_free output argument | +| test_free.cpp:302:12:302:14 | buf | semmle.label | buf | subpaths #select | test_free.cpp:14:10:14:10 | a | test_free.cpp:11:10:11:10 | pointer to free output argument | test_free.cpp:14:10:14:10 | a | Memory pointed to by 'a' may already have been freed by $@. | test_free.cpp:11:5:11:8 | call to free | call to free | @@ -50,3 +53,4 @@ subpaths | test_free.cpp:129:10:129:11 | * ... | test_free.cpp:128:10:128:11 | pointer to free output argument | test_free.cpp:129:10:129:11 | * ... | Memory pointed to by '* ...' may already have been freed by $@. | test_free.cpp:128:5:128:8 | call to free | call to free | | test_free.cpp:154:10:154:10 | a | test_free.cpp:152:27:152:27 | pointer to free output argument | test_free.cpp:154:10:154:10 | a | Memory pointed to by 'a' may already have been freed by $@. | test_free.cpp:152:22:152:25 | call to free | call to free | | test_free.cpp:209:10:209:10 | a | test_free.cpp:207:10:207:10 | pointer to free output argument | test_free.cpp:209:10:209:10 | a | Memory pointed to by 'a' may already have been freed by $@. | test_free.cpp:207:5:207:8 | call to free | call to free | +| test_free.cpp:302:12:302:14 | buf | test_free.cpp:301:12:301:14 | pointer to g_free output argument | test_free.cpp:302:12:302:14 | buf | Memory pointed to by 'buf' may already have been freed by $@. | test_free.cpp:301:5:301:10 | call to g_free | call to g_free | diff --git a/cpp/ql/test/query-tests/Critical/MemoryFreed/MemoryFreed.expected b/cpp/ql/test/query-tests/Critical/MemoryFreed/MemoryFreed.expected index 14b04cc5c2d..2e5f59ae0d2 100644 --- a/cpp/ql/test/query-tests/Critical/MemoryFreed/MemoryFreed.expected +++ b/cpp/ql/test/query-tests/Critical/MemoryFreed/MemoryFreed.expected @@ -102,6 +102,8 @@ | test_free.cpp:282:10:282:12 | buf | | test_free.cpp:288:8:288:10 | buf | | test_free.cpp:293:8:293:10 | buf | +| test_free.cpp:301:12:301:14 | buf | +| test_free.cpp:302:12:302:14 | buf | | virtual.cpp:18:10:18:10 | a | | virtual.cpp:19:10:19:10 | c | | virtual.cpp:38:10:38:10 | b | diff --git a/cpp/ql/test/query-tests/Critical/MemoryFreed/test_free.cpp b/cpp/ql/test/query-tests/Critical/MemoryFreed/test_free.cpp index 24c0fcd922c..8bffcad2856 100644 --- a/cpp/ql/test/query-tests/Critical/MemoryFreed/test_free.cpp +++ b/cpp/ql/test/query-tests/Critical/MemoryFreed/test_free.cpp @@ -293,4 +293,11 @@ void test_free_struct4(char* buf, MyStruct s) { free(buf); s.buf = buf; char c = s.buf[0]; // BAD +} + +void g_free (void*); + +void test_g_free(char* buf) { + g_free(buf); + g_free(buf); // BAD } \ No newline at end of file diff --git a/cpp/ql/test/query-tests/Critical/MissingCheckScanf/MissingCheckScanf.expected b/cpp/ql/test/query-tests/Critical/MissingCheckScanf/MissingCheckScanf.expected index 69f9ab820eb..8bb2c9643a9 100644 --- a/cpp/ql/test/query-tests/Critical/MissingCheckScanf/MissingCheckScanf.expected +++ b/cpp/ql/test/query-tests/Critical/MissingCheckScanf/MissingCheckScanf.expected @@ -1,18 +1,136 @@ -| test.cpp:35:7:35:7 | i | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:34:3:34:7 | call to scanf | call to scanf | -| test.cpp:68:7:68:7 | i | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:67:3:67:7 | call to scanf | call to scanf | -| test.cpp:80:7:80:7 | i | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:79:3:79:7 | call to scanf | call to scanf | -| test.cpp:90:7:90:8 | * ... | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:89:3:89:7 | call to scanf | call to scanf | -| test.cpp:98:7:98:8 | * ... | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:97:3:97:7 | call to scanf | call to scanf | -| test.cpp:108:7:108:7 | i | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:107:3:107:8 | call to fscanf | call to fscanf | -| test.cpp:115:7:115:7 | i | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:114:3:114:8 | call to sscanf | call to sscanf | -| test.cpp:224:8:224:8 | j | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 2. | test.cpp:221:7:221:11 | call to scanf | call to scanf | -| test.cpp:248:9:248:9 | d | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 2. | test.cpp:246:25:246:29 | call to scanf | call to scanf | -| test.cpp:252:9:252:9 | d | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 2. | test.cpp:250:14:250:18 | call to scanf | call to scanf | -| test.cpp:272:7:272:7 | i | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:271:3:271:7 | call to scanf | call to scanf | -| test.cpp:280:7:280:7 | i | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:279:3:279:7 | call to scanf | call to scanf | -| test.cpp:292:7:292:7 | i | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:291:3:291:7 | call to scanf | call to scanf | -| test.cpp:404:25:404:25 | u | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:403:6:403:11 | call to sscanf | call to sscanf | -| test.cpp:416:7:416:7 | i | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:413:7:413:11 | call to scanf | call to scanf | -| test.cpp:423:7:423:7 | i | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:420:7:420:11 | call to scanf | call to scanf | -| test.cpp:460:6:460:10 | value | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:455:12:455:17 | call to sscanf | call to sscanf | -| test.cpp:474:6:474:10 | value | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:467:8:467:12 | call to scanf | call to scanf | +edges +| test.cpp:34:15:34:16 | scanf output argument | test.cpp:35:7:35:7 | i | provenance | | +| test.cpp:41:19:41:20 | scanf output argument | test.cpp:43:8:43:8 | i | provenance | | +| test.cpp:58:19:58:20 | scanf output argument | test.cpp:60:8:60:8 | i | provenance | | +| test.cpp:67:15:67:16 | scanf output argument | test.cpp:68:7:68:7 | i | provenance | | +| test.cpp:70:19:70:20 | scanf output argument | test.cpp:72:8:72:8 | i | provenance | | +| test.cpp:79:15:79:16 | scanf output argument | test.cpp:80:7:80:7 | i | provenance | | +| test.cpp:89:15:89:15 | scanf output argument | test.cpp:90:7:90:8 | * ... | provenance | | +| test.cpp:97:15:97:15 | scanf output argument | test.cpp:98:7:98:8 | * ... | provenance | | +| test.cpp:107:32:107:33 | fscanf output argument | test.cpp:108:7:108:7 | i | provenance | | +| test.cpp:114:32:114:33 | sscanf output argument | test.cpp:115:7:115:7 | i | provenance | | +| test.cpp:121:38:121:39 | _scanf_l output argument | test.cpp:123:8:123:8 | i | provenance | | +| test.cpp:132:19:132:20 | scanf output argument | test.cpp:134:8:134:8 | i | provenance | | +| test.cpp:141:19:141:20 | scanf output argument | test.cpp:143:8:143:8 | i | provenance | | +| test.cpp:150:23:150:24 | scanf output argument | test.cpp:154:9:154:9 | i | provenance | | +| test.cpp:181:19:181:20 | scanf output argument | test.cpp:185:8:185:8 | i | provenance | | +| test.cpp:193:19:193:20 | scanf output argument | test.cpp:197:8:197:8 | i | provenance | | +| test.cpp:211:22:211:23 | scanf output argument | test.cpp:213:8:213:8 | i | provenance | | +| test.cpp:221:22:221:23 | scanf output argument | test.cpp:223:8:223:8 | i | provenance | | +| test.cpp:221:26:221:27 | scanf output argument | test.cpp:224:8:224:8 | j | provenance | | +| test.cpp:231:22:231:23 | scanf output argument | test.cpp:233:8:233:8 | i | provenance | | +| test.cpp:231:26:231:27 | scanf output argument | test.cpp:234:8:234:8 | j | provenance | | +| test.cpp:246:44:246:45 | scanf output argument | test.cpp:248:9:248:9 | d | provenance | | +| test.cpp:250:33:250:34 | scanf output argument | test.cpp:252:9:252:9 | d | provenance | | +| test.cpp:271:15:271:16 | scanf output argument | test.cpp:272:7:272:7 | i | provenance | | +| test.cpp:279:15:279:16 | scanf output argument | test.cpp:280:7:280:7 | i | provenance | | +| test.cpp:291:15:291:16 | scanf output argument | test.cpp:292:7:292:7 | i | provenance | | +| test.cpp:325:34:325:35 | sscanf output argument | test.cpp:327:8:327:8 | i | provenance | | +| test.cpp:325:38:325:39 | sscanf output argument | test.cpp:328:8:328:8 | j | provenance | | +| test.cpp:335:22:335:23 | scanf output argument | test.cpp:337:8:337:8 | i | provenance | | +| test.cpp:344:23:344:24 | scanf output argument | test.cpp:346:8:346:8 | i | provenance | | +| test.cpp:353:26:353:27 | scanf output argument | test.cpp:354:8:354:8 | d | provenance | | +| test.cpp:353:30:353:31 | scanf output argument | test.cpp:355:8:355:8 | n | provenance | | +| test.cpp:362:62:362:63 | sscanf output argument | test.cpp:364:17:364:17 | n | provenance | | +| test.cpp:403:29:403:30 | sscanf output argument | test.cpp:404:18:404:25 | u | provenance | | +| test.cpp:413:19:413:20 | scanf output argument | test.cpp:416:7:416:7 | i | provenance | | +| test.cpp:420:19:420:20 | scanf output argument | test.cpp:423:7:423:7 | i | provenance | | +| test.cpp:455:41:455:46 | sscanf output argument | test.cpp:460:6:460:10 | value | provenance | | +| test.cpp:467:20:467:25 | scanf output argument | test.cpp:474:6:474:10 | value | provenance | | +nodes +| test.cpp:34:15:34:16 | scanf output argument | semmle.label | scanf output argument | +| test.cpp:35:7:35:7 | i | semmle.label | i | +| test.cpp:41:19:41:20 | scanf output argument | semmle.label | scanf output argument | +| test.cpp:43:8:43:8 | i | semmle.label | i | +| test.cpp:58:19:58:20 | scanf output argument | semmle.label | scanf output argument | +| test.cpp:60:8:60:8 | i | semmle.label | i | +| test.cpp:67:15:67:16 | scanf output argument | semmle.label | scanf output argument | +| test.cpp:68:7:68:7 | i | semmle.label | i | +| test.cpp:70:19:70:20 | scanf output argument | semmle.label | scanf output argument | +| test.cpp:72:8:72:8 | i | semmle.label | i | +| test.cpp:79:15:79:16 | scanf output argument | semmle.label | scanf output argument | +| test.cpp:80:7:80:7 | i | semmle.label | i | +| test.cpp:89:15:89:15 | scanf output argument | semmle.label | scanf output argument | +| test.cpp:90:7:90:8 | * ... | semmle.label | * ... | +| test.cpp:97:15:97:15 | scanf output argument | semmle.label | scanf output argument | +| test.cpp:98:7:98:8 | * ... | semmle.label | * ... | +| test.cpp:107:32:107:33 | fscanf output argument | semmle.label | fscanf output argument | +| test.cpp:108:7:108:7 | i | semmle.label | i | +| test.cpp:114:32:114:33 | sscanf output argument | semmle.label | sscanf output argument | +| test.cpp:115:7:115:7 | i | semmle.label | i | +| test.cpp:121:38:121:39 | _scanf_l output argument | semmle.label | _scanf_l output argument | +| test.cpp:123:8:123:8 | i | semmle.label | i | +| test.cpp:132:19:132:20 | scanf output argument | semmle.label | scanf output argument | +| test.cpp:134:8:134:8 | i | semmle.label | i | +| test.cpp:141:19:141:20 | scanf output argument | semmle.label | scanf output argument | +| test.cpp:143:8:143:8 | i | semmle.label | i | +| test.cpp:150:23:150:24 | scanf output argument | semmle.label | scanf output argument | +| test.cpp:154:9:154:9 | i | semmle.label | i | +| test.cpp:181:19:181:20 | scanf output argument | semmle.label | scanf output argument | +| test.cpp:185:8:185:8 | i | semmle.label | i | +| test.cpp:193:19:193:20 | scanf output argument | semmle.label | scanf output argument | +| test.cpp:197:8:197:8 | i | semmle.label | i | +| test.cpp:211:22:211:23 | scanf output argument | semmle.label | scanf output argument | +| test.cpp:213:8:213:8 | i | semmle.label | i | +| test.cpp:221:22:221:23 | scanf output argument | semmle.label | scanf output argument | +| test.cpp:221:26:221:27 | scanf output argument | semmle.label | scanf output argument | +| test.cpp:223:8:223:8 | i | semmle.label | i | +| test.cpp:224:8:224:8 | j | semmle.label | j | +| test.cpp:231:22:231:23 | scanf output argument | semmle.label | scanf output argument | +| test.cpp:231:26:231:27 | scanf output argument | semmle.label | scanf output argument | +| test.cpp:233:8:233:8 | i | semmle.label | i | +| test.cpp:234:8:234:8 | j | semmle.label | j | +| test.cpp:246:44:246:45 | scanf output argument | semmle.label | scanf output argument | +| test.cpp:248:9:248:9 | d | semmle.label | d | +| test.cpp:250:33:250:34 | scanf output argument | semmle.label | scanf output argument | +| test.cpp:252:9:252:9 | d | semmle.label | d | +| test.cpp:271:15:271:16 | scanf output argument | semmle.label | scanf output argument | +| test.cpp:272:7:272:7 | i | semmle.label | i | +| test.cpp:279:15:279:16 | scanf output argument | semmle.label | scanf output argument | +| test.cpp:280:7:280:7 | i | semmle.label | i | +| test.cpp:291:15:291:16 | scanf output argument | semmle.label | scanf output argument | +| test.cpp:292:7:292:7 | i | semmle.label | i | +| test.cpp:325:34:325:35 | sscanf output argument | semmle.label | sscanf output argument | +| test.cpp:325:38:325:39 | sscanf output argument | semmle.label | sscanf output argument | +| test.cpp:327:8:327:8 | i | semmle.label | i | +| test.cpp:328:8:328:8 | j | semmle.label | j | +| test.cpp:335:22:335:23 | scanf output argument | semmle.label | scanf output argument | +| test.cpp:337:8:337:8 | i | semmle.label | i | +| test.cpp:344:23:344:24 | scanf output argument | semmle.label | scanf output argument | +| test.cpp:346:8:346:8 | i | semmle.label | i | +| test.cpp:353:26:353:27 | scanf output argument | semmle.label | scanf output argument | +| test.cpp:353:30:353:31 | scanf output argument | semmle.label | scanf output argument | +| test.cpp:354:8:354:8 | d | semmle.label | d | +| test.cpp:355:8:355:8 | n | semmle.label | n | +| test.cpp:362:62:362:63 | sscanf output argument | semmle.label | sscanf output argument | +| test.cpp:364:17:364:17 | n | semmle.label | n | +| test.cpp:403:29:403:30 | sscanf output argument | semmle.label | sscanf output argument | +| test.cpp:404:18:404:25 | u | semmle.label | u | +| test.cpp:413:19:413:20 | scanf output argument | semmle.label | scanf output argument | +| test.cpp:416:7:416:7 | i | semmle.label | i | +| test.cpp:420:19:420:20 | scanf output argument | semmle.label | scanf output argument | +| test.cpp:423:7:423:7 | i | semmle.label | i | +| test.cpp:455:41:455:46 | sscanf output argument | semmle.label | sscanf output argument | +| test.cpp:460:6:460:10 | value | semmle.label | value | +| test.cpp:467:20:467:25 | scanf output argument | semmle.label | scanf output argument | +| test.cpp:474:6:474:10 | value | semmle.label | value | +subpaths +#select +| test.cpp:35:7:35:7 | i | test.cpp:34:15:34:16 | scanf output argument | test.cpp:35:7:35:7 | i | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:34:3:34:7 | call to scanf | call to scanf | +| test.cpp:68:7:68:7 | i | test.cpp:67:15:67:16 | scanf output argument | test.cpp:68:7:68:7 | i | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:67:3:67:7 | call to scanf | call to scanf | +| test.cpp:80:7:80:7 | i | test.cpp:79:15:79:16 | scanf output argument | test.cpp:80:7:80:7 | i | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:79:3:79:7 | call to scanf | call to scanf | +| test.cpp:90:7:90:8 | * ... | test.cpp:89:15:89:15 | scanf output argument | test.cpp:90:7:90:8 | * ... | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:89:3:89:7 | call to scanf | call to scanf | +| test.cpp:98:7:98:8 | * ... | test.cpp:97:15:97:15 | scanf output argument | test.cpp:98:7:98:8 | * ... | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:97:3:97:7 | call to scanf | call to scanf | +| test.cpp:108:7:108:7 | i | test.cpp:107:32:107:33 | fscanf output argument | test.cpp:108:7:108:7 | i | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:107:3:107:8 | call to fscanf | call to fscanf | +| test.cpp:115:7:115:7 | i | test.cpp:114:32:114:33 | sscanf output argument | test.cpp:115:7:115:7 | i | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:114:3:114:8 | call to sscanf | call to sscanf | +| test.cpp:224:8:224:8 | j | test.cpp:221:26:221:27 | scanf output argument | test.cpp:224:8:224:8 | j | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 2. | test.cpp:221:7:221:11 | call to scanf | call to scanf | +| test.cpp:248:9:248:9 | d | test.cpp:246:44:246:45 | scanf output argument | test.cpp:248:9:248:9 | d | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 2. | test.cpp:246:25:246:29 | call to scanf | call to scanf | +| test.cpp:252:9:252:9 | d | test.cpp:250:33:250:34 | scanf output argument | test.cpp:252:9:252:9 | d | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 2. | test.cpp:250:14:250:18 | call to scanf | call to scanf | +| test.cpp:272:7:272:7 | i | test.cpp:271:15:271:16 | scanf output argument | test.cpp:272:7:272:7 | i | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:271:3:271:7 | call to scanf | call to scanf | +| test.cpp:280:7:280:7 | i | test.cpp:279:15:279:16 | scanf output argument | test.cpp:280:7:280:7 | i | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:279:3:279:7 | call to scanf | call to scanf | +| test.cpp:292:7:292:7 | i | test.cpp:291:15:291:16 | scanf output argument | test.cpp:292:7:292:7 | i | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:291:3:291:7 | call to scanf | call to scanf | +| test.cpp:404:25:404:25 | u | test.cpp:403:29:403:30 | sscanf output argument | test.cpp:404:18:404:25 | u | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:403:6:403:11 | call to sscanf | call to sscanf | +| test.cpp:416:7:416:7 | i | test.cpp:413:19:413:20 | scanf output argument | test.cpp:416:7:416:7 | i | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:413:7:413:11 | call to scanf | call to scanf | +| test.cpp:423:7:423:7 | i | test.cpp:420:19:420:20 | scanf output argument | test.cpp:423:7:423:7 | i | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:420:7:420:11 | call to scanf | call to scanf | +| test.cpp:460:6:460:10 | value | test.cpp:455:41:455:46 | sscanf output argument | test.cpp:460:6:460:10 | value | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:455:12:455:17 | call to sscanf | call to sscanf | +| test.cpp:474:6:474:10 | value | test.cpp:467:20:467:25 | scanf output argument | test.cpp:474:6:474:10 | value | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:467:8:467:12 | call to scanf | call to scanf | diff --git a/cpp/ql/test/query-tests/Likely Bugs/Format/NonConstantFormat/NonConstantFormat.expected b/cpp/ql/test/query-tests/Likely Bugs/Format/NonConstantFormat/NonConstantFormat.expected index 2539c728d87..c3c94158da8 100644 --- a/cpp/ql/test/query-tests/Likely Bugs/Format/NonConstantFormat/NonConstantFormat.expected +++ b/cpp/ql/test/query-tests/Likely Bugs/Format/NonConstantFormat/NonConstantFormat.expected @@ -8,15 +8,10 @@ edges | nested.cpp:35:19:35:21 | *fmt | nested.cpp:27:32:27:34 | *fmt | provenance | | | nested.cpp:42:24:42:34 | *call to ext_fmt_str | nested.cpp:34:37:34:39 | *fmt | provenance | | | nested.cpp:86:19:86:46 | *call to __builtin_alloca | nested.cpp:87:18:87:20 | *fmt | provenance | | -| test.cpp:27:39:27:39 | n | test.cpp:27:13:27:24 | **make_message | provenance | | -| test.cpp:46:14:46:17 | argc | test.cpp:51:23:51:30 | ... - ... | provenance | | | test.cpp:46:27:46:30 | **argv | test.cpp:130:20:130:26 | *access to array | provenance | | -| test.cpp:51:23:51:30 | ... - ... | test.cpp:27:39:27:39 | n | provenance | | -| test.cpp:51:23:51:30 | ... - ... | test.cpp:51:10:51:21 | *call to make_message | provenance | | -| test.cpp:155:27:155:30 | data | test.cpp:157:12:157:15 | data | provenance | | -| test.cpp:167:31:167:34 | data | test.cpp:170:12:170:14 | *res | provenance | | -| test.cpp:193:32:193:34 | str | test.cpp:195:31:195:33 | str | provenance | | -| test.cpp:193:32:193:34 | str | test.cpp:197:11:197:14 | *wstr | provenance | | +| test.cpp:167:31:167:34 | *data | test.cpp:170:12:170:14 | *res | provenance | | +| test.cpp:193:32:193:34 | *str | test.cpp:195:31:195:33 | *str | provenance | | +| test.cpp:193:32:193:34 | *str | test.cpp:197:11:197:14 | *wstr | provenance | | | test.cpp:204:25:204:36 | *call to get_string | test.cpp:205:12:205:20 | *... + ... | provenance | | | test.cpp:204:25:204:36 | *call to get_string | test.cpp:206:12:206:16 | *hello | provenance | | | test.cpp:209:25:209:36 | *call to get_string | test.cpp:211:12:211:16 | *hello | provenance | | @@ -42,19 +37,12 @@ nodes | nested.cpp:79:32:79:38 | *call to get_fmt | semmle.label | *call to get_fmt | | nested.cpp:86:19:86:46 | *call to __builtin_alloca | semmle.label | *call to __builtin_alloca | | nested.cpp:87:18:87:20 | *fmt | semmle.label | *fmt | -| test.cpp:27:13:27:24 | **make_message | semmle.label | **make_message | -| test.cpp:27:39:27:39 | n | semmle.label | n | -| test.cpp:46:14:46:17 | argc | semmle.label | argc | | test.cpp:46:27:46:30 | **argv | semmle.label | **argv | -| test.cpp:51:10:51:21 | *call to make_message | semmle.label | *call to make_message | -| test.cpp:51:23:51:30 | ... - ... | semmle.label | ... - ... | | test.cpp:130:20:130:26 | *access to array | semmle.label | *access to array | -| test.cpp:155:27:155:30 | data | semmle.label | data | -| test.cpp:157:12:157:15 | data | semmle.label | data | -| test.cpp:167:31:167:34 | data | semmle.label | data | +| test.cpp:167:31:167:34 | *data | semmle.label | *data | | test.cpp:170:12:170:14 | *res | semmle.label | *res | -| test.cpp:193:32:193:34 | str | semmle.label | str | -| test.cpp:195:31:195:33 | str | semmle.label | str | +| test.cpp:193:32:193:34 | *str | semmle.label | *str | +| test.cpp:195:31:195:33 | *str | semmle.label | *str | | test.cpp:197:11:197:14 | *wstr | semmle.label | *wstr | | test.cpp:204:25:204:36 | *call to get_string | semmle.label | *call to get_string | | test.cpp:205:12:205:20 | *... + ... | semmle.label | *... + ... | @@ -74,7 +62,6 @@ nodes | test.cpp:245:25:245:36 | *call to get_string | semmle.label | *call to get_string | | test.cpp:247:12:247:16 | *hello | semmle.label | *hello | subpaths -| test.cpp:51:23:51:30 | ... - ... | test.cpp:27:39:27:39 | n | test.cpp:27:13:27:24 | **make_message | test.cpp:51:10:51:21 | *call to make_message | #select | NonConstantFormat.c:30:10:30:16 | *access to array | NonConstantFormat.c:28:27:28:30 | **argv | NonConstantFormat.c:30:10:30:16 | *access to array | The format string argument to $@ has a source which cannot be verified to originate from a string literal. | NonConstantFormat.c:30:3:30:8 | call to printf | printf | | NonConstantFormat.c:41:9:41:45 | *call to any_random_function | NonConstantFormat.c:41:9:41:45 | *call to any_random_function | NonConstantFormat.c:41:9:41:45 | *call to any_random_function | The format string argument to $@ has a source which cannot be verified to originate from a string literal. | NonConstantFormat.c:41:2:41:7 | call to printf | printf | @@ -82,12 +69,10 @@ subpaths | nested.cpp:21:23:21:26 | *fmt0 | nested.cpp:42:24:42:34 | *call to ext_fmt_str | nested.cpp:21:23:21:26 | *fmt0 | The format string argument to $@ has a source which cannot be verified to originate from a string literal. | nested.cpp:21:5:21:12 | call to snprintf | snprintf | | nested.cpp:79:32:79:38 | *call to get_fmt | nested.cpp:79:32:79:38 | *call to get_fmt | nested.cpp:79:32:79:38 | *call to get_fmt | The format string argument to $@ has a source which cannot be verified to originate from a string literal. | nested.cpp:79:5:79:14 | call to diagnostic | diagnostic | | nested.cpp:87:18:87:20 | *fmt | nested.cpp:86:19:86:46 | *call to __builtin_alloca | nested.cpp:87:18:87:20 | *fmt | The format string argument to $@ has a source which cannot be verified to originate from a string literal. | nested.cpp:87:7:87:16 | call to diagnostic | diagnostic | -| test.cpp:51:10:51:21 | *call to make_message | test.cpp:46:14:46:17 | argc | test.cpp:51:10:51:21 | *call to make_message | The format string argument to $@ has a source which cannot be verified to originate from a string literal. | test.cpp:51:3:51:8 | call to printf | printf | | test.cpp:130:20:130:26 | *access to array | test.cpp:46:27:46:30 | **argv | test.cpp:130:20:130:26 | *access to array | The format string argument to $@ has a source which cannot be verified to originate from a string literal. | test.cpp:130:2:130:10 | call to sprintf | sprintf | -| test.cpp:157:12:157:15 | data | test.cpp:155:27:155:30 | data | test.cpp:157:12:157:15 | data | The format string argument to $@ has a source which cannot be verified to originate from a string literal. | test.cpp:157:5:157:10 | call to printf | printf | -| test.cpp:170:12:170:14 | *res | test.cpp:167:31:167:34 | data | test.cpp:170:12:170:14 | *res | The format string argument to $@ has a source which cannot be verified to originate from a string literal. | test.cpp:170:5:170:10 | call to printf | printf | -| test.cpp:195:31:195:33 | str | test.cpp:193:32:193:34 | str | test.cpp:195:31:195:33 | str | The format string argument to $@ has a source which cannot be verified to originate from a string literal. | test.cpp:195:3:195:18 | call to StringCchPrintfW | StringCchPrintfW | -| test.cpp:197:11:197:14 | *wstr | test.cpp:193:32:193:34 | str | test.cpp:197:11:197:14 | *wstr | The format string argument to $@ has a source which cannot be verified to originate from a string literal. | test.cpp:197:3:197:9 | call to wprintf | wprintf | +| test.cpp:170:12:170:14 | *res | test.cpp:167:31:167:34 | *data | test.cpp:170:12:170:14 | *res | The format string argument to $@ has a source which cannot be verified to originate from a string literal. | test.cpp:170:5:170:10 | call to printf | printf | +| test.cpp:195:31:195:33 | *str | test.cpp:193:32:193:34 | *str | test.cpp:195:31:195:33 | *str | The format string argument to $@ has a source which cannot be verified to originate from a string literal. | test.cpp:195:3:195:18 | call to StringCchPrintfW | StringCchPrintfW | +| test.cpp:197:11:197:14 | *wstr | test.cpp:193:32:193:34 | *str | test.cpp:197:11:197:14 | *wstr | The format string argument to $@ has a source which cannot be verified to originate from a string literal. | test.cpp:197:3:197:9 | call to wprintf | wprintf | | test.cpp:205:12:205:20 | *... + ... | test.cpp:204:25:204:36 | *call to get_string | test.cpp:205:12:205:20 | *... + ... | The format string argument to $@ has a source which cannot be verified to originate from a string literal. | test.cpp:205:5:205:10 | call to printf | printf | | test.cpp:206:12:206:16 | *hello | test.cpp:204:25:204:36 | *call to get_string | test.cpp:206:12:206:16 | *hello | The format string argument to $@ has a source which cannot be verified to originate from a string literal. | test.cpp:206:5:206:10 | call to printf | printf | | test.cpp:211:12:211:16 | *hello | test.cpp:209:25:209:36 | *call to get_string | test.cpp:211:12:211:16 | *hello | The format string argument to $@ has a source which cannot be verified to originate from a string literal. | test.cpp:211:5:211:10 | call to printf | printf | diff --git a/cpp/ql/test/query-tests/Likely Bugs/Format/NonConstantFormat/test.cpp b/cpp/ql/test/query-tests/Likely Bugs/Format/NonConstantFormat/test.cpp index bc8d0c26bbb..e60db94f9b1 100644 --- a/cpp/ql/test/query-tests/Likely Bugs/Format/NonConstantFormat/test.cpp +++ b/cpp/ql/test/query-tests/Likely Bugs/Format/NonConstantFormat/test.cpp @@ -48,7 +48,7 @@ int main(int argc, char **argv) { printf(choose_message(argc - 1), argc - 1); // GOOD printf(messages[1]); // GOOD printf(message); // GOOD - printf(make_message(argc - 1)); // BAD + printf(make_message(argc - 1)); // BAD [NOT DETECTED] printf("Hello, World\n"); // GOOD printf(_("Hello, World\n")); // GOOD { @@ -154,7 +154,7 @@ void print_ith_message() { void fmt_via_strcpy(char *data) { strcpy(data, "some string"); - printf(data); // GOOD [FALSE POSITIVE: Due to inaccurate dataflow killers] + printf(data); // GOOD } void fmt_with_assignment() { diff --git a/cpp/ql/test/query-tests/Likely Bugs/Protocols/TlsSettingsMisconfiguration.expected b/cpp/ql/test/query-tests/Likely Bugs/Protocols/TlsSettingsMisconfiguration.expected index f889cb12a68..b2191d5b544 100644 --- a/cpp/ql/test/query-tests/Likely Bugs/Protocols/TlsSettingsMisconfiguration.expected +++ b/cpp/ql/test/query-tests/Likely Bugs/Protocols/TlsSettingsMisconfiguration.expected @@ -5,12 +5,7 @@ | test2.cpp:31:32:31:65 | call to context | This usage of 'boost::asio::ssl::context::context' with protocol $@ is not configured correctly: The option $@. | test2.cpp:31:32:31:64 | sslv23 | sslv23 | test2.cpp:31:32:31:65 | call to context | no_sslv3 has not been set | | test2.cpp:31:32:31:65 | call to context | This usage of 'boost::asio::ssl::context::context' with protocol $@ is not configured correctly: The option $@. | test2.cpp:31:32:31:64 | sslv23 | sslv23 | test2.cpp:31:32:31:65 | call to context | no_tlsv1 has not been set | | test2.cpp:31:32:31:65 | call to context | This usage of 'boost::asio::ssl::context::context' with protocol $@ is not configured correctly: The option $@. | test2.cpp:31:32:31:64 | sslv23 | sslv23 | test2.cpp:31:32:31:65 | call to context | no_tlsv1_1 has not been set | -| test2.cpp:38:35:38:98 | call to context | This usage of 'boost::asio::ssl::context::context' with protocol $@ is not configured correctly: The option $@. | test2.cpp:38:65:38:97 | sslv23 | sslv23 | test2.cpp:38:35:38:98 | call to context | no_sslv3 has not been set | -| test2.cpp:38:35:38:98 | call to context | This usage of 'boost::asio::ssl::context::context' with protocol $@ is not configured correctly: The option $@. | test2.cpp:38:65:38:97 | sslv23 | sslv23 | test2.cpp:38:35:38:98 | call to context | no_tlsv1 has not been set | -| test2.cpp:38:35:38:98 | call to context | This usage of 'boost::asio::ssl::context::context' with protocol $@ is not configured correctly: The option $@. | test2.cpp:38:65:38:97 | sslv23 | sslv23 | test2.cpp:38:35:38:98 | call to context | no_tlsv1_1 has not been set | | test2.cpp:45:35:45:98 | call to context | This usage of 'boost::asio::ssl::context::context' with protocol $@ is not configured correctly: The option $@. | test2.cpp:45:65:45:97 | sslv23 | sslv23 | test2.cpp:45:35:45:98 | call to context | no_sslv3 has not been set | -| test2.cpp:45:35:45:98 | call to context | This usage of 'boost::asio::ssl::context::context' with protocol $@ is not configured correctly: The option $@. | test2.cpp:45:65:45:97 | sslv23 | sslv23 | test2.cpp:45:35:45:98 | call to context | no_tlsv1 has not been set | -| test2.cpp:45:35:45:98 | call to context | This usage of 'boost::asio::ssl::context::context' with protocol $@ is not configured correctly: The option $@. | test2.cpp:45:65:45:97 | sslv23 | sslv23 | test2.cpp:45:35:45:98 | call to context | no_tlsv1_1 has not been set | | test2.cpp:52:32:52:65 | call to context | This usage of 'boost::asio::ssl::context::context' with protocol $@ is not configured correctly: The option $@. | test2.cpp:52:32:52:64 | sslv23 | sslv23 | test2.cpp:52:32:52:65 | call to context | no_sslv3 has not been set | | test2.cpp:52:32:52:65 | call to context | This usage of 'boost::asio::ssl::context::context' with protocol $@ is not configured correctly: The option $@. | test2.cpp:52:32:52:64 | sslv23 | sslv23 | test2.cpp:52:32:52:65 | call to context | no_tlsv1 has not been set | | test2.cpp:52:32:52:65 | call to context | This usage of 'boost::asio::ssl::context::context' with protocol $@ is not configured correctly: The option $@. | test2.cpp:52:32:52:64 | sslv23 | sslv23 | test2.cpp:52:32:52:65 | call to context | no_tlsv1_1 has not been set | diff --git a/cpp/ql/test/query-tests/Likely Bugs/Protocols/test2.cpp b/cpp/ql/test/query-tests/Likely Bugs/Protocols/test2.cpp index e8c802d6902..5679cee8b0f 100644 --- a/cpp/ql/test/query-tests/Likely Bugs/Protocols/test2.cpp +++ b/cpp/ql/test/query-tests/Likely Bugs/Protocols/test2.cpp @@ -34,7 +34,7 @@ void bad2() void good3() { - // GOOD [FALSE POSITIVE] + // GOOD boost::asio::ssl::context *ctx = new boost::asio::ssl::context(boost::asio::ssl::context::sslv23); ctx->set_options(boost::asio::ssl::context::no_tlsv1 | boost::asio::ssl::context::no_tlsv1_1 | boost::asio::ssl::context::no_sslv3); } diff --git a/cpp/ql/test/query-tests/Security/CWE/CWE-134/semmle/consts/NonConstantFormat.expected b/cpp/ql/test/query-tests/Security/CWE/CWE-134/semmle/consts/NonConstantFormat.expected index 91f3d367db6..7889b880374 100644 --- a/cpp/ql/test/query-tests/Security/CWE/CWE-134/semmle/consts/NonConstantFormat.expected +++ b/cpp/ql/test/query-tests/Security/CWE/CWE-134/semmle/consts/NonConstantFormat.expected @@ -23,9 +23,7 @@ edges | consts.cpp:106:13:106:19 | *call to varFunc | consts.cpp:107:9:107:10 | *v5 | provenance | | | consts.cpp:111:7:111:13 | *call to varFunc | consts.cpp:112:9:112:10 | *v6 | provenance | | | consts.cpp:139:13:139:16 | readString output argument | consts.cpp:140:9:140:11 | *v11 | provenance | | -| consts.cpp:139:13:139:16 | readString output argument | consts.cpp:140:9:140:11 | v11 | provenance | | | consts.cpp:144:16:144:18 | readStringRef output argument | consts.cpp:145:9:145:11 | *v12 | provenance | | -| consts.cpp:144:16:144:18 | readStringRef output argument | consts.cpp:145:9:145:11 | v12 | provenance | | nodes | consts.cpp:24:7:24:9 | **gv1 | semmle.label | **gv1 | | consts.cpp:29:7:29:25 | **nonConstFuncToArray | semmle.label | **nonConstFuncToArray | @@ -47,13 +45,9 @@ nodes | consts.cpp:130:9:130:10 | *v9 | semmle.label | *v9 | | consts.cpp:135:9:135:11 | *v10 | semmle.label | *v10 | | consts.cpp:139:13:139:16 | readString output argument | semmle.label | readString output argument | -| consts.cpp:139:13:139:16 | readString output argument | semmle.label | readString output argument | | consts.cpp:140:9:140:11 | *v11 | semmle.label | *v11 | -| consts.cpp:140:9:140:11 | v11 | semmle.label | v11 | -| consts.cpp:144:16:144:18 | readStringRef output argument | semmle.label | readStringRef output argument | | consts.cpp:144:16:144:18 | readStringRef output argument | semmle.label | readStringRef output argument | | consts.cpp:145:9:145:11 | *v12 | semmle.label | *v12 | -| consts.cpp:145:9:145:11 | v12 | semmle.label | v12 | subpaths #select | consts.cpp:86:9:86:10 | *v1 | consts.cpp:85:7:85:8 | gets output argument | consts.cpp:86:9:86:10 | *v1 | The format string argument to $@ has a source which cannot be verified to originate from a string literal. | consts.cpp:86:2:86:7 | call to printf | printf | @@ -78,6 +72,4 @@ subpaths | consts.cpp:135:9:135:11 | *v10 | consts.cpp:85:7:85:8 | gets output argument | consts.cpp:135:9:135:11 | *v10 | The format string argument to $@ has a source which cannot be verified to originate from a string literal. | consts.cpp:135:2:135:7 | call to printf | printf | | consts.cpp:135:9:135:11 | *v10 | consts.cpp:90:12:90:13 | gets output argument | consts.cpp:135:9:135:11 | *v10 | The format string argument to $@ has a source which cannot be verified to originate from a string literal. | consts.cpp:135:2:135:7 | call to printf | printf | | consts.cpp:140:9:140:11 | *v11 | consts.cpp:139:13:139:16 | readString output argument | consts.cpp:140:9:140:11 | *v11 | The format string argument to $@ has a source which cannot be verified to originate from a string literal. | consts.cpp:140:2:140:7 | call to printf | printf | -| consts.cpp:140:9:140:11 | v11 | consts.cpp:139:13:139:16 | readString output argument | consts.cpp:140:9:140:11 | v11 | The format string argument to $@ has a source which cannot be verified to originate from a string literal. | consts.cpp:140:2:140:7 | call to printf | printf | | consts.cpp:145:9:145:11 | *v12 | consts.cpp:144:16:144:18 | readStringRef output argument | consts.cpp:145:9:145:11 | *v12 | The format string argument to $@ has a source which cannot be verified to originate from a string literal. | consts.cpp:145:2:145:7 | call to printf | printf | -| consts.cpp:145:9:145:11 | v12 | consts.cpp:144:16:144:18 | readStringRef output argument | consts.cpp:145:9:145:11 | v12 | The format string argument to $@ has a source which cannot be verified to originate from a string literal. | consts.cpp:145:2:145:7 | call to printf | printf | diff --git a/cpp/ql/test/query-tests/Security/CWE/CWE-193/InvalidPointerDeref.expected b/cpp/ql/test/query-tests/Security/CWE/CWE-193/InvalidPointerDeref.expected index 43e865d894b..b6a9e097127 100644 --- a/cpp/ql/test/query-tests/Security/CWE/CWE-193/InvalidPointerDeref.expected +++ b/cpp/ql/test/query-tests/Security/CWE/CWE-193/InvalidPointerDeref.expected @@ -101,6 +101,10 @@ edges | test.cpp:857:16:857:29 | ... + ... | test.cpp:857:16:857:29 | ... + ... | provenance | | | test.cpp:857:16:857:29 | ... + ... | test.cpp:860:5:860:11 | ... = ... | provenance | | | test.cpp:857:16:857:29 | ... + ... | test.cpp:860:5:860:11 | ... = ... | provenance | | +| test.cpp:868:15:868:35 | call to g_malloc | test.cpp:869:15:869:22 | ... + ... | provenance | | +| test.cpp:869:15:869:22 | ... + ... | test.cpp:869:15:869:22 | ... + ... | provenance | | +| test.cpp:869:15:869:22 | ... + ... | test.cpp:870:14:870:15 | * ... | provenance | | +| test.cpp:869:15:869:22 | ... + ... | test.cpp:870:14:870:15 | * ... | provenance | | nodes | test.cpp:4:15:4:33 | call to malloc | semmle.label | call to malloc | | test.cpp:5:15:5:22 | ... + ... | semmle.label | ... + ... | @@ -198,6 +202,10 @@ nodes | test.cpp:857:16:857:29 | ... + ... | semmle.label | ... + ... | | test.cpp:857:16:857:29 | ... + ... | semmle.label | ... + ... | | test.cpp:860:5:860:11 | ... = ... | semmle.label | ... = ... | +| test.cpp:868:15:868:35 | call to g_malloc | semmle.label | call to g_malloc | +| test.cpp:869:15:869:22 | ... + ... | semmle.label | ... + ... | +| test.cpp:869:15:869:22 | ... + ... | semmle.label | ... + ... | +| test.cpp:870:14:870:15 | * ... | semmle.label | * ... | subpaths #select | test.cpp:6:14:6:15 | * ... | test.cpp:4:15:4:33 | call to malloc | test.cpp:6:14:6:15 | * ... | This read might be out of bounds, as the pointer might be equal to $@ + $@. | test.cpp:4:15:4:33 | call to malloc | call to malloc | test.cpp:5:19:5:22 | size | size | @@ -231,3 +239,4 @@ subpaths | test.cpp:842:3:842:20 | ... = ... | test.cpp:841:18:841:35 | call to malloc | test.cpp:842:3:842:20 | ... = ... | This write might be out of bounds, as the pointer might be equal to $@ + $@. | test.cpp:841:18:841:35 | call to malloc | call to malloc | test.cpp:842:11:842:15 | index | index | | test.cpp:849:5:849:22 | ... = ... | test.cpp:848:20:848:37 | call to malloc | test.cpp:849:5:849:22 | ... = ... | This write might be out of bounds, as the pointer might be equal to $@ + $@. | test.cpp:848:20:848:37 | call to malloc | call to malloc | test.cpp:849:13:849:17 | index | index | | test.cpp:860:5:860:11 | ... = ... | test.cpp:856:12:856:35 | call to malloc | test.cpp:860:5:860:11 | ... = ... | This write might be out of bounds, as the pointer might be equal to $@ + $@. | test.cpp:856:12:856:35 | call to malloc | call to malloc | test.cpp:857:21:857:28 | ... + ... | ... + ... | +| test.cpp:870:14:870:15 | * ... | test.cpp:868:15:868:35 | call to g_malloc | test.cpp:870:14:870:15 | * ... | This read might be out of bounds, as the pointer might be equal to $@ + $@. | test.cpp:868:15:868:35 | call to g_malloc | call to g_malloc | test.cpp:869:19:869:22 | size | size | diff --git a/cpp/ql/test/query-tests/Security/CWE/CWE-193/test.cpp b/cpp/ql/test/query-tests/Security/CWE/CWE-193/test.cpp index cb9caeaae1b..db1017e233f 100644 --- a/cpp/ql/test/query-tests/Security/CWE/CWE-193/test.cpp +++ b/cpp/ql/test/query-tests/Security/CWE/CWE-193/test.cpp @@ -859,4 +859,13 @@ void test_regression(size_t size) { if(p <= chend) { *p = 42; // $ deref=L857->L860 // BAD } +} + + +void* g_malloc(size_t size); + +void test17(int size) { + char* p = (char*)g_malloc(size); + char* q = p + size; // $ alloc=L868 + char a = *q; // $ deref=L869->L870 // BAD } \ No newline at end of file diff --git a/cpp/ql/test/query-tests/Security/CWE/CWE-457/semmle/tests/UninitializedLocal.expected b/cpp/ql/test/query-tests/Security/CWE/CWE-457/semmle/tests/UninitializedLocal.expected index 7b5233f45b4..d27b2c996b3 100644 --- a/cpp/ql/test/query-tests/Security/CWE/CWE-457/semmle/tests/UninitializedLocal.expected +++ b/cpp/ql/test/query-tests/Security/CWE/CWE-457/semmle/tests/UninitializedLocal.expected @@ -1,13 +1,29 @@ -| test.cpp:12:6:12:8 | foo | The variable $@ may not be initialized at this access. | test.cpp:11:6:11:8 | foo | foo | -| test.cpp:113:6:113:8 | foo | The variable $@ may not be initialized at this access. | test.cpp:111:6:111:8 | foo | foo | -| test.cpp:219:3:219:3 | x | The variable $@ may not be initialized at this access. | test.cpp:218:7:218:7 | x | x | -| test.cpp:243:13:243:13 | i | The variable $@ may not be initialized at this access. | test.cpp:241:6:241:6 | i | i | -| test.cpp:336:10:336:10 | a | The variable $@ may not be initialized at this access. | test.cpp:333:7:333:7 | a | a | -| test.cpp:369:10:369:10 | a | The variable $@ may not be initialized at this access. | test.cpp:358:7:358:7 | a | a | -| test.cpp:378:9:378:11 | val | The variable $@ may not be initialized at this access. | test.cpp:359:6:359:8 | val | val | -| test.cpp:417:10:417:10 | j | The variable $@ may not be initialized at this access. | test.cpp:414:9:414:9 | j | j | -| test.cpp:436:9:436:9 | j | The variable $@ may not be initialized at this access. | test.cpp:431:9:431:9 | j | j | -| test.cpp:454:2:454:2 | x | The variable $@ may not be initialized at this access. | test.cpp:452:6:452:6 | x | x | -| test.cpp:460:7:460:7 | x | The variable $@ may not be initialized at this access. | test.cpp:458:6:458:6 | x | x | -| test.cpp:467:2:467:2 | x | The variable $@ may not be initialized at this access. | test.cpp:464:6:464:6 | x | x | -| test.cpp:474:7:474:7 | x | The variable $@ may not be initialized at this access. | test.cpp:471:6:471:6 | x | x | +edges +nodes +| test.cpp:11:6:11:8 | definition of foo | semmle.label | definition of foo | +| test.cpp:111:6:111:8 | definition of foo | semmle.label | definition of foo | +| test.cpp:218:7:218:7 | definition of x | semmle.label | definition of x | +| test.cpp:241:6:241:6 | definition of i | semmle.label | definition of i | +| test.cpp:333:7:333:7 | definition of a | semmle.label | definition of a | +| test.cpp:358:7:358:7 | definition of a | semmle.label | definition of a | +| test.cpp:359:6:359:8 | definition of val | semmle.label | definition of val | +| test.cpp:414:9:414:9 | definition of j | semmle.label | definition of j | +| test.cpp:431:9:431:9 | definition of j | semmle.label | definition of j | +| test.cpp:452:6:452:6 | definition of x | semmle.label | definition of x | +| test.cpp:458:6:458:6 | definition of x | semmle.label | definition of x | +| test.cpp:464:6:464:6 | definition of x | semmle.label | definition of x | +| test.cpp:471:6:471:6 | definition of x | semmle.label | definition of x | +#select +| test.cpp:12:6:12:8 | foo | test.cpp:11:6:11:8 | definition of foo | test.cpp:11:6:11:8 | definition of foo | The variable $@ may not be initialized at this access. | test.cpp:11:6:11:8 | foo | foo | +| test.cpp:113:6:113:8 | foo | test.cpp:111:6:111:8 | definition of foo | test.cpp:111:6:111:8 | definition of foo | The variable $@ may not be initialized at this access. | test.cpp:111:6:111:8 | foo | foo | +| test.cpp:219:3:219:3 | x | test.cpp:218:7:218:7 | definition of x | test.cpp:218:7:218:7 | definition of x | The variable $@ may not be initialized at this access. | test.cpp:218:7:218:7 | x | x | +| test.cpp:243:13:243:13 | i | test.cpp:241:6:241:6 | definition of i | test.cpp:241:6:241:6 | definition of i | The variable $@ may not be initialized at this access. | test.cpp:241:6:241:6 | i | i | +| test.cpp:336:10:336:10 | a | test.cpp:333:7:333:7 | definition of a | test.cpp:333:7:333:7 | definition of a | The variable $@ may not be initialized at this access. | test.cpp:333:7:333:7 | a | a | +| test.cpp:369:10:369:10 | a | test.cpp:358:7:358:7 | definition of a | test.cpp:358:7:358:7 | definition of a | The variable $@ may not be initialized at this access. | test.cpp:358:7:358:7 | a | a | +| test.cpp:378:9:378:11 | val | test.cpp:359:6:359:8 | definition of val | test.cpp:359:6:359:8 | definition of val | The variable $@ may not be initialized at this access. | test.cpp:359:6:359:8 | val | val | +| test.cpp:417:10:417:10 | j | test.cpp:414:9:414:9 | definition of j | test.cpp:414:9:414:9 | definition of j | The variable $@ may not be initialized at this access. | test.cpp:414:9:414:9 | j | j | +| test.cpp:436:9:436:9 | j | test.cpp:431:9:431:9 | definition of j | test.cpp:431:9:431:9 | definition of j | The variable $@ may not be initialized at this access. | test.cpp:431:9:431:9 | j | j | +| test.cpp:454:2:454:2 | x | test.cpp:452:6:452:6 | definition of x | test.cpp:452:6:452:6 | definition of x | The variable $@ may not be initialized at this access. | test.cpp:452:6:452:6 | x | x | +| test.cpp:460:7:460:7 | x | test.cpp:458:6:458:6 | definition of x | test.cpp:458:6:458:6 | definition of x | The variable $@ may not be initialized at this access. | test.cpp:458:6:458:6 | x | x | +| test.cpp:467:2:467:2 | x | test.cpp:464:6:464:6 | definition of x | test.cpp:464:6:464:6 | definition of x | The variable $@ may not be initialized at this access. | test.cpp:464:6:464:6 | x | x | +| test.cpp:474:7:474:7 | x | test.cpp:471:6:471:6 | definition of x | test.cpp:471:6:471:6 | definition of x | The variable $@ may not be initialized at this access. | test.cpp:471:6:471:6 | x | x | diff --git a/cpp/ql/test/query-tests/Security/CWE/CWE-843/TypeConfusion.expected b/cpp/ql/test/query-tests/Security/CWE/CWE-843/TypeConfusion.expected new file mode 100644 index 00000000000..4cd377e9f5e --- /dev/null +++ b/cpp/ql/test/query-tests/Security/CWE/CWE-843/TypeConfusion.expected @@ -0,0 +1,74 @@ +edges +| test.cpp:17:13:17:18 | new | test.cpp:18:21:18:47 | p | provenance | | +| test.cpp:22:13:22:26 | new | test.cpp:23:12:23:30 | p | provenance | | +| test.cpp:27:13:27:18 | new | test.cpp:28:25:28:55 | p | provenance | | +| test.cpp:32:13:32:30 | new | test.cpp:33:12:33:30 | p | provenance | | +| test.cpp:47:21:47:36 | new | test.cpp:48:22:48:55 | p | provenance | | +| test.cpp:66:15:66:21 | new | test.cpp:67:12:67:31 | a | provenance | | +| test.cpp:76:15:76:21 | new | test.cpp:77:12:77:31 | a | provenance | | +| test.cpp:83:9:83:15 | new | test.cpp:88:14:88:33 | a | provenance | | +| test.cpp:85:9:85:15 | new | test.cpp:88:14:88:33 | a | provenance | | +| test.cpp:115:12:115:17 | new | test.cpp:116:20:116:51 | s2 | provenance | | +| test.cpp:127:12:127:17 | new | test.cpp:128:24:128:59 | s2 | provenance | | +| test.cpp:140:12:140:17 | new | test.cpp:141:23:141:57 | s1 | provenance | | +| test.cpp:143:14:143:19 | new | test.cpp:145:28:145:68 | s1_2 | provenance | | +| test.cpp:153:9:153:15 | new | test.cpp:159:14:159:33 | a | provenance | | +| test.cpp:166:9:166:15 | new | test.cpp:171:14:171:33 | a | provenance | | +| test.cpp:168:9:168:15 | new | test.cpp:171:14:171:33 | a | provenance | | +| test.cpp:179:15:179:24 | new | test.cpp:181:15:181:25 | u64 | provenance | | +| test.cpp:187:15:187:24 | new | test.cpp:189:25:189:45 | u64 | provenance | | +| test.cpp:207:14:207:26 | new | test.cpp:209:17:209:28 | si | provenance | | +| test.cpp:217:13:217:18 | new | test.cpp:218:30:218:65 | p | provenance | | +| test.cpp:226:13:226:18 | new | test.cpp:227:29:227:63 | p | provenance | | +nodes +| test.cpp:17:13:17:18 | new | semmle.label | new | +| test.cpp:18:21:18:47 | p | semmle.label | p | +| test.cpp:22:13:22:26 | new | semmle.label | new | +| test.cpp:23:12:23:30 | p | semmle.label | p | +| test.cpp:27:13:27:18 | new | semmle.label | new | +| test.cpp:28:25:28:55 | p | semmle.label | p | +| test.cpp:32:13:32:30 | new | semmle.label | new | +| test.cpp:33:12:33:30 | p | semmle.label | p | +| test.cpp:47:21:47:36 | new | semmle.label | new | +| test.cpp:48:22:48:55 | p | semmle.label | p | +| test.cpp:66:15:66:21 | new | semmle.label | new | +| test.cpp:67:12:67:31 | a | semmle.label | a | +| test.cpp:76:15:76:21 | new | semmle.label | new | +| test.cpp:77:12:77:31 | a | semmle.label | a | +| test.cpp:83:9:83:15 | new | semmle.label | new | +| test.cpp:85:9:85:15 | new | semmle.label | new | +| test.cpp:88:14:88:33 | a | semmle.label | a | +| test.cpp:115:12:115:17 | new | semmle.label | new | +| test.cpp:116:20:116:51 | s2 | semmle.label | s2 | +| test.cpp:127:12:127:17 | new | semmle.label | new | +| test.cpp:128:24:128:59 | s2 | semmle.label | s2 | +| test.cpp:140:12:140:17 | new | semmle.label | new | +| test.cpp:141:23:141:57 | s1 | semmle.label | s1 | +| test.cpp:143:14:143:19 | new | semmle.label | new | +| test.cpp:145:28:145:68 | s1_2 | semmle.label | s1_2 | +| test.cpp:153:9:153:15 | new | semmle.label | new | +| test.cpp:159:14:159:33 | a | semmle.label | a | +| test.cpp:166:9:166:15 | new | semmle.label | new | +| test.cpp:168:9:168:15 | new | semmle.label | new | +| test.cpp:171:14:171:33 | a | semmle.label | a | +| test.cpp:179:15:179:24 | new | semmle.label | new | +| test.cpp:181:15:181:25 | u64 | semmle.label | u64 | +| test.cpp:187:15:187:24 | new | semmle.label | new | +| test.cpp:189:25:189:45 | u64 | semmle.label | u64 | +| test.cpp:207:14:207:26 | new | semmle.label | new | +| test.cpp:209:17:209:28 | si | semmle.label | si | +| test.cpp:217:13:217:18 | new | semmle.label | new | +| test.cpp:218:30:218:65 | p | semmle.label | p | +| test.cpp:226:13:226:18 | new | semmle.label | new | +| test.cpp:227:29:227:63 | p | semmle.label | p | +subpaths +#select +| test.cpp:28:25:28:55 | p | test.cpp:27:13:27:18 | new | test.cpp:28:25:28:55 | p | Conversion from $@ to $@ is invalid. | test.cpp:1:8:1:9 | S1 | S1 | test.cpp:11:8:11:21 | Not_S1_wrapper | Not_S1_wrapper | +| test.cpp:33:12:33:30 | p | test.cpp:32:13:32:30 | new | test.cpp:33:12:33:30 | p | Conversion from $@ to $@ is invalid. | test.cpp:11:8:11:21 | Not_S1_wrapper | Not_S1_wrapper | test.cpp:1:8:1:9 | S1 | S1 | +| test.cpp:67:12:67:31 | a | test.cpp:66:15:66:21 | new | test.cpp:67:12:67:31 | a | Conversion from $@ to $@ is invalid. | test.cpp:55:8:55:10 | Cat | Cat | test.cpp:60:8:60:10 | Dog | Dog | +| test.cpp:128:24:128:59 | s2 | test.cpp:127:12:127:17 | new | test.cpp:128:24:128:59 | s2 | Conversion from $@ to $@ is invalid. | test.cpp:102:8:102:9 | S2 | S2 | test.cpp:119:8:119:20 | Not_S2_prefix | Not_S2_prefix | +| test.cpp:145:28:145:68 | s1_2 | test.cpp:143:14:143:19 | new | test.cpp:145:28:145:68 | s1_2 | Conversion from $@ to $@ is invalid. | test.cpp:1:8:1:9 | S1 | S1 | test.cpp:131:8:131:23 | HasSomeBitFields | HasSomeBitFields | +| test.cpp:159:14:159:33 | a | test.cpp:153:9:153:15 | new | test.cpp:159:14:159:33 | a | Conversion from $@ to $@ is invalid. | test.cpp:60:8:60:10 | Dog | Dog | test.cpp:55:8:55:10 | Cat | Cat | +| test.cpp:189:25:189:45 | u64 | test.cpp:187:15:187:24 | new | test.cpp:189:25:189:45 | u64 | Conversion from $@ to $@ is invalid. | test.cpp:175:8:175:13 | UInt64 | UInt64 | test.cpp:184:8:184:22 | UInt8_with_more | UInt8_with_more | +| test.cpp:218:30:218:65 | p | test.cpp:217:13:217:18 | new | test.cpp:218:30:218:65 | p | Conversion from $@ to $@ is invalid. | test.cpp:1:8:1:9 | S1 | S1 | test.cpp:212:8:212:26 | UnrelatedStructSize | UnrelatedStructSize | +| test.cpp:227:29:227:63 | p | test.cpp:226:13:226:18 | new | test.cpp:227:29:227:63 | p | Conversion from $@ to $@ is invalid. | test.cpp:1:8:1:9 | S1 | S1 | test.cpp:221:8:221:25 | TooLargeBufferSize | TooLargeBufferSize | diff --git a/cpp/ql/test/query-tests/Security/CWE/CWE-843/TypeConfusion.qlref b/cpp/ql/test/query-tests/Security/CWE/CWE-843/TypeConfusion.qlref new file mode 100644 index 00000000000..53b17f1e1fd --- /dev/null +++ b/cpp/ql/test/query-tests/Security/CWE/CWE-843/TypeConfusion.qlref @@ -0,0 +1 @@ +Security/CWE/CWE-843/TypeConfusion.ql \ No newline at end of file diff --git a/cpp/ql/test/query-tests/Security/CWE/CWE-843/test.cpp b/cpp/ql/test/query-tests/Security/CWE/CWE-843/test.cpp new file mode 100644 index 00000000000..982496218ff --- /dev/null +++ b/cpp/ql/test/query-tests/Security/CWE/CWE-843/test.cpp @@ -0,0 +1,230 @@ +struct S1 { + int a; + void* b; + unsigned char c; +}; + +struct S1_wrapper { + S1 s1; +}; + +struct Not_S1_wrapper { + unsigned char x; + S1 s1; +}; + +void test1() { + void* p = new S1; + S1_wrapper* s1w = static_cast(p); // GOOD +} + +void test2() { + void* p = new S1_wrapper; + S1* s1 = static_cast(p); // GOOD +} + +void test3() { + void* p = new S1; + Not_S1_wrapper* s1w = static_cast(p); // BAD +} + +void test4() { + void* p = new Not_S1_wrapper; + S1* s1 = static_cast(p); // BAD +} + +struct HasBitFields { + int x : 16; + int y : 16; + int z : 32; +}; + +struct BufferStruct { + unsigned char buffer[sizeof(HasBitFields)]; +}; + +void test5() { + HasBitFields* p = new HasBitFields; + BufferStruct* bs = reinterpret_cast(p); // GOOD +} + +struct Animal { + virtual ~Animal(); +}; + +struct Cat : public Animal { + Cat(); + ~Cat(); +}; + +struct Dog : public Animal { + Dog(); + ~Dog(); +}; + +void test6() { + Animal* a = new Cat; + Dog* d = static_cast(a); // BAD +} + +void test7() { + Animal* a = new Cat; + Dog* d = dynamic_cast(a); // GOOD +} + +void test8() { + Animal* a = new Cat; + Cat* d = static_cast(a); // GOOD +} + +void test9(bool b) { + Animal* a; + if(b) { + a = new Cat; + } else { + a = new Dog; + } + if(b) { + Cat* d = static_cast(a); // GOOD + } +} + +/** + * The layout of S2 is: + * 0: int + * 8: void* + * 16: unsigned char + * 16 + pad: unsigned char + * 32 + pad: int + * 40 + pad: void* + * 48 + pad: unsigned char +*/ +struct S2 { + S1 s1; + unsigned char buffer[16]; + S1 s1_2; +}; + +struct S2_prefix { + int a; + void* p; + unsigned char c; +}; + +void test10() { + S2* s2 = new S2; + S2_prefix* s2p = reinterpret_cast(s2); // GOOD +} + +struct Not_S2_prefix { + int a; + void* p; + void* p2; + unsigned char c; +}; + +void test11() { + S2* s2 = new S2; + Not_S2_prefix* s2p = reinterpret_cast(s2); // BAD +} + +struct HasSomeBitFields { + int x : 16; + int y; + int z : 32; +}; + +void test12() { + // This has doesn't have any non-bitfield member, so we don't detect + // the problem here since the query currently ignores bitfields. + S1* s1 = new S1; + HasBitFields* hbf = reinterpret_cast(s1); // BAD [NOT DETECTED] + + S1* s1_2 = new S1; + // This one has a non-bitfield members. So we detect the problem + HasSomeBitFields* hbf2 = reinterpret_cast(s1_2); // BAD +} + +void test13(bool b, Cat* c) { + Animal* a; + if(b) { + a = c; + } else { + a = new Dog; + } + // This FP happens despite the `not GoodFlow::flowTo(sinkNode)` condition in the query + // because we don't find a flow path from `a = c` to `static_cast(a)` because + // the "source" (i.e., `a = c`) doesn't have an allocation. + if(b) { + Cat* d = static_cast(a); // GOOD [FALSE POSITIVE] + } +} + +void test14(bool b) { + Animal* a; + if(b) { + a = new Cat; + } else { + a = new Dog; + } + if(!b) { + Cat* d = static_cast(a); // BAD [NOT DETECTED] + } +} + +struct UInt64 { unsigned long u64; }; +struct UInt8 { unsigned char u8; }; + +void test14() { + void* u64 = new UInt64; + // ... + UInt8* u8 = (UInt8*)u64; // GOOD +} + +struct UInt8_with_more { UInt8 u8; void* p; }; + +void test15() { + void* u64 = new UInt64; + // ... + UInt8_with_more* u8 = (UInt8_with_more*)u64; // BAD +} + +struct SingleInt { + int i; +} __attribute__((packed));; + +struct PairInts { + int x, y; +} __attribute__((packed));; + +union MyUnion +{ + PairInts p; + unsigned long long foo; +} __attribute__((packed)); + +void test16() { + void* si = new SingleInt; + // ... + MyUnion* mu = (MyUnion*)si; // BAD [NOT DETECTED] +} + +struct UnrelatedStructSize { + unsigned char buffer[1024]; +}; + +void test17() { + void* p = new S1; + UnrelatedStructSize* uss = static_cast(p); // BAD +} + +struct TooLargeBufferSize { + unsigned char buffer[sizeof(S1) + 1]; +}; + +void test18() { + void* p = new S1; + TooLargeBufferSize* uss = static_cast(p); // BAD +} + +// semmle-extractor-options: --gcc -std=c++11 \ No newline at end of file diff --git a/cpp/ql/test/query-tests/jsf/4.13 Functions/AV Rule 114/AV Rule 114.expected b/cpp/ql/test/query-tests/jsf/4.13 Functions/AV Rule 114/AV Rule 114.expected index ce056261514..390da977d3f 100644 --- a/cpp/ql/test/query-tests/jsf/4.13 Functions/AV Rule 114/AV Rule 114.expected +++ b/cpp/ql/test/query-tests/jsf/4.13 Functions/AV Rule 114/AV Rule 114.expected @@ -10,3 +10,4 @@ | test.cpp:112:1:112:1 | return ... | Function g14 should return a value of type int but does not return a value here | | test.cpp:134:2:134:36 | ExprStmt | Function g16 should return a value of type int but does not return a value here | | test.cpp:141:3:141:37 | ExprStmt | Function g17 should return a value of type int but does not return a value here | +| test.cpp:189:2:189:16 | ExprStmt | Function g23 should return a value of type int but does not return a value here | diff --git a/cpp/ql/test/query-tests/jsf/4.13 Functions/AV Rule 114/test.cpp b/cpp/ql/test/query-tests/jsf/4.13 Functions/AV Rule 114/test.cpp index c68ad23805c..c19c5de13f9 100644 --- a/cpp/ql/test/query-tests/jsf/4.13 Functions/AV Rule 114/test.cpp +++ b/cpp/ql/test/query-tests/jsf/4.13 Functions/AV Rule 114/test.cpp @@ -170,3 +170,21 @@ int g19(int x) int g21() { g20(); // GOOD } + +class Aborting { +public: + [[noreturn]] + ~Aborting(); + + void a() {}; +}; + +int g22() { + Aborting x; + + x.a(); // GOOD +} + +int g23() { + Aborting().a(); // GOOD [FALSE POSITIVE] +} diff --git a/cpp/ql/test/successor-tests/conditional_destructors/cfg.expected b/cpp/ql/test/successor-tests/conditional_destructors/cfg.expected index a47bcaf6fbf..006ed12e35f 100644 --- a/cpp/ql/test/successor-tests/conditional_destructors/cfg.expected +++ b/cpp/ql/test/successor-tests/conditional_destructors/cfg.expected @@ -1,175 +1,189 @@ -| C1::C1 | false | 237 | 237 | C1 | -| C1::C1 | false | 359 | 359 | C1 | -| C1::C1 | false | 363 | 363 | C1 | -| C1::C1 | false | 398 | 398 | ExprStmt | -| C1::C1 | false | 400 | 400 | this | -| C1::C1 | false | 401 | 401 | val | -| C1::C1 | false | 403 | 403 | x | -| C1::C1 | false | 405 | 405 | ... = ... | -| C1::C1 | false | 407 | 407 | return ... | -| C1::C1 | false | 409 | 409 | { ... } | -| C1::C1 | true | 398 | 403 | | -| C1::C1 | true | 400 | 401 | | -| C1::C1 | true | 401 | 405 | | -| C1::C1 | true | 403 | 400 | | -| C1::C1 | true | 405 | 407 | | -| C1::C1 | true | 407 | 237 | | -| C1::C1 | true | 409 | 398 | | -| C1::operator= | false | 348 | 348 | operator= | -| C1::operator= | false | 355 | 355 | operator= | -| C1::operator== | false | 226 | 226 | operator== | -| C1::operator== | false | 376 | 376 | return ... | -| C1::operator== | false | 378 | 378 | this | -| C1::operator== | false | 379 | 379 | val | -| C1::operator== | false | 382 | 382 | other | -| C1::operator== | false | 384 | 384 | (reference dereference) | -| C1::operator== | false | 385 | 385 | val | -| C1::operator== | false | 387 | 387 | ... == ... | -| C1::operator== | false | 389 | 389 | { ... } | -| C1::operator== | true | 376 | 378 | | -| C1::operator== | true | 378 | 379 | | -| C1::operator== | true | 379 | 382 | | -| C1::operator== | true | 382 | 385 | | -| C1::operator== | true | 385 | 387 | | -| C1::operator== | true | 387 | 226 | | -| C1::operator== | true | 389 | 376 | | -| C2::C2 | false | 170 | 170 | C2 | -| C2::C2 | false | 288 | 288 | C2 | -| C2::C2 | false | 334 | 334 | ExprStmt | -| C2::C2 | false | 336 | 336 | this | -| C2::C2 | false | 337 | 337 | val | -| C2::C2 | false | 339 | 339 | x | -| C2::C2 | false | 341 | 341 | ... = ... | -| C2::C2 | false | 343 | 343 | return ... | -| C2::C2 | false | 345 | 345 | { ... } | -| C2::C2 | true | 334 | 339 | | -| C2::C2 | true | 336 | 337 | | -| C2::C2 | true | 337 | 341 | | -| C2::C2 | true | 339 | 336 | | -| C2::C2 | true | 341 | 343 | | -| C2::C2 | true | 343 | 170 | | -| C2::C2 | true | 345 | 334 | | -| C2::operator= | false | 282 | 282 | operator= | -| C2::operator== | false | 159 | 159 | operator== | -| C2::operator== | false | 301 | 301 | return ... | -| C2::operator== | false | 303 | 303 | this | -| C2::operator== | false | 304 | 304 | val | -| C2::operator== | false | 307 | 307 | other | -| C2::operator== | false | 309 | 309 | (reference dereference) | -| C2::operator== | false | 310 | 310 | val | -| C2::operator== | false | 312 | 312 | ... == ... | -| C2::operator== | false | 314 | 314 | { ... } | -| C2::operator== | true | 301 | 303 | | -| C2::operator== | true | 303 | 304 | | -| C2::operator== | true | 304 | 307 | | -| C2::operator== | true | 307 | 310 | | -| C2::operator== | true | 310 | 312 | | -| C2::operator== | true | 312 | 159 | | -| C2::operator== | true | 314 | 301 | | -| C2::~C2 | false | 316 | 316 | ~C2 | -| C2::~C2 | false | 321 | 321 | ; | -| C2::~C2 | false | 323 | 323 | return ... | -| C2::~C2 | false | 325 | 325 | { ... } | -| C2::~C2 | true | 321 | 323 | | -| C2::~C2 | true | 323 | 316 | | -| C2::~C2 | true | 325 | 321 | | -| __va_list_tag::operator= | false | 57 | 57 | operator= | -| __va_list_tag::operator= | false | 63 | 63 | operator= | -| f1 | false | 215 | 215 | f1 | -| f1 | false | 220 | 220 | if (...) ... | -| f1 | false | 234 | 234 | call to operator== | -| f1 | false | 235 | 235 | call to C1 | -| f1 | false | 240 | 240 | 1 | -| f1 | false | 241 | 241 | temporary object | -| f1 | false | 242 | 242 | (const C1)... | -| f1 | false | 243 | 243 | call to C1 | -| f1 | false | 247 | 247 | 2 | -| f1 | false | 248 | 248 | temporary object | -| f1 | false | 249 | 249 | (const C1)... | -| f1 | false | 250 | 250 | (reference to) | -| f1 | false | 251 | 251 | ; | -| f1 | false | 253 | 253 | { ... } | -| f1 | false | 255 | 255 | if (...) ... | -| f1 | false | 258 | 258 | call to operator== | -| f1 | false | 259 | 259 | call to C1 | -| f1 | false | 263 | 263 | 3 | -| f1 | false | 264 | 264 | temporary object | -| f1 | false | 265 | 265 | (const C1)... | -| f1 | false | 266 | 266 | call to C1 | -| f1 | false | 270 | 270 | 3 | -| f1 | false | 271 | 271 | temporary object | -| f1 | false | 272 | 272 | (const C1)... | -| f1 | false | 273 | 273 | (reference to) | -| f1 | false | 274 | 274 | ; | -| f1 | false | 276 | 276 | { ... } | -| f1 | false | 278 | 278 | return ... | -| f1 | false | 280 | 280 | { ... } | -| f1 | true | 220 | 247 | | -| f1 | true | 234 | 253 | T | -| f1 | true | 234 | 255 | F | -| f1 | true | 235 | 234 | | -| f1 | true | 240 | 235 | | -| f1 | true | 243 | 240 | | -| f1 | true | 247 | 243 | | -| f1 | true | 251 | 255 | | -| f1 | true | 253 | 251 | | -| f1 | true | 255 | 270 | | -| f1 | true | 258 | 276 | T | -| f1 | true | 258 | 278 | F | -| f1 | true | 259 | 258 | | -| f1 | true | 263 | 259 | | -| f1 | true | 266 | 263 | | -| f1 | true | 270 | 266 | | -| f1 | true | 274 | 278 | | -| f1 | true | 276 | 274 | | -| f1 | true | 278 | 215 | | -| f1 | true | 280 | 220 | | -| f2 | false | 148 | 148 | f2 | -| f2 | false | 153 | 153 | if (...) ... | -| f2 | false | 167 | 167 | call to operator== | -| f2 | false | 168 | 168 | call to C2 | -| f2 | false | 173 | 173 | 1 | -| f2 | false | 174 | 174 | temporary object | -| f2 | false | 175 | 175 | (const C2)... | -| f2 | false | 176 | 176 | call to C2 | -| f2 | false | 180 | 180 | 2 | -| f2 | false | 181 | 181 | temporary object | -| f2 | false | 182 | 182 | (const C2)... | -| f2 | false | 183 | 183 | (reference to) | -| f2 | false | 184 | 184 | ; | -| f2 | false | 186 | 186 | { ... } | -| f2 | false | 188 | 188 | if (...) ... | -| f2 | false | 191 | 191 | call to operator== | -| f2 | false | 192 | 192 | call to C2 | -| f2 | false | 196 | 196 | 3 | -| f2 | false | 197 | 197 | temporary object | +| C1::C1 | false | 305 | 305 | C1 | +| C1::C1 | false | 473 | 473 | C1 | +| C1::C1 | false | 477 | 477 | C1 | +| C1::C1 | false | 521 | 521 | ExprStmt | +| C1::C1 | false | 524 | 524 | this | +| C1::C1 | false | 526 | 526 | val | +| C1::C1 | false | 529 | 529 | x | +| C1::C1 | false | 532 | 532 | ... = ... | +| C1::C1 | false | 535 | 535 | return ... | +| C1::C1 | false | 538 | 538 | { ... } | +| C1::C1 | true | 521 | 529 | | +| C1::C1 | true | 524 | 526 | | +| C1::C1 | true | 526 | 532 | | +| C1::C1 | true | 529 | 524 | | +| C1::C1 | true | 532 | 535 | | +| C1::C1 | true | 535 | 305 | | +| C1::C1 | true | 538 | 521 | | +| C1::operator= | false | 462 | 462 | operator= | +| C1::operator= | false | 469 | 469 | operator= | +| C1::operator== | false | 292 | 292 | operator== | +| C1::operator== | false | 491 | 491 | return ... | +| C1::operator== | false | 494 | 494 | this | +| C1::operator== | false | 496 | 496 | val | +| C1::operator== | false | 500 | 500 | other | +| C1::operator== | false | 503 | 503 | (reference dereference) | +| C1::operator== | false | 505 | 505 | val | +| C1::operator== | false | 508 | 508 | ... == ... | +| C1::operator== | false | 511 | 511 | { ... } | +| C1::operator== | true | 491 | 494 | | +| C1::operator== | true | 494 | 496 | | +| C1::operator== | true | 496 | 500 | | +| C1::operator== | true | 500 | 505 | | +| C1::operator== | true | 505 | 508 | | +| C1::operator== | true | 508 | 292 | | +| C1::operator== | true | 511 | 491 | | +| C2::C2 | false | 189 | 189 | C2 | +| C2::C2 | false | 385 | 385 | C2 | +| C2::C2 | false | 442 | 442 | ExprStmt | +| C2::C2 | false | 445 | 445 | this | +| C2::C2 | false | 447 | 447 | val | +| C2::C2 | false | 450 | 450 | x | +| C2::C2 | false | 453 | 453 | ... = ... | +| C2::C2 | false | 456 | 456 | return ... | +| C2::C2 | false | 459 | 459 | { ... } | +| C2::C2 | true | 442 | 450 | | +| C2::C2 | true | 445 | 447 | | +| C2::C2 | true | 447 | 453 | | +| C2::C2 | true | 450 | 445 | | +| C2::C2 | true | 453 | 456 | | +| C2::C2 | true | 456 | 189 | | +| C2::C2 | true | 459 | 442 | | +| C2::operator= | false | 379 | 379 | operator= | +| C2::operator== | false | 176 | 176 | operator== | +| C2::operator== | false | 399 | 399 | return ... | +| C2::operator== | false | 402 | 402 | this | +| C2::operator== | false | 404 | 404 | val | +| C2::operator== | false | 408 | 408 | other | +| C2::operator== | false | 411 | 411 | (reference dereference) | +| C2::operator== | false | 413 | 413 | val | +| C2::operator== | false | 416 | 416 | ... == ... | +| C2::operator== | false | 419 | 419 | { ... } | +| C2::operator== | true | 399 | 402 | | +| C2::operator== | true | 402 | 404 | | +| C2::operator== | true | 404 | 408 | | +| C2::operator== | true | 408 | 413 | | +| C2::operator== | true | 413 | 416 | | +| C2::operator== | true | 416 | 176 | | +| C2::operator== | true | 419 | 399 | | +| C2::~C2 | false | 267 | 267 | ~C2 | +| C2::~C2 | false | 426 | 426 | ; | +| C2::~C2 | false | 429 | 429 | return ... | +| C2::~C2 | false | 432 | 432 | { ... } | +| C2::~C2 | true | 426 | 429 | | +| C2::~C2 | true | 429 | 267 | | +| C2::~C2 | true | 432 | 426 | | +| __va_list_tag::operator= | false | 66 | 66 | operator= | +| __va_list_tag::operator= | false | 72 | 72 | operator= | +| f1 | false | 280 | 280 | f1 | +| f1 | false | 286 | 286 | if (...) ... | +| f1 | false | 301 | 301 | call to operator== | +| f1 | false | 303 | 303 | call to C1 | +| f1 | false | 310 | 310 | 1 | +| f1 | false | 312 | 312 | temporary object | +| f1 | false | 314 | 314 | (const C1)... | +| f1 | false | 316 | 316 | call to C1 | +| f1 | false | 322 | 322 | 2 | +| f1 | false | 324 | 324 | temporary object | +| f1 | false | 326 | 326 | (const C1)... | +| f1 | false | 328 | 328 | (reference to) | +| f1 | false | 330 | 330 | ; | +| f1 | false | 333 | 333 | { ... } | +| f1 | false | 336 | 336 | if (...) ... | +| f1 | false | 340 | 340 | call to operator== | +| f1 | false | 342 | 342 | call to C1 | +| f1 | false | 348 | 348 | 3 | +| f1 | false | 350 | 350 | temporary object | +| f1 | false | 352 | 352 | (const C1)... | +| f1 | false | 354 | 354 | call to C1 | +| f1 | false | 360 | 360 | 3 | +| f1 | false | 362 | 362 | temporary object | +| f1 | false | 364 | 364 | (const C1)... | +| f1 | false | 366 | 366 | (reference to) | +| f1 | false | 368 | 368 | ; | +| f1 | false | 371 | 371 | { ... } | +| f1 | false | 374 | 374 | return ... | +| f1 | false | 377 | 377 | { ... } | +| f1 | true | 286 | 322 | | +| f1 | true | 301 | 333 | T | +| f1 | true | 301 | 336 | F | +| f1 | true | 303 | 301 | | +| f1 | true | 310 | 303 | | +| f1 | true | 316 | 310 | | +| f1 | true | 322 | 316 | | +| f1 | true | 330 | 336 | | +| f1 | true | 333 | 330 | | +| f1 | true | 336 | 360 | | +| f1 | true | 340 | 371 | T | +| f1 | true | 340 | 374 | F | +| f1 | true | 342 | 340 | | +| f1 | true | 348 | 342 | | +| f1 | true | 354 | 348 | | +| f1 | true | 360 | 354 | | +| f1 | true | 368 | 374 | | +| f1 | true | 371 | 368 | | +| f1 | true | 374 | 280 | | +| f1 | true | 377 | 286 | | +| f2 | false | 164 | 164 | f2 | +| f2 | false | 170 | 170 | if (...) ... | +| f2 | false | 185 | 185 | call to operator== | +| f2 | false | 187 | 187 | call to C2 | +| f2 | false | 194 | 194 | 1 | +| f2 | false | 196 | 196 | temporary object | | f2 | false | 198 | 198 | (const C2)... | -| f2 | false | 199 | 199 | call to C2 | -| f2 | false | 203 | 203 | 3 | -| f2 | false | 204 | 204 | temporary object | -| f2 | false | 205 | 205 | (const C2)... | -| f2 | false | 206 | 206 | (reference to) | -| f2 | false | 207 | 207 | ; | -| f2 | false | 209 | 209 | { ... } | -| f2 | false | 211 | 211 | return ... | -| f2 | false | 213 | 213 | { ... } | -| f2 | true | 153 | 180 | | -| f2 | true | 167 | 186 | T | -| f2 | true | 167 | 188 | F | -| f2 | true | 168 | 167 | | -| f2 | true | 173 | 168 | | -| f2 | true | 176 | 173 | | -| f2 | true | 180 | 176 | | -| f2 | true | 184 | 188 | | -| f2 | true | 186 | 184 | | -| f2 | true | 188 | 203 | | -| f2 | true | 191 | 209 | T | -| f2 | true | 191 | 211 | F | -| f2 | true | 192 | 191 | | -| f2 | true | 196 | 192 | | -| f2 | true | 199 | 196 | | -| f2 | true | 203 | 199 | | -| f2 | true | 207 | 211 | | -| f2 | true | 209 | 207 | | -| f2 | true | 211 | 148 | | -| f2 | true | 213 | 153 | | +| f2 | false | 200 | 200 | call to C2 | +| f2 | false | 206 | 206 | 2 | +| f2 | false | 208 | 208 | temporary object | +| f2 | false | 210 | 210 | (const C2)... | +| f2 | false | 212 | 212 | (reference to) | +| f2 | false | 214 | 214 | ; | +| f2 | false | 217 | 217 | { ... } | +| f2 | false | 220 | 220 | if (...) ... | +| f2 | false | 224 | 224 | call to operator== | +| f2 | false | 226 | 226 | call to C2 | +| f2 | false | 232 | 232 | 3 | +| f2 | false | 234 | 234 | temporary object | +| f2 | false | 236 | 236 | (const C2)... | +| f2 | false | 238 | 238 | call to C2 | +| f2 | false | 244 | 244 | 3 | +| f2 | false | 246 | 246 | temporary object | +| f2 | false | 248 | 248 | (const C2)... | +| f2 | false | 250 | 250 | (reference to) | +| f2 | false | 252 | 252 | ; | +| f2 | false | 255 | 255 | { ... } | +| f2 | false | 258 | 258 | return ... | +| f2 | false | 261 | 261 | { ... } | +| f2 | false | 264 | 264 | reuse of temporary object | +| f2 | false | 266 | 266 | call to ~C2 | +| f2 | false | 269 | 269 | reuse of temporary object | +| f2 | false | 271 | 271 | call to ~C2 | +| f2 | false | 273 | 273 | reuse of temporary object | +| f2 | false | 275 | 275 | call to ~C2 | +| f2 | false | 277 | 277 | reuse of temporary object | +| f2 | false | 279 | 279 | call to ~C2 | +| f2 | true | 170 | 206 | | +| f2 | true | 185 | 217 | T | +| f2 | true | 185 | 220 | F | +| f2 | true | 187 | 185 | | +| f2 | true | 194 | 187 | | +| f2 | true | 200 | 194 | | +| f2 | true | 206 | 200 | | +| f2 | true | 214 | 220 | | +| f2 | true | 217 | 214 | | +| f2 | true | 220 | 244 | | +| f2 | true | 224 | 255 | T | +| f2 | true | 224 | 258 | F | +| f2 | true | 226 | 224 | | +| f2 | true | 232 | 226 | | +| f2 | true | 238 | 232 | | +| f2 | true | 244 | 238 | | +| f2 | true | 252 | 258 | | +| f2 | true | 255 | 252 | | +| f2 | true | 258 | 164 | | +| f2 | true | 261 | 170 | | +| f2 | true | 264 | 266 | | +| f2 | true | 269 | 271 | | +| f2 | true | 271 | 264 | | +| f2 | true | 273 | 275 | | +| f2 | true | 277 | 279 | | +| f2 | true | 279 | 273 | | diff --git a/csharp/.editorconfig b/csharp/.editorconfig index 3705b7144e3..2602206b037 100644 --- a/csharp/.editorconfig +++ b/csharp/.editorconfig @@ -268,6 +268,5 @@ csharp_style_var_elsewhere = true:suggestion # [extractor/Semmle.Extraction/Tuples.cs, - extractor/Semmle.Extraction.CSharp/Tuples.cs, - extractor/Semmle.Extraction.CIL/Tuples.cs] -dotnet_naming_rule.members_should_be_pascal_case.severity = none \ No newline at end of file + extractor/Semmle.Extraction.CSharp/Tuples.cs] +dotnet_naming_rule.members_should_be_pascal_case.severity = none diff --git a/csharp/CSharp.sln b/csharp/CSharp.sln index 0ba39b813bb..0578b5b8810 100644 --- a/csharp/CSharp.sln +++ b/csharp/CSharp.sln @@ -8,8 +8,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Semmle.Extraction", "extrac EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Semmle.Extraction.CSharp", "extractor\Semmle.Extraction.CSharp\Semmle.Extraction.CSharp.csproj", "{C4D62DA0-B64B-440B-86DC-AB52318CB8BF}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Semmle.Extraction.CIL", "extractor\Semmle.Extraction.CIL\Semmle.Extraction.CIL.csproj", "{399A1579-68F0-40F4-9A23-F241BA697F9C}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Semmle.Extraction.CSharp.DependencyFetching", "extractor\Semmle.Extraction.CSharp.DependencyFetching\Semmle.Extraction.CSharp.DependencyFetching.csproj", "{541D1AC5-E42C-4AB2-A1A4-C2355CE2A2EF}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Semmle.Extraction.CSharp.Standalone", "extractor\Semmle.Extraction.CSharp.Standalone\Semmle.Extraction.CSharp.Standalone.csproj", "{D00E7D25-0FA0-48EC-B048-CD60CE1B30D8}" @@ -18,8 +16,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Semmle.Extraction.CSharp.St EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Semmle.Extraction.CSharp.Util", "extractor\Semmle.Extraction.CSharp.Util\Semmle.Extraction.CSharp.Util.csproj", "{998A0D4C-8BFC-4513-A28D-4816AFB89882}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Semmle.Extraction.CIL.Driver", "extractor\Semmle.Extraction.CIL.Driver\Semmle.Extraction.CIL.Driver.csproj", "{EFA400B3-C1CE-446F-A4E2-8B44E61EF47C}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Semmle.Extraction.CSharp.Driver", "extractor\Semmle.Extraction.CSharp.Driver\Semmle.Extraction.CSharp.Driver.csproj", "{C36453BF-0C82-448A-B15D-26947503A2D3}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Semmle.Extraction.Tests", "extractor\Semmle.Extraction.Tests\Semmle.Extraction.Tests.csproj", "{CD8D3F90-AD2E-4BB5-8E82-B94AA293864A}" diff --git a/csharp/codeql-extractor.yml b/csharp/codeql-extractor.yml index 13019e7b0a3..6c3285c412b 100644 --- a/csharp/codeql-extractor.yml +++ b/csharp/codeql-extractor.yml @@ -47,13 +47,6 @@ options: the code (for example if it uses inaccessible dependencies). type: string pattern: "^(false|true)$" - cil: - title: Whether to enable CIL extraction. - description: > - A value indicating, whether CIL extraction should be enabled. - The default is 'true'. - type: string - pattern: "^(false|true)$" logging: title: Options pertaining to logging. type: object diff --git a/csharp/documentation/library-coverage/coverage.csv b/csharp/documentation/library-coverage/coverage.csv index 8bb3b01441a..6da4acdabe6 100644 --- a/csharp/documentation/library-coverage/coverage.csv +++ b/csharp/documentation/library-coverage/coverage.csv @@ -1,44 +1,44 @@ -package,sink,source,summary,sink:code-injection,sink:encryption-decryptor,sink:encryption-encryptor,sink:encryption-keyprop,sink:encryption-symmetrickey,sink:file-content-store,sink:html-injection,sink:js-injection,sink:log-injection,sink:sql-injection,source:commandargs,source:environment,source:file,source:file-write,source:local,source:remote,summary:taint,summary:value -Amazon.Lambda.APIGatewayEvents,,6,,,,,,,,,,,,,,,,,6,, -Amazon.Lambda.Core,10,,,,,,,,,,,10,,,,,,,,, -Dapper,55,,,,,,,,,,,,55,,,,,,,, -ILCompiler,,,81,,,,,,,,,,,,,,,,,81, -ILLink.RoslynAnalyzer,,,63,,,,,,,,,,,,,,,,,63, -ILLink.Shared,,,32,,,,,,,,,,,,,,,,,29,3 -ILLink.Tasks,,,5,,,,,,,,,,,,,,,,,5, -Internal.IL,,,69,,,,,,,,,,,,,,,,,67,2 -Internal.Pgo,,,9,,,,,,,,,,,,,,,,,8,1 -Internal.TypeSystem,,,367,,,,,,,,,,,,,,,,,331,36 -JsonToItemsTaskFactory,,,7,,,,,,,,,,,,,,,,,7, -Microsoft.Android.Build,,,14,,,,,,,,,,,,,,,,,14, -Microsoft.Apple.Build,,,7,,,,,,,,,,,,,,,,,7, -Microsoft.ApplicationBlocks.Data,28,,,,,,,,,,,,28,,,,,,,, -Microsoft.CSharp,,,24,,,,,,,,,,,,,,,,,24, -Microsoft.Diagnostics.Tools.Pgo,,,13,,,,,,,,,,,,,,,,,13, -Microsoft.EntityFrameworkCore,6,,12,,,,,,,,,,6,,,,,,,,12 -Microsoft.Extensions.Caching.Distributed,,,15,,,,,,,,,,,,,,,,,15, -Microsoft.Extensions.Caching.Memory,,,38,,,,,,,,,,,,,,,,,37,1 -Microsoft.Extensions.Configuration,,2,89,,,,,,,,,,,,2,,,,,86,3 -Microsoft.Extensions.DependencyInjection,,,120,,,,,,,,,,,,,,,,,120, -Microsoft.Extensions.DependencyModel,,,12,,,,,,,,,,,,,,,,,12, -Microsoft.Extensions.Diagnostics.Metrics,,,13,,,,,,,,,,,,,,,,,13, -Microsoft.Extensions.FileProviders,,,15,,,,,,,,,,,,,,,,,15, -Microsoft.Extensions.FileSystemGlobbing,,,16,,,,,,,,,,,,,,,,,14,2 -Microsoft.Extensions.Hosting,,,23,,,,,,,,,,,,,,,,,22,1 -Microsoft.Extensions.Http,,,10,,,,,,,,,,,,,,,,,10, -Microsoft.Extensions.Logging,,,60,,,,,,,,,,,,,,,,,59,1 -Microsoft.Extensions.Options,,,8,,,,,,,,,,,,,,,,,8, -Microsoft.Extensions.Primitives,,,64,,,,,,,,,,,,,,,,,64, -Microsoft.Interop,,,78,,,,,,,,,,,,,,,,,78, -Microsoft.NET.Build.Tasks,,,1,,,,,,,,,,,,,,,,,1, -Microsoft.NET.WebAssembly.Webcil,,,7,,,,,,,,,,,,,,,,,7, -Microsoft.VisualBasic,,,10,,,,,,,,,,,,,,,,,5,5 -Microsoft.WebAssembly.Build.Tasks,,,3,,,,,,,,,,,,,,,,,3, -Microsoft.Win32.SafeHandles,,,4,,,,,,,,,,,,,,,,,4, -Mono.Linker,,,163,,,,,,,,,,,,,,,,,163, -MySql.Data.MySqlClient,48,,,,,,,,,,,,48,,,,,,,, -Newtonsoft.Json,,,91,,,,,,,,,,,,,,,,,73,18 -ServiceStack,194,,7,27,,,,,75,,,,92,,,,,,,7, -SourceGenerators,,,4,,,,,,,,,,,,,,,,,4, -System,67,30,11864,,8,8,9,,,4,5,,33,2,3,1,17,3,4,9898,1966 -Windows.Security.Cryptography.Core,1,,,,,,,1,,,,,,,,,,,,, +package,sink,source,summary,sink:code-injection,sink:encryption-decryptor,sink:encryption-encryptor,sink:encryption-keyprop,sink:encryption-symmetrickey,sink:file-content-store,sink:html-injection,sink:js-injection,sink:log-injection,sink:sql-injection,source:commandargs,source:environment,source:file,source:file-write,source:local,source:remote,source:windows-registry,summary:taint,summary:value +Amazon.Lambda.APIGatewayEvents,,6,,,,,,,,,,,,,,,,,6,,, +Amazon.Lambda.Core,10,,,,,,,,,,,10,,,,,,,,,, +Dapper,55,,,,,,,,,,,,55,,,,,,,,, +ILCompiler,,,81,,,,,,,,,,,,,,,,,,81, +ILLink.RoslynAnalyzer,,,63,,,,,,,,,,,,,,,,,,63, +ILLink.Shared,,,32,,,,,,,,,,,,,,,,,,29,3 +ILLink.Tasks,,,5,,,,,,,,,,,,,,,,,,5, +Internal.IL,,,69,,,,,,,,,,,,,,,,,,67,2 +Internal.Pgo,,,9,,,,,,,,,,,,,,,,,,8,1 +Internal.TypeSystem,,,367,,,,,,,,,,,,,,,,,,331,36 +JsonToItemsTaskFactory,,,7,,,,,,,,,,,,,,,,,,7, +Microsoft.Android.Build,,,14,,,,,,,,,,,,,,,,,,14, +Microsoft.Apple.Build,,,7,,,,,,,,,,,,,,,,,,7, +Microsoft.ApplicationBlocks.Data,28,,,,,,,,,,,,28,,,,,,,,, +Microsoft.CSharp,,,24,,,,,,,,,,,,,,,,,,24, +Microsoft.Diagnostics.Tools.Pgo,,,13,,,,,,,,,,,,,,,,,,13, +Microsoft.EntityFrameworkCore,6,,12,,,,,,,,,,6,,,,,,,,,12 +Microsoft.Extensions.Caching.Distributed,,,15,,,,,,,,,,,,,,,,,,15, +Microsoft.Extensions.Caching.Memory,,,38,,,,,,,,,,,,,,,,,,37,1 +Microsoft.Extensions.Configuration,,2,89,,,,,,,,,,,,2,,,,,,86,3 +Microsoft.Extensions.DependencyInjection,,,120,,,,,,,,,,,,,,,,,,120, +Microsoft.Extensions.DependencyModel,,,12,,,,,,,,,,,,,,,,,,12, +Microsoft.Extensions.Diagnostics.Metrics,,,13,,,,,,,,,,,,,,,,,,13, +Microsoft.Extensions.FileProviders,,,15,,,,,,,,,,,,,,,,,,15, +Microsoft.Extensions.FileSystemGlobbing,,,16,,,,,,,,,,,,,,,,,,14,2 +Microsoft.Extensions.Hosting,,,23,,,,,,,,,,,,,,,,,,22,1 +Microsoft.Extensions.Http,,,10,,,,,,,,,,,,,,,,,,10, +Microsoft.Extensions.Logging,,,60,,,,,,,,,,,,,,,,,,59,1 +Microsoft.Extensions.Options,,,8,,,,,,,,,,,,,,,,,,8, +Microsoft.Extensions.Primitives,,,64,,,,,,,,,,,,,,,,,,64, +Microsoft.Interop,,,78,,,,,,,,,,,,,,,,,,78, +Microsoft.NET.Build.Tasks,,,1,,,,,,,,,,,,,,,,,,1, +Microsoft.NET.WebAssembly.Webcil,,,7,,,,,,,,,,,,,,,,,,7, +Microsoft.VisualBasic,,,10,,,,,,,,,,,,,,,,,,5,5 +Microsoft.WebAssembly.Build.Tasks,,,3,,,,,,,,,,,,,,,,,,3, +Microsoft.Win32,,4,4,,,,,,,,,,,,,,,,,4,4, +Mono.Linker,,,163,,,,,,,,,,,,,,,,,,163, +MySql.Data.MySqlClient,48,,,,,,,,,,,,48,,,,,,,,, +Newtonsoft.Json,,,91,,,,,,,,,,,,,,,,,,73,18 +ServiceStack,194,,7,27,,,,,75,,,,92,,,,,,,,7, +SourceGenerators,,,4,,,,,,,,,,,,,,,,,,4, +System,67,30,11864,,8,8,9,,,4,5,,33,2,3,1,17,3,4,,9898,1966 +Windows.Security.Cryptography.Core,1,,,,,,,1,,,,,,,,,,,,,, diff --git a/csharp/documentation/library-coverage/coverage.rst b/csharp/documentation/library-coverage/coverage.rst index bdee069e89a..0b11da25d91 100644 --- a/csharp/documentation/library-coverage/coverage.rst +++ b/csharp/documentation/library-coverage/coverage.rst @@ -9,6 +9,6 @@ C# framework & library support Framework / library,Package,Flow sources,Taint & value steps,Sinks (total),`CWE-079` :sub:`Cross-site scripting` `ServiceStack `_,"``ServiceStack.*``, ``ServiceStack``",,7,194, System,"``System.*``, ``System``",30,11864,67,9 - Others,"``Amazon.Lambda.APIGatewayEvents``, ``Amazon.Lambda.Core``, ``Dapper``, ``ILCompiler``, ``ILLink.RoslynAnalyzer``, ``ILLink.Shared``, ``ILLink.Tasks``, ``Internal.IL``, ``Internal.Pgo``, ``Internal.TypeSystem``, ``JsonToItemsTaskFactory``, ``Microsoft.Android.Build``, ``Microsoft.Apple.Build``, ``Microsoft.ApplicationBlocks.Data``, ``Microsoft.CSharp``, ``Microsoft.Diagnostics.Tools.Pgo``, ``Microsoft.EntityFrameworkCore``, ``Microsoft.Extensions.Caching.Distributed``, ``Microsoft.Extensions.Caching.Memory``, ``Microsoft.Extensions.Configuration``, ``Microsoft.Extensions.DependencyInjection``, ``Microsoft.Extensions.DependencyModel``, ``Microsoft.Extensions.Diagnostics.Metrics``, ``Microsoft.Extensions.FileProviders``, ``Microsoft.Extensions.FileSystemGlobbing``, ``Microsoft.Extensions.Hosting``, ``Microsoft.Extensions.Http``, ``Microsoft.Extensions.Logging``, ``Microsoft.Extensions.Options``, ``Microsoft.Extensions.Primitives``, ``Microsoft.Interop``, ``Microsoft.NET.Build.Tasks``, ``Microsoft.NET.WebAssembly.Webcil``, ``Microsoft.VisualBasic``, ``Microsoft.WebAssembly.Build.Tasks``, ``Microsoft.Win32.SafeHandles``, ``Mono.Linker``, ``MySql.Data.MySqlClient``, ``Newtonsoft.Json``, ``SourceGenerators``, ``Windows.Security.Cryptography.Core``",8,1547,148, - Totals,,38,13418,409,9 + Others,"``Amazon.Lambda.APIGatewayEvents``, ``Amazon.Lambda.Core``, ``Dapper``, ``ILCompiler``, ``ILLink.RoslynAnalyzer``, ``ILLink.Shared``, ``ILLink.Tasks``, ``Internal.IL``, ``Internal.Pgo``, ``Internal.TypeSystem``, ``JsonToItemsTaskFactory``, ``Microsoft.Android.Build``, ``Microsoft.Apple.Build``, ``Microsoft.ApplicationBlocks.Data``, ``Microsoft.CSharp``, ``Microsoft.Diagnostics.Tools.Pgo``, ``Microsoft.EntityFrameworkCore``, ``Microsoft.Extensions.Caching.Distributed``, ``Microsoft.Extensions.Caching.Memory``, ``Microsoft.Extensions.Configuration``, ``Microsoft.Extensions.DependencyInjection``, ``Microsoft.Extensions.DependencyModel``, ``Microsoft.Extensions.Diagnostics.Metrics``, ``Microsoft.Extensions.FileProviders``, ``Microsoft.Extensions.FileSystemGlobbing``, ``Microsoft.Extensions.Hosting``, ``Microsoft.Extensions.Http``, ``Microsoft.Extensions.Logging``, ``Microsoft.Extensions.Options``, ``Microsoft.Extensions.Primitives``, ``Microsoft.Interop``, ``Microsoft.NET.Build.Tasks``, ``Microsoft.NET.WebAssembly.Webcil``, ``Microsoft.VisualBasic``, ``Microsoft.WebAssembly.Build.Tasks``, ``Microsoft.Win32``, ``Mono.Linker``, ``MySql.Data.MySqlClient``, ``Newtonsoft.Json``, ``SourceGenerators``, ``Windows.Security.Cryptography.Core``",12,1547,148, + Totals,,42,13418,409,9 diff --git a/csharp/extractor/Semmle.Extraction.CIL.Driver/ExtractorOptions.cs b/csharp/extractor/Semmle.Extraction.CIL.Driver/ExtractorOptions.cs deleted file mode 100644 index e371bf59517..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL.Driver/ExtractorOptions.cs +++ /dev/null @@ -1,250 +0,0 @@ -using System.Collections.Generic; -using System.Globalization; -using System.IO; -using System.Linq; -using System.Reflection; -using System.Reflection.Metadata; -using System.Reflection.PortableExecutable; -using System.Runtime.InteropServices; -using Semmle.Util; - -namespace Semmle.Extraction.CIL.Driver -{ - /// - /// Information about a single assembly. - /// In particular, provides references between assemblies. - /// - internal class AssemblyInfo - { - public override string ToString() => Filename; - - private static AssemblyName CreateAssemblyName(MetadataReader mdReader, StringHandle name, System.Version version, StringHandle culture) - { - var cultureString = mdReader.GetString(culture); - - var assemblyName = new AssemblyName() - { - Name = mdReader.GetString(name), - Version = version - }; - - if (cultureString != "neutral") - assemblyName.CultureInfo = CultureInfo.GetCultureInfo(cultureString); - - return assemblyName; - } - - private static AssemblyName CreateAssemblyName(MetadataReader mdReader, AssemblyReference ar) - { - var an = CreateAssemblyName(mdReader, ar.Name, ar.Version, ar.Culture); - if (!ar.PublicKeyOrToken.IsNil) - an.SetPublicKeyToken(mdReader.GetBlobBytes(ar.PublicKeyOrToken)); - return an; - } - - private static AssemblyName CreateAssemblyName(MetadataReader mdReader, AssemblyDefinition ad) - { - var an = CreateAssemblyName(mdReader, ad.Name, ad.Version, ad.Culture); - if (!ad.PublicKey.IsNil) - an.SetPublicKey(mdReader.GetBlobBytes(ad.PublicKey)); - return an; - } - - /// - /// Initializes a new instance of the class. - /// - /// Path of the assembly. - /// - /// Thrown when the input file is not a valid assembly. - /// - public AssemblyInfo(string path) - { - Filename = path; - - // Attempt to open the file and see if it's a valid assembly. - using var stream = File.OpenRead(path); - using var peReader = new PEReader(stream); - try - { - if (!peReader.HasMetadata) - throw new InvalidAssemblyException(); - - var mdReader = peReader.GetMetadataReader(); - - if (!mdReader.IsAssembly) - throw new InvalidAssemblyException(); - - // Get our own assembly name - Name = CreateAssemblyName(mdReader, mdReader.GetAssemblyDefinition()); - - References = mdReader.AssemblyReferences - .Select(r => mdReader.GetAssemblyReference(r)) - .Select(ar => CreateAssemblyName(mdReader, ar)) - .ToArray(); - } - catch (System.BadImageFormatException) - { - // This failed on one of the Roslyn tests that includes - // a deliberately malformed assembly. - // In this case, we just skip the extraction of this assembly. - throw new InvalidAssemblyException(); - } - } - - public AssemblyName Name { get; } - public string Filename { get; } - public bool Extract { get; set; } - public AssemblyName[] References { get; } - } - - /// - /// Helper to manage a collection of assemblies. - /// Resolves references between assemblies and determines which - /// additional assemblies need to be extracted. - /// - internal class AssemblyList - { - private class AssemblyNameComparer : IEqualityComparer - { - bool IEqualityComparer.Equals(AssemblyName? x, AssemblyName? y) => - object.ReferenceEquals(x, y) || - x?.Name == y?.Name && x?.Version == y?.Version; - - int IEqualityComparer.GetHashCode(AssemblyName obj) => - (obj.Name, obj.Version).GetHashCode(); - } - - private readonly Dictionary assembliesRead = new Dictionary(new AssemblyNameComparer()); - - public void AddFile(string assemblyPath, bool extractAll) - { - if (!filesAnalyzed.Contains(assemblyPath)) - { - filesAnalyzed.Add(assemblyPath); - try - { - var info = new AssemblyInfo(assemblyPath) - { - Extract = extractAll - }; - if (!assembliesRead.ContainsKey(info.Name)) - assembliesRead.Add(info.Name, info); - } - catch (InvalidAssemblyException) - { } - } - } - - public IEnumerable AssembliesToExtract => assembliesRead.Values.Where(info => info.Extract); - - private IEnumerable AssembliesToReference => AssembliesToExtract.SelectMany(info => info.References); - - public void ResolveReferences() - { - var assembliesToReference = new Stack(AssembliesToReference); - - while (assembliesToReference.Any()) - { - var item = assembliesToReference.Pop(); - if (assembliesRead.TryGetValue(item, out var info)) - { - if (!info.Extract) - { - info.Extract = true; - foreach (var reference in info.References) - assembliesToReference.Push(reference); - } - } - else - { - MissingReferences.Add(item); - } - } - } - - private readonly HashSet filesAnalyzed = new HashSet(); - public HashSet MissingReferences { get; } = new HashSet(); - } - - /// - /// Parses the command line and collates a list of DLLs/EXEs to extract. - /// - internal class ExtractorOptions : CommonOptions - { - private readonly AssemblyList assemblyList = new AssemblyList(); - - public ExtractorOptions(string[] args) - { - this.ParseArguments(args.Append("--pdb").ToArray()); - - AddFrameworkDirectories(false); - - assemblyList.ResolveReferences(); - AssembliesToExtract = assemblyList.AssembliesToExtract.ToArray(); - } - - public void AddDirectory(string directory, bool extractAll) - { - foreach (var file in - Directory.EnumerateFiles(directory, "*.dll", SearchOption.AllDirectories). - Concat(Directory.EnumerateFiles(directory, "*.exe", SearchOption.AllDirectories))) - { - assemblyList.AddFile(file, extractAll); - } - } - - private void AddFrameworkDirectories(bool extractAll) - { - AddDirectory(RuntimeEnvironment.GetRuntimeDirectory(), extractAll); - } - - private void AddFileOrDirectory(string path) - { - path = Path.GetFullPath(path); - if (File.Exists(path)) - { - assemblyList.AddFile(path, true); - var directory = Path.GetDirectoryName(path); - if (directory is null) - { - throw new InternalError($"Directory of path '{path}' is null"); - } - AddDirectory(directory, false); - } - else if (Directory.Exists(path)) - { - AddDirectory(path, true); - } - } - - public IEnumerable AssembliesToExtract { get; } - - /// - /// Gets the assemblies that were referenced but were not available to be - /// extracted. This is not an error, it just means that the database is not - /// as complete as it could be. - /// - public IEnumerable MissingReferences => assemblyList.MissingReferences; - - public override bool HandleFlag(string flag, bool value) - { - switch (flag) - { - case "dotnet": - if (value) - AddFrameworkDirectories(true); - return true; - default: - return base.HandleFlag(flag, value); - } - } - - public override bool HandleArgument(string argument) - { - AddFileOrDirectory(argument); - return true; - } - - public override void InvalidArgument(string argument) { } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL.Driver/InvalidAssemblyException.cs b/csharp/extractor/Semmle.Extraction.CIL.Driver/InvalidAssemblyException.cs deleted file mode 100644 index 2686442a08d..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL.Driver/InvalidAssemblyException.cs +++ /dev/null @@ -1,7 +0,0 @@ -using System; - -namespace Semmle.Extraction.CIL.Driver -{ - public class InvalidAssemblyException : Exception - { } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL.Driver/Program.cs b/csharp/extractor/Semmle.Extraction.CIL.Driver/Program.cs deleted file mode 100644 index 2009fe1c94f..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL.Driver/Program.cs +++ /dev/null @@ -1,64 +0,0 @@ -using System; -using System.Diagnostics; -using System.Linq; -using System.Threading.Tasks; -using Semmle.Util.Logging; - -namespace Semmle.Extraction.CIL.Driver -{ - public static class Program - { - private static void DisplayHelp() - { - Console.WriteLine("CIL command line extractor"); - Console.WriteLine(); - Console.WriteLine("Usage: Semmle.Extraction.CIL.Driver.exe [options] path ..."); - Console.WriteLine(" --verbose Turn on verbose output"); - Console.WriteLine(" --dotnet Extract the .Net Framework"); - Console.WriteLine(" --nocache Overwrite existing trap files"); - Console.WriteLine(" --no-pdb Do not extract PDB files"); - Console.WriteLine(" path A directory/dll/exe to analyze"); - } - - private static void ExtractAssembly(string assemblyPath, ILogger logger, CommonOptions options) - { - var sw = new Stopwatch(); - sw.Start(); - Analyser.ExtractCIL(assemblyPath, logger, options, out _, out _); - sw.Stop(); - logger.Log(Severity.Info, " {0} ({1})", assemblyPath, sw.Elapsed); - } - - public static void Main(string[] args) - { - if (args.Length == 0) - { - DisplayHelp(); - return; - } - - var options = new ExtractorOptions(args); - using ILogger logger = new ConsoleLogger(options.Verbosity, logThreadId: false); - - var actions = options.AssembliesToExtract - .Select(asm => asm.Filename) - .Select(filename => () => ExtractAssembly(filename, logger, options)) - .ToArray(); - - foreach (var missingRef in options.MissingReferences) - logger.LogInfo(" Missing assembly " + missingRef); - - var sw = new Stopwatch(); - sw.Start(); - var piOptions = new ParallelOptions - { - MaxDegreeOfParallelism = options.Threads - }; - - Parallel.Invoke(piOptions, actions); - - sw.Stop(); - logger.Log(Severity.Info, "Extraction completed in {0}", sw.Elapsed); - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL.Driver/Properties/AssemblyInfo.cs b/csharp/extractor/Semmle.Extraction.CIL.Driver/Properties/AssemblyInfo.cs deleted file mode 100644 index 56f7f94c143..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL.Driver/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,35 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("Semmle.Extraction.CIL.Driver")] -[assembly: AssemblyDescription("Semmle CIL extractor")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Semmle Ltd")] -[assembly: AssemblyProduct("Semmle.Extraction.CIL.Driver")] -[assembly: AssemblyCopyright("Copyright © Semmle 2017")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("5642ae68-9c26-43c9-bd3c-49923dddf02d")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/csharp/extractor/Semmle.Extraction.CIL.Driver/Semmle.Extraction.CIL.Driver.csproj b/csharp/extractor/Semmle.Extraction.CIL.Driver/Semmle.Extraction.CIL.Driver.csproj deleted file mode 100644 index b0a27245ac2..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL.Driver/Semmle.Extraction.CIL.Driver.csproj +++ /dev/null @@ -1,23 +0,0 @@ - - - - Exe - net8.0 - Semmle.Extraction.CIL.Driver - Semmle.Extraction.CIL.Driver - false - win-x64;linux-x64;osx-x64 - enable - - - - - - - - - - - - - diff --git a/csharp/extractor/Semmle.Extraction.CIL/Analyser.cs b/csharp/extractor/Semmle.Extraction.CIL/Analyser.cs deleted file mode 100644 index 50288aadd94..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Analyser.cs +++ /dev/null @@ -1,52 +0,0 @@ -using System; -using Semmle.Util; -using Semmle.Util.Logging; -using Semmle.Extraction.CIL.Entities; - -namespace Semmle.Extraction.CIL -{ - public static class Analyser - { - private static void ExtractCIL(TracingExtractor extractor, TrapWriter trapWriter, bool extractPdbs) - { - using var cilContext = new Context(extractor, trapWriter, extractor.OutputPath, extractPdbs); - cilContext.Populate(new Assembly(cilContext)); - cilContext.PopulateAll(); - } - - /// - /// Main entry point to the CIL extractor. - /// Call this to extract a given assembly. - /// - /// The trap layout. - /// The full path of the assembly to extract. - /// The logger. - /// True to overwrite existing trap file. - /// Whether to extract PDBs. - /// The path of the trap file. - /// Whether the file was extracted (false=cached). - public static void ExtractCIL(string assemblyPath, ILogger logger, CommonOptions options, out string trapFile, out bool extracted) - { - trapFile = ""; - extracted = false; - try - { - var canonicalPathCache = CanonicalPathCache.Create(logger, 1000); - var pathTransformer = new PathTransformer(canonicalPathCache); - var extractor = new TracingExtractor(assemblyPath, logger, pathTransformer, options); - var transformedAssemblyPath = pathTransformer.Transform(assemblyPath); - using var trapWriter = transformedAssemblyPath.WithSuffix(".cil").CreateTrapWriter(logger, options.TrapCompression, discardDuplicates: true); - trapFile = trapWriter.TrapFile; - if (!options.Cache || !System.IO.File.Exists(trapFile)) - { - ExtractCIL(extractor, trapWriter, options.PDB); - extracted = true; - } - } - catch (Exception ex) // lgtm[cs/catch-of-all-exceptions] - { - logger.LogError(string.Format("Exception extracting {0}: {1}", assemblyPath, ex)); - } - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/CachedFunction.cs b/csharp/extractor/Semmle.Extraction.CIL/CachedFunction.cs deleted file mode 100644 index 4f7ce5a7ef1..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/CachedFunction.cs +++ /dev/null @@ -1,68 +0,0 @@ -using System; -using System.Collections.Generic; - -namespace Semmle.Extraction.CIL -{ - /// - /// A factory and a cache for mapping source entities to target entities. - /// Could be considered as a memoizer. - /// - /// The type of the source. - /// The type of the generated object. - public class CachedFunction where TSrc : notnull - { - private readonly Func generator; - private readonly Dictionary cache; - - /// - /// Initializes the factory with a given mapping. - /// - /// The mapping. - public CachedFunction(Func g) - { - generator = g; - cache = new Dictionary(); - } - - /// - /// Gets the target for a given source. - /// Create it if it does not exist. - /// - /// The source object. - /// The created object. - public TTarget this[TSrc src] - { - get - { - if (!cache.TryGetValue(src, out var result)) - { - result = generator(src); - cache[src] = result; - } - return result; - } - } - } - - /// - /// A factory for mapping a pair of source entities to a target entity. - /// - /// Source entity type 1. - /// Source entity type 2. - /// The target type. - public class CachedFunction - { - private readonly CachedFunction<(TSrcEntity1, TSrcEntity2), TTarget> factory; - - /// - /// Initializes the factory with a given mapping. - /// - /// The mapping. - public CachedFunction(Func g) - { - factory = new CachedFunction<(TSrcEntity1, TSrcEntity2), TTarget>(p => g(p.Item1, p.Item2)); - } - - public TTarget this[TSrcEntity1 s1, TSrcEntity2 s2] => factory[(s1, s2)]; - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Context.Factories.cs b/csharp/extractor/Semmle.Extraction.CIL/Context.Factories.cs deleted file mode 100644 index 1c90e693a5f..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Context.Factories.cs +++ /dev/null @@ -1,253 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Reflection.Metadata; -using Semmle.Extraction.CIL.Entities; - -namespace Semmle.Extraction.CIL -{ - /// - /// Provides methods for creating and caching various entities. - /// - internal sealed partial class Context - { - private readonly Dictionary ids = new Dictionary(); - - internal T Populate(T e) where T : IExtractedEntity - { - if (e.Label.Valid) - { - return e; // Already populated - } - - if (ids.TryGetValue(e, out var existing)) - { - // It exists already - e.Label = existing; - } - else - { - e.Label = GetNewLabel(); - DefineLabel(e); - ids.Add(e, e.Label); - PopulateLater(() => - { - foreach (var c in e.Contents) - c.Extract(this); - }); -#if DEBUG_LABELS - using var writer = new EscapingTextWriter(); - e.WriteId(writer); - var id = writer.ToString(); - - if (debugLabels.TryGetValue(id, out var previousEntity)) - { - Extractor.Message(new Message("Duplicate trap ID", id, null, severity: Util.Logging.Severity.Warning)); - } - else - { - debugLabels.Add(id, e); - } -#endif - } - return e; - } - -#if DEBUG_LABELS - private readonly Dictionary debugLabels = new Dictionary(); -#endif - - public IExtractedEntity Create(Handle h) - { - var entity = CreateGeneric(defaultGenericContext, h); - return entity; - } - - // Lazily cache primitive types. - private readonly PrimitiveType[] primitiveTypes = new PrimitiveType[(int)PrimitiveTypeCode.Object + 1]; - - public PrimitiveType Create(PrimitiveTypeCode code) - { - var e = primitiveTypes[(int)code]; - - if (e is null) - { - e = new PrimitiveType(this, code) - { - Label = GetNewLabel() - }; - DefineLabel(e); - primitiveTypes[(int)code] = e; - } - - return e; - } - - /// - /// Creates an entity from a Handle in a GenericContext. - /// The type of the returned entity depends on the type of the handle. - /// The GenericContext is needed because some handles are generics which - /// need to be expanded in terms of the current instantiation. If this sounds - /// complex, you are right. - /// - /// The pair (h,genericContext) is cached in case it is needed again. - /// - /// The handle of the entity. - /// The generic context. - /// - public IExtractedEntity CreateGeneric(IGenericContext genericContext, Handle h) => genericHandleFactory[genericContext, h]; - - private readonly IGenericContext defaultGenericContext; - - private IExtractedEntity CreateGenericHandle(IGenericContext gc, Handle handle) - { - IExtractedEntity entity; - switch (handle.Kind) - { - case HandleKind.MethodDefinition: - entity = new DefinitionMethod(gc, (MethodDefinitionHandle)handle); - break; - case HandleKind.MemberReference: - entity = Create(gc, (MemberReferenceHandle)handle); - break; - case HandleKind.MethodSpecification: - entity = new MethodSpecificationMethod(gc, (MethodSpecificationHandle)handle); - break; - case HandleKind.FieldDefinition: - entity = new DefinitionField(gc.Context, (FieldDefinitionHandle)handle); - break; - case HandleKind.TypeReference: - var tr = new TypeReferenceType(this, (TypeReferenceHandle)handle); - if (tr.TryGetPrimitiveType(out var pt)) - // Map special names like `System.Int32` to `int` - return pt; - entity = tr; - break; - case HandleKind.TypeSpecification: - return Entities.Type.DecodeType(gc, (TypeSpecificationHandle)handle); - case HandleKind.TypeDefinition: - entity = new TypeDefinitionType(this, (TypeDefinitionHandle)handle); - break; - case HandleKind.StandaloneSignature: - var signature = MdReader.GetStandaloneSignature((StandaloneSignatureHandle)handle); - var method = signature.DecodeMethodSignature(gc.Context.TypeSignatureDecoder, gc); - entity = new FunctionPointerType(this, method); - break; - default: - throw new InternalError("Unhandled handle kind " + handle.Kind); - } - - Populate(entity); - return entity; - } - - private IExtractedEntity Create(IGenericContext gc, MemberReferenceHandle handle) - { - var mr = MdReader.GetMemberReference(handle); - switch (mr.GetKind()) - { - case MemberReferenceKind.Method: - return new MemberReferenceMethod(gc, handle); - case MemberReferenceKind.Field: - return new MemberReferenceField(gc, handle); - default: - throw new InternalError("Unhandled member reference handle"); - } - } - - /// - /// Gets the string for a string handle. - /// - /// The string handle. - /// The string. - public string GetString(StringHandle h) => MdReader.GetString(h); - - #region Namespaces - - private readonly CachedFunction namespaceFactory; - - public Namespace CreateNamespace(StringHandle fqn) => namespaceFactory[fqn]; - - private readonly Lazy globalNamespace, systemNamespace; - - /// - /// The entity representing the global namespace. - /// - public Namespace GlobalNamespace => globalNamespace.Value; - - /// - /// The entity representing the System namespace. - /// - public Namespace SystemNamespace => systemNamespace.Value; - - /// - /// Creates a namespace from a fully-qualified name. - /// - /// The fully-qualified namespace name. - /// The namespace entity. - private Namespace CreateNamespace(string fqn) => Populate(new Namespace(this, fqn)); - - private readonly CachedFunction namespaceDefinitionFactory; - - /// - /// Creates a namespace from a namespace handle. - /// - /// The handle of the namespace. - /// The namespace entity. - public Namespace Create(NamespaceDefinitionHandle handle) => namespaceDefinitionFactory[handle]; - - private Namespace CreateNamespace(NamespaceDefinitionHandle handle) - { - if (handle.IsNil) - return GlobalNamespace; - var nd = MdReader.GetNamespaceDefinition(handle); - return Populate(new Namespace(this, GetString(nd.Name), Create(nd.Parent))); - } - #endregion - - #region Locations - private readonly CachedFunction sourceFiles; - private readonly CachedFunction folders; - private readonly CachedFunction sourceLocations; - - /// - /// Creates a source file entity from a PDB source file. - /// - /// The PDB source file. - /// A source file entity. - public PdbSourceFile CreateSourceFile(PDB.ISourceFile file) => sourceFiles[file]; - - /// - /// Creates a folder entity with the given path. - /// - /// The path of the folder. - /// A folder entity. - public Folder CreateFolder(PathTransformer.ITransformedPath path) => folders[path]; - - /// - /// Creates a source location. - /// - /// The source location from PDB. - /// A source location entity. - public PdbSourceLocation CreateSourceLocation(PDB.Location loc) => sourceLocations[loc]; - - #endregion - - private readonly CachedFunction genericHandleFactory; - - /// - /// Gets the short name of a member, without the preceding interface qualifier. - /// - /// The handle of the name. - /// The short name. - public string ShortName(StringHandle handle) - { - var str = MdReader.GetString(handle); - if (str.EndsWith(".ctor")) - return ".ctor"; - if (str.EndsWith(".cctor")) - return ".cctor"; - var dot = str.LastIndexOf('.'); - return dot == -1 ? str : str.Substring(dot + 1); - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Context.cs b/csharp/extractor/Semmle.Extraction.CIL/Context.cs deleted file mode 100644 index 9aa1917dd3e..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Context.cs +++ /dev/null @@ -1,115 +0,0 @@ -using System; -using System.IO; -using System.Reflection.Metadata; -using System.Reflection.PortableExecutable; - -namespace Semmle.Extraction.CIL -{ - /// - /// Extraction context for CIL extraction. - /// Adds additional context that is specific for CIL extraction. - /// One context = one DLL/EXE. - /// - internal sealed partial class Context : Extraction.Context, IDisposable - { - private readonly FileStream stream; - private Entities.Assembly? assemblyNull; - public MetadataReader MdReader { get; } - public PEReader PeReader { get; } - public string AssemblyPath { get; } - public Entities.Assembly Assembly - { - get { return assemblyNull!; } - set { assemblyNull = value; } - } - public PDB.IPdb? Pdb { get; } - - public Context(Extractor extractor, TrapWriter trapWriter, string assemblyPath, bool extractPdbs) - : base(extractor, trapWriter) - { - this.AssemblyPath = assemblyPath; - stream = File.OpenRead(assemblyPath); - PeReader = new PEReader(stream, PEStreamOptions.PrefetchEntireImage); - MdReader = PeReader.GetMetadataReader(); - TypeSignatureDecoder = new Entities.TypeSignatureDecoder(this); - - globalNamespace = new Lazy(() => Populate(new Entities.Namespace(this, "", null))); - systemNamespace = new Lazy(() => Populate(new Entities.Namespace(this, "System"))); - genericHandleFactory = new CachedFunction(CreateGenericHandle); - namespaceFactory = new CachedFunction(n => CreateNamespace(MdReader.GetString(n))); - namespaceDefinitionFactory = new CachedFunction(CreateNamespace); - sourceFiles = new CachedFunction(path => new Entities.PdbSourceFile(this, path)); - folders = new CachedFunction(path => new Entities.Folder(this, path)); - sourceLocations = new CachedFunction(location => new Entities.PdbSourceLocation(this, location)); - - defaultGenericContext = new EmptyContext(this); - - if (extractPdbs) - { - Pdb = PDB.PdbReader.Create(assemblyPath, PeReader); - if (Pdb is not null) - { - Extractor.Logger.Log(Util.Logging.Severity.Info, string.Format("Found PDB information for {0}", assemblyPath)); - } - } - } - - public void Dispose() - { - if (Pdb is not null) - Pdb.Dispose(); - PeReader.Dispose(); - stream.Dispose(); - } - - /// - /// Extract the contents of a given entity. - /// - /// The entity to extract. - public void Extract(IExtractedEntity entity) - { - foreach (var content in entity.Contents) - { - content.Extract(this); - } - } - - public void WriteAssemblyPrefix(TextWriter trapFile) - { - var def = MdReader.GetAssemblyDefinition(); - trapFile.Write(GetString(def.Name)); - trapFile.Write('_'); - trapFile.Write(def.Version.ToString()); - trapFile.Write(Entities.Type.AssemblyTypeNameSeparator); - } - - public Entities.TypeSignatureDecoder TypeSignatureDecoder { get; } - - /// - /// A type used to signify something we can't handle yet. - /// Specifically, function pointers (used in C++). - /// - public Entities.Type ErrorType - { - get - { - var errorType = new Entities.ErrorType(this); - Populate(errorType); - return errorType; - } - } - - /// - /// Attempt to locate debugging information for a particular method. - /// - /// Returns null on failure, for example if there was no PDB information found for the - /// DLL, or if the particular method is compiler generated or doesn't come from source code. - /// - /// The handle of the method. - /// The debugging information, or null if the information could not be located. - public PDB.Method? GetMethodDebugInformation(MethodDefinitionHandle handle) - { - return Pdb?.GetMethod(handle.ToDebugInformationHandle()); - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/EmptyContext.cs b/csharp/extractor/Semmle.Extraction.CIL/EmptyContext.cs deleted file mode 100644 index 8404bc26545..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/EmptyContext.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System.Collections.Generic; - -namespace Semmle.Extraction.CIL -{ - /// - /// A generic context which does not contain any type parameters. - /// - internal class EmptyContext : IGenericContext - { - public EmptyContext(Context cx) - { - Context = cx; - } - - public Context Context { get; } - - public IEnumerable TypeParameters { get { yield break; } } - - public IEnumerable MethodParameters { get { yield break; } } - - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/ArrayType.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/ArrayType.cs deleted file mode 100644 index 0f4138e20c5..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/ArrayType.cs +++ /dev/null @@ -1,74 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; - -namespace Semmle.Extraction.CIL.Entities -{ - /// - /// An array type. - /// - internal sealed class ArrayType : Type - { - private readonly Type elementType; - private readonly int rank; - - public ArrayType(Context cx, Type elementType, int rank) : base(cx) - { - this.rank = rank; - this.elementType = elementType; - } - - public ArrayType(Context cx, Type elementType) : this(cx, elementType, 1) - { - } - - public override bool Equals(object? obj) - { - return obj is ArrayType array && elementType.Equals(array.elementType) && rank == array.rank; - } - - public override int GetHashCode() => HashCode.Combine(elementType, rank); - - public override void WriteId(EscapingTextWriter trapFile, bool inContext) - { - elementType.WriteId(trapFile, inContext); - trapFile.Write('['); - for (var i = 1; i < rank; ++i) - { - trapFile.Write(','); - } - trapFile.Write(']'); - } - - public override string Name => elementType.Name + "[]"; - - public override Namespace ContainingNamespace => Context.SystemNamespace; - - public override Type? ContainingType => null; - - public override int ThisTypeParameterCount => elementType.ThisTypeParameterCount; - - public override CilTypeKind Kind => CilTypeKind.Array; - - public override Type Construct(IEnumerable typeArguments) => Context.Populate(new ArrayType(Context, elementType.Construct(typeArguments))); - - public override Type SourceDeclaration => Context.Populate(new ArrayType(Context, elementType.SourceDeclaration)); - - public override IEnumerable Contents - { - get - { - foreach (var c in base.Contents) - yield return c; - - yield return Tuples.cil_array_type(this, elementType, rank); - } - } - - public override void WriteAssemblyPrefix(TextWriter trapFile) => elementType.WriteAssemblyPrefix(trapFile); - - public override IEnumerable GenericArguments => elementType.GenericArguments; - - public override IEnumerable TypeParameters => elementType.TypeParameters; - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/Assembly.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/Assembly.cs deleted file mode 100644 index 5350f010311..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/Assembly.cs +++ /dev/null @@ -1,101 +0,0 @@ -using System.Collections.Generic; -using System.Globalization; -using System.Reflection; -using Semmle.Extraction.Entities; - -namespace Semmle.Extraction.CIL.Entities -{ - /// - /// An assembly to extract. - /// - internal class Assembly : LabelledEntity, ILocation - { - private readonly File file; - private readonly AssemblyName assemblyName; - - public Assembly(Context cx) : base(cx) - { - cx.Assembly = this; - var def = cx.MdReader.GetAssemblyDefinition(); - - assemblyName = new AssemblyName - { - Name = cx.MdReader.GetString(def.Name), - Version = def.Version, - CultureInfo = new CultureInfo(cx.MdReader.GetString(def.Culture)) - }; - - if (!def.PublicKey.IsNil) - assemblyName.SetPublicKey(cx.MdReader.GetBlobBytes(def.PublicKey)); - - file = new File(cx, cx.AssemblyPath); - } - - public override void WriteId(EscapingTextWriter trapFile) - { - trapFile.Write(FullName); - trapFile.Write("#file:///"); - trapFile.Write(Context.AssemblyPath.Replace("\\", "/")); - trapFile.Write(";assembly"); - } - - public override bool Equals(object? obj) - { - return GetType() == obj?.GetType() && Equals(file, ((Assembly)obj).file); - } - - public override int GetHashCode() => 7 * file.GetHashCode(); - - private string FullName => assemblyName.GetPublicKey() is null ? assemblyName.FullName + ", PublicKeyToken=null" : assemblyName.FullName; - - public override IEnumerable Contents - { - get - { - yield return file; - yield return Tuples.assemblies(this, file, FullName, assemblyName.Name ?? string.Empty, assemblyName.Version?.ToString() ?? string.Empty); - - if (Context.Pdb is not null) - { - foreach (var f in Context.Pdb.SourceFiles) - { - yield return Context.CreateSourceFile(f); - } - } - - foreach (var handle in Context.MdReader.TypeDefinitions) - { - IExtractionProduct? product = null; - try - { - product = Context.Create(handle); - } - catch (InternalError e) - { - Context.ExtractionError("Error processing type definition", e.Message, GeneratedLocation.Create(Context), e.StackTrace); - } - - // Limitation of C#: Cannot yield return inside a try-catch. - if (product is not null) - yield return product; - } - - foreach (var handle in Context.MdReader.MethodDefinitions) - { - IExtractionProduct? product = null; - try - { - product = Context.Create(handle); - } - catch (InternalError e) - { - Context.ExtractionError("Error processing bytecode", e.Message, GeneratedLocation.Create(Context), e.StackTrace); - } - - if (product is not null) - yield return product; - } - } - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/Attribute.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/Attribute.cs deleted file mode 100644 index a42594d35aa..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/Attribute.cs +++ /dev/null @@ -1,90 +0,0 @@ -using System.Collections.Generic; -using System.Linq; -using System.Reflection.Metadata; - -namespace Semmle.Extraction.CIL.Entities -{ - /// - /// Entity representing a CIL attribute. - /// - internal sealed class Attribute : UnlabelledEntity - { - private readonly CustomAttributeHandle handle; - private readonly CustomAttribute attrib; - private readonly IExtractedEntity @object; - - public Attribute(Context cx, IExtractedEntity @object, CustomAttributeHandle handle) : base(cx) - { - attrib = cx.MdReader.GetCustomAttribute(handle); - this.handle = handle; - this.@object = @object; - } - - public override bool Equals(object? obj) - { - return obj is Attribute attribute && handle.Equals(attribute.handle); - } - - public override int GetHashCode() => handle.GetHashCode(); - - public override IEnumerable Contents - { - get - { - var constructor = (Method)Context.Create(attrib.Constructor); - yield return constructor; - - yield return Tuples.cil_attribute(this, @object, constructor); - - CustomAttributeValue decoded; - - try - { - decoded = attrib.DecodeValue(new CustomAttributeDecoder(Context)); - } - catch - { - Context.Extractor.Logger.Log(Util.Logging.Severity.Info, - $"Attribute decoding is partial. Decoding attribute {constructor.DeclaringType.GetQualifiedName()} failed on {@object}."); - yield break; - } - - for (var index = 0; index < decoded.FixedArguments.Length; ++index) - { - var stringValue = GetStringValue(decoded.FixedArguments[index].Type, decoded.FixedArguments[index].Value); - yield return Tuples.cil_attribute_positional_argument(this, index, stringValue); - } - - foreach (var p in decoded.NamedArguments) - { - var stringValue = GetStringValue(p.Type, p.Value); - yield return Tuples.cil_attribute_named_argument(this, p.Name!, stringValue); - } - } - } - - private static string GetStringValue(Type type, object? value) - { - if (value is System.Collections.Immutable.ImmutableArray> values) - { - return "[" + string.Join(",", values.Select(v => GetStringValue(v.Type, v.Value))) + "]"; - } - - if (type.GetQualifiedName() == "System.Type" && - value is Type t) - { - return t.GetQualifiedName(); - } - - return value?.ToString() ?? "null"; - } - - public static IEnumerable Populate(Context cx, IExtractedEntity @object, CustomAttributeHandleCollection attributes) - { - foreach (var attrib in attributes) - { - yield return new Attribute(cx, @object, attrib); - } - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/Base/IExtractedEntity.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/Base/IExtractedEntity.cs deleted file mode 100644 index d94b94df8a8..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/Base/IExtractedEntity.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System.Collections.Generic; - -namespace Semmle.Extraction.CIL -{ - /// - /// A CIL entity which has been extracted. - /// - internal interface IExtractedEntity : IExtractionProduct, IEntity - { - /// - /// The contents of the entity. - /// - - IEnumerable Contents { get; } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/Base/IExtractionProduct.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/Base/IExtractionProduct.cs deleted file mode 100644 index 231a311a78c..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/Base/IExtractionProduct.cs +++ /dev/null @@ -1,24 +0,0 @@ -namespace Semmle.Extraction.CIL -{ - /// - /// Something that is extracted from an entity. - /// - /// - /// - /// The extraction algorithm proceeds as follows: - /// - Construct entity - /// - Call Extract() - /// - IExtractedEntity check if already extracted - /// - Enumerate Contents to produce more extraction products - /// - Extract these until there is nothing left to extract - /// - internal interface IExtractionProduct - { - /// - /// Perform further extraction/population of this item as necessary. - /// - /// - /// The extraction context. - void Extract(Context cx); - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/Base/IGenericContext.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/Base/IGenericContext.cs deleted file mode 100644 index babe0bdfd65..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/Base/IGenericContext.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System.Collections.Generic; - -namespace Semmle.Extraction.CIL -{ - /// - /// When we decode a type/method signature, we need access to - /// generic parameters. - /// - internal interface IGenericContext - { - Context Context { get; } - - /// - /// The list of generic type parameters/arguments, including type parameters/arguments of - /// containing types. - /// - IEnumerable TypeParameters { get; } - - /// - /// The list of generic method parameters/arguments. - /// - IEnumerable MethodParameters { get; } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/Base/LabelledEntity.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/Base/LabelledEntity.cs deleted file mode 100644 index 4c872f33240..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/Base/LabelledEntity.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System; -using System.Collections.Generic; - -namespace Semmle.Extraction.CIL -{ - /// - /// An entity that needs to be populated during extraction. - /// This assigns a key and optionally extracts its contents. - /// - internal abstract class LabelledEntity : Extraction.LabelledEntity, IExtractedEntity - { - public override Context Context => (Context)base.Context; - - protected LabelledEntity(Context cx) : base(cx) - { - } - - public override Microsoft.CodeAnalysis.Location ReportingLocation => throw new NotImplementedException(); - - public void Extract(Context cx2) - { - cx2.Populate(this); - } - - public override string ToString() - { - using var writer = new EscapingTextWriter(); - WriteQuotedId(writer); - return writer.ToString(); - } - - public override TrapStackBehaviour TrapStackBehaviour => TrapStackBehaviour.NoLabel; - - public abstract IEnumerable Contents { get; } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/Base/Tuple.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/Base/Tuple.cs deleted file mode 100644 index 58c15dd21f6..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/Base/Tuple.cs +++ /dev/null @@ -1,22 +0,0 @@ -namespace Semmle.Extraction.CIL -{ - /// - /// A tuple that is an extraction product. - /// - internal class Tuple : IExtractionProduct - { - private readonly Extraction.Tuple tuple; - - public Tuple(string name, params object[] args) - { - tuple = new Extraction.Tuple(name, args); - } - - public void Extract(Context cx) - { - cx.TrapWriter.Emit(tuple); - } - - public override string ToString() => tuple.ToString(); - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/Base/UnlabelledEntity.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/Base/UnlabelledEntity.cs deleted file mode 100644 index de563080d4b..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/Base/UnlabelledEntity.cs +++ /dev/null @@ -1,29 +0,0 @@ -using System; -using System.Collections.Generic; - -namespace Semmle.Extraction.CIL -{ - /// - /// An entity that has contents to extract. There is no need to populate - /// a key as it's done in the constructor. - /// - internal abstract class UnlabelledEntity : Extraction.UnlabelledEntity, IExtractedEntity - { - public override Context Context => (Context)base.Context; - - protected UnlabelledEntity(Context cx) : base(cx) - { - } - - public override Microsoft.CodeAnalysis.Location ReportingLocation => throw new NotImplementedException(); - - public void Extract(Context cx2) - { - cx2.Extract(this); - } - - public override TrapStackBehaviour TrapStackBehaviour => TrapStackBehaviour.NoLabel; - - public abstract IEnumerable Contents { get; } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/ByRefType.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/ByRefType.cs deleted file mode 100644 index 5b9ae9fd1aa..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/ByRefType.cs +++ /dev/null @@ -1,42 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; - -namespace Semmle.Extraction.CIL.Entities -{ - /// - /// Types that are passed by reference are not written directly to trap files. Instead, the annotation is stored on - /// the entity. - /// - internal sealed class ByRefType : Type - { - public ByRefType(Context cx, Type elementType) : base(cx) - { - ElementType = elementType; - } - - public override CilTypeKind Kind => throw new NotImplementedException(); - - public override Namespace? ContainingNamespace => throw new NotImplementedException(); - - public override Type? ContainingType => throw new NotImplementedException(); - - public override int ThisTypeParameterCount => throw new NotImplementedException(); - - public override IEnumerable TypeParameters => throw new NotImplementedException(); - - public override Type Construct(IEnumerable typeArguments) => throw new NotImplementedException(); - - public override string Name => $"{ElementType.Name}&"; - - public Type ElementType { get; } - - public override void WriteAssemblyPrefix(TextWriter trapFile) => throw new NotImplementedException(); - - public override void WriteId(EscapingTextWriter trapFile, bool inContext) - { - ElementType.WriteId(trapFile, inContext); - trapFile.Write('&'); - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/CilTypeKind.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/CilTypeKind.cs deleted file mode 100644 index e95fe0e28c0..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/CilTypeKind.cs +++ /dev/null @@ -1,14 +0,0 @@ -namespace Semmle.Extraction.CIL.Entities -{ - /// - /// The CIL database type-kind. - /// - public enum CilTypeKind - { - ValueOrRefType, - TypeParameter, - Array, - Pointer, - FunctionPointer - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/ConstructedType.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/ConstructedType.cs deleted file mode 100644 index 089d7855dfc..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/ConstructedType.cs +++ /dev/null @@ -1,118 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using Semmle.Util; - -namespace Semmle.Extraction.CIL.Entities -{ - /// - /// A constructed type. - /// - internal sealed class ConstructedType : Type - { - private readonly Type unboundGenericType; - - // Either null or notEmpty - private readonly Type[]? thisTypeArguments; - - private readonly Type? containingType; - private readonly NamedTypeIdWriter idWriter; - - public ConstructedType(Context cx, Type unboundType, IEnumerable typeArguments) : base(cx) - { - idWriter = new NamedTypeIdWriter(this); - var suppliedArgs = typeArguments.Count(); - if (suppliedArgs != unboundType.TotalTypeParametersCount) - throw new InternalError("Unexpected number of type arguments in ConstructedType"); - - unboundGenericType = unboundType; - var thisParams = unboundType.ThisTypeParameterCount; - - if (typeArguments.Count() == thisParams) - { - containingType = unboundType.ContainingType; - thisTypeArguments = typeArguments.ToArray(); - } - else if (thisParams == 0) - { - // all type arguments belong to containing type - containingType = unboundType.ContainingType!.Construct(typeArguments); - } - else - { - // some type arguments belong to containing type - var parentParams = suppliedArgs - thisParams; - containingType = unboundType.ContainingType!.Construct(typeArguments.Take(parentParams)); - thisTypeArguments = typeArguments.Skip(parentParams).ToArray(); - } - } - - public override bool Equals(object? obj) - { - if (obj is ConstructedType t && Equals(unboundGenericType, t.unboundGenericType) && Equals(containingType, t.containingType)) - { - if (thisTypeArguments is null) - return t.thisTypeArguments is null; - if (!(t.thisTypeArguments is null)) - return thisTypeArguments.SequenceEqual(t.thisTypeArguments); - } - return false; - } - - public override int GetHashCode() - { - var h = unboundGenericType.GetHashCode(); - h = 13 * h + (containingType is null ? 0 : containingType.GetHashCode()); - if (!(thisTypeArguments is null)) - h = h * 13 + thisTypeArguments.SequenceHash(); - return h; - } - - public override IEnumerable Contents - { - get - { - foreach (var c in base.Contents) - yield return c; - - var i = 0; - foreach (var type in ThisTypeArguments) - { - yield return type; - yield return Tuples.cil_type_argument(this, i++, type); - } - } - } - - public override Type SourceDeclaration => unboundGenericType; - - public override Type? ContainingType => containingType; - - public override string Name => unboundGenericType.Name; - - public override Namespace ContainingNamespace => unboundGenericType.ContainingNamespace!; - - public override CilTypeKind Kind => unboundGenericType.Kind; - - public override Type Construct(IEnumerable typeArguments) - { - throw new NotImplementedException(); - } - - public override void WriteId(EscapingTextWriter trapFile, bool inContext) - { - idWriter.WriteId(trapFile, inContext); - } - - public override void WriteAssemblyPrefix(TextWriter trapFile) => unboundGenericType.WriteAssemblyPrefix(trapFile); - - public override int ThisTypeParameterCount => thisTypeArguments?.Length ?? 0; - - public override IEnumerable TypeParameters => GenericArguments; - - public override IEnumerable ThisTypeArguments => thisTypeArguments.EnumerateNull(); - - public override IEnumerable ThisGenericArguments => thisTypeArguments.EnumerateNull(); - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/CustomAttributeDecoder.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/CustomAttributeDecoder.cs deleted file mode 100644 index 184e37a1adf..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/CustomAttributeDecoder.cs +++ /dev/null @@ -1,63 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Reflection.Metadata; - -namespace Semmle.Extraction.CIL.Entities -{ - /// - /// Helper class to decode the attribute structure. - /// Note that there are some unhandled cases that should be fixed in due course. - /// - internal class CustomAttributeDecoder : ICustomAttributeTypeProvider - { - private readonly Context cx; - public CustomAttributeDecoder(Context cx) { this.cx = cx; } - - public Type GetPrimitiveType(PrimitiveTypeCode typeCode) => cx.Create(typeCode); - - public Type GetSystemType() => new NoMetadataHandleType(cx, "System.Type"); - - public Type GetSZArrayType(Type elementType) => - cx.Populate(new ArrayType(cx, elementType)); - - public Type GetTypeFromDefinition(MetadataReader reader, TypeDefinitionHandle handle, byte rawTypeKind) => - (Type)cx.Create(handle); - - public Type GetTypeFromReference(MetadataReader reader, TypeReferenceHandle handle, byte rawTypeKind) => - (Type)cx.Create(handle); - - public Type GetTypeFromSerializedName(string name) => new NoMetadataHandleType(cx, name); - - public PrimitiveTypeCode GetUnderlyingEnumType(Type type) - { - if (type is TypeDefinitionType tdt && - tdt.GetUnderlyingEnumType() is PrimitiveTypeCode underlying) - { - return underlying; - } - - var name = type.GetQualifiedName(); - - if (wellKnownEnums.TryGetValue(name, out var code)) - { - cx.Extractor.Logger.Log(Util.Logging.Severity.Debug, $"Using hard coded underlying enum type for {name}"); - return code; - } - - cx.Extractor.Logger.Log(Util.Logging.Severity.Info, $"Couldn't get underlying enum type for {name}"); - - // We can't fall back to Int32, because the type returned here defines how many bytes are read from the - // stream and how those bytes are interpreted. - throw new NotImplementedException(); - } - - public bool IsSystemType(Type type) => type.GetQualifiedName() == "System.Type"; - - private static readonly Dictionary wellKnownEnums = new Dictionary - { - { "System.AttributeTargets", PrimitiveTypeCode.Int32 }, - { "System.ComponentModel.EditorBrowsableState", PrimitiveTypeCode.Int32 }, - { "System.Diagnostics.DebuggerBrowsableState", PrimitiveTypeCode.Int32 } - }; - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/DefinitionField.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/DefinitionField.cs deleted file mode 100644 index c299ac19d57..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/DefinitionField.cs +++ /dev/null @@ -1,66 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Reflection; -using System.Reflection.Metadata; -using System.Reflection.Metadata.Ecma335; - -namespace Semmle.Extraction.CIL.Entities -{ - internal sealed class DefinitionField : Field - { - private readonly Handle handle; - private readonly FieldDefinition fd; - - public DefinitionField(Context cx, FieldDefinitionHandle handle) : base(cx) - { - this.handle = handle; - fd = Context.MdReader.GetFieldDefinition(handle); - } - - public override bool Equals(object? obj) - { - return obj is DefinitionField field && handle.Equals(field.handle); - } - - public override int GetHashCode() => handle.GetHashCode(); - - public override IEnumerable Contents - { - get - { - yield return Tuples.metadata_handle(this, Context.Assembly, MetadataTokens.GetToken(handle)); - - foreach (var c in base.Contents) - yield return c; - - if (fd.Attributes.HasFlag(FieldAttributes.Private)) - yield return Tuples.cil_private(this); - - if (fd.Attributes.HasFlag(FieldAttributes.Public)) - yield return Tuples.cil_public(this); - - if (fd.Attributes.HasFlag(FieldAttributes.Family)) - yield return Tuples.cil_protected(this); - - if (fd.Attributes.HasFlag(FieldAttributes.Static)) - yield return Tuples.cil_static(this); - - if (fd.Attributes.HasFlag(FieldAttributes.Assembly)) - yield return Tuples.cil_internal(this); - - foreach (var c in Attribute.Populate(Context, this, fd.GetCustomAttributes())) - yield return c; - } - } - - public override string Name => Context.GetString(fd.Name); - - public override Type DeclaringType => (Type)Context.Create(fd.GetDeclaringType()); - - public override Type Type => fd.DecodeSignature(Context.TypeSignatureDecoder, DeclaringType); - - public override IEnumerable TypeParameters => throw new NotImplementedException(); - - public override IEnumerable MethodParameters => throw new NotImplementedException(); - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/DefinitionMethod.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/DefinitionMethod.cs deleted file mode 100644 index f75a6ee5e7b..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/DefinitionMethod.cs +++ /dev/null @@ -1,299 +0,0 @@ -using System.Collections.Generic; -using System.Linq; -using System.Reflection; -using System.Reflection.Metadata; -using System.Reflection.Metadata.Ecma335; - -namespace Semmle.Extraction.CIL.Entities -{ - /// - /// A definition method - a method defined in the current assembly. - /// - internal sealed class DefinitionMethod : Method - { - private readonly Handle handle; - private readonly MethodDefinition md; - private readonly PDB.Method? methodDebugInformation; - private readonly Type declaringType; - - private readonly string name; - private LocalVariable[]? locals; - - public MethodImplementation? Implementation { get; private set; } - - public override IList? LocalVariables => locals; - - public DefinitionMethod(IGenericContext gc, MethodDefinitionHandle handle) : base(gc) - { - md = Context.MdReader.GetMethodDefinition(handle); - this.gc = gc; - this.handle = handle; - name = Context.GetString(md.Name); - - declaringType = (Type)Context.CreateGeneric(this, md.GetDeclaringType()); - - signature = md.DecodeSignature(new SignatureDecoder(), this); - - methodDebugInformation = Context.GetMethodDebugInformation(handle); - } - - public override bool Equals(object? obj) - { - return obj is DefinitionMethod method && handle.Equals(method.handle); - } - - public override int GetHashCode() => handle.GetHashCode(); - - public override bool IsStatic => !signature.Header.IsInstance; - - public override Type DeclaringType => declaringType; - - public override string Name => Context.ShortName(md.Name); - - public override string NameLabel => name; - - /// - /// Holds if this method has bytecode. - /// - public bool HasBytecode => md.ImplAttributes == MethodImplAttributes.IL && md.RelativeVirtualAddress != 0; - - public override IEnumerable Contents - { - get - { - if (md.GetGenericParameters().Any()) - { - // We need to perform a 2-phase population because some type parameters can - // depend on other type parameters (as a constraint). - genericParams = new MethodTypeParameter[md.GetGenericParameters().Count]; - for (var i = 0; i < genericParams.Length; ++i) - genericParams[i] = Context.Populate(new MethodTypeParameter(this, this, i)); - for (var i = 0; i < genericParams.Length; ++i) - genericParams[i].PopulateHandle(md.GetGenericParameters()[i]); - foreach (var p in genericParams) - yield return p; - } - - var typeSignature = md.DecodeSignature(Context.TypeSignatureDecoder, this); - - var parameters = GetParameterExtractionProducts(typeSignature.ParameterTypes).ToArray(); - Parameters = parameters.OfType().ToArray(); - - foreach (var c in parameters) - yield return c; - - foreach (var c in PopulateFlags) - yield return c; - - foreach (var p in md.GetParameters().Select(h => Context.MdReader.GetParameter(h)).Where(p => p.SequenceNumber > 0)) - { - var pe = Parameters[IsStatic ? p.SequenceNumber - 1 : p.SequenceNumber]; - if (p.Attributes.HasFlag(ParameterAttributes.Out)) - yield return Tuples.cil_parameter_out(pe); - if (p.Attributes.HasFlag(ParameterAttributes.In)) - yield return Tuples.cil_parameter_in(pe); - foreach (var c in Attribute.Populate(Context, pe, p.GetCustomAttributes())) - yield return c; - } - - yield return Tuples.metadata_handle(this, Context.Assembly, MetadataTokens.GetToken(handle)); - - foreach (var m in GetMethodExtractionProducts(Name, declaringType, typeSignature.ReturnType)) - { - yield return m; - } - - yield return Tuples.cil_method_source_declaration(this, this); - yield return Tuples.cil_method_location(this, Context.Assembly); - - if (HasBytecode) - { - Implementation = new MethodImplementation(this); - yield return Implementation; - - var body = Context.PeReader.GetMethodBody(md.RelativeVirtualAddress); - - if (!body.LocalSignature.IsNil) - { - var localVariableTypes = System.Collections.Immutable.ImmutableArray.Empty; - var hasError = false; - try - { - var locals = Context.MdReader.GetStandaloneSignature(body.LocalSignature); - localVariableTypes = locals.DecodeLocalSignature(Context.TypeSignatureDecoder, this); - } - catch (System.BadImageFormatException exc) - { - Context.Extractor.Logger.Log(Util.Logging.Severity.Info, - $"Could not decode locals in method {declaringType.GetQualifiedName()}.{name}. {exc}"); - hasError = true; - } - - if (!hasError) - { - this.locals = new LocalVariable[localVariableTypes.Length]; - - for (var l = 0; l < this.locals.Length; ++l) - { - var t = localVariableTypes[l]; - if (t is ByRefType brt) - { - t = brt.ElementType; - this.locals[l] = Context.Populate(new LocalVariable(Context, Implementation, l, t)); - yield return this.locals[l]; - yield return Tuples.cil_type_annotation(this.locals[l], TypeAnnotation.Ref); - } - else - { - this.locals[l] = Context.Populate(new LocalVariable(Context, Implementation, l, t)); - yield return this.locals[l]; - } - } - } - } - - var jump_table = new Dictionary(); - - foreach (var c in Decode(body.GetILBytes(), jump_table)) - yield return c; - - var filter_index = 0; - foreach (var region in body.ExceptionRegions) - { - yield return new ExceptionRegion(this, Implementation, filter_index++, region, jump_table); - } - - yield return Tuples.cil_method_stack_size(Implementation, body.MaxStack); - - if (methodDebugInformation is not null) - { - var sourceLocation = Context.CreateSourceLocation(methodDebugInformation.Location); - yield return sourceLocation; - yield return Tuples.cil_method_location(this, sourceLocation); - } - } - - // Flags - - if (md.Attributes.HasFlag(MethodAttributes.Private)) - yield return Tuples.cil_private(this); - - if (md.Attributes.HasFlag(MethodAttributes.Public)) - yield return Tuples.cil_public(this); - - if (md.Attributes.HasFlag(MethodAttributes.Family)) - yield return Tuples.cil_protected(this); - - if (md.Attributes.HasFlag(MethodAttributes.Final)) - yield return Tuples.cil_sealed(this); - - if (md.Attributes.HasFlag(MethodAttributes.Virtual)) - yield return Tuples.cil_virtual(this); - - if (md.Attributes.HasFlag(MethodAttributes.Abstract)) - yield return Tuples.cil_abstract(this); - - if (md.Attributes.HasFlag(MethodAttributes.HasSecurity)) - yield return Tuples.cil_security(this); - - if (md.Attributes.HasFlag(MethodAttributes.RequireSecObject)) - yield return Tuples.cil_requiresecobject(this); - - if (md.Attributes.HasFlag(MethodAttributes.SpecialName)) - yield return Tuples.cil_specialname(this); - - if (md.Attributes.HasFlag(MethodAttributes.NewSlot)) - yield return Tuples.cil_newslot(this); - - // Populate attributes - foreach (var c in Attribute.Populate(Context, this, md.GetCustomAttributes())) - yield return c; - } - } - - private IEnumerable Decode(byte[]? ilbytes, Dictionary jump_table) - { - // Sequence points are stored in order of offset. - // We use an enumerator to locate the correct sequence point for each instruction. - // The sequence point gives the location of each instruction. - // The location of an instruction is given by the sequence point *after* the - // instruction. - IEnumerator? nextSequencePoint = null; - PdbSourceLocation? instructionLocation = null; - - if (methodDebugInformation is not null) - { - nextSequencePoint = methodDebugInformation.SequencePoints.GetEnumerator(); - if (nextSequencePoint.MoveNext()) - { - instructionLocation = Context.CreateSourceLocation(nextSequencePoint.Current.Location); - yield return instructionLocation; - } - else - { - nextSequencePoint = null; - } - } - - var child = 0; - for (var offset = 0; offset < (ilbytes?.Length ?? 0);) - { - var instruction = new Instruction(Context, this, ilbytes!, offset, child++); - yield return instruction; - - if (nextSequencePoint is not null && offset >= nextSequencePoint.Current.Offset) - { - instructionLocation = Context.CreateSourceLocation(nextSequencePoint.Current.Location); - yield return instructionLocation; - if (!nextSequencePoint.MoveNext()) - nextSequencePoint = null; - } - - if (instructionLocation is not null) - yield return Tuples.cil_instruction_location(instruction, instructionLocation); - - jump_table.Add(instruction.Offset, instruction); - offset += instruction.Width; - } - - foreach (var i in jump_table) - { - foreach (var t in i.Value.JumpContents(jump_table)) - yield return t; - } - } - - /// - /// Display the instructions in the method in the debugger. - /// This is only used for debugging, not in the code itself. - /// - public IEnumerable DebugInstructions - { - get - { - if (md.ImplAttributes == MethodImplAttributes.IL && md.RelativeVirtualAddress != 0) - { - var body = Context.PeReader.GetMethodBody(md.RelativeVirtualAddress); - - var ilbytes = body.GetILBytes(); - - var child = 0; - for (var offset = 0; offset < (ilbytes?.Length ?? 0);) - { - Instruction decoded; - try - { - decoded = new Instruction(Context, this, ilbytes!, offset, child++); - offset += decoded.Width; - } - catch // lgtm[cs/catch-of-all-exceptions] - { - yield break; - } - yield return decoded; - } - } - } - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/ErrorType.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/ErrorType.cs deleted file mode 100644 index 41b5810ba27..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/ErrorType.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; - -namespace Semmle.Extraction.CIL.Entities -{ - internal sealed class ErrorType : Type - { - public ErrorType(Context cx) : base(cx) - { - } - - public override void WriteId(EscapingTextWriter trapFile, bool inContext) => trapFile.Write(""); - - public override CilTypeKind Kind => CilTypeKind.ValueOrRefType; - - public override string Name => "!error"; - - public override Namespace ContainingNamespace => Context.GlobalNamespace; - - public override Type? ContainingType => null; - - public override int ThisTypeParameterCount => 0; - - public override void WriteAssemblyPrefix(TextWriter trapFile) => throw new NotImplementedException(); - - public override IEnumerable TypeParameters => throw new NotImplementedException(); - - public override Type Construct(IEnumerable typeArguments) => throw new NotImplementedException(); - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/Event.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/Event.cs deleted file mode 100644 index 0ff273789c1..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/Event.cs +++ /dev/null @@ -1,73 +0,0 @@ -using System.Collections.Generic; -using System.Reflection.Metadata; - -namespace Semmle.Extraction.CIL.Entities -{ - /// - /// An event entity. - /// - internal sealed class Event : LabelledEntity - { - private readonly EventDefinitionHandle handle; - private readonly Type parent; - private readonly EventDefinition ed; - - public Event(Context cx, Type parent, EventDefinitionHandle handle) : base(cx) - { - this.handle = handle; - this.parent = parent; - ed = cx.MdReader.GetEventDefinition(handle); - } - - public override void WriteId(EscapingTextWriter trapFile) - { - parent.WriteId(trapFile); - trapFile.Write('.'); - trapFile.Write(Context.ShortName(ed.Name)); - trapFile.Write(";cil-event"); - } - - public override bool Equals(object? obj) - { - return obj is Event e && handle.Equals(e.handle); - } - - public override int GetHashCode() => handle.GetHashCode(); - - public override IEnumerable Contents - { - get - { - var signature = (Type)Context.CreateGeneric(parent, ed.Type); - yield return signature; - - yield return Tuples.cil_event(this, parent, Context.ShortName(ed.Name), signature); - - var accessors = ed.GetAccessors(); - if (!accessors.Adder.IsNil) - { - var adder = (Method)Context.CreateGeneric(parent, accessors.Adder); - yield return adder; - yield return Tuples.cil_adder(this, adder); - } - - if (!accessors.Remover.IsNil) - { - var remover = (Method)Context.CreateGeneric(parent, accessors.Remover); - yield return remover; - yield return Tuples.cil_remover(this, remover); - } - - if (!accessors.Raiser.IsNil) - { - var raiser = (Method)Context.CreateGeneric(parent, accessors.Raiser); - yield return raiser; - yield return Tuples.cil_raiser(this, raiser); - } - - foreach (var c in Attribute.Populate(Context, this, ed.GetCustomAttributes())) - yield return c; - } - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/ExceptionRegion.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/ExceptionRegion.cs deleted file mode 100644 index 5e49c10f533..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/ExceptionRegion.cs +++ /dev/null @@ -1,56 +0,0 @@ -using System.Collections.Generic; - -namespace Semmle.Extraction.CIL.Entities -{ - /// - /// An exception region entity. - /// - internal class ExceptionRegion : UnlabelledEntity - { - private readonly IGenericContext gc; - private readonly MethodImplementation method; - private readonly int index; - private readonly System.Reflection.Metadata.ExceptionRegion r; - private readonly Dictionary jump_table; - - public ExceptionRegion(IGenericContext gc, MethodImplementation method, int index, System.Reflection.Metadata.ExceptionRegion r, Dictionary jump_table) : base(gc.Context) - { - this.gc = gc; - this.method = method; - this.index = index; - this.r = r; - this.jump_table = jump_table; - } - - public override IEnumerable Contents - { - get - { - - if (!jump_table.TryGetValue(r.TryOffset, out var try_start)) - throw new InternalError("Failed to retrieve handler"); - if (!jump_table.TryGetValue(r.TryOffset + r.TryLength, out var try_end)) - throw new InternalError("Failed to retrieve handler"); - if (!jump_table.TryGetValue(r.HandlerOffset, out var handler_start)) - throw new InternalError("Failed to retrieve handler"); - - yield return Tuples.cil_handler(this, method, index, (int)r.Kind, try_start, try_end, handler_start); - - if (r.FilterOffset != -1) - { - if (!jump_table.TryGetValue(r.FilterOffset, out var filter_start)) - throw new InternalError("ExceptionRegion filter clause"); - - yield return Tuples.cil_handler_filter(this, filter_start); - } - - if (!r.CatchType.IsNil) - { - var catchType = (Type)Context.CreateGeneric(gc, r.CatchType); - yield return catchType; - yield return Tuples.cil_handler_type(this, catchType); - } - } - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/Field.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/Field.cs deleted file mode 100644 index a42fdab0b1f..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/Field.cs +++ /dev/null @@ -1,51 +0,0 @@ -using System.Collections.Generic; - -namespace Semmle.Extraction.CIL.Entities -{ - /// - /// An entity representing a field. - /// - internal abstract class Field : LabelledEntity, IGenericContext, IMember, ICustomModifierReceiver - { - protected Field(Context cx) : base(cx) - { - } - - public override void WriteId(EscapingTextWriter trapFile) - { - trapFile.WriteSubId(DeclaringType); - trapFile.Write('.'); - trapFile.Write(Name); - trapFile.Write(";cil-field"); - } - - public abstract string Name { get; } - - public abstract Type DeclaringType { get; } - - public abstract Type Type { get; } - - public override IEnumerable Contents - { - get - { - var t = Type; - if (t is ModifiedType mt) - { - t = mt.Unmodified; - yield return Tuples.cil_custom_modifiers(this, mt.Modifier, mt.IsRequired); - } - if (t is ByRefType brt) - { - t = brt.ElementType; - yield return Tuples.cil_type_annotation(this, TypeAnnotation.Ref); - } - yield return Tuples.cil_field(this, DeclaringType, Name, t); - } - } - - public abstract IEnumerable TypeParameters { get; } - - public abstract IEnumerable MethodParameters { get; } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/File.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/File.cs deleted file mode 100644 index f7ae53af56a..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/File.cs +++ /dev/null @@ -1,43 +0,0 @@ -using System.Collections.Generic; - -namespace Semmle.Extraction.CIL.Entities -{ - internal class File : LabelledEntity, IFileOrFolder - { - protected string OriginalPath { get; } - protected PathTransformer.ITransformedPath TransformedPath { get; } - - public File(Context cx, string path) : base(cx) - { - this.OriginalPath = path; - TransformedPath = Context.Extractor.PathTransformer.Transform(OriginalPath); - } - - public override void WriteId(EscapingTextWriter trapFile) - { - trapFile.Write(TransformedPath.DatabaseId); - trapFile.Write(";sourcefile"); - } - - public override bool Equals(object? obj) - { - return GetType() == obj?.GetType() && OriginalPath == ((File)obj).OriginalPath; - } - - public override int GetHashCode() => 11 * OriginalPath.GetHashCode(); - - public override IEnumerable Contents - { - get - { - if (TransformedPath.ParentDirectory is PathTransformer.ITransformedPath dir) - { - var parent = Context.CreateFolder(dir); - yield return parent; - yield return Tuples.containerparent(parent, this); - } - yield return Tuples.files(this, TransformedPath.Value); - } - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/Folder.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/Folder.cs deleted file mode 100644 index 3023ea6db91..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/Folder.cs +++ /dev/null @@ -1,41 +0,0 @@ -using System.Collections.Generic; - -namespace Semmle.Extraction.CIL.Entities -{ - internal sealed class Folder : LabelledEntity, IFileOrFolder - { - private readonly PathTransformer.ITransformedPath transformedPath; - - public Folder(Context cx, PathTransformer.ITransformedPath path) : base(cx) - { - this.transformedPath = path; - } - - public override void WriteId(EscapingTextWriter trapFile) - { - trapFile.Write(transformedPath.DatabaseId); - trapFile.Write(";folder"); - } - - public override IEnumerable Contents - { - get - { - if (transformedPath.ParentDirectory is PathTransformer.ITransformedPath parent) - { - var parentFolder = Context.CreateFolder(parent); - yield return parentFolder; - yield return Tuples.containerparent(parentFolder, this); - } - yield return Tuples.folders(this, transformedPath.Value); - } - } - - public override bool Equals(object? obj) - { - return obj is Folder folder && transformedPath == folder.transformedPath; - } - - public override int GetHashCode() => transformedPath.GetHashCode(); - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/FunctionPointerType.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/FunctionPointerType.cs deleted file mode 100644 index 511826e003c..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/FunctionPointerType.cs +++ /dev/null @@ -1,114 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Reflection.Metadata; - -namespace Semmle.Extraction.CIL.Entities -{ - internal sealed class FunctionPointerType : Type, IParameterizable, ICustomModifierReceiver - { - private readonly MethodSignature signature; - - public FunctionPointerType(Context cx, MethodSignature signature) : base(cx) - { - this.signature = signature; - } - - public override CilTypeKind Kind => CilTypeKind.FunctionPointer; - - public override string Name - { - get - { - using var id = new StringWriter(); - WriteName( - id.Write, - t => id.Write(t.Name), - signature - ); - return id.ToString(); - } - } - - public override Namespace? ContainingNamespace => Context.GlobalNamespace; - - public override Type? ContainingType => null; - - public override int ThisTypeParameterCount => throw new System.NotImplementedException(); - - public override IEnumerable TypeParameters => throw new System.NotImplementedException(); - - public override Type Construct(IEnumerable typeArguments) => throw new System.NotImplementedException(); - - public override void WriteAssemblyPrefix(TextWriter trapFile) { } - - public override void WriteId(EscapingTextWriter trapFile, bool inContext) - { - WriteName( - trapFile.Write, - t => t.WriteId(trapFile, inContext), - signature - ); - } - - internal static void WriteName(Action write, Action writeType, MethodSignature signature) - { - write("delegate* "); - write(GetCallingConvention(signature.Header.CallingConvention)); - write("<"); - foreach (var pt in signature.ParameterTypes) - { - writeType(pt); - write(","); - } - writeType(signature.ReturnType); - write(">"); - } - - internal static string GetCallingConvention(SignatureCallingConvention callingConvention) - { - if (callingConvention == SignatureCallingConvention.Default) - { - return "managed"; - } - - if (callingConvention == SignatureCallingConvention.Unmanaged) - { - return "unmanaged"; - } - - return $"unmanaged[{callingConvention}]"; - } - - public override IEnumerable Contents - { - get - { - foreach (var c in base.Contents) - { - yield return c; - } - - var retType = signature.ReturnType; - if (retType is ModifiedType mt) - { - retType = mt.Unmodified; - yield return Tuples.cil_custom_modifiers(this, mt.Modifier, mt.IsRequired); - } - if (retType is ByRefType byRefType) - { - retType = byRefType.ElementType; - yield return Tuples.cil_type_annotation(this, TypeAnnotation.Ref); - } - yield return Tuples.cil_function_pointer_return_type(this, retType); - - yield return Tuples.cil_function_pointer_calling_conventions(this, signature.Header.CallingConvention); - - foreach (var p in Method.GetParameterExtractionProducts(signature.ParameterTypes, this, this, Context, 0)) - { - yield return p; - } - } - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/GenericsHelper.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/GenericsHelper.cs deleted file mode 100644 index dd3657c0e0d..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/GenericsHelper.cs +++ /dev/null @@ -1,59 +0,0 @@ -using System.Collections.Generic; -using System.Reflection.Metadata; - -namespace Semmle.Extraction.CIL.Entities -{ - internal static class GenericsHelper - { - public static TypeTypeParameter[] MakeTypeParameters(Type container, int count) - { - var newTypeParams = new TypeTypeParameter[count]; - for (var i = 0; i < newTypeParams.Length; ++i) - { - newTypeParams[i] = new TypeTypeParameter(container, i); - } - return newTypeParams; - } - - public static string GetNonGenericName(StringHandle name, MetadataReader reader) - { - var n = reader.GetString(name); - return GetNonGenericName(n); - } - - public static string GetNonGenericName(string name) - { - var tick = name.LastIndexOf('`'); - return tick == -1 - ? name - : name.Substring(0, tick); - } - - public static int GetGenericTypeParameterCount(StringHandle name, MetadataReader reader) - { - var n = reader.GetString(name); - return GetGenericTypeParameterCount(n); - } - - public static int GetGenericTypeParameterCount(string name) - { - var tick = name.LastIndexOf('`'); - return tick == -1 - ? 0 - : int.Parse(name.Substring(tick + 1)); - } - - public static IEnumerable GetAllTypeParameters(Type? container, IEnumerable thisTypeParameters) - { - if (container is not null) - { - foreach (var t in container.TypeParameters) - yield return t; - } - - foreach (var t in thisTypeParameters) - yield return t; - - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/IFileOrFolder.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/IFileOrFolder.cs deleted file mode 100644 index 321bb842ccc..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/IFileOrFolder.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace Semmle.Extraction.CIL.Entities -{ - internal interface IFileOrFolder : IEntity - { - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/ILocation.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/ILocation.cs deleted file mode 100644 index 69498223625..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/ILocation.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace Semmle.Extraction.CIL.Entities -{ - public interface ILocation : IEntity - { - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/IMember.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/IMember.cs deleted file mode 100644 index 37c0af7702b..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/IMember.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace Semmle.Extraction.CIL.Entities -{ - /// - /// An entity representing a member. - /// Used to type tuples correctly. - /// - internal interface IMember : IExtractedEntity - { - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/IParameterizable.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/IParameterizable.cs deleted file mode 100644 index ad9347848e4..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/IParameterizable.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace Semmle.Extraction.CIL.Entities -{ - internal interface IParameterizable : IEntity - { - - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/ITypeSignature.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/ITypeSignature.cs deleted file mode 100644 index 377035c7e70..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/ITypeSignature.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace Semmle.Extraction.CIL.Entities -{ - internal interface ITypeSignature - { - void WriteId(EscapingTextWriter trapFile, IGenericContext gc); - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/Instruction.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/Instruction.cs deleted file mode 100644 index cf7e8fee0b5..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/Instruction.cs +++ /dev/null @@ -1,508 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Reflection.Metadata; -using System.Reflection.Metadata.Ecma335; - -namespace Semmle.Extraction.CIL.Entities -{ - /// - /// A CIL instruction. - /// - internal class Instruction : UnlabelledEntity - { - /// - /// The additional data following the opcode, if any. - /// - public enum Payload - { - None, TypeTok, Field, Target8, Class, - Method, Arg8, Local8, Target32, Int8, - Int16, Int32, Int64, Float32, Float64, - CallSiteDesc, Switch, String, Constructor, ValueType, - Type, Arg16, Ignore8, Token, Local16, MethodRef - } - - /// - /// For each Payload, how many additional bytes in the bytestream need to be read. - /// - private static readonly int[] payloadSizes = { - 0, 4, 4, 1, 4, - 4, 1, 1, 4, 1, - 2, 4, 8, 4, 8, - 4, -1, 4, 4, 4, - 4, 2, 1, 4, 2, 4 }; - - // Maps opcodes to payloads for each instruction. - private static readonly Dictionary opPayload = new Dictionary() - { - { ILOpCode.Nop, Payload.None }, - { ILOpCode.Break, Payload.None }, - { ILOpCode.Ldarg_0, Payload.None }, - { ILOpCode.Ldarg_1, Payload.None }, - { ILOpCode.Ldarg_2, Payload.None }, - { ILOpCode.Ldarg_3, Payload.None }, - { ILOpCode.Ldloc_0, Payload.None }, - { ILOpCode.Ldloc_1, Payload.None }, - { ILOpCode.Ldloc_2, Payload.None }, - { ILOpCode.Ldloc_3, Payload.None }, - { ILOpCode.Stloc_0, Payload.None }, - { ILOpCode.Stloc_1, Payload.None }, - { ILOpCode.Stloc_2, Payload.None }, - { ILOpCode.Stloc_3, Payload.None }, - { ILOpCode.Ldarg_s, Payload.Arg8 }, - { ILOpCode.Ldarga_s, Payload.Arg8 }, - { ILOpCode.Starg_s, Payload.Arg8 }, - { ILOpCode.Ldloc_s, Payload.Local8 }, - { ILOpCode.Ldloca_s, Payload.Local8 }, - { ILOpCode.Stloc_s, Payload.Local8 }, - { ILOpCode.Ldnull, Payload.None }, - { ILOpCode.Ldc_i4_m1, Payload.None }, - { ILOpCode.Ldc_i4_0, Payload.None }, - { ILOpCode.Ldc_i4_1, Payload.None }, - { ILOpCode.Ldc_i4_2, Payload.None }, - { ILOpCode.Ldc_i4_3, Payload.None }, - { ILOpCode.Ldc_i4_4, Payload.None }, - { ILOpCode.Ldc_i4_5, Payload.None }, - { ILOpCode.Ldc_i4_6, Payload.None }, - { ILOpCode.Ldc_i4_7, Payload.None }, - { ILOpCode.Ldc_i4_8, Payload.None }, - { ILOpCode.Ldc_i4_s, Payload.Int8 }, - { ILOpCode.Ldc_i4, Payload.Int32 }, - { ILOpCode.Ldc_i8, Payload.Int64 }, - { ILOpCode.Ldc_r4, Payload.Float32 }, - { ILOpCode.Ldc_r8, Payload.Float64 }, - { ILOpCode.Dup, Payload.None }, - { ILOpCode.Pop, Payload.None }, - { ILOpCode.Jmp, Payload.Method }, - { ILOpCode.Call, Payload.Method }, - { ILOpCode.Calli, Payload.CallSiteDesc }, - { ILOpCode.Ret, Payload.None }, - { ILOpCode.Br_s, Payload.Target8 }, - { ILOpCode.Brfalse_s, Payload.Target8 }, - { ILOpCode.Brtrue_s, Payload.Target8 }, - { ILOpCode.Beq_s, Payload.Target8 }, - { ILOpCode.Bge_s, Payload.Target8 }, - { ILOpCode.Bgt_s, Payload.Target8 }, - { ILOpCode.Ble_s, Payload.Target8 }, - { ILOpCode.Blt_s, Payload.Target8 }, - { ILOpCode.Bne_un_s, Payload.Target8 }, - { ILOpCode.Bge_un_s, Payload.Target8 }, - { ILOpCode.Bgt_un_s, Payload.Target8 }, - { ILOpCode.Ble_un_s, Payload.Target8 }, - { ILOpCode.Blt_un_s, Payload.Target8 }, - { ILOpCode.Br, Payload.Target32 }, - { ILOpCode.Brfalse, Payload.Target32 }, - { ILOpCode.Brtrue, Payload.Target32 }, - { ILOpCode.Beq, Payload.Target32 }, - { ILOpCode.Bge, Payload.Target32 }, - { ILOpCode.Bgt, Payload.Target32 }, - { ILOpCode.Ble, Payload.Target32 }, - { ILOpCode.Blt, Payload.Target32 }, - { ILOpCode.Bne_un, Payload.Target32 }, - { ILOpCode.Bge_un, Payload.Target32 }, - { ILOpCode.Bgt_un, Payload.Target32 }, - { ILOpCode.Ble_un, Payload.Target32 }, - { ILOpCode.Blt_un, Payload.Target32 }, - { ILOpCode.Switch, Payload.Switch }, - { ILOpCode.Ldind_i1, Payload.None }, - { ILOpCode.Ldind_u1, Payload.None }, - { ILOpCode.Ldind_i2, Payload.None }, - { ILOpCode.Ldind_u2, Payload.None }, - { ILOpCode.Ldind_i4, Payload.None }, - { ILOpCode.Ldind_u4, Payload.None }, - { ILOpCode.Ldind_i8, Payload.None }, - { ILOpCode.Ldind_i, Payload.None }, - { ILOpCode.Ldind_r4, Payload.None }, - { ILOpCode.Ldind_r8, Payload.None }, - { ILOpCode.Ldind_ref, Payload.None }, - { ILOpCode.Stind_ref, Payload.None }, - { ILOpCode.Stind_i1, Payload.None }, - { ILOpCode.Stind_i2, Payload.None }, - { ILOpCode.Stind_i4, Payload.None }, - { ILOpCode.Stind_i8, Payload.None }, - { ILOpCode.Stind_r4, Payload.None }, - { ILOpCode.Stind_r8, Payload.None }, - { ILOpCode.Add, Payload.None }, - { ILOpCode.Sub, Payload.None }, - { ILOpCode.Mul, Payload.None }, - { ILOpCode.Div, Payload.None }, - { ILOpCode.Div_un, Payload.None }, - { ILOpCode.Rem, Payload.None }, - { ILOpCode.Rem_un, Payload.None }, - { ILOpCode.And, Payload.None }, - { ILOpCode.Or, Payload.None }, - { ILOpCode.Xor, Payload.None }, - { ILOpCode.Shl, Payload.None }, - { ILOpCode.Shr, Payload.None }, - { ILOpCode.Shr_un, Payload.None }, - { ILOpCode.Neg, Payload.None }, - { ILOpCode.Not, Payload.None }, - { ILOpCode.Conv_i1, Payload.None }, - { ILOpCode.Conv_i2, Payload.None }, - { ILOpCode.Conv_i4, Payload.None }, - { ILOpCode.Conv_i8, Payload.None }, - { ILOpCode.Conv_r4, Payload.None }, - { ILOpCode.Conv_r8, Payload.None }, - { ILOpCode.Conv_u4, Payload.None }, - { ILOpCode.Conv_u8, Payload.None }, - { ILOpCode.Callvirt, Payload.MethodRef }, - { ILOpCode.Cpobj, Payload.TypeTok }, - { ILOpCode.Ldobj, Payload.TypeTok }, - { ILOpCode.Ldstr, Payload.String }, - { ILOpCode.Newobj, Payload.Constructor }, - { ILOpCode.Castclass, Payload.Class }, - { ILOpCode.Isinst, Payload.Class }, - { ILOpCode.Conv_r_un, Payload.None }, - { ILOpCode.Unbox, Payload.ValueType }, - { ILOpCode.Throw, Payload.None }, - { ILOpCode.Ldfld, Payload.Field }, - { ILOpCode.Ldflda, Payload.Field }, - { ILOpCode.Stfld, Payload.Field }, - { ILOpCode.Ldsfld, Payload.Field }, - { ILOpCode.Ldsflda, Payload.Field }, - { ILOpCode.Stsfld, Payload.Field }, - { ILOpCode.Stobj, Payload.Field }, - { ILOpCode.Conv_ovf_i1_un, Payload.None }, - { ILOpCode.Conv_ovf_i2_un, Payload.None }, - { ILOpCode.Conv_ovf_i4_un, Payload.None }, - { ILOpCode.Conv_ovf_i8_un, Payload.None }, - { ILOpCode.Conv_ovf_u1_un, Payload.None }, - { ILOpCode.Conv_ovf_u2_un, Payload.None }, - { ILOpCode.Conv_ovf_u4_un, Payload.None }, - { ILOpCode.Conv_ovf_u8_un, Payload.None }, - { ILOpCode.Conv_ovf_i_un, Payload.None }, - { ILOpCode.Conv_ovf_u_un, Payload.None }, - { ILOpCode.Box, Payload.TypeTok }, - { ILOpCode.Newarr, Payload.TypeTok }, - { ILOpCode.Ldlen, Payload.None }, - { ILOpCode.Ldelema, Payload.Class }, - { ILOpCode.Ldelem_i1, Payload.None }, - { ILOpCode.Ldelem_u1, Payload.None }, - { ILOpCode.Ldelem_i2, Payload.None }, - { ILOpCode.Ldelem_u2, Payload.None }, - { ILOpCode.Ldelem_i4, Payload.None }, - { ILOpCode.Ldelem_u4, Payload.None }, - { ILOpCode.Ldelem_i8, Payload.None }, - { ILOpCode.Ldelem_i, Payload.None }, - { ILOpCode.Ldelem_r4, Payload.None }, - { ILOpCode.Ldelem_r8, Payload.None }, - { ILOpCode.Ldelem_ref, Payload.None }, - { ILOpCode.Stelem_i, Payload.None }, - { ILOpCode.Stelem_i1, Payload.None }, - { ILOpCode.Stelem_i2, Payload.None }, - { ILOpCode.Stelem_i4, Payload.None }, - { ILOpCode.Stelem_i8, Payload.None }, - { ILOpCode.Stelem_r4, Payload.None }, - { ILOpCode.Stelem_r8, Payload.None }, - { ILOpCode.Stelem_ref, Payload.None }, - { ILOpCode.Ldelem, Payload.TypeTok }, - { ILOpCode.Stelem, Payload.TypeTok }, - { ILOpCode.Unbox_any, Payload.TypeTok }, - { ILOpCode.Conv_ovf_i1, Payload.None }, - { ILOpCode.Conv_ovf_u1, Payload.None }, - { ILOpCode.Conv_ovf_i2, Payload.None }, - { ILOpCode.Conv_ovf_u2, Payload.None }, - { ILOpCode.Conv_ovf_i4, Payload.None }, - { ILOpCode.Conv_ovf_u4, Payload.None }, - { ILOpCode.Conv_ovf_i8, Payload.None }, - { ILOpCode.Conv_ovf_u8, Payload.None }, - { ILOpCode.Refanyval, Payload.Type }, - { ILOpCode.Ckfinite, Payload.None }, - { ILOpCode.Mkrefany, Payload.Class }, - { ILOpCode.Ldtoken, Payload.Token }, - { ILOpCode.Conv_u2, Payload.None }, - { ILOpCode.Conv_u1, Payload.None }, - { ILOpCode.Conv_i, Payload.None }, - { ILOpCode.Conv_ovf_i, Payload.None }, - { ILOpCode.Conv_ovf_u, Payload.None }, - { ILOpCode.Add_ovf, Payload.None }, - { ILOpCode.Add_ovf_un, Payload.None }, - { ILOpCode.Mul_ovf, Payload.None }, - { ILOpCode.Mul_ovf_un, Payload.None }, - { ILOpCode.Sub_ovf, Payload.None }, - { ILOpCode.Sub_ovf_un, Payload.None }, - { ILOpCode.Endfinally, Payload.None }, - { ILOpCode.Leave, Payload.Target32 }, - { ILOpCode.Leave_s, Payload.Target8 }, - { ILOpCode.Stind_i, Payload.None }, - { ILOpCode.Conv_u, Payload.None }, - { ILOpCode.Arglist, Payload.None }, - { ILOpCode.Ceq, Payload.None }, - { ILOpCode.Cgt, Payload.None }, - { ILOpCode.Cgt_un, Payload.None }, - { ILOpCode.Clt, Payload.None }, - { ILOpCode.Clt_un, Payload.None }, - { ILOpCode.Ldftn, Payload.Method }, - { ILOpCode.Ldvirtftn, Payload.Method }, - { ILOpCode.Ldarg, Payload.Arg16 }, - { ILOpCode.Ldarga, Payload.Arg16 }, - { ILOpCode.Starg, Payload.Arg16 }, - { ILOpCode.Ldloc, Payload.Local16 }, - { ILOpCode.Ldloca, Payload.Local16 }, - { ILOpCode.Stloc, Payload.Local16 }, - { ILOpCode.Localloc, Payload.None }, - { ILOpCode.Endfilter, Payload.None }, - { ILOpCode.Unaligned, Payload.Ignore8 }, - { ILOpCode.Volatile, Payload.None }, - { ILOpCode.Tail, Payload.None }, - { ILOpCode.Initobj, Payload.TypeTok }, - { ILOpCode.Constrained, Payload.Type }, - { ILOpCode.Cpblk, Payload.None }, - { ILOpCode.Initblk, Payload.None }, - { ILOpCode.Rethrow, Payload.None }, - { ILOpCode.Sizeof, Payload.TypeTok }, - { ILOpCode.Refanytype, Payload.None }, - { ILOpCode.Readonly, Payload.None } - }; - - public DefinitionMethod Method { get; } - public ILOpCode OpCode { get; } - public int Offset { get; } - public int Index { get; } - private readonly int payloadValue; - private readonly uint unsignedPayloadValue; - - public Payload PayloadType - { - get - { - if (!opPayload.TryGetValue(OpCode, out var result)) - throw new InternalError("Unknown op code " + OpCode); - return result; - } - } - - public override string ToString() => Index + ": " + OpCode; - - /// - /// The number of bytes of this instruction, - /// including the payload (if any). - /// - public int Width - { - get - { - if (OpCode == ILOpCode.Switch) - return 5 + 4 * payloadValue; - - return ((int)OpCode > 255 ? 2 : 1) + PayloadSize; - } - } - - private readonly byte[] data; - - private int PayloadSize => payloadSizes[(int)PayloadType]; - - /// - /// Reads the instruction from a byte stream. - /// - /// The byte stream. - /// The offset of the instruction. - /// The index of this instruction in the callable. - public Instruction(Context cx, DefinitionMethod method, byte[] data, int offset, int index) : base(cx) - { - Method = method; - Offset = offset; - Index = index; - this.data = data; - int opcode = data[offset]; - ++offset; - - /* - * An opcode is either 1 or 2 bytes, followed by an optional payload depending on the instruction. - * Instructions where the first byte is 0xfe are 2-byte instructions. - */ - if (opcode == 0xfe) - opcode = opcode << 8 | data[offset++]; - OpCode = (ILOpCode)opcode; - - switch (PayloadSize) - { - case 0: - payloadValue = 0; - break; - case 1: - payloadValue = (sbyte)data[offset]; - unsignedPayloadValue = data[offset]; - break; - case 2: - payloadValue = BitConverter.ToInt16(data, offset); - unsignedPayloadValue = BitConverter.ToUInt16(data, offset); - break; - case -1: // Switch - case 4: - payloadValue = BitConverter.ToInt32(data, offset); - break; - case 8: // Not handled here. - break; - default: - throw new InternalError("Unhandled CIL instruction Payload"); - } - } - - public override IEnumerable Contents - { - get - { - var offset = Offset; - - if (Method.Implementation is null) - { - yield break; - } - - yield return Tuples.cil_instruction(this, (int)OpCode, Index, Method.Implementation); - - switch (PayloadType) - { - case Payload.String: - yield return Tuples.cil_value(this, Context.MdReader.GetUserString(MetadataTokens.UserStringHandle(payloadValue))); - break; - case Payload.Float32: - yield return Tuples.cil_value(this, BitConverter.ToSingle(data, offset).ToString()); - break; - case Payload.Float64: - yield return Tuples.cil_value(this, BitConverter.ToDouble(data, offset).ToString()); - break; - case Payload.Int8: - yield return Tuples.cil_value(this, data[offset].ToString()); - break; - case Payload.Int16: - yield return Tuples.cil_value(this, BitConverter.ToInt16(data, offset).ToString()); - break; - case Payload.Int32: - yield return Tuples.cil_value(this, BitConverter.ToInt32(data, offset).ToString()); - break; - case Payload.Int64: - yield return Tuples.cil_value(this, BitConverter.ToInt64(data, offset).ToString()); - break; - case Payload.Constructor: - case Payload.Method: - case Payload.MethodRef: - case Payload.Class: - case Payload.TypeTok: - case Payload.Token: - case Payload.Type: - case Payload.Field: - case Payload.ValueType: - { - // A generic EntityHandle. - var handle = MetadataTokens.EntityHandle(payloadValue); - var target = Context.CreateGeneric(Method, handle); - yield return target; - if (target is not null) - { - yield return Tuples.cil_access(this, target); - } - else - { - throw new InternalError($"Unable to create payload type {PayloadType} for opcode {OpCode}"); - } - break; - } - case Payload.Arg8: - case Payload.Arg16: - if (Method.Parameters is not null) - { - yield return Tuples.cil_access(this, Method.Parameters[(int)unsignedPayloadValue]); - } - break; - case Payload.Local8: - case Payload.Local16: - if (Method.LocalVariables is not null) - { - yield return Tuples.cil_access(this, Method.LocalVariables[(int)unsignedPayloadValue]); - } - break; - case Payload.None: - case Payload.Target8: - case Payload.Target32: - case Payload.Switch: - case Payload.Ignore8: - // These are not handled here. - // Some of these are handled by JumpContents(). - break; - case Payload.CallSiteDesc: - { - var handle = MetadataTokens.EntityHandle(payloadValue); - IExtractedEntity? target = null; - try - { - target = Context.CreateGeneric(Method, handle); - } - catch (Exception exc) - { - Context.Extractor.Logger.Log(Util.Logging.Severity.Warning, $"Couldn't interpret payload of payload type {PayloadType} as a function pointer type. {exc.Message} {exc.StackTrace}"); - } - - if (target is not null) - { - yield return target; - yield return Tuples.cil_access(this, target); - } - else - { - throw new InternalError($"Unable to create payload type {PayloadType} for opcode {OpCode}"); - } - break; - } - default: - throw new InternalError($"Unhandled payload type {PayloadType}"); - } - } - } - - // Called to populate the jumps in each instruction. - public IEnumerable JumpContents(Dictionary jump_table) - { - int target; - Instruction? inst; - - switch (PayloadType) - { - case Payload.Target8: - target = Offset + payloadValue + 2; - break; - case Payload.Target32: - target = Offset + payloadValue + 5; - break; - case Payload.Switch: - var end = Offset + Width; - - var offset = Offset + 5; - - for (var b = 0; b < payloadValue; ++b, offset += 4) - { - target = BitConverter.ToInt32(data, offset) + end; - if (jump_table.TryGetValue(target, out inst)) - { - yield return Tuples.cil_switch(this, b, inst); - } - else - { - throw new InternalError("Invalid jump target"); - } - } - - yield break; - default: - // Not a jump - yield break; - } - - - if (jump_table.TryGetValue(target, out inst)) - { - yield return Tuples.cil_jump(this, inst); - } - else - { - // Sometimes instructions can jump outside the current method. - // TODO: Find a solution to this. - - // For now, just log the error - Context.ExtractionError("A CIL instruction jumps outside the current method", null, Extraction.Entities.GeneratedLocation.Create(Context), "", Util.Logging.Severity.Warning); - } - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/LocalVariable.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/LocalVariable.cs deleted file mode 100644 index ec14e364f87..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/LocalVariable.cs +++ /dev/null @@ -1,35 +0,0 @@ -using System.Collections.Generic; - -namespace Semmle.Extraction.CIL.Entities -{ - internal class LocalVariable : LabelledEntity - { - private readonly MethodImplementation method; - private readonly int index; - private readonly Type type; - - public LocalVariable(Context cx, MethodImplementation m, int i, Type t) : base(cx) - { - method = m; - index = i; - type = t; - } - - public override void WriteId(EscapingTextWriter trapFile) - { - trapFile.WriteSubId(method); - trapFile.Write('_'); - trapFile.Write(index); - trapFile.Write(";cil-local"); - } - - public override IEnumerable Contents - { - get - { - yield return type; - yield return Tuples.cil_local_variable(this, method, index, type); - } - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/MemberReferenceField.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/MemberReferenceField.cs deleted file mode 100644 index 6a198052018..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/MemberReferenceField.cs +++ /dev/null @@ -1,42 +0,0 @@ -using System.Collections.Generic; -using System.Linq; -using System.Reflection.Metadata; - -namespace Semmle.Extraction.CIL.Entities -{ - internal sealed class MemberReferenceField : Field - { - private readonly MemberReferenceHandle handle; - private readonly MemberReference mr; - private readonly IGenericContext gc; - private readonly Type declType; - - public MemberReferenceField(IGenericContext gc, MemberReferenceHandle handle) : base(gc.Context) - { - this.handle = handle; - this.gc = gc; - mr = Context.MdReader.GetMemberReference(handle); - declType = (Type)Context.CreateGeneric(gc, mr.Parent); - } - - public override bool Equals(object? obj) - { - return obj is MemberReferenceField field && handle.Equals(field.handle); - } - - public override int GetHashCode() - { - return handle.GetHashCode(); - } - - public override string Name => Context.GetString(mr.Name); - - public override Type DeclaringType => declType; - - public override Type Type => mr.DecodeFieldSignature(Context.TypeSignatureDecoder, this); - - public override IEnumerable TypeParameters => gc.TypeParameters.Concat(declType.TypeParameters); - - public override IEnumerable MethodParameters => gc.MethodParameters.Concat(declType.MethodParameters); - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/MemberReferenceMethod.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/MemberReferenceMethod.cs deleted file mode 100644 index 1a7942936d6..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/MemberReferenceMethod.cs +++ /dev/null @@ -1,95 +0,0 @@ -using System.Collections.Generic; -using System.Linq; -using System.Reflection.Metadata; - -namespace Semmle.Extraction.CIL.Entities -{ - /// - /// This is a late-bound reference to a method. - /// - internal sealed class MemberReferenceMethod : Method - { - private readonly MemberReferenceHandle handle; - private readonly MemberReference mr; - private readonly Type declaringType; - private readonly IGenericContext parent; - private readonly Method? sourceDeclaration; - - public MemberReferenceMethod(IGenericContext gc, MemberReferenceHandle handle) : base(gc) - { - this.handle = handle; - this.gc = gc; - mr = Context.MdReader.GetMemberReference(handle); - - signature = mr.DecodeMethodSignature(new SignatureDecoder(), gc); - - parent = (IGenericContext)Context.CreateGeneric(gc, mr.Parent); - - var declType = parent is Method parentMethod - ? parentMethod.DeclaringType - : parent as Type; - - if (declType is null) - throw new InternalError("Parent context of method is not a type"); - - declaringType = declType; - nameLabel = Context.GetString(mr.Name); - - var typeSourceDeclaration = declaringType.SourceDeclaration; - sourceDeclaration = typeSourceDeclaration == declaringType ? (Method)this : typeSourceDeclaration.LookupMethod(mr.Name, mr.Signature); - } - - private readonly string nameLabel; - - public override string NameLabel => nameLabel; - - public override bool Equals(object? obj) - { - return obj is MemberReferenceMethod method && handle.Equals(method.handle); - } - - public override int GetHashCode() - { - return handle.GetHashCode(); - } - - public override Method? SourceDeclaration => sourceDeclaration; - - public override bool IsStatic => !signature.Header.IsInstance; - - public override Type DeclaringType => declaringType; - - public override string Name => Context.ShortName(mr.Name); - - public override IEnumerable TypeParameters => parent.TypeParameters.Concat(gc.TypeParameters); - - public override IEnumerable Contents - { - get - { - genericParams = new MethodTypeParameter[signature.GenericParameterCount]; - for (var p = 0; p < genericParams.Length; ++p) - genericParams[p] = Context.Populate(new MethodTypeParameter(this, this, p)); - - foreach (var p in genericParams) - yield return p; - - var typeSignature = mr.DecodeMethodSignature(Context.TypeSignatureDecoder, this); - - var parameters = GetParameterExtractionProducts(typeSignature.ParameterTypes).ToArray(); - Parameters = parameters.OfType().ToArray(); - foreach (var p in parameters) yield return p; - - foreach (var f in PopulateFlags) yield return f; - - foreach (var m in GetMethodExtractionProducts(Name, DeclaringType, typeSignature.ReturnType)) - { - yield return m; - } - - if (SourceDeclaration is not null) - yield return Tuples.cil_method_source_declaration(this, SourceDeclaration); - } - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/Method.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/Method.cs deleted file mode 100644 index b5d58affd6e..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/Method.cs +++ /dev/null @@ -1,131 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Reflection.Metadata; - -namespace Semmle.Extraction.CIL.Entities -{ - /// - /// A method entity. - /// - internal abstract class Method : TypeContainer, IMember, ICustomModifierReceiver, IParameterizable - { - protected MethodTypeParameter[]? genericParams; - protected IGenericContext gc; - protected MethodSignature signature; - - protected Method(IGenericContext gc) : base(gc.Context) - { - this.gc = gc; - } - - public ITypeSignature ReturnType => signature.ReturnType; - - public override IEnumerable TypeParameters => gc.TypeParameters.Concat(DeclaringType.TypeParameters); - - public override IEnumerable MethodParameters => - genericParams is null ? gc.MethodParameters : gc.MethodParameters.Concat(genericParams); - - public int GenericParameterCount => signature.GenericParameterCount; - - public virtual Method? SourceDeclaration => this; - - public abstract Type DeclaringType { get; } - public abstract string Name { get; } - - public virtual IList? LocalVariables => throw new NotImplementedException(); - public IList? Parameters { get; protected set; } - - public abstract string NameLabel { get; } - - public override void WriteId(EscapingTextWriter trapFile) - { - signature.ReturnType.WriteId(trapFile, this); - trapFile.Write(' '); - DeclaringType.WriteId(trapFile); - trapFile.Write('.'); - trapFile.Write(NameLabel); - - if (signature.GenericParameterCount > 0) - { - trapFile.Write('`'); - trapFile.Write(signature.GenericParameterCount); - } - trapFile.Write('('); - var index = 0; - foreach (var param in signature.ParameterTypes) - { - trapFile.WriteSeparator(",", ref index); - param.WriteId(trapFile, this); - } - trapFile.Write(");cil-method"); - } - - protected IEnumerable PopulateFlags - { - get - { - if (IsStatic) - yield return Tuples.cil_static(this); - } - } - - public abstract bool IsStatic { get; } - - protected IEnumerable GetParameterExtractionProducts(IEnumerable parameterTypes) - { - var i = 0; - - if (!IsStatic) - { - yield return Context.Populate(new Parameter(Context, this, i++, DeclaringType)); - } - - foreach (var p in GetParameterExtractionProducts(parameterTypes, this, this, Context, i)) - { - yield return p; - } - } - - internal static IEnumerable GetParameterExtractionProducts(IEnumerable parameterTypes, IParameterizable parameterizable, ICustomModifierReceiver receiver, Context cx, int firstChildIndex) - { - var i = firstChildIndex; - foreach (var p in parameterTypes) - { - var t = p; - if (t is ModifiedType mt) - { - t = mt.Unmodified; - yield return Tuples.cil_custom_modifiers(receiver, mt.Modifier, mt.IsRequired); - } - if (t is ByRefType brt) - { - t = brt.ElementType; - var parameter = cx.Populate(new Parameter(cx, parameterizable, i++, t)); - yield return parameter; - yield return Tuples.cil_type_annotation(parameter, TypeAnnotation.Ref); - } - else - { - yield return cx.Populate(new Parameter(cx, parameterizable, i++, t)); - } - } - } - - protected IEnumerable GetMethodExtractionProducts(string name, Type declaringType, Type returnType) - { - var t = returnType; - if (t is ModifiedType mt) - { - t = mt.Unmodified; - yield return Tuples.cil_custom_modifiers(this, mt.Modifier, mt.IsRequired); - } - if (t is ByRefType brt) - { - t = brt.ElementType; - yield return Tuples.cil_type_annotation(this, TypeAnnotation.Ref); - } - yield return Tuples.cil_method(this, name, declaringType, t); - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/MethodImplementation.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/MethodImplementation.cs deleted file mode 100644 index eb31e2813ee..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/MethodImplementation.cs +++ /dev/null @@ -1,26 +0,0 @@ -using System.Collections.Generic; - -namespace Semmle.Extraction.CIL.Entities -{ - /// - /// A method implementation entity. - /// In the database, the same method could in principle have multiple implementations. - /// - internal class MethodImplementation : UnlabelledEntity - { - private readonly Method m; - - public MethodImplementation(Method m) : base(m.Context) - { - this.m = m; - } - - public override IEnumerable Contents - { - get - { - yield return Tuples.cil_method_implementation(this, m, Context.Assembly); - } - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/MethodSpecificationMethod.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/MethodSpecificationMethod.cs deleted file mode 100644 index 9d149d9dc58..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/MethodSpecificationMethod.cs +++ /dev/null @@ -1,104 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Linq; -using System.Reflection.Metadata; -using Semmle.Util; - -namespace Semmle.Extraction.CIL.Entities -{ - /// - /// A constructed method. - /// - internal sealed class MethodSpecificationMethod : Method - { - private readonly MethodSpecificationHandle handle; - private readonly MethodSpecification ms; - private readonly Method unboundMethod; - private readonly ImmutableArray typeParams; - - public MethodSpecificationMethod(IGenericContext gc, MethodSpecificationHandle handle) : base(gc) - { - this.handle = handle; - ms = Context.MdReader.GetMethodSpecification(handle); - typeParams = ms.DecodeSignature(Context.TypeSignatureDecoder, gc); - unboundMethod = (Method)Context.CreateGeneric(gc, ms.Method); - } - - public override void WriteId(EscapingTextWriter trapFile) - { - unboundMethod.WriteId(trapFile); - trapFile.Write('<'); - var index = 0; - foreach (var param in typeParams) - { - trapFile.WriteSeparator(",", ref index); - trapFile.WriteSubId(param); - } - trapFile.Write('>'); - } - - public override string NameLabel => throw new NotImplementedException(); - - public override bool Equals(object? obj) - { - return obj is MethodSpecificationMethod method && handle.Equals(method.handle) && typeParams.SequenceEqual(method.typeParams); - } - - public override int GetHashCode() => handle.GetHashCode() * 11 + typeParams.SequenceHash(); - - public override Method SourceDeclaration => unboundMethod; - - public override Type DeclaringType => unboundMethod.DeclaringType; - - public override string Name => unboundMethod.Name; - - public override bool IsStatic => unboundMethod.IsStatic; - - public override IEnumerable MethodParameters => typeParams; - - public override IEnumerable Contents - { - get - { - MethodSignature constructedTypeSignature; - switch (ms.Method.Kind) - { - case HandleKind.MemberReference: - var mr = Context.MdReader.GetMemberReference((MemberReferenceHandle)ms.Method); - constructedTypeSignature = mr.DecodeMethodSignature(Context.TypeSignatureDecoder, this); - break; - case HandleKind.MethodDefinition: - var md = Context.MdReader.GetMethodDefinition((MethodDefinitionHandle)ms.Method); - constructedTypeSignature = md.DecodeSignature(Context.TypeSignatureDecoder, this); - break; - default: - throw new InternalError($"Unexpected constructed method handle kind {ms.Method.Kind}"); - } - - var parameters = GetParameterExtractionProducts(constructedTypeSignature.ParameterTypes).ToArray(); - Parameters = parameters.OfType().ToArray(); - foreach (var p in parameters) - yield return p; - - foreach (var f in PopulateFlags) - yield return f; - - foreach (var m in GetMethodExtractionProducts(Name, DeclaringType, constructedTypeSignature.ReturnType)) - { - yield return m; - } - - yield return Tuples.cil_method_source_declaration(this, SourceDeclaration); - - if (typeParams.Length != unboundMethod.GenericParameterCount) - throw new InternalError("Method type parameter mismatch"); - - for (var p = 0; p < typeParams.Length; ++p) - { - yield return Tuples.cil_type_argument(this, p, typeParams[p]); - } - } - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/MethodTypeParameter.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/MethodTypeParameter.cs deleted file mode 100644 index 94752623313..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/MethodTypeParameter.cs +++ /dev/null @@ -1,52 +0,0 @@ -using System; -using System.Collections.Generic; - -namespace Semmle.Extraction.CIL.Entities -{ - internal sealed class MethodTypeParameter : TypeParameter - { - private readonly Method method; - private readonly int index; - - public override void WriteId(EscapingTextWriter trapFile, bool inContext) - { - if (!(inContext && method == gc)) - { - trapFile.WriteSubId(method); - } - trapFile.Write("!"); - trapFile.Write(index); - } - - public override string Name => "!" + index; - - public MethodTypeParameter(IGenericContext gc, Method m, int index) : base(gc) - { - method = m; - this.index = index; - } - - public override bool Equals(object? obj) - { - return obj is MethodTypeParameter tp && method.Equals(tp.method) && index == tp.index; - } - - public override int GetHashCode() - { - return method.GetHashCode() * 29 + index; - } - - public override TypeContainer Parent => method; - - public override IEnumerable TypeParameters => throw new NotImplementedException(); - - public override IEnumerable Contents - { - get - { - yield return Tuples.cil_type(this, Name, Kind, method, SourceDeclaration); - yield return Tuples.cil_type_parameter(method, index, this); - } - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/ModifiedType.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/ModifiedType.cs deleted file mode 100644 index 36e08a2e594..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/ModifiedType.cs +++ /dev/null @@ -1,49 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; - -namespace Semmle.Extraction.CIL.Entities -{ - /// - /// Modified types are not written directly to trap files. Instead, the modifiers are stored - /// on the modifiable entity (field type, property/method/function pointer parameter or return types). - /// - internal sealed class ModifiedType : Type - { - public ModifiedType(Context cx, Type unmodified, Type modifier, bool isRequired) : base(cx) - { - Unmodified = unmodified; - Modifier = modifier; - IsRequired = isRequired; - } - - public Type Unmodified { get; } - public Type Modifier { get; } - public bool IsRequired { get; } - - public override CilTypeKind Kind => throw new NotImplementedException(); - - public override Namespace? ContainingNamespace => throw new NotImplementedException(); - - public override Type? ContainingType => throw new NotImplementedException(); - - public override IEnumerable TypeParameters => throw new NotImplementedException(); - - public override int ThisTypeParameterCount => throw new NotImplementedException(); - - public override Type Construct(IEnumerable typeArguments) => throw new NotImplementedException(); - - public override string Name => $"{Unmodified.Name} {(IsRequired ? "modreq" : "modopt")}({Modifier.Name})"; - - public override void WriteAssemblyPrefix(TextWriter trapFile) => throw new NotImplementedException(); - - public override void WriteId(EscapingTextWriter trapFile, bool inContext) - { - Unmodified.WriteId(trapFile, inContext); - trapFile.Write(IsRequired ? " modreq" : " modopt"); - trapFile.Write("("); - Modifier.WriteId(trapFile, inContext); - trapFile.Write(")"); - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/NamedTypeIdWriter.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/NamedTypeIdWriter.cs deleted file mode 100644 index f78aba27a12..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/NamedTypeIdWriter.cs +++ /dev/null @@ -1,61 +0,0 @@ -using System.Linq; - -namespace Semmle.Extraction.CIL.Entities -{ - internal class NamedTypeIdWriter - { - private readonly Type type; - - public NamedTypeIdWriter(Type type) - { - this.type = type; - } - - public void WriteId(EscapingTextWriter trapFile, bool inContext) - { - if (type.IsPrimitiveType) - { - Type.WritePrimitiveTypeId(trapFile, type.Name); - return; - } - - var ct = type.ContainingType; - if (ct is not null) - { - ct.WriteId(trapFile, inContext); - trapFile.Write('.'); - } - else - { - type.WriteAssemblyPrefix(trapFile); - - var ns = type.ContainingNamespace!; - if (!ns.IsGlobalNamespace) - { - ns.WriteId(trapFile); - trapFile.Write('.'); - } - } - - trapFile.Write(type.Name); - - var thisTypeArguments = type.ThisTypeArguments; - if (thisTypeArguments is not null && thisTypeArguments.Any()) - { - trapFile.Write('<'); - var index = 0; - foreach (var t in thisTypeArguments) - { - trapFile.WriteSeparator(",", ref index); - t.WriteId(trapFile); - } - trapFile.Write('>'); - } - else if (type.ThisTypeParameterCount > 0) - { - trapFile.Write('`'); - trapFile.Write(type.ThisTypeParameterCount); - } - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/Namespace.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/Namespace.cs deleted file mode 100644 index 2ab143b3733..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/Namespace.cs +++ /dev/null @@ -1,83 +0,0 @@ -using System; -using System.Collections.Generic; - -namespace Semmle.Extraction.CIL.Entities -{ - /// - /// A namespace. - /// - internal sealed class Namespace : TypeContainer - { - public Namespace? ParentNamespace { get; } - public string Name { get; } - - public bool IsGlobalNamespace => ParentNamespace is null; - - public override void WriteId(EscapingTextWriter trapFile) - { - if (ParentNamespace is not null && !ParentNamespace.IsGlobalNamespace) - { - ParentNamespace.WriteId(trapFile); - trapFile.Write('.'); - } - trapFile.Write(Name); - trapFile.Write(";namespace"); - } - - public override bool Equals(object? obj) - { - if (obj is Namespace ns && Name == ns.Name) - { - if (ParentNamespace is null) - return ns.ParentNamespace is null; - if (!(ns.ParentNamespace is null)) - return ParentNamespace.Equals(ns.ParentNamespace); - } - return false; - } - - public override int GetHashCode() - { - var h = ParentNamespace is null ? 19 : ParentNamespace.GetHashCode(); - return 13 * h + Name.GetHashCode(); - } - - public override IEnumerable TypeParameters => throw new NotImplementedException(); - - public override IEnumerable MethodParameters => throw new NotImplementedException(); - - private static string parseNamespaceName(string fqn) - { - var i = fqn.LastIndexOf('.'); - return i == -1 ? fqn : fqn.Substring(i + 1); - } - - private static Namespace? createParentNamespace(Context cx, string fqn) - { - if (fqn.Length == 0) - return null; - var i = fqn.LastIndexOf('.'); - return i == -1 ? cx.GlobalNamespace : cx.Populate(new Namespace(cx, fqn.Substring(0, i))); - } - - public Namespace(Context cx, string fqn) : this(cx, parseNamespaceName(fqn), createParentNamespace(cx, fqn)) - { - } - - public Namespace(Context cx, string name, Namespace? parent) : base(cx) - { - Name = name; - ParentNamespace = parent; - } - - public override IEnumerable Contents - { - get - { - yield return Tuples.namespaces(this, Name); - if (ParentNamespace is not null) - yield return Tuples.parent_namespace(this, ParentNamespace); - } - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/NoMetadataHandleType.FullyQualifiedNameParser.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/NoMetadataHandleType.FullyQualifiedNameParser.cs deleted file mode 100644 index ab1aedab3c3..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/NoMetadataHandleType.FullyQualifiedNameParser.cs +++ /dev/null @@ -1,162 +0,0 @@ -using System.Collections.Generic; -using System.Linq; -using Semmle.Util; - -namespace Semmle.Extraction.CIL.Entities -{ - internal sealed partial class NoMetadataHandleType - { - /// - /// Parser to split a fully qualified name into short name, namespace or declaring type name, assembly name, and - /// type argument names. Names are in the following format: - /// N1.N2.T1`2+T2`2[T3,[T4, A1, Version=...],T5,T6], A2, Version=... - /// - /// - /// typeof(System.Collections.Generic.List.Enumerator) - /// -> System.Collections.Generic.List`1+Enumerator[[System.Int32, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e - /// typeof(System.Collections.Generic.List<>.Enumerator) - /// -> System.Collections.Generic.List`1+Enumerator, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e - /// - /// - private class FullyQualifiedNameParser - { - public string ShortName { get; internal set; } - public string? AssemblyName { get; private set; } - public IEnumerable? TypeArguments { get; internal set; } - public string? UnboundGenericTypeName { get; internal set; } - public string ContainerName { get; internal set; } - public bool IsContainerNamespace { get; internal set; } - - private string AssemblySuffix => string.IsNullOrWhiteSpace(AssemblyName) ? "" : $", {AssemblyName}"; - - public FullyQualifiedNameParser(string name) - { - ExtractAssemblyName(ref name, out var lastBracketIndex); - ExtractTypeArguments(ref name, lastBracketIndex, out var containerTypeArguments); - ContainerName = ExtractContainer(ref name, containerTypeArguments); - - ShortName = name; - } - - private void ExtractTypeArguments(ref string name, int lastBracketIndex, out string containerTypeArguments) - { - var firstBracketIndex = name.IndexOf('['); - if (firstBracketIndex < 0) - { - // not generic or non-constructed generic - TypeArguments = null; - containerTypeArguments = ""; - UnboundGenericTypeName = null; - return; - } - - // "T3,[T4, Assembly1, Version=...],T5,T6" - string typeArgs; - (name, _, typeArgs, _) = name.Split(firstBracketIndex, firstBracketIndex + 1, lastBracketIndex); - - var thisTypeArgCount = GenericsHelper.GetGenericTypeParameterCount(name); - if (thisTypeArgCount == 0) - { - // not generic or non-constructed generic; container is constructed - TypeArguments = null; - containerTypeArguments = $"[{typeArgs}]"; - UnboundGenericTypeName = null; - return; - } - - // constructed generic - // "T3,[T4, Assembly1, Version=...]", ["T5", "T6"] - var (containerTypeArgs, thisTypeArgs) = ParseTypeArgumentStrings(typeArgs, thisTypeArgCount); - - TypeArguments = thisTypeArgs; - - containerTypeArguments = string.IsNullOrWhiteSpace(containerTypeArgs) - ? "" // containing type is not constructed generics - : $"[{containerTypeArgs}]"; // "T3,[T4, Assembly1, Version=...],,]" - - UnboundGenericTypeName = $"{name}{AssemblySuffix}"; - } - - private string ExtractContainer(ref string name, string containerTypeArguments) - { - var lastPlusIndex = name.LastIndexOf('+'); - IsContainerNamespace = lastPlusIndex < 0; - if (IsContainerNamespace) - { - return ExtractContainerNamespace(ref name); - } - - return ExtractContainerType(ref name, containerTypeArguments, lastPlusIndex); - } - - private static string ExtractContainerNamespace(ref string name) - { - var lastDotIndex = name.LastIndexOf('.'); - if (lastDotIndex >= 0) - { - string containerName; - (containerName, _, name) = name.Split(lastDotIndex, lastDotIndex + 1); - return containerName; - } - - return ""; // global namespace name - } - - private string ExtractContainerType(ref string name, string containerTypeArguments, int lastPlusIndex) - { - string containerName; - (containerName, _, name) = name.Split(lastPlusIndex, lastPlusIndex + 1); - return $"{containerName}{containerTypeArguments}{AssemblySuffix}"; - } - - private void ExtractAssemblyName(ref string name, out int lastBracketIndex) - { - lastBracketIndex = name.LastIndexOf(']'); - var assemblyCommaIndex = name.IndexOf(',', lastBracketIndex < 0 ? 0 : lastBracketIndex); - if (assemblyCommaIndex >= 0) - { - // "Assembly2, Version=..." - (name, _, AssemblyName) = name.Split(assemblyCommaIndex, assemblyCommaIndex + 2); - } - } - - private static (string, IEnumerable) ParseTypeArgumentStrings(string typeArgs, int thisTypeArgCount) - { - var thisTypeArgs = new Stack(thisTypeArgCount); - while (typeArgs.Length > 0 && thisTypeArgCount > 0) - { - int startCurrentType; - if (typeArgs[^1] != ']') - { - startCurrentType = typeArgs.LastIndexOf(',') + 1; - thisTypeArgs.Push(typeArgs.Substring(startCurrentType)); - } - else - { - var bracketCount = 1; - for (startCurrentType = typeArgs.Length - 2; startCurrentType >= 0 && bracketCount > 0; startCurrentType--) - { - if (typeArgs[startCurrentType] == ']') - { - bracketCount++; - } - else if (typeArgs[startCurrentType] == '[') - { - bracketCount--; - } - } - startCurrentType++; - thisTypeArgs.Push(typeArgs[(startCurrentType + 1)..^1]); - } - - typeArgs = startCurrentType != 0 - ? typeArgs.Substring(0, startCurrentType - 1) - : ""; - - thisTypeArgCount--; - } - return (typeArgs, thisTypeArgs.ToList()); - } - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/NoMetadataHandleType.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/NoMetadataHandleType.cs deleted file mode 100644 index 41a28e32bf1..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/NoMetadataHandleType.cs +++ /dev/null @@ -1,161 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Reflection; - -namespace Semmle.Extraction.CIL.Entities -{ - internal sealed partial class NoMetadataHandleType : Type - { - private readonly string originalName; - private readonly string name; - private readonly string? assemblyName; - private readonly string containerName; - private readonly bool isContainerNamespace; - - private readonly Lazy? typeParams; - - // Either null or notEmpty - private readonly Type[]? thisTypeArguments; - private readonly Type unboundGenericType; - private readonly Type? containingType; - private readonly Namespace? containingNamespace; - - private readonly NamedTypeIdWriter idWriter; - - public NoMetadataHandleType(Context cx, string originalName) : base(cx) - { - this.originalName = originalName; - this.idWriter = new NamedTypeIdWriter(this); - - var nameParser = new FullyQualifiedNameParser(originalName); - - name = nameParser.ShortName; - assemblyName = nameParser.AssemblyName; - isContainerNamespace = nameParser.IsContainerNamespace; - containerName = nameParser.ContainerName; - - unboundGenericType = nameParser.UnboundGenericTypeName is null - ? this - : new NoMetadataHandleType(Context, nameParser.UnboundGenericTypeName); - - if (nameParser.TypeArguments is not null) - { - thisTypeArguments = nameParser.TypeArguments.Select(t => new NoMetadataHandleType(Context, t)).ToArray(); - } - else - { - typeParams = new Lazy(GenericsHelper.MakeTypeParameters(this, ThisTypeParameterCount)); - } - - containingType = isContainerNamespace - ? null - : new NoMetadataHandleType(Context, containerName); - - containingNamespace = isContainerNamespace - ? containerName == Context.GlobalNamespace.Name - ? Context.GlobalNamespace - : containerName == Context.SystemNamespace.Name - ? Context.SystemNamespace - : new Namespace(Context, containerName) - : null; - - Populate(); - } - - private void Populate() - { - if (ContainingNamespace is not null) - { - Context.Populate(ContainingNamespace); - } - - Context.Populate(this); - } - - public override bool Equals(object? obj) - { - return obj is NoMetadataHandleType t && originalName.Equals(t.originalName, StringComparison.Ordinal); - } - - public override int GetHashCode() - { - return originalName.GetHashCode(StringComparison.Ordinal); - } - - public override IEnumerable Contents - { - get - { - foreach (var tp in typeParams?.Value ?? Array.Empty()) - yield return tp; - - foreach (var c in base.Contents) - yield return c; - - var i = 0; - foreach (var type in ThisTypeArguments) - { - yield return type; - yield return Tuples.cil_type_argument(this, i++, type); - } - } - } - - public override CilTypeKind Kind => CilTypeKind.ValueOrRefType; - - public override string Name => GenericsHelper.GetNonGenericName(name); - - public override Namespace? ContainingNamespace => containingNamespace; - - public override Type? ContainingType => containingType; - - public override Type SourceDeclaration => unboundGenericType; - - public override Type Construct(IEnumerable typeArguments) - { - if (TotalTypeParametersCount != typeArguments.Count()) - throw new InternalError("Mismatched type arguments"); - - return Context.Populate(new ConstructedType(Context, this, typeArguments)); - } - - public override void WriteAssemblyPrefix(TextWriter trapFile) - { - if (!string.IsNullOrWhiteSpace(assemblyName)) - { - var an = new AssemblyName(assemblyName); - trapFile.Write(an.Name); - trapFile.Write('_'); - trapFile.Write((an.Version ?? new Version(0, 0, 0, 0)).ToString()); - trapFile.Write(Type.AssemblyTypeNameSeparator); - } - else - { - Context.WriteAssemblyPrefix(trapFile); - } - } - - public override void WriteId(EscapingTextWriter trapFile, bool inContext) - { - idWriter.WriteId(trapFile, inContext); - } - - public override int ThisTypeParameterCount => unboundGenericType == this - ? GenericsHelper.GetGenericTypeParameterCount(name) - : thisTypeArguments!.Length; - - public override IEnumerable TypeParameters => unboundGenericType == this - ? GenericsHelper.GetAllTypeParameters(containingType, typeParams!.Value) - : GenericArguments; - - public override IEnumerable ThisTypeArguments => unboundGenericType == this - ? base.ThisTypeArguments - : thisTypeArguments!; - - public override IEnumerable ThisGenericArguments => unboundGenericType == this - ? typeParams!.Value - : thisTypeArguments!; - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/Parameter.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/Parameter.cs deleted file mode 100644 index cc26c2f4023..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/Parameter.cs +++ /dev/null @@ -1,47 +0,0 @@ -using System.Collections.Generic; - -namespace Semmle.Extraction.CIL.Entities -{ - /// - /// A parameter entity. - /// - internal sealed class Parameter : LabelledEntity - { - private readonly IParameterizable parameterizable; - private readonly int index; - private readonly Type type; - - public Parameter(Context cx, IParameterizable p, int i, Type t) : base(cx) - { - parameterizable = p; - index = i; - type = t; - } - - public override void WriteId(EscapingTextWriter trapFile) - { - trapFile.WriteSubId(parameterizable); - trapFile.Write('_'); - trapFile.Write(index); - trapFile.Write(";cil-parameter"); - } - - public override bool Equals(object? obj) - { - return obj is Parameter param && parameterizable.Equals(param.parameterizable) && index == param.index; - } - - public override int GetHashCode() - { - return 23 * parameterizable.GetHashCode() + index; - } - - public override IEnumerable Contents - { - get - { - yield return Tuples.cil_parameter(this, parameterizable, index, type); - } - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/PdbSourceFile.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/PdbSourceFile.cs deleted file mode 100644 index 29eb7d118ff..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/PdbSourceFile.cs +++ /dev/null @@ -1,32 +0,0 @@ -using System.Collections.Generic; - -namespace Semmle.Extraction.CIL.Entities -{ - internal class PdbSourceFile : File - { - private readonly PDB.ISourceFile file; - - public PdbSourceFile(Context cx, PDB.ISourceFile file) : base(cx, file.Path) - { - this.file = file; - } - - public override IEnumerable Contents - { - get - { - foreach (var c in base.Contents) - yield return c; - - var text = file.Contents; - - if (text is null) - Context.Extractor.Logger.Log(Util.Logging.Severity.Warning, string.Format("PDB source file {0} could not be found", OriginalPath)); - else - Context.TrapWriter.Archive(TransformedPath, text); - - yield return Tuples.file_extraction_mode(this, Context.Extractor.Mode | ExtractorMode.Pdb); - } - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/PointerType.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/PointerType.cs deleted file mode 100644 index 9ce05b4a054..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/PointerType.cs +++ /dev/null @@ -1,64 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; - -namespace Semmle.Extraction.CIL.Entities -{ - internal sealed class PointerType : Type - { - private readonly Type pointee; - - public PointerType(Context cx, Type pointee) : base(cx) - { - this.pointee = pointee; - - if (pointee is ModifiedType mt) - { - cx.Extractor.Logger.Log( - Util.Logging.Severity.Info, - $"Pointer to modified type {pointee.GetQualifiedName()} is changed to {mt.Unmodified.GetQualifiedName()}"); - this.pointee = mt.Unmodified; - } - } - - public override bool Equals(object? obj) - { - return obj is PointerType pt && pointee.Equals(pt.pointee); - } - - public override int GetHashCode() => HashCode.Combine(pointee, nameof(PointerType)); - - public override void WriteId(EscapingTextWriter trapFile, bool inContext) - { - pointee.WriteId(trapFile, inContext); - trapFile.Write('*'); - } - - public override string Name => pointee.Name + "*"; - - public override Namespace? ContainingNamespace => pointee.ContainingNamespace; - - public override Type? ContainingType => pointee.ContainingType; - - public override TypeContainer Parent => pointee.Parent; - - public override int ThisTypeParameterCount => 0; - - public override CilTypeKind Kind => CilTypeKind.Pointer; - - public override void WriteAssemblyPrefix(TextWriter trapFile) => pointee.WriteAssemblyPrefix(trapFile); - - public override IEnumerable TypeParameters => throw new NotImplementedException(); - - public override Type Construct(IEnumerable typeArguments) => throw new NotImplementedException(); - - public override IEnumerable Contents - { - get - { - foreach (var c in base.Contents) yield return c; - yield return Tuples.cil_pointer_type(this, pointee); - } - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/PrimitiveType.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/PrimitiveType.cs deleted file mode 100644 index 4d95e4ca9e2..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/PrimitiveType.cs +++ /dev/null @@ -1,44 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Reflection.Metadata; - -namespace Semmle.Extraction.CIL.Entities -{ - internal sealed class PrimitiveType : Type - { - private readonly PrimitiveTypeCode typeCode; - public PrimitiveType(Context cx, PrimitiveTypeCode tc) : base(cx) - { - typeCode = tc; - } - - public override bool Equals(object? obj) - { - return obj is PrimitiveType pt && typeCode == pt.typeCode; - } - - public override int GetHashCode() => typeCode.GetHashCode(); - - public override void WriteId(EscapingTextWriter trapFile, bool inContext) - { - Type.WritePrimitiveTypeId(trapFile, Name); - } - - public override string Name => typeCode.Id(); - - public override Namespace ContainingNamespace => Context.SystemNamespace; - - public override Type? ContainingType => null; - - public override int ThisTypeParameterCount => 0; - - public override CilTypeKind Kind => CilTypeKind.ValueOrRefType; - - public override void WriteAssemblyPrefix(TextWriter trapFile) { } - - public override IEnumerable TypeParameters => throw new NotImplementedException(); - - public override Type Construct(IEnumerable typeArguments) => throw new NotImplementedException(); - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/Property.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/Property.cs deleted file mode 100644 index 3e7db7b36d6..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/Property.cs +++ /dev/null @@ -1,91 +0,0 @@ -using System.Collections.Generic; -using System.Reflection.Metadata; -using System.Reflection.Metadata.Ecma335; - -namespace Semmle.Extraction.CIL.Entities -{ - /// - /// A property. - /// - internal sealed class Property : LabelledEntity, ICustomModifierReceiver - { - private readonly Handle handle; - private readonly Type type; - private readonly PropertyDefinition pd; - private readonly IGenericContext gc; - - public Property(IGenericContext gc, Type type, PropertyDefinitionHandle handle) : base(gc.Context) - { - this.gc = gc; - this.handle = handle; - pd = Context.MdReader.GetPropertyDefinition(handle); - this.type = type; - } - - public override void WriteId(EscapingTextWriter trapFile) - { - trapFile.WriteSubId(type); - trapFile.Write('.'); - trapFile.Write(Context.GetString(pd.Name)); - trapFile.Write("("); - var index = 0; - var signature = pd.DecodeSignature(new SignatureDecoder(), gc); - foreach (var param in signature.ParameterTypes) - { - trapFile.WriteSeparator(",", ref index); - param.WriteId(trapFile, gc); - } - trapFile.Write(")"); - trapFile.Write(";cil-property"); - } - - public override bool Equals(object? obj) - { - return obj is Property property && Equals(handle, property.handle); - } - - public override int GetHashCode() => handle.GetHashCode(); - - public override IEnumerable Contents - { - get - { - yield return Tuples.metadata_handle(this, Context.Assembly, MetadataTokens.GetToken(handle)); - var sig = pd.DecodeSignature(Context.TypeSignatureDecoder, type); - - var name = Context.ShortName(pd.Name); - - var t = sig.ReturnType; - if (t is ModifiedType mt) - { - t = mt.Unmodified; - yield return Tuples.cil_custom_modifiers(this, mt.Modifier, mt.IsRequired); - } - if (t is ByRefType brt) - { - t = brt.ElementType; - yield return Tuples.cil_type_annotation(this, TypeAnnotation.Ref); - } - yield return Tuples.cil_property(this, type, name, t); - - var accessors = pd.GetAccessors(); - if (!accessors.Getter.IsNil) - { - var getter = (Method)Context.CreateGeneric(type, accessors.Getter); - yield return getter; - yield return Tuples.cil_getter(this, getter); - } - - if (!accessors.Setter.IsNil) - { - var setter = (Method)Context.CreateGeneric(type, accessors.Setter); - yield return setter; - yield return Tuples.cil_setter(this, setter); - } - - foreach (var c in Attribute.Populate(Context, this, pd.GetCustomAttributes())) - yield return c; - } - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/SignatureDecoder.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/SignatureDecoder.cs deleted file mode 100644 index 5a767b7575c..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/SignatureDecoder.cs +++ /dev/null @@ -1,289 +0,0 @@ -using System.Collections.Immutable; -using System.Reflection.Metadata; - -namespace Semmle.Extraction.CIL.Entities -{ - public class SignatureDecoder : ISignatureTypeProvider - { - private struct Array : ITypeSignature - { - private readonly ITypeSignature elementType; - private readonly ArrayShape shape; - - public Array(ITypeSignature elementType, ArrayShape shape) : this() - { - this.elementType = elementType; - this.shape = shape; - } - - public void WriteId(EscapingTextWriter trapFile, IGenericContext gc) - { - elementType.WriteId(trapFile, gc); - trapFile.Write('['); - for (var i = 1; i < shape.Rank; ++i) - { - trapFile.Write(','); - } - trapFile.Write(']'); - } - } - - private struct ByRef : ITypeSignature - { - private readonly ITypeSignature elementType; - - public ByRef(ITypeSignature elementType) - { - this.elementType = elementType; - } - - public void WriteId(EscapingTextWriter trapFile, IGenericContext gc) - { - elementType.WriteId(trapFile, gc); - trapFile.Write('&'); - } - } - - private struct FnPtr : ITypeSignature - { - private readonly MethodSignature signature; - - public FnPtr(MethodSignature signature) - { - this.signature = signature; - } - - public void WriteId(EscapingTextWriter trapFile, IGenericContext gc) - { - FunctionPointerType.WriteName( - trapFile.Write, - t => t.WriteId(trapFile, gc), - signature - ); - } - } - - ITypeSignature IConstructedTypeProvider.GetArrayType(ITypeSignature elementType, ArrayShape shape) => - new Array(elementType, shape); - - ITypeSignature IConstructedTypeProvider.GetByReferenceType(ITypeSignature elementType) => - new ByRef(elementType); - - ITypeSignature ISignatureTypeProvider.GetFunctionPointerType(MethodSignature signature) => - new FnPtr(signature); - - private class Instantiation : ITypeSignature - { - private readonly ITypeSignature genericType; - private readonly ImmutableArray typeArguments; - - public Instantiation(ITypeSignature genericType, ImmutableArray typeArguments) - { - this.genericType = genericType; - this.typeArguments = typeArguments; - } - - public void WriteId(EscapingTextWriter trapFile, IGenericContext gc) - { - genericType.WriteId(trapFile, gc); - trapFile.Write('<'); - var index = 0; - foreach (var arg in typeArguments) - { - trapFile.WriteSeparator(",", ref index); - arg.WriteId(trapFile, gc); - } - trapFile.Write('>'); - } - } - - ITypeSignature IConstructedTypeProvider.GetGenericInstantiation(ITypeSignature genericType, ImmutableArray typeArguments) => - new Instantiation(genericType, typeArguments); - - private class GenericMethodParameter : ITypeSignature - { - private readonly object innerGc; - private readonly int index; - - public GenericMethodParameter(object innerGc, int index) - { - this.innerGc = innerGc; - this.index = index; - } - - public void WriteId(EscapingTextWriter trapFile, IGenericContext outerGc) - { - if (!ReferenceEquals(innerGc, outerGc) && innerGc is Method method) - { - trapFile.WriteSubId(method); - } - trapFile.Write("M!"); - trapFile.Write(index); - } - } - - private class GenericTypeParameter : ITypeSignature - { - private readonly int index; - - public GenericTypeParameter(int index) - { - this.index = index; - } - - public void WriteId(EscapingTextWriter trapFile, IGenericContext gc) - { - trapFile.Write("T!"); - trapFile.Write(index); - } - } - - ITypeSignature ISignatureTypeProvider.GetGenericMethodParameter(object genericContext, int index) => - new GenericMethodParameter(genericContext, index); - - ITypeSignature ISignatureTypeProvider.GetGenericTypeParameter(object genericContext, int index) => - new GenericTypeParameter(index); - - private class Modified : ITypeSignature - { - private readonly ITypeSignature unmodifiedType; - private readonly ITypeSignature modifier; - private readonly bool isRequired; - - public Modified(ITypeSignature unmodifiedType, ITypeSignature modifier, bool isRequired) - { - this.unmodifiedType = unmodifiedType; - this.modifier = modifier; - this.isRequired = isRequired; - } - - public void WriteId(EscapingTextWriter trapFile, IGenericContext gc) - { - unmodifiedType.WriteId(trapFile, gc); - trapFile.Write(isRequired ? " modreq(" : " modopt("); - modifier.WriteId(trapFile, gc); - trapFile.Write(")"); - } - } - - ITypeSignature ISignatureTypeProvider.GetModifiedType(ITypeSignature modifier, ITypeSignature unmodifiedType, bool isRequired) - { - return new Modified(unmodifiedType, modifier, isRequired); - } - - ITypeSignature ISignatureTypeProvider.GetPinnedType(ITypeSignature elementType) - { - return elementType; - } - - private class PointerType : ITypeSignature - { - private readonly ITypeSignature elementType; - - public PointerType(ITypeSignature elementType) - { - this.elementType = elementType; - } - - public void WriteId(EscapingTextWriter trapFile, IGenericContext gc) - { - elementType.WriteId(trapFile, gc); - trapFile.Write('*'); - } - } - - ITypeSignature IConstructedTypeProvider.GetPointerType(ITypeSignature elementType) - { - return new PointerType(elementType); - } - - private class Primitive : ITypeSignature - { - private readonly PrimitiveTypeCode typeCode; - - public Primitive(PrimitiveTypeCode typeCode) - { - this.typeCode = typeCode; - } - - public void WriteId(EscapingTextWriter trapFile, IGenericContext gc) - { - trapFile.Write(typeCode.Id()); - } - } - - ITypeSignature ISimpleTypeProvider.GetPrimitiveType(PrimitiveTypeCode typeCode) - { - return new Primitive(typeCode); - } - - private class SzArrayType : ITypeSignature - { - private readonly ITypeSignature elementType; - - public SzArrayType(ITypeSignature elementType) - { - this.elementType = elementType; - } - - public void WriteId(EscapingTextWriter trapFile, IGenericContext gc) - { - elementType.WriteId(trapFile, gc); - trapFile.Write("[]"); - } - } - - ITypeSignature ISZArrayTypeProvider.GetSZArrayType(ITypeSignature elementType) - { - return new SzArrayType(elementType); - } - - private class TypeDefinition : ITypeSignature - { - private readonly TypeDefinitionHandle handle; - - public TypeDefinition(TypeDefinitionHandle handle) - { - this.handle = handle; - } - - public void WriteId(EscapingTextWriter trapFile, IGenericContext gc) - { - var type = (Type)gc.Context.Create(handle); - type.WriteId(trapFile); - } - } - - ITypeSignature ISimpleTypeProvider.GetTypeFromDefinition(MetadataReader reader, TypeDefinitionHandle handle, byte rawTypeKind) - { - return new TypeDefinition(handle); - } - - private class TypeReference : ITypeSignature - { - private readonly TypeReferenceHandle handle; - - public TypeReference(TypeReferenceHandle handle) - { - this.handle = handle; - } - - public void WriteId(EscapingTextWriter trapFile, IGenericContext gc) - { - var type = (Type)gc.Context.Create(handle); - type.WriteId(trapFile); - } - } - - ITypeSignature ISimpleTypeProvider.GetTypeFromReference(MetadataReader reader, TypeReferenceHandle handle, byte rawTypeKind) - { - return new TypeReference(handle); - } - - ITypeSignature ISignatureTypeProvider.GetTypeFromSpecification(MetadataReader reader, object genericContext, TypeSpecificationHandle handle, byte rawTypeKind) - { - var ts = reader.GetTypeSpecification(handle); - return ts.DecodeSignature(this, genericContext); - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/SourceLocation.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/SourceLocation.cs deleted file mode 100644 index 9b7b4d583a1..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/SourceLocation.cs +++ /dev/null @@ -1,47 +0,0 @@ -using System.Collections.Generic; -using Semmle.Extraction.PDB; - -namespace Semmle.Extraction.CIL.Entities -{ - internal sealed class PdbSourceLocation : LabelledEntity, ILocation - { - private readonly Location location; - private readonly PdbSourceFile file; - - public PdbSourceLocation(Context cx, PDB.Location location) : base(cx) - { - this.location = location; - file = cx.CreateSourceFile(location.File); - } - - public override void WriteId(EscapingTextWriter trapFile) - { - file.WriteId(trapFile); - trapFile.Write(','); - trapFile.Write(location.StartLine); - trapFile.Write(','); - trapFile.Write(location.StartColumn); - trapFile.Write(','); - trapFile.Write(location.EndLine); - trapFile.Write(','); - trapFile.Write(location.EndColumn); - trapFile.Write(";sourcelocation"); - } - - public override bool Equals(object? obj) - { - return obj is PdbSourceLocation l && location.Equals(l.location); - } - - public override int GetHashCode() => location.GetHashCode(); - - public override IEnumerable Contents - { - get - { - yield return file; - yield return Tuples.locations_default(this, file, location.StartLine, location.StartColumn, location.EndLine, location.EndColumn); - } - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/Type.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/Type.cs deleted file mode 100644 index 335a6c89c30..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/Type.cs +++ /dev/null @@ -1,209 +0,0 @@ -using System.Collections.Generic; -using System.Diagnostics.CodeAnalysis; -using System.IO; -using System.Linq; -using System.Reflection.Metadata; - -namespace Semmle.Extraction.CIL.Entities -{ - /// - /// A type. - /// - internal abstract class Type : TypeContainer, IMember - { - internal const string AssemblyTypeNameSeparator = "::"; - internal const string PrimitiveTypePrefix = "builtin" + AssemblyTypeNameSeparator + "System."; - - protected Type(Context cx) : base(cx) { } - - /// - /// Find the method in this type matching the name and signature. - /// - /// The handle to the name. - /// - /// The handle to the signature. Note that comparing handles is a valid - /// shortcut to comparing the signature bytes since handles are unique. - /// - /// The method, or 'null' if not found or not supported. - internal virtual Method? LookupMethod(StringHandle methodName, BlobHandle signature) - { - return null; - } - - /// - /// Writes the assembly identifier of this type. - /// - public abstract void WriteAssemblyPrefix(TextWriter trapFile); - - /// - /// Writes the ID part to be used in a method ID. - /// - /// - /// Whether we should output the context prefix of type parameters. - /// (This is to avoid infinite recursion generating a method ID that returns a - /// type parameter.) - /// - public abstract void WriteId(EscapingTextWriter trapFile, bool inContext); - - public sealed override void WriteId(EscapingTextWriter trapFile) - { - WriteId(trapFile, false); - trapFile.Write(";cil-type"); - } - - /// - /// Returns the friendly qualified name of types, such as - /// ``"System.Collection.Generic.List`1"`` or - /// ``"System.Collection.Generic.List"``. - /// - /// Note that method/type generic type parameters never show up in the returned name. - /// - public string GetQualifiedName() - { - using var writer = new EscapingTextWriter(); - WriteId(writer, false); - var name = writer.ToString(); - return name.Substring(name.IndexOf(AssemblyTypeNameSeparator) + 2). - Replace(";namespace", ""). - Replace(";cil-type", ""); - } - - public abstract CilTypeKind Kind { get; } - - public override IEnumerable Contents - { - get - { - yield return Tuples.cil_type(this, Name, Kind, Parent, SourceDeclaration); - } - } - - public abstract string Name { get; } - - public abstract Namespace? ContainingNamespace { get; } - - public abstract Type? ContainingType { get; } - - public virtual TypeContainer Parent => (TypeContainer?)ContainingType ?? ContainingNamespace!; - - public abstract Type Construct(IEnumerable typeArguments); - - /// - /// Returns the type arguments of constructed types. For non-constructed types it returns an - /// empty collection. - /// - public virtual IEnumerable ThisTypeArguments - { - get - { - yield break; - } - } - - /// - /// The number of type parameters for non-constructed generic types, the number of type arguments - /// for constructed types, or 0. - /// - public abstract int ThisTypeParameterCount { get; } - - /// - /// The total number of type parameters/type arguments (including parent types). - /// This is used for internal consistency checking only. - /// - public int TotalTypeParametersCount => - ThisTypeParameterCount + (ContainingType?.TotalTypeParametersCount ?? 0); - - /// - /// Returns all bound/unbound generic arguments of a constructed/unbound generic type. - /// - public virtual IEnumerable ThisGenericArguments - { - get - { - yield break; - } - } - - public virtual IEnumerable GenericArguments - { - get - { - if (ContainingType is not null) - { - foreach (var t in ContainingType.GenericArguments) - yield return t; - } - - foreach (var t in ThisGenericArguments) - yield return t; - } - } - - public virtual Type SourceDeclaration => this; - - public static void WritePrimitiveTypeId(TextWriter trapFile, string name) - { - trapFile.Write(PrimitiveTypePrefix); - trapFile.Write(name); - } - - private static readonly Dictionary primitiveTypeCodeMapping = new Dictionary - { - {"Boolean", PrimitiveTypeCode.Boolean}, - {"Object", PrimitiveTypeCode.Object}, - {"Byte", PrimitiveTypeCode.Byte}, - {"SByte", PrimitiveTypeCode.SByte}, - {"Int16", PrimitiveTypeCode.Int16}, - {"UInt16", PrimitiveTypeCode.UInt16}, - {"Int32", PrimitiveTypeCode.Int32}, - {"UInt32", PrimitiveTypeCode.UInt32}, - {"Int64", PrimitiveTypeCode.Int64}, - {"UInt64", PrimitiveTypeCode.UInt64}, - {"Single", PrimitiveTypeCode.Single}, - {"Double", PrimitiveTypeCode.Double}, - {"String", PrimitiveTypeCode.String}, - {"Void", PrimitiveTypeCode.Void}, - {"IntPtr", PrimitiveTypeCode.IntPtr}, - {"UIntPtr", PrimitiveTypeCode.UIntPtr}, - {"Char", PrimitiveTypeCode.Char}, - {"TypedReference", PrimitiveTypeCode.TypedReference} - }; - - /// - /// Gets the primitive type corresponding to this type, if possible. - /// - /// The resulting primitive type, or null. - /// True if this type is a primitive type. - public bool TryGetPrimitiveType([NotNullWhen(true)] out PrimitiveType? t) - { - if (TryGetPrimitiveTypeCode(out var code)) - { - t = Context.Create(code); - return true; - } - - t = null; - return false; - } - - private bool TryGetPrimitiveTypeCode(out PrimitiveTypeCode code) - { - if (ContainingType is null && - ContainingNamespace?.Name == Context.SystemNamespace.Name && - primitiveTypeCodeMapping.TryGetValue(Name, out code)) - { - return true; - } - - code = default; - return false; - } - - protected internal bool IsPrimitiveType => TryGetPrimitiveTypeCode(out _); - - public sealed override IEnumerable MethodParameters => Enumerable.Empty(); - - public static Type DecodeType(IGenericContext gc, TypeSpecificationHandle handle) => - gc.Context.MdReader.GetTypeSpecification(handle).DecodeSignature(gc.Context.TypeSignatureDecoder, gc); - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/TypeAnnotation.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/TypeAnnotation.cs deleted file mode 100644 index fe005326b95..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/TypeAnnotation.cs +++ /dev/null @@ -1,11 +0,0 @@ -using System; - -namespace Semmle.Extraction.CIL.Entities -{ - [Flags] - public enum TypeAnnotation - { - None = 0, - Ref = 32 - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/TypeContainer.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/TypeContainer.cs deleted file mode 100644 index 463f2c963a3..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/TypeContainer.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.Collections.Generic; - -namespace Semmle.Extraction.CIL.Entities -{ - /// - /// Base class for all type containers (namespaces, types, methods). - /// - internal abstract class TypeContainer : LabelledEntity, IGenericContext - { - protected TypeContainer(Context cx) : base(cx) - { - } - - public abstract IEnumerable MethodParameters { get; } - public abstract IEnumerable TypeParameters { get; } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/TypeDefinitionType.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/TypeDefinitionType.cs deleted file mode 100644 index f9cec6a4133..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/TypeDefinitionType.cs +++ /dev/null @@ -1,263 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Reflection; -using System.Reflection.Metadata; -using System.Reflection.Metadata.Ecma335; - -namespace Semmle.Extraction.CIL.Entities -{ - /// - /// A type defined in the current assembly. - /// - internal sealed class TypeDefinitionType : Type - { - private readonly TypeDefinitionHandle handle; - private readonly TypeDefinition td; - private readonly Lazy> typeParams; - private readonly Type? declType; - private readonly NamedTypeIdWriter idWriter; - - public TypeDefinitionType(Context cx, TypeDefinitionHandle handle) : base(cx) - { - idWriter = new NamedTypeIdWriter(this); - td = cx.MdReader.GetTypeDefinition(handle); - this.handle = handle; - - declType = - td.GetDeclaringType().IsNil ? null : - (Type)cx.Create(td.GetDeclaringType()); - - // Lazy because should happen during population. - typeParams = new Lazy>(MakeTypeParameters); - } - - public override bool Equals(object? obj) - { - return obj is TypeDefinitionType t && handle.Equals(t.handle); - } - - public override int GetHashCode() => handle.GetHashCode(); - - public override void WriteId(EscapingTextWriter trapFile, bool inContext) - { - idWriter.WriteId(trapFile, inContext); - } - - public override string Name => GenericsHelper.GetNonGenericName(td.Name, Context.MdReader); - - public override Namespace ContainingNamespace => Context.Create(td.NamespaceDefinition); - - public override Type? ContainingType => declType; - - public override CilTypeKind Kind => CilTypeKind.ValueOrRefType; - - public override Type Construct(IEnumerable typeArguments) - { - if (TotalTypeParametersCount != typeArguments.Count()) - throw new InternalError("Mismatched type arguments"); - - return Context.Populate(new ConstructedType(Context, this, typeArguments)); - } - - public override void WriteAssemblyPrefix(TextWriter trapFile) - { - var ct = ContainingType; - if (ct is null) - Context.WriteAssemblyPrefix(trapFile); - else if (IsPrimitiveType) - trapFile.Write(Type.PrimitiveTypePrefix); - else - ct.WriteAssemblyPrefix(trapFile); - } - - private IEnumerable MakeTypeParameters() - { - if (ThisTypeParameterCount == 0) - return Enumerable.Empty(); - - var newTypeParams = new TypeTypeParameter[ThisTypeParameterCount]; - var genericParams = td.GetGenericParameters(); - var toSkip = genericParams.Count - newTypeParams.Length; - - // Two-phase population because type parameters can be mutually dependent - for (var i = 0; i < newTypeParams.Length; ++i) - newTypeParams[i] = Context.Populate(new TypeTypeParameter(this, i)); - for (var i = 0; i < newTypeParams.Length; ++i) - newTypeParams[i].PopulateHandle(genericParams[i + toSkip]); - return newTypeParams; - } - - public override int ThisTypeParameterCount - { - get - { - var containingType = td.GetDeclaringType(); - var parentTypeParameters = containingType.IsNil - ? 0 - : Context.MdReader.GetTypeDefinition(containingType).GetGenericParameters().Count; - - return td.GetGenericParameters().Count - parentTypeParameters; - } - } - - public override IEnumerable TypeParameters => GenericsHelper.GetAllTypeParameters(declType, typeParams!.Value); - - public override IEnumerable ThisGenericArguments => typeParams.Value; - - public override IEnumerable Contents - { - get - { - yield return Tuples.metadata_handle(this, Context.Assembly, MetadataTokens.GetToken(handle)); - - foreach (var c in base.Contents) yield return c; - - MakeTypeParameters(); - - foreach (var f in td.GetFields()) - { - // Populate field if needed - yield return Context.CreateGeneric(this, f); - } - - foreach (var prop in td.GetProperties()) - { - yield return new Property(this, this, prop); - } - - foreach (var @event in td.GetEvents()) - { - yield return new Event(Context, this, @event); - } - - foreach (var a in Attribute.Populate(Context, this, td.GetCustomAttributes())) - yield return a; - - foreach (var impl in td.GetMethodImplementations().Select(i => Context.MdReader.GetMethodImplementation(i))) - { - var m = (Method)Context.CreateGeneric(this, impl.MethodBody); - var decl = (Method)Context.CreateGeneric(this, impl.MethodDeclaration); - - yield return m; - yield return decl; - yield return Tuples.cil_implements(m, decl); - } - - if (td.Attributes.HasFlag(TypeAttributes.Abstract)) - yield return Tuples.cil_abstract(this); - - if (td.Attributes.HasFlag(TypeAttributes.Interface)) - yield return Tuples.cil_interface(this); - else - yield return Tuples.cil_class(this); - - if (td.Attributes.HasFlag(TypeAttributes.Public)) - yield return Tuples.cil_public(this); - - if (td.Attributes.HasFlag(TypeAttributes.Sealed)) - yield return Tuples.cil_sealed(this); - - if (td.Attributes.HasFlag(TypeAttributes.HasSecurity)) - yield return Tuples.cil_security(this); - - // Base types - - if (!td.BaseType.IsNil) - { - var @base = (Type)Context.CreateGeneric(this, td.BaseType); - yield return @base; - yield return Tuples.cil_base_class(this, @base); - - if (IsSystemEnum(td.BaseType) && - GetUnderlyingEnumType() is var underlying && - underlying.HasValue) - { - var underlyingType = Context.Create(underlying.Value); - yield return underlyingType; - yield return Tuples.cil_enum_underlying_type(this, underlyingType); - } - } - - foreach (var @interface in td.GetInterfaceImplementations().Select(i => Context.MdReader.GetInterfaceImplementation(i))) - { - var t = (Type)Context.CreateGeneric(this, @interface.Interface); - yield return t; - yield return Tuples.cil_base_interface(this, t); - } - - // Only type definitions have locations. - yield return Tuples.cil_type_location(this, Context.Assembly); - } - } - - private bool IsSystemEnum(EntityHandle baseType) - { - return baseType.Kind switch - { - HandleKind.TypeReference => IsSystemEnum((TypeReferenceHandle)baseType), - HandleKind.TypeDefinition => IsSystemEnum((TypeDefinitionHandle)baseType), - _ => false, - }; - } - - private bool IsSystemEnum(TypeReferenceHandle baseType) - { - var baseTypeReference = Context.MdReader.GetTypeReference(baseType); - - return IsSystemEnum(baseTypeReference.Name, baseTypeReference.Namespace); - } - - private bool IsSystemEnum(TypeDefinitionHandle baseType) - { - var baseTypeDefinition = Context.MdReader.GetTypeDefinition(baseType); - - return IsSystemEnum(baseTypeDefinition.Name, baseTypeDefinition.Namespace); - } - - private bool IsSystemEnum(StringHandle typeName, StringHandle namespaceName) - { - return Context.MdReader.StringComparer.Equals(typeName, "Enum") && - !namespaceName.IsNil && - Context.MdReader.StringComparer.Equals(namespaceName, "System"); - } - - internal PrimitiveTypeCode? GetUnderlyingEnumType() - { - foreach (var handle in td.GetFields()) - { - var field = Context.MdReader.GetFieldDefinition(handle); - if (field.Attributes.HasFlag(FieldAttributes.Static)) - { - continue; - } - - var blob = Context.MdReader.GetBlobReader(field.Signature); - if (blob.ReadSignatureHeader().Kind != SignatureKind.Field) - { - break; - } - - return (PrimitiveTypeCode)blob.ReadByte(); - } - - return null; - } - - internal override Method LookupMethod(StringHandle name, BlobHandle signature) - { - foreach (var h in td.GetMethods()) - { - var md = Context.MdReader.GetMethodDefinition(h); - - if (md.Name == name && md.Signature == signature) - { - return (Method)Context.Create(h); - } - } - - throw new InternalError("Couldn't locate method in type"); - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/TypeParameter.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/TypeParameter.cs deleted file mode 100644 index 5db8b7fb6a3..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/TypeParameter.cs +++ /dev/null @@ -1,57 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Reflection; -using System.Reflection.Metadata; - -namespace Semmle.Extraction.CIL.Entities -{ - internal abstract class TypeParameter : Type - { - protected readonly IGenericContext gc; - - protected TypeParameter(IGenericContext gc) : base(gc.Context) - { - this.gc = gc; - } - - public override Namespace? ContainingNamespace => null; - - public override Type? ContainingType => null; - - public override int ThisTypeParameterCount => 0; - - public override CilTypeKind Kind => CilTypeKind.TypeParameter; - - public override void WriteAssemblyPrefix(TextWriter trapFile) => throw new NotImplementedException(); - - public override Type Construct(IEnumerable typeArguments) => throw new InternalError("Attempt to construct a type parameter"); - - public IEnumerable PopulateHandle(GenericParameterHandle parameterHandle) - { - if (!parameterHandle.IsNil) - { - var tp = Context.MdReader.GetGenericParameter(parameterHandle); - - if (tp.Attributes.HasFlag(GenericParameterAttributes.Contravariant)) - yield return Tuples.cil_typeparam_contravariant(this); - if (tp.Attributes.HasFlag(GenericParameterAttributes.Covariant)) - yield return Tuples.cil_typeparam_covariant(this); - if (tp.Attributes.HasFlag(GenericParameterAttributes.DefaultConstructorConstraint)) - yield return Tuples.cil_typeparam_new(this); - if (tp.Attributes.HasFlag(GenericParameterAttributes.ReferenceTypeConstraint)) - yield return Tuples.cil_typeparam_class(this); - if (tp.Attributes.HasFlag(GenericParameterAttributes.NotNullableValueTypeConstraint)) - yield return Tuples.cil_typeparam_struct(this); - - foreach (var constraint in tp.GetConstraints().Select(h => Context.MdReader.GetGenericParameterConstraint(h))) - { - var t = (Type)Context.CreateGeneric(this.gc, constraint.Type); - yield return t; - yield return Tuples.cil_typeparam_constraint(this, t); - } - } - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/TypeReferenceType.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/TypeReferenceType.cs deleted file mode 100644 index f1c10fe836e..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/TypeReferenceType.cs +++ /dev/null @@ -1,104 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Reflection.Metadata; - -namespace Semmle.Extraction.CIL.Entities -{ - /// - /// A type reference, to a type in a referenced assembly. - /// - internal sealed class TypeReferenceType : Type - { - private readonly TypeReferenceHandle handle; - private readonly TypeReference tr; - private readonly Lazy typeParams; - private readonly NamedTypeIdWriter idWriter; - - public TypeReferenceType(Context cx, TypeReferenceHandle handle) : base(cx) - { - this.idWriter = new NamedTypeIdWriter(this); - this.handle = handle; - this.tr = cx.MdReader.GetTypeReference(handle); - this.typeParams = new Lazy(GenericsHelper.MakeTypeParameters(this, ThisTypeParameterCount)); - } - - public override bool Equals(object? obj) - { - return obj is TypeReferenceType t && handle.Equals(t.handle); - } - - public override int GetHashCode() - { - return handle.GetHashCode(); - } - - public override IEnumerable Contents - { - get - { - foreach (var tp in typeParams.Value) - yield return tp; - - foreach (var c in base.Contents) - yield return c; - } - } - - public override string Name => GenericsHelper.GetNonGenericName(tr.Name, Context.MdReader); - - public override Namespace ContainingNamespace => Context.CreateNamespace(tr.Namespace); - - public override Type? ContainingType - { - get - { - return tr.ResolutionScope.Kind == HandleKind.TypeReference - ? (Type)Context.Create((TypeReferenceHandle)tr.ResolutionScope) - : null; - } - } - - public override CilTypeKind Kind => CilTypeKind.ValueOrRefType; - - public override void WriteAssemblyPrefix(TextWriter trapFile) - { - switch (tr.ResolutionScope.Kind) - { - case HandleKind.TypeReference: - ContainingType!.WriteAssemblyPrefix(trapFile); - break; - case HandleKind.AssemblyReference: - var assemblyDef = Context.MdReader.GetAssemblyReference((AssemblyReferenceHandle)tr.ResolutionScope); - trapFile.Write(Context.GetString(assemblyDef.Name)); - trapFile.Write('_'); - trapFile.Write(assemblyDef.Version.ToString()); - trapFile.Write(Entities.Type.AssemblyTypeNameSeparator); - break; - default: - Context.WriteAssemblyPrefix(trapFile); - break; - } - } - - public override int ThisTypeParameterCount => GenericsHelper.GetGenericTypeParameterCount(tr.Name, Context.MdReader); - - public override IEnumerable TypeParameters => GenericsHelper.GetAllTypeParameters(ContainingType, typeParams!.Value); - - public override IEnumerable ThisGenericArguments => typeParams.Value; - - public override void WriteId(EscapingTextWriter trapFile, bool inContext) - { - idWriter.WriteId(trapFile, inContext); - } - - public override Type Construct(IEnumerable typeArguments) - { - if (TotalTypeParametersCount != typeArguments.Count()) - throw new InternalError("Mismatched type arguments"); - - return Context.Populate(new ConstructedType(Context, this, typeArguments)); - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/TypeSignatureDecoder.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/TypeSignatureDecoder.cs deleted file mode 100644 index bcd34c76e41..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/TypeSignatureDecoder.cs +++ /dev/null @@ -1,60 +0,0 @@ -using System; -using System.Collections.Immutable; -using System.Linq; -using System.Reflection.Metadata; - -namespace Semmle.Extraction.CIL.Entities -{ - /// - /// Decodes a type signature and produces a Type, for use by DecodeSignature() and friends. - /// - internal class TypeSignatureDecoder : ISignatureTypeProvider - { - private readonly Context cx; - - public TypeSignatureDecoder(Context cx) - { - this.cx = cx; - } - - Type IConstructedTypeProvider.GetArrayType(Type elementType, ArrayShape shape) => - cx.Populate(new ArrayType(cx, elementType, shape.Rank)); - - Type IConstructedTypeProvider.GetByReferenceType(Type elementType) => - new ByRefType(cx, elementType); - - Type ISignatureTypeProvider.GetFunctionPointerType(MethodSignature signature) => - cx.Populate(new FunctionPointerType(cx, signature)); - - Type IConstructedTypeProvider.GetGenericInstantiation(Type genericType, ImmutableArray typeArguments) => - genericType.Construct(typeArguments); - - Type ISignatureTypeProvider.GetGenericMethodParameter(IGenericContext genericContext, int index) => - genericContext.MethodParameters.ElementAt(index); - - Type ISignatureTypeProvider.GetGenericTypeParameter(IGenericContext genericContext, int index) => - genericContext.TypeParameters.ElementAt(index); - - Type ISignatureTypeProvider.GetModifiedType(Type modifier, Type unmodifiedType, bool isRequired) => - new ModifiedType(cx, unmodifiedType, modifier, isRequired); - - Type ISignatureTypeProvider.GetPinnedType(Type elementType) => elementType; - - Type IConstructedTypeProvider.GetPointerType(Type elementType) => - cx.Populate(new PointerType(cx, elementType)); - - Type ISimpleTypeProvider.GetPrimitiveType(PrimitiveTypeCode typeCode) => cx.Create(typeCode); - - Type ISZArrayTypeProvider.GetSZArrayType(Type elementType) => - cx.Populate(new ArrayType(cx, elementType)); - - Type ISimpleTypeProvider.GetTypeFromDefinition(MetadataReader reader, TypeDefinitionHandle handle, byte rawTypeKind) => - (Type)cx.Create(handle); - - Type ISimpleTypeProvider.GetTypeFromReference(MetadataReader reader, TypeReferenceHandle handle, byte rawTypeKind) => - (Type)cx.Create(handle); - - Type ISignatureTypeProvider.GetTypeFromSpecification(MetadataReader reader, IGenericContext genericContext, TypeSpecificationHandle handle, byte rawTypeKind) => - throw new NotImplementedException(); - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/TypeTypeParameter.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/TypeTypeParameter.cs deleted file mode 100644 index ba4ec79fb78..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Entities/TypeTypeParameter.cs +++ /dev/null @@ -1,48 +0,0 @@ -using System.Collections.Generic; -using System.Linq; - -namespace Semmle.Extraction.CIL.Entities -{ - internal sealed class TypeTypeParameter : TypeParameter - { - private readonly Type type; - private readonly int index; - - public TypeTypeParameter(Type t, int i) : base(t) - { - index = i; - type = t; - } - - public override bool Equals(object? obj) - { - return obj is TypeTypeParameter tp && type.Equals(tp.type) && index == tp.index; - } - - public override int GetHashCode() - { - return type.GetHashCode() * 13 + index; - } - - public override void WriteId(EscapingTextWriter trapFile, bool inContext) - { - type.WriteId(trapFile, inContext); - trapFile.Write('!'); - trapFile.Write(index); - } - - public override TypeContainer Parent => type; - public override string Name => "!" + index; - - public override IEnumerable TypeParameters => Enumerable.Empty(); - - public override IEnumerable Contents - { - get - { - yield return Tuples.cil_type(this, Name, Kind, type, SourceDeclaration); - yield return Tuples.cil_type_parameter(type, index, this); - } - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/ICustomModifierReceiver.cs b/csharp/extractor/Semmle.Extraction.CIL/ICustomModifierReceiver.cs deleted file mode 100644 index 24d2c057b2e..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/ICustomModifierReceiver.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace Semmle.Extraction.CIL -{ - internal interface ICustomModifierReceiver - { - } -} \ No newline at end of file diff --git a/csharp/extractor/Semmle.Extraction.CIL/Id.cs b/csharp/extractor/Semmle.Extraction.CIL/Id.cs deleted file mode 100644 index 8d9a78f76d3..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Id.cs +++ /dev/null @@ -1,33 +0,0 @@ -using System.Reflection.Metadata; - -namespace Semmle.Extraction.CIL -{ - public static class IdUtils - { - public static string Id(this PrimitiveTypeCode typeCode) - { - switch (typeCode) - { - case PrimitiveTypeCode.Boolean: return "Boolean"; - case PrimitiveTypeCode.Byte: return "Byte"; - case PrimitiveTypeCode.Char: return "Char"; - case PrimitiveTypeCode.Double: return "Double"; - case PrimitiveTypeCode.Int16: return "Int16"; - case PrimitiveTypeCode.Int32: return "Int32"; - case PrimitiveTypeCode.Int64: return "Int64"; - case PrimitiveTypeCode.IntPtr: return "IntPtr"; - case PrimitiveTypeCode.Object: return "Object"; - case PrimitiveTypeCode.SByte: return "SByte"; - case PrimitiveTypeCode.Single: return "Single"; - case PrimitiveTypeCode.String: return "String"; - case PrimitiveTypeCode.UInt16: return "UInt16"; - case PrimitiveTypeCode.UInt32: return "UInt32"; - case PrimitiveTypeCode.UInt64: return "UInt64"; - case PrimitiveTypeCode.UIntPtr: return "UIntPtr"; - case PrimitiveTypeCode.Void: return "Void"; - case PrimitiveTypeCode.TypedReference: return "TypedReference"; - default: throw new InternalError($"Unhandled type code {typeCode}"); - } - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/PDB/IPdb.cs b/csharp/extractor/Semmle.Extraction.CIL/PDB/IPdb.cs deleted file mode 100644 index 46c11440dc5..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/PDB/IPdb.cs +++ /dev/null @@ -1,26 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Reflection.Metadata; - -namespace Semmle.Extraction.PDB -{ - /// - /// Wrapper for reading PDB files. - /// This is needed because there are different libraries for dealing with - /// different types of PDB file, even though they share the same file extension. - /// - public interface IPdb : IDisposable - { - /// - /// Gets all source files in this PDB. - /// - IEnumerable SourceFiles { get; } - - /// - /// Look up a method from a given handle. - /// - /// The handle to query. - /// The method information, or null if the method does not have debug information. - Method? GetMethod(MethodDebugInformationHandle methodHandle); - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/PDB/ISourceFile.cs b/csharp/extractor/Semmle.Extraction.CIL/PDB/ISourceFile.cs deleted file mode 100644 index 48e1de708f2..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/PDB/ISourceFile.cs +++ /dev/null @@ -1,20 +0,0 @@ -namespace Semmle.Extraction.PDB -{ - /// - /// A source file reference in a PDB file. - /// - public interface ISourceFile - { - string Path { get; } - - /// - /// The contents of the file. - /// This property is needed in case the contents - /// of the file are embedded in the PDB instead of being on the filesystem. - /// - /// null if the contents are unavailable. - /// E.g. if the PDB file exists but the corresponding source files are missing. - /// - string? Contents { get; } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/PDB/Location.cs b/csharp/extractor/Semmle.Extraction.CIL/PDB/Location.cs deleted file mode 100644 index ccf95f8e7d9..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/PDB/Location.cs +++ /dev/null @@ -1,63 +0,0 @@ -namespace Semmle.Extraction.PDB -{ - /// - /// A location in source code. - /// - public sealed class Location - { - /// - /// The file containing the code. - /// - public ISourceFile File { get; } - - /// - /// The start line of text within the source file. - /// - public int StartLine { get; } - - /// - /// The start column of text within the source file. - /// - public int StartColumn { get; } - - /// - /// The end line of text within the source file. - /// - public int EndLine { get; } - - /// - /// The end column of text within the source file. - /// - public int EndColumn { get; } - - public override string ToString() - { - return string.Format("({0},{1})-({2},{3})", StartLine, StartColumn, EndLine, EndColumn); - } - - public override bool Equals(object? obj) - { - return obj is Location otherLocation && - File.Equals(otherLocation.File) && - StartLine == otherLocation.StartLine && - StartColumn == otherLocation.StartColumn && - EndLine == otherLocation.EndLine && - EndColumn == otherLocation.EndColumn; - } - - public override int GetHashCode() - { - var h1 = StartLine + 37 * (StartColumn + 51 * (EndLine + 97 * EndColumn)); - return File.GetHashCode() + 17 * h1; - } - - public Location(ISourceFile file, int startLine, int startCol, int endLine, int endCol) - { - File = file; - StartLine = startLine; - StartColumn = startCol; - EndLine = endLine; - EndColumn = endCol; - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/PDB/MdProvider.cs b/csharp/extractor/Semmle.Extraction.CIL/PDB/MdProvider.cs deleted file mode 100644 index 90b953ac0e7..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/PDB/MdProvider.cs +++ /dev/null @@ -1,37 +0,0 @@ -using System; -using System.Reflection; -using Microsoft.DiaSymReader; - -#pragma warning disable IDE0060, CA1822 - -namespace Semmle.Extraction.PDB -{ - /// - /// This is not used but is seemingly needed in order to use DiaSymReader. - /// - internal class MdProvider : ISymReaderMetadataProvider - { - public MdProvider() - { - } - - public object? GetMetadataImport() => null; - - public unsafe bool TryGetStandaloneSignature(int standaloneSignatureToken, out byte* signature, out int length) => - throw new NotImplementedException(); - - public bool TryGetTypeDefinitionInfo(int typeDefinitionToken, out string namespaceName, out string typeName, out TypeAttributes attributes, out int baseTypeToken) => - throw new NotImplementedException(); - - public bool TryGetTypeDefinitionInfo(int typeDefinitionToken, out string namespaceName, out string typeName, out TypeAttributes attributes) => - throw new NotImplementedException(); - - public bool TryGetTypeReferenceInfo(int typeReferenceToken, out string namespaceName, out string typeName, out int resolutionScopeToken) => - throw new NotImplementedException(); - - public bool TryGetTypeReferenceInfo(int typeReferenceToken, out string namespaceName, out string typeName) => - throw new NotImplementedException(); - } -} - -#pragma warning restore diff --git a/csharp/extractor/Semmle.Extraction.CIL/PDB/MetadataPdbReader.cs b/csharp/extractor/Semmle.Extraction.CIL/PDB/MetadataPdbReader.cs deleted file mode 100644 index fa7a1d0e8ca..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/PDB/MetadataPdbReader.cs +++ /dev/null @@ -1,99 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Reflection.Metadata; -using System.Reflection.PortableExecutable; - -namespace Semmle.Extraction.PDB -{ - /// - /// A reader of PDB information using System.Reflection.Metadata. - /// This is cross platform, and the future of PDB. - /// - /// PDB information can be in a separate PDB file, or embedded in the DLL. - /// - internal sealed class MetadataPdbReader : IPdb - { - private class SourceFile : ISourceFile - { - public SourceFile(MetadataReader reader, DocumentHandle handle) - { - var doc = reader.GetDocument(handle); - Path = reader.GetString(doc.Name); - } - - public string Path { get; private set; } - - public string? Contents => File.Exists(Path) ? File.ReadAllText(Path, System.Text.Encoding.Default) : null; - } - - // Turns out to be very important to keep the MetadataReaderProvider live - // or the reader will crash. - private readonly MetadataReaderProvider provider; - private readonly MetadataReader reader; - - public MetadataPdbReader(MetadataReaderProvider provider) - { - this.provider = provider; - reader = provider.GetMetadataReader(); - } - - public IEnumerable SourceFiles => reader.Documents.Select(handle => new SourceFile(reader, handle)); - - public Method? GetMethod(MethodDebugInformationHandle handle) - { - var debugInfo = reader.GetMethodDebugInformation(handle); - - var sequencePoints = debugInfo.GetSequencePoints() - .Where(p => !p.Document.IsNil && !p.IsHidden) - .Select(p => new SequencePoint(p.Offset, new Location( - new SourceFile(reader, p.Document), p.StartLine, p.StartColumn, p.EndLine, p.EndColumn))) - .Where(p => p.Location.File.Path is not null) - .ToArray(); - - return sequencePoints.Any() ? new Method(sequencePoints) : null; - } - - public static MetadataPdbReader? CreateFromAssembly(string assemblyPath, PEReader peReader) - { - var provider = peReader - .ReadDebugDirectory() - .Where(d => d.Type == DebugDirectoryEntryType.EmbeddedPortablePdb) - .Select(dirEntry => peReader.ReadEmbeddedPortablePdbDebugDirectoryData(dirEntry)) - .FirstOrDefault(); - - if (provider is not null) - { - return new MetadataPdbReader(provider); - } - - try - { - if (peReader.TryOpenAssociatedPortablePdb( - assemblyPath, - s => new FileStream(s, FileMode.Open, FileAccess.Read, FileShare.Read), - out provider, - out _)) - { - return new MetadataPdbReader(provider!); - } - } - - catch (BadImageFormatException) - { - // Something is wrong with the file. - } - catch (FileNotFoundException) - { - // The PDB file was not found. - } - return null; - } - - public void Dispose() - { - provider.Dispose(); - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/PDB/Method.cs b/csharp/extractor/Semmle.Extraction.CIL/PDB/Method.cs deleted file mode 100644 index 6a534a4dd20..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/PDB/Method.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.Collections.Generic; -using System.Linq; - -namespace Semmle.Extraction.PDB -{ - public class Method - { - public IEnumerable SequencePoints { get; } - - public Method(IEnumerable sequencePoints) - { - SequencePoints = sequencePoints; - } - - public Location Location => SequencePoints.First().Location; - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/PDB/NativePdbReader.cs b/csharp/extractor/Semmle.Extraction.CIL/PDB/NativePdbReader.cs deleted file mode 100644 index c6db472411e..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/PDB/NativePdbReader.cs +++ /dev/null @@ -1,116 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Reflection.Metadata; -using System.Reflection.Metadata.Ecma335; -using System.Reflection.PortableExecutable; -using Microsoft.DiaSymReader; - -namespace Semmle.Extraction.PDB -{ - /// - /// A PDB reader using Microsoft.DiaSymReader.Native. - /// This is an unmanaged Windows DLL, which therefore only works on Windows. - /// - internal sealed class NativePdbReader : IPdb - { - private sealed class Document : ISourceFile - { - private readonly ISymUnmanagedDocument document; - - public Document(ISymUnmanagedDocument doc) - { - document = doc; - contents = new Lazy(() => - { - if (document.HasEmbeddedSource(out var isEmbedded) == 0 && isEmbedded) - { - var rawContents = document.GetEmbeddedSource().ToArray(); - return System.Text.Encoding.Default.GetString(rawContents); - } - - return File.Exists(Path) - ? File.ReadAllText(Path) - : null; - - }); - } - - public override bool Equals(object? obj) - { - return obj is Document otherDoc && Path.Equals(otherDoc.Path); - } - - public override int GetHashCode() => Path.GetHashCode(); - - public string Path => document.GetName(); - - public override string ToString() => Path; - - private readonly Lazy contents; - - public string? Contents => contents.Value; - } - - public IEnumerable SourceFiles => reader.GetDocuments().Select(d => new Document(d)); - - public Method? GetMethod(MethodDebugInformationHandle h) - { - var methodToken = MetadataTokens.GetToken(h.ToDefinitionHandle()); - var method = reader.GetMethod(methodToken); - if (method is not null) - { - if (method.GetSequencePointCount(out var count) != 0 || count == 0) - return null; - - var s = method.GetSequencePoints() - .Where(sp => !sp.IsHidden) - .Select(sp => new SequencePoint(sp.Offset, new Location( - new Document(sp.Document), sp.StartLine, sp.StartColumn, sp.EndLine, sp.EndColumn))) - .ToArray(); - - return s.Any() ? new Method(s) : null; - } - return null; - } - - private NativePdbReader(string path) - { - pdbStream = new FileStream(path, FileMode.Open); - var metadataProvider = new MdProvider(); - reader = SymUnmanagedReaderFactory.CreateReader(pdbStream, metadataProvider); - } - - private readonly ISymUnmanagedReader5 reader; - private readonly FileStream pdbStream; - - public static NativePdbReader? CreateFromAssembly(PEReader peReader) - { - // The Native PDB reader uses an unmanaged Windows DLL - // so only works on Windows. - if (!Semmle.Util.Win32.IsWindows()) - return null; - - var debugDirectory = peReader.ReadDebugDirectory(); - - var path = debugDirectory - .Where(d => d.Type == DebugDirectoryEntryType.CodeView) - .Select(peReader.ReadCodeViewDebugDirectoryData) - .Select(cv => cv.Path) - .FirstOrDefault(File.Exists); - - if (path is not null) - { - return new NativePdbReader(path); - } - - return null; - } - - public void Dispose() - { - pdbStream.Dispose(); - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/PDB/PdbReader.cs b/csharp/extractor/Semmle.Extraction.CIL/PDB/PdbReader.cs deleted file mode 100644 index 1f0f1b455dc..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/PDB/PdbReader.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System.Reflection.PortableExecutable; - -namespace Semmle.Extraction.PDB -{ - internal static class PdbReader - { - /// - /// Returns the PDB information associated with an assembly. - /// - /// The path to the assembly. - /// The PE reader for the assembly. - /// A PdbReader, or null if no PDB information is available. - public static IPdb? Create(string assemblyPath, PEReader peReader) - { - return (IPdb?)MetadataPdbReader.CreateFromAssembly(assemblyPath, peReader) ?? - NativePdbReader.CreateFromAssembly(peReader); - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/PDB/SequencePoint.cs b/csharp/extractor/Semmle.Extraction.CIL/PDB/SequencePoint.cs deleted file mode 100644 index 2cea6e54768..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/PDB/SequencePoint.cs +++ /dev/null @@ -1,30 +0,0 @@ -namespace Semmle.Extraction.PDB -{ - /// - /// A sequencepoint is a marker in the source code where you can put a breakpoint, and - /// maps instructions to source code. - /// - public struct SequencePoint - { - /// - /// The byte-offset of the instruction. - /// - public int Offset { get; } - - /// - /// The source location of the instruction. - /// - public Location Location { get; } - - public override string ToString() - { - return string.Format("{0} = {1}", Offset, Location); - } - - public SequencePoint(int offset, Location location) - { - Offset = offset; - Location = location; - } - } -} diff --git a/csharp/extractor/Semmle.Extraction.CIL/Properties/AssemblyInfo.cs b/csharp/extractor/Semmle.Extraction.CIL/Properties/AssemblyInfo.cs deleted file mode 100644 index 110feb8de0d..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,35 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("Semmle.Extraction.CIL")] -[assembly: AssemblyDescription("Semme CIL extractor.")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("Semmle.Extraction.CIL")] -[assembly: AssemblyCopyright("Copyright © Semmle 2017")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("a23d9ec2-8aae-43da-97cb-579f640b89cd")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/csharp/extractor/Semmle.Extraction.CIL/Semmle.Extraction.CIL.csproj b/csharp/extractor/Semmle.Extraction.CIL/Semmle.Extraction.CIL.csproj deleted file mode 100644 index a952ea2d3dd..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Semmle.Extraction.CIL.csproj +++ /dev/null @@ -1,34 +0,0 @@ - - - - net8.0 - Semmle.Extraction.CIL - Semmle.Extraction.CIL - false - true - win-x64;linux-x64;osx-x64 - enable - - - - DEBUG;DEBUG_LABELS - - - - - - - - - - - - - - - runtime; build; native; contentfiles; analyzers; buildtransitive -all - - - - diff --git a/csharp/extractor/Semmle.Extraction.CIL/Tuples.cs b/csharp/extractor/Semmle.Extraction.CIL/Tuples.cs deleted file mode 100644 index 44519f45468..00000000000 --- a/csharp/extractor/Semmle.Extraction.CIL/Tuples.cs +++ /dev/null @@ -1,227 +0,0 @@ -using Semmle.Extraction.CIL.Entities; - -namespace Semmle.Extraction.CIL -{ - - internal static class Tuples - { - internal static Tuple assemblies(Assembly assembly, File file, string identifier, string name, string version) => - new Tuple("assemblies", assembly, file, identifier, name, version); - - internal static Tuple cil_abstract(IMember method) => - new Tuple("cil_abstract", method); - - internal static Tuple cil_adder(Event member, Method method) => - new Tuple("cil_adder", member, method); - - internal static Tuple cil_access(Instruction i, IExtractedEntity m) => - new Tuple("cil_access", i, m); - - internal static Tuple cil_attribute(Attribute attribute, IExtractedEntity @object, Method constructor) => - new Tuple("cil_attribute", attribute, @object, constructor); - - internal static Tuple cil_attribute_named_argument(Attribute attribute, string name, string value) => - new Tuple("cil_attribute_named_argument", attribute, name, value); - - internal static Tuple cil_attribute_positional_argument(Attribute attribute, int index, string value) => - new Tuple("cil_attribute_positional_argument", attribute, index, value); - - internal static Tuple cil_array_type(ArrayType array, Type element, int rank) => - new Tuple("cil_array_type", array, element, rank); - - internal static Tuple cil_base_class(Type t, Type @base) => - new Tuple("cil_base_class", t, @base); - - internal static Tuple cil_enum_underlying_type(Type t, PrimitiveType underlying) => - new Tuple("cil_enum_underlying_type", t, underlying); - - internal static Tuple cil_base_interface(Type t, Type @base) => - new Tuple("cil_base_interface", t, @base); - - internal static Tuple cil_class(TypeDefinitionType type) => - new Tuple("cil_class", type); - - internal static Tuple cil_event(Event e, Type parent, string name, Type type) => - new Tuple("cil_event", e, parent, name, type); - - internal static Tuple cil_field(Field field, Type parent, string name, Type fieldType) => - new Tuple("cil_field", field, parent, name, fieldType); - - internal static Tuple cil_getter(Property member, Method method) => - new Tuple("cil_getter", member, method); - - internal static Tuple cil_handler(ExceptionRegion region, MethodImplementation method, int index, int kind, - Instruction region_start, - Instruction region_end, - Instruction handler_start) => - new Tuple("cil_handler", region, method, index, kind, region_start, region_end, handler_start); - - internal static Tuple cil_handler_filter(ExceptionRegion region, Instruction filter_start) => - new Tuple("cil_handler_filter", region, filter_start); - - internal static Tuple cil_handler_type(ExceptionRegion region, Type t) => - new Tuple("cil_handler_type", region, t); - - internal static Tuple cil_implements(Method derived, Method declaration) => - new Tuple("cil_implements", derived, declaration); - - internal static Tuple cil_instruction(Instruction instruction, int opcode, int index, MethodImplementation parent) => - new Tuple("cil_instruction", instruction, opcode, index, parent); - - internal static Tuple cil_instruction_location(Instruction i, PdbSourceLocation loc) => - new Tuple("cil_instruction_location", i, loc); - - internal static Tuple cil_interface(TypeDefinitionType type) => - new Tuple("cil_interface", type); - - internal static Tuple cil_internal(DefinitionField field) => - new Tuple("cil_internal", field); - - internal static Tuple cil_jump(Instruction from, Instruction to) => - new Tuple("cil_jump", from, to); - - internal static Tuple cil_local_variable(LocalVariable l, MethodImplementation m, int i, Type t) => - new Tuple("cil_local_variable", l, m, i, t); - - internal static Tuple cil_method(Method method, string name, Type declType, Type returnType) => - new Tuple("cil_method", method, name, declType, returnType); - - internal static Tuple cil_function_pointer_return_type(FunctionPointerType fnptr, Type returnType) => - new Tuple("cil_function_pointer_return_type", fnptr, returnType); - - internal static Tuple cil_function_pointer_calling_conventions(FunctionPointerType fnptr, System.Reflection.Metadata.SignatureCallingConvention callingConvention) => - new Tuple("cil_function_pointer_calling_conventions", fnptr, (int)callingConvention); - - internal static Tuple cil_method_implementation(MethodImplementation impl, Method method, Assembly assembly) => - new Tuple("cil_method_implementation", impl, method, assembly); - - internal static Tuple cil_method_location(Method m, ILocation a) => - new Tuple("cil_method_location", m, a); - - internal static Tuple cil_method_source_declaration(Method method, Method sourceDecl) => - new Tuple("cil_method_source_declaration", method, sourceDecl); - - internal static Tuple cil_method_stack_size(MethodImplementation method, int stackSize) => - new Tuple("cil_method_stack_size", method, stackSize); - - internal static Tuple cil_newslot(Method method) => - new Tuple("cil_newslot", method); - - internal static Tuple cil_parameter(Parameter p, IParameterizable m, int i, Type t) => - new Tuple("cil_parameter", p, m, i, t); - - internal static Tuple cil_parameter_in(Parameter p) => - new Tuple("cil_parameter_in", p); - - internal static Tuple cil_parameter_out(Parameter p) => - new Tuple("cil_parameter_out", p); - - internal static Tuple cil_pointer_type(PointerType t, Type pointee) => - new Tuple("cil_pointer_type", t, pointee); - - internal static Tuple cil_private(IMember modifiable) => - new Tuple("cil_private", modifiable); - - internal static Tuple cil_protected(IMember modifiable) => - new Tuple("cil_protected", modifiable); - - internal static Tuple cil_property(Property p, Type parent, string name, Type propType) => - new Tuple("cil_property", p, parent, name, propType); - - internal static Tuple cil_public(IMember modifiable) => - new Tuple("cil_public", modifiable); - - internal static Tuple cil_raiser(Event member, Method method) => - new Tuple("cil_raiser", member, method); - - internal static Tuple cil_requiresecobject(Method method) => - new Tuple("cil_requiresecobject", method); - - internal static Tuple cil_remover(Event member, Method method) => - new Tuple("cil_remover", member, method); - - internal static Tuple cil_sealed(IMember modifiable) => - new Tuple("cil_sealed", modifiable); - - internal static Tuple cil_security(IMember method) => - new Tuple("cil_security", method); - - internal static Tuple cil_setter(Property member, Method method) => - new Tuple("cil_setter", member, method); - - internal static Tuple cil_specialname(Method method) => - new Tuple("cil_specialname", method); - - internal static Tuple cil_static(IMember modifiable) => - new Tuple("cil_static", modifiable); - - internal static Tuple cil_switch(Instruction from, int index, Instruction to) => - new Tuple("cil_switch", from, index, to); - - internal static Tuple cil_type(Type t, string name, CilTypeKind kind, TypeContainer parent, Type sourceDecl) => - new Tuple("cil_type", t, name, (int)kind, parent, sourceDecl); - - internal static Tuple cil_type_argument(TypeContainer constructedTypeOrMethod, int index, Type argument) => - new Tuple("cil_type_argument", constructedTypeOrMethod, index, argument); - - internal static Tuple cil_type_location(Type t, Assembly a) => - new Tuple("cil_type_location", t, a); - - internal static Tuple cil_type_parameter(TypeContainer unboundTypeOrMethod, int index, TypeParameter parameter) => - new Tuple("cil_type_parameter", unboundTypeOrMethod, index, parameter); - - internal static Tuple cil_typeparam_covariant(TypeParameter p) => - new Tuple("cil_typeparam_covariant", p); - - internal static Tuple cil_typeparam_contravariant(TypeParameter p) => - new Tuple("cil_typeparam_contravariant", p); - - internal static Tuple cil_typeparam_class(TypeParameter p) => - new Tuple("cil_typeparam_class", p); - - internal static Tuple cil_typeparam_constraint(TypeParameter p, Type constraint) => - new Tuple("cil_typeparam_constraint", p, constraint); - - internal static Tuple cil_typeparam_new(TypeParameter p) => - new Tuple("cil_typeparam_new", p); - - internal static Tuple cil_typeparam_struct(TypeParameter p) => - new Tuple("cil_typeparam_struct", p); - - internal static Tuple cil_value(Instruction i, string value) => - new Tuple("cil_value", i, value); - - internal static Tuple cil_virtual(Method method) => - new Tuple("cil_virtual", method); - - internal static Tuple cil_custom_modifiers(ICustomModifierReceiver receiver, Type modifier, bool isRequired) => - new Tuple("cil_custom_modifiers", receiver, modifier, isRequired ? 1 : 0); - - internal static Tuple cil_type_annotation(IExtractedEntity receiver, TypeAnnotation annotation) => - new Tuple("cil_type_annotation", receiver, (int)annotation); - - internal static Tuple containerparent(Folder parent, IFileOrFolder child) => - new Tuple("containerparent", parent, child); - - internal static Tuple files(File file, string fullName) => - new Tuple("files", file, fullName); - - internal static Tuple file_extraction_mode(File file, ExtractorMode mode) => - new Tuple("file_extraction_mode", file, mode); - - internal static Tuple folders(Folder folder, string path) => - new Tuple("folders", folder, path); - - internal static Tuple locations_default(PdbSourceLocation label, File file, int startLine, int startCol, int endLine, int endCol) => - new Tuple("locations_default", label, file, startLine, startCol, endLine, endCol); - - internal static Tuple metadata_handle(IExtractedEntity entity, Assembly assembly, int handleValue) => - new Tuple("metadata_handle", entity, assembly, handleValue); - - internal static Tuple namespaces(Namespace ns, string name) => - new Tuple("namespaces", ns, name); - - internal static Tuple parent_namespace(TypeContainer child, Namespace parent) => - new Tuple("parent_namespace", child, parent); - } -} diff --git a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/DependencyManager.cs b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/DependencyManager.cs index 724ae8f69fd..c4c901a3cc4 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/DependencyManager.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/DependencyManager.cs @@ -65,7 +65,7 @@ namespace Semmle.Extraction.CSharp.DependencyFetching var allFiles = GetAllFiles().ToList(); var binaryFileExtensions = new HashSet(new[] { ".dll", ".exe" }); // TODO: add more binary file extensions. var allNonBinaryFiles = allFiles.Where(f => !binaryFileExtensions.Contains(f.Extension.ToLowerInvariant())).ToList(); - var smallNonBinaryFiles = allNonBinaryFiles.SelectSmallFiles(logger).SelectFileNames(); + var smallNonBinaryFiles = allNonBinaryFiles.SelectSmallFiles(logger).SelectFileNames().ToList(); this.fileContent = new FileContent(logger, smallNonBinaryFiles); this.nonGeneratedSources = allNonBinaryFiles.SelectFileNamesByExtension(".cs").ToList(); this.generatedSources = new(); @@ -924,6 +924,18 @@ namespace Semmle.Extraction.CSharp.DependencyFetching return; } + var multipleVersions = notYetDownloadedPackages + .GroupBy(p => p.Name) + .Where(g => g.Count() > 1) + .Select(g => g.Key) + .ToList(); + + foreach (var package in multipleVersions) + { + logger.LogWarning($"Found multiple not yet restored packages with name '{package}'."); + notYetDownloadedPackages.Remove(new(package, PackageReferenceSource.PackagesConfig)); + } + logger.LogInfo($"Found {notYetDownloadedPackages.Count} packages that are not yet restored"); var nugetConfigs = allFiles.SelectFileNamesByName("nuget.config").ToArray(); diff --git a/csharp/extractor/Semmle.Extraction.CSharp.Standalone/Options.cs b/csharp/extractor/Semmle.Extraction.CSharp.Standalone/Options.cs index 2efe7704775..39c363a7753 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp.Standalone/Options.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp.Standalone/Options.cs @@ -58,7 +58,6 @@ namespace Semmle.Extraction.CSharp.Standalone output.WriteLine("Additional options:\n"); output.WriteLine(" --threads:nnn Specify number of threads (default=CPU cores)"); output.WriteLine(" --verbose Produce more output"); - output.WriteLine(" --pdb Cross-reference information from PDBs where available"); } private Options() diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/NamespaceDeclaration.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/NamespaceDeclaration.cs index f90bf5355e3..12684c304a4 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/NamespaceDeclaration.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/NamespaceDeclaration.cs @@ -27,7 +27,12 @@ namespace Semmle.Extraction.CSharp.Entities public override void Populate(TextWriter trapFile) { - var @namespace = (INamespaceSymbol)Context.GetModel(node).GetSymbolInfo(node.Name).Symbol!; + var @namespace = (INamespaceSymbol?)Context.GetModel(node).GetSymbolInfo(node.Name).Symbol; + if (@namespace is null) + { + throw new InternalError(node, "Namespace symbol not found"); + } + var ns = Namespace.Create(Context, @namespace); trapFile.namespace_declarations(this, ns); trapFile.namespace_declaration_location(this, Context.CreateLocation(node.Name.GetLocation())); diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Analyser.cs b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Analyser.cs index 59359b2715a..57ce2f7827c 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Analyser.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Analyser.cs @@ -66,9 +66,6 @@ namespace Semmle.Extraction.CSharp { foreach (var assembly in compilation.References.OfType()) { - // CIL first - it takes longer. - if (options.CIL) - extractionTasks.Add(() => DoExtractCIL(assembly)); extractionTasks.Add(() => DoAnalyseReferenceAssembly(assembly)); } } @@ -177,17 +174,6 @@ namespace Semmle.Extraction.CSharp } } - private void DoExtractCIL(PortableExecutableReference r) - { - var currentTaskId = IncrementTaskCount(); - ReportProgressTaskStarted(currentTaskId, r.FilePath); - var stopwatch = new Stopwatch(); - stopwatch.Start(); - CIL.Analyser.ExtractCIL(r.FilePath!, Logger, options, out var trapFile, out var extracted); - stopwatch.Stop(); - ReportProgressTaskDone(currentTaskId, r.FilePath, trapFile, stopwatch.Elapsed, extracted ? AnalysisAction.Extracted : AnalysisAction.UpToDate); - } - private void DoExtractTree(SyntaxTree tree) { try diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Extractor.cs b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Extractor.cs index 68d077b15e6..22a55849a02 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Extractor.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Extractor.cs @@ -284,9 +284,14 @@ namespace Semmle.Extraction.CSharp try { using var file = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read); - var st = CSharpSyntaxTree.ParseText(SourceText.From(file, encoding), parseOptions, path); + analyser.Logger.Log(Severity.Trace, $"Parsing source file: '{path}'"); + var tree = CSharpSyntaxTree.ParseText(SourceText.From(file, encoding), parseOptions, path); + analyser.Logger.Log(Severity.Trace, $"Source file parsed: '{path}'"); + lock (ret) - ret.Add(st); + { + ret.Add(tree); + } } catch (IOException ex) { diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Semmle.Extraction.CSharp.csproj b/csharp/extractor/Semmle.Extraction.CSharp/Semmle.Extraction.CSharp.csproj index 17943c6e21b..2a59f3716ce 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Semmle.Extraction.CSharp.csproj +++ b/csharp/extractor/Semmle.Extraction.CSharp/Semmle.Extraction.CSharp.csproj @@ -9,7 +9,6 @@ enable - diff --git a/csharp/extractor/Semmle.Extraction.Tests/Options.cs b/csharp/extractor/Semmle.Extraction.Tests/Options.cs index 492d5ce5f5e..a20788cd244 100644 --- a/csharp/extractor/Semmle.Extraction.Tests/Options.cs +++ b/csharp/extractor/Semmle.Extraction.Tests/Options.cs @@ -22,14 +22,12 @@ namespace Semmle.Extraction.Tests { options = CSharp.Options.CreateWithEnvironment(Array.Empty()); Assert.True(options.Cache); - Assert.False(options.CIL); Assert.Null(options.Framework); Assert.Null(options.CompilerName); Assert.Empty(options.CompilerArguments); Assert.True(options.Threads >= 1); Assert.Equal(Verbosity.Info, options.LegacyVerbosity); Assert.False(options.Console); - Assert.False(options.PDB); Assert.False(options.Fast); Assert.Equal(TrapWriter.CompressionMode.Brotli, options.TrapCompression); } @@ -48,25 +46,6 @@ namespace Semmle.Extraction.Tests Assert.False(options.Cache); } - [Fact] - public void CIL() - { - options = CSharp.Options.CreateWithEnvironment(Array.Empty()); - Assert.False(options.CIL); - - Environment.SetEnvironmentVariable("CODEQL_EXTRACTOR_CSHARP_OPTION_CIL", "false"); - options = CSharp.Options.CreateWithEnvironment(Array.Empty()); - Assert.False(options.CIL); - - Environment.SetEnvironmentVariable("CODEQL_EXTRACTOR_CSHARP_OPTION_CIL", "true"); - options = CSharp.Options.CreateWithEnvironment(Array.Empty()); - Assert.True(options.CIL); - - Environment.SetEnvironmentVariable("CODEQL_EXTRACTOR_CSHARP_OPTION_CIL", null); - options = CSharp.Options.CreateWithEnvironment(Array.Empty()); - Assert.False(options.CIL); - } - [Fact] public void CompilerArguments() { @@ -141,13 +120,6 @@ namespace Semmle.Extraction.Tests Assert.True(options.Console); } - [Fact] - public void PDB() - { - options = CSharp.Options.CreateWithEnvironment(new string[] { "--pdb" }); - Assert.True(options.PDB); - } - [Fact] public void Compiler() { diff --git a/csharp/extractor/Semmle.Extraction/Context.cs b/csharp/extractor/Semmle.Extraction/Context.cs index a6442758daf..6697bfb06fd 100644 --- a/csharp/extractor/Semmle.Extraction/Context.cs +++ b/csharp/extractor/Semmle.Extraction/Context.cs @@ -274,28 +274,36 @@ namespace Semmle.Extraction bool duplicationGuard, deferred; - switch (entity.TrapStackBehaviour) + if (Extractor.Mode is ExtractorMode.Standalone) { - case TrapStackBehaviour.NeedsLabel: - if (!tagStack.Any()) - ExtractionError("TagStack unexpectedly empty", optionalSymbol, entity); - duplicationGuard = false; - deferred = false; - break; - case TrapStackBehaviour.NoLabel: - duplicationGuard = false; - deferred = tagStack.Any(); - break; - case TrapStackBehaviour.OptionalLabel: - duplicationGuard = false; - deferred = false; - break; - case TrapStackBehaviour.PushesLabel: - duplicationGuard = true; - deferred = duplicationGuard && tagStack.Any(); - break; - default: - throw new InternalError("Unexpected TrapStackBehaviour"); + duplicationGuard = false; + deferred = false; + } + else + { + switch (entity.TrapStackBehaviour) + { + case TrapStackBehaviour.NeedsLabel: + if (!tagStack.Any()) + ExtractionError("TagStack unexpectedly empty", optionalSymbol, entity); + duplicationGuard = false; + deferred = false; + break; + case TrapStackBehaviour.NoLabel: + duplicationGuard = false; + deferred = tagStack.Any(); + break; + case TrapStackBehaviour.OptionalLabel: + duplicationGuard = false; + deferred = false; + break; + case TrapStackBehaviour.PushesLabel: + duplicationGuard = true; + deferred = duplicationGuard && tagStack.Any(); + break; + default: + throw new InternalError("Unexpected TrapStackBehaviour"); + } } var a = duplicationGuard && IsEntityDuplicationGuarded(entity, out var loc) diff --git a/csharp/extractor/Semmle.Extraction/Options.cs b/csharp/extractor/Semmle.Extraction/Options.cs index 576d7a4762e..3aa704e60c5 100644 --- a/csharp/extractor/Semmle.Extraction/Options.cs +++ b/csharp/extractor/Semmle.Extraction/Options.cs @@ -55,21 +55,11 @@ namespace Semmle.Extraction /// public bool Console { get; private set; } = false; - /// - /// Holds if CIL should be extracted. - /// - public bool CIL { get; private set; } = false; - /// /// Holds if assemblies shouldn't be extracted twice. /// public bool Cache { get; private set; } = true; - /// - /// Whether to extract PDB information. - /// - public bool PDB { get; private set; } = false; - /// /// Whether "fast extraction mode" has been enabled. /// @@ -102,9 +92,6 @@ namespace Semmle.Extraction return true; } return false; - case "cil": - CIL = Boolean.Parse(value); - return true; default: return false; } @@ -128,12 +115,7 @@ namespace Semmle.Extraction case "cache": Cache = value; return true; - case "pdb": - PDB = value; - CIL = true; - return true; case "fast": - CIL = !value; Fast = value; return true; case "qltest": diff --git a/csharp/extractor/Semmle.Util/CommandLineOptions.cs b/csharp/extractor/Semmle.Util/CommandLineOptions.cs index 8dfd4ea5479..f2cf332e07f 100644 --- a/csharp/extractor/Semmle.Util/CommandLineOptions.cs +++ b/csharp/extractor/Semmle.Util/CommandLineOptions.cs @@ -40,7 +40,7 @@ namespace Semmle.Util public static class OptionsExtensions { - private static readonly string[] ExtractorOptions = new[] { "trap_compression", "cil" }; + private static readonly string[] ExtractorOptions = ["trap_compression"]; private static List GetExtractorOptions() { var extractorOptions = new List(); diff --git a/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md b/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md index 190b83b0f25..97f22b42534 100644 --- a/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md +++ b/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md @@ -1,3 +1,11 @@ +## 1.7.11 + +No user-facing changes. + +## 1.7.10 + +No user-facing changes. + ## 1.7.9 No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.10.md b/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.10.md new file mode 100644 index 00000000000..8e8007d8475 --- /dev/null +++ b/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.10.md @@ -0,0 +1,3 @@ +## 1.7.10 + +No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.11.md b/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.11.md new file mode 100644 index 00000000000..c2790d68a54 --- /dev/null +++ b/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.11.md @@ -0,0 +1,3 @@ +## 1.7.11 + +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 678da6bc37e..6e5b0b6e2f2 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.9 +lastReleaseVersion: 1.7.11 diff --git a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml index 7e643b0fac3..31c4092b33f 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.10-dev +version: 1.7.12-dev groups: - csharp - solorigate diff --git a/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md b/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md index 190b83b0f25..97f22b42534 100644 --- a/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md +++ b/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md @@ -1,3 +1,11 @@ +## 1.7.11 + +No user-facing changes. + +## 1.7.10 + +No user-facing changes. + ## 1.7.9 No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.10.md b/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.10.md new file mode 100644 index 00000000000..8e8007d8475 --- /dev/null +++ b/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.10.md @@ -0,0 +1,3 @@ +## 1.7.10 + +No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.11.md b/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.11.md new file mode 100644 index 00000000000..c2790d68a54 --- /dev/null +++ b/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.11.md @@ -0,0 +1,3 @@ +## 1.7.11 + +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 678da6bc37e..6e5b0b6e2f2 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.9 +lastReleaseVersion: 1.7.11 diff --git a/csharp/ql/campaigns/Solorigate/src/qlpack.yml b/csharp/ql/campaigns/Solorigate/src/qlpack.yml index 8654bbfd031..dcb2674a19a 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.10-dev +version: 1.7.12-dev groups: - csharp - solorigate diff --git a/csharp/ql/consistency-queries/DataFlowConsistency.ql b/csharp/ql/consistency-queries/DataFlowConsistency.ql index 1ee888329c7..2f34368b669 100644 --- a/csharp/ql/consistency-queries/DataFlowConsistency.ql +++ b/csharp/ql/consistency-queries/DataFlowConsistency.ql @@ -4,7 +4,7 @@ private import semmle.code.csharp.dataflow.internal.DataFlowImplSpecific private import semmle.code.csharp.dataflow.internal.TaintTrackingImplSpecific private import codeql.dataflow.internal.DataFlowImplConsistency -private module Input implements InputSig { +private module Input implements InputSig { private import CsharpDataFlow private predicate isStaticAssignable(Assignable a) { a.(Modifiable).isStatic() } @@ -99,4 +99,4 @@ private module Input implements InputSig { } } -import MakeConsistency +import MakeConsistency diff --git a/csharp/ql/lib/CHANGELOG.md b/csharp/ql/lib/CHANGELOG.md index 95fd64c5270..0444d4eb2bf 100644 --- a/csharp/ql/lib/CHANGELOG.md +++ b/csharp/ql/lib/CHANGELOG.md @@ -1,3 +1,21 @@ +## 0.8.11 + +No user-facing changes. + +## 0.8.10 + +### Major Analysis Improvements + +* Improved support for flow through captured variables that properly adheres to inter-procedural control flow. +* We no longer make use of CodeQL database stats, which may affect join-orders in custom queries. It is therefore recommended to test performance of custom queries after upgrading to this version. + +### Minor Analysis Improvements + +* C# 12: Add QL library support (`ExperimentalAttribute`) for the experimental attribute. +* C# 12: Add extractor and QL library support for `ref readonly` parameters. +* C#: The table `expr_compiler_generated` has been deleted and its content has been added to `compiler_generated`. +* Data flow via get only properties like `public object Obj { get; }` is now captured by the data flow library. + ## 0.8.9 ### Minor Analysis Improvements diff --git a/csharp/ql/lib/change-notes/2024-02-21-getonly-properties.md b/csharp/ql/lib/change-notes/2024-02-21-getonly-properties.md deleted file mode 100644 index 6bb8e99c71e..00000000000 --- a/csharp/ql/lib/change-notes/2024-02-21-getonly-properties.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Data flow via get only properties like `public object Obj { get; }` is now captured by the data flow library. diff --git a/csharp/ql/lib/change-notes/2024-02-22-no-db-stats.md b/csharp/ql/lib/change-notes/2024-02-22-no-db-stats.md deleted file mode 100644 index d6ffbd523ac..00000000000 --- a/csharp/ql/lib/change-notes/2024-02-22-no-db-stats.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: majorAnalysis ---- -* We no longer make use of CodeQL database stats, which may affect join-orders in custom queries. It is therefore recommended to test performance of custom queries after upgrading to this version. diff --git a/csharp/ql/lib/change-notes/2024-02-23-compiler-generated.md b/csharp/ql/lib/change-notes/2024-02-23-compiler-generated.md deleted file mode 100644 index 9b1739b9b6d..00000000000 --- a/csharp/ql/lib/change-notes/2024-02-23-compiler-generated.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* C#: The table `expr_compiler_generated` has been deleted and its content has been added to `compiler_generated`. diff --git a/csharp/ql/lib/change-notes/2024-02-26-variable-capture-flow.md b/csharp/ql/lib/change-notes/2024-02-26-variable-capture-flow.md deleted file mode 100644 index 66ab65083dc..00000000000 --- a/csharp/ql/lib/change-notes/2024-02-26-variable-capture-flow.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: majorAnalysis ---- -* Improved support for flow through captured variables that properly adheres to inter-procedural control flow. \ No newline at end of file diff --git a/csharp/ql/lib/change-notes/2024-02-28-experimental-attribute.md b/csharp/ql/lib/change-notes/2024-02-28-experimental-attribute.md deleted file mode 100644 index 8749c790954..00000000000 --- a/csharp/ql/lib/change-notes/2024-02-28-experimental-attribute.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* C# 12: Add QL library support (`ExperimentalAttribute`) for the experimental attribute. diff --git a/csharp/ql/lib/change-notes/2024-02-28-refreadonly-parameter.md b/csharp/ql/lib/change-notes/2024-02-28-refreadonly-parameter.md deleted file mode 100644 index 586b5341d29..00000000000 --- a/csharp/ql/lib/change-notes/2024-02-28-refreadonly-parameter.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* C# 12: Add extractor and QL library support for `ref readonly` parameters. diff --git a/csharp/ql/lib/change-notes/2024-03-07-remove-cil-extractor.md b/csharp/ql/lib/change-notes/2024-03-07-remove-cil-extractor.md new file mode 100644 index 00000000000..36be2372b4e --- /dev/null +++ b/csharp/ql/lib/change-notes/2024-03-07-remove-cil-extractor.md @@ -0,0 +1,4 @@ +--- +category: breaking +--- +* The CIL extractor has been deleted and the corresponding extractor option `cil` has been removed. It is no longer possible to do CIL extraction. diff --git a/csharp/ql/lib/change-notes/2024-03-11-csharp12-dotnet8.md b/csharp/ql/lib/change-notes/2024-03-11-csharp12-dotnet8.md new file mode 100644 index 00000000000..7111e8966d6 --- /dev/null +++ b/csharp/ql/lib/change-notes/2024-03-11-csharp12-dotnet8.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* Support for C# 12 / .NET8. diff --git a/csharp/ql/lib/change-notes/2024-03-11-registry-sources.md b/csharp/ql/lib/change-notes/2024-03-11-registry-sources.md new file mode 100644 index 00000000000..1d105049185 --- /dev/null +++ b/csharp/ql/lib/change-notes/2024-03-11-registry-sources.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* Added the `windows-registry` source kind and threat model to represent values which come from the registry on Windows. diff --git a/csharp/ql/lib/change-notes/released/0.8.10.md b/csharp/ql/lib/change-notes/released/0.8.10.md new file mode 100644 index 00000000000..f591ddc5b21 --- /dev/null +++ b/csharp/ql/lib/change-notes/released/0.8.10.md @@ -0,0 +1,13 @@ +## 0.8.10 + +### Major Analysis Improvements + +* Improved support for flow through captured variables that properly adheres to inter-procedural control flow. +* We no longer make use of CodeQL database stats, which may affect join-orders in custom queries. It is therefore recommended to test performance of custom queries after upgrading to this version. + +### Minor Analysis Improvements + +* C# 12: Add QL library support (`ExperimentalAttribute`) for the experimental attribute. +* C# 12: Add extractor and QL library support for `ref readonly` parameters. +* C#: The table `expr_compiler_generated` has been deleted and its content has been added to `compiler_generated`. +* Data flow via get only properties like `public object Obj { get; }` is now captured by the data flow library. diff --git a/csharp/ql/lib/change-notes/released/0.8.11.md b/csharp/ql/lib/change-notes/released/0.8.11.md new file mode 100644 index 00000000000..6f504c5c207 --- /dev/null +++ b/csharp/ql/lib/change-notes/released/0.8.11.md @@ -0,0 +1,3 @@ +## 0.8.11 + +No user-facing changes. diff --git a/csharp/ql/lib/codeql-pack.release.yml b/csharp/ql/lib/codeql-pack.release.yml index 5290c29b7fe..7b42a9d984c 100644 --- a/csharp/ql/lib/codeql-pack.release.yml +++ b/csharp/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.8.9 +lastReleaseVersion: 0.8.11 diff --git a/csharp/ql/lib/ext/Microsoft.Win32.model.yml b/csharp/ql/lib/ext/Microsoft.Win32.model.yml new file mode 100644 index 00000000000..c7e439f2910 --- /dev/null +++ b/csharp/ql/lib/ext/Microsoft.Win32.model.yml @@ -0,0 +1,9 @@ +extensions: + - addsTo: + pack: codeql/csharp-all + extensible: sourceModel + data: + - ["Microsoft.Win32", "Registry", False, "GetValue", "(System.String,System.String,System.Object)", "", "ReturnValue", "windows-registry", "manual"] + - ["Microsoft.Win32", "RegistryKey", False, "GetSubKeyNames", "()", "", "ReturnValue", "windows-registry", "manual"] + - ["Microsoft.Win32", "RegistryKey", False, "GetValue", "", "", "ReturnValue", "windows-registry", "manual"] + - ["Microsoft.Win32", "RegistryKey", False, "GetValueNames", "()", "", "ReturnValue", "windows-registry", "manual"] \ No newline at end of file diff --git a/csharp/ql/lib/qlpack.yml b/csharp/ql/lib/qlpack.yml index d75ea3c6320..61dbd30243f 100644 --- a/csharp/ql/lib/qlpack.yml +++ b/csharp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-all -version: 0.8.10-dev +version: 0.8.12-dev groups: csharp dbscheme: semmlecode.csharp.dbscheme extractor: csharp diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/DataFlow.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/DataFlow.qll index 17e698dce2d..0fc12debaa8 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/DataFlow.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/DataFlow.qll @@ -8,6 +8,6 @@ import csharp module DataFlow { private import semmle.code.csharp.dataflow.internal.DataFlowImplSpecific private import codeql.dataflow.DataFlow - import DataFlowMake + import DataFlowMake import semmle.code.csharp.dataflow.internal.DataFlowImpl1 } diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/TaintTracking.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/TaintTracking.qll index 7243d36b05d..fb39294ed23 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/TaintTracking.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/TaintTracking.qll @@ -10,6 +10,6 @@ module TaintTracking { private import semmle.code.csharp.dataflow.internal.DataFlowImplSpecific private import semmle.code.csharp.dataflow.internal.TaintTrackingImplSpecific private import codeql.dataflow.TaintTracking - import TaintFlowMake + import TaintFlowMake import semmle.code.csharp.dataflow.internal.tainttracking1.TaintTrackingImpl } diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/ContentDataFlow.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/ContentDataFlow.qll index e9cd7373975..76936549051 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/ContentDataFlow.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/ContentDataFlow.qll @@ -109,6 +109,8 @@ module Global { DataFlow::FlowFeature getAFeature() { result = ContentConfig::getAFeature() } + predicate accessPathLimit = ContentConfig::accessPathLimit/0; + // needed to record reads/stores inside summarized callables predicate includeHiddenNodes() { any() } } diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl.qll index 4cf39afc812..09e47bdd831 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl.qll @@ -1,3 +1,4 @@ +private import semmle.code.csharp.Location private import DataFlowImplSpecific private import codeql.dataflow.internal.DataFlowImpl -import MakeImpl +import MakeImpl diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl1.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl1.qll index 2bbc565daa6..9b92f961e6f 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl1.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl1.qll @@ -285,6 +285,8 @@ deprecated private module Config implements FullStateConfigSig { int fieldFlowBranchLimit() { result = min(any(Configuration config).fieldFlowBranchLimit()) } + int accessPathLimit() { result = 5 } + FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } predicate sourceGrouping(Node source, string sourceGroup) { diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl2.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl2.qll index 2bbc565daa6..9b92f961e6f 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl2.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl2.qll @@ -285,6 +285,8 @@ deprecated private module Config implements FullStateConfigSig { int fieldFlowBranchLimit() { result = min(any(Configuration config).fieldFlowBranchLimit()) } + int accessPathLimit() { result = 5 } + FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } predicate sourceGrouping(Node source, string sourceGroup) { diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl3.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl3.qll index 2bbc565daa6..9b92f961e6f 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl3.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl3.qll @@ -285,6 +285,8 @@ deprecated private module Config implements FullStateConfigSig { int fieldFlowBranchLimit() { result = min(any(Configuration config).fieldFlowBranchLimit()) } + int accessPathLimit() { result = 5 } + FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } predicate sourceGrouping(Node source, string sourceGroup) { diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl4.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl4.qll index 2bbc565daa6..9b92f961e6f 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl4.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl4.qll @@ -285,6 +285,8 @@ deprecated private module Config implements FullStateConfigSig { int fieldFlowBranchLimit() { result = min(any(Configuration config).fieldFlowBranchLimit()) } + int accessPathLimit() { result = 5 } + FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } predicate sourceGrouping(Node source, string sourceGroup) { diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl5.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl5.qll index 2bbc565daa6..9b92f961e6f 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl5.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl5.qll @@ -285,6 +285,8 @@ deprecated private module Config implements FullStateConfigSig { int fieldFlowBranchLimit() { result = min(any(Configuration config).fieldFlowBranchLimit()) } + int accessPathLimit() { result = 5 } + FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } predicate sourceGrouping(Node source, string sourceGroup) { diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImplCommon.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImplCommon.qll index 55829d7d059..72ccd3152da 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImplCommon.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImplCommon.qll @@ -1,3 +1,4 @@ +private import semmle.code.csharp.Location private import DataFlowImplSpecific private import codeql.dataflow.internal.DataFlowImplCommon -import MakeImplCommon +import MakeImplCommon diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImplSpecific.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImplSpecific.qll index 774dc6bd86a..af104d777b8 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImplSpecific.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImplSpecific.qll @@ -2,6 +2,7 @@ * Provides C#-specific definitions for use in the data flow library. */ +private import semmle.code.csharp.Location private import codeql.dataflow.DataFlow module Private { @@ -13,7 +14,7 @@ module Public { import DataFlowPublic } -module CsharpDataFlow implements InputSig { +module CsharpDataFlow implements InputSig { import Private import Public 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 bf30fe5112d..20e3dd8eb7d 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowPublic.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowPublic.qll @@ -58,7 +58,7 @@ class Node extends TNode { * For more information, see * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). */ - predicate hasLocationInfo( + deprecated predicate hasLocationInfo( string filepath, int startline, int startcolumn, int endline, int endcolumn ) { this.getLocation().hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) 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 5c985759b78..7e22351ee66 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/ExternalFlow.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/ExternalFlow.qll @@ -395,14 +395,14 @@ Declaration interpretElement( * A callable where there exists a MaD sink model that applies to it. */ class SinkCallable extends Callable { - SinkCallable() { SourceSinkInterpretationInput::sinkElement(this, _, _) } + SinkCallable() { SourceSinkInterpretationInput::sinkElement(this, _, _, _) } } /** * A callable where there exists a MaD source model that applies to it. */ class SourceCallable extends Callable { - SourceCallable() { SourceSinkInterpretationInput::sourceElement(this, _, _) } + SourceCallable() { SourceSinkInterpretationInput::sourceElement(this, _, _, _) } } cached 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 19972a86ab6..96f45e77655 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/FlowSummaryImpl.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/FlowSummaryImpl.qll @@ -12,7 +12,7 @@ private import DataFlowImplSpecific::Public private import semmle.code.csharp.Unification private import semmle.code.csharp.dataflow.internal.ExternalFlow -module Input implements InputSig { +module Input implements InputSig { class SummarizedCallableBase = UnboundCallable; ArgumentPosition callbackSelfParameterPosition() { result.isDelegateSelf() } @@ -80,7 +80,7 @@ module Input implements InputSig { } } -private import Make as Impl +private import Make as Impl private module TypesInput implements Impl::Private::TypesInputSig { DataFlowType getSyntheticGlobalType(Impl::Private::SyntheticGlobal sg) { @@ -154,26 +154,26 @@ private module StepsInput implements Impl::Private::StepsInputSig { } module SourceSinkInterpretationInput implements - Impl::Private::External::SourceSinkInterpretationInputSig + Impl::Private::External::SourceSinkInterpretationInputSig { private import csharp as Cs class Element = Cs::Element; - predicate sourceElement(Element e, string output, string kind) { + predicate sourceElement(Element e, string output, string kind, Public::Provenance provenance) { exists( string namespace, string type, boolean subtypes, string name, string signature, string ext | - sourceModel(namespace, type, subtypes, name, signature, ext, output, kind, _) and + sourceModel(namespace, type, subtypes, name, signature, ext, output, kind, provenance) and e = interpretElement(namespace, type, subtypes, name, signature, ext) ) } - predicate sinkElement(Element e, string input, string kind) { + predicate sinkElement(Element e, string input, string kind, Public::Provenance provenance) { exists( string namespace, string type, boolean subtypes, string name, string signature, string ext | - sinkModel(namespace, type, subtypes, name, signature, ext, input, kind, _) and + sinkModel(namespace, type, subtypes, name, signature, ext, input, kind, provenance) and e = interpretElement(namespace, type, subtypes, name, signature, ext) ) } @@ -252,7 +252,7 @@ module Private { module External { import Impl::Private::External - import Impl::Private::External::SourceSinkInterpretation + import Impl::Private::External::SourceSinkInterpretation } private module SummaryComponentInternal = Impl::Private::SummaryComponent; diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/TaintTrackingImplSpecific.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/TaintTrackingImplSpecific.qll index 17a0d2c3c1a..b33d582021f 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/TaintTrackingImplSpecific.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/TaintTrackingImplSpecific.qll @@ -2,9 +2,10 @@ * Provides C#-specific definitions for use in the taint tracking library. */ +private import semmle.code.csharp.Location private import codeql.dataflow.TaintTracking private import DataFlowImplSpecific -module CsharpTaintTracking implements InputSig { +module CsharpTaintTracking implements InputSig { import TaintTrackingPrivate } diff --git a/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Local.qll b/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Local.qll index 9f3f398e5b1..6261d41f404 100644 --- a/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Local.qll +++ b/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Local.qll @@ -40,6 +40,10 @@ abstract class EnvironmentVariableSource extends LocalFlowSource { override string getSourceType() { result = "environment variable" } } +private class ExternalEnvironmentVariableSource extends EnvironmentVariableSource { + ExternalEnvironmentVariableSource() { sourceNode(this, "environment") } +} + /** * A dataflow source that represents the access of a command line argument. */ @@ -49,9 +53,26 @@ abstract class CommandLineArgumentSource extends LocalFlowSource { override string getSourceType() { result = "command line argument" } } +private class ExternalCommandLineArgumentSource extends CommandLineArgumentSource { + ExternalCommandLineArgumentSource() { sourceNode(this, "command-line") } +} + /** * A data flow source that represents the parameters of the `Main` method of a program. */ private class MainMethodArgumentSource extends CommandLineArgumentSource { MainMethodArgumentSource() { this.asParameter() = any(MainMethod mainMethod).getAParameter() } } + +/** + * A data flow source that represents the access of a value from the Windows registry. + */ +abstract class WindowsRegistrySource extends LocalFlowSource { + override string getThreatModel() { result = "windows-registry" } + + override string getSourceType() { result = "a value from the Windows registry" } +} + +private class ExternalWindowsRegistrySource extends WindowsRegistrySource { + ExternalWindowsRegistrySource() { sourceNode(this, "windows-registry") } +} diff --git a/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Stored.qll b/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Stored.qll index 2d2ecd0bccb..5516da547e6 100644 --- a/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Stored.qll +++ b/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Stored.qll @@ -73,6 +73,10 @@ deprecated class ORMMappedProperty extends DataFlow::Node { } } +private class ExternalDatabaseInputSource extends DatabaseInputSource { + ExternalDatabaseInputSource() { sourceNode(this, "database") } +} + /** A file stream source is considered a stored flow source. */ class FileStreamStoredFlowSource extends StoredFlowSource { FileStreamStoredFlowSource() { sourceNode(this, "file") } diff --git a/csharp/ql/src/API Abuse/IncorrectCompareToSignature.ql b/csharp/ql/src/API Abuse/IncorrectCompareToSignature.ql index 9f9eff6f1f6..6f6c17566bf 100644 --- a/csharp/ql/src/API Abuse/IncorrectCompareToSignature.ql +++ b/csharp/ql/src/API Abuse/IncorrectCompareToSignature.ql @@ -33,13 +33,13 @@ predicate compareToMethod(Method m, Type paramType) { paramType = m.getAParameter().getType() } -from Method m, RefType declaringType, Type actualParamType +from Method m, RefType declaringType, Type actualParamType, string paramTypeName where m.isSourceDeclaration() and declaringType = m.getDeclaringType() and compareToMethod(m, actualParamType) and - not implementsIComparable(declaringType, actualParamType) + not implementsIComparable(declaringType, actualParamType) and + paramTypeName = actualParamType.getName() select m, - "The parameter of this 'CompareTo' method is of type $@, but $@ does not implement 'IComparable<$@>'.", - actualParamType, actualParamType.getName(), declaringType, declaringType.getName(), - actualParamType, actualParamType.getName() + "The parameter of this 'CompareTo' method is of type '" + paramTypeName + + "', but the declaring type does not implement 'IComparable<" + paramTypeName + ">'." diff --git a/csharp/ql/src/CHANGELOG.md b/csharp/ql/src/CHANGELOG.md index 9fe1609363f..e5aaaa31e82 100644 --- a/csharp/ql/src/CHANGELOG.md +++ b/csharp/ql/src/CHANGELOG.md @@ -1,3 +1,13 @@ +## 0.8.11 + +No user-facing changes. + +## 0.8.10 + +### Minor Analysis Improvements + +* Most data flow queries that track flow from *remote* flow sources now use the current *threat model* configuration instead. This doesn't lead to any changes in the produced alerts (as the default configuration is *remote* flow sources) unless the threat model configuration is changed. The changed queries are `cs/code-injection`, `cs/command-line-injection`, `cs/user-controlled-bypass`, `cs/count-untrusted-data-external-api`, `cs/untrusted-data-to-external-api`, `cs/ldap-injection`, `cs/log-forging`, `cs/xml/missing-validation`, `cs/redos`, `cs/regex-injection`, `cs/resource-injection`, `cs/sql-injection`, `cs/path-injection`, `cs/unsafe-deserialization-untrusted-input`, `cs/web/unvalidated-url-redirection`, `cs/xml/insecure-dtd-handling`, `cs/xml/xpath-injection`, `cs/web/xss`, and `cs/uncontrolled-format-string`. + ## 0.8.9 ### Minor Analysis Improvements diff --git a/csharp/ql/src/Metrics/Summaries/LinesOfCode.ql b/csharp/ql/src/Metrics/Summaries/LinesOfCode.ql index 2115cd60d2b..ca4da7bd4b9 100644 --- a/csharp/ql/src/Metrics/Summaries/LinesOfCode.ql +++ b/csharp/ql/src/Metrics/Summaries/LinesOfCode.ql @@ -5,6 +5,7 @@ * @kind metric * @tags summary * lines-of-code + * debug */ import csharp diff --git a/csharp/ql/src/Security Features/CWE-134/UncontrolledFormatString.ql b/csharp/ql/src/Security Features/CWE-134/UncontrolledFormatString.ql index 657fdd0e183..7eec0bb90c6 100644 --- a/csharp/ql/src/Security Features/CWE-134/UncontrolledFormatString.ql +++ b/csharp/ql/src/Security Features/CWE-134/UncontrolledFormatString.ql @@ -17,9 +17,7 @@ import semmle.code.csharp.frameworks.Format import FormatString::PathGraph module FormatStringConfig implements DataFlow::ConfigSig { - predicate isSource(DataFlow::Node source) { - source instanceof ThreatModelFlowSource or source instanceof LocalFlowSource - } + predicate isSource(DataFlow::Node source) { source instanceof ThreatModelFlowSource } predicate isSink(DataFlow::Node sink) { sink.asExpr() = any(FormatCall call | call.hasInsertions()).getFormatExpr() diff --git a/csharp/ql/src/Security Features/CWE-601/UrlRedirect.qhelp b/csharp/ql/src/Security Features/CWE-601/UrlRedirect.qhelp index c9a1b692b81..80873b1bc1c 100644 --- a/csharp/ql/src/Security Features/CWE-601/UrlRedirect.qhelp +++ b/csharp/ql/src/Security Features/CWE-601/UrlRedirect.qhelp @@ -57,7 +57,7 @@ which is harmless but perhaps not intended. You can substitute your own domain (
  • diff --git a/csharp/ql/src/change-notes/2024-03-11-remove-stored-query-variants.md b/csharp/ql/src/change-notes/2024-03-11-remove-stored-query-variants.md index f86836b1219..3ca0b14f7b2 100644 --- a/csharp/ql/src/change-notes/2024-03-11-remove-stored-query-variants.md +++ b/csharp/ql/src/change-notes/2024-03-11-remove-stored-query-variants.md @@ -1,5 +1,5 @@ --- category: majorAnalysis --- -* The `Stored` variants of some queries (`cs/stored-command-line-injection`, `cs/web/stored-xss`, `cs/stored-ldap-injection`, `cs/xml/stored-xpath-injection`. `cs/second-order-sql-injection`) have been removed. If you were using these queries, their results can be restored by enabling the `file` and `database` threat models in your threat model configuration. +* The `Stored` variants of some queries (`cs/stored-command-line-injection`, `cs/web/stored-xss`, `cs/stored-ldap-injection`, `cs/xml/stored-xpath-injection`, `cs/second-order-sql-injection`) have been removed. If you were using these queries, their results can be restored by enabling the `file` and `database` threat models in your threat model configuration. diff --git a/csharp/ql/src/change-notes/2024-03-21-change-compareto-signature.md b/csharp/ql/src/change-notes/2024-03-21-change-compareto-signature.md new file mode 100644 index 00000000000..026321ea9af --- /dev/null +++ b/csharp/ql/src/change-notes/2024-03-21-change-compareto-signature.md @@ -0,0 +1,5 @@ +--- +category: minorAnalysis +--- +* The alert message of `cs/wrong-compareto-signature` has been changed to remove unnecessary element references. + diff --git a/csharp/ql/src/change-notes/2024-02-06-threat-models.md b/csharp/ql/src/change-notes/released/0.8.10.md similarity index 88% rename from csharp/ql/src/change-notes/2024-02-06-threat-models.md rename to csharp/ql/src/change-notes/released/0.8.10.md index 69ac4e4dc17..702161c3d28 100644 --- a/csharp/ql/src/change-notes/2024-02-06-threat-models.md +++ b/csharp/ql/src/change-notes/released/0.8.10.md @@ -1,4 +1,5 @@ ---- -category: minorAnalysis ---- -* Most data flow queries that track flow from *remote* flow sources now use the current *threat model* configuration instead. This doesn't lead to any changes in the produced alerts (as the default configuration is *remote* flow sources) unless the threat model configuration is changed. The changed queries are `cs/code-injection`, `cs/command-line-injection`, `cs/user-controlled-bypass`, `cs/count-untrusted-data-external-api`, `cs/untrusted-data-to-external-api`, `cs/ldap-injection`, `cs/log-forging`, `cs/xml/missing-validation`, `cs/redos`, `cs/regex-injection`, `cs/resource-injection`, `cs/sql-injection`, `cs/path-injection`, `cs/unsafe-deserialization-untrusted-input`, `cs/web/unvalidated-url-redirection`, `cs/xml/insecure-dtd-handling`, `cs/xml/xpath-injection`, `cs/web/xss`, and `cs/uncontrolled-format-string`. \ No newline at end of file +## 0.8.10 + +### Minor Analysis Improvements + +* Most data flow queries that track flow from *remote* flow sources now use the current *threat model* configuration instead. This doesn't lead to any changes in the produced alerts (as the default configuration is *remote* flow sources) unless the threat model configuration is changed. The changed queries are `cs/code-injection`, `cs/command-line-injection`, `cs/user-controlled-bypass`, `cs/count-untrusted-data-external-api`, `cs/untrusted-data-to-external-api`, `cs/ldap-injection`, `cs/log-forging`, `cs/xml/missing-validation`, `cs/redos`, `cs/regex-injection`, `cs/resource-injection`, `cs/sql-injection`, `cs/path-injection`, `cs/unsafe-deserialization-untrusted-input`, `cs/web/unvalidated-url-redirection`, `cs/xml/insecure-dtd-handling`, `cs/xml/xpath-injection`, `cs/web/xss`, and `cs/uncontrolled-format-string`. diff --git a/csharp/ql/src/change-notes/released/0.8.11.md b/csharp/ql/src/change-notes/released/0.8.11.md new file mode 100644 index 00000000000..6f504c5c207 --- /dev/null +++ b/csharp/ql/src/change-notes/released/0.8.11.md @@ -0,0 +1,3 @@ +## 0.8.11 + +No user-facing changes. diff --git a/csharp/ql/src/codeql-pack.release.yml b/csharp/ql/src/codeql-pack.release.yml index 5290c29b7fe..7b42a9d984c 100644 --- a/csharp/ql/src/codeql-pack.release.yml +++ b/csharp/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.8.9 +lastReleaseVersion: 0.8.11 diff --git a/csharp/ql/src/qlpack.yml b/csharp/ql/src/qlpack.yml index 9ee23cc7307..da169055d99 100644 --- a/csharp/ql/src/qlpack.yml +++ b/csharp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-queries -version: 0.8.10-dev +version: 0.8.12-dev groups: - csharp - queries diff --git a/csharp/ql/src/utils/modelgenerator/internal/CaptureModels.qll b/csharp/ql/src/utils/modelgenerator/internal/CaptureModels.qll index 9c19e5b9cbb..0a22178d108 100644 --- a/csharp/ql/src/utils/modelgenerator/internal/CaptureModels.qll +++ b/csharp/ql/src/utils/modelgenerator/internal/CaptureModels.qll @@ -72,11 +72,11 @@ string captureQualifierFlow(TargetApiSpecific api) { result = ModelPrinting::asValueModel(api, qualifierString(), "ReturnValue") } -private int accessPathLimit() { result = 2 } +private int accessPathLimit0() { result = 2 } private newtype TTaintState = - TTaintRead(int n) { n in [0 .. accessPathLimit()] } or - TTaintStore(int n) { n in [1 .. accessPathLimit()] } + TTaintRead(int n) { n in [0 .. accessPathLimit0()] } or + TTaintStore(int n) { n in [1 .. accessPathLimit0()] } abstract private class TaintState extends TTaintState { abstract string toString(); diff --git a/csharp/ql/test/TestUtilities/InlineFlowTest.qll b/csharp/ql/test/TestUtilities/InlineFlowTest.qll index b7d7226e812..bf7463535e1 100644 --- a/csharp/ql/test/TestUtilities/InlineFlowTest.qll +++ b/csharp/ql/test/TestUtilities/InlineFlowTest.qll @@ -9,7 +9,7 @@ private import semmle.code.csharp.dataflow.internal.DataFlowImplSpecific private import semmle.code.csharp.dataflow.internal.TaintTrackingImplSpecific private import internal.InlineExpectationsTestImpl -private module FlowTestImpl implements InputSig { +private module FlowTestImpl implements InputSig { predicate defaultSource(DataFlow::Node source) { source.asExpr().(MethodCall).getTarget().getUndecoratedName() = ["Source", "Taint"] } @@ -35,4 +35,4 @@ private module FlowTestImpl implements InputSig { } } -import InlineFlowTestMake +import InlineFlowTestMake diff --git a/csharp/ql/test/library-tests/cil/attributes/Test.cs b/csharp/ql/test/library-tests/cil/attributes/Test.cs deleted file mode 100644 index 2dfba697682..00000000000 --- a/csharp/ql/test/library-tests/cil/attributes/Test.cs +++ /dev/null @@ -1,5 +0,0 @@ -using System; - -class Test -{ -} diff --git a/csharp/ql/test/library-tests/cil/attributes/attribute.expected b/csharp/ql/test/library-tests/cil/attributes/attribute.expected deleted file mode 100644 index 0be9130404a..00000000000 --- a/csharp/ql/test/library-tests/cil/attributes/attribute.expected +++ /dev/null @@ -1,14750 +0,0 @@ -attrNoArg -| !0 | [AllowNullAttribute(...)] | -| !0 | [DisallowNullAttribute(...)] | -| !0 | [IsReadOnlyAttribute(...)] | -| !0 | [NotNullAttribute(...)] | -| !0 | [RequiresLocationAttribute(...)] | -| !0 | [ScopedRefAttribute(...)] | -| !0 System.Activator.CreateInstance`1() | [IntrinsicAttribute(...)] | -| !0 System.Collections.Concurrent.ConcurrentQueue`1.d__26.get_Current() | [DebuggerHiddenAttribute(...)] | -| !0 System.Collections.Concurrent.SingleProducerSingleConsumerQueue`1.d__15.get_Current() | [DebuggerHiddenAttribute(...)] | -| !0 System.Nullable`1.GetValueOrDefault(!0) | [IsReadOnlyAttribute(...)] | -| !0 System.Nullable`1.GetValueOrDefault(!0) | [NonVersionableAttribute(...)] | -| !0 System.Nullable`1.GetValueOrDefault() | [IsReadOnlyAttribute(...)] | -| !0 System.Nullable`1.GetValueOrDefault() | [NonVersionableAttribute(...)] | -| !0 System.Nullable`1.get_Value() | [IsReadOnlyAttribute(...)] | -| !0 System.Nullable`1.op_Explicit(System.Nullable) | [NonVersionableAttribute(...)] | -| !0 System.Numerics.Vector.Dot`1(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| !0 System.Numerics.Vector.GetElementUnsafe`1(System.Numerics.Vector,System.Int32) | [ExtensionAttribute(...)] | -| !0 System.Numerics.Vector.GetElement`1(System.Numerics.Vector,System.Int32) | [ExtensionAttribute(...)] | -| !0 System.Numerics.Vector.GetElement`1(System.Numerics.Vector,System.Int32) | [IntrinsicAttribute(...)] | -| !0 System.Numerics.Vector.Sum`1(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| !0 System.Numerics.Vector.ToScalar`1(System.Numerics.Vector) | [ExtensionAttribute(...)] | -| !0 System.Numerics.Vector.ToScalar`1(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| !0 System.Numerics.Vector`1.get_Item(System.Int32) | [IntrinsicAttribute(...)] | -| !0 System.ReadOnlySpan`1.Enumerator.Current | [IsReadOnlyAttribute(...)] | -| !0 System.ReadOnlySpan`1.Item | [IsReadOnlyAttribute(...)] | -| !0 System.ReadOnlySpan`1.get_Item(System.Int32) | [IntrinsicAttribute(...)] | -| !0 System.ReadOnlySpan`1.get_Item(System.Int32) | [NonVersionableAttribute(...)] | -| !0 System.Reflection.CustomAttributeExtensions.GetCustomAttribute`1(System.Reflection.Assembly) | [ExtensionAttribute(...)] | -| !0 System.Reflection.CustomAttributeExtensions.GetCustomAttribute`1(System.Reflection.MemberInfo) | [ExtensionAttribute(...)] | -| !0 System.Reflection.CustomAttributeExtensions.GetCustomAttribute`1(System.Reflection.MemberInfo,System.Boolean) | [ExtensionAttribute(...)] | -| !0 System.Reflection.CustomAttributeExtensions.GetCustomAttribute`1(System.Reflection.Module) | [ExtensionAttribute(...)] | -| !0 System.Reflection.CustomAttributeExtensions.GetCustomAttribute`1(System.Reflection.ParameterInfo) | [ExtensionAttribute(...)] | -| !0 System.Reflection.CustomAttributeExtensions.GetCustomAttribute`1(System.Reflection.ParameterInfo,System.Boolean) | [ExtensionAttribute(...)] | -| !0 System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult() | [StackTraceHiddenAttribute(...)] | -| !0 System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() | [StackTraceHiddenAttribute(...)] | -| !0 System.Runtime.CompilerServices.Unsafe.AddByteOffset`1(!0,System.IntPtr) | [IntrinsicAttribute(...)] | -| !0 System.Runtime.CompilerServices.Unsafe.AddByteOffset`1(!0,System.IntPtr) | [NonVersionableAttribute(...)] | -| !0 System.Runtime.CompilerServices.Unsafe.AddByteOffset`1(!0,System.UIntPtr) | [IntrinsicAttribute(...)] | -| !0 System.Runtime.CompilerServices.Unsafe.AddByteOffset`1(!0,System.UIntPtr) | [NonVersionableAttribute(...)] | -| !0 System.Runtime.CompilerServices.Unsafe.Add`1(!0,System.Int32) | [IntrinsicAttribute(...)] | -| !0 System.Runtime.CompilerServices.Unsafe.Add`1(!0,System.Int32) | [NonVersionableAttribute(...)] | -| !0 System.Runtime.CompilerServices.Unsafe.Add`1(!0,System.IntPtr) | [IntrinsicAttribute(...)] | -| !0 System.Runtime.CompilerServices.Unsafe.Add`1(!0,System.IntPtr) | [NonVersionableAttribute(...)] | -| !0 System.Runtime.CompilerServices.Unsafe.Add`1(!0,System.UIntPtr) | [IntrinsicAttribute(...)] | -| !0 System.Runtime.CompilerServices.Unsafe.Add`1(!0,System.UIntPtr) | [NonVersionableAttribute(...)] | -| !0 System.Runtime.CompilerServices.Unsafe.AsRef`1(!0) | [IntrinsicAttribute(...)] | -| !0 System.Runtime.CompilerServices.Unsafe.AsRef`1(!0) | [NonVersionableAttribute(...)] | -| !0 System.Runtime.CompilerServices.Unsafe.AsRef`1(System.Void*) | [IntrinsicAttribute(...)] | -| !0 System.Runtime.CompilerServices.Unsafe.AsRef`1(System.Void*) | [NonVersionableAttribute(...)] | -| !0 System.Runtime.CompilerServices.Unsafe.As`1(System.Object) | [IntrinsicAttribute(...)] | -| !0 System.Runtime.CompilerServices.Unsafe.As`1(System.Object) | [NonVersionableAttribute(...)] | -| !0 System.Runtime.CompilerServices.Unsafe.NullRef`1() | [IntrinsicAttribute(...)] | -| !0 System.Runtime.CompilerServices.Unsafe.NullRef`1() | [NonVersionableAttribute(...)] | -| !0 System.Runtime.CompilerServices.Unsafe.ReadUnaligned`1(System.Byte) | [IntrinsicAttribute(...)] | -| !0 System.Runtime.CompilerServices.Unsafe.ReadUnaligned`1(System.Byte) | [NonVersionableAttribute(...)] | -| !0 System.Runtime.CompilerServices.Unsafe.ReadUnaligned`1(System.Void*) | [IntrinsicAttribute(...)] | -| !0 System.Runtime.CompilerServices.Unsafe.ReadUnaligned`1(System.Void*) | [NonVersionableAttribute(...)] | -| !0 System.Runtime.CompilerServices.Unsafe.Read`1(System.Void*) | [IntrinsicAttribute(...)] | -| !0 System.Runtime.CompilerServices.Unsafe.Read`1(System.Void*) | [NonVersionableAttribute(...)] | -| !0 System.Runtime.CompilerServices.Unsafe.SubtractByteOffset`1(!0,System.IntPtr) | [IntrinsicAttribute(...)] | -| !0 System.Runtime.CompilerServices.Unsafe.SubtractByteOffset`1(!0,System.IntPtr) | [NonVersionableAttribute(...)] | -| !0 System.Runtime.CompilerServices.Unsafe.SubtractByteOffset`1(!0,System.UIntPtr) | [IntrinsicAttribute(...)] | -| !0 System.Runtime.CompilerServices.Unsafe.SubtractByteOffset`1(!0,System.UIntPtr) | [NonVersionableAttribute(...)] | -| !0 System.Runtime.CompilerServices.Unsafe.Subtract`1(!0,System.Int32) | [IntrinsicAttribute(...)] | -| !0 System.Runtime.CompilerServices.Unsafe.Subtract`1(!0,System.Int32) | [NonVersionableAttribute(...)] | -| !0 System.Runtime.CompilerServices.Unsafe.Subtract`1(!0,System.IntPtr) | [IntrinsicAttribute(...)] | -| !0 System.Runtime.CompilerServices.Unsafe.Subtract`1(!0,System.IntPtr) | [NonVersionableAttribute(...)] | -| !0 System.Runtime.CompilerServices.Unsafe.Subtract`1(!0,System.UIntPtr) | [IntrinsicAttribute(...)] | -| !0 System.Runtime.CompilerServices.Unsafe.Subtract`1(!0,System.UIntPtr) | [NonVersionableAttribute(...)] | -| !0 System.Runtime.CompilerServices.Unsafe.Unbox`1(System.Object) | [IntrinsicAttribute(...)] | -| !0 System.Runtime.CompilerServices.Unsafe.Unbox`1(System.Object) | [NonVersionableAttribute(...)] | -| !0 System.Runtime.InteropServices.MemoryMarshal.<g__FromArray\|18_2>d`1.get_Current() | [DebuggerHiddenAttribute(...)] | -| !0 System.Runtime.InteropServices.MemoryMarshal.<g__FromMemoryManager\|18_1>d`1.get_Current() | [DebuggerHiddenAttribute(...)] | -| !0 System.Runtime.InteropServices.MemoryMarshal.GetArrayDataReference`1(!0[]) | [IntrinsicAttribute(...)] | -| !0 System.Runtime.InteropServices.MemoryMarshal.GetArrayDataReference`1(!0[]) | [NonVersionableAttribute(...)] | -| !0 System.Runtime.Intrinsics.Vector64.Dot`1(System.Runtime.Intrinsics.Vector64,System.Runtime.Intrinsics.Vector64) | [IntrinsicAttribute(...)] | -| !0 System.Runtime.Intrinsics.Vector64.GetElementUnsafe`1(System.Runtime.Intrinsics.Vector64,System.Int32) | [ExtensionAttribute(...)] | -| !0 System.Runtime.Intrinsics.Vector64.GetElement`1(System.Runtime.Intrinsics.Vector64,System.Int32) | [ExtensionAttribute(...)] | -| !0 System.Runtime.Intrinsics.Vector64.GetElement`1(System.Runtime.Intrinsics.Vector64,System.Int32) | [IntrinsicAttribute(...)] | -| !0 System.Runtime.Intrinsics.Vector64.Sum`1(System.Runtime.Intrinsics.Vector64) | [IntrinsicAttribute(...)] | -| !0 System.Runtime.Intrinsics.Vector64.ToScalar`1(System.Runtime.Intrinsics.Vector64) | [ExtensionAttribute(...)] | -| !0 System.Runtime.Intrinsics.Vector64.ToScalar`1(System.Runtime.Intrinsics.Vector64) | [IntrinsicAttribute(...)] | -| !0 System.Runtime.Intrinsics.Vector128.Dot`1(System.Runtime.Intrinsics.Vector128,System.Runtime.Intrinsics.Vector128) | [IntrinsicAttribute(...)] | -| !0 System.Runtime.Intrinsics.Vector128.GetElementUnsafe`1(System.Runtime.Intrinsics.Vector128,System.Int32) | [ExtensionAttribute(...)] | -| !0 System.Runtime.Intrinsics.Vector128.GetElement`1(System.Runtime.Intrinsics.Vector128,System.Int32) | [ExtensionAttribute(...)] | -| !0 System.Runtime.Intrinsics.Vector128.GetElement`1(System.Runtime.Intrinsics.Vector128,System.Int32) | [IntrinsicAttribute(...)] | -| !0 System.Runtime.Intrinsics.Vector128.Sum`1(System.Runtime.Intrinsics.Vector128) | [IntrinsicAttribute(...)] | -| !0 System.Runtime.Intrinsics.Vector128.ToScalar`1(System.Runtime.Intrinsics.Vector128) | [ExtensionAttribute(...)] | -| !0 System.Runtime.Intrinsics.Vector128.ToScalar`1(System.Runtime.Intrinsics.Vector128) | [IntrinsicAttribute(...)] | -| !0 System.Runtime.Intrinsics.Vector256.Dot`1(System.Runtime.Intrinsics.Vector256,System.Runtime.Intrinsics.Vector256) | [IntrinsicAttribute(...)] | -| !0 System.Runtime.Intrinsics.Vector256.GetElementUnsafe`1(System.Runtime.Intrinsics.Vector256,System.Int32) | [ExtensionAttribute(...)] | -| !0 System.Runtime.Intrinsics.Vector256.GetElement`1(System.Runtime.Intrinsics.Vector256,System.Int32) | [ExtensionAttribute(...)] | -| !0 System.Runtime.Intrinsics.Vector256.GetElement`1(System.Runtime.Intrinsics.Vector256,System.Int32) | [IntrinsicAttribute(...)] | -| !0 System.Runtime.Intrinsics.Vector256.Sum`1(System.Runtime.Intrinsics.Vector256) | [IntrinsicAttribute(...)] | -| !0 System.Runtime.Intrinsics.Vector256.ToScalar`1(System.Runtime.Intrinsics.Vector256) | [ExtensionAttribute(...)] | -| !0 System.Runtime.Intrinsics.Vector256.ToScalar`1(System.Runtime.Intrinsics.Vector256) | [IntrinsicAttribute(...)] | -| !0 System.Runtime.Intrinsics.Vector512.Dot`1(System.Runtime.Intrinsics.Vector512,System.Runtime.Intrinsics.Vector512) | [IntrinsicAttribute(...)] | -| !0 System.Runtime.Intrinsics.Vector512.GetElementUnsafe`1(System.Runtime.Intrinsics.Vector512,System.Int32) | [ExtensionAttribute(...)] | -| !0 System.Runtime.Intrinsics.Vector512.GetElement`1(System.Runtime.Intrinsics.Vector512,System.Int32) | [ExtensionAttribute(...)] | -| !0 System.Runtime.Intrinsics.Vector512.GetElement`1(System.Runtime.Intrinsics.Vector512,System.Int32) | [IntrinsicAttribute(...)] | -| !0 System.Runtime.Intrinsics.Vector512.Sum`1(System.Runtime.Intrinsics.Vector512) | [IntrinsicAttribute(...)] | -| !0 System.Runtime.Intrinsics.Vector512.ToScalar`1(System.Runtime.Intrinsics.Vector512) | [ExtensionAttribute(...)] | -| !0 System.Runtime.Intrinsics.Vector512.ToScalar`1(System.Runtime.Intrinsics.Vector512) | [IntrinsicAttribute(...)] | -| !0 System.Span`1.get_Item(System.Int32) | [IntrinsicAttribute(...)] | -| !0 System.Span`1.get_Item(System.Int32) | [NonVersionableAttribute(...)] | -| !0 System.Threading.AsyncLocalValueChangedArgs`1.get_CurrentValue() | [CompilerGeneratedAttribute(...)] | -| !0 System.Threading.AsyncLocalValueChangedArgs`1.get_PreviousValue() | [CompilerGeneratedAttribute(...)] | -| !0 System.Threading.Interlocked.CompareExchange`1(!0,!0,!0) | [IntrinsicAttribute(...)] | -| !0 System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.GetResult(System.Int16) | [StackTraceHiddenAttribute(...)] | -| !0 System.Threading.Tasks.TaskAsyncEnumerableExtensions.d__3`1.get_Current() | [DebuggerHiddenAttribute(...)] | -| !0 System.Threading.Volatile.Read`1(!0) | [IntrinsicAttribute(...)] | -| !0 System.Threading.Volatile.Read`1(!0) | [NonVersionableAttribute(...)] | -| !0* | [ScopedRefAttribute(...)] | -| !0[] | [NotNullAttribute(...)] | -| !1 System.Collections.Generic.CollectionExtensions.GetValueOrDefault`2(System.Collections.Generic.IReadOnlyDictionary,!0) | [ExtensionAttribute(...)] | -| !1 System.Collections.Generic.CollectionExtensions.GetValueOrDefault`2(System.Collections.Generic.IReadOnlyDictionary,!0,!1) | [ExtensionAttribute(...)] | -| !1 System.Runtime.CompilerServices.Unsafe.As`2(!0) | [IntrinsicAttribute(...)] | -| !1 System.Runtime.CompilerServices.Unsafe.As`2(!0) | [NonVersionableAttribute(...)] | -| !1 System.Runtime.CompilerServices.Unsafe.BitCast`2(!0) | [IntrinsicAttribute(...)] | -| !1 System.Runtime.CompilerServices.Unsafe.BitCast`2(!0) | [NonVersionableAttribute(...)] | -| | [CompilerGeneratedAttribute(...)] | -| Internal.PaddingFor32 | [IsReadOnlyAttribute(...)] | -| Internal.Runtime.InteropServices.ComponentActivator.<>c__DisplayClass15_0 | [CompilerGeneratedAttribute(...)] | -| Internal.Runtime.InteropServices.ComponentActivator.k__BackingField | [CompilerGeneratedAttribute(...)] | -| Interop.ErrorInfo InteropErrorExtensions.Info(Interop.Error) | [ExtensionAttribute(...)] | -| Interop.Globalization.ResultCode Interop.Globalization.g____PInvoke\|1_0(System.UInt16*,System.Globalization.CalendarId,System.Globalization.CalendarDataType,System.Char*,System.Int32) | [CompilerGeneratedAttribute(...)] | -| Interop.Globalization.ResultCode Interop.Globalization.g____PInvoke\|10_0(System.Byte*,System.IntPtr*) | [CompilerGeneratedAttribute(...)] | -| Interop.Globalization.ResultCode Interop.Globalization.g____PInvoke\|41_0(System.UInt16*,System.UInt16*,Interop.Globalization.TimeZoneDisplayNameType,System.Char*,System.Int32) | [CompilerGeneratedAttribute(...)] | -| Interop.Globalization.ResultCode Interop.Globalization.GetCalendarInfo(System.String,System.Globalization.CalendarId,System.Globalization.CalendarDataType,System.Char*,System.Int32) | [LibraryImportAttribute(...)] | -| Interop.Globalization.ResultCode Interop.Globalization.GetSortHandle(System.String,System.IntPtr) | [LibraryImportAttribute(...)] | -| Interop.Globalization.ResultCode Interop.Globalization.GetTimeZoneDisplayName(System.String,System.String,Interop.Globalization.TimeZoneDisplayNameType,System.Char*,System.Int32) | [LibraryImportAttribute(...)] | -| Interop.PollEvents | [FlagsAttribute(...)] | -| Interop.Sys.WinSize | [IsReadOnlyAttribute(...)] | -| InteropErrorExtensions | [ExtensionAttribute(...)] | -| Microsoft.Win32.SafeHandles.SafeFileHandle.k__BackingField | [CompilerGeneratedAttribute(...)] | -| Microsoft.Win32.SafeHandles.SafeFileHandle.k__BackingField | [CompilerGeneratedAttribute(...)] | -| Microsoft.Win32.SafeHandles.SafeFileHandle.ThreadPoolValueTaskSource.<>c | [CompilerGeneratedAttribute(...)] | -| Microsoft.Win32.SafeHandles.SafeFileHandle.t_lastCloseErrorInfo | [ThreadStaticAttribute(...)] | -| Microsoft.Win32.SafeHandles.SafeWaitHandle | [AllowNullAttribute(...)] | -| Microsoft.Win32.SafeHandles.SafeWaitHandle Interop.Kernel32.CreateEventEx(System.IntPtr,System.String,System.UInt32,System.UInt32) | [LibraryImportAttribute(...)] | -| Microsoft.Win32.SafeHandles.SafeWaitHandle Interop.Kernel32.CreateMutexEx(System.IntPtr,System.String,System.UInt32,System.UInt32) | [LibraryImportAttribute(...)] | -| Microsoft.Win32.SafeHandles.SafeWaitHandle Interop.Kernel32.CreateSemaphoreEx(System.IntPtr,System.Int32,System.Int32,System.String,System.UInt32,System.UInt32) | [LibraryImportAttribute(...)] | -| Microsoft.Win32.SafeHandles.SafeWaitHandle Interop.Kernel32.OpenMutex(System.UInt32,System.Boolean,System.String) | [LibraryImportAttribute(...)] | -| Microsoft.Win32.SafeHandles.SafeWaitHandle System.Threading.RegisteredWaitHandle.get_UserUnregisterWaitHandle() | [CompilerGeneratedAttribute(...)] | -| Microsoft.Win32.SafeHandles.SafeWaitHandle System.Threading.WaitHandleExtensions.GetSafeWaitHandle(System.Threading.WaitHandle) | [ExtensionAttribute(...)] | -| System.Action System.Runtime.InteropServices.PosixSignalRegistration.Token.get_Handler() | [CompilerGeneratedAttribute(...)] | -| System.AppContext.FirstChanceException | [CompilerGeneratedAttribute(...)] | -| System.AppContext.ProcessExit | [CompilerGeneratedAttribute(...)] | -| System.AppContext.UnhandledException | [CompilerGeneratedAttribute(...)] | -| System.AppDomain.DomainUnload | [CompilerGeneratedAttribute(...)] | -| System.AppDomain.ReflectionOnlyAssemblyResolve | [CompilerGeneratedAttribute(...)] | -| System.ApplicationId.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.ApplicationId.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.ApplicationId.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.ApplicationId.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.ArgIterator | [IsByRefLikeAttribute(...)] | -| System.Array.SorterGenericArray | [IsReadOnlyAttribute(...)] | -| System.Array.SorterObjectArray | [IsReadOnlyAttribute(...)] | -| System.ArraySegment System.ArraySegment`1.get_Empty() | [CompilerGeneratedAttribute(...)] | -| System.ArraySegment`1 | [IsReadOnlyAttribute(...)] | -| System.ArraySegment`1.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.AssemblyLoadEventArgs.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Attribute System.Reflection.CustomAttributeExtensions.GetCustomAttribute(System.Reflection.Assembly,System.Type) | [ExtensionAttribute(...)] | -| System.Attribute System.Reflection.CustomAttributeExtensions.GetCustomAttribute(System.Reflection.MemberInfo,System.Type) | [ExtensionAttribute(...)] | -| System.Attribute System.Reflection.CustomAttributeExtensions.GetCustomAttribute(System.Reflection.MemberInfo,System.Type,System.Boolean) | [ExtensionAttribute(...)] | -| System.Attribute System.Reflection.CustomAttributeExtensions.GetCustomAttribute(System.Reflection.Module,System.Type) | [ExtensionAttribute(...)] | -| System.Attribute System.Reflection.CustomAttributeExtensions.GetCustomAttribute(System.Reflection.ParameterInfo,System.Type) | [ExtensionAttribute(...)] | -| System.Attribute System.Reflection.CustomAttributeExtensions.GetCustomAttribute(System.Reflection.ParameterInfo,System.Type,System.Boolean) | [ExtensionAttribute(...)] | -| System.AttributeTargets | [FlagsAttribute(...)] | -| System.Base64FormattingOptions | [FlagsAttribute(...)] | -| System.BitConverter.IsLittleEndian | [IntrinsicAttribute(...)] | -| System.Boolean Internal.Runtime.InteropServices.ComponentActivator.get_IsSupported() | [CompilerGeneratedAttribute(...)] | -| System.Boolean Interop.g__ParentDirectoryExists\|11_0(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Boolean Interop.g__ParentDirectoryExists\|19_0(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Boolean Interop.Globalization.EndsWith(System.IntPtr,System.Char*,System.Int32,System.Char*,System.Int32,System.Globalization.CompareOptions,System.Int32*) | [LibraryImportAttribute(...)] | -| System.Boolean Interop.Globalization.EnumCalendarInfo(System.IntPtr,System.String,System.Globalization.CalendarId,System.Globalization.CalendarDataType,System.IntPtr) | [LibraryImportAttribute(...)] | -| System.Boolean Interop.Globalization.GetDefaultLocaleName(System.Char*,System.Int32) | [LibraryImportAttribute(...)] | -| System.Boolean Interop.Globalization.GetLocaleInfoGroupingSizes(System.String,System.UInt32,System.Int32,System.Int32) | [LibraryImportAttribute(...)] | -| System.Boolean Interop.Globalization.GetLocaleInfoInt(System.String,System.UInt32,System.Int32) | [LibraryImportAttribute(...)] | -| System.Boolean Interop.Globalization.GetLocaleInfoString(System.String,System.UInt32,System.Char*,System.Int32,System.String) | [LibraryImportAttribute(...)] | -| System.Boolean Interop.Globalization.GetLocaleName(System.String,System.Char*,System.Int32) | [LibraryImportAttribute(...)] | -| System.Boolean Interop.Globalization.GetLocaleTimeFormat(System.String,System.Boolean,System.Char*,System.Int32) | [LibraryImportAttribute(...)] | -| System.Boolean Interop.Globalization.IsPredefinedLocale(System.String) | [LibraryImportAttribute(...)] | -| System.Boolean Interop.Globalization.StartsWith(System.IntPtr,System.Char*,System.Int32,System.Char*,System.Int32,System.Globalization.CompareOptions,System.Int32*) | [LibraryImportAttribute(...)] | -| System.Boolean Interop.Kernel32.SetEnvironmentVariable(System.String,System.String) | [LibraryImportAttribute(...)] | -| System.Boolean Microsoft.Win32.SafeHandles.SafeFileHandle.get_DisableFileLocking() | [CompilerGeneratedAttribute(...)] | -| System.Boolean Microsoft.Win32.SafeHandles.SafeFileHandle.get_IsAsync() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Boolean.g__TryParseUncommon\|20_0(System.ReadOnlySpan,System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Boolean.Equals(System.Boolean) | [NonVersionableAttribute(...)] | -| System.Boolean System.Buffers.BitVector256.Contains128(System.Char) | [IsReadOnlyAttribute(...)] | -| System.Boolean System.Buffers.BitVector256.Contains256(System.Char) | [IsReadOnlyAttribute(...)] | -| System.Boolean System.Buffers.BitVector256.Contains(System.Byte) | [IsReadOnlyAttribute(...)] | -| System.Boolean System.Buffers.BitVector256.ContainsUnchecked(System.Int32) | [IsReadOnlyAttribute(...)] | -| System.Boolean System.Buffers.Text.ParserHelpers.TryParseThrowFormatException`1(System.ReadOnlySpan,!0,System.Int32) | [DoesNotReturnAttribute(...)] | -| System.Boolean System.Buffers.Text.ParserHelpers.TryParseThrowFormatException`1(System.ReadOnlySpan,!0,System.Int32) | [StackTraceHiddenAttribute(...)] | -| System.Boolean System.Byte.Equals(System.Byte) | [NonVersionableAttribute(...)] | -| System.Boolean System.Char.Equals(System.Char) | [NonVersionableAttribute(...)] | -| System.Boolean System.Collections.Generic.CollectionExtensions.Remove`2(System.Collections.Generic.IDictionary,!0,!1) | [ExtensionAttribute(...)] | -| System.Boolean System.Collections.Generic.CollectionExtensions.TryAdd`2(System.Collections.Generic.IDictionary,!0,!1) | [ExtensionAttribute(...)] | -| System.Boolean System.ComponentModel.DefaultValueAttribute.ctor>g__TryConvertFromInvariantString\|2_0(System.Type,System.String,System.Object) | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.ConsoleCancelEventArgs.get_Cancel() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.ConsolePal.g__AppendToStdInReaderUntil\|82_2(System.Byte,System.IO.StdInReader,System.Span,System.Int32,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.ConsolePal.g__BufferUntil\|82_1(System.Byte,System.Span,System.Int32,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Convert.IsSpace(System.Char) | [ExtensionAttribute(...)] | -| System.Boolean System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.get_ParameterValue() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.get_ReturnValue() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.get_ReturnValue() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.get_ReturnValue() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Diagnostics.StackFrameExtensions.HasILOffset(System.Diagnostics.StackFrame) | [ExtensionAttribute(...)] | -| System.Boolean System.Diagnostics.StackFrameExtensions.HasMethod(System.Diagnostics.StackFrame) | [ExtensionAttribute(...)] | -| System.Boolean System.Diagnostics.StackFrameExtensions.HasNativeImage(System.Diagnostics.StackFrame) | [ExtensionAttribute(...)] | -| System.Boolean System.Diagnostics.StackFrameExtensions.HasSource(System.Diagnostics.StackFrame) | [ExtensionAttribute(...)] | -| System.Boolean System.Diagnostics.Tracing.EventChannelAttribute.get_Enabled() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Diagnostics.Tracing.EventSource.get_IsSupported() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Double.IsFinite(System.Double) | [NonVersionableAttribute(...)] | -| System.Boolean System.Double.IsInfinity(System.Double) | [NonVersionableAttribute(...)] | -| System.Boolean System.Double.IsNaN(System.Double) | [NonVersionableAttribute(...)] | -| System.Boolean System.Double.IsNegative(System.Double) | [NonVersionableAttribute(...)] | -| System.Boolean System.Double.IsNegativeInfinity(System.Double) | [NonVersionableAttribute(...)] | -| System.Boolean System.Double.IsNormal(System.Double) | [NonVersionableAttribute(...)] | -| System.Boolean System.Double.IsPositiveInfinity(System.Double) | [NonVersionableAttribute(...)] | -| System.Boolean System.Double.IsSubnormal(System.Double) | [NonVersionableAttribute(...)] | -| System.Boolean System.Double.op_Equality(System.Double,System.Double) | [NonVersionableAttribute(...)] | -| System.Boolean System.Double.op_GreaterThan(System.Double,System.Double) | [NonVersionableAttribute(...)] | -| System.Boolean System.Double.op_GreaterThanOrEqual(System.Double,System.Double) | [NonVersionableAttribute(...)] | -| System.Boolean System.Double.op_Inequality(System.Double,System.Double) | [NonVersionableAttribute(...)] | -| System.Boolean System.Double.op_LessThan(System.Double,System.Double) | [NonVersionableAttribute(...)] | -| System.Boolean System.Double.op_LessThanOrEqual(System.Double,System.Double) | [NonVersionableAttribute(...)] | -| System.Boolean System.Enum.g__TryParseRareTypes\|41_0(System.RuntimeType,System.ReadOnlySpan,System.Boolean,System.Boolean,System.Int64) | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Enum.HasFlag(System.Enum) | [IntrinsicAttribute(...)] | -| System.Boolean System.Globalization.CalendarData.g__AreEraNamesEmpty\|24_0() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Globalization.GlobalizationMode.Settings.get_Invariant() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Globalization.GlobalizationMode.Settings.get_PredefinedCulturesOnly() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Guid.g__TryCompatParsing\|33_0(System.ReadOnlySpan,System.Guid.GuidResult) | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.IO.Enumeration.FileSystemEnumerator`1.g__ShouldSkip\|36_0(System.IO.FileAttributes) | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.IO.EnumerationOptions.get_IgnoreInaccessible() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.IO.EnumerationOptions.get_RecurseSubdirectories() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.IO.EnumerationOptions.get_ReturnSpecialDirectories() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.IO.File.d__110.GetResult(System.Int16) | [DebuggerHiddenAttribute(...)] | -| System.Boolean System.IO.KeyParser.g__IsRxvtModifier\|7_5(System.Char) | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.IO.KeyParser.g__IsSequenceEndTag\|7_4(System.Char) | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.IO.Strategies.FileStreamStrategy.get_IsDerived() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.IO.Stream.HasOverriddenBeginEndRead() | [IntrinsicAttribute(...)] | -| System.Boolean System.IO.Stream.HasOverriddenBeginEndWrite() | [IntrinsicAttribute(...)] | -| System.Boolean System.IO.StreamReader.g__IsPreambleWorker\|57_0() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Int16.Equals(System.Int16) | [NonVersionableAttribute(...)] | -| System.Boolean System.Int32.Equals(System.Int32) | [NonVersionableAttribute(...)] | -| System.Boolean System.Int64.Equals(System.Int64) | [NonVersionableAttribute(...)] | -| System.Boolean System.IntPtr.Equals(System.IntPtr) | [NonVersionableAttribute(...)] | -| System.Boolean System.IntPtr.op_Equality(System.IntPtr,System.IntPtr) | [NonVersionableAttribute(...)] | -| System.Boolean System.IntPtr.op_Inequality(System.IntPtr,System.IntPtr) | [NonVersionableAttribute(...)] | -| System.Boolean System.MemoryExtensions.Contains(System.ReadOnlySpan,System.ReadOnlySpan,System.StringComparison) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.ContainsAnyExceptInRange`1(System.ReadOnlySpan,!0,!0) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.ContainsAnyExceptInRange`1(System.Span,!0,!0) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.ContainsAnyExcept`1(System.ReadOnlySpan,!0) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.ContainsAnyExcept`1(System.ReadOnlySpan,!0,!0) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.ContainsAnyExcept`1(System.ReadOnlySpan,!0,!0,!0) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.ContainsAnyExcept`1(System.ReadOnlySpan,System.Buffers.SearchValues) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.ContainsAnyExcept`1(System.ReadOnlySpan,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.ContainsAnyExcept`1(System.Span,!0) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.ContainsAnyExcept`1(System.Span,!0,!0) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.ContainsAnyExcept`1(System.Span,!0,!0,!0) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.ContainsAnyExcept`1(System.Span,System.Buffers.SearchValues) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.ContainsAnyExcept`1(System.Span,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.ContainsAnyInRange`1(System.ReadOnlySpan,!0,!0) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.ContainsAnyInRange`1(System.Span,!0,!0) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.ContainsAny`1(System.ReadOnlySpan,!0,!0) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.ContainsAny`1(System.ReadOnlySpan,!0,!0,!0) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.ContainsAny`1(System.ReadOnlySpan,System.Buffers.SearchValues) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.ContainsAny`1(System.ReadOnlySpan,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.ContainsAny`1(System.Span,!0,!0) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.ContainsAny`1(System.Span,!0,!0,!0) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.ContainsAny`1(System.Span,System.Buffers.SearchValues) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.ContainsAny`1(System.Span,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.Contains`1(System.ReadOnlySpan,!0) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.Contains`1(System.Span,!0) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.EndsWith(System.ReadOnlySpan,System.ReadOnlySpan,System.StringComparison) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.EndsWithOrdinalIgnoreCase(System.ReadOnlySpan,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.EndsWith`1(System.ReadOnlySpan,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.EndsWith`1(System.Span,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.Equals(System.ReadOnlySpan,System.ReadOnlySpan,System.StringComparison) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.Equals(System.ReadOnlySpan,System.ReadOnlySpan,System.StringComparison) | [IntrinsicAttribute(...)] | -| System.Boolean System.MemoryExtensions.EqualsOrdinal(System.ReadOnlySpan,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.EqualsOrdinalIgnoreCase(System.ReadOnlySpan,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.EqualsOrdinalIgnoreCaseUtf8(System.ReadOnlySpan,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.IsWhiteSpace(System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.Overlaps`1(System.ReadOnlySpan,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.Overlaps`1(System.ReadOnlySpan,System.ReadOnlySpan,System.Int32) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.Overlaps`1(System.Span,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.Overlaps`1(System.Span,System.ReadOnlySpan,System.Int32) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.SequenceEqual`1(System.ReadOnlySpan,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.SequenceEqual`1(System.ReadOnlySpan,System.ReadOnlySpan) | [IntrinsicAttribute(...)] | -| System.Boolean System.MemoryExtensions.SequenceEqual`1(System.ReadOnlySpan,System.ReadOnlySpan,System.Collections.Generic.IEqualityComparer) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.SequenceEqual`1(System.Span,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.SequenceEqual`1(System.Span,System.ReadOnlySpan) | [IntrinsicAttribute(...)] | -| System.Boolean System.MemoryExtensions.SequenceEqual`1(System.Span,System.ReadOnlySpan,System.Collections.Generic.IEqualityComparer) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.StartsWith(System.ReadOnlySpan,System.ReadOnlySpan,System.StringComparison) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.StartsWith(System.ReadOnlySpan,System.ReadOnlySpan,System.StringComparison) | [IntrinsicAttribute(...)] | -| System.Boolean System.MemoryExtensions.StartsWithOrdinalIgnoreCase(System.ReadOnlySpan,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.StartsWithOrdinalIgnoreCaseUtf8(System.ReadOnlySpan,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.StartsWithUtf8(System.ReadOnlySpan,System.ReadOnlySpan,System.StringComparison) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.StartsWith`1(System.ReadOnlySpan,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.StartsWith`1(System.ReadOnlySpan,System.ReadOnlySpan) | [IntrinsicAttribute(...)] | -| System.Boolean System.MemoryExtensions.StartsWith`1(System.Span,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.StartsWith`1(System.Span,System.ReadOnlySpan) | [IntrinsicAttribute(...)] | -| System.Boolean System.MemoryExtensions.TryWrite(System.Span,System.IFormatProvider,System.MemoryExtensions.TryWriteInterpolatedStringHandler,System.Int32) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.TryWrite(System.Span,System.IFormatProvider,System.Text.CompositeFormat,System.Int32,System.Object[]) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.TryWrite(System.Span,System.IFormatProvider,System.Text.CompositeFormat,System.Int32,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.TryWrite(System.Span,System.MemoryExtensions.TryWriteInterpolatedStringHandler,System.Int32) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.TryWrite`1(System.Span,System.IFormatProvider,System.Text.CompositeFormat,System.Int32,!0) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.TryWrite`2(System.Span,System.IFormatProvider,System.Text.CompositeFormat,System.Int32,!0,!1) | [ExtensionAttribute(...)] | -| System.Boolean System.MemoryExtensions.TryWrite`3(System.Span,System.IFormatProvider,System.Text.CompositeFormat,System.Int32,!0,!1,!2) | [ExtensionAttribute(...)] | -| System.Boolean System.Nullable`1.get_HasValue() | [IsReadOnlyAttribute(...)] | -| System.Boolean System.Nullable`1.get_HasValue() | [NonVersionableAttribute(...)] | -| System.Boolean System.Number.g__ShouldRoundUp\|121_0(System.Byte*,System.Int32,System.Number.NumberBufferKind,System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Number.g__TryFormatInt32Slow\|42_0`1(System.Int32,System.Int32,System.ReadOnlySpan,System.IFormatProvider,System.Span,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Number.g__TryFormatInt64Slow\|46_0`1(System.Int64,System.ReadOnlySpan,System.IFormatProvider,System.Span,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Number.g__TryFormatInt128Slow\|50_0`1(System.Int128,System.ReadOnlySpan,System.IFormatProvider,System.Span,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Number.g__TryFormatUInt32Slow\|44_0`1(System.UInt32,System.ReadOnlySpan,System.IFormatProvider,System.Span,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Number.g__TryFormatUInt64Slow\|48_0`1(System.UInt64,System.ReadOnlySpan,System.IFormatProvider,System.Span,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Number.g__TryFormatUInt128Slow\|52_0`1(System.UInt128,System.ReadOnlySpan,System.IFormatProvider,System.Span,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Numerics.Matrix3x2.Equals(System.Numerics.Matrix3x2) | [IsReadOnlyAttribute(...)] | -| System.Boolean System.Numerics.Matrix3x2.Equals(System.Object) | [IsReadOnlyAttribute(...)] | -| System.Boolean System.Numerics.Matrix3x2.Impl.Equals(System.Numerics.Matrix3x2.Impl) | [IsReadOnlyAttribute(...)] | -| System.Boolean System.Numerics.Matrix3x2.Impl.Equals(System.Object) | [IsReadOnlyAttribute(...)] | -| System.Boolean System.Numerics.Matrix3x2.Impl.get_IsIdentity() | [IsReadOnlyAttribute(...)] | -| System.Boolean System.Numerics.Matrix3x2.get_IsIdentity() | [IsReadOnlyAttribute(...)] | -| System.Boolean System.Numerics.Matrix4x4.Equals(System.Numerics.Matrix4x4) | [IsReadOnlyAttribute(...)] | -| System.Boolean System.Numerics.Matrix4x4.Equals(System.Object) | [IsReadOnlyAttribute(...)] | -| System.Boolean System.Numerics.Matrix4x4.Impl.g__SoftwareFallback\|64_2(System.Numerics.Matrix4x4.Impl,System.Numerics.Matrix4x4.Impl) | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Numerics.Matrix4x4.Impl.g__SseImpl\|64_0(System.Numerics.Matrix4x4.Impl,System.Numerics.Matrix4x4.Impl) | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Numerics.Matrix4x4.Impl.Equals(System.Numerics.Matrix4x4.Impl) | [IsReadOnlyAttribute(...)] | -| System.Boolean System.Numerics.Matrix4x4.Impl.Equals(System.Object) | [IsReadOnlyAttribute(...)] | -| System.Boolean System.Numerics.Matrix4x4.Impl.get_IsIdentity() | [IsReadOnlyAttribute(...)] | -| System.Boolean System.Numerics.Matrix4x4.get_IsIdentity() | [IsReadOnlyAttribute(...)] | -| System.Boolean System.Numerics.Plane.g__SoftwareFallback\|16_0(System.Numerics.Plane,System.Numerics.Plane) | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Numerics.Plane.Equals(System.Numerics.Plane) | [IsReadOnlyAttribute(...)] | -| System.Boolean System.Numerics.Plane.Equals(System.Object) | [IsReadOnlyAttribute(...)] | -| System.Boolean System.Numerics.Plane.op_Equality(System.Numerics.Plane,System.Numerics.Plane) | [IntrinsicAttribute(...)] | -| System.Boolean System.Numerics.Plane.op_Inequality(System.Numerics.Plane,System.Numerics.Plane) | [IntrinsicAttribute(...)] | -| System.Boolean System.Numerics.Quaternion.g__SoftwareFallback\|44_0(System.Numerics.Quaternion,System.Numerics.Quaternion) | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Numerics.Quaternion.Equals(System.Numerics.Quaternion) | [IsReadOnlyAttribute(...)] | -| System.Boolean System.Numerics.Quaternion.Equals(System.Object) | [IsReadOnlyAttribute(...)] | -| System.Boolean System.Numerics.Quaternion.get_IsIdentity() | [IsReadOnlyAttribute(...)] | -| System.Boolean System.Numerics.Quaternion.op_Equality(System.Numerics.Quaternion,System.Numerics.Quaternion) | [IntrinsicAttribute(...)] | -| System.Boolean System.Numerics.Quaternion.op_Inequality(System.Numerics.Quaternion,System.Numerics.Quaternion) | [IntrinsicAttribute(...)] | -| System.Boolean System.Numerics.Vector2.g__SoftwareFallback\|59_0(System.Numerics.Vector2,System.Numerics.Vector2) | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Numerics.Vector2.Equals(System.Numerics.Vector2) | [IsReadOnlyAttribute(...)] | -| System.Boolean System.Numerics.Vector2.Equals(System.Object) | [IsReadOnlyAttribute(...)] | -| System.Boolean System.Numerics.Vector2.TryCopyTo(System.Span) | [IsReadOnlyAttribute(...)] | -| System.Boolean System.Numerics.Vector2.op_Equality(System.Numerics.Vector2,System.Numerics.Vector2) | [IntrinsicAttribute(...)] | -| System.Boolean System.Numerics.Vector2.op_Inequality(System.Numerics.Vector2,System.Numerics.Vector2) | [IntrinsicAttribute(...)] | -| System.Boolean System.Numerics.Vector3.g__SoftwareFallback\|60_0(System.Numerics.Vector3,System.Numerics.Vector3) | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Numerics.Vector3.Equals(System.Numerics.Vector3) | [IsReadOnlyAttribute(...)] | -| System.Boolean System.Numerics.Vector3.Equals(System.Object) | [IsReadOnlyAttribute(...)] | -| System.Boolean System.Numerics.Vector3.TryCopyTo(System.Span) | [IsReadOnlyAttribute(...)] | -| System.Boolean System.Numerics.Vector3.op_Equality(System.Numerics.Vector3,System.Numerics.Vector3) | [IntrinsicAttribute(...)] | -| System.Boolean System.Numerics.Vector3.op_Inequality(System.Numerics.Vector3,System.Numerics.Vector3) | [IntrinsicAttribute(...)] | -| System.Boolean System.Numerics.Vector4.g__SoftwareFallback\|66_0(System.Numerics.Vector4,System.Numerics.Vector4) | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Numerics.Vector4.Equals(System.Numerics.Vector4) | [IsReadOnlyAttribute(...)] | -| System.Boolean System.Numerics.Vector4.Equals(System.Object) | [IsReadOnlyAttribute(...)] | -| System.Boolean System.Numerics.Vector4.TryCopyTo(System.Span) | [IsReadOnlyAttribute(...)] | -| System.Boolean System.Numerics.Vector4.op_Equality(System.Numerics.Vector4,System.Numerics.Vector4) | [IntrinsicAttribute(...)] | -| System.Boolean System.Numerics.Vector4.op_Inequality(System.Numerics.Vector4,System.Numerics.Vector4) | [IntrinsicAttribute(...)] | -| System.Boolean System.Numerics.Vector.EqualsAll`1(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Boolean System.Numerics.Vector.EqualsAny`1(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Boolean System.Numerics.Vector.GreaterThanAll`1(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Boolean System.Numerics.Vector.GreaterThanAny`1(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Boolean System.Numerics.Vector.GreaterThanOrEqualAll`1(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Boolean System.Numerics.Vector.GreaterThanOrEqualAny`1(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Boolean System.Numerics.Vector.LessThanAll`1(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Boolean System.Numerics.Vector.LessThanAny`1(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Boolean System.Numerics.Vector.LessThanOrEqualAll`1(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Boolean System.Numerics.Vector.LessThanOrEqualAny`1(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Boolean System.Numerics.Vector.get_IsHardwareAccelerated() | [IntrinsicAttribute(...)] | -| System.Boolean System.Numerics.Vector`1.g__SoftwareFallback\|57_0(System.Numerics.Vector,System.Numerics.Vector) | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Numerics.Vector`1.op_Equality(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Boolean System.Numerics.Vector`1.op_Inequality(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Boolean System.Object.ReferenceEquals(System.Object,System.Object) | [NonVersionableAttribute(...)] | -| System.Boolean System.ObsoleteAttribute.get_IsError() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.OperatingSystem.IsAndroid() | [NonVersionableAttribute(...)] | -| System.Boolean System.OperatingSystem.IsBrowser() | [NonVersionableAttribute(...)] | -| System.Boolean System.OperatingSystem.IsFreeBSD() | [NonVersionableAttribute(...)] | -| System.Boolean System.OperatingSystem.IsIOS() | [NonVersionableAttribute(...)] | -| System.Boolean System.OperatingSystem.IsIOSVersionAtLeast(System.Int32,System.Int32,System.Int32) | [NonVersionableAttribute(...)] | -| System.Boolean System.OperatingSystem.IsLinux() | [NonVersionableAttribute(...)] | -| System.Boolean System.OperatingSystem.IsMacCatalyst() | [NonVersionableAttribute(...)] | -| System.Boolean System.OperatingSystem.IsMacOS() | [NonVersionableAttribute(...)] | -| System.Boolean System.OperatingSystem.IsTvOS() | [NonVersionableAttribute(...)] | -| System.Boolean System.OperatingSystem.IsWasi() | [NonVersionableAttribute(...)] | -| System.Boolean System.OperatingSystem.IsWatchOS() | [NonVersionableAttribute(...)] | -| System.Boolean System.OperatingSystem.IsWindows() | [NonVersionableAttribute(...)] | -| System.Boolean System.ReadOnlySpan`1.get_IsEmpty() | [NonVersionableAttribute(...)] | -| System.Boolean System.Reflection.AssemblyDelaySignAttribute.get_DelaySign() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Reflection.CustomAttributeExtensions.IsDefined(System.Reflection.Assembly,System.Type) | [ExtensionAttribute(...)] | -| System.Boolean System.Reflection.CustomAttributeExtensions.IsDefined(System.Reflection.MemberInfo,System.Type) | [ExtensionAttribute(...)] | -| System.Boolean System.Reflection.CustomAttributeExtensions.IsDefined(System.Reflection.MemberInfo,System.Type,System.Boolean) | [ExtensionAttribute(...)] | -| System.Boolean System.Reflection.CustomAttributeExtensions.IsDefined(System.Reflection.Module,System.Type) | [ExtensionAttribute(...)] | -| System.Boolean System.Reflection.CustomAttributeExtensions.IsDefined(System.Reflection.ParameterInfo,System.Type) | [ExtensionAttribute(...)] | -| System.Boolean System.Reflection.CustomAttributeExtensions.IsDefined(System.Reflection.ParameterInfo,System.Type,System.Boolean) | [ExtensionAttribute(...)] | -| System.Boolean System.Reflection.Metadata.AssemblyExtensions.TryGetRawMetadata(System.Reflection.Assembly,System.Byte*,System.Int32) | [ExtensionAttribute(...)] | -| System.Boolean System.Reflection.Metadata.MetadataUpdater.get_IsSupported() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Reflection.NullabilityInfoContext.get_IsSupported() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Reflection.ObfuscateAssemblyAttribute.get_AssemblyIsPrivate() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Reflection.ObfuscateAssemblyAttribute.get_StripAfterObfuscation() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Reflection.ObfuscationAttribute.get_ApplyToMembers() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Reflection.ObfuscationAttribute.get_Exclude() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Reflection.ObfuscationAttribute.get_StripAfterObfuscation() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Reflection.RuntimeMethodInfo.g__IsDisallowedByRefType\|97_0(System.Type) | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Reflection.SignatureTypeExtensions.MatchesExactly(System.Reflection.SignatureType,System.Type) | [ExtensionAttribute(...)] | -| System.Boolean System.Reflection.SignatureTypeExtensions.MatchesParameterTypeExactly(System.Type,System.Reflection.ParameterInfo) | [ExtensionAttribute(...)] | -| System.Boolean System.Resources.ResourceReader.g__InitializeBinaryFormatterLocal\|5_0() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Resources.ResourceReader.get_AllowCustomResourceTypes() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute.get_IsOptional() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Runtime.CompilerServices.InternalsVisibleToAttribute.get_AllInternalsVisible() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Runtime.CompilerServices.RuntimeCompatibilityAttribute.get_WrapNonExceptionThrows() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Runtime.CompilerServices.RuntimeFeature.get_IsDynamicCodeSupported() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Runtime.CompilerServices.RuntimeHelpers.EnumEquals`1(!0,!0) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.CompilerServices.RuntimeHelpers.IsBitwiseEquatable`1() | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.CompilerServices.RuntimeHelpers.IsKnownConstant(System.Char) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.CompilerServices.RuntimeHelpers.IsKnownConstant(System.Int32) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.CompilerServices.RuntimeHelpers.IsKnownConstant(System.Type) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.CompilerServices.RuntimeHelpers.IsPrimitiveType(System.Reflection.CorElementType) | [ExtensionAttribute(...)] | -| System.Boolean System.Runtime.CompilerServices.RuntimeHelpers.IsReferenceOrContainsReferences`1() | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.CompilerServices.Unsafe.AreSame`1(!0,!0) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.CompilerServices.Unsafe.AreSame`1(!0,!0) | [NonVersionableAttribute(...)] | -| System.Boolean System.Runtime.CompilerServices.Unsafe.IsAddressGreaterThan`1(!0,!0) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.CompilerServices.Unsafe.IsAddressGreaterThan`1(!0,!0) | [NonVersionableAttribute(...)] | -| System.Boolean System.Runtime.CompilerServices.Unsafe.IsAddressLessThan`1(!0,!0) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.CompilerServices.Unsafe.IsAddressLessThan`1(!0,!0) | [NonVersionableAttribute(...)] | -| System.Boolean System.Runtime.CompilerServices.Unsafe.IsNullRef`1(!0) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.CompilerServices.Unsafe.IsNullRef`1(!0) | [NonVersionableAttribute(...)] | -| System.Boolean System.Runtime.InteropServices.BestFitMappingAttribute.get_BestFitMapping() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Runtime.InteropServices.ComVisibleAttribute.get_Value() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Runtime.InteropServices.DynamicInterfaceCastableHelpers.IsInterfaceImplemented(System.Runtime.InteropServices.IDynamicInterfaceCastable,System.RuntimeType,System.Boolean) | [StackTraceHiddenAttribute(...)] | -| System.Boolean System.Runtime.InteropServices.LibraryImportAttribute.get_SetLastError() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Runtime.InteropServices.NFloat.IsFinite(System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.Boolean System.Runtime.InteropServices.NFloat.IsInfinity(System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.Boolean System.Runtime.InteropServices.NFloat.IsNaN(System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.Boolean System.Runtime.InteropServices.NFloat.IsNegative(System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.Boolean System.Runtime.InteropServices.NFloat.IsNegativeInfinity(System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.Boolean System.Runtime.InteropServices.NFloat.IsNormal(System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.Boolean System.Runtime.InteropServices.NFloat.IsPositiveInfinity(System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.Boolean System.Runtime.InteropServices.NFloat.IsSubnormal(System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.Boolean System.Runtime.InteropServices.NFloat.op_Equality(System.Runtime.InteropServices.NFloat,System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.Boolean System.Runtime.InteropServices.NFloat.op_GreaterThan(System.Runtime.InteropServices.NFloat,System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.Boolean System.Runtime.InteropServices.NFloat.op_GreaterThanOrEqual(System.Runtime.InteropServices.NFloat,System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.Boolean System.Runtime.InteropServices.NFloat.op_Inequality(System.Runtime.InteropServices.NFloat,System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.Boolean System.Runtime.InteropServices.NFloat.op_LessThan(System.Runtime.InteropServices.NFloat,System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.Boolean System.Runtime.InteropServices.NFloat.op_LessThanOrEqual(System.Runtime.InteropServices.NFloat,System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.Boolean System.Runtime.InteropServices.PosixSignalContext.get_Cancel() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Arm.AdvSimd.Arm64.get_IsSupported() | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Arm.AdvSimd.get_IsSupported() | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Arm.Aes.Arm64.get_IsSupported() | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Arm.Aes.get_IsSupported() | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Arm.ArmBase.Arm64.get_IsSupported() | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Arm.ArmBase.get_IsSupported() | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Arm.Crc32.Arm64.get_IsSupported() | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Arm.Crc32.get_IsSupported() | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Arm.Dp.Arm64.get_IsSupported() | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Arm.Dp.get_IsSupported() | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Arm.Rdm.Arm64.get_IsSupported() | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Arm.Rdm.get_IsSupported() | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Arm.Sha1.Arm64.get_IsSupported() | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Arm.Sha1.get_IsSupported() | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Arm.Sha256.Arm64.get_IsSupported() | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Arm.Sha256.get_IsSupported() | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector64.EqualsAll`1(System.Runtime.Intrinsics.Vector64,System.Runtime.Intrinsics.Vector64) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector64.EqualsAny`1(System.Runtime.Intrinsics.Vector64,System.Runtime.Intrinsics.Vector64) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector64.GreaterThanAll`1(System.Runtime.Intrinsics.Vector64,System.Runtime.Intrinsics.Vector64) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector64.GreaterThanAny`1(System.Runtime.Intrinsics.Vector64,System.Runtime.Intrinsics.Vector64) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector64.GreaterThanOrEqualAll`1(System.Runtime.Intrinsics.Vector64,System.Runtime.Intrinsics.Vector64) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector64.GreaterThanOrEqualAny`1(System.Runtime.Intrinsics.Vector64,System.Runtime.Intrinsics.Vector64) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector64.LessThanAll`1(System.Runtime.Intrinsics.Vector64,System.Runtime.Intrinsics.Vector64) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector64.LessThanAny`1(System.Runtime.Intrinsics.Vector64,System.Runtime.Intrinsics.Vector64) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector64.LessThanOrEqualAll`1(System.Runtime.Intrinsics.Vector64,System.Runtime.Intrinsics.Vector64) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector64.LessThanOrEqualAny`1(System.Runtime.Intrinsics.Vector64,System.Runtime.Intrinsics.Vector64) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector64.TryCopyTo`1(System.Runtime.Intrinsics.Vector64,System.Span) | [ExtensionAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector64.get_IsHardwareAccelerated() | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector64`1.g__SoftwareFallback\|34_0(System.Runtime.Intrinsics.Vector64,System.Runtime.Intrinsics.Vector64) | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector64`1.get_IsSupported() | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector64`1.op_Equality(System.Runtime.Intrinsics.Vector64,System.Runtime.Intrinsics.Vector64) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector64`1.op_Inequality(System.Runtime.Intrinsics.Vector64,System.Runtime.Intrinsics.Vector64) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector128.EqualsAll`1(System.Runtime.Intrinsics.Vector128,System.Runtime.Intrinsics.Vector128) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector128.EqualsAny`1(System.Runtime.Intrinsics.Vector128,System.Runtime.Intrinsics.Vector128) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector128.GreaterThanAll`1(System.Runtime.Intrinsics.Vector128,System.Runtime.Intrinsics.Vector128) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector128.GreaterThanAny`1(System.Runtime.Intrinsics.Vector128,System.Runtime.Intrinsics.Vector128) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector128.GreaterThanOrEqualAll`1(System.Runtime.Intrinsics.Vector128,System.Runtime.Intrinsics.Vector128) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector128.GreaterThanOrEqualAny`1(System.Runtime.Intrinsics.Vector128,System.Runtime.Intrinsics.Vector128) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector128.LessThanAll`1(System.Runtime.Intrinsics.Vector128,System.Runtime.Intrinsics.Vector128) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector128.LessThanAny`1(System.Runtime.Intrinsics.Vector128,System.Runtime.Intrinsics.Vector128) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector128.LessThanOrEqualAll`1(System.Runtime.Intrinsics.Vector128,System.Runtime.Intrinsics.Vector128) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector128.LessThanOrEqualAny`1(System.Runtime.Intrinsics.Vector128,System.Runtime.Intrinsics.Vector128) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector128.TryCopyTo`1(System.Runtime.Intrinsics.Vector128,System.Span) | [ExtensionAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector128.get_IsHardwareAccelerated() | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector128`1.EqualsFloatingPoint(System.Runtime.Intrinsics.Vector128,System.Runtime.Intrinsics.Vector128) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector128`1.get_IsSupported() | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector128`1.op_Equality(System.Runtime.Intrinsics.Vector128,System.Runtime.Intrinsics.Vector128) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector128`1.op_Inequality(System.Runtime.Intrinsics.Vector128,System.Runtime.Intrinsics.Vector128) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector256.EqualsAll`1(System.Runtime.Intrinsics.Vector256,System.Runtime.Intrinsics.Vector256) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector256.EqualsAny`1(System.Runtime.Intrinsics.Vector256,System.Runtime.Intrinsics.Vector256) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector256.GreaterThanAll`1(System.Runtime.Intrinsics.Vector256,System.Runtime.Intrinsics.Vector256) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector256.GreaterThanAny`1(System.Runtime.Intrinsics.Vector256,System.Runtime.Intrinsics.Vector256) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector256.GreaterThanOrEqualAll`1(System.Runtime.Intrinsics.Vector256,System.Runtime.Intrinsics.Vector256) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector256.GreaterThanOrEqualAny`1(System.Runtime.Intrinsics.Vector256,System.Runtime.Intrinsics.Vector256) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector256.LessThanAll`1(System.Runtime.Intrinsics.Vector256,System.Runtime.Intrinsics.Vector256) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector256.LessThanAny`1(System.Runtime.Intrinsics.Vector256,System.Runtime.Intrinsics.Vector256) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector256.LessThanOrEqualAll`1(System.Runtime.Intrinsics.Vector256,System.Runtime.Intrinsics.Vector256) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector256.LessThanOrEqualAny`1(System.Runtime.Intrinsics.Vector256,System.Runtime.Intrinsics.Vector256) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector256.TryCopyTo`1(System.Runtime.Intrinsics.Vector256,System.Span) | [ExtensionAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector256.get_IsHardwareAccelerated() | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector256`1.get_IsSupported() | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector256`1.op_Equality(System.Runtime.Intrinsics.Vector256,System.Runtime.Intrinsics.Vector256) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector256`1.op_Inequality(System.Runtime.Intrinsics.Vector256,System.Runtime.Intrinsics.Vector256) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector512.EqualsAll`1(System.Runtime.Intrinsics.Vector512,System.Runtime.Intrinsics.Vector512) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector512.EqualsAny`1(System.Runtime.Intrinsics.Vector512,System.Runtime.Intrinsics.Vector512) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector512.GreaterThanAll`1(System.Runtime.Intrinsics.Vector512,System.Runtime.Intrinsics.Vector512) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector512.GreaterThanAny`1(System.Runtime.Intrinsics.Vector512,System.Runtime.Intrinsics.Vector512) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector512.GreaterThanOrEqualAll`1(System.Runtime.Intrinsics.Vector512,System.Runtime.Intrinsics.Vector512) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector512.GreaterThanOrEqualAny`1(System.Runtime.Intrinsics.Vector512,System.Runtime.Intrinsics.Vector512) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector512.LessThanAll`1(System.Runtime.Intrinsics.Vector512,System.Runtime.Intrinsics.Vector512) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector512.LessThanAny`1(System.Runtime.Intrinsics.Vector512,System.Runtime.Intrinsics.Vector512) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector512.LessThanOrEqualAll`1(System.Runtime.Intrinsics.Vector512,System.Runtime.Intrinsics.Vector512) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector512.LessThanOrEqualAny`1(System.Runtime.Intrinsics.Vector512,System.Runtime.Intrinsics.Vector512) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector512.TryCopyTo`1(System.Runtime.Intrinsics.Vector512,System.Span) | [ExtensionAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector512.get_IsHardwareAccelerated() | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector512`1.get_IsSupported() | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector512`1.op_Equality(System.Runtime.Intrinsics.Vector512,System.Runtime.Intrinsics.Vector512) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Vector512`1.op_Inequality(System.Runtime.Intrinsics.Vector512,System.Runtime.Intrinsics.Vector512) | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Intrinsics.Wasm.PackedSimd.get_IsSupported() | [IntrinsicAttribute(...)] | -| System.Boolean System.Runtime.Loader.AssemblyLoadContext.TraceAssemblyLoadFromResolveHandlerInvoked(System.String,System.Boolean,System.String,System.String) | [LibraryImportAttribute(...)] | -| System.Boolean System.Runtime.Loader.AssemblyLoadContext.TraceAssemblyResolveHandlerInvoked(System.String,System.String,System.String,System.String) | [LibraryImportAttribute(...)] | -| System.Boolean System.Runtime.Loader.AssemblyLoadContext.TraceResolvingHandlerInvoked(System.String,System.String,System.String,System.String,System.String) | [LibraryImportAttribute(...)] | -| System.Boolean System.Runtime.Loader.AssemblyLoadContext.TraceSatelliteSubdirectoryPathProbed(System.String,System.Int32) | [LibraryImportAttribute(...)] | -| System.Boolean System.Runtime.Serialization.DeserializationTracker.get_DeserializationInProgress() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Runtime.Serialization.SerializationInfo.get_IsAssemblyNameSetExplicit() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Runtime.Serialization.SerializationInfo.get_IsFullTypeNameSetExplicit() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.RuntimeType.get_IsActualEnum() | [IntrinsicAttribute(...)] | -| System.Boolean System.SByte.Equals(System.SByte) | [NonVersionableAttribute(...)] | -| System.Boolean System.Security.Permissions.SecurityAttribute.get_Unrestricted() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Security.Permissions.SecurityPermissionAttribute.get_Assertion() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Security.Permissions.SecurityPermissionAttribute.get_BindingRedirects() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Security.Permissions.SecurityPermissionAttribute.get_ControlAppDomain() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Security.Permissions.SecurityPermissionAttribute.get_ControlDomainPolicy() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Security.Permissions.SecurityPermissionAttribute.get_ControlEvidence() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Security.Permissions.SecurityPermissionAttribute.get_ControlPolicy() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Security.Permissions.SecurityPermissionAttribute.get_ControlPrincipal() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Security.Permissions.SecurityPermissionAttribute.get_ControlThread() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Security.Permissions.SecurityPermissionAttribute.get_Execution() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Security.Permissions.SecurityPermissionAttribute.get_Infrastructure() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Security.Permissions.SecurityPermissionAttribute.get_RemotingConfiguration() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Security.Permissions.SecurityPermissionAttribute.get_SerializationFormatter() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Security.Permissions.SecurityPermissionAttribute.get_SkipVerification() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Security.Permissions.SecurityPermissionAttribute.get_UnmanagedCode() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Security.SecurityRulesAttribute.get_SkipVerificationInFullTrust() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Single.IsFinite(System.Single) | [NonVersionableAttribute(...)] | -| System.Boolean System.Single.IsInfinity(System.Single) | [NonVersionableAttribute(...)] | -| System.Boolean System.Single.IsNaN(System.Single) | [NonVersionableAttribute(...)] | -| System.Boolean System.Single.IsNegative(System.Single) | [NonVersionableAttribute(...)] | -| System.Boolean System.Single.IsNegativeInfinity(System.Single) | [NonVersionableAttribute(...)] | -| System.Boolean System.Single.IsNormal(System.Single) | [NonVersionableAttribute(...)] | -| System.Boolean System.Single.IsPositiveInfinity(System.Single) | [NonVersionableAttribute(...)] | -| System.Boolean System.Single.IsSubnormal(System.Single) | [NonVersionableAttribute(...)] | -| System.Boolean System.Single.op_Equality(System.Single,System.Single) | [NonVersionableAttribute(...)] | -| System.Boolean System.Single.op_GreaterThan(System.Single,System.Single) | [NonVersionableAttribute(...)] | -| System.Boolean System.Single.op_GreaterThanOrEqual(System.Single,System.Single) | [NonVersionableAttribute(...)] | -| System.Boolean System.Single.op_Inequality(System.Single,System.Single) | [NonVersionableAttribute(...)] | -| System.Boolean System.Single.op_LessThan(System.Single,System.Single) | [NonVersionableAttribute(...)] | -| System.Boolean System.Single.op_LessThanOrEqual(System.Single,System.Single) | [NonVersionableAttribute(...)] | -| System.Boolean System.SpanHelpers.SequenceEqual(System.Byte,System.Byte,System.UIntPtr) | [IntrinsicAttribute(...)] | -| System.Boolean System.Span`1.get_IsEmpty() | [NonVersionableAttribute(...)] | -| System.Boolean System.String.Equals(System.String) | [IntrinsicAttribute(...)] | -| System.Boolean System.String.Equals(System.String,System.String) | [IntrinsicAttribute(...)] | -| System.Boolean System.String.Equals(System.String,System.String,System.StringComparison) | [IntrinsicAttribute(...)] | -| System.Boolean System.String.Equals(System.String,System.StringComparison) | [IntrinsicAttribute(...)] | -| System.Boolean System.String.StartsWith(System.String,System.StringComparison) | [IntrinsicAttribute(...)] | -| System.Boolean System.StringNormalizationExtensions.IsNormalized(System.String) | [ExtensionAttribute(...)] | -| System.Boolean System.StringNormalizationExtensions.IsNormalized(System.String,System.Text.NormalizationForm) | [ExtensionAttribute(...)] | -| System.Boolean System.Text.CompositeFormat.g__TryMoveNext\|12_0(System.ReadOnlySpan,System.Int32,System.Char) | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Text.Unicode.Utf8.TryWriteInterpolatedStringHandler.g__GrowAndAppendFormatted\|21_0`1(System.Text.Unicode.Utf8.TryWriteInterpolatedStringHandler,!0,System.Int32,System.Int32,System.String) | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Text.Unicode.Utf8.TryWriteInterpolatedStringHandler.g__GrowAndAppendFormatted\|20_0`1(System.Text.Unicode.Utf8.TryWriteInterpolatedStringHandler,!0,System.Int32,System.Int32,System.String) | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Threading.AsyncLocalValueChangedArgs`1.get_ThreadContextChanged() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Threading.Tasks.TaskToAsyncResult.TaskAsyncResult.get_CompletedSynchronously() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Threading.Volatile.Read(System.Boolean) | [IntrinsicAttribute(...)] | -| System.Boolean System.Threading.Volatile.Read(System.Boolean) | [NonVersionableAttribute(...)] | -| System.Boolean System.TimeZoneInfo.get_HasIanaId() | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.Type.IsAssignableFrom(System.Type) | [IntrinsicAttribute(...)] | -| System.Boolean System.Type.IsAssignableTo(System.Type) | [IntrinsicAttribute(...)] | -| System.Boolean System.Type.get_IsByRefLike() | [IntrinsicAttribute(...)] | -| System.Boolean System.Type.get_IsEnum() | [IntrinsicAttribute(...)] | -| System.Boolean System.Type.get_IsValueType() | [IntrinsicAttribute(...)] | -| System.Boolean System.Type.op_Equality(System.Type,System.Type) | [IntrinsicAttribute(...)] | -| System.Boolean System.Type.op_Inequality(System.Type,System.Type) | [IntrinsicAttribute(...)] | -| System.Boolean System.UInt16.Equals(System.UInt16) | [NonVersionableAttribute(...)] | -| System.Boolean System.UInt32.Equals(System.UInt32) | [NonVersionableAttribute(...)] | -| System.Boolean System.UInt64.Equals(System.UInt64) | [NonVersionableAttribute(...)] | -| System.Boolean System.UInt128.g__DivideGuessTooBig\|110_1(System.UInt64,System.UInt64,System.UInt32,System.UInt32,System.UInt32) | [CompilerGeneratedAttribute(...)] | -| System.Boolean System.UIntPtr.Equals(System.UIntPtr) | [NonVersionableAttribute(...)] | -| System.Boolean System.UIntPtr.op_Equality(System.UIntPtr,System.UIntPtr) | [NonVersionableAttribute(...)] | -| System.Boolean System.UIntPtr.op_Inequality(System.UIntPtr,System.UIntPtr) | [NonVersionableAttribute(...)] | -| System.Buffers.Binary.BinaryPrimitives.Int16EndiannessReverser | [IsReadOnlyAttribute(...)] | -| System.Buffers.Binary.BinaryPrimitives.Int32EndiannessReverser | [IsReadOnlyAttribute(...)] | -| System.Buffers.Binary.BinaryPrimitives.Int64EndiannessReverser | [IsReadOnlyAttribute(...)] | -| System.Buffers.BitVector256.<_values>e__FixedBuffer | [CompilerGeneratedAttribute(...)] | -| System.Buffers.BitVector256.<_values>e__FixedBuffer | [UnsafeValueTypeAttribute(...)] | -| System.Buffers.IndexOfAnyAsciiSearcher.Default | [IsReadOnlyAttribute(...)] | -| System.Buffers.IndexOfAnyAsciiSearcher.DontNegate | [IsReadOnlyAttribute(...)] | -| System.Buffers.IndexOfAnyAsciiSearcher.Negate | [IsReadOnlyAttribute(...)] | -| System.Buffers.IndexOfAnyAsciiSearcher.Ssse3AndWasmHandleZeroInNeedle | [IsReadOnlyAttribute(...)] | -| System.Buffers.OperationStatus System.Buffers.Text.Base64.g__InvalidDataFallback\|15_0(System.ReadOnlySpan,System.Span,System.Int32,System.Int32,System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Buffers.ProbabilisticMap | [IsReadOnlyAttribute(...)] | -| System.Buffers.SearchValues.FalseConst | [IsReadOnlyAttribute(...)] | -| System.Buffers.SearchValues.TrueConst | [IsReadOnlyAttribute(...)] | -| System.Buffers.SharedArrayPool`1.<>c | [CompilerGeneratedAttribute(...)] | -| System.Buffers.SharedArrayPool`1.t_tlsBuckets | [ThreadStaticAttribute(...)] | -| System.Buffers.StandardFormat | [IsReadOnlyAttribute(...)] | -| System.Buffers.Text.Base64.Base64ByteValidatable | [IsReadOnlyAttribute(...)] | -| System.Buffers.Text.Base64.Base64CharValidatable | [IsReadOnlyAttribute(...)] | -| System.Buffers.Text.Utf8Parser.ParseNumberOptions | [FlagsAttribute(...)] | -| System.ByReference | [IsByRefLikeAttribute(...)] | -| System.ByReference | [IsReadOnlyAttribute(...)] | -| System.ByReference | [NonVersionableAttribute(...)] | -| System.Byte System.Diagnostics.Tracing.EventAttribute.get_Version() | [CompilerGeneratedAttribute(...)] | -| System.Byte System.Math.Max(System.Byte,System.Byte) | [NonVersionableAttribute(...)] | -| System.Byte System.Math.Min(System.Byte,System.Byte) | [NonVersionableAttribute(...)] | -| System.Byte System.Runtime.CompilerServices.CastHelpers.Unbox(System.Void*,System.Object) | [DebuggerHiddenAttribute(...)] | -| System.Byte System.Runtime.CompilerServices.CastHelpers.Unbox(System.Void*,System.Object) | [DebuggerStepThroughAttribute(...)] | -| System.Byte System.Runtime.CompilerServices.CastHelpers.Unbox(System.Void*,System.Object) | [StackTraceHiddenAttribute(...)] | -| System.Byte System.Runtime.CompilerServices.RuntimeHelpers.GetRawData(System.Object) | [ExtensionAttribute(...)] | -| System.Byte System.Runtime.InteropServices.MemoryMarshal.GetArrayDataReference(System.Array) | [IntrinsicAttribute(...)] | -| System.Byte System.Runtime.InteropServices.NFloat.op_CheckedExplicit(System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.Byte System.Runtime.InteropServices.NFloat.op_Explicit(System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.Byte System.Threading.Volatile.Read(System.Byte) | [IntrinsicAttribute(...)] | -| System.Byte System.Threading.Volatile.Read(System.Byte) | [NonVersionableAttribute(...)] | -| System.Byte* System.Reflection.RuntimeAssembly.g____PInvoke\|37_0(System.Runtime.CompilerServices.QCallAssembly,System.UInt16*,System.UInt32*) | [CompilerGeneratedAttribute(...)] | -| System.Byte* System.Reflection.RuntimeAssembly.GetResource(System.Runtime.CompilerServices.QCallAssembly,System.String,System.UInt32) | [LibraryImportAttribute(...)] | -| System.Byte[] System.Buffers.BitVector256.GetByteValues() | [IsReadOnlyAttribute(...)] | -| System.Byte[] System.Security.PermissionSet.ConvertPermissionSet(System.String,System.Byte[],System.String) | [ObsoleteAttribute(...)] | -| System.Char System.Runtime.InteropServices.MemoryMarshal.<g__FromString\|18_0>d`1.get_Current() | [DebuggerHiddenAttribute(...)] | -| System.Char System.Runtime.InteropServices.NFloat.op_CheckedExplicit(System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.Char System.Runtime.InteropServices.NFloat.op_Explicit(System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.Char System.String.GetPinnableReference() | [NonVersionableAttribute(...)] | -| System.Char System.String.get_Chars(System.Int32) | [IntrinsicAttribute(...)] | -| System.Char System.Text.StringBuilder.g__MoveNext\|116_0(System.String,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Char System.Text.ValueStringBuilder.g__MoveNext\|0_0(System.String,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Char[] System.Buffers.BitVector256.GetCharValues() | [IsReadOnlyAttribute(...)] | -| System.CodeDom.Compiler.IndentedTextWriter.d__23 | [CompilerGeneratedAttribute(...)] | -| System.CodeDom.Compiler.IndentedTextWriter.d__37 | [CompilerGeneratedAttribute(...)] | -| System.CodeDom.Compiler.IndentedTextWriter.d__38 | [CompilerGeneratedAttribute(...)] | -| System.CodeDom.Compiler.IndentedTextWriter.d__39 | [CompilerGeneratedAttribute(...)] | -| System.CodeDom.Compiler.IndentedTextWriter.d__40 | [CompilerGeneratedAttribute(...)] | -| System.CodeDom.Compiler.IndentedTextWriter.d__41 | [CompilerGeneratedAttribute(...)] | -| System.CodeDom.Compiler.IndentedTextWriter.d__59 | [CompilerGeneratedAttribute(...)] | -| System.CodeDom.Compiler.IndentedTextWriter.d__60 | [CompilerGeneratedAttribute(...)] | -| System.CodeDom.Compiler.IndentedTextWriter.d__61 | [CompilerGeneratedAttribute(...)] | -| System.CodeDom.Compiler.IndentedTextWriter.d__62 | [CompilerGeneratedAttribute(...)] | -| System.CodeDom.Compiler.IndentedTextWriter.d__63 | [CompilerGeneratedAttribute(...)] | -| System.CodeDom.Compiler.IndentedTextWriter.d__64 | [CompilerGeneratedAttribute(...)] | -| System.Collections.Concurrent.ConcurrentQueue`1.d__26 | [CompilerGeneratedAttribute(...)] | -| System.Collections.Concurrent.SingleProducerSingleConsumerQueue`1.d__15 | [CompilerGeneratedAttribute(...)] | -| System.Collections.Generic.BitHelper | [IsByRefLikeAttribute(...)] | -| System.Collections.Generic.CollectionExtensions | [ExtensionAttribute(...)] | -| System.Collections.Generic.Comparer System.Collections.Generic.Comparer`1.get_Default() | [CompilerGeneratedAttribute(...)] | -| System.Collections.Generic.Comparer System.Collections.Generic.Comparer`1.get_Default() | [IntrinsicAttribute(...)] | -| System.Collections.Generic.Comparer`1.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Collections.Generic.EqualityComparer System.Collections.Generic.EqualityComparer`1.get_Default() | [CompilerGeneratedAttribute(...)] | -| System.Collections.Generic.EqualityComparer System.Collections.Generic.EqualityComparer`1.get_Default() | [IntrinsicAttribute(...)] | -| System.Collections.Generic.EqualityComparer`1.<>c | [CompilerGeneratedAttribute(...)] | -| System.Collections.Generic.EqualityComparer`1.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Collections.Generic.IAsyncEnumerator System.IO.File.d__110.GetAsyncEnumerator(System.Threading.CancellationToken) | [DebuggerHiddenAttribute(...)] | -| System.Collections.Generic.IDictionary System.Diagnostics.Tracing.EventCommandEventArgs.get_Arguments() | [CompilerGeneratedAttribute(...)] | -| System.Collections.Generic.IEnumerable System.Reflection.CustomAttributeExtensions.GetCustomAttributes`1(System.Reflection.Assembly) | [ExtensionAttribute(...)] | -| System.Collections.Generic.IEnumerable System.Reflection.CustomAttributeExtensions.GetCustomAttributes`1(System.Reflection.MemberInfo) | [ExtensionAttribute(...)] | -| System.Collections.Generic.IEnumerable System.Reflection.CustomAttributeExtensions.GetCustomAttributes`1(System.Reflection.MemberInfo,System.Boolean) | [ExtensionAttribute(...)] | -| System.Collections.Generic.IEnumerable System.Reflection.CustomAttributeExtensions.GetCustomAttributes`1(System.Reflection.Module) | [ExtensionAttribute(...)] | -| System.Collections.Generic.IEnumerable System.Reflection.CustomAttributeExtensions.GetCustomAttributes`1(System.Reflection.ParameterInfo) | [ExtensionAttribute(...)] | -| System.Collections.Generic.IEnumerable System.Reflection.CustomAttributeExtensions.GetCustomAttributes`1(System.Reflection.ParameterInfo,System.Boolean) | [ExtensionAttribute(...)] | -| System.Collections.Generic.IEnumerable System.Runtime.InteropServices.MemoryMarshal.g__FromArray\|18_2`1(!0[],System.Int32,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Collections.Generic.IEnumerable System.Runtime.InteropServices.MemoryMarshal.g__FromMemoryManager\|18_1`1(System.ReadOnlyMemory) | [CompilerGeneratedAttribute(...)] | -| System.Collections.Generic.IEnumerable System.Threading.Tasks.TaskAsyncEnumerableExtensions.ToBlockingEnumerable`1(System.Collections.Generic.IAsyncEnumerable,System.Threading.CancellationToken) | [ExtensionAttribute(...)] | -| System.Collections.Generic.IEnumerable System.Reflection.CustomAttributeExtensions.GetCustomAttributes(System.Reflection.Assembly) | [ExtensionAttribute(...)] | -| System.Collections.Generic.IEnumerable System.Reflection.CustomAttributeExtensions.GetCustomAttributes(System.Reflection.Assembly,System.Type) | [ExtensionAttribute(...)] | -| System.Collections.Generic.IEnumerable System.Reflection.CustomAttributeExtensions.GetCustomAttributes(System.Reflection.MemberInfo) | [ExtensionAttribute(...)] | -| System.Collections.Generic.IEnumerable System.Reflection.CustomAttributeExtensions.GetCustomAttributes(System.Reflection.MemberInfo,System.Boolean) | [ExtensionAttribute(...)] | -| System.Collections.Generic.IEnumerable System.Reflection.CustomAttributeExtensions.GetCustomAttributes(System.Reflection.MemberInfo,System.Type) | [ExtensionAttribute(...)] | -| System.Collections.Generic.IEnumerable System.Reflection.CustomAttributeExtensions.GetCustomAttributes(System.Reflection.MemberInfo,System.Type,System.Boolean) | [ExtensionAttribute(...)] | -| System.Collections.Generic.IEnumerable System.Reflection.CustomAttributeExtensions.GetCustomAttributes(System.Reflection.Module) | [ExtensionAttribute(...)] | -| System.Collections.Generic.IEnumerable System.Reflection.CustomAttributeExtensions.GetCustomAttributes(System.Reflection.Module,System.Type) | [ExtensionAttribute(...)] | -| System.Collections.Generic.IEnumerable System.Reflection.CustomAttributeExtensions.GetCustomAttributes(System.Reflection.ParameterInfo) | [ExtensionAttribute(...)] | -| System.Collections.Generic.IEnumerable System.Reflection.CustomAttributeExtensions.GetCustomAttributes(System.Reflection.ParameterInfo,System.Boolean) | [ExtensionAttribute(...)] | -| System.Collections.Generic.IEnumerable System.Reflection.CustomAttributeExtensions.GetCustomAttributes(System.Reflection.ParameterInfo,System.Type) | [ExtensionAttribute(...)] | -| System.Collections.Generic.IEnumerable System.Reflection.CustomAttributeExtensions.GetCustomAttributes(System.Reflection.ParameterInfo,System.Type,System.Boolean) | [ExtensionAttribute(...)] | -| System.Collections.Generic.IEnumerable System.Runtime.InteropServices.MemoryMarshal.g__FromString\|18_0`1(System.String,System.Int32,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Collections.Generic.IEnumerable System.Reflection.RuntimeReflectionExtensions.GetRuntimeEvents(System.Type) | [ExtensionAttribute(...)] | -| System.Collections.Generic.IEnumerable System.Reflection.RuntimeReflectionExtensions.GetRuntimeFields(System.Type) | [ExtensionAttribute(...)] | -| System.Collections.Generic.IEnumerable System.Reflection.RuntimeReflectionExtensions.GetRuntimeMethods(System.Type) | [ExtensionAttribute(...)] | -| System.Collections.Generic.IEnumerable System.Reflection.RuntimeReflectionExtensions.GetRuntimeProperties(System.Type) | [ExtensionAttribute(...)] | -| System.Collections.Generic.IEnumerator System.Runtime.InteropServices.MemoryMarshal.<g__FromArray\|18_2>d`1.GetEnumerator() | [DebuggerHiddenAttribute(...)] | -| System.Collections.Generic.IEnumerator System.Runtime.InteropServices.MemoryMarshal.<g__FromMemoryManager\|18_1>d`1.GetEnumerator() | [DebuggerHiddenAttribute(...)] | -| System.Collections.Generic.IEnumerator System.Threading.Tasks.TaskAsyncEnumerableExtensions.d__3`1.GetEnumerator() | [DebuggerHiddenAttribute(...)] | -| System.Collections.Generic.IEnumerator System.Runtime.InteropServices.MemoryMarshal.<g__FromString\|18_0>d`1.GetEnumerator() | [DebuggerHiddenAttribute(...)] | -| System.Collections.Generic.IEnumerator> System.Diagnostics.Tracing.CounterPayload.d__51.GetEnumerator() | [DebuggerHiddenAttribute(...)] | -| System.Collections.Generic.IEnumerator> System.Diagnostics.Tracing.IncrementingCounterPayload.d__39.GetEnumerator() | [DebuggerHiddenAttribute(...)] | -| System.Collections.Generic.IEnumerator System.Threading.ThreadPool.d__26.GetEnumerator() | [DebuggerHiddenAttribute(...)] | -| System.Collections.Generic.IEnumerator System.Runtime.Loader.AssemblyLoadContext.d__55.GetEnumerator() | [DebuggerHiddenAttribute(...)] | -| System.Collections.Generic.IEnumerator System.Reflection.TypeInfo.d__10.GetEnumerator() | [DebuggerHiddenAttribute(...)] | -| System.Collections.Generic.IEnumerator System.Reflection.TypeInfo.d__22.GetEnumerator() | [DebuggerHiddenAttribute(...)] | -| System.Collections.Generic.IEnumerator System.Runtime.Loader.AssemblyLoadContext.d__85.GetEnumerator() | [DebuggerHiddenAttribute(...)] | -| System.Collections.Generic.IEnumerator System.Runtime.Loader.LibraryNameVariation.d__5.GetEnumerator() | [DebuggerHiddenAttribute(...)] | -| System.Collections.Generic.IEnumerator System.Threading.Tasks.ThreadPoolTaskScheduler.d__6.GetEnumerator() | [DebuggerHiddenAttribute(...)] | -| System.Collections.Generic.IEnumerator System.Threading.TimerQueue.d__7.GetEnumerator() | [DebuggerHiddenAttribute(...)] | -| System.Collections.Generic.KeyValuePair System.Diagnostics.Tracing.CounterPayload.d__51.get_Current() | [DebuggerHiddenAttribute(...)] | -| System.Collections.Generic.KeyValuePair System.Diagnostics.Tracing.EventPayload.d__17.get_Current() | [DebuggerHiddenAttribute(...)] | -| System.Collections.Generic.KeyValuePair System.Diagnostics.Tracing.IncrementingCounterPayload.d__39.get_Current() | [DebuggerHiddenAttribute(...)] | -| System.Collections.Generic.KeyValuePair`2 | [IsReadOnlyAttribute(...)] | -| System.Collections.Generic.ReferenceEqualityComparer System.Collections.Generic.ReferenceEqualityComparer.get_Instance() | [CompilerGeneratedAttribute(...)] | -| System.Collections.Generic.ReferenceEqualityComparer.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Collections.Generic.ValueListBuilder`1 | [IsByRefLikeAttribute(...)] | -| System.Collections.IEnumerator System.Diagnostics.Tracing.CounterPayload.d__51.GetEnumerator() | [DebuggerHiddenAttribute(...)] | -| System.Collections.IEnumerator System.Diagnostics.Tracing.IncrementingCounterPayload.d__39.GetEnumerator() | [DebuggerHiddenAttribute(...)] | -| System.Collections.IEnumerator System.Reflection.TypeInfo.d__10.GetEnumerator() | [DebuggerHiddenAttribute(...)] | -| System.Collections.IEnumerator System.Reflection.TypeInfo.d__22.GetEnumerator() | [DebuggerHiddenAttribute(...)] | -| System.Collections.IEnumerator System.Runtime.InteropServices.MemoryMarshal.<g__FromArray\|18_2>d`1.GetEnumerator() | [DebuggerHiddenAttribute(...)] | -| System.Collections.IEnumerator System.Runtime.InteropServices.MemoryMarshal.<g__FromMemoryManager\|18_1>d`1.GetEnumerator() | [DebuggerHiddenAttribute(...)] | -| System.Collections.IEnumerator System.Runtime.InteropServices.MemoryMarshal.<g__FromString\|18_0>d`1.GetEnumerator() | [DebuggerHiddenAttribute(...)] | -| System.Collections.IEnumerator System.Runtime.Loader.AssemblyLoadContext.d__85.GetEnumerator() | [DebuggerHiddenAttribute(...)] | -| System.Collections.IEnumerator System.Runtime.Loader.AssemblyLoadContext.d__55.GetEnumerator() | [DebuggerHiddenAttribute(...)] | -| System.Collections.IEnumerator System.Runtime.Loader.LibraryNameVariation.d__5.GetEnumerator() | [DebuggerHiddenAttribute(...)] | -| System.Collections.IEnumerator System.Threading.Tasks.TaskAsyncEnumerableExtensions.d__3`1.GetEnumerator() | [DebuggerHiddenAttribute(...)] | -| System.Collections.IEnumerator System.Threading.Tasks.ThreadPoolTaskScheduler.d__6.GetEnumerator() | [DebuggerHiddenAttribute(...)] | -| System.Collections.IEnumerator System.Threading.ThreadPool.d__26.GetEnumerator() | [DebuggerHiddenAttribute(...)] | -| System.Collections.IEnumerator System.Threading.TimerQueue.d__7.GetEnumerator() | [DebuggerHiddenAttribute(...)] | -| System.Collections.ObjectModel.ReadOnlyCollection System.Collections.Generic.CollectionExtensions.AsReadOnly`1(System.Collections.Generic.IList) | [ExtensionAttribute(...)] | -| System.Collections.ObjectModel.ReadOnlyCollection System.Collections.ObjectModel.ReadOnlyCollection`1.get_Empty() | [CompilerGeneratedAttribute(...)] | -| System.Collections.ObjectModel.ReadOnlyCollection System.Diagnostics.Tracing.EventWrittenEventArgs.get_Payload() | [CompilerGeneratedAttribute(...)] | -| System.Collections.ObjectModel.ReadOnlyCollection`1.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Collections.ObjectModel.ReadOnlyDictionary System.Collections.Generic.CollectionExtensions.AsReadOnly`2(System.Collections.Generic.IDictionary) | [ExtensionAttribute(...)] | -| System.Collections.ObjectModel.ReadOnlyDictionary System.Collections.ObjectModel.ReadOnlyDictionary`2.get_Empty() | [CompilerGeneratedAttribute(...)] | -| System.Collections.ObjectModel.ReadOnlyDictionary`2.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.ComponentModel.EditorBrowsableAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.ComponentModel.EditorBrowsableState System.ComponentModel.EditorBrowsableAttribute.get_State() | [CompilerGeneratedAttribute(...)] | -| System.ComponentModel.Win32Exception.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Console.<>O | [CompilerGeneratedAttribute(...)] | -| System.ConsoleCancelEventArgs.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.ConsoleKey System.IO.KeyParser.g__ControlAndDigitPressed\|8_2(System.Char,System.Char,System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.ConsoleKey System.IO.KeyParser.g__ControlAndLetterPressed\|8_1(System.Char,System.Boolean,System.Char,System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.ConsoleKey System.IO.KeyParser.g__UppercaseCharacter\|8_0(System.Char,System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.ConsoleKey System.IO.KeyParser.g__MapEscapeSequenceNumber\|7_2(System.Byte) | [CompilerGeneratedAttribute(...)] | -| System.ConsoleKeyInfo | [IsReadOnlyAttribute(...)] | -| System.ConsoleKeyInfo System.IO.KeyParser.g__Create\|7_7(System.Char,System.ConsoleKey,System.ConsoleModifiers) | [CompilerGeneratedAttribute(...)] | -| System.ConsoleModifiers | [FlagsAttribute(...)] | -| System.ConsoleModifiers System.IO.KeyParser.g__MapRxvtModifiers\|7_6(System.Char) | [CompilerGeneratedAttribute(...)] | -| System.ConsoleModifiers System.IO.KeyParser.g__MapXtermModifiers\|7_3(System.Char) | [CompilerGeneratedAttribute(...)] | -| System.ConsolePal.<>c | [CompilerGeneratedAttribute(...)] | -| System.Convert | [ExtensionAttribute(...)] | -| System.DTSubString | [IsByRefLikeAttribute(...)] | -| System.DateOnly | [IsReadOnlyAttribute(...)] | -| System.DateOnly.<>c | [CompilerGeneratedAttribute(...)] | -| System.DateTime | [IsReadOnlyAttribute(...)] | -| System.DateTime System.Diagnostics.Tracing.EventWrittenEventArgs.get_TimeStamp() | [CompilerGeneratedAttribute(...)] | -| System.DateTimeOffset | [IsReadOnlyAttribute(...)] | -| System.DateTimeParse.TM | [ScopedRefAttribute(...)] | -| System.DateTimeRawInfo | [ScopedRefAttribute(...)] | -| System.DateTimeResult | [IsByRefLikeAttribute(...)] | -| System.DateTimeResult | [ScopedRefAttribute(...)] | -| System.DateTimeToken | [ScopedRefAttribute(...)] | -| System.Decimal System.Runtime.InteropServices.CurrencyWrapper.get_WrappedObject() | [CompilerGeneratedAttribute(...)] | -| System.Decimal System.Runtime.InteropServices.NFloat.op_Explicit(System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.Decimal.DecCalc.PowerOvfl | [IsReadOnlyAttribute(...)] | -| System.DefaultBinder.Primitives | [FlagsAttribute(...)] | -| System.Delegate[] | [ParamArrayAttribute(...)] | -| System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes | [FlagsAttribute(...)] | -| System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.get_MemberTypes() | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute.get_MemberTypes() | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.CodeAnalysis.ExperimentalAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.CodeAnalysis.ExperimentalAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.CodeAnalysis.RequiresAssemblyFilesAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.CodeAnalysis.RequiresAssemblyFilesAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.CodeAnalysis.SuppressMessageAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.CodeAnalysis.SuppressMessageAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.CodeAnalysis.SuppressMessageAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.CodeAnalysis.SuppressMessageAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.CodeAnalysis.SuppressMessageAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.CodeAnalysis.SuppressMessageAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.ConditionalAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Debug.AssertInterpolatedStringHandler | [InterpolatedStringHandlerAttribute(...)] | -| System.Diagnostics.Debug.WriteIfInterpolatedStringHandler | [InterpolatedStringHandlerAttribute(...)] | -| System.Diagnostics.Debug.t_indentLevel | [ThreadStaticAttribute(...)] | -| System.Diagnostics.DebuggableAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.DebuggableAttribute.DebuggingModes | [FlagsAttribute(...)] | -| System.Diagnostics.DebuggableAttribute.DebuggingModes System.Diagnostics.DebuggableAttribute.get_DebuggingFlags() | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.DebuggerBrowsableAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.DebuggerBrowsableState System.Diagnostics.DebuggerBrowsableAttribute.get_State() | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.DebuggerDisplayAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.DebuggerDisplayAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.DebuggerDisplayAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.DebuggerDisplayAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.DebuggerTypeProxyAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.DebuggerTypeProxyAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.DebuggerVisualizerAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.DebuggerVisualizerAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.DebuggerVisualizerAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.DebuggerVisualizerAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.StackFrameExtensions | [ExtensionAttribute(...)] | -| System.Diagnostics.StackFrameHelper.t_reentrancy | [ThreadStaticAttribute(...)] | -| System.Diagnostics.Tracing.CounterGroup.<>O | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.CounterPayload | [EventDataAttribute(...)] | -| System.Diagnostics.Tracing.CounterPayload System.Diagnostics.Tracing.CounterPayloadType.get_Payload() | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.CounterPayload System.Diagnostics.Tracing.PollingPayloadType.get_Payload() | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.CounterPayload.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.CounterPayload.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.CounterPayload.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.CounterPayload.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.CounterPayload.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.CounterPayload.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.CounterPayload.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.CounterPayload.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.CounterPayload.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.CounterPayload.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.CounterPayload.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.CounterPayload.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.CounterPayload.d__51 | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.CounterPayloadType | [EventDataAttribute(...)] | -| System.Diagnostics.Tracing.CounterPayloadType.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.DataCollector.ThreadInstance | [ThreadStaticAttribute(...)] | -| System.Diagnostics.Tracing.DiagnosticCounter.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.DiagnosticCounter.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EmptyStruct | [IsReadOnlyAttribute(...)] | -| System.Diagnostics.Tracing.EventActivityOptions | [FlagsAttribute(...)] | -| System.Diagnostics.Tracing.EventActivityOptions System.Diagnostics.Tracing.EventAttribute.get_ActivityOptions() | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventChannel System.Diagnostics.Tracing.EventAttribute.get_Channel() | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventChannelAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventChannelAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventChannelType System.Diagnostics.Tracing.EventChannelAttribute.get_EventChannelType() | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventCommand System.Diagnostics.Tracing.EventCommandEventArgs.get_Command() | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventCommandEventArgs.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventCommandEventArgs.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventDataAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventDataAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventDataAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventDescriptor | [IsReadOnlyAttribute(...)] | -| System.Diagnostics.Tracing.EventFieldAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventFieldAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventFieldAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventFieldFormat System.Diagnostics.Tracing.EventFieldAttribute.get_Format() | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventFieldTags | [FlagsAttribute(...)] | -| System.Diagnostics.Tracing.EventFieldTags System.Diagnostics.Tracing.EventFieldAttribute.get_Tags() | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventFieldTags System.Diagnostics.Tracing.TraceLoggingMetadataCollector.get_Tags() | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventKeywords | [FlagsAttribute(...)] | -| System.Diagnostics.Tracing.EventKeywords System.Diagnostics.Tracing.EventAttribute.get_Keywords() | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventKeywords System.Diagnostics.Tracing.EventDataAttribute.get_Keywords() | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventKeywords System.Diagnostics.Tracing.EventPipeEventDispatcher.EventListenerSubscription.get_MatchAnyKeywords() | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventLevel System.Diagnostics.Tracing.EventAttribute.get_Level() | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventLevel System.Diagnostics.Tracing.EventPipeEventDispatcher.EventListenerSubscription.get_Level() | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventListener.<>c | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventListener.EventWritten | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventListener._EventSourceCreated | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventManifestOptions | [FlagsAttribute(...)] | -| System.Diagnostics.Tracing.EventPayload.d__17 | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventPipeEventDispatcher.<>c__DisplayClass12_0 | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventPipeEventDispatcher.EventListenerSubscription.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventPipeEventDispatcher.EventListenerSubscription.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventProvider.s_returnCode | [ThreadStaticAttribute(...)] | -| System.Diagnostics.Tracing.EventSource System.Diagnostics.Tracing.DiagnosticCounter.get_EventSource() | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventSource System.Diagnostics.Tracing.EventSourceCreatedEventArgs.get_EventSource() | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventSource System.Diagnostics.Tracing.EventWrittenEventArgs.get_EventSource() | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventSource.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventSource.EventMetadata[] | [NotNullAttribute(...)] | -| System.Diagnostics.Tracing.EventSource.EventSourcePrimitive | [IsReadOnlyAttribute(...)] | -| System.Diagnostics.Tracing.EventSource.EventSourcePrimitive[] | [ParamArrayAttribute(...)] | -| System.Diagnostics.Tracing.EventSource.m_EventSourceExceptionRecurenceCount | [ThreadStaticAttribute(...)] | -| System.Diagnostics.Tracing.EventSourceAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventSourceAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventSourceAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventSourceCreatedEventArgs.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventSourceSettings | [FlagsAttribute(...)] | -| System.Diagnostics.Tracing.EventTags | [FlagsAttribute(...)] | -| System.Diagnostics.Tracing.EventTags System.Diagnostics.Tracing.EventAttribute.get_Tags() | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventTags System.Diagnostics.Tracing.EventDataAttribute.get_Tags() | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventTask System.Diagnostics.Tracing.EventAttribute.get_Task() | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventWrittenEventArgs.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventWrittenEventArgs.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventWrittenEventArgs.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.EventWrittenEventArgs.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.IncrementingCounterPayload | [EventDataAttribute(...)] | -| System.Diagnostics.Tracing.IncrementingCounterPayload System.Diagnostics.Tracing.IncrementingEventCounterPayloadType.get_Payload() | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.IncrementingCounterPayload System.Diagnostics.Tracing.IncrementingPollingCounterPayloadType.get_Payload() | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.IncrementingCounterPayload.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.IncrementingCounterPayload.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.IncrementingCounterPayload.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.IncrementingCounterPayload.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.IncrementingCounterPayload.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.IncrementingCounterPayload.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.IncrementingCounterPayload.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.IncrementingCounterPayload.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.IncrementingCounterPayload.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.IncrementingCounterPayload.d__39 | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.IncrementingEventCounter.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.IncrementingEventCounterPayloadType | [EventDataAttribute(...)] | -| System.Diagnostics.Tracing.IncrementingEventCounterPayloadType.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.IncrementingPollingCounter.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.IncrementingPollingCounterPayloadType | [EventDataAttribute(...)] | -| System.Diagnostics.Tracing.IncrementingPollingCounterPayloadType.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.ManifestBuilder.<>c | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.PollingPayloadType | [EventDataAttribute(...)] | -| System.Diagnostics.Tracing.PollingPayloadType.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.PropertyValue | [IsReadOnlyAttribute(...)] | -| System.Diagnostics.Tracing.PropertyValue.<>c | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.PropertyValue.<>c__DisplayClass33_0 | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.PropertyValue.ReferenceTypeHelper`1.<>c__DisplayClass1_0 | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.PropertyValue.ReferenceTypeHelper`1.<>c__DisplayClass1_1 | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.PropertyValue.ReferenceTypeHelper`1.<>c__DisplayClass1_2 | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.PropertyValue.ReferenceTypeHelper`1.<>c__DisplayClass1_3 | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.PropertyValue.ReferenceTypeHelper`1.<>c__DisplayClass1_4 | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.PropertyValue.ReferenceTypeHelper`1.<>c__DisplayClass1_5 | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.PropertyValue.ReferenceTypeHelper`1.<>c__DisplayClass1_6 | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.PropertyValue.ReferenceTypeHelper`1.<>c__DisplayClass1_7 | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.PropertyValue.ReferenceTypeHelper`1.<>c__DisplayClass1_8 | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.PropertyValue.ReferenceTypeHelper`1.<>c__DisplayClass1_9 | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.PropertyValue.ReferenceTypeHelper`1.<>c__DisplayClass1_10 | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.PropertyValue.ReferenceTypeHelper`1.<>c__DisplayClass1_11 | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.PropertyValue.ReferenceTypeHelper`1.<>c__DisplayClass1_12 | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.PropertyValue.ReferenceTypeHelper`1.<>c__DisplayClass1_13 | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.PropertyValue.ReferenceTypeHelper`1.<>c__DisplayClass1_14 | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.PropertyValue.ReferenceTypeHelper`1.<>c__DisplayClass1_15 | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.PropertyValue.ReferenceTypeHelper`1.<>c__DisplayClass1_16 | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.PropertyValue.ReferenceTypeHelper`1.<>c__DisplayClass1_17 | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.PropertyValue.ReferenceTypeHelper`1.<>c__DisplayClass1_18 | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.PropertyValue.ReferenceTypeHelper`1.<>c__DisplayClass1_19 | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.PropertyValue.ReferenceTypeHelper`1.<>c__DisplayClass1_20 | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.RuntimeEventSource.<>O | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.RuntimeEventSource.<>c | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.Statics.<>O | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.TraceLoggingMetadataCollector.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Diagnostics.Tracing.TraceLoggingTypeInfo.threadCache | [ThreadStaticAttribute(...)] | -| System.Diagnostics.Tracing.TraceLoggingTypeInfo[] | [ParamArrayAttribute(...)] | -| System.Double System.BitConverter.Int64BitsToDouble(System.Int64) | [IntrinsicAttribute(...)] | -| System.Double System.BitConverter.UInt64BitsToDouble(System.UInt64) | [IntrinsicAttribute(...)] | -| System.Double System.Diagnostics.Tracing.CounterPayload.get_Max() | [CompilerGeneratedAttribute(...)] | -| System.Double System.Diagnostics.Tracing.CounterPayload.get_Mean() | [CompilerGeneratedAttribute(...)] | -| System.Double System.Diagnostics.Tracing.CounterPayload.get_Min() | [CompilerGeneratedAttribute(...)] | -| System.Double System.Diagnostics.Tracing.CounterPayload.get_StandardDeviation() | [CompilerGeneratedAttribute(...)] | -| System.Double System.Diagnostics.Tracing.IncrementingCounterPayload.get_Increment() | [CompilerGeneratedAttribute(...)] | -| System.Double System.Double.g__NegativeN\|219_1(System.Double,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Double System.Double.g__PositiveN\|219_0(System.Double,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Double System.Double.Abs(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Double.Acos(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Double.Acosh(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Double.Asin(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Double.Asinh(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Double.Atan2(System.Double,System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Double.Atan(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Double.Atanh(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Double.Cbrt(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Double.Ceiling(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Double.Cos(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Double.Cosh(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Double.Exp(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Double.Floor(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Double.FusedMultiplyAdd(System.Double,System.Double,System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Double.Log2(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Double.Log10(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Double.Log(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Double.Max(System.Double,System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Double.MaxMagnitude(System.Double,System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Double.MaxMagnitudeNumber(System.Double,System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Double.MaxNumber(System.Double,System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Double.Min(System.Double,System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Double.MinMagnitude(System.Double,System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Double.MinMagnitudeNumber(System.Double,System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Double.MinNumber(System.Double,System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Double.Pow(System.Double,System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Double.Round(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Double.Sin(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Double.Sinh(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Double.Sqrt(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Double.Tan(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Double.Tanh(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Double.Truncate(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Math.g__SoftwareFallback\|53_0(System.Double,System.Double) | [CompilerGeneratedAttribute(...)] | -| System.Double System.Math.Abs(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Math.Acos(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Math.Acosh(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Math.Asin(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Math.Asinh(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Math.Atan2(System.Double,System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Math.Atan(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Math.Atanh(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Math.Cbrt(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Math.Ceiling(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Math.Cos(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Math.Cosh(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Math.Exp(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Math.Floor(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Math.FusedMultiplyAdd(System.Double,System.Double,System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Math.Log2(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Math.Log10(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Math.Log(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Math.Max(System.Double,System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Math.MaxMagnitude(System.Double,System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Math.Min(System.Double,System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Math.MinMagnitude(System.Double,System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Math.Pow(System.Double,System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Math.Round(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Math.Sin(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Math.Sinh(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Math.Sqrt(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Math.Tan(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Math.Tanh(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Math.Truncate(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Runtime.InteropServices.NFloat.get_Value() | [NonVersionableAttribute(...)] | -| System.Double System.Threading.PortableThreadPool.HillClimbing.Complex.get_Imaginary() | [CompilerGeneratedAttribute(...)] | -| System.Double System.Threading.PortableThreadPool.HillClimbing.Complex.get_Real() | [CompilerGeneratedAttribute(...)] | -| System.Double System.Threading.Volatile.Read(System.Double) | [IntrinsicAttribute(...)] | -| System.Double System.Threading.Volatile.Read(System.Double) | [NonVersionableAttribute(...)] | -| System.Enum.<>c__63`1 | [CompilerGeneratedAttribute(...)] | -| System.Enum.EnumInfo System.Enum.g__InitializeEnumInfo\|7_0`1(System.RuntimeType,System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Environment.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Exception System.Runtime.ExceptionServices.ExceptionDispatchInfo.SetCurrentStackTrace(System.Exception) | [StackTraceHiddenAttribute(...)] | -| System.Exception System.Runtime.ExceptionServices.FirstChanceExceptionEventArgs.get_Exception() | [CompilerGeneratedAttribute(...)] | -| System.Exception.DispatchState | [IsReadOnlyAttribute(...)] | -| System.Exception[] | [ParamArrayAttribute(...)] | -| System.Exception[] System.Reflection.ReflectionTypeLoadException.get_LoaderExceptions() | [CompilerGeneratedAttribute(...)] | -| System.GCGenerationInfo | [IsReadOnlyAttribute(...)] | -| System.GCGenerationInfo.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.GCGenerationInfo.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.GCGenerationInfo.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.GCGenerationInfo.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.GCMemoryInfo | [IsReadOnlyAttribute(...)] | -| System.Globalization.Calendar | [ScopedRefAttribute(...)] | -| System.Globalization.CalendarData.<>c | [CompilerGeneratedAttribute(...)] | -| System.Globalization.CalendricalCalculationsHelper.EphemerisCorrectionAlgorithmMap | [IsReadOnlyAttribute(...)] | -| System.Globalization.CompareOptions | [FlagsAttribute(...)] | -| System.Globalization.CultureInfo System.Resources.ResourceFallbackManager.d__5.get_Current() | [DebuggerHiddenAttribute(...)] | -| System.Globalization.CultureInfo.<>O | [CompilerGeneratedAttribute(...)] | -| System.Globalization.CultureInfo.s_currentThreadCulture | [ThreadStaticAttribute(...)] | -| System.Globalization.CultureInfo.s_currentThreadUICulture | [ThreadStaticAttribute(...)] | -| System.Globalization.CultureTypes | [FlagsAttribute(...)] | -| System.Globalization.DateTimeFormatFlags | [FlagsAttribute(...)] | -| System.Globalization.DateTimeFormatInfo | [ScopedRefAttribute(...)] | -| System.Globalization.DateTimeStyles | [FlagsAttribute(...)] | -| System.Globalization.DateTimeStyles | [ScopedRefAttribute(...)] | -| System.Globalization.DaylightTimeStruct | [IsReadOnlyAttribute(...)] | -| System.Globalization.GlobalizationExtensions | [ExtensionAttribute(...)] | -| System.Globalization.GlobalizationMode.Settings.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Globalization.GlobalizationMode.Settings.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Globalization.HebrewNumber.HebrewValue | [IsReadOnlyAttribute(...)] | -| System.Globalization.MonthNameStyles | [FlagsAttribute(...)] | -| System.Globalization.NumberFormatInfo System.Globalization.NumberFormatInfo.g__GetProviderNonNull\|58_0(System.IFormatProvider) | [CompilerGeneratedAttribute(...)] | -| System.Globalization.NumberStyles | [FlagsAttribute(...)] | -| System.Globalization.OrdinalCasing | [ExtensionAttribute(...)] | -| System.Globalization.TextInfo.ToLowerConversion | [IsReadOnlyAttribute(...)] | -| System.Globalization.TextInfo.ToUpperConversion | [IsReadOnlyAttribute(...)] | -| System.Globalization.TimeSpanParse.StringParser | [IsByRefLikeAttribute(...)] | -| System.Globalization.TimeSpanParse.TimeSpanRawInfo | [IsByRefLikeAttribute(...)] | -| System.Globalization.TimeSpanParse.TimeSpanResult | [IsByRefLikeAttribute(...)] | -| System.Globalization.TimeSpanParse.TimeSpanStandardStyles | [FlagsAttribute(...)] | -| System.Globalization.TimeSpanParse.TimeSpanToken | [IsByRefLikeAttribute(...)] | -| System.Globalization.TimeSpanParse.TimeSpanTokenizer | [IsByRefLikeAttribute(...)] | -| System.Globalization.TimeSpanStyles | [FlagsAttribute(...)] | -| System.Globalization.UmAlQuraCalendar.DateMapping | [IsReadOnlyAttribute(...)] | -| System.Guid | [IsReadOnlyAttribute(...)] | -| System.Guid | [NonVersionableAttribute(...)] | -| System.Guid | [RequiresLocationAttribute(...)] | -| System.Guid System.Guid.GuidResult.ToGuid() | [IsReadOnlyAttribute(...)] | -| System.Half | [IsReadOnlyAttribute(...)] | -| System.Half System.Runtime.InteropServices.NFloat.op_Explicit(System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.HexConverter.<>c | [CompilerGeneratedAttribute(...)] | -| System.IO.BufferedStream.d__68 | [CompilerGeneratedAttribute(...)] | -| System.IO.BufferedStream.d__33 | [CompilerGeneratedAttribute(...)] | -| System.IO.BufferedStream.d__36 | [CompilerGeneratedAttribute(...)] | -| System.IO.BufferedStream.d__40 | [CompilerGeneratedAttribute(...)] | -| System.IO.BufferedStream.d__48 | [CompilerGeneratedAttribute(...)] | -| System.IO.BufferedStream.d__59 | [CompilerGeneratedAttribute(...)] | -| System.IO.Enumeration.FileSystemEntry | [IsByRefLikeAttribute(...)] | -| System.IO.Enumeration.FileSystemEntry.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.IO.Enumeration.FileSystemEntry.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.IO.Enumeration.FileSystemEntry.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.IO.Enumeration.FileSystemEntry.FileNameBuffer.<_buffer>e__FixedBuffer | [CompilerGeneratedAttribute(...)] | -| System.IO.Enumeration.FileSystemEntry.FileNameBuffer.<_buffer>e__FixedBuffer | [UnsafeValueTypeAttribute(...)] | -| System.IO.Enumeration.FileSystemEnumerable.FindPredicate System.IO.Enumeration.FileSystemEnumerable`1.get_ShouldIncludePredicate() | [CompilerGeneratedAttribute(...)] | -| System.IO.Enumeration.FileSystemEnumerable.FindPredicate System.IO.Enumeration.FileSystemEnumerable`1.get_ShouldRecursePredicate() | [CompilerGeneratedAttribute(...)] | -| System.IO.Enumeration.FileSystemEnumerableFactory.<>c | [CompilerGeneratedAttribute(...)] | -| System.IO.Enumeration.FileSystemEnumerableFactory.<>c__DisplayClass2_0 | [CompilerGeneratedAttribute(...)] | -| System.IO.Enumeration.FileSystemEnumerableFactory.<>c__DisplayClass3_0 | [CompilerGeneratedAttribute(...)] | -| System.IO.Enumeration.FileSystemEnumerableFactory.<>c__DisplayClass4_0 | [CompilerGeneratedAttribute(...)] | -| System.IO.Enumeration.FileSystemEnumerableFactory.<>c__DisplayClass5_0 | [CompilerGeneratedAttribute(...)] | -| System.IO.Enumeration.FileSystemEnumerableFactory.<>c__DisplayClass6_0 | [CompilerGeneratedAttribute(...)] | -| System.IO.Enumeration.FileSystemEnumerableFactory.<>c__DisplayClass7_0 | [CompilerGeneratedAttribute(...)] | -| System.IO.Enumeration.FileSystemEnumerable`1.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.IO.Enumeration.FileSystemEnumerable`1.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.IO.EnumerationOptions System.IO.EnumerationOptions.get_Compatible() | [CompilerGeneratedAttribute(...)] | -| System.IO.EnumerationOptions System.IO.EnumerationOptions.get_CompatibleRecursive() | [CompilerGeneratedAttribute(...)] | -| System.IO.EnumerationOptions System.IO.EnumerationOptions.get_Default() | [CompilerGeneratedAttribute(...)] | -| System.IO.EnumerationOptions.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.IO.EnumerationOptions.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.IO.EnumerationOptions.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.IO.EnumerationOptions.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.IO.EnumerationOptions.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.IO.EnumerationOptions.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.IO.EnumerationOptions.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.IO.EnumerationOptions.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.IO.EnumerationOptions.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.IO.EnumerationOptions.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.IO.File.<g__Core\|92_0>d | [CompilerGeneratedAttribute(...)] | -| System.IO.File.d__90 | [CompilerGeneratedAttribute(...)] | -| System.IO.File.d__91 | [CompilerGeneratedAttribute(...)] | -| System.IO.File.d__95 | [CompilerGeneratedAttribute(...)] | -| System.IO.File.d__86 | [CompilerGeneratedAttribute(...)] | -| System.IO.File.d__98 | [CompilerGeneratedAttribute(...)] | -| System.IO.File.d__110 | [CompilerGeneratedAttribute(...)] | -| System.IO.File.d__108 | [CompilerGeneratedAttribute(...)] | -| System.IO.FileAccess | [FlagsAttribute(...)] | -| System.IO.FileAttributes | [FlagsAttribute(...)] | -| System.IO.FileAttributes System.IO.EnumerationOptions.get_AttributesToSkip() | [CompilerGeneratedAttribute(...)] | -| System.IO.FileLoadException.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.IO.FileLoadException.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.IO.FileNotFoundException.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.IO.FileNotFoundException.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.IO.FileOptions | [FlagsAttribute(...)] | -| System.IO.FileShare | [FlagsAttribute(...)] | -| System.IO.FileStream.d__57 | [CompilerGeneratedAttribute(...)] | -| System.IO.FileSystem.<>O | [CompilerGeneratedAttribute(...)] | -| System.IO.FileSystem.<>c | [CompilerGeneratedAttribute(...)] | -| System.IO.MatchCasing System.IO.EnumerationOptions.get_MatchCasing() | [CompilerGeneratedAttribute(...)] | -| System.IO.MatchType System.IO.EnumerationOptions.get_MatchType() | [CompilerGeneratedAttribute(...)] | -| System.IO.Path.<>c | [CompilerGeneratedAttribute(...)] | -| System.IO.Strategies.BufferedFileStreamStrategy.d__57 | [CompilerGeneratedAttribute(...)] | -| System.IO.Strategies.BufferedFileStreamStrategy.d__27 | [CompilerGeneratedAttribute(...)] | -| System.IO.Strategies.BufferedFileStreamStrategy.d__55 | [CompilerGeneratedAttribute(...)] | -| System.IO.Strategies.BufferedFileStreamStrategy.d__37 | [CompilerGeneratedAttribute(...)] | -| System.IO.Strategies.BufferedFileStreamStrategy.d__36 | [CompilerGeneratedAttribute(...)] | -| System.IO.Strategies.BufferedFileStreamStrategy.d__48 | [CompilerGeneratedAttribute(...)] | -| System.IO.Strategies.BufferedFileStreamStrategy.d__47 | [CompilerGeneratedAttribute(...)] | -| System.IO.Strategies.FileStreamStrategy.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.IO.Stream.<g__Core\|27_0>d | [CompilerGeneratedAttribute(...)] | -| System.IO.Stream.<g__FinishReadAsync\|42_0>d | [CompilerGeneratedAttribute(...)] | -| System.IO.Stream.<>c | [CompilerGeneratedAttribute(...)] | -| System.IO.Stream.d__61 | [CompilerGeneratedAttribute(...)] | -| System.IO.Stream.d__46 | [CompilerGeneratedAttribute(...)] | -| System.IO.Stream.ReadWriteTask.<>O | [CompilerGeneratedAttribute(...)] | -| System.IO.StreamReader.d__69 | [CompilerGeneratedAttribute(...)] | -| System.IO.StreamReader.d__72 | [CompilerGeneratedAttribute(...)] | -| System.IO.StreamReader.d__63 | [CompilerGeneratedAttribute(...)] | -| System.IO.StreamReader.d__66 | [CompilerGeneratedAttribute(...)] | -| System.IO.StreamWriter.<g__Core\|76_0>d | [CompilerGeneratedAttribute(...)] | -| System.IO.StreamWriter.d__36 | [CompilerGeneratedAttribute(...)] | -| System.IO.StreamWriter.d__64 | [CompilerGeneratedAttribute(...)] | -| System.IO.StreamWriter.d__68 | [CompilerGeneratedAttribute(...)] | -| System.IO.SyncTextReader System.ConsolePal.g__EnsureInitialized\|19_0() | [CompilerGeneratedAttribute(...)] | -| System.IO.TextReader System.Console.g__EnsureInitialized\|14_0() | [CompilerGeneratedAttribute(...)] | -| System.IO.TextReader.<>c | [CompilerGeneratedAttribute(...)] | -| System.IO.TextReader.d__23 | [CompilerGeneratedAttribute(...)] | -| System.IO.TextReader.d__17 | [CompilerGeneratedAttribute(...)] | -| System.IO.TextWriter System.Console.g__EnsureInitialized\|28_0() | [CompilerGeneratedAttribute(...)] | -| System.IO.TextWriter System.Console.g__EnsureInitialized\|26_0() | [CompilerGeneratedAttribute(...)] | -| System.IO.TextWriter.<g__WriteAsyncCore\|60_0>d | [CompilerGeneratedAttribute(...)] | -| System.IO.TextWriter.<g__WriteLineAsyncCore\|66_0>d | [CompilerGeneratedAttribute(...)] | -| System.IO.TextWriter.<>c | [CompilerGeneratedAttribute(...)] | -| System.IO.UnixFileMode | [FlagsAttribute(...)] | -| System.Index | [IsReadOnlyAttribute(...)] | -| System.Index System.Range.get_End() | [CompilerGeneratedAttribute(...)] | -| System.Index System.Range.get_Start() | [CompilerGeneratedAttribute(...)] | -| System.Int16 System.Buffers.Binary.BinaryPrimitives.ReverseEndianness(System.Int16) | [IntrinsicAttribute(...)] | -| System.Int16 System.Math.Max(System.Int16,System.Int16) | [NonVersionableAttribute(...)] | -| System.Int16 System.Math.Min(System.Int16,System.Int16) | [NonVersionableAttribute(...)] | -| System.Int16 System.Runtime.InteropServices.NFloat.op_CheckedExplicit(System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.Int16 System.Runtime.InteropServices.NFloat.op_Explicit(System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.Int16 System.Threading.Volatile.Read(System.Int16) | [IntrinsicAttribute(...)] | -| System.Int16 System.Threading.Volatile.Read(System.Int16) | [NonVersionableAttribute(...)] | -| System.Int32 Internal.Runtime.InteropServices.ComActivator.GetClassFactoryForTypeInternal(Internal.Runtime.InteropServices.ComActivationContextInternal*) | [UnmanagedCallersOnlyAttribute(...)] | -| System.Int32 Internal.Runtime.InteropServices.ComActivator.RegisterClassForTypeInternal(Internal.Runtime.InteropServices.ComActivationContextInternal*) | [UnmanagedCallersOnlyAttribute(...)] | -| System.Int32 Internal.Runtime.InteropServices.ComActivator.UnregisterClassForTypeInternal(Internal.Runtime.InteropServices.ComActivationContextInternal*) | [UnmanagedCallersOnlyAttribute(...)] | -| System.Int32 Internal.Runtime.InteropServices.ComponentActivator.GetFunctionPointer(System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr) | [UnmanagedCallersOnlyAttribute(...)] | -| System.Int32 Internal.Runtime.InteropServices.ComponentActivator.LoadAssembly(System.IntPtr,System.IntPtr,System.IntPtr) | [UnmanagedCallersOnlyAttribute(...)] | -| System.Int32 Internal.Runtime.InteropServices.ComponentActivator.LoadAssemblyAndGetFunctionPointer(System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr) | [UnmanagedCallersOnlyAttribute(...)] | -| System.Int32 Internal.Runtime.InteropServices.ComponentActivator.LoadAssemblyBytes(System.Byte*,System.IntPtr,System.Byte*,System.IntPtr,System.IntPtr,System.IntPtr) | [UnmanagedCallersOnlyAttribute(...)] | -| System.Int32 Interop.Globalization.g____PInvoke\|16_0(System.IntPtr,System.Char*,System.Int32,System.Char*,System.Int32,System.Globalization.CompareOptions,System.Int32*) | [CompilerGeneratedAttribute(...)] | -| System.Int32 Interop.Globalization.g____PInvoke\|3_0(System.IntPtr,System.UInt16*,System.Globalization.CalendarId,System.Globalization.CalendarDataType,System.IntPtr) | [CompilerGeneratedAttribute(...)] | -| System.Int32 Interop.Globalization.g____PInvoke\|0_0(System.UInt16*,System.Globalization.CalendarId*,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Int32 Interop.Globalization.g____PInvoke\|31_0(System.Char*,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Int32 Interop.Globalization.g____PInvoke\|5_0(System.Int32,System.Int32*,System.Int32*,System.Int32*) | [CompilerGeneratedAttribute(...)] | -| System.Int32 Interop.Globalization.g____PInvoke\|35_0(System.UInt16*,System.UInt32,System.Int32*,System.Int32*) | [CompilerGeneratedAttribute(...)] | -| System.Int32 Interop.Globalization.g____PInvoke\|34_0(System.UInt16*,System.UInt32,System.Int32*) | [CompilerGeneratedAttribute(...)] | -| System.Int32 Interop.Globalization.g____PInvoke\|30_0(System.UInt16*,System.UInt32,System.Char*,System.Int32,System.UInt16*) | [CompilerGeneratedAttribute(...)] | -| System.Int32 Interop.Globalization.g____PInvoke\|29_0(System.UInt16*,System.Char*,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Int32 Interop.Globalization.g____PInvoke\|33_0(System.UInt16*,System.Int32,System.Char*,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Int32 Interop.Globalization.g____PInvoke\|36_0(System.Char*,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Int32 Interop.Globalization.g____PInvoke\|43_0(System.UInt16*,System.Char*,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Int32 Interop.Globalization.g____PInvoke\|32_0(System.UInt16*) | [CompilerGeneratedAttribute(...)] | -| System.Int32 Interop.Globalization.g____PInvoke\|15_0(System.IntPtr,System.Char*,System.Int32,System.Char*,System.Int32,System.Globalization.CompareOptions,System.Int32*) | [CompilerGeneratedAttribute(...)] | -| System.Int32 Interop.Globalization.g____PInvoke\|42_0(System.UInt16*,System.IntPtr,System.Char*,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Int32 Interop.Globalization.CompareString(System.IntPtr,System.Char*,System.Int32,System.Char*,System.Int32,System.Globalization.CompareOptions) | [LibraryImportAttribute(...)] | -| System.Int32 Interop.Globalization.GetCalendars(System.String,System.Globalization.CalendarId[],System.Int32) | [LibraryImportAttribute(...)] | -| System.Int32 Interop.Globalization.GetLocales(System.Char[],System.Int32) | [LibraryImportAttribute(...)] | -| System.Int32 Interop.Globalization.GetSortKey(System.IntPtr,System.Char*,System.Int32,System.Byte*,System.Int32,System.Globalization.CompareOptions) | [LibraryImportAttribute(...)] | -| System.Int32 Interop.Globalization.IanaIdToWindowsId(System.String,System.Char*,System.Int32) | [LibraryImportAttribute(...)] | -| System.Int32 Interop.Globalization.IndexOf(System.IntPtr,System.Char*,System.Int32,System.Char*,System.Int32,System.Globalization.CompareOptions,System.Int32*) | [LibraryImportAttribute(...)] | -| System.Int32 Interop.Globalization.IsNormalized(System.Text.NormalizationForm,System.Char*,System.Int32) | [LibraryImportAttribute(...)] | -| System.Int32 Interop.Globalization.LastIndexOf(System.IntPtr,System.Char*,System.Int32,System.Char*,System.Int32,System.Globalization.CompareOptions,System.Int32*) | [LibraryImportAttribute(...)] | -| System.Int32 Interop.Globalization.NormalizeString(System.Text.NormalizationForm,System.Char*,System.Int32,System.Char*,System.Int32) | [LibraryImportAttribute(...)] | -| System.Int32 Interop.Globalization.ToAscii(System.UInt32,System.Char*,System.Int32,System.Char*,System.Int32) | [LibraryImportAttribute(...)] | -| System.Int32 Interop.Globalization.ToUnicode(System.UInt32,System.Char*,System.Int32,System.Char*,System.Int32) | [LibraryImportAttribute(...)] | -| System.Int32 Interop.Globalization.WindowsIdToIanaId(System.String,System.IntPtr,System.Char*,System.Int32) | [LibraryImportAttribute(...)] | -| System.Int32 Interop.HostPolicy.g____PInvoke\|2_0(System.Byte*,System.IntPtr) | [CompilerGeneratedAttribute(...)] | -| System.Int32 Interop.HostPolicy.corehost_resolve_component_dependencies(System.String,Interop.HostPolicy.corehost_resolve_component_dependencies_result_fn) | [LibraryImportAttribute(...)] | -| System.Int32 Interop.Kernel32.g____PInvoke\|46_0(System.IntPtr) | [CompilerGeneratedAttribute(...)] | -| System.Int32 Interop.Kernel32.g____PInvoke\|70_0(System.Int32,System.IntPtr,System.UInt32,System.Int32,System.Void*,System.Int32,System.IntPtr) | [CompilerGeneratedAttribute(...)] | -| System.Int32 Interop.Kernel32.g____PInvoke\|77_0(System.IntPtr) | [CompilerGeneratedAttribute(...)] | -| System.Int32 Interop.Kernel32.g____PInvoke\|80_0(System.IntPtr,System.Int32,System.Int32*) | [CompilerGeneratedAttribute(...)] | -| System.Int32 Interop.Kernel32.g____PInvoke\|58_0(System.IntPtr) | [CompilerGeneratedAttribute(...)] | -| System.Int32 Interop.Kernel32.g____PInvoke\|81_0(System.UInt16*,System.UInt16*) | [CompilerGeneratedAttribute(...)] | -| System.Int32 Interop.Kernel32.g____PInvoke\|57_0(System.IntPtr) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Array.g__GenericBinarySearch\|85_0`1(System.Array,System.Int32,System.Int32,System.Object) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Array.g__GenericIndexOf\|110_0`1(System.Array,System.Object,System.Int32,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Array.g__GenericLastIndexOf\|116_0`1(System.Array,System.Object,System.Int32,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Array.GetLength(System.Int32) | [IntrinsicAttribute(...)] | -| System.Int32 System.Array.GetLowerBound(System.Int32) | [IntrinsicAttribute(...)] | -| System.Int32 System.Array.GetUpperBound(System.Int32) | [IntrinsicAttribute(...)] | -| System.Int32 System.BitConverter.SingleToInt32Bits(System.Single) | [IntrinsicAttribute(...)] | -| System.Int32 System.Buffers.Binary.BinaryPrimitives.ReverseEndianness(System.Int32) | [IntrinsicAttribute(...)] | -| System.Int32 System.ComponentModel.Win32Exception.get_NativeErrorCode() | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Diagnostics.Debugger.g____PInvoke\|6_0() | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Diagnostics.Tracing.CounterPayload.get_Count() | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Diagnostics.Tracing.EventAttribute.get_EventId() | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Diagnostics.Tracing.EventPipeInternal.g____PInvoke\|6_0(System.UInt32,System.Guid*) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Diagnostics.Tracing.EventPipeInternal.g____PInvoke\|9_0(System.UInt64,System.Diagnostics.Tracing.EventPipeEventInstanceData*) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Diagnostics.Tracing.EventPipeInternal.g____PInvoke\|8_0(System.UInt64,System.Diagnostics.Tracing.EventPipeSessionInfo*) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Diagnostics.Tracing.EventPipeInternal.g____PInvoke\|10_0(System.UInt64) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Diagnostics.Tracing.EventPipeInternal.g____PInvoke\|11_0(System.UInt64,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Diagnostics.Tracing.EventWrittenEventArgs.get_EventId() | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Environment.get_ProcessorCount() | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.GC.<_StartNoGCRegion>g____PInvoke\|3_0(System.Int64,System.Int32,System.Int64,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Globalization.ISOWeek.g__P\|8_0(System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Globalization.IcuLocaleData.g__ResolveDigitListSeparator\|25_1(System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Globalization.IcuLocaleData.g__ResolveIndex\|25_0(System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.IO.EnumerationOptions.get_BufferSize() | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Int32.LeadingZeroCount(System.Int32) | [IntrinsicAttribute(...)] | -| System.Int32 System.Int32.Log2(System.Int32) | [IntrinsicAttribute(...)] | -| System.Int32 System.Int32.PopCount(System.Int32) | [IntrinsicAttribute(...)] | -| System.Int32 System.Int32.RotateLeft(System.Int32,System.Int32) | [IntrinsicAttribute(...)] | -| System.Int32 System.Int32.RotateRight(System.Int32,System.Int32) | [IntrinsicAttribute(...)] | -| System.Int32 System.Int32.TrailingZeroCount(System.Int32) | [IntrinsicAttribute(...)] | -| System.Int32 System.IntPtr.ToInt32() | [NonVersionableAttribute(...)] | -| System.Int32 System.IntPtr.get_Size() | [NonVersionableAttribute(...)] | -| System.Int32 System.IntPtr.op_Explicit(System.IntPtr) | [NonVersionableAttribute(...)] | -| System.Int32 System.Math.Max(System.Int32,System.Int32) | [NonVersionableAttribute(...)] | -| System.Int32 System.Math.Min(System.Int32,System.Int32) | [NonVersionableAttribute(...)] | -| System.Int32 System.MdUtf8String.g____PInvoke\|0_0(System.Void*,System.Void*,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.MemoryExtensions.BinarySearch`1(System.ReadOnlySpan,System.IComparable) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.BinarySearch`1(System.Span,System.IComparable) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.BinarySearch`2(System.ReadOnlySpan,!0,!1) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.BinarySearch`2(System.ReadOnlySpan,!1) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.BinarySearch`2(System.Span,!0,!1) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.BinarySearch`2(System.Span,!1) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.CommonPrefixLength`1(System.ReadOnlySpan,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.CommonPrefixLength`1(System.ReadOnlySpan,System.ReadOnlySpan,System.Collections.Generic.IEqualityComparer) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.CommonPrefixLength`1(System.Span,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.CommonPrefixLength`1(System.Span,System.ReadOnlySpan,System.Collections.Generic.IEqualityComparer) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.CompareTo(System.ReadOnlySpan,System.ReadOnlySpan,System.StringComparison) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.Count`1(System.ReadOnlySpan,!0) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.Count`1(System.ReadOnlySpan,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.Count`1(System.Span,!0) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.Count`1(System.Span,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.IndexOf(System.ReadOnlySpan,System.ReadOnlySpan,System.StringComparison) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.IndexOfAnyExceptInRange`1(System.ReadOnlySpan,!0,!0) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.IndexOfAnyExceptInRange`1(System.Span,!0,!0) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.IndexOfAnyExcept`1(System.ReadOnlySpan,!0) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.IndexOfAnyExcept`1(System.ReadOnlySpan,!0,!0) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.IndexOfAnyExcept`1(System.ReadOnlySpan,!0,!0,!0) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.IndexOfAnyExcept`1(System.ReadOnlySpan,!0,!0,!0,!0) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.IndexOfAnyExcept`1(System.ReadOnlySpan,System.Buffers.SearchValues) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.IndexOfAnyExcept`1(System.ReadOnlySpan,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.IndexOfAnyExcept`1(System.Span,!0) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.IndexOfAnyExcept`1(System.Span,!0,!0) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.IndexOfAnyExcept`1(System.Span,!0,!0,!0) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.IndexOfAnyExcept`1(System.Span,System.Buffers.SearchValues) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.IndexOfAnyExcept`1(System.Span,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.IndexOfAnyInRange`1(System.ReadOnlySpan,!0,!0) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.IndexOfAnyInRange`1(System.Span,!0,!0) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.IndexOfAny`1(System.ReadOnlySpan,!0,!0) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.IndexOfAny`1(System.ReadOnlySpan,!0,!0,!0) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.IndexOfAny`1(System.ReadOnlySpan,System.Buffers.SearchValues) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.IndexOfAny`1(System.ReadOnlySpan,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.IndexOfAny`1(System.Span,!0,!0) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.IndexOfAny`1(System.Span,!0,!0,!0) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.IndexOfAny`1(System.Span,System.Buffers.SearchValues) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.IndexOfAny`1(System.Span,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.IndexOf`1(System.ReadOnlySpan,!0) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.IndexOf`1(System.ReadOnlySpan,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.IndexOf`1(System.Span,!0) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.IndexOf`1(System.Span,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.LastIndexOf(System.ReadOnlySpan,System.ReadOnlySpan,System.StringComparison) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.LastIndexOfAnyExceptInRange`1(System.ReadOnlySpan,!0,!0) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.LastIndexOfAnyExceptInRange`1(System.Span,!0,!0) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.LastIndexOfAnyExcept`1(System.ReadOnlySpan,!0) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.LastIndexOfAnyExcept`1(System.ReadOnlySpan,!0,!0) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.LastIndexOfAnyExcept`1(System.ReadOnlySpan,!0,!0,!0) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.LastIndexOfAnyExcept`1(System.ReadOnlySpan,!0,!0,!0,!0) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.LastIndexOfAnyExcept`1(System.ReadOnlySpan,System.Buffers.SearchValues) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.LastIndexOfAnyExcept`1(System.ReadOnlySpan,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.LastIndexOfAnyExcept`1(System.Span,!0) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.LastIndexOfAnyExcept`1(System.Span,!0,!0) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.LastIndexOfAnyExcept`1(System.Span,!0,!0,!0) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.LastIndexOfAnyExcept`1(System.Span,System.Buffers.SearchValues) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.LastIndexOfAnyExcept`1(System.Span,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.LastIndexOfAnyInRange`1(System.ReadOnlySpan,!0,!0) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.LastIndexOfAnyInRange`1(System.Span,!0,!0) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.LastIndexOfAny`1(System.ReadOnlySpan,!0,!0) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.LastIndexOfAny`1(System.ReadOnlySpan,!0,!0,!0) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.LastIndexOfAny`1(System.ReadOnlySpan,System.Buffers.SearchValues) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.LastIndexOfAny`1(System.ReadOnlySpan,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.LastIndexOfAny`1(System.Span,!0,!0) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.LastIndexOfAny`1(System.Span,!0,!0,!0) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.LastIndexOfAny`1(System.Span,System.Buffers.SearchValues) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.LastIndexOfAny`1(System.Span,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.LastIndexOf`1(System.ReadOnlySpan,!0) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.LastIndexOf`1(System.ReadOnlySpan,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.LastIndexOf`1(System.Span,!0) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.LastIndexOf`1(System.Span,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.SequenceCompareTo`1(System.ReadOnlySpan,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.SequenceCompareTo`1(System.Span,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.Split(System.ReadOnlySpan,System.Span,System.Char,System.StringSplitOptions) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.Split(System.ReadOnlySpan,System.Span,System.ReadOnlySpan,System.StringSplitOptions) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.SplitAny(System.ReadOnlySpan,System.Span,System.ReadOnlySpan,System.StringSplitOptions) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.SplitAny(System.ReadOnlySpan,System.Span,System.ReadOnlySpan,System.StringSplitOptions) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.ToLower(System.ReadOnlySpan,System.Span,System.Globalization.CultureInfo) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.ToLowerInvariant(System.ReadOnlySpan,System.Span) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.ToUpper(System.ReadOnlySpan,System.Span,System.Globalization.CultureInfo) | [ExtensionAttribute(...)] | -| System.Int32 System.MemoryExtensions.ToUpperInvariant(System.ReadOnlySpan,System.Span) | [ExtensionAttribute(...)] | -| System.Int32 System.Numerics.BitOperations.g__SoftwareFallback\|24_0(System.UInt32) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Numerics.BitOperations.g__SoftwareFallback\|25_0(System.UInt64) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Numerics.BitOperations.LeadingZeroCount(System.UInt32) | [IntrinsicAttribute(...)] | -| System.Int32 System.Numerics.BitOperations.LeadingZeroCount(System.UInt64) | [IntrinsicAttribute(...)] | -| System.Int32 System.Numerics.BitOperations.LeadingZeroCount(System.UIntPtr) | [IntrinsicAttribute(...)] | -| System.Int32 System.Numerics.BitOperations.Log2(System.UInt32) | [IntrinsicAttribute(...)] | -| System.Int32 System.Numerics.BitOperations.Log2(System.UInt64) | [IntrinsicAttribute(...)] | -| System.Int32 System.Numerics.BitOperations.Log2(System.UIntPtr) | [IntrinsicAttribute(...)] | -| System.Int32 System.Numerics.BitOperations.PopCount(System.UInt32) | [IntrinsicAttribute(...)] | -| System.Int32 System.Numerics.BitOperations.PopCount(System.UInt64) | [IntrinsicAttribute(...)] | -| System.Int32 System.Numerics.BitOperations.PopCount(System.UIntPtr) | [IntrinsicAttribute(...)] | -| System.Int32 System.Numerics.BitOperations.TrailingZeroCount(System.Int64) | [IntrinsicAttribute(...)] | -| System.Int32 System.Numerics.BitOperations.TrailingZeroCount(System.IntPtr) | [IntrinsicAttribute(...)] | -| System.Int32 System.Numerics.BitOperations.TrailingZeroCount(System.UInt32) | [IntrinsicAttribute(...)] | -| System.Int32 System.Numerics.BitOperations.TrailingZeroCount(System.UInt64) | [IntrinsicAttribute(...)] | -| System.Int32 System.Numerics.BitOperations.TrailingZeroCount(System.UIntPtr) | [IntrinsicAttribute(...)] | -| System.Int32 System.Numerics.Matrix3x2.GetHashCode() | [IsReadOnlyAttribute(...)] | -| System.Int32 System.Numerics.Matrix3x2.Impl.GetHashCode() | [IsReadOnlyAttribute(...)] | -| System.Int32 System.Numerics.Matrix4x4.GetHashCode() | [IsReadOnlyAttribute(...)] | -| System.Int32 System.Numerics.Matrix4x4.Impl.GetHashCode() | [IsReadOnlyAttribute(...)] | -| System.Int32 System.Numerics.Plane.GetHashCode() | [IsReadOnlyAttribute(...)] | -| System.Int32 System.Numerics.Quaternion.GetHashCode() | [IsReadOnlyAttribute(...)] | -| System.Int32 System.Numerics.TotalOrderIeee754Comparer`1.g__CompareGeneric\|0_1(!0,!0) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Numerics.TotalOrderIeee754Comparer`1.g__CompareIntegerSemantic\|0_0`1(!0,!0) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Numerics.TotalOrderIeee754Comparer`1.g__CompareSignificand\|0_2(!0,!0) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Numerics.Vector2.GetHashCode() | [IsReadOnlyAttribute(...)] | -| System.Int32 System.Numerics.Vector3.GetHashCode() | [IsReadOnlyAttribute(...)] | -| System.Int32 System.Numerics.Vector4.GetHashCode() | [IsReadOnlyAttribute(...)] | -| System.Int32 System.Numerics.Vector`1.get_Count() | [IntrinsicAttribute(...)] | -| System.Int32 System.ReadOnlySpan`1.get_Length() | [IntrinsicAttribute(...)] | -| System.Int32 System.ReadOnlySpan`1.get_Length() | [NonVersionableAttribute(...)] | -| System.Int32 System.Reflection.Emit.RuntimeModuleBuilder.g____PInvoke\|25_0(System.Runtime.CompilerServices.QCallModule,System.Int32,System.UInt16*,System.Byte*,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Reflection.Emit.RuntimeModuleBuilder.g____PInvoke\|16_0(System.Runtime.CompilerServices.QCallModule,System.Int32,System.UInt16*,System.Byte*,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Reflection.Emit.RuntimeModuleBuilder.g____PInvoke\|26_0(System.Runtime.CompilerServices.QCallModule,System.UInt16*,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Reflection.Emit.RuntimeModuleBuilder.g____PInvoke\|23_0(System.Runtime.CompilerServices.QCallModule,System.Byte*,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Reflection.Emit.RuntimeModuleBuilder.g____PInvoke\|13_0(System.Runtime.CompilerServices.QCallModule,System.UInt16*,System.Runtime.CompilerServices.QCallModule,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Reflection.Emit.RuntimeModuleBuilder.GetArrayMethodToken(System.Runtime.CompilerServices.QCallModule,System.Int32,System.String,System.Byte[],System.Int32) | [LibraryImportAttribute(...)] | -| System.Int32 System.Reflection.Emit.RuntimeModuleBuilder.GetMemberRefFromSignature(System.Runtime.CompilerServices.QCallModule,System.Int32,System.String,System.Byte[],System.Int32) | [LibraryImportAttribute(...)] | -| System.Int32 System.Reflection.Emit.RuntimeModuleBuilder.GetStringConstant(System.Runtime.CompilerServices.QCallModule,System.String,System.Int32) | [LibraryImportAttribute(...)] | -| System.Int32 System.Reflection.Emit.RuntimeModuleBuilder.GetTypeRef(System.Runtime.CompilerServices.QCallModule,System.String,System.Runtime.CompilerServices.QCallModule,System.Int32) | [LibraryImportAttribute(...)] | -| System.Int32 System.Reflection.Emit.RuntimeTypeBuilder.g____PInvoke\|11_0(System.Runtime.CompilerServices.QCallModule,System.Int32,System.UInt16*,System.Reflection.EventAttributes,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Reflection.Emit.RuntimeTypeBuilder.g____PInvoke\|6_0(System.Runtime.CompilerServices.QCallModule,System.Int32,System.UInt16*,System.Byte*,System.Int32,System.Reflection.FieldAttributes) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Reflection.Emit.RuntimeTypeBuilder.g____PInvoke\|56_0(System.Runtime.CompilerServices.QCallModule,System.UInt16*,System.Int32,System.Reflection.GenericParameterAttributes,System.Int32,System.Int32*) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Reflection.Emit.RuntimeTypeBuilder.g____PInvoke\|4_0(System.Runtime.CompilerServices.QCallModule,System.Int32,System.UInt16*,System.Byte*,System.Int32,System.Reflection.MethodAttributes) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Reflection.Emit.RuntimeTypeBuilder.g____PInvoke\|5_0(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Byte*,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Reflection.Emit.RuntimeTypeBuilder.g____PInvoke\|10_0(System.Runtime.CompilerServices.QCallModule,System.Int32,System.UInt16*,System.Reflection.PropertyAttributes,System.Byte*,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Reflection.Emit.RuntimeTypeBuilder.g____PInvoke\|55_0(System.Runtime.CompilerServices.QCallModule,System.UInt16*,System.Int32,System.Reflection.TypeAttributes,System.Int32,System.Int32*) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Reflection.Emit.RuntimeTypeBuilder.g____PInvoke\|16_0(System.Runtime.CompilerServices.QCallModule,System.Byte*,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Reflection.Emit.RuntimeTypeBuilder.g____PInvoke\|15_0(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Int32,System.Reflection.ParameterAttributes,System.UInt16*) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Reflection.Emit.RuntimeTypeBuilder.DefineEvent(System.Runtime.CompilerServices.QCallModule,System.Int32,System.String,System.Reflection.EventAttributes,System.Int32) | [LibraryImportAttribute(...)] | -| System.Int32 System.Reflection.Emit.RuntimeTypeBuilder.DefineField(System.Runtime.CompilerServices.QCallModule,System.Int32,System.String,System.Byte[],System.Int32,System.Reflection.FieldAttributes) | [LibraryImportAttribute(...)] | -| System.Int32 System.Reflection.Emit.RuntimeTypeBuilder.DefineGenericParam(System.Runtime.CompilerServices.QCallModule,System.String,System.Int32,System.Reflection.GenericParameterAttributes,System.Int32,System.Int32[]) | [LibraryImportAttribute(...)] | -| System.Int32 System.Reflection.Emit.RuntimeTypeBuilder.DefineMethod(System.Runtime.CompilerServices.QCallModule,System.Int32,System.String,System.Byte[],System.Int32,System.Reflection.MethodAttributes) | [LibraryImportAttribute(...)] | -| System.Int32 System.Reflection.Emit.RuntimeTypeBuilder.DefineProperty(System.Runtime.CompilerServices.QCallModule,System.Int32,System.String,System.Reflection.PropertyAttributes,System.Byte[],System.Int32) | [LibraryImportAttribute(...)] | -| System.Int32 System.Reflection.Emit.RuntimeTypeBuilder.DefineType(System.Runtime.CompilerServices.QCallModule,System.String,System.Int32,System.Reflection.TypeAttributes,System.Int32,System.Int32[]) | [LibraryImportAttribute(...)] | -| System.Int32 System.Reflection.Emit.RuntimeTypeBuilder.SetParamInfo(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Int32,System.Reflection.ParameterAttributes,System.String) | [LibraryImportAttribute(...)] | -| System.Int32 System.Reflection.LoaderAllocatorScout.g____PInvoke\|1_0(System.IntPtr) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Reflection.Metadata.AssemblyExtensions.g____PInvoke\|0_0(System.Runtime.CompilerServices.QCallAssembly,System.Byte**,System.Int32*) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Reflection.Metadata.MetadataUpdater.g____PInvoke\|1_0() | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Reflection.NullabilityInfoContext.g__CountNullabilityStates\|28_0(System.Type) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Reflection.RuntimeAssembly.g____PInvoke\|14_0(System.Runtime.CompilerServices.QCallAssembly,System.Runtime.CompilerServices.StringHandleOnStack) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Reflection.RuntimeAssembly.g____PInvoke\|60_0(System.Runtime.CompilerServices.QCallAssembly,System.UInt16*,System.Runtime.CompilerServices.ObjectHandleOnStack,System.Runtime.CompilerServices.StringHandleOnStack) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Reflection.RuntimeAssembly.GetManifestResourceInfo(System.Runtime.CompilerServices.QCallAssembly,System.String,System.Runtime.CompilerServices.ObjectHandleOnStack,System.Runtime.CompilerServices.StringHandleOnStack) | [LibraryImportAttribute(...)] | -| System.Int32 System.Reflection.RuntimeParameterInfo.g__GetConstructorArgument\|32_0(System.Collections.Generic.IList,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Resources.ResourceLocator.get_DataPosition() | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Runtime.CompilerServices.CompilationRelaxationsAttribute.get_CompilationRelaxations() | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Runtime.CompilerServices.FixedBufferAttribute.get_Length() | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Runtime.CompilerServices.InlineArrayAttribute.get_Length() | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Runtime.CompilerServices.RefSafetyRulesAttribute.get_Version() | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Runtime.CompilerServices.RuntimeHelpers.g____PInvoke\|34_0(System.Runtime.CompilerServices.MethodTable*,System.Runtime.CompilerServices.MethodTable*) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Runtime.CompilerServices.RuntimeHelpers.EnumCompareTo`1(!0,!0) | [IntrinsicAttribute(...)] | -| System.Int32 System.Runtime.CompilerServices.RuntimeHelpers.get_OffsetToStringData() | [NonVersionableAttribute(...)] | -| System.Int32 System.Runtime.CompilerServices.Unsafe.SizeOf`1() | [IntrinsicAttribute(...)] | -| System.Int32 System.Runtime.CompilerServices.Unsafe.SizeOf`1() | [NonVersionableAttribute(...)] | -| System.Int32 System.Runtime.InteropServices.ComWrappers.g____PInvoke\|1_0(System.Runtime.CompilerServices.ObjectHandleOnStack,System.IntPtr*) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Runtime.InteropServices.ComWrappers.g____PInvoke\|3_0(System.IntPtr,System.Runtime.CompilerServices.ObjectHandleOnStack) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Runtime.InteropServices.ComWrappers.g____PInvoke\|11_0(System.Runtime.CompilerServices.ObjectHandleOnStack,System.Int64,System.Runtime.CompilerServices.ObjectHandleOnStack,System.Runtime.InteropServices.CreateComInterfaceFlags,System.IntPtr*) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Runtime.InteropServices.ComWrappers.g____PInvoke\|18_0(System.Runtime.CompilerServices.ObjectHandleOnStack,System.Int64,System.IntPtr,System.IntPtr,System.Runtime.InteropServices.CreateObjectFlags,System.Runtime.CompilerServices.ObjectHandleOnStack,System.Runtime.CompilerServices.ObjectHandleOnStack) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Runtime.InteropServices.DispIdAttribute.get_Value() | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Runtime.InteropServices.ErrorWrapper.get_ErrorCode() | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Runtime.InteropServices.FieldOffsetAttribute.get_Value() | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Runtime.InteropServices.LCIDConversionAttribute.get_Value() | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Runtime.InteropServices.Marshalling.ArrayMarshaller`2.ManagedToUnmanagedIn.get_BufferSize() | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Runtime.InteropServices.Marshalling.MarshalUsingAttribute.get_ConstantElementCount() | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Runtime.InteropServices.Marshalling.MarshalUsingAttribute.get_ElementIndirectionDepth() | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2.ManagedToUnmanagedIn.get_BufferSize() | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Runtime.InteropServices.Marshalling.SpanMarshaller`2.ManagedToUnmanagedIn.get_BufferSize() | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Runtime.InteropServices.NFloat.get_Size() | [NonVersionableAttribute(...)] | -| System.Int32 System.Runtime.InteropServices.NFloat.op_CheckedExplicit(System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.Int32 System.Runtime.InteropServices.NFloat.op_Explicit(System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.Int32 System.Runtime.InteropServices.PosixSignalRegistration.OnPosixSignal(System.Int32,System.Runtime.InteropServices.PosixSignal) | [UnmanagedCallersOnlyAttribute(...)] | -| System.Int32 System.Runtime.InteropServices.PosixSignalRegistration.Token.get_SigNo() | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Runtime.Intrinsics.Vector64`1.get_Count() | [IntrinsicAttribute(...)] | -| System.Int32 System.Runtime.Intrinsics.Vector128`1.get_Count() | [IntrinsicAttribute(...)] | -| System.Int32 System.Runtime.Intrinsics.Vector256`1.get_Count() | [IntrinsicAttribute(...)] | -| System.Int32 System.Runtime.Intrinsics.Vector512`1.get_Count() | [IntrinsicAttribute(...)] | -| System.Int32 System.Runtime.Loader.AssemblyLoadContext.g____PInvoke\|10_0(System.UInt16*,System.Int32,System.UInt16*,System.UInt16*) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Runtime.Loader.AssemblyLoadContext.g____PInvoke\|9_0(System.UInt16*,System.UInt16*,System.UInt16*,System.UInt16*) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Runtime.Loader.AssemblyLoadContext.g____PInvoke\|8_0(System.UInt16*,System.UInt16*,System.UInt16*,System.UInt16*,System.UInt16*) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Runtime.Loader.AssemblyLoadContext.g____PInvoke\|11_0(System.UInt16*,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.RuntimeTypeHandle.<_IsVisible>g____PInvoke\|66_0(System.Runtime.CompilerServices.QCallTypeHandle) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.SpanHelpers.BinarySearch`2(System.ReadOnlySpan,!1) | [ExtensionAttribute(...)] | -| System.Int32 System.Span`1.get_Length() | [IntrinsicAttribute(...)] | -| System.Int32 System.Span`1.get_Length() | [NonVersionableAttribute(...)] | -| System.Int32 System.String.g__GetNonRandomizedHashCodeOrdinalIgnoreCaseSlow\|47_0(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.String.get_Length() | [IntrinsicAttribute(...)] | -| System.Int32 System.Text.CodePageDataItem.get_UIFamilyCodePage() | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Text.EncodingInfo.get_CodePage() | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Text.UTF8Encoding.UTF8EncodingSealed.ReadUtf8(System.Char,System.Int32,System.Byte,System.Int32) | [IntrinsicAttribute(...)] | -| System.Int32 System.Text.Unicode.TextSegmentationUtility.Processor`1.get_CurrentCodeUnitOffset() | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Text.Unicode.TextSegmentationUtility.Processor`1.get_CurrentCodeUnitOffset() | [IsReadOnlyAttribute(...)] | -| System.Int32 System.Threading.Interlocked.And(System.Int32,System.Int32) | [IntrinsicAttribute(...)] | -| System.Int32 System.Threading.Interlocked.CompareExchange(System.Int32,System.Int32,System.Int32) | [IntrinsicAttribute(...)] | -| System.Int32 System.Threading.Interlocked.Exchange(System.Int32,System.Int32) | [IntrinsicAttribute(...)] | -| System.Int32 System.Threading.Interlocked.ExchangeAdd(System.Int32,System.Int32) | [IntrinsicAttribute(...)] | -| System.Int32 System.Threading.Interlocked.Or(System.Int32,System.Int32) | [IntrinsicAttribute(...)] | -| System.Int32 System.Threading.LowLevelLifoSemaphore.g____PInvoke\|3_0(System.IntPtr,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Threading.RegisteredWaitHandle.get_TimeoutTimeMs() | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Threading.Thread.get_ManagedThreadId() | [IntrinsicAttribute(...)] | -| System.Int32 System.Threading.Thread.get_OptimalMaxSpinWaitsPerSpinIteration() | [CompilerGeneratedAttribute(...)] | -| System.Int32 System.Threading.Volatile.Read(System.Int32) | [IntrinsicAttribute(...)] | -| System.Int32 System.Threading.Volatile.Read(System.Int32) | [NonVersionableAttribute(...)] | -| System.Int32 System.UIntPtr.get_Size() | [NonVersionableAttribute(...)] | -| System.Int64 System.BitConverter.DoubleToInt64Bits(System.Double) | [IntrinsicAttribute(...)] | -| System.Int64 System.Buffers.Binary.BinaryPrimitives.ReverseEndianness(System.Int64) | [IntrinsicAttribute(...)] | -| System.Int64 System.GCGenerationInfo.get_FragmentationAfterBytes() | [CompilerGeneratedAttribute(...)] | -| System.Int64 System.GCGenerationInfo.get_FragmentationBeforeBytes() | [CompilerGeneratedAttribute(...)] | -| System.Int64 System.GCGenerationInfo.get_SizeAfterBytes() | [CompilerGeneratedAttribute(...)] | -| System.Int64 System.GCGenerationInfo.get_SizeBeforeBytes() | [CompilerGeneratedAttribute(...)] | -| System.Int64 System.Int64.LeadingZeroCount(System.Int64) | [IntrinsicAttribute(...)] | -| System.Int64 System.Int64.Log2(System.Int64) | [IntrinsicAttribute(...)] | -| System.Int64 System.Int64.PopCount(System.Int64) | [IntrinsicAttribute(...)] | -| System.Int64 System.Int64.RotateLeft(System.Int64,System.Int32) | [IntrinsicAttribute(...)] | -| System.Int64 System.Int64.RotateRight(System.Int64,System.Int32) | [IntrinsicAttribute(...)] | -| System.Int64 System.Int64.TrailingZeroCount(System.Int64) | [IntrinsicAttribute(...)] | -| System.Int64 System.IntPtr.ToInt64() | [NonVersionableAttribute(...)] | -| System.Int64 System.IntPtr.op_Explicit(System.IntPtr) | [NonVersionableAttribute(...)] | -| System.Int64 System.Math.Max(System.Int64,System.Int64) | [NonVersionableAttribute(...)] | -| System.Int64 System.Math.Min(System.Int64,System.Int64) | [NonVersionableAttribute(...)] | -| System.Int64 System.Runtime.InteropServices.NFloat.op_CheckedExplicit(System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.Int64 System.Runtime.InteropServices.NFloat.op_Explicit(System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.Int64 System.Threading.Interlocked.And(System.Int64,System.Int64) | [IntrinsicAttribute(...)] | -| System.Int64 System.Threading.Interlocked.CompareExchange(System.Int64,System.Int64,System.Int64) | [IntrinsicAttribute(...)] | -| System.Int64 System.Threading.Interlocked.Exchange(System.Int64,System.Int64) | [IntrinsicAttribute(...)] | -| System.Int64 System.Threading.Interlocked.ExchangeAdd(System.Int64,System.Int64) | [IntrinsicAttribute(...)] | -| System.Int64 System.Threading.Interlocked.Or(System.Int64,System.Int64) | [IntrinsicAttribute(...)] | -| System.Int64 System.Threading.TimerQueue.get_ActiveCount() | [CompilerGeneratedAttribute(...)] | -| System.Int64 System.Threading.Volatile.Read(System.Int64) | [IntrinsicAttribute(...)] | -| System.Int64 System.Threading.Volatile.Read(System.Int64) | [NonVersionableAttribute(...)] | -| System.Int128 | [IntrinsicAttribute(...)] | -| System.Int128 | [IsReadOnlyAttribute(...)] | -| System.Int128 System.Runtime.InteropServices.NFloat.op_CheckedExplicit(System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.Int128 System.Runtime.InteropServices.NFloat.op_Explicit(System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.IntPtr | [IsReadOnlyAttribute(...)] | -| System.IntPtr | [RequiresLocationAttribute(...)] | -| System.IntPtr Interop.Kernel32.g____PInvoke\|59_0(System.IntPtr,System.UInt16*,System.UInt32,System.UInt32) | [CompilerGeneratedAttribute(...)] | -| System.IntPtr Interop.Kernel32.g____PInvoke\|76_0(System.IntPtr,System.UInt16*,System.UInt32,System.UInt32) | [CompilerGeneratedAttribute(...)] | -| System.IntPtr Interop.Kernel32.g____PInvoke\|79_0(System.IntPtr,System.Int32,System.Int32,System.UInt16*,System.UInt32,System.UInt32) | [CompilerGeneratedAttribute(...)] | -| System.IntPtr Interop.Kernel32.g____PInvoke\|75_0(System.UInt32,System.Int32,System.UInt16*) | [CompilerGeneratedAttribute(...)] | -| System.IntPtr System.ComAwareWeakReference.g____PInvoke\|4_0(System.Runtime.CompilerServices.ObjectHandleOnStack,System.Int64*) | [CompilerGeneratedAttribute(...)] | -| System.IntPtr System.Diagnostics.StackFrameExtensions.GetNativeIP(System.Diagnostics.StackFrame) | [ExtensionAttribute(...)] | -| System.IntPtr System.Diagnostics.StackFrameExtensions.GetNativeImageBase(System.Diagnostics.StackFrame) | [ExtensionAttribute(...)] | -| System.IntPtr System.Diagnostics.Tracing.EventPipeInternal.g____PInvoke\|2_0(System.UInt16*,delegate* unmanaged,System.Void*) | [CompilerGeneratedAttribute(...)] | -| System.IntPtr System.Diagnostics.Tracing.EventPipeInternal.g____PInvoke\|4_0(System.UInt16*) | [CompilerGeneratedAttribute(...)] | -| System.IntPtr System.Diagnostics.Tracing.EventPipeInternal.CreateProvider(System.String,delegate* unmanaged,System.Void*) | [LibraryImportAttribute(...)] | -| System.IntPtr System.Diagnostics.Tracing.EventPipeInternal.GetProvider(System.String) | [LibraryImportAttribute(...)] | -| System.IntPtr System.IntPtr.Add(System.IntPtr,System.Int32) | [NonVersionableAttribute(...)] | -| System.IntPtr System.IntPtr.LeadingZeroCount(System.IntPtr) | [IntrinsicAttribute(...)] | -| System.IntPtr System.IntPtr.Log2(System.IntPtr) | [IntrinsicAttribute(...)] | -| System.IntPtr System.IntPtr.PopCount(System.IntPtr) | [IntrinsicAttribute(...)] | -| System.IntPtr System.IntPtr.RotateLeft(System.IntPtr,System.Int32) | [IntrinsicAttribute(...)] | -| System.IntPtr System.IntPtr.RotateRight(System.IntPtr,System.Int32) | [IntrinsicAttribute(...)] | -| System.IntPtr System.IntPtr.Subtract(System.IntPtr,System.Int32) | [NonVersionableAttribute(...)] | -| System.IntPtr System.IntPtr.TrailingZeroCount(System.IntPtr) | [IntrinsicAttribute(...)] | -| System.IntPtr System.IntPtr.get_MaxValue() | [NonVersionableAttribute(...)] | -| System.IntPtr System.IntPtr.get_MinValue() | [NonVersionableAttribute(...)] | -| System.IntPtr System.IntPtr.op_Addition(System.IntPtr,System.Int32) | [NonVersionableAttribute(...)] | -| System.IntPtr System.IntPtr.op_Explicit(System.Int32) | [NonVersionableAttribute(...)] | -| System.IntPtr System.IntPtr.op_Explicit(System.Int64) | [NonVersionableAttribute(...)] | -| System.IntPtr System.IntPtr.op_Explicit(System.Void*) | [NonVersionableAttribute(...)] | -| System.IntPtr System.IntPtr.op_Subtraction(System.IntPtr,System.Int32) | [NonVersionableAttribute(...)] | -| System.IntPtr System.Math.Max(System.IntPtr,System.IntPtr) | [NonVersionableAttribute(...)] | -| System.IntPtr System.Math.Min(System.IntPtr,System.IntPtr) | [NonVersionableAttribute(...)] | -| System.IntPtr System.Runtime.CompilerServices.Unsafe.ByteOffset`1(!0,!0) | [IntrinsicAttribute(...)] | -| System.IntPtr System.Runtime.CompilerServices.Unsafe.ByteOffset`1(!0,!0) | [NonVersionableAttribute(...)] | -| System.IntPtr System.Runtime.InteropServices.NFloat.op_CheckedExplicit(System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.IntPtr System.Runtime.InteropServices.NFloat.op_Explicit(System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.IntPtr System.Runtime.InteropServices.NativeLibrary.g____PInvoke\|4_0(System.IntPtr,System.UInt16*,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.IntPtr System.Runtime.InteropServices.NativeLibrary.g____PInvoke\|2_0(System.UInt16*,System.Runtime.CompilerServices.QCallAssembly,System.Int32,System.UInt32,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.IntPtr System.Runtime.InteropServices.NativeLibrary.g____PInvoke\|1_0(System.UInt16*,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.IntPtr System.Runtime.InteropServices.NativeLibrary.GetSymbol(System.IntPtr,System.String,System.Boolean) | [LibraryImportAttribute(...)] | -| System.IntPtr System.Runtime.InteropServices.NativeLibrary.LoadByName(System.String,System.Runtime.CompilerServices.QCallAssembly,System.Boolean,System.UInt32,System.Boolean) | [LibraryImportAttribute(...)] | -| System.IntPtr System.Runtime.InteropServices.NativeLibrary.LoadFromPath(System.String,System.Boolean) | [LibraryImportAttribute(...)] | -| System.IntPtr System.Runtime.Loader.AssemblyLoadContext.g____PInvoke\|0_0(System.IntPtr,System.Int32,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.IntPtr System.RuntimeTypeHandle.ToIntPtr(System.RuntimeTypeHandle) | [IntrinsicAttribute(...)] | -| System.IntPtr System.StubHelpers.StubHelpers.GetStubContext() | [IntrinsicAttribute(...)] | -| System.IntPtr System.StubHelpers.StubHelpers.NextCallReturnAddress() | [IntrinsicAttribute(...)] | -| System.IntPtr System.Threading.RegisteredWaitHandle.get_UserUnregisterWaitHandleValue() | [CompilerGeneratedAttribute(...)] | -| System.IntPtr System.Threading.Volatile.Read(System.IntPtr) | [IntrinsicAttribute(...)] | -| System.IntPtr System.Threading.Volatile.Read(System.IntPtr) | [NonVersionableAttribute(...)] | -| System.IntPtr.Zero | [IntrinsicAttribute(...)] | -| System.LazyHelper.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.LazyState System.LazyHelper.get_State() | [CompilerGeneratedAttribute(...)] | -| System.LocalDataStoreSlot.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Marvin.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.MdUtf8String | [IsReadOnlyAttribute(...)] | -| System.Memory System.MemoryExtensions.AsMemory`1(!0[]) | [ExtensionAttribute(...)] | -| System.Memory System.MemoryExtensions.AsMemory`1(!0[],System.Index) | [ExtensionAttribute(...)] | -| System.Memory System.MemoryExtensions.AsMemory`1(!0[],System.Int32) | [ExtensionAttribute(...)] | -| System.Memory System.MemoryExtensions.AsMemory`1(!0[],System.Int32,System.Int32) | [ExtensionAttribute(...)] | -| System.Memory System.MemoryExtensions.AsMemory`1(!0[],System.Range) | [ExtensionAttribute(...)] | -| System.Memory System.MemoryExtensions.AsMemory`1(System.ArraySegment) | [ExtensionAttribute(...)] | -| System.Memory System.MemoryExtensions.AsMemory`1(System.ArraySegment,System.Int32) | [ExtensionAttribute(...)] | -| System.Memory System.MemoryExtensions.AsMemory`1(System.ArraySegment,System.Int32,System.Int32) | [ExtensionAttribute(...)] | -| System.Memory System.MemoryExtensions.TrimEnd`1(System.Memory,!0) | [ExtensionAttribute(...)] | -| System.Memory System.MemoryExtensions.TrimEnd`1(System.Memory,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.Memory System.MemoryExtensions.TrimStart`1(System.Memory,!0) | [ExtensionAttribute(...)] | -| System.Memory System.MemoryExtensions.TrimStart`1(System.Memory,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.Memory System.MemoryExtensions.Trim`1(System.Memory,!0) | [ExtensionAttribute(...)] | -| System.Memory System.MemoryExtensions.Trim`1(System.Memory,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.Memory System.MemoryExtensions.Trim(System.Memory) | [ExtensionAttribute(...)] | -| System.Memory System.MemoryExtensions.TrimEnd(System.Memory) | [ExtensionAttribute(...)] | -| System.Memory System.MemoryExtensions.TrimStart(System.Memory) | [ExtensionAttribute(...)] | -| System.MemoryExtensions | [ExtensionAttribute(...)] | -| System.MemoryExtensions.TryWriteInterpolatedStringHandler | [InterpolatedStringHandlerAttribute(...)] | -| System.MemoryExtensions.TryWriteInterpolatedStringHandler | [IsByRefLikeAttribute(...)] | -| System.Memory`1 | [IsReadOnlyAttribute(...)] | -| System.Nullable | [RequiresLocationAttribute(...)] | -| System.Nullable System.Nullable`1.op_Implicit(!0) | [NonVersionableAttribute(...)] | -| System.Nullable`1 | [NonVersionableAttribute(...)] | -| System.Number.BigInteger | [IsByRefLikeAttribute(...)] | -| System.Number.BigInteger | [ScopedRefAttribute(...)] | -| System.Number.BigInteger.<_blocks>e__FixedBuffer | [CompilerGeneratedAttribute(...)] | -| System.Number.BigInteger.<_blocks>e__FixedBuffer | [UnsafeValueTypeAttribute(...)] | -| System.Number.BinaryParser`1 | [IsReadOnlyAttribute(...)] | -| System.Number.DiyFp | [IsByRefLikeAttribute(...)] | -| System.Number.DiyFp | [IsReadOnlyAttribute(...)] | -| System.Number.HexParser`1 | [IsReadOnlyAttribute(...)] | -| System.Number.NumberBuffer | [IsByRefLikeAttribute(...)] | -| System.Number.NumberBuffer | [ScopedRefAttribute(...)] | -| System.Numerics.Matrix3x2 | [IntrinsicAttribute(...)] | -| System.Numerics.Matrix3x2 System.Numerics.Matrix3x2.Impl.AsM3x2() | [UnscopedRefAttribute(...)] | -| System.Numerics.Matrix3x2.Impl | [IsReadOnlyAttribute(...)] | -| System.Numerics.Matrix3x2.Impl System.Numerics.Matrix3x2.AsImpl() | [UnscopedRefAttribute(...)] | -| System.Numerics.Matrix3x2.Impl System.Numerics.Matrix3x2.AsROImpl() | [IsReadOnlyAttribute(...)] | -| System.Numerics.Matrix3x2.Impl System.Numerics.Matrix3x2.AsROImpl() | [UnscopedRefAttribute(...)] | -| System.Numerics.Matrix4x4 | [IntrinsicAttribute(...)] | -| System.Numerics.Matrix4x4 System.Numerics.Matrix4x4.Impl.AsM4x4() | [UnscopedRefAttribute(...)] | -| System.Numerics.Matrix4x4.Impl | [IsReadOnlyAttribute(...)] | -| System.Numerics.Matrix4x4.Impl System.Numerics.Matrix4x4.AsImpl() | [UnscopedRefAttribute(...)] | -| System.Numerics.Matrix4x4.Impl System.Numerics.Matrix4x4.AsROImpl() | [IsReadOnlyAttribute(...)] | -| System.Numerics.Matrix4x4.Impl System.Numerics.Matrix4x4.AsROImpl() | [UnscopedRefAttribute(...)] | -| System.Numerics.Plane | [IntrinsicAttribute(...)] | -| System.Numerics.Plane | [IsReadOnlyAttribute(...)] | -| System.Numerics.Quaternion | [IntrinsicAttribute(...)] | -| System.Numerics.Quaternion | [IsReadOnlyAttribute(...)] | -| System.Numerics.Quaternion System.Numerics.Quaternion.Add(System.Numerics.Quaternion,System.Numerics.Quaternion) | [IntrinsicAttribute(...)] | -| System.Numerics.Quaternion System.Numerics.Quaternion.Conjugate(System.Numerics.Quaternion) | [IntrinsicAttribute(...)] | -| System.Numerics.Quaternion System.Numerics.Quaternion.Divide(System.Numerics.Quaternion,System.Single) | [IntrinsicAttribute(...)] | -| System.Numerics.Quaternion System.Numerics.Quaternion.Inverse(System.Numerics.Quaternion) | [IntrinsicAttribute(...)] | -| System.Numerics.Quaternion System.Numerics.Quaternion.Multiply(System.Numerics.Quaternion,System.Numerics.Vector4) | [IntrinsicAttribute(...)] | -| System.Numerics.Quaternion System.Numerics.Quaternion.Multiply(System.Numerics.Quaternion,System.Single) | [IntrinsicAttribute(...)] | -| System.Numerics.Quaternion System.Numerics.Quaternion.Negate(System.Numerics.Quaternion) | [IntrinsicAttribute(...)] | -| System.Numerics.Quaternion System.Numerics.Quaternion.Normalize(System.Numerics.Quaternion) | [IntrinsicAttribute(...)] | -| System.Numerics.Quaternion System.Numerics.Quaternion.Subtract(System.Numerics.Quaternion,System.Numerics.Quaternion) | [IntrinsicAttribute(...)] | -| System.Numerics.Quaternion System.Numerics.Quaternion.get_Identity() | [IntrinsicAttribute(...)] | -| System.Numerics.Quaternion System.Numerics.Quaternion.get_Zero() | [IntrinsicAttribute(...)] | -| System.Numerics.Quaternion System.Numerics.Quaternion.op_Addition(System.Numerics.Quaternion,System.Numerics.Quaternion) | [IntrinsicAttribute(...)] | -| System.Numerics.Quaternion System.Numerics.Quaternion.op_Multiply(System.Numerics.Quaternion,System.Single) | [IntrinsicAttribute(...)] | -| System.Numerics.Quaternion System.Numerics.Quaternion.op_Subtraction(System.Numerics.Quaternion,System.Numerics.Quaternion) | [IntrinsicAttribute(...)] | -| System.Numerics.Quaternion System.Numerics.Quaternion.op_UnaryNegation(System.Numerics.Quaternion) | [IntrinsicAttribute(...)] | -| System.Numerics.Quaternion System.Numerics.Vector.WithElement(System.Numerics.Quaternion,System.Int32,System.Single) | [ExtensionAttribute(...)] | -| System.Numerics.Quaternion System.Numerics.Vector.WithElement(System.Numerics.Quaternion,System.Int32,System.Single) | [IntrinsicAttribute(...)] | -| System.Numerics.TotalOrderIeee754Comparer`1 | [IsReadOnlyAttribute(...)] | -| System.Numerics.Vector | [ExtensionAttribute(...)] | -| System.Numerics.Vector | [IntrinsicAttribute(...)] | -| System.Numerics.Vector2 | [IntrinsicAttribute(...)] | -| System.Numerics.Vector2 | [IsReadOnlyAttribute(...)] | -| System.Numerics.Vector2 System.Numerics.Matrix3x2.Impl.get_Translation() | [IsReadOnlyAttribute(...)] | -| System.Numerics.Vector2 System.Numerics.Matrix3x2.get_Translation() | [IsReadOnlyAttribute(...)] | -| System.Numerics.Vector2 System.Numerics.Vector2.Abs(System.Numerics.Vector2) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector2 System.Numerics.Vector2.Add(System.Numerics.Vector2,System.Numerics.Vector2) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector2 System.Numerics.Vector2.Clamp(System.Numerics.Vector2,System.Numerics.Vector2,System.Numerics.Vector2) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector2 System.Numerics.Vector2.Divide(System.Numerics.Vector2,System.Numerics.Vector2) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector2 System.Numerics.Vector2.Divide(System.Numerics.Vector2,System.Single) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector2 System.Numerics.Vector2.Lerp(System.Numerics.Vector2,System.Numerics.Vector2,System.Single) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector2 System.Numerics.Vector2.Max(System.Numerics.Vector2,System.Numerics.Vector2) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector2 System.Numerics.Vector2.Min(System.Numerics.Vector2,System.Numerics.Vector2) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector2 System.Numerics.Vector2.Multiply(System.Numerics.Vector2,System.Numerics.Vector2) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector2 System.Numerics.Vector2.Multiply(System.Numerics.Vector2,System.Single) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector2 System.Numerics.Vector2.Multiply(System.Single,System.Numerics.Vector2) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector2 System.Numerics.Vector2.Negate(System.Numerics.Vector2) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector2 System.Numerics.Vector2.Normalize(System.Numerics.Vector2) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector2 System.Numerics.Vector2.SquareRoot(System.Numerics.Vector2) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector2 System.Numerics.Vector2.Subtract(System.Numerics.Vector2,System.Numerics.Vector2) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector2 System.Numerics.Vector2.get_One() | [IntrinsicAttribute(...)] | -| System.Numerics.Vector2 System.Numerics.Vector2.get_UnitX() | [IntrinsicAttribute(...)] | -| System.Numerics.Vector2 System.Numerics.Vector2.get_UnitY() | [IntrinsicAttribute(...)] | -| System.Numerics.Vector2 System.Numerics.Vector2.get_Zero() | [IntrinsicAttribute(...)] | -| System.Numerics.Vector2 System.Numerics.Vector2.op_Addition(System.Numerics.Vector2,System.Numerics.Vector2) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector2 System.Numerics.Vector2.op_Division(System.Numerics.Vector2,System.Numerics.Vector2) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector2 System.Numerics.Vector2.op_Division(System.Numerics.Vector2,System.Single) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector2 System.Numerics.Vector2.op_Multiply(System.Numerics.Vector2,System.Numerics.Vector2) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector2 System.Numerics.Vector2.op_Multiply(System.Numerics.Vector2,System.Single) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector2 System.Numerics.Vector2.op_Multiply(System.Single,System.Numerics.Vector2) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector2 System.Numerics.Vector2.op_Subtraction(System.Numerics.Vector2,System.Numerics.Vector2) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector2 System.Numerics.Vector2.op_UnaryNegation(System.Numerics.Vector2) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector2 System.Numerics.Vector.WithElement(System.Numerics.Vector2,System.Int32,System.Single) | [ExtensionAttribute(...)] | -| System.Numerics.Vector2 System.Numerics.Vector.WithElement(System.Numerics.Vector2,System.Int32,System.Single) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector2 System.Runtime.Intrinsics.Vector128.AsVector2(System.Runtime.Intrinsics.Vector128) | [ExtensionAttribute(...)] | -| System.Numerics.Vector2 System.Runtime.Intrinsics.Vector128.AsVector2(System.Runtime.Intrinsics.Vector128) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector3 | [IntrinsicAttribute(...)] | -| System.Numerics.Vector3 | [IsReadOnlyAttribute(...)] | -| System.Numerics.Vector3 System.Numerics.Matrix4x4.Impl.get_Translation() | [IsReadOnlyAttribute(...)] | -| System.Numerics.Vector3 System.Numerics.Matrix4x4.get_Translation() | [IsReadOnlyAttribute(...)] | -| System.Numerics.Vector3 System.Numerics.Vector3.Abs(System.Numerics.Vector3) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector3 System.Numerics.Vector3.Add(System.Numerics.Vector3,System.Numerics.Vector3) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector3 System.Numerics.Vector3.Clamp(System.Numerics.Vector3,System.Numerics.Vector3,System.Numerics.Vector3) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector3 System.Numerics.Vector3.Divide(System.Numerics.Vector3,System.Numerics.Vector3) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector3 System.Numerics.Vector3.Divide(System.Numerics.Vector3,System.Single) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector3 System.Numerics.Vector3.Lerp(System.Numerics.Vector3,System.Numerics.Vector3,System.Single) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector3 System.Numerics.Vector3.Max(System.Numerics.Vector3,System.Numerics.Vector3) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector3 System.Numerics.Vector3.Min(System.Numerics.Vector3,System.Numerics.Vector3) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector3 System.Numerics.Vector3.Multiply(System.Numerics.Vector3,System.Numerics.Vector3) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector3 System.Numerics.Vector3.Multiply(System.Numerics.Vector3,System.Single) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector3 System.Numerics.Vector3.Multiply(System.Single,System.Numerics.Vector3) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector3 System.Numerics.Vector3.Negate(System.Numerics.Vector3) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector3 System.Numerics.Vector3.Normalize(System.Numerics.Vector3) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector3 System.Numerics.Vector3.SquareRoot(System.Numerics.Vector3) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector3 System.Numerics.Vector3.Subtract(System.Numerics.Vector3,System.Numerics.Vector3) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector3 System.Numerics.Vector3.get_One() | [IntrinsicAttribute(...)] | -| System.Numerics.Vector3 System.Numerics.Vector3.get_UnitX() | [IntrinsicAttribute(...)] | -| System.Numerics.Vector3 System.Numerics.Vector3.get_UnitY() | [IntrinsicAttribute(...)] | -| System.Numerics.Vector3 System.Numerics.Vector3.get_UnitZ() | [IntrinsicAttribute(...)] | -| System.Numerics.Vector3 System.Numerics.Vector3.get_Zero() | [IntrinsicAttribute(...)] | -| System.Numerics.Vector3 System.Numerics.Vector3.op_Addition(System.Numerics.Vector3,System.Numerics.Vector3) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector3 System.Numerics.Vector3.op_Division(System.Numerics.Vector3,System.Numerics.Vector3) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector3 System.Numerics.Vector3.op_Division(System.Numerics.Vector3,System.Single) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector3 System.Numerics.Vector3.op_Multiply(System.Numerics.Vector3,System.Numerics.Vector3) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector3 System.Numerics.Vector3.op_Multiply(System.Numerics.Vector3,System.Single) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector3 System.Numerics.Vector3.op_Multiply(System.Single,System.Numerics.Vector3) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector3 System.Numerics.Vector3.op_Subtraction(System.Numerics.Vector3,System.Numerics.Vector3) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector3 System.Numerics.Vector3.op_UnaryNegation(System.Numerics.Vector3) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector3 System.Numerics.Vector.WithElement(System.Numerics.Vector3,System.Int32,System.Single) | [ExtensionAttribute(...)] | -| System.Numerics.Vector3 System.Numerics.Vector.WithElement(System.Numerics.Vector3,System.Int32,System.Single) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector3 System.Runtime.Intrinsics.Vector128.AsVector3(System.Runtime.Intrinsics.Vector128) | [ExtensionAttribute(...)] | -| System.Numerics.Vector3 System.Runtime.Intrinsics.Vector128.AsVector3(System.Runtime.Intrinsics.Vector128) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector4 | [IntrinsicAttribute(...)] | -| System.Numerics.Vector4 | [IsReadOnlyAttribute(...)] | -| System.Numerics.Vector4 System.Numerics.Vector4.Abs(System.Numerics.Vector4) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector4 System.Numerics.Vector4.Add(System.Numerics.Vector4,System.Numerics.Vector4) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector4 System.Numerics.Vector4.Clamp(System.Numerics.Vector4,System.Numerics.Vector4,System.Numerics.Vector4) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector4 System.Numerics.Vector4.Divide(System.Numerics.Vector4,System.Numerics.Vector4) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector4 System.Numerics.Vector4.Divide(System.Numerics.Vector4,System.Single) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector4 System.Numerics.Vector4.Lerp(System.Numerics.Vector4,System.Numerics.Vector4,System.Single) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector4 System.Numerics.Vector4.Max(System.Numerics.Vector4,System.Numerics.Vector4) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector4 System.Numerics.Vector4.Min(System.Numerics.Vector4,System.Numerics.Vector4) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector4 System.Numerics.Vector4.Multiply(System.Numerics.Vector4,System.Numerics.Vector4) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector4 System.Numerics.Vector4.Multiply(System.Numerics.Vector4,System.Single) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector4 System.Numerics.Vector4.Multiply(System.Single,System.Numerics.Vector4) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector4 System.Numerics.Vector4.Negate(System.Numerics.Vector4) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector4 System.Numerics.Vector4.Normalize(System.Numerics.Vector4) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector4 System.Numerics.Vector4.SquareRoot(System.Numerics.Vector4) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector4 System.Numerics.Vector4.Subtract(System.Numerics.Vector4,System.Numerics.Vector4) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector4 System.Numerics.Vector4.get_One() | [IntrinsicAttribute(...)] | -| System.Numerics.Vector4 System.Numerics.Vector4.get_UnitW() | [IntrinsicAttribute(...)] | -| System.Numerics.Vector4 System.Numerics.Vector4.get_UnitX() | [IntrinsicAttribute(...)] | -| System.Numerics.Vector4 System.Numerics.Vector4.get_UnitY() | [IntrinsicAttribute(...)] | -| System.Numerics.Vector4 System.Numerics.Vector4.get_UnitZ() | [IntrinsicAttribute(...)] | -| System.Numerics.Vector4 System.Numerics.Vector4.get_Zero() | [IntrinsicAttribute(...)] | -| System.Numerics.Vector4 System.Numerics.Vector4.op_Addition(System.Numerics.Vector4,System.Numerics.Vector4) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector4 System.Numerics.Vector4.op_Division(System.Numerics.Vector4,System.Numerics.Vector4) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector4 System.Numerics.Vector4.op_Division(System.Numerics.Vector4,System.Single) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector4 System.Numerics.Vector4.op_Multiply(System.Numerics.Vector4,System.Numerics.Vector4) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector4 System.Numerics.Vector4.op_Multiply(System.Numerics.Vector4,System.Single) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector4 System.Numerics.Vector4.op_Multiply(System.Single,System.Numerics.Vector4) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector4 System.Numerics.Vector4.op_Subtraction(System.Numerics.Vector4,System.Numerics.Vector4) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector4 System.Numerics.Vector4.op_UnaryNegation(System.Numerics.Vector4) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector4 System.Numerics.Vector.WithElement(System.Numerics.Vector4,System.Int32,System.Single) | [ExtensionAttribute(...)] | -| System.Numerics.Vector4 System.Numerics.Vector.WithElement(System.Numerics.Vector4,System.Int32,System.Single) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector4 System.Runtime.Intrinsics.Vector128.AsVector4(System.Runtime.Intrinsics.Vector128) | [ExtensionAttribute(...)] | -| System.Numerics.Vector4 System.Runtime.Intrinsics.Vector128.AsVector4(System.Runtime.Intrinsics.Vector128) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector | [IsReadOnlyAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.Abs`1(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.Add`1(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.AndNot`1(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.BitwiseAnd`1(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.BitwiseOr`1(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.ConditionalSelect`1(System.Numerics.Vector,System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.Divide`1(System.Numerics.Vector,!0) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.Divide`1(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.Equals`1(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.GreaterThanOrEqual`1(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.GreaterThan`1(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.LessThanOrEqual`1(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.LessThan`1(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.LoadAlignedNonTemporal`1(!0*) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.LoadAligned`1(!0*) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.LoadUnsafe`1(!0) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.LoadUnsafe`1(!0,System.UIntPtr) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.Load`1(!0*) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.Max`1(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.Min`1(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.Multiply`1(!0,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.Multiply`1(System.Numerics.Vector,!0) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.Multiply`1(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.Negate`1(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.OnesComplement`1(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.SquareRoot`1(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.Subtract`1(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.WithElement`1(System.Numerics.Vector,System.Int32,!0) | [ExtensionAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.Xor`1(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector`1.get_AllBitsSet() | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector`1.get_One() | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector`1.get_Zero() | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector`1.op_Addition(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector`1.op_BitwiseAnd(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector`1.op_BitwiseOr(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector`1.op_Division(System.Numerics.Vector,!0) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector`1.op_Division(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector`1.op_ExclusiveOr(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector`1.op_LeftShift(System.Numerics.Vector,System.Int32) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector`1.op_Multiply(!0,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector`1.op_Multiply(System.Numerics.Vector,!0) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector`1.op_Multiply(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector`1.op_OnesComplement(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector`1.op_RightShift(System.Numerics.Vector,System.Int32) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector`1.op_Subtraction(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector`1.op_UnaryNegation(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector`1.op_UnaryPlus(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector`1.op_UnsignedRightShift(System.Numerics.Vector,System.Int32) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Runtime.Intrinsics.Vector128.AsVector`1(System.Runtime.Intrinsics.Vector128) | [ExtensionAttribute(...)] | -| System.Numerics.Vector System.Runtime.Intrinsics.Vector128.AsVector`1(System.Runtime.Intrinsics.Vector128) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Runtime.Intrinsics.Vector256.AsVector`1(System.Runtime.Intrinsics.Vector256) | [ExtensionAttribute(...)] | -| System.Numerics.Vector System.Runtime.Intrinsics.Vector256.AsVector`1(System.Runtime.Intrinsics.Vector256) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Runtime.Intrinsics.Vector512.AsVector`1(System.Runtime.Intrinsics.Vector512) | [ExtensionAttribute(...)] | -| System.Numerics.Vector System.Runtime.Intrinsics.Vector512.AsVector`1(System.Runtime.Intrinsics.Vector512) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.As`2(System.Numerics.Vector) | [ExtensionAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.As`2(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.AsVectorByte`1(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.Narrow(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.ShiftLeft(System.Numerics.Vector,System.Int32) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.ShiftRightLogical(System.Numerics.Vector,System.Int32) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector`1.op_Explicit(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.AsVectorDouble`1(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.Ceiling(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.ConditionalSelect(System.Numerics.Vector,System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.ConvertToDouble(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.ConvertToDouble(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.Floor(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.WidenLower(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.WidenUpper(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector`1.op_Explicit(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.AsVectorInt16`1(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.Narrow(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.ShiftLeft(System.Numerics.Vector,System.Int32) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.ShiftRightArithmetic(System.Numerics.Vector,System.Int32) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.ShiftRightLogical(System.Numerics.Vector,System.Int32) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.WidenLower(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.WidenUpper(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector`1.op_Explicit(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.AsVectorInt32`1(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.ConvertToInt32(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.Equals(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.Equals(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.GreaterThan(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.GreaterThan(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.GreaterThanOrEqual(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.GreaterThanOrEqual(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.LessThan(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.LessThan(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.LessThanOrEqual(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.LessThanOrEqual(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.Narrow(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.ShiftLeft(System.Numerics.Vector,System.Int32) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.ShiftRightArithmetic(System.Numerics.Vector,System.Int32) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.ShiftRightLogical(System.Numerics.Vector,System.Int32) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.WidenLower(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.WidenUpper(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector`1.op_Explicit(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.AsVectorInt64`1(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.ConvertToInt64(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.Equals(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.Equals(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.GreaterThan(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.GreaterThanOrEqual(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.GreaterThanOrEqual(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.LessThan(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.LessThan(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.LessThanOrEqual(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.LessThanOrEqual(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.ShiftLeft(System.Numerics.Vector,System.Int32) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.ShiftRightArithmetic(System.Numerics.Vector,System.Int32) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.ShiftRightLogical(System.Numerics.Vector,System.Int32) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.WidenLower(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.WidenUpper(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector`1.op_Explicit(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.AsVectorNInt`1(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.ShiftLeft(System.Numerics.Vector,System.Int32) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.ShiftRightArithmetic(System.Numerics.Vector,System.Int32) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.ShiftRightLogical(System.Numerics.Vector,System.Int32) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector`1.op_Explicit(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.AsVectorSByte`1(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.Narrow(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.ShiftLeft(System.Numerics.Vector,System.Int32) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.ShiftRightArithmetic(System.Numerics.Vector,System.Int32) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.ShiftRightLogical(System.Numerics.Vector,System.Int32) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector`1.op_Explicit(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.AsVectorSingle`1(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.Ceiling(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.ConditionalSelect(System.Numerics.Vector,System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.ConvertToSingle(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.ConvertToSingle(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.Floor(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.Narrow(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector`1.op_Explicit(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.AsVectorUInt16`1(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.Narrow(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.ShiftLeft(System.Numerics.Vector,System.Int32) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.ShiftRightLogical(System.Numerics.Vector,System.Int32) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.WidenLower(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.WidenUpper(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector`1.op_Explicit(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.AsVectorUInt32`1(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.ConvertToUInt32(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.Narrow(System.Numerics.Vector,System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.ShiftLeft(System.Numerics.Vector,System.Int32) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.ShiftRightLogical(System.Numerics.Vector,System.Int32) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.WidenLower(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.WidenUpper(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector`1.op_Explicit(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.AsVectorUInt64`1(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.ConvertToUInt64(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.ShiftLeft(System.Numerics.Vector,System.Int32) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.ShiftRightLogical(System.Numerics.Vector,System.Int32) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.WidenLower(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.WidenUpper(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector`1.op_Explicit(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.AsVectorNUInt`1(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.ShiftLeft(System.Numerics.Vector,System.Int32) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector.ShiftRightLogical(System.Numerics.Vector,System.Int32) | [IntrinsicAttribute(...)] | -| System.Numerics.Vector System.Numerics.Vector`1.op_Explicit(System.Numerics.Vector) | [IntrinsicAttribute(...)] | -| System.Numerics.VectorDebugView`1 | [IsReadOnlyAttribute(...)] | -| System.Numerics.Vector`1 | [IntrinsicAttribute(...)] | -| System.Numerics.Vector`1 | [IsReadOnlyAttribute(...)] | -| System.Object System.Activator.CreateInstance(System.Type) | [DebuggerHiddenAttribute(...)] | -| System.Object System.Activator.CreateInstance(System.Type) | [DebuggerStepThroughAttribute(...)] | -| System.Object System.Activator.CreateInstance(System.Type,System.Object[]) | [DebuggerHiddenAttribute(...)] | -| System.Object System.Activator.CreateInstance(System.Type,System.Object[]) | [DebuggerStepThroughAttribute(...)] | -| System.Object System.Activator.CreateInstance(System.Type,System.Object[],System.Object[]) | [DebuggerHiddenAttribute(...)] | -| System.Object System.Activator.CreateInstance(System.Type,System.Object[],System.Object[]) | [DebuggerStepThroughAttribute(...)] | -| System.Object System.Activator.CreateInstance(System.Type,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo) | [DebuggerHiddenAttribute(...)] | -| System.Object System.Activator.CreateInstance(System.Type,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo) | [DebuggerStepThroughAttribute(...)] | -| System.Object System.Array.Clone() | [IntrinsicAttribute(...)] | -| System.Object System.Collections.Concurrent.ConcurrentQueue`1.d__26.get_Current() | [DebuggerHiddenAttribute(...)] | -| System.Object System.Collections.Concurrent.SingleProducerSingleConsumerQueue`1.d__15.get_Current() | [DebuggerHiddenAttribute(...)] | -| System.Object System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute.get_Max() | [CompilerGeneratedAttribute(...)] | -| System.Object System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute.get_Min() | [CompilerGeneratedAttribute(...)] | -| System.Object System.Diagnostics.Tracing.CounterPayload.d__51.get_Current() | [DebuggerHiddenAttribute(...)] | -| System.Object System.Diagnostics.Tracing.EventPayload.d__17.get_Current() | [DebuggerHiddenAttribute(...)] | -| System.Object System.Diagnostics.Tracing.IncrementingCounterPayload.d__39.get_Current() | [DebuggerHiddenAttribute(...)] | -| System.Object System.Object.MemberwiseClone() | [IntrinsicAttribute(...)] | -| System.Object System.Reflection.ConstructorInfo.Invoke(System.Object[]) | [DebuggerHiddenAttribute(...)] | -| System.Object System.Reflection.ConstructorInfo.Invoke(System.Object[]) | [DebuggerStepThroughAttribute(...)] | -| System.Object System.Reflection.MdFieldInfo.GetValue(System.Object) | [DebuggerHiddenAttribute(...)] | -| System.Object System.Reflection.MdFieldInfo.GetValue(System.Object) | [DebuggerStepThroughAttribute(...)] | -| System.Object System.Reflection.MdFieldInfo.GetValueDirect(System.TypedReference) | [DebuggerHiddenAttribute(...)] | -| System.Object System.Reflection.MdFieldInfo.GetValueDirect(System.TypedReference) | [DebuggerStepThroughAttribute(...)] | -| System.Object System.Reflection.MethodBase.Invoke(System.Object,System.Object[]) | [DebuggerHiddenAttribute(...)] | -| System.Object System.Reflection.MethodBase.Invoke(System.Object,System.Object[]) | [DebuggerStepThroughAttribute(...)] | -| System.Object System.Reflection.PropertyInfo.GetValue(System.Object) | [DebuggerHiddenAttribute(...)] | -| System.Object System.Reflection.PropertyInfo.GetValue(System.Object) | [DebuggerStepThroughAttribute(...)] | -| System.Object System.Reflection.PropertyInfo.GetValue(System.Object,System.Object[]) | [DebuggerHiddenAttribute(...)] | -| System.Object System.Reflection.PropertyInfo.GetValue(System.Object,System.Object[]) | [DebuggerStepThroughAttribute(...)] | -| System.Object System.Reflection.RtFieldInfo.GetValue(System.Object) | [DebuggerHiddenAttribute(...)] | -| System.Object System.Reflection.RtFieldInfo.GetValue(System.Object) | [DebuggerStepThroughAttribute(...)] | -| System.Object System.Reflection.RtFieldInfo.GetValueDirect(System.TypedReference) | [DebuggerHiddenAttribute(...)] | -| System.Object System.Reflection.RtFieldInfo.GetValueDirect(System.TypedReference) | [DebuggerStepThroughAttribute(...)] | -| System.Object System.Reflection.RuntimeConstructorInfo.Invoke(System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo) | [DebuggerHiddenAttribute(...)] | -| System.Object System.Reflection.RuntimeConstructorInfo.Invoke(System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo) | [DebuggerStepThroughAttribute(...)] | -| System.Object System.Reflection.RuntimeConstructorInfo.Invoke(System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo) | [DebuggerHiddenAttribute(...)] | -| System.Object System.Reflection.RuntimeConstructorInfo.Invoke(System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo) | [DebuggerStepThroughAttribute(...)] | -| System.Object System.Reflection.RuntimeMethodInfo.Invoke(System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo) | [DebuggerHiddenAttribute(...)] | -| System.Object System.Reflection.RuntimeMethodInfo.Invoke(System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo) | [DebuggerStepThroughAttribute(...)] | -| System.Object System.Reflection.RuntimePropertyInfo.GetValue(System.Object,System.Object[]) | [DebuggerHiddenAttribute(...)] | -| System.Object System.Reflection.RuntimePropertyInfo.GetValue(System.Object,System.Object[]) | [DebuggerStepThroughAttribute(...)] | -| System.Object System.Reflection.RuntimePropertyInfo.GetValue(System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo) | [DebuggerHiddenAttribute(...)] | -| System.Object System.Reflection.RuntimePropertyInfo.GetValue(System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo) | [DebuggerStepThroughAttribute(...)] | -| System.Object System.Reflection.TypeInfo.d__10.get_Current() | [DebuggerHiddenAttribute(...)] | -| System.Object System.Reflection.TypeInfo.d__22.get_Current() | [DebuggerHiddenAttribute(...)] | -| System.Object System.Resources.ResourceFallbackManager.d__5.get_Current() | [DebuggerHiddenAttribute(...)] | -| System.Object System.Resources.ResourceLocator.get_Value() | [CompilerGeneratedAttribute(...)] | -| System.Object System.Runtime.CompilerServices.CastHelpers.ChkCastAny(System.Void*,System.Object) | [DebuggerHiddenAttribute(...)] | -| System.Object System.Runtime.CompilerServices.CastHelpers.ChkCastAny(System.Void*,System.Object) | [DebuggerStepThroughAttribute(...)] | -| System.Object System.Runtime.CompilerServices.CastHelpers.ChkCastAny(System.Void*,System.Object) | [StackTraceHiddenAttribute(...)] | -| System.Object System.Runtime.CompilerServices.CastHelpers.ChkCastClass(System.Void*,System.Object) | [DebuggerHiddenAttribute(...)] | -| System.Object System.Runtime.CompilerServices.CastHelpers.ChkCastClass(System.Void*,System.Object) | [DebuggerStepThroughAttribute(...)] | -| System.Object System.Runtime.CompilerServices.CastHelpers.ChkCastClass(System.Void*,System.Object) | [StackTraceHiddenAttribute(...)] | -| System.Object System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(System.Void*,System.Object) | [DebuggerHiddenAttribute(...)] | -| System.Object System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(System.Void*,System.Object) | [DebuggerStepThroughAttribute(...)] | -| System.Object System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(System.Void*,System.Object) | [StackTraceHiddenAttribute(...)] | -| System.Object System.Runtime.CompilerServices.CastHelpers.ChkCastInterface(System.Void*,System.Object) | [DebuggerHiddenAttribute(...)] | -| System.Object System.Runtime.CompilerServices.CastHelpers.ChkCastInterface(System.Void*,System.Object) | [DebuggerStepThroughAttribute(...)] | -| System.Object System.Runtime.CompilerServices.CastHelpers.ChkCastInterface(System.Void*,System.Object) | [StackTraceHiddenAttribute(...)] | -| System.Object System.Runtime.CompilerServices.CastHelpers.ChkCast_Helper(System.Void*,System.Object) | [DebuggerHiddenAttribute(...)] | -| System.Object System.Runtime.CompilerServices.CastHelpers.ChkCast_Helper(System.Void*,System.Object) | [DebuggerStepThroughAttribute(...)] | -| System.Object System.Runtime.CompilerServices.CastHelpers.ChkCast_Helper(System.Void*,System.Object) | [StackTraceHiddenAttribute(...)] | -| System.Object System.Runtime.CompilerServices.CastHelpers.IsInstanceOfAny(System.Void*,System.Object) | [DebuggerHiddenAttribute(...)] | -| System.Object System.Runtime.CompilerServices.CastHelpers.IsInstanceOfAny(System.Void*,System.Object) | [DebuggerStepThroughAttribute(...)] | -| System.Object System.Runtime.CompilerServices.CastHelpers.IsInstanceOfAny(System.Void*,System.Object) | [StackTraceHiddenAttribute(...)] | -| System.Object System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(System.Void*,System.Object) | [DebuggerHiddenAttribute(...)] | -| System.Object System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(System.Void*,System.Object) | [DebuggerStepThroughAttribute(...)] | -| System.Object System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(System.Void*,System.Object) | [StackTraceHiddenAttribute(...)] | -| System.Object System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(System.Void*,System.Object) | [DebuggerHiddenAttribute(...)] | -| System.Object System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(System.Void*,System.Object) | [DebuggerStepThroughAttribute(...)] | -| System.Object System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(System.Void*,System.Object) | [StackTraceHiddenAttribute(...)] | -| System.Object System.Runtime.CompilerServices.CastHelpers.IsInstance_Helper(System.Void*,System.Object) | [DebuggerHiddenAttribute(...)] | -| System.Object System.Runtime.CompilerServices.CastHelpers.IsInstance_Helper(System.Void*,System.Object) | [DebuggerStepThroughAttribute(...)] | -| System.Object System.Runtime.CompilerServices.CastHelpers.IsInstance_Helper(System.Void*,System.Object) | [StackTraceHiddenAttribute(...)] | -| System.Object System.Runtime.CompilerServices.CastHelpers.LdelemaRef(System.Array,System.IntPtr,System.Void*) | [DebuggerHiddenAttribute(...)] | -| System.Object System.Runtime.CompilerServices.CastHelpers.LdelemaRef(System.Array,System.IntPtr,System.Void*) | [DebuggerStepThroughAttribute(...)] | -| System.Object System.Runtime.CompilerServices.CastHelpers.LdelemaRef(System.Array,System.IntPtr,System.Void*) | [StackTraceHiddenAttribute(...)] | -| System.Object System.Runtime.CompilerServices.CastHelpers.ThrowArrayMismatchException() | [DebuggerHiddenAttribute(...)] | -| System.Object System.Runtime.CompilerServices.CastHelpers.ThrowArrayMismatchException() | [DebuggerStepThroughAttribute(...)] | -| System.Object System.Runtime.CompilerServices.CastHelpers.ThrowArrayMismatchException() | [StackTraceHiddenAttribute(...)] | -| System.Object System.Runtime.CompilerServices.SwitchExpressionException.get_UnmatchedValue() | [CompilerGeneratedAttribute(...)] | -| System.Object System.Runtime.InteropServices.DefaultParameterValueAttribute.get_Value() | [CompilerGeneratedAttribute(...)] | -| System.Object System.Runtime.InteropServices.DispatchWrapper.get_WrappedObject() | [CompilerGeneratedAttribute(...)] | -| System.Object System.Runtime.InteropServices.MemoryMarshal.<g__FromArray\|18_2>d`1.get_Current() | [DebuggerHiddenAttribute(...)] | -| System.Object System.Runtime.InteropServices.MemoryMarshal.<g__FromMemoryManager\|18_1>d`1.get_Current() | [DebuggerHiddenAttribute(...)] | -| System.Object System.Runtime.InteropServices.MemoryMarshal.<g__FromString\|18_0>d`1.get_Current() | [DebuggerHiddenAttribute(...)] | -| System.Object System.Runtime.InteropServices.UnknownWrapper.get_WrappedObject() | [CompilerGeneratedAttribute(...)] | -| System.Object System.Runtime.InteropServices.VariantWrapper.get_WrappedObject() | [CompilerGeneratedAttribute(...)] | -| System.Object System.Runtime.Loader.AssemblyLoadContext.d__85.get_Current() | [DebuggerHiddenAttribute(...)] | -| System.Object System.Runtime.Loader.AssemblyLoadContext.d__55.get_Current() | [DebuggerHiddenAttribute(...)] | -| System.Object System.Runtime.Loader.LibraryNameVariation.d__5.get_Current() | [DebuggerHiddenAttribute(...)] | -| System.Object System.RuntimeMethodHandle.InvokeMethod(System.Object,System.Void**,System.Signature,System.Boolean) | [DebuggerHiddenAttribute(...)] | -| System.Object System.RuntimeMethodHandle.InvokeMethod(System.Object,System.Void**,System.Signature,System.Boolean) | [DebuggerStepThroughAttribute(...)] | -| System.Object System.RuntimeType.g__CreateInstanceLocal\|145_0(System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Object System.RuntimeType.ActivatorCache.ctor>g__ReturnNull\|4_0(System.Void*) | [CompilerGeneratedAttribute(...)] | -| System.Object System.RuntimeType.CreateInstanceDefaultCtor(System.Boolean,System.Boolean) | [DebuggerHiddenAttribute(...)] | -| System.Object System.RuntimeType.CreateInstanceDefaultCtor(System.Boolean,System.Boolean) | [DebuggerStepThroughAttribute(...)] | -| System.Object System.RuntimeType.CreateInstanceOfT() | [DebuggerHiddenAttribute(...)] | -| System.Object System.RuntimeType.CreateInstanceOfT() | [DebuggerStepThroughAttribute(...)] | -| System.Object System.RuntimeType.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[]) | [DebuggerHiddenAttribute(...)] | -| System.Object System.RuntimeType.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[]) | [DebuggerStepThroughAttribute(...)] | -| System.Object System.Security.SecurityException.get_Demanded() | [CompilerGeneratedAttribute(...)] | -| System.Object System.Security.SecurityException.get_DenySetInstance() | [CompilerGeneratedAttribute(...)] | -| System.Object System.Security.SecurityException.get_PermitOnlySetInstance() | [CompilerGeneratedAttribute(...)] | -| System.Object System.Threading.Interlocked.CompareExchange(System.Object,System.Object,System.Object) | [IntrinsicAttribute(...)] | -| System.Object System.Threading.Interlocked.Exchange(System.Object,System.Object) | [IntrinsicAttribute(...)] | -| System.Object System.Threading.Tasks.TaskAsyncEnumerableExtensions.d__3`1.get_Current() | [DebuggerHiddenAttribute(...)] | -| System.Object System.Threading.Tasks.TaskToAsyncResult.TaskAsyncResult.get_AsyncState() | [CompilerGeneratedAttribute(...)] | -| System.Object System.Threading.Tasks.ThreadPoolTaskScheduler.d__6.get_Current() | [DebuggerHiddenAttribute(...)] | -| System.Object System.Threading.ThreadPool.d__26.get_Current() | [DebuggerHiddenAttribute(...)] | -| System.Object System.Threading.TimerQueue.d__7.get_Current() | [DebuggerHiddenAttribute(...)] | -| System.Object System.Type.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[]) | [DebuggerHiddenAttribute(...)] | -| System.Object System.Type.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[]) | [DebuggerStepThroughAttribute(...)] | -| System.Object System.Type.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Globalization.CultureInfo) | [DebuggerHiddenAttribute(...)] | -| System.Object System.Type.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Globalization.CultureInfo) | [DebuggerStepThroughAttribute(...)] | -| System.Object[] System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.get_Arguments() | [CompilerGeneratedAttribute(...)] | -| System.ObsoleteAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.ObsoleteAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.ObsoleteAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.ObsoleteAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.ParseFlags | [FlagsAttribute(...)] | -| System.ParsingInfo | [ScopedRefAttribute(...)] | -| System.Progress`1.ProgressChanged | [CompilerGeneratedAttribute(...)] | -| System.Random System.Random.get_Shared() | [CompilerGeneratedAttribute(...)] | -| System.Random.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Random.ThreadSafeRandom.t_random | [ThreadStaticAttribute(...)] | -| System.Range | [IsReadOnlyAttribute(...)] | -| System.Range.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Range.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.ReadOnlyMemory System.MemoryExtensions.TrimEnd`1(System.ReadOnlyMemory,!0) | [ExtensionAttribute(...)] | -| System.ReadOnlyMemory System.MemoryExtensions.TrimEnd`1(System.ReadOnlyMemory,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.ReadOnlyMemory System.MemoryExtensions.TrimStart`1(System.ReadOnlyMemory,!0) | [ExtensionAttribute(...)] | -| System.ReadOnlyMemory System.MemoryExtensions.TrimStart`1(System.ReadOnlyMemory,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.ReadOnlyMemory System.MemoryExtensions.Trim`1(System.ReadOnlyMemory,!0) | [ExtensionAttribute(...)] | -| System.ReadOnlyMemory System.MemoryExtensions.Trim`1(System.ReadOnlyMemory,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.ReadOnlyMemory System.MemoryExtensions.AsMemory(System.String) | [ExtensionAttribute(...)] | -| System.ReadOnlyMemory System.MemoryExtensions.AsMemory(System.String,System.Index) | [ExtensionAttribute(...)] | -| System.ReadOnlyMemory System.MemoryExtensions.AsMemory(System.String,System.Int32) | [ExtensionAttribute(...)] | -| System.ReadOnlyMemory System.MemoryExtensions.AsMemory(System.String,System.Int32,System.Int32) | [ExtensionAttribute(...)] | -| System.ReadOnlyMemory System.MemoryExtensions.AsMemory(System.String,System.Range) | [ExtensionAttribute(...)] | -| System.ReadOnlyMemory System.MemoryExtensions.Trim(System.ReadOnlyMemory) | [ExtensionAttribute(...)] | -| System.ReadOnlyMemory System.MemoryExtensions.TrimEnd(System.ReadOnlyMemory) | [ExtensionAttribute(...)] | -| System.ReadOnlyMemory System.MemoryExtensions.TrimStart(System.ReadOnlyMemory) | [ExtensionAttribute(...)] | -| System.ReadOnlyMemory`1 | [IsReadOnlyAttribute(...)] | -| System.ReadOnlySpan | [ScopedRefAttribute(...)] | -| System.ReadOnlySpan System.MemoryExtensions.TrimEnd`1(System.ReadOnlySpan,!0) | [ExtensionAttribute(...)] | -| System.ReadOnlySpan System.MemoryExtensions.TrimEnd`1(System.ReadOnlySpan,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.ReadOnlySpan System.MemoryExtensions.TrimStart`1(System.ReadOnlySpan,!0) | [ExtensionAttribute(...)] | -| System.ReadOnlySpan System.MemoryExtensions.TrimStart`1(System.ReadOnlySpan,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.ReadOnlySpan System.MemoryExtensions.Trim`1(System.ReadOnlySpan,!0) | [ExtensionAttribute(...)] | -| System.ReadOnlySpan System.MemoryExtensions.Trim`1(System.ReadOnlySpan,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.ReadOnlySpan System.Runtime.CompilerServices.RuntimeHelpers.CreateSpan`1(System.RuntimeFieldHandle) | [IntrinsicAttribute(...)] | -| System.ReadOnlySpan | [ScopedRefAttribute(...)] | -| System.ReadOnlySpan System.MemoryExtensions.g__TrimFallback\|233_0(System.ReadOnlySpan) | [CompilerGeneratedAttribute(...)] | -| System.ReadOnlySpan System.MemoryExtensions.TrimUtf8(System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.ReadOnlySpan System.Runtime.Loader.AssemblyLoadContext.g__ReadAllBytes\|92_0(System.IO.Stream) | [CompilerGeneratedAttribute(...)] | -| System.ReadOnlySpan | [ScopedRefAttribute(...)] | -| System.ReadOnlySpan System.IO.Enumeration.FileSystemEntry.get_Directory() | [CompilerGeneratedAttribute(...)] | -| System.ReadOnlySpan System.IO.Enumeration.FileSystemEntry.get_Directory() | [IsReadOnlyAttribute(...)] | -| System.ReadOnlySpan System.IO.Enumeration.FileSystemEntry.get_OriginalRootDirectory() | [CompilerGeneratedAttribute(...)] | -| System.ReadOnlySpan System.IO.Enumeration.FileSystemEntry.get_OriginalRootDirectory() | [IsReadOnlyAttribute(...)] | -| System.ReadOnlySpan System.IO.Enumeration.FileSystemEntry.get_RootDirectory() | [CompilerGeneratedAttribute(...)] | -| System.ReadOnlySpan System.IO.Enumeration.FileSystemEntry.get_RootDirectory() | [IsReadOnlyAttribute(...)] | -| System.ReadOnlySpan System.MemoryExtensions.g__TrimFallback\|219_0(System.ReadOnlySpan) | [CompilerGeneratedAttribute(...)] | -| System.ReadOnlySpan System.MemoryExtensions.AsSpan(System.String) | [ExtensionAttribute(...)] | -| System.ReadOnlySpan System.MemoryExtensions.AsSpan(System.String) | [IntrinsicAttribute(...)] | -| System.ReadOnlySpan System.MemoryExtensions.AsSpan(System.String,System.Index) | [ExtensionAttribute(...)] | -| System.ReadOnlySpan System.MemoryExtensions.AsSpan(System.String,System.Int32) | [ExtensionAttribute(...)] | -| System.ReadOnlySpan System.MemoryExtensions.AsSpan(System.String,System.Int32,System.Int32) | [ExtensionAttribute(...)] | -| System.ReadOnlySpan System.MemoryExtensions.AsSpan(System.String,System.Range) | [ExtensionAttribute(...)] | -| System.ReadOnlySpan System.MemoryExtensions.Trim(System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.ReadOnlySpan System.MemoryExtensions.Trim(System.ReadOnlySpan,System.Char) | [ExtensionAttribute(...)] | -| System.ReadOnlySpan System.MemoryExtensions.Trim(System.ReadOnlySpan,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.ReadOnlySpan System.MemoryExtensions.TrimEnd(System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.ReadOnlySpan System.MemoryExtensions.TrimEnd(System.ReadOnlySpan,System.Char) | [ExtensionAttribute(...)] | -| System.ReadOnlySpan System.MemoryExtensions.TrimEnd(System.ReadOnlySpan,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.ReadOnlySpan System.MemoryExtensions.TrimStart(System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.ReadOnlySpan System.MemoryExtensions.TrimStart(System.ReadOnlySpan,System.Char) | [ExtensionAttribute(...)] | -| System.ReadOnlySpan System.MemoryExtensions.TrimStart(System.ReadOnlySpan,System.ReadOnlySpan) | [ExtensionAttribute(...)] | -| System.ReadOnlySpan System.String.op_Implicit(System.String) | [IntrinsicAttribute(...)] | -| System.ReadOnlySpan`1 | [IsByRefLikeAttribute(...)] | -| System.ReadOnlySpan`1 | [IsReadOnlyAttribute(...)] | -| System.ReadOnlySpan`1 | [NonVersionableAttribute(...)] | -| System.ReadOnlySpan`1.Enumerator | [IsByRefLikeAttribute(...)] | -| System.Reflection.Assembly System.AssemblyLoadEventArgs.get_LoadedAssembly() | [CompilerGeneratedAttribute(...)] | -| System.Reflection.Assembly System.Reflection.ManifestResourceInfo.get_ReferencedAssembly() | [CompilerGeneratedAttribute(...)] | -| System.Reflection.Assembly System.ResolveEventArgs.get_RequestingAssembly() | [CompilerGeneratedAttribute(...)] | -| System.Reflection.Assembly System.Runtime.Loader.AssemblyLoadContext.d__55.get_Current() | [DebuggerHiddenAttribute(...)] | -| System.Reflection.Assembly.<>O | [CompilerGeneratedAttribute(...)] | -| System.Reflection.AssemblyAlgorithmIdAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Reflection.AssemblyCompanyAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Reflection.AssemblyConfigurationAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Reflection.AssemblyCopyrightAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Reflection.AssemblyCultureAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Reflection.AssemblyDefaultAliasAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Reflection.AssemblyDelaySignAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Reflection.AssemblyDescriptionAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Reflection.AssemblyFileVersionAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Reflection.AssemblyInformationalVersionAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Reflection.AssemblyKeyFileAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Reflection.AssemblyKeyNameAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Reflection.AssemblyMetadataAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Reflection.AssemblyMetadataAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Reflection.AssemblyName System.Security.SecurityException.get_FailedAssemblyInfo() | [CompilerGeneratedAttribute(...)] | -| System.Reflection.AssemblyNameFlags | [FlagsAttribute(...)] | -| System.Reflection.AssemblyNameFormatter | [ExtensionAttribute(...)] | -| System.Reflection.AssemblyNameParser | [IsByRefLikeAttribute(...)] | -| System.Reflection.AssemblyNameParser.AssemblyNameParts | [IsReadOnlyAttribute(...)] | -| System.Reflection.AssemblyNameParser.AttributeKind | [ScopedRefAttribute(...)] | -| System.Reflection.AssemblyProductAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Reflection.AssemblySignatureKeyAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Reflection.AssemblySignatureKeyAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Reflection.AssemblyTitleAttribute.k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Reflection.AssemblyTrademarkAttribute.<Trademark>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Reflection.AssemblyVersionAttribute.<Version>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Reflection.Associates.Attributes | [FlagsAttribute(...)] | -| System.Reflection.BindingFlags | [FlagsAttribute(...)] | -| System.Reflection.CallingConventions | [FlagsAttribute(...)] | -| System.Reflection.ConstArray | [IsReadOnlyAttribute(...)] | -| System.Reflection.CustomAttributeCtorParameter | [IsReadOnlyAttribute(...)] | -| System.Reflection.CustomAttributeEncodedArgument | [IsReadOnlyAttribute(...)] | -| System.Reflection.CustomAttributeExtensions | [ExtensionAttribute(...)] | -| System.Reflection.CustomAttributeNamedArgument | [IsReadOnlyAttribute(...)] | -| System.Reflection.CustomAttributeNamedParameter | [IsReadOnlyAttribute(...)] | -| System.Reflection.CustomAttributeType | [IsReadOnlyAttribute(...)] | -| System.Reflection.CustomAttributeTypedArgument | [IsReadOnlyAttribute(...)] | -| System.Reflection.DefaultMemberAttribute.<MemberName>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Reflection.Emit.AssemblyBuilder.t_allowDynamicCode | [ThreadStaticAttribute(...)] | -| System.Reflection.Emit.AssemblyBuilderAccess | [FlagsAttribute(...)] | -| System.Reflection.Emit.DynamicResolver.SecurityControlFlags | [FlagsAttribute(...)] | -| System.Reflection.Emit.ExceptionHandler | [IsReadOnlyAttribute(...)] | -| System.Reflection.Emit.Label | [IsReadOnlyAttribute(...)] | -| System.Reflection.Emit.OpCode | [IsReadOnlyAttribute(...)] | -| System.Reflection.EventAttributes | [FlagsAttribute(...)] | -| System.Reflection.EventInfo System.Reflection.RuntimeReflectionExtensions.GetRuntimeEvent(System.Type,System.String) | [ExtensionAttribute(...)] | -| System.Reflection.ExceptionHandlingClauseOptions | [FlagsAttribute(...)] | -| System.Reflection.FieldAttributes | [FlagsAttribute(...)] | -| System.Reflection.FieldInfo System.Reflection.RuntimeReflectionExtensions.GetRuntimeField(System.Type,System.String) | [ExtensionAttribute(...)] | -| System.Reflection.FieldInfo[] System.Diagnostics.Tracing.ManifestBuilder.<CreateManifestString>g__GetEnumFields\|19_0(System.Type) | [CompilerGeneratedAttribute(...)] | -| System.Reflection.GenericParameterAttributes | [FlagsAttribute(...)] | -| System.Reflection.InterfaceMapping System.Reflection.RuntimeReflectionExtensions.GetRuntimeInterfaceMap(System.Reflection.TypeInfo,System.Type) | [ExtensionAttribute(...)] | -| System.Reflection.IntrospectionExtensions | [ExtensionAttribute(...)] | -| System.Reflection.InvocationFlags | [FlagsAttribute(...)] | -| System.Reflection.ManifestResourceInfo.<FileName>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Reflection.ManifestResourceInfo.<ReferencedAssembly>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Reflection.ManifestResourceInfo.<ResourceLocation>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Reflection.MdSigCallingConvention | [FlagsAttribute(...)] | -| System.Reflection.MemberTypes | [FlagsAttribute(...)] | -| System.Reflection.Metadata.AssemblyExtensions | [ExtensionAttribute(...)] | -| System.Reflection.Metadata.MetadataUpdateHandlerAttribute.<HandlerType>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Reflection.Metadata.MetadataUpdater.<IsSupported>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Reflection.MetadataEnumResult.<smallResult>e__FixedBuffer | [CompilerGeneratedAttribute(...)] | -| System.Reflection.MetadataEnumResult.<smallResult>e__FixedBuffer | [UnsafeValueTypeAttribute(...)] | -| System.Reflection.MetadataImport | [IsReadOnlyAttribute(...)] | -| System.Reflection.MethodAttributes | [FlagsAttribute(...)] | -| System.Reflection.MethodBase.InvokerArgFlags | [FlagsAttribute(...)] | -| System.Reflection.MethodBase.InvokerStrategy | [FlagsAttribute(...)] | -| System.Reflection.MethodBase.StackAllocatedArguments | [IsByRefLikeAttribute(...)] | -| System.Reflection.MethodBase.StackAllocatedArgumentsWithCopyBack | [IsByRefLikeAttribute(...)] | -| System.Reflection.MethodBase.StackAllocatedByRefs | [IsByRefLikeAttribute(...)] | -| System.Reflection.MethodInfo System.Reflection.RuntimeReflectionExtensions.GetMethodInfo(System.Delegate) | [ExtensionAttribute(...)] | -| System.Reflection.MethodInfo System.Reflection.RuntimeReflectionExtensions.GetRuntimeBaseDefinition(System.Reflection.MethodInfo) | [ExtensionAttribute(...)] | -| System.Reflection.MethodInfo System.Reflection.RuntimeReflectionExtensions.GetRuntimeMethod(System.Type,System.String,System.Type[]) | [ExtensionAttribute(...)] | -| System.Reflection.MethodInfo System.Reflection.TypeInfo.<GetDeclaredMethods>d__10.get_Current() | [DebuggerHiddenAttribute(...)] | -| System.Reflection.MethodInfo System.Security.SecurityException.get_Method() | [CompilerGeneratedAttribute(...)] | -| System.Reflection.MethodInfo[] System.Diagnostics.StackTrace.<TryResolveStateMachineMethod>g__GetDeclaredMethods\|28_0(System.Type) | [CompilerGeneratedAttribute(...)] | -| System.Reflection.MethodInfo[] System.Reflection.TypeInfo.<GetDeclaredMethods>g__GetDeclaredOnlyMethods\|10_0(System.Type) | [CompilerGeneratedAttribute(...)] | -| System.Reflection.MethodSemanticsAttributes | [FlagsAttribute(...)] | -| System.Reflection.Module.<>c | [CompilerGeneratedAttribute(...)] | -| System.Reflection.NullabilityInfo System.Reflection.NullabilityInfo.get_ElementType() | [CompilerGeneratedAttribute(...)] | -| System.Reflection.NullabilityInfo.<ElementType>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Reflection.NullabilityInfo.<GenericTypeArguments>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Reflection.NullabilityInfo.<ReadState>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Reflection.NullabilityInfo.<Type>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Reflection.NullabilityInfo.<WriteState>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Reflection.NullabilityInfoContext.<IsSupported>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Reflection.NullabilityInfoContext.NotAnnotatedStatus | [FlagsAttribute(...)] | -| System.Reflection.NullabilityInfoContext.NullableAttributeStateParser | [IsReadOnlyAttribute(...)] | -| System.Reflection.NullabilityInfo[] System.Reflection.NullabilityInfo.get_GenericTypeArguments() | [CompilerGeneratedAttribute(...)] | -| System.Reflection.NullabilityState System.Reflection.NullabilityInfo.get_ReadState() | [CompilerGeneratedAttribute(...)] | -| System.Reflection.NullabilityState System.Reflection.NullabilityInfo.get_WriteState() | [CompilerGeneratedAttribute(...)] | -| System.Reflection.ObfuscateAssemblyAttribute.<AssemblyIsPrivate>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Reflection.ObfuscateAssemblyAttribute.<StripAfterObfuscation>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Reflection.ObfuscationAttribute.<ApplyToMembers>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Reflection.ObfuscationAttribute.<Exclude>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Reflection.ObfuscationAttribute.<Feature>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Reflection.ObfuscationAttribute.<StripAfterObfuscation>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Reflection.PInvokeAttributes | [FlagsAttribute(...)] | -| System.Reflection.ParameterAttributes | [FlagsAttribute(...)] | -| System.Reflection.ParameterModifier | [IsReadOnlyAttribute(...)] | -| System.Reflection.PortableExecutableKinds | [FlagsAttribute(...)] | -| System.Reflection.PropertyAttributes | [FlagsAttribute(...)] | -| System.Reflection.PropertyInfo System.Reflection.RuntimeReflectionExtensions.GetRuntimeProperty(System.Type,System.String) | [ExtensionAttribute(...)] | -| System.Reflection.ReflectionTypeLoadException.<LoaderExceptions>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Reflection.ReflectionTypeLoadException.<Types>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Reflection.ResourceAttributes | [FlagsAttribute(...)] | -| System.Reflection.ResourceLocation | [FlagsAttribute(...)] | -| System.Reflection.ResourceLocation System.Reflection.ManifestResourceInfo.get_ResourceLocation() | [CompilerGeneratedAttribute(...)] | -| System.Reflection.RuntimeAssembly._ModuleResolve | [CompilerGeneratedAttribute(...)] | -| System.Reflection.RuntimeMethodInfo System.Reflection.RuntimePropertyInfo.GetGetMethod(System.Boolean) | [PreserveBaseOverridesAttribute(...)] | -| System.Reflection.RuntimeMethodInfo System.Reflection.RuntimePropertyInfo.GetSetMethod(System.Boolean) | [PreserveBaseOverridesAttribute(...)] | -| System.Reflection.RuntimeReflectionExtensions | [ExtensionAttribute(...)] | -| System.Reflection.SignatureTypeExtensions | [ExtensionAttribute(...)] | -| System.Reflection.TypeAttributes | [FlagsAttribute(...)] | -| System.Reflection.TypeInfo System.Reflection.IntrospectionExtensions.GetTypeInfo(System.Type) | [ExtensionAttribute(...)] | -| System.Reflection.TypeInfo System.Reflection.TypeInfo.<get_DeclaredNestedTypes>d__22.get_Current() | [DebuggerHiddenAttribute(...)] | -| System.Reflection.TypeInfo.<GetDeclaredMethods>d__10 | [CompilerGeneratedAttribute(...)] | -| System.Reflection.TypeInfo.<get_DeclaredNestedTypes>d__22 | [CompilerGeneratedAttribute(...)] | -| System.Reflection.TypeNameParser | [IsByRefLikeAttribute(...)] | -| System.ResolveEventArgs.<Name>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.ResolveEventArgs.<RequestingAssembly>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Resources.NeutralResourcesLanguageAttribute.<CultureName>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Resources.NeutralResourcesLanguageAttribute.<Location>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Resources.ResourceFallbackManager.<GetEnumerator>d__5 | [CompilerGeneratedAttribute(...)] | -| System.Resources.ResourceLocator | [IsReadOnlyAttribute(...)] | -| System.Resources.ResourceLocator.<DataPosition>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Resources.ResourceLocator.<Value>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Resources.ResourceReader.<>c__DisplayClass7_0`1 | [CompilerGeneratedAttribute(...)] | -| System.Resources.ResourceReader.<AllowCustomResourceTypes>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Resources.SatelliteContractVersionAttribute.<Version>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Resources.UltimateResourceFallbackLocation System.Resources.NeutralResourcesLanguageAttribute.get_Location() | [CompilerGeneratedAttribute(...)] | -| System.Runtime.AssemblyTargetedPatchBandAttribute.<TargetedPatchBand>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.AccessedThroughPropertyAttribute.<PropertyName>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.AsyncMethodBuilderAttribute.<BuilderType>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.CallerArgumentExpressionAttribute.<ParameterName>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.CollectionBuilderAttribute.<BuilderType>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.CollectionBuilderAttribute.<MethodName>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.CompExactlyDependsOnAttribute.<IntrinsicsTypeUsedInHelperFunction>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.CompilationRelaxations | [FlagsAttribute(...)] | -| System.Runtime.CompilerServices.CompilationRelaxationsAttribute.<CompilationRelaxations>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute.<FeatureName>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute.<IsOptional>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.ConditionalWeakTable`2.<>c | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.ConfiguredAsyncDisposable | [IsReadOnlyAttribute(...)] | -| System.Runtime.CompilerServices.ConfiguredAsyncDisposable System.Threading.Tasks.TaskAsyncEnumerableExtensions.ConfigureAwait(System.IAsyncDisposable,System.Boolean) | [ExtensionAttribute(...)] | -| System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable<!0> System.Threading.Tasks.TaskAsyncEnumerableExtensions.ConfigureAwait`1(System.Collections.Generic.IAsyncEnumerable<!0>,System.Boolean) | [ExtensionAttribute(...)] | -| System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable<!0> System.Threading.Tasks.TaskAsyncEnumerableExtensions.WithCancellation`1(System.Collections.Generic.IAsyncEnumerable<!0>,System.Threading.CancellationToken) | [ExtensionAttribute(...)] | -| System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1 | [IsReadOnlyAttribute(...)] | -| System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.Enumerator | [IsReadOnlyAttribute(...)] | -| System.Runtime.CompilerServices.ConfiguredTaskAwaitable | [IsReadOnlyAttribute(...)] | -| System.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter | [IsReadOnlyAttribute(...)] | -| System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1 | [IsReadOnlyAttribute(...)] | -| System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter | [IsReadOnlyAttribute(...)] | -| System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable | [IsReadOnlyAttribute(...)] | -| System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable.ConfiguredValueTaskAwaiter | [IsReadOnlyAttribute(...)] | -| System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1 | [IsReadOnlyAttribute(...)] | -| System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter | [IsReadOnlyAttribute(...)] | -| System.Runtime.CompilerServices.ContractHelper.InternalContractFailed | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.DefaultDependencyAttribute.<LoadHint>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.DefaultInterpolatedStringHandler | [InterpolatedStringHandlerAttribute(...)] | -| System.Runtime.CompilerServices.DefaultInterpolatedStringHandler | [IsByRefLikeAttribute(...)] | -| System.Runtime.CompilerServices.DependencyAttribute.<DependentAssembly>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.DependencyAttribute.<LoadHint>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.FixedBufferAttribute.<ElementType>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.FixedBufferAttribute.<Length>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.InlineArrayAttribute.<Length>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.InternalsVisibleToAttribute.<AllInternalsVisible>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.InternalsVisibleToAttribute.<AssemblyName>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.InterpolatedStringHandlerArgumentAttribute.<Arguments>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.LoadHint System.Runtime.CompilerServices.DefaultDependencyAttribute.get_LoadHint() | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.LoadHint System.Runtime.CompilerServices.DependencyAttribute.get_LoadHint() | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.MetadataUpdateOriginalTypeAttribute.<OriginalType>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.MethodImplAttribute.<Value>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.MethodImplOptions | [FlagsAttribute(...)] | -| System.Runtime.CompilerServices.MethodImplOptions System.Runtime.CompilerServices.MethodImplAttribute.get_Value() | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.MethodTable* System.Runtime.CompilerServices.RuntimeHelpers.GetMethodTable(System.Object) | [IntrinsicAttribute(...)] | -| System.Runtime.CompilerServices.ObjectHandleOnStack | [IsByRefLikeAttribute(...)] | -| System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder<!0>.StateMachineBox | [NotNullAttribute(...)] | -| System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1.StateMachineBox`1.t_tlsCache | [ThreadStaticAttribute(...)] | -| System.Runtime.CompilerServices.QCallAssembly | [IsByRefLikeAttribute(...)] | -| System.Runtime.CompilerServices.QCallModule | [IsByRefLikeAttribute(...)] | -| System.Runtime.CompilerServices.QCallTypeHandle | [IsByRefLikeAttribute(...)] | -| System.Runtime.CompilerServices.RawArrayData | [NonVersionableAttribute(...)] | -| System.Runtime.CompilerServices.RawData | [NonVersionableAttribute(...)] | -| System.Runtime.CompilerServices.RefSafetyRulesAttribute.<Version>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.ReferenceAssemblyAttribute.<Description>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.RuntimeCompatibilityAttribute.<WrapNonExceptionThrows>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.RuntimeFeature.<IsDynamicCodeSupported>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.RuntimeHelpers | [ExtensionAttribute(...)] | -| System.Runtime.CompilerServices.StackCrawlMarkHandle | [IsByRefLikeAttribute(...)] | -| System.Runtime.CompilerServices.StateMachineAttribute.<StateMachineType>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.StringHandleOnStack | [IsByRefLikeAttribute(...)] | -| System.Runtime.CompilerServices.StrongBox<System.Boolean> System.Console.<get_IsErrorRedirected>g__EnsureInitialized\|38_0() | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.StrongBox<System.Boolean> System.Console.<get_IsInputRedirected>g__EnsureInitialized\|34_0() | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.StrongBox<System.Boolean> System.Console.<get_IsOutputRedirected>g__EnsureInitialized\|36_0() | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.StrongBox`1.Value | [MaybeNullAttribute(...)] | -| System.Runtime.CompilerServices.SwitchExpressionException.<UnmatchedValue>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.TaskAwaiter | [IsReadOnlyAttribute(...)] | -| System.Runtime.CompilerServices.TaskAwaiter.<>c | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.TaskAwaiter`1 | [IsReadOnlyAttribute(...)] | -| System.Runtime.CompilerServices.TypeForwardedFromAttribute.<AssemblyFullName>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.TypeForwardedToAttribute.<Destination>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.UnsafeAccessorAttribute.<Kind>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.UnsafeAccessorAttribute.<Name>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.UnsafeAccessorKind System.Runtime.CompilerServices.UnsafeAccessorAttribute.get_Kind() | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.ValueTaskAwaiter | [IsReadOnlyAttribute(...)] | -| System.Runtime.CompilerServices.ValueTaskAwaiter.<>c | [CompilerGeneratedAttribute(...)] | -| System.Runtime.CompilerServices.ValueTaskAwaiter`1 | [IsReadOnlyAttribute(...)] | -| System.Runtime.CompilerServices.YieldAwaitable | [IsReadOnlyAttribute(...)] | -| System.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter | [IsReadOnlyAttribute(...)] | -| System.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.<>c | [CompilerGeneratedAttribute(...)] | -| System.Runtime.ConstrainedExecution.Cer System.Runtime.ConstrainedExecution.ReliabilityContractAttribute.get_Cer() | [CompilerGeneratedAttribute(...)] | -| System.Runtime.ConstrainedExecution.Consistency System.Runtime.ConstrainedExecution.ReliabilityContractAttribute.get_ConsistencyGuarantee() | [CompilerGeneratedAttribute(...)] | -| System.Runtime.ConstrainedExecution.ReliabilityContractAttribute.<Cer>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.ConstrainedExecution.ReliabilityContractAttribute.<ConsistencyGuarantee>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.ControlledExecution.<>c | [CompilerGeneratedAttribute(...)] | -| System.Runtime.ControlledExecution.t_executing | [ThreadStaticAttribute(...)] | -| System.Runtime.ExceptionServices.FirstChanceExceptionEventArgs.<Exception>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.ArrayWithOffset | [IsReadOnlyAttribute(...)] | -| System.Runtime.InteropServices.BStrWrapper.<WrappedObject>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.BestFitMappingAttribute.<BestFitMapping>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.CLong | [IntrinsicAttribute(...)] | -| System.Runtime.InteropServices.CLong | [IsReadOnlyAttribute(...)] | -| System.Runtime.InteropServices.CULong | [IntrinsicAttribute(...)] | -| System.Runtime.InteropServices.CULong | [IsReadOnlyAttribute(...)] | -| System.Runtime.InteropServices.CallingConvention System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute.get_CallingConvention() | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.CharSet System.Runtime.InteropServices.DefaultCharSetAttribute.get_CharSet() | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.ClassInterfaceAttribute.<Value>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.ClassInterfaceType System.Runtime.InteropServices.ClassInterfaceAttribute.get_Value() | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.CoClassAttribute.<CoClass>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.ComDefaultInterfaceAttribute.<Value>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.ComEventInterfaceAttribute.<EventProvider>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.ComEventInterfaceAttribute.<SourceInterface>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.ComInterfaceType System.Runtime.InteropServices.InterfaceTypeAttribute.get_Value() | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.ComSourceInterfacesAttribute.<Value>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.ComTypes.FUNCFLAGS | [FlagsAttribute(...)] | -| System.Runtime.InteropServices.ComTypes.IDLFLAG | [FlagsAttribute(...)] | -| System.Runtime.InteropServices.ComTypes.IMPLTYPEFLAGS | [FlagsAttribute(...)] | -| System.Runtime.InteropServices.ComTypes.INVOKEKIND | [FlagsAttribute(...)] | -| System.Runtime.InteropServices.ComTypes.LIBFLAGS | [FlagsAttribute(...)] | -| System.Runtime.InteropServices.ComTypes.PARAMFLAG | [FlagsAttribute(...)] | -| System.Runtime.InteropServices.ComTypes.TYPEFLAGS | [FlagsAttribute(...)] | -| System.Runtime.InteropServices.ComTypes.VARFLAGS | [FlagsAttribute(...)] | -| System.Runtime.InteropServices.ComVisibleAttribute.<Value>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.CreateComInterfaceFlags | [FlagsAttribute(...)] | -| System.Runtime.InteropServices.CreateObjectFlags | [FlagsAttribute(...)] | -| System.Runtime.InteropServices.CurrencyWrapper.<WrappedObject>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.DefaultCharSetAttribute.<CharSet>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.DefaultDllImportSearchPathsAttribute.<Paths>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.DefaultParameterValueAttribute.<Value>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.DispIdAttribute.<Value>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.DispatchWrapper.<WrappedObject>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.DllImportAttribute.<Value>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.DllImportSearchPath | [FlagsAttribute(...)] | -| System.Runtime.InteropServices.DllImportSearchPath System.Runtime.InteropServices.DefaultDllImportSearchPathsAttribute.get_Paths() | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.ErrorWrapper.<ErrorCode>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.FieldOffsetAttribute.<Value>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.GuidAttribute.<Value>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.HandleRef | [IsReadOnlyAttribute(...)] | -| System.Runtime.InteropServices.InterfaceTypeAttribute.<Value>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.LCIDConversionAttribute.<Value>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.LayoutKind System.Runtime.InteropServices.StructLayoutAttribute.get_Value() | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.LibraryImportAttribute.<EntryPoint>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.LibraryImportAttribute.<LibraryName>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.LibraryImportAttribute.<SetLastError>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.LibraryImportAttribute.<StringMarshalling>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.LibraryImportAttribute.<StringMarshallingCustomType>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.Marshal.<>O | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.MarshalAsAttribute.<Value>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.Marshalling.AnsiStringMarshaller.ManagedToUnmanagedIn | [IsByRefLikeAttribute(...)] | -| System.Runtime.InteropServices.Marshalling.ArrayMarshaller`2 | [ContiguousCollectionMarshallerAttribute(...)] | -| System.Runtime.InteropServices.Marshalling.ArrayMarshaller`2.ManagedToUnmanagedIn | [IsByRefLikeAttribute(...)] | -| System.Runtime.InteropServices.Marshalling.ArrayMarshaller`2.ManagedToUnmanagedIn.<BufferSize>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.Marshalling.BStrStringMarshaller.ManagedToUnmanagedIn | [IsByRefLikeAttribute(...)] | -| System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute.<ManagedType>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute.<MarshalMode>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute.<MarshallerType>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.Marshalling.MarshalMode System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute.get_MarshalMode() | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.Marshalling.MarshalUsingAttribute.<ConstantElementCount>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.Marshalling.MarshalUsingAttribute.<CountElementName>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.Marshalling.MarshalUsingAttribute.<ElementIndirectionDepth>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.Marshalling.MarshalUsingAttribute.<NativeType>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.Marshalling.NativeMarshallingAttribute.<NativeType>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.Marshalling.PointerArrayMarshaller`2 | [ContiguousCollectionMarshallerAttribute(...)] | -| System.Runtime.InteropServices.Marshalling.PointerArrayMarshaller`2.ManagedToUnmanagedIn | [IsByRefLikeAttribute(...)] | -| System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2 | [ContiguousCollectionMarshallerAttribute(...)] | -| System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2.ManagedToUnmanagedIn | [IsByRefLikeAttribute(...)] | -| System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2.ManagedToUnmanagedIn.<BufferSize>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.Marshalling.SpanMarshaller`2 | [ContiguousCollectionMarshallerAttribute(...)] | -| System.Runtime.InteropServices.Marshalling.SpanMarshaller`2.ManagedToUnmanagedIn | [IsByRefLikeAttribute(...)] | -| System.Runtime.InteropServices.Marshalling.SpanMarshaller`2.ManagedToUnmanagedIn.<BufferSize>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.Marshalling.Utf8StringMarshaller.ManagedToUnmanagedIn | [IsByRefLikeAttribute(...)] | -| System.Runtime.InteropServices.MemoryMarshal.<<ToEnumerable>g__FromArray\|18_2>d`1 | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.MemoryMarshal.<<ToEnumerable>g__FromMemoryManager\|18_1>d`1 | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.MemoryMarshal.<<ToEnumerable>g__FromString\|18_0>d`1 | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.NFloat | [IntrinsicAttribute(...)] | -| System.Runtime.InteropServices.NFloat | [IsReadOnlyAttribute(...)] | -| System.Runtime.InteropServices.NFloat | [NonVersionableAttribute(...)] | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.get_AllBitsSet() | [NonVersionableAttribute(...)] | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.get_Epsilon() | [NonVersionableAttribute(...)] | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.get_MaxValue() | [NonVersionableAttribute(...)] | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.get_MinValue() | [NonVersionableAttribute(...)] | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.get_NaN() | [NonVersionableAttribute(...)] | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.get_NegativeInfinity() | [NonVersionableAttribute(...)] | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.get_PositiveInfinity() | [NonVersionableAttribute(...)] | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.op_Addition(System.Runtime.InteropServices.NFloat,System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.op_Decrement(System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.op_Division(System.Runtime.InteropServices.NFloat,System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.op_Explicit(System.Decimal) | [NonVersionableAttribute(...)] | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.op_Explicit(System.Double) | [NonVersionableAttribute(...)] | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.op_Explicit(System.Int128) | [NonVersionableAttribute(...)] | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.op_Explicit(System.UInt128) | [NonVersionableAttribute(...)] | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.op_Implicit(System.Byte) | [NonVersionableAttribute(...)] | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.op_Implicit(System.Char) | [NonVersionableAttribute(...)] | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.op_Implicit(System.Half) | [NonVersionableAttribute(...)] | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.op_Implicit(System.Int16) | [NonVersionableAttribute(...)] | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.op_Implicit(System.Int32) | [NonVersionableAttribute(...)] | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.op_Implicit(System.Int64) | [NonVersionableAttribute(...)] | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.op_Implicit(System.IntPtr) | [NonVersionableAttribute(...)] | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.op_Implicit(System.SByte) | [NonVersionableAttribute(...)] | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.op_Implicit(System.Single) | [NonVersionableAttribute(...)] | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.op_Implicit(System.UInt16) | [NonVersionableAttribute(...)] | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.op_Implicit(System.UInt32) | [NonVersionableAttribute(...)] | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.op_Implicit(System.UInt64) | [NonVersionableAttribute(...)] | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.op_Implicit(System.UIntPtr) | [NonVersionableAttribute(...)] | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.op_Increment(System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.op_Modulus(System.Runtime.InteropServices.NFloat,System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.op_Multiply(System.Runtime.InteropServices.NFloat,System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.op_Subtraction(System.Runtime.InteropServices.NFloat,System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.op_UnaryNegation(System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.op_UnaryPlus(System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.Runtime.InteropServices.OSPlatform | [IsReadOnlyAttribute(...)] | -| System.Runtime.InteropServices.OSPlatform System.Runtime.InteropServices.OSPlatform.get_FreeBSD() | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.OSPlatform System.Runtime.InteropServices.OSPlatform.get_Linux() | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.OSPlatform System.Runtime.InteropServices.OSPlatform.get_OSX() | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.OSPlatform System.Runtime.InteropServices.OSPlatform.get_Windows() | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.OSPlatform.<FreeBSD>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.OSPlatform.<Linux>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.OSPlatform.<Name>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.OSPlatform.<OSX>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.OSPlatform.<Windows>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.PosixSignal System.Runtime.InteropServices.PosixSignalContext.get_Signal() | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.PosixSignal System.Runtime.InteropServices.PosixSignalRegistration.Token.get_Signal() | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.PosixSignalContext.<Cancel>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.PosixSignalContext.<Signal>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.PosixSignalRegistration.<>O | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.PosixSignalRegistration.Token.<Handler>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.PosixSignalRegistration.Token.<SigNo>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.PosixSignalRegistration.Token.<Signal>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.ProgIdAttribute.<Value>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.StringMarshalling System.Runtime.InteropServices.LibraryImportAttribute.get_StringMarshalling() | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.StructLayoutAttribute.<Value>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.TypeIdentifierAttribute.<Identifier>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.TypeIdentifierAttribute.<Scope>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.UnknownWrapper.<WrappedObject>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute.<CallingConvention>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.UnmanagedType System.Runtime.InteropServices.MarshalAsAttribute.get_Value() | [CompilerGeneratedAttribute(...)] | -| System.Runtime.InteropServices.VariantWrapper.<WrappedObject>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.Intrinsics.Vector64 | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> | [IsReadOnlyAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.Abs`1(System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.Add`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.AndNot`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.BitwiseAnd`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.BitwiseOr`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.ConditionalSelect`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.CreateScalarUnsafe`1(!0) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.CreateScalar`1(!0) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.Create`1(!0) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.Divide`1(System.Runtime.Intrinsics.Vector64<!0>,!0) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.Divide`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.Equals`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.GreaterThanOrEqual`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.GreaterThan`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.LessThanOrEqual`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.LessThan`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.LoadAlignedNonTemporal`1(!0*) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.LoadAligned`1(!0*) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.LoadUnsafe`1(!0) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.LoadUnsafe`1(!0,System.UIntPtr) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.Load`1(!0*) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.Max`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.Min`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.Multiply`1(!0,System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.Multiply`1(System.Runtime.Intrinsics.Vector64<!0>,!0) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.Multiply`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.Negate`1(System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.OnesComplement`1(System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.Sqrt`1(System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.Subtract`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.WithElement`1(System.Runtime.Intrinsics.Vector64<!0>,System.Int32,!0) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.WithElement`1(System.Runtime.Intrinsics.Vector64<!0>,System.Int32,!0) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.Xor`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64`1.get_AllBitsSet() | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64`1.get_One() | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64`1.get_Zero() | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64`1.op_Addition(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64`1.op_BitwiseAnd(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64`1.op_BitwiseOr(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64`1.op_Division(System.Runtime.Intrinsics.Vector64<!0>,!0) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64`1.op_Division(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64`1.op_ExclusiveOr(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64`1.op_LeftShift(System.Runtime.Intrinsics.Vector64<!0>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64`1.op_Multiply(!0,System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64`1.op_Multiply(System.Runtime.Intrinsics.Vector64<!0>,!0) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64`1.op_Multiply(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64`1.op_OnesComplement(System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64`1.op_RightShift(System.Runtime.Intrinsics.Vector64<!0>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64`1.op_Subtraction(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64`1.op_UnaryNegation(System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64`1.op_UnaryPlus(System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64`1.op_UnsignedRightShift(System.Runtime.Intrinsics.Vector64<!0>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector128.GetLower`1(System.Runtime.Intrinsics.Vector128<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector128.GetLower`1(System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector128.GetUpper`1(System.Runtime.Intrinsics.Vector128<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector128.GetUpper`1(System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!1> System.Runtime.Intrinsics.Vector64.As`2(System.Runtime.Intrinsics.Vector64<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<!1> System.Runtime.Intrinsics.Vector64.As`2(System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Byte> System.Runtime.Intrinsics.Vector64.AsByte`1(System.Runtime.Intrinsics.Vector64<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Byte> System.Runtime.Intrinsics.Vector64.AsByte`1(System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Byte> System.Runtime.Intrinsics.Vector64.Create(System.Byte) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Byte> System.Runtime.Intrinsics.Vector64.Create(System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Byte> System.Runtime.Intrinsics.Vector64.CreateScalar(System.Byte) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Byte> System.Runtime.Intrinsics.Vector64.CreateScalarUnsafe(System.Byte) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Byte> System.Runtime.Intrinsics.Vector64.Narrow(System.Runtime.Intrinsics.Vector64<System.UInt16>,System.Runtime.Intrinsics.Vector64<System.UInt16>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Byte> System.Runtime.Intrinsics.Vector64.ShiftLeft(System.Runtime.Intrinsics.Vector64<System.Byte>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Byte> System.Runtime.Intrinsics.Vector64.ShiftRightLogical(System.Runtime.Intrinsics.Vector64<System.Byte>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Byte> System.Runtime.Intrinsics.Vector64.Shuffle(System.Runtime.Intrinsics.Vector64<System.Byte>,System.Runtime.Intrinsics.Vector64<System.Byte>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Double> System.Runtime.Intrinsics.Vector64.AsDouble`1(System.Runtime.Intrinsics.Vector64<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Double> System.Runtime.Intrinsics.Vector64.AsDouble`1(System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Double> System.Runtime.Intrinsics.Vector64.Ceiling(System.Runtime.Intrinsics.Vector64<System.Double>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Double> System.Runtime.Intrinsics.Vector64.ConvertToDouble(System.Runtime.Intrinsics.Vector64<System.Int64>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Double> System.Runtime.Intrinsics.Vector64.ConvertToDouble(System.Runtime.Intrinsics.Vector64<System.UInt64>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Double> System.Runtime.Intrinsics.Vector64.Create(System.Double) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Double> System.Runtime.Intrinsics.Vector64.CreateScalar(System.Double) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Double> System.Runtime.Intrinsics.Vector64.CreateScalarUnsafe(System.Double) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Double> System.Runtime.Intrinsics.Vector64.Floor(System.Runtime.Intrinsics.Vector64<System.Double>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Double> System.Runtime.Intrinsics.Vector64.WidenLower(System.Runtime.Intrinsics.Vector64<System.Single>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Double> System.Runtime.Intrinsics.Vector64.WidenUpper(System.Runtime.Intrinsics.Vector64<System.Single>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Int16> System.Runtime.Intrinsics.Vector64.AsInt16`1(System.Runtime.Intrinsics.Vector64<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Int16> System.Runtime.Intrinsics.Vector64.AsInt16`1(System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Int16> System.Runtime.Intrinsics.Vector64.Create(System.Int16) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Int16> System.Runtime.Intrinsics.Vector64.Create(System.Int16,System.Int16,System.Int16,System.Int16) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Int16> System.Runtime.Intrinsics.Vector64.CreateScalar(System.Int16) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Int16> System.Runtime.Intrinsics.Vector64.CreateScalarUnsafe(System.Int16) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Int16> System.Runtime.Intrinsics.Vector64.Narrow(System.Runtime.Intrinsics.Vector64<System.Int32>,System.Runtime.Intrinsics.Vector64<System.Int32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Int16> System.Runtime.Intrinsics.Vector64.ShiftLeft(System.Runtime.Intrinsics.Vector64<System.Int16>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Int16> System.Runtime.Intrinsics.Vector64.ShiftRightArithmetic(System.Runtime.Intrinsics.Vector64<System.Int16>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Int16> System.Runtime.Intrinsics.Vector64.ShiftRightLogical(System.Runtime.Intrinsics.Vector64<System.Int16>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Int16> System.Runtime.Intrinsics.Vector64.Shuffle(System.Runtime.Intrinsics.Vector64<System.Int16>,System.Runtime.Intrinsics.Vector64<System.Int16>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Int16> System.Runtime.Intrinsics.Vector64.WidenLower(System.Runtime.Intrinsics.Vector64<System.SByte>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Int16> System.Runtime.Intrinsics.Vector64.WidenUpper(System.Runtime.Intrinsics.Vector64<System.SByte>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Int32> System.Runtime.Intrinsics.Vector64.AsInt32`1(System.Runtime.Intrinsics.Vector64<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Int32> System.Runtime.Intrinsics.Vector64.AsInt32`1(System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Int32> System.Runtime.Intrinsics.Vector64.ConvertToInt32(System.Runtime.Intrinsics.Vector64<System.Single>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Int32> System.Runtime.Intrinsics.Vector64.Create(System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Int32> System.Runtime.Intrinsics.Vector64.Create(System.Int32,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Int32> System.Runtime.Intrinsics.Vector64.CreateScalar(System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Int32> System.Runtime.Intrinsics.Vector64.CreateScalarUnsafe(System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Int32> System.Runtime.Intrinsics.Vector64.Narrow(System.Runtime.Intrinsics.Vector64<System.Int64>,System.Runtime.Intrinsics.Vector64<System.Int64>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Int32> System.Runtime.Intrinsics.Vector64.ShiftLeft(System.Runtime.Intrinsics.Vector64<System.Int32>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Int32> System.Runtime.Intrinsics.Vector64.ShiftRightArithmetic(System.Runtime.Intrinsics.Vector64<System.Int32>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Int32> System.Runtime.Intrinsics.Vector64.ShiftRightLogical(System.Runtime.Intrinsics.Vector64<System.Int32>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Int32> System.Runtime.Intrinsics.Vector64.Shuffle(System.Runtime.Intrinsics.Vector64<System.Int32>,System.Runtime.Intrinsics.Vector64<System.Int32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Int32> System.Runtime.Intrinsics.Vector64.WidenLower(System.Runtime.Intrinsics.Vector64<System.Int16>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Int32> System.Runtime.Intrinsics.Vector64.WidenUpper(System.Runtime.Intrinsics.Vector64<System.Int16>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Int64> System.Runtime.Intrinsics.Vector64.AsInt64`1(System.Runtime.Intrinsics.Vector64<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Int64> System.Runtime.Intrinsics.Vector64.AsInt64`1(System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Int64> System.Runtime.Intrinsics.Vector64.ConvertToInt64(System.Runtime.Intrinsics.Vector64<System.Double>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Int64> System.Runtime.Intrinsics.Vector64.Create(System.Int64) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Int64> System.Runtime.Intrinsics.Vector64.CreateScalar(System.Int64) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Int64> System.Runtime.Intrinsics.Vector64.CreateScalarUnsafe(System.Int64) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Int64> System.Runtime.Intrinsics.Vector64.ShiftLeft(System.Runtime.Intrinsics.Vector64<System.Int64>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Int64> System.Runtime.Intrinsics.Vector64.ShiftRightArithmetic(System.Runtime.Intrinsics.Vector64<System.Int64>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Int64> System.Runtime.Intrinsics.Vector64.ShiftRightLogical(System.Runtime.Intrinsics.Vector64<System.Int64>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Int64> System.Runtime.Intrinsics.Vector64.WidenLower(System.Runtime.Intrinsics.Vector64<System.Int32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Int64> System.Runtime.Intrinsics.Vector64.WidenUpper(System.Runtime.Intrinsics.Vector64<System.Int32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.IntPtr> System.Runtime.Intrinsics.Vector64.AsNInt`1(System.Runtime.Intrinsics.Vector64<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.IntPtr> System.Runtime.Intrinsics.Vector64.AsNInt`1(System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.IntPtr> System.Runtime.Intrinsics.Vector64.Create(System.IntPtr) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.IntPtr> System.Runtime.Intrinsics.Vector64.CreateScalar(System.IntPtr) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.IntPtr> System.Runtime.Intrinsics.Vector64.CreateScalarUnsafe(System.IntPtr) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.IntPtr> System.Runtime.Intrinsics.Vector64.ShiftLeft(System.Runtime.Intrinsics.Vector64<System.IntPtr>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.IntPtr> System.Runtime.Intrinsics.Vector64.ShiftRightArithmetic(System.Runtime.Intrinsics.Vector64<System.IntPtr>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.IntPtr> System.Runtime.Intrinsics.Vector64.ShiftRightLogical(System.Runtime.Intrinsics.Vector64<System.IntPtr>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.SByte> System.Runtime.Intrinsics.Vector64.AsSByte`1(System.Runtime.Intrinsics.Vector64<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.SByte> System.Runtime.Intrinsics.Vector64.AsSByte`1(System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.SByte> System.Runtime.Intrinsics.Vector64.Create(System.SByte) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.SByte> System.Runtime.Intrinsics.Vector64.Create(System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.SByte> System.Runtime.Intrinsics.Vector64.CreateScalar(System.SByte) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.SByte> System.Runtime.Intrinsics.Vector64.CreateScalarUnsafe(System.SByte) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.SByte> System.Runtime.Intrinsics.Vector64.Narrow(System.Runtime.Intrinsics.Vector64<System.Int16>,System.Runtime.Intrinsics.Vector64<System.Int16>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.SByte> System.Runtime.Intrinsics.Vector64.ShiftLeft(System.Runtime.Intrinsics.Vector64<System.SByte>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.SByte> System.Runtime.Intrinsics.Vector64.ShiftRightArithmetic(System.Runtime.Intrinsics.Vector64<System.SByte>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.SByte> System.Runtime.Intrinsics.Vector64.ShiftRightLogical(System.Runtime.Intrinsics.Vector64<System.SByte>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.SByte> System.Runtime.Intrinsics.Vector64.Shuffle(System.Runtime.Intrinsics.Vector64<System.SByte>,System.Runtime.Intrinsics.Vector64<System.SByte>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Single> System.Runtime.Intrinsics.Vector64.AsSingle`1(System.Runtime.Intrinsics.Vector64<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Single> System.Runtime.Intrinsics.Vector64.AsSingle`1(System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Single> System.Runtime.Intrinsics.Vector64.Ceiling(System.Runtime.Intrinsics.Vector64<System.Single>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Single> System.Runtime.Intrinsics.Vector64.ConvertToSingle(System.Runtime.Intrinsics.Vector64<System.Int32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Single> System.Runtime.Intrinsics.Vector64.ConvertToSingle(System.Runtime.Intrinsics.Vector64<System.UInt32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Single> System.Runtime.Intrinsics.Vector64.Create(System.Single) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Single> System.Runtime.Intrinsics.Vector64.Create(System.Single,System.Single) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Single> System.Runtime.Intrinsics.Vector64.CreateScalar(System.Single) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Single> System.Runtime.Intrinsics.Vector64.CreateScalarUnsafe(System.Single) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Single> System.Runtime.Intrinsics.Vector64.Floor(System.Runtime.Intrinsics.Vector64<System.Single>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Single> System.Runtime.Intrinsics.Vector64.Narrow(System.Runtime.Intrinsics.Vector64<System.Double>,System.Runtime.Intrinsics.Vector64<System.Double>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.Single> System.Runtime.Intrinsics.Vector64.Shuffle(System.Runtime.Intrinsics.Vector64<System.Single>,System.Runtime.Intrinsics.Vector64<System.Int32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UInt16> System.Runtime.Intrinsics.Vector64.AsUInt16`1(System.Runtime.Intrinsics.Vector64<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UInt16> System.Runtime.Intrinsics.Vector64.AsUInt16`1(System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UInt16> System.Runtime.Intrinsics.Vector64.Create(System.UInt16) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UInt16> System.Runtime.Intrinsics.Vector64.Create(System.UInt16,System.UInt16,System.UInt16,System.UInt16) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UInt16> System.Runtime.Intrinsics.Vector64.CreateScalar(System.UInt16) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UInt16> System.Runtime.Intrinsics.Vector64.CreateScalarUnsafe(System.UInt16) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UInt16> System.Runtime.Intrinsics.Vector64.Narrow(System.Runtime.Intrinsics.Vector64<System.UInt32>,System.Runtime.Intrinsics.Vector64<System.UInt32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UInt16> System.Runtime.Intrinsics.Vector64.ShiftLeft(System.Runtime.Intrinsics.Vector64<System.UInt16>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UInt16> System.Runtime.Intrinsics.Vector64.ShiftRightLogical(System.Runtime.Intrinsics.Vector64<System.UInt16>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UInt16> System.Runtime.Intrinsics.Vector64.Shuffle(System.Runtime.Intrinsics.Vector64<System.UInt16>,System.Runtime.Intrinsics.Vector64<System.UInt16>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UInt16> System.Runtime.Intrinsics.Vector64.WidenLower(System.Runtime.Intrinsics.Vector64<System.Byte>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UInt16> System.Runtime.Intrinsics.Vector64.WidenUpper(System.Runtime.Intrinsics.Vector64<System.Byte>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UInt32> System.Runtime.Intrinsics.Vector64.AsUInt32`1(System.Runtime.Intrinsics.Vector64<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UInt32> System.Runtime.Intrinsics.Vector64.AsUInt32`1(System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UInt32> System.Runtime.Intrinsics.Vector64.ConvertToUInt32(System.Runtime.Intrinsics.Vector64<System.Single>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UInt32> System.Runtime.Intrinsics.Vector64.Create(System.UInt32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UInt32> System.Runtime.Intrinsics.Vector64.Create(System.UInt32,System.UInt32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UInt32> System.Runtime.Intrinsics.Vector64.CreateScalar(System.UInt32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UInt32> System.Runtime.Intrinsics.Vector64.CreateScalarUnsafe(System.UInt32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UInt32> System.Runtime.Intrinsics.Vector64.Narrow(System.Runtime.Intrinsics.Vector64<System.UInt64>,System.Runtime.Intrinsics.Vector64<System.UInt64>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UInt32> System.Runtime.Intrinsics.Vector64.ShiftLeft(System.Runtime.Intrinsics.Vector64<System.UInt32>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UInt32> System.Runtime.Intrinsics.Vector64.ShiftRightLogical(System.Runtime.Intrinsics.Vector64<System.UInt32>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UInt32> System.Runtime.Intrinsics.Vector64.Shuffle(System.Runtime.Intrinsics.Vector64<System.UInt32>,System.Runtime.Intrinsics.Vector64<System.UInt32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UInt32> System.Runtime.Intrinsics.Vector64.WidenLower(System.Runtime.Intrinsics.Vector64<System.UInt16>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UInt32> System.Runtime.Intrinsics.Vector64.WidenUpper(System.Runtime.Intrinsics.Vector64<System.UInt16>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UInt64> System.Runtime.Intrinsics.Vector64.AsUInt64`1(System.Runtime.Intrinsics.Vector64<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UInt64> System.Runtime.Intrinsics.Vector64.AsUInt64`1(System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UInt64> System.Runtime.Intrinsics.Vector64.ConvertToUInt64(System.Runtime.Intrinsics.Vector64<System.Double>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UInt64> System.Runtime.Intrinsics.Vector64.Create(System.UInt64) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UInt64> System.Runtime.Intrinsics.Vector64.CreateScalar(System.UInt64) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UInt64> System.Runtime.Intrinsics.Vector64.CreateScalarUnsafe(System.UInt64) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UInt64> System.Runtime.Intrinsics.Vector64.ShiftLeft(System.Runtime.Intrinsics.Vector64<System.UInt64>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UInt64> System.Runtime.Intrinsics.Vector64.ShiftRightLogical(System.Runtime.Intrinsics.Vector64<System.UInt64>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UInt64> System.Runtime.Intrinsics.Vector64.WidenLower(System.Runtime.Intrinsics.Vector64<System.UInt32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UInt64> System.Runtime.Intrinsics.Vector64.WidenUpper(System.Runtime.Intrinsics.Vector64<System.UInt32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UIntPtr> System.Runtime.Intrinsics.Vector64.AsNUInt`1(System.Runtime.Intrinsics.Vector64<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UIntPtr> System.Runtime.Intrinsics.Vector64.AsNUInt`1(System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UIntPtr> System.Runtime.Intrinsics.Vector64.Create(System.UIntPtr) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UIntPtr> System.Runtime.Intrinsics.Vector64.CreateScalar(System.UIntPtr) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UIntPtr> System.Runtime.Intrinsics.Vector64.CreateScalarUnsafe(System.UIntPtr) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UIntPtr> System.Runtime.Intrinsics.Vector64.ShiftLeft(System.Runtime.Intrinsics.Vector64<System.UIntPtr>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64<System.UIntPtr> System.Runtime.Intrinsics.Vector64.ShiftRightLogical(System.Runtime.Intrinsics.Vector64<System.UIntPtr>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64DebugView`1 | [IsReadOnlyAttribute(...)] | -| System.Runtime.Intrinsics.Vector64`1 | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector64`1 | [IsReadOnlyAttribute(...)] | -| System.Runtime.Intrinsics.Vector128 | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> | [IsReadOnlyAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector64.ToVector128Unsafe`1(System.Runtime.Intrinsics.Vector64<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector64.ToVector128Unsafe`1(System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector64.ToVector128`1(System.Runtime.Intrinsics.Vector64<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector64.ToVector128`1(System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.Abs`1(System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.Add`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.AndNot`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.AsVector128`1(System.Numerics.Vector<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.AsVector128`1(System.Numerics.Vector<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.BitwiseAnd`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.BitwiseOr`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.ConditionalSelect`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.CreateScalarUnsafe`1(!0) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.CreateScalar`1(!0) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.Create`1(!0) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.Divide`1(System.Runtime.Intrinsics.Vector128<!0>,!0) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.Divide`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.Equals`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.GreaterThanOrEqual`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.GreaterThan`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.LessThanOrEqual`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.LessThan`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.LoadAlignedNonTemporal`1(!0*) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.LoadAligned`1(!0*) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.LoadUnsafe`1(!0) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.LoadUnsafe`1(!0,System.UIntPtr) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.Load`1(!0*) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.Max`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.Min`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.Multiply`1(!0,System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.Multiply`1(System.Runtime.Intrinsics.Vector128<!0>,!0) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.Multiply`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.Negate`1(System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.OnesComplement`1(System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.Sqrt`1(System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.Subtract`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.WithElement`1(System.Runtime.Intrinsics.Vector128<!0>,System.Int32,!0) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.WithElement`1(System.Runtime.Intrinsics.Vector128<!0>,System.Int32,!0) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.WithLower`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.WithLower`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.WithUpper`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.WithUpper`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.Xor`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128`1.get_AllBitsSet() | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128`1.get_One() | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128`1.get_Zero() | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128`1.op_Addition(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128`1.op_BitwiseAnd(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128`1.op_BitwiseOr(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128`1.op_Division(System.Runtime.Intrinsics.Vector128<!0>,!0) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128`1.op_Division(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128`1.op_ExclusiveOr(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128`1.op_LeftShift(System.Runtime.Intrinsics.Vector128<!0>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128`1.op_Multiply(!0,System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128`1.op_Multiply(System.Runtime.Intrinsics.Vector128<!0>,!0) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128`1.op_Multiply(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128`1.op_OnesComplement(System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128`1.op_RightShift(System.Runtime.Intrinsics.Vector128<!0>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128`1.op_Subtraction(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128`1.op_UnaryNegation(System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128`1.op_UnaryPlus(System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128`1.op_UnsignedRightShift(System.Runtime.Intrinsics.Vector128<!0>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector256.GetLower`1(System.Runtime.Intrinsics.Vector256<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector256.GetLower`1(System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector256.GetUpper`1(System.Runtime.Intrinsics.Vector256<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector256.GetUpper`1(System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!1> System.Runtime.Intrinsics.Vector128.As`2(System.Runtime.Intrinsics.Vector128<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<!1> System.Runtime.Intrinsics.Vector128.As`2(System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Runtime.Intrinsics.Vector128.AsByte`1(System.Runtime.Intrinsics.Vector128<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Runtime.Intrinsics.Vector128.AsByte`1(System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Runtime.Intrinsics.Vector128.Create(System.Byte) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Runtime.Intrinsics.Vector128.Create(System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Runtime.Intrinsics.Vector128.CreateScalar(System.Byte) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Runtime.Intrinsics.Vector128.CreateScalarUnsafe(System.Byte) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Runtime.Intrinsics.Vector128.Narrow(System.Runtime.Intrinsics.Vector128<System.UInt16>,System.Runtime.Intrinsics.Vector128<System.UInt16>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Runtime.Intrinsics.Vector128.ShiftLeft(System.Runtime.Intrinsics.Vector128<System.Byte>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Runtime.Intrinsics.Vector128.ShiftRightLogical(System.Runtime.Intrinsics.Vector128<System.Byte>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Runtime.Intrinsics.Vector128.Shuffle(System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Double> System.Runtime.Intrinsics.Vector128.AsDouble`1(System.Runtime.Intrinsics.Vector128<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Double> System.Runtime.Intrinsics.Vector128.AsDouble`1(System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Double> System.Runtime.Intrinsics.Vector128.Ceiling(System.Runtime.Intrinsics.Vector128<System.Double>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Double> System.Runtime.Intrinsics.Vector128.ConvertToDouble(System.Runtime.Intrinsics.Vector128<System.Int64>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Double> System.Runtime.Intrinsics.Vector128.ConvertToDouble(System.Runtime.Intrinsics.Vector128<System.UInt64>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Double> System.Runtime.Intrinsics.Vector128.Create(System.Double) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Double> System.Runtime.Intrinsics.Vector128.Create(System.Double,System.Double) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Double> System.Runtime.Intrinsics.Vector128.CreateScalar(System.Double) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Double> System.Runtime.Intrinsics.Vector128.CreateScalarUnsafe(System.Double) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Double> System.Runtime.Intrinsics.Vector128.Floor(System.Runtime.Intrinsics.Vector128<System.Double>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Double> System.Runtime.Intrinsics.Vector128.Shuffle(System.Runtime.Intrinsics.Vector128<System.Double>,System.Runtime.Intrinsics.Vector128<System.Int64>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Double> System.Runtime.Intrinsics.Vector128.WidenLower(System.Runtime.Intrinsics.Vector128<System.Single>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Double> System.Runtime.Intrinsics.Vector128.WidenUpper(System.Runtime.Intrinsics.Vector128<System.Single>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Int16> System.Runtime.Intrinsics.Vector128.AsInt16`1(System.Runtime.Intrinsics.Vector128<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Int16> System.Runtime.Intrinsics.Vector128.AsInt16`1(System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Int16> System.Runtime.Intrinsics.Vector128.Create(System.Int16) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Int16> System.Runtime.Intrinsics.Vector128.Create(System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Int16> System.Runtime.Intrinsics.Vector128.CreateScalar(System.Int16) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Int16> System.Runtime.Intrinsics.Vector128.CreateScalarUnsafe(System.Int16) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Int16> System.Runtime.Intrinsics.Vector128.Narrow(System.Runtime.Intrinsics.Vector128<System.Int32>,System.Runtime.Intrinsics.Vector128<System.Int32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Int16> System.Runtime.Intrinsics.Vector128.ShiftLeft(System.Runtime.Intrinsics.Vector128<System.Int16>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Int16> System.Runtime.Intrinsics.Vector128.ShiftRightArithmetic(System.Runtime.Intrinsics.Vector128<System.Int16>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Int16> System.Runtime.Intrinsics.Vector128.ShiftRightLogical(System.Runtime.Intrinsics.Vector128<System.Int16>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Int16> System.Runtime.Intrinsics.Vector128.Shuffle(System.Runtime.Intrinsics.Vector128<System.Int16>,System.Runtime.Intrinsics.Vector128<System.Int16>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Int16> System.Runtime.Intrinsics.Vector128.WidenLower(System.Runtime.Intrinsics.Vector128<System.SByte>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Int16> System.Runtime.Intrinsics.Vector128.WidenUpper(System.Runtime.Intrinsics.Vector128<System.SByte>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Int32> System.Runtime.Intrinsics.Vector128.AsInt32`1(System.Runtime.Intrinsics.Vector128<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Int32> System.Runtime.Intrinsics.Vector128.AsInt32`1(System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Int32> System.Runtime.Intrinsics.Vector128.ConvertToInt32(System.Runtime.Intrinsics.Vector128<System.Single>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Int32> System.Runtime.Intrinsics.Vector128.Create(System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Int32> System.Runtime.Intrinsics.Vector128.Create(System.Int32,System.Int32,System.Int32,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Int32> System.Runtime.Intrinsics.Vector128.CreateScalar(System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Int32> System.Runtime.Intrinsics.Vector128.CreateScalarUnsafe(System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Int32> System.Runtime.Intrinsics.Vector128.Narrow(System.Runtime.Intrinsics.Vector128<System.Int64>,System.Runtime.Intrinsics.Vector128<System.Int64>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Int32> System.Runtime.Intrinsics.Vector128.ShiftLeft(System.Runtime.Intrinsics.Vector128<System.Int32>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Int32> System.Runtime.Intrinsics.Vector128.ShiftRightArithmetic(System.Runtime.Intrinsics.Vector128<System.Int32>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Int32> System.Runtime.Intrinsics.Vector128.ShiftRightLogical(System.Runtime.Intrinsics.Vector128<System.Int32>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Int32> System.Runtime.Intrinsics.Vector128.Shuffle(System.Runtime.Intrinsics.Vector128<System.Int32>,System.Runtime.Intrinsics.Vector128<System.Int32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Int32> System.Runtime.Intrinsics.Vector128.WidenLower(System.Runtime.Intrinsics.Vector128<System.Int16>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Int32> System.Runtime.Intrinsics.Vector128.WidenUpper(System.Runtime.Intrinsics.Vector128<System.Int16>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Int64> System.Runtime.Intrinsics.Vector128.AsInt64`1(System.Runtime.Intrinsics.Vector128<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Int64> System.Runtime.Intrinsics.Vector128.AsInt64`1(System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Int64> System.Runtime.Intrinsics.Vector128.ConvertToInt64(System.Runtime.Intrinsics.Vector128<System.Double>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Int64> System.Runtime.Intrinsics.Vector128.Create(System.Int64) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Int64> System.Runtime.Intrinsics.Vector128.Create(System.Int64,System.Int64) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Int64> System.Runtime.Intrinsics.Vector128.CreateScalar(System.Int64) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Int64> System.Runtime.Intrinsics.Vector128.CreateScalarUnsafe(System.Int64) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Int64> System.Runtime.Intrinsics.Vector128.ShiftLeft(System.Runtime.Intrinsics.Vector128<System.Int64>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Int64> System.Runtime.Intrinsics.Vector128.ShiftRightArithmetic(System.Runtime.Intrinsics.Vector128<System.Int64>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Int64> System.Runtime.Intrinsics.Vector128.ShiftRightLogical(System.Runtime.Intrinsics.Vector128<System.Int64>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Int64> System.Runtime.Intrinsics.Vector128.Shuffle(System.Runtime.Intrinsics.Vector128<System.Int64>,System.Runtime.Intrinsics.Vector128<System.Int64>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Int64> System.Runtime.Intrinsics.Vector128.WidenLower(System.Runtime.Intrinsics.Vector128<System.Int32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Int64> System.Runtime.Intrinsics.Vector128.WidenUpper(System.Runtime.Intrinsics.Vector128<System.Int32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.IntPtr> System.Runtime.Intrinsics.Vector128.AsNInt`1(System.Runtime.Intrinsics.Vector128<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.IntPtr> System.Runtime.Intrinsics.Vector128.AsNInt`1(System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.IntPtr> System.Runtime.Intrinsics.Vector128.Create(System.IntPtr) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.IntPtr> System.Runtime.Intrinsics.Vector128.CreateScalar(System.IntPtr) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.IntPtr> System.Runtime.Intrinsics.Vector128.CreateScalarUnsafe(System.IntPtr) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.IntPtr> System.Runtime.Intrinsics.Vector128.ShiftLeft(System.Runtime.Intrinsics.Vector128<System.IntPtr>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.IntPtr> System.Runtime.Intrinsics.Vector128.ShiftRightArithmetic(System.Runtime.Intrinsics.Vector128<System.IntPtr>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.IntPtr> System.Runtime.Intrinsics.Vector128.ShiftRightLogical(System.Runtime.Intrinsics.Vector128<System.IntPtr>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.SByte> System.Runtime.Intrinsics.Vector128.AsSByte`1(System.Runtime.Intrinsics.Vector128<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.SByte> System.Runtime.Intrinsics.Vector128.AsSByte`1(System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.SByte> System.Runtime.Intrinsics.Vector128.Create(System.SByte) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.SByte> System.Runtime.Intrinsics.Vector128.Create(System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.SByte> System.Runtime.Intrinsics.Vector128.CreateScalar(System.SByte) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.SByte> System.Runtime.Intrinsics.Vector128.CreateScalarUnsafe(System.SByte) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.SByte> System.Runtime.Intrinsics.Vector128.Narrow(System.Runtime.Intrinsics.Vector128<System.Int16>,System.Runtime.Intrinsics.Vector128<System.Int16>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.SByte> System.Runtime.Intrinsics.Vector128.ShiftLeft(System.Runtime.Intrinsics.Vector128<System.SByte>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.SByte> System.Runtime.Intrinsics.Vector128.ShiftRightArithmetic(System.Runtime.Intrinsics.Vector128<System.SByte>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.SByte> System.Runtime.Intrinsics.Vector128.ShiftRightLogical(System.Runtime.Intrinsics.Vector128<System.SByte>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.SByte> System.Runtime.Intrinsics.Vector128.Shuffle(System.Runtime.Intrinsics.Vector128<System.SByte>,System.Runtime.Intrinsics.Vector128<System.SByte>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Single> System.Numerics.Matrix4x4.Impl.<Invert>g__Permute\|64_1(System.Runtime.Intrinsics.Vector128<System.Single>,System.Byte) | [CompilerGeneratedAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Single> System.Runtime.Intrinsics.Vector128.<ConvertToSingle>g__SoftwareFallback\|40_0(System.Runtime.Intrinsics.Vector128<System.UInt32>) | [CompilerGeneratedAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Single> System.Runtime.Intrinsics.Vector128.AsSingle`1(System.Runtime.Intrinsics.Vector128<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Single> System.Runtime.Intrinsics.Vector128.AsSingle`1(System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Single> System.Runtime.Intrinsics.Vector128.AsVector128(System.Numerics.Plane) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Single> System.Runtime.Intrinsics.Vector128.AsVector128(System.Numerics.Plane) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Single> System.Runtime.Intrinsics.Vector128.AsVector128(System.Numerics.Quaternion) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Single> System.Runtime.Intrinsics.Vector128.AsVector128(System.Numerics.Quaternion) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Single> System.Runtime.Intrinsics.Vector128.AsVector128(System.Numerics.Vector2) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Single> System.Runtime.Intrinsics.Vector128.AsVector128(System.Numerics.Vector2) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Single> System.Runtime.Intrinsics.Vector128.AsVector128(System.Numerics.Vector3) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Single> System.Runtime.Intrinsics.Vector128.AsVector128(System.Numerics.Vector3) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Single> System.Runtime.Intrinsics.Vector128.AsVector128(System.Numerics.Vector4) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Single> System.Runtime.Intrinsics.Vector128.AsVector128(System.Numerics.Vector4) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Single> System.Runtime.Intrinsics.Vector128.Ceiling(System.Runtime.Intrinsics.Vector128<System.Single>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Single> System.Runtime.Intrinsics.Vector128.ConvertToSingle(System.Runtime.Intrinsics.Vector128<System.Int32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Single> System.Runtime.Intrinsics.Vector128.ConvertToSingle(System.Runtime.Intrinsics.Vector128<System.UInt32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Single> System.Runtime.Intrinsics.Vector128.Create(System.Single) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Single> System.Runtime.Intrinsics.Vector128.Create(System.Single,System.Single,System.Single,System.Single) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Single> System.Runtime.Intrinsics.Vector128.CreateScalar(System.Single) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Single> System.Runtime.Intrinsics.Vector128.CreateScalarUnsafe(System.Single) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Single> System.Runtime.Intrinsics.Vector128.Floor(System.Runtime.Intrinsics.Vector128<System.Single>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Single> System.Runtime.Intrinsics.Vector128.Narrow(System.Runtime.Intrinsics.Vector128<System.Double>,System.Runtime.Intrinsics.Vector128<System.Double>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.Single> System.Runtime.Intrinsics.Vector128.Shuffle(System.Runtime.Intrinsics.Vector128<System.Single>,System.Runtime.Intrinsics.Vector128<System.Int32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UInt16> System.Runtime.Intrinsics.Vector128.AsUInt16`1(System.Runtime.Intrinsics.Vector128<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UInt16> System.Runtime.Intrinsics.Vector128.AsUInt16`1(System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UInt16> System.Runtime.Intrinsics.Vector128.Create(System.UInt16) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UInt16> System.Runtime.Intrinsics.Vector128.Create(System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UInt16> System.Runtime.Intrinsics.Vector128.CreateScalar(System.UInt16) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UInt16> System.Runtime.Intrinsics.Vector128.CreateScalarUnsafe(System.UInt16) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UInt16> System.Runtime.Intrinsics.Vector128.Narrow(System.Runtime.Intrinsics.Vector128<System.UInt32>,System.Runtime.Intrinsics.Vector128<System.UInt32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UInt16> System.Runtime.Intrinsics.Vector128.ShiftLeft(System.Runtime.Intrinsics.Vector128<System.UInt16>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UInt16> System.Runtime.Intrinsics.Vector128.ShiftRightLogical(System.Runtime.Intrinsics.Vector128<System.UInt16>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UInt16> System.Runtime.Intrinsics.Vector128.Shuffle(System.Runtime.Intrinsics.Vector128<System.UInt16>,System.Runtime.Intrinsics.Vector128<System.UInt16>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UInt16> System.Runtime.Intrinsics.Vector128.WidenLower(System.Runtime.Intrinsics.Vector128<System.Byte>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UInt16> System.Runtime.Intrinsics.Vector128.WidenUpper(System.Runtime.Intrinsics.Vector128<System.Byte>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UInt32> System.Runtime.Intrinsics.Vector128.AsUInt32`1(System.Runtime.Intrinsics.Vector128<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UInt32> System.Runtime.Intrinsics.Vector128.AsUInt32`1(System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UInt32> System.Runtime.Intrinsics.Vector128.ConvertToUInt32(System.Runtime.Intrinsics.Vector128<System.Single>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UInt32> System.Runtime.Intrinsics.Vector128.Create(System.UInt32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UInt32> System.Runtime.Intrinsics.Vector128.Create(System.UInt32,System.UInt32,System.UInt32,System.UInt32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UInt32> System.Runtime.Intrinsics.Vector128.CreateScalar(System.UInt32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UInt32> System.Runtime.Intrinsics.Vector128.CreateScalarUnsafe(System.UInt32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UInt32> System.Runtime.Intrinsics.Vector128.Narrow(System.Runtime.Intrinsics.Vector128<System.UInt64>,System.Runtime.Intrinsics.Vector128<System.UInt64>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UInt32> System.Runtime.Intrinsics.Vector128.ShiftLeft(System.Runtime.Intrinsics.Vector128<System.UInt32>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UInt32> System.Runtime.Intrinsics.Vector128.ShiftRightLogical(System.Runtime.Intrinsics.Vector128<System.UInt32>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UInt32> System.Runtime.Intrinsics.Vector128.Shuffle(System.Runtime.Intrinsics.Vector128<System.UInt32>,System.Runtime.Intrinsics.Vector128<System.UInt32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UInt32> System.Runtime.Intrinsics.Vector128.WidenLower(System.Runtime.Intrinsics.Vector128<System.UInt16>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UInt32> System.Runtime.Intrinsics.Vector128.WidenUpper(System.Runtime.Intrinsics.Vector128<System.UInt16>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UInt64> System.Runtime.Intrinsics.Vector128.AsUInt64`1(System.Runtime.Intrinsics.Vector128<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UInt64> System.Runtime.Intrinsics.Vector128.AsUInt64`1(System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UInt64> System.Runtime.Intrinsics.Vector128.ConvertToUInt64(System.Runtime.Intrinsics.Vector128<System.Double>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UInt64> System.Runtime.Intrinsics.Vector128.Create(System.UInt64) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UInt64> System.Runtime.Intrinsics.Vector128.Create(System.UInt64,System.UInt64) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UInt64> System.Runtime.Intrinsics.Vector128.CreateScalar(System.UInt64) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UInt64> System.Runtime.Intrinsics.Vector128.CreateScalarUnsafe(System.UInt64) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UInt64> System.Runtime.Intrinsics.Vector128.ShiftLeft(System.Runtime.Intrinsics.Vector128<System.UInt64>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UInt64> System.Runtime.Intrinsics.Vector128.ShiftRightLogical(System.Runtime.Intrinsics.Vector128<System.UInt64>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UInt64> System.Runtime.Intrinsics.Vector128.Shuffle(System.Runtime.Intrinsics.Vector128<System.UInt64>,System.Runtime.Intrinsics.Vector128<System.UInt64>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UInt64> System.Runtime.Intrinsics.Vector128.WidenLower(System.Runtime.Intrinsics.Vector128<System.UInt32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UInt64> System.Runtime.Intrinsics.Vector128.WidenUpper(System.Runtime.Intrinsics.Vector128<System.UInt32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UIntPtr> System.Runtime.Intrinsics.Vector128.AsNUInt`1(System.Runtime.Intrinsics.Vector128<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UIntPtr> System.Runtime.Intrinsics.Vector128.AsNUInt`1(System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UIntPtr> System.Runtime.Intrinsics.Vector128.Create(System.UIntPtr) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UIntPtr> System.Runtime.Intrinsics.Vector128.CreateScalar(System.UIntPtr) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UIntPtr> System.Runtime.Intrinsics.Vector128.CreateScalarUnsafe(System.UIntPtr) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UIntPtr> System.Runtime.Intrinsics.Vector128.ShiftLeft(System.Runtime.Intrinsics.Vector128<System.UIntPtr>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128<System.UIntPtr> System.Runtime.Intrinsics.Vector128.ShiftRightLogical(System.Runtime.Intrinsics.Vector128<System.UIntPtr>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128DebugView`1 | [IsReadOnlyAttribute(...)] | -| System.Runtime.Intrinsics.Vector128`1 | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector128`1 | [IsReadOnlyAttribute(...)] | -| System.Runtime.Intrinsics.Vector256 | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> | [IsReadOnlyAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector128.ToVector256Unsafe`1(System.Runtime.Intrinsics.Vector128<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector128.ToVector256Unsafe`1(System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector128.ToVector256`1(System.Runtime.Intrinsics.Vector128<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector128.ToVector256`1(System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.Abs`1(System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.Add`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.AndNot`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.AsVector256`1(System.Numerics.Vector<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.AsVector256`1(System.Numerics.Vector<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.BitwiseAnd`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.BitwiseOr`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.ConditionalSelect`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.CreateScalarUnsafe`1(!0) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.CreateScalar`1(!0) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.Create`1(!0) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.Divide`1(System.Runtime.Intrinsics.Vector256<!0>,!0) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.Divide`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.Equals`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.GreaterThanOrEqual`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.GreaterThan`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.LessThanOrEqual`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.LessThan`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.LoadAlignedNonTemporal`1(!0*) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.LoadAligned`1(!0*) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.LoadUnsafe`1(!0) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.LoadUnsafe`1(!0,System.UIntPtr) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.Load`1(!0*) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.Max`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.Min`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.Multiply`1(!0,System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.Multiply`1(System.Runtime.Intrinsics.Vector256<!0>,!0) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.Multiply`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.Negate`1(System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.OnesComplement`1(System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.Sqrt`1(System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.Subtract`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.WithElement`1(System.Runtime.Intrinsics.Vector256<!0>,System.Int32,!0) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.WithElement`1(System.Runtime.Intrinsics.Vector256<!0>,System.Int32,!0) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.WithLower`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.WithLower`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.WithUpper`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.WithUpper`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.Xor`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256`1.get_AllBitsSet() | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256`1.get_One() | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256`1.get_Zero() | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256`1.op_Addition(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256`1.op_BitwiseAnd(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256`1.op_BitwiseOr(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256`1.op_Division(System.Runtime.Intrinsics.Vector256<!0>,!0) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256`1.op_Division(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256`1.op_ExclusiveOr(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256`1.op_LeftShift(System.Runtime.Intrinsics.Vector256<!0>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256`1.op_Multiply(!0,System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256`1.op_Multiply(System.Runtime.Intrinsics.Vector256<!0>,!0) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256`1.op_Multiply(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256`1.op_OnesComplement(System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256`1.op_RightShift(System.Runtime.Intrinsics.Vector256<!0>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256`1.op_Subtraction(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256`1.op_UnaryNegation(System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256`1.op_UnaryPlus(System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256`1.op_UnsignedRightShift(System.Runtime.Intrinsics.Vector256<!0>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector512.GetLower`1(System.Runtime.Intrinsics.Vector512<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector512.GetLower`1(System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector512.GetUpper`1(System.Runtime.Intrinsics.Vector512<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector512.GetUpper`1(System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!1> System.Runtime.Intrinsics.Vector256.As`2(System.Runtime.Intrinsics.Vector256<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<!1> System.Runtime.Intrinsics.Vector256.As`2(System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Byte> System.Runtime.Intrinsics.Vector256.AsByte`1(System.Runtime.Intrinsics.Vector256<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Byte> System.Runtime.Intrinsics.Vector256.AsByte`1(System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Byte> System.Runtime.Intrinsics.Vector256.Create(System.Byte) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Byte> System.Runtime.Intrinsics.Vector256.Create(System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Byte> System.Runtime.Intrinsics.Vector256.CreateScalar(System.Byte) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Byte> System.Runtime.Intrinsics.Vector256.CreateScalarUnsafe(System.Byte) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Byte> System.Runtime.Intrinsics.Vector256.Narrow(System.Runtime.Intrinsics.Vector256<System.UInt16>,System.Runtime.Intrinsics.Vector256<System.UInt16>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Byte> System.Runtime.Intrinsics.Vector256.ShiftLeft(System.Runtime.Intrinsics.Vector256<System.Byte>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Byte> System.Runtime.Intrinsics.Vector256.ShiftRightLogical(System.Runtime.Intrinsics.Vector256<System.Byte>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Byte> System.Runtime.Intrinsics.Vector256.Shuffle(System.Runtime.Intrinsics.Vector256<System.Byte>,System.Runtime.Intrinsics.Vector256<System.Byte>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Double> System.Runtime.Intrinsics.Vector256.AsDouble`1(System.Runtime.Intrinsics.Vector256<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Double> System.Runtime.Intrinsics.Vector256.AsDouble`1(System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Double> System.Runtime.Intrinsics.Vector256.Ceiling(System.Runtime.Intrinsics.Vector256<System.Double>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Double> System.Runtime.Intrinsics.Vector256.ConvertToDouble(System.Runtime.Intrinsics.Vector256<System.Int64>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Double> System.Runtime.Intrinsics.Vector256.ConvertToDouble(System.Runtime.Intrinsics.Vector256<System.UInt64>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Double> System.Runtime.Intrinsics.Vector256.Create(System.Double) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Double> System.Runtime.Intrinsics.Vector256.Create(System.Double,System.Double,System.Double,System.Double) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Double> System.Runtime.Intrinsics.Vector256.CreateScalar(System.Double) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Double> System.Runtime.Intrinsics.Vector256.CreateScalarUnsafe(System.Double) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Double> System.Runtime.Intrinsics.Vector256.Floor(System.Runtime.Intrinsics.Vector256<System.Double>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Double> System.Runtime.Intrinsics.Vector256.Shuffle(System.Runtime.Intrinsics.Vector256<System.Double>,System.Runtime.Intrinsics.Vector256<System.Int64>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Double> System.Runtime.Intrinsics.Vector256.WidenLower(System.Runtime.Intrinsics.Vector256<System.Single>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Double> System.Runtime.Intrinsics.Vector256.WidenUpper(System.Runtime.Intrinsics.Vector256<System.Single>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Int16> System.Runtime.Intrinsics.Vector256.AsInt16`1(System.Runtime.Intrinsics.Vector256<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Int16> System.Runtime.Intrinsics.Vector256.AsInt16`1(System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Int16> System.Runtime.Intrinsics.Vector256.Create(System.Int16) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Int16> System.Runtime.Intrinsics.Vector256.Create(System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Int16> System.Runtime.Intrinsics.Vector256.CreateScalar(System.Int16) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Int16> System.Runtime.Intrinsics.Vector256.CreateScalarUnsafe(System.Int16) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Int16> System.Runtime.Intrinsics.Vector256.Narrow(System.Runtime.Intrinsics.Vector256<System.Int32>,System.Runtime.Intrinsics.Vector256<System.Int32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Int16> System.Runtime.Intrinsics.Vector256.ShiftLeft(System.Runtime.Intrinsics.Vector256<System.Int16>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Int16> System.Runtime.Intrinsics.Vector256.ShiftRightArithmetic(System.Runtime.Intrinsics.Vector256<System.Int16>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Int16> System.Runtime.Intrinsics.Vector256.ShiftRightLogical(System.Runtime.Intrinsics.Vector256<System.Int16>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Int16> System.Runtime.Intrinsics.Vector256.Shuffle(System.Runtime.Intrinsics.Vector256<System.Int16>,System.Runtime.Intrinsics.Vector256<System.Int16>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Int16> System.Runtime.Intrinsics.Vector256.WidenLower(System.Runtime.Intrinsics.Vector256<System.SByte>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Int16> System.Runtime.Intrinsics.Vector256.WidenUpper(System.Runtime.Intrinsics.Vector256<System.SByte>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Int32> System.Runtime.Intrinsics.Vector256.AsInt32`1(System.Runtime.Intrinsics.Vector256<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Int32> System.Runtime.Intrinsics.Vector256.AsInt32`1(System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Int32> System.Runtime.Intrinsics.Vector256.ConvertToInt32(System.Runtime.Intrinsics.Vector256<System.Single>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Int32> System.Runtime.Intrinsics.Vector256.Create(System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Int32> System.Runtime.Intrinsics.Vector256.Create(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Int32> System.Runtime.Intrinsics.Vector256.CreateScalar(System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Int32> System.Runtime.Intrinsics.Vector256.CreateScalarUnsafe(System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Int32> System.Runtime.Intrinsics.Vector256.Narrow(System.Runtime.Intrinsics.Vector256<System.Int64>,System.Runtime.Intrinsics.Vector256<System.Int64>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Int32> System.Runtime.Intrinsics.Vector256.ShiftLeft(System.Runtime.Intrinsics.Vector256<System.Int32>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Int32> System.Runtime.Intrinsics.Vector256.ShiftRightArithmetic(System.Runtime.Intrinsics.Vector256<System.Int32>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Int32> System.Runtime.Intrinsics.Vector256.ShiftRightLogical(System.Runtime.Intrinsics.Vector256<System.Int32>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Int32> System.Runtime.Intrinsics.Vector256.Shuffle(System.Runtime.Intrinsics.Vector256<System.Int32>,System.Runtime.Intrinsics.Vector256<System.Int32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Int32> System.Runtime.Intrinsics.Vector256.WidenLower(System.Runtime.Intrinsics.Vector256<System.Int16>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Int32> System.Runtime.Intrinsics.Vector256.WidenUpper(System.Runtime.Intrinsics.Vector256<System.Int16>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Int64> System.Runtime.Intrinsics.Vector256.AsInt64`1(System.Runtime.Intrinsics.Vector256<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Int64> System.Runtime.Intrinsics.Vector256.AsInt64`1(System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Int64> System.Runtime.Intrinsics.Vector256.ConvertToInt64(System.Runtime.Intrinsics.Vector256<System.Double>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Int64> System.Runtime.Intrinsics.Vector256.Create(System.Int64) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Int64> System.Runtime.Intrinsics.Vector256.Create(System.Int64,System.Int64,System.Int64,System.Int64) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Int64> System.Runtime.Intrinsics.Vector256.CreateScalar(System.Int64) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Int64> System.Runtime.Intrinsics.Vector256.CreateScalarUnsafe(System.Int64) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Int64> System.Runtime.Intrinsics.Vector256.ShiftLeft(System.Runtime.Intrinsics.Vector256<System.Int64>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Int64> System.Runtime.Intrinsics.Vector256.ShiftRightArithmetic(System.Runtime.Intrinsics.Vector256<System.Int64>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Int64> System.Runtime.Intrinsics.Vector256.ShiftRightLogical(System.Runtime.Intrinsics.Vector256<System.Int64>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Int64> System.Runtime.Intrinsics.Vector256.Shuffle(System.Runtime.Intrinsics.Vector256<System.Int64>,System.Runtime.Intrinsics.Vector256<System.Int64>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Int64> System.Runtime.Intrinsics.Vector256.WidenLower(System.Runtime.Intrinsics.Vector256<System.Int32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Int64> System.Runtime.Intrinsics.Vector256.WidenUpper(System.Runtime.Intrinsics.Vector256<System.Int32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.IntPtr> System.Runtime.Intrinsics.Vector256.AsNInt`1(System.Runtime.Intrinsics.Vector256<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.IntPtr> System.Runtime.Intrinsics.Vector256.AsNInt`1(System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.IntPtr> System.Runtime.Intrinsics.Vector256.Create(System.IntPtr) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.IntPtr> System.Runtime.Intrinsics.Vector256.CreateScalar(System.IntPtr) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.IntPtr> System.Runtime.Intrinsics.Vector256.CreateScalarUnsafe(System.IntPtr) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.IntPtr> System.Runtime.Intrinsics.Vector256.ShiftLeft(System.Runtime.Intrinsics.Vector256<System.IntPtr>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.IntPtr> System.Runtime.Intrinsics.Vector256.ShiftRightArithmetic(System.Runtime.Intrinsics.Vector256<System.IntPtr>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.IntPtr> System.Runtime.Intrinsics.Vector256.ShiftRightLogical(System.Runtime.Intrinsics.Vector256<System.IntPtr>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.SByte> System.Runtime.Intrinsics.Vector256.AsSByte`1(System.Runtime.Intrinsics.Vector256<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.SByte> System.Runtime.Intrinsics.Vector256.AsSByte`1(System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.SByte> System.Runtime.Intrinsics.Vector256.Create(System.SByte) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.SByte> System.Runtime.Intrinsics.Vector256.Create(System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.SByte> System.Runtime.Intrinsics.Vector256.CreateScalar(System.SByte) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.SByte> System.Runtime.Intrinsics.Vector256.CreateScalarUnsafe(System.SByte) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.SByte> System.Runtime.Intrinsics.Vector256.Narrow(System.Runtime.Intrinsics.Vector256<System.Int16>,System.Runtime.Intrinsics.Vector256<System.Int16>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.SByte> System.Runtime.Intrinsics.Vector256.ShiftLeft(System.Runtime.Intrinsics.Vector256<System.SByte>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.SByte> System.Runtime.Intrinsics.Vector256.ShiftRightArithmetic(System.Runtime.Intrinsics.Vector256<System.SByte>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.SByte> System.Runtime.Intrinsics.Vector256.ShiftRightLogical(System.Runtime.Intrinsics.Vector256<System.SByte>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.SByte> System.Runtime.Intrinsics.Vector256.Shuffle(System.Runtime.Intrinsics.Vector256<System.SByte>,System.Runtime.Intrinsics.Vector256<System.SByte>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Single> System.Runtime.Intrinsics.Vector256.AsSingle`1(System.Runtime.Intrinsics.Vector256<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Single> System.Runtime.Intrinsics.Vector256.AsSingle`1(System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Single> System.Runtime.Intrinsics.Vector256.Ceiling(System.Runtime.Intrinsics.Vector256<System.Single>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Single> System.Runtime.Intrinsics.Vector256.ConvertToSingle(System.Runtime.Intrinsics.Vector256<System.Int32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Single> System.Runtime.Intrinsics.Vector256.ConvertToSingle(System.Runtime.Intrinsics.Vector256<System.UInt32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Single> System.Runtime.Intrinsics.Vector256.Create(System.Single) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Single> System.Runtime.Intrinsics.Vector256.Create(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Single> System.Runtime.Intrinsics.Vector256.CreateScalar(System.Single) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Single> System.Runtime.Intrinsics.Vector256.CreateScalarUnsafe(System.Single) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Single> System.Runtime.Intrinsics.Vector256.Floor(System.Runtime.Intrinsics.Vector256<System.Single>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Single> System.Runtime.Intrinsics.Vector256.Narrow(System.Runtime.Intrinsics.Vector256<System.Double>,System.Runtime.Intrinsics.Vector256<System.Double>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.Single> System.Runtime.Intrinsics.Vector256.Shuffle(System.Runtime.Intrinsics.Vector256<System.Single>,System.Runtime.Intrinsics.Vector256<System.Int32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UInt16> System.Runtime.Intrinsics.Vector256.AsUInt16`1(System.Runtime.Intrinsics.Vector256<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UInt16> System.Runtime.Intrinsics.Vector256.AsUInt16`1(System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UInt16> System.Runtime.Intrinsics.Vector256.Create(System.UInt16) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UInt16> System.Runtime.Intrinsics.Vector256.Create(System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UInt16> System.Runtime.Intrinsics.Vector256.CreateScalar(System.UInt16) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UInt16> System.Runtime.Intrinsics.Vector256.CreateScalarUnsafe(System.UInt16) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UInt16> System.Runtime.Intrinsics.Vector256.Narrow(System.Runtime.Intrinsics.Vector256<System.UInt32>,System.Runtime.Intrinsics.Vector256<System.UInt32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UInt16> System.Runtime.Intrinsics.Vector256.ShiftLeft(System.Runtime.Intrinsics.Vector256<System.UInt16>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UInt16> System.Runtime.Intrinsics.Vector256.ShiftRightLogical(System.Runtime.Intrinsics.Vector256<System.UInt16>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UInt16> System.Runtime.Intrinsics.Vector256.Shuffle(System.Runtime.Intrinsics.Vector256<System.UInt16>,System.Runtime.Intrinsics.Vector256<System.UInt16>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UInt16> System.Runtime.Intrinsics.Vector256.WidenLower(System.Runtime.Intrinsics.Vector256<System.Byte>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UInt16> System.Runtime.Intrinsics.Vector256.WidenUpper(System.Runtime.Intrinsics.Vector256<System.Byte>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UInt32> System.Runtime.Intrinsics.Vector256.AsUInt32`1(System.Runtime.Intrinsics.Vector256<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UInt32> System.Runtime.Intrinsics.Vector256.AsUInt32`1(System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UInt32> System.Runtime.Intrinsics.Vector256.ConvertToUInt32(System.Runtime.Intrinsics.Vector256<System.Single>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UInt32> System.Runtime.Intrinsics.Vector256.Create(System.UInt32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UInt32> System.Runtime.Intrinsics.Vector256.Create(System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UInt32> System.Runtime.Intrinsics.Vector256.CreateScalar(System.UInt32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UInt32> System.Runtime.Intrinsics.Vector256.CreateScalarUnsafe(System.UInt32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UInt32> System.Runtime.Intrinsics.Vector256.Narrow(System.Runtime.Intrinsics.Vector256<System.UInt64>,System.Runtime.Intrinsics.Vector256<System.UInt64>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UInt32> System.Runtime.Intrinsics.Vector256.ShiftLeft(System.Runtime.Intrinsics.Vector256<System.UInt32>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UInt32> System.Runtime.Intrinsics.Vector256.ShiftRightLogical(System.Runtime.Intrinsics.Vector256<System.UInt32>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UInt32> System.Runtime.Intrinsics.Vector256.Shuffle(System.Runtime.Intrinsics.Vector256<System.UInt32>,System.Runtime.Intrinsics.Vector256<System.UInt32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UInt32> System.Runtime.Intrinsics.Vector256.WidenLower(System.Runtime.Intrinsics.Vector256<System.UInt16>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UInt32> System.Runtime.Intrinsics.Vector256.WidenUpper(System.Runtime.Intrinsics.Vector256<System.UInt16>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UInt64> System.Runtime.Intrinsics.Vector256.AsUInt64`1(System.Runtime.Intrinsics.Vector256<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UInt64> System.Runtime.Intrinsics.Vector256.AsUInt64`1(System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UInt64> System.Runtime.Intrinsics.Vector256.ConvertToUInt64(System.Runtime.Intrinsics.Vector256<System.Double>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UInt64> System.Runtime.Intrinsics.Vector256.Create(System.UInt64) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UInt64> System.Runtime.Intrinsics.Vector256.Create(System.UInt64,System.UInt64,System.UInt64,System.UInt64) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UInt64> System.Runtime.Intrinsics.Vector256.CreateScalar(System.UInt64) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UInt64> System.Runtime.Intrinsics.Vector256.CreateScalarUnsafe(System.UInt64) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UInt64> System.Runtime.Intrinsics.Vector256.ShiftLeft(System.Runtime.Intrinsics.Vector256<System.UInt64>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UInt64> System.Runtime.Intrinsics.Vector256.ShiftRightLogical(System.Runtime.Intrinsics.Vector256<System.UInt64>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UInt64> System.Runtime.Intrinsics.Vector256.Shuffle(System.Runtime.Intrinsics.Vector256<System.UInt64>,System.Runtime.Intrinsics.Vector256<System.UInt64>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UInt64> System.Runtime.Intrinsics.Vector256.WidenLower(System.Runtime.Intrinsics.Vector256<System.UInt32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UInt64> System.Runtime.Intrinsics.Vector256.WidenUpper(System.Runtime.Intrinsics.Vector256<System.UInt32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UIntPtr> System.Runtime.Intrinsics.Vector256.AsNUInt`1(System.Runtime.Intrinsics.Vector256<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UIntPtr> System.Runtime.Intrinsics.Vector256.AsNUInt`1(System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UIntPtr> System.Runtime.Intrinsics.Vector256.Create(System.UIntPtr) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UIntPtr> System.Runtime.Intrinsics.Vector256.CreateScalar(System.UIntPtr) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UIntPtr> System.Runtime.Intrinsics.Vector256.CreateScalarUnsafe(System.UIntPtr) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UIntPtr> System.Runtime.Intrinsics.Vector256.ShiftLeft(System.Runtime.Intrinsics.Vector256<System.UIntPtr>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256<System.UIntPtr> System.Runtime.Intrinsics.Vector256.ShiftRightLogical(System.Runtime.Intrinsics.Vector256<System.UIntPtr>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256DebugView`1 | [IsReadOnlyAttribute(...)] | -| System.Runtime.Intrinsics.Vector256`1 | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector256`1 | [IsReadOnlyAttribute(...)] | -| System.Runtime.Intrinsics.Vector512 | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> | [IsReadOnlyAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector256.ToVector512Unsafe`1(System.Runtime.Intrinsics.Vector256<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector256.ToVector512Unsafe`1(System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector256.ToVector512`1(System.Runtime.Intrinsics.Vector256<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector256.ToVector512`1(System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.Abs`1(System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.Add`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.AndNot`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.AsVector512`1(System.Numerics.Vector<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.AsVector512`1(System.Numerics.Vector<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.BitwiseAnd`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.BitwiseOr`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.ConditionalSelect`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.CreateScalarUnsafe`1(!0) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.Create`1(!0) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.Divide`1(System.Runtime.Intrinsics.Vector512<!0>,!0) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.Divide`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.Equals`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.GreaterThanOrEqual`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.GreaterThan`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.LessThanOrEqual`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.LessThan`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.LoadAlignedNonTemporal`1(!0*) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.LoadAligned`1(!0*) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.LoadUnsafe`1(!0) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.LoadUnsafe`1(!0,System.UIntPtr) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.Load`1(!0*) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.Max`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.Min`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.Multiply`1(!0,System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.Multiply`1(System.Runtime.Intrinsics.Vector512<!0>,!0) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.Multiply`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.Negate`1(System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.OnesComplement`1(System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.Sqrt`1(System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.Subtract`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.WithElement`1(System.Runtime.Intrinsics.Vector512<!0>,System.Int32,!0) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.WithElement`1(System.Runtime.Intrinsics.Vector512<!0>,System.Int32,!0) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.WithLower`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.WithLower`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.WithUpper`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.WithUpper`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.Xor`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512`1.get_AllBitsSet() | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512`1.get_One() | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512`1.get_Zero() | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512`1.op_Addition(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512`1.op_BitwiseAnd(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512`1.op_BitwiseOr(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512`1.op_Division(System.Runtime.Intrinsics.Vector512<!0>,!0) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512`1.op_Division(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512`1.op_ExclusiveOr(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512`1.op_LeftShift(System.Runtime.Intrinsics.Vector512<!0>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512`1.op_Multiply(!0,System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512`1.op_Multiply(System.Runtime.Intrinsics.Vector512<!0>,!0) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512`1.op_Multiply(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512`1.op_OnesComplement(System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512`1.op_RightShift(System.Runtime.Intrinsics.Vector512<!0>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512`1.op_Subtraction(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512`1.op_UnaryNegation(System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512`1.op_UnaryPlus(System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512`1.op_UnsignedRightShift(System.Runtime.Intrinsics.Vector512<!0>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!1> System.Runtime.Intrinsics.Vector512.As`2(System.Runtime.Intrinsics.Vector512<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<!1> System.Runtime.Intrinsics.Vector512.As`2(System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Byte> System.Runtime.Intrinsics.Vector512.AsByte`1(System.Runtime.Intrinsics.Vector512<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Byte> System.Runtime.Intrinsics.Vector512.AsByte`1(System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Byte> System.Runtime.Intrinsics.Vector512.Create(System.Byte) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Byte> System.Runtime.Intrinsics.Vector512.Create(System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Byte> System.Runtime.Intrinsics.Vector512.CreateScalarUnsafe(System.Byte) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Byte> System.Runtime.Intrinsics.Vector512.Narrow(System.Runtime.Intrinsics.Vector512<System.UInt16>,System.Runtime.Intrinsics.Vector512<System.UInt16>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Byte> System.Runtime.Intrinsics.Vector512.ShiftLeft(System.Runtime.Intrinsics.Vector512<System.Byte>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Byte> System.Runtime.Intrinsics.Vector512.ShiftRightLogical(System.Runtime.Intrinsics.Vector512<System.Byte>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Byte> System.Runtime.Intrinsics.Vector512.Shuffle(System.Runtime.Intrinsics.Vector512<System.Byte>,System.Runtime.Intrinsics.Vector512<System.Byte>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Double> System.Runtime.Intrinsics.Vector512.AsDouble`1(System.Runtime.Intrinsics.Vector512<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Double> System.Runtime.Intrinsics.Vector512.AsDouble`1(System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Double> System.Runtime.Intrinsics.Vector512.Ceiling(System.Runtime.Intrinsics.Vector512<System.Double>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Double> System.Runtime.Intrinsics.Vector512.ConvertToDouble(System.Runtime.Intrinsics.Vector512<System.Int64>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Double> System.Runtime.Intrinsics.Vector512.ConvertToDouble(System.Runtime.Intrinsics.Vector512<System.UInt64>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Double> System.Runtime.Intrinsics.Vector512.Create(System.Double) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Double> System.Runtime.Intrinsics.Vector512.Create(System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Double> System.Runtime.Intrinsics.Vector512.CreateScalarUnsafe(System.Double) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Double> System.Runtime.Intrinsics.Vector512.Floor(System.Runtime.Intrinsics.Vector512<System.Double>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Double> System.Runtime.Intrinsics.Vector512.Shuffle(System.Runtime.Intrinsics.Vector512<System.Double>,System.Runtime.Intrinsics.Vector512<System.Int64>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Double> System.Runtime.Intrinsics.Vector512.WidenLower(System.Runtime.Intrinsics.Vector512<System.Single>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Double> System.Runtime.Intrinsics.Vector512.WidenUpper(System.Runtime.Intrinsics.Vector512<System.Single>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Int16> System.Runtime.Intrinsics.Vector512.AsInt16`1(System.Runtime.Intrinsics.Vector512<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Int16> System.Runtime.Intrinsics.Vector512.AsInt16`1(System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Int16> System.Runtime.Intrinsics.Vector512.Create(System.Int16) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Int16> System.Runtime.Intrinsics.Vector512.Create(System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Int16> System.Runtime.Intrinsics.Vector512.CreateScalarUnsafe(System.Int16) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Int16> System.Runtime.Intrinsics.Vector512.Narrow(System.Runtime.Intrinsics.Vector512<System.Int32>,System.Runtime.Intrinsics.Vector512<System.Int32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Int16> System.Runtime.Intrinsics.Vector512.ShiftLeft(System.Runtime.Intrinsics.Vector512<System.Int16>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Int16> System.Runtime.Intrinsics.Vector512.ShiftRightArithmetic(System.Runtime.Intrinsics.Vector512<System.Int16>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Int16> System.Runtime.Intrinsics.Vector512.ShiftRightLogical(System.Runtime.Intrinsics.Vector512<System.Int16>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Int16> System.Runtime.Intrinsics.Vector512.Shuffle(System.Runtime.Intrinsics.Vector512<System.Int16>,System.Runtime.Intrinsics.Vector512<System.Int16>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Int16> System.Runtime.Intrinsics.Vector512.WidenLower(System.Runtime.Intrinsics.Vector512<System.SByte>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Int16> System.Runtime.Intrinsics.Vector512.WidenUpper(System.Runtime.Intrinsics.Vector512<System.SByte>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Int32> System.Runtime.Intrinsics.Vector512.AsInt32`1(System.Runtime.Intrinsics.Vector512<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Int32> System.Runtime.Intrinsics.Vector512.AsInt32`1(System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Int32> System.Runtime.Intrinsics.Vector512.ConvertToInt32(System.Runtime.Intrinsics.Vector512<System.Single>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Int32> System.Runtime.Intrinsics.Vector512.Create(System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Int32> System.Runtime.Intrinsics.Vector512.Create(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Int32> System.Runtime.Intrinsics.Vector512.CreateScalarUnsafe(System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Int32> System.Runtime.Intrinsics.Vector512.Narrow(System.Runtime.Intrinsics.Vector512<System.Int64>,System.Runtime.Intrinsics.Vector512<System.Int64>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Int32> System.Runtime.Intrinsics.Vector512.ShiftLeft(System.Runtime.Intrinsics.Vector512<System.Int32>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Int32> System.Runtime.Intrinsics.Vector512.ShiftRightArithmetic(System.Runtime.Intrinsics.Vector512<System.Int32>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Int32> System.Runtime.Intrinsics.Vector512.ShiftRightLogical(System.Runtime.Intrinsics.Vector512<System.Int32>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Int32> System.Runtime.Intrinsics.Vector512.Shuffle(System.Runtime.Intrinsics.Vector512<System.Int32>,System.Runtime.Intrinsics.Vector512<System.Int32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Int32> System.Runtime.Intrinsics.Vector512.WidenLower(System.Runtime.Intrinsics.Vector512<System.Int16>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Int32> System.Runtime.Intrinsics.Vector512.WidenUpper(System.Runtime.Intrinsics.Vector512<System.Int16>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Int64> System.Runtime.Intrinsics.Vector512.AsInt64`1(System.Runtime.Intrinsics.Vector512<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Int64> System.Runtime.Intrinsics.Vector512.AsInt64`1(System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Int64> System.Runtime.Intrinsics.Vector512.ConvertToInt64(System.Runtime.Intrinsics.Vector512<System.Double>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Int64> System.Runtime.Intrinsics.Vector512.Create(System.Int64) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Int64> System.Runtime.Intrinsics.Vector512.Create(System.Int64,System.Int64,System.Int64,System.Int64,System.Int64,System.Int64,System.Int64,System.Int64) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Int64> System.Runtime.Intrinsics.Vector512.CreateScalarUnsafe(System.Int64) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Int64> System.Runtime.Intrinsics.Vector512.ShiftLeft(System.Runtime.Intrinsics.Vector512<System.Int64>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Int64> System.Runtime.Intrinsics.Vector512.ShiftRightArithmetic(System.Runtime.Intrinsics.Vector512<System.Int64>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Int64> System.Runtime.Intrinsics.Vector512.ShiftRightLogical(System.Runtime.Intrinsics.Vector512<System.Int64>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Int64> System.Runtime.Intrinsics.Vector512.Shuffle(System.Runtime.Intrinsics.Vector512<System.Int64>,System.Runtime.Intrinsics.Vector512<System.Int64>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Int64> System.Runtime.Intrinsics.Vector512.WidenLower(System.Runtime.Intrinsics.Vector512<System.Int32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Int64> System.Runtime.Intrinsics.Vector512.WidenUpper(System.Runtime.Intrinsics.Vector512<System.Int32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.IntPtr> System.Runtime.Intrinsics.Vector512.AsNInt`1(System.Runtime.Intrinsics.Vector512<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.IntPtr> System.Runtime.Intrinsics.Vector512.AsNInt`1(System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.IntPtr> System.Runtime.Intrinsics.Vector512.Create(System.IntPtr) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.IntPtr> System.Runtime.Intrinsics.Vector512.CreateScalarUnsafe(System.IntPtr) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.IntPtr> System.Runtime.Intrinsics.Vector512.ShiftLeft(System.Runtime.Intrinsics.Vector512<System.IntPtr>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.IntPtr> System.Runtime.Intrinsics.Vector512.ShiftRightArithmetic(System.Runtime.Intrinsics.Vector512<System.IntPtr>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.IntPtr> System.Runtime.Intrinsics.Vector512.ShiftRightLogical(System.Runtime.Intrinsics.Vector512<System.IntPtr>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.SByte> System.Runtime.Intrinsics.Vector512.AsSByte`1(System.Runtime.Intrinsics.Vector512<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.SByte> System.Runtime.Intrinsics.Vector512.AsSByte`1(System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.SByte> System.Runtime.Intrinsics.Vector512.Create(System.SByte) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.SByte> System.Runtime.Intrinsics.Vector512.Create(System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.SByte> System.Runtime.Intrinsics.Vector512.CreateScalarUnsafe(System.SByte) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.SByte> System.Runtime.Intrinsics.Vector512.Narrow(System.Runtime.Intrinsics.Vector512<System.Int16>,System.Runtime.Intrinsics.Vector512<System.Int16>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.SByte> System.Runtime.Intrinsics.Vector512.ShiftLeft(System.Runtime.Intrinsics.Vector512<System.SByte>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.SByte> System.Runtime.Intrinsics.Vector512.ShiftRightArithmetic(System.Runtime.Intrinsics.Vector512<System.SByte>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.SByte> System.Runtime.Intrinsics.Vector512.ShiftRightLogical(System.Runtime.Intrinsics.Vector512<System.SByte>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.SByte> System.Runtime.Intrinsics.Vector512.Shuffle(System.Runtime.Intrinsics.Vector512<System.SByte>,System.Runtime.Intrinsics.Vector512<System.SByte>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Single> System.Runtime.Intrinsics.Vector512.AsSingle`1(System.Runtime.Intrinsics.Vector512<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Single> System.Runtime.Intrinsics.Vector512.AsSingle`1(System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Single> System.Runtime.Intrinsics.Vector512.Ceiling(System.Runtime.Intrinsics.Vector512<System.Single>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Single> System.Runtime.Intrinsics.Vector512.ConvertToSingle(System.Runtime.Intrinsics.Vector512<System.Int32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Single> System.Runtime.Intrinsics.Vector512.ConvertToSingle(System.Runtime.Intrinsics.Vector512<System.UInt32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Single> System.Runtime.Intrinsics.Vector512.Create(System.Single) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Single> System.Runtime.Intrinsics.Vector512.Create(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Single> System.Runtime.Intrinsics.Vector512.CreateScalarUnsafe(System.Single) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Single> System.Runtime.Intrinsics.Vector512.Floor(System.Runtime.Intrinsics.Vector512<System.Single>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Single> System.Runtime.Intrinsics.Vector512.Narrow(System.Runtime.Intrinsics.Vector512<System.Double>,System.Runtime.Intrinsics.Vector512<System.Double>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.Single> System.Runtime.Intrinsics.Vector512.Shuffle(System.Runtime.Intrinsics.Vector512<System.Single>,System.Runtime.Intrinsics.Vector512<System.Int32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.UInt16> System.Runtime.Intrinsics.Vector512.AsUInt16`1(System.Runtime.Intrinsics.Vector512<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.UInt16> System.Runtime.Intrinsics.Vector512.AsUInt16`1(System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.UInt16> System.Runtime.Intrinsics.Vector512.Create(System.UInt16) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.UInt16> System.Runtime.Intrinsics.Vector512.Create(System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.UInt16> System.Runtime.Intrinsics.Vector512.CreateScalarUnsafe(System.UInt16) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.UInt16> System.Runtime.Intrinsics.Vector512.Narrow(System.Runtime.Intrinsics.Vector512<System.UInt32>,System.Runtime.Intrinsics.Vector512<System.UInt32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.UInt16> System.Runtime.Intrinsics.Vector512.ShiftLeft(System.Runtime.Intrinsics.Vector512<System.UInt16>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.UInt16> System.Runtime.Intrinsics.Vector512.ShiftRightLogical(System.Runtime.Intrinsics.Vector512<System.UInt16>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.UInt16> System.Runtime.Intrinsics.Vector512.Shuffle(System.Runtime.Intrinsics.Vector512<System.UInt16>,System.Runtime.Intrinsics.Vector512<System.UInt16>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.UInt16> System.Runtime.Intrinsics.Vector512.WidenLower(System.Runtime.Intrinsics.Vector512<System.Byte>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.UInt16> System.Runtime.Intrinsics.Vector512.WidenUpper(System.Runtime.Intrinsics.Vector512<System.Byte>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.UInt32> System.Runtime.Intrinsics.Vector512.AsUInt32`1(System.Runtime.Intrinsics.Vector512<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.UInt32> System.Runtime.Intrinsics.Vector512.AsUInt32`1(System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.UInt32> System.Runtime.Intrinsics.Vector512.ConvertToUInt32(System.Runtime.Intrinsics.Vector512<System.Single>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.UInt32> System.Runtime.Intrinsics.Vector512.Create(System.UInt32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.UInt32> System.Runtime.Intrinsics.Vector512.Create(System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.UInt32> System.Runtime.Intrinsics.Vector512.CreateScalarUnsafe(System.UInt32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.UInt32> System.Runtime.Intrinsics.Vector512.Narrow(System.Runtime.Intrinsics.Vector512<System.UInt64>,System.Runtime.Intrinsics.Vector512<System.UInt64>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.UInt32> System.Runtime.Intrinsics.Vector512.ShiftLeft(System.Runtime.Intrinsics.Vector512<System.UInt32>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.UInt32> System.Runtime.Intrinsics.Vector512.ShiftRightLogical(System.Runtime.Intrinsics.Vector512<System.UInt32>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.UInt32> System.Runtime.Intrinsics.Vector512.Shuffle(System.Runtime.Intrinsics.Vector512<System.UInt32>,System.Runtime.Intrinsics.Vector512<System.UInt32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.UInt32> System.Runtime.Intrinsics.Vector512.WidenLower(System.Runtime.Intrinsics.Vector512<System.UInt16>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.UInt32> System.Runtime.Intrinsics.Vector512.WidenUpper(System.Runtime.Intrinsics.Vector512<System.UInt16>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.UInt64> System.Runtime.Intrinsics.Vector512.AsUInt64`1(System.Runtime.Intrinsics.Vector512<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.UInt64> System.Runtime.Intrinsics.Vector512.AsUInt64`1(System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.UInt64> System.Runtime.Intrinsics.Vector512.ConvertToUInt64(System.Runtime.Intrinsics.Vector512<System.Double>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.UInt64> System.Runtime.Intrinsics.Vector512.Create(System.UInt64) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.UInt64> System.Runtime.Intrinsics.Vector512.Create(System.UInt64,System.UInt64,System.UInt64,System.UInt64,System.UInt64,System.UInt64,System.UInt64,System.UInt64) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.UInt64> System.Runtime.Intrinsics.Vector512.CreateScalarUnsafe(System.UInt64) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.UInt64> System.Runtime.Intrinsics.Vector512.ShiftLeft(System.Runtime.Intrinsics.Vector512<System.UInt64>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.UInt64> System.Runtime.Intrinsics.Vector512.ShiftRightLogical(System.Runtime.Intrinsics.Vector512<System.UInt64>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.UInt64> System.Runtime.Intrinsics.Vector512.Shuffle(System.Runtime.Intrinsics.Vector512<System.UInt64>,System.Runtime.Intrinsics.Vector512<System.UInt64>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.UInt64> System.Runtime.Intrinsics.Vector512.WidenLower(System.Runtime.Intrinsics.Vector512<System.UInt32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.UInt64> System.Runtime.Intrinsics.Vector512.WidenUpper(System.Runtime.Intrinsics.Vector512<System.UInt32>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.UIntPtr> System.Runtime.Intrinsics.Vector512.AsNUInt`1(System.Runtime.Intrinsics.Vector512<!0>) | [ExtensionAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.UIntPtr> System.Runtime.Intrinsics.Vector512.AsNUInt`1(System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.UIntPtr> System.Runtime.Intrinsics.Vector512.Create(System.UIntPtr) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.UIntPtr> System.Runtime.Intrinsics.Vector512.CreateScalarUnsafe(System.UIntPtr) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.UIntPtr> System.Runtime.Intrinsics.Vector512.ShiftLeft(System.Runtime.Intrinsics.Vector512<System.UIntPtr>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512<System.UIntPtr> System.Runtime.Intrinsics.Vector512.ShiftRightLogical(System.Runtime.Intrinsics.Vector512<System.UIntPtr>,System.Int32) | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512DebugView`1 | [IsReadOnlyAttribute(...)] | -| System.Runtime.Intrinsics.Vector512`1 | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.Vector512`1 | [IsReadOnlyAttribute(...)] | -| System.Runtime.Intrinsics.X86.Aes | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Aes.X64 | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Avx | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Avx2 | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Avx2.X64 | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Avx512BW | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Avx512BW.VL | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Avx512BW.X64 | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Avx512CD | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Avx512CD.VL | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Avx512CD.X64 | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Avx512DQ | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Avx512DQ.VL | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Avx512DQ.X64 | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Avx512F | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Avx512F.VL | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Avx512F.X64 | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Avx512Vbmi | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Avx512Vbmi.VL | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Avx512Vbmi.X64 | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Avx.X64 | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.AvxVnni | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.AvxVnni.X64 | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Bmi1 | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Bmi1.X64 | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Bmi2 | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Bmi2.X64 | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.FloatComparisonMode | [ConstantExpectedAttribute(...)] | -| System.Runtime.Intrinsics.X86.Fma | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Fma.X64 | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Lzcnt | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Lzcnt.X64 | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Pclmulqdq | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Pclmulqdq.X64 | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Popcnt | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Popcnt.X64 | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Sse | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Sse2 | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Sse2.X64 | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Sse3 | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Sse3.X64 | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Sse41 | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Sse41.X64 | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Sse42 | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Sse42.X64 | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Sse.X64 | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Ssse3 | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.Ssse3.X64 | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.X86Base | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.X86Base.X64 | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.X86Serialize | [IntrinsicAttribute(...)] | -| System.Runtime.Intrinsics.X86.X86Serialize.X64 | [IntrinsicAttribute(...)] | -| System.Runtime.Loader.AssemblyDependencyResolver.<>c__DisplayClass6_0 | [CompilerGeneratedAttribute(...)] | -| System.Runtime.Loader.AssemblyLoadContext System.Runtime.Loader.AssemblyLoadContext.<get_All>d__85.get_Current() | [DebuggerHiddenAttribute(...)] | -| System.Runtime.Loader.AssemblyLoadContext.<get_All>d__85 | [CompilerGeneratedAttribute(...)] | -| System.Runtime.Loader.AssemblyLoadContext.<get_Assemblies>d__55 | [CompilerGeneratedAttribute(...)] | -| System.Runtime.Loader.AssemblyLoadContext.AssemblyLoad | [CompilerGeneratedAttribute(...)] | -| System.Runtime.Loader.AssemblyLoadContext.AssemblyResolve | [CompilerGeneratedAttribute(...)] | -| System.Runtime.Loader.AssemblyLoadContext.ResourceResolve | [CompilerGeneratedAttribute(...)] | -| System.Runtime.Loader.AssemblyLoadContext.TypeResolve | [CompilerGeneratedAttribute(...)] | -| System.Runtime.Loader.AssemblyLoadContext._resolving | [CompilerGeneratedAttribute(...)] | -| System.Runtime.Loader.AssemblyLoadContext._resolvingUnmanagedDll | [CompilerGeneratedAttribute(...)] | -| System.Runtime.Loader.AssemblyLoadContext._unloading | [CompilerGeneratedAttribute(...)] | -| System.Runtime.Loader.LibraryNameVariation System.Runtime.Loader.LibraryNameVariation.<DetermineLibraryNameVariations>d__5.get_Current() | [DebuggerHiddenAttribute(...)] | -| System.Runtime.Loader.LibraryNameVariation.<DetermineLibraryNameVariations>d__5 | [CompilerGeneratedAttribute(...)] | -| System.Runtime.Serialization.DeserializationToken | [IsReadOnlyAttribute(...)] | -| System.Runtime.Serialization.DeserializationTracker.<DeserializationInProgress>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.Serialization.SafeSerializationEventArgs.<StreamingContext>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.Serialization.SerializationEntry | [IsReadOnlyAttribute(...)] | -| System.Runtime.Serialization.SerializationInfo.<AsyncDeserializationInProgress>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.Serialization.SerializationInfo.<IsAssemblyNameSetExplicit>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.Serialization.SerializationInfo.<IsFullTypeNameSetExplicit>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.Serialization.SerializationInfo.t_deserializationTracker | [ThreadStaticAttribute(...)] | -| System.Runtime.Serialization.StreamingContext | [IsReadOnlyAttribute(...)] | -| System.Runtime.Serialization.StreamingContext System.Runtime.Serialization.SafeSerializationEventArgs.get_StreamingContext() | [CompilerGeneratedAttribute(...)] | -| System.Runtime.Serialization.StreamingContextStates | [FlagsAttribute(...)] | -| System.Runtime.TargetedPatchingOptOutAttribute.<Reason>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.Versioning.ComponentGuaranteesAttribute.<Guarantees>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.Versioning.ComponentGuaranteesOptions | [FlagsAttribute(...)] | -| System.Runtime.Versioning.ComponentGuaranteesOptions System.Runtime.Versioning.ComponentGuaranteesAttribute.get_Guarantees() | [CompilerGeneratedAttribute(...)] | -| System.Runtime.Versioning.OSPlatformAttribute.<PlatformName>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.Versioning.ObsoletedOSPlatformAttribute.<Message>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.Versioning.ObsoletedOSPlatformAttribute.<Url>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.Versioning.RequiresPreviewFeaturesAttribute.<Message>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.Versioning.RequiresPreviewFeaturesAttribute.<Url>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.Versioning.ResourceConsumptionAttribute.<ConsumptionScope>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.Versioning.ResourceConsumptionAttribute.<ResourceScope>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.Versioning.ResourceExposureAttribute.<ResourceExposureLevel>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Runtime.Versioning.ResourceScope | [FlagsAttribute(...)] | -| System.Runtime.Versioning.ResourceScope System.Runtime.Versioning.ResourceConsumptionAttribute.get_ConsumptionScope() | [CompilerGeneratedAttribute(...)] | -| System.Runtime.Versioning.ResourceScope System.Runtime.Versioning.ResourceConsumptionAttribute.get_ResourceScope() | [CompilerGeneratedAttribute(...)] | -| System.Runtime.Versioning.ResourceScope System.Runtime.Versioning.ResourceExposureAttribute.get_ResourceExposureLevel() | [CompilerGeneratedAttribute(...)] | -| System.Runtime.Versioning.SxSRequirements | [FlagsAttribute(...)] | -| System.Runtime.Versioning.UnsupportedOSPlatformAttribute.<Message>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.RuntimeArgumentHandle | [IsByRefLikeAttribute(...)] | -| System.RuntimeFieldHandle | [NonVersionableAttribute(...)] | -| System.RuntimeMethodHandle | [NonVersionableAttribute(...)] | -| System.RuntimeType System.Runtime.InteropServices.DynamicInterfaceCastableHelpers.GetInterfaceImplementation(System.Runtime.InteropServices.IDynamicInterfaceCastable,System.RuntimeType) | [StackTraceHiddenAttribute(...)] | -| System.RuntimeType System.RuntimeType.RuntimeTypeCache.<GetGenericTypeDefinition>g__CacheGenericDefinition\|50_0() | [CompilerGeneratedAttribute(...)] | -| System.RuntimeType.RuntimeTypeCache.Filter | [IsReadOnlyAttribute(...)] | -| System.RuntimeTypeHandle | [NonVersionableAttribute(...)] | -| System.RuntimeTypeHandle System.RuntimeType.get_TypeHandle() | [IntrinsicAttribute(...)] | -| System.RuntimeTypeHandle System.Type.get_TypeHandle() | [IntrinsicAttribute(...)] | -| System.SByte System.Math.Max(System.SByte,System.SByte) | [NonVersionableAttribute(...)] | -| System.SByte System.Math.Min(System.SByte,System.SByte) | [NonVersionableAttribute(...)] | -| System.SByte System.Runtime.InteropServices.NFloat.op_CheckedExplicit(System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.SByte System.Runtime.InteropServices.NFloat.op_Explicit(System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.SByte System.Threading.Volatile.Read(System.SByte) | [IntrinsicAttribute(...)] | -| System.SByte System.Threading.Volatile.Read(System.SByte) | [NonVersionableAttribute(...)] | -| System.Security.AllowPartiallyTrustedCallersAttribute.<PartialTrustVisibilityLevel>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Security.PartialTrustVisibilityLevel System.Security.AllowPartiallyTrustedCallersAttribute.get_PartialTrustVisibilityLevel() | [CompilerGeneratedAttribute(...)] | -| System.Security.Permissions.SecurityAction System.Security.Permissions.SecurityAttribute.get_Action() | [CompilerGeneratedAttribute(...)] | -| System.Security.Permissions.SecurityAttribute.<Action>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Security.Permissions.SecurityAttribute.<Unrestricted>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Security.Permissions.SecurityPermissionAttribute.<Assertion>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Security.Permissions.SecurityPermissionAttribute.<BindingRedirects>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Security.Permissions.SecurityPermissionAttribute.<ControlAppDomain>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Security.Permissions.SecurityPermissionAttribute.<ControlDomainPolicy>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Security.Permissions.SecurityPermissionAttribute.<ControlEvidence>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Security.Permissions.SecurityPermissionAttribute.<ControlPolicy>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Security.Permissions.SecurityPermissionAttribute.<ControlPrincipal>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Security.Permissions.SecurityPermissionAttribute.<ControlThread>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Security.Permissions.SecurityPermissionAttribute.<Execution>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Security.Permissions.SecurityPermissionAttribute.<Flags>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Security.Permissions.SecurityPermissionAttribute.<Infrastructure>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Security.Permissions.SecurityPermissionAttribute.<RemotingConfiguration>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Security.Permissions.SecurityPermissionAttribute.<SerializationFormatter>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Security.Permissions.SecurityPermissionAttribute.<SkipVerification>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Security.Permissions.SecurityPermissionAttribute.<UnmanagedCode>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Security.Permissions.SecurityPermissionFlag | [FlagsAttribute(...)] | -| System.Security.Permissions.SecurityPermissionFlag System.Security.Permissions.SecurityPermissionAttribute.get_Flags() | [CompilerGeneratedAttribute(...)] | -| System.Security.SecurityCriticalAttribute.<Scope>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Security.SecurityCriticalScope System.Security.SecurityCriticalAttribute.get_Scope() | [CompilerGeneratedAttribute(...)] | -| System.Security.SecurityElement.<>c | [CompilerGeneratedAttribute(...)] | -| System.Security.SecurityException.<Demanded>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Security.SecurityException.<DenySetInstance>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Security.SecurityException.<FailedAssemblyInfo>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Security.SecurityException.<GrantedSet>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Security.SecurityException.<Method>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Security.SecurityException.<PermissionState>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Security.SecurityException.<PermissionType>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Security.SecurityException.<PermitOnlySetInstance>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Security.SecurityException.<RefusedSet>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Security.SecurityException.<Url>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Security.SecurityRuleSet System.Security.SecurityRulesAttribute.get_RuleSet() | [CompilerGeneratedAttribute(...)] | -| System.Security.SecurityRulesAttribute.<RuleSet>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Security.SecurityRulesAttribute.<SkipVerificationInFullTrust>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Signature System.Reflection.Emit.DynamicMethod.<get_Signature>g__LazyCreateSignature\|23_0() | [CompilerGeneratedAttribute(...)] | -| System.Signature System.Reflection.RuntimeConstructorInfo.<get_Signature>g__LazyCreateSignature\|21_0() | [CompilerGeneratedAttribute(...)] | -| System.Signature System.Reflection.RuntimeMethodInfo.<get_Signature>g__LazyCreateSignature\|25_0() | [CompilerGeneratedAttribute(...)] | -| System.Single System.BitConverter.Int32BitsToSingle(System.Int32) | [IntrinsicAttribute(...)] | -| System.Single System.BitConverter.UInt32BitsToSingle(System.UInt32) | [IntrinsicAttribute(...)] | -| System.Single System.Diagnostics.Tracing.CounterPayload.get_IntervalSec() | [CompilerGeneratedAttribute(...)] | -| System.Single System.Diagnostics.Tracing.IncrementingCounterPayload.get_IntervalSec() | [CompilerGeneratedAttribute(...)] | -| System.Single System.Math.Abs(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.Math.Max(System.Single,System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.Math.Min(System.Single,System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.MathF.<CopySign>g__SoftwareFallback\|42_0(System.Single,System.Single) | [CompilerGeneratedAttribute(...)] | -| System.Single System.MathF.Abs(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.MathF.Acos(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.MathF.Acosh(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.MathF.Asin(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.MathF.Asinh(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.MathF.Atan2(System.Single,System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.MathF.Atan(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.MathF.Atanh(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.MathF.Cbrt(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.MathF.Ceiling(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.MathF.Cos(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.MathF.Cosh(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.MathF.Exp(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.MathF.Floor(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.MathF.FusedMultiplyAdd(System.Single,System.Single,System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.MathF.Log2(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.MathF.Log10(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.MathF.Log(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.MathF.Max(System.Single,System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.MathF.MaxMagnitude(System.Single,System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.MathF.Min(System.Single,System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.MathF.MinMagnitude(System.Single,System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.MathF.Pow(System.Single,System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.MathF.Round(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.MathF.Sin(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.MathF.Sinh(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.MathF.Sqrt(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.MathF.Tan(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.MathF.Tanh(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.MathF.Truncate(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.Numerics.Matrix3x2.GetDeterminant() | [IsReadOnlyAttribute(...)] | -| System.Single System.Numerics.Matrix3x2.Impl.GetDeterminant() | [IsReadOnlyAttribute(...)] | -| System.Single System.Numerics.Matrix3x2.Impl.get_Item(System.Int32,System.Int32) | [IsReadOnlyAttribute(...)] | -| System.Single System.Numerics.Matrix3x2.get_Item(System.Int32,System.Int32) | [IsReadOnlyAttribute(...)] | -| System.Single System.Numerics.Matrix4x4.GetDeterminant() | [IsReadOnlyAttribute(...)] | -| System.Single System.Numerics.Matrix4x4.Impl.GetDeterminant() | [IsReadOnlyAttribute(...)] | -| System.Single System.Numerics.Matrix4x4.Impl.get_Item(System.Int32,System.Int32) | [IsReadOnlyAttribute(...)] | -| System.Single System.Numerics.Matrix4x4.get_Item(System.Int32,System.Int32) | [IsReadOnlyAttribute(...)] | -| System.Single System.Numerics.Plane.Dot(System.Numerics.Plane,System.Numerics.Vector4) | [IntrinsicAttribute(...)] | -| System.Single System.Numerics.Quaternion.Dot(System.Numerics.Quaternion,System.Numerics.Quaternion) | [IntrinsicAttribute(...)] | -| System.Single System.Numerics.Quaternion.Length() | [IntrinsicAttribute(...)] | -| System.Single System.Numerics.Quaternion.Length() | [IsReadOnlyAttribute(...)] | -| System.Single System.Numerics.Quaternion.LengthSquared() | [IntrinsicAttribute(...)] | -| System.Single System.Numerics.Quaternion.LengthSquared() | [IsReadOnlyAttribute(...)] | -| System.Single System.Numerics.Quaternion.get_Item(System.Int32) | [IntrinsicAttribute(...)] | -| System.Single System.Numerics.Quaternion.get_Item(System.Int32) | [IsReadOnlyAttribute(...)] | -| System.Single System.Numerics.Vector2.Distance(System.Numerics.Vector2,System.Numerics.Vector2) | [IntrinsicAttribute(...)] | -| System.Single System.Numerics.Vector2.DistanceSquared(System.Numerics.Vector2,System.Numerics.Vector2) | [IntrinsicAttribute(...)] | -| System.Single System.Numerics.Vector2.Dot(System.Numerics.Vector2,System.Numerics.Vector2) | [IntrinsicAttribute(...)] | -| System.Single System.Numerics.Vector2.Length() | [IntrinsicAttribute(...)] | -| System.Single System.Numerics.Vector2.Length() | [IsReadOnlyAttribute(...)] | -| System.Single System.Numerics.Vector2.LengthSquared() | [IntrinsicAttribute(...)] | -| System.Single System.Numerics.Vector2.LengthSquared() | [IsReadOnlyAttribute(...)] | -| System.Single System.Numerics.Vector2.get_Item(System.Int32) | [IntrinsicAttribute(...)] | -| System.Single System.Numerics.Vector2.get_Item(System.Int32) | [IsReadOnlyAttribute(...)] | -| System.Single System.Numerics.Vector3.Distance(System.Numerics.Vector3,System.Numerics.Vector3) | [IntrinsicAttribute(...)] | -| System.Single System.Numerics.Vector3.DistanceSquared(System.Numerics.Vector3,System.Numerics.Vector3) | [IntrinsicAttribute(...)] | -| System.Single System.Numerics.Vector3.Dot(System.Numerics.Vector3,System.Numerics.Vector3) | [IntrinsicAttribute(...)] | -| System.Single System.Numerics.Vector3.Length() | [IntrinsicAttribute(...)] | -| System.Single System.Numerics.Vector3.Length() | [IsReadOnlyAttribute(...)] | -| System.Single System.Numerics.Vector3.LengthSquared() | [IntrinsicAttribute(...)] | -| System.Single System.Numerics.Vector3.LengthSquared() | [IsReadOnlyAttribute(...)] | -| System.Single System.Numerics.Vector3.get_Item(System.Int32) | [IntrinsicAttribute(...)] | -| System.Single System.Numerics.Vector3.get_Item(System.Int32) | [IsReadOnlyAttribute(...)] | -| System.Single System.Numerics.Vector4.Distance(System.Numerics.Vector4,System.Numerics.Vector4) | [IntrinsicAttribute(...)] | -| System.Single System.Numerics.Vector4.DistanceSquared(System.Numerics.Vector4,System.Numerics.Vector4) | [IntrinsicAttribute(...)] | -| System.Single System.Numerics.Vector4.Dot(System.Numerics.Vector4,System.Numerics.Vector4) | [IntrinsicAttribute(...)] | -| System.Single System.Numerics.Vector4.Length() | [IntrinsicAttribute(...)] | -| System.Single System.Numerics.Vector4.Length() | [IsReadOnlyAttribute(...)] | -| System.Single System.Numerics.Vector4.LengthSquared() | [IntrinsicAttribute(...)] | -| System.Single System.Numerics.Vector4.LengthSquared() | [IsReadOnlyAttribute(...)] | -| System.Single System.Numerics.Vector4.get_Item(System.Int32) | [IntrinsicAttribute(...)] | -| System.Single System.Numerics.Vector4.get_Item(System.Int32) | [IsReadOnlyAttribute(...)] | -| System.Single System.Numerics.Vector.GetElement(System.Numerics.Quaternion,System.Int32) | [ExtensionAttribute(...)] | -| System.Single System.Numerics.Vector.GetElement(System.Numerics.Quaternion,System.Int32) | [IntrinsicAttribute(...)] | -| System.Single System.Numerics.Vector.GetElement(System.Numerics.Vector2,System.Int32) | [ExtensionAttribute(...)] | -| System.Single System.Numerics.Vector.GetElement(System.Numerics.Vector2,System.Int32) | [IntrinsicAttribute(...)] | -| System.Single System.Numerics.Vector.GetElement(System.Numerics.Vector3,System.Int32) | [ExtensionAttribute(...)] | -| System.Single System.Numerics.Vector.GetElement(System.Numerics.Vector3,System.Int32) | [IntrinsicAttribute(...)] | -| System.Single System.Numerics.Vector.GetElement(System.Numerics.Vector4,System.Int32) | [ExtensionAttribute(...)] | -| System.Single System.Numerics.Vector.GetElement(System.Numerics.Vector4,System.Int32) | [IntrinsicAttribute(...)] | -| System.Single System.Numerics.Vector.GetElementUnsafe(System.Numerics.Quaternion,System.Int32) | [ExtensionAttribute(...)] | -| System.Single System.Numerics.Vector.GetElementUnsafe(System.Numerics.Vector2,System.Int32) | [ExtensionAttribute(...)] | -| System.Single System.Numerics.Vector.GetElementUnsafe(System.Numerics.Vector3,System.Int32) | [ExtensionAttribute(...)] | -| System.Single System.Numerics.Vector.GetElementUnsafe(System.Numerics.Vector4,System.Int32) | [ExtensionAttribute(...)] | -| System.Single System.Runtime.InteropServices.NFloat.op_Explicit(System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.Single System.Single.<RootN>g__NegativeN\|219_1(System.Single,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Single System.Single.<RootN>g__PositiveN\|219_0(System.Single,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Single System.Single.Abs(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.Single.Acos(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.Single.Acosh(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.Single.Asin(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.Single.Asinh(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.Single.Atan2(System.Single,System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.Single.Atan(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.Single.Atanh(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.Single.Cbrt(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.Single.Ceiling(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.Single.Cos(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.Single.Cosh(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.Single.Exp(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.Single.Floor(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.Single.FusedMultiplyAdd(System.Single,System.Single,System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.Single.Log2(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.Single.Log10(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.Single.Log(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.Single.Max(System.Single,System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.Single.MaxMagnitude(System.Single,System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.Single.MaxMagnitudeNumber(System.Single,System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.Single.MaxNumber(System.Single,System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.Single.Min(System.Single,System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.Single.MinMagnitude(System.Single,System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.Single.MinMagnitudeNumber(System.Single,System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.Single.MinNumber(System.Single,System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.Single.Pow(System.Single,System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.Single.Round(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.Single.Sin(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.Single.Sinh(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.Single.Sqrt(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.Single.Tan(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.Single.Tanh(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.Single.Truncate(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.Threading.Volatile.Read(System.Single) | [IntrinsicAttribute(...)] | -| System.Single System.Threading.Volatile.Read(System.Single) | [NonVersionableAttribute(...)] | -| System.Span<!0> System.MemoryExtensions.AsSpan`1(!0[]) | [ExtensionAttribute(...)] | -| System.Span<!0> System.MemoryExtensions.AsSpan`1(!0[],System.Index) | [ExtensionAttribute(...)] | -| System.Span<!0> System.MemoryExtensions.AsSpan`1(!0[],System.Int32) | [ExtensionAttribute(...)] | -| System.Span<!0> System.MemoryExtensions.AsSpan`1(!0[],System.Int32,System.Int32) | [ExtensionAttribute(...)] | -| System.Span<!0> System.MemoryExtensions.AsSpan`1(!0[],System.Range) | [ExtensionAttribute(...)] | -| System.Span<!0> System.MemoryExtensions.AsSpan`1(System.ArraySegment<!0>) | [ExtensionAttribute(...)] | -| System.Span<!0> System.MemoryExtensions.AsSpan`1(System.ArraySegment<!0>,System.Index) | [ExtensionAttribute(...)] | -| System.Span<!0> System.MemoryExtensions.AsSpan`1(System.ArraySegment<!0>,System.Int32) | [ExtensionAttribute(...)] | -| System.Span<!0> System.MemoryExtensions.AsSpan`1(System.ArraySegment<!0>,System.Int32,System.Int32) | [ExtensionAttribute(...)] | -| System.Span<!0> System.MemoryExtensions.AsSpan`1(System.ArraySegment<!0>,System.Range) | [ExtensionAttribute(...)] | -| System.Span<!0> System.MemoryExtensions.TrimEnd`1(System.Span<!0>,!0) | [ExtensionAttribute(...)] | -| System.Span<!0> System.MemoryExtensions.TrimEnd`1(System.Span<!0>,System.ReadOnlySpan<!0>) | [ExtensionAttribute(...)] | -| System.Span<!0> System.MemoryExtensions.TrimStart`1(System.Span<!0>,!0) | [ExtensionAttribute(...)] | -| System.Span<!0> System.MemoryExtensions.TrimStart`1(System.Span<!0>,System.ReadOnlySpan<!0>) | [ExtensionAttribute(...)] | -| System.Span<!0> System.MemoryExtensions.Trim`1(System.Span<!0>,!0) | [ExtensionAttribute(...)] | -| System.Span<!0> System.MemoryExtensions.Trim`1(System.Span<!0>,System.ReadOnlySpan<!0>) | [ExtensionAttribute(...)] | -| System.Span<!0> System.Reflection.MethodBase.ArgumentData`1.AsSpan(System.Int32) | [UnscopedRefAttribute(...)] | -| System.Span<System.Char> System.MemoryExtensions.<Trim>g__TrimFallback\|228_0(System.Span<System.Char>) | [CompilerGeneratedAttribute(...)] | -| System.Span<System.Char> System.MemoryExtensions.Trim(System.Span<System.Char>) | [ExtensionAttribute(...)] | -| System.Span<System.Char> System.MemoryExtensions.TrimEnd(System.Span<System.Char>) | [ExtensionAttribute(...)] | -| System.Span<System.Char> System.MemoryExtensions.TrimStart(System.Span<System.Char>) | [ExtensionAttribute(...)] | -| System.SpanHelpers | [ExtensionAttribute(...)] | -| System.SpanHelpers.ComparerComparable`2 | [IsReadOnlyAttribute(...)] | -| System.SpanHelpers.DontNegate`1 | [IsReadOnlyAttribute(...)] | -| System.SpanHelpers.Negate`1 | [IsReadOnlyAttribute(...)] | -| System.Span`1 | [IsByRefLikeAttribute(...)] | -| System.Span`1 | [IsReadOnlyAttribute(...)] | -| System.Span`1 | [NonVersionableAttribute(...)] | -| System.Span`1.Enumerator | [IsByRefLikeAttribute(...)] | -| System.String System.ApplicationId.get_Culture() | [CompilerGeneratedAttribute(...)] | -| System.String System.ApplicationId.get_Name() | [CompilerGeneratedAttribute(...)] | -| System.String System.ApplicationId.get_ProcessorArchitecture() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.get_AssemblyName() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.get_Condition() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.get_MemberSignature() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.get_TypeName() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute.get_Justification() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.CodeAnalysis.ExperimentalAttribute.get_DiagnosticId() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.CodeAnalysis.ExperimentalAttribute.get_UrlFormat() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.get_ParameterName() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.CodeAnalysis.RequiresAssemblyFilesAttribute.get_Message() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.CodeAnalysis.RequiresAssemblyFilesAttribute.get_Url() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.get_Message() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.get_Url() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute.get_Message() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute.get_Url() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.get_Syntax() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.CodeAnalysis.SuppressMessageAttribute.get_Category() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.CodeAnalysis.SuppressMessageAttribute.get_CheckId() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.CodeAnalysis.SuppressMessageAttribute.get_Justification() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.CodeAnalysis.SuppressMessageAttribute.get_MessageId() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.CodeAnalysis.SuppressMessageAttribute.get_Scope() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.CodeAnalysis.SuppressMessageAttribute.get_Target() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.get_Category() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.get_CheckId() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.get_Justification() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.get_MessageId() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.get_Scope() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.get_Target() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.ConditionalAttribute.get_ConditionString() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.DebuggerDisplayAttribute.get_Name() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.DebuggerDisplayAttribute.get_TargetTypeName() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.DebuggerDisplayAttribute.get_Type() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.DebuggerDisplayAttribute.get_Value() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.DebuggerTypeProxyAttribute.get_ProxyTypeName() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.DebuggerTypeProxyAttribute.get_TargetTypeName() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.DebuggerVisualizerAttribute.get_Description() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.DebuggerVisualizerAttribute.get_TargetTypeName() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.DebuggerVisualizerAttribute.get_VisualizerObjectSourceTypeName() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.DebuggerVisualizerAttribute.get_VisualizerTypeName() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.Tracing.CounterPayload.get_CounterType() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.Tracing.CounterPayload.get_DisplayName() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.Tracing.CounterPayload.get_DisplayUnits() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.Tracing.CounterPayload.get_Metadata() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.Tracing.CounterPayload.get_Name() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.Tracing.CounterPayload.get_Series() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.Tracing.DiagnosticCounter.get_Name() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.Tracing.EventAttribute.get_Message() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.Tracing.EventDataAttribute.get_Name() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.Tracing.EventFieldAttribute.get_Name() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.Tracing.EventSourceAttribute.get_Guid() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.Tracing.EventSourceAttribute.get_LocalizationResources() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.Tracing.EventSourceAttribute.get_Name() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.Tracing.IncrementingCounterPayload.get_CounterType() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.Tracing.IncrementingCounterPayload.get_DisplayName() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.Tracing.IncrementingCounterPayload.get_DisplayRateTimeScale() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.Tracing.IncrementingCounterPayload.get_DisplayUnits() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.Tracing.IncrementingCounterPayload.get_Metadata() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.Tracing.IncrementingCounterPayload.get_Name() | [CompilerGeneratedAttribute(...)] | -| System.String System.Diagnostics.Tracing.IncrementingCounterPayload.get_Series() | [CompilerGeneratedAttribute(...)] | -| System.String System.Enum.<ToString>g__HandleRareTypes\|55_0(System.RuntimeType,System.Byte) | [CompilerGeneratedAttribute(...)] | -| System.String System.Enum.<ToString>g__HandleRareTypes\|56_0(System.RuntimeType,System.Char,System.Byte) | [CompilerGeneratedAttribute(...)] | -| System.String System.IO.File.<IterateFileLinesAsync>d__110.get_Current() | [DebuggerHiddenAttribute(...)] | -| System.String System.IO.FileLoadException.get_FileName() | [CompilerGeneratedAttribute(...)] | -| System.String System.IO.FileLoadException.get_FusionLog() | [CompilerGeneratedAttribute(...)] | -| System.String System.IO.FileNotFoundException.get_FileName() | [CompilerGeneratedAttribute(...)] | -| System.String System.IO.FileNotFoundException.get_FusionLog() | [CompilerGeneratedAttribute(...)] | -| System.String System.IO.Win32Marshal.<GetExceptionForWin32Error>g__GetPInvokeErrorMessage\|1_0(System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.String System.Number.<FormatInt32>g__FormatInt32Slow\|41_0(System.Int32,System.Int32,System.String,System.IFormatProvider) | [CompilerGeneratedAttribute(...)] | -| System.String System.Number.<FormatInt64>g__FormatInt64Slow\|45_0(System.Int64,System.String,System.IFormatProvider) | [CompilerGeneratedAttribute(...)] | -| System.String System.Number.<FormatInt128>g__FormatInt128Slow\|49_0(System.Int128,System.String,System.IFormatProvider) | [CompilerGeneratedAttribute(...)] | -| System.String System.Number.<FormatUInt32>g__FormatUInt32Slow\|43_0(System.UInt32,System.String,System.IFormatProvider) | [CompilerGeneratedAttribute(...)] | -| System.String System.Number.<FormatUInt64>g__FormatUInt64Slow\|47_0(System.UInt64,System.String,System.IFormatProvider) | [CompilerGeneratedAttribute(...)] | -| System.String System.Number.<FormatUInt128>g__FormatUInt128Slow\|51_0(System.UInt128,System.String,System.IFormatProvider) | [CompilerGeneratedAttribute(...)] | -| System.String System.Number.<UInt32ToDecStrForKnownSmallNumber>g__CreateAndCacheString\|70_0(System.UInt32) | [CompilerGeneratedAttribute(...)] | -| System.String System.Numerics.Matrix3x2.ToString() | [IsReadOnlyAttribute(...)] | -| System.String System.Numerics.Matrix4x4.ToString() | [IsReadOnlyAttribute(...)] | -| System.String System.Numerics.Plane.ToString() | [IsReadOnlyAttribute(...)] | -| System.String System.Numerics.Quaternion.ToString() | [IsReadOnlyAttribute(...)] | -| System.String System.Numerics.Vector2.ToString() | [IsReadOnlyAttribute(...)] | -| System.String System.Numerics.Vector2.ToString(System.String) | [IsReadOnlyAttribute(...)] | -| System.String System.Numerics.Vector2.ToString(System.String,System.IFormatProvider) | [IsReadOnlyAttribute(...)] | -| System.String System.Numerics.Vector3.ToString() | [IsReadOnlyAttribute(...)] | -| System.String System.Numerics.Vector3.ToString(System.String) | [IsReadOnlyAttribute(...)] | -| System.String System.Numerics.Vector3.ToString(System.String,System.IFormatProvider) | [IsReadOnlyAttribute(...)] | -| System.String System.Numerics.Vector4.ToString() | [IsReadOnlyAttribute(...)] | -| System.String System.Numerics.Vector4.ToString(System.String) | [IsReadOnlyAttribute(...)] | -| System.String System.Numerics.Vector4.ToString(System.String,System.IFormatProvider) | [IsReadOnlyAttribute(...)] | -| System.String System.ObsoleteAttribute.get_DiagnosticId() | [CompilerGeneratedAttribute(...)] | -| System.String System.ObsoleteAttribute.get_Message() | [CompilerGeneratedAttribute(...)] | -| System.String System.ObsoleteAttribute.get_UrlFormat() | [CompilerGeneratedAttribute(...)] | -| System.String System.Reflection.AssemblyCompanyAttribute.get_Company() | [CompilerGeneratedAttribute(...)] | -| System.String System.Reflection.AssemblyConfigurationAttribute.get_Configuration() | [CompilerGeneratedAttribute(...)] | -| System.String System.Reflection.AssemblyCopyrightAttribute.get_Copyright() | [CompilerGeneratedAttribute(...)] | -| System.String System.Reflection.AssemblyCultureAttribute.get_Culture() | [CompilerGeneratedAttribute(...)] | -| System.String System.Reflection.AssemblyDefaultAliasAttribute.get_DefaultAlias() | [CompilerGeneratedAttribute(...)] | -| System.String System.Reflection.AssemblyDescriptionAttribute.get_Description() | [CompilerGeneratedAttribute(...)] | -| System.String System.Reflection.AssemblyFileVersionAttribute.get_Version() | [CompilerGeneratedAttribute(...)] | -| System.String System.Reflection.AssemblyInformationalVersionAttribute.get_InformationalVersion() | [CompilerGeneratedAttribute(...)] | -| System.String System.Reflection.AssemblyKeyFileAttribute.get_KeyFile() | [CompilerGeneratedAttribute(...)] | -| System.String System.Reflection.AssemblyKeyNameAttribute.get_KeyName() | [CompilerGeneratedAttribute(...)] | -| System.String System.Reflection.AssemblyMetadataAttribute.get_Key() | [CompilerGeneratedAttribute(...)] | -| System.String System.Reflection.AssemblyMetadataAttribute.get_Value() | [CompilerGeneratedAttribute(...)] | -| System.String System.Reflection.AssemblyProductAttribute.get_Product() | [CompilerGeneratedAttribute(...)] | -| System.String System.Reflection.AssemblySignatureKeyAttribute.get_Countersignature() | [CompilerGeneratedAttribute(...)] | -| System.String System.Reflection.AssemblySignatureKeyAttribute.get_PublicKey() | [CompilerGeneratedAttribute(...)] | -| System.String System.Reflection.AssemblyTitleAttribute.get_Title() | [CompilerGeneratedAttribute(...)] | -| System.String System.Reflection.AssemblyTrademarkAttribute.get_Trademark() | [CompilerGeneratedAttribute(...)] | -| System.String System.Reflection.AssemblyVersionAttribute.get_Version() | [CompilerGeneratedAttribute(...)] | -| System.String System.Reflection.DefaultMemberAttribute.get_MemberName() | [CompilerGeneratedAttribute(...)] | -| System.String System.Reflection.ManifestResourceInfo.get_FileName() | [CompilerGeneratedAttribute(...)] | -| System.String System.Reflection.ObfuscationAttribute.get_Feature() | [CompilerGeneratedAttribute(...)] | -| System.String System.Reflection.TypeNameParser.<ParseNamedTypeName>g__ApplyLeadingDotCompatQuirk\|25_0(System.String) | [CompilerGeneratedAttribute(...)] | -| System.String System.ResolveEventArgs.get_Name() | [CompilerGeneratedAttribute(...)] | -| System.String System.Resources.NeutralResourcesLanguageAttribute.get_CultureName() | [CompilerGeneratedAttribute(...)] | -| System.String System.Resources.SatelliteContractVersionAttribute.get_Version() | [CompilerGeneratedAttribute(...)] | -| System.String System.Runtime.AssemblyTargetedPatchBandAttribute.get_TargetedPatchBand() | [CompilerGeneratedAttribute(...)] | -| System.String System.Runtime.CompilerServices.AccessedThroughPropertyAttribute.get_PropertyName() | [CompilerGeneratedAttribute(...)] | -| System.String System.Runtime.CompilerServices.CallerArgumentExpressionAttribute.get_ParameterName() | [CompilerGeneratedAttribute(...)] | -| System.String System.Runtime.CompilerServices.CollectionBuilderAttribute.get_MethodName() | [CompilerGeneratedAttribute(...)] | -| System.String System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute.get_FeatureName() | [CompilerGeneratedAttribute(...)] | -| System.String System.Runtime.CompilerServices.ContractHelper.RaiseContractFailedEvent(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.Exception) | [DebuggerNonUserCodeAttribute(...)] | -| System.String System.Runtime.CompilerServices.DependencyAttribute.get_DependentAssembly() | [CompilerGeneratedAttribute(...)] | -| System.String System.Runtime.CompilerServices.InternalsVisibleToAttribute.get_AssemblyName() | [CompilerGeneratedAttribute(...)] | -| System.String System.Runtime.CompilerServices.ReferenceAssemblyAttribute.get_Description() | [CompilerGeneratedAttribute(...)] | -| System.String System.Runtime.CompilerServices.TypeForwardedFromAttribute.get_AssemblyFullName() | [CompilerGeneratedAttribute(...)] | -| System.String System.Runtime.CompilerServices.UnsafeAccessorAttribute.get_Name() | [CompilerGeneratedAttribute(...)] | -| System.String System.Runtime.InteropServices.BStrWrapper.get_WrappedObject() | [CompilerGeneratedAttribute(...)] | -| System.String System.Runtime.InteropServices.ComSourceInterfacesAttribute.get_Value() | [CompilerGeneratedAttribute(...)] | -| System.String System.Runtime.InteropServices.DllImportAttribute.get_Value() | [CompilerGeneratedAttribute(...)] | -| System.String System.Runtime.InteropServices.GuidAttribute.get_Value() | [CompilerGeneratedAttribute(...)] | -| System.String System.Runtime.InteropServices.LibraryImportAttribute.get_EntryPoint() | [CompilerGeneratedAttribute(...)] | -| System.String System.Runtime.InteropServices.LibraryImportAttribute.get_LibraryName() | [CompilerGeneratedAttribute(...)] | -| System.String System.Runtime.InteropServices.Marshalling.MarshalUsingAttribute.get_CountElementName() | [CompilerGeneratedAttribute(...)] | -| System.String System.Runtime.InteropServices.OSPlatform.get_Name() | [CompilerGeneratedAttribute(...)] | -| System.String System.Runtime.InteropServices.ProgIdAttribute.get_Value() | [CompilerGeneratedAttribute(...)] | -| System.String System.Runtime.InteropServices.TypeIdentifierAttribute.get_Identifier() | [CompilerGeneratedAttribute(...)] | -| System.String System.Runtime.InteropServices.TypeIdentifierAttribute.get_Scope() | [CompilerGeneratedAttribute(...)] | -| System.String System.Runtime.TargetedPatchingOptOutAttribute.get_Reason() | [CompilerGeneratedAttribute(...)] | -| System.String System.Runtime.Versioning.OSPlatformAttribute.get_PlatformName() | [CompilerGeneratedAttribute(...)] | -| System.String System.Runtime.Versioning.ObsoletedOSPlatformAttribute.get_Message() | [CompilerGeneratedAttribute(...)] | -| System.String System.Runtime.Versioning.ObsoletedOSPlatformAttribute.get_Url() | [CompilerGeneratedAttribute(...)] | -| System.String System.Runtime.Versioning.RequiresPreviewFeaturesAttribute.get_Message() | [CompilerGeneratedAttribute(...)] | -| System.String System.Runtime.Versioning.RequiresPreviewFeaturesAttribute.get_Url() | [CompilerGeneratedAttribute(...)] | -| System.String System.Runtime.Versioning.UnsupportedOSPlatformAttribute.get_Message() | [CompilerGeneratedAttribute(...)] | -| System.String System.Security.SecurityException.get_GrantedSet() | [CompilerGeneratedAttribute(...)] | -| System.String System.Security.SecurityException.get_PermissionState() | [CompilerGeneratedAttribute(...)] | -| System.String System.Security.SecurityException.get_RefusedSet() | [CompilerGeneratedAttribute(...)] | -| System.String System.Security.SecurityException.get_Url() | [CompilerGeneratedAttribute(...)] | -| System.String System.StringNormalizationExtensions.Normalize(System.String) | [ExtensionAttribute(...)] | -| System.String System.StringNormalizationExtensions.Normalize(System.String,System.Text.NormalizationForm) | [ExtensionAttribute(...)] | -| System.String System.Text.CodePageDataItem.get_BodyName() | [CompilerGeneratedAttribute(...)] | -| System.String System.Text.CodePageDataItem.get_DisplayName() | [CompilerGeneratedAttribute(...)] | -| System.String System.Text.CodePageDataItem.get_HeaderName() | [CompilerGeneratedAttribute(...)] | -| System.String System.Text.CodePageDataItem.get_WebName() | [CompilerGeneratedAttribute(...)] | -| System.String System.Text.CompositeFormat.get_Format() | [CompilerGeneratedAttribute(...)] | -| System.String System.Text.EncodingInfo.get_DisplayName() | [CompilerGeneratedAttribute(...)] | -| System.String System.Text.EncodingInfo.get_Name() | [CompilerGeneratedAttribute(...)] | -| System.StringComparer System.Globalization.GlobalizationExtensions.GetStringComparer(System.Globalization.CompareInfo,System.Globalization.CompareOptions) | [ExtensionAttribute(...)] | -| System.StringNormalizationExtensions | [ExtensionAttribute(...)] | -| System.StringSplitOptions | [FlagsAttribute(...)] | -| System.String[] System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.get_Members() | [CompilerGeneratedAttribute(...)] | -| System.String[] System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.get_Members() | [CompilerGeneratedAttribute(...)] | -| System.String[] System.Runtime.CompilerServices.InterpolatedStringHandlerArgumentAttribute.get_Arguments() | [CompilerGeneratedAttribute(...)] | -| System.StubHelpers.StubHelpers.s_pendingExceptionObject | [ThreadStaticAttribute(...)] | -| System.TermInfo.ParameterizedStrings.FormatParam | [IsReadOnlyAttribute(...)] | -| System.TermInfo.ParameterizedStrings.FormatParam[] | [ParamArrayAttribute(...)] | -| System.TermInfo.ParameterizedStrings.t_cachedOneElementArgsArray | [ThreadStaticAttribute(...)] | -| System.TermInfo.ParameterizedStrings.t_cachedStack | [ThreadStaticAttribute(...)] | -| System.TermInfo.ParameterizedStrings.t_cachedTwoElementArgsArray | [ThreadStaticAttribute(...)] | -| System.Text.Ascii.PlainLoader`1 | [IsReadOnlyAttribute(...)] | -| System.Text.Ascii.WideningLoader | [IsReadOnlyAttribute(...)] | -| System.Text.CodePageDataItem.<BodyName>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Text.CodePageDataItem.<DisplayName>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Text.CodePageDataItem.<Flags>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Text.CodePageDataItem.<HeaderName>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Text.CodePageDataItem.<UIFamilyCodePage>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Text.CodePageDataItem.<WebName>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Text.CompositeFormat.<Format>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Text.Encoding System.Text.EncodingExtensions.RemovePreamble(System.Text.Encoding) | [ExtensionAttribute(...)] | -| System.Text.EncodingExtensions | [ExtensionAttribute(...)] | -| System.Text.EncodingInfo.<CodePage>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Text.EncodingInfo.<DisplayName>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Text.EncodingInfo.<Name>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Text.EncodingInfo.<Provider>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Text.EncodingProvider System.Text.EncodingInfo.get_Provider() | [CompilerGeneratedAttribute(...)] | -| System.Text.Rune | [IsReadOnlyAttribute(...)] | -| System.Text.SpanLineEnumerator | [IsByRefLikeAttribute(...)] | -| System.Text.SpanLineEnumerator System.MemoryExtensions.EnumerateLines(System.ReadOnlySpan<System.Char>) | [ExtensionAttribute(...)] | -| System.Text.SpanLineEnumerator System.MemoryExtensions.EnumerateLines(System.Span<System.Char>) | [ExtensionAttribute(...)] | -| System.Text.SpanRuneEnumerator | [IsByRefLikeAttribute(...)] | -| System.Text.SpanRuneEnumerator System.MemoryExtensions.EnumerateRunes(System.ReadOnlySpan<System.Char>) | [ExtensionAttribute(...)] | -| System.Text.SpanRuneEnumerator System.MemoryExtensions.EnumerateRunes(System.Span<System.Char>) | [ExtensionAttribute(...)] | -| System.Text.StringBuilder | [NotNullAttribute(...)] | -| System.Text.StringBuilder.AppendInterpolatedStringHandler | [InterpolatedStringHandlerAttribute(...)] | -| System.Text.StringBuilderCache.t_cachedInstance | [ThreadStaticAttribute(...)] | -| System.Text.TranscodingStream.<<DisposeAsync>g__DisposeAsyncCore\|30_0>d | [CompilerGeneratedAttribute(...)] | -| System.Text.TranscodingStream.<<ReadAsync>g__ReadAsyncCore\|41_0>d | [CompilerGeneratedAttribute(...)] | -| System.Text.TranscodingStream.<<WriteAsync>g__WriteAsyncCore\|50_0>d | [CompilerGeneratedAttribute(...)] | -| System.Text.TrimType | [FlagsAttribute(...)] | -| System.Text.Unicode.GraphemeClusterBreakType System.Text.Unicode.TextSegmentationUtility.Processor`1.get_CurrentType() | [CompilerGeneratedAttribute(...)] | -| System.Text.Unicode.GraphemeClusterBreakType System.Text.Unicode.TextSegmentationUtility.Processor`1.get_CurrentType() | [IsReadOnlyAttribute(...)] | -| System.Text.Unicode.TextSegmentationUtility.Processor`1 | [IsByRefLikeAttribute(...)] | -| System.Text.Unicode.TextSegmentationUtility.Processor`1.<CurrentCodeUnitOffset>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Text.Unicode.TextSegmentationUtility.Processor`1.<CurrentType>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Text.Unicode.Utf8.TryWriteInterpolatedStringHandler | [InterpolatedStringHandlerAttribute(...)] | -| System.Text.Unicode.Utf8.TryWriteInterpolatedStringHandler | [IsByRefLikeAttribute(...)] | -| System.Text.Unicode.Utf8.TryWriteInterpolatedStringHandler | [ScopedRefAttribute(...)] | -| System.Text.ValueStringBuilder | [IsByRefLikeAttribute(...)] | -| System.Text.ValueUtf8Converter | [IsByRefLikeAttribute(...)] | -| System.Threading.AsyncLocal<System.Boolean> System.Runtime.Serialization.SerializationInfo.get_AsyncDeserializationInProgress() | [CompilerGeneratedAttribute(...)] | -| System.Threading.AsyncLocalValueChangedArgs`1 | [IsReadOnlyAttribute(...)] | -| System.Threading.AsyncLocalValueChangedArgs`1.<CurrentValue>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Threading.AsyncLocalValueChangedArgs`1.<PreviousValue>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Threading.AsyncLocalValueChangedArgs`1.<ThreadContextChanged>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Threading.AsyncLocalValueMap.<Empty>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Threading.CancellationToken | [EnumeratorCancellationAttribute(...)] | -| System.Threading.CancellationToken | [IsReadOnlyAttribute(...)] | -| System.Threading.CancellationToken.<>c | [CompilerGeneratedAttribute(...)] | -| System.Threading.CancellationTokenRegistration | [IsReadOnlyAttribute(...)] | -| System.Threading.CancellationTokenSource.<>c | [CompilerGeneratedAttribute(...)] | -| System.Threading.CancellationTokenSource.CallbackNode.<>c | [CompilerGeneratedAttribute(...)] | -| System.Threading.CancellationTokenSource.LinkedNCancellationTokenSource.<>c | [CompilerGeneratedAttribute(...)] | -| System.Threading.CancellationTokenSource.Registrations.<WaitForCallbackToCompleteAsync>d__12 | [CompilerGeneratedAttribute(...)] | -| System.Threading.CancellationToken[] | [ParamArrayAttribute(...)] | -| System.Threading.EventWaitHandle | [NotNullAttribute(...)] | -| System.Threading.IAsyncLocalValueMap System.Threading.AsyncLocalValueMap.get_Empty() | [CompilerGeneratedAttribute(...)] | -| System.Threading.PeriodicTimer.<>c | [CompilerGeneratedAttribute(...)] | -| System.Threading.PeriodicTimer.State.<>c | [CompilerGeneratedAttribute(...)] | -| System.Threading.PortableThreadPool.GateThread.<>O | [CompilerGeneratedAttribute(...)] | -| System.Threading.PortableThreadPool.HillClimbing.Complex | [IsReadOnlyAttribute(...)] | -| System.Threading.PortableThreadPool.HillClimbing.Complex.<Imaginary>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Threading.PortableThreadPool.HillClimbing.Complex.<Real>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Threading.PortableThreadPool.WaitThread System.Threading.PortableThreadPool.WaitThreadNode.get_Thread() | [CompilerGeneratedAttribute(...)] | -| System.Threading.PortableThreadPool.WaitThread System.Threading.RegisteredWaitHandle.get_WaitThread() | [CompilerGeneratedAttribute(...)] | -| System.Threading.PortableThreadPool.WaitThreadNode System.Threading.PortableThreadPool.WaitThreadNode.get_Next() | [CompilerGeneratedAttribute(...)] | -| System.Threading.PortableThreadPool.WaitThreadNode.<Next>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Threading.PortableThreadPool.WaitThreadNode.<Thread>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Threading.PortableThreadPool.WorkerThread.<>c | [CompilerGeneratedAttribute(...)] | -| System.Threading.PortableThreadPool.t_completionCountObject | [ThreadStaticAttribute(...)] | -| System.Threading.ProcessorIdCache.t_currentProcessorIdCache | [ThreadStaticAttribute(...)] | -| System.Threading.QueueUserWorkItemCallback.<>c | [CompilerGeneratedAttribute(...)] | -| System.Threading.ReaderWriterLockSlim.WaiterStates | [FlagsAttribute(...)] | -| System.Threading.ReaderWriterLockSlim.t_rwc | [ThreadStaticAttribute(...)] | -| System.Threading.RegisteredWaitHandle.<TimeoutTimeMs>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Threading.RegisteredWaitHandle.<UserUnregisterWaitHandle>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Threading.RegisteredWaitHandle.<UserUnregisterWaitHandleValue>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Threading.RegisteredWaitHandle.<WaitThread>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Threading.SemaphoreSlim.<WaitUntilCountOrTimeoutAsync>d__31 | [CompilerGeneratedAttribute(...)] | -| System.Threading.SynchronizationContext.<>c | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.AwaitTaskContinuation.<>c | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.<>c | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.CompletionState System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.<EnsureCompletionStateInitialized>g__InitializeCompletionState\|23_0() | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ConcurrentExclusiveTaskScheduler.<>c | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ProcessingMode | [FlagsAttribute(...)] | -| System.Threading.Tasks.ConfigureAwaitOptions | [FlagsAttribute(...)] | -| System.Threading.Tasks.InternalTaskOptions | [FlagsAttribute(...)] | -| System.Threading.Tasks.Sources.ValueTaskSourceOnCompletedFlags | [FlagsAttribute(...)] | -| System.Threading.Tasks.Sources.ValueTaskSourceStatus System.IO.File.<IterateFileLinesAsync>d__110.GetStatus(System.Int16) | [DebuggerHiddenAttribute(...)] | -| System.Threading.Tasks.SynchronizationContextAwaitTaskContinuation.<>O | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.SynchronizationContextAwaitTaskContinuation.<>c | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.SynchronizationContextAwaitTaskContinuation.<>c__DisplayClass6_0 | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.SynchronizationContextTaskScheduler.<>c | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.Task System.IO.File.<WriteAllBytesAsync>g__Core\|92_0(System.String,System.Byte[],System.Threading.CancellationToken) | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.Task System.IO.Stream.<CopyToAsync>g__Core\|27_0(System.IO.Stream,System.IO.Stream,System.Int32,System.Threading.CancellationToken) | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.Task System.IO.StreamWriter.<FlushAsyncInternal>g__Core\|76_0(System.Boolean,System.Boolean,System.Threading.CancellationToken) | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.Task System.IO.TextWriter.<WriteAsync>g__WriteAsyncCore\|60_0(System.Text.StringBuilder,System.Threading.CancellationToken) | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.Task System.IO.TextWriter.<WriteLineAsync>g__WriteLineAsyncCore\|66_0(System.Text.StringBuilder,System.Threading.CancellationToken) | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.Task System.Threading.Tasks.TaskExtensions.Unwrap(System.Threading.Tasks.Task<System.Threading.Tasks.Task>) | [ExtensionAttribute(...)] | -| System.Threading.Tasks.Task System.Threading.Tasks.ThreadPoolTaskScheduler.<FilterTasksFromWorkItems>d__6.get_Current() | [DebuggerHiddenAttribute(...)] | -| System.Threading.Tasks.Task.<>c | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.Task.<Factory>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.Task.CancellationPromise`1.<>c | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.Task.ContingentProperties System.Threading.Tasks.Task.<EnsureContingentPropertiesInitialized>g__InitializeContingentProperties\|81_0() | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.Task.DelayPromiseWithCancellation.<>c | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.Task.TaskStateFlags | [FlagsAttribute(...)] | -| System.Threading.Tasks.Task.WhenAllPromise.<>c__DisplayClass3_0 | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.Task.t_currentTask | [ThreadStaticAttribute(...)] | -| System.Threading.Tasks.Task<!0> | [NotNullAttribute(...)] | -| System.Threading.Tasks.Task<!0> System.Threading.Tasks.TaskExtensions.Unwrap`1(System.Threading.Tasks.Task<System.Threading.Tasks.Task<!0>>) | [ExtensionAttribute(...)] | -| System.Threading.Tasks.Task<!0>[] | [ParamArrayAttribute(...)] | -| System.Threading.Tasks.TaskAsyncEnumerableExtensions | [ExtensionAttribute(...)] | -| System.Threading.Tasks.TaskAsyncEnumerableExtensions.<ToBlockingEnumerable>d__3`1 | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.TaskContinuationOptions | [FlagsAttribute(...)] | -| System.Threading.Tasks.TaskCreationOptions | [FlagsAttribute(...)] | -| System.Threading.Tasks.TaskExtensions | [ExtensionAttribute(...)] | -| System.Threading.Tasks.TaskFactory System.Threading.Tasks.Task.get_Factory() | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.TaskFactory`1.<>c | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.TaskFactory`1.<>c__56`1 | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.TaskFactory`1.<>c__67`1 | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.TaskFactory`1.<>c__DisplayClass32_0 | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.TaskFactory`1.<>c__DisplayClass35_0 | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.TaskFactory`1.<>c__DisplayClass38_0`1 | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.TaskFactory`1.<>c__DisplayClass41_0`2 | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.TaskFactory`1.<>c__DisplayClass44_0`3 | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.TaskScheduler.UnobservedTaskException | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.TaskSchedulerAwaitTaskContinuation.<>c | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.TaskToAsyncResult.TaskAsyncResult.<AsyncState>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.TaskToAsyncResult.TaskAsyncResult.<CompletedSynchronously>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.Task[] | [ParamArrayAttribute(...)] | -| System.Threading.Tasks.ThreadPoolTaskScheduler.<>c | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.ThreadPoolTaskScheduler.<FilterTasksFromWorkItems>d__6 | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.UnwrapPromise`1.<>c | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.ValueTask | [IsReadOnlyAttribute(...)] | -| System.Threading.Tasks.ValueTask System.IO.File.<IterateFileLinesAsync>d__110.DisposeAsync() | [DebuggerHiddenAttribute(...)] | -| System.Threading.Tasks.ValueTask System.Text.TranscodingStream.<DisposeAsync>g__DisposeAsyncCore\|30_0(System.ArraySegment<System.Byte>) | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.ValueTask System.Text.TranscodingStream.<WriteAsync>g__WriteAsyncCore\|50_0(System.ReadOnlyMemory<System.Byte>,System.Threading.CancellationToken) | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.ValueTask System.Threading.CancellationTokenRegistration.<DisposeAsync>g__WaitForCallbackIfNecessaryAsync\|4_0(System.Int64,System.Threading.CancellationTokenSource.CallbackNode) | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.ValueTask.ValueTaskSourceAsTask.<>c | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.ValueTask<!0> | [IsReadOnlyAttribute(...)] | -| System.Threading.Tasks.ValueTask<System.Boolean> System.IO.File.<IterateFileLinesAsync>d__110.MoveNextAsync() | [DebuggerHiddenAttribute(...)] | -| System.Threading.Tasks.ValueTask<System.Int32> System.IO.Stream.<ReadAsync>g__FinishReadAsync\|42_0(System.Threading.Tasks.Task<System.Int32>,System.Byte[],System.Memory<System.Byte>) | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.ValueTask<System.Int32> System.Text.TranscodingStream.<ReadAsync>g__ReadAsyncCore\|41_0(System.Memory<System.Byte>,System.Threading.CancellationToken) | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.ValueTask`1 | [IsReadOnlyAttribute(...)] | -| System.Threading.Tasks.ValueTask`1.ValueTaskSourceAsTask.<>c | [CompilerGeneratedAttribute(...)] | -| System.Threading.Tasks.VoidTaskResult | [IsReadOnlyAttribute(...)] | -| System.Threading.Thread System.Threading.Thread.get_CurrentThread() | [IntrinsicAttribute(...)] | -| System.Threading.Thread.<OptimalMaxSpinWaitsPerSpinIteration>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Threading.Thread.t_currentThread | [ThreadStaticAttribute(...)] | -| System.Threading.ThreadHandle | [IsReadOnlyAttribute(...)] | -| System.Threading.ThreadInt64PersistentCounter.t_nodeFinalizationHelpers | [ThreadStaticAttribute(...)] | -| System.Threading.ThreadLocal<System.Object> System.LocalDataStoreSlot.get_Data() | [CompilerGeneratedAttribute(...)] | -| System.Threading.ThreadLocal`1.ts_finalizationHelper | [ThreadStaticAttribute(...)] | -| System.Threading.ThreadLocal`1.ts_slotArray | [ThreadStaticAttribute(...)] | -| System.Threading.ThreadPool.<>c | [CompilerGeneratedAttribute(...)] | -| System.Threading.ThreadPool.<GetQueuedWorkItems>d__26 | [CompilerGeneratedAttribute(...)] | -| System.Threading.ThreadPoolWorkQueueThreadLocals.threadLocals | [ThreadStaticAttribute(...)] | -| System.Threading.ThreadState | [FlagsAttribute(...)] | -| System.Threading.Timer.<>c | [CompilerGeneratedAttribute(...)] | -| System.Threading.TimerQueue.<>O | [CompilerGeneratedAttribute(...)] | -| System.Threading.TimerQueue.<ActiveCount>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Threading.TimerQueue.<GetTimersForDebugger>d__7 | [CompilerGeneratedAttribute(...)] | -| System.Threading.TimerQueue.<Instances>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.Threading.TimerQueueTimer System.Threading.TimerQueue.<GetTimersForDebugger>d__7.get_Current() | [DebuggerHiddenAttribute(...)] | -| System.Threading.TimerQueueTimer.<>c | [CompilerGeneratedAttribute(...)] | -| System.Threading.TimerQueue[] System.Threading.TimerQueue.get_Instances() | [CompilerGeneratedAttribute(...)] | -| System.Threading.WaitHandle.t_safeWaitHandlesForRent | [ThreadStaticAttribute(...)] | -| System.Threading.WaitHandleExtensions | [ExtensionAttribute(...)] | -| System.ThrowHelper | [StackTraceHiddenAttribute(...)] | -| System.TimeOnly | [IsReadOnlyAttribute(...)] | -| System.TimeOnly.<>c | [CompilerGeneratedAttribute(...)] | -| System.TimeProvider System.TimeProvider.get_System() | [CompilerGeneratedAttribute(...)] | -| System.TimeProvider.<System>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.TimeSpan | [IsReadOnlyAttribute(...)] | -| System.TimeSpan | [ScopedRefAttribute(...)] | -| System.TimeSpan System.Diagnostics.Tracing.IncrementingEventCounter.get_DisplayRateTimeScale() | [CompilerGeneratedAttribute(...)] | -| System.TimeSpan System.Diagnostics.Tracing.IncrementingPollingCounter.get_DisplayRateTimeScale() | [CompilerGeneratedAttribute(...)] | -| System.TimeZoneInfo.<>c | [CompilerGeneratedAttribute(...)] | -| System.TimeZoneInfo.<>c__DisplayClass187_0 | [CompilerGeneratedAttribute(...)] | -| System.TimeZoneInfo.<HasIanaId>k__BackingField | [CompilerGeneratedAttribute(...)] | -| System.TimeZoneInfo.AdjustmentRule | [NotNullAttribute(...)] | -| System.TimeZoneInfo.TZifHead | [IsReadOnlyAttribute(...)] | -| System.TimeZoneInfo.TZifType | [IsReadOnlyAttribute(...)] | -| System.TimeZoneInfo.TransitionTime | [IsReadOnlyAttribute(...)] | -| System.TimeZoneInfoOptions | [FlagsAttribute(...)] | -| System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!7,!8,!9>> System.TupleExtensions.ToTuple`10(System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!7,!8,!9>>) | [ExtensionAttribute(...)] | -| System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!7,!8>> System.TupleExtensions.ToTuple`9(System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!7,!8>>) | [ExtensionAttribute(...)] | -| System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!7>> System.TupleExtensions.ToTuple`8(System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!7>>) | [ExtensionAttribute(...)] | -| System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!7,!8,!9>> System.TupleExtensions.ToTuple`11(System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!10,!7,!8,!9>>) | [ExtensionAttribute(...)] | -| System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!7,!8,!9>> System.TupleExtensions.ToTuple`12(System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!10,!11,!7,!8,!9>>) | [ExtensionAttribute(...)] | -| System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!7,!8,!9>> System.TupleExtensions.ToTuple`13(System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!10,!11,!12,!7,!8,!9>>) | [ExtensionAttribute(...)] | -| System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14,!15,!16,!17,!18,!19,!20>>> System.TupleExtensions.ToTuple`21(System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!10,!11,!12,!13,!7,!8,!9,System.ValueTuple<!14,!15,!16,!17,!18,!19,!20>>>) | [ExtensionAttribute(...)] | -| System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14,!15,!16,!17,!18,!19>>> System.TupleExtensions.ToTuple`20(System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!10,!11,!12,!13,!7,!8,!9,System.ValueTuple<!14,!15,!16,!17,!18,!19>>>) | [ExtensionAttribute(...)] | -| System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14,!15,!16,!17,!18>>> System.TupleExtensions.ToTuple`19(System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!10,!11,!12,!13,!7,!8,!9,System.ValueTuple<!14,!15,!16,!17,!18>>>) | [ExtensionAttribute(...)] | -| System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14,!15,!16,!17>>> System.TupleExtensions.ToTuple`18(System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!10,!11,!12,!13,!7,!8,!9,System.ValueTuple<!14,!15,!16,!17>>>) | [ExtensionAttribute(...)] | -| System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14,!15,!16>>> System.TupleExtensions.ToTuple`17(System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!10,!11,!12,!13,!7,!8,!9,System.ValueTuple<!14,!15,!16>>>) | [ExtensionAttribute(...)] | -| System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14,!15>>> System.TupleExtensions.ToTuple`16(System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!10,!11,!12,!13,!7,!8,!9,System.ValueTuple<!14,!15>>>) | [ExtensionAttribute(...)] | -| System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14>>> System.TupleExtensions.ToTuple`15(System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!10,!11,!12,!13,!7,!8,!9,System.ValueTuple<!14>>>) | [ExtensionAttribute(...)] | -| System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9>> System.TupleExtensions.ToTuple`14(System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!10,!11,!12,!13,!7,!8,!9>>) | [ExtensionAttribute(...)] | -| System.Tuple<!0,!1,!2,!3,!4,!5,!6> System.TupleExtensions.ToTuple`7(System.ValueTuple<!0,!1,!2,!3,!4,!5,!6>) | [ExtensionAttribute(...)] | -| System.Tuple<!0,!1,!2,!3,!4,!5> System.TupleExtensions.ToTuple`6(System.ValueTuple<!0,!1,!2,!3,!4,!5>) | [ExtensionAttribute(...)] | -| System.Tuple<!0,!1,!2,!3,!4> System.TupleExtensions.ToTuple`5(System.ValueTuple<!0,!1,!2,!3,!4>) | [ExtensionAttribute(...)] | -| System.Tuple<!0,!1,!2,!3> System.TupleExtensions.ToTuple`4(System.ValueTuple<!0,!1,!2,!3>) | [ExtensionAttribute(...)] | -| System.Tuple<!0,!1,!2> System.TupleExtensions.ToTuple`3(System.ValueTuple<!0,!1,!2>) | [ExtensionAttribute(...)] | -| System.Tuple<!0,!1> System.TupleExtensions.ToTuple`2(System.ValueTuple<!0,!1>) | [ExtensionAttribute(...)] | -| System.Tuple<!0> System.TupleExtensions.ToTuple`1(System.ValueTuple<!0>) | [ExtensionAttribute(...)] | -| System.TupleExtensions | [ExtensionAttribute(...)] | -| System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.get_Type() | [CompilerGeneratedAttribute(...)] | -| System.Type System.Object.GetType() | [IntrinsicAttribute(...)] | -| System.Type System.Reflection.Metadata.MetadataUpdateHandlerAttribute.get_HandlerType() | [CompilerGeneratedAttribute(...)] | -| System.Type System.Reflection.ModifiedFunctionPointerType.<GetFunctionPointerReturnType>g__Initialize\|4_0() | [CompilerGeneratedAttribute(...)] | -| System.Type System.Reflection.ModifiedHasElementType.<GetElementType>g__Initialize\|2_0() | [CompilerGeneratedAttribute(...)] | -| System.Type System.Reflection.NullabilityInfo.get_Type() | [CompilerGeneratedAttribute(...)] | -| System.Type System.Reflection.SignatureTypeExtensions.TryMakeArrayType(System.Type) | [ExtensionAttribute(...)] | -| System.Type System.Reflection.SignatureTypeExtensions.TryMakeArrayType(System.Type,System.Int32) | [ExtensionAttribute(...)] | -| System.Type System.Reflection.SignatureTypeExtensions.TryMakeByRefType(System.Type) | [ExtensionAttribute(...)] | -| System.Type System.Reflection.SignatureTypeExtensions.TryMakeGenericType(System.Type,System.Type[]) | [ExtensionAttribute(...)] | -| System.Type System.Reflection.SignatureTypeExtensions.TryMakePointerType(System.Type) | [ExtensionAttribute(...)] | -| System.Type System.Reflection.SignatureTypeExtensions.TryResolve(System.Reflection.SignatureType,System.Type[]) | [ExtensionAttribute(...)] | -| System.Type System.Reflection.SignatureTypeExtensions.TryResolveAgainstGenericMethod(System.Reflection.SignatureType,System.Reflection.MethodInfo) | [ExtensionAttribute(...)] | -| System.Type System.Resources.ResourceReader.<FindType>g__UseReflectionToGetTypeLocal\|52_0(System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Type System.Runtime.CompilerServices.AsyncMethodBuilderAttribute.get_BuilderType() | [CompilerGeneratedAttribute(...)] | -| System.Type System.Runtime.CompilerServices.CollectionBuilderAttribute.get_BuilderType() | [CompilerGeneratedAttribute(...)] | -| System.Type System.Runtime.CompilerServices.FixedBufferAttribute.get_ElementType() | [CompilerGeneratedAttribute(...)] | -| System.Type System.Runtime.CompilerServices.MetadataUpdateOriginalTypeAttribute.get_OriginalType() | [CompilerGeneratedAttribute(...)] | -| System.Type System.Runtime.CompilerServices.StateMachineAttribute.get_StateMachineType() | [CompilerGeneratedAttribute(...)] | -| System.Type System.Runtime.CompilerServices.TypeForwardedToAttribute.get_Destination() | [CompilerGeneratedAttribute(...)] | -| System.Type System.Runtime.InteropServices.CoClassAttribute.get_CoClass() | [CompilerGeneratedAttribute(...)] | -| System.Type System.Runtime.InteropServices.ComDefaultInterfaceAttribute.get_Value() | [CompilerGeneratedAttribute(...)] | -| System.Type System.Runtime.InteropServices.ComEventInterfaceAttribute.get_EventProvider() | [CompilerGeneratedAttribute(...)] | -| System.Type System.Runtime.InteropServices.ComEventInterfaceAttribute.get_SourceInterface() | [CompilerGeneratedAttribute(...)] | -| System.Type System.Runtime.InteropServices.LibraryImportAttribute.get_StringMarshallingCustomType() | [CompilerGeneratedAttribute(...)] | -| System.Type System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute.get_ManagedType() | [CompilerGeneratedAttribute(...)] | -| System.Type System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute.get_MarshallerType() | [CompilerGeneratedAttribute(...)] | -| System.Type System.Runtime.InteropServices.Marshalling.MarshalUsingAttribute.get_NativeType() | [CompilerGeneratedAttribute(...)] | -| System.Type System.Runtime.InteropServices.Marshalling.NativeMarshallingAttribute.get_NativeType() | [CompilerGeneratedAttribute(...)] | -| System.Type System.Security.SecurityException.get_PermissionType() | [CompilerGeneratedAttribute(...)] | -| System.Type System.Type.GetEnumUnderlyingType() | [IntrinsicAttribute(...)] | -| System.Type System.Type.GetTypeFromHandle(System.RuntimeTypeHandle) | [IntrinsicAttribute(...)] | -| System.Type.<>c | [CompilerGeneratedAttribute(...)] | -| System.Type[] | [ParamArrayAttribute(...)] | -| System.Type[] System.Diagnostics.Tracing.EventSource.EventMetadata.<get_ParameterTypes>g__GetParameterTypes\|22_0(System.Reflection.ParameterInfo[]) | [CompilerGeneratedAttribute(...)] | -| System.Type[] System.Reflection.ModifiedFunctionPointerType.<GetFunctionPointerParameterTypes>g__Initialize\|5_0() | [CompilerGeneratedAttribute(...)] | -| System.Type[] System.Reflection.ModifiedGenericType.<GetGenericArguments>g__Initialize\|2_0() | [CompilerGeneratedAttribute(...)] | -| System.Type[] System.Reflection.ReflectionTypeLoadException.get_Types() | [CompilerGeneratedAttribute(...)] | -| System.Type[] System.Reflection.TypeInfo.<get_DeclaredNestedTypes>g__GetDeclaredOnlyNestedTypes\|22_0(System.Type) | [CompilerGeneratedAttribute(...)] | -| System.TypedReference | [IsByRefLikeAttribute(...)] | -| System.TypedReference | [NonVersionableAttribute(...)] | -| System.UInt16 System.Buffers.Binary.BinaryPrimitives.ReverseEndianness(System.UInt16) | [IntrinsicAttribute(...)] | -| System.UInt16 System.Math.Max(System.UInt16,System.UInt16) | [NonVersionableAttribute(...)] | -| System.UInt16 System.Math.Min(System.UInt16,System.UInt16) | [NonVersionableAttribute(...)] | -| System.UInt16 System.Runtime.CompilerServices.RuntimeHelpers.GetElementSize(System.Array) | [ExtensionAttribute(...)] | -| System.UInt16 System.Runtime.InteropServices.NFloat.op_CheckedExplicit(System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.UInt16 System.Runtime.InteropServices.NFloat.op_Explicit(System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.UInt16 System.Threading.Volatile.Read(System.UInt16) | [IntrinsicAttribute(...)] | -| System.UInt16 System.Threading.Volatile.Read(System.UInt16) | [NonVersionableAttribute(...)] | -| System.UInt32 Interop.Kernel32.<GetEnvironmentVariable>g____PInvoke\|61_0(System.UInt16*,System.Char*,System.UInt32) | [CompilerGeneratedAttribute(...)] | -| System.UInt32 Interop.Kernel32.GetEnvironmentVariable(System.String,System.Char,System.UInt32) | [LibraryImportAttribute(...)] | -| System.UInt32 System.BitConverter.SingleToUInt32Bits(System.Single) | [IntrinsicAttribute(...)] | -| System.UInt32 System.Buffers.Binary.BinaryPrimitives.ReverseEndianness(System.UInt32) | [IntrinsicAttribute(...)] | -| System.UInt32 System.Math.Max(System.UInt32,System.UInt32) | [NonVersionableAttribute(...)] | -| System.UInt32 System.Math.Min(System.UInt32,System.UInt32) | [NonVersionableAttribute(...)] | -| System.UInt32 System.Numerics.BitOperations.Crc32C(System.UInt32,System.Byte) | [IntrinsicAttribute(...)] | -| System.UInt32 System.Numerics.BitOperations.Crc32C(System.UInt32,System.UInt16) | [IntrinsicAttribute(...)] | -| System.UInt32 System.Numerics.BitOperations.Crc32C(System.UInt32,System.UInt32) | [IntrinsicAttribute(...)] | -| System.UInt32 System.Numerics.BitOperations.Crc32C(System.UInt32,System.UInt64) | [IntrinsicAttribute(...)] | -| System.UInt32 System.Numerics.BitOperations.RotateLeft(System.UInt32,System.Int32) | [IntrinsicAttribute(...)] | -| System.UInt32 System.Numerics.BitOperations.RotateRight(System.UInt32,System.Int32) | [IntrinsicAttribute(...)] | -| System.UInt32 System.Reflection.Assembly.GetAssemblyCount() | [SuppressGCTransitionAttribute(...)] | -| System.UInt32 System.Reflection.AssemblyAlgorithmIdAttribute.get_AlgorithmId() | [CompilerGeneratedAttribute(...)] | -| System.UInt32 System.Runtime.InteropServices.NFloat.op_CheckedExplicit(System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.UInt32 System.Runtime.InteropServices.NFloat.op_Explicit(System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.UInt32 System.Runtime.Intrinsics.Vector64.ExtractMostSignificantBits`1(System.Runtime.Intrinsics.Vector64<!0>) | [ExtensionAttribute(...)] | -| System.UInt32 System.Runtime.Intrinsics.Vector64.ExtractMostSignificantBits`1(System.Runtime.Intrinsics.Vector64<!0>) | [IntrinsicAttribute(...)] | -| System.UInt32 System.Runtime.Intrinsics.Vector128.ExtractMostSignificantBits`1(System.Runtime.Intrinsics.Vector128<!0>) | [ExtensionAttribute(...)] | -| System.UInt32 System.Runtime.Intrinsics.Vector128.ExtractMostSignificantBits`1(System.Runtime.Intrinsics.Vector128<!0>) | [IntrinsicAttribute(...)] | -| System.UInt32 System.Runtime.Intrinsics.Vector256.ExtractMostSignificantBits`1(System.Runtime.Intrinsics.Vector256<!0>) | [ExtensionAttribute(...)] | -| System.UInt32 System.Runtime.Intrinsics.Vector256.ExtractMostSignificantBits`1(System.Runtime.Intrinsics.Vector256<!0>) | [IntrinsicAttribute(...)] | -| System.UInt32 System.Text.CodePageDataItem.get_Flags() | [CompilerGeneratedAttribute(...)] | -| System.UInt32 System.Threading.Volatile.Read(System.UInt32) | [IntrinsicAttribute(...)] | -| System.UInt32 System.Threading.Volatile.Read(System.UInt32) | [NonVersionableAttribute(...)] | -| System.UInt32 System.UInt32.LeadingZeroCount(System.UInt32) | [IntrinsicAttribute(...)] | -| System.UInt32 System.UInt32.Log2(System.UInt32) | [IntrinsicAttribute(...)] | -| System.UInt32 System.UInt32.PopCount(System.UInt32) | [IntrinsicAttribute(...)] | -| System.UInt32 System.UInt32.RotateLeft(System.UInt32,System.Int32) | [IntrinsicAttribute(...)] | -| System.UInt32 System.UInt32.RotateRight(System.UInt32,System.Int32) | [IntrinsicAttribute(...)] | -| System.UInt32 System.UInt32.TrailingZeroCount(System.UInt32) | [IntrinsicAttribute(...)] | -| System.UInt32 System.UInt128.<op_Division>g__AddDivisor\|110_0(System.Span<System.UInt32>,System.ReadOnlySpan<System.UInt32>) | [CompilerGeneratedAttribute(...)] | -| System.UInt32 System.UInt128.<op_Division>g__SubtractDivisor\|110_3(System.Span<System.UInt32>,System.ReadOnlySpan<System.UInt32>,System.UInt64) | [CompilerGeneratedAttribute(...)] | -| System.UInt32 System.UIntPtr.ToUInt32() | [NonVersionableAttribute(...)] | -| System.UInt32 System.UIntPtr.op_Explicit(System.UIntPtr) | [NonVersionableAttribute(...)] | -| System.UInt64 System.BitConverter.DoubleToUInt64Bits(System.Double) | [IntrinsicAttribute(...)] | -| System.UInt64 System.Buffers.Binary.BinaryPrimitives.ReverseEndianness(System.UInt64) | [IntrinsicAttribute(...)] | -| System.UInt64 System.Marvin.get_DefaultSeed() | [CompilerGeneratedAttribute(...)] | -| System.UInt64 System.Math.<BigMul>g__SoftwareFallback\|49_0(System.UInt64,System.UInt64,System.UInt64) | [CompilerGeneratedAttribute(...)] | -| System.UInt64 System.Math.Max(System.UInt64,System.UInt64) | [NonVersionableAttribute(...)] | -| System.UInt64 System.Math.Min(System.UInt64,System.UInt64) | [NonVersionableAttribute(...)] | -| System.UInt64 System.Numerics.BitOperations.RotateLeft(System.UInt64,System.Int32) | [IntrinsicAttribute(...)] | -| System.UInt64 System.Numerics.BitOperations.RotateRight(System.UInt64,System.Int32) | [IntrinsicAttribute(...)] | -| System.UInt64 System.Runtime.InteropServices.NFloat.op_CheckedExplicit(System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.UInt64 System.Runtime.InteropServices.NFloat.op_Explicit(System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.UInt64 System.Runtime.Intrinsics.Vector512.ExtractMostSignificantBits`1(System.Runtime.Intrinsics.Vector512<!0>) | [ExtensionAttribute(...)] | -| System.UInt64 System.Runtime.Intrinsics.Vector512.ExtractMostSignificantBits`1(System.Runtime.Intrinsics.Vector512<!0>) | [IntrinsicAttribute(...)] | -| System.UInt64 System.Threading.Volatile.Read(System.UInt64) | [IntrinsicAttribute(...)] | -| System.UInt64 System.Threading.Volatile.Read(System.UInt64) | [NonVersionableAttribute(...)] | -| System.UInt64 System.UInt64.LeadingZeroCount(System.UInt64) | [IntrinsicAttribute(...)] | -| System.UInt64 System.UInt64.Log2(System.UInt64) | [IntrinsicAttribute(...)] | -| System.UInt64 System.UInt64.PopCount(System.UInt64) | [IntrinsicAttribute(...)] | -| System.UInt64 System.UInt64.RotateLeft(System.UInt64,System.Int32) | [IntrinsicAttribute(...)] | -| System.UInt64 System.UInt64.RotateRight(System.UInt64,System.Int32) | [IntrinsicAttribute(...)] | -| System.UInt64 System.UInt64.TrailingZeroCount(System.UInt64) | [IntrinsicAttribute(...)] | -| System.UInt64 System.UIntPtr.ToUInt64() | [NonVersionableAttribute(...)] | -| System.UInt64 System.UIntPtr.op_Explicit(System.UIntPtr) | [NonVersionableAttribute(...)] | -| System.UInt128 | [IntrinsicAttribute(...)] | -| System.UInt128 | [IsReadOnlyAttribute(...)] | -| System.UInt128 System.Runtime.InteropServices.NFloat.op_CheckedExplicit(System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.UInt128 System.Runtime.InteropServices.NFloat.op_Explicit(System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.UInt128 System.UInt128.<op_Division>g__DivideSlow\|110_2(System.UInt128,System.UInt128) | [CompilerGeneratedAttribute(...)] | -| System.UIntPtr | [IsReadOnlyAttribute(...)] | -| System.UIntPtr | [RequiresLocationAttribute(...)] | -| System.UIntPtr System.Math.Max(System.UIntPtr,System.UIntPtr) | [NonVersionableAttribute(...)] | -| System.UIntPtr System.Math.Min(System.UIntPtr,System.UIntPtr) | [NonVersionableAttribute(...)] | -| System.UIntPtr System.Numerics.BitOperations.RotateLeft(System.UIntPtr,System.Int32) | [IntrinsicAttribute(...)] | -| System.UIntPtr System.Numerics.BitOperations.RotateRight(System.UIntPtr,System.Int32) | [IntrinsicAttribute(...)] | -| System.UIntPtr System.Runtime.InteropServices.NFloat.op_CheckedExplicit(System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.UIntPtr System.Runtime.InteropServices.NFloat.op_Explicit(System.Runtime.InteropServices.NFloat) | [NonVersionableAttribute(...)] | -| System.UIntPtr System.Threading.Volatile.Read(System.UIntPtr) | [IntrinsicAttribute(...)] | -| System.UIntPtr System.Threading.Volatile.Read(System.UIntPtr) | [NonVersionableAttribute(...)] | -| System.UIntPtr System.UIntPtr.Add(System.UIntPtr,System.Int32) | [NonVersionableAttribute(...)] | -| System.UIntPtr System.UIntPtr.LeadingZeroCount(System.UIntPtr) | [IntrinsicAttribute(...)] | -| System.UIntPtr System.UIntPtr.Log2(System.UIntPtr) | [IntrinsicAttribute(...)] | -| System.UIntPtr System.UIntPtr.PopCount(System.UIntPtr) | [IntrinsicAttribute(...)] | -| System.UIntPtr System.UIntPtr.RotateLeft(System.UIntPtr,System.Int32) | [IntrinsicAttribute(...)] | -| System.UIntPtr System.UIntPtr.RotateRight(System.UIntPtr,System.Int32) | [IntrinsicAttribute(...)] | -| System.UIntPtr System.UIntPtr.Subtract(System.UIntPtr,System.Int32) | [NonVersionableAttribute(...)] | -| System.UIntPtr System.UIntPtr.TrailingZeroCount(System.UIntPtr) | [IntrinsicAttribute(...)] | -| System.UIntPtr System.UIntPtr.get_AllBitsSet() | [NonVersionableAttribute(...)] | -| System.UIntPtr System.UIntPtr.get_MaxValue() | [NonVersionableAttribute(...)] | -| System.UIntPtr System.UIntPtr.get_MinValue() | [NonVersionableAttribute(...)] | -| System.UIntPtr System.UIntPtr.op_Addition(System.UIntPtr,System.Int32) | [NonVersionableAttribute(...)] | -| System.UIntPtr System.UIntPtr.op_Explicit(System.UInt32) | [NonVersionableAttribute(...)] | -| System.UIntPtr System.UIntPtr.op_Explicit(System.UInt64) | [NonVersionableAttribute(...)] | -| System.UIntPtr System.UIntPtr.op_Explicit(System.Void*) | [NonVersionableAttribute(...)] | -| System.UIntPtr System.UIntPtr.op_Subtraction(System.UIntPtr,System.Int32) | [NonVersionableAttribute(...)] | -| System.UIntPtr.Zero | [IntrinsicAttribute(...)] | -| System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!7,!8,!9>> System.TupleExtensions.ToValueTuple`10(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!7,!8,!9>>) | [ExtensionAttribute(...)] | -| System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!7,!8>> System.TupleExtensions.ToValueTuple`9(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!7,!8>>) | [ExtensionAttribute(...)] | -| System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!7>> System.TupleExtensions.ToValueTuple`8(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!7>>) | [ExtensionAttribute(...)] | -| System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!10,!7,!8,!9>> System.TupleExtensions.ToValueTuple`11(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!7,!8,!9>>) | [ExtensionAttribute(...)] | -| System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!10,!11,!7,!8,!9>> System.TupleExtensions.ToValueTuple`12(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!7,!8,!9>>) | [ExtensionAttribute(...)] | -| System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!10,!11,!12,!7,!8,!9>> System.TupleExtensions.ToValueTuple`13(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!7,!8,!9>>) | [ExtensionAttribute(...)] | -| System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!10,!11,!12,!13,!7,!8,!9,System.ValueTuple<!14,!15,!16,!17,!18,!19,!20>>> System.TupleExtensions.ToValueTuple`21(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14,!15,!16,!17,!18,!19,!20>>>) | [ExtensionAttribute(...)] | -| System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!10,!11,!12,!13,!7,!8,!9,System.ValueTuple<!14,!15,!16,!17,!18,!19>>> System.TupleExtensions.ToValueTuple`20(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14,!15,!16,!17,!18,!19>>>) | [ExtensionAttribute(...)] | -| System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!10,!11,!12,!13,!7,!8,!9,System.ValueTuple<!14,!15,!16,!17,!18>>> System.TupleExtensions.ToValueTuple`19(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14,!15,!16,!17,!18>>>) | [ExtensionAttribute(...)] | -| System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!10,!11,!12,!13,!7,!8,!9,System.ValueTuple<!14,!15,!16,!17>>> System.TupleExtensions.ToValueTuple`18(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14,!15,!16,!17>>>) | [ExtensionAttribute(...)] | -| System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!10,!11,!12,!13,!7,!8,!9,System.ValueTuple<!14,!15,!16>>> System.TupleExtensions.ToValueTuple`17(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14,!15,!16>>>) | [ExtensionAttribute(...)] | -| System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!10,!11,!12,!13,!7,!8,!9,System.ValueTuple<!14,!15>>> System.TupleExtensions.ToValueTuple`16(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14,!15>>>) | [ExtensionAttribute(...)] | -| System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!10,!11,!12,!13,!7,!8,!9,System.ValueTuple<!14>>> System.TupleExtensions.ToValueTuple`15(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14>>>) | [ExtensionAttribute(...)] | -| System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!10,!11,!12,!13,!7,!8,!9>> System.TupleExtensions.ToValueTuple`14(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9>>) | [ExtensionAttribute(...)] | -| System.ValueTuple<!0,!1,!2,!3,!4,!5,!6> System.TupleExtensions.ToValueTuple`7(System.Tuple<!0,!1,!2,!3,!4,!5,!6>) | [ExtensionAttribute(...)] | -| System.ValueTuple<!0,!1,!2,!3,!4,!5> System.TupleExtensions.ToValueTuple`6(System.Tuple<!0,!1,!2,!3,!4,!5>) | [ExtensionAttribute(...)] | -| System.ValueTuple<!0,!1,!2,!3,!4> System.TupleExtensions.ToValueTuple`5(System.Tuple<!0,!1,!2,!3,!4>) | [ExtensionAttribute(...)] | -| System.ValueTuple<!0,!1,!2,!3> System.TupleExtensions.ToValueTuple`4(System.Tuple<!0,!1,!2,!3>) | [ExtensionAttribute(...)] | -| System.ValueTuple<!0,!1,!2> System.TupleExtensions.ToValueTuple`3(System.Tuple<!0,!1,!2>) | [ExtensionAttribute(...)] | -| System.ValueTuple<!0,!1> System.TupleExtensions.ToValueTuple`2(System.Tuple<!0,!1>) | [ExtensionAttribute(...)] | -| System.ValueTuple<!0> System.TupleExtensions.ToValueTuple`1(System.Tuple<!0>) | [ExtensionAttribute(...)] | -| System.ValueTuple<System.Byte,System.Byte> System.Math.DivRem(System.Byte,System.Byte) | [NonVersionableAttribute(...)] | -| System.ValueTuple<System.ConsoleKey,System.ConsoleModifiers> System.IO.KeyParser.<TryParseTerminalInputSequence>g__MapKeyIdOXterm\|7_0(System.Char,System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.ValueTuple<System.ConsoleKey,System.ConsoleModifiers> System.IO.KeyParser.<TryParseTerminalInputSequence>g__MapSCO\|7_1(System.Char) | [CompilerGeneratedAttribute(...)] | -| System.ValueTuple<System.Int16,System.Int16> System.Math.DivRem(System.Int16,System.Int16) | [NonVersionableAttribute(...)] | -| System.ValueTuple<System.Int32,System.Int32> System.Math.DivRem(System.Int32,System.Int32) | [NonVersionableAttribute(...)] | -| System.ValueTuple<System.Int64,System.Int64> System.Math.DivRem(System.Int64,System.Int64) | [NonVersionableAttribute(...)] | -| System.ValueTuple<System.IntPtr,System.IntPtr> System.Math.DivRem(System.IntPtr,System.IntPtr) | [NonVersionableAttribute(...)] | -| System.ValueTuple<System.SByte,System.SByte> System.Math.DivRem(System.SByte,System.SByte) | [NonVersionableAttribute(...)] | -| System.ValueTuple<System.UInt16,System.UInt16> System.Math.DivRem(System.UInt16,System.UInt16) | [NonVersionableAttribute(...)] | -| System.ValueTuple<System.UInt32,System.UInt32> System.Math.DivRem(System.UInt32,System.UInt32) | [NonVersionableAttribute(...)] | -| System.ValueTuple<System.UInt64,System.UInt64> System.Math.DivRem(System.UInt64,System.UInt64) | [NonVersionableAttribute(...)] | -| System.ValueTuple<System.UIntPtr,System.UIntPtr> System.Math.DivRem(System.UIntPtr,System.UIntPtr) | [NonVersionableAttribute(...)] | -| System.Version System.ApplicationId.get_Version() | [CompilerGeneratedAttribute(...)] | -| System.Void Internal.Runtime.InteropServices.ComponentActivator.<LoadAssembly>g__LoadAssemblyLocal\|14_0(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void Internal.Runtime.InteropServices.ComponentActivator.<LoadAssemblyBytes>g__LoadAssemblyBytesLocal\|16_0(System.ReadOnlySpan<System.Byte>,System.ReadOnlySpan<System.Byte>) | [CompilerGeneratedAttribute(...)] | -| System.Void Interop.Globalization.<ChangeCase>g____PInvoke\|6_0(System.Char*,System.Int32,System.Char*,System.Int32,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Void Interop.Globalization.<ChangeCaseInvariant>g____PInvoke\|7_0(System.Char*,System.Int32,System.Char*,System.Int32,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Void Interop.Globalization.<ChangeCaseTurkish>g____PInvoke\|8_0(System.Char*,System.Int32,System.Char*,System.Int32,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Void Interop.Globalization.<InitICUFunctions>g____PInvoke\|23_0(System.IntPtr,System.IntPtr,System.Byte*,System.Byte*) | [CompilerGeneratedAttribute(...)] | -| System.Void Interop.Globalization.ChangeCase(System.Char*,System.Int32,System.Char*,System.Int32,System.Boolean) | [LibraryImportAttribute(...)] | -| System.Void Interop.Globalization.ChangeCaseInvariant(System.Char*,System.Int32,System.Char*,System.Int32,System.Boolean) | [LibraryImportAttribute(...)] | -| System.Void Interop.Globalization.ChangeCaseTurkish(System.Char*,System.Int32,System.Char*,System.Int32,System.Boolean) | [LibraryImportAttribute(...)] | -| System.Void Interop.Globalization.InitICUFunctions(System.IntPtr,System.IntPtr,System.String,System.String) | [LibraryImportAttribute(...)] | -| System.Void Interop.Globalization.InitOrdinalCasingPage(System.Int32,System.Char*) | [LibraryImportAttribute(...)] | -| System.Void Microsoft.Win32.SafeHandles.SafeFileHandle.set_IsAsync(System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Void System.AppContext.<LogSwitchValues>g__LogDataStore\|23_0(System.Diagnostics.Tracing.RuntimeEventSource,System.Collections.Generic.Dictionary<System.Boolean,System.String>) | [CompilerGeneratedAttribute(...)] | -| System.Void System.AppContext.add_FirstChanceException(System.EventHandler<System.Runtime.ExceptionServices.FirstChanceExceptionEventArgs>) | [CompilerGeneratedAttribute(...)] | -| System.Void System.AppContext.add_ProcessExit(System.EventHandler) | [CompilerGeneratedAttribute(...)] | -| System.Void System.AppContext.add_UnhandledException(System.UnhandledExceptionEventHandler) | [CompilerGeneratedAttribute(...)] | -| System.Void System.AppContext.remove_FirstChanceException(System.EventHandler<System.Runtime.ExceptionServices.FirstChanceExceptionEventArgs>) | [CompilerGeneratedAttribute(...)] | -| System.Void System.AppContext.remove_ProcessExit(System.EventHandler) | [CompilerGeneratedAttribute(...)] | -| System.Void System.AppContext.remove_UnhandledException(System.UnhandledExceptionEventHandler) | [CompilerGeneratedAttribute(...)] | -| System.Void System.AppDomain.add_DomainUnload(System.EventHandler) | [CompilerGeneratedAttribute(...)] | -| System.Void System.AppDomain.add_ReflectionOnlyAssemblyResolve(System.ResolveEventHandler) | [CompilerGeneratedAttribute(...)] | -| System.Void System.AppDomain.remove_DomainUnload(System.EventHandler) | [CompilerGeneratedAttribute(...)] | -| System.Void System.AppDomain.remove_ReflectionOnlyAssemblyResolve(System.ResolveEventHandler) | [CompilerGeneratedAttribute(...)] | -| System.Void System.ArgumentException.ThrowNullOrEmptyException(System.String,System.String) | [DoesNotReturnAttribute(...)] | -| System.Void System.ArgumentException.ThrowNullOrWhiteSpaceException(System.String,System.String) | [DoesNotReturnAttribute(...)] | -| System.Void System.ArgumentNullException.Throw(System.String) | [DoesNotReturnAttribute(...)] | -| System.Void System.ArgumentOutOfRangeException.ThrowEqual`1(!0,!0,System.String) | [DoesNotReturnAttribute(...)] | -| System.Void System.ArgumentOutOfRangeException.ThrowGreaterEqual`1(!0,!0,System.String) | [DoesNotReturnAttribute(...)] | -| System.Void System.ArgumentOutOfRangeException.ThrowGreater`1(!0,!0,System.String) | [DoesNotReturnAttribute(...)] | -| System.Void System.ArgumentOutOfRangeException.ThrowLessEqual`1(!0,!0,System.String) | [DoesNotReturnAttribute(...)] | -| System.Void System.ArgumentOutOfRangeException.ThrowLess`1(!0,!0,System.String) | [DoesNotReturnAttribute(...)] | -| System.Void System.ArgumentOutOfRangeException.ThrowNegativeOrZero`1(!0,System.String) | [DoesNotReturnAttribute(...)] | -| System.Void System.ArgumentOutOfRangeException.ThrowNegative`1(!0,System.String) | [DoesNotReturnAttribute(...)] | -| System.Void System.ArgumentOutOfRangeException.ThrowNotEqual`1(!0,!0,System.String) | [DoesNotReturnAttribute(...)] | -| System.Void System.ArgumentOutOfRangeException.ThrowZero`1(!0,System.String) | [DoesNotReturnAttribute(...)] | -| System.Void System.Array.<Sort>g__GenericSort\|131_0`1(System.Array,System.Array,System.Int32,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Buffer.Memmove(System.Byte,System.Byte,System.UIntPtr) | [IntrinsicAttribute(...)] | -| System.Void System.Buffer.Memmove`1(!0,!0,System.UIntPtr) | [IntrinsicAttribute(...)] | -| System.Void System.Buffers.ArrayPoolEventSource.BufferAllocated(System.Int32,System.Int32,System.Int32,System.Int32,System.Buffers.ArrayPoolEventSource.BufferAllocatedReason) | [EventAttribute(...)] | -| System.Void System.Buffers.ArrayPoolEventSource.BufferDropped(System.Int32,System.Int32,System.Int32,System.Int32,System.Buffers.ArrayPoolEventSource.BufferDroppedReason) | [EventAttribute(...)] | -| System.Void System.Buffers.ArrayPoolEventSource.BufferRented(System.Int32,System.Int32,System.Int32,System.Int32) | [EventAttribute(...)] | -| System.Void System.Buffers.ArrayPoolEventSource.BufferReturned(System.Int32,System.Int32,System.Int32) | [EventAttribute(...)] | -| System.Void System.Buffers.ArrayPoolEventSource.BufferTrimPoll(System.Int32,System.Int32) | [EventAttribute(...)] | -| System.Void System.Buffers.ArrayPoolEventSource.BufferTrimmed(System.Int32,System.Int32,System.Int32) | [EventAttribute(...)] | -| System.Void System.Buffers.Binary.BinaryPrimitives.ThrowDestinationTooSmall() | [DoesNotReturnAttribute(...)] | -| System.Void System.Char.ConvertToUtf32_ThrowInvalidArgs(System.UInt32) | [StackTraceHiddenAttribute(...)] | -| System.Void System.CodeDom.Compiler.IndentedTextWriter.<OutputTabsAsync>d__23.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.CodeDom.Compiler.IndentedTextWriter.<WriteAsync>d__37.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.CodeDom.Compiler.IndentedTextWriter.<WriteAsync>d__38.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.CodeDom.Compiler.IndentedTextWriter.<WriteAsync>d__39.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.CodeDom.Compiler.IndentedTextWriter.<WriteAsync>d__40.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.CodeDom.Compiler.IndentedTextWriter.<WriteAsync>d__41.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.CodeDom.Compiler.IndentedTextWriter.<WriteLineAsync>d__59.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.CodeDom.Compiler.IndentedTextWriter.<WriteLineAsync>d__60.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.CodeDom.Compiler.IndentedTextWriter.<WriteLineAsync>d__61.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.CodeDom.Compiler.IndentedTextWriter.<WriteLineAsync>d__62.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.CodeDom.Compiler.IndentedTextWriter.<WriteLineAsync>d__63.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.CodeDom.Compiler.IndentedTextWriter.<WriteLineAsync>d__64.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.Collections.Concurrent.ConcurrentQueue`1.<Enumerate>d__26..ctor(System.Int32) | [DebuggerHiddenAttribute(...)] | -| System.Void System.Collections.Concurrent.ConcurrentQueue`1.<Enumerate>d__26.Dispose() | [DebuggerHiddenAttribute(...)] | -| System.Void System.Collections.Concurrent.ConcurrentQueue`1.<Enumerate>d__26.Reset() | [DebuggerHiddenAttribute(...)] | -| System.Void System.Collections.Concurrent.SingleProducerSingleConsumerQueue`1.<GetEnumerator>d__15..ctor(System.Int32) | [DebuggerHiddenAttribute(...)] | -| System.Void System.Collections.Concurrent.SingleProducerSingleConsumerQueue`1.<GetEnumerator>d__15.Dispose() | [DebuggerHiddenAttribute(...)] | -| System.Void System.Collections.Concurrent.SingleProducerSingleConsumerQueue`1.<GetEnumerator>d__15.Reset() | [DebuggerHiddenAttribute(...)] | -| System.Void System.Collections.Generic.CollectionExtensions.AddRange`1(System.Collections.Generic.List<!0>,System.ReadOnlySpan<!0>) | [ExtensionAttribute(...)] | -| System.Void System.Collections.Generic.CollectionExtensions.CopyTo`1(System.Collections.Generic.List<!0>,System.Span<!0>) | [ExtensionAttribute(...)] | -| System.Void System.Collections.Generic.CollectionExtensions.InsertRange`1(System.Collections.Generic.List<!0>,System.Int32,System.ReadOnlySpan<!0>) | [ExtensionAttribute(...)] | -| System.Void System.ConsoleCancelEventArgs.set_Cancel(System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Void System.ConsolePal.<TryGetCursorPosition>g__ReadRowOrCol\|82_3(System.Int32,System.Int32,System.IO.StdInReader,System.ReadOnlySpan<System.Byte>,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Void System.ConsolePal.<TryGetCursorPosition>g__TransferBytes\|82_0(System.ReadOnlySpan<System.Byte>,System.IO.StdInReader) | [CompilerGeneratedAttribute(...)] | -| System.Void System.ConsolePal.InvalidateTerminalSettings() | [UnmanagedCallersOnlyAttribute(...)] | -| System.Void System.Convert.ThrowByteOverflowException() | [DoesNotReturnAttribute(...)] | -| System.Void System.Convert.ThrowCharOverflowException() | [DoesNotReturnAttribute(...)] | -| System.Void System.Convert.ThrowInt16OverflowException() | [DoesNotReturnAttribute(...)] | -| System.Void System.Convert.ThrowInt32OverflowException() | [DoesNotReturnAttribute(...)] | -| System.Void System.Convert.ThrowInt64OverflowException() | [DoesNotReturnAttribute(...)] | -| System.Void System.Convert.ThrowSByteOverflowException() | [DoesNotReturnAttribute(...)] | -| System.Void System.Convert.ThrowUInt16OverflowException() | [DoesNotReturnAttribute(...)] | -| System.Void System.Convert.ThrowUInt32OverflowException() | [DoesNotReturnAttribute(...)] | -| System.Void System.Convert.ThrowUInt64OverflowException() | [DoesNotReturnAttribute(...)] | -| System.Void System.DateOnly.<AddDays>g__ThrowOutOfRange\|25_0() | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute.set_Max(System.Object) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute.set_Min(System.Object) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.set_Condition(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute.set_Justification(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.CodeAnalysis.ExperimentalAttribute.set_UrlFormat(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.CodeAnalysis.RequiresAssemblyFilesAttribute.set_Url(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.set_Url(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute.set_Url(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.CodeAnalysis.SuppressMessageAttribute.set_Justification(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.CodeAnalysis.SuppressMessageAttribute.set_MessageId(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.CodeAnalysis.SuppressMessageAttribute.set_Scope(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.CodeAnalysis.SuppressMessageAttribute.set_Target(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.set_Justification(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.set_MessageId(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.set_Scope(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.set_Target(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Contracts.Contract.ReportFailure(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.Exception) | [DebuggerNonUserCodeAttribute(...)] | -| System.Void System.Diagnostics.Debug.Fail(System.String) | [DoesNotReturnAttribute(...)] | -| System.Void System.Diagnostics.Debug.Fail(System.String,System.String) | [DoesNotReturnAttribute(...)] | -| System.Void System.Diagnostics.DebugProvider.Fail(System.String,System.String) | [DoesNotReturnAttribute(...)] | -| System.Void System.Diagnostics.Debugger.<LogInternal>g____PInvoke\|11_0(System.Int32,System.UInt16*,System.UInt16*) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Debugger.LogInternal(System.Int32,System.String,System.String) | [LibraryImportAttribute(...)] | -| System.Void System.Diagnostics.DebuggerDisplayAttribute.set_Name(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.DebuggerDisplayAttribute.set_TargetTypeName(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.DebuggerDisplayAttribute.set_Type(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.DebuggerTypeProxyAttribute.set_TargetTypeName(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.DebuggerVisualizerAttribute.set_Description(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.DebuggerVisualizerAttribute.set_TargetTypeName(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.CounterPayload.<get_ForEnumeration>d__51..ctor(System.Int32) | [DebuggerHiddenAttribute(...)] | -| System.Void System.Diagnostics.Tracing.CounterPayload.<get_ForEnumeration>d__51.Dispose() | [DebuggerHiddenAttribute(...)] | -| System.Void System.Diagnostics.Tracing.CounterPayload.<get_ForEnumeration>d__51.Reset() | [DebuggerHiddenAttribute(...)] | -| System.Void System.Diagnostics.Tracing.CounterPayload.set_Count(System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.CounterPayload.set_CounterType(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.CounterPayload.set_DisplayName(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.CounterPayload.set_DisplayUnits(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.CounterPayload.set_IntervalSec(System.Single) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.CounterPayload.set_Max(System.Double) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.CounterPayload.set_Mean(System.Double) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.CounterPayload.set_Metadata(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.CounterPayload.set_Min(System.Double) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.CounterPayload.set_Name(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.CounterPayload.set_Series(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.CounterPayload.set_StandardDeviation(System.Double) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.CounterPayloadType.set_Payload(System.Diagnostics.Tracing.CounterPayload) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.EventAttribute.set_ActivityOptions(System.Diagnostics.Tracing.EventActivityOptions) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.EventAttribute.set_Channel(System.Diagnostics.Tracing.EventChannel) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.EventAttribute.set_EventId(System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.EventAttribute.set_Keywords(System.Diagnostics.Tracing.EventKeywords) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.EventAttribute.set_Level(System.Diagnostics.Tracing.EventLevel) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.EventAttribute.set_Message(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.EventAttribute.set_Tags(System.Diagnostics.Tracing.EventTags) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.EventAttribute.set_Task(System.Diagnostics.Tracing.EventTask) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.EventAttribute.set_Version(System.Byte) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.EventChannelAttribute.set_Enabled(System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.EventChannelAttribute.set_EventChannelType(System.Diagnostics.Tracing.EventChannelType) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.EventCommandEventArgs.set_Arguments(System.Collections.Generic.IDictionary<System.String,System.String>) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.EventCommandEventArgs.set_Command(System.Diagnostics.Tracing.EventCommand) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.EventDataAttribute.set_Name(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.EventFieldAttribute.set_Format(System.Diagnostics.Tracing.EventFieldFormat) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.EventFieldAttribute.set_Tags(System.Diagnostics.Tracing.EventFieldTags) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.EventListener.add_EventWritten(System.EventHandler<System.Diagnostics.Tracing.EventWrittenEventArgs>) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.EventListener.remove_EventWritten(System.EventHandler<System.Diagnostics.Tracing.EventWrittenEventArgs>) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.EventPayload.<GetEnumerator>d__17..ctor(System.Int32) | [DebuggerHiddenAttribute(...)] | -| System.Void System.Diagnostics.Tracing.EventPayload.<GetEnumerator>d__17.Dispose() | [DebuggerHiddenAttribute(...)] | -| System.Void System.Diagnostics.Tracing.EventPayload.<GetEnumerator>d__17.Reset() | [DebuggerHiddenAttribute(...)] | -| System.Void System.Diagnostics.Tracing.EventPipeEventDispatcher.EventListenerSubscription.set_Level(System.Diagnostics.Tracing.EventLevel) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.EventPipeEventDispatcher.EventListenerSubscription.set_MatchAnyKeywords(System.Diagnostics.Tracing.EventKeywords) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.EventPipeEventProvider.Callback(System.Byte*,System.Int32,System.Byte,System.Int64,System.Int64,Interop.Advapi32.EVENT_FILTER_DESCRIPTOR*,System.Void*) | [UnmanagedCallersOnlyAttribute(...)] | -| System.Void System.Diagnostics.Tracing.EventSource.WriteCleanup(System.Runtime.InteropServices.GCHandle*,System.Int32) | [NonEventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.EventSourceAttribute.set_Guid(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.EventSourceAttribute.set_LocalizationResources(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.EventSourceAttribute.set_Name(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.EventSourceCreatedEventArgs.set_EventSource(System.Diagnostics.Tracing.EventSource) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.EventWrittenEventArgs.set_Payload(System.Collections.ObjectModel.ReadOnlyCollection<System.Object>) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.EventWrittenEventArgs.set_TimeStamp(System.DateTime) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.FrameworkEventSource.ThreadPoolDequeueWork(System.Int64) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.FrameworkEventSource.ThreadPoolDequeueWorkObject(System.Object) | [NonEventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.FrameworkEventSource.ThreadPoolEnqueueWork(System.Int64) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.FrameworkEventSource.ThreadPoolEnqueueWorkObject(System.Object) | [NonEventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.FrameworkEventSource.ThreadTransferReceive(System.Int64,System.Int32,System.String) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.FrameworkEventSource.ThreadTransferReceiveObj(System.Object,System.Int32,System.String) | [NonEventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.FrameworkEventSource.ThreadTransferSend(System.Int64,System.Int32,System.String,System.Boolean,System.Int32,System.Int32) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.FrameworkEventSource.ThreadTransferSendObj(System.Object,System.Int32,System.String,System.Boolean,System.Int32,System.Int32) | [NonEventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.FrameworkEventSource.WriteEvent(System.Int32,System.Int64,System.Int32,System.String) | [NonEventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.FrameworkEventSource.WriteEvent(System.Int32,System.Int64,System.Int32,System.String,System.Boolean,System.Int32,System.Int32) | [NonEventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.IncrementingCounterPayload.<get_ForEnumeration>d__39..ctor(System.Int32) | [DebuggerHiddenAttribute(...)] | -| System.Void System.Diagnostics.Tracing.IncrementingCounterPayload.<get_ForEnumeration>d__39.Dispose() | [DebuggerHiddenAttribute(...)] | -| System.Void System.Diagnostics.Tracing.IncrementingCounterPayload.<get_ForEnumeration>d__39.Reset() | [DebuggerHiddenAttribute(...)] | -| System.Void System.Diagnostics.Tracing.IncrementingCounterPayload.set_CounterType(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.IncrementingCounterPayload.set_DisplayName(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.IncrementingCounterPayload.set_DisplayRateTimeScale(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.IncrementingCounterPayload.set_DisplayUnits(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.IncrementingCounterPayload.set_Increment(System.Double) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.IncrementingCounterPayload.set_IntervalSec(System.Single) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.IncrementingCounterPayload.set_Metadata(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.IncrementingCounterPayload.set_Name(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.IncrementingCounterPayload.set_Series(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.IncrementingEventCounter.set_DisplayRateTimeScale(System.TimeSpan) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.IncrementingEventCounterPayloadType.set_Payload(System.Diagnostics.Tracing.IncrementingCounterPayload) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.IncrementingPollingCounter.set_DisplayRateTimeScale(System.TimeSpan) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.IncrementingPollingCounterPayloadType.set_Payload(System.Diagnostics.Tracing.IncrementingCounterPayload) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.<LogThreadPoolIOEnqueue>g____PInvoke\|10_0(System.IntPtr,System.IntPtr,System.Int32,System.UInt16) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.AppDomainAssemblyResolveHandlerInvoked(System.UInt16,System.String,System.String,System.String,System.String) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.AppDomainLoad_V1(System.UInt64,System.UInt32,System.String,System.UInt32,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.AppDomainMemAllocated(System.UInt64,System.UInt64,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.AppDomainMemSurvived(System.UInt64,System.UInt64,System.UInt64,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.AppDomainUnload_V1(System.UInt64,System.UInt32,System.String,System.UInt32,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.AssemblyLoadContextResolvingHandlerInvoked(System.UInt16,System.String,System.String,System.String,System.String,System.String) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.AssemblyLoadFromResolveHandlerInvoked(System.UInt16,System.String,System.Boolean,System.String,System.String) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.AssemblyLoadStart(System.UInt16,System.String,System.String,System.String,System.String,System.String) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.AssemblyLoadStop(System.UInt16,System.String,System.String,System.String,System.String,System.String,System.Boolean,System.String,System.String,System.Boolean) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.AssemblyLoad_V1(System.UInt64,System.UInt64,System.UInt64,System.UInt32,System.String,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.AssemblyUnload_V1(System.UInt64,System.UInt64,System.UInt64,System.UInt32,System.String,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.AuthenticodeVerificationStart_V1(System.UInt32,System.UInt32,System.String,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.AuthenticodeVerificationStop_V1(System.UInt32,System.UInt32,System.String,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.BulkType(System.UInt32,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.CLRStackWalk(System.UInt16,System.Byte,System.Byte,System.UInt32) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.CodeSymbols(System.UInt64,System.UInt16,System.UInt16,System.UInt32) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ContentionLockCreated(System.IntPtr,System.IntPtr,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ContentionStart(System.Diagnostics.Tracing.NativeRuntimeEventSource.ContentionFlagsMap,System.UInt16,System.IntPtr,System.IntPtr,System.UInt64) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ContentionStop(System.Diagnostics.Tracing.NativeRuntimeEventSource.ContentionFlagsMap,System.UInt16,System.Double) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ContentionStop(System.Double) | [NonEventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.DCEndCompleteV2() | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.DCStartCompleteV2() | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.DebugExceptionProcessingEnd() | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.DebugExceptionProcessingStart() | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.DebugIPCEventEnd() | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.DebugIPCEventStart() | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.DecreaseMemoryPressure(System.UInt64,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.DestroyGCHandle(System.IntPtr,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.DomainModuleLoad_V1(System.UInt64,System.UInt64,System.UInt64,System.UInt32,System.UInt32,System.String,System.String,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.EventSource(System.Int32,System.String,System.String,System.String) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ExceptionCatchStart(System.UInt64,System.UInt64,System.String,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ExceptionCatchStop() | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ExceptionFilterStart(System.UInt64,System.UInt64,System.String,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ExceptionFilterStop() | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ExceptionFinallyStart(System.UInt64,System.UInt64,System.String,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ExceptionFinallyStop() | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ExceptionThrownStop() | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ExceptionThrown_V1(System.String,System.String,System.IntPtr,System.UInt32,System.UInt16,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ExecutionCheckpoint(System.UInt16,System.String,System.Int64) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.FinalizeObject(System.IntPtr,System.IntPtr,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.GCAllocationTick_V4(System.UInt32,System.UInt32,System.UInt16,System.UInt64,System.IntPtr,System.String,System.UInt32,System.IntPtr,System.UInt64) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.GCBulkEdge(System.UInt32,System.UInt32,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.GCBulkMovedObjectRanges(System.UInt32,System.UInt32,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.GCBulkNode(System.UInt32,System.UInt32,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.GCBulkRCW(System.UInt32,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.GCBulkRootCCW(System.UInt32,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.GCBulkRootConditionalWeakTableElementEdge(System.UInt32,System.UInt32,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.GCBulkRootEdge(System.UInt32,System.UInt32,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.GCBulkRootStaticVar(System.UInt32,System.UInt64,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.GCBulkSurvivingObjectRanges(System.UInt32,System.UInt32,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.GCCreateConcurrentThread_V1(System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.GCCreateSegment_V1(System.UInt64,System.UInt64,System.UInt32,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.GCDynamicEvent(System.String,System.UInt32) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.GCEnd_V1(System.UInt32,System.UInt32,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.GCFinalizersBegin_V1(System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.GCFinalizersEnd_V1(System.UInt32,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.GCFitBucketInfo(System.UInt16,System.UInt16,System.UInt64,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.GCFreeSegment_V1(System.UInt64,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.GCGenerationRange(System.Byte,System.IntPtr,System.UInt64,System.UInt64,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.GCGlobalHeapHistory_V4(System.UInt64,System.Int32,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt16,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.GCHeapStats_V2(System.UInt64,System.UInt64,System.UInt64,System.UInt64,System.UInt64,System.UInt64,System.UInt64,System.UInt64,System.UInt64,System.UInt64,System.UInt32,System.UInt32,System.UInt32,System.UInt16,System.UInt64,System.UInt64) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.GCJoin_V2(System.UInt32,System.UInt32,System.UInt32,System.UInt16,System.UInt32) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.GCLOHCompact(System.UInt16,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.GCMarkFinalizeQueueRoots(System.UInt32,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.GCMarkHandles(System.UInt32,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.GCMarkOlderGenerationRoots(System.UInt32,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.GCMarkStackRoots(System.UInt32,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.GCMarkWithType(System.UInt32,System.UInt16,System.UInt32,System.UInt64) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.GCPerHeapHistory_V3(System.UInt16,System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.IntPtr,System.UInt32) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.GCRestartEEBegin_V1(System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.GCRestartEEEnd_V1(System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.GCSampledObjectAllocationHigh(System.IntPtr,System.IntPtr,System.UInt32,System.UInt64,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.GCSampledObjectAllocationLow(System.IntPtr,System.IntPtr,System.UInt32,System.UInt64,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.GCStart_V2(System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt16,System.UInt64) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.GCSuspendEEBegin_V1(System.UInt32,System.UInt32,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.GCSuspendEEEnd_V1(System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.GCTerminateConcurrentThread_V1(System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.GCTriggered(System.UInt32,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.GenAwareBegin(System.UInt32,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.GenAwareEnd(System.UInt32,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ILStubCacheHit(System.UInt16,System.UInt64,System.UInt64,System.UInt32,System.String,System.String,System.String) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ILStubGenerated(System.UInt16,System.UInt64,System.UInt64,System.UInt32,System.UInt32,System.String,System.String,System.String,System.String,System.String,System.String) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.IOThreadCreate_V1(System.UInt32,System.UInt32,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.IOThreadRetire_V1(System.UInt32,System.UInt32,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.IOThreadTerminate_V1(System.UInt32,System.UInt32,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.IOThreadUnretire_V1(System.UInt32,System.UInt32,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.IncreaseMemoryPressure(System.UInt64,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.JitInstrumentationData(System.UInt16,System.UInt32,System.UInt32,System.UInt64) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.JitInstrumentationDataVerbose(System.UInt16,System.UInt32,System.UInt32,System.UInt64,System.UInt64,System.UInt32,System.String,System.String,System.String) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.KnownPathProbed(System.UInt16,System.String,System.UInt16,System.Int32) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.LogContentionLockCreated(System.IntPtr,System.IntPtr,System.UInt16) | [NonEventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.LogContentionStart(System.Diagnostics.Tracing.NativeRuntimeEventSource.ContentionFlagsMap,System.UInt16,System.IntPtr,System.IntPtr,System.UInt64) | [NonEventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.LogContentionStop(System.Diagnostics.Tracing.NativeRuntimeEventSource.ContentionFlagsMap,System.UInt16,System.Double) | [NonEventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.LogThreadPoolIODequeue(System.IntPtr,System.IntPtr,System.UInt16) | [NonEventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.LogThreadPoolIOEnqueue(System.IntPtr,System.IntPtr,System.Boolean,System.UInt16) | [NonEventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.LogThreadPoolIOPack(System.IntPtr,System.IntPtr,System.UInt16) | [NonEventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.LogThreadPoolMinMaxThreads(System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16) | [NonEventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.LogThreadPoolWorkerThreadAdjustmentAdjustment(System.Double,System.UInt32,System.Diagnostics.Tracing.NativeRuntimeEventSource.ThreadAdjustmentReasonMap,System.UInt16) | [NonEventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.LogThreadPoolWorkerThreadAdjustmentSample(System.Double,System.UInt16) | [NonEventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.LogThreadPoolWorkerThreadAdjustmentStats(System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,System.UInt16,System.UInt16) | [NonEventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.LogThreadPoolWorkerThreadStart(System.UInt32,System.UInt32,System.UInt16) | [NonEventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.LogThreadPoolWorkerThreadStop(System.UInt32,System.UInt32,System.UInt16) | [NonEventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.LogThreadPoolWorkerThreadWait(System.UInt32,System.UInt32,System.UInt16) | [NonEventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.LogThreadPoolWorkingThreadCount(System.UInt32,System.UInt16) | [NonEventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.MethodDCEndV2(System.UInt64,System.UInt64,System.UInt64,System.UInt32,System.UInt32,System.UInt32) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.MethodDCEndVerboseV2(System.UInt64,System.UInt64,System.UInt64,System.UInt32,System.UInt32,System.UInt32,System.String,System.String,System.String) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.MethodDCStartV2(System.UInt64,System.UInt64,System.UInt64,System.UInt32,System.UInt32,System.UInt32) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.MethodDCStartVerboseV2(System.UInt64,System.UInt64,System.UInt64,System.UInt32,System.UInt32,System.UInt32,System.String,System.String,System.String) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.MethodDetails(System.UInt64,System.UInt64,System.UInt32,System.UInt32,System.UInt64) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.MethodILToNativeMap_V1(System.UInt64,System.UInt64,System.Byte,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.MethodJitInliningFailed(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.Boolean,System.String,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.MethodJitInliningFailedAnsi(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.Boolean) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.MethodJitInliningSucceeded(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.MethodJitMemoryAllocatedForCode(System.UInt64,System.UInt64,System.UInt64,System.UInt64,System.UInt64,System.UInt32,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.MethodJitTailCallFailed(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.Boolean,System.String,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.MethodJitTailCallFailedAnsi(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.Boolean) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.MethodJitTailCallSucceeded(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.Boolean,System.UInt32,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.MethodJittingStarted_V1(System.UInt64,System.UInt64,System.UInt32,System.UInt32,System.String,System.String,System.String,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.MethodLoadVerbose_V2(System.UInt64,System.UInt64,System.UInt64,System.UInt32,System.UInt32,System.UInt32,System.String,System.String,System.String,System.UInt16,System.UInt64) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.MethodLoad_V2(System.UInt64,System.UInt64,System.UInt64,System.UInt32,System.UInt32,System.UInt32,System.UInt16,System.UInt64) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.MethodUnloadVerbose_V2(System.UInt64,System.UInt64,System.UInt64,System.UInt32,System.UInt32,System.UInt32,System.String,System.String,System.String,System.UInt16,System.UInt64) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.MethodUnload_V2(System.UInt64,System.UInt64,System.UInt64,System.UInt32,System.UInt32,System.UInt32,System.UInt16,System.UInt64) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ModuleDCEndV2(System.UInt64,System.UInt64,System.UInt32,System.UInt32,System.String,System.String) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ModuleDCStartV2(System.UInt64,System.UInt64,System.UInt32,System.UInt32,System.String,System.String) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ModuleLoad_V2(System.UInt64,System.UInt64,System.UInt32,System.UInt32,System.String,System.String,System.UInt16,System.Guid,System.UInt32,System.String,System.Guid,System.UInt32,System.String) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ModuleRangeLoad(System.UInt16,System.UInt64,System.UInt32,System.UInt32,System.Byte) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ModuleUnload_V2(System.UInt64,System.UInt64,System.UInt32,System.UInt32,System.String,System.String,System.UInt16,System.Guid,System.UInt32,System.String,System.Guid,System.UInt32,System.String) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.PinObjectAtGCTime(System.IntPtr,System.IntPtr,System.UInt64,System.String,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ProcessEvent(System.UInt32,System.UInt32,System.DateTime,System.Guid,System.Guid,System.ReadOnlySpan<System.Byte>) | [NonEventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ProfilerMessage(System.UInt16,System.String) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.R2RGetEntryPoint(System.UInt64,System.String,System.String,System.String,System.UInt64,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.R2RGetEntryPointStart(System.UInt64,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ResolutionAttempted(System.UInt16,System.String,System.UInt16,System.String,System.UInt16,System.String,System.String,System.String) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.RuntimeInformationStart(System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt32,System.Byte,System.String,System.Guid,System.String) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.SetGCHandle(System.IntPtr,System.IntPtr,System.UInt32,System.UInt32,System.UInt64,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.StrongNameVerificationStart_V1(System.UInt32,System.UInt32,System.String,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.StrongNameVerificationStop_V1(System.UInt32,System.UInt32,System.String,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ThreadCreated(System.UInt64,System.UInt64,System.UInt32,System.UInt32,System.UInt32,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ThreadCreating(System.IntPtr,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ThreadDomainEnter(System.UInt64,System.UInt64,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ThreadPoolIODequeue(System.IntPtr,System.IntPtr,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ThreadPoolIODequeue(System.Threading.NativeOverlapped*) | [NonEventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ThreadPoolIODequeue(System.Threading.RegisteredWaitHandle) | [NonEventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ThreadPoolIOEnqueue(System.IntPtr,System.IntPtr,System.Boolean,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ThreadPoolIOEnqueue(System.Threading.NativeOverlapped*) | [NonEventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ThreadPoolIOEnqueue(System.Threading.RegisteredWaitHandle) | [NonEventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ThreadPoolIOPack(System.IntPtr,System.IntPtr,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ThreadPoolIOPack(System.Threading.NativeOverlapped*) | [NonEventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ThreadPoolMinMaxThreads(System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ThreadPoolWorkerThreadAdjustmentAdjustment(System.Double,System.UInt32,System.Diagnostics.Tracing.NativeRuntimeEventSource.ThreadAdjustmentReasonMap,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ThreadPoolWorkerThreadAdjustmentSample(System.Double,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ThreadPoolWorkerThreadAdjustmentStats(System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,System.UInt16,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ThreadPoolWorkerThreadStart(System.UInt32,System.UInt32,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ThreadPoolWorkerThreadStop(System.UInt32,System.UInt32,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ThreadPoolWorkerThreadWait(System.UInt32,System.UInt32,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ThreadPoolWorkingThreadCount(System.UInt32,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ThreadRunning(System.IntPtr,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ThreadTerminated(System.UInt64,System.UInt64,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ThreadpoolSuspensionResumeThread(System.UInt32,System.UInt32) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.ThreadpoolSuspensionSuspendThread(System.UInt32,System.UInt32) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.TieredCompilationBackgroundJitStart(System.UInt16,System.UInt32) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.TieredCompilationBackgroundJitStop(System.UInt16,System.UInt32,System.UInt32) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.TieredCompilationPause(System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.TieredCompilationResume(System.UInt16,System.UInt32) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.TieredCompilationSettings(System.UInt16,System.UInt32) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.TypeLoadStart(System.UInt32,System.UInt16) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.TypeLoadStop(System.UInt32,System.UInt16,System.UInt16,System.UInt64,System.String) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.WorkerThreadCreate(System.UInt32,System.UInt32) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.WorkerThreadRetire(System.UInt32,System.UInt32) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.WorkerThreadTerminate(System.UInt32,System.UInt32) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.WorkerThreadUnretire(System.UInt32,System.UInt32) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.YieldProcessorMeasurement(System.UInt16,System.Double,System.Double) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.PollingPayloadType.set_Payload(System.Diagnostics.Tracing.CounterPayload) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Diagnostics.Tracing.RuntimeEventSource.LogAppContextSwitch(System.String,System.Int32) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.RuntimeEventSource.ProcessorCount(System.Int32) | [EventAttribute(...)] | -| System.Void System.Diagnostics.Tracing.TraceLoggingMetadataCollector.set_Tags(System.Diagnostics.Tracing.EventFieldTags) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Enum.ThrowInvalidRuntimeType(System.Type) | [DoesNotReturnAttribute(...)] | -| System.Void System.Environment.Exit(System.Int32) | [DoesNotReturnAttribute(...)] | -| System.Void System.Environment.FailFast(System.String) | [DoesNotReturnAttribute(...)] | -| System.Void System.Environment.FailFast(System.String,System.Exception) | [DoesNotReturnAttribute(...)] | -| System.Void System.Environment.FailFast(System.String,System.Exception,System.String) | [DoesNotReturnAttribute(...)] | -| System.Void System.Environment._Exit(System.Int32) | [DoesNotReturnAttribute(...)] | -| System.Void System.Exception.<ToString>g__Write\|60_0(System.String,System.Span<System.Char>) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Exception.OnDeserialized(System.Runtime.Serialization.StreamingContext) | [OnDeserializedAttribute(...)] | -| System.Void System.Exception.SetCurrentStackTrace() | [StackTraceHiddenAttribute(...)] | -| System.Void System.GC.<RegisterNoGCRegionCallback>g__Callback\|67_0(System.GC.NoGCRegionCallbackFinalizerWorkItem*) | [CompilerGeneratedAttribute(...)] | -| System.Void System.GC.<RegisterNoGCRegionCallback>g__Callback\|67_0(System.GC.NoGCRegionCallbackFinalizerWorkItem*) | [UnmanagedCallersOnlyAttribute(...)] | -| System.Void System.GC.<RegisterNoGCRegionCallback>g__Free\|67_1(System.GC.NoGCRegionCallbackFinalizerWorkItem*) | [CompilerGeneratedAttribute(...)] | -| System.Void System.GC.ConfigCallback(System.Void*,System.Void*,System.Void*,System.GC.GCConfigurationType,System.Int64) | [UnmanagedCallersOnlyAttribute(...)] | -| System.Void System.GC.KeepAlive(System.Object) | [IntrinsicAttribute(...)] | -| System.Void System.Globalization.CalendarData.EnumCalendarInfoCallback(System.Char*,System.IntPtr) | [UnmanagedCallersOnlyAttribute(...)] | -| System.Void System.Globalization.CompareInfo.CheckCompareOptionsForCompare(System.Globalization.CompareOptions) | [StackTraceHiddenAttribute(...)] | -| System.Void System.Globalization.CompareInfo.OnDeserialized(System.Runtime.Serialization.StreamingContext) | [OnDeserializedAttribute(...)] | -| System.Void System.Globalization.CompareInfo.OnDeserializing(System.Runtime.Serialization.StreamingContext) | [OnDeserializingAttribute(...)] | -| System.Void System.Globalization.CompareInfo.OnSerializing(System.Runtime.Serialization.StreamingContext) | [OnSerializingAttribute(...)] | -| System.Void System.Globalization.CompareInfo.ThrowCompareOptionsCheckFailed(System.Globalization.CompareOptions) | [DoesNotReturnAttribute(...)] | -| System.Void System.Globalization.CompareInfo.ThrowCompareOptionsCheckFailed(System.Globalization.CompareOptions) | [StackTraceHiddenAttribute(...)] | -| System.Void System.Globalization.DateTimeFormatInfo.<ValidateStyles>g__ThrowInvalid\|229_0(System.Globalization.DateTimeStyles,System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Globalization.NumberFormatInfo.<ValidateParseStyleFloatingPoint>g__ThrowInvalid\|166_0(System.Globalization.NumberStyles) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Globalization.NumberFormatInfo.<ValidateParseStyleInteger>g__ThrowInvalid\|165_0(System.Globalization.NumberStyles) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Guid.GuidResult.SetFailure(System.Guid.ParseFailure) | [IsReadOnlyAttribute(...)] | -| System.Void System.Guid.ThrowBadGuidFormatSpecification() | [DoesNotReturnAttribute(...)] | -| System.Void System.Guid.ThrowGuidArrayCtorArgumentException() | [DoesNotReturnAttribute(...)] | -| System.Void System.Guid.ThrowGuidArrayCtorArgumentException() | [StackTraceHiddenAttribute(...)] | -| System.Void System.IO.BinaryWriter.<WriteCharsCommonWithoutLengthPrefix>g__WriteToOutStream\|39_0(System.Byte[],System.Int32,System.Int32,System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Void System.IO.BufferedStream.<CopyToAsyncCore>d__68.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.IO.BufferedStream.<DisposeAsync>d__33.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.IO.BufferedStream.<FlushAsyncInternal>d__36.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.IO.BufferedStream.<FlushWriteAsync>d__40.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.IO.BufferedStream.<ReadFromUnderlyingStreamAsync>d__48.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.IO.BufferedStream.<WriteToUnderlyingStreamAsync>d__59.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.IO.Enumeration.FileSystemEntry.set_Directory(System.ReadOnlySpan<System.Char>) | [CompilerGeneratedAttribute(...)] | -| System.Void System.IO.Enumeration.FileSystemEntry.set_OriginalRootDirectory(System.ReadOnlySpan<System.Char>) | [CompilerGeneratedAttribute(...)] | -| System.Void System.IO.Enumeration.FileSystemEntry.set_RootDirectory(System.ReadOnlySpan<System.Char>) | [CompilerGeneratedAttribute(...)] | -| System.Void System.IO.Enumeration.FileSystemEnumerable`1.set_ShouldIncludePredicate(System.IO.Enumeration.FileSystemEnumerable<!0>.FindPredicate) | [CompilerGeneratedAttribute(...)] | -| System.Void System.IO.Enumeration.FileSystemEnumerable`1.set_ShouldRecursePredicate(System.IO.Enumeration.FileSystemEnumerable<!0>.FindPredicate) | [CompilerGeneratedAttribute(...)] | -| System.Void System.IO.EnumerationOptions.set_AttributesToSkip(System.IO.FileAttributes) | [CompilerGeneratedAttribute(...)] | -| System.Void System.IO.EnumerationOptions.set_BufferSize(System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Void System.IO.EnumerationOptions.set_IgnoreInaccessible(System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Void System.IO.EnumerationOptions.set_MatchCasing(System.IO.MatchCasing) | [CompilerGeneratedAttribute(...)] | -| System.Void System.IO.EnumerationOptions.set_MatchType(System.IO.MatchType) | [CompilerGeneratedAttribute(...)] | -| System.Void System.IO.EnumerationOptions.set_RecurseSubdirectories(System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Void System.IO.EnumerationOptions.set_ReturnSpecialDirectories(System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Void System.IO.File.<<WriteAllBytesAsync>g__Core\|92_0>d.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.IO.File.<InternalReadAllBytesAsync>d__90.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.IO.File.<InternalReadAllBytesUnknownLengthAsync>d__91.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.IO.File.<InternalReadAllLinesAsync>d__95.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.IO.File.<InternalReadAllTextAsync>d__86.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.IO.File.<InternalWriteAllLinesAsync>d__98.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.IO.File.<IterateFileLinesAsync>d__110..ctor(System.Int32) | [DebuggerHiddenAttribute(...)] | -| System.Void System.IO.File.<IterateFileLinesAsync>d__110.GetResult(System.Int16) | [DebuggerHiddenAttribute(...)] | -| System.Void System.IO.File.<IterateFileLinesAsync>d__110.OnCompleted(System.Action<System.Object>,System.Object,System.Int16,System.Threading.Tasks.Sources.ValueTaskSourceOnCompletedFlags) | [DebuggerHiddenAttribute(...)] | -| System.Void System.IO.File.<IterateFileLinesAsync>d__110.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.IO.File.<WriteToFileAsync>d__108.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.IO.FileStream.<DisposeAsync>d__57.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.IO.FileSystem.<ResolveLinkTarget>g__GetLinkTargetFullPath\|46_0(System.Text.ValueStringBuilder,System.ReadOnlySpan<System.Char>) | [CompilerGeneratedAttribute(...)] | -| System.Void System.IO.Strategies.BufferedFileStreamStrategy.<CopyToAsyncCore>d__57.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.IO.Strategies.BufferedFileStreamStrategy.<DisposeAsync>d__27.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.IO.Strategies.BufferedFileStreamStrategy.<FlushAsyncInternal>d__55.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.IO.Strategies.BufferedFileStreamStrategy.<ReadAsyncSlowPath>d__37.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.IO.Strategies.BufferedFileStreamStrategy.<ReadFromNonSeekableAsync>d__36.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.IO.Strategies.BufferedFileStreamStrategy.<WriteAsyncSlowPath>d__48.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.IO.Strategies.BufferedFileStreamStrategy.<WriteToNonSeekableAsync>d__47.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.IO.Strategies.FileStreamStrategy.set_IsDerived(System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Void System.IO.Stream.<<CopyToAsync>g__Core\|27_0>d.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.IO.Stream.<<ReadAsync>g__FinishReadAsync\|42_0>d.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.IO.Stream.<FinishWriteAsync>d__61.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.IO.Stream.<ReadAtLeastAsyncCore>d__46.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.IO.StreamReader.<ReadAsyncInternal>d__69.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.IO.StreamReader.<ReadBufferAsync>d__72.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.IO.StreamReader.<ReadLineAsyncInternal>d__63.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.IO.StreamReader.<ReadToEndAsyncInternal>d__66.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.IO.StreamReader.<ThrowIfDisposed>g__ThrowObjectDisposedException\|73_0() | [CompilerGeneratedAttribute(...)] | -| System.Void System.IO.StreamReader.ThrowAsyncIOInProgress() | [DoesNotReturnAttribute(...)] | -| System.Void System.IO.StreamWriter.<<FlushAsyncInternal>g__Core\|76_0>d.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.IO.StreamWriter.<DisposeAsyncCore>d__36.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.IO.StreamWriter.<ThrowIfDisposed>g__ThrowObjectDisposedException\|77_0() | [CompilerGeneratedAttribute(...)] | -| System.Void System.IO.StreamWriter.<WriteAsyncInternal>d__64.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.IO.StreamWriter.<WriteAsyncInternal>d__68.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.IO.StreamWriter.ThrowAsyncIOInProgress() | [DoesNotReturnAttribute(...)] | -| System.Void System.IO.StringReader.ThrowObjectDisposedException_ReaderClosed() | [DoesNotReturnAttribute(...)] | -| System.Void System.IO.TextReader.<ReadBlockAsyncInternal>d__23.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.IO.TextReader.<ReadToEndAsync>d__17.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.IO.TextWriter.<<WriteAsync>g__WriteAsyncCore\|60_0>d.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.IO.TextWriter.<<WriteLineAsync>g__WriteLineAsyncCore\|66_0>d.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.IntPtr..ctor(System.Int32) | [NonVersionableAttribute(...)] | -| System.Void System.IntPtr..ctor(System.Int64) | [NonVersionableAttribute(...)] | -| System.Void System.IntPtr..ctor(System.Void*) | [NonVersionableAttribute(...)] | -| System.Void System.LazyHelper.ThrowException() | [DoesNotReturnAttribute(...)] | -| System.Void System.LocalDataStoreSlot.set_Data(System.Threading.ThreadLocal<System.Object>) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Math.ThrowMinMaxException`1(!0,!0) | [DoesNotReturnAttribute(...)] | -| System.Void System.Math.ThrowNegateTwosCompOverflow() | [DoesNotReturnAttribute(...)] | -| System.Void System.Math.ThrowNegateTwosCompOverflow() | [StackTraceHiddenAttribute(...)] | -| System.Void System.MemoryExtensions.CopyTo`1(!0[],System.Memory<!0>) | [ExtensionAttribute(...)] | -| System.Void System.MemoryExtensions.CopyTo`1(!0[],System.Span<!0>) | [ExtensionAttribute(...)] | -| System.Void System.MemoryExtensions.Replace`1(System.ReadOnlySpan<!0>,System.Span<!0>,!0,!0) | [ExtensionAttribute(...)] | -| System.Void System.MemoryExtensions.Replace`1(System.Span<!0>,!0,!0) | [ExtensionAttribute(...)] | -| System.Void System.MemoryExtensions.Reverse`1(System.Span<!0>) | [ExtensionAttribute(...)] | -| System.Void System.MemoryExtensions.Sort`1(System.Span<!0>) | [ExtensionAttribute(...)] | -| System.Void System.MemoryExtensions.Sort`1(System.Span<!0>,System.Comparison<!0>) | [ExtensionAttribute(...)] | -| System.Void System.MemoryExtensions.Sort`2(System.Span<!0>,!1) | [ExtensionAttribute(...)] | -| System.Void System.MemoryExtensions.Sort`2(System.Span<!0>,System.Span<!1>) | [ExtensionAttribute(...)] | -| System.Void System.MemoryExtensions.Sort`2(System.Span<!0>,System.Span<!1>,System.Comparison<!0>) | [ExtensionAttribute(...)] | -| System.Void System.MemoryExtensions.Sort`3(System.Span<!0>,System.Span<!1>,!2) | [ExtensionAttribute(...)] | -| System.Void System.MemoryExtensions.ThrowNullLowHighInclusive`1(!0,!0) | [DoesNotReturnAttribute(...)] | -| System.Void System.ModuleHandle.<ValidateModulePointer>g__ThrowInvalidOperationException\|11_0() | [CompilerGeneratedAttribute(...)] | -| System.Void System.ModuleHandle.<ValidateModulePointer>g__ThrowInvalidOperationException\|11_0() | [DoesNotReturnAttribute(...)] | -| System.Void System.ModuleHandle.<ValidateModulePointer>g__ThrowInvalidOperationException\|11_0() | [StackTraceHiddenAttribute(...)] | -| System.Void System.MulticastDelegate.CtorClosed(System.Object,System.IntPtr) | [DebuggerNonUserCodeAttribute(...)] | -| System.Void System.MulticastDelegate.CtorClosed(System.Object,System.IntPtr) | [DebuggerStepThroughAttribute(...)] | -| System.Void System.MulticastDelegate.CtorClosedStatic(System.Object,System.IntPtr) | [DebuggerNonUserCodeAttribute(...)] | -| System.Void System.MulticastDelegate.CtorClosedStatic(System.Object,System.IntPtr) | [DebuggerStepThroughAttribute(...)] | -| System.Void System.MulticastDelegate.CtorCollectibleClosedStatic(System.Object,System.IntPtr,System.IntPtr) | [DebuggerNonUserCodeAttribute(...)] | -| System.Void System.MulticastDelegate.CtorCollectibleClosedStatic(System.Object,System.IntPtr,System.IntPtr) | [DebuggerStepThroughAttribute(...)] | -| System.Void System.MulticastDelegate.CtorCollectibleOpened(System.Object,System.IntPtr,System.IntPtr,System.IntPtr) | [DebuggerNonUserCodeAttribute(...)] | -| System.Void System.MulticastDelegate.CtorCollectibleOpened(System.Object,System.IntPtr,System.IntPtr,System.IntPtr) | [DebuggerStepThroughAttribute(...)] | -| System.Void System.MulticastDelegate.CtorCollectibleVirtualDispatch(System.Object,System.IntPtr,System.IntPtr,System.IntPtr) | [DebuggerNonUserCodeAttribute(...)] | -| System.Void System.MulticastDelegate.CtorCollectibleVirtualDispatch(System.Object,System.IntPtr,System.IntPtr,System.IntPtr) | [DebuggerStepThroughAttribute(...)] | -| System.Void System.MulticastDelegate.CtorOpened(System.Object,System.IntPtr,System.IntPtr) | [DebuggerNonUserCodeAttribute(...)] | -| System.Void System.MulticastDelegate.CtorOpened(System.Object,System.IntPtr,System.IntPtr) | [DebuggerStepThroughAttribute(...)] | -| System.Void System.MulticastDelegate.CtorRTClosed(System.Object,System.IntPtr) | [DebuggerNonUserCodeAttribute(...)] | -| System.Void System.MulticastDelegate.CtorRTClosed(System.Object,System.IntPtr) | [DebuggerStepThroughAttribute(...)] | -| System.Void System.MulticastDelegate.CtorVirtualDispatch(System.Object,System.IntPtr,System.IntPtr) | [DebuggerNonUserCodeAttribute(...)] | -| System.Void System.MulticastDelegate.CtorVirtualDispatch(System.Object,System.IntPtr,System.IntPtr) | [DebuggerStepThroughAttribute(...)] | -| System.Void System.MulticastDelegate.ThrowNullThisInDelegateToInstance() | [DebuggerNonUserCodeAttribute(...)] | -| System.Void System.MulticastDelegate.ThrowNullThisInDelegateToInstance() | [DoesNotReturnAttribute(...)] | -| System.Void System.Nullable`1..ctor(!0) | [NonVersionableAttribute(...)] | -| System.Void System.Number.<AppendUnknownChar>g__AppendNonAsciiBytes\|115_0`1(System.Collections.Generic.ValueListBuilder<!0>,System.Char) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Number.ThrowFormatException`1(System.ReadOnlySpan<!0>) | [DoesNotReturnAttribute(...)] | -| System.Void System.Number.ThrowOverflowException(System.String) | [DoesNotReturnAttribute(...)] | -| System.Void System.Number.ThrowOverflowException`1() | [DoesNotReturnAttribute(...)] | -| System.Void System.Number.ThrowOverflowOrFormatException`2(System.Number.ParsingStatus,System.ReadOnlySpan<!0>) | [DoesNotReturnAttribute(...)] | -| System.Void System.Numerics.Plane..ctor(System.Numerics.Vector3,System.Single) | [IntrinsicAttribute(...)] | -| System.Void System.Numerics.Plane..ctor(System.Numerics.Vector4) | [IntrinsicAttribute(...)] | -| System.Void System.Numerics.Plane..ctor(System.Single,System.Single,System.Single,System.Single) | [IntrinsicAttribute(...)] | -| System.Void System.Numerics.Quaternion..ctor(System.Numerics.Vector3,System.Single) | [IntrinsicAttribute(...)] | -| System.Void System.Numerics.Quaternion..ctor(System.Single,System.Single,System.Single,System.Single) | [IntrinsicAttribute(...)] | -| System.Void System.Numerics.Vector2..ctor(System.Single) | [IntrinsicAttribute(...)] | -| System.Void System.Numerics.Vector2..ctor(System.Single,System.Single) | [IntrinsicAttribute(...)] | -| System.Void System.Numerics.Vector2.CopyTo(System.Single[]) | [IsReadOnlyAttribute(...)] | -| System.Void System.Numerics.Vector2.CopyTo(System.Single[],System.Int32) | [IsReadOnlyAttribute(...)] | -| System.Void System.Numerics.Vector2.CopyTo(System.Span<System.Single>) | [IsReadOnlyAttribute(...)] | -| System.Void System.Numerics.Vector3..ctor(System.Numerics.Vector2,System.Single) | [IntrinsicAttribute(...)] | -| System.Void System.Numerics.Vector3..ctor(System.Single) | [IntrinsicAttribute(...)] | -| System.Void System.Numerics.Vector3..ctor(System.Single,System.Single,System.Single) | [IntrinsicAttribute(...)] | -| System.Void System.Numerics.Vector3.CopyTo(System.Single[]) | [IsReadOnlyAttribute(...)] | -| System.Void System.Numerics.Vector3.CopyTo(System.Single[],System.Int32) | [IsReadOnlyAttribute(...)] | -| System.Void System.Numerics.Vector3.CopyTo(System.Span<System.Single>) | [IsReadOnlyAttribute(...)] | -| System.Void System.Numerics.Vector4..ctor(System.Numerics.Vector2,System.Single,System.Single) | [IntrinsicAttribute(...)] | -| System.Void System.Numerics.Vector4..ctor(System.Numerics.Vector3,System.Single) | [IntrinsicAttribute(...)] | -| System.Void System.Numerics.Vector4..ctor(System.Single) | [IntrinsicAttribute(...)] | -| System.Void System.Numerics.Vector4..ctor(System.Single,System.Single,System.Single,System.Single) | [IntrinsicAttribute(...)] | -| System.Void System.Numerics.Vector4.CopyTo(System.Single[]) | [IsReadOnlyAttribute(...)] | -| System.Void System.Numerics.Vector4.CopyTo(System.Single[],System.Int32) | [IsReadOnlyAttribute(...)] | -| System.Void System.Numerics.Vector4.CopyTo(System.Span<System.Single>) | [IsReadOnlyAttribute(...)] | -| System.Void System.Numerics.Vector.SetElementUnsafe(System.Numerics.Quaternion,System.Int32,System.Single) | [ExtensionAttribute(...)] | -| System.Void System.Numerics.Vector.SetElementUnsafe(System.Numerics.Vector2,System.Int32,System.Single) | [ExtensionAttribute(...)] | -| System.Void System.Numerics.Vector.SetElementUnsafe(System.Numerics.Vector3,System.Int32,System.Single) | [ExtensionAttribute(...)] | -| System.Void System.Numerics.Vector.SetElementUnsafe(System.Numerics.Vector4,System.Int32,System.Single) | [ExtensionAttribute(...)] | -| System.Void System.Numerics.Vector.SetElementUnsafe`1(System.Numerics.Vector<!0>,System.Int32,!0) | [ExtensionAttribute(...)] | -| System.Void System.Numerics.Vector.StoreAlignedNonTemporal`1(System.Numerics.Vector<!0>,!0*) | [ExtensionAttribute(...)] | -| System.Void System.Numerics.Vector.StoreAlignedNonTemporal`1(System.Numerics.Vector<!0>,!0*) | [IntrinsicAttribute(...)] | -| System.Void System.Numerics.Vector.StoreAligned`1(System.Numerics.Vector<!0>,!0*) | [ExtensionAttribute(...)] | -| System.Void System.Numerics.Vector.StoreAligned`1(System.Numerics.Vector<!0>,!0*) | [IntrinsicAttribute(...)] | -| System.Void System.Numerics.Vector.StoreUnsafe`1(System.Numerics.Vector<!0>,!0) | [ExtensionAttribute(...)] | -| System.Void System.Numerics.Vector.StoreUnsafe`1(System.Numerics.Vector<!0>,!0) | [IntrinsicAttribute(...)] | -| System.Void System.Numerics.Vector.StoreUnsafe`1(System.Numerics.Vector<!0>,!0,System.UIntPtr) | [ExtensionAttribute(...)] | -| System.Void System.Numerics.Vector.StoreUnsafe`1(System.Numerics.Vector<!0>,!0,System.UIntPtr) | [IntrinsicAttribute(...)] | -| System.Void System.Numerics.Vector.Store`1(System.Numerics.Vector<!0>,!0*) | [ExtensionAttribute(...)] | -| System.Void System.Numerics.Vector.Store`1(System.Numerics.Vector<!0>,!0*) | [IntrinsicAttribute(...)] | -| System.Void System.Numerics.Vector`1..ctor(!0) | [IntrinsicAttribute(...)] | -| System.Void System.Object..ctor() | [NonVersionableAttribute(...)] | -| System.Void System.Object.Finalize() | [NonVersionableAttribute(...)] | -| System.Void System.ObjectDisposedException.ThrowIf(System.Boolean,System.Object) | [StackTraceHiddenAttribute(...)] | -| System.Void System.ObjectDisposedException.ThrowIf(System.Boolean,System.Type) | [StackTraceHiddenAttribute(...)] | -| System.Void System.ObsoleteAttribute.set_DiagnosticId(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.ObsoleteAttribute.set_UrlFormat(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Progress`1.add_ProgressChanged(System.EventHandler<!0>) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Progress`1.remove_ProgressChanged(System.EventHandler<!0>) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Reflection.AssemblyNameFormatter.AppendQuoted(System.Text.ValueStringBuilder,System.String) | [ExtensionAttribute(...)] | -| System.Void System.Reflection.AssemblyNameParser.ThrowInvalidAssemblyName() | [DoesNotReturnAttribute(...)] | -| System.Void System.Reflection.Emit.RuntimeModuleBuilder.<SetFieldRVAContent>g____PInvoke\|27_0(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Byte*,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Reflection.Emit.RuntimeTypeBuilder.<DefineCustomAttribute>g____PInvoke\|8_0(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Int32,System.Byte*,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Reflection.Emit.RuntimeTypeBuilder.<SetMethodIL>g____PInvoke\|7_0(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Int32,System.Byte*,System.Int32,System.Byte*,System.Int32,System.Int32,System.Reflection.Emit.ExceptionHandler*,System.Int32,System.Int32*,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Reflection.Emit.RuntimeTypeBuilder.<SetPInvokeData>g____PInvoke\|20_0(System.Runtime.CompilerServices.QCallModule,System.UInt16*,System.UInt16*,System.Int32,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Reflection.Emit.RuntimeTypeBuilder.SetPInvokeData(System.Runtime.CompilerServices.QCallModule,System.String,System.String,System.Int32,System.Int32) | [LibraryImportAttribute(...)] | -| System.Void System.Reflection.EventInfo.AddEventHandler(System.Object,System.Delegate) | [DebuggerHiddenAttribute(...)] | -| System.Void System.Reflection.EventInfo.AddEventHandler(System.Object,System.Delegate) | [DebuggerStepThroughAttribute(...)] | -| System.Void System.Reflection.EventInfo.RemoveEventHandler(System.Object,System.Delegate) | [DebuggerHiddenAttribute(...)] | -| System.Void System.Reflection.EventInfo.RemoveEventHandler(System.Object,System.Delegate) | [DebuggerStepThroughAttribute(...)] | -| System.Void System.Reflection.FieldInfo.SetValue(System.Object,System.Object) | [DebuggerHiddenAttribute(...)] | -| System.Void System.Reflection.FieldInfo.SetValue(System.Object,System.Object) | [DebuggerStepThroughAttribute(...)] | -| System.Void System.Reflection.MdFieldInfo.SetValue(System.Object,System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Globalization.CultureInfo) | [DebuggerHiddenAttribute(...)] | -| System.Void System.Reflection.MdFieldInfo.SetValue(System.Object,System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Globalization.CultureInfo) | [DebuggerStepThroughAttribute(...)] | -| System.Void System.Reflection.MdFieldInfo.SetValueDirect(System.TypedReference,System.Object) | [DebuggerHiddenAttribute(...)] | -| System.Void System.Reflection.MdFieldInfo.SetValueDirect(System.TypedReference,System.Object) | [DebuggerStepThroughAttribute(...)] | -| System.Void System.Reflection.MethodBaseInvoker.ThrowTargetParameterCountException() | [DoesNotReturnAttribute(...)] | -| System.Void System.Reflection.NullabilityInfo.set_ReadState(System.Reflection.NullabilityState) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Reflection.NullabilityInfo.set_WriteState(System.Reflection.NullabilityState) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Reflection.ObfuscateAssemblyAttribute.set_StripAfterObfuscation(System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Reflection.ObfuscationAttribute.set_ApplyToMembers(System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Reflection.ObfuscationAttribute.set_Exclude(System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Reflection.ObfuscationAttribute.set_Feature(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Reflection.ObfuscationAttribute.set_StripAfterObfuscation(System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Reflection.PropertyInfo.SetValue(System.Object,System.Object) | [DebuggerHiddenAttribute(...)] | -| System.Void System.Reflection.PropertyInfo.SetValue(System.Object,System.Object) | [DebuggerStepThroughAttribute(...)] | -| System.Void System.Reflection.PropertyInfo.SetValue(System.Object,System.Object,System.Object[]) | [DebuggerHiddenAttribute(...)] | -| System.Void System.Reflection.PropertyInfo.SetValue(System.Object,System.Object,System.Object[]) | [DebuggerStepThroughAttribute(...)] | -| System.Void System.Reflection.RtFieldInfo.SetValue(System.Object,System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Globalization.CultureInfo) | [DebuggerHiddenAttribute(...)] | -| System.Void System.Reflection.RtFieldInfo.SetValue(System.Object,System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Globalization.CultureInfo) | [DebuggerStepThroughAttribute(...)] | -| System.Void System.Reflection.RtFieldInfo.SetValueDirect(System.TypedReference,System.Object) | [DebuggerHiddenAttribute(...)] | -| System.Void System.Reflection.RtFieldInfo.SetValueDirect(System.TypedReference,System.Object) | [DebuggerStepThroughAttribute(...)] | -| System.Void System.Reflection.RuntimeAssembly.<GetModule>g____PInvoke\|52_0(System.Runtime.CompilerServices.QCallAssembly,System.UInt16*,System.Runtime.CompilerServices.ObjectHandleOnStack) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Reflection.RuntimeAssembly.<GetModules>g____PInvoke\|90_0(System.Runtime.CompilerServices.QCallAssembly,System.Int32,System.Int32,System.Runtime.CompilerServices.ObjectHandleOnStack) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Reflection.RuntimeAssembly.<GetTypeCore>g____PInvoke\|26_0(System.Runtime.CompilerServices.QCallAssembly,System.Byte*,System.IntPtr*,System.Int32,System.Runtime.CompilerServices.ObjectHandleOnStack) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Reflection.RuntimeAssembly.<GetTypeCoreIgnoreCase>g____PInvoke\|27_0(System.Runtime.CompilerServices.QCallAssembly,System.UInt16*,System.IntPtr*,System.Int32,System.Runtime.CompilerServices.ObjectHandleOnStack) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Reflection.RuntimeAssembly.<GetVersion>g____PInvoke\|72_0(System.Runtime.CompilerServices.QCallAssembly,System.Int32*,System.Int32*,System.Int32*,System.Int32*) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Reflection.RuntimeAssembly.<InternalLoad>g____PInvoke\|49_0(System.Reflection.NativeAssemblyNameParts*,System.Runtime.CompilerServices.ObjectHandleOnStack,System.Runtime.CompilerServices.StackCrawlMarkHandle,System.Int32,System.Runtime.CompilerServices.ObjectHandleOnStack,System.Runtime.CompilerServices.ObjectHandleOnStack) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Reflection.RuntimeAssembly.GetModule(System.Runtime.CompilerServices.QCallAssembly,System.String,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | -| System.Void System.Reflection.RuntimeAssembly.GetTypeCore(System.Runtime.CompilerServices.QCallAssembly,System.String,System.ReadOnlySpan<System.String>,System.Int32,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | -| System.Void System.Reflection.RuntimeAssembly.GetTypeCoreIgnoreCase(System.Runtime.CompilerServices.QCallAssembly,System.String,System.ReadOnlySpan<System.String>,System.Int32,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | -| System.Void System.Reflection.RuntimeAssembly.add__ModuleResolve(System.Reflection.ModuleResolveEventHandler) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Reflection.RuntimeAssembly.remove__ModuleResolve(System.Reflection.ModuleResolveEventHandler) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Reflection.RuntimeConstructorInfo.ThrowNoInvokeException() | [DoesNotReturnAttribute(...)] | -| System.Void System.Reflection.RuntimeMethodInfo.InvokePropertySetter(System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo) | [DebuggerHiddenAttribute(...)] | -| System.Void System.Reflection.RuntimeMethodInfo.InvokePropertySetter(System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo) | [DebuggerStepThroughAttribute(...)] | -| System.Void System.Reflection.RuntimeMethodInfo.ThrowNoInvokeException() | [DoesNotReturnAttribute(...)] | -| System.Void System.Reflection.RuntimePropertyInfo.SetValue(System.Object,System.Object,System.Object[]) | [DebuggerHiddenAttribute(...)] | -| System.Void System.Reflection.RuntimePropertyInfo.SetValue(System.Object,System.Object,System.Object[]) | [DebuggerStepThroughAttribute(...)] | -| System.Void System.Reflection.RuntimePropertyInfo.SetValue(System.Object,System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo) | [DebuggerHiddenAttribute(...)] | -| System.Void System.Reflection.RuntimePropertyInfo.SetValue(System.Object,System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo) | [DebuggerStepThroughAttribute(...)] | -| System.Void System.Reflection.TypeInfo.<GetDeclaredMethods>d__10..ctor(System.Int32) | [DebuggerHiddenAttribute(...)] | -| System.Void System.Reflection.TypeInfo.<GetDeclaredMethods>d__10.Dispose() | [DebuggerHiddenAttribute(...)] | -| System.Void System.Reflection.TypeInfo.<GetDeclaredMethods>d__10.Reset() | [DebuggerHiddenAttribute(...)] | -| System.Void System.Reflection.TypeInfo.<get_DeclaredNestedTypes>d__22..ctor(System.Int32) | [DebuggerHiddenAttribute(...)] | -| System.Void System.Reflection.TypeInfo.<get_DeclaredNestedTypes>d__22.Dispose() | [DebuggerHiddenAttribute(...)] | -| System.Void System.Reflection.TypeInfo.<get_DeclaredNestedTypes>d__22.Reset() | [DebuggerHiddenAttribute(...)] | -| System.Void System.Resources.ResourceFallbackManager.<GetEnumerator>d__5..ctor(System.Int32) | [DebuggerHiddenAttribute(...)] | -| System.Void System.Resources.ResourceFallbackManager.<GetEnumerator>d__5.Dispose() | [DebuggerHiddenAttribute(...)] | -| System.Void System.Resources.ResourceFallbackManager.<GetEnumerator>d__5.Reset() | [DebuggerHiddenAttribute(...)] | -| System.Void System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start`1(!0) | [DebuggerStepThroughAttribute(...)] | -| System.Void System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start`1(!0) | [DebuggerStepThroughAttribute(...)] | -| System.Void System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Start`1(!0) | [DebuggerStepThroughAttribute(...)] | -| System.Void System.Runtime.CompilerServices.AsyncVoidMethodBuilder.Start`1(!0) | [DebuggerStepThroughAttribute(...)] | -| System.Void System.Runtime.CompilerServices.CastHelpers.StelemRef(System.Array,System.IntPtr,System.Object) | [DebuggerHiddenAttribute(...)] | -| System.Void System.Runtime.CompilerServices.CastHelpers.StelemRef(System.Array,System.IntPtr,System.Object) | [DebuggerStepThroughAttribute(...)] | -| System.Void System.Runtime.CompilerServices.CastHelpers.StelemRef(System.Array,System.IntPtr,System.Object) | [StackTraceHiddenAttribute(...)] | -| System.Void System.Runtime.CompilerServices.CastHelpers.StelemRef_Helper(System.Object,System.Void*,System.Object) | [DebuggerHiddenAttribute(...)] | -| System.Void System.Runtime.CompilerServices.CastHelpers.StelemRef_Helper(System.Object,System.Void*,System.Object) | [DebuggerStepThroughAttribute(...)] | -| System.Void System.Runtime.CompilerServices.CastHelpers.StelemRef_Helper(System.Object,System.Void*,System.Object) | [StackTraceHiddenAttribute(...)] | -| System.Void System.Runtime.CompilerServices.CastHelpers.StelemRef_Helper_NoCacheLookup(System.Object,System.Void*,System.Object) | [DebuggerHiddenAttribute(...)] | -| System.Void System.Runtime.CompilerServices.CastHelpers.StelemRef_Helper_NoCacheLookup(System.Object,System.Void*,System.Object) | [DebuggerStepThroughAttribute(...)] | -| System.Void System.Runtime.CompilerServices.CastHelpers.StelemRef_Helper_NoCacheLookup(System.Object,System.Void*,System.Object) | [StackTraceHiddenAttribute(...)] | -| System.Void System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute.set_IsOptional(System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.GetResult() | [StackTraceHiddenAttribute(...)] | -| System.Void System.Runtime.CompilerServices.ContractHelper.TriggerFailure(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.String,System.Exception) | [DebuggerNonUserCodeAttribute(...)] | -| System.Void System.Runtime.CompilerServices.ContractHelper.add_InternalContractFailed(System.EventHandler<System.Diagnostics.Contracts.ContractFailedEventArgs>) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Runtime.CompilerServices.ContractHelper.remove_InternalContractFailed(System.EventHandler<System.Diagnostics.Contracts.ContractFailedEventArgs>) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Runtime.CompilerServices.InternalsVisibleToAttribute.set_AllInternalsVisible(System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Runtime.CompilerServices.RuntimeCompatibilityAttribute.set_WrapNonExceptionThrows(System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(System.IntPtr,delegate* managed<IntPtr,Byte&,PortableTailCallFrame*,Void>,System.Byte) | [StackTraceHiddenAttribute(...)] | -| System.Void System.Runtime.CompilerServices.RuntimeHelpers.InitializeArray(System.Array,System.RuntimeFieldHandle) | [IntrinsicAttribute(...)] | -| System.Void System.Runtime.CompilerServices.TaskAwaiter.GetResult() | [StackTraceHiddenAttribute(...)] | -| System.Void System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,System.Threading.Tasks.ConfigureAwaitOptions) | [StackTraceHiddenAttribute(...)] | -| System.Void System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task) | [StackTraceHiddenAttribute(...)] | -| System.Void System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(System.Threading.Tasks.Task,System.Threading.Tasks.ConfigureAwaitOptions) | [StackTraceHiddenAttribute(...)] | -| System.Void System.Runtime.CompilerServices.Unsafe.CopyBlock(System.Byte,System.Byte,System.UInt32) | [IntrinsicAttribute(...)] | -| System.Void System.Runtime.CompilerServices.Unsafe.CopyBlock(System.Byte,System.Byte,System.UInt32) | [NonVersionableAttribute(...)] | -| System.Void System.Runtime.CompilerServices.Unsafe.CopyBlock(System.Void*,System.Void*,System.UInt32) | [IntrinsicAttribute(...)] | -| System.Void System.Runtime.CompilerServices.Unsafe.CopyBlock(System.Void*,System.Void*,System.UInt32) | [NonVersionableAttribute(...)] | -| System.Void System.Runtime.CompilerServices.Unsafe.CopyBlockUnaligned(System.Byte,System.Byte,System.UInt32) | [IntrinsicAttribute(...)] | -| System.Void System.Runtime.CompilerServices.Unsafe.CopyBlockUnaligned(System.Byte,System.Byte,System.UInt32) | [NonVersionableAttribute(...)] | -| System.Void System.Runtime.CompilerServices.Unsafe.CopyBlockUnaligned(System.Void*,System.Void*,System.UInt32) | [IntrinsicAttribute(...)] | -| System.Void System.Runtime.CompilerServices.Unsafe.CopyBlockUnaligned(System.Void*,System.Void*,System.UInt32) | [NonVersionableAttribute(...)] | -| System.Void System.Runtime.CompilerServices.Unsafe.Copy`1(!0,System.Void*) | [IntrinsicAttribute(...)] | -| System.Void System.Runtime.CompilerServices.Unsafe.Copy`1(!0,System.Void*) | [NonVersionableAttribute(...)] | -| System.Void System.Runtime.CompilerServices.Unsafe.Copy`1(System.Void*,!0) | [IntrinsicAttribute(...)] | -| System.Void System.Runtime.CompilerServices.Unsafe.Copy`1(System.Void*,!0) | [NonVersionableAttribute(...)] | -| System.Void System.Runtime.CompilerServices.Unsafe.InitBlock(System.Byte,System.Byte,System.UInt32) | [IntrinsicAttribute(...)] | -| System.Void System.Runtime.CompilerServices.Unsafe.InitBlock(System.Byte,System.Byte,System.UInt32) | [NonVersionableAttribute(...)] | -| System.Void System.Runtime.CompilerServices.Unsafe.InitBlock(System.Void*,System.Byte,System.UInt32) | [IntrinsicAttribute(...)] | -| System.Void System.Runtime.CompilerServices.Unsafe.InitBlock(System.Void*,System.Byte,System.UInt32) | [NonVersionableAttribute(...)] | -| System.Void System.Runtime.CompilerServices.Unsafe.InitBlockUnaligned(System.Byte,System.Byte,System.UInt32) | [IntrinsicAttribute(...)] | -| System.Void System.Runtime.CompilerServices.Unsafe.InitBlockUnaligned(System.Byte,System.Byte,System.UInt32) | [NonVersionableAttribute(...)] | -| System.Void System.Runtime.CompilerServices.Unsafe.InitBlockUnaligned(System.Void*,System.Byte,System.UInt32) | [IntrinsicAttribute(...)] | -| System.Void System.Runtime.CompilerServices.Unsafe.InitBlockUnaligned(System.Void*,System.Byte,System.UInt32) | [NonVersionableAttribute(...)] | -| System.Void System.Runtime.CompilerServices.Unsafe.SkipInit`1(!0) | [IntrinsicAttribute(...)] | -| System.Void System.Runtime.CompilerServices.Unsafe.SkipInit`1(!0) | [NonVersionableAttribute(...)] | -| System.Void System.Runtime.CompilerServices.Unsafe.WriteUnaligned`1(System.Byte,!0) | [IntrinsicAttribute(...)] | -| System.Void System.Runtime.CompilerServices.Unsafe.WriteUnaligned`1(System.Byte,!0) | [NonVersionableAttribute(...)] | -| System.Void System.Runtime.CompilerServices.Unsafe.WriteUnaligned`1(System.Void*,!0) | [IntrinsicAttribute(...)] | -| System.Void System.Runtime.CompilerServices.Unsafe.WriteUnaligned`1(System.Void*,!0) | [NonVersionableAttribute(...)] | -| System.Void System.Runtime.CompilerServices.Unsafe.Write`1(System.Void*,!0) | [IntrinsicAttribute(...)] | -| System.Void System.Runtime.CompilerServices.Unsafe.Write`1(System.Void*,!0) | [NonVersionableAttribute(...)] | -| System.Void System.Runtime.CompilerServices.UnsafeAccessorAttribute.set_Name(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Runtime.ControlledExecution.ResetAbortThread() | [SuppressGCTransitionAttribute(...)] | -| System.Void System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() | [DoesNotReturnAttribute(...)] | -| System.Void System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() | [StackTraceHiddenAttribute(...)] | -| System.Void System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw(System.Exception) | [DoesNotReturnAttribute(...)] | -| System.Void System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw(System.Exception) | [StackTraceHiddenAttribute(...)] | -| System.Void System.Runtime.InteropServices.ComWrappers.<GetIUnknownImplInternal>g____PInvoke\|25_0(System.IntPtr*,System.IntPtr*,System.IntPtr*) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Runtime.InteropServices.ComWrappers.SetGlobalInstanceRegisteredForMarshalling(System.Int64) | [SuppressGCTransitionAttribute(...)] | -| System.Void System.Runtime.InteropServices.ComWrappers.SetGlobalInstanceRegisteredForTrackerSupport(System.Int64) | [SuppressGCTransitionAttribute(...)] | -| System.Void System.Runtime.InteropServices.LibraryImportAttribute.set_EntryPoint(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Runtime.InteropServices.LibraryImportAttribute.set_SetLastError(System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Runtime.InteropServices.LibraryImportAttribute.set_StringMarshalling(System.Runtime.InteropServices.StringMarshalling) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Runtime.InteropServices.LibraryImportAttribute.set_StringMarshallingCustomType(System.Type) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Runtime.InteropServices.Marshalling.MarshalUsingAttribute.set_ConstantElementCount(System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Runtime.InteropServices.Marshalling.MarshalUsingAttribute.set_CountElementName(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Runtime.InteropServices.Marshalling.MarshalUsingAttribute.set_ElementIndirectionDepth(System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Runtime.InteropServices.MemoryMarshal.<<ToEnumerable>g__FromArray\|18_2>d`1..ctor(System.Int32) | [DebuggerHiddenAttribute(...)] | -| System.Void System.Runtime.InteropServices.MemoryMarshal.<<ToEnumerable>g__FromArray\|18_2>d`1.Dispose() | [DebuggerHiddenAttribute(...)] | -| System.Void System.Runtime.InteropServices.MemoryMarshal.<<ToEnumerable>g__FromArray\|18_2>d`1.Reset() | [DebuggerHiddenAttribute(...)] | -| System.Void System.Runtime.InteropServices.MemoryMarshal.<<ToEnumerable>g__FromMemoryManager\|18_1>d`1..ctor(System.Int32) | [DebuggerHiddenAttribute(...)] | -| System.Void System.Runtime.InteropServices.MemoryMarshal.<<ToEnumerable>g__FromMemoryManager\|18_1>d`1.Dispose() | [DebuggerHiddenAttribute(...)] | -| System.Void System.Runtime.InteropServices.MemoryMarshal.<<ToEnumerable>g__FromMemoryManager\|18_1>d`1.Reset() | [DebuggerHiddenAttribute(...)] | -| System.Void System.Runtime.InteropServices.MemoryMarshal.<<ToEnumerable>g__FromString\|18_0>d`1..ctor(System.Int32) | [DebuggerHiddenAttribute(...)] | -| System.Void System.Runtime.InteropServices.MemoryMarshal.<<ToEnumerable>g__FromString\|18_0>d`1.Dispose() | [DebuggerHiddenAttribute(...)] | -| System.Void System.Runtime.InteropServices.MemoryMarshal.<<ToEnumerable>g__FromString\|18_0>d`1.Reset() | [DebuggerHiddenAttribute(...)] | -| System.Void System.Runtime.InteropServices.NFloat..ctor(System.Double) | [NonVersionableAttribute(...)] | -| System.Void System.Runtime.InteropServices.NFloat..ctor(System.Single) | [NonVersionableAttribute(...)] | -| System.Void System.Runtime.InteropServices.PosixSignalContext.set_Cancel(System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Runtime.InteropServices.PosixSignalContext.set_Signal(System.Runtime.InteropServices.PosixSignal) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Runtime.InteropServices.PosixSignalRegistration.<OnPosixSignal>g__HandleSignal\|10_0(System.Object) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector64.CopyTo`1(System.Runtime.Intrinsics.Vector64<!0>,!0[]) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector64.CopyTo`1(System.Runtime.Intrinsics.Vector64<!0>,!0[],System.Int32) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector64.CopyTo`1(System.Runtime.Intrinsics.Vector64<!0>,System.Span<!0>) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector64.SetElementUnsafe`1(System.Runtime.Intrinsics.Vector64<!0>,System.Int32,!0) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector64.StoreAlignedNonTemporal`1(System.Runtime.Intrinsics.Vector64<!0>,!0*) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector64.StoreAlignedNonTemporal`1(System.Runtime.Intrinsics.Vector64<!0>,!0*) | [IntrinsicAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector64.StoreAligned`1(System.Runtime.Intrinsics.Vector64<!0>,!0*) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector64.StoreAligned`1(System.Runtime.Intrinsics.Vector64<!0>,!0*) | [IntrinsicAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector64.StoreUnsafe`1(System.Runtime.Intrinsics.Vector64<!0>,!0) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector64.StoreUnsafe`1(System.Runtime.Intrinsics.Vector64<!0>,!0) | [IntrinsicAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector64.StoreUnsafe`1(System.Runtime.Intrinsics.Vector64<!0>,!0,System.UIntPtr) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector64.StoreUnsafe`1(System.Runtime.Intrinsics.Vector64<!0>,!0,System.UIntPtr) | [IntrinsicAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector64.Store`1(System.Runtime.Intrinsics.Vector64<!0>,!0*) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector64.Store`1(System.Runtime.Intrinsics.Vector64<!0>,!0*) | [IntrinsicAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector128.CopyTo`1(System.Runtime.Intrinsics.Vector128<!0>,!0[]) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector128.CopyTo`1(System.Runtime.Intrinsics.Vector128<!0>,!0[],System.Int32) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector128.CopyTo`1(System.Runtime.Intrinsics.Vector128<!0>,System.Span<!0>) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector128.SetElementUnsafe`1(System.Runtime.Intrinsics.Vector128<!0>,System.Int32,!0) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector128.SetLowerUnsafe`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector128.SetUpperUnsafe`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector128.StoreAlignedNonTemporal`1(System.Runtime.Intrinsics.Vector128<!0>,!0*) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector128.StoreAlignedNonTemporal`1(System.Runtime.Intrinsics.Vector128<!0>,!0*) | [IntrinsicAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector128.StoreAligned`1(System.Runtime.Intrinsics.Vector128<!0>,!0*) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector128.StoreAligned`1(System.Runtime.Intrinsics.Vector128<!0>,!0*) | [IntrinsicAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector128.StoreLowerUnsafe`1(System.Runtime.Intrinsics.Vector128<!0>,!0,System.UIntPtr) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector128.StoreUnsafe`1(System.Runtime.Intrinsics.Vector128<!0>,!0) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector128.StoreUnsafe`1(System.Runtime.Intrinsics.Vector128<!0>,!0) | [IntrinsicAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector128.StoreUnsafe`1(System.Runtime.Intrinsics.Vector128<!0>,!0,System.UIntPtr) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector128.StoreUnsafe`1(System.Runtime.Intrinsics.Vector128<!0>,!0,System.UIntPtr) | [IntrinsicAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector128.Store`1(System.Runtime.Intrinsics.Vector128<!0>,!0*) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector128.Store`1(System.Runtime.Intrinsics.Vector128<!0>,!0*) | [IntrinsicAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector256.CopyTo`1(System.Runtime.Intrinsics.Vector256<!0>,!0[]) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector256.CopyTo`1(System.Runtime.Intrinsics.Vector256<!0>,!0[],System.Int32) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector256.CopyTo`1(System.Runtime.Intrinsics.Vector256<!0>,System.Span<!0>) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector256.SetElementUnsafe`1(System.Runtime.Intrinsics.Vector256<!0>,System.Int32,!0) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector256.SetLowerUnsafe`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector256.SetUpperUnsafe`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector256.StoreAlignedNonTemporal`1(System.Runtime.Intrinsics.Vector256<!0>,!0*) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector256.StoreAlignedNonTemporal`1(System.Runtime.Intrinsics.Vector256<!0>,!0*) | [IntrinsicAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector256.StoreAligned`1(System.Runtime.Intrinsics.Vector256<!0>,!0*) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector256.StoreAligned`1(System.Runtime.Intrinsics.Vector256<!0>,!0*) | [IntrinsicAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector256.StoreUnsafe`1(System.Runtime.Intrinsics.Vector256<!0>,!0) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector256.StoreUnsafe`1(System.Runtime.Intrinsics.Vector256<!0>,!0) | [IntrinsicAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector256.StoreUnsafe`1(System.Runtime.Intrinsics.Vector256<!0>,!0,System.UIntPtr) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector256.StoreUnsafe`1(System.Runtime.Intrinsics.Vector256<!0>,!0,System.UIntPtr) | [IntrinsicAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector256.Store`1(System.Runtime.Intrinsics.Vector256<!0>,!0*) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector256.Store`1(System.Runtime.Intrinsics.Vector256<!0>,!0*) | [IntrinsicAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector512.CopyTo`1(System.Runtime.Intrinsics.Vector512<!0>,!0[]) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector512.CopyTo`1(System.Runtime.Intrinsics.Vector512<!0>,!0[],System.Int32) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector512.CopyTo`1(System.Runtime.Intrinsics.Vector512<!0>,System.Span<!0>) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector512.SetElementUnsafe`1(System.Runtime.Intrinsics.Vector512<!0>,System.Int32,!0) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector512.SetLowerUnsafe`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector512.SetUpperUnsafe`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector512.StoreAlignedNonTemporal`1(System.Runtime.Intrinsics.Vector512<!0>,!0*) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector512.StoreAlignedNonTemporal`1(System.Runtime.Intrinsics.Vector512<!0>,!0*) | [IntrinsicAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector512.StoreAligned`1(System.Runtime.Intrinsics.Vector512<!0>,!0*) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector512.StoreAligned`1(System.Runtime.Intrinsics.Vector512<!0>,!0*) | [IntrinsicAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector512.StoreUnsafe`1(System.Runtime.Intrinsics.Vector512<!0>,!0) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector512.StoreUnsafe`1(System.Runtime.Intrinsics.Vector512<!0>,!0) | [IntrinsicAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector512.StoreUnsafe`1(System.Runtime.Intrinsics.Vector512<!0>,!0,System.UIntPtr) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector512.StoreUnsafe`1(System.Runtime.Intrinsics.Vector512<!0>,!0,System.UIntPtr) | [IntrinsicAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector512.Store`1(System.Runtime.Intrinsics.Vector512<!0>,!0*) | [ExtensionAttribute(...)] | -| System.Void System.Runtime.Intrinsics.Vector512.Store`1(System.Runtime.Intrinsics.Vector512<!0>,!0*) | [IntrinsicAttribute(...)] | -| System.Void System.Runtime.Loader.AssemblyLoadContext.<InternalSetProfileRoot>g____PInvoke\|3_0(System.UInt16*) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Runtime.Loader.AssemblyLoadContext.<InternalStartProfile>g____PInvoke\|4_0(System.UInt16*,System.IntPtr) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Runtime.Loader.AssemblyLoadContext.<LoadFromPath>g____PInvoke\|5_0(System.IntPtr,System.UInt16*,System.UInt16*,System.Runtime.CompilerServices.ObjectHandleOnStack) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Runtime.Loader.AssemblyLoadContext.<get_All>d__85..ctor(System.Int32) | [DebuggerHiddenAttribute(...)] | -| System.Void System.Runtime.Loader.AssemblyLoadContext.<get_All>d__85.Dispose() | [DebuggerHiddenAttribute(...)] | -| System.Void System.Runtime.Loader.AssemblyLoadContext.<get_All>d__85.Reset() | [DebuggerHiddenAttribute(...)] | -| System.Void System.Runtime.Loader.AssemblyLoadContext.<get_Assemblies>d__55..ctor(System.Int32) | [DebuggerHiddenAttribute(...)] | -| System.Void System.Runtime.Loader.AssemblyLoadContext.<get_Assemblies>d__55.Dispose() | [DebuggerHiddenAttribute(...)] | -| System.Void System.Runtime.Loader.AssemblyLoadContext.<get_Assemblies>d__55.Reset() | [DebuggerHiddenAttribute(...)] | -| System.Void System.Runtime.Loader.AssemblyLoadContext.InternalSetProfileRoot(System.String) | [LibraryImportAttribute(...)] | -| System.Void System.Runtime.Loader.AssemblyLoadContext.InternalStartProfile(System.String,System.IntPtr) | [LibraryImportAttribute(...)] | -| System.Void System.Runtime.Loader.AssemblyLoadContext.LoadFromPath(System.IntPtr,System.String,System.String,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | -| System.Void System.Runtime.Loader.AssemblyLoadContext.add_AssemblyLoad(System.AssemblyLoadEventHandler) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Runtime.Loader.AssemblyLoadContext.add_AssemblyResolve(System.ResolveEventHandler) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Runtime.Loader.AssemblyLoadContext.add_ResourceResolve(System.ResolveEventHandler) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Runtime.Loader.AssemblyLoadContext.add_TypeResolve(System.ResolveEventHandler) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Runtime.Loader.AssemblyLoadContext.add__resolving(System.Func<System.Reflection.Assembly,System.Reflection.AssemblyName,System.Runtime.Loader.AssemblyLoadContext>) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Runtime.Loader.AssemblyLoadContext.add__resolvingUnmanagedDll(System.Func<System.IntPtr,System.Reflection.Assembly,System.String>) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Runtime.Loader.AssemblyLoadContext.add__unloading(System.Action<System.Runtime.Loader.AssemblyLoadContext>) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Runtime.Loader.AssemblyLoadContext.remove_AssemblyLoad(System.AssemblyLoadEventHandler) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Runtime.Loader.AssemblyLoadContext.remove_AssemblyResolve(System.ResolveEventHandler) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Runtime.Loader.AssemblyLoadContext.remove_ResourceResolve(System.ResolveEventHandler) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Runtime.Loader.AssemblyLoadContext.remove_TypeResolve(System.ResolveEventHandler) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Runtime.Loader.AssemblyLoadContext.remove__resolving(System.Func<System.Reflection.Assembly,System.Reflection.AssemblyName,System.Runtime.Loader.AssemblyLoadContext>) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Runtime.Loader.AssemblyLoadContext.remove__resolvingUnmanagedDll(System.Func<System.IntPtr,System.Reflection.Assembly,System.String>) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Runtime.Loader.AssemblyLoadContext.remove__unloading(System.Action<System.Runtime.Loader.AssemblyLoadContext>) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Runtime.Loader.LibraryNameVariation.<DetermineLibraryNameVariations>d__5..ctor(System.Int32) | [DebuggerHiddenAttribute(...)] | -| System.Void System.Runtime.Loader.LibraryNameVariation.<DetermineLibraryNameVariations>d__5.Dispose() | [DebuggerHiddenAttribute(...)] | -| System.Void System.Runtime.Loader.LibraryNameVariation.<DetermineLibraryNameVariations>d__5.Reset() | [DebuggerHiddenAttribute(...)] | -| System.Void System.Runtime.Serialization.DeserializationTracker.set_DeserializationInProgress(System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Runtime.Serialization.SerializationInfo.set_IsAssemblyNameSetExplicit(System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Runtime.Serialization.SerializationInfo.set_IsFullTypeNameSetExplicit(System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Runtime.Versioning.ObsoletedOSPlatformAttribute.set_Url(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Runtime.Versioning.RequiresPreviewFeaturesAttribute.set_Url(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.RuntimeType.ActivatorCache.ctor>g__CtorNoopStub\|4_1(System.Object) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Security.AllowPartiallyTrustedCallersAttribute.set_PartialTrustVisibilityLevel(System.Security.PartialTrustVisibilityLevel) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Security.PermissionSet.Deny() | [ObsoleteAttribute(...)] | -| System.Void System.Security.Permissions.SecurityAttribute.set_Action(System.Security.Permissions.SecurityAction) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Security.Permissions.SecurityAttribute.set_Unrestricted(System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Security.Permissions.SecurityPermissionAttribute.set_Assertion(System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Security.Permissions.SecurityPermissionAttribute.set_BindingRedirects(System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Security.Permissions.SecurityPermissionAttribute.set_ControlAppDomain(System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Security.Permissions.SecurityPermissionAttribute.set_ControlDomainPolicy(System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Security.Permissions.SecurityPermissionAttribute.set_ControlEvidence(System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Security.Permissions.SecurityPermissionAttribute.set_ControlPolicy(System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Security.Permissions.SecurityPermissionAttribute.set_ControlPrincipal(System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Security.Permissions.SecurityPermissionAttribute.set_ControlThread(System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Security.Permissions.SecurityPermissionAttribute.set_Execution(System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Security.Permissions.SecurityPermissionAttribute.set_Flags(System.Security.Permissions.SecurityPermissionFlag) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Security.Permissions.SecurityPermissionAttribute.set_Infrastructure(System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Security.Permissions.SecurityPermissionAttribute.set_RemotingConfiguration(System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Security.Permissions.SecurityPermissionAttribute.set_SerializationFormatter(System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Security.Permissions.SecurityPermissionAttribute.set_SkipVerification(System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Security.Permissions.SecurityPermissionAttribute.set_UnmanagedCode(System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Security.SecurityException.set_Demanded(System.Object) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Security.SecurityException.set_DenySetInstance(System.Object) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Security.SecurityException.set_FailedAssemblyInfo(System.Reflection.AssemblyName) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Security.SecurityException.set_GrantedSet(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Security.SecurityException.set_Method(System.Reflection.MethodInfo) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Security.SecurityException.set_PermissionState(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Security.SecurityException.set_PermissionType(System.Type) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Security.SecurityException.set_PermitOnlySetInstance(System.Object) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Security.SecurityException.set_RefusedSet(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Security.SecurityException.set_Url(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Security.SecurityRulesAttribute.set_SkipVerificationInFullTrust(System.Boolean) | [CompilerGeneratedAttribute(...)] | -| System.Void System.SpanHelpers.ThrowMustBeNullTerminatedString() | [DoesNotReturnAttribute(...)] | -| System.Void System.String.ThrowSubstringArgumentOutOfRange(System.Int32,System.Int32) | [DoesNotReturnAttribute(...)] | -| System.Void System.Text.DecoderExceptionFallbackBuffer.Throw(System.Byte[],System.Int32) | [DoesNotReturnAttribute(...)] | -| System.Void System.Text.DecoderFallbackBuffer.ThrowLastBytesRecursive(System.Byte[]) | [DoesNotReturnAttribute(...)] | -| System.Void System.Text.EncoderFallbackBuffer.ThrowLastCharRecursive(System.Int32) | [DoesNotReturnAttribute(...)] | -| System.Void System.Text.Encoding.ThrowBytesOverflow() | [DoesNotReturnAttribute(...)] | -| System.Void System.Text.Encoding.ThrowCharsOverflow() | [DoesNotReturnAttribute(...)] | -| System.Void System.Text.Encoding.ThrowCharsOverflow() | [StackTraceHiddenAttribute(...)] | -| System.Void System.Text.Encoding.ThrowConversionOverflow() | [DoesNotReturnAttribute(...)] | -| System.Void System.Text.Encoding.ThrowConversionOverflow() | [StackTraceHiddenAttribute(...)] | -| System.Void System.Text.TranscodingStream.<<DisposeAsync>g__DisposeAsyncCore\|30_0>d.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.Text.TranscodingStream.<<ReadAsync>g__ReadAsyncCore\|41_0>d.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.Text.TranscodingStream.<<WriteAsync>g__WriteAsyncCore\|50_0>d.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.Text.TranscodingStream.<EnsurePreReadConditions>g__InitializeReadDataStructures\|33_0() | [CompilerGeneratedAttribute(...)] | -| System.Void System.Text.TranscodingStream.<EnsurePreWriteConditions>g__InitializeReadDataStructures\|34_0() | [CompilerGeneratedAttribute(...)] | -| System.Void System.Text.TranscodingStream.ThrowIfDisposed() | [StackTraceHiddenAttribute(...)] | -| System.Void System.Text.TranscodingStream.ThrowObjectDisposedException() | [DoesNotReturnAttribute(...)] | -| System.Void System.Text.TranscodingStream.ThrowObjectDisposedException() | [StackTraceHiddenAttribute(...)] | -| System.Void System.Text.UTF8Encoding.UTF8EncodingSealed.<GetMaxByteCount>g__ThrowArgumentException\|7_0(System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Text.UTF8Encoding.UTF8EncodingSealed.<GetMaxCharCount>g__ThrowArgumentException\|8_0(System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Text.Unicode.TextSegmentationUtility.Processor`1.set_CurrentCodeUnitOffset(System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Text.Unicode.TextSegmentationUtility.Processor`1.set_CurrentType(System.Text.Unicode.GraphemeClusterBreakType) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Threading.CancellationToken.ThrowOperationCanceledException() | [DoesNotReturnAttribute(...)] | -| System.Void System.Threading.CancellationTokenRegistration.<Dispose>g__WaitForCallbackIfNecessary\|3_0(System.Int64,System.Threading.CancellationTokenSource.CallbackNode) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Threading.CancellationTokenSource.Registrations.<EnterLock>g__Contention\|13_0(System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Threading.CancellationTokenSource.Registrations.<WaitForCallbackToCompleteAsync>d__12.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.Threading.ExecutionContext.ThrowNullContext() | [DoesNotReturnAttribute(...)] | -| System.Void System.Threading.ExecutionContext.ThrowNullContext() | [StackTraceHiddenAttribute(...)] | -| System.Void System.Threading.Interlocked.MemoryBarrier() | [IntrinsicAttribute(...)] | -| System.Void System.Threading.Interlocked.ReadMemoryBarrier() | [IntrinsicAttribute(...)] | -| System.Void System.Threading.Monitor.ThrowLockTakenException() | [DoesNotReturnAttribute(...)] | -| System.Void System.Threading.PortableThreadPool.WaitThreadNode.set_Next(System.Threading.PortableThreadPool.WaitThreadNode) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Threading.RegisteredWaitHandle.set_TimeoutTimeMs(System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Threading.RegisteredWaitHandle.set_UserUnregisterWaitHandle(Microsoft.Win32.SafeHandles.SafeWaitHandle) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Threading.RegisteredWaitHandle.set_UserUnregisterWaitHandleValue(System.IntPtr) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Threading.RegisteredWaitHandle.set_WaitThread(System.Threading.PortableThreadPool.WaitThread) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Threading.SemaphoreSlim.<WaitUntilCountOrTimeoutAsync>d__31.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine) | [DebuggerHiddenAttribute(...)] | -| System.Void System.Threading.Tasks.Sources.ManualResetValueTaskSourceCoreShared.<ScheduleCapturedContext>g__ScheduleSynchronizationContext\|2_0(System.Threading.SynchronizationContext,System.Action<System.Object>,System.Object) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Threading.Tasks.Sources.ManualResetValueTaskSourceCoreShared.<ScheduleCapturedContext>g__ScheduleTaskScheduler\|2_1(System.Threading.Tasks.TaskScheduler,System.Action<System.Object>,System.Object) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.ThrowForFailedGetResult() | [StackTraceHiddenAttribute(...)] | -| System.Void System.Threading.Tasks.Task.WhenAllPromise.<Invoke>g__HandleTask\|3_0(System.Threading.Tasks.Task,System.Threading.Tasks.Task.WhenAllPromise.<>c__DisplayClass3_0) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Threading.Tasks.TaskAsyncEnumerableExtensions.<ToBlockingEnumerable>d__3`1..ctor(System.Int32) | [DebuggerHiddenAttribute(...)] | -| System.Void System.Threading.Tasks.TaskAsyncEnumerableExtensions.<ToBlockingEnumerable>d__3`1.Dispose() | [DebuggerHiddenAttribute(...)] | -| System.Void System.Threading.Tasks.TaskAsyncEnumerableExtensions.<ToBlockingEnumerable>d__3`1.Reset() | [DebuggerHiddenAttribute(...)] | -| System.Void System.Threading.Tasks.TaskScheduler.add_UnobservedTaskException(System.EventHandler<System.Threading.Tasks.UnobservedTaskExceptionEventArgs>) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Threading.Tasks.TaskScheduler.remove_UnobservedTaskException(System.EventHandler<System.Threading.Tasks.UnobservedTaskExceptionEventArgs>) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Threading.Tasks.TaskToAsyncResult.TaskAsyncResult.ctor>b__2_0() | [CompilerGeneratedAttribute(...)] | -| System.Void System.Threading.Tasks.Task`1.<ConfigureAwait>g__ThrowForInvalidOptions\|36_0(System.Threading.Tasks.ConfigureAwaitOptions) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Threading.Tasks.ThreadPoolTaskScheduler.<FilterTasksFromWorkItems>d__6..ctor(System.Int32) | [DebuggerHiddenAttribute(...)] | -| System.Void System.Threading.Tasks.ThreadPoolTaskScheduler.<FilterTasksFromWorkItems>d__6.Dispose() | [DebuggerHiddenAttribute(...)] | -| System.Void System.Threading.Tasks.ThreadPoolTaskScheduler.<FilterTasksFromWorkItems>d__6.Reset() | [DebuggerHiddenAttribute(...)] | -| System.Void System.Threading.Tasks.TplEventSource.AwaitTaskContinuationScheduled(System.Int32,System.Int32,System.Int32) | [EventAttribute(...)] | -| System.Void System.Threading.Tasks.TplEventSource.DebugFacilityMessage1(System.String,System.String,System.String) | [EventAttribute(...)] | -| System.Void System.Threading.Tasks.TplEventSource.DebugFacilityMessage(System.String,System.String) | [EventAttribute(...)] | -| System.Void System.Threading.Tasks.TplEventSource.IncompleteAsyncMethod(System.Runtime.CompilerServices.IAsyncStateMachineBox) | [NonEventAttribute(...)] | -| System.Void System.Threading.Tasks.TplEventSource.IncompleteAsyncMethod(System.String) | [EventAttribute(...)] | -| System.Void System.Threading.Tasks.TplEventSource.NewID(System.Int32) | [EventAttribute(...)] | -| System.Void System.Threading.Tasks.TplEventSource.RunningContinuation(System.Int32,System.Int64) | [EventAttribute(...)] | -| System.Void System.Threading.Tasks.TplEventSource.RunningContinuation(System.Int32,System.Object) | [NonEventAttribute(...)] | -| System.Void System.Threading.Tasks.TplEventSource.RunningContinuationList(System.Int32,System.Int32,System.Int64) | [EventAttribute(...)] | -| System.Void System.Threading.Tasks.TplEventSource.RunningContinuationList(System.Int32,System.Int32,System.Object) | [NonEventAttribute(...)] | -| System.Void System.Threading.Tasks.TplEventSource.SetActivityId(System.Guid) | [EventAttribute(...)] | -| System.Void System.Threading.Tasks.TplEventSource.TaskCompleted(System.Int32,System.Int32,System.Int32,System.Boolean) | [EventAttribute(...)] | -| System.Void System.Threading.Tasks.TplEventSource.TaskScheduled(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32) | [EventAttribute(...)] | -| System.Void System.Threading.Tasks.TplEventSource.TaskStarted(System.Int32,System.Int32,System.Int32) | [EventAttribute(...)] | -| System.Void System.Threading.Tasks.TplEventSource.TaskWaitBegin(System.Int32,System.Int32,System.Int32,System.Threading.Tasks.TplEventSource.TaskWaitBehavior,System.Int32) | [EventAttribute(...)] | -| System.Void System.Threading.Tasks.TplEventSource.TaskWaitContinuationComplete(System.Int32) | [EventAttribute(...)] | -| System.Void System.Threading.Tasks.TplEventSource.TaskWaitContinuationStarted(System.Int32) | [EventAttribute(...)] | -| System.Void System.Threading.Tasks.TplEventSource.TaskWaitEnd(System.Int32,System.Int32,System.Int32) | [EventAttribute(...)] | -| System.Void System.Threading.Tasks.TplEventSource.TraceOperationBegin(System.Int32,System.String,System.Int64) | [EventAttribute(...)] | -| System.Void System.Threading.Tasks.TplEventSource.TraceOperationEnd(System.Int32,System.Threading.Tasks.AsyncCausalityStatus) | [EventAttribute(...)] | -| System.Void System.Threading.Tasks.TplEventSource.TraceOperationRelation(System.Int32,System.Threading.Tasks.CausalityRelation) | [EventAttribute(...)] | -| System.Void System.Threading.Tasks.TplEventSource.TraceSynchronousWorkBegin(System.Int32,System.Threading.Tasks.CausalitySynchronousWork) | [EventAttribute(...)] | -| System.Void System.Threading.Tasks.TplEventSource.TraceSynchronousWorkEnd(System.Threading.Tasks.CausalitySynchronousWork) | [EventAttribute(...)] | -| System.Void System.Threading.Tasks.ValueTask.ValueTaskSourceAsTask.cctor>g__ThrowUnexpectedStateForKnownCallback\|4_1(System.Object) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Threading.Tasks.ValueTask`1.ValueTaskSourceAsTask.cctor>g__ThrowUnexpectedStateForKnownCallback\|4_1(System.Object) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Threading.Thread.<InformThreadNameChange>g____PInvoke\|26_0(System.Threading.ThreadHandle,System.UInt16*,System.Int32) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Threading.Thread.InformThreadNameChange(System.Threading.ThreadHandle,System.String,System.Int32) | [LibraryImportAttribute(...)] | -| System.Void System.Threading.ThreadPool.<GetQueuedWorkItems>d__26..ctor(System.Int32) | [DebuggerHiddenAttribute(...)] | -| System.Void System.Threading.ThreadPool.<GetQueuedWorkItems>d__26.Dispose() | [DebuggerHiddenAttribute(...)] | -| System.Void System.Threading.ThreadPool.<GetQueuedWorkItems>d__26.Reset() | [DebuggerHiddenAttribute(...)] | -| System.Void System.Threading.TimerQueue.<GetTimersForDebugger>d__7..ctor(System.Int32) | [DebuggerHiddenAttribute(...)] | -| System.Void System.Threading.TimerQueue.<GetTimersForDebugger>d__7.Dispose() | [DebuggerHiddenAttribute(...)] | -| System.Void System.Threading.TimerQueue.<GetTimersForDebugger>d__7.Reset() | [DebuggerHiddenAttribute(...)] | -| System.Void System.Threading.TimerQueue.set_ActiveCount(System.Int64) | [CompilerGeneratedAttribute(...)] | -| System.Void System.Threading.Volatile.Write(System.Boolean,System.Boolean) | [IntrinsicAttribute(...)] | -| System.Void System.Threading.Volatile.Write(System.Boolean,System.Boolean) | [NonVersionableAttribute(...)] | -| System.Void System.Threading.Volatile.Write(System.Byte,System.Byte) | [IntrinsicAttribute(...)] | -| System.Void System.Threading.Volatile.Write(System.Byte,System.Byte) | [NonVersionableAttribute(...)] | -| System.Void System.Threading.Volatile.Write(System.Double,System.Double) | [IntrinsicAttribute(...)] | -| System.Void System.Threading.Volatile.Write(System.Double,System.Double) | [NonVersionableAttribute(...)] | -| System.Void System.Threading.Volatile.Write(System.Int16,System.Int16) | [IntrinsicAttribute(...)] | -| System.Void System.Threading.Volatile.Write(System.Int16,System.Int16) | [NonVersionableAttribute(...)] | -| System.Void System.Threading.Volatile.Write(System.Int32,System.Int32) | [IntrinsicAttribute(...)] | -| System.Void System.Threading.Volatile.Write(System.Int32,System.Int32) | [NonVersionableAttribute(...)] | -| System.Void System.Threading.Volatile.Write(System.Int64,System.Int64) | [IntrinsicAttribute(...)] | -| System.Void System.Threading.Volatile.Write(System.Int64,System.Int64) | [NonVersionableAttribute(...)] | -| System.Void System.Threading.Volatile.Write(System.IntPtr,System.IntPtr) | [IntrinsicAttribute(...)] | -| System.Void System.Threading.Volatile.Write(System.IntPtr,System.IntPtr) | [NonVersionableAttribute(...)] | -| System.Void System.Threading.Volatile.Write(System.SByte,System.SByte) | [IntrinsicAttribute(...)] | -| System.Void System.Threading.Volatile.Write(System.SByte,System.SByte) | [NonVersionableAttribute(...)] | -| System.Void System.Threading.Volatile.Write(System.Single,System.Single) | [IntrinsicAttribute(...)] | -| System.Void System.Threading.Volatile.Write(System.Single,System.Single) | [NonVersionableAttribute(...)] | -| System.Void System.Threading.Volatile.Write(System.UInt16,System.UInt16) | [IntrinsicAttribute(...)] | -| System.Void System.Threading.Volatile.Write(System.UInt16,System.UInt16) | [NonVersionableAttribute(...)] | -| System.Void System.Threading.Volatile.Write(System.UInt32,System.UInt32) | [IntrinsicAttribute(...)] | -| System.Void System.Threading.Volatile.Write(System.UInt32,System.UInt32) | [NonVersionableAttribute(...)] | -| System.Void System.Threading.Volatile.Write(System.UInt64,System.UInt64) | [IntrinsicAttribute(...)] | -| System.Void System.Threading.Volatile.Write(System.UInt64,System.UInt64) | [NonVersionableAttribute(...)] | -| System.Void System.Threading.Volatile.Write(System.UIntPtr,System.UIntPtr) | [IntrinsicAttribute(...)] | -| System.Void System.Threading.Volatile.Write(System.UIntPtr,System.UIntPtr) | [NonVersionableAttribute(...)] | -| System.Void System.Threading.Volatile.Write`1(!0,!0) | [IntrinsicAttribute(...)] | -| System.Void System.Threading.Volatile.Write`1(!0,!0) | [NonVersionableAttribute(...)] | -| System.Void System.Threading.WaitHandleExtensions.SetSafeWaitHandle(System.Threading.WaitHandle,Microsoft.Win32.SafeHandles.SafeWaitHandle) | [ExtensionAttribute(...)] | -| System.Void System.ThrowHelper.ArgumentOutOfRangeException_Enum_Value() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowAccessViolationException() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowAddingDuplicateWithKeyArgumentException`1(!0) | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowAggregateException(System.Collections.Generic.List<System.Exception>) | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowArgumentException(System.ExceptionResource) | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowArgumentException(System.ExceptionResource,System.ExceptionArgument) | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowArgumentException_Arg_CannotBeNaN() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowArgumentException_ArgumentNull_TypedRefType() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowArgumentException_Argument_IncompatibleArrayType() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowArgumentException_BadComparer(System.Object) | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowArgumentException_CannotExtractScalar(System.ExceptionArgument) | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowArgumentException_DestinationTooShort() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowArgumentException_HandleNotAsync(System.String) | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowArgumentException_HandleNotSync(System.String) | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowArgumentException_InvalidHandle(System.String) | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowArgumentException_OverlapAlignmentMismatch() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowArgumentException_TupleIncorrectType(System.Object) | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowArgumentNullException(System.ExceptionArgument) | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowArgumentNullException(System.ExceptionArgument,System.ExceptionResource) | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowArgumentOutOfRangeException() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowArgumentOutOfRangeException(System.ExceptionArgument) | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowArgumentOutOfRangeException(System.ExceptionArgument,System.ExceptionResource) | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowArgumentOutOfRangeException(System.ExceptionArgument,System.Int32,System.ExceptionResource) | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowArgumentOutOfRangeException_NeedNonNegNum(System.String) | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowArgumentOutOfRangeException_PrecisionTooLarge() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowArgumentOutOfRangeException_SymbolDoesNotFit() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowArgumentOutOfRange_BadHourMinuteSecond() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowArgumentOutOfRange_BadYearMonthDay() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowArgumentOutOfRange_DayNumber(System.Int32) | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowArgumentOutOfRange_IndexMustBeLessException() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowArgumentOutOfRange_Month(System.Int32) | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowArgumentOutOfRange_Range`1(System.String,!0,!0,!0) | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowArgumentOutOfRange_TimeSpanTooLong() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowArgumentOutOfRange_Year() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowArraySegmentCtorValidationFailedExceptions(System.Array,System.Int32,System.Int32) | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowArrayTypeMismatchException() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowCountArgumentOutOfRange_ArgumentOutOfRange_Count() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowEndOfFileException() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowFormatException_BadBoolean(System.ReadOnlySpan<System.Char>) | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowFormatException_BadFormatSpecifier() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowFormatException_NeedSingleChar() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowFormatIndexOutOfRange() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowFormatInvalidString() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowFormatInvalidString(System.Int32,System.ExceptionResource) | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowIndexArgumentOutOfRange_NeedNonNegNumException() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowIndexOutOfRangeException() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowInvalidOperationException() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowInvalidOperationException(System.ExceptionResource) | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowInvalidOperationException(System.ExceptionResource,System.Exception) | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowInvalidOperationException_ConcurrentOperationsNotSupported() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowInvalidOperationException_EnumCurrent(System.Int32) | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowInvalidOperationException_HandleIsNotInitialized() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowInvalidOperationException_HandleIsNotPinned() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowInvalidOperationException_InvalidOperation_EnumEnded() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowInvalidOperationException_InvalidOperation_EnumNotStarted() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowInvalidOperationException_InvalidOperation_EnumOpCantHappen() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowInvalidOperationException_InvalidOperation_NoValue() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowInvalidOperationException_InvalidUtf8() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowInvalidTypeWithPointersNotSupported(System.Type) | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowKeyNotFoundException`1(!0) | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowLengthArgumentOutOfRange_ArgumentOutOfRange_NeedNonNegNum() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowNotSupportedException() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowNotSupportedException(System.ExceptionResource) | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowNotSupportedException_UnreadableStream() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowNotSupportedException_UnseekableStream() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowNotSupportedException_UnwritableStream() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowObjectDisposedException(System.ExceptionResource) | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowObjectDisposedException(System.Object) | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowObjectDisposedException(System.Type) | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowObjectDisposedException_FileClosed() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowObjectDisposedException_StreamClosed(System.String) | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowOutOfMemoryException() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowOutOfMemoryException_StringTooLong() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowOverflowException() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowOverflowException_TimeSpanTooLong() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowRankException(System.ExceptionResource) | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowSerializationException(System.ExceptionResource) | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowStartIndexArgumentOutOfRange_ArgumentOutOfRange_IndexMustBeLess() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowStartIndexArgumentOutOfRange_ArgumentOutOfRange_IndexMustBeLessOrEqual() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowUnexpectedStateForKnownCallback(System.Object) | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowValueArgumentOutOfRange_NeedNonNegNumException() | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowWrongKeyTypeArgumentException`1(!0,System.Type) | [DoesNotReturnAttribute(...)] | -| System.Void System.ThrowHelper.ThrowWrongValueTypeArgumentException`1(!0,System.Type) | [DoesNotReturnAttribute(...)] | -| System.Void System.TupleExtensions.Deconstruct`1(System.Tuple<!0>,!0) | [ExtensionAttribute(...)] | -| System.Void System.TupleExtensions.Deconstruct`2(System.Tuple<!0,!1>,!0,!1) | [ExtensionAttribute(...)] | -| System.Void System.TupleExtensions.Deconstruct`3(System.Tuple<!0,!1,!2>,!0,!1,!2) | [ExtensionAttribute(...)] | -| System.Void System.TupleExtensions.Deconstruct`4(System.Tuple<!0,!1,!2,!3>,!0,!1,!2,!3) | [ExtensionAttribute(...)] | -| System.Void System.TupleExtensions.Deconstruct`5(System.Tuple<!0,!1,!2,!3,!4>,!0,!1,!2,!3,!4) | [ExtensionAttribute(...)] | -| System.Void System.TupleExtensions.Deconstruct`6(System.Tuple<!0,!1,!2,!3,!4,!5>,!0,!1,!2,!3,!4,!5) | [ExtensionAttribute(...)] | -| System.Void System.TupleExtensions.Deconstruct`7(System.Tuple<!0,!1,!2,!3,!4,!5,!6>,!0,!1,!2,!3,!4,!5,!6) | [ExtensionAttribute(...)] | -| System.Void System.TupleExtensions.Deconstruct`8(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!7>>,!0,!1,!2,!3,!4,!5,!6,!7) | [ExtensionAttribute(...)] | -| System.Void System.TupleExtensions.Deconstruct`9(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!7,!8>>,!0,!1,!2,!3,!4,!5,!6,!7,!8) | [ExtensionAttribute(...)] | -| System.Void System.TupleExtensions.Deconstruct`10(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!7,!8,!9>>,!0,!1,!2,!3,!4,!5,!6,!7,!8,!9) | [ExtensionAttribute(...)] | -| System.Void System.TupleExtensions.Deconstruct`11(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!7,!8,!9>>,!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10) | [ExtensionAttribute(...)] | -| System.Void System.TupleExtensions.Deconstruct`12(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!7,!8,!9>>,!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11) | [ExtensionAttribute(...)] | -| System.Void System.TupleExtensions.Deconstruct`13(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!7,!8,!9>>,!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12) | [ExtensionAttribute(...)] | -| System.Void System.TupleExtensions.Deconstruct`14(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9>>,!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13) | [ExtensionAttribute(...)] | -| System.Void System.TupleExtensions.Deconstruct`15(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14>>>,!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14) | [ExtensionAttribute(...)] | -| System.Void System.TupleExtensions.Deconstruct`16(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14,!15>>>,!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,!15) | [ExtensionAttribute(...)] | -| System.Void System.TupleExtensions.Deconstruct`17(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14,!15,!16>>>,!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,!15,!16) | [ExtensionAttribute(...)] | -| System.Void System.TupleExtensions.Deconstruct`18(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14,!15,!16,!17>>>,!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,!15,!16,!17) | [ExtensionAttribute(...)] | -| System.Void System.TupleExtensions.Deconstruct`19(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14,!15,!16,!17,!18>>>,!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,!15,!16,!17,!18) | [ExtensionAttribute(...)] | -| System.Void System.TupleExtensions.Deconstruct`20(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14,!15,!16,!17,!18,!19>>>,!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,!15,!16,!17,!18,!19) | [ExtensionAttribute(...)] | -| System.Void System.TupleExtensions.Deconstruct`21(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14,!15,!16,!17,!18,!19,!20>>>,!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,!15,!16,!17,!18,!19,!20) | [ExtensionAttribute(...)] | -| System.Void System.UIntPtr..ctor(System.UInt32) | [NonVersionableAttribute(...)] | -| System.Void System.UIntPtr..ctor(System.UInt64) | [NonVersionableAttribute(...)] | -| System.Void System.UIntPtr..ctor(System.Void*) | [NonVersionableAttribute(...)] | -| System.Void System.Version.<TryFormatCore>g__ThrowArgumentException\|35_0`1(System.String) | [CompilerGeneratedAttribute(...)] | -| System.Void* System.IntPtr.ToPointer() | [NonVersionableAttribute(...)] | -| System.Void* System.IntPtr.op_Explicit(System.IntPtr) | [NonVersionableAttribute(...)] | -| System.Void* System.Runtime.CompilerServices.Unsafe.Add`1(System.Void*,System.Int32) | [IntrinsicAttribute(...)] | -| System.Void* System.Runtime.CompilerServices.Unsafe.Add`1(System.Void*,System.Int32) | [NonVersionableAttribute(...)] | -| System.Void* System.Runtime.CompilerServices.Unsafe.AsPointer`1(!0) | [IntrinsicAttribute(...)] | -| System.Void* System.Runtime.CompilerServices.Unsafe.AsPointer`1(!0) | [NonVersionableAttribute(...)] | -| System.Void* System.Runtime.CompilerServices.Unsafe.Subtract`1(System.Void*,System.Int32) | [IntrinsicAttribute(...)] | -| System.Void* System.Runtime.CompilerServices.Unsafe.Subtract`1(System.Void*,System.Int32) | [NonVersionableAttribute(...)] | -| System.Void* System.UIntPtr.ToPointer() | [NonVersionableAttribute(...)] | -| System.Void* System.UIntPtr.op_Explicit(System.UIntPtr) | [NonVersionableAttribute(...)] | -| System.__DTString | [IsByRefLikeAttribute(...)] | -| bool | [IsReadOnlyAttribute(...)] | -| bool | [RequiresLocationAttribute(...)] | -| bool | [ScopedRefAttribute(...)] | -| byte | [ConstantExpectedAttribute(...)] | -| byte | [IsReadOnlyAttribute(...)] | -| byte | [RequiresLocationAttribute(...)] | -| char | [IsReadOnlyAttribute(...)] | -| char[] | [ParamArrayAttribute(...)] | -| decimal | [IsReadOnlyAttribute(...)] | -| decimal | [NonVersionableAttribute(...)] | -| decimal | [ScopedRefAttribute(...)] | -| double | [IsReadOnlyAttribute(...)] | -| double | [RequiresLocationAttribute(...)] | -| double | [ScopedRefAttribute(...)] | -| float | [IsReadOnlyAttribute(...)] | -| float | [RequiresLocationAttribute(...)] | -| int | [IsReadOnlyAttribute(...)] | -| int | [RequiresLocationAttribute(...)] | -| int | [ScopedRefAttribute(...)] | -| int[] | [ParamArrayAttribute(...)] | -| long | [IsReadOnlyAttribute(...)] | -| long | [RequiresLocationAttribute(...)] | -| long[] | [ParamArrayAttribute(...)] | -| object | [NotNullAttribute(...)] | -| object[] | [ParamArrayAttribute(...)] | -| sbyte | [IsReadOnlyAttribute(...)] | -| sbyte | [RequiresLocationAttribute(...)] | -| short | [IsReadOnlyAttribute(...)] | -| short | [RequiresLocationAttribute(...)] | -| string | [AllowNullAttribute(...)] | -| string | [ConstantExpectedAttribute(...)] | -| string | [DisallowNullAttribute(...)] | -| string | [NonVersionableAttribute(...)] | -| string | [NotNullAttribute(...)] | -| string.Empty | [IntrinsicAttribute(...)] | -| string[] | [ParamArrayAttribute(...)] | -| uint | [IsReadOnlyAttribute(...)] | -| uint | [RequiresLocationAttribute(...)] | -| ulong | [IsReadOnlyAttribute(...)] | -| ulong | [RequiresLocationAttribute(...)] | -| ushort | [IsReadOnlyAttribute(...)] | -| ushort | [RequiresLocationAttribute(...)] | -| void* | [NotNullAttribute(...)] | -attrArgNamed -| Internal.Runtime.InteropServices.IsolatedComponentLoadContext Internal.Runtime.InteropServices.ComponentActivator.GetIsolatedComponentLoadContext(System.String) | [RequiresUnreferencedCodeAttribute(...)] | Url | https://aka.ms/dotnet-illink/nativehost | -| Interop.BOOL System.Reflection.RuntimeAssembly.GetIsCollectible(System.Runtime.CompilerServices.QCallAssembly) | [LibraryImportAttribute(...)] | EntryPoint | AssemblyNative_GetIsCollectible | -| Interop.BOOL System.RuntimeMethodHandle.GetIsCollectible(System.RuntimeMethodHandleInternal) | [LibraryImportAttribute(...)] | EntryPoint | RuntimeMethodHandle_GetIsCollectible | -| Interop.BOOL System.RuntimeMethodHandle.IsCAVisibleFromDecoratedType(System.Runtime.CompilerServices.QCallTypeHandle,System.RuntimeMethodHandleInternal,System.Runtime.CompilerServices.QCallTypeHandle,System.Runtime.CompilerServices.QCallModule) | [LibraryImportAttribute(...)] | EntryPoint | RuntimeMethodHandle_IsCAVisibleFromDecoratedType | -| Interop.BOOL System.RuntimeTypeHandle.IsCollectible(System.Runtime.CompilerServices.QCallTypeHandle) | [LibraryImportAttribute(...)] | EntryPoint | RuntimeTypeHandle_IsCollectible | -| Interop.BOOL System.Threading.Thread.YieldInternal() | [LibraryImportAttribute(...)] | EntryPoint | ThreadNative_YieldThread | -| System.AppDomain System.AppDomain.CreateDomain(System.String) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0024 | -| System.AppDomain System.AppDomain.CreateDomain(System.String) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Array System.Array.CreateInstance(System.Type,System.Int32,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | Justification | MDArrays of Rank != 1 can be created because they don't implement generic interfaces. | -| System.Array System.Array.CreateInstance(System.Type,System.Int32,System.Int32,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | Justification | MDArrays of Rank != 1 can be created because they don't implement generic interfaces. | -| System.Attribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Attribute | [AttributeUsageAttribute(...)] | Inherited | True | -| System.Attribute System.Diagnostics.Tracing.EventSource.GetCustomAttributeHelper(System.Reflection.MemberInfo,System.Type,System.Diagnostics.Tracing.EventManifestOptions) | [UnconditionalSuppressMessageAttribute(...)] | Justification | EnsureDescriptorsInitialized's use of GetType preserves this method which has dynamically accessed members requirements, but EnsureDescriptorsInitialized does not access this member and is safe to call. | -| System.AttributeUsageAttribute | [AttributeUsageAttribute(...)] | Inherited | True | -| System.AttributeUsageAttribute System.Reflection.CustomAttribute.GetAttributeUsage(System.RuntimeType) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Module.ResolveType is marked as RequiresUnreferencedCode because it relies on tokenswhich are not guaranteed to be stable across trimming. So if somebody hardcodes a token it could break.The usage here is not like that as all these tokens come from existing metadata loaded from some ILand so trimming has no effect (the tokens are read AFTER trimming occurred). | -| System.Boolean Interop.Globalization.GetJapaneseEraStartDate(System.Int32,System.Int32,System.Int32,System.Int32) | [LibraryImportAttribute(...)] | EntryPoint | GlobalizationNative_GetJapaneseEraStartDate | -| System.Boolean Interop.Kernel32.CloseHandle(System.IntPtr) | [LibraryImportAttribute(...)] | SetLastError | True | -| System.Boolean Interop.Kernel32.ReleaseMutex(Microsoft.Win32.SafeHandles.SafeWaitHandle) | [LibraryImportAttribute(...)] | SetLastError | True | -| System.Boolean Interop.Kernel32.ReleaseSemaphore(Microsoft.Win32.SafeHandles.SafeWaitHandle,System.Int32,System.Int32) | [LibraryImportAttribute(...)] | SetLastError | True | -| System.Boolean Interop.Kernel32.ResetEvent(Microsoft.Win32.SafeHandles.SafeWaitHandle) | [LibraryImportAttribute(...)] | SetLastError | True | -| System.Boolean Interop.Kernel32.SetEvent(Microsoft.Win32.SafeHandles.SafeWaitHandle) | [LibraryImportAttribute(...)] | SetLastError | True | -| System.Boolean System.Attribute.Equals(System.Object) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Unused fields don't make a difference for equality | -| System.Boolean System.Diagnostics.Debugger.LaunchInternal() | [LibraryImportAttribute(...)] | EntryPoint | DebugDebugger_Launch | -| System.Boolean System.Diagnostics.StackFrameExtensions.HasMethod(System.Diagnostics.StackFrame) | [UnconditionalSuppressMessageAttribute(...)] | Justification | StackFrame.GetMethod is used to establish if method is available. | -| System.Boolean System.Diagnostics.Tracing.EventPipeInternal.GetNextEvent(System.UInt64,System.Diagnostics.Tracing.EventPipeEventInstanceData*) | [LibraryImportAttribute(...)] | EntryPoint | EventPipeInternal_GetNextEvent | -| System.Boolean System.Diagnostics.Tracing.EventPipeInternal.GetSessionInfo(System.UInt64,System.Diagnostics.Tracing.EventPipeSessionInfo*) | [LibraryImportAttribute(...)] | EntryPoint | EventPipeInternal_GetSessionInfo | -| System.Boolean System.Diagnostics.Tracing.EventPipeInternal.SignalSession(System.UInt64) | [LibraryImportAttribute(...)] | EntryPoint | EventPipeInternal_SignalSession | -| System.Boolean System.Diagnostics.Tracing.EventPipeInternal.WaitForSessionSignal(System.UInt64,System.Int32) | [LibraryImportAttribute(...)] | EntryPoint | EventPipeInternal_WaitForSessionSignal | -| System.Boolean System.MdUtf8String.EqualsCaseInsensitive(System.Void*,System.Void*,System.Int32) | [LibraryImportAttribute(...)] | EntryPoint | MdUtf8String_EqualsCaseInsensitive | -| System.Boolean System.Reflection.CustomAttribute.FilterCustomAttributeRecord(System.Reflection.MetadataToken,System.Reflection.MetadataImport,System.Reflection.RuntimeModule,System.Reflection.MetadataToken,System.RuntimeType,System.Boolean,System.RuntimeType.ListBuilder<System.Object>,System.RuntimeType,System.IRuntimeMethodInfo,System.Boolean) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Module.ResolveMethod and Module.ResolveType are marked as RequiresUnreferencedCode because they rely on tokenswhich are not guaranteed to be stable across trimming. So if somebody hardcodes a token it could break.The usage here is not like that as all these tokens come from existing metadata loaded from some ILand so trimming has no effect (the tokens are read AFTER trimming occurred). | -| System.Boolean System.Reflection.Emit.RuntimeTypeBuilder.IsAssignableFrom(System.Type) | [UnconditionalSuppressMessageAttribute(...)] | Justification | The GetInterfaces technically requires all interfaces to be preservedBut in this case it acts only on TypeBuilder which is never trimmed (as it's runtime created). | -| System.Boolean System.Reflection.LoaderAllocatorScout.Destroy(System.IntPtr) | [LibraryImportAttribute(...)] | EntryPoint | LoaderAllocator_Destroy | -| System.Boolean System.Reflection.Metadata.AssemblyExtensions.InternalTryGetRawMetadata(System.Runtime.CompilerServices.QCallAssembly,System.Byte*,System.Int32) | [LibraryImportAttribute(...)] | EntryPoint | AssemblyNative_InternalTryGetRawMetadata | -| System.Boolean System.Reflection.Metadata.MetadataUpdater.IsApplyUpdateSupported() | [LibraryImportAttribute(...)] | EntryPoint | AssemblyNative_IsApplyUpdateSupported | -| System.Boolean System.Reflection.RuntimeAssembly.GetCodeBase(System.Runtime.CompilerServices.QCallAssembly,System.Runtime.CompilerServices.StringHandleOnStack) | [LibraryImportAttribute(...)] | EntryPoint | AssemblyNative_GetCodeBase | -| System.Boolean System.Resources.ResourceReader.<DeserializeObject>g__InitializeBinaryFormatterLocal\|5_0() | [UnconditionalSuppressMessageAttribute(...)] | Justification | InitializeBinaryFormatter will get trimmed out when AllowCustomResourceTypes is set to false. When set to true, we will already throw a warning for this feature switch, so we suppress this one in order forthe user to only get one error. | -| System.Boolean System.Runtime.CompilerServices.RuntimeHelpers.AreTypesEquivalent(System.Runtime.CompilerServices.MethodTable*,System.Runtime.CompilerServices.MethodTable*) | [LibraryImportAttribute(...)] | EntryPoint | MethodTable_AreTypesEquivalent | -| System.Boolean System.Runtime.InteropServices.ComWrappers.TryGetComInstanceInternal(System.Runtime.CompilerServices.ObjectHandleOnStack,System.IntPtr) | [LibraryImportAttribute(...)] | EntryPoint | ComWrappers_TryGetComInstance | -| System.Boolean System.Runtime.InteropServices.ComWrappers.TryGetObjectInternal(System.IntPtr,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | EntryPoint | ComWrappers_TryGetObject | -| System.Boolean System.Runtime.InteropServices.ComWrappers.TryGetOrCreateComInterfaceForObjectInternal(System.Runtime.CompilerServices.ObjectHandleOnStack,System.Int64,System.Runtime.CompilerServices.ObjectHandleOnStack,System.Runtime.InteropServices.CreateComInterfaceFlags,System.IntPtr) | [LibraryImportAttribute(...)] | EntryPoint | ComWrappers_TryGetOrCreateComInterfaceForObject | -| System.Boolean System.Runtime.InteropServices.ComWrappers.TryGetOrCreateObjectForComInstanceInternal(System.Runtime.CompilerServices.ObjectHandleOnStack,System.Int64,System.IntPtr,System.IntPtr,System.Runtime.InteropServices.CreateObjectFlags,System.Runtime.CompilerServices.ObjectHandleOnStack,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | EntryPoint | ComWrappers_TryGetOrCreateObjectForComInstance | -| System.Boolean System.RuntimeTypeHandle._IsVisible(System.Runtime.CompilerServices.QCallTypeHandle) | [LibraryImportAttribute(...)] | EntryPoint | RuntimeTypeHandle_IsVisible | -| System.Boolean System.Type.ImplementInterface(System.Type) | [UnconditionalSuppressMessageAttribute(...)] | Justification | The GetInterfaces technically requires all interfaces to be preservedBut this method only compares the result against the passed in ifaceType.So if ifaceType exists, then trimming should have kept it implemented on any type. | -| System.Boolean System.ValueType.Equals(System.Object) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Trimmed fields don't make a difference for equality | -| System.Buffers.ArrayPoolEventSource | [EventSourceAttribute(...)] | Guid | 0866B2B8-5CEF-5DB9-2612-0C0FFD814A44 | -| System.Buffers.ArrayPoolEventSource | [EventSourceAttribute(...)] | Name | System.Buffers.ArrayPoolEventSource | -| System.Byte[] System.Diagnostics.Tracing.EventSource.CreateManifestAndDescriptors(System.Type,System.String,System.Diagnostics.Tracing.EventSource,System.Diagnostics.Tracing.EventManifestOptions) | [UnconditionalSuppressMessageAttribute(...)] | Justification | EnsureDescriptorsInitialized's use of GetType preserves this method which has dynamically accessed members requirements, but its use of this method satisfies these requirements because it passes in the result of GetType with the same annotations. | -| System.CLSCompliantAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.CLSCompliantAttribute | [AttributeUsageAttribute(...)] | Inherited | True | -| System.CodeDom.Compiler.GeneratedCodeAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.CodeDom.Compiler.GeneratedCodeAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Collections.KeyValuePairs | [DebuggerDisplayAttribute(...)] | Name | [{_key}] | -| System.Configuration.Assemblies.AssemblyHashAlgorithm System.Reflection.AssemblyName.HashAlgorithm | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0037 | -| System.Configuration.Assemblies.AssemblyHashAlgorithm System.Reflection.AssemblyName.HashAlgorithm | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Configuration.Assemblies.AssemblyHashAlgorithm System.Reflection.RuntimeAssembly.GetHashAlgorithm(System.Runtime.CompilerServices.QCallAssembly) | [LibraryImportAttribute(...)] | EntryPoint | AssemblyNative_GetHashAlgorithm | -| System.Configuration.Assemblies.AssemblyVersionCompatibility System.Reflection.AssemblyName.VersionCompatibility | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0037 | -| System.Configuration.Assemblies.AssemblyVersionCompatibility System.Reflection.AssemblyName.VersionCompatibility | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.ContextStaticAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Delegate System.Diagnostics.Tracing.PropertyValue.TypeHelper.GetGetMethod(System.Reflection.PropertyInfo,System.Type) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Instantiation over a reference type. See comments above. | -| System.Diagnostics.CodeAnalysis.AllowNullAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Diagnostics.CodeAnalysis.DisallowNullAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | True | -| System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Diagnostics.CodeAnalysis.ExperimentalAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Diagnostics.CodeAnalysis.MaybeNullAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Diagnostics.CodeAnalysis.MemberNotNullAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | True | -| System.Diagnostics.CodeAnalysis.MemberNotNullAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | True | -| System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Diagnostics.CodeAnalysis.NotNullAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | True | -| System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Diagnostics.CodeAnalysis.NotNullWhenAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Diagnostics.CodeAnalysis.RequiresAssemblyFilesAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Diagnostics.CodeAnalysis.RequiresAssemblyFilesAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Diagnostics.CodeAnalysis.SetsRequiredMembersAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Diagnostics.CodeAnalysis.SetsRequiredMembersAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Diagnostics.CodeAnalysis.StringSyntaxAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Diagnostics.CodeAnalysis.StringSyntaxAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Diagnostics.CodeAnalysis.SuppressMessageAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | True | -| System.Diagnostics.CodeAnalysis.SuppressMessageAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | True | -| System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Diagnostics.CodeAnalysis.UnscopedRefAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Diagnostics.CodeAnalysis.UnscopedRefAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Diagnostics.ConditionalAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | True | -| System.Diagnostics.Contracts.ContractAbbreviatorAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Diagnostics.Contracts.ContractArgumentValidatorAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Diagnostics.Contracts.ContractClassAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Diagnostics.Contracts.ContractClassAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Diagnostics.Contracts.ContractClassForAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Diagnostics.Contracts.ContractClassForAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Diagnostics.Contracts.ContractInvariantMethodAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Diagnostics.Contracts.ContractInvariantMethodAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Diagnostics.Contracts.ContractOptionAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | True | -| System.Diagnostics.Contracts.ContractOptionAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Diagnostics.Contracts.ContractRuntimeIgnoredAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Diagnostics.Contracts.ContractRuntimeIgnoredAttribute | [AttributeUsageAttribute(...)] | Inherited | True | -| System.Diagnostics.Contracts.PureAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Diagnostics.Contracts.PureAttribute | [AttributeUsageAttribute(...)] | Inherited | True | -| System.Diagnostics.DebuggableAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Diagnostics.DebuggerBrowsableAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Diagnostics.DebuggerDisplayAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | True | -| System.Diagnostics.DebuggerHiddenAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Diagnostics.DebuggerNonUserCodeAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Diagnostics.DebuggerStepThroughAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Diagnostics.DebuggerStepperBoundaryAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Diagnostics.DebuggerTypeProxyAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | True | -| System.Diagnostics.DebuggerVisualizerAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | True | -| System.Diagnostics.StackTraceHiddenAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Diagnostics.Tracing.EventDataAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Diagnostics.Tracing.FrameworkEventSource | [EventSourceAttribute(...)] | Guid | 8E9F5090-2D75-4d03-8A81-E5AFBF85DAF1 | -| System.Diagnostics.Tracing.FrameworkEventSource | [EventSourceAttribute(...)] | Name | System.Diagnostics.Eventing.FrameworkEventSource | -| System.Diagnostics.Tracing.NativeRuntimeEventSource | [EventSourceAttribute(...)] | Guid | E13C0D23-CCBC-4E12-931B-D9CC2EEE27E4 | -| System.Diagnostics.Tracing.NativeRuntimeEventSource | [EventSourceAttribute(...)] | Name | Microsoft-Windows-DotNETRuntime | -| System.Diagnostics.Tracing.RuntimeEventSource | [EventSourceAttribute(...)] | Guid | 49592C0F-5A05-516D-AA4B-A64E02026C89 | -| System.Diagnostics.Tracing.RuntimeEventSource | [EventSourceAttribute(...)] | Name | System.Runtime | -| System.Diagnostics.Tracing.TraceLoggingEventTypes System.Diagnostics.Tracing.EventSource.EventMetadata.get_TraceLoggingEventTypes() | [UnconditionalSuppressMessageAttribute(...)] | Justification | EnsureDescriptorsInitialized's use of GetType preserves this method which requires unreferenced code, but EnsureDescriptorsInitialized does not access this member and is safe to call. | -| System.Exception.SerializeObjectState | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0011 | -| System.Exception.SerializeObjectState | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.FlagsAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Func<System.Diagnostics.Tracing.PropertyValue,System.Diagnostics.Tracing.PropertyValue> System.Diagnostics.Tracing.PropertyValue.GetReferenceTypePropertyGetter(System.Reflection.PropertyInfo) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Instantiation over a reference type. See comments above. | -| System.GC.EnableNoGCRegionCallbackStatus System.GC._EnableNoGCRegionCallback(System.GC.NoGCRegionCallbackFinalizerWorkItem*,System.Int64) | [LibraryImportAttribute(...)] | EntryPoint | GCInterface_EnableNoGCRegionCallback | -| System.Globalization.CompareInfo.m_SortVersion | [OptionalFieldAttribute(...)] | VersionAdded | 3 | -| System.Globalization.CompareInfo.m_name | [OptionalFieldAttribute(...)] | VersionAdded | 2 | -| System.Int32 Internal.Runtime.InteropServices.ComponentActivator.LoadAssemblyAndGetFunctionPointer(System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr) | [RequiresUnreferencedCodeAttribute(...)] | Url | https://aka.ms/dotnet-illink/nativehost | -| System.Int32 Interop.Globalization.GetICUVersion() | [LibraryImportAttribute(...)] | EntryPoint | GlobalizationNative_GetICUVersion | -| System.Int32 Interop.Globalization.GetLatestJapaneseEra() | [LibraryImportAttribute(...)] | EntryPoint | GlobalizationNative_GetLatestJapaneseEra | -| System.Int32 Interop.Globalization.GetSortVersion(System.IntPtr) | [LibraryImportAttribute(...)] | EntryPoint | GlobalizationNative_GetSortVersion | -| System.Int32 Interop.Globalization.LoadICU() | [LibraryImportAttribute(...)] | EntryPoint | GlobalizationNative_LoadICU | -| System.Int32 Interop.HostPolicy.<corehost_resolve_component_dependencies>g____PInvoke\|2_0(System.Byte*,System.IntPtr) | [UnmanagedCallConvAttribute(...)] | CallConvs | [System.Runtime.CompilerServices.CallConvCdecl] | -| System.Int32 Interop.HostPolicy.corehost_resolve_component_dependencies(System.String,Interop.HostPolicy.corehost_resolve_component_dependencies_result_fn) | [UnmanagedCallConvAttribute(...)] | CallConvs | [System.Runtime.CompilerServices.CallConvCdecl] | -| System.Int32 Interop.Kernel32.FormatMessage(System.Int32,System.IntPtr,System.UInt32,System.Int32,System.Void*,System.Int32,System.IntPtr) | [LibraryImportAttribute(...)] | EntryPoint | FormatMessageW | -| System.Int32 Interop.Kernel32.FormatMessage(System.Int32,System.IntPtr,System.UInt32,System.Int32,System.Void*,System.Int32,System.IntPtr) | [LibraryImportAttribute(...)] | SetLastError | True | -| System.Int32 System.AppDomain.ExecuteAssembly(System.String,System.String[],System.Byte[],System.Configuration.Assemblies.AssemblyHashAlgorithm) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0003 | -| System.Int32 System.AppDomain.ExecuteAssembly(System.String,System.String[],System.Byte[],System.Configuration.Assemblies.AssemblyHashAlgorithm) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Int32 System.Attribute.GetHashCode() | [UnconditionalSuppressMessageAttribute(...)] | Justification | Unused fields don't make a difference for hashcode quality | -| System.Int32 System.Diagnostics.Tracing.EventPipeInternal.EventActivityIdControl(System.UInt32,System.Guid) | [LibraryImportAttribute(...)] | EntryPoint | EventPipeInternal_EventActivityIdControl | -| System.Int32 System.Diagnostics.Tracing.EventSource.GetHelperCallFirstArg(System.Reflection.MethodInfo) | [UnconditionalSuppressMessageAttribute(...)] | Justification | The method calls MethodBase.GetMethodBody. Trimming application can change IL of various methodswhich can lead to change of behavior. This method only uses this to validate usage of event source APIs.In the worst case it will not be able to determine the value it's looking for and will not performany validation. | -| System.Int32 System.Environment.GetProcessorCount() | [LibraryImportAttribute(...)] | EntryPoint | Environment_GetProcessorCount | -| System.Int32 System.GC._EndNoGCRegion() | [LibraryImportAttribute(...)] | EntryPoint | GCInterface_EndNoGCRegion | -| System.Int32 System.GC._RefreshMemoryLimit(System.GC.GCHeapHardLimitInfo) | [LibraryImportAttribute(...)] | EntryPoint | GCInterface_RefreshMemoryLimit | -| System.Int32 System.GC._StartNoGCRegion(System.Int64,System.Boolean,System.Int64,System.Boolean) | [LibraryImportAttribute(...)] | EntryPoint | GCInterface_StartNoGCRegion | -| System.Int32 System.Reflection.Emit.RuntimeModuleBuilder.GetMemberRef(System.Runtime.CompilerServices.QCallModule,System.Runtime.CompilerServices.QCallModule,System.Int32,System.Int32) | [LibraryImportAttribute(...)] | EntryPoint | ModuleBuilder_GetMemberRef | -| System.Int32 System.Reflection.Emit.RuntimeModuleBuilder.GetMemberRefOfFieldInfo(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Runtime.CompilerServices.QCallTypeHandle,System.Int32) | [LibraryImportAttribute(...)] | EntryPoint | ModuleBuilder_GetMemberRefOfFieldInfo | -| System.Int32 System.Reflection.Emit.RuntimeModuleBuilder.GetMemberRefOfMethodInfo(System.Runtime.CompilerServices.QCallModule,System.Int32,System.RuntimeMethodHandleInternal) | [LibraryImportAttribute(...)] | EntryPoint | ModuleBuilder_GetMemberRefOfMethodInfo | -| System.Int32 System.Reflection.Emit.RuntimeModuleBuilder.GetTokenFromTypeSpec(System.Runtime.CompilerServices.QCallModule,System.Byte[],System.Int32) | [LibraryImportAttribute(...)] | EntryPoint | ModuleBuilder_GetTokenFromTypeSpec | -| System.Int32 System.Reflection.Emit.RuntimeTypeBuilder.DefineMethodSpec(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Byte[],System.Int32) | [LibraryImportAttribute(...)] | EntryPoint | TypeBuilder_DefineMethodSpec | -| System.Int32 System.Reflection.Emit.RuntimeTypeBuilder.GetTokenFromSig(System.Runtime.CompilerServices.QCallModule,System.Byte[],System.Int32) | [LibraryImportAttribute(...)] | EntryPoint | TypeBuilder_GetTokenFromSig | -| System.Int32 System.Threading.LowLevelLifoSemaphore.WaitNative(Microsoft.Win32.SafeHandles.SafeWaitHandle,System.Int32) | [LibraryImportAttribute(...)] | EntryPoint | WaitHandle_CorWaitOnePrioritizedNative | -| System.Int64 System.GC.GetTotalMemory() | [LibraryImportAttribute(...)] | EntryPoint | GCInterface_GetTotalMemory | -| System.Int64 System.GC._GetGenerationBudget(System.Int32) | [LibraryImportAttribute(...)] | EntryPoint | GCInterface_GetGenerationBudget | -| System.Int64 System.Threading.Monitor.GetLockContentionCount() | [LibraryImportAttribute(...)] | EntryPoint | ObjectNative_GetMonitorLockContentionCount | -| System.IntPtr Internal.Runtime.InteropServices.ComponentActivator.InternalGetFunctionPointer(System.Runtime.Loader.AssemblyLoadContext,System.String,System.String,System.IntPtr) | [RequiresUnreferencedCodeAttribute(...)] | Url | https://aka.ms/dotnet-illink/nativehost | -| System.IntPtr Interop.HostPolicy.corehost_set_error_writer(System.IntPtr) | [UnmanagedCallConvAttribute(...)] | CallConvs | [System.Runtime.CompilerServices.CallConvCdecl] | -| System.IntPtr System.ComAwareWeakReference.ObjectToComWeakRef(System.Runtime.CompilerServices.ObjectHandleOnStack,System.Int64) | [LibraryImportAttribute(...)] | EntryPoint | ObjectToComWeakRef | -| System.IntPtr System.Diagnostics.Tracing.EventPipeInternal.DefineEvent(System.IntPtr,System.UInt32,System.Int64,System.UInt32,System.UInt32,System.Void*,System.UInt32) | [LibraryImportAttribute(...)] | EntryPoint | EventPipeInternal_DefineEvent | -| System.IntPtr System.GC._RegisterFrozenSegment(System.IntPtr,System.IntPtr) | [LibraryImportAttribute(...)] | EntryPoint | GCInterface_RegisterFrozenSegment | -| System.IntPtr System.Runtime.CompilerServices.RuntimeHelpers.AllocateTypeAssociatedMemory(System.Runtime.CompilerServices.QCallTypeHandle,System.UInt32) | [LibraryImportAttribute(...)] | EntryPoint | RuntimeTypeHandle_AllocateTypeAssociatedMemory | -| System.IntPtr System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate`1(!0) | [UnconditionalSuppressMessageAttribute(...)] | Justification | AOT compilers can see the T. | -| System.IntPtr System.Runtime.InteropServices.Marshal.OffsetOf(System.Type,System.String) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Trimming doesn't affect types eligible for marshalling. Different exception for invalid inputs doesn't matter. | -| System.IntPtr System.Runtime.Loader.AssemblyLoadContext.GetLoadContextForAssembly(System.Runtime.CompilerServices.QCallAssembly) | [LibraryImportAttribute(...)] | EntryPoint | AssemblyNative_GetLoadContextForAssembly | -| System.IntPtr System.Runtime.Loader.AssemblyLoadContext.InitializeAssemblyLoadContext(System.IntPtr,System.Boolean,System.Boolean) | [LibraryImportAttribute(...)] | EntryPoint | AssemblyNative_InitializeAssemblyLoadContext | -| System.IntPtr System.RuntimeMethodHandle.GetFunctionPointer(System.RuntimeMethodHandleInternal) | [LibraryImportAttribute(...)] | EntryPoint | RuntimeMethodHandle_GetFunctionPointer | -| System.IntPtr System.RuntimeTypeHandle.FreeGCHandle(System.Runtime.CompilerServices.QCallTypeHandle,System.IntPtr) | [LibraryImportAttribute(...)] | EntryPoint | QCall_FreeGCHandleForTypeHandle | -| System.IntPtr System.RuntimeTypeHandle.GetGCHandle(System.Runtime.CompilerServices.QCallTypeHandle,System.Runtime.InteropServices.GCHandleType) | [LibraryImportAttribute(...)] | EntryPoint | QCall_GetGCHandleForTypeHandle | -| System.NonSerializedAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Object System.MarshalByRefObject.GetLifetimeService() | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0010 | -| System.Object System.MarshalByRefObject.GetLifetimeService() | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Object System.MarshalByRefObject.InitializeLifetimeService() | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0010 | -| System.Object System.MarshalByRefObject.InitializeLifetimeService() | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Object System.Reflection.ParameterInfo.GetRealObject(System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Object System.Reflection.ParameterInfo.GetRealObject(System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Object System.Runtime.InteropServices.Marshal.BindToMoniker(System.String) | [RequiresUnreferencedCodeAttribute(...)] | Url | https://aka.ms/dotnet-illink/com | -| System.Object System.RuntimeType.<CreateInstanceImpl>g__CreateInstanceLocal\|145_0(System.Boolean) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Implementation detail of Activator that linker intrinsically recognizes | -| System.Object System.RuntimeTypeHandle.CreateInstanceForAnotherGenericParameter(System.RuntimeType,System.RuntimeType) | [UnconditionalSuppressMessageAttribute(...)] | Justification | The parameter 'type' is passed by ref to QCallTypeHandle which only instantiatesthe type using the public parameterless constructor and doesn't modify it | -| System.Object System.RuntimeTypeHandle.CreateInstanceForAnotherGenericParameter(System.RuntimeType,System.RuntimeType,System.RuntimeType) | [UnconditionalSuppressMessageAttribute(...)] | Justification | The parameter 'type' is passed by ref to QCallTypeHandle which only instantiatesthe type using the public parameterless constructor and doesn't modify it | -| System.Object[] System.Diagnostics.Tracing.EventSource.SerializeEventArgs(System.Int32,System.Object[]) | [UnconditionalSuppressMessageAttribute(...)] | Justification | EnsureDescriptorsInitialized's use of GetType preserves this method which requires unreferenced code, but EnsureDescriptorsInitialized does not access this member and is safe to call. | -| System.ObsoleteAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.ParamArrayAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.ParamArrayAttribute | [AttributeUsageAttribute(...)] | Inherited | True | -| System.Reflection.Assembly Internal.Runtime.InteropServices.IsolatedComponentLoadContext.Load(System.Reflection.AssemblyName) | [UnconditionalSuppressMessageAttribute(...)] | Justification | The trimmer warning is added to the constructor of this class since this method is a virtual one. | -| System.Reflection.Assembly System.Reflection.Assembly.LoadFromResolveHandler(System.Object,System.ResolveEventArgs) | [UnconditionalSuppressMessageAttribute(...)] | Justification | The assembly is loaded by specifying a path outside of the single-file bundle, the location of the path will not be empty if the path exist, otherwise it will be handled as null | -| System.Reflection.Assembly System.Reflection.Assembly.ReflectionOnlyLoad(System.Byte[]) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0018 | -| System.Reflection.Assembly System.Reflection.Assembly.ReflectionOnlyLoad(System.Byte[]) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Reflection.Assembly System.Reflection.Assembly.ReflectionOnlyLoad(System.String) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0018 | -| System.Reflection.Assembly System.Reflection.Assembly.ReflectionOnlyLoad(System.String) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Reflection.Assembly System.Reflection.Assembly.ReflectionOnlyLoadFrom(System.String) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0018 | -| System.Reflection.Assembly System.Reflection.Assembly.ReflectionOnlyLoadFrom(System.String) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Reflection.Assembly System.Runtime.Loader.AssemblyLoadContext.GetFirstResolvedAssemblyFromResolvingEvent(System.Reflection.AssemblyName) | [UnconditionalSuppressMessageAttribute(...)] | Justification | The code handles the Assembly.Location equals null | -| System.Reflection.Assembly System.Runtime.Loader.AssemblyLoadContext.ResolveSatelliteAssembly(System.Reflection.AssemblyName) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Satellite assemblies have no code in them and loading is not a problem | -| System.Reflection.Assembly System.Runtime.Loader.AssemblyLoadContext.ResolveSatelliteAssembly(System.Reflection.AssemblyName) | [UnconditionalSuppressMessageAttribute(...)] | Justification | This call is fine because native call runs before this and checks BindSatelliteResourceFromBundle | -| System.Reflection.AssemblyAlgorithmIdAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Reflection.AssemblyCompanyAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Reflection.AssemblyConfigurationAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Reflection.AssemblyCopyrightAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Reflection.AssemblyCultureAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Reflection.AssemblyDefaultAliasAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Reflection.AssemblyDelaySignAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Reflection.AssemblyDescriptionAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Reflection.AssemblyFileVersionAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Reflection.AssemblyFlagsAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Reflection.AssemblyInformationalVersionAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Reflection.AssemblyKeyFileAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Reflection.AssemblyKeyNameAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Reflection.AssemblyMetadataAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | True | -| System.Reflection.AssemblyMetadataAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Reflection.AssemblyNameFlags System.Reflection.RuntimeAssembly.GetFlags(System.Runtime.CompilerServices.QCallAssembly) | [LibraryImportAttribute(...)] | EntryPoint | AssemblyNative_GetFlags | -| System.Reflection.AssemblyProductAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Reflection.AssemblySignatureKeyAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Reflection.AssemblySignatureKeyAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Reflection.AssemblyTitleAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Reflection.AssemblyTrademarkAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Reflection.AssemblyVersionAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Reflection.ConstructorInfo System.Reflection.Emit.TypeBuilder.GetConstructor(System.Type,System.Reflection.ConstructorInfo) | [UnconditionalSuppressMessageAttribute(...)] | Justification | MakeGenericType is only called on a TypeBuilder which is not subject to trimming | -| System.Reflection.Emit.ConstructorBuilder System.Reflection.Emit.RuntimeTypeBuilder.DefineConstructorNoLock(System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type[],System.Type[][],System.Type[][]) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Reflection.Emit is not subject to trimming | -| System.Reflection.Emit.ConstructorBuilder System.Reflection.Emit.RuntimeTypeBuilder.DefineTypeInitializerCore() | [UnconditionalSuppressMessageAttribute(...)] | Justification | Reflection.Emit is not subject to trimming | -| System.Reflection.Emit.MethodBuilder System.Reflection.Emit.RuntimeTypeBuilder.DefineMethodCore(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Reflection.Emit is not subject to trimming | -| System.Reflection.Emit.RuntimeConstructorBuilder System.Reflection.Emit.RuntimeTypeBuilder.DefineDefaultConstructorNoLock(System.Reflection.MethodAttributes) | [UnconditionalSuppressMessageAttribute(...)] | Justification | GetConstructor is only called on a TypeBuilderInstantiation which is not subject to trimming | -| System.Reflection.Emit.RuntimeConstructorBuilder System.Reflection.Emit.RuntimeTypeBuilder.DefineDefaultConstructorNoLock(System.Reflection.MethodAttributes) | [UnconditionalSuppressMessageAttribute(...)] | Justification | MakeGenericType is only called on a TypeBuilderInstantiation which is not subject to trimming | -| System.Reflection.EventInfo System.Attribute.GetParentDefinition(System.Reflection.EventInfo) | [UnconditionalSuppressMessageAttribute(...)] | Justification | rtAdd.DeclaringType is guaranteed to have the specified event because rtAdd.GetParentDefinition() returned a non-null MethodInfo. | -| System.Reflection.FieldAttributes.NotSerialized | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0050 | -| System.Reflection.FieldAttributes.NotSerialized | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Reflection.FieldInfo System.Reflection.Emit.TypeBuilder.GetField(System.Type,System.Reflection.FieldInfo) | [UnconditionalSuppressMessageAttribute(...)] | Justification | MakeGenericType is only called on a TypeBuilder which is not subject to trimming | -| System.Reflection.FieldInfo[] System.Diagnostics.Tracing.ManifestBuilder.<CreateManifestString>g__GetEnumFields\|19_0(System.Type) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Trimmer does not trim enums | -| System.Reflection.MemberInfo System.Type.GetMemberWithSameMetadataDefinitionAs(System.Reflection.MemberInfo) | [UnconditionalSuppressMessageAttribute(...)] | Justification | This is finding the MemberInfo with the same MetadataToken as specified MemberInfo. If the specified MemberInfo exists and wasn't trimmed, then the current Type's MemberInfo couldn't have been trimmed. | -| System.Reflection.Metadata.MetadataUpdateHandlerAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | True | -| System.Reflection.MethodBase System.DefaultBinder.BindToMethod(System.Reflection.BindingFlags,System.Reflection.MethodBase[],System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],System.Object) | [UnconditionalSuppressMessageAttribute(...)] | Justification | AOT compiler ensures params arrays are created for reflection-invokable methods | -| System.Reflection.MethodBase System.Reflection.Emit.RuntimeModuleBuilder.GetGenericMethodBaseDefinition(System.Reflection.MethodBase) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Module.ResolveMethod is marked as RequiresUnreferencedCode because it relies on tokens which are not guaranteed to be stable across trimming. So if somebody hardcodes a token it could break. The usage here is not like that as all these tokens come from existing metadata loaded from some IL and so trimming has no effect (the tokens are read AFTER trimming occurred). | -| System.Reflection.MethodBase System.RuntimeType.GetMethodBase(System.RuntimeType,System.RuntimeMethodHandleInternal) | [UnconditionalSuppressMessageAttribute(...)] | Justification | The code in this method looks up the method by name, but it always starts with a method handle.To get here something somewhere had to get the method handle and thus the method must exist. | -| System.Reflection.MethodInfo System.Reflection.Emit.TypeBuilder.GetMethod(System.Type,System.Reflection.MethodInfo) | [UnconditionalSuppressMessageAttribute(...)] | Justification | MakeGenericType is only called on a TypeBuilder which is not subject to trimming | -| System.Reflection.MethodInfo[] System.Diagnostics.StackTrace.<TryResolveStateMachineMethod>g__GetDeclaredMethods\|28_0(System.Type) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Using Reflection to find the state machine's corresponding method is safe because the corresponding method is the only caller of the state machine. If the state machine is present, the corresponding method will be, too. | -| System.Reflection.MethodInfo[] System.Reflection.TypeInfo.<GetDeclaredMethods>g__GetDeclaredOnlyMethods\|10_0(System.Type) | [UnconditionalSuppressMessageAttribute(...)] | Justification | The yield return state machine doesn't propagate annotations | -| System.Reflection.ObfuscateAssemblyAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Reflection.ObfuscateAssemblyAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Reflection.ObfuscationAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | True | -| System.Reflection.ObfuscationAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Reflection.ProcessorArchitecture System.Reflection.AssemblyName.ProcessorArchitecture | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0037 | -| System.Reflection.ProcessorArchitecture System.Reflection.AssemblyName.ProcessorArchitecture | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Reflection.PropertyInfo System.Attribute.GetParentDefinition(System.Reflection.PropertyInfo,System.Type[]) | [UnconditionalSuppressMessageAttribute(...)] | Justification | rtPropAccessor.DeclaringType is guaranteed to have the specified property because rtPropAccessor.GetParentDefinition() returned a non-null MethodInfo. | -| System.Reflection.PropertyInfo System.Type.GetProperty(System.String,System.Type) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Linker doesn't recognize GetPropertyImpl(BindingFlags.Public) but this is what the body is doing | -| System.Reflection.RuntimeAssembly System.Runtime.Loader.AssemblyLoadContext.InvokeResolveEvent(System.ResolveEventHandler,System.Reflection.RuntimeAssembly,System.String) | [UnconditionalSuppressMessageAttribute(...)] | Justification | The code handles the Assembly.Location equals null | -| System.Reflection.RuntimeFieldInfo[] System.RuntimeType.RuntimeTypeCache.MemberInfoCache`1.PopulateFields(System.RuntimeType.RuntimeTypeCache.Filter) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Calls to GetInterfaces technically require all interfaces on ReflectedTypeBut this is not a public API to enumerate reflection items, all the public APIs which do thatshould be annotated accordingly. | -| System.Reflection.RuntimeMethodInfo System.Reflection.Associates.AssignAssociates(System.Int32,System.RuntimeType,System.RuntimeType) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Module.ResolveMethod is marked as RequiresUnreferencedCode because it relies on tokenswhich are not guaranteed to be stable across trimming. So if somebody hardcodes a token it could break.The usage here is not like that as all these tokens come from existing metadata loaded from some ILand so trimming has no effect (the tokens are read AFTER trimming occurred). | -| System.Reflection.StrongNameKeyPair | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0017 | -| System.Reflection.StrongNameKeyPair | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Reflection.StrongNameKeyPair System.Reflection.AssemblyName.KeyPair | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0017 | -| System.Reflection.StrongNameKeyPair System.Reflection.AssemblyName.KeyPair | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Reflection.TypeAttributes.Serializable | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0050 | -| System.Reflection.TypeAttributes.Serializable | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Reflection.TypeInfo System.Reflection.Emit.RuntimeTypeBuilder.CreateTypeNoLock() | [UnconditionalSuppressMessageAttribute(...)] | Justification | Reflection.Emit is not subject to trimming | -| System.Resources.NeutralResourcesLanguageAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Resources.SatelliteContractVersionAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Runtime.AssemblyTargetedPatchBandAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.CompilerServices.AsyncIteratorStateMachineAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Runtime.CompilerServices.AsyncIteratorStateMachineAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.CompilerServices.AsyncMethodBuilderAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Runtime.CompilerServices.AsyncMethodBuilderAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.CompilerServices.AsyncStateMachineAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Runtime.CompilerServices.AsyncStateMachineAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.CompilerServices.CallerArgumentExpressionAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Runtime.CompilerServices.CallerArgumentExpressionAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.CompilerServices.CallerFilePathAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.CompilerServices.CallerLineNumberAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.CompilerServices.CallerMemberNameAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.CompilerServices.CollectionBuilderAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.CompilerServices.CompExactlyDependsOnAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | True | -| System.Runtime.CompilerServices.CompExactlyDependsOnAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | True | -| System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.CompilerServices.CompilerGeneratedAttribute | [AttributeUsageAttribute(...)] | Inherited | True | -| System.Runtime.CompilerServices.CreateNewOnMetadataUpdateAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Runtime.CompilerServices.CustomConstantAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.CompilerServices.DateTimeConstantAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.CompilerServices.DecimalConstantAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.CompilerServices.DependencyAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | True | -| System.Runtime.CompilerServices.DisablePrivateReflectionAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Runtime.CompilerServices.DisablePrivateReflectionAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.CompilerServices.DisablePrivateReflectionAttribute | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0015 | -| System.Runtime.CompilerServices.DisablePrivateReflectionAttribute | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.CompilerServices.EnumeratorCancellationAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.CompilerServices.FixedBufferAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.CompilerServices.IndexerNameAttribute | [AttributeUsageAttribute(...)] | Inherited | True | -| System.Runtime.CompilerServices.InlineArrayAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Runtime.CompilerServices.InternalsVisibleToAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | True | -| System.Runtime.CompilerServices.InternalsVisibleToAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.CompilerServices.InterpolatedStringHandlerArgumentAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Runtime.CompilerServices.InterpolatedStringHandlerArgumentAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.CompilerServices.InterpolatedStringHandlerAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Runtime.CompilerServices.InterpolatedStringHandlerAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.CompilerServices.IntrinsicAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.CompilerServices.IsReadOnlyAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.CompilerServices.IteratorStateMachineAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Runtime.CompilerServices.IteratorStateMachineAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.CompilerServices.MetadataUpdateOriginalTypeAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Runtime.CompilerServices.MetadataUpdateOriginalTypeAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.CompilerServices.MethodImplAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.CompilerServices.ModuleInitializerAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.CompilerServices.NullableAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.CompilerServices.NullableContextAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.CompilerServices.NullablePublicOnlyAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.CompilerServices.PreserveBaseOverridesAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Runtime.CompilerServices.PreserveBaseOverridesAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.CompilerServices.RefSafetyRulesAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.CompilerServices.ReferenceAssemblyAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Runtime.CompilerServices.RequiredMemberAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Runtime.CompilerServices.RequiredMemberAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.CompilerServices.RequiresLocationAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.CompilerServices.RuntimeCompatibilityAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Runtime.CompilerServices.RuntimeCompatibilityAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.CompilerServices.ScopedRefAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.CompilerServices.SkipLocalsInitAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.CompilerServices.StateMachineAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Runtime.CompilerServices.StateMachineAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.CompilerServices.StringFreezingAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.CompilerServices.SuppressIldasmAttribute | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0025 | -| System.Runtime.CompilerServices.SuppressIldasmAttribute | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Runtime.CompilerServices.TypeForwardedFromAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Runtime.CompilerServices.TypeForwardedFromAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.CompilerServices.TypeForwardedToAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | True | -| System.Runtime.CompilerServices.TypeForwardedToAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.CompilerServices.UnsafeAccessorAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Runtime.CompilerServices.UnsafeAccessorAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.ConstrainedExecution.Cer | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0004 | -| System.Runtime.ConstrainedExecution.Cer | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Runtime.ConstrainedExecution.Consistency | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0004 | -| System.Runtime.ConstrainedExecution.Consistency | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Runtime.ConstrainedExecution.PrePrepareMethodAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.ConstrainedExecution.PrePrepareMethodAttribute | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0004 | -| System.Runtime.ConstrainedExecution.PrePrepareMethodAttribute | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Runtime.ConstrainedExecution.ReliabilityContractAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.ConstrainedExecution.ReliabilityContractAttribute | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0004 | -| System.Runtime.ConstrainedExecution.ReliabilityContractAttribute | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Runtime.ExceptionServices.HandleProcessCorruptedStateExceptionsAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Runtime.ExceptionServices.HandleProcessCorruptedStateExceptionsAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.ExceptionServices.HandleProcessCorruptedStateExceptionsAttribute | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0032 | -| System.Runtime.ExceptionServices.HandleProcessCorruptedStateExceptionsAttribute | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Runtime.InteropServices.AllowReversePInvokeCallsAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Runtime.InteropServices.AllowReversePInvokeCallsAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.InteropServices.AllowReversePInvokeCallsAttribute | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0003 | -| System.Runtime.InteropServices.AllowReversePInvokeCallsAttribute | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Runtime.InteropServices.BestFitMappingAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.InteropServices.ClassInterfaceAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.InteropServices.CoClassAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.InteropServices.ComDefaultInterfaceAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.InteropServices.ComEventInterfaceAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.InteropServices.ComImportAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.InteropServices.ComSourceInterfacesAttribute | [AttributeUsageAttribute(...)] | Inherited | True | -| System.Runtime.InteropServices.ComVisibleAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.InteropServices.DefaultCharSetAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.InteropServices.DefaultDllImportSearchPathsAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Runtime.InteropServices.DispIdAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.InteropServices.DllImportAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.InteropServices.DynamicInterfaceCastableImplementationAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Runtime.InteropServices.DynamicInterfaceCastableImplementationAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.InteropServices.FieldOffsetAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.InteropServices.GuidAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.InteropServices.InAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.InteropServices.InterfaceTypeAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.InteropServices.LCIDConversionAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.InteropServices.LibraryImportAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Runtime.InteropServices.LibraryImportAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.InteropServices.MarshalAsAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | True | -| System.Runtime.InteropServices.Marshalling.MarshalUsingAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | True | -| System.Runtime.InteropServices.ObjectiveC.ObjectiveCTrackedTypeAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Runtime.InteropServices.ObjectiveC.ObjectiveCTrackedTypeAttribute | [AttributeUsageAttribute(...)] | Inherited | True | -| System.Runtime.InteropServices.OptionalAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.InteropServices.OutAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.InteropServices.PreserveSigAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.InteropServices.ProgIdAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.InteropServices.StructLayoutAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.InteropServices.SuppressGCTransitionAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.InteropServices.TypeIdentifierAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Runtime.InteropServices.TypeIdentifierAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.InteropServices.UnmanagedCallConvAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Runtime.InteropServices.UnmanagedCallConvAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.Remoting.ObjectHandle System.Activator.CreateInstanceInternal(System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[],System.Threading.StackCrawlMark) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Implementation detail of Activator that linker intrinsically recognizes | -| System.Runtime.Serialization.IFormatterConverter | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0050 | -| System.Runtime.Serialization.IFormatterConverter | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Runtime.Serialization.IObjectReference | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0050 | -| System.Runtime.Serialization.IObjectReference | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Runtime.Serialization.ISafeSerializationData | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0050 | -| System.Runtime.Serialization.ISafeSerializationData | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Runtime.Serialization.OnDeserializedAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.Serialization.OnDeserializingAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.Serialization.OnSerializedAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.Serialization.OnSerializingAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.Serialization.OptionalFieldAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.Serialization.SafeSerializationEventArgs | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0050 | -| System.Runtime.Serialization.SafeSerializationEventArgs | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Runtime.Serialization.StreamingContext._state | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0050 | -| System.Runtime.Serialization.StreamingContext._state | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Runtime.Serialization.StreamingContextStates | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0050 | -| System.Runtime.Serialization.StreamingContextStates | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Runtime.Serialization.StreamingContextStates System.Runtime.Serialization.StreamingContext.State | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0050 | -| System.Runtime.Serialization.StreamingContextStates System.Runtime.Serialization.StreamingContext.State | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Runtime.TargetedPatchingOptOutAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Runtime.TargetedPatchingOptOutAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.Versioning.ComponentGuaranteesAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Runtime.Versioning.ComponentGuaranteesAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.Versioning.NonVersionableAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Runtime.Versioning.NonVersionableAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.Versioning.ObsoletedOSPlatformAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | True | -| System.Runtime.Versioning.ObsoletedOSPlatformAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.Versioning.RequiresPreviewFeaturesAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.Versioning.ResourceConsumptionAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.Versioning.ResourceExposureAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.Versioning.SupportedOSPlatformAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | True | -| System.Runtime.Versioning.SupportedOSPlatformAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.Versioning.SupportedOSPlatformGuardAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | True | -| System.Runtime.Versioning.SupportedOSPlatformGuardAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.Versioning.TargetFrameworkAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Runtime.Versioning.TargetFrameworkAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.Versioning.TargetPlatformAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Runtime.Versioning.TargetPlatformAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.Versioning.UnsupportedOSPlatformAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | True | -| System.Runtime.Versioning.UnsupportedOSPlatformAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Runtime.Versioning.UnsupportedOSPlatformGuardAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | True | -| System.Runtime.Versioning.UnsupportedOSPlatformGuardAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.RuntimeMethodHandleInternal System.Diagnostics.StackFrame.GetMethodDescFromNativeIP(System.IntPtr) | [LibraryImportAttribute(...)] | EntryPoint | StackFrame_GetMethodDescFromNativeIP | -| System.RuntimeMethodHandleInternal System.ModuleHandle.ResolveMethod(System.Runtime.CompilerServices.QCallModule,System.Int32,System.IntPtr*,System.Int32,System.IntPtr*,System.Int32) | [LibraryImportAttribute(...)] | EntryPoint | ModuleHandle_ResolveMethod | -| System.RuntimeMethodHandleInternal System.RuntimeTypeHandle.GetInterfaceMethodImplementation(System.Runtime.CompilerServices.QCallTypeHandle,System.Runtime.CompilerServices.QCallTypeHandle,System.RuntimeMethodHandleInternal) | [LibraryImportAttribute(...)] | EntryPoint | RuntimeTypeHandle_GetInterfaceMethodImplementation | -| System.RuntimeType[] System.RuntimeType.RuntimeTypeCache.MemberInfoCache`1.PopulateInterfaces(System.RuntimeType.RuntimeTypeCache.Filter) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Calls to GetInterfaces technically require all interfaces on ReflectedTypeBut this is not a public API to enumerate reflection items, all the public APIs which do thatshould be annotated accordingly. | -| System.RuntimeType[] System.RuntimeType.RuntimeTypeCache.MemberInfoCache`1.PopulateNestedClasses(System.RuntimeType.RuntimeTypeCache.Filter) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Calls to ResolveTypeHandle technically require all types to be kept But this is not a public API to enumerate reflection items, all the public APIs which do that should be annotated accordingly. | -| System.Security.AllowPartiallyTrustedCallersAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Security.AllowPartiallyTrustedCallersAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Security.IPermission | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0003 | -| System.Security.IPermission | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Security.IStackWalk | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0003 | -| System.Security.IStackWalk | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Security.PermissionSet | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0003 | -| System.Security.PermissionSet | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Security.PermissionSet System.AppDomain.PermissionSet | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0003 | -| System.Security.PermissionSet System.AppDomain.PermissionSet | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Security.Permissions.CodeAccessSecurityAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | True | -| System.Security.Permissions.CodeAccessSecurityAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Security.Permissions.CodeAccessSecurityAttribute | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0003 | -| System.Security.Permissions.CodeAccessSecurityAttribute | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Security.Permissions.PermissionState | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0003 | -| System.Security.Permissions.PermissionState | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Security.Permissions.SecurityAction | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0003 | -| System.Security.Permissions.SecurityAction | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Security.Permissions.SecurityAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | True | -| System.Security.Permissions.SecurityAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Security.Permissions.SecurityAttribute | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0003 | -| System.Security.Permissions.SecurityAttribute | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Security.Permissions.SecurityPermissionAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | True | -| System.Security.Permissions.SecurityPermissionAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Security.Permissions.SecurityPermissionAttribute | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0003 | -| System.Security.Permissions.SecurityPermissionAttribute | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Security.Permissions.SecurityPermissionFlag | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0003 | -| System.Security.Permissions.SecurityPermissionFlag | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Security.SecurityCriticalAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Security.SecurityCriticalAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Security.SecurityRulesAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Security.SecuritySafeCriticalAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Security.SecuritySafeCriticalAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Security.SecurityTransparentAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Security.SecurityTransparentAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Security.SecurityTreatAsSafeAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | False | -| System.Security.SecurityTreatAsSafeAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Security.SuppressUnmanagedCodeSecurityAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | True | -| System.Security.SuppressUnmanagedCodeSecurityAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Security.UnverifiableCodeAttribute | [AttributeUsageAttribute(...)] | AllowMultiple | True | -| System.Security.UnverifiableCodeAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.SerializableAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.String System.AppContext.GetBaseDirectoryCore() | [UnconditionalSuppressMessageAttribute(...)] | Justification | Single File apps should always set APP_CONTEXT_BASE_DIRECTORY therefore code handles Assembly.Location equals null | -| System.String System.Diagnostics.Tracing.EventSource.GenerateManifest(System.Type,System.String) | [UnconditionalSuppressMessageAttribute(...)] | Justification | EnsureDescriptorsInitialized's use of GetType preserves this method which has dynamically accessed members requirements, but EnsureDescriptorsInitialized does not access this member and is safe to call. | -| System.String System.Diagnostics.Tracing.EventSource.GenerateManifest(System.Type,System.String,System.Diagnostics.Tracing.EventManifestOptions) | [UnconditionalSuppressMessageAttribute(...)] | Justification | EnsureDescriptorsInitialized's use of GetType preserves this method which has dynamically accessed members requirements, but EnsureDescriptorsInitialized does not access this member and is safe to call. | -| System.String System.Exception.get_Source() | [UnconditionalSuppressMessageAttribute(...)] | Justification | The API will return <unknown> if the metadata for current method cannot be established. | -| System.String System.Runtime.CompilerServices.AsyncMethodBuilderCore.GetAsyncStateMachineDescription(System.Runtime.CompilerServices.IAsyncStateMachine) | [UnconditionalSuppressMessageAttribute(...)] | Justification | It's okay if unused fields disappear from debug views | -| System.Text.Encoding System.Text.Encoding.UTF7 | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0001 | -| System.Text.Encoding System.Text.Encoding.UTF7 | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Text.Encoding._isReadOnly | [OptionalFieldAttribute(...)] | VersionAdded | 2 | -| System.ThreadStaticAttribute | [AttributeUsageAttribute(...)] | Inherited | False | -| System.Threading.CompressedStack System.Threading.Thread.GetCompressedStack() | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0003 | -| System.Threading.CompressedStack System.Threading.Thread.GetCompressedStack() | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Threading.Tasks.TplEventSource | [EventSourceAttribute(...)] | Guid | 2e5dba47-a3d2-4d16-8ee0-6671ffdcd7b5 | -| System.Threading.Tasks.TplEventSource | [EventSourceAttribute(...)] | Name | System.Threading.Tasks.TplEventSource | -| System.Type System.Reflection.Emit.TypeBuilderInstantiation.Substitute(System.Type[]) | [UnconditionalSuppressMessageAttribute(...)] | Justification | The entire TypeBuilderInstantiation is serving the MakeGenericType implementation. Currently this is not supported by linker. Once it is supported the outercall (Type.MakeGenericType)will validate that the types fulfill the necessary requirements of annotations on type parameters.As such the actual internals of the implementation are not interesting. | -| System.Type System.Reflection.RuntimeExceptionHandlingClause.get_CatchType() | [UnconditionalSuppressMessageAttribute(...)] | Justification | Module.ResolveType is marked as RequiresUnreferencedCode because it relies on tokenswhich are not guaranteed to be stable across trimming. So if somebody hardcodes a token it could break.The usage here is not like that as all these tokens come from existing metadata loaded from some ILand so trimming has no effect (the tokens are read AFTER trimming occurred). | -| System.Type System.Reflection.SignatureTypeExtensions.TryMakeArrayType(System.Type) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Used to find matching method overloads. Only used for assignability checks. | -| System.Type System.Reflection.SignatureTypeExtensions.TryMakeArrayType(System.Type,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Used to find matching method overloads. Only used for assignability checks. | -| System.Type System.Reflection.SignatureTypeExtensions.TryResolve(System.Reflection.SignatureType,System.Type[]) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Used to find matching method overloads. Only used for assignability checks. | -| System.Type System.Reflection.TypeNameParser.GenericTypeName.ResolveType(System.Reflection.TypeNameParser,System.String) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Used to implement resolving types from strings. | -| System.Type System.Reflection.TypeNameParser.GetType(System.String,System.ReadOnlySpan<System.String>,System.String) | [UnconditionalSuppressMessageAttribute(...)] | Justification | TypeNameParser.GetType is marked as RequiresUnreferencedCode. | -| System.Type System.Reflection.TypeNameParser.ModifierTypeName.ResolveType(System.Reflection.TypeNameParser,System.String) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Used to implement resolving types from strings. | -| System.Type System.Resources.ResourceReader.<FindType>g__UseReflectionToGetTypeLocal\|52_0(System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | Justification | UseReflectionToGetType will get trimmed out when AllowCustomResourceTypes is set to false. When set to true, we will already throw a warning for this feature switch, so we suppress this one in order forthe user to only get one error. | -| System.Type System.RuntimeType.GetInterface(System.String,System.Boolean) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Trimming makes sure that interfaces are fully preserved, so the Interfaces annotation is transitive.The cache doesn't carry the necessary annotation since it returns an array type,so the analysis complains that the returned value doesn't have the necessary annotation. | -| System.Type System.Type.GetEnumUnderlyingType() | [UnconditionalSuppressMessageAttribute(...)] | Justification | The single instance field on enum types is never trimmed | -| System.Type System.Type.ReflectionOnlyGetType(System.String,System.Boolean,System.Boolean) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0018 | -| System.Type System.Type.ReflectionOnlyGetType(System.String,System.Boolean,System.Boolean) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Type[] System.Reflection.TypeInfo.<get_DeclaredNestedTypes>g__GetDeclaredOnlyNestedTypes\|22_0(System.Type) | [UnconditionalSuppressMessageAttribute(...)] | Justification | The yield return state machine doesn't propagate annotations | -| System.UInt32 System.Reflection.Assembly.GetAssemblyCount() | [LibraryImportAttribute(...)] | EntryPoint | AssemblyNative_GetAssemblyCount | -| System.UInt64 System.Diagnostics.Tracing.EventPipeInternal.Enable(System.Char*,System.Diagnostics.Tracing.EventPipeSerializationFormat,System.UInt32,System.Diagnostics.Tracing.EventPipeInternal.EventPipeProviderConfigurationNative*,System.UInt32) | [LibraryImportAttribute(...)] | EntryPoint | EventPipeInternal_Enable | -| System.UInt64 System.Threading.Thread.GetCurrentOSThreadId() | [LibraryImportAttribute(...)] | EntryPoint | ThreadNative_GetCurrentOSThreadId | -| System.UnitySerializationHolder | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0050 | -| System.UnitySerializationHolder | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void Internal.Runtime.InteropServices.ComponentActivator.<LoadAssembly>g__LoadAssemblyLocal\|14_0(System.String) | [UnconditionalSuppressMessageAttribute(...)] | Justification | The same feature switch applies to GetFunctionPointer and this function. We rely on the warning from GetFunctionPointer. | -| System.Void Internal.Runtime.InteropServices.ComponentActivator.<LoadAssemblyBytes>g__LoadAssemblyBytesLocal\|16_0(System.ReadOnlySpan<System.Byte>,System.ReadOnlySpan<System.Byte>) | [UnconditionalSuppressMessageAttribute(...)] | Justification | The same feature switch applies to GetFunctionPointer and this function. We rely on the warning from GetFunctionPointer. | -| System.Void Internal.Runtime.InteropServices.ComponentActivator.LoadAssemblyImpl(System.String) | [RequiresUnreferencedCodeAttribute(...)] | Url | https://aka.ms/dotnet-illink/nativehost | -| System.Void Internal.Runtime.InteropServices.IsolatedComponentLoadContext..ctor(System.String) | [RequiresUnreferencedCodeAttribute(...)] | Url | https://aka.ms/dotnet-illink/nativehost | -| System.Void Interop.Globalization.CloseSortHandle(System.IntPtr) | [LibraryImportAttribute(...)] | EntryPoint | GlobalizationNative_CloseSortHandle | -| System.Void System.AccessViolationException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.AccessViolationException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.AggregateException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.AggregateException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.AggregateException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.AggregateException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.AppDomain.Unload(System.AppDomain) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0024 | -| System.Void System.AppDomain.Unload(System.AppDomain) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.AppDomainUnloadedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.AppDomainUnloadedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.ApplicationException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.ApplicationException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.ArgumentException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.ArgumentException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.ArgumentException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.ArgumentException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.ArgumentNullException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.ArgumentNullException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.ArgumentOutOfRangeException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.ArgumentOutOfRangeException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.ArgumentOutOfRangeException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.ArgumentOutOfRangeException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.ArithmeticException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.ArithmeticException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.ArrayTypeMismatchException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.ArrayTypeMismatchException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.BadImageFormatException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.BadImageFormatException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.BadImageFormatException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.BadImageFormatException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Buffer.__Memmove(System.Byte*,System.Byte*,System.UIntPtr) | [LibraryImportAttribute(...)] | EntryPoint | Buffer_MemMove | -| System.Void System.Buffer.__ZeroMemory(System.Void*,System.UIntPtr) | [LibraryImportAttribute(...)] | EntryPoint | Buffer_Clear | -| System.Void System.Buffers.ArrayPoolEventSource.BufferAllocated(System.Int32,System.Int32,System.Int32,System.Int32,System.Buffers.ArrayPoolEventSource.BufferAllocatedReason) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Parameters to this method are primitive and are trimmer safe | -| System.Void System.Buffers.ArrayPoolEventSource.BufferDropped(System.Int32,System.Int32,System.Int32,System.Int32,System.Buffers.ArrayPoolEventSource.BufferDroppedReason) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Parameters to this method are primitive and are trimmer safe | -| System.Void System.Buffers.ArrayPoolEventSource.BufferRented(System.Int32,System.Int32,System.Int32,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Parameters to this method are primitive and are trimmer safe | -| System.Void System.CannotUnloadAppDomainException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.CannotUnloadAppDomainException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Collections.Comparer.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Collections.Comparer.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Collections.Generic.Dictionary`2..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Collections.Generic.Dictionary`2..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Collections.Generic.Dictionary`2.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Collections.Generic.Dictionary`2.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Collections.Generic.HashSet`1..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Collections.Generic.HashSet`1..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Collections.Generic.HashSet`1.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Collections.Generic.HashSet`1.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Collections.Generic.KeyNotFoundException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Collections.Generic.KeyNotFoundException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Collections.Generic.NonRandomizedStringEqualityComparer..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Collections.Generic.NonRandomizedStringEqualityComparer..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Collections.Hashtable..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Collections.Hashtable..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Collections.Hashtable.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Collections.Hashtable.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Collections.Hashtable.SyncHashtable.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Collections.Hashtable.SyncHashtable.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.ComAwareWeakReference.ComWeakRefToObject(System.IntPtr,System.Int64,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | EntryPoint | ComWeakRefToObject | -| System.Void System.ComponentModel.Win32Exception..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.ComponentModel.Win32Exception..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.ComponentModel.Win32Exception.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.ComponentModel.Win32Exception.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.ContextMarshalException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.ContextMarshalException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.DBNull.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.DBNull.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.DataMisalignedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.DataMisalignedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Delegate.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Delegate.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Diagnostics.Contracts.Contract.AssertMustUseRewriter(System.Diagnostics.Contracts.ContractFailureKind,System.String) | [UnconditionalSuppressMessageAttribute(...)] | Justification | StackFrame.GetMethod is only used to help diagnosing incorrect use of contracts. It handles missing or incomplete metadata. | -| System.Void System.Diagnostics.Contracts.ContractException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Diagnostics.Contracts.ContractException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Diagnostics.Contracts.ContractException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Diagnostics.Contracts.ContractException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Diagnostics.StackTrace.ToString(System.Diagnostics.StackTrace.TraceFormat,System.Text.StringBuilder) | [UnconditionalSuppressMessageAttribute(...)] | Justification | ToString is best effort when it comes to available information. | -| System.Void System.Diagnostics.Tracing.EventCounter.WritePayload(System.Single,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | Justification | The DynamicDependency will preserve the properties of CounterPayload | -| System.Void System.Diagnostics.Tracing.EventPipeInternal.DeleteProvider(System.IntPtr) | [LibraryImportAttribute(...)] | EntryPoint | EventPipeInternal_DeleteProvider | -| System.Void System.Diagnostics.Tracing.EventPipeInternal.Disable(System.UInt64) | [LibraryImportAttribute(...)] | EntryPoint | EventPipeInternal_Disable | -| System.Void System.Diagnostics.Tracing.EventPipeInternal.WriteEventData(System.IntPtr,System.Diagnostics.Tracing.EventProvider.EventData*,System.UInt32,System.Guid*,System.Guid*) | [LibraryImportAttribute(...)] | EntryPoint | EventPipeInternal_WriteEventData | -| System.Void System.Diagnostics.Tracing.EventSource.Write(System.String) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Parameters to this method are primitive and are trimmer safe | -| System.Void System.Diagnostics.Tracing.EventSource.Write(System.String,System.Diagnostics.Tracing.EventSourceOptions) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Parameters to this method are primitive and are trimmer safe | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Parameters to this method are primitive and are trimmer safe | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.Byte[]) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Parameters to this method are primitive and are trimmer safe | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.Diagnostics.Tracing.EventSource.EventSourcePrimitive[]) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Parameters to this method are primitive and are trimmer safe | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Parameters to this method are primitive and are trimmer safe | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.Int32,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Parameters to this method are primitive and are trimmer safe | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.Int32,System.Int32,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Parameters to this method are primitive and are trimmer safe | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.Int32,System.String) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Parameters to this method are primitive and are trimmer safe | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.Int64) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Parameters to this method are primitive and are trimmer safe | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.Int64,System.Byte[]) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Parameters to this method are primitive and are trimmer safe | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.Int64,System.Int64) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Parameters to this method are primitive and are trimmer safe | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.Int64,System.Int64,System.Int64) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Parameters to this method are primitive and are trimmer safe | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.Int64,System.String) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Parameters to this method are primitive and are trimmer safe | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.Object[]) | [UnconditionalSuppressMessageAttribute(...)] | Justification | EnsureDescriptorsInitialized's use of GetType preserves this method which requires unreferenced code, but EnsureDescriptorsInitialized does not access this member and is safe to call. | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.String) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Parameters to this method are primitive and are trimmer safe | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.String,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Parameters to this method are primitive and are trimmer safe | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.String,System.Int32,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Parameters to this method are primitive and are trimmer safe | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.String,System.Int64) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Parameters to this method are primitive and are trimmer safe | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.String,System.String) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Parameters to this method are primitive and are trimmer safe | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.String,System.String,System.String) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Parameters to this method are primitive and are trimmer safe | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEventCore(System.Int32,System.Int32,System.Diagnostics.Tracing.EventSource.EventData*) | [UnconditionalSuppressMessageAttribute(...)] | Justification | EnsureDescriptorsInitialized's use of GetType preserves this method which requires unreferenced code, but EnsureDescriptorsInitialized does not access this member and is safe to call. | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEventVarargs(System.Int32,System.Guid*,System.Object[]) | [UnconditionalSuppressMessageAttribute(...)] | Justification | EnsureDescriptorsInitialized's use of GetType preserves this method which requires unreferenced code, but EnsureDescriptorsInitialized does not access this member and is safe to call. | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEventWithRelatedActivityId(System.Int32,System.Guid,System.Object[]) | [UnconditionalSuppressMessageAttribute(...)] | Justification | EnsureDescriptorsInitialized's use of GetType preserves this method which requires unreferenced code, but EnsureDescriptorsInitialized does not access this member and is safe to call. | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEventWithRelatedActivityIdCore(System.Int32,System.Guid*,System.Int32,System.Diagnostics.Tracing.EventSource.EventData*) | [UnconditionalSuppressMessageAttribute(...)] | Justification | EnsureDescriptorsInitialized's use of GetType preserves this method which requires unreferenced code, but EnsureDescriptorsInitialized does not access this member and is safe to call. | -| System.Void System.Diagnostics.Tracing.EventSource.Write`1(System.String,!0) | [UnconditionalSuppressMessageAttribute(...)] | Justification | EnsureDescriptorsInitialized's use of GetType preserves this method which requires unreferenced code, but EnsureDescriptorsInitialized does not access this member and is safe to call. | -| System.Void System.Diagnostics.Tracing.EventSource.Write`1(System.String,System.Diagnostics.Tracing.EventSourceOptions,!0) | [UnconditionalSuppressMessageAttribute(...)] | Justification | EnsureDescriptorsInitialized's use of GetType preserves this method which requires unreferenced code, but EnsureDescriptorsInitialized does not access this member and is safe to call. | -| System.Void System.Diagnostics.Tracing.EventSource.Write`1(System.String,System.Diagnostics.Tracing.EventSourceOptions,System.Guid,System.Guid,!0) | [UnconditionalSuppressMessageAttribute(...)] | Justification | EnsureDescriptorsInitialized's use of GetType preserves this method which requires unreferenced code, but EnsureDescriptorsInitialized does not access this member and is safe to call. | -| System.Void System.Diagnostics.Tracing.EventSourceException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Diagnostics.Tracing.EventSourceException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Diagnostics.Tracing.FrameworkEventSource.WriteEvent(System.Int32,System.Int64,System.Int32,System.String) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Parameters to this method are primitive and are trimmer safe | -| System.Void System.Diagnostics.Tracing.FrameworkEventSource.WriteEvent(System.Int32,System.Int64,System.Int32,System.String,System.Boolean,System.Int32,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Parameters to this method are primitive and are trimmer safe | -| System.Void System.Diagnostics.Tracing.IncrementingEventCounter.WritePayload(System.Single,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | Justification | The DynamicDependency will preserve the properties of IncrementingCounterPayload | -| System.Void System.Diagnostics.Tracing.IncrementingPollingCounter.WritePayload(System.Single,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | Justification | The DynamicDependency will preserve the properties of IncrementingCounterPayload | -| System.Void System.Diagnostics.Tracing.NullableTypeInfo.WriteData(System.Diagnostics.Tracing.PropertyValue) | [UnconditionalSuppressMessageAttribute(...)] | Justification | The underlying type of Nullable<T> must be defaultable | -| System.Void System.Diagnostics.Tracing.PollingCounter.WritePayload(System.Single,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | Justification | The DynamicDependency will preserve the properties of CounterPayload | -| System.Void System.DivideByZeroException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.DivideByZeroException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.DllNotFoundException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.DllNotFoundException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.DuplicateWaitObjectException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.DuplicateWaitObjectException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.EntryPointNotFoundException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.EntryPointNotFoundException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Enum.GetEnumValuesAndNames(System.Runtime.CompilerServices.QCallTypeHandle,System.Runtime.CompilerServices.ObjectHandleOnStack,System.Runtime.CompilerServices.ObjectHandleOnStack,Interop.BOOL) | [LibraryImportAttribute(...)] | EntryPoint | Enum_GetValuesAndNames | -| System.Void System.Environment._Exit(System.Int32) | [LibraryImportAttribute(...)] | EntryPoint | Environment_Exit | -| System.Void System.Exception..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Exception..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Exception.GetMessageFromNativeResources(System.Exception.ExceptionMessageKind,System.Runtime.CompilerServices.StringHandleOnStack) | [LibraryImportAttribute(...)] | EntryPoint | ExceptionNative_GetMessageFromNativeResources | -| System.Void System.Exception.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Exception.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.FieldAccessException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.FieldAccessException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.FormatException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.FormatException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.GC._AddMemoryPressure(System.UInt64) | [LibraryImportAttribute(...)] | EntryPoint | GCInterface_AddMemoryPressure | -| System.Void System.GC._Collect(System.Int32,System.Int32) | [LibraryImportAttribute(...)] | EntryPoint | GCInterface_Collect | -| System.Void System.GC._EnumerateConfigurationValues(System.Void*,delegate* unmanaged<Void*,Void*,Void*,GCConfigurationType,Int64,Void>) | [LibraryImportAttribute(...)] | EntryPoint | GCInterface_EnumerateConfigurationValues | -| System.Void System.GC._RemoveMemoryPressure(System.UInt64) | [LibraryImportAttribute(...)] | EntryPoint | GCInterface_RemoveMemoryPressure | -| System.Void System.GC._UnregisterFrozenSegment(System.IntPtr) | [LibraryImportAttribute(...)] | EntryPoint | GCInterface_UnregisterFrozenSegment | -| System.Void System.GC._WaitForPendingFinalizers() | [LibraryImportAttribute(...)] | EntryPoint | GCInterface_WaitForPendingFinalizers | -| System.Void System.Globalization.CultureNotFoundException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Globalization.CultureNotFoundException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Globalization.CultureNotFoundException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Globalization.CultureNotFoundException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.IO.DirectoryNotFoundException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.IO.DirectoryNotFoundException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.IO.EndOfStreamException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.IO.EndOfStreamException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.IO.FileLoadException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.IO.FileLoadException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.IO.FileLoadException.GetMessageForHR(System.Int32,System.Runtime.CompilerServices.StringHandleOnStack) | [LibraryImportAttribute(...)] | EntryPoint | FileLoadException_GetMessageForHR | -| System.Void System.IO.FileLoadException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.IO.FileLoadException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.IO.FileNotFoundException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.IO.FileNotFoundException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.IO.FileNotFoundException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.IO.FileNotFoundException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.IO.FileSystemInfo..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.IO.FileSystemInfo..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.IO.FileSystemInfo.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.IO.FileSystemInfo.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.IO.IOException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.IO.IOException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.IO.InvalidDataException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.IO.InvalidDataException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.IO.PathTooLongException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.IO.PathTooLongException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.IndexOutOfRangeException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.IndexOutOfRangeException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.InsufficientExecutionStackException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.InsufficientExecutionStackException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.InsufficientMemoryException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.InsufficientMemoryException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.InvalidCastException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.InvalidCastException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.InvalidOperationException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.InvalidOperationException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.InvalidProgramException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.InvalidProgramException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.InvalidTimeZoneException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.InvalidTimeZoneException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.MemberAccessException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.MemberAccessException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.MethodAccessException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.MethodAccessException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.MissingFieldException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.MissingFieldException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.MissingMemberException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.MissingMemberException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.MissingMemberException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.MissingMemberException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.MissingMethodException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.MissingMethodException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.ModuleHandle.GetModuleType(System.Runtime.CompilerServices.QCallModule,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | EntryPoint | ModuleHandle_GetModuleType | -| System.Void System.ModuleHandle.GetPEKind(System.Runtime.CompilerServices.QCallModule,System.Int32*,System.Int32*) | [LibraryImportAttribute(...)] | EntryPoint | ModuleHandle_GetPEKind | -| System.Void System.ModuleHandle.ResolveField(System.Runtime.CompilerServices.QCallModule,System.Int32,System.IntPtr*,System.Int32,System.IntPtr*,System.Int32,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | EntryPoint | ModuleHandle_ResolveField | -| System.Void System.ModuleHandle.ResolveType(System.Runtime.CompilerServices.QCallModule,System.Int32,System.IntPtr*,System.Int32,System.IntPtr*,System.Int32,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | EntryPoint | ModuleHandle_ResolveType | -| System.Void System.MulticastDelegate.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.MulticastDelegate.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.MulticastNotSupportedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.MulticastNotSupportedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.NotFiniteNumberException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.NotFiniteNumberException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.NotFiniteNumberException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.NotFiniteNumberException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.NotImplementedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.NotImplementedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.NotSupportedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.NotSupportedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.NullReferenceException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.NullReferenceException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.ObjectDisposedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.ObjectDisposedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.ObjectDisposedException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.ObjectDisposedException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.OperatingSystem.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.OperatingSystem.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.OperationCanceledException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.OperationCanceledException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.OutOfMemoryException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.OutOfMemoryException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.OverflowException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.OverflowException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.PlatformNotSupportedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.PlatformNotSupportedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.RankException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.RankException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Reflection.AmbiguousMatchException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Reflection.AmbiguousMatchException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Reflection.Assembly.GetEntryAssemblyNative(System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | EntryPoint | AssemblyNative_GetEntryAssembly | -| System.Void System.Reflection.Assembly.GetExecutingAssemblyNative(System.Runtime.CompilerServices.StackCrawlMarkHandle,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | EntryPoint | AssemblyNative_GetExecutingAssembly | -| System.Void System.Reflection.Assembly.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Reflection.Assembly.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Reflection.AssemblyName.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Reflection.AssemblyName.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Reflection.AssemblyName.InitializeAssemblySpec(System.Reflection.NativeAssemblyNameParts*,System.Void*) | [LibraryImportAttribute(...)] | EntryPoint | AssemblyName_InitializeAssemblySpec | -| System.Void System.Reflection.CustomAttribute.AddCustomAttributes(System.RuntimeType.ListBuilder<System.Object>,System.Reflection.RuntimeModule,System.Int32,System.RuntimeType,System.Boolean,System.RuntimeType.ListBuilder<System.Object>) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Linker guarantees presence of all the constructor parameters, property setters and fields which are accessed by any attribute instantiation which is present in the code linker has analyzed.As such the reflection usage in this method will never fail as those methods/fields will be present. | -| System.Void System.Reflection.CustomAttributeFormatException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Reflection.CustomAttributeFormatException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Reflection.Emit.RuntimeAssemblyBuilder.CreateDynamicAssembly(System.Runtime.CompilerServices.ObjectHandleOnStack,System.Reflection.NativeAssemblyNameParts*,System.Configuration.Assemblies.AssemblyHashAlgorithm,System.Reflection.Emit.AssemblyBuilderAccess,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | EntryPoint | AppDomain_CreateDynamicAssembly | -| System.Void System.Reflection.Emit.RuntimeEnumBuilder..ctor(System.String,System.Type,System.Reflection.TypeAttributes,System.Reflection.Emit.RuntimeModuleBuilder) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Reflection.Emit is not subject to trimming | -| System.Void System.Reflection.Emit.RuntimeModuleBuilder.SetFieldRVAContent(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Byte[],System.Int32) | [LibraryImportAttribute(...)] | EntryPoint | ModuleBuilder_SetFieldRVAContent | -| System.Void System.Reflection.Emit.RuntimeTypeBuilder.AddInterfaceImpl(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Int32) | [LibraryImportAttribute(...)] | EntryPoint | TypeBuilder_AddInterfaceImpl | -| System.Void System.Reflection.Emit.RuntimeTypeBuilder.DefineCustomAttribute(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Int32,System.ReadOnlySpan<System.Byte>,System.Int32) | [LibraryImportAttribute(...)] | EntryPoint | TypeBuilder_DefineCustomAttribute | -| System.Void System.Reflection.Emit.RuntimeTypeBuilder.DefineMethodImpl(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Int32,System.Int32) | [LibraryImportAttribute(...)] | EntryPoint | TypeBuilder_DefineMethodImpl | -| System.Void System.Reflection.Emit.RuntimeTypeBuilder.DefineMethodSemantics(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Reflection.MethodSemanticsAttributes,System.Int32) | [LibraryImportAttribute(...)] | EntryPoint | TypeBuilder_DefineMethodSemantics | -| System.Void System.Reflection.Emit.RuntimeTypeBuilder.SetClassLayout(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Reflection.Emit.PackingSize,System.Int32) | [LibraryImportAttribute(...)] | EntryPoint | TypeBuilder_SetClassLayout | -| System.Void System.Reflection.Emit.RuntimeTypeBuilder.SetConstantValue(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Int32,System.Void*) | [LibraryImportAttribute(...)] | EntryPoint | TypeBuilder_SetConstantValue | -| System.Void System.Reflection.Emit.RuntimeTypeBuilder.SetFieldLayoutOffset(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Int32) | [LibraryImportAttribute(...)] | EntryPoint | TypeBuilder_SetFieldLayoutOffset | -| System.Void System.Reflection.Emit.RuntimeTypeBuilder.SetMethodIL(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Boolean,System.Byte[],System.Int32,System.Byte[],System.Int32,System.Int32,System.Reflection.Emit.ExceptionHandler[],System.Int32,System.Int32[],System.Int32) | [LibraryImportAttribute(...)] | EntryPoint | TypeBuilder_SetMethodIL | -| System.Void System.Reflection.Emit.RuntimeTypeBuilder.SetMethodImpl(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Reflection.MethodImplAttributes) | [LibraryImportAttribute(...)] | EntryPoint | TypeBuilder_SetMethodImpl | -| System.Void System.Reflection.Emit.RuntimeTypeBuilder.SetParentType(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Int32) | [LibraryImportAttribute(...)] | EntryPoint | TypeBuilder_SetParentType | -| System.Void System.Reflection.Emit.RuntimeTypeBuilder.TermCreateClass(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | EntryPoint | TypeBuilder_TermCreateClass | -| System.Void System.Reflection.InvalidFilterCriteriaException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Reflection.InvalidFilterCriteriaException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Reflection.Metadata.MetadataUpdater.ApplyUpdate(System.Runtime.CompilerServices.QCallAssembly,System.Byte*,System.Int32,System.Byte*,System.Int32,System.Byte*,System.Int32) | [LibraryImportAttribute(...)] | EntryPoint | AssemblyNative_ApplyUpdate | -| System.Void System.Reflection.Metadata.RuntimeTypeMetadataUpdateHandler.ClearCache(System.Type[]) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Clearing the caches on a Type isn't affected if a Type is trimmed, or has any of its members trimmed. | -| System.Void System.Reflection.Module.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Reflection.Module.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Reflection.ReflectionTypeLoadException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Reflection.ReflectionTypeLoadException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Reflection.ReflectionTypeLoadException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Reflection.ReflectionTypeLoadException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Reflection.RuntimeAssembly.GetEntryPoint(System.Runtime.CompilerServices.QCallAssembly,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | EntryPoint | AssemblyNative_GetEntryPoint | -| System.Void System.Reflection.RuntimeAssembly.GetExportedTypes(System.Runtime.CompilerServices.QCallAssembly,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | EntryPoint | AssemblyNative_GetExportedTypes | -| System.Void System.Reflection.RuntimeAssembly.GetForwardedType(System.Runtime.CompilerServices.QCallAssembly,System.Reflection.MetadataToken,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | EntryPoint | AssemblyNative_GetForwardedType | -| System.Void System.Reflection.RuntimeAssembly.GetFullName(System.Runtime.CompilerServices.QCallAssembly,System.Runtime.CompilerServices.StringHandleOnStack) | [LibraryImportAttribute(...)] | EntryPoint | AssemblyNative_GetFullName | -| System.Void System.Reflection.RuntimeAssembly.GetImageRuntimeVersion(System.Runtime.CompilerServices.QCallAssembly,System.Runtime.CompilerServices.StringHandleOnStack) | [LibraryImportAttribute(...)] | EntryPoint | AssemblyNative_GetImageRuntimeVersion | -| System.Void System.Reflection.RuntimeAssembly.GetLocale(System.Runtime.CompilerServices.QCallAssembly,System.Runtime.CompilerServices.StringHandleOnStack) | [LibraryImportAttribute(...)] | EntryPoint | AssemblyNative_GetLocale | -| System.Void System.Reflection.RuntimeAssembly.GetLocation(System.Runtime.CompilerServices.QCallAssembly,System.Runtime.CompilerServices.StringHandleOnStack) | [LibraryImportAttribute(...)] | EntryPoint | AssemblyNative_GetLocation | -| System.Void System.Reflection.RuntimeAssembly.GetModules(System.Runtime.CompilerServices.QCallAssembly,System.Boolean,System.Boolean,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | EntryPoint | AssemblyNative_GetModules | -| System.Void System.Reflection.RuntimeAssembly.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Reflection.RuntimeAssembly.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Reflection.RuntimeAssembly.GetPublicKey(System.Runtime.CompilerServices.QCallAssembly,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | EntryPoint | AssemblyNative_GetPublicKey | -| System.Void System.Reflection.RuntimeAssembly.GetSimpleName(System.Runtime.CompilerServices.QCallAssembly,System.Runtime.CompilerServices.StringHandleOnStack) | [LibraryImportAttribute(...)] | EntryPoint | AssemblyNative_GetSimpleName | -| System.Void System.Reflection.RuntimeAssembly.GetVersion(System.Runtime.CompilerServices.QCallAssembly,System.Int32,System.Int32,System.Int32,System.Int32) | [LibraryImportAttribute(...)] | EntryPoint | AssemblyNative_GetVersion | -| System.Void System.Reflection.RuntimeAssembly.InternalLoad(System.Reflection.NativeAssemblyNameParts*,System.Runtime.CompilerServices.ObjectHandleOnStack,System.Runtime.CompilerServices.StackCrawlMarkHandle,System.Boolean,System.Runtime.CompilerServices.ObjectHandleOnStack,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | EntryPoint | AssemblyNative_InternalLoad | -| System.Void System.Reflection.RuntimeConstructorInfo.InvokeClassConstructor() | [UnconditionalSuppressMessageAttribute(...)] | Justification | This ConstructorInfo instance represents the static constructor itself, so if this object was created, the static constructor exists. | -| System.Void System.Reflection.RuntimeCustomAttributeData..ctor(System.Reflection.RuntimeModule,System.Reflection.MetadataToken,System.Reflection.ConstArray) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Property setters and fields which are accessed by any attribute instantiation which is present in the code linker has analyzed.As such enumerating all fields and properties may return different results after trimmingbut all those which are needed to actually have data will be there. | -| System.Void System.Reflection.RuntimeCustomAttributeData..ctor(System.Reflection.RuntimeModule,System.Reflection.MetadataToken,System.Reflection.ConstArray) | [UnconditionalSuppressMessageAttribute(...)] | Justification | We're getting a MethodBase of a constructor that we found in the metadata. The attribute constructor won't be trimmed. | -| System.Void System.Reflection.RuntimeCustomAttributeData.Init(System.Object) | [UnconditionalSuppressMessageAttribute(...)] | Justification | The pca object had to be created by the single ctor on the Type. So the ctor couldn't have been trimmed. | -| System.Void System.Reflection.RuntimeModule.GetFullyQualifiedName(System.Runtime.CompilerServices.QCallModule,System.Runtime.CompilerServices.StringHandleOnStack) | [LibraryImportAttribute(...)] | EntryPoint | RuntimeModule_GetFullyQualifiedName | -| System.Void System.Reflection.RuntimeModule.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Reflection.RuntimeModule.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Reflection.RuntimeModule.GetScopeName(System.Runtime.CompilerServices.QCallModule,System.Runtime.CompilerServices.StringHandleOnStack) | [LibraryImportAttribute(...)] | EntryPoint | RuntimeModule_GetScopeName | -| System.Void System.Reflection.StrongNameKeyPair..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Reflection.StrongNameKeyPair..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Reflection.TargetException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Reflection.TargetException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Reflection.TargetInvocationException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Reflection.TargetInvocationException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Reflection.TargetParameterCountException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Reflection.TargetParameterCountException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Resources.MissingManifestResourceException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Resources.MissingManifestResourceException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Resources.MissingSatelliteAssemblyException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Resources.MissingSatelliteAssemblyException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Runtime.AmbiguousImplementationException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Runtime.AmbiguousImplementationException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Runtime.CompilerServices.RuntimeHelpers.CompileMethod(System.RuntimeMethodHandleInternal) | [LibraryImportAttribute(...)] | EntryPoint | ReflectionInvocation_CompileMethod | -| System.Void System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(System.Runtime.CompilerServices.RuntimeHelpers.TryCode,System.Runtime.CompilerServices.RuntimeHelpers.CleanupCode,System.Object) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0004 | -| System.Void System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(System.Runtime.CompilerServices.RuntimeHelpers.TryCode,System.Runtime.CompilerServices.RuntimeHelpers.CleanupCode,System.Object) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Runtime.CompilerServices.RuntimeHelpers.GetUninitializedObject(System.Runtime.CompilerServices.QCallTypeHandle,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | EntryPoint | ReflectionSerialization_GetUninitializedObject | -| System.Void System.Runtime.CompilerServices.RuntimeHelpers.PrepareConstrainedRegions() | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0004 | -| System.Void System.Runtime.CompilerServices.RuntimeHelpers.PrepareConstrainedRegions() | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Runtime.CompilerServices.RuntimeHelpers.PrepareConstrainedRegionsNoOP() | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0004 | -| System.Void System.Runtime.CompilerServices.RuntimeHelpers.PrepareConstrainedRegionsNoOP() | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Runtime.CompilerServices.RuntimeHelpers.PrepareContractedDelegate(System.Delegate) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0004 | -| System.Void System.Runtime.CompilerServices.RuntimeHelpers.PrepareContractedDelegate(System.Delegate) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Runtime.CompilerServices.RuntimeHelpers.PrepareMethod(System.RuntimeMethodHandleInternal,System.IntPtr*,System.Int32) | [LibraryImportAttribute(...)] | EntryPoint | ReflectionInvocation_PrepareMethod | -| System.Void System.Runtime.CompilerServices.RuntimeHelpers.ProbeForSufficientStack() | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0004 | -| System.Void System.Runtime.CompilerServices.RuntimeHelpers.ProbeForSufficientStack() | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Runtime.CompilerServices.RuntimeHelpers.RunClassConstructor(System.Runtime.CompilerServices.QCallTypeHandle) | [LibraryImportAttribute(...)] | EntryPoint | ReflectionInvocation_RunClassConstructor | -| System.Void System.Runtime.CompilerServices.RuntimeHelpers.RunModuleConstructor(System.Runtime.CompilerServices.QCallModule) | [LibraryImportAttribute(...)] | EntryPoint | ReflectionInvocation_RunModuleConstructor | -| System.Void System.Runtime.CompilerServices.RuntimeWrappedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Runtime.CompilerServices.RuntimeWrappedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Runtime.CompilerServices.RuntimeWrappedException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Runtime.CompilerServices.RuntimeWrappedException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Runtime.CompilerServices.SwitchExpressionException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Runtime.CompilerServices.SwitchExpressionException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Runtime.CompilerServices.SwitchExpressionException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Runtime.CompilerServices.SwitchExpressionException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Runtime.ControlledExecution.AbortThread(System.Threading.ThreadHandle) | [LibraryImportAttribute(...)] | EntryPoint | ThreadNative_Abort | -| System.Void System.Runtime.ControlledExecution.ResetAbortThread() | [LibraryImportAttribute(...)] | EntryPoint | ThreadNative_ResetAbort | -| System.Void System.Runtime.ControlledExecution.Run(System.Action,System.Threading.CancellationToken) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0046 | -| System.Void System.Runtime.ControlledExecution.Run(System.Action,System.Threading.CancellationToken) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Runtime.InteropServices.COMException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Runtime.InteropServices.COMException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Runtime.InteropServices.ComWrappers.GetIUnknownImplInternal(System.IntPtr,System.IntPtr,System.IntPtr) | [LibraryImportAttribute(...)] | EntryPoint | ComWrappers_GetIUnknownImpl | -| System.Void System.Runtime.InteropServices.ComWrappers.SetGlobalInstanceRegisteredForMarshalling(System.Int64) | [LibraryImportAttribute(...)] | EntryPoint | ComWrappers_SetGlobalInstanceRegisteredForMarshalling | -| System.Void System.Runtime.InteropServices.ComWrappers.SetGlobalInstanceRegisteredForTrackerSupport(System.Int64) | [LibraryImportAttribute(...)] | EntryPoint | ComWrappers_SetGlobalInstanceRegisteredForTrackerSupport | -| System.Void System.Runtime.InteropServices.ExternalException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Runtime.InteropServices.ExternalException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Runtime.InteropServices.InvalidComObjectException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Runtime.InteropServices.InvalidComObjectException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Runtime.InteropServices.InvalidOleVariantTypeException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Runtime.InteropServices.InvalidOleVariantTypeException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Runtime.InteropServices.Marshal.DestroyStructure`1(System.IntPtr) | [UnconditionalSuppressMessageAttribute(...)] | Justification | AOT compilers can see the T. | -| System.Void System.Runtime.InteropServices.Marshal.InternalPrelink(System.RuntimeMethodHandleInternal) | [LibraryImportAttribute(...)] | EntryPoint | MarshalNative_Prelink | -| System.Void System.Runtime.InteropServices.Marshal.PrelinkAll(System.Type) | [UnconditionalSuppressMessageAttribute(...)] | Justification | This only needs to prelink methods that are actually used | -| System.Void System.Runtime.InteropServices.Marshal.StructureToPtr`1(!0,System.IntPtr,System.Boolean) | [UnconditionalSuppressMessageAttribute(...)] | Justification | AOT compilers can see the T. | -| System.Void System.Runtime.InteropServices.MarshalDirectiveException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Runtime.InteropServices.MarshalDirectiveException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Runtime.InteropServices.NativeLibrary.FreeLib(System.IntPtr) | [LibraryImportAttribute(...)] | EntryPoint | NativeLibrary_FreeLib | -| System.Void System.Runtime.InteropServices.SEHException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Runtime.InteropServices.SEHException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Runtime.InteropServices.SafeArrayRankMismatchException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Runtime.InteropServices.SafeArrayRankMismatchException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Runtime.InteropServices.SafeArrayTypeMismatchException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Runtime.InteropServices.SafeArrayTypeMismatchException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Runtime.Intrinsics.X86.X86Base.__cpuidex(System.Int32*,System.Int32,System.Int32) | [LibraryImportAttribute(...)] | EntryPoint | X86BaseCpuId | -| System.Void System.Runtime.Loader.AssemblyLoadContext.LoadFromStream(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | EntryPoint | AssemblyNative_LoadFromStream | -| System.Void System.Runtime.Loader.AssemblyLoadContext.PrepareForAssemblyLoadContextRelease(System.IntPtr,System.IntPtr) | [LibraryImportAttribute(...)] | EntryPoint | AssemblyNative_PrepareForAssemblyLoadContextRelease | -| System.Void System.Runtime.Serialization.ISerializable.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0050 | -| System.Void System.Runtime.Serialization.ISerializable.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Runtime.Serialization.SerializationException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Runtime.Serialization.SerializationException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Runtime.Serialization.SerializationInfo..ctor(System.Type,System.Runtime.Serialization.IFormatterConverter) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0050 | -| System.Void System.Runtime.Serialization.SerializationInfo..ctor(System.Type,System.Runtime.Serialization.IFormatterConverter) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Runtime.Serialization.SerializationInfo..ctor(System.Type,System.Runtime.Serialization.IFormatterConverter,System.Boolean) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0050 | -| System.Void System.Runtime.Serialization.SerializationInfo..ctor(System.Type,System.Runtime.Serialization.IFormatterConverter,System.Boolean) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Runtime.Serialization.StreamingContext..ctor(System.Runtime.Serialization.StreamingContextStates) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0050 | -| System.Void System.Runtime.Serialization.StreamingContext..ctor(System.Runtime.Serialization.StreamingContextStates) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Runtime.Serialization.StreamingContext..ctor(System.Runtime.Serialization.StreamingContextStates,System.Object) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0050 | -| System.Void System.Runtime.Serialization.StreamingContext..ctor(System.Runtime.Serialization.StreamingContextStates,System.Object) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.RuntimeFieldHandle.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.RuntimeFieldHandle.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.RuntimeMethodHandle.ConstructInstantiation(System.RuntimeMethodHandleInternal,System.TypeNameFormatFlags,System.Runtime.CompilerServices.StringHandleOnStack) | [LibraryImportAttribute(...)] | EntryPoint | RuntimeMethodHandle_ConstructInstantiation | -| System.Void System.RuntimeMethodHandle.Destroy(System.RuntimeMethodHandleInternal) | [LibraryImportAttribute(...)] | EntryPoint | RuntimeMethodHandle_Destroy | -| System.Void System.RuntimeMethodHandle.GetMethodInstantiation(System.RuntimeMethodHandleInternal,System.Runtime.CompilerServices.ObjectHandleOnStack,Interop.BOOL) | [LibraryImportAttribute(...)] | EntryPoint | RuntimeMethodHandle_GetMethodInstantiation | -| System.Void System.RuntimeMethodHandle.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.RuntimeMethodHandle.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.RuntimeMethodHandle.GetTypicalMethodDefinition(System.RuntimeMethodHandleInternal,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | EntryPoint | RuntimeMethodHandle_GetTypicalMethodDefinition | -| System.Void System.RuntimeMethodHandle.StripMethodInstantiation(System.RuntimeMethodHandleInternal,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | EntryPoint | RuntimeMethodHandle_StripMethodInstantiation | -| System.Void System.RuntimeTypeHandle.ConstructName(System.Runtime.CompilerServices.QCallTypeHandle,System.TypeNameFormatFlags,System.Runtime.CompilerServices.StringHandleOnStack) | [LibraryImportAttribute(...)] | EntryPoint | RuntimeTypeHandle_ConstructName | -| System.Void System.RuntimeTypeHandle.CreateInstanceForAnotherGenericParameter(System.Runtime.CompilerServices.QCallTypeHandle,System.IntPtr*,System.Int32,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | EntryPoint | RuntimeTypeHandle_CreateInstanceForAnotherGenericParameter | -| System.Void System.RuntimeTypeHandle.GetActivationInfo(System.Runtime.CompilerServices.ObjectHandleOnStack,delegate* managed<Void*,Object>*,System.Void**,delegate* managed<Object,Void>*,Interop.BOOL*) | [LibraryImportAttribute(...)] | EntryPoint | RuntimeTypeHandle_GetActivationInfo | -| System.Void System.RuntimeTypeHandle.GetConstraints(System.Runtime.CompilerServices.QCallTypeHandle,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | EntryPoint | RuntimeTypeHandle_GetConstraints | -| System.Void System.RuntimeTypeHandle.GetGenericTypeDefinition(System.Runtime.CompilerServices.QCallTypeHandle,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | EntryPoint | RuntimeTypeHandle_GetGenericTypeDefinition | -| System.Void System.RuntimeTypeHandle.GetInstantiation(System.Runtime.CompilerServices.QCallTypeHandle,System.Runtime.CompilerServices.ObjectHandleOnStack,Interop.BOOL) | [LibraryImportAttribute(...)] | EntryPoint | RuntimeTypeHandle_GetInstantiation | -| System.Void System.RuntimeTypeHandle.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.RuntimeTypeHandle.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.RuntimeTypeHandle.Instantiate(System.Runtime.CompilerServices.QCallTypeHandle,System.IntPtr*,System.Int32,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | EntryPoint | RuntimeTypeHandle_Instantiate | -| System.Void System.RuntimeTypeHandle.MakeArray(System.Runtime.CompilerServices.QCallTypeHandle,System.Int32,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | EntryPoint | RuntimeTypeHandle_MakeArray | -| System.Void System.RuntimeTypeHandle.MakeByRef(System.Runtime.CompilerServices.QCallTypeHandle,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | EntryPoint | RuntimeTypeHandle_MakeByRef | -| System.Void System.RuntimeTypeHandle.MakePointer(System.Runtime.CompilerServices.QCallTypeHandle,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | EntryPoint | RuntimeTypeHandle_MakePointer | -| System.Void System.RuntimeTypeHandle.MakeSZArray(System.Runtime.CompilerServices.QCallTypeHandle,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | EntryPoint | RuntimeTypeHandle_MakeSZArray | -| System.Void System.RuntimeTypeHandle.RegisterCollectibleTypeDependency(System.Runtime.CompilerServices.QCallTypeHandle,System.Runtime.CompilerServices.QCallAssembly) | [LibraryImportAttribute(...)] | EntryPoint | RuntimeTypeHandle_RegisterCollectibleTypeDependency | -| System.Void System.RuntimeTypeHandle.VerifyInterfaceIsImplemented(System.Runtime.CompilerServices.QCallTypeHandle,System.Runtime.CompilerServices.QCallTypeHandle) | [LibraryImportAttribute(...)] | EntryPoint | RuntimeTypeHandle_VerifyInterfaceIsImplemented | -| System.Void System.Security.Cryptography.CryptographicException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Security.Cryptography.CryptographicException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Security.SecurityException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Security.SecurityException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Security.SecurityException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Security.SecurityException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Security.VerificationException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Security.VerificationException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.StackOverflowException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.StackOverflowException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.StartupHookProvider.CallStartupHook(System.Char*) | [UnconditionalSuppressMessageAttribute(...)] | Justification | An ILLink warning when trimming an app with System.StartupHookProvider.IsSupported=true already exists for ProcessStartupHooks. | -| System.Void System.SystemException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.SystemException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Text.DecoderFallbackException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Text.DecoderFallbackException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Text.EncoderFallbackException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Text.EncoderFallbackException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Text.UTF7Encoding..ctor() | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0001 | -| System.Void System.Text.UTF7Encoding..ctor() | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Text.UTF7Encoding..ctor(System.Boolean) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0001 | -| System.Void System.Text.UTF7Encoding..ctor(System.Boolean) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Threading.AbandonedMutexException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Threading.AbandonedMutexException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Threading.CompressedStack.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Threading.CompressedStack.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Threading.ExecutionContext.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Threading.ExecutionContext.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Threading.Interlocked._MemoryBarrierProcessWide() | [LibraryImportAttribute(...)] | EntryPoint | Interlocked_MemoryBarrierProcessWide | -| System.Void System.Threading.LockRecursionException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Threading.LockRecursionException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Threading.SemaphoreFullException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Threading.SemaphoreFullException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Threading.SynchronizationLockException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Threading.SynchronizationLockException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Threading.Tasks.TaskCanceledException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Threading.Tasks.TaskCanceledException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Threading.Tasks.TaskSchedulerException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Threading.Tasks.TaskSchedulerException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Threading.Tasks.TplEventSource.AwaitTaskContinuationScheduled(System.Int32,System.Int32,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Parameters to this method are primitive and are trimmer safe | -| System.Void System.Threading.Tasks.TplEventSource.TaskCompleted(System.Int32,System.Int32,System.Int32,System.Boolean) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Parameters to this method are primitive and are trimmer safe | -| System.Void System.Threading.Tasks.TplEventSource.TaskScheduled(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Parameters to this method are primitive and are trimmer safe | -| System.Void System.Threading.Tasks.TplEventSource.TaskWaitBegin(System.Int32,System.Int32,System.Int32,System.Threading.Tasks.TplEventSource.TaskWaitBehavior,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Parameters to this method are primitive and are trimmer safe | -| System.Void System.Threading.Tasks.TplEventSource.TraceOperationBegin(System.Int32,System.String,System.Int64) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Parameters to this method are primitive and are trimmer safe | -| System.Void System.Threading.Tasks.TplEventSource.TraceSynchronousWorkEnd(System.Threading.Tasks.CausalitySynchronousWork) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Parameters to this method are primitive and are trimmer safe | -| System.Void System.Threading.Thread.Abort() | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0006 | -| System.Void System.Threading.Thread.Abort() | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Threading.Thread.Abort(System.Object) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0006 | -| System.Void System.Threading.Thread.Abort(System.Object) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Threading.Thread.ResetAbort() | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0006 | -| System.Void System.Threading.Thread.ResetAbort() | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Threading.Thread.SetCompressedStack(System.Threading.CompressedStack) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0003 | -| System.Void System.Threading.Thread.SetCompressedStack(System.Threading.CompressedStack) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Threading.Thread.StartInternal(System.Threading.ThreadHandle,System.Int32,System.Int32,System.Char*) | [LibraryImportAttribute(...)] | EntryPoint | ThreadNative_Start | -| System.Void System.Threading.ThreadAbortException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Threading.ThreadAbortException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Threading.ThreadInterruptedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Threading.ThreadInterruptedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Threading.ThreadStartException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Threading.ThreadStartException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Threading.ThreadStateException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Threading.ThreadStateException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Threading.WaitHandleCannotBeOpenedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.Threading.WaitHandleCannotBeOpenedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.TimeZoneNotFoundException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.TimeZoneNotFoundException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.TimeoutException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.TimeoutException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.Type.GetEnumData(System.String[],System.Array) | [UnconditionalSuppressMessageAttribute(...)] | Justification | Literal fields on enums can never be trimmed | -| System.Void System.TypeAccessException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.TypeAccessException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.TypeInitializationException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.TypeInitializationException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.TypeInitializationException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.TypeInitializationException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.TypeLoadException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.TypeLoadException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.TypeLoadException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.TypeLoadException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.TypeUnloadedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.TypeUnloadedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.UnauthorizedAccessException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.UnauthorizedAccessException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.WeakReference..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.WeakReference..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.WeakReference.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.WeakReference.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| System.Void System.WeakReference`1.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0051 | -| System.Void System.WeakReference`1.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| bool System.Reflection.Assembly.GlobalAssemblyCache | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0005 | -| bool System.Reflection.Assembly.GlobalAssemblyCache | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| bool System.Reflection.FieldInfo.IsNotSerialized | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0050 | -| bool System.Reflection.FieldInfo.IsNotSerialized | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| bool System.Reflection.RuntimeAssembly.GlobalAssemblyCache | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0005 | -| bool System.Reflection.RuntimeAssembly.GlobalAssemblyCache | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| bool System.Reflection.SignatureType.IsSerializable | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0050 | -| bool System.Reflection.SignatureType.IsSerializable | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| bool System.Type.IsSerializable | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0050 | -| bool System.Type.IsSerializable | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| byte | [ConstantExpectedAttribute(...)] | Max | 1 | -| byte | [ConstantExpectedAttribute(...)] | Max | 3 | -| byte | [ConstantExpectedAttribute(...)] | Max | 7 | -| byte | [ConstantExpectedAttribute(...)] | Max | 8 | -| byte | [ConstantExpectedAttribute(...)] | Max | 15 | -| byte | [ConstantExpectedAttribute(...)] | Max | 16 | -| byte | [ConstantExpectedAttribute(...)] | Max | 31 | -| byte | [ConstantExpectedAttribute(...)] | Max | 32 | -| byte | [ConstantExpectedAttribute(...)] | Max | 63 | -| byte | [ConstantExpectedAttribute(...)] | Max | 64 | -| byte | [ConstantExpectedAttribute(...)] | Max | 127 | -| byte | [ConstantExpectedAttribute(...)] | Max | 128 | -| byte | [ConstantExpectedAttribute(...)] | Min | 1 | -| delegate* managed<Byte&,Void> System.Array.ArrayInitializeCache.GetElementConstructorEntrypoint(System.Runtime.CompilerServices.QCallTypeHandle) | [LibraryImportAttribute(...)] | EntryPoint | Array_GetElementConstructorEntrypoint | -| string System.Reflection.Assembly.CodeBase | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0012 | -| string System.Reflection.Assembly.CodeBase | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| string System.Reflection.Assembly.EscapedCodeBase | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0012 | -| string System.Reflection.Assembly.EscapedCodeBase | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| string System.Reflection.AssemblyName.CodeBase | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0044 | -| string System.Reflection.AssemblyName.CodeBase | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| string System.Reflection.AssemblyName.EscapedCodeBase | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0044 | -| string System.Reflection.AssemblyName.EscapedCodeBase | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| string System.Reflection.Emit.AssemblyBuilder.CodeBase | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0012 | -| string System.Reflection.Emit.AssemblyBuilder.CodeBase | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -| string System.Reflection.RuntimeAssembly.CodeBase | [ObsoleteAttribute(...)] | DiagnosticId | SYSLIB0012 | -| string System.Reflection.RuntimeAssembly.CodeBase | [ObsoleteAttribute(...)] | UrlFormat | https://aka.ms/dotnet-warnings/{0} | -attrArgPositional -| !0 | [NotNullIfNotNullAttribute(...)] | 0 | location | -| !0 | [NotNullIfNotNullAttribute(...)] | 0 | value | -| !0 | [NullableAttribute(...)] | 0 | 1 | -| !0 | [NullableAttribute(...)] | 0 | 2 | -| !0 System.ArraySegment`1.Enumerator.Current | [NullableAttribute(...)] | 0 | 1 | -| !0 System.ArraySegment`1.Enumerator.get_Current() | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Collections.Generic.Dictionary`2.KeyCollection.Enumerator.Current | [NullableAttribute(...)] | 0 | 1 | -| !0 System.Collections.Generic.Dictionary`2.KeyCollection.Enumerator.get_Current() | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Collections.Generic.HashSet`1.Enumerator.Current | [NullableAttribute(...)] | 0 | 1 | -| !0 System.Collections.Generic.HashSet`1.Enumerator.get_Current() | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Collections.Generic.IAsyncEnumerator`1.Current | [NullableAttribute(...)] | 0 | 1 | -| !0 System.Collections.Generic.IAsyncEnumerator`1.get_Current() | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Collections.Generic.IEnumerator`1.Current | [NullableAttribute(...)] | 0 | 1 | -| !0 System.Collections.Generic.IEnumerator`1.get_Current() | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Collections.Generic.List`1.Enumerator.Current | [NullableAttribute(...)] | 0 | 1 | -| !0 System.Collections.Generic.List`1.Enumerator.get_Current() | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Collections.Generic.Queue`1.Enumerator.Current | [NullableAttribute(...)] | 0 | 1 | -| !0 System.Collections.Generic.Queue`1.Enumerator.get_Current() | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Enum.Parse`1(System.ReadOnlySpan<System.Char>) | [NullableContextAttribute(...)] | 0 | 0 | -| !0 System.Enum.Parse`1(System.ReadOnlySpan<System.Char>,System.Boolean) | [NullableContextAttribute(...)] | 0 | 0 | -| !0 System.Enum.Parse`1(System.String) | [NullableContextAttribute(...)] | 0 | 0 | -| !0 System.Enum.Parse`1(System.String,System.Boolean) | [NullableContextAttribute(...)] | 0 | 0 | -| !0 System.Func`1.Invoke() | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.IO.Enumeration.FileSystemEnumerable`1.FindTransform.Invoke(System.IO.Enumeration.FileSystemEntry) | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.IO.Enumeration.FileSystemEnumerator`1.Current | [NullableAttribute(...)] | 0 | 1 | -| !0 System.IO.Enumeration.FileSystemEnumerator`1.TransformEntry(System.IO.Enumeration.FileSystemEntry) | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.IO.Enumeration.FileSystemEnumerator`1.get_Current() | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.IParsable`1.Parse(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Lazy`1.Value | [DebuggerBrowsableAttribute(...)] | 0 | 0 | -| !0 System.Lazy`1.ValueForDebugDisplay | [NullableAttribute(...)] | 0 | 2 | -| !0 System.Numerics.IBinaryInteger`1.ReadBigEndian(System.ReadOnlySpan<System.Byte>,System.Boolean) | [NullableContextAttribute(...)] | 0 | 0 | -| !0 System.Numerics.IBinaryInteger`1.ReadLittleEndian(System.ReadOnlySpan<System.Byte>,System.Boolean) | [NullableContextAttribute(...)] | 0 | 0 | -| !0 System.Numerics.IBinaryNumber`1.AllBitsSet | [NullableAttribute(...)] | 0 | 1 | -| !0 System.Numerics.IBinaryNumber`1.Log2(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Numerics.IBinaryNumber`1.get_AllBitsSet() | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Numerics.INumberBase`1.CreateChecked`1(!0) | [NullableContextAttribute(...)] | 0 | 0 | -| !0 System.Numerics.INumberBase`1.CreateSaturating`1(!0) | [NullableContextAttribute(...)] | 0 | 0 | -| !0 System.Numerics.INumberBase`1.CreateTruncating`1(!0) | [NullableContextAttribute(...)] | 0 | 0 | -| !0 System.Numerics.INumberBase`1.Parse(System.ReadOnlySpan<System.Byte>,System.Globalization.NumberStyles,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 0 | -| !0 System.Numerics.INumberBase`1.Parse(System.ReadOnlySpan<System.Char>,System.Globalization.NumberStyles,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 0 | -| !0 System.Numerics.IPowerFunctions`1.Pow(!0,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Numerics.IRootFunctions`1.Cbrt(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Numerics.IRootFunctions`1.Hypot(!0,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Numerics.IRootFunctions`1.RootN(!0,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Numerics.IRootFunctions`1.Sqrt(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Numerics.ISignedNumber`1.NegativeOne | [NullableAttribute(...)] | 0 | 1 | -| !0 System.Numerics.ISignedNumber`1.get_NegativeOne() | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Numerics.Vector.Dot`1(System.Numerics.Vector<!0>,System.Numerics.Vector<!0>) | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Numerics.Vector.GetElement`1(System.Numerics.Vector<!0>,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Numerics.Vector.Sum`1(System.Numerics.Vector<!0>) | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Numerics.Vector.ToScalar`1(System.Numerics.Vector<!0>) | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Numerics.Vector`1.Item | [NullableAttribute(...)] | 0 | 1 | -| !0 System.Numerics.Vector`1.get_Item(System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.ReadOnlySpan`1.GetPinnableReference() | [EditorBrowsableAttribute(...)] | 0 | 1 | -| !0 System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.Enumerator.Current | [NullableAttribute(...)] | 0 | 1 | -| !0 System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.Enumerator.get_Current() | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult() | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.GetResult() | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Runtime.CompilerServices.Unsafe.AddByteOffset`1(!0,System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| !0 System.Runtime.CompilerServices.Unsafe.Add`1(!0,System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| !0 System.Runtime.CompilerServices.Unsafe.AsRef`1(System.Void*) | [CLSCompliantAttribute(...)] | 0 | False | -| !0 System.Runtime.CompilerServices.Unsafe.AsRef`1(System.Void*) | [NullableContextAttribute(...)] | 0 | 0 | -| !0 System.Runtime.CompilerServices.Unsafe.As`1(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| !0 System.Runtime.CompilerServices.Unsafe.ReadUnaligned`1(System.Void*) | [CLSCompliantAttribute(...)] | 0 | False | -| !0 System.Runtime.CompilerServices.Unsafe.ReadUnaligned`1(System.Void*) | [NullableContextAttribute(...)] | 0 | 0 | -| !0 System.Runtime.CompilerServices.Unsafe.Read`1(System.Void*) | [CLSCompliantAttribute(...)] | 0 | False | -| !0 System.Runtime.CompilerServices.Unsafe.Read`1(System.Void*) | [NullableContextAttribute(...)] | 0 | 0 | -| !0 System.Runtime.CompilerServices.Unsafe.SubtractByteOffset`1(!0,System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| !0 System.Runtime.CompilerServices.Unsafe.Subtract`1(!0,System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| !0 System.Runtime.CompilerServices.Unsafe.Unbox`1(System.Object) | [NullableContextAttribute(...)] | 0 | 0 | -| !0 System.Runtime.CompilerServices.ValueTaskAwaiter`1.GetResult() | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance`1(System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*) | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Runtime.InteropServices.Marshal.GetObjectForNativeVariant`1(System.IntPtr) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| !0 System.Runtime.InteropServices.Marshal.GetObjectForNativeVariant`1(System.IntPtr) | [NullableContextAttribute(...)] | 0 | 2 | -| !0 System.Runtime.InteropServices.Marshal.GetObjectForNativeVariant`1(System.IntPtr) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| !0 System.Runtime.InteropServices.Marshal.PtrToStructure`1(System.IntPtr) | [NullableContextAttribute(...)] | 0 | 2 | -| !0 System.Runtime.InteropServices.Marshalling.ArrayMarshaller`2.ManagedToUnmanagedIn.GetPinnableReference(!0[]) | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2.ManagedToUnmanagedIn.GetPinnableReference(System.ReadOnlySpan<!0>) | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Runtime.InteropServices.Marshalling.SafeHandleMarshaller`1.ManagedToUnmanagedOut.ToManaged() | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Runtime.InteropServices.Marshalling.SpanMarshaller`2.ManagedToUnmanagedIn.GetPinnableReference(System.Span<!0>) | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Runtime.InteropServices.MemoryMarshal.GetArrayDataReference`1(!0[]) | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Runtime.InteropServices.MemoryMarshal.GetReference`1(System.ReadOnlySpan<!0>) | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Runtime.InteropServices.MemoryMarshal.GetReference`1(System.Span<!0>) | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Runtime.InteropServices.SafeBuffer.Read`1(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| !0 System.Runtime.Intrinsics.Vector64.Dot`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Runtime.Intrinsics.Vector64.GetElement`1(System.Runtime.Intrinsics.Vector64<!0>,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Runtime.Intrinsics.Vector64.Sum`1(System.Runtime.Intrinsics.Vector64<!0>) | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Runtime.Intrinsics.Vector64.ToScalar`1(System.Runtime.Intrinsics.Vector64<!0>) | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Runtime.Intrinsics.Vector128.Dot`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Runtime.Intrinsics.Vector128.GetElement`1(System.Runtime.Intrinsics.Vector128<!0>,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Runtime.Intrinsics.Vector128.Sum`1(System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Runtime.Intrinsics.Vector128.ToScalar`1(System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Runtime.Intrinsics.Vector256.Dot`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Runtime.Intrinsics.Vector256.GetElement`1(System.Runtime.Intrinsics.Vector256<!0>,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Runtime.Intrinsics.Vector256.Sum`1(System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Runtime.Intrinsics.Vector256.ToScalar`1(System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Runtime.Intrinsics.Vector512.Dot`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Runtime.Intrinsics.Vector512.GetElement`1(System.Runtime.Intrinsics.Vector512<!0>,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Runtime.Intrinsics.Vector512.Sum`1(System.Runtime.Intrinsics.Vector512<!0>) | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Runtime.Intrinsics.Vector512.ToScalar`1(System.Runtime.Intrinsics.Vector512<!0>) | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Span`1.GetPinnableReference() | [EditorBrowsableAttribute(...)] | 0 | 1 | -| !0 System.Threading.Tasks.Sources.IValueTaskSource`1.GetResult(System.Int16) | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Threading.Tasks.Task`1.Result | [DebuggerBrowsableAttribute(...)] | 0 | 0 | -| !0 System.Threading.Tasks.ValueTask`1.Result | [DebuggerBrowsableAttribute(...)] | 0 | 0 | -| !0 System.Threading.ThreadLocal`1.Value | [DebuggerBrowsableAttribute(...)] | 0 | 0 | -| !0 System.Threading.ThreadLocal`1.ValueForDebugDisplay | [NullableAttribute(...)] | 0 | 2 | -| !0 System.Tuple`1.Item1 | [NullableAttribute(...)] | 0 | 1 | -| !0 System.Tuple`1.get_Item1() | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.Tuple`2.Item1 | [NullableAttribute(...)] | 0 | 1 | -| !0 System.Tuple`2.get_Item1() | [NullableContextAttribute(...)] | 0 | 1 | -| !0 System.WeakReference`1.Target | [NullableAttribute(...)] | 0 | 2 | -| !0* | [NullableAttribute(...)] | 0 | [0,1] | -| !0*[] | [NullableAttribute(...)] | 0 | [2,0,0] | -| !0[] | [NullableAttribute(...)] | 0 | 1 | -| !0[] | [NullableAttribute(...)] | 0 | [1,0] | -| !0[] | [NullableAttribute(...)] | 0 | [2,1] | -| !0[] System.ArraySegment`1.Array | [NullableAttribute(...)] | 0 | [2,1] | -| !0[] System.Buffers.SearchValuesDebugView`1.Values | [DebuggerBrowsableAttribute(...)] | 0 | 3 | -| !0[] System.Collections.Concurrent.IProducerConsumerCollectionDebugView`1.Items | [DebuggerBrowsableAttribute(...)] | 0 | 3 | -| !0[] System.Collections.Concurrent.SingleProducerSingleConsumerQueue`1.SingleProducerSingleConsumerQueue_DebugView.Items | [DebuggerBrowsableAttribute(...)] | 0 | 3 | -| !0[] System.Collections.Generic.DictionaryKeyCollectionDebugView`2.Items | [DebuggerBrowsableAttribute(...)] | 0 | 3 | -| !0[] System.Collections.Generic.ICollectionDebugView`1.Items | [DebuggerBrowsableAttribute(...)] | 0 | 3 | -| !0[] System.Collections.Generic.QueueDebugView`1.Items | [DebuggerBrowsableAttribute(...)] | 0 | 3 | -| !0[] System.Enum.GetValues`1() | [NullableContextAttribute(...)] | 0 | 0 | -| !0[] System.MemoryDebugView`1.Items | [DebuggerBrowsableAttribute(...)] | 0 | 3 | -| !0[] System.Runtime.InteropServices.Marshal.GetObjectsForNativeVariants`1(System.IntPtr,System.Int32) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| !0[] System.Runtime.InteropServices.Marshal.GetObjectsForNativeVariants`1(System.IntPtr,System.Int32) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| !0[] System.SpanDebugView`1.Items | [DebuggerBrowsableAttribute(...)] | 0 | 3 | -| !1 | [NullableAttribute(...)] | 0 | 1 | -| !1 System.Collections.Generic.CollectionExtensions.GetValueOrDefault`2(System.Collections.Generic.IReadOnlyDictionary<!0,!1>,!0) | [NullableContextAttribute(...)] | 0 | 2 | -| !1 System.Collections.Generic.Dictionary`2.ValueCollection.Enumerator.Current | [NullableAttribute(...)] | 0 | 1 | -| !1 System.Collections.Generic.Dictionary`2.ValueCollection.Enumerator.get_Current() | [NullableContextAttribute(...)] | 0 | 1 | -| !1 System.Converter`2.Invoke(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| !1 System.Func`2.Invoke(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| !1 System.Numerics.IUnaryPlusOperators`2.op_UnaryPlus(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| !1 System.Runtime.CompilerServices.ConditionalWeakTable`2.CreateValueCallback.Invoke(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| !1 System.Runtime.CompilerServices.Unsafe.BitCast`2(!0) | [NullableContextAttribute(...)] | 0 | 0 | -| !1 System.Runtime.InteropServices.Marshal.CreateWrapperOfType`2(!0) | [NullableContextAttribute(...)] | 0 | 2 | -| !1 System.Runtime.InteropServices.Marshal.CreateWrapperOfType`2(!0) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| !1 System.Tuple`2.Item2 | [NullableAttribute(...)] | 0 | 1 | -| !1 System.Tuple`2.get_Item2() | [NullableContextAttribute(...)] | 0 | 1 | -| !1[] | [NullableAttribute(...)] | 0 | [2,1] | -| !1[] System.Collections.Generic.DictionaryValueCollectionDebugView`2.Items | [DebuggerBrowsableAttribute(...)] | 0 | 3 | -| !2 | [NullableAttribute(...)] | 0 | 1 | -| !2 System.Func`3.Invoke(!0,!1) | [NullableContextAttribute(...)] | 0 | 1 | -| !2 System.Numerics.IModulusOperators`3.op_Modulus(!0,!1) | [NullableContextAttribute(...)] | 0 | 1 | -| !3 System.Func`4.Invoke(!0,!1,!2) | [NullableContextAttribute(...)] | 0 | 1 | -| !4 System.Func`5.EndInvoke(System.IAsyncResult) | [NullableContextAttribute(...)] | 0 | 0 | -| !4 System.Func`5.Invoke(!0,!1,!2,!3) | [NullableContextAttribute(...)] | 0 | 1 | -| !5 System.Func`6.EndInvoke(System.IAsyncResult) | [NullableContextAttribute(...)] | 0 | 0 | -| !5 System.Func`6.Invoke(!0,!1,!2,!3,!4) | [NullableContextAttribute(...)] | 0 | 1 | -| !6 System.Func`7.EndInvoke(System.IAsyncResult) | [NullableContextAttribute(...)] | 0 | 0 | -| !6 System.Func`7.Invoke(!0,!1,!2,!3,!4,!5) | [NullableContextAttribute(...)] | 0 | 1 | -| !7 | [NullableAttribute(...)] | 0 | 0 | -| !7 System.Func`8.EndInvoke(System.IAsyncResult) | [NullableContextAttribute(...)] | 0 | 0 | -| !7 System.Func`8.Invoke(!0,!1,!2,!3,!4,!5,!6) | [NullableContextAttribute(...)] | 0 | 1 | -| !8 System.Func`9.EndInvoke(System.IAsyncResult) | [NullableContextAttribute(...)] | 0 | 0 | -| !8 System.Func`9.Invoke(!0,!1,!2,!3,!4,!5,!6,!7) | [NullableContextAttribute(...)] | 0 | 1 | -| !9 System.Func`10.EndInvoke(System.IAsyncResult) | [NullableContextAttribute(...)] | 0 | 0 | -| !9 System.Func`10.Invoke(!0,!1,!2,!3,!4,!5,!6,!7,!8) | [NullableContextAttribute(...)] | 0 | 1 | -| !10 System.Func`11.EndInvoke(System.IAsyncResult) | [NullableContextAttribute(...)] | 0 | 0 | -| !10 System.Func`11.Invoke(!0,!1,!2,!3,!4,!5,!6,!7,!8,!9) | [NullableContextAttribute(...)] | 0 | 1 | -| !11 System.Func`12.EndInvoke(System.IAsyncResult) | [NullableContextAttribute(...)] | 0 | 0 | -| !11 System.Func`12.Invoke(!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10) | [NullableContextAttribute(...)] | 0 | 1 | -| !12 System.Func`13.EndInvoke(System.IAsyncResult) | [NullableContextAttribute(...)] | 0 | 0 | -| !12 System.Func`13.Invoke(!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11) | [NullableContextAttribute(...)] | 0 | 1 | -| !13 System.Func`14.EndInvoke(System.IAsyncResult) | [NullableContextAttribute(...)] | 0 | 0 | -| !13 System.Func`14.Invoke(!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12) | [NullableContextAttribute(...)] | 0 | 1 | -| !14 System.Func`15.EndInvoke(System.IAsyncResult) | [NullableContextAttribute(...)] | 0 | 0 | -| !14 System.Func`15.Invoke(!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13) | [NullableContextAttribute(...)] | 0 | 1 | -| !15 System.Func`16.EndInvoke(System.IAsyncResult) | [NullableContextAttribute(...)] | 0 | 0 | -| !15 System.Func`16.Invoke(!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14) | [NullableContextAttribute(...)] | 0 | 1 | -| !16 System.Func`17.EndInvoke(System.IAsyncResult) | [NullableContextAttribute(...)] | 0 | 0 | -| !16 System.Func`17.Invoke(!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,!15) | [NullableContextAttribute(...)] | 0 | 1 | -| Internal.Runtime.InteropServices.ComponentActivator.s_assemblyLoadContexts | [UnsupportedOSPlatformAttribute(...)] | 0 | android | -| Internal.Runtime.InteropServices.ComponentActivator.s_assemblyLoadContexts | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| Internal.Runtime.InteropServices.ComponentActivator.s_assemblyLoadContexts | [UnsupportedOSPlatformAttribute(...)] | 0 | ios | -| Internal.Runtime.InteropServices.ComponentActivator.s_assemblyLoadContexts | [UnsupportedOSPlatformAttribute(...)] | 0 | maccatalyst | -| Internal.Runtime.InteropServices.ComponentActivator.s_assemblyLoadContexts | [UnsupportedOSPlatformAttribute(...)] | 0 | tvos | -| Internal.Runtime.InteropServices.IsolatedComponentLoadContext | [UnsupportedOSPlatformAttribute(...)] | 0 | android | -| Internal.Runtime.InteropServices.IsolatedComponentLoadContext | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| Internal.Runtime.InteropServices.IsolatedComponentLoadContext | [UnsupportedOSPlatformAttribute(...)] | 0 | ios | -| Internal.Runtime.InteropServices.IsolatedComponentLoadContext | [UnsupportedOSPlatformAttribute(...)] | 0 | maccatalyst | -| Internal.Runtime.InteropServices.IsolatedComponentLoadContext | [UnsupportedOSPlatformAttribute(...)] | 0 | tvos | -| Internal.Runtime.InteropServices.IsolatedComponentLoadContext Internal.Runtime.InteropServices.ComponentActivator.GetIsolatedComponentLoadContext(System.String) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Native hosting is not trim compatible and this warning will be seen if trimming is enabled. | -| Internal.Runtime.InteropServices.IsolatedComponentLoadContext Internal.Runtime.InteropServices.ComponentActivator.GetIsolatedComponentLoadContext(System.String) | [UnsupportedOSPlatformAttribute(...)] | 0 | android | -| Internal.Runtime.InteropServices.IsolatedComponentLoadContext Internal.Runtime.InteropServices.ComponentActivator.GetIsolatedComponentLoadContext(System.String) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| Internal.Runtime.InteropServices.IsolatedComponentLoadContext Internal.Runtime.InteropServices.ComponentActivator.GetIsolatedComponentLoadContext(System.String) | [UnsupportedOSPlatformAttribute(...)] | 0 | ios | -| Internal.Runtime.InteropServices.IsolatedComponentLoadContext Internal.Runtime.InteropServices.ComponentActivator.GetIsolatedComponentLoadContext(System.String) | [UnsupportedOSPlatformAttribute(...)] | 0 | tvos | -| Interop.BOOL Interop.Kernel32.FreeEnvironmentStringsW(System.Char*) | [LibraryImportAttribute(...)] | 0 | QCall | -| Interop.BOOL System.Reflection.RuntimeAssembly.GetIsCollectible(System.Runtime.CompilerServices.QCallAssembly) | [LibraryImportAttribute(...)] | 0 | QCall | -| Interop.BOOL System.RuntimeMethodHandle.GetIsCollectible(System.RuntimeMethodHandleInternal) | [LibraryImportAttribute(...)] | 0 | QCall | -| Interop.BOOL System.RuntimeMethodHandle.IsCAVisibleFromDecoratedType(System.Runtime.CompilerServices.QCallTypeHandle,System.RuntimeMethodHandleInternal,System.Runtime.CompilerServices.QCallTypeHandle,System.Runtime.CompilerServices.QCallModule) | [LibraryImportAttribute(...)] | 0 | QCall | -| Interop.BOOL System.RuntimeTypeHandle.IsCollectible(System.Runtime.CompilerServices.QCallTypeHandle) | [LibraryImportAttribute(...)] | 0 | QCall | -| Interop.BOOL System.Threading.Thread.YieldInternal() | [LibraryImportAttribute(...)] | 0 | QCall | -| Interop.Globalization.ResultCode Interop.Globalization.GetCalendarInfo(System.String,System.Globalization.CalendarId,System.Globalization.CalendarDataType,System.Char*,System.Int32) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| Interop.Globalization.ResultCode Interop.Globalization.GetCalendarInfo(System.String,System.Globalization.CalendarId,System.Globalization.CalendarDataType,System.Char*,System.Int32) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| Interop.Globalization.ResultCode Interop.Globalization.GetSortHandle(System.String,System.IntPtr) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| Interop.Globalization.ResultCode Interop.Globalization.GetSortHandle(System.String,System.IntPtr) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| Interop.Globalization.ResultCode Interop.Globalization.GetTimeZoneDisplayName(System.String,System.String,Interop.Globalization.TimeZoneDisplayNameType,System.Char*,System.Int32) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| Interop.Globalization.ResultCode Interop.Globalization.GetTimeZoneDisplayName(System.String,System.String,Interop.Globalization.TimeZoneDisplayNameType,System.Char*,System.Int32) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| Interop.HostPolicy.corehost_error_writer_fn | [UnmanagedFunctionPointerAttribute(...)] | 0 | 2 | -| Interop.HostPolicy.corehost_resolve_component_dependencies_result_fn | [UnmanagedFunctionPointerAttribute(...)] | 0 | 2 | -| Microsoft.Win32.SafeHandles.SafeFileHandle | [NullableAttribute(...)] | 0 | 0 | -| Microsoft.Win32.SafeHandles.SafeFileHandle | [NullableAttribute(...)] | 0 | 1 | -| Microsoft.Win32.SafeHandles.SafeFileHandle | [NullableContextAttribute(...)] | 0 | 2 | -| Microsoft.Win32.SafeHandles.SafeWaitHandle | [NullableAttribute(...)] | 0 | 2 | -| Microsoft.Win32.SafeHandles.SafeWaitHandle Interop.Kernel32.CreateEventEx(System.IntPtr,System.String,System.UInt32,System.UInt32) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| Microsoft.Win32.SafeHandles.SafeWaitHandle Interop.Kernel32.CreateEventEx(System.IntPtr,System.String,System.UInt32,System.UInt32) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| Microsoft.Win32.SafeHandles.SafeWaitHandle Interop.Kernel32.CreateMutexEx(System.IntPtr,System.String,System.UInt32,System.UInt32) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| Microsoft.Win32.SafeHandles.SafeWaitHandle Interop.Kernel32.CreateMutexEx(System.IntPtr,System.String,System.UInt32,System.UInt32) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| Microsoft.Win32.SafeHandles.SafeWaitHandle Interop.Kernel32.CreateSemaphoreEx(System.IntPtr,System.Int32,System.Int32,System.String,System.UInt32,System.UInt32) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| Microsoft.Win32.SafeHandles.SafeWaitHandle Interop.Kernel32.CreateSemaphoreEx(System.IntPtr,System.Int32,System.Int32,System.String,System.UInt32,System.UInt32) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| Microsoft.Win32.SafeHandles.SafeWaitHandle Interop.Kernel32.OpenMutex(System.UInt32,System.Boolean,System.String) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| Microsoft.Win32.SafeHandles.SafeWaitHandle Interop.Kernel32.OpenMutex(System.UInt32,System.Boolean,System.String) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| Microsoft.Win32.SafeHandles.SafeWaitHandle System.Threading.RegisteredWaitHandle.Handle | [NullableAttribute(...)] | 0 | 1 | -| System.AccessViolationException | [NullableAttribute(...)] | 0 | 0 | -| System.AccessViolationException | [NullableContextAttribute(...)] | 0 | 2 | -| System.AccessViolationException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Action<System.Object,System.Threading.CancellationToken> | [NullableAttribute(...)] | 0 | [1,2] | -| System.Action<System.Object,System.Threading.Tasks.Task<!0>> | [NullableAttribute(...)] | 0 | [1,1,1,2] | -| System.Action<System.Object,System.Threading.Tasks.Task> | [NullableAttribute(...)] | 0 | [1,1,2] | -| System.Action<System.Object> | [NullableAttribute(...)] | 0 | [1,2] | -| System.Action<System.Runtime.Loader.AssemblyLoadContext> | [NullableAttribute(...)] | 0 | [2,1] | -| System.Action<System.Threading.AsyncLocalValueChangedArgs<!0>> | [NullableAttribute(...)] | 0 | [2,0,1] | -| System.Action`4 | [NullableAttribute(...)] | 0 | 0 | -| System.Action`4 | [NullableContextAttribute(...)] | 0 | 2 | -| System.Action`5 | [NullableAttribute(...)] | 0 | 0 | -| System.Action`5 | [NullableContextAttribute(...)] | 0 | 2 | -| System.Action`6 | [NullableAttribute(...)] | 0 | 0 | -| System.Action`6 | [NullableContextAttribute(...)] | 0 | 2 | -| System.Action`7 | [NullableAttribute(...)] | 0 | 0 | -| System.Action`7 | [NullableContextAttribute(...)] | 0 | 2 | -| System.Action`8 | [NullableAttribute(...)] | 0 | 0 | -| System.Action`8 | [NullableContextAttribute(...)] | 0 | 2 | -| System.Action`9 | [NullableAttribute(...)] | 0 | 0 | -| System.Action`9 | [NullableContextAttribute(...)] | 0 | 2 | -| System.Action`10 | [NullableAttribute(...)] | 0 | 0 | -| System.Action`10 | [NullableContextAttribute(...)] | 0 | 2 | -| System.Action`11 | [NullableAttribute(...)] | 0 | 0 | -| System.Action`11 | [NullableContextAttribute(...)] | 0 | 2 | -| System.Action`12 | [NullableAttribute(...)] | 0 | 0 | -| System.Action`12 | [NullableContextAttribute(...)] | 0 | 2 | -| System.Action`13 | [NullableAttribute(...)] | 0 | 0 | -| System.Action`13 | [NullableContextAttribute(...)] | 0 | 2 | -| System.Action`14 | [NullableAttribute(...)] | 0 | 0 | -| System.Action`14 | [NullableContextAttribute(...)] | 0 | 2 | -| System.Action`15 | [NullableAttribute(...)] | 0 | 0 | -| System.Action`15 | [NullableContextAttribute(...)] | 0 | 2 | -| System.Action`16 | [NullableAttribute(...)] | 0 | 0 | -| System.Action`16 | [NullableContextAttribute(...)] | 0 | 2 | -| System.Activator | [NullableAttribute(...)] | 0 | 0 | -| System.Activator | [NullableContextAttribute(...)] | 0 | 1 | -| System.AggregateException | [DebuggerDisplayAttribute(...)] | 0 | Count = {InnerExceptionCount} | -| System.AggregateException | [NullableAttribute(...)] | 0 | 0 | -| System.AggregateException | [NullableContextAttribute(...)] | 0 | 1 | -| System.AggregateException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.AggregateException System.Threading.Tasks.Task.Exception | [NullableAttribute(...)] | 0 | 2 | -| System.AggregateException System.Threading.Tasks.Task.get_Exception() | [NullableContextAttribute(...)] | 0 | 2 | -| System.AppContext | [NullableAttribute(...)] | 0 | 0 | -| System.AppContext | [NullableContextAttribute(...)] | 0 | 1 | -| System.AppContext.FirstChanceException | [NullableAttribute(...)] | 0 | [2,1] | -| System.AppContext.ProcessExit | [NullableAttribute(...)] | 0 | 2 | -| System.AppContext.UnhandledException | [NullableAttribute(...)] | 0 | 2 | -| System.AppDomain | [NullableAttribute(...)] | 0 | 0 | -| System.AppDomain | [NullableContextAttribute(...)] | 0 | 1 | -| System.AppDomain System.AppDomain.CreateDomain(System.String) | [ObsoleteAttribute(...)] | 0 | Creating and unloading AppDomains is not supported and throws an exception. | -| System.AppDomain.AssemblyLoad | [NullableAttribute(...)] | 0 | 2 | -| System.AppDomain.AssemblyResolve | [NullableAttribute(...)] | 0 | 2 | -| System.AppDomain.DomainUnload | [NullableAttribute(...)] | 0 | 2 | -| System.AppDomain.FirstChanceException | [NullableAttribute(...)] | 0 | [2,1] | -| System.AppDomain.ProcessExit | [NullableAttribute(...)] | 0 | 2 | -| System.AppDomain.ReflectionOnlyAssemblyResolve | [NullableAttribute(...)] | 0 | 2 | -| System.AppDomain.ResourceResolve | [NullableAttribute(...)] | 0 | 2 | -| System.AppDomain.TypeResolve | [NullableAttribute(...)] | 0 | 2 | -| System.AppDomain.UnhandledException | [NullableAttribute(...)] | 0 | 2 | -| System.AppDomainSetup | [NullableAttribute(...)] | 0 | 0 | -| System.AppDomainSetup | [NullableContextAttribute(...)] | 0 | 2 | -| System.AppDomainUnloadedException | [NullableAttribute(...)] | 0 | 0 | -| System.AppDomainUnloadedException | [NullableContextAttribute(...)] | 0 | 2 | -| System.AppDomainUnloadedException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.ApplicationException | [NullableAttribute(...)] | 0 | 0 | -| System.ApplicationException | [NullableContextAttribute(...)] | 0 | 2 | -| System.ApplicationException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.ApplicationId | [NullableAttribute(...)] | 0 | 0 | -| System.ApplicationId | [NullableContextAttribute(...)] | 0 | 1 | -| System.ArgumentException | [NullableAttribute(...)] | 0 | 0 | -| System.ArgumentException | [NullableContextAttribute(...)] | 0 | 2 | -| System.ArgumentException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.ArgumentNullException | [NullableAttribute(...)] | 0 | 0 | -| System.ArgumentNullException | [NullableContextAttribute(...)] | 0 | 2 | -| System.ArgumentNullException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.ArgumentOutOfRangeException | [NullableAttribute(...)] | 0 | 0 | -| System.ArgumentOutOfRangeException | [NullableContextAttribute(...)] | 0 | 1 | -| System.ArgumentOutOfRangeException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.ArithmeticException | [NullableAttribute(...)] | 0 | 0 | -| System.ArithmeticException | [NullableContextAttribute(...)] | 0 | 2 | -| System.ArithmeticException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Array | [NullableAttribute(...)] | 0 | 0 | -| System.Array | [NullableAttribute(...)] | 0 | 1 | -| System.Array | [NullableAttribute(...)] | 0 | 2 | -| System.Array | [NullableContextAttribute(...)] | 0 | 1 | -| System.Array | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Array System.Array.CreateInstance(System.Type,System.Int32) | [RequiresDynamicCodeAttribute(...)] | 0 | The code for an array of the specified type might not be available. | -| System.Array System.Array.CreateInstance(System.Type,System.Int32,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | 0 | AotAnalysis | -| System.Array System.Array.CreateInstance(System.Type,System.Int32,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL3050:RequiresDynamicCode | -| System.Array System.Array.CreateInstance(System.Type,System.Int32,System.Int32,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | 0 | AotAnalysis | -| System.Array System.Array.CreateInstance(System.Type,System.Int32,System.Int32,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL3050:RequiresDynamicCode | -| System.Array System.Array.CreateInstance(System.Type,System.Int32[]) | [RequiresDynamicCodeAttribute(...)] | 0 | The code for an array of the specified type might not be available. | -| System.Array System.Array.CreateInstance(System.Type,System.Int32[],System.Int32[]) | [RequiresDynamicCodeAttribute(...)] | 0 | The code for an array of the specified type might not be available. | -| System.Array System.Array.CreateInstance(System.Type,System.Int64[]) | [RequiresDynamicCodeAttribute(...)] | 0 | The code for an array of the specified type might not be available. | -| System.Array System.Collections.ArrayList.FixedSizeArrayList.ToArray(System.Type) | [RequiresDynamicCodeAttribute(...)] | 0 | The code for an array of the specified type might not be available. | -| System.Array System.Collections.ArrayList.IListWrapper.ToArray(System.Type) | [RequiresDynamicCodeAttribute(...)] | 0 | The code for an array of the specified type might not be available. | -| System.Array System.Collections.ArrayList.Range.ToArray(System.Type) | [RequiresDynamicCodeAttribute(...)] | 0 | The code for an array of the specified type might not be available. | -| System.Array System.Collections.ArrayList.ReadOnlyArrayList.ToArray(System.Type) | [RequiresDynamicCodeAttribute(...)] | 0 | The code for an array of the specified type might not be available. | -| System.Array System.Collections.ArrayList.SyncArrayList.ToArray(System.Type) | [RequiresDynamicCodeAttribute(...)] | 0 | The code for an array of the specified type might not be available. | -| System.Array System.Collections.ArrayList.ToArray(System.Type) | [RequiresDynamicCodeAttribute(...)] | 0 | The code for an array of the specified type might not be available. | -| System.Array System.Enum.GetValues(System.Type) | [RequiresDynamicCodeAttribute(...)] | 0 | It might not be possible to create an array of the enum type at runtime. Use the GetValues<TEnum> overload or the GetValuesAsUnderlyingType method instead. | -| System.Array System.Reflection.SignatureType.GetEnumValues() | [RequiresDynamicCodeAttribute(...)] | 0 | It might not be possible to create an array of the enum type at runtime. Use Enum.GetValues<T> or the GetEnumValuesAsUnderlyingType method instead. | -| System.Array System.RuntimeType.GetEnumValues() | [RequiresDynamicCodeAttribute(...)] | 0 | It might not be possible to create an array of the enum type at runtime. Use Enum.GetValues<T> or the GetEnumValuesAsUnderlyingType method instead. | -| System.Array System.Type.GetEnumValues() | [RequiresDynamicCodeAttribute(...)] | 0 | It might not be possible to create an array of the enum type at runtime. Use Enum.GetValues<T> or the GetEnumValuesAsUnderlyingType method instead. | -| System.ArraySegment<!0> | [NullableAttribute(...)] | 0 | [0,1] | -| System.ArraySegment<!0> System.ArraySegment`1.Empty | [NullableAttribute(...)] | 0 | [0,1] | -| System.ArraySegment<!0>.Enumerator System.ArraySegment`1.GetEnumerator() | [NullableContextAttribute(...)] | 0 | 0 | -| System.ArraySegment`1 | [DefaultMemberAttribute(...)] | 0 | Item | -| System.ArraySegment`1 | [NullableAttribute(...)] | 0 | 0 | -| System.ArraySegment`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.ArraySegment`1 | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.ArraySegment`1.Enumerator | [NullableContextAttribute(...)] | 0 | 0 | -| System.ArrayTypeMismatchException | [NullableAttribute(...)] | 0 | 0 | -| System.ArrayTypeMismatchException | [NullableContextAttribute(...)] | 0 | 2 | -| System.ArrayTypeMismatchException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.AssemblyLoadEventArgs | [NullableAttribute(...)] | 0 | 0 | -| System.AssemblyLoadEventArgs | [NullableAttribute(...)] | 0 | 1 | -| System.AssemblyLoadEventArgs | [NullableContextAttribute(...)] | 0 | 1 | -| System.AsyncCallback | [NullableAttribute(...)] | 0 | 0 | -| System.AsyncCallback | [NullableAttribute(...)] | 0 | 2 | -| System.Attribute | [AttributeUsageAttribute(...)] | 0 | 32767 | -| System.Attribute | [NullableAttribute(...)] | 0 | 0 | -| System.Attribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Attribute | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Attribute System.Diagnostics.Tracing.EventSource.GetCustomAttributeHelper(System.Reflection.MemberInfo,System.Type,System.Diagnostics.Tracing.EventManifestOptions) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Attribute System.Diagnostics.Tracing.EventSource.GetCustomAttributeHelper(System.Reflection.MemberInfo,System.Type,System.Diagnostics.Tracing.EventManifestOptions) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2114:ReflectionToDynamicallyAccessedMembers | -| System.AttributeUsageAttribute | [AttributeUsageAttribute(...)] | 0 | 4 | -| System.AttributeUsageAttribute System.Reflection.CustomAttribute.GetAttributeUsage(System.RuntimeType) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.AttributeUsageAttribute System.Reflection.CustomAttribute.GetAttributeUsage(System.RuntimeType) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:RequiresUnreferencedCode | -| System.BadImageFormatException | [NullableAttribute(...)] | 0 | 0 | -| System.BadImageFormatException | [NullableContextAttribute(...)] | 0 | 2 | -| System.BadImageFormatException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.BitConverter | [NullableAttribute(...)] | 0 | 0 | -| System.BitConverter | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean Interop.Globalization.EndsWith(System.IntPtr,System.Char*,System.Int32,System.Char*,System.Int32,System.Globalization.CompareOptions,System.Int32*) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Boolean Interop.Globalization.EndsWith(System.IntPtr,System.Char*,System.Int32,System.Char*,System.Int32,System.Globalization.CompareOptions,System.Int32*) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Boolean Interop.Globalization.EnumCalendarInfo(System.IntPtr,System.String,System.Globalization.CalendarId,System.Globalization.CalendarDataType,System.IntPtr) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Boolean Interop.Globalization.EnumCalendarInfo(System.IntPtr,System.String,System.Globalization.CalendarId,System.Globalization.CalendarDataType,System.IntPtr) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Boolean Interop.Globalization.GetDefaultLocaleName(System.Char*,System.Int32) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Boolean Interop.Globalization.GetDefaultLocaleName(System.Char*,System.Int32) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Boolean Interop.Globalization.GetJapaneseEraStartDate(System.Int32,System.Int32,System.Int32,System.Int32) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Boolean Interop.Globalization.GetJapaneseEraStartDate(System.Int32,System.Int32,System.Int32,System.Int32) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Boolean Interop.Globalization.GetJapaneseEraStartDate(System.Int32,System.Int32,System.Int32,System.Int32) | [LibraryImportAttribute(...)] | 0 | libSystem.Globalization.Native | -| System.Boolean Interop.Globalization.GetLocaleInfoGroupingSizes(System.String,System.UInt32,System.Int32,System.Int32) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Boolean Interop.Globalization.GetLocaleInfoGroupingSizes(System.String,System.UInt32,System.Int32,System.Int32) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Boolean Interop.Globalization.GetLocaleInfoInt(System.String,System.UInt32,System.Int32) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Boolean Interop.Globalization.GetLocaleInfoInt(System.String,System.UInt32,System.Int32) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Boolean Interop.Globalization.GetLocaleInfoString(System.String,System.UInt32,System.Char*,System.Int32,System.String) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Boolean Interop.Globalization.GetLocaleInfoString(System.String,System.UInt32,System.Char*,System.Int32,System.String) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Boolean Interop.Globalization.GetLocaleName(System.String,System.Char*,System.Int32) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Boolean Interop.Globalization.GetLocaleName(System.String,System.Char*,System.Int32) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Boolean Interop.Globalization.GetLocaleTimeFormat(System.String,System.Boolean,System.Char*,System.Int32) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Boolean Interop.Globalization.GetLocaleTimeFormat(System.String,System.Boolean,System.Char*,System.Int32) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Boolean Interop.Globalization.IsPredefinedLocale(System.String) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Boolean Interop.Globalization.IsPredefinedLocale(System.String) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Boolean Interop.Globalization.StartsWith(System.IntPtr,System.Char*,System.Int32,System.Char*,System.Int32,System.Globalization.CompareOptions,System.Int32*) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Boolean Interop.Globalization.StartsWith(System.IntPtr,System.Char*,System.Int32,System.Char*,System.Int32,System.Globalization.CompareOptions,System.Int32*) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Boolean Interop.Kernel32.CloseHandle(System.IntPtr) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Boolean Interop.Kernel32.CloseHandle(System.IntPtr) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Boolean Interop.Kernel32.CloseHandle(System.IntPtr) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Boolean Interop.Kernel32.ReleaseMutex(Microsoft.Win32.SafeHandles.SafeWaitHandle) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Boolean Interop.Kernel32.ReleaseMutex(Microsoft.Win32.SafeHandles.SafeWaitHandle) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Boolean Interop.Kernel32.ReleaseMutex(Microsoft.Win32.SafeHandles.SafeWaitHandle) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Boolean Interop.Kernel32.ReleaseSemaphore(Microsoft.Win32.SafeHandles.SafeWaitHandle,System.Int32,System.Int32) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Boolean Interop.Kernel32.ReleaseSemaphore(Microsoft.Win32.SafeHandles.SafeWaitHandle,System.Int32,System.Int32) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Boolean Interop.Kernel32.ReleaseSemaphore(Microsoft.Win32.SafeHandles.SafeWaitHandle,System.Int32,System.Int32) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Boolean Interop.Kernel32.ResetEvent(Microsoft.Win32.SafeHandles.SafeWaitHandle) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Boolean Interop.Kernel32.ResetEvent(Microsoft.Win32.SafeHandles.SafeWaitHandle) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Boolean Interop.Kernel32.ResetEvent(Microsoft.Win32.SafeHandles.SafeWaitHandle) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Boolean Interop.Kernel32.SetEnvironmentVariable(System.String,System.String) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Boolean Interop.Kernel32.SetEnvironmentVariable(System.String,System.String) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Boolean Interop.Kernel32.SetEvent(Microsoft.Win32.SafeHandles.SafeWaitHandle) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Boolean Interop.Kernel32.SetEvent(Microsoft.Win32.SafeHandles.SafeWaitHandle) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Boolean Interop.Kernel32.SetEvent(Microsoft.Win32.SafeHandles.SafeWaitHandle) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Boolean System.ApplicationId.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.ArgIterator.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.ArraySegment`1.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Attribute.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Attribute.Equals(System.Object) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Boolean System.Attribute.Equals(System.Object) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2075:UnrecognizedReflectionPattern | -| System.Boolean System.Attribute.Match(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.BitConverter.ToBoolean(System.ReadOnlySpan<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.BitConverter.TryWriteBytes(System.Span<System.Byte>,System.Boolean) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.BitConverter.TryWriteBytes(System.Span<System.Byte>,System.Char) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.BitConverter.TryWriteBytes(System.Span<System.Byte>,System.Double) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.BitConverter.TryWriteBytes(System.Span<System.Byte>,System.Half) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.BitConverter.TryWriteBytes(System.Span<System.Byte>,System.Int16) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.BitConverter.TryWriteBytes(System.Span<System.Byte>,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.BitConverter.TryWriteBytes(System.Span<System.Byte>,System.Int64) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.BitConverter.TryWriteBytes(System.Span<System.Byte>,System.Single) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.BitConverter.TryWriteBytes(System.Span<System.Byte>,System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.BitConverter.TryWriteBytes(System.Span<System.Byte>,System.UInt16) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.BitConverter.TryWriteBytes(System.Span<System.Byte>,System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.BitConverter.TryWriteBytes(System.Span<System.Byte>,System.UInt32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.BitConverter.TryWriteBytes(System.Span<System.Byte>,System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.BitConverter.TryWriteBytes(System.Span<System.Byte>,System.UInt64) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.Boolean.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Boolean.Parse(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.Boolean.TryParse(System.String,System.Boolean) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Buffers.Binary.BinaryPrimitives.TryReadUInt16BigEndian(System.ReadOnlySpan<System.Byte>,System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.Buffers.Binary.BinaryPrimitives.TryReadUInt16LittleEndian(System.ReadOnlySpan<System.Byte>,System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.Buffers.Binary.BinaryPrimitives.TryReadUInt32BigEndian(System.ReadOnlySpan<System.Byte>,System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.Buffers.Binary.BinaryPrimitives.TryReadUInt32LittleEndian(System.ReadOnlySpan<System.Byte>,System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.Buffers.Binary.BinaryPrimitives.TryReadUInt64BigEndian(System.ReadOnlySpan<System.Byte>,System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.Buffers.Binary.BinaryPrimitives.TryReadUInt64LittleEndian(System.ReadOnlySpan<System.Byte>,System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.Buffers.Binary.BinaryPrimitives.TryReadUInt128BigEndian(System.ReadOnlySpan<System.Byte>,System.UInt128) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.Buffers.Binary.BinaryPrimitives.TryReadUInt128LittleEndian(System.ReadOnlySpan<System.Byte>,System.UInt128) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.Buffers.Binary.BinaryPrimitives.TryReadUIntPtrBigEndian(System.ReadOnlySpan<System.Byte>,System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.Buffers.Binary.BinaryPrimitives.TryReadUIntPtrLittleEndian(System.ReadOnlySpan<System.Byte>,System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.Buffers.Binary.BinaryPrimitives.TryWriteUInt16BigEndian(System.Span<System.Byte>,System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.Buffers.Binary.BinaryPrimitives.TryWriteUInt16LittleEndian(System.Span<System.Byte>,System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.Buffers.Binary.BinaryPrimitives.TryWriteUInt32BigEndian(System.Span<System.Byte>,System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.Buffers.Binary.BinaryPrimitives.TryWriteUInt32LittleEndian(System.Span<System.Byte>,System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.Buffers.Binary.BinaryPrimitives.TryWriteUInt64BigEndian(System.Span<System.Byte>,System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.Buffers.Binary.BinaryPrimitives.TryWriteUInt64LittleEndian(System.Span<System.Byte>,System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.Buffers.Binary.BinaryPrimitives.TryWriteUInt128BigEndian(System.Span<System.Byte>,System.UInt128) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.Buffers.Binary.BinaryPrimitives.TryWriteUInt128LittleEndian(System.Span<System.Byte>,System.UInt128) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.Buffers.Binary.BinaryPrimitives.TryWriteUIntPtrBigEndian(System.Span<System.Byte>,System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.Buffers.Binary.BinaryPrimitives.TryWriteUIntPtrLittleEndian(System.Span<System.Byte>,System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.Buffers.SearchValues`1.Contains(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.Buffers.StandardFormat.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Buffers.Text.Utf8Formatter.TryFormat(System.SByte,System.Span<System.Byte>,System.Int32,System.Buffers.StandardFormat) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.Buffers.Text.Utf8Formatter.TryFormat(System.UInt16,System.Span<System.Byte>,System.Int32,System.Buffers.StandardFormat) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.Buffers.Text.Utf8Formatter.TryFormat(System.UInt32,System.Span<System.Byte>,System.Int32,System.Buffers.StandardFormat) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.Buffers.Text.Utf8Formatter.TryFormat(System.UInt64,System.Span<System.Byte>,System.Int32,System.Buffers.StandardFormat) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.Buffers.Text.Utf8Parser.TryParse(System.ReadOnlySpan<System.Byte>,System.SByte,System.Int32,System.Char) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.Buffers.Text.Utf8Parser.TryParse(System.ReadOnlySpan<System.Byte>,System.UInt16,System.Int32,System.Char) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.Buffers.Text.Utf8Parser.TryParse(System.ReadOnlySpan<System.Byte>,System.UInt32,System.Int32,System.Char) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.Buffers.Text.Utf8Parser.TryParse(System.ReadOnlySpan<System.Byte>,System.UInt64,System.Int32,System.Char) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.Byte.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Byte.TryParse(System.String,System.Byte) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Byte.TryParse(System.String,System.Globalization.NumberStyles,System.IFormatProvider,System.Byte) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Byte.TryParse(System.String,System.IFormatProvider,System.Byte) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Char.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Char.IsControl(System.String,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.Char.IsDigit(System.String,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.Char.IsHighSurrogate(System.String,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.Char.IsLetter(System.String,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.Char.IsLetterOrDigit(System.String,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.Char.IsLowSurrogate(System.String,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.Char.IsLower(System.String,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.Char.IsNumber(System.String,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.Char.IsPunctuation(System.String,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.Char.IsSeparator(System.String,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.Char.IsSurrogate(System.String,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.Char.IsSurrogatePair(System.String,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.Char.IsSymbol(System.String,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.Char.IsUpper(System.String,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.Char.IsWhiteSpace(System.String,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.Char.TryParse(System.String,System.Char) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Collections.ArrayList.Contains(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Collections.Generic.ByteEqualityComparer.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Collections.Generic.Dictionary`2.KeyCollection.Contains(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.Collections.Generic.EnumEqualityComparer`1.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Collections.Generic.EqualityComparer`1.Equals(!0,!0) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Collections.Generic.NonRandomizedStringEqualityComparer.Equals(System.String,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Collections.Generic.NullableComparer`1.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Collections.Generic.NullableEqualityComparer`1.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Collections.Generic.ReferenceEqualityComparer.Equals(System.Object,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Collections.Hashtable.ContainsValue(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Collections.IEqualityComparer.Equals(System.Object,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.ComponentModel.DefaultValueAttribute.ctor>g__TryConvertFromInvariantString\|2_0(System.Type,System.String,System.Object) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Generic TypeConverters may require the generic types to be annotated. For example, NullableConverter requires the underlying type to be DynamicallyAccessedMembers All. | -| System.Boolean System.ComponentModel.EditorBrowsableAttribute.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Console.get_CursorVisible() | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Boolean System.ConsoleKeyInfo.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Convert.ToBoolean(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.Convert.ToBoolean(System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.Convert.ToBoolean(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.Convert.ToBoolean(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.Convert.TryFromBase64Chars(System.ReadOnlySpan<System.Char>,System.Span<System.Byte>,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.Convert.TryFromBase64String(System.String,System.Span<System.Byte>,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.Convert.TryToBase64Chars(System.ReadOnlySpan<System.Byte>,System.Span<System.Char>,System.Int32,System.Base64FormattingOptions) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.DateOnly.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.DateOnly.TryParse(System.String,System.DateOnly) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.DateOnly.TryParse(System.String,System.IFormatProvider,System.DateOnly) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.DateOnly.TryParse(System.String,System.IFormatProvider,System.Globalization.DateTimeStyles,System.DateOnly) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.DateOnly.TryParseExact(System.ReadOnlySpan<System.Char>,System.String[],System.IFormatProvider,System.Globalization.DateTimeStyles,System.DateOnly) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.DateOnly.TryParseExact(System.String,System.String,System.DateOnly) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.DateOnly.TryParseExact(System.String,System.String,System.IFormatProvider,System.Globalization.DateTimeStyles,System.DateOnly) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.DateOnly.TryParseExact(System.String,System.String[],System.DateOnly) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.DateOnly.TryParseExact(System.String,System.String[],System.IFormatProvider,System.Globalization.DateTimeStyles,System.DateOnly) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.DateTime.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.DateTime.TryParse(System.String,System.DateTime) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.DateTime.TryParse(System.String,System.IFormatProvider,System.DateTime) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.DateTime.TryParse(System.String,System.IFormatProvider,System.Globalization.DateTimeStyles,System.DateTime) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.DateTime.TryParseExact(System.ReadOnlySpan<System.Char>,System.String[],System.IFormatProvider,System.Globalization.DateTimeStyles,System.DateTime) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.DateTime.TryParseExact(System.String,System.String,System.IFormatProvider,System.Globalization.DateTimeStyles,System.DateTime) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.DateTime.TryParseExact(System.String,System.String[],System.IFormatProvider,System.Globalization.DateTimeStyles,System.DateTime) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.DateTimeOffset.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.DateTimeOffset.TryParse(System.String,System.DateTimeOffset) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.DateTimeOffset.TryParse(System.String,System.IFormatProvider,System.DateTimeOffset) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.DateTimeOffset.TryParse(System.String,System.IFormatProvider,System.Globalization.DateTimeStyles,System.DateTimeOffset) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.DateTimeOffset.TryParseExact(System.ReadOnlySpan<System.Char>,System.String[],System.IFormatProvider,System.Globalization.DateTimeStyles,System.DateTimeOffset) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.DateTimeOffset.TryParseExact(System.String,System.String,System.IFormatProvider,System.Globalization.DateTimeStyles,System.DateTimeOffset) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.DateTimeOffset.TryParseExact(System.String,System.String[],System.IFormatProvider,System.Globalization.DateTimeStyles,System.DateTimeOffset) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Decimal.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Decimal.TryParse(System.String,System.Decimal) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Decimal.TryParse(System.String,System.Globalization.NumberStyles,System.IFormatProvider,System.Decimal) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Decimal.TryParse(System.String,System.IFormatProvider,System.Decimal) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Delegate.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Delegate.op_Equality(System.Delegate,System.Delegate) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Delegate.op_Inequality(System.Delegate,System.Delegate) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Diagnostics.Debugger.LaunchInternal() | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Boolean System.Diagnostics.Debugger.LaunchInternal() | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Boolean System.Diagnostics.Debugger.LaunchInternal() | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Boolean System.Diagnostics.StackFrameExtensions.HasMethod(System.Diagnostics.StackFrame) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Boolean System.Diagnostics.StackFrameExtensions.HasMethod(System.Diagnostics.StackFrame) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:RequiresUnreferencedCode | -| System.Boolean System.Diagnostics.Tracing.EventPipeInternal.GetNextEvent(System.UInt64,System.Diagnostics.Tracing.EventPipeEventInstanceData*) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Boolean System.Diagnostics.Tracing.EventPipeInternal.GetNextEvent(System.UInt64,System.Diagnostics.Tracing.EventPipeEventInstanceData*) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Boolean System.Diagnostics.Tracing.EventPipeInternal.GetNextEvent(System.UInt64,System.Diagnostics.Tracing.EventPipeEventInstanceData*) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Boolean System.Diagnostics.Tracing.EventPipeInternal.GetSessionInfo(System.UInt64,System.Diagnostics.Tracing.EventPipeSessionInfo*) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Boolean System.Diagnostics.Tracing.EventPipeInternal.GetSessionInfo(System.UInt64,System.Diagnostics.Tracing.EventPipeSessionInfo*) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Boolean System.Diagnostics.Tracing.EventPipeInternal.GetSessionInfo(System.UInt64,System.Diagnostics.Tracing.EventPipeSessionInfo*) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Boolean System.Diagnostics.Tracing.EventPipeInternal.SignalSession(System.UInt64) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Boolean System.Diagnostics.Tracing.EventPipeInternal.SignalSession(System.UInt64) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Boolean System.Diagnostics.Tracing.EventPipeInternal.SignalSession(System.UInt64) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Boolean System.Diagnostics.Tracing.EventPipeInternal.WaitForSessionSignal(System.UInt64,System.Int32) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Boolean System.Diagnostics.Tracing.EventPipeInternal.WaitForSessionSignal(System.UInt64,System.Int32) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Boolean System.Diagnostics.Tracing.EventPipeInternal.WaitForSessionSignal(System.UInt64,System.Int32) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Boolean System.Double.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Double.TryParse(System.String,System.Double) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Double.TryParse(System.String,System.Globalization.NumberStyles,System.IFormatProvider,System.Double) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Double.TryParse(System.String,System.IFormatProvider,System.Double) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Enum.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Enum.IsDefined`1(!0) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.Enum.TryFormat`1(!0,System.Span<System.Char>,System.Int32,System.ReadOnlySpan<System.Char>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.Enum.TryParse(System.Type,System.ReadOnlySpan<System.Char>,System.Boolean,System.Object) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.Enum.TryParse(System.Type,System.ReadOnlySpan<System.Char>,System.Object) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.Enum.TryParse(System.Type,System.String,System.Boolean,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Enum.TryParse(System.Type,System.String,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Enum.TryParse`1(System.ReadOnlySpan<System.Char>,!0) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.Enum.TryParse`1(System.ReadOnlySpan<System.Char>,System.Boolean,!0) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.Enum.TryParse`1(System.String,!0) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.Enum.TryParse`1(System.String,System.Boolean,!0) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.Globalization.CompareInfo.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Globalization.CompareInfo.IsPrefix(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.Globalization.CompareOptions) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.Globalization.CompareInfo.IsPrefix(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.Globalization.CompareOptions,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.Globalization.CompareInfo.IsSortable(System.ReadOnlySpan<System.Char>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.Globalization.CompareInfo.IsSuffix(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.Globalization.CompareOptions) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.Globalization.CompareInfo.IsSuffix(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.Globalization.CompareOptions,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.Globalization.CultureInfo.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Globalization.IdnMapping.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Globalization.RegionInfo.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Globalization.SortKey.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Globalization.StringInfo.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Globalization.TextInfo.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Guid.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Guid.TryParse(System.String,System.Guid) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Guid.TryParse(System.String,System.IFormatProvider,System.Guid) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Guid.TryParseExact(System.String,System.String,System.Guid) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Half.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Half.TryParse(System.String,System.Globalization.NumberStyles,System.IFormatProvider,System.Half) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Half.TryParse(System.String,System.Half) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Half.TryParse(System.String,System.IFormatProvider,System.Half) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.HashCode.Equals(System.Object) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Boolean System.HashCode.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.HashCode.Equals(System.Object) | [ObsoleteAttribute(...)] | 0 | HashCode is a mutable struct and should not be compared with other HashCodes. | -| System.Boolean System.HashCode.Equals(System.Object) | [ObsoleteAttribute(...)] | 1 | True | -| System.Boolean System.HexConverter.TryDecodeFromUtf16_Vector128(System.ReadOnlySpan<System.Char>,System.Span<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.Arm.AdvSimd.Arm64 | -| System.Boolean System.HexConverter.TryDecodeFromUtf16_Vector128(System.ReadOnlySpan<System.Char>,System.Span<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Ssse3 | -| System.Boolean System.IO.Directory.Exists(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.IO.File.Exists(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.IO.MemoryStream.TryGetBuffer(System.ArraySegment<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.IO.Path.EndsInDirectorySeparator(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.IO.Path.Exists(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.IO.Path.HasExtension(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.IO.Path.IsPathFullyQualified(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.IO.Path.IsPathRooted(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.IParsable`1.TryParse(System.String,System.IFormatProvider,!0) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Index.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Int16.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Int16.TryParse(System.String,System.Globalization.NumberStyles,System.IFormatProvider,System.Int16) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Int16.TryParse(System.String,System.IFormatProvider,System.Int16) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Int16.TryParse(System.String,System.Int16) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Int32.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Int32.TryParse(System.String,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Int32.TryParse(System.String,System.IFormatProvider,System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Int32.TryParse(System.String,System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Int64.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Int64.TryParse(System.String,System.Globalization.NumberStyles,System.IFormatProvider,System.Int64) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Int64.TryParse(System.String,System.IFormatProvider,System.Int64) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Int64.TryParse(System.String,System.Int64) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Int128.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Int128.TryParse(System.String,System.Globalization.NumberStyles,System.IFormatProvider,System.Int128) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Int128.TryParse(System.String,System.IFormatProvider,System.Int128) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Int128.TryParse(System.String,System.Int128) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.IntPtr.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.IntPtr.TryParse(System.String,System.Globalization.NumberStyles,System.IFormatProvider,System.IntPtr) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.IntPtr.TryParse(System.String,System.IFormatProvider,System.IntPtr) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.IntPtr.TryParse(System.String,System.IntPtr) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.MdUtf8String.EqualsCaseInsensitive(System.Void*,System.Void*,System.Int32) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Boolean System.MdUtf8String.EqualsCaseInsensitive(System.Void*,System.Void*,System.Int32) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Boolean System.MdUtf8String.EqualsCaseInsensitive(System.Void*,System.Void*,System.Int32) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Boolean System.MemoryExtensions.ContainsAnyExceptInRange`1(System.ReadOnlySpan<!0>,!0,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.MemoryExtensions.ContainsAnyExceptInRange`1(System.Span<!0>,!0,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.MemoryExtensions.ContainsAnyExcept`1(System.ReadOnlySpan<!0>,!0,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.MemoryExtensions.ContainsAnyExcept`1(System.ReadOnlySpan<!0>,!0,!0,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.MemoryExtensions.ContainsAnyExcept`1(System.Span<!0>,!0,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.MemoryExtensions.ContainsAnyExcept`1(System.Span<!0>,!0,!0,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.MemoryExtensions.ContainsAnyInRange`1(System.ReadOnlySpan<!0>,!0,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.MemoryExtensions.ContainsAnyInRange`1(System.Span<!0>,!0,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.MemoryExtensions.ContainsAny`1(System.ReadOnlySpan<!0>,!0,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.MemoryExtensions.ContainsAny`1(System.ReadOnlySpan<!0>,!0,!0,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.MemoryExtensions.ContainsAny`1(System.Span<!0>,!0,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.MemoryExtensions.ContainsAny`1(System.Span<!0>,!0,!0,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.MemoryExtensions.Overlaps`1(System.ReadOnlySpan<!0>,System.ReadOnlySpan<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.MemoryExtensions.Overlaps`1(System.ReadOnlySpan<!0>,System.ReadOnlySpan<!0>,System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.MemoryExtensions.Overlaps`1(System.Span<!0>,System.ReadOnlySpan<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.MemoryExtensions.Overlaps`1(System.Span<!0>,System.ReadOnlySpan<!0>,System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.MemoryExtensions.SequenceEqual`1(System.ReadOnlySpan<!0>,System.ReadOnlySpan<!0>,System.Collections.Generic.IEqualityComparer<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.MemoryExtensions.SequenceEqual`1(System.Span<!0>,System.ReadOnlySpan<!0>,System.Collections.Generic.IEqualityComparer<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.MemoryExtensions.TryWriteInterpolatedStringHandler.AppendFormatted(System.Object,System.Int32,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.MemoryExtensions.TryWriteInterpolatedStringHandler.AppendFormatted(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.MemoryExtensions.TryWriteInterpolatedStringHandler.AppendFormatted(System.String,System.Int32,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.MemoryExtensions.TryWriteInterpolatedStringHandler.AppendFormatted`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.MemoryExtensions.TryWriteInterpolatedStringHandler.AppendFormatted`1(!0,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.MemoryExtensions.TryWriteInterpolatedStringHandler.AppendFormatted`1(!0,System.Int32,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.MemoryExtensions.TryWriteInterpolatedStringHandler.AppendFormatted`1(!0,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.MemoryExtensions.TryWriteInterpolatedStringHandler.AppendLiteral(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.MemoryExtensions.TryWrite`1(System.Span<System.Char>,System.IFormatProvider,System.Text.CompositeFormat,System.Int32,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.MemoryExtensions.TryWrite`2(System.Span<System.Char>,System.IFormatProvider,System.Text.CompositeFormat,System.Int32,!0,!1) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.MemoryExtensions.TryWrite`3(System.Span<System.Char>,System.IFormatProvider,System.Text.CompositeFormat,System.Int32,!0,!1,!2) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.Memory`1.Equals(System.Object) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Boolean System.Memory`1.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.MulticastDelegate.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.MulticastDelegate.op_Equality(System.MulticastDelegate,System.MulticastDelegate) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.MulticastDelegate.op_Inequality(System.MulticastDelegate,System.MulticastDelegate) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Nullable`1.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Numerics.BitOperations.IsPow2(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.Numerics.BitOperations.IsPow2(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.Numerics.BitOperations.IsPow2(System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.Numerics.IBinaryInteger`1.TryReadBigEndian(System.ReadOnlySpan<System.Byte>,System.Boolean,!0) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.Numerics.IBinaryInteger`1.TryReadLittleEndian(System.ReadOnlySpan<System.Byte>,System.Boolean,!0) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.Numerics.IBinaryInteger`1.TryWriteBigEndian(System.Span<System.Byte>,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.Numerics.IBinaryInteger`1.TryWriteLittleEndian(System.Span<System.Byte>,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.Numerics.IBinaryNumber`1.IsPow2(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.Numerics.IFloatingPoint`1.TryWriteExponentBigEndian(System.Span<System.Byte>,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.Numerics.IFloatingPoint`1.TryWriteExponentLittleEndian(System.Span<System.Byte>,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.Numerics.IFloatingPoint`1.TryWriteSignificandBigEndian(System.Span<System.Byte>,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.Numerics.IFloatingPoint`1.TryWriteSignificandLittleEndian(System.Span<System.Byte>,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.Numerics.INumberBase`1.TryConvertFromChecked`1(!0,!0) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.Numerics.INumberBase`1.TryConvertFromSaturating`1(!0,!0) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.Numerics.INumberBase`1.TryConvertFromTruncating`1(!0,!0) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.Numerics.INumberBase`1.TryConvertToChecked`1(!0,!0) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.Numerics.INumberBase`1.TryConvertToSaturating`1(!0,!0) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.Numerics.INumberBase`1.TryConvertToTruncating`1(!0,!0) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.Numerics.INumberBase`1.TryParse(System.ReadOnlySpan<System.Byte>,System.Globalization.NumberStyles,System.IFormatProvider,!0) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.Numerics.INumberBase`1.TryParse(System.ReadOnlySpan<System.Char>,System.Globalization.NumberStyles,System.IFormatProvider,!0) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.Numerics.INumberBase`1.TryParse(System.String,System.Globalization.NumberStyles,System.IFormatProvider,!0) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Numerics.Matrix3x2.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Numerics.Matrix4x4.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Numerics.Matrix4x4.Impl.<Invert>g__SseImpl\|64_0(System.Numerics.Matrix4x4.Impl,System.Numerics.Matrix4x4.Impl) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Sse | -| System.Boolean System.Numerics.Plane.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Numerics.Quaternion.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Numerics.Vector2.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Numerics.Vector3.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Numerics.Vector4.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Numerics.Vector.EqualsAll`1(System.Numerics.Vector<!0>,System.Numerics.Vector<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Numerics.Vector.EqualsAny`1(System.Numerics.Vector<!0>,System.Numerics.Vector<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Numerics.Vector.GreaterThanAll`1(System.Numerics.Vector<!0>,System.Numerics.Vector<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Numerics.Vector.GreaterThanAny`1(System.Numerics.Vector<!0>,System.Numerics.Vector<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Numerics.Vector.GreaterThanOrEqualAll`1(System.Numerics.Vector<!0>,System.Numerics.Vector<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Numerics.Vector.GreaterThanOrEqualAny`1(System.Numerics.Vector<!0>,System.Numerics.Vector<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Numerics.Vector.LessThanAll`1(System.Numerics.Vector<!0>,System.Numerics.Vector<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Numerics.Vector.LessThanAny`1(System.Numerics.Vector<!0>,System.Numerics.Vector<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Numerics.Vector.LessThanOrEqualAll`1(System.Numerics.Vector<!0>,System.Numerics.Vector<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Numerics.Vector.LessThanOrEqualAny`1(System.Numerics.Vector<!0>,System.Numerics.Vector<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Numerics.Vector`1.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.OperatingSystem.IsIOS() | [SupportedOSPlatformGuardAttribute(...)] | 0 | maccatalyst | -| System.Boolean System.OperatingSystem.IsIOSVersionAtLeast(System.Int32,System.Int32,System.Int32) | [SupportedOSPlatformGuardAttribute(...)] | 0 | maccatalyst | -| System.Boolean System.PackedSpanHelpers.Contains(System.Int16,System.Int16,System.Int32) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Sse2 | -| System.Boolean System.Predicate`1.Invoke(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.Range.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.ReadOnlyMemory`1.Equals(System.Object) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Boolean System.ReadOnlyMemory`1.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.ReadOnlySpan`1.Equals(System.Object) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Boolean System.ReadOnlySpan`1.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.ReadOnlySpan`1.Equals(System.Object) | [ObsoleteAttribute(...)] | 0 | Equals() on ReadOnlySpan will always throw an exception. Use the equality operator instead. | -| System.Boolean System.Reflection.Assembly.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Reflection.Assembly.op_Equality(System.Reflection.Assembly,System.Reflection.Assembly) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Reflection.Assembly.op_Inequality(System.Reflection.Assembly,System.Reflection.Assembly) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Reflection.CustomAttribute.FilterCustomAttributeRecord(System.Reflection.MetadataToken,System.Reflection.MetadataImport,System.Reflection.RuntimeModule,System.Reflection.MetadataToken,System.RuntimeType,System.Boolean,System.RuntimeType.ListBuilder<System.Object>,System.RuntimeType,System.IRuntimeMethodInfo,System.Boolean) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Boolean System.Reflection.CustomAttribute.FilterCustomAttributeRecord(System.Reflection.MetadataToken,System.Reflection.MetadataImport,System.Reflection.RuntimeModule,System.Reflection.MetadataToken,System.RuntimeType,System.Boolean,System.RuntimeType.ListBuilder<System.Object>,System.RuntimeType,System.IRuntimeMethodInfo,System.Boolean) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:RequiresUnreferencedCode | -| System.Boolean System.Reflection.CustomAttributeData.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Reflection.CustomAttributeNamedArgument.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Reflection.CustomAttributeTypedArgument.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Reflection.Emit.Label.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Reflection.Emit.RuntimeTypeBuilder.IsAssignableFrom(System.Type) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Boolean System.Reflection.Emit.RuntimeTypeBuilder.IsAssignableFrom(System.Type) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2070:UnrecognizedReflectionPattern | -| System.Boolean System.Reflection.Emit.SignatureHelper.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Reflection.FieldInfo.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Reflection.FieldInfo.op_Equality(System.Reflection.FieldInfo,System.Reflection.FieldInfo) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Reflection.FieldInfo.op_Inequality(System.Reflection.FieldInfo,System.Reflection.FieldInfo) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Reflection.LoaderAllocatorScout.Destroy(System.IntPtr) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Boolean System.Reflection.LoaderAllocatorScout.Destroy(System.IntPtr) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Boolean System.Reflection.LoaderAllocatorScout.Destroy(System.IntPtr) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Boolean System.Reflection.MemberFilter.Invoke(System.Reflection.MemberInfo,System.Object) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.Reflection.MemberInfo.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Reflection.MemberInfo.op_Equality(System.Reflection.MemberInfo,System.Reflection.MemberInfo) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Reflection.MemberInfo.op_Inequality(System.Reflection.MemberInfo,System.Reflection.MemberInfo) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Reflection.Metadata.AssemblyExtensions.InternalTryGetRawMetadata(System.Runtime.CompilerServices.QCallAssembly,System.Byte*,System.Int32) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Boolean System.Reflection.Metadata.AssemblyExtensions.InternalTryGetRawMetadata(System.Runtime.CompilerServices.QCallAssembly,System.Byte*,System.Int32) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Boolean System.Reflection.Metadata.AssemblyExtensions.InternalTryGetRawMetadata(System.Runtime.CompilerServices.QCallAssembly,System.Byte*,System.Int32) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Boolean System.Reflection.Metadata.AssemblyExtensions.TryGetRawMetadata(System.Reflection.Assembly,System.Byte*,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.Reflection.Metadata.MetadataUpdater.IsApplyUpdateSupported() | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Boolean System.Reflection.Metadata.MetadataUpdater.IsApplyUpdateSupported() | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Boolean System.Reflection.Metadata.MetadataUpdater.IsApplyUpdateSupported() | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Boolean System.Reflection.MethodInfo.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Reflection.MethodInfo.op_Equality(System.Reflection.MethodInfo,System.Reflection.MethodInfo) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Reflection.MethodInfo.op_Inequality(System.Reflection.MethodInfo,System.Reflection.MethodInfo) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Reflection.Module.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Reflection.Module.op_Equality(System.Reflection.Module,System.Reflection.Module) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Reflection.Module.op_Inequality(System.Reflection.Module,System.Reflection.Module) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Reflection.Pointer.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Reflection.RuntimeAssembly.GetCodeBase(System.Runtime.CompilerServices.QCallAssembly,System.Runtime.CompilerServices.StringHandleOnStack) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Boolean System.Reflection.RuntimeAssembly.GetCodeBase(System.Runtime.CompilerServices.QCallAssembly,System.Runtime.CompilerServices.StringHandleOnStack) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Boolean System.Reflection.RuntimeAssembly.GetCodeBase(System.Runtime.CompilerServices.QCallAssembly,System.Runtime.CompilerServices.StringHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Boolean System.Reflection.TypeDelegator.IsAssignableFrom(System.Reflection.TypeInfo) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Reflection.TypeFilter.Invoke(System.Type,System.Object) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.Reflection.TypeInfo.IsAssignableFrom(System.Reflection.TypeInfo) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Resources.ResourceReader.<DeserializeObject>g__InitializeBinaryFormatterLocal\|5_0() | [UnconditionalSuppressMessageAttribute(...)] | 0 | AotAnalysis | -| System.Boolean System.Resources.ResourceReader.<DeserializeObject>g__InitializeBinaryFormatterLocal\|5_0() | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Boolean System.Resources.ResourceReader.<DeserializeObject>g__InitializeBinaryFormatterLocal\|5_0() | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:RequiresUnreferencedCode | -| System.Boolean System.Resources.ResourceReader.<DeserializeObject>g__InitializeBinaryFormatterLocal\|5_0() | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL3050:RequiresDynamicCode | -| System.Boolean System.Resources.ResourceReader.InitializeBinaryFormatter() | [RequiresDynamicCodeAttribute(...)] | 0 | The native code for this instantiation might not be available at runtime. | -| System.Boolean System.Resources.ResourceReader.InitializeBinaryFormatter() | [RequiresUnreferencedCodeAttribute(...)] | 0 | The CustomResourceTypesSupport feature switch has been enabled for this app which is being trimmed. Custom readers as well as custom objects on the resources file are not observable by the trimmer and so required assemblies, types and members may be removed. | -| System.Boolean System.Runtime.CompilerServices.RuntimeHelpers.AreTypesEquivalent(System.Runtime.CompilerServices.MethodTable*,System.Runtime.CompilerServices.MethodTable*) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Boolean System.Runtime.CompilerServices.RuntimeHelpers.AreTypesEquivalent(System.Runtime.CompilerServices.MethodTable*,System.Runtime.CompilerServices.MethodTable*) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Boolean System.Runtime.CompilerServices.RuntimeHelpers.AreTypesEquivalent(System.Runtime.CompilerServices.MethodTable*,System.Runtime.CompilerServices.MethodTable*) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Boolean System.Runtime.CompilerServices.RuntimeHelpers.Equals(System.Object,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.CompilerServices.RuntimeHelpers.IsReferenceOrContainsReferences`1() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.InteropServices.CLong.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.InteropServices.CULong.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.InteropServices.ComWrappers.TryGetComInstanceInternal(System.Runtime.CompilerServices.ObjectHandleOnStack,System.IntPtr) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Boolean System.Runtime.InteropServices.ComWrappers.TryGetComInstanceInternal(System.Runtime.CompilerServices.ObjectHandleOnStack,System.IntPtr) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Boolean System.Runtime.InteropServices.ComWrappers.TryGetComInstanceInternal(System.Runtime.CompilerServices.ObjectHandleOnStack,System.IntPtr) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Boolean System.Runtime.InteropServices.ComWrappers.TryGetObject(System.IntPtr,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.InteropServices.ComWrappers.TryGetObjectInternal(System.IntPtr,System.Runtime.CompilerServices.ObjectHandleOnStack) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Boolean System.Runtime.InteropServices.ComWrappers.TryGetObjectInternal(System.IntPtr,System.Runtime.CompilerServices.ObjectHandleOnStack) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Boolean System.Runtime.InteropServices.ComWrappers.TryGetObjectInternal(System.IntPtr,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Boolean System.Runtime.InteropServices.ComWrappers.TryGetOrCreateComInterfaceForObjectInternal(System.Runtime.CompilerServices.ObjectHandleOnStack,System.Int64,System.Runtime.CompilerServices.ObjectHandleOnStack,System.Runtime.InteropServices.CreateComInterfaceFlags,System.IntPtr) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Boolean System.Runtime.InteropServices.ComWrappers.TryGetOrCreateComInterfaceForObjectInternal(System.Runtime.CompilerServices.ObjectHandleOnStack,System.Int64,System.Runtime.CompilerServices.ObjectHandleOnStack,System.Runtime.InteropServices.CreateComInterfaceFlags,System.IntPtr) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Boolean System.Runtime.InteropServices.ComWrappers.TryGetOrCreateComInterfaceForObjectInternal(System.Runtime.CompilerServices.ObjectHandleOnStack,System.Int64,System.Runtime.CompilerServices.ObjectHandleOnStack,System.Runtime.InteropServices.CreateComInterfaceFlags,System.IntPtr) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Boolean System.Runtime.InteropServices.ComWrappers.TryGetOrCreateObjectForComInstanceInternal(System.Runtime.CompilerServices.ObjectHandleOnStack,System.Int64,System.IntPtr,System.IntPtr,System.Runtime.InteropServices.CreateObjectFlags,System.Runtime.CompilerServices.ObjectHandleOnStack,System.Runtime.CompilerServices.ObjectHandleOnStack) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Boolean System.Runtime.InteropServices.ComWrappers.TryGetOrCreateObjectForComInstanceInternal(System.Runtime.CompilerServices.ObjectHandleOnStack,System.Int64,System.IntPtr,System.IntPtr,System.Runtime.InteropServices.CreateObjectFlags,System.Runtime.CompilerServices.ObjectHandleOnStack,System.Runtime.CompilerServices.ObjectHandleOnStack) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Boolean System.Runtime.InteropServices.ComWrappers.TryGetOrCreateObjectForComInstanceInternal(System.Runtime.CompilerServices.ObjectHandleOnStack,System.Int64,System.IntPtr,System.IntPtr,System.Runtime.InteropServices.CreateObjectFlags,System.Runtime.CompilerServices.ObjectHandleOnStack,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Boolean System.Runtime.InteropServices.Marshal.SetComObjectData(System.Object,System.Object,System.Object) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Boolean System.Runtime.InteropServices.MemoryMarshal.TryGetArray`1(System.ReadOnlyMemory<!0>,System.ArraySegment<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.InteropServices.MemoryMarshal.TryGetMemoryManager`2(System.ReadOnlyMemory<!0>,!1) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.InteropServices.MemoryMarshal.TryGetMemoryManager`2(System.ReadOnlyMemory<!0>,!1,System.Int32,System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.InteropServices.NFloat.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.InteropServices.NFloat.TryParse(System.String,System.Globalization.NumberStyles,System.IFormatProvider,System.Runtime.InteropServices.NFloat) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.InteropServices.NFloat.TryParse(System.String,System.IFormatProvider,System.Runtime.InteropServices.NFloat) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.InteropServices.NFloat.TryParse(System.String,System.Runtime.InteropServices.NFloat) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.InteropServices.OSPlatform.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector64.EqualsAll`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector64.EqualsAny`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector64.GreaterThanAll`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector64.GreaterThanAny`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector64.GreaterThanOrEqualAll`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector64.GreaterThanOrEqualAny`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector64.LessThanAll`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector64.LessThanAny`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector64.LessThanOrEqualAll`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector64.LessThanOrEqualAny`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector64.TryCopyTo`1(System.Runtime.Intrinsics.Vector64<!0>,System.Span<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector64`1.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector128.EqualsAll`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector128.EqualsAny`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector128.GreaterThanAll`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector128.GreaterThanAny`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector128.GreaterThanOrEqualAll`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector128.GreaterThanOrEqualAny`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector128.LessThanAll`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector128.LessThanAny`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector128.LessThanOrEqualAll`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector128.LessThanOrEqualAny`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector128.TryCopyTo`1(System.Runtime.Intrinsics.Vector128<!0>,System.Span<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector128`1.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector256.EqualsAll`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector256.EqualsAny`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector256.GreaterThanAll`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector256.GreaterThanAny`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector256.GreaterThanOrEqualAll`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector256.GreaterThanOrEqualAny`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector256.LessThanAll`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector256.LessThanAny`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector256.LessThanOrEqualAll`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector256.LessThanOrEqualAny`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector256.TryCopyTo`1(System.Runtime.Intrinsics.Vector256<!0>,System.Span<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector256`1.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector512.EqualsAll`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector512.EqualsAny`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector512.GreaterThanAll`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector512.GreaterThanAny`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector512.GreaterThanOrEqualAll`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector512.GreaterThanOrEqualAny`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector512.LessThanAll`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector512.LessThanAny`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector512.LessThanOrEqualAll`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector512.LessThanOrEqualAny`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector512.TryCopyTo`1(System.Runtime.Intrinsics.Vector512<!0>,System.Span<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Intrinsics.Vector512`1.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Loader.AssemblyLoadContext.TraceAssemblyLoadFromResolveHandlerInvoked(System.String,System.Boolean,System.String,System.String) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Boolean System.Runtime.Loader.AssemblyLoadContext.TraceAssemblyLoadFromResolveHandlerInvoked(System.String,System.Boolean,System.String,System.String) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Boolean System.Runtime.Loader.AssemblyLoadContext.TraceAssemblyResolveHandlerInvoked(System.String,System.String,System.String,System.String) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Boolean System.Runtime.Loader.AssemblyLoadContext.TraceAssemblyResolveHandlerInvoked(System.String,System.String,System.String,System.String) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Boolean System.Runtime.Loader.AssemblyLoadContext.TraceResolvingHandlerInvoked(System.String,System.String,System.String,System.String,System.String) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Boolean System.Runtime.Loader.AssemblyLoadContext.TraceResolvingHandlerInvoked(System.String,System.String,System.String,System.String,System.String) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Boolean System.Runtime.Loader.AssemblyLoadContext.TraceSatelliteSubdirectoryPathProbed(System.String,System.Int32) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Boolean System.Runtime.Loader.AssemblyLoadContext.TraceSatelliteSubdirectoryPathProbed(System.String,System.Int32) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Boolean System.Runtime.Versioning.FrameworkName.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Versioning.FrameworkName.Equals(System.Runtime.Versioning.FrameworkName) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Versioning.FrameworkName.op_Equality(System.Runtime.Versioning.FrameworkName,System.Runtime.Versioning.FrameworkName) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Runtime.Versioning.FrameworkName.op_Inequality(System.Runtime.Versioning.FrameworkName,System.Runtime.Versioning.FrameworkName) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.RuntimeFieldHandle.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.RuntimeMethodHandle.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.RuntimeTypeHandle._IsVisible(System.Runtime.CompilerServices.QCallTypeHandle) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Boolean System.RuntimeTypeHandle._IsVisible(System.Runtime.CompilerServices.QCallTypeHandle) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Boolean System.RuntimeTypeHandle._IsVisible(System.Runtime.CompilerServices.QCallTypeHandle) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Boolean System.SByte.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.SByte.TryParse(System.String,System.Globalization.NumberStyles,System.IFormatProvider,System.SByte) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.SByte.TryParse(System.String,System.IFormatProvider,System.SByte) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.SByte.TryParse(System.String,System.SByte) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Security.Principal.IPrincipal.IsInRole(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.Single.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Single.TryParse(System.String,System.Globalization.NumberStyles,System.IFormatProvider,System.Single) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Single.TryParse(System.String,System.IFormatProvider,System.Single) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Single.TryParse(System.String,System.Single) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Span`1.Equals(System.Object) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Boolean System.Span`1.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Span`1.Equals(System.Object) | [ObsoleteAttribute(...)] | 0 | Equals() on Span will always throw an exception. Use the equality operator instead. | -| System.Boolean System.String.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.String.Equals(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.String.Equals(System.String,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.String.Equals(System.String,System.String,System.StringComparison) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.String.Equals(System.String,System.StringComparison) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.String.IsNullOrEmpty(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.String.IsNullOrWhiteSpace(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.String.TryCopyTo(System.Span<System.Char>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.String.op_Equality(System.String,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.String.op_Inequality(System.String,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.StringComparer.Equals(System.Object,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.StringComparer.Equals(System.String,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.StringComparer.IsWellKnownCultureAwareComparer(System.Collections.Generic.IEqualityComparer<System.String>,System.Globalization.CompareInfo,System.Globalization.CompareOptions) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.StringComparer.IsWellKnownOrdinalComparer(System.Collections.Generic.IEqualityComparer<System.String>,System.Boolean) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Text.Ascii.AllCharsInVectorAreAscii`1(System.Runtime.Intrinsics.Vector256<!0>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Avx | -| System.Boolean System.Text.Ascii.PlainLoader`1.EqualAndAscii256(!0,!0) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Avx | -| System.Boolean System.Text.Ascii.WideningLoader.EqualAndAscii256(System.Byte,System.UInt16) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Avx | -| System.Boolean System.Text.DecoderExceptionFallback.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Text.DecoderExceptionFallbackBuffer.Fallback(System.Byte[],System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.Text.DecoderFallbackBuffer.Fallback(System.Byte[],System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.Text.DecoderReplacementFallback.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Text.EncoderExceptionFallback.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Text.EncoderReplacementFallback.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Text.Encoding.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Text.Encoding.TryGetBytes(System.ReadOnlySpan<System.Char>,System.Span<System.Byte>,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.Text.Encoding.TryGetChars(System.ReadOnlySpan<System.Byte>,System.Span<System.Char>,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.Text.EncodingInfo.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Text.Rune.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Text.Rune.IsValid(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.Text.Rune.TryCreate(System.UInt32,System.Text.Rune) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.Text.Rune.TryGetRuneAt(System.String,System.Int32,System.Text.Rune) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.Text.StringBuilder.Equals(System.ReadOnlySpan<System.Char>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.Text.StringBuilder.Equals(System.Text.StringBuilder) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Text.UTF7Encoding.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Text.UTF8Encoding.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Text.UTF32Encoding.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Text.Unicode.Utf8.TryWriteInterpolatedStringHandler.AppendFormatted(System.Object,System.Int32,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Text.Unicode.Utf8.TryWriteInterpolatedStringHandler.AppendFormatted(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Text.Unicode.Utf8.TryWriteInterpolatedStringHandler.AppendFormatted(System.String,System.Int32,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Text.Unicode.Utf8.TryWriteInterpolatedStringHandler.AppendFormatted`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.Text.Unicode.Utf8.TryWriteInterpolatedStringHandler.AppendFormatted`1(!0,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.Text.Unicode.Utf8.TryWriteInterpolatedStringHandler.AppendFormatted`1(!0,System.Int32,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Text.Unicode.Utf8.TryWriteInterpolatedStringHandler.AppendFormatted`1(!0,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Text.Unicode.Utf8.TryWriteInterpolatedStringHandler.AppendLiteral(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.Text.UnicodeEncoding.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Threading.AsyncFlowControl.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Threading.CancellationTokenRegistration.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Threading.EventWaitHandle.TryOpenExisting(System.String,System.Threading.EventWaitHandle) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Boolean System.Threading.ManualResetEventSlim.Wait(System.Int32) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Boolean System.Threading.ManualResetEventSlim.Wait(System.Int32,System.Threading.CancellationToken) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Boolean System.Threading.ManualResetEventSlim.Wait(System.TimeSpan) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Boolean System.Threading.ManualResetEventSlim.Wait(System.TimeSpan,System.Threading.CancellationToken) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Boolean System.Threading.Monitor.Wait(System.Object) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Boolean System.Threading.Monitor.Wait(System.Object,System.Int32) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Boolean System.Threading.Monitor.Wait(System.Object,System.Int32,System.Boolean) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Boolean System.Threading.Monitor.Wait(System.Object,System.TimeSpan) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Boolean System.Threading.Monitor.Wait(System.Object,System.TimeSpan,System.Boolean) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Boolean System.Threading.RegisteredWaitHandle.Unregister(System.Threading.WaitHandle) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Boolean System.Threading.Semaphore.TryOpenExisting(System.String,System.Threading.Semaphore) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Boolean System.Threading.SemaphoreSlim.Wait(System.Int32) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Boolean System.Threading.SemaphoreSlim.Wait(System.Int32,System.Threading.CancellationToken) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Boolean System.Threading.SemaphoreSlim.Wait(System.TimeSpan) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Boolean System.Threading.SemaphoreSlim.Wait(System.TimeSpan,System.Threading.CancellationToken) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Boolean System.Threading.SemaphoreSlim.WaitUntilCountOrTimeout(System.Int32,System.UInt32,System.Threading.CancellationToken) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Boolean System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[],System.Int32) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Boolean System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[],System.Int32,System.Threading.CancellationToken) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Boolean System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[],System.TimeSpan) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Boolean System.Threading.Tasks.Task.WaitAllBlockingCore(System.Collections.Generic.List<System.Threading.Tasks.Task>,System.Int32,System.Threading.CancellationToken) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Boolean System.Threading.Tasks.Task.WaitAllCore(System.Threading.Tasks.Task[],System.Int32,System.Threading.CancellationToken) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Boolean System.Threading.Tasks.Task.get_IsFaulted() | [MemberNotNullWhenAttribute(...)] | 0 | True | -| System.Boolean System.Threading.Tasks.Task.get_IsFaulted() | [MemberNotNullWhenAttribute(...)] | 1 | Exception | -| System.Boolean System.Threading.Tasks.ValueTask.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Threading.Tasks.ValueTask`1.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Threading.ThreadPool.BindHandle(System.IntPtr) | [ObsoleteAttribute(...)] | 0 | ThreadPool.BindHandle(IntPtr) has been deprecated. Use ThreadPool.BindHandle(SafeHandle) instead. | -| System.Boolean System.Threading.ThreadPool.BindHandle(System.IntPtr) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Boolean System.Threading.ThreadPool.BindHandle(System.Runtime.InteropServices.SafeHandle) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Boolean System.Threading.ThreadPool.UnsafeQueueNativeOverlapped(System.Threading.NativeOverlapped*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.Threading.ThreadPool.UnsafeQueueNativeOverlapped(System.Threading.NativeOverlapped*) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Boolean System.Threading.ThreadPool.UnsafeQueueNativeOverlapped(System.Threading.NativeOverlapped*) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Boolean System.Threading.Timer.Change(System.UInt32,System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Boolean System.TimeOnly.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.TimeOnly.TryParse(System.String,System.IFormatProvider,System.Globalization.DateTimeStyles,System.TimeOnly) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.TimeOnly.TryParse(System.String,System.IFormatProvider,System.TimeOnly) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.TimeOnly.TryParse(System.String,System.TimeOnly) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.TimeOnly.TryParseExact(System.ReadOnlySpan<System.Char>,System.String[],System.IFormatProvider,System.Globalization.DateTimeStyles,System.TimeOnly) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.TimeOnly.TryParseExact(System.String,System.String,System.IFormatProvider,System.Globalization.DateTimeStyles,System.TimeOnly) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.TimeOnly.TryParseExact(System.String,System.String,System.TimeOnly) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.TimeOnly.TryParseExact(System.String,System.String[],System.IFormatProvider,System.Globalization.DateTimeStyles,System.TimeOnly) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.TimeOnly.TryParseExact(System.String,System.String[],System.TimeOnly) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.TimeSpan.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.TimeSpan.TryParse(System.String,System.IFormatProvider,System.TimeSpan) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.TimeSpan.TryParse(System.String,System.TimeSpan) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.TimeSpan.TryParseExact(System.ReadOnlySpan<System.Char>,System.String[],System.IFormatProvider,System.Globalization.TimeSpanStyles,System.TimeSpan) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.TimeSpan.TryParseExact(System.ReadOnlySpan<System.Char>,System.String[],System.IFormatProvider,System.TimeSpan) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.TimeSpan.TryParseExact(System.String,System.String,System.IFormatProvider,System.Globalization.TimeSpanStyles,System.TimeSpan) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.TimeSpan.TryParseExact(System.String,System.String,System.IFormatProvider,System.TimeSpan) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.TimeSpan.TryParseExact(System.String,System.String[],System.IFormatProvider,System.Globalization.TimeSpanStyles,System.TimeSpan) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.TimeSpan.TryParseExact(System.String,System.String[],System.IFormatProvider,System.TimeSpan) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.TimeZoneInfo.AdjustmentRule.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.TimeZoneInfo.AdjustmentRule.Equals(System.TimeZoneInfo.AdjustmentRule) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.TimeZoneInfo.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.TimeZoneInfo.Equals(System.TimeZoneInfo) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.TimeZoneInfo.TransitionTime.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.TimeZoneInfo.TryConvertWindowsIdToIanaId(System.String,System.String,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Tuple`1.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Tuple`2.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Tuple`3.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Tuple`4.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Tuple`5.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Tuple`6.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Tuple`7.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Tuple`8.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Type.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Type.Equals(System.Type) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Type.ImplementInterface(System.Type) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Boolean System.Type.ImplementInterface(System.Type) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2085:UnrecognizedReflectionPattern | -| System.Boolean System.Type.IsAssignableFrom(System.Type) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Type.IsAssignableTo(System.Type) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Type.IsEquivalentTo(System.Type) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Type.IsInstanceOfType(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Type.op_Equality(System.Type,System.Type) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Type.op_Inequality(System.Type,System.Type) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.UInt16.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.UInt16.TryParse(System.String,System.Globalization.NumberStyles,System.IFormatProvider,System.UInt16) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.UInt16.TryParse(System.String,System.IFormatProvider,System.UInt16) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.UInt16.TryParse(System.String,System.UInt16) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.UInt32.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.UInt32.TryParse(System.String,System.Globalization.NumberStyles,System.IFormatProvider,System.UInt32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.UInt32.TryParse(System.String,System.IFormatProvider,System.UInt32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.UInt32.TryParse(System.String,System.UInt32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.UInt64.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.UInt64.TryParse(System.String,System.Globalization.NumberStyles,System.IFormatProvider,System.UInt64) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.UInt64.TryParse(System.String,System.IFormatProvider,System.UInt64) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.UInt64.TryParse(System.String,System.UInt64) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.UInt128.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.UInt128.TryParse(System.String,System.Globalization.NumberStyles,System.IFormatProvider,System.UInt128) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.UInt128.TryParse(System.String,System.IFormatProvider,System.UInt128) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.UInt128.TryParse(System.String,System.UInt128) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.UIntPtr.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.UIntPtr.TryParse(System.String,System.Globalization.NumberStyles,System.IFormatProvider,System.UIntPtr) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.UIntPtr.TryParse(System.String,System.IFormatProvider,System.UIntPtr) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.UIntPtr.TryParse(System.String,System.UIntPtr) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.ValueTuple.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.ValueTuple`1.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.ValueTuple`2.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.ValueTuple`3.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.ValueTuple`4.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.ValueTuple`5.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.ValueTuple`6.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.ValueTuple`7.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.ValueTuple`8.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.ValueType.Equals(System.Object) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Boolean System.ValueType.Equals(System.Object) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2075:UnrecognizedReflectionPattern | -| System.Boolean System.Version.Equals(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Version.Equals(System.Version) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Version.TryParse(System.String,System.Version) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Version.op_Equality(System.Version,System.Version) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Version.op_GreaterThan(System.Version,System.Version) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Version.op_GreaterThanOrEqual(System.Version,System.Version) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Version.op_Inequality(System.Version,System.Version) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Version.op_LessThan(System.Version,System.Version) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Boolean System.Version.op_LessThanOrEqual(System.Version,System.Version) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Buffer | [NullableAttribute(...)] | 0 | 0 | -| System.Buffer | [NullableContextAttribute(...)] | 0 | 1 | -| System.Buffers.ArrayPoolEventSource | [GeneratedCodeAttribute(...)] | 0 | System.Private.CoreLib.Generators | -| System.Buffers.ArrayPoolEventSource | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Buffers.ArrayPool`1 | [NullableAttribute(...)] | 0 | 0 | -| System.Buffers.ArrayPool`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Buffers.BitVector256._values | [FixedBufferAttribute(...)] | 0 | System.UInt32 | -| System.Buffers.BitVector256._values | [FixedBufferAttribute(...)] | 1 | 8 | -| System.Buffers.IPinnable | [NullableAttribute(...)] | 0 | 2 | -| System.Buffers.SearchValues<!0> | [NullableAttribute(...)] | 0 | 1 | -| System.Buffers.SearchValues`1 | [DebuggerDisplayAttribute(...)] | 0 | {DebuggerDisplay,nq} | -| System.Buffers.SearchValues`1 | [DebuggerTypeProxyAttribute(...)] | 0 | System.Buffers.SearchValuesDebugView`1 | -| System.Buffers.StandardFormat System.Buffers.StandardFormat.Parse(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.ByReference | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.ByReference | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.ByReference | [ObsoleteAttribute(...)] | 1 | True | -| System.Byte System.Byte.CreateChecked`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Byte System.Byte.CreateSaturating`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Byte System.Byte.CreateTruncating`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Byte System.Byte.Parse(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Byte System.Byte.Parse(System.String,System.Globalization.NumberStyles) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Byte System.Byte.Parse(System.String,System.Globalization.NumberStyles,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Byte System.Byte.Parse(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Byte System.Convert.ToByte(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Byte System.Convert.ToByte(System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Byte System.Convert.ToByte(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Byte System.Convert.ToByte(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Byte System.Runtime.InteropServices.Marshal.ReadByte(System.Object,System.Int32) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Byte System.Runtime.InteropServices.Marshal.ReadByte(System.Object,System.Int32) | [ObsoleteAttribute(...)] | 0 | ReadByte(Object, Int32) may be unavailable in future releases. | -| System.Byte System.Runtime.InteropServices.Marshal.ReadByte(System.Object,System.Int32) | [RequiresDynamicCodeAttribute(...)] | 0 | Marshalling code for the object might not be available | -| System.Byte System.Runtime.InteropServices.MemoryMarshal.GetArrayDataReference(System.Array) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Byte* System.Reflection.RuntimeAssembly.GetResource(System.Runtime.CompilerServices.QCallAssembly,System.String,System.UInt32) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Byte* System.Reflection.RuntimeAssembly.GetResource(System.Runtime.CompilerServices.QCallAssembly,System.String,System.UInt32) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Byte[] System.BitConverter.GetBytes(System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Byte[] System.BitConverter.GetBytes(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Byte[] System.BitConverter.GetBytes(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Byte[] System.Convert.FromBase64CharArray(System.Char[],System.Int32,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Byte[] System.Convert.FromBase64String(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Byte[] System.Convert.FromHexString(System.ReadOnlySpan<System.Char>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Byte[] System.Convert.FromHexString(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Byte[] System.Diagnostics.Tracing.EventSource.CreateManifestAndDescriptors(System.Type,System.String,System.Diagnostics.Tracing.EventSource,System.Diagnostics.Tracing.EventManifestOptions) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Byte[] System.Diagnostics.Tracing.EventSource.CreateManifestAndDescriptors(System.Type,System.String,System.Diagnostics.Tracing.EventSource,System.Diagnostics.Tracing.EventManifestOptions) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2114:ReflectionToDynamicallyAccessedMembers | -| System.Byte[] System.Guid.ToByteArray() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Byte[] System.Guid.ToByteArray(System.Boolean) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Byte[] System.Reflection.Emit.RuntimeModuleBuilder.ResolveSignature(System.Int32) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Trimming changes metadata tokens | -| System.Byte[] System.Reflection.MethodBody.GetILAsByteArray() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Byte[] System.Reflection.Module.ResolveSignature(System.Int32) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Trimming changes metadata tokens | -| System.Byte[] System.Reflection.RuntimeModule.ResolveSignature(System.Int32) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Trimming changes metadata tokens | -| System.Byte[] System.Security.PermissionSet.ConvertPermissionSet(System.String,System.Byte[],System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Byte[] System.Text.UTF8Encoding.GetPreamble() | [NullableContextAttribute(...)] | 0 | 1 | -| System.CLSCompliantAttribute | [AttributeUsageAttribute(...)] | 0 | 32767 | -| System.CannotUnloadAppDomainException | [NullableAttribute(...)] | 0 | 0 | -| System.CannotUnloadAppDomainException | [NullableContextAttribute(...)] | 0 | 2 | -| System.CannotUnloadAppDomainException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Char System.BitConverter.ToChar(System.ReadOnlySpan<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Char System.Char.Parse(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Char System.Char.ToLower(System.Char,System.Globalization.CultureInfo) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Char System.Char.ToUpper(System.Char,System.Globalization.CultureInfo) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Char System.Convert.ToChar(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Char System.Convert.ToChar(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Char System.Convert.ToChar(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Char System.Convert.ToChar(System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Char System.Convert.ToChar(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Char System.Convert.ToChar(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Char System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.GetPinnableReference(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Char System.String.GetPinnableReference() | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Char* Interop.Kernel32.GetEnvironmentStringsW() | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Char[] System.IO.Path.GetInvalidFileNameChars() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Char[] System.IO.Path.GetInvalidPathChars() | [NullableContextAttribute(...)] | 0 | 1 | -| System.CodeDom.Compiler.GeneratedCodeAttribute | [AttributeUsageAttribute(...)] | 0 | 32767 | -| System.CodeDom.Compiler.GeneratedCodeAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.CodeDom.Compiler.GeneratedCodeAttribute | [NullableContextAttribute(...)] | 0 | 2 | -| System.CodeDom.Compiler.IndentedTextWriter | [NullableAttribute(...)] | 0 | 0 | -| System.CodeDom.Compiler.IndentedTextWriter | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.ArrayList | [DebuggerDisplayAttribute(...)] | 0 | Count = {Count} | -| System.Collections.ArrayList | [DebuggerTypeProxyAttribute(...)] | 0 | System.Collections.ArrayList.ArrayListDebugView | -| System.Collections.ArrayList | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Collections.ArrayList | [NullableAttribute(...)] | 0 | 0 | -| System.Collections.ArrayList | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.ArrayList | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Collections.ArrayList.FixedSizeArrayList | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Collections.ArrayList.FixedSizeList | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Collections.ArrayList.IListWrapper | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Collections.ArrayList.Range | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Collections.ArrayList.ReadOnlyArrayList | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Collections.ArrayList.ReadOnlyList | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Collections.ArrayList.SyncArrayList | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Collections.ArrayList.SyncIList | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Collections.Comparer | [NullableAttribute(...)] | 0 | 0 | -| System.Collections.Comparer | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.Comparer | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Collections.Concurrent.ConcurrentQueueSegment`1 | [DebuggerDisplayAttribute(...)] | 0 | Capacity = {Capacity} | -| System.Collections.Concurrent.ConcurrentQueueSegment`1.Slot | [DebuggerDisplayAttribute(...)] | 0 | Item = {Item}, SequenceNumber = {SequenceNumber} | -| System.Collections.Concurrent.ConcurrentQueue`1 | [DebuggerDisplayAttribute(...)] | 0 | Count = {Count} | -| System.Collections.Concurrent.ConcurrentQueue`1 | [DebuggerTypeProxyAttribute(...)] | 0 | System.Collections.Concurrent.IProducerConsumerCollectionDebugView`1 | -| System.Collections.Concurrent.ConcurrentQueue`1 | [NullableAttribute(...)] | 0 | 0 | -| System.Collections.Concurrent.ConcurrentQueue`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.Concurrent.IProducerConsumerCollection`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.Concurrent.MultiProducerMultiConsumerQueue`1 | [DebuggerDisplayAttribute(...)] | 0 | Count = {Count} | -| System.Collections.Concurrent.PaddedHeadAndTail | [DebuggerDisplayAttribute(...)] | 0 | Head = {Head}, Tail = {Tail} | -| System.Collections.Concurrent.SingleProducerSingleConsumerQueue`1 | [DebuggerDisplayAttribute(...)] | 0 | Count = {Count} | -| System.Collections.Concurrent.SingleProducerSingleConsumerQueue`1 | [DebuggerTypeProxyAttribute(...)] | 0 | System.Collections.Concurrent.SingleProducerSingleConsumerQueue`1.SingleProducerSingleConsumerQueue_DebugView | -| System.Collections.DictionaryEntry | [NullableAttribute(...)] | 0 | 0 | -| System.Collections.DictionaryEntry | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.DictionaryEntry | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Collections.EmptyReadOnlyDictionaryInternal | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Collections.Generic.ArrayBuilder`1 | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Collections.Generic.BitHelper | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.Collections.Generic.BitHelper | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.Collections.Generic.BitHelper | [ObsoleteAttribute(...)] | 1 | True | -| System.Collections.Generic.ByteEqualityComparer | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Collections.Generic.CollectionExtensions | [NullableAttribute(...)] | 0 | 0 | -| System.Collections.Generic.CollectionExtensions | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.Generic.Comparer`1 | [NullableAttribute(...)] | 0 | 0 | -| System.Collections.Generic.Comparer`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.Generic.Comparer`1 | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Collections.Generic.Dictionary<!0,!1>.Enumerator System.Collections.Generic.Dictionary`2.GetEnumerator() | [NullableContextAttribute(...)] | 0 | 0 | -| System.Collections.Generic.Dictionary<!0,!1>.KeyCollection System.Collections.Generic.Dictionary`2.Keys | [NullableAttribute(...)] | 0 | [1,0,0] | -| System.Collections.Generic.Dictionary<!0,!1>.ValueCollection System.Collections.Generic.Dictionary`2.Values | [NullableAttribute(...)] | 0 | [1,0,0] | -| System.Collections.Generic.Dictionary<System.Int64,System.WeakReference<System.Runtime.Loader.AssemblyLoadContext>> System.Runtime.Loader.AssemblyLoadContext.AllContexts | [MemberNotNullAttribute(...)] | 0 | s_allContexts | -| System.Collections.Generic.Dictionary<System.Int64,System.WeakReference<System.Runtime.Loader.AssemblyLoadContext>> System.Runtime.Loader.AssemblyLoadContext.get_AllContexts() | [MemberNotNullAttribute(...)] | 0 | s_allContexts | -| System.Collections.Generic.Dictionary`2 | [DebuggerDisplayAttribute(...)] | 0 | Count = {Count} | -| System.Collections.Generic.Dictionary`2 | [DebuggerTypeProxyAttribute(...)] | 0 | System.Collections.Generic.IDictionaryDebugView`2 | -| System.Collections.Generic.Dictionary`2 | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Collections.Generic.Dictionary`2 | [NullableAttribute(...)] | 0 | 0 | -| System.Collections.Generic.Dictionary`2 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.Generic.Dictionary`2 | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Collections.Generic.Dictionary`2.Enumerator | [NullableContextAttribute(...)] | 0 | 0 | -| System.Collections.Generic.Dictionary`2.KeyCollection | [DebuggerDisplayAttribute(...)] | 0 | Count = {Count} | -| System.Collections.Generic.Dictionary`2.KeyCollection | [DebuggerTypeProxyAttribute(...)] | 0 | System.Collections.Generic.DictionaryKeyCollectionDebugView`2 | -| System.Collections.Generic.Dictionary`2.KeyCollection | [NullableContextAttribute(...)] | 0 | 0 | -| System.Collections.Generic.Dictionary`2.ValueCollection | [DebuggerDisplayAttribute(...)] | 0 | Count = {Count} | -| System.Collections.Generic.Dictionary`2.ValueCollection | [DebuggerTypeProxyAttribute(...)] | 0 | System.Collections.Generic.DictionaryValueCollectionDebugView`2 | -| System.Collections.Generic.Dictionary`2.ValueCollection | [NullableContextAttribute(...)] | 0 | 0 | -| System.Collections.Generic.EnumEqualityComparer`1 | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Collections.Generic.EqualityComparer`1 | [NullableAttribute(...)] | 0 | 0 | -| System.Collections.Generic.EqualityComparer`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.Generic.EqualityComparer`1 | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Collections.Generic.GenericComparer`1 | [NullableAttribute(...)] | 0 | [0,1] | -| System.Collections.Generic.GenericComparer`1 | [NullableContextAttribute(...)] | 0 | 2 | -| System.Collections.Generic.GenericComparer`1 | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Collections.Generic.GenericEqualityComparer`1 | [NullableAttribute(...)] | 0 | [0,1] | -| System.Collections.Generic.GenericEqualityComparer`1 | [NullableContextAttribute(...)] | 0 | 2 | -| System.Collections.Generic.GenericEqualityComparer`1 | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Collections.Generic.HashSet<!0>.Enumerator System.Collections.Generic.HashSet`1.GetEnumerator() | [NullableContextAttribute(...)] | 0 | 0 | -| System.Collections.Generic.HashSet`1 | [DebuggerDisplayAttribute(...)] | 0 | Count = {Count} | -| System.Collections.Generic.HashSet`1 | [DebuggerTypeProxyAttribute(...)] | 0 | System.Collections.Generic.ICollectionDebugView`1 | -| System.Collections.Generic.HashSet`1 | [NullableAttribute(...)] | 0 | 0 | -| System.Collections.Generic.HashSet`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.Generic.HashSet`1 | [TypeForwardedFromAttribute(...)] | 0 | System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Collections.Generic.HashSet`1.Enumerator | [NullableContextAttribute(...)] | 0 | 0 | -| System.Collections.Generic.IAsyncEnumerable<System.String> System.IO.File.IterateFileLinesAsync(System.IO.StreamReader,System.String,System.Text.Encoding,System.Threading.CancellationToken,System.Threading.CancellationToken) | [AsyncIteratorStateMachineAttribute(...)] | 0 | System.IO.File.<IterateFileLinesAsync>d__110 | -| System.Collections.Generic.IAsyncEnumerable`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.Generic.ICollection`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.Generic.IComparer<!0> | [NullableAttribute(...)] | 0 | [2,1] | -| System.Collections.Generic.IComparer`1 | [NullableContextAttribute(...)] | 0 | 2 | -| System.Collections.Generic.IDictionary<System.String,System.String> | [NullableAttribute(...)] | 0 | [2,1,2] | -| System.Collections.Generic.IDictionary<System.String,System.String> System.Diagnostics.Tracing.EventCommandEventArgs.Arguments | [NullableAttribute(...)] | 0 | [2,1,2] | -| System.Collections.Generic.IDictionary`2 | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Collections.Generic.IDictionary`2 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.Generic.IEnumerable<!0> System.Runtime.InteropServices.MemoryMarshal.<ToEnumerable>g__FromArray\|18_2`1(!0[],System.Int32,System.Int32) | [IteratorStateMachineAttribute(...)] | 0 | System.Runtime.InteropServices.MemoryMarshal.<<ToEnumerable>g__FromArray\|18_2>d`1 | -| System.Collections.Generic.IEnumerable<!0> System.Runtime.InteropServices.MemoryMarshal.<ToEnumerable>g__FromMemoryManager\|18_1`1(System.ReadOnlyMemory<!0>) | [IteratorStateMachineAttribute(...)] | 0 | System.Runtime.InteropServices.MemoryMarshal.<<ToEnumerable>g__FromMemoryManager\|18_1>d`1 | -| System.Collections.Generic.IEnumerable<!0> System.Runtime.InteropServices.MemoryMarshal.ToEnumerable`1(System.ReadOnlyMemory<!0>) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.Generic.IEnumerable<!0> System.Threading.Tasks.TaskAsyncEnumerableExtensions.ToBlockingEnumerable`1(System.Collections.Generic.IAsyncEnumerable<!0>,System.Threading.CancellationToken) | [IteratorStateMachineAttribute(...)] | 0 | System.Threading.Tasks.TaskAsyncEnumerableExtensions.<ToBlockingEnumerable>d__3`1 | -| System.Collections.Generic.IEnumerable<!0> System.Threading.Tasks.TaskAsyncEnumerableExtensions.ToBlockingEnumerable`1(System.Collections.Generic.IAsyncEnumerable<!0>,System.Threading.CancellationToken) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Collections.Generic.IEnumerable<System.Char> System.Runtime.InteropServices.MemoryMarshal.<ToEnumerable>g__FromString\|18_0`1(System.String,System.Int32,System.Int32) | [IteratorStateMachineAttribute(...)] | 0 | System.Runtime.InteropServices.MemoryMarshal.<<ToEnumerable>g__FromString\|18_0>d`1 | -| System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<!0,!1>> | [NullableAttribute(...)] | 0 | [1,0,1,1] | -| System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<System.Object,System.String>> System.Diagnostics.Tracing.CounterPayload.get_ForEnumeration() | [IteratorStateMachineAttribute(...)] | 0 | System.Diagnostics.Tracing.CounterPayload.<get_ForEnumeration>d__51 | -| System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<System.Object,System.String>> System.Diagnostics.Tracing.IncrementingCounterPayload.get_ForEnumeration() | [IteratorStateMachineAttribute(...)] | 0 | System.Diagnostics.Tracing.IncrementingCounterPayload.<get_ForEnumeration>d__39 | -| System.Collections.Generic.IEnumerable<System.Diagnostics.Tracing.EventSource> System.Diagnostics.Tracing.EventSource.GetSources() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.Generic.IEnumerable<System.Object> System.Threading.ThreadPool.GetQueuedWorkItems() | [IteratorStateMachineAttribute(...)] | 0 | System.Threading.ThreadPool.<GetQueuedWorkItems>d__26 | -| System.Collections.Generic.IEnumerable<System.Reflection.Assembly> System.Runtime.Loader.AssemblyLoadContext.get_Assemblies() | [IteratorStateMachineAttribute(...)] | 0 | System.Runtime.Loader.AssemblyLoadContext.<get_Assemblies>d__55 | -| System.Collections.Generic.IEnumerable<System.Reflection.ConstructorInfo> System.Reflection.TypeInfo.get_DeclaredConstructors() | [DynamicallyAccessedMembersAttribute(...)] | 0 | 7 | -| System.Collections.Generic.IEnumerable<System.Reflection.Emit.CustomAttributeBuilder> | [NullableAttribute(...)] | 0 | [2,1] | -| System.Collections.Generic.IEnumerable<System.Reflection.EventInfo> System.Reflection.TypeInfo.get_DeclaredEvents() | [DynamicallyAccessedMembersAttribute(...)] | 0 | 6144 | -| System.Collections.Generic.IEnumerable<System.Reflection.FieldInfo> System.Reflection.TypeInfo.get_DeclaredFields() | [DynamicallyAccessedMembersAttribute(...)] | 0 | 96 | -| System.Collections.Generic.IEnumerable<System.Reflection.MemberInfo> System.Reflection.TypeInfo.get_DeclaredMembers() | [DynamicallyAccessedMembersAttribute(...)] | 0 | -1 | -| System.Collections.Generic.IEnumerable<System.Reflection.MethodInfo> System.Reflection.TypeInfo.GetDeclaredMethods(System.String) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 24 | -| System.Collections.Generic.IEnumerable<System.Reflection.MethodInfo> System.Reflection.TypeInfo.GetDeclaredMethods(System.String) | [IteratorStateMachineAttribute(...)] | 0 | System.Reflection.TypeInfo.<GetDeclaredMethods>d__10 | -| System.Collections.Generic.IEnumerable<System.Reflection.MethodInfo> System.Reflection.TypeInfo.get_DeclaredMethods() | [DynamicallyAccessedMembersAttribute(...)] | 0 | 24 | -| System.Collections.Generic.IEnumerable<System.Reflection.PropertyInfo> System.Reflection.TypeInfo.get_DeclaredProperties() | [DynamicallyAccessedMembersAttribute(...)] | 0 | 1536 | -| System.Collections.Generic.IEnumerable<System.Reflection.TypeInfo> System.Reflection.Assembly.get_DefinedTypes() | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types might be removed | -| System.Collections.Generic.IEnumerable<System.Reflection.TypeInfo> System.Reflection.RuntimeAssembly.get_DefinedTypes() | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types might be removed | -| System.Collections.Generic.IEnumerable<System.Reflection.TypeInfo> System.Reflection.TypeInfo.get_DeclaredNestedTypes() | [DynamicallyAccessedMembersAttribute(...)] | 0 | 384 | -| System.Collections.Generic.IEnumerable<System.Reflection.TypeInfo> System.Reflection.TypeInfo.get_DeclaredNestedTypes() | [IteratorStateMachineAttribute(...)] | 0 | System.Reflection.TypeInfo.<get_DeclaredNestedTypes>d__22 | -| System.Collections.Generic.IEnumerable<System.Runtime.Loader.AssemblyLoadContext> System.Runtime.Loader.AssemblyLoadContext.get_All() | [IteratorStateMachineAttribute(...)] | 0 | System.Runtime.Loader.AssemblyLoadContext.<get_All>d__85 | -| System.Collections.Generic.IEnumerable<System.Runtime.Loader.LibraryNameVariation> System.Runtime.Loader.LibraryNameVariation.DetermineLibraryNameVariations(System.String,System.Boolean) | [IteratorStateMachineAttribute(...)] | 0 | System.Runtime.Loader.LibraryNameVariation.<DetermineLibraryNameVariations>d__5 | -| System.Collections.Generic.IEnumerable<System.String> | [NullableAttribute(...)] | 0 | [1,2] | -| System.Collections.Generic.IEnumerable<System.Threading.Tasks.Task> System.Threading.Tasks.ThreadPoolTaskScheduler.FilterTasksFromWorkItems(System.Collections.Generic.IEnumerable<System.Object>) | [IteratorStateMachineAttribute(...)] | 0 | System.Threading.Tasks.ThreadPoolTaskScheduler.<FilterTasksFromWorkItems>d__6 | -| System.Collections.Generic.IEnumerable<System.Threading.TimerQueueTimer> System.Threading.TimerQueue.GetTimersForDebugger() | [IteratorStateMachineAttribute(...)] | 0 | System.Threading.TimerQueue.<GetTimersForDebugger>d__7 | -| System.Collections.Generic.IEnumerable<System.Type> System.Reflection.Assembly.get_ExportedTypes() | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types might be removed | -| System.Collections.Generic.IEnumerable<System.Type> System.Reflection.TypeInfo.get_ImplementedInterfaces() | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8192 | -| System.Collections.Generic.IEnumerator<!0> System.Collections.Concurrent.ConcurrentQueue`1.Enumerate(System.Collections.Concurrent.ConcurrentQueueSegment<!0>,System.Int32,System.Collections.Concurrent.ConcurrentQueueSegment<!0>,System.Int32) | [IteratorStateMachineAttribute(...)] | 0 | System.Collections.Concurrent.ConcurrentQueue`1.<Enumerate>d__26 | -| System.Collections.Generic.IEnumerator<!0> System.Collections.Concurrent.SingleProducerSingleConsumerQueue`1.GetEnumerator() | [IteratorStateMachineAttribute(...)] | 0 | System.Collections.Concurrent.SingleProducerSingleConsumerQueue`1.<GetEnumerator>d__15 | -| System.Collections.Generic.IEnumerator<!0> System.Collections.Generic.IEnumerable`1.GetEnumerator() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.Generic.IEnumerator<!0> System.IO.Enumeration.FileSystemEnumerable`1.GetEnumerator() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.Generic.IEnumerator<!1> System.Collections.ObjectModel.ReadOnlyDictionary`2.ValueCollection.GetEnumerator() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.Generic.IEnumerator<System.Collections.Generic.KeyValuePair<System.Object,System.String>> System.Diagnostics.Tracing.EventPayload.GetEnumerator() | [IteratorStateMachineAttribute(...)] | 0 | System.Diagnostics.Tracing.EventPayload.<GetEnumerator>d__17 | -| System.Collections.Generic.IEnumerator<System.Globalization.CultureInfo> System.Resources.ResourceFallbackManager.GetEnumerator() | [IteratorStateMachineAttribute(...)] | 0 | System.Resources.ResourceFallbackManager.<GetEnumerator>d__5 | -| System.Collections.Generic.IEqualityComparer<!0> | [NullableAttribute(...)] | 0 | [2,1] | -| System.Collections.Generic.IEqualityComparer<System.String> System.Collections.Generic.NonRandomizedStringEqualityComparer.GetStringComparer(System.Object) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.Generic.IEqualityComparer`1 | [NullableContextAttribute(...)] | 0 | 2 | -| System.Collections.Generic.IList<System.String> System.Runtime.CompilerServices.TupleElementNamesAttribute.TransformNames | [NullableAttribute(...)] | 0 | [1,2] | -| System.Collections.Generic.IList`1 | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Collections.Generic.IList`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.Generic.IReadOnlyDictionary<!0,!1> | [NullableAttribute(...)] | 0 | 1 | -| System.Collections.Generic.IReadOnlyDictionary`2 | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Collections.Generic.IReadOnlyDictionary`2 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.Generic.IReadOnlyList<System.Memory<System.Byte>> | [NullableAttribute(...)] | 0 | [1,0] | -| System.Collections.Generic.IReadOnlyList<System.ReadOnlyMemory<System.Byte>> | [NullableAttribute(...)] | 0 | [1,0] | -| System.Collections.Generic.IReadOnlyList`1 | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Collections.Generic.IReadOnlyList`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.Generic.IReadOnlySet`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.Generic.ISet`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.Generic.KeyNotFoundException | [NullableAttribute(...)] | 0 | 0 | -| System.Collections.Generic.KeyNotFoundException | [NullableContextAttribute(...)] | 0 | 2 | -| System.Collections.Generic.KeyNotFoundException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Collections.Generic.KeyValuePair<!0,!1> System.Collections.Generic.Dictionary`2.Enumerator.Current | [NullableAttribute(...)] | 0 | [0,1,1] | -| System.Collections.Generic.KeyValuePair<!0,!1> System.Collections.Generic.KeyValuePair.Create`2(!0,!1) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.Generic.KeyValuePair<!0,!1>[] System.Collections.Generic.IDictionaryDebugView`2.Items | [DebuggerBrowsableAttribute(...)] | 0 | 3 | -| System.Collections.Generic.KeyValuePair`2 | [NullableAttribute(...)] | 0 | 0 | -| System.Collections.Generic.KeyValuePair`2 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.Generic.KeyValuePair`2 | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Collections.Generic.KeyValuePair`2.key | [DebuggerBrowsableAttribute(...)] | 0 | 0 | -| System.Collections.Generic.KeyValuePair`2.value | [DebuggerBrowsableAttribute(...)] | 0 | 0 | -| System.Collections.Generic.List<!0> | [NullableAttribute(...)] | 0 | [2,1] | -| System.Collections.Generic.List<!0> System.Threading.ThreadLocal`1.ValuesForDebugDisplay | [NullableAttribute(...)] | 0 | [2,1] | -| System.Collections.Generic.List<!0>.Enumerator System.Collections.Generic.List`1.GetEnumerator() | [NullableContextAttribute(...)] | 0 | 0 | -| System.Collections.Generic.List<System.ValueTuple<System.Int32,System.Int32,System.String,System.String>> | [TupleElementNamesAttribute(...)] | 0 | [Literal,ArgIndex,Alignment,Format] | -| System.Collections.Generic.List`1 | [DebuggerDisplayAttribute(...)] | 0 | Count = {Count} | -| System.Collections.Generic.List`1 | [DebuggerTypeProxyAttribute(...)] | 0 | System.Collections.Generic.ICollectionDebugView`1 | -| System.Collections.Generic.List`1 | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Collections.Generic.List`1 | [NullableAttribute(...)] | 0 | 0 | -| System.Collections.Generic.List`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.Generic.List`1 | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Collections.Generic.List`1.Enumerator | [NullableContextAttribute(...)] | 0 | 0 | -| System.Collections.Generic.NullableComparer`1 | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Collections.Generic.NullableEqualityComparer`1 | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Collections.Generic.ObjectComparer`1 | [NullableAttribute(...)] | 0 | [0,1] | -| System.Collections.Generic.ObjectComparer`1 | [NullableContextAttribute(...)] | 0 | 2 | -| System.Collections.Generic.ObjectComparer`1 | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Collections.Generic.ObjectEqualityComparer`1 | [NullableAttribute(...)] | 0 | [0,1] | -| System.Collections.Generic.ObjectEqualityComparer`1 | [NullableContextAttribute(...)] | 0 | 2 | -| System.Collections.Generic.ObjectEqualityComparer`1 | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Collections.Generic.Queue<!0>.Enumerator System.Collections.Generic.Queue`1.GetEnumerator() | [NullableContextAttribute(...)] | 0 | 0 | -| System.Collections.Generic.Queue`1 | [DebuggerDisplayAttribute(...)] | 0 | Count = {Count} | -| System.Collections.Generic.Queue`1 | [DebuggerTypeProxyAttribute(...)] | 0 | System.Collections.Generic.QueueDebugView`1 | -| System.Collections.Generic.Queue`1 | [NullableAttribute(...)] | 0 | 0 | -| System.Collections.Generic.Queue`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.Generic.Queue`1 | [TypeForwardedFromAttribute(...)] | 0 | System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Collections.Generic.Queue`1.Enumerator | [NullableContextAttribute(...)] | 0 | 0 | -| System.Collections.Generic.ReferenceEqualityComparer System.Collections.Generic.ReferenceEqualityComparer.Instance | [NullableAttribute(...)] | 0 | 1 | -| System.Collections.Generic.ReferenceEqualityComparer System.Collections.Generic.ReferenceEqualityComparer.get_Instance() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.Generic.ValueListBuilder`1 | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.Collections.Generic.ValueListBuilder`1 | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Collections.Generic.ValueListBuilder`1 | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.Collections.Generic.ValueListBuilder`1 | [ObsoleteAttribute(...)] | 1 | True | -| System.Collections.Hashtable | [DebuggerDisplayAttribute(...)] | 0 | Count = {Count} | -| System.Collections.Hashtable | [DebuggerTypeProxyAttribute(...)] | 0 | System.Collections.Hashtable.HashtableDebugView | -| System.Collections.Hashtable | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Collections.Hashtable | [NullableAttribute(...)] | 0 | 0 | -| System.Collections.Hashtable | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.Hashtable | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Collections.Hashtable.SyncHashtable | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Collections.ICollection | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.IComparer | [NullableAttribute(...)] | 0 | 2 | -| System.Collections.IComparer | [NullableContextAttribute(...)] | 0 | 2 | -| System.Collections.IComparer System.Collections.Hashtable.comparer | [NullableAttribute(...)] | 0 | 2 | -| System.Collections.IComparer System.Collections.Hashtable.comparer | [ObsoleteAttribute(...)] | 0 | Hashtable.comparer has been deprecated. Use the KeyComparer properties instead. | -| System.Collections.IComparer System.Collections.Hashtable.get_comparer() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Collections.IDictionary | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Collections.IDictionary | [NullableAttribute(...)] | 0 | 1 | -| System.Collections.IDictionary | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.IDictionary System.Exception.Data | [NullableAttribute(...)] | 0 | 1 | -| System.Collections.IDictionary System.Exception.get_Data() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.IDictionaryEnumerator | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.IDictionaryEnumerator System.Resources.IResourceReader.GetEnumerator() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.IDictionaryEnumerator System.Resources.ResourceReader.GetEnumerator() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.IEnumerable | [ComVisibleAttribute(...)] | 0 | True | -| System.Collections.IEnumerable | [GuidAttribute(...)] | 0 | 496B0ABE-CDEE-11d3-88E8-00902754C43A | -| System.Collections.IEnumerable | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.IEnumerator System.Runtime.InteropServices.ComTypes.IEnumerable.GetEnumerator() | [DispIdAttribute(...)] | 0 | -4 | -| System.Collections.IEnumerator System.Security.PermissionSet.GetEnumerator() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.IEnumerator System.Security.PermissionSet.GetEnumeratorImpl() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.IEqualityComparer | [NullableAttribute(...)] | 0 | 2 | -| System.Collections.IEqualityComparer | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.IEqualityComparer System.Collections.Hashtable.EqualityComparer | [NullableAttribute(...)] | 0 | 2 | -| System.Collections.IEqualityComparer System.Collections.Hashtable.get_EqualityComparer() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Collections.IHashCodeProvider | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.IHashCodeProvider | [ObsoleteAttribute(...)] | 0 | IHashCodeProvider has been deprecated. Use IEqualityComparer instead. | -| System.Collections.IHashCodeProvider | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Collections.IHashCodeProvider System.Collections.Hashtable.get_hcp() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Collections.IHashCodeProvider System.Collections.Hashtable.hcp | [NullableAttribute(...)] | 0 | 2 | -| System.Collections.IHashCodeProvider System.Collections.Hashtable.hcp | [ObsoleteAttribute(...)] | 0 | Hashtable.hcp has been deprecated. Use the EqualityComparer property instead. | -| System.Collections.IList | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Collections.IList | [NullableContextAttribute(...)] | 0 | 2 | -| System.Collections.IStructuralComparable | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.IStructuralEquatable | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.KeyValuePairs | [DebuggerDisplayAttribute(...)] | 0 | {_value} | -| System.Collections.KeyValuePairs._key | [DebuggerBrowsableAttribute(...)] | 0 | 0 | -| System.Collections.KeyValuePairs._value | [DebuggerBrowsableAttribute(...)] | 0 | 0 | -| System.Collections.KeyValuePairs[] System.Collections.Hashtable.HashtableDebugView.Items | [DebuggerBrowsableAttribute(...)] | 0 | 3 | -| System.Collections.ListDictionaryInternal | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Collections.ListDictionaryInternal | [NullableAttribute(...)] | 0 | 0 | -| System.Collections.ListDictionaryInternal | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.ListDictionaryInternal | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Collections.ObjectModel.Collection`1 | [DebuggerDisplayAttribute(...)] | 0 | Count = {Count} | -| System.Collections.ObjectModel.Collection`1 | [DebuggerTypeProxyAttribute(...)] | 0 | System.Collections.Generic.ICollectionDebugView`1 | -| System.Collections.ObjectModel.Collection`1 | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Collections.ObjectModel.Collection`1 | [NullableAttribute(...)] | 0 | 0 | -| System.Collections.ObjectModel.Collection`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.ObjectModel.Collection`1 | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Collections.ObjectModel.ReadOnlyCollection<System.String> System.Diagnostics.Tracing.EventWrittenEventArgs.PayloadNames | [NullableAttribute(...)] | 0 | [2,1] | -| System.Collections.ObjectModel.ReadOnlyCollection`1 | [DebuggerDisplayAttribute(...)] | 0 | Count = {Count} | -| System.Collections.ObjectModel.ReadOnlyCollection`1 | [DebuggerTypeProxyAttribute(...)] | 0 | System.Collections.Generic.ICollectionDebugView`1 | -| System.Collections.ObjectModel.ReadOnlyCollection`1 | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Collections.ObjectModel.ReadOnlyCollection`1 | [NullableAttribute(...)] | 0 | 0 | -| System.Collections.ObjectModel.ReadOnlyCollection`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.ObjectModel.ReadOnlyCollection`1 | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Collections.ObjectModel.ReadOnlyDictionary<!0,!1>.KeyCollection System.Collections.ObjectModel.ReadOnlyDictionary`2.Keys | [NullableAttribute(...)] | 0 | [1,0,0] | -| System.Collections.ObjectModel.ReadOnlyDictionary<!0,!1>.ValueCollection System.Collections.ObjectModel.ReadOnlyDictionary`2.Values | [NullableAttribute(...)] | 0 | [1,0,0] | -| System.Collections.ObjectModel.ReadOnlyDictionary`2 | [DebuggerDisplayAttribute(...)] | 0 | Count = {Count} | -| System.Collections.ObjectModel.ReadOnlyDictionary`2 | [DebuggerTypeProxyAttribute(...)] | 0 | System.Collections.Generic.IDictionaryDebugView`2 | -| System.Collections.ObjectModel.ReadOnlyDictionary`2 | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Collections.ObjectModel.ReadOnlyDictionary`2 | [NullableAttribute(...)] | 0 | 0 | -| System.Collections.ObjectModel.ReadOnlyDictionary`2 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Collections.ObjectModel.ReadOnlyDictionary`2 | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Collections.ObjectModel.ReadOnlyDictionary`2.KeyCollection | [DebuggerDisplayAttribute(...)] | 0 | Count = {Count} | -| System.Collections.ObjectModel.ReadOnlyDictionary`2.KeyCollection | [DebuggerTypeProxyAttribute(...)] | 0 | System.Collections.Generic.ICollectionDebugView`1 | -| System.Collections.ObjectModel.ReadOnlyDictionary`2.KeyCollection | [NullableAttribute(...)] | 0 | 0 | -| System.Collections.ObjectModel.ReadOnlyDictionary`2.ValueCollection | [DebuggerDisplayAttribute(...)] | 0 | Count = {Count} | -| System.Collections.ObjectModel.ReadOnlyDictionary`2.ValueCollection | [DebuggerTypeProxyAttribute(...)] | 0 | System.Collections.Generic.ICollectionDebugView`1 | -| System.Collections.ObjectModel.ReadOnlyDictionary`2.ValueCollection | [NullableContextAttribute(...)] | 0 | 0 | -| System.Comparison<!0> | [NullableAttribute(...)] | 0 | 1 | -| System.ComponentModel.DefaultValueAttribute | [AttributeUsageAttribute(...)] | 0 | 32767 | -| System.ComponentModel.DefaultValueAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.ComponentModel.DefaultValueAttribute | [NullableContextAttribute(...)] | 0 | 2 | -| System.ComponentModel.EditorBrowsableAttribute | [AttributeUsageAttribute(...)] | 0 | 6140 | -| System.ComponentModel.Win32Exception | [NullableAttribute(...)] | 0 | 0 | -| System.ComponentModel.Win32Exception | [NullableContextAttribute(...)] | 0 | 1 | -| System.ComponentModel.Win32Exception | [TypeForwardedFromAttribute(...)] | 0 | System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Configuration.Assemblies.AssemblyHashAlgorithm System.Reflection.AssemblyName.HashAlgorithm | [ObsoleteAttribute(...)] | 0 | AssemblyName members HashAlgorithm, ProcessorArchitecture, and VersionCompatibility are obsolete and not supported. | -| System.Configuration.Assemblies.AssemblyHashAlgorithm System.Reflection.RuntimeAssembly.GetHashAlgorithm(System.Runtime.CompilerServices.QCallAssembly) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Configuration.Assemblies.AssemblyVersionCompatibility System.Reflection.AssemblyName.VersionCompatibility | [ObsoleteAttribute(...)] | 0 | AssemblyName members HashAlgorithm, ProcessorArchitecture, and VersionCompatibility are obsolete and not supported. | -| System.Console | [NullableAttribute(...)] | 0 | 0 | -| System.Console | [NullableContextAttribute(...)] | 0 | 1 | -| System.Console.CancelKeyPress | [NullableAttribute(...)] | 0 | 2 | -| System.Console.CancelKeyPress | [UnsupportedOSPlatformAttribute(...)] | 0 | android | -| System.Console.CancelKeyPress | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Console.CancelKeyPress | [UnsupportedOSPlatformAttribute(...)] | 0 | ios | -| System.Console.CancelKeyPress | [UnsupportedOSPlatformAttribute(...)] | 0 | tvos | -| System.ConsoleCancelEventArgs | [NullableAttribute(...)] | 0 | 1 | -| System.ConsoleColor System.Console.BackgroundColor | [UnsupportedOSPlatformAttribute(...)] | 0 | android | -| System.ConsoleColor System.Console.BackgroundColor | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.ConsoleColor System.Console.BackgroundColor | [UnsupportedOSPlatformAttribute(...)] | 0 | ios | -| System.ConsoleColor System.Console.BackgroundColor | [UnsupportedOSPlatformAttribute(...)] | 0 | tvos | -| System.ConsoleColor System.Console.ForegroundColor | [UnsupportedOSPlatformAttribute(...)] | 0 | android | -| System.ConsoleColor System.Console.ForegroundColor | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.ConsoleColor System.Console.ForegroundColor | [UnsupportedOSPlatformAttribute(...)] | 0 | ios | -| System.ConsoleColor System.Console.ForegroundColor | [UnsupportedOSPlatformAttribute(...)] | 0 | tvos | -| System.ConsoleKeyInfo System.Console.ReadKey() | [UnsupportedOSPlatformAttribute(...)] | 0 | android | -| System.ConsoleKeyInfo System.Console.ReadKey() | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.ConsoleKeyInfo System.Console.ReadKey() | [UnsupportedOSPlatformAttribute(...)] | 0 | ios | -| System.ConsoleKeyInfo System.Console.ReadKey() | [UnsupportedOSPlatformAttribute(...)] | 0 | tvos | -| System.ConsoleKeyInfo System.Console.ReadKey(System.Boolean) | [UnsupportedOSPlatformAttribute(...)] | 0 | android | -| System.ConsoleKeyInfo System.Console.ReadKey(System.Boolean) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.ConsoleKeyInfo System.Console.ReadKey(System.Boolean) | [UnsupportedOSPlatformAttribute(...)] | 0 | ios | -| System.ConsoleKeyInfo System.Console.ReadKey(System.Boolean) | [UnsupportedOSPlatformAttribute(...)] | 0 | tvos | -| System.ContextMarshalException | [NullableAttribute(...)] | 0 | 0 | -| System.ContextMarshalException | [NullableContextAttribute(...)] | 0 | 2 | -| System.ContextMarshalException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.ContextStaticAttribute | [AttributeUsageAttribute(...)] | 0 | 256 | -| System.Convert | [NullableAttribute(...)] | 0 | 0 | -| System.Convert | [NullableContextAttribute(...)] | 0 | 2 | -| System.Convert.DBNull | [NullableAttribute(...)] | 0 | 1 | -| System.CultureAwareComparer | [NullableAttribute(...)] | 0 | 0 | -| System.CultureAwareComparer | [NullableContextAttribute(...)] | 0 | 2 | -| System.CultureAwareComparer | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.CurrentSystemTimeZone | [ObsoleteAttribute(...)] | 0 | System.CurrentSystemTimeZone has been deprecated. Investigate the use of System.TimeZoneInfo.Local instead. | -| System.DBNull | [NullableAttribute(...)] | 0 | 0 | -| System.DBNull | [NullableContextAttribute(...)] | 0 | 1 | -| System.DTSubString | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.DTSubString | [DefaultMemberAttribute(...)] | 0 | Item | -| System.DTSubString | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.DTSubString | [ObsoleteAttribute(...)] | 1 | True | -| System.DataMisalignedException | [NullableAttribute(...)] | 0 | 0 | -| System.DataMisalignedException | [NullableContextAttribute(...)] | 0 | 2 | -| System.DataMisalignedException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.DateOnly System.DateOnly.Parse(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.DateOnly System.DateOnly.Parse(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.DateOnly System.DateOnly.Parse(System.String,System.IFormatProvider,System.Globalization.DateTimeStyles) | [NullableContextAttribute(...)] | 0 | 1 | -| System.DateOnly System.DateOnly.ParseExact(System.String,System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.DateOnly System.DateOnly.ParseExact(System.String,System.String,System.IFormatProvider,System.Globalization.DateTimeStyles) | [NullableContextAttribute(...)] | 0 | 1 | -| System.DateOnly System.DateOnly.ParseExact(System.String,System.String[]) | [NullableContextAttribute(...)] | 0 | 1 | -| System.DateOnly System.DateOnly.ParseExact(System.String,System.String[],System.IFormatProvider,System.Globalization.DateTimeStyles) | [NullableContextAttribute(...)] | 0 | 1 | -| System.DateTime | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.DateTime System.Convert.ToDateTime(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.DateTime System.Convert.ToDateTime(System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.DateTime System.Convert.ToDateTime(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.DateTime System.Convert.ToDateTime(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.DateTime System.DateTime.Parse(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.DateTime System.DateTime.Parse(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.DateTime System.DateTime.Parse(System.String,System.IFormatProvider,System.Globalization.DateTimeStyles) | [NullableContextAttribute(...)] | 0 | 1 | -| System.DateTime System.DateTime.ParseExact(System.String,System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.DateTime System.DateTime.ParseExact(System.String,System.String,System.IFormatProvider,System.Globalization.DateTimeStyles) | [NullableContextAttribute(...)] | 0 | 1 | -| System.DateTime System.DateTime.ParseExact(System.String,System.String[],System.IFormatProvider,System.Globalization.DateTimeStyles) | [NullableContextAttribute(...)] | 0 | 1 | -| System.DateTimeOffset | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.DateTimeOffset System.DateTimeOffset.Parse(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.DateTimeOffset System.DateTimeOffset.Parse(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.DateTimeOffset System.DateTimeOffset.Parse(System.String,System.IFormatProvider,System.Globalization.DateTimeStyles) | [NullableContextAttribute(...)] | 0 | 1 | -| System.DateTimeOffset System.DateTimeOffset.ParseExact(System.String,System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.DateTimeOffset System.DateTimeOffset.ParseExact(System.String,System.String,System.IFormatProvider,System.Globalization.DateTimeStyles) | [NullableContextAttribute(...)] | 0 | 1 | -| System.DateTimeOffset System.DateTimeOffset.ParseExact(System.String,System.String[],System.IFormatProvider,System.Globalization.DateTimeStyles) | [NullableContextAttribute(...)] | 0 | 1 | -| System.DateTimeResult | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.DateTimeResult | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.DateTimeResult | [ObsoleteAttribute(...)] | 1 | True | -| System.Decimal System.Convert.ToDecimal(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Decimal System.Convert.ToDecimal(System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Decimal System.Convert.ToDecimal(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Decimal System.Convert.ToDecimal(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Decimal System.Decimal.CreateChecked`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Decimal System.Decimal.CreateSaturating`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Decimal System.Decimal.CreateTruncating`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Decimal System.Decimal.Parse(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Decimal System.Decimal.Parse(System.String,System.Globalization.NumberStyles) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Decimal System.Decimal.Parse(System.String,System.Globalization.NumberStyles,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Decimal System.Decimal.Parse(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Decimal System.Decimal.op_Implicit(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Decimal System.Decimal.op_Implicit(System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Decimal System.Decimal.op_Implicit(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Decimal System.Decimal.op_Implicit(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Delegate | [ClassInterfaceAttribute(...)] | 0 | 0 | -| System.Delegate | [ComVisibleAttribute(...)] | 0 | True | -| System.Delegate | [NullableAttribute(...)] | 0 | 0 | -| System.Delegate | [NullableAttribute(...)] | 0 | 2 | -| System.Delegate | [NullableContextAttribute(...)] | 0 | 1 | -| System.Delegate System.Delegate.Combine(System.Delegate,System.Delegate) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Delegate System.Delegate.Combine(System.Delegate[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Delegate System.Delegate.CreateDelegate(System.Type,System.Object,System.String) | [RequiresUnreferencedCodeAttribute(...)] | 0 | The target method might be removed | -| System.Delegate System.Delegate.CreateDelegate(System.Type,System.Object,System.String,System.Boolean) | [RequiresUnreferencedCodeAttribute(...)] | 0 | The target method might be removed | -| System.Delegate System.Delegate.CreateDelegate(System.Type,System.Object,System.String,System.Boolean,System.Boolean) | [RequiresUnreferencedCodeAttribute(...)] | 0 | The target method might be removed | -| System.Delegate System.Delegate.Remove(System.Delegate,System.Delegate) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Delegate System.Delegate.RemoveAll(System.Delegate,System.Delegate) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Delegate System.Diagnostics.Tracing.PropertyValue.TypeHelper.GetGetMethod(System.Reflection.PropertyInfo,System.Type) | [UnconditionalSuppressMessageAttribute(...)] | 0 | AotAnalysis | -| System.Delegate System.Diagnostics.Tracing.PropertyValue.TypeHelper.GetGetMethod(System.Reflection.PropertyInfo,System.Type) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL3050:AotUnfriendlyApi | -| System.Delegate System.Runtime.InteropServices.Marshal.GetDelegateForFunctionPointer(System.IntPtr,System.Type) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Delegate System.Runtime.InteropServices.Marshal.GetDelegateForFunctionPointer(System.IntPtr,System.Type) | [RequiresDynamicCodeAttribute(...)] | 0 | Marshalling code for the delegate might not be available. Use the GetDelegateForFunctionPointer<TDelegate> overload instead. | -| System.Diagnostics.CodeAnalysis.AllowNullAttribute | [AttributeUsageAttribute(...)] | 0 | 2432 | -| System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute | [AttributeUsageAttribute(...)] | 0 | 2048 | -| System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute | [NullableContextAttribute(...)] | 0 | 2 | -| System.Diagnostics.CodeAnalysis.DisallowNullAttribute | [AttributeUsageAttribute(...)] | 0 | 2432 | -| System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute | [AttributeUsageAttribute(...)] | 0 | 64 | -| System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute | [AttributeUsageAttribute(...)] | 0 | 2048 | -| System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute | [AttributeUsageAttribute(...)] | 0 | 352 | -| System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute | [NullableContextAttribute(...)] | 0 | 2 | -| System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute | [AttributeUsageAttribute(...)] | 0 | 28108 | -| System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute | [AttributeUsageAttribute(...)] | 0 | 749 | -| System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute | [NullableContextAttribute(...)] | 0 | 2 | -| System.Diagnostics.CodeAnalysis.ExperimentalAttribute | [AttributeUsageAttribute(...)] | 0 | 6143 | -| System.Diagnostics.CodeAnalysis.ExperimentalAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.CodeAnalysis.ExperimentalAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Diagnostics.CodeAnalysis.MaybeNullAttribute | [AttributeUsageAttribute(...)] | 0 | 10624 | -| System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute | [AttributeUsageAttribute(...)] | 0 | 2048 | -| System.Diagnostics.CodeAnalysis.MemberNotNullAttribute | [AttributeUsageAttribute(...)] | 0 | 192 | -| System.Diagnostics.CodeAnalysis.MemberNotNullAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.CodeAnalysis.MemberNotNullAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute | [AttributeUsageAttribute(...)] | 0 | 192 | -| System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Diagnostics.CodeAnalysis.NotNullAttribute | [AttributeUsageAttribute(...)] | 0 | 10624 | -| System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute | [AttributeUsageAttribute(...)] | 0 | 10368 | -| System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Diagnostics.CodeAnalysis.NotNullWhenAttribute | [AttributeUsageAttribute(...)] | 0 | 2048 | -| System.Diagnostics.CodeAnalysis.RequiresAssemblyFilesAttribute | [AttributeUsageAttribute(...)] | 0 | 736 | -| System.Diagnostics.CodeAnalysis.RequiresAssemblyFilesAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.CodeAnalysis.RequiresAssemblyFilesAttribute | [NullableContextAttribute(...)] | 0 | 2 | -| System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute | [AttributeUsageAttribute(...)] | 0 | 100 | -| System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute | [AttributeUsageAttribute(...)] | 0 | 100 | -| System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Diagnostics.CodeAnalysis.SetsRequiredMembersAttribute | [AttributeUsageAttribute(...)] | 0 | 32 | -| System.Diagnostics.CodeAnalysis.StringSyntaxAttribute | [AttributeUsageAttribute(...)] | 0 | 2432 | -| System.Diagnostics.CodeAnalysis.StringSyntaxAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.CodeAnalysis.StringSyntaxAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Diagnostics.CodeAnalysis.SuppressMessageAttribute | [AttributeUsageAttribute(...)] | 0 | 32767 | -| System.Diagnostics.CodeAnalysis.SuppressMessageAttribute | [ConditionalAttribute(...)] | 0 | CODE_ANALYSIS | -| System.Diagnostics.CodeAnalysis.SuppressMessageAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.CodeAnalysis.SuppressMessageAttribute | [NullableContextAttribute(...)] | 0 | 2 | -| System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute | [AttributeUsageAttribute(...)] | 0 | 32767 | -| System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute | [NullableContextAttribute(...)] | 0 | 2 | -| System.Diagnostics.CodeAnalysis.UnscopedRefAttribute | [AttributeUsageAttribute(...)] | 0 | 2240 | -| System.Diagnostics.ConditionalAttribute | [AttributeUsageAttribute(...)] | 0 | 68 | -| System.Diagnostics.ConditionalAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.ConditionalAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Diagnostics.Contracts.Contract | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.Contracts.Contract | [NullableContextAttribute(...)] | 0 | 1 | -| System.Diagnostics.Contracts.Contract.ContractFailed | [NullableAttribute(...)] | 0 | [2,1] | -| System.Diagnostics.Contracts.ContractAbbreviatorAttribute | [AttributeUsageAttribute(...)] | 0 | 64 | -| System.Diagnostics.Contracts.ContractAbbreviatorAttribute | [ConditionalAttribute(...)] | 0 | CONTRACTS_FULL | -| System.Diagnostics.Contracts.ContractArgumentValidatorAttribute | [AttributeUsageAttribute(...)] | 0 | 64 | -| System.Diagnostics.Contracts.ContractArgumentValidatorAttribute | [ConditionalAttribute(...)] | 0 | CONTRACTS_FULL | -| System.Diagnostics.Contracts.ContractClassAttribute | [AttributeUsageAttribute(...)] | 0 | 5124 | -| System.Diagnostics.Contracts.ContractClassAttribute | [ConditionalAttribute(...)] | 0 | CONTRACTS_FULL | -| System.Diagnostics.Contracts.ContractClassAttribute | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Diagnostics.Contracts.ContractClassAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.Contracts.ContractClassAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Diagnostics.Contracts.ContractClassForAttribute | [AttributeUsageAttribute(...)] | 0 | 4 | -| System.Diagnostics.Contracts.ContractClassForAttribute | [ConditionalAttribute(...)] | 0 | CONTRACTS_FULL | -| System.Diagnostics.Contracts.ContractClassForAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.Contracts.ContractClassForAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Diagnostics.Contracts.ContractException | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.Contracts.ContractException | [NullableContextAttribute(...)] | 0 | 2 | -| System.Diagnostics.Contracts.ContractException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Diagnostics.Contracts.ContractFailedEventArgs | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.Contracts.ContractFailedEventArgs | [NullableContextAttribute(...)] | 0 | 2 | -| System.Diagnostics.Contracts.ContractFailureKind | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Diagnostics.Contracts.ContractInvariantMethodAttribute | [AttributeUsageAttribute(...)] | 0 | 64 | -| System.Diagnostics.Contracts.ContractInvariantMethodAttribute | [ConditionalAttribute(...)] | 0 | CONTRACTS_FULL | -| System.Diagnostics.Contracts.ContractOptionAttribute | [AttributeUsageAttribute(...)] | 0 | 32767 | -| System.Diagnostics.Contracts.ContractOptionAttribute | [ConditionalAttribute(...)] | 0 | CONTRACTS_FULL | -| System.Diagnostics.Contracts.ContractOptionAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.Contracts.ContractOptionAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Diagnostics.Contracts.ContractPublicPropertyNameAttribute | [AttributeUsageAttribute(...)] | 0 | 256 | -| System.Diagnostics.Contracts.ContractPublicPropertyNameAttribute | [ConditionalAttribute(...)] | 0 | CONTRACTS_FULL | -| System.Diagnostics.Contracts.ContractPublicPropertyNameAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.Contracts.ContractPublicPropertyNameAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Diagnostics.Contracts.ContractReferenceAssemblyAttribute | [AttributeUsageAttribute(...)] | 0 | 1 | -| System.Diagnostics.Contracts.ContractRuntimeIgnoredAttribute | [AttributeUsageAttribute(...)] | 0 | 192 | -| System.Diagnostics.Contracts.ContractRuntimeIgnoredAttribute | [ConditionalAttribute(...)] | 0 | CONTRACTS_FULL | -| System.Diagnostics.Contracts.ContractVerificationAttribute | [AttributeUsageAttribute(...)] | 0 | 237 | -| System.Diagnostics.Contracts.ContractVerificationAttribute | [ConditionalAttribute(...)] | 0 | CONTRACTS_FULL | -| System.Diagnostics.Contracts.PureAttribute | [AttributeUsageAttribute(...)] | 0 | 6884 | -| System.Diagnostics.Contracts.PureAttribute | [ConditionalAttribute(...)] | 0 | CONTRACTS_FULL | -| System.Diagnostics.Debug | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.Debug | [NullableContextAttribute(...)] | 0 | 2 | -| System.Diagnostics.Debug.AssertInterpolatedStringHandler | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Diagnostics.Debug.AssertInterpolatedStringHandler | [InterpolatedStringHandlerArgumentAttribute(...)] | 0 | condition | -| System.Diagnostics.Debug.AssertInterpolatedStringHandler | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.Debug.WriteIfInterpolatedStringHandler | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Diagnostics.Debug.WriteIfInterpolatedStringHandler | [InterpolatedStringHandlerArgumentAttribute(...)] | 0 | condition | -| System.Diagnostics.Debug.WriteIfInterpolatedStringHandler | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.DebugProvider | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.DebugProvider | [NullableContextAttribute(...)] | 0 | 2 | -| System.Diagnostics.DebugProvider System.Diagnostics.Debug.SetProvider(System.Diagnostics.DebugProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Diagnostics.DebuggableAttribute | [AttributeUsageAttribute(...)] | 0 | 3 | -| System.Diagnostics.Debugger | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.Debugger | [NullableContextAttribute(...)] | 0 | 2 | -| System.Diagnostics.DebuggerBrowsableAttribute | [AttributeUsageAttribute(...)] | 0 | 384 | -| System.Diagnostics.DebuggerDisplayAttribute | [AttributeUsageAttribute(...)] | 0 | 4509 | -| System.Diagnostics.DebuggerDisplayAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.DebuggerDisplayAttribute | [NullableContextAttribute(...)] | 0 | 2 | -| System.Diagnostics.DebuggerHiddenAttribute | [AttributeUsageAttribute(...)] | 0 | 224 | -| System.Diagnostics.DebuggerNonUserCodeAttribute | [AttributeUsageAttribute(...)] | 0 | 236 | -| System.Diagnostics.DebuggerStepThroughAttribute | [AttributeUsageAttribute(...)] | 0 | 108 | -| System.Diagnostics.DebuggerStepperBoundaryAttribute | [AttributeUsageAttribute(...)] | 0 | 96 | -| System.Diagnostics.DebuggerTypeProxyAttribute | [AttributeUsageAttribute(...)] | 0 | 13 | -| System.Diagnostics.DebuggerTypeProxyAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.DebuggerTypeProxyAttribute | [NullableContextAttribute(...)] | 0 | 2 | -| System.Diagnostics.DebuggerVisualizerAttribute | [AttributeUsageAttribute(...)] | 0 | 13 | -| System.Diagnostics.DebuggerVisualizerAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.DebuggerVisualizerAttribute | [NullableContextAttribute(...)] | 0 | 2 | -| System.Diagnostics.StackFrame | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.StackFrame | [NullableContextAttribute(...)] | 0 | 2 | -| System.Diagnostics.StackFrame System.Diagnostics.StackTrace.GetFrame(System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Diagnostics.StackFrameExtensions | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.StackFrameExtensions | [NullableContextAttribute(...)] | 0 | 1 | -| System.Diagnostics.StackTrace | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.StackTrace | [NullableContextAttribute(...)] | 0 | 1 | -| System.Diagnostics.StackTraceHiddenAttribute | [AttributeUsageAttribute(...)] | 0 | 108 | -| System.Diagnostics.Stopwatch | [DebuggerDisplayAttribute(...)] | 0 | {DebuggerDisplay,nq} | -| System.Diagnostics.Stopwatch | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.Stopwatch | [NullableContextAttribute(...)] | 0 | 1 | -| System.Diagnostics.SymbolStore.ISymbolDocumentWriter | [NullableContextAttribute(...)] | 0 | 1 | -| System.Diagnostics.Tracing.CounterGroup | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Diagnostics.Tracing.DiagnosticCounter | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.Tracing.DiagnosticCounter | [NullableContextAttribute(...)] | 0 | 1 | -| System.Diagnostics.Tracing.DiagnosticCounter | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Diagnostics.Tracing.EventAttribute | [AttributeUsageAttribute(...)] | 0 | 64 | -| System.Diagnostics.Tracing.EventAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.Tracing.EventAttribute | [NullableContextAttribute(...)] | 0 | 2 | -| System.Diagnostics.Tracing.EventChannelAttribute | [AttributeUsageAttribute(...)] | 0 | 256 | -| System.Diagnostics.Tracing.EventCounter | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.Tracing.EventCounter | [NullableContextAttribute(...)] | 0 | 1 | -| System.Diagnostics.Tracing.EventCounter | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Diagnostics.Tracing.EventDataAttribute | [AttributeUsageAttribute(...)] | 0 | 12 | -| System.Diagnostics.Tracing.EventDataAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.Tracing.EventDataAttribute | [NullableContextAttribute(...)] | 0 | 2 | -| System.Diagnostics.Tracing.EventFieldAttribute | [AttributeUsageAttribute(...)] | 0 | 128 | -| System.Diagnostics.Tracing.EventIgnoreAttribute | [AttributeUsageAttribute(...)] | 0 | 128 | -| System.Diagnostics.Tracing.EventListener | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.Tracing.EventListener | [NullableContextAttribute(...)] | 0 | 1 | -| System.Diagnostics.Tracing.EventListener.EventSourceCreated | [NullableAttribute(...)] | 0 | [2,1] | -| System.Diagnostics.Tracing.EventListener.EventWritten | [NullableAttribute(...)] | 0 | [2,1] | -| System.Diagnostics.Tracing.EventPayload | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Diagnostics.Tracing.EventSource | [DynamicallyAccessedMembersAttribute(...)] | 0 | -1 | -| System.Diagnostics.Tracing.EventSource | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.Tracing.EventSource | [NullableContextAttribute(...)] | 0 | 2 | -| System.Diagnostics.Tracing.EventSource System.Diagnostics.Tracing.EventWrittenEventArgs.EventSource | [NullableAttribute(...)] | 0 | 1 | -| System.Diagnostics.Tracing.EventSource System.Diagnostics.Tracing.EventWrittenEventArgs.get_EventSource() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Diagnostics.Tracing.EventSource.EventCommandExecuted | [NullableAttribute(...)] | 0 | [2,1] | -| System.Diagnostics.Tracing.EventSource.EventData | [NullableContextAttribute(...)] | 0 | 0 | -| System.Diagnostics.Tracing.EventSource.EventSourcePrimitive | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.Tracing.EventSource.EventSourcePrimitive System.Diagnostics.Tracing.EventSource.EventSourcePrimitive.op_Implicit(System.Enum) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Diagnostics.Tracing.EventSource.EventSourcePrimitive System.Diagnostics.Tracing.EventSource.EventSourcePrimitive.op_Implicit(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Diagnostics.Tracing.EventSource.EventSourcePrimitive System.Diagnostics.Tracing.EventSource.EventSourcePrimitive.op_Implicit(System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Diagnostics.Tracing.EventSource.EventSourcePrimitive System.Diagnostics.Tracing.EventSource.EventSourcePrimitive.op_Implicit(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Diagnostics.Tracing.EventSource.EventSourcePrimitive System.Diagnostics.Tracing.EventSource.EventSourcePrimitive.op_Implicit(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Diagnostics.Tracing.EventSource.EventSourcePrimitive System.Diagnostics.Tracing.EventSource.EventSourcePrimitive.op_Implicit(System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Diagnostics.Tracing.EventSourceAttribute | [AttributeUsageAttribute(...)] | 0 | 4 | -| System.Diagnostics.Tracing.EventSourceAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.Tracing.EventSourceAttribute | [NullableContextAttribute(...)] | 0 | 2 | -| System.Diagnostics.Tracing.EventSourceCreatedEventArgs | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.Tracing.EventSourceCreatedEventArgs | [NullableContextAttribute(...)] | 0 | 2 | -| System.Diagnostics.Tracing.EventSourceException | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.Tracing.EventSourceException | [NullableContextAttribute(...)] | 0 | 2 | -| System.Diagnostics.Tracing.EventWrittenEventArgs | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.Tracing.EventWrittenEventArgs | [NullableContextAttribute(...)] | 0 | 2 | -| System.Diagnostics.Tracing.EventWrittenEventArgs.MoreEventInfo System.Diagnostics.Tracing.EventWrittenEventArgs.MoreInfo | [NullableAttribute(...)] | 0 | 1 | -| System.Diagnostics.Tracing.FrameworkEventSource | [GeneratedCodeAttribute(...)] | 0 | System.Private.CoreLib.Generators | -| System.Diagnostics.Tracing.FrameworkEventSource | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Diagnostics.Tracing.IncrementingEventCounter | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.Tracing.IncrementingEventCounter | [NullableContextAttribute(...)] | 0 | 1 | -| System.Diagnostics.Tracing.IncrementingEventCounter | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Diagnostics.Tracing.IncrementingPollingCounter | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.Tracing.IncrementingPollingCounter | [NullableContextAttribute(...)] | 0 | 1 | -| System.Diagnostics.Tracing.IncrementingPollingCounter | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Diagnostics.Tracing.NativeRuntimeEventSource | [GeneratedCodeAttribute(...)] | 0 | System.Private.CoreLib.Generators | -| System.Diagnostics.Tracing.NativeRuntimeEventSource | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Diagnostics.Tracing.NonEventAttribute | [AttributeUsageAttribute(...)] | 0 | 64 | -| System.Diagnostics.Tracing.PollingCounter | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.Tracing.PollingCounter | [NullableContextAttribute(...)] | 0 | 1 | -| System.Diagnostics.Tracing.PollingCounter | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Diagnostics.Tracing.RuntimeEventSource | [GeneratedCodeAttribute(...)] | 0 | System.Private.CoreLib.Generators | -| System.Diagnostics.Tracing.RuntimeEventSource | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Diagnostics.Tracing.SessionMask | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Diagnostics.Tracing.TraceLoggingEventHandleTable | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Diagnostics.Tracing.TraceLoggingEventTypes System.Diagnostics.Tracing.EventSource.EventMetadata.get_TraceLoggingEventTypes() | [RequiresUnreferencedCodeAttribute(...)] | 0 | EventSource will serialize the whole object graph. Trimmer will not safely handle this case because properties may be trimmed. | -| System.Diagnostics.Tracing.TraceLoggingEventTypes System.Diagnostics.Tracing.EventSource.EventMetadata.get_TraceLoggingEventTypes() | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Diagnostics.Tracing.TraceLoggingEventTypes System.Diagnostics.Tracing.EventSource.EventMetadata.get_TraceLoggingEventTypes() | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2112:ReflectionToRequiresUnreferencedCode | -| System.Diagnostics.Tracing.TraceLoggingEventTypes System.Diagnostics.Tracing.SimpleEventTypes`1.InitInstance() | [RequiresUnreferencedCodeAttribute(...)] | 0 | EventSource WriteEvent will serialize the whole object graph. Trimmer will not safely handle this case because properties may be trimmed. This can be suppressed if the object is a primitive type | -| System.Diagnostics.Tracing.TraceLoggingEventTypes System.Diagnostics.Tracing.SimpleEventTypes`1.get_Instance() | [RequiresUnreferencedCodeAttribute(...)] | 0 | EventSource WriteEvent will serialize the whole object graph. Trimmer will not safely handle this case because properties may be trimmed. This can be suppressed if the object is a primitive type | -| System.Diagnostics.Tracing.TraceLoggingTypeInfo System.Diagnostics.Tracing.Statics.CreateDefaultTypeInfo(System.Type,System.Collections.Generic.List<System.Type>) | [RequiresUnreferencedCodeAttribute(...)] | 0 | EventSource WriteEvent will serialize the whole object graph. Trimmer will not safely handle this case because properties may be trimmed. This can be suppressed if the object is a primitive type | -| System.Diagnostics.Tracing.TraceLoggingTypeInfo System.Diagnostics.Tracing.TraceLoggingTypeInfo.GetInstance(System.Type,System.Collections.Generic.List<System.Type>) | [RequiresUnreferencedCodeAttribute(...)] | 0 | EventSource WriteEvent will serialize the whole object graph. Trimmer will not safely handle this case because properties may be trimmed. This can be suppressed if the object is a primitive type | -| System.Diagnostics.Tracing.TraceLoggingTypeInfo[] System.Diagnostics.Tracing.TraceLoggingEventTypes.MakeArray(System.Reflection.ParameterInfo[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | EventSource WriteEvent will serialize the whole object graph. Trimmer will not safely handle this case because properties may be trimmed. This can be suppressed if the object is a primitive type | -| System.Diagnostics.Tracing.TraceLoggingTypeInfo[] System.Diagnostics.Tracing.TraceLoggingEventTypes.MakeArray(System.Type[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | EventSource WriteEvent will serialize the whole object graph. Trimmer will not safely handle this case because properties may be trimmed. This can be suppressed if the object is a primitive type | -| System.Diagnostics.UnreachableException | [NullableAttribute(...)] | 0 | 0 | -| System.Diagnostics.UnreachableException | [NullableContextAttribute(...)] | 0 | 2 | -| System.DivideByZeroException | [NullableAttribute(...)] | 0 | 0 | -| System.DivideByZeroException | [NullableContextAttribute(...)] | 0 | 2 | -| System.DivideByZeroException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.DllNotFoundException | [NullableAttribute(...)] | 0 | 0 | -| System.DllNotFoundException | [NullableContextAttribute(...)] | 0 | 2 | -| System.DllNotFoundException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Double System.BitConverter.ToDouble(System.ReadOnlySpan<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Double System.BitConverter.UInt64BitsToDouble(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Double System.Char.GetNumericValue(System.String,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Double System.Convert.ToDouble(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Double System.Convert.ToDouble(System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Double System.Convert.ToDouble(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Double System.Convert.ToDouble(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Double System.Double.CreateChecked`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Double System.Double.CreateSaturating`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Double System.Double.CreateTruncating`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Double System.Double.Parse(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Double System.Double.Parse(System.String,System.Globalization.NumberStyles) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Double System.Double.Parse(System.String,System.Globalization.NumberStyles,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Double System.Double.Parse(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Double System.Globalization.CharUnicodeInfo.GetNumericValue(System.String,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.DuplicateWaitObjectException | [NullableAttribute(...)] | 0 | 0 | -| System.DuplicateWaitObjectException | [NullableContextAttribute(...)] | 0 | 2 | -| System.DuplicateWaitObjectException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.EntryPointNotFoundException | [NullableAttribute(...)] | 0 | 0 | -| System.EntryPointNotFoundException | [NullableContextAttribute(...)] | 0 | 2 | -| System.EntryPointNotFoundException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Enum | [NullableAttribute(...)] | 0 | 0 | -| System.Enum | [NullableContextAttribute(...)] | 0 | 1 | -| System.Enum | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Environment | [NullableAttribute(...)] | 0 | 0 | -| System.Environment | [NullableContextAttribute(...)] | 0 | 1 | -| System.Environment.SpecialFolder | [NullableContextAttribute(...)] | 0 | 0 | -| System.Environment.SpecialFolderOption | [NullableContextAttribute(...)] | 0 | 0 | -| System.EventArgs | [NullableAttribute(...)] | 0 | 1 | -| System.EventArgs | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.EventArgs.Empty | [NullableAttribute(...)] | 0 | 1 | -| System.EventHandler<!0> | [NullableAttribute(...)] | 0 | [2,1] | -| System.EventHandler<System.Diagnostics.Contracts.ContractFailedEventArgs> | [NullableAttribute(...)] | 0 | [2,1] | -| System.EventHandler<System.Diagnostics.Tracing.EventCommandEventArgs> | [NullableAttribute(...)] | 0 | [2,1] | -| System.EventHandler<System.Diagnostics.Tracing.EventSourceCreatedEventArgs> | [NullableAttribute(...)] | 0 | [2,1] | -| System.EventHandler<System.Diagnostics.Tracing.EventWrittenEventArgs> | [NullableAttribute(...)] | 0 | [2,1] | -| System.EventHandler<System.Runtime.ExceptionServices.FirstChanceExceptionEventArgs> | [NullableAttribute(...)] | 0 | [2,1] | -| System.EventHandler<System.Runtime.Serialization.SafeSerializationEventArgs> | [NullableAttribute(...)] | 0 | [2,1] | -| System.EventHandler<System.Threading.Tasks.UnobservedTaskExceptionEventArgs> | [NullableAttribute(...)] | 0 | [2,1] | -| System.Exception | [NullableAttribute(...)] | 0 | 0 | -| System.Exception | [NullableAttribute(...)] | 0 | 1 | -| System.Exception | [NullableContextAttribute(...)] | 0 | 2 | -| System.Exception | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Exception System.Exception.GetBaseException() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Exception System.Runtime.InteropServices.Marshal.GetExceptionForHR(System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Exception System.Runtime.InteropServices.Marshal.GetExceptionForHR(System.Int32,System.IntPtr) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Exception.SerializeObjectState | [NullableAttribute(...)] | 0 | [2,1] | -| System.Exception.SerializeObjectState | [ObsoleteAttribute(...)] | 0 | BinaryFormatter serialization is obsolete and should not be used. See https://aka.ms/binaryformatter for more information. | -| System.Exception[] System.Reflection.ReflectionTypeLoadException.LoaderExceptions | [NullableAttribute(...)] | 0 | [1,2] | -| System.ExecutionEngineException | [NullableAttribute(...)] | 0 | 0 | -| System.ExecutionEngineException | [NullableContextAttribute(...)] | 0 | 2 | -| System.ExecutionEngineException | [ObsoleteAttribute(...)] | 0 | ExecutionEngineException previously indicated an unspecified fatal error in the runtime. The runtime no longer raises this exception so this type is obsolete. | -| System.ExecutionEngineException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.FieldAccessException | [NullableAttribute(...)] | 0 | 0 | -| System.FieldAccessException | [NullableContextAttribute(...)] | 0 | 2 | -| System.FieldAccessException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.FlagsAttribute | [AttributeUsageAttribute(...)] | 0 | 16 | -| System.FormatException | [NullableAttribute(...)] | 0 | 0 | -| System.FormatException | [NullableContextAttribute(...)] | 0 | 2 | -| System.FormatException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.FormattableString | [NullableAttribute(...)] | 0 | 0 | -| System.FormattableString | [NullableContextAttribute(...)] | 0 | 1 | -| System.FormattableString System.Runtime.CompilerServices.FormattableStringFactory.Create(System.String,System.Object[]) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Func<!0,!0,System.Boolean> | [NullableAttribute(...)] | 0 | [1,2,2] | -| System.Func<!0,!1,!2,System.AsyncCallback,System.IAsyncResult,System.Object> | [NullableAttribute(...)] | 0 | [1,1,1,1,1,2,1] | -| System.Func<!0,!1,System.AsyncCallback,System.IAsyncResult,System.Object> | [NullableAttribute(...)] | 0 | [1,1,1,1,2,1] | -| System.Func<!0,System.AsyncCallback,System.IAsyncResult,System.Object> | [NullableAttribute(...)] | 0 | [1,1,1,2,1] | -| System.Func<!0,System.Int32> | [NullableAttribute(...)] | 0 | [2,1] | -| System.Func<!0,System.Object,System.Threading.Tasks.Task<!0>> | [NullableAttribute(...)] | 0 | [1,1,1,2,1] | -| System.Func<!0,System.Object,System.Threading.Tasks.Task> | [NullableAttribute(...)] | 0 | [1,1,2,1] | -| System.Func<!0,System.Object> | [NullableAttribute(...)] | 0 | [1,2,1] | -| System.Func<System.AsyncCallback,System.IAsyncResult,System.Object> | [NullableAttribute(...)] | 0 | [1,1,2,1] | -| System.Func<System.Boolean,System.Reflection.Assembly,System.String,System.Type> | [NullableAttribute(...)] | 0 | [2,2,1,2] | -| System.Func<System.Diagnostics.Tracing.PropertyValue,System.Diagnostics.Tracing.PropertyValue> System.Diagnostics.Tracing.PropertyValue.GetReferenceTypePropertyGetter(System.Reflection.PropertyInfo) | [UnconditionalSuppressMessageAttribute(...)] | 0 | AotAnalysis | -| System.Func<System.Diagnostics.Tracing.PropertyValue,System.Diagnostics.Tracing.PropertyValue> System.Diagnostics.Tracing.PropertyValue.GetReferenceTypePropertyGetter(System.Reflection.PropertyInfo) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL3050:AotUnfriendlyApi | -| System.Func<System.IntPtr,System.Reflection.Assembly,System.String> | [NullableAttribute(...)] | 0 | [2,1,1] | -| System.Func<System.Reflection.Assembly,System.Reflection.AssemblyName,System.Runtime.Loader.AssemblyLoadContext> | [NullableAttribute(...)] | 0 | [2,1,1,2] | -| System.Func<System.Reflection.Assembly,System.Reflection.AssemblyName> | [NullableAttribute(...)] | 0 | [2,1,2] | -| System.Func<System.Threading.Tasks.Task<!0>> | [NullableAttribute(...)] | 0 | [1,2,1] | -| System.Func<System.Threading.Tasks.Task> | [NullableAttribute(...)] | 0 | [1,2] | -| System.Func`5 | [NullableAttribute(...)] | 0 | 0 | -| System.Func`5 | [NullableContextAttribute(...)] | 0 | 2 | -| System.Func`6 | [NullableAttribute(...)] | 0 | 0 | -| System.Func`6 | [NullableContextAttribute(...)] | 0 | 2 | -| System.Func`7 | [NullableAttribute(...)] | 0 | 0 | -| System.Func`7 | [NullableContextAttribute(...)] | 0 | 2 | -| System.Func`8 | [NullableAttribute(...)] | 0 | 0 | -| System.Func`8 | [NullableContextAttribute(...)] | 0 | 2 | -| System.Func`9 | [NullableAttribute(...)] | 0 | 0 | -| System.Func`9 | [NullableContextAttribute(...)] | 0 | 2 | -| System.Func`10 | [NullableAttribute(...)] | 0 | 0 | -| System.Func`10 | [NullableContextAttribute(...)] | 0 | 2 | -| System.Func`11 | [NullableAttribute(...)] | 0 | 0 | -| System.Func`11 | [NullableContextAttribute(...)] | 0 | 2 | -| System.Func`12 | [NullableAttribute(...)] | 0 | 0 | -| System.Func`12 | [NullableContextAttribute(...)] | 0 | 2 | -| System.Func`13 | [NullableAttribute(...)] | 0 | 0 | -| System.Func`13 | [NullableContextAttribute(...)] | 0 | 2 | -| System.Func`14 | [NullableAttribute(...)] | 0 | 0 | -| System.Func`14 | [NullableContextAttribute(...)] | 0 | 2 | -| System.Func`15 | [NullableAttribute(...)] | 0 | 0 | -| System.Func`15 | [NullableContextAttribute(...)] | 0 | 2 | -| System.Func`16 | [NullableAttribute(...)] | 0 | 0 | -| System.Func`16 | [NullableContextAttribute(...)] | 0 | 2 | -| System.Func`17 | [NullableAttribute(...)] | 0 | 0 | -| System.Func`17 | [NullableContextAttribute(...)] | 0 | 2 | -| System.GC | [NullableAttribute(...)] | 0 | 0 | -| System.GC | [NullableContextAttribute(...)] | 0 | 1 | -| System.GC.EnableNoGCRegionCallbackStatus System.GC._EnableNoGCRegionCallback(System.GC.NoGCRegionCallbackFinalizerWorkItem*,System.Int64) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Globalization.Calendar | [NullableAttribute(...)] | 0 | 0 | -| System.Globalization.Calendar | [NullableContextAttribute(...)] | 0 | 1 | -| System.Globalization.ChineseLunisolarCalendar | [NullableAttribute(...)] | 0 | 0 | -| System.Globalization.ChineseLunisolarCalendar | [NullableContextAttribute(...)] | 0 | 1 | -| System.Globalization.CompareInfo | [NullableAttribute(...)] | 0 | 0 | -| System.Globalization.CompareInfo | [NullableContextAttribute(...)] | 0 | 1 | -| System.Globalization.CompareInfo | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Globalization.CultureInfo | [NullableAttribute(...)] | 0 | 0 | -| System.Globalization.CultureInfo | [NullableAttribute(...)] | 0 | 2 | -| System.Globalization.CultureInfo | [NullableContextAttribute(...)] | 0 | 1 | -| System.Globalization.CultureInfo System.Globalization.CultureInfo.DefaultThreadCurrentCulture | [NullableAttribute(...)] | 0 | 2 | -| System.Globalization.CultureInfo System.Globalization.CultureInfo.DefaultThreadCurrentUICulture | [NullableAttribute(...)] | 0 | 2 | -| System.Globalization.CultureInfo System.Globalization.CultureInfo.get_DefaultThreadCurrentCulture() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Globalization.CultureInfo System.Globalization.CultureInfo.get_DefaultThreadCurrentUICulture() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Globalization.CultureNotFoundException | [NullableAttribute(...)] | 0 | 0 | -| System.Globalization.CultureNotFoundException | [NullableContextAttribute(...)] | 0 | 2 | -| System.Globalization.CultureNotFoundException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Globalization.CultureTypes.FrameworkCultures | [ObsoleteAttribute(...)] | 0 | CultureTypes.FrameworkCultures has been deprecated. Use other values in CultureTypes instead. | -| System.Globalization.CultureTypes.WindowsOnlyCultures | [ObsoleteAttribute(...)] | 0 | CultureTypes.WindowsOnlyCultures has been deprecated. Use other values in CultureTypes instead. | -| System.Globalization.DateTimeFormatInfo | [NullableAttribute(...)] | 0 | 0 | -| System.Globalization.DateTimeFormatInfo | [NullableContextAttribute(...)] | 0 | 1 | -| System.Globalization.EraInfo[] System.Globalization.ChineseLunisolarCalendar.CalEraInfo | [NullableAttribute(...)] | 0 | [2,1] | -| System.Globalization.EraInfo[] System.Globalization.EastAsianLunisolarCalendar.CalEraInfo | [NullableAttribute(...)] | 0 | [2,1] | -| System.Globalization.EraInfo[] System.Globalization.JapaneseLunisolarCalendar.CalEraInfo | [NullableAttribute(...)] | 0 | [2,1] | -| System.Globalization.EraInfo[] System.Globalization.KoreanLunisolarCalendar.CalEraInfo | [NullableAttribute(...)] | 0 | [2,1] | -| System.Globalization.EraInfo[] System.Globalization.TaiwanLunisolarCalendar.CalEraInfo | [NullableAttribute(...)] | 0 | [2,1] | -| System.Globalization.IdnMapping | [NullableAttribute(...)] | 0 | 0 | -| System.Globalization.IdnMapping | [NullableContextAttribute(...)] | 0 | 1 | -| System.Globalization.JapaneseCalendar | [NullableAttribute(...)] | 0 | 0 | -| System.Globalization.JapaneseCalendar | [NullableContextAttribute(...)] | 0 | 1 | -| System.Globalization.JapaneseLunisolarCalendar | [NullableAttribute(...)] | 0 | 0 | -| System.Globalization.JapaneseLunisolarCalendar | [NullableContextAttribute(...)] | 0 | 1 | -| System.Globalization.JulianCalendar | [NullableAttribute(...)] | 0 | 0 | -| System.Globalization.JulianCalendar | [NullableContextAttribute(...)] | 0 | 1 | -| System.Globalization.KoreanCalendar | [NullableAttribute(...)] | 0 | 0 | -| System.Globalization.KoreanCalendar | [NullableContextAttribute(...)] | 0 | 1 | -| System.Globalization.KoreanLunisolarCalendar | [NullableAttribute(...)] | 0 | 0 | -| System.Globalization.KoreanLunisolarCalendar | [NullableContextAttribute(...)] | 0 | 1 | -| System.Globalization.NumberFormatInfo | [NullableAttribute(...)] | 0 | 0 | -| System.Globalization.NumberFormatInfo | [NullableContextAttribute(...)] | 0 | 1 | -| System.Globalization.RegionInfo | [NullableAttribute(...)] | 0 | 0 | -| System.Globalization.RegionInfo | [NullableContextAttribute(...)] | 0 | 1 | -| System.Globalization.SortKey | [NullableAttribute(...)] | 0 | 0 | -| System.Globalization.SortKey | [NullableContextAttribute(...)] | 0 | 1 | -| System.Globalization.SortVersion | [NotNullWhenAttribute(...)] | 0 | True | -| System.Globalization.SortVersion | [NullableAttribute(...)] | 0 | 0 | -| System.Globalization.SortVersion | [NullableContextAttribute(...)] | 0 | 2 | -| System.Globalization.SortVersion | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Globalization.StringInfo | [NullableAttribute(...)] | 0 | 0 | -| System.Globalization.StringInfo | [NullableContextAttribute(...)] | 0 | 1 | -| System.Globalization.TaiwanCalendar | [NullableAttribute(...)] | 0 | 0 | -| System.Globalization.TaiwanCalendar | [NullableContextAttribute(...)] | 0 | 1 | -| System.Globalization.TaiwanLunisolarCalendar | [NullableAttribute(...)] | 0 | 0 | -| System.Globalization.TaiwanLunisolarCalendar | [NullableContextAttribute(...)] | 0 | 1 | -| System.Globalization.TextElementEnumerator | [NullableAttribute(...)] | 0 | 0 | -| System.Globalization.TextElementEnumerator | [NullableContextAttribute(...)] | 0 | 1 | -| System.Globalization.TextInfo | [NullableAttribute(...)] | 0 | 0 | -| System.Globalization.TextInfo | [NullableContextAttribute(...)] | 0 | 1 | -| System.Globalization.ThaiBuddhistCalendar | [NullableAttribute(...)] | 0 | 0 | -| System.Globalization.ThaiBuddhistCalendar | [NullableContextAttribute(...)] | 0 | 1 | -| System.Globalization.TimeSpanParse.StringParser | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.Globalization.TimeSpanParse.StringParser | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.Globalization.TimeSpanParse.StringParser | [ObsoleteAttribute(...)] | 1 | True | -| System.Globalization.TimeSpanParse.TimeSpanRawInfo | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.Globalization.TimeSpanParse.TimeSpanRawInfo | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.Globalization.TimeSpanParse.TimeSpanRawInfo | [ObsoleteAttribute(...)] | 1 | True | -| System.Globalization.TimeSpanParse.TimeSpanResult | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.Globalization.TimeSpanParse.TimeSpanResult | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.Globalization.TimeSpanParse.TimeSpanResult | [ObsoleteAttribute(...)] | 1 | True | -| System.Globalization.TimeSpanParse.TimeSpanToken | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.Globalization.TimeSpanParse.TimeSpanToken | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.Globalization.TimeSpanParse.TimeSpanToken | [ObsoleteAttribute(...)] | 1 | True | -| System.Globalization.TimeSpanParse.TimeSpanTokenizer | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.Globalization.TimeSpanParse.TimeSpanTokenizer | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.Globalization.TimeSpanParse.TimeSpanTokenizer | [ObsoleteAttribute(...)] | 1 | True | -| System.Globalization.UmAlQuraCalendar | [NullableAttribute(...)] | 0 | 0 | -| System.Globalization.UmAlQuraCalendar | [NullableContextAttribute(...)] | 0 | 1 | -| System.Globalization.UnicodeCategory System.Char.GetUnicodeCategory(System.String,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Globalization.UnicodeCategory System.Globalization.CharUnicodeInfo.GetUnicodeCategory(System.String,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Guid | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Guid System.Diagnostics.Tracing.EventSource.GetGuid(System.Type) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Guid System.Guid.Parse(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Guid System.Guid.Parse(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Guid System.Guid.ParseExact(System.String,System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Half System.BitConverter.ToHalf(System.ReadOnlySpan<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Half System.BitConverter.UInt16BitsToHalf(System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Half System.Half.CreateChecked`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Half System.Half.CreateSaturating`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Half System.Half.CreateTruncating`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Half System.Half.Parse(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Half System.Half.Parse(System.String,System.Globalization.NumberStyles) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Half System.Half.Parse(System.String,System.Globalization.NumberStyles,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Half System.Half.Parse(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Half System.Half.op_Explicit(System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Half System.Half.op_Explicit(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Half System.Half.op_Explicit(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Half System.Half.op_Explicit(System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Half System.Half.op_Implicit(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.HashCode | [NullableAttribute(...)] | 0 | 0 | -| System.HashCode | [NullableContextAttribute(...)] | 0 | 1 | -| System.HexConverter.<>c.<>9__6_0 | [TupleElementNamesAttribute(...)] | 0 | [RosPtr,casing] | -| System.IAsyncResult | [NullableAttribute(...)] | 0 | 1 | -| System.IAsyncResult | [NullableContextAttribute(...)] | 0 | 1 | -| System.IAsyncResult System.Action`4.BeginInvoke(!0,!1,!2,!3,System.AsyncCallback,System.Object) | [NullableContextAttribute(...)] | 0 | 1 | -| System.IAsyncResult System.Action`5.BeginInvoke(!0,!1,!2,!3,!4,System.AsyncCallback,System.Object) | [NullableContextAttribute(...)] | 0 | 1 | -| System.IAsyncResult System.Action`6.BeginInvoke(!0,!1,!2,!3,!4,!5,System.AsyncCallback,System.Object) | [NullableContextAttribute(...)] | 0 | 1 | -| System.IAsyncResult System.Action`7.BeginInvoke(!0,!1,!2,!3,!4,!5,!6,System.AsyncCallback,System.Object) | [NullableContextAttribute(...)] | 0 | 1 | -| System.IAsyncResult System.Action`8.BeginInvoke(!0,!1,!2,!3,!4,!5,!6,!7,System.AsyncCallback,System.Object) | [NullableContextAttribute(...)] | 0 | 1 | -| System.IAsyncResult System.Action`9.BeginInvoke(!0,!1,!2,!3,!4,!5,!6,!7,!8,System.AsyncCallback,System.Object) | [NullableContextAttribute(...)] | 0 | 1 | -| System.IAsyncResult System.Action`10.BeginInvoke(!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,System.AsyncCallback,System.Object) | [NullableContextAttribute(...)] | 0 | 1 | -| System.IAsyncResult System.Action`11.BeginInvoke(!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,System.AsyncCallback,System.Object) | [NullableContextAttribute(...)] | 0 | 1 | -| System.IAsyncResult System.Action`12.BeginInvoke(!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,System.AsyncCallback,System.Object) | [NullableContextAttribute(...)] | 0 | 1 | -| System.IAsyncResult System.Action`13.BeginInvoke(!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,System.AsyncCallback,System.Object) | [NullableContextAttribute(...)] | 0 | 1 | -| System.IAsyncResult System.Action`14.BeginInvoke(!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,System.AsyncCallback,System.Object) | [NullableContextAttribute(...)] | 0 | 1 | -| System.IAsyncResult System.Action`15.BeginInvoke(!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,System.AsyncCallback,System.Object) | [NullableContextAttribute(...)] | 0 | 1 | -| System.IAsyncResult System.Action`16.BeginInvoke(!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,!15,System.AsyncCallback,System.Object) | [NullableContextAttribute(...)] | 0 | 1 | -| System.IAsyncResult System.Func`5.BeginInvoke(!0,!1,!2,!3,System.AsyncCallback,System.Object) | [NullableContextAttribute(...)] | 0 | 1 | -| System.IAsyncResult System.Func`6.BeginInvoke(!0,!1,!2,!3,!4,System.AsyncCallback,System.Object) | [NullableContextAttribute(...)] | 0 | 1 | -| System.IAsyncResult System.Func`7.BeginInvoke(!0,!1,!2,!3,!4,!5,System.AsyncCallback,System.Object) | [NullableContextAttribute(...)] | 0 | 1 | -| System.IAsyncResult System.Func`8.BeginInvoke(!0,!1,!2,!3,!4,!5,!6,System.AsyncCallback,System.Object) | [NullableContextAttribute(...)] | 0 | 1 | -| System.IAsyncResult System.Func`9.BeginInvoke(!0,!1,!2,!3,!4,!5,!6,!7,System.AsyncCallback,System.Object) | [NullableContextAttribute(...)] | 0 | 1 | -| System.IAsyncResult System.Func`10.BeginInvoke(!0,!1,!2,!3,!4,!5,!6,!7,!8,System.AsyncCallback,System.Object) | [NullableContextAttribute(...)] | 0 | 1 | -| System.IAsyncResult System.Func`11.BeginInvoke(!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,System.AsyncCallback,System.Object) | [NullableContextAttribute(...)] | 0 | 1 | -| System.IAsyncResult System.Func`12.BeginInvoke(!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,System.AsyncCallback,System.Object) | [NullableContextAttribute(...)] | 0 | 1 | -| System.IAsyncResult System.Func`13.BeginInvoke(!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,System.AsyncCallback,System.Object) | [NullableContextAttribute(...)] | 0 | 1 | -| System.IAsyncResult System.Func`14.BeginInvoke(!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,System.AsyncCallback,System.Object) | [NullableContextAttribute(...)] | 0 | 1 | -| System.IAsyncResult System.Func`15.BeginInvoke(!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,System.AsyncCallback,System.Object) | [NullableContextAttribute(...)] | 0 | 1 | -| System.IAsyncResult System.Func`16.BeginInvoke(!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,System.AsyncCallback,System.Object) | [NullableContextAttribute(...)] | 0 | 1 | -| System.IAsyncResult System.Func`17.BeginInvoke(!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,!15,System.AsyncCallback,System.Object) | [NullableContextAttribute(...)] | 0 | 1 | -| System.IAsyncResult System.Threading.Overlapped.AsyncResult | [NullableAttribute(...)] | 0 | 1 | -| System.IAsyncResult System.Threading.Overlapped.get_AsyncResult() | [NullableContextAttribute(...)] | 0 | 1 | -| System.ICloneable | [NullableContextAttribute(...)] | 0 | 1 | -| System.IComparable | [NullableContextAttribute(...)] | 0 | 2 | -| System.IComparable`1 | [NullableContextAttribute(...)] | 0 | 2 | -| System.IConvertible | [CLSCompliantAttribute(...)] | 0 | False | -| System.IConvertible | [NullableContextAttribute(...)] | 0 | 2 | -| System.ICustomFormatter | [NullableContextAttribute(...)] | 0 | 2 | -| System.IEquatable`1 | [NullableContextAttribute(...)] | 0 | 2 | -| System.IFormatProvider | [NullableAttribute(...)] | 0 | 2 | -| System.IFormatProvider | [NullableContextAttribute(...)] | 0 | 2 | -| System.IFormattable | [NullableContextAttribute(...)] | 0 | 2 | -| System.IO.BinaryReader | [NullableAttribute(...)] | 0 | 0 | -| System.IO.BinaryReader | [NullableContextAttribute(...)] | 0 | 1 | -| System.IO.BinaryWriter | [NullableAttribute(...)] | 0 | 0 | -| System.IO.BinaryWriter | [NullableContextAttribute(...)] | 0 | 1 | -| System.IO.BufferedStream | [NullableAttribute(...)] | 0 | 0 | -| System.IO.BufferedStream | [NullableContextAttribute(...)] | 0 | 1 | -| System.IO.Directory | [NullableAttribute(...)] | 0 | 0 | -| System.IO.Directory | [NullableContextAttribute(...)] | 0 | 1 | -| System.IO.DirectoryInfo | [NullableAttribute(...)] | 0 | 0 | -| System.IO.DirectoryInfo | [NullableContextAttribute(...)] | 0 | 1 | -| System.IO.DirectoryInfo System.IO.Directory.CreateDirectory(System.String,System.IO.UnixFileMode) | [UnsupportedOSPlatformAttribute(...)] | 0 | windows | -| System.IO.DirectoryInfo System.IO.DirectoryInfo.Parent | [NullableAttribute(...)] | 0 | 2 | -| System.IO.DirectoryInfo System.IO.DirectoryInfo.get_Parent() | [NullableContextAttribute(...)] | 0 | 2 | -| System.IO.DirectoryInfo System.IO.FileInfo.Directory | [NullableAttribute(...)] | 0 | 2 | -| System.IO.DirectoryInfo System.IO.FileInfo.get_Directory() | [NullableContextAttribute(...)] | 0 | 2 | -| System.IO.DirectoryNotFoundException | [NullableAttribute(...)] | 0 | 0 | -| System.IO.DirectoryNotFoundException | [NullableContextAttribute(...)] | 0 | 2 | -| System.IO.DirectoryNotFoundException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.IO.EndOfStreamException | [NullableAttribute(...)] | 0 | 0 | -| System.IO.EndOfStreamException | [NullableContextAttribute(...)] | 0 | 2 | -| System.IO.EndOfStreamException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.IO.Enumeration.FileSystemEntry | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.IO.Enumeration.FileSystemEntry | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.IO.Enumeration.FileSystemEntry | [ObsoleteAttribute(...)] | 1 | True | -| System.IO.Enumeration.FileSystemEntry.FileNameBuffer._buffer | [FixedBufferAttribute(...)] | 0 | System.Char | -| System.IO.Enumeration.FileSystemEntry.FileNameBuffer._buffer | [FixedBufferAttribute(...)] | 1 | 256 | -| System.IO.Enumeration.FileSystemEnumerable<!0>.FindPredicate | [NullableAttribute(...)] | 0 | [2,0] | -| System.IO.Enumeration.FileSystemEnumerable<!0>.FindPredicate System.IO.Enumeration.FileSystemEnumerable`1.ShouldIncludePredicate | [NullableAttribute(...)] | 0 | [2,0] | -| System.IO.Enumeration.FileSystemEnumerable<!0>.FindPredicate System.IO.Enumeration.FileSystemEnumerable`1.ShouldRecursePredicate | [NullableAttribute(...)] | 0 | [2,0] | -| System.IO.Enumeration.FileSystemEnumerable<!0>.FindTransform | [NullableAttribute(...)] | 0 | [1,0] | -| System.IO.Enumeration.FileSystemEnumerator`1._pending | [TupleElementNamesAttribute(...)] | 0 | [Path,RemainingDepth] | -| System.IO.EnumerationOptions | [NullableAttribute(...)] | 0 | 0 | -| System.IO.EnumerationOptions | [NullableAttribute(...)] | 0 | 2 | -| System.IO.EnumerationOptions | [NullableContextAttribute(...)] | 0 | 1 | -| System.IO.File | [NullableAttribute(...)] | 0 | 0 | -| System.IO.File | [NullableContextAttribute(...)] | 0 | 1 | -| System.IO.FileInfo | [NullableAttribute(...)] | 0 | 0 | -| System.IO.FileInfo | [NullableContextAttribute(...)] | 0 | 1 | -| System.IO.FileLoadException | [NullableAttribute(...)] | 0 | 0 | -| System.IO.FileLoadException | [NullableContextAttribute(...)] | 0 | 2 | -| System.IO.FileLoadException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.IO.FileNotFoundException | [NullableAttribute(...)] | 0 | 0 | -| System.IO.FileNotFoundException | [NullableContextAttribute(...)] | 0 | 2 | -| System.IO.FileNotFoundException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.IO.FileStream | [NullableAttribute(...)] | 0 | 0 | -| System.IO.FileStream | [NullableContextAttribute(...)] | 0 | 1 | -| System.IO.FileStream System.Reflection.Assembly.GetFile(System.String) | [RequiresAssemblyFilesAttribute(...)] | 0 | This member throws an exception for assemblies embedded in a single-file app | -| System.IO.FileStream System.Reflection.Emit.AssemblyBuilder.GetFile(System.String) | [RequiresAssemblyFilesAttribute(...)] | 0 | This member throws an exception for assemblies embedded in a single-file app | -| System.IO.FileStream System.Reflection.RuntimeAssembly.GetFile(System.String) | [RequiresAssemblyFilesAttribute(...)] | 0 | This member throws an exception for assemblies embedded in a single-file app | -| System.IO.FileStream[] System.Reflection.Assembly.GetFiles() | [RequiresAssemblyFilesAttribute(...)] | 0 | This member throws an exception for assemblies embedded in a single-file app | -| System.IO.FileStream[] System.Reflection.Assembly.GetFiles(System.Boolean) | [RequiresAssemblyFilesAttribute(...)] | 0 | This member throws an exception for assemblies embedded in a single-file app | -| System.IO.FileStream[] System.Reflection.Emit.AssemblyBuilder.GetFiles(System.Boolean) | [RequiresAssemblyFilesAttribute(...)] | 0 | This member throws an exception for assemblies embedded in a single-file app | -| System.IO.FileStream[] System.Reflection.RuntimeAssembly.GetFiles(System.Boolean) | [RequiresAssemblyFilesAttribute(...)] | 0 | This member throws an exception for assemblies embedded in a single-file app | -| System.IO.FileSystemInfo | [NullableAttribute(...)] | 0 | 0 | -| System.IO.FileSystemInfo | [NullableContextAttribute(...)] | 0 | 1 | -| System.IO.FileSystemInfo System.IO.Enumeration.FileSystemEntry.ToFileSystemInfo() | [NullableContextAttribute(...)] | 0 | 1 | -| System.IO.FileSystemInfo System.IO.FileSystemInfo.ResolveLinkTarget(System.Boolean) | [NullableContextAttribute(...)] | 0 | 2 | -| System.IO.IOException | [NullableAttribute(...)] | 0 | 0 | -| System.IO.IOException | [NullableContextAttribute(...)] | 0 | 2 | -| System.IO.IOException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.IO.InvalidDataException | [NullableAttribute(...)] | 0 | 0 | -| System.IO.InvalidDataException | [NullableContextAttribute(...)] | 0 | 2 | -| System.IO.InvalidDataException | [TypeForwardedFromAttribute(...)] | 0 | System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.IO.MemoryStream | [NullableAttribute(...)] | 0 | 0 | -| System.IO.MemoryStream | [NullableContextAttribute(...)] | 0 | 1 | -| System.IO.Path.InvalidPathChars | [NullableAttribute(...)] | 0 | 1 | -| System.IO.Path.InvalidPathChars | [ObsoleteAttribute(...)] | 0 | Path.InvalidPathChars has been deprecated. Use GetInvalidPathChars or GetInvalidFileNameChars instead. | -| System.IO.PathTooLongException | [NullableAttribute(...)] | 0 | 0 | -| System.IO.PathTooLongException | [NullableContextAttribute(...)] | 0 | 2 | -| System.IO.PathTooLongException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.IO.Stream | [NullableAttribute(...)] | 0 | 0 | -| System.IO.Stream | [NullableAttribute(...)] | 0 | 2 | -| System.IO.Stream | [NullableContextAttribute(...)] | 0 | 1 | -| System.IO.Stream System.Console.OpenStandardInput() | [UnsupportedOSPlatformAttribute(...)] | 0 | android | -| System.IO.Stream System.Console.OpenStandardInput() | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.IO.Stream System.Console.OpenStandardInput() | [UnsupportedOSPlatformAttribute(...)] | 0 | ios | -| System.IO.Stream System.Console.OpenStandardInput() | [UnsupportedOSPlatformAttribute(...)] | 0 | tvos | -| System.IO.Stream System.Console.OpenStandardInput(System.Int32) | [UnsupportedOSPlatformAttribute(...)] | 0 | android | -| System.IO.Stream System.Console.OpenStandardInput(System.Int32) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.IO.StreamReader | [NullableAttribute(...)] | 0 | 0 | -| System.IO.StreamReader | [NullableContextAttribute(...)] | 0 | 1 | -| System.IO.StreamWriter | [NullableAttribute(...)] | 0 | 0 | -| System.IO.StreamWriter | [NullableContextAttribute(...)] | 0 | 1 | -| System.IO.StringReader | [NullableAttribute(...)] | 0 | 0 | -| System.IO.StringReader | [NullableContextAttribute(...)] | 0 | 1 | -| System.IO.StringWriter | [NullableAttribute(...)] | 0 | 0 | -| System.IO.StringWriter | [NullableContextAttribute(...)] | 0 | 1 | -| System.IO.TextReader | [NullableAttribute(...)] | 0 | 0 | -| System.IO.TextReader | [NullableContextAttribute(...)] | 0 | 1 | -| System.IO.TextReader System.Console.In | [UnsupportedOSPlatformAttribute(...)] | 0 | android | -| System.IO.TextReader System.Console.In | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.IO.TextReader System.Console.In | [UnsupportedOSPlatformAttribute(...)] | 0 | ios | -| System.IO.TextReader System.Console.In | [UnsupportedOSPlatformAttribute(...)] | 0 | tvos | -| System.IO.TextWriter | [NullableAttribute(...)] | 0 | 0 | -| System.IO.TextWriter | [NullableContextAttribute(...)] | 0 | 1 | -| System.IO.UnixFileMode System.IO.File.GetUnixFileMode(Microsoft.Win32.SafeHandles.SafeFileHandle) | [UnsupportedOSPlatformAttribute(...)] | 0 | windows | -| System.IO.UnixFileMode System.IO.File.GetUnixFileMode(System.String) | [UnsupportedOSPlatformAttribute(...)] | 0 | windows | -| System.IO.UnmanagedMemoryStream System.Resources.ResourceManager.GetStream(System.String,System.Globalization.CultureInfo) | [NullableContextAttribute(...)] | 0 | 2 | -| System.IObservable`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.IObserver`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.IProgress`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.IndexOutOfRangeException | [NullableAttribute(...)] | 0 | 0 | -| System.IndexOutOfRangeException | [NullableContextAttribute(...)] | 0 | 2 | -| System.IndexOutOfRangeException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.InsufficientExecutionStackException | [NullableAttribute(...)] | 0 | 0 | -| System.InsufficientExecutionStackException | [NullableContextAttribute(...)] | 0 | 2 | -| System.InsufficientExecutionStackException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.InsufficientMemoryException | [NullableAttribute(...)] | 0 | 0 | -| System.InsufficientMemoryException | [NullableContextAttribute(...)] | 0 | 2 | -| System.InsufficientMemoryException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Int16 System.BitConverter.ToInt16(System.ReadOnlySpan<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int16 System.Convert.ToInt16(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int16 System.Convert.ToInt16(System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int16 System.Convert.ToInt16(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int16 System.Convert.ToInt16(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int16 System.Int16.CreateChecked`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int16 System.Int16.CreateSaturating`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int16 System.Int16.CreateTruncating`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int16 System.Int16.Parse(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int16 System.Int16.Parse(System.String,System.Globalization.NumberStyles) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int16 System.Int16.Parse(System.String,System.Globalization.NumberStyles,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int16 System.Int16.Parse(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int16 System.Runtime.InteropServices.Marshal.ReadInt16(System.Object,System.Int32) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Int16 System.Runtime.InteropServices.Marshal.ReadInt16(System.Object,System.Int32) | [ObsoleteAttribute(...)] | 0 | ReadInt16(Object, Int32) may be unavailable in future releases. | -| System.Int16 System.Runtime.InteropServices.Marshal.ReadInt16(System.Object,System.Int32) | [RequiresDynamicCodeAttribute(...)] | 0 | Marshalling code for the object might not be available | -| System.Int32 Internal.Runtime.InteropServices.ComponentActivator.GetFunctionPointer(System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr) | [RequiresDynamicCodeAttribute(...)] | 0 | The native code for the method requested might not be available at runtime. | -| System.Int32 Internal.Runtime.InteropServices.ComponentActivator.LoadAssembly(System.IntPtr,System.IntPtr,System.IntPtr) | [RequiresDynamicCodeAttribute(...)] | 0 | The native code for the method requested might not be available at runtime. | -| System.Int32 Internal.Runtime.InteropServices.ComponentActivator.LoadAssembly(System.IntPtr,System.IntPtr,System.IntPtr) | [UnsupportedOSPlatformAttribute(...)] | 0 | android | -| System.Int32 Internal.Runtime.InteropServices.ComponentActivator.LoadAssembly(System.IntPtr,System.IntPtr,System.IntPtr) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Int32 Internal.Runtime.InteropServices.ComponentActivator.LoadAssembly(System.IntPtr,System.IntPtr,System.IntPtr) | [UnsupportedOSPlatformAttribute(...)] | 0 | ios | -| System.Int32 Internal.Runtime.InteropServices.ComponentActivator.LoadAssembly(System.IntPtr,System.IntPtr,System.IntPtr) | [UnsupportedOSPlatformAttribute(...)] | 0 | maccatalyst | -| System.Int32 Internal.Runtime.InteropServices.ComponentActivator.LoadAssembly(System.IntPtr,System.IntPtr,System.IntPtr) | [UnsupportedOSPlatformAttribute(...)] | 0 | tvos | -| System.Int32 Internal.Runtime.InteropServices.ComponentActivator.LoadAssemblyAndGetFunctionPointer(System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr) | [RequiresDynamicCodeAttribute(...)] | 0 | The native code for the method requested might not be available at runtime. | -| System.Int32 Internal.Runtime.InteropServices.ComponentActivator.LoadAssemblyAndGetFunctionPointer(System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Native hosting is not trim compatible and this warning will be seen if trimming is enabled. | -| System.Int32 Internal.Runtime.InteropServices.ComponentActivator.LoadAssemblyAndGetFunctionPointer(System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr) | [UnsupportedOSPlatformAttribute(...)] | 0 | android | -| System.Int32 Internal.Runtime.InteropServices.ComponentActivator.LoadAssemblyAndGetFunctionPointer(System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Int32 Internal.Runtime.InteropServices.ComponentActivator.LoadAssemblyAndGetFunctionPointer(System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr) | [UnsupportedOSPlatformAttribute(...)] | 0 | ios | -| System.Int32 Internal.Runtime.InteropServices.ComponentActivator.LoadAssemblyAndGetFunctionPointer(System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr) | [UnsupportedOSPlatformAttribute(...)] | 0 | maccatalyst | -| System.Int32 Internal.Runtime.InteropServices.ComponentActivator.LoadAssemblyAndGetFunctionPointer(System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr) | [UnsupportedOSPlatformAttribute(...)] | 0 | tvos | -| System.Int32 Internal.Runtime.InteropServices.ComponentActivator.LoadAssemblyBytes(System.Byte*,System.IntPtr,System.Byte*,System.IntPtr,System.IntPtr,System.IntPtr) | [RequiresDynamicCodeAttribute(...)] | 0 | The native code for the method requested might not be available at runtime. | -| System.Int32 Internal.Runtime.InteropServices.ComponentActivator.LoadAssemblyBytes(System.Byte*,System.IntPtr,System.Byte*,System.IntPtr,System.IntPtr,System.IntPtr) | [UnsupportedOSPlatformAttribute(...)] | 0 | android | -| System.Int32 Internal.Runtime.InteropServices.ComponentActivator.LoadAssemblyBytes(System.Byte*,System.IntPtr,System.Byte*,System.IntPtr,System.IntPtr,System.IntPtr) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Int32 Internal.Runtime.InteropServices.ComponentActivator.LoadAssemblyBytes(System.Byte*,System.IntPtr,System.Byte*,System.IntPtr,System.IntPtr,System.IntPtr) | [UnsupportedOSPlatformAttribute(...)] | 0 | ios | -| System.Int32 Internal.Runtime.InteropServices.ComponentActivator.LoadAssemblyBytes(System.Byte*,System.IntPtr,System.Byte*,System.IntPtr,System.IntPtr,System.IntPtr) | [UnsupportedOSPlatformAttribute(...)] | 0 | maccatalyst | -| System.Int32 Internal.Runtime.InteropServices.ComponentActivator.LoadAssemblyBytes(System.Byte*,System.IntPtr,System.Byte*,System.IntPtr,System.IntPtr,System.IntPtr) | [UnsupportedOSPlatformAttribute(...)] | 0 | tvos | -| System.Int32 Interop.Globalization.GetCalendars(System.String,System.Globalization.CalendarId[],System.Int32) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Int32 Interop.Globalization.GetCalendars(System.String,System.Globalization.CalendarId[],System.Int32) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Int32 Interop.Globalization.GetICUVersion() | [LibraryImportAttribute(...)] | 0 | libSystem.Globalization.Native | -| System.Int32 Interop.Globalization.GetLatestJapaneseEra() | [LibraryImportAttribute(...)] | 0 | libSystem.Globalization.Native | -| System.Int32 Interop.Globalization.GetLocales(System.Char[],System.Int32) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Int32 Interop.Globalization.GetLocales(System.Char[],System.Int32) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Int32 Interop.Globalization.GetSortVersion(System.IntPtr) | [LibraryImportAttribute(...)] | 0 | libSystem.Globalization.Native | -| System.Int32 Interop.Globalization.IanaIdToWindowsId(System.String,System.Char*,System.Int32) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Int32 Interop.Globalization.IanaIdToWindowsId(System.String,System.Char*,System.Int32) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Int32 Interop.Globalization.LoadICU() | [LibraryImportAttribute(...)] | 0 | libSystem.Globalization.Native | -| System.Int32 Interop.Globalization.WindowsIdToIanaId(System.String,System.IntPtr,System.Char*,System.Int32) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Int32 Interop.Globalization.WindowsIdToIanaId(System.String,System.IntPtr,System.Char*,System.Int32) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Int32 Interop.HostPolicy.corehost_resolve_component_dependencies(System.String,Interop.HostPolicy.corehost_resolve_component_dependencies_result_fn) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Int32 Interop.HostPolicy.corehost_resolve_component_dependencies(System.String,Interop.HostPolicy.corehost_resolve_component_dependencies_result_fn) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Int32 Interop.Kernel32.FormatMessage(System.Int32,System.IntPtr,System.UInt32,System.Int32,System.Void*,System.Int32,System.IntPtr) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Int32 Interop.Kernel32.FormatMessage(System.Int32,System.IntPtr,System.UInt32,System.Int32,System.Void*,System.Int32,System.IntPtr) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Int32 Interop.Kernel32.FormatMessage(System.Int32,System.IntPtr,System.UInt32,System.Int32,System.Void*,System.Int32,System.IntPtr) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Int32 System.AppDomain.ExecuteAssembly(System.String) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types and members the loaded assembly depends on might be removed | -| System.Int32 System.AppDomain.ExecuteAssembly(System.String,System.String[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types and members the loaded assembly depends on might be removed | -| System.Int32 System.AppDomain.ExecuteAssembly(System.String,System.String[],System.Byte[],System.Configuration.Assemblies.AssemblyHashAlgorithm) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.AppDomain.ExecuteAssembly(System.String,System.String[],System.Byte[],System.Configuration.Assemblies.AssemblyHashAlgorithm) | [ObsoleteAttribute(...)] | 0 | Code Access Security is not supported or honored by the runtime. | -| System.Int32 System.AppDomain.ExecuteAssembly(System.String,System.String[],System.Byte[],System.Configuration.Assemblies.AssemblyHashAlgorithm) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types and members the loaded assembly depends on might be removed | -| System.Int32 System.AppDomain.GetCurrentThreadId() | [ObsoleteAttribute(...)] | 0 | AppDomain.GetCurrentThreadId has been deprecated because it does not provide a stable Id when managed threads are running on fibers (aka lightweight threads). To get a stable identifier for a managed thread, use the ManagedThreadId property on Thread instead. | -| System.Int32 System.Array.BinarySearch(System.Array,System.Int32,System.Int32,System.Object,System.Collections.IComparer) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Array.BinarySearch(System.Array,System.Object,System.Collections.IComparer) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Attribute.GetHashCode() | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Int32 System.Attribute.GetHashCode() | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2075:UnrecognizedReflectionPattern | -| System.Int32 System.BitConverter.ToInt32(System.ReadOnlySpan<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.Boolean.CompareTo(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Buffers.IndexOfAnyAsciiSearcher.ComputeFirstIndexOverlapped`2(!0,!0,!0,System.Runtime.Intrinsics.Vector256<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Avx2 | -| System.Int32 System.Buffers.IndexOfAnyAsciiSearcher.ComputeFirstIndex`2(!0,!0,System.Runtime.Intrinsics.Vector256<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Avx2 | -| System.Int32 System.Buffers.IndexOfAnyAsciiSearcher.ComputeLastIndexOverlapped`2(!0,!0,System.Runtime.Intrinsics.Vector256<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Avx2 | -| System.Int32 System.Buffers.IndexOfAnyAsciiSearcher.ComputeLastIndex`2(!0,!0,System.Runtime.Intrinsics.Vector256<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Avx2 | -| System.Int32 System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyVectorizedAnyByte`1(System.Byte,System.Int32,System.Runtime.Intrinsics.Vector512<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.Arm.AdvSimd | -| System.Int32 System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyVectorizedAnyByte`1(System.Byte,System.Int32,System.Runtime.Intrinsics.Vector512<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.Wasm.PackedSimd | -| System.Int32 System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyVectorizedAnyByte`1(System.Byte,System.Int32,System.Runtime.Intrinsics.Vector512<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Ssse3 | -| System.Int32 System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyVectorized`1(System.Byte,System.Int32,System.Runtime.Intrinsics.Vector256<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.Arm.AdvSimd | -| System.Int32 System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyVectorized`1(System.Byte,System.Int32,System.Runtime.Intrinsics.Vector256<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.Wasm.PackedSimd | -| System.Int32 System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyVectorized`1(System.Byte,System.Int32,System.Runtime.Intrinsics.Vector256<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Ssse3 | -| System.Int32 System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyVectorized`2(System.Int16,System.Int32,System.Runtime.Intrinsics.Vector256<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.Arm.AdvSimd | -| System.Int32 System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyVectorized`2(System.Int16,System.Int32,System.Runtime.Intrinsics.Vector256<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.Wasm.PackedSimd | -| System.Int32 System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyVectorized`2(System.Int16,System.Int32,System.Runtime.Intrinsics.Vector256<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Ssse3 | -| System.Int32 System.Buffers.IndexOfAnyAsciiSearcher.LastIndexOfAnyVectorizedAnyByte`1(System.Byte,System.Int32,System.Runtime.Intrinsics.Vector512<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.Arm.AdvSimd | -| System.Int32 System.Buffers.IndexOfAnyAsciiSearcher.LastIndexOfAnyVectorizedAnyByte`1(System.Byte,System.Int32,System.Runtime.Intrinsics.Vector512<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.Wasm.PackedSimd | -| System.Int32 System.Buffers.IndexOfAnyAsciiSearcher.LastIndexOfAnyVectorizedAnyByte`1(System.Byte,System.Int32,System.Runtime.Intrinsics.Vector512<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Ssse3 | -| System.Int32 System.Buffers.IndexOfAnyAsciiSearcher.LastIndexOfAnyVectorized`1(System.Byte,System.Int32,System.Runtime.Intrinsics.Vector256<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.Arm.AdvSimd | -| System.Int32 System.Buffers.IndexOfAnyAsciiSearcher.LastIndexOfAnyVectorized`1(System.Byte,System.Int32,System.Runtime.Intrinsics.Vector256<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.Wasm.PackedSimd | -| System.Int32 System.Buffers.IndexOfAnyAsciiSearcher.LastIndexOfAnyVectorized`1(System.Byte,System.Int32,System.Runtime.Intrinsics.Vector256<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Ssse3 | -| System.Int32 System.Buffers.IndexOfAnyAsciiSearcher.LastIndexOfAnyVectorized`2(System.Int16,System.Int32,System.Runtime.Intrinsics.Vector256<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.Arm.AdvSimd | -| System.Int32 System.Buffers.IndexOfAnyAsciiSearcher.LastIndexOfAnyVectorized`2(System.Int16,System.Int32,System.Runtime.Intrinsics.Vector256<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.Wasm.PackedSimd | -| System.Int32 System.Buffers.IndexOfAnyAsciiSearcher.LastIndexOfAnyVectorized`2(System.Int16,System.Int32,System.Runtime.Intrinsics.Vector256<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Ssse3 | -| System.Int32 System.Buffers.ProbabilisticMap.IndexOfAnyVectorized(System.UInt32,System.Char,System.Int32,System.ReadOnlySpan<System.Char>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.Arm.AdvSimd.Arm64 | -| System.Int32 System.Buffers.ProbabilisticMap.IndexOfAnyVectorized(System.UInt32,System.Char,System.Int32,System.ReadOnlySpan<System.Char>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Sse41 | -| System.Int32 System.Byte.CompareTo(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Char.CompareTo(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Char.ConvertToUtf32(System.String,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.Collections.ArrayList.Add(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Collections.ArrayList.BinarySearch(System.Int32,System.Int32,System.Object,System.Collections.IComparer) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Collections.ArrayList.BinarySearch(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Collections.ArrayList.BinarySearch(System.Object,System.Collections.IComparer) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Collections.ArrayList.IndexOf(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Collections.ArrayList.IndexOf(System.Object,System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Collections.ArrayList.IndexOf(System.Object,System.Int32,System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Collections.ArrayList.LastIndexOf(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Collections.ArrayList.LastIndexOf(System.Object,System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Collections.ArrayList.LastIndexOf(System.Object,System.Int32,System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Collections.Comparer.Compare(System.Object,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Collections.Generic.Comparer`1.Compare(!0,!0) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Collections.Generic.GenericEqualityComparer`1.GetHashCode(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.Collections.Generic.IEqualityComparer`1.GetHashCode(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.Collections.Generic.NonRandomizedStringEqualityComparer.GetHashCode(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Collections.Generic.ObjectEqualityComparer`1.GetHashCode(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.Collections.Generic.ReferenceEqualityComparer.GetHashCode(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Comparison`1.Invoke(!0,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.Console.Read() | [UnsupportedOSPlatformAttribute(...)] | 0 | android | -| System.Int32 System.Console.Read() | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Int32 System.Console.get_BufferHeight() | [UnsupportedOSPlatformAttribute(...)] | 0 | android | -| System.Int32 System.Console.get_BufferHeight() | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Int32 System.Console.get_BufferHeight() | [UnsupportedOSPlatformAttribute(...)] | 0 | ios | -| System.Int32 System.Console.get_BufferHeight() | [UnsupportedOSPlatformAttribute(...)] | 0 | tvos | -| System.Int32 System.Console.get_BufferWidth() | [UnsupportedOSPlatformAttribute(...)] | 0 | android | -| System.Int32 System.Console.get_BufferWidth() | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Int32 System.Console.get_BufferWidth() | [UnsupportedOSPlatformAttribute(...)] | 0 | ios | -| System.Int32 System.Console.get_BufferWidth() | [UnsupportedOSPlatformAttribute(...)] | 0 | tvos | -| System.Int32 System.Console.get_CursorSize() | [UnsupportedOSPlatformAttribute(...)] | 0 | android | -| System.Int32 System.Console.get_CursorSize() | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Int32 System.Console.get_CursorSize() | [UnsupportedOSPlatformAttribute(...)] | 0 | ios | -| System.Int32 System.Console.get_CursorSize() | [UnsupportedOSPlatformAttribute(...)] | 0 | tvos | -| System.Int32 System.Convert.ToBase64CharArray(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.Convert.ToBase64CharArray(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32,System.Base64FormattingOptions) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.Convert.ToInt32(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Convert.ToInt32(System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Convert.ToInt32(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Convert.ToInt32(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.CultureAwareComparer.GetHashCode(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.DateOnly.CompareTo(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.DateTime.CompareTo(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Decimal.CompareTo(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Diagnostics.Tracing.EventPipeInternal.EventActivityIdControl(System.UInt32,System.Guid) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Int32 System.Diagnostics.Tracing.EventPipeInternal.EventActivityIdControl(System.UInt32,System.Guid) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Int32 System.Diagnostics.Tracing.EventPipeInternal.EventActivityIdControl(System.UInt32,System.Guid) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Int32 System.Diagnostics.Tracing.EventSource.GetHelperCallFirstArg(System.Reflection.MethodInfo) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Int32 System.Diagnostics.Tracing.EventSource.GetHelperCallFirstArg(System.Reflection.MethodInfo) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:RequiresUnreferencedCode | -| System.Int32 System.Double.CompareTo(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Enum.CompareTo(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Environment.GetProcessorCount() | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Int32 System.GC._EndNoGCRegion() | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Int32 System.GC._RefreshMemoryLimit(System.GC.GCHeapHardLimitInfo) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Int32 System.GC._StartNoGCRegion(System.Int64,System.Boolean,System.Int64,System.Boolean) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Int32 System.GC._StartNoGCRegion(System.Int64,System.Boolean,System.Int64,System.Boolean) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Int32 System.GC._StartNoGCRegion(System.Int64,System.Boolean,System.Int64,System.Boolean) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Int32 System.Globalization.CharUnicodeInfo.GetDecimalDigitValue(System.String,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.Globalization.CharUnicodeInfo.GetDigitValue(System.String,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.Globalization.CompareInfo.Compare(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.Globalization.CompareOptions) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.Globalization.CompareInfo.Compare(System.String,System.Int32,System.Int32,System.String,System.Int32,System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Globalization.CompareInfo.Compare(System.String,System.Int32,System.Int32,System.String,System.Int32,System.Int32,System.Globalization.CompareOptions) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Globalization.CompareInfo.Compare(System.String,System.Int32,System.String,System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Globalization.CompareInfo.Compare(System.String,System.Int32,System.String,System.Int32,System.Globalization.CompareOptions) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Globalization.CompareInfo.Compare(System.String,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Globalization.CompareInfo.Compare(System.String,System.String,System.Globalization.CompareOptions) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Globalization.CompareInfo.GetHashCode(System.ReadOnlySpan<System.Char>,System.Globalization.CompareOptions) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.Globalization.CompareInfo.GetSortKey(System.ReadOnlySpan<System.Char>,System.Span<System.Byte>,System.Globalization.CompareOptions) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.Globalization.CompareInfo.GetSortKeyLength(System.ReadOnlySpan<System.Char>,System.Globalization.CompareOptions) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.Globalization.CompareInfo.IndexOf(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.Globalization.CompareOptions) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.Globalization.CompareInfo.IndexOf(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.Globalization.CompareOptions,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.Globalization.CompareInfo.IndexOf(System.ReadOnlySpan<System.Char>,System.Text.Rune,System.Globalization.CompareOptions) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.Globalization.CompareInfo.LastIndexOf(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.Globalization.CompareOptions) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.Globalization.CompareInfo.LastIndexOf(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.Globalization.CompareOptions,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.Globalization.CompareInfo.LastIndexOf(System.ReadOnlySpan<System.Char>,System.Text.Rune,System.Globalization.CompareOptions) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.Globalization.StringInfo.GetNextTextElementLength(System.ReadOnlySpan<System.Char>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.Guid.CompareTo(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Half.CompareTo(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.HashCode.GetHashCode() | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Int32 System.HashCode.GetHashCode() | [ObsoleteAttribute(...)] | 0 | HashCode is a mutable struct and should not be compared with other HashCodes. Use ToHashCode to retrieve the computed hash code. | -| System.Int32 System.HashCode.GetHashCode() | [ObsoleteAttribute(...)] | 1 | True | -| System.Int32 System.IO.BinaryReader.Read(System.Span<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.IO.BinaryReader.Read(System.Span<System.Char>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.IO.BufferedStream.Read(System.Span<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.IO.FileStream.Read(System.Span<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.IO.MemoryStream.Read(System.Span<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.IO.Stream.Read(System.Span<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.IO.Stream.ReadAtLeast(System.Span<System.Byte>,System.Int32,System.Boolean) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.IO.StreamReader.Read(System.Span<System.Char>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.IO.StreamReader.ReadBlock(System.Span<System.Char>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.IO.StringReader.Read(System.Span<System.Char>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.IO.StringReader.ReadBlock(System.Span<System.Char>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.IO.TextReader.Read(System.Span<System.Char>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.IO.TextReader.ReadBlock(System.Span<System.Char>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.IO.UnmanagedMemoryStream.Read(System.Byte[],System.Int32,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.Int16.CompareTo(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Int32.CompareTo(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Int32.CreateChecked`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.Int32.CreateSaturating`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.Int32.CreateTruncating`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.Int32.Parse(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.Int32.Parse(System.String,System.Globalization.NumberStyles) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.Int32.Parse(System.String,System.Globalization.NumberStyles,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.Int32.Parse(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.Int64.CompareTo(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Int128.CompareTo(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.IntPtr.CompareTo(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Math.Sign(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.MemoryExtensions.BinarySearch`1(System.ReadOnlySpan<!0>,System.IComparable<!0>) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.MemoryExtensions.BinarySearch`1(System.Span<!0>,System.IComparable<!0>) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.MemoryExtensions.BinarySearch`2(System.ReadOnlySpan<!0>,!0,!1) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.MemoryExtensions.BinarySearch`2(System.ReadOnlySpan<!0>,!1) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.MemoryExtensions.BinarySearch`2(System.Span<!0>,!0,!1) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.MemoryExtensions.BinarySearch`2(System.Span<!0>,!1) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.MemoryExtensions.CommonPrefixLength`1(System.ReadOnlySpan<!0>,System.ReadOnlySpan<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.MemoryExtensions.CommonPrefixLength`1(System.ReadOnlySpan<!0>,System.ReadOnlySpan<!0>,System.Collections.Generic.IEqualityComparer<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.MemoryExtensions.CommonPrefixLength`1(System.Span<!0>,System.ReadOnlySpan<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.MemoryExtensions.CommonPrefixLength`1(System.Span<!0>,System.ReadOnlySpan<!0>,System.Collections.Generic.IEqualityComparer<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.MemoryExtensions.IndexOfAnyExceptInRange`1(System.ReadOnlySpan<!0>,!0,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.MemoryExtensions.IndexOfAnyExceptInRange`1(System.Span<!0>,!0,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.MemoryExtensions.IndexOfAnyExcept`1(System.ReadOnlySpan<!0>,!0,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.MemoryExtensions.IndexOfAnyExcept`1(System.ReadOnlySpan<!0>,!0,!0,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.MemoryExtensions.IndexOfAnyExcept`1(System.Span<!0>,!0,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.MemoryExtensions.IndexOfAnyExcept`1(System.Span<!0>,!0,!0,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.MemoryExtensions.IndexOfAnyInRange`1(System.ReadOnlySpan<!0>,!0,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.MemoryExtensions.IndexOfAnyInRange`1(System.Span<!0>,!0,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.MemoryExtensions.IndexOfAny`1(System.ReadOnlySpan<!0>,!0,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.MemoryExtensions.IndexOfAny`1(System.ReadOnlySpan<!0>,!0,!0,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.MemoryExtensions.IndexOfAny`1(System.Span<!0>,!0,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.MemoryExtensions.IndexOfAny`1(System.Span<!0>,!0,!0,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.MemoryExtensions.LastIndexOfAnyExceptInRange`1(System.ReadOnlySpan<!0>,!0,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.MemoryExtensions.LastIndexOfAnyExceptInRange`1(System.Span<!0>,!0,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.MemoryExtensions.LastIndexOfAnyExcept`1(System.ReadOnlySpan<!0>,!0,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.MemoryExtensions.LastIndexOfAnyExcept`1(System.ReadOnlySpan<!0>,!0,!0,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.MemoryExtensions.LastIndexOfAnyExcept`1(System.Span<!0>,!0,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.MemoryExtensions.LastIndexOfAnyExcept`1(System.Span<!0>,!0,!0,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.MemoryExtensions.LastIndexOfAnyInRange`1(System.ReadOnlySpan<!0>,!0,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.MemoryExtensions.LastIndexOfAnyInRange`1(System.Span<!0>,!0,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.MemoryExtensions.LastIndexOfAny`1(System.ReadOnlySpan<!0>,!0,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.MemoryExtensions.LastIndexOfAny`1(System.ReadOnlySpan<!0>,!0,!0,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.MemoryExtensions.LastIndexOfAny`1(System.Span<!0>,!0,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.MemoryExtensions.LastIndexOfAny`1(System.Span<!0>,!0,!0,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.Memory`1.GetHashCode() | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Int32 System.Numerics.BitOperations.LeadingZeroCount(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Numerics.BitOperations.LeadingZeroCount(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Numerics.BitOperations.LeadingZeroCount(System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Numerics.BitOperations.Log2(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Numerics.BitOperations.Log2(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Numerics.BitOperations.Log2(System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Numerics.BitOperations.PopCount(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Numerics.BitOperations.PopCount(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Numerics.BitOperations.PopCount(System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Numerics.BitOperations.TrailingZeroCount(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Numerics.BitOperations.TrailingZeroCount(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Numerics.BitOperations.TrailingZeroCount(System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Numerics.IBinaryInteger`1.WriteBigEndian(System.Span<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.Numerics.IBinaryInteger`1.WriteLittleEndian(System.Span<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.Numerics.IFloatingPoint`1.WriteExponentBigEndian(System.Span<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.Numerics.IFloatingPoint`1.WriteExponentLittleEndian(System.Span<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.Numerics.IFloatingPoint`1.WriteSignificandBigEndian(System.Span<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.Numerics.IFloatingPoint`1.WriteSignificandLittleEndian(System.Span<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.Numerics.TotalOrderIeee754Comparer`1.GetHashCode(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.OrdinalComparer.GetHashCode(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.PackedSpanHelpers.ComputeFirstIndex(System.Int16,System.Int16,System.Runtime.Intrinsics.Vector256<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Avx2 | -| System.Int32 System.PackedSpanHelpers.ComputeFirstIndex(System.Int16,System.Int16,System.Runtime.Intrinsics.Vector512<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Avx512F | -| System.Int32 System.PackedSpanHelpers.ComputeFirstIndexOverlapped(System.Int16,System.Int16,System.Int16,System.Runtime.Intrinsics.Vector256<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Avx2 | -| System.Int32 System.PackedSpanHelpers.ComputeFirstIndexOverlapped(System.Int16,System.Int16,System.Int16,System.Runtime.Intrinsics.Vector512<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Avx512F | -| System.Int32 System.PackedSpanHelpers.IndexOf(System.Char,System.Char,System.Int32) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Sse2 | -| System.Int32 System.PackedSpanHelpers.IndexOfAny(System.Char,System.Char,System.Char,System.Char,System.Int32) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Sse2 | -| System.Int32 System.PackedSpanHelpers.IndexOfAny(System.Char,System.Char,System.Char,System.Int32) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Sse2 | -| System.Int32 System.PackedSpanHelpers.IndexOfAnyExcept(System.Char,System.Char,System.Char,System.Char,System.Int32) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Sse2 | -| System.Int32 System.PackedSpanHelpers.IndexOfAnyExcept(System.Char,System.Char,System.Char,System.Int32) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Sse2 | -| System.Int32 System.PackedSpanHelpers.IndexOfAnyExcept(System.Char,System.Char,System.Int32) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Sse2 | -| System.Int32 System.PackedSpanHelpers.IndexOfAnyExceptInRange(System.Char,System.Char,System.Char,System.Int32) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Sse2 | -| System.Int32 System.PackedSpanHelpers.IndexOfAnyInRange(System.Char,System.Char,System.Char,System.Int32) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Sse2 | -| System.Int32 System.PackedSpanHelpers.IndexOfAnyInRange`1(System.Int16,System.Int16,System.Int16,System.Int32) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Sse2 | -| System.Int32 System.PackedSpanHelpers.IndexOfAny`1(System.Int16,System.Int16,System.Int16,System.Int16,System.Int32) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Sse2 | -| System.Int32 System.PackedSpanHelpers.IndexOfAny`1(System.Int16,System.Int16,System.Int16,System.Int32) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Sse2 | -| System.Int32 System.PackedSpanHelpers.IndexOf`1(System.Int16,System.Int16,System.Int32) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Sse2 | -| System.Int32 System.ReadOnlyMemory`1.GetHashCode() | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Int32 System.ReadOnlySpan`1.GetHashCode() | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Int32 System.ReadOnlySpan`1.GetHashCode() | [ObsoleteAttribute(...)] | 0 | GetHashCode() on ReadOnlySpan will always throw an exception. | -| System.Int32 System.Reflection.Emit.RuntimeModuleBuilder.GetArrayMethodToken(System.Runtime.CompilerServices.QCallModule,System.Int32,System.String,System.Byte[],System.Int32) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Int32 System.Reflection.Emit.RuntimeModuleBuilder.GetArrayMethodToken(System.Runtime.CompilerServices.QCallModule,System.Int32,System.String,System.Byte[],System.Int32) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Int32 System.Reflection.Emit.RuntimeModuleBuilder.GetMemberRef(System.Runtime.CompilerServices.QCallModule,System.Runtime.CompilerServices.QCallModule,System.Int32,System.Int32) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Int32 System.Reflection.Emit.RuntimeModuleBuilder.GetMemberRefFromSignature(System.Runtime.CompilerServices.QCallModule,System.Int32,System.String,System.Byte[],System.Int32) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Int32 System.Reflection.Emit.RuntimeModuleBuilder.GetMemberRefFromSignature(System.Runtime.CompilerServices.QCallModule,System.Int32,System.String,System.Byte[],System.Int32) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Int32 System.Reflection.Emit.RuntimeModuleBuilder.GetMemberRefOfFieldInfo(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Runtime.CompilerServices.QCallTypeHandle,System.Int32) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Int32 System.Reflection.Emit.RuntimeModuleBuilder.GetMemberRefOfMethodInfo(System.Runtime.CompilerServices.QCallModule,System.Int32,System.RuntimeMethodHandleInternal) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Int32 System.Reflection.Emit.RuntimeModuleBuilder.GetStringConstant(System.Runtime.CompilerServices.QCallModule,System.String,System.Int32) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Int32 System.Reflection.Emit.RuntimeModuleBuilder.GetStringConstant(System.Runtime.CompilerServices.QCallModule,System.String,System.Int32) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Int32 System.Reflection.Emit.RuntimeModuleBuilder.GetTokenFromTypeSpec(System.Runtime.CompilerServices.QCallModule,System.Byte[],System.Int32) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Int32 System.Reflection.Emit.RuntimeModuleBuilder.GetTokenFromTypeSpec(System.Runtime.CompilerServices.QCallModule,System.Byte[],System.Int32) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Int32 System.Reflection.Emit.RuntimeModuleBuilder.GetTokenFromTypeSpec(System.Runtime.CompilerServices.QCallModule,System.Byte[],System.Int32) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Int32 System.Reflection.Emit.RuntimeModuleBuilder.GetTypeRef(System.Runtime.CompilerServices.QCallModule,System.String,System.Runtime.CompilerServices.QCallModule,System.Int32) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Int32 System.Reflection.Emit.RuntimeModuleBuilder.GetTypeRef(System.Runtime.CompilerServices.QCallModule,System.String,System.Runtime.CompilerServices.QCallModule,System.Int32) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Int32 System.Reflection.Emit.RuntimeTypeBuilder.DefineEvent(System.Runtime.CompilerServices.QCallModule,System.Int32,System.String,System.Reflection.EventAttributes,System.Int32) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Int32 System.Reflection.Emit.RuntimeTypeBuilder.DefineEvent(System.Runtime.CompilerServices.QCallModule,System.Int32,System.String,System.Reflection.EventAttributes,System.Int32) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Int32 System.Reflection.Emit.RuntimeTypeBuilder.DefineField(System.Runtime.CompilerServices.QCallModule,System.Int32,System.String,System.Byte[],System.Int32,System.Reflection.FieldAttributes) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Int32 System.Reflection.Emit.RuntimeTypeBuilder.DefineField(System.Runtime.CompilerServices.QCallModule,System.Int32,System.String,System.Byte[],System.Int32,System.Reflection.FieldAttributes) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Int32 System.Reflection.Emit.RuntimeTypeBuilder.DefineGenericParam(System.Runtime.CompilerServices.QCallModule,System.String,System.Int32,System.Reflection.GenericParameterAttributes,System.Int32,System.Int32[]) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Int32 System.Reflection.Emit.RuntimeTypeBuilder.DefineGenericParam(System.Runtime.CompilerServices.QCallModule,System.String,System.Int32,System.Reflection.GenericParameterAttributes,System.Int32,System.Int32[]) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Int32 System.Reflection.Emit.RuntimeTypeBuilder.DefineMethod(System.Runtime.CompilerServices.QCallModule,System.Int32,System.String,System.Byte[],System.Int32,System.Reflection.MethodAttributes) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Int32 System.Reflection.Emit.RuntimeTypeBuilder.DefineMethod(System.Runtime.CompilerServices.QCallModule,System.Int32,System.String,System.Byte[],System.Int32,System.Reflection.MethodAttributes) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Int32 System.Reflection.Emit.RuntimeTypeBuilder.DefineMethodSpec(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Byte[],System.Int32) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Int32 System.Reflection.Emit.RuntimeTypeBuilder.DefineMethodSpec(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Byte[],System.Int32) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Int32 System.Reflection.Emit.RuntimeTypeBuilder.DefineMethodSpec(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Byte[],System.Int32) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Int32 System.Reflection.Emit.RuntimeTypeBuilder.DefineProperty(System.Runtime.CompilerServices.QCallModule,System.Int32,System.String,System.Reflection.PropertyAttributes,System.Byte[],System.Int32) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Int32 System.Reflection.Emit.RuntimeTypeBuilder.DefineProperty(System.Runtime.CompilerServices.QCallModule,System.Int32,System.String,System.Reflection.PropertyAttributes,System.Byte[],System.Int32) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Int32 System.Reflection.Emit.RuntimeTypeBuilder.DefineType(System.Runtime.CompilerServices.QCallModule,System.String,System.Int32,System.Reflection.TypeAttributes,System.Int32,System.Int32[]) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Int32 System.Reflection.Emit.RuntimeTypeBuilder.DefineType(System.Runtime.CompilerServices.QCallModule,System.String,System.Int32,System.Reflection.TypeAttributes,System.Int32,System.Int32[]) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Int32 System.Reflection.Emit.RuntimeTypeBuilder.GetTokenFromSig(System.Runtime.CompilerServices.QCallModule,System.Byte[],System.Int32) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Int32 System.Reflection.Emit.RuntimeTypeBuilder.GetTokenFromSig(System.Runtime.CompilerServices.QCallModule,System.Byte[],System.Int32) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Int32 System.Reflection.Emit.RuntimeTypeBuilder.GetTokenFromSig(System.Runtime.CompilerServices.QCallModule,System.Byte[],System.Int32) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Int32 System.Reflection.Emit.RuntimeTypeBuilder.SetParamInfo(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Int32,System.Reflection.ParameterAttributes,System.String) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Int32 System.Reflection.Emit.RuntimeTypeBuilder.SetParamInfo(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Int32,System.Reflection.ParameterAttributes,System.String) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Int32 System.Reflection.RuntimeAssembly.GetManifestResourceInfo(System.Runtime.CompilerServices.QCallAssembly,System.String,System.Runtime.CompilerServices.ObjectHandleOnStack,System.Runtime.CompilerServices.StringHandleOnStack) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Int32 System.Reflection.RuntimeAssembly.GetManifestResourceInfo(System.Runtime.CompilerServices.QCallAssembly,System.String,System.Runtime.CompilerServices.ObjectHandleOnStack,System.Runtime.CompilerServices.StringHandleOnStack) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Int32 System.Runtime.CompilerServices.RuntimeHelpers.GetHashCode(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Runtime.CompilerServices.Unsafe.SizeOf`1() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Runtime.InteropServices.ComTypes.IMoniker.IsRunning(System.Runtime.InteropServices.ComTypes.IBindCtx,System.Runtime.InteropServices.ComTypes.IMoniker,System.Runtime.InteropServices.ComTypes.IMoniker) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Runtime.InteropServices.Marshal.FinalReleaseComObject(System.Object) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Int32 System.Runtime.InteropServices.Marshal.GetEndComSlot(System.Type) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Int32 System.Runtime.InteropServices.Marshal.GetExceptionCode() | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Int32 System.Runtime.InteropServices.Marshal.GetExceptionCode() | [ObsoleteAttribute(...)] | 0 | GetExceptionCode() may be unavailable in future releases. | -| System.Int32 System.Runtime.InteropServices.Marshal.GetHRForException(System.Exception) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Runtime.InteropServices.Marshal.GetStartComSlot(System.Type) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Int32 System.Runtime.InteropServices.Marshal.ReadInt32(System.Object,System.Int32) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Int32 System.Runtime.InteropServices.Marshal.ReadInt32(System.Object,System.Int32) | [ObsoleteAttribute(...)] | 0 | ReadInt32(Object, Int32) may be unavailable in future releases. | -| System.Int32 System.Runtime.InteropServices.Marshal.ReadInt32(System.Object,System.Int32) | [RequiresDynamicCodeAttribute(...)] | 0 | Marshalling code for the object might not be available | -| System.Int32 System.Runtime.InteropServices.Marshal.ReleaseComObject(System.Object) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Int32 System.Runtime.InteropServices.Marshal.SizeOf(System.Object) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Int32 System.Runtime.InteropServices.Marshal.SizeOf(System.Object) | [RequiresDynamicCodeAttribute(...)] | 0 | Marshalling code for the object might not be available. Use the SizeOf<T> overload instead. | -| System.Int32 System.Runtime.InteropServices.Marshal.SizeOf(System.Type) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Int32 System.Runtime.InteropServices.Marshal.SizeOf(System.Type) | [RequiresDynamicCodeAttribute(...)] | 0 | Marshalling code for the object might not be available. Use the SizeOf<T> overload instead. | -| System.Int32 System.Runtime.InteropServices.Marshal.SizeOf`1() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Runtime.InteropServices.NFloat.CompareTo(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.SByte.CompareTo(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Single.CompareTo(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Span`1.GetHashCode() | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Int32 System.Span`1.GetHashCode() | [ObsoleteAttribute(...)] | 0 | GetHashCode() on Span will always throw an exception. | -| System.Int32 System.String.Compare(System.String,System.Int32,System.String,System.Int32,System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.String.Compare(System.String,System.Int32,System.String,System.Int32,System.Int32,System.Boolean) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.String.Compare(System.String,System.Int32,System.String,System.Int32,System.Int32,System.Boolean,System.Globalization.CultureInfo) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.String.Compare(System.String,System.Int32,System.String,System.Int32,System.Int32,System.Globalization.CultureInfo,System.Globalization.CompareOptions) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.String.Compare(System.String,System.Int32,System.String,System.Int32,System.Int32,System.StringComparison) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.String.Compare(System.String,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.String.Compare(System.String,System.String,System.Boolean) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.String.Compare(System.String,System.String,System.Boolean,System.Globalization.CultureInfo) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.String.Compare(System.String,System.String,System.Globalization.CultureInfo,System.Globalization.CompareOptions) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.String.Compare(System.String,System.String,System.StringComparison) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.String.CompareOrdinal(System.String,System.Int32,System.String,System.Int32,System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.String.CompareOrdinal(System.String,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.String.CompareTo(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.String.CompareTo(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.String.GetHashCode(System.ReadOnlySpan<System.Char>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.String.GetHashCode(System.ReadOnlySpan<System.Char>,System.StringComparison) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.StringComparer.Compare(System.Object,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.StringComparer.Compare(System.String,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Text.ASCIIEncoding.GetByteCount(System.Char*,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Text.ASCIIEncoding.GetByteCount(System.Char[],System.Int32,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.Text.ASCIIEncoding.GetByteCount(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.Text.ASCIIEncoding.GetBytes(System.Char*,System.Int32,System.Byte*,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Text.ASCIIEncoding.GetBytes(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.Text.ASCIIEncoding.GetBytes(System.String,System.Int32,System.Int32,System.Byte[],System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.Text.ASCIIEncoding.GetCharCount(System.Byte*,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Text.ASCIIEncoding.GetCharCount(System.Byte[],System.Int32,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.Text.ASCIIEncoding.GetChars(System.Byte*,System.Int32,System.Char*,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Text.ASCIIEncoding.GetChars(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.Text.Decoder.GetCharCount(System.Byte*,System.Int32,System.Boolean) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Text.Decoder.GetCharCount(System.Byte[],System.Int32,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.Text.Decoder.GetCharCount(System.Byte[],System.Int32,System.Int32,System.Boolean) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.Text.Decoder.GetChars(System.Byte*,System.Int32,System.Char*,System.Int32,System.Boolean) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Text.Decoder.GetChars(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.Text.Decoder.GetChars(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32,System.Boolean) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.Text.Encoder.GetByteCount(System.Char*,System.Int32,System.Boolean) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Text.Encoder.GetByteCount(System.Char[],System.Int32,System.Int32,System.Boolean) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.Text.Encoder.GetBytes(System.Char*,System.Int32,System.Byte*,System.Int32,System.Boolean) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Text.Encoder.GetBytes(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Boolean) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.Text.Encoding.GetByteCount(System.Char*,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Text.Encoding.GetByteCount(System.Char*,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.Text.Encoding.GetByteCount(System.ReadOnlySpan<System.Char>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.Text.Encoding.GetBytes(System.Char*,System.Int32,System.Byte*,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Text.Encoding.GetBytes(System.Char*,System.Int32,System.Byte*,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.Text.Encoding.GetBytes(System.ReadOnlySpan<System.Char>,System.Span<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.Text.Encoding.GetCharCount(System.Byte*,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Text.Encoding.GetCharCount(System.Byte*,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.Text.Encoding.GetCharCount(System.ReadOnlySpan<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.Text.Encoding.GetChars(System.Byte*,System.Int32,System.Char*,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Text.Encoding.GetChars(System.Byte*,System.Int32,System.Char*,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.Text.Encoding.GetChars(System.ReadOnlySpan<System.Byte>,System.Span<System.Char>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.Text.UTF7Encoding.GetByteCount(System.Char*,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Text.UTF7Encoding.GetByteCount(System.Char*,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.Text.UTF7Encoding.GetBytes(System.Char*,System.Int32,System.Byte*,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Text.UTF7Encoding.GetBytes(System.Char*,System.Int32,System.Byte*,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.Text.UTF7Encoding.GetCharCount(System.Byte*,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Text.UTF7Encoding.GetCharCount(System.Byte*,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.Text.UTF7Encoding.GetChars(System.Byte*,System.Int32,System.Char*,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Text.UTF7Encoding.GetChars(System.Byte*,System.Int32,System.Char*,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.Text.UTF8Encoding.GetByteCount(System.Char*,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Text.UTF8Encoding.GetByteCount(System.Char[],System.Int32,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.Text.UTF8Encoding.GetByteCount(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.Text.UTF8Encoding.GetBytes(System.Char*,System.Int32,System.Byte*,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Text.UTF8Encoding.GetBytes(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.Text.UTF8Encoding.GetBytes(System.String,System.Int32,System.Int32,System.Byte[],System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.Text.UTF8Encoding.GetCharCount(System.Byte*,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Text.UTF8Encoding.GetCharCount(System.Byte[],System.Int32,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.Text.UTF8Encoding.GetChars(System.Byte*,System.Int32,System.Char*,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Text.UTF8Encoding.GetChars(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32 System.Text.UTF32Encoding.GetByteCount(System.Char*,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Text.UTF32Encoding.GetByteCount(System.Char*,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.Text.UTF32Encoding.GetBytes(System.Char*,System.Int32,System.Byte*,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Text.UTF32Encoding.GetBytes(System.Char*,System.Int32,System.Byte*,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.Text.UTF32Encoding.GetCharCount(System.Byte*,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Text.UTF32Encoding.GetCharCount(System.Byte*,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.Text.UTF32Encoding.GetChars(System.Byte*,System.Int32,System.Char*,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Text.UTF32Encoding.GetChars(System.Byte*,System.Int32,System.Char*,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.Text.UnicodeEncoding.GetByteCount(System.Char*,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Text.UnicodeEncoding.GetByteCount(System.Char*,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.Text.UnicodeEncoding.GetBytes(System.Char*,System.Int32,System.Byte*,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Text.UnicodeEncoding.GetBytes(System.Char*,System.Int32,System.Byte*,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.Text.UnicodeEncoding.GetCharCount(System.Byte*,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Text.UnicodeEncoding.GetCharCount(System.Byte*,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.Text.UnicodeEncoding.GetChars(System.Byte*,System.Int32,System.Char*,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Text.UnicodeEncoding.GetChars(System.Byte*,System.Int32,System.Char*,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int32 System.Threading.LowLevelLifoSemaphore.WaitNative(Microsoft.Win32.SafeHandles.SafeWaitHandle,System.Int32) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Int32 System.Threading.LowLevelLifoSemaphore.WaitNative(Microsoft.Win32.SafeHandles.SafeWaitHandle,System.Int32) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Int32 System.Threading.LowLevelLifoSemaphore.WaitNative(Microsoft.Win32.SafeHandles.SafeWaitHandle,System.Int32) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Int32 System.Threading.SynchronizationContext.Wait(System.IntPtr[],System.Boolean,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.Threading.SynchronizationContext.WaitHelper(System.IntPtr[],System.Boolean,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int32 System.TimeOnly.CompareTo(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.TimeSpan.CompareTo(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.UInt16.CompareTo(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.UInt32.CompareTo(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.UInt64.CompareTo(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.UInt128.CompareTo(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.UIntPtr.CompareTo(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Version.CompareTo(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32 System.Version.CompareTo(System.Version) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Int32[] System.Decimal.GetBits(System.Decimal) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32[] System.Globalization.GregorianCalendar.get_Eras() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32[] System.Globalization.HebrewCalendar.get_Eras() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32[] System.Globalization.HijriCalendar.get_Eras() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int32[] System.Globalization.PersianCalendar.get_Eras() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int64 System.BitConverter.ToInt64(System.ReadOnlySpan<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Int64 System.Convert.ToInt64(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int64 System.Convert.ToInt64(System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int64 System.Convert.ToInt64(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int64 System.Convert.ToInt64(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int64 System.GC.GetTotalMemory() | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Int64 System.GC._GetGenerationBudget(System.Int32) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Int64 System.IO.RandomAccess.GetLength(Microsoft.Win32.SafeHandles.SafeFileHandle) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int64 System.IO.RandomAccess.Read(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Collections.Generic.IReadOnlyList<System.Memory<System.Byte>>,System.Int64) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int64 System.Int64.CreateChecked`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int64 System.Int64.CreateSaturating`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int64 System.Int64.CreateTruncating`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int64 System.Int64.Parse(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int64 System.Int64.Parse(System.String,System.Globalization.NumberStyles) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int64 System.Int64.Parse(System.String,System.Globalization.NumberStyles,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int64 System.Int64.Parse(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int64 System.Runtime.InteropServices.Marshal.ReadInt64(System.Object,System.Int32) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Int64 System.Runtime.InteropServices.Marshal.ReadInt64(System.Object,System.Int32) | [ObsoleteAttribute(...)] | 0 | ReadInt64(Object, Int32) may be unavailable in future releases. | -| System.Int64 System.Runtime.InteropServices.Marshal.ReadInt64(System.Object,System.Int32) | [RequiresDynamicCodeAttribute(...)] | 0 | Marshalling code for the object might not be available | -| System.Int64 System.Threading.Monitor.GetLockContentionCount() | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Int128 System.Int128.CreateChecked`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int128 System.Int128.CreateSaturating`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int128 System.Int128.CreateTruncating`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int128 System.Int128.Parse(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int128 System.Int128.Parse(System.String,System.Globalization.NumberStyles) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int128 System.Int128.Parse(System.String,System.Globalization.NumberStyles,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int128 System.Int128.Parse(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Int128 System.Int128.op_Implicit(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int128 System.Int128.op_Implicit(System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int128 System.Int128.op_Implicit(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int128 System.Int128.op_Implicit(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int128 System.Int128.op_Implicit(System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int128 System.UInt128.op_CheckedExplicit(System.UInt128) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Int128 System.UInt128.op_Explicit(System.UInt128) | [CLSCompliantAttribute(...)] | 0 | False | -| System.IntPtr | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.IntPtr Internal.Runtime.InteropServices.ComponentActivator.InternalGetFunctionPointer(System.Runtime.Loader.AssemblyLoadContext,System.String,System.String,System.IntPtr) | [RequiresDynamicCodeAttribute(...)] | 0 | The native code for the method requested might not be available at runtime. | -| System.IntPtr Internal.Runtime.InteropServices.ComponentActivator.InternalGetFunctionPointer(System.Runtime.Loader.AssemblyLoadContext,System.String,System.String,System.IntPtr) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Native hosting is not trim compatible and this warning will be seen if trimming is enabled. | -| System.IntPtr Interop.HostPolicy.corehost_set_error_writer(System.IntPtr) | [LibraryImportAttribute(...)] | 0 | libhostpolicy | -| System.IntPtr System.ComAwareWeakReference.ObjectToComWeakRef(System.Runtime.CompilerServices.ObjectHandleOnStack,System.Int64) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.IntPtr System.ComAwareWeakReference.ObjectToComWeakRef(System.Runtime.CompilerServices.ObjectHandleOnStack,System.Int64) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.IntPtr System.ComAwareWeakReference.ObjectToComWeakRef(System.Runtime.CompilerServices.ObjectHandleOnStack,System.Int64) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.IntPtr System.Diagnostics.Tracing.EventPipeInternal.CreateProvider(System.String,delegate* unmanaged<Byte*,Int32,Byte,Int64,Int64,EVENT_FILTER_DESCRIPTOR*,Void*,Void>,System.Void*) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.IntPtr System.Diagnostics.Tracing.EventPipeInternal.CreateProvider(System.String,delegate* unmanaged<Byte*,Int32,Byte,Int64,Int64,EVENT_FILTER_DESCRIPTOR*,Void*,Void>,System.Void*) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.IntPtr System.Diagnostics.Tracing.EventPipeInternal.DefineEvent(System.IntPtr,System.UInt32,System.Int64,System.UInt32,System.UInt32,System.Void*,System.UInt32) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.IntPtr System.Diagnostics.Tracing.EventPipeInternal.GetProvider(System.String) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.IntPtr System.Diagnostics.Tracing.EventPipeInternal.GetProvider(System.String) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.IntPtr System.GC._RegisterFrozenSegment(System.IntPtr,System.IntPtr) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.IntPtr System.IO.FileStream.Handle | [ObsoleteAttribute(...)] | 0 | FileStream.Handle has been deprecated. Use FileStream's SafeFileHandle property instead. | -| System.IntPtr System.IntPtr.CreateChecked`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.IntPtr System.IntPtr.CreateSaturating`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.IntPtr System.IntPtr.CreateTruncating`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.IntPtr System.IntPtr.Parse(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.IntPtr System.IntPtr.Parse(System.String,System.Globalization.NumberStyles) | [NullableContextAttribute(...)] | 0 | 1 | -| System.IntPtr System.IntPtr.Parse(System.String,System.Globalization.NumberStyles,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.IntPtr System.IntPtr.Parse(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.IntPtr System.IntPtr.op_Explicit(System.Void*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.IntPtr System.Runtime.CompilerServices.RuntimeHelpers.AllocateTypeAssociatedMemory(System.Runtime.CompilerServices.QCallTypeHandle,System.UInt32) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.IntPtr System.Runtime.InteropServices.DllImportResolver.Invoke(System.String,System.Reflection.Assembly,System.Nullable<System.Runtime.InteropServices.DllImportSearchPath>) | [NullableContextAttribute(...)] | 0 | 1 | -| System.IntPtr System.Runtime.InteropServices.Marshal.CreateAggregatedObject(System.IntPtr,System.Object) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.IntPtr System.Runtime.InteropServices.Marshal.CreateAggregatedObject(System.IntPtr,System.Object) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.IntPtr System.Runtime.InteropServices.Marshal.CreateAggregatedObject`1(System.IntPtr,!0) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.IntPtr System.Runtime.InteropServices.Marshal.GetComInterfaceForObject(System.Object,System.Type) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.IntPtr System.Runtime.InteropServices.Marshal.GetComInterfaceForObject(System.Object,System.Type) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.IntPtr System.Runtime.InteropServices.Marshal.GetComInterfaceForObject(System.Object,System.Type,System.Runtime.InteropServices.CustomQueryInterfaceMode) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.IntPtr System.Runtime.InteropServices.Marshal.GetComInterfaceForObject(System.Object,System.Type,System.Runtime.InteropServices.CustomQueryInterfaceMode) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.IntPtr System.Runtime.InteropServices.Marshal.GetComInterfaceForObject`2(!0) | [NullableContextAttribute(...)] | 0 | 2 | -| System.IntPtr System.Runtime.InteropServices.Marshal.GetComInterfaceForObject`2(!0) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.IntPtr System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(System.Delegate) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.IntPtr System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(System.Delegate) | [RequiresDynamicCodeAttribute(...)] | 0 | Marshalling code for the delegate might not be available. Use the GetFunctionPointerForDelegate<TDelegate> overload instead. | -| System.IntPtr System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate`1(!0) | [UnconditionalSuppressMessageAttribute(...)] | 0 | AotAnalysis | -| System.IntPtr System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate`1(!0) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL3050:AotUnfriendlyApi | -| System.IntPtr System.Runtime.InteropServices.Marshal.GetHINSTANCE(System.Reflection.Module) | [RequiresAssemblyFilesAttribute(...)] | 0 | Windows only assigns HINSTANCE to assemblies loaded from disk. This API will return -1 for modules without a file on disk. | -| System.IntPtr System.Runtime.InteropServices.Marshal.GetIDispatchForObject(System.Object) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.IntPtr System.Runtime.InteropServices.Marshal.GetIUnknownForObject(System.Object) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.IntPtr System.Runtime.InteropServices.Marshal.OffsetOf(System.Type,System.String) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.IntPtr System.Runtime.InteropServices.Marshal.OffsetOf(System.Type,System.String) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.IntPtr System.Runtime.InteropServices.Marshal.OffsetOf(System.Type,System.String) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2070:UnrecognizedReflectionPattern | -| System.IntPtr System.Runtime.InteropServices.Marshal.ReadIntPtr(System.Object,System.Int32) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.IntPtr System.Runtime.InteropServices.Marshal.ReadIntPtr(System.Object,System.Int32) | [ObsoleteAttribute(...)] | 0 | ReadIntPtr(Object, Int32) may be unavailable in future releases. | -| System.IntPtr System.Runtime.InteropServices.Marshal.ReadIntPtr(System.Object,System.Int32) | [RequiresDynamicCodeAttribute(...)] | 0 | Marshalling code for the object might not be available | -| System.IntPtr System.Runtime.InteropServices.Marshal.StringToBSTR(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.IntPtr System.Runtime.InteropServices.Marshal.StringToCoTaskMemAnsi(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.IntPtr System.Runtime.InteropServices.Marshal.StringToCoTaskMemAuto(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.IntPtr System.Runtime.InteropServices.Marshal.StringToCoTaskMemUTF8(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.IntPtr System.Runtime.InteropServices.Marshal.StringToCoTaskMemUni(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.IntPtr System.Runtime.InteropServices.Marshal.StringToHGlobalAnsi(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.IntPtr System.Runtime.InteropServices.Marshal.StringToHGlobalAuto(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.IntPtr System.Runtime.InteropServices.Marshal.StringToHGlobalUni(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.IntPtr System.Runtime.InteropServices.Marshal.UnsafeAddrOfPinnedArrayElement(System.Array,System.Int32) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.IntPtr System.Runtime.InteropServices.NativeLibrary.GetSymbol(System.IntPtr,System.String,System.Boolean) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.IntPtr System.Runtime.InteropServices.NativeLibrary.GetSymbol(System.IntPtr,System.String,System.Boolean) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.IntPtr System.Runtime.InteropServices.NativeLibrary.LoadByName(System.String,System.Runtime.CompilerServices.QCallAssembly,System.Boolean,System.UInt32,System.Boolean) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.IntPtr System.Runtime.InteropServices.NativeLibrary.LoadByName(System.String,System.Runtime.CompilerServices.QCallAssembly,System.Boolean,System.UInt32,System.Boolean) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.IntPtr System.Runtime.InteropServices.NativeLibrary.LoadFromPath(System.String,System.Boolean) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.IntPtr System.Runtime.InteropServices.NativeLibrary.LoadFromPath(System.String,System.Boolean) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.IntPtr System.Runtime.Loader.AssemblyLoadContext.GetLoadContextForAssembly(System.Runtime.CompilerServices.QCallAssembly) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.IntPtr System.Runtime.Loader.AssemblyLoadContext.InitializeAssemblyLoadContext(System.IntPtr,System.Boolean,System.Boolean) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.IntPtr System.Runtime.Loader.AssemblyLoadContext.InitializeAssemblyLoadContext(System.IntPtr,System.Boolean,System.Boolean) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.IntPtr System.Runtime.Loader.AssemblyLoadContext.InitializeAssemblyLoadContext(System.IntPtr,System.Boolean,System.Boolean) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.IntPtr System.RuntimeMethodHandle.GetFunctionPointer(System.RuntimeMethodHandleInternal) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.IntPtr System.RuntimeTypeHandle.FreeGCHandle(System.Runtime.CompilerServices.QCallTypeHandle,System.IntPtr) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.IntPtr System.RuntimeTypeHandle.GetGCHandle(System.Runtime.CompilerServices.QCallTypeHandle,System.Runtime.InteropServices.GCHandleType) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.IntPtr System.Threading.WaitHandle.Handle | [ObsoleteAttribute(...)] | 0 | WaitHandle.Handle has been deprecated. Use the SafeWaitHandle property instead. | -| System.InvalidCastException | [NullableAttribute(...)] | 0 | 0 | -| System.InvalidCastException | [NullableContextAttribute(...)] | 0 | 2 | -| System.InvalidCastException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.InvalidOperationException | [NullableAttribute(...)] | 0 | 0 | -| System.InvalidOperationException | [NullableContextAttribute(...)] | 0 | 2 | -| System.InvalidOperationException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.InvalidProgramException | [NullableAttribute(...)] | 0 | 0 | -| System.InvalidProgramException | [NullableContextAttribute(...)] | 0 | 2 | -| System.InvalidProgramException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.InvalidTimeZoneException | [NullableAttribute(...)] | 0 | 0 | -| System.InvalidTimeZoneException | [NullableContextAttribute(...)] | 0 | 2 | -| System.InvalidTimeZoneException | [TypeForwardedFromAttribute(...)] | 0 | System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Lazy`1 | [DebuggerDisplayAttribute(...)] | 0 | ThreadSafetyMode = {Mode}, IsValueCreated = {IsValueCreated}, IsValueFaulted = {IsValueFaulted}, Value = {ValueForDebugDisplay} | -| System.Lazy`1 | [DebuggerTypeProxyAttribute(...)] | 0 | System.LazyDebugView`1 | -| System.Lazy`1 | [NullableAttribute(...)] | 0 | 0 | -| System.Lazy`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Lazy`2 | [NullableAttribute(...)] | 0 | [0,1] | -| System.Lazy`2 | [NullableContextAttribute(...)] | 0 | 1 | -| System.LoaderOptimization.DisallowBindings | [ObsoleteAttribute(...)] | 0 | LoaderOptimization.DisallowBindings has been deprecated and is not supported. | -| System.LoaderOptimization.DomainMask | [ObsoleteAttribute(...)] | 0 | LoaderOptimization.DomainMask has been deprecated and is not supported. | -| System.LoaderOptimizationAttribute | [AttributeUsageAttribute(...)] | 0 | 64 | -| System.MTAThreadAttribute | [AttributeUsageAttribute(...)] | 0 | 64 | -| System.MarshalByRefObject | [ClassInterfaceAttribute(...)] | 0 | 1 | -| System.MarshalByRefObject | [ComVisibleAttribute(...)] | 0 | True | -| System.MarshalByRefObject | [NullableAttribute(...)] | 0 | 0 | -| System.MarshalByRefObject | [NullableContextAttribute(...)] | 0 | 1 | -| System.MemberAccessException | [NullableAttribute(...)] | 0 | 0 | -| System.MemberAccessException | [NullableContextAttribute(...)] | 0 | 2 | -| System.MemberAccessException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Memory<!0> | [NullableAttribute(...)] | 0 | [0,1] | -| System.Memory<!0> System.Buffers.IMemoryOwner`1.Memory | [NullableAttribute(...)] | 0 | [0,1] | -| System.Memory<!0> System.Buffers.MemoryManager`1.Memory | [NullableAttribute(...)] | 0 | [0,1] | -| System.Memory<!0> System.MemoryExtensions.AsMemory`1(!0[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Memory<!0> System.MemoryExtensions.AsMemory`1(!0[],System.Index) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Memory<!0> System.MemoryExtensions.AsMemory`1(!0[],System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Memory<!0> System.MemoryExtensions.AsMemory`1(!0[],System.Int32,System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Memory<!0> System.MemoryExtensions.AsMemory`1(!0[],System.Range) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Memory<!0> System.MemoryExtensions.AsMemory`1(System.ArraySegment<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Memory<!0> System.MemoryExtensions.AsMemory`1(System.ArraySegment<!0>,System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Memory<!0> System.MemoryExtensions.AsMemory`1(System.ArraySegment<!0>,System.Int32,System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Memory<!0> System.Memory`1.Empty | [NullableAttribute(...)] | 0 | [0,1] | -| System.Memory<!0> System.Runtime.InteropServices.MemoryMarshal.AsMemory`1(System.ReadOnlyMemory<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Memory<!0> System.Runtime.InteropServices.MemoryMarshal.CreateFromPinnedArray`1(!0[],System.Int32,System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.MemoryExtensions.TryWriteInterpolatedStringHandler | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.MemoryExtensions.TryWriteInterpolatedStringHandler | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.MemoryExtensions.TryWriteInterpolatedStringHandler | [InterpolatedStringHandlerArgumentAttribute(...)] | 0 | [destination,provider] | -| System.MemoryExtensions.TryWriteInterpolatedStringHandler | [InterpolatedStringHandlerArgumentAttribute(...)] | 0 | destination | -| System.MemoryExtensions.TryWriteInterpolatedStringHandler | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.MemoryExtensions.TryWriteInterpolatedStringHandler | [ObsoleteAttribute(...)] | 1 | True | -| System.Memory`1 | [DebuggerDisplayAttribute(...)] | 0 | {ToString(),raw} | -| System.Memory`1 | [DebuggerTypeProxyAttribute(...)] | 0 | System.MemoryDebugView`1 | -| System.Memory`1 | [NullableAttribute(...)] | 0 | 0 | -| System.Memory`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.MethodAccessException | [NullableAttribute(...)] | 0 | 0 | -| System.MethodAccessException | [NullableContextAttribute(...)] | 0 | 2 | -| System.MethodAccessException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.MissingFieldException | [NullableAttribute(...)] | 0 | 0 | -| System.MissingFieldException | [NullableContextAttribute(...)] | 0 | 1 | -| System.MissingFieldException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.MissingMemberException | [NullableAttribute(...)] | 0 | 0 | -| System.MissingMemberException | [NullableContextAttribute(...)] | 0 | 2 | -| System.MissingMemberException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.MissingMethodException | [NullableAttribute(...)] | 0 | 0 | -| System.MissingMethodException | [NullableContextAttribute(...)] | 0 | 1 | -| System.MissingMethodException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.ModuleHandle | [NullableAttribute(...)] | 0 | 0 | -| System.ModuleHandle | [NullableContextAttribute(...)] | 0 | 2 | -| System.MulticastDelegate | [ClassInterfaceAttribute(...)] | 0 | 0 | -| System.MulticastDelegate | [ComVisibleAttribute(...)] | 0 | True | -| System.MulticastDelegate | [NullableAttribute(...)] | 0 | 0 | -| System.MulticastDelegate | [NullableContextAttribute(...)] | 0 | 1 | -| System.MulticastNotSupportedException | [NullableAttribute(...)] | 0 | 0 | -| System.MulticastNotSupportedException | [NullableContextAttribute(...)] | 0 | 2 | -| System.MulticastNotSupportedException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Net.WebUtility | [NullableAttribute(...)] | 0 | 0 | -| System.Net.WebUtility | [NullableContextAttribute(...)] | 0 | 2 | -| System.NonSerializedAttribute | [AttributeUsageAttribute(...)] | 0 | 256 | -| System.NonSerializedAttribute | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.NotFiniteNumberException | [NullableAttribute(...)] | 0 | 0 | -| System.NotFiniteNumberException | [NullableContextAttribute(...)] | 0 | 2 | -| System.NotFiniteNumberException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.NotImplementedException | [NullableAttribute(...)] | 0 | 0 | -| System.NotImplementedException | [NullableContextAttribute(...)] | 0 | 2 | -| System.NotImplementedException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.NotSupportedException | [NullableAttribute(...)] | 0 | 0 | -| System.NotSupportedException | [NullableContextAttribute(...)] | 0 | 2 | -| System.NotSupportedException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.NullReferenceException | [NullableAttribute(...)] | 0 | 0 | -| System.NullReferenceException | [NullableContextAttribute(...)] | 0 | 2 | -| System.NullReferenceException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Nullable`1 | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Number.BigInteger | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.Number.BigInteger | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.Number.BigInteger | [ObsoleteAttribute(...)] | 1 | True | -| System.Number.BigInteger._blocks | [FixedBufferAttribute(...)] | 0 | System.UInt32 | -| System.Number.BigInteger._blocks | [FixedBufferAttribute(...)] | 1 | 115 | -| System.Number.DiyFp | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.Number.DiyFp | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.Number.DiyFp | [ObsoleteAttribute(...)] | 1 | True | -| System.Number.NumberBuffer | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.Number.NumberBuffer | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.Number.NumberBuffer | [ObsoleteAttribute(...)] | 1 | True | -| System.Numerics.IAdditionOperators`3 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Numerics.IAdditiveIdentity`2 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Numerics.IBinaryInteger`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Numerics.IBitwiseOperators`3 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Numerics.IComparisonOperators`3 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Numerics.IDecrementOperators`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Numerics.IDivisionOperators`3 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Numerics.IEqualityOperators`3 | [NullableContextAttribute(...)] | 0 | 2 | -| System.Numerics.IExponentialFunctions`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Numerics.IFloatingPointConstants`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Numerics.IFloatingPointIeee754`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Numerics.IFloatingPoint`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Numerics.IHyperbolicFunctions`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Numerics.IIncrementOperators`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Numerics.ILogarithmicFunctions`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Numerics.IMinMaxValue`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Numerics.IModulusOperators`3 | [NullableContextAttribute(...)] | 0 | 2 | -| System.Numerics.IMultiplicativeIdentity`2 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Numerics.IMultiplyOperators`3 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Numerics.INumberBase`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Numerics.INumber`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Numerics.IShiftOperators`3 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Numerics.ISubtractionOperators`3 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Numerics.ITrigonometricFunctions`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Numerics.IUnaryNegationOperators`2 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Numerics.Matrix3x2 | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Numerics.Matrix3x2.Impl | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Numerics.Matrix4x4 | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Numerics.Matrix4x4.Impl | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Numerics.Quaternion | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Numerics.TotalOrderIeee754Comparer<!0> | [NullableAttribute(...)] | 0 | [0,1] | -| System.Numerics.TotalOrderIeee754Comparer`1 | [NullableAttribute(...)] | 0 | 0 | -| System.Numerics.TotalOrderIeee754Comparer`1 | [NullableContextAttribute(...)] | 0 | 2 | -| System.Numerics.Vector2 | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Numerics.Vector3 | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Numerics.Vector4 | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Numerics.Vector<!0> | [NullableAttribute(...)] | 0 | [0,1] | -| System.Numerics.Vector<!0> System.Numerics.Vector.Abs`1(System.Numerics.Vector<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Numerics.Vector<!0> System.Numerics.Vector.Add`1(System.Numerics.Vector<!0>,System.Numerics.Vector<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Numerics.Vector<!0> System.Numerics.Vector.AndNot`1(System.Numerics.Vector<!0>,System.Numerics.Vector<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Numerics.Vector<!0> System.Numerics.Vector.BitwiseAnd`1(System.Numerics.Vector<!0>,System.Numerics.Vector<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Numerics.Vector<!0> System.Numerics.Vector.BitwiseOr`1(System.Numerics.Vector<!0>,System.Numerics.Vector<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Numerics.Vector<!0> System.Numerics.Vector.ConditionalSelect`1(System.Numerics.Vector<!0>,System.Numerics.Vector<!0>,System.Numerics.Vector<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Numerics.Vector<!0> System.Numerics.Vector.Divide`1(System.Numerics.Vector<!0>,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Numerics.Vector<!0> System.Numerics.Vector.Divide`1(System.Numerics.Vector<!0>,System.Numerics.Vector<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Numerics.Vector<!0> System.Numerics.Vector.Equals`1(System.Numerics.Vector<!0>,System.Numerics.Vector<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Numerics.Vector<!0> System.Numerics.Vector.GreaterThanOrEqual`1(System.Numerics.Vector<!0>,System.Numerics.Vector<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Numerics.Vector<!0> System.Numerics.Vector.GreaterThan`1(System.Numerics.Vector<!0>,System.Numerics.Vector<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Numerics.Vector<!0> System.Numerics.Vector.LessThanOrEqual`1(System.Numerics.Vector<!0>,System.Numerics.Vector<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Numerics.Vector<!0> System.Numerics.Vector.LessThan`1(System.Numerics.Vector<!0>,System.Numerics.Vector<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Numerics.Vector<!0> System.Numerics.Vector.LoadAlignedNonTemporal`1(!0*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Numerics.Vector<!0> System.Numerics.Vector.LoadAlignedNonTemporal`1(!0*) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Numerics.Vector<!0> System.Numerics.Vector.LoadAligned`1(!0*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Numerics.Vector<!0> System.Numerics.Vector.LoadAligned`1(!0*) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Numerics.Vector<!0> System.Numerics.Vector.LoadUnsafe`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Numerics.Vector<!0> System.Numerics.Vector.LoadUnsafe`1(!0,System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Numerics.Vector<!0> System.Numerics.Vector.LoadUnsafe`1(!0,System.UIntPtr) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Numerics.Vector<!0> System.Numerics.Vector.Load`1(!0*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Numerics.Vector<!0> System.Numerics.Vector.Load`1(!0*) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Numerics.Vector<!0> System.Numerics.Vector.Max`1(System.Numerics.Vector<!0>,System.Numerics.Vector<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Numerics.Vector<!0> System.Numerics.Vector.Min`1(System.Numerics.Vector<!0>,System.Numerics.Vector<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Numerics.Vector<!0> System.Numerics.Vector.Multiply`1(!0,System.Numerics.Vector<!0>) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Numerics.Vector<!0> System.Numerics.Vector.Multiply`1(System.Numerics.Vector<!0>,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Numerics.Vector<!0> System.Numerics.Vector.Multiply`1(System.Numerics.Vector<!0>,System.Numerics.Vector<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Numerics.Vector<!0> System.Numerics.Vector.Negate`1(System.Numerics.Vector<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Numerics.Vector<!0> System.Numerics.Vector.OnesComplement`1(System.Numerics.Vector<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Numerics.Vector<!0> System.Numerics.Vector.SquareRoot`1(System.Numerics.Vector<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Numerics.Vector<!0> System.Numerics.Vector.Subtract`1(System.Numerics.Vector<!0>,System.Numerics.Vector<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Numerics.Vector<!0> System.Numerics.Vector.WithElement`1(System.Numerics.Vector<!0>,System.Int32,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Numerics.Vector<!0> System.Numerics.Vector.Xor`1(System.Numerics.Vector<!0>,System.Numerics.Vector<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Numerics.Vector<!0> System.Numerics.Vector`1.AllBitsSet | [NullableAttribute(...)] | 0 | [0,1] | -| System.Numerics.Vector<!0> System.Numerics.Vector`1.One | [NullableAttribute(...)] | 0 | [0,1] | -| System.Numerics.Vector<!0> System.Numerics.Vector`1.Zero | [NullableAttribute(...)] | 0 | [0,1] | -| System.Numerics.Vector<!0> System.Numerics.Vector`1.op_Division(System.Numerics.Vector<!0>,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Numerics.Vector<!0> System.Numerics.Vector`1.op_Multiply(!0,System.Numerics.Vector<!0>) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Numerics.Vector<!0> System.Numerics.Vector`1.op_Multiply(System.Numerics.Vector<!0>,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Numerics.Vector<!0> System.Runtime.Intrinsics.Vector128.AsVector`1(System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Numerics.Vector<!0> System.Runtime.Intrinsics.Vector256.AsVector`1(System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Numerics.Vector<!0> System.Runtime.Intrinsics.Vector512.AsVector`1(System.Runtime.Intrinsics.Vector512<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Numerics.Vector<!1> System.Numerics.Vector.As`2(System.Numerics.Vector<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Numerics.Vector<System.Byte> System.Numerics.Vector.Narrow(System.Numerics.Vector<System.UInt16>,System.Numerics.Vector<System.UInt16>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Numerics.Vector<System.Double> System.Numerics.Vector.ConvertToDouble(System.Numerics.Vector<System.UInt64>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Numerics.Vector<System.Int16> System.Numerics.Vector.WidenLower(System.Numerics.Vector<System.SByte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Numerics.Vector<System.Int16> System.Numerics.Vector.WidenUpper(System.Numerics.Vector<System.SByte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Numerics.Vector<System.SByte> System.Numerics.Vector.AsVectorSByte`1(System.Numerics.Vector<!0>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Numerics.Vector<System.SByte> System.Numerics.Vector.Narrow(System.Numerics.Vector<System.Int16>,System.Numerics.Vector<System.Int16>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Numerics.Vector<System.SByte> System.Numerics.Vector.ShiftLeft(System.Numerics.Vector<System.SByte>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Numerics.Vector<System.SByte> System.Numerics.Vector.ShiftRightArithmetic(System.Numerics.Vector<System.SByte>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Numerics.Vector<System.SByte> System.Numerics.Vector.ShiftRightLogical(System.Numerics.Vector<System.SByte>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Numerics.Vector<System.SByte> System.Numerics.Vector`1.op_Explicit(System.Numerics.Vector<!0>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Numerics.Vector<System.Single> System.Numerics.Vector.ConvertToSingle(System.Numerics.Vector<System.UInt32>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Numerics.Vector<System.UInt16> System.Numerics.Vector.AsVectorUInt16`1(System.Numerics.Vector<!0>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Numerics.Vector<System.UInt16> System.Numerics.Vector.Narrow(System.Numerics.Vector<System.UInt32>,System.Numerics.Vector<System.UInt32>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Numerics.Vector<System.UInt16> System.Numerics.Vector.ShiftLeft(System.Numerics.Vector<System.UInt16>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Numerics.Vector<System.UInt16> System.Numerics.Vector.ShiftRightLogical(System.Numerics.Vector<System.UInt16>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Numerics.Vector<System.UInt16> System.Numerics.Vector.WidenLower(System.Numerics.Vector<System.Byte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Numerics.Vector<System.UInt16> System.Numerics.Vector.WidenUpper(System.Numerics.Vector<System.Byte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Numerics.Vector<System.UInt16> System.Numerics.Vector`1.op_Explicit(System.Numerics.Vector<!0>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Numerics.Vector<System.UInt32> System.Numerics.Vector.AsVectorUInt32`1(System.Numerics.Vector<!0>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Numerics.Vector<System.UInt32> System.Numerics.Vector.ConvertToUInt32(System.Numerics.Vector<System.Single>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Numerics.Vector<System.UInt32> System.Numerics.Vector.Narrow(System.Numerics.Vector<System.UInt64>,System.Numerics.Vector<System.UInt64>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Numerics.Vector<System.UInt32> System.Numerics.Vector.ShiftLeft(System.Numerics.Vector<System.UInt32>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Numerics.Vector<System.UInt32> System.Numerics.Vector.ShiftRightLogical(System.Numerics.Vector<System.UInt32>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Numerics.Vector<System.UInt32> System.Numerics.Vector.WidenLower(System.Numerics.Vector<System.UInt16>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Numerics.Vector<System.UInt32> System.Numerics.Vector.WidenUpper(System.Numerics.Vector<System.UInt16>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Numerics.Vector<System.UInt32> System.Numerics.Vector`1.op_Explicit(System.Numerics.Vector<!0>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Numerics.Vector<System.UInt64> System.Numerics.Vector.AsVectorUInt64`1(System.Numerics.Vector<!0>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Numerics.Vector<System.UInt64> System.Numerics.Vector.ConvertToUInt64(System.Numerics.Vector<System.Double>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Numerics.Vector<System.UInt64> System.Numerics.Vector.ShiftLeft(System.Numerics.Vector<System.UInt64>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Numerics.Vector<System.UInt64> System.Numerics.Vector.ShiftRightLogical(System.Numerics.Vector<System.UInt64>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Numerics.Vector<System.UInt64> System.Numerics.Vector.WidenLower(System.Numerics.Vector<System.UInt32>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Numerics.Vector<System.UInt64> System.Numerics.Vector.WidenUpper(System.Numerics.Vector<System.UInt32>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Numerics.Vector<System.UInt64> System.Numerics.Vector`1.op_Explicit(System.Numerics.Vector<!0>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Numerics.Vector<System.UIntPtr> System.Numerics.Vector.AsVectorNUInt`1(System.Numerics.Vector<!0>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Numerics.Vector<System.UIntPtr> System.Numerics.Vector.ShiftLeft(System.Numerics.Vector<System.UIntPtr>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Numerics.Vector<System.UIntPtr> System.Numerics.Vector.ShiftRightLogical(System.Numerics.Vector<System.UIntPtr>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Numerics.Vector<System.UIntPtr> System.Numerics.Vector`1.op_Explicit(System.Numerics.Vector<!0>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Numerics.Vector`1 | [DebuggerDisplayAttribute(...)] | 0 | {DisplayString,nq} | -| System.Numerics.Vector`1 | [DebuggerTypeProxyAttribute(...)] | 0 | System.Numerics.VectorDebugView`1 | -| System.Numerics.Vector`1 | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Object System.Activator.CreateInstance(System.Type,System.Object[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Activator.CreateInstance(System.Type,System.Object[],System.Object[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Activator.CreateInstance(System.Type,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Activator.CreateInstance(System.Type,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.AppDomain.CreateInstanceAndUnwrap(System.String,System.String) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Type and its constructor could be removed | -| System.Object System.AppDomain.CreateInstanceAndUnwrap(System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.AppDomain.CreateInstanceAndUnwrap(System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Type and its constructor could be removed | -| System.Object System.AppDomain.CreateInstanceAndUnwrap(System.String,System.String,System.Object[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Type and its constructor could be removed | -| System.Object System.AppDomain.CreateInstanceFromAndUnwrap(System.String,System.String) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Type and its constructor could be removed | -| System.Object System.AppDomain.CreateInstanceFromAndUnwrap(System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.AppDomain.CreateInstanceFromAndUnwrap(System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Type and its constructor could be removed | -| System.Object System.AppDomain.CreateInstanceFromAndUnwrap(System.String,System.String,System.Object[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Type and its constructor could be removed | -| System.Object System.ArgumentOutOfRangeException.get_ActualValue() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Array.GetValue(System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Array.GetValue(System.Int32,System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Array.GetValue(System.Int32,System.Int32,System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Array.GetValue(System.Int64) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Array.GetValue(System.Int64,System.Int64) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Array.GetValue(System.Int64,System.Int64,System.Int64) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.CharEnumerator.Clone() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Object System.Collections.ArrayList.get_Item(System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Collections.DictionaryEntry.get_Value() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Collections.IDictionaryEnumerator.get_Value() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Delegate.DynamicInvoke(System.Object[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Delegate.DynamicInvokeImpl(System.Object[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Delegate.get_Target() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Enum.ToObject(System.Type,System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Object System.Enum.ToObject(System.Type,System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Object System.Enum.ToObject(System.Type,System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Object System.Enum.ToObject(System.Type,System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Object System.FormattableString.GetArgument(System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Globalization.CultureInfo.GetFormat(System.Type) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Globalization.DateTimeFormatInfo.GetFormat(System.Type) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Globalization.NumberFormatInfo.GetFormat(System.Type) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.IAsyncResult.get_AsyncState() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.IConvertible.ToType(System.Type,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Object System.MarshalByRefObject.GetLifetimeService() | [ObsoleteAttribute(...)] | 0 | This Remoting API is not supported and throws PlatformNotSupportedException. | -| System.Object System.MarshalByRefObject.InitializeLifetimeService() | [ObsoleteAttribute(...)] | 0 | This Remoting API is not supported and throws PlatformNotSupportedException. | -| System.Object System.Object.MemberwiseClone() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Object System.Reflection.Assembly.CreateInstance(System.String) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Assembly.CreateInstance is not supported with trimming. Use Type.GetType instead. | -| System.Object System.Reflection.Assembly.CreateInstance(System.String,System.Boolean) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Assembly.CreateInstance is not supported with trimming. Use Type.GetType instead. | -| System.Object System.Reflection.Assembly.CreateInstance(System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Reflection.Assembly.CreateInstance(System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Assembly.CreateInstance is not supported with trimming. Use Type.GetType instead. | -| System.Object System.Reflection.AssemblyName.Clone() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Object System.Reflection.ConstructorInfo.Invoke(System.Object[]) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Object System.Reflection.ConstructorInvoker.Invoke(System.Object,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Reflection.ConstructorInvoker.Invoke(System.Object,System.Object,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Reflection.ConstructorInvoker.Invoke(System.Object,System.Object,System.Object,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Reflection.CustomAttributeTypedArgument.get_Value() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Reflection.Emit.DynamicMethod.Invoke(System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Reflection.Emit.RuntimeEnumBuilder.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | -1 | -| System.Object System.Reflection.Emit.RuntimeGenericTypeParameterBuilder.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | -1 | -| System.Object System.Reflection.Emit.RuntimeTypeBuilder.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | -1 | -| System.Object System.Reflection.Emit.SymbolType.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | -1 | -| System.Object System.Reflection.Emit.TypeBuilderInstantiation.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | -1 | -| System.Object System.Reflection.FieldInfo.GetRawConstantValue() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Reflection.FieldInfo.GetValue(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Reflection.FieldInfo.GetValueDirect(System.TypedReference) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Object System.Reflection.FieldInfo.GetValueDirect(System.TypedReference) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Reflection.IReflect.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | -1 | -| System.Object System.Reflection.IReflect.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Reflection.ModifiedType.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | -1 | -| System.Object System.Reflection.ParameterInfo.GetRealObject(System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Object System.Reflection.ParameterInfo.GetRealObject(System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Object System.Reflection.ParameterInfo.get_DefaultValue() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Reflection.ParameterInfo.get_RawDefaultValue() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Reflection.Pointer.Box(System.Void*,System.Type) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Object System.Reflection.SignatureType.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | -1 | -| System.Object System.Reflection.TypeDelegator.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | -1 | -| System.Object System.Reflection.TypeDelegator.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Resources.ResourceManager.GetObject(System.String,System.Globalization.CultureInfo) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Runtime.CompilerServices.RuntimeHelpers.GetObjectValue(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Runtime.InteropServices.ComWrappers.CreateObject(System.IntPtr,System.Runtime.InteropServices.CreateObjectFlags) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Runtime.InteropServices.Marshal.BindToMoniker(System.String) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Built-in COM support is not trim compatible | -| System.Object System.Runtime.InteropServices.Marshal.BindToMoniker(System.String) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Object System.Runtime.InteropServices.Marshal.CreateWrapperOfType(System.Object,System.Type) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Object System.Runtime.InteropServices.Marshal.CreateWrapperOfType(System.Object,System.Type) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Runtime.InteropServices.Marshal.CreateWrapperOfType(System.Object,System.Type) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Object System.Runtime.InteropServices.Marshal.GetComObjectData(System.Object,System.Object) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Object System.Runtime.InteropServices.Marshal.GetObjectForIUnknown(System.IntPtr) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Object System.Runtime.InteropServices.Marshal.GetObjectForNativeVariant(System.IntPtr) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Object System.Runtime.InteropServices.Marshal.GetObjectForNativeVariant(System.IntPtr) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Runtime.InteropServices.Marshal.GetObjectForNativeVariant(System.IntPtr) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Object System.Runtime.InteropServices.Marshal.GetTypedObjectForIUnknown(System.IntPtr,System.Type) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Object System.Runtime.InteropServices.Marshal.GetUniqueObjectForIUnknown(System.IntPtr) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Object System.Runtime.InteropServices.Marshal.PtrToStructure(System.IntPtr,System.Type) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Object System.Runtime.InteropServices.Marshal.PtrToStructure(System.IntPtr,System.Type) | [RequiresDynamicCodeAttribute(...)] | 0 | Marshalling code for the object might not be available | -| System.Object System.Runtime.Serialization.SerializationEntry.get_Value() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Runtime.Serialization.SerializationInfoEnumerator.get_Value() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.RuntimeType.<CreateInstanceImpl>g__CreateInstanceLocal\|145_0(System.Boolean) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Object System.RuntimeType.<CreateInstanceImpl>g__CreateInstanceLocal\|145_0(System.Boolean) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2082:UnrecognizedReflectionPattern | -| System.Object System.RuntimeType.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | -1 | -| System.Object System.RuntimeTypeHandle.CreateInstanceForAnotherGenericParameter(System.RuntimeType,System.RuntimeType) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Object System.RuntimeTypeHandle.CreateInstanceForAnotherGenericParameter(System.RuntimeType,System.RuntimeType) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2067:ParameterDoesntMeetParameterRequirements | -| System.Object System.RuntimeTypeHandle.CreateInstanceForAnotherGenericParameter(System.RuntimeType,System.RuntimeType,System.RuntimeType) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Object System.RuntimeTypeHandle.CreateInstanceForAnotherGenericParameter(System.RuntimeType,System.RuntimeType,System.RuntimeType) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2067:ParameterDoesntMeetParameterRequirements | -| System.Object System.Security.PermissionSet.get_SyncRoot() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Object System.Threading.Interlocked.CompareExchange(System.Object,System.Object,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Threading.Interlocked.Exchange(System.Object,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Threading.Tasks.Task.get_AsyncState() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Threading.Thread.VolatileRead(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Threading.ThreadPoolBoundHandle.GetNativeOverlappedState(System.Threading.NativeOverlapped*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Object System.Type.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | -1 | -| System.Object System.Type.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Type.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Globalization.CultureInfo) | [DynamicallyAccessedMembersAttribute(...)] | 0 | -1 | -| System.Object System.Type.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Globalization.CultureInfo) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.Type.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | -1 | -| System.Object System.Type.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Object System.UnitySerializationHolder.GetRealObject(System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Object System.Version.Clone() | [NullableContextAttribute(...)] | 0 | 1 | -| System.ObjectDisposedException | [NullableAttribute(...)] | 0 | 0 | -| System.ObjectDisposedException | [NullableContextAttribute(...)] | 0 | 1 | -| System.ObjectDisposedException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Object[] System.Diagnostics.Tracing.EventSource.SerializeEventArgs(System.Int32,System.Object[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | EventSource will serialize the whole object graph. Trimmer will not safely handle this case because properties may be trimmed. | -| System.Object[] System.Diagnostics.Tracing.EventSource.SerializeEventArgs(System.Int32,System.Object[]) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Object[] System.Diagnostics.Tracing.EventSource.SerializeEventArgs(System.Int32,System.Object[]) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2112:ReflectionToRequiresUnreferencedCode | -| System.Object[] System.Runtime.InteropServices.Marshal.GetObjectsForNativeVariants(System.IntPtr,System.Int32) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Object[] System.Runtime.InteropServices.Marshal.GetObjectsForNativeVariants(System.IntPtr,System.Int32) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.ObsoleteAttribute | [AttributeUsageAttribute(...)] | 0 | 6140 | -| System.ObsoleteAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.ObsoleteAttribute | [NullableContextAttribute(...)] | 0 | 2 | -| System.OperatingSystem | [NullableAttribute(...)] | 0 | 0 | -| System.OperatingSystem | [NullableContextAttribute(...)] | 0 | 1 | -| System.OperationCanceledException | [NullableAttribute(...)] | 0 | 0 | -| System.OperationCanceledException | [NullableContextAttribute(...)] | 0 | 2 | -| System.OperationCanceledException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.OrdinalComparer | [NullableAttribute(...)] | 0 | 0 | -| System.OrdinalComparer | [NullableContextAttribute(...)] | 0 | 2 | -| System.OrdinalComparer | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.OutOfMemoryException | [NullableAttribute(...)] | 0 | 0 | -| System.OutOfMemoryException | [NullableContextAttribute(...)] | 0 | 2 | -| System.OutOfMemoryException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.OverflowException | [NullableAttribute(...)] | 0 | 0 | -| System.OverflowException | [NullableContextAttribute(...)] | 0 | 2 | -| System.OverflowException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.ParamArrayAttribute | [AttributeUsageAttribute(...)] | 0 | 2048 | -| System.PlatformID.MacOSX | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.PlatformID.Win32S | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.PlatformID.Win32Windows | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.PlatformID.WinCE | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.PlatformID.Xbox | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.PlatformNotSupportedException | [NullableAttribute(...)] | 0 | 0 | -| System.PlatformNotSupportedException | [NullableContextAttribute(...)] | 0 | 2 | -| System.PlatformNotSupportedException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Progress`1 | [NullableAttribute(...)] | 0 | 0 | -| System.Progress`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Progress`1.ProgressChanged | [NullableAttribute(...)] | 0 | [2,1] | -| System.Random | [NullableAttribute(...)] | 0 | 0 | -| System.Random | [NullableContextAttribute(...)] | 0 | 1 | -| System.RankException | [NullableAttribute(...)] | 0 | 0 | -| System.RankException | [NullableContextAttribute(...)] | 0 | 2 | -| System.RankException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.ReadOnlyMemory<!0> | [NullableAttribute(...)] | 0 | [0,1] | -| System.ReadOnlyMemory<!0> System.ReadOnlyMemory`1.Empty | [NullableAttribute(...)] | 0 | [0,1] | -| System.ReadOnlyMemory`1 | [DebuggerDisplayAttribute(...)] | 0 | {ToString(),raw} | -| System.ReadOnlyMemory`1 | [DebuggerTypeProxyAttribute(...)] | 0 | System.MemoryDebugView`1 | -| System.ReadOnlyMemory`1 | [NullableAttribute(...)] | 0 | 0 | -| System.ReadOnlyMemory`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.ReadOnlySpan<!0> | [NullableAttribute(...)] | 0 | [0,1] | -| System.ReadOnlySpan<!0> System.ReadOnlyMemory`1.Span | [NullableAttribute(...)] | 0 | [0,1] | -| System.ReadOnlySpan<!0> System.ReadOnlySpan`1.Empty | [NullableAttribute(...)] | 0 | [0,1] | -| System.ReadOnlySpan<!0> System.Runtime.CompilerServices.RuntimeHelpers.CreateSpan`1(System.RuntimeFieldHandle) | [NullableContextAttribute(...)] | 0 | 2 | -| System.ReadOnlySpan<!0> System.Runtime.InteropServices.MemoryMarshal.CreateReadOnlySpan`1(!0,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.ReadOnlySpan<!0>.Enumerator System.ReadOnlySpan`1.GetEnumerator() | [NullableContextAttribute(...)] | 0 | 0 | -| System.ReadOnlySpan<System.Boolean> System.Globalization.CompareInfo.HighCharTable | [NullableAttribute(...)] | 0 | 0 | -| System.ReadOnlySpan<System.Byte> System.Diagnostics.Tracing.EventSource.ProviderMetadata | [NullableAttribute(...)] | 0 | 0 | -| System.ReadOnlySpan<System.Byte> System.Runtime.InteropServices.MemoryMarshal.CreateReadOnlySpanFromNullTerminated(System.Byte*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.ReadOnlySpan<System.Byte> System.Text.Encoding.Preamble | [NullableAttribute(...)] | 0 | 0 | -| System.ReadOnlySpan<System.Byte> System.Text.Encoding.get_Preamble() | [NullableContextAttribute(...)] | 0 | 0 | -| System.ReadOnlySpan<System.Byte> System.Text.UTF32Encoding.Preamble | [NullableAttribute(...)] | 0 | 0 | -| System.ReadOnlySpan<System.Byte> System.Text.UTF32Encoding.get_Preamble() | [NullableContextAttribute(...)] | 0 | 0 | -| System.ReadOnlySpan<System.Byte> System.Text.UnicodeEncoding.Preamble | [NullableAttribute(...)] | 0 | 0 | -| System.ReadOnlySpan<System.Byte> System.Text.UnicodeEncoding.get_Preamble() | [NullableContextAttribute(...)] | 0 | 0 | -| System.ReadOnlySpan<System.Char> | [NullableAttribute(...)] | 0 | 0 | -| System.ReadOnlySpan<System.Char> | [StringSyntaxAttribute(...)] | 0 | DateOnlyFormat | -| System.ReadOnlySpan<System.Char> | [StringSyntaxAttribute(...)] | 0 | DateTimeFormat | -| System.ReadOnlySpan<System.Char> | [StringSyntaxAttribute(...)] | 0 | EnumFormat | -| System.ReadOnlySpan<System.Char> | [StringSyntaxAttribute(...)] | 0 | GuidFormat | -| System.ReadOnlySpan<System.Char> | [StringSyntaxAttribute(...)] | 0 | NumericFormat | -| System.ReadOnlySpan<System.Char> | [StringSyntaxAttribute(...)] | 0 | TimeOnlyFormat | -| System.ReadOnlySpan<System.Char> | [StringSyntaxAttribute(...)] | 0 | TimeSpanFormat | -| System.ReadOnlySpan<System.Char> System.Runtime.CompilerServices.DefaultInterpolatedStringHandler.Text | [NullableAttribute(...)] | 0 | 0 | -| System.ReadOnlySpan<System.Char> System.Runtime.InteropServices.MemoryMarshal.CreateReadOnlySpanFromNullTerminated(System.Char*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.ReadOnlySpan<System.Char> System.String.op_Implicit(System.String) | [NullableContextAttribute(...)] | 0 | 0 | -| System.ReadOnlySpan<System.Object> | [NullableAttribute(...)] | 0 | [0,2] | -| System.ReadOnlySpan<System.SByte> System.Convert.DecodingMap | [NullableAttribute(...)] | 0 | 0 | -| System.ReadOnlySpan<System.String> | [NullableAttribute(...)] | 0 | [0,1] | -| System.ReadOnlySpan`1 | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.ReadOnlySpan`1 | [DebuggerDisplayAttribute(...)] | 0 | {ToString(),raw} | -| System.ReadOnlySpan`1 | [DebuggerTypeProxyAttribute(...)] | 0 | System.SpanDebugView`1 | -| System.ReadOnlySpan`1 | [DefaultMemberAttribute(...)] | 0 | Item | -| System.ReadOnlySpan`1 | [NativeMarshallingAttribute(...)] | 0 | System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2 | -| System.ReadOnlySpan`1 | [NullableAttribute(...)] | 0 | 0 | -| System.ReadOnlySpan`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.ReadOnlySpan`1 | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.ReadOnlySpan`1 | [ObsoleteAttribute(...)] | 1 | True | -| System.ReadOnlySpan`1.Enumerator | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.ReadOnlySpan`1.Enumerator | [NullableAttribute(...)] | 0 | 0 | -| System.ReadOnlySpan`1.Enumerator | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.ReadOnlySpan`1.Enumerator | [ObsoleteAttribute(...)] | 1 | True | -| System.Reflection.AmbiguousMatchException | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.AmbiguousMatchException | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.AmbiguousMatchException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Reflection.Assembly | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.Assembly | [NullableAttribute(...)] | 0 | 1 | -| System.Reflection.Assembly | [NullableAttribute(...)] | 0 | 2 | -| System.Reflection.Assembly | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.Assembly Internal.Runtime.InteropServices.IsolatedComponentLoadContext.Load(System.Reflection.AssemblyName) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Reflection.Assembly Internal.Runtime.InteropServices.IsolatedComponentLoadContext.Load(System.Reflection.AssemblyName) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:RequiresUnreferencedCode | -| System.Reflection.Assembly System.AppDomain.Load(System.Byte[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types and members the loaded assembly depends on might be removed | -| System.Reflection.Assembly System.AppDomain.Load(System.Byte[],System.Byte[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types and members the loaded assembly depends on might be removed | -| System.Reflection.Assembly System.Reflection.Assembly.GetEntryAssembly() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.Assembly System.Reflection.Assembly.Load(System.Byte[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types and members the loaded assembly depends on might be removed | -| System.Reflection.Assembly System.Reflection.Assembly.Load(System.Byte[],System.Byte[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types and members the loaded assembly depends on might be removed | -| System.Reflection.Assembly System.Reflection.Assembly.LoadFile(System.String) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types and members the loaded assembly depends on might be removed | -| System.Reflection.Assembly System.Reflection.Assembly.LoadFrom(System.String) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types and members the loaded assembly depends on might be removed | -| System.Reflection.Assembly System.Reflection.Assembly.LoadFrom(System.String,System.Byte[],System.Configuration.Assemblies.AssemblyHashAlgorithm) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types and members the loaded assembly depends on might be removed | -| System.Reflection.Assembly System.Reflection.Assembly.LoadFromResolveHandler(System.Object,System.ResolveEventArgs) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types and members the loaded assembly depends on might be removed | -| System.Reflection.Assembly System.Reflection.Assembly.LoadFromResolveHandler(System.Object,System.ResolveEventArgs) | [UnconditionalSuppressMessageAttribute(...)] | 0 | SingleFile | -| System.Reflection.Assembly System.Reflection.Assembly.LoadFromResolveHandler(System.Object,System.ResolveEventArgs) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL3000:Avoid accessing Assembly file path when publishing as a single file | -| System.Reflection.Assembly System.Reflection.Assembly.LoadWithPartialName(System.String) | [ObsoleteAttribute(...)] | 0 | Assembly.LoadWithPartialName has been deprecated. Use Assembly.Load() instead. | -| System.Reflection.Assembly System.Reflection.Assembly.ReflectionOnlyLoad(System.Byte[]) | [ObsoleteAttribute(...)] | 0 | ReflectionOnly loading is not supported and throws PlatformNotSupportedException. | -| System.Reflection.Assembly System.Reflection.Assembly.ReflectionOnlyLoad(System.Byte[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types and members the loaded assembly depends on might be removed | -| System.Reflection.Assembly System.Reflection.Assembly.ReflectionOnlyLoad(System.String) | [ObsoleteAttribute(...)] | 0 | ReflectionOnly loading is not supported and throws PlatformNotSupportedException. | -| System.Reflection.Assembly System.Reflection.Assembly.ReflectionOnlyLoad(System.String) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types and members the loaded assembly depends on might be removed | -| System.Reflection.Assembly System.Reflection.Assembly.ReflectionOnlyLoadFrom(System.String) | [ObsoleteAttribute(...)] | 0 | ReflectionOnly loading is not supported and throws PlatformNotSupportedException. | -| System.Reflection.Assembly System.Reflection.Assembly.ReflectionOnlyLoadFrom(System.String) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types and members the loaded assembly depends on might be removed | -| System.Reflection.Assembly System.Reflection.Assembly.UnsafeLoadFrom(System.String) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types and members the loaded assembly depends on might be removed | -| System.Reflection.Assembly System.ResolveEventArgs.RequestingAssembly | [NullableAttribute(...)] | 0 | 2 | -| System.Reflection.Assembly System.ResolveEventArgs.get_RequestingAssembly() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.Assembly System.ResolveEventHandler.Invoke(System.Object,System.ResolveEventArgs) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.Assembly System.Runtime.Loader.AssemblyLoadContext.GetFirstResolvedAssemblyFromResolvingEvent(System.Reflection.AssemblyName) | [UnconditionalSuppressMessageAttribute(...)] | 0 | SingleFile | -| System.Reflection.Assembly System.Runtime.Loader.AssemblyLoadContext.GetFirstResolvedAssemblyFromResolvingEvent(System.Reflection.AssemblyName) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL3000: Avoid accessing Assembly file path when publishing as a single file | -| System.Reflection.Assembly System.Runtime.Loader.AssemblyLoadContext.InternalLoad(System.ReadOnlySpan<System.Byte>,System.ReadOnlySpan<System.Byte>) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types and members the loaded assembly depends on might be removed | -| System.Reflection.Assembly System.Runtime.Loader.AssemblyLoadContext.LoadFromAssemblyPath(System.String) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types and members the loaded assembly depends on might be removed | -| System.Reflection.Assembly System.Runtime.Loader.AssemblyLoadContext.LoadFromNativeImagePath(System.String,System.String) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types and members the loaded assembly depends on might be removed | -| System.Reflection.Assembly System.Runtime.Loader.AssemblyLoadContext.LoadFromStream(System.IO.Stream) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types and members the loaded assembly depends on might be removed | -| System.Reflection.Assembly System.Runtime.Loader.AssemblyLoadContext.LoadFromStream(System.IO.Stream,System.IO.Stream) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types and members the loaded assembly depends on might be removed | -| System.Reflection.Assembly System.Runtime.Loader.AssemblyLoadContext.ResolveSatelliteAssembly(System.Reflection.AssemblyName) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Reflection.Assembly System.Runtime.Loader.AssemblyLoadContext.ResolveSatelliteAssembly(System.Reflection.AssemblyName) | [UnconditionalSuppressMessageAttribute(...)] | 0 | SingleFile | -| System.Reflection.Assembly System.Runtime.Loader.AssemblyLoadContext.ResolveSatelliteAssembly(System.Reflection.AssemblyName) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:RequiresUnreferencedCode | -| System.Reflection.Assembly System.Runtime.Loader.AssemblyLoadContext.ResolveSatelliteAssembly(System.Reflection.AssemblyName) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL3000: Avoid accessing Assembly file path when publishing as a single file | -| System.Reflection.Assembly.ModuleResolve | [NullableAttribute(...)] | 0 | 2 | -| System.Reflection.AssemblyAlgorithmIdAttribute | [AttributeUsageAttribute(...)] | 0 | 1 | -| System.Reflection.AssemblyCompanyAttribute | [AttributeUsageAttribute(...)] | 0 | 1 | -| System.Reflection.AssemblyCompanyAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.AssemblyCompanyAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.AssemblyConfigurationAttribute | [AttributeUsageAttribute(...)] | 0 | 1 | -| System.Reflection.AssemblyConfigurationAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.AssemblyConfigurationAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.AssemblyCopyrightAttribute | [AttributeUsageAttribute(...)] | 0 | 1 | -| System.Reflection.AssemblyCopyrightAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.AssemblyCopyrightAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.AssemblyCultureAttribute | [AttributeUsageAttribute(...)] | 0 | 1 | -| System.Reflection.AssemblyCultureAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.AssemblyCultureAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.AssemblyDefaultAliasAttribute | [AttributeUsageAttribute(...)] | 0 | 1 | -| System.Reflection.AssemblyDefaultAliasAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.AssemblyDefaultAliasAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.AssemblyDelaySignAttribute | [AttributeUsageAttribute(...)] | 0 | 1 | -| System.Reflection.AssemblyDescriptionAttribute | [AttributeUsageAttribute(...)] | 0 | 1 | -| System.Reflection.AssemblyDescriptionAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.AssemblyDescriptionAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.AssemblyFileVersionAttribute | [AttributeUsageAttribute(...)] | 0 | 1 | -| System.Reflection.AssemblyFileVersionAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.AssemblyFileVersionAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.AssemblyFlagsAttribute | [AttributeUsageAttribute(...)] | 0 | 1 | -| System.Reflection.AssemblyInformationalVersionAttribute | [AttributeUsageAttribute(...)] | 0 | 1 | -| System.Reflection.AssemblyInformationalVersionAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.AssemblyInformationalVersionAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.AssemblyKeyFileAttribute | [AttributeUsageAttribute(...)] | 0 | 1 | -| System.Reflection.AssemblyKeyFileAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.AssemblyKeyFileAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.AssemblyKeyNameAttribute | [AttributeUsageAttribute(...)] | 0 | 1 | -| System.Reflection.AssemblyKeyNameAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.AssemblyKeyNameAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.AssemblyMetadataAttribute | [AttributeUsageAttribute(...)] | 0 | 1 | -| System.Reflection.AssemblyMetadataAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.AssemblyMetadataAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.AssemblyName | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.AssemblyName | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.AssemblyName System.Reflection.AssemblyName.GetAssemblyName(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.AssemblyName System.Reflection.AssemblyNameProxy.GetAssemblyName(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.AssemblyNameFlags System.Reflection.RuntimeAssembly.GetFlags(System.Runtime.CompilerServices.QCallAssembly) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Reflection.AssemblyNameParser | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.Reflection.AssemblyNameParser | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.Reflection.AssemblyNameParser | [ObsoleteAttribute(...)] | 1 | True | -| System.Reflection.AssemblyName[] System.Reflection.Assembly.GetReferencedAssemblies() | [RequiresUnreferencedCodeAttribute(...)] | 0 | Assembly references might be removed | -| System.Reflection.AssemblyName[] System.Reflection.Emit.RuntimeAssemblyBuilder.GetReferencedAssemblies() | [RequiresUnreferencedCodeAttribute(...)] | 0 | Assembly references might be removed | -| System.Reflection.AssemblyName[] System.Reflection.RuntimeAssembly.GetReferencedAssemblies() | [RequiresUnreferencedCodeAttribute(...)] | 0 | Assembly references might be removed | -| System.Reflection.AssemblyProductAttribute | [AttributeUsageAttribute(...)] | 0 | 1 | -| System.Reflection.AssemblyProductAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.AssemblyProductAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.AssemblySignatureKeyAttribute | [AttributeUsageAttribute(...)] | 0 | 1 | -| System.Reflection.AssemblySignatureKeyAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.AssemblySignatureKeyAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.AssemblyTitleAttribute | [AttributeUsageAttribute(...)] | 0 | 1 | -| System.Reflection.AssemblyTitleAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.AssemblyTitleAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.AssemblyTrademarkAttribute | [AttributeUsageAttribute(...)] | 0 | 1 | -| System.Reflection.AssemblyTrademarkAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.AssemblyTrademarkAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.AssemblyVersionAttribute | [AttributeUsageAttribute(...)] | 0 | 1 | -| System.Reflection.AssemblyVersionAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.AssemblyVersionAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.Binder | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.Binder | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.CerHashtable`2 | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Reflection.ConstArray | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Reflection.ConstructorInfo | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.ConstructorInfo | [NullableAttribute(...)] | 0 | 1 | -| System.Reflection.ConstructorInfo | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.ConstructorInfo System.Reflection.Emit.RuntimeEnumBuilder.GetConstructorImpl(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 7 | -| System.Reflection.ConstructorInfo System.Reflection.Emit.RuntimeGenericTypeParameterBuilder.GetConstructorImpl(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 7 | -| System.Reflection.ConstructorInfo System.Reflection.Emit.RuntimeTypeBuilder.GetConstructorImpl(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 7 | -| System.Reflection.ConstructorInfo System.Reflection.Emit.SymbolType.GetConstructorImpl(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 7 | -| System.Reflection.ConstructorInfo System.Reflection.Emit.TypeBuilder.GetConstructor(System.Type,System.Reflection.ConstructorInfo) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Reflection.ConstructorInfo System.Reflection.Emit.TypeBuilder.GetConstructor(System.Type,System.Reflection.ConstructorInfo) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2055:UnrecognizedReflectionPattern | -| System.Reflection.ConstructorInfo System.Reflection.Emit.TypeBuilderInstantiation.GetConstructorImpl(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 7 | -| System.Reflection.ConstructorInfo System.Reflection.ModifiedType.GetConstructorImpl(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 7 | -| System.Reflection.ConstructorInfo System.Reflection.SignatureType.GetConstructorImpl(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 7 | -| System.Reflection.ConstructorInfo System.Reflection.TypeDelegator.GetConstructorImpl(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 7 | -| System.Reflection.ConstructorInfo System.Reflection.TypeDelegator.GetConstructorImpl(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.ConstructorInfo System.RuntimeType.GetConstructorImpl(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 7 | -| System.Reflection.ConstructorInfo System.Type.GetConstructor(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 7 | -| System.Reflection.ConstructorInfo System.Type.GetConstructor(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.ConstructorInfo System.Type.GetConstructor(System.Reflection.BindingFlags,System.Reflection.Binder,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 7 | -| System.Reflection.ConstructorInfo System.Type.GetConstructor(System.Reflection.BindingFlags,System.Reflection.Binder,System.Type[],System.Reflection.ParameterModifier[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.ConstructorInfo System.Type.GetConstructor(System.Reflection.BindingFlags,System.Type[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 7 | -| System.Reflection.ConstructorInfo System.Type.GetConstructor(System.Type[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 3 | -| System.Reflection.ConstructorInfo System.Type.GetConstructorImpl(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 7 | -| System.Reflection.ConstructorInfo System.Type.GetConstructorImpl(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.ConstructorInfo System.Type.TypeInitializer | [NullableAttribute(...)] | 0 | 2 | -| System.Reflection.ConstructorInfo System.Type.get_TypeInitializer() | [DynamicallyAccessedMembersAttribute(...)] | 0 | 7 | -| System.Reflection.ConstructorInfo System.Type.get_TypeInitializer() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.ConstructorInfo.ConstructorName | [NullableAttribute(...)] | 0 | 1 | -| System.Reflection.ConstructorInfo.TypeConstructorName | [NullableAttribute(...)] | 0 | 1 | -| System.Reflection.ConstructorInfo[] System.Reflection.Emit.RuntimeEnumBuilder.GetConstructors(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 7 | -| System.Reflection.ConstructorInfo[] System.Reflection.Emit.RuntimeGenericTypeParameterBuilder.GetConstructors(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 7 | -| System.Reflection.ConstructorInfo[] System.Reflection.Emit.RuntimeTypeBuilder.GetConstructors(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 7 | -| System.Reflection.ConstructorInfo[] System.Reflection.Emit.SymbolType.GetConstructors(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 7 | -| System.Reflection.ConstructorInfo[] System.Reflection.Emit.TypeBuilderInstantiation.GetConstructors(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 7 | -| System.Reflection.ConstructorInfo[] System.Reflection.ModifiedType.GetConstructors(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 7 | -| System.Reflection.ConstructorInfo[] System.Reflection.SignatureType.GetConstructors(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 7 | -| System.Reflection.ConstructorInfo[] System.Reflection.TypeDelegator.GetConstructors(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 7 | -| System.Reflection.ConstructorInfo[] System.RuntimeType.GetConstructors(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 7 | -| System.Reflection.ConstructorInfo[] System.Type.GetConstructors() | [DynamicallyAccessedMembersAttribute(...)] | 0 | 3 | -| System.Reflection.ConstructorInfo[] System.Type.GetConstructors(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 7 | -| System.Reflection.ConstructorInvoker | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.ConstructorInvoker | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.CustomAttributeData | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.CustomAttributeData | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.CustomAttributeExtensions | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.CustomAttributeExtensions | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.CustomAttributeFormatException | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.CustomAttributeFormatException | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.CustomAttributeFormatException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Reflection.CustomAttributeNamedArgument | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.CustomAttributeNamedArgument | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.CustomAttributeTypedArgument | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.CustomAttributeTypedArgument | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.DefaultMemberAttribute | [AttributeUsageAttribute(...)] | 0 | 1036 | -| System.Reflection.DefaultMemberAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.DefaultMemberAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.Emit.AssemblyBuilder | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.Emit.AssemblyBuilder | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.Emit.AssemblyBuilder System.Reflection.Emit.AssemblyBuilder.DefineDynamicAssembly(System.Reflection.AssemblyName,System.Reflection.Emit.AssemblyBuilderAccess) | [RequiresDynamicCodeAttribute(...)] | 0 | Defining a dynamic assembly requires dynamic code. | -| System.Reflection.Emit.AssemblyBuilder System.Reflection.Emit.AssemblyBuilder.DefineDynamicAssembly(System.Reflection.AssemblyName,System.Reflection.Emit.AssemblyBuilderAccess,System.Collections.Generic.IEnumerable<System.Reflection.Emit.CustomAttributeBuilder>) | [RequiresDynamicCodeAttribute(...)] | 0 | Defining a dynamic assembly requires dynamic code. | -| System.Reflection.Emit.ConstructorBuilder | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.Emit.ConstructorBuilder | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.Emit.ConstructorBuilder System.Reflection.Emit.RuntimeTypeBuilder.DefineConstructorNoLock(System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type[],System.Type[][],System.Type[][]) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Reflection.Emit.ConstructorBuilder System.Reflection.Emit.RuntimeTypeBuilder.DefineConstructorNoLock(System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type[],System.Type[][],System.Type[][]) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2082:UnrecognizedReflectionPattern | -| System.Reflection.Emit.ConstructorBuilder System.Reflection.Emit.RuntimeTypeBuilder.DefineTypeInitializerCore() | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Reflection.Emit.ConstructorBuilder System.Reflection.Emit.RuntimeTypeBuilder.DefineTypeInitializerCore() | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2082:UnrecognizedReflectionPattern | -| System.Reflection.Emit.CustomAttributeBuilder | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.Emit.CustomAttributeBuilder | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.Emit.DynamicILInfo | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.Emit.DynamicILInfo | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.Emit.DynamicMethod | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.Emit.DynamicMethod | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.Emit.DynamicScope | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Reflection.Emit.EnumBuilder | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.Emit.EnumBuilder | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.Emit.EventBuilder | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.Emit.EventBuilder | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.Emit.FlowControl.Phi | [ObsoleteAttribute(...)] | 0 | FlowControl.Phi has been deprecated and is not supported. | -| System.Reflection.Emit.ILGenerator | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.Emit.ILGenerator | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.Emit.LocalBuilder | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.Emit.LocalBuilder | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.Emit.MethodBuilder | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.Emit.MethodBuilder | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.Emit.MethodBuilder System.Reflection.Emit.ModuleBuilder.DefinePInvokeMethod(System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet) | [RequiresUnreferencedCodeAttribute(...)] | 0 | P/Invoke marshalling may dynamically access members that could be trimmed. | -| System.Reflection.Emit.MethodBuilder System.Reflection.Emit.ModuleBuilder.DefinePInvokeMethod(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet) | [RequiresUnreferencedCodeAttribute(...)] | 0 | P/Invoke marshalling may dynamically access members that could be trimmed. | -| System.Reflection.Emit.MethodBuilder System.Reflection.Emit.ModuleBuilder.DefinePInvokeMethodCore(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet) | [RequiresUnreferencedCodeAttribute(...)] | 0 | P/Invoke marshalling may dynamically access members that could be trimmed. | -| System.Reflection.Emit.MethodBuilder System.Reflection.Emit.RuntimeModuleBuilder.DefinePInvokeMethodCore(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet) | [RequiresUnreferencedCodeAttribute(...)] | 0 | P/Invoke marshalling may dynamically access members that could be trimmed. | -| System.Reflection.Emit.MethodBuilder System.Reflection.Emit.RuntimeTypeBuilder.DefineMethodCore(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Reflection.Emit.MethodBuilder System.Reflection.Emit.RuntimeTypeBuilder.DefineMethodCore(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2082:UnrecognizedReflectionPattern | -| System.Reflection.Emit.MethodBuilder System.Reflection.Emit.RuntimeTypeBuilder.DefinePInvokeMethodCore(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet) | [RequiresUnreferencedCodeAttribute(...)] | 0 | P/Invoke marshalling may dynamically access members that could be trimmed. | -| System.Reflection.Emit.MethodBuilder System.Reflection.Emit.TypeBuilder.DefinePInvokeMethod(System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet) | [RequiresUnreferencedCodeAttribute(...)] | 0 | P/Invoke marshalling may dynamically access members that could be trimmed. | -| System.Reflection.Emit.MethodBuilder System.Reflection.Emit.TypeBuilder.DefinePInvokeMethod(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet) | [RequiresUnreferencedCodeAttribute(...)] | 0 | P/Invoke marshalling may dynamically access members that could be trimmed. | -| System.Reflection.Emit.MethodBuilder System.Reflection.Emit.TypeBuilder.DefinePInvokeMethod(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet) | [RequiresUnreferencedCodeAttribute(...)] | 0 | P/Invoke marshalling may dynamically access members that could be trimmed. | -| System.Reflection.Emit.MethodBuilder System.Reflection.Emit.TypeBuilder.DefinePInvokeMethodCore(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet) | [RequiresUnreferencedCodeAttribute(...)] | 0 | P/Invoke marshalling may dynamically access members that could be trimmed. | -| System.Reflection.Emit.ModuleBuilder | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.Emit.ModuleBuilder | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.Emit.OpCode | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.Emit.OpCode | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.Emit.OpCodeType.Annotation | [ObsoleteAttribute(...)] | 0 | OpCodeType.Annotation has been deprecated and is not supported. | -| System.Reflection.Emit.OperandType.InlinePhi | [ObsoleteAttribute(...)] | 0 | OperandType.InlinePhi has been deprecated and is not supported. | -| System.Reflection.Emit.ParameterBuilder | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.Emit.ParameterBuilder | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.Emit.ParameterBuilder System.Reflection.Emit.DynamicMethod.DefineParameter(System.Int32,System.Reflection.ParameterAttributes,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.Emit.PropertyBuilder | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.Emit.PropertyBuilder | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.Emit.RuntimeConstructorBuilder System.Reflection.Emit.RuntimeTypeBuilder.DefineDefaultConstructorNoLock(System.Reflection.MethodAttributes) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Reflection.Emit.RuntimeConstructorBuilder System.Reflection.Emit.RuntimeTypeBuilder.DefineDefaultConstructorNoLock(System.Reflection.MethodAttributes) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2055:UnrecognizedReflectionPattern | -| System.Reflection.Emit.RuntimeConstructorBuilder System.Reflection.Emit.RuntimeTypeBuilder.DefineDefaultConstructorNoLock(System.Reflection.MethodAttributes) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2075:UnrecognizedReflectionPattern | -| System.Reflection.Emit.RuntimeEnumBuilder.m_typeBuilder | [DynamicallyAccessedMembersAttribute(...)] | 0 | -1 | -| System.Reflection.Emit.RuntimeMethodBuilder.m_containingType | [DynamicallyAccessedMembersAttribute(...)] | 0 | -1 | -| System.Reflection.Emit.RuntimeTypeBuilder | [DynamicallyAccessedMembersAttribute(...)] | 0 | -1 | -| System.Reflection.Emit.RuntimeTypeBuilder.m_bakedRuntimeType | [DynamicallyAccessedMembersAttribute(...)] | 0 | -1 | -| System.Reflection.Emit.RuntimeTypeBuilder.m_typeParent | [DynamicallyAccessedMembersAttribute(...)] | 0 | -1 | -| System.Reflection.Emit.SignatureHelper | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.Emit.SignatureHelper | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.Emit.SignatureHelper System.Reflection.Emit.SignatureHelper.GetMethodSigHelper(System.Reflection.Module,System.Reflection.CallingConventions,System.Type) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.Emit.SignatureHelper System.Reflection.Emit.SignatureHelper.GetMethodSigHelper(System.Reflection.Module,System.Type,System.Type[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.Emit.SignatureHelper System.Reflection.Emit.SignatureHelper.GetPropertySigHelper(System.Reflection.Module,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.Emit.SignatureHelper System.Reflection.Emit.SignatureHelper.GetPropertySigHelper(System.Reflection.Module,System.Type,System.Type[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.Emit.SignatureHelper System.Reflection.Emit.SignatureHelper.GetPropertySigHelper(System.Reflection.Module,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.Emit.TypeBuilder | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.Emit.TypeBuilder | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.EventInfo | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.EventInfo | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.EventInfo System.Attribute.GetParentDefinition(System.Reflection.EventInfo) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Reflection.EventInfo System.Attribute.GetParentDefinition(System.Reflection.EventInfo) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2075:UnrecognizedReflectionPattern | -| System.Reflection.EventInfo System.Reflection.Emit.RuntimeEnumBuilder.GetEvent(System.String,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 6144 | -| System.Reflection.EventInfo System.Reflection.Emit.RuntimeGenericTypeParameterBuilder.GetEvent(System.String,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 6144 | -| System.Reflection.EventInfo System.Reflection.Emit.RuntimeTypeBuilder.GetEvent(System.String,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 6144 | -| System.Reflection.EventInfo System.Reflection.Emit.SymbolType.GetEvent(System.String,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 6144 | -| System.Reflection.EventInfo System.Reflection.Emit.TypeBuilderInstantiation.GetEvent(System.String,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 6144 | -| System.Reflection.EventInfo System.Reflection.ModifiedType.GetEvent(System.String,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 6144 | -| System.Reflection.EventInfo System.Reflection.SignatureType.GetEvent(System.String,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 6144 | -| System.Reflection.EventInfo System.Reflection.TypeDelegator.GetEvent(System.String,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 6144 | -| System.Reflection.EventInfo System.Reflection.TypeInfo.GetDeclaredEvent(System.String) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 6144 | -| System.Reflection.EventInfo System.RuntimeType.GetEvent(System.String,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 6144 | -| System.Reflection.EventInfo System.Type.GetEvent(System.String) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 2048 | -| System.Reflection.EventInfo System.Type.GetEvent(System.String,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 6144 | -| System.Reflection.EventInfo[] System.Reflection.Emit.RuntimeEnumBuilder.GetEvents() | [DynamicallyAccessedMembersAttribute(...)] | 0 | 2048 | -| System.Reflection.EventInfo[] System.Reflection.Emit.RuntimeEnumBuilder.GetEvents(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 6144 | -| System.Reflection.EventInfo[] System.Reflection.Emit.RuntimeGenericTypeParameterBuilder.GetEvents() | [DynamicallyAccessedMembersAttribute(...)] | 0 | 2048 | -| System.Reflection.EventInfo[] System.Reflection.Emit.RuntimeGenericTypeParameterBuilder.GetEvents(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 6144 | -| System.Reflection.EventInfo[] System.Reflection.Emit.RuntimeTypeBuilder.GetEvents() | [DynamicallyAccessedMembersAttribute(...)] | 0 | 2048 | -| System.Reflection.EventInfo[] System.Reflection.Emit.RuntimeTypeBuilder.GetEvents(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 6144 | -| System.Reflection.EventInfo[] System.Reflection.Emit.SymbolType.GetEvents() | [DynamicallyAccessedMembersAttribute(...)] | 0 | 2048 | -| System.Reflection.EventInfo[] System.Reflection.Emit.SymbolType.GetEvents(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 6144 | -| System.Reflection.EventInfo[] System.Reflection.Emit.TypeBuilderInstantiation.GetEvents() | [DynamicallyAccessedMembersAttribute(...)] | 0 | 2048 | -| System.Reflection.EventInfo[] System.Reflection.Emit.TypeBuilderInstantiation.GetEvents(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 6144 | -| System.Reflection.EventInfo[] System.Reflection.ModifiedType.GetEvents() | [DynamicallyAccessedMembersAttribute(...)] | 0 | 2048 | -| System.Reflection.EventInfo[] System.Reflection.ModifiedType.GetEvents(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 6144 | -| System.Reflection.EventInfo[] System.Reflection.SignatureType.GetEvents() | [DynamicallyAccessedMembersAttribute(...)] | 0 | 2048 | -| System.Reflection.EventInfo[] System.Reflection.SignatureType.GetEvents(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 6144 | -| System.Reflection.EventInfo[] System.Reflection.TypeDelegator.GetEvents() | [DynamicallyAccessedMembersAttribute(...)] | 0 | 2048 | -| System.Reflection.EventInfo[] System.Reflection.TypeDelegator.GetEvents(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 6144 | -| System.Reflection.EventInfo[] System.RuntimeType.GetEvents(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 6144 | -| System.Reflection.EventInfo[] System.Type.GetEvents() | [DynamicallyAccessedMembersAttribute(...)] | 0 | 2048 | -| System.Reflection.EventInfo[] System.Type.GetEvents(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 6144 | -| System.Reflection.ExceptionHandlingClause | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.ExceptionHandlingClause | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.FieldAttributes.NotSerialized | [ObsoleteAttribute(...)] | 0 | Formatter-based serialization is obsolete and should not be used. | -| System.Reflection.FieldInfo | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.FieldInfo | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.FieldInfo System.Reflection.Emit.RuntimeEnumBuilder.GetField(System.String,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 96 | -| System.Reflection.FieldInfo System.Reflection.Emit.RuntimeGenericTypeParameterBuilder.GetField(System.String,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 96 | -| System.Reflection.FieldInfo System.Reflection.Emit.RuntimeModuleBuilder.GetField(System.String,System.Reflection.BindingFlags) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Fields might be removed | -| System.Reflection.FieldInfo System.Reflection.Emit.RuntimeModuleBuilder.ResolveField(System.Int32,System.Type[],System.Type[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Trimming changes metadata tokens | -| System.Reflection.FieldInfo System.Reflection.Emit.RuntimeTypeBuilder.GetField(System.String,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 96 | -| System.Reflection.FieldInfo System.Reflection.Emit.SymbolType.GetField(System.String,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 96 | -| System.Reflection.FieldInfo System.Reflection.Emit.TypeBuilder.GetField(System.Type,System.Reflection.FieldInfo) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Reflection.FieldInfo System.Reflection.Emit.TypeBuilder.GetField(System.Type,System.Reflection.FieldInfo) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2055:UnrecognizedReflectionPattern | -| System.Reflection.FieldInfo System.Reflection.Emit.TypeBuilderInstantiation.GetField(System.String,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 96 | -| System.Reflection.FieldInfo System.Reflection.IReflect.GetField(System.String,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 96 | -| System.Reflection.FieldInfo System.Reflection.ModifiedType.GetField(System.String,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 96 | -| System.Reflection.FieldInfo System.Reflection.Module.GetField(System.String) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Fields might be removed | -| System.Reflection.FieldInfo System.Reflection.Module.GetField(System.String,System.Reflection.BindingFlags) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Fields might be removed | -| System.Reflection.FieldInfo System.Reflection.Module.ResolveField(System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.FieldInfo System.Reflection.Module.ResolveField(System.Int32) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Trimming changes metadata tokens | -| System.Reflection.FieldInfo System.Reflection.Module.ResolveField(System.Int32,System.Type[],System.Type[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.FieldInfo System.Reflection.Module.ResolveField(System.Int32,System.Type[],System.Type[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Trimming changes metadata tokens | -| System.Reflection.FieldInfo System.Reflection.RuntimeModule.GetField(System.String,System.Reflection.BindingFlags) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Fields might be removed | -| System.Reflection.FieldInfo System.Reflection.RuntimeModule.ResolveField(System.Int32,System.Type[],System.Type[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Trimming changes metadata tokens | -| System.Reflection.FieldInfo System.Reflection.RuntimeModule.ResolveLiteralField(System.Int32,System.Type[],System.Type[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Trimming changes metadata tokens | -| System.Reflection.FieldInfo System.Reflection.SignatureType.GetField(System.String,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 96 | -| System.Reflection.FieldInfo System.Reflection.TypeDelegator.GetField(System.String,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 96 | -| System.Reflection.FieldInfo System.Reflection.TypeInfo.GetDeclaredField(System.String) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 96 | -| System.Reflection.FieldInfo System.RuntimeType.GetField(System.String,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 96 | -| System.Reflection.FieldInfo System.Type.GetField(System.String) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 32 | -| System.Reflection.FieldInfo System.Type.GetField(System.String,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 96 | -| System.Reflection.FieldInfo[] System.Diagnostics.Tracing.ManifestBuilder.<CreateManifestString>g__GetEnumFields\|19_0(System.Type) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Reflection.FieldInfo[] System.Diagnostics.Tracing.ManifestBuilder.<CreateManifestString>g__GetEnumFields\|19_0(System.Type) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2070:UnrecognizedReflectionPattern | -| System.Reflection.FieldInfo[] System.Reflection.Emit.RuntimeEnumBuilder.GetFields(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 96 | -| System.Reflection.FieldInfo[] System.Reflection.Emit.RuntimeGenericTypeParameterBuilder.GetFields(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 96 | -| System.Reflection.FieldInfo[] System.Reflection.Emit.RuntimeModuleBuilder.GetFields(System.Reflection.BindingFlags) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Fields might be removed | -| System.Reflection.FieldInfo[] System.Reflection.Emit.RuntimeTypeBuilder.GetFields(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 96 | -| System.Reflection.FieldInfo[] System.Reflection.Emit.SymbolType.GetFields(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 96 | -| System.Reflection.FieldInfo[] System.Reflection.Emit.TypeBuilderInstantiation.GetFields(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 96 | -| System.Reflection.FieldInfo[] System.Reflection.IReflect.GetFields(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 96 | -| System.Reflection.FieldInfo[] System.Reflection.ModifiedType.GetFields(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 96 | -| System.Reflection.FieldInfo[] System.Reflection.Module.GetFields() | [RequiresUnreferencedCodeAttribute(...)] | 0 | Fields might be removed | -| System.Reflection.FieldInfo[] System.Reflection.Module.GetFields(System.Reflection.BindingFlags) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Fields might be removed | -| System.Reflection.FieldInfo[] System.Reflection.RuntimeModule.GetFields(System.Reflection.BindingFlags) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Fields might be removed | -| System.Reflection.FieldInfo[] System.Reflection.SignatureType.GetFields(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 96 | -| System.Reflection.FieldInfo[] System.Reflection.TypeDelegator.GetFields(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 96 | -| System.Reflection.FieldInfo[] System.RuntimeType.GetFields(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 96 | -| System.Reflection.FieldInfo[] System.Type.GetFields() | [DynamicallyAccessedMembersAttribute(...)] | 0 | 32 | -| System.Reflection.FieldInfo[] System.Type.GetFields(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 96 | -| System.Reflection.ICustomAttributeProvider | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.IReflect | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.IReflectableType | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.InterfaceMapping | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.InterfaceMapping | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.IntrospectionExtensions | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Reflection.InvalidFilterCriteriaException | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.InvalidFilterCriteriaException | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.InvalidFilterCriteriaException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Reflection.LocalVariableInfo | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.LocalVariableInfo | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.ManifestResourceInfo | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.ManifestResourceInfo | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.MemberInfo | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.MemberInfo | [NullableAttribute(...)] | 0 | 1 | -| System.Reflection.MemberInfo | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.MemberInfo System.Reflection.Emit.RuntimeModuleBuilder.ResolveMember(System.Int32,System.Type[],System.Type[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Trimming changes metadata tokens | -| System.Reflection.MemberInfo System.Reflection.Module.ResolveMember(System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.MemberInfo System.Reflection.Module.ResolveMember(System.Int32) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Trimming changes metadata tokens | -| System.Reflection.MemberInfo System.Reflection.Module.ResolveMember(System.Int32,System.Type[],System.Type[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.MemberInfo System.Reflection.Module.ResolveMember(System.Int32,System.Type[],System.Type[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Trimming changes metadata tokens | -| System.Reflection.MemberInfo System.Reflection.RuntimeModule.ResolveMember(System.Int32,System.Type[],System.Type[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Trimming changes metadata tokens | -| System.Reflection.MemberInfo System.Type.GetMemberWithSameMetadataDefinitionAs(System.Reflection.MemberInfo) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Reflection.MemberInfo System.Type.GetMemberWithSameMetadataDefinitionAs(System.Reflection.MemberInfo) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2085:UnrecognizedReflectionPattern | -| System.Reflection.MemberInfo[] System.Reflection.Emit.RuntimeEnumBuilder.GetMember(System.String,System.Reflection.MemberTypes,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8191 | -| System.Reflection.MemberInfo[] System.Reflection.Emit.RuntimeEnumBuilder.GetMembers(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8191 | -| System.Reflection.MemberInfo[] System.Reflection.Emit.RuntimeGenericTypeParameterBuilder.GetMember(System.String,System.Reflection.MemberTypes,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8191 | -| System.Reflection.MemberInfo[] System.Reflection.Emit.RuntimeGenericTypeParameterBuilder.GetMembers(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8191 | -| System.Reflection.MemberInfo[] System.Reflection.Emit.RuntimeTypeBuilder.GetMember(System.String,System.Reflection.MemberTypes,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8191 | -| System.Reflection.MemberInfo[] System.Reflection.Emit.RuntimeTypeBuilder.GetMembers(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8191 | -| System.Reflection.MemberInfo[] System.Reflection.Emit.SymbolType.GetMember(System.String,System.Reflection.MemberTypes,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8191 | -| System.Reflection.MemberInfo[] System.Reflection.Emit.SymbolType.GetMembers(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8191 | -| System.Reflection.MemberInfo[] System.Reflection.Emit.TypeBuilderInstantiation.GetMember(System.String,System.Reflection.MemberTypes,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8191 | -| System.Reflection.MemberInfo[] System.Reflection.Emit.TypeBuilderInstantiation.GetMembers(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8191 | -| System.Reflection.MemberInfo[] System.Reflection.IReflect.GetMember(System.String,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8191 | -| System.Reflection.MemberInfo[] System.Reflection.IReflect.GetMembers(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8191 | -| System.Reflection.MemberInfo[] System.Reflection.ModifiedType.GetMember(System.String,System.Reflection.MemberTypes,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8191 | -| System.Reflection.MemberInfo[] System.Reflection.ModifiedType.GetMembers(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8191 | -| System.Reflection.MemberInfo[] System.Reflection.SignatureType.FindMembers(System.Reflection.MemberTypes,System.Reflection.BindingFlags,System.Reflection.MemberFilter,System.Object) | [DynamicallyAccessedMembersAttribute(...)] | 0 | -1 | -| System.Reflection.MemberInfo[] System.Reflection.SignatureType.GetDefaultMembers() | [DynamicallyAccessedMembersAttribute(...)] | 0 | 2731 | -| System.Reflection.MemberInfo[] System.Reflection.SignatureType.GetMember(System.String,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8191 | -| System.Reflection.MemberInfo[] System.Reflection.SignatureType.GetMember(System.String,System.Reflection.MemberTypes,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8191 | -| System.Reflection.MemberInfo[] System.Reflection.SignatureType.GetMembers(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8191 | -| System.Reflection.MemberInfo[] System.Reflection.TypeDelegator.GetMember(System.String,System.Reflection.MemberTypes,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8191 | -| System.Reflection.MemberInfo[] System.Reflection.TypeDelegator.GetMembers(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8191 | -| System.Reflection.MemberInfo[] System.RuntimeType.GetDefaultMembers() | [DynamicallyAccessedMembersAttribute(...)] | 0 | 2731 | -| System.Reflection.MemberInfo[] System.RuntimeType.GetMember(System.String,System.Reflection.MemberTypes,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8191 | -| System.Reflection.MemberInfo[] System.RuntimeType.GetMembers(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8191 | -| System.Reflection.MemberInfo[] System.Type.FindMembers(System.Reflection.MemberTypes,System.Reflection.BindingFlags,System.Reflection.MemberFilter,System.Object) | [DynamicallyAccessedMembersAttribute(...)] | 0 | -1 | -| System.Reflection.MemberInfo[] System.Type.FindMembers(System.Reflection.MemberTypes,System.Reflection.BindingFlags,System.Reflection.MemberFilter,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.MemberInfo[] System.Type.GetDefaultMembers() | [DynamicallyAccessedMembersAttribute(...)] | 0 | 2731 | -| System.Reflection.MemberInfo[] System.Type.GetMember(System.String) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 2731 | -| System.Reflection.MemberInfo[] System.Type.GetMember(System.String,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8191 | -| System.Reflection.MemberInfo[] System.Type.GetMember(System.String,System.Reflection.MemberTypes,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8191 | -| System.Reflection.MemberInfo[] System.Type.GetMembers() | [DynamicallyAccessedMembersAttribute(...)] | 0 | 2731 | -| System.Reflection.MemberInfo[] System.Type.GetMembers(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8191 | -| System.Reflection.Metadata.MetadataUpdateHandlerAttribute | [AttributeUsageAttribute(...)] | 0 | 1 | -| System.Reflection.Metadata.MetadataUpdateHandlerAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.Metadata.MetadataUpdateHandlerAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.MetadataEnumResult | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Reflection.MetadataEnumResult.smallResult | [FixedBufferAttribute(...)] | 0 | System.Int32 | -| System.Reflection.MetadataEnumResult.smallResult | [FixedBufferAttribute(...)] | 1 | 16 | -| System.Reflection.MethodBase | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.MethodBase | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.MethodBase System.DefaultBinder.BindToMethod(System.Reflection.BindingFlags,System.Reflection.MethodBase[],System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],System.Object) | [UnconditionalSuppressMessageAttribute(...)] | 0 | AotAnalysis | -| System.Reflection.MethodBase System.DefaultBinder.BindToMethod(System.Reflection.BindingFlags,System.Reflection.MethodBase[],System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],System.Object) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL3050:RequiresDynamicCode | -| System.Reflection.MethodBase System.Diagnostics.StackFrame.GetMethod() | [RequiresUnreferencedCodeAttribute(...)] | 0 | Metadata for the method might be incomplete or removed | -| System.Reflection.MethodBase System.Exception.get_TargetSite() | [RequiresUnreferencedCodeAttribute(...)] | 0 | Metadata for the method might be incomplete or removed | -| System.Reflection.MethodBase System.Reflection.Binder.BindToMethod(System.Reflection.BindingFlags,System.Reflection.MethodBase[],System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.MethodBase System.Reflection.Emit.RuntimeModuleBuilder.GetGenericMethodBaseDefinition(System.Reflection.MethodBase) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Reflection.MethodBase System.Reflection.Emit.RuntimeModuleBuilder.GetGenericMethodBaseDefinition(System.Reflection.MethodBase) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:RequiresUnreferencedCode | -| System.Reflection.MethodBase System.Reflection.Emit.RuntimeModuleBuilder.ResolveMethod(System.Int32,System.Type[],System.Type[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Trimming changes metadata tokens | -| System.Reflection.MethodBase System.Reflection.MethodBase.GetCurrentMethod() | [RequiresUnreferencedCodeAttribute(...)] | 0 | Metadata for the method might be incomplete or removed | -| System.Reflection.MethodBase System.Reflection.Module.ResolveMethod(System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.MethodBase System.Reflection.Module.ResolveMethod(System.Int32) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Trimming changes metadata tokens | -| System.Reflection.MethodBase System.Reflection.Module.ResolveMethod(System.Int32,System.Type[],System.Type[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.MethodBase System.Reflection.Module.ResolveMethod(System.Int32,System.Type[],System.Type[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Trimming changes metadata tokens | -| System.Reflection.MethodBase System.Reflection.RuntimeModule.ResolveMethod(System.Int32,System.Type[],System.Type[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Trimming changes metadata tokens | -| System.Reflection.MethodBase System.RuntimeType.GetMethodBase(System.Reflection.RuntimeModule,System.Int32) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Trimming changes metadata tokens | -| System.Reflection.MethodBase System.RuntimeType.GetMethodBase(System.RuntimeType,System.RuntimeMethodHandleInternal) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Reflection.MethodBase System.RuntimeType.GetMethodBase(System.RuntimeType,System.RuntimeMethodHandleInternal) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2070:UnrecognizedReflectionPattern | -| System.Reflection.MethodBase System.Type.DeclaringMethod | [NullableAttribute(...)] | 0 | 2 | -| System.Reflection.MethodBase System.Type.get_DeclaringMethod() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.MethodBase.ArgumentData`1 | [InlineArrayAttribute(...)] | 0 | 4 | -| System.Reflection.MethodBase.StackAllocatedArguments | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.Reflection.MethodBase.StackAllocatedArguments | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.Reflection.MethodBase.StackAllocatedArguments | [ObsoleteAttribute(...)] | 1 | True | -| System.Reflection.MethodBase.StackAllocatedArgumentsWithCopyBack | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.Reflection.MethodBase.StackAllocatedArgumentsWithCopyBack | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.Reflection.MethodBase.StackAllocatedArgumentsWithCopyBack | [ObsoleteAttribute(...)] | 1 | True | -| System.Reflection.MethodBase.StackAllocatedByRefs | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.Reflection.MethodBase.StackAllocatedByRefs | [InlineArrayAttribute(...)] | 0 | 4 | -| System.Reflection.MethodBase.StackAllocatedByRefs | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.Reflection.MethodBase.StackAllocatedByRefs | [ObsoleteAttribute(...)] | 1 | True | -| System.Reflection.MethodBase[] | [NullableAttribute(...)] | 0 | 1 | -| System.Reflection.MethodBody | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.MethodBody | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.MethodBody System.Reflection.MethodBase.GetMethodBody() | [RequiresUnreferencedCodeAttribute(...)] | 0 | Trimming may change method bodies. For example it can change some instructions, remove branches or local variables. | -| System.Reflection.MethodBody System.Reflection.RuntimeConstructorInfo.GetMethodBody() | [RequiresUnreferencedCodeAttribute(...)] | 0 | Trimming may change method bodies. For example it can change some instructions, remove branches or local variables. | -| System.Reflection.MethodBody System.Reflection.RuntimeMethodInfo.GetMethodBody() | [RequiresUnreferencedCodeAttribute(...)] | 0 | Trimming may change method bodies. For example it can change some instructions, remove branches or local variables. | -| System.Reflection.MethodInfo | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.MethodInfo | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.MethodInfo System.Reflection.Assembly.EntryPoint | [NullableAttribute(...)] | 0 | 2 | -| System.Reflection.MethodInfo System.Reflection.Assembly.get_EntryPoint() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.MethodInfo System.Reflection.Emit.AssemblyBuilder.EntryPoint | [NullableAttribute(...)] | 0 | 2 | -| System.Reflection.MethodInfo System.Reflection.Emit.AssemblyBuilder.get_EntryPoint() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.MethodInfo System.Reflection.Emit.MethodBuilderInstantiation.MakeGenericMethod(System.Type[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | If some of the generic arguments are annotated (either with DynamicallyAccessedMembersAttribute, or generic constraints), trimming can't validate that the requirements of those annotations are met. | -| System.Reflection.MethodInfo System.Reflection.Emit.MethodOnTypeBuilderInstantiation.MakeGenericMethod(System.Type[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | If some of the generic arguments are annotated (either with DynamicallyAccessedMembersAttribute, or generic constraints), trimming can't validate that the requirements of those annotations are met. | -| System.Reflection.MethodInfo System.Reflection.Emit.RuntimeEnumBuilder.GetMethodImpl(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 24 | -| System.Reflection.MethodInfo System.Reflection.Emit.RuntimeGenericTypeParameterBuilder.GetMethodImpl(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 24 | -| System.Reflection.MethodInfo System.Reflection.Emit.RuntimeMethodBuilder.MakeGenericMethod(System.Type[]) | [RequiresDynamicCodeAttribute(...)] | 0 | The native code for this instantiation might not be available at runtime. | -| System.Reflection.MethodInfo System.Reflection.Emit.RuntimeMethodBuilder.MakeGenericMethod(System.Type[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | If some of the generic arguments are annotated (either with DynamicallyAccessedMembersAttribute, or generic constraints), trimming can't validate that the requirements of those annotations are met. | -| System.Reflection.MethodInfo System.Reflection.Emit.RuntimeModuleBuilder.GetMethodImpl(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Methods might be removed | -| System.Reflection.MethodInfo System.Reflection.Emit.RuntimeTypeBuilder.GetMethodImpl(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 24 | -| System.Reflection.MethodInfo System.Reflection.Emit.SymbolType.GetMethodImpl(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 24 | -| System.Reflection.MethodInfo System.Reflection.Emit.TypeBuilder.GetMethod(System.Type,System.Reflection.MethodInfo) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Reflection.MethodInfo System.Reflection.Emit.TypeBuilder.GetMethod(System.Type,System.Reflection.MethodInfo) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2055:UnrecognizedReflectionPattern | -| System.Reflection.MethodInfo System.Reflection.Emit.TypeBuilderInstantiation.GetMethodImpl(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 24 | -| System.Reflection.MethodInfo System.Reflection.IReflect.GetMethod(System.String,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 24 | -| System.Reflection.MethodInfo System.Reflection.IReflect.GetMethod(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 24 | -| System.Reflection.MethodInfo System.Reflection.IReflect.GetMethod(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type[],System.Reflection.ParameterModifier[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.MethodInfo System.Reflection.MethodInfo.MakeGenericMethod(System.Type[]) | [RequiresDynamicCodeAttribute(...)] | 0 | The native code for this instantiation might not be available at runtime. | -| System.Reflection.MethodInfo System.Reflection.MethodInfo.MakeGenericMethod(System.Type[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | If some of the generic arguments are annotated (either with DynamicallyAccessedMembersAttribute, or generic constraints), trimming can't validate that the requirements of those annotations are met. | -| System.Reflection.MethodInfo System.Reflection.ModifiedType.GetMethodImpl(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 24 | -| System.Reflection.MethodInfo System.Reflection.Module.GetMethod(System.String) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Methods might be removed | -| System.Reflection.MethodInfo System.Reflection.Module.GetMethod(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.MethodInfo System.Reflection.Module.GetMethod(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Methods might be removed | -| System.Reflection.MethodInfo System.Reflection.Module.GetMethod(System.String,System.Type[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Methods might be removed | -| System.Reflection.MethodInfo System.Reflection.Module.GetMethodImpl(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.MethodInfo System.Reflection.Module.GetMethodImpl(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Methods might be removed | -| System.Reflection.MethodInfo System.Reflection.RuntimeMethodInfo.MakeGenericMethod(System.Type[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | If some of the generic arguments are annotated (either with DynamicallyAccessedMembersAttribute, or generic constraints), trimming can't validate that the requirements of those annotations are met. | -| System.Reflection.MethodInfo System.Reflection.RuntimeModule.GetMethodImpl(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Methods might be removed because Module methods can't currently be annotated for dynamic access. | -| System.Reflection.MethodInfo System.Reflection.RuntimeModule.GetMethodInternal(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Methods might be removed because Module methods can't currently be annotated for dynamic access. | -| System.Reflection.MethodInfo System.Reflection.SignatureType.GetMethodImpl(System.String,System.Int32,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 24 | -| System.Reflection.MethodInfo System.Reflection.SignatureType.GetMethodImpl(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 24 | -| System.Reflection.MethodInfo System.Reflection.TypeDelegator.GetMethodImpl(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 24 | -| System.Reflection.MethodInfo System.Reflection.TypeDelegator.GetMethodImpl(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.MethodInfo System.Reflection.TypeInfo.GetDeclaredMethod(System.String) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 24 | -| System.Reflection.MethodInfo System.RuntimeType.GetMethodImpl(System.String,System.Int32,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 24 | -| System.Reflection.MethodInfo System.RuntimeType.GetMethodImpl(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 24 | -| System.Reflection.MethodInfo System.Type.GetMethod(System.String) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8 | -| System.Reflection.MethodInfo System.Type.GetMethod(System.String,System.Int32,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 24 | -| System.Reflection.MethodInfo System.Type.GetMethod(System.String,System.Int32,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.MethodInfo System.Type.GetMethod(System.String,System.Int32,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 24 | -| System.Reflection.MethodInfo System.Type.GetMethod(System.String,System.Int32,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type[],System.Reflection.ParameterModifier[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.MethodInfo System.Type.GetMethod(System.String,System.Int32,System.Type[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8 | -| System.Reflection.MethodInfo System.Type.GetMethod(System.String,System.Int32,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8 | -| System.Reflection.MethodInfo System.Type.GetMethod(System.String,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 24 | -| System.Reflection.MethodInfo System.Type.GetMethod(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 24 | -| System.Reflection.MethodInfo System.Type.GetMethod(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.MethodInfo System.Type.GetMethod(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 24 | -| System.Reflection.MethodInfo System.Type.GetMethod(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type[],System.Reflection.ParameterModifier[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.MethodInfo System.Type.GetMethod(System.String,System.Reflection.BindingFlags,System.Type[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 24 | -| System.Reflection.MethodInfo System.Type.GetMethod(System.String,System.Type[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8 | -| System.Reflection.MethodInfo System.Type.GetMethod(System.String,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8 | -| System.Reflection.MethodInfo System.Type.GetMethodImpl(System.String,System.Int32,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 24 | -| System.Reflection.MethodInfo System.Type.GetMethodImpl(System.String,System.Int32,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.MethodInfo System.Type.GetMethodImpl(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 24 | -| System.Reflection.MethodInfo System.Type.GetMethodImpl(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.MethodInfo[] System.Diagnostics.StackTrace.<TryResolveStateMachineMethod>g__GetDeclaredMethods\|28_0(System.Type) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Reflection.MethodInfo[] System.Diagnostics.StackTrace.<TryResolveStateMachineMethod>g__GetDeclaredMethods\|28_0(System.Type) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2070:UnrecognizedReflectionPattern | -| System.Reflection.MethodInfo[] System.Reflection.Emit.RuntimeEnumBuilder.GetMethods(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 24 | -| System.Reflection.MethodInfo[] System.Reflection.Emit.RuntimeGenericTypeParameterBuilder.GetMethods(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 24 | -| System.Reflection.MethodInfo[] System.Reflection.Emit.RuntimeModuleBuilder.GetMethods(System.Reflection.BindingFlags) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Methods might be removed | -| System.Reflection.MethodInfo[] System.Reflection.Emit.RuntimeTypeBuilder.GetMethods(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 24 | -| System.Reflection.MethodInfo[] System.Reflection.Emit.SymbolType.GetMethods(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 24 | -| System.Reflection.MethodInfo[] System.Reflection.Emit.TypeBuilderInstantiation.GetMethods(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 24 | -| System.Reflection.MethodInfo[] System.Reflection.EventInfo.GetOtherMethods() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.MethodInfo[] System.Reflection.EventInfo.GetOtherMethods(System.Boolean) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.MethodInfo[] System.Reflection.IReflect.GetMethods(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 24 | -| System.Reflection.MethodInfo[] System.Reflection.ModifiedType.GetMethods(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 24 | -| System.Reflection.MethodInfo[] System.Reflection.Module.GetMethods() | [RequiresUnreferencedCodeAttribute(...)] | 0 | Methods might be removed | -| System.Reflection.MethodInfo[] System.Reflection.Module.GetMethods(System.Reflection.BindingFlags) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Methods might be removed | -| System.Reflection.MethodInfo[] System.Reflection.PropertyInfo.GetAccessors() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.MethodInfo[] System.Reflection.PropertyInfo.GetAccessors(System.Boolean) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.MethodInfo[] System.Reflection.RuntimeModule.GetMethods(System.Reflection.BindingFlags) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Methods might be removed | -| System.Reflection.MethodInfo[] System.Reflection.SignatureType.GetMethods(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 24 | -| System.Reflection.MethodInfo[] System.Reflection.TypeDelegator.GetMethods(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 24 | -| System.Reflection.MethodInfo[] System.Reflection.TypeInfo.<GetDeclaredMethods>g__GetDeclaredOnlyMethods\|10_0(System.Type) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Reflection.MethodInfo[] System.Reflection.TypeInfo.<GetDeclaredMethods>g__GetDeclaredOnlyMethods\|10_0(System.Type) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2070:UnrecognizedReflectionPattern | -| System.Reflection.MethodInfo[] System.RuntimeType.GetMethods(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 24 | -| System.Reflection.MethodInfo[] System.Type.GetMethods() | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8 | -| System.Reflection.MethodInfo[] System.Type.GetMethods(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 24 | -| System.Reflection.MethodInvoker | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.MethodInvoker | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.MethodInvoker System.Reflection.MethodInvoker.Create(System.Reflection.MethodBase) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.Missing.Value | [NullableAttribute(...)] | 0 | 1 | -| System.Reflection.Module | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.Module | [NullableAttribute(...)] | 0 | 2 | -| System.Reflection.Module | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.Module System.Reflection.Assembly.LoadModule(System.String,System.Byte[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types and members the loaded module depends on might be removed | -| System.Reflection.Module System.Reflection.Assembly.LoadModule(System.String,System.Byte[],System.Byte[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types and members the loaded module depends on might be removed | -| System.Reflection.Module System.Reflection.ModuleResolveEventHandler.Invoke(System.Object,System.ResolveEventArgs) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.NullabilityInfo | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.NullabilityInfo | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.NullabilityInfo System.Reflection.NullabilityInfo.ElementType | [NullableAttribute(...)] | 0 | 2 | -| System.Reflection.NullabilityInfo System.Reflection.NullabilityInfo.get_ElementType() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.NullabilityInfoContext | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.NullabilityInfoContext | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.ObfuscateAssemblyAttribute | [AttributeUsageAttribute(...)] | 0 | 1 | -| System.Reflection.ObfuscationAttribute | [AttributeUsageAttribute(...)] | 0 | 8157 | -| System.Reflection.ObfuscationAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.ObfuscationAttribute | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.ParameterInfo | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.ParameterInfo | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.ParameterInfo.ClassImpl | [NullableAttribute(...)] | 0 | 2 | -| System.Reflection.ParameterInfo.DefaultValueImpl | [NullableAttribute(...)] | 0 | 2 | -| System.Reflection.ParameterInfo.NameImpl | [NullableAttribute(...)] | 0 | 2 | -| System.Reflection.ParameterInfo[] System.Reflection.MethodBase.GetParameters() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.ParameterInfo[] System.Reflection.PropertyInfo.GetIndexParameters() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.ParameterModifier | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Reflection.ParameterModifier[] | [NullableAttribute(...)] | 0 | 2 | -| System.Reflection.Pointer | [CLSCompliantAttribute(...)] | 0 | False | -| System.Reflection.ProcessorArchitecture System.Reflection.AssemblyName.ProcessorArchitecture | [ObsoleteAttribute(...)] | 0 | AssemblyName members HashAlgorithm, ProcessorArchitecture, and VersionCompatibility are obsolete and not supported. | -| System.Reflection.PropertyInfo | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.PropertyInfo | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.PropertyInfo System.Attribute.GetParentDefinition(System.Reflection.PropertyInfo,System.Type[]) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Reflection.PropertyInfo System.Attribute.GetParentDefinition(System.Reflection.PropertyInfo,System.Type[]) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2075:UnrecognizedReflectionPattern | -| System.Reflection.PropertyInfo System.Reflection.Binder.SelectProperty(System.Reflection.BindingFlags,System.Reflection.PropertyInfo[],System.Type,System.Type[],System.Reflection.ParameterModifier[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.PropertyInfo System.Reflection.Emit.RuntimeEnumBuilder.GetPropertyImpl(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 1536 | -| System.Reflection.PropertyInfo System.Reflection.Emit.RuntimeGenericTypeParameterBuilder.GetPropertyImpl(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 1536 | -| System.Reflection.PropertyInfo System.Reflection.Emit.RuntimeTypeBuilder.GetPropertyImpl(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 1536 | -| System.Reflection.PropertyInfo System.Reflection.Emit.SymbolType.GetPropertyImpl(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 1536 | -| System.Reflection.PropertyInfo System.Reflection.Emit.TypeBuilderInstantiation.GetPropertyImpl(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 1536 | -| System.Reflection.PropertyInfo System.Reflection.IReflect.GetProperty(System.String,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 1536 | -| System.Reflection.PropertyInfo System.Reflection.IReflect.GetProperty(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 1536 | -| System.Reflection.PropertyInfo System.Reflection.IReflect.GetProperty(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.PropertyInfo System.Reflection.ModifiedType.GetPropertyImpl(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 1536 | -| System.Reflection.PropertyInfo System.Reflection.SignatureType.GetPropertyImpl(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 1536 | -| System.Reflection.PropertyInfo System.Reflection.TypeDelegator.GetPropertyImpl(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 1536 | -| System.Reflection.PropertyInfo System.Reflection.TypeDelegator.GetPropertyImpl(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.PropertyInfo System.Reflection.TypeInfo.GetDeclaredProperty(System.String) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 1536 | -| System.Reflection.PropertyInfo System.RuntimeType.GetPropertyImpl(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 1536 | -| System.Reflection.PropertyInfo System.Type.GetProperty(System.String) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 512 | -| System.Reflection.PropertyInfo System.Type.GetProperty(System.String,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 1536 | -| System.Reflection.PropertyInfo System.Type.GetProperty(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 1536 | -| System.Reflection.PropertyInfo System.Type.GetProperty(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.PropertyInfo System.Type.GetProperty(System.String,System.Type) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 512 | -| System.Reflection.PropertyInfo System.Type.GetProperty(System.String,System.Type) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.PropertyInfo System.Type.GetProperty(System.String,System.Type) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Reflection.PropertyInfo System.Type.GetProperty(System.String,System.Type) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2085:UnrecognizedReflectionPattern | -| System.Reflection.PropertyInfo System.Type.GetProperty(System.String,System.Type,System.Type[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 512 | -| System.Reflection.PropertyInfo System.Type.GetProperty(System.String,System.Type,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 512 | -| System.Reflection.PropertyInfo System.Type.GetProperty(System.String,System.Type,System.Type[],System.Reflection.ParameterModifier[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.PropertyInfo System.Type.GetProperty(System.String,System.Type[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 512 | -| System.Reflection.PropertyInfo System.Type.GetPropertyImpl(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[]) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 1536 | -| System.Reflection.PropertyInfo System.Type.GetPropertyImpl(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.PropertyInfo[] | [NullableAttribute(...)] | 0 | 1 | -| System.Reflection.PropertyInfo[] System.Reflection.Emit.RuntimeEnumBuilder.GetProperties(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 1536 | -| System.Reflection.PropertyInfo[] System.Reflection.Emit.RuntimeGenericTypeParameterBuilder.GetProperties(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 1536 | -| System.Reflection.PropertyInfo[] System.Reflection.Emit.RuntimeTypeBuilder.GetProperties(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 1536 | -| System.Reflection.PropertyInfo[] System.Reflection.Emit.SymbolType.GetProperties(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 1536 | -| System.Reflection.PropertyInfo[] System.Reflection.Emit.TypeBuilderInstantiation.GetProperties(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 1536 | -| System.Reflection.PropertyInfo[] System.Reflection.IReflect.GetProperties(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 1536 | -| System.Reflection.PropertyInfo[] System.Reflection.ModifiedType.GetProperties(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 1536 | -| System.Reflection.PropertyInfo[] System.Reflection.SignatureType.GetProperties(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 1536 | -| System.Reflection.PropertyInfo[] System.Reflection.TypeDelegator.GetProperties(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 1536 | -| System.Reflection.PropertyInfo[] System.RuntimeType.GetProperties(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 1536 | -| System.Reflection.PropertyInfo[] System.Type.GetProperties() | [DynamicallyAccessedMembersAttribute(...)] | 0 | 512 | -| System.Reflection.PropertyInfo[] System.Type.GetProperties(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 1536 | -| System.Reflection.ReflectionContext | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.ReflectionContext | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.ReflectionTypeLoadException | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.ReflectionTypeLoadException | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.ReflectionTypeLoadException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Reflection.RuntimeAssembly System.Runtime.Loader.AssemblyLoadContext.InternalLoadFromPath(System.String,System.String) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types and members the loaded assembly depends on might be removed | -| System.Reflection.RuntimeAssembly System.Runtime.Loader.AssemblyLoadContext.InvokeResolveEvent(System.ResolveEventHandler,System.Reflection.RuntimeAssembly,System.String) | [UnconditionalSuppressMessageAttribute(...)] | 0 | SingleFile | -| System.Reflection.RuntimeAssembly System.Runtime.Loader.AssemblyLoadContext.InvokeResolveEvent(System.ResolveEventHandler,System.Reflection.RuntimeAssembly,System.String) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL3000: Avoid accessing Assembly file path when publishing as a single file | -| System.Reflection.RuntimeFieldInfo[] System.RuntimeType.RuntimeTypeCache.MemberInfoCache`1.PopulateFields(System.RuntimeType.RuntimeTypeCache.Filter) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Reflection.RuntimeFieldInfo[] System.RuntimeType.RuntimeTypeCache.MemberInfoCache`1.PopulateFields(System.RuntimeType.RuntimeTypeCache.Filter) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2075:UnrecognizedReflectionPattern | -| System.Reflection.RuntimeMethodInfo System.Reflection.Associates.AssignAssociates(System.Int32,System.RuntimeType,System.RuntimeType) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Reflection.RuntimeMethodInfo System.Reflection.Associates.AssignAssociates(System.Int32,System.RuntimeType,System.RuntimeType) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:RequiresUnreferencedCode | -| System.Reflection.RuntimeReflectionExtensions | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.RuntimeReflectionExtensions | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.StrongNameKeyPair | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.StrongNameKeyPair | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.StrongNameKeyPair | [ObsoleteAttribute(...)] | 0 | Strong name signing is not supported and throws PlatformNotSupportedException. | -| System.Reflection.StrongNameKeyPair System.Reflection.AssemblyName.KeyPair | [ObsoleteAttribute(...)] | 0 | Strong name signing is not supported and throws PlatformNotSupportedException. | -| System.Reflection.TargetException | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.TargetException | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.TargetException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Reflection.TargetInvocationException | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.TargetInvocationException | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.TargetInvocationException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Reflection.TargetParameterCountException | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.TargetParameterCountException | [NullableContextAttribute(...)] | 0 | 2 | -| System.Reflection.TargetParameterCountException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Reflection.TypeAttributes.Serializable | [ObsoleteAttribute(...)] | 0 | Formatter-based serialization is obsolete and should not be used. | -| System.Reflection.TypeDelegator | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.TypeDelegator | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.TypeDelegator.typeImpl | [DynamicallyAccessedMembersAttribute(...)] | 0 | -1 | -| System.Reflection.TypeInfo | [NotNullWhenAttribute(...)] | 0 | True | -| System.Reflection.TypeInfo | [NullableAttribute(...)] | 0 | 0 | -| System.Reflection.TypeInfo | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.TypeInfo System.Reflection.Emit.RuntimeTypeBuilder.CreateTypeNoLock() | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Reflection.TypeInfo System.Reflection.Emit.RuntimeTypeBuilder.CreateTypeNoLock() | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2068:UnrecognizedReflectionPattern | -| System.Reflection.TypeInfo System.Reflection.Emit.RuntimeTypeBuilder.CreateTypeNoLock() | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2069:UnrecognizedReflectionPattern | -| System.Reflection.TypeInfo System.Reflection.Emit.RuntimeTypeBuilder.CreateTypeNoLock() | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2083:UnrecognizedReflectionPattern | -| System.Reflection.TypeInfo System.Reflection.IntrospectionExtensions.GetTypeInfo(System.Type) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Reflection.TypeInfo System.Reflection.IntrospectionExtensions.GetTypeInfo(System.Type) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Reflection.TypeInfo System.Reflection.TypeInfo.GetDeclaredNestedType(System.String) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 384 | -| System.Reflection.TypeNameParser | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.Reflection.TypeNameParser | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.Reflection.TypeNameParser | [ObsoleteAttribute(...)] | 1 | True | -| System.ResolveEventArgs | [NullableAttribute(...)] | 0 | 0 | -| System.ResolveEventArgs | [NullableAttribute(...)] | 0 | 1 | -| System.ResolveEventArgs | [NullableContextAttribute(...)] | 0 | 1 | -| System.Resources.MissingManifestResourceException | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Resources.MissingManifestResourceException | [NullableAttribute(...)] | 0 | 0 | -| System.Resources.MissingManifestResourceException | [NullableContextAttribute(...)] | 0 | 2 | -| System.Resources.MissingManifestResourceException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Resources.MissingSatelliteAssemblyException | [NullableAttribute(...)] | 0 | 0 | -| System.Resources.MissingSatelliteAssemblyException | [NullableContextAttribute(...)] | 0 | 2 | -| System.Resources.MissingSatelliteAssemblyException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Resources.NeutralResourcesLanguageAttribute | [AttributeUsageAttribute(...)] | 0 | 1 | -| System.Resources.NeutralResourcesLanguageAttribute | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Resources.NeutralResourcesLanguageAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Resources.NeutralResourcesLanguageAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Resources.ResourceManager | [NullableAttribute(...)] | 0 | 0 | -| System.Resources.ResourceManager | [NullableContextAttribute(...)] | 0 | 1 | -| System.Resources.ResourceManager.MainAssembly | [NullableAttribute(...)] | 0 | 2 | -| System.Resources.ResourceManager._userResourceSet | [DynamicallyAccessedMembersAttribute(...)] | 0 | 7 | -| System.Resources.ResourceReader.s_binaryFormatterType | [DynamicallyAccessedMembersAttribute(...)] | 0 | 1 | -| System.Resources.ResourceSet | [NullableAttribute(...)] | 0 | 0 | -| System.Resources.ResourceSet | [NullableContextAttribute(...)] | 0 | 1 | -| System.Resources.ResourceSet System.Resources.ManifestBasedResourceGroveler.InternalGetResourceSetFromSerializedData(System.IO.Stream,System.String,System.String,System.Resources.ResourceManager.ResourceManagerMediator) | [RequiresUnreferencedCodeAttribute(...)] | 0 | The CustomResourceTypesSupport feature switch has been enabled for this app which is being trimmed. Custom readers as well as custom objects on the resources file are not observable by the trimmer and so required assemblies, types and members may be removed. | -| System.Resources.ResourceSet.Reader | [NullableAttribute(...)] | 0 | 2 | -| System.Resources.SatelliteContractVersionAttribute | [AttributeUsageAttribute(...)] | 0 | 1 | -| System.Resources.SatelliteContractVersionAttribute | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Resources.SatelliteContractVersionAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Resources.SatelliteContractVersionAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.AmbiguousImplementationException | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.AmbiguousImplementationException | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.AmbiguousImplementationException | [TypeForwardedFromAttribute(...)] | 0 | System.Runtime, Version=4.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| System.Runtime.AssemblyTargetedPatchBandAttribute | [AttributeUsageAttribute(...)] | 0 | 1 | -| System.Runtime.AssemblyTargetedPatchBandAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.AssemblyTargetedPatchBandAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.AccessedThroughPropertyAttribute | [AttributeUsageAttribute(...)] | 0 | 256 | -| System.Runtime.CompilerServices.AccessedThroughPropertyAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.CompilerServices.AccessedThroughPropertyAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.AsyncIteratorMethodBuilder | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.CompilerServices.AsyncIteratorMethodBuilder | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.AsyncIteratorStateMachineAttribute | [AttributeUsageAttribute(...)] | 0 | 64 | -| System.Runtime.CompilerServices.AsyncMethodBuilderAttribute | [AttributeUsageAttribute(...)] | 0 | 5212 | -| System.Runtime.CompilerServices.AsyncMethodBuilderAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.CompilerServices.AsyncMethodBuilderAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.AsyncStateMachineAttribute | [AttributeUsageAttribute(...)] | 0 | 64 | -| System.Runtime.CompilerServices.AsyncTaskMethodBuilder | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.CompilerServices.AsyncTaskMethodBuilder | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1 | [DebuggerDisplayAttribute(...)] | 0 | {DebuggerDisplay,nq} | -| System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1 | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.AsyncVoidMethodBuilder | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.CompilerServices.AsyncVoidMethodBuilder | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.CallerArgumentExpressionAttribute | [AttributeUsageAttribute(...)] | 0 | 2048 | -| System.Runtime.CompilerServices.CallerArgumentExpressionAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.CompilerServices.CallerArgumentExpressionAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.CallerFilePathAttribute | [AttributeUsageAttribute(...)] | 0 | 2048 | -| System.Runtime.CompilerServices.CallerLineNumberAttribute | [AttributeUsageAttribute(...)] | 0 | 2048 | -| System.Runtime.CompilerServices.CallerMemberNameAttribute | [AttributeUsageAttribute(...)] | 0 | 2048 | -| System.Runtime.CompilerServices.CollectionBuilderAttribute | [AttributeUsageAttribute(...)] | 0 | 1036 | -| System.Runtime.CompilerServices.CollectionBuilderAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.CompilerServices.CollectionBuilderAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.CompExactlyDependsOnAttribute | [AttributeUsageAttribute(...)] | 0 | 96 | -| System.Runtime.CompilerServices.CompilationRelaxationsAttribute | [AttributeUsageAttribute(...)] | 0 | 71 | -| System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute | [AttributeUsageAttribute(...)] | 0 | 32767 | -| System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.CompilerGeneratedAttribute | [AttributeUsageAttribute(...)] | 0 | 32767 | -| System.Runtime.CompilerServices.CompilerGlobalScopeAttribute | [AttributeUsageAttribute(...)] | 0 | 4 | -| System.Runtime.CompilerServices.ConditionalWeakTable<!0,!1>.CreateValueCallback | [NullableAttribute(...)] | 0 | [1,0,0] | -| System.Runtime.CompilerServices.ConditionalWeakTable`2 | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.CompilerServices.ConditionalWeakTable`2 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.ConditionalWeakTable`2.CreateValueCallback | [NullableContextAttribute(...)] | 0 | 0 | -| System.Runtime.CompilerServices.ContractHelper | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.CompilerServices.ContractHelper | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.CompilerServices.ContractHelper.InternalContractFailed | [NullableAttribute(...)] | 0 | [2,1] | -| System.Runtime.CompilerServices.CreateNewOnMetadataUpdateAttribute | [AttributeUsageAttribute(...)] | 0 | 12 | -| System.Runtime.CompilerServices.CustomConstantAttribute | [AttributeUsageAttribute(...)] | 0 | 2304 | -| System.Runtime.CompilerServices.CustomConstantAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.CompilerServices.CustomConstantAttribute | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.CompilerServices.DateTimeConstantAttribute | [AttributeUsageAttribute(...)] | 0 | 2304 | -| System.Runtime.CompilerServices.DateTimeConstantAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.CompilerServices.DateTimeConstantAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.DecimalConstantAttribute | [AttributeUsageAttribute(...)] | 0 | 2304 | -| System.Runtime.CompilerServices.DefaultDependencyAttribute | [AttributeUsageAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.DefaultInterpolatedStringHandler | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.Runtime.CompilerServices.DefaultInterpolatedStringHandler | [InterpolatedStringHandlerArgumentAttribute(...)] | 0 | [provider,initialBuffer] | -| System.Runtime.CompilerServices.DefaultInterpolatedStringHandler | [InterpolatedStringHandlerArgumentAttribute(...)] | 0 | provider | -| System.Runtime.CompilerServices.DefaultInterpolatedStringHandler | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.CompilerServices.DefaultInterpolatedStringHandler | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.CompilerServices.DefaultInterpolatedStringHandler | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.Runtime.CompilerServices.DefaultInterpolatedStringHandler | [ObsoleteAttribute(...)] | 1 | True | -| System.Runtime.CompilerServices.DependencyAttribute | [AttributeUsageAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.DependencyAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.CompilerServices.DependencyAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.DisablePrivateReflectionAttribute | [AttributeUsageAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.DisablePrivateReflectionAttribute | [ObsoleteAttribute(...)] | 0 | DisablePrivateReflectionAttribute has no effect in .NET 6.0+. | -| System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute | [AttributeUsageAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.DiscardableAttribute | [AttributeUsageAttribute(...)] | 0 | 32767 | -| System.Runtime.CompilerServices.EnumeratorCancellationAttribute | [AttributeUsageAttribute(...)] | 0 | 2048 | -| System.Runtime.CompilerServices.ExtensionAttribute | [AttributeUsageAttribute(...)] | 0 | 69 | -| System.Runtime.CompilerServices.FixedAddressValueTypeAttribute | [AttributeUsageAttribute(...)] | 0 | 256 | -| System.Runtime.CompilerServices.FixedBufferAttribute | [AttributeUsageAttribute(...)] | 0 | 256 | -| System.Runtime.CompilerServices.FixedBufferAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.CompilerServices.FixedBufferAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.IAsyncStateMachine | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.ICastable | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.CompilerServices.INotifyCompletion | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.IStrongBox | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.CompilerServices.ITuple | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Runtime.CompilerServices.ITuple | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.CompilerServices.IndexerNameAttribute | [AttributeUsageAttribute(...)] | 0 | 128 | -| System.Runtime.CompilerServices.InlineArrayAttribute | [AttributeUsageAttribute(...)] | 0 | 8 | -| System.Runtime.CompilerServices.InternalsVisibleToAttribute | [AttributeUsageAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.InternalsVisibleToAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.CompilerServices.InternalsVisibleToAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.InterpolatedStringHandlerArgumentAttribute | [AttributeUsageAttribute(...)] | 0 | 2048 | -| System.Runtime.CompilerServices.InterpolatedStringHandlerArgumentAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.CompilerServices.InterpolatedStringHandlerArgumentAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.InterpolatedStringHandlerAttribute | [AttributeUsageAttribute(...)] | 0 | 12 | -| System.Runtime.CompilerServices.IntrinsicAttribute | [AttributeUsageAttribute(...)] | 0 | 364 | -| System.Runtime.CompilerServices.IsByRefLikeAttribute | [AttributeUsageAttribute(...)] | 0 | 8 | -| System.Runtime.CompilerServices.IsByRefLikeAttribute | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.IsExternalInit | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.IsReadOnlyAttribute | [AttributeUsageAttribute(...)] | 0 | 32767 | -| System.Runtime.CompilerServices.IsReadOnlyAttribute | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.IsUnmanagedAttribute | [AttributeUsageAttribute(...)] | 0 | 32767 | -| System.Runtime.CompilerServices.IsUnmanagedAttribute | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.IteratorStateMachineAttribute | [AttributeUsageAttribute(...)] | 0 | 64 | -| System.Runtime.CompilerServices.MetadataUpdateOriginalTypeAttribute | [AttributeUsageAttribute(...)] | 0 | 12 | -| System.Runtime.CompilerServices.MetadataUpdateOriginalTypeAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.CompilerServices.MetadataUpdateOriginalTypeAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.MethodImplAttribute | [AttributeUsageAttribute(...)] | 0 | 96 | -| System.Runtime.CompilerServices.ModuleInitializerAttribute | [AttributeUsageAttribute(...)] | 0 | 64 | -| System.Runtime.CompilerServices.NullableAttribute | [AttributeUsageAttribute(...)] | 0 | 27524 | -| System.Runtime.CompilerServices.NullableAttribute | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.NullableAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.CompilerServices.NullableAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.NullableContextAttribute | [AttributeUsageAttribute(...)] | 0 | 5196 | -| System.Runtime.CompilerServices.NullableContextAttribute | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.NullablePublicOnlyAttribute | [AttributeUsageAttribute(...)] | 0 | 2 | -| System.Runtime.CompilerServices.NullablePublicOnlyAttribute | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.ObjectHandleOnStack | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.Runtime.CompilerServices.ObjectHandleOnStack | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.Runtime.CompilerServices.ObjectHandleOnStack | [ObsoleteAttribute(...)] | 1 | True | -| System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1 | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.PreserveBaseOverridesAttribute | [AttributeUsageAttribute(...)] | 0 | 64 | -| System.Runtime.CompilerServices.QCallAssembly | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.Runtime.CompilerServices.QCallAssembly | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.Runtime.CompilerServices.QCallAssembly | [ObsoleteAttribute(...)] | 1 | True | -| System.Runtime.CompilerServices.QCallModule | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.Runtime.CompilerServices.QCallModule | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.Runtime.CompilerServices.QCallModule | [ObsoleteAttribute(...)] | 1 | True | -| System.Runtime.CompilerServices.QCallTypeHandle | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.Runtime.CompilerServices.QCallTypeHandle | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.Runtime.CompilerServices.QCallTypeHandle | [ObsoleteAttribute(...)] | 1 | True | -| System.Runtime.CompilerServices.RefSafetyRulesAttribute | [AttributeUsageAttribute(...)] | 0 | 2 | -| System.Runtime.CompilerServices.RefSafetyRulesAttribute | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.ReferenceAssemblyAttribute | [AttributeUsageAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.ReferenceAssemblyAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.CompilerServices.ReferenceAssemblyAttribute | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.CompilerServices.RequiredMemberAttribute | [AttributeUsageAttribute(...)] | 0 | 396 | -| System.Runtime.CompilerServices.RequiredMemberAttribute | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.RequiresLocationAttribute | [AttributeUsageAttribute(...)] | 0 | 2048 | -| System.Runtime.CompilerServices.RequiresLocationAttribute | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.RuntimeCompatibilityAttribute | [AttributeUsageAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.RuntimeFeature | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.CompilerServices.RuntimeFeature | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.RuntimeHelpers | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.CompilerServices.RuntimeHelpers | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.RuntimeHelpers.CleanupCode | [NullableContextAttribute(...)] | 0 | 0 | -| System.Runtime.CompilerServices.RuntimeHelpers.TryCode | [NullableContextAttribute(...)] | 0 | 0 | -| System.Runtime.CompilerServices.RuntimeWrappedException | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.CompilerServices.RuntimeWrappedException | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.RuntimeWrappedException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Runtime.CompilerServices.ScopedRefAttribute | [AttributeUsageAttribute(...)] | 0 | 2048 | -| System.Runtime.CompilerServices.ScopedRefAttribute | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.SkipLocalsInitAttribute | [AttributeUsageAttribute(...)] | 0 | 1774 | -| System.Runtime.CompilerServices.SpecialNameAttribute | [AttributeUsageAttribute(...)] | 0 | 972 | -| System.Runtime.CompilerServices.StackCrawlMarkHandle | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.Runtime.CompilerServices.StackCrawlMarkHandle | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.Runtime.CompilerServices.StackCrawlMarkHandle | [ObsoleteAttribute(...)] | 1 | True | -| System.Runtime.CompilerServices.StateMachineAttribute | [AttributeUsageAttribute(...)] | 0 | 64 | -| System.Runtime.CompilerServices.StateMachineAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.CompilerServices.StateMachineAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.StringFreezingAttribute | [AttributeUsageAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.StringHandleOnStack | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.Runtime.CompilerServices.StringHandleOnStack | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.Runtime.CompilerServices.StringHandleOnStack | [ObsoleteAttribute(...)] | 1 | True | -| System.Runtime.CompilerServices.StrongBox`1.Value | [NullableAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.SuppressIldasmAttribute | [AttributeUsageAttribute(...)] | 0 | 3 | -| System.Runtime.CompilerServices.SuppressIldasmAttribute | [ObsoleteAttribute(...)] | 0 | SuppressIldasmAttribute has no effect in .NET 6.0+. | -| System.Runtime.CompilerServices.SwitchExpressionException | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.CompilerServices.SwitchExpressionException | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.CompilerServices.SwitchExpressionException | [TypeForwardedFromAttribute(...)] | 0 | System.Runtime.Extensions, Version=4.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | -| System.Runtime.CompilerServices.TupleElementNamesAttribute | [AttributeUsageAttribute(...)] | 0 | 11148 | -| System.Runtime.CompilerServices.TupleElementNamesAttribute | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.CompilerServices.TypeForwardedFromAttribute | [AttributeUsageAttribute(...)] | 0 | 5148 | -| System.Runtime.CompilerServices.TypeForwardedFromAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.CompilerServices.TypeForwardedFromAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.TypeForwardedToAttribute | [AttributeUsageAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.TypeForwardedToAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.CompilerServices.TypeForwardedToAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.Unsafe | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.CompilerServices.Unsafe | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.CompilerServices.UnsafeAccessorAttribute | [AttributeUsageAttribute(...)] | 0 | 64 | -| System.Runtime.CompilerServices.UnsafeAccessorAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.CompilerServices.UnsafeAccessorAttribute | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.CompilerServices.UnsafeValueTypeAttribute | [AttributeUsageAttribute(...)] | 0 | 8 | -| System.Runtime.ConstrainedExecution.Cer | [ObsoleteAttribute(...)] | 0 | The Constrained Execution Region (CER) feature is not supported. | -| System.Runtime.ConstrainedExecution.Consistency | [ObsoleteAttribute(...)] | 0 | The Constrained Execution Region (CER) feature is not supported. | -| System.Runtime.ConstrainedExecution.PrePrepareMethodAttribute | [AttributeUsageAttribute(...)] | 0 | 96 | -| System.Runtime.ConstrainedExecution.PrePrepareMethodAttribute | [ObsoleteAttribute(...)] | 0 | The Constrained Execution Region (CER) feature is not supported. | -| System.Runtime.ConstrainedExecution.ReliabilityContractAttribute | [AttributeUsageAttribute(...)] | 0 | 1133 | -| System.Runtime.ConstrainedExecution.ReliabilityContractAttribute | [ObsoleteAttribute(...)] | 0 | The Constrained Execution Region (CER) feature is not supported. | -| System.Runtime.DependentHandle | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.DependentHandle | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.ExceptionServices.ExceptionDispatchInfo | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.ExceptionServices.ExceptionDispatchInfo | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.ExceptionServices.FirstChanceExceptionEventArgs | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.ExceptionServices.FirstChanceExceptionEventArgs | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.ExceptionServices.HandleProcessCorruptedStateExceptionsAttribute | [AttributeUsageAttribute(...)] | 0 | 64 | -| System.Runtime.ExceptionServices.HandleProcessCorruptedStateExceptionsAttribute | [ObsoleteAttribute(...)] | 0 | Recovery from corrupted process state exceptions is not supported; HandleProcessCorruptedStateExceptionsAttribute is ignored. | -| System.Runtime.InteropServices.AllowReversePInvokeCallsAttribute | [AttributeUsageAttribute(...)] | 0 | 64 | -| System.Runtime.InteropServices.AllowReversePInvokeCallsAttribute | [ObsoleteAttribute(...)] | 0 | Code Access Security is not supported or honored by the runtime. | -| System.Runtime.InteropServices.ArrayWithOffset | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.ArrayWithOffset | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.InteropServices.BStrWrapper | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.BStrWrapper | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.BStrWrapper | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.InteropServices.BestFitMappingAttribute | [AttributeUsageAttribute(...)] | 0 | 1037 | -| System.Runtime.InteropServices.CLong | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.InteropServices.COMException | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.COMException | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.InteropServices.COMException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Runtime.InteropServices.CULong | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.InteropServices.ClassInterfaceAttribute | [AttributeUsageAttribute(...)] | 0 | 5 | -| System.Runtime.InteropServices.CoClassAttribute | [AttributeUsageAttribute(...)] | 0 | 1024 | -| System.Runtime.InteropServices.CoClassAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.CoClassAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.CollectionsMarshal | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.CollectionsMarshal | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComDefaultInterfaceAttribute | [AttributeUsageAttribute(...)] | 0 | 4 | -| System.Runtime.InteropServices.ComDefaultInterfaceAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.ComDefaultInterfaceAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComEventInterfaceAttribute | [AttributeUsageAttribute(...)] | 0 | 1024 | -| System.Runtime.InteropServices.ComEventInterfaceAttribute | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComEventInterfaceAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.ComEventInterfaceAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComEventsHelper | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComEventsHelper | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.ComEventsHelper | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComEventsHelper | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Runtime.InteropServices.ComImportAttribute | [AttributeUsageAttribute(...)] | 0 | 1028 | -| System.Runtime.InteropServices.ComSourceInterfacesAttribute | [AttributeUsageAttribute(...)] | 0 | 4 | -| System.Runtime.InteropServices.ComSourceInterfacesAttribute | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComSourceInterfacesAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.ComSourceInterfacesAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.BINDPTR | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.BIND_OPTS | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.CALLCONV | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.CONNECTDATA | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.CONNECTDATA.pUnk | [NullableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.DESCKIND | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.DISPPARAMS | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.ELEMDESC | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.EXCEPINFO | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.EXCEPINFO | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.ComTypes.EXCEPINFO | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.FILETIME | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.FUNCDESC | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.FUNCFLAGS | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.FUNCKIND | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.IBindCtx | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.IBindCtx | [GuidAttribute(...)] | 0 | 0000000e-0000-0000-C000-000000000046 | -| System.Runtime.InteropServices.ComTypes.IBindCtx | [InterfaceTypeAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.IBindCtx | [NullableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.IBindCtx | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.IConnectionPoint | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.IConnectionPoint | [GuidAttribute(...)] | 0 | B196B286-BAB4-101A-B69C-00AA00341D07 | -| System.Runtime.InteropServices.ComTypes.IConnectionPoint | [InterfaceTypeAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.IConnectionPoint | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.IConnectionPointContainer | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.IConnectionPointContainer | [GuidAttribute(...)] | 0 | B196B284-BAB4-101A-B69C-00AA00341D07 | -| System.Runtime.InteropServices.ComTypes.IConnectionPointContainer | [InterfaceTypeAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.IConnectionPointContainer | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.IDLDESC | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.IDLFLAG | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.IEnumConnectionPoints | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.IEnumConnectionPoints | [GuidAttribute(...)] | 0 | B196B285-BAB4-101A-B69C-00AA00341D07 | -| System.Runtime.InteropServices.ComTypes.IEnumConnectionPoints | [InterfaceTypeAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.IEnumConnectionPoints | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.IEnumConnections | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.IEnumConnections | [GuidAttribute(...)] | 0 | B196B287-BAB4-101A-B69C-00AA00341D07 | -| System.Runtime.InteropServices.ComTypes.IEnumConnections | [InterfaceTypeAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.IEnumConnections | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.IEnumMoniker | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.IEnumMoniker | [GuidAttribute(...)] | 0 | 00000102-0000-0000-C000-000000000046 | -| System.Runtime.InteropServices.ComTypes.IEnumMoniker | [InterfaceTypeAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.IEnumMoniker | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.IEnumString | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.IEnumString | [GuidAttribute(...)] | 0 | 00000101-0000-0000-C000-000000000046 | -| System.Runtime.InteropServices.ComTypes.IEnumString | [InterfaceTypeAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.IEnumString | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.IEnumVARIANT | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.IEnumVARIANT | [GuidAttribute(...)] | 0 | 00020404-0000-0000-C000-000000000046 | -| System.Runtime.InteropServices.ComTypes.IEnumVARIANT | [InterfaceTypeAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.IEnumVARIANT | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.IEnumerable | [GuidAttribute(...)] | 0 | 496B0ABE-CDEE-11d3-88E8-00902754C43A | -| System.Runtime.InteropServices.ComTypes.IEnumerator | [GuidAttribute(...)] | 0 | 496B0ABF-CDEE-11d3-88E8-00902754C43A | -| System.Runtime.InteropServices.ComTypes.IMPLTYPEFLAGS | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.IMoniker | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.IMoniker | [GuidAttribute(...)] | 0 | 0000000f-0000-0000-C000-000000000046 | -| System.Runtime.InteropServices.ComTypes.IMoniker | [InterfaceTypeAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.IMoniker | [NullableAttribute(...)] | 0 | 2 | -| System.Runtime.InteropServices.ComTypes.IMoniker | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.INVOKEKIND | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.IPersistFile | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.IPersistFile | [GuidAttribute(...)] | 0 | 0000010b-0000-0000-C000-000000000046 | -| System.Runtime.InteropServices.ComTypes.IPersistFile | [InterfaceTypeAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.IPersistFile | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.IRunningObjectTable | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.IRunningObjectTable | [GuidAttribute(...)] | 0 | 00000010-0000-0000-C000-000000000046 | -| System.Runtime.InteropServices.ComTypes.IRunningObjectTable | [InterfaceTypeAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.IRunningObjectTable | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.IStream | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.IStream | [GuidAttribute(...)] | 0 | 0000000c-0000-0000-C000-000000000046 | -| System.Runtime.InteropServices.ComTypes.IStream | [InterfaceTypeAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.IStream | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.ITypeComp | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.ITypeComp | [GuidAttribute(...)] | 0 | 00020403-0000-0000-C000-000000000046 | -| System.Runtime.InteropServices.ComTypes.ITypeComp | [InterfaceTypeAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.ITypeComp | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.ITypeInfo | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.ITypeInfo | [GuidAttribute(...)] | 0 | 00020401-0000-0000-C000-000000000046 | -| System.Runtime.InteropServices.ComTypes.ITypeInfo | [InterfaceTypeAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.ITypeInfo | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.ITypeInfo2 | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.ITypeInfo2 | [GuidAttribute(...)] | 0 | 00020412-0000-0000-C000-000000000046 | -| System.Runtime.InteropServices.ComTypes.ITypeInfo2 | [InterfaceTypeAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.ITypeInfo2 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.ITypeLib | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.ITypeLib | [GuidAttribute(...)] | 0 | 00020402-0000-0000-C000-000000000046 | -| System.Runtime.InteropServices.ComTypes.ITypeLib | [InterfaceTypeAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.ITypeLib | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.ITypeLib2 | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.ITypeLib2 | [GuidAttribute(...)] | 0 | 00020411-0000-0000-C000-000000000046 | -| System.Runtime.InteropServices.ComTypes.ITypeLib2 | [InterfaceTypeAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.ITypeLib2 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.LIBFLAGS | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.PARAMDESC | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.PARAMFLAG | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.STATSTG | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.STATSTG.pwcsName | [NullableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.SYSKIND | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.TYPEATTR | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.TYPEDESC | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.TYPEFLAGS | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.TYPEKIND | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.TYPELIBATTR | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.VARDESC | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.VARDESC.lpstrSchema | [NullableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.VARFLAGS | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComTypes.VARKIND | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComVisibleAttribute | [AttributeUsageAttribute(...)] | 0 | 5597 | -| System.Runtime.InteropServices.ComWrappers | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.InteropServices.ComWrappers | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.ComWrappers | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ComWrappers | [UnsupportedOSPlatformAttribute(...)] | 0 | android | -| System.Runtime.InteropServices.ComWrappers | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Runtime.InteropServices.ComWrappers | [UnsupportedOSPlatformAttribute(...)] | 0 | ios | -| System.Runtime.InteropServices.ComWrappers | [UnsupportedOSPlatformAttribute(...)] | 0 | tvos | -| System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch | [NullableContextAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.ComWrappers.ComInterfaceEntry | [NullableContextAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.ComWrappers.ComInterfaceEntry* System.Runtime.InteropServices.ComWrappers.ComputeVtables(System.Object,System.Runtime.InteropServices.CreateComInterfaceFlags,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.CurrencyWrapper | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.CurrencyWrapper | [ObsoleteAttribute(...)] | 0 | CurrencyWrapper and support for marshalling to the VARIANT type may be unavailable in future releases. | -| System.Runtime.InteropServices.CustomQueryInterfaceMode | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.CustomQueryInterfaceResult | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.DefaultCharSetAttribute | [AttributeUsageAttribute(...)] | 0 | 2 | -| System.Runtime.InteropServices.DefaultDllImportSearchPathsAttribute | [AttributeUsageAttribute(...)] | 0 | 65 | -| System.Runtime.InteropServices.DefaultParameterValueAttribute | [AttributeUsageAttribute(...)] | 0 | 2048 | -| System.Runtime.InteropServices.DefaultParameterValueAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.DefaultParameterValueAttribute | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.InteropServices.DispIdAttribute | [AttributeUsageAttribute(...)] | 0 | 960 | -| System.Runtime.InteropServices.DispatchWrapper | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.DispatchWrapper | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.DispatchWrapper | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.InteropServices.DispatchWrapper | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Runtime.InteropServices.DllImportAttribute | [AttributeUsageAttribute(...)] | 0 | 64 | -| System.Runtime.InteropServices.DllImportAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.DllImportAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.DllImportAttribute.EntryPoint | [NullableAttribute(...)] | 0 | 2 | -| System.Runtime.InteropServices.DynamicInterfaceCastableImplementationAttribute | [AttributeUsageAttribute(...)] | 0 | 1024 | -| System.Runtime.InteropServices.ErrorWrapper | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ErrorWrapper | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.ErrorWrapper | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ExternalException | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.ExternalException | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.InteropServices.ExternalException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Runtime.InteropServices.FieldOffsetAttribute | [AttributeUsageAttribute(...)] | 0 | 256 | -| System.Runtime.InteropServices.GCHandle | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.GCHandle | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.InteropServices.GuidAttribute | [AttributeUsageAttribute(...)] | 0 | 5149 | -| System.Runtime.InteropServices.GuidAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.GuidAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.HandleRef | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.HandleRef | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.InteropServices.ICustomAdapter | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ICustomAdapter | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ICustomFactory | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ICustomMarshaler | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ICustomQueryInterface | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.InAttribute | [AttributeUsageAttribute(...)] | 0 | 2048 | -| System.Runtime.InteropServices.InterfaceTypeAttribute | [AttributeUsageAttribute(...)] | 0 | 1024 | -| System.Runtime.InteropServices.InvalidComObjectException | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.InvalidComObjectException | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.InteropServices.InvalidComObjectException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Runtime.InteropServices.InvalidOleVariantTypeException | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.InvalidOleVariantTypeException | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.InteropServices.InvalidOleVariantTypeException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Runtime.InteropServices.LCIDConversionAttribute | [AttributeUsageAttribute(...)] | 0 | 64 | -| System.Runtime.InteropServices.LibraryImportAttribute | [AttributeUsageAttribute(...)] | 0 | 64 | -| System.Runtime.InteropServices.LibraryImportAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.LibraryImportAttribute | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.InteropServices.Marshal | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.Marshal | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.MarshalAsAttribute | [AttributeUsageAttribute(...)] | 0 | 10496 | -| System.Runtime.InteropServices.MarshalAsAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.MarshalAsAttribute | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.InteropServices.MarshalDirectiveException | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.MarshalDirectiveException | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.InteropServices.MarshalDirectiveException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Runtime.InteropServices.Marshalling.AnsiStringMarshaller | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.InteropServices.Marshalling.AnsiStringMarshaller | [CustomMarshallerAttribute(...)] | 0 | System.String | -| System.Runtime.InteropServices.Marshalling.AnsiStringMarshaller | [CustomMarshallerAttribute(...)] | 1 | 0 | -| System.Runtime.InteropServices.Marshalling.AnsiStringMarshaller | [CustomMarshallerAttribute(...)] | 1 | 1 | -| System.Runtime.InteropServices.Marshalling.AnsiStringMarshaller | [CustomMarshallerAttribute(...)] | 2 | System.Runtime.InteropServices.Marshalling.AnsiStringMarshaller | -| System.Runtime.InteropServices.Marshalling.AnsiStringMarshaller | [CustomMarshallerAttribute(...)] | 2 | System.Runtime.InteropServices.Marshalling.AnsiStringMarshaller.ManagedToUnmanagedIn | -| System.Runtime.InteropServices.Marshalling.AnsiStringMarshaller.ManagedToUnmanagedIn | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.Runtime.InteropServices.Marshalling.AnsiStringMarshaller.ManagedToUnmanagedIn | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.Runtime.InteropServices.Marshalling.AnsiStringMarshaller.ManagedToUnmanagedIn | [ObsoleteAttribute(...)] | 1 | True | -| System.Runtime.InteropServices.Marshalling.ArrayMarshaller`2 | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.InteropServices.Marshalling.ArrayMarshaller`2 | [CustomMarshallerAttribute(...)] | 0 | System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute.GenericPlaceholder | -| System.Runtime.InteropServices.Marshalling.ArrayMarshaller`2 | [CustomMarshallerAttribute(...)] | 1 | 0 | -| System.Runtime.InteropServices.Marshalling.ArrayMarshaller`2 | [CustomMarshallerAttribute(...)] | 1 | 1 | -| System.Runtime.InteropServices.Marshalling.ArrayMarshaller`2 | [CustomMarshallerAttribute(...)] | 2 | System.Runtime.InteropServices.Marshalling.ArrayMarshaller`2 | -| System.Runtime.InteropServices.Marshalling.ArrayMarshaller`2 | [CustomMarshallerAttribute(...)] | 2 | System.Runtime.InteropServices.Marshalling.ArrayMarshaller`2.ManagedToUnmanagedIn | -| System.Runtime.InteropServices.Marshalling.ArrayMarshaller`2.ManagedToUnmanagedIn | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.Runtime.InteropServices.Marshalling.ArrayMarshaller`2.ManagedToUnmanagedIn | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.Runtime.InteropServices.Marshalling.ArrayMarshaller`2.ManagedToUnmanagedIn | [ObsoleteAttribute(...)] | 1 | True | -| System.Runtime.InteropServices.Marshalling.BStrStringMarshaller | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.InteropServices.Marshalling.BStrStringMarshaller | [CustomMarshallerAttribute(...)] | 0 | System.String | -| System.Runtime.InteropServices.Marshalling.BStrStringMarshaller | [CustomMarshallerAttribute(...)] | 1 | 0 | -| System.Runtime.InteropServices.Marshalling.BStrStringMarshaller | [CustomMarshallerAttribute(...)] | 1 | 1 | -| System.Runtime.InteropServices.Marshalling.BStrStringMarshaller | [CustomMarshallerAttribute(...)] | 2 | System.Runtime.InteropServices.Marshalling.BStrStringMarshaller | -| System.Runtime.InteropServices.Marshalling.BStrStringMarshaller | [CustomMarshallerAttribute(...)] | 2 | System.Runtime.InteropServices.Marshalling.BStrStringMarshaller.ManagedToUnmanagedIn | -| System.Runtime.InteropServices.Marshalling.BStrStringMarshaller.ManagedToUnmanagedIn | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.Runtime.InteropServices.Marshalling.BStrStringMarshaller.ManagedToUnmanagedIn | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.Runtime.InteropServices.Marshalling.BStrStringMarshaller.ManagedToUnmanagedIn | [ObsoleteAttribute(...)] | 1 | True | -| System.Runtime.InteropServices.Marshalling.ContiguousCollectionMarshallerAttribute | [AttributeUsageAttribute(...)] | 0 | 12 | -| System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute | [AttributeUsageAttribute(...)] | 0 | 12 | -| System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute.GenericPlaceholder | [NullableContextAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.Marshalling.MarshalUsingAttribute | [AttributeUsageAttribute(...)] | 0 | 10240 | -| System.Runtime.InteropServices.Marshalling.MarshalUsingAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.Marshalling.MarshalUsingAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.Marshalling.NativeMarshallingAttribute | [AttributeUsageAttribute(...)] | 0 | 5148 | -| System.Runtime.InteropServices.Marshalling.NativeMarshallingAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.Marshalling.NativeMarshallingAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.Marshalling.PointerArrayMarshaller`2 | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.InteropServices.Marshalling.PointerArrayMarshaller`2 | [CustomMarshallerAttribute(...)] | 0 | System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute.GenericPlaceholder* | -| System.Runtime.InteropServices.Marshalling.PointerArrayMarshaller`2 | [CustomMarshallerAttribute(...)] | 1 | 0 | -| System.Runtime.InteropServices.Marshalling.PointerArrayMarshaller`2 | [CustomMarshallerAttribute(...)] | 1 | 1 | -| System.Runtime.InteropServices.Marshalling.PointerArrayMarshaller`2 | [CustomMarshallerAttribute(...)] | 2 | System.Runtime.InteropServices.Marshalling.PointerArrayMarshaller`2 | -| System.Runtime.InteropServices.Marshalling.PointerArrayMarshaller`2 | [CustomMarshallerAttribute(...)] | 2 | System.Runtime.InteropServices.Marshalling.PointerArrayMarshaller`2.ManagedToUnmanagedIn | -| System.Runtime.InteropServices.Marshalling.PointerArrayMarshaller`2.ManagedToUnmanagedIn | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.Runtime.InteropServices.Marshalling.PointerArrayMarshaller`2.ManagedToUnmanagedIn | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.Runtime.InteropServices.Marshalling.PointerArrayMarshaller`2.ManagedToUnmanagedIn | [ObsoleteAttribute(...)] | 1 | True | -| System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2 | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2 | [CustomMarshallerAttribute(...)] | 0 | System.ReadOnlySpan`1 | -| System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2 | [CustomMarshallerAttribute(...)] | 1 | 1 | -| System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2 | [CustomMarshallerAttribute(...)] | 1 | 6 | -| System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2 | [CustomMarshallerAttribute(...)] | 2 | System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2.ManagedToUnmanagedIn | -| System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2 | [CustomMarshallerAttribute(...)] | 2 | System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2.UnmanagedToManagedOut | -| System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2.ManagedToUnmanagedIn | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2.ManagedToUnmanagedIn | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2.ManagedToUnmanagedIn | [ObsoleteAttribute(...)] | 1 | True | -| System.Runtime.InteropServices.Marshalling.SafeHandleMarshaller`1 | [CustomMarshallerAttribute(...)] | 0 | System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute.GenericPlaceholder | -| System.Runtime.InteropServices.Marshalling.SafeHandleMarshaller`1 | [CustomMarshallerAttribute(...)] | 1 | 1 | -| System.Runtime.InteropServices.Marshalling.SafeHandleMarshaller`1 | [CustomMarshallerAttribute(...)] | 1 | 2 | -| System.Runtime.InteropServices.Marshalling.SafeHandleMarshaller`1 | [CustomMarshallerAttribute(...)] | 1 | 3 | -| System.Runtime.InteropServices.Marshalling.SafeHandleMarshaller`1 | [CustomMarshallerAttribute(...)] | 2 | System.Runtime.InteropServices.Marshalling.SafeHandleMarshaller`1.ManagedToUnmanagedIn | -| System.Runtime.InteropServices.Marshalling.SafeHandleMarshaller`1 | [CustomMarshallerAttribute(...)] | 2 | System.Runtime.InteropServices.Marshalling.SafeHandleMarshaller`1.ManagedToUnmanagedOut | -| System.Runtime.InteropServices.Marshalling.SafeHandleMarshaller`1 | [CustomMarshallerAttribute(...)] | 2 | System.Runtime.InteropServices.Marshalling.SafeHandleMarshaller`1.ManagedToUnmanagedRef | -| System.Runtime.InteropServices.Marshalling.SafeHandleMarshaller`1.ManagedToUnmanagedRef | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.Marshalling.SafeHandleMarshaller`1.ManagedToUnmanagedRef | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.Marshalling.SpanMarshaller`2 | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.InteropServices.Marshalling.SpanMarshaller`2 | [CustomMarshallerAttribute(...)] | 0 | System.Span`1 | -| System.Runtime.InteropServices.Marshalling.SpanMarshaller`2 | [CustomMarshallerAttribute(...)] | 1 | 0 | -| System.Runtime.InteropServices.Marshalling.SpanMarshaller`2 | [CustomMarshallerAttribute(...)] | 1 | 1 | -| System.Runtime.InteropServices.Marshalling.SpanMarshaller`2 | [CustomMarshallerAttribute(...)] | 2 | System.Runtime.InteropServices.Marshalling.SpanMarshaller`2 | -| System.Runtime.InteropServices.Marshalling.SpanMarshaller`2 | [CustomMarshallerAttribute(...)] | 2 | System.Runtime.InteropServices.Marshalling.SpanMarshaller`2.ManagedToUnmanagedIn | -| System.Runtime.InteropServices.Marshalling.SpanMarshaller`2.ManagedToUnmanagedIn | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.Runtime.InteropServices.Marshalling.SpanMarshaller`2.ManagedToUnmanagedIn | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.Runtime.InteropServices.Marshalling.SpanMarshaller`2.ManagedToUnmanagedIn | [ObsoleteAttribute(...)] | 1 | True | -| System.Runtime.InteropServices.Marshalling.Utf8StringMarshaller | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.InteropServices.Marshalling.Utf8StringMarshaller | [CustomMarshallerAttribute(...)] | 0 | System.String | -| System.Runtime.InteropServices.Marshalling.Utf8StringMarshaller | [CustomMarshallerAttribute(...)] | 1 | 0 | -| System.Runtime.InteropServices.Marshalling.Utf8StringMarshaller | [CustomMarshallerAttribute(...)] | 1 | 1 | -| System.Runtime.InteropServices.Marshalling.Utf8StringMarshaller | [CustomMarshallerAttribute(...)] | 2 | System.Runtime.InteropServices.Marshalling.Utf8StringMarshaller | -| System.Runtime.InteropServices.Marshalling.Utf8StringMarshaller | [CustomMarshallerAttribute(...)] | 2 | System.Runtime.InteropServices.Marshalling.Utf8StringMarshaller.ManagedToUnmanagedIn | -| System.Runtime.InteropServices.Marshalling.Utf8StringMarshaller.ManagedToUnmanagedIn | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.Runtime.InteropServices.Marshalling.Utf8StringMarshaller.ManagedToUnmanagedIn | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.Runtime.InteropServices.Marshalling.Utf8StringMarshaller.ManagedToUnmanagedIn | [ObsoleteAttribute(...)] | 1 | True | -| System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller | [CustomMarshallerAttribute(...)] | 0 | System.String | -| System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller | [CustomMarshallerAttribute(...)] | 1 | 0 | -| System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller | [CustomMarshallerAttribute(...)] | 2 | System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.CreateChecked`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.CreateSaturating`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.CreateTruncating`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.Parse(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.Parse(System.String,System.Globalization.NumberStyles) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.Parse(System.String,System.Globalization.NumberStyles,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.Parse(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.op_Explicit(System.UInt128) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.op_Implicit(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.op_Implicit(System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.op_Implicit(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.op_Implicit(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.InteropServices.NFloat System.Runtime.InteropServices.NFloat.op_Implicit(System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.InteropServices.NativeLibrary | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.NativeLibrary | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.OSPlatform | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.OSPlatform | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ObjectiveC.ObjectiveCMarshal.UnhandledExceptionPropagationHandler | [NullableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.ObjectiveC.ObjectiveCTrackedTypeAttribute | [AttributeUsageAttribute(...)] | 0 | 4 | -| System.Runtime.InteropServices.ObjectiveC.ObjectiveCTrackedTypeAttribute | [SupportedOSPlatformAttribute(...)] | 0 | macos | -| System.Runtime.InteropServices.OptionalAttribute | [AttributeUsageAttribute(...)] | 0 | 2048 | -| System.Runtime.InteropServices.OutAttribute | [AttributeUsageAttribute(...)] | 0 | 2048 | -| System.Runtime.InteropServices.PosixSignal.SIGCHLD | [UnsupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Runtime.InteropServices.PosixSignal.SIGCONT | [UnsupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Runtime.InteropServices.PosixSignal.SIGTSTP | [UnsupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Runtime.InteropServices.PosixSignal.SIGTTIN | [UnsupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Runtime.InteropServices.PosixSignal.SIGTTOU | [UnsupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Runtime.InteropServices.PosixSignal.SIGWINCH | [UnsupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Runtime.InteropServices.PosixSignalRegistration System.Runtime.InteropServices.PosixSignalRegistration.Create(System.Runtime.InteropServices.PosixSignal,System.Action<System.Runtime.InteropServices.PosixSignalContext>) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.PosixSignalRegistration System.Runtime.InteropServices.PosixSignalRegistration.Create(System.Runtime.InteropServices.PosixSignal,System.Action<System.Runtime.InteropServices.PosixSignalContext>) | [UnsupportedOSPlatformAttribute(...)] | 0 | android | -| System.Runtime.InteropServices.PosixSignalRegistration System.Runtime.InteropServices.PosixSignalRegistration.Create(System.Runtime.InteropServices.PosixSignal,System.Action<System.Runtime.InteropServices.PosixSignalContext>) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Runtime.InteropServices.PosixSignalRegistration System.Runtime.InteropServices.PosixSignalRegistration.Create(System.Runtime.InteropServices.PosixSignal,System.Action<System.Runtime.InteropServices.PosixSignalContext>) | [UnsupportedOSPlatformAttribute(...)] | 0 | ios | -| System.Runtime.InteropServices.PosixSignalRegistration System.Runtime.InteropServices.PosixSignalRegistration.Create(System.Runtime.InteropServices.PosixSignal,System.Action<System.Runtime.InteropServices.PosixSignalContext>) | [UnsupportedOSPlatformAttribute(...)] | 0 | tvos | -| System.Runtime.InteropServices.PreserveSigAttribute | [AttributeUsageAttribute(...)] | 0 | 64 | -| System.Runtime.InteropServices.ProgIdAttribute | [AttributeUsageAttribute(...)] | 0 | 4 | -| System.Runtime.InteropServices.ProgIdAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.ProgIdAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.RuntimeInformation | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.RuntimeInformation | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.SEHException | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.SEHException | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.InteropServices.SEHException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Runtime.InteropServices.SafeArrayRankMismatchException | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.SafeArrayRankMismatchException | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.InteropServices.SafeArrayRankMismatchException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Runtime.InteropServices.SafeArrayTypeMismatchException | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.SafeArrayTypeMismatchException | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.InteropServices.SafeArrayTypeMismatchException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Runtime.InteropServices.SafeHandle System.Threading.ThreadPoolBoundHandle.Handle | [NullableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.SafeHandle System.Threading.ThreadPoolBoundHandle.get_Handle() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.StructLayoutAttribute | [AttributeUsageAttribute(...)] | 0 | 12 | -| System.Runtime.InteropServices.StructLayoutAttribute System.Type.StructLayoutAttribute | [NullableAttribute(...)] | 0 | 2 | -| System.Runtime.InteropServices.StructLayoutAttribute System.Type.get_StructLayoutAttribute() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.InteropServices.SuppressGCTransitionAttribute | [AttributeUsageAttribute(...)] | 0 | 64 | -| System.Runtime.InteropServices.TypeIdentifierAttribute | [AttributeUsageAttribute(...)] | 0 | 5144 | -| System.Runtime.InteropServices.TypeIdentifierAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.TypeIdentifierAttribute | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.InteropServices.UnknownWrapper | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.UnknownWrapper | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.UnknownWrapper | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.InteropServices.UnmanagedCallConvAttribute | [AttributeUsageAttribute(...)] | 0 | 64 | -| System.Runtime.InteropServices.UnmanagedCallConvAttribute.CallConvs | [NullableAttribute(...)] | 0 | [2,1] | -| System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute | [AttributeUsageAttribute(...)] | 0 | 64 | -| System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute.CallConvs | [NullableAttribute(...)] | 0 | [2,1] | -| System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute.EntryPoint | [NullableAttribute(...)] | 0 | 2 | -| System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute | [AttributeUsageAttribute(...)] | 0 | 4096 | -| System.Runtime.InteropServices.UnmanagedType.AnsiBStr | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.UnmanagedType.AnsiBStr | [ObsoleteAttribute(...)] | 0 | Marshalling as AnsiBStr may be unavailable in future releases. | -| System.Runtime.InteropServices.UnmanagedType.AsAny | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.UnmanagedType.AsAny | [ObsoleteAttribute(...)] | 0 | Marshalling arbitrary types may be unavailable in future releases. Specify the type you wish to marshal as. | -| System.Runtime.InteropServices.UnmanagedType.Currency | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.UnmanagedType.Currency | [ObsoleteAttribute(...)] | 0 | Marshalling as Currency may be unavailable in future releases. | -| System.Runtime.InteropServices.UnmanagedType.IDispatch | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.UnmanagedType.SafeArray | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.UnmanagedType.Struct | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.UnmanagedType.TBStr | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.UnmanagedType.TBStr | [ObsoleteAttribute(...)] | 0 | Marshalling as TBstr may be unavailable in future releases. | -| System.Runtime.InteropServices.UnmanagedType.VBByRefStr | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.UnmanagedType.VBByRefStr | [ObsoleteAttribute(...)] | 0 | Marshalling as VBByRefString may be unavailable in future releases. | -| System.Runtime.InteropServices.UnmanagedType.VariantBool | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.VarEnum | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.VariantWrapper | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.InteropServices.VariantWrapper | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.InteropServices.VariantWrapper | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Arm.AdvSimd | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Arm.Aes | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Arm.ArmBase | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Arm.Crc32 | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Arm.Dp | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Arm.Rdm | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Arm.Sha1 | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Arm.Sha256 | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<!0> | [NullableAttribute(...)] | 0 | [0,1] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.Abs`1(System.Runtime.Intrinsics.Vector64<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.Add`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.AndNot`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.BitwiseAnd`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.BitwiseOr`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.ConditionalSelect`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.CreateScalarUnsafe`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.CreateScalar`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.Create`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.Create`1(!0[]) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.Create`1(!0[],System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.Create`1(System.ReadOnlySpan<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.Divide`1(System.Runtime.Intrinsics.Vector64<!0>,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.Divide`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.Equals`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.GreaterThanOrEqual`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.GreaterThan`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.LessThanOrEqual`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.LessThan`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.LoadAlignedNonTemporal`1(!0*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.LoadAlignedNonTemporal`1(!0*) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.LoadAligned`1(!0*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.LoadAligned`1(!0*) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.LoadUnsafe`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.LoadUnsafe`1(!0,System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.LoadUnsafe`1(!0,System.UIntPtr) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.Load`1(!0*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.Load`1(!0*) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.Max`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.Min`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.Multiply`1(!0,System.Runtime.Intrinsics.Vector64<!0>) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.Multiply`1(System.Runtime.Intrinsics.Vector64<!0>,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.Multiply`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.Negate`1(System.Runtime.Intrinsics.Vector64<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.OnesComplement`1(System.Runtime.Intrinsics.Vector64<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.Sqrt`1(System.Runtime.Intrinsics.Vector64<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.Subtract`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.WithElement`1(System.Runtime.Intrinsics.Vector64<!0>,System.Int32,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64.Xor`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64`1.AllBitsSet | [NullableAttribute(...)] | 0 | [0,1] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64`1.One | [NullableAttribute(...)] | 0 | [0,1] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector64`1.Zero | [NullableAttribute(...)] | 0 | [0,1] | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector128.GetLower`1(System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector64<!0> System.Runtime.Intrinsics.Vector128.GetUpper`1(System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector64<!1> System.Runtime.Intrinsics.Vector64.As`2(System.Runtime.Intrinsics.Vector64<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector64<System.Byte> System.Runtime.Intrinsics.Vector64.Narrow(System.Runtime.Intrinsics.Vector64<System.UInt16>,System.Runtime.Intrinsics.Vector64<System.UInt16>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.Double> System.Runtime.Intrinsics.Vector64.ConvertToDouble(System.Runtime.Intrinsics.Vector64<System.UInt64>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.Int16> System.Runtime.Intrinsics.Vector64.WidenLower(System.Runtime.Intrinsics.Vector64<System.SByte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.Int16> System.Runtime.Intrinsics.Vector64.WidenUpper(System.Runtime.Intrinsics.Vector64<System.SByte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.SByte> System.Runtime.Intrinsics.Vector64.AsSByte`1(System.Runtime.Intrinsics.Vector64<!0>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.SByte> System.Runtime.Intrinsics.Vector64.Create(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.SByte> System.Runtime.Intrinsics.Vector64.Create(System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.SByte> System.Runtime.Intrinsics.Vector64.CreateScalar(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.SByte> System.Runtime.Intrinsics.Vector64.CreateScalarUnsafe(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.SByte> System.Runtime.Intrinsics.Vector64.Narrow(System.Runtime.Intrinsics.Vector64<System.Int16>,System.Runtime.Intrinsics.Vector64<System.Int16>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.SByte> System.Runtime.Intrinsics.Vector64.ShiftLeft(System.Runtime.Intrinsics.Vector64<System.SByte>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.SByte> System.Runtime.Intrinsics.Vector64.ShiftRightArithmetic(System.Runtime.Intrinsics.Vector64<System.SByte>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.SByte> System.Runtime.Intrinsics.Vector64.ShiftRightLogical(System.Runtime.Intrinsics.Vector64<System.SByte>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.SByte> System.Runtime.Intrinsics.Vector64.Shuffle(System.Runtime.Intrinsics.Vector64<System.SByte>,System.Runtime.Intrinsics.Vector64<System.SByte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.Single> System.Runtime.Intrinsics.Vector64.ConvertToSingle(System.Runtime.Intrinsics.Vector64<System.UInt32>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.UInt16> System.Runtime.Intrinsics.Vector64.AsUInt16`1(System.Runtime.Intrinsics.Vector64<!0>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.UInt16> System.Runtime.Intrinsics.Vector64.Create(System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.UInt16> System.Runtime.Intrinsics.Vector64.Create(System.UInt16,System.UInt16,System.UInt16,System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.UInt16> System.Runtime.Intrinsics.Vector64.CreateScalar(System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.UInt16> System.Runtime.Intrinsics.Vector64.CreateScalarUnsafe(System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.UInt16> System.Runtime.Intrinsics.Vector64.Narrow(System.Runtime.Intrinsics.Vector64<System.UInt32>,System.Runtime.Intrinsics.Vector64<System.UInt32>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.UInt16> System.Runtime.Intrinsics.Vector64.ShiftLeft(System.Runtime.Intrinsics.Vector64<System.UInt16>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.UInt16> System.Runtime.Intrinsics.Vector64.ShiftRightLogical(System.Runtime.Intrinsics.Vector64<System.UInt16>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.UInt16> System.Runtime.Intrinsics.Vector64.Shuffle(System.Runtime.Intrinsics.Vector64<System.UInt16>,System.Runtime.Intrinsics.Vector64<System.UInt16>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.UInt16> System.Runtime.Intrinsics.Vector64.WidenLower(System.Runtime.Intrinsics.Vector64<System.Byte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.UInt16> System.Runtime.Intrinsics.Vector64.WidenUpper(System.Runtime.Intrinsics.Vector64<System.Byte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.UInt32> System.Runtime.Intrinsics.Vector64.AsUInt32`1(System.Runtime.Intrinsics.Vector64<!0>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.UInt32> System.Runtime.Intrinsics.Vector64.ConvertToUInt32(System.Runtime.Intrinsics.Vector64<System.Single>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.UInt32> System.Runtime.Intrinsics.Vector64.Create(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.UInt32> System.Runtime.Intrinsics.Vector64.Create(System.UInt32,System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.UInt32> System.Runtime.Intrinsics.Vector64.CreateScalar(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.UInt32> System.Runtime.Intrinsics.Vector64.CreateScalarUnsafe(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.UInt32> System.Runtime.Intrinsics.Vector64.Narrow(System.Runtime.Intrinsics.Vector64<System.UInt64>,System.Runtime.Intrinsics.Vector64<System.UInt64>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.UInt32> System.Runtime.Intrinsics.Vector64.ShiftLeft(System.Runtime.Intrinsics.Vector64<System.UInt32>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.UInt32> System.Runtime.Intrinsics.Vector64.ShiftRightLogical(System.Runtime.Intrinsics.Vector64<System.UInt32>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.UInt32> System.Runtime.Intrinsics.Vector64.Shuffle(System.Runtime.Intrinsics.Vector64<System.UInt32>,System.Runtime.Intrinsics.Vector64<System.UInt32>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.UInt32> System.Runtime.Intrinsics.Vector64.WidenLower(System.Runtime.Intrinsics.Vector64<System.UInt16>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.UInt32> System.Runtime.Intrinsics.Vector64.WidenUpper(System.Runtime.Intrinsics.Vector64<System.UInt16>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.UInt64> System.Runtime.Intrinsics.Vector64.AsUInt64`1(System.Runtime.Intrinsics.Vector64<!0>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.UInt64> System.Runtime.Intrinsics.Vector64.ConvertToUInt64(System.Runtime.Intrinsics.Vector64<System.Double>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.UInt64> System.Runtime.Intrinsics.Vector64.Create(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.UInt64> System.Runtime.Intrinsics.Vector64.CreateScalar(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.UInt64> System.Runtime.Intrinsics.Vector64.CreateScalarUnsafe(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.UInt64> System.Runtime.Intrinsics.Vector64.ShiftLeft(System.Runtime.Intrinsics.Vector64<System.UInt64>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.UInt64> System.Runtime.Intrinsics.Vector64.ShiftRightLogical(System.Runtime.Intrinsics.Vector64<System.UInt64>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.UInt64> System.Runtime.Intrinsics.Vector64.WidenLower(System.Runtime.Intrinsics.Vector64<System.UInt32>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.UInt64> System.Runtime.Intrinsics.Vector64.WidenUpper(System.Runtime.Intrinsics.Vector64<System.UInt32>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.UIntPtr> System.Runtime.Intrinsics.Vector64.AsNUInt`1(System.Runtime.Intrinsics.Vector64<!0>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.UIntPtr> System.Runtime.Intrinsics.Vector64.Create(System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.UIntPtr> System.Runtime.Intrinsics.Vector64.CreateScalar(System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.UIntPtr> System.Runtime.Intrinsics.Vector64.CreateScalarUnsafe(System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.UIntPtr> System.Runtime.Intrinsics.Vector64.ShiftLeft(System.Runtime.Intrinsics.Vector64<System.UIntPtr>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64<System.UIntPtr> System.Runtime.Intrinsics.Vector64.ShiftRightLogical(System.Runtime.Intrinsics.Vector64<System.UIntPtr>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector64`1 | [DebuggerDisplayAttribute(...)] | 0 | {DisplayString,nq} | -| System.Runtime.Intrinsics.Vector64`1 | [DebuggerTypeProxyAttribute(...)] | 0 | System.Runtime.Intrinsics.Vector64DebugView`1 | -| System.Runtime.Intrinsics.Vector64`1 | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Runtime.Intrinsics.Vector64`1 | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.Intrinsics.Vector64`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector128<!0> | [NullableAttribute(...)] | 0 | [0,1] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector64.ToVector128Unsafe`1(System.Runtime.Intrinsics.Vector64<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector64.ToVector128`1(System.Runtime.Intrinsics.Vector64<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.Abs`1(System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.Add`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.AndNot`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.AsVector128`1(System.Numerics.Vector<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.BitwiseAnd`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.BitwiseOr`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.ConditionalSelect`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.CreateScalarUnsafe`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.CreateScalar`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.Create`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.Create`1(!0[]) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.Create`1(!0[],System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.Create`1(System.ReadOnlySpan<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.Create`1(System.Runtime.Intrinsics.Vector64<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.Divide`1(System.Runtime.Intrinsics.Vector128<!0>,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.Divide`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.Equals`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.GreaterThanOrEqual`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.GreaterThan`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.LessThanOrEqual`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.LessThan`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.LoadAlignedNonTemporal`1(!0*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.LoadAlignedNonTemporal`1(!0*) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.LoadAligned`1(!0*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.LoadAligned`1(!0*) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.LoadUnsafe`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.LoadUnsafe`1(!0,System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.LoadUnsafe`1(!0,System.UIntPtr) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.Load`1(!0*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.Load`1(!0*) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.Max`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.Min`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.Multiply`1(!0,System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.Multiply`1(System.Runtime.Intrinsics.Vector128<!0>,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.Multiply`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.Negate`1(System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.OnesComplement`1(System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.Sqrt`1(System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.Subtract`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.WithElement`1(System.Runtime.Intrinsics.Vector128<!0>,System.Int32,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.WithLower`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.WithUpper`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector64<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128.Xor`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128`1.AllBitsSet | [NullableAttribute(...)] | 0 | [0,1] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128`1.One | [NullableAttribute(...)] | 0 | [0,1] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector128`1.Zero | [NullableAttribute(...)] | 0 | [0,1] | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector256.GetLower`1(System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector128<!0> System.Runtime.Intrinsics.Vector256.GetUpper`1(System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector128<!1> System.Runtime.Intrinsics.Vector128.As`2(System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Buffers.IndexOfAnyAsciiSearcher.Default.PackSources(System.Runtime.Intrinsics.Vector128<System.UInt16>,System.Runtime.Intrinsics.Vector128<System.UInt16>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.Arm.AdvSimd | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Buffers.IndexOfAnyAsciiSearcher.Default.PackSources(System.Runtime.Intrinsics.Vector128<System.UInt16>,System.Runtime.Intrinsics.Vector128<System.UInt16>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.Wasm.PackedSimd | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Buffers.IndexOfAnyAsciiSearcher.Default.PackSources(System.Runtime.Intrinsics.Vector128<System.UInt16>,System.Runtime.Intrinsics.Vector128<System.UInt16>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Sse2 | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyLookupCore(System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.Arm.AdvSimd | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyLookupCore(System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.Wasm.PackedSimd | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyLookupCore(System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Ssse3 | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyLookup`1(System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.Arm.AdvSimd | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyLookup`1(System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.Wasm.PackedSimd | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyLookup`1(System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Ssse3 | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyLookup`2(System.Runtime.Intrinsics.Vector128<System.Int16>,System.Runtime.Intrinsics.Vector128<System.Int16>,System.Runtime.Intrinsics.Vector128<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.Arm.AdvSimd | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyLookup`2(System.Runtime.Intrinsics.Vector128<System.Int16>,System.Runtime.Intrinsics.Vector128<System.Int16>,System.Runtime.Intrinsics.Vector128<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.Wasm.PackedSimd | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyLookup`2(System.Runtime.Intrinsics.Vector128<System.Int16>,System.Runtime.Intrinsics.Vector128<System.Int16>,System.Runtime.Intrinsics.Vector128<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Sse2 | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Buffers.IndexOfAnyAsciiSearcher.Ssse3AndWasmHandleZeroInNeedle.PackSources(System.Runtime.Intrinsics.Vector128<System.UInt16>,System.Runtime.Intrinsics.Vector128<System.UInt16>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.Wasm.PackedSimd | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Buffers.IndexOfAnyAsciiSearcher.Ssse3AndWasmHandleZeroInNeedle.PackSources(System.Runtime.Intrinsics.Vector128<System.UInt16>,System.Runtime.Intrinsics.Vector128<System.UInt16>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Sse2 | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Buffers.ProbabilisticMap.ContainsMask16Chars(System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>,System.Char) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.Arm.AdvSimd.Arm64 | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Buffers.ProbabilisticMap.ContainsMask16Chars(System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>,System.Char) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Sse2 | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Buffers.ProbabilisticMap.IsCharBitSet(System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.Arm.AdvSimd | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Buffers.ProbabilisticMap.IsCharBitSet(System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.Arm.AdvSimd.Arm64 | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Buffers.ProbabilisticMap.IsCharBitSet(System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.Wasm.PackedSimd | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Buffers.ProbabilisticMap.IsCharBitSet(System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Sse2 | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Buffers.ProbabilisticMap.IsCharBitSet(System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Ssse3 | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Buffers.Text.Base64.SimdShuffle(System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.Arm.AdvSimd.Arm64 | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Buffers.Text.Base64.SimdShuffle(System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Ssse3 | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.PackedSpanHelpers.PackSources(System.Runtime.Intrinsics.Vector128<System.Int16>,System.Runtime.Intrinsics.Vector128<System.Int16>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Sse2 | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Runtime.Intrinsics.Vector128.AddSaturate(System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.Arm.AdvSimd.Arm64 | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Runtime.Intrinsics.Vector128.AddSaturate(System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Sse2 | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Runtime.Intrinsics.Vector128.Narrow(System.Runtime.Intrinsics.Vector128<System.UInt16>,System.Runtime.Intrinsics.Vector128<System.UInt16>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Runtime.Intrinsics.Vector128.ShuffleUnsafe(System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.Arm.AdvSimd | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Runtime.Intrinsics.Vector128.ShuffleUnsafe(System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.Arm.AdvSimd.Arm64 | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Runtime.Intrinsics.Vector128.ShuffleUnsafe(System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.Wasm.PackedSimd | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Runtime.Intrinsics.Vector128.ShuffleUnsafe(System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Ssse3 | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Runtime.Intrinsics.Vector128.SubtractSaturate(System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.Arm.AdvSimd.Arm64 | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Runtime.Intrinsics.Vector128.SubtractSaturate(System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Sse2 | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Runtime.Intrinsics.Vector128.UnpackHigh(System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.Arm.AdvSimd.Arm64 | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Runtime.Intrinsics.Vector128.UnpackHigh(System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Sse2 | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Runtime.Intrinsics.Vector128.UnpackLow(System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.Arm.AdvSimd.Arm64 | -| System.Runtime.Intrinsics.Vector128<System.Byte> System.Runtime.Intrinsics.Vector128.UnpackLow(System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Sse2 | -| System.Runtime.Intrinsics.Vector128<System.Double> System.Runtime.Intrinsics.Vector128.ConvertToDouble(System.Runtime.Intrinsics.Vector128<System.UInt64>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.Int16> System.Runtime.Intrinsics.Vector128.WidenLower(System.Runtime.Intrinsics.Vector128<System.SByte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.Int16> System.Runtime.Intrinsics.Vector128.WidenUpper(System.Runtime.Intrinsics.Vector128<System.SByte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.SByte> System.Runtime.Intrinsics.Vector128.AsSByte`1(System.Runtime.Intrinsics.Vector128<!0>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.SByte> System.Runtime.Intrinsics.Vector128.Create(System.Runtime.Intrinsics.Vector64<System.SByte>,System.Runtime.Intrinsics.Vector64<System.SByte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.SByte> System.Runtime.Intrinsics.Vector128.Create(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.SByte> System.Runtime.Intrinsics.Vector128.Create(System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.SByte> System.Runtime.Intrinsics.Vector128.CreateScalar(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.SByte> System.Runtime.Intrinsics.Vector128.CreateScalarUnsafe(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.SByte> System.Runtime.Intrinsics.Vector128.Narrow(System.Runtime.Intrinsics.Vector128<System.Int16>,System.Runtime.Intrinsics.Vector128<System.Int16>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.SByte> System.Runtime.Intrinsics.Vector128.ShiftLeft(System.Runtime.Intrinsics.Vector128<System.SByte>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.SByte> System.Runtime.Intrinsics.Vector128.ShiftRightArithmetic(System.Runtime.Intrinsics.Vector128<System.SByte>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.SByte> System.Runtime.Intrinsics.Vector128.ShiftRightLogical(System.Runtime.Intrinsics.Vector128<System.SByte>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.SByte> System.Runtime.Intrinsics.Vector128.Shuffle(System.Runtime.Intrinsics.Vector128<System.SByte>,System.Runtime.Intrinsics.Vector128<System.SByte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.Single> System.Runtime.Intrinsics.Vector128.ConvertToSingle(System.Runtime.Intrinsics.Vector128<System.UInt32>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UInt16> System.Runtime.Intrinsics.Vector128.AddSaturate(System.Runtime.Intrinsics.Vector128<System.UInt16>,System.Runtime.Intrinsics.Vector128<System.UInt16>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.Arm.AdvSimd.Arm64 | -| System.Runtime.Intrinsics.Vector128<System.UInt16> System.Runtime.Intrinsics.Vector128.AddSaturate(System.Runtime.Intrinsics.Vector128<System.UInt16>,System.Runtime.Intrinsics.Vector128<System.UInt16>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Sse2 | -| System.Runtime.Intrinsics.Vector128<System.UInt16> System.Runtime.Intrinsics.Vector128.AsUInt16`1(System.Runtime.Intrinsics.Vector128<!0>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UInt16> System.Runtime.Intrinsics.Vector128.Create(System.Runtime.Intrinsics.Vector64<System.UInt16>,System.Runtime.Intrinsics.Vector64<System.UInt16>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UInt16> System.Runtime.Intrinsics.Vector128.Create(System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UInt16> System.Runtime.Intrinsics.Vector128.Create(System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UInt16> System.Runtime.Intrinsics.Vector128.CreateScalar(System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UInt16> System.Runtime.Intrinsics.Vector128.CreateScalarUnsafe(System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UInt16> System.Runtime.Intrinsics.Vector128.Narrow(System.Runtime.Intrinsics.Vector128<System.UInt32>,System.Runtime.Intrinsics.Vector128<System.UInt32>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UInt16> System.Runtime.Intrinsics.Vector128.ShiftLeft(System.Runtime.Intrinsics.Vector128<System.UInt16>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UInt16> System.Runtime.Intrinsics.Vector128.ShiftRightLogical(System.Runtime.Intrinsics.Vector128<System.UInt16>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UInt16> System.Runtime.Intrinsics.Vector128.Shuffle(System.Runtime.Intrinsics.Vector128<System.UInt16>,System.Runtime.Intrinsics.Vector128<System.UInt16>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UInt16> System.Runtime.Intrinsics.Vector128.WidenLower(System.Runtime.Intrinsics.Vector128<System.Byte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UInt16> System.Runtime.Intrinsics.Vector128.WidenUpper(System.Runtime.Intrinsics.Vector128<System.Byte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UInt32> System.Runtime.Intrinsics.Vector128.AsUInt32`1(System.Runtime.Intrinsics.Vector128<!0>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UInt32> System.Runtime.Intrinsics.Vector128.ConvertToUInt32(System.Runtime.Intrinsics.Vector128<System.Single>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UInt32> System.Runtime.Intrinsics.Vector128.Create(System.Runtime.Intrinsics.Vector64<System.UInt32>,System.Runtime.Intrinsics.Vector64<System.UInt32>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UInt32> System.Runtime.Intrinsics.Vector128.Create(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UInt32> System.Runtime.Intrinsics.Vector128.Create(System.UInt32,System.UInt32,System.UInt32,System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UInt32> System.Runtime.Intrinsics.Vector128.CreateScalar(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UInt32> System.Runtime.Intrinsics.Vector128.CreateScalarUnsafe(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UInt32> System.Runtime.Intrinsics.Vector128.Narrow(System.Runtime.Intrinsics.Vector128<System.UInt64>,System.Runtime.Intrinsics.Vector128<System.UInt64>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UInt32> System.Runtime.Intrinsics.Vector128.ShiftLeft(System.Runtime.Intrinsics.Vector128<System.UInt32>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UInt32> System.Runtime.Intrinsics.Vector128.ShiftRightLogical(System.Runtime.Intrinsics.Vector128<System.UInt32>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UInt32> System.Runtime.Intrinsics.Vector128.Shuffle(System.Runtime.Intrinsics.Vector128<System.UInt32>,System.Runtime.Intrinsics.Vector128<System.UInt32>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UInt32> System.Runtime.Intrinsics.Vector128.WidenLower(System.Runtime.Intrinsics.Vector128<System.UInt16>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UInt32> System.Runtime.Intrinsics.Vector128.WidenUpper(System.Runtime.Intrinsics.Vector128<System.UInt16>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UInt64> System.Runtime.Intrinsics.Vector128.AsUInt64`1(System.Runtime.Intrinsics.Vector128<!0>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UInt64> System.Runtime.Intrinsics.Vector128.ConvertToUInt64(System.Runtime.Intrinsics.Vector128<System.Double>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UInt64> System.Runtime.Intrinsics.Vector128.Create(System.Runtime.Intrinsics.Vector64<System.UInt64>,System.Runtime.Intrinsics.Vector64<System.UInt64>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UInt64> System.Runtime.Intrinsics.Vector128.Create(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UInt64> System.Runtime.Intrinsics.Vector128.Create(System.UInt64,System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UInt64> System.Runtime.Intrinsics.Vector128.CreateScalar(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UInt64> System.Runtime.Intrinsics.Vector128.CreateScalarUnsafe(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UInt64> System.Runtime.Intrinsics.Vector128.ShiftLeft(System.Runtime.Intrinsics.Vector128<System.UInt64>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UInt64> System.Runtime.Intrinsics.Vector128.ShiftRightLogical(System.Runtime.Intrinsics.Vector128<System.UInt64>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UInt64> System.Runtime.Intrinsics.Vector128.Shuffle(System.Runtime.Intrinsics.Vector128<System.UInt64>,System.Runtime.Intrinsics.Vector128<System.UInt64>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UInt64> System.Runtime.Intrinsics.Vector128.WidenLower(System.Runtime.Intrinsics.Vector128<System.UInt32>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UInt64> System.Runtime.Intrinsics.Vector128.WidenUpper(System.Runtime.Intrinsics.Vector128<System.UInt32>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UIntPtr> System.Runtime.Intrinsics.Vector128.AsNUInt`1(System.Runtime.Intrinsics.Vector128<!0>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UIntPtr> System.Runtime.Intrinsics.Vector128.Create(System.Runtime.Intrinsics.Vector64<System.UIntPtr>,System.Runtime.Intrinsics.Vector64<System.UIntPtr>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UIntPtr> System.Runtime.Intrinsics.Vector128.Create(System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UIntPtr> System.Runtime.Intrinsics.Vector128.CreateScalar(System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UIntPtr> System.Runtime.Intrinsics.Vector128.CreateScalarUnsafe(System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UIntPtr> System.Runtime.Intrinsics.Vector128.ShiftLeft(System.Runtime.Intrinsics.Vector128<System.UIntPtr>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128<System.UIntPtr> System.Runtime.Intrinsics.Vector128.ShiftRightLogical(System.Runtime.Intrinsics.Vector128<System.UIntPtr>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector128`1 | [DebuggerDisplayAttribute(...)] | 0 | {DisplayString,nq} | -| System.Runtime.Intrinsics.Vector128`1 | [DebuggerTypeProxyAttribute(...)] | 0 | System.Runtime.Intrinsics.Vector128DebugView`1 | -| System.Runtime.Intrinsics.Vector128`1 | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Runtime.Intrinsics.Vector128`1 | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.Intrinsics.Vector128`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector256<!0> | [NullableAttribute(...)] | 0 | [0,1] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector128.ToVector256Unsafe`1(System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector128.ToVector256`1(System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.Abs`1(System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.Add`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.AndNot`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.AsVector256`1(System.Numerics.Vector<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.BitwiseAnd`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.BitwiseOr`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.ConditionalSelect`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.CreateScalarUnsafe`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.CreateScalar`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.Create`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.Create`1(!0[]) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.Create`1(!0[],System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.Create`1(System.ReadOnlySpan<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.Create`1(System.Runtime.Intrinsics.Vector128<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.Divide`1(System.Runtime.Intrinsics.Vector256<!0>,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.Divide`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.Equals`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.GreaterThanOrEqual`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.GreaterThan`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.LessThanOrEqual`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.LessThan`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.LoadAlignedNonTemporal`1(!0*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.LoadAlignedNonTemporal`1(!0*) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.LoadAligned`1(!0*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.LoadAligned`1(!0*) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.LoadUnsafe`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.LoadUnsafe`1(!0,System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.LoadUnsafe`1(!0,System.UIntPtr) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.Load`1(!0*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.Load`1(!0*) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.Max`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.Min`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.Multiply`1(!0,System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.Multiply`1(System.Runtime.Intrinsics.Vector256<!0>,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.Multiply`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.Negate`1(System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.OnesComplement`1(System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.Sqrt`1(System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.Subtract`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.WithElement`1(System.Runtime.Intrinsics.Vector256<!0>,System.Int32,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.WithLower`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.WithUpper`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256.Xor`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256`1.AllBitsSet | [NullableAttribute(...)] | 0 | [0,1] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256`1.One | [NullableAttribute(...)] | 0 | [0,1] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector256`1.Zero | [NullableAttribute(...)] | 0 | [0,1] | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector512.GetLower`1(System.Runtime.Intrinsics.Vector512<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector256<!0> System.Runtime.Intrinsics.Vector512.GetUpper`1(System.Runtime.Intrinsics.Vector512<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector256<!1> System.Runtime.Intrinsics.Vector256.As`2(System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector256<System.Byte> System.Buffers.IndexOfAnyAsciiSearcher.Default.PackSources(System.Runtime.Intrinsics.Vector256<System.UInt16>,System.Runtime.Intrinsics.Vector256<System.UInt16>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Avx2 | -| System.Runtime.Intrinsics.Vector256<System.Byte> System.Buffers.IndexOfAnyAsciiSearcher.FixUpPackedVector256Result(System.Runtime.Intrinsics.Vector256<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Avx2 | -| System.Runtime.Intrinsics.Vector256<System.Byte> System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyLookupCore(System.Runtime.Intrinsics.Vector256<System.Byte>,System.Runtime.Intrinsics.Vector256<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Avx2 | -| System.Runtime.Intrinsics.Vector256<System.Byte> System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyLookup`1(System.Runtime.Intrinsics.Vector256<System.Byte>,System.Runtime.Intrinsics.Vector256<System.Byte>,System.Runtime.Intrinsics.Vector256<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Avx2 | -| System.Runtime.Intrinsics.Vector256<System.Byte> System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyLookup`2(System.Runtime.Intrinsics.Vector256<System.Int16>,System.Runtime.Intrinsics.Vector256<System.Int16>,System.Runtime.Intrinsics.Vector256<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Avx2 | -| System.Runtime.Intrinsics.Vector256<System.Byte> System.Buffers.IndexOfAnyAsciiSearcher.Ssse3AndWasmHandleZeroInNeedle.PackSources(System.Runtime.Intrinsics.Vector256<System.UInt16>,System.Runtime.Intrinsics.Vector256<System.UInt16>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Avx2 | -| System.Runtime.Intrinsics.Vector256<System.Byte> System.Buffers.ProbabilisticMap.ContainsMask32CharsAvx2(System.Runtime.Intrinsics.Vector256<System.Byte>,System.Runtime.Intrinsics.Vector256<System.Byte>,System.Char) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Avx2 | -| System.Runtime.Intrinsics.Vector256<System.Byte> System.Buffers.ProbabilisticMap.IsCharBitSetAvx2(System.Runtime.Intrinsics.Vector256<System.Byte>,System.Runtime.Intrinsics.Vector256<System.Byte>,System.Runtime.Intrinsics.Vector256<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Avx2 | -| System.Runtime.Intrinsics.Vector256<System.Byte> System.PackedSpanHelpers.FixUpPackedVector256Result(System.Runtime.Intrinsics.Vector256<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Avx2 | -| System.Runtime.Intrinsics.Vector256<System.Byte> System.PackedSpanHelpers.PackSources(System.Runtime.Intrinsics.Vector256<System.Int16>,System.Runtime.Intrinsics.Vector256<System.Int16>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Avx2 | -| System.Runtime.Intrinsics.Vector256<System.Byte> System.Runtime.Intrinsics.Vector256.Narrow(System.Runtime.Intrinsics.Vector256<System.UInt16>,System.Runtime.Intrinsics.Vector256<System.UInt16>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.Double> System.Runtime.Intrinsics.Vector256.ConvertToDouble(System.Runtime.Intrinsics.Vector256<System.UInt64>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.Int16> System.Runtime.Intrinsics.Vector256.WidenLower(System.Runtime.Intrinsics.Vector256<System.SByte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.Int16> System.Runtime.Intrinsics.Vector256.WidenUpper(System.Runtime.Intrinsics.Vector256<System.SByte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.SByte> System.Runtime.Intrinsics.Vector256.AsSByte`1(System.Runtime.Intrinsics.Vector256<!0>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.SByte> System.Runtime.Intrinsics.Vector256.Create(System.Runtime.Intrinsics.Vector128<System.SByte>,System.Runtime.Intrinsics.Vector128<System.SByte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.SByte> System.Runtime.Intrinsics.Vector256.Create(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.SByte> System.Runtime.Intrinsics.Vector256.Create(System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.SByte> System.Runtime.Intrinsics.Vector256.CreateScalar(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.SByte> System.Runtime.Intrinsics.Vector256.CreateScalarUnsafe(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.SByte> System.Runtime.Intrinsics.Vector256.Narrow(System.Runtime.Intrinsics.Vector256<System.Int16>,System.Runtime.Intrinsics.Vector256<System.Int16>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.SByte> System.Runtime.Intrinsics.Vector256.ShiftLeft(System.Runtime.Intrinsics.Vector256<System.SByte>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.SByte> System.Runtime.Intrinsics.Vector256.ShiftRightArithmetic(System.Runtime.Intrinsics.Vector256<System.SByte>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.SByte> System.Runtime.Intrinsics.Vector256.ShiftRightLogical(System.Runtime.Intrinsics.Vector256<System.SByte>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.SByte> System.Runtime.Intrinsics.Vector256.Shuffle(System.Runtime.Intrinsics.Vector256<System.SByte>,System.Runtime.Intrinsics.Vector256<System.SByte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.Single> System.Runtime.Intrinsics.Vector256.ConvertToSingle(System.Runtime.Intrinsics.Vector256<System.UInt32>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UInt16> System.Runtime.Intrinsics.Vector256.AsUInt16`1(System.Runtime.Intrinsics.Vector256<!0>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UInt16> System.Runtime.Intrinsics.Vector256.Create(System.Runtime.Intrinsics.Vector128<System.UInt16>,System.Runtime.Intrinsics.Vector128<System.UInt16>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UInt16> System.Runtime.Intrinsics.Vector256.Create(System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UInt16> System.Runtime.Intrinsics.Vector256.Create(System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UInt16> System.Runtime.Intrinsics.Vector256.CreateScalar(System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UInt16> System.Runtime.Intrinsics.Vector256.CreateScalarUnsafe(System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UInt16> System.Runtime.Intrinsics.Vector256.Narrow(System.Runtime.Intrinsics.Vector256<System.UInt32>,System.Runtime.Intrinsics.Vector256<System.UInt32>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UInt16> System.Runtime.Intrinsics.Vector256.ShiftLeft(System.Runtime.Intrinsics.Vector256<System.UInt16>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UInt16> System.Runtime.Intrinsics.Vector256.ShiftRightLogical(System.Runtime.Intrinsics.Vector256<System.UInt16>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UInt16> System.Runtime.Intrinsics.Vector256.Shuffle(System.Runtime.Intrinsics.Vector256<System.UInt16>,System.Runtime.Intrinsics.Vector256<System.UInt16>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UInt16> System.Runtime.Intrinsics.Vector256.WidenLower(System.Runtime.Intrinsics.Vector256<System.Byte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UInt16> System.Runtime.Intrinsics.Vector256.WidenUpper(System.Runtime.Intrinsics.Vector256<System.Byte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UInt32> System.Runtime.Intrinsics.Vector256.AsUInt32`1(System.Runtime.Intrinsics.Vector256<!0>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UInt32> System.Runtime.Intrinsics.Vector256.ConvertToUInt32(System.Runtime.Intrinsics.Vector256<System.Single>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UInt32> System.Runtime.Intrinsics.Vector256.Create(System.Runtime.Intrinsics.Vector128<System.UInt32>,System.Runtime.Intrinsics.Vector128<System.UInt32>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UInt32> System.Runtime.Intrinsics.Vector256.Create(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UInt32> System.Runtime.Intrinsics.Vector256.Create(System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UInt32> System.Runtime.Intrinsics.Vector256.CreateScalar(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UInt32> System.Runtime.Intrinsics.Vector256.CreateScalarUnsafe(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UInt32> System.Runtime.Intrinsics.Vector256.Narrow(System.Runtime.Intrinsics.Vector256<System.UInt64>,System.Runtime.Intrinsics.Vector256<System.UInt64>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UInt32> System.Runtime.Intrinsics.Vector256.ShiftLeft(System.Runtime.Intrinsics.Vector256<System.UInt32>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UInt32> System.Runtime.Intrinsics.Vector256.ShiftRightLogical(System.Runtime.Intrinsics.Vector256<System.UInt32>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UInt32> System.Runtime.Intrinsics.Vector256.Shuffle(System.Runtime.Intrinsics.Vector256<System.UInt32>,System.Runtime.Intrinsics.Vector256<System.UInt32>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UInt32> System.Runtime.Intrinsics.Vector256.WidenLower(System.Runtime.Intrinsics.Vector256<System.UInt16>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UInt32> System.Runtime.Intrinsics.Vector256.WidenUpper(System.Runtime.Intrinsics.Vector256<System.UInt16>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UInt64> System.Runtime.Intrinsics.Vector256.AsUInt64`1(System.Runtime.Intrinsics.Vector256<!0>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UInt64> System.Runtime.Intrinsics.Vector256.ConvertToUInt64(System.Runtime.Intrinsics.Vector256<System.Double>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UInt64> System.Runtime.Intrinsics.Vector256.Create(System.Runtime.Intrinsics.Vector128<System.UInt64>,System.Runtime.Intrinsics.Vector128<System.UInt64>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UInt64> System.Runtime.Intrinsics.Vector256.Create(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UInt64> System.Runtime.Intrinsics.Vector256.Create(System.UInt64,System.UInt64,System.UInt64,System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UInt64> System.Runtime.Intrinsics.Vector256.CreateScalar(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UInt64> System.Runtime.Intrinsics.Vector256.CreateScalarUnsafe(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UInt64> System.Runtime.Intrinsics.Vector256.ShiftLeft(System.Runtime.Intrinsics.Vector256<System.UInt64>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UInt64> System.Runtime.Intrinsics.Vector256.ShiftRightLogical(System.Runtime.Intrinsics.Vector256<System.UInt64>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UInt64> System.Runtime.Intrinsics.Vector256.Shuffle(System.Runtime.Intrinsics.Vector256<System.UInt64>,System.Runtime.Intrinsics.Vector256<System.UInt64>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UInt64> System.Runtime.Intrinsics.Vector256.WidenLower(System.Runtime.Intrinsics.Vector256<System.UInt32>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UInt64> System.Runtime.Intrinsics.Vector256.WidenUpper(System.Runtime.Intrinsics.Vector256<System.UInt32>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UIntPtr> System.Runtime.Intrinsics.Vector256.AsNUInt`1(System.Runtime.Intrinsics.Vector256<!0>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UIntPtr> System.Runtime.Intrinsics.Vector256.Create(System.Runtime.Intrinsics.Vector128<System.UIntPtr>,System.Runtime.Intrinsics.Vector128<System.UIntPtr>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UIntPtr> System.Runtime.Intrinsics.Vector256.Create(System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UIntPtr> System.Runtime.Intrinsics.Vector256.CreateScalar(System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UIntPtr> System.Runtime.Intrinsics.Vector256.CreateScalarUnsafe(System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UIntPtr> System.Runtime.Intrinsics.Vector256.ShiftLeft(System.Runtime.Intrinsics.Vector256<System.UIntPtr>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256<System.UIntPtr> System.Runtime.Intrinsics.Vector256.ShiftRightLogical(System.Runtime.Intrinsics.Vector256<System.UIntPtr>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector256`1 | [DebuggerDisplayAttribute(...)] | 0 | {DisplayString,nq} | -| System.Runtime.Intrinsics.Vector256`1 | [DebuggerTypeProxyAttribute(...)] | 0 | System.Runtime.Intrinsics.Vector256DebugView`1 | -| System.Runtime.Intrinsics.Vector256`1 | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Runtime.Intrinsics.Vector256`1 | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.Intrinsics.Vector256`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector512<!0> | [NullableAttribute(...)] | 0 | [0,1] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector256.ToVector512Unsafe`1(System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector256.ToVector512`1(System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.Abs`1(System.Runtime.Intrinsics.Vector512<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.Add`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.AndNot`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.AsVector512`1(System.Numerics.Vector<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.BitwiseAnd`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.BitwiseOr`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.ConditionalSelect`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.CreateScalarUnsafe`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.CreateScalar`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.Create`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.Create`1(!0[]) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.Create`1(!0[],System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.Create`1(System.ReadOnlySpan<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.Create`1(System.Runtime.Intrinsics.Vector256<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.Divide`1(System.Runtime.Intrinsics.Vector512<!0>,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.Divide`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.Equals`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.GreaterThanOrEqual`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.GreaterThan`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.LessThanOrEqual`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.LessThan`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.LoadAlignedNonTemporal`1(!0*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.LoadAlignedNonTemporal`1(!0*) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.LoadAligned`1(!0*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.LoadAligned`1(!0*) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.LoadUnsafe`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.LoadUnsafe`1(!0,System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.LoadUnsafe`1(!0,System.UIntPtr) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.Load`1(!0*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.Load`1(!0*) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.Max`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.Min`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.Multiply`1(!0,System.Runtime.Intrinsics.Vector512<!0>) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.Multiply`1(System.Runtime.Intrinsics.Vector512<!0>,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.Multiply`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.Negate`1(System.Runtime.Intrinsics.Vector512<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.OnesComplement`1(System.Runtime.Intrinsics.Vector512<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.Sqrt`1(System.Runtime.Intrinsics.Vector512<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.Subtract`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.WithElement`1(System.Runtime.Intrinsics.Vector512<!0>,System.Int32,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.WithLower`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.WithUpper`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512.Xor`1(System.Runtime.Intrinsics.Vector512<!0>,System.Runtime.Intrinsics.Vector512<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512`1.AllBitsSet | [NullableAttribute(...)] | 0 | [0,1] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512`1.One | [NullableAttribute(...)] | 0 | [0,1] | -| System.Runtime.Intrinsics.Vector512<!0> System.Runtime.Intrinsics.Vector512`1.Zero | [NullableAttribute(...)] | 0 | [0,1] | -| System.Runtime.Intrinsics.Vector512<!1> System.Runtime.Intrinsics.Vector512.As`2(System.Runtime.Intrinsics.Vector512<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Intrinsics.Vector512<System.Byte> System.PackedSpanHelpers.FixUpPackedVector512Result(System.Runtime.Intrinsics.Vector512<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Avx512F | -| System.Runtime.Intrinsics.Vector512<System.Byte> System.PackedSpanHelpers.PackSources(System.Runtime.Intrinsics.Vector512<System.Int16>,System.Runtime.Intrinsics.Vector512<System.Int16>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Avx512BW | -| System.Runtime.Intrinsics.Vector512<System.Byte> System.Runtime.Intrinsics.Vector512.Narrow(System.Runtime.Intrinsics.Vector512<System.UInt16>,System.Runtime.Intrinsics.Vector512<System.UInt16>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.Double> System.Runtime.Intrinsics.Vector512.ConvertToDouble(System.Runtime.Intrinsics.Vector512<System.UInt64>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.Int16> System.Runtime.Intrinsics.Vector512.WidenLower(System.Runtime.Intrinsics.Vector512<System.SByte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.Int16> System.Runtime.Intrinsics.Vector512.WidenUpper(System.Runtime.Intrinsics.Vector512<System.SByte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.SByte> System.Runtime.Intrinsics.Vector512.AsSByte`1(System.Runtime.Intrinsics.Vector512<!0>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.SByte> System.Runtime.Intrinsics.Vector512.Create(System.Runtime.Intrinsics.Vector256<System.SByte>,System.Runtime.Intrinsics.Vector256<System.SByte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.SByte> System.Runtime.Intrinsics.Vector512.Create(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.SByte> System.Runtime.Intrinsics.Vector512.Create(System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte,System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.SByte> System.Runtime.Intrinsics.Vector512.CreateScalar(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.SByte> System.Runtime.Intrinsics.Vector512.CreateScalarUnsafe(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.SByte> System.Runtime.Intrinsics.Vector512.Narrow(System.Runtime.Intrinsics.Vector512<System.Int16>,System.Runtime.Intrinsics.Vector512<System.Int16>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.SByte> System.Runtime.Intrinsics.Vector512.ShiftLeft(System.Runtime.Intrinsics.Vector512<System.SByte>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.SByte> System.Runtime.Intrinsics.Vector512.ShiftRightArithmetic(System.Runtime.Intrinsics.Vector512<System.SByte>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.SByte> System.Runtime.Intrinsics.Vector512.ShiftRightLogical(System.Runtime.Intrinsics.Vector512<System.SByte>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.SByte> System.Runtime.Intrinsics.Vector512.Shuffle(System.Runtime.Intrinsics.Vector512<System.SByte>,System.Runtime.Intrinsics.Vector512<System.SByte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.Single> System.Runtime.Intrinsics.Vector512.ConvertToSingle(System.Runtime.Intrinsics.Vector512<System.UInt32>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UInt16> System.Runtime.Intrinsics.Vector512.AsUInt16`1(System.Runtime.Intrinsics.Vector512<!0>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UInt16> System.Runtime.Intrinsics.Vector512.Create(System.Runtime.Intrinsics.Vector256<System.UInt16>,System.Runtime.Intrinsics.Vector256<System.UInt16>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UInt16> System.Runtime.Intrinsics.Vector512.Create(System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UInt16> System.Runtime.Intrinsics.Vector512.Create(System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UInt16> System.Runtime.Intrinsics.Vector512.CreateScalar(System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UInt16> System.Runtime.Intrinsics.Vector512.CreateScalarUnsafe(System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UInt16> System.Runtime.Intrinsics.Vector512.Narrow(System.Runtime.Intrinsics.Vector512<System.UInt32>,System.Runtime.Intrinsics.Vector512<System.UInt32>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UInt16> System.Runtime.Intrinsics.Vector512.ShiftLeft(System.Runtime.Intrinsics.Vector512<System.UInt16>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UInt16> System.Runtime.Intrinsics.Vector512.ShiftRightLogical(System.Runtime.Intrinsics.Vector512<System.UInt16>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UInt16> System.Runtime.Intrinsics.Vector512.Shuffle(System.Runtime.Intrinsics.Vector512<System.UInt16>,System.Runtime.Intrinsics.Vector512<System.UInt16>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UInt16> System.Runtime.Intrinsics.Vector512.WidenLower(System.Runtime.Intrinsics.Vector512<System.Byte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UInt16> System.Runtime.Intrinsics.Vector512.WidenUpper(System.Runtime.Intrinsics.Vector512<System.Byte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UInt32> System.Runtime.Intrinsics.Vector512.AsUInt32`1(System.Runtime.Intrinsics.Vector512<!0>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UInt32> System.Runtime.Intrinsics.Vector512.ConvertToUInt32(System.Runtime.Intrinsics.Vector512<System.Single>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UInt32> System.Runtime.Intrinsics.Vector512.Create(System.Runtime.Intrinsics.Vector256<System.UInt32>,System.Runtime.Intrinsics.Vector256<System.UInt32>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UInt32> System.Runtime.Intrinsics.Vector512.Create(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UInt32> System.Runtime.Intrinsics.Vector512.Create(System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UInt32> System.Runtime.Intrinsics.Vector512.CreateScalar(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UInt32> System.Runtime.Intrinsics.Vector512.CreateScalarUnsafe(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UInt32> System.Runtime.Intrinsics.Vector512.Narrow(System.Runtime.Intrinsics.Vector512<System.UInt64>,System.Runtime.Intrinsics.Vector512<System.UInt64>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UInt32> System.Runtime.Intrinsics.Vector512.ShiftLeft(System.Runtime.Intrinsics.Vector512<System.UInt32>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UInt32> System.Runtime.Intrinsics.Vector512.ShiftRightLogical(System.Runtime.Intrinsics.Vector512<System.UInt32>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UInt32> System.Runtime.Intrinsics.Vector512.Shuffle(System.Runtime.Intrinsics.Vector512<System.UInt32>,System.Runtime.Intrinsics.Vector512<System.UInt32>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UInt32> System.Runtime.Intrinsics.Vector512.WidenLower(System.Runtime.Intrinsics.Vector512<System.UInt16>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UInt32> System.Runtime.Intrinsics.Vector512.WidenUpper(System.Runtime.Intrinsics.Vector512<System.UInt16>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UInt64> System.Runtime.Intrinsics.Vector512.AsUInt64`1(System.Runtime.Intrinsics.Vector512<!0>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UInt64> System.Runtime.Intrinsics.Vector512.ConvertToUInt64(System.Runtime.Intrinsics.Vector512<System.Double>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UInt64> System.Runtime.Intrinsics.Vector512.Create(System.Runtime.Intrinsics.Vector256<System.UInt64>,System.Runtime.Intrinsics.Vector256<System.UInt64>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UInt64> System.Runtime.Intrinsics.Vector512.Create(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UInt64> System.Runtime.Intrinsics.Vector512.Create(System.UInt64,System.UInt64,System.UInt64,System.UInt64,System.UInt64,System.UInt64,System.UInt64,System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UInt64> System.Runtime.Intrinsics.Vector512.CreateScalar(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UInt64> System.Runtime.Intrinsics.Vector512.CreateScalarUnsafe(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UInt64> System.Runtime.Intrinsics.Vector512.ShiftLeft(System.Runtime.Intrinsics.Vector512<System.UInt64>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UInt64> System.Runtime.Intrinsics.Vector512.ShiftRightLogical(System.Runtime.Intrinsics.Vector512<System.UInt64>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UInt64> System.Runtime.Intrinsics.Vector512.Shuffle(System.Runtime.Intrinsics.Vector512<System.UInt64>,System.Runtime.Intrinsics.Vector512<System.UInt64>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UInt64> System.Runtime.Intrinsics.Vector512.WidenLower(System.Runtime.Intrinsics.Vector512<System.UInt32>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UInt64> System.Runtime.Intrinsics.Vector512.WidenUpper(System.Runtime.Intrinsics.Vector512<System.UInt32>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UIntPtr> System.Runtime.Intrinsics.Vector512.AsNUInt`1(System.Runtime.Intrinsics.Vector512<!0>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UIntPtr> System.Runtime.Intrinsics.Vector512.Create(System.Runtime.Intrinsics.Vector256<System.UIntPtr>,System.Runtime.Intrinsics.Vector256<System.UIntPtr>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UIntPtr> System.Runtime.Intrinsics.Vector512.Create(System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UIntPtr> System.Runtime.Intrinsics.Vector512.CreateScalar(System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UIntPtr> System.Runtime.Intrinsics.Vector512.CreateScalarUnsafe(System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UIntPtr> System.Runtime.Intrinsics.Vector512.ShiftLeft(System.Runtime.Intrinsics.Vector512<System.UIntPtr>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512<System.UIntPtr> System.Runtime.Intrinsics.Vector512.ShiftRightLogical(System.Runtime.Intrinsics.Vector512<System.UIntPtr>,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.Vector512`1 | [DebuggerDisplayAttribute(...)] | 0 | {DisplayString,nq} | -| System.Runtime.Intrinsics.Vector512`1 | [DebuggerTypeProxyAttribute(...)] | 0 | System.Runtime.Intrinsics.Vector512DebugView`1 | -| System.Runtime.Intrinsics.Vector512`1 | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Runtime.Intrinsics.Vector512`1 | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.Intrinsics.Vector512`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Intrinsics.Wasm.PackedSimd | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.X86.Aes | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.X86.Avx | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.X86.Avx2 | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.X86.Avx512BW | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.X86.Avx512CD | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.X86.Avx512DQ | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.X86.Avx512F | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.X86.Avx512Vbmi | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.X86.AvxVnni | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.X86.AvxVnni | [RequiresPreviewFeaturesAttribute(...)] | 0 | AvxVnni is in preview. | -| System.Runtime.Intrinsics.X86.Bmi1 | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.X86.Bmi2 | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.X86.Fma | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.X86.Lzcnt | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.X86.Pclmulqdq | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.X86.Popcnt | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.X86.Sse | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.X86.Sse2 | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.X86.Sse3 | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.X86.Sse41 | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.X86.Sse42 | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.X86.Ssse3 | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.X86.X86Base | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Intrinsics.X86.X86Serialize | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Loader.AssemblyDependencyResolver | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.Loader.AssemblyDependencyResolver | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Loader.AssemblyDependencyResolver | [UnsupportedOSPlatformAttribute(...)] | 0 | android | -| System.Runtime.Loader.AssemblyDependencyResolver | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Runtime.Loader.AssemblyDependencyResolver | [UnsupportedOSPlatformAttribute(...)] | 0 | ios | -| System.Runtime.Loader.AssemblyDependencyResolver | [UnsupportedOSPlatformAttribute(...)] | 0 | tvos | -| System.Runtime.Loader.AssemblyLoadContext | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.Loader.AssemblyLoadContext | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Loader.AssemblyLoadContext System.Runtime.Loader.AssemblyLoadContext.CurrentContextualReflectionContext | [NullableAttribute(...)] | 0 | 2 | -| System.Runtime.Loader.AssemblyLoadContext System.Runtime.Loader.AssemblyLoadContext.get_CurrentContextualReflectionContext() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Loader.AssemblyLoadContext.AssemblyLoad | [NullableAttribute(...)] | 0 | 2 | -| System.Runtime.Loader.AssemblyLoadContext.AssemblyResolve | [NullableAttribute(...)] | 0 | 2 | -| System.Runtime.Loader.AssemblyLoadContext.ContextualReflectionScope | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Runtime.Loader.AssemblyLoadContext.ContextualReflectionScope | [NullableContextAttribute(...)] | 0 | 0 | -| System.Runtime.Loader.AssemblyLoadContext.ContextualReflectionScope System.Runtime.Loader.AssemblyLoadContext.EnterContextualReflection(System.Reflection.Assembly) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Loader.AssemblyLoadContext.Resolving | [NullableAttribute(...)] | 0 | [2,1,1,2] | -| System.Runtime.Loader.AssemblyLoadContext.ResolvingUnmanagedDll | [NullableAttribute(...)] | 0 | [2,1,1] | -| System.Runtime.Loader.AssemblyLoadContext.ResourceResolve | [NullableAttribute(...)] | 0 | 2 | -| System.Runtime.Loader.AssemblyLoadContext.TypeResolve | [NullableAttribute(...)] | 0 | 2 | -| System.Runtime.Loader.AssemblyLoadContext.Unloading | [NullableAttribute(...)] | 0 | [2,1] | -| System.Runtime.Loader.AssemblyLoadContext._resolving | [NullableAttribute(...)] | 0 | [2,1,1,1] | -| System.Runtime.Loader.AssemblyLoadContext._resolvingUnmanagedDll | [NullableAttribute(...)] | 0 | [2,1,1] | -| System.Runtime.Loader.AssemblyLoadContext._unloading | [NullableAttribute(...)] | 0 | [2,1] | -| System.Runtime.Remoting.ObjectHandle | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.Remoting.ObjectHandle | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Remoting.ObjectHandle System.Activator.CreateInstance(System.String,System.String) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Type and its constructor could be removed | -| System.Runtime.Remoting.ObjectHandle System.Activator.CreateInstance(System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Remoting.ObjectHandle System.Activator.CreateInstance(System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Type and its constructor could be removed | -| System.Runtime.Remoting.ObjectHandle System.Activator.CreateInstance(System.String,System.String,System.Object[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Type and its constructor could be removed | -| System.Runtime.Remoting.ObjectHandle System.Activator.CreateInstanceFrom(System.String,System.String) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Type and its constructor could be removed | -| System.Runtime.Remoting.ObjectHandle System.Activator.CreateInstanceFrom(System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Remoting.ObjectHandle System.Activator.CreateInstanceFrom(System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Type and its constructor could be removed | -| System.Runtime.Remoting.ObjectHandle System.Activator.CreateInstanceFrom(System.String,System.String,System.Object[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Type and its constructor could be removed | -| System.Runtime.Remoting.ObjectHandle System.Activator.CreateInstanceInternal(System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[],System.Threading.StackCrawlMark) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Runtime.Remoting.ObjectHandle System.Activator.CreateInstanceInternal(System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[],System.Threading.StackCrawlMark) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:RequiresUnreferencedCode | -| System.Runtime.Remoting.ObjectHandle System.Activator.CreateInstanceInternal(System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[],System.Threading.StackCrawlMark) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2072:UnrecognizedReflectionPattern | -| System.Runtime.Remoting.ObjectHandle System.AppDomain.CreateInstance(System.String,System.String) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Type and its constructor could be removed | -| System.Runtime.Remoting.ObjectHandle System.AppDomain.CreateInstance(System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Remoting.ObjectHandle System.AppDomain.CreateInstance(System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Type and its constructor could be removed | -| System.Runtime.Remoting.ObjectHandle System.AppDomain.CreateInstance(System.String,System.String,System.Object[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Type and its constructor could be removed | -| System.Runtime.Remoting.ObjectHandle System.AppDomain.CreateInstanceFrom(System.String,System.String) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Type and its constructor could be removed | -| System.Runtime.Remoting.ObjectHandle System.AppDomain.CreateInstanceFrom(System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Remoting.ObjectHandle System.AppDomain.CreateInstanceFrom(System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Type and its constructor could be removed | -| System.Runtime.Remoting.ObjectHandle System.AppDomain.CreateInstanceFrom(System.String,System.String,System.Object[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Type and its constructor could be removed | -| System.Runtime.Serialization.IDeserializationCallback | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Serialization.IFormatterConverter | [CLSCompliantAttribute(...)] | 0 | False | -| System.Runtime.Serialization.IFormatterConverter | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Serialization.IFormatterConverter | [ObsoleteAttribute(...)] | 0 | Formatter-based serialization is obsolete and should not be used. | -| System.Runtime.Serialization.IObjectReference | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Serialization.IObjectReference | [ObsoleteAttribute(...)] | 0 | Formatter-based serialization is obsolete and should not be used. | -| System.Runtime.Serialization.ISafeSerializationData | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Serialization.ISafeSerializationData | [ObsoleteAttribute(...)] | 0 | Formatter-based serialization is obsolete and should not be used. | -| System.Runtime.Serialization.ISerializable | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Serialization.OnDeserializedAttribute | [AttributeUsageAttribute(...)] | 0 | 64 | -| System.Runtime.Serialization.OnDeserializingAttribute | [AttributeUsageAttribute(...)] | 0 | 64 | -| System.Runtime.Serialization.OnSerializedAttribute | [AttributeUsageAttribute(...)] | 0 | 64 | -| System.Runtime.Serialization.OnSerializingAttribute | [AttributeUsageAttribute(...)] | 0 | 64 | -| System.Runtime.Serialization.OptionalFieldAttribute | [AttributeUsageAttribute(...)] | 0 | 256 | -| System.Runtime.Serialization.SafeSerializationEventArgs | [ObsoleteAttribute(...)] | 0 | Formatter-based serialization is obsolete and should not be used. | -| System.Runtime.Serialization.SerializationEntry | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.Serialization.SerializationEntry | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Serialization.SerializationException | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.Serialization.SerializationException | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Serialization.SerializationException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Runtime.Serialization.SerializationInfo | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.Serialization.SerializationInfo | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Serialization.SerializationInfoEnumerator | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.Serialization.SerializationInfoEnumerator | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Serialization.StreamingContext | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.Serialization.StreamingContext | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Serialization.StreamingContext._state | [ObsoleteAttribute(...)] | 0 | Formatter-based serialization is obsolete and should not be used. | -| System.Runtime.Serialization.StreamingContextStates | [ObsoleteAttribute(...)] | 0 | Formatter-based serialization is obsolete and should not be used. | -| System.Runtime.Serialization.StreamingContextStates System.Runtime.Serialization.StreamingContext.State | [ObsoleteAttribute(...)] | 0 | Formatter-based serialization is obsolete and should not be used. | -| System.Runtime.TargetedPatchingOptOutAttribute | [AttributeUsageAttribute(...)] | 0 | 96 | -| System.Runtime.TargetedPatchingOptOutAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.TargetedPatchingOptOutAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Versioning.ComponentGuaranteesAttribute | [AttributeUsageAttribute(...)] | 0 | 5887 | -| System.Runtime.Versioning.FrameworkName | [NotNullWhenAttribute(...)] | 0 | True | -| System.Runtime.Versioning.FrameworkName | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.Versioning.FrameworkName | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Versioning.NonVersionableAttribute | [AttributeUsageAttribute(...)] | 0 | 108 | -| System.Runtime.Versioning.OSPlatformAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.Versioning.OSPlatformAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Versioning.ObsoletedOSPlatformAttribute | [AttributeUsageAttribute(...)] | 0 | 2047 | -| System.Runtime.Versioning.ObsoletedOSPlatformAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.Versioning.ObsoletedOSPlatformAttribute | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Versioning.RequiresPreviewFeaturesAttribute | [AttributeUsageAttribute(...)] | 0 | 6143 | -| System.Runtime.Versioning.RequiresPreviewFeaturesAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.Versioning.RequiresPreviewFeaturesAttribute | [NullableContextAttribute(...)] | 0 | 2 | -| System.Runtime.Versioning.ResourceConsumptionAttribute | [AttributeUsageAttribute(...)] | 0 | 224 | -| System.Runtime.Versioning.ResourceConsumptionAttribute | [ConditionalAttribute(...)] | 0 | RESOURCE_ANNOTATION_WORK | -| System.Runtime.Versioning.ResourceExposureAttribute | [AttributeUsageAttribute(...)] | 0 | 480 | -| System.Runtime.Versioning.ResourceExposureAttribute | [ConditionalAttribute(...)] | 0 | RESOURCE_ANNOTATION_WORK | -| System.Runtime.Versioning.SupportedOSPlatformAttribute | [AttributeUsageAttribute(...)] | 0 | 2047 | -| System.Runtime.Versioning.SupportedOSPlatformGuardAttribute | [AttributeUsageAttribute(...)] | 0 | 448 | -| System.Runtime.Versioning.TargetFrameworkAttribute | [AttributeUsageAttribute(...)] | 0 | 1 | -| System.Runtime.Versioning.TargetFrameworkAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.Versioning.TargetFrameworkAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Versioning.TargetPlatformAttribute | [AttributeUsageAttribute(...)] | 0 | 1 | -| System.Runtime.Versioning.UnsupportedOSPlatformAttribute | [AttributeUsageAttribute(...)] | 0 | 2047 | -| System.Runtime.Versioning.UnsupportedOSPlatformAttribute | [NullableAttribute(...)] | 0 | 0 | -| System.Runtime.Versioning.UnsupportedOSPlatformAttribute | [NullableContextAttribute(...)] | 0 | 1 | -| System.Runtime.Versioning.UnsupportedOSPlatformGuardAttribute | [AttributeUsageAttribute(...)] | 0 | 448 | -| System.RuntimeFieldHandle System.ModuleHandle.GetRuntimeFieldHandleFromMetadataToken(System.Int32) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Trimming changes metadata tokens | -| System.RuntimeFieldHandle System.ModuleHandle.ResolveFieldHandle(System.Int32) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Trimming changes metadata tokens | -| System.RuntimeFieldHandle System.ModuleHandle.ResolveFieldHandle(System.Int32,System.RuntimeTypeHandle[],System.RuntimeTypeHandle[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Trimming changes metadata tokens | -| System.RuntimeMethodHandle System.ModuleHandle.GetRuntimeMethodHandleFromMetadataToken(System.Int32) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Trimming changes metadata tokens | -| System.RuntimeMethodHandle System.ModuleHandle.ResolveMethodHandle(System.Int32) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Trimming changes metadata tokens | -| System.RuntimeMethodHandle System.ModuleHandle.ResolveMethodHandle(System.Int32,System.RuntimeTypeHandle[],System.RuntimeTypeHandle[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Trimming changes metadata tokens | -| System.RuntimeMethodHandleInternal System.Diagnostics.StackFrame.GetMethodDescFromNativeIP(System.IntPtr) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.RuntimeMethodHandleInternal System.ModuleHandle.ResolveMethod(System.Runtime.CompilerServices.QCallModule,System.Int32,System.IntPtr*,System.Int32,System.IntPtr*,System.Int32) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.RuntimeMethodHandleInternal System.RuntimeTypeHandle.GetInterfaceMethodImplementation(System.Runtime.CompilerServices.QCallTypeHandle,System.Runtime.CompilerServices.QCallTypeHandle,System.RuntimeMethodHandleInternal) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.RuntimeType | [DynamicallyAccessedMembersAttribute(...)] | 0 | 1 | -| System.RuntimeType | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8192 | -| System.RuntimeType | [DynamicallyAccessedMembersAttribute(...)] | 0 | -1 | -| System.RuntimeType.ListBuilder`1 | [DefaultMemberAttribute(...)] | 0 | Item | -| System.RuntimeTypeHandle | [NullableAttribute(...)] | 0 | 0 | -| System.RuntimeTypeHandle | [NullableContextAttribute(...)] | 0 | 2 | -| System.RuntimeTypeHandle System.ModuleHandle.GetRuntimeTypeHandleFromMetadataToken(System.Int32) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Trimming changes metadata tokens | -| System.RuntimeTypeHandle System.ModuleHandle.ResolveTypeHandle(System.Int32) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Trimming changes metadata tokens | -| System.RuntimeTypeHandle System.ModuleHandle.ResolveTypeHandle(System.Int32,System.RuntimeTypeHandle[],System.RuntimeTypeHandle[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Trimming changes metadata tokens | -| System.RuntimeType[] System.RuntimeType.RuntimeTypeCache.MemberInfoCache`1.PopulateInterfaces(System.RuntimeType.RuntimeTypeCache.Filter) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.RuntimeType[] System.RuntimeType.RuntimeTypeCache.MemberInfoCache`1.PopulateInterfaces(System.RuntimeType.RuntimeTypeCache.Filter) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2065:UnrecognizedReflectionPattern | -| System.RuntimeType[] System.RuntimeType.RuntimeTypeCache.MemberInfoCache`1.PopulateNestedClasses(System.RuntimeType.RuntimeTypeCache.Filter) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.RuntimeType[] System.RuntimeType.RuntimeTypeCache.MemberInfoCache`1.PopulateNestedClasses(System.RuntimeType.RuntimeTypeCache.Filter) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:UnrecognizedReflectionPattern | -| System.SByte System.Buffers.Binary.BinaryPrimitives.ReverseEndianness(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.SByte System.Convert.ToSByte(System.Boolean) | [CLSCompliantAttribute(...)] | 0 | False | -| System.SByte System.Convert.ToSByte(System.Byte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.SByte System.Convert.ToSByte(System.Char) | [CLSCompliantAttribute(...)] | 0 | False | -| System.SByte System.Convert.ToSByte(System.DateTime) | [CLSCompliantAttribute(...)] | 0 | False | -| System.SByte System.Convert.ToSByte(System.Decimal) | [CLSCompliantAttribute(...)] | 0 | False | -| System.SByte System.Convert.ToSByte(System.Double) | [CLSCompliantAttribute(...)] | 0 | False | -| System.SByte System.Convert.ToSByte(System.Int16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.SByte System.Convert.ToSByte(System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.SByte System.Convert.ToSByte(System.Int64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.SByte System.Convert.ToSByte(System.Object) | [CLSCompliantAttribute(...)] | 0 | False | -| System.SByte System.Convert.ToSByte(System.Object,System.IFormatProvider) | [CLSCompliantAttribute(...)] | 0 | False | -| System.SByte System.Convert.ToSByte(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.SByte System.Convert.ToSByte(System.Single) | [CLSCompliantAttribute(...)] | 0 | False | -| System.SByte System.Convert.ToSByte(System.String) | [CLSCompliantAttribute(...)] | 0 | False | -| System.SByte System.Convert.ToSByte(System.String,System.IFormatProvider) | [CLSCompliantAttribute(...)] | 0 | False | -| System.SByte System.Convert.ToSByte(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.SByte System.Convert.ToSByte(System.String,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.SByte System.Convert.ToSByte(System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.SByte System.Convert.ToSByte(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.SByte System.Convert.ToSByte(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.SByte System.Decimal.ToSByte(System.Decimal) | [CLSCompliantAttribute(...)] | 0 | False | -| System.SByte System.Decimal.op_Explicit(System.Decimal) | [CLSCompliantAttribute(...)] | 0 | False | -| System.SByte System.Half.op_CheckedExplicit(System.Half) | [CLSCompliantAttribute(...)] | 0 | False | -| System.SByte System.Half.op_Explicit(System.Half) | [CLSCompliantAttribute(...)] | 0 | False | -| System.SByte System.IO.BinaryReader.ReadSByte() | [CLSCompliantAttribute(...)] | 0 | False | -| System.SByte System.IO.UnmanagedMemoryAccessor.ReadSByte(System.Int64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.SByte System.Int128.op_CheckedExplicit(System.Int128) | [CLSCompliantAttribute(...)] | 0 | False | -| System.SByte System.Int128.op_Explicit(System.Int128) | [CLSCompliantAttribute(...)] | 0 | False | -| System.SByte System.Math.Abs(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.SByte System.Math.Clamp(System.SByte,System.SByte,System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.SByte System.Math.Max(System.SByte,System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.SByte System.Math.Min(System.SByte,System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.SByte System.Runtime.InteropServices.NFloat.op_CheckedExplicit(System.Runtime.InteropServices.NFloat) | [CLSCompliantAttribute(...)] | 0 | False | -| System.SByte System.Runtime.InteropServices.NFloat.op_Explicit(System.Runtime.InteropServices.NFloat) | [CLSCompliantAttribute(...)] | 0 | False | -| System.SByte System.Runtime.Serialization.SerializationInfo.GetSByte(System.String) | [CLSCompliantAttribute(...)] | 0 | False | -| System.SByte System.SByte.CreateChecked`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.SByte System.SByte.CreateSaturating`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.SByte System.SByte.CreateTruncating`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.SByte System.SByte.Parse(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.SByte System.SByte.Parse(System.String,System.Globalization.NumberStyles) | [NullableContextAttribute(...)] | 0 | 1 | -| System.SByte System.SByte.Parse(System.String,System.Globalization.NumberStyles,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.SByte System.SByte.Parse(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.SByte System.Threading.Thread.VolatileRead(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.SByte System.Threading.Volatile.Read(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.SByte System.UInt128.op_CheckedExplicit(System.UInt128) | [CLSCompliantAttribute(...)] | 0 | False | -| System.SByte System.UInt128.op_Explicit(System.UInt128) | [CLSCompliantAttribute(...)] | 0 | False | -| System.STAThreadAttribute | [AttributeUsageAttribute(...)] | 0 | 64 | -| System.Security.AllowPartiallyTrustedCallersAttribute | [AttributeUsageAttribute(...)] | 0 | 1 | -| System.Security.Cryptography.CryptographicException | [NullableAttribute(...)] | 0 | 0 | -| System.Security.Cryptography.CryptographicException | [NullableContextAttribute(...)] | 0 | 1 | -| System.Security.Cryptography.CryptographicException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Security.IPermission | [NullableContextAttribute(...)] | 0 | 2 | -| System.Security.IPermission | [ObsoleteAttribute(...)] | 0 | Code Access Security is not supported or honored by the runtime. | -| System.Security.IPermission System.Security.IPermission.Copy() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Security.IPermission System.Security.Permissions.SecurityAttribute.CreatePermission() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Security.IPermission System.Security.Permissions.SecurityPermissionAttribute.CreatePermission() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Security.ISecurityEncodable | [NullableContextAttribute(...)] | 0 | 1 | -| System.Security.IStackWalk | [ObsoleteAttribute(...)] | 0 | Code Access Security is not supported or honored by the runtime. | -| System.Security.PermissionSet | [NullableAttribute(...)] | 0 | 0 | -| System.Security.PermissionSet | [NullableContextAttribute(...)] | 0 | 2 | -| System.Security.PermissionSet | [ObsoleteAttribute(...)] | 0 | Code Access Security is not supported or honored by the runtime. | -| System.Security.PermissionSet System.AppDomain.PermissionSet | [ObsoleteAttribute(...)] | 0 | Code Access Security is not supported or honored by the runtime. | -| System.Security.PermissionSet System.Security.PermissionSet.Copy() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Security.Permissions.CodeAccessSecurityAttribute | [AttributeUsageAttribute(...)] | 0 | 109 | -| System.Security.Permissions.CodeAccessSecurityAttribute | [ObsoleteAttribute(...)] | 0 | Code Access Security is not supported or honored by the runtime. | -| System.Security.Permissions.PermissionState | [ObsoleteAttribute(...)] | 0 | Code Access Security is not supported or honored by the runtime. | -| System.Security.Permissions.SecurityAction | [ObsoleteAttribute(...)] | 0 | Code Access Security is not supported or honored by the runtime. | -| System.Security.Permissions.SecurityAttribute | [AttributeUsageAttribute(...)] | 0 | 109 | -| System.Security.Permissions.SecurityAttribute | [ObsoleteAttribute(...)] | 0 | Code Access Security is not supported or honored by the runtime. | -| System.Security.Permissions.SecurityPermissionAttribute | [AttributeUsageAttribute(...)] | 0 | 109 | -| System.Security.Permissions.SecurityPermissionAttribute | [ObsoleteAttribute(...)] | 0 | Code Access Security is not supported or honored by the runtime. | -| System.Security.Permissions.SecurityPermissionFlag | [ObsoleteAttribute(...)] | 0 | Code Access Security is not supported or honored by the runtime. | -| System.Security.Principal.IIdentity | [NullableContextAttribute(...)] | 0 | 2 | -| System.Security.Principal.IPrincipal | [NullableContextAttribute(...)] | 0 | 2 | -| System.Security.Principal.IPrincipal System.Threading.Thread.CurrentPrincipal | [NullableAttribute(...)] | 0 | 2 | -| System.Security.Principal.IPrincipal System.Threading.Thread.get_CurrentPrincipal() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Security.SecureString System.Security.SecureString.Copy() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Security.SecurityCriticalAttribute | [AttributeUsageAttribute(...)] | 0 | 5501 | -| System.Security.SecurityCriticalScope | [ObsoleteAttribute(...)] | 0 | SecurityCriticalScope is only used for .NET 2.0 transparency compatibility. | -| System.Security.SecurityCriticalScope System.Security.SecurityCriticalAttribute.Scope | [ObsoleteAttribute(...)] | 0 | SecurityCriticalScope is only used for .NET 2.0 transparency compatibility. | -| System.Security.SecurityElement | [NotNullWhenAttribute(...)] | 0 | True | -| System.Security.SecurityElement | [NullableAttribute(...)] | 0 | 0 | -| System.Security.SecurityElement | [NullableContextAttribute(...)] | 0 | 2 | -| System.Security.SecurityElement System.Security.ISecurityEncodable.ToXml() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Security.SecurityElement System.Security.SecurityElement.Copy() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Security.SecurityElement System.Security.SecurityElement.FromString(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Security.SecurityElement System.Security.SecurityElement.SearchForChildByTag(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Security.SecurityException | [NullableAttribute(...)] | 0 | 0 | -| System.Security.SecurityException | [NullableContextAttribute(...)] | 0 | 2 | -| System.Security.SecurityException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Security.SecurityRulesAttribute | [AttributeUsageAttribute(...)] | 0 | 1 | -| System.Security.SecuritySafeCriticalAttribute | [AttributeUsageAttribute(...)] | 0 | 5500 | -| System.Security.SecurityTransparentAttribute | [AttributeUsageAttribute(...)] | 0 | 1 | -| System.Security.SecurityTreatAsSafeAttribute | [AttributeUsageAttribute(...)] | 0 | 5501 | -| System.Security.SecurityTreatAsSafeAttribute | [ObsoleteAttribute(...)] | 0 | SecurityTreatAsSafe is only used for .NET 2.0 transparency compatibility. Use the SecuritySafeCriticalAttribute instead. | -| System.Security.SuppressUnmanagedCodeSecurityAttribute | [AttributeUsageAttribute(...)] | 0 | 5188 | -| System.Security.UnverifiableCodeAttribute | [AttributeUsageAttribute(...)] | 0 | 2 | -| System.Security.VerificationException | [NullableAttribute(...)] | 0 | 0 | -| System.Security.VerificationException | [NullableContextAttribute(...)] | 0 | 2 | -| System.Security.VerificationException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.SerializableAttribute | [AttributeUsageAttribute(...)] | 0 | 4124 | -| System.SerializableAttribute | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Single System.BitConverter.ToSingle(System.ReadOnlySpan<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Single System.BitConverter.UInt32BitsToSingle(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Single System.Convert.ToSingle(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Single System.Convert.ToSingle(System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Single System.Convert.ToSingle(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Single System.Convert.ToSingle(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Single System.Single.CreateChecked`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Single System.Single.CreateSaturating`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Single System.Single.CreateTruncating`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Single System.Single.Parse(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Single System.Single.Parse(System.String,System.Globalization.NumberStyles) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Single System.Single.Parse(System.String,System.Globalization.NumberStyles,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Single System.Single.Parse(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Span<!0> | [NullableAttribute(...)] | 0 | [0,1] | -| System.Span<!0> System.MemoryExtensions.AsSpan`1(!0[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Span<!0> System.MemoryExtensions.AsSpan`1(!0[],System.Index) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Span<!0> System.MemoryExtensions.AsSpan`1(!0[],System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Span<!0> System.MemoryExtensions.AsSpan`1(!0[],System.Int32,System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Span<!0> System.MemoryExtensions.AsSpan`1(!0[],System.Range) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Span<!0> System.MemoryExtensions.AsSpan`1(System.ArraySegment<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Span<!0> System.MemoryExtensions.AsSpan`1(System.ArraySegment<!0>,System.Index) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Span<!0> System.MemoryExtensions.AsSpan`1(System.ArraySegment<!0>,System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Span<!0> System.MemoryExtensions.AsSpan`1(System.ArraySegment<!0>,System.Int32,System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Span<!0> System.MemoryExtensions.AsSpan`1(System.ArraySegment<!0>,System.Range) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Span<!0> System.Memory`1.Span | [NullableAttribute(...)] | 0 | [0,1] | -| System.Span<!0> System.Runtime.InteropServices.CollectionsMarshal.AsSpan`1(System.Collections.Generic.List<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Span<!0> System.Runtime.InteropServices.MemoryMarshal.CreateSpan`1(!0,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Span<!0> System.Span`1.Empty | [NullableAttribute(...)] | 0 | [0,1] | -| System.Span<!0>.Enumerator System.Span`1.GetEnumerator() | [NullableContextAttribute(...)] | 0 | 0 | -| System.Span<!1> | [NullableAttribute(...)] | 0 | [0,1] | -| System.Span<System.Char> | [NullableAttribute(...)] | 0 | 0 | -| System.Span<System.Char> System.Text.StringBuilder.RemainingCurrentChunk | [NullableAttribute(...)] | 0 | 0 | -| System.Span<System.Object> | [NullableAttribute(...)] | 0 | [0,2] | -| System.Span`1 | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.Span`1 | [DebuggerDisplayAttribute(...)] | 0 | {ToString(),raw} | -| System.Span`1 | [DebuggerTypeProxyAttribute(...)] | 0 | System.SpanDebugView`1 | -| System.Span`1 | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Span`1 | [NativeMarshallingAttribute(...)] | 0 | System.Runtime.InteropServices.Marshalling.SpanMarshaller`2 | -| System.Span`1 | [NullableAttribute(...)] | 0 | 0 | -| System.Span`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Span`1 | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.Span`1 | [ObsoleteAttribute(...)] | 1 | True | -| System.Span`1.Enumerator | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.Span`1.Enumerator | [NullableAttribute(...)] | 0 | 0 | -| System.Span`1.Enumerator | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.Span`1.Enumerator | [ObsoleteAttribute(...)] | 1 | True | -| System.StackOverflowException | [NullableAttribute(...)] | 0 | 0 | -| System.StackOverflowException | [NullableContextAttribute(...)] | 0 | 2 | -| System.StackOverflowException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.String System.AppContext.GetBaseDirectoryCore() | [UnconditionalSuppressMessageAttribute(...)] | 0 | SingleFile | -| System.String System.AppContext.GetBaseDirectoryCore() | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL3000: Avoid accessing Assembly file path when publishing as a single file | -| System.String System.AppContext.get_TargetFrameworkName() | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.AppDomain.get_DynamicDirectory() | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.AppDomain.get_RelativeSearchPath() | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.ApplicationId.get_Culture() | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.ApplicationId.get_ProcessorArchitecture() | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.ArgumentException.get_Message() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.BadImageFormatException.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.BadImageFormatException.get_Message() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Boolean.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Boolean.ToString(System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Buffers.StandardFormat.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Byte.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Byte.ToString(System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Byte.ToString(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Byte.ToString(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Char.ConvertFromUtf32(System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Char.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Char.ToString(System.Char) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Char.ToString(System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Console.ReadLine() | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Console.ReadLine() | [UnsupportedOSPlatformAttribute(...)] | 0 | android | -| System.String System.Console.ReadLine() | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.String System.Console.get_Title() | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.String System.Convert.ToBase64String(System.Byte[]) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Convert.ToBase64String(System.Byte[],System.Base64FormattingOptions) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Convert.ToBase64String(System.Byte[],System.Int32,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Convert.ToBase64String(System.Byte[],System.Int32,System.Int32,System.Base64FormattingOptions) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Convert.ToBase64String(System.ReadOnlySpan<System.Byte>,System.Base64FormattingOptions) | [NullableContextAttribute(...)] | 0 | 0 | -| System.String System.Convert.ToHexString(System.Byte[]) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Convert.ToHexString(System.Byte[],System.Int32,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Convert.ToHexString(System.ReadOnlySpan<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.String System.Convert.ToString(System.Boolean) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Convert.ToString(System.Boolean,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Convert.ToString(System.Byte) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Convert.ToString(System.Byte,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Convert.ToString(System.Byte,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Convert.ToString(System.Char) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Convert.ToString(System.Char,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Convert.ToString(System.DateTime) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Convert.ToString(System.DateTime,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Convert.ToString(System.Decimal) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Convert.ToString(System.Decimal,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Convert.ToString(System.Double) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Convert.ToString(System.Double,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Convert.ToString(System.Int16) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Convert.ToString(System.Int16,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Convert.ToString(System.Int16,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Convert.ToString(System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Convert.ToString(System.Int32,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Convert.ToString(System.Int32,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Convert.ToString(System.Int64) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Convert.ToString(System.Int64,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Convert.ToString(System.Int64,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Convert.ToString(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.String System.Convert.ToString(System.SByte) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Convert.ToString(System.SByte,System.IFormatProvider) | [CLSCompliantAttribute(...)] | 0 | False | -| System.String System.Convert.ToString(System.SByte,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Convert.ToString(System.Single) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Convert.ToString(System.Single,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Convert.ToString(System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.String System.Convert.ToString(System.UInt16) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Convert.ToString(System.UInt16,System.IFormatProvider) | [CLSCompliantAttribute(...)] | 0 | False | -| System.String System.Convert.ToString(System.UInt16,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Convert.ToString(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.String System.Convert.ToString(System.UInt32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Convert.ToString(System.UInt32,System.IFormatProvider) | [CLSCompliantAttribute(...)] | 0 | False | -| System.String System.Convert.ToString(System.UInt32,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Convert.ToString(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.String System.Convert.ToString(System.UInt64) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Convert.ToString(System.UInt64,System.IFormatProvider) | [CLSCompliantAttribute(...)] | 0 | False | -| System.String System.Convert.ToString(System.UInt64,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.DateOnly.ToLongDateString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.DateOnly.ToShortDateString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.DateOnly.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.DateOnly.ToString(System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.DateOnly.ToString(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.DateOnly.ToString(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.DateTime.ToLongDateString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.DateTime.ToLongTimeString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.DateTime.ToShortDateString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.DateTime.ToShortTimeString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.DateTime.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.DateTime.ToString(System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.DateTime.ToString(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.DateTime.ToString(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.DateTimeOffset.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.DateTimeOffset.ToString(System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.DateTimeOffset.ToString(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.DateTimeOffset.ToString(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Decimal.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Decimal.ToString(System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Decimal.ToString(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Decimal.ToString(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Diagnostics.CodeAnalysis.ExperimentalAttribute.get_UrlFormat() | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.get_Url() | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute.get_Url() | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Diagnostics.CodeAnalysis.SuppressMessageAttribute.get_Category() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Diagnostics.CodeAnalysis.SuppressMessageAttribute.get_CheckId() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.get_Category() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.get_CheckId() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Diagnostics.Contracts.ContractException.get_Failure() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Diagnostics.Contracts.ContractOptionAttribute.get_Value() | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Diagnostics.DebuggerDisplayAttribute.get_Value() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Diagnostics.DebuggerTypeProxyAttribute.get_ProxyTypeName() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Diagnostics.DebuggerVisualizerAttribute.get_VisualizerTypeName() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Diagnostics.StackFrame.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Diagnostics.Tracing.EventSource.GenerateManifest(System.Type,System.String) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.String System.Diagnostics.Tracing.EventSource.GenerateManifest(System.Type,System.String) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2114:ReflectionToDynamicallyAccessedMembers | -| System.String System.Diagnostics.Tracing.EventSource.GenerateManifest(System.Type,System.String,System.Diagnostics.Tracing.EventManifestOptions) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.String System.Diagnostics.Tracing.EventSource.GenerateManifest(System.Type,System.String,System.Diagnostics.Tracing.EventManifestOptions) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2114:ReflectionToDynamicallyAccessedMembers | -| System.String System.Diagnostics.Tracing.EventSource.GetName(System.Type) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Diagnostics.Tracing.EventSource.GetTrait(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Diagnostics.Tracing.EventSource.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Diagnostics.Tracing.EventSource.get_Name() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Double.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Double.ToString(System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Double.ToString(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Double.ToString(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Enum.GetName`1(!0) | [NullableContextAttribute(...)] | 0 | 0 | -| System.String System.Enum.ToString(System.IFormatProvider) | [ObsoleteAttribute(...)] | 0 | The provider argument is not used. Use ToString() instead. | -| System.String System.Enum.ToString(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Enum.ToString(System.String,System.IFormatProvider) | [ObsoleteAttribute(...)] | 0 | The provider argument is not used. Use ToString(String) instead. | -| System.String System.Environment.get_ProcessPath() | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Exception.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Exception.get_Message() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Exception.get_Source() | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.String System.Exception.get_Source() | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:RequiresUnreferencedCode | -| System.String System.Globalization.CultureNotFoundException.get_Message() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Guid.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Guid.ToString(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Guid.ToString(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Half.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Half.ToString(System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Half.ToString(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Half.ToString(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.IConvertible.ToString(System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.IO.Enumeration.FileSystemEntry.ToFullPath() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.IO.Enumeration.FileSystemEntry.ToSpecifiedFullPath() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.IO.Enumeration.FileSystemName.TranslateWin32Expression(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.IO.FileInfo.get_DirectoryName() | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.IO.FileLoadException.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.IO.FileLoadException.get_Message() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.IO.FileNotFoundException.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.IO.FileNotFoundException.get_Message() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.IO.FileSystemInfo.get_LinkTarget() | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.IO.Path.ChangeExtension(System.String,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.IO.Path.Combine(System.String,System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.IO.Path.Combine(System.String,System.String,System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.IO.Path.Combine(System.String,System.String,System.String,System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.IO.Path.Combine(System.String[]) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.IO.Path.GetDirectoryName(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.IO.Path.GetExtension(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.IO.Path.GetFileName(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.IO.Path.GetFileNameWithoutExtension(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.IO.Path.GetFullPath(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.IO.Path.GetFullPath(System.String,System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.IO.Path.GetPathRoot(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.IO.Path.GetRandomFileName() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.IO.Path.GetRelativePath(System.String,System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.IO.Path.GetTempFileName() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.IO.Path.GetTempPath() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.IO.Path.Join(System.String,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.IO.Path.Join(System.String,System.String,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.IO.Path.Join(System.String,System.String,System.String,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.IO.Path.Join(System.String[]) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.IO.Path.TrimEndingDirectorySeparator(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.IO.StreamReader.ReadLine() | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.IO.StringReader.ReadLine() | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.IO.TextReader.ReadLine() | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Index.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Int16.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Int16.ToString(System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Int16.ToString(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Int16.ToString(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Int32.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Int32.ToString(System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Int32.ToString(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Int32.ToString(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Int64.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Int64.ToString(System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Int64.ToString(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Int64.ToString(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Int128.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Int128.ToString(System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Int128.ToString(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Int128.ToString(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.IntPtr.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.IntPtr.ToString(System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.IntPtr.ToString(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.IntPtr.ToString(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Lazy`1.ToString() | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.MissingMemberException.get_Message() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Nullable`1.ToString() | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Numerics.Matrix3x2.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Numerics.Matrix4x4.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Numerics.Plane.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Numerics.Quaternion.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Numerics.Vector2.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Numerics.Vector2.ToString(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Numerics.Vector2.ToString(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Numerics.Vector3.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Numerics.Vector3.ToString(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Numerics.Vector3.ToString(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Numerics.Vector4.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Numerics.Vector4.ToString(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Numerics.Vector4.ToString(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Numerics.Vector`1.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Numerics.Vector`1.ToString(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Numerics.Vector`1.ToString(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Range.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Reflection.Assembly.CreateQualifiedName(System.String,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Reflection.Assembly.get_CodeBase() | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Reflection.Assembly.get_FullName() | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Reflection.AssemblyMetadataAttribute.get_Value() | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Reflection.AssemblyName.EscapeCodeBase(System.String) | [RequiresAssemblyFilesAttribute(...)] | 0 | The code will return an empty string for assemblies embedded in a single-file app | -| System.String System.Reflection.AssemblyName.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Reflection.AssemblyName.get_CodeBase() | [RequiresAssemblyFilesAttribute(...)] | 0 | The code will return an empty string for assemblies embedded in a single-file app | -| System.String System.Reflection.AssemblyName.get_FullName() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Reflection.Emit.AssemblyBuilder.get_CodeBase() | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Reflection.Emit.RuntimeModuleBuilder.ResolveString(System.Int32) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Trimming changes metadata tokens | -| System.String System.Reflection.ExceptionHandlingClause.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Reflection.Module.ResolveString(System.Int32) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Trimming changes metadata tokens | -| System.String System.Reflection.ParameterInfo.get_Name() | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Reflection.RuntimeModule.GetFullyQualifiedName() | [RequiresAssemblyFilesAttribute(...)] | 0 | Returns <Unknown> for modules with no file path | -| System.String System.Reflection.RuntimeModule.ResolveString(System.Int32) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Trimming changes metadata tokens | -| System.String System.Reflection.TypeDelegator.get_AssemblyQualifiedName() | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Reflection.TypeDelegator.get_FullName() | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Reflection.TypeDelegator.get_Namespace() | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Resources.ResourceManager.GetString(System.String,System.Globalization.CultureInfo) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Runtime.CompilerServices.AsyncMethodBuilderCore.GetAsyncStateMachineDescription(System.Runtime.CompilerServices.IAsyncStateMachine) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.String System.Runtime.CompilerServices.AsyncMethodBuilderCore.GetAsyncStateMachineDescription(System.Runtime.CompilerServices.IAsyncStateMachine) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2075:UnrecognizedReflectionPattern | -| System.String System.Runtime.CompilerServices.DefaultInterpolatedStringHandler.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Runtime.CompilerServices.DefaultInterpolatedStringHandler.ToStringAndClear() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Runtime.CompilerServices.SwitchExpressionException.get_Message() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Runtime.InteropServices.CLong.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Runtime.InteropServices.COMException.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Runtime.InteropServices.CULong.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Runtime.InteropServices.ExternalException.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Runtime.InteropServices.LibraryImportAttribute.get_LibraryName() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Runtime.InteropServices.Marshal.GetTypeInfoName(System.Runtime.InteropServices.ComTypes.ITypeInfo) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.String System.Runtime.InteropServices.Marshal.PtrToStringAnsi(System.IntPtr) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Runtime.InteropServices.Marshal.PtrToStringAuto(System.IntPtr) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Runtime.InteropServices.Marshal.PtrToStringAuto(System.IntPtr,System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Runtime.InteropServices.Marshal.PtrToStringUTF8(System.IntPtr) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Runtime.InteropServices.Marshal.PtrToStringUni(System.IntPtr) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Runtime.InteropServices.NFloat.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Runtime.InteropServices.NFloat.ToString(System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Runtime.InteropServices.NFloat.ToString(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Runtime.InteropServices.NFloat.ToString(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Runtime.Loader.AssemblyLoadContext.get_Name() | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Runtime.Versioning.TargetFrameworkAttribute.get_FrameworkDisplayName() | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Runtime.Versioning.UnsupportedOSPlatformAttribute.get_Message() | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Runtime.Versioning.VersioningHelper.MakeVersionSafeName(System.String,System.Runtime.Versioning.ResourceScope,System.Runtime.Versioning.ResourceScope) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Runtime.Versioning.VersioningHelper.MakeVersionSafeName(System.String,System.Runtime.Versioning.ResourceScope,System.Runtime.Versioning.ResourceScope,System.Type) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.SByte.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.SByte.ToString(System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.SByte.ToString(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.SByte.ToString(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Security.PermissionSet.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Security.SecurityElement.Attribute(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Security.SecurityElement.SearchForTextOfTag(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Security.SecurityElement.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Security.SecurityElement.get_Tag() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Security.SecurityException.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Single.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Single.ToString(System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Single.ToString(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Single.ToString(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.String.Concat(System.Object,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.String.Concat(System.Object,System.Object,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.String.Concat(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.String System.String.Concat(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.String System.String.Concat(System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>,System.ReadOnlySpan<System.Char>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.String System.String.Concat(System.String,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.String.Concat(System.String,System.String,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.String.Concat(System.String,System.String,System.String,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.String.Copy(System.String) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.String System.String.Copy(System.String) | [ObsoleteAttribute(...)] | 0 | This API should not be used to create mutable strings. See https://go.microsoft.com/fwlink/?linkid=2084035 for alternatives. | -| System.String System.String.Create(System.IFormatProvider,System.Span<System.Char>,System.Runtime.CompilerServices.DefaultInterpolatedStringHandler) | [NullableContextAttribute(...)] | 0 | 0 | -| System.String System.String.Format(System.IFormatProvider,System.String,System.Object,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.String.Format(System.IFormatProvider,System.String,System.Object,System.Object,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.String.Format(System.String,System.Object,System.Object,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Text.ASCIIEncoding.GetString(System.Byte[],System.Int32,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Text.Encoding.GetString(System.Byte*,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.String System.Text.Encoding.GetString(System.Byte*,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.String System.Text.Encoding.GetString(System.ReadOnlySpan<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.String System.Text.Rune.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Text.UTF8Encoding.GetString(System.Byte[],System.Int32,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Threading.Tasks.ValueTask`1.ToString() | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Threading.Thread.get_Name() | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Threading.ThreadLocal`1.ToString() | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.TimeOnly.ToLongTimeString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.TimeOnly.ToShortTimeString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.TimeOnly.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.TimeOnly.ToString(System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.TimeOnly.ToString(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.TimeOnly.ToString(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.TimeSpan.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.TimeSpan.ToString(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.TimeSpan.ToString(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Tuple`1.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Tuple`2.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Type.get_AssemblyQualifiedName() | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Type.get_FullName() | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.Type.get_Namespace() | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.UInt16.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.UInt16.ToString(System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.UInt16.ToString(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.UInt16.ToString(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.UInt32.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.UInt32.ToString(System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.UInt32.ToString(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.UInt32.ToString(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.UInt64.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.UInt64.ToString(System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.UInt64.ToString(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.UInt64.ToString(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.UInt128.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.UInt128.ToString(System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.UInt128.ToString(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.UInt128.ToString(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.UIntPtr.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.UIntPtr.ToString(System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.UIntPtr.ToString(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.UIntPtr.ToString(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 2 | -| System.String System.ValueTuple`1.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.ValueTuple`2.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.ValueTuple`3.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.ValueTuple`4.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Version.ToString() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String System.Version.ToString(System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.StringComparer | [NullableAttribute(...)] | 0 | 0 | -| System.StringComparer | [NullableContextAttribute(...)] | 0 | 1 | -| System.StringComparer | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.StringComparer System.Globalization.GlobalizationExtensions.GetStringComparer(System.Globalization.CompareInfo,System.Globalization.CompareOptions) | [NullableContextAttribute(...)] | 0 | 1 | -| System.StringNormalizationExtensions | [NullableAttribute(...)] | 0 | 0 | -| System.StringNormalizationExtensions | [NullableContextAttribute(...)] | 0 | 1 | -| System.String[] System.DateTime.GetDateTimeFormats() | [NullableContextAttribute(...)] | 0 | 1 | -| System.String[] System.DateTime.GetDateTimeFormats(System.Char) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String[] System.DateTime.GetDateTimeFormats(System.Char,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.String[] System.DateTime.GetDateTimeFormats(System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.SystemException | [NullableAttribute(...)] | 0 | 0 | -| System.SystemException | [NullableContextAttribute(...)] | 0 | 2 | -| System.SystemException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Text.CompositeFormat | [DebuggerDisplayAttribute(...)] | 0 | {Format} | -| System.Text.CompositeFormat | [NullableAttribute(...)] | 0 | 0 | -| System.Text.CompositeFormat | [NullableAttribute(...)] | 0 | 1 | -| System.Text.CompositeFormat | [NullableContextAttribute(...)] | 0 | 1 | -| System.Text.CompositeFormat._segments | [TupleElementNamesAttribute(...)] | 0 | [Literal,ArgIndex,Alignment,Format] | -| System.Text.Decoder System.Text.ASCIIEncoding.GetDecoder() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Text.Decoder System.Text.UTF8Encoding.GetDecoder() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Text.DecoderFallback | [NullableAttribute(...)] | 0 | 0 | -| System.Text.DecoderFallback | [NullableContextAttribute(...)] | 0 | 1 | -| System.Text.DecoderFallback System.Text.Decoder.Fallback | [NullableAttribute(...)] | 0 | 2 | -| System.Text.DecoderFallback System.Text.Decoder.get_Fallback() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Text.DecoderFallbackBuffer System.Text.Decoder.FallbackBuffer | [NullableAttribute(...)] | 0 | 1 | -| System.Text.DecoderFallbackBuffer System.Text.Decoder.get_FallbackBuffer() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Text.DecoderFallbackBuffer System.Text.DecoderExceptionFallback.CreateFallbackBuffer() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Text.DecoderFallbackException | [NullableAttribute(...)] | 0 | 0 | -| System.Text.DecoderFallbackException | [NullableContextAttribute(...)] | 0 | 2 | -| System.Text.DecoderFallbackException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Text.DecoderReplacementFallback | [NullableAttribute(...)] | 0 | 0 | -| System.Text.DecoderReplacementFallback | [NullableContextAttribute(...)] | 0 | 1 | -| System.Text.DecoderReplacementFallbackBuffer | [NullableAttribute(...)] | 0 | 0 | -| System.Text.DecoderReplacementFallbackBuffer | [NullableContextAttribute(...)] | 0 | 1 | -| System.Text.Encoder System.Text.ASCIIEncoding.GetEncoder() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Text.Encoder System.Text.UTF8Encoding.GetEncoder() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Text.EncoderFallback | [NullableAttribute(...)] | 0 | 0 | -| System.Text.EncoderFallback | [NullableContextAttribute(...)] | 0 | 1 | -| System.Text.EncoderFallback System.Text.Encoder.Fallback | [NullableAttribute(...)] | 0 | 2 | -| System.Text.EncoderFallback System.Text.Encoder.get_Fallback() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Text.EncoderFallbackBuffer System.Text.Encoder.FallbackBuffer | [NullableAttribute(...)] | 0 | 1 | -| System.Text.EncoderFallbackBuffer System.Text.Encoder.get_FallbackBuffer() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Text.EncoderFallbackBuffer System.Text.EncoderExceptionFallback.CreateFallbackBuffer() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Text.EncoderFallbackException | [NullableAttribute(...)] | 0 | 0 | -| System.Text.EncoderFallbackException | [NullableContextAttribute(...)] | 0 | 2 | -| System.Text.EncoderFallbackException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Text.EncoderReplacementFallback | [NullableAttribute(...)] | 0 | 0 | -| System.Text.EncoderReplacementFallback | [NullableContextAttribute(...)] | 0 | 1 | -| System.Text.Encoding | [NullableAttribute(...)] | 0 | 0 | -| System.Text.Encoding | [NullableAttribute(...)] | 0 | 1 | -| System.Text.Encoding | [NullableAttribute(...)] | 0 | 2 | -| System.Text.Encoding | [NullableContextAttribute(...)] | 0 | 1 | -| System.Text.Encoding System.Console.InputEncoding | [UnsupportedOSPlatformAttribute(...)] | 0 | android | -| System.Text.Encoding System.Console.InputEncoding | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Text.Encoding System.Console.InputEncoding | [UnsupportedOSPlatformAttribute(...)] | 0 | ios | -| System.Text.Encoding System.Console.InputEncoding | [UnsupportedOSPlatformAttribute(...)] | 0 | tvos | -| System.Text.Encoding System.Text.Encoding.UTF7 | [ObsoleteAttribute(...)] | 0 | The UTF-7 encoding is insecure and should not be used. Consider using UTF-8 instead. | -| System.Text.Encoding System.Text.EncodingProvider.GetEncoding(System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Text.EncodingInfo | [NullableAttribute(...)] | 0 | 0 | -| System.Text.EncodingInfo | [NullableContextAttribute(...)] | 0 | 1 | -| System.Text.EncodingProvider | [NullableAttribute(...)] | 0 | 0 | -| System.Text.EncodingProvider | [NullableContextAttribute(...)] | 0 | 1 | -| System.Text.EncodingProvider System.Text.EncodingInfo.Provider | [NullableAttribute(...)] | 0 | 2 | -| System.Text.NormalizationForm.FormKC | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Text.NormalizationForm.FormKD | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Text.Rune | [DebuggerDisplayAttribute(...)] | 0 | {DebuggerDisplay,nq} | -| System.Text.Rune System.Text.Rune.GetRuneAt(System.String,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Text.Rune System.Text.Rune.ToLower(System.Text.Rune,System.Globalization.CultureInfo) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Text.Rune System.Text.Rune.ToUpper(System.Text.Rune,System.Globalization.CultureInfo) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Text.Rune System.Text.Rune.op_Explicit(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Text.SpanLineEnumerator | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.Text.SpanLineEnumerator | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.Text.SpanLineEnumerator | [ObsoleteAttribute(...)] | 1 | True | -| System.Text.SpanRuneEnumerator | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.Text.SpanRuneEnumerator | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.Text.SpanRuneEnumerator | [ObsoleteAttribute(...)] | 1 | True | -| System.Text.StringBuilder | [DefaultMemberAttribute(...)] | 0 | Chars | -| System.Text.StringBuilder | [NotNullWhenAttribute(...)] | 0 | True | -| System.Text.StringBuilder | [NullableAttribute(...)] | 0 | 0 | -| System.Text.StringBuilder | [NullableAttribute(...)] | 0 | 2 | -| System.Text.StringBuilder | [NullableContextAttribute(...)] | 0 | 1 | -| System.Text.StringBuilder | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Text.StringBuilder System.Text.StringBuilder.Append(System.Char*,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Text.StringBuilder System.Text.StringBuilder.Append(System.Char*,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Text.StringBuilder System.Text.StringBuilder.Append(System.ReadOnlyMemory<System.Char>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Text.StringBuilder System.Text.StringBuilder.Append(System.ReadOnlySpan<System.Char>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Text.StringBuilder System.Text.StringBuilder.Append(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Text.StringBuilder System.Text.StringBuilder.Append(System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Text.StringBuilder System.Text.StringBuilder.Append(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Text.StringBuilder System.Text.StringBuilder.Append(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Text.StringBuilder System.Text.StringBuilder.AppendFormat(System.IFormatProvider,System.String,System.Object,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Text.StringBuilder System.Text.StringBuilder.AppendFormat(System.IFormatProvider,System.String,System.Object,System.Object,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Text.StringBuilder System.Text.StringBuilder.AppendFormat(System.String,System.Object,System.Object,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Text.StringBuilder System.Text.StringBuilder.Insert(System.Int32,System.ReadOnlySpan<System.Char>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Text.StringBuilder System.Text.StringBuilder.Insert(System.Int32,System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Text.StringBuilder System.Text.StringBuilder.Insert(System.Int32,System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Text.StringBuilder System.Text.StringBuilder.Insert(System.Int32,System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Text.StringBuilder System.Text.StringBuilder.Insert(System.Int32,System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Text.StringBuilder.AppendInterpolatedStringHandler | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Text.StringBuilder.AppendInterpolatedStringHandler | [InterpolatedStringHandlerArgumentAttribute(...)] | 0 | | -| System.Text.StringBuilder.AppendInterpolatedStringHandler | [InterpolatedStringHandlerArgumentAttribute(...)] | 0 | [,provider] | -| System.Text.StringBuilder.AppendInterpolatedStringHandler | [NullableAttribute(...)] | 0 | 0 | -| System.Text.StringBuilder.ChunkEnumerator | [NullableContextAttribute(...)] | 0 | 0 | -| System.Text.StringBuilder.ChunkEnumerator System.Text.StringBuilder.ChunkEnumerator.GetEnumerator() | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Text.UTF7Encoding | [NullableAttribute(...)] | 0 | 0 | -| System.Text.UTF7Encoding | [NullableContextAttribute(...)] | 0 | 1 | -| System.Text.UTF32Encoding | [NullableAttribute(...)] | 0 | 0 | -| System.Text.UTF32Encoding | [NullableContextAttribute(...)] | 0 | 1 | -| System.Text.Unicode.TextSegmentationUtility.Processor`1 | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.Text.Unicode.TextSegmentationUtility.Processor`1 | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.Text.Unicode.TextSegmentationUtility.Processor`1 | [ObsoleteAttribute(...)] | 1 | True | -| System.Text.Unicode.Utf8.TryWriteInterpolatedStringHandler | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.Text.Unicode.Utf8.TryWriteInterpolatedStringHandler | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Text.Unicode.Utf8.TryWriteInterpolatedStringHandler | [InterpolatedStringHandlerArgumentAttribute(...)] | 0 | [destination,provider] | -| System.Text.Unicode.Utf8.TryWriteInterpolatedStringHandler | [InterpolatedStringHandlerArgumentAttribute(...)] | 0 | destination | -| System.Text.Unicode.Utf8.TryWriteInterpolatedStringHandler | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.Text.Unicode.Utf8.TryWriteInterpolatedStringHandler | [ObsoleteAttribute(...)] | 1 | True | -| System.Text.UnicodeEncoding | [NullableAttribute(...)] | 0 | 0 | -| System.Text.UnicodeEncoding | [NullableContextAttribute(...)] | 0 | 1 | -| System.Text.ValueStringBuilder | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.Text.ValueStringBuilder | [DefaultMemberAttribute(...)] | 0 | Item | -| System.Text.ValueStringBuilder | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.Text.ValueStringBuilder | [ObsoleteAttribute(...)] | 1 | True | -| System.Text.ValueUtf8Converter | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.Text.ValueUtf8Converter | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.Text.ValueUtf8Converter | [ObsoleteAttribute(...)] | 1 | True | -| System.ThreadStaticAttribute | [AttributeUsageAttribute(...)] | 0 | 256 | -| System.Threading.AbandonedMutexException | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.AbandonedMutexException | [NullableContextAttribute(...)] | 0 | 2 | -| System.Threading.AbandonedMutexException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Threading.ApartmentState System.Threading.Thread.ApartmentState | [ObsoleteAttribute(...)] | 0 | The ApartmentState property has been deprecated. Use GetApartmentState, SetApartmentState or TrySetApartmentState instead. | -| System.Threading.AsyncLocalValueChangedArgs`1 | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.AsyncLocalValueChangedArgs`1 | [NullableContextAttribute(...)] | 0 | 2 | -| System.Threading.AsyncLocal`1 | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.AsyncLocal`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.CancellationToken | [DebuggerDisplayAttribute(...)] | 0 | IsCancellationRequested = {IsCancellationRequested} | -| System.Threading.CancellationToken | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.CancellationToken | [NullableContextAttribute(...)] | 0 | 2 | -| System.Threading.CancellationTokenRegistration System.Threading.CancellationToken.Register(System.Action) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.CancellationTokenRegistration System.Threading.CancellationToken.Register(System.Action,System.Boolean) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.CancellationTokenSource | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.CancellationTokenSource | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.CompressedStack | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.CompressedStack | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.CompressedStack System.Threading.Thread.GetCompressedStack() | [ObsoleteAttribute(...)] | 0 | Code Access Security is not supported or honored by the runtime. | -| System.Threading.EventWaitHandle | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.EventWaitHandle | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.EventWaitHandle System.Threading.EventWaitHandle.OpenExisting(System.String) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Threading.ExecutionContext | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.ExecutionContext | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.ExecutionContext System.Threading.ExecutionContext.Capture() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Threading.ExecutionContext System.Threading.Tasks.Task.CapturedContext | [NullableAttribute(...)] | 0 | 2 | -| System.Threading.ExecutionContext System.Threading.Thread.ExecutionContext | [NullableAttribute(...)] | 0 | 2 | -| System.Threading.ExecutionContext System.Threading.Thread.get_ExecutionContext() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Threading.IOCompletionCallback | [CLSCompliantAttribute(...)] | 0 | False | -| System.Threading.IOCompletionCallback | [NullableAttribute(...)] | 0 | 1 | -| System.Threading.IOCompletionCallback | [NullableAttribute(...)] | 0 | 2 | -| System.Threading.Interlocked | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.Interlocked | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.LazyInitializer | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.LazyInitializer | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.LockRecursionException | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.LockRecursionException | [NullableContextAttribute(...)] | 0 | 2 | -| System.Threading.LockRecursionException | [TypeForwardedFromAttribute(...)] | 0 | System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Threading.ManualResetEventSlim | [DebuggerDisplayAttribute(...)] | 0 | Set = {IsSet} | -| System.Threading.Monitor | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.Monitor | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.Mutex | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.Mutex | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.NativeOverlapped* System.Threading.Overlapped.Pack(System.Threading.IOCompletionCallback) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Threading.NativeOverlapped* System.Threading.Overlapped.Pack(System.Threading.IOCompletionCallback) | [ObsoleteAttribute(...)] | 0 | This overload is not safe and has been deprecated. Use Pack(IOCompletionCallback?, object?) instead. | -| System.Threading.NativeOverlapped* System.Threading.Overlapped.Pack(System.Threading.IOCompletionCallback,System.Object) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Threading.NativeOverlapped* System.Threading.Overlapped.Pack(System.Threading.IOCompletionCallback,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Threading.NativeOverlapped* System.Threading.Overlapped.UnsafePack(System.Threading.IOCompletionCallback) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Threading.NativeOverlapped* System.Threading.Overlapped.UnsafePack(System.Threading.IOCompletionCallback) | [ObsoleteAttribute(...)] | 0 | This overload is not safe and has been deprecated. Use UnsafePack(IOCompletionCallback?, object?) instead. | -| System.Threading.NativeOverlapped* System.Threading.Overlapped.UnsafePack(System.Threading.IOCompletionCallback,System.Object) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Threading.NativeOverlapped* System.Threading.Overlapped.UnsafePack(System.Threading.IOCompletionCallback,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Threading.NativeOverlapped* System.Threading.ThreadPoolBoundHandle.AllocateNativeOverlapped(System.Threading.IOCompletionCallback,System.Object,System.Object) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Threading.NativeOverlapped* System.Threading.ThreadPoolBoundHandle.AllocateNativeOverlapped(System.Threading.IOCompletionCallback,System.Object,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Threading.NativeOverlapped* System.Threading.ThreadPoolBoundHandle.AllocateNativeOverlapped(System.Threading.PreAllocatedOverlapped) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Threading.NativeOverlapped* System.Threading.ThreadPoolBoundHandle.UnsafeAllocateNativeOverlapped(System.Threading.IOCompletionCallback,System.Object,System.Object) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Threading.NativeOverlapped* System.Threading.ThreadPoolBoundHandle.UnsafeAllocateNativeOverlapped(System.Threading.IOCompletionCallback,System.Object,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Threading.Overlapped System.Threading.Overlapped.Unpack(System.Threading.NativeOverlapped*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Threading.PreAllocatedOverlapped | [NullableAttribute(...)] | 0 | 1 | -| System.Threading.PreAllocatedOverlapped System.Threading.PreAllocatedOverlapped.UnsafeCreate(System.Threading.IOCompletionCallback,System.Object,System.Object) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Threading.PreAllocatedOverlapped System.Threading.PreAllocatedOverlapped.UnsafeCreate(System.Threading.IOCompletionCallback,System.Object,System.Object) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.RegisteredWaitHandle | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.RegisteredWaitHandle | [NullableContextAttribute(...)] | 0 | 2 | -| System.Threading.RegisteredWaitHandle | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Threading.RegisteredWaitHandle System.Threading.ThreadPool.RegisterWaitForSingleObject(System.Threading.WaitHandle,System.Threading.WaitOrTimerCallback,System.Object,System.Int32,System.Boolean) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Threading.RegisteredWaitHandle System.Threading.ThreadPool.RegisterWaitForSingleObject(System.Threading.WaitHandle,System.Threading.WaitOrTimerCallback,System.Object,System.Int64,System.Boolean) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Threading.RegisteredWaitHandle System.Threading.ThreadPool.RegisterWaitForSingleObject(System.Threading.WaitHandle,System.Threading.WaitOrTimerCallback,System.Object,System.TimeSpan,System.Boolean) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Threading.RegisteredWaitHandle System.Threading.ThreadPool.RegisterWaitForSingleObject(System.Threading.WaitHandle,System.Threading.WaitOrTimerCallback,System.Object,System.UInt32,System.Boolean) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Threading.RegisteredWaitHandle System.Threading.ThreadPool.RegisterWaitForSingleObject(System.Threading.WaitHandle,System.Threading.WaitOrTimerCallback,System.Object,System.UInt32,System.Boolean) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Threading.RegisteredWaitHandle System.Threading.ThreadPool.UnsafeRegisterWaitForSingleObject(System.Threading.WaitHandle,System.Threading.WaitOrTimerCallback,System.Object,System.Int32,System.Boolean) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Threading.RegisteredWaitHandle System.Threading.ThreadPool.UnsafeRegisterWaitForSingleObject(System.Threading.WaitHandle,System.Threading.WaitOrTimerCallback,System.Object,System.Int64,System.Boolean) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Threading.RegisteredWaitHandle System.Threading.ThreadPool.UnsafeRegisterWaitForSingleObject(System.Threading.WaitHandle,System.Threading.WaitOrTimerCallback,System.Object,System.TimeSpan,System.Boolean) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Threading.RegisteredWaitHandle System.Threading.ThreadPool.UnsafeRegisterWaitForSingleObject(System.Threading.WaitHandle,System.Threading.WaitOrTimerCallback,System.Object,System.UInt32,System.Boolean) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Threading.RegisteredWaitHandle System.Threading.ThreadPool.UnsafeRegisterWaitForSingleObject(System.Threading.WaitHandle,System.Threading.WaitOrTimerCallback,System.Object,System.UInt32,System.Boolean) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Threading.Semaphore | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.Semaphore | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.Semaphore System.Threading.Semaphore.OpenExisting(System.String) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Threading.SemaphoreFullException | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.SemaphoreFullException | [NullableContextAttribute(...)] | 0 | 2 | -| System.Threading.SemaphoreFullException | [TypeForwardedFromAttribute(...)] | 0 | System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Threading.SemaphoreSlim | [DebuggerDisplayAttribute(...)] | 0 | Current Count = {m_currentCount} | -| System.Threading.SemaphoreSlim | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.SemaphoreSlim | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.SemaphoreSlim System.IO.Stream.EnsureAsyncActiveSemaphoreInitialized() | [MemberNotNullAttribute(...)] | 0 | _asyncActiveSemaphore | -| System.Threading.SpinLock | [DebuggerDisplayAttribute(...)] | 0 | IsHeld = {IsHeld} | -| System.Threading.SpinLock | [DebuggerTypeProxyAttribute(...)] | 0 | System.Threading.SpinLock.SystemThreading_SpinLockDebugView | -| System.Threading.SpinWait | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.SpinWait | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.SynchronizationContext | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.SynchronizationContext | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.SynchronizationContext System.Threading.SynchronizationContext.Current | [NullableAttribute(...)] | 0 | 2 | -| System.Threading.SynchronizationContext System.Threading.SynchronizationContext.get_Current() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Threading.SynchronizationLockException | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.SynchronizationLockException | [NullableContextAttribute(...)] | 0 | 2 | -| System.Threading.SynchronizationLockException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Threading.Tasks.ConcurrentExclusiveSchedulerPair | [DebuggerDisplayAttribute(...)] | 0 | Concurrent = {ConcurrentTaskCountForDebugger}, Exclusive = {ExclusiveTaskCountForDebugger}, Mode = {ModeForDebugger} | -| System.Threading.Tasks.ConcurrentExclusiveSchedulerPair | [DebuggerTypeProxyAttribute(...)] | 0 | System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.DebugView | -| System.Threading.Tasks.ConcurrentExclusiveSchedulerPair | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.Tasks.ConcurrentExclusiveSchedulerPair | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ConcurrentExclusiveTaskScheduler | [DebuggerDisplayAttribute(...)] | 0 | Count = {CountForDebugger}, MaxConcurrencyLevel = {m_maxConcurrencyLevel}, Id = {Id} | -| System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ConcurrentExclusiveTaskScheduler | [DebuggerTypeProxyAttribute(...)] | 0 | System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ConcurrentExclusiveTaskScheduler.DebugView | -| System.Threading.Tasks.Sources.IValueTaskSource | [NullableContextAttribute(...)] | 0 | 2 | -| System.Threading.Tasks.Sources.IValueTaskSource`1 | [NullableContextAttribute(...)] | 0 | 2 | -| System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1 | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.Tasks.Task | [DebuggerDisplayAttribute(...)] | 0 | Id = {Id}, Status = {Status}, Method = {DebuggerDisplayMethodDescription} | -| System.Threading.Tasks.Task | [DebuggerTypeProxyAttribute(...)] | 0 | System.Threading.Tasks.SystemThreadingTasks_TaskDebugView | -| System.Threading.Tasks.Task | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.Tasks.Task | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.Tasks.Task System.CodeDom.Compiler.IndentedTextWriter.OutputTabsAsync() | [AsyncStateMachineAttribute(...)] | 0 | System.CodeDom.Compiler.IndentedTextWriter.<OutputTabsAsync>d__23 | -| System.Threading.Tasks.Task System.CodeDom.Compiler.IndentedTextWriter.WriteAsync(System.Char) | [AsyncStateMachineAttribute(...)] | 0 | System.CodeDom.Compiler.IndentedTextWriter.<WriteAsync>d__37 | -| System.Threading.Tasks.Task System.CodeDom.Compiler.IndentedTextWriter.WriteAsync(System.Char[],System.Int32,System.Int32) | [AsyncStateMachineAttribute(...)] | 0 | System.CodeDom.Compiler.IndentedTextWriter.<WriteAsync>d__38 | -| System.Threading.Tasks.Task System.CodeDom.Compiler.IndentedTextWriter.WriteAsync(System.ReadOnlyMemory<System.Char>,System.Threading.CancellationToken) | [AsyncStateMachineAttribute(...)] | 0 | System.CodeDom.Compiler.IndentedTextWriter.<WriteAsync>d__40 | -| System.Threading.Tasks.Task System.CodeDom.Compiler.IndentedTextWriter.WriteAsync(System.ReadOnlyMemory<System.Char>,System.Threading.CancellationToken) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Threading.Tasks.Task System.CodeDom.Compiler.IndentedTextWriter.WriteAsync(System.String) | [AsyncStateMachineAttribute(...)] | 0 | System.CodeDom.Compiler.IndentedTextWriter.<WriteAsync>d__39 | -| System.Threading.Tasks.Task System.CodeDom.Compiler.IndentedTextWriter.WriteAsync(System.Text.StringBuilder,System.Threading.CancellationToken) | [AsyncStateMachineAttribute(...)] | 0 | System.CodeDom.Compiler.IndentedTextWriter.<WriteAsync>d__41 | -| System.Threading.Tasks.Task System.CodeDom.Compiler.IndentedTextWriter.WriteLineAsync() | [AsyncStateMachineAttribute(...)] | 0 | System.CodeDom.Compiler.IndentedTextWriter.<WriteLineAsync>d__59 | -| System.Threading.Tasks.Task System.CodeDom.Compiler.IndentedTextWriter.WriteLineAsync(System.Char) | [AsyncStateMachineAttribute(...)] | 0 | System.CodeDom.Compiler.IndentedTextWriter.<WriteLineAsync>d__60 | -| System.Threading.Tasks.Task System.CodeDom.Compiler.IndentedTextWriter.WriteLineAsync(System.Char[],System.Int32,System.Int32) | [AsyncStateMachineAttribute(...)] | 0 | System.CodeDom.Compiler.IndentedTextWriter.<WriteLineAsync>d__61 | -| System.Threading.Tasks.Task System.CodeDom.Compiler.IndentedTextWriter.WriteLineAsync(System.ReadOnlyMemory<System.Char>,System.Threading.CancellationToken) | [AsyncStateMachineAttribute(...)] | 0 | System.CodeDom.Compiler.IndentedTextWriter.<WriteLineAsync>d__63 | -| System.Threading.Tasks.Task System.CodeDom.Compiler.IndentedTextWriter.WriteLineAsync(System.ReadOnlyMemory<System.Char>,System.Threading.CancellationToken) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Threading.Tasks.Task System.CodeDom.Compiler.IndentedTextWriter.WriteLineAsync(System.String) | [AsyncStateMachineAttribute(...)] | 0 | System.CodeDom.Compiler.IndentedTextWriter.<WriteLineAsync>d__62 | -| System.Threading.Tasks.Task System.CodeDom.Compiler.IndentedTextWriter.WriteLineAsync(System.Text.StringBuilder,System.Threading.CancellationToken) | [AsyncStateMachineAttribute(...)] | 0 | System.CodeDom.Compiler.IndentedTextWriter.<WriteLineAsync>d__64 | -| System.Threading.Tasks.Task System.IO.BufferedStream.CopyToAsyncCore(System.IO.Stream,System.Int32,System.Threading.CancellationToken) | [AsyncStateMachineAttribute(...)] | 0 | System.IO.BufferedStream.<CopyToAsyncCore>d__68 | -| System.Threading.Tasks.Task System.IO.BufferedStream.FlushAsyncInternal(System.Threading.CancellationToken) | [AsyncStateMachineAttribute(...)] | 0 | System.IO.BufferedStream.<FlushAsyncInternal>d__36 | -| System.Threading.Tasks.Task System.IO.File.<WriteAllBytesAsync>g__Core\|92_0(System.String,System.Byte[],System.Threading.CancellationToken) | [AsyncStateMachineAttribute(...)] | 0 | System.IO.File.<<WriteAllBytesAsync>g__Core\|92_0>d | -| System.Threading.Tasks.Task System.IO.File.InternalWriteAllLinesAsync(System.IO.StreamWriter,System.Collections.Generic.IEnumerable<System.String>,System.Threading.CancellationToken) | [AsyncStateMachineAttribute(...)] | 0 | System.IO.File.<InternalWriteAllLinesAsync>d__98 | -| System.Threading.Tasks.Task System.IO.File.WriteToFileAsync(System.String,System.IO.FileMode,System.String,System.Text.Encoding,System.Threading.CancellationToken) | [AsyncStateMachineAttribute(...)] | 0 | System.IO.File.<WriteToFileAsync>d__108 | -| System.Threading.Tasks.Task System.IO.Strategies.BufferedFileStreamStrategy.CopyToAsyncCore(System.IO.Stream,System.Int32,System.Threading.CancellationToken) | [AsyncStateMachineAttribute(...)] | 0 | System.IO.Strategies.BufferedFileStreamStrategy.<CopyToAsyncCore>d__57 | -| System.Threading.Tasks.Task System.IO.Strategies.BufferedFileStreamStrategy.FlushAsyncInternal(System.Threading.CancellationToken) | [AsyncStateMachineAttribute(...)] | 0 | System.IO.Strategies.BufferedFileStreamStrategy.<FlushAsyncInternal>d__55 | -| System.Threading.Tasks.Task System.IO.Stream.<CopyToAsync>g__Core\|27_0(System.IO.Stream,System.IO.Stream,System.Int32,System.Threading.CancellationToken) | [AsyncStateMachineAttribute(...)] | 0 | System.IO.Stream.<<CopyToAsync>g__Core\|27_0>d | -| System.Threading.Tasks.Task System.IO.Stream.FinishWriteAsync(System.Threading.Tasks.Task,System.Byte[]) | [AsyncStateMachineAttribute(...)] | 0 | System.IO.Stream.<FinishWriteAsync>d__61 | -| System.Threading.Tasks.Task System.IO.StreamWriter.<FlushAsyncInternal>g__Core\|76_0(System.Boolean,System.Boolean,System.Threading.CancellationToken) | [AsyncStateMachineAttribute(...)] | 0 | System.IO.StreamWriter.<<FlushAsyncInternal>g__Core\|76_0>d | -| System.Threading.Tasks.Task System.IO.StreamWriter.WriteAsync(System.ReadOnlyMemory<System.Char>,System.Threading.CancellationToken) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Threading.Tasks.Task System.IO.StreamWriter.WriteAsyncInternal(System.Char,System.Boolean) | [AsyncStateMachineAttribute(...)] | 0 | System.IO.StreamWriter.<WriteAsyncInternal>d__64 | -| System.Threading.Tasks.Task System.IO.StreamWriter.WriteAsyncInternal(System.ReadOnlyMemory<System.Char>,System.Boolean,System.Threading.CancellationToken) | [AsyncStateMachineAttribute(...)] | 0 | System.IO.StreamWriter.<WriteAsyncInternal>d__68 | -| System.Threading.Tasks.Task System.IO.StreamWriter.WriteLineAsync(System.ReadOnlyMemory<System.Char>,System.Threading.CancellationToken) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Threading.Tasks.Task System.IO.StringWriter.WriteAsync(System.ReadOnlyMemory<System.Char>,System.Threading.CancellationToken) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Threading.Tasks.Task System.IO.StringWriter.WriteLineAsync(System.ReadOnlyMemory<System.Char>,System.Threading.CancellationToken) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Threading.Tasks.Task System.IO.TextWriter.<WriteAsync>g__WriteAsyncCore\|60_0(System.Text.StringBuilder,System.Threading.CancellationToken) | [AsyncStateMachineAttribute(...)] | 0 | System.IO.TextWriter.<<WriteAsync>g__WriteAsyncCore\|60_0>d | -| System.Threading.Tasks.Task System.IO.TextWriter.<WriteLineAsync>g__WriteLineAsyncCore\|66_0(System.Text.StringBuilder,System.Threading.CancellationToken) | [AsyncStateMachineAttribute(...)] | 0 | System.IO.TextWriter.<<WriteLineAsync>g__WriteLineAsyncCore\|66_0>d | -| System.Threading.Tasks.Task System.IO.TextWriter.WriteAsync(System.ReadOnlyMemory<System.Char>,System.Threading.CancellationToken) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Threading.Tasks.Task System.IO.TextWriter.WriteLineAsync(System.ReadOnlyMemory<System.Char>,System.Threading.CancellationToken) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Threading.Tasks.Task System.IO.UnmanagedMemoryStream.FlushAsync(System.Threading.CancellationToken) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.Tasks.Task System.IO.UnmanagedMemoryStream.WriteAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.Tasks.Task System.Threading.Tasks.Task.InternalCurrent | [NullableAttribute(...)] | 0 | 2 | -| System.Threading.Tasks.Task System.Threading.Tasks.Task.ParentForDebugger | [NullableAttribute(...)] | 0 | 2 | -| System.Threading.Tasks.Task<!0> System.Threading.Tasks.Task.ContinueWith`1(System.Func<!0,System.Object,System.Threading.Tasks.Task>,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Threading.Tasks.Task<!0> System.Threading.Tasks.Task.ContinueWith`1(System.Func<!0,System.Object,System.Threading.Tasks.Task>,System.Object,System.Threading.CancellationToken) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Threading.Tasks.Task<!0> System.Threading.Tasks.Task.ContinueWith`1(System.Func<!0,System.Object,System.Threading.Tasks.Task>,System.Object,System.Threading.Tasks.TaskContinuationOptions) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Threading.Tasks.Task<!0> System.Threading.Tasks.TaskFactory.StartNew`1(System.Func<!0,System.Object>,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Threading.Tasks.Task<!0> System.Threading.Tasks.TaskFactory.StartNew`1(System.Func<!0,System.Object>,System.Object,System.Threading.CancellationToken) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Threading.Tasks.Task<!0> System.Threading.Tasks.TaskFactory.StartNew`1(System.Func<!0,System.Object>,System.Object,System.Threading.Tasks.TaskCreationOptions) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Threading.Tasks.Task<!0> System.Threading.Tasks.Task`1.ContinueWith`1(System.Func<!0,System.Object,System.Threading.Tasks.Task<!0>>,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Threading.Tasks.Task<!0> System.Threading.Tasks.Task`1.ContinueWith`1(System.Func<!0,System.Object,System.Threading.Tasks.Task<!0>>,System.Object,System.Threading.CancellationToken) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Threading.Tasks.Task<!0> System.Threading.Tasks.Task`1.ContinueWith`1(System.Func<!0,System.Object,System.Threading.Tasks.Task<!0>>,System.Object,System.Threading.Tasks.TaskContinuationOptions) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Threading.Tasks.Task<System.Boolean> System.Threading.SemaphoreSlim.WaitUntilCountOrTimeoutAsync(System.Threading.SemaphoreSlim.TaskNode,System.Int32,System.Threading.CancellationToken) | [AsyncStateMachineAttribute(...)] | 0 | System.Threading.SemaphoreSlim.<WaitUntilCountOrTimeoutAsync>d__31 | -| System.Threading.Tasks.Task<System.Byte[]> System.IO.File.InternalReadAllBytesAsync(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Int32,System.Threading.CancellationToken) | [AsyncStateMachineAttribute(...)] | 0 | System.IO.File.<InternalReadAllBytesAsync>d__90 | -| System.Threading.Tasks.Task<System.Byte[]> System.IO.File.InternalReadAllBytesUnknownLengthAsync(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Threading.CancellationToken) | [AsyncStateMachineAttribute(...)] | 0 | System.IO.File.<InternalReadAllBytesUnknownLengthAsync>d__91 | -| System.Threading.Tasks.Task<System.Int32> System.IO.UnmanagedMemoryStream.ReadAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.Tasks.Task<System.String> System.IO.File.InternalReadAllTextAsync(System.String,System.Text.Encoding,System.Threading.CancellationToken) | [AsyncStateMachineAttribute(...)] | 0 | System.IO.File.<InternalReadAllTextAsync>d__86 | -| System.Threading.Tasks.Task<System.String> System.IO.StreamReader.ReadLineAsyncInternal(System.Threading.CancellationToken) | [AsyncStateMachineAttribute(...)] | 0 | System.IO.StreamReader.<ReadLineAsyncInternal>d__63 | -| System.Threading.Tasks.Task<System.String> System.IO.StreamReader.ReadToEndAsyncInternal(System.Threading.CancellationToken) | [AsyncStateMachineAttribute(...)] | 0 | System.IO.StreamReader.<ReadToEndAsyncInternal>d__66 | -| System.Threading.Tasks.Task<System.String> System.IO.TextReader.ReadToEndAsync(System.Threading.CancellationToken) | [AsyncStateMachineAttribute(...)] | 0 | System.IO.TextReader.<ReadToEndAsync>d__17 | -| System.Threading.Tasks.Task<System.String[]> System.IO.File.InternalReadAllLinesAsync(System.String,System.Text.Encoding,System.Threading.CancellationToken) | [AsyncStateMachineAttribute(...)] | 0 | System.IO.File.<InternalReadAllLinesAsync>d__95 | -| System.Threading.Tasks.TaskAsyncEnumerableExtensions | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.Tasks.TaskAsyncEnumerableExtensions | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.Tasks.TaskCanceledException | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.Tasks.TaskCanceledException | [NullableContextAttribute(...)] | 0 | 2 | -| System.Threading.Tasks.TaskCanceledException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Threading.Tasks.TaskCompletionSource | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.Tasks.TaskCompletionSource | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.Tasks.TaskCompletionSource`1 | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.Tasks.TaskCompletionSource`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.Tasks.TaskExtensions | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.Tasks.TaskExtensions | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.Tasks.TaskFactory | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.Tasks.TaskFactory | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.Tasks.TaskFactory`1 | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.Tasks.TaskFactory`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.Tasks.TaskScheduler | [DebuggerDisplayAttribute(...)] | 0 | Id = {Id} | -| System.Threading.Tasks.TaskScheduler | [DebuggerTypeProxyAttribute(...)] | 0 | System.Threading.Tasks.TaskScheduler.SystemThreadingTasks_TaskSchedulerDebugView | -| System.Threading.Tasks.TaskScheduler | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.Tasks.TaskScheduler | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.Tasks.TaskScheduler System.Threading.Tasks.Task.ExecutingTaskScheduler | [NullableAttribute(...)] | 0 | 2 | -| System.Threading.Tasks.TaskScheduler System.Threading.Tasks.TaskFactory.Scheduler | [NullableAttribute(...)] | 0 | 2 | -| System.Threading.Tasks.TaskScheduler System.Threading.Tasks.TaskFactory.get_Scheduler() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Threading.Tasks.TaskScheduler System.Threading.Tasks.TaskFactory`1.Scheduler | [NullableAttribute(...)] | 0 | 2 | -| System.Threading.Tasks.TaskScheduler System.Threading.Tasks.TaskFactory`1.get_Scheduler() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Threading.Tasks.TaskScheduler System.Threading.Tasks.TaskScheduler.InternalCurrent | [NullableAttribute(...)] | 0 | 2 | -| System.Threading.Tasks.TaskScheduler.UnobservedTaskException | [NullableAttribute(...)] | 0 | [2,1] | -| System.Threading.Tasks.TaskSchedulerException | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.Tasks.TaskSchedulerException | [NullableContextAttribute(...)] | 0 | 2 | -| System.Threading.Tasks.TaskSchedulerException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Threading.Tasks.TaskToAsyncResult | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.Tasks.TaskToAsyncResult | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.Tasks.Task`1 | [DebuggerDisplayAttribute(...)] | 0 | Id = {Id}, Status = {Status}, Method = {DebuggerDisplayMethodDescription}, Result = {DebuggerDisplayResultDescription} | -| System.Threading.Tasks.Task`1 | [DebuggerTypeProxyAttribute(...)] | 0 | System.Threading.Tasks.SystemThreadingTasks_FutureDebugView`1 | -| System.Threading.Tasks.Task`1 | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.Tasks.Task`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.Tasks.TplEventSource | [GeneratedCodeAttribute(...)] | 0 | System.Private.CoreLib.Generators | -| System.Threading.Tasks.TplEventSource | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Threading.Tasks.UnobservedTaskExceptionEventArgs | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.Tasks.UnobservedTaskExceptionEventArgs | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.Tasks.ValueTask | [AsyncMethodBuilderAttribute(...)] | 0 | System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder | -| System.Threading.Tasks.ValueTask | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.Tasks.ValueTask | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.Tasks.ValueTask System.IO.BufferedStream.DisposeAsync() | [AsyncStateMachineAttribute(...)] | 0 | System.IO.BufferedStream.<DisposeAsync>d__33 | -| System.Threading.Tasks.ValueTask System.IO.BufferedStream.FlushWriteAsync(System.Threading.CancellationToken) | [AsyncStateMachineAttribute(...)] | 0 | System.IO.BufferedStream.<FlushWriteAsync>d__40 | -| System.Threading.Tasks.ValueTask System.IO.BufferedStream.WriteAsync(System.ReadOnlyMemory<System.Byte>,System.Threading.CancellationToken) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Threading.Tasks.ValueTask System.IO.BufferedStream.WriteToUnderlyingStreamAsync(System.ReadOnlyMemory<System.Byte>,System.Threading.CancellationToken,System.Threading.Tasks.Task) | [AsyncStateMachineAttribute(...)] | 0 | System.IO.BufferedStream.<WriteToUnderlyingStreamAsync>d__59 | -| System.Threading.Tasks.ValueTask System.IO.FileStream.DisposeAsync() | [AsyncStateMachineAttribute(...)] | 0 | System.IO.FileStream.<DisposeAsync>d__57 | -| System.Threading.Tasks.ValueTask System.IO.FileStream.WriteAsync(System.ReadOnlyMemory<System.Byte>,System.Threading.CancellationToken) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Threading.Tasks.ValueTask System.IO.MemoryStream.WriteAsync(System.ReadOnlyMemory<System.Byte>,System.Threading.CancellationToken) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Threading.Tasks.ValueTask System.IO.RandomAccess.WriteAsync(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Collections.Generic.IReadOnlyList<System.ReadOnlyMemory<System.Byte>>,System.Int64,System.Threading.CancellationToken) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.Tasks.ValueTask System.IO.Strategies.BufferedFileStreamStrategy.DisposeAsync() | [AsyncStateMachineAttribute(...)] | 0 | System.IO.Strategies.BufferedFileStreamStrategy.<DisposeAsync>d__27 | -| System.Threading.Tasks.ValueTask System.IO.Strategies.BufferedFileStreamStrategy.WriteAsyncSlowPath(System.Threading.Tasks.Task,System.ReadOnlyMemory<System.Byte>,System.Threading.CancellationToken) | [AsyncMethodBuilderAttribute(...)] | 0 | System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder | -| System.Threading.Tasks.ValueTask System.IO.Strategies.BufferedFileStreamStrategy.WriteAsyncSlowPath(System.Threading.Tasks.Task,System.ReadOnlyMemory<System.Byte>,System.Threading.CancellationToken) | [AsyncStateMachineAttribute(...)] | 0 | System.IO.Strategies.BufferedFileStreamStrategy.<WriteAsyncSlowPath>d__48 | -| System.Threading.Tasks.ValueTask System.IO.Strategies.BufferedFileStreamStrategy.WriteToNonSeekableAsync(System.ReadOnlyMemory<System.Byte>,System.Threading.CancellationToken) | [AsyncStateMachineAttribute(...)] | 0 | System.IO.Strategies.BufferedFileStreamStrategy.<WriteToNonSeekableAsync>d__47 | -| System.Threading.Tasks.ValueTask System.IO.Stream.ReadExactlyAsync(System.Memory<System.Byte>,System.Threading.CancellationToken) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Threading.Tasks.ValueTask System.IO.Stream.WriteAsync(System.ReadOnlyMemory<System.Byte>,System.Threading.CancellationToken) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Threading.Tasks.ValueTask System.IO.StreamWriter.DisposeAsyncCore() | [AsyncStateMachineAttribute(...)] | 0 | System.IO.StreamWriter.<DisposeAsyncCore>d__36 | -| System.Threading.Tasks.ValueTask System.Text.TranscodingStream.<DisposeAsync>g__DisposeAsyncCore\|30_0(System.ArraySegment<System.Byte>) | [AsyncStateMachineAttribute(...)] | 0 | System.Text.TranscodingStream.<<DisposeAsync>g__DisposeAsyncCore\|30_0>d | -| System.Threading.Tasks.ValueTask System.Text.TranscodingStream.<WriteAsync>g__WriteAsyncCore\|50_0(System.ReadOnlyMemory<System.Byte>,System.Threading.CancellationToken) | [AsyncStateMachineAttribute(...)] | 0 | System.Text.TranscodingStream.<<WriteAsync>g__WriteAsyncCore\|50_0>d | -| System.Threading.Tasks.ValueTask System.Threading.CancellationTokenSource.Registrations.WaitForCallbackToCompleteAsync(System.Int64) | [AsyncStateMachineAttribute(...)] | 0 | System.Threading.CancellationTokenSource.Registrations.<WaitForCallbackToCompleteAsync>d__12 | -| System.Threading.Tasks.ValueTask<!0> | [NullableAttribute(...)] | 0 | [0,1] | -| System.Threading.Tasks.ValueTask<!0> System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.Task | [NullableAttribute(...)] | 0 | [0,1] | -| System.Threading.Tasks.ValueTask<!0> System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1.Task | [NullableAttribute(...)] | 0 | [0,1] | -| System.Threading.Tasks.ValueTask<!0> System.Threading.Tasks.ValueTask.FromCanceled`1(System.Threading.CancellationToken) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Threading.Tasks.ValueTask<System.Int32> System.IO.BufferedStream.ReadAsync(System.Memory<System.Byte>,System.Threading.CancellationToken) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Threading.Tasks.ValueTask<System.Int32> System.IO.BufferedStream.ReadFromUnderlyingStreamAsync(System.Memory<System.Byte>,System.Threading.CancellationToken,System.Int32,System.Threading.Tasks.Task) | [AsyncStateMachineAttribute(...)] | 0 | System.IO.BufferedStream.<ReadFromUnderlyingStreamAsync>d__48 | -| System.Threading.Tasks.ValueTask<System.Int32> System.IO.FileStream.ReadAsync(System.Memory<System.Byte>,System.Threading.CancellationToken) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Threading.Tasks.ValueTask<System.Int32> System.IO.MemoryStream.ReadAsync(System.Memory<System.Byte>,System.Threading.CancellationToken) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Threading.Tasks.ValueTask<System.Int32> System.IO.Strategies.BufferedFileStreamStrategy.ReadAsyncSlowPath(System.Threading.Tasks.Task,System.Memory<System.Byte>,System.Threading.CancellationToken) | [AsyncMethodBuilderAttribute(...)] | 0 | System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1 | -| System.Threading.Tasks.ValueTask<System.Int32> System.IO.Strategies.BufferedFileStreamStrategy.ReadAsyncSlowPath(System.Threading.Tasks.Task,System.Memory<System.Byte>,System.Threading.CancellationToken) | [AsyncStateMachineAttribute(...)] | 0 | System.IO.Strategies.BufferedFileStreamStrategy.<ReadAsyncSlowPath>d__37 | -| System.Threading.Tasks.ValueTask<System.Int32> System.IO.Strategies.BufferedFileStreamStrategy.ReadFromNonSeekableAsync(System.Memory<System.Byte>,System.Threading.CancellationToken) | [AsyncStateMachineAttribute(...)] | 0 | System.IO.Strategies.BufferedFileStreamStrategy.<ReadFromNonSeekableAsync>d__36 | -| System.Threading.Tasks.ValueTask<System.Int32> System.IO.Stream.<ReadAsync>g__FinishReadAsync\|42_0(System.Threading.Tasks.Task<System.Int32>,System.Byte[],System.Memory<System.Byte>) | [AsyncStateMachineAttribute(...)] | 0 | System.IO.Stream.<<ReadAsync>g__FinishReadAsync\|42_0>d | -| System.Threading.Tasks.ValueTask<System.Int32> System.IO.Stream.ReadAsync(System.Memory<System.Byte>,System.Threading.CancellationToken) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Threading.Tasks.ValueTask<System.Int32> System.IO.Stream.ReadAtLeastAsync(System.Memory<System.Byte>,System.Int32,System.Boolean,System.Threading.CancellationToken) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Threading.Tasks.ValueTask<System.Int32> System.IO.Stream.ReadAtLeastAsyncCore(System.Memory<System.Byte>,System.Int32,System.Boolean,System.Threading.CancellationToken) | [AsyncMethodBuilderAttribute(...)] | 0 | System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1 | -| System.Threading.Tasks.ValueTask<System.Int32> System.IO.Stream.ReadAtLeastAsyncCore(System.Memory<System.Byte>,System.Int32,System.Boolean,System.Threading.CancellationToken) | [AsyncStateMachineAttribute(...)] | 0 | System.IO.Stream.<ReadAtLeastAsyncCore>d__46 | -| System.Threading.Tasks.ValueTask<System.Int32> System.IO.StreamReader.ReadAsync(System.Memory<System.Char>,System.Threading.CancellationToken) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Threading.Tasks.ValueTask<System.Int32> System.IO.StreamReader.ReadAsyncInternal(System.Memory<System.Char>,System.Threading.CancellationToken) | [AsyncStateMachineAttribute(...)] | 0 | System.IO.StreamReader.<ReadAsyncInternal>d__69 | -| System.Threading.Tasks.ValueTask<System.Int32> System.IO.StreamReader.ReadBlockAsync(System.Memory<System.Char>,System.Threading.CancellationToken) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Threading.Tasks.ValueTask<System.Int32> System.IO.StreamReader.ReadBufferAsync(System.Threading.CancellationToken) | [AsyncStateMachineAttribute(...)] | 0 | System.IO.StreamReader.<ReadBufferAsync>d__72 | -| System.Threading.Tasks.ValueTask<System.Int32> System.IO.StringReader.ReadAsync(System.Memory<System.Char>,System.Threading.CancellationToken) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Threading.Tasks.ValueTask<System.Int32> System.IO.StringReader.ReadBlockAsync(System.Memory<System.Char>,System.Threading.CancellationToken) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Threading.Tasks.ValueTask<System.Int32> System.IO.TextReader.ReadAsync(System.Memory<System.Char>,System.Threading.CancellationToken) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Threading.Tasks.ValueTask<System.Int32> System.IO.TextReader.ReadBlockAsync(System.Memory<System.Char>,System.Threading.CancellationToken) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Threading.Tasks.ValueTask<System.Int32> System.IO.TextReader.ReadBlockAsyncInternal(System.Memory<System.Char>,System.Threading.CancellationToken) | [AsyncStateMachineAttribute(...)] | 0 | System.IO.TextReader.<ReadBlockAsyncInternal>d__23 | -| System.Threading.Tasks.ValueTask<System.Int32> System.Text.TranscodingStream.<ReadAsync>g__ReadAsyncCore\|41_0(System.Memory<System.Byte>,System.Threading.CancellationToken) | [AsyncStateMachineAttribute(...)] | 0 | System.Text.TranscodingStream.<<ReadAsync>g__ReadAsyncCore\|41_0>d | -| System.Threading.Tasks.ValueTask`1 | [AsyncMethodBuilderAttribute(...)] | 0 | System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1 | -| System.Threading.Tasks.ValueTask`1 | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.Tasks.ValueTask`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.Thread | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.Thread | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.ThreadAbortException | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.ThreadAbortException | [NullableContextAttribute(...)] | 0 | 2 | -| System.Threading.ThreadAbortException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Threading.ThreadExceptionEventArgs | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.ThreadExceptionEventArgs | [NullableAttribute(...)] | 0 | 1 | -| System.Threading.ThreadExceptionEventArgs | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.ThreadInterruptedException | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.ThreadInterruptedException | [NullableContextAttribute(...)] | 0 | 2 | -| System.Threading.ThreadInterruptedException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Threading.ThreadLocal<System.Object> System.LocalDataStoreSlot.Data | [NullableAttribute(...)] | 0 | [1,2] | -| System.Threading.ThreadLocal`1 | [DebuggerDisplayAttribute(...)] | 0 | IsValueCreated = {IsValueCreated}, Value = {ValueForDebugDisplay}, Count = {ValuesCountForDebugDisplay} | -| System.Threading.ThreadLocal`1 | [DebuggerTypeProxyAttribute(...)] | 0 | System.Threading.SystemThreading_ThreadLocalDebugView`1 | -| System.Threading.ThreadLocal`1 | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.ThreadLocal`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.ThreadPool | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.ThreadPool | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.ThreadPoolBoundHandle System.Threading.ThreadPoolBoundHandle.BindHandle(System.Runtime.InteropServices.SafeHandle) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.ThreadStartException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Threading.ThreadStateException | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.ThreadStateException | [NullableContextAttribute(...)] | 0 | 2 | -| System.Threading.ThreadStateException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Threading.Timer | [DebuggerDisplayAttribute(...)] | 0 | {DisplayString,nq} | -| System.Threading.Timer | [DebuggerTypeProxyAttribute(...)] | 0 | System.Threading.TimerQueueTimer.TimerDebuggerTypeProxy | -| System.Threading.Timer | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.Timer | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.TimerQueue | [DebuggerDisplayAttribute(...)] | 0 | Count = {CountForDebugger} | -| System.Threading.TimerQueue | [DebuggerTypeProxyAttribute(...)] | 0 | System.Threading.TimerQueue.TimerQueueDebuggerTypeProxy | -| System.Threading.TimerQueue.s_tickCountToTimeMap | [TupleElementNamesAttribute(...)] | 0 | [TickCount,Time] | -| System.Threading.TimerQueueTimer | [DebuggerDisplayAttribute(...)] | 0 | {DisplayString,nq} | -| System.Threading.TimerQueueTimer | [DebuggerTypeProxyAttribute(...)] | 0 | System.Threading.TimerQueueTimer.TimerDebuggerTypeProxy | -| System.Threading.TimerQueueTimer[] System.Threading.TimerQueue.TimerQueueDebuggerTypeProxy.Items | [DebuggerBrowsableAttribute(...)] | 0 | 3 | -| System.Threading.Volatile | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.Volatile | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.WaitHandle | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.WaitHandle | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.WaitHandle System.IO.Stream.CreateWaitHandle() | [ObsoleteAttribute(...)] | 0 | CreateWaitHandle has been deprecated. Use the ManualResetEvent(false) constructor instead. | -| System.Threading.WaitHandle System.Threading.CancellationToken.WaitHandle | [NullableAttribute(...)] | 0 | 1 | -| System.Threading.WaitHandle System.Threading.CancellationToken.get_WaitHandle() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.WaitHandle System.Threading.ManualResetEventSlim.WaitHandle | [NullableAttribute(...)] | 0 | 1 | -| System.Threading.WaitHandle System.Threading.ManualResetEventSlim.get_WaitHandle() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Threading.WaitHandleCannotBeOpenedException | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.WaitHandleCannotBeOpenedException | [NullableContextAttribute(...)] | 0 | 2 | -| System.Threading.WaitHandleCannotBeOpenedException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Threading.WaitHandleExtensions | [NullableAttribute(...)] | 0 | 0 | -| System.Threading.WaitHandleExtensions | [NullableContextAttribute(...)] | 0 | 1 | -| System.ThreeObjects | [InlineArrayAttribute(...)] | 0 | 3 | -| System.TimeOnly System.TimeOnly.Parse(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.TimeOnly System.TimeOnly.Parse(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.TimeOnly System.TimeOnly.Parse(System.String,System.IFormatProvider,System.Globalization.DateTimeStyles) | [NullableContextAttribute(...)] | 0 | 1 | -| System.TimeOnly System.TimeOnly.ParseExact(System.String,System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.TimeOnly System.TimeOnly.ParseExact(System.String,System.String,System.IFormatProvider,System.Globalization.DateTimeStyles) | [NullableContextAttribute(...)] | 0 | 1 | -| System.TimeOnly System.TimeOnly.ParseExact(System.String,System.String[]) | [NullableContextAttribute(...)] | 0 | 1 | -| System.TimeOnly System.TimeOnly.ParseExact(System.String,System.String[],System.IFormatProvider,System.Globalization.DateTimeStyles) | [NullableContextAttribute(...)] | 0 | 1 | -| System.TimeProvider | [NullableAttribute(...)] | 0 | 0 | -| System.TimeProvider | [NullableContextAttribute(...)] | 0 | 1 | -| System.TimeSpan System.TimeSpan.Parse(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.TimeSpan System.TimeSpan.Parse(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.TimeSpan System.TimeSpan.ParseExact(System.String,System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.TimeSpan System.TimeSpan.ParseExact(System.String,System.String,System.IFormatProvider,System.Globalization.TimeSpanStyles) | [NullableContextAttribute(...)] | 0 | 1 | -| System.TimeSpan System.TimeSpan.ParseExact(System.String,System.String[],System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.TimeSpan System.TimeSpan.ParseExact(System.String,System.String[],System.IFormatProvider,System.Globalization.TimeSpanStyles) | [NullableContextAttribute(...)] | 0 | 1 | -| System.TimeZone | [NullableAttribute(...)] | 0 | 0 | -| System.TimeZone | [NullableContextAttribute(...)] | 0 | 1 | -| System.TimeZone | [ObsoleteAttribute(...)] | 0 | System.TimeZone has been deprecated. Investigate the use of System.TimeZoneInfo instead. | -| System.TimeZoneInfo | [NotNullWhenAttribute(...)] | 0 | True | -| System.TimeZoneInfo | [NullableAttribute(...)] | 0 | 0 | -| System.TimeZoneInfo | [NullableContextAttribute(...)] | 0 | 1 | -| System.TimeZoneInfo | [TypeForwardedFromAttribute(...)] | 0 | System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.TimeZoneInfo System.TimeZoneInfo.CreateCustomTimeZone(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo.AdjustmentRule[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.TimeZoneInfo System.TimeZoneInfo.CreateCustomTimeZone(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo.AdjustmentRule[],System.Boolean) | [NullableContextAttribute(...)] | 0 | 2 | -| System.TimeZoneInfo.AdjustmentRule | [NotNullWhenAttribute(...)] | 0 | True | -| System.TimeZoneInfo.AdjustmentRule | [NullableContextAttribute(...)] | 0 | 0 | -| System.TimeZoneInfo.AdjustmentRule System.TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo.TransitionTime,System.TimeZoneInfo.TransitionTime) | [NullableContextAttribute(...)] | 0 | 1 | -| System.TimeZoneInfo.AdjustmentRule System.TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo.TransitionTime,System.TimeZoneInfo.TransitionTime,System.TimeSpan) | [NullableContextAttribute(...)] | 0 | 1 | -| System.TimeZoneInfo.AdjustmentRule[] | [NullableAttribute(...)] | 0 | [2,1] | -| System.TimeZoneInfo.TransitionTime | [NullableContextAttribute(...)] | 0 | 0 | -| System.TimeZoneNotFoundException | [NullableAttribute(...)] | 0 | 0 | -| System.TimeZoneNotFoundException | [NullableContextAttribute(...)] | 0 | 2 | -| System.TimeZoneNotFoundException | [TypeForwardedFromAttribute(...)] | 0 | System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.TimeoutException | [NullableAttribute(...)] | 0 | 0 | -| System.TimeoutException | [NullableContextAttribute(...)] | 0 | 2 | -| System.TimeoutException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Tuple | [NullableAttribute(...)] | 0 | 0 | -| System.Tuple | [NullableContextAttribute(...)] | 0 | 1 | -| System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!7,!8,!9>> | [NullableAttribute(...)] | 0 | 1 | -| System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!7,!8>> | [NullableAttribute(...)] | 0 | 1 | -| System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!7>> | [NullableAttribute(...)] | 0 | 1 | -| System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!7,!8,!9>> | [NullableAttribute(...)] | 0 | 1 | -| System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!7,!8,!9>> | [NullableAttribute(...)] | 0 | 1 | -| System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!7,!8,!9>> | [NullableAttribute(...)] | 0 | 1 | -| System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14,!15,!16,!17,!18,!19,!20>>> | [NullableAttribute(...)] | 0 | 1 | -| System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14,!15,!16,!17,!18,!19>>> | [NullableAttribute(...)] | 0 | 1 | -| System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14,!15,!16,!17,!18>>> | [NullableAttribute(...)] | 0 | 1 | -| System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14,!15,!16,!17>>> | [NullableAttribute(...)] | 0 | 1 | -| System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14,!15,!16>>> | [NullableAttribute(...)] | 0 | 1 | -| System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14,!15>>> | [NullableAttribute(...)] | 0 | 1 | -| System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14>>> | [NullableAttribute(...)] | 0 | 1 | -| System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9>> | [NullableAttribute(...)] | 0 | 1 | -| System.Tuple<!0,!1,!2,!3,!4,!5,!6> | [NullableAttribute(...)] | 0 | 1 | -| System.Tuple<!0,!1,!2,!3,!4,!5> | [NullableAttribute(...)] | 0 | 1 | -| System.Tuple<!0,!1,!2,!3,!4> | [NullableAttribute(...)] | 0 | 1 | -| System.Tuple<!0,!1,!2,!3> | [NullableAttribute(...)] | 0 | 1 | -| System.Tuple<!0,!1,!2> | [NullableAttribute(...)] | 0 | 1 | -| System.Tuple<!0,!1> | [NullableAttribute(...)] | 0 | 1 | -| System.Tuple<!0> System.TupleExtensions.ToTuple`1(System.ValueTuple<!0>) | [NullableContextAttribute(...)] | 0 | 1 | -| System.TupleExtensions | [NullableAttribute(...)] | 0 | 0 | -| System.TupleExtensions | [NullableContextAttribute(...)] | 0 | 2 | -| System.Tuple`1 | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Tuple`2 | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Tuple`3 | [NullableAttribute(...)] | 0 | 0 | -| System.Tuple`3 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Tuple`3 | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Tuple`4 | [NullableAttribute(...)] | 0 | 0 | -| System.Tuple`4 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Tuple`4 | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Tuple`5 | [NullableAttribute(...)] | 0 | 0 | -| System.Tuple`5 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Tuple`5 | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Tuple`6 | [NullableAttribute(...)] | 0 | 0 | -| System.Tuple`6 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Tuple`6 | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Tuple`7 | [NullableAttribute(...)] | 0 | 0 | -| System.Tuple`7 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Tuple`7 | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Tuple`8 | [NullableAttribute(...)] | 0 | 0 | -| System.Tuple`8 | [NullableContextAttribute(...)] | 0 | 1 | -| System.Tuple`8 | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.TwoObjects | [InlineArrayAttribute(...)] | 0 | 2 | -| System.Type | [DynamicallyAccessedMembersAttribute(...)] | 0 | 1 | -| System.Type | [DynamicallyAccessedMembersAttribute(...)] | 0 | 3 | -| System.Type | [DynamicallyAccessedMembersAttribute(...)] | 0 | 7 | -| System.Type | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8 | -| System.Type | [DynamicallyAccessedMembersAttribute(...)] | 0 | 24 | -| System.Type | [DynamicallyAccessedMembersAttribute(...)] | 0 | 32 | -| System.Type | [DynamicallyAccessedMembersAttribute(...)] | 0 | 96 | -| System.Type | [DynamicallyAccessedMembersAttribute(...)] | 0 | 512 | -| System.Type | [DynamicallyAccessedMembersAttribute(...)] | 0 | 515 | -| System.Type | [DynamicallyAccessedMembersAttribute(...)] | 0 | 1536 | -| System.Type | [DynamicallyAccessedMembersAttribute(...)] | 0 | 2048 | -| System.Type | [DynamicallyAccessedMembersAttribute(...)] | 0 | 2607 | -| System.Type | [DynamicallyAccessedMembersAttribute(...)] | 0 | 6144 | -| System.Type | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8192 | -| System.Type | [DynamicallyAccessedMembersAttribute(...)] | 0 | -1 | -| System.Type | [NotNullWhenAttribute(...)] | 0 | True | -| System.Type | [NullableAttribute(...)] | 0 | 0 | -| System.Type | [NullableAttribute(...)] | 0 | 1 | -| System.Type | [NullableAttribute(...)] | 0 | 2 | -| System.Type | [NullableContextAttribute(...)] | 0 | 1 | -| System.Type System.Exception.GetType() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Type System.Nullable.GetUnderlyingType(System.Type) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Type System.Object.GetType() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Type System.Reflection.Assembly.GetType(System.String) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types might be removed | -| System.Type System.Reflection.Assembly.GetType(System.String,System.Boolean) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types might be removed | -| System.Type System.Reflection.Assembly.GetType(System.String,System.Boolean,System.Boolean) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types might be removed | -| System.Type System.Reflection.Emit.DynamicMethod.DeclaringType | [NullableAttribute(...)] | 0 | 2 | -| System.Type System.Reflection.Emit.DynamicMethod.ReflectedType | [NullableAttribute(...)] | 0 | 2 | -| System.Type System.Reflection.Emit.DynamicMethod.get_DeclaringType() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Type System.Reflection.Emit.DynamicMethod.get_ReflectedType() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Type System.Reflection.Emit.EnumBuilder.MakeArrayType() | [RequiresDynamicCodeAttribute(...)] | 0 | The code for an array of the specified type might not be available. | -| System.Type System.Reflection.Emit.EnumBuilder.MakeArrayType(System.Int32) | [RequiresDynamicCodeAttribute(...)] | 0 | The code for an array of the specified type might not be available. | -| System.Type System.Reflection.Emit.RuntimeAssemblyBuilder.GetType(System.String,System.Boolean,System.Boolean) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types might be removed | -| System.Type System.Reflection.Emit.RuntimeEnumBuilder.GetInterface(System.String,System.Boolean) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8192 | -| System.Type System.Reflection.Emit.RuntimeEnumBuilder.GetNestedType(System.String,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 384 | -| System.Type System.Reflection.Emit.RuntimeGenericTypeParameterBuilder.GetInterface(System.String,System.Boolean) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8192 | -| System.Type System.Reflection.Emit.RuntimeGenericTypeParameterBuilder.GetNestedType(System.String,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 384 | -| System.Type System.Reflection.Emit.RuntimeGenericTypeParameterBuilder.MakeArrayType() | [RequiresDynamicCodeAttribute(...)] | 0 | The code for an array of the specified type might not be available. | -| System.Type System.Reflection.Emit.RuntimeGenericTypeParameterBuilder.MakeArrayType(System.Int32) | [RequiresDynamicCodeAttribute(...)] | 0 | The code for an array of the specified type might not be available. | -| System.Type System.Reflection.Emit.RuntimeGenericTypeParameterBuilder.MakeGenericType(System.Type[]) | [RequiresDynamicCodeAttribute(...)] | 0 | The native code for this instantiation might not be available at runtime. | -| System.Type System.Reflection.Emit.RuntimeGenericTypeParameterBuilder.MakeGenericType(System.Type[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | If some of the generic arguments are annotated (either with DynamicallyAccessedMembersAttribute, or generic constraints), trimming can't validate that the requirements of those annotations are met. | -| System.Type System.Reflection.Emit.RuntimeModuleBuilder.GetType(System.String) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types might be removed | -| System.Type System.Reflection.Emit.RuntimeModuleBuilder.GetType(System.String,System.Boolean) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types might be removed | -| System.Type System.Reflection.Emit.RuntimeModuleBuilder.GetType(System.String,System.Boolean,System.Boolean) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types might be removed | -| System.Type System.Reflection.Emit.RuntimeModuleBuilder.GetTypeNoLock(System.String,System.Boolean,System.Boolean) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types might be removed | -| System.Type System.Reflection.Emit.RuntimeModuleBuilder.ResolveType(System.Int32,System.Type[],System.Type[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Trimming changes metadata tokens | -| System.Type System.Reflection.Emit.RuntimeTypeBuilder.GetInterface(System.String,System.Boolean) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8192 | -| System.Type System.Reflection.Emit.RuntimeTypeBuilder.GetNestedType(System.String,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 384 | -| System.Type System.Reflection.Emit.SymbolType.GetInterface(System.String,System.Boolean) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8192 | -| System.Type System.Reflection.Emit.SymbolType.GetNestedType(System.String,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 384 | -| System.Type System.Reflection.Emit.TypeBuilder.MakeArrayType() | [RequiresDynamicCodeAttribute(...)] | 0 | The code for an array of the specified type might not be available. | -| System.Type System.Reflection.Emit.TypeBuilder.MakeArrayType(System.Int32) | [RequiresDynamicCodeAttribute(...)] | 0 | The code for an array of the specified type might not be available. | -| System.Type System.Reflection.Emit.TypeBuilder.MakeGenericType(System.Type[]) | [RequiresDynamicCodeAttribute(...)] | 0 | The native code for this instantiation might not be available at runtime. | -| System.Type System.Reflection.Emit.TypeBuilder.MakeGenericType(System.Type[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | If some of the generic arguments are annotated (either with DynamicallyAccessedMembersAttribute, or generic constraints), trimming can't validate that the requirements of those annotations are met. | -| System.Type System.Reflection.Emit.TypeBuilderInstantiation.GetInterface(System.String,System.Boolean) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8192 | -| System.Type System.Reflection.Emit.TypeBuilderInstantiation.GetNestedType(System.String,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 384 | -| System.Type System.Reflection.Emit.TypeBuilderInstantiation.MakeGenericType(System.Type[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | If some of the generic arguments are annotated (either with DynamicallyAccessedMembersAttribute, or generic constraints), trimming can't validate that the requirements of those annotations are met. | -| System.Type System.Reflection.Emit.TypeBuilderInstantiation.Substitute(System.Type[]) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Type System.Reflection.Emit.TypeBuilderInstantiation.Substitute(System.Type[]) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2055:UnrecognizedReflectionPattern | -| System.Type System.Reflection.MemberInfo.DeclaringType | [NullableAttribute(...)] | 0 | 2 | -| System.Type System.Reflection.MemberInfo.ReflectedType | [NullableAttribute(...)] | 0 | 2 | -| System.Type System.Reflection.MemberInfo.get_DeclaringType() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Type System.Reflection.MemberInfo.get_ReflectedType() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Type System.Reflection.Metadata.MetadataUpdateHandlerAttribute.HandlerType | [DynamicallyAccessedMembersAttribute(...)] | 0 | 24 | -| System.Type System.Reflection.ModifiedType.GetInterface(System.String,System.Boolean) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8192 | -| System.Type System.Reflection.ModifiedType.GetNestedType(System.String,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 384 | -| System.Type System.Reflection.Module.GetType(System.String) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types might be removed | -| System.Type System.Reflection.Module.GetType(System.String,System.Boolean) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types might be removed | -| System.Type System.Reflection.Module.GetType(System.String,System.Boolean,System.Boolean) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types might be removed | -| System.Type System.Reflection.Module.ResolveType(System.Int32) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Trimming changes metadata tokens | -| System.Type System.Reflection.Module.ResolveType(System.Int32,System.Type[],System.Type[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Trimming changes metadata tokens | -| System.Type System.Reflection.PropertyInfo.GetModifiedPropertyType() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Type System.Reflection.PropertyInfo.PropertyType | [NullableAttribute(...)] | 0 | 1 | -| System.Type System.Reflection.PropertyInfo.get_PropertyType() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Type System.Reflection.RuntimeAssembly.GetType(System.String,System.Boolean,System.Boolean) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types might be removed | -| System.Type System.Reflection.RuntimeExceptionHandlingClause.get_CatchType() | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Type System.Reflection.RuntimeExceptionHandlingClause.get_CatchType() | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:RequiresUnreferencedCode | -| System.Type System.Reflection.RuntimeModule.GetType(System.String,System.Boolean,System.Boolean) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types might be removed | -| System.Type System.Reflection.RuntimeModule.ResolveType(System.Int32,System.Type[],System.Type[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Trimming changes metadata tokens | -| System.Type System.Reflection.SignatureType.GetInterface(System.String,System.Boolean) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8192 | -| System.Type System.Reflection.SignatureType.GetNestedType(System.String,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 384 | -| System.Type System.Reflection.SignatureType.MakeArrayType() | [RequiresDynamicCodeAttribute(...)] | 0 | The code for an array of the specified type might not be available. | -| System.Type System.Reflection.SignatureType.MakeArrayType(System.Int32) | [RequiresDynamicCodeAttribute(...)] | 0 | The code for an array of the specified type might not be available. | -| System.Type System.Reflection.SignatureType.MakeGenericType(System.Type[]) | [RequiresDynamicCodeAttribute(...)] | 0 | The native code for this instantiation might not be available at runtime. | -| System.Type System.Reflection.SignatureType.MakeGenericType(System.Type[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | If some of the generic arguments are annotated (either with DynamicallyAccessedMembersAttribute, or generic constraints), trimming can't validate that the requirements of those annotations are met. | -| System.Type System.Reflection.SignatureTypeExtensions.TryMakeArrayType(System.Type) | [UnconditionalSuppressMessageAttribute(...)] | 0 | AotAnalysis | -| System.Type System.Reflection.SignatureTypeExtensions.TryMakeArrayType(System.Type) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL3050:AotUnfriendlyApi | -| System.Type System.Reflection.SignatureTypeExtensions.TryMakeArrayType(System.Type,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | 0 | AotAnalysis | -| System.Type System.Reflection.SignatureTypeExtensions.TryMakeArrayType(System.Type,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL3050:AotUnfriendlyApi | -| System.Type System.Reflection.SignatureTypeExtensions.TryMakeGenericType(System.Type,System.Type[]) | [RequiresDynamicCodeAttribute(...)] | 0 | Wrapper around MakeGenericType which itself has RequiresDynamicCode | -| System.Type System.Reflection.SignatureTypeExtensions.TryMakeGenericType(System.Type,System.Type[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Wrapper around MakeGenericType which itself has RequiresUnreferencedCode | -| System.Type System.Reflection.SignatureTypeExtensions.TryResolve(System.Reflection.SignatureType,System.Type[]) | [UnconditionalSuppressMessageAttribute(...)] | 0 | AotAnalysis | -| System.Type System.Reflection.SignatureTypeExtensions.TryResolve(System.Reflection.SignatureType,System.Type[]) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Type System.Reflection.SignatureTypeExtensions.TryResolve(System.Reflection.SignatureType,System.Type[]) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:RequiresUnreferencedCode | -| System.Type System.Reflection.SignatureTypeExtensions.TryResolve(System.Reflection.SignatureType,System.Type[]) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL3050:AotUnfriendlyApi | -| System.Type System.Reflection.TypeDelegator.BaseType | [NullableAttribute(...)] | 0 | 2 | -| System.Type System.Reflection.TypeDelegator.GetElementType() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Type System.Reflection.TypeDelegator.GetInterface(System.String,System.Boolean) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8192 | -| System.Type System.Reflection.TypeDelegator.GetNestedType(System.String,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 384 | -| System.Type System.Reflection.TypeDelegator.get_BaseType() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Type System.Reflection.TypeNameParser.GenericTypeName.ResolveType(System.Reflection.TypeNameParser,System.String) | [UnconditionalSuppressMessageAttribute(...)] | 0 | AotAnalysis | -| System.Type System.Reflection.TypeNameParser.GenericTypeName.ResolveType(System.Reflection.TypeNameParser,System.String) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Type System.Reflection.TypeNameParser.GenericTypeName.ResolveType(System.Reflection.TypeNameParser,System.String) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2055:UnrecognizedReflectionPattern | -| System.Type System.Reflection.TypeNameParser.GenericTypeName.ResolveType(System.Reflection.TypeNameParser,System.String) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL3050:AotUnfriendlyApi | -| System.Type System.Reflection.TypeNameParser.GetType(System.String,System.Boolean,System.Boolean,System.Reflection.Assembly) | [RequiresUnreferencedCodeAttribute(...)] | 0 | The type might be removed | -| System.Type System.Reflection.TypeNameParser.GetType(System.String,System.Func<System.Reflection.Assembly,System.Reflection.AssemblyName>,System.Func<System.Boolean,System.Reflection.Assembly,System.String,System.Type>,System.Reflection.Assembly,System.Boolean,System.Boolean,System.Boolean) | [RequiresUnreferencedCodeAttribute(...)] | 0 | The type might be removed | -| System.Type System.Reflection.TypeNameParser.GetType(System.String,System.ReadOnlySpan<System.String>,System.String) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Type System.Reflection.TypeNameParser.GetType(System.String,System.ReadOnlySpan<System.String>,System.String) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:RequiresUnreferencedCode | -| System.Type System.Reflection.TypeNameParser.GetType(System.String,System.ReadOnlySpan<System.String>,System.String) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2075:UnrecognizedReflectionPattern | -| System.Type System.Reflection.TypeNameParser.GetType(System.String,System.Reflection.Assembly,System.Boolean,System.Boolean) | [RequiresUnreferencedCodeAttribute(...)] | 0 | The type might be removed | -| System.Type System.Reflection.TypeNameParser.ModifierTypeName.ResolveType(System.Reflection.TypeNameParser,System.String) | [UnconditionalSuppressMessageAttribute(...)] | 0 | AotAnalysis | -| System.Type System.Reflection.TypeNameParser.ModifierTypeName.ResolveType(System.Reflection.TypeNameParser,System.String) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL3050:AotUnfriendlyApi | -| System.Type System.Resources.ResourceManager.ResourceManagerMediator.UserResourceSet | [DynamicallyAccessedMembersAttribute(...)] | 0 | 7 | -| System.Type System.Resources.ResourceManager.ResourceSetType | [DynamicallyAccessedMembersAttribute(...)] | 0 | 7 | -| System.Type System.Resources.ResourceReader.<FindType>g__UseReflectionToGetTypeLocal\|52_0(System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Type System.Resources.ResourceReader.<FindType>g__UseReflectionToGetTypeLocal\|52_0(System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:RequiresUnreferencedCode | -| System.Type System.Resources.ResourceReader.UseReflectionToGetType(System.Int32) | [RequiresUnreferencedCodeAttribute(...)] | 0 | The CustomResourceTypesSupport feature switch has been enabled for this app which is being trimmed. Custom readers as well as custom objects on the resources file are not observable by the trimmer and so required assemblies, types and members may be removed. | -| System.Type System.Runtime.InteropServices.ComEventInterfaceAttribute.EventProvider | [DynamicallyAccessedMembersAttribute(...)] | 0 | 2607 | -| System.Type System.Runtime.InteropServices.ComEventInterfaceAttribute.SourceInterface | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8 | -| System.Type System.Runtime.InteropServices.Marshal.GetTypeFromCLSID(System.Guid) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Type System.Runtime.InteropServices.Marshal.GetTypeFromCLSID(System.Guid) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Type System.Runtime.InteropServices.Marshalling.MarshalUsingAttribute.NativeType | [NullableAttribute(...)] | 0 | 2 | -| System.Type System.Runtime.InteropServices.Marshalling.MarshalUsingAttribute.get_NativeType() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Type System.RuntimeType.GetInterface(System.String,System.Boolean) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8192 | -| System.Type System.RuntimeType.GetInterface(System.String,System.Boolean) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Type System.RuntimeType.GetInterface(System.String,System.Boolean) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2063:UnrecognizedReflectionPattern | -| System.Type System.RuntimeType.GetNestedType(System.String,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 384 | -| System.Type System.RuntimeType.MakeGenericType(System.Type[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | If some of the generic arguments are annotated (either with DynamicallyAccessedMembersAttribute, or generic constraints), trimming can't validate that the requirements of those annotations are met. | -| System.Type System.Type.BaseType | [NullableAttribute(...)] | 0 | 2 | -| System.Type System.Type.DeclaringType | [NullableAttribute(...)] | 0 | 2 | -| System.Type System.Type.GetElementType() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Type System.Type.GetEnumUnderlyingType() | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Type System.Type.GetEnumUnderlyingType() | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2085:UnrecognizedReflectionPattern | -| System.Type System.Type.GetInterface(System.String) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8192 | -| System.Type System.Type.GetInterface(System.String,System.Boolean) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8192 | -| System.Type System.Type.GetNestedType(System.String) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 128 | -| System.Type System.Type.GetNestedType(System.String,System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 384 | -| System.Type System.Type.GetType(System.String) | [RequiresUnreferencedCodeAttribute(...)] | 0 | The type might be removed | -| System.Type System.Type.GetType(System.String,System.Boolean) | [RequiresUnreferencedCodeAttribute(...)] | 0 | The type might be removed | -| System.Type System.Type.GetType(System.String,System.Boolean,System.Boolean) | [RequiresUnreferencedCodeAttribute(...)] | 0 | The type might be removed | -| System.Type System.Type.GetType(System.String,System.Func<System.Reflection.Assembly,System.Reflection.AssemblyName>,System.Func<System.Boolean,System.Reflection.Assembly,System.String,System.Type>) | [RequiresUnreferencedCodeAttribute(...)] | 0 | The type might be removed | -| System.Type System.Type.GetType(System.String,System.Func<System.Reflection.Assembly,System.Reflection.AssemblyName>,System.Func<System.Boolean,System.Reflection.Assembly,System.String,System.Type>,System.Boolean) | [RequiresUnreferencedCodeAttribute(...)] | 0 | The type might be removed | -| System.Type System.Type.GetType(System.String,System.Func<System.Reflection.Assembly,System.Reflection.AssemblyName>,System.Func<System.Boolean,System.Reflection.Assembly,System.String,System.Type>,System.Boolean,System.Boolean) | [RequiresUnreferencedCodeAttribute(...)] | 0 | The type might be removed | -| System.Type System.Type.GetTypeFromCLSID(System.Guid) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Type System.Type.GetTypeFromCLSID(System.Guid) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Type System.Type.GetTypeFromCLSID(System.Guid,System.Boolean) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Type System.Type.GetTypeFromCLSID(System.Guid,System.Boolean) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Type System.Type.GetTypeFromCLSID(System.Guid,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Type System.Type.GetTypeFromCLSID(System.Guid,System.String) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Type System.Type.GetTypeFromCLSID(System.Guid,System.String,System.Boolean) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Type System.Type.GetTypeFromCLSID(System.Guid,System.String,System.Boolean) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Type System.Type.GetTypeFromHandle(System.RuntimeTypeHandle) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Type System.Type.GetTypeFromProgID(System.String) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Type System.Type.GetTypeFromProgID(System.String,System.Boolean) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Type System.Type.GetTypeFromProgID(System.String,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Type System.Type.GetTypeFromProgID(System.String,System.String) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Type System.Type.GetTypeFromProgID(System.String,System.String,System.Boolean) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Type System.Type.GetTypeFromProgID(System.String,System.String,System.Boolean) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Type System.Type.MakeArrayType() | [RequiresDynamicCodeAttribute(...)] | 0 | The code for an array of the specified type might not be available. | -| System.Type System.Type.MakeArrayType(System.Int32) | [RequiresDynamicCodeAttribute(...)] | 0 | The code for an array of the specified type might not be available. | -| System.Type System.Type.MakeGenericType(System.Type[]) | [RequiresDynamicCodeAttribute(...)] | 0 | The native code for this instantiation might not be available at runtime. | -| System.Type System.Type.MakeGenericType(System.Type[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | If some of the generic arguments are annotated (either with DynamicallyAccessedMembersAttribute, or generic constraints), trimming can't validate that the requirements of those annotations are met. | -| System.Type System.Type.ReflectedType | [NullableAttribute(...)] | 0 | 2 | -| System.Type System.Type.ReflectionOnlyGetType(System.String,System.Boolean,System.Boolean) | [ObsoleteAttribute(...)] | 0 | ReflectionOnly loading is not supported and throws PlatformNotSupportedException. | -| System.Type System.Type.get_BaseType() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Type System.Type.get_DeclaringType() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Type System.Type.get_ReflectedType() | [NullableContextAttribute(...)] | 0 | 2 | -| System.Type System.TypedReference.GetTargetType(System.TypedReference) | [NullableContextAttribute(...)] | 0 | 1 | -| System.TypeAccessException | [NullableAttribute(...)] | 0 | 0 | -| System.TypeAccessException | [NullableContextAttribute(...)] | 0 | 2 | -| System.TypeAccessException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.TypeCode System.Type.GetTypeCode(System.Type) | [NullableContextAttribute(...)] | 0 | 2 | -| System.TypeInitializationException | [NullableAttribute(...)] | 0 | 0 | -| System.TypeInitializationException | [NullableContextAttribute(...)] | 0 | 1 | -| System.TypeInitializationException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.TypeLoadException | [NullableAttribute(...)] | 0 | 0 | -| System.TypeLoadException | [NullableContextAttribute(...)] | 0 | 1 | -| System.TypeLoadException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.TypeUnloadedException | [NullableAttribute(...)] | 0 | 0 | -| System.TypeUnloadedException | [NullableContextAttribute(...)] | 0 | 2 | -| System.TypeUnloadedException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Type[] | [NotNullWhenAttribute(...)] | 0 | False | -| System.Type[] | [NullableAttribute(...)] | 0 | 1 | -| System.Type[] | [NullableAttribute(...)] | 0 | [2,1] | -| System.Type[] System.Reflection.Assembly.GetExportedTypes() | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types might be removed | -| System.Type[] System.Reflection.Assembly.GetForwardedTypes() | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types might be removed | -| System.Type[] System.Reflection.Assembly.GetTypes() | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types might be removed | -| System.Type[] System.Reflection.Emit.AssemblyBuilder.GetExportedTypes() | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types might be removed | -| System.Type[] System.Reflection.Emit.RuntimeEnumBuilder.GetInterfaces() | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8192 | -| System.Type[] System.Reflection.Emit.RuntimeEnumBuilder.GetNestedTypes(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 384 | -| System.Type[] System.Reflection.Emit.RuntimeGenericTypeParameterBuilder.GetInterfaces() | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8192 | -| System.Type[] System.Reflection.Emit.RuntimeGenericTypeParameterBuilder.GetNestedTypes(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 384 | -| System.Type[] System.Reflection.Emit.RuntimeModuleBuilder.GetTypes() | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types might be removed | -| System.Type[] System.Reflection.Emit.RuntimeTypeBuilder.GetInterfaces() | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8192 | -| System.Type[] System.Reflection.Emit.RuntimeTypeBuilder.GetNestedTypes(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 384 | -| System.Type[] System.Reflection.Emit.SymbolType.GetInterfaces() | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8192 | -| System.Type[] System.Reflection.Emit.SymbolType.GetNestedTypes(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 384 | -| System.Type[] System.Reflection.Emit.TypeBuilderInstantiation.GetInterfaces() | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8192 | -| System.Type[] System.Reflection.Emit.TypeBuilderInstantiation.GetNestedTypes(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 384 | -| System.Type[] System.Reflection.MethodBase.GetGenericArguments() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Type[] System.Reflection.ModifiedType.GetInterfaces() | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8192 | -| System.Type[] System.Reflection.ModifiedType.GetNestedTypes(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 384 | -| System.Type[] System.Reflection.Module.FindTypes(System.Reflection.TypeFilter,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Type[] System.Reflection.Module.FindTypes(System.Reflection.TypeFilter,System.Object) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types might be removed | -| System.Type[] System.Reflection.Module.GetTypes() | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types might be removed | -| System.Type[] System.Reflection.PropertyInfo.GetOptionalCustomModifiers() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Type[] System.Reflection.PropertyInfo.GetRequiredCustomModifiers() | [NullableContextAttribute(...)] | 0 | 1 | -| System.Type[] System.Reflection.ReflectionTypeLoadException.Types | [NullableAttribute(...)] | 0 | [1,2] | -| System.Type[] System.Reflection.RuntimeAssembly.GetExportedTypes() | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types might be removed | -| System.Type[] System.Reflection.RuntimeAssembly.GetForwardedTypes() | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types might be removed | -| System.Type[] System.Reflection.RuntimeModule.GetTypes() | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types might be removed | -| System.Type[] System.Reflection.SignatureType.FindInterfaces(System.Reflection.TypeFilter,System.Object) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8192 | -| System.Type[] System.Reflection.SignatureType.GetInterfaces() | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8192 | -| System.Type[] System.Reflection.SignatureType.GetNestedTypes(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 384 | -| System.Type[] System.Reflection.TypeDelegator.GetInterfaces() | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8192 | -| System.Type[] System.Reflection.TypeDelegator.GetNestedTypes(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 384 | -| System.Type[] System.Reflection.TypeInfo.<get_DeclaredNestedTypes>g__GetDeclaredOnlyNestedTypes\|22_0(System.Type) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Type[] System.Reflection.TypeInfo.<get_DeclaredNestedTypes>g__GetDeclaredOnlyNestedTypes\|22_0(System.Type) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2070:UnrecognizedReflectionPattern | -| System.Type[] System.RuntimeType.GetInterfaces() | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8192 | -| System.Type[] System.RuntimeType.GetNestedTypes(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 384 | -| System.Type[] System.Type.FindInterfaces(System.Reflection.TypeFilter,System.Object) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8192 | -| System.Type[] System.Type.GetInterfaces() | [DynamicallyAccessedMembersAttribute(...)] | 0 | 8192 | -| System.Type[] System.Type.GetNestedTypes() | [DynamicallyAccessedMembersAttribute(...)] | 0 | 128 | -| System.Type[] System.Type.GetNestedTypes(System.Reflection.BindingFlags) | [DynamicallyAccessedMembersAttribute(...)] | 0 | 384 | -| System.Type[][] | [NullableAttribute(...)] | 0 | [2,1,1] | -| System.TypedReference | [CLSCompliantAttribute(...)] | 0 | False | -| System.TypedReference | [NullableAttribute(...)] | 0 | 0 | -| System.TypedReference | [NullableContextAttribute(...)] | 0 | 2 | -| System.TypedReference System.ArgIterator.GetNextArg() | [CLSCompliantAttribute(...)] | 0 | False | -| System.TypedReference System.ArgIterator.GetNextArg(System.RuntimeTypeHandle) | [CLSCompliantAttribute(...)] | 0 | False | -| System.TypedReference System.TypedReference.MakeTypedReference(System.Object,System.Reflection.FieldInfo[]) | [NullableContextAttribute(...)] | 0 | 1 | -| System.UInt16 System.BitConverter.HalfToUInt16Bits(System.Half) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.BitConverter.ToUInt16(System.Byte[],System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.BitConverter.ToUInt16(System.ReadOnlySpan<System.Byte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.BitConverter.ToUInt16(System.ReadOnlySpan<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.UInt16 System.Buffers.Binary.BinaryPrimitives.ReadUInt16BigEndian(System.ReadOnlySpan<System.Byte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.Buffers.Binary.BinaryPrimitives.ReadUInt16LittleEndian(System.ReadOnlySpan<System.Byte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.Buffers.Binary.BinaryPrimitives.ReverseEndianness(System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.Convert.ToUInt16(System.Boolean) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.Convert.ToUInt16(System.Byte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.Convert.ToUInt16(System.Char) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.Convert.ToUInt16(System.DateTime) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.Convert.ToUInt16(System.Decimal) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.Convert.ToUInt16(System.Double) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.Convert.ToUInt16(System.Int16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.Convert.ToUInt16(System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.Convert.ToUInt16(System.Int64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.Convert.ToUInt16(System.Object) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.Convert.ToUInt16(System.Object,System.IFormatProvider) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.Convert.ToUInt16(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.Convert.ToUInt16(System.Single) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.Convert.ToUInt16(System.String) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.Convert.ToUInt16(System.String,System.IFormatProvider) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.Convert.ToUInt16(System.String,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.Convert.ToUInt16(System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.Convert.ToUInt16(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.Convert.ToUInt16(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.Decimal.ToUInt16(System.Decimal) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.Decimal.op_Explicit(System.Decimal) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.Half.op_CheckedExplicit(System.Half) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.Half.op_Explicit(System.Half) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.IO.BinaryReader.ReadUInt16() | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.IO.UnmanagedMemoryAccessor.ReadUInt16(System.Int64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.Int128.op_CheckedExplicit(System.Int128) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.Int128.op_Explicit(System.Int128) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.Math.Clamp(System.UInt16,System.UInt16,System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.Math.Max(System.UInt16,System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.Math.Min(System.UInt16,System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.Runtime.InteropServices.NFloat.op_CheckedExplicit(System.Runtime.InteropServices.NFloat) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.Runtime.InteropServices.NFloat.op_Explicit(System.Runtime.InteropServices.NFloat) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.Runtime.Serialization.SerializationInfo.GetUInt16(System.String) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.Threading.Thread.VolatileRead(System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.Threading.Volatile.Read(System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.UInt16.CreateChecked`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.UInt16 System.UInt16.CreateSaturating`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.UInt16 System.UInt16.CreateTruncating`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.UInt16 System.UInt16.Parse(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.UInt16 System.UInt16.Parse(System.String,System.Globalization.NumberStyles) | [NullableContextAttribute(...)] | 0 | 1 | -| System.UInt16 System.UInt16.Parse(System.String,System.Globalization.NumberStyles,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.UInt16 System.UInt16.Parse(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.UInt16 System.UInt128.op_CheckedExplicit(System.UInt128) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt16 System.UInt128.op_Explicit(System.UInt128) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 Interop.Kernel32.GetEnvironmentVariable(System.String,System.Char,System.UInt32) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.UInt32 Interop.Kernel32.GetEnvironmentVariable(System.String,System.Char,System.UInt32) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.UInt32 System.BitConverter.SingleToUInt32Bits(System.Single) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.BitConverter.ToUInt32(System.Byte[],System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.BitConverter.ToUInt32(System.ReadOnlySpan<System.Byte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.BitConverter.ToUInt32(System.ReadOnlySpan<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.UInt32 System.Buffers.Binary.BinaryPrimitives.ReadUInt32BigEndian(System.ReadOnlySpan<System.Byte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Buffers.Binary.BinaryPrimitives.ReadUInt32LittleEndian(System.ReadOnlySpan<System.Byte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Buffers.Binary.BinaryPrimitives.ReverseEndianness(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Convert.ToUInt32(System.Boolean) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Convert.ToUInt32(System.Byte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Convert.ToUInt32(System.Char) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Convert.ToUInt32(System.DateTime) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Convert.ToUInt32(System.Decimal) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Convert.ToUInt32(System.Double) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Convert.ToUInt32(System.Int16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Convert.ToUInt32(System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Convert.ToUInt32(System.Int64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Convert.ToUInt32(System.Object) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Convert.ToUInt32(System.Object,System.IFormatProvider) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Convert.ToUInt32(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Convert.ToUInt32(System.Single) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Convert.ToUInt32(System.String) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Convert.ToUInt32(System.String,System.IFormatProvider) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Convert.ToUInt32(System.String,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Convert.ToUInt32(System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Convert.ToUInt32(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Convert.ToUInt32(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Decimal.ToUInt32(System.Decimal) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Decimal.op_Explicit(System.Decimal) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Half.op_CheckedExplicit(System.Half) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Half.op_Explicit(System.Half) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.IO.BinaryReader.ReadUInt32() | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.IO.UnmanagedMemoryAccessor.ReadUInt32(System.Int64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Int128.op_CheckedExplicit(System.Int128) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Int128.op_Explicit(System.Int128) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Math.Clamp(System.UInt32,System.UInt32,System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Math.Max(System.UInt32,System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Math.Min(System.UInt32,System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Numerics.BitOperations.Crc32C(System.UInt32,System.Byte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Numerics.BitOperations.Crc32C(System.UInt32,System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Numerics.BitOperations.Crc32C(System.UInt32,System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Numerics.BitOperations.Crc32C(System.UInt32,System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Numerics.BitOperations.RotateLeft(System.UInt32,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Numerics.BitOperations.RotateRight(System.UInt32,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Numerics.BitOperations.RoundUpToPowerOf2(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Reflection.Assembly.GetAssemblyCount() | [LibraryImportAttribute(...)] | 0 | QCall | -| System.UInt32 System.Runtime.InteropServices.NFloat.op_CheckedExplicit(System.Runtime.InteropServices.NFloat) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Runtime.InteropServices.NFloat.op_Explicit(System.Runtime.InteropServices.NFloat) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Runtime.Intrinsics.Vector64.ExtractMostSignificantBits`1(System.Runtime.Intrinsics.Vector64<!0>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Runtime.Intrinsics.Vector64.ExtractMostSignificantBits`1(System.Runtime.Intrinsics.Vector64<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.UInt32 System.Runtime.Intrinsics.Vector128.ExtractMostSignificantBits`1(System.Runtime.Intrinsics.Vector128<!0>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Runtime.Intrinsics.Vector128.ExtractMostSignificantBits`1(System.Runtime.Intrinsics.Vector128<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.UInt32 System.Runtime.Intrinsics.Vector256.ExtractMostSignificantBits`1(System.Runtime.Intrinsics.Vector256<!0>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Runtime.Intrinsics.Vector256.ExtractMostSignificantBits`1(System.Runtime.Intrinsics.Vector256<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.UInt32 System.Runtime.Serialization.SerializationInfo.GetUInt32(System.String) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Threading.Interlocked.Add(System.UInt32,System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Threading.Interlocked.And(System.UInt32,System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Threading.Interlocked.CompareExchange(System.UInt32,System.UInt32,System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Threading.Interlocked.Decrement(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Threading.Interlocked.Exchange(System.UInt32,System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Threading.Interlocked.Increment(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Threading.Interlocked.Or(System.UInt32,System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Threading.Thread.VolatileRead(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.Threading.Volatile.Read(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.UInt32.CreateChecked`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.UInt32 System.UInt32.CreateSaturating`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.UInt32 System.UInt32.CreateTruncating`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.UInt32 System.UInt32.Parse(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.UInt32 System.UInt32.Parse(System.String,System.Globalization.NumberStyles) | [NullableContextAttribute(...)] | 0 | 1 | -| System.UInt32 System.UInt32.Parse(System.String,System.Globalization.NumberStyles,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.UInt32 System.UInt32.Parse(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.UInt32 System.UInt128.op_CheckedExplicit(System.UInt128) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt32 System.UInt128.op_Explicit(System.UInt128) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.BitConverter.DoubleToUInt64Bits(System.Double) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.BitConverter.ToUInt64(System.Byte[],System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.BitConverter.ToUInt64(System.ReadOnlySpan<System.Byte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.BitConverter.ToUInt64(System.ReadOnlySpan<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.UInt64 System.Buffers.Binary.BinaryPrimitives.ReadUInt64BigEndian(System.ReadOnlySpan<System.Byte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Buffers.Binary.BinaryPrimitives.ReadUInt64LittleEndian(System.ReadOnlySpan<System.Byte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Buffers.Binary.BinaryPrimitives.ReverseEndianness(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Convert.ToUInt64(System.Boolean) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Convert.ToUInt64(System.Byte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Convert.ToUInt64(System.Char) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Convert.ToUInt64(System.DateTime) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Convert.ToUInt64(System.Decimal) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Convert.ToUInt64(System.Double) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Convert.ToUInt64(System.Int16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Convert.ToUInt64(System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Convert.ToUInt64(System.Int64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Convert.ToUInt64(System.Object) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Convert.ToUInt64(System.Object,System.IFormatProvider) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Convert.ToUInt64(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Convert.ToUInt64(System.Single) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Convert.ToUInt64(System.String) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Convert.ToUInt64(System.String,System.IFormatProvider) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Convert.ToUInt64(System.String,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Convert.ToUInt64(System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Convert.ToUInt64(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Convert.ToUInt64(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Decimal.ToUInt64(System.Decimal) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Decimal.op_Explicit(System.Decimal) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Diagnostics.Tracing.EventPipeInternal.Enable(System.Char*,System.Diagnostics.Tracing.EventPipeSerializationFormat,System.UInt32,System.Diagnostics.Tracing.EventPipeInternal.EventPipeProviderConfigurationNative*,System.UInt32) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.UInt64 System.Half.op_CheckedExplicit(System.Half) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Half.op_Explicit(System.Half) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.IO.BinaryReader.ReadUInt64() | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.IO.UnmanagedMemoryAccessor.ReadUInt64(System.Int64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Int128.op_CheckedExplicit(System.Int128) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Int128.op_Explicit(System.Int128) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Math.BigMul(System.UInt64,System.UInt64,System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Math.Clamp(System.UInt64,System.UInt64,System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Math.Max(System.UInt64,System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Math.Min(System.UInt64,System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Numerics.BitOperations.RotateLeft(System.UInt64,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Numerics.BitOperations.RotateRight(System.UInt64,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Numerics.BitOperations.RoundUpToPowerOf2(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Runtime.InteropServices.NFloat.op_CheckedExplicit(System.Runtime.InteropServices.NFloat) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Runtime.InteropServices.NFloat.op_Explicit(System.Runtime.InteropServices.NFloat) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Runtime.Intrinsics.Vector512.ExtractMostSignificantBits`1(System.Runtime.Intrinsics.Vector512<!0>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Runtime.Intrinsics.Vector512.ExtractMostSignificantBits`1(System.Runtime.Intrinsics.Vector512<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.UInt64 System.Runtime.Serialization.SerializationInfo.GetUInt64(System.String) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Threading.Interlocked.Add(System.UInt64,System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Threading.Interlocked.And(System.UInt64,System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Threading.Interlocked.CompareExchange(System.UInt64,System.UInt64,System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Threading.Interlocked.Decrement(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Threading.Interlocked.Exchange(System.UInt64,System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Threading.Interlocked.Increment(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Threading.Interlocked.Or(System.UInt64,System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Threading.Interlocked.Read(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Threading.Thread.GetCurrentOSThreadId() | [LibraryImportAttribute(...)] | 0 | QCall | -| System.UInt64 System.Threading.Thread.VolatileRead(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.Threading.Volatile.Read(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.UInt64.CreateChecked`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.UInt64 System.UInt64.CreateSaturating`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.UInt64 System.UInt64.CreateTruncating`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.UInt64 System.UInt64.Parse(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.UInt64 System.UInt64.Parse(System.String,System.Globalization.NumberStyles) | [NullableContextAttribute(...)] | 0 | 1 | -| System.UInt64 System.UInt64.Parse(System.String,System.Globalization.NumberStyles,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.UInt64 System.UInt64.Parse(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.UInt64 System.UInt128.op_CheckedExplicit(System.UInt128) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt64 System.UInt128.op_Explicit(System.UInt128) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt128 | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt128 System.Buffers.Binary.BinaryPrimitives.ReadUInt128BigEndian(System.ReadOnlySpan<System.Byte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt128 System.Buffers.Binary.BinaryPrimitives.ReadUInt128LittleEndian(System.ReadOnlySpan<System.Byte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt128 System.Buffers.Binary.BinaryPrimitives.ReverseEndianness(System.UInt128) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt128 System.Half.op_CheckedExplicit(System.Half) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt128 System.Half.op_Explicit(System.Half) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt128 System.Int128.op_CheckedExplicit(System.Int128) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt128 System.Int128.op_Explicit(System.Int128) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt128 System.Runtime.InteropServices.NFloat.op_CheckedExplicit(System.Runtime.InteropServices.NFloat) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt128 System.Runtime.InteropServices.NFloat.op_Explicit(System.Runtime.InteropServices.NFloat) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt128 System.UInt128.CreateChecked`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.UInt128 System.UInt128.CreateSaturating`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.UInt128 System.UInt128.CreateTruncating`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.UInt128 System.UInt128.Parse(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.UInt128 System.UInt128.Parse(System.String,System.Globalization.NumberStyles) | [NullableContextAttribute(...)] | 0 | 1 | -| System.UInt128 System.UInt128.Parse(System.String,System.Globalization.NumberStyles,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.UInt128 System.UInt128.Parse(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.UInt128 System.UInt128.op_CheckedExplicit(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt128 System.UInt128.op_Explicit(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt128 System.UInt128.op_Implicit(System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt128 System.UInt128.op_Implicit(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt128 System.UInt128.op_Implicit(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UInt128 System.UInt128.op_Implicit(System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UIntPtr | [CLSCompliantAttribute(...)] | 0 | False | -| System.UIntPtr | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.UIntPtr System.Buffers.Binary.BinaryPrimitives.ReadUIntPtrBigEndian(System.ReadOnlySpan<System.Byte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UIntPtr System.Buffers.Binary.BinaryPrimitives.ReadUIntPtrLittleEndian(System.ReadOnlySpan<System.Byte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UIntPtr System.Buffers.Binary.BinaryPrimitives.ReverseEndianness(System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UIntPtr System.Half.op_CheckedExplicit(System.Half) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UIntPtr System.Half.op_Explicit(System.Half) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UIntPtr System.Int128.op_CheckedExplicit(System.Int128) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UIntPtr System.Int128.op_Explicit(System.Int128) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UIntPtr System.Math.Clamp(System.UIntPtr,System.UIntPtr,System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UIntPtr System.Math.Max(System.UIntPtr,System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UIntPtr System.Math.Min(System.UIntPtr,System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UIntPtr System.Numerics.BitOperations.RotateLeft(System.UIntPtr,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UIntPtr System.Numerics.BitOperations.RotateRight(System.UIntPtr,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UIntPtr System.Numerics.BitOperations.RoundUpToPowerOf2(System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UIntPtr System.Runtime.InteropServices.NFloat.op_CheckedExplicit(System.Runtime.InteropServices.NFloat) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UIntPtr System.Runtime.InteropServices.NFloat.op_Explicit(System.Runtime.InteropServices.NFloat) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UIntPtr System.Text.Latin1Utility.GetIndexOfFirstNonLatin1Char_Sse2(System.Char*,System.UIntPtr) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Sse2 | -| System.UIntPtr System.Text.Latin1Utility.NarrowUtf16ToLatin1_Sse2(System.Char*,System.Byte*,System.UIntPtr) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Sse2 | -| System.UIntPtr System.Threading.Interlocked.CompareExchange(System.UIntPtr,System.UIntPtr,System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UIntPtr System.Threading.Interlocked.Exchange(System.UIntPtr,System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UIntPtr System.Threading.Thread.VolatileRead(System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UIntPtr System.Threading.Volatile.Read(System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UIntPtr System.UInt128.op_CheckedExplicit(System.UInt128) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UIntPtr System.UInt128.op_Explicit(System.UInt128) | [CLSCompliantAttribute(...)] | 0 | False | -| System.UIntPtr System.UIntPtr.CreateChecked`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.UIntPtr System.UIntPtr.CreateSaturating`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.UIntPtr System.UIntPtr.CreateTruncating`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.UIntPtr System.UIntPtr.Parse(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.UIntPtr System.UIntPtr.Parse(System.String,System.Globalization.NumberStyles) | [NullableContextAttribute(...)] | 0 | 1 | -| System.UIntPtr System.UIntPtr.Parse(System.String,System.Globalization.NumberStyles,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.UIntPtr System.UIntPtr.Parse(System.String,System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.UnauthorizedAccessException | [NullableAttribute(...)] | 0 | 0 | -| System.UnauthorizedAccessException | [NullableContextAttribute(...)] | 0 | 2 | -| System.UnauthorizedAccessException | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.UnhandledExceptionEventArgs | [NullableAttribute(...)] | 0 | 0 | -| System.UnhandledExceptionEventArgs | [NullableAttribute(...)] | 0 | 1 | -| System.UnhandledExceptionEventArgs | [NullableContextAttribute(...)] | 0 | 1 | -| System.UnitySerializationHolder | [ObsoleteAttribute(...)] | 0 | Formatter-based serialization is obsolete and should not be used. | -| System.ValueTuple | [NullableAttribute(...)] | 0 | 0 | -| System.ValueTuple | [NullableContextAttribute(...)] | 0 | 1 | -| System.ValueTuple | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,!7> | [NullableAttribute(...)] | 0 | [0,1,1,1,1,1,1,1,0] | -| System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!7,!8,!9>> | [NullableAttribute(...)] | 0 | [0,1,1,1,1,1,1,1,0,1,1,1] | -| System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!7,!8>> | [NullableAttribute(...)] | 0 | [0,1,1,1,1,1,1,1,0,1,1] | -| System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!7>> | [NullableAttribute(...)] | 0 | [0,1,1,1,1,1,1,1,0,1] | -| System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!10,!7,!8,!9>> | [NullableAttribute(...)] | 0 | [0,1,1,1,1,1,1,1,0,1,1,1,1] | -| System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!10,!11,!7,!8,!9>> | [NullableAttribute(...)] | 0 | [0,1,1,1,1,1,1,1,0,1,1,1,1,1] | -| System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!10,!11,!12,!7,!8,!9>> | [NullableAttribute(...)] | 0 | [0,1,1,1,1,1,1,1,0,1,1,1,1,1,1] | -| System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!10,!11,!12,!13,!7,!8,!9,System.ValueTuple<!14,!15,!16,!17,!18,!19,!20>>> | [NullableAttribute(...)] | 0 | [0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1] | -| System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!10,!11,!12,!13,!7,!8,!9,System.ValueTuple<!14,!15,!16,!17,!18,!19>>> | [NullableAttribute(...)] | 0 | [0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1] | -| System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!10,!11,!12,!13,!7,!8,!9,System.ValueTuple<!14,!15,!16,!17,!18>>> | [NullableAttribute(...)] | 0 | [0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,1,1,1,1] | -| System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!10,!11,!12,!13,!7,!8,!9,System.ValueTuple<!14,!15,!16,!17>>> | [NullableAttribute(...)] | 0 | [0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,1,1,1] | -| System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!10,!11,!12,!13,!7,!8,!9,System.ValueTuple<!14,!15,!16>>> | [NullableAttribute(...)] | 0 | [0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,1,1] | -| System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!10,!11,!12,!13,!7,!8,!9,System.ValueTuple<!14,!15>>> | [NullableAttribute(...)] | 0 | [0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,1] | -| System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!10,!11,!12,!13,!7,!8,!9,System.ValueTuple<!14>>> | [NullableAttribute(...)] | 0 | [0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1] | -| System.ValueTuple<!0,!1,!2,!3,!4,!5,!6,System.ValueTuple<!10,!11,!12,!13,!7,!8,!9>> | [NullableAttribute(...)] | 0 | [0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1] | -| System.ValueTuple<!0,!1,!2,!3,!4,!5,!6> | [NullableAttribute(...)] | 0 | [0,1,1,1,1,1,1,1] | -| System.ValueTuple<!0,!1,!2,!3,!4,!5> | [NullableAttribute(...)] | 0 | [0,1,1,1,1,1,1] | -| System.ValueTuple<!0,!1,!2,!3,!4> | [NullableAttribute(...)] | 0 | [0,1,1,1,1,1] | -| System.ValueTuple<!0,!1,!2,!3> | [NullableAttribute(...)] | 0 | [0,1,1,1,1] | -| System.ValueTuple<!0,!1,!2> | [NullableAttribute(...)] | 0 | [0,1,1,1] | -| System.ValueTuple<!0,!1> | [NullableAttribute(...)] | 0 | [0,1,1] | -| System.ValueTuple<!0> | [NullableAttribute(...)] | 0 | [0,1] | -| System.ValueTuple<!0> System.TupleExtensions.ToValueTuple`1(System.Tuple<!0>) | [NullableContextAttribute(...)] | 0 | 1 | -| System.ValueTuple<System.HexConverter.Casing,System.IntPtr> | [TupleElementNamesAttribute(...)] | 0 | [RosPtr,casing] | -| System.ValueTuple<System.Int32,System.Int32,System.String,System.String>[] | [TupleElementNamesAttribute(...)] | 0 | [Literal,ArgIndex,Alignment,Format] | -| System.ValueTuple<System.Int32,System.Int32> System.Console.GetCursorPosition() | [NullableContextAttribute(...)] | 0 | 0 | -| System.ValueTuple<System.Int32,System.Int32> System.Console.GetCursorPosition() | [UnsupportedOSPlatformAttribute(...)] | 0 | android | -| System.ValueTuple<System.Int32,System.Int32> System.Console.GetCursorPosition() | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.ValueTuple<System.Int32,System.Int32> System.Console.GetCursorPosition() | [UnsupportedOSPlatformAttribute(...)] | 0 | ios | -| System.ValueTuple<System.Int32,System.Int32> System.Console.GetCursorPosition() | [UnsupportedOSPlatformAttribute(...)] | 0 | tvos | -| System.ValueTuple<System.Int32,System.Int32> System.Runtime.Intrinsics.X86.X86Base.DivRem(System.UInt32,System.Int32,System.Int32) | [RequiresPreviewFeaturesAttribute(...)] | 0 | DivRem is in preview. | -| System.ValueTuple<System.Int64,System.Int64> System.Runtime.Intrinsics.X86.X86Base.X64.DivRem(System.UInt64,System.Int64,System.Int64) | [RequiresPreviewFeaturesAttribute(...)] | 0 | DivRem is in preview. | -| System.ValueTuple<System.IntPtr,System.IntPtr> System.Runtime.Intrinsics.X86.X86Base.DivRem(System.UIntPtr,System.IntPtr,System.IntPtr) | [RequiresPreviewFeaturesAttribute(...)] | 0 | DivRem is in preview. | -| System.ValueTuple<System.Object,System.Object> System.Runtime.DependentHandle.TargetAndDependent | [NullableAttribute(...)] | 0 | [0,2,2] | -| System.ValueTuple<System.Object,System.Object> System.Runtime.DependentHandle.TargetAndDependent | [TupleElementNamesAttribute(...)] | 0 | [Target,Dependent] | -| System.ValueTuple<System.Runtime.Intrinsics.Vector64<System.Int16>,System.Runtime.Intrinsics.Vector64<System.Int16>> System.Runtime.Intrinsics.Vector64.Widen(System.Runtime.Intrinsics.Vector64<System.SByte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.ValueTuple<System.Runtime.Intrinsics.Vector64<System.UInt16>,System.Runtime.Intrinsics.Vector64<System.UInt16>> System.Runtime.Intrinsics.Vector64.Widen(System.Runtime.Intrinsics.Vector64<System.Byte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.ValueTuple<System.Runtime.Intrinsics.Vector64<System.UInt32>,System.Runtime.Intrinsics.Vector64<System.UInt32>> System.Runtime.Intrinsics.Vector64.Widen(System.Runtime.Intrinsics.Vector64<System.UInt16>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.ValueTuple<System.Runtime.Intrinsics.Vector64<System.UInt64>,System.Runtime.Intrinsics.Vector64<System.UInt64>> System.Runtime.Intrinsics.Vector64.Widen(System.Runtime.Intrinsics.Vector64<System.UInt32>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.ValueTuple<System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>> System.Guid.FormatGuidVector128Utf8(System.Guid,System.Boolean) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.Arm.AdvSimd.Arm64 | -| System.ValueTuple<System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>> System.Guid.FormatGuidVector128Utf8(System.Guid,System.Boolean) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Ssse3 | -| System.ValueTuple<System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>> System.HexConverter.AsciiToHexVector128(System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.Arm.AdvSimd.Arm64 | -| System.ValueTuple<System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>> System.HexConverter.AsciiToHexVector128(System.Runtime.Intrinsics.Vector128<System.Byte>,System.Runtime.Intrinsics.Vector128<System.Byte>) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Ssse3 | -| System.ValueTuple<System.Runtime.Intrinsics.Vector128<System.Int16>,System.Runtime.Intrinsics.Vector128<System.Int16>> System.Runtime.Intrinsics.Vector128.Widen(System.Runtime.Intrinsics.Vector128<System.SByte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.ValueTuple<System.Runtime.Intrinsics.Vector128<System.UInt16>,System.Runtime.Intrinsics.Vector128<System.UInt16>> System.Runtime.Intrinsics.Vector128.Widen(System.Runtime.Intrinsics.Vector128<System.Byte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.ValueTuple<System.Runtime.Intrinsics.Vector128<System.UInt32>,System.Runtime.Intrinsics.Vector128<System.UInt32>> System.Runtime.Intrinsics.Vector128.Widen(System.Runtime.Intrinsics.Vector128<System.UInt16>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.ValueTuple<System.Runtime.Intrinsics.Vector128<System.UInt64>,System.Runtime.Intrinsics.Vector128<System.UInt64>> System.Runtime.Intrinsics.Vector128.Widen(System.Runtime.Intrinsics.Vector128<System.UInt32>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.ValueTuple<System.Runtime.Intrinsics.Vector256<System.Int16>,System.Runtime.Intrinsics.Vector256<System.Int16>> System.Runtime.Intrinsics.Vector256.Widen(System.Runtime.Intrinsics.Vector256<System.SByte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.ValueTuple<System.Runtime.Intrinsics.Vector256<System.UInt16>,System.Runtime.Intrinsics.Vector256<System.UInt16>> System.Runtime.Intrinsics.Vector256.Widen(System.Runtime.Intrinsics.Vector256<System.Byte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.ValueTuple<System.Runtime.Intrinsics.Vector256<System.UInt32>,System.Runtime.Intrinsics.Vector256<System.UInt32>> System.Runtime.Intrinsics.Vector256.Widen(System.Runtime.Intrinsics.Vector256<System.UInt16>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.ValueTuple<System.Runtime.Intrinsics.Vector256<System.UInt64>,System.Runtime.Intrinsics.Vector256<System.UInt64>> System.Runtime.Intrinsics.Vector256.Widen(System.Runtime.Intrinsics.Vector256<System.UInt32>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.ValueTuple<System.Runtime.Intrinsics.Vector512<System.Int16>,System.Runtime.Intrinsics.Vector512<System.Int16>> System.Runtime.Intrinsics.Vector512.Widen(System.Runtime.Intrinsics.Vector512<System.SByte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.ValueTuple<System.Runtime.Intrinsics.Vector512<System.UInt16>,System.Runtime.Intrinsics.Vector512<System.UInt16>> System.Runtime.Intrinsics.Vector512.Widen(System.Runtime.Intrinsics.Vector512<System.Byte>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.ValueTuple<System.Runtime.Intrinsics.Vector512<System.UInt32>,System.Runtime.Intrinsics.Vector512<System.UInt32>> System.Runtime.Intrinsics.Vector512.Widen(System.Runtime.Intrinsics.Vector512<System.UInt16>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.ValueTuple<System.Runtime.Intrinsics.Vector512<System.UInt64>,System.Runtime.Intrinsics.Vector512<System.UInt64>> System.Runtime.Intrinsics.Vector512.Widen(System.Runtime.Intrinsics.Vector512<System.UInt32>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.ValueTuple<System.SByte,System.SByte> System.Math.DivRem(System.SByte,System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.ValueTuple<System.UInt16,System.UInt16> System.Math.DivRem(System.UInt16,System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.ValueTuple<System.UInt32,System.UInt32> System.Math.DivRem(System.UInt32,System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.ValueTuple<System.UInt32,System.UInt32> System.Runtime.Intrinsics.X86.X86Base.DivRem(System.UInt32,System.UInt32,System.UInt32) | [RequiresPreviewFeaturesAttribute(...)] | 0 | DivRem is in preview. | -| System.ValueTuple<System.UInt64,System.UInt64> System.Math.DivRem(System.UInt64,System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.ValueTuple<System.UInt64,System.UInt64> System.Runtime.Intrinsics.X86.X86Base.X64.DivRem(System.UInt64,System.UInt64,System.UInt64) | [RequiresPreviewFeaturesAttribute(...)] | 0 | DivRem is in preview. | -| System.ValueTuple<System.UIntPtr,System.UIntPtr> System.Math.DivRem(System.UIntPtr,System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.ValueTuple<System.UIntPtr,System.UIntPtr> System.Runtime.Intrinsics.X86.X86Base.DivRem(System.UIntPtr,System.UIntPtr,System.UIntPtr) | [RequiresPreviewFeaturesAttribute(...)] | 0 | DivRem is in preview. | -| System.ValueTuple`1 | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.ValueTuple`1.Item1 | [NullableAttribute(...)] | 0 | 1 | -| System.ValueTuple`2 | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.ValueTuple`2.Item1 | [NullableAttribute(...)] | 0 | 1 | -| System.ValueTuple`2.Item2 | [NullableAttribute(...)] | 0 | 1 | -| System.ValueTuple`3 | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.ValueTuple`3.Item1 | [NullableAttribute(...)] | 0 | 1 | -| System.ValueTuple`3.Item2 | [NullableAttribute(...)] | 0 | 1 | -| System.ValueTuple`3.Item3 | [NullableAttribute(...)] | 0 | 1 | -| System.ValueTuple`4 | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.ValueTuple`4.Item1 | [NullableAttribute(...)] | 0 | 1 | -| System.ValueTuple`4.Item2 | [NullableAttribute(...)] | 0 | 1 | -| System.ValueTuple`4.Item3 | [NullableAttribute(...)] | 0 | 1 | -| System.ValueTuple`4.Item4 | [NullableAttribute(...)] | 0 | 1 | -| System.ValueTuple`5 | [NullableAttribute(...)] | 0 | 0 | -| System.ValueTuple`5 | [NullableContextAttribute(...)] | 0 | 1 | -| System.ValueTuple`5 | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.ValueTuple`6 | [NullableAttribute(...)] | 0 | 0 | -| System.ValueTuple`6 | [NullableContextAttribute(...)] | 0 | 1 | -| System.ValueTuple`6 | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.ValueTuple`7 | [NullableAttribute(...)] | 0 | 0 | -| System.ValueTuple`7 | [NullableContextAttribute(...)] | 0 | 1 | -| System.ValueTuple`7 | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.ValueTuple`8 | [NullableAttribute(...)] | 0 | 0 | -| System.ValueTuple`8 | [NullableContextAttribute(...)] | 0 | 1 | -| System.ValueTuple`8 | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.ValueTuple`8.Rest | [NullableAttribute(...)] | 0 | 0 | -| System.ValueType | [NullableAttribute(...)] | 0 | 0 | -| System.ValueType | [NullableContextAttribute(...)] | 0 | 2 | -| System.ValueType | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Version | [NotNullWhenAttribute(...)] | 0 | True | -| System.Version | [NullableAttribute(...)] | 0 | 2 | -| System.Version | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.Version System.Version.Parse(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void Internal.Console.Error.Write(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void Internal.Console.Write(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void Internal.Console.WriteLine(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void Internal.Runtime.InteropServices.ComponentActivator.<LoadAssembly>g__LoadAssemblyLocal\|14_0(System.String) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void Internal.Runtime.InteropServices.ComponentActivator.<LoadAssembly>g__LoadAssemblyLocal\|14_0(System.String) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:RequiresUnreferencedCode | -| System.Void Internal.Runtime.InteropServices.ComponentActivator.<LoadAssemblyBytes>g__LoadAssemblyBytesLocal\|16_0(System.ReadOnlySpan<System.Byte>,System.ReadOnlySpan<System.Byte>) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void Internal.Runtime.InteropServices.ComponentActivator.<LoadAssemblyBytes>g__LoadAssemblyBytesLocal\|16_0(System.ReadOnlySpan<System.Byte>,System.ReadOnlySpan<System.Byte>) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:RequiresUnreferencedCode | -| System.Void Internal.Runtime.InteropServices.ComponentActivator.LoadAssemblyImpl(System.String) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Native hosting is not trim compatible and this warning will be seen if trimming is enabled. | -| System.Void Internal.Runtime.InteropServices.ComponentActivator.LoadAssemblyImpl(System.String) | [UnsupportedOSPlatformAttribute(...)] | 0 | android | -| System.Void Internal.Runtime.InteropServices.ComponentActivator.LoadAssemblyImpl(System.String) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Void Internal.Runtime.InteropServices.ComponentActivator.LoadAssemblyImpl(System.String) | [UnsupportedOSPlatformAttribute(...)] | 0 | ios | -| System.Void Internal.Runtime.InteropServices.ComponentActivator.LoadAssemblyImpl(System.String) | [UnsupportedOSPlatformAttribute(...)] | 0 | maccatalyst | -| System.Void Internal.Runtime.InteropServices.ComponentActivator.LoadAssemblyImpl(System.String) | [UnsupportedOSPlatformAttribute(...)] | 0 | tvos | -| System.Void Internal.Runtime.InteropServices.IsolatedComponentLoadContext..ctor(System.String) | [RequiresUnreferencedCodeAttribute(...)] | 0 | The trimmer might remove assemblies that are loaded by this class | -| System.Void Interop.Globalization.ChangeCase(System.Char*,System.Int32,System.Char*,System.Int32,System.Boolean) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Void Interop.Globalization.ChangeCase(System.Char*,System.Int32,System.Char*,System.Int32,System.Boolean) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Void Interop.Globalization.ChangeCaseInvariant(System.Char*,System.Int32,System.Char*,System.Int32,System.Boolean) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Void Interop.Globalization.ChangeCaseInvariant(System.Char*,System.Int32,System.Char*,System.Int32,System.Boolean) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Void Interop.Globalization.ChangeCaseTurkish(System.Char*,System.Int32,System.Char*,System.Int32,System.Boolean) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Void Interop.Globalization.ChangeCaseTurkish(System.Char*,System.Int32,System.Char*,System.Int32,System.Boolean) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Void Interop.Globalization.CloseSortHandle(System.IntPtr) | [LibraryImportAttribute(...)] | 0 | libSystem.Globalization.Native | -| System.Void Interop.Globalization.InitICUFunctions(System.IntPtr,System.IntPtr,System.String,System.String) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Void Interop.Globalization.InitICUFunctions(System.IntPtr,System.IntPtr,System.String,System.String) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Void System.AccessViolationException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.AccessViolationException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.AccessViolationException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Action`1.Invoke(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Action`2.Invoke(!0,!1) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Action`3.Invoke(!0,!1,!2) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Action`4..ctor(System.Object,System.IntPtr) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Action`4.EndInvoke(System.IAsyncResult) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Action`4.Invoke(!0,!1,!2,!3) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Action`5..ctor(System.Object,System.IntPtr) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Action`5.EndInvoke(System.IAsyncResult) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Action`5.Invoke(!0,!1,!2,!3,!4) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Action`6..ctor(System.Object,System.IntPtr) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Action`6.EndInvoke(System.IAsyncResult) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Action`6.Invoke(!0,!1,!2,!3,!4,!5) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Action`7..ctor(System.Object,System.IntPtr) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Action`7.EndInvoke(System.IAsyncResult) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Action`7.Invoke(!0,!1,!2,!3,!4,!5,!6) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Action`8..ctor(System.Object,System.IntPtr) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Action`8.EndInvoke(System.IAsyncResult) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Action`8.Invoke(!0,!1,!2,!3,!4,!5,!6,!7) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Action`9..ctor(System.Object,System.IntPtr) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Action`9.EndInvoke(System.IAsyncResult) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Action`9.Invoke(!0,!1,!2,!3,!4,!5,!6,!7,!8) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Action`10..ctor(System.Object,System.IntPtr) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Action`10.EndInvoke(System.IAsyncResult) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Action`10.Invoke(!0,!1,!2,!3,!4,!5,!6,!7,!8,!9) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Action`11..ctor(System.Object,System.IntPtr) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Action`11.EndInvoke(System.IAsyncResult) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Action`11.Invoke(!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Action`12..ctor(System.Object,System.IntPtr) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Action`12.EndInvoke(System.IAsyncResult) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Action`12.Invoke(!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Action`13..ctor(System.Object,System.IntPtr) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Action`13.EndInvoke(System.IAsyncResult) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Action`13.Invoke(!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Action`14..ctor(System.Object,System.IntPtr) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Action`14.EndInvoke(System.IAsyncResult) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Action`14.Invoke(!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Action`15..ctor(System.Object,System.IntPtr) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Action`15.EndInvoke(System.IAsyncResult) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Action`15.Invoke(!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Action`16..ctor(System.Object,System.IntPtr) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Action`16.EndInvoke(System.IAsyncResult) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Action`16.Invoke(!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,!15) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.AggregateException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.AggregateException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.AggregateException..ctor(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.AggregateException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.AggregateException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.AppDomain.AppendPrivatePath(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.AppDomain.AppendPrivatePath(System.String) | [ObsoleteAttribute(...)] | 0 | AppDomain.AppendPrivatePath has been deprecated and is not supported. | -| System.Void System.AppDomain.ClearPrivatePath() | [ObsoleteAttribute(...)] | 0 | AppDomain.ClearPrivatePath has been deprecated and is not supported. | -| System.Void System.AppDomain.ClearShadowCopyPath() | [ObsoleteAttribute(...)] | 0 | AppDomain.ClearShadowCopyPath has been deprecated and is not supported. | -| System.Void System.AppDomain.SetCachePath(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.AppDomain.SetCachePath(System.String) | [ObsoleteAttribute(...)] | 0 | AppDomain.SetCachePath has been deprecated and is not supported. | -| System.Void System.AppDomain.SetDynamicBase(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.AppDomain.SetDynamicBase(System.String) | [ObsoleteAttribute(...)] | 0 | AppDomain.SetDynamicBase has been deprecated and is not supported. | -| System.Void System.AppDomain.SetShadowCopyFiles() | [ObsoleteAttribute(...)] | 0 | AppDomain.SetShadowCopyFiles has been deprecated and is not supported. | -| System.Void System.AppDomain.SetShadowCopyPath(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.AppDomain.SetShadowCopyPath(System.String) | [ObsoleteAttribute(...)] | 0 | AppDomain.SetShadowCopyPath has been deprecated and is not supported. | -| System.Void System.AppDomain.Unload(System.AppDomain) | [ObsoleteAttribute(...)] | 0 | Creating and unloading AppDomains is not supported and throws an exception. | -| System.Void System.AppDomain.add_AssemblyLoad(System.AssemblyLoadEventHandler) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.AppDomain.add_AssemblyResolve(System.ResolveEventHandler) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.AppDomain.add_DomainUnload(System.EventHandler) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.AppDomain.add_ProcessExit(System.EventHandler) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.AppDomain.add_ReflectionOnlyAssemblyResolve(System.ResolveEventHandler) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.AppDomain.add_ResourceResolve(System.ResolveEventHandler) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.AppDomain.add_TypeResolve(System.ResolveEventHandler) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.AppDomain.add_UnhandledException(System.UnhandledExceptionEventHandler) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.AppDomain.remove_AssemblyLoad(System.AssemblyLoadEventHandler) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.AppDomain.remove_AssemblyResolve(System.ResolveEventHandler) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.AppDomain.remove_DomainUnload(System.EventHandler) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.AppDomain.remove_ProcessExit(System.EventHandler) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.AppDomain.remove_ReflectionOnlyAssemblyResolve(System.ResolveEventHandler) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.AppDomain.remove_ResourceResolve(System.ResolveEventHandler) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.AppDomain.remove_TypeResolve(System.ResolveEventHandler) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.AppDomain.remove_UnhandledException(System.UnhandledExceptionEventHandler) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.AppDomainUnloadedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.AppDomainUnloadedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.AppDomainUnloadedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.ApplicationException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.ApplicationException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.ApplicationException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.ArgIterator..ctor(System.RuntimeArgumentHandle,System.Void*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.ArgumentException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.ArgumentException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.ArgumentException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.ArgumentException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.ArgumentException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.ArgumentException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.ArgumentNullException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.ArgumentNullException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.ArgumentNullException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.ArgumentNullException.ThrowIfNull(System.Void*,System.String) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.ArgumentNullException.ThrowIfNull(System.Void*,System.String) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.ArgumentOutOfRangeException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.ArgumentOutOfRangeException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.ArgumentOutOfRangeException..ctor(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.ArgumentOutOfRangeException..ctor(System.String,System.Exception) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.ArgumentOutOfRangeException..ctor(System.String,System.Object,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.ArgumentOutOfRangeException..ctor(System.String,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.ArgumentOutOfRangeException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.ArgumentOutOfRangeException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.ArithmeticException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.ArithmeticException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.ArithmeticException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Array.Resize`1(!0[],System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Array.SetValue(System.Object,System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Array.SetValue(System.Object,System.Int32,System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Array.SetValue(System.Object,System.Int32,System.Int32,System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Array.SetValue(System.Object,System.Int64) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Array.SetValue(System.Object,System.Int64,System.Int64) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Array.SetValue(System.Object,System.Int64,System.Int64,System.Int64) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Array.Sort(System.Array,System.Array,System.Collections.IComparer) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Array.Sort(System.Array,System.Array,System.Int32,System.Int32,System.Collections.IComparer) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Array.Sort`2(!0[],!1[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Array.Sort`2(!0[],!1[],System.Collections.Generic.IComparer<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Array.Sort`2(!0[],!1[],System.Int32,System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Array.Sort`2(!0[],!1[],System.Int32,System.Int32,System.Collections.Generic.IComparer<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.ArrayTypeMismatchException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.ArrayTypeMismatchException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.ArrayTypeMismatchException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.AssemblyLoadEventHandler.Invoke(System.Object,System.AssemblyLoadEventArgs) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.AsyncCallback.Invoke(System.IAsyncResult) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.BadImageFormatException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.BadImageFormatException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.BadImageFormatException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.BadImageFormatException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.BadImageFormatException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.BadImageFormatException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Buffer.MemoryCopy(System.Void*,System.Void*,System.Int64,System.Int64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Buffer.MemoryCopy(System.Void*,System.Void*,System.Int64,System.Int64) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Buffer.MemoryCopy(System.Void*,System.Void*,System.UInt64,System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Buffer.MemoryCopy(System.Void*,System.Void*,System.UInt64,System.UInt64) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Buffer.__Memmove(System.Byte*,System.Byte*,System.UIntPtr) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Buffer.__ZeroMemory(System.Void*,System.UIntPtr) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Buffers.ArrayPoolEventSource.BufferAllocated(System.Int32,System.Int32,System.Int32,System.Int32,System.Buffers.ArrayPoolEventSource.BufferAllocatedReason) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Buffers.ArrayPoolEventSource.BufferAllocated(System.Int32,System.Int32,System.Int32,System.Int32,System.Buffers.ArrayPoolEventSource.BufferAllocatedReason) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:UnrecognizedReflectionPattern | -| System.Void System.Buffers.ArrayPoolEventSource.BufferDropped(System.Int32,System.Int32,System.Int32,System.Int32,System.Buffers.ArrayPoolEventSource.BufferDroppedReason) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Buffers.ArrayPoolEventSource.BufferDropped(System.Int32,System.Int32,System.Int32,System.Int32,System.Buffers.ArrayPoolEventSource.BufferDroppedReason) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:RequiresUnreferencedCode | -| System.Void System.Buffers.ArrayPoolEventSource.BufferRented(System.Int32,System.Int32,System.Int32,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Buffers.ArrayPoolEventSource.BufferRented(System.Int32,System.Int32,System.Int32,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:UnrecognizedReflectionPattern | -| System.Void System.Buffers.Binary.BinaryPrimitives.ReverseEndianness(System.ReadOnlySpan<System.UInt16>,System.Span<System.UInt16>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Buffers.Binary.BinaryPrimitives.ReverseEndianness(System.ReadOnlySpan<System.UInt32>,System.Span<System.UInt32>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Buffers.Binary.BinaryPrimitives.ReverseEndianness(System.ReadOnlySpan<System.UInt64>,System.Span<System.UInt64>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Buffers.Binary.BinaryPrimitives.ReverseEndianness(System.ReadOnlySpan<System.UInt128>,System.Span<System.UInt128>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Buffers.Binary.BinaryPrimitives.ReverseEndianness(System.ReadOnlySpan<System.UIntPtr>,System.Span<System.UIntPtr>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Buffers.Binary.BinaryPrimitives.WriteUInt16BigEndian(System.Span<System.Byte>,System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Buffers.Binary.BinaryPrimitives.WriteUInt16LittleEndian(System.Span<System.Byte>,System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Buffers.Binary.BinaryPrimitives.WriteUInt32BigEndian(System.Span<System.Byte>,System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Buffers.Binary.BinaryPrimitives.WriteUInt32LittleEndian(System.Span<System.Byte>,System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Buffers.Binary.BinaryPrimitives.WriteUInt64BigEndian(System.Span<System.Byte>,System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Buffers.Binary.BinaryPrimitives.WriteUInt64LittleEndian(System.Span<System.Byte>,System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Buffers.Binary.BinaryPrimitives.WriteUInt128BigEndian(System.Span<System.Byte>,System.UInt128) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Buffers.Binary.BinaryPrimitives.WriteUInt128LittleEndian(System.Span<System.Byte>,System.UInt128) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Buffers.Binary.BinaryPrimitives.WriteUIntPtrBigEndian(System.Span<System.Byte>,System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Buffers.Binary.BinaryPrimitives.WriteUIntPtrLittleEndian(System.Span<System.Byte>,System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Buffers.MemoryHandle..ctor(System.Void*,System.Runtime.InteropServices.GCHandle,System.Buffers.IPinnable) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Buffers.ReadOnlySpanAction`2.Invoke(System.ReadOnlySpan<!0>,!1) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Buffers.SpanAction`2.Invoke(System.Span<!0>,!1) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Buffers.Text.Base64.Avx2Decode(System.Byte*,System.Byte*,System.Byte*,System.Int32,System.Int32,System.Byte*,System.Byte*) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Avx2 | -| System.Void System.Buffers.Text.Base64.Avx2Encode(System.Byte*,System.Byte*,System.Byte*,System.Int32,System.Int32,System.Byte*,System.Byte*) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Avx2 | -| System.Void System.Buffers.Text.Base64.Vector128Decode(System.Byte*,System.Byte*,System.Byte*,System.Int32,System.Int32,System.Byte*,System.Byte*) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.Arm.AdvSimd.Arm64 | -| System.Void System.Buffers.Text.Base64.Vector128Decode(System.Byte*,System.Byte*,System.Byte*,System.Int32,System.Int32,System.Byte*,System.Byte*) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Ssse3 | -| System.Void System.Buffers.Text.Base64.Vector128Encode(System.Byte*,System.Byte*,System.Byte*,System.Int32,System.Int32,System.Byte*,System.Byte*) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.Arm.AdvSimd.Arm64 | -| System.Void System.Buffers.Text.Base64.Vector128Encode(System.Byte*,System.Byte*,System.Byte*,System.Int32,System.Int32,System.Byte*,System.Byte*) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Ssse3 | -| System.Void System.CannotUnloadAppDomainException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.CannotUnloadAppDomainException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.CannotUnloadAppDomainException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.CodeDom.Compiler.IndentedTextWriter.Write(System.Char[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.CodeDom.Compiler.IndentedTextWriter.Write(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.CodeDom.Compiler.IndentedTextWriter.Write(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.CodeDom.Compiler.IndentedTextWriter.Write(System.String,System.Object,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.CodeDom.Compiler.IndentedTextWriter.WriteLine(System.Char[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.CodeDom.Compiler.IndentedTextWriter.WriteLine(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.CodeDom.Compiler.IndentedTextWriter.WriteLine(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.CodeDom.Compiler.IndentedTextWriter.WriteLine(System.String,System.Object,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.CodeDom.Compiler.IndentedTextWriter.WriteLine(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.CodeDom.Compiler.IndentedTextWriter.WriteLineNoTabs(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Collections.ArrayList.Insert(System.Int32,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Collections.ArrayList.Remove(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Collections.ArrayList.Sort(System.Collections.IComparer) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Collections.ArrayList.Sort(System.Int32,System.Int32,System.Collections.IComparer) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Collections.ArrayList.set_Item(System.Int32,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Collections.Comparer.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Collections.Comparer.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Collections.DictionaryEntry.Deconstruct(System.Object,System.Object) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Collections.DictionaryEntry.set_Value(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Collections.Generic.Dictionary`2..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Collections.Generic.Dictionary`2..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Collections.Generic.Dictionary`2.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Collections.Generic.Dictionary`2.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Collections.Generic.Dictionary`2.KeyCollection..ctor(System.Collections.Generic.Dictionary<!0,!1>) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Collections.Generic.Dictionary`2.KeyCollection.CopyTo(!0[],System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Collections.Generic.Dictionary`2.OnDeserialization(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Collections.Generic.Dictionary`2.ValueCollection..ctor(System.Collections.Generic.Dictionary<!0,!1>) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Collections.Generic.Dictionary`2.ValueCollection.CopyTo(!1[],System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Collections.Generic.EnumEqualityComparer`1.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Collections.Generic.HashSet`1..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Collections.Generic.HashSet`1..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Collections.Generic.HashSet`1.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Collections.Generic.HashSet`1.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Collections.Generic.HashSet`1.OnDeserialization(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Collections.Generic.KeyNotFoundException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Collections.Generic.KeyNotFoundException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Collections.Generic.KeyNotFoundException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Collections.Generic.KeyValuePair`2.Deconstruct(!0,!1) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Collections.Generic.NonRandomizedStringEqualityComparer..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Collections.Generic.NonRandomizedStringEqualityComparer..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Collections.Generic.NonRandomizedStringEqualityComparer..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Collections.Generic.NullableComparer`1.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Collections.Generic.NullableEqualityComparer`1.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Collections.Hashtable..ctor(System.Collections.IDictionary,System.Collections.IHashCodeProvider,System.Collections.IComparer) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Collections.Hashtable..ctor(System.Collections.IDictionary,System.Collections.IHashCodeProvider,System.Collections.IComparer) | [ObsoleteAttribute(...)] | 0 | This constructor has been deprecated. Use Hashtable(IDictionary, IEqualityComparer) instead. | -| System.Void System.Collections.Hashtable..ctor(System.Collections.IDictionary,System.Single,System.Collections.IHashCodeProvider,System.Collections.IComparer) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Collections.Hashtable..ctor(System.Collections.IDictionary,System.Single,System.Collections.IHashCodeProvider,System.Collections.IComparer) | [ObsoleteAttribute(...)] | 0 | This constructor has been deprecated. Use Hashtable(IDictionary, float, IEqualityComparer) instead. | -| System.Void System.Collections.Hashtable..ctor(System.Collections.IEqualityComparer) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Collections.Hashtable..ctor(System.Collections.IHashCodeProvider,System.Collections.IComparer) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Collections.Hashtable..ctor(System.Collections.IHashCodeProvider,System.Collections.IComparer) | [ObsoleteAttribute(...)] | 0 | This constructor has been deprecated. Use Hashtable(IEqualityComparer) instead. | -| System.Void System.Collections.Hashtable..ctor(System.Int32,System.Collections.IEqualityComparer) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Collections.Hashtable..ctor(System.Int32,System.Collections.IHashCodeProvider,System.Collections.IComparer) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Collections.Hashtable..ctor(System.Int32,System.Collections.IHashCodeProvider,System.Collections.IComparer) | [ObsoleteAttribute(...)] | 0 | This constructor has been deprecated. Use Hashtable(int, IEqualityComparer) instead. | -| System.Void System.Collections.Hashtable..ctor(System.Int32,System.Single,System.Collections.IEqualityComparer) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Collections.Hashtable..ctor(System.Int32,System.Single,System.Collections.IHashCodeProvider,System.Collections.IComparer) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Collections.Hashtable..ctor(System.Int32,System.Single,System.Collections.IHashCodeProvider,System.Collections.IComparer) | [ObsoleteAttribute(...)] | 0 | This constructor has been deprecated. Use Hashtable(int, float, IEqualityComparer) instead. | -| System.Void System.Collections.Hashtable..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Collections.Hashtable..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Collections.Hashtable.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Collections.Hashtable.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Collections.Hashtable.OnDeserialization(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Collections.Hashtable.SyncHashtable.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Collections.Hashtable.set_comparer(System.Collections.IComparer) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Collections.Hashtable.set_hcp(System.Collections.IHashCodeProvider) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Collections.ObjectModel.ReadOnlyDictionary`2.ValueCollection.CopyTo(!1[],System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.ComAwareWeakReference.ComWeakRefToObject(System.IntPtr,System.Int64,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.ComponentModel.DefaultValueAttribute..ctor(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.ComponentModel.DefaultValueAttribute..ctor(System.Type,System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.ComponentModel.DefaultValueAttribute..ctor(System.Type,System.String) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Generic TypeConverters may require the generic types to be annotated. For example, NullableConverter requires the underlying type to be DynamicallyAccessedMembers All. | -| System.Void System.ComponentModel.DefaultValueAttribute..ctor(System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.ComponentModel.DefaultValueAttribute..ctor(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.ComponentModel.DefaultValueAttribute..ctor(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.ComponentModel.Win32Exception..ctor(System.Int32,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.ComponentModel.Win32Exception..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.ComponentModel.Win32Exception..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.ComponentModel.Win32Exception..ctor(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.ComponentModel.Win32Exception..ctor(System.String,System.Exception) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.ComponentModel.Win32Exception.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.ComponentModel.Win32Exception.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Console.Beep() | [UnsupportedOSPlatformAttribute(...)] | 0 | android | -| System.Void System.Console.Beep() | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Void System.Console.Beep() | [UnsupportedOSPlatformAttribute(...)] | 0 | ios | -| System.Void System.Console.Beep() | [UnsupportedOSPlatformAttribute(...)] | 0 | tvos | -| System.Void System.Console.Beep(System.Int32,System.Int32) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Void System.Console.Clear() | [UnsupportedOSPlatformAttribute(...)] | 0 | android | -| System.Void System.Console.Clear() | [UnsupportedOSPlatformAttribute(...)] | 0 | ios | -| System.Void System.Console.Clear() | [UnsupportedOSPlatformAttribute(...)] | 0 | tvos | -| System.Void System.Console.MoveBufferArea(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Void System.Console.MoveBufferArea(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Char,System.ConsoleColor,System.ConsoleColor) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Void System.Console.ResetColor() | [UnsupportedOSPlatformAttribute(...)] | 0 | android | -| System.Void System.Console.ResetColor() | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Void System.Console.ResetColor() | [UnsupportedOSPlatformAttribute(...)] | 0 | ios | -| System.Void System.Console.ResetColor() | [UnsupportedOSPlatformAttribute(...)] | 0 | tvos | -| System.Void System.Console.SetBufferSize(System.Int32,System.Int32) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Void System.Console.SetCursorPosition(System.Int32,System.Int32) | [UnsupportedOSPlatformAttribute(...)] | 0 | android | -| System.Void System.Console.SetCursorPosition(System.Int32,System.Int32) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Void System.Console.SetCursorPosition(System.Int32,System.Int32) | [UnsupportedOSPlatformAttribute(...)] | 0 | ios | -| System.Void System.Console.SetCursorPosition(System.Int32,System.Int32) | [UnsupportedOSPlatformAttribute(...)] | 0 | tvos | -| System.Void System.Console.SetIn(System.IO.TextReader) | [UnsupportedOSPlatformAttribute(...)] | 0 | android | -| System.Void System.Console.SetIn(System.IO.TextReader) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Void System.Console.SetIn(System.IO.TextReader) | [UnsupportedOSPlatformAttribute(...)] | 0 | ios | -| System.Void System.Console.SetIn(System.IO.TextReader) | [UnsupportedOSPlatformAttribute(...)] | 0 | tvos | -| System.Void System.Console.SetWindowPosition(System.Int32,System.Int32) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Void System.Console.SetWindowSize(System.Int32,System.Int32) | [UnsupportedOSPlatformAttribute(...)] | 0 | android | -| System.Void System.Console.SetWindowSize(System.Int32,System.Int32) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Void System.Console.SetWindowSize(System.Int32,System.Int32) | [UnsupportedOSPlatformAttribute(...)] | 0 | ios | -| System.Void System.Console.SetWindowSize(System.Int32,System.Int32) | [UnsupportedOSPlatformAttribute(...)] | 0 | tvos | -| System.Void System.Console.Write(System.Char[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Console.Write(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Console.Write(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Console.Write(System.String,System.Object,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Console.Write(System.String,System.Object,System.Object,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Console.Write(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Console.Write(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Console.WriteLine(System.Char[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Console.WriteLine(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Console.WriteLine(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Console.WriteLine(System.String,System.Object,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Console.WriteLine(System.String,System.Object,System.Object,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Console.WriteLine(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Console.WriteLine(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Console.add_CancelKeyPress(System.ConsoleCancelEventHandler) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Console.remove_CancelKeyPress(System.ConsoleCancelEventHandler) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Console.set_BufferHeight(System.Int32) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Void System.Console.set_BufferWidth(System.Int32) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Void System.Console.set_CursorSize(System.Int32) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Void System.Console.set_CursorVisible(System.Boolean) | [UnsupportedOSPlatformAttribute(...)] | 0 | android | -| System.Void System.Console.set_CursorVisible(System.Boolean) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Void System.Console.set_CursorVisible(System.Boolean) | [UnsupportedOSPlatformAttribute(...)] | 0 | ios | -| System.Void System.Console.set_CursorVisible(System.Boolean) | [UnsupportedOSPlatformAttribute(...)] | 0 | tvos | -| System.Void System.Console.set_OutputEncoding(System.Text.Encoding) | [UnsupportedOSPlatformAttribute(...)] | 0 | android | -| System.Void System.Console.set_OutputEncoding(System.Text.Encoding) | [UnsupportedOSPlatformAttribute(...)] | 0 | ios | -| System.Void System.Console.set_OutputEncoding(System.Text.Encoding) | [UnsupportedOSPlatformAttribute(...)] | 0 | tvos | -| System.Void System.Console.set_Title(System.String) | [UnsupportedOSPlatformAttribute(...)] | 0 | android | -| System.Void System.Console.set_Title(System.String) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Void System.Console.set_Title(System.String) | [UnsupportedOSPlatformAttribute(...)] | 0 | ios | -| System.Void System.Console.set_Title(System.String) | [UnsupportedOSPlatformAttribute(...)] | 0 | tvos | -| System.Void System.Console.set_WindowLeft(System.Int32) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Void System.Console.set_WindowTop(System.Int32) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Void System.ConsoleCancelEventHandler.Invoke(System.Object,System.ConsoleCancelEventArgs) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.ContextMarshalException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.ContextMarshalException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.ContextMarshalException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.CultureAwareComparer.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.DBNull.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.DBNull.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.DataMisalignedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.DataMisalignedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.DateOnly..ctor(System.Int32,System.Int32,System.Int32,System.Globalization.Calendar) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.DateOnly.Deconstruct(System.Int32,System.Int32,System.Int32) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.DateTime..ctor(System.Int32,System.Int32,System.Int32,System.Globalization.Calendar) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.DateTime..ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Globalization.Calendar) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.DateTime..ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Globalization.Calendar) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.DateTime..ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Globalization.Calendar,System.DateTimeKind) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.DateTime..ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Globalization.Calendar) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.DateTime..ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Globalization.Calendar,System.DateTimeKind) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.DateTime.Deconstruct(System.DateOnly,System.TimeOnly) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.DateTime.Deconstruct(System.Int32,System.Int32,System.Int32) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.DateTimeOffset..ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Globalization.Calendar,System.TimeSpan) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.DateTimeOffset..ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Globalization.Calendar,System.TimeSpan) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.DateTimeOffset.Deconstruct(System.DateOnly,System.TimeOnly,System.TimeSpan) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Decimal..ctor(System.Int32[]) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Decimal..ctor(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Decimal..ctor(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Delegate..ctor(System.Object,System.String) | [RequiresUnreferencedCodeAttribute(...)] | 0 | The target method might be removed | -| System.Void System.Delegate.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Delegate.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute..ctor(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes,System.String,System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute..ctor(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes,System.Type) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute..ctor(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute..ctor(System.String,System.String,System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute..ctor(System.String,System.Type) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Diagnostics.CodeAnalysis.ExperimentalAttribute.set_UrlFormat(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Diagnostics.CodeAnalysis.RequiresAssemblyFilesAttribute..ctor(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.set_Url(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute.set_Url(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Diagnostics.CodeAnalysis.SuppressMessageAttribute..ctor(System.String,System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute..ctor(System.String,System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Diagnostics.Contracts.Contract.Assert(System.Boolean) | [ConditionalAttribute(...)] | 0 | CONTRACTS_FULL | -| System.Void System.Diagnostics.Contracts.Contract.Assert(System.Boolean) | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Void System.Diagnostics.Contracts.Contract.Assert(System.Boolean,System.String) | [ConditionalAttribute(...)] | 0 | CONTRACTS_FULL | -| System.Void System.Diagnostics.Contracts.Contract.Assert(System.Boolean,System.String) | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Void System.Diagnostics.Contracts.Contract.Assert(System.Boolean,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Diagnostics.Contracts.Contract.AssertMustUseRewriter(System.Diagnostics.Contracts.ContractFailureKind,System.String) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Diagnostics.Contracts.Contract.AssertMustUseRewriter(System.Diagnostics.Contracts.ContractFailureKind,System.String) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:RequiresUnreferencedCode | -| System.Void System.Diagnostics.Contracts.Contract.Assume(System.Boolean) | [ConditionalAttribute(...)] | 0 | CONTRACTS_FULL | -| System.Void System.Diagnostics.Contracts.Contract.Assume(System.Boolean) | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Void System.Diagnostics.Contracts.Contract.Assume(System.Boolean,System.String) | [ConditionalAttribute(...)] | 0 | CONTRACTS_FULL | -| System.Void System.Diagnostics.Contracts.Contract.Assume(System.Boolean,System.String) | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Void System.Diagnostics.Contracts.Contract.Assume(System.Boolean,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Diagnostics.Contracts.Contract.EndContractBlock() | [ConditionalAttribute(...)] | 0 | CONTRACTS_FULL | -| System.Void System.Diagnostics.Contracts.Contract.Ensures(System.Boolean) | [ConditionalAttribute(...)] | 0 | CONTRACTS_FULL | -| System.Void System.Diagnostics.Contracts.Contract.Ensures(System.Boolean,System.String) | [ConditionalAttribute(...)] | 0 | CONTRACTS_FULL | -| System.Void System.Diagnostics.Contracts.Contract.Ensures(System.Boolean,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Diagnostics.Contracts.Contract.EnsuresOnThrow`1(System.Boolean) | [ConditionalAttribute(...)] | 0 | CONTRACTS_FULL | -| System.Void System.Diagnostics.Contracts.Contract.EnsuresOnThrow`1(System.Boolean) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Diagnostics.Contracts.Contract.EnsuresOnThrow`1(System.Boolean,System.String) | [ConditionalAttribute(...)] | 0 | CONTRACTS_FULL | -| System.Void System.Diagnostics.Contracts.Contract.EnsuresOnThrow`1(System.Boolean,System.String) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Diagnostics.Contracts.Contract.Invariant(System.Boolean) | [ConditionalAttribute(...)] | 0 | CONTRACTS_FULL | -| System.Void System.Diagnostics.Contracts.Contract.Invariant(System.Boolean,System.String) | [ConditionalAttribute(...)] | 0 | CONTRACTS_FULL | -| System.Void System.Diagnostics.Contracts.Contract.Invariant(System.Boolean,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Diagnostics.Contracts.Contract.Requires(System.Boolean) | [ConditionalAttribute(...)] | 0 | CONTRACTS_FULL | -| System.Void System.Diagnostics.Contracts.Contract.Requires(System.Boolean,System.String) | [ConditionalAttribute(...)] | 0 | CONTRACTS_FULL | -| System.Void System.Diagnostics.Contracts.Contract.Requires(System.Boolean,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Diagnostics.Contracts.Contract.Requires`1(System.Boolean) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Diagnostics.Contracts.Contract.Requires`1(System.Boolean,System.String) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Diagnostics.Contracts.ContractException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Diagnostics.Contracts.ContractException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Diagnostics.Contracts.ContractException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Diagnostics.Contracts.ContractException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Diagnostics.Debug.Assert(System.Boolean) | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Void System.Diagnostics.Debug.Assert(System.Boolean,System.Diagnostics.Debug.AssertInterpolatedStringHandler) | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Void System.Diagnostics.Debug.Assert(System.Boolean,System.Diagnostics.Debug.AssertInterpolatedStringHandler,System.Diagnostics.Debug.AssertInterpolatedStringHandler) | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Void System.Diagnostics.Debug.Assert(System.Boolean,System.String) | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Void System.Diagnostics.Debug.Assert(System.Boolean,System.String,System.String) | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Void System.Diagnostics.Debug.Assert(System.Boolean,System.String,System.String,System.Object[]) | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Void System.Diagnostics.Debug.Assert(System.Boolean,System.String,System.String,System.Object[]) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Diagnostics.Debug.AssertInterpolatedStringHandler.AppendFormatted(System.ReadOnlySpan<System.Char>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Diagnostics.Debug.AssertInterpolatedStringHandler.AppendFormatted(System.ReadOnlySpan<System.Char>,System.Int32,System.String) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Diagnostics.Debug.AssertInterpolatedStringHandler.AppendFormatted`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Diagnostics.Debug.AssertInterpolatedStringHandler.AppendFormatted`1(!0,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Diagnostics.Debug.AssertInterpolatedStringHandler.AppendLiteral(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Diagnostics.Debug.Close() | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Void System.Diagnostics.Debug.Fail(System.String) | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Void System.Diagnostics.Debug.Fail(System.String,System.String) | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Void System.Diagnostics.Debug.Flush() | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Void System.Diagnostics.Debug.Indent() | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Void System.Diagnostics.Debug.Print(System.String) | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Void System.Diagnostics.Debug.Print(System.String,System.Object[]) | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Void System.Diagnostics.Debug.Print(System.String,System.Object[]) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Diagnostics.Debug.Unindent() | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Void System.Diagnostics.Debug.Write(System.Object) | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Void System.Diagnostics.Debug.Write(System.Object,System.String) | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Void System.Diagnostics.Debug.Write(System.String) | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Void System.Diagnostics.Debug.Write(System.String,System.String) | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Void System.Diagnostics.Debug.WriteIf(System.Boolean,System.Diagnostics.Debug.WriteIfInterpolatedStringHandler) | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Void System.Diagnostics.Debug.WriteIf(System.Boolean,System.Diagnostics.Debug.WriteIfInterpolatedStringHandler,System.String) | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Void System.Diagnostics.Debug.WriteIf(System.Boolean,System.Object) | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Void System.Diagnostics.Debug.WriteIf(System.Boolean,System.Object,System.String) | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Void System.Diagnostics.Debug.WriteIf(System.Boolean,System.String) | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Void System.Diagnostics.Debug.WriteIf(System.Boolean,System.String,System.String) | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Void System.Diagnostics.Debug.WriteIfInterpolatedStringHandler.AppendFormatted(System.ReadOnlySpan<System.Char>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Diagnostics.Debug.WriteIfInterpolatedStringHandler.AppendFormatted(System.ReadOnlySpan<System.Char>,System.Int32,System.String) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Diagnostics.Debug.WriteIfInterpolatedStringHandler.AppendFormatted`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Diagnostics.Debug.WriteIfInterpolatedStringHandler.AppendFormatted`1(!0,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Diagnostics.Debug.WriteIfInterpolatedStringHandler.AppendLiteral(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Diagnostics.Debug.WriteLine(System.Object) | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Void System.Diagnostics.Debug.WriteLine(System.Object,System.String) | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Void System.Diagnostics.Debug.WriteLine(System.String) | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Void System.Diagnostics.Debug.WriteLine(System.String,System.Object[]) | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Void System.Diagnostics.Debug.WriteLine(System.String,System.Object[]) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Diagnostics.Debug.WriteLine(System.String,System.String) | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Void System.Diagnostics.Debug.WriteLineIf(System.Boolean,System.Diagnostics.Debug.WriteIfInterpolatedStringHandler) | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Void System.Diagnostics.Debug.WriteLineIf(System.Boolean,System.Diagnostics.Debug.WriteIfInterpolatedStringHandler,System.String) | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Void System.Diagnostics.Debug.WriteLineIf(System.Boolean,System.Object) | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Void System.Diagnostics.Debug.WriteLineIf(System.Boolean,System.Object,System.String) | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Void System.Diagnostics.Debug.WriteLineIf(System.Boolean,System.String) | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Void System.Diagnostics.Debug.WriteLineIf(System.Boolean,System.String,System.String) | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Void System.Diagnostics.DebugProvider.FailCore(System.String,System.String,System.String,System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Diagnostics.DebugProvider.WriteCore(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Diagnostics.Debugger.LogInternal(System.Int32,System.String,System.String) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Void System.Diagnostics.Debugger.LogInternal(System.Int32,System.String,System.String) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Void System.Diagnostics.DebuggerTypeProxyAttribute..ctor(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Diagnostics.DebuggerTypeProxyAttribute..ctor(System.Type) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Diagnostics.DebuggerVisualizerAttribute..ctor(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Diagnostics.DebuggerVisualizerAttribute..ctor(System.String,System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Diagnostics.DebuggerVisualizerAttribute..ctor(System.String,System.Type) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Diagnostics.DebuggerVisualizerAttribute..ctor(System.Type) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Diagnostics.DebuggerVisualizerAttribute..ctor(System.Type,System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Diagnostics.DebuggerVisualizerAttribute..ctor(System.Type,System.Type) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Diagnostics.StackTrace.ToString(System.Diagnostics.StackTrace.TraceFormat,System.Text.StringBuilder) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Diagnostics.StackTrace.ToString(System.Diagnostics.StackTrace.TraceFormat,System.Text.StringBuilder) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:RequiresUnreferencedCode | -| System.Void System.Diagnostics.Tracing.EventCounter.WritePayload(System.Single,System.Int32) | [DynamicDependencyAttribute(...)] | 0 | 512 | -| System.Void System.Diagnostics.Tracing.EventCounter.WritePayload(System.Single,System.Int32) | [DynamicDependencyAttribute(...)] | 1 | System.Diagnostics.Tracing.CounterPayload | -| System.Void System.Diagnostics.Tracing.EventCounter.WritePayload(System.Single,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Diagnostics.Tracing.EventCounter.WritePayload(System.Single,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:RequiresUnreferencedCode | -| System.Void System.Diagnostics.Tracing.EventPipeInternal.DeleteProvider(System.IntPtr) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Diagnostics.Tracing.EventPipeInternal.Disable(System.UInt64) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Diagnostics.Tracing.EventPipeInternal.WriteEventData(System.IntPtr,System.Diagnostics.Tracing.EventProvider.EventData*,System.UInt32,System.Guid*,System.Guid*) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Diagnostics.Tracing.EventSource..ctor(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Diagnostics.Tracing.EventSource..ctor(System.String,System.Diagnostics.Tracing.EventSourceSettings) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Diagnostics.Tracing.EventSource..ctor(System.String,System.Diagnostics.Tracing.EventSourceSettings,System.String[]) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Diagnostics.Tracing.EventSource.AssertValidString(System.Diagnostics.Tracing.EventSource.EventData*) | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Void System.Diagnostics.Tracing.EventSource.OnEventCommand(System.Diagnostics.Tracing.EventCommandEventArgs) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Diagnostics.Tracing.EventSource.SendCommand(System.Diagnostics.Tracing.EventSource,System.Diagnostics.Tracing.EventCommand,System.Collections.Generic.IDictionary<System.String,System.String>) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Diagnostics.Tracing.EventSource.Write(System.String) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Diagnostics.Tracing.EventSource.Write(System.String) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:UnrecognizedReflectionPattern | -| System.Void System.Diagnostics.Tracing.EventSource.Write(System.String,System.Diagnostics.Tracing.EventSourceOptions) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Diagnostics.Tracing.EventSource.Write(System.String,System.Diagnostics.Tracing.EventSourceOptions) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:UnrecognizedReflectionPattern | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:UnrecognizedReflectionPattern | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.Byte[]) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.Byte[]) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:UnrecognizedReflectionPattern | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.Diagnostics.Tracing.EventSource.EventSourcePrimitive[]) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.Diagnostics.Tracing.EventSource.EventSourcePrimitive[]) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.Diagnostics.Tracing.EventSource.EventSourcePrimitive[]) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:UnrecognizedReflectionPattern | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:UnrecognizedReflectionPattern | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.Int32,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.Int32,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:UnrecognizedReflectionPattern | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.Int32,System.Int32,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.Int32,System.Int32,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:UnrecognizedReflectionPattern | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.Int32,System.String) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.Int32,System.String) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:UnrecognizedReflectionPattern | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.Int64) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.Int64) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:UnrecognizedReflectionPattern | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.Int64,System.Byte[]) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.Int64,System.Byte[]) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:UnrecognizedReflectionPattern | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.Int64,System.Int64) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.Int64,System.Int64) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:UnrecognizedReflectionPattern | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.Int64,System.Int64,System.Int64) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.Int64,System.Int64,System.Int64) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:UnrecognizedReflectionPattern | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.Int64,System.String) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.Int64,System.String) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:UnrecognizedReflectionPattern | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.Object[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | EventSource will serialize the whole object graph. Trimmer will not safely handle this case because properties may be trimmed. | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.Object[]) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.Object[]) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2112:ReflectionToRequiresUnreferencedCode | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.String) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.String) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:UnrecognizedReflectionPattern | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.String,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.String,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:UnrecognizedReflectionPattern | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.String,System.Int32,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.String,System.Int32,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:UnrecognizedReflectionPattern | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.String,System.Int64) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.String,System.Int64) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:UnrecognizedReflectionPattern | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.String,System.String) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.String,System.String) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:UnrecognizedReflectionPattern | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.String,System.String,System.String) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEvent(System.Int32,System.String,System.String,System.String) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:UnrecognizedReflectionPattern | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEventCore(System.Int32,System.Int32,System.Diagnostics.Tracing.EventSource.EventData*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEventCore(System.Int32,System.Int32,System.Diagnostics.Tracing.EventSource.EventData*) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEventCore(System.Int32,System.Int32,System.Diagnostics.Tracing.EventSource.EventData*) | [RequiresUnreferencedCodeAttribute(...)] | 0 | EventSource will serialize the whole object graph. Trimmer will not safely handle this case because properties may be trimmed. | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEventCore(System.Int32,System.Int32,System.Diagnostics.Tracing.EventSource.EventData*) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEventCore(System.Int32,System.Int32,System.Diagnostics.Tracing.EventSource.EventData*) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2112:ReflectionToRequiresUnreferencedCode | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEventVarargs(System.Int32,System.Guid*,System.Object[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | EventSource will serialize the whole object graph. Trimmer will not safely handle this case because properties may be trimmed. | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEventVarargs(System.Int32,System.Guid*,System.Object[]) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEventVarargs(System.Int32,System.Guid*,System.Object[]) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2112:ReflectionToRequiresUnreferencedCode | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEventWithRelatedActivityId(System.Int32,System.Guid,System.Object[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | EventSource will serialize the whole object graph. Trimmer will not safely handle this case because properties may be trimmed. | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEventWithRelatedActivityId(System.Int32,System.Guid,System.Object[]) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEventWithRelatedActivityId(System.Int32,System.Guid,System.Object[]) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2112:ReflectionToRequiresUnreferencedCode | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEventWithRelatedActivityIdCore(System.Int32,System.Guid*,System.Int32,System.Diagnostics.Tracing.EventSource.EventData*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEventWithRelatedActivityIdCore(System.Int32,System.Guid*,System.Int32,System.Diagnostics.Tracing.EventSource.EventData*) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEventWithRelatedActivityIdCore(System.Int32,System.Guid*,System.Int32,System.Diagnostics.Tracing.EventSource.EventData*) | [RequiresUnreferencedCodeAttribute(...)] | 0 | EventSource will serialize the whole object graph. Trimmer will not safely handle this case because properties may be trimmed. | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEventWithRelatedActivityIdCore(System.Int32,System.Guid*,System.Int32,System.Diagnostics.Tracing.EventSource.EventData*) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Diagnostics.Tracing.EventSource.WriteEventWithRelatedActivityIdCore(System.Int32,System.Guid*,System.Int32,System.Diagnostics.Tracing.EventSource.EventData*) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2112:ReflectionToRequiresUnreferencedCode | -| System.Void System.Diagnostics.Tracing.EventSource.Write`1(System.String,!0) | [RequiresUnreferencedCodeAttribute(...)] | 0 | EventSource will serialize the whole object graph. Trimmer will not safely handle this case because properties may be trimmed. | -| System.Void System.Diagnostics.Tracing.EventSource.Write`1(System.String,!0) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Diagnostics.Tracing.EventSource.Write`1(System.String,!0) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2112:ReflectionToRequiresUnreferencedCode | -| System.Void System.Diagnostics.Tracing.EventSource.Write`1(System.String,System.Diagnostics.Tracing.EventSourceOptions,!0) | [RequiresUnreferencedCodeAttribute(...)] | 0 | EventSource will serialize the whole object graph. Trimmer will not safely handle this case because properties may be trimmed. | -| System.Void System.Diagnostics.Tracing.EventSource.Write`1(System.String,System.Diagnostics.Tracing.EventSourceOptions,!0) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Diagnostics.Tracing.EventSource.Write`1(System.String,System.Diagnostics.Tracing.EventSourceOptions,!0) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2112:ReflectionToRequiresUnreferencedCode | -| System.Void System.Diagnostics.Tracing.EventSource.Write`1(System.String,System.Diagnostics.Tracing.EventSourceOptions,System.Guid,System.Guid,!0) | [RequiresUnreferencedCodeAttribute(...)] | 0 | EventSource will serialize the whole object graph. Trimmer will not safely handle this case because properties may be trimmed. | -| System.Void System.Diagnostics.Tracing.EventSource.Write`1(System.String,System.Diagnostics.Tracing.EventSourceOptions,System.Guid,System.Guid,!0) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Diagnostics.Tracing.EventSource.Write`1(System.String,System.Diagnostics.Tracing.EventSourceOptions,System.Guid,System.Guid,!0) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2112:ReflectionToRequiresUnreferencedCode | -| System.Void System.Diagnostics.Tracing.EventSourceException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Diagnostics.Tracing.EventSourceException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Diagnostics.Tracing.EventSourceException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Diagnostics.Tracing.FrameworkEventSource.WriteEvent(System.Int32,System.Int64,System.Int32,System.String) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Diagnostics.Tracing.FrameworkEventSource.WriteEvent(System.Int32,System.Int64,System.Int32,System.String) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:UnrecognizedReflectionPattern | -| System.Void System.Diagnostics.Tracing.FrameworkEventSource.WriteEvent(System.Int32,System.Int64,System.Int32,System.String,System.Boolean,System.Int32,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Diagnostics.Tracing.FrameworkEventSource.WriteEvent(System.Int32,System.Int64,System.Int32,System.String,System.Boolean,System.Int32,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:UnrecognizedReflectionPattern | -| System.Void System.Diagnostics.Tracing.IncrementingEventCounter.WritePayload(System.Single,System.Int32) | [DynamicDependencyAttribute(...)] | 0 | 512 | -| System.Void System.Diagnostics.Tracing.IncrementingEventCounter.WritePayload(System.Single,System.Int32) | [DynamicDependencyAttribute(...)] | 1 | System.Diagnostics.Tracing.IncrementingCounterPayload | -| System.Void System.Diagnostics.Tracing.IncrementingEventCounter.WritePayload(System.Single,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Diagnostics.Tracing.IncrementingEventCounter.WritePayload(System.Single,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:RequiresUnreferencedCode | -| System.Void System.Diagnostics.Tracing.IncrementingPollingCounter.WritePayload(System.Single,System.Int32) | [DynamicDependencyAttribute(...)] | 0 | 512 | -| System.Void System.Diagnostics.Tracing.IncrementingPollingCounter.WritePayload(System.Single,System.Int32) | [DynamicDependencyAttribute(...)] | 1 | System.Diagnostics.Tracing.IncrementingCounterPayload | -| System.Void System.Diagnostics.Tracing.IncrementingPollingCounter.WritePayload(System.Single,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Diagnostics.Tracing.IncrementingPollingCounter.WritePayload(System.Single,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:RequiresUnreferencedCode | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.LogContentionLockCreated(System.IntPtr,System.IntPtr,System.UInt16) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.LogContentionStart(System.Diagnostics.Tracing.NativeRuntimeEventSource.ContentionFlagsMap,System.UInt16,System.IntPtr,System.IntPtr,System.UInt64) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.LogContentionStop(System.Diagnostics.Tracing.NativeRuntimeEventSource.ContentionFlagsMap,System.UInt16,System.Double) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.LogThreadPoolIODequeue(System.IntPtr,System.IntPtr,System.UInt16) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.LogThreadPoolIOEnqueue(System.IntPtr,System.IntPtr,System.Boolean,System.UInt16) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.LogThreadPoolIOEnqueue(System.IntPtr,System.IntPtr,System.Boolean,System.UInt16) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.LogThreadPoolIOEnqueue(System.IntPtr,System.IntPtr,System.Boolean,System.UInt16) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.LogThreadPoolIOPack(System.IntPtr,System.IntPtr,System.UInt16) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.LogThreadPoolMinMaxThreads(System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.UInt16) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.LogThreadPoolWorkerThreadAdjustmentAdjustment(System.Double,System.UInt32,System.Diagnostics.Tracing.NativeRuntimeEventSource.ThreadAdjustmentReasonMap,System.UInt16) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.LogThreadPoolWorkerThreadAdjustmentSample(System.Double,System.UInt16) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.LogThreadPoolWorkerThreadAdjustmentStats(System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,System.UInt16,System.UInt16) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.LogThreadPoolWorkerThreadStart(System.UInt32,System.UInt32,System.UInt16) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.LogThreadPoolWorkerThreadStop(System.UInt32,System.UInt32,System.UInt16) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.LogThreadPoolWorkerThreadWait(System.UInt32,System.UInt32,System.UInt16) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Diagnostics.Tracing.NativeRuntimeEventSource.LogThreadPoolWorkingThreadCount(System.UInt32,System.UInt16) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Diagnostics.Tracing.NullableTypeInfo..ctor(System.Type,System.Collections.Generic.List<System.Type>) | [RequiresUnreferencedCodeAttribute(...)] | 0 | EventSource WriteEvent will serialize the whole object graph. Trimmer will not safely handle this case because properties may be trimmed. This can be suppressed if the object is a primitive type | -| System.Void System.Diagnostics.Tracing.NullableTypeInfo.WriteData(System.Diagnostics.Tracing.PropertyValue) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Diagnostics.Tracing.NullableTypeInfo.WriteData(System.Diagnostics.Tracing.PropertyValue) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2072:UnrecognizedReflectionPattern | -| System.Void System.Diagnostics.Tracing.PollingCounter.WritePayload(System.Single,System.Int32) | [DynamicDependencyAttribute(...)] | 0 | 512 | -| System.Void System.Diagnostics.Tracing.PollingCounter.WritePayload(System.Single,System.Int32) | [DynamicDependencyAttribute(...)] | 1 | System.Diagnostics.Tracing.CounterPayload | -| System.Void System.Diagnostics.Tracing.PollingCounter.WritePayload(System.Single,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Diagnostics.Tracing.PollingCounter.WritePayload(System.Single,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:RequiresUnreferencedCode | -| System.Void System.Diagnostics.Tracing.TraceLoggingEventTypes..ctor(System.String,System.Diagnostics.Tracing.EventTags,System.Reflection.ParameterInfo[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | EventSource WriteEvent will serialize the whole object graph. Trimmer will not safely handle this case because properties may be trimmed. This can be suppressed if the object is a primitive type | -| System.Void System.Diagnostics.Tracing.TraceLoggingEventTypes..ctor(System.String,System.Diagnostics.Tracing.EventTags,System.Type[]) | [RequiresUnreferencedCodeAttribute(...)] | 0 | EventSource WriteEvent will serialize the whole object graph. Trimmer will not safely handle this case because properties may be trimmed. This can be suppressed if the object is a primitive type | -| System.Void System.Diagnostics.Tracing.TypeAnalysis..ctor(System.Type,System.Diagnostics.Tracing.EventDataAttribute,System.Collections.Generic.List<System.Type>) | [RequiresUnreferencedCodeAttribute(...)] | 0 | EventSource WriteEvent will serialize the whole object graph. Trimmer will not safely handle this case because properties may be trimmed. This can be suppressed if the object is a primitive type | -| System.Void System.DivideByZeroException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.DivideByZeroException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.DivideByZeroException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.DllNotFoundException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.DllNotFoundException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.DllNotFoundException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.DuplicateWaitObjectException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.DuplicateWaitObjectException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.DuplicateWaitObjectException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.EntryPointNotFoundException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.EntryPointNotFoundException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.EntryPointNotFoundException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Enum.AssertValidGenerics`2() | [ConditionalAttribute(...)] | 0 | DEBUG | -| System.Void System.Enum.GetEnumValuesAndNames(System.Runtime.CompilerServices.QCallTypeHandle,System.Runtime.CompilerServices.ObjectHandleOnStack,System.Runtime.CompilerServices.ObjectHandleOnStack,Interop.BOOL) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Environment.FailFast(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Environment.FailFast(System.String,System.Exception) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Environment._Exit(System.Int32) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.EventHandler.Invoke(System.Object,System.EventArgs) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.EventHandler`1.Invoke(System.Object,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Exception..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Exception..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Exception..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Exception.GetMessageFromNativeResources(System.Exception.ExceptionMessageKind,System.Runtime.CompilerServices.StringHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Exception.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Exception.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Exception.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.FieldAccessException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.FieldAccessException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.FieldAccessException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.FormatException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.FormatException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.FormatException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Func`5..ctor(System.Object,System.IntPtr) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Func`6..ctor(System.Object,System.IntPtr) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Func`7..ctor(System.Object,System.IntPtr) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Func`8..ctor(System.Object,System.IntPtr) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Func`9..ctor(System.Object,System.IntPtr) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Func`10..ctor(System.Object,System.IntPtr) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Func`11..ctor(System.Object,System.IntPtr) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Func`12..ctor(System.Object,System.IntPtr) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Func`13..ctor(System.Object,System.IntPtr) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Func`14..ctor(System.Object,System.IntPtr) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Func`15..ctor(System.Object,System.IntPtr) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Func`16..ctor(System.Object,System.IntPtr) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Func`17..ctor(System.Object,System.IntPtr) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.GC.KeepAlive(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.GC._AddMemoryPressure(System.UInt64) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.GC._Collect(System.Int32,System.Int32) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.GC._EnumerateConfigurationValues(System.Void*,delegate* unmanaged<Void*,Void*,Void*,GCConfigurationType,Int64,Void>) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.GC._RemoveMemoryPressure(System.UInt64) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.GC._UnregisterFrozenSegment(System.IntPtr) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.GC._WaitForPendingFinalizers() | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Globalization.CompareInfo.InitSort(System.Globalization.CultureInfo) | [MemberNotNullAttribute(...)] | 0 | _sortName | -| System.Void System.Globalization.CultureInfo.set_DefaultThreadCurrentCulture(System.Globalization.CultureInfo) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Globalization.CultureInfo.set_DefaultThreadCurrentUICulture(System.Globalization.CultureInfo) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Globalization.CultureNotFoundException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Globalization.CultureNotFoundException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Globalization.CultureNotFoundException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Globalization.CultureNotFoundException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Globalization.CultureNotFoundException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Globalization.CultureNotFoundException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Globalization.DateTimeFormatInfo.set_Calendar(System.Globalization.Calendar) | [MemberNotNullAttribute(...)] | 0 | calendar | -| System.Void System.Globalization.StringInfo.set_String(System.String) | [MemberNotNullAttribute(...)] | 0 | _str | -| System.Void System.Guid..ctor(System.Byte[]) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Guid..ctor(System.Int32,System.Int16,System.Int16,System.Byte[]) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Guid..ctor(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Guid..ctor(System.UInt32,System.UInt16,System.UInt16,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.HashCode.AddBytes(System.ReadOnlySpan<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.HexConverter.EncodeToUtf16_Vector128(System.ReadOnlySpan<System.Byte>,System.Span<System.Char>,System.HexConverter.Casing) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.Arm.AdvSimd.Arm64 | -| System.Void System.HexConverter.EncodeToUtf16_Vector128(System.ReadOnlySpan<System.Byte>,System.Span<System.Char>,System.HexConverter.Casing) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Ssse3 | -| System.Void System.IO.BinaryWriter.Write(System.ReadOnlySpan<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.IO.BinaryWriter.Write(System.ReadOnlySpan<System.Char>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.IO.BinaryWriter.Write(System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.IO.BinaryWriter.Write(System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.IO.BinaryWriter.Write(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.IO.BinaryWriter.Write(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.IO.BufferedStream.EnsureBufferAllocated() | [MemberNotNullAttribute(...)] | 0 | _buffer | -| System.Void System.IO.BufferedStream.Write(System.ReadOnlySpan<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.IO.DirectoryNotFoundException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.IO.DirectoryNotFoundException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.IO.DirectoryNotFoundException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.IO.EndOfStreamException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.IO.EndOfStreamException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.IO.EndOfStreamException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.IO.Enumeration.FileSystemEnumerable`1..ctor(System.String,System.IO.Enumeration.FileSystemEnumerable<!0>.FindTransform,System.IO.EnumerationOptions) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.IO.Enumeration.FileSystemEnumerator`1..ctor(System.String,System.IO.EnumerationOptions) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.IO.File.Decrypt(System.String) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Void System.IO.File.Encrypt(System.String) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Void System.IO.File.SetUnixFileMode(Microsoft.Win32.SafeHandles.SafeFileHandle,System.IO.UnixFileMode) | [UnsupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Void System.IO.File.SetUnixFileMode(System.String,System.IO.UnixFileMode) | [UnsupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Void System.IO.FileInfo.Decrypt() | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Void System.IO.FileInfo.Encrypt() | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Void System.IO.FileLoadException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.IO.FileLoadException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.IO.FileLoadException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.IO.FileLoadException.GetFileLoadExceptionMessage(System.Int32,System.Runtime.CompilerServices.StringHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.IO.FileLoadException.GetMessageForHR(System.Int32,System.Runtime.CompilerServices.StringHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.IO.FileLoadException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.IO.FileLoadException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.IO.FileLoadException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.IO.FileNotFoundException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.IO.FileNotFoundException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.IO.FileNotFoundException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.IO.FileNotFoundException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.IO.FileNotFoundException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.IO.FileNotFoundException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.IO.FileStream..ctor(System.IntPtr,System.IO.FileAccess) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.IO.FileStream..ctor(System.IntPtr,System.IO.FileAccess) | [ObsoleteAttribute(...)] | 0 | This constructor has been deprecated. Use FileStream(SafeFileHandle handle, FileAccess access) instead. | -| System.Void System.IO.FileStream..ctor(System.IntPtr,System.IO.FileAccess,System.Boolean) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.IO.FileStream..ctor(System.IntPtr,System.IO.FileAccess,System.Boolean) | [ObsoleteAttribute(...)] | 0 | This constructor has been deprecated. Use FileStream(SafeFileHandle handle, FileAccess access) and optionally make a new SafeFileHandle with ownsHandle=false if needed instead. | -| System.Void System.IO.FileStream..ctor(System.IntPtr,System.IO.FileAccess,System.Boolean,System.Int32) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.IO.FileStream..ctor(System.IntPtr,System.IO.FileAccess,System.Boolean,System.Int32) | [ObsoleteAttribute(...)] | 0 | This constructor has been deprecated. Use FileStream(SafeFileHandle handle, FileAccess access, int bufferSize) and optionally make a new SafeFileHandle with ownsHandle=false if needed instead. | -| System.Void System.IO.FileStream..ctor(System.IntPtr,System.IO.FileAccess,System.Boolean,System.Int32,System.Boolean) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.IO.FileStream..ctor(System.IntPtr,System.IO.FileAccess,System.Boolean,System.Int32,System.Boolean) | [ObsoleteAttribute(...)] | 0 | This constructor has been deprecated. Use FileStream(SafeFileHandle handle, FileAccess access, int bufferSize, bool isAsync) and optionally make a new SafeFileHandle with ownsHandle=false if needed instead. | -| System.Void System.IO.FileStream.Lock(System.Int64,System.Int64) | [UnsupportedOSPlatformAttribute(...)] | 0 | freebsd | -| System.Void System.IO.FileStream.Lock(System.Int64,System.Int64) | [UnsupportedOSPlatformAttribute(...)] | 0 | ios | -| System.Void System.IO.FileStream.Lock(System.Int64,System.Int64) | [UnsupportedOSPlatformAttribute(...)] | 0 | macos | -| System.Void System.IO.FileStream.Lock(System.Int64,System.Int64) | [UnsupportedOSPlatformAttribute(...)] | 0 | tvos | -| System.Void System.IO.FileStream.Unlock(System.Int64,System.Int64) | [UnsupportedOSPlatformAttribute(...)] | 0 | freebsd | -| System.Void System.IO.FileStream.Unlock(System.Int64,System.Int64) | [UnsupportedOSPlatformAttribute(...)] | 0 | ios | -| System.Void System.IO.FileStream.Unlock(System.Int64,System.Int64) | [UnsupportedOSPlatformAttribute(...)] | 0 | macos | -| System.Void System.IO.FileStream.Unlock(System.Int64,System.Int64) | [UnsupportedOSPlatformAttribute(...)] | 0 | tvos | -| System.Void System.IO.FileStream.Write(System.ReadOnlySpan<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.IO.FileStreamOptions.set_UnixCreateMode(System.Nullable<System.IO.UnixFileMode>) | [UnsupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Void System.IO.FileSystemInfo..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.IO.FileSystemInfo..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.IO.FileSystemInfo.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.IO.FileSystemInfo.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.IO.FileSystemInfo.set_UnixFileMode(System.IO.UnixFileMode) | [UnsupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Void System.IO.IOException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.IO.IOException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.IO.IOException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.IO.InvalidDataException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.IO.MemoryStream.Write(System.ReadOnlySpan<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.IO.PathTooLongException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.IO.PathTooLongException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.IO.PathTooLongException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.IO.RandomAccess.FlushToDisk(Microsoft.Win32.SafeHandles.SafeFileHandle) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.IO.RandomAccess.SetLength(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Int64) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.IO.RandomAccess.Write(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Collections.Generic.IReadOnlyList<System.ReadOnlyMemory<System.Byte>>,System.Int64) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.IO.Strategies.BufferedFileStreamStrategy.AllocateBuffer() | [MemberNotNullAttribute(...)] | 0 | _buffer | -| System.Void System.IO.Strategies.BufferedFileStreamStrategy.EnsureBufferAllocated() | [MemberNotNullAttribute(...)] | 0 | _buffer | -| System.Void System.IO.Stream.ObjectInvariant() | [ObsoleteAttribute(...)] | 0 | Do not call or override this method. | -| System.Void System.IO.Stream.ReadExactly(System.Span<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.IO.Stream.Write(System.ReadOnlySpan<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.IO.StreamWriter.Write(System.Char[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.IO.StreamWriter.Write(System.ReadOnlySpan<System.Char>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.IO.StreamWriter.Write(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.IO.StreamWriter.Write(System.String,System.Object,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.IO.StreamWriter.Write(System.String,System.Object,System.Object,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.IO.StreamWriter.WriteLine(System.ReadOnlySpan<System.Char>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.IO.StreamWriter.WriteLine(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.IO.StreamWriter.WriteLine(System.String,System.Object,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.IO.StreamWriter.WriteLine(System.String,System.Object,System.Object,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.IO.StringWriter..ctor(System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.IO.StringWriter.Write(System.ReadOnlySpan<System.Char>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.IO.StringWriter.Write(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.IO.StringWriter.Write(System.Text.StringBuilder) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.IO.StringWriter.WriteLine(System.ReadOnlySpan<System.Char>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.IO.StringWriter.WriteLine(System.Text.StringBuilder) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.IO.TextWriter..ctor(System.IFormatProvider) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.IO.TextWriter.Write(System.Char[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.IO.TextWriter.Write(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.IO.TextWriter.Write(System.ReadOnlySpan<System.Char>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.IO.TextWriter.Write(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.IO.TextWriter.Write(System.String,System.Object,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.IO.TextWriter.Write(System.String,System.Object,System.Object,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.IO.TextWriter.Write(System.Text.StringBuilder) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.IO.TextWriter.Write(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.IO.TextWriter.Write(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.IO.TextWriter.WriteLine(System.Char[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.IO.TextWriter.WriteLine(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.IO.TextWriter.WriteLine(System.ReadOnlySpan<System.Char>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.IO.TextWriter.WriteLine(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.IO.TextWriter.WriteLine(System.String,System.Object,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.IO.TextWriter.WriteLine(System.String,System.Object,System.Object,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.IO.TextWriter.WriteLine(System.Text.StringBuilder) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.IO.TextWriter.WriteLine(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.IO.TextWriter.WriteLine(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.IO.UnmanagedMemoryAccessor..ctor(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.IO.UnmanagedMemoryAccessor..ctor(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64,System.IO.FileAccess) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.IO.UnmanagedMemoryAccessor.Initialize(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64,System.IO.FileAccess) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.IO.UnmanagedMemoryAccessor.Write(System.Int64,System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.IO.UnmanagedMemoryAccessor.Write(System.Int64,System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.IO.UnmanagedMemoryAccessor.Write(System.Int64,System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.IO.UnmanagedMemoryAccessor.Write(System.Int64,System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.IO.UnmanagedMemoryStream..ctor(System.Byte*,System.Int64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.IO.UnmanagedMemoryStream..ctor(System.Byte*,System.Int64,System.Int64,System.IO.FileAccess) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.IO.UnmanagedMemoryStream..ctor(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.IO.UnmanagedMemoryStream..ctor(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64,System.IO.FileAccess) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.IO.UnmanagedMemoryStream.Initialize(System.Byte*,System.Int64,System.Int64,System.IO.FileAccess) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.IO.UnmanagedMemoryStream.Initialize(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64,System.IO.FileAccess) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.IO.UnmanagedMemoryStream.Write(System.Byte[],System.Int32,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.IndexOutOfRangeException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.InsufficientExecutionStackException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.InsufficientMemoryException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Int128..ctor(System.UInt64,System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.IntPtr..ctor(System.Void*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.InvalidCastException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.InvalidCastException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.InvalidCastException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.InvalidOperationException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.InvalidOperationException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.InvalidOperationException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.InvalidProgramException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.InvalidTimeZoneException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.InvalidTimeZoneException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.InvalidTimeZoneException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.MemberAccessException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.MemberAccessException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.MemberAccessException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.MemoryExtensions.CopyTo`1(!0[],System.Memory<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.MemoryExtensions.CopyTo`1(!0[],System.Span<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.MemoryExtensions.Replace`1(System.ReadOnlySpan<!0>,System.Span<!0>,!0,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.MemoryExtensions.Replace`1(System.Span<!0>,!0,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.MemoryExtensions.Reverse`1(System.Span<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.MemoryExtensions.Sort`1(System.Span<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.MemoryExtensions.Sort`1(System.Span<!0>,System.Comparison<!0>) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.MemoryExtensions.Sort`2(System.Span<!0>,System.Span<!1>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.MemoryExtensions.Sort`2(System.Span<!0>,System.Span<!1>,System.Comparison<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.MemoryExtensions.Sort`3(System.Span<!0>,System.Span<!1>,!2) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.MethodAccessException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.MethodAccessException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.MethodAccessException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.MissingFieldException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.MissingFieldException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.MissingFieldException..ctor(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.MissingFieldException..ctor(System.String,System.Exception) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.MissingFieldException..ctor(System.String,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.MissingMemberException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.MissingMemberException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.MissingMemberException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.MissingMemberException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.MissingMemberException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.MissingMemberException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.MissingMethodException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.MissingMethodException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.MissingMethodException..ctor(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.MissingMethodException..ctor(System.String,System.Exception) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.MissingMethodException..ctor(System.String,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.ModuleHandle.GetModuleType(System.Runtime.CompilerServices.QCallModule,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.ModuleHandle.GetPEKind(System.Runtime.CompilerServices.QCallModule,System.Int32*,System.Int32*) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.ModuleHandle.ResolveField(System.Runtime.CompilerServices.QCallModule,System.Int32,System.IntPtr*,System.Int32,System.IntPtr*,System.Int32,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.ModuleHandle.ResolveType(System.Runtime.CompilerServices.QCallModule,System.Int32,System.IntPtr*,System.Int32,System.IntPtr*,System.Int32,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.MulticastDelegate..ctor(System.Object,System.String) | [RequiresUnreferencedCodeAttribute(...)] | 0 | The target method might be removed | -| System.Void System.MulticastDelegate.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.MulticastDelegate.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.MulticastNotSupportedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Net.WebUtility.HtmlDecode(System.String,System.IO.TextWriter) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Net.WebUtility.HtmlEncode(System.String,System.IO.TextWriter) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.NotFiniteNumberException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.NotFiniteNumberException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.NotFiniteNumberException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.NotFiniteNumberException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.NotFiniteNumberException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.NotFiniteNumberException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.NotImplementedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.NotImplementedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.NotImplementedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.NotSupportedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.NotSupportedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.NotSupportedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.NullReferenceException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.NullReferenceException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.NullReferenceException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Numerics.Vector2.CopyTo(System.Single[]) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Numerics.Vector2.CopyTo(System.Single[],System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Numerics.Vector3.CopyTo(System.Single[]) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Numerics.Vector3.CopyTo(System.Single[],System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Numerics.Vector4.CopyTo(System.Single[]) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Numerics.Vector4.CopyTo(System.Single[],System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Numerics.Vector.StoreAlignedNonTemporal`1(System.Numerics.Vector<!0>,!0*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Numerics.Vector.StoreAlignedNonTemporal`1(System.Numerics.Vector<!0>,!0*) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Numerics.Vector.StoreAligned`1(System.Numerics.Vector<!0>,!0*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Numerics.Vector.StoreAligned`1(System.Numerics.Vector<!0>,!0*) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Numerics.Vector.StoreUnsafe`1(System.Numerics.Vector<!0>,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Numerics.Vector.StoreUnsafe`1(System.Numerics.Vector<!0>,!0,System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Numerics.Vector.StoreUnsafe`1(System.Numerics.Vector<!0>,!0,System.UIntPtr) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Numerics.Vector.Store`1(System.Numerics.Vector<!0>,!0*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Numerics.Vector.Store`1(System.Numerics.Vector<!0>,!0*) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Numerics.Vector.Widen(System.Numerics.Vector<System.Byte>,System.Numerics.Vector<System.UInt16>,System.Numerics.Vector<System.UInt16>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Numerics.Vector.Widen(System.Numerics.Vector<System.SByte>,System.Numerics.Vector<System.Int16>,System.Numerics.Vector<System.Int16>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Numerics.Vector.Widen(System.Numerics.Vector<System.UInt16>,System.Numerics.Vector<System.UInt32>,System.Numerics.Vector<System.UInt32>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Numerics.Vector.Widen(System.Numerics.Vector<System.UInt32>,System.Numerics.Vector<System.UInt64>,System.Numerics.Vector<System.UInt64>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Numerics.Vector`1..ctor(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Numerics.Vector`1..ctor(!0[]) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Numerics.Vector`1..ctor(!0[],System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Numerics.Vector`1.CopyTo(!0[]) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Numerics.Vector`1.CopyTo(!0[],System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.ObjectDisposedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.ObjectDisposedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.ObjectDisposedException..ctor(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.ObjectDisposedException..ctor(System.String,System.Exception) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.ObjectDisposedException..ctor(System.String,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.ObjectDisposedException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.ObjectDisposedException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.OperatingSystem.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.OperatingSystem.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.OperationCanceledException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.OperationCanceledException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.OperationCanceledException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.OutOfMemoryException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.OutOfMemoryException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.OutOfMemoryException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.OverflowException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.OverflowException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.OverflowException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.PlatformNotSupportedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.PlatformNotSupportedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.PlatformNotSupportedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Random.CompatPrng.EnsureInitialized(System.Int32) | [MemberNotNullAttribute(...)] | 0 | _seedArray | -| System.Void System.Random.CompatPrng.Initialize(System.Int32) | [MemberNotNullAttribute(...)] | 0 | _seedArray | -| System.Void System.Random.GetItems`1(System.ReadOnlySpan<!0>,System.Span<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Random.NextBytes(System.Span<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Random.Shuffle`1(System.Span<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.RankException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.RankException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.RankException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.ReadOnlySpan`1..ctor(System.Void*,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.ReadOnlySpan`1..ctor(System.Void*,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Reflection.AmbiguousMatchException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Reflection.Assembly.GetEntryAssemblyNative(System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Reflection.Assembly.GetExecutingAssemblyNative(System.Runtime.CompilerServices.StackCrawlMarkHandle,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Reflection.Assembly.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Reflection.Assembly.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Reflection.Assembly.add_ModuleResolve(System.Reflection.ModuleResolveEventHandler) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Reflection.Assembly.remove_ModuleResolve(System.Reflection.ModuleResolveEventHandler) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Reflection.AssemblyAlgorithmIdAttribute..ctor(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Reflection.AssemblyFlagsAttribute..ctor(System.Int32) | [ObsoleteAttribute(...)] | 0 | This constructor has been deprecated. Use AssemblyFlagsAttribute(AssemblyNameFlags) instead. | -| System.Void System.Reflection.AssemblyFlagsAttribute..ctor(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Reflection.AssemblyFlagsAttribute..ctor(System.UInt32) | [ObsoleteAttribute(...)] | 0 | This constructor has been deprecated. Use AssemblyFlagsAttribute(AssemblyNameFlags) instead. | -| System.Void System.Reflection.AssemblyName..ctor(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Reflection.AssemblyName.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Reflection.AssemblyName.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Reflection.AssemblyName.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Reflection.AssemblyName.InitializeAssemblySpec(System.Reflection.NativeAssemblyNameParts*,System.Void*) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Reflection.CustomAttribute.AddCustomAttributes(System.RuntimeType.ListBuilder<System.Object>,System.Reflection.RuntimeModule,System.Int32,System.RuntimeType,System.Boolean,System.RuntimeType.ListBuilder<System.Object>) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Reflection.CustomAttribute.AddCustomAttributes(System.RuntimeType.ListBuilder<System.Object>,System.Reflection.RuntimeModule,System.Int32,System.RuntimeType,System.Boolean,System.RuntimeType.ListBuilder<System.Object>) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2070:MethodParameterDoesntMeetThisParameterRequirements | -| System.Void System.Reflection.CustomAttributeFormatException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Reflection.CustomAttributeFormatException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Reflection.CustomAttributeFormatException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Reflection.Emit.AssemblyBuilder.SetCustomAttributeCore(System.Reflection.ConstructorInfo,System.ReadOnlySpan<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Reflection.Emit.ConstructorBuilder.SetCustomAttributeCore(System.Reflection.ConstructorInfo,System.ReadOnlySpan<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Reflection.Emit.DynamicILInfo.SetCode(System.Byte*,System.Int32,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Reflection.Emit.DynamicILInfo.SetCode(System.Byte*,System.Int32,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Reflection.Emit.DynamicILInfo.SetCode(System.Byte[],System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Reflection.Emit.DynamicILInfo.SetExceptions(System.Byte*,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Reflection.Emit.DynamicILInfo.SetExceptions(System.Byte*,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Reflection.Emit.DynamicILInfo.SetExceptions(System.Byte[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Reflection.Emit.DynamicILInfo.SetLocalSignature(System.Byte*,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Reflection.Emit.DynamicILInfo.SetLocalSignature(System.Byte*,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Reflection.Emit.DynamicILInfo.SetLocalSignature(System.Byte[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Reflection.Emit.DynamicMethod..ctor(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Reflection.Module,System.Boolean) | [RequiresDynamicCodeAttribute(...)] | 0 | Creating a DynamicMethod requires dynamic code. | -| System.Void System.Reflection.Emit.DynamicMethod..ctor(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type,System.Boolean) | [RequiresDynamicCodeAttribute(...)] | 0 | Creating a DynamicMethod requires dynamic code. | -| System.Void System.Reflection.Emit.DynamicMethod..ctor(System.String,System.Type,System.Type[]) | [RequiresDynamicCodeAttribute(...)] | 0 | Creating a DynamicMethod requires dynamic code. | -| System.Void System.Reflection.Emit.DynamicMethod..ctor(System.String,System.Type,System.Type[],System.Boolean) | [RequiresDynamicCodeAttribute(...)] | 0 | Creating a DynamicMethod requires dynamic code. | -| System.Void System.Reflection.Emit.DynamicMethod..ctor(System.String,System.Type,System.Type[],System.Reflection.Module) | [RequiresDynamicCodeAttribute(...)] | 0 | Creating a DynamicMethod requires dynamic code. | -| System.Void System.Reflection.Emit.DynamicMethod..ctor(System.String,System.Type,System.Type[],System.Reflection.Module,System.Boolean) | [RequiresDynamicCodeAttribute(...)] | 0 | Creating a DynamicMethod requires dynamic code. | -| System.Void System.Reflection.Emit.DynamicMethod..ctor(System.String,System.Type,System.Type[],System.Type) | [RequiresDynamicCodeAttribute(...)] | 0 | Creating a DynamicMethod requires dynamic code. | -| System.Void System.Reflection.Emit.DynamicMethod..ctor(System.String,System.Type,System.Type[],System.Type,System.Boolean) | [RequiresDynamicCodeAttribute(...)] | 0 | Creating a DynamicMethod requires dynamic code. | -| System.Void System.Reflection.Emit.DynamicMethod.Init(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type,System.Reflection.Module,System.Boolean,System.Boolean) | [MemberNotNullAttribute(...)] | 0 | _module | -| System.Void System.Reflection.Emit.DynamicMethod.Init(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type,System.Reflection.Module,System.Boolean,System.Boolean) | [MemberNotNullAttribute(...)] | 0 | _name | -| System.Void System.Reflection.Emit.DynamicMethod.Init(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type,System.Reflection.Module,System.Boolean,System.Boolean) | [MemberNotNullAttribute(...)] | 0 | _parameterTypes | -| System.Void System.Reflection.Emit.DynamicMethod.Init(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type,System.Reflection.Module,System.Boolean,System.Boolean) | [MemberNotNullAttribute(...)] | 0 | _returnType | -| System.Void System.Reflection.Emit.EnumBuilder.SetCustomAttributeCore(System.Reflection.ConstructorInfo,System.ReadOnlySpan<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Reflection.Emit.EventBuilder.SetCustomAttributeCore(System.Reflection.ConstructorInfo,System.ReadOnlySpan<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Reflection.Emit.FieldBuilder.SetConstant(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Reflection.Emit.FieldBuilder.SetConstantCore(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Reflection.Emit.FieldBuilder.SetCustomAttribute(System.Reflection.ConstructorInfo,System.Byte[]) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Reflection.Emit.FieldBuilder.SetCustomAttribute(System.Reflection.Emit.CustomAttributeBuilder) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Reflection.Emit.GenericTypeParameterBuilder.SetBaseTypeConstraint(System.Type) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Reflection.Emit.GenericTypeParameterBuilder.SetBaseTypeConstraintCore(System.Type) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Reflection.Emit.GenericTypeParameterBuilder.SetCustomAttribute(System.Reflection.ConstructorInfo,System.Byte[]) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Reflection.Emit.GenericTypeParameterBuilder.SetCustomAttribute(System.Reflection.Emit.CustomAttributeBuilder) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Reflection.Emit.ILGenerator.BeginCatchBlock(System.Type) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Reflection.Emit.ILGenerator.EmitCalli(System.Reflection.Emit.OpCode,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Reflection.Emit.ILGenerator.EmitCalli(System.Reflection.Emit.OpCode,System.Runtime.InteropServices.CallingConvention,System.Type,System.Type[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Reflection.Emit.MethodBuilder.SetCustomAttributeCore(System.Reflection.ConstructorInfo,System.ReadOnlySpan<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Reflection.Emit.MethodBuilder.SetReturnType(System.Type) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Reflection.Emit.MethodBuilder.SetSignature(System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Reflection.Emit.MethodBuilder.SetSignatureCore(System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Reflection.Emit.ModuleBuilder.SetCustomAttributeCore(System.Reflection.ConstructorInfo,System.ReadOnlySpan<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Reflection.Emit.ParameterBuilder.SetCustomAttribute(System.Reflection.ConstructorInfo,System.Byte[]) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Reflection.Emit.ParameterBuilder.SetCustomAttribute(System.Reflection.Emit.CustomAttributeBuilder) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Reflection.Emit.ParameterBuilder.SetCustomAttributeCore(System.Reflection.ConstructorInfo,System.ReadOnlySpan<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Reflection.Emit.PropertyBuilder.SetConstant(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Reflection.Emit.PropertyBuilder.SetConstantCore(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Reflection.Emit.PropertyBuilder.SetCustomAttributeCore(System.Reflection.ConstructorInfo,System.ReadOnlySpan<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Reflection.Emit.RuntimeAssemblyBuilder.CreateDynamicAssembly(System.Runtime.CompilerServices.ObjectHandleOnStack,System.Reflection.NativeAssemblyNameParts*,System.Configuration.Assemblies.AssemblyHashAlgorithm,System.Reflection.Emit.AssemblyBuilderAccess,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Reflection.Emit.RuntimeEnumBuilder..ctor(System.String,System.Type,System.Reflection.TypeAttributes,System.Reflection.Emit.RuntimeModuleBuilder) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Reflection.Emit.RuntimeEnumBuilder..ctor(System.String,System.Type,System.Reflection.TypeAttributes,System.Reflection.Emit.RuntimeModuleBuilder) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2064:UnrecognizedReflectionPattern | -| System.Void System.Reflection.Emit.RuntimeModuleBuilder.SetFieldRVAContent(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Byte[],System.Int32) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Void System.Reflection.Emit.RuntimeModuleBuilder.SetFieldRVAContent(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Byte[],System.Int32) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Void System.Reflection.Emit.RuntimeModuleBuilder.SetFieldRVAContent(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Byte[],System.Int32) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Reflection.Emit.RuntimeTypeBuilder.AddInterfaceImpl(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Int32) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Reflection.Emit.RuntimeTypeBuilder.DefineCustomAttribute(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Int32,System.ReadOnlySpan<System.Byte>,System.Int32) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Void System.Reflection.Emit.RuntimeTypeBuilder.DefineCustomAttribute(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Int32,System.ReadOnlySpan<System.Byte>,System.Int32) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Void System.Reflection.Emit.RuntimeTypeBuilder.DefineCustomAttribute(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Int32,System.ReadOnlySpan<System.Byte>,System.Int32) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Reflection.Emit.RuntimeTypeBuilder.DefineMethodImpl(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Int32,System.Int32) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Reflection.Emit.RuntimeTypeBuilder.DefineMethodSemantics(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Reflection.MethodSemanticsAttributes,System.Int32) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Reflection.Emit.RuntimeTypeBuilder.SetClassLayout(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Reflection.Emit.PackingSize,System.Int32) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Reflection.Emit.RuntimeTypeBuilder.SetConstantValue(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Int32,System.Void*) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Reflection.Emit.RuntimeTypeBuilder.SetFieldLayoutOffset(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Int32) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Reflection.Emit.RuntimeTypeBuilder.SetMethodIL(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Boolean,System.Byte[],System.Int32,System.Byte[],System.Int32,System.Int32,System.Reflection.Emit.ExceptionHandler[],System.Int32,System.Int32[],System.Int32) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Void System.Reflection.Emit.RuntimeTypeBuilder.SetMethodIL(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Boolean,System.Byte[],System.Int32,System.Byte[],System.Int32,System.Int32,System.Reflection.Emit.ExceptionHandler[],System.Int32,System.Int32[],System.Int32) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Void System.Reflection.Emit.RuntimeTypeBuilder.SetMethodIL(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Boolean,System.Byte[],System.Int32,System.Byte[],System.Int32,System.Int32,System.Reflection.Emit.ExceptionHandler[],System.Int32,System.Int32[],System.Int32) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Reflection.Emit.RuntimeTypeBuilder.SetMethodImpl(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Reflection.MethodImplAttributes) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Reflection.Emit.RuntimeTypeBuilder.SetPInvokeData(System.Runtime.CompilerServices.QCallModule,System.String,System.String,System.Int32,System.Int32) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Void System.Reflection.Emit.RuntimeTypeBuilder.SetPInvokeData(System.Runtime.CompilerServices.QCallModule,System.String,System.String,System.Int32,System.Int32) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Void System.Reflection.Emit.RuntimeTypeBuilder.SetParentType(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Int32) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Reflection.Emit.RuntimeTypeBuilder.TermCreateClass(System.Runtime.CompilerServices.QCallModule,System.Int32,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Reflection.Emit.SignatureHelper.Init(System.Reflection.Module) | [MemberNotNullAttribute(...)] | 0 | m_signature | -| System.Void System.Reflection.Emit.SignatureHelper.Init(System.Reflection.Module,System.Reflection.MdSigCallingConvention) | [MemberNotNullAttribute(...)] | 0 | m_signature | -| System.Void System.Reflection.Emit.SignatureHelper.Init(System.Reflection.Module,System.Reflection.MdSigCallingConvention,System.Int32) | [MemberNotNullAttribute(...)] | 0 | m_signature | -| System.Void System.Reflection.Emit.TypeBuilder.SetCustomAttributeCore(System.Reflection.ConstructorInfo,System.ReadOnlySpan<System.Byte>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Reflection.Emit.TypeBuilder.SetParent(System.Type) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Reflection.Emit.TypeBuilder.SetParentCore(System.Type) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Reflection.FieldInfo.SetValue(System.Object,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Reflection.FieldInfo.SetValue(System.Object,System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Globalization.CultureInfo) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Reflection.FieldInfo.SetValueDirect(System.TypedReference,System.Object) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Reflection.InvalidFilterCriteriaException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Reflection.InvalidFilterCriteriaException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Reflection.InvalidFilterCriteriaException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Reflection.Metadata.MetadataUpdater.ApplyUpdate(System.Runtime.CompilerServices.QCallAssembly,System.Byte*,System.Int32,System.Byte*,System.Int32,System.Byte*,System.Int32) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Reflection.Metadata.RuntimeTypeMetadataUpdateHandler.ClearCache(System.Type[]) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Reflection.Metadata.RuntimeTypeMetadataUpdateHandler.ClearCache(System.Type[]) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:RequiresUnreferencedCode | -| System.Void System.Reflection.Module.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Reflection.Module.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Reflection.ReflectionTypeLoadException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Reflection.ReflectionTypeLoadException..ctor(System.Type[],System.Exception[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Reflection.ReflectionTypeLoadException..ctor(System.Type[],System.Exception[],System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Reflection.ReflectionTypeLoadException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Reflection.ReflectionTypeLoadException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Reflection.RuntimeAssembly.AddPublicNestedTypes(System.Type,System.Collections.Generic.List<System.Type>,System.Collections.Generic.List<System.Exception>) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types might be removed because recursive nested types can't currently be annotated for dynamic access. | -| System.Void System.Reflection.RuntimeAssembly.GetEntryPoint(System.Runtime.CompilerServices.QCallAssembly,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Reflection.RuntimeAssembly.GetExportedTypes(System.Runtime.CompilerServices.QCallAssembly,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Reflection.RuntimeAssembly.GetForwardedType(System.Runtime.CompilerServices.QCallAssembly,System.Reflection.MetadataToken,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Reflection.RuntimeAssembly.GetFullName(System.Runtime.CompilerServices.QCallAssembly,System.Runtime.CompilerServices.StringHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Reflection.RuntimeAssembly.GetImageRuntimeVersion(System.Runtime.CompilerServices.QCallAssembly,System.Runtime.CompilerServices.StringHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Reflection.RuntimeAssembly.GetLocale(System.Runtime.CompilerServices.QCallAssembly,System.Runtime.CompilerServices.StringHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Reflection.RuntimeAssembly.GetLocation(System.Runtime.CompilerServices.QCallAssembly,System.Runtime.CompilerServices.StringHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Reflection.RuntimeAssembly.GetModule(System.Runtime.CompilerServices.QCallAssembly,System.String,System.Runtime.CompilerServices.ObjectHandleOnStack) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Void System.Reflection.RuntimeAssembly.GetModule(System.Runtime.CompilerServices.QCallAssembly,System.String,System.Runtime.CompilerServices.ObjectHandleOnStack) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Void System.Reflection.RuntimeAssembly.GetModules(System.Runtime.CompilerServices.QCallAssembly,System.Boolean,System.Boolean,System.Runtime.CompilerServices.ObjectHandleOnStack) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Void System.Reflection.RuntimeAssembly.GetModules(System.Runtime.CompilerServices.QCallAssembly,System.Boolean,System.Boolean,System.Runtime.CompilerServices.ObjectHandleOnStack) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Void System.Reflection.RuntimeAssembly.GetModules(System.Runtime.CompilerServices.QCallAssembly,System.Boolean,System.Boolean,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Reflection.RuntimeAssembly.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Reflection.RuntimeAssembly.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Reflection.RuntimeAssembly.GetPublicKey(System.Runtime.CompilerServices.QCallAssembly,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Reflection.RuntimeAssembly.GetSimpleName(System.Runtime.CompilerServices.QCallAssembly,System.Runtime.CompilerServices.StringHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Reflection.RuntimeAssembly.GetTypeCore(System.Runtime.CompilerServices.QCallAssembly,System.String,System.ReadOnlySpan<System.String>,System.Int32,System.Runtime.CompilerServices.ObjectHandleOnStack) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Void System.Reflection.RuntimeAssembly.GetTypeCore(System.Runtime.CompilerServices.QCallAssembly,System.String,System.ReadOnlySpan<System.String>,System.Int32,System.Runtime.CompilerServices.ObjectHandleOnStack) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Void System.Reflection.RuntimeAssembly.GetTypeCoreIgnoreCase(System.Runtime.CompilerServices.QCallAssembly,System.String,System.ReadOnlySpan<System.String>,System.Int32,System.Runtime.CompilerServices.ObjectHandleOnStack) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Void System.Reflection.RuntimeAssembly.GetTypeCoreIgnoreCase(System.Runtime.CompilerServices.QCallAssembly,System.String,System.ReadOnlySpan<System.String>,System.Int32,System.Runtime.CompilerServices.ObjectHandleOnStack) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Void System.Reflection.RuntimeAssembly.GetVersion(System.Runtime.CompilerServices.QCallAssembly,System.Int32,System.Int32,System.Int32,System.Int32) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Void System.Reflection.RuntimeAssembly.GetVersion(System.Runtime.CompilerServices.QCallAssembly,System.Int32,System.Int32,System.Int32,System.Int32) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Void System.Reflection.RuntimeAssembly.GetVersion(System.Runtime.CompilerServices.QCallAssembly,System.Int32,System.Int32,System.Int32,System.Int32) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Reflection.RuntimeAssembly.InternalLoad(System.Reflection.NativeAssemblyNameParts*,System.Runtime.CompilerServices.ObjectHandleOnStack,System.Runtime.CompilerServices.StackCrawlMarkHandle,System.Boolean,System.Runtime.CompilerServices.ObjectHandleOnStack,System.Runtime.CompilerServices.ObjectHandleOnStack) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Void System.Reflection.RuntimeAssembly.InternalLoad(System.Reflection.NativeAssemblyNameParts*,System.Runtime.CompilerServices.ObjectHandleOnStack,System.Runtime.CompilerServices.StackCrawlMarkHandle,System.Boolean,System.Runtime.CompilerServices.ObjectHandleOnStack,System.Runtime.CompilerServices.ObjectHandleOnStack) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Void System.Reflection.RuntimeAssembly.InternalLoad(System.Reflection.NativeAssemblyNameParts*,System.Runtime.CompilerServices.ObjectHandleOnStack,System.Runtime.CompilerServices.StackCrawlMarkHandle,System.Boolean,System.Runtime.CompilerServices.ObjectHandleOnStack,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Reflection.RuntimeConstructorInfo.InvokeClassConstructor() | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Reflection.RuntimeConstructorInfo.InvokeClassConstructor() | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2059:RunClassConstructor | -| System.Void System.Reflection.RuntimeCustomAttributeData..ctor(System.Reflection.RuntimeModule,System.Reflection.MetadataToken,System.Reflection.ConstArray) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Reflection.RuntimeCustomAttributeData..ctor(System.Reflection.RuntimeModule,System.Reflection.MetadataToken,System.Reflection.ConstArray) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:UnrecognizedReflectionPattern | -| System.Void System.Reflection.RuntimeCustomAttributeData..ctor(System.Reflection.RuntimeModule,System.Reflection.MetadataToken,System.Reflection.ConstArray) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2075:UnrecognizedReflectionPattern | -| System.Void System.Reflection.RuntimeCustomAttributeData.Init(System.Object) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Reflection.RuntimeCustomAttributeData.Init(System.Object) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2075:UnrecognizedReflectionPattern | -| System.Void System.Reflection.RuntimeModule.GetFullyQualifiedName(System.Runtime.CompilerServices.QCallModule,System.Runtime.CompilerServices.StringHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Reflection.RuntimeModule.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Reflection.RuntimeModule.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Reflection.RuntimeModule.GetScopeName(System.Runtime.CompilerServices.QCallModule,System.Runtime.CompilerServices.StringHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Reflection.StrongNameKeyPair..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Reflection.StrongNameKeyPair..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Reflection.TargetException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Reflection.TargetException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Reflection.TargetException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Reflection.TargetInvocationException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Reflection.TargetParameterCountException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Resources.MissingManifestResourceException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Resources.MissingManifestResourceException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Resources.MissingSatelliteAssemblyException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Resources.MissingSatelliteAssemblyException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Resources.MissingSatelliteAssemblyException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Resources.ResourceManager.CommonAssemblyInit() | [MemberNotNullAttribute(...)] | 0 | _resourceGroveler | -| System.Void System.Resources.ResourceReader..ctor(System.IO.Stream) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Resources.ResourceReader..ctor(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Resources.ResourceReader.GetResourceData(System.String,System.String,System.Byte[]) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Resources.ResourceReader.ReadResources() | [MemberNotNullAttribute(...)] | 0 | _typeNamePositions | -| System.Void System.Resources.ResourceReader.ReadResources() | [MemberNotNullAttribute(...)] | 0 | _typeTable | -| System.Void System.Resources.ResourceReader._ReadResources() | [MemberNotNullAttribute(...)] | 0 | _typeNamePositions | -| System.Void System.Resources.ResourceReader._ReadResources() | [MemberNotNullAttribute(...)] | 0 | _typeTable | -| System.Void System.Runtime.AmbiguousImplementationException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Runtime.CompilerServices.AsyncIteratorStateMachineAttribute..ctor(System.Type) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.CompilerServices.AsyncStateMachineAttribute..ctor(System.Type) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.OnCompleted(System.Action) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.UnsafeOnCompleted(System.Action) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.OnCompleted(System.Action) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.UnsafeOnCompleted(System.Action) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable.ConfiguredValueTaskAwaiter.OnCompleted(System.Action) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable.ConfiguredValueTaskAwaiter.UnsafeOnCompleted(System.Action) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.OnCompleted(System.Action) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.UnsafeOnCompleted(System.Action) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.CompilerServices.DecimalConstantAttribute..ctor(System.Byte,System.Byte,System.UInt32,System.UInt32,System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.CompilerServices.DefaultInterpolatedStringHandler..ctor(System.Int32,System.Int32,System.IFormatProvider,System.Span<System.Char>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Runtime.CompilerServices.DefaultInterpolatedStringHandler.AppendFormatted(System.ReadOnlySpan<System.Char>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Runtime.CompilerServices.DefaultInterpolatedStringHandler.AppendFormatted(System.ReadOnlySpan<System.Char>,System.Int32,System.String) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Runtime.CompilerServices.DefaultInterpolatedStringHandler.AppendFormatted`1(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.CompilerServices.DefaultInterpolatedStringHandler.AppendFormatted`1(!0,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.CompilerServices.DefaultInterpolatedStringHandler.AppendLiteral(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.CompilerServices.ICriticalNotifyCompletion.UnsafeOnCompleted(System.Action) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.CompilerServices.IndexerNameAttribute..ctor(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.CompilerServices.IteratorStateMachineAttribute..ctor(System.Type) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.CompilerServices.RuntimeHelpers.CleanupCode.Invoke(System.Object,System.Boolean) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Runtime.CompilerServices.RuntimeHelpers.CompileMethod(System.RuntimeMethodHandleInternal) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(System.Runtime.CompilerServices.RuntimeHelpers.TryCode,System.Runtime.CompilerServices.RuntimeHelpers.CleanupCode,System.Object) | [ObsoleteAttribute(...)] | 0 | The Constrained Execution Region (CER) feature is not supported. | -| System.Void System.Runtime.CompilerServices.RuntimeHelpers.GetUninitializedObject(System.Runtime.CompilerServices.QCallTypeHandle,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Runtime.CompilerServices.RuntimeHelpers.PrepareConstrainedRegions() | [ObsoleteAttribute(...)] | 0 | The Constrained Execution Region (CER) feature is not supported. | -| System.Void System.Runtime.CompilerServices.RuntimeHelpers.PrepareConstrainedRegionsNoOP() | [ObsoleteAttribute(...)] | 0 | The Constrained Execution Region (CER) feature is not supported. | -| System.Void System.Runtime.CompilerServices.RuntimeHelpers.PrepareContractedDelegate(System.Delegate) | [ObsoleteAttribute(...)] | 0 | The Constrained Execution Region (CER) feature is not supported. | -| System.Void System.Runtime.CompilerServices.RuntimeHelpers.PrepareMethod(System.RuntimeMethodHandle,System.RuntimeTypeHandle[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Runtime.CompilerServices.RuntimeHelpers.PrepareMethod(System.RuntimeMethodHandleInternal,System.IntPtr*,System.Int32) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Runtime.CompilerServices.RuntimeHelpers.ProbeForSufficientStack() | [ObsoleteAttribute(...)] | 0 | The Constrained Execution Region (CER) feature is not supported. | -| System.Void System.Runtime.CompilerServices.RuntimeHelpers.RunClassConstructor(System.Runtime.CompilerServices.QCallTypeHandle) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Runtime.CompilerServices.RuntimeHelpers.RunClassConstructor(System.RuntimeTypeHandle) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Trimmer can't guarantee existence of class constructor | -| System.Void System.Runtime.CompilerServices.RuntimeHelpers.RunModuleConstructor(System.Runtime.CompilerServices.QCallModule) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Runtime.CompilerServices.RuntimeHelpers.TryCode.Invoke(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Runtime.CompilerServices.RuntimeWrappedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Runtime.CompilerServices.RuntimeWrappedException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.CompilerServices.RuntimeWrappedException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Runtime.CompilerServices.StrongBox`1..ctor(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.CompilerServices.SwitchExpressionException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Runtime.CompilerServices.SwitchExpressionException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.CompilerServices.SwitchExpressionException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.CompilerServices.SwitchExpressionException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Runtime.CompilerServices.TaskAwaiter.OnCompleted(System.Action) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.CompilerServices.TaskAwaiter.UnsafeOnCompleted(System.Action) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.CompilerServices.TaskAwaiter`1.OnCompleted(System.Action) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.CompilerServices.TaskAwaiter`1.UnsafeOnCompleted(System.Action) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.CompilerServices.Unsafe.CopyBlock(System.Byte,System.Byte,System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.CompilerServices.Unsafe.CopyBlock(System.Void*,System.Void*,System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.CompilerServices.Unsafe.CopyBlock(System.Void*,System.Void*,System.UInt32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Runtime.CompilerServices.Unsafe.CopyBlockUnaligned(System.Byte,System.Byte,System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.CompilerServices.Unsafe.CopyBlockUnaligned(System.Void*,System.Void*,System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.CompilerServices.Unsafe.CopyBlockUnaligned(System.Void*,System.Void*,System.UInt32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Runtime.CompilerServices.Unsafe.Copy`1(!0,System.Void*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.CompilerServices.Unsafe.Copy`1(!0,System.Void*) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Runtime.CompilerServices.Unsafe.Copy`1(System.Void*,!0) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.CompilerServices.Unsafe.Copy`1(System.Void*,!0) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Runtime.CompilerServices.Unsafe.InitBlock(System.Byte,System.Byte,System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.CompilerServices.Unsafe.InitBlock(System.Void*,System.Byte,System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.CompilerServices.Unsafe.InitBlock(System.Void*,System.Byte,System.UInt32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Runtime.CompilerServices.Unsafe.InitBlockUnaligned(System.Byte,System.Byte,System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.CompilerServices.Unsafe.InitBlockUnaligned(System.Void*,System.Byte,System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.CompilerServices.Unsafe.InitBlockUnaligned(System.Void*,System.Byte,System.UInt32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Runtime.CompilerServices.Unsafe.WriteUnaligned`1(System.Void*,!0) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.CompilerServices.Unsafe.WriteUnaligned`1(System.Void*,!0) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Runtime.CompilerServices.Unsafe.Write`1(System.Void*,!0) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.CompilerServices.Unsafe.Write`1(System.Void*,!0) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Runtime.CompilerServices.ValueTaskAwaiter.OnCompleted(System.Action) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.CompilerServices.ValueTaskAwaiter.UnsafeOnCompleted(System.Action) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.CompilerServices.ValueTaskAwaiter`1.OnCompleted(System.Action) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.CompilerServices.ValueTaskAwaiter`1.UnsafeOnCompleted(System.Action) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.OnCompleted(System.Action) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.UnsafeOnCompleted(System.Action) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.ControlledExecution.AbortThread(System.Threading.ThreadHandle) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Runtime.ControlledExecution.ResetAbortThread() | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Runtime.ControlledExecution.Run(System.Action,System.Threading.CancellationToken) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.ControlledExecution.Run(System.Action,System.Threading.CancellationToken) | [ObsoleteAttribute(...)] | 0 | ControlledExecution.Run method may corrupt the process and should not be used in production code. | -| System.Void System.Runtime.InteropServices.COMException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.InteropServices.COMException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.InteropServices.COMException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Runtime.InteropServices.ComTypes.IBindCtx.EnumObjectParam(System.Runtime.InteropServices.ComTypes.IEnumString) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Runtime.InteropServices.ComTypes.IBindCtx.GetRunningObjectTable(System.Runtime.InteropServices.ComTypes.IRunningObjectTable) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Runtime.InteropServices.ComTypes.IConnectionPointContainer.FindConnectionPoint(System.Guid,System.Runtime.InteropServices.ComTypes.IConnectionPoint) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Runtime.InteropServices.ComTypes.IMoniker.Enum(System.Boolean,System.Runtime.InteropServices.ComTypes.IEnumMoniker) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Runtime.InteropServices.ComTypes.IMoniker.Reduce(System.Runtime.InteropServices.ComTypes.IBindCtx,System.Int32,System.Runtime.InteropServices.ComTypes.IMoniker,System.Runtime.InteropServices.ComTypes.IMoniker) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Runtime.InteropServices.ComTypes.IPersistFile.Save(System.String,System.Boolean) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Runtime.InteropServices.ComTypes.ITypeInfo2.GetDocumentation2(System.Int32,System.String,System.Int32,System.String) | [LCIDConversionAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.InteropServices.ComTypes.ITypeInfo2.GetMops(System.Int32,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Runtime.InteropServices.ComTypes.ITypeInfo.GetMops(System.Int32,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Runtime.InteropServices.ComTypes.ITypeLib2.GetDocumentation2(System.Int32,System.String,System.Int32,System.String) | [LCIDConversionAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.InteropServices.ComWrappers.GetIUnknownImplInternal(System.IntPtr,System.IntPtr,System.IntPtr) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Void System.Runtime.InteropServices.ComWrappers.GetIUnknownImplInternal(System.IntPtr,System.IntPtr,System.IntPtr) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Void System.Runtime.InteropServices.ComWrappers.GetIUnknownImplInternal(System.IntPtr,System.IntPtr,System.IntPtr) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Runtime.InteropServices.ComWrappers.RegisterForMarshalling(System.Runtime.InteropServices.ComWrappers) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Void System.Runtime.InteropServices.ComWrappers.SetGlobalInstanceRegisteredForMarshalling(System.Int64) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Runtime.InteropServices.ComWrappers.SetGlobalInstanceRegisteredForTrackerSupport(System.Int64) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Runtime.InteropServices.CurrencyWrapper..ctor(System.Object) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.InteropServices.ExternalException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.InteropServices.ExternalException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.InteropServices.ExternalException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Runtime.InteropServices.InvalidComObjectException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.InteropServices.InvalidComObjectException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.InteropServices.InvalidComObjectException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Runtime.InteropServices.InvalidOleVariantTypeException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.InteropServices.InvalidOleVariantTypeException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.InteropServices.InvalidOleVariantTypeException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Runtime.InteropServices.LibraryImportAttribute..ctor(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.InteropServices.Marshal.ChangeWrapperHandleStrength(System.Object,System.Boolean) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Void System.Runtime.InteropServices.Marshal.DestroyStructure(System.IntPtr,System.Type) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.InteropServices.Marshal.DestroyStructure(System.IntPtr,System.Type) | [RequiresDynamicCodeAttribute(...)] | 0 | Marshalling code for the object might not be available. Use the DestroyStructure<T> overload instead. | -| System.Void System.Runtime.InteropServices.Marshal.DestroyStructure`1(System.IntPtr) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Runtime.InteropServices.Marshal.DestroyStructure`1(System.IntPtr) | [UnconditionalSuppressMessageAttribute(...)] | 0 | AotAnalysis | -| System.Void System.Runtime.InteropServices.Marshal.DestroyStructure`1(System.IntPtr) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL3050:AotUnfriendlyApi | -| System.Void System.Runtime.InteropServices.Marshal.GetNativeVariantForObject(System.Object,System.IntPtr) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.InteropServices.Marshal.GetNativeVariantForObject(System.Object,System.IntPtr) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Runtime.InteropServices.Marshal.GetNativeVariantForObject(System.Object,System.IntPtr) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Void System.Runtime.InteropServices.Marshal.GetNativeVariantForObject`1(!0,System.IntPtr) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.InteropServices.Marshal.GetNativeVariantForObject`1(!0,System.IntPtr) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Runtime.InteropServices.Marshal.GetNativeVariantForObject`1(!0,System.IntPtr) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Void System.Runtime.InteropServices.Marshal.InternalPrelink(System.RuntimeMethodHandleInternal) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Runtime.InteropServices.Marshal.PrelinkAll(System.Type) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Runtime.InteropServices.Marshal.PrelinkAll(System.Type) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2070:UnrecognizedReflectionPattern | -| System.Void System.Runtime.InteropServices.Marshal.PtrToStructure(System.IntPtr,System.Object) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.InteropServices.Marshal.PtrToStructure(System.IntPtr,System.Object) | [RequiresDynamicCodeAttribute(...)] | 0 | Marshalling code for the object might not be available | -| System.Void System.Runtime.InteropServices.Marshal.StructureToPtr(System.Object,System.IntPtr,System.Boolean) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.InteropServices.Marshal.StructureToPtr(System.Object,System.IntPtr,System.Boolean) | [RequiresDynamicCodeAttribute(...)] | 0 | Marshalling code for the object might not be available. Use the StructureToPtr<T> overload instead. | -| System.Void System.Runtime.InteropServices.Marshal.StructureToPtr`1(!0,System.IntPtr,System.Boolean) | [UnconditionalSuppressMessageAttribute(...)] | 0 | AotAnalysis | -| System.Void System.Runtime.InteropServices.Marshal.StructureToPtr`1(!0,System.IntPtr,System.Boolean) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL3050:AotUnfriendlyApi | -| System.Void System.Runtime.InteropServices.Marshal.WriteByte(System.Object,System.Int32,System.Byte) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.InteropServices.Marshal.WriteByte(System.Object,System.Int32,System.Byte) | [ObsoleteAttribute(...)] | 0 | WriteByte(Object, Int32, Byte) may be unavailable in future releases. | -| System.Void System.Runtime.InteropServices.Marshal.WriteByte(System.Object,System.Int32,System.Byte) | [RequiresDynamicCodeAttribute(...)] | 0 | Marshalling code for the object might not be available | -| System.Void System.Runtime.InteropServices.Marshal.WriteInt16(System.Object,System.Int32,System.Char) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.InteropServices.Marshal.WriteInt16(System.Object,System.Int32,System.Char) | [ObsoleteAttribute(...)] | 0 | WriteInt16(Object, Int32, Char) may be unavailable in future releases. | -| System.Void System.Runtime.InteropServices.Marshal.WriteInt16(System.Object,System.Int32,System.Char) | [RequiresDynamicCodeAttribute(...)] | 0 | Marshalling code for the object might not be available | -| System.Void System.Runtime.InteropServices.Marshal.WriteInt16(System.Object,System.Int32,System.Int16) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.InteropServices.Marshal.WriteInt16(System.Object,System.Int32,System.Int16) | [ObsoleteAttribute(...)] | 0 | WriteInt16(Object, Int32, Int16) may be unavailable in future releases. | -| System.Void System.Runtime.InteropServices.Marshal.WriteInt16(System.Object,System.Int32,System.Int16) | [RequiresDynamicCodeAttribute(...)] | 0 | Marshalling code for the object might not be available | -| System.Void System.Runtime.InteropServices.Marshal.WriteInt32(System.Object,System.Int32,System.Int32) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.InteropServices.Marshal.WriteInt32(System.Object,System.Int32,System.Int32) | [ObsoleteAttribute(...)] | 0 | WriteInt32(Object, Int32, Int32) may be unavailable in future releases. | -| System.Void System.Runtime.InteropServices.Marshal.WriteInt32(System.Object,System.Int32,System.Int32) | [RequiresDynamicCodeAttribute(...)] | 0 | Marshalling code for the object might not be available | -| System.Void System.Runtime.InteropServices.Marshal.WriteInt64(System.Object,System.Int32,System.Int64) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.InteropServices.Marshal.WriteInt64(System.Object,System.Int32,System.Int64) | [ObsoleteAttribute(...)] | 0 | WriteInt64(Object, Int32, Int64) may be unavailable in future releases. | -| System.Void System.Runtime.InteropServices.Marshal.WriteInt64(System.Object,System.Int32,System.Int64) | [RequiresDynamicCodeAttribute(...)] | 0 | Marshalling code for the object might not be available | -| System.Void System.Runtime.InteropServices.Marshal.WriteIntPtr(System.Object,System.Int32,System.IntPtr) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.InteropServices.Marshal.WriteIntPtr(System.Object,System.Int32,System.IntPtr) | [ObsoleteAttribute(...)] | 0 | WriteIntPtr(Object, Int32, IntPtr) may be unavailable in future releases. | -| System.Void System.Runtime.InteropServices.Marshal.WriteIntPtr(System.Object,System.Int32,System.IntPtr) | [RequiresDynamicCodeAttribute(...)] | 0 | Marshalling code for the object might not be available | -| System.Void System.Runtime.InteropServices.MarshalDirectiveException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.InteropServices.MarshalDirectiveException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.InteropServices.MarshalDirectiveException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Runtime.InteropServices.Marshalling.SafeHandleMarshaller`1.ManagedToUnmanagedIn.FromManaged(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.InteropServices.NativeLibrary.FreeLib(System.IntPtr) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Runtime.InteropServices.NativeMemory.AlignedFree(System.Void*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.InteropServices.NativeMemory.Clear(System.Void*,System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.InteropServices.NativeMemory.Copy(System.Void*,System.Void*,System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.InteropServices.NativeMemory.Fill(System.Void*,System.UIntPtr,System.Byte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.InteropServices.NativeMemory.Free(System.Void*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.InteropServices.SEHException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.InteropServices.SEHException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.InteropServices.SEHException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Runtime.InteropServices.SafeArrayRankMismatchException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.InteropServices.SafeArrayRankMismatchException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.InteropServices.SafeArrayRankMismatchException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Runtime.InteropServices.SafeArrayTypeMismatchException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.InteropServices.SafeArrayTypeMismatchException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.InteropServices.SafeArrayTypeMismatchException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Runtime.InteropServices.SafeBuffer.AcquirePointer(System.Byte*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.InteropServices.SafeBuffer.Initialize(System.UInt32,System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.InteropServices.SafeBuffer.Initialize(System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.InteropServices.SafeBuffer.Initialize`1(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.InteropServices.SafeBuffer.ReadArray`1(System.UInt64,!0[],System.Int32,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.InteropServices.SafeBuffer.ReadSpan`1(System.UInt64,System.Span<!0>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.InteropServices.SafeBuffer.WriteArray`1(System.UInt64,!0[],System.Int32,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.InteropServices.SafeBuffer.WriteSpan`1(System.UInt64,System.ReadOnlySpan<!0>) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.InteropServices.SafeBuffer.Write`1(System.UInt64,!0) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.Intrinsics.Vector64.CopyTo`1(System.Runtime.Intrinsics.Vector64<!0>,!0[]) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.Intrinsics.Vector64.CopyTo`1(System.Runtime.Intrinsics.Vector64<!0>,!0[],System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.Intrinsics.Vector64.CopyTo`1(System.Runtime.Intrinsics.Vector64<!0>,System.Span<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Runtime.Intrinsics.Vector64.StoreAlignedNonTemporal`1(System.Runtime.Intrinsics.Vector64<!0>,!0*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.Intrinsics.Vector64.StoreAlignedNonTemporal`1(System.Runtime.Intrinsics.Vector64<!0>,!0*) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Runtime.Intrinsics.Vector64.StoreAligned`1(System.Runtime.Intrinsics.Vector64<!0>,!0*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.Intrinsics.Vector64.StoreAligned`1(System.Runtime.Intrinsics.Vector64<!0>,!0*) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Runtime.Intrinsics.Vector64.StoreUnsafe`1(System.Runtime.Intrinsics.Vector64<!0>,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.Intrinsics.Vector64.StoreUnsafe`1(System.Runtime.Intrinsics.Vector64<!0>,!0,System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.Intrinsics.Vector64.StoreUnsafe`1(System.Runtime.Intrinsics.Vector64<!0>,!0,System.UIntPtr) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.Intrinsics.Vector64.Store`1(System.Runtime.Intrinsics.Vector64<!0>,!0*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.Intrinsics.Vector64.Store`1(System.Runtime.Intrinsics.Vector64<!0>,!0*) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Runtime.Intrinsics.Vector128.CopyTo`1(System.Runtime.Intrinsics.Vector128<!0>,!0[]) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.Intrinsics.Vector128.CopyTo`1(System.Runtime.Intrinsics.Vector128<!0>,!0[],System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.Intrinsics.Vector128.CopyTo`1(System.Runtime.Intrinsics.Vector128<!0>,System.Span<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Runtime.Intrinsics.Vector128.StoreAlignedNonTemporal`1(System.Runtime.Intrinsics.Vector128<!0>,!0*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.Intrinsics.Vector128.StoreAlignedNonTemporal`1(System.Runtime.Intrinsics.Vector128<!0>,!0*) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Runtime.Intrinsics.Vector128.StoreAligned`1(System.Runtime.Intrinsics.Vector128<!0>,!0*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.Intrinsics.Vector128.StoreAligned`1(System.Runtime.Intrinsics.Vector128<!0>,!0*) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Runtime.Intrinsics.Vector128.StoreUnsafe`1(System.Runtime.Intrinsics.Vector128<!0>,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.Intrinsics.Vector128.StoreUnsafe`1(System.Runtime.Intrinsics.Vector128<!0>,!0,System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.Intrinsics.Vector128.StoreUnsafe`1(System.Runtime.Intrinsics.Vector128<!0>,!0,System.UIntPtr) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.Intrinsics.Vector128.Store`1(System.Runtime.Intrinsics.Vector128<!0>,!0*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.Intrinsics.Vector128.Store`1(System.Runtime.Intrinsics.Vector128<!0>,!0*) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Runtime.Intrinsics.Vector256.CopyTo`1(System.Runtime.Intrinsics.Vector256<!0>,!0[]) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.Intrinsics.Vector256.CopyTo`1(System.Runtime.Intrinsics.Vector256<!0>,!0[],System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.Intrinsics.Vector256.CopyTo`1(System.Runtime.Intrinsics.Vector256<!0>,System.Span<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Runtime.Intrinsics.Vector256.StoreAlignedNonTemporal`1(System.Runtime.Intrinsics.Vector256<!0>,!0*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.Intrinsics.Vector256.StoreAlignedNonTemporal`1(System.Runtime.Intrinsics.Vector256<!0>,!0*) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Runtime.Intrinsics.Vector256.StoreAligned`1(System.Runtime.Intrinsics.Vector256<!0>,!0*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.Intrinsics.Vector256.StoreAligned`1(System.Runtime.Intrinsics.Vector256<!0>,!0*) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Runtime.Intrinsics.Vector256.StoreUnsafe`1(System.Runtime.Intrinsics.Vector256<!0>,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.Intrinsics.Vector256.StoreUnsafe`1(System.Runtime.Intrinsics.Vector256<!0>,!0,System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.Intrinsics.Vector256.StoreUnsafe`1(System.Runtime.Intrinsics.Vector256<!0>,!0,System.UIntPtr) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.Intrinsics.Vector256.Store`1(System.Runtime.Intrinsics.Vector256<!0>,!0*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.Intrinsics.Vector256.Store`1(System.Runtime.Intrinsics.Vector256<!0>,!0*) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Runtime.Intrinsics.Vector512.CopyTo`1(System.Runtime.Intrinsics.Vector512<!0>,!0[]) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.Intrinsics.Vector512.CopyTo`1(System.Runtime.Intrinsics.Vector512<!0>,!0[],System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.Intrinsics.Vector512.CopyTo`1(System.Runtime.Intrinsics.Vector512<!0>,System.Span<!0>) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Runtime.Intrinsics.Vector512.StoreAlignedNonTemporal`1(System.Runtime.Intrinsics.Vector512<!0>,!0*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.Intrinsics.Vector512.StoreAlignedNonTemporal`1(System.Runtime.Intrinsics.Vector512<!0>,!0*) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Runtime.Intrinsics.Vector512.StoreAligned`1(System.Runtime.Intrinsics.Vector512<!0>,!0*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.Intrinsics.Vector512.StoreAligned`1(System.Runtime.Intrinsics.Vector512<!0>,!0*) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Runtime.Intrinsics.Vector512.StoreUnsafe`1(System.Runtime.Intrinsics.Vector512<!0>,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.Intrinsics.Vector512.StoreUnsafe`1(System.Runtime.Intrinsics.Vector512<!0>,!0,System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.Intrinsics.Vector512.StoreUnsafe`1(System.Runtime.Intrinsics.Vector512<!0>,!0,System.UIntPtr) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.Intrinsics.Vector512.Store`1(System.Runtime.Intrinsics.Vector512<!0>,!0*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.Intrinsics.Vector512.Store`1(System.Runtime.Intrinsics.Vector512<!0>,!0*) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Runtime.Intrinsics.X86.X86Base.__cpuidex(System.Int32*,System.Int32,System.Int32) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Runtime.Loader.AssemblyLoadContext..ctor(System.String,System.Boolean) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Runtime.Loader.AssemblyLoadContext.InternalSetProfileRoot(System.String) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Void System.Runtime.Loader.AssemblyLoadContext.InternalSetProfileRoot(System.String) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Void System.Runtime.Loader.AssemblyLoadContext.InternalStartProfile(System.String,System.IntPtr) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Void System.Runtime.Loader.AssemblyLoadContext.InternalStartProfile(System.String,System.IntPtr) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Void System.Runtime.Loader.AssemblyLoadContext.LoadFromPath(System.IntPtr,System.String,System.String,System.Runtime.CompilerServices.ObjectHandleOnStack) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Void System.Runtime.Loader.AssemblyLoadContext.LoadFromPath(System.IntPtr,System.String,System.String,System.Runtime.CompilerServices.ObjectHandleOnStack) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Void System.Runtime.Loader.AssemblyLoadContext.LoadFromPath(System.IntPtr,System.String,System.String,System.Runtime.CompilerServices.ObjectHandleOnStack) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types and members the loaded assembly depends on might be removed | -| System.Void System.Runtime.Loader.AssemblyLoadContext.LoadFromStream(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Runtime.Loader.AssemblyLoadContext.LoadFromStream(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.Runtime.CompilerServices.ObjectHandleOnStack) | [RequiresUnreferencedCodeAttribute(...)] | 0 | Types and members the loaded assembly depends on might be removed | -| System.Void System.Runtime.Loader.AssemblyLoadContext.PrepareForAssemblyLoadContextRelease(System.IntPtr,System.IntPtr) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Runtime.Loader.AssemblyLoadContext.StartProfileOptimization(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Runtime.ProfileOptimization.SetProfileRoot(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.ProfileOptimization.StartProfile(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Runtime.Serialization.ISerializable.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | Formatter-based serialization is obsolete and should not be used. | -| System.Void System.Runtime.Serialization.SafeSerializationEventArgs.AddSerializedState(System.Runtime.Serialization.ISafeSerializationData) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.Serialization.SerializationException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.Serialization.SerializationException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.Serialization.SerializationException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Runtime.Serialization.SerializationInfo..ctor(System.Type,System.Runtime.Serialization.IFormatterConverter) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.Serialization.SerializationInfo..ctor(System.Type,System.Runtime.Serialization.IFormatterConverter) | [ObsoleteAttribute(...)] | 0 | Formatter-based serialization is obsolete and should not be used. | -| System.Void System.Runtime.Serialization.SerializationInfo..ctor(System.Type,System.Runtime.Serialization.IFormatterConverter,System.Boolean) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.Serialization.SerializationInfo..ctor(System.Type,System.Runtime.Serialization.IFormatterConverter,System.Boolean) | [ObsoleteAttribute(...)] | 0 | Formatter-based serialization is obsolete and should not be used. | -| System.Void System.Runtime.Serialization.SerializationInfo.AddValue(System.String,System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.Serialization.SerializationInfo.AddValue(System.String,System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.Serialization.SerializationInfo.AddValue(System.String,System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.Serialization.SerializationInfo.AddValue(System.String,System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Runtime.Serialization.StreamingContext..ctor(System.Runtime.Serialization.StreamingContextStates) | [ObsoleteAttribute(...)] | 0 | Formatter-based serialization is obsolete and should not be used. | -| System.Void System.Runtime.Serialization.StreamingContext..ctor(System.Runtime.Serialization.StreamingContextStates,System.Object) | [ObsoleteAttribute(...)] | 0 | Formatter-based serialization is obsolete and should not be used. | -| System.Void System.Runtime.Versioning.ObsoletedOSPlatformAttribute..ctor(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.Versioning.ObsoletedOSPlatformAttribute..ctor(System.String,System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.Versioning.SupportedOSPlatformAttribute..ctor(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.Versioning.SupportedOSPlatformGuardAttribute..ctor(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.Versioning.TargetFrameworkAttribute.set_FrameworkDisplayName(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Runtime.Versioning.TargetPlatformAttribute..ctor(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Runtime.Versioning.UnsupportedOSPlatformGuardAttribute..ctor(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.RuntimeFieldHandle.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.RuntimeFieldHandle.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.RuntimeFieldHandle.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.RuntimeMethodHandle.ConstructInstantiation(System.RuntimeMethodHandleInternal,System.TypeNameFormatFlags,System.Runtime.CompilerServices.StringHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.RuntimeMethodHandle.Destroy(System.RuntimeMethodHandleInternal) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.RuntimeMethodHandle.GetMethodInstantiation(System.RuntimeMethodHandleInternal,System.Runtime.CompilerServices.ObjectHandleOnStack,Interop.BOOL) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.RuntimeMethodHandle.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.RuntimeMethodHandle.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.RuntimeMethodHandle.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.RuntimeMethodHandle.GetTypicalMethodDefinition(System.RuntimeMethodHandleInternal,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.RuntimeMethodHandle.StripMethodInstantiation(System.RuntimeMethodHandleInternal,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.RuntimeTypeHandle.ConstructName(System.Runtime.CompilerServices.QCallTypeHandle,System.TypeNameFormatFlags,System.Runtime.CompilerServices.StringHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.RuntimeTypeHandle.CreateInstanceForAnotherGenericParameter(System.Runtime.CompilerServices.QCallTypeHandle,System.IntPtr*,System.Int32,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.RuntimeTypeHandle.GetActivationInfo(System.Runtime.CompilerServices.ObjectHandleOnStack,delegate* managed<Void*,Object>*,System.Void**,delegate* managed<Object,Void>*,Interop.BOOL*) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.RuntimeTypeHandle.GetConstraints(System.Runtime.CompilerServices.QCallTypeHandle,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.RuntimeTypeHandle.GetGenericTypeDefinition(System.Runtime.CompilerServices.QCallTypeHandle,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.RuntimeTypeHandle.GetInstantiation(System.Runtime.CompilerServices.QCallTypeHandle,System.Runtime.CompilerServices.ObjectHandleOnStack,Interop.BOOL) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.RuntimeTypeHandle.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.RuntimeTypeHandle.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.RuntimeTypeHandle.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.RuntimeTypeHandle.Instantiate(System.Runtime.CompilerServices.QCallTypeHandle,System.IntPtr*,System.Int32,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.RuntimeTypeHandle.MakeArray(System.Runtime.CompilerServices.QCallTypeHandle,System.Int32,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.RuntimeTypeHandle.MakeByRef(System.Runtime.CompilerServices.QCallTypeHandle,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.RuntimeTypeHandle.MakePointer(System.Runtime.CompilerServices.QCallTypeHandle,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.RuntimeTypeHandle.MakeSZArray(System.Runtime.CompilerServices.QCallTypeHandle,System.Runtime.CompilerServices.ObjectHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.RuntimeTypeHandle.RegisterCollectibleTypeDependency(System.Runtime.CompilerServices.QCallTypeHandle,System.Runtime.CompilerServices.QCallAssembly) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.RuntimeTypeHandle.VerifyInterfaceIsImplemented(System.Runtime.CompilerServices.QCallTypeHandle,System.Runtime.CompilerServices.QCallTypeHandle) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Security.Cryptography.CryptographicException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Security.Cryptography.CryptographicException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Security.Cryptography.CryptographicException..ctor(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Security.Cryptography.CryptographicException..ctor(System.String,System.Exception) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Security.PermissionSet.CopyTo(System.Array,System.Int32) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Security.PermissionSet.FromXml(System.Security.SecurityElement) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Security.SecureString..ctor(System.Char*,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Security.SecurityElement..ctor(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Security.SecurityElement..ctor(System.String,System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Security.SecurityElement.AddAttribute(System.String,System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Security.SecurityElement.AddChild(System.Security.SecurityElement) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Security.SecurityElement.set_Tag(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Security.SecurityException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Security.SecurityException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Security.SecurityException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Security.SecurityException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Security.SecurityException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Security.SecurityException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Security.VerificationException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Security.VerificationException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Security.VerificationException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Signature.GetSignature(System.Void*,System.Int32,System.RuntimeFieldHandleInternal,System.IRuntimeMethodInfo,System.RuntimeType) | [MemberNotNullAttribute(...)] | 0 | m_arguments | -| System.Void System.Signature.GetSignature(System.Void*,System.Int32,System.RuntimeFieldHandleInternal,System.IRuntimeMethodInfo,System.RuntimeType) | [MemberNotNullAttribute(...)] | 0 | m_returnTypeORfieldType | -| System.Void System.Span`1..ctor(System.Void*,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Span`1..ctor(System.Void*,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.StackOverflowException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.StartupHookProvider.CallStartupHook(System.Char*) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.StartupHookProvider.CallStartupHook(System.Char*) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:RequiresUnreferencedCode | -| System.Void System.StartupHookProvider.CallStartupHook(System.StartupHookProvider.StartupHookNameOrPath) | [RequiresUnreferencedCodeAttribute(...)] | 0 | The StartupHookSupport feature switch has been enabled for this app which is being trimmed. Startup hook code is not observable by the trimmer and so required assemblies, types and members may be removed | -| System.Void System.String..ctor(System.Char*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.String..ctor(System.Char*) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.String..ctor(System.Char*,System.Int32,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.String..ctor(System.Char*,System.Int32,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.String..ctor(System.Char[]) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.String..ctor(System.ReadOnlySpan<System.Char>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.String..ctor(System.SByte*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.String..ctor(System.SByte*) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.String..ctor(System.SByte*,System.Int32,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.String..ctor(System.SByte*,System.Int32,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.String..ctor(System.SByte*,System.Int32,System.Int32,System.Text.Encoding) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.String..ctor(System.SByte*,System.Int32,System.Int32,System.Text.Encoding) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.String.CopyTo(System.Span<System.Char>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.SystemException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.SystemException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.SystemException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Text.Decoder.Convert(System.Byte*,System.Int32,System.Char*,System.Int32,System.Boolean,System.Int32,System.Int32,System.Boolean) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Text.Decoder.Convert(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32,System.Int32,System.Boolean,System.Int32,System.Int32,System.Boolean) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Text.Decoder.set_Fallback(System.Text.DecoderFallback) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Text.DecoderFallbackException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Text.Encoder.Convert(System.Char*,System.Int32,System.Byte*,System.Int32,System.Boolean,System.Int32,System.Int32,System.Boolean) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Text.Encoder.Convert(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32,System.Boolean,System.Int32,System.Int32,System.Boolean) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Text.Encoder.set_Fallback(System.Text.EncoderFallback) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Text.EncoderFallbackException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Text.EncoderReplacementFallbackBuffer..ctor(System.Text.EncoderReplacementFallback) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Text.Encoding..ctor(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Text.Encoding.SetDefaultFallbacks() | [MemberNotNullAttribute(...)] | 0 | decoderFallback | -| System.Void System.Text.Encoding.SetDefaultFallbacks() | [MemberNotNullAttribute(...)] | 0 | encoderFallback | -| System.Void System.Text.Latin1Utility.WidenLatin1ToUtf16_Sse2(System.Byte*,System.Char*,System.UIntPtr) | [CompExactlyDependsOnAttribute(...)] | 0 | System.Runtime.Intrinsics.X86.Sse2 | -| System.Void System.Text.Rune..ctor(System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Text.StringBuilder..ctor(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Text.StringBuilder..ctor(System.String,System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Text.StringBuilder..ctor(System.String,System.Int32,System.Int32,System.Int32) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Text.StringBuilder.AppendInterpolatedStringHandler.AppendFormatted(System.Object,System.Int32,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Text.StringBuilder.AppendInterpolatedStringHandler.AppendFormatted(System.ReadOnlySpan<System.Char>) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Text.StringBuilder.AppendInterpolatedStringHandler.AppendFormatted(System.ReadOnlySpan<System.Char>,System.Int32,System.String) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Text.StringBuilder.AppendInterpolatedStringHandler.AppendFormatted(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Text.StringBuilder.AppendInterpolatedStringHandler.AppendFormatted(System.String,System.Int32,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Text.StringBuilder.AppendInterpolatedStringHandler.AppendFormatted`1(!0,System.Int32,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Text.StringBuilder.AppendInterpolatedStringHandler.AppendFormatted`1(!0,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Text.StringBuilder.CopyTo(System.Int32,System.Span<System.Char>,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void System.Text.TranscodingStream.EnsurePreReadConditions() | [MemberNotNullAttribute(...)] | 0 | [_innerDecoder,_thisEncoder,_readBuffer] | -| System.Void System.Text.TranscodingStream.EnsurePreWriteConditions() | [MemberNotNullAttribute(...)] | 0 | [_thisDecoder,_innerEncoder] | -| System.Void System.Text.UTF7Encoding..ctor() | [ObsoleteAttribute(...)] | 0 | The UTF-7 encoding is insecure and should not be used. Consider using UTF-8 instead. | -| System.Void System.Text.UTF7Encoding..ctor(System.Boolean) | [ObsoleteAttribute(...)] | 0 | The UTF-7 encoding is insecure and should not be used. Consider using UTF-8 instead. | -| System.Void System.Text.UTF7Encoding.MakeTables() | [MemberNotNullAttribute(...)] | 0 | _base64Bytes | -| System.Void System.Text.UTF7Encoding.MakeTables() | [MemberNotNullAttribute(...)] | 0 | _base64Values | -| System.Void System.Text.UTF7Encoding.MakeTables() | [MemberNotNullAttribute(...)] | 0 | _directEncode | -| System.Void System.Threading.AbandonedMutexException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Threading.AbandonedMutexException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Threading.AbandonedMutexException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Threading.CompressedStack.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Threading.CompressedStack.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Threading.ContextCallback.Invoke(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Threading.EventWaitHandle..ctor(System.Boolean,System.Threading.EventResetMode,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Threading.EventWaitHandle..ctor(System.Boolean,System.Threading.EventResetMode,System.String,System.Boolean) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Threading.ExecutionContext.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Threading.ExecutionContext.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Threading.Interlocked._MemoryBarrierProcessWide() | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Threading.LockRecursionException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Threading.LockRecursionException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Threading.LockRecursionException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Threading.ManualResetEventSlim.Wait() | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Void System.Threading.ManualResetEventSlim.Wait(System.Threading.CancellationToken) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Void System.Threading.Mutex..ctor(System.Boolean,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Threading.Mutex..ctor(System.Boolean,System.String,System.Boolean) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Threading.Overlapped..ctor(System.Int32,System.Int32,System.Int32,System.IAsyncResult) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Threading.Overlapped..ctor(System.Int32,System.Int32,System.Int32,System.IAsyncResult) | [ObsoleteAttribute(...)] | 0 | This constructor is not 64-bit compatible and has been deprecated. Use the constructor that accepts an IntPtr for the event handle instead. | -| System.Void System.Threading.Overlapped..ctor(System.Int32,System.Int32,System.IntPtr,System.IAsyncResult) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Threading.Overlapped.Free(System.Threading.NativeOverlapped*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Threading.Overlapped.set_AsyncResult(System.IAsyncResult) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Threading.ParameterizedThreadStart.Invoke(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Threading.PeriodicTimer..ctor(System.TimeSpan,System.TimeProvider) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Threading.PreAllocatedOverlapped..ctor(System.Threading.IOCompletionCallback,System.Object,System.Object) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Threading.PreAllocatedOverlapped..ctor(System.Threading.IOCompletionCallback,System.Object,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Threading.Semaphore..ctor(System.Int32,System.Int32,System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Threading.Semaphore..ctor(System.Int32,System.Int32,System.String,System.Boolean) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Threading.SemaphoreFullException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Threading.SemaphoreFullException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Threading.SemaphoreFullException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Threading.SemaphoreSlim.Wait() | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Void System.Threading.SemaphoreSlim.Wait(System.Threading.CancellationToken) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Void System.Threading.SendOrPostCallback.Invoke(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Threading.SynchronizationContext.SetSynchronizationContext(System.Threading.SynchronizationContext) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Threading.SynchronizationLockException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Threading.SynchronizationLockException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Threading.SynchronizationLockException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.OnCompleted(System.Action<System.Object>,System.Object,System.Int16,System.Threading.Tasks.Sources.ValueTaskSourceOnCompletedFlags) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Threading.Tasks.Task..ctor(System.Action<System.Object>,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Threading.Tasks.Task..ctor(System.Action<System.Object>,System.Object,System.Threading.CancellationToken) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Threading.Tasks.Task..ctor(System.Action<System.Object>,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Threading.Tasks.Task..ctor(System.Action<System.Object>,System.Object,System.Threading.Tasks.TaskCreationOptions) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[]) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Void System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[],System.Threading.CancellationToken) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Void System.Threading.Tasks.TaskAsyncEnumerableExtensions.ManualResetEventWithAwaiterSupport.Wait`1(!0) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Void System.Threading.Tasks.TaskCanceledException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Threading.Tasks.TaskCanceledException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Threading.Tasks.TaskCanceledException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Threading.Tasks.TaskCompletionSource..ctor(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Threading.Tasks.TaskCompletionSource..ctor(System.Object,System.Threading.Tasks.TaskCreationOptions) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Threading.Tasks.TaskCompletionSource`1..ctor(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Threading.Tasks.TaskCompletionSource`1..ctor(System.Object,System.Threading.Tasks.TaskCreationOptions) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Threading.Tasks.TaskFactory..ctor(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Threading.Tasks.TaskFactory..ctor(System.Threading.Tasks.TaskScheduler) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Threading.Tasks.TaskFactory`1..ctor(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Threading.Tasks.TaskFactory`1..ctor(System.Threading.Tasks.TaskScheduler) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Threading.Tasks.TaskSchedulerException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Threading.Tasks.TaskSchedulerException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Threading.Tasks.TaskSchedulerException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Threading.Tasks.Task`1..ctor(System.Func<!0,System.Object>,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Threading.Tasks.Task`1..ctor(System.Func<!0,System.Object>,System.Object,System.Threading.CancellationToken) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Threading.Tasks.Task`1..ctor(System.Func<!0,System.Object>,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Threading.Tasks.Task`1..ctor(System.Func<!0,System.Object>,System.Object,System.Threading.Tasks.TaskCreationOptions) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Threading.Tasks.TplEventSource.AwaitTaskContinuationScheduled(System.Int32,System.Int32,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Threading.Tasks.TplEventSource.AwaitTaskContinuationScheduled(System.Int32,System.Int32,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:UnrecognizedReflectionPattern | -| System.Void System.Threading.Tasks.TplEventSource.TaskCompleted(System.Int32,System.Int32,System.Int32,System.Boolean) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Threading.Tasks.TplEventSource.TaskCompleted(System.Int32,System.Int32,System.Int32,System.Boolean) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:UnrecognizedReflectionPattern | -| System.Void System.Threading.Tasks.TplEventSource.TaskScheduled(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Threading.Tasks.TplEventSource.TaskScheduled(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:UnrecognizedReflectionPattern | -| System.Void System.Threading.Tasks.TplEventSource.TaskWaitBegin(System.Int32,System.Int32,System.Int32,System.Threading.Tasks.TplEventSource.TaskWaitBehavior,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Threading.Tasks.TplEventSource.TaskWaitBegin(System.Int32,System.Int32,System.Int32,System.Threading.Tasks.TplEventSource.TaskWaitBehavior,System.Int32) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:UnrecognizedReflectionPattern | -| System.Void System.Threading.Tasks.TplEventSource.TraceOperationBegin(System.Int32,System.String,System.Int64) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Threading.Tasks.TplEventSource.TraceOperationBegin(System.Int32,System.String,System.Int64) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:UnrecognizedReflectionPattern | -| System.Void System.Threading.Tasks.TplEventSource.TraceSynchronousWorkEnd(System.Threading.Tasks.CausalitySynchronousWork) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Threading.Tasks.TplEventSource.TraceSynchronousWorkEnd(System.Threading.Tasks.CausalitySynchronousWork) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2026:UnrecognizedReflectionPattern | -| System.Void System.Threading.Thread.Abort() | [ObsoleteAttribute(...)] | 0 | Thread.Abort is not supported and throws PlatformNotSupportedException. | -| System.Void System.Threading.Thread.Abort(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Threading.Thread.Abort(System.Object) | [ObsoleteAttribute(...)] | 0 | Thread.Abort is not supported and throws PlatformNotSupportedException. | -| System.Void System.Threading.Thread.InformThreadNameChange(System.Threading.ThreadHandle,System.String,System.Int32) | [GeneratedCodeAttribute(...)] | 0 | Microsoft.Interop.LibraryImportGenerator | -| System.Void System.Threading.Thread.InformThreadNameChange(System.Threading.ThreadHandle,System.String,System.Int32) | [GeneratedCodeAttribute(...)] | 1 | 8.0.9.8001 | -| System.Void System.Threading.Thread.ResetAbort() | [ObsoleteAttribute(...)] | 0 | Thread.ResetAbort is not supported and throws PlatformNotSupportedException. | -| System.Void System.Threading.Thread.Resume() | [ObsoleteAttribute(...)] | 0 | Thread.Resume has been deprecated. Use other classes in System.Threading, such as Monitor, Mutex, Event, and Semaphore, to synchronize Threads or protect resources. | -| System.Void System.Threading.Thread.SetApartmentState(System.Threading.ApartmentState) | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| System.Void System.Threading.Thread.SetCompressedStack(System.Threading.CompressedStack) | [ObsoleteAttribute(...)] | 0 | Code Access Security is not supported or honored by the runtime. | -| System.Void System.Threading.Thread.Start() | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Void System.Threading.Thread.Start(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Threading.Thread.Start(System.Object) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Void System.Threading.Thread.StartInternal(System.Threading.ThreadHandle,System.Int32,System.Int32,System.Char*) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.Threading.Thread.Suspend() | [ObsoleteAttribute(...)] | 0 | Thread.Suspend has been deprecated. Use other classes in System.Threading, such as Monitor, Mutex, Event, and Semaphore, to synchronize Threads or protect resources. | -| System.Void System.Threading.Thread.UnsafeStart() | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Void System.Threading.Thread.UnsafeStart(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Threading.Thread.UnsafeStart(System.Object) | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| System.Void System.Threading.Thread.VolatileWrite(System.Object,System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Threading.Thread.VolatileWrite(System.SByte,System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Threading.Thread.VolatileWrite(System.UInt16,System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Threading.Thread.VolatileWrite(System.UInt32,System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Threading.Thread.VolatileWrite(System.UInt64,System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Threading.Thread.VolatileWrite(System.UIntPtr,System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Threading.Thread.set_CurrentPrincipal(System.Security.Principal.IPrincipal) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Threading.Thread.set_Name(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Threading.ThreadAbortException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Threading.ThreadExceptionEventHandler.Invoke(System.Object,System.Threading.ThreadExceptionEventArgs) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Threading.ThreadInterruptedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Threading.ThreadInterruptedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Threading.ThreadInterruptedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Threading.ThreadPoolBoundHandle.FreeNativeOverlapped(System.Threading.NativeOverlapped*) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Threading.ThreadStartException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Threading.ThreadStateException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Threading.ThreadStateException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Threading.ThreadStateException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Threading.Timer..ctor(System.Threading.TimerCallback,System.Object,System.UInt32,System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Threading.Timer.TimerSetup(System.Threading.TimerCallback,System.Object,System.UInt32,System.UInt32,System.Boolean) | [MemberNotNullAttribute(...)] | 0 | _timer | -| System.Void System.Threading.TimerCallback.Invoke(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Threading.Volatile.Write(System.SByte,System.SByte) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Threading.Volatile.Write(System.UInt16,System.UInt16) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Threading.Volatile.Write(System.UInt32,System.UInt32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Threading.Volatile.Write(System.UInt64,System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Threading.Volatile.Write(System.UIntPtr,System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.Threading.WaitCallback.Invoke(System.Object) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.Threading.WaitHandleCannotBeOpenedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.Threading.WaitHandleCannotBeOpenedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Threading.WaitHandleCannotBeOpenedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.Threading.WaitOrTimerCallback.Invoke(System.Object,System.Boolean) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.TimeOnly.Deconstruct(System.Int32,System.Int32) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.TimeOnly.Deconstruct(System.Int32,System.Int32,System.Int32) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.TimeOnly.Deconstruct(System.Int32,System.Int32,System.Int32,System.Int32) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.TimeOnly.Deconstruct(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.TimeZoneNotFoundException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.TimeZoneNotFoundException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.TimeZoneNotFoundException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.TimeoutException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.TimeoutException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.TimeoutException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.TupleExtensions.Deconstruct`1(System.Tuple<!0>,!0) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.TupleExtensions.Deconstruct`1(System.Tuple<!0>,!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.TupleExtensions.Deconstruct`2(System.Tuple<!0,!1>,!0,!1) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.TupleExtensions.Deconstruct`2(System.Tuple<!0,!1>,!0,!1) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.TupleExtensions.Deconstruct`3(System.Tuple<!0,!1,!2>,!0,!1,!2) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.TupleExtensions.Deconstruct`3(System.Tuple<!0,!1,!2>,!0,!1,!2) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.TupleExtensions.Deconstruct`4(System.Tuple<!0,!1,!2,!3>,!0,!1,!2,!3) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.TupleExtensions.Deconstruct`4(System.Tuple<!0,!1,!2,!3>,!0,!1,!2,!3) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.TupleExtensions.Deconstruct`5(System.Tuple<!0,!1,!2,!3,!4>,!0,!1,!2,!3,!4) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.TupleExtensions.Deconstruct`5(System.Tuple<!0,!1,!2,!3,!4>,!0,!1,!2,!3,!4) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.TupleExtensions.Deconstruct`6(System.Tuple<!0,!1,!2,!3,!4,!5>,!0,!1,!2,!3,!4,!5) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.TupleExtensions.Deconstruct`6(System.Tuple<!0,!1,!2,!3,!4,!5>,!0,!1,!2,!3,!4,!5) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.TupleExtensions.Deconstruct`7(System.Tuple<!0,!1,!2,!3,!4,!5,!6>,!0,!1,!2,!3,!4,!5,!6) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.TupleExtensions.Deconstruct`7(System.Tuple<!0,!1,!2,!3,!4,!5,!6>,!0,!1,!2,!3,!4,!5,!6) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.TupleExtensions.Deconstruct`8(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!7>>,!0,!1,!2,!3,!4,!5,!6,!7) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.TupleExtensions.Deconstruct`8(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!7>>,!0,!1,!2,!3,!4,!5,!6,!7) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.TupleExtensions.Deconstruct`9(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!7,!8>>,!0,!1,!2,!3,!4,!5,!6,!7,!8) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.TupleExtensions.Deconstruct`9(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!7,!8>>,!0,!1,!2,!3,!4,!5,!6,!7,!8) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.TupleExtensions.Deconstruct`10(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!7,!8,!9>>,!0,!1,!2,!3,!4,!5,!6,!7,!8,!9) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.TupleExtensions.Deconstruct`10(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!7,!8,!9>>,!0,!1,!2,!3,!4,!5,!6,!7,!8,!9) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.TupleExtensions.Deconstruct`11(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!7,!8,!9>>,!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.TupleExtensions.Deconstruct`11(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!7,!8,!9>>,!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.TupleExtensions.Deconstruct`12(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!7,!8,!9>>,!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.TupleExtensions.Deconstruct`12(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!7,!8,!9>>,!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.TupleExtensions.Deconstruct`13(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!7,!8,!9>>,!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.TupleExtensions.Deconstruct`13(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!7,!8,!9>>,!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.TupleExtensions.Deconstruct`14(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9>>,!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.TupleExtensions.Deconstruct`14(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9>>,!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.TupleExtensions.Deconstruct`15(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14>>>,!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.TupleExtensions.Deconstruct`15(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14>>>,!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.TupleExtensions.Deconstruct`16(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14,!15>>>,!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,!15) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.TupleExtensions.Deconstruct`16(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14,!15>>>,!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,!15) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.TupleExtensions.Deconstruct`17(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14,!15,!16>>>,!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,!15,!16) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.TupleExtensions.Deconstruct`17(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14,!15,!16>>>,!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,!15,!16) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.TupleExtensions.Deconstruct`18(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14,!15,!16,!17>>>,!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,!15,!16,!17) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.TupleExtensions.Deconstruct`18(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14,!15,!16,!17>>>,!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,!15,!16,!17) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.TupleExtensions.Deconstruct`19(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14,!15,!16,!17,!18>>>,!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,!15,!16,!17,!18) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.TupleExtensions.Deconstruct`19(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14,!15,!16,!17,!18>>>,!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,!15,!16,!17,!18) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.TupleExtensions.Deconstruct`20(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14,!15,!16,!17,!18,!19>>>,!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,!15,!16,!17,!18,!19) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.TupleExtensions.Deconstruct`20(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14,!15,!16,!17,!18,!19>>>,!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,!15,!16,!17,!18,!19) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.TupleExtensions.Deconstruct`21(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14,!15,!16,!17,!18,!19,!20>>>,!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,!15,!16,!17,!18,!19,!20) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.TupleExtensions.Deconstruct`21(System.Tuple<!0,!1,!2,!3,!4,!5,!6,System.Tuple<!10,!11,!12,!13,!7,!8,!9,System.Tuple<!14,!15,!16,!17,!18,!19,!20>>>,!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,!15,!16,!17,!18,!19,!20) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Tuple`1..ctor(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Tuple`2..ctor(!0,!1) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Type.GetEnumData(System.String[],System.Array) | [UnconditionalSuppressMessageAttribute(...)] | 0 | ReflectionAnalysis | -| System.Void System.Type.GetEnumData(System.String[],System.Array) | [UnconditionalSuppressMessageAttribute(...)] | 1 | IL2085:UnrecognizedReflectionPattern | -| System.Void System.TypeAccessException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.TypeAccessException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.TypeAccessException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.TypeInitializationException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.TypeInitializationException..ctor(System.String,System.Exception) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.TypeInitializationException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.TypeInitializationException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.TypeLoadException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.TypeLoadException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.TypeLoadException..ctor(System.String) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.TypeLoadException..ctor(System.String,System.Exception) | [NullableContextAttribute(...)] | 0 | 2 | -| System.Void System.TypeLoadException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.TypeLoadException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.TypeLoadException.GetTypeLoadExceptionMessage(System.Int32,System.Runtime.CompilerServices.StringHandleOnStack) | [LibraryImportAttribute(...)] | 0 | QCall | -| System.Void System.TypeUnloadedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.TypeUnloadedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.TypeUnloadedException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.UInt128..ctor(System.UInt64,System.UInt64) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void System.UnauthorizedAccessException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.UnauthorizedAccessException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.UnauthorizedAccessException..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.UnhandledExceptionEventHandler.Invoke(System.Object,System.UnhandledExceptionEventArgs) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.UnitySerializationHolder..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.UnitySerializationHolder.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.ValueTuple`1..ctor(!0) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.ValueTuple`2..ctor(!0,!1) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.ValueTuple`3..ctor(!0,!1,!2) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.ValueTuple`4..ctor(!0,!1,!2,!3) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.Version..ctor(System.String) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.WeakReference..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.WeakReference..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.WeakReference..ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.WeakReference.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.WeakReference.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [NullableContextAttribute(...)] | 0 | 1 | -| System.Void System.WeakReference.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void System.WeakReference`1.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [EditorBrowsableAttribute(...)] | 0 | 1 | -| System.Void System.WeakReference`1.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) | [ObsoleteAttribute(...)] | 0 | This API supports obsolete formatter-based serialization. It should not be called or extended by application code. | -| System.Void* System.IntPtr.ToPointer() | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void* System.IntPtr.op_Explicit(System.IntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void* System.Runtime.CompilerServices.Unsafe.Add`1(System.Void*,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void* System.Runtime.CompilerServices.Unsafe.Add`1(System.Void*,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void* System.Runtime.CompilerServices.Unsafe.AsPointer`1(!0) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void* System.Runtime.CompilerServices.Unsafe.AsPointer`1(!0) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void* System.Runtime.CompilerServices.Unsafe.Subtract`1(System.Void*,System.Int32) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void* System.Runtime.CompilerServices.Unsafe.Subtract`1(System.Void*,System.Int32) | [NullableContextAttribute(...)] | 0 | 0 | -| System.Void* System.Runtime.InteropServices.NativeMemory.AlignedAlloc(System.UIntPtr,System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void* System.Runtime.InteropServices.NativeMemory.AlignedRealloc(System.Void*,System.UIntPtr,System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void* System.Runtime.InteropServices.NativeMemory.Alloc(System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void* System.Runtime.InteropServices.NativeMemory.Alloc(System.UIntPtr,System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void* System.Runtime.InteropServices.NativeMemory.AllocZeroed(System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void* System.Runtime.InteropServices.NativeMemory.AllocZeroed(System.UIntPtr,System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.Void* System.Runtime.InteropServices.NativeMemory.Realloc(System.Void*,System.UIntPtr) | [CLSCompliantAttribute(...)] | 0 | False | -| System.WeakReference | [NullableAttribute(...)] | 0 | 0 | -| System.WeakReference | [NullableContextAttribute(...)] | 0 | 2 | -| System.WeakReference | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.WeakReference`1 | [NullableAttribute(...)] | 0 | 0 | -| System.WeakReference`1 | [NullableContextAttribute(...)] | 0 | 1 | -| System.WeakReference`1 | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| System.__Canon | [ClassInterfaceAttribute(...)] | 0 | 0 | -| System.__Canon | [ComVisibleAttribute(...)] | 0 | True | -| System.__DTString | [CompilerFeatureRequiredAttribute(...)] | 0 | RefStructs | -| System.__DTString | [ObsoleteAttribute(...)] | 0 | Types with embedded references are not supported in this version of your compiler. | -| System.__DTString | [ObsoleteAttribute(...)] | 1 | True | -| bool | [DoesNotReturnIfAttribute(...)] | 0 | False | -| bool | [DoesNotReturnIfAttribute(...)] | 0 | True | -| bool | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| bool System.Console.CapsLock | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| bool System.Console.NumberLock | [SupportedOSPlatformAttribute(...)] | 0 | windows | -| bool System.Console.TreatControlCAsInput | [UnsupportedOSPlatformAttribute(...)] | 0 | android | -| bool System.Console.TreatControlCAsInput | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| bool System.Console.TreatControlCAsInput | [UnsupportedOSPlatformAttribute(...)] | 0 | ios | -| bool System.Console.TreatControlCAsInput | [UnsupportedOSPlatformAttribute(...)] | 0 | tvos | -| bool System.Reflection.Assembly.GlobalAssemblyCache | [ObsoleteAttribute(...)] | 0 | The Global Assembly Cache is not supported. | -| bool System.Reflection.FieldInfo.IsNotSerialized | [ObsoleteAttribute(...)] | 0 | Formatter-based serialization is obsolete and should not be used. | -| bool System.Reflection.RuntimeAssembly.GlobalAssemblyCache | [ObsoleteAttribute(...)] | 0 | The Global Assembly Cache is not supported. | -| bool System.Reflection.SignatureType.IsSerializable | [ObsoleteAttribute(...)] | 0 | Formatter-based serialization is obsolete and should not be used. | -| bool System.Threading.Tasks.Task.IsFaulted | [MemberNotNullWhenAttribute(...)] | 0 | True | -| bool System.Threading.Tasks.Task.IsFaulted | [MemberNotNullWhenAttribute(...)] | 1 | Exception | -| bool System.Type.IsSerializable | [ObsoleteAttribute(...)] | 0 | Formatter-based serialization is obsolete and should not be used. | -| bool.FalseString | [NullableAttribute(...)] | 0 | 1 | -| bool.TrueString | [NullableAttribute(...)] | 0 | 1 | -| byte | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| byte* System.IO.UnmanagedMemoryStream.PositionPointer | [CLSCompliantAttribute(...)] | 0 | False | -| byte[] | [NotNullWhenAttribute(...)] | 0 | True | -| byte[] | [NullableAttribute(...)] | 0 | 2 | -| char | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| char[] | [NullableAttribute(...)] | 0 | 2 | -| decimal | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| decimal.AdditiveIdentity | [DecimalConstantAttribute(...)] | 0 | 0 | -| decimal.AdditiveIdentity | [DecimalConstantAttribute(...)] | 1 | 0 | -| decimal.AdditiveIdentity | [DecimalConstantAttribute(...)] | 2 | 0 | -| decimal.AdditiveIdentity | [DecimalConstantAttribute(...)] | 3 | 0 | -| decimal.AdditiveIdentity | [DecimalConstantAttribute(...)] | 4 | 0 | -| decimal.MaxValue | [DecimalConstantAttribute(...)] | 0 | 0 | -| decimal.MaxValue | [DecimalConstantAttribute(...)] | 1 | 0 | -| decimal.MaxValue | [DecimalConstantAttribute(...)] | 2 | 4294967295 | -| decimal.MaxValue | [DecimalConstantAttribute(...)] | 3 | 4294967295 | -| decimal.MaxValue | [DecimalConstantAttribute(...)] | 4 | 4294967295 | -| decimal.MinValue | [DecimalConstantAttribute(...)] | 0 | 0 | -| decimal.MinValue | [DecimalConstantAttribute(...)] | 1 | 128 | -| decimal.MinValue | [DecimalConstantAttribute(...)] | 2 | 4294967295 | -| decimal.MinValue | [DecimalConstantAttribute(...)] | 3 | 4294967295 | -| decimal.MinValue | [DecimalConstantAttribute(...)] | 4 | 4294967295 | -| decimal.MinusOne | [DecimalConstantAttribute(...)] | 0 | 0 | -| decimal.MinusOne | [DecimalConstantAttribute(...)] | 1 | 128 | -| decimal.MinusOne | [DecimalConstantAttribute(...)] | 2 | 0 | -| decimal.MinusOne | [DecimalConstantAttribute(...)] | 3 | 0 | -| decimal.MinusOne | [DecimalConstantAttribute(...)] | 4 | 1 | -| decimal.MultiplicativeIdentity | [DecimalConstantAttribute(...)] | 0 | 0 | -| decimal.MultiplicativeIdentity | [DecimalConstantAttribute(...)] | 1 | 0 | -| decimal.MultiplicativeIdentity | [DecimalConstantAttribute(...)] | 2 | 0 | -| decimal.MultiplicativeIdentity | [DecimalConstantAttribute(...)] | 3 | 0 | -| decimal.MultiplicativeIdentity | [DecimalConstantAttribute(...)] | 4 | 1 | -| decimal.NegativeOne | [DecimalConstantAttribute(...)] | 0 | 0 | -| decimal.NegativeOne | [DecimalConstantAttribute(...)] | 1 | 128 | -| decimal.NegativeOne | [DecimalConstantAttribute(...)] | 2 | 0 | -| decimal.NegativeOne | [DecimalConstantAttribute(...)] | 3 | 0 | -| decimal.NegativeOne | [DecimalConstantAttribute(...)] | 4 | 1 | -| decimal.One | [DecimalConstantAttribute(...)] | 0 | 0 | -| decimal.One | [DecimalConstantAttribute(...)] | 1 | 0 | -| decimal.One | [DecimalConstantAttribute(...)] | 2 | 0 | -| decimal.One | [DecimalConstantAttribute(...)] | 3 | 0 | -| decimal.One | [DecimalConstantAttribute(...)] | 4 | 1 | -| decimal.Zero | [DecimalConstantAttribute(...)] | 0 | 0 | -| decimal.Zero | [DecimalConstantAttribute(...)] | 1 | 0 | -| decimal.Zero | [DecimalConstantAttribute(...)] | 2 | 0 | -| decimal.Zero | [DecimalConstantAttribute(...)] | 3 | 0 | -| decimal.Zero | [DecimalConstantAttribute(...)] | 4 | 0 | -| delegate* managed<Byte&,Void> System.Array.ArrayInitializeCache.GetElementConstructorEntrypoint(System.Runtime.CompilerServices.QCallTypeHandle) | [LibraryImportAttribute(...)] | 0 | QCall | -| double | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| float | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| int | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| int System.Console.CursorLeft | [UnsupportedOSPlatformAttribute(...)] | 0 | android | -| int System.Console.CursorLeft | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| int System.Console.CursorLeft | [UnsupportedOSPlatformAttribute(...)] | 0 | ios | -| int System.Console.CursorLeft | [UnsupportedOSPlatformAttribute(...)] | 0 | tvos | -| int System.Console.CursorTop | [UnsupportedOSPlatformAttribute(...)] | 0 | android | -| int System.Console.CursorTop | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| int System.Console.CursorTop | [UnsupportedOSPlatformAttribute(...)] | 0 | ios | -| int System.Console.CursorTop | [UnsupportedOSPlatformAttribute(...)] | 0 | tvos | -| int System.Console.LargestWindowHeight | [UnsupportedOSPlatformAttribute(...)] | 0 | android | -| int System.Console.LargestWindowHeight | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| int System.Console.LargestWindowHeight | [UnsupportedOSPlatformAttribute(...)] | 0 | ios | -| int System.Console.LargestWindowHeight | [UnsupportedOSPlatformAttribute(...)] | 0 | tvos | -| int System.Console.LargestWindowWidth | [UnsupportedOSPlatformAttribute(...)] | 0 | android | -| int System.Console.LargestWindowWidth | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| int System.Console.LargestWindowWidth | [UnsupportedOSPlatformAttribute(...)] | 0 | ios | -| int System.Console.LargestWindowWidth | [UnsupportedOSPlatformAttribute(...)] | 0 | tvos | -| int System.Console.WindowHeight | [UnsupportedOSPlatformAttribute(...)] | 0 | android | -| int System.Console.WindowHeight | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| int System.Console.WindowHeight | [UnsupportedOSPlatformAttribute(...)] | 0 | ios | -| int System.Console.WindowHeight | [UnsupportedOSPlatformAttribute(...)] | 0 | tvos | -| int System.Console.WindowWidth | [UnsupportedOSPlatformAttribute(...)] | 0 | android | -| int System.Console.WindowWidth | [UnsupportedOSPlatformAttribute(...)] | 0 | browser | -| int System.Console.WindowWidth | [UnsupportedOSPlatformAttribute(...)] | 0 | ios | -| int System.Console.WindowWidth | [UnsupportedOSPlatformAttribute(...)] | 0 | tvos | -| int System.Runtime.CompilerServices.RuntimeHelpers.OffsetToStringData | [ObsoleteAttribute(...)] | 0 | OffsetToStringData has been deprecated. Use string.GetPinnableReference() instead. | -| int System.Threading.Overlapped.EventHandle | [ObsoleteAttribute(...)] | 0 | Overlapped.EventHandle is not 64-bit compatible and has been deprecated. Use EventHandleIntPtr instead. | -| int[] System.Globalization.GregorianCalendar.Eras | [NullableAttribute(...)] | 0 | 1 | -| int[] System.Globalization.HebrewCalendar.Eras | [NullableAttribute(...)] | 0 | 1 | -| int[] System.Globalization.HijriCalendar.Eras | [NullableAttribute(...)] | 0 | 1 | -| int[] System.Globalization.PersianCalendar.Eras | [NullableAttribute(...)] | 0 | 1 | -| int[] System.Globalization.StringInfo.Indexes | [NullableAttribute(...)] | 0 | 2 | -| long | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| object | [ClassInterfaceAttribute(...)] | 0 | 1 | -| object | [ComVisibleAttribute(...)] | 0 | True | -| object | [NotNullIfNotNullAttribute(...)] | 0 | address | -| object | [NotNullIfNotNullAttribute(...)] | 0 | syncLock | -| object | [NotNullIfNotNullAttribute(...)] | 0 | value | -| object | [NotNullWhenAttribute(...)] | 0 | True | -| object | [NullableAttribute(...)] | 0 | 0 | -| object | [NullableAttribute(...)] | 0 | 1 | -| object | [NullableAttribute(...)] | 0 | 2 | -| object | [NullableContextAttribute(...)] | 0 | 2 | -| object | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| object System.ArgumentOutOfRangeException.ActualValue | [NullableAttribute(...)] | 0 | 2 | -| object System.Array.Item | [NullableAttribute(...)] | 0 | 2 | -| object System.ArraySegment`1.Enumerator.Current | [NullableAttribute(...)] | 0 | 2 | -| object System.CharEnumerator.Current | [NullableAttribute(...)] | 0 | 2 | -| object System.Collections.ArrayList.Item | [NullableAttribute(...)] | 0 | 2 | -| object System.Collections.DictionaryEntry.Value | [NullableAttribute(...)] | 0 | 2 | -| object System.Collections.Generic.Dictionary`2.Enumerator.Current | [NullableAttribute(...)] | 0 | 2 | -| object System.Collections.Generic.Dictionary`2.Enumerator.Key | [NullableAttribute(...)] | 0 | 1 | -| object System.Collections.Generic.Dictionary`2.Enumerator.Value | [NullableAttribute(...)] | 0 | 2 | -| object System.Collections.Generic.Dictionary`2.Item | [NullableAttribute(...)] | 0 | 2 | -| object System.Collections.Generic.Dictionary`2.KeyCollection.Enumerator.Current | [NullableAttribute(...)] | 0 | 2 | -| object System.Collections.Generic.Dictionary`2.KeyCollection.SyncRoot | [NullableAttribute(...)] | 0 | 1 | -| object System.Collections.Generic.Dictionary`2.ValueCollection.Enumerator.Current | [NullableAttribute(...)] | 0 | 2 | -| object System.Collections.Generic.Dictionary`2.ValueCollection.SyncRoot | [NullableAttribute(...)] | 0 | 1 | -| object System.Collections.Generic.HashSet`1.Enumerator.Current | [NullableAttribute(...)] | 0 | 2 | -| object System.Collections.Generic.List`1.Enumerator.Current | [NullableAttribute(...)] | 0 | 2 | -| object System.Collections.Generic.List`1.Item | [NullableAttribute(...)] | 0 | 2 | -| object System.Collections.Generic.Queue`1.Enumerator.Current | [NullableAttribute(...)] | 0 | 2 | -| object System.Collections.Hashtable.Item | [NullableAttribute(...)] | 0 | 2 | -| object System.Collections.IDictionary.Item | [NullableAttribute(...)] | 0 | 2 | -| object System.Collections.IDictionaryEnumerator.Value | [NullableAttribute(...)] | 0 | 2 | -| object System.Collections.ListDictionaryInternal.Item | [NullableAttribute(...)] | 0 | 2 | -| object System.Collections.ObjectModel.Collection`1.Item | [NullableAttribute(...)] | 0 | 2 | -| object System.Collections.ObjectModel.ReadOnlyCollection`1.Item | [NullableAttribute(...)] | 0 | 2 | -| object System.Collections.ObjectModel.ReadOnlyDictionary`2.Item | [NullableAttribute(...)] | 0 | 2 | -| object System.Collections.ObjectModel.ReadOnlyDictionary`2.ValueCollection.SyncRoot | [NullableAttribute(...)] | 0 | 1 | -| object System.Delegate.Target | [NullableAttribute(...)] | 0 | 2 | -| object System.IAsyncResult.AsyncState | [NullableAttribute(...)] | 0 | 2 | -| object System.IO.Enumeration.FileSystemEnumerator`1.Current | [NullableAttribute(...)] | 0 | 2 | -| object System.Reflection.CustomAttributeTypedArgument.Value | [NullableAttribute(...)] | 0 | 2 | -| object System.Reflection.ParameterInfo.DefaultValue | [NullableAttribute(...)] | 0 | 2 | -| object System.Reflection.ParameterInfo.RawDefaultValue | [NullableAttribute(...)] | 0 | 2 | -| object System.Runtime.CompilerServices.StrongBox`1.Value | [NullableAttribute(...)] | 0 | 2 | -| object System.Runtime.Serialization.SerializationEntry.Value | [NullableAttribute(...)] | 0 | 2 | -| object System.Runtime.Serialization.SerializationInfoEnumerator.Current | [NullableAttribute(...)] | 0 | 2 | -| object System.Runtime.Serialization.SerializationInfoEnumerator.Value | [NullableAttribute(...)] | 0 | 2 | -| object System.Security.PermissionSet.SyncRoot | [NullableAttribute(...)] | 0 | 1 | -| object System.Text.StringRuneEnumerator.Current | [NullableAttribute(...)] | 0 | 2 | -| object System.Threading.Tasks.Task.AsyncState | [NullableAttribute(...)] | 0 | 2 | -| object System.Tuple`1.Item | [NullableAttribute(...)] | 0 | 2 | -| object System.Tuple`2.Item | [NullableAttribute(...)] | 0 | 2 | -| object System.Tuple`3.Item | [NullableAttribute(...)] | 0 | 2 | -| object System.Tuple`4.Item | [NullableAttribute(...)] | 0 | 2 | -| object System.Tuple`5.Item | [NullableAttribute(...)] | 0 | 2 | -| object System.Tuple`6.Item | [NullableAttribute(...)] | 0 | 2 | -| object System.Tuple`7.Item | [NullableAttribute(...)] | 0 | 2 | -| object System.Tuple`8.Item | [NullableAttribute(...)] | 0 | 2 | -| object System.ValueTuple.Item | [NullableAttribute(...)] | 0 | 2 | -| object System.ValueTuple`1.Item | [NullableAttribute(...)] | 0 | 2 | -| object System.ValueTuple`2.Item | [NullableAttribute(...)] | 0 | 2 | -| object System.ValueTuple`3.Item | [NullableAttribute(...)] | 0 | 2 | -| object System.ValueTuple`4.Item | [NullableAttribute(...)] | 0 | 2 | -| object System.ValueTuple`5.Item | [NullableAttribute(...)] | 0 | 2 | -| object System.ValueTuple`6.Item | [NullableAttribute(...)] | 0 | 2 | -| object System.ValueTuple`7.Item | [NullableAttribute(...)] | 0 | 2 | -| object System.ValueTuple`8.Item | [NullableAttribute(...)] | 0 | 2 | -| object[] | [NullableAttribute(...)] | 0 | 2 | -| object[] | [NullableAttribute(...)] | 0 | [1,2] | -| object[] | [NullableAttribute(...)] | 0 | [2,1] | -| object[] System.Collections.ArrayList.ArrayListDebugView.Items | [DebuggerBrowsableAttribute(...)] | 0 | 3 | -| object[] System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.Arguments | [NullableAttribute(...)] | 0 | [1,2] | -| out !0 | [MaybeNullWhenAttribute(...)] | 0 | False | -| out !0 | [NotNullWhenAttribute(...)] | 0 | True | -| out !0 | [NullableAttribute(...)] | 0 | 1 | -| out !1 | [MaybeNullWhenAttribute(...)] | 0 | False | -| out !1 | [NotNullWhenAttribute(...)] | 0 | True | -| out Microsoft.Win32.SafeHandles.SafeFileHandle | [NotNullWhenAttribute(...)] | 0 | True | -| out System.ArraySegment<!0> | [NullableAttribute(...)] | 0 | [0,1] | -| out System.Exception | [NotNullWhenAttribute(...)] | 0 | True | -| out System.Globalization.CompareInfo | [NotNullWhenAttribute(...)] | 0 | True | -| out System.Runtime.InteropServices.ComTypes.IMoniker | [NullableAttribute(...)] | 0 | 2 | -| out System.RuntimeType | [NotNullWhenAttribute(...)] | 0 | True | -| out System.Threading.EventWaitHandle | [NotNullWhenAttribute(...)] | 0 | True | -| out System.Threading.EventWaitHandle | [NullableAttribute(...)] | 0 | 2 | -| out System.Threading.Mutex | [NotNullWhenAttribute(...)] | 0 | True | -| out System.Threading.Mutex | [NullableAttribute(...)] | 0 | 2 | -| out System.Threading.Semaphore | [NotNullWhenAttribute(...)] | 0 | True | -| out System.Threading.Semaphore | [NullableAttribute(...)] | 0 | 2 | -| out System.TimeZoneInfo | [NotNullWhenAttribute(...)] | 0 | True | -| out System.TimeZoneInfo | [NullableAttribute(...)] | 0 | 2 | -| out System.Version | [NotNullWhenAttribute(...)] | 0 | True | -| out System.Version | [NullableAttribute(...)] | 0 | 2 | -| out byte[] | [NotNullWhenAttribute(...)] | 0 | True | -| out long | [NotNullWhenAttribute(...)] | 0 | True | -| out object | [MaybeNullWhenAttribute(...)] | 0 | False | -| out object | [NotNullWhenAttribute(...)] | 0 | True | -| out object | [NullableAttribute(...)] | 0 | 2 | -| out object[] | [NullableAttribute(...)] | 0 | [1,2] | -| out string | [MaybeNullWhenAttribute(...)] | 0 | False | -| out string | [NotNullWhenAttribute(...)] | 0 | True | -| out string | [NullableAttribute(...)] | 0 | 2 | -| sbyte | [CLSCompliantAttribute(...)] | 0 | False | -| sbyte | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| short | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| string | [CallerArgumentExpressionAttribute(...)] | 0 | argument | -| string | [CallerArgumentExpressionAttribute(...)] | 0 | time | -| string | [CallerArgumentExpressionAttribute(...)] | 0 | value | -| string | [DefaultMemberAttribute(...)] | 0 | Chars | -| string | [DynamicallyAccessedMembersAttribute(...)] | 0 | -1 | -| string | [NotNullWhenAttribute(...)] | 0 | False | -| string | [NotNullWhenAttribute(...)] | 0 | True | -| string | [NullableAttribute(...)] | 0 | 0 | -| string | [NullableAttribute(...)] | 0 | 1 | -| string | [NullableAttribute(...)] | 0 | 2 | -| string | [NullableContextAttribute(...)] | 0 | 1 | -| string | [StringSyntaxAttribute(...)] | 0 | CompositeFormat | -| string | [StringSyntaxAttribute(...)] | 0 | DateOnlyFormat | -| string | [StringSyntaxAttribute(...)] | 0 | DateTimeFormat | -| string | [StringSyntaxAttribute(...)] | 0 | EnumFormat | -| string | [StringSyntaxAttribute(...)] | 0 | GuidFormat | -| string | [StringSyntaxAttribute(...)] | 0 | NumericFormat | -| string | [StringSyntaxAttribute(...)] | 0 | TimeOnlyFormat | -| string | [StringSyntaxAttribute(...)] | 0 | TimeSpanFormat | -| string | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| string System.AppContext.TargetFrameworkName | [NullableAttribute(...)] | 0 | 2 | -| string System.AppDomain.DynamicDirectory | [NullableAttribute(...)] | 0 | 2 | -| string System.AppDomain.RelativeSearchPath | [NullableAttribute(...)] | 0 | 2 | -| string System.ApplicationId.Culture | [NullableAttribute(...)] | 0 | 2 | -| string System.ApplicationId.ProcessorArchitecture | [NullableAttribute(...)] | 0 | 2 | -| string System.ArgumentException.Message | [NullableAttribute(...)] | 0 | 1 | -| string System.BadImageFormatException.Message | [NullableAttribute(...)] | 0 | 1 | -| string System.Buffers.SearchValues`1.DebuggerDisplay | [NullableAttribute(...)] | 0 | 1 | -| string System.Diagnostics.CodeAnalysis.ExperimentalAttribute.UrlFormat | [NullableAttribute(...)] | 0 | 2 | -| string System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.Url | [NullableAttribute(...)] | 0 | 2 | -| string System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute.Url | [NullableAttribute(...)] | 0 | 2 | -| string System.Diagnostics.CodeAnalysis.SuppressMessageAttribute.Category | [NullableAttribute(...)] | 0 | 1 | -| string System.Diagnostics.CodeAnalysis.SuppressMessageAttribute.CheckId | [NullableAttribute(...)] | 0 | 1 | -| string System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Category | [NullableAttribute(...)] | 0 | 1 | -| string System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.CheckId | [NullableAttribute(...)] | 0 | 1 | -| string System.Diagnostics.Contracts.ContractException.Failure | [NullableAttribute(...)] | 0 | 1 | -| string System.Diagnostics.Contracts.ContractOptionAttribute.Value | [NullableAttribute(...)] | 0 | 2 | -| string System.Diagnostics.DebuggerDisplayAttribute.Value | [NullableAttribute(...)] | 0 | 1 | -| string System.Diagnostics.DebuggerTypeProxyAttribute.ProxyTypeName | [DynamicallyAccessedMembersAttribute(...)] | 0 | -1 | -| string System.Diagnostics.DebuggerTypeProxyAttribute.ProxyTypeName | [NullableAttribute(...)] | 0 | 1 | -| string System.Diagnostics.DebuggerVisualizerAttribute.VisualizerObjectSourceTypeName | [DynamicallyAccessedMembersAttribute(...)] | 0 | -1 | -| string System.Diagnostics.DebuggerVisualizerAttribute.VisualizerTypeName | [DynamicallyAccessedMembersAttribute(...)] | 0 | -1 | -| string System.Diagnostics.DebuggerVisualizerAttribute.VisualizerTypeName | [NullableAttribute(...)] | 0 | 1 | -| string System.Diagnostics.Tracing.EventFieldAttribute.Name | [NullableAttribute(...)] | 0 | 2 | -| string System.Diagnostics.Tracing.EventSource.Name | [NullableAttribute(...)] | 0 | 1 | -| string System.Environment.ProcessPath | [NullableAttribute(...)] | 0 | 2 | -| string System.Exception.Message | [NullableAttribute(...)] | 0 | 1 | -| string System.FormattableString.Format | [StringSyntaxAttribute(...)] | 0 | CompositeFormat | -| string System.Globalization.CultureInfo.InteropName | [NullableAttribute(...)] | 0 | 2 | -| string System.Globalization.CultureNotFoundException.DefaultMessage | [NullableAttribute(...)] | 0 | 1 | -| string System.Globalization.CultureNotFoundException.Message | [NullableAttribute(...)] | 0 | 1 | -| string System.IO.FileInfo.DirectoryName | [NullableAttribute(...)] | 0 | 2 | -| string System.IO.FileLoadException.Message | [NullableAttribute(...)] | 0 | 1 | -| string System.IO.FileNotFoundException.Message | [NullableAttribute(...)] | 0 | 1 | -| string System.IO.FileSystemInfo.LinkTarget | [NullableAttribute(...)] | 0 | 2 | -| string System.Int128.OverflowMessage | [NullableAttribute(...)] | 0 | 1 | -| string System.MissingMemberException.Message | [NullableAttribute(...)] | 0 | 1 | -| string System.Numerics.Vector`1.DisplayString | [NullableAttribute(...)] | 0 | 1 | -| string System.Reflection.Assembly.CodeBase | [NullableAttribute(...)] | 0 | 2 | -| string System.Reflection.Assembly.CodeBase | [ObsoleteAttribute(...)] | 0 | Assembly.CodeBase and Assembly.EscapedCodeBase are only included for .NET Framework compatibility. Use Assembly.Location. | -| string System.Reflection.Assembly.CodeBase | [RequiresAssemblyFilesAttribute(...)] | 0 | This member throws an exception for assemblies embedded in a single-file app | -| string System.Reflection.Assembly.EscapedCodeBase | [ObsoleteAttribute(...)] | 0 | Assembly.CodeBase and Assembly.EscapedCodeBase are only included for .NET Framework compatibility. Use Assembly.Location. | -| string System.Reflection.Assembly.EscapedCodeBase | [RequiresAssemblyFilesAttribute(...)] | 0 | This member throws an exception for assemblies embedded in a single-file app | -| string System.Reflection.Assembly.FullName | [NullableAttribute(...)] | 0 | 2 | -| string System.Reflection.AssemblyMetadataAttribute.Value | [NullableAttribute(...)] | 0 | 2 | -| string System.Reflection.AssemblyName.CodeBase | [ObsoleteAttribute(...)] | 0 | AssemblyName.CodeBase and AssemblyName.EscapedCodeBase are obsolete. Using them for loading an assembly is not supported. | -| string System.Reflection.AssemblyName.EscapedCodeBase | [ObsoleteAttribute(...)] | 0 | AssemblyName.CodeBase and AssemblyName.EscapedCodeBase are obsolete. Using them for loading an assembly is not supported. | -| string System.Reflection.AssemblyName.EscapedCodeBase | [RequiresAssemblyFilesAttribute(...)] | 0 | The code will return an empty string for assemblies embedded in a single-file app | -| string System.Reflection.AssemblyName.FullName | [NullableAttribute(...)] | 0 | 1 | -| string System.Reflection.Emit.AssemblyBuilder.CodeBase | [NullableAttribute(...)] | 0 | 2 | -| string System.Reflection.Emit.AssemblyBuilder.CodeBase | [ObsoleteAttribute(...)] | 0 | Assembly.CodeBase and Assembly.EscapedCodeBase are only included for .NET Framework compatibility. Use Assembly.Location instead. | -| string System.Reflection.Emit.AssemblyBuilder.CodeBase | [RequiresAssemblyFilesAttribute(...)] | 0 | This member throws an exception for assemblies embedded in a single-file app | -| string System.Reflection.Emit.RuntimeModuleBuilder.FullyQualifiedName | [RequiresAssemblyFilesAttribute(...)] | 0 | Returns <Unknown> for modules with no file path | -| string System.Reflection.Emit.RuntimeModuleBuilder.Name | [RequiresAssemblyFilesAttribute(...)] | 0 | Returns <Unknown> for modules with no file path | -| string System.Reflection.Module.FullyQualifiedName | [RequiresAssemblyFilesAttribute(...)] | 0 | Returns <Unknown> for modules with no file path | -| string System.Reflection.Module.Name | [RequiresAssemblyFilesAttribute(...)] | 0 | Returns <Unknown> for modules with no file path | -| string System.Reflection.ParameterInfo.Name | [NullableAttribute(...)] | 0 | 2 | -| string System.Reflection.RuntimeAssembly.CodeBase | [ObsoleteAttribute(...)] | 0 | Assembly.CodeBase and Assembly.EscapedCodeBase are only included for .NET Framework compatibility. Use Assembly.Location. | -| string System.Reflection.RuntimeAssembly.CodeBase | [RequiresAssemblyFilesAttribute(...)] | 0 | This member throws an exception for assemblies embedded in a single-file app | -| string System.Reflection.RuntimeModule.FullyQualifiedName | [RequiresAssemblyFilesAttribute(...)] | 0 | Returns <Unknown> for modules with no file path | -| string System.Reflection.RuntimeModule.Name | [RequiresAssemblyFilesAttribute(...)] | 0 | Returns <Unknown> for modules with no file path | -| string System.Reflection.TypeDelegator.AssemblyQualifiedName | [NullableAttribute(...)] | 0 | 2 | -| string System.Reflection.TypeDelegator.FullName | [NullableAttribute(...)] | 0 | 2 | -| string System.Reflection.TypeDelegator.Namespace | [NullableAttribute(...)] | 0 | 2 | -| string System.Runtime.CompilerServices.SwitchExpressionException.Message | [NullableAttribute(...)] | 0 | 1 | -| string System.Runtime.InteropServices.LibraryImportAttribute.LibraryName | [NullableAttribute(...)] | 0 | 1 | -| string System.Runtime.Loader.AssemblyLoadContext.Name | [NullableAttribute(...)] | 0 | 2 | -| string System.Runtime.Versioning.TargetFrameworkAttribute.FrameworkDisplayName | [NullableAttribute(...)] | 0 | 2 | -| string System.Runtime.Versioning.UnsupportedOSPlatformAttribute.Message | [NullableAttribute(...)] | 0 | 2 | -| string System.Security.SecurityElement.Tag | [NullableAttribute(...)] | 0 | 1 | -| string System.Text.Rune.DebuggerDisplay | [NullableAttribute(...)] | 0 | 1 | -| string System.Threading.Thread.Name | [NullableAttribute(...)] | 0 | 2 | -| string System.Type.AssemblyQualifiedName | [NullableAttribute(...)] | 0 | 2 | -| string System.Type.FullName | [NullableAttribute(...)] | 0 | 2 | -| string System.Type.Namespace | [NullableAttribute(...)] | 0 | 2 | -| string System.UInt128.OverflowMessage | [NullableAttribute(...)] | 0 | 1 | -| string byte.OverflowMessage | [NullableAttribute(...)] | 0 | 1 | -| string char.OverflowMessage | [NullableAttribute(...)] | 0 | 1 | -| string int.OverflowMessage | [NullableAttribute(...)] | 0 | 1 | -| string long.OverflowMessage | [NullableAttribute(...)] | 0 | 1 | -| string sbyte.OverflowMessage | [NullableAttribute(...)] | 0 | 1 | -| string short.OverflowMessage | [NullableAttribute(...)] | 0 | 1 | -| string uint.OverflowMessage | [NullableAttribute(...)] | 0 | 1 | -| string ulong.OverflowMessage | [NullableAttribute(...)] | 0 | 1 | -| string ushort.OverflowMessage | [NullableAttribute(...)] | 0 | 1 | -| string[] | [NotNullWhenAttribute(...)] | 0 | True | -| string[] | [NullableAttribute(...)] | 0 | 1 | -| string[] | [NullableAttribute(...)] | 0 | 2 | -| string[] | [NullableAttribute(...)] | 0 | [1,2] | -| string[] | [NullableAttribute(...)] | 0 | [2,1] | -| string[] | [StringSyntaxAttribute(...)] | 0 | DateOnlyFormat | -| string[] | [StringSyntaxAttribute(...)] | 0 | DateTimeFormat | -| string[] | [StringSyntaxAttribute(...)] | 0 | TimeOnlyFormat | -| string[] | [StringSyntaxAttribute(...)] | 0 | TimeSpanFormat | -| uint | [CLSCompliantAttribute(...)] | 0 | False | -| uint | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| uint System.Reflection.AssemblyAlgorithmIdAttribute.AlgorithmId | [CLSCompliantAttribute(...)] | 0 | False | -| uint System.Reflection.AssemblyFlagsAttribute.Flags | [CLSCompliantAttribute(...)] | 0 | False | -| uint System.Reflection.AssemblyFlagsAttribute.Flags | [ObsoleteAttribute(...)] | 0 | AssemblyFlagsAttribute.Flags has been deprecated. Use AssemblyFlags instead. | -| ulong | [CLSCompliantAttribute(...)] | 0 | False | -| ulong | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| ulong System.Runtime.InteropServices.SafeBuffer.ByteLength | [CLSCompliantAttribute(...)] | 0 | False | -| ushort | [CLSCompliantAttribute(...)] | 0 | False | -| ushort | [TypeForwardedFromAttribute(...)] | 0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | -| void* | [NullableAttribute(...)] | 0 | 0 | -| void* System.Buffers.MemoryHandle.Pointer | [CLSCompliantAttribute(...)] | 0 | False | diff --git a/csharp/ql/test/library-tests/cil/attributes/attribute.ql b/csharp/ql/test/library-tests/cil/attributes/attribute.ql deleted file mode 100644 index 76489b3c989..00000000000 --- a/csharp/ql/test/library-tests/cil/attributes/attribute.ql +++ /dev/null @@ -1,47 +0,0 @@ -import semmle.code.cil.Attribute -import semmle.code.cil.Declaration - -deprecated private predicate isOsSpecific(Declaration d) { - d.getFullyQualifiedName() - .matches("%" + - [ - "libobjc", "libproc", "libc", "Interop.OSReleaseFile", "Interop.Sys", - "System.Runtime.InteropServices.ObjectiveC.ObjectiveCMarshal", - "System.Diagnostics.Tracing.XplatEventLogger", "System.Threading.AutoreleasePool", - "System.CLRConfig", "System.Diagnostics.Tracing.EventSource.<WriteEventString>", - "System.IO.FileSystem.<TryCloneFile>" - ] + "%") -} - -deprecated query predicate attrNoArg(string dec, string attr) { - exists(Declaration d, Attribute a | - not isOsSpecific(d) and - a.getDeclaration() = d and - not exists(a.getAnArgument()) - | - dec = d.toStringWithTypes() and - attr = a.toStringWithTypes() - ) -} - -deprecated query predicate attrArgNamed(string dec, string attr, string name, string value) { - exists(Declaration d, Attribute a | - a.getDeclaration() = d and - not isOsSpecific(d) and - a.getNamedArgument(name) = value - | - dec = d.toStringWithTypes() and - attr = a.toStringWithTypes() - ) -} - -deprecated query predicate attrArgPositional(string dec, string attr, int index, string value) { - exists(Declaration d, Attribute a | - a.getDeclaration() = d and - not isOsSpecific(d) and - a.getArgument(index) = value - | - dec = d.toStringWithTypes() and - attr = a.toStringWithTypes() - ) -} diff --git a/csharp/ql/test/library-tests/cil/attributes/options b/csharp/ql/test/library-tests/cil/attributes/options deleted file mode 100644 index 8511aa162b8..00000000000 --- a/csharp/ql/test/library-tests/cil/attributes/options +++ /dev/null @@ -1 +0,0 @@ -semmle-extractor-options: --cil diff --git a/csharp/ql/test/library-tests/cil/consistency/Handles.expected b/csharp/ql/test/library-tests/cil/consistency/Handles.expected deleted file mode 100644 index d48a89c24a3..00000000000 --- a/csharp/ql/test/library-tests/cil/consistency/Handles.expected +++ /dev/null @@ -1,14 +0,0 @@ -tooManyHandles -tooManyMatchingHandles -missingCil -csharpLocationViolation -matchingObjectMethods -| Equals(object) | System.Boolean System.Object.Equals(System.Object) | -| Equals(object, object) | System.Boolean System.Object.Equals(System.Object,System.Object) | -| GetHashCode() | System.Int32 System.Object.GetHashCode() | -| GetType() | System.Type System.Object.GetType() | -| MemberwiseClone() | System.Object System.Object.MemberwiseClone() | -| Object() | System.Void System.Object..ctor() | -| ReferenceEquals(object, object) | System.Boolean System.Object.ReferenceEquals(System.Object,System.Object) | -| ToString() | System.String System.Object.ToString() | -| ~Object() | System.Void System.Object.Finalize() | diff --git a/csharp/ql/test/library-tests/cil/consistency/Handles.ql b/csharp/ql/test/library-tests/cil/consistency/Handles.ql deleted file mode 100644 index 73c17c713d7..00000000000 --- a/csharp/ql/test/library-tests/cil/consistency/Handles.ql +++ /dev/null @@ -1,68 +0,0 @@ -import csharp -import cil -import dotnet -import semmle.code.csharp.commons.QualifiedName - -deprecated class MetadataEntity extends DotNet::NamedElement, @metadata_entity { - int getHandle() { metadata_handle(this, _, result) } - - predicate hasHandle() { exists(this.getHandle()) } - - Assembly getAssembly() { metadata_handle(this, result, _) } -} - -deprecated query predicate tooManyHandles(string s) { - exists(MetadataEntity e, Assembly a, string qualifier, string name | - strictcount(int handle | metadata_handle(e, a, handle)) > 1 and - e.hasFullyQualifiedName(qualifier, name) and - s = getQualifiedName(qualifier, name) - ) -} - -deprecated private class UniqueMetadataEntity extends MetadataEntity { - UniqueMetadataEntity() { - // Tuple types such as `(,)` and `ValueTuple`2` share the same handle - not this instanceof TupleType and - not exists(string name | - this.hasFullyQualifiedName("System", name) and - name.matches("System.ValueTuple%") - ) - } -} - -deprecated query predicate tooManyMatchingHandles(string s) { - exists(UniqueMetadataEntity e, Assembly a, int handle, string qualifier, string name | - metadata_handle(e, a, handle) and - strictcount(UniqueMetadataEntity e2 | metadata_handle(e2, a, handle)) > 2 and - e.hasFullyQualifiedName(qualifier, name) and - s = getQualifiedName(qualifier, name) - ) -} - -deprecated query predicate missingCil(Element e) { - ( - e instanceof Callable - or - e instanceof Type - or - e instanceof Field - ) and - e.fromLibrary() and - e.(MetadataEntity).hasHandle() and - not exists(CIL::Element ce | ce.(MetadataEntity).matchesHandle(e)) -} - -deprecated query predicate csharpLocationViolation(Element e) { - e.fromLibrary() and - e.(MetadataEntity).hasHandle() and - not e.getALocation() = e.(MetadataEntity).getAssembly() -} - -deprecated query predicate matchingObjectMethods(string s1, string s2) { - exists(Callable m1, CIL::Method m2 | - m1.getDeclaringType().hasFullyQualifiedName("System", "Object") and - m1.(DotNet::Callable).matchesHandle(m2) and - s1 = m1.toStringWithTypes() and - s2 = m2.toStringWithTypes() - ) -} diff --git a/csharp/ql/test/library-tests/cil/consistency/Program.cs b/csharp/ql/test/library-tests/cil/consistency/Program.cs deleted file mode 100644 index e867fdc0718..00000000000 --- a/csharp/ql/test/library-tests/cil/consistency/Program.cs +++ /dev/null @@ -1,8 +0,0 @@ -using System; - -class Test -{ - static void Main(string[] args) - { - } -} diff --git a/csharp/ql/test/library-tests/cil/consistency/consistency.expected b/csharp/ql/test/library-tests/cil/consistency/consistency.expected deleted file mode 100644 index 8932c2ec713..00000000000 --- a/csharp/ql/test/library-tests/cil/consistency/consistency.expected +++ /dev/null @@ -1,17 +0,0 @@ -| Finalize | Overridden method from System.Object is not in a base type | -| System.Int32 System.Math.Sign(System.IntPtr): neg, ldarg.0 [push: 1, pop: 0]; ldc.i4.s [push: 1, pop: 0]; ldc.i4 [push: 1, pop: 0]; ldc.i4.8 [push: 1, pop: 0]; mul [push: 1, pop: 2]; ldc.i4.1 [push: 1, pop: 0]; sub [push: 1, pop: 2]; and [push: 1, pop: 2]; shr [push: 1, pop: 2]; conv.i8 [push: 1, pop: 1]; ldarg.0 [push: 1, pop: 0]; neg [push: 1, pop: 1] | Expression is missing getType() | -| System.Int32 System.Runtime.InteropServices.Marshal.AddRef(System.IntPtr): calli, ldarg.0 [push: 1, pop: 0]; ldstr [push: 1, pop: 0]; call [push: 0, pop: 2]; ldarg.0 [push: 1, pop: 0]; ldind.i [push: 1, pop: 1]; sizeof [push: 1, pop: 0]; add [push: 1, pop: 2]; ldind.i [push: 1, pop: 1]; stloc.0 [push: 0, pop: 1]; ldarg.0 [push: 1, pop: 0]; ldloc.0 [push: 1, pop: 0]; calli [push: 1, pop: 2] | Expression is missing getType() | -| System.Int32 System.Runtime.InteropServices.Marshal.QueryInterface(System.IntPtr,System.Guid,System.IntPtr): calli, ldarg.0 [push: 1, pop: 0]; ldstr [push: 1, pop: 0]; call [push: 0, pop: 2]; ldarg.1 [push: 1, pop: 0]; stloc.1 [push: 0, pop: 1]; ldloc.1 [push: 1, pop: 0]; conv.u [push: 1, pop: 1]; stloc.0 [push: 0, pop: 1]; ldarg.2 [push: 1, pop: 0]; stloc.3 [push: 0, pop: 1]; ldloc.3 [push: 1, pop: 0]; conv.u [push: 1, pop: 1]; stloc.2 [push: 0, pop: 1]; ldarg.0 [push: 1, pop: 0]; ldind.i [push: 1, pop: 1]; ldind.i [push: 1, pop: 1]; stloc.s [push: 0, pop: 1]; ldarg.0 [push: 1, pop: 0]; ldloc.0 [push: 1, pop: 0]; ldloc.2 [push: 1, pop: 0]; ldloc.s [push: 1, pop: 0]; calli [push: 1, pop: 4] | Expression is missing getType() | -| System.Int32 System.Runtime.InteropServices.Marshal.Release(System.IntPtr): calli, ldarg.0 [push: 1, pop: 0]; ldstr [push: 1, pop: 0]; call [push: 0, pop: 2]; ldarg.0 [push: 1, pop: 0]; ldind.i [push: 1, pop: 1]; ldc.i4.2 [push: 1, pop: 0]; conv.i [push: 1, pop: 1]; sizeof [push: 1, pop: 0]; mul [push: 1, pop: 2]; add [push: 1, pop: 2]; ldind.i [push: 1, pop: 1]; stloc.0 [push: 0, pop: 1]; ldarg.0 [push: 1, pop: 0]; ldloc.0 [push: 1, pop: 0]; calli [push: 1, pop: 2] | Expression is missing getType() | -| System.Int32 System.Text.UnicodeEncoding.GetByteCount(System.Char*,System.Int32,System.Text.EncoderNLS): dup, ldarg.2 [push: 1, pop: 0]; ldc.i4.1 [push: 1, pop: 0]; shl [push: 1, pop: 2]; stloc.0 [push: 0, pop: 1]; ldloc.0 [push: 1, pop: 0]; ldc.i4.0 [push: 1, pop: 0]; bge.s [push: 0, pop: 2]; ldstr [push: 1, pop: 0]; call [push: 1, pop: 0]; newobj [push: 1, pop: 2]; throw [push: 0, pop: 1]; ldarg.1 [push: 1, pop: 0]; stloc.1 [push: 0, pop: 1]; ldarg.1 [push: 1, pop: 0]; ldarg.2 [push: 1, pop: 0]; conv.i [push: 1, pop: 1]; ldc.i4.2 [push: 1, pop: 0]; mul [push: 1, pop: 2]; add [push: 1, pop: 2]; stloc.2 [push: 0, pop: 1]; ldc.i4.0 [push: 1, pop: 0]; stloc.3 [push: 0, pop: 1]; ldc.i4.0 [push: 1, pop: 0]; stloc.s [push: 0, pop: 1]; ldnull [push: 1, pop: 0]; stloc.s [push: 0, pop: 1]; ldarg.3 [push: 1, pop: 0]; brfalse [push: 0, pop: 1]; ldarg.3 [push: 1, pop: 0]; ldfld [push: 1, pop: 1]; stloc.3 [push: 0, pop: 1]; ldloc.3 [push: 1, pop: 0]; ldc.i4.0 [push: 1, pop: 0]; ble.s [push: 0, pop: 2]; ldloc.0 [push: 1, pop: 0]; ldc.i4.2 [push: 1, pop: 0]; add [push: 1, pop: 2]; stloc.0 [push: 0, pop: 1]; ldarg.3 [push: 1, pop: 0]; callvirt [push: 1, pop: 1]; brfalse [push: 0, pop: 1]; ldarg.3 [push: 1, pop: 0]; callvirt [push: 1, pop: 1]; stloc.s [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; callvirt [push: 1, pop: 1]; ldc.i4.0 [push: 1, pop: 0]; ble.s [push: 0, pop: 2]; call [push: 1, pop: 0]; ldarg.0 [push: 1, pop: 0]; callvirt [push: 1, pop: 1]; ldarg.3 [push: 1, pop: 0]; callvirt [push: 1, pop: 1]; dup [push: 2, pop: 1]; brtrue.s [push: 0, pop: 1]; pop [push: 0, pop: 1]; ldnull [push: 1, pop: 0]; br.s [push: 0, pop: 0]; call [push: 1, pop: 1]; call [push: 1, pop: 3]; newobj [push: 1, pop: 1]; throw [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; ldloc.1 [push: 1, pop: 0]; ldloc.2 [push: 1, pop: 0]; ldarg.3 [push: 1, pop: 0]; ldc.i4.0 [push: 1, pop: 0]; callvirt [push: 0, pop: 5]; br [push: 0, pop: 0]; ldloc.s [push: 1, pop: 0]; brtrue [push: 0, pop: 1]; ldarg.0 [push: 1, pop: 0]; ldfld [push: 1, pop: 1]; ldsfld [push: 1, pop: 0]; xor [push: 1, pop: 2]; brfalse [push: 0, pop: 1]; ldarg.1 [push: 1, pop: 0]; conv.u8 [push: 1, pop: 1]; ldc.i4.7 [push: 1, pop: 0]; conv.i8 [push: 1, pop: 1]; and [push: 1, pop: 2]; brtrue [push: 0, pop: 1]; ldloc.3 [push: 1, pop: 0]; brtrue [push: 0, pop: 1]; ldloc.2 [push: 1, pop: 0]; ldc.i4.3 [push: 1, pop: 0]; conv.i [push: 1, pop: 1]; ldc.i4.2 [push: 1, pop: 0]; mul [push: 1, pop: 2]; sub [push: 1, pop: 2]; stloc.s [push: 0, pop: 1]; ldarg.1 [push: 1, pop: 0]; stloc.s [push: 0, pop: 1]; br [push: 0, pop: 0]; ldc.i8 [push: 1, pop: 0]; ldloc.s [push: 1, pop: 0]; ldind.i8 [push: 1, pop: 1]; and [push: 1, pop: 2]; brfalse.s [push: 0, pop: 1]; ldc.i8 [push: 1, pop: 0]; ldloc.s [push: 1, pop: 0]; ldind.i8 [push: 1, pop: 1]; and [push: 1, pop: 2]; ldc.i8 [push: 1, pop: 0]; xor [push: 1, pop: 2]; stloc.s [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; ldc.i8 [push: 1, pop: 0]; and [push: 1, pop: 2]; brfalse.s [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; ldc.i8 [push: 1, pop: 0]; and [push: 1, pop: 2]; brfalse.s [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; ldc.i4 [push: 1, pop: 0]; conv.u8 [push: 1, pop: 1]; and [push: 1, pop: 2]; brfalse.s [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; ldc.i4 [push: 1, pop: 0]; conv.i8 [push: 1, pop: 1]; and [push: 1, pop: 2]; brtrue.s [push: 0, pop: 1]; ldc.i8 [push: 1, pop: 0]; ldloc.s [push: 1, pop: 0]; ldind.i8 [push: 1, pop: 1]; and [push: 1, pop: 2]; ldsfld [push: 1, pop: 0]; brtrue.s [push: 0, pop: 1]; ldc.i8 [push: 1, pop: 0]; bne.un.s [push: 0, pop: 2]; ldloc.s [push: 1, pop: 0]; ldc.i4.8 [push: 1, pop: 0]; add [push: 1, pop: 2]; stloc.s [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; ldloc.s [push: 1, pop: 0]; blt.un [push: 0, pop: 2]; ldloc.s [push: 1, pop: 0]; starg.s [push: 0, pop: 1]; ldarg.1 [push: 1, pop: 0]; ldloc.2 [push: 1, pop: 0]; bge.un [push: 0, pop: 2]; ldarg.1 [push: 1, pop: 0]; ldind.u2 [push: 1, pop: 1]; stloc.s [push: 0, pop: 1]; ldarg.1 [push: 1, pop: 0]; ldc.i4.2 [push: 1, pop: 0]; add [push: 1, pop: 2]; starg.s [push: 0, pop: 1]; br.s [push: 0, pop: 0]; ldloc.0 [push: 1, pop: 0]; ldc.i4.2 [push: 1, pop: 0]; add [push: 1, pop: 2]; stloc.0 [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; ldc.i4 [push: 1, pop: 0]; blt [push: 0, pop: 2]; ldloc.s [push: 1, pop: 0]; ldc.i4 [push: 1, pop: 0]; bgt [push: 0, pop: 2]; ldloc.s [push: 1, pop: 0]; ldc.i4 [push: 1, pop: 0]; bgt.s [push: 0, pop: 2]; ldloc.3 [push: 1, pop: 0]; ldc.i4.0 [push: 1, pop: 0]; ble.s [push: 0, pop: 2]; ldarg.1 [push: 1, pop: 0]; ldc.i4.2 [push: 1, pop: 0]; sub [push: 1, pop: 2]; starg.s [push: 0, pop: 1]; ldloc.0 [push: 1, pop: 0]; ldc.i4.2 [push: 1, pop: 0]; sub [push: 1, pop: 2]; stloc.0 [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; brtrue.s [push: 0, pop: 1]; ldarg.3 [push: 1, pop: 0]; brfalse.s [push: 0, pop: 1]; ldarg.3 [push: 1, pop: 0]; callvirt [push: 1, pop: 1]; br.s [push: 0, pop: 0]; ldarg.0 [push: 1, pop: 0]; ldfld [push: 1, pop: 1]; callvirt [push: 1, pop: 1]; stloc.s [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; ldloc.1 [push: 1, pop: 0]; ldloc.2 [push: 1, pop: 0]; ldarg.3 [push: 1, pop: 0]; ldc.i4.0 [push: 1, pop: 0]; callvirt [push: 0, pop: 5]; ldarg.1 [push: 1, pop: 0]; stloc.s [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; ldloc.3 [push: 1, pop: 0]; ldloca.s [push: 1, pop: 0]; callvirt [push: 1, pop: 3]; pop [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; starg.s [push: 0, pop: 1]; ldc.i4.0 [push: 1, pop: 0]; stloc.3 [push: 0, pop: 1]; br [push: 0, pop: 0]; ldloc.s [push: 1, pop: 0]; stloc.3 [push: 0, pop: 1]; br [push: 0, pop: 0]; ldloc.3 [push: 1, pop: 0]; brtrue.s [push: 0, pop: 1]; ldloc.0 [push: 1, pop: 0]; ldc.i4.2 [push: 1, pop: 0]; sub [push: 1, pop: 2]; stloc.0 [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; brtrue.s [push: 0, pop: 1]; ldarg.3 [push: 1, pop: 0]; brfalse.s [push: 0, pop: 1]; ldarg.3 [push: 1, pop: 0]; callvirt [push: 1, pop: 1]; br.s [push: 0, pop: 0]; ldarg.0 [push: 1, pop: 0]; ldfld [push: 1, pop: 1]; callvirt [push: 1, pop: 1]; stloc.s [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; ldloc.1 [push: 1, pop: 0]; ldloc.2 [push: 1, pop: 0]; ldarg.3 [push: 1, pop: 0]; ldc.i4.0 [push: 1, pop: 0]; callvirt [push: 0, pop: 5]; ldarg.1 [push: 1, pop: 0]; stloc.s [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; ldloc.s [push: 1, pop: 0]; ldloca.s [push: 1, pop: 0]; callvirt [push: 1, pop: 3]; pop [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; starg.s [push: 0, pop: 1]; br.s [push: 0, pop: 0]; ldc.i4.0 [push: 1, pop: 0]; stloc.3 [push: 0, pop: 1]; br.s [push: 0, pop: 0]; ldloc.3 [push: 1, pop: 0]; ldc.i4.0 [push: 1, pop: 0]; ble.s [push: 0, pop: 2]; ldarg.1 [push: 1, pop: 0]; ldc.i4.2 [push: 1, pop: 0]; sub [push: 1, pop: 2]; starg.s [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; brtrue.s [push: 0, pop: 1]; ldarg.3 [push: 1, pop: 0]; brfalse.s [push: 0, pop: 1]; ldarg.3 [push: 1, pop: 0]; callvirt [push: 1, pop: 1]; br.s [push: 0, pop: 0]; ldarg.0 [push: 1, pop: 0]; ldfld [push: 1, pop: 1]; callvirt [push: 1, pop: 1]; stloc.s [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; ldloc.1 [push: 1, pop: 0]; ldloc.2 [push: 1, pop: 0]; ldarg.3 [push: 1, pop: 0]; ldc.i4.0 [push: 1, pop: 0]; callvirt [push: 0, pop: 5]; ldarg.1 [push: 1, pop: 0]; stloc.s [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; ldloc.3 [push: 1, pop: 0]; ldloca.s [push: 1, pop: 0]; callvirt [push: 1, pop: 3]; pop [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; starg.s [push: 0, pop: 1]; ldloc.0 [push: 1, pop: 0]; ldc.i4.2 [push: 1, pop: 0]; sub [push: 1, pop: 2]; stloc.0 [push: 0, pop: 1]; ldc.i4.0 [push: 1, pop: 0]; stloc.3 [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; brfalse.s [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; callvirt [push: 1, pop: 1]; br.s [push: 0, pop: 0]; ldc.i4.0 [push: 1, pop: 0]; dup [push: 2, pop: 1] | Expression is missing getType() | -| System.Int32 System.Text.UnicodeEncoding.GetBytes(System.Char*,System.Int32,System.Byte*,System.Int32,System.Text.EncoderNLS): dup, ldc.i4.0 [push: 1, pop: 0]; stloc.0 [push: 0, pop: 1]; ldc.i4.0 [push: 1, pop: 0]; stloc.2 [push: 0, pop: 1]; ldarg.3 [push: 1, pop: 0]; ldarg.s [push: 1, pop: 0]; add [push: 1, pop: 2]; stloc.3 [push: 0, pop: 1]; ldarg.1 [push: 1, pop: 0]; ldarg.2 [push: 1, pop: 0]; conv.i [push: 1, pop: 1]; ldc.i4.2 [push: 1, pop: 0]; mul [push: 1, pop: 2]; add [push: 1, pop: 2]; stloc.s [push: 0, pop: 1]; ldarg.3 [push: 1, pop: 0]; stloc.s [push: 0, pop: 1]; ldarg.1 [push: 1, pop: 0]; stloc.s [push: 0, pop: 1]; ldnull [push: 1, pop: 0]; stloc.s [push: 0, pop: 1]; ldarg.s [push: 1, pop: 0]; brfalse [push: 0, pop: 1]; ldarg.s [push: 1, pop: 0]; ldfld [push: 1, pop: 1]; stloc.0 [push: 0, pop: 1]; ldarg.s [push: 1, pop: 0]; callvirt [push: 1, pop: 1]; brfalse [push: 0, pop: 1]; ldarg.s [push: 1, pop: 0]; callvirt [push: 1, pop: 1]; stloc.s [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; callvirt [push: 1, pop: 1]; ldc.i4.0 [push: 1, pop: 0]; ble.s [push: 0, pop: 2]; ldarg.s [push: 1, pop: 0]; ldfld [push: 1, pop: 1]; brfalse.s [push: 0, pop: 1]; call [push: 1, pop: 0]; ldarg.0 [push: 1, pop: 0]; callvirt [push: 1, pop: 1]; ldarg.s [push: 1, pop: 0]; callvirt [push: 1, pop: 1]; dup [push: 2, pop: 1]; brtrue.s [push: 0, pop: 1]; pop [push: 0, pop: 1]; ldnull [push: 1, pop: 0]; br.s [push: 0, pop: 0]; call [push: 1, pop: 1]; call [push: 1, pop: 3]; newobj [push: 1, pop: 1]; throw [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; ldloc.s [push: 1, pop: 0]; ldloc.s [push: 1, pop: 0]; ldarg.s [push: 1, pop: 0]; ldc.i4.0 [push: 1, pop: 0]; callvirt [push: 0, pop: 5]; br [push: 0, pop: 0]; ldloc.1 [push: 1, pop: 0]; brtrue [push: 0, pop: 1]; ldarg.0 [push: 1, pop: 0]; ldfld [push: 1, pop: 1]; ldsfld [push: 1, pop: 0]; xor [push: 1, pop: 2]; brfalse [push: 0, pop: 1]; ldarg.1 [push: 1, pop: 0]; conv.u8 [push: 1, pop: 1]; ldc.i4.7 [push: 1, pop: 0]; conv.i8 [push: 1, pop: 1]; and [push: 1, pop: 2]; brtrue [push: 0, pop: 1]; ldloc.0 [push: 1, pop: 0]; brtrue [push: 0, pop: 1]; ldarg.1 [push: 1, pop: 0]; ldc.i4.3 [push: 1, pop: 0]; conv.i [push: 1, pop: 1]; ldc.i4.2 [push: 1, pop: 0]; mul [push: 1, pop: 2]; sub [push: 1, pop: 2]; ldloc.3 [push: 1, pop: 0]; ldarg.3 [push: 1, pop: 0]; sub [push: 1, pop: 2]; ldc.i4.1 [push: 1, pop: 0]; div [push: 1, pop: 2]; conv.i8 [push: 1, pop: 1]; ldc.i4.1 [push: 1, pop: 0]; shr [push: 1, pop: 2]; ldloc.s [push: 1, pop: 0]; ldarg.1 [push: 1, pop: 0]; sub [push: 1, pop: 2]; ldc.i4.2 [push: 1, pop: 0]; div [push: 1, pop: 2]; conv.i8 [push: 1, pop: 1]; blt.s [push: 0, pop: 2]; ldloc.s [push: 1, pop: 0]; ldarg.1 [push: 1, pop: 0]; sub [push: 1, pop: 2]; ldc.i4.2 [push: 1, pop: 0]; div [push: 1, pop: 2]; conv.i8 [push: 1, pop: 1]; br.s [push: 0, pop: 0]; ldloc.3 [push: 1, pop: 0]; ldarg.3 [push: 1, pop: 0]; sub [push: 1, pop: 2]; ldc.i4.1 [push: 1, pop: 0]; div [push: 1, pop: 2]; conv.i8 [push: 1, pop: 1]; ldc.i4.1 [push: 1, pop: 0]; shr [push: 1, pop: 2]; ldc.i4.2 [push: 1, pop: 0]; conv.i8 [push: 1, pop: 1]; mul [push: 1, pop: 2]; conv.i [push: 1, pop: 1]; add [push: 1, pop: 2]; stloc.s [push: 0, pop: 1]; ldarg.1 [push: 1, pop: 0]; stloc.s [push: 0, pop: 1]; ldarg.3 [push: 1, pop: 0]; stloc.s [push: 0, pop: 1]; br [push: 0, pop: 0]; ldc.i8 [push: 1, pop: 0]; ldloc.s [push: 1, pop: 0]; ldind.i8 [push: 1, pop: 1]; and [push: 1, pop: 2]; brfalse.s [push: 0, pop: 1]; ldc.i8 [push: 1, pop: 0]; ldloc.s [push: 1, pop: 0]; ldind.i8 [push: 1, pop: 1]; and [push: 1, pop: 2]; ldc.i8 [push: 1, pop: 0]; xor [push: 1, pop: 2]; stloc.s [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; ldc.i8 [push: 1, pop: 0]; and [push: 1, pop: 2]; brfalse.s [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; ldc.i8 [push: 1, pop: 0]; and [push: 1, pop: 2]; brfalse.s [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; ldc.i4 [push: 1, pop: 0]; conv.u8 [push: 1, pop: 1]; and [push: 1, pop: 2]; brfalse.s [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; ldc.i4 [push: 1, pop: 0]; conv.i8 [push: 1, pop: 1]; and [push: 1, pop: 2]; brtrue.s [push: 0, pop: 1]; ldc.i8 [push: 1, pop: 0]; ldloc.s [push: 1, pop: 0]; ldind.i8 [push: 1, pop: 1]; and [push: 1, pop: 2]; ldsfld [push: 1, pop: 0]; brtrue.s [push: 0, pop: 1]; ldc.i8 [push: 1, pop: 0]; bne.un.s [push: 0, pop: 2]; ldloc.s [push: 1, pop: 0]; ldloc.s [push: 1, pop: 0]; ldind.i8 [push: 1, pop: 1]; call [push: 0, pop: 2]; ldloc.s [push: 1, pop: 0]; ldc.i4.8 [push: 1, pop: 0]; add [push: 1, pop: 2]; stloc.s [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; ldc.i4.8 [push: 1, pop: 0]; add [push: 1, pop: 2]; stloc.s [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; ldloc.s [push: 1, pop: 0]; blt.un [push: 0, pop: 2]; ldloc.s [push: 1, pop: 0]; starg.s [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; starg.s [push: 0, pop: 1]; ldarg.1 [push: 1, pop: 0]; ldloc.s [push: 1, pop: 0]; bge.un [push: 0, pop: 2]; ldarg.1 [push: 1, pop: 0]; ldind.u2 [push: 1, pop: 1]; stloc.1 [push: 0, pop: 1]; ldarg.1 [push: 1, pop: 0]; ldc.i4.2 [push: 1, pop: 0]; add [push: 1, pop: 2]; starg.s [push: 0, pop: 1]; ldloc.1 [push: 1, pop: 0]; ldc.i4 [push: 1, pop: 0]; blt [push: 0, pop: 2]; ldloc.1 [push: 1, pop: 0]; ldc.i4 [push: 1, pop: 0]; bgt [push: 0, pop: 2]; ldloc.1 [push: 1, pop: 0]; ldc.i4 [push: 1, pop: 0]; bgt.s [push: 0, pop: 2]; ldloc.0 [push: 1, pop: 0]; ldc.i4.0 [push: 1, pop: 0]; ble.s [push: 0, pop: 2]; ldarg.1 [push: 1, pop: 0]; ldc.i4.2 [push: 1, pop: 0]; sub [push: 1, pop: 2]; starg.s [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; brtrue.s [push: 0, pop: 1]; ldarg.s [push: 1, pop: 0]; brfalse.s [push: 0, pop: 1]; ldarg.s [push: 1, pop: 0]; callvirt [push: 1, pop: 1]; br.s [push: 0, pop: 0]; ldarg.0 [push: 1, pop: 0]; ldfld [push: 1, pop: 1]; callvirt [push: 1, pop: 1]; stloc.s [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; ldloc.s [push: 1, pop: 0]; ldloc.s [push: 1, pop: 0]; ldarg.s [push: 1, pop: 0]; ldc.i4.1 [push: 1, pop: 0]; callvirt [push: 0, pop: 5]; ldarg.1 [push: 1, pop: 0]; stloc.s [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; ldloc.0 [push: 1, pop: 0]; ldloca.s [push: 1, pop: 0]; callvirt [push: 1, pop: 3]; pop [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; starg.s [push: 0, pop: 1]; ldc.i4.0 [push: 1, pop: 0]; stloc.0 [push: 0, pop: 1]; br [push: 0, pop: 0]; ldloc.1 [push: 1, pop: 0]; stloc.0 [push: 0, pop: 1]; br [push: 0, pop: 0]; ldloc.0 [push: 1, pop: 0]; brtrue.s [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; brtrue.s [push: 0, pop: 1]; ldarg.s [push: 1, pop: 0]; brfalse.s [push: 0, pop: 1]; ldarg.s [push: 1, pop: 0]; callvirt [push: 1, pop: 1]; br.s [push: 0, pop: 0]; ldarg.0 [push: 1, pop: 0]; ldfld [push: 1, pop: 1]; callvirt [push: 1, pop: 1]; stloc.s [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; ldloc.s [push: 1, pop: 0]; ldloc.s [push: 1, pop: 0]; ldarg.s [push: 1, pop: 0]; ldc.i4.1 [push: 1, pop: 0]; callvirt [push: 0, pop: 5]; ldarg.1 [push: 1, pop: 0]; stloc.s [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; ldloc.1 [push: 1, pop: 0]; ldloca.s [push: 1, pop: 0]; callvirt [push: 1, pop: 3]; pop [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; starg.s [push: 0, pop: 1]; br [push: 0, pop: 0]; ldarg.3 [push: 1, pop: 0]; ldc.i4.3 [push: 1, pop: 0]; add [push: 1, pop: 2]; ldloc.3 [push: 1, pop: 0]; blt.un.s [push: 0, pop: 2]; ldloc.s [push: 1, pop: 0]; brfalse.s [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; ldfld [push: 1, pop: 1]; brfalse.s [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; callvirt [push: 1, pop: 1]; pop [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; callvirt [push: 1, pop: 1]; pop [push: 0, pop: 1]; br.s [push: 0, pop: 0]; ldarg.1 [push: 1, pop: 0]; ldc.i4.2 [push: 1, pop: 0]; conv.i [push: 1, pop: 1]; ldc.i4.2 [push: 1, pop: 0]; mul [push: 1, pop: 2]; sub [push: 1, pop: 2]; starg.s [push: 0, pop: 1]; ldarg.0 [push: 1, pop: 0]; ldarg.s [push: 1, pop: 0]; ldarg.3 [push: 1, pop: 0]; ldloc.s [push: 1, pop: 0]; ceq [push: 1, pop: 2]; call [push: 0, pop: 3]; ldc.i4.0 [push: 1, pop: 0]; stloc.0 [push: 0, pop: 1]; br [push: 0, pop: 0]; ldarg.0 [push: 1, pop: 0]; ldfld [push: 1, pop: 1]; brfalse.s [push: 0, pop: 1]; ldarg.3 [push: 1, pop: 0]; dup [push: 2, pop: 1]; ldc.i4.1 [push: 1, pop: 0]; add [push: 1, pop: 2]; starg.s [push: 0, pop: 1]; ldloc.0 [push: 1, pop: 0]; ldc.i4.8 [push: 1, pop: 0]; shr [push: 1, pop: 2]; conv.u1 [push: 1, pop: 1]; stind.i1 [push: 0, pop: 2]; ldarg.3 [push: 1, pop: 0]; dup [push: 2, pop: 1]; ldc.i4.1 [push: 1, pop: 0]; add [push: 1, pop: 2]; starg.s [push: 0, pop: 1]; ldloc.0 [push: 1, pop: 0]; conv.u1 [push: 1, pop: 1]; stind.i1 [push: 0, pop: 2]; br.s [push: 0, pop: 0]; ldarg.3 [push: 1, pop: 0]; dup [push: 2, pop: 1]; ldc.i4.1 [push: 1, pop: 0]; add [push: 1, pop: 2]; starg.s [push: 0, pop: 1]; ldloc.0 [push: 1, pop: 0]; conv.u1 [push: 1, pop: 1]; stind.i1 [push: 0, pop: 2]; ldarg.3 [push: 1, pop: 0]; dup [push: 2, pop: 1]; ldc.i4.1 [push: 1, pop: 0]; add [push: 1, pop: 2]; starg.s [push: 0, pop: 1]; ldloc.0 [push: 1, pop: 0]; ldc.i4.8 [push: 1, pop: 0]; shr [push: 1, pop: 2]; conv.u1 [push: 1, pop: 1]; stind.i1 [push: 0, pop: 2]; ldc.i4.0 [push: 1, pop: 0]; stloc.0 [push: 0, pop: 1]; br.s [push: 0, pop: 0]; ldloc.0 [push: 1, pop: 0]; ldc.i4.0 [push: 1, pop: 0]; ble.s [push: 0, pop: 2]; ldarg.1 [push: 1, pop: 0]; ldc.i4.2 [push: 1, pop: 0]; sub [push: 1, pop: 2]; starg.s [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; brtrue.s [push: 0, pop: 1]; ldarg.s [push: 1, pop: 0]; brfalse.s [push: 0, pop: 1]; ldarg.s [push: 1, pop: 0]; callvirt [push: 1, pop: 1]; br.s [push: 0, pop: 0]; ldarg.0 [push: 1, pop: 0]; ldfld [push: 1, pop: 1]; callvirt [push: 1, pop: 1]; stloc.s [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; ldloc.s [push: 1, pop: 0]; ldloc.s [push: 1, pop: 0]; ldarg.s [push: 1, pop: 0]; ldc.i4.1 [push: 1, pop: 0]; callvirt [push: 0, pop: 5]; ldarg.1 [push: 1, pop: 0]; stloc.s [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; ldloc.0 [push: 1, pop: 0]; ldloca.s [push: 1, pop: 0]; callvirt [push: 1, pop: 3]; pop [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; starg.s [push: 0, pop: 1]; ldc.i4.0 [push: 1, pop: 0]; stloc.0 [push: 0, pop: 1]; br.s [push: 0, pop: 0]; ldarg.3 [push: 1, pop: 0]; ldc.i4.1 [push: 1, pop: 0]; add [push: 1, pop: 2]; ldloc.3 [push: 1, pop: 0]; blt.un.s [push: 0, pop: 2]; ldloc.s [push: 1, pop: 0]; brfalse.s [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; ldfld [push: 1, pop: 1]; brfalse.s [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; callvirt [push: 1, pop: 1]; pop [push: 0, pop: 1]; br.s [push: 0, pop: 0]; ldarg.1 [push: 1, pop: 0]; ldc.i4.2 [push: 1, pop: 0]; sub [push: 1, pop: 2]; starg.s [push: 0, pop: 1]; ldarg.0 [push: 1, pop: 0]; ldarg.s [push: 1, pop: 0]; ldarg.3 [push: 1, pop: 0]; ldloc.s [push: 1, pop: 0]; ceq [push: 1, pop: 2]; call [push: 0, pop: 3]; br.s [push: 0, pop: 0]; ldarg.0 [push: 1, pop: 0]; ldfld [push: 1, pop: 1]; brfalse.s [push: 0, pop: 1]; ldarg.3 [push: 1, pop: 0]; dup [push: 2, pop: 1]; ldc.i4.1 [push: 1, pop: 0]; add [push: 1, pop: 2]; starg.s [push: 0, pop: 1]; ldloc.1 [push: 1, pop: 0]; ldc.i4.8 [push: 1, pop: 0]; shr [push: 1, pop: 2]; conv.u1 [push: 1, pop: 1]; stind.i1 [push: 0, pop: 2]; ldarg.3 [push: 1, pop: 0]; dup [push: 2, pop: 1]; ldc.i4.1 [push: 1, pop: 0]; add [push: 1, pop: 2]; starg.s [push: 0, pop: 1]; ldloc.1 [push: 1, pop: 0]; conv.u1 [push: 1, pop: 1]; stind.i1 [push: 0, pop: 2]; br.s [push: 0, pop: 0]; ldarg.3 [push: 1, pop: 0]; dup [push: 2, pop: 1]; ldc.i4.1 [push: 1, pop: 0]; add [push: 1, pop: 2]; starg.s [push: 0, pop: 1]; ldloc.1 [push: 1, pop: 0]; conv.u1 [push: 1, pop: 1]; stind.i1 [push: 0, pop: 2]; ldarg.3 [push: 1, pop: 0]; dup [push: 2, pop: 1]; ldc.i4.1 [push: 1, pop: 0]; add [push: 1, pop: 2]; starg.s [push: 0, pop: 1]; ldloc.1 [push: 1, pop: 0]; ldc.i4.8 [push: 1, pop: 0]; shr [push: 1, pop: 2]; conv.u1 [push: 1, pop: 1]; stind.i1 [push: 0, pop: 2]; ldloc.s [push: 1, pop: 0]; brfalse.s [push: 0, pop: 1]; ldloc.s [push: 1, pop: 0]; callvirt [push: 1, pop: 1]; br.s [push: 0, pop: 0]; ldc.i4.0 [push: 1, pop: 0]; dup [push: 2, pop: 1] | Expression is missing getType() | -| System.IntPtr System.IntPtr.CopySign(System.IntPtr,System.IntPtr): neg, ldarg.0 [push: 1, pop: 0]; stloc.0 [push: 0, pop: 1]; ldloc.0 [push: 1, pop: 0]; ldc.i4.0 [push: 1, pop: 0]; conv.i [push: 1, pop: 1]; bge.s [push: 0, pop: 2]; ldloc.0 [push: 1, pop: 0]; neg [push: 1, pop: 1] | Expression is missing getType() | -| System.IntPtr System.IntPtr.CopySign(System.IntPtr,System.IntPtr): neg, ldarg.0 [push: 1, pop: 0]; stloc.0 [push: 0, pop: 1]; ldloc.0 [push: 1, pop: 0]; ldc.i4.0 [push: 1, pop: 0]; conv.i [push: 1, pop: 1]; bge.s [push: 0, pop: 2]; ldloc.0 [push: 1, pop: 0]; neg [push: 1, pop: 1]; stloc.0 [push: 0, pop: 1]; ldarg.1 [push: 1, pop: 0]; ldc.i4.0 [push: 1, pop: 0]; conv.i [push: 1, pop: 1]; blt.s [push: 0, pop: 2]; ldloc.0 [push: 1, pop: 0]; ldc.i4.0 [push: 1, pop: 0]; conv.i [push: 1, pop: 1]; bge.s [push: 0, pop: 2]; call [push: 0, pop: 0]; ldloc.0 [push: 1, pop: 0]; ret [push: 0, pop: 1]; ldloc.0 [push: 1, pop: 0]; neg [push: 1, pop: 1] | Expression is missing getType() | -| System.IntPtr System.IntPtr.MaxMagnitude(System.IntPtr,System.IntPtr): neg, ldarg.0 [push: 1, pop: 0]; stloc.0 [push: 0, pop: 1]; ldloc.0 [push: 1, pop: 0]; ldc.i4.0 [push: 1, pop: 0]; conv.i [push: 1, pop: 1]; bge.s [push: 0, pop: 2]; ldloc.0 [push: 1, pop: 0]; neg [push: 1, pop: 1] | Expression is missing getType() | -| System.IntPtr System.IntPtr.MaxMagnitude(System.IntPtr,System.IntPtr): neg, ldarg.0 [push: 1, pop: 0]; stloc.0 [push: 0, pop: 1]; ldloc.0 [push: 1, pop: 0]; ldc.i4.0 [push: 1, pop: 0]; conv.i [push: 1, pop: 1]; bge.s [push: 0, pop: 2]; ldloc.0 [push: 1, pop: 0]; neg [push: 1, pop: 1]; stloc.0 [push: 0, pop: 1]; ldloc.0 [push: 1, pop: 0]; ldc.i4.0 [push: 1, pop: 0]; conv.i [push: 1, pop: 1]; bge.s [push: 0, pop: 2]; ldarg.0 [push: 1, pop: 0]; ret [push: 0, pop: 1]; ldarg.1 [push: 1, pop: 0]; stloc.1 [push: 0, pop: 1]; ldloc.1 [push: 1, pop: 0]; ldc.i4.0 [push: 1, pop: 0]; conv.i [push: 1, pop: 1]; bge.s [push: 0, pop: 2]; ldloc.1 [push: 1, pop: 0]; neg [push: 1, pop: 1] | Expression is missing getType() | -| System.IntPtr System.IntPtr.MinMagnitude(System.IntPtr,System.IntPtr): neg, ldarg.0 [push: 1, pop: 0]; stloc.0 [push: 0, pop: 1]; ldloc.0 [push: 1, pop: 0]; ldc.i4.0 [push: 1, pop: 0]; conv.i [push: 1, pop: 1]; bge.s [push: 0, pop: 2]; ldloc.0 [push: 1, pop: 0]; neg [push: 1, pop: 1] | Expression is missing getType() | -| System.IntPtr System.IntPtr.MinMagnitude(System.IntPtr,System.IntPtr): neg, ldarg.0 [push: 1, pop: 0]; stloc.0 [push: 0, pop: 1]; ldloc.0 [push: 1, pop: 0]; ldc.i4.0 [push: 1, pop: 0]; conv.i [push: 1, pop: 1]; bge.s [push: 0, pop: 2]; ldloc.0 [push: 1, pop: 0]; neg [push: 1, pop: 1]; stloc.0 [push: 0, pop: 1]; ldloc.0 [push: 1, pop: 0]; ldc.i4.0 [push: 1, pop: 0]; conv.i [push: 1, pop: 1]; bge.s [push: 0, pop: 2]; ldarg.1 [push: 1, pop: 0]; ret [push: 0, pop: 1]; ldarg.1 [push: 1, pop: 0]; stloc.1 [push: 0, pop: 1]; ldloc.1 [push: 1, pop: 0]; ldc.i4.0 [push: 1, pop: 0]; conv.i [push: 1, pop: 1]; bge.s [push: 0, pop: 2]; ldloc.1 [push: 1, pop: 0]; neg [push: 1, pop: 1] | Expression is missing getType() | -| System.IntPtr System.IntPtr.op_UnaryNegation(System.IntPtr): neg, ldarg.0 [push: 1, pop: 0]; neg [push: 1, pop: 1] | Expression is missing getType() | -| System.String System.Exception.get_Source(): dup, ldarg.0 [push: 1, pop: 0]; ldfld [push: 1, pop: 1]; dup [push: 2, pop: 1]; brtrue.s [push: 0, pop: 1]; pop [push: 0, pop: 1]; ldarg.0 [push: 1, pop: 0]; ldarg.0 [push: 1, pop: 0]; call [push: 1, pop: 1]; brtrue.s [push: 0, pop: 1]; ldnull [push: 1, pop: 0]; br.s [push: 0, pop: 0]; ldarg.0 [push: 1, pop: 0]; call [push: 1, pop: 1]; dup [push: 2, pop: 1]; brtrue.s [push: 0, pop: 1]; pop [push: 0, pop: 1]; ldnull [push: 1, pop: 0]; br.s [push: 0, pop: 0]; callvirt [push: 1, pop: 1]; callvirt [push: 1, pop: 1]; callvirt [push: 1, pop: 1]; callvirt [push: 1, pop: 1]; dup [push: 2, pop: 1]; brtrue.s [push: 0, pop: 1]; pop [push: 0, pop: 1]; ldstr [push: 1, pop: 0]; dup [push: 2, pop: 1] | Expression is missing getType() | -| System.String System.Threading.TimerQueueTimer.get_DisplayString(): dup, ldarg.0 [push: 1, pop: 0]; ldfld [push: 1, pop: 1]; callvirt [push: 1, pop: 1]; callvirt [push: 1, pop: 1]; dup [push: 2, pop: 1]; brtrue.s [push: 0, pop: 1]; pop [push: 0, pop: 1]; ldnull [push: 1, pop: 0]; br.s [push: 0, pop: 0]; callvirt [push: 1, pop: 1]; stloc.0 [push: 0, pop: 1]; ldloc.0 [push: 1, pop: 0]; brfalse.s [push: 0, pop: 1]; ldloc.0 [push: 1, pop: 0]; ldstr [push: 1, pop: 0]; call [push: 1, pop: 2]; stloc.0 [push: 0, pop: 1]; ldc.i4.s [push: 1, pop: 0]; newarr [push: 1, pop: 1]; dup [push: 2, pop: 1]; ldc.i4.0 [push: 1, pop: 0]; ldstr [push: 1, pop: 0]; stelem.ref [push: 0, pop: 3]; dup [push: 2, pop: 1]; ldc.i4.1 [push: 1, pop: 0]; ldarg.0 [push: 1, pop: 0]; ldfld [push: 1, pop: 1]; ldc.i4.m1 [push: 1, pop: 0]; beq.s [push: 0, pop: 2]; ldarg.0 [push: 1, pop: 0]; ldfld [push: 1, pop: 1]; conv.r.un [push: 1, pop: 1]; conv.r8 [push: 1, pop: 1]; call [push: 1, pop: 1]; box [push: 1, pop: 1]; br.s [push: 0, pop: 0]; ldstr [push: 1, pop: 0]; dup [push: 2, pop: 1] | Expression is missing getType() | -| System.String System.Threading.TimerQueueTimer.get_DisplayString(): dup, ldarg.0 [push: 1, pop: 0]; ldfld [push: 1, pop: 1]; callvirt [push: 1, pop: 1]; callvirt [push: 1, pop: 1]; dup [push: 2, pop: 1]; brtrue.s [push: 0, pop: 1]; pop [push: 0, pop: 1]; ldnull [push: 1, pop: 0]; br.s [push: 0, pop: 0]; callvirt [push: 1, pop: 1]; stloc.0 [push: 0, pop: 1]; ldloc.0 [push: 1, pop: 0]; brfalse.s [push: 0, pop: 1]; ldloc.0 [push: 1, pop: 0]; ldstr [push: 1, pop: 0]; call [push: 1, pop: 2]; stloc.0 [push: 0, pop: 1]; ldc.i4.s [push: 1, pop: 0]; newarr [push: 1, pop: 1]; dup [push: 2, pop: 1]; ldc.i4.0 [push: 1, pop: 0]; ldstr [push: 1, pop: 0]; stelem.ref [push: 0, pop: 3]; dup [push: 2, pop: 1]; ldc.i4.1 [push: 1, pop: 0]; ldarg.0 [push: 1, pop: 0]; ldfld [push: 1, pop: 1]; ldc.i4.m1 [push: 1, pop: 0]; beq.s [push: 0, pop: 2]; ldarg.0 [push: 1, pop: 0]; ldfld [push: 1, pop: 1]; conv.r.un [push: 1, pop: 1]; conv.r8 [push: 1, pop: 1]; call [push: 1, pop: 1]; box [push: 1, pop: 1]; br.s [push: 0, pop: 0]; ldstr [push: 1, pop: 0]; dup [push: 2, pop: 1]; brtrue.s [push: 0, pop: 1]; pop [push: 0, pop: 1]; ldnull [push: 1, pop: 0]; br.s [push: 0, pop: 0]; callvirt [push: 1, pop: 1]; stelem.ref [push: 0, pop: 3]; dup [push: 2, pop: 1]; ldc.i4.2 [push: 1, pop: 0]; ldstr [push: 1, pop: 0]; stelem.ref [push: 0, pop: 3]; dup [push: 2, pop: 1]; ldc.i4.3 [push: 1, pop: 0]; ldarg.0 [push: 1, pop: 0]; ldfld [push: 1, pop: 1]; ldc.i4.m1 [push: 1, pop: 0]; beq.s [push: 0, pop: 2]; ldarg.0 [push: 1, pop: 0]; ldfld [push: 1, pop: 1]; conv.r.un [push: 1, pop: 1]; conv.r8 [push: 1, pop: 1]; call [push: 1, pop: 1]; box [push: 1, pop: 1]; br.s [push: 0, pop: 0]; ldstr [push: 1, pop: 0]; dup [push: 2, pop: 1] | Expression is missing getType() | diff --git a/csharp/ql/test/library-tests/cil/consistency/consistency.ql b/csharp/ql/test/library-tests/cil/consistency/consistency.ql deleted file mode 100644 index e7ece7c4e6e..00000000000 --- a/csharp/ql/test/library-tests/cil/consistency/consistency.ql +++ /dev/null @@ -1,6 +0,0 @@ -import cil -import semmle.code.cil.ConsistencyChecks - -deprecated query predicate consistencyViolation(ConsistencyViolation v, string message) { - message = v.getMessage() -} diff --git a/csharp/ql/test/library-tests/cil/consistency/options b/csharp/ql/test/library-tests/cil/consistency/options deleted file mode 100644 index 8511aa162b8..00000000000 --- a/csharp/ql/test/library-tests/cil/consistency/options +++ /dev/null @@ -1 +0,0 @@ -semmle-extractor-options: --cil diff --git a/csharp/ql/test/library-tests/cil/enums/Program.cs b/csharp/ql/test/library-tests/cil/enums/Program.cs deleted file mode 100644 index e867fdc0718..00000000000 --- a/csharp/ql/test/library-tests/cil/enums/Program.cs +++ /dev/null @@ -1,8 +0,0 @@ -using System; - -class Test -{ - static void Main(string[] args) - { - } -} diff --git a/csharp/ql/test/library-tests/cil/enums/enums.expected b/csharp/ql/test/library-tests/cil/enums/enums.expected deleted file mode 100644 index 4b64efc04ab..00000000000 --- a/csharp/ql/test/library-tests/cil/enums/enums.expected +++ /dev/null @@ -1,290 +0,0 @@ -| Interop.Advapi32.ActivityControl | uint | -| Interop.BOOL | int | -| Interop.Error | int | -| Interop.Globalization.ResultCode | int | -| Interop.Globalization.TimeZoneDisplayNameType | int | -| Interop.PollEvents | short | -| Interop.Sys.AccessMode | int | -| Interop.Sys.ControlCharacterNames | int | -| Interop.Sys.FileAdvice | int | -| Interop.Sys.FileStatusFlags | int | -| Interop.Sys.LockOperations | int | -| Interop.Sys.NodeType | int | -| Interop.Sys.OpenFlags | int | -| Interop.Sys.SeekWhence | int | -| Interop.Sys.SysConfName | int | -| Interop.Sys.SysLogPriority | int | -| Interop.Sys.UnixFileSystemTypes | uint | -| Microsoft.Win32.SafeHandles.SafeFileHandle.NullableBool | int | -| Microsoft.Win32.SafeHandles.SafeFileHandle.ThreadPoolValueTaskSource.Operation | byte | -| System.AttributeTargets | int | -| System.Base64FormattingOptions | int | -| System.Buffers.ArrayPoolEventSource.BufferAllocatedReason | int | -| System.Buffers.ArrayPoolEventSource.BufferDroppedReason | int | -| System.Buffers.OperationStatus | int | -| System.Buffers.Text.Utf8Parser.ComponentParseResult | byte | -| System.Buffers.Text.Utf8Parser.ParseNumberOptions | int | -| System.Buffers.Utilities.MemoryPressure | int | -| System.Collections.Generic.InsertionBehavior | byte | -| System.ComponentModel.EditorBrowsableState | int | -| System.Configuration.Assemblies.AssemblyHashAlgorithm | int | -| System.Configuration.Assemblies.AssemblyVersionCompatibility | int | -| System.ConsoleColor | int | -| System.ConsoleKey | int | -| System.ConsoleModifiers | int | -| System.ConsoleSpecialKey | int | -| System.DTSubStringType | int | -| System.DateTimeKind | int | -| System.DateTimeParse.DS | int | -| System.DateTimeParse.DTT | int | -| System.DateTimeParse.TM | int | -| System.DayOfWeek | int | -| System.DefaultBinder.Primitives | int | -| System.DelegateBindingFlags | int | -| System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes | int | -| System.Diagnostics.Contracts.ContractFailureKind | int | -| System.Diagnostics.DebuggableAttribute.DebuggingModes | int | -| System.Diagnostics.DebuggerBrowsableState | int | -| System.Diagnostics.StackTrace.TraceFormat | int | -| System.Diagnostics.Tracing.ControllerCommand | int | -| System.Diagnostics.Tracing.EventActivityOptions | int | -| System.Diagnostics.Tracing.EventChannel | byte | -| System.Diagnostics.Tracing.EventChannelType | int | -| System.Diagnostics.Tracing.EventCommand | int | -| System.Diagnostics.Tracing.EventFieldFormat | int | -| System.Diagnostics.Tracing.EventFieldTags | int | -| System.Diagnostics.Tracing.EventKeywords | long | -| System.Diagnostics.Tracing.EventLevel | int | -| System.Diagnostics.Tracing.EventManifestOptions | int | -| System.Diagnostics.Tracing.EventOpcode | int | -| System.Diagnostics.Tracing.EventPipeSerializationFormat | int | -| System.Diagnostics.Tracing.EventProvider.WriteEventErrorCode | int | -| System.Diagnostics.Tracing.EventProviderType | int | -| System.Diagnostics.Tracing.EventSourceSettings | int | -| System.Diagnostics.Tracing.EventTags | int | -| System.Diagnostics.Tracing.EventTask | int | -| System.Diagnostics.Tracing.ManifestEnvelope.ManifestFormats | byte | -| System.Diagnostics.Tracing.NativeRuntimeEventSource.ContentionFlagsMap | byte | -| System.Diagnostics.Tracing.NativeRuntimeEventSource.ThreadAdjustmentReasonMap | uint | -| System.Diagnostics.Tracing.RuntimeEventSource.EventId | int | -| System.Diagnostics.Tracing.TraceLoggingDataType | int | -| System.Environment.SpecialFolder | int | -| System.Environment.SpecialFolderOption | int | -| System.EnvironmentVariableTarget | int | -| System.Exception.ExceptionMessageKind | int | -| System.ExceptionArgument | int | -| System.ExceptionResource | int | -| System.GC.EnableNoGCRegionCallbackStatus | int | -| System.GC.EndNoGCRegionStatus | int | -| System.GC.GCConfigurationType | int | -| System.GC.GC_ALLOC_FLAGS | int | -| System.GC.RefreshMemoryStatus | int | -| System.GC.StartNoGCRegionStatus | int | -| System.GCCollectionMode | int | -| System.GCKind | int | -| System.GCNotificationStatus | int | -| System.Globalization.CalendarAlgorithmType | int | -| System.Globalization.CalendarDataType | int | -| System.Globalization.CalendarId | ushort | -| System.Globalization.CalendarWeekRule | int | -| System.Globalization.CalendricalCalculationsHelper.CorrectionAlgorithm | int | -| System.Globalization.CompareOptions | int | -| System.Globalization.CultureData.LocaleGroupingData | uint | -| System.Globalization.CultureData.LocaleNumberData | uint | -| System.Globalization.CultureData.LocaleStringData | uint | -| System.Globalization.CultureTypes | int | -| System.Globalization.DateTimeFormatFlags | int | -| System.Globalization.DateTimeFormatInfoScanner.FoundDatePattern | int | -| System.Globalization.DateTimeStyles | int | -| System.Globalization.DigitShapes | int | -| System.Globalization.FORMATFLAGS | int | -| System.Globalization.GregorianCalendarTypes | int | -| System.Globalization.HebrewNumber.HS | sbyte | -| System.Globalization.HebrewNumber.HebrewToken | short | -| System.Globalization.HebrewNumberParsingState | int | -| System.Globalization.IcuLocaleDataParts | int | -| System.Globalization.MonthNameStyles | int | -| System.Globalization.NumberStyles | int | -| System.Globalization.StrongBidiCategory | int | -| System.Globalization.TextInfo.Tristate | byte | -| System.Globalization.TimeSpanFormat.StandardFormat | int | -| System.Globalization.TimeSpanParse.TTT | byte | -| System.Globalization.TimeSpanParse.TimeSpanStandardStyles | byte | -| System.Globalization.TimeSpanStyles | int | -| System.Globalization.UnicodeCategory | int | -| System.Guid.GuidParseThrowStyle | byte | -| System.Guid.ParseFailure | int | -| System.HexConverter.Casing | uint | -| System.IO.FileAccess | int | -| System.IO.FileAttributes | int | -| System.IO.FileMode | int | -| System.IO.FileOptions | int | -| System.IO.FileShare | int | -| System.IO.HandleInheritability | int | -| System.IO.MatchCasing | int | -| System.IO.MatchType | int | -| System.IO.SearchOption | int | -| System.IO.SearchTarget | int | -| System.IO.SeekOrigin | int | -| System.IO.UnixFileMode | int | -| System.LazyState | int | -| System.LoaderOptimization | int | -| System.MidpointRounding | int | -| System.Number.NumberBufferKind | byte | -| System.Number.ParsingStatus | int | -| System.ParseFailureKind | int | -| System.ParseFlags | int | -| System.PlatformID | int | -| System.Reflection.AssemblyContentType | int | -| System.Reflection.AssemblyNameFlags | int | -| System.Reflection.AssemblyNameParser.AttributeKind | int | -| System.Reflection.AssemblyNameParser.Token | int | -| System.Reflection.Associates.Attributes | int | -| System.Reflection.BindingFlags | int | -| System.Reflection.CallingConventions | int | -| System.Reflection.CorElementType | byte | -| System.Reflection.CustomAttributeEncoding | int | -| System.Reflection.Emit.AssemblyBuilderAccess | int | -| System.Reflection.Emit.DynamicResolver.SecurityControlFlags | int | -| System.Reflection.Emit.FlowControl | int | -| System.Reflection.Emit.OpCodeType | int | -| System.Reflection.Emit.OpCodeValues | int | -| System.Reflection.Emit.OperandType | int | -| System.Reflection.Emit.PEFileKinds | int | -| System.Reflection.Emit.PackingSize | int | -| System.Reflection.Emit.ScopeAction | sbyte | -| System.Reflection.Emit.StackBehaviour | int | -| System.Reflection.Emit.TypeKind | int | -| System.Reflection.Emit.TypeNameBuilder.Format | int | -| System.Reflection.EventAttributes | int | -| System.Reflection.ExceptionHandlingClauseOptions | int | -| System.Reflection.FieldAttributes | int | -| System.Reflection.GenericParameterAttributes | int | -| System.Reflection.ImageFileMachine | int | -| System.Reflection.InvocationFlags | uint | -| System.Reflection.MdSigCallingConvention | byte | -| System.Reflection.MemberTypes | int | -| System.Reflection.MetadataTokenType | int | -| System.Reflection.MethodAttributes | int | -| System.Reflection.MethodBase.InvokerArgFlags | int | -| System.Reflection.MethodBase.InvokerStrategy | int | -| System.Reflection.MethodImplAttributes | int | -| System.Reflection.MethodSemanticsAttributes | int | -| System.Reflection.NullabilityInfoContext.NotAnnotatedStatus | int | -| System.Reflection.NullabilityState | int | -| System.Reflection.PInvokeAttributes | int | -| System.Reflection.ParameterAttributes | int | -| System.Reflection.PortableExecutableKinds | int | -| System.Reflection.ProcessorArchitecture | int | -| System.Reflection.PropertyAttributes | int | -| System.Reflection.ResourceAttributes | int | -| System.Reflection.ResourceLocation | int | -| System.Reflection.SignatureCallingConvention | byte | -| System.Reflection.TypeAttributes | int | -| System.Reflection.TypeNameParser.TokenType | int | -| System.Resources.ResourceTypeCode | int | -| System.Resources.UltimateResourceFallbackLocation | int | -| System.Runtime.CompilerServices.CastResult | int | -| System.Runtime.CompilerServices.CompilationRelaxations | int | -| System.Runtime.CompilerServices.LoadHint | int | -| System.Runtime.CompilerServices.MethodCodeType | int | -| System.Runtime.CompilerServices.MethodImplOptions | int | -| System.Runtime.CompilerServices.UnsafeAccessorKind | int | -| System.Runtime.ConstrainedExecution.Cer | int | -| System.Runtime.ConstrainedExecution.Consistency | int | -| System.Runtime.GCLargeObjectHeapCompactionMode | int | -| System.Runtime.GCLatencyMode | int | -| System.Runtime.GCSettings.SetLatencyModeStatus | int | -| System.Runtime.InteropServices.Architecture | int | -| System.Runtime.InteropServices.CallingConvention | int | -| System.Runtime.InteropServices.CharSet | int | -| System.Runtime.InteropServices.ClassInterfaceType | int | -| System.Runtime.InteropServices.ComInterfaceType | int | -| System.Runtime.InteropServices.ComMemberType | int | -| System.Runtime.InteropServices.ComTypes.CALLCONV | int | -| System.Runtime.InteropServices.ComTypes.DESCKIND | int | -| System.Runtime.InteropServices.ComTypes.FUNCFLAGS | short | -| System.Runtime.InteropServices.ComTypes.FUNCKIND | int | -| System.Runtime.InteropServices.ComTypes.IDLFLAG | short | -| System.Runtime.InteropServices.ComTypes.IMPLTYPEFLAGS | int | -| System.Runtime.InteropServices.ComTypes.INVOKEKIND | int | -| System.Runtime.InteropServices.ComTypes.LIBFLAGS | short | -| System.Runtime.InteropServices.ComTypes.PARAMFLAG | short | -| System.Runtime.InteropServices.ComTypes.SYSKIND | int | -| System.Runtime.InteropServices.ComTypes.TYPEFLAGS | short | -| System.Runtime.InteropServices.ComTypes.TYPEKIND | int | -| System.Runtime.InteropServices.ComTypes.VARFLAGS | short | -| System.Runtime.InteropServices.ComTypes.VARKIND | int | -| System.Runtime.InteropServices.ComWrappersScenario | int | -| System.Runtime.InteropServices.CreateComInterfaceFlags | int | -| System.Runtime.InteropServices.CreateObjectFlags | int | -| System.Runtime.InteropServices.CustomQueryInterfaceMode | int | -| System.Runtime.InteropServices.CustomQueryInterfaceResult | int | -| System.Runtime.InteropServices.DllImportSearchPath | int | -| System.Runtime.InteropServices.GCHandleType | int | -| System.Runtime.InteropServices.LayoutKind | int | -| System.Runtime.InteropServices.Marshalling.MarshalMode | int | -| System.Runtime.InteropServices.ObjectiveC.ObjectiveCMarshal.MessageSendFunction | int | -| System.Runtime.InteropServices.PosixSignal | int | -| System.Runtime.InteropServices.StringMarshalling | int | -| System.Runtime.InteropServices.UnmanagedType | int | -| System.Runtime.InteropServices.VarEnum | int | -| System.Runtime.Intrinsics.X86.FloatComparisonMode | byte | -| System.Runtime.Loader.AssemblyLoadContext.InternalState | int | -| System.Runtime.Serialization.StreamingContextStates | int | -| System.Runtime.Versioning.ComponentGuaranteesOptions | int | -| System.Runtime.Versioning.ResourceScope | int | -| System.Runtime.Versioning.SxSRequirements | int | -| System.RuntimeType.CheckValueStatus | int | -| System.RuntimeType.MemberListType | int | -| System.RuntimeType.RuntimeTypeCache.CacheType | int | -| System.Security.PartialTrustVisibilityLevel | int | -| System.Security.Permissions.PermissionState | int | -| System.Security.Permissions.SecurityAction | int | -| System.Security.Permissions.SecurityPermissionFlag | int | -| System.Security.Principal.PrincipalPolicy | int | -| System.Security.Principal.TokenImpersonationLevel | int | -| System.Security.SecurityCriticalScope | int | -| System.Security.SecurityRuleSet | byte | -| System.StringComparison | int | -| System.StringSplitOptions | int | -| System.StubHelpers.AsAnyMarshaler.BackPropAction | int | -| System.TermInfo.WellKnownNumbers | int | -| System.TermInfo.WellKnownStrings | int | -| System.Text.NormalizationForm | int | -| System.Text.TrimType | int | -| System.Text.Unicode.GraphemeClusterBreakType | int | -| System.Threading.ApartmentState | int | -| System.Threading.EventResetMode | int | -| System.Threading.LazyThreadSafetyMode | int | -| System.Threading.LockRecursionPolicy | int | -| System.Threading.OpenExistingResult | int | -| System.Threading.PortableThreadPool.HillClimbing.StateOrTransition | int | -| System.Threading.PortableThreadPool.PendingBlockingAdjustment | byte | -| System.Threading.ReaderWriterLockSlim.EnterLockType | int | -| System.Threading.ReaderWriterLockSlim.EnterSpinLockReason | int | -| System.Threading.ReaderWriterLockSlim.WaiterStates | byte | -| System.Threading.StackCrawlMark | int | -| System.Threading.Tasks.AsyncCausalityStatus | int | -| System.Threading.Tasks.CausalityRelation | int | -| System.Threading.Tasks.CausalitySynchronousWork | int | -| System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ProcessingMode | byte | -| System.Threading.Tasks.ConfigureAwaitOptions | int | -| System.Threading.Tasks.InternalTaskOptions | int | -| System.Threading.Tasks.Sources.ValueTaskSourceOnCompletedFlags | int | -| System.Threading.Tasks.Sources.ValueTaskSourceStatus | int | -| System.Threading.Tasks.Task.TaskStateFlags | int | -| System.Threading.Tasks.TaskContinuationOptions | int | -| System.Threading.Tasks.TaskCreationOptions | int | -| System.Threading.Tasks.TaskStatus | int | -| System.Threading.Tasks.TplEventSource.TaskWaitBehavior | int | -| System.Threading.ThreadPriority | int | -| System.Threading.ThreadState | int | -| System.TimeZoneInfo.StringSerializer.State | int | -| System.TimeZoneInfo.TZVersion | byte | -| System.TimeZoneInfo.TimeZoneInfoResult | int | -| System.TimeZoneInfoOptions | int | -| System.TokenType | int | -| System.TypeCode | int | -| System.TypeNameFormatFlags | int | -| System.TypeNameKind | int | diff --git a/csharp/ql/test/library-tests/cil/enums/enums.ql b/csharp/ql/test/library-tests/cil/enums/enums.ql deleted file mode 100644 index 07a63dbc847..00000000000 --- a/csharp/ql/test/library-tests/cil/enums/enums.ql +++ /dev/null @@ -1,19 +0,0 @@ -import semmle.code.cil.Types -import semmle.code.csharp.commons.QualifiedName - -predicate osSpecific(string qualifier, string name) { - qualifier = "Interop.Sys" and - ( - name = "LockType" or // doesn't exist on osx - name = "NSSearchPathDirectory" // doesn't exist on linux. - ) -} - -deprecated query predicate enums(string qualifiedName, string type) { - exists(Enum e, string qualifier, string name | - e.hasFullyQualifiedName(qualifier, name) and - not osSpecific(qualifier, name) and - qualifiedName = getQualifiedName(qualifier, name) and - type = e.getUnderlyingType().toStringWithTypes() - ) -} diff --git a/csharp/ql/test/library-tests/cil/enums/options b/csharp/ql/test/library-tests/cil/enums/options deleted file mode 100644 index 8511aa162b8..00000000000 --- a/csharp/ql/test/library-tests/cil/enums/options +++ /dev/null @@ -1 +0,0 @@ -semmle-extractor-options: --cil diff --git a/csharp/ql/test/library-tests/cil/functionPointers/Class1.cs_ b/csharp/ql/test/library-tests/cil/functionPointers/Class1.cs_ deleted file mode 100644 index bd0ddc30906..00000000000 --- a/csharp/ql/test/library-tests/cil/functionPointers/Class1.cs_ +++ /dev/null @@ -1,52 +0,0 @@ -using System; - -#nullable enable - -public class FnPointer -{ - public unsafe static class Program - { - static delegate*<int> pointer = &M0; - - public static int M0() - { - return 0; - } - - static void M1(delegate*<ref int, out object?, int> f) - { - int i = 42; - int j = f(ref i, out object? o); - } - - static void M2<T>(delegate* unmanaged[Stdcall/*, StdcallSuppressGCTransition*/]<ref int, out object?, T, void> f) where T : new() - { - int i = 42; - f(ref i, out object? o, new T()); - } - - static void M3(delegate* managed<ref int, out object?, in int, ref int> f) - { - int i = 42; - ref int j = ref f(ref i, out object? o, in i); - } - - static void M4<T>(delegate*<T, int> f) where T : new() - { - int j = f(new T()); - } - - static void M5(delegate*<B, A> f, delegate*<A, B> ff) - { - M5(ff, ff); // implicit conversion due to implicit reference conversion - } - - static void M6(delegate*<int*, void*> f, delegate*<void*, int*> ff) - { - M6(ff, ff); // implicit conversion due to implicit pointer conversion - } - - class A { } - class B : A { } - } -} \ No newline at end of file diff --git a/csharp/ql/test/library-tests/cil/functionPointers/Test.cs b/csharp/ql/test/library-tests/cil/functionPointers/Test.cs deleted file mode 100644 index 2dfba697682..00000000000 --- a/csharp/ql/test/library-tests/cil/functionPointers/Test.cs +++ /dev/null @@ -1,5 +0,0 @@ -using System; - -class Test -{ -} diff --git a/csharp/ql/test/library-tests/cil/functionPointers/fnptr.dll b/csharp/ql/test/library-tests/cil/functionPointers/fnptr.dll deleted file mode 100644 index c63b9dcc254..00000000000 Binary files a/csharp/ql/test/library-tests/cil/functionPointers/fnptr.dll and /dev/null differ diff --git a/csharp/ql/test/library-tests/cil/functionPointers/functionPointers.expected b/csharp/ql/test/library-tests/cil/functionPointers/functionPointers.expected deleted file mode 100644 index deebe4d568a..00000000000 --- a/csharp/ql/test/library-tests/cil/functionPointers/functionPointers.expected +++ /dev/null @@ -1,73 +0,0 @@ -fnptr -| delegate* managed<!0,Int32> | 1 | Int32 | 0 | -| delegate* managed<A,B> | 1 | B | 0 | -| delegate* managed<B,A> | 1 | A | 0 | -| delegate* managed<Byte&,Void> | 1 | void | 0 | -| delegate* managed<Int32&,Object& modreq(OutAttribute),Int32& modreq(InAttribute),Int32&> | 3 | Int32& | 0 | -| delegate* managed<Int32&,Object& modreq(OutAttribute),Int32> | 2 | Int32 | 0 | -| delegate* managed<Int32*,Void*> | 1 | Void* | 0 | -| delegate* managed<Int32> | 0 | Int32 | 0 | -| delegate* managed<IntPtr,Byte&,PortableTailCallFrame*,Void> | 3 | void | 0 | -| delegate* managed<Object,Void> | 1 | void | 0 | -| delegate* managed<Void*,Int32*> | 1 | Int32* | 0 | -| delegate* managed<Void*,Object> | 1 | Object | 0 | -| delegate* unmanaged<Byte*,Int32,Byte,Int64,Int64,EVENT_FILTER_DESCRIPTOR*,Void*,Void> | 7 | void | 9 | -| delegate* unmanaged<Char*,IntPtr,Void> | 2 | void | 9 | -| delegate* unmanaged<Int32,PosixSignal,Int32> | 2 | Int32 | 9 | -| delegate* unmanaged<IntPtr,Guid*,IntPtr*,Int32> | 3 | Int32 | 9 | -| delegate* unmanaged<IntPtr,Int32> | 1 | Int32 | 9 | -| delegate* unmanaged<IntPtr,Void> | 1 | void | 9 | -| delegate* unmanaged<NoGCRegionCallbackFinalizerWorkItem*,Void> | 1 | void | 9 | -| delegate* unmanaged<Void*,Byte*,Void> | 2 | void | 9 | -| delegate* unmanaged<Void*,Void*,Void*,GCConfigurationType,Int64,Void> | 5 | void | 9 | -| delegate* unmanaged<Void> | 0 | void | 9 | -| delegate* unmanaged[StdCall]<Int32&,Object& modreq(OutAttribute),!0,Void> | 3 | void | 2 | -params -| delegate* managed<!0,Int32> | 0 | Parameter 0 of delegate* managed<!0,Int32> | !0 | -| delegate* managed<A,B> | 0 | Parameter 0 of delegate* managed<A,B> | A | -| delegate* managed<B,A> | 0 | Parameter 0 of delegate* managed<B,A> | B | -| delegate* managed<Byte&,Void> | 0 | Parameter 0 of delegate* managed<Byte&,Void> | Byte& | -| delegate* managed<Int32&,Object& modreq(OutAttribute),Int32& modreq(InAttribute),Int32&> | 0 | Parameter 0 of delegate* managed<Int32&,Object& modreq(OutAttribute),Int32& modreq(InAttribute),Int32&> | Int32& | -| delegate* managed<Int32&,Object& modreq(OutAttribute),Int32& modreq(InAttribute),Int32&> | 1 | Parameter 1 of delegate* managed<Int32&,Object& modreq(OutAttribute),Int32& modreq(InAttribute),Int32&> | Object& | -| delegate* managed<Int32&,Object& modreq(OutAttribute),Int32& modreq(InAttribute),Int32&> | 2 | Parameter 2 of delegate* managed<Int32&,Object& modreq(OutAttribute),Int32& modreq(InAttribute),Int32&> | Int32& | -| delegate* managed<Int32&,Object& modreq(OutAttribute),Int32> | 0 | Parameter 0 of delegate* managed<Int32&,Object& modreq(OutAttribute),Int32> | Int32& | -| delegate* managed<Int32&,Object& modreq(OutAttribute),Int32> | 1 | Parameter 1 of delegate* managed<Int32&,Object& modreq(OutAttribute),Int32> | Object& | -| delegate* managed<Int32*,Void*> | 0 | Parameter 0 of delegate* managed<Int32*,Void*> | Int32* | -| delegate* managed<IntPtr,Byte&,PortableTailCallFrame*,Void> | 0 | Parameter 0 of delegate* managed<IntPtr,Byte&,PortableTailCallFrame*,Void> | IntPtr | -| delegate* managed<IntPtr,Byte&,PortableTailCallFrame*,Void> | 1 | Parameter 1 of delegate* managed<IntPtr,Byte&,PortableTailCallFrame*,Void> | Byte& | -| delegate* managed<IntPtr,Byte&,PortableTailCallFrame*,Void> | 2 | Parameter 2 of delegate* managed<IntPtr,Byte&,PortableTailCallFrame*,Void> | PortableTailCallFrame* | -| delegate* managed<Object,Void> | 0 | Parameter 0 of delegate* managed<Object,Void> | Object | -| delegate* managed<Void*,Int32*> | 0 | Parameter 0 of delegate* managed<Void*,Int32*> | Void* | -| delegate* managed<Void*,Object> | 0 | Parameter 0 of delegate* managed<Void*,Object> | Void* | -| delegate* unmanaged<Byte*,Int32,Byte,Int64,Int64,EVENT_FILTER_DESCRIPTOR*,Void*,Void> | 0 | Parameter 0 of delegate* unmanaged<Byte*,Int32,Byte,Int64,Int64,EVENT_FILTER_DESCRIPTOR*,Void*,Void> | Byte* | -| delegate* unmanaged<Byte*,Int32,Byte,Int64,Int64,EVENT_FILTER_DESCRIPTOR*,Void*,Void> | 1 | Parameter 1 of delegate* unmanaged<Byte*,Int32,Byte,Int64,Int64,EVENT_FILTER_DESCRIPTOR*,Void*,Void> | Int32 | -| delegate* unmanaged<Byte*,Int32,Byte,Int64,Int64,EVENT_FILTER_DESCRIPTOR*,Void*,Void> | 2 | Parameter 2 of delegate* unmanaged<Byte*,Int32,Byte,Int64,Int64,EVENT_FILTER_DESCRIPTOR*,Void*,Void> | Byte | -| delegate* unmanaged<Byte*,Int32,Byte,Int64,Int64,EVENT_FILTER_DESCRIPTOR*,Void*,Void> | 3 | Parameter 3 of delegate* unmanaged<Byte*,Int32,Byte,Int64,Int64,EVENT_FILTER_DESCRIPTOR*,Void*,Void> | Int64 | -| delegate* unmanaged<Byte*,Int32,Byte,Int64,Int64,EVENT_FILTER_DESCRIPTOR*,Void*,Void> | 4 | Parameter 4 of delegate* unmanaged<Byte*,Int32,Byte,Int64,Int64,EVENT_FILTER_DESCRIPTOR*,Void*,Void> | Int64 | -| delegate* unmanaged<Byte*,Int32,Byte,Int64,Int64,EVENT_FILTER_DESCRIPTOR*,Void*,Void> | 5 | Parameter 5 of delegate* unmanaged<Byte*,Int32,Byte,Int64,Int64,EVENT_FILTER_DESCRIPTOR*,Void*,Void> | EVENT_FILTER_DESCRIPTOR* | -| delegate* unmanaged<Byte*,Int32,Byte,Int64,Int64,EVENT_FILTER_DESCRIPTOR*,Void*,Void> | 6 | Parameter 6 of delegate* unmanaged<Byte*,Int32,Byte,Int64,Int64,EVENT_FILTER_DESCRIPTOR*,Void*,Void> | Void* | -| delegate* unmanaged<Char*,IntPtr,Void> | 0 | Parameter 0 of delegate* unmanaged<Char*,IntPtr,Void> | Char* | -| delegate* unmanaged<Char*,IntPtr,Void> | 1 | Parameter 1 of delegate* unmanaged<Char*,IntPtr,Void> | IntPtr | -| delegate* unmanaged<Int32,PosixSignal,Int32> | 0 | Parameter 0 of delegate* unmanaged<Int32,PosixSignal,Int32> | Int32 | -| delegate* unmanaged<Int32,PosixSignal,Int32> | 1 | Parameter 1 of delegate* unmanaged<Int32,PosixSignal,Int32> | PosixSignal | -| delegate* unmanaged<IntPtr,Guid*,IntPtr*,Int32> | 0 | Parameter 0 of delegate* unmanaged<IntPtr,Guid*,IntPtr*,Int32> | IntPtr | -| delegate* unmanaged<IntPtr,Guid*,IntPtr*,Int32> | 1 | Parameter 1 of delegate* unmanaged<IntPtr,Guid*,IntPtr*,Int32> | Guid* | -| delegate* unmanaged<IntPtr,Guid*,IntPtr*,Int32> | 2 | Parameter 2 of delegate* unmanaged<IntPtr,Guid*,IntPtr*,Int32> | IntPtr* | -| delegate* unmanaged<IntPtr,Int32> | 0 | Parameter 0 of delegate* unmanaged<IntPtr,Int32> | IntPtr | -| delegate* unmanaged<IntPtr,Void> | 0 | Parameter 0 of delegate* unmanaged<IntPtr,Void> | IntPtr | -| delegate* unmanaged<NoGCRegionCallbackFinalizerWorkItem*,Void> | 0 | Parameter 0 of delegate* unmanaged<NoGCRegionCallbackFinalizerWorkItem*,Void> | NoGCRegionCallbackFinalizerWorkItem* | -| delegate* unmanaged<Void*,Byte*,Void> | 0 | Parameter 0 of delegate* unmanaged<Void*,Byte*,Void> | Void* | -| delegate* unmanaged<Void*,Byte*,Void> | 1 | Parameter 1 of delegate* unmanaged<Void*,Byte*,Void> | Byte* | -| delegate* unmanaged<Void*,Void*,Void*,GCConfigurationType,Int64,Void> | 0 | Parameter 0 of delegate* unmanaged<Void*,Void*,Void*,GCConfigurationType,Int64,Void> | Void* | -| delegate* unmanaged<Void*,Void*,Void*,GCConfigurationType,Int64,Void> | 1 | Parameter 1 of delegate* unmanaged<Void*,Void*,Void*,GCConfigurationType,Int64,Void> | Void* | -| delegate* unmanaged<Void*,Void*,Void*,GCConfigurationType,Int64,Void> | 2 | Parameter 2 of delegate* unmanaged<Void*,Void*,Void*,GCConfigurationType,Int64,Void> | Void* | -| delegate* unmanaged<Void*,Void*,Void*,GCConfigurationType,Int64,Void> | 3 | Parameter 3 of delegate* unmanaged<Void*,Void*,Void*,GCConfigurationType,Int64,Void> | GCConfigurationType | -| delegate* unmanaged<Void*,Void*,Void*,GCConfigurationType,Int64,Void> | 4 | Parameter 4 of delegate* unmanaged<Void*,Void*,Void*,GCConfigurationType,Int64,Void> | Int64 | -| delegate* unmanaged[StdCall]<Int32&,Object& modreq(OutAttribute),!0,Void> | 0 | Parameter 0 of delegate* unmanaged[StdCall]<Int32&,Object& modreq(OutAttribute),!0,Void> | Int32& | -| delegate* unmanaged[StdCall]<Int32&,Object& modreq(OutAttribute),!0,Void> | 1 | Parameter 1 of delegate* unmanaged[StdCall]<Int32&,Object& modreq(OutAttribute),!0,Void> | Object& | -| delegate* unmanaged[StdCall]<Int32&,Object& modreq(OutAttribute),!0,Void> | 2 | Parameter 2 of delegate* unmanaged[StdCall]<Int32&,Object& modreq(OutAttribute),!0,Void> | !0 | -modifiers -| delegate* managed<Int32&,Object& modreq(OutAttribute),Int32& modreq(InAttribute),Int32&> | System.Runtime.InteropServices.InAttribute | modreq | -| delegate* managed<Int32&,Object& modreq(OutAttribute),Int32& modreq(InAttribute),Int32&> | System.Runtime.InteropServices.OutAttribute | modreq | -| delegate* managed<Int32&,Object& modreq(OutAttribute),Int32> | System.Runtime.InteropServices.OutAttribute | modreq | -| delegate* unmanaged[StdCall]<Int32&,Object& modreq(OutAttribute),!0,Void> | System.Runtime.InteropServices.OutAttribute | modreq | diff --git a/csharp/ql/test/library-tests/cil/functionPointers/functionPointers.ql b/csharp/ql/test/library-tests/cil/functionPointers/functionPointers.ql deleted file mode 100644 index e6a9219bf6c..00000000000 --- a/csharp/ql/test/library-tests/cil/functionPointers/functionPointers.ql +++ /dev/null @@ -1,42 +0,0 @@ -import cil -import semmle.code.cil.Type -import semmle.code.csharp.commons.QualifiedName - -bindingset[kind] -deprecated private string getKind(int kind) { - if kind = 1 then result = "modreq" else result = "modopt" -} - -bindingset[t, e] -deprecated private string getAnnotatedType(Type t, Element e) { - cil_type_annotation(e, 32) and result = t.toString() + "&" - or - not cil_type_annotation(e, 32) and result = t.toString() -} - -deprecated query predicate fnptr( - string fnptr, int paramCount, string returnType, int callingConvention -) { - exists(FunctionPointerType fn | fnptr = fn.toString() | - paramCount = fn.getNumberOfParameters() and - returnType = getAnnotatedType(fn.getReturnType(), fn) and - callingConvention = fn.getCallingConvention() - ) -} - -deprecated query predicate params(string fnptr, int i, string param, string t) { - exists(FunctionPointerType fn, Parameter p | fnptr = fn.toString() and param = p.toString() | - fn.getParameter(i) = p and t = getAnnotatedType(p.getType(), p) - ) -} - -deprecated query predicate modifiers(string fnptr, string modifier, string sKind) { - exists(Type modType, int kind, FunctionPointerType fn, string qualifier, string name | - fnptr = fn.toString() - | - cil_custom_modifiers(fn, modType, kind) and - modType.hasFullyQualifiedName(qualifier, name) and - modifier = getQualifiedName(qualifier, name) and - sKind = getKind(kind) - ) -} diff --git a/csharp/ql/test/library-tests/cil/functionPointers/options b/csharp/ql/test/library-tests/cil/functionPointers/options deleted file mode 100644 index 8511aa162b8..00000000000 --- a/csharp/ql/test/library-tests/cil/functionPointers/options +++ /dev/null @@ -1 +0,0 @@ -semmle-extractor-options: --cil diff --git a/csharp/ql/test/library-tests/cil/init-only-prop/Program.cs b/csharp/ql/test/library-tests/cil/init-only-prop/Program.cs deleted file mode 100644 index e867fdc0718..00000000000 --- a/csharp/ql/test/library-tests/cil/init-only-prop/Program.cs +++ /dev/null @@ -1,8 +0,0 @@ -using System; - -class Test -{ - static void Main(string[] args) - { - } -} diff --git a/csharp/ql/test/library-tests/cil/init-only-prop/Test.cs_ b/csharp/ql/test/library-tests/cil/init-only-prop/Test.cs_ deleted file mode 100644 index d39b5a82926..00000000000 --- a/csharp/ql/test/library-tests/cil/init-only-prop/Test.cs_ +++ /dev/null @@ -1,13 +0,0 @@ -namespace System.Runtime.CompilerServices -{ - class IsExternalInit { } -} - -namespace cil_init_prop -{ - class SomeClass - { - public int Prop1 { get; set; } - public int Prop2 { get; init; } - } -} diff --git a/csharp/ql/test/library-tests/cil/init-only-prop/cil-init-prop.dll b/csharp/ql/test/library-tests/cil/init-only-prop/cil-init-prop.dll deleted file mode 100644 index dceff38f487..00000000000 Binary files a/csharp/ql/test/library-tests/cil/init-only-prop/cil-init-prop.dll and /dev/null differ diff --git a/csharp/ql/test/library-tests/cil/init-only-prop/customModifiers.expected b/csharp/ql/test/library-tests/cil/init-only-prop/customModifiers.expected deleted file mode 100644 index ec6ec39982d..00000000000 --- a/csharp/ql/test/library-tests/cil/init-only-prop/customModifiers.expected +++ /dev/null @@ -1,104 +0,0 @@ -| AsROImpl | System.Runtime.InteropServices.InAttribute | modreq | -| AsRef | System.Runtime.InteropServices.InAttribute | modreq | -| EventWriteTransfer | System.Runtime.InteropServices.InAttribute | modreq | -| GetPinnableReference | System.Runtime.InteropServices.InAttribute | modreq | -| GetValueRefOrDefaultRef | System.Runtime.InteropServices.InAttribute | modreq | -| ThreadIDExecutingCallbacks | System.Runtime.CompilerServices.IsVolatile | modreq | -| Value | System.Runtime.CompilerServices.IsVolatile | modreq | -| _bufferedValuesIndex | System.Runtime.CompilerServices.IsVolatile | modreq | -| _canSeek | System.Runtime.CompilerServices.IsVolatile | modreq | -| _cancelCompleted | System.Runtime.CompilerServices.IsVolatile | modreq | -| _container | System.Runtime.CompilerServices.IsVolatile | modreq | -| _first | System.Runtime.CompilerServices.IsVolatile | modreq | -| _head | System.Runtime.CompilerServices.IsVolatile | modreq | -| _idsThatDoNotTrackAllValues | System.Runtime.CompilerServices.IsVolatile | modreq | -| _initialized | System.Runtime.CompilerServices.IsVolatile | modreq | -| _isWriterInProgress | System.Runtime.CompilerServices.IsVolatile | modreq | -| _kernelEvent | System.Runtime.CompilerServices.IsVolatile | modreq | -| _last | System.Runtime.CompilerServices.IsVolatile | modreq | -| _localTimeZone | System.Runtime.CompilerServices.IsVolatile | modreq | -| _next | System.Runtime.CompilerServices.IsVolatile | modreq | -| _oldKeepAlive | System.Runtime.CompilerServices.IsVolatile | modreq | -| _owner | System.Runtime.CompilerServices.IsVolatile | modreq | -| _previous | System.Runtime.CompilerServices.IsVolatile | modreq | -| _queues | System.Runtime.CompilerServices.IsVolatile | modreq | -| _saDurationFormats | System.Runtime.CompilerServices.IsVolatile | modreq | -| _saLongTimes | System.Runtime.CompilerServices.IsVolatile | modreq | -| _saShortTimes | System.Runtime.CompilerServices.IsVolatile | modreq | -| _slotArray | System.Runtime.CompilerServices.IsVolatile | modreq | -| _state | System.Runtime.CompilerServices.IsVolatile | modreq | -| _supportsRandomAccess | System.Runtime.CompilerServices.IsVolatile | modreq | -| _tail | System.Runtime.CompilerServices.IsVolatile | modreq | -| _timer | System.Runtime.CompilerServices.IsVolatile | modreq | -| _version | System.Runtime.CompilerServices.IsVolatile | modreq | -| _waCalendars | System.Runtime.CompilerServices.IsVolatile | modreq | -| currentTimeZone | System.Runtime.CompilerServices.IsVolatile | modreq | -| g_nameCache | System.Runtime.CompilerServices.IsVolatile | modreq | -| get_Current | System.Runtime.InteropServices.InAttribute | modreq | -| get_Item | System.Runtime.InteropServices.InAttribute | modreq | -| m_Dispatchers | System.Runtime.CompilerServices.IsVolatile | modreq | -| m_Next | System.Runtime.CompilerServices.IsVolatile | modreq | -| m_array | System.Runtime.CompilerServices.IsVolatile | modreq | -| m_channelData | System.Runtime.CompilerServices.IsVolatile | modreq | -| m_combinedState | System.Runtime.CompilerServices.IsVolatile | modreq | -| m_completionCountdown | System.Runtime.CompilerServices.IsVolatile | modreq | -| m_completionEvent | System.Runtime.CompilerServices.IsVolatile | modreq | -| m_continuationObject | System.Runtime.CompilerServices.IsVolatile | modreq | -| m_currentCount | System.Runtime.CompilerServices.IsVolatile | modreq | -| m_etwProvider | System.Runtime.CompilerServices.IsVolatile | modreq | -| m_eventData | System.Runtime.CompilerServices.IsVolatile | modreq | -| m_eventObj | System.Runtime.CompilerServices.IsVolatile | modreq | -| m_eventPipeProvider | System.Runtime.CompilerServices.IsVolatile | modreq | -| m_exceptionalChildren | System.Runtime.CompilerServices.IsVolatile | modreq | -| m_exceptionsHolder | System.Runtime.CompilerServices.IsVolatile | modreq | -| m_faultExceptions | System.Runtime.CompilerServices.IsVolatile | modreq | -| m_headIndex | System.Runtime.CompilerServices.IsVolatile | modreq | -| m_internalCancellationRequested | System.Runtime.CompilerServices.IsVolatile | modreq | -| m_isHandled | System.Runtime.CompilerServices.IsVolatile | modreq | -| m_lock | System.Runtime.CompilerServices.IsVolatile | modreq | -| m_mask | System.Runtime.CompilerServices.IsVolatile | modreq | -| m_nameIsCached | System.Runtime.CompilerServices.IsVolatile | modreq | -| m_rawManifest | System.Runtime.CompilerServices.IsVolatile | modreq | -| m_stateFlags | System.Runtime.CompilerServices.IsVolatile | modreq | -| m_tailIndex | System.Runtime.CompilerServices.IsVolatile | modreq | -| m_taskSchedulerId | System.Runtime.CompilerServices.IsVolatile | modreq | -| m_waitHandle | System.Runtime.CompilerServices.IsVolatile | modreq | -| numRequestedWorkers | System.Runtime.CompilerServices.IsVolatile | modreq | -| property Current | System.Runtime.InteropServices.InAttribute | modreq | -| property Item | System.Runtime.InteropServices.InAttribute | modreq | -| s_DefaultThreadCurrentCulture | System.Runtime.CompilerServices.IsVolatile | modreq | -| s_DefaultThreadCurrentUICulture | System.Runtime.CompilerServices.IsVolatile | modreq | -| s_Invariant | System.Runtime.CompilerServices.IsVolatile | modreq | -| s_allContexts | System.Runtime.CompilerServices.IsVolatile | modreq | -| s_anonymouslyHostedDynamicMethodsModule | System.Runtime.CompilerServices.IsVolatile | modreq | -| s_cachedCultures | System.Runtime.CompilerServices.IsVolatile | modreq | -| s_cachedCulturesByLcid | System.Runtime.CompilerServices.IsVolatile | modreq | -| s_cachedCulturesByName | System.Runtime.CompilerServices.IsVolatile | modreq | -| s_cachedRegions | System.Runtime.CompilerServices.IsVolatile | modreq | -| s_canceledTask | System.Runtime.CompilerServices.IsVolatile | modreq | -| s_currentRegionInfo | System.Runtime.CompilerServices.IsVolatile | modreq | -| s_defaultBinder | System.Runtime.CompilerServices.IsVolatile | modreq | -| s_defaultFlowSuppressed | System.Runtime.CompilerServices.IsVolatile | modreq | -| s_defaultInstance | System.Runtime.CompilerServices.IsVolatile | modreq | -| s_emitAnsiColorCodes | System.Runtime.CompilerServices.IsVolatile | modreq | -| s_encoding | System.Runtime.CompilerServices.IsVolatile | modreq | -| s_indentSize | System.Runtime.CompilerServices.IsVolatile | modreq | -| s_initialized | System.Runtime.CompilerServices.IsVolatile | modreq | -| s_invariantInfo | System.Runtime.CompilerServices.IsVolatile | modreq | -| s_jajpDTFI | System.Runtime.CompilerServices.IsVolatile | modreq | -| s_japaneseEraInfo | System.Runtime.CompilerServices.IsVolatile | modreq | -| s_osArchPlusOne | System.Runtime.CompilerServices.IsVolatile | modreq | -| s_osVersion | System.Runtime.CompilerServices.IsVolatile | modreq | -| s_privilegedProcess | System.Runtime.CompilerServices.IsVolatile | modreq | -| s_processId | System.Runtime.CompilerServices.IsVolatile | modreq | -| s_processPath | System.Runtime.CompilerServices.IsVolatile | modreq | -| s_provider | System.Runtime.CompilerServices.IsVolatile | modreq | -| s_providers | System.Runtime.CompilerServices.IsVolatile | modreq | -| s_regionNames | System.Runtime.CompilerServices.IsVolatile | modreq | -| s_systemPageSize | System.Runtime.CompilerServices.IsVolatile | modreq | -| s_userDefaultCulture | System.Runtime.CompilerServices.IsVolatile | modreq | -| s_userDefaultUICulture | System.Runtime.CompilerServices.IsVolatile | modreq | -| s_zhtwDTFI | System.Runtime.CompilerServices.IsVolatile | modreq | -| set_IsDerived | System.Runtime.CompilerServices.IsExternalInit | modreq | -| set_IsOptional | System.Runtime.CompilerServices.IsExternalInit | modreq | -| set_Prop2 | System.Runtime.CompilerServices.IsExternalInit | modreq | diff --git a/csharp/ql/test/library-tests/cil/init-only-prop/customModifiers.ql b/csharp/ql/test/library-tests/cil/init-only-prop/customModifiers.ql deleted file mode 100644 index 3eeb5cf0697..00000000000 --- a/csharp/ql/test/library-tests/cil/init-only-prop/customModifiers.ql +++ /dev/null @@ -1,17 +0,0 @@ -import semmle.code.cil.Type -import semmle.code.csharp.commons.QualifiedName - -bindingset[kind] -deprecated private string getKind(int kind) { - if kind = 1 then result = "modreq" else result = "modopt" -} - -deprecated query predicate customModifiers(string receiver, string modifier, string kind) { - exists(Type modType, CustomModifierReceiver cmr, string qualifier, string name, int k | - receiver = cmr.toString() and - cil_custom_modifiers(cmr, modType, k) and - modType.hasFullyQualifiedName(qualifier, name) and - modifier = getQualifiedName(qualifier, name) and - kind = getKind(k) - ) -} diff --git a/csharp/ql/test/library-tests/cil/init-only-prop/options b/csharp/ql/test/library-tests/cil/init-only-prop/options deleted file mode 100644 index 8511aa162b8..00000000000 --- a/csharp/ql/test/library-tests/cil/init-only-prop/options +++ /dev/null @@ -1 +0,0 @@ -semmle-extractor-options: --cil diff --git a/csharp/ql/test/library-tests/cil/init-only-prop/setters.expected b/csharp/ql/test/library-tests/cil/init-only-prop/setters.expected deleted file mode 100644 index 49f58c1113d..00000000000 --- a/csharp/ql/test/library-tests/cil/init-only-prop/setters.expected +++ /dev/null @@ -1,2 +0,0 @@ -| cil-init-prop.dll:0:0:0:0 | set_Prop1 | set | -| cil-init-prop.dll:0:0:0:0 | set_Prop2 | init | diff --git a/csharp/ql/test/library-tests/cil/init-only-prop/setters.ql b/csharp/ql/test/library-tests/cil/init-only-prop/setters.ql deleted file mode 100644 index 06ab21392e3..00000000000 --- a/csharp/ql/test/library-tests/cil/init-only-prop/setters.ql +++ /dev/null @@ -1,11 +0,0 @@ -import semmle.code.cil.Method -import semmle.code.csharp.Location - -deprecated private string getType(Setter s) { - if s.isInitOnly() then result = "init" else result = "set" -} - -deprecated query predicate setters(Setter s, string type) { - s.getLocation().(Assembly).getName() = "cil-init-prop" and - type = getType(s) -} diff --git a/csharp/ql/test/library-tests/cil/pdbs/EmbeddedPdb.dll b/csharp/ql/test/library-tests/cil/pdbs/EmbeddedPdb.dll deleted file mode 100644 index 7a9e483ba2b..00000000000 Binary files a/csharp/ql/test/library-tests/cil/pdbs/EmbeddedPdb.dll and /dev/null differ diff --git a/csharp/ql/test/library-tests/cil/pdbs/FullPdb.dll b/csharp/ql/test/library-tests/cil/pdbs/FullPdb.dll deleted file mode 100644 index 6ce8636e4ef..00000000000 Binary files a/csharp/ql/test/library-tests/cil/pdbs/FullPdb.dll and /dev/null differ diff --git a/csharp/ql/test/library-tests/cil/pdbs/FullPdb.pdb b/csharp/ql/test/library-tests/cil/pdbs/FullPdb.pdb deleted file mode 100644 index 69e2f3db261..00000000000 Binary files a/csharp/ql/test/library-tests/cil/pdbs/FullPdb.pdb and /dev/null differ diff --git a/csharp/ql/test/library-tests/cil/pdbs/InstructionLocations.expected b/csharp/ql/test/library-tests/cil/pdbs/InstructionLocations.expected deleted file mode 100644 index 96d8f519d48..00000000000 --- a/csharp/ql/test/library-tests/cil/pdbs/InstructionLocations.expected +++ /dev/null @@ -1,41 +0,0 @@ -| C:/dev/projects/Sandbox/EmbeddedPdb/Class1.cs:6:3:6:4 | 0: nop | -| C:/dev/projects/Sandbox/EmbeddedPdb/Class1.cs:7:4:7:13 | 1: ldc.i4.1 | -| C:/dev/projects/Sandbox/EmbeddedPdb/Class1.cs:7:4:7:13 | 2: stloc.0 L0 | -| C:/dev/projects/Sandbox/EmbeddedPdb/Class1.cs:7:4:7:13 | 3: br.s 4: | -| C:/dev/projects/Sandbox/EmbeddedPdb/Class1.cs:8:3:8:4 | 4: ldloc.0 | -| C:/dev/projects/Sandbox/EmbeddedPdb/Class1.cs:8:3:8:4 | 5: ret | -| C:/dev/projects/Sandbox/PortablePdb/Class1.cs:6:3:6:4 | 0: nop | -| C:/dev/projects/Sandbox/PortablePdb/Class1.cs:7:4:7:20 | 1: ldc.i4.1 | -| C:/dev/projects/Sandbox/PortablePdb/Class1.cs:7:4:7:20 | 2: stloc.0 L0 | -| C:/dev/projects/Sandbox/PortablePdb/Class1.cs:8:9:8:18 | 3: ldc.i4.1 | -| C:/dev/projects/Sandbox/PortablePdb/Class1.cs:8:9:8:18 | 4: stloc.1 L1 | -| C:/dev/projects/Sandbox/PortablePdb/Class1.cs:8:9:8:18 | 5: br.s 14: | -| C:/dev/projects/Sandbox/PortablePdb/Class1.cs:8:20:8:26 | 14: ldloc.1 | -| C:/dev/projects/Sandbox/PortablePdb/Class1.cs:8:20:8:26 | 15: ldarg.1 | -| C:/dev/projects/Sandbox/PortablePdb/Class1.cs:8:20:8:26 | 16: cgt | -| C:/dev/projects/Sandbox/PortablePdb/Class1.cs:8:20:8:26 | 17: ldc.i4.0 | -| C:/dev/projects/Sandbox/PortablePdb/Class1.cs:8:20:8:26 | 18: ceq | -| C:/dev/projects/Sandbox/PortablePdb/Class1.cs:8:20:8:26 | 19: stloc.2 L2 | -| C:/dev/projects/Sandbox/PortablePdb/Class1.cs:8:20:8:26 | 20: ldloc.2 | -| C:/dev/projects/Sandbox/PortablePdb/Class1.cs:8:20:8:26 | 21: brtrue.s 6: | -| C:/dev/projects/Sandbox/PortablePdb/Class1.cs:8:28:8:31 | 10: ldloc.1 | -| C:/dev/projects/Sandbox/PortablePdb/Class1.cs:8:28:8:31 | 11: ldc.i4.1 | -| C:/dev/projects/Sandbox/PortablePdb/Class1.cs:8:28:8:31 | 12: add | -| C:/dev/projects/Sandbox/PortablePdb/Class1.cs:8:28:8:31 | 13: stloc.1 L1 | -| C:/dev/projects/Sandbox/PortablePdb/Class1.cs:9:5:9:18 | 6: ldloc.0 | -| C:/dev/projects/Sandbox/PortablePdb/Class1.cs:9:5:9:18 | 7: ldloc.1 | -| C:/dev/projects/Sandbox/PortablePdb/Class1.cs:9:5:9:18 | 8: mul | -| C:/dev/projects/Sandbox/PortablePdb/Class1.cs:9:5:9:18 | 9: stloc.0 L0 | -| C:/dev/projects/Sandbox/PortablePdb/Class1.cs:10:4:10:19 | 22: ldloc.0 | -| C:/dev/projects/Sandbox/PortablePdb/Class1.cs:10:4:10:19 | 23: stloc.3 L3 | -| C:/dev/projects/Sandbox/PortablePdb/Class1.cs:10:4:10:19 | 24: br.s 25: | -| C:/dev/projects/Sandbox/PortablePdb/Class1.cs:11:3:11:4 | 25: ldloc.3 | -| C:/dev/projects/Sandbox/PortablePdb/Class1.cs:11:3:11:4 | 26: ret | -| EmbeddedPdb, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null | 0: ldarg.0 | -| EmbeddedPdb, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null | 1: call System.Object..ctor | -| EmbeddedPdb, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null | 2: nop | -| EmbeddedPdb, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null | 3: ret | -| PortablePdb, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null | 0: ldarg.0 | -| PortablePdb, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null | 1: call System.Object..ctor | -| PortablePdb, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null | 2: nop | -| PortablePdb, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null | 3: ret | diff --git a/csharp/ql/test/library-tests/cil/pdbs/InstructionLocations.ql b/csharp/ql/test/library-tests/cil/pdbs/InstructionLocations.ql deleted file mode 100644 index 32170537789..00000000000 --- a/csharp/ql/test/library-tests/cil/pdbs/InstructionLocations.ql +++ /dev/null @@ -1,17 +0,0 @@ -import cil - -// Used only because native PDBs are only supported on Windows. -// They are included as tests but disabled here. -deprecated predicate filterMethod(CIL::Method m) { - m.getDeclaringType().getNamespace().getName() = "EmbeddedPdb" or - m.getDeclaringType().getNamespace().getName() = "PortablePdb" -} - -deprecated query predicate instructionLocations(string loc, string extra) { - exists(CIL::Instruction instruction, CIL::Location location | - location = instruction.getLocation() and - filterMethod(instruction.getImplementation().getMethod()) and - loc = location.toString() and - extra = instruction.toStringExtra() - ) -} diff --git a/csharp/ql/test/library-tests/cil/pdbs/MethodLocations.expected b/csharp/ql/test/library-tests/cil/pdbs/MethodLocations.expected deleted file mode 100644 index 4a9747bb722..00000000000 --- a/csharp/ql/test/library-tests/cil/pdbs/MethodLocations.expected +++ /dev/null @@ -1,4 +0,0 @@ -| System.Int32 EmbeddedPdb.Class1.Method() | C:/dev/projects/Sandbox/EmbeddedPdb/Class1.cs:6:3:6:4 | true | -| System.Int32 EmbeddedPdb.Class1.Method() | EmbeddedPdb, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null | false | -| System.Int32 PortablePdb.Class1.Factorial(System.Int32) | C:/dev/projects/Sandbox/PortablePdb/Class1.cs:6:3:6:4 | true | -| System.Int32 PortablePdb.Class1.Factorial(System.Int32) | PortablePdb, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null | false | diff --git a/csharp/ql/test/library-tests/cil/pdbs/MethodLocations.ql b/csharp/ql/test/library-tests/cil/pdbs/MethodLocations.ql deleted file mode 100644 index a301741f0cf..00000000000 --- a/csharp/ql/test/library-tests/cil/pdbs/MethodLocations.ql +++ /dev/null @@ -1,19 +0,0 @@ -import cil - -// Used only because native PDBs are only supported on Windows. -// They are included as tests but disabled here. -deprecated predicate filterMethod(CIL::Method m) { - m.getDeclaringType().getNamespace().getName() = "EmbeddedPdb" or - m.getDeclaringType().getNamespace().getName() = "PortablePdb" -} - -deprecated query predicate methodLocations(string m, string loc, boolean primaryLocation) { - exists(CIL::Method method, CIL::Location location | - location = method.getALocation() and - exists(CIL::Location l | l = method.getALocation() | l.getFile().isPdbSourceFile()) and - (if location = method.getLocation() then primaryLocation = true else primaryLocation = false) and - filterMethod(method) and - m = method.toStringWithTypes() and - loc = location.toString() - ) -} diff --git a/csharp/ql/test/library-tests/cil/pdbs/PdbOnly.dll b/csharp/ql/test/library-tests/cil/pdbs/PdbOnly.dll deleted file mode 100644 index 49fd9b0be23..00000000000 Binary files a/csharp/ql/test/library-tests/cil/pdbs/PdbOnly.dll and /dev/null differ diff --git a/csharp/ql/test/library-tests/cil/pdbs/PdbOnly.pdb b/csharp/ql/test/library-tests/cil/pdbs/PdbOnly.pdb deleted file mode 100644 index 92f60f94a9d..00000000000 Binary files a/csharp/ql/test/library-tests/cil/pdbs/PdbOnly.pdb and /dev/null differ diff --git a/csharp/ql/test/library-tests/cil/pdbs/Pdbs.cs b/csharp/ql/test/library-tests/cil/pdbs/Pdbs.cs deleted file mode 100644 index 8b137891791..00000000000 --- a/csharp/ql/test/library-tests/cil/pdbs/Pdbs.cs +++ /dev/null @@ -1 +0,0 @@ - diff --git a/csharp/ql/test/library-tests/cil/pdbs/PortablePdb.dll b/csharp/ql/test/library-tests/cil/pdbs/PortablePdb.dll deleted file mode 100644 index a6da57ff582..00000000000 Binary files a/csharp/ql/test/library-tests/cil/pdbs/PortablePdb.dll and /dev/null differ diff --git a/csharp/ql/test/library-tests/cil/pdbs/PortablePdb.pdb b/csharp/ql/test/library-tests/cil/pdbs/PortablePdb.pdb deleted file mode 100644 index 4dc80964ea8..00000000000 Binary files a/csharp/ql/test/library-tests/cil/pdbs/PortablePdb.pdb and /dev/null differ diff --git a/csharp/ql/test/library-tests/cil/pdbs/Stubs.expected b/csharp/ql/test/library-tests/cil/pdbs/Stubs.expected deleted file mode 100644 index e63ae56c0a6..00000000000 --- a/csharp/ql/test/library-tests/cil/pdbs/Stubs.expected +++ /dev/null @@ -1,2 +0,0 @@ -| EmbeddedPdb.dll:0:0:0:0 | EmbeddedPdb, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null | -| PdbOnly.dll:0:0:0:0 | PdbOnly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null | diff --git a/csharp/ql/test/library-tests/cil/pdbs/Stubs.ql b/csharp/ql/test/library-tests/cil/pdbs/Stubs.ql deleted file mode 100644 index cfe897f1069..00000000000 --- a/csharp/ql/test/library-tests/cil/pdbs/Stubs.ql +++ /dev/null @@ -1,3 +0,0 @@ -import cil::CIL - -deprecated query predicate stubs(Assembly asm) { assemblyIsStub(asm) } diff --git a/csharp/ql/test/library-tests/cil/pdbs/options b/csharp/ql/test/library-tests/cil/pdbs/options deleted file mode 100644 index 0771fbd3771..00000000000 --- a/csharp/ql/test/library-tests/cil/pdbs/options +++ /dev/null @@ -1 +0,0 @@ -semmle-extractor-options: --cil --pdb diff --git a/csharp/ql/test/library-tests/cil/regressions/ConstructedMethods.expected b/csharp/ql/test/library-tests/cil/regressions/ConstructedMethods.expected deleted file mode 100644 index bb7c7754e02..00000000000 --- a/csharp/ql/test/library-tests/cil/regressions/ConstructedMethods.expected +++ /dev/null @@ -1,2 +0,0 @@ -| Methods.dll:0:0:0:0 | F | Methods.dll:0:0:0:0 | F | Methods.dll:0:0:0:0 | !0 | -| Methods.dll:0:0:0:0 | F | Methods.dll:0:0:0:0 | F | Methods.dll:0:0:0:0 | !0 | diff --git a/csharp/ql/test/library-tests/cil/regressions/ConstructedMethods.ql b/csharp/ql/test/library-tests/cil/regressions/ConstructedMethods.ql deleted file mode 100644 index d472708bb5e..00000000000 --- a/csharp/ql/test/library-tests/cil/regressions/ConstructedMethods.ql +++ /dev/null @@ -1,9 +0,0 @@ -import cil::CIL - -deprecated query predicate constructedMethods( - UnboundGenericMethod f, ConstructedMethod fc, Type typeArgument -) { - fc.getUnboundMethod() = f and - f.hasFullyQualifiedName("Methods", "Class1", "F") and - typeArgument = fc.getTypeArgument(0) -} diff --git a/csharp/ql/test/library-tests/cil/regressions/Methods.cs b/csharp/ql/test/library-tests/cil/regressions/Methods.cs deleted file mode 100644 index 7d8ec90f84d..00000000000 --- a/csharp/ql/test/library-tests/cil/regressions/Methods.cs +++ /dev/null @@ -1,17 +0,0 @@ -/* - * A regression test for the CIL extractor - compiled into Methods.dll - * This tests the correct extraction of F<T>, and we should end up with - * 2 constructed methods of F<T>. - */ - -namespace Methods -{ - public class Class1 - { - public T F<T>(T t) { return new T[] { t }[0]; } - - public T G<T>(T t) { return F(t); } - - public T H<T>(T t) { return F(t); } - } -} diff --git a/csharp/ql/test/library-tests/cil/regressions/Methods.dll b/csharp/ql/test/library-tests/cil/regressions/Methods.dll deleted file mode 100644 index 1178f3e09c4..00000000000 Binary files a/csharp/ql/test/library-tests/cil/regressions/Methods.dll and /dev/null differ diff --git a/csharp/ql/test/library-tests/cil/regressions/options b/csharp/ql/test/library-tests/cil/regressions/options deleted file mode 100644 index 8511aa162b8..00000000000 --- a/csharp/ql/test/library-tests/cil/regressions/options +++ /dev/null @@ -1 +0,0 @@ -semmle-extractor-options: --cil diff --git a/csharp/ql/test/library-tests/cil/typeAnnotations/Program.cs b/csharp/ql/test/library-tests/cil/typeAnnotations/Program.cs deleted file mode 100644 index e867fdc0718..00000000000 --- a/csharp/ql/test/library-tests/cil/typeAnnotations/Program.cs +++ /dev/null @@ -1,8 +0,0 @@ -using System; - -class Test -{ - static void Main(string[] args) - { - } -} diff --git a/csharp/ql/test/library-tests/cil/typeAnnotations/options b/csharp/ql/test/library-tests/cil/typeAnnotations/options deleted file mode 100644 index 8511aa162b8..00000000000 --- a/csharp/ql/test/library-tests/cil/typeAnnotations/options +++ /dev/null @@ -1 +0,0 @@ -semmle-extractor-options: --cil diff --git a/csharp/ql/test/library-tests/cil/typeAnnotations/typeAnnotations.expected b/csharp/ql/test/library-tests/cil/typeAnnotations/typeAnnotations.expected deleted file mode 100644 index c3216e25e99..00000000000 --- a/csharp/ql/test/library-tests/cil/typeAnnotations/typeAnnotations.expected +++ /dev/null @@ -1,3942 +0,0 @@ -| <PrivateImplementationDetails>.InlineArrayElementRef | method | 32 | -| <PrivateImplementationDetails>.InlineArrayFirstElementRef | method | 32 | -| Local variable 0 of method System.Array.Clear | local | 32 | -| Local variable 0 of method System.Array.GetFlattenedIndex | local | 32 | -| Local variable 0 of method System.Buffer.Memmove | local | 32 | -| Local variable 0 of method System.Buffers.AnyByteSearchValues.IndexOfAnyScalar | local | 32 | -| Local variable 0 of method System.Buffers.AsciiByteSearchValues.IndexOfAnyScalar | local | 32 | -| Local variable 0 of method System.Buffers.AsciiCharSearchValues.IndexOfAnyScalar | local | 32 | -| Local variable 0 of method System.Buffers.Binary.BinaryPrimitives.ReverseEndianness | local | 32 | -| Local variable 0 of method System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyVectorized | local | 32 | -| Local variable 0 of method System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyVectorizedAnyByte | local | 32 | -| Local variable 0 of method System.Buffers.IndexOfAnyAsciiSearcher.LastIndexOfAnyVectorized | local | 32 | -| Local variable 0 of method System.Buffers.IndexOfAnyAsciiSearcher.LastIndexOfAnyVectorizedAnyByte | local | 32 | -| Local variable 0 of method System.Buffers.Latin1CharSearchValues.IndexOfAny | local | 32 | -| Local variable 0 of method System.Buffers.ProbabilisticMap.IndexOfAnyVectorized | local | 32 | -| Local variable 0 of method System.Collections.Generic.Dictionary.Contains | local | 32 | -| Local variable 0 of method System.Collections.Generic.Dictionary.Enumerator.MoveNext | local | 32 | -| Local variable 0 of method System.Collections.Generic.Dictionary.FindValue | local | 32 | -| Local variable 0 of method System.Collections.Generic.Dictionary.KeyCollection.Enumerator.MoveNext | local | 32 | -| Local variable 0 of method System.Collections.Generic.Dictionary.Remove | local | 32 | -| Local variable 0 of method System.Collections.Generic.Dictionary.TryGetValue | local | 32 | -| Local variable 0 of method System.Collections.Generic.Dictionary.ValueCollection.Enumerator.MoveNext | local | 32 | -| Local variable 0 of method System.Collections.Generic.Dictionary.get_Item | local | 32 | -| Local variable 0 of method System.Collections.Generic.GenericArraySortHelper.PickPivotAndPartition | local | 32 | -| Local variable 0 of method System.Collections.Generic.GenericArraySortHelper.SwapIfGreaterWithValues | local | 32 | -| Local variable 0 of method System.Collections.Generic.HashSet.Enumerator.MoveNext | local | 32 | -| Local variable 0 of method System.Convert.TryDecodeFromUtf16 | local | 32 | -| Local variable 0 of method System.Diagnostics.Tracing.ActivityTracker.NormalizeActivityName | local | 32 | -| Local variable 0 of method System.Diagnostics.Tracing.EventSource.AddEventDescriptor | local | 32 | -| Local variable 0 of method System.Diagnostics.Tracing.EventSource.WriteEventVarargs | local | 32 | -| Local variable 0 of method System.Diagnostics.Tracing.EventSource.WriteEventWithRelatedActivityIdCore | local | 32 | -| Local variable 0 of method System.Diagnostics.Tracing.EventSource.WriteToAllListeners | local | 32 | -| Local variable 0 of method System.Diagnostics.Tracing.EventWrittenEventArgs.get_OSThreadId | local | 32 | -| Local variable 0 of method System.Enum.CompareTo | local | 32 | -| Local variable 0 of method System.Enum.Equals | local | 32 | -| Local variable 0 of method System.Enum.GetHashCode | local | 32 | -| Local variable 0 of method System.Enum.GetValue | local | 32 | -| Local variable 0 of method System.Enum.HasFlag | local | 32 | -| Local variable 0 of method System.GC.ConfigCallback | local | 32 | -| Local variable 0 of method System.Globalization.Ordinal.IndexOfOrdinalIgnoreCase | local | 32 | -| Local variable 0 of method System.Guid.GetHashCode | local | 32 | -| Local variable 0 of method System.HashCode.AddBytes | local | 32 | -| Local variable 0 of method System.HexConverter.EncodeToUtf16_Vector128 | local | 32 | -| Local variable 0 of method System.Number.BigInteger.Add | local | 32 | -| Local variable 0 of method System.Number.BigInteger.Multiply | local | 32 | -| Local variable 0 of method System.Numerics.BitOperations.Crc32Fallback.Crc32C | local | 32 | -| Local variable 0 of method System.ReadOnlySpan.GetPinnableReference | local | 32 | -| Local variable 0 of method System.Runtime.CompilerServices.ConditionalWeakTable.Container.RemoveIndex | local | 32 | -| Local variable 0 of method System.Runtime.Intrinsics.Vector512.CopyTo | local | 32 | -| Local variable 0 of method System.Runtime.Intrinsics.Vector512.Create | local | 32 | -| Local variable 0 of method System.Runtime.Intrinsics.Vector512.TryCopyTo | local | 32 | -| Local variable 0 of method System.Span.GetPinnableReference | local | 32 | -| Local variable 0 of method System.Text.Ascii.IsValidCore | local | 32 | -| Local variable 0 of method System.Threading.CancellationTokenSource.Registrations.EnterLock | local | 32 | -| Local variable 0 of method System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction | local | 32 | -| Local variable 0 of method System.Threading.TimerQueue.LinkTimer | local | 32 | -| Local variable 1 of method Interop.Sys.GetControlCharacters | local | 32 | -| Local variable 1 of method System.Array.Fill | local | 32 | -| Local variable 1 of method System.Array.GetUpperBound | local | 32 | -| Local variable 1 of method System.Buffer.Memmove | local | 32 | -| Local variable 1 of method System.Buffers.AnyByteSearchValues.IndexOfAnyScalar | local | 32 | -| Local variable 1 of method System.Buffers.AsciiByteSearchValues.IndexOfAnyScalar | local | 32 | -| Local variable 1 of method System.Buffers.AsciiCharSearchValues.IndexOfAnyScalar | local | 32 | -| Local variable 1 of method System.Buffers.Binary.BinaryPrimitives.ReverseEndianness | local | 32 | -| Local variable 1 of method System.Buffers.Latin1CharSearchValues.IndexOfAny | local | 32 | -| Local variable 1 of method System.Buffers.ProbabilisticMap..ctor | local | 32 | -| Local variable 1 of method System.Buffers.ProbabilisticMap.IndexOfAnyVectorized | local | 32 | -| Local variable 1 of method System.Buffers.Text.Base64.DecodeFromUtf8 | local | 32 | -| Local variable 1 of method System.Buffers.Text.Base64.DecodeFromUtf8InPlace | local | 32 | -| Local variable 1 of method System.Buffers.Text.Base64.EncodeToUtf8 | local | 32 | -| Local variable 1 of method System.Buffers.Text.Base64.EncodeToUtf8InPlace | local | 32 | -| Local variable 1 of method System.Byte.TryReadBigEndian | local | 32 | -| Local variable 1 of method System.Byte.TryReadLittleEndian | local | 32 | -| Local variable 1 of method System.Char.TryReadBigEndian | local | 32 | -| Local variable 1 of method System.Char.TryReadLittleEndian | local | 32 | -| Local variable 1 of method System.Collections.Generic.Dictionary.FindValue | local | 32 | -| Local variable 1 of method System.Collections.Generic.GenericArraySortHelper.PickPivotAndPartition | local | 32 | -| Local variable 1 of method System.Collections.Generic.RandomizedStringEqualityComparer..ctor | local | 32 | -| Local variable 1 of method System.ConsolePal.Read | local | 32 | -| Local variable 1 of method System.ConsolePal.Write | local | 32 | -| Local variable 1 of method System.Convert.FromBase64CharArray | local | 32 | -| Local variable 1 of method System.Convert.FromBase64String | local | 32 | -| Local variable 1 of method System.Convert.TryDecodeFromUtf16 | local | 32 | -| Local variable 1 of method System.DateTimeFormat.TryFormatDateOnlyO | local | 32 | -| Local variable 1 of method System.DateTimeFormat.TryFormatTimeOnlyO | local | 32 | -| Local variable 1 of method System.DateTimeFormat.TryFormatTimeOnlyR | local | 32 | -| Local variable 1 of method System.Diagnostics.Debugger.LogInternal | local | 32 | -| Local variable 1 of method System.Diagnostics.Tracing.ActivityTracker.ActivityInfo.CreateActivityPathGuid | local | 32 | -| Local variable 1 of method System.Diagnostics.Tracing.EventSource.WriteEvent | local | 32 | -| Local variable 1 of method System.Diagnostics.Tracing.EventSource.WriteImpl | local | 32 | -| Local variable 1 of method System.Diagnostics.Tracing.EventSource.WriteMultiMerge | local | 32 | -| Local variable 1 of method System.Diagnostics.Tracing.FrameworkEventSource.WriteEvent | local | 32 | -| Local variable 1 of method System.Enum.CompareTo | local | 32 | -| Local variable 1 of method System.Enum.Equals | local | 32 | -| Local variable 1 of method System.Enum.HasFlag | local | 32 | -| Local variable 1 of method System.Enum.ToString | local | 32 | -| Local variable 1 of method System.Enum.TryFormat | local | 32 | -| Local variable 1 of method System.Globalization.CalendarData.<>c.<GetCalendarInfo>b__32_0 | local | 32 | -| Local variable 1 of method System.Globalization.CharUnicodeInfo.GetCategoryCasingTableOffsetNoBoundsChecks | local | 32 | -| Local variable 1 of method System.Globalization.CharUnicodeInfo.GetNumericGraphemeTableOffsetNoBoundsChecks | local | 32 | -| Local variable 1 of method System.Globalization.CharUnicodeInfo.GetNumericValueNoBoundsCheck | local | 32 | -| Local variable 1 of method System.Globalization.CompareInfo.IcuCompareString | local | 32 | -| Local variable 1 of method System.Globalization.CompareInfo.IcuEndsWith | local | 32 | -| Local variable 1 of method System.Globalization.CompareInfo.IcuGetSortKeyLength | local | 32 | -| Local variable 1 of method System.Globalization.CompareInfo.IcuIndexOfCore | local | 32 | -| Local variable 1 of method System.Globalization.CompareInfo.IcuStartsWith | local | 32 | -| Local variable 1 of method System.Globalization.CompareInfo.IndexOfOrdinalHelper | local | 32 | -| Local variable 1 of method System.Globalization.CompareInfo.IndexOfOrdinalIgnoreCaseHelper | local | 32 | -| Local variable 1 of method System.Globalization.IdnMapping.GetAscii | local | 32 | -| Local variable 1 of method System.Globalization.IdnMapping.GetUnicode | local | 32 | -| Local variable 1 of method System.Globalization.InvariantModeCasing.CompareStringIgnoreCase | local | 32 | -| Local variable 1 of method System.Globalization.InvariantModeCasing.IndexOfIgnoreCase | local | 32 | -| Local variable 1 of method System.Globalization.InvariantModeCasing.LastIndexOfIgnoreCase | local | 32 | -| Local variable 1 of method System.Globalization.OrdinalCasing.CompareStringIgnoreCase | local | 32 | -| Local variable 1 of method System.Globalization.OrdinalCasing.IndexOf | local | 32 | -| Local variable 1 of method System.Globalization.OrdinalCasing.LastIndexOf | local | 32 | -| Local variable 1 of method System.Guid.TryFormatX | local | 32 | -| Local variable 1 of method System.HashCode.AddBytes | local | 32 | -| Local variable 1 of method System.HexConverter.EncodeToUtf16_Vector128 | local | 32 | -| Local variable 1 of method System.IO.RandomAccess.ReadAtOffset | local | 32 | -| Local variable 1 of method System.IO.RandomAccess.WriteAtOffset | local | 32 | -| Local variable 1 of method System.MemoryExtensions.IndexOfAnyExcept | local | 32 | -| Local variable 1 of method System.MemoryExtensions.LastIndexOfAnyExcept | local | 32 | -| Local variable 1 of method System.Number.BigInteger.Add | local | 32 | -| Local variable 1 of method System.Number.BigInteger.Pow10 | local | 32 | -| Local variable 1 of method System.Number.MatchChars | local | 32 | -| Local variable 1 of method System.Number.TryStringToNumber | local | 32 | -| Local variable 1 of method System.PackedSpanHelpers.Contains | local | 32 | -| Local variable 1 of method System.PackedSpanHelpers.IndexOf | local | 32 | -| Local variable 1 of method System.Reflection.Emit.RuntimeModuleBuilder.SetFieldRVAContent | local | 32 | -| Local variable 1 of method System.Reflection.Emit.RuntimeTypeBuilder.DefineCustomAttribute | local | 32 | -| Local variable 1 of method System.Reflection.Emit.RuntimeTypeBuilder.SetPInvokeData | local | 32 | -| Local variable 1 of method System.Reflection.Emit.ScopeTree.AddUsingNamespaceToCurrentScope | local | 32 | -| Local variable 1 of method System.Reflection.MetadataEnumResult.get_Item | local | 32 | -| Local variable 1 of method System.Reflection.RuntimeAssembly.GetModule | local | 32 | -| Local variable 1 of method System.Reflection.RuntimeAssembly.GetVersion | local | 32 | -| Local variable 1 of method System.Runtime.InteropServices.ComWrappers.GetIUnknownImplInternal | local | 32 | -| Local variable 1 of method System.Runtime.InteropServices.Marshal.QueryInterface | local | 32 | -| Local variable 1 of method System.Runtime.Loader.AssemblyLoadContext.InternalSetProfileRoot | local | 32 | -| Local variable 1 of method System.Runtime.Loader.AssemblyLoadContext.InternalStartProfile | local | 32 | -| Local variable 1 of method System.Runtime.Loader.AssemblyLoadContext.LoadFromPath | local | 32 | -| Local variable 1 of method System.SpanHelpers.Count | local | 32 | -| Local variable 1 of method System.SpanHelpers.CountValueType | local | 32 | -| Local variable 1 of method System.SpanHelpers.IndexOf | local | 32 | -| Local variable 1 of method System.SpanHelpers.IndexOfAnyExcept | local | 32 | -| Local variable 1 of method System.SpanHelpers.IndexOfAnyExceptInRange | local | 32 | -| Local variable 1 of method System.SpanHelpers.IndexOfAnyInRange | local | 32 | -| Local variable 1 of method System.SpanHelpers.LastIndexOfAnyExcept | local | 32 | -| Local variable 1 of method System.SpanHelpers.LastIndexOfAnyExceptInRange | local | 32 | -| Local variable 1 of method System.SpanHelpers.LastIndexOfAnyInRange | local | 32 | -| Local variable 1 of method System.String.GetBytesFromEncoding | local | 32 | -| Local variable 1 of method System.String.GetNonRandomizedHashCode | local | 32 | -| Local variable 1 of method System.String.Trim | local | 32 | -| Local variable 1 of method System.String.TrimEnd | local | 32 | -| Local variable 1 of method System.String.TrimStart | local | 32 | -| Local variable 1 of method System.Text.ASCIIEncoding.GetByteCount | local | 32 | -| Local variable 1 of method System.Text.ASCIIEncoding.GetBytes | local | 32 | -| Local variable 1 of method System.Text.ASCIIEncoding.GetCharCount | local | 32 | -| Local variable 1 of method System.Text.ASCIIEncoding.GetChars | local | 32 | -| Local variable 1 of method System.Text.ASCIIEncoding.TryGetBytes | local | 32 | -| Local variable 1 of method System.Text.ASCIIEncoding.TryGetChars | local | 32 | -| Local variable 1 of method System.Text.Ascii.ChangeCase | local | 32 | -| Local variable 1 of method System.Text.Decoder.Convert | local | 32 | -| Local variable 1 of method System.Text.Decoder.GetCharCount | local | 32 | -| Local variable 1 of method System.Text.Decoder.GetChars | local | 32 | -| Local variable 1 of method System.Text.DecoderNLS.Convert | local | 32 | -| Local variable 1 of method System.Text.DecoderNLS.GetCharCount | local | 32 | -| Local variable 1 of method System.Text.Encoder.Convert | local | 32 | -| Local variable 1 of method System.Text.Encoder.GetByteCount | local | 32 | -| Local variable 1 of method System.Text.Encoder.GetBytes | local | 32 | -| Local variable 1 of method System.Text.EncoderNLS.Convert | local | 32 | -| Local variable 1 of method System.Text.Encoding.GetByteCount | local | 32 | -| Local variable 1 of method System.Text.Encoding.GetByteCountWithFallback | local | 32 | -| Local variable 1 of method System.Text.Encoding.GetBytes | local | 32 | -| Local variable 1 of method System.Text.Encoding.GetBytesWithFallback | local | 32 | -| Local variable 1 of method System.Text.Encoding.GetCharCount | local | 32 | -| Local variable 1 of method System.Text.Encoding.GetCharCountWithFallback | local | 32 | -| Local variable 1 of method System.Text.Encoding.GetChars | local | 32 | -| Local variable 1 of method System.Text.Encoding.GetCharsWithFallback | local | 32 | -| Local variable 1 of method System.Text.Encoding.GetString | local | 32 | -| Local variable 1 of method System.Text.Latin1Encoding.GetByteCount | local | 32 | -| Local variable 1 of method System.Text.Latin1Encoding.GetBytes | local | 32 | -| Local variable 1 of method System.Text.Latin1Encoding.GetChars | local | 32 | -| Local variable 1 of method System.Text.Latin1Encoding.TryGetBytes | local | 32 | -| Local variable 1 of method System.Text.Latin1Encoding.TryGetChars | local | 32 | -| Local variable 1 of method System.Text.UTF7Encoding.GetByteCount | local | 32 | -| Local variable 1 of method System.Text.UTF8Encoding.GetByteCount | local | 32 | -| Local variable 1 of method System.Text.UTF8Encoding.GetBytes | local | 32 | -| Local variable 1 of method System.Text.UTF8Encoding.GetCharCount | local | 32 | -| Local variable 1 of method System.Text.UTF8Encoding.GetChars | local | 32 | -| Local variable 1 of method System.Text.UTF8Encoding.TryGetBytes | local | 32 | -| Local variable 1 of method System.Text.UTF8Encoding.TryGetChars | local | 32 | -| Local variable 1 of method System.Text.UTF32Encoding.GetByteCount | local | 32 | -| Local variable 1 of method System.Text.Unicode.Utf8.FromUtf16 | local | 32 | -| Local variable 1 of method System.Text.Unicode.Utf8.ToUtf16 | local | 32 | -| Local variable 1 of method System.Text.Unicode.Utf8.ToUtf16PreservingReplacement | local | 32 | -| Local variable 1 of method System.Text.UnicodeEncoding.GetByteCount | local | 32 | -| Local variable 1 of method System.Threading.PortableThreadPool.HillClimbing.LogTransition | local | 32 | -| Local variable 1 of method System.Threading.Tasks.TplEventSource.TraceOperationBegin | local | 32 | -| Local variable 1 of method System.Threading.Thread.InformThreadNameChange | local | 32 | -| Local variable 1 of method System.Threading.WaitHandle.WaitMultipleIgnoringSyncContext | local | 32 | -| Local variable 1 of method System.TimeZoneInfo.<>c.<GetDisplayName>b__203_0 | local | 32 | -| Local variable 1 of method System.TimeZoneInfo.<>c.<GetDisplayName>b__203_1 | local | 32 | -| Local variable 1 of method System.UInt16.TryReadBigEndian | local | 32 | -| Local variable 1 of method System.UInt16.TryReadLittleEndian | local | 32 | -| Local variable 1 of method System.UInt32.TryReadBigEndian | local | 32 | -| Local variable 1 of method System.UInt32.TryReadLittleEndian | local | 32 | -| Local variable 1 of method System.UInt64.TryReadBigEndian | local | 32 | -| Local variable 1 of method System.UInt64.TryReadLittleEndian | local | 32 | -| Local variable 1 of method System.UInt128.TryReadBigEndian | local | 32 | -| Local variable 1 of method System.UInt128.TryReadLittleEndian | local | 32 | -| Local variable 1 of method System.UIntPtr.TryReadBigEndian | local | 32 | -| Local variable 1 of method System.UIntPtr.TryReadLittleEndian | local | 32 | -| Local variable 2 of method Interop.Globalization.GetCalendarInfo | local | 32 | -| Local variable 2 of method Interop.Globalization.GetCalendars | local | 32 | -| Local variable 2 of method Interop.Globalization.GetLocales | local | 32 | -| Local variable 2 of method Interop.Globalization.GetTimeZoneDisplayName | local | 32 | -| Local variable 2 of method Interop.Globalization.IanaIdToWindowsId | local | 32 | -| Local variable 2 of method Interop.Globalization.WindowsIdToIanaId | local | 32 | -| Local variable 2 of method Interop.Sys.GetCpuUtilization | local | 32 | -| Local variable 2 of method Interop.Sys.GetPwUidR | local | 32 | -| Local variable 2 of method System.Array.Clear | local | 32 | -| Local variable 2 of method System.Array.Copy | local | 32 | -| Local variable 2 of method System.Array.InternalGetValue | local | 32 | -| Local variable 2 of method System.Char.TryReadBigEndian | local | 32 | -| Local variable 2 of method System.Char.TryReadLittleEndian | local | 32 | -| Local variable 2 of method System.Collections.Generic.GenericArraySortHelper.PickPivotAndPartition | local | 32 | -| Local variable 2 of method System.Collections.Generic.HashSet.CopyTo | local | 32 | -| Local variable 2 of method System.Collections.Generic.HashSet.IntersectWithHashSetWithSameComparer | local | 32 | -| Local variable 2 of method System.ComAwareWeakReference.ObjectToComWeakRef | local | 32 | -| Local variable 2 of method System.Convert.ToBase64CharsLargeNoLineBreaks | local | 32 | -| Local variable 2 of method System.DateTimeFormat.FormatCustomizedRoundripTimeZone | local | 32 | -| Local variable 2 of method System.Decimal.TryWriteSignificandBigEndian | local | 32 | -| Local variable 2 of method System.Decimal.TryWriteSignificandLittleEndian | local | 32 | -| Local variable 2 of method System.Diagnostics.Tracing.EventParameterInfo.GenerateMetadataForNamedTypeV2 | local | 32 | -| Local variable 2 of method System.Diagnostics.Tracing.EventPipeInternal.CreateProvider | local | 32 | -| Local variable 2 of method System.Diagnostics.Tracing.EventPipeInternal.EventActivityIdControl | local | 32 | -| Local variable 2 of method System.Diagnostics.Tracing.EventPipeInternal.GetProvider | local | 32 | -| Local variable 2 of method System.Diagnostics.Tracing.EventSource.Write | local | 32 | -| Local variable 2 of method System.Enum.ToString | local | 32 | -| Local variable 2 of method System.Globalization.CompareInfo.EndsWithOrdinalHelper | local | 32 | -| Local variable 2 of method System.Globalization.CompareInfo.EndsWithOrdinalIgnoreCaseHelper | local | 32 | -| Local variable 2 of method System.Globalization.CompareInfo.IcuCreateSortKey | local | 32 | -| Local variable 2 of method System.Globalization.CompareInfo.IcuGetSortKey | local | 32 | -| Local variable 2 of method System.Globalization.CompareInfo.StartsWithOrdinalHelper | local | 32 | -| Local variable 2 of method System.Globalization.CompareInfo.StartsWithOrdinalIgnoreCaseHelper | local | 32 | -| Local variable 2 of method System.Globalization.InvariantModeCasing.CompareStringIgnoreCase | local | 32 | -| Local variable 2 of method System.Globalization.Normalization.IcuIsNormalized | local | 32 | -| Local variable 2 of method System.Globalization.Ordinal.CompareStringIgnoreCase | local | 32 | -| Local variable 2 of method System.Globalization.Ordinal.EqualsStringIgnoreCaseUtf8 | local | 32 | -| Local variable 2 of method System.Globalization.OrdinalCasing.CompareStringIgnoreCase | local | 32 | -| Local variable 2 of method System.Globalization.TextInfo.ChangeCaseCommon | local | 32 | -| Local variable 2 of method System.Globalization.TextInfo.ToLowerAsciiInvariant | local | 32 | -| Local variable 2 of method System.HashCode.AddBytes | local | 32 | -| Local variable 2 of method System.HexConverter.TryDecodeFromUtf16_Vector128 | local | 32 | -| Local variable 2 of method System.IO.Enumeration.FileSystemEnumerator.FindNextEntry | local | 32 | -| Local variable 2 of method System.IO.Path.TryJoin | local | 32 | -| Local variable 2 of method System.IO.PathInternal.EqualStartingCharacterCount | local | 32 | -| Local variable 2 of method System.IO.PinnedBufferMemoryStream..ctor | local | 32 | -| Local variable 2 of method System.Int16.TryReadBigEndian | local | 32 | -| Local variable 2 of method System.Int16.TryReadLittleEndian | local | 32 | -| Local variable 2 of method System.Int32.TryReadBigEndian | local | 32 | -| Local variable 2 of method System.Int32.TryReadLittleEndian | local | 32 | -| Local variable 2 of method System.Int64.TryReadBigEndian | local | 32 | -| Local variable 2 of method System.Int64.TryReadLittleEndian | local | 32 | -| Local variable 2 of method System.Int128.TryReadBigEndian | local | 32 | -| Local variable 2 of method System.Int128.TryReadLittleEndian | local | 32 | -| Local variable 2 of method System.Int128.TryWriteBigEndian | local | 32 | -| Local variable 2 of method System.Int128.TryWriteLittleEndian | local | 32 | -| Local variable 2 of method System.IntPtr.TryReadBigEndian | local | 32 | -| Local variable 2 of method System.IntPtr.TryReadLittleEndian | local | 32 | -| Local variable 2 of method System.MemoryExtensions.IndexOfAnyExcept | local | 32 | -| Local variable 2 of method System.MemoryExtensions.LastIndexOfAnyExcept | local | 32 | -| Local variable 2 of method System.ModuleHandle.ResolveMethodHandleInternal | local | 32 | -| Local variable 2 of method System.Number.BigInteger.Multiply | local | 32 | -| Local variable 2 of method System.Number.TryInt32ToHexStr | local | 32 | -| Local variable 2 of method System.Number.TryInt64ToHexStr | local | 32 | -| Local variable 2 of method System.Number.TryNegativeInt32ToDecStr | local | 32 | -| Local variable 2 of method System.Number.TryNegativeInt64ToDecStr | local | 32 | -| Local variable 2 of method System.Number.TryUInt32ToBinaryStr | local | 32 | -| Local variable 2 of method System.Number.TryUInt32ToDecStr | local | 32 | -| Local variable 2 of method System.Number.TryUInt64ToBinaryStr | local | 32 | -| Local variable 2 of method System.Number.TryUInt64ToDecStr | local | 32 | -| Local variable 2 of method System.Object.MemberwiseClone | local | 32 | -| Local variable 2 of method System.PackedSpanHelpers.IndexOfAny | local | 32 | -| Local variable 2 of method System.Reflection.AssemblyName.ParseAsAssemblySpec | local | 32 | -| Local variable 2 of method System.Reflection.Emit.RuntimeModuleBuilder.GetArrayMethodToken | local | 32 | -| Local variable 2 of method System.Reflection.Emit.RuntimeModuleBuilder.GetMemberRefFromSignature | local | 32 | -| Local variable 2 of method System.Reflection.Emit.RuntimeModuleBuilder.GetStringConstant | local | 32 | -| Local variable 2 of method System.Reflection.Emit.RuntimeModuleBuilder.GetTokenFromTypeSpec | local | 32 | -| Local variable 2 of method System.Reflection.Emit.RuntimeModuleBuilder.GetTypeRef | local | 32 | -| Local variable 2 of method System.Reflection.Emit.RuntimeTypeBuilder.DefineEvent | local | 32 | -| Local variable 2 of method System.Reflection.Emit.RuntimeTypeBuilder.DefineField | local | 32 | -| Local variable 2 of method System.Reflection.Emit.RuntimeTypeBuilder.DefineGenericParam | local | 32 | -| Local variable 2 of method System.Reflection.Emit.RuntimeTypeBuilder.DefineMethod | local | 32 | -| Local variable 2 of method System.Reflection.Emit.RuntimeTypeBuilder.DefineMethodSpec | local | 32 | -| Local variable 2 of method System.Reflection.Emit.RuntimeTypeBuilder.DefineProperty | local | 32 | -| Local variable 2 of method System.Reflection.Emit.RuntimeTypeBuilder.DefineType | local | 32 | -| Local variable 2 of method System.Reflection.Emit.RuntimeTypeBuilder.GetTokenFromSig | local | 32 | -| Local variable 2 of method System.Reflection.Emit.RuntimeTypeBuilder.SetMethodIL | local | 32 | -| Local variable 2 of method System.Reflection.Emit.RuntimeTypeBuilder.SetParamInfo | local | 32 | -| Local variable 2 of method System.Reflection.RuntimeAssembly.GetManifestResourceInfo | local | 32 | -| Local variable 2 of method System.Reflection.RuntimeAssembly.GetResource | local | 32 | -| Local variable 2 of method System.SByte.TryReadBigEndian | local | 32 | -| Local variable 2 of method System.SByte.TryReadLittleEndian | local | 32 | -| Local variable 2 of method System.SpanHelpers.IndexOfAnyValueType | local | 32 | -| Local variable 2 of method System.SpanHelpers.LastIndexOfAnyInRangeUnsignedNumber | local | 32 | -| Local variable 2 of method System.SpanHelpers.LastIndexOfAnyValueType | local | 32 | -| Local variable 2 of method System.SpanHelpers.NonPackedIndexOfAnyInRangeUnsignedNumber | local | 32 | -| Local variable 2 of method System.SpanHelpers.NonPackedIndexOfAnyValueType | local | 32 | -| Local variable 2 of method System.String.CompareOrdinalHelper | local | 32 | -| Local variable 2 of method System.String.MakeSeparatorListVectorized | local | 32 | -| Local variable 2 of method System.StubHelpers.AnsiCharMarshaler.DoAnsiConversion | local | 32 | -| Local variable 2 of method System.Text.DecoderNLS.GetChars | local | 32 | -| Local variable 2 of method System.Text.EncoderNLS.GetByteCount | local | 32 | -| Local variable 2 of method System.Text.EncoderNLS.GetBytes | local | 32 | -| Local variable 2 of method System.Text.StringBuilder.Append | local | 32 | -| Local variable 2 of method System.Text.UTF7Encoding.GetBytes | local | 32 | -| Local variable 2 of method System.Text.UTF32Encoding.GetBytes | local | 32 | -| Local variable 2 of method System.Text.UnicodeEncoding.GetBytes | local | 32 | -| Local variable 2 of method System.UInt16.TryReadBigEndian | local | 32 | -| Local variable 2 of method System.UInt16.TryReadLittleEndian | local | 32 | -| Local variable 2 of method System.UInt32.TryReadBigEndian | local | 32 | -| Local variable 2 of method System.UInt32.TryReadLittleEndian | local | 32 | -| Local variable 2 of method System.UInt64.TryReadBigEndian | local | 32 | -| Local variable 2 of method System.UInt64.TryReadLittleEndian | local | 32 | -| Local variable 2 of method System.UInt128.<op_Division>g__AddDivisor\|110_0 | local | 32 | -| Local variable 2 of method System.UInt128.TryReadBigEndian | local | 32 | -| Local variable 2 of method System.UInt128.TryReadLittleEndian | local | 32 | -| Local variable 2 of method System.UInt128.TryWriteBigEndian | local | 32 | -| Local variable 2 of method System.UInt128.WriteLittleEndianUnsafe | local | 32 | -| Local variable 2 of method System.UIntPtr.TryReadBigEndian | local | 32 | -| Local variable 2 of method System.UIntPtr.TryReadLittleEndian | local | 32 | -| Local variable 3 of method Interop.Globalization.EnumCalendarInfo | local | 32 | -| Local variable 3 of method Interop.Globalization.GetJapaneseEraStartDate | local | 32 | -| Local variable 3 of method Interop.Globalization.GetLocaleInfoGroupingSizes | local | 32 | -| Local variable 3 of method Interop.Globalization.GetLocaleInfoInt | local | 32 | -| Local variable 3 of method Interop.Globalization.GetLocaleInfoString | local | 32 | -| Local variable 3 of method Interop.Globalization.GetLocaleName | local | 32 | -| Local variable 3 of method Interop.Globalization.IsPredefinedLocale | local | 32 | -| Local variable 3 of method Interop.Kernel32.GetEnvironmentVariable | local | 32 | -| Local variable 3 of method Interop.Sys.GetUnixVersion | local | 32 | -| Local variable 3 of method Interop.Sys.GetWindowSize | local | 32 | -| Local variable 3 of method Interop.Sys.LStat | local | 32 | -| Local variable 3 of method Interop.Sys.MkDir | local | 32 | -| Local variable 3 of method Interop.Sys.ReadLink | local | 32 | -| Local variable 3 of method Interop.Sys.Rename | local | 32 | -| Local variable 3 of method Interop.Sys.SetWindowSize | local | 32 | -| Local variable 3 of method Interop.Sys.Stat | local | 32 | -| Local variable 3 of method System.Array.Copy | local | 32 | -| Local variable 3 of method System.Array.CreateInstance | local | 32 | -| Local variable 3 of method System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyVectorized | local | 32 | -| Local variable 3 of method System.Buffers.IndexOfAnyAsciiSearcher.LastIndexOfAnyVectorized | local | 32 | -| Local variable 3 of method System.Buffers.Text.Base64.DecodeFromUtf8 | local | 32 | -| Local variable 3 of method System.Buffers.Text.Base64.EncodeToUtf8 | local | 32 | -| Local variable 3 of method System.Collections.Generic.Dictionary.Remove | local | 32 | -| Local variable 3 of method System.Collections.Generic.GenericArraySortHelper.PickPivotAndPartition | local | 32 | -| Local variable 3 of method System.Collections.Generic.HashSet.RemoveWhere | local | 32 | -| Local variable 3 of method System.Convert.ToBase64CharsLargeNoLineBreaks | local | 32 | -| Local variable 3 of method System.Convert.TryToBase64Chars | local | 32 | -| Local variable 3 of method System.DateTimeFormat.TryFormatDateOnlyR | local | 32 | -| Local variable 3 of method System.Diagnostics.Debugger.LogInternal | local | 32 | -| Local variable 3 of method System.Diagnostics.Tracing.EventPipeInternal.Enable | local | 32 | -| Local variable 3 of method System.Diagnostics.Tracing.EventSource.Write | local | 32 | -| Local variable 3 of method System.Diagnostics.Tracing.EventSource.WriteEvent | local | 32 | -| Local variable 3 of method System.Globalization.CompareInfo.IcuCompareString | local | 32 | -| Local variable 3 of method System.Globalization.CompareInfo.IcuEndsWith | local | 32 | -| Local variable 3 of method System.Globalization.CompareInfo.IcuIndexOfCore | local | 32 | -| Local variable 3 of method System.Globalization.CompareInfo.IcuStartsWith | local | 32 | -| Local variable 3 of method System.Globalization.CompareInfo.IndexOfOrdinalHelper | local | 32 | -| Local variable 3 of method System.Globalization.CompareInfo.IndexOfOrdinalIgnoreCaseHelper | local | 32 | -| Local variable 3 of method System.Globalization.InvariantModeCasing.IndexOfIgnoreCase | local | 32 | -| Local variable 3 of method System.Globalization.InvariantModeCasing.LastIndexOfIgnoreCase | local | 32 | -| Local variable 3 of method System.Globalization.Ordinal.CompareStringIgnoreCase | local | 32 | -| Local variable 3 of method System.Globalization.Ordinal.EqualsStringIgnoreCaseUtf8 | local | 32 | -| Local variable 3 of method System.Globalization.OrdinalCasing.IndexOf | local | 32 | -| Local variable 3 of method System.Globalization.OrdinalCasing.LastIndexOf | local | 32 | -| Local variable 3 of method System.HexConverter.TryDecodeFromUtf16_Vector128 | local | 32 | -| Local variable 3 of method System.Int16.TryReadBigEndian | local | 32 | -| Local variable 3 of method System.Int16.TryReadLittleEndian | local | 32 | -| Local variable 3 of method System.Int32.TryReadBigEndian | local | 32 | -| Local variable 3 of method System.Int32.TryReadLittleEndian | local | 32 | -| Local variable 3 of method System.Int64.TryReadBigEndian | local | 32 | -| Local variable 3 of method System.Int64.TryReadLittleEndian | local | 32 | -| Local variable 3 of method System.Int128.TryReadBigEndian | local | 32 | -| Local variable 3 of method System.Int128.TryReadLittleEndian | local | 32 | -| Local variable 3 of method System.IntPtr.TryReadBigEndian | local | 32 | -| Local variable 3 of method System.IntPtr.TryReadLittleEndian | local | 32 | -| Local variable 3 of method System.Memory.Pin | local | 32 | -| Local variable 3 of method System.ModuleHandle.ResolveMethodHandleInternal | local | 32 | -| Local variable 3 of method System.Number.BigInteger.Pow10 | local | 32 | -| Local variable 3 of method System.Number.FindSection | local | 32 | -| Local variable 3 of method System.Number.Int32ToHexStr | local | 32 | -| Local variable 3 of method System.Number.Int64ToHexStr | local | 32 | -| Local variable 3 of method System.Number.NegativeInt32ToDecStr | local | 32 | -| Local variable 3 of method System.Number.NegativeInt64ToDecStr | local | 32 | -| Local variable 3 of method System.Number.TryInt128ToHexStr | local | 32 | -| Local variable 3 of method System.Number.TryNegativeInt128ToDecStr | local | 32 | -| Local variable 3 of method System.Number.TryUInt32ToDecStr | local | 32 | -| Local variable 3 of method System.Number.TryUInt64ToDecStr | local | 32 | -| Local variable 3 of method System.Number.TryUInt128ToBinaryStr | local | 32 | -| Local variable 3 of method System.Number.TryUInt128ToDecStr | local | 32 | -| Local variable 3 of method System.Number.UInt32ToBinaryStr | local | 32 | -| Local variable 3 of method System.Number.UInt32ToDecStr | local | 32 | -| Local variable 3 of method System.Number.UInt32ToDecStr_NoSmallNumberCheck | local | 32 | -| Local variable 3 of method System.Number.UInt64ToBinaryStr | local | 32 | -| Local variable 3 of method System.Number.UInt64ToDecStr | local | 32 | -| Local variable 3 of method System.Number.UInt128ToDecStr | local | 32 | -| Local variable 3 of method System.Object.MemberwiseClone | local | 32 | -| Local variable 3 of method System.PackedSpanHelpers.Contains | local | 32 | -| Local variable 3 of method System.PackedSpanHelpers.IndexOf | local | 32 | -| Local variable 3 of method System.ReadOnlyMemory.Pin | local | 32 | -| Local variable 3 of method System.Reflection.CustomAttribute.AddCustomAttributes | local | 32 | -| Local variable 3 of method System.Reflection.Emit.RuntimeAssemblyBuilder.CreateDynamicAssembly | local | 32 | -| Local variable 3 of method System.Reflection.Emit.RuntimeTypeBuilder.SetPInvokeData | local | 32 | -| Local variable 3 of method System.Reflection.Metadata.AssemblyExtensions.InternalTryGetRawMetadata | local | 32 | -| Local variable 3 of method System.Reflection.RuntimeAssembly.GetVersion | local | 32 | -| Local variable 3 of method System.Runtime.CompilerServices.ConditionalWeakTable.Container.Resize | local | 32 | -| Local variable 3 of method System.Runtime.InteropServices.ComWrappers.GetIUnknownImplInternal | local | 32 | -| Local variable 3 of method System.Runtime.InteropServices.ComWrappers.TryGetComInstanceInternal | local | 32 | -| Local variable 3 of method System.Runtime.InteropServices.ComWrappers.TryGetOrCreateComInterfaceForObjectInternal | local | 32 | -| Local variable 3 of method System.Runtime.InteropServices.Marshal.QueryInterface | local | 32 | -| Local variable 3 of method System.Runtime.InteropServices.NativeLibrary.GetSymbol | local | 32 | -| Local variable 3 of method System.Runtime.InteropServices.NativeLibrary.LoadFromPath | local | 32 | -| Local variable 3 of method System.Runtime.InteropServices.SafeBuffer.ReadSpan | local | 32 | -| Local variable 3 of method System.Runtime.InteropServices.SafeBuffer.WriteSpan | local | 32 | -| Local variable 3 of method System.Runtime.Loader.AssemblyLoadContext.InternalLoad | local | 32 | -| Local variable 3 of method System.Runtime.Loader.AssemblyLoadContext.LoadFromPath | local | 32 | -| Local variable 3 of method System.Runtime.Loader.AssemblyLoadContext.TraceAssemblyResolveHandlerInvoked | local | 32 | -| Local variable 3 of method System.Runtime.Loader.AssemblyLoadContext.TraceResolvingHandlerInvoked | local | 32 | -| Local variable 3 of method System.Runtime.Loader.AssemblyLoadContext.TraceSatelliteSubdirectoryPathProbed | local | 32 | -| Local variable 3 of method System.RuntimeType.RuntimeTypeCache.MemberInfoCache.Populate | local | 32 | -| Local variable 3 of method System.SpanHelpers.CountValueType | local | 32 | -| Local variable 3 of method System.SpanHelpers.Fill | local | 32 | -| Local variable 3 of method System.SpanHelpers.LastIndexOf | local | 32 | -| Local variable 3 of method System.SpanHelpers.LastIndexOfAnyValueType | local | 32 | -| Local variable 3 of method System.SpanHelpers.NonPackedContainsValueType | local | 32 | -| Local variable 3 of method System.SpanHelpers.NonPackedIndexOfAnyValueType | local | 32 | -| Local variable 3 of method System.SpanHelpers.NonPackedIndexOfValueType | local | 32 | -| Local variable 3 of method System.SpanHelpers.Reverse | local | 32 | -| Local variable 3 of method System.String.CreateStringFromEncoding | local | 32 | -| Local variable 3 of method System.String.GetNonRandomizedHashCodeOrdinalIgnoreCase | local | 32 | -| Local variable 3 of method System.Text.ASCIIEncoding.GetBytes | local | 32 | -| Local variable 3 of method System.Text.ASCIIEncoding.GetChars | local | 32 | -| Local variable 3 of method System.Text.ASCIIEncoding.TryGetBytes | local | 32 | -| Local variable 3 of method System.Text.ASCIIEncoding.TryGetChars | local | 32 | -| Local variable 3 of method System.Text.Ascii.ChangeCase | local | 32 | -| Local variable 3 of method System.Text.Ascii.Equals | local | 32 | -| Local variable 3 of method System.Text.Ascii.EqualsIgnoreCase | local | 32 | -| Local variable 3 of method System.Text.Ascii.FromUtf16 | local | 32 | -| Local variable 3 of method System.Text.Ascii.ToUtf16 | local | 32 | -| Local variable 3 of method System.Text.Decoder.Convert | local | 32 | -| Local variable 3 of method System.Text.Decoder.GetChars | local | 32 | -| Local variable 3 of method System.Text.DecoderNLS.Convert | local | 32 | -| Local variable 3 of method System.Text.Encoder.Convert | local | 32 | -| Local variable 3 of method System.Text.Encoder.GetBytes | local | 32 | -| Local variable 3 of method System.Text.EncoderNLS.Convert | local | 32 | -| Local variable 3 of method System.Text.Encoding.GetBytes | local | 32 | -| Local variable 3 of method System.Text.Encoding.GetBytesWithFallback | local | 32 | -| Local variable 3 of method System.Text.Encoding.GetChars | local | 32 | -| Local variable 3 of method System.Text.Encoding.GetCharsWithFallback | local | 32 | -| Local variable 3 of method System.Text.Latin1Encoding.GetBytes | local | 32 | -| Local variable 3 of method System.Text.Latin1Encoding.GetChars | local | 32 | -| Local variable 3 of method System.Text.Latin1Encoding.TryGetBytes | local | 32 | -| Local variable 3 of method System.Text.Latin1Encoding.TryGetChars | local | 32 | -| Local variable 3 of method System.Text.UTF8Encoding.GetBytes | local | 32 | -| Local variable 3 of method System.Text.UTF8Encoding.GetChars | local | 32 | -| Local variable 3 of method System.Text.UTF8Encoding.TryGetBytes | local | 32 | -| Local variable 3 of method System.Text.UTF8Encoding.TryGetChars | local | 32 | -| Local variable 3 of method System.Text.Unicode.Utf8.FromUtf16 | local | 32 | -| Local variable 3 of method System.Text.Unicode.Utf8.ToUtf16 | local | 32 | -| Local variable 3 of method System.Text.Unicode.Utf8.ToUtf16PreservingReplacement | local | 32 | -| Local variable 3 of method System.Threading.Thread.StartCore | local | 32 | -| Local variable 3 of method System.UInt128.<op_Division>g__SubtractDivisor\|110_3 | local | 32 | -| Local variable 4 of method Interop.Globalization.GetCalendars | local | 32 | -| Local variable 4 of method Interop.Globalization.GetLocaleTimeFormat | local | 32 | -| Local variable 4 of method Interop.Globalization.GetTimeZoneDisplayName | local | 32 | -| Local variable 4 of method Interop.Kernel32.GetMessage | local | 32 | -| Local variable 4 of method Interop.Kernel32.SetEnvironmentVariable | local | 32 | -| Local variable 4 of method Interop.Sys.IsMemberOfGroup | local | 32 | -| Local variable 4 of method System.Array.Copy | local | 32 | -| Local variable 4 of method System.Buffers.ProbabilisticMap.IndexOfAnyVectorized | local | 32 | -| Local variable 4 of method System.Collections.Generic.Dictionary.CollectionsMarshalHelper.GetValueRefOrAddDefault | local | 32 | -| Local variable 4 of method System.Collections.Generic.Dictionary.CopyEntries | local | 32 | -| Local variable 4 of method System.Collections.Generic.Dictionary.TryInsert | local | 32 | -| Local variable 4 of method System.Collections.Generic.HashSet.AddIfNotPresent | local | 32 | -| Local variable 4 of method System.Collections.Generic.HashSet.ConstructFrom | local | 32 | -| Local variable 4 of method System.Convert.ToBase64CharsLargeNoLineBreaks | local | 32 | -| Local variable 4 of method System.Convert.ToBase64String | local | 32 | -| Local variable 4 of method System.DateTimeFormat.FormatCustomizedTimeZone | local | 32 | -| Local variable 4 of method System.DateTimeFormat.FormatDigits | local | 32 | -| Local variable 4 of method System.Diagnostics.Tracing.DataCollector.AddNullTerminatedString | local | 32 | -| Local variable 4 of method System.Diagnostics.Tracing.EventSource.WriteEvent | local | 32 | -| Local variable 4 of method System.Enum.Format | local | 32 | -| Local variable 4 of method System.Globalization.CompareInfo.EndsWithOrdinalHelper | local | 32 | -| Local variable 4 of method System.Globalization.CompareInfo.EndsWithOrdinalIgnoreCaseHelper | local | 32 | -| Local variable 4 of method System.Globalization.CompareInfo.IcuGetSortKey | local | 32 | -| Local variable 4 of method System.Globalization.CompareInfo.StartsWithOrdinalHelper | local | 32 | -| Local variable 4 of method System.Globalization.CompareInfo.StartsWithOrdinalIgnoreCaseHelper | local | 32 | -| Local variable 4 of method System.Globalization.IdnMapping.IcuGetUnicodeCore | local | 32 | -| Local variable 4 of method System.Globalization.Ordinal.IndexOfOrdinalIgnoreCase | local | 32 | -| Local variable 4 of method System.IO.PathInternal.EqualStartingCharacterCount | local | 32 | -| Local variable 4 of method System.MemoryExtensions.TrimUtf8 | local | 32 | -| Local variable 4 of method System.Number.BigInteger.AddDivisor | local | 32 | -| Local variable 4 of method System.Number.Int128ToHexStr | local | 32 | -| Local variable 4 of method System.Number.NegativeInt128ToDecStr | local | 32 | -| Local variable 4 of method System.Number.UInt128ToBinaryStr | local | 32 | -| Local variable 4 of method System.PackedSpanHelpers.IndexOfAnyInRange | local | 32 | -| Local variable 4 of method System.Reflection.AssemblyName.EscapeString | local | 32 | -| Local variable 4 of method System.Reflection.AssemblyName.ParseAsAssemblySpec | local | 32 | -| Local variable 4 of method System.Reflection.Emit.RuntimeModuleBuilder.GetArrayMethodToken | local | 32 | -| Local variable 4 of method System.Reflection.Emit.RuntimeModuleBuilder.GetMemberRefFromSignature | local | 32 | -| Local variable 4 of method System.Reflection.Emit.RuntimeTypeBuilder.DefineField | local | 32 | -| Local variable 4 of method System.Reflection.Emit.RuntimeTypeBuilder.DefineGenericParam | local | 32 | -| Local variable 4 of method System.Reflection.Emit.RuntimeTypeBuilder.DefineMethod | local | 32 | -| Local variable 4 of method System.Reflection.Emit.RuntimeTypeBuilder.DefineProperty | local | 32 | -| Local variable 4 of method System.Reflection.Emit.RuntimeTypeBuilder.DefineType | local | 32 | -| Local variable 4 of method System.Reflection.Emit.RuntimeTypeBuilder.SetMethodIL | local | 32 | -| Local variable 4 of method System.Reflection.RuntimeAssembly.GetResource | local | 32 | -| Local variable 4 of method System.Reflection.RuntimeAssembly.InternalLoad | local | 32 | -| Local variable 4 of method System.Runtime.InteropServices.NativeLibrary.LoadByName | local | 32 | -| Local variable 4 of method System.Runtime.Loader.AssemblyLoadContext.InternalLoad | local | 32 | -| Local variable 4 of method System.Runtime.Loader.AssemblyLoadContext.TraceAssemblyLoadFromResolveHandlerInvoked | local | 32 | -| Local variable 4 of method System.SpanHelpers.IndexOf | local | 32 | -| Local variable 4 of method System.SpanHelpers.LastIndexOf | local | 32 | -| Local variable 4 of method System.SpanHelpers.NonPackedContainsValueType | local | 32 | -| Local variable 4 of method System.SpanHelpers.NonPackedIndexOfValueType | local | 32 | -| Local variable 4 of method System.SpanHelpers.Reverse | local | 32 | -| Local variable 4 of method System.String.CompareOrdinalHelper | local | 32 | -| Local variable 4 of method System.String.Replace | local | 32 | -| Local variable 4 of method System.TermInfo.ParameterizedStrings.FormatPrintF | local | 32 | -| Local variable 4 of method System.Text.Ascii.Equals | local | 32 | -| Local variable 4 of method System.Text.Ascii.EqualsIgnoreCase | local | 32 | -| Local variable 4 of method System.Text.DecoderNLS.GetChars | local | 32 | -| Local variable 4 of method System.Text.EncoderNLS.GetBytes | local | 32 | -| Local variable 4 of method System.Text.Latin1Encoding.GetString | local | 32 | -| Local variable 4 of method System.Text.UTF7Encoding.GetBytes | local | 32 | -| Local variable 4 of method System.Text.UTF7Encoding.GetChars | local | 32 | -| Local variable 4 of method System.Text.UTF8Encoding.UTF8EncodingSealed.GetBytesForSmallInput | local | 32 | -| Local variable 4 of method System.Text.UTF32Encoding.GetBytes | local | 32 | -| Local variable 4 of method System.Text.UTF32Encoding.GetChars | local | 32 | -| Local variable 4 of method System.Text.UnicodeEncoding.GetBytes | local | 32 | -| Local variable 4 of method System.Text.UnicodeEncoding.GetChars | local | 32 | -| Local variable 5 of method Interop.Globalization.GetJapaneseEraStartDate | local | 32 | -| Local variable 5 of method Interop.Globalization.GetLocaleInfoGroupingSizes | local | 32 | -| Local variable 5 of method Interop.Globalization.GetLocaleInfoInt | local | 32 | -| Local variable 5 of method Interop.Globalization.GetLocaleInfoString | local | 32 | -| Local variable 5 of method Interop.Kernel32.GetEnvironmentVariable | local | 32 | -| Local variable 5 of method Interop.Sys.FStat | local | 32 | -| Local variable 5 of method Interop.Sys.GetCwd | local | 32 | -| Local variable 5 of method Interop.Sys.GetUnixVersion | local | 32 | -| Local variable 5 of method Interop.Sys.GetUserNameFromPasswd | local | 32 | -| Local variable 5 of method Interop.Sys.LStat | local | 32 | -| Local variable 5 of method Interop.Sys.ReadLink | local | 32 | -| Local variable 5 of method Interop.Sys.Rename | local | 32 | -| Local variable 5 of method Interop.Sys.Stat | local | 32 | -| Local variable 5 of method System.Array.Clear | local | 32 | -| Local variable 5 of method System.Array.CopyImpl | local | 32 | -| Local variable 5 of method System.Array.CreateInstance | local | 32 | -| Local variable 5 of method System.Array.InternalGetValue | local | 32 | -| Local variable 5 of method System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyVectorizedAnyByte | local | 32 | -| Local variable 5 of method System.Buffers.IndexOfAnyAsciiSearcher.LastIndexOfAnyVectorizedAnyByte | local | 32 | -| Local variable 5 of method System.Buffers.SharedArrayPool.Return | local | 32 | -| Local variable 5 of method System.Buffers.Text.Base64.DecodeFromUtf8InPlace | local | 32 | -| Local variable 5 of method System.Collections.Generic.Dictionary.CopyEntries | local | 32 | -| Local variable 5 of method System.Collections.Generic.GenericArraySortHelper.PickPivotAndPartition | local | 32 | -| Local variable 5 of method System.Collections.Generic.HashSet.Remove | local | 32 | -| Local variable 5 of method System.Collections.Generic.HashSet.Resize | local | 32 | -| Local variable 5 of method System.Convert.ToBase64CharArray | local | 32 | -| Local variable 5 of method System.Convert.ToBase64CharsLargeNoLineBreaks | local | 32 | -| Local variable 5 of method System.Convert.TryToBase64Chars | local | 32 | -| Local variable 5 of method System.Diagnostics.Tracing.EventPipeInternal.Enable | local | 32 | -| Local variable 5 of method System.Diagnostics.Tracing.EventSource.WriteEvent | local | 32 | -| Local variable 5 of method System.Globalization.TextInfo.ToLowerAsciiInvariant | local | 32 | -| Local variable 5 of method System.IO.PersistedFiles.GetHomeDirectory | local | 32 | -| Local variable 5 of method System.Number.BigInteger.SubtractDivisor | local | 32 | -| Local variable 5 of method System.PackedSpanHelpers.IndexOfAny | local | 32 | -| Local variable 5 of method System.Reflection.CustomAttribute.GetAttributeUsage | local | 32 | -| Local variable 5 of method System.Reflection.Emit.RuntimeAssemblyBuilder.CreateDynamicAssembly | local | 32 | -| Local variable 5 of method System.Reflection.Metadata.AssemblyExtensions.InternalTryGetRawMetadata | local | 32 | -| Local variable 5 of method System.Reflection.Metadata.MetadataUpdater.ApplyUpdate | local | 32 | -| Local variable 5 of method System.Reflection.RuntimeAssembly.GetVersion | local | 32 | -| Local variable 5 of method System.Runtime.CompilerServices.RuntimeHelpers.PrepareMethod | local | 32 | -| Local variable 5 of method System.Runtime.InteropServices.ComWrappers.GetIUnknownImplInternal | local | 32 | -| Local variable 5 of method System.Runtime.Loader.AssemblyLoadContext.TraceAssemblyResolveHandlerInvoked | local | 32 | -| Local variable 5 of method System.Runtime.Loader.AssemblyLoadContext.TraceResolvingHandlerInvoked | local | 32 | -| Local variable 5 of method System.String.Replace | local | 32 | -| Local variable 5 of method System.Text.Ascii.ChangeCase | local | 32 | -| Local variable 5 of method System.Text.Ascii.Equals | local | 32 | -| Local variable 5 of method System.Text.Ascii.EqualsIgnoreCase | local | 32 | -| Local variable 5 of method System.Text.Ascii.FromUtf16 | local | 32 | -| Local variable 5 of method System.Text.Ascii.ToUtf16 | local | 32 | -| Local variable 5 of method System.Text.Encoding.GetBytes | local | 32 | -| Local variable 6 of method Interop.Kernel32.CreateEventEx | local | 32 | -| Local variable 6 of method Interop.Kernel32.CreateMutexEx | local | 32 | -| Local variable 6 of method Interop.Kernel32.CreateSemaphoreEx | local | 32 | -| Local variable 6 of method Interop.Kernel32.ReleaseSemaphore | local | 32 | -| Local variable 6 of method Interop.Kernel32.SetEnvironmentVariable | local | 32 | -| Local variable 6 of method System.Array.CopyImpl | local | 32 | -| Local variable 6 of method System.Array.Initialize | local | 32 | -| Local variable 6 of method System.Array.InternalGetValue | local | 32 | -| Local variable 6 of method System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyVectorized | local | 32 | -| Local variable 6 of method System.Buffers.IndexOfAnyAsciiSearcher.LastIndexOfAnyVectorized | local | 32 | -| Local variable 6 of method System.Collections.Generic.Dictionary.Resize | local | 32 | -| Local variable 6 of method System.Collections.Generic.GenericArraySortHelper.PickPivotAndPartition | local | 32 | -| Local variable 6 of method System.Collections.Generic.HashSet.FindItemIndex | local | 32 | -| Local variable 6 of method System.Convert.ConvertToBase64Array | local | 32 | -| Local variable 6 of method System.Convert.ToBase64String | local | 32 | -| Local variable 6 of method System.Convert.TryDecodeFromUtf16 | local | 32 | -| Local variable 6 of method System.DateTimeFormat.FormatCustomizedTimeZone | local | 32 | -| Local variable 6 of method System.DateTimeFormat.FormatDigits | local | 32 | -| Local variable 6 of method System.Diagnostics.Tracing.EventParameterInfo.GenerateMetadataForProperty | local | 32 | -| Local variable 6 of method System.Globalization.IdnMapping.IcuGetAsciiCore | local | 32 | -| Local variable 6 of method System.Number.BigInteger.Pow10 | local | 32 | -| Local variable 6 of method System.PackedSpanHelpers.IndexOfAny | local | 32 | -| Local variable 6 of method System.Reflection.Emit.RuntimeTypeBuilder.SetConstantValue | local | 32 | -| Local variable 6 of method System.Reflection.Emit.RuntimeTypeBuilder.SetMethodIL | local | 32 | -| Local variable 6 of method System.Reflection.Metadata.MetadataUpdater.ApplyUpdate | local | 32 | -| Local variable 6 of method System.Reflection.RuntimeAssembly.InternalLoad | local | 32 | -| Local variable 6 of method System.Runtime.CompilerServices.ConditionalWeakTable.Container.Resize | local | 32 | -| Local variable 6 of method System.Runtime.Loader.AssemblyLoadContext.TraceAssemblyLoadFromResolveHandlerInvoked | local | 32 | -| Local variable 6 of method System.SpanHelpers.NonPackedIndexOfAnyInRangeUnsignedNumber | local | 32 | -| Local variable 6 of method System.Text.Ascii.Equals | local | 32 | -| Local variable 6 of method System.Text.Ascii.EqualsIgnoreCase | local | 32 | -| Local variable 7 of method Interop.Globalization.GetJapaneseEraStartDate | local | 32 | -| Local variable 7 of method Interop.Globalization.GetLocaleInfoGroupingSizes | local | 32 | -| Local variable 7 of method Interop.Globalization.GetSortHandle | local | 32 | -| Local variable 7 of method Interop.Kernel32.OpenMutex | local | 32 | -| Local variable 7 of method System.Array.InternalGetValue | local | 32 | -| Local variable 7 of method System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyVectorized | local | 32 | -| Local variable 7 of method System.Buffers.IndexOfAnyAsciiSearcher.LastIndexOfAnyVectorized | local | 32 | -| Local variable 7 of method System.Buffers.ProbabilisticMap.IndexOfAnyVectorized | local | 32 | -| Local variable 7 of method System.Buffers.Text.Base64.EncodeToUtf8InPlace | local | 32 | -| Local variable 7 of method System.Collections.Generic.Dictionary.CollectionsMarshalHelper.GetValueRefOrAddDefault | local | 32 | -| Local variable 7 of method System.Collections.Generic.Dictionary.Remove | local | 32 | -| Local variable 7 of method System.Collections.Generic.Dictionary.TryInsert | local | 32 | -| Local variable 7 of method System.Collections.Generic.HashSet.AddIfNotPresent | local | 32 | -| Local variable 7 of method System.Collections.Generic.HashSet.Remove | local | 32 | -| Local variable 7 of method System.Collections.Generic.HashSet.Resize | local | 32 | -| Local variable 7 of method System.Convert.ToBase64CharArray | local | 32 | -| Local variable 7 of method System.Convert.ToBase64CharsLargeNoLineBreaks | local | 32 | -| Local variable 7 of method System.DateTimeFormat.TryFormatS | local | 32 | -| Local variable 7 of method System.DateTimeFormat.TryFormatu | local | 32 | -| Local variable 7 of method System.Diagnostics.Tracing.EventParameterInfo.GenerateMetadata | local | 32 | -| Local variable 7 of method System.Globalization.CompareInfo.IcuGetHashCodeOfString | local | 32 | -| Local variable 7 of method System.Globalization.Normalization.IcuNormalize | local | 32 | -| Local variable 7 of method System.PackedSpanHelpers.Contains | local | 32 | -| Local variable 7 of method System.PackedSpanHelpers.IndexOf | local | 32 | -| Local variable 7 of method System.PackedSpanHelpers.IndexOfAnyInRange | local | 32 | -| Local variable 7 of method System.Reflection.Metadata.MetadataUpdater.ApplyUpdate | local | 32 | -| Local variable 7 of method System.Reflection.RuntimeAssembly.GetVersion | local | 32 | -| Local variable 7 of method System.Runtime.CompilerServices.ConditionalWeakTable.Container.Resize | local | 32 | -| Local variable 7 of method System.Runtime.Loader.AssemblyLoadContext.TraceAssemblyResolveHandlerInvoked | local | 32 | -| Local variable 7 of method System.Runtime.Loader.AssemblyLoadContext.TraceResolvingHandlerInvoked | local | 32 | -| Local variable 7 of method System.RuntimeType.RuntimeTypeCache.MemberInfoCache.Populate | local | 32 | -| Local variable 7 of method System.SpanHelpers.NonPackedContainsValueType | local | 32 | -| Local variable 7 of method System.SpanHelpers.NonPackedIndexOfAnyInRangeUnsignedNumber | local | 32 | -| Local variable 7 of method System.SpanHelpers.NonPackedIndexOfValueType | local | 32 | -| Local variable 7 of method System.String.MakeSeparatorListAny | local | 32 | -| Local variable 7 of method System.StubHelpers.CSTRMarshaler.ConvertFixedToNative | local | 32 | -| Local variable 7 of method System.Text.Ascii.Equals | local | 32 | -| Local variable 8 of method Interop.Sys.LStat | local | 32 | -| Local variable 8 of method Interop.Sys.Stat | local | 32 | -| Local variable 8 of method System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyVectorized | local | 32 | -| Local variable 8 of method System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyVectorizedAnyByte | local | 32 | -| Local variable 8 of method System.Buffers.IndexOfAnyAsciiSearcher.LastIndexOfAnyVectorized | local | 32 | -| Local variable 8 of method System.Buffers.IndexOfAnyAsciiSearcher.LastIndexOfAnyVectorizedAnyByte | local | 32 | -| Local variable 8 of method System.Collections.Generic.HashSet.Resize | local | 32 | -| Local variable 8 of method System.DateTimeFormat.TryFormatInvariantG | local | 32 | -| Local variable 8 of method System.Diagnostics.Tracing.EventSource.WriteEventString | local | 32 | -| Local variable 8 of method System.ModuleHandle.ResolveFieldHandle | local | 32 | -| Local variable 8 of method System.ModuleHandle.ResolveTypeHandle | local | 32 | -| Local variable 8 of method System.Number.BigInteger.Pow10 | local | 32 | -| Local variable 8 of method System.PackedSpanHelpers.Contains | local | 32 | -| Local variable 8 of method System.PackedSpanHelpers.IndexOf | local | 32 | -| Local variable 8 of method System.Reflection.Emit.RuntimeTypeBuilder.SetConstantValue | local | 32 | -| Local variable 8 of method System.Reflection.Emit.RuntimeTypeBuilder.SetMethodIL | local | 32 | -| Local variable 8 of method System.Runtime.Loader.AssemblyLoadContext.TraceAssemblyLoadFromResolveHandlerInvoked | local | 32 | -| Local variable 8 of method System.SpanHelpers.CountValueType | local | 32 | -| Local variable 8 of method System.SpanHelpers.NonPackedContainsValueType | local | 32 | -| Local variable 8 of method System.SpanHelpers.NonPackedIndexOfAnyValueType | local | 32 | -| Local variable 8 of method System.SpanHelpers.NonPackedIndexOfValueType | local | 32 | -| Local variable 8 of method System.Text.Ascii.Equals | local | 32 | -| Local variable 8 of method System.Text.Ascii.IsValidCore | local | 32 | -| Local variable 9 of method System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyVectorizedAnyByte | local | 32 | -| Local variable 9 of method System.Buffers.IndexOfAnyAsciiSearcher.LastIndexOfAnyVectorizedAnyByte | local | 32 | -| Local variable 9 of method System.Collections.Generic.Dictionary.CollectionsMarshalHelper.GetValueRefOrAddDefault | local | 32 | -| Local variable 9 of method System.Collections.Generic.HashSet.AddIfNotPresent | local | 32 | -| Local variable 9 of method System.Collections.Generic.HashSet.FindItemIndex | local | 32 | -| Local variable 9 of method System.Collections.Generic.HashSet.IntersectWithEnumerable | local | 32 | -| Local variable 9 of method System.Collections.Generic.HashSet.TrimExcess | local | 32 | -| Local variable 9 of method System.DateTimeFormat.TryFormatR | local | 32 | -| Local variable 9 of method System.Diagnostics.Tracing.EventParameterInfo.GenerateMetadataForProperty | local | 32 | -| Local variable 9 of method System.Diagnostics.Tracing.EventPipeInternal.Enable | local | 32 | -| Local variable 9 of method System.Globalization.CompareInfo.IcuGetHashCodeOfString | local | 32 | -| Local variable 9 of method System.Globalization.Normalization.IcuNormalize | local | 32 | -| Local variable 9 of method System.IO.Directory.CreateTempSubdirectoryCore | local | 32 | -| Local variable 9 of method System.IO.Path.GetTempFileName | local | 32 | -| Local variable 9 of method System.ModuleHandle.ResolveFieldHandle | local | 32 | -| Local variable 9 of method System.ModuleHandle.ResolveTypeHandle | local | 32 | -| Local variable 9 of method System.Runtime.Loader.AssemblyLoadContext.TraceAssemblyResolveHandlerInvoked | local | 32 | -| Local variable 9 of method System.Runtime.Loader.AssemblyLoadContext.TraceResolvingHandlerInvoked | local | 32 | -| Local variable 9 of method System.SpanHelpers.IndexOfAnyValueType | local | 32 | -| Local variable 9 of method System.SpanHelpers.NonPackedIndexOfAnyValueType | local | 32 | -| Local variable 9 of method System.SpanHelpers.Reverse | local | 32 | -| Local variable 9 of method System.String.<GetNonRandomizedHashCodeOrdinalIgnoreCase>g__GetNonRandomizedHashCodeOrdinalIgnoreCaseSlow\|47_0 | local | 32 | -| Local variable 9 of method System.Text.Ascii.Equals | local | 32 | -| Local variable 10 of method System.Buffers.ProbabilisticMap.IndexOfAnyVectorized | local | 32 | -| Local variable 10 of method System.Collections.Generic.HashSet.TrimExcess | local | 32 | -| Local variable 10 of method System.Convert.ToBase64CharsLargeNoLineBreaks | local | 32 | -| Local variable 10 of method System.DateTimeFormat.TryFormatO | local | 32 | -| Local variable 10 of method System.Number.BigInteger.Pow10 | local | 32 | -| Local variable 10 of method System.Number.FormatFixed | local | 32 | -| Local variable 10 of method System.PackedSpanHelpers.IndexOfAny | local | 32 | -| Local variable 10 of method System.SpanHelpers.IndexOfAnyValueType | local | 32 | -| Local variable 10 of method System.SpanHelpers.NonPackedIndexOfAnyValueType | local | 32 | -| Local variable 10 of method System.SpanHelpers.Reverse | local | 32 | -| Local variable 10 of method System.String.JoinCore | local | 32 | -| Local variable 10 of method System.Text.Ascii.Equals | local | 32 | -| Local variable 11 of method System.Buffers.Text.Base64.EncodeToUtf8 | local | 32 | -| Local variable 11 of method System.Collections.Generic.HashSet.AddIfNotPresent | local | 32 | -| Local variable 11 of method System.Globalization.CompareInfo.IcuGetHashCodeOfString | local | 32 | -| Local variable 11 of method System.IO.RandomAccess.ReadScatterAtOffset | local | 32 | -| Local variable 11 of method System.PackedSpanHelpers.IndexOfAny | local | 32 | -| Local variable 11 of method System.PackedSpanHelpers.IndexOfAnyInRange | local | 32 | -| Local variable 11 of method System.Runtime.CompilerServices.ConditionalWeakTable.Container.Resize | local | 32 | -| Local variable 11 of method System.Runtime.Loader.AssemblyLoadContext.TraceResolvingHandlerInvoked | local | 32 | -| Local variable 11 of method System.SpanHelpers.IndexOfAnyValueType | local | 32 | -| Local variable 11 of method System.SpanHelpers.NonPackedContainsValueType | local | 32 | -| Local variable 11 of method System.SpanHelpers.NonPackedIndexOfAnyInRangeUnsignedNumber | local | 32 | -| Local variable 11 of method System.SpanHelpers.NonPackedIndexOfValueType | local | 32 | -| Local variable 11 of method System.Text.Ascii.Equals | local | 32 | -| Local variable 12 of method System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyVectorized | local | 32 | -| Local variable 12 of method System.Buffers.IndexOfAnyAsciiSearcher.LastIndexOfAnyVectorized | local | 32 | -| Local variable 12 of method System.Diagnostics.Tracing.EventSource.WriteMultiMerge | local | 32 | -| Local variable 12 of method System.PackedSpanHelpers.IndexOfAny | local | 32 | -| Local variable 12 of method System.PackedSpanHelpers.IndexOfAnyInRange | local | 32 | -| Local variable 12 of method System.Reflection.RuntimeAssembly.GetTypeCoreIgnoreCase | local | 32 | -| Local variable 12 of method System.SpanHelpers.NonPackedContainsValueType | local | 32 | -| Local variable 12 of method System.SpanHelpers.NonPackedIndexOfAnyInRangeUnsignedNumber | local | 32 | -| Local variable 12 of method System.SpanHelpers.NonPackedIndexOfValueType | local | 32 | -| Local variable 12 of method System.Text.Ascii.Equals | local | 32 | -| Local variable 12 of method System.Text.Ascii.IsValidCore | local | 32 | -| Local variable 13 of method System.Buffers.ProbabilisticMap.IndexOfAnyVectorized | local | 32 | -| Local variable 13 of method System.Buffers.Text.Base64.DecodeFromUtf8 | local | 32 | -| Local variable 13 of method System.Globalization.TextInfo.ChangeCaseCommon | local | 32 | -| Local variable 13 of method System.PackedSpanHelpers.Contains | local | 32 | -| Local variable 13 of method System.PackedSpanHelpers.IndexOf | local | 32 | -| Local variable 13 of method System.SpanHelpers.CountValueType | local | 32 | -| Local variable 13 of method System.Text.Ascii.Equals | local | 32 | -| Local variable 14 of method System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyVectorizedAnyByte | local | 32 | -| Local variable 14 of method System.Buffers.IndexOfAnyAsciiSearcher.LastIndexOfAnyVectorizedAnyByte | local | 32 | -| Local variable 14 of method System.IO.RandomAccess.WriteGatherAtOffset | local | 32 | -| Local variable 14 of method System.Reflection.RuntimeAssembly.GetTypeCoreIgnoreCase | local | 32 | -| Local variable 14 of method System.Runtime.CompilerServices.ConditionalWeakTable.Container.Resize | local | 32 | -| Local variable 14 of method System.SpanHelpers.NonPackedIndexOfAnyValueType | local | 32 | -| Local variable 14 of method System.SpanHelpers.Reverse | local | 32 | -| Local variable 14 of method System.Text.Ascii.Equals | local | 32 | -| Local variable 14 of method System.Text.Ascii.EqualsIgnoreCase | local | 32 | -| Local variable 15 of method System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyVectorized | local | 32 | -| Local variable 15 of method System.Buffers.IndexOfAnyAsciiSearcher.LastIndexOfAnyVectorized | local | 32 | -| Local variable 15 of method System.Diagnostics.Tracing.EventSource.WriteImpl | local | 32 | -| Local variable 15 of method System.Globalization.TimeSpanFormat.TryFormatStandard | local | 32 | -| Local variable 15 of method System.SpanHelpers.NonPackedIndexOfAnyValueType | local | 32 | -| Local variable 15 of method System.SpanHelpers.Reverse | local | 32 | -| Local variable 15 of method System.Text.Ascii.EqualsIgnoreCase | local | 32 | -| Local variable 16 of method System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyVectorized | local | 32 | -| Local variable 16 of method System.Buffers.IndexOfAnyAsciiSearcher.LastIndexOfAnyVectorized | local | 32 | -| Local variable 16 of method System.SpanHelpers.NonPackedIndexOfAnyInRangeUnsignedNumber | local | 32 | -| Local variable 16 of method System.SpanHelpers.NonPackedIndexOfAnyValueType | local | 32 | -| Local variable 16 of method System.Text.Ascii.EqualsIgnoreCase | local | 32 | -| Local variable 17 of method System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyVectorized | local | 32 | -| Local variable 17 of method System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyVectorizedAnyByte | local | 32 | -| Local variable 17 of method System.Buffers.IndexOfAnyAsciiSearcher.LastIndexOfAnyVectorized | local | 32 | -| Local variable 17 of method System.Buffers.IndexOfAnyAsciiSearcher.LastIndexOfAnyVectorizedAnyByte | local | 32 | -| Local variable 17 of method System.Reflection.RuntimeAssembly.GetTypeCore | local | 32 | -| Local variable 17 of method System.SpanHelpers.IndexOfAnyValueType | local | 32 | -| Local variable 17 of method System.SpanHelpers.NonPackedIndexOfAnyInRangeUnsignedNumber | local | 32 | -| Local variable 17 of method System.SpanHelpers.NonPackedIndexOfAnyValueType | local | 32 | -| Local variable 17 of method System.Text.Ascii.EqualsIgnoreCase | local | 32 | -| Local variable 18 of method System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyVectorizedAnyByte | local | 32 | -| Local variable 18 of method System.Buffers.IndexOfAnyAsciiSearcher.LastIndexOfAnyVectorizedAnyByte | local | 32 | -| Local variable 18 of method System.Diagnostics.Tracing.EventSource.WriteMultiMergeInner | local | 32 | -| Local variable 18 of method System.PackedSpanHelpers.Contains | local | 32 | -| Local variable 18 of method System.PackedSpanHelpers.IndexOf | local | 32 | -| Local variable 18 of method System.PackedSpanHelpers.IndexOfAny | local | 32 | -| Local variable 18 of method System.PackedSpanHelpers.IndexOfAnyInRange | local | 32 | -| Local variable 18 of method System.SpanHelpers.IndexOfAnyValueType | local | 32 | -| Local variable 19 of method System.Number.NumberToStringFormat | local | 32 | -| Local variable 19 of method System.PackedSpanHelpers.Contains | local | 32 | -| Local variable 19 of method System.PackedSpanHelpers.IndexOf | local | 32 | -| Local variable 19 of method System.SpanHelpers.IndexOfAnyValueType | local | 32 | -| Local variable 20 of method System.PackedSpanHelpers.IndexOfAny | local | 32 | -| Local variable 20 of method System.SpanHelpers.IndexOfAnyValueType | local | 32 | -| Local variable 20 of method System.SpanHelpers.NonPackedIndexOfAnyValueType | local | 32 | -| Local variable 21 of method System.Diagnostics.Tracing.EventPipeMetadataGenerator.GenerateMetadata | local | 32 | -| Local variable 21 of method System.SpanHelpers.NonPackedIndexOfAnyValueType | local | 32 | -| Local variable 23 of method System.PackedSpanHelpers.IndexOfAny | local | 32 | -| Local variable 23 of method System.PackedSpanHelpers.IndexOfAnyInRange | local | 32 | -| Local variable 23 of method System.SpanHelpers.NonPackedIndexOfAnyValueType | local | 32 | -| Local variable 24 of method System.PackedSpanHelpers.IndexOfAny | local | 32 | -| Local variable 24 of method System.PackedSpanHelpers.IndexOfAnyInRange | local | 32 | -| Local variable 24 of method System.SpanHelpers.NonPackedIndexOfAnyValueType | local | 32 | -| Local variable 25 of method System.PackedSpanHelpers.Contains | local | 32 | -| Local variable 25 of method System.PackedSpanHelpers.IndexOf | local | 32 | -| Local variable 25 of method System.PackedSpanHelpers.IndexOfAny | local | 32 | -| Local variable 25 of method System.SpanHelpers.IndexOfAnyValueType | local | 32 | -| Local variable 25 of method System.Text.Ascii.EqualsIgnoreCase | local | 32 | -| Local variable 26 of method System.PackedSpanHelpers.IndexOfAny | local | 32 | -| Local variable 26 of method System.SpanHelpers.IndexOfAnyValueType | local | 32 | -| Local variable 26 of method System.Text.Ascii.EqualsIgnoreCase | local | 32 | -| Local variable 27 of method System.Diagnostics.Tracing.EventProvider.WriteEvent | local | 32 | -| Local variable 27 of method System.Text.Ascii.EqualsIgnoreCase | local | 32 | -| Local variable 28 of method System.Diagnostics.Tracing.EventProvider.WriteEvent | local | 32 | -| Local variable 28 of method System.SpanHelpers.IndexOfAnyValueType | local | 32 | -| Local variable 28 of method System.Text.Ascii.EqualsIgnoreCase | local | 32 | -| Local variable 29 of method System.Diagnostics.Tracing.EventProvider.WriteEvent | local | 32 | -| Local variable 29 of method System.SpanHelpers.IndexOfAnyValueType | local | 32 | -| Local variable 30 of method System.Diagnostics.Tracing.EventProvider.WriteEvent | local | 32 | -| Local variable 30 of method System.PackedSpanHelpers.Contains | local | 32 | -| Local variable 30 of method System.PackedSpanHelpers.IndexOf | local | 32 | -| Local variable 31 of method System.Diagnostics.Tracing.EventProvider.WriteEvent | local | 32 | -| Local variable 31 of method System.Number.NumberToStringFormat | local | 32 | -| Local variable 31 of method System.PackedSpanHelpers.Contains | local | 32 | -| Local variable 31 of method System.PackedSpanHelpers.IndexOf | local | 32 | -| Local variable 31 of method System.PackedSpanHelpers.IndexOfAny | local | 32 | -| Local variable 31 of method System.PackedSpanHelpers.IndexOfAnyInRange | local | 32 | -| Local variable 32 of method System.Diagnostics.Tracing.EventProvider.WriteEvent | local | 32 | -| Local variable 33 of method System.Diagnostics.Tracing.EventProvider.WriteEvent | local | 32 | -| Local variable 33 of method System.Diagnostics.Tracing.EventSource.CreateManifestAndDescriptors | local | 32 | -| Local variable 34 of method System.Diagnostics.Tracing.EventProvider.WriteEvent | local | 32 | -| Local variable 34 of method System.PackedSpanHelpers.IndexOfAny | local | 32 | -| Local variable 36 of method System.PackedSpanHelpers.IndexOfAny | local | 32 | -| Local variable 36 of method System.PackedSpanHelpers.IndexOfAnyInRange | local | 32 | -| Local variable 37 of method System.PackedSpanHelpers.IndexOfAny | local | 32 | -| Local variable 37 of method System.PackedSpanHelpers.IndexOfAnyInRange | local | 32 | -| Local variable 38 of method System.Diagnostics.Tracing.EventProvider.WriteEvent | local | 32 | -| Local variable 39 of method System.PackedSpanHelpers.IndexOfAny | local | 32 | -| Local variable 40 of method System.PackedSpanHelpers.IndexOfAny | local | 32 | -| Parameter 0 of <PrivateImplementationDetails>.InlineArrayElementRef | parameter | 32 | -| Parameter 0 of <PrivateImplementationDetails>.InlineArrayFirstElementRef | parameter | 32 | -| Parameter 0 of Interop.Sys.GetCpuUtilization | parameter | 32 | -| Parameter 0 of Interop.Sys.GetWindowSize | parameter | 32 | -| Parameter 0 of Interop.Sys.LStat | parameter | 32 | -| Parameter 0 of Interop.Sys.MkDir | parameter | 32 | -| Parameter 0 of Interop.Sys.ReadLink | parameter | 32 | -| Parameter 0 of Interop.Sys.Rename | parameter | 32 | -| Parameter 0 of Interop.Sys.SetWindowSize | parameter | 32 | -| Parameter 0 of Interop.Sys.Stat | parameter | 32 | -| Parameter 0 of System.Array.Resize | parameter | 32 | -| Parameter 0 of System.Buffer.BulkMoveWithWriteBarrier | parameter | 32 | -| Parameter 0 of System.Buffer.Memmove | parameter | 32 | -| Parameter 0 of System.Buffer._BulkMoveWithWriteBarrier | parameter | 32 | -| Parameter 0 of System.Buffer._Memmove | parameter | 32 | -| Parameter 0 of System.Buffer._ZeroMemory | parameter | 32 | -| Parameter 0 of System.Buffer.__BulkMoveWithWriteBarrier | parameter | 32 | -| Parameter 0 of System.Buffers.IndexOfAnyAsciiSearcher.ComputeFirstIndex | parameter | 32 | -| Parameter 0 of System.Buffers.IndexOfAnyAsciiSearcher.ComputeFirstIndexOverlapped | parameter | 32 | -| Parameter 0 of System.Buffers.IndexOfAnyAsciiSearcher.ComputeLastIndex | parameter | 32 | -| Parameter 0 of System.Buffers.IndexOfAnyAsciiSearcher.ComputeLastIndexOverlapped | parameter | 32 | -| Parameter 0 of System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyVectorized | parameter | 32 | -| Parameter 0 of System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyVectorizedAnyByte | parameter | 32 | -| Parameter 0 of System.Buffers.IndexOfAnyAsciiSearcher.LastIndexOfAnyVectorized | parameter | 32 | -| Parameter 0 of System.Buffers.IndexOfAnyAsciiSearcher.LastIndexOfAnyVectorizedAnyByte | parameter | 32 | -| Parameter 0 of System.Buffers.IndexOfAnyAsciiSearcher.TryIndexOfAny | parameter | 32 | -| Parameter 0 of System.Buffers.IndexOfAnyAsciiSearcher.TryIndexOfAnyExcept | parameter | 32 | -| Parameter 0 of System.Buffers.IndexOfAnyAsciiSearcher.TryLastIndexOfAny | parameter | 32 | -| Parameter 0 of System.Buffers.IndexOfAnyAsciiSearcher.TryLastIndexOfAnyExcept | parameter | 32 | -| Parameter 0 of System.Buffers.ProbabilisticMap.Contains | parameter | 32 | -| Parameter 0 of System.Buffers.ProbabilisticMap.IndexOfAny | parameter | 32 | -| Parameter 0 of System.Buffers.ProbabilisticMap.IndexOfAnyExcept | parameter | 32 | -| Parameter 0 of System.Buffers.ProbabilisticMap.IndexOfAnySimpleLoop | parameter | 32 | -| Parameter 0 of System.Buffers.ProbabilisticMap.IndexOfAnyVectorized | parameter | 32 | -| Parameter 0 of System.Buffers.ProbabilisticMap.IsCharBitSet | parameter | 32 | -| Parameter 0 of System.Buffers.ProbabilisticMap.LastIndexOfAny | parameter | 32 | -| Parameter 0 of System.Buffers.ProbabilisticMap.LastIndexOfAnyExcept | parameter | 32 | -| Parameter 0 of System.Buffers.ProbabilisticMap.LastIndexOfAnySimpleLoop | parameter | 32 | -| Parameter 0 of System.Buffers.ProbabilisticMap.ProbabilisticIndexOfAny | parameter | 32 | -| Parameter 0 of System.Buffers.ProbabilisticMap.ProbabilisticLastIndexOfAny | parameter | 32 | -| Parameter 0 of System.Buffers.ProbabilisticMap.SetCharBit | parameter | 32 | -| Parameter 0 of System.Buffers.Text.Base64.Avx2Decode | parameter | 32 | -| Parameter 0 of System.Buffers.Text.Base64.Avx2Encode | parameter | 32 | -| Parameter 0 of System.Buffers.Text.Base64.GetPaddingCount | parameter | 32 | -| Parameter 0 of System.Buffers.Text.Base64.Vector128Decode | parameter | 32 | -| Parameter 0 of System.Buffers.Text.Base64.Vector128Encode | parameter | 32 | -| Parameter 0 of System.Buffers.Text.FormattingHelpers.GetSymbolOrDefault | parameter | 32 | -| Parameter 0 of System.Buffers.Text.ParserHelpers.TryParseThrowFormatException | parameter | 32 | -| Parameter 0 of System.ByReference.Create | parameter | 32 | -| Parameter 0 of System.Collections.Generic.GenericArraySortHelper.GreaterThan | parameter | 32 | -| Parameter 0 of System.Collections.Generic.GenericArraySortHelper.LessThan | parameter | 32 | -| Parameter 0 of System.Collections.Generic.GenericArraySortHelper.Swap | parameter | 32 | -| Parameter 0 of System.Collections.Generic.GenericArraySortHelper.SwapIfGreater | parameter | 32 | -| Parameter 0 of System.Collections.Generic.GenericArraySortHelper<!0,!1>.GreaterThan | parameter | 32 | -| Parameter 0 of System.Collections.Generic.GenericArraySortHelper<!0,!1>.LessThan | parameter | 32 | -| Parameter 0 of System.Collections.Generic.GenericArraySortHelper<!0>.GreaterThan | parameter | 32 | -| Parameter 0 of System.Collections.Generic.GenericArraySortHelper<!0>.LessThan | parameter | 32 | -| Parameter 0 of System.Collections.Generic.GenericArraySortHelper<!0>.Swap | parameter | 32 | -| Parameter 0 of System.Collections.Generic.GenericArraySortHelper<!0>.SwapIfGreater | parameter | 32 | -| Parameter 0 of System.ComAwareWeakReference.EnsureComAwareReference | parameter | 32 | -| Parameter 0 of System.ComAwareWeakReference.SetComInfoInConstructor | parameter | 32 | -| Parameter 0 of System.ComAwareWeakReference.SetTarget | parameter | 32 | -| Parameter 0 of System.ConsolePal.GetWindowSize | parameter | 32 | -| Parameter 0 of System.ConsolePal.RefreshColors | parameter | 32 | -| Parameter 0 of System.ConsolePal.TryGetCachedCursorPosition | parameter | 32 | -| Parameter 0 of System.ConsolePal.TryGetCursorPosition | parameter | 32 | -| Parameter 0 of System.Convert.Decode | parameter | 32 | -| Parameter 0 of System.Convert.WriteThreeLowOrderBytes | parameter | 32 | -| Parameter 0 of System.DateTimeFormat.AppendChar | parameter | 32 | -| Parameter 0 of System.DateTimeFormat.AppendString | parameter | 32 | -| Parameter 0 of System.DateTimeFormat.FormatDigits | parameter | 32 | -| Parameter 0 of System.DateTimeFormat.FormatFraction | parameter | 32 | -| Parameter 0 of System.DateTimeFormat.PrepareFormatU | parameter | 32 | -| Parameter 0 of System.DateTimeParse.AdjustHour | parameter | 32 | -| Parameter 0 of System.DateTimeParse.AdjustTimeZoneToLocal | parameter | 32 | -| Parameter 0 of System.DateTimeParse.AdjustTimeZoneToUniversal | parameter | 32 | -| Parameter 0 of System.DateTimeParse.CheckDefaultDateTime | parameter | 32 | -| Parameter 0 of System.DateTimeParse.CheckNewValue | parameter | 32 | -| Parameter 0 of System.DateTimeParse.DateTimeOffsetTimeZonePostProcessing | parameter | 32 | -| Parameter 0 of System.DateTimeParse.DetermineTimeZoneAdjustments | parameter | 32 | -| Parameter 0 of System.DateTimeParse.GetDateOfDSN | parameter | 32 | -| Parameter 0 of System.DateTimeParse.GetDateOfNDS | parameter | 32 | -| Parameter 0 of System.DateTimeParse.GetDateOfNNDS | parameter | 32 | -| Parameter 0 of System.DateTimeParse.GetDateTimeNow | parameter | 32 | -| Parameter 0 of System.DateTimeParse.GetDateTimeParseException | parameter | 32 | -| Parameter 0 of System.DateTimeParse.GetDayOfMN | parameter | 32 | -| Parameter 0 of System.DateTimeParse.GetDayOfMNN | parameter | 32 | -| Parameter 0 of System.DateTimeParse.GetDayOfNM | parameter | 32 | -| Parameter 0 of System.DateTimeParse.GetDayOfNN | parameter | 32 | -| Parameter 0 of System.DateTimeParse.GetDayOfNNN | parameter | 32 | -| Parameter 0 of System.DateTimeParse.GetDayOfNNY | parameter | 32 | -| Parameter 0 of System.DateTimeParse.GetDayOfYM | parameter | 32 | -| Parameter 0 of System.DateTimeParse.GetDayOfYMN | parameter | 32 | -| Parameter 0 of System.DateTimeParse.GetDayOfYN | parameter | 32 | -| Parameter 0 of System.DateTimeParse.GetDayOfYNN | parameter | 32 | -| Parameter 0 of System.DateTimeParse.GetDefaultYear | parameter | 32 | -| Parameter 0 of System.DateTimeParse.GetHebrewDayOfNM | parameter | 32 | -| Parameter 0 of System.DateTimeParse.GetTimeOfN | parameter | 32 | -| Parameter 0 of System.DateTimeParse.GetTimeOfNN | parameter | 32 | -| Parameter 0 of System.DateTimeParse.GetTimeOfNNN | parameter | 32 | -| Parameter 0 of System.DateTimeParse.GetTimeZoneName | parameter | 32 | -| Parameter 0 of System.DateTimeParse.HandleTimeZone | parameter | 32 | -| Parameter 0 of System.DateTimeParse.MatchAbbreviatedDayName | parameter | 32 | -| Parameter 0 of System.DateTimeParse.MatchAbbreviatedMonthName | parameter | 32 | -| Parameter 0 of System.DateTimeParse.MatchAbbreviatedTimeMark | parameter | 32 | -| Parameter 0 of System.DateTimeParse.MatchDayName | parameter | 32 | -| Parameter 0 of System.DateTimeParse.MatchEraName | parameter | 32 | -| Parameter 0 of System.DateTimeParse.MatchHebrewDigits | parameter | 32 | -| Parameter 0 of System.DateTimeParse.MatchMonthName | parameter | 32 | -| Parameter 0 of System.DateTimeParse.MatchTimeMark | parameter | 32 | -| Parameter 0 of System.DateTimeParse.MatchWord | parameter | 32 | -| Parameter 0 of System.DateTimeParse.ParseByFormat | parameter | 32 | -| Parameter 0 of System.DateTimeParse.ParseDigits | parameter | 32 | -| Parameter 0 of System.DateTimeParse.ParseFraction | parameter | 32 | -| Parameter 0 of System.DateTimeParse.ParseFractionExact | parameter | 32 | -| Parameter 0 of System.DateTimeParse.ParseISO8601 | parameter | 32 | -| Parameter 0 of System.DateTimeParse.ParseJapaneseEraStart | parameter | 32 | -| Parameter 0 of System.DateTimeParse.ParseSign | parameter | 32 | -| Parameter 0 of System.DateTimeParse.ParseTimeZone | parameter | 32 | -| Parameter 0 of System.DateTimeParse.ParseTimeZoneOffset | parameter | 32 | -| Parameter 0 of System.DateTimeParse.ProcessDateTimeSuffix | parameter | 32 | -| Parameter 0 of System.DateTimeParse.SetDateDMY | parameter | 32 | -| Parameter 0 of System.DateTimeParse.SetDateMDY | parameter | 32 | -| Parameter 0 of System.DateTimeParse.SetDateYDM | parameter | 32 | -| Parameter 0 of System.DateTimeParse.SetDateYMD | parameter | 32 | -| Parameter 0 of System.DateTimeParse.TryAdjustYear | parameter | 32 | -| Parameter 0 of System.DateTimeParse.VerifyValidPunctuation | parameter | 32 | -| Parameter 0 of System.Decimal.AsMutable | parameter | 32 | -| Parameter 0 of System.Decimal.DecCalc.Add32To96 | parameter | 32 | -| Parameter 0 of System.Decimal.DecCalc.DecAddSub | parameter | 32 | -| Parameter 0 of System.Decimal.DecCalc.DecDivMod1E9 | parameter | 32 | -| Parameter 0 of System.Decimal.DecCalc.Div96By32 | parameter | 32 | -| Parameter 0 of System.Decimal.DecCalc.Div96By64 | parameter | 32 | -| Parameter 0 of System.Decimal.DecCalc.Div96ByConst | parameter | 32 | -| Parameter 0 of System.Decimal.DecCalc.Div128By96 | parameter | 32 | -| Parameter 0 of System.Decimal.DecCalc.GetHashCode | parameter | 32 | -| Parameter 0 of System.Decimal.DecCalc.IncreaseScale | parameter | 32 | -| Parameter 0 of System.Decimal.DecCalc.IncreaseScale64 | parameter | 32 | -| Parameter 0 of System.Decimal.DecCalc.InternalRound | parameter | 32 | -| Parameter 0 of System.Decimal.DecCalc.OverflowUnscale | parameter | 32 | -| Parameter 0 of System.Decimal.DecCalc.SearchScale | parameter | 32 | -| Parameter 0 of System.Decimal.DecCalc.Unscale | parameter | 32 | -| Parameter 0 of System.Decimal.DecCalc.VarCyFromDec | parameter | 32 | -| Parameter 0 of System.Decimal.DecCalc.VarDecCmp | parameter | 32 | -| Parameter 0 of System.Decimal.DecCalc.VarDecCmpSub | parameter | 32 | -| Parameter 0 of System.Decimal.DecCalc.VarDecDiv | parameter | 32 | -| Parameter 0 of System.Decimal.DecCalc.VarDecMod | parameter | 32 | -| Parameter 0 of System.Decimal.DecCalc.VarDecModFull | parameter | 32 | -| Parameter 0 of System.Decimal.DecCalc.VarDecMul | parameter | 32 | -| Parameter 0 of System.Decimal.DecCalc.VarR4FromDec | parameter | 32 | -| Parameter 0 of System.Decimal.DecCalc.VarR8FromDec | parameter | 32 | -| Parameter 0 of System.Decimal.DecDivMod1E9 | parameter | 32 | -| Parameter 0 of System.Decimal.GetBytes | parameter | 32 | -| Parameter 0 of System.Decimal.Round | parameter | 32 | -| Parameter 0 of System.Decimal.Truncate | parameter | 32 | -| Parameter 0 of System.Diagnostics.Contracts.Contract.ValueAtReturn | parameter | 32 | -| Parameter 0 of System.Diagnostics.StackTrace.TryResolveStateMachineMethod | parameter | 32 | -| Parameter 0 of System.Diagnostics.Tracing.ActivityTracker.ActivityInfo.WriteNibble | parameter | 32 | -| Parameter 0 of System.Diagnostics.Tracing.EventPipePayloadDecoder.DecodePayload | parameter | 32 | -| Parameter 0 of System.Diagnostics.Tracing.EventProvider.EncodeObject | parameter | 32 | -| Parameter 0 of System.Diagnostics.Tracing.EventSource.AddEventDescriptor | parameter | 32 | -| Parameter 0 of System.Diagnostics.Tracing.EventSource.DebugCheckEvent | parameter | 32 | -| Parameter 0 of System.Diagnostics.Tracing.EventSource.RemoveFirstArgIfRelatedActivityId | parameter | 32 | -| Parameter 0 of System.Diagnostics.Tracing.EventSource.TrimEventDescriptors | parameter | 32 | -| Parameter 0 of System.Diagnostics.Tracing.ManifestBuilder.UpdateStringBuilder | parameter | 32 | -| Parameter 0 of System.Enum.FormatNumberAsHex | parameter | 32 | -| Parameter 0 of System.Enum.TryFormatNumberAsHex | parameter | 32 | -| Parameter 0 of System.Globalization.CultureData.GetDefaultLocaleName | parameter | 32 | -| Parameter 0 of System.Globalization.DateTimeFormatInfo.TryParseHebrewNumber | parameter | 32 | -| Parameter 0 of System.Globalization.GlobalizationMode.TryGetAppLocalIcuSwitchValue | parameter | 32 | -| Parameter 0 of System.Globalization.HebrewNumber.Append | parameter | 32 | -| Parameter 0 of System.Globalization.InvariantModeCasing.CompareStringIgnoreCase | parameter | 32 | -| Parameter 0 of System.Globalization.InvariantModeCasing.GetScalar | parameter | 32 | -| Parameter 0 of System.Globalization.Ordinal.CompareStringIgnoreCase | parameter | 32 | -| Parameter 0 of System.Globalization.Ordinal.CompareStringIgnoreCaseNonAscii | parameter | 32 | -| Parameter 0 of System.Globalization.Ordinal.EqualsIgnoreCase | parameter | 32 | -| Parameter 0 of System.Globalization.Ordinal.EqualsIgnoreCaseUtf8 | parameter | 32 | -| Parameter 0 of System.Globalization.Ordinal.EqualsIgnoreCaseUtf8_Scalar | parameter | 32 | -| Parameter 0 of System.Globalization.Ordinal.EqualsIgnoreCaseUtf8_Vector128 | parameter | 32 | -| Parameter 0 of System.Globalization.Ordinal.EqualsIgnoreCase_Scalar | parameter | 32 | -| Parameter 0 of System.Globalization.Ordinal.EqualsIgnoreCase_Vector128 | parameter | 32 | -| Parameter 0 of System.Globalization.Ordinal.EqualsStringIgnoreCaseNonAsciiUtf8 | parameter | 32 | -| Parameter 0 of System.Globalization.Ordinal.EqualsStringIgnoreCaseUtf8 | parameter | 32 | -| Parameter 0 of System.Globalization.Ordinal.StartsWithIgnoreCaseUtf8 | parameter | 32 | -| Parameter 0 of System.Globalization.Ordinal.StartsWithIgnoreCaseUtf8_Scalar | parameter | 32 | -| Parameter 0 of System.Globalization.Ordinal.StartsWithIgnoreCaseUtf8_Vector128 | parameter | 32 | -| Parameter 0 of System.Globalization.Ordinal.StartsWithStringIgnoreCaseNonAsciiUtf8 | parameter | 32 | -| Parameter 0 of System.Globalization.Ordinal.StartsWithStringIgnoreCaseUtf8 | parameter | 32 | -| Parameter 0 of System.Globalization.OrdinalCasing.CompareStringIgnoreCase | parameter | 32 | -| Parameter 0 of System.Globalization.TextInfo.AddNonLetter | parameter | 32 | -| Parameter 0 of System.Globalization.TimeSpanParse.ParseExactDigits | parameter | 32 | -| Parameter 0 of System.Globalization.TimeSpanParse.ParseExactLiteral | parameter | 32 | -| Parameter 0 of System.Globalization.TimeSpanParse.ProcessTerminalState | parameter | 32 | -| Parameter 0 of System.Globalization.TimeSpanParse.ProcessTerminal_D | parameter | 32 | -| Parameter 0 of System.Globalization.TimeSpanParse.ProcessTerminal_DHMSF | parameter | 32 | -| Parameter 0 of System.Globalization.TimeSpanParse.ProcessTerminal_HM | parameter | 32 | -| Parameter 0 of System.Globalization.TimeSpanParse.ProcessTerminal_HMS_F_D | parameter | 32 | -| Parameter 0 of System.Globalization.TimeSpanParse.ProcessTerminal_HM_S_D | parameter | 32 | -| Parameter 0 of System.Guid.AsBytes | parameter | 32 | -| Parameter 0 of System.Guid.EqualsCore | parameter | 32 | -| Parameter 0 of System.HashCode.Initialize | parameter | 32 | -| Parameter 0 of System.IO.Enumeration.FileSystemEntry.Initialize | parameter | 32 | -| Parameter 0 of System.IO.Enumeration.FileSystemEnumerableFactory.NormalizeInputs | parameter | 32 | -| Parameter 0 of System.IO.FileSystem.<ResolveLinkTarget>g__GetLinkTargetFullPath\|46_0 | parameter | 32 | -| Parameter 0 of System.Marvin.Block | parameter | 32 | -| Parameter 0 of System.Marvin.ComputeHash32 | parameter | 32 | -| Parameter 0 of System.Marvin.ComputeHash32OrdinalIgnoreCase | parameter | 32 | -| Parameter 0 of System.Marvin.ComputeHash32OrdinalIgnoreCaseSlow | parameter | 32 | -| Parameter 0 of System.MemoryExtensions.SliceLongerSpanToMatchShorterLength | parameter | 32 | -| Parameter 0 of System.Nullable.GetValueRefOrDefaultRef | parameter | 32 | -| Parameter 0 of System.Number.<AppendUnknownChar>g__AppendNonAsciiBytes\|115_0 | parameter | 32 | -| Parameter 0 of System.Number.AccumulateDecimalDigitsIntoBigInteger | parameter | 32 | -| Parameter 0 of System.Number.AppendUnknownChar | parameter | 32 | -| Parameter 0 of System.Number.BigInteger.Add | parameter | 32 | -| Parameter 0 of System.Number.BigInteger.AddDivisor | parameter | 32 | -| Parameter 0 of System.Number.BigInteger.Compare | parameter | 32 | -| Parameter 0 of System.Number.BigInteger.CountSignificantBits | parameter | 32 | -| Parameter 0 of System.Number.BigInteger.DivRem | parameter | 32 | -| Parameter 0 of System.Number.BigInteger.HeuristicDivide | parameter | 32 | -| Parameter 0 of System.Number.BigInteger.Multiply | parameter | 32 | -| Parameter 0 of System.Number.BigInteger.SetUInt32 | parameter | 32 | -| Parameter 0 of System.Number.BigInteger.SetUInt64 | parameter | 32 | -| Parameter 0 of System.Number.BigInteger.SetValue | parameter | 32 | -| Parameter 0 of System.Number.BigInteger.SetZero | parameter | 32 | -| Parameter 0 of System.Number.BigInteger.SubtractDivisor | parameter | 32 | -| Parameter 0 of System.Number.ConvertBigIntegerToFloatingPointBits | parameter | 32 | -| Parameter 0 of System.Number.DecimalToNumber | parameter | 32 | -| Parameter 0 of System.Number.FormatCurrency | parameter | 32 | -| Parameter 0 of System.Number.FormatDouble | parameter | 32 | -| Parameter 0 of System.Number.FormatExponent | parameter | 32 | -| Parameter 0 of System.Number.FormatFixed | parameter | 32 | -| Parameter 0 of System.Number.FormatGeneral | parameter | 32 | -| Parameter 0 of System.Number.FormatHalf | parameter | 32 | -| Parameter 0 of System.Number.FormatNumber | parameter | 32 | -| Parameter 0 of System.Number.FormatPercent | parameter | 32 | -| Parameter 0 of System.Number.FormatScientific | parameter | 32 | -| Parameter 0 of System.Number.FormatSingle | parameter | 32 | -| Parameter 0 of System.Number.Grisu3.TryDigitGenCounted | parameter | 32 | -| Parameter 0 of System.Number.Grisu3.TryDigitGenShortest | parameter | 32 | -| Parameter 0 of System.Number.Grisu3.TryRunCounted | parameter | 32 | -| Parameter 0 of System.Number.Grisu3.TryRunShortest | parameter | 32 | -| Parameter 0 of System.Number.Int128DivMod1E19 | parameter | 32 | -| Parameter 0 of System.Number.NumberToFloat | parameter | 32 | -| Parameter 0 of System.Number.NumberToFloatingPointBits | parameter | 32 | -| Parameter 0 of System.Number.NumberToFloatingPointBitsSlow | parameter | 32 | -| Parameter 0 of System.Number.NumberToString | parameter | 32 | -| Parameter 0 of System.Number.NumberToStringFormat | parameter | 32 | -| Parameter 0 of System.Number.RoundNumber | parameter | 32 | -| Parameter 0 of System.Number.TryNumberBufferToBinaryInteger | parameter | 32 | -| Parameter 0 of System.Number.TryNumberToDecimal | parameter | 32 | -| Parameter 0 of System.Number.TryParseNumber | parameter | 32 | -| Parameter 0 of System.Numerics.BitOperations.Crc32Fallback.Crc32CCore | parameter | 32 | -| Parameter 0 of System.Numerics.Matrix3x2.Impl.Invert | parameter | 32 | -| Parameter 0 of System.Numerics.Matrix3x2.Impl.Lerp | parameter | 32 | -| Parameter 0 of System.Numerics.Matrix3x2.Impl.op_Addition | parameter | 32 | -| Parameter 0 of System.Numerics.Matrix3x2.Impl.op_Equality | parameter | 32 | -| Parameter 0 of System.Numerics.Matrix3x2.Impl.op_Inequality | parameter | 32 | -| Parameter 0 of System.Numerics.Matrix3x2.Impl.op_Multiply | parameter | 32 | -| Parameter 0 of System.Numerics.Matrix3x2.Impl.op_Subtraction | parameter | 32 | -| Parameter 0 of System.Numerics.Matrix3x2.Impl.op_UnaryNegation | parameter | 32 | -| Parameter 0 of System.Numerics.Matrix4x4.Impl.<Invert>g__SoftwareFallback\|64_2 | parameter | 32 | -| Parameter 0 of System.Numerics.Matrix4x4.Impl.<Invert>g__SseImpl\|64_0 | parameter | 32 | -| Parameter 0 of System.Numerics.Matrix4x4.Impl.CreateBillboard | parameter | 32 | -| Parameter 0 of System.Numerics.Matrix4x4.Impl.CreateConstrainedBillboard | parameter | 32 | -| Parameter 0 of System.Numerics.Matrix4x4.Impl.CreateFromAxisAngle | parameter | 32 | -| Parameter 0 of System.Numerics.Matrix4x4.Impl.CreateFromQuaternion | parameter | 32 | -| Parameter 0 of System.Numerics.Matrix4x4.Impl.CreateLookTo | parameter | 32 | -| Parameter 0 of System.Numerics.Matrix4x4.Impl.CreateLookToLeftHanded | parameter | 32 | -| Parameter 0 of System.Numerics.Matrix4x4.Impl.CreateReflection | parameter | 32 | -| Parameter 0 of System.Numerics.Matrix4x4.Impl.CreateScale | parameter | 32 | -| Parameter 0 of System.Numerics.Matrix4x4.Impl.CreateShadow | parameter | 32 | -| Parameter 0 of System.Numerics.Matrix4x4.Impl.CreateTranslation | parameter | 32 | -| Parameter 0 of System.Numerics.Matrix4x4.Impl.CreateWorld | parameter | 32 | -| Parameter 0 of System.Numerics.Matrix4x4.Impl.Decompose | parameter | 32 | -| Parameter 0 of System.Numerics.Matrix4x4.Impl.Invert | parameter | 32 | -| Parameter 0 of System.Numerics.Matrix4x4.Impl.Lerp | parameter | 32 | -| Parameter 0 of System.Numerics.Matrix4x4.Impl.Transform | parameter | 32 | -| Parameter 0 of System.Numerics.Matrix4x4.Impl.Transpose | parameter | 32 | -| Parameter 0 of System.Numerics.Matrix4x4.Impl.op_Addition | parameter | 32 | -| Parameter 0 of System.Numerics.Matrix4x4.Impl.op_Equality | parameter | 32 | -| Parameter 0 of System.Numerics.Matrix4x4.Impl.op_Inequality | parameter | 32 | -| Parameter 0 of System.Numerics.Matrix4x4.Impl.op_Multiply | parameter | 32 | -| Parameter 0 of System.Numerics.Matrix4x4.Impl.op_Subtraction | parameter | 32 | -| Parameter 0 of System.Numerics.Matrix4x4.Impl.op_UnaryNegation | parameter | 32 | -| Parameter 0 of System.Numerics.Plane.<Equals>g__SoftwareFallback\|16_0 | parameter | 32 | -| Parameter 0 of System.Numerics.Quaternion.<Equals>g__SoftwareFallback\|44_0 | parameter | 32 | -| Parameter 0 of System.Numerics.Vector2.<Equals>g__SoftwareFallback\|59_0 | parameter | 32 | -| Parameter 0 of System.Numerics.Vector3.<Equals>g__SoftwareFallback\|60_0 | parameter | 32 | -| Parameter 0 of System.Numerics.Vector4.<Equals>g__SoftwareFallback\|66_0 | parameter | 32 | -| Parameter 0 of System.Numerics.Vector.<Equals>g__SoftwareFallback\|57_0 | parameter | 32 | -| Parameter 0 of System.Numerics.Vector.GetElementUnsafe | parameter | 32 | -| Parameter 0 of System.Numerics.Vector.LoadUnsafe | parameter | 32 | -| Parameter 0 of System.Numerics.Vector.SetElementUnsafe | parameter | 32 | -| Parameter 0 of System.PackedSpanHelpers.ComputeFirstIndex | parameter | 32 | -| Parameter 0 of System.PackedSpanHelpers.ComputeFirstIndexOverlapped | parameter | 32 | -| Parameter 0 of System.PackedSpanHelpers.Contains | parameter | 32 | -| Parameter 0 of System.PackedSpanHelpers.IndexOf | parameter | 32 | -| Parameter 0 of System.PackedSpanHelpers.IndexOfAny | parameter | 32 | -| Parameter 0 of System.PackedSpanHelpers.IndexOfAnyExcept | parameter | 32 | -| Parameter 0 of System.PackedSpanHelpers.IndexOfAnyExceptInRange | parameter | 32 | -| Parameter 0 of System.PackedSpanHelpers.IndexOfAnyInRange | parameter | 32 | -| Parameter 0 of System.PasteArguments.AppendArgument | parameter | 32 | -| Parameter 0 of System.Reflection.Assembly.GetExecutingAssembly | parameter | 32 | -| Parameter 0 of System.Reflection.AssemblyNameFormatter.AppendQuoted | parameter | 32 | -| Parameter 0 of System.Reflection.CustomAttribute.AddCustomAttributes | parameter | 32 | -| Parameter 0 of System.Reflection.MethodBase.AppendParameters | parameter | 32 | -| Parameter 0 of System.Reflection.MethodInvokerCommon.DetermineStrategy_Obj4Args | parameter | 32 | -| Parameter 0 of System.Reflection.MethodInvokerCommon.DetermineStrategy_ObjSpanArgs | parameter | 32 | -| Parameter 0 of System.Reflection.MethodInvokerCommon.DetermineStrategy_RefArgs | parameter | 32 | -| Parameter 0 of System.Reflection.RuntimeMethodInfo.InternalGetCurrentMethod | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.AsyncTaskMethodBuilder.AwaitOnCompleted | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.AsyncTaskMethodBuilder.AwaitUnsafeOnCompleted | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.AsyncTaskMethodBuilder.GetStateMachineBox | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.AsyncTaskMethodBuilder<!0>.AwaitOnCompleted | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.AsyncTaskMethodBuilder<!0>.GetStateMachineBox | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.AsyncTaskMethodBuilder<VoidTaskResult>.AwaitOnCompleted | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.AsyncTaskMethodBuilder<VoidTaskResult>.AwaitUnsafeOnCompleted | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.CastCache.Element | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.CastCache.HashShift | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.CastCache.KeyToBucket | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.CastCache.TableMask | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.CastHelpers.StelemRef_Helper | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.CastHelpers.StelemRef_Helper_NoCacheLookup | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.CastHelpers.WriteBarrier | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.ObjectHandleOnStack.Create | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder.AwaitOnCompleted | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder.AwaitUnsafeOnCompleted | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder.GetStateMachineBox | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder<!0>.AwaitOnCompleted | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder<!0>.GetStateMachineBox | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder<VoidTaskResult>.AwaitOnCompleted | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.Unsafe.Add | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.Unsafe.AddByteOffset | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.Unsafe.AreSame | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.Unsafe.As | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.Unsafe.AsPointer | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.Unsafe.AsRef | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.Unsafe.ByteOffset | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.Unsafe.Copy | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.Unsafe.CopyBlock | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.Unsafe.CopyBlockUnaligned | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.Unsafe.InitBlock | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.Unsafe.InitBlockUnaligned | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.Unsafe.IsAddressGreaterThan | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.Unsafe.IsAddressLessThan | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.Unsafe.IsNullRef | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.Unsafe.ReadUnaligned | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.Unsafe.SkipInit | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.Unsafe.Subtract | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.Unsafe.SubtractByteOffset | parameter | 32 | -| Parameter 0 of System.Runtime.CompilerServices.Unsafe.WriteUnaligned | parameter | 32 | -| Parameter 0 of System.Runtime.InteropServices.ComWrappers.GetIUnknownImpl | parameter | 32 | -| Parameter 0 of System.Runtime.InteropServices.ComWrappers.GetIUnknownImplInternal | parameter | 32 | -| Parameter 0 of System.Runtime.InteropServices.MemoryMarshal.CreateReadOnlySpan | parameter | 32 | -| Parameter 0 of System.Runtime.InteropServices.MemoryMarshal.CreateSpan | parameter | 32 | -| Parameter 0 of System.Runtime.Intrinsics.Vector64.<Equals>g__SoftwareFallback\|34_0 | parameter | 32 | -| Parameter 0 of System.Runtime.Intrinsics.Vector64.GetElementUnsafe | parameter | 32 | -| Parameter 0 of System.Runtime.Intrinsics.Vector64.LoadUnsafe | parameter | 32 | -| Parameter 0 of System.Runtime.Intrinsics.Vector64.SetElementUnsafe | parameter | 32 | -| Parameter 0 of System.Runtime.Intrinsics.Vector128.GetElementUnsafe | parameter | 32 | -| Parameter 0 of System.Runtime.Intrinsics.Vector128.LoadUnsafe | parameter | 32 | -| Parameter 0 of System.Runtime.Intrinsics.Vector128.SetElementUnsafe | parameter | 32 | -| Parameter 0 of System.Runtime.Intrinsics.Vector128.SetLowerUnsafe | parameter | 32 | -| Parameter 0 of System.Runtime.Intrinsics.Vector128.SetUpperUnsafe | parameter | 32 | -| Parameter 0 of System.Runtime.Intrinsics.Vector256.GetElementUnsafe | parameter | 32 | -| Parameter 0 of System.Runtime.Intrinsics.Vector256.LoadUnsafe | parameter | 32 | -| Parameter 0 of System.Runtime.Intrinsics.Vector256.SetElementUnsafe | parameter | 32 | -| Parameter 0 of System.Runtime.Intrinsics.Vector256.SetLowerUnsafe | parameter | 32 | -| Parameter 0 of System.Runtime.Intrinsics.Vector256.SetUpperUnsafe | parameter | 32 | -| Parameter 0 of System.Runtime.Intrinsics.Vector512.GetElementUnsafe | parameter | 32 | -| Parameter 0 of System.Runtime.Intrinsics.Vector512.LoadUnsafe | parameter | 32 | -| Parameter 0 of System.Runtime.Intrinsics.Vector512.SetElementUnsafe | parameter | 32 | -| Parameter 0 of System.Runtime.Intrinsics.Vector512.SetLowerUnsafe | parameter | 32 | -| Parameter 0 of System.Runtime.Intrinsics.Vector512.SetUpperUnsafe | parameter | 32 | -| Parameter 0 of System.Runtime.Loader.AssemblyLoadContext.StartAssemblyLoad | parameter | 32 | -| Parameter 0 of System.Runtime.Loader.AssemblyLoadContext.StopAssemblyLoad | parameter | 32 | -| Parameter 0 of System.Runtime.MemoryFailPoint.CheckForAvailableMemory | parameter | 32 | -| Parameter 0 of System.RuntimeMethodHandle.GetCurrentMethod | parameter | 32 | -| Parameter 0 of System.RuntimeMethodHandle._GetCurrentMethod | parameter | 32 | -| Parameter 0 of System.RuntimeTypeHandle.GetNextIntroducedMethod | parameter | 32 | -| Parameter 0 of System.SpanHelpers.BinarySearch | parameter | 32 | -| Parameter 0 of System.SpanHelpers.ClearWithReferences | parameter | 32 | -| Parameter 0 of System.SpanHelpers.ClearWithoutReferences | parameter | 32 | -| Parameter 0 of System.SpanHelpers.CommonPrefixLength | parameter | 32 | -| Parameter 0 of System.SpanHelpers.ComputeFirstIndex | parameter | 32 | -| Parameter 0 of System.SpanHelpers.Contains | parameter | 32 | -| Parameter 0 of System.SpanHelpers.ContainsValueType | parameter | 32 | -| Parameter 0 of System.SpanHelpers.Count | parameter | 32 | -| Parameter 0 of System.SpanHelpers.CountValueType | parameter | 32 | -| Parameter 0 of System.SpanHelpers.Fill | parameter | 32 | -| Parameter 0 of System.SpanHelpers.IndexOf | parameter | 32 | -| Parameter 0 of System.SpanHelpers.IndexOfAny | parameter | 32 | -| Parameter 0 of System.SpanHelpers.IndexOfAnyChar | parameter | 32 | -| Parameter 0 of System.SpanHelpers.IndexOfAnyExcept | parameter | 32 | -| Parameter 0 of System.SpanHelpers.IndexOfAnyExceptInRange | parameter | 32 | -| Parameter 0 of System.SpanHelpers.IndexOfAnyExceptInRangeUnsignedNumber | parameter | 32 | -| Parameter 0 of System.SpanHelpers.IndexOfAnyExceptValueType | parameter | 32 | -| Parameter 0 of System.SpanHelpers.IndexOfAnyInRange | parameter | 32 | -| Parameter 0 of System.SpanHelpers.IndexOfAnyInRangeUnsignedNumber | parameter | 32 | -| Parameter 0 of System.SpanHelpers.IndexOfAnyValueType | parameter | 32 | -| Parameter 0 of System.SpanHelpers.IndexOfChar | parameter | 32 | -| Parameter 0 of System.SpanHelpers.IndexOfValueType | parameter | 32 | -| Parameter 0 of System.SpanHelpers.LastIndexOf | parameter | 32 | -| Parameter 0 of System.SpanHelpers.LastIndexOfAny | parameter | 32 | -| Parameter 0 of System.SpanHelpers.LastIndexOfAnyExcept | parameter | 32 | -| Parameter 0 of System.SpanHelpers.LastIndexOfAnyExceptInRange | parameter | 32 | -| Parameter 0 of System.SpanHelpers.LastIndexOfAnyExceptInRangeUnsignedNumber | parameter | 32 | -| Parameter 0 of System.SpanHelpers.LastIndexOfAnyExceptValueType | parameter | 32 | -| Parameter 0 of System.SpanHelpers.LastIndexOfAnyInRange | parameter | 32 | -| Parameter 0 of System.SpanHelpers.LastIndexOfAnyInRangeUnsignedNumber | parameter | 32 | -| Parameter 0 of System.SpanHelpers.LastIndexOfAnyValueType | parameter | 32 | -| Parameter 0 of System.SpanHelpers.LastIndexOfValueType | parameter | 32 | -| Parameter 0 of System.SpanHelpers.LoadNUInt | parameter | 32 | -| Parameter 0 of System.SpanHelpers.LoadUInt | parameter | 32 | -| Parameter 0 of System.SpanHelpers.LoadUShort | parameter | 32 | -| Parameter 0 of System.SpanHelpers.NonPackedContainsValueType | parameter | 32 | -| Parameter 0 of System.SpanHelpers.NonPackedIndexOfAnyInRangeUnsignedNumber | parameter | 32 | -| Parameter 0 of System.SpanHelpers.NonPackedIndexOfAnyValueType | parameter | 32 | -| Parameter 0 of System.SpanHelpers.NonPackedIndexOfChar | parameter | 32 | -| Parameter 0 of System.SpanHelpers.NonPackedIndexOfValueType | parameter | 32 | -| Parameter 0 of System.SpanHelpers.Replace | parameter | 32 | -| Parameter 0 of System.SpanHelpers.ReplaceValueType | parameter | 32 | -| Parameter 0 of System.SpanHelpers.Reverse | parameter | 32 | -| Parameter 0 of System.SpanHelpers.ReverseInner | parameter | 32 | -| Parameter 0 of System.SpanHelpers.SequenceCompareTo | parameter | 32 | -| Parameter 0 of System.SpanHelpers.SequenceEqual | parameter | 32 | -| Parameter 0 of System.StartupHookProvider.ParseStartupHook | parameter | 32 | -| Parameter 0 of System.StubHelpers.CleanupWorkListElement.AddToCleanupList | parameter | 32 | -| Parameter 0 of System.StubHelpers.StubHelpers.AddToCleanupList | parameter | 32 | -| Parameter 0 of System.StubHelpers.StubHelpers.DestroyCleanupList | parameter | 32 | -| Parameter 0 of System.StubHelpers.StubHelpers.KeepAliveViaCleanupList | parameter | 32 | -| Parameter 0 of System.Text.Ascii.Equals | parameter | 32 | -| Parameter 0 of System.Text.Ascii.EqualsIgnoreCase | parameter | 32 | -| Parameter 0 of System.Text.Ascii.ILoader.EqualAndAscii256 | parameter | 32 | -| Parameter 0 of System.Text.Ascii.ILoader.EqualAndAscii512 | parameter | 32 | -| Parameter 0 of System.Text.Ascii.ILoader.Load128 | parameter | 32 | -| Parameter 0 of System.Text.Ascii.ILoader.Load256 | parameter | 32 | -| Parameter 0 of System.Text.Ascii.ILoader.Load512 | parameter | 32 | -| Parameter 0 of System.Text.Ascii.ILoader<!0,!0>.EqualAndAscii256 | parameter | 32 | -| Parameter 0 of System.Text.Ascii.ILoader<!0,!0>.EqualAndAscii512 | parameter | 32 | -| Parameter 0 of System.Text.Ascii.ILoader<!0,!0>.Load128 | parameter | 32 | -| Parameter 0 of System.Text.Ascii.ILoader<!0,!0>.Load256 | parameter | 32 | -| Parameter 0 of System.Text.Ascii.ILoader<!0,!0>.Load512 | parameter | 32 | -| Parameter 0 of System.Text.Ascii.ILoader<!0,!1>.EqualAndAscii256 | parameter | 32 | -| Parameter 0 of System.Text.Ascii.ILoader<!0,!1>.EqualAndAscii512 | parameter | 32 | -| Parameter 0 of System.Text.Ascii.ILoader<!0,!1>.Load128 | parameter | 32 | -| Parameter 0 of System.Text.Ascii.ILoader<!0,!1>.Load256 | parameter | 32 | -| Parameter 0 of System.Text.Ascii.ILoader<!0,!1>.Load512 | parameter | 32 | -| Parameter 0 of System.Text.Ascii.ILoader<Byte,UInt16>.EqualAndAscii256 | parameter | 32 | -| Parameter 0 of System.Text.Ascii.ILoader<Byte,UInt16>.EqualAndAscii512 | parameter | 32 | -| Parameter 0 of System.Text.Ascii.ILoader<Byte,UInt16>.Load128 | parameter | 32 | -| Parameter 0 of System.Text.Ascii.ILoader<Byte,UInt16>.Load256 | parameter | 32 | -| Parameter 0 of System.Text.Ascii.ILoader<Byte,UInt16>.Load512 | parameter | 32 | -| Parameter 0 of System.Text.Ascii.IsValidCore | parameter | 32 | -| Parameter 0 of System.Text.Ascii.NarrowFourUtf16CharsToAsciiAndWriteToBuffer | parameter | 32 | -| Parameter 0 of System.Text.Ascii.NarrowTwoUtf16CharsToAsciiAndWriteToBuffer | parameter | 32 | -| Parameter 0 of System.Text.Ascii.PlainLoader.EqualAndAscii256 | parameter | 32 | -| Parameter 0 of System.Text.Ascii.PlainLoader.EqualAndAscii512 | parameter | 32 | -| Parameter 0 of System.Text.Ascii.PlainLoader.Load128 | parameter | 32 | -| Parameter 0 of System.Text.Ascii.PlainLoader.Load256 | parameter | 32 | -| Parameter 0 of System.Text.Ascii.PlainLoader.Load512 | parameter | 32 | -| Parameter 0 of System.Text.Ascii.WidenFourAsciiBytesToUtf16AndWriteToBuffer | parameter | 32 | -| Parameter 0 of System.Text.Ascii.WideningLoader.EqualAndAscii256 | parameter | 32 | -| Parameter 0 of System.Text.Ascii.WideningLoader.EqualAndAscii512 | parameter | 32 | -| Parameter 0 of System.Text.Ascii.WideningLoader.Load128 | parameter | 32 | -| Parameter 0 of System.Text.Ascii.WideningLoader.Load256 | parameter | 32 | -| Parameter 0 of System.Text.Ascii.WideningLoader.Load512 | parameter | 32 | -| Parameter 0 of System.Text.Latin1Utility.NarrowFourUtf16CharsToLatin1AndWriteToBuffer | parameter | 32 | -| Parameter 0 of System.Text.Latin1Utility.NarrowTwoUtf16CharsToLatin1AndWriteToBuffer | parameter | 32 | -| Parameter 0 of System.Text.UTF8Encoding.UTF8EncodingSealed.ReadUtf8 | parameter | 32 | -| Parameter 0 of System.Text.Unicode.Utf8.TryWriteInterpolatedStringHandler.<AppendEnum>g__GrowAndAppendFormatted\|21_0 | parameter | 32 | -| Parameter 0 of System.Text.Unicode.Utf8.TryWriteInterpolatedStringHandler.<AppendSpanFormattable>g__GrowAndAppendFormatted\|20_0 | parameter | 32 | -| Parameter 0 of System.Text.Unicode.Utf8Utility.IsUtf8ContinuationByte | parameter | 32 | -| Parameter 0 of System.Text.Unicode.Utf8Utility.WriteFirstUtf16CharAsUtf8ThreeByteSequence | parameter | 32 | -| Parameter 0 of System.Text.Unicode.Utf8Utility.WriteTwoUtf16CharsAsTwoUtf8ThreeByteSequences | parameter | 32 | -| Parameter 0 of System.Threading.CancellationTokenSource.Registrations.<EnterLock>g__Contention\|13_0 | parameter | 32 | -| Parameter 0 of System.Threading.Interlocked.Add | parameter | 32 | -| Parameter 0 of System.Threading.Interlocked.And | parameter | 32 | -| Parameter 0 of System.Threading.Interlocked.CompareExchange | parameter | 32 | -| Parameter 0 of System.Threading.Interlocked.Decrement | parameter | 32 | -| Parameter 0 of System.Threading.Interlocked.Exchange | parameter | 32 | -| Parameter 0 of System.Threading.Interlocked.ExchangeAdd | parameter | 32 | -| Parameter 0 of System.Threading.Interlocked.Increment | parameter | 32 | -| Parameter 0 of System.Threading.Interlocked.Or | parameter | 32 | -| Parameter 0 of System.Threading.Interlocked.Read | parameter | 32 | -| Parameter 0 of System.Threading.LazyInitializer.EnsureInitialized | parameter | 32 | -| Parameter 0 of System.Threading.LazyInitializer.EnsureInitializedCore | parameter | 32 | -| Parameter 0 of System.Threading.LazyInitializer.EnsureLockInitialized | parameter | 32 | -| Parameter 0 of System.Threading.SpinLock.CompareExchange | parameter | 32 | -| Parameter 0 of System.Threading.Tasks.Task.AddExceptionsForCompletedTask | parameter | 32 | -| Parameter 0 of System.Threading.Thread.VolatileRead | parameter | 32 | -| Parameter 0 of System.Threading.Thread.VolatileWrite | parameter | 32 | -| Parameter 0 of System.Threading.ThreadLocal.GrowTable | parameter | 32 | -| Parameter 0 of System.Threading.ThreadLocal<!0>.GrowTable | parameter | 32 | -| Parameter 0 of System.Threading.ThreadPool.GetAvailableThreads | parameter | 32 | -| Parameter 0 of System.Threading.ThreadPool.GetMaxThreads | parameter | 32 | -| Parameter 0 of System.Threading.ThreadPool.GetMinThreads | parameter | 32 | -| Parameter 0 of System.Threading.Volatile.Read | parameter | 32 | -| Parameter 0 of System.Threading.Volatile.Write | parameter | 32 | -| Parameter 0 of System.TimeZoneInfo.AdjustmentRule.AdjustDaylightDeltaToExpectedRange | parameter | 32 | -| Parameter 0 of System.TimeZoneInfo.GetDirectoryEntryFullPath | parameter | 32 | -| Parameter 0 of System.TimeZoneInfo.TZif_GenerateAdjustmentRule | parameter | 32 | -| Parameter 0 of System.TimeZoneInfo.TZif_GenerateAdjustmentRules | parameter | 32 | -| Parameter 0 of System.TimeZoneInfo.TryGetLocalTzFile | parameter | 32 | -| Parameter 0 of delegate* managed<Byte&,Void> | parameter | 32 | -| Parameter 1 of Interop.Globalization.GetJapaneseEraStartDate | parameter | 32 | -| Parameter 1 of Interop.Globalization.GetSortHandle | parameter | 32 | -| Parameter 1 of Interop.Kernel32.GetEnvironmentVariable | parameter | 32 | -| Parameter 1 of Interop.Sys.FStat | parameter | 32 | -| Parameter 1 of Interop.Sys.GetPwUidR | parameter | 32 | -| Parameter 1 of Interop.Sys.GetUnixVersion | parameter | 32 | -| Parameter 1 of Interop.Sys.LStat | parameter | 32 | -| Parameter 1 of Interop.Sys.ReadLink | parameter | 32 | -| Parameter 1 of Interop.Sys.Rename | parameter | 32 | -| Parameter 1 of Interop.Sys.Stat | parameter | 32 | -| Parameter 1 of Interop.Sys.TryGetFileSystemType | parameter | 32 | -| Parameter 1 of Microsoft.Win32.SafeHandles.SafeFileHandle.TryGetCachedLength | parameter | 32 | -| Parameter 1 of System.AppContext.TryGetSwitch | parameter | 32 | -| Parameter 1 of System.Boolean.<TryParse>g__TryParseUncommon\|20_0 | parameter | 32 | -| Parameter 1 of System.Boolean.TryParse | parameter | 32 | -| Parameter 1 of System.Buffer.BulkMoveWithWriteBarrier | parameter | 32 | -| Parameter 1 of System.Buffer.Memmove | parameter | 32 | -| Parameter 1 of System.Buffer._BulkMoveWithWriteBarrier | parameter | 32 | -| Parameter 1 of System.Buffer._Memmove | parameter | 32 | -| Parameter 1 of System.Buffer.__BulkMoveWithWriteBarrier | parameter | 32 | -| Parameter 1 of System.Buffers.AnyByteSearchValues.IndexOfAny | parameter | 32 | -| Parameter 1 of System.Buffers.AnyByteSearchValues.IndexOfAnyScalar | parameter | 32 | -| Parameter 1 of System.Buffers.AnyByteSearchValues.LastIndexOfAny | parameter | 32 | -| Parameter 1 of System.Buffers.AnyByteSearchValues.LastIndexOfAnyScalar | parameter | 32 | -| Parameter 1 of System.Buffers.AsciiByteSearchValues.IndexOfAny | parameter | 32 | -| Parameter 1 of System.Buffers.AsciiByteSearchValues.IndexOfAnyScalar | parameter | 32 | -| Parameter 1 of System.Buffers.AsciiByteSearchValues.LastIndexOfAny | parameter | 32 | -| Parameter 1 of System.Buffers.AsciiByteSearchValues.LastIndexOfAnyScalar | parameter | 32 | -| Parameter 1 of System.Buffers.AsciiCharSearchValues.IndexOfAny | parameter | 32 | -| Parameter 1 of System.Buffers.AsciiCharSearchValues.IndexOfAnyScalar | parameter | 32 | -| Parameter 1 of System.Buffers.AsciiCharSearchValues.LastIndexOfAny | parameter | 32 | -| Parameter 1 of System.Buffers.AsciiCharSearchValues.LastIndexOfAnyScalar | parameter | 32 | -| Parameter 1 of System.Buffers.Binary.BinaryPrimitives.TryReadDoubleBigEndian | parameter | 32 | -| Parameter 1 of System.Buffers.Binary.BinaryPrimitives.TryReadDoubleLittleEndian | parameter | 32 | -| Parameter 1 of System.Buffers.Binary.BinaryPrimitives.TryReadHalfBigEndian | parameter | 32 | -| Parameter 1 of System.Buffers.Binary.BinaryPrimitives.TryReadHalfLittleEndian | parameter | 32 | -| Parameter 1 of System.Buffers.Binary.BinaryPrimitives.TryReadInt16BigEndian | parameter | 32 | -| Parameter 1 of System.Buffers.Binary.BinaryPrimitives.TryReadInt16LittleEndian | parameter | 32 | -| Parameter 1 of System.Buffers.Binary.BinaryPrimitives.TryReadInt32BigEndian | parameter | 32 | -| Parameter 1 of System.Buffers.Binary.BinaryPrimitives.TryReadInt32LittleEndian | parameter | 32 | -| Parameter 1 of System.Buffers.Binary.BinaryPrimitives.TryReadInt64BigEndian | parameter | 32 | -| Parameter 1 of System.Buffers.Binary.BinaryPrimitives.TryReadInt64LittleEndian | parameter | 32 | -| Parameter 1 of System.Buffers.Binary.BinaryPrimitives.TryReadInt128BigEndian | parameter | 32 | -| Parameter 1 of System.Buffers.Binary.BinaryPrimitives.TryReadInt128LittleEndian | parameter | 32 | -| Parameter 1 of System.Buffers.Binary.BinaryPrimitives.TryReadIntPtrBigEndian | parameter | 32 | -| Parameter 1 of System.Buffers.Binary.BinaryPrimitives.TryReadIntPtrLittleEndian | parameter | 32 | -| Parameter 1 of System.Buffers.Binary.BinaryPrimitives.TryReadSingleBigEndian | parameter | 32 | -| Parameter 1 of System.Buffers.Binary.BinaryPrimitives.TryReadSingleLittleEndian | parameter | 32 | -| Parameter 1 of System.Buffers.Binary.BinaryPrimitives.TryReadUInt16BigEndian | parameter | 32 | -| Parameter 1 of System.Buffers.Binary.BinaryPrimitives.TryReadUInt16LittleEndian | parameter | 32 | -| Parameter 1 of System.Buffers.Binary.BinaryPrimitives.TryReadUInt32BigEndian | parameter | 32 | -| Parameter 1 of System.Buffers.Binary.BinaryPrimitives.TryReadUInt32LittleEndian | parameter | 32 | -| Parameter 1 of System.Buffers.Binary.BinaryPrimitives.TryReadUInt64BigEndian | parameter | 32 | -| Parameter 1 of System.Buffers.Binary.BinaryPrimitives.TryReadUInt64LittleEndian | parameter | 32 | -| Parameter 1 of System.Buffers.Binary.BinaryPrimitives.TryReadUInt128BigEndian | parameter | 32 | -| Parameter 1 of System.Buffers.Binary.BinaryPrimitives.TryReadUInt128LittleEndian | parameter | 32 | -| Parameter 1 of System.Buffers.Binary.BinaryPrimitives.TryReadUIntPtrBigEndian | parameter | 32 | -| Parameter 1 of System.Buffers.Binary.BinaryPrimitives.TryReadUIntPtrLittleEndian | parameter | 32 | -| Parameter 1 of System.Buffers.IndexOfAnyAsciiSearcher.ComputeBitmap | parameter | 32 | -| Parameter 1 of System.Buffers.IndexOfAnyAsciiSearcher.ComputeBitmap256 | parameter | 32 | -| Parameter 1 of System.Buffers.IndexOfAnyAsciiSearcher.ComputeFirstIndex | parameter | 32 | -| Parameter 1 of System.Buffers.IndexOfAnyAsciiSearcher.ComputeFirstIndexOverlapped | parameter | 32 | -| Parameter 1 of System.Buffers.IndexOfAnyAsciiSearcher.ComputeLastIndex | parameter | 32 | -| Parameter 1 of System.Buffers.IndexOfAnyAsciiSearcher.ComputeLastIndexOverlapped | parameter | 32 | -| Parameter 1 of System.Buffers.Latin1CharSearchValues.IndexOfAny | parameter | 32 | -| Parameter 1 of System.Buffers.Latin1CharSearchValues.LastIndexOfAny | parameter | 32 | -| Parameter 1 of System.Buffers.MemoryManager.TryGetArray | parameter | 32 | -| Parameter 1 of System.Buffers.MemoryManager<!0>.TryGetArray | parameter | 32 | -| Parameter 1 of System.Buffers.ProbabilisticMap.IndexOfAny | parameter | 32 | -| Parameter 1 of System.Buffers.ProbabilisticMap.IndexOfAnyVectorized | parameter | 32 | -| Parameter 1 of System.Buffers.ProbabilisticMap.LastIndexOfAny | parameter | 32 | -| Parameter 1 of System.Buffers.SearchValues.TryGetSingleRange | parameter | 32 | -| Parameter 1 of System.Buffers.SharedArrayPoolStatics.TryGetInt32EnvironmentVariable | parameter | 32 | -| Parameter 1 of System.Buffers.StandardFormat.ParseHelper | parameter | 32 | -| Parameter 1 of System.Buffers.StandardFormat.TryParse | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Base64.Avx2Decode | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Base64.Avx2Encode | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Base64.Decode | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Base64.DecodeFromUtf8InPlace | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Base64.DecodeWithWhiteSpaceFromUtf8InPlace | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Base64.Encode | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Base64.EncodeAndPadOne | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Base64.EncodeAndPadTwo | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Base64.IsValid | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Base64.Vector128Decode | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Base64.Vector128Encode | parameter | 32 | -| Parameter 1 of System.Buffers.Text.FormattingHelpers.CountDecimalTrailingZeros | parameter | 32 | -| Parameter 1 of System.Buffers.Text.ParserHelpers.TryParseThrowFormatException | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Utf8Parser.TryParse | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Utf8Parser.TryParseByteD | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Utf8Parser.TryParseByteN | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Utf8Parser.TryParseByteX | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Utf8Parser.TryParseDateTimeG | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Utf8Parser.TryParseDateTimeOffsetDefault | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Utf8Parser.TryParseDateTimeOffsetO | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Utf8Parser.TryParseGuidCore | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Utf8Parser.TryParseGuidN | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Utf8Parser.TryParseInt16D | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Utf8Parser.TryParseInt16N | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Utf8Parser.TryParseInt32D | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Utf8Parser.TryParseInt32N | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Utf8Parser.TryParseInt64D | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Utf8Parser.TryParseInt64N | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Utf8Parser.TryParseNormalAsFloatingPoint | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Utf8Parser.TryParseNumber | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Utf8Parser.TryParseSByteD | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Utf8Parser.TryParseSByteN | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Utf8Parser.TryParseTimeSpanBigG | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Utf8Parser.TryParseTimeSpanC | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Utf8Parser.TryParseTimeSpanFraction | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Utf8Parser.TryParseTimeSpanLittleG | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Utf8Parser.TryParseUInt16D | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Utf8Parser.TryParseUInt16N | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Utf8Parser.TryParseUInt16X | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Utf8Parser.TryParseUInt32D | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Utf8Parser.TryParseUInt32N | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Utf8Parser.TryParseUInt32X | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Utf8Parser.TryParseUInt64D | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Utf8Parser.TryParseUInt64N | parameter | 32 | -| Parameter 1 of System.Buffers.Text.Utf8Parser.TryParseUInt64X | parameter | 32 | -| Parameter 1 of System.ByReference..ctor | parameter | 32 | -| Parameter 1 of System.Byte.TryConvertFromChecked | parameter | 32 | -| Parameter 1 of System.Byte.TryConvertFromSaturating | parameter | 32 | -| Parameter 1 of System.Byte.TryConvertFromTruncating | parameter | 32 | -| Parameter 1 of System.Byte.TryConvertToChecked | parameter | 32 | -| Parameter 1 of System.Byte.TryConvertToSaturating | parameter | 32 | -| Parameter 1 of System.Byte.TryConvertToTruncating | parameter | 32 | -| Parameter 1 of System.Byte.TryParse | parameter | 32 | -| Parameter 1 of System.Char.TryConvertFromChecked | parameter | 32 | -| Parameter 1 of System.Char.TryConvertFromSaturating | parameter | 32 | -| Parameter 1 of System.Char.TryConvertFromTruncating | parameter | 32 | -| Parameter 1 of System.Char.TryConvertToChecked | parameter | 32 | -| Parameter 1 of System.Char.TryConvertToSaturating | parameter | 32 | -| Parameter 1 of System.Char.TryConvertToTruncating | parameter | 32 | -| Parameter 1 of System.Char.TryParse | parameter | 32 | -| Parameter 1 of System.Collections.Concurrent.ConcurrentQueue.SnapForObservation | parameter | 32 | -| Parameter 1 of System.Collections.Concurrent.ConcurrentQueue.TryDequeue | parameter | 32 | -| Parameter 1 of System.Collections.Concurrent.ConcurrentQueue.TryDequeueSlow | parameter | 32 | -| Parameter 1 of System.Collections.Concurrent.ConcurrentQueue.TryPeek | parameter | 32 | -| Parameter 1 of System.Collections.Concurrent.ConcurrentQueue.TryTake | parameter | 32 | -| Parameter 1 of System.Collections.Concurrent.ConcurrentQueue<!0>.SnapForObservation | parameter | 32 | -| Parameter 1 of System.Collections.Concurrent.ConcurrentQueue<!0>.TryDequeue | parameter | 32 | -| Parameter 1 of System.Collections.Concurrent.ConcurrentQueue<!0>.TryDequeueSlow | parameter | 32 | -| Parameter 1 of System.Collections.Concurrent.ConcurrentQueue<!0>.TryPeek | parameter | 32 | -| Parameter 1 of System.Collections.Concurrent.ConcurrentQueue<Object>.TryDequeue | parameter | 32 | -| Parameter 1 of System.Collections.Concurrent.ConcurrentQueueSegment.TryDequeue | parameter | 32 | -| Parameter 1 of System.Collections.Concurrent.ConcurrentQueueSegment.TryPeek | parameter | 32 | -| Parameter 1 of System.Collections.Concurrent.ConcurrentQueueSegment<!0>.TryDequeue | parameter | 32 | -| Parameter 1 of System.Collections.Concurrent.ConcurrentQueueSegment<!0>.TryPeek | parameter | 32 | -| Parameter 1 of System.Collections.Concurrent.IProducerConsumerCollection.TryTake | parameter | 32 | -| Parameter 1 of System.Collections.Concurrent.IProducerConsumerCollection<!0>.TryTake | parameter | 32 | -| Parameter 1 of System.Collections.Concurrent.IProducerConsumerQueue.TryDequeue | parameter | 32 | -| Parameter 1 of System.Collections.Concurrent.IProducerConsumerQueue<!0>.TryDequeue | parameter | 32 | -| Parameter 1 of System.Collections.Concurrent.IProducerConsumerQueue<Task>.TryDequeue | parameter | 32 | -| Parameter 1 of System.Collections.Concurrent.MultiProducerMultiConsumerQueue.TryDequeue | parameter | 32 | -| Parameter 1 of System.Collections.Concurrent.SingleProducerSingleConsumerQueue.TryDequeue | parameter | 32 | -| Parameter 1 of System.Collections.Concurrent.SingleProducerSingleConsumerQueue.TryPeek | parameter | 32 | -| Parameter 1 of System.Collections.Concurrent.SingleProducerSingleConsumerQueue<!0>.TryDequeue | parameter | 32 | -| Parameter 1 of System.Collections.Concurrent.SingleProducerSingleConsumerQueue<!0>.TryPeek | parameter | 32 | -| Parameter 1 of System.Collections.DictionaryEntry.Deconstruct | parameter | 32 | -| Parameter 1 of System.Collections.Generic.EnumerableHelpers.ToArray | parameter | 32 | -| Parameter 1 of System.Collections.Generic.GenericArraySortHelper.GreaterThan | parameter | 32 | -| Parameter 1 of System.Collections.Generic.GenericArraySortHelper.LessThan | parameter | 32 | -| Parameter 1 of System.Collections.Generic.GenericArraySortHelper.Swap | parameter | 32 | -| Parameter 1 of System.Collections.Generic.GenericArraySortHelper.SwapIfGreater | parameter | 32 | -| Parameter 1 of System.Collections.Generic.GenericArraySortHelper<!0,!1>.GreaterThan | parameter | 32 | -| Parameter 1 of System.Collections.Generic.GenericArraySortHelper<!0,!1>.LessThan | parameter | 32 | -| Parameter 1 of System.Collections.Generic.GenericArraySortHelper<!0>.GreaterThan | parameter | 32 | -| Parameter 1 of System.Collections.Generic.GenericArraySortHelper<!0>.LessThan | parameter | 32 | -| Parameter 1 of System.Collections.Generic.GenericArraySortHelper<!0>.Swap | parameter | 32 | -| Parameter 1 of System.Collections.Generic.GenericArraySortHelper<!0>.SwapIfGreater | parameter | 32 | -| Parameter 1 of System.Collections.Generic.KeyValuePair.Deconstruct | parameter | 32 | -| Parameter 1 of System.Collections.Generic.KeyValuePair<String,ResourceSet>.Deconstruct | parameter | 32 | -| Parameter 1 of System.Collections.Generic.Queue.MoveNext | parameter | 32 | -| Parameter 1 of System.Collections.Generic.Queue.TryDequeue | parameter | 32 | -| Parameter 1 of System.Collections.Generic.Queue.TryPeek | parameter | 32 | -| Parameter 1 of System.Collections.Generic.Queue<!0>.MoveNext | parameter | 32 | -| Parameter 1 of System.Collections.Generic.Stack<ConsoleKeyInfo>.TryPop | parameter | 32 | -| Parameter 1 of System.ComAwareWeakReference.ObjectToComWeakRef | parameter | 32 | -| Parameter 1 of System.ConsolePal.<TryGetCursorPosition>g__BufferUntil\|82_1 | parameter | 32 | -| Parameter 1 of System.ConsolePal.GetWindowSize | parameter | 32 | -| Parameter 1 of System.ConsolePal.TryGetCachedCursorPosition | parameter | 32 | -| Parameter 1 of System.ConsolePal.TryGetCursorPosition | parameter | 32 | -| Parameter 1 of System.Convert.Decode | parameter | 32 | -| Parameter 1 of System.CultureAwareComparer.IsWellKnownCultureAwareComparerCore | parameter | 32 | -| Parameter 1 of System.DateOnly.Deconstruct | parameter | 32 | -| Parameter 1 of System.DateOnly.TryParse | parameter | 32 | -| Parameter 1 of System.DateTime.Deconstruct | parameter | 32 | -| Parameter 1 of System.DateTime.GetDate | parameter | 32 | -| Parameter 1 of System.DateTime.GetTime | parameter | 32 | -| Parameter 1 of System.DateTime.GetTimePrecise | parameter | 32 | -| Parameter 1 of System.DateTime.TryParse | parameter | 32 | -| Parameter 1 of System.DateTimeFormat.PrepareFormatU | parameter | 32 | -| Parameter 1 of System.DateTimeOffset.Deconstruct | parameter | 32 | -| Parameter 1 of System.DateTimeOffset.TryParse | parameter | 32 | -| Parameter 1 of System.DateTimeParse.AdjustTimeMark | parameter | 32 | -| Parameter 1 of System.DateTimeParse.CheckDefaultDateTime | parameter | 32 | -| Parameter 1 of System.DateTimeParse.ExpandPredefinedFormat | parameter | 32 | -| Parameter 1 of System.DateTimeParse.GetDateOfDSN | parameter | 32 | -| Parameter 1 of System.DateTimeParse.GetDateOfNDS | parameter | 32 | -| Parameter 1 of System.DateTimeParse.GetDateOfNNDS | parameter | 32 | -| Parameter 1 of System.DateTimeParse.GetDateTimeNow | parameter | 32 | -| Parameter 1 of System.DateTimeParse.GetDayOfMN | parameter | 32 | -| Parameter 1 of System.DateTimeParse.GetDayOfMNN | parameter | 32 | -| Parameter 1 of System.DateTimeParse.GetDayOfNM | parameter | 32 | -| Parameter 1 of System.DateTimeParse.GetDayOfNN | parameter | 32 | -| Parameter 1 of System.DateTimeParse.GetDayOfNNN | parameter | 32 | -| Parameter 1 of System.DateTimeParse.GetDayOfNNY | parameter | 32 | -| Parameter 1 of System.DateTimeParse.GetDayOfYM | parameter | 32 | -| Parameter 1 of System.DateTimeParse.GetDayOfYMN | parameter | 32 | -| Parameter 1 of System.DateTimeParse.GetDayOfYN | parameter | 32 | -| Parameter 1 of System.DateTimeParse.GetDayOfYNN | parameter | 32 | -| Parameter 1 of System.DateTimeParse.GetDefaultYear | parameter | 32 | -| Parameter 1 of System.DateTimeParse.GetHebrewDayOfNM | parameter | 32 | -| Parameter 1 of System.DateTimeParse.GetMonthDayOrder | parameter | 32 | -| Parameter 1 of System.DateTimeParse.GetTimeOfN | parameter | 32 | -| Parameter 1 of System.DateTimeParse.GetTimeOfNN | parameter | 32 | -| Parameter 1 of System.DateTimeParse.GetTimeOfNNN | parameter | 32 | -| Parameter 1 of System.DateTimeParse.GetYearMonthDayOrder | parameter | 32 | -| Parameter 1 of System.DateTimeParse.GetYearMonthOrder | parameter | 32 | -| Parameter 1 of System.DateTimeParse.HandleTimeZone | parameter | 32 | -| Parameter 1 of System.DateTimeParse.Lex | parameter | 32 | -| Parameter 1 of System.DateTimeParse.MatchHebrewDigits | parameter | 32 | -| Parameter 1 of System.DateTimeParse.ParseByFormat | parameter | 32 | -| Parameter 1 of System.DateTimeParse.ParseFraction | parameter | 32 | -| Parameter 1 of System.DateTimeParse.ParseISO8601 | parameter | 32 | -| Parameter 1 of System.DateTimeParse.ParseSign | parameter | 32 | -| Parameter 1 of System.DateTimeParse.ParseTimeZone | parameter | 32 | -| Parameter 1 of System.DateTimeParse.ProcessDateTimeSuffix | parameter | 32 | -| Parameter 1 of System.DateTimeParse.ProcessHebrewTerminalState | parameter | 32 | -| Parameter 1 of System.DateTimeParse.ProcessTerminalState | parameter | 32 | -| Parameter 1 of System.DateTimeParse.TryParseFormatO | parameter | 32 | -| Parameter 1 of System.DateTimeParse.TryParseFormatR | parameter | 32 | -| Parameter 1 of System.Decimal..ctor | parameter | 32 | -| Parameter 1 of System.Decimal.DecCalc.DecAddSub | parameter | 32 | -| Parameter 1 of System.Decimal.DecCalc.Div96ByConst | parameter | 32 | -| Parameter 1 of System.Decimal.DecCalc.Div128By96 | parameter | 32 | -| Parameter 1 of System.Decimal.DecCalc.Unscale | parameter | 32 | -| Parameter 1 of System.Decimal.DecCalc.VarDecCmp | parameter | 32 | -| Parameter 1 of System.Decimal.DecCalc.VarDecCmpSub | parameter | 32 | -| Parameter 1 of System.Decimal.DecCalc.VarDecDiv | parameter | 32 | -| Parameter 1 of System.Decimal.DecCalc.VarDecFromR4 | parameter | 32 | -| Parameter 1 of System.Decimal.DecCalc.VarDecFromR8 | parameter | 32 | -| Parameter 1 of System.Decimal.DecCalc.VarDecMod | parameter | 32 | -| Parameter 1 of System.Decimal.DecCalc.VarDecModFull | parameter | 32 | -| Parameter 1 of System.Decimal.DecCalc.VarDecMul | parameter | 32 | -| Parameter 1 of System.Decimal.TryConvertFrom | parameter | 32 | -| Parameter 1 of System.Decimal.TryConvertFromChecked | parameter | 32 | -| Parameter 1 of System.Decimal.TryConvertFromSaturating | parameter | 32 | -| Parameter 1 of System.Decimal.TryConvertFromTruncating | parameter | 32 | -| Parameter 1 of System.Decimal.TryConvertTo | parameter | 32 | -| Parameter 1 of System.Decimal.TryConvertToChecked | parameter | 32 | -| Parameter 1 of System.Decimal.TryConvertToSaturating | parameter | 32 | -| Parameter 1 of System.Decimal.TryConvertToTruncating | parameter | 32 | -| Parameter 1 of System.Decimal.TryParse | parameter | 32 | -| Parameter 1 of System.DefaultBinder.ReorderArgumentArray | parameter | 32 | -| Parameter 1 of System.Diagnostics.Debug.Assert | parameter | 32 | -| Parameter 1 of System.Diagnostics.Debug.WriteIf | parameter | 32 | -| Parameter 1 of System.Diagnostics.Debug.WriteLineIf | parameter | 32 | -| Parameter 1 of System.Diagnostics.StackTrace.TryResolveStateMachineMethod | parameter | 32 | -| Parameter 1 of System.Diagnostics.Tracing.ActivityTracker.ActivityInfo.CreateActivityPathGuid | parameter | 32 | -| Parameter 1 of System.Diagnostics.Tracing.EventParameterInfo.GetMetadataLength | parameter | 32 | -| Parameter 1 of System.Diagnostics.Tracing.EventParameterInfo.GetMetadataLengthForTypeV2 | parameter | 32 | -| Parameter 1 of System.Diagnostics.Tracing.EventParameterInfo.GetMetadataLengthV2 | parameter | 32 | -| Parameter 1 of System.Diagnostics.Tracing.EventParameterInfo.GetTypeInfoFromType | parameter | 32 | -| Parameter 1 of System.Diagnostics.Tracing.EventPipeEventProvider.EventActivityIdControl | parameter | 32 | -| Parameter 1 of System.Diagnostics.Tracing.EventPipeEventProvider.EventWriteTransfer | parameter | 32 | -| Parameter 1 of System.Diagnostics.Tracing.EventPipeInternal.EventActivityIdControl | parameter | 32 | -| Parameter 1 of System.Diagnostics.Tracing.EventPipeInternal.EventPipeProviderConfigurationNative.MarshalToNative | parameter | 32 | -| Parameter 1 of System.Diagnostics.Tracing.EventProvider.EncodeObject | parameter | 32 | -| Parameter 1 of System.Diagnostics.Tracing.EventProvider.WriteEvent | parameter | 32 | -| Parameter 1 of System.Diagnostics.Tracing.EventProvider.WriteEventRaw | parameter | 32 | -| Parameter 1 of System.Diagnostics.Tracing.EventProviderImpl.EventWriteTransfer | parameter | 32 | -| Parameter 1 of System.Diagnostics.Tracing.EventSource.SetCurrentThreadActivityId | parameter | 32 | -| Parameter 1 of System.Diagnostics.Tracing.FieldMetadata.Encode | parameter | 32 | -| Parameter 1 of System.Diagnostics.Tracing.Statics.EncodeTags | parameter | 32 | -| Parameter 1 of System.Double.TryConvertFrom | parameter | 32 | -| Parameter 1 of System.Double.TryConvertFromChecked | parameter | 32 | -| Parameter 1 of System.Double.TryConvertFromSaturating | parameter | 32 | -| Parameter 1 of System.Double.TryConvertFromTruncating | parameter | 32 | -| Parameter 1 of System.Double.TryConvertTo | parameter | 32 | -| Parameter 1 of System.Double.TryConvertToChecked | parameter | 32 | -| Parameter 1 of System.Double.TryConvertToSaturating | parameter | 32 | -| Parameter 1 of System.Double.TryConvertToTruncating | parameter | 32 | -| Parameter 1 of System.Double.TryParse | parameter | 32 | -| Parameter 1 of System.Enum.<ToString>g__HandleRareTypes\|55_0 | parameter | 32 | -| Parameter 1 of System.Enum.ToString | parameter | 32 | -| Parameter 1 of System.Enum.ToStringInlined | parameter | 32 | -| Parameter 1 of System.Enum.TryParse | parameter | 32 | -| Parameter 1 of System.Exception.<ToString>g__Write\|60_0 | parameter | 32 | -| Parameter 1 of System.Exception.GetHelpContext | parameter | 32 | -| Parameter 1 of System.Exception.GetStackTracesDeepCopy | parameter | 32 | -| Parameter 1 of System.Exception.RestoreDispatchState | parameter | 32 | -| Parameter 1 of System.Globalization.CalendarData.NormalizeDayOfWeek | parameter | 32 | -| Parameter 1 of System.Globalization.CultureData.GetLocaleName | parameter | 32 | -| Parameter 1 of System.Globalization.CultureData.IsValidCultureName | parameter | 32 | -| Parameter 1 of System.Globalization.CultureData.NormalizeCultureName | parameter | 32 | -| Parameter 1 of System.Globalization.DateTimeFormatInfo.TryParseHebrewNumber | parameter | 32 | -| Parameter 1 of System.Globalization.DateTimeFormatInfo.YearMonthAdjustment | parameter | 32 | -| Parameter 1 of System.Globalization.HebrewNumber.ParseByChar | parameter | 32 | -| Parameter 1 of System.Globalization.JapaneseCalendar.GetJapaneseEraStartDate | parameter | 32 | -| Parameter 1 of System.Globalization.Ordinal.EqualsIgnoreCase | parameter | 32 | -| Parameter 1 of System.Globalization.Ordinal.EqualsIgnoreCase_Scalar | parameter | 32 | -| Parameter 1 of System.Globalization.Ordinal.EqualsIgnoreCase_Vector128 | parameter | 32 | -| Parameter 1 of System.Globalization.TextInfo.AddNonLetter | parameter | 32 | -| Parameter 1 of System.Globalization.TextInfo.AddTitlecaseLetter | parameter | 32 | -| Parameter 1 of System.Globalization.TimeSpanParse.ParseExactLiteral | parameter | 32 | -| Parameter 1 of System.Globalization.TimeSpanParse.StringParser.ParseTime | parameter | 32 | -| Parameter 1 of System.Globalization.TimeSpanParse.TimeSpanRawInfo.ProcessToken | parameter | 32 | -| Parameter 1 of System.Globalization.TimeSpanParse.TryParseTimeSpanConstant | parameter | 32 | -| Parameter 1 of System.Globalization.UmAlQuraCalendar.ConvertGregorianToHijri | parameter | 32 | -| Parameter 1 of System.Guid.<TryParseExactD>g__TryCompatParsing\|33_0 | parameter | 32 | -| Parameter 1 of System.Guid.EqualsCore | parameter | 32 | -| Parameter 1 of System.Guid.TryParse | parameter | 32 | -| Parameter 1 of System.Guid.TryParseExactB | parameter | 32 | -| Parameter 1 of System.Guid.TryParseExactD | parameter | 32 | -| Parameter 1 of System.Guid.TryParseExactN | parameter | 32 | -| Parameter 1 of System.Guid.TryParseExactP | parameter | 32 | -| Parameter 1 of System.Guid.TryParseExactX | parameter | 32 | -| Parameter 1 of System.Guid.TryParseGuid | parameter | 32 | -| Parameter 1 of System.Guid.TryParseHex | parameter | 32 | -| Parameter 1 of System.Half.TryConvertFrom | parameter | 32 | -| Parameter 1 of System.Half.TryConvertFromChecked | parameter | 32 | -| Parameter 1 of System.Half.TryConvertFromSaturating | parameter | 32 | -| Parameter 1 of System.Half.TryConvertFromTruncating | parameter | 32 | -| Parameter 1 of System.Half.TryConvertTo | parameter | 32 | -| Parameter 1 of System.Half.TryConvertToChecked | parameter | 32 | -| Parameter 1 of System.Half.TryConvertToSaturating | parameter | 32 | -| Parameter 1 of System.Half.TryConvertToTruncating | parameter | 32 | -| Parameter 1 of System.Half.TryParse | parameter | 32 | -| Parameter 1 of System.HashCode.Initialize | parameter | 32 | -| Parameter 1 of System.IO.Enumeration.FileSystemEnumerable.DelegateEnumerator.ShouldIncludeEntry | parameter | 32 | -| Parameter 1 of System.IO.Enumeration.FileSystemEnumerable.DelegateEnumerator.ShouldRecurseIntoEntry | parameter | 32 | -| Parameter 1 of System.IO.Enumeration.FileSystemEnumerable.DelegateEnumerator.TransformEntry | parameter | 32 | -| Parameter 1 of System.IO.Enumeration.FileSystemEnumerable.FindPredicate.BeginInvoke | parameter | 32 | -| Parameter 1 of System.IO.Enumeration.FileSystemEnumerable.FindPredicate.EndInvoke | parameter | 32 | -| Parameter 1 of System.IO.Enumeration.FileSystemEnumerable.FindPredicate.Invoke | parameter | 32 | -| Parameter 1 of System.IO.Enumeration.FileSystemEnumerable.FindTransform.BeginInvoke | parameter | 32 | -| Parameter 1 of System.IO.Enumeration.FileSystemEnumerable.FindTransform.EndInvoke | parameter | 32 | -| Parameter 1 of System.IO.Enumeration.FileSystemEnumerable.FindTransform.Invoke | parameter | 32 | -| Parameter 1 of System.IO.Enumeration.FileSystemEnumerable<!0>.FindPredicate.Invoke | parameter | 32 | -| Parameter 1 of System.IO.Enumeration.FileSystemEnumerable<!0>.FindTransform.Invoke | parameter | 32 | -| Parameter 1 of System.IO.Enumeration.FileSystemEnumerableFactory.<>c.<DirectoryInfos>b__6_0 | parameter | 32 | -| Parameter 1 of System.IO.Enumeration.FileSystemEnumerableFactory.<>c.<FileInfos>b__5_0 | parameter | 32 | -| Parameter 1 of System.IO.Enumeration.FileSystemEnumerableFactory.<>c.<FileSystemInfos>b__7_0 | parameter | 32 | -| Parameter 1 of System.IO.Enumeration.FileSystemEnumerableFactory.<>c.<UserDirectories>b__3_0 | parameter | 32 | -| Parameter 1 of System.IO.Enumeration.FileSystemEnumerableFactory.<>c.<UserEntries>b__4_0 | parameter | 32 | -| Parameter 1 of System.IO.Enumeration.FileSystemEnumerableFactory.<>c.<UserFiles>b__2_0 | parameter | 32 | -| Parameter 1 of System.IO.Enumeration.FileSystemEnumerableFactory.<>c__DisplayClass2_0.<UserFiles>b__1 | parameter | 32 | -| Parameter 1 of System.IO.Enumeration.FileSystemEnumerableFactory.<>c__DisplayClass3_0.<UserDirectories>b__1 | parameter | 32 | -| Parameter 1 of System.IO.Enumeration.FileSystemEnumerableFactory.<>c__DisplayClass4_0.<UserEntries>b__1 | parameter | 32 | -| Parameter 1 of System.IO.Enumeration.FileSystemEnumerableFactory.<>c__DisplayClass5_0.<FileInfos>b__1 | parameter | 32 | -| Parameter 1 of System.IO.Enumeration.FileSystemEnumerableFactory.<>c__DisplayClass6_0.<DirectoryInfos>b__1 | parameter | 32 | -| Parameter 1 of System.IO.Enumeration.FileSystemEnumerableFactory.<>c__DisplayClass7_0.<FileSystemInfos>b__1 | parameter | 32 | -| Parameter 1 of System.IO.Enumeration.FileSystemEnumerableFactory.NormalizeInputs | parameter | 32 | -| Parameter 1 of System.IO.Enumeration.FileSystemEnumerator.ShouldIncludeEntry | parameter | 32 | -| Parameter 1 of System.IO.Enumeration.FileSystemEnumerator.ShouldRecurseIntoEntry | parameter | 32 | -| Parameter 1 of System.IO.Enumeration.FileSystemEnumerator.TransformEntry | parameter | 32 | -| Parameter 1 of System.IO.Enumeration.FileSystemEnumerator<!0>.ShouldIncludeEntry | parameter | 32 | -| Parameter 1 of System.IO.Enumeration.FileSystemEnumerator<!0>.ShouldRecurseIntoEntry | parameter | 32 | -| Parameter 1 of System.IO.Enumeration.FileSystemEnumerator<!0>.TransformEntry | parameter | 32 | -| Parameter 1 of System.IO.FileSystem.<>c.<RemoveDirectoryRecursive>b__20_0 | parameter | 32 | -| Parameter 1 of System.IO.FileSystem.DirectoryExists | parameter | 32 | -| Parameter 1 of System.IO.FileSystem.FileExists | parameter | 32 | -| Parameter 1 of System.IO.FileSystemInfo.Init | parameter | 32 | -| Parameter 1 of System.IO.KeyParser.<ParseFromSingleChar>g__ControlAndDigitPressed\|8_2 | parameter | 32 | -| Parameter 1 of System.IO.KeyParser.<ParseFromSingleChar>g__UppercaseCharacter\|8_0 | parameter | 32 | -| Parameter 1 of System.IO.MemoryStream.TryGetBuffer | parameter | 32 | -| Parameter 1 of System.IO.Path.ExistsCore | parameter | 32 | -| Parameter 1 of System.IO.StdInReader.ReadKey | parameter | 32 | -| Parameter 1 of System.IO.SyncTextReader.ReadKey | parameter | 32 | -| Parameter 1 of System.IO.UnmanagedMemoryStreamWrapper.TryGetBuffer | parameter | 32 | -| Parameter 1 of System.Int16.TryConvertFromChecked | parameter | 32 | -| Parameter 1 of System.Int16.TryConvertFromSaturating | parameter | 32 | -| Parameter 1 of System.Int16.TryConvertFromTruncating | parameter | 32 | -| Parameter 1 of System.Int16.TryConvertToChecked | parameter | 32 | -| Parameter 1 of System.Int16.TryConvertToSaturating | parameter | 32 | -| Parameter 1 of System.Int16.TryConvertToTruncating | parameter | 32 | -| Parameter 1 of System.Int16.TryParse | parameter | 32 | -| Parameter 1 of System.Int32.TryConvertFromChecked | parameter | 32 | -| Parameter 1 of System.Int32.TryConvertFromSaturating | parameter | 32 | -| Parameter 1 of System.Int32.TryConvertFromTruncating | parameter | 32 | -| Parameter 1 of System.Int32.TryConvertToChecked | parameter | 32 | -| Parameter 1 of System.Int32.TryConvertToSaturating | parameter | 32 | -| Parameter 1 of System.Int32.TryConvertToTruncating | parameter | 32 | -| Parameter 1 of System.Int32.TryParse | parameter | 32 | -| Parameter 1 of System.Int64.TryConvertFromChecked | parameter | 32 | -| Parameter 1 of System.Int64.TryConvertFromSaturating | parameter | 32 | -| Parameter 1 of System.Int64.TryConvertFromTruncating | parameter | 32 | -| Parameter 1 of System.Int64.TryConvertToChecked | parameter | 32 | -| Parameter 1 of System.Int64.TryConvertToSaturating | parameter | 32 | -| Parameter 1 of System.Int64.TryConvertToTruncating | parameter | 32 | -| Parameter 1 of System.Int64.TryParse | parameter | 32 | -| Parameter 1 of System.Int128.TryConvertFromChecked | parameter | 32 | -| Parameter 1 of System.Int128.TryConvertFromSaturating | parameter | 32 | -| Parameter 1 of System.Int128.TryConvertFromTruncating | parameter | 32 | -| Parameter 1 of System.Int128.TryConvertToChecked | parameter | 32 | -| Parameter 1 of System.Int128.TryConvertToSaturating | parameter | 32 | -| Parameter 1 of System.Int128.TryConvertToTruncating | parameter | 32 | -| Parameter 1 of System.Int128.TryParse | parameter | 32 | -| Parameter 1 of System.IntPtr.TryConvertFromChecked | parameter | 32 | -| Parameter 1 of System.IntPtr.TryConvertFromSaturating | parameter | 32 | -| Parameter 1 of System.IntPtr.TryConvertFromTruncating | parameter | 32 | -| Parameter 1 of System.IntPtr.TryConvertToChecked | parameter | 32 | -| Parameter 1 of System.IntPtr.TryConvertToSaturating | parameter | 32 | -| Parameter 1 of System.IntPtr.TryConvertToTruncating | parameter | 32 | -| Parameter 1 of System.IntPtr.TryParse | parameter | 32 | -| Parameter 1 of System.LocalAppContextSwitches.GetCachedSwitchValue | parameter | 32 | -| Parameter 1 of System.LocalAppContextSwitches.GetCachedSwitchValueInternal | parameter | 32 | -| Parameter 1 of System.Marvin.Block | parameter | 32 | -| Parameter 1 of System.MemoryExtensions.SliceLongerSpanToMatchShorterLength | parameter | 32 | -| Parameter 1 of System.MemoryExtensions.TryWrite | parameter | 32 | -| Parameter 1 of System.ModuleHandle.GetPEKind | parameter | 32 | -| Parameter 1 of System.Net.WebUtility.ConvertSmpToUtf16 | parameter | 32 | -| Parameter 1 of System.Net.WebUtility.GetNextUnicodeScalarValueFromUtf16Surrogate | parameter | 32 | -| Parameter 1 of System.Net.WebUtility.HtmlDecode | parameter | 32 | -| Parameter 1 of System.Net.WebUtility.HtmlEncode | parameter | 32 | -| Parameter 1 of System.Number.BigInteger.Add | parameter | 32 | -| Parameter 1 of System.Number.BigInteger.Compare | parameter | 32 | -| Parameter 1 of System.Number.BigInteger.DivRem | parameter | 32 | -| Parameter 1 of System.Number.BigInteger.DivRem32 | parameter | 32 | -| Parameter 1 of System.Number.BigInteger.HeuristicDivide | parameter | 32 | -| Parameter 1 of System.Number.BigInteger.Multiply | parameter | 32 | -| Parameter 1 of System.Number.BigInteger.Pow2 | parameter | 32 | -| Parameter 1 of System.Number.BigInteger.Pow10 | parameter | 32 | -| Parameter 1 of System.Number.BigInteger.SetValue | parameter | 32 | -| Parameter 1 of System.Number.DecimalToNumber | parameter | 32 | -| Parameter 1 of System.Number.DiyFp.CreateAndGetBoundaries | parameter | 32 | -| Parameter 1 of System.Number.DiyFp.Multiply | parameter | 32 | -| Parameter 1 of System.Number.DiyFp.Subtract | parameter | 32 | -| Parameter 1 of System.Number.ExtractFractionAndBiasedExponent | parameter | 32 | -| Parameter 1 of System.Number.FormatCurrency | parameter | 32 | -| Parameter 1 of System.Number.FormatFixed | parameter | 32 | -| Parameter 1 of System.Number.FormatGeneral | parameter | 32 | -| Parameter 1 of System.Number.FormatNumber | parameter | 32 | -| Parameter 1 of System.Number.FormatPercent | parameter | 32 | -| Parameter 1 of System.Number.FormatScientific | parameter | 32 | -| Parameter 1 of System.Number.GetFloatingPointMaxDigitsAndPrecision | parameter | 32 | -| Parameter 1 of System.Number.Grisu3.TryDigitGenShortest | parameter | 32 | -| Parameter 1 of System.Number.Grisu3.TryRunShortest | parameter | 32 | -| Parameter 1 of System.Number.Int32ToNumber | parameter | 32 | -| Parameter 1 of System.Number.Int64ToNumber | parameter | 32 | -| Parameter 1 of System.Number.Int128ToNumber | parameter | 32 | -| Parameter 1 of System.Number.NumberToString | parameter | 32 | -| Parameter 1 of System.Number.NumberToStringFormat | parameter | 32 | -| Parameter 1 of System.Number.ParseFormatSpecifier | parameter | 32 | -| Parameter 1 of System.Number.TryNumberBufferToBinaryInteger | parameter | 32 | -| Parameter 1 of System.Number.TryNumberToDecimal | parameter | 32 | -| Parameter 1 of System.Number.UInt32ToNumber | parameter | 32 | -| Parameter 1 of System.Number.UInt64ToNumber | parameter | 32 | -| Parameter 1 of System.Number.UInt128ToNumber | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase.TryConvertFromChecked | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase.TryConvertFromSaturating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase.TryConvertFromTruncating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase.TryConvertToChecked | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase.TryConvertToSaturating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase.TryConvertToTruncating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Byte>.TryConvertFromChecked | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Byte>.TryConvertFromSaturating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Byte>.TryConvertFromTruncating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Byte>.TryConvertToChecked | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Byte>.TryConvertToSaturating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Byte>.TryConvertToTruncating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Char>.TryConvertFromChecked | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Char>.TryConvertFromSaturating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Char>.TryConvertFromTruncating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Char>.TryConvertToChecked | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Char>.TryConvertToSaturating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Char>.TryConvertToTruncating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Decimal>.TryConvertFromChecked | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Decimal>.TryConvertFromSaturating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Decimal>.TryConvertFromTruncating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Decimal>.TryConvertToChecked | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Decimal>.TryConvertToSaturating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Decimal>.TryConvertToTruncating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Double>.TryConvertFromChecked | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Double>.TryConvertFromSaturating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Double>.TryConvertFromTruncating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Double>.TryConvertToChecked | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Double>.TryConvertToSaturating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Double>.TryConvertToTruncating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Half>.TryConvertFromChecked | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Half>.TryConvertFromSaturating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Half>.TryConvertFromTruncating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Half>.TryConvertToChecked | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Half>.TryConvertToSaturating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Half>.TryConvertToTruncating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Int16>.TryConvertFromChecked | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Int16>.TryConvertFromSaturating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Int16>.TryConvertFromTruncating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Int16>.TryConvertToChecked | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Int16>.TryConvertToSaturating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Int16>.TryConvertToTruncating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Int32>.TryConvertFromChecked | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Int32>.TryConvertFromSaturating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Int32>.TryConvertFromTruncating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Int32>.TryConvertToChecked | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Int32>.TryConvertToSaturating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Int32>.TryConvertToTruncating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Int64>.TryConvertFromChecked | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Int64>.TryConvertFromSaturating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Int64>.TryConvertFromTruncating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Int64>.TryConvertToChecked | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Int64>.TryConvertToSaturating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Int64>.TryConvertToTruncating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Int128>.TryConvertFromChecked | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Int128>.TryConvertFromSaturating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Int128>.TryConvertFromTruncating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Int128>.TryConvertToChecked | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Int128>.TryConvertToSaturating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Int128>.TryConvertToTruncating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<IntPtr>.TryConvertFromChecked | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<IntPtr>.TryConvertFromSaturating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<IntPtr>.TryConvertFromTruncating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<IntPtr>.TryConvertToChecked | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<IntPtr>.TryConvertToSaturating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<IntPtr>.TryConvertToTruncating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<NFloat>.TryConvertFromChecked | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<NFloat>.TryConvertFromSaturating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<NFloat>.TryConvertFromTruncating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<NFloat>.TryConvertToChecked | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<NFloat>.TryConvertToSaturating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<NFloat>.TryConvertToTruncating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<SByte>.TryConvertFromChecked | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<SByte>.TryConvertFromSaturating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<SByte>.TryConvertFromTruncating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<SByte>.TryConvertToChecked | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<SByte>.TryConvertToSaturating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<SByte>.TryConvertToTruncating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Single>.TryConvertFromChecked | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Single>.TryConvertFromSaturating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Single>.TryConvertFromTruncating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Single>.TryConvertToChecked | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Single>.TryConvertToSaturating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<Single>.TryConvertToTruncating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<UInt16>.TryConvertFromChecked | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<UInt16>.TryConvertFromSaturating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<UInt16>.TryConvertFromTruncating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<UInt16>.TryConvertToChecked | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<UInt16>.TryConvertToSaturating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<UInt16>.TryConvertToTruncating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<UInt32>.TryConvertFromChecked | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<UInt32>.TryConvertFromSaturating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<UInt32>.TryConvertFromTruncating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<UInt32>.TryConvertToChecked | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<UInt32>.TryConvertToSaturating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<UInt32>.TryConvertToTruncating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<UInt64>.TryConvertFromChecked | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<UInt64>.TryConvertFromSaturating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<UInt64>.TryConvertFromTruncating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<UInt64>.TryConvertToChecked | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<UInt64>.TryConvertToSaturating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<UInt64>.TryConvertToTruncating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<UInt128>.TryConvertFromChecked | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<UInt128>.TryConvertFromSaturating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<UInt128>.TryConvertFromTruncating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<UInt128>.TryConvertToChecked | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<UInt128>.TryConvertToSaturating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<UInt128>.TryConvertToTruncating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<UIntPtr>.TryConvertFromChecked | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<UIntPtr>.TryConvertFromSaturating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<UIntPtr>.TryConvertFromTruncating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<UIntPtr>.TryConvertToChecked | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<UIntPtr>.TryConvertToSaturating | parameter | 32 | -| Parameter 1 of System.Numerics.INumberBase<UIntPtr>.TryConvertToTruncating | parameter | 32 | -| Parameter 1 of System.Numerics.Matrix3x2.Impl.Equals | parameter | 32 | -| Parameter 1 of System.Numerics.Matrix3x2.Impl.Invert | parameter | 32 | -| Parameter 1 of System.Numerics.Matrix3x2.Impl.Lerp | parameter | 32 | -| Parameter 1 of System.Numerics.Matrix3x2.Impl.op_Addition | parameter | 32 | -| Parameter 1 of System.Numerics.Matrix3x2.Impl.op_Equality | parameter | 32 | -| Parameter 1 of System.Numerics.Matrix3x2.Impl.op_Inequality | parameter | 32 | -| Parameter 1 of System.Numerics.Matrix3x2.Impl.op_Multiply | parameter | 32 | -| Parameter 1 of System.Numerics.Matrix3x2.Impl.op_Subtraction | parameter | 32 | -| Parameter 1 of System.Numerics.Matrix3x2.Invert | parameter | 32 | -| Parameter 1 of System.Numerics.Matrix4x4.Decompose | parameter | 32 | -| Parameter 1 of System.Numerics.Matrix4x4.Impl.<Invert>g__SoftwareFallback\|64_2 | parameter | 32 | -| Parameter 1 of System.Numerics.Matrix4x4.Impl.<Invert>g__SseImpl\|64_0 | parameter | 32 | -| Parameter 1 of System.Numerics.Matrix4x4.Impl.CreateBillboard | parameter | 32 | -| Parameter 1 of System.Numerics.Matrix4x4.Impl.CreateConstrainedBillboard | parameter | 32 | -| Parameter 1 of System.Numerics.Matrix4x4.Impl.CreateLookTo | parameter | 32 | -| Parameter 1 of System.Numerics.Matrix4x4.Impl.CreateLookToLeftHanded | parameter | 32 | -| Parameter 1 of System.Numerics.Matrix4x4.Impl.CreateRotationX | parameter | 32 | -| Parameter 1 of System.Numerics.Matrix4x4.Impl.CreateRotationY | parameter | 32 | -| Parameter 1 of System.Numerics.Matrix4x4.Impl.CreateRotationZ | parameter | 32 | -| Parameter 1 of System.Numerics.Matrix4x4.Impl.CreateScale | parameter | 32 | -| Parameter 1 of System.Numerics.Matrix4x4.Impl.CreateShadow | parameter | 32 | -| Parameter 1 of System.Numerics.Matrix4x4.Impl.CreateWorld | parameter | 32 | -| Parameter 1 of System.Numerics.Matrix4x4.Impl.Decompose | parameter | 32 | -| Parameter 1 of System.Numerics.Matrix4x4.Impl.Equals | parameter | 32 | -| Parameter 1 of System.Numerics.Matrix4x4.Impl.Init | parameter | 32 | -| Parameter 1 of System.Numerics.Matrix4x4.Impl.Invert | parameter | 32 | -| Parameter 1 of System.Numerics.Matrix4x4.Impl.Lerp | parameter | 32 | -| Parameter 1 of System.Numerics.Matrix4x4.Impl.Transform | parameter | 32 | -| Parameter 1 of System.Numerics.Matrix4x4.Impl.op_Addition | parameter | 32 | -| Parameter 1 of System.Numerics.Matrix4x4.Impl.op_Equality | parameter | 32 | -| Parameter 1 of System.Numerics.Matrix4x4.Impl.op_Inequality | parameter | 32 | -| Parameter 1 of System.Numerics.Matrix4x4.Impl.op_Multiply | parameter | 32 | -| Parameter 1 of System.Numerics.Matrix4x4.Impl.op_Subtraction | parameter | 32 | -| Parameter 1 of System.Numerics.Matrix4x4.Invert | parameter | 32 | -| Parameter 1 of System.Numerics.Vector2.Transform | parameter | 32 | -| Parameter 1 of System.Numerics.Vector2.TransformNormal | parameter | 32 | -| Parameter 1 of System.Numerics.Vector3.TransformNormal | parameter | 32 | -| Parameter 1 of System.Numerics.Vector4.Transform | parameter | 32 | -| Parameter 1 of System.Numerics.Vector.StoreUnsafe | parameter | 32 | -| Parameter 1 of System.Numerics.Vector.Widen | parameter | 32 | -| Parameter 1 of System.OrdinalComparer.IsWellKnownOrdinalComparerCore | parameter | 32 | -| Parameter 1 of System.PackedSpanHelpers.ComputeFirstIndex | parameter | 32 | -| Parameter 1 of System.PackedSpanHelpers.ComputeFirstIndexOverlapped | parameter | 32 | -| Parameter 1 of System.ParseNumbers.EatWhiteSpace | parameter | 32 | -| Parameter 1 of System.ReadOnlyMemory.GetObjectStartLength | parameter | 32 | -| Parameter 1 of System.ReadOnlyMemory<!0>.GetObjectStartLength | parameter | 32 | -| Parameter 1 of System.ReadOnlyMemory<Char>.GetObjectStartLength | parameter | 32 | -| Parameter 1 of System.ReadOnlySpan..ctor | parameter | 32 | -| Parameter 1 of System.ReadOnlySpan<!0>..ctor | parameter | 32 | -| Parameter 1 of System.ReadOnlySpan<Byte>..ctor | parameter | 32 | -| Parameter 1 of System.ReadOnlySpan<Char>..ctor | parameter | 32 | -| Parameter 1 of System.ReadOnlySpan<Int32>..ctor | parameter | 32 | -| Parameter 1 of System.ReadOnlySpan<Object>..ctor | parameter | 32 | -| Parameter 1 of System.Reflection.AssemblyNameParser.GetNextToken | parameter | 32 | -| Parameter 1 of System.Reflection.AssemblyNameParser.RecordNewSeenOrThrow | parameter | 32 | -| Parameter 1 of System.Reflection.Binder.ReorderArgumentArray | parameter | 32 | -| Parameter 1 of System.Reflection.ConstructorInvoker.CheckArgument | parameter | 32 | -| Parameter 1 of System.Reflection.CustomAttribute.FilterCustomAttributeRecord | parameter | 32 | -| Parameter 1 of System.Reflection.CustomAttribute.GetPropertyOrFieldData | parameter | 32 | -| Parameter 1 of System.Reflection.CustomAttribute.ParseAttributeUsageAttribute | parameter | 32 | -| Parameter 1 of System.Reflection.CustomAttributeEncodedArgument.ParseAttributeArguments | parameter | 32 | -| Parameter 1 of System.Reflection.Emit.DynamicResolver.GetCodeInfo | parameter | 32 | -| Parameter 1 of System.Reflection.Emit.DynamicResolver.GetJitContext | parameter | 32 | -| Parameter 1 of System.Reflection.Emit.RuntimeMethodBuilder.GetLocalSignature | parameter | 32 | -| Parameter 1 of System.Reflection.Emit.RuntimeModuleBuilder.GetPEKind | parameter | 32 | -| Parameter 1 of System.Reflection.Emit.SignatureHelper.InternalGetSignature | parameter | 32 | -| Parameter 1 of System.Reflection.InvokeUtils.TryConvertPointer | parameter | 32 | -| Parameter 1 of System.Reflection.Metadata.AssemblyExtensions.InternalTryGetRawMetadata | parameter | 32 | -| Parameter 1 of System.Reflection.Metadata.AssemblyExtensions.TryGetRawMetadata | parameter | 32 | -| Parameter 1 of System.Reflection.MetadataImport.GetMarshalAs | parameter | 32 | -| Parameter 1 of System.Reflection.MetadataImport.GetScopeProps | parameter | 32 | -| Parameter 1 of System.Reflection.MetadataImport._GetScopeProps | parameter | 32 | -| Parameter 1 of System.Reflection.MethodBaseInvoker.TryByRefFastPath | parameter | 32 | -| Parameter 1 of System.Reflection.MethodInvoker.CheckArgument | parameter | 32 | -| Parameter 1 of System.Reflection.MethodInvokerCommon.DetermineStrategy_Obj4Args | parameter | 32 | -| Parameter 1 of System.Reflection.MethodInvokerCommon.DetermineStrategy_ObjSpanArgs | parameter | 32 | -| Parameter 1 of System.Reflection.MethodInvokerCommon.DetermineStrategy_RefArgs | parameter | 32 | -| Parameter 1 of System.Reflection.MethodInvokerCommon.Initialize | parameter | 32 | -| Parameter 1 of System.Reflection.Module.GetPEKind | parameter | 32 | -| Parameter 1 of System.Reflection.RuntimeAssembly.GetVersion | parameter | 32 | -| Parameter 1 of System.Reflection.RuntimeAssembly.InternalLoad | parameter | 32 | -| Parameter 1 of System.Reflection.RuntimeCustomAttributeData.GetCombinedList | parameter | 32 | -| Parameter 1 of System.Reflection.RuntimeModule.GetPEKind | parameter | 32 | -| Parameter 1 of System.Reflection.TypeNameParser.AssemblyQualifiedTypeName.ResolveType | parameter | 32 | -| Parameter 1 of System.Reflection.TypeNameParser.GenericTypeName.ResolveType | parameter | 32 | -| Parameter 1 of System.Reflection.TypeNameParser.ModifierTypeName.ResolveType | parameter | 32 | -| Parameter 1 of System.Reflection.TypeNameParser.NamespaceTypeName.ResolveType | parameter | 32 | -| Parameter 1 of System.Reflection.TypeNameParser.NestedNamespaceTypeName.ResolveType | parameter | 32 | -| Parameter 1 of System.Reflection.TypeNameParser.TypeName.ResolveType | parameter | 32 | -| Parameter 1 of System.Resolver.GetCodeInfo | parameter | 32 | -| Parameter 1 of System.Resolver.GetJitContext | parameter | 32 | -| Parameter 1 of System.Resources.ManifestBasedResourceGroveler.GetNeutralResourcesLanguage | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.AsyncIteratorMethodBuilder.AwaitOnCompleted | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.AsyncIteratorMethodBuilder.AwaitUnsafeOnCompleted | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.AsyncIteratorMethodBuilder.MoveNext | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.AsyncTaskMethodBuilder.AwaitOnCompleted | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.AsyncTaskMethodBuilder.AwaitUnsafeOnCompleted | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.AsyncTaskMethodBuilder.GetStateMachineBox | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetException | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetNotificationForWaitCompletion | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.AsyncTaskMethodBuilder<!0>.AwaitOnCompleted | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.AsyncTaskMethodBuilder<!0>.GetStateMachineBox | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.AsyncTaskMethodBuilder<!0>.SetException | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.AsyncTaskMethodBuilder<!0>.SetNotificationForWaitCompletion | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.AsyncTaskMethodBuilder<Boolean>.AwaitUnsafeOnCompleted | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.AsyncTaskMethodBuilder<Boolean>.Start | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.AsyncTaskMethodBuilder<Byte[]>.AwaitUnsafeOnCompleted | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.AsyncTaskMethodBuilder<Byte[]>.Start | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.AsyncTaskMethodBuilder<String>.AwaitUnsafeOnCompleted | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.AsyncTaskMethodBuilder<String>.Start | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.AsyncTaskMethodBuilder<String[]>.AwaitUnsafeOnCompleted | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.AsyncTaskMethodBuilder<String[]>.Start | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.AsyncTaskMethodBuilder<VoidTaskResult>.AwaitOnCompleted | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.AsyncTaskMethodBuilder<VoidTaskResult>.AwaitUnsafeOnCompleted | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.AsyncTaskMethodBuilder<VoidTaskResult>.SetException | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.AsyncTaskMethodBuilder<VoidTaskResult>.SetNotificationForWaitCompletion | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder.AwaitOnCompleted | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder.AwaitUnsafeOnCompleted | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder.Start | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder<Int32>.AwaitUnsafeOnCompleted | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder<Int32>.Start | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.AsyncVoidMethodBuilder.AwaitOnCompleted | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.AsyncVoidMethodBuilder.AwaitUnsafeOnCompleted | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.AsyncVoidMethodBuilder.Start | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable..ctor | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable.ConfiguredValueTaskAwaiter..ctor | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder.AwaitOnCompleted | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder.AwaitUnsafeOnCompleted | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder.GetStateMachineBox | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder.SetException | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder.Start | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder<!0>.AwaitOnCompleted | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder<!0>.GetStateMachineBox | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder<!0>.SetException | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder<Int32>.AwaitUnsafeOnCompleted | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder<Int32>.Start | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder<VoidTaskResult>.AwaitOnCompleted | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder<VoidTaskResult>.SetException | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.QCallAssembly..ctor | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.QCallModule..ctor | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.QCallTypeHandle..ctor | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.RuntimeHelpers.Box | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.StackCrawlMarkHandle..ctor | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.StringHandleOnStack..ctor | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.Unsafe.AreSame | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.Unsafe.ByteOffset | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.Unsafe.Copy | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.Unsafe.CopyBlock | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.Unsafe.CopyBlockUnaligned | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.Unsafe.IsAddressGreaterThan | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.Unsafe.IsAddressLessThan | parameter | 32 | -| Parameter 1 of System.Runtime.CompilerServices.ValueTaskAwaiter..ctor | parameter | 32 | -| Parameter 1 of System.Runtime.DependentHandle.InternalGetTargetAndDependent | parameter | 32 | -| Parameter 1 of System.Runtime.DependentHandle.UnsafeGetTargetAndDependent | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComTypes.IBindCtx.EnumObjectParam | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComTypes.IBindCtx.GetBindOptions | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComTypes.IBindCtx.GetRunningObjectTable | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComTypes.IBindCtx.SetBindOptions | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComTypes.IConnectionPoint.EnumConnections | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComTypes.IConnectionPoint.GetConnectionInterface | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComTypes.IConnectionPoint.GetConnectionPointContainer | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComTypes.IConnectionPointContainer.EnumConnectionPoints | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComTypes.IConnectionPointContainer.FindConnectionPoint | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComTypes.IEnumConnectionPoints.Clone | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComTypes.IEnumConnections.Clone | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComTypes.IEnumMoniker.Clone | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComTypes.IEnumString.Clone | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComTypes.IMoniker.GetClassID | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComTypes.IMoniker.GetSizeMax | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComTypes.IMoniker.Hash | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComTypes.IMoniker.Inverse | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComTypes.IMoniker.IsSystemMoniker | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComTypes.IPersistFile.GetClassID | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComTypes.IPersistFile.GetCurFile | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComTypes.IRunningObjectTable.EnumRunning | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComTypes.IStream.Clone | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComTypes.IStream.Stat | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComTypes.ITypeInfo2.GetContainingTypeLib | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComTypes.ITypeInfo2.GetCustData | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComTypes.ITypeInfo2.GetTypeAttr | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComTypes.ITypeInfo2.GetTypeComp | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComTypes.ITypeInfo2.GetTypeFlags | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComTypes.ITypeInfo2.GetTypeKind | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComTypes.ITypeInfo.GetContainingTypeLib | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComTypes.ITypeInfo.GetTypeAttr | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComTypes.ITypeInfo.GetTypeComp | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComTypes.ITypeLib2.GetCustData | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComTypes.ITypeLib2.GetLibAttr | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComTypes.ITypeLib2.GetTypeComp | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComTypes.ITypeLib2.GetTypeInfoOfGuid | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComTypes.ITypeLib.GetLibAttr | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComTypes.ITypeLib.GetTypeComp | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComTypes.ITypeLib.GetTypeInfoOfGuid | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComWrappers.CallICustomQueryInterface | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComWrappers.GetIUnknownImpl | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComWrappers.GetIUnknownImplInternal | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComWrappers.TryGetComInstance | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComWrappers.TryGetComInstanceInternal | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ComWrappers.TryGetObject | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ICustomQueryInterface.GetInterface | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.Marshal.QueryInterface | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.Marshalling.ArrayMarshaller.AllocateContainerForUnmanagedElements | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.Marshalling.PointerArrayMarshaller.AllocateContainerForUnmanagedElements | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller.UnmanagedToManagedOut.AllocateContainerForUnmanagedElements | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.Marshalling.SpanMarshaller.AllocateContainerForUnmanagedElements | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.MemoryMarshal.TryGetArray | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.MemoryMarshal.TryGetMemoryManager | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.MemoryMarshal.TryGetString | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.MemoryMarshal.TryRead | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.MemoryMarshal.TryWrite | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.MemoryMarshal.Write | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.NFloat.TryConvertFrom | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.NFloat.TryConvertFromChecked | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.NFloat.TryConvertFromSaturating | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.NFloat.TryConvertFromTruncating | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.NFloat.TryConvertTo | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.NFloat.TryConvertToChecked | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.NFloat.TryConvertToSaturating | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.NFloat.TryConvertToTruncating | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.NFloat.TryParse | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.NativeLibrary.TryLoad | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ObjectiveC.ObjectiveCMarshal.CreateReferenceTrackingHandle | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.ObjectiveC.ObjectiveCMarshal.UnhandledExceptionPropagationHandler.EndInvoke | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.SafeBuffer.AcquirePointer | parameter | 32 | -| Parameter 1 of System.Runtime.InteropServices.SafeHandle.DangerousAddRef | parameter | 32 | -| Parameter 1 of System.Runtime.Intrinsics.Vector64.StoreUnsafe | parameter | 32 | -| Parameter 1 of System.Runtime.Intrinsics.Vector128.StoreLowerUnsafe | parameter | 32 | -| Parameter 1 of System.Runtime.Intrinsics.Vector128.StoreUnsafe | parameter | 32 | -| Parameter 1 of System.Runtime.Intrinsics.Vector256.StoreUnsafe | parameter | 32 | -| Parameter 1 of System.Runtime.Intrinsics.Vector512.StoreUnsafe | parameter | 32 | -| Parameter 1 of System.Runtime.Loader.AssemblyLoadContext.StartAssemblyLoad | parameter | 32 | -| Parameter 1 of System.Runtime.MemoryFailPoint.CheckForAvailableMemory | parameter | 32 | -| Parameter 1 of System.Runtime.Serialization.SerializationInfo.ThrowIfDeserializationInProgress | parameter | 32 | -| Parameter 1 of System.RuntimeType.CheckValue | parameter | 32 | -| Parameter 1 of System.RuntimeType.FilterHelper | parameter | 32 | -| Parameter 1 of System.RuntimeType.GetGUID | parameter | 32 | -| Parameter 1 of System.RuntimeType.RuntimeTypeCache.ConstructName | parameter | 32 | -| Parameter 1 of System.RuntimeType.RuntimeTypeCache.GetMemberCache | parameter | 32 | -| Parameter 1 of System.RuntimeType.RuntimeTypeCache.GetMemberList | parameter | 32 | -| Parameter 1 of System.RuntimeType.RuntimeTypeCache.MemberInfoCache.AddSpecialInterface | parameter | 32 | -| Parameter 1 of System.RuntimeType.RuntimeTypeCache.MemberInfoCache.Insert | parameter | 32 | -| Parameter 1 of System.RuntimeType.RuntimeTypeCache.MemberInfoCache<!0>.AddSpecialInterface | parameter | 32 | -| Parameter 1 of System.RuntimeType.RuntimeTypeCache.MemberInfoCache<!0>.Insert | parameter | 32 | -| Parameter 1 of System.RuntimeType.SplitName | parameter | 32 | -| Parameter 1 of System.RuntimeType.TryChangeType | parameter | 32 | -| Parameter 1 of System.RuntimeType.TryChangeTypeSpecial | parameter | 32 | -| Parameter 1 of System.RuntimeType.TryGetByRefElementType | parameter | 32 | -| Parameter 1 of System.RuntimeTypeHandle.CopyRuntimeTypeHandles | parameter | 32 | -| Parameter 1 of System.RuntimeTypeHandle.GetActivationInfo | parameter | 32 | -| Parameter 1 of System.SByte.TryConvertFromChecked | parameter | 32 | -| Parameter 1 of System.SByte.TryConvertFromSaturating | parameter | 32 | -| Parameter 1 of System.SByte.TryConvertFromTruncating | parameter | 32 | -| Parameter 1 of System.SByte.TryConvertToChecked | parameter | 32 | -| Parameter 1 of System.SByte.TryConvertToSaturating | parameter | 32 | -| Parameter 1 of System.SByte.TryConvertToTruncating | parameter | 32 | -| Parameter 1 of System.SByte.TryParse | parameter | 32 | -| Parameter 1 of System.Security.SecureString.AcquireSpan | parameter | 32 | -| Parameter 1 of System.Single.TryConvertFrom | parameter | 32 | -| Parameter 1 of System.Single.TryConvertFromChecked | parameter | 32 | -| Parameter 1 of System.Single.TryConvertFromSaturating | parameter | 32 | -| Parameter 1 of System.Single.TryConvertFromTruncating | parameter | 32 | -| Parameter 1 of System.Single.TryConvertTo | parameter | 32 | -| Parameter 1 of System.Single.TryConvertToChecked | parameter | 32 | -| Parameter 1 of System.Single.TryConvertToSaturating | parameter | 32 | -| Parameter 1 of System.Single.TryConvertToTruncating | parameter | 32 | -| Parameter 1 of System.Single.TryParse | parameter | 32 | -| Parameter 1 of System.Span..ctor | parameter | 32 | -| Parameter 1 of System.Span<!0>..ctor | parameter | 32 | -| Parameter 1 of System.Span<!1>..ctor | parameter | 32 | -| Parameter 1 of System.Span<Boolean>..ctor | parameter | 32 | -| Parameter 1 of System.Span<Byte>..ctor | parameter | 32 | -| Parameter 1 of System.Span<Char>..ctor | parameter | 32 | -| Parameter 1 of System.Span<GuidResult>..ctor | parameter | 32 | -| Parameter 1 of System.Span<Int32>..ctor | parameter | 32 | -| Parameter 1 of System.Span<Object>..ctor | parameter | 32 | -| Parameter 1 of System.SpanHelpers.CommonPrefixLength | parameter | 32 | -| Parameter 1 of System.SpanHelpers.ComputeFirstIndex | parameter | 32 | -| Parameter 1 of System.SpanHelpers.Replace | parameter | 32 | -| Parameter 1 of System.SpanHelpers.ReplaceValueType | parameter | 32 | -| Parameter 1 of System.SpanHelpers.SequenceEqual | parameter | 32 | -| Parameter 1 of System.String.Create | parameter | 32 | -| Parameter 1 of System.String.MakeSeparatorListVectorized | parameter | 32 | -| Parameter 1 of System.String.TryGetTrailByte | parameter | 32 | -| Parameter 1 of System.StringComparer.IsWellKnownCultureAwareComparer | parameter | 32 | -| Parameter 1 of System.StringComparer.IsWellKnownCultureAwareComparerCore | parameter | 32 | -| Parameter 1 of System.StringComparer.IsWellKnownOrdinalComparer | parameter | 32 | -| Parameter 1 of System.StringComparer.IsWellKnownOrdinalComparerCore | parameter | 32 | -| Parameter 1 of System.StubHelpers.HandleMarshaler.ConvertSafeHandleToNative | parameter | 32 | -| Parameter 1 of System.StubHelpers.MngdFixedArrayMarshaler.ClearNativeContents | parameter | 32 | -| Parameter 1 of System.StubHelpers.MngdFixedArrayMarshaler.ConvertContentsToManaged | parameter | 32 | -| Parameter 1 of System.StubHelpers.MngdFixedArrayMarshaler.ConvertContentsToNative | parameter | 32 | -| Parameter 1 of System.StubHelpers.MngdFixedArrayMarshaler.ConvertSpaceToManaged | parameter | 32 | -| Parameter 1 of System.StubHelpers.MngdFixedArrayMarshaler.ConvertSpaceToNative | parameter | 32 | -| Parameter 1 of System.StubHelpers.MngdNativeArrayMarshaler.ClearNative | parameter | 32 | -| Parameter 1 of System.StubHelpers.MngdNativeArrayMarshaler.ClearNativeContents | parameter | 32 | -| Parameter 1 of System.StubHelpers.MngdNativeArrayMarshaler.ConvertContentsToManaged | parameter | 32 | -| Parameter 1 of System.StubHelpers.MngdNativeArrayMarshaler.ConvertContentsToNative | parameter | 32 | -| Parameter 1 of System.StubHelpers.MngdNativeArrayMarshaler.ConvertSpaceToManaged | parameter | 32 | -| Parameter 1 of System.StubHelpers.MngdNativeArrayMarshaler.ConvertSpaceToNative | parameter | 32 | -| Parameter 1 of System.StubHelpers.MngdRefCustomMarshaler.ClearManaged | parameter | 32 | -| Parameter 1 of System.StubHelpers.MngdRefCustomMarshaler.ClearNative | parameter | 32 | -| Parameter 1 of System.StubHelpers.MngdRefCustomMarshaler.ConvertContentsToManaged | parameter | 32 | -| Parameter 1 of System.StubHelpers.MngdRefCustomMarshaler.ConvertContentsToNative | parameter | 32 | -| Parameter 1 of System.StubHelpers.StubHelpers.SafeHandleAddRef | parameter | 32 | -| Parameter 1 of System.TermInfo.DatabaseFactory.TryOpen | parameter | 32 | -| Parameter 1 of System.TermInfo.ParameterizedStrings.EvaluateInternal | parameter | 32 | -| Parameter 1 of System.TermInfo.ParameterizedStrings.GetDynamicOrStaticVariables | parameter | 32 | -| Parameter 1 of System.Text.Ascii.ChangeCase | parameter | 32 | -| Parameter 1 of System.Text.Ascii.Equals | parameter | 32 | -| Parameter 1 of System.Text.Ascii.EqualsIgnoreCase | parameter | 32 | -| Parameter 1 of System.Text.Ascii.ILoader.EqualAndAscii256 | parameter | 32 | -| Parameter 1 of System.Text.Ascii.ILoader.EqualAndAscii512 | parameter | 32 | -| Parameter 1 of System.Text.Ascii.ILoader<!0,!0>.EqualAndAscii256 | parameter | 32 | -| Parameter 1 of System.Text.Ascii.ILoader<!0,!0>.EqualAndAscii512 | parameter | 32 | -| Parameter 1 of System.Text.Ascii.ILoader<!0,!1>.EqualAndAscii256 | parameter | 32 | -| Parameter 1 of System.Text.Ascii.ILoader<!0,!1>.EqualAndAscii512 | parameter | 32 | -| Parameter 1 of System.Text.Ascii.ILoader<Byte,UInt16>.EqualAndAscii256 | parameter | 32 | -| Parameter 1 of System.Text.Ascii.ILoader<Byte,UInt16>.EqualAndAscii512 | parameter | 32 | -| Parameter 1 of System.Text.Ascii.PlainLoader.EqualAndAscii256 | parameter | 32 | -| Parameter 1 of System.Text.Ascii.PlainLoader.EqualAndAscii512 | parameter | 32 | -| Parameter 1 of System.Text.Ascii.ToLowerInPlace | parameter | 32 | -| Parameter 1 of System.Text.Ascii.ToUpperInPlace | parameter | 32 | -| Parameter 1 of System.Text.Ascii.WideningLoader.EqualAndAscii256 | parameter | 32 | -| Parameter 1 of System.Text.Ascii.WideningLoader.EqualAndAscii512 | parameter | 32 | -| Parameter 1 of System.Text.CompositeFormat.<TryParseLiterals>g__TryMoveNext\|12_0 | parameter | 32 | -| Parameter 1 of System.Text.Rune.DecodeFromUtf8 | parameter | 32 | -| Parameter 1 of System.Text.Rune.DecodeFromUtf16 | parameter | 32 | -| Parameter 1 of System.Text.Rune.DecodeLastFromUtf8 | parameter | 32 | -| Parameter 1 of System.Text.Rune.DecodeLastFromUtf16 | parameter | 32 | -| Parameter 1 of System.Text.Rune.TryCreate | parameter | 32 | -| Parameter 1 of System.Text.StringBuilder.<AppendFormatHelper>g__MoveNext\|116_0 | parameter | 32 | -| Parameter 1 of System.Text.StringBuilder.Append | parameter | 32 | -| Parameter 1 of System.Text.StringBuilder.AppendJoinCore | parameter | 32 | -| Parameter 1 of System.Text.StringBuilder.AppendLine | parameter | 32 | -| Parameter 1 of System.Text.StringBuilder.AppendWithExpansion | parameter | 32 | -| Parameter 1 of System.Text.StringBuilder.ChunkEnumerator.ManyChunkInfo.MoveNext | parameter | 32 | -| Parameter 1 of System.Text.StringBuilder.ReplaceInPlaceAtChunk | parameter | 32 | -| Parameter 1 of System.Text.Unicode.Utf8.TryWrite | parameter | 32 | -| Parameter 1 of System.Text.Unicode.Utf8Utility.GetIndexOfFirstInvalidUtf8Sequence | parameter | 32 | -| Parameter 1 of System.Text.UnicodeUtility.GetUtf16SurrogatesFromSupplementaryPlaneScalar | parameter | 32 | -| Parameter 1 of System.Text.ValueStringBuilder.<AppendFormatHelper>g__MoveNext\|0_0 | parameter | 32 | -| Parameter 1 of System.Threading.EventWaitHandle.OpenExistingWorker | parameter | 32 | -| Parameter 1 of System.Threading.EventWaitHandle.TryOpenExisting | parameter | 32 | -| Parameter 1 of System.Threading.LazyInitializer.EnsureInitialized | parameter | 32 | -| Parameter 1 of System.Threading.LazyInitializer.EnsureInitializedCore | parameter | 32 | -| Parameter 1 of System.Threading.Monitor.Enter | parameter | 32 | -| Parameter 1 of System.Threading.Monitor.ReliableEnter | parameter | 32 | -| Parameter 1 of System.Threading.Monitor.TryEnter | parameter | 32 | -| Parameter 1 of System.Threading.Mutex.OpenExistingWorker | parameter | 32 | -| Parameter 1 of System.Threading.Mutex.TryOpenExisting | parameter | 32 | -| Parameter 1 of System.Threading.PeriodicTimer.TryGetMilliseconds | parameter | 32 | -| Parameter 1 of System.Threading.PortableThreadPool.GetAvailableThreads | parameter | 32 | -| Parameter 1 of System.Threading.PortableThreadPool.GetMaxThreads | parameter | 32 | -| Parameter 1 of System.Threading.PortableThreadPool.GetMinThreads | parameter | 32 | -| Parameter 1 of System.Threading.PortableThreadPool.WorkerThread.WorkerDoWork | parameter | 32 | -| Parameter 1 of System.Threading.ReaderWriterLockSlim.LazyCreateEvent | parameter | 32 | -| Parameter 1 of System.Threading.Semaphore.OpenExistingWorker | parameter | 32 | -| Parameter 1 of System.Threading.Semaphore.TryOpenExisting | parameter | 32 | -| Parameter 1 of System.Threading.SpinLock.Enter | parameter | 32 | -| Parameter 1 of System.Threading.SpinLock.TryEnter | parameter | 32 | -| Parameter 1 of System.Threading.Tasks.Task.AddToList | parameter | 32 | -| Parameter 1 of System.Threading.Tasks.Task.CreationOptionsFromContinuationOptions | parameter | 32 | -| Parameter 1 of System.Threading.Tasks.Task.ExecuteWithThreadLocal | parameter | 32 | -| Parameter 1 of System.Threading.Tasks.Task.WhenAllPromise.<Invoke>g__HandleTask\|3_0 | parameter | 32 | -| Parameter 1 of System.Threading.ThreadPool.GetAvailableThreads | parameter | 32 | -| Parameter 1 of System.Threading.ThreadPool.GetMaxThreads | parameter | 32 | -| Parameter 1 of System.Threading.ThreadPool.GetMinThreads | parameter | 32 | -| Parameter 1 of System.Threading.ThreadPool.GetNextConfigUInt32Value | parameter | 32 | -| Parameter 1 of System.Threading.ThreadPoolWorkQueue.WorkStealingQueue.TrySteal | parameter | 32 | -| Parameter 1 of System.TimeOnly.Deconstruct | parameter | 32 | -| Parameter 1 of System.TimeOnly.TryParse | parameter | 32 | -| Parameter 1 of System.TimeSpan.TryParse | parameter | 32 | -| Parameter 1 of System.TimeZoneInfo.AdjustmentRule.AdjustDaylightDeltaToExpectedRange | parameter | 32 | -| Parameter 1 of System.TimeZoneInfo.GetAlternativeId | parameter | 32 | -| Parameter 1 of System.TimeZoneInfo.GetDateTimeNowUtcOffsetFromUtc | parameter | 32 | -| Parameter 1 of System.TimeZoneInfo.GetDaylightDisplayName | parameter | 32 | -| Parameter 1 of System.TimeZoneInfo.GetStandardDisplayName | parameter | 32 | -| Parameter 1 of System.TimeZoneInfo.NormalizeAdjustmentRuleOffset | parameter | 32 | -| Parameter 1 of System.TimeZoneInfo.StringSerializer.SerializeSubstitute | parameter | 32 | -| Parameter 1 of System.TimeZoneInfo.StringSerializer.SerializeTransitionTime | parameter | 32 | -| Parameter 1 of System.TimeZoneInfo.TZif_ParseJulianDay | parameter | 32 | -| Parameter 1 of System.TimeZoneInfo.TZif_ParseMDateRule | parameter | 32 | -| Parameter 1 of System.TimeZoneInfo.TZif_ParsePosixDate | parameter | 32 | -| Parameter 1 of System.TimeZoneInfo.TZif_ParsePosixDateTime | parameter | 32 | -| Parameter 1 of System.TimeZoneInfo.TZif_ParsePosixFormat | parameter | 32 | -| Parameter 1 of System.TimeZoneInfo.TZif_ParsePosixName | parameter | 32 | -| Parameter 1 of System.TimeZoneInfo.TZif_ParsePosixOffset | parameter | 32 | -| Parameter 1 of System.TimeZoneInfo.TZif_ParsePosixString | parameter | 32 | -| Parameter 1 of System.TimeZoneInfo.TZif_ParsePosixTime | parameter | 32 | -| Parameter 1 of System.TimeZoneInfo.TZif_ParseRaw | parameter | 32 | -| Parameter 1 of System.TimeZoneInfo.TryConvertIanaIdToWindowsId | parameter | 32 | -| Parameter 1 of System.TimeZoneInfo.TryConvertWindowsIdToIanaId | parameter | 32 | -| Parameter 1 of System.TimeZoneInfo.TryFindSystemTimeZoneById | parameter | 32 | -| Parameter 1 of System.TimeZoneInfo.TryGetLocalTzFile | parameter | 32 | -| Parameter 1 of System.TimeZoneInfo.TryGetTimeZone | parameter | 32 | -| Parameter 1 of System.TimeZoneInfo.TryGetTimeZoneFromLocalMachine | parameter | 32 | -| Parameter 1 of System.TimeZoneInfo.TryGetTimeZoneFromLocalMachineCore | parameter | 32 | -| Parameter 1 of System.TimeZoneInfo.TryLoadTzFile | parameter | 32 | -| Parameter 1 of System.TupleExtensions.Deconstruct | parameter | 32 | -| Parameter 1 of System.Type.GetEnumData | parameter | 32 | -| Parameter 1 of System.UInt16.TryConvertFromChecked | parameter | 32 | -| Parameter 1 of System.UInt16.TryConvertFromSaturating | parameter | 32 | -| Parameter 1 of System.UInt16.TryConvertFromTruncating | parameter | 32 | -| Parameter 1 of System.UInt16.TryConvertToChecked | parameter | 32 | -| Parameter 1 of System.UInt16.TryConvertToSaturating | parameter | 32 | -| Parameter 1 of System.UInt16.TryConvertToTruncating | parameter | 32 | -| Parameter 1 of System.UInt16.TryParse | parameter | 32 | -| Parameter 1 of System.UInt32.TryConvertFromChecked | parameter | 32 | -| Parameter 1 of System.UInt32.TryConvertFromSaturating | parameter | 32 | -| Parameter 1 of System.UInt32.TryConvertFromTruncating | parameter | 32 | -| Parameter 1 of System.UInt32.TryConvertToChecked | parameter | 32 | -| Parameter 1 of System.UInt32.TryConvertToSaturating | parameter | 32 | -| Parameter 1 of System.UInt32.TryConvertToTruncating | parameter | 32 | -| Parameter 1 of System.UInt32.TryParse | parameter | 32 | -| Parameter 1 of System.UInt64.TryConvertFromChecked | parameter | 32 | -| Parameter 1 of System.UInt64.TryConvertFromSaturating | parameter | 32 | -| Parameter 1 of System.UInt64.TryConvertFromTruncating | parameter | 32 | -| Parameter 1 of System.UInt64.TryConvertToChecked | parameter | 32 | -| Parameter 1 of System.UInt64.TryConvertToSaturating | parameter | 32 | -| Parameter 1 of System.UInt64.TryConvertToTruncating | parameter | 32 | -| Parameter 1 of System.UInt64.TryParse | parameter | 32 | -| Parameter 1 of System.UInt128.TryConvertFromChecked | parameter | 32 | -| Parameter 1 of System.UInt128.TryConvertFromSaturating | parameter | 32 | -| Parameter 1 of System.UInt128.TryConvertFromTruncating | parameter | 32 | -| Parameter 1 of System.UInt128.TryConvertToChecked | parameter | 32 | -| Parameter 1 of System.UInt128.TryConvertToSaturating | parameter | 32 | -| Parameter 1 of System.UInt128.TryConvertToTruncating | parameter | 32 | -| Parameter 1 of System.UInt128.TryParse | parameter | 32 | -| Parameter 1 of System.UIntPtr.TryConvertFromChecked | parameter | 32 | -| Parameter 1 of System.UIntPtr.TryConvertFromSaturating | parameter | 32 | -| Parameter 1 of System.UIntPtr.TryConvertFromTruncating | parameter | 32 | -| Parameter 1 of System.UIntPtr.TryConvertToChecked | parameter | 32 | -| Parameter 1 of System.UIntPtr.TryConvertToSaturating | parameter | 32 | -| Parameter 1 of System.UIntPtr.TryConvertToTruncating | parameter | 32 | -| Parameter 1 of System.UIntPtr.TryParse | parameter | 32 | -| Parameter 1 of System.Version.TryParse | parameter | 32 | -| Parameter 1 of System.WeakReference.TryGetTarget | parameter | 32 | -| Parameter 1 of System.WeakReference<AssemblyLoadContext>.TryGetTarget | parameter | 32 | -| Parameter 1 of System.WeakReference<CounterGroup>.TryGetTarget | parameter | 32 | -| Parameter 1 of System.WeakReference<EventProvider>.TryGetTarget | parameter | 32 | -| Parameter 1 of System.WeakReference<EventSource>.TryGetTarget | parameter | 32 | -| Parameter 1 of System.__DTString.GetRegularToken | parameter | 32 | -| Parameter 1 of delegate* managed<IntPtr,Byte&,PortableTailCallFrame*,Void> | parameter | 32 | -| Parameter 2 of Interop.Globalization.GetJapaneseEraStartDate | parameter | 32 | -| Parameter 2 of Interop.Globalization.GetLocaleInfoGroupingSizes | parameter | 32 | -| Parameter 2 of Interop.Globalization.GetLocaleInfoInt | parameter | 32 | -| Parameter 2 of Interop.Kernel32.ReleaseSemaphore | parameter | 32 | -| Parameter 2 of Microsoft.Win32.SafeHandles.SafeFileHandle.FStatCheckIO | parameter | 32 | -| Parameter 2 of Microsoft.Win32.SafeHandles.SafeFileHandle.OpenReadOnly | parameter | 32 | -| Parameter 2 of System.Boolean.TryFormat | parameter | 32 | -| Parameter 2 of System.Boolean.TryParse | parameter | 32 | -| Parameter 2 of System.Buffers.IndexOfAnyAsciiSearcher.ComputeBitmap | parameter | 32 | -| Parameter 2 of System.Buffers.IndexOfAnyAsciiSearcher.ComputeBitmap256 | parameter | 32 | -| Parameter 2 of System.Buffers.IndexOfAnyAsciiSearcher.ComputeFirstIndexOverlapped | parameter | 32 | -| Parameter 2 of System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyVectorized | parameter | 32 | -| Parameter 2 of System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyVectorizedAnyByte | parameter | 32 | -| Parameter 2 of System.Buffers.IndexOfAnyAsciiSearcher.LastIndexOfAnyVectorized | parameter | 32 | -| Parameter 2 of System.Buffers.IndexOfAnyAsciiSearcher.LastIndexOfAnyVectorizedAnyByte | parameter | 32 | -| Parameter 2 of System.Buffers.IndexOfAnyAsciiSearcher.TryComputeBitmap | parameter | 32 | -| Parameter 2 of System.Buffers.ProbabilisticMap.ContainsMask16Chars | parameter | 32 | -| Parameter 2 of System.Buffers.ProbabilisticMap.ContainsMask32CharsAvx2 | parameter | 32 | -| Parameter 2 of System.Buffers.ProbabilisticMap.IndexOfAny | parameter | 32 | -| Parameter 2 of System.Buffers.ProbabilisticMap.IndexOfAnyExcept | parameter | 32 | -| Parameter 2 of System.Buffers.ProbabilisticMap.LastIndexOfAny | parameter | 32 | -| Parameter 2 of System.Buffers.ProbabilisticMap.LastIndexOfAnyExcept | parameter | 32 | -| Parameter 2 of System.Buffers.ProbabilisticMap.ProbabilisticIndexOfAny | parameter | 32 | -| Parameter 2 of System.Buffers.ProbabilisticMap.ProbabilisticLastIndexOfAny | parameter | 32 | -| Parameter 2 of System.Buffers.SearchValues.TryGetSingleRange | parameter | 32 | -| Parameter 2 of System.Buffers.Text.Base64.<DecodeFromUtf8>g__InvalidDataFallback\|15_0 | parameter | 32 | -| Parameter 2 of System.Buffers.Text.Base64.DecodeFromUtf8 | parameter | 32 | -| Parameter 2 of System.Buffers.Text.Base64.DecodeWithWhiteSpaceBlockwise | parameter | 32 | -| Parameter 2 of System.Buffers.Text.Base64.EncodeToUtf8 | parameter | 32 | -| Parameter 2 of System.Buffers.Text.Base64.EncodeToUtf8InPlace | parameter | 32 | -| Parameter 2 of System.Buffers.Text.FormattingHelpers.TryFormat | parameter | 32 | -| Parameter 2 of System.Buffers.Text.ParserHelpers.TryParseThrowFormatException | parameter | 32 | -| Parameter 2 of System.Buffers.Text.Utf8Formatter.TryFormat | parameter | 32 | -| Parameter 2 of System.Buffers.Text.Utf8Formatter.TryFormatDateTimeL | parameter | 32 | -| Parameter 2 of System.Buffers.Text.Utf8Parser.TimeSpanSplitter.ParseComponent | parameter | 32 | -| Parameter 2 of System.Buffers.Text.Utf8Parser.TryParse | parameter | 32 | -| Parameter 2 of System.Buffers.Text.Utf8Parser.TryParseByteD | parameter | 32 | -| Parameter 2 of System.Buffers.Text.Utf8Parser.TryParseByteN | parameter | 32 | -| Parameter 2 of System.Buffers.Text.Utf8Parser.TryParseByteX | parameter | 32 | -| Parameter 2 of System.Buffers.Text.Utf8Parser.TryParseDateTimeG | parameter | 32 | -| Parameter 2 of System.Buffers.Text.Utf8Parser.TryParseDateTimeOffsetDefault | parameter | 32 | -| Parameter 2 of System.Buffers.Text.Utf8Parser.TryParseDateTimeOffsetO | parameter | 32 | -| Parameter 2 of System.Buffers.Text.Utf8Parser.TryParseDateTimeOffsetR | parameter | 32 | -| Parameter 2 of System.Buffers.Text.Utf8Parser.TryParseGuidCore | parameter | 32 | -| Parameter 2 of System.Buffers.Text.Utf8Parser.TryParseGuidN | parameter | 32 | -| Parameter 2 of System.Buffers.Text.Utf8Parser.TryParseInt16D | parameter | 32 | -| Parameter 2 of System.Buffers.Text.Utf8Parser.TryParseInt16N | parameter | 32 | -| Parameter 2 of System.Buffers.Text.Utf8Parser.TryParseInt32D | parameter | 32 | -| Parameter 2 of System.Buffers.Text.Utf8Parser.TryParseInt32N | parameter | 32 | -| Parameter 2 of System.Buffers.Text.Utf8Parser.TryParseInt64D | parameter | 32 | -| Parameter 2 of System.Buffers.Text.Utf8Parser.TryParseInt64N | parameter | 32 | -| Parameter 2 of System.Buffers.Text.Utf8Parser.TryParseNormalAsFloatingPoint | parameter | 32 | -| Parameter 2 of System.Buffers.Text.Utf8Parser.TryParseNumber | parameter | 32 | -| Parameter 2 of System.Buffers.Text.Utf8Parser.TryParseSByteD | parameter | 32 | -| Parameter 2 of System.Buffers.Text.Utf8Parser.TryParseSByteN | parameter | 32 | -| Parameter 2 of System.Buffers.Text.Utf8Parser.TryParseTimeSpanBigG | parameter | 32 | -| Parameter 2 of System.Buffers.Text.Utf8Parser.TryParseTimeSpanC | parameter | 32 | -| Parameter 2 of System.Buffers.Text.Utf8Parser.TryParseTimeSpanFraction | parameter | 32 | -| Parameter 2 of System.Buffers.Text.Utf8Parser.TryParseTimeSpanLittleG | parameter | 32 | -| Parameter 2 of System.Buffers.Text.Utf8Parser.TryParseUInt16D | parameter | 32 | -| Parameter 2 of System.Buffers.Text.Utf8Parser.TryParseUInt16N | parameter | 32 | -| Parameter 2 of System.Buffers.Text.Utf8Parser.TryParseUInt16X | parameter | 32 | -| Parameter 2 of System.Buffers.Text.Utf8Parser.TryParseUInt32D | parameter | 32 | -| Parameter 2 of System.Buffers.Text.Utf8Parser.TryParseUInt32N | parameter | 32 | -| Parameter 2 of System.Buffers.Text.Utf8Parser.TryParseUInt32X | parameter | 32 | -| Parameter 2 of System.Buffers.Text.Utf8Parser.TryParseUInt64D | parameter | 32 | -| Parameter 2 of System.Buffers.Text.Utf8Parser.TryParseUInt64N | parameter | 32 | -| Parameter 2 of System.Buffers.Text.Utf8Parser.TryParseUInt64X | parameter | 32 | -| Parameter 2 of System.Byte.TryFormat | parameter | 32 | -| Parameter 2 of System.Byte.TryParse | parameter | 32 | -| Parameter 2 of System.Byte.TryReadBigEndian | parameter | 32 | -| Parameter 2 of System.Byte.TryReadLittleEndian | parameter | 32 | -| Parameter 2 of System.Byte.TryWriteBigEndian | parameter | 32 | -| Parameter 2 of System.Byte.TryWriteLittleEndian | parameter | 32 | -| Parameter 2 of System.Char.TryFormat | parameter | 32 | -| Parameter 2 of System.Char.TryParse | parameter | 32 | -| Parameter 2 of System.Char.TryReadBigEndian | parameter | 32 | -| Parameter 2 of System.Char.TryReadLittleEndian | parameter | 32 | -| Parameter 2 of System.Char.TryWriteBigEndian | parameter | 32 | -| Parameter 2 of System.Char.TryWriteLittleEndian | parameter | 32 | -| Parameter 2 of System.Collections.Concurrent.ConcurrentQueue.SnapForObservation | parameter | 32 | -| Parameter 2 of System.Collections.Concurrent.ConcurrentQueue<!0>.SnapForObservation | parameter | 32 | -| Parameter 2 of System.Collections.Concurrent.SingleProducerSingleConsumerQueue.EnqueueSlow | parameter | 32 | -| Parameter 2 of System.Collections.Concurrent.SingleProducerSingleConsumerQueue<!0>.EnqueueSlow | parameter | 32 | -| Parameter 2 of System.Collections.DictionaryEntry.Deconstruct | parameter | 32 | -| Parameter 2 of System.Collections.Generic.CollectionExtensions.Remove | parameter | 32 | -| Parameter 2 of System.Collections.Generic.Dictionary.CollectionsMarshalHelper.GetValueRefOrAddDefault | parameter | 32 | -| Parameter 2 of System.Collections.Generic.Dictionary.Remove | parameter | 32 | -| Parameter 2 of System.Collections.Generic.Dictionary.TryGetValue | parameter | 32 | -| Parameter 2 of System.Collections.Generic.Dictionary<!0,!1>.CollectionsMarshalHelper.GetValueRefOrAddDefault | parameter | 32 | -| Parameter 2 of System.Collections.Generic.Dictionary<Int32,Boolean>.TryGetValue | parameter | 32 | -| Parameter 2 of System.Collections.Generic.Dictionary<Int32,ChannelInfo>.TryGetValue | parameter | 32 | -| Parameter 2 of System.Collections.Generic.Dictionary<Int32,CultureInfo>.TryGetValue | parameter | 32 | -| Parameter 2 of System.Collections.Generic.Dictionary<Int32,HashSet<Token>>.TryGetValue | parameter | 32 | -| Parameter 2 of System.Collections.Generic.Dictionary<Int32,String>.TryGetValue | parameter | 32 | -| Parameter 2 of System.Collections.Generic.Dictionary<Int32,Task>.TryGetValue | parameter | 32 | -| Parameter 2 of System.Collections.Generic.Dictionary<MemberInfo,NullabilityState>.TryGetValue | parameter | 32 | -| Parameter 2 of System.Collections.Generic.Dictionary<Module,NotAnnotatedStatus>.TryGetValue | parameter | 32 | -| Parameter 2 of System.Collections.Generic.Dictionary<Object,Object>.TryGetValue | parameter | 32 | -| Parameter 2 of System.Collections.Generic.Dictionary<ReadOnlyMemory<Char>,ConsoleKeyInfo>.TryGetValue | parameter | 32 | -| Parameter 2 of System.Collections.Generic.Dictionary<String,Assembly>.TryGetValue | parameter | 32 | -| Parameter 2 of System.Collections.Generic.Dictionary<String,Boolean>.TryGetValue | parameter | 32 | -| Parameter 2 of System.Collections.Generic.Dictionary<String,CultureData>.TryGetValue | parameter | 32 | -| Parameter 2 of System.Collections.Generic.Dictionary<String,CultureInfo>.TryGetValue | parameter | 32 | -| Parameter 2 of System.Collections.Generic.Dictionary<String,Int32>.TryGetValue | parameter | 32 | -| Parameter 2 of System.Collections.Generic.Dictionary<String,IntPtr>.TryGetValue | parameter | 32 | -| Parameter 2 of System.Collections.Generic.Dictionary<String,IsolatedComponentLoadContext>.TryGetValue | parameter | 32 | -| Parameter 2 of System.Collections.Generic.Dictionary<String,List<Int32>>.TryGetValue | parameter | 32 | -| Parameter 2 of System.Collections.Generic.Dictionary<String,List<RuntimePropertyInfo>>.TryGetValue | parameter | 32 | -| Parameter 2 of System.Collections.Generic.Dictionary<String,LocalDataStoreSlot>.TryGetValue | parameter | 32 | -| Parameter 2 of System.Collections.Generic.Dictionary<String,Object>.TryGetValue | parameter | 32 | -| Parameter 2 of System.Collections.Generic.Dictionary<String,ResourceLocator>.TryGetValue | parameter | 32 | -| Parameter 2 of System.Collections.Generic.Dictionary<String,ResourceSet>.TryGetValue | parameter | 32 | -| Parameter 2 of System.Collections.Generic.Dictionary<String,String>.TryGetValue | parameter | 32 | -| Parameter 2 of System.Collections.Generic.Dictionary<String,TimeZoneInfo>.TryGetValue | parameter | 32 | -| Parameter 2 of System.Collections.Generic.Dictionary<String,Type>.TryGetValue | parameter | 32 | -| Parameter 2 of System.Collections.Generic.Dictionary<Type,AttributeUsageAttribute>.TryGetValue | parameter | 32 | -| Parameter 2 of System.Collections.Generic.Dictionary<Type,TraceLoggingTypeInfo>.TryGetValue | parameter | 32 | -| Parameter 2 of System.Collections.Generic.Dictionary<UInt64,Char>.TryGetValue | parameter | 32 | -| Parameter 2 of System.Collections.Generic.Dictionary<UInt64,String>.TryGetValue | parameter | 32 | -| Parameter 2 of System.Collections.Generic.HashSet.AddIfNotPresent | parameter | 32 | -| Parameter 2 of System.Collections.Generic.HashSet.TryGetValue | parameter | 32 | -| Parameter 2 of System.Collections.Generic.HashSet<!0>.AddIfNotPresent | parameter | 32 | -| Parameter 2 of System.Collections.Generic.IDictionary.TryGetValue | parameter | 32 | -| Parameter 2 of System.Collections.Generic.IDictionary<!0,!1>.TryGetValue | parameter | 32 | -| Parameter 2 of System.Collections.Generic.IDictionary<String,String>.TryGetValue | parameter | 32 | -| Parameter 2 of System.Collections.Generic.IReadOnlyDictionary.TryGetValue | parameter | 32 | -| Parameter 2 of System.Collections.Generic.IReadOnlyDictionary<!0,!1>.TryGetValue | parameter | 32 | -| Parameter 2 of System.Collections.Generic.KeyValuePair.Deconstruct | parameter | 32 | -| Parameter 2 of System.Collections.Generic.KeyValuePair<String,ResourceSet>.Deconstruct | parameter | 32 | -| Parameter 2 of System.Collections.Generic.ValueListBuilder.TryCopyTo | parameter | 32 | -| Parameter 2 of System.Collections.Generic.ValueListBuilder<!0>.TryCopyTo | parameter | 32 | -| Parameter 2 of System.Collections.ObjectModel.ReadOnlyDictionary.TryGetValue | parameter | 32 | -| Parameter 2 of System.ComponentModel.DefaultValueAttribute.ctor>g__TryConvertFromInvariantString\|2_0 | parameter | 32 | -| Parameter 2 of System.ConsolePal.<TryGetCursorPosition>g__BufferUntil\|82_1 | parameter | 32 | -| Parameter 2 of System.Convert.CopyToTempBufferWithoutWhiteSpace | parameter | 32 | -| Parameter 2 of System.Convert.TryDecodeFromUtf16 | parameter | 32 | -| Parameter 2 of System.Convert.TryFromBase64Chars | parameter | 32 | -| Parameter 2 of System.Convert.TryFromBase64String | parameter | 32 | -| Parameter 2 of System.Convert.TryToBase64Chars | parameter | 32 | -| Parameter 2 of System.CultureAwareComparer.IsWellKnownCultureAwareComparerCore | parameter | 32 | -| Parameter 2 of System.CurrentSystemTimeZone.GetUtcOffsetFromUniversalTime | parameter | 32 | -| Parameter 2 of System.DateOnly.Deconstruct | parameter | 32 | -| Parameter 2 of System.DateOnly.TryFormat | parameter | 32 | -| Parameter 2 of System.DateOnly.TryFormatCore | parameter | 32 | -| Parameter 2 of System.DateOnly.TryParse | parameter | 32 | -| Parameter 2 of System.DateOnly.TryParseExact | parameter | 32 | -| Parameter 2 of System.DateTime.Deconstruct | parameter | 32 | -| Parameter 2 of System.DateTime.GetDate | parameter | 32 | -| Parameter 2 of System.DateTime.GetTime | parameter | 32 | -| Parameter 2 of System.DateTime.GetTimePrecise | parameter | 32 | -| Parameter 2 of System.DateTime.TryAddTicks | parameter | 32 | -| Parameter 2 of System.DateTime.TryFormat | parameter | 32 | -| Parameter 2 of System.DateTime.TryParse | parameter | 32 | -| Parameter 2 of System.DateTimeFormat.FormatCustomizedRoundripTimeZone | parameter | 32 | -| Parameter 2 of System.DateTimeFormat.ParseQuoteString | parameter | 32 | -| Parameter 2 of System.DateTimeFormat.TryFormat | parameter | 32 | -| Parameter 2 of System.DateTimeFormat.TryFormatS | parameter | 32 | -| Parameter 2 of System.DateTimeOffset.Deconstruct | parameter | 32 | -| Parameter 2 of System.DateTimeOffset.TryFormat | parameter | 32 | -| Parameter 2 of System.DateTimeOffset.TryParse | parameter | 32 | -| Parameter 2 of System.DateTimeParse.ExpandPredefinedFormat | parameter | 32 | -| Parameter 2 of System.DateTimeParse.GetDayOfMN | parameter | 32 | -| Parameter 2 of System.DateTimeParse.GetDayOfNM | parameter | 32 | -| Parameter 2 of System.DateTimeParse.GetDayOfNN | parameter | 32 | -| Parameter 2 of System.DateTimeParse.Lex | parameter | 32 | -| Parameter 2 of System.DateTimeParse.MatchAbbreviatedDayName | parameter | 32 | -| Parameter 2 of System.DateTimeParse.MatchAbbreviatedMonthName | parameter | 32 | -| Parameter 2 of System.DateTimeParse.MatchAbbreviatedTimeMark | parameter | 32 | -| Parameter 2 of System.DateTimeParse.MatchDayName | parameter | 32 | -| Parameter 2 of System.DateTimeParse.MatchEraName | parameter | 32 | -| Parameter 2 of System.DateTimeParse.MatchMonthName | parameter | 32 | -| Parameter 2 of System.DateTimeParse.MatchTimeMark | parameter | 32 | -| Parameter 2 of System.DateTimeParse.ParseByFormat | parameter | 32 | -| Parameter 2 of System.DateTimeParse.ParseDigits | parameter | 32 | -| Parameter 2 of System.DateTimeParse.ParseFractionExact | parameter | 32 | -| Parameter 2 of System.DateTimeParse.ParseTimeZoneOffset | parameter | 32 | -| Parameter 2 of System.DateTimeParse.ProcessDateTimeSuffix | parameter | 32 | -| Parameter 2 of System.DateTimeParse.ProcessHebrewTerminalState | parameter | 32 | -| Parameter 2 of System.DateTimeParse.ProcessTerminalState | parameter | 32 | -| Parameter 2 of System.DateTimeParse.TryAdjustYear | parameter | 32 | -| Parameter 2 of System.DateTimeParse.TryParseQuoteString | parameter | 32 | -| Parameter 2 of System.Decimal.DecCalc.DivByConst | parameter | 32 | -| Parameter 2 of System.Decimal.DecCalc.UInt64x64To128 | parameter | 32 | -| Parameter 2 of System.Decimal.DecCalc.Unscale | parameter | 32 | -| Parameter 2 of System.Decimal.TryFormat | parameter | 32 | -| Parameter 2 of System.Decimal.TryGetBits | parameter | 32 | -| Parameter 2 of System.Decimal.TryParse | parameter | 32 | -| Parameter 2 of System.Decimal.TryWriteExponentBigEndian | parameter | 32 | -| Parameter 2 of System.Decimal.TryWriteExponentLittleEndian | parameter | 32 | -| Parameter 2 of System.Decimal.TryWriteSignificandBigEndian | parameter | 32 | -| Parameter 2 of System.Decimal.TryWriteSignificandLittleEndian | parameter | 32 | -| Parameter 2 of System.Diagnostics.Debug.Assert | parameter | 32 | -| Parameter 2 of System.Diagnostics.Tracing.ActivityTracker.ActivityInfo.CreateActivityPathGuid | parameter | 32 | -| Parameter 2 of System.Diagnostics.Tracing.EventParameterInfo.GenerateMetadata | parameter | 32 | -| Parameter 2 of System.Diagnostics.Tracing.EventParameterInfo.GenerateMetadataForProperty | parameter | 32 | -| Parameter 2 of System.Diagnostics.Tracing.EventParameterInfo.GenerateMetadataForTypeV2 | parameter | 32 | -| Parameter 2 of System.Diagnostics.Tracing.EventParameterInfo.GenerateMetadataV2 | parameter | 32 | -| Parameter 2 of System.Diagnostics.Tracing.EventParameterInfo.GetMetadataLengthForNamedTypeV2 | parameter | 32 | -| Parameter 2 of System.Diagnostics.Tracing.EventPayload.TryGetValue | parameter | 32 | -| Parameter 2 of System.Diagnostics.Tracing.EventPipeMetadataGenerator.WriteToBuffer | parameter | 32 | -| Parameter 2 of System.Diagnostics.Tracing.EventProvider.EncodeObject | parameter | 32 | -| Parameter 2 of System.Diagnostics.Tracing.EventProviderImpl.MarshalFilterData | parameter | 32 | -| Parameter 2 of System.Diagnostics.Tracing.EventSource.Write | parameter | 32 | -| Parameter 2 of System.Diagnostics.Tracing.EventSource.WriteEventRaw | parameter | 32 | -| Parameter 2 of System.Diagnostics.Tracing.EventSource.WriteImpl | parameter | 32 | -| Parameter 2 of System.Diagnostics.Tracing.EventSource.WriteMultiMerge | parameter | 32 | -| Parameter 2 of System.Diagnostics.Tracing.EventSource.WriteMultiMergeInner | parameter | 32 | -| Parameter 2 of System.Diagnostics.Tracing.EventSource.WriteToAllListeners | parameter | 32 | -| Parameter 2 of System.Double.TryFormat | parameter | 32 | -| Parameter 2 of System.Double.TryParse | parameter | 32 | -| Parameter 2 of System.Double.TryWriteExponentBigEndian | parameter | 32 | -| Parameter 2 of System.Double.TryWriteExponentLittleEndian | parameter | 32 | -| Parameter 2 of System.Double.TryWriteSignificandBigEndian | parameter | 32 | -| Parameter 2 of System.Double.TryWriteSignificandLittleEndian | parameter | 32 | -| Parameter 2 of System.Enum.<ToString>g__HandleRareTypes\|56_0 | parameter | 32 | -| Parameter 2 of System.Enum.ToString | parameter | 32 | -| Parameter 2 of System.Enum.ToStringInlined | parameter | 32 | -| Parameter 2 of System.Enum.TryFormat | parameter | 32 | -| Parameter 2 of System.Enum.TryFormatNumberAsHex | parameter | 32 | -| Parameter 2 of System.Enum.TryFormatUnconstrained | parameter | 32 | -| Parameter 2 of System.Enum.TryParse | parameter | 32 | -| Parameter 2 of System.Exception.GetStackTracesDeepCopy | parameter | 32 | -| Parameter 2 of System.Globalization.CalendarData.CountOccurrences | parameter | 32 | -| Parameter 2 of System.Globalization.CalendarData.NormalizeDayOfWeek | parameter | 32 | -| Parameter 2 of System.Globalization.CharUnicodeInfo.GetUnicodeCategoryInternal | parameter | 32 | -| Parameter 2 of System.Globalization.CultureData.GetIndexOfNextTokenAfterSeconds | parameter | 32 | -| Parameter 2 of System.Globalization.CultureData.IsValidCultureName | parameter | 32 | -| Parameter 2 of System.Globalization.CultureData.NormalizeCultureName | parameter | 32 | -| Parameter 2 of System.Globalization.DateTimeFormatInfo.Tokenize | parameter | 32 | -| Parameter 2 of System.Globalization.DateTimeFormatInfo.TryParseHebrewNumber | parameter | 32 | -| Parameter 2 of System.Globalization.DateTimeFormatInfo.YearMonthAdjustment | parameter | 32 | -| Parameter 2 of System.Globalization.EastAsianLunisolarCalendar.TimeToLunar | parameter | 32 | -| Parameter 2 of System.Globalization.GlobalizationMode.TryGetStringValue | parameter | 32 | -| Parameter 2 of System.Globalization.InvariantModeCasing.CompareStringIgnoreCase | parameter | 32 | -| Parameter 2 of System.Globalization.Ordinal.CompareStringIgnoreCase | parameter | 32 | -| Parameter 2 of System.Globalization.Ordinal.CompareStringIgnoreCaseNonAscii | parameter | 32 | -| Parameter 2 of System.Globalization.Ordinal.EqualsIgnoreCaseUtf8 | parameter | 32 | -| Parameter 2 of System.Globalization.Ordinal.EqualsIgnoreCaseUtf8_Scalar | parameter | 32 | -| Parameter 2 of System.Globalization.Ordinal.EqualsIgnoreCaseUtf8_Vector128 | parameter | 32 | -| Parameter 2 of System.Globalization.Ordinal.EqualsStringIgnoreCaseNonAsciiUtf8 | parameter | 32 | -| Parameter 2 of System.Globalization.Ordinal.EqualsStringIgnoreCaseUtf8 | parameter | 32 | -| Parameter 2 of System.Globalization.Ordinal.StartsWithIgnoreCaseUtf8 | parameter | 32 | -| Parameter 2 of System.Globalization.Ordinal.StartsWithIgnoreCaseUtf8_Scalar | parameter | 32 | -| Parameter 2 of System.Globalization.Ordinal.StartsWithIgnoreCaseUtf8_Vector128 | parameter | 32 | -| Parameter 2 of System.Globalization.Ordinal.StartsWithStringIgnoreCaseNonAsciiUtf8 | parameter | 32 | -| Parameter 2 of System.Globalization.Ordinal.StartsWithStringIgnoreCaseUtf8 | parameter | 32 | -| Parameter 2 of System.Globalization.OrdinalCasing.CompareStringIgnoreCase | parameter | 32 | -| Parameter 2 of System.Globalization.PersianCalendar.GetDate | parameter | 32 | -| Parameter 2 of System.Globalization.SurrogateCasing.ToLower | parameter | 32 | -| Parameter 2 of System.Globalization.SurrogateCasing.ToUpper | parameter | 32 | -| Parameter 2 of System.Globalization.TextInfo.AddTitlecaseLetter | parameter | 32 | -| Parameter 2 of System.Globalization.TimeSpanFormat.TryFormat | parameter | 32 | -| Parameter 2 of System.Globalization.TimeSpanParse.ParseExactDigits | parameter | 32 | -| Parameter 2 of System.Globalization.TimeSpanParse.ProcessTerminalState | parameter | 32 | -| Parameter 2 of System.Globalization.TimeSpanParse.ProcessTerminal_D | parameter | 32 | -| Parameter 2 of System.Globalization.TimeSpanParse.ProcessTerminal_DHMSF | parameter | 32 | -| Parameter 2 of System.Globalization.TimeSpanParse.ProcessTerminal_HM | parameter | 32 | -| Parameter 2 of System.Globalization.TimeSpanParse.ProcessTerminal_HMS_F_D | parameter | 32 | -| Parameter 2 of System.Globalization.TimeSpanParse.ProcessTerminal_HM_S_D | parameter | 32 | -| Parameter 2 of System.Globalization.TimeSpanParse.StringParser.ParseInt | parameter | 32 | -| Parameter 2 of System.Globalization.TimeSpanParse.StringParser.ParseTime | parameter | 32 | -| Parameter 2 of System.Globalization.TimeSpanParse.StringParser.TryParse | parameter | 32 | -| Parameter 2 of System.Globalization.TimeSpanParse.TimeSpanRawInfo.AddNum | parameter | 32 | -| Parameter 2 of System.Globalization.TimeSpanParse.TimeSpanRawInfo.AddSep | parameter | 32 | -| Parameter 2 of System.Globalization.TimeSpanParse.TimeSpanRawInfo.ProcessToken | parameter | 32 | -| Parameter 2 of System.Globalization.TimeSpanParse.TryParse | parameter | 32 | -| Parameter 2 of System.Globalization.UmAlQuraCalendar.ConvertGregorianToHijri | parameter | 32 | -| Parameter 2 of System.Guid.DecodeByte | parameter | 32 | -| Parameter 2 of System.Guid.TryFormat | parameter | 32 | -| Parameter 2 of System.Guid.TryFormatCore | parameter | 32 | -| Parameter 2 of System.Guid.TryFormatX | parameter | 32 | -| Parameter 2 of System.Guid.TryParse | parameter | 32 | -| Parameter 2 of System.Guid.TryParseExact | parameter | 32 | -| Parameter 2 of System.Guid.TryParseHex | parameter | 32 | -| Parameter 2 of System.Half.TryFormat | parameter | 32 | -| Parameter 2 of System.Half.TryParse | parameter | 32 | -| Parameter 2 of System.Half.TryWriteExponentBigEndian | parameter | 32 | -| Parameter 2 of System.Half.TryWriteExponentLittleEndian | parameter | 32 | -| Parameter 2 of System.Half.TryWriteSignificandBigEndian | parameter | 32 | -| Parameter 2 of System.Half.TryWriteSignificandLittleEndian | parameter | 32 | -| Parameter 2 of System.HashCode.Initialize | parameter | 32 | -| Parameter 2 of System.HexConverter.TryDecodeFromUtf16 | parameter | 32 | -| Parameter 2 of System.IO.BufferedStream.WriteToBuffer | parameter | 32 | -| Parameter 2 of System.IO.KeyParser.<ParseFromSingleChar>g__ControlAndDigitPressed\|8_2 | parameter | 32 | -| Parameter 2 of System.IO.KeyParser.<ParseFromSingleChar>g__ControlAndLetterPressed\|8_1 | parameter | 32 | -| Parameter 2 of System.IO.KeyParser.TryParseTerminalInputSequence | parameter | 32 | -| Parameter 2 of System.IO.PathInternal.RemoveRelativeSegments | parameter | 32 | -| Parameter 2 of System.IO.PersistedFiles.TryGetHomeDirectoryFromPasswd | parameter | 32 | -| Parameter 2 of System.IO.StreamReader.ReadBuffer | parameter | 32 | -| Parameter 2 of System.IO.UnmanagedMemoryAccessor.Read | parameter | 32 | -| Parameter 2 of System.IO.UnmanagedMemoryAccessor.Write | parameter | 32 | -| Parameter 2 of System.IParsable.TryParse | parameter | 32 | -| Parameter 2 of System.IParsable<Boolean>.TryParse | parameter | 32 | -| Parameter 2 of System.IParsable<Byte>.TryParse | parameter | 32 | -| Parameter 2 of System.IParsable<Char>.TryParse | parameter | 32 | -| Parameter 2 of System.IParsable<DateOnly>.TryParse | parameter | 32 | -| Parameter 2 of System.IParsable<DateTime>.TryParse | parameter | 32 | -| Parameter 2 of System.IParsable<DateTimeOffset>.TryParse | parameter | 32 | -| Parameter 2 of System.IParsable<Decimal>.TryParse | parameter | 32 | -| Parameter 2 of System.IParsable<Double>.TryParse | parameter | 32 | -| Parameter 2 of System.IParsable<Guid>.TryParse | parameter | 32 | -| Parameter 2 of System.IParsable<Half>.TryParse | parameter | 32 | -| Parameter 2 of System.IParsable<Int16>.TryParse | parameter | 32 | -| Parameter 2 of System.IParsable<Int32>.TryParse | parameter | 32 | -| Parameter 2 of System.IParsable<Int64>.TryParse | parameter | 32 | -| Parameter 2 of System.IParsable<Int128>.TryParse | parameter | 32 | -| Parameter 2 of System.IParsable<IntPtr>.TryParse | parameter | 32 | -| Parameter 2 of System.IParsable<NFloat>.TryParse | parameter | 32 | -| Parameter 2 of System.IParsable<SByte>.TryParse | parameter | 32 | -| Parameter 2 of System.IParsable<Single>.TryParse | parameter | 32 | -| Parameter 2 of System.IParsable<String>.TryParse | parameter | 32 | -| Parameter 2 of System.IParsable<TimeOnly>.TryParse | parameter | 32 | -| Parameter 2 of System.IParsable<TimeSpan>.TryParse | parameter | 32 | -| Parameter 2 of System.IParsable<UInt16>.TryParse | parameter | 32 | -| Parameter 2 of System.IParsable<UInt32>.TryParse | parameter | 32 | -| Parameter 2 of System.IParsable<UInt64>.TryParse | parameter | 32 | -| Parameter 2 of System.IParsable<UInt128>.TryParse | parameter | 32 | -| Parameter 2 of System.IParsable<UIntPtr>.TryParse | parameter | 32 | -| Parameter 2 of System.ISpanFormattable.TryFormat | parameter | 32 | -| Parameter 2 of System.ISpanParsable.TryParse | parameter | 32 | -| Parameter 2 of System.ISpanParsable<!0>.TryParse | parameter | 32 | -| Parameter 2 of System.ISpanParsable<Boolean>.TryParse | parameter | 32 | -| Parameter 2 of System.ISpanParsable<Byte>.TryParse | parameter | 32 | -| Parameter 2 of System.ISpanParsable<Char>.TryParse | parameter | 32 | -| Parameter 2 of System.ISpanParsable<DateOnly>.TryParse | parameter | 32 | -| Parameter 2 of System.ISpanParsable<DateTime>.TryParse | parameter | 32 | -| Parameter 2 of System.ISpanParsable<DateTimeOffset>.TryParse | parameter | 32 | -| Parameter 2 of System.ISpanParsable<Decimal>.TryParse | parameter | 32 | -| Parameter 2 of System.ISpanParsable<Double>.TryParse | parameter | 32 | -| Parameter 2 of System.ISpanParsable<Guid>.TryParse | parameter | 32 | -| Parameter 2 of System.ISpanParsable<Half>.TryParse | parameter | 32 | -| Parameter 2 of System.ISpanParsable<Int16>.TryParse | parameter | 32 | -| Parameter 2 of System.ISpanParsable<Int32>.TryParse | parameter | 32 | -| Parameter 2 of System.ISpanParsable<Int64>.TryParse | parameter | 32 | -| Parameter 2 of System.ISpanParsable<Int128>.TryParse | parameter | 32 | -| Parameter 2 of System.ISpanParsable<IntPtr>.TryParse | parameter | 32 | -| Parameter 2 of System.ISpanParsable<NFloat>.TryParse | parameter | 32 | -| Parameter 2 of System.ISpanParsable<SByte>.TryParse | parameter | 32 | -| Parameter 2 of System.ISpanParsable<Single>.TryParse | parameter | 32 | -| Parameter 2 of System.ISpanParsable<String>.TryParse | parameter | 32 | -| Parameter 2 of System.ISpanParsable<TimeOnly>.TryParse | parameter | 32 | -| Parameter 2 of System.ISpanParsable<TimeSpan>.TryParse | parameter | 32 | -| Parameter 2 of System.ISpanParsable<UInt16>.TryParse | parameter | 32 | -| Parameter 2 of System.ISpanParsable<UInt32>.TryParse | parameter | 32 | -| Parameter 2 of System.ISpanParsable<UInt64>.TryParse | parameter | 32 | -| Parameter 2 of System.ISpanParsable<UInt128>.TryParse | parameter | 32 | -| Parameter 2 of System.ISpanParsable<UIntPtr>.TryParse | parameter | 32 | -| Parameter 2 of System.IUtf8SpanFormattable.TryFormat | parameter | 32 | -| Parameter 2 of System.IUtf8SpanParsable.TryParse | parameter | 32 | -| Parameter 2 of System.IUtf8SpanParsable<!0>.TryParse | parameter | 32 | -| Parameter 2 of System.IUtf8SpanParsable<Byte>.TryParse | parameter | 32 | -| Parameter 2 of System.IUtf8SpanParsable<Decimal>.TryParse | parameter | 32 | -| Parameter 2 of System.IUtf8SpanParsable<Double>.TryParse | parameter | 32 | -| Parameter 2 of System.IUtf8SpanParsable<Half>.TryParse | parameter | 32 | -| Parameter 2 of System.IUtf8SpanParsable<Int16>.TryParse | parameter | 32 | -| Parameter 2 of System.IUtf8SpanParsable<Int32>.TryParse | parameter | 32 | -| Parameter 2 of System.IUtf8SpanParsable<Int64>.TryParse | parameter | 32 | -| Parameter 2 of System.IUtf8SpanParsable<Int128>.TryParse | parameter | 32 | -| Parameter 2 of System.IUtf8SpanParsable<IntPtr>.TryParse | parameter | 32 | -| Parameter 2 of System.IUtf8SpanParsable<NFloat>.TryParse | parameter | 32 | -| Parameter 2 of System.IUtf8SpanParsable<SByte>.TryParse | parameter | 32 | -| Parameter 2 of System.IUtf8SpanParsable<Single>.TryParse | parameter | 32 | -| Parameter 2 of System.IUtf8SpanParsable<UInt16>.TryParse | parameter | 32 | -| Parameter 2 of System.IUtf8SpanParsable<UInt32>.TryParse | parameter | 32 | -| Parameter 2 of System.IUtf8SpanParsable<UInt64>.TryParse | parameter | 32 | -| Parameter 2 of System.IUtf8SpanParsable<UInt128>.TryParse | parameter | 32 | -| Parameter 2 of System.IUtf8SpanParsable<UIntPtr>.TryParse | parameter | 32 | -| Parameter 2 of System.Int16.TryFormat | parameter | 32 | -| Parameter 2 of System.Int16.TryParse | parameter | 32 | -| Parameter 2 of System.Int16.TryReadBigEndian | parameter | 32 | -| Parameter 2 of System.Int16.TryReadLittleEndian | parameter | 32 | -| Parameter 2 of System.Int16.TryWriteBigEndian | parameter | 32 | -| Parameter 2 of System.Int16.TryWriteLittleEndian | parameter | 32 | -| Parameter 2 of System.Int32.TryFormat | parameter | 32 | -| Parameter 2 of System.Int32.TryParse | parameter | 32 | -| Parameter 2 of System.Int32.TryReadBigEndian | parameter | 32 | -| Parameter 2 of System.Int32.TryReadLittleEndian | parameter | 32 | -| Parameter 2 of System.Int32.TryWriteBigEndian | parameter | 32 | -| Parameter 2 of System.Int32.TryWriteLittleEndian | parameter | 32 | -| Parameter 2 of System.Int64.TryFormat | parameter | 32 | -| Parameter 2 of System.Int64.TryParse | parameter | 32 | -| Parameter 2 of System.Int64.TryReadBigEndian | parameter | 32 | -| Parameter 2 of System.Int64.TryReadLittleEndian | parameter | 32 | -| Parameter 2 of System.Int64.TryWriteBigEndian | parameter | 32 | -| Parameter 2 of System.Int64.TryWriteLittleEndian | parameter | 32 | -| Parameter 2 of System.Int128.BigMul | parameter | 32 | -| Parameter 2 of System.Int128.TryFormat | parameter | 32 | -| Parameter 2 of System.Int128.TryParse | parameter | 32 | -| Parameter 2 of System.Int128.TryReadBigEndian | parameter | 32 | -| Parameter 2 of System.Int128.TryReadLittleEndian | parameter | 32 | -| Parameter 2 of System.Int128.TryWriteBigEndian | parameter | 32 | -| Parameter 2 of System.Int128.TryWriteLittleEndian | parameter | 32 | -| Parameter 2 of System.IntPtr.TryFormat | parameter | 32 | -| Parameter 2 of System.IntPtr.TryParse | parameter | 32 | -| Parameter 2 of System.IntPtr.TryReadBigEndian | parameter | 32 | -| Parameter 2 of System.IntPtr.TryReadLittleEndian | parameter | 32 | -| Parameter 2 of System.IntPtr.TryWriteBigEndian | parameter | 32 | -| Parameter 2 of System.IntPtr.TryWriteLittleEndian | parameter | 32 | -| Parameter 2 of System.Math.<BigMul>g__SoftwareFallback\|49_0 | parameter | 32 | -| Parameter 2 of System.Math.BigMul | parameter | 32 | -| Parameter 2 of System.Math.DivRem | parameter | 32 | -| Parameter 2 of System.MemoryExtensions.Overlaps | parameter | 32 | -| Parameter 2 of System.MemoryExtensions.TryWrite | parameter | 32 | -| Parameter 2 of System.ModuleHandle.GetPEKind | parameter | 32 | -| Parameter 2 of System.Net.WebUtility.ConvertSmpToUtf16 | parameter | 32 | -| Parameter 2 of System.Number.BigInteger.Add | parameter | 32 | -| Parameter 2 of System.Number.BigInteger.AddDivisor | parameter | 32 | -| Parameter 2 of System.Number.BigInteger.DivRem | parameter | 32 | -| Parameter 2 of System.Number.BigInteger.Multiply | parameter | 32 | -| Parameter 2 of System.Number.BigInteger.SubtractDivisor | parameter | 32 | -| Parameter 2 of System.Number.DiyFp.CreateAndGetBoundaries | parameter | 32 | -| Parameter 2 of System.Number.DiyFp.GetBoundaries | parameter | 32 | -| Parameter 2 of System.Number.Grisu3.BiggestPowerTen | parameter | 32 | -| Parameter 2 of System.Number.Grisu3.GetCachedPowerForBinaryExponentRange | parameter | 32 | -| Parameter 2 of System.Number.Grisu3.TryDigitGenShortest | parameter | 32 | -| Parameter 2 of System.Number.Grisu3.TryRunDouble | parameter | 32 | -| Parameter 2 of System.Number.Grisu3.TryRunHalf | parameter | 32 | -| Parameter 2 of System.Number.Grisu3.TryRunShortest | parameter | 32 | -| Parameter 2 of System.Number.Grisu3.TryRunSingle | parameter | 32 | -| Parameter 2 of System.Number.TryCopyTo | parameter | 32 | -| Parameter 2 of System.Number.TryParseBinaryIntegerHexNumberStyle | parameter | 32 | -| Parameter 2 of System.Number.TryParseBinaryIntegerHexOrBinaryNumberStyle | parameter | 32 | -| Parameter 2 of System.Number.TryStringToNumber | parameter | 32 | -| Parameter 2 of System.Number.TryUInt32ToDecStr | parameter | 32 | -| Parameter 2 of System.Number.TryUInt64ToDecStr | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger.TryReadBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger.TryReadLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger.TryWriteBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger.TryWriteLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<!0>.TryReadBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<!0>.TryReadLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<!0>.TryWriteBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<!0>.TryWriteLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<Byte>.TryReadBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<Byte>.TryReadLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<Byte>.TryWriteBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<Byte>.TryWriteLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<Char>.TryReadBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<Char>.TryReadLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<Char>.TryWriteBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<Char>.TryWriteLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<Int16>.TryReadBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<Int16>.TryReadLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<Int16>.TryWriteBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<Int16>.TryWriteLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<Int32>.TryReadBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<Int32>.TryReadLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<Int32>.TryWriteBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<Int32>.TryWriteLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<Int64>.TryReadBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<Int64>.TryReadLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<Int64>.TryWriteBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<Int64>.TryWriteLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<Int128>.TryReadBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<Int128>.TryReadLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<Int128>.TryWriteBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<Int128>.TryWriteLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<IntPtr>.TryReadBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<IntPtr>.TryReadLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<IntPtr>.TryWriteBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<IntPtr>.TryWriteLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<SByte>.TryReadBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<SByte>.TryReadLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<SByte>.TryWriteBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<SByte>.TryWriteLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<UInt16>.TryReadBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<UInt16>.TryReadLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<UInt16>.TryWriteBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<UInt16>.TryWriteLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<UInt32>.TryReadBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<UInt32>.TryReadLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<UInt32>.TryWriteBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<UInt32>.TryWriteLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<UInt64>.TryReadBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<UInt64>.TryReadLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<UInt64>.TryWriteBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<UInt64>.TryWriteLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<UInt128>.TryReadBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<UInt128>.TryReadLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<UInt128>.TryWriteBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<UInt128>.TryWriteLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<UIntPtr>.TryReadBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<UIntPtr>.TryReadLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<UIntPtr>.TryWriteBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IBinaryInteger<UIntPtr>.TryWriteLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IFloatingPoint.TryWriteExponentBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IFloatingPoint.TryWriteExponentLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IFloatingPoint.TryWriteSignificandBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IFloatingPoint.TryWriteSignificandLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IFloatingPoint<!0>.TryWriteExponentBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IFloatingPoint<!0>.TryWriteExponentLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IFloatingPoint<!0>.TryWriteSignificandBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IFloatingPoint<!0>.TryWriteSignificandLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IFloatingPoint<Decimal>.TryWriteExponentBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IFloatingPoint<Decimal>.TryWriteExponentLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IFloatingPoint<Decimal>.TryWriteSignificandBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IFloatingPoint<Decimal>.TryWriteSignificandLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IFloatingPoint<Double>.TryWriteExponentBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IFloatingPoint<Double>.TryWriteExponentLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IFloatingPoint<Double>.TryWriteSignificandBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IFloatingPoint<Double>.TryWriteSignificandLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IFloatingPoint<Half>.TryWriteExponentBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IFloatingPoint<Half>.TryWriteExponentLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IFloatingPoint<Half>.TryWriteSignificandBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IFloatingPoint<Half>.TryWriteSignificandLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IFloatingPoint<NFloat>.TryWriteExponentBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IFloatingPoint<NFloat>.TryWriteExponentLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IFloatingPoint<NFloat>.TryWriteSignificandBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IFloatingPoint<NFloat>.TryWriteSignificandLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IFloatingPoint<Single>.TryWriteExponentBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IFloatingPoint<Single>.TryWriteExponentLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IFloatingPoint<Single>.TryWriteSignificandBigEndian | parameter | 32 | -| Parameter 2 of System.Numerics.IFloatingPoint<Single>.TryWriteSignificandLittleEndian | parameter | 32 | -| Parameter 2 of System.Numerics.INumberBase.TryFormat | parameter | 32 | -| Parameter 2 of System.Numerics.INumberBase.TryParse | parameter | 32 | -| Parameter 2 of System.Numerics.Matrix4x4.Decompose | parameter | 32 | -| Parameter 2 of System.Numerics.Matrix4x4.Impl.CreateBillboard | parameter | 32 | -| Parameter 2 of System.Numerics.Matrix4x4.Impl.CreateConstrainedBillboard | parameter | 32 | -| Parameter 2 of System.Numerics.Matrix4x4.Impl.CreateLookTo | parameter | 32 | -| Parameter 2 of System.Numerics.Matrix4x4.Impl.CreateLookToLeftHanded | parameter | 32 | -| Parameter 2 of System.Numerics.Matrix4x4.Impl.CreateWorld | parameter | 32 | -| Parameter 2 of System.Numerics.Matrix4x4.Impl.Decompose | parameter | 32 | -| Parameter 2 of System.Numerics.Vector.Widen | parameter | 32 | -| Parameter 2 of System.PackedSpanHelpers.ComputeFirstIndexOverlapped | parameter | 32 | -| Parameter 2 of System.ParseNumbers.GrabInts | parameter | 32 | -| Parameter 2 of System.ParseNumbers.GrabLongs | parameter | 32 | -| Parameter 2 of System.ParseNumbers.IsDigit | parameter | 32 | -| Parameter 2 of System.ReadOnlyMemory.GetObjectStartLength | parameter | 32 | -| Parameter 2 of System.ReadOnlyMemory<!0>.GetObjectStartLength | parameter | 32 | -| Parameter 2 of System.ReadOnlyMemory<Char>.GetObjectStartLength | parameter | 32 | -| Parameter 2 of System.Reflection.AssemblyName.EscapeAsciiChar | parameter | 32 | -| Parameter 2 of System.Reflection.CustomAttribute.AttributeUsageCheck | parameter | 32 | -| Parameter 2 of System.Reflection.CustomAttribute.ParseAttributeUsageAttribute | parameter | 32 | -| Parameter 2 of System.Reflection.CustomAttribute._ParseAttributeUsageAttribute | parameter | 32 | -| Parameter 2 of System.Reflection.CustomAttributeEncodedArgument.ParseAttributeArguments | parameter | 32 | -| Parameter 2 of System.Reflection.Emit.DynamicResolver.GetCodeInfo | parameter | 32 | -| Parameter 2 of System.Reflection.Emit.DynamicResolver.ResolveToken | parameter | 32 | -| Parameter 2 of System.Reflection.Emit.RuntimeModuleBuilder.GetPEKind | parameter | 32 | -| Parameter 2 of System.Reflection.Metadata.AssemblyExtensions.InternalTryGetRawMetadata | parameter | 32 | -| Parameter 2 of System.Reflection.Metadata.AssemblyExtensions.TryGetRawMetadata | parameter | 32 | -| Parameter 2 of System.Reflection.MetadataImport.EnumCustomAttributes | parameter | 32 | -| Parameter 2 of System.Reflection.MetadataImport.EnumEvents | parameter | 32 | -| Parameter 2 of System.Reflection.MetadataImport.EnumFields | parameter | 32 | -| Parameter 2 of System.Reflection.MetadataImport.EnumNestedTypes | parameter | 32 | -| Parameter 2 of System.Reflection.MetadataImport.EnumParams | parameter | 32 | -| Parameter 2 of System.Reflection.MetadataImport.EnumProperties | parameter | 32 | -| Parameter 2 of System.Reflection.MetadataImport.GetClassLayout | parameter | 32 | -| Parameter 2 of System.Reflection.MetadataImport.GetCustomAttributeProps | parameter | 32 | -| Parameter 2 of System.Reflection.MetadataImport.GetDefaultValue | parameter | 32 | -| Parameter 2 of System.Reflection.MetadataImport.GetEventProps | parameter | 32 | -| Parameter 2 of System.Reflection.MetadataImport.GetFieldDefProps | parameter | 32 | -| Parameter 2 of System.Reflection.MetadataImport.GetGenericParamProps | parameter | 32 | -| Parameter 2 of System.Reflection.MetadataImport.GetMarshalAs | parameter | 32 | -| Parameter 2 of System.Reflection.MetadataImport.GetPInvokeMap | parameter | 32 | -| Parameter 2 of System.Reflection.MetadataImport.GetParamDefProps | parameter | 32 | -| Parameter 2 of System.Reflection.MetadataImport.GetPropertyProps | parameter | 32 | -| Parameter 2 of System.Reflection.MetadataImport._GetClassLayout | parameter | 32 | -| Parameter 2 of System.Reflection.MetadataImport._GetCustomAttributeProps | parameter | 32 | -| Parameter 2 of System.Reflection.MetadataImport._GetDefaultValue | parameter | 32 | -| Parameter 2 of System.Reflection.MetadataImport._GetFieldDefProps | parameter | 32 | -| Parameter 2 of System.Reflection.MetadataImport._GetFieldMarshal | parameter | 32 | -| Parameter 2 of System.Reflection.MetadataImport._GetGenericParamProps | parameter | 32 | -| Parameter 2 of System.Reflection.MetadataImport._GetMarshalAs | parameter | 32 | -| Parameter 2 of System.Reflection.MetadataImport._GetMemberRefProps | parameter | 32 | -| Parameter 2 of System.Reflection.MetadataImport._GetPInvokeMap | parameter | 32 | -| Parameter 2 of System.Reflection.MetadataImport._GetParamDefProps | parameter | 32 | -| Parameter 2 of System.Reflection.MetadataImport._GetParentToken | parameter | 32 | -| Parameter 2 of System.Reflection.MetadataImport._GetSigOfFieldDef | parameter | 32 | -| Parameter 2 of System.Reflection.MetadataImport._GetSigOfMethodDef | parameter | 32 | -| Parameter 2 of System.Reflection.MetadataImport._GetSignatureFromToken | parameter | 32 | -| Parameter 2 of System.Reflection.MethodInvokerCommon.Initialize | parameter | 32 | -| Parameter 2 of System.Reflection.Module.GetPEKind | parameter | 32 | -| Parameter 2 of System.Reflection.NullabilityInfoContext.NullableAttributeStateParser.ParseNullableState | parameter | 32 | -| Parameter 2 of System.Reflection.NullabilityInfoContext.TryPopulateNullabilityInfo | parameter | 32 | -| Parameter 2 of System.Reflection.PseudoCustomAttribute.GetCustomAttributes | parameter | 32 | -| Parameter 2 of System.Reflection.RuntimeAssembly.GetResource | parameter | 32 | -| Parameter 2 of System.Reflection.RuntimeAssembly.GetVersion | parameter | 32 | -| Parameter 2 of System.Reflection.RuntimeModule.GetPEKind | parameter | 32 | -| Parameter 2 of System.Reflection.RuntimeParameterInfo.TryGetDefaultValueInternal | parameter | 32 | -| Parameter 2 of System.Resolver.GetCodeInfo | parameter | 32 | -| Parameter 2 of System.Resolver.ResolveToken | parameter | 32 | -| Parameter 2 of System.Resources.ResourceManager.AddResourceSet | parameter | 32 | -| Parameter 2 of System.Resources.ResourceReader.AllocateStringForNameIndex | parameter | 32 | -| Parameter 2 of System.Resources.ResourceReader.GetResourceData | parameter | 32 | -| Parameter 2 of System.Resources.ResourceReader.LoadObject | parameter | 32 | -| Parameter 2 of System.Resources.ResourceReader.LoadObjectV2 | parameter | 32 | -| Parameter 2 of System.Resources.ResourceReader._LoadObjectV2 | parameter | 32 | -| Parameter 2 of System.Runtime.CompilerServices.AsyncIteratorMethodBuilder.AwaitOnCompleted | parameter | 32 | -| Parameter 2 of System.Runtime.CompilerServices.AsyncIteratorMethodBuilder.AwaitUnsafeOnCompleted | parameter | 32 | -| Parameter 2 of System.Runtime.CompilerServices.AsyncTaskMethodBuilder.AwaitOnCompleted | parameter | 32 | -| Parameter 2 of System.Runtime.CompilerServices.AsyncTaskMethodBuilder.AwaitUnsafeOnCompleted | parameter | 32 | -| Parameter 2 of System.Runtime.CompilerServices.AsyncTaskMethodBuilder<!0>.AwaitOnCompleted | parameter | 32 | -| Parameter 2 of System.Runtime.CompilerServices.AsyncTaskMethodBuilder<Boolean>.AwaitUnsafeOnCompleted | parameter | 32 | -| Parameter 2 of System.Runtime.CompilerServices.AsyncTaskMethodBuilder<Byte[]>.AwaitUnsafeOnCompleted | parameter | 32 | -| Parameter 2 of System.Runtime.CompilerServices.AsyncTaskMethodBuilder<String>.AwaitUnsafeOnCompleted | parameter | 32 | -| Parameter 2 of System.Runtime.CompilerServices.AsyncTaskMethodBuilder<String[]>.AwaitUnsafeOnCompleted | parameter | 32 | -| Parameter 2 of System.Runtime.CompilerServices.AsyncTaskMethodBuilder<VoidTaskResult>.AwaitOnCompleted | parameter | 32 | -| Parameter 2 of System.Runtime.CompilerServices.AsyncTaskMethodBuilder<VoidTaskResult>.AwaitUnsafeOnCompleted | parameter | 32 | -| Parameter 2 of System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder.AwaitOnCompleted | parameter | 32 | -| Parameter 2 of System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder.AwaitUnsafeOnCompleted | parameter | 32 | -| Parameter 2 of System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder<Int32>.AwaitUnsafeOnCompleted | parameter | 32 | -| Parameter 2 of System.Runtime.CompilerServices.AsyncVoidMethodBuilder.AwaitOnCompleted | parameter | 32 | -| Parameter 2 of System.Runtime.CompilerServices.AsyncVoidMethodBuilder.AwaitUnsafeOnCompleted | parameter | 32 | -| Parameter 2 of System.Runtime.CompilerServices.ConditionalWeakTable.Container.FindEntry | parameter | 32 | -| Parameter 2 of System.Runtime.CompilerServices.ConditionalWeakTable.Container.TryGetEntry | parameter | 32 | -| Parameter 2 of System.Runtime.CompilerServices.ConditionalWeakTable.Container.TryGetValueWorker | parameter | 32 | -| Parameter 2 of System.Runtime.CompilerServices.ConditionalWeakTable.TryGetValue | parameter | 32 | -| Parameter 2 of System.Runtime.CompilerServices.ConditionalWeakTable<!0,!1>.Container.FindEntry | parameter | 32 | -| Parameter 2 of System.Runtime.CompilerServices.ConditionalWeakTable<!0,!1>.Container.TryGetEntry | parameter | 32 | -| Parameter 2 of System.Runtime.CompilerServices.ConditionalWeakTable<!0,!1>.Container.TryGetValueWorker | parameter | 32 | -| Parameter 2 of System.Runtime.CompilerServices.ConditionalWeakTable<!0,!1>.TryGetValue | parameter | 32 | -| Parameter 2 of System.Runtime.CompilerServices.ConditionalWeakTable<Assembly,DllImportResolver>.TryGetValue | parameter | 32 | -| Parameter 2 of System.Runtime.CompilerServices.ConditionalWeakTable<Object,SerializationInfo>.TryGetValue | parameter | 32 | -| Parameter 2 of System.Runtime.CompilerServices.ICastable.IsInstanceOfInterface | parameter | 32 | -| Parameter 2 of System.Runtime.CompilerServices.ICastableHelpers.IsInstanceOfInterface | parameter | 32 | -| Parameter 2 of System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder.AwaitOnCompleted | parameter | 32 | -| Parameter 2 of System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder.AwaitUnsafeOnCompleted | parameter | 32 | -| Parameter 2 of System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder<!0>.AwaitOnCompleted | parameter | 32 | -| Parameter 2 of System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder<Int32>.AwaitUnsafeOnCompleted | parameter | 32 | -| Parameter 2 of System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder<VoidTaskResult>.AwaitOnCompleted | parameter | 32 | -| Parameter 2 of System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls | parameter | 32 | -| Parameter 2 of System.Runtime.CompilerServices.RuntimeHelpers.GetSpanDataFrom | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.CollectionsMarshal.GetValueRefOrAddDefault | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.IBindCtx.GetObjectParam | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.IConnectionPoint.Advise | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.IConnectionPointContainer.FindConnectionPoint | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.IMoniker.CommonPrefixWith | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.IMoniker.Enum | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.IMoniker.RelativePathTo | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.IRunningObjectTable.GetObject | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.IRunningObjectTable.GetTimeOfLastChange | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.IRunningObjectTable.NoteChangeTime | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.ITypeInfo2.CreateInstance | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.ITypeInfo2.GetContainingTypeLib | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.ITypeInfo2.GetCustData | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.ITypeInfo2.GetDocumentation | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.ITypeInfo2.GetDocumentation2 | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.ITypeInfo2.GetFuncCustData | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.ITypeInfo2.GetFuncDesc | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.ITypeInfo2.GetImplTypeCustData | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.ITypeInfo2.GetImplTypeFlags | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.ITypeInfo2.GetMops | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.ITypeInfo2.GetRefTypeInfo | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.ITypeInfo2.GetRefTypeOfImplType | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.ITypeInfo2.GetVarCustData | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.ITypeInfo2.GetVarDesc | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.ITypeInfo2.GetVarIndexOfMemId | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.ITypeInfo.CreateInstance | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.ITypeInfo.GetContainingTypeLib | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.ITypeInfo.GetDocumentation | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.ITypeInfo.GetFuncDesc | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.ITypeInfo.GetImplTypeFlags | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.ITypeInfo.GetMops | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.ITypeInfo.GetRefTypeInfo | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.ITypeInfo.GetRefTypeOfImplType | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.ITypeInfo.GetVarDesc | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.ITypeLib2.GetCustData | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.ITypeLib2.GetDocumentation | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.ITypeLib2.GetDocumentation2 | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.ITypeLib2.GetLibStatistics | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.ITypeLib2.GetTypeInfo | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.ITypeLib2.GetTypeInfoOfGuid | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.ITypeLib2.GetTypeInfoType | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.ITypeLib.GetDocumentation | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.ITypeLib.GetTypeInfo | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.ITypeLib.GetTypeInfoOfGuid | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComTypes.ITypeLib.GetTypeInfoType | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComWrappers.CallICustomQueryInterface | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComWrappers.GetIUnknownImpl | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ComWrappers.GetIUnknownImplInternal | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.ICustomQueryInterface.GetInterface | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.Marshal.QueryInterface | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.MemoryMarshal.TryGetMemoryManager | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.MemoryMarshal.TryGetString | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.NFloat.TryFormat | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.NFloat.TryParse | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.NFloat.TryWriteExponentBigEndian | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.NFloat.TryWriteExponentLittleEndian | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.NFloat.TryWriteSignificandBigEndian | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.NFloat.TryWriteSignificandLittleEndian | parameter | 32 | -| Parameter 2 of System.Runtime.InteropServices.NativeLibrary.TryGetExport | parameter | 32 | -| Parameter 2 of System.Runtime.Serialization.SerializationInfo.GetElement | parameter | 32 | -| Parameter 2 of System.Runtime.Serialization.SerializationInfo.GetElementNoThrow | parameter | 32 | -| Parameter 2 of System.RuntimeType.FilterHelper | parameter | 32 | -| Parameter 2 of System.RuntimeType.SplitName | parameter | 32 | -| Parameter 2 of System.RuntimeType.TryChangeType | parameter | 32 | -| Parameter 2 of System.RuntimeTypeHandle.GetActivationInfo | parameter | 32 | -| Parameter 2 of System.SByte.TryFormat | parameter | 32 | -| Parameter 2 of System.SByte.TryParse | parameter | 32 | -| Parameter 2 of System.SByte.TryReadBigEndian | parameter | 32 | -| Parameter 2 of System.SByte.TryReadLittleEndian | parameter | 32 | -| Parameter 2 of System.SByte.TryWriteBigEndian | parameter | 32 | -| Parameter 2 of System.SByte.TryWriteLittleEndian | parameter | 32 | -| Parameter 2 of System.Security.SecurityElement.GetUnescapeSequence | parameter | 32 | -| Parameter 2 of System.Single.TryFormat | parameter | 32 | -| Parameter 2 of System.Single.TryParse | parameter | 32 | -| Parameter 2 of System.Single.TryWriteExponentBigEndian | parameter | 32 | -| Parameter 2 of System.Single.TryWriteExponentLittleEndian | parameter | 32 | -| Parameter 2 of System.Single.TryWriteSignificandBigEndian | parameter | 32 | -| Parameter 2 of System.Single.TryWriteSignificandLittleEndian | parameter | 32 | -| Parameter 2 of System.SpanHelpers.IndexOf | parameter | 32 | -| Parameter 2 of System.SpanHelpers.IndexOfAny | parameter | 32 | -| Parameter 2 of System.SpanHelpers.LastIndexOf | parameter | 32 | -| Parameter 2 of System.SpanHelpers.LastIndexOfAny | parameter | 32 | -| Parameter 2 of System.SpanHelpers.SequenceCompareTo | parameter | 32 | -| Parameter 2 of System.String.Create | parameter | 32 | -| Parameter 2 of System.String.IndexOfNewlineChar | parameter | 32 | -| Parameter 2 of System.String.MakeSeparatorList | parameter | 32 | -| Parameter 2 of System.String.MakeSeparatorListAny | parameter | 32 | -| Parameter 2 of System.String.TryParse | parameter | 32 | -| Parameter 2 of System.StringComparer.IsWellKnownCultureAwareComparer | parameter | 32 | -| Parameter 2 of System.StringComparer.IsWellKnownCultureAwareComparerCore | parameter | 32 | -| Parameter 2 of System.StubHelpers.StubHelpers.FmtClassUpdateNativeInternal | parameter | 32 | -| Parameter 2 of System.TermInfo.ParameterizedStrings.GetDynamicOrStaticVariables | parameter | 32 | -| Parameter 2 of System.Text.ASCIIEncoding.DecodeFirstRune | parameter | 32 | -| Parameter 2 of System.Text.ASCIIEncoding.TryGetByteCount | parameter | 32 | -| Parameter 2 of System.Text.Ascii.ChangeCase | parameter | 32 | -| Parameter 2 of System.Text.Ascii.FromUtf16 | parameter | 32 | -| Parameter 2 of System.Text.Ascii.ToLower | parameter | 32 | -| Parameter 2 of System.Text.Ascii.ToUpper | parameter | 32 | -| Parameter 2 of System.Text.Ascii.ToUtf16 | parameter | 32 | -| Parameter 2 of System.Text.CompositeFormat.<TryParseLiterals>g__TryMoveNext\|12_0 | parameter | 32 | -| Parameter 2 of System.Text.CompositeFormat.TryParseLiterals | parameter | 32 | -| Parameter 2 of System.Text.DecoderFallbackBuffer.TryDrainRemainingDataForGetChars | parameter | 32 | -| Parameter 2 of System.Text.DecoderNLS.DrainLeftoverDataForGetCharCount | parameter | 32 | -| Parameter 2 of System.Text.EncoderFallbackBuffer.InternalFallback | parameter | 32 | -| Parameter 2 of System.Text.EncoderFallbackBuffer.InternalFallbackGetByteCount | parameter | 32 | -| Parameter 2 of System.Text.EncoderFallbackBuffer.TryDrainRemainingDataForGetBytes | parameter | 32 | -| Parameter 2 of System.Text.EncoderNLS.DrainLeftoverDataForGetByteCount | parameter | 32 | -| Parameter 2 of System.Text.Encoding.DecodeFirstRune | parameter | 32 | -| Parameter 2 of System.Text.Encoding.TryGetByteCount | parameter | 32 | -| Parameter 2 of System.Text.Latin1Encoding.DecodeFirstRune | parameter | 32 | -| Parameter 2 of System.Text.Latin1Encoding.TryGetByteCount | parameter | 32 | -| Parameter 2 of System.Text.Rune.DecodeFromUtf8 | parameter | 32 | -| Parameter 2 of System.Text.Rune.DecodeFromUtf16 | parameter | 32 | -| Parameter 2 of System.Text.Rune.DecodeLastFromUtf8 | parameter | 32 | -| Parameter 2 of System.Text.Rune.DecodeLastFromUtf16 | parameter | 32 | -| Parameter 2 of System.Text.Rune.TryCreate | parameter | 32 | -| Parameter 2 of System.Text.Rune.TryEncodeToUtf8 | parameter | 32 | -| Parameter 2 of System.Text.Rune.TryEncodeToUtf16 | parameter | 32 | -| Parameter 2 of System.Text.Rune.TryFormat | parameter | 32 | -| Parameter 2 of System.Text.Rune.TryGetRuneAt | parameter | 32 | -| Parameter 2 of System.Text.StringBuilder.Append | parameter | 32 | -| Parameter 2 of System.Text.StringBuilder.AppendLine | parameter | 32 | -| Parameter 2 of System.Text.StringBuilder.Insert | parameter | 32 | -| Parameter 2 of System.Text.StringBuilder.ReplaceInPlaceAtChunk | parameter | 32 | -| Parameter 2 of System.Text.UTF8Encoding.DecodeFirstRune | parameter | 32 | -| Parameter 2 of System.Text.UTF8Encoding.TryGetByteCount | parameter | 32 | -| Parameter 2 of System.Text.UTF8Encoding.UTF8EncodingSealed.ReadUtf8 | parameter | 32 | -| Parameter 2 of System.Text.Unicode.TextSegmentationUtility.DecodeFirstRune.Invoke | parameter | 32 | -| Parameter 2 of System.Text.Unicode.TextSegmentationUtility.DecodeFirstRune<!0>.Invoke | parameter | 32 | -| Parameter 2 of System.Text.Unicode.Utf8.FromUtf16 | parameter | 32 | -| Parameter 2 of System.Text.Unicode.Utf8.ToUtf16 | parameter | 32 | -| Parameter 2 of System.Text.Unicode.Utf8.ToUtf16PreservingReplacement | parameter | 32 | -| Parameter 2 of System.Text.Unicode.Utf8.TryWrite | parameter | 32 | -| Parameter 2 of System.Text.Unicode.Utf8Utility.GetPointerToFirstInvalidByte | parameter | 32 | -| Parameter 2 of System.Text.Unicode.Utf16Utility.GetPointerToFirstInvalidChar | parameter | 32 | -| Parameter 2 of System.Text.UnicodeUtility.GetUtf16SurrogatesFromSupplementaryPlaneScalar | parameter | 32 | -| Parameter 2 of System.Threading.AsyncLocalValueMap.EmptyAsyncLocalValueMap.TryGetValue | parameter | 32 | -| Parameter 2 of System.Threading.AsyncLocalValueMap.FourElementAsyncLocalValueMap.TryGetValue | parameter | 32 | -| Parameter 2 of System.Threading.AsyncLocalValueMap.MultiElementAsyncLocalValueMap.TryGetValue | parameter | 32 | -| Parameter 2 of System.Threading.AsyncLocalValueMap.OneElementAsyncLocalValueMap.TryGetValue | parameter | 32 | -| Parameter 2 of System.Threading.AsyncLocalValueMap.ThreeElementAsyncLocalValueMap.TryGetValue | parameter | 32 | -| Parameter 2 of System.Threading.AsyncLocalValueMap.TwoElementAsyncLocalValueMap.TryGetValue | parameter | 32 | -| Parameter 2 of System.Threading.ExecutionContext.RunForThreadPoolUnsafe | parameter | 32 | -| Parameter 2 of System.Threading.IAsyncLocalValueMap.TryGetValue | parameter | 32 | -| Parameter 2 of System.Threading.LazyInitializer.EnsureInitialized | parameter | 32 | -| Parameter 2 of System.Threading.LazyInitializer.EnsureInitializedCore | parameter | 32 | -| Parameter 2 of System.Threading.Monitor.ReliableEnterTimeout | parameter | 32 | -| Parameter 2 of System.Threading.Monitor.TryEnter | parameter | 32 | -| Parameter 2 of System.Threading.PortableThreadPool.GetAvailableThreads | parameter | 32 | -| Parameter 2 of System.Threading.PortableThreadPool.GetMaxThreads | parameter | 32 | -| Parameter 2 of System.Threading.PortableThreadPool.GetMinThreads | parameter | 32 | -| Parameter 2 of System.Threading.PortableThreadPool.PerformBlockingAdjustment | parameter | 32 | -| Parameter 2 of System.Threading.ReaderWriterLockSlim.WaitOnEvent | parameter | 32 | -| Parameter 2 of System.Threading.SpinLock.ContinueTryEnter | parameter | 32 | -| Parameter 2 of System.Threading.SpinLock.TryEnter | parameter | 32 | -| Parameter 2 of System.Threading.Tasks.Task.CreationOptionsFromContinuationOptions | parameter | 32 | -| Parameter 2 of System.Threading.ThreadPool.GetNextConfigUInt32Value | parameter | 32 | -| Parameter 2 of System.Threading.ThreadPoolWorkQueue.Dequeue | parameter | 32 | -| Parameter 2 of System.Threading.ThreadPoolWorkQueue.TryStartProcessingHighPriorityWorkItemsAndDequeue | parameter | 32 | -| Parameter 2 of System.TimeOnly.Add | parameter | 32 | -| Parameter 2 of System.TimeOnly.AddHours | parameter | 32 | -| Parameter 2 of System.TimeOnly.AddMinutes | parameter | 32 | -| Parameter 2 of System.TimeOnly.AddTicks | parameter | 32 | -| Parameter 2 of System.TimeOnly.Deconstruct | parameter | 32 | -| Parameter 2 of System.TimeOnly.TryFormat | parameter | 32 | -| Parameter 2 of System.TimeOnly.TryFormatCore | parameter | 32 | -| Parameter 2 of System.TimeOnly.TryParse | parameter | 32 | -| Parameter 2 of System.TimeOnly.TryParseExact | parameter | 32 | -| Parameter 2 of System.TimeSpan.TryFormat | parameter | 32 | -| Parameter 2 of System.TimeSpan.TryParse | parameter | 32 | -| Parameter 2 of System.TimeZoneInfo.ConvertUtcToTimeZone | parameter | 32 | -| Parameter 2 of System.TimeZoneInfo.GetAdjustmentRuleForAmbiguousOffsets | parameter | 32 | -| Parameter 2 of System.TimeZoneInfo.GetAdjustmentRuleForTime | parameter | 32 | -| Parameter 2 of System.TimeZoneInfo.GetFullValueForDisplayNameField | parameter | 32 | -| Parameter 2 of System.TimeZoneInfo.GetUtcOffsetFromUtc | parameter | 32 | -| Parameter 2 of System.TimeZoneInfo.TZif_ParseJulianDay | parameter | 32 | -| Parameter 2 of System.TimeZoneInfo.TZif_ParseMDateRule | parameter | 32 | -| Parameter 2 of System.TimeZoneInfo.TZif_ParsePosixDateTime | parameter | 32 | -| Parameter 2 of System.TimeZoneInfo.TZif_ParsePosixFormat | parameter | 32 | -| Parameter 2 of System.TimeZoneInfo.TZif_ParseRaw | parameter | 32 | -| Parameter 2 of System.TimeZoneInfo.TryConvertIanaIdToWindowsId | parameter | 32 | -| Parameter 2 of System.TimeZoneInfo.TryConvertWindowsIdToIanaId | parameter | 32 | -| Parameter 2 of System.TimeZoneInfo.TryFindSystemTimeZoneById | parameter | 32 | -| Parameter 2 of System.TimeZoneInfo.TryGetTimeZone | parameter | 32 | -| Parameter 2 of System.TimeZoneInfo.TryGetTimeZoneFromLocalMachine | parameter | 32 | -| Parameter 2 of System.TimeZoneInfo.TryGetTimeZoneFromLocalMachineCore | parameter | 32 | -| Parameter 2 of System.TimeZoneInfo.TryGetTimeZoneUsingId | parameter | 32 | -| Parameter 2 of System.TimeZoneInfo.TryLoadTzFile | parameter | 32 | -| Parameter 2 of System.TupleExtensions.Deconstruct | parameter | 32 | -| Parameter 2 of System.Type.GetEnumData | parameter | 32 | -| Parameter 2 of System.UInt16.TryFormat | parameter | 32 | -| Parameter 2 of System.UInt16.TryParse | parameter | 32 | -| Parameter 2 of System.UInt16.TryReadBigEndian | parameter | 32 | -| Parameter 2 of System.UInt16.TryReadLittleEndian | parameter | 32 | -| Parameter 2 of System.UInt16.TryWriteBigEndian | parameter | 32 | -| Parameter 2 of System.UInt16.TryWriteLittleEndian | parameter | 32 | -| Parameter 2 of System.UInt32.TryFormat | parameter | 32 | -| Parameter 2 of System.UInt32.TryParse | parameter | 32 | -| Parameter 2 of System.UInt32.TryReadBigEndian | parameter | 32 | -| Parameter 2 of System.UInt32.TryReadLittleEndian | parameter | 32 | -| Parameter 2 of System.UInt32.TryWriteBigEndian | parameter | 32 | -| Parameter 2 of System.UInt32.TryWriteLittleEndian | parameter | 32 | -| Parameter 2 of System.UInt64.TryFormat | parameter | 32 | -| Parameter 2 of System.UInt64.TryParse | parameter | 32 | -| Parameter 2 of System.UInt64.TryReadBigEndian | parameter | 32 | -| Parameter 2 of System.UInt64.TryReadLittleEndian | parameter | 32 | -| Parameter 2 of System.UInt64.TryWriteBigEndian | parameter | 32 | -| Parameter 2 of System.UInt64.TryWriteLittleEndian | parameter | 32 | -| Parameter 2 of System.UInt128.BigMul | parameter | 32 | -| Parameter 2 of System.UInt128.TryFormat | parameter | 32 | -| Parameter 2 of System.UInt128.TryParse | parameter | 32 | -| Parameter 2 of System.UInt128.TryReadBigEndian | parameter | 32 | -| Parameter 2 of System.UInt128.TryReadLittleEndian | parameter | 32 | -| Parameter 2 of System.UInt128.TryWriteBigEndian | parameter | 32 | -| Parameter 2 of System.UInt128.TryWriteLittleEndian | parameter | 32 | -| Parameter 2 of System.UIntPtr.TryFormat | parameter | 32 | -| Parameter 2 of System.UIntPtr.TryParse | parameter | 32 | -| Parameter 2 of System.UIntPtr.TryReadBigEndian | parameter | 32 | -| Parameter 2 of System.UIntPtr.TryReadLittleEndian | parameter | 32 | -| Parameter 2 of System.UIntPtr.TryWriteBigEndian | parameter | 32 | -| Parameter 2 of System.UIntPtr.TryWriteLittleEndian | parameter | 32 | -| Parameter 2 of System.Version.TryFormat | parameter | 32 | -| Parameter 2 of System.__DTString.GetRegularToken | parameter | 32 | -| Parameter 2 of System.__DTString.GetSeparatorToken | parameter | 32 | -| Parameter 2 of System.__DTString.MatchLongestWords | parameter | 32 | -| Parameter 3 of Interop.Globalization.GetJapaneseEraStartDate | parameter | 32 | -| Parameter 3 of Interop.Globalization.GetLocaleInfoGroupingSizes | parameter | 32 | -| Parameter 3 of Interop.Sys.GetControlCharacters | parameter | 32 | -| Parameter 3 of Interop.Sys.Poll | parameter | 32 | -| Parameter 3 of Interop.Sys.TryGetUserNameFromPasswd | parameter | 32 | -| Parameter 3 of Microsoft.Win32.SafeHandles.SafeFileHandle.FStatCheckIO | parameter | 32 | -| Parameter 3 of Microsoft.Win32.SafeHandles.SafeFileHandle.OpenReadOnly | parameter | 32 | -| Parameter 3 of System.Buffers.IndexOfAnyAsciiSearcher.ComputeBitmap256 | parameter | 32 | -| Parameter 3 of System.Buffers.IndexOfAnyAsciiSearcher.TryIndexOfAny | parameter | 32 | -| Parameter 3 of System.Buffers.IndexOfAnyAsciiSearcher.TryIndexOfAnyExcept | parameter | 32 | -| Parameter 3 of System.Buffers.IndexOfAnyAsciiSearcher.TryLastIndexOfAny | parameter | 32 | -| Parameter 3 of System.Buffers.IndexOfAnyAsciiSearcher.TryLastIndexOfAnyExcept | parameter | 32 | -| Parameter 3 of System.Buffers.Text.Base64.<DecodeFromUtf8>g__InvalidDataFallback\|15_0 | parameter | 32 | -| Parameter 3 of System.Buffers.Text.Base64.DecodeFromUtf8 | parameter | 32 | -| Parameter 3 of System.Buffers.Text.Base64.DecodeWithWhiteSpaceBlockwise | parameter | 32 | -| Parameter 3 of System.Buffers.Text.Base64.EncodeToUtf8 | parameter | 32 | -| Parameter 3 of System.Buffers.Text.Utf8Formatter.TryFormat | parameter | 32 | -| Parameter 3 of System.Buffers.Text.Utf8Parser.TimeSpanSplitter.ParseComponent | parameter | 32 | -| Parameter 3 of System.Buffers.Text.Utf8Parser.TimeSpanSplitter.TrySplitTimeSpan | parameter | 32 | -| Parameter 3 of System.Buffers.Text.Utf8Parser.TryParseDateTimeG | parameter | 32 | -| Parameter 3 of System.Buffers.Text.Utf8Parser.TryParseDateTimeOffsetO | parameter | 32 | -| Parameter 3 of System.Buffers.Text.Utf8Parser.TryParseDateTimeOffsetR | parameter | 32 | -| Parameter 3 of System.Byte.TryParse | parameter | 32 | -| Parameter 3 of System.Char.TryParse | parameter | 32 | -| Parameter 3 of System.Collections.Concurrent.ConcurrentQueue.SnapForObservation | parameter | 32 | -| Parameter 3 of System.Collections.Concurrent.ConcurrentQueue<!0>.SnapForObservation | parameter | 32 | -| Parameter 3 of System.Collections.Hashtable.InitHash | parameter | 32 | -| Parameter 3 of System.ConsolePal.<TryGetCursorPosition>g__AppendToStdInReaderUntil\|82_2 | parameter | 32 | -| Parameter 3 of System.ConsolePal.<TryGetCursorPosition>g__BufferUntil\|82_1 | parameter | 32 | -| Parameter 3 of System.Convert.CopyToTempBufferWithoutWhiteSpace | parameter | 32 | -| Parameter 3 of System.Convert.TryDecodeFromUtf16 | parameter | 32 | -| Parameter 3 of System.DateOnly.Deconstruct | parameter | 32 | -| Parameter 3 of System.DateOnly.TryParse | parameter | 32 | -| Parameter 3 of System.DateOnly.TryParseInternal | parameter | 32 | -| Parameter 3 of System.DateTime.Deconstruct | parameter | 32 | -| Parameter 3 of System.DateTime.GetDate | parameter | 32 | -| Parameter 3 of System.DateTime.GetTime | parameter | 32 | -| Parameter 3 of System.DateTime.GetTimePrecise | parameter | 32 | -| Parameter 3 of System.DateTime.TryParse | parameter | 32 | -| Parameter 3 of System.DateTimeFormat.TryFormatInvariantG | parameter | 32 | -| Parameter 3 of System.DateTimeFormat.TryFormatO | parameter | 32 | -| Parameter 3 of System.DateTimeFormat.TryFormatR | parameter | 32 | -| Parameter 3 of System.DateTimeFormat.TryFormatu | parameter | 32 | -| Parameter 3 of System.DateTimeOffset.Deconstruct | parameter | 32 | -| Parameter 3 of System.DateTimeOffset.TryParse | parameter | 32 | -| Parameter 3 of System.DateTimeParse.CheckNewValue | parameter | 32 | -| Parameter 3 of System.DateTimeParse.ExpandPredefinedFormat | parameter | 32 | -| Parameter 3 of System.DateTimeParse.Lex | parameter | 32 | -| Parameter 3 of System.DateTimeParse.Parse | parameter | 32 | -| Parameter 3 of System.DateTimeParse.ParseDigits | parameter | 32 | -| Parameter 3 of System.DateTimeParse.ParseISO8601 | parameter | 32 | -| Parameter 3 of System.DateTimeParse.ProcessHebrewTerminalState | parameter | 32 | -| Parameter 3 of System.DateTimeParse.ProcessTerminalState | parameter | 32 | -| Parameter 3 of System.DateTimeParse.SetIfStartsWith | parameter | 32 | -| Parameter 3 of System.DateTimeParse.TryParse | parameter | 32 | -| Parameter 3 of System.DateTimeParse.TryParseQuoteString | parameter | 32 | -| Parameter 3 of System.Decimal.DecCalc.DivByConst | parameter | 32 | -| Parameter 3 of System.Decimal.TryParse | parameter | 32 | -| Parameter 3 of System.DefaultBinder.BindToMethod | parameter | 32 | -| Parameter 3 of System.Diagnostics.Tracing.EventParameterInfo.GenerateMetadataForNamedTypeV2 | parameter | 32 | -| Parameter 3 of System.Diagnostics.Tracing.EventProvider.EncodeObject | parameter | 32 | -| Parameter 3 of System.Diagnostics.Tracing.EventProviderImpl.MarshalFilterData | parameter | 32 | -| Parameter 3 of System.Diagnostics.Tracing.EventSource.UpdateDescriptor | parameter | 32 | -| Parameter 3 of System.Diagnostics.Tracing.EventSource.Write | parameter | 32 | -| Parameter 3 of System.Double.TryParse | parameter | 32 | -| Parameter 3 of System.Enum.GetSingleFlagsEnumNameForValue | parameter | 32 | -| Parameter 3 of System.Enum.TryFormatFlagNames | parameter | 32 | -| Parameter 3 of System.Enum.TryFormatPrimitiveDefault | parameter | 32 | -| Parameter 3 of System.Enum.TryFormatPrimitiveNonDefault | parameter | 32 | -| Parameter 3 of System.Enum.TryParse | parameter | 32 | -| Parameter 3 of System.Globalization.CalendarData.EnumCalendarInfo | parameter | 32 | -| Parameter 3 of System.Globalization.CalendarData.EnumDatePatterns | parameter | 32 | -| Parameter 3 of System.Globalization.CalendarData.EnumEraNames | parameter | 32 | -| Parameter 3 of System.Globalization.CalendarData.EnumMonthNames | parameter | 32 | -| Parameter 3 of System.Globalization.CalendarData.GetCalendarInfo | parameter | 32 | -| Parameter 3 of System.Globalization.DateTimeFormatInfo.Tokenize | parameter | 32 | -| Parameter 3 of System.Globalization.DateTimeFormatInfoScanner.ScanRepeatChar | parameter | 32 | -| Parameter 3 of System.Globalization.EastAsianLunisolarCalendar.TimeToLunar | parameter | 32 | -| Parameter 3 of System.Globalization.PersianCalendar.GetDate | parameter | 32 | -| Parameter 3 of System.Globalization.SurrogateCasing.ToLower | parameter | 32 | -| Parameter 3 of System.Globalization.SurrogateCasing.ToUpper | parameter | 32 | -| Parameter 3 of System.Globalization.TimeSpanFormat.FormatCustomized | parameter | 32 | -| Parameter 3 of System.Globalization.TimeSpanParse.ParseExactDigits | parameter | 32 | -| Parameter 3 of System.Globalization.TimeSpanParse.StringParser.ParseInt | parameter | 32 | -| Parameter 3 of System.Globalization.TimeSpanParse.TryParseByFormat | parameter | 32 | -| Parameter 3 of System.Globalization.TimeSpanParse.TryParseTimeSpan | parameter | 32 | -| Parameter 3 of System.Globalization.UmAlQuraCalendar.ConvertGregorianToHijri | parameter | 32 | -| Parameter 3 of System.Globalization.UmAlQuraCalendar.ConvertHijriToGregorian | parameter | 32 | -| Parameter 3 of System.Guid.TryWriteBytes | parameter | 32 | -| Parameter 3 of System.Half.TryParse | parameter | 32 | -| Parameter 3 of System.HashCode.Initialize | parameter | 32 | -| Parameter 3 of System.IO.BufferedStream.WriteToBuffer | parameter | 32 | -| Parameter 3 of System.IO.FileSystemInfo.Create | parameter | 32 | -| Parameter 3 of System.IO.KeyParser.<ParseFromSingleChar>g__ControlAndLetterPressed\|8_1 | parameter | 32 | -| Parameter 3 of System.IO.KeyParser.TryParseTerminalInputSequence | parameter | 32 | -| Parameter 3 of System.IO.Path.TryJoin | parameter | 32 | -| Parameter 3 of System.Int16.TryParse | parameter | 32 | -| Parameter 3 of System.Int32.TryParse | parameter | 32 | -| Parameter 3 of System.Int64.TryParse | parameter | 32 | -| Parameter 3 of System.Int128.TryParse | parameter | 32 | -| Parameter 3 of System.IntPtr.TryParse | parameter | 32 | -| Parameter 3 of System.MemoryExtensions.TryWrite | parameter | 32 | -| Parameter 3 of System.Number.AccumulateDecimalDigitsIntoBigInteger | parameter | 32 | -| Parameter 3 of System.Number.BigInteger.DivRem | parameter | 32 | -| Parameter 3 of System.Number.DiyFp.GetBoundaries | parameter | 32 | -| Parameter 3 of System.Number.Dragon4Double | parameter | 32 | -| Parameter 3 of System.Number.Dragon4Half | parameter | 32 | -| Parameter 3 of System.Number.Dragon4Single | parameter | 32 | -| Parameter 3 of System.Number.GetFloatingPointMaxDigitsAndPrecision | parameter | 32 | -| Parameter 3 of System.Number.Grisu3.TryDigitGenCounted | parameter | 32 | -| Parameter 3 of System.Number.Grisu3.TryRunCounted | parameter | 32 | -| Parameter 3 of System.Number.TryParseBinaryInteger | parameter | 32 | -| Parameter 3 of System.Number.TryParseBinaryIntegerNumber | parameter | 32 | -| Parameter 3 of System.Number.TryParseBinaryIntegerStyle | parameter | 32 | -| Parameter 3 of System.Number.TryParseDecimal | parameter | 32 | -| Parameter 3 of System.Number.TryParseFloat | parameter | 32 | -| Parameter 3 of System.Number.TryParseNumber | parameter | 32 | -| Parameter 3 of System.Number.TryUInt32ToBinaryStr | parameter | 32 | -| Parameter 3 of System.Number.TryUInt32ToDecStr | parameter | 32 | -| Parameter 3 of System.Number.TryUInt64ToBinaryStr | parameter | 32 | -| Parameter 3 of System.Number.TryUInt64ToDecStr | parameter | 32 | -| Parameter 3 of System.Number.TryUInt128ToBinaryStr | parameter | 32 | -| Parameter 3 of System.Number.TryUInt128ToDecStr | parameter | 32 | -| Parameter 3 of System.Numerics.INumberBase.TryParse | parameter | 32 | -| Parameter 3 of System.Numerics.INumberBase<!0>.TryParse | parameter | 32 | -| Parameter 3 of System.Numerics.INumberBase<Byte>.TryParse | parameter | 32 | -| Parameter 3 of System.Numerics.INumberBase<Char>.TryParse | parameter | 32 | -| Parameter 3 of System.Numerics.INumberBase<Decimal>.TryParse | parameter | 32 | -| Parameter 3 of System.Numerics.INumberBase<Double>.TryParse | parameter | 32 | -| Parameter 3 of System.Numerics.INumberBase<Half>.TryParse | parameter | 32 | -| Parameter 3 of System.Numerics.INumberBase<Int16>.TryParse | parameter | 32 | -| Parameter 3 of System.Numerics.INumberBase<Int32>.TryParse | parameter | 32 | -| Parameter 3 of System.Numerics.INumberBase<Int64>.TryParse | parameter | 32 | -| Parameter 3 of System.Numerics.INumberBase<Int128>.TryParse | parameter | 32 | -| Parameter 3 of System.Numerics.INumberBase<IntPtr>.TryParse | parameter | 32 | -| Parameter 3 of System.Numerics.INumberBase<NFloat>.TryParse | parameter | 32 | -| Parameter 3 of System.Numerics.INumberBase<SByte>.TryParse | parameter | 32 | -| Parameter 3 of System.Numerics.INumberBase<Single>.TryParse | parameter | 32 | -| Parameter 3 of System.Numerics.INumberBase<UInt16>.TryParse | parameter | 32 | -| Parameter 3 of System.Numerics.INumberBase<UInt32>.TryParse | parameter | 32 | -| Parameter 3 of System.Numerics.INumberBase<UInt64>.TryParse | parameter | 32 | -| Parameter 3 of System.Numerics.INumberBase<UInt128>.TryParse | parameter | 32 | -| Parameter 3 of System.Numerics.INumberBase<UIntPtr>.TryParse | parameter | 32 | -| Parameter 3 of System.Numerics.Matrix4x4.Decompose | parameter | 32 | -| Parameter 3 of System.Numerics.Matrix4x4.Impl.CreateBillboard | parameter | 32 | -| Parameter 3 of System.Numerics.Matrix4x4.Impl.CreateConstrainedBillboard | parameter | 32 | -| Parameter 3 of System.Numerics.Matrix4x4.Impl.CreateScale | parameter | 32 | -| Parameter 3 of System.Numerics.Matrix4x4.Impl.Decompose | parameter | 32 | -| Parameter 3 of System.ParseNumbers.StringToInt | parameter | 32 | -| Parameter 3 of System.ParseNumbers.StringToLong | parameter | 32 | -| Parameter 3 of System.Reflection.Binder.BindToMethod | parameter | 32 | -| Parameter 3 of System.Reflection.CustomAttribute.CreateCaObject | parameter | 32 | -| Parameter 3 of System.Reflection.CustomAttribute.GetPropertyOrFieldData | parameter | 32 | -| Parameter 3 of System.Reflection.CustomAttribute.ParseAttributeUsageAttribute | parameter | 32 | -| Parameter 3 of System.Reflection.CustomAttribute._GetPropertyOrFieldData | parameter | 32 | -| Parameter 3 of System.Reflection.CustomAttribute._ParseAttributeUsageAttribute | parameter | 32 | -| Parameter 3 of System.Reflection.CustomAttributeEncodedArgument.ParseAttributeArguments | parameter | 32 | -| Parameter 3 of System.Reflection.Emit.DynamicResolver.GetCodeInfo | parameter | 32 | -| Parameter 3 of System.Reflection.Emit.DynamicResolver.ResolveToken | parameter | 32 | -| Parameter 3 of System.Reflection.MetadataImport.Enum | parameter | 32 | -| Parameter 3 of System.Reflection.MetadataImport.GetClassLayout | parameter | 32 | -| Parameter 3 of System.Reflection.MetadataImport.GetCustomAttributeProps | parameter | 32 | -| Parameter 3 of System.Reflection.MetadataImport.GetDefaultValue | parameter | 32 | -| Parameter 3 of System.Reflection.MetadataImport.GetEventProps | parameter | 32 | -| Parameter 3 of System.Reflection.MetadataImport.GetFieldOffset | parameter | 32 | -| Parameter 3 of System.Reflection.MetadataImport.GetMarshalAs | parameter | 32 | -| Parameter 3 of System.Reflection.MetadataImport.GetPInvokeMap | parameter | 32 | -| Parameter 3 of System.Reflection.MetadataImport.GetParamDefProps | parameter | 32 | -| Parameter 3 of System.Reflection.MetadataImport.GetPropertyProps | parameter | 32 | -| Parameter 3 of System.Reflection.MetadataImport._Enum | parameter | 32 | -| Parameter 3 of System.Reflection.MetadataImport._GetClassLayout | parameter | 32 | -| Parameter 3 of System.Reflection.MetadataImport._GetCustomAttributeProps | parameter | 32 | -| Parameter 3 of System.Reflection.MetadataImport._GetDefaultValue | parameter | 32 | -| Parameter 3 of System.Reflection.MetadataImport._GetEventProps | parameter | 32 | -| Parameter 3 of System.Reflection.MetadataImport._GetFieldOffset | parameter | 32 | -| Parameter 3 of System.Reflection.MetadataImport._GetMarshalAs | parameter | 32 | -| Parameter 3 of System.Reflection.MetadataImport._GetParamDefProps | parameter | 32 | -| Parameter 3 of System.Reflection.MetadataImport._GetPropertyProps | parameter | 32 | -| Parameter 3 of System.Reflection.MetadataImport._GetUserString | parameter | 32 | -| Parameter 3 of System.Reflection.MethodInvokerCommon.Initialize | parameter | 32 | -| Parameter 3 of System.Reflection.RuntimeAssembly.GetVersion | parameter | 32 | -| Parameter 3 of System.Reflection.RuntimeCustomAttributeData..ctor | parameter | 32 | -| Parameter 3 of System.Reflection.RuntimeParameterInfo.GetParameters | parameter | 32 | -| Parameter 3 of System.Resolver.GetCodeInfo | parameter | 32 | -| Parameter 3 of System.Resolver.ResolveToken | parameter | 32 | -| Parameter 3 of System.Resources.ResourceReader.GetResourceData | parameter | 32 | -| Parameter 3 of System.Resources.RuntimeResourceSet.ReadValue | parameter | 32 | -| Parameter 3 of System.Runtime.CompilerServices.ConditionalWeakTable.Container.TryGetEntry | parameter | 32 | -| Parameter 3 of System.Runtime.CompilerServices.ConditionalWeakTable<!0,!1>.Container.TryGetEntry | parameter | 32 | -| Parameter 3 of System.Runtime.InteropServices.ComTypes.IMoniker.BindToObject | parameter | 32 | -| Parameter 3 of System.Runtime.InteropServices.ComTypes.IMoniker.BindToStorage | parameter | 32 | -| Parameter 3 of System.Runtime.InteropServices.ComTypes.IMoniker.ComposeWith | parameter | 32 | -| Parameter 3 of System.Runtime.InteropServices.ComTypes.IMoniker.GetDisplayName | parameter | 32 | -| Parameter 3 of System.Runtime.InteropServices.ComTypes.IMoniker.GetTimeOfLastChange | parameter | 32 | -| Parameter 3 of System.Runtime.InteropServices.ComTypes.IMoniker.Reduce | parameter | 32 | -| Parameter 3 of System.Runtime.InteropServices.ComTypes.ITypeComp.BindType | parameter | 32 | -| Parameter 3 of System.Runtime.InteropServices.ComTypes.ITypeInfo2.AddressOfMember | parameter | 32 | -| Parameter 3 of System.Runtime.InteropServices.ComTypes.ITypeInfo2.CreateInstance | parameter | 32 | -| Parameter 3 of System.Runtime.InteropServices.ComTypes.ITypeInfo2.GetDocumentation | parameter | 32 | -| Parameter 3 of System.Runtime.InteropServices.ComTypes.ITypeInfo2.GetDocumentation2 | parameter | 32 | -| Parameter 3 of System.Runtime.InteropServices.ComTypes.ITypeInfo2.GetFuncCustData | parameter | 32 | -| Parameter 3 of System.Runtime.InteropServices.ComTypes.ITypeInfo2.GetFuncIndexOfMemId | parameter | 32 | -| Parameter 3 of System.Runtime.InteropServices.ComTypes.ITypeInfo2.GetImplTypeCustData | parameter | 32 | -| Parameter 3 of System.Runtime.InteropServices.ComTypes.ITypeInfo2.GetParamCustData | parameter | 32 | -| Parameter 3 of System.Runtime.InteropServices.ComTypes.ITypeInfo2.GetVarCustData | parameter | 32 | -| Parameter 3 of System.Runtime.InteropServices.ComTypes.ITypeInfo.AddressOfMember | parameter | 32 | -| Parameter 3 of System.Runtime.InteropServices.ComTypes.ITypeInfo.CreateInstance | parameter | 32 | -| Parameter 3 of System.Runtime.InteropServices.ComTypes.ITypeInfo.GetDocumentation | parameter | 32 | -| Parameter 3 of System.Runtime.InteropServices.ComTypes.ITypeLib2.GetDocumentation | parameter | 32 | -| Parameter 3 of System.Runtime.InteropServices.ComTypes.ITypeLib2.GetDocumentation2 | parameter | 32 | -| Parameter 3 of System.Runtime.InteropServices.ComTypes.ITypeLib.GetDocumentation | parameter | 32 | -| Parameter 3 of System.Runtime.InteropServices.ComWrappers.ComputeVtables | parameter | 32 | -| Parameter 3 of System.Runtime.InteropServices.ComWrappers.TryGetOrCreateComInterfaceForObjectInternal | parameter | 32 | -| Parameter 3 of System.Runtime.InteropServices.MemoryMarshal.TryGetMemoryManager | parameter | 32 | -| Parameter 3 of System.Runtime.InteropServices.MemoryMarshal.TryGetString | parameter | 32 | -| Parameter 3 of System.Runtime.InteropServices.NFloat.TryParse | parameter | 32 | -| Parameter 3 of System.Runtime.InteropServices.NativeLibrary.TryLoad | parameter | 32 | -| Parameter 3 of System.Runtime.InteropServices.ObjectiveC.ObjectiveCMarshal.UnhandledExceptionPropagationHandler.BeginInvoke | parameter | 32 | -| Parameter 3 of System.Runtime.InteropServices.ObjectiveC.ObjectiveCMarshal.UnhandledExceptionPropagationHandler.Invoke | parameter | 32 | -| Parameter 3 of System.RuntimeType.FilterHelper | parameter | 32 | -| Parameter 3 of System.RuntimeType.RuntimeTypeCache.MemberInfoCache.PopulateLiteralFields | parameter | 32 | -| Parameter 3 of System.RuntimeType.RuntimeTypeCache.MemberInfoCache.PopulateRtFields | parameter | 32 | -| Parameter 3 of System.RuntimeType.RuntimeTypeCache.MemberInfoCache<!0>.PopulateLiteralFields | parameter | 32 | -| Parameter 3 of System.RuntimeType.RuntimeTypeCache.MemberInfoCache<!0>.PopulateRtFields | parameter | 32 | -| Parameter 3 of System.RuntimeTypeHandle.GetActivationInfo | parameter | 32 | -| Parameter 3 of System.SByte.TryParse | parameter | 32 | -| Parameter 3 of System.Single.TryParse | parameter | 32 | -| Parameter 3 of System.String.MakeSeparatorListAny | parameter | 32 | -| Parameter 3 of System.String.TryGetSpan | parameter | 32 | -| Parameter 3 of System.StubHelpers.AnsiCharMarshaler.DoAnsiConversion | parameter | 32 | -| Parameter 3 of System.StubHelpers.VBByValStrMarshaler.ConvertToNative | parameter | 32 | -| Parameter 3 of System.TermInfo.ParameterizedStrings.GetDynamicOrStaticVariables | parameter | 32 | -| Parameter 3 of System.Text.ASCIIEncoding.DecodeFirstRune | parameter | 32 | -| Parameter 3 of System.Text.ASCIIEncoding.EncodeRune | parameter | 32 | -| Parameter 3 of System.Text.ASCIIEncoding.TryGetBytes | parameter | 32 | -| Parameter 3 of System.Text.ASCIIEncoding.TryGetChars | parameter | 32 | -| Parameter 3 of System.Text.CompositeFormat.TryParseLiterals | parameter | 32 | -| Parameter 3 of System.Text.DecoderFallbackBuffer.InternalFallback | parameter | 32 | -| Parameter 3 of System.Text.DecoderNLS.DrainLeftoverDataForGetChars | parameter | 32 | -| Parameter 3 of System.Text.EncoderFallbackBuffer.TryInternalFallbackGetBytes | parameter | 32 | -| Parameter 3 of System.Text.EncoderNLS.TryDrainLeftoverDataForGetBytes | parameter | 32 | -| Parameter 3 of System.Text.Encoding.DecodeFirstRune | parameter | 32 | -| Parameter 3 of System.Text.Encoding.EncodeRune | parameter | 32 | -| Parameter 3 of System.Text.Encoding.TryGetBytes | parameter | 32 | -| Parameter 3 of System.Text.Encoding.TryGetChars | parameter | 32 | -| Parameter 3 of System.Text.Latin1Encoding.DecodeFirstRune | parameter | 32 | -| Parameter 3 of System.Text.Latin1Encoding.EncodeRune | parameter | 32 | -| Parameter 3 of System.Text.Latin1Encoding.TryGetBytes | parameter | 32 | -| Parameter 3 of System.Text.Latin1Encoding.TryGetChars | parameter | 32 | -| Parameter 3 of System.Text.StringBuilder.MakeRoom | parameter | 32 | -| Parameter 3 of System.Text.StringBuilder.Remove | parameter | 32 | -| Parameter 3 of System.Text.StringBuilder.ReplaceInPlaceAtChunk | parameter | 32 | -| Parameter 3 of System.Text.UTF8Encoding.DecodeFirstRune | parameter | 32 | -| Parameter 3 of System.Text.UTF8Encoding.EncodeRune | parameter | 32 | -| Parameter 3 of System.Text.UTF8Encoding.TryGetBytes | parameter | 32 | -| Parameter 3 of System.Text.UTF8Encoding.TryGetChars | parameter | 32 | -| Parameter 3 of System.Text.UTF8Encoding.UTF8EncodingSealed.TryGetBytes | parameter | 32 | -| Parameter 3 of System.Text.Unicode.TextSegmentationUtility.DecodeFirstRune.Invoke | parameter | 32 | -| Parameter 3 of System.Text.Unicode.TextSegmentationUtility.DecodeFirstRune<!0>.Invoke | parameter | 32 | -| Parameter 3 of System.Text.Unicode.Utf8.FromUtf16 | parameter | 32 | -| Parameter 3 of System.Text.Unicode.Utf8.ToUtf16 | parameter | 32 | -| Parameter 3 of System.Text.Unicode.Utf8.ToUtf16PreservingReplacement | parameter | 32 | -| Parameter 3 of System.Text.Unicode.Utf8.TryWrite | parameter | 32 | -| Parameter 3 of System.Text.Unicode.Utf8.TryWriteInterpolatedStringHandler.<AppendEnum>g__GrowAndAppendFormatted\|21_0 | parameter | 32 | -| Parameter 3 of System.Text.Unicode.Utf8.TryWriteInterpolatedStringHandler.<AppendSpanFormattable>g__GrowAndAppendFormatted\|20_0 | parameter | 32 | -| Parameter 3 of System.Text.Unicode.Utf8Utility.GetPointerToFirstInvalidByte | parameter | 32 | -| Parameter 3 of System.Text.Unicode.Utf16Utility.GetPointerToFirstInvalidChar | parameter | 32 | -| Parameter 3 of System.Threading.Mutex..ctor | parameter | 32 | -| Parameter 3 of System.Threading.Mutex.CreateMutexCore | parameter | 32 | -| Parameter 3 of System.Threading.SpinLock.CompareExchange | parameter | 32 | -| Parameter 3 of System.Threading.SpinLock.ContinueTryEnterWithThreadTracking | parameter | 32 | -| Parameter 3 of System.Threading.Tasks.AwaitTaskContinuation.RunCallback | parameter | 32 | -| Parameter 3 of System.Threading.Tasks.Task.AtomicStateUpdate | parameter | 32 | -| Parameter 3 of System.Threading.ThreadPool.GetNextConfigUInt32Value | parameter | 32 | -| Parameter 3 of System.TimeOnly.Deconstruct | parameter | 32 | -| Parameter 3 of System.TimeOnly.TryParse | parameter | 32 | -| Parameter 3 of System.TimeOnly.TryParseInternal | parameter | 32 | -| Parameter 3 of System.TimeSpan.TryParseExact | parameter | 32 | -| Parameter 3 of System.TimeZoneInfo.GetAdjustmentRuleForTime | parameter | 32 | -| Parameter 3 of System.TimeZoneInfo.GetDisplayName | parameter | 32 | -| Parameter 3 of System.TimeZoneInfo.GetUtcOffsetFromUtc | parameter | 32 | -| Parameter 3 of System.TimeZoneInfo.TZif_ParseMDateRule | parameter | 32 | -| Parameter 3 of System.TimeZoneInfo.TZif_ParsePosixDateTime | parameter | 32 | -| Parameter 3 of System.TimeZoneInfo.TZif_ParsePosixFormat | parameter | 32 | -| Parameter 3 of System.TimeZoneInfo.TZif_ParseRaw | parameter | 32 | -| Parameter 3 of System.TimeZoneInfo.TryConvertWindowsIdToIanaId | parameter | 32 | -| Parameter 3 of System.TimeZoneInfo.TryGetEndOfDstIfYearStartWithDst | parameter | 32 | -| Parameter 3 of System.TimeZoneInfo.TryGetStartOfDstIfYearEndWithDst | parameter | 32 | -| Parameter 3 of System.TimeZoneInfo.TryGetTimeZone | parameter | 32 | -| Parameter 3 of System.TimeZoneInfo.TryGetTimeZoneFromLocalMachine | parameter | 32 | -| Parameter 3 of System.TimeZoneInfo.TryGetTimeZoneUsingId | parameter | 32 | -| Parameter 3 of System.TimeZoneInfo.ValidateTimeZoneInfo | parameter | 32 | -| Parameter 3 of System.TupleExtensions.Deconstruct | parameter | 32 | -| Parameter 3 of System.UInt16.TryParse | parameter | 32 | -| Parameter 3 of System.UInt32.TryParse | parameter | 32 | -| Parameter 3 of System.UInt64.TryParse | parameter | 32 | -| Parameter 3 of System.UInt128.TryParse | parameter | 32 | -| Parameter 3 of System.UIntPtr.TryParse | parameter | 32 | -| Parameter 3 of System.Version.TryFormat | parameter | 32 | -| Parameter 3 of System.Version.TryFormatCore | parameter | 32 | -| Parameter 3 of System.Version.TryParseComponent | parameter | 32 | -| Parameter 3 of System.__DTString.GetSeparatorToken | parameter | 32 | -| Parameter 3 of System.__DTString.MatchSpecifiedWords | parameter | 32 | -| Parameter 4 of Interop.CallStringMethod | parameter | 32 | -| Parameter 4 of Microsoft.Win32.SafeHandles.SafeFileHandle.Open | parameter | 32 | -| Parameter 4 of System.Buffers.Text.Utf8Parser.TryCreateDateTimeOffset | parameter | 32 | -| Parameter 4 of System.Buffers.Text.Utf8Parser.TryParseAsSpecialFloatingPoint | parameter | 32 | -| Parameter 4 of System.Buffers.Text.Utf8Parser.TryParseNumber | parameter | 32 | -| Parameter 4 of System.Collections.Concurrent.ConcurrentQueue.SnapForObservation | parameter | 32 | -| Parameter 4 of System.Collections.Concurrent.ConcurrentQueue<!0>.SnapForObservation | parameter | 32 | -| Parameter 4 of System.Collections.Concurrent.SingleProducerSingleConsumerQueue.TryDequeueSlow | parameter | 32 | -| Parameter 4 of System.Collections.Concurrent.SingleProducerSingleConsumerQueue<!0>.TryDequeueSlow | parameter | 32 | -| Parameter 4 of System.Collections.Hashtable.InitHash | parameter | 32 | -| Parameter 4 of System.ConsolePal.<TryGetCursorPosition>g__AppendToStdInReaderUntil\|82_2 | parameter | 32 | -| Parameter 4 of System.ConsolePal.<TryGetCursorPosition>g__ReadRowOrCol\|82_3 | parameter | 32 | -| Parameter 4 of System.DateOnly.TryParseExact | parameter | 32 | -| Parameter 4 of System.DateOnly.TryParseExactInternal | parameter | 32 | -| Parameter 4 of System.DateTime.GetTime | parameter | 32 | -| Parameter 4 of System.DateTime.GetTimePrecise | parameter | 32 | -| Parameter 4 of System.DateTime.TryParseExact | parameter | 32 | -| Parameter 4 of System.DateTimeFormat.FormatCustomized | parameter | 32 | -| Parameter 4 of System.DateTimeFormat.FormatCustomizedTimeZone | parameter | 32 | -| Parameter 4 of System.DateTimeFormat.TryFormatDateOnlyO | parameter | 32 | -| Parameter 4 of System.DateTimeFormat.TryFormatTimeOnlyR | parameter | 32 | -| Parameter 4 of System.DateTimeOffset.TryParseExact | parameter | 32 | -| Parameter 4 of System.DateTimeParse.DoStrictParse | parameter | 32 | -| Parameter 4 of System.DateTimeParse.Lex | parameter | 32 | -| Parameter 4 of System.DateTimeParse.ParseByFormat | parameter | 32 | -| Parameter 4 of System.DateTimeParse.ParseExact | parameter | 32 | -| Parameter 4 of System.DateTimeParse.ParseExactMultiple | parameter | 32 | -| Parameter 4 of System.DateTimeParse.SetIfStartsWith | parameter | 32 | -| Parameter 4 of System.DateTimeParse.TryParse | parameter | 32 | -| Parameter 4 of System.DateTimeParse.TryParseExact | parameter | 32 | -| Parameter 4 of System.DateTimeParse.TryParseExactMultiple | parameter | 32 | -| Parameter 4 of System.Diagnostics.Debug.AssertInterpolatedStringHandler..ctor | parameter | 32 | -| Parameter 4 of System.Diagnostics.Debug.WriteIfInterpolatedStringHandler..ctor | parameter | 32 | -| Parameter 4 of System.Diagnostics.Tracing.ActivityTracker.OnStart | parameter | 32 | -| Parameter 4 of System.Diagnostics.Tracing.ActivityTracker.OnStop | parameter | 32 | -| Parameter 4 of System.Diagnostics.Tracing.EventSource.UpdateDescriptor | parameter | 32 | -| Parameter 4 of System.Diagnostics.Tracing.EventSource.Write | parameter | 32 | -| Parameter 4 of System.Enum.<TryParse>g__TryParseRareTypes\|41_0 | parameter | 32 | -| Parameter 4 of System.Enum.TryFormatFlagNames | parameter | 32 | -| Parameter 4 of System.Enum.TryParse | parameter | 32 | -| Parameter 4 of System.Enum.TryParseByName | parameter | 32 | -| Parameter 4 of System.Enum.TryParseByValueOrName | parameter | 32 | -| Parameter 4 of System.Enum.TryParseRareTypeByValueOrName | parameter | 32 | -| Parameter 4 of System.Globalization.CalendarData.EnumMonthNames | parameter | 32 | -| Parameter 4 of System.Globalization.CompareInfo.IndexOf | parameter | 32 | -| Parameter 4 of System.Globalization.CompareInfo.IsPrefix | parameter | 32 | -| Parameter 4 of System.Globalization.CompareInfo.IsSuffix | parameter | 32 | -| Parameter 4 of System.Globalization.CompareInfo.LastIndexOf | parameter | 32 | -| Parameter 4 of System.Globalization.DateTimeFormatInfo.Tokenize | parameter | 32 | -| Parameter 4 of System.Globalization.EastAsianLunisolarCalendar.GregorianToLunar | parameter | 32 | -| Parameter 4 of System.Globalization.EastAsianLunisolarCalendar.LunarToGregorian | parameter | 32 | -| Parameter 4 of System.Globalization.EastAsianLunisolarCalendar.TimeToLunar | parameter | 32 | -| Parameter 4 of System.Globalization.PersianCalendar.GetDate | parameter | 32 | -| Parameter 4 of System.Globalization.TimeSpanFormat.TryFormatStandard | parameter | 32 | -| Parameter 4 of System.Globalization.TimeSpanParse.ParseExactDigits | parameter | 32 | -| Parameter 4 of System.Globalization.TimeSpanParse.TryParseExact | parameter | 32 | -| Parameter 4 of System.Globalization.TimeSpanParse.TryParseExactMultiple | parameter | 32 | -| Parameter 4 of System.Globalization.TimeSpanParse.TryParseExactMultipleTimeSpan | parameter | 32 | -| Parameter 4 of System.Globalization.TimeSpanParse.TryParseExactTimeSpan | parameter | 32 | -| Parameter 4 of System.Globalization.UmAlQuraCalendar.ConvertHijriToGregorian | parameter | 32 | -| Parameter 4 of System.IO.BufferedStream.ReadFromBuffer | parameter | 32 | -| Parameter 4 of System.IO.KeyParser.Parse | parameter | 32 | -| Parameter 4 of System.IO.Path.TryJoin | parameter | 32 | -| Parameter 4 of System.MemoryExtensions.TryWriteInterpolatedStringHandler..ctor | parameter | 32 | -| Parameter 4 of System.Number.<TryFormatInt64>g__TryFormatInt64Slow\|46_0 | parameter | 32 | -| Parameter 4 of System.Number.<TryFormatInt128>g__TryFormatInt128Slow\|50_0 | parameter | 32 | -| Parameter 4 of System.Number.<TryFormatUInt32>g__TryFormatUInt32Slow\|44_0 | parameter | 32 | -| Parameter 4 of System.Number.<TryFormatUInt64>g__TryFormatUInt64Slow\|48_0 | parameter | 32 | -| Parameter 4 of System.Number.<TryFormatUInt128>g__TryFormatUInt128Slow\|52_0 | parameter | 32 | -| Parameter 4 of System.Number.Grisu3.TryDigitGenCounted | parameter | 32 | -| Parameter 4 of System.Number.Grisu3.TryDigitGenShortest | parameter | 32 | -| Parameter 4 of System.Number.Grisu3.TryRunCounted | parameter | 32 | -| Parameter 4 of System.Number.Grisu3.TryRunShortest | parameter | 32 | -| Parameter 4 of System.Number.TryFormatDecimal | parameter | 32 | -| Parameter 4 of System.Number.TryFormatDouble | parameter | 32 | -| Parameter 4 of System.Number.TryFormatHalf | parameter | 32 | -| Parameter 4 of System.Number.TryFormatInt64 | parameter | 32 | -| Parameter 4 of System.Number.TryFormatInt128 | parameter | 32 | -| Parameter 4 of System.Number.TryFormatSingle | parameter | 32 | -| Parameter 4 of System.Number.TryFormatUInt32 | parameter | 32 | -| Parameter 4 of System.Number.TryFormatUInt64 | parameter | 32 | -| Parameter 4 of System.Number.TryFormatUInt128 | parameter | 32 | -| Parameter 4 of System.Number.TryInt32ToHexStr | parameter | 32 | -| Parameter 4 of System.Number.TryInt64ToHexStr | parameter | 32 | -| Parameter 4 of System.Number.TryInt128ToHexStr | parameter | 32 | -| Parameter 4 of System.Number.TryNegativeInt32ToDecStr | parameter | 32 | -| Parameter 4 of System.Number.TryNegativeInt64ToDecStr | parameter | 32 | -| Parameter 4 of System.Number.TryNegativeInt128ToDecStr | parameter | 32 | -| Parameter 4 of System.Numerics.Matrix4x4.Impl.CreateConstrainedBillboard | parameter | 32 | -| Parameter 4 of System.Reflection.AssemblyName.EscapeString | parameter | 32 | -| Parameter 4 of System.Reflection.Associates.AssignAssociates | parameter | 32 | -| Parameter 4 of System.Reflection.CustomAttribute.GetPropertyOrFieldData | parameter | 32 | -| Parameter 4 of System.Reflection.CustomAttribute._GetPropertyOrFieldData | parameter | 32 | -| Parameter 4 of System.Reflection.CustomAttribute._ParseAttributeUsageAttribute | parameter | 32 | -| Parameter 4 of System.Reflection.Emit.DynamicResolver.ResolveToken | parameter | 32 | -| Parameter 4 of System.Reflection.MetadataImport.GetDefaultValue | parameter | 32 | -| Parameter 4 of System.Reflection.MetadataImport.GetMarshalAs | parameter | 32 | -| Parameter 4 of System.Reflection.MetadataImport.GetPInvokeMap | parameter | 32 | -| Parameter 4 of System.Reflection.MetadataImport.GetPropertyProps | parameter | 32 | -| Parameter 4 of System.Reflection.MetadataImport._GetDefaultValue | parameter | 32 | -| Parameter 4 of System.Reflection.MetadataImport._GetMarshalAs | parameter | 32 | -| Parameter 4 of System.Reflection.MetadataImport._GetPropertyProps | parameter | 32 | -| Parameter 4 of System.Reflection.NullabilityInfoContext.GetNullabilityInfo | parameter | 32 | -| Parameter 4 of System.Reflection.RuntimeAssembly.GetVersion | parameter | 32 | -| Parameter 4 of System.Reflection.RuntimeEventInfo..ctor | parameter | 32 | -| Parameter 4 of System.Reflection.RuntimePropertyInfo..ctor | parameter | 32 | -| Parameter 4 of System.Resolver.ResolveToken | parameter | 32 | -| Parameter 4 of System.Runtime.InteropServices.ComTypes.IMoniker.BindToObject | parameter | 32 | -| Parameter 4 of System.Runtime.InteropServices.ComTypes.IMoniker.BindToStorage | parameter | 32 | -| Parameter 4 of System.Runtime.InteropServices.ComTypes.IMoniker.ParseDisplayName | parameter | 32 | -| Parameter 4 of System.Runtime.InteropServices.ComTypes.IMoniker.Reduce | parameter | 32 | -| Parameter 4 of System.Runtime.InteropServices.ComTypes.ITypeComp.Bind | parameter | 32 | -| Parameter 4 of System.Runtime.InteropServices.ComTypes.ITypeComp.BindType | parameter | 32 | -| Parameter 4 of System.Runtime.InteropServices.ComTypes.ITypeInfo2.GetDocumentation | parameter | 32 | -| Parameter 4 of System.Runtime.InteropServices.ComTypes.ITypeInfo2.GetDocumentation2 | parameter | 32 | -| Parameter 4 of System.Runtime.InteropServices.ComTypes.ITypeInfo2.GetNames | parameter | 32 | -| Parameter 4 of System.Runtime.InteropServices.ComTypes.ITypeInfo2.GetParamCustData | parameter | 32 | -| Parameter 4 of System.Runtime.InteropServices.ComTypes.ITypeInfo2.Invoke | parameter | 32 | -| Parameter 4 of System.Runtime.InteropServices.ComTypes.ITypeInfo.GetDocumentation | parameter | 32 | -| Parameter 4 of System.Runtime.InteropServices.ComTypes.ITypeInfo.GetNames | parameter | 32 | -| Parameter 4 of System.Runtime.InteropServices.ComTypes.ITypeInfo.Invoke | parameter | 32 | -| Parameter 4 of System.Runtime.InteropServices.ComTypes.ITypeLib2.GetDocumentation | parameter | 32 | -| Parameter 4 of System.Runtime.InteropServices.ComTypes.ITypeLib2.GetDocumentation2 | parameter | 32 | -| Parameter 4 of System.Runtime.InteropServices.ComTypes.ITypeLib.GetDocumentation | parameter | 32 | -| Parameter 4 of System.Runtime.InteropServices.ComWrappers.CallComputeVtables | parameter | 32 | -| Parameter 4 of System.Runtime.InteropServices.ComWrappers.TryGetOrCreateComInterfaceForObjectInternal | parameter | 32 | -| Parameter 4 of System.RuntimeFieldHandle.GetValue | parameter | 32 | -| Parameter 4 of System.RuntimeType.FilterHelper | parameter | 32 | -| Parameter 4 of System.RuntimeType.RuntimeTypeCache.MemberInfoCache.PopulateEvents | parameter | 32 | -| Parameter 4 of System.RuntimeType.RuntimeTypeCache.MemberInfoCache<!0>.PopulateEvents | parameter | 32 | -| Parameter 4 of System.RuntimeTypeHandle.GetActivationInfo | parameter | 32 | -| Parameter 4 of System.TermInfo.ParameterizedStrings.EvaluateInternal | parameter | 32 | -| Parameter 4 of System.Text.ASCIIEncoding.GetByteCountFast | parameter | 32 | -| Parameter 4 of System.Text.ASCIIEncoding.GetCharCountFast | parameter | 32 | -| Parameter 4 of System.Text.Decoder.Convert | parameter | 32 | -| Parameter 4 of System.Text.DecoderFallbackBuffer.TryInternalFallbackGetChars | parameter | 32 | -| Parameter 4 of System.Text.Encoder.Convert | parameter | 32 | -| Parameter 4 of System.Text.EncoderFallbackBuffer.TryInternalFallbackGetBytes | parameter | 32 | -| Parameter 4 of System.Text.EncoderNLS.TryDrainLeftoverDataForGetBytes | parameter | 32 | -| Parameter 4 of System.Text.Encoding.GetByteCountFast | parameter | 32 | -| Parameter 4 of System.Text.Encoding.GetCharCountFast | parameter | 32 | -| Parameter 4 of System.Text.Latin1Encoding.GetByteCountFast | parameter | 32 | -| Parameter 4 of System.Text.Latin1Encoding.GetCharCountFast | parameter | 32 | -| Parameter 4 of System.Text.StringBuilder.MakeRoom | parameter | 32 | -| Parameter 4 of System.Text.StringBuilder.Remove | parameter | 32 | -| Parameter 4 of System.Text.UTF8Encoding.GetByteCountFast | parameter | 32 | -| Parameter 4 of System.Text.UTF8Encoding.GetCharCountFast | parameter | 32 | -| Parameter 4 of System.Text.Unicode.Utf8.TryWriteInterpolatedStringHandler..ctor | parameter | 32 | -| Parameter 4 of System.Text.Unicode.Utf8Utility.TranscodeToUtf8 | parameter | 32 | -| Parameter 4 of System.Text.Unicode.Utf8Utility.TranscodeToUtf16 | parameter | 32 | -| Parameter 4 of System.Threading.EventWaitHandle..ctor | parameter | 32 | -| Parameter 4 of System.Threading.EventWaitHandle.CreateEventCore | parameter | 32 | -| Parameter 4 of System.Threading.Semaphore..ctor | parameter | 32 | -| Parameter 4 of System.Threading.Semaphore.CreateSemaphoreCore | parameter | 32 | -| Parameter 4 of System.TimeOnly.Deconstruct | parameter | 32 | -| Parameter 4 of System.TimeOnly.TryParseExact | parameter | 32 | -| Parameter 4 of System.TimeOnly.TryParseExactInternal | parameter | 32 | -| Parameter 4 of System.TimeSpan.TryParseExact | parameter | 32 | -| Parameter 4 of System.TimeZoneInfo.TZif_ParsePosixFormat | parameter | 32 | -| Parameter 4 of System.TimeZoneInfo.TZif_ParseRaw | parameter | 32 | -| Parameter 4 of System.TupleExtensions.Deconstruct | parameter | 32 | -| Parameter 5 of System.Buffers.Text.Utf8Parser.TryParseAsSpecialFloatingPoint | parameter | 32 | -| Parameter 5 of System.DateTimeFormat.TryFormatDateOnlyR | parameter | 32 | -| Parameter 5 of System.DateTimeFormat.TryFormatTimeOnlyO | parameter | 32 | -| Parameter 5 of System.DateTimeParse.Lex | parameter | 32 | -| Parameter 5 of System.DateTimeParse.TryParseExact | parameter | 32 | -| Parameter 5 of System.DateTimeParse.TryParseExactMultiple | parameter | 32 | -| Parameter 5 of System.Diagnostics.Tracing.ActivityTracker.OnStart | parameter | 32 | -| Parameter 5 of System.Diagnostics.Tracing.EventSource.Write | parameter | 32 | -| Parameter 5 of System.Enum.TryFindFlagsNames | parameter | 32 | -| Parameter 5 of System.Globalization.EastAsianLunisolarCalendar.GregorianToLunar | parameter | 32 | -| Parameter 5 of System.Globalization.EastAsianLunisolarCalendar.LunarToGregorian | parameter | 32 | -| Parameter 5 of System.Globalization.UmAlQuraCalendar.ConvertHijriToGregorian | parameter | 32 | -| Parameter 5 of System.MemoryExtensions.TryWriteInterpolatedStringHandler..ctor | parameter | 32 | -| Parameter 5 of System.Number.<TryFormatInt32>g__TryFormatInt32Slow\|42_0 | parameter | 32 | -| Parameter 5 of System.Number.Grisu3.TryDigitGenShortest | parameter | 32 | -| Parameter 5 of System.Number.Grisu3.TryRoundWeedCounted | parameter | 32 | -| Parameter 5 of System.Number.Grisu3.TryRunShortest | parameter | 32 | -| Parameter 5 of System.Number.TryFormatInt32 | parameter | 32 | -| Parameter 5 of System.Reflection.AssemblyName.EnsureDestinationSize | parameter | 32 | -| Parameter 5 of System.Reflection.Associates.AssignAssociates | parameter | 32 | -| Parameter 5 of System.Reflection.CustomAttribute.CreateCaObject | parameter | 32 | -| Parameter 5 of System.Reflection.CustomAttribute.GetPropertyOrFieldData | parameter | 32 | -| Parameter 5 of System.Reflection.CustomAttribute._GetPropertyOrFieldData | parameter | 32 | -| Parameter 5 of System.Reflection.MetadataImport.GetMarshalAs | parameter | 32 | -| Parameter 5 of System.Reflection.MetadataImport._GetMarshalAs | parameter | 32 | -| Parameter 5 of System.Runtime.InteropServices.ComTypes.IMoniker.ParseDisplayName | parameter | 32 | -| Parameter 5 of System.Runtime.InteropServices.ComTypes.ITypeComp.Bind | parameter | 32 | -| Parameter 5 of System.Runtime.InteropServices.ComTypes.ITypeInfo2.GetDocumentation | parameter | 32 | -| Parameter 5 of System.Runtime.InteropServices.ComTypes.ITypeInfo.GetDocumentation | parameter | 32 | -| Parameter 5 of System.Runtime.InteropServices.ComTypes.ITypeLib2.FindName | parameter | 32 | -| Parameter 5 of System.Runtime.InteropServices.ComTypes.ITypeLib2.GetDocumentation | parameter | 32 | -| Parameter 5 of System.Runtime.InteropServices.ComTypes.ITypeLib.FindName | parameter | 32 | -| Parameter 5 of System.Runtime.InteropServices.ComTypes.ITypeLib.GetDocumentation | parameter | 32 | -| Parameter 5 of System.Runtime.InteropServices.ComWrappers.TryGetOrCreateObjectForComInstanceInternal | parameter | 32 | -| Parameter 5 of System.RuntimeType.FilterHelper | parameter | 32 | -| Parameter 5 of System.RuntimeType.RuntimeTypeCache.MemberInfoCache.PopulateRtFields | parameter | 32 | -| Parameter 5 of System.RuntimeType.RuntimeTypeCache.MemberInfoCache<!0>.PopulateRtFields | parameter | 32 | -| Parameter 5 of System.TermInfo.ParameterizedStrings.EvaluateInternal | parameter | 32 | -| Parameter 5 of System.Text.ASCIIEncoding.GetBytesFast | parameter | 32 | -| Parameter 5 of System.Text.ASCIIEncoding.GetCharsFast | parameter | 32 | -| Parameter 5 of System.Text.Decoder.Convert | parameter | 32 | -| Parameter 5 of System.Text.Encoder.Convert | parameter | 32 | -| Parameter 5 of System.Text.Encoding.GetBytesFast | parameter | 32 | -| Parameter 5 of System.Text.Encoding.GetCharsFast | parameter | 32 | -| Parameter 5 of System.Text.Latin1Encoding.GetBytesFast | parameter | 32 | -| Parameter 5 of System.Text.Latin1Encoding.GetCharsFast | parameter | 32 | -| Parameter 5 of System.Text.UTF8Encoding.GetBytesFast | parameter | 32 | -| Parameter 5 of System.Text.UTF8Encoding.GetCharsFast | parameter | 32 | -| Parameter 5 of System.Text.Unicode.Utf8.TryWriteInterpolatedStringHandler..ctor | parameter | 32 | -| Parameter 5 of System.Text.Unicode.Utf8Utility.TranscodeToUtf8 | parameter | 32 | -| Parameter 5 of System.Text.Unicode.Utf8Utility.TranscodeToUtf16 | parameter | 32 | -| Parameter 5 of System.TimeOnly.Deconstruct | parameter | 32 | -| Parameter 5 of System.TimeZoneInfo.GetIsDaylightSavingsFromUtc | parameter | 32 | -| Parameter 5 of System.TimeZoneInfo.TZif_ParsePosixFormat | parameter | 32 | -| Parameter 5 of System.TimeZoneInfo.TZif_ParseRaw | parameter | 32 | -| Parameter 5 of System.TupleExtensions.Deconstruct | parameter | 32 | -| Parameter 6 of System.Buffers.Text.Utf8Parser.TryCreateTimeSpan | parameter | 32 | -| Parameter 6 of System.Enum.TryFindFlagsNames | parameter | 32 | -| Parameter 6 of System.Globalization.EastAsianLunisolarCalendar.GregorianToLunar | parameter | 32 | -| Parameter 6 of System.Globalization.EastAsianLunisolarCalendar.LunarToGregorian | parameter | 32 | -| Parameter 6 of System.Globalization.TimeSpanParse.TryTimeToTicks | parameter | 32 | -| Parameter 6 of System.Reflection.Associates.AssignAssociates | parameter | 32 | -| Parameter 6 of System.Reflection.CustomAttribute.FilterCustomAttributeRecord | parameter | 32 | -| Parameter 6 of System.Reflection.CustomAttribute.GetPropertyOrFieldData | parameter | 32 | -| Parameter 6 of System.Reflection.CustomAttribute._GetPropertyOrFieldData | parameter | 32 | -| Parameter 6 of System.Reflection.MetadataImport.GetMarshalAs | parameter | 32 | -| Parameter 6 of System.Reflection.MetadataImport._GetMarshalAs | parameter | 32 | -| Parameter 6 of System.Runtime.InteropServices.ComTypes.ITypeComp.Bind | parameter | 32 | -| Parameter 6 of System.RuntimeFieldHandle.SetValue | parameter | 32 | -| Parameter 6 of System.RuntimeType.RuntimeTypeCache.MemberInfoCache.PopulateProperties | parameter | 32 | -| Parameter 6 of System.RuntimeType.RuntimeTypeCache.MemberInfoCache<!0>.PopulateProperties | parameter | 32 | -| Parameter 6 of System.Text.Decoder.Convert | parameter | 32 | -| Parameter 6 of System.Text.DecoderNLS.Convert | parameter | 32 | -| Parameter 6 of System.Text.Encoder.Convert | parameter | 32 | -| Parameter 6 of System.Text.EncoderNLS.Convert | parameter | 32 | -| Parameter 6 of System.TimeZoneInfo.TZif_ParsePosixFormat | parameter | 32 | -| Parameter 6 of System.TupleExtensions.Deconstruct | parameter | 32 | -| Parameter 7 of Microsoft.Win32.SafeHandles.SafeFileHandle.Init | parameter | 32 | -| Parameter 7 of Microsoft.Win32.SafeHandles.SafeFileHandle.Open | parameter | 32 | -| Parameter 7 of System.Buffers.Text.Utf8Parser.TryCreateDateTimeOffsetInterpretingDataAsLocalTime | parameter | 32 | -| Parameter 7 of System.DateTime.TryCreate | parameter | 32 | -| Parameter 7 of System.DefaultBinder.BindToMethod | parameter | 32 | -| Parameter 7 of System.Number.Dragon4 | parameter | 32 | -| Parameter 7 of System.Reflection.Associates.AssignAssociates | parameter | 32 | -| Parameter 7 of System.Reflection.Binder.BindToMethod | parameter | 32 | -| Parameter 7 of System.Reflection.CustomAttribute.FilterCustomAttributeRecord | parameter | 32 | -| Parameter 7 of System.Reflection.MetadataImport.GetMarshalAs | parameter | 32 | -| Parameter 7 of System.Reflection.MetadataImport._GetMarshalAs | parameter | 32 | -| Parameter 7 of System.Runtime.InteropServices.ComTypes.ITypeInfo2.Invoke | parameter | 32 | -| Parameter 7 of System.Runtime.InteropServices.ComTypes.ITypeInfo.Invoke | parameter | 32 | -| Parameter 7 of System.Text.Decoder.Convert | parameter | 32 | -| Parameter 7 of System.Text.DecoderNLS.Convert | parameter | 32 | -| Parameter 7 of System.Text.Encoder.Convert | parameter | 32 | -| Parameter 7 of System.Text.EncoderNLS.Convert | parameter | 32 | -| Parameter 7 of System.TimeZoneInfo.TZif_ParsePosixFormat | parameter | 32 | -| Parameter 7 of System.TupleExtensions.Deconstruct | parameter | 32 | -| Parameter 8 of Microsoft.Win32.SafeHandles.SafeFileHandle.Init | parameter | 32 | -| Parameter 8 of Microsoft.Win32.SafeHandles.SafeFileHandle.Open | parameter | 32 | -| Parameter 8 of System.Activator.CreateInstanceInternal | parameter | 32 | -| Parameter 8 of System.Buffers.Text.Utf8Parser.TryCreateDateTime | parameter | 32 | -| Parameter 8 of System.Reflection.Associates.AssignAssociates | parameter | 32 | -| Parameter 8 of System.Reflection.CustomAttribute.FilterCustomAttributeRecord | parameter | 32 | -| Parameter 8 of System.Reflection.MetadataImport.GetMarshalAs | parameter | 32 | -| Parameter 8 of System.Reflection.MetadataImport._GetMarshalAs | parameter | 32 | -| Parameter 8 of System.Text.Decoder.Convert | parameter | 32 | -| Parameter 8 of System.Text.DecoderNLS.Convert | parameter | 32 | -| Parameter 8 of System.Text.Encoder.Convert | parameter | 32 | -| Parameter 8 of System.Text.EncoderNLS.Convert | parameter | 32 | -| Parameter 8 of System.TimeZoneInfo.TZif_ParsePosixFormat | parameter | 32 | -| Parameter 8 of System.TupleExtensions.Deconstruct | parameter | 32 | -| Parameter 9 of System.Globalization.Calendar.TryToDateTime | parameter | 32 | -| Parameter 9 of System.Globalization.GregorianCalendar.TryToDateTime | parameter | 32 | -| Parameter 9 of System.Reflection.Associates.AssignAssociates | parameter | 32 | -| Parameter 9 of System.Reflection.CustomAttribute.FilterCustomAttributeRecord | parameter | 32 | -| Parameter 9 of System.Reflection.MetadataImport.GetMarshalAs | parameter | 32 | -| Parameter 9 of System.Reflection.MetadataImport._GetMarshalAs | parameter | 32 | -| Parameter 9 of System.Text.Decoder.Convert | parameter | 32 | -| Parameter 9 of System.Text.DecoderNLS.Convert | parameter | 32 | -| Parameter 9 of System.Text.Encoder.Convert | parameter | 32 | -| Parameter 9 of System.Text.EncoderNLS.Convert | parameter | 32 | -| Parameter 9 of System.TupleExtensions.Deconstruct | parameter | 32 | -| Parameter 10 of Microsoft.Win32.SafeHandles.SafeFileHandle.Open | parameter | 32 | -| Parameter 10 of System.Buffers.Text.Utf8Parser.TryCreateDateTimeOffset | parameter | 32 | -| Parameter 10 of System.Diagnostics.StackFrameHelper.GetSourceLineInfoDelegate.Invoke | parameter | 32 | -| Parameter 10 of System.Reflection.Associates.AssignAssociates | parameter | 32 | -| Parameter 10 of System.Reflection.MetadataImport._GetMarshalAs | parameter | 32 | -| Parameter 10 of System.Text.Decoder.Convert | parameter | 32 | -| Parameter 10 of System.Text.DecoderNLS.Convert | parameter | 32 | -| Parameter 10 of System.Text.Encoder.Convert | parameter | 32 | -| Parameter 10 of System.Text.EncoderNLS.Convert | parameter | 32 | -| Parameter 10 of System.TupleExtensions.Deconstruct | parameter | 32 | -| Parameter 11 of System.Diagnostics.StackFrameHelper.GetSourceLineInfoDelegate.Invoke | parameter | 32 | -| Parameter 11 of System.Reflection.Associates.AssignAssociates | parameter | 32 | -| Parameter 11 of System.TupleExtensions.Deconstruct | parameter | 32 | -| Parameter 12 of System.Diagnostics.StackFrameHelper.GetSourceLineInfoDelegate.Invoke | parameter | 32 | -| Parameter 12 of System.TupleExtensions.Deconstruct | parameter | 32 | -| Parameter 13 of System.TupleExtensions.Deconstruct | parameter | 32 | -| Parameter 14 of System.TupleExtensions.Deconstruct | parameter | 32 | -| Parameter 15 of System.TupleExtensions.Deconstruct | parameter | 32 | -| Parameter 16 of System.TupleExtensions.Deconstruct | parameter | 32 | -| Parameter 17 of System.TupleExtensions.Deconstruct | parameter | 32 | -| Parameter 18 of System.TupleExtensions.Deconstruct | parameter | 32 | -| Parameter 19 of System.TupleExtensions.Deconstruct | parameter | 32 | -| Parameter 20 of System.TupleExtensions.Deconstruct | parameter | 32 | -| Parameter 21 of System.TupleExtensions.Deconstruct | parameter | 32 | -| System.Collections.Generic.Dictionary.CollectionsMarshalHelper.GetValueRefOrAddDefault | method | 32 | -| System.Collections.Generic.Dictionary.FindValue | method | 32 | -| System.Collections.Generic.Dictionary.GetBucket | method | 32 | -| System.Collections.Generic.Dictionary<!0,!1>.CollectionsMarshalHelper.GetValueRefOrAddDefault | method | 32 | -| System.Collections.Generic.Dictionary<!0,!1>.FindValue | method | 32 | -| System.Collections.Generic.Dictionary<!0,!1>.GetBucket | method | 32 | -| System.Collections.Generic.HashSet.GetBucketRef | method | 32 | -| System.Collections.Generic.HashSet<!0>.GetBucketRef | method | 32 | -| System.Collections.Generic.ValueListBuilder.Item | property | 32 | -| System.Collections.Generic.ValueListBuilder.get_Item | method | 32 | -| System.Collections.Generic.ValueListBuilder<!0>.get_Item | method | 32 | -| System.Collections.Generic.ValueListBuilder<Int32>.get_Item | method | 32 | -| System.Decimal.AsMutable | method | 32 | -| System.Diagnostics.Tracing.EventWrittenEventArgs.Metadata | property | 32 | -| System.Diagnostics.Tracing.EventWrittenEventArgs.get_Metadata | method | 32 | -| System.Nullable.GetValueRefOrDefaultRef | method | 32 | -| System.Numerics.Matrix3x2.AsImpl | method | 32 | -| System.Numerics.Matrix3x2.AsROImpl | method | 32 | -| System.Numerics.Matrix3x2.Impl.AsM3x2 | method | 32 | -| System.Numerics.Matrix4x4.AsImpl | method | 32 | -| System.Numerics.Matrix4x4.AsROImpl | method | 32 | -| System.Numerics.Matrix4x4.Impl.AsM4x4 | method | 32 | -| System.ReadOnlySpan.Enumerator.Current | property | 32 | -| System.ReadOnlySpan.Enumerator.get_Current | method | 32 | -| System.ReadOnlySpan.GetPinnableReference | method | 32 | -| System.ReadOnlySpan.Item | property | 32 | -| System.ReadOnlySpan.get_Item | method | 32 | -| System.ReadOnlySpan<!0>.get_Item | method | 32 | -| System.ReadOnlySpan<!1>.get_Item | method | 32 | -| System.ReadOnlySpan<Boolean>.get_Item | method | 32 | -| System.ReadOnlySpan<Byte>.GetPinnableReference | method | 32 | -| System.ReadOnlySpan<Byte>.get_Item | method | 32 | -| System.ReadOnlySpan<Char>.get_Item | method | 32 | -| System.ReadOnlySpan<Double>.get_Item | method | 32 | -| System.ReadOnlySpan<Int16>.get_Item | method | 32 | -| System.ReadOnlySpan<Int32>.get_Item | method | 32 | -| System.ReadOnlySpan<Int128>.get_Item | method | 32 | -| System.ReadOnlySpan<IntPtr>.GetPinnableReference | method | 32 | -| System.ReadOnlySpan<IntPtr>.get_Item | method | 32 | -| System.ReadOnlySpan<KeyValuePair<!0,!1>>.get_Item | method | 32 | -| System.ReadOnlySpan<Object>.get_Item | method | 32 | -| System.ReadOnlySpan<SafeWaitHandle>.get_Item | method | 32 | -| System.ReadOnlySpan<Single>.get_Item | method | 32 | -| System.ReadOnlySpan<String>.get_Item | method | 32 | -| System.ReadOnlySpan<Task>.get_Item | method | 32 | -| System.ReadOnlySpan<UInt16>.get_Item | method | 32 | -| System.ReadOnlySpan<UInt32>.get_Item | method | 32 | -| System.ReadOnlySpan<UInt64>.get_Item | method | 32 | -| System.ReadOnlySpan<WaitHandle>.get_Item | method | 32 | -| System.Runtime.CompilerServices.AsyncTaskMethodBuilder.AsyncStateMachineBox.Context | property | 32 | -| System.Runtime.CompilerServices.AsyncTaskMethodBuilder.AsyncStateMachineBox.get_Context | method | 32 | -| System.Runtime.CompilerServices.AsyncTaskMethodBuilder<!0>.AsyncStateMachineBox<!0>.get_Context | method | 32 | -| System.Runtime.CompilerServices.AsyncTaskMethodBuilder<!0>.AsyncStateMachineBox<IAsyncStateMachine>.get_Context | method | 32 | -| System.Runtime.CompilerServices.CastCache.Element | method | 32 | -| System.Runtime.CompilerServices.CastCache.HashShift | method | 32 | -| System.Runtime.CompilerServices.CastCache.TableData | method | 32 | -| System.Runtime.CompilerServices.CastCache.TableMask | method | 32 | -| System.Runtime.CompilerServices.CastHelpers.LdelemaRef | method | 32 | -| System.Runtime.CompilerServices.CastHelpers.ThrowArrayMismatchException | method | 32 | -| System.Runtime.CompilerServices.CastHelpers.Unbox | method | 32 | -| System.Runtime.CompilerServices.CastHelpers.Unbox_Helper | method | 32 | -| System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder.StateMachineBox.PerCoreCacheSlot | property | 32 | -| System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder.StateMachineBox.get_PerCoreCacheSlot | method | 32 | -| System.Runtime.CompilerServices.RuntimeHelpers.GetMultiDimensionalArrayBounds | method | 32 | -| System.Runtime.CompilerServices.RuntimeHelpers.GetRawData | method | 32 | -| System.Runtime.CompilerServices.Unsafe.Add | method | 32 | -| System.Runtime.CompilerServices.Unsafe.AddByteOffset | method | 32 | -| System.Runtime.CompilerServices.Unsafe.As | method | 32 | -| System.Runtime.CompilerServices.Unsafe.AsRef | method | 32 | -| System.Runtime.CompilerServices.Unsafe.NullRef | method | 32 | -| System.Runtime.CompilerServices.Unsafe.Subtract | method | 32 | -| System.Runtime.CompilerServices.Unsafe.SubtractByteOffset | method | 32 | -| System.Runtime.CompilerServices.Unsafe.Unbox | method | 32 | -| System.Runtime.InteropServices.CollectionsMarshal.GetValueRefOrAddDefault | method | 32 | -| System.Runtime.InteropServices.CollectionsMarshal.GetValueRefOrNullRef | method | 32 | -| System.Runtime.InteropServices.Marshalling.ArrayMarshaller.ManagedToUnmanagedIn.GetPinnableReference | method | 32 | -| System.Runtime.InteropServices.Marshalling.ArrayMarshaller<!0,!1>.ManagedToUnmanagedIn.GetPinnableReference | method | 32 | -| System.Runtime.InteropServices.Marshalling.ArrayMarshaller<Byte,Byte>.ManagedToUnmanagedIn.GetPinnableReference | method | 32 | -| System.Runtime.InteropServices.Marshalling.ArrayMarshaller<CalendarId,CalendarId>.ManagedToUnmanagedIn.GetPinnableReference | method | 32 | -| System.Runtime.InteropServices.Marshalling.ArrayMarshaller<Char,Char>.ManagedToUnmanagedIn.GetPinnableReference | method | 32 | -| System.Runtime.InteropServices.Marshalling.ArrayMarshaller<ExceptionHandler,ExceptionHandler>.ManagedToUnmanagedIn.GetPinnableReference | method | 32 | -| System.Runtime.InteropServices.Marshalling.ArrayMarshaller<Int32,Int32>.ManagedToUnmanagedIn.GetPinnableReference | method | 32 | -| System.Runtime.InteropServices.Marshalling.PointerArrayMarshaller.ManagedToUnmanagedIn.GetPinnableReference | method | 32 | -| System.Runtime.InteropServices.Marshalling.PointerArrayMarshaller<!0,!1>.ManagedToUnmanagedIn.GetPinnableReference | method | 32 | -| System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller.ManagedToUnmanagedIn.GetPinnableReference | method | 32 | -| System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller<!0,!1>.ManagedToUnmanagedIn.GetPinnableReference | method | 32 | -| System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller<Byte,Byte>.ManagedToUnmanagedIn.GetPinnableReference | method | 32 | -| System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller<String,IntPtr>.ManagedToUnmanagedIn.GetPinnableReference | method | 32 | -| System.Runtime.InteropServices.Marshalling.SpanMarshaller.ManagedToUnmanagedIn.GetPinnableReference | method | 32 | -| System.Runtime.InteropServices.Marshalling.SpanMarshaller<!0,!1>.ManagedToUnmanagedIn.GetPinnableReference | method | 32 | -| System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.GetPinnableReference | method | 32 | -| System.Runtime.InteropServices.MemoryMarshal.AsRef | method | 32 | -| System.Runtime.InteropServices.MemoryMarshal.GetArrayDataReference | method | 32 | -| System.Runtime.InteropServices.MemoryMarshal.GetNonNullPinnableReference | method | 32 | -| System.Runtime.InteropServices.MemoryMarshal.GetReference | method | 32 | -| System.Span.Enumerator.Current | property | 32 | -| System.Span.Enumerator.get_Current | method | 32 | -| System.Span.GetPinnableReference | method | 32 | -| System.Span.Item | property | 32 | -| System.Span.get_Item | method | 32 | -| System.Span<!0>.get_Item | method | 32 | -| System.Span<!1>.get_Item | method | 32 | -| System.Span<Boolean>.get_Item | method | 32 | -| System.Span<Byte>.GetPinnableReference | method | 32 | -| System.Span<Byte>.get_Item | method | 32 | -| System.Span<Char>.GetPinnableReference | method | 32 | -| System.Span<Char>.get_Item | method | 32 | -| System.Span<EventPipeProviderConfigurationNative>.GetPinnableReference | method | 32 | -| System.Span<EventPipeProviderConfigurationNative>.get_Item | method | 32 | -| System.Span<IOVector>.get_Item | method | 32 | -| System.Span<Int32>.get_Item | method | 32 | -| System.Span<Int128>.get_Item | method | 32 | -| System.Span<IntPtr>.get_Item | method | 32 | -| System.Span<Object>.get_Item | method | 32 | -| System.Span<Range>.get_Item | method | 32 | -| System.Span<SafeWaitHandle>.get_Item | method | 32 | -| System.Span<UInt16>.get_Item | method | 32 | -| System.Span<UInt32>.GetPinnableReference | method | 32 | -| System.Span<UInt32>.get_Item | method | 32 | -| System.String.GetPinnableReference | method | 32 | -| System.String.GetRawStringData | method | 32 | -| System.String.GetRawStringDataAsUInt16 | method | 32 | -| System.Text.ValueStringBuilder.GetPinnableReference | method | 32 | -| System.Text.ValueStringBuilder.Item | property | 32 | -| System.Text.ValueStringBuilder.get_Item | method | 32 | -| System.Threading.Overlapped.GCHandleCountRef | method | 32 | -| System.Threading.Overlapped.GCHandleRef | method | 32 | -| Value | other | 32 | -| _arg0 | other | 32 | -| _reference | other | 32 | -| _value | other | 32 | diff --git a/csharp/ql/test/library-tests/cil/typeAnnotations/typeAnnotations.ql b/csharp/ql/test/library-tests/cil/typeAnnotations/typeAnnotations.ql deleted file mode 100644 index d5f2ee7f7c3..00000000000 --- a/csharp/ql/test/library-tests/cil/typeAnnotations/typeAnnotations.ql +++ /dev/null @@ -1,94 +0,0 @@ -import cil -import semmle.code.csharp.commons.QualifiedName -import semmle.code.cil.Type - -deprecated private string elementType(Element e, string toString) { - exists(string namespace, string type, string name | - toString = getQualifiedName(namespace, type, name) - | - e.(Method).hasFullyQualifiedName(namespace, type, name) and result = "method" - or - e.(Property).hasFullyQualifiedName(namespace, type, name) and result = "property" - ) - or - e = - any(Parameter p | - exists(string qualifier, string name | - p.getDeclaringElement().hasFullyQualifiedName(qualifier, name) - | - toString = "Parameter " + p.getIndex() + " of " + getQualifiedName(qualifier, name) - ) - ) and - result = "parameter" - or - e = - any(LocalVariable v | - exists(string namespace, string type, string name | - v.getImplementation().getMethod().hasFullyQualifiedName(namespace, type, name) - | - toString = - "Local variable " + v.getIndex() + " of method " + getQualifiedName(namespace, type, name) - ) - ) and - result = "local" - or - exists(string qualifier, string name | - e.(FunctionPointerType).hasFullyQualifiedName(qualifier, name) - | - toString = getQualifiedName(qualifier, name) - ) and - result = "fnptr" - or - not e instanceof Method and - not e instanceof Property and - not e instanceof Parameter and - not e instanceof LocalVariable and - not e instanceof FunctionPointerType and - result = "other" and - toString = e.toString() -} - -deprecated private predicate exclude(string s) { - s in [ - "Parameter 0 of Interop.libobjc.NSOperatingSystemVersion_objc_msgSend_stret", - "Parameter 1 of Interop.procfs.TryParseStatusFile", - "Parameter 1 of Interop.procfs.TryReadFile", - "Parameter 1 of Interop.procfs.TryReadStatusFile", - "Parameter 1 of System.CLRConfig.GetBoolValue", - "Parameter 1 of System.CLRConfig.GetConfigBoolValue", - "Parameter 1 of System.Runtime.InteropServices.ObjectiveC.ObjectiveCMarshal.CreateReferenceTrackingHandleInternal", - "Parameter 2 of System.Runtime.InteropServices.ObjectiveC.ObjectiveCMarshal.CreateReferenceTrackingHandleInternal", - "Parameter 2 of Interop.OSReleaseFile.<GetPrettyName>g__TryGetFieldValue|1_0", - "Parameter 2 of System.Runtime.InteropServices.ObjectiveC.ObjectiveCMarshal.InvokeUnhandledExceptionPropagation", - "Parameter 3 of System.IO.FileSystem.<TryCloneFile>g__TryCloneFile|5_0", - "Parameter 3 of System.IO.FileSystem.TryCloneFile", - "Parameter 6 of Microsoft.Win32.SafeHandles.SafeFileHandle.OpenNoFollowSymlink", - "Local variable 1 of method Interop.libobjc.NSOperatingSystemVersion_objc_msgSend_stret", - "Local variable 1 of method System.Diagnostics.Tracing.XplatEventLogger.LogEventSource", - "Local variable 2 of method System.Runtime.InteropServices.ObjectiveC.ObjectiveCMarshal.CreateReferenceTrackingHandleInternal", - "Local variable 3 of method System.Diagnostics.Tracing.XplatEventLogger.LogEventSource", - "Local variable 4 of method System.CLRConfig.GetConfigBoolValue", - "Local variable 4 of method System.Runtime.InteropServices.ObjectiveC.ObjectiveCMarshal.CreateReferenceTrackingHandleInternal", - "Local variable 5 of method Interop.OSReleaseFile.<GetPrettyName>g__TryGetFieldValue|1_0", - "Local variable 5 of method System.Diagnostics.Tracing.XplatEventLogger.LogEventSource", - "Local variable 13 of method Interop.procfs.TryParseStatusFile", - "Parameter 0 of System.Diagnostics.Tracing.XplatEventLogger.AppendByteArrayAsHexString", - "Parameter 1 of System.Diagnostics.Tracing.XplatEventLogger.MinimalJsonserializer" - ] -} - -deprecated query predicate typeAnnotation(string toString, string type, int i) { - exists(Element e | - cil_type_annotation(e, i) and - type = elementType(e, toString) and - not exclude(toString) and - ( - not e instanceof Parameter - or - not exists(Type t | - t = e.(Parameter).getDeclaringElement().(Method).getDeclaringType() and - t.hasFullyQualifiedName("System", "Environment") - ) // There are OS specific methods in this class - ) - ) -} diff --git a/csharp/ql/test/library-tests/controlflow/guards/options b/csharp/ql/test/library-tests/controlflow/guards/options index 85a6cc13696..1548e4eedaf 100644 --- a/csharp/ql/test/library-tests/controlflow/guards/options +++ b/csharp/ql/test/library-tests/controlflow/guards/options @@ -1,3 +1,2 @@ -semmle-extractor-options: --cil semmle-extractor-options: ${testdir}/../../../resources/stubs/Microsoft.VisualStudio.TestTools.UnitTesting.cs semmle-extractor-options: /r:System.Collections.Specialized.dll /r:System.Collections.dll /r:System.Linq.dll diff --git a/csharp/ql/test/library-tests/csharp11/PrintAst.expected b/csharp/ql/test/library-tests/csharp11/PrintAst.expected index 47f5e135395..4716334aca0 100644 --- a/csharp/ql/test/library-tests/csharp11/PrintAst.expected +++ b/csharp/ql/test/library-tests/csharp11/PrintAst.expected @@ -1448,12 +1448,3 @@ StructDefault.cs: # 11| 0: [AssignExpr] ... = ... # 11| 0: [FieldAccess] access to field Y # 11| 1: [IntLiteral] 1 -cil/class1.cs: -# 4| [Class] Class1 -# 6| 5: [Method] Main -# 6| -1: [TypeMention] Void -#-----| 2: (Parameters) -# 6| 0: [Parameter] args -# 6| -1: [TypeMention] String[] -# 6| 1: [TypeMention] string -# 6| 4: [BlockStmt] {...} diff --git a/csharp/ql/test/library-tests/csharp11/cil/Assembly.cs_ b/csharp/ql/test/library-tests/csharp11/cil/Assembly.cs_ deleted file mode 100644 index 3511e152a5e..00000000000 --- a/csharp/ql/test/library-tests/csharp11/cil/Assembly.cs_ +++ /dev/null @@ -1,16 +0,0 @@ -using System; - -namespace Assembly -{ - public class MyAssemblyGeneric1Attribute<T> : Attribute { } - public class MyAssemblyGeneric2Attribute<T, U> : Attribute { } - - public class TestAssemblyGenericAttribute - { - [MyAssemblyGeneric1Attribute<object>()] - public void M1() { } - - [MyAssemblyGeneric2<int, string>()] - public void M2() { } - } -} diff --git a/csharp/ql/test/library-tests/csharp11/cil/Struct.cs_ b/csharp/ql/test/library-tests/csharp11/cil/Struct.cs_ deleted file mode 100644 index 1ea483764f7..00000000000 --- a/csharp/ql/test/library-tests/csharp11/cil/Struct.cs_ +++ /dev/null @@ -1,14 +0,0 @@ -namespace structassembly; - -public class MyEmptyClass { } - -public ref struct RefStruct -{ - public int MyInt; - public ref byte MyByte; - public ref object MyObject; - internal ref MyEmptyClass MyEmptyClass; - public ref readonly byte MyReadonlyByte; - public readonly ref object MyReadonlyObject; - public readonly ref readonly string MyReadonlyString; -} \ No newline at end of file diff --git a/csharp/ql/test/library-tests/csharp11/cil/assembly.dll b/csharp/ql/test/library-tests/csharp11/cil/assembly.dll deleted file mode 100644 index 790a657a8d8..00000000000 Binary files a/csharp/ql/test/library-tests/csharp11/cil/assembly.dll and /dev/null differ diff --git a/csharp/ql/test/library-tests/csharp11/cil/class1.cs b/csharp/ql/test/library-tests/csharp11/cil/class1.cs deleted file mode 100644 index 141d836fd9e..00000000000 --- a/csharp/ql/test/library-tests/csharp11/cil/class1.cs +++ /dev/null @@ -1,7 +0,0 @@ -using System; -using Assembly; - -public class Class1 -{ - public static void Main(string[] args) { } -} \ No newline at end of file diff --git a/csharp/ql/test/library-tests/csharp11/cil/genericAttribute.expected b/csharp/ql/test/library-tests/csharp11/cil/genericAttribute.expected deleted file mode 100644 index 2ff7cf5d931..00000000000 --- a/csharp/ql/test/library-tests/csharp11/cil/genericAttribute.expected +++ /dev/null @@ -1,2 +0,0 @@ -| assembly.dll:0:0:0:0 | [MyAssemblyGeneric1Attribute<Object>(...)] | MyAssemblyGeneric1Attribute<Object> | 1 | (Object) | -| assembly.dll:0:0:0:0 | [MyAssemblyGeneric2Attribute<Int32,String>(...)] | MyAssemblyGeneric2Attribute<Int32,String> | 2 | (Int32,String) | diff --git a/csharp/ql/test/library-tests/csharp11/cil/genericAttribute.ql b/csharp/ql/test/library-tests/csharp11/cil/genericAttribute.ql deleted file mode 100644 index d386bb8ce0e..00000000000 --- a/csharp/ql/test/library-tests/csharp11/cil/genericAttribute.ql +++ /dev/null @@ -1,14 +0,0 @@ -import semmle.code.cil.CIL - -deprecated private string getTypeArguments(GenericAttribute a) { - result = "(" + concat(Type t | t = a.getATypeArgument() | t.getName(), ",") + ")" -} - -deprecated query predicate genericAttribute( - GenericAttribute a, string name, int numArgs, string args -) { - a.getFile().getStem() = "assembly" and - name = a.getType().getName() and - numArgs = a.getNumberOfTypeArguments() and - args = getTypeArguments(a) -} diff --git a/csharp/ql/test/library-tests/csharp11/cil/options b/csharp/ql/test/library-tests/csharp11/cil/options deleted file mode 100644 index 8511aa162b8..00000000000 --- a/csharp/ql/test/library-tests/csharp11/cil/options +++ /dev/null @@ -1 +0,0 @@ -semmle-extractor-options: --cil diff --git a/csharp/ql/test/library-tests/csharp11/cil/refField.expected b/csharp/ql/test/library-tests/csharp11/cil/refField.expected deleted file mode 100644 index fbd3f405454..00000000000 --- a/csharp/ql/test/library-tests/csharp11/cil/refField.expected +++ /dev/null @@ -1,6 +0,0 @@ -| file://:0:0:0:0 | MyByte | Byte | -| file://:0:0:0:0 | MyEmptyClass | MyEmptyClass | -| file://:0:0:0:0 | MyObject | Object | -| file://:0:0:0:0 | MyReadonlyByte | Byte | -| file://:0:0:0:0 | MyReadonlyObject | Object | -| file://:0:0:0:0 | MyReadonlyString | String | diff --git a/csharp/ql/test/library-tests/csharp11/cil/refField.ql b/csharp/ql/test/library-tests/csharp11/cil/refField.ql deleted file mode 100644 index 3474beb4913..00000000000 --- a/csharp/ql/test/library-tests/csharp11/cil/refField.ql +++ /dev/null @@ -1,5 +0,0 @@ -import cil - -deprecated query predicate cilfields(CIL::Field f, string type) { - f.isRef() and type = f.getType().toString() and f.getDeclaringType().getName() = "RefStruct" -} diff --git a/csharp/ql/test/library-tests/csharp11/cil/structassembly.dll b/csharp/ql/test/library-tests/csharp11/cil/structassembly.dll deleted file mode 100644 index 364ae8b1442..00000000000 Binary files a/csharp/ql/test/library-tests/csharp11/cil/structassembly.dll and /dev/null differ diff --git a/csharp/ql/test/library-tests/dataflow/external-models/ExternalFlow.expected b/csharp/ql/test/library-tests/dataflow/external-models/ExternalFlow.expected index c6a600f068a..42bc2666fc1 100644 --- a/csharp/ql/test/library-tests/dataflow/external-models/ExternalFlow.expected +++ b/csharp/ql/test/library-tests/dataflow/external-models/ExternalFlow.expected @@ -52,6 +52,8 @@ edges | ExternalFlow.cs:84:17:84:21 | access to local variable objs2 : T[] [element] : Object | ExternalFlow.cs:85:18:85:22 | access to local variable objs2 : T[] [element] : Object | provenance | | | ExternalFlow.cs:84:25:84:41 | call to method Map<Object,Object> : T[] [element] : Object | ExternalFlow.cs:84:17:84:21 | access to local variable objs2 : T[] [element] : Object | provenance | | | ExternalFlow.cs:84:29:84:32 | access to local variable objs : null [element] : Object | ExternalFlow.cs:84:25:84:41 | call to method Map<Object,Object> : T[] [element] : Object | provenance | | +| ExternalFlow.cs:84:29:84:32 | access to local variable objs : null [element] : Object | ExternalFlow.cs:84:35:84:35 | o : Object | provenance | | +| ExternalFlow.cs:84:35:84:35 | o : Object | ExternalFlow.cs:84:40:84:40 | access to parameter o : Object | provenance | | | ExternalFlow.cs:85:18:85:22 | access to local variable objs2 : T[] [element] : Object | ExternalFlow.cs:85:18:85:25 | access to array element | provenance | | | ExternalFlow.cs:90:17:90:17 | access to local variable s : String | ExternalFlow.cs:91:19:91:19 | access to local variable s : String | provenance | | | ExternalFlow.cs:90:21:90:34 | object creation of type String : String | ExternalFlow.cs:90:17:90:17 | access to local variable s : String | provenance | | @@ -154,6 +156,8 @@ nodes | ExternalFlow.cs:84:17:84:21 | access to local variable objs2 : T[] [element] : Object | semmle.label | access to local variable objs2 : T[] [element] : Object | | ExternalFlow.cs:84:25:84:41 | call to method Map<Object,Object> : T[] [element] : Object | semmle.label | call to method Map<Object,Object> : T[] [element] : Object | | ExternalFlow.cs:84:29:84:32 | access to local variable objs : null [element] : Object | semmle.label | access to local variable objs : null [element] : Object | +| ExternalFlow.cs:84:35:84:35 | o : Object | semmle.label | o : Object | +| ExternalFlow.cs:84:40:84:40 | access to parameter o : Object | semmle.label | access to parameter o : Object | | ExternalFlow.cs:85:18:85:22 | access to local variable objs2 : T[] [element] : Object | semmle.label | access to local variable objs2 : T[] [element] : Object | | ExternalFlow.cs:85:18:85:25 | access to array element | semmle.label | access to array element | | ExternalFlow.cs:90:17:90:17 | access to local variable s : String | semmle.label | access to local variable s : String | @@ -201,6 +205,7 @@ nodes | ExternalFlow.cs:263:30:263:30 | access to parameter a : MyInlineArray [element] : Object | semmle.label | access to parameter a : MyInlineArray [element] : Object | | ExternalFlow.cs:264:18:264:18 | access to local variable b | semmle.label | access to local variable b | subpaths +| ExternalFlow.cs:84:29:84:32 | access to local variable objs : null [element] : Object | ExternalFlow.cs:84:35:84:35 | o : Object | ExternalFlow.cs:84:40:84:40 | access to parameter o : Object | ExternalFlow.cs:84:25:84:41 | call to method Map<Object,Object> : T[] [element] : Object | #select | ExternalFlow.cs:10:18:10:33 | call to method StepArgRes | ExternalFlow.cs:9:27:9:38 | object creation of type Object : Object | ExternalFlow.cs:10:18:10:33 | call to method StepArgRes | $@ | ExternalFlow.cs:9:27:9:38 | object creation of type Object : Object | object creation of type Object : Object | | ExternalFlow.cs:18:18:18:24 | access to local variable argOut1 | ExternalFlow.cs:15:29:15:40 | object creation of type Object : Object | ExternalFlow.cs:18:18:18:24 | access to local variable argOut1 | $@ | ExternalFlow.cs:15:29:15:40 | object creation of type Object : Object | object creation of type Object : Object | diff --git a/csharp/ql/test/library-tests/dataflow/flowsources/local/registry/Registry.expected b/csharp/ql/test/library-tests/dataflow/flowsources/local/registry/Registry.expected new file mode 100644 index 00000000000..9a5b8ef2c0e --- /dev/null +++ b/csharp/ql/test/library-tests/dataflow/flowsources/local/registry/Registry.expected @@ -0,0 +1,8 @@ +| UseRegistry.cs:10:36:10:58 | call to method GetValue | windows-registry | +| UseRegistry.cs:16:36:16:58 | call to method GetValue | windows-registry | +| UseRegistry.cs:22:36:22:58 | call to method GetValue | windows-registry | +| UseRegistry.cs:28:36:28:58 | call to method GetValue | windows-registry | +| UseRegistry.cs:34:36:34:58 | call to method GetValue | windows-registry | +| UseRegistry.cs:40:36:40:58 | call to method GetValue | windows-registry | +| UseRegistry.cs:46:35:46:53 | call to method GetValueNames | windows-registry | +| UseRegistry.cs:52:36:52:55 | call to method GetSubKeyNames | windows-registry | diff --git a/csharp/ql/test/library-tests/dataflow/flowsources/local/registry/Registry.ext.yml b/csharp/ql/test/library-tests/dataflow/flowsources/local/registry/Registry.ext.yml new file mode 100644 index 00000000000..71007f3394c --- /dev/null +++ b/csharp/ql/test/library-tests/dataflow/flowsources/local/registry/Registry.ext.yml @@ -0,0 +1,7 @@ +extensions: + + - addsTo: + pack: codeql/threat-models + extensible: threatModelConfiguration + data: + - ["windows-registry", true, 0] \ No newline at end of file diff --git a/csharp/ql/test/library-tests/dataflow/flowsources/local/registry/Registry.ql b/csharp/ql/test/library-tests/dataflow/flowsources/local/registry/Registry.ql new file mode 100644 index 00000000000..9e2934e9e19 --- /dev/null +++ b/csharp/ql/test/library-tests/dataflow/flowsources/local/registry/Registry.ql @@ -0,0 +1,6 @@ +import csharp +import semmle.code.csharp.security.dataflow.flowsources.FlowSources + +from DataFlow::Node source +where source instanceof ThreatModelFlowSource +select source, source.(SourceNode).getThreatModel() diff --git a/csharp/ql/test/library-tests/dataflow/flowsources/local/registry/UseRegistry.cs b/csharp/ql/test/library-tests/dataflow/flowsources/local/registry/UseRegistry.cs new file mode 100644 index 00000000000..e5698127be4 --- /dev/null +++ b/csharp/ql/test/library-tests/dataflow/flowsources/local/registry/UseRegistry.cs @@ -0,0 +1,55 @@ +using Microsoft.Win32; + +namespace Test +{ + class UseRegistry + { + public static void GetRegistryValue(string keyName, string valueName) + { + RegistryKey key = Registry.LocalMachine.OpenSubKey(keyName); + string value = (string)key.GetValue(valueName); + } + + public static void GetRegistryValue2(string keyName, string valueName) + { + RegistryKey key = Registry.CurrentUser.OpenSubKey(keyName); + string value = (string)key.GetValue(valueName); + } + + public static void GetRegistryValue3(string keyName, string valueName) + { + RegistryKey key = Registry.ClassesRoot.OpenSubKey(keyName); + string value = (string)key.GetValue(valueName); + } + + public static void GetRegistryValue4(string keyName, string valueName) + { + RegistryKey key = Registry.Users.OpenSubKey(keyName); + string value = (string)key.GetValue(valueName); + } + + public static void GetRegistryValue5(string keyName, string valueName) + { + RegistryKey key = Registry.CurrentConfig.OpenSubKey(keyName); + string value = (string)key.GetValue(valueName); + } + + public static void GetRegistryValue6(string keyName, string valueName) + { + RegistryKey key = Registry.PerformanceData.OpenSubKey(keyName); + string value = (string)key.GetValue(valueName); + } + + public static void GetRegistryValueNames(string keyName, string valueName) + { + RegistryKey key = Registry.LocalMachine.OpenSubKey(keyName); + string[] valueNames = key.GetValueNames(); + } + + public static void GetRegistrySubKeyNames(string keyName, string valueName) + { + RegistryKey key = Registry.LocalMachine.OpenSubKey(keyName); + string[] subKeyNames = key.GetSubKeyNames(); + } + } +} \ No newline at end of file diff --git a/csharp/ql/test/library-tests/dataflow/flowsources/local/registry/options b/csharp/ql/test/library-tests/dataflow/flowsources/local/registry/options new file mode 100644 index 00000000000..f28b8af0ae4 --- /dev/null +++ b/csharp/ql/test/library-tests/dataflow/flowsources/local/registry/options @@ -0,0 +1,3 @@ +semmle-extractor-options: /nostdlib /noconfig +semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj +semmle-extractor-options: ${testdir}/../../../../../resources/stubs/Microsoft.VisualStudio.TestTools.UnitTesting.cs diff --git a/csharp/ql/test/library-tests/dataflow/global/DataFlowPath.expected b/csharp/ql/test/library-tests/dataflow/global/DataFlowPath.expected index c994ff441b4..67c1d0553b6 100644 --- a/csharp/ql/test/library-tests/dataflow/global/DataFlowPath.expected +++ b/csharp/ql/test/library-tests/dataflow/global/DataFlowPath.expected @@ -1,27 +1,17 @@ edges -| Capture.cs:7:20:7:26 | tainted : String | Capture.cs:9:9:13:9 | CaptureIn1(...) : CaptureIn1 [captured tainted] : String | provenance | | | Capture.cs:7:20:7:26 | tainted : String | Capture.cs:14:9:14:18 | access to local function CaptureIn1 : CaptureIn1 [captured tainted] : String | provenance | | -| Capture.cs:7:20:7:26 | tainted : String | Capture.cs:16:9:24:9 | CaptureIn2(...) : CaptureIn2 [captured tainted] : String | provenance | | | Capture.cs:7:20:7:26 | tainted : String | Capture.cs:25:9:25:18 | access to local function CaptureIn2 : CaptureIn2 [captured tainted] : String | provenance | | -| Capture.cs:7:20:7:26 | tainted : String | Capture.cs:27:43:32:9 | (...) => ... : (...) => ... [captured tainted] : String | provenance | | | Capture.cs:7:20:7:26 | tainted : String | Capture.cs:33:30:33:39 | access to local variable captureIn3 : Func<String,String> [captured tainted] : String | provenance | | | Capture.cs:7:20:7:26 | tainted : String | Capture.cs:61:36:61:42 | access to parameter tainted : String | provenance | | -| Capture.cs:9:9:13:9 | CaptureIn1(...) : CaptureIn1 [captured tainted] : String | Capture.cs:14:9:14:18 | access to local function CaptureIn1 : CaptureIn1 [captured tainted] : String | provenance | | | Capture.cs:11:17:11:22 | access to local variable sink27 : String | Capture.cs:12:19:12:24 | access to local variable sink27 | provenance | | | Capture.cs:11:26:11:32 | access to parameter tainted : String | Capture.cs:11:17:11:22 | access to local variable sink27 : String | provenance | | | Capture.cs:14:9:14:18 | access to local function CaptureIn1 : CaptureIn1 [captured tainted] : String | Capture.cs:11:26:11:32 | access to parameter tainted : String | provenance | | -| Capture.cs:16:9:24:9 | CaptureIn2(...) : CaptureIn2 [captured tainted] : String | Capture.cs:25:9:25:18 | access to local function CaptureIn2 : CaptureIn2 [captured tainted] : String | provenance | | -| Capture.cs:18:13:22:13 | M(...) : M [captured tainted] : String | Capture.cs:23:13:23:13 | access to local function M : M [captured tainted] : String | provenance | | | Capture.cs:20:21:20:26 | access to local variable sink28 : String | Capture.cs:21:23:21:28 | access to local variable sink28 | provenance | | | Capture.cs:20:30:20:36 | access to parameter tainted : String | Capture.cs:20:21:20:26 | access to local variable sink28 : String | provenance | | | Capture.cs:23:13:23:13 | access to local function M : M [captured tainted] : String | Capture.cs:20:30:20:36 | access to parameter tainted : String | provenance | | -| Capture.cs:25:9:25:18 | access to local function CaptureIn2 : CaptureIn2 [captured tainted] : String | Capture.cs:18:13:22:13 | M(...) : M [captured tainted] : String | provenance | | | Capture.cs:25:9:25:18 | access to local function CaptureIn2 : CaptureIn2 [captured tainted] : String | Capture.cs:23:13:23:13 | access to local function M : M [captured tainted] : String | provenance | | -| Capture.cs:27:30:27:39 | access to local variable captureIn3 : (...) => ... [captured tainted] : String | Capture.cs:33:30:33:39 | access to local variable captureIn3 : (...) => ... [captured tainted] : String | provenance | | -| Capture.cs:27:43:32:9 | (...) => ... : (...) => ... [captured tainted] : String | Capture.cs:27:30:27:39 | access to local variable captureIn3 : (...) => ... [captured tainted] : String | provenance | | | Capture.cs:29:17:29:22 | access to local variable sink29 : String | Capture.cs:30:19:30:24 | access to local variable sink29 | provenance | | | Capture.cs:29:26:29:32 | access to parameter tainted : String | Capture.cs:29:17:29:22 | access to local variable sink29 : String | provenance | | -| Capture.cs:33:30:33:39 | access to local variable captureIn3 : (...) => ... [captured tainted] : String | Capture.cs:29:26:29:32 | access to parameter tainted : String | provenance | | | Capture.cs:33:30:33:39 | access to local variable captureIn3 : Func<String,String> [captured tainted] : String | Capture.cs:29:26:29:32 | access to parameter tainted : String | provenance | | | Capture.cs:50:50:50:55 | sink39 : String | Capture.cs:52:23:59:13 | (...) => ... : (...) => ... [captured sink39] : String | provenance | | | Capture.cs:52:23:59:13 | (...) => ... : (...) => ... [captured sink39] : String | Capture.cs:350:34:350:34 | a : (...) => ... [captured sink39] : String | provenance | | @@ -37,48 +27,39 @@ edges | Capture.cs:114:23:117:13 | [post] (...) => ... : (...) => ... [captured sink40] : String | Capture.cs:123:9:123:33 | [post] access to local function CaptureOutMultipleLambdas : CaptureOutMultipleLambdas [captured sink40] : String | provenance | | | Capture.cs:116:26:116:39 | "taint source" : String | Capture.cs:352:9:352:9 | [post] access to parameter a : (...) => ... [captured sink40] : String | provenance | | | Capture.cs:123:9:123:33 | [post] access to local function CaptureOutMultipleLambdas : CaptureOutMultipleLambdas [captured sink40] : String | Capture.cs:124:15:124:20 | access to local variable sink40 | provenance | | -| Capture.cs:127:25:127:31 | tainted : String | Capture.cs:130:9:133:9 | CaptureThrough1(...) : CaptureThrough1 [captured tainted] : String | provenance | | | Capture.cs:127:25:127:31 | tainted : String | Capture.cs:134:9:134:23 | access to local function CaptureThrough1 : CaptureThrough1 [captured tainted] : String | provenance | | -| Capture.cs:127:25:127:31 | tainted : String | Capture.cs:138:9:145:9 | CaptureThrough2(...) : CaptureThrough2 [captured tainted] : String | provenance | | | Capture.cs:127:25:127:31 | tainted : String | Capture.cs:146:9:146:23 | access to local function CaptureThrough2 : CaptureThrough2 [captured tainted] : String | provenance | | -| Capture.cs:127:25:127:31 | tainted : String | Capture.cs:150:48:154:9 | (...) => ... : (...) => ... [captured tainted] : String | provenance | | | Capture.cs:127:25:127:31 | tainted : String | Capture.cs:155:30:155:44 | access to local variable captureThrough3 : Func<String,String> [captured tainted] : String | provenance | | -| Capture.cs:127:25:127:31 | tainted : String | Capture.cs:158:9:161:9 | CaptureThrough4(...) : CaptureThrough4 [captured tainted] : String | provenance | | | Capture.cs:127:25:127:31 | tainted : String | Capture.cs:162:22:162:36 | access to local function CaptureThrough4 : CaptureThrough4 [captured tainted] : String | provenance | | | Capture.cs:127:25:127:31 | tainted : String | Capture.cs:170:25:170:31 | access to parameter tainted : String | provenance | | | Capture.cs:127:25:127:31 | tainted : String | Capture.cs:196:25:196:31 | access to parameter tainted : String | provenance | | -| Capture.cs:130:9:133:9 | CaptureThrough1(...) : CaptureThrough1 [captured tainted] : String | Capture.cs:134:9:134:23 | access to local function CaptureThrough1 : CaptureThrough1 [captured tainted] : String | provenance | | | Capture.cs:134:9:134:23 | [post] access to local function CaptureThrough1 : CaptureThrough1 [captured sink33] : String | Capture.cs:135:15:135:20 | access to local variable sink33 | provenance | | +| Capture.cs:134:9:134:23 | access to local function CaptureThrough1 : CaptureThrough1 [captured tainted] : String | Capture.cs:132:22:132:28 | access to parameter tainted : String | provenance | | | Capture.cs:134:9:134:23 | access to local function CaptureThrough1 : CaptureThrough1 [captured tainted] : String | Capture.cs:134:9:134:23 | [post] access to local function CaptureThrough1 : CaptureThrough1 [captured sink33] : String | provenance | | -| Capture.cs:138:9:145:9 | CaptureThrough2(...) : CaptureThrough2 [captured tainted] : String | Capture.cs:146:9:146:23 | access to local function CaptureThrough2 : CaptureThrough2 [captured tainted] : String | provenance | | +| Capture.cs:144:13:144:13 | access to local function M : M [captured tainted] : String | Capture.cs:142:26:142:32 | access to parameter tainted : String | provenance | | +| Capture.cs:144:13:144:13 | access to local function M : M [captured tainted] : String | Capture.cs:144:13:144:13 | [post] access to local function M : M [captured sink34] : String | provenance | | | Capture.cs:146:9:146:23 | [post] access to local function CaptureThrough2 : CaptureThrough2 [captured sink34] : String | Capture.cs:147:15:147:20 | access to local variable sink34 | provenance | | +| Capture.cs:146:9:146:23 | access to local function CaptureThrough2 : CaptureThrough2 [captured tainted] : String | Capture.cs:144:13:144:13 | access to local function M : M [captured tainted] : String | provenance | | | Capture.cs:146:9:146:23 | access to local function CaptureThrough2 : CaptureThrough2 [captured tainted] : String | Capture.cs:146:9:146:23 | [post] access to local function CaptureThrough2 : CaptureThrough2 [captured sink34] : String | provenance | | -| Capture.cs:150:30:150:44 | access to local variable captureThrough3 : (...) => ... [captured tainted] : String | Capture.cs:155:30:155:44 | access to local variable captureThrough3 : (...) => ... [captured tainted] : String | provenance | | -| Capture.cs:150:48:154:9 | (...) => ... : (...) => ... [captured tainted] : String | Capture.cs:150:30:150:44 | access to local variable captureThrough3 : (...) => ... [captured tainted] : String | provenance | | | Capture.cs:155:30:155:44 | [post] access to local variable captureThrough3 : (...) => ... [captured sink35] : String | Capture.cs:156:15:156:20 | access to local variable sink35 | provenance | | -| Capture.cs:155:30:155:44 | access to local variable captureThrough3 : (...) => ... [captured tainted] : String | Capture.cs:155:30:155:44 | [post] access to local variable captureThrough3 : (...) => ... [captured sink35] : String | provenance | | +| Capture.cs:155:30:155:44 | access to local variable captureThrough3 : Func<String,String> [captured tainted] : String | Capture.cs:152:22:152:28 | access to parameter tainted : String | provenance | | | Capture.cs:155:30:155:44 | access to local variable captureThrough3 : Func<String,String> [captured tainted] : String | Capture.cs:155:30:155:44 | [post] access to local variable captureThrough3 : (...) => ... [captured sink35] : String | provenance | | -| Capture.cs:158:9:161:9 | CaptureThrough4(...) : CaptureThrough4 [captured tainted] : String | Capture.cs:162:22:162:36 | access to local function CaptureThrough4 : CaptureThrough4 [captured tainted] : String | provenance | | | Capture.cs:162:13:162:18 | access to local variable sink36 : String | Capture.cs:163:15:163:20 | access to local variable sink36 | provenance | | +| Capture.cs:162:22:162:36 | access to local function CaptureThrough4 : CaptureThrough4 [captured tainted] : String | Capture.cs:160:20:160:26 | access to parameter tainted : String | provenance | | | Capture.cs:162:22:162:36 | access to local function CaptureThrough4 : CaptureThrough4 [captured tainted] : String | Capture.cs:162:22:162:38 | call to local function CaptureThrough4 : String | provenance | | | Capture.cs:162:22:162:38 | call to local function CaptureThrough4 : String | Capture.cs:162:13:162:18 | access to local variable sink36 : String | provenance | | | Capture.cs:166:37:166:37 | p : String | Capture.cs:168:22:168:22 | access to parameter p : String | provenance | | | Capture.cs:170:9:170:23 | [post] access to local function CaptureThrough5 : CaptureThrough5 [captured sink37] : String | Capture.cs:171:15:171:20 | access to local variable sink37 | provenance | | | Capture.cs:170:25:170:31 | access to parameter tainted : String | Capture.cs:166:37:166:37 | p : String | provenance | | | Capture.cs:170:25:170:31 | access to parameter tainted : String | Capture.cs:170:9:170:23 | [post] access to local function CaptureThrough5 : CaptureThrough5 [captured sink37] : String | provenance | | -| Capture.cs:190:26:190:26 | s : String | Capture.cs:192:13:192:28 | M(...) : M [captured s] : String | provenance | | | Capture.cs:190:26:190:26 | s : String | Capture.cs:193:20:193:20 | access to local function M : M [captured s] : String | provenance | | -| Capture.cs:192:13:192:28 | M(...) : M [captured s] : String | Capture.cs:193:20:193:20 | access to local function M : M [captured s] : String | provenance | | +| Capture.cs:193:20:193:20 | access to local function M : M [captured s] : String | Capture.cs:192:27:192:27 | access to parameter s : String | provenance | | | Capture.cs:193:20:193:20 | access to local function M : M [captured s] : String | Capture.cs:193:20:193:22 | call to local function M : String | provenance | | | Capture.cs:196:13:196:18 | access to local variable sink38 : String | Capture.cs:197:15:197:20 | access to local variable sink38 | provenance | | | Capture.cs:196:22:196:32 | call to local function Id : String | Capture.cs:196:13:196:18 | access to local variable sink38 : String | provenance | | | Capture.cs:196:25:196:31 | access to parameter tainted : String | Capture.cs:190:26:190:26 | s : String | provenance | | | Capture.cs:196:25:196:31 | access to parameter tainted : String | Capture.cs:196:22:196:32 | call to local function Id : String | provenance | | -| Capture.cs:202:20:202:20 | s : String | Capture.cs:204:20:207:9 | (...) => ... : (...) => ... [captured s] : String | provenance | | | Capture.cs:202:20:202:20 | s : String | Capture.cs:208:9:208:9 | access to local variable a : Action [captured s] : String | provenance | | -| Capture.cs:204:16:204:16 | access to local variable a : (...) => ... [captured s] : String | Capture.cs:208:9:208:9 | access to local variable a : (...) => ... [captured s] : String | provenance | | -| Capture.cs:204:20:207:9 | (...) => ... : (...) => ... [captured s] : String | Capture.cs:204:16:204:16 | access to local variable a : (...) => ... [captured s] : String | provenance | | -| Capture.cs:208:9:208:9 | access to local variable a : (...) => ... [captured s] : String | Capture.cs:206:19:206:19 | access to parameter s | provenance | | | Capture.cs:208:9:208:9 | access to local variable a : Action [captured s] : String | Capture.cs:206:19:206:19 | access to parameter s | provenance | | | Capture.cs:211:21:211:34 | "taint source" : String | Capture.cs:202:20:202:20 | s : String | provenance | | | Capture.cs:213:22:213:22 | s : String | Capture.cs:215:16:218:9 | (...) => ... : (...) => ... [captured s] : String | provenance | | @@ -93,17 +74,13 @@ edges | Capture.cs:229:20:233:9 | (...) => ... : (...) => ... [captured x] : String | Capture.cs:231:19:231:19 | access to local variable x | provenance | | | Capture.cs:229:20:233:9 | [post] (...) => ... : (...) => ... [captured x] : String | Capture.cs:234:15:234:15 | access to local variable x | provenance | | | Capture.cs:232:17:232:30 | "taint source" : String | Capture.cs:229:20:233:9 | [post] (...) => ... : (...) => ... [captured x] : String | provenance | | -| Capture.cs:242:9:242:9 | [post] access to local variable c : Capture [field Field] : String | Capture.cs:244:20:248:9 | (...) => ... : (...) => ... [captured c, field Field] : String | provenance | | | Capture.cs:242:9:242:9 | [post] access to local variable c : Capture [field Field] : String | Capture.cs:249:9:249:9 | access to local variable a : Action [captured c, field Field] : String | provenance | | | Capture.cs:242:9:242:9 | [post] access to local variable c : Capture [field Field] : String | Capture.cs:251:15:251:15 | access to local variable c : Capture [field Field] : String | provenance | | | Capture.cs:242:19:242:32 | "taint source" : String | Capture.cs:242:9:242:9 | [post] access to local variable c : Capture [field Field] : String | provenance | | -| Capture.cs:244:16:244:16 | access to local variable a : (...) => ... [captured c, field Field] : String | Capture.cs:249:9:249:9 | access to local variable a : (...) => ... [captured c, field Field] : String | provenance | | -| Capture.cs:244:20:248:9 | (...) => ... : (...) => ... [captured c, field Field] : String | Capture.cs:244:16:244:16 | access to local variable a : (...) => ... [captured c, field Field] : String | provenance | | | Capture.cs:246:19:246:19 | access to local variable c : Capture [field Field] : String | Capture.cs:246:19:246:25 | access to field Field | provenance | | | Capture.cs:247:13:247:13 | [post] access to local variable c : Capture [field Field] : String | Capture.cs:249:9:249:9 | [post] access to local variable a : (...) => ... [captured c, field Field] : String | provenance | | | Capture.cs:247:23:247:36 | "taint source" : String | Capture.cs:247:13:247:13 | [post] access to local variable c : Capture [field Field] : String | provenance | | | Capture.cs:249:9:249:9 | [post] access to local variable a : (...) => ... [captured c, field Field] : String | Capture.cs:251:15:251:15 | access to local variable c : Capture [field Field] : String | provenance | | -| Capture.cs:249:9:249:9 | access to local variable a : (...) => ... [captured c, field Field] : String | Capture.cs:246:19:246:19 | access to local variable c : Capture [field Field] : String | provenance | | | Capture.cs:249:9:249:9 | access to local variable a : Action [captured c, field Field] : String | Capture.cs:246:19:246:19 | access to local variable c : Capture [field Field] : String | provenance | | | Capture.cs:251:15:251:15 | access to local variable c : Capture [field Field] : String | Capture.cs:251:15:251:21 | access to field Field | provenance | | | Capture.cs:264:13:264:13 | [post] access to local variable c : Capture [field Field] : String | Capture.cs:266:9:266:9 | [post] access to local variable a : (...) => ... [captured c, field Field] : String | provenance | | @@ -112,52 +89,30 @@ edges | Capture.cs:268:15:268:15 | access to local variable c : Capture [field Field] : String | Capture.cs:268:15:268:21 | access to field Field | provenance | | | Capture.cs:273:19:273:19 | x : String | Capture.cs:273:30:273:30 | access to parameter x | provenance | | | Capture.cs:273:34:273:47 | "taint source" : String | Capture.cs:355:45:355:45 | x : String | provenance | | -| Capture.cs:278:17:278:30 | "taint source" : String | Capture.cs:280:25:288:9 | (...) => ... : (...) => ... [captured x] : String | provenance | | | Capture.cs:278:17:278:30 | "taint source" : String | Capture.cs:290:9:290:14 | access to local variable middle : Action [captured x] : String | provenance | | | Capture.cs:278:17:278:30 | "taint source" : String | Capture.cs:292:15:292:15 | access to local variable x | provenance | | -| Capture.cs:280:16:280:21 | access to local variable middle : (...) => ... [captured x] : String | Capture.cs:290:9:290:14 | access to local variable middle : (...) => ... [captured x] : String | provenance | | -| Capture.cs:280:25:288:9 | (...) => ... : (...) => ... [captured x] : String | Capture.cs:280:16:280:21 | access to local variable middle : (...) => ... [captured x] : String | provenance | | -| Capture.cs:282:20:282:24 | access to local variable inner : (...) => ... [captured x] : String | Capture.cs:287:13:287:17 | access to local variable inner : (...) => ... [captured x] : String | provenance | | -| Capture.cs:282:28:286:13 | (...) => ... : (...) => ... [captured x] : String | Capture.cs:282:20:282:24 | access to local variable inner : (...) => ... [captured x] : String | provenance | | | Capture.cs:285:21:285:34 | "taint source" : String | Capture.cs:287:13:287:17 | [post] access to local variable inner : (...) => ... [captured x] : String | provenance | | | Capture.cs:287:13:287:17 | [post] access to local variable inner : (...) => ... [captured x] : String | Capture.cs:290:9:290:14 | [post] access to local variable middle : (...) => ... [captured x] : String | provenance | | -| Capture.cs:287:13:287:17 | access to local variable inner : (...) => ... [captured x] : String | Capture.cs:284:23:284:23 | access to local variable x | provenance | | | Capture.cs:287:13:287:17 | access to local variable inner : Action [captured x] : String | Capture.cs:284:23:284:23 | access to local variable x | provenance | | | Capture.cs:290:9:290:14 | [post] access to local variable middle : (...) => ... [captured x] : String | Capture.cs:292:15:292:15 | access to local variable x | provenance | | -| Capture.cs:290:9:290:14 | access to local variable middle : (...) => ... [captured x] : String | Capture.cs:282:28:286:13 | (...) => ... : (...) => ... [captured x] : String | provenance | | -| Capture.cs:290:9:290:14 | access to local variable middle : (...) => ... [captured x] : String | Capture.cs:287:13:287:17 | access to local variable inner : Action [captured x] : String | provenance | | -| Capture.cs:290:9:290:14 | access to local variable middle : Action [captured x] : String | Capture.cs:282:28:286:13 | (...) => ... : (...) => ... [captured x] : String | provenance | | | Capture.cs:290:9:290:14 | access to local variable middle : Action [captured x] : String | Capture.cs:287:13:287:17 | access to local variable inner : Action [captured x] : String | provenance | | -| Capture.cs:297:9:297:12 | [post] this access : Capture [field Field] : String | Capture.cs:299:20:303:9 | (...) => ... : (...) => ... [captured this in M10, field Field] : String | provenance | | | Capture.cs:297:9:297:12 | [post] this access : Capture [field Field] : String | Capture.cs:304:9:304:9 | access to local variable a : Action [captured this in M10, field Field] : String | provenance | | | Capture.cs:297:9:297:12 | [post] this access : Capture [field Field] : String | Capture.cs:306:15:306:18 | this access : Capture [field Field] : String | provenance | | | Capture.cs:297:22:297:35 | "taint source" : String | Capture.cs:297:9:297:12 | [post] this access : Capture [field Field] : String | provenance | | -| Capture.cs:299:16:299:16 | access to local variable a : (...) => ... [captured this in M10, field Field] : String | Capture.cs:304:9:304:9 | access to local variable a : (...) => ... [captured this in M10, field Field] : String | provenance | | -| Capture.cs:299:20:303:9 | (...) => ... : (...) => ... [captured this in M10, field Field] : String | Capture.cs:299:16:299:16 | access to local variable a : (...) => ... [captured this in M10, field Field] : String | provenance | | | Capture.cs:301:19:301:22 | this access : Capture [field Field] : String | Capture.cs:301:19:301:28 | access to field Field | provenance | | | Capture.cs:302:13:302:16 | [post] this access : Capture [field Field] : String | Capture.cs:304:9:304:9 | [post] access to local variable a : (...) => ... [captured this in M10, field Field] : String | provenance | | | Capture.cs:302:26:302:39 | "taint source" : String | Capture.cs:302:13:302:16 | [post] this access : Capture [field Field] : String | provenance | | | Capture.cs:304:9:304:9 | [post] access to local variable a : (...) => ... [captured this in M10, field Field] : String | Capture.cs:306:15:306:18 | this access : Capture [field Field] : String | provenance | | -| Capture.cs:304:9:304:9 | access to local variable a : (...) => ... [captured this in M10, field Field] : String | Capture.cs:301:19:301:22 | this access : Capture [field Field] : String | provenance | | | Capture.cs:304:9:304:9 | access to local variable a : Action [captured this in M10, field Field] : String | Capture.cs:301:19:301:22 | this access : Capture [field Field] : String | provenance | | | Capture.cs:306:15:306:18 | this access : Capture [field Field] : String | Capture.cs:306:15:306:24 | access to field Field | provenance | | | Capture.cs:311:17:311:30 | "taint source" : String | Capture.cs:312:15:312:15 | access to local variable x | provenance | | | Capture.cs:318:17:318:30 | "taint source" : String | Capture.cs:319:19:319:19 | access to local variable x | provenance | | -| Capture.cs:328:17:328:30 | "taint source" : String | Capture.cs:330:9:330:49 | CapturedLocalFunction(...) : CapturedLocalFunction [captured x] : String | provenance | | -| Capture.cs:328:17:328:30 | "taint source" : String | Capture.cs:332:9:332:65 | CapturingLocalFunction(...) : CapturingLocalFunction [captured x] : String | provenance | | | Capture.cs:328:17:328:30 | "taint source" : String | Capture.cs:334:9:334:30 | access to local function CapturingLocalFunction : CapturingLocalFunction [captured x] : String | provenance | | -| Capture.cs:330:9:330:49 | CapturedLocalFunction(...) : CapturedLocalFunction [captured x] : String | Capture.cs:332:42:332:62 | access to local function CapturedLocalFunction : CapturedLocalFunction [captured x] : String | provenance | | -| Capture.cs:332:9:332:65 | CapturingLocalFunction(...) : CapturingLocalFunction [captured x] : String | Capture.cs:334:9:334:30 | access to local function CapturingLocalFunction : CapturingLocalFunction [captured x] : String | provenance | | -| Capture.cs:332:42:332:62 | access to local function CapturedLocalFunction : CapturedLocalFunction [captured x] : String | Capture.cs:330:47:330:47 | access to local variable x | provenance | | | Capture.cs:332:42:332:62 | access to local function CapturedLocalFunction : CapturedLocalFunction [captured x] : String | Capture.cs:330:47:330:47 | access to local variable x | provenance | | | Capture.cs:334:9:334:30 | access to local function CapturingLocalFunction : CapturingLocalFunction [captured x] : String | Capture.cs:332:42:332:62 | access to local function CapturedLocalFunction : CapturedLocalFunction [captured x] : String | provenance | | | Capture.cs:339:17:339:30 | "taint source" : String | Capture.cs:341:33:341:46 | (...) => ... : (...) => ... [captured x] : String | provenance | | -| Capture.cs:341:33:341:46 | (...) => ... : (...) => ... [captured x] : String | Capture.cs:343:34:343:55 | (...) => ... : (...) => ... [captured capturedLambda, captured x] : String | provenance | | | Capture.cs:341:33:341:46 | (...) => ... : (...) => ... [captured x] : String | Capture.cs:345:9:345:23 | access to local variable capturingLambda : Action [captured capturedLambda, captured x] : String | provenance | | -| Capture.cs:343:16:343:30 | access to local variable capturingLambda : (...) => ... [captured capturedLambda, captured x] : String | Capture.cs:345:9:345:23 | access to local variable capturingLambda : (...) => ... [captured capturedLambda, captured x] : String | provenance | | -| Capture.cs:343:34:343:55 | (...) => ... : (...) => ... [captured capturedLambda, captured x] : String | Capture.cs:343:16:343:30 | access to local variable capturingLambda : (...) => ... [captured capturedLambda, captured x] : String | provenance | | | Capture.cs:343:40:343:53 | access to local variable capturedLambda : (...) => ... [captured x] : String | Capture.cs:341:45:341:45 | access to local variable x | provenance | | -| Capture.cs:345:9:345:23 | access to local variable capturingLambda : (...) => ... [captured capturedLambda, captured x] : String | Capture.cs:343:40:343:53 | access to local variable capturedLambda : (...) => ... [captured x] : String | provenance | | | Capture.cs:345:9:345:23 | access to local variable capturingLambda : Action [captured capturedLambda, captured x] : String | Capture.cs:343:40:343:53 | access to local variable capturedLambda : (...) => ... [captured x] : String | provenance | | | Capture.cs:350:34:350:34 | a : (...) => ... [captured s] : String | Capture.cs:352:9:352:9 | access to parameter a : (...) => ... [captured s] : String | provenance | | | Capture.cs:350:34:350:34 | a : (...) => ... [captured sink39] : String | Capture.cs:352:9:352:9 | access to parameter a : (...) => ... [captured sink39] : String | provenance | | @@ -294,14 +249,18 @@ edges | GlobalDataFlow.cs:85:22:85:128 | call to method Zip<String,String,String> : IEnumerable<T> [element] : String | GlobalDataFlow.cs:85:22:85:136 | call to method First<String> : String | provenance | | | GlobalDataFlow.cs:85:22:85:136 | call to method First<String> : String | GlobalDataFlow.cs:85:13:85:18 | access to local variable sink15 : String | provenance | | | GlobalDataFlow.cs:85:23:85:66 | (...) ... : null [element] : String | GlobalDataFlow.cs:85:22:85:128 | call to method Zip<String,String,String> : IEnumerable<T> [element] : String | provenance | | +| GlobalDataFlow.cs:85:23:85:66 | (...) ... : null [element] : String | GlobalDataFlow.cs:85:118:85:118 | x : String | provenance | | | GlobalDataFlow.cs:85:57:85:66 | { ..., ... } : null [element] : String | GlobalDataFlow.cs:85:23:85:66 | (...) ... : null [element] : String | provenance | | | GlobalDataFlow.cs:85:59:85:64 | access to local variable sink14 : String | GlobalDataFlow.cs:85:57:85:66 | { ..., ... } : null [element] : String | provenance | | +| GlobalDataFlow.cs:85:118:85:118 | x : String | GlobalDataFlow.cs:85:127:85:127 | access to parameter x : String | provenance | | | GlobalDataFlow.cs:87:13:87:18 | access to local variable sink16 : String | GlobalDataFlow.cs:88:15:88:20 | access to local variable sink16 | provenance | | | GlobalDataFlow.cs:87:22:87:128 | call to method Zip<String,String,String> : IEnumerable<T> [element] : String | GlobalDataFlow.cs:87:22:87:136 | call to method First<String> : String | provenance | | | GlobalDataFlow.cs:87:22:87:136 | call to method First<String> : String | GlobalDataFlow.cs:87:13:87:18 | access to local variable sink16 : String | provenance | | | GlobalDataFlow.cs:87:70:87:113 | (...) ... : null [element] : String | GlobalDataFlow.cs:87:22:87:128 | call to method Zip<String,String,String> : IEnumerable<T> [element] : String | provenance | | +| GlobalDataFlow.cs:87:70:87:113 | (...) ... : null [element] : String | GlobalDataFlow.cs:87:121:87:121 | y : String | provenance | | | GlobalDataFlow.cs:87:104:87:113 | { ..., ... } : null [element] : String | GlobalDataFlow.cs:87:70:87:113 | (...) ... : null [element] : String | provenance | | | GlobalDataFlow.cs:87:106:87:111 | access to local variable sink15 : String | GlobalDataFlow.cs:87:104:87:113 | { ..., ... } : null [element] : String | provenance | | +| GlobalDataFlow.cs:87:121:87:121 | y : String | GlobalDataFlow.cs:87:127:87:127 | access to parameter y : String | provenance | | | GlobalDataFlow.cs:138:40:138:40 | x : String | GlobalDataFlow.cs:138:63:138:63 | access to parameter x : String | provenance | | | GlobalDataFlow.cs:138:63:138:63 | access to parameter x : String | GlobalDataFlow.cs:138:45:138:64 | call to method ApplyFunc<String,String> : String | provenance | | | GlobalDataFlow.cs:138:63:138:63 | access to parameter x : String | GlobalDataFlow.cs:387:46:387:46 | x : String | provenance | | @@ -339,7 +298,9 @@ edges | GlobalDataFlow.cs:211:44:211:61 | { ..., ... } : null [element] : String | GlobalDataFlow.cs:211:38:211:61 | array creation of type String[] : null [element] : String | provenance | | | GlobalDataFlow.cs:211:46:211:59 | "taint source" : String | GlobalDataFlow.cs:211:44:211:61 | { ..., ... } : null [element] : String | provenance | | | GlobalDataFlow.cs:214:35:214:45 | sinkParam10 : String | GlobalDataFlow.cs:214:58:214:68 | access to parameter sinkParam10 | provenance | | +| GlobalDataFlow.cs:214:35:214:45 | sinkParam10 : String | GlobalDataFlow.cs:214:79:214:89 | access to parameter sinkParam10 : String | provenance | | | GlobalDataFlow.cs:215:71:215:71 | x : String | GlobalDataFlow.cs:215:89:215:89 | access to parameter x : String | provenance | | +| GlobalDataFlow.cs:215:89:215:89 | access to parameter x : String | GlobalDataFlow.cs:215:76:215:90 | call to method ReturnCheck2<String> : String | provenance | | | GlobalDataFlow.cs:215:89:215:89 | access to parameter x : String | GlobalDataFlow.cs:321:32:321:41 | sinkParam9 : String | provenance | | | GlobalDataFlow.cs:216:13:216:18 | access to local variable sink24 : String | GlobalDataFlow.cs:217:15:217:20 | access to local variable sink24 | provenance | | | GlobalDataFlow.cs:216:22:216:28 | access to local variable tainted : IQueryable<T> [element] : String | GlobalDataFlow.cs:214:35:214:45 | sinkParam10 : String | provenance | | @@ -384,8 +345,11 @@ edges | GlobalDataFlow.cs:304:32:304:32 | x : String | GlobalDataFlow.cs:306:9:306:9 | access to parameter y : String | provenance | | | GlobalDataFlow.cs:310:32:310:32 | x : String | GlobalDataFlow.cs:312:9:312:9 | access to parameter y : String | provenance | | | GlobalDataFlow.cs:315:31:315:40 | sinkParam8 : String | GlobalDataFlow.cs:317:15:317:24 | access to parameter sinkParam8 | provenance | | +| GlobalDataFlow.cs:315:31:315:40 | sinkParam8 : String | GlobalDataFlow.cs:318:16:318:25 | access to parameter sinkParam8 : String | provenance | | | GlobalDataFlow.cs:321:32:321:41 | sinkParam9 : String | GlobalDataFlow.cs:323:15:323:24 | access to parameter sinkParam9 | provenance | | +| GlobalDataFlow.cs:321:32:321:41 | sinkParam9 : String | GlobalDataFlow.cs:324:16:324:25 | access to parameter sinkParam9 : String | provenance | | | GlobalDataFlow.cs:327:32:327:42 | sinkParam11 : String | GlobalDataFlow.cs:329:15:329:25 | access to parameter sinkParam11 | provenance | | +| GlobalDataFlow.cs:327:32:327:42 | sinkParam11 : String | GlobalDataFlow.cs:330:16:330:26 | access to parameter sinkParam11 : String | provenance | | | GlobalDataFlow.cs:341:16:341:29 | "taint source" : String | GlobalDataFlow.cs:157:21:157:25 | call to method Out : String | provenance | | | GlobalDataFlow.cs:341:16:341:29 | "taint source" : String | GlobalDataFlow.cs:193:22:193:42 | object creation of type Lazy<String> : Lazy<T> [property Value] : String | provenance | | | GlobalDataFlow.cs:346:9:346:9 | access to parameter x : String | GlobalDataFlow.cs:160:20:160:24 | access to local variable sink7 : String | provenance | | @@ -519,24 +483,18 @@ edges | Splitting.cs:48:36:48:49 | "taint source" : String | Splitting.cs:48:13:48:13 | access to local variable s : String | provenance | | nodes | Capture.cs:7:20:7:26 | tainted : String | semmle.label | tainted : String | -| Capture.cs:9:9:13:9 | CaptureIn1(...) : CaptureIn1 [captured tainted] : String | semmle.label | CaptureIn1(...) : CaptureIn1 [captured tainted] : String | | Capture.cs:11:17:11:22 | access to local variable sink27 : String | semmle.label | access to local variable sink27 : String | | Capture.cs:11:26:11:32 | access to parameter tainted : String | semmle.label | access to parameter tainted : String | | Capture.cs:12:19:12:24 | access to local variable sink27 | semmle.label | access to local variable sink27 | | Capture.cs:14:9:14:18 | access to local function CaptureIn1 : CaptureIn1 [captured tainted] : String | semmle.label | access to local function CaptureIn1 : CaptureIn1 [captured tainted] : String | -| Capture.cs:16:9:24:9 | CaptureIn2(...) : CaptureIn2 [captured tainted] : String | semmle.label | CaptureIn2(...) : CaptureIn2 [captured tainted] : String | -| Capture.cs:18:13:22:13 | M(...) : M [captured tainted] : String | semmle.label | M(...) : M [captured tainted] : String | | Capture.cs:20:21:20:26 | access to local variable sink28 : String | semmle.label | access to local variable sink28 : String | | Capture.cs:20:30:20:36 | access to parameter tainted : String | semmle.label | access to parameter tainted : String | | Capture.cs:21:23:21:28 | access to local variable sink28 | semmle.label | access to local variable sink28 | | Capture.cs:23:13:23:13 | access to local function M : M [captured tainted] : String | semmle.label | access to local function M : M [captured tainted] : String | | Capture.cs:25:9:25:18 | access to local function CaptureIn2 : CaptureIn2 [captured tainted] : String | semmle.label | access to local function CaptureIn2 : CaptureIn2 [captured tainted] : String | -| Capture.cs:27:30:27:39 | access to local variable captureIn3 : (...) => ... [captured tainted] : String | semmle.label | access to local variable captureIn3 : (...) => ... [captured tainted] : String | -| Capture.cs:27:43:32:9 | (...) => ... : (...) => ... [captured tainted] : String | semmle.label | (...) => ... : (...) => ... [captured tainted] : String | | Capture.cs:29:17:29:22 | access to local variable sink29 : String | semmle.label | access to local variable sink29 : String | | Capture.cs:29:26:29:32 | access to parameter tainted : String | semmle.label | access to parameter tainted : String | | Capture.cs:30:19:30:24 | access to local variable sink29 | semmle.label | access to local variable sink29 | -| Capture.cs:33:30:33:39 | access to local variable captureIn3 : (...) => ... [captured tainted] : String | semmle.label | access to local variable captureIn3 : (...) => ... [captured tainted] : String | | Capture.cs:33:30:33:39 | access to local variable captureIn3 : Func<String,String> [captured tainted] : String | semmle.label | access to local variable captureIn3 : Func<String,String> [captured tainted] : String | | Capture.cs:50:50:50:55 | sink39 : String | semmle.label | sink39 : String | | Capture.cs:52:23:59:13 | (...) => ... : (...) => ... [captured sink39] : String | semmle.label | (...) => ... : (...) => ... [captured sink39] : String | @@ -558,21 +516,21 @@ nodes | Capture.cs:123:9:123:33 | [post] access to local function CaptureOutMultipleLambdas : CaptureOutMultipleLambdas [captured sink40] : String | semmle.label | [post] access to local function CaptureOutMultipleLambdas : CaptureOutMultipleLambdas [captured sink40] : String | | Capture.cs:124:15:124:20 | access to local variable sink40 | semmle.label | access to local variable sink40 | | Capture.cs:127:25:127:31 | tainted : String | semmle.label | tainted : String | -| Capture.cs:130:9:133:9 | CaptureThrough1(...) : CaptureThrough1 [captured tainted] : String | semmle.label | CaptureThrough1(...) : CaptureThrough1 [captured tainted] : String | +| Capture.cs:132:22:132:28 | access to parameter tainted : String | semmle.label | access to parameter tainted : String | | Capture.cs:134:9:134:23 | [post] access to local function CaptureThrough1 : CaptureThrough1 [captured sink33] : String | semmle.label | [post] access to local function CaptureThrough1 : CaptureThrough1 [captured sink33] : String | | Capture.cs:134:9:134:23 | access to local function CaptureThrough1 : CaptureThrough1 [captured tainted] : String | semmle.label | access to local function CaptureThrough1 : CaptureThrough1 [captured tainted] : String | | Capture.cs:135:15:135:20 | access to local variable sink33 | semmle.label | access to local variable sink33 | -| Capture.cs:138:9:145:9 | CaptureThrough2(...) : CaptureThrough2 [captured tainted] : String | semmle.label | CaptureThrough2(...) : CaptureThrough2 [captured tainted] : String | +| Capture.cs:142:26:142:32 | access to parameter tainted : String | semmle.label | access to parameter tainted : String | +| Capture.cs:144:13:144:13 | [post] access to local function M : M [captured sink34] : String | semmle.label | [post] access to local function M : M [captured sink34] : String | +| Capture.cs:144:13:144:13 | access to local function M : M [captured tainted] : String | semmle.label | access to local function M : M [captured tainted] : String | | Capture.cs:146:9:146:23 | [post] access to local function CaptureThrough2 : CaptureThrough2 [captured sink34] : String | semmle.label | [post] access to local function CaptureThrough2 : CaptureThrough2 [captured sink34] : String | | Capture.cs:146:9:146:23 | access to local function CaptureThrough2 : CaptureThrough2 [captured tainted] : String | semmle.label | access to local function CaptureThrough2 : CaptureThrough2 [captured tainted] : String | | Capture.cs:147:15:147:20 | access to local variable sink34 | semmle.label | access to local variable sink34 | -| Capture.cs:150:30:150:44 | access to local variable captureThrough3 : (...) => ... [captured tainted] : String | semmle.label | access to local variable captureThrough3 : (...) => ... [captured tainted] : String | -| Capture.cs:150:48:154:9 | (...) => ... : (...) => ... [captured tainted] : String | semmle.label | (...) => ... : (...) => ... [captured tainted] : String | +| Capture.cs:152:22:152:28 | access to parameter tainted : String | semmle.label | access to parameter tainted : String | | Capture.cs:155:30:155:44 | [post] access to local variable captureThrough3 : (...) => ... [captured sink35] : String | semmle.label | [post] access to local variable captureThrough3 : (...) => ... [captured sink35] : String | -| Capture.cs:155:30:155:44 | access to local variable captureThrough3 : (...) => ... [captured tainted] : String | semmle.label | access to local variable captureThrough3 : (...) => ... [captured tainted] : String | | Capture.cs:155:30:155:44 | access to local variable captureThrough3 : Func<String,String> [captured tainted] : String | semmle.label | access to local variable captureThrough3 : Func<String,String> [captured tainted] : String | | Capture.cs:156:15:156:20 | access to local variable sink35 | semmle.label | access to local variable sink35 | -| Capture.cs:158:9:161:9 | CaptureThrough4(...) : CaptureThrough4 [captured tainted] : String | semmle.label | CaptureThrough4(...) : CaptureThrough4 [captured tainted] : String | +| Capture.cs:160:20:160:26 | access to parameter tainted : String | semmle.label | access to parameter tainted : String | | Capture.cs:162:13:162:18 | access to local variable sink36 : String | semmle.label | access to local variable sink36 : String | | Capture.cs:162:22:162:36 | access to local function CaptureThrough4 : CaptureThrough4 [captured tainted] : String | semmle.label | access to local function CaptureThrough4 : CaptureThrough4 [captured tainted] : String | | Capture.cs:162:22:162:38 | call to local function CaptureThrough4 : String | semmle.label | call to local function CaptureThrough4 : String | @@ -583,7 +541,7 @@ nodes | Capture.cs:170:25:170:31 | access to parameter tainted : String | semmle.label | access to parameter tainted : String | | Capture.cs:171:15:171:20 | access to local variable sink37 | semmle.label | access to local variable sink37 | | Capture.cs:190:26:190:26 | s : String | semmle.label | s : String | -| Capture.cs:192:13:192:28 | M(...) : M [captured s] : String | semmle.label | M(...) : M [captured s] : String | +| Capture.cs:192:27:192:27 | access to parameter s : String | semmle.label | access to parameter s : String | | Capture.cs:193:20:193:20 | access to local function M : M [captured s] : String | semmle.label | access to local function M : M [captured s] : String | | Capture.cs:193:20:193:22 | call to local function M : String | semmle.label | call to local function M : String | | Capture.cs:196:13:196:18 | access to local variable sink38 : String | semmle.label | access to local variable sink38 : String | @@ -591,10 +549,7 @@ nodes | Capture.cs:196:25:196:31 | access to parameter tainted : String | semmle.label | access to parameter tainted : String | | Capture.cs:197:15:197:20 | access to local variable sink38 | semmle.label | access to local variable sink38 | | Capture.cs:202:20:202:20 | s : String | semmle.label | s : String | -| Capture.cs:204:16:204:16 | access to local variable a : (...) => ... [captured s] : String | semmle.label | access to local variable a : (...) => ... [captured s] : String | -| Capture.cs:204:20:207:9 | (...) => ... : (...) => ... [captured s] : String | semmle.label | (...) => ... : (...) => ... [captured s] : String | | Capture.cs:206:19:206:19 | access to parameter s | semmle.label | access to parameter s | -| Capture.cs:208:9:208:9 | access to local variable a : (...) => ... [captured s] : String | semmle.label | access to local variable a : (...) => ... [captured s] : String | | Capture.cs:208:9:208:9 | access to local variable a : Action [captured s] : String | semmle.label | access to local variable a : Action [captured s] : String | | Capture.cs:211:21:211:34 | "taint source" : String | semmle.label | "taint source" : String | | Capture.cs:213:22:213:22 | s : String | semmle.label | s : String | @@ -612,14 +567,11 @@ nodes | Capture.cs:234:15:234:15 | access to local variable x | semmle.label | access to local variable x | | Capture.cs:242:9:242:9 | [post] access to local variable c : Capture [field Field] : String | semmle.label | [post] access to local variable c : Capture [field Field] : String | | Capture.cs:242:19:242:32 | "taint source" : String | semmle.label | "taint source" : String | -| Capture.cs:244:16:244:16 | access to local variable a : (...) => ... [captured c, field Field] : String | semmle.label | access to local variable a : (...) => ... [captured c, field Field] : String | -| Capture.cs:244:20:248:9 | (...) => ... : (...) => ... [captured c, field Field] : String | semmle.label | (...) => ... : (...) => ... [captured c, field Field] : String | | Capture.cs:246:19:246:19 | access to local variable c : Capture [field Field] : String | semmle.label | access to local variable c : Capture [field Field] : String | | Capture.cs:246:19:246:25 | access to field Field | semmle.label | access to field Field | | Capture.cs:247:13:247:13 | [post] access to local variable c : Capture [field Field] : String | semmle.label | [post] access to local variable c : Capture [field Field] : String | | Capture.cs:247:23:247:36 | "taint source" : String | semmle.label | "taint source" : String | | Capture.cs:249:9:249:9 | [post] access to local variable a : (...) => ... [captured c, field Field] : String | semmle.label | [post] access to local variable a : (...) => ... [captured c, field Field] : String | -| Capture.cs:249:9:249:9 | access to local variable a : (...) => ... [captured c, field Field] : String | semmle.label | access to local variable a : (...) => ... [captured c, field Field] : String | | Capture.cs:249:9:249:9 | access to local variable a : Action [captured c, field Field] : String | semmle.label | access to local variable a : Action [captured c, field Field] : String | | Capture.cs:251:15:251:15 | access to local variable c : Capture [field Field] : String | semmle.label | access to local variable c : Capture [field Field] : String | | Capture.cs:251:15:251:21 | access to field Field | semmle.label | access to field Field | @@ -632,29 +584,20 @@ nodes | Capture.cs:273:30:273:30 | access to parameter x | semmle.label | access to parameter x | | Capture.cs:273:34:273:47 | "taint source" : String | semmle.label | "taint source" : String | | Capture.cs:278:17:278:30 | "taint source" : String | semmle.label | "taint source" : String | -| Capture.cs:280:16:280:21 | access to local variable middle : (...) => ... [captured x] : String | semmle.label | access to local variable middle : (...) => ... [captured x] : String | -| Capture.cs:280:25:288:9 | (...) => ... : (...) => ... [captured x] : String | semmle.label | (...) => ... : (...) => ... [captured x] : String | -| Capture.cs:282:20:282:24 | access to local variable inner : (...) => ... [captured x] : String | semmle.label | access to local variable inner : (...) => ... [captured x] : String | -| Capture.cs:282:28:286:13 | (...) => ... : (...) => ... [captured x] : String | semmle.label | (...) => ... : (...) => ... [captured x] : String | | Capture.cs:284:23:284:23 | access to local variable x | semmle.label | access to local variable x | | Capture.cs:285:21:285:34 | "taint source" : String | semmle.label | "taint source" : String | | Capture.cs:287:13:287:17 | [post] access to local variable inner : (...) => ... [captured x] : String | semmle.label | [post] access to local variable inner : (...) => ... [captured x] : String | -| Capture.cs:287:13:287:17 | access to local variable inner : (...) => ... [captured x] : String | semmle.label | access to local variable inner : (...) => ... [captured x] : String | | Capture.cs:287:13:287:17 | access to local variable inner : Action [captured x] : String | semmle.label | access to local variable inner : Action [captured x] : String | | Capture.cs:290:9:290:14 | [post] access to local variable middle : (...) => ... [captured x] : String | semmle.label | [post] access to local variable middle : (...) => ... [captured x] : String | -| Capture.cs:290:9:290:14 | access to local variable middle : (...) => ... [captured x] : String | semmle.label | access to local variable middle : (...) => ... [captured x] : String | | Capture.cs:290:9:290:14 | access to local variable middle : Action [captured x] : String | semmle.label | access to local variable middle : Action [captured x] : String | | Capture.cs:292:15:292:15 | access to local variable x | semmle.label | access to local variable x | | Capture.cs:297:9:297:12 | [post] this access : Capture [field Field] : String | semmle.label | [post] this access : Capture [field Field] : String | | Capture.cs:297:22:297:35 | "taint source" : String | semmle.label | "taint source" : String | -| Capture.cs:299:16:299:16 | access to local variable a : (...) => ... [captured this in M10, field Field] : String | semmle.label | access to local variable a : (...) => ... [captured this in M10, field Field] : String | -| Capture.cs:299:20:303:9 | (...) => ... : (...) => ... [captured this in M10, field Field] : String | semmle.label | (...) => ... : (...) => ... [captured this in M10, field Field] : String | | Capture.cs:301:19:301:22 | this access : Capture [field Field] : String | semmle.label | this access : Capture [field Field] : String | | Capture.cs:301:19:301:28 | access to field Field | semmle.label | access to field Field | | Capture.cs:302:13:302:16 | [post] this access : Capture [field Field] : String | semmle.label | [post] this access : Capture [field Field] : String | | Capture.cs:302:26:302:39 | "taint source" : String | semmle.label | "taint source" : String | | Capture.cs:304:9:304:9 | [post] access to local variable a : (...) => ... [captured this in M10, field Field] : String | semmle.label | [post] access to local variable a : (...) => ... [captured this in M10, field Field] : String | -| Capture.cs:304:9:304:9 | access to local variable a : (...) => ... [captured this in M10, field Field] : String | semmle.label | access to local variable a : (...) => ... [captured this in M10, field Field] : String | | Capture.cs:304:9:304:9 | access to local variable a : Action [captured this in M10, field Field] : String | semmle.label | access to local variable a : Action [captured this in M10, field Field] : String | | Capture.cs:306:15:306:18 | this access : Capture [field Field] : String | semmle.label | this access : Capture [field Field] : String | | Capture.cs:306:15:306:24 | access to field Field | semmle.label | access to field Field | @@ -663,19 +606,13 @@ nodes | Capture.cs:318:17:318:30 | "taint source" : String | semmle.label | "taint source" : String | | Capture.cs:319:19:319:19 | access to local variable x | semmle.label | access to local variable x | | Capture.cs:328:17:328:30 | "taint source" : String | semmle.label | "taint source" : String | -| Capture.cs:330:9:330:49 | CapturedLocalFunction(...) : CapturedLocalFunction [captured x] : String | semmle.label | CapturedLocalFunction(...) : CapturedLocalFunction [captured x] : String | | Capture.cs:330:47:330:47 | access to local variable x | semmle.label | access to local variable x | -| Capture.cs:332:9:332:65 | CapturingLocalFunction(...) : CapturingLocalFunction [captured x] : String | semmle.label | CapturingLocalFunction(...) : CapturingLocalFunction [captured x] : String | -| Capture.cs:332:42:332:62 | access to local function CapturedLocalFunction : CapturedLocalFunction [captured x] : String | semmle.label | access to local function CapturedLocalFunction : CapturedLocalFunction [captured x] : String | | Capture.cs:332:42:332:62 | access to local function CapturedLocalFunction : CapturedLocalFunction [captured x] : String | semmle.label | access to local function CapturedLocalFunction : CapturedLocalFunction [captured x] : String | | Capture.cs:334:9:334:30 | access to local function CapturingLocalFunction : CapturingLocalFunction [captured x] : String | semmle.label | access to local function CapturingLocalFunction : CapturingLocalFunction [captured x] : String | | Capture.cs:339:17:339:30 | "taint source" : String | semmle.label | "taint source" : String | | Capture.cs:341:33:341:46 | (...) => ... : (...) => ... [captured x] : String | semmle.label | (...) => ... : (...) => ... [captured x] : String | | Capture.cs:341:45:341:45 | access to local variable x | semmle.label | access to local variable x | -| Capture.cs:343:16:343:30 | access to local variable capturingLambda : (...) => ... [captured capturedLambda, captured x] : String | semmle.label | access to local variable capturingLambda : (...) => ... [captured capturedLambda, captured x] : String | -| Capture.cs:343:34:343:55 | (...) => ... : (...) => ... [captured capturedLambda, captured x] : String | semmle.label | (...) => ... : (...) => ... [captured capturedLambda, captured x] : String | | Capture.cs:343:40:343:53 | access to local variable capturedLambda : (...) => ... [captured x] : String | semmle.label | access to local variable capturedLambda : (...) => ... [captured x] : String | -| Capture.cs:345:9:345:23 | access to local variable capturingLambda : (...) => ... [captured capturedLambda, captured x] : String | semmle.label | access to local variable capturingLambda : (...) => ... [captured capturedLambda, captured x] : String | | Capture.cs:345:9:345:23 | access to local variable capturingLambda : Action [captured capturedLambda, captured x] : String | semmle.label | access to local variable capturingLambda : Action [captured capturedLambda, captured x] : String | | Capture.cs:350:34:350:34 | a : (...) => ... [captured s] : String | semmle.label | a : (...) => ... [captured s] : String | | Capture.cs:350:34:350:34 | a : (...) => ... [captured sink39] : String | semmle.label | a : (...) => ... [captured sink39] : String | @@ -744,6 +681,8 @@ nodes | GlobalDataFlow.cs:85:23:85:66 | (...) ... : null [element] : String | semmle.label | (...) ... : null [element] : String | | GlobalDataFlow.cs:85:57:85:66 | { ..., ... } : null [element] : String | semmle.label | { ..., ... } : null [element] : String | | GlobalDataFlow.cs:85:59:85:64 | access to local variable sink14 : String | semmle.label | access to local variable sink14 : String | +| GlobalDataFlow.cs:85:118:85:118 | x : String | semmle.label | x : String | +| GlobalDataFlow.cs:85:127:85:127 | access to parameter x : String | semmle.label | access to parameter x : String | | GlobalDataFlow.cs:86:15:86:20 | access to local variable sink15 | semmle.label | access to local variable sink15 | | GlobalDataFlow.cs:87:13:87:18 | access to local variable sink16 : String | semmle.label | access to local variable sink16 : String | | GlobalDataFlow.cs:87:22:87:128 | call to method Zip<String,String,String> : IEnumerable<T> [element] : String | semmle.label | call to method Zip<String,String,String> : IEnumerable<T> [element] : String | @@ -751,6 +690,8 @@ nodes | GlobalDataFlow.cs:87:70:87:113 | (...) ... : null [element] : String | semmle.label | (...) ... : null [element] : String | | GlobalDataFlow.cs:87:104:87:113 | { ..., ... } : null [element] : String | semmle.label | { ..., ... } : null [element] : String | | GlobalDataFlow.cs:87:106:87:111 | access to local variable sink15 : String | semmle.label | access to local variable sink15 : String | +| GlobalDataFlow.cs:87:121:87:121 | y : String | semmle.label | y : String | +| GlobalDataFlow.cs:87:127:87:127 | access to parameter y : String | semmle.label | access to parameter y : String | | GlobalDataFlow.cs:88:15:88:20 | access to local variable sink16 | semmle.label | access to local variable sink16 | | GlobalDataFlow.cs:138:40:138:40 | x : String | semmle.label | x : String | | GlobalDataFlow.cs:138:45:138:64 | call to method ApplyFunc<String,String> : String | semmle.label | call to method ApplyFunc<String,String> : String | @@ -795,7 +736,9 @@ nodes | GlobalDataFlow.cs:211:46:211:59 | "taint source" : String | semmle.label | "taint source" : String | | GlobalDataFlow.cs:214:35:214:45 | sinkParam10 : String | semmle.label | sinkParam10 : String | | GlobalDataFlow.cs:214:58:214:68 | access to parameter sinkParam10 | semmle.label | access to parameter sinkParam10 | +| GlobalDataFlow.cs:214:79:214:89 | access to parameter sinkParam10 : String | semmle.label | access to parameter sinkParam10 : String | | GlobalDataFlow.cs:215:71:215:71 | x : String | semmle.label | x : String | +| GlobalDataFlow.cs:215:76:215:90 | call to method ReturnCheck2<String> : String | semmle.label | call to method ReturnCheck2<String> : String | | GlobalDataFlow.cs:215:89:215:89 | access to parameter x : String | semmle.label | access to parameter x : String | | GlobalDataFlow.cs:216:13:216:18 | access to local variable sink24 : String | semmle.label | access to local variable sink24 : String | | GlobalDataFlow.cs:216:22:216:28 | access to local variable tainted : IQueryable<T> [element] : String | semmle.label | access to local variable tainted : IQueryable<T> [element] : String | @@ -851,10 +794,13 @@ nodes | GlobalDataFlow.cs:312:9:312:9 | access to parameter y : String | semmle.label | access to parameter y : String | | GlobalDataFlow.cs:315:31:315:40 | sinkParam8 : String | semmle.label | sinkParam8 : String | | GlobalDataFlow.cs:317:15:317:24 | access to parameter sinkParam8 | semmle.label | access to parameter sinkParam8 | +| GlobalDataFlow.cs:318:16:318:25 | access to parameter sinkParam8 : String | semmle.label | access to parameter sinkParam8 : String | | GlobalDataFlow.cs:321:32:321:41 | sinkParam9 : String | semmle.label | sinkParam9 : String | | GlobalDataFlow.cs:323:15:323:24 | access to parameter sinkParam9 | semmle.label | access to parameter sinkParam9 | +| GlobalDataFlow.cs:324:16:324:25 | access to parameter sinkParam9 : String | semmle.label | access to parameter sinkParam9 : String | | GlobalDataFlow.cs:327:32:327:42 | sinkParam11 : String | semmle.label | sinkParam11 : String | | GlobalDataFlow.cs:329:15:329:25 | access to parameter sinkParam11 | semmle.label | access to parameter sinkParam11 | +| GlobalDataFlow.cs:330:16:330:26 | access to parameter sinkParam11 : String | semmle.label | access to parameter sinkParam11 : String | | GlobalDataFlow.cs:341:16:341:29 | "taint source" : String | semmle.label | "taint source" : String | | GlobalDataFlow.cs:346:9:346:9 | access to parameter x : String | semmle.label | access to parameter x : String | | GlobalDataFlow.cs:346:13:346:26 | "taint source" : String | semmle.label | "taint source" : String | @@ -989,7 +935,13 @@ nodes | Splitting.cs:50:19:50:19 | access to local variable s | semmle.label | access to local variable s | | Splitting.cs:52:19:52:19 | access to local variable s | semmle.label | access to local variable s | subpaths +| Capture.cs:134:9:134:23 | access to local function CaptureThrough1 : CaptureThrough1 [captured tainted] : String | Capture.cs:132:22:132:28 | access to parameter tainted : String | Capture.cs:132:22:132:28 | access to parameter tainted : String | Capture.cs:134:9:134:23 | [post] access to local function CaptureThrough1 : CaptureThrough1 [captured sink33] : String | +| Capture.cs:144:13:144:13 | access to local function M : M [captured tainted] : String | Capture.cs:142:26:142:32 | access to parameter tainted : String | Capture.cs:142:26:142:32 | access to parameter tainted : String | Capture.cs:144:13:144:13 | [post] access to local function M : M [captured sink34] : String | +| Capture.cs:146:9:146:23 | access to local function CaptureThrough2 : CaptureThrough2 [captured tainted] : String | Capture.cs:144:13:144:13 | access to local function M : M [captured tainted] : String | Capture.cs:144:13:144:13 | [post] access to local function M : M [captured sink34] : String | Capture.cs:146:9:146:23 | [post] access to local function CaptureThrough2 : CaptureThrough2 [captured sink34] : String | +| Capture.cs:155:30:155:44 | access to local variable captureThrough3 : Func<String,String> [captured tainted] : String | Capture.cs:152:22:152:28 | access to parameter tainted : String | Capture.cs:152:22:152:28 | access to parameter tainted : String | Capture.cs:155:30:155:44 | [post] access to local variable captureThrough3 : (...) => ... [captured sink35] : String | +| Capture.cs:162:22:162:36 | access to local function CaptureThrough4 : CaptureThrough4 [captured tainted] : String | Capture.cs:160:20:160:26 | access to parameter tainted : String | Capture.cs:160:20:160:26 | access to parameter tainted : String | Capture.cs:162:22:162:38 | call to local function CaptureThrough4 : String | | Capture.cs:170:25:170:31 | access to parameter tainted : String | Capture.cs:166:37:166:37 | p : String | Capture.cs:168:22:168:22 | access to parameter p : String | Capture.cs:170:9:170:23 | [post] access to local function CaptureThrough5 : CaptureThrough5 [captured sink37] : String | +| Capture.cs:193:20:193:20 | access to local function M : M [captured s] : String | Capture.cs:192:27:192:27 | access to parameter s : String | Capture.cs:192:27:192:27 | access to parameter s : String | Capture.cs:193:20:193:22 | call to local function M : String | | Capture.cs:196:25:196:31 | access to parameter tainted : String | Capture.cs:190:26:190:26 | s : String | Capture.cs:193:20:193:22 | call to local function M : String | Capture.cs:196:22:196:32 | call to local function Id : String | | Capture.cs:221:21:221:34 | "taint source" : String | Capture.cs:213:22:213:22 | s : String | Capture.cs:215:16:218:9 | (...) => ... : (...) => ... [captured s] : String | Capture.cs:221:18:221:35 | call to method M3 : (...) => ... [captured s] : String | | Capture.cs:223:31:223:44 | "taint source" : String | Capture.cs:213:22:213:22 | s : String | Capture.cs:215:16:218:9 | (...) => ... : (...) => ... [captured s] : String | Capture.cs:223:28:223:45 | call to method M3 : (...) => ... [captured s] : String | @@ -998,9 +950,16 @@ subpaths | GlobalDataFlow.cs:76:19:76:23 | access to local variable sink1 : String | GlobalDataFlow.cs:304:32:304:32 | x : String | GlobalDataFlow.cs:306:9:306:9 | access to parameter y : String | GlobalDataFlow.cs:76:30:76:34 | access to local variable sink2 : String | | GlobalDataFlow.cs:79:19:79:23 | access to local variable sink2 : String | GlobalDataFlow.cs:310:32:310:32 | x : String | GlobalDataFlow.cs:312:9:312:9 | access to parameter y : String | GlobalDataFlow.cs:79:30:79:34 | access to local variable sink3 : String | | GlobalDataFlow.cs:81:23:81:65 | (...) ... : null [element] : String | GlobalDataFlow.cs:553:71:553:71 | e : null [element] : String | GlobalDataFlow.cs:558:44:558:47 | delegate call : String | GlobalDataFlow.cs:81:22:81:85 | call to method SelectEven<String,String> : IEnumerable<T> [element] : String | +| GlobalDataFlow.cs:83:23:83:66 | (...) ... : null [element] : String | GlobalDataFlow.cs:315:31:315:40 | sinkParam8 : String | GlobalDataFlow.cs:318:16:318:25 | access to parameter sinkParam8 : String | GlobalDataFlow.cs:83:22:83:87 | call to method Select<String,String> : IEnumerable<T> [element] : String | +| GlobalDataFlow.cs:85:23:85:66 | (...) ... : null [element] : String | GlobalDataFlow.cs:85:118:85:118 | x : String | GlobalDataFlow.cs:85:127:85:127 | access to parameter x : String | GlobalDataFlow.cs:85:22:85:128 | call to method Zip<String,String,String> : IEnumerable<T> [element] : String | +| GlobalDataFlow.cs:87:70:87:113 | (...) ... : null [element] : String | GlobalDataFlow.cs:87:121:87:121 | y : String | GlobalDataFlow.cs:87:127:87:127 | access to parameter y : String | GlobalDataFlow.cs:87:22:87:128 | call to method Zip<String,String,String> : IEnumerable<T> [element] : String | | GlobalDataFlow.cs:138:63:138:63 | access to parameter x : String | GlobalDataFlow.cs:387:46:387:46 | x : String | GlobalDataFlow.cs:389:16:389:19 | delegate call : String | GlobalDataFlow.cs:138:45:138:64 | call to method ApplyFunc<String,String> : String | | GlobalDataFlow.cs:139:29:139:33 | access to local variable sink3 : String | GlobalDataFlow.cs:138:40:138:40 | x : String | GlobalDataFlow.cs:138:45:138:64 | call to method ApplyFunc<String,String> : String | GlobalDataFlow.cs:139:21:139:34 | delegate call : String | | GlobalDataFlow.cs:147:39:147:43 | access to local variable sink4 : String | GlobalDataFlow.cs:387:46:387:46 | x : String | GlobalDataFlow.cs:389:16:389:19 | delegate call : String | GlobalDataFlow.cs:147:21:147:44 | call to method ApplyFunc<String,String> : String | +| GlobalDataFlow.cs:215:89:215:89 | access to parameter x : String | GlobalDataFlow.cs:321:32:321:41 | sinkParam9 : String | GlobalDataFlow.cs:324:16:324:25 | access to parameter sinkParam9 : String | GlobalDataFlow.cs:215:76:215:90 | call to method ReturnCheck2<String> : String | +| GlobalDataFlow.cs:216:22:216:28 | access to local variable tainted : IQueryable<T> [element] : String | GlobalDataFlow.cs:214:35:214:45 | sinkParam10 : String | GlobalDataFlow.cs:214:79:214:89 | access to parameter sinkParam10 : String | GlobalDataFlow.cs:216:22:216:39 | call to method Select<String,String> : IEnumerable<T> [element] : String | +| GlobalDataFlow.cs:218:22:218:28 | access to local variable tainted : IQueryable<T> [element] : String | GlobalDataFlow.cs:215:71:215:71 | x : String | GlobalDataFlow.cs:215:76:215:90 | call to method ReturnCheck2<String> : String | GlobalDataFlow.cs:218:22:218:39 | call to method Select<String,String> : IQueryable<T> [element] : String | +| GlobalDataFlow.cs:220:22:220:28 | access to local variable tainted : IQueryable<T> [element] : String | GlobalDataFlow.cs:327:32:327:42 | sinkParam11 : String | GlobalDataFlow.cs:330:16:330:26 | access to parameter sinkParam11 : String | GlobalDataFlow.cs:220:22:220:49 | call to method Select<String,String> : IEnumerable<T> [element] : String | | GlobalDataFlow.cs:300:37:300:37 | access to parameter x : String | GlobalDataFlow.cs:387:46:387:46 | x : String | GlobalDataFlow.cs:389:16:389:19 | delegate call : String | GlobalDataFlow.cs:300:17:300:38 | call to method ApplyFunc<T,T> : String | | GlobalDataFlow.cs:389:18:389:18 | access to parameter x : String | GlobalDataFlow.cs:298:26:298:26 | x : String | GlobalDataFlow.cs:301:16:301:41 | ... ? ... : ... : String | GlobalDataFlow.cs:389:16:389:19 | delegate call : String | | GlobalDataFlow.cs:389:18:389:18 | access to parameter x : String | GlobalDataFlow.cs:298:26:298:26 | x : String | GlobalDataFlow.cs:301:16:301:41 | ... ? ... : ... : String | GlobalDataFlow.cs:389:16:389:19 | delegate call : String | diff --git a/csharp/ql/test/library-tests/dataflow/global/TaintTrackingPath.expected b/csharp/ql/test/library-tests/dataflow/global/TaintTrackingPath.expected index 2bd30574649..de58feb3221 100644 --- a/csharp/ql/test/library-tests/dataflow/global/TaintTrackingPath.expected +++ b/csharp/ql/test/library-tests/dataflow/global/TaintTrackingPath.expected @@ -1,27 +1,17 @@ edges -| Capture.cs:7:20:7:26 | tainted : String | Capture.cs:9:9:13:9 | CaptureIn1(...) : CaptureIn1 [captured tainted] : String | provenance | | | Capture.cs:7:20:7:26 | tainted : String | Capture.cs:14:9:14:18 | access to local function CaptureIn1 : CaptureIn1 [captured tainted] : String | provenance | | -| Capture.cs:7:20:7:26 | tainted : String | Capture.cs:16:9:24:9 | CaptureIn2(...) : CaptureIn2 [captured tainted] : String | provenance | | | Capture.cs:7:20:7:26 | tainted : String | Capture.cs:25:9:25:18 | access to local function CaptureIn2 : CaptureIn2 [captured tainted] : String | provenance | | -| Capture.cs:7:20:7:26 | tainted : String | Capture.cs:27:43:32:9 | (...) => ... : (...) => ... [captured tainted] : String | provenance | | | Capture.cs:7:20:7:26 | tainted : String | Capture.cs:33:30:33:39 | access to local variable captureIn3 : Func<String,String> [captured tainted] : String | provenance | | | Capture.cs:7:20:7:26 | tainted : String | Capture.cs:61:36:61:42 | access to parameter tainted : String | provenance | | -| Capture.cs:9:9:13:9 | CaptureIn1(...) : CaptureIn1 [captured tainted] : String | Capture.cs:14:9:14:18 | access to local function CaptureIn1 : CaptureIn1 [captured tainted] : String | provenance | | | Capture.cs:11:17:11:22 | access to local variable sink27 : String | Capture.cs:12:19:12:24 | access to local variable sink27 | provenance | | | Capture.cs:11:26:11:32 | access to parameter tainted : String | Capture.cs:11:17:11:22 | access to local variable sink27 : String | provenance | | | Capture.cs:14:9:14:18 | access to local function CaptureIn1 : CaptureIn1 [captured tainted] : String | Capture.cs:11:26:11:32 | access to parameter tainted : String | provenance | | -| Capture.cs:16:9:24:9 | CaptureIn2(...) : CaptureIn2 [captured tainted] : String | Capture.cs:25:9:25:18 | access to local function CaptureIn2 : CaptureIn2 [captured tainted] : String | provenance | | -| Capture.cs:18:13:22:13 | M(...) : M [captured tainted] : String | Capture.cs:23:13:23:13 | access to local function M : M [captured tainted] : String | provenance | | | Capture.cs:20:21:20:26 | access to local variable sink28 : String | Capture.cs:21:23:21:28 | access to local variable sink28 | provenance | | | Capture.cs:20:30:20:36 | access to parameter tainted : String | Capture.cs:20:21:20:26 | access to local variable sink28 : String | provenance | | | Capture.cs:23:13:23:13 | access to local function M : M [captured tainted] : String | Capture.cs:20:30:20:36 | access to parameter tainted : String | provenance | | -| Capture.cs:25:9:25:18 | access to local function CaptureIn2 : CaptureIn2 [captured tainted] : String | Capture.cs:18:13:22:13 | M(...) : M [captured tainted] : String | provenance | | | Capture.cs:25:9:25:18 | access to local function CaptureIn2 : CaptureIn2 [captured tainted] : String | Capture.cs:23:13:23:13 | access to local function M : M [captured tainted] : String | provenance | | -| Capture.cs:27:30:27:39 | access to local variable captureIn3 : (...) => ... [captured tainted] : String | Capture.cs:33:30:33:39 | access to local variable captureIn3 : (...) => ... [captured tainted] : String | provenance | | -| Capture.cs:27:43:32:9 | (...) => ... : (...) => ... [captured tainted] : String | Capture.cs:27:30:27:39 | access to local variable captureIn3 : (...) => ... [captured tainted] : String | provenance | | | Capture.cs:29:17:29:22 | access to local variable sink29 : String | Capture.cs:30:19:30:24 | access to local variable sink29 | provenance | | | Capture.cs:29:26:29:32 | access to parameter tainted : String | Capture.cs:29:17:29:22 | access to local variable sink29 : String | provenance | | -| Capture.cs:33:30:33:39 | access to local variable captureIn3 : (...) => ... [captured tainted] : String | Capture.cs:29:26:29:32 | access to parameter tainted : String | provenance | | | Capture.cs:33:30:33:39 | access to local variable captureIn3 : Func<String,String> [captured tainted] : String | Capture.cs:29:26:29:32 | access to parameter tainted : String | provenance | | | Capture.cs:50:50:50:55 | sink39 : String | Capture.cs:52:23:59:13 | (...) => ... : (...) => ... [captured sink39] : String | provenance | | | Capture.cs:52:23:59:13 | (...) => ... : (...) => ... [captured sink39] : String | Capture.cs:350:34:350:34 | a : (...) => ... [captured sink39] : String | provenance | | @@ -37,48 +27,39 @@ edges | Capture.cs:114:23:117:13 | [post] (...) => ... : (...) => ... [captured sink40] : String | Capture.cs:123:9:123:33 | [post] access to local function CaptureOutMultipleLambdas : CaptureOutMultipleLambdas [captured sink40] : String | provenance | | | Capture.cs:116:26:116:39 | "taint source" : String | Capture.cs:352:9:352:9 | [post] access to parameter a : (...) => ... [captured sink40] : String | provenance | | | Capture.cs:123:9:123:33 | [post] access to local function CaptureOutMultipleLambdas : CaptureOutMultipleLambdas [captured sink40] : String | Capture.cs:124:15:124:20 | access to local variable sink40 | provenance | | -| Capture.cs:127:25:127:31 | tainted : String | Capture.cs:130:9:133:9 | CaptureThrough1(...) : CaptureThrough1 [captured tainted] : String | provenance | | | Capture.cs:127:25:127:31 | tainted : String | Capture.cs:134:9:134:23 | access to local function CaptureThrough1 : CaptureThrough1 [captured tainted] : String | provenance | | -| Capture.cs:127:25:127:31 | tainted : String | Capture.cs:138:9:145:9 | CaptureThrough2(...) : CaptureThrough2 [captured tainted] : String | provenance | | | Capture.cs:127:25:127:31 | tainted : String | Capture.cs:146:9:146:23 | access to local function CaptureThrough2 : CaptureThrough2 [captured tainted] : String | provenance | | -| Capture.cs:127:25:127:31 | tainted : String | Capture.cs:150:48:154:9 | (...) => ... : (...) => ... [captured tainted] : String | provenance | | | Capture.cs:127:25:127:31 | tainted : String | Capture.cs:155:30:155:44 | access to local variable captureThrough3 : Func<String,String> [captured tainted] : String | provenance | | -| Capture.cs:127:25:127:31 | tainted : String | Capture.cs:158:9:161:9 | CaptureThrough4(...) : CaptureThrough4 [captured tainted] : String | provenance | | | Capture.cs:127:25:127:31 | tainted : String | Capture.cs:162:22:162:36 | access to local function CaptureThrough4 : CaptureThrough4 [captured tainted] : String | provenance | | | Capture.cs:127:25:127:31 | tainted : String | Capture.cs:170:25:170:31 | access to parameter tainted : String | provenance | | | Capture.cs:127:25:127:31 | tainted : String | Capture.cs:196:25:196:31 | access to parameter tainted : String | provenance | | -| Capture.cs:130:9:133:9 | CaptureThrough1(...) : CaptureThrough1 [captured tainted] : String | Capture.cs:134:9:134:23 | access to local function CaptureThrough1 : CaptureThrough1 [captured tainted] : String | provenance | | | Capture.cs:134:9:134:23 | [post] access to local function CaptureThrough1 : CaptureThrough1 [captured sink33] : String | Capture.cs:135:15:135:20 | access to local variable sink33 | provenance | | +| Capture.cs:134:9:134:23 | access to local function CaptureThrough1 : CaptureThrough1 [captured tainted] : String | Capture.cs:132:22:132:28 | access to parameter tainted : String | provenance | | | Capture.cs:134:9:134:23 | access to local function CaptureThrough1 : CaptureThrough1 [captured tainted] : String | Capture.cs:134:9:134:23 | [post] access to local function CaptureThrough1 : CaptureThrough1 [captured sink33] : String | provenance | | -| Capture.cs:138:9:145:9 | CaptureThrough2(...) : CaptureThrough2 [captured tainted] : String | Capture.cs:146:9:146:23 | access to local function CaptureThrough2 : CaptureThrough2 [captured tainted] : String | provenance | | +| Capture.cs:144:13:144:13 | access to local function M : M [captured tainted] : String | Capture.cs:142:26:142:32 | access to parameter tainted : String | provenance | | +| Capture.cs:144:13:144:13 | access to local function M : M [captured tainted] : String | Capture.cs:144:13:144:13 | [post] access to local function M : M [captured sink34] : String | provenance | | | Capture.cs:146:9:146:23 | [post] access to local function CaptureThrough2 : CaptureThrough2 [captured sink34] : String | Capture.cs:147:15:147:20 | access to local variable sink34 | provenance | | +| Capture.cs:146:9:146:23 | access to local function CaptureThrough2 : CaptureThrough2 [captured tainted] : String | Capture.cs:144:13:144:13 | access to local function M : M [captured tainted] : String | provenance | | | Capture.cs:146:9:146:23 | access to local function CaptureThrough2 : CaptureThrough2 [captured tainted] : String | Capture.cs:146:9:146:23 | [post] access to local function CaptureThrough2 : CaptureThrough2 [captured sink34] : String | provenance | | -| Capture.cs:150:30:150:44 | access to local variable captureThrough3 : (...) => ... [captured tainted] : String | Capture.cs:155:30:155:44 | access to local variable captureThrough3 : (...) => ... [captured tainted] : String | provenance | | -| Capture.cs:150:48:154:9 | (...) => ... : (...) => ... [captured tainted] : String | Capture.cs:150:30:150:44 | access to local variable captureThrough3 : (...) => ... [captured tainted] : String | provenance | | | Capture.cs:155:30:155:44 | [post] access to local variable captureThrough3 : (...) => ... [captured sink35] : String | Capture.cs:156:15:156:20 | access to local variable sink35 | provenance | | -| Capture.cs:155:30:155:44 | access to local variable captureThrough3 : (...) => ... [captured tainted] : String | Capture.cs:155:30:155:44 | [post] access to local variable captureThrough3 : (...) => ... [captured sink35] : String | provenance | | +| Capture.cs:155:30:155:44 | access to local variable captureThrough3 : Func<String,String> [captured tainted] : String | Capture.cs:152:22:152:28 | access to parameter tainted : String | provenance | | | Capture.cs:155:30:155:44 | access to local variable captureThrough3 : Func<String,String> [captured tainted] : String | Capture.cs:155:30:155:44 | [post] access to local variable captureThrough3 : (...) => ... [captured sink35] : String | provenance | | -| Capture.cs:158:9:161:9 | CaptureThrough4(...) : CaptureThrough4 [captured tainted] : String | Capture.cs:162:22:162:36 | access to local function CaptureThrough4 : CaptureThrough4 [captured tainted] : String | provenance | | | Capture.cs:162:13:162:18 | access to local variable sink36 : String | Capture.cs:163:15:163:20 | access to local variable sink36 | provenance | | +| Capture.cs:162:22:162:36 | access to local function CaptureThrough4 : CaptureThrough4 [captured tainted] : String | Capture.cs:160:20:160:26 | access to parameter tainted : String | provenance | | | Capture.cs:162:22:162:36 | access to local function CaptureThrough4 : CaptureThrough4 [captured tainted] : String | Capture.cs:162:22:162:38 | call to local function CaptureThrough4 : String | provenance | | | Capture.cs:162:22:162:38 | call to local function CaptureThrough4 : String | Capture.cs:162:13:162:18 | access to local variable sink36 : String | provenance | | | Capture.cs:166:37:166:37 | p : String | Capture.cs:168:22:168:22 | access to parameter p : String | provenance | | | Capture.cs:170:9:170:23 | [post] access to local function CaptureThrough5 : CaptureThrough5 [captured sink37] : String | Capture.cs:171:15:171:20 | access to local variable sink37 | provenance | | | Capture.cs:170:25:170:31 | access to parameter tainted : String | Capture.cs:166:37:166:37 | p : String | provenance | | | Capture.cs:170:25:170:31 | access to parameter tainted : String | Capture.cs:170:9:170:23 | [post] access to local function CaptureThrough5 : CaptureThrough5 [captured sink37] : String | provenance | | -| Capture.cs:190:26:190:26 | s : String | Capture.cs:192:13:192:28 | M(...) : M [captured s] : String | provenance | | | Capture.cs:190:26:190:26 | s : String | Capture.cs:193:20:193:20 | access to local function M : M [captured s] : String | provenance | | -| Capture.cs:192:13:192:28 | M(...) : M [captured s] : String | Capture.cs:193:20:193:20 | access to local function M : M [captured s] : String | provenance | | +| Capture.cs:193:20:193:20 | access to local function M : M [captured s] : String | Capture.cs:192:27:192:27 | access to parameter s : String | provenance | | | Capture.cs:193:20:193:20 | access to local function M : M [captured s] : String | Capture.cs:193:20:193:22 | call to local function M : String | provenance | | | Capture.cs:196:13:196:18 | access to local variable sink38 : String | Capture.cs:197:15:197:20 | access to local variable sink38 | provenance | | | Capture.cs:196:22:196:32 | call to local function Id : String | Capture.cs:196:13:196:18 | access to local variable sink38 : String | provenance | | | Capture.cs:196:25:196:31 | access to parameter tainted : String | Capture.cs:190:26:190:26 | s : String | provenance | | | Capture.cs:196:25:196:31 | access to parameter tainted : String | Capture.cs:196:22:196:32 | call to local function Id : String | provenance | | -| Capture.cs:202:20:202:20 | s : String | Capture.cs:204:20:207:9 | (...) => ... : (...) => ... [captured s] : String | provenance | | | Capture.cs:202:20:202:20 | s : String | Capture.cs:208:9:208:9 | access to local variable a : Action [captured s] : String | provenance | | -| Capture.cs:204:16:204:16 | access to local variable a : (...) => ... [captured s] : String | Capture.cs:208:9:208:9 | access to local variable a : (...) => ... [captured s] : String | provenance | | -| Capture.cs:204:20:207:9 | (...) => ... : (...) => ... [captured s] : String | Capture.cs:204:16:204:16 | access to local variable a : (...) => ... [captured s] : String | provenance | | -| Capture.cs:208:9:208:9 | access to local variable a : (...) => ... [captured s] : String | Capture.cs:206:19:206:19 | access to parameter s | provenance | | | Capture.cs:208:9:208:9 | access to local variable a : Action [captured s] : String | Capture.cs:206:19:206:19 | access to parameter s | provenance | | | Capture.cs:211:21:211:34 | "taint source" : String | Capture.cs:202:20:202:20 | s : String | provenance | | | Capture.cs:213:22:213:22 | s : String | Capture.cs:215:16:218:9 | (...) => ... : (...) => ... [captured s] : String | provenance | | @@ -93,17 +74,13 @@ edges | Capture.cs:229:20:233:9 | (...) => ... : (...) => ... [captured x] : String | Capture.cs:231:19:231:19 | access to local variable x | provenance | | | Capture.cs:229:20:233:9 | [post] (...) => ... : (...) => ... [captured x] : String | Capture.cs:234:15:234:15 | access to local variable x | provenance | | | Capture.cs:232:17:232:30 | "taint source" : String | Capture.cs:229:20:233:9 | [post] (...) => ... : (...) => ... [captured x] : String | provenance | | -| Capture.cs:242:9:242:9 | [post] access to local variable c : Capture [field Field] : String | Capture.cs:244:20:248:9 | (...) => ... : (...) => ... [captured c, field Field] : String | provenance | | | Capture.cs:242:9:242:9 | [post] access to local variable c : Capture [field Field] : String | Capture.cs:249:9:249:9 | access to local variable a : Action [captured c, field Field] : String | provenance | | | Capture.cs:242:9:242:9 | [post] access to local variable c : Capture [field Field] : String | Capture.cs:251:15:251:15 | access to local variable c : Capture [field Field] : String | provenance | | | Capture.cs:242:19:242:32 | "taint source" : String | Capture.cs:242:9:242:9 | [post] access to local variable c : Capture [field Field] : String | provenance | | -| Capture.cs:244:16:244:16 | access to local variable a : (...) => ... [captured c, field Field] : String | Capture.cs:249:9:249:9 | access to local variable a : (...) => ... [captured c, field Field] : String | provenance | | -| Capture.cs:244:20:248:9 | (...) => ... : (...) => ... [captured c, field Field] : String | Capture.cs:244:16:244:16 | access to local variable a : (...) => ... [captured c, field Field] : String | provenance | | | Capture.cs:246:19:246:19 | access to local variable c : Capture [field Field] : String | Capture.cs:246:19:246:25 | access to field Field | provenance | | | Capture.cs:247:13:247:13 | [post] access to local variable c : Capture [field Field] : String | Capture.cs:249:9:249:9 | [post] access to local variable a : (...) => ... [captured c, field Field] : String | provenance | | | Capture.cs:247:23:247:36 | "taint source" : String | Capture.cs:247:13:247:13 | [post] access to local variable c : Capture [field Field] : String | provenance | | | Capture.cs:249:9:249:9 | [post] access to local variable a : (...) => ... [captured c, field Field] : String | Capture.cs:251:15:251:15 | access to local variable c : Capture [field Field] : String | provenance | | -| Capture.cs:249:9:249:9 | access to local variable a : (...) => ... [captured c, field Field] : String | Capture.cs:246:19:246:19 | access to local variable c : Capture [field Field] : String | provenance | | | Capture.cs:249:9:249:9 | access to local variable a : Action [captured c, field Field] : String | Capture.cs:246:19:246:19 | access to local variable c : Capture [field Field] : String | provenance | | | Capture.cs:251:15:251:15 | access to local variable c : Capture [field Field] : String | Capture.cs:251:15:251:21 | access to field Field | provenance | | | Capture.cs:264:13:264:13 | [post] access to local variable c : Capture [field Field] : String | Capture.cs:266:9:266:9 | [post] access to local variable a : (...) => ... [captured c, field Field] : String | provenance | | @@ -112,52 +89,30 @@ edges | Capture.cs:268:15:268:15 | access to local variable c : Capture [field Field] : String | Capture.cs:268:15:268:21 | access to field Field | provenance | | | Capture.cs:273:19:273:19 | x : String | Capture.cs:273:30:273:30 | access to parameter x | provenance | | | Capture.cs:273:34:273:47 | "taint source" : String | Capture.cs:355:45:355:45 | x : String | provenance | | -| Capture.cs:278:17:278:30 | "taint source" : String | Capture.cs:280:25:288:9 | (...) => ... : (...) => ... [captured x] : String | provenance | | | Capture.cs:278:17:278:30 | "taint source" : String | Capture.cs:290:9:290:14 | access to local variable middle : Action [captured x] : String | provenance | | | Capture.cs:278:17:278:30 | "taint source" : String | Capture.cs:292:15:292:15 | access to local variable x | provenance | | -| Capture.cs:280:16:280:21 | access to local variable middle : (...) => ... [captured x] : String | Capture.cs:290:9:290:14 | access to local variable middle : (...) => ... [captured x] : String | provenance | | -| Capture.cs:280:25:288:9 | (...) => ... : (...) => ... [captured x] : String | Capture.cs:280:16:280:21 | access to local variable middle : (...) => ... [captured x] : String | provenance | | -| Capture.cs:282:20:282:24 | access to local variable inner : (...) => ... [captured x] : String | Capture.cs:287:13:287:17 | access to local variable inner : (...) => ... [captured x] : String | provenance | | -| Capture.cs:282:28:286:13 | (...) => ... : (...) => ... [captured x] : String | Capture.cs:282:20:282:24 | access to local variable inner : (...) => ... [captured x] : String | provenance | | | Capture.cs:285:21:285:34 | "taint source" : String | Capture.cs:287:13:287:17 | [post] access to local variable inner : (...) => ... [captured x] : String | provenance | | | Capture.cs:287:13:287:17 | [post] access to local variable inner : (...) => ... [captured x] : String | Capture.cs:290:9:290:14 | [post] access to local variable middle : (...) => ... [captured x] : String | provenance | | -| Capture.cs:287:13:287:17 | access to local variable inner : (...) => ... [captured x] : String | Capture.cs:284:23:284:23 | access to local variable x | provenance | | | Capture.cs:287:13:287:17 | access to local variable inner : Action [captured x] : String | Capture.cs:284:23:284:23 | access to local variable x | provenance | | | Capture.cs:290:9:290:14 | [post] access to local variable middle : (...) => ... [captured x] : String | Capture.cs:292:15:292:15 | access to local variable x | provenance | | -| Capture.cs:290:9:290:14 | access to local variable middle : (...) => ... [captured x] : String | Capture.cs:282:28:286:13 | (...) => ... : (...) => ... [captured x] : String | provenance | | -| Capture.cs:290:9:290:14 | access to local variable middle : (...) => ... [captured x] : String | Capture.cs:287:13:287:17 | access to local variable inner : Action [captured x] : String | provenance | | -| Capture.cs:290:9:290:14 | access to local variable middle : Action [captured x] : String | Capture.cs:282:28:286:13 | (...) => ... : (...) => ... [captured x] : String | provenance | | | Capture.cs:290:9:290:14 | access to local variable middle : Action [captured x] : String | Capture.cs:287:13:287:17 | access to local variable inner : Action [captured x] : String | provenance | | -| Capture.cs:297:9:297:12 | [post] this access : Capture [field Field] : String | Capture.cs:299:20:303:9 | (...) => ... : (...) => ... [captured this in M10, field Field] : String | provenance | | | Capture.cs:297:9:297:12 | [post] this access : Capture [field Field] : String | Capture.cs:304:9:304:9 | access to local variable a : Action [captured this in M10, field Field] : String | provenance | | | Capture.cs:297:9:297:12 | [post] this access : Capture [field Field] : String | Capture.cs:306:15:306:18 | this access : Capture [field Field] : String | provenance | | | Capture.cs:297:22:297:35 | "taint source" : String | Capture.cs:297:9:297:12 | [post] this access : Capture [field Field] : String | provenance | | -| Capture.cs:299:16:299:16 | access to local variable a : (...) => ... [captured this in M10, field Field] : String | Capture.cs:304:9:304:9 | access to local variable a : (...) => ... [captured this in M10, field Field] : String | provenance | | -| Capture.cs:299:20:303:9 | (...) => ... : (...) => ... [captured this in M10, field Field] : String | Capture.cs:299:16:299:16 | access to local variable a : (...) => ... [captured this in M10, field Field] : String | provenance | | | Capture.cs:301:19:301:22 | this access : Capture [field Field] : String | Capture.cs:301:19:301:28 | access to field Field | provenance | | | Capture.cs:302:13:302:16 | [post] this access : Capture [field Field] : String | Capture.cs:304:9:304:9 | [post] access to local variable a : (...) => ... [captured this in M10, field Field] : String | provenance | | | Capture.cs:302:26:302:39 | "taint source" : String | Capture.cs:302:13:302:16 | [post] this access : Capture [field Field] : String | provenance | | | Capture.cs:304:9:304:9 | [post] access to local variable a : (...) => ... [captured this in M10, field Field] : String | Capture.cs:306:15:306:18 | this access : Capture [field Field] : String | provenance | | -| Capture.cs:304:9:304:9 | access to local variable a : (...) => ... [captured this in M10, field Field] : String | Capture.cs:301:19:301:22 | this access : Capture [field Field] : String | provenance | | | Capture.cs:304:9:304:9 | access to local variable a : Action [captured this in M10, field Field] : String | Capture.cs:301:19:301:22 | this access : Capture [field Field] : String | provenance | | | Capture.cs:306:15:306:18 | this access : Capture [field Field] : String | Capture.cs:306:15:306:24 | access to field Field | provenance | | | Capture.cs:311:17:311:30 | "taint source" : String | Capture.cs:312:15:312:15 | access to local variable x | provenance | | | Capture.cs:318:17:318:30 | "taint source" : String | Capture.cs:319:19:319:19 | access to local variable x | provenance | | -| Capture.cs:328:17:328:30 | "taint source" : String | Capture.cs:330:9:330:49 | CapturedLocalFunction(...) : CapturedLocalFunction [captured x] : String | provenance | | -| Capture.cs:328:17:328:30 | "taint source" : String | Capture.cs:332:9:332:65 | CapturingLocalFunction(...) : CapturingLocalFunction [captured x] : String | provenance | | | Capture.cs:328:17:328:30 | "taint source" : String | Capture.cs:334:9:334:30 | access to local function CapturingLocalFunction : CapturingLocalFunction [captured x] : String | provenance | | -| Capture.cs:330:9:330:49 | CapturedLocalFunction(...) : CapturedLocalFunction [captured x] : String | Capture.cs:332:42:332:62 | access to local function CapturedLocalFunction : CapturedLocalFunction [captured x] : String | provenance | | -| Capture.cs:332:9:332:65 | CapturingLocalFunction(...) : CapturingLocalFunction [captured x] : String | Capture.cs:334:9:334:30 | access to local function CapturingLocalFunction : CapturingLocalFunction [captured x] : String | provenance | | -| Capture.cs:332:42:332:62 | access to local function CapturedLocalFunction : CapturedLocalFunction [captured x] : String | Capture.cs:330:47:330:47 | access to local variable x | provenance | | | Capture.cs:332:42:332:62 | access to local function CapturedLocalFunction : CapturedLocalFunction [captured x] : String | Capture.cs:330:47:330:47 | access to local variable x | provenance | | | Capture.cs:334:9:334:30 | access to local function CapturingLocalFunction : CapturingLocalFunction [captured x] : String | Capture.cs:332:42:332:62 | access to local function CapturedLocalFunction : CapturedLocalFunction [captured x] : String | provenance | | | Capture.cs:339:17:339:30 | "taint source" : String | Capture.cs:341:33:341:46 | (...) => ... : (...) => ... [captured x] : String | provenance | | -| Capture.cs:341:33:341:46 | (...) => ... : (...) => ... [captured x] : String | Capture.cs:343:34:343:55 | (...) => ... : (...) => ... [captured capturedLambda, captured x] : String | provenance | | | Capture.cs:341:33:341:46 | (...) => ... : (...) => ... [captured x] : String | Capture.cs:345:9:345:23 | access to local variable capturingLambda : Action [captured capturedLambda, captured x] : String | provenance | | -| Capture.cs:343:16:343:30 | access to local variable capturingLambda : (...) => ... [captured capturedLambda, captured x] : String | Capture.cs:345:9:345:23 | access to local variable capturingLambda : (...) => ... [captured capturedLambda, captured x] : String | provenance | | -| Capture.cs:343:34:343:55 | (...) => ... : (...) => ... [captured capturedLambda, captured x] : String | Capture.cs:343:16:343:30 | access to local variable capturingLambda : (...) => ... [captured capturedLambda, captured x] : String | provenance | | | Capture.cs:343:40:343:53 | access to local variable capturedLambda : (...) => ... [captured x] : String | Capture.cs:341:45:341:45 | access to local variable x | provenance | | -| Capture.cs:345:9:345:23 | access to local variable capturingLambda : (...) => ... [captured capturedLambda, captured x] : String | Capture.cs:343:40:343:53 | access to local variable capturedLambda : (...) => ... [captured x] : String | provenance | | | Capture.cs:345:9:345:23 | access to local variable capturingLambda : Action [captured capturedLambda, captured x] : String | Capture.cs:343:40:343:53 | access to local variable capturedLambda : (...) => ... [captured x] : String | provenance | | | Capture.cs:350:34:350:34 | a : (...) => ... [captured s] : String | Capture.cs:352:9:352:9 | access to parameter a : (...) => ... [captured s] : String | provenance | | | Capture.cs:350:34:350:34 | a : (...) => ... [captured sink39] : String | Capture.cs:352:9:352:9 | access to parameter a : (...) => ... [captured sink39] : String | provenance | | @@ -296,14 +251,18 @@ edges | GlobalDataFlow.cs:85:22:85:128 | call to method Zip<String,String,String> : IEnumerable<T> [element] : String | GlobalDataFlow.cs:85:22:85:136 | call to method First<String> : String | provenance | | | GlobalDataFlow.cs:85:22:85:136 | call to method First<String> : String | GlobalDataFlow.cs:85:13:85:18 | access to local variable sink15 : String | provenance | | | GlobalDataFlow.cs:85:23:85:66 | (...) ... : null [element] : String | GlobalDataFlow.cs:85:22:85:128 | call to method Zip<String,String,String> : IEnumerable<T> [element] : String | provenance | | +| GlobalDataFlow.cs:85:23:85:66 | (...) ... : null [element] : String | GlobalDataFlow.cs:85:118:85:118 | x : String | provenance | | | GlobalDataFlow.cs:85:57:85:66 | { ..., ... } : null [element] : String | GlobalDataFlow.cs:85:23:85:66 | (...) ... : null [element] : String | provenance | | | GlobalDataFlow.cs:85:59:85:64 | access to local variable sink14 : String | GlobalDataFlow.cs:85:57:85:66 | { ..., ... } : null [element] : String | provenance | | +| GlobalDataFlow.cs:85:118:85:118 | x : String | GlobalDataFlow.cs:85:127:85:127 | access to parameter x : String | provenance | | | GlobalDataFlow.cs:87:13:87:18 | access to local variable sink16 : String | GlobalDataFlow.cs:88:15:88:20 | access to local variable sink16 | provenance | | | GlobalDataFlow.cs:87:22:87:128 | call to method Zip<String,String,String> : IEnumerable<T> [element] : String | GlobalDataFlow.cs:87:22:87:136 | call to method First<String> : String | provenance | | | GlobalDataFlow.cs:87:22:87:136 | call to method First<String> : String | GlobalDataFlow.cs:87:13:87:18 | access to local variable sink16 : String | provenance | | | GlobalDataFlow.cs:87:70:87:113 | (...) ... : null [element] : String | GlobalDataFlow.cs:87:22:87:128 | call to method Zip<String,String,String> : IEnumerable<T> [element] : String | provenance | | +| GlobalDataFlow.cs:87:70:87:113 | (...) ... : null [element] : String | GlobalDataFlow.cs:87:121:87:121 | y : String | provenance | | | GlobalDataFlow.cs:87:104:87:113 | { ..., ... } : null [element] : String | GlobalDataFlow.cs:87:70:87:113 | (...) ... : null [element] : String | provenance | | | GlobalDataFlow.cs:87:106:87:111 | access to local variable sink15 : String | GlobalDataFlow.cs:87:104:87:113 | { ..., ... } : null [element] : String | provenance | | +| GlobalDataFlow.cs:87:121:87:121 | y : String | GlobalDataFlow.cs:87:127:87:127 | access to parameter y : String | provenance | | | GlobalDataFlow.cs:89:13:89:18 | access to local variable sink17 : String | GlobalDataFlow.cs:90:15:90:20 | access to local variable sink17 | provenance | | | GlobalDataFlow.cs:89:22:89:110 | call to method Aggregate<String,String,String> : String | GlobalDataFlow.cs:89:13:89:18 | access to local variable sink17 : String | provenance | | | GlobalDataFlow.cs:89:23:89:66 | (...) ... : null [element] : String | GlobalDataFlow.cs:89:22:89:110 | call to method Aggregate<String,String,String> : String | provenance | | @@ -358,7 +317,9 @@ edges | GlobalDataFlow.cs:211:44:211:61 | { ..., ... } : null [element] : String | GlobalDataFlow.cs:211:38:211:61 | array creation of type String[] : null [element] : String | provenance | | | GlobalDataFlow.cs:211:46:211:59 | "taint source" : String | GlobalDataFlow.cs:211:44:211:61 | { ..., ... } : null [element] : String | provenance | | | GlobalDataFlow.cs:214:35:214:45 | sinkParam10 : String | GlobalDataFlow.cs:214:58:214:68 | access to parameter sinkParam10 | provenance | | +| GlobalDataFlow.cs:214:35:214:45 | sinkParam10 : String | GlobalDataFlow.cs:214:79:214:89 | access to parameter sinkParam10 : String | provenance | | | GlobalDataFlow.cs:215:71:215:71 | x : String | GlobalDataFlow.cs:215:89:215:89 | access to parameter x : String | provenance | | +| GlobalDataFlow.cs:215:89:215:89 | access to parameter x : String | GlobalDataFlow.cs:215:76:215:90 | call to method ReturnCheck2<String> : String | provenance | | | GlobalDataFlow.cs:215:89:215:89 | access to parameter x : String | GlobalDataFlow.cs:321:32:321:41 | sinkParam9 : String | provenance | | | GlobalDataFlow.cs:216:13:216:18 | access to local variable sink24 : String | GlobalDataFlow.cs:217:15:217:20 | access to local variable sink24 | provenance | | | GlobalDataFlow.cs:216:22:216:28 | access to local variable tainted : IQueryable<T> [element] : String | GlobalDataFlow.cs:214:35:214:45 | sinkParam10 : String | provenance | | @@ -403,8 +364,11 @@ edges | GlobalDataFlow.cs:304:32:304:32 | x : String | GlobalDataFlow.cs:306:9:306:9 | access to parameter y : String | provenance | | | GlobalDataFlow.cs:310:32:310:32 | x : String | GlobalDataFlow.cs:312:9:312:9 | access to parameter y : String | provenance | | | GlobalDataFlow.cs:315:31:315:40 | sinkParam8 : String | GlobalDataFlow.cs:317:15:317:24 | access to parameter sinkParam8 | provenance | | +| GlobalDataFlow.cs:315:31:315:40 | sinkParam8 : String | GlobalDataFlow.cs:318:16:318:25 | access to parameter sinkParam8 : String | provenance | | | GlobalDataFlow.cs:321:32:321:41 | sinkParam9 : String | GlobalDataFlow.cs:323:15:323:24 | access to parameter sinkParam9 | provenance | | +| GlobalDataFlow.cs:321:32:321:41 | sinkParam9 : String | GlobalDataFlow.cs:324:16:324:25 | access to parameter sinkParam9 : String | provenance | | | GlobalDataFlow.cs:327:32:327:42 | sinkParam11 : String | GlobalDataFlow.cs:329:15:329:25 | access to parameter sinkParam11 | provenance | | +| GlobalDataFlow.cs:327:32:327:42 | sinkParam11 : String | GlobalDataFlow.cs:330:16:330:26 | access to parameter sinkParam11 : String | provenance | | | GlobalDataFlow.cs:341:16:341:29 | "taint source" : String | GlobalDataFlow.cs:157:21:157:25 | call to method Out : String | provenance | | | GlobalDataFlow.cs:341:16:341:29 | "taint source" : String | GlobalDataFlow.cs:193:22:193:42 | object creation of type Lazy<String> : Lazy<T> [property Value] : String | provenance | | | GlobalDataFlow.cs:346:9:346:9 | access to parameter x : String | GlobalDataFlow.cs:160:20:160:24 | access to local variable sink7 : String | provenance | | @@ -569,24 +533,18 @@ edges | Splitting.cs:48:36:48:49 | "taint source" : String | Splitting.cs:48:13:48:13 | access to local variable s : String | provenance | | nodes | Capture.cs:7:20:7:26 | tainted : String | semmle.label | tainted : String | -| Capture.cs:9:9:13:9 | CaptureIn1(...) : CaptureIn1 [captured tainted] : String | semmle.label | CaptureIn1(...) : CaptureIn1 [captured tainted] : String | | Capture.cs:11:17:11:22 | access to local variable sink27 : String | semmle.label | access to local variable sink27 : String | | Capture.cs:11:26:11:32 | access to parameter tainted : String | semmle.label | access to parameter tainted : String | | Capture.cs:12:19:12:24 | access to local variable sink27 | semmle.label | access to local variable sink27 | | Capture.cs:14:9:14:18 | access to local function CaptureIn1 : CaptureIn1 [captured tainted] : String | semmle.label | access to local function CaptureIn1 : CaptureIn1 [captured tainted] : String | -| Capture.cs:16:9:24:9 | CaptureIn2(...) : CaptureIn2 [captured tainted] : String | semmle.label | CaptureIn2(...) : CaptureIn2 [captured tainted] : String | -| Capture.cs:18:13:22:13 | M(...) : M [captured tainted] : String | semmle.label | M(...) : M [captured tainted] : String | | Capture.cs:20:21:20:26 | access to local variable sink28 : String | semmle.label | access to local variable sink28 : String | | Capture.cs:20:30:20:36 | access to parameter tainted : String | semmle.label | access to parameter tainted : String | | Capture.cs:21:23:21:28 | access to local variable sink28 | semmle.label | access to local variable sink28 | | Capture.cs:23:13:23:13 | access to local function M : M [captured tainted] : String | semmle.label | access to local function M : M [captured tainted] : String | | Capture.cs:25:9:25:18 | access to local function CaptureIn2 : CaptureIn2 [captured tainted] : String | semmle.label | access to local function CaptureIn2 : CaptureIn2 [captured tainted] : String | -| Capture.cs:27:30:27:39 | access to local variable captureIn3 : (...) => ... [captured tainted] : String | semmle.label | access to local variable captureIn3 : (...) => ... [captured tainted] : String | -| Capture.cs:27:43:32:9 | (...) => ... : (...) => ... [captured tainted] : String | semmle.label | (...) => ... : (...) => ... [captured tainted] : String | | Capture.cs:29:17:29:22 | access to local variable sink29 : String | semmle.label | access to local variable sink29 : String | | Capture.cs:29:26:29:32 | access to parameter tainted : String | semmle.label | access to parameter tainted : String | | Capture.cs:30:19:30:24 | access to local variable sink29 | semmle.label | access to local variable sink29 | -| Capture.cs:33:30:33:39 | access to local variable captureIn3 : (...) => ... [captured tainted] : String | semmle.label | access to local variable captureIn3 : (...) => ... [captured tainted] : String | | Capture.cs:33:30:33:39 | access to local variable captureIn3 : Func<String,String> [captured tainted] : String | semmle.label | access to local variable captureIn3 : Func<String,String> [captured tainted] : String | | Capture.cs:50:50:50:55 | sink39 : String | semmle.label | sink39 : String | | Capture.cs:52:23:59:13 | (...) => ... : (...) => ... [captured sink39] : String | semmle.label | (...) => ... : (...) => ... [captured sink39] : String | @@ -608,21 +566,21 @@ nodes | Capture.cs:123:9:123:33 | [post] access to local function CaptureOutMultipleLambdas : CaptureOutMultipleLambdas [captured sink40] : String | semmle.label | [post] access to local function CaptureOutMultipleLambdas : CaptureOutMultipleLambdas [captured sink40] : String | | Capture.cs:124:15:124:20 | access to local variable sink40 | semmle.label | access to local variable sink40 | | Capture.cs:127:25:127:31 | tainted : String | semmle.label | tainted : String | -| Capture.cs:130:9:133:9 | CaptureThrough1(...) : CaptureThrough1 [captured tainted] : String | semmle.label | CaptureThrough1(...) : CaptureThrough1 [captured tainted] : String | +| Capture.cs:132:22:132:28 | access to parameter tainted : String | semmle.label | access to parameter tainted : String | | Capture.cs:134:9:134:23 | [post] access to local function CaptureThrough1 : CaptureThrough1 [captured sink33] : String | semmle.label | [post] access to local function CaptureThrough1 : CaptureThrough1 [captured sink33] : String | | Capture.cs:134:9:134:23 | access to local function CaptureThrough1 : CaptureThrough1 [captured tainted] : String | semmle.label | access to local function CaptureThrough1 : CaptureThrough1 [captured tainted] : String | | Capture.cs:135:15:135:20 | access to local variable sink33 | semmle.label | access to local variable sink33 | -| Capture.cs:138:9:145:9 | CaptureThrough2(...) : CaptureThrough2 [captured tainted] : String | semmle.label | CaptureThrough2(...) : CaptureThrough2 [captured tainted] : String | +| Capture.cs:142:26:142:32 | access to parameter tainted : String | semmle.label | access to parameter tainted : String | +| Capture.cs:144:13:144:13 | [post] access to local function M : M [captured sink34] : String | semmle.label | [post] access to local function M : M [captured sink34] : String | +| Capture.cs:144:13:144:13 | access to local function M : M [captured tainted] : String | semmle.label | access to local function M : M [captured tainted] : String | | Capture.cs:146:9:146:23 | [post] access to local function CaptureThrough2 : CaptureThrough2 [captured sink34] : String | semmle.label | [post] access to local function CaptureThrough2 : CaptureThrough2 [captured sink34] : String | | Capture.cs:146:9:146:23 | access to local function CaptureThrough2 : CaptureThrough2 [captured tainted] : String | semmle.label | access to local function CaptureThrough2 : CaptureThrough2 [captured tainted] : String | | Capture.cs:147:15:147:20 | access to local variable sink34 | semmle.label | access to local variable sink34 | -| Capture.cs:150:30:150:44 | access to local variable captureThrough3 : (...) => ... [captured tainted] : String | semmle.label | access to local variable captureThrough3 : (...) => ... [captured tainted] : String | -| Capture.cs:150:48:154:9 | (...) => ... : (...) => ... [captured tainted] : String | semmle.label | (...) => ... : (...) => ... [captured tainted] : String | +| Capture.cs:152:22:152:28 | access to parameter tainted : String | semmle.label | access to parameter tainted : String | | Capture.cs:155:30:155:44 | [post] access to local variable captureThrough3 : (...) => ... [captured sink35] : String | semmle.label | [post] access to local variable captureThrough3 : (...) => ... [captured sink35] : String | -| Capture.cs:155:30:155:44 | access to local variable captureThrough3 : (...) => ... [captured tainted] : String | semmle.label | access to local variable captureThrough3 : (...) => ... [captured tainted] : String | | Capture.cs:155:30:155:44 | access to local variable captureThrough3 : Func<String,String> [captured tainted] : String | semmle.label | access to local variable captureThrough3 : Func<String,String> [captured tainted] : String | | Capture.cs:156:15:156:20 | access to local variable sink35 | semmle.label | access to local variable sink35 | -| Capture.cs:158:9:161:9 | CaptureThrough4(...) : CaptureThrough4 [captured tainted] : String | semmle.label | CaptureThrough4(...) : CaptureThrough4 [captured tainted] : String | +| Capture.cs:160:20:160:26 | access to parameter tainted : String | semmle.label | access to parameter tainted : String | | Capture.cs:162:13:162:18 | access to local variable sink36 : String | semmle.label | access to local variable sink36 : String | | Capture.cs:162:22:162:36 | access to local function CaptureThrough4 : CaptureThrough4 [captured tainted] : String | semmle.label | access to local function CaptureThrough4 : CaptureThrough4 [captured tainted] : String | | Capture.cs:162:22:162:38 | call to local function CaptureThrough4 : String | semmle.label | call to local function CaptureThrough4 : String | @@ -633,7 +591,7 @@ nodes | Capture.cs:170:25:170:31 | access to parameter tainted : String | semmle.label | access to parameter tainted : String | | Capture.cs:171:15:171:20 | access to local variable sink37 | semmle.label | access to local variable sink37 | | Capture.cs:190:26:190:26 | s : String | semmle.label | s : String | -| Capture.cs:192:13:192:28 | M(...) : M [captured s] : String | semmle.label | M(...) : M [captured s] : String | +| Capture.cs:192:27:192:27 | access to parameter s : String | semmle.label | access to parameter s : String | | Capture.cs:193:20:193:20 | access to local function M : M [captured s] : String | semmle.label | access to local function M : M [captured s] : String | | Capture.cs:193:20:193:22 | call to local function M : String | semmle.label | call to local function M : String | | Capture.cs:196:13:196:18 | access to local variable sink38 : String | semmle.label | access to local variable sink38 : String | @@ -641,10 +599,7 @@ nodes | Capture.cs:196:25:196:31 | access to parameter tainted : String | semmle.label | access to parameter tainted : String | | Capture.cs:197:15:197:20 | access to local variable sink38 | semmle.label | access to local variable sink38 | | Capture.cs:202:20:202:20 | s : String | semmle.label | s : String | -| Capture.cs:204:16:204:16 | access to local variable a : (...) => ... [captured s] : String | semmle.label | access to local variable a : (...) => ... [captured s] : String | -| Capture.cs:204:20:207:9 | (...) => ... : (...) => ... [captured s] : String | semmle.label | (...) => ... : (...) => ... [captured s] : String | | Capture.cs:206:19:206:19 | access to parameter s | semmle.label | access to parameter s | -| Capture.cs:208:9:208:9 | access to local variable a : (...) => ... [captured s] : String | semmle.label | access to local variable a : (...) => ... [captured s] : String | | Capture.cs:208:9:208:9 | access to local variable a : Action [captured s] : String | semmle.label | access to local variable a : Action [captured s] : String | | Capture.cs:211:21:211:34 | "taint source" : String | semmle.label | "taint source" : String | | Capture.cs:213:22:213:22 | s : String | semmle.label | s : String | @@ -662,14 +617,11 @@ nodes | Capture.cs:234:15:234:15 | access to local variable x | semmle.label | access to local variable x | | Capture.cs:242:9:242:9 | [post] access to local variable c : Capture [field Field] : String | semmle.label | [post] access to local variable c : Capture [field Field] : String | | Capture.cs:242:19:242:32 | "taint source" : String | semmle.label | "taint source" : String | -| Capture.cs:244:16:244:16 | access to local variable a : (...) => ... [captured c, field Field] : String | semmle.label | access to local variable a : (...) => ... [captured c, field Field] : String | -| Capture.cs:244:20:248:9 | (...) => ... : (...) => ... [captured c, field Field] : String | semmle.label | (...) => ... : (...) => ... [captured c, field Field] : String | | Capture.cs:246:19:246:19 | access to local variable c : Capture [field Field] : String | semmle.label | access to local variable c : Capture [field Field] : String | | Capture.cs:246:19:246:25 | access to field Field | semmle.label | access to field Field | | Capture.cs:247:13:247:13 | [post] access to local variable c : Capture [field Field] : String | semmle.label | [post] access to local variable c : Capture [field Field] : String | | Capture.cs:247:23:247:36 | "taint source" : String | semmle.label | "taint source" : String | | Capture.cs:249:9:249:9 | [post] access to local variable a : (...) => ... [captured c, field Field] : String | semmle.label | [post] access to local variable a : (...) => ... [captured c, field Field] : String | -| Capture.cs:249:9:249:9 | access to local variable a : (...) => ... [captured c, field Field] : String | semmle.label | access to local variable a : (...) => ... [captured c, field Field] : String | | Capture.cs:249:9:249:9 | access to local variable a : Action [captured c, field Field] : String | semmle.label | access to local variable a : Action [captured c, field Field] : String | | Capture.cs:251:15:251:15 | access to local variable c : Capture [field Field] : String | semmle.label | access to local variable c : Capture [field Field] : String | | Capture.cs:251:15:251:21 | access to field Field | semmle.label | access to field Field | @@ -682,29 +634,20 @@ nodes | Capture.cs:273:30:273:30 | access to parameter x | semmle.label | access to parameter x | | Capture.cs:273:34:273:47 | "taint source" : String | semmle.label | "taint source" : String | | Capture.cs:278:17:278:30 | "taint source" : String | semmle.label | "taint source" : String | -| Capture.cs:280:16:280:21 | access to local variable middle : (...) => ... [captured x] : String | semmle.label | access to local variable middle : (...) => ... [captured x] : String | -| Capture.cs:280:25:288:9 | (...) => ... : (...) => ... [captured x] : String | semmle.label | (...) => ... : (...) => ... [captured x] : String | -| Capture.cs:282:20:282:24 | access to local variable inner : (...) => ... [captured x] : String | semmle.label | access to local variable inner : (...) => ... [captured x] : String | -| Capture.cs:282:28:286:13 | (...) => ... : (...) => ... [captured x] : String | semmle.label | (...) => ... : (...) => ... [captured x] : String | | Capture.cs:284:23:284:23 | access to local variable x | semmle.label | access to local variable x | | Capture.cs:285:21:285:34 | "taint source" : String | semmle.label | "taint source" : String | | Capture.cs:287:13:287:17 | [post] access to local variable inner : (...) => ... [captured x] : String | semmle.label | [post] access to local variable inner : (...) => ... [captured x] : String | -| Capture.cs:287:13:287:17 | access to local variable inner : (...) => ... [captured x] : String | semmle.label | access to local variable inner : (...) => ... [captured x] : String | | Capture.cs:287:13:287:17 | access to local variable inner : Action [captured x] : String | semmle.label | access to local variable inner : Action [captured x] : String | | Capture.cs:290:9:290:14 | [post] access to local variable middle : (...) => ... [captured x] : String | semmle.label | [post] access to local variable middle : (...) => ... [captured x] : String | -| Capture.cs:290:9:290:14 | access to local variable middle : (...) => ... [captured x] : String | semmle.label | access to local variable middle : (...) => ... [captured x] : String | | Capture.cs:290:9:290:14 | access to local variable middle : Action [captured x] : String | semmle.label | access to local variable middle : Action [captured x] : String | | Capture.cs:292:15:292:15 | access to local variable x | semmle.label | access to local variable x | | Capture.cs:297:9:297:12 | [post] this access : Capture [field Field] : String | semmle.label | [post] this access : Capture [field Field] : String | | Capture.cs:297:22:297:35 | "taint source" : String | semmle.label | "taint source" : String | -| Capture.cs:299:16:299:16 | access to local variable a : (...) => ... [captured this in M10, field Field] : String | semmle.label | access to local variable a : (...) => ... [captured this in M10, field Field] : String | -| Capture.cs:299:20:303:9 | (...) => ... : (...) => ... [captured this in M10, field Field] : String | semmle.label | (...) => ... : (...) => ... [captured this in M10, field Field] : String | | Capture.cs:301:19:301:22 | this access : Capture [field Field] : String | semmle.label | this access : Capture [field Field] : String | | Capture.cs:301:19:301:28 | access to field Field | semmle.label | access to field Field | | Capture.cs:302:13:302:16 | [post] this access : Capture [field Field] : String | semmle.label | [post] this access : Capture [field Field] : String | | Capture.cs:302:26:302:39 | "taint source" : String | semmle.label | "taint source" : String | | Capture.cs:304:9:304:9 | [post] access to local variable a : (...) => ... [captured this in M10, field Field] : String | semmle.label | [post] access to local variable a : (...) => ... [captured this in M10, field Field] : String | -| Capture.cs:304:9:304:9 | access to local variable a : (...) => ... [captured this in M10, field Field] : String | semmle.label | access to local variable a : (...) => ... [captured this in M10, field Field] : String | | Capture.cs:304:9:304:9 | access to local variable a : Action [captured this in M10, field Field] : String | semmle.label | access to local variable a : Action [captured this in M10, field Field] : String | | Capture.cs:306:15:306:18 | this access : Capture [field Field] : String | semmle.label | this access : Capture [field Field] : String | | Capture.cs:306:15:306:24 | access to field Field | semmle.label | access to field Field | @@ -713,19 +656,13 @@ nodes | Capture.cs:318:17:318:30 | "taint source" : String | semmle.label | "taint source" : String | | Capture.cs:319:19:319:19 | access to local variable x | semmle.label | access to local variable x | | Capture.cs:328:17:328:30 | "taint source" : String | semmle.label | "taint source" : String | -| Capture.cs:330:9:330:49 | CapturedLocalFunction(...) : CapturedLocalFunction [captured x] : String | semmle.label | CapturedLocalFunction(...) : CapturedLocalFunction [captured x] : String | | Capture.cs:330:47:330:47 | access to local variable x | semmle.label | access to local variable x | -| Capture.cs:332:9:332:65 | CapturingLocalFunction(...) : CapturingLocalFunction [captured x] : String | semmle.label | CapturingLocalFunction(...) : CapturingLocalFunction [captured x] : String | -| Capture.cs:332:42:332:62 | access to local function CapturedLocalFunction : CapturedLocalFunction [captured x] : String | semmle.label | access to local function CapturedLocalFunction : CapturedLocalFunction [captured x] : String | | Capture.cs:332:42:332:62 | access to local function CapturedLocalFunction : CapturedLocalFunction [captured x] : String | semmle.label | access to local function CapturedLocalFunction : CapturedLocalFunction [captured x] : String | | Capture.cs:334:9:334:30 | access to local function CapturingLocalFunction : CapturingLocalFunction [captured x] : String | semmle.label | access to local function CapturingLocalFunction : CapturingLocalFunction [captured x] : String | | Capture.cs:339:17:339:30 | "taint source" : String | semmle.label | "taint source" : String | | Capture.cs:341:33:341:46 | (...) => ... : (...) => ... [captured x] : String | semmle.label | (...) => ... : (...) => ... [captured x] : String | | Capture.cs:341:45:341:45 | access to local variable x | semmle.label | access to local variable x | -| Capture.cs:343:16:343:30 | access to local variable capturingLambda : (...) => ... [captured capturedLambda, captured x] : String | semmle.label | access to local variable capturingLambda : (...) => ... [captured capturedLambda, captured x] : String | -| Capture.cs:343:34:343:55 | (...) => ... : (...) => ... [captured capturedLambda, captured x] : String | semmle.label | (...) => ... : (...) => ... [captured capturedLambda, captured x] : String | | Capture.cs:343:40:343:53 | access to local variable capturedLambda : (...) => ... [captured x] : String | semmle.label | access to local variable capturedLambda : (...) => ... [captured x] : String | -| Capture.cs:345:9:345:23 | access to local variable capturingLambda : (...) => ... [captured capturedLambda, captured x] : String | semmle.label | access to local variable capturingLambda : (...) => ... [captured capturedLambda, captured x] : String | | Capture.cs:345:9:345:23 | access to local variable capturingLambda : Action [captured capturedLambda, captured x] : String | semmle.label | access to local variable capturingLambda : Action [captured capturedLambda, captured x] : String | | Capture.cs:350:34:350:34 | a : (...) => ... [captured s] : String | semmle.label | a : (...) => ... [captured s] : String | | Capture.cs:350:34:350:34 | a : (...) => ... [captured sink39] : String | semmle.label | a : (...) => ... [captured sink39] : String | @@ -794,6 +731,8 @@ nodes | GlobalDataFlow.cs:85:23:85:66 | (...) ... : null [element] : String | semmle.label | (...) ... : null [element] : String | | GlobalDataFlow.cs:85:57:85:66 | { ..., ... } : null [element] : String | semmle.label | { ..., ... } : null [element] : String | | GlobalDataFlow.cs:85:59:85:64 | access to local variable sink14 : String | semmle.label | access to local variable sink14 : String | +| GlobalDataFlow.cs:85:118:85:118 | x : String | semmle.label | x : String | +| GlobalDataFlow.cs:85:127:85:127 | access to parameter x : String | semmle.label | access to parameter x : String | | GlobalDataFlow.cs:86:15:86:20 | access to local variable sink15 | semmle.label | access to local variable sink15 | | GlobalDataFlow.cs:87:13:87:18 | access to local variable sink16 : String | semmle.label | access to local variable sink16 : String | | GlobalDataFlow.cs:87:22:87:128 | call to method Zip<String,String,String> : IEnumerable<T> [element] : String | semmle.label | call to method Zip<String,String,String> : IEnumerable<T> [element] : String | @@ -801,6 +740,8 @@ nodes | GlobalDataFlow.cs:87:70:87:113 | (...) ... : null [element] : String | semmle.label | (...) ... : null [element] : String | | GlobalDataFlow.cs:87:104:87:113 | { ..., ... } : null [element] : String | semmle.label | { ..., ... } : null [element] : String | | GlobalDataFlow.cs:87:106:87:111 | access to local variable sink15 : String | semmle.label | access to local variable sink15 : String | +| GlobalDataFlow.cs:87:121:87:121 | y : String | semmle.label | y : String | +| GlobalDataFlow.cs:87:127:87:127 | access to parameter y : String | semmle.label | access to parameter y : String | | GlobalDataFlow.cs:88:15:88:20 | access to local variable sink16 | semmle.label | access to local variable sink16 | | GlobalDataFlow.cs:89:13:89:18 | access to local variable sink17 : String | semmle.label | access to local variable sink17 : String | | GlobalDataFlow.cs:89:22:89:110 | call to method Aggregate<String,String,String> : String | semmle.label | call to method Aggregate<String,String,String> : String | @@ -864,7 +805,9 @@ nodes | GlobalDataFlow.cs:211:46:211:59 | "taint source" : String | semmle.label | "taint source" : String | | GlobalDataFlow.cs:214:35:214:45 | sinkParam10 : String | semmle.label | sinkParam10 : String | | GlobalDataFlow.cs:214:58:214:68 | access to parameter sinkParam10 | semmle.label | access to parameter sinkParam10 | +| GlobalDataFlow.cs:214:79:214:89 | access to parameter sinkParam10 : String | semmle.label | access to parameter sinkParam10 : String | | GlobalDataFlow.cs:215:71:215:71 | x : String | semmle.label | x : String | +| GlobalDataFlow.cs:215:76:215:90 | call to method ReturnCheck2<String> : String | semmle.label | call to method ReturnCheck2<String> : String | | GlobalDataFlow.cs:215:89:215:89 | access to parameter x : String | semmle.label | access to parameter x : String | | GlobalDataFlow.cs:216:13:216:18 | access to local variable sink24 : String | semmle.label | access to local variable sink24 : String | | GlobalDataFlow.cs:216:22:216:28 | access to local variable tainted : IQueryable<T> [element] : String | semmle.label | access to local variable tainted : IQueryable<T> [element] : String | @@ -920,10 +863,13 @@ nodes | GlobalDataFlow.cs:312:9:312:9 | access to parameter y : String | semmle.label | access to parameter y : String | | GlobalDataFlow.cs:315:31:315:40 | sinkParam8 : String | semmle.label | sinkParam8 : String | | GlobalDataFlow.cs:317:15:317:24 | access to parameter sinkParam8 | semmle.label | access to parameter sinkParam8 | +| GlobalDataFlow.cs:318:16:318:25 | access to parameter sinkParam8 : String | semmle.label | access to parameter sinkParam8 : String | | GlobalDataFlow.cs:321:32:321:41 | sinkParam9 : String | semmle.label | sinkParam9 : String | | GlobalDataFlow.cs:323:15:323:24 | access to parameter sinkParam9 | semmle.label | access to parameter sinkParam9 | +| GlobalDataFlow.cs:324:16:324:25 | access to parameter sinkParam9 : String | semmle.label | access to parameter sinkParam9 : String | | GlobalDataFlow.cs:327:32:327:42 | sinkParam11 : String | semmle.label | sinkParam11 : String | | GlobalDataFlow.cs:329:15:329:25 | access to parameter sinkParam11 | semmle.label | access to parameter sinkParam11 | +| GlobalDataFlow.cs:330:16:330:26 | access to parameter sinkParam11 : String | semmle.label | access to parameter sinkParam11 : String | | GlobalDataFlow.cs:341:16:341:29 | "taint source" : String | semmle.label | "taint source" : String | | GlobalDataFlow.cs:346:9:346:9 | access to parameter x : String | semmle.label | access to parameter x : String | | GlobalDataFlow.cs:346:13:346:26 | "taint source" : String | semmle.label | "taint source" : String | @@ -1092,7 +1038,13 @@ nodes | Splitting.cs:50:19:50:19 | access to local variable s | semmle.label | access to local variable s | | Splitting.cs:52:19:52:19 | access to local variable s | semmle.label | access to local variable s | subpaths +| Capture.cs:134:9:134:23 | access to local function CaptureThrough1 : CaptureThrough1 [captured tainted] : String | Capture.cs:132:22:132:28 | access to parameter tainted : String | Capture.cs:132:22:132:28 | access to parameter tainted : String | Capture.cs:134:9:134:23 | [post] access to local function CaptureThrough1 : CaptureThrough1 [captured sink33] : String | +| Capture.cs:144:13:144:13 | access to local function M : M [captured tainted] : String | Capture.cs:142:26:142:32 | access to parameter tainted : String | Capture.cs:142:26:142:32 | access to parameter tainted : String | Capture.cs:144:13:144:13 | [post] access to local function M : M [captured sink34] : String | +| Capture.cs:146:9:146:23 | access to local function CaptureThrough2 : CaptureThrough2 [captured tainted] : String | Capture.cs:144:13:144:13 | access to local function M : M [captured tainted] : String | Capture.cs:144:13:144:13 | [post] access to local function M : M [captured sink34] : String | Capture.cs:146:9:146:23 | [post] access to local function CaptureThrough2 : CaptureThrough2 [captured sink34] : String | +| Capture.cs:155:30:155:44 | access to local variable captureThrough3 : Func<String,String> [captured tainted] : String | Capture.cs:152:22:152:28 | access to parameter tainted : String | Capture.cs:152:22:152:28 | access to parameter tainted : String | Capture.cs:155:30:155:44 | [post] access to local variable captureThrough3 : (...) => ... [captured sink35] : String | +| Capture.cs:162:22:162:36 | access to local function CaptureThrough4 : CaptureThrough4 [captured tainted] : String | Capture.cs:160:20:160:26 | access to parameter tainted : String | Capture.cs:160:20:160:26 | access to parameter tainted : String | Capture.cs:162:22:162:38 | call to local function CaptureThrough4 : String | | Capture.cs:170:25:170:31 | access to parameter tainted : String | Capture.cs:166:37:166:37 | p : String | Capture.cs:168:22:168:22 | access to parameter p : String | Capture.cs:170:9:170:23 | [post] access to local function CaptureThrough5 : CaptureThrough5 [captured sink37] : String | +| Capture.cs:193:20:193:20 | access to local function M : M [captured s] : String | Capture.cs:192:27:192:27 | access to parameter s : String | Capture.cs:192:27:192:27 | access to parameter s : String | Capture.cs:193:20:193:22 | call to local function M : String | | Capture.cs:196:25:196:31 | access to parameter tainted : String | Capture.cs:190:26:190:26 | s : String | Capture.cs:193:20:193:22 | call to local function M : String | Capture.cs:196:22:196:32 | call to local function Id : String | | Capture.cs:221:21:221:34 | "taint source" : String | Capture.cs:213:22:213:22 | s : String | Capture.cs:215:16:218:9 | (...) => ... : (...) => ... [captured s] : String | Capture.cs:221:18:221:35 | call to method M3 : (...) => ... [captured s] : String | | Capture.cs:223:31:223:44 | "taint source" : String | Capture.cs:213:22:213:22 | s : String | Capture.cs:215:16:218:9 | (...) => ... : (...) => ... [captured s] : String | Capture.cs:223:28:223:45 | call to method M3 : (...) => ... [captured s] : String | @@ -1101,9 +1053,16 @@ subpaths | GlobalDataFlow.cs:76:19:76:23 | access to local variable sink1 : String | GlobalDataFlow.cs:304:32:304:32 | x : String | GlobalDataFlow.cs:306:9:306:9 | access to parameter y : String | GlobalDataFlow.cs:76:30:76:34 | access to local variable sink2 : String | | GlobalDataFlow.cs:79:19:79:23 | access to local variable sink2 : String | GlobalDataFlow.cs:310:32:310:32 | x : String | GlobalDataFlow.cs:312:9:312:9 | access to parameter y : String | GlobalDataFlow.cs:79:30:79:34 | access to local variable sink3 : String | | GlobalDataFlow.cs:81:23:81:65 | (...) ... : null [element] : String | GlobalDataFlow.cs:553:71:553:71 | e : null [element] : String | GlobalDataFlow.cs:558:44:558:47 | delegate call : String | GlobalDataFlow.cs:81:22:81:85 | call to method SelectEven<String,String> : IEnumerable<T> [element] : String | +| GlobalDataFlow.cs:83:23:83:66 | (...) ... : null [element] : String | GlobalDataFlow.cs:315:31:315:40 | sinkParam8 : String | GlobalDataFlow.cs:318:16:318:25 | access to parameter sinkParam8 : String | GlobalDataFlow.cs:83:22:83:87 | call to method Select<String,String> : IEnumerable<T> [element] : String | +| GlobalDataFlow.cs:85:23:85:66 | (...) ... : null [element] : String | GlobalDataFlow.cs:85:118:85:118 | x : String | GlobalDataFlow.cs:85:127:85:127 | access to parameter x : String | GlobalDataFlow.cs:85:22:85:128 | call to method Zip<String,String,String> : IEnumerable<T> [element] : String | +| GlobalDataFlow.cs:87:70:87:113 | (...) ... : null [element] : String | GlobalDataFlow.cs:87:121:87:121 | y : String | GlobalDataFlow.cs:87:127:87:127 | access to parameter y : String | GlobalDataFlow.cs:87:22:87:128 | call to method Zip<String,String,String> : IEnumerable<T> [element] : String | | GlobalDataFlow.cs:138:63:138:63 | access to parameter x : String | GlobalDataFlow.cs:387:46:387:46 | x : String | GlobalDataFlow.cs:389:16:389:19 | delegate call : String | GlobalDataFlow.cs:138:45:138:64 | call to method ApplyFunc<String,String> : String | | GlobalDataFlow.cs:139:29:139:33 | access to local variable sink3 : String | GlobalDataFlow.cs:138:40:138:40 | x : String | GlobalDataFlow.cs:138:45:138:64 | call to method ApplyFunc<String,String> : String | GlobalDataFlow.cs:139:21:139:34 | delegate call : String | | GlobalDataFlow.cs:147:39:147:43 | access to local variable sink4 : String | GlobalDataFlow.cs:387:46:387:46 | x : String | GlobalDataFlow.cs:389:16:389:19 | delegate call : String | GlobalDataFlow.cs:147:21:147:44 | call to method ApplyFunc<String,String> : String | +| GlobalDataFlow.cs:215:89:215:89 | access to parameter x : String | GlobalDataFlow.cs:321:32:321:41 | sinkParam9 : String | GlobalDataFlow.cs:324:16:324:25 | access to parameter sinkParam9 : String | GlobalDataFlow.cs:215:76:215:90 | call to method ReturnCheck2<String> : String | +| GlobalDataFlow.cs:216:22:216:28 | access to local variable tainted : IQueryable<T> [element] : String | GlobalDataFlow.cs:214:35:214:45 | sinkParam10 : String | GlobalDataFlow.cs:214:79:214:89 | access to parameter sinkParam10 : String | GlobalDataFlow.cs:216:22:216:39 | call to method Select<String,String> : IEnumerable<T> [element] : String | +| GlobalDataFlow.cs:218:22:218:28 | access to local variable tainted : IQueryable<T> [element] : String | GlobalDataFlow.cs:215:71:215:71 | x : String | GlobalDataFlow.cs:215:76:215:90 | call to method ReturnCheck2<String> : String | GlobalDataFlow.cs:218:22:218:39 | call to method Select<String,String> : IQueryable<T> [element] : String | +| GlobalDataFlow.cs:220:22:220:28 | access to local variable tainted : IQueryable<T> [element] : String | GlobalDataFlow.cs:327:32:327:42 | sinkParam11 : String | GlobalDataFlow.cs:330:16:330:26 | access to parameter sinkParam11 : String | GlobalDataFlow.cs:220:22:220:49 | call to method Select<String,String> : IEnumerable<T> [element] : String | | GlobalDataFlow.cs:300:37:300:37 | access to parameter x : String | GlobalDataFlow.cs:387:46:387:46 | x : String | GlobalDataFlow.cs:389:16:389:19 | delegate call : String | GlobalDataFlow.cs:300:17:300:38 | call to method ApplyFunc<T,T> : String | | GlobalDataFlow.cs:389:18:389:18 | access to parameter x : String | GlobalDataFlow.cs:298:26:298:26 | x : String | GlobalDataFlow.cs:301:16:301:41 | ... ? ... : ... : String | GlobalDataFlow.cs:389:16:389:19 | delegate call : String | | GlobalDataFlow.cs:389:18:389:18 | access to parameter x : String | GlobalDataFlow.cs:298:26:298:26 | x : String | GlobalDataFlow.cs:301:16:301:41 | ... ? ... : ... : String | GlobalDataFlow.cs:389:16:389:19 | delegate call : String | diff --git a/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected b/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected index fc02c1916a8..30396dbf410 100644 --- a/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected +++ b/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected @@ -1,3 +1,613 @@ +source +| Microsoft.Extensions.Configuration;EnvironmentVariablesExtensions;false;AddEnvironmentVariables;(Microsoft.Extensions.Configuration.IConfigurationBuilder);;Argument[0];environment;manual | +| Microsoft.Extensions.Configuration;EnvironmentVariablesExtensions;false;AddEnvironmentVariables;(Microsoft.Extensions.Configuration.IConfigurationBuilder);;ReturnValue;environment;manual | +| Microsoft.Extensions.Configuration;EnvironmentVariablesExtensions;false;AddEnvironmentVariables;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action<Microsoft.Extensions.Configuration.EnvironmentVariables.EnvironmentVariablesConfigurationSource>);;Argument[0];environment;manual | +| Microsoft.Extensions.Configuration;EnvironmentVariablesExtensions;false;AddEnvironmentVariables;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action<Microsoft.Extensions.Configuration.EnvironmentVariables.EnvironmentVariablesConfigurationSource>);;ReturnValue;environment;manual | +| Microsoft.Extensions.Configuration;EnvironmentVariablesExtensions;false;AddEnvironmentVariables;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String);;Argument[0];environment;manual | +| Microsoft.Extensions.Configuration;EnvironmentVariablesExtensions;false;AddEnvironmentVariables;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String);;ReturnValue;environment;manual | +| Microsoft.Win32;Registry;false;GetValue;(System.String,System.String,System.Object);;ReturnValue;windows-registry;manual | +| Microsoft.Win32;RegistryKey;false;GetSubKeyNames;();;ReturnValue;windows-registry;manual | +| Microsoft.Win32;RegistryKey;false;GetValue;(System.String);;ReturnValue;windows-registry;manual | +| Microsoft.Win32;RegistryKey;false;GetValue;(System.String,System.Object);;ReturnValue;windows-registry;manual | +| Microsoft.Win32;RegistryKey;false;GetValue;(System.String,System.Object,Microsoft.Win32.RegistryValueOptions);;ReturnValue;windows-registry;manual | +| Microsoft.Win32;RegistryKey;false;GetValueNames;();;ReturnValue;windows-registry;manual | +| System.IO;File;false;AppendText;(System.String);;ReturnValue;file-write;manual | +| System.IO;File;false;Create;(System.String);;ReturnValue;file-write;manual | +| System.IO;File;false;Create;(System.String,System.Int32);;ReturnValue;file-write;manual | +| System.IO;File;false;Create;(System.String,System.Int32,System.IO.FileOptions);;ReturnValue;file-write;manual | +| System.IO;File;false;CreateText;(System.String);;ReturnValue;file-write;manual | +| System.IO;File;false;Open;(System.String,System.IO.FileMode);;ReturnValue;file-write;manual | +| System.IO;File;false;Open;(System.String,System.IO.FileMode,System.IO.FileAccess);;ReturnValue;file-write;manual | +| System.IO;File;false;Open;(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare);;ReturnValue;file-write;manual | +| System.IO;File;false;Open;(System.String,System.IO.FileStreamOptions);;ReturnValue;file-write;manual | +| System.IO;File;false;OpenWrite;(System.String);;ReturnValue;file-write;manual | +| System.IO;FileInfo;false;AppendText;();;ReturnValue;file-write;manual | +| System.IO;FileInfo;false;Create;();;ReturnValue;file-write;manual | +| System.IO;FileInfo;false;CreateText;();;ReturnValue;file-write;manual | +| System.IO;FileInfo;false;Open;(System.IO.FileMode);;ReturnValue;file-write;manual | +| System.IO;FileInfo;false;Open;(System.IO.FileMode,System.IO.FileAccess);;ReturnValue;file-write;manual | +| System.IO;FileInfo;false;Open;(System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare);;ReturnValue;file-write;manual | +| System.IO;FileInfo;false;Open;(System.IO.FileStreamOptions);;ReturnValue;file-write;manual | +| System.IO;FileInfo;false;OpenWrite;();;ReturnValue;file-write;manual | +| System.IO;FileStream;false;FileStream;(Microsoft.Win32.SafeHandles.SafeFileHandle,System.IO.FileAccess);;Argument[this];file-write;manual | +| System.IO;FileStream;false;FileStream;(Microsoft.Win32.SafeHandles.SafeFileHandle,System.IO.FileAccess);;Argument[this];file;manual | +| System.IO;FileStream;false;FileStream;(Microsoft.Win32.SafeHandles.SafeFileHandle,System.IO.FileAccess,System.Int32);;Argument[this];file-write;manual | +| System.IO;FileStream;false;FileStream;(Microsoft.Win32.SafeHandles.SafeFileHandle,System.IO.FileAccess,System.Int32);;Argument[this];file;manual | +| System.IO;FileStream;false;FileStream;(Microsoft.Win32.SafeHandles.SafeFileHandle,System.IO.FileAccess,System.Int32,System.Boolean);;Argument[this];file-write;manual | +| System.IO;FileStream;false;FileStream;(Microsoft.Win32.SafeHandles.SafeFileHandle,System.IO.FileAccess,System.Int32,System.Boolean);;Argument[this];file;manual | +| System.IO;FileStream;false;FileStream;(System.IntPtr,System.IO.FileAccess);;Argument[this];file-write;manual | +| System.IO;FileStream;false;FileStream;(System.IntPtr,System.IO.FileAccess);;Argument[this];file;manual | +| System.IO;FileStream;false;FileStream;(System.IntPtr,System.IO.FileAccess,System.Boolean);;Argument[this];file-write;manual | +| System.IO;FileStream;false;FileStream;(System.IntPtr,System.IO.FileAccess,System.Boolean);;Argument[this];file;manual | +| System.IO;FileStream;false;FileStream;(System.IntPtr,System.IO.FileAccess,System.Boolean,System.Int32);;Argument[this];file-write;manual | +| System.IO;FileStream;false;FileStream;(System.IntPtr,System.IO.FileAccess,System.Boolean,System.Int32);;Argument[this];file;manual | +| System.IO;FileStream;false;FileStream;(System.IntPtr,System.IO.FileAccess,System.Boolean,System.Int32,System.Boolean);;Argument[this];file-write;manual | +| System.IO;FileStream;false;FileStream;(System.IntPtr,System.IO.FileAccess,System.Boolean,System.Int32,System.Boolean);;Argument[this];file;manual | +| System.IO;FileStream;false;FileStream;(System.String,System.IO.FileMode);;Argument[this];file-write;manual | +| System.IO;FileStream;false;FileStream;(System.String,System.IO.FileMode);;Argument[this];file;manual | +| System.IO;FileStream;false;FileStream;(System.String,System.IO.FileMode,System.IO.FileAccess);;Argument[this];file-write;manual | +| System.IO;FileStream;false;FileStream;(System.String,System.IO.FileMode,System.IO.FileAccess);;Argument[this];file;manual | +| System.IO;FileStream;false;FileStream;(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare);;Argument[this];file-write;manual | +| System.IO;FileStream;false;FileStream;(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare);;Argument[this];file;manual | +| System.IO;FileStream;false;FileStream;(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32);;Argument[this];file-write;manual | +| System.IO;FileStream;false;FileStream;(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32);;Argument[this];file;manual | +| System.IO;FileStream;false;FileStream;(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32,System.Boolean);;Argument[this];file-write;manual | +| System.IO;FileStream;false;FileStream;(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32,System.Boolean);;Argument[this];file;manual | +| System.IO;FileStream;false;FileStream;(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32,System.IO.FileOptions);;Argument[this];file-write;manual | +| System.IO;FileStream;false;FileStream;(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32,System.IO.FileOptions);;Argument[this];file;manual | +| System.IO;FileStream;false;FileStream;(System.String,System.IO.FileStreamOptions);;Argument[this];file-write;manual | +| System.IO;FileStream;false;FileStream;(System.String,System.IO.FileStreamOptions);;Argument[this];file;manual | +| System.IO;StreamWriter;false;StreamWriter;(System.String);;Argument[this];file-write;manual | +| System.IO;StreamWriter;false;StreamWriter;(System.String,System.Boolean);;Argument[this];file-write;manual | +| System.IO;StreamWriter;false;StreamWriter;(System.String,System.Boolean,System.Text.Encoding);;Argument[this];file-write;manual | +| System.IO;StreamWriter;false;StreamWriter;(System.String,System.Boolean,System.Text.Encoding,System.Int32);;Argument[this];file-write;manual | +| System.IO;StreamWriter;false;StreamWriter;(System.String,System.IO.FileStreamOptions);;Argument[this];file-write;manual | +| System.IO;StreamWriter;false;StreamWriter;(System.String,System.Text.Encoding,System.IO.FileStreamOptions);;Argument[this];file-write;manual | +| System.Net.Sockets;TcpClient;false;GetStream;();;ReturnValue;remote;manual | +| System;Console;false;Read;();;ReturnValue;local;manual | +| System;Console;false;ReadKey;();;ReturnValue;local;manual | +| System;Console;false;ReadKey;(System.Boolean);;ReturnValue;local;manual | +| System;Console;false;ReadLine;();;ReturnValue;local;manual | +| System;Environment;false;ExpandEnvironmentVariables;(System.String);;ReturnValue;environment;manual | +| System;Environment;false;GetCommandLineArgs;();;ReturnValue;commandargs;manual | +| System;Environment;false;GetEnvironmentVariable;(System.String);;ReturnValue;environment;manual | +| System;Environment;false;GetEnvironmentVariable;(System.String,System.EnvironmentVariableTarget);;ReturnValue;environment;manual | +| System;Environment;false;GetEnvironmentVariables;();;ReturnValue;environment;manual | +| System;Environment;false;GetEnvironmentVariables;(System.EnvironmentVariableTarget);;ReturnValue;environment;manual | +| System;Environment;false;get_CommandLine;();;ReturnValue;commandargs;manual | +sink +| Dapper;SqlMapper;false;Execute;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;ExecuteAsync;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;ExecuteReader;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;ExecuteReaderAsync;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;ExecuteScalar;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;ExecuteScalar<T>;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;ExecuteScalarAsync;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;ExecuteScalarAsync<T>;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;Query;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Boolean,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;Query;(System.Data.IDbConnection,System.Type,System.String,System.Object,System.Data.IDbTransaction,System.Boolean,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[2];sql-injection;manual | +| Dapper;SqlMapper;false;Query<T>;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Boolean,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;Query<TFirst,TSecond,TReturn>;(System.Data.IDbConnection,System.String,System.Func<TFirst,TSecond,TReturn>,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;Query<TFirst,TSecond,TThird,TFourth,TFifth,TReturn>;(System.Data.IDbConnection,System.String,System.Func<TFirst,TSecond,TThird,TFourth,TFifth,TReturn>,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;Query<TFirst,TSecond,TThird,TFourth,TFifth,TSixth,TReturn>;(System.Data.IDbConnection,System.String,System.Func<TFirst,TSecond,TThird,TFourth,TFifth,TSixth,TReturn>,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;Query<TFirst,TSecond,TThird,TFourth,TFifth,TSixth,TSeventh,TReturn>;(System.Data.IDbConnection,System.String,System.Func<TFirst,TSecond,TThird,TFourth,TFifth,TSixth,TSeventh,TReturn>,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;Query<TFirst,TSecond,TThird,TFourth,TReturn>;(System.Data.IDbConnection,System.String,System.Func<TFirst,TSecond,TThird,TFourth,TReturn>,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;Query<TFirst,TSecond,TThird,TReturn>;(System.Data.IDbConnection,System.String,System.Func<TFirst,TSecond,TThird,TReturn>,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;Query<TReturn>;(System.Data.IDbConnection,System.String,System.Type[],System.Func<System.Object[],TReturn>,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;QueryAsync;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;QueryAsync<T>;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;QueryAsync<TFirst,TSecond,TReturn>;(System.Data.IDbConnection,System.String,System.Func<TFirst,TSecond,TReturn>,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;QueryAsync<TFirst,TSecond,TThird,TFourth,TFifth,TReturn>;(System.Data.IDbConnection,System.String,System.Func<TFirst,TSecond,TThird,TFourth,TFifth,TReturn>,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;QueryAsync<TFirst,TSecond,TThird,TFourth,TFifth,TSixth,TReturn>;(System.Data.IDbConnection,System.String,System.Func<TFirst,TSecond,TThird,TFourth,TFifth,TSixth,TReturn>,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;QueryAsync<TFirst,TSecond,TThird,TFourth,TFifth,TSixth,TSeventh,TReturn>;(System.Data.IDbConnection,System.String,System.Func<TFirst,TSecond,TThird,TFourth,TFifth,TSixth,TSeventh,TReturn>,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;QueryAsync<TFirst,TSecond,TThird,TFourth,TReturn>;(System.Data.IDbConnection,System.String,System.Func<TFirst,TSecond,TThird,TFourth,TReturn>,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;QueryAsync<TFirst,TSecond,TThird,TReturn>;(System.Data.IDbConnection,System.String,System.Func<TFirst,TSecond,TThird,TReturn>,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;QueryAsync<TReturn>;(System.Data.IDbConnection,System.String,System.Type[],System.Func<System.Object[],TReturn>,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;QueryFirst;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;QueryFirst;(System.Data.IDbConnection,System.Type,System.String,System.Object,System.Data.IDbTransaction,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[2];sql-injection;manual | +| Dapper;SqlMapper;false;QueryFirst<T>;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;QueryFirstAsync;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;QueryFirstAsync;(System.Data.IDbConnection,System.Type,System.String,System.Object,System.Data.IDbTransaction,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[2];sql-injection;manual | +| Dapper;SqlMapper;false;QueryFirstAsync<T>;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;QueryFirstOrDefault;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;QueryFirstOrDefault;(System.Data.IDbConnection,System.Type,System.String,System.Object,System.Data.IDbTransaction,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[2];sql-injection;manual | +| Dapper;SqlMapper;false;QueryFirstOrDefault<T>;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;QueryFirstOrDefaultAsync;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;QueryFirstOrDefaultAsync;(System.Data.IDbConnection,System.Type,System.String,System.Object,System.Data.IDbTransaction,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[2];sql-injection;manual | +| Dapper;SqlMapper;false;QueryFirstOrDefaultAsync<T>;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;QueryMultiple;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;QueryMultipleAsync;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;QuerySingle;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;QuerySingle;(System.Data.IDbConnection,System.Type,System.String,System.Object,System.Data.IDbTransaction,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[2];sql-injection;manual | +| Dapper;SqlMapper;false;QuerySingle<T>;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;QuerySingleAsync;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;QuerySingleAsync;(System.Data.IDbConnection,System.Type,System.String,System.Object,System.Data.IDbTransaction,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[2];sql-injection;manual | +| Dapper;SqlMapper;false;QuerySingleAsync<T>;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;QuerySingleOrDefault;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;QuerySingleOrDefault;(System.Data.IDbConnection,System.Type,System.String,System.Object,System.Data.IDbTransaction,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[2];sql-injection;manual | +| Dapper;SqlMapper;false;QuerySingleOrDefault<T>;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;QuerySingleOrDefaultAsync;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Dapper;SqlMapper;false;QuerySingleOrDefaultAsync;(System.Data.IDbConnection,System.Type,System.String,System.Object,System.Data.IDbTransaction,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[2];sql-injection;manual | +| Dapper;SqlMapper;false;QuerySingleOrDefaultAsync<T>;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable<System.Int32>,System.Nullable<System.Data.CommandType>);;Argument[1];sql-injection;manual | +| Microsoft.EntityFrameworkCore;RelationalDatabaseFacadeExtensions;false;ExecuteSqlRaw;(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Collections.Generic.IEnumerable<System.Object>);;Argument[1];sql-injection;manual | +| Microsoft.EntityFrameworkCore;RelationalDatabaseFacadeExtensions;false;ExecuteSqlRaw;(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Object[]);;Argument[1];sql-injection;manual | +| Microsoft.EntityFrameworkCore;RelationalDatabaseFacadeExtensions;false;ExecuteSqlRawAsync;(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Collections.Generic.IEnumerable<System.Object>,System.Threading.CancellationToken);;Argument[1];sql-injection;manual | +| Microsoft.EntityFrameworkCore;RelationalDatabaseFacadeExtensions;false;ExecuteSqlRawAsync;(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Object[]);;Argument[1];sql-injection;manual | +| Microsoft.EntityFrameworkCore;RelationalDatabaseFacadeExtensions;false;ExecuteSqlRawAsync;(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Threading.CancellationToken);;Argument[1];sql-injection;manual | +| Microsoft.EntityFrameworkCore;RelationalQueryableExtensions;false;FromSqlRaw<TEntity>;(Microsoft.EntityFrameworkCore.DbSet<TEntity>,System.String,System.Object[]);;Argument[1];sql-injection;manual | +| ServiceStack.Messaging;BackgroundMqClient;false;SendAllOneWay;(System.Collections.Generic.IEnumerable<System.Object>);;Argument[1].Element;file-content-store;manual | +| ServiceStack.Messaging;BackgroundMqClient;false;SendOneWay;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack.Messaging;BackgroundMqClient;false;SendOneWay;(System.String,System.Object);;Argument[1];file-content-store;manual | +| ServiceStack.Messaging;InMemoryMessageQueueClient;false;SendAllOneWay;(System.Collections.Generic.IEnumerable<System.Object>);;Argument[1].Element;file-content-store;manual | +| ServiceStack.Messaging;InMemoryMessageQueueClient;false;SendOneWay;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack.Messaging;InMemoryMessageQueueClient;false;SendOneWay;(System.String,System.Object);;Argument[1];file-content-store;manual | +| ServiceStack.Messaging;RedisMessageProducer;false;SendAllOneWay;(System.Collections.Generic.IEnumerable<System.Object>);;Argument[1].Element;file-content-store;manual | +| ServiceStack.Messaging;RedisMessageProducer;false;SendOneWay;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack.Messaging;RedisMessageProducer;false;SendOneWay;(System.String,System.Object);;Argument[1];file-content-store;manual | +| ServiceStack.Messaging;RedisMessageQueueClient;false;SendAllOneWay;(System.Collections.Generic.IEnumerable<System.Object>);;Argument[1].Element;file-content-store;manual | +| ServiceStack.Messaging;RedisMessageQueueClient;false;SendOneWay;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack.Messaging;RedisMessageQueueClient;false;SendOneWay;(System.String,System.Object);;Argument[1];file-content-store;manual | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;UnsafeAnd;(System.String,System.Object[]);;Argument[0];sql-injection;manual | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;UnsafeFrom;(System.String);;Argument[0];sql-injection;manual | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;UnsafeOr;(System.String,System.Object[]);;Argument[0];sql-injection;manual | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;UnsafeSelect;(System.String);;Argument[0];sql-injection;manual | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;UnsafeWhere;(System.String,System.Object[]);;Argument[0];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApi;false;Column<T>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable<System.Data.IDbDataParameter>);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApi;false;Column<T>;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApi;false;ColumnDistinct<T>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable<System.Data.IDbDataParameter>);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApi;false;ColumnDistinct<T>;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApi;false;ColumnLazy<T>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable<System.Data.IDbDataParameter>);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApi;false;ColumnLazy<T>;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApi;false;Dictionary<K,V>;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApi;false;ExecuteNonQuery;(System.Data.IDbConnection,System.String);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApi;false;ExecuteNonQuery;(System.Data.IDbConnection,System.String,System.Action<System.Data.IDbCommand>);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApi;false;ExecuteNonQuery;(System.Data.IDbConnection,System.String,System.Collections.Generic.Dictionary<System.String,System.Object>);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApi;false;ExecuteNonQuery;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApi;false;Exists<T>;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApi;false;Lookup<K,V>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable<System.Data.IDbDataParameter>);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApi;false;Lookup<K,V>;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApi;false;Scalar<T>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable<System.Data.IDbDataParameter>);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApi;false;Scalar<T>;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApi;false;Select<T>;(System.Data.IDbConnection,System.String);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApi;false;Select<T>;(System.Data.IDbConnection,System.String,System.Collections.Generic.Dictionary<System.String,System.Object>);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApi;false;Select<T>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable<System.Data.IDbDataParameter>);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApi;false;Select<T>;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApi;false;Select<TModel>;(System.Data.IDbConnection,System.Type,System.String,System.Object);;Argument[2];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApi;false;SelectLazy<T>;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApi;false;SelectNonDefaults<T>;(System.Data.IDbConnection,System.String,T);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApi;false;Single<T>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable<System.Data.IDbDataParameter>);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApi;false;Single<T>;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApi;false;SqlColumn<T>;(System.Data.IDbConnection,System.String,System.Collections.Generic.Dictionary<System.String,System.Object>);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApi;false;SqlColumn<T>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable<System.Data.IDbDataParameter>);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApi;false;SqlColumn<T>;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApi;false;SqlList<T>;(System.Data.IDbConnection,System.String,System.Action<System.Data.IDbCommand>);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApi;false;SqlList<T>;(System.Data.IDbConnection,System.String,System.Collections.Generic.Dictionary<System.String,System.Object>);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApi;false;SqlList<T>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable<System.Data.IDbDataParameter>);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApi;false;SqlList<T>;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApi;false;SqlScalar<T>;(System.Data.IDbConnection,System.String,System.Collections.Generic.Dictionary<System.String,System.Object>);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApi;false;SqlScalar<T>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable<System.Data.IDbDataParameter>);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApi;false;SqlScalar<T>;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApiAsync;false;ColumnAsync<T>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable<System.Data.IDbDataParameter>,System.Threading.CancellationToken);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApiAsync;false;ColumnAsync<T>;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApiAsync;false;ColumnDistinctAsync<T>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable<System.Data.IDbDataParameter>,System.Threading.CancellationToken);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApiAsync;false;ColumnDistinctAsync<T>;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApiAsync;false;DictionaryAsync<K,V>;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApiAsync;false;ExecuteNonQueryAsync;(System.Data.IDbConnection,System.String,System.Collections.Generic.Dictionary<System.String,System.Object>,System.Threading.CancellationToken);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApiAsync;false;ExecuteNonQueryAsync;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApiAsync;false;ExecuteNonQueryAsync;(System.Data.IDbConnection,System.String,System.Threading.CancellationToken);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApiAsync;false;ExistsAsync<T>;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApiAsync;false;KeyValuePairsAsync<K,V>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable<System.Data.IDbDataParameter>,System.Threading.CancellationToken);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApiAsync;false;KeyValuePairsAsync<K,V>;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApiAsync;false;LookupAsync<K,V>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable<System.Data.IDbDataParameter>,System.Threading.CancellationToken);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApiAsync;false;LookupAsync<K,V>;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApiAsync;false;ScalarAsync<T>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable<System.Data.IDbDataParameter>,System.Threading.CancellationToken);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApiAsync;false;ScalarAsync<T>;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SelectAsync<T>;(System.Data.IDbConnection,System.String,System.Collections.Generic.Dictionary<System.String,System.Object>,System.Threading.CancellationToken);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SelectAsync<T>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable<System.Data.IDbDataParameter>,System.Threading.CancellationToken);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SelectAsync<T>;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SelectAsync<T>;(System.Data.IDbConnection,System.String,System.Threading.CancellationToken);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SelectAsync<TModel>;(System.Data.IDbConnection,System.Type,System.String,System.Object,System.Threading.CancellationToken);;Argument[2];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SelectNonDefaultsAsync<T>;(System.Data.IDbConnection,System.String,T,System.Threading.CancellationToken);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SingleAsync<T>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable<System.Data.IDbDataParameter>,System.Threading.CancellationToken);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SingleAsync<T>;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SqlColumnAsync<T>;(System.Data.IDbConnection,System.String,System.Collections.Generic.Dictionary<System.String,System.Object>,System.Threading.CancellationToken);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SqlColumnAsync<T>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable<System.Data.IDbDataParameter>,System.Threading.CancellationToken);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SqlColumnAsync<T>;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SqlListAsync<T>;(System.Data.IDbConnection,System.String,System.Action<System.Data.IDbCommand>,System.Threading.CancellationToken);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SqlListAsync<T>;(System.Data.IDbConnection,System.String,System.Collections.Generic.Dictionary<System.String,System.Object>,System.Threading.CancellationToken);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SqlListAsync<T>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable<System.Data.IDbDataParameter>,System.Threading.CancellationToken);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SqlListAsync<T>;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SqlScalarAsync<T>;(System.Data.IDbConnection,System.String,System.Collections.Generic.Dictionary<System.String,System.Object>,System.Threading.CancellationToken);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SqlScalarAsync<T>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable<System.Data.IDbDataParameter>,System.Threading.CancellationToken);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SqlScalarAsync<T>;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;RowCount;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable<System.Data.IDbDataParameter>);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;RowCount;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApiAsync;false;RowCountAsync;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteWriteApi;false;ExecuteSql;(System.Data.IDbConnection,System.String);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteWriteApi;false;ExecuteSql;(System.Data.IDbConnection,System.String,System.Collections.Generic.Dictionary<System.String,System.Object>);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteWriteApi;false;ExecuteSql;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;ExecuteSqlAsync;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;ExecuteSqlAsync;(System.Data.IDbConnection,System.String,System.Threading.CancellationToken);;Argument[1];sql-injection;manual | +| ServiceStack.OrmLite;SqlExpression<T>;true;UnsafeAnd;(System.String,System.Object[]);;Argument[0];sql-injection;manual | +| ServiceStack.OrmLite;SqlExpression<T>;true;UnsafeFrom;(System.String);;Argument[0];sql-injection;manual | +| ServiceStack.OrmLite;SqlExpression<T>;true;UnsafeGroupBy;(System.String);;Argument[0];sql-injection;manual | +| ServiceStack.OrmLite;SqlExpression<T>;true;UnsafeHaving;(System.String,System.Object[]);;Argument[0];sql-injection;manual | +| ServiceStack.OrmLite;SqlExpression<T>;true;UnsafeOr;(System.String,System.Object[]);;Argument[0];sql-injection;manual | +| ServiceStack.OrmLite;SqlExpression<T>;true;UnsafeOrderBy;(System.String);;Argument[0];sql-injection;manual | +| ServiceStack.OrmLite;SqlExpression<T>;true;UnsafeSelect;(System.String);;Argument[0];sql-injection;manual | +| ServiceStack.OrmLite;SqlExpression<T>;true;UnsafeSelect;(System.String,System.Boolean);;Argument[0];sql-injection;manual | +| ServiceStack.OrmLite;SqlExpression<T>;true;UnsafeWhere;(System.String,System.Object[]);;Argument[0];sql-injection;manual | +| ServiceStack.OrmLite;UntypedSqlExpressionProxy<T>;false;UnsafeAnd;(System.String,System.Object[]);;Argument[0];sql-injection;manual | +| ServiceStack.OrmLite;UntypedSqlExpressionProxy<T>;false;UnsafeFrom;(System.String);;Argument[0];sql-injection;manual | +| ServiceStack.OrmLite;UntypedSqlExpressionProxy<T>;false;UnsafeOr;(System.String,System.Object[]);;Argument[0];sql-injection;manual | +| ServiceStack.OrmLite;UntypedSqlExpressionProxy<T>;false;UnsafeSelect;(System.String);;Argument[0];sql-injection;manual | +| ServiceStack.OrmLite;UntypedSqlExpressionProxy<T>;false;UnsafeWhere;(System.String,System.Object[]);;Argument[0];sql-injection;manual | +| ServiceStack.Redis;IRedisClient;true;Custom;(System.Object[]);;Argument[0];code-injection;manual | +| ServiceStack.Redis;IRedisClient;true;ExecLua;(System.String,System.String[]);;Argument[0];code-injection;manual | +| ServiceStack.Redis;IRedisClient;true;ExecLua;(System.String,System.String[],System.String[]);;Argument[0];code-injection;manual | +| ServiceStack.Redis;IRedisClient;true;ExecLuaAsInt;(System.String,System.String[]);;Argument[0];code-injection;manual | +| ServiceStack.Redis;IRedisClient;true;ExecLuaAsInt;(System.String,System.String[],System.String[]);;Argument[0];code-injection;manual | +| ServiceStack.Redis;IRedisClient;true;ExecLuaAsList;(System.String,System.String[]);;Argument[0];code-injection;manual | +| ServiceStack.Redis;IRedisClient;true;ExecLuaAsList;(System.String,System.String[],System.String[]);;Argument[0];code-injection;manual | +| ServiceStack.Redis;IRedisClient;true;ExecLuaAsString;(System.String,System.String[]);;Argument[0];code-injection;manual | +| ServiceStack.Redis;IRedisClient;true;ExecLuaAsString;(System.String,System.String[],System.String[]);;Argument[0];code-injection;manual | +| ServiceStack.Redis;IRedisClient;true;LoadLuaScript;(System.String);;Argument[0];code-injection;manual | +| ServiceStack.Redis;IRedisClientAsync;true;CustomAsync;(System.Object[]);;Argument[0];code-injection;manual | +| ServiceStack.Redis;IRedisClientAsync;true;CustomAsync;(System.Object[],System.Threading.CancellationToken);;Argument[0].Element;code-injection;manual | +| ServiceStack.Redis;IRedisClientAsync;true;ExecLuaAsIntAsync;(System.String,System.String[]);;Argument[0];code-injection;manual | +| ServiceStack.Redis;IRedisClientAsync;true;ExecLuaAsIntAsync;(System.String,System.String[],System.String[],System.Threading.CancellationToken);;Argument[0];code-injection;manual | +| ServiceStack.Redis;IRedisClientAsync;true;ExecLuaAsIntAsync;(System.String,System.String[],System.Threading.CancellationToken);;Argument[0];code-injection;manual | +| ServiceStack.Redis;IRedisClientAsync;true;ExecLuaAsListAsync;(System.String,System.String[]);;Argument[0];code-injection;manual | +| ServiceStack.Redis;IRedisClientAsync;true;ExecLuaAsListAsync;(System.String,System.String[],System.String[],System.Threading.CancellationToken);;Argument[0];code-injection;manual | +| ServiceStack.Redis;IRedisClientAsync;true;ExecLuaAsListAsync;(System.String,System.String[],System.Threading.CancellationToken);;Argument[0];code-injection;manual | +| ServiceStack.Redis;IRedisClientAsync;true;ExecLuaAsStringAsync;(System.String,System.String[]);;Argument[0];code-injection;manual | +| ServiceStack.Redis;IRedisClientAsync;true;ExecLuaAsStringAsync;(System.String,System.String[],System.String[],System.Threading.CancellationToken);;Argument[0];code-injection;manual | +| ServiceStack.Redis;IRedisClientAsync;true;ExecLuaAsStringAsync;(System.String,System.String[],System.Threading.CancellationToken);;Argument[0];code-injection;manual | +| ServiceStack.Redis;IRedisClientAsync;true;ExecLuaAsync;(System.String,System.String[]);;Argument[0];code-injection;manual | +| ServiceStack.Redis;IRedisClientAsync;true;ExecLuaAsync;(System.String,System.String[],System.String[],System.Threading.CancellationToken);;Argument[0];code-injection;manual | +| ServiceStack.Redis;IRedisClientAsync;true;ExecLuaAsync;(System.String,System.String[],System.Threading.CancellationToken);;Argument[0];code-injection;manual | +| ServiceStack.Redis;IRedisClientAsync;true;LoadLuaScriptAsync;(System.String,System.Threading.CancellationToken);;Argument[0];code-injection;manual | +| ServiceStack.Testing;MockRestGateway;false;Delete<T>;(ServiceStack.IReturn<T>);;Argument[0];file-content-store;manual | +| ServiceStack.Testing;MockRestGateway;false;Get<T>;(ServiceStack.IReturn<T>);;Argument[0];file-content-store;manual | +| ServiceStack.Testing;MockRestGateway;false;Post<T>;(ServiceStack.IReturn<T>);;Argument[0];file-content-store;manual | +| ServiceStack.Testing;MockRestGateway;false;Put<T>;(ServiceStack.IReturn<T>);;Argument[0];file-content-store;manual | +| ServiceStack.Testing;MockRestGateway;false;Send<T>;(ServiceStack.IReturn<T>);;Argument[0];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;CustomMethod;(System.String,ServiceStack.IReturnVoid);;Argument[1];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;CustomMethod<TResponse>;(System.String,ServiceStack.IReturn<TResponse>);;Argument[1];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;CustomMethod<TResponse>;(System.String,System.Object);;Argument[1];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;CustomMethodAsync;(System.String,ServiceStack.IReturnVoid,System.Threading.CancellationToken);;Argument[1];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;CustomMethodAsync<TResponse>;(System.String,ServiceStack.IReturn<TResponse>,System.Threading.CancellationToken);;Argument[1];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;CustomMethodAsync<TResponse>;(System.String,System.Object,System.Threading.CancellationToken);;Argument[1];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;Delete;(ServiceStack.IReturnVoid);;Argument[0];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;Delete<TResponse>;(ServiceStack.IReturn<TResponse>);;Argument[0];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;Delete<TResponse>;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;DeleteAsync;(ServiceStack.IReturnVoid,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;DeleteAsync<TResponse>;(ServiceStack.IReturn<TResponse>,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;DeleteAsync<TResponse>;(System.Object,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;Get;(ServiceStack.IReturnVoid);;Argument[0];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;Get<TResponse>;(ServiceStack.IReturn<TResponse>);;Argument[0];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;Get<TResponse>;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;GetAsync;(ServiceStack.IReturnVoid,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;GetAsync<TResponse>;(ServiceStack.IReturn<TResponse>,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;GetAsync<TResponse>;(System.Object,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;Patch;(ServiceStack.IReturnVoid);;Argument[0];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;Patch<TResponse>;(ServiceStack.IReturn<TResponse>);;Argument[0];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;Patch<TResponse>;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;Patch<TResponse>;(System.String,System.Object);;Argument[1];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;PatchAsync;(ServiceStack.IReturnVoid,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;PatchAsync<TResponse>;(ServiceStack.IReturn<TResponse>,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;PatchAsync<TResponse>;(System.Object,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;Post;(ServiceStack.IReturnVoid);;Argument[0];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;Post<TResponse>;(ServiceStack.IReturn<TResponse>);;Argument[0];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;Post<TResponse>;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;Post<TResponse>;(System.String,System.Object);;Argument[1];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;PostAsync;(ServiceStack.IReturnVoid,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;PostAsync<TResponse>;(ServiceStack.IReturn<TResponse>,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;PostAsync<TResponse>;(System.Object,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;Publish;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;PublishAll;(System.Collections.Generic.IEnumerable<System.Object>);;Argument[0].Element;file-content-store;manual | +| ServiceStack;CachedServiceClient;false;PublishAllAsync;(System.Collections.Generic.IEnumerable<System.Object>,System.Threading.CancellationToken);;Argument[0].Element;file-content-store;manual | +| ServiceStack;CachedServiceClient;false;PublishAsync;(System.Object,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;Put;(ServiceStack.IReturnVoid);;Argument[0];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;Put<TResponse>;(ServiceStack.IReturn<TResponse>);;Argument[0];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;Put<TResponse>;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;Put<TResponse>;(System.String,System.Object);;Argument[1];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;PutAsync;(ServiceStack.IReturnVoid,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;PutAsync<TResponse>;(ServiceStack.IReturn<TResponse>,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;PutAsync<TResponse>;(System.Object,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;Send<TResponse>;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;Send<TResponse>;(System.String,System.String,System.Object);;Argument[2];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;SendAll<TResponse>;(System.Collections.Generic.IEnumerable<System.Object>);;Argument[0].Element;file-content-store;manual | +| ServiceStack;CachedServiceClient;false;SendAllAsync<TResponse>;(System.Collections.Generic.IEnumerable<System.Object>,System.Threading.CancellationToken);;Argument[0].Element;file-content-store;manual | +| ServiceStack;CachedServiceClient;false;SendAllOneWay;(System.Collections.Generic.IEnumerable<System.Object>);;Argument[1].Element;file-content-store;manual | +| ServiceStack;CachedServiceClient;false;SendAsync<TResponse>;(System.Object,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;SendOneWay;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;CachedServiceClient;false;SendOneWay;(System.String,System.Object);;Argument[1];file-content-store;manual | +| ServiceStack;EncryptedServiceClient;false;Publish;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;EncryptedServiceClient;false;PublishAll;(System.Collections.Generic.IEnumerable<System.Object>);;Argument[0].Element;file-content-store;manual | +| ServiceStack;EncryptedServiceClient;false;Send<TResponse>;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;EncryptedServiceClient;false;SendAll<TResponse>;(System.Collections.Generic.IEnumerable<System.Object>);;Argument[0].Element;file-content-store;manual | +| ServiceStack;IOneWayClient;true;SendAllOneWay;(System.Collections.Generic.IEnumerable<System.Object>);;Argument[1].Element;file-content-store;manual | +| ServiceStack;IOneWayClient;true;SendOneWay;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;IOneWayClient;true;SendOneWay;(System.String,System.Object);;Argument[1];file-content-store;manual | +| ServiceStack;IRestClient;true;Patch<TResponse>;(System.String,System.Object);;Argument[1];file-content-store;manual | +| ServiceStack;IRestClient;true;Post<TResponse>;(System.String,System.Object);;Argument[1];file-content-store;manual | +| ServiceStack;IRestClient;true;Put<TResponse>;(System.String,System.Object);;Argument[1];file-content-store;manual | +| ServiceStack;IRestClient;true;Send<TResponse>;(System.String,System.String,System.Object);;Argument[2];file-content-store;manual | +| ServiceStack;IRestClientAsync;true;CustomMethodAsync;(System.String,ServiceStack.IReturnVoid,System.Threading.CancellationToken);;Argument[1];file-content-store;manual | +| ServiceStack;IRestClientAsync;true;CustomMethodAsync<TResponse>;(System.String,ServiceStack.IReturn<TResponse>,System.Threading.CancellationToken);;Argument[1];file-content-store;manual | +| ServiceStack;IRestClientAsync;true;CustomMethodAsync<TResponse>;(System.String,System.Object,System.Threading.CancellationToken);;Argument[1];file-content-store;manual | +| ServiceStack;IRestClientAsync;true;DeleteAsync;(ServiceStack.IReturnVoid,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;IRestClientAsync;true;DeleteAsync<TResponse>;(ServiceStack.IReturn<TResponse>,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;IRestClientAsync;true;DeleteAsync<TResponse>;(System.Object,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;IRestClientAsync;true;GetAsync;(ServiceStack.IReturnVoid,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;IRestClientAsync;true;GetAsync<TResponse>;(ServiceStack.IReturn<TResponse>,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;IRestClientAsync;true;GetAsync<TResponse>;(System.Object,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;IRestClientAsync;true;PatchAsync;(ServiceStack.IReturnVoid,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;IRestClientAsync;true;PatchAsync<TResponse>;(ServiceStack.IReturn<TResponse>,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;IRestClientAsync;true;PatchAsync<TResponse>;(System.Object,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;IRestClientAsync;true;PostAsync;(ServiceStack.IReturnVoid,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;IRestClientAsync;true;PostAsync<TResponse>;(ServiceStack.IReturn<TResponse>,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;IRestClientAsync;true;PostAsync<TResponse>;(System.Object,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;IRestClientAsync;true;PutAsync;(ServiceStack.IReturnVoid,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;IRestClientAsync;true;PutAsync<TResponse>;(ServiceStack.IReturn<TResponse>,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;IRestClientAsync;true;PutAsync<TResponse>;(System.Object,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;IRestClientSync;true;CustomMethod;(System.String,ServiceStack.IReturnVoid);;Argument[1];file-content-store;manual | +| ServiceStack;IRestClientSync;true;CustomMethod<TResponse>;(System.String,ServiceStack.IReturn<TResponse>);;Argument[1];file-content-store;manual | +| ServiceStack;IRestClientSync;true;CustomMethod<TResponse>;(System.String,System.Object);;Argument[1];file-content-store;manual | +| ServiceStack;IRestClientSync;true;Delete;(ServiceStack.IReturnVoid);;Argument[0];file-content-store;manual | +| ServiceStack;IRestClientSync;true;Delete<TResponse>;(ServiceStack.IReturn<TResponse>);;Argument[0];file-content-store;manual | +| ServiceStack;IRestClientSync;true;Delete<TResponse>;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;IRestClientSync;true;Get;(ServiceStack.IReturnVoid);;Argument[0];file-content-store;manual | +| ServiceStack;IRestClientSync;true;Get<TResponse>;(ServiceStack.IReturn<TResponse>);;Argument[0];file-content-store;manual | +| ServiceStack;IRestClientSync;true;Get<TResponse>;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;IRestClientSync;true;Patch;(ServiceStack.IReturnVoid);;Argument[0];file-content-store;manual | +| ServiceStack;IRestClientSync;true;Patch<TResponse>;(ServiceStack.IReturn<TResponse>);;Argument[0];file-content-store;manual | +| ServiceStack;IRestClientSync;true;Patch<TResponse>;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;IRestClientSync;true;Post;(ServiceStack.IReturnVoid);;Argument[0];file-content-store;manual | +| ServiceStack;IRestClientSync;true;Post<TResponse>;(ServiceStack.IReturn<TResponse>);;Argument[0];file-content-store;manual | +| ServiceStack;IRestClientSync;true;Post<TResponse>;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;IRestClientSync;true;Put;(ServiceStack.IReturnVoid);;Argument[0];file-content-store;manual | +| ServiceStack;IRestClientSync;true;Put<TResponse>;(ServiceStack.IReturn<TResponse>);;Argument[0];file-content-store;manual | +| ServiceStack;IRestClientSync;true;Put<TResponse>;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;IRestGateway;true;Delete<T>;(ServiceStack.IReturn<T>);;Argument[0];file-content-store;manual | +| ServiceStack;IRestGateway;true;Get<T>;(ServiceStack.IReturn<T>);;Argument[0];file-content-store;manual | +| ServiceStack;IRestGateway;true;Post<T>;(ServiceStack.IReturn<T>);;Argument[0];file-content-store;manual | +| ServiceStack;IRestGateway;true;Put<T>;(ServiceStack.IReturn<T>);;Argument[0];file-content-store;manual | +| ServiceStack;IRestGateway;true;Send<T>;(ServiceStack.IReturn<T>);;Argument[0];file-content-store;manual | +| ServiceStack;IRestGatewayAsync;true;DeleteAsync<T>;(ServiceStack.IReturn<T>,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;IRestGatewayAsync;true;GetAsync<T>;(ServiceStack.IReturn<T>,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;IRestGatewayAsync;true;PostAsync<T>;(ServiceStack.IReturn<T>,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;IRestGatewayAsync;true;PutAsync<T>;(ServiceStack.IReturn<T>,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;IRestGatewayAsync;true;SendAsync<T>;(ServiceStack.IReturn<T>,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;IServiceGateway;true;Publish;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;IServiceGateway;true;PublishAll;(System.Collections.Generic.IEnumerable<System.Object>);;Argument[0].Element;file-content-store;manual | +| ServiceStack;IServiceGateway;true;Send<TResponse>;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;IServiceGateway;true;SendAll<TResponse>;(System.Collections.Generic.IEnumerable<System.Object>);;Argument[0].Element;file-content-store;manual | +| ServiceStack;IServiceGatewayAsync;true;PublishAllAsync;(System.Collections.Generic.IEnumerable<System.Object>,System.Threading.CancellationToken);;Argument[0].Element;file-content-store;manual | +| ServiceStack;IServiceGatewayAsync;true;PublishAsync;(System.Object,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;IServiceGatewayAsync;true;SendAllAsync<TResponse>;(System.Collections.Generic.IEnumerable<System.Object>,System.Threading.CancellationToken);;Argument[0].Element;file-content-store;manual | +| ServiceStack;IServiceGatewayAsync;true;SendAsync<TResponse>;(System.Object,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;InProcessServiceGateway;false;Publish;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;InProcessServiceGateway;false;PublishAll;(System.Collections.Generic.IEnumerable<System.Object>);;Argument[0].Element;file-content-store;manual | +| ServiceStack;InProcessServiceGateway;false;PublishAllAsync;(System.Collections.Generic.IEnumerable<System.Object>,System.Threading.CancellationToken);;Argument[0].Element;file-content-store;manual | +| ServiceStack;InProcessServiceGateway;false;PublishAsync;(System.Object,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;InProcessServiceGateway;false;Send<TResponse>;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;InProcessServiceGateway;false;SendAll<TResponse>;(System.Collections.Generic.IEnumerable<System.Object>);;Argument[0].Element;file-content-store;manual | +| ServiceStack;InProcessServiceGateway;false;SendAllAsync<TResponse>;(System.Collections.Generic.IEnumerable<System.Object>,System.Threading.CancellationToken);;Argument[0].Element;file-content-store;manual | +| ServiceStack;InProcessServiceGateway;false;SendAsync<TResponse>;(System.Object,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;JsonApiClient;false;CustomMethod;(System.String,ServiceStack.IReturnVoid);;Argument[1];file-content-store;manual | +| ServiceStack;JsonApiClient;false;CustomMethod<TResponse>;(System.String,ServiceStack.IReturn<TResponse>);;Argument[1];file-content-store;manual | +| ServiceStack;JsonApiClient;false;CustomMethod<TResponse>;(System.String,System.Object);;Argument[1];file-content-store;manual | +| ServiceStack;JsonApiClient;false;CustomMethodAsync;(System.String,ServiceStack.IReturnVoid,System.Threading.CancellationToken);;Argument[1];file-content-store;manual | +| ServiceStack;JsonApiClient;false;CustomMethodAsync<TResponse>;(System.String,ServiceStack.IReturn<TResponse>,System.Threading.CancellationToken);;Argument[1];file-content-store;manual | +| ServiceStack;JsonApiClient;false;CustomMethodAsync<TResponse>;(System.String,System.Object,System.Threading.CancellationToken);;Argument[1];file-content-store;manual | +| ServiceStack;JsonApiClient;false;Delete;(ServiceStack.IReturnVoid);;Argument[0];file-content-store;manual | +| ServiceStack;JsonApiClient;false;Delete<TResponse>;(ServiceStack.IReturn<TResponse>);;Argument[0];file-content-store;manual | +| ServiceStack;JsonApiClient;false;Delete<TResponse>;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;JsonApiClient;false;DeleteAsync;(ServiceStack.IReturnVoid,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;JsonApiClient;false;DeleteAsync<TResponse>;(ServiceStack.IReturn<TResponse>,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;JsonApiClient;false;DeleteAsync<TResponse>;(System.Object,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;JsonApiClient;false;Get;(ServiceStack.IReturnVoid);;Argument[0];file-content-store;manual | +| ServiceStack;JsonApiClient;false;Get<TResponse>;(ServiceStack.IReturn<TResponse>);;Argument[0];file-content-store;manual | +| ServiceStack;JsonApiClient;false;Get<TResponse>;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;JsonApiClient;false;GetAsync;(ServiceStack.IReturnVoid,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;JsonApiClient;false;GetAsync<TResponse>;(ServiceStack.IReturn<TResponse>,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;JsonApiClient;false;GetAsync<TResponse>;(System.Object,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;JsonApiClient;false;Patch;(ServiceStack.IReturnVoid);;Argument[0];file-content-store;manual | +| ServiceStack;JsonApiClient;false;Patch<TResponse>;(ServiceStack.IReturn<TResponse>);;Argument[0];file-content-store;manual | +| ServiceStack;JsonApiClient;false;Patch<TResponse>;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;JsonApiClient;false;Patch<TResponse>;(System.String,System.Object);;Argument[1];file-content-store;manual | +| ServiceStack;JsonApiClient;false;PatchAsync;(ServiceStack.IReturnVoid,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;JsonApiClient;false;PatchAsync<TResponse>;(ServiceStack.IReturn<TResponse>,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;JsonApiClient;false;PatchAsync<TResponse>;(System.Object,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;JsonApiClient;false;Post;(ServiceStack.IReturnVoid);;Argument[0];file-content-store;manual | +| ServiceStack;JsonApiClient;false;Post<TResponse>;(ServiceStack.IReturn<TResponse>);;Argument[0];file-content-store;manual | +| ServiceStack;JsonApiClient;false;Post<TResponse>;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;JsonApiClient;false;Post<TResponse>;(System.String,System.Object);;Argument[1];file-content-store;manual | +| ServiceStack;JsonApiClient;false;PostAsync;(ServiceStack.IReturnVoid,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;JsonApiClient;false;PostAsync<TResponse>;(ServiceStack.IReturn<TResponse>,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;JsonApiClient;false;PostAsync<TResponse>;(System.Object,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;JsonApiClient;false;Publish;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;JsonApiClient;false;PublishAll;(System.Collections.Generic.IEnumerable<System.Object>);;Argument[0].Element;file-content-store;manual | +| ServiceStack;JsonApiClient;false;PublishAllAsync;(System.Collections.Generic.IEnumerable<System.Object>,System.Threading.CancellationToken);;Argument[0].Element;file-content-store;manual | +| ServiceStack;JsonApiClient;false;PublishAsync;(System.Object,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;JsonApiClient;false;Put;(ServiceStack.IReturnVoid);;Argument[0];file-content-store;manual | +| ServiceStack;JsonApiClient;false;Put<TResponse>;(ServiceStack.IReturn<TResponse>);;Argument[0];file-content-store;manual | +| ServiceStack;JsonApiClient;false;Put<TResponse>;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;JsonApiClient;false;Put<TResponse>;(System.String,System.Object);;Argument[1];file-content-store;manual | +| ServiceStack;JsonApiClient;false;PutAsync;(ServiceStack.IReturnVoid,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;JsonApiClient;false;PutAsync<TResponse>;(ServiceStack.IReturn<TResponse>,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;JsonApiClient;false;PutAsync<TResponse>;(System.Object,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;JsonApiClient;false;Send<TResponse>;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;JsonApiClient;false;Send<TResponse>;(System.String,System.String,System.Object);;Argument[2];file-content-store;manual | +| ServiceStack;JsonApiClient;false;SendAll<TResponse>;(System.Collections.Generic.IEnumerable<System.Object>);;Argument[0].Element;file-content-store;manual | +| ServiceStack;JsonApiClient;false;SendAllAsync<TResponse>;(System.Collections.Generic.IEnumerable<System.Object>,System.Threading.CancellationToken);;Argument[0].Element;file-content-store;manual | +| ServiceStack;JsonApiClient;false;SendAllOneWay;(System.Collections.Generic.IEnumerable<System.Object>);;Argument[1].Element;file-content-store;manual | +| ServiceStack;JsonApiClient;false;SendAsync<TResponse>;(System.Object,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;JsonApiClient;false;SendOneWay;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;JsonApiClient;false;SendOneWay;(System.String,System.Object);;Argument[1];file-content-store;manual | +| ServiceStack;ServiceClientBase;false;DownloadBytes;(System.String,System.String,System.Object);;Argument[2];file-content-store;manual | +| ServiceStack;ServiceClientBase;false;DownloadBytesAsync;(System.String,System.String,System.Object);;Argument[2];file-content-store;manual | +| ServiceStack;ServiceClientBase;false;Publish<T>;(ServiceStack.Messaging.IMessage<T>);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;false;Publish<T>;(T);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;false;PublishAll;(System.Collections.Generic.IEnumerable<System.Object>);;Argument[0].Element;file-content-store;manual | +| ServiceStack;ServiceClientBase;false;PublishAllAsync;(System.Collections.Generic.IEnumerable<System.Object>,System.Threading.CancellationToken);;Argument[0].Element;file-content-store;manual | +| ServiceStack;ServiceClientBase;false;PublishAsync;(System.Object,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;false;SendAllAsync<TResponse>;(System.Collections.Generic.IEnumerable<System.Object>,System.Threading.CancellationToken);;Argument[0].Element;file-content-store;manual | +| ServiceStack;ServiceClientBase;true;CustomMethod;(System.String,ServiceStack.IReturnVoid);;Argument[1];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;CustomMethod;(System.String,System.String,System.Object);;Argument[2];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;CustomMethod<TResponse>;(System.String,ServiceStack.IReturn<TResponse>);;Argument[1];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;CustomMethod<TResponse>;(System.String,System.Object);;Argument[1];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;CustomMethod<TResponse>;(System.String,System.String,System.Object);;Argument[2];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;CustomMethodAsync;(System.String,ServiceStack.IReturnVoid,System.Threading.CancellationToken);;Argument[1];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;CustomMethodAsync<TResponse>;(System.String,ServiceStack.IReturn<TResponse>,System.Threading.CancellationToken);;Argument[1];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;CustomMethodAsync<TResponse>;(System.String,System.Object,System.Threading.CancellationToken);;Argument[1];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;CustomMethodAsync<TResponse>;(System.String,System.String,System.Object,System.Threading.CancellationToken);;Argument[2];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;Delete;(ServiceStack.IReturnVoid);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;Delete;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;Delete<TResponse>;(ServiceStack.IReturn<TResponse>);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;Delete<TResponse>;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;DeleteAsync;(ServiceStack.IReturnVoid,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;DeleteAsync<TResponse>;(ServiceStack.IReturn<TResponse>,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;DeleteAsync<TResponse>;(System.Object,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;Get;(ServiceStack.IReturnVoid);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;Get;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;Get<TResponse>;(ServiceStack.IReturn<TResponse>);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;Get<TResponse>;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;GetAsync;(ServiceStack.IReturnVoid,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;GetAsync<TResponse>;(ServiceStack.IReturn<TResponse>,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;GetAsync<TResponse>;(System.Object,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;Head;(ServiceStack.IReturn);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;Head;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;Patch;(ServiceStack.IReturnVoid);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;Patch;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;Patch<TResponse>;(ServiceStack.IReturn<TResponse>);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;Patch<TResponse>;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;Patch<TResponse>;(System.String,System.Object);;Argument[1];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;PatchAsync;(ServiceStack.IReturnVoid,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;PatchAsync<TResponse>;(ServiceStack.IReturn<TResponse>,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;PatchAsync<TResponse>;(System.Object,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;Post;(ServiceStack.IReturnVoid);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;Post;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;Post<TResponse>;(ServiceStack.IReturn<TResponse>);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;Post<TResponse>;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;Post<TResponse>;(System.String,System.Object);;Argument[1];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;PostAsync;(ServiceStack.IReturnVoid,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;PostAsync<TResponse>;(ServiceStack.IReturn<TResponse>,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;PostAsync<TResponse>;(System.Object,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;Publish;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;Put;(ServiceStack.IReturnVoid);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;Put;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;Put<TResponse>;(ServiceStack.IReturn<TResponse>);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;Put<TResponse>;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;Put<TResponse>;(System.String,System.Object);;Argument[1];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;PutAsync;(ServiceStack.IReturnVoid,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;PutAsync<TResponse>;(ServiceStack.IReturn<TResponse>,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;PutAsync<TResponse>;(System.Object,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;Send<TResponse>;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;Send<TResponse>;(System.String,System.String,System.Object);;Argument[2];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;SendAll<TResponse>;(System.Collections.Generic.IEnumerable<System.Object>);;Argument[0].Element;file-content-store;manual | +| ServiceStack;ServiceClientBase;true;SendAllOneWay;(System.Collections.Generic.IEnumerable<System.Object>);;Argument[1].Element;file-content-store;manual | +| ServiceStack;ServiceClientBase;true;SendAsync<TResponse>;(System.Object,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;SendOneWay;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceClientBase;true;SendOneWay;(System.String,System.Object);;Argument[1];file-content-store;manual | +| ServiceStack;ServiceGatewayFactoryBase;false;Publish;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceGatewayFactoryBase;false;PublishAll;(System.Collections.Generic.IEnumerable<System.Object>);;Argument[0].Element;file-content-store;manual | +| ServiceStack;ServiceGatewayFactoryBase;false;PublishAllAsync;(System.Collections.Generic.IEnumerable<System.Object>,System.Threading.CancellationToken);;Argument[0].Element;file-content-store;manual | +| ServiceStack;ServiceGatewayFactoryBase;false;PublishAsync;(System.Object,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceGatewayFactoryBase;false;Send<TResponse>;(System.Object);;Argument[0];file-content-store;manual | +| ServiceStack;ServiceGatewayFactoryBase;false;SendAll<TResponse>;(System.Collections.Generic.IEnumerable<System.Object>);;Argument[0].Element;file-content-store;manual | +| ServiceStack;ServiceGatewayFactoryBase;false;SendAllAsync<TResponse>;(System.Collections.Generic.IEnumerable<System.Object>,System.Threading.CancellationToken);;Argument[0].Element;file-content-store;manual | +| ServiceStack;ServiceGatewayFactoryBase;false;SendAsync<TResponse>;(System.Object,System.Threading.CancellationToken);;Argument[0];file-content-store;manual | +| System.Data.Entity;Database;false;ExecuteSqlCommand;(System.Data.Entity.TransactionalBehavior,System.String,System.Object[]);;Argument[1];sql-injection;manual | +| System.Data.Entity;Database;false;ExecuteSqlCommand;(System.String,System.Object[]);;Argument[0];sql-injection;manual | +| System.Data.Entity;Database;false;ExecuteSqlCommandAsync;(System.Data.Entity.TransactionalBehavior,System.String,System.Object[]);;Argument[1];sql-injection;manual | +| System.Data.Entity;Database;false;ExecuteSqlCommandAsync;(System.Data.Entity.TransactionalBehavior,System.String,System.Threading.CancellationToken,System.Object[]);;Argument[1];sql-injection;manual | +| System.Data.Entity;Database;false;ExecuteSqlCommandAsync;(System.String,System.Object[]);;Argument[0];sql-injection;manual | +| System.Data.Entity;Database;false;ExecuteSqlCommandAsync;(System.String,System.Threading.CancellationToken,System.Object[]);;Argument[0];sql-injection;manual | +| System.Data.Entity;Database;false;SqlQuery;(System.Type,System.String,System.Object[]);;Argument[1];sql-injection;manual | +| System.Data.Entity;Database;false;SqlQuery<TElement>;(System.String,System.Object[]);;Argument[0];sql-injection;manual | +| System.Data.Entity;DbSet;true;SqlQuery;(System.String,System.Object[]);;Argument[0];sql-injection;manual | +| System.Data.SqlClient;SqlCommand;false;SqlCommand;(System.String);;Argument[0];sql-injection;manual | +| System.Data.SqlClient;SqlCommand;false;SqlCommand;(System.String,System.Data.SqlClient.SqlConnection);;Argument[0];sql-injection;manual | +| System.Data.SqlClient;SqlCommand;false;SqlCommand;(System.String,System.Data.SqlClient.SqlConnection,System.Data.SqlClient.SqlTransaction);;Argument[0];sql-injection;manual | +| System.Data.SqlClient;SqlDataAdapter;false;SqlDataAdapter;(System.Data.SqlClient.SqlCommand);;Argument[0];sql-injection;manual | +| System.Data.SqlClient;SqlDataAdapter;false;SqlDataAdapter;(System.String,System.Data.SqlClient.SqlConnection);;Argument[0];sql-injection;manual | +| System.Data.SqlClient;SqlDataAdapter;false;SqlDataAdapter;(System.String,System.String);;Argument[0];sql-injection;manual | +| System.Net.Http;StringContent;false;StringContent;(System.String);;Argument[0];js-injection;df-generated | +| System.Net.Http;StringContent;false;StringContent;(System.String);;Argument[0];js-injection;manual | +| System.Net.Http;StringContent;false;StringContent;(System.String,System.Net.Http.Headers.MediaTypeHeaderValue);;Argument[0];js-injection;df-generated | +| System.Net.Http;StringContent;false;StringContent;(System.String,System.Net.Http.Headers.MediaTypeHeaderValue);;Argument[0];js-injection;manual | +| System.Net.Http;StringContent;false;StringContent;(System.String,System.Text.Encoding);;Argument[0];js-injection;df-generated | +| System.Net.Http;StringContent;false;StringContent;(System.String,System.Text.Encoding);;Argument[0];js-injection;manual | +| System.Net.Http;StringContent;false;StringContent;(System.String,System.Text.Encoding,System.Net.Http.Headers.MediaTypeHeaderValue);;Argument[0];js-injection;manual | +| System.Net.Http;StringContent;false;StringContent;(System.String,System.Text.Encoding,System.String);;Argument[0];js-injection;df-generated | +| System.Net.Http;StringContent;false;StringContent;(System.String,System.Text.Encoding,System.String);;Argument[0];js-injection;manual | +| System.Security.Cryptography;AesCng;false;CreateDecryptor;();;Argument[this];encryption-decryptor;df-generated | +| System.Security.Cryptography;AesCng;false;CreateDecryptor;(System.Byte[],System.Byte[]);;Argument[0];encryption-decryptor;manual | +| System.Security.Cryptography;AesCng;false;CreateEncryptor;();;Argument[this];encryption-encryptor;df-generated | +| System.Security.Cryptography;AesCng;false;CreateEncryptor;(System.Byte[],System.Byte[]);;Argument[0];encryption-encryptor;manual | +| System.Security.Cryptography;AesCng;false;set_Key;(System.Byte[]);;Argument[0];encryption-keyprop;manual | +| System.Security.Cryptography;AesCryptoServiceProvider;false;CreateDecryptor;();;Argument[this];encryption-decryptor;df-generated | +| System.Security.Cryptography;AesCryptoServiceProvider;false;CreateDecryptor;(System.Byte[],System.Byte[]);;Argument[0];encryption-decryptor;df-generated | +| System.Security.Cryptography;AesCryptoServiceProvider;false;CreateDecryptor;(System.Byte[],System.Byte[]);;Argument[0];encryption-decryptor;manual | +| System.Security.Cryptography;AesCryptoServiceProvider;false;CreateEncryptor;();;Argument[this];encryption-encryptor;df-generated | +| System.Security.Cryptography;AesCryptoServiceProvider;false;CreateEncryptor;(System.Byte[],System.Byte[]);;Argument[0];encryption-encryptor;df-generated | +| System.Security.Cryptography;AesCryptoServiceProvider;false;CreateEncryptor;(System.Byte[],System.Byte[]);;Argument[0];encryption-encryptor;manual | +| System.Security.Cryptography;AesCryptoServiceProvider;false;set_Key;(System.Byte[]);;Argument[0];encryption-keyprop;df-generated | +| System.Security.Cryptography;AesCryptoServiceProvider;false;set_Key;(System.Byte[]);;Argument[0];encryption-keyprop;manual | +| System.Security.Cryptography;AesManaged;false;CreateDecryptor;();;Argument[this];encryption-decryptor;df-generated | +| System.Security.Cryptography;AesManaged;false;CreateDecryptor;(System.Byte[],System.Byte[]);;Argument[0];encryption-decryptor;df-generated | +| System.Security.Cryptography;AesManaged;false;CreateDecryptor;(System.Byte[],System.Byte[]);;Argument[0];encryption-decryptor;manual | +| System.Security.Cryptography;AesManaged;false;CreateEncryptor;();;Argument[this];encryption-encryptor;df-generated | +| System.Security.Cryptography;AesManaged;false;CreateEncryptor;(System.Byte[],System.Byte[]);;Argument[0];encryption-encryptor;df-generated | +| System.Security.Cryptography;AesManaged;false;CreateEncryptor;(System.Byte[],System.Byte[]);;Argument[0];encryption-encryptor;manual | +| System.Security.Cryptography;AesManaged;false;set_Key;(System.Byte[]);;Argument[0];encryption-keyprop;df-generated | +| System.Security.Cryptography;AesManaged;false;set_Key;(System.Byte[]);;Argument[0];encryption-keyprop;manual | +| System.Security.Cryptography;DES;false;set_Key;(System.Byte[]);;Argument[0];encryption-keyprop;df-generated | +| System.Security.Cryptography;DES;false;set_Key;(System.Byte[]);;Argument[0];encryption-keyprop;manual | +| System.Security.Cryptography;DESCryptoServiceProvider;false;CreateDecryptor;();;Argument[this];encryption-decryptor;df-generated | +| System.Security.Cryptography;DESCryptoServiceProvider;false;CreateDecryptor;(System.Byte[],System.Byte[]);;Argument[0];encryption-decryptor;df-generated | +| System.Security.Cryptography;DESCryptoServiceProvider;false;CreateDecryptor;(System.Byte[],System.Byte[]);;Argument[0];encryption-decryptor;manual | +| System.Security.Cryptography;DESCryptoServiceProvider;false;CreateEncryptor;();;Argument[this];encryption-encryptor;df-generated | +| System.Security.Cryptography;DESCryptoServiceProvider;false;CreateEncryptor;(System.Byte[],System.Byte[]);;Argument[0];encryption-encryptor;df-generated | +| System.Security.Cryptography;DESCryptoServiceProvider;false;CreateEncryptor;(System.Byte[],System.Byte[]);;Argument[0];encryption-encryptor;manual | +| System.Security.Cryptography;RC2CryptoServiceProvider;false;CreateDecryptor;(System.Byte[],System.Byte[]);;Argument[0];encryption-decryptor;df-generated | +| System.Security.Cryptography;RC2CryptoServiceProvider;false;CreateDecryptor;(System.Byte[],System.Byte[]);;Argument[0];encryption-decryptor;manual | +| System.Security.Cryptography;RC2CryptoServiceProvider;false;CreateEncryptor;(System.Byte[],System.Byte[]);;Argument[0];encryption-encryptor;df-generated | +| System.Security.Cryptography;RC2CryptoServiceProvider;false;CreateEncryptor;(System.Byte[],System.Byte[]);;Argument[0];encryption-encryptor;manual | +| System.Security.Cryptography;RijndaelManaged;false;CreateDecryptor;();;Argument[this];encryption-decryptor;df-generated | +| System.Security.Cryptography;RijndaelManaged;false;CreateDecryptor;(System.Byte[],System.Byte[]);;Argument[0];encryption-decryptor;df-generated | +| System.Security.Cryptography;RijndaelManaged;false;CreateDecryptor;(System.Byte[],System.Byte[]);;Argument[0];encryption-decryptor;manual | +| System.Security.Cryptography;RijndaelManaged;false;CreateEncryptor;();;Argument[this];encryption-encryptor;df-generated | +| System.Security.Cryptography;RijndaelManaged;false;CreateEncryptor;(System.Byte[],System.Byte[]);;Argument[0];encryption-encryptor;df-generated | +| System.Security.Cryptography;RijndaelManaged;false;CreateEncryptor;(System.Byte[],System.Byte[]);;Argument[0];encryption-encryptor;manual | +| System.Security.Cryptography;RijndaelManaged;false;set_Key;(System.Byte[]);;Argument[0];encryption-keyprop;df-generated | +| System.Security.Cryptography;RijndaelManaged;false;set_Key;(System.Byte[]);;Argument[0];encryption-keyprop;manual | +| System.Security.Cryptography;SymmetricAlgorithm;true;CreateDecryptor;();;Argument[this];encryption-decryptor;df-generated | +| System.Security.Cryptography;SymmetricAlgorithm;true;CreateDecryptor;(System.Byte[],System.Byte[]);;Argument[0];encryption-decryptor;manual | +| System.Security.Cryptography;SymmetricAlgorithm;true;CreateEncryptor;();;Argument[this];encryption-encryptor;df-generated | +| System.Security.Cryptography;SymmetricAlgorithm;true;CreateEncryptor;(System.Byte[],System.Byte[]);;Argument[0];encryption-encryptor;manual | +| System.Security.Cryptography;SymmetricAlgorithm;true;set_Key;(System.Byte[]);;Argument[0];encryption-keyprop;manual | +| System.Security.Cryptography;TripleDES;false;set_Key;(System.Byte[]);;Argument[0];encryption-keyprop;df-generated | +| System.Security.Cryptography;TripleDES;false;set_Key;(System.Byte[]);;Argument[0];encryption-keyprop;manual | +| System.Security.Cryptography;TripleDESCng;false;CreateDecryptor;();;Argument[this];encryption-decryptor;df-generated | +| System.Security.Cryptography;TripleDESCng;false;CreateDecryptor;(System.Byte[],System.Byte[]);;Argument[0];encryption-decryptor;manual | +| System.Security.Cryptography;TripleDESCng;false;CreateEncryptor;();;Argument[this];encryption-encryptor;df-generated | +| System.Security.Cryptography;TripleDESCng;false;CreateEncryptor;(System.Byte[],System.Byte[]);;Argument[0];encryption-encryptor;manual | +| System.Security.Cryptography;TripleDESCng;false;set_Key;(System.Byte[]);;Argument[0];encryption-keyprop;manual | +| System.Security.Cryptography;TripleDESCryptoServiceProvider;false;CreateDecryptor;();;Argument[this];encryption-decryptor;df-generated | +| System.Security.Cryptography;TripleDESCryptoServiceProvider;false;CreateDecryptor;(System.Byte[],System.Byte[]);;Argument[0];encryption-decryptor;df-generated | +| System.Security.Cryptography;TripleDESCryptoServiceProvider;false;CreateDecryptor;(System.Byte[],System.Byte[]);;Argument[0];encryption-decryptor;manual | +| System.Security.Cryptography;TripleDESCryptoServiceProvider;false;CreateEncryptor;();;Argument[this];encryption-encryptor;df-generated | +| System.Security.Cryptography;TripleDESCryptoServiceProvider;false;CreateEncryptor;(System.Byte[],System.Byte[]);;Argument[0];encryption-encryptor;df-generated | +| System.Security.Cryptography;TripleDESCryptoServiceProvider;false;CreateEncryptor;(System.Byte[],System.Byte[]);;Argument[0];encryption-encryptor;manual | +| System.Security.Cryptography;TripleDESCryptoServiceProvider;false;set_Key;(System.Byte[]);;Argument[0];encryption-keyprop;df-generated | +| System.Security.Cryptography;TripleDESCryptoServiceProvider;false;set_Key;(System.Byte[]);;Argument[0];encryption-keyprop;manual | +| System.Web;HttpResponse;false;Write;(System.Object);;Argument[0];html-injection;manual | +| System.Web;HttpResponse;false;Write;(System.String);;Argument[0];html-injection;manual | +| System.Web;HttpResponse;false;WriteFile;(System.String);;Argument[0];html-injection;manual | summary | Dapper;CustomPropertyTypeMap;false;CustomPropertyTypeMap;(System.Type,System.Func<System.Type,System.String,System.Reflection.PropertyInfo>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Dapper;DynamicParameters;false;Output<T>;(T,System.Linq.Expressions.Expression<System.Func<T,System.Object>>,System.Nullable<System.Data.DbType>,System.Nullable<System.Int32>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | diff --git a/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.ql b/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.ql index ee3ac53742a..6b117c03ac0 100644 --- a/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.ql +++ b/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.ql @@ -1,11 +1,20 @@ import shared.FlowSummaries import semmle.code.csharp.dataflow.internal.ExternalFlow -private class IncludeAllSummarizedCallable extends IncludeSummarizedCallable { - IncludeAllSummarizedCallable() { exists(this) } +final private class NeutralCallableFinal = NeutralCallable; + +class RelevantNeutralCallable extends NeutralCallableFinal { + final string getCallableCsv() { result = asPartialNeutralModel(this) } } -private class IncludeNeutralSummarizedCallable extends RelevantNeutralCallable { - /** Gets a string representing the callable in semi-colon separated format for use in flow summaries. */ - final override string getCallableCsv() { result = asPartialNeutralModel(this) } +class RelevantSourceCallable extends SourceCallable { + string getCallableCsv() { result = asPartialModel(this) } } + +class RelevantSinkCallable extends SinkCallable { + string getCallableCsv() { result = asPartialModel(this) } +} + +import TestSummaryOutput<IncludeSummarizedCallable> +import TestNeutralOutput<RelevantNeutralCallable> +import External::TestSourceSinkOutput<RelevantSourceCallable, RelevantSinkCallable> diff --git a/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected b/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected index 4dec1bdd7d1..cf17fed3269 100644 --- a/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected +++ b/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected @@ -1,4 +1,3 @@ -summary | Dapper;CustomPropertyTypeMap;false;CustomPropertyTypeMap;(System.Type,System.Func<System.Type,System.String,System.Reflection.PropertyInfo>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Dapper;DynamicParameters;false;Output<T>;(T,System.Linq.Expressions.Expression<System.Func<T,System.Object>>,System.Nullable<System.Data.DbType>,System.Nullable<System.Int32>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | | Dapper;SqlMapper+GridReader;false;GridReader;(System.Data.IDbCommand,System.Data.Common.DbDataReader,Dapper.SqlMapper+Identity,System.Action<System.Object>,System.Object,System.Boolean,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | @@ -16125,4 +16124,3 @@ summary | System;ValueTuple<T1>;false;ToString;();;Argument[this];ReturnValue;taint;df-generated | | System;ValueTuple<T1>;false;ValueTuple;(T1);;Argument[0];Argument[this].Field[System.ValueTuple`1.Item1];value;manual | | System;ValueTuple<T1>;false;get_Item;(System.Int32);;Argument[this].Field[System.ValueTuple`1.Item1];ReturnValue;value;manual | -neutral diff --git a/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.ql b/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.ql index c3584afcbc3..9c19d00cb59 100644 --- a/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.ql +++ b/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.ql @@ -2,8 +2,6 @@ import shared.FlowSummaries private import semmle.code.csharp.dataflow.internal.ExternalFlow class IncludeFilteredSummarizedCallable extends IncludeSummarizedCallable { - IncludeFilteredSummarizedCallable() { exists(this) } - /** * Holds if flow is propagated between `input` and `output` and * if there is no summary for a callable in a `base` class or interface @@ -12,7 +10,7 @@ class IncludeFilteredSummarizedCallable extends IncludeSummarizedCallable { override predicate relevantSummary( SummaryComponentStack input, SummaryComponentStack output, boolean preservesValue ) { - super.propagatesFlow(input, output, preservesValue) and + this.propagatesFlow(input, output, preservesValue) and not exists(IncludeSummarizedCallable rsc | isBaseCallableOrPrototype(rsc) and rsc.propagatesFlow(input, output, preservesValue) and @@ -20,3 +18,5 @@ class IncludeFilteredSummarizedCallable extends IncludeSummarizedCallable { ) } } + +import TestSummaryOutput<IncludeFilteredSummarizedCallable> diff --git a/csharp/ql/test/library-tests/frameworks/EntityFramework/FlowSummaries.expected b/csharp/ql/test/library-tests/frameworks/EntityFramework/FlowSummaries.expected index 8522487dff7..db1bacefb33 100644 --- a/csharp/ql/test/library-tests/frameworks/EntityFramework/FlowSummaries.expected +++ b/csharp/ql/test/library-tests/frameworks/EntityFramework/FlowSummaries.expected @@ -170,7 +170,6 @@ summary | System.Data.Entity;DbContext;false;SaveChangesAsync;(System.Threading.CancellationToken);;Argument[this].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Id];SyntheticGlobal[EFTests.MyContext.Persons#ReturnValue.Element.Property[EFTests.Person.Id]];value;manual | | System.Data.Entity;DbContext;false;SaveChangesAsync;(System.Threading.CancellationToken);;Argument[this].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Name];SyntheticGlobal[EFTests.MyContext.PersonAddresses#ReturnValue.Element.Property[EFTests.PersonAddressMap.Person].Property[EFTests.Person.Name]];value;manual | | System.Data.Entity;DbContext;false;SaveChangesAsync;(System.Threading.CancellationToken);;Argument[this].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Name];SyntheticGlobal[EFTests.MyContext.Persons#ReturnValue.Element.Property[EFTests.Person.Name]];value;manual | -neutral sourceNode sinkNode | EntityFrameworkCore.cs:72:36:72:40 | "sql" | sql-injection | diff --git a/csharp/ql/test/library-tests/frameworks/EntityFramework/FlowSummaries.ql b/csharp/ql/test/library-tests/frameworks/EntityFramework/FlowSummaries.ql index bef72ca30a1..55cd03ede10 100644 --- a/csharp/ql/test/library-tests/frameworks/EntityFramework/FlowSummaries.ql +++ b/csharp/ql/test/library-tests/frameworks/EntityFramework/FlowSummaries.ql @@ -3,8 +3,10 @@ import shared.FlowSummaries import semmle.code.csharp.frameworks.EntityFramework::EntityFramework import semmle.code.csharp.dataflow.internal.ExternalFlow as ExternalFlow -private class IncludeEFSummarizedCallable extends IncludeSummarizedCallable instanceof EFSummarizedCallable -{ } +class RelevantSummarizedCallable extends IncludeSummarizedCallable instanceof EFSummarizedCallable { +} + +import TestSummaryOutput<RelevantSummarizedCallable> query predicate sourceNode(DataFlow::Node node, string kind) { ExternalFlow::sourceNode(node, kind) diff --git a/csharp/ql/test/query-tests/API Abuse/IncorrectCompareToSignature/IncorrectCompareToSignature.expected b/csharp/ql/test/query-tests/API Abuse/IncorrectCompareToSignature/IncorrectCompareToSignature.expected index 46561c8184d..2b0e89de399 100644 --- a/csharp/ql/test/query-tests/API Abuse/IncorrectCompareToSignature/IncorrectCompareToSignature.expected +++ b/csharp/ql/test/query-tests/API Abuse/IncorrectCompareToSignature/IncorrectCompareToSignature.expected @@ -1,2 +1,2 @@ -| IncorrectCompareToSignature.cs:5:16:5:24 | CompareTo | The parameter of this 'CompareTo' method is of type $@, but $@ does not implement 'IComparable<$@>'. | IncorrectCompareToSignature.cs:3:10:3:10 | T | T | IncorrectCompareToSignature.cs:3:7:3:11 | C1`1 | C1`1 | IncorrectCompareToSignature.cs:3:10:3:10 | T | T | -| IncorrectCompareToSignatureBad.cs:5:16:5:24 | CompareTo | The parameter of this 'CompareTo' method is of type $@, but $@ does not implement 'IComparable<$@>'. | IncorrectCompareToSignatureBad.cs:3:7:3:9 | Bad | Bad | IncorrectCompareToSignatureBad.cs:3:7:3:9 | Bad | Bad | IncorrectCompareToSignatureBad.cs:3:7:3:9 | Bad | Bad | +| IncorrectCompareToSignature.cs:5:16:5:24 | CompareTo | The parameter of this 'CompareTo' method is of type 'T', but the declaring type does not implement 'IComparable<T>'. | +| IncorrectCompareToSignatureBad.cs:5:16:5:24 | CompareTo | The parameter of this 'CompareTo' method is of type 'Bad', but the declaring type does not implement 'IComparable<Bad>'. | diff --git a/csharp/ql/test/shared/FlowSummaries.qll b/csharp/ql/test/shared/FlowSummaries.qll index 83a1530b028..2fecea3f62f 100644 --- a/csharp/ql/test/shared/FlowSummaries.qll +++ b/csharp/ql/test/shared/FlowSummaries.qll @@ -1,13 +1,20 @@ import semmle.code.csharp.dataflow.internal.FlowSummaryImpl::Private import semmle.code.csharp.dataflow.internal.FlowSummaryImpl::Public -import semmle.code.csharp.dataflow.internal.FlowSummaryImpl::Private::TestOutput private import semmle.code.csharp.dataflow.internal.ExternalFlow -abstract class IncludeSummarizedCallable extends RelevantSummarizedCallable { +final private class SummarizedCallableImplFinal = SummarizedCallableImpl; + +class IncludeSummarizedCallable extends SummarizedCallableImplFinal { IncludeSummarizedCallable() { [this.(Modifiable), this.(Accessor).getDeclaration()].isEffectivelyPublic() } /** Gets a string representing the callable in semi-colon separated format for use in flow summaries. */ - final override string getCallableCsv() { result = asPartialModel(this) } + final string getCallableCsv() { result = asPartialModel(this) } + + predicate relevantSummary( + SummaryComponentStack input, SummaryComponentStack output, boolean preservesValue + ) { + this.propagatesFlow(input, output, preservesValue) + } } diff --git a/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.16.1.rst b/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.16.1.rst index e9f1dd20f34..7a1e6b6230b 100644 --- a/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.16.1.rst +++ b/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.16.1.rst @@ -171,7 +171,7 @@ Python Ruby """" -* Deleted many deprecated predicates and classes with uppercase :code:`HTTP`, :code:`CSRF`, :code:`,` etc. in their names. Use the PascalCased versions instead. +* Deleted many deprecated predicates and classes with uppercase :code:`HTTP`, :code:`CSRF` etc. in their names. Use the PascalCased versions instead. * Deleted the deprecated :code:`getAUse` and :code:`getARhs` predicates from :code:`API::Node`, use :code:`getASource` and :code:`getASink` instead. * Deleted the deprecated :code:`disablesCertificateValidation` predicate from the :code:`Http` module. * Deleted the deprecated :code:`ParamsCall`, :code:`CookiesCall`, and :code:`ActionControllerControllerClass` classes from :code:`ActionController.qll`, use the simarly named classes from :code:`codeql.ruby.frameworks.Rails::Rails` instead. diff --git a/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.16.3.rst b/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.16.3.rst index af699a301c4..af7c4ce84b0 100644 --- a/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.16.3.rst +++ b/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.16.3.rst @@ -27,14 +27,15 @@ Bug Fixes New Features ~~~~~~~~~~~~ -* A new extractor option has been added to the Python extractor: :code:`python_executable_name`. - You can use this option to override the default process the extractor uses to find and select a Python executable. - Pass one of :code:`--extractor-option python_executable_name=py` or :code:`--extractor-option python_executable_name=python` or :code:`--extractor-option python_executable_name=python3` to commands that run the extractor, for example: :code:`codeql database create`. +* A new extractor option has been added to the Python extractor: + :code:`python_executable_name`. You can use this option to override the default process the extractor uses to find and select a Python executable. Pass one of + :code:`--extractor-option python_executable_name=py` or :code:`--extractor-option python_executable_name=python` or :code:`--extractor-option python_executable_name=python3` to commands that run the extractor, for example: :code:`codeql database create`. - On Windows machines, the Python extractor will expect to find :code:`py.exe` on the system :code:`PATH` by default. - If the Python executable has a different name, you can set the new extractor option to override this value and look for :code:`python.exe` or :code:`python3.exe`. + On Windows machines, the Python extractor will expect to find :code:`py.exe` on the system :code:`PATH` by default. If the Python executable has a different name, you can set the new extractor option to override this value and look for + :code:`python.exe` or :code:`python3.exe`. - For more information about using the extractor option with the CodeQL CLI, see `Extractor options <https://docs.github.com/en/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/extractor-options>`__. + For more information about using the extractor option with the CodeQL CLI, see + \ `Extractor options <https://docs.github.com/en/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/extractor-options>`__. Security Updates ~~~~~~~~~~~~~~~~ diff --git a/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.16.4.rst b/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.16.4.rst new file mode 100644 index 00000000000..dccf2ce4796 --- /dev/null +++ b/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.16.4.rst @@ -0,0 +1,156 @@ +.. _codeql-cli-2.16.4: + +========================== +CodeQL 2.16.4 (2024-03-11) +========================== + +.. 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 <https://github.blog/tag/code-scanning/>`__, `relevant GitHub Changelog updates <https://github.blog/changelog/label/code-scanning/>`__, `changes in the CodeQL extension for Visual Studio Code <https://marketplace.visualstudio.com/items/GitHub.vscode-codeql/changelog>`__, and the `CodeQL Action changelog <https://github.com/github/codeql-action/blob/main/CHANGELOG.md>`__. + +Security Coverage +----------------- + +CodeQL 2.16.4 runs a total of 409 security queries when configured with the Default suite (covering 160 CWE). The Extended suite enables an additional 132 queries (covering 34 more CWE). 2 security queries have been added with this release. + +CodeQL CLI +---------- + +Potentially Breaking Changes +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +* A number of internal command line options (:code:`--builtin_functions_file`, :code:`--clang_builtin_functions`, + :code:`--disable-objc-default-synthesize-properties`, :code:`--list_builtin_functions`, :code:`--memory-limit-bytes`, + :code:`--mimic_config`, and :code:`--objc`) has been removed from the C/C++ extractor. It has never been possible to pass these options through the CLI itself, but some customers with advanced setups may have been passing them through internal undocumented interfaces. All of the removed options were already no-ops, and will now generate errors. + + The :code:`--verbosity` command line option has also been removed. The option was an alias for + :code:`--codeql-verbosity`, which should be used instead. + +Bug Fixes +~~~~~~~~~ + +* When parsing user-authored YAML files such as :code:`codeql-pack.yml`, + :code:`qlpack.yml`, :code:`codeql-workspace.yml`, and any YAML file defining a data extension, unquoted string values starting with a :code:`*` character are now correctly interpreted as YAML aliases. Previously, they were interpreted as strings, but with the first character skipped. + + If you see a parse error similar to :code:`while scanning an alias... unexpected` :code:`character found *(42)`,it likely means that you need to add quotes around the indicated string value. The most common cause is unquoted glob patterns that start with :code:`*`, such as :code:`include: **/*.yml`, which will need to be quoted as :code:`include: "**/*.yml"`. + +Improvements +~~~~~~~~~~~~ + +* The frontend of the C/C++ extractor has been updated, improving the extractor's reliability and increasing its ability to extract source code. + +Query Packs +----------- + +Minor Analysis Improvements +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +C/C++ +""""" + +* The "non-constant format string" query (:code:`cpp/non-constant-format`) has been converted to a :code:`path-problem` query. +* The new C/C++ dataflow and taint-tracking libraries (:code:`semmle.code.cpp.dataflow.new.DataFlow` and :code:`semmle.code.cpp.dataflow.new.TaintTracking`) now implicitly assume that dataflow and taint modelled via :code:`DataFlowFunction` and :code:`TaintFunction` always fully overwrite their buffers and thus act as flow barriers. As a result, many dataflow and taint-tracking queries now produce fewer false positives. To remove this assumption and go back to the previous behavior for a given model, one can override the new :code:`isPartialWrite` predicate. + +C# +"" + +* Most data flow queries that track flow from *remote* flow sources now use the current *threat model* configuration instead. This doesn't lead to any changes in the produced alerts (as the default configuration is *remote* flow sources) unless the threat model configuration is changed. The changed queries are :code:`cs/code-injection`, :code:`cs/command-line-injection`, :code:`cs/user-controlled-bypass`, :code:`cs/count-untrusted-data-external-api`, :code:`cs/untrusted-data-to-external-api`, :code:`cs/ldap-injection`, :code:`cs/log-forging`, :code:`cs/xml/missing-validation`, :code:`cs/redos`, :code:`cs/regex-injection`, :code:`cs/resource-injection`, :code:`cs/sql-injection`, :code:`cs/path-injection`, :code:`cs/unsafe-deserialization-untrusted-input`, :code:`cs/web/unvalidated-url-redirection`, :code:`cs/xml/insecure-dtd-handling`, :code:`cs/xml/xpath-injection`, :code:`cs/web/xss`, and :code:`cs/uncontrolled-format-string`. + +Java +"""" + +* To reduce the number of false positives in the query "Insertion of sensitive information into log files" (:code:`java/sensitive-log`), variables with names that contain "null" (case-insensitively) are no longer considered sources of sensitive information. + +Ruby +"""" + +* Calls to :code:`Object#method`, :code:`Object#public_method` and :code:`Object#singleton_method` with untrusted data are now recognised as sinks for code injection. +* Added additional request sources for Ruby on Rails. + +New Queries +~~~~~~~~~~~ + +Java +"""" + +* Added a new query :code:`java/android/insecure-local-key-gen` for finding instances of keys generated for biometric authentication in an insecure way. + +Python +"""""" + +* The query :code:`py/nosql-injection` for finding NoSQL injection vulnerabilities is now part of the default security suite. + +Language Libraries +------------------ + +Bug Fixes +~~~~~~~~~ + +Golang +"""""" + +* Fixed dataflow out of a :code:`map` using a :code:`range` statement. + +Java +"""" + +* Fixed the Java autobuilder overriding the version of Maven used by a project when the Maven wrapper :code:`mvnw` is in use and the :code:`maven-wrapper.jar` file is not present in the repository. +* Some flow steps related to :code:`android.text.Editable.toString` that were accidentally disabled have been re-enabled. + +Swift +""""" + +* Fixed an issue where :code:`TypeDecl.getFullName` would get stuck in an loop and fail when minor database inconsistencies are present. + +Major Analysis Improvements +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +C# +"" + +* Improved support for flow through captured variables that properly adheres to inter-procedural control flow. +* We no longer make use of CodeQL database stats, which may affect join-orders in custom queries. It is therefore recommended to test performance of custom queries after upgrading to this version. + +Golang +"""""" + +* We have significantly improved the Go autobuilder to understand a greater range of project layouts, which allows Go source files to be analysed that could previously not be processed. +* Go 1.22 has been included in the range of supported Go versions. + +Minor Analysis Improvements +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +C/C++ +""""" + +* Added destructors for named objects to the intermediate representation. + +C# +"" + +* C# 12: Add QL library support (:code:`ExperimentalAttribute`) for the experimental attribute. +* C# 12: Add extractor and QL library support for :code:`ref readonly` parameters. +* C#: The table :code:`expr_compiler_generated` has been deleted and its content has been added to :code:`compiler_generated`. +* Data flow via get only properties like :code:`public object Obj { get; }` is now captured by the data flow library. + +Java +"""" + +* Java expressions with erroneous types (e.g. the result of a call whose callee couldn't be resolved during extraction) are now given a CodeQL :code:`ErrorType` more often. + +Python +"""""" + +* Fixed missing flow for dictionary updates (:code:`d[<key>] = ...`) when :code:`<key>` is a string constant not used in dictionary literals or as name of keyword-argument. +* Fixed flow for iterable unpacking (:code:`a,b = my_tuple`) when it occurs on top-level (module) scope. + +Ruby +"""" + +* Calls to :code:`I18n.translate` as well as Rails helper translate methods now propagate taint from their keyword arguments. The Rails translate methods are also recognized as XSS sanitizers when using keys marked as html safe. +* Calls to :code:`Arel::Nodes::SqlLiteral.new` are now modeled as instances of the :code:`SqlConstruction` concept, as well as propagating taint from their argument. +* Additional arguments beyond the first of calls to the :code:`ActiveRecord` methods :code:`select`, :code:`reselect`, :code:`order`, :code:`reorder`, :code:`joins`, :code:`group`, and :code:`pluck` are now recognized as sql injection sinks. +* Calls to several methods of :code:`ActiveRecord::Connection`, such as :code:`ActiveRecord::Connection#exec_query`, are now recognized as SQL executions, including those via subclasses. diff --git a/docs/codeql/codeql-overview/codeql-changelog/index.rst b/docs/codeql/codeql-overview/codeql-changelog/index.rst index a04f37ad9e4..edec857c740 100644 --- a/docs/codeql/codeql-overview/codeql-changelog/index.rst +++ b/docs/codeql/codeql-overview/codeql-changelog/index.rst @@ -11,6 +11,7 @@ A list of queries for each suite and language `is available here <https://docs.g .. toctree:: :maxdepth: 1 + codeql-cli-2.16.4 codeql-cli-2.16.3 codeql-cli-2.16.2 codeql-cli-2.16.1 diff --git a/docs/codeql/reusables/supported-versions-compilers.rst b/docs/codeql/reusables/supported-versions-compilers.rst index 81dcc0370d8..727642a87ac 100644 --- a/docs/codeql/reusables/supported-versions-compilers.rst +++ b/docs/codeql/reusables/supported-versions-compilers.rst @@ -16,7 +16,7 @@ .NET Core up to 3.1 .NET 5, .NET 6, .NET 7, .NET 8","``.sln``, ``.csproj``, ``.cs``, ``.cshtml``, ``.xaml``" - Go (aka Golang), "Go up to 1.21", "Go 1.11 or more recent", ``.go`` + Go (aka Golang), "Go up to 1.22", "Go 1.11 or more recent", ``.go`` Java,"Java 7 to 21 [5]_","javac (OpenJDK and Oracle JDK), Eclipse compiler for Java (ECJ) [6]_",``.java`` @@ -25,7 +25,7 @@ Python [9]_,"2.7, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, 3.11, 3.12",Not applicable,``.py`` Ruby [10]_,"up to 3.3",Not applicable,"``.rb``, ``.erb``, ``.gemspec``, ``Gemfile``" Swift [11]_,"Swift 5.4-5.9.1","Swift compiler","``.swift``" - TypeScript [12]_,"2.6-5.3",Standard TypeScript compiler,"``.ts``, ``.tsx``, ``.mts``, ``.cts``" + TypeScript [12]_,"2.6-5.4",Standard TypeScript compiler,"``.ts``, ``.tsx``, ``.mts``, ``.cts``" .. container:: footnote-group diff --git a/go/extractor/cli/go-autobuilder/go-autobuilder.go b/go/extractor/cli/go-autobuilder/go-autobuilder.go index 91291c77144..b2e2a78666f 100644 --- a/go/extractor/cli/go-autobuilder/go-autobuilder.go +++ b/go/extractor/cli/go-autobuilder/go-autobuilder.go @@ -3,7 +3,6 @@ package main import ( "fmt" "log" - "net/url" "os" "os/exec" "path/filepath" @@ -56,63 +55,6 @@ Build behavior: fmt.Fprintf(os.Stderr, "Usage:\n\n %s\n", os.Args[0]) } -// Returns the import path of the package being built, or "" if it cannot be determined. -func getImportPath() (importpath string) { - importpath = os.Getenv("LGTM_INDEX_IMPORT_PATH") - if importpath == "" { - repourl := os.Getenv("SEMMLE_REPO_URL") - if repourl == "" { - githubrepo := os.Getenv("GITHUB_REPOSITORY") - if githubrepo == "" { - log.Printf("Unable to determine import path, as neither LGTM_INDEX_IMPORT_PATH nor GITHUB_REPOSITORY is set\n") - return "" - } else { - importpath = "github.com/" + githubrepo - } - } else { - importpath = getImportPathFromRepoURL(repourl) - if importpath == "" { - log.Printf("Failed to determine import path from SEMMLE_REPO_URL '%s'\n", repourl) - return - } - } - } - log.Printf("Import path is '%s'\n", importpath) - return -} - -// Returns the import path of the package being built from `repourl`, or "" if it cannot be -// determined. -func getImportPathFromRepoURL(repourl string) string { - // check for scp-like URL as in "git@github.com:github/codeql-go.git" - shorturl := regexp.MustCompile(`^([^@]+@)?([^:]+):([^/].*?)(\.git)?$`) - m := shorturl.FindStringSubmatch(repourl) - if m != nil { - return m[2] + "/" + m[3] - } - - // otherwise parse as proper URL - u, err := url.Parse(repourl) - if err != nil { - log.Fatalf("Malformed repository URL '%s'\n", repourl) - } - - if u.Scheme == "file" { - // we can't determine import paths from file paths - return "" - } - - if u.Hostname() == "" || u.Path == "" { - return "" - } - - host := u.Hostname() - path := u.Path - // strip off leading slashes and trailing `.git` if present - path = regexp.MustCompile(`^/+|\.git$`).ReplaceAllString(path, "") - return host + "/" + path -} - func restoreRepoLayout(fromDir string, dirEntries []string, scratchDirName string, toDir string) { for _, dirEntry := range dirEntries { if dirEntry != scratchDirName { @@ -568,7 +510,7 @@ func installDependenciesAndBuild() { if len(workspaces) == 1 { workspace := workspaces[0] - importpath := getImportPath() + importpath := util.GetImportPath() needGopath := getNeedGopath(workspace, importpath) inLGTM := os.Getenv("LGTM_SRC") != "" || os.Getenv("LGTM_INDEX_NEED_GOPATH") != "" diff --git a/go/extractor/extractor.go b/go/extractor/extractor.go index f2ba68a20f0..2e846b66e28 100644 --- a/go/extractor/extractor.go +++ b/go/extractor/extractor.go @@ -119,7 +119,7 @@ func ExtractWithFlags(buildFlags []string, patterns []string) error { // root directories of packages that we want to extract wantedRoots := make(map[string]bool) - if os.Getenv("CODEQL_EXTRACTOR_GO_FAST_PACKAGE_INFO") != "" { + if os.Getenv("CODEQL_EXTRACTOR_GO_FAST_PACKAGE_INFO") != "false" { log.Printf("Running go list to resolve package and module directories.") // get all packages information pkgInfos, err = util.GetPkgsInfo(patterns, true, modFlags...) diff --git a/go/extractor/project/project.go b/go/extractor/project/project.go index 187389ecd55..22c0f856c79 100644 --- a/go/extractor/project/project.go +++ b/go/extractor/project/project.go @@ -439,8 +439,9 @@ func getBuildRoots(emitDiagnostics bool) (goWorkspaces []GoWorkspace, totalModul for _, component := range components { path = filepath.Join(path, component) - // Try to initialize a `go.mod` file automatically for the stray source files. - if !slices.Contains(goModDirs, path) { + // Try to initialize a `go.mod` file automatically for the stray source files if + // doing so would not place it in a parent directory of an existing `go.mod` file. + if !startsWithAnyOf(path, goModDirs) { goWorkspaces = append(goWorkspaces, GoWorkspace{ BaseDir: path, DepMode: GoGetNoModules, @@ -477,6 +478,16 @@ func getBuildRoots(emitDiagnostics bool) (goWorkspaces []GoWorkspace, totalModul return } +// Determines whether `str` starts with any of `prefixes`. +func startsWithAnyOf(str string, prefixes []string) bool { + for _, prefix := range prefixes { + if relPath, err := filepath.Rel(str, prefix); err == nil && !strings.HasPrefix(relPath, "..") { + return true + } + } + return false +} + // Finds Go workspaces in the current working directory. func GetWorkspaceInfo(emitDiagnostics bool) []GoWorkspace { bazelPaths := slices.Concat( diff --git a/go/extractor/project/project_test.go b/go/extractor/project/project_test.go new file mode 100644 index 00000000000..f2de420773f --- /dev/null +++ b/go/extractor/project/project_test.go @@ -0,0 +1,27 @@ +package project + +import ( + "path/filepath" + "testing" +) + +func testStartsWithAnyOf(t *testing.T, path string, prefix string, expectation bool) { + result := startsWithAnyOf(path, []string{prefix}) + if result != expectation { + t.Errorf("Expected startsWithAnyOf(%s, %s) to be %t, but it is %t.", path, prefix, expectation, result) + } +} + +func TestStartsWithAnyOf(t *testing.T) { + testStartsWithAnyOf(t, ".", ".", true) + testStartsWithAnyOf(t, ".", "dir", true) + testStartsWithAnyOf(t, ".", filepath.Join("foo", "bar"), true) + testStartsWithAnyOf(t, "dir", "dir", true) + testStartsWithAnyOf(t, "foo", filepath.Join("foo", "bar"), true) + testStartsWithAnyOf(t, filepath.Join("foo", "bar"), filepath.Join("foo", "bar"), true) + testStartsWithAnyOf(t, filepath.Join("foo", "bar"), filepath.Join("foo", "bar", "baz"), true) + + testStartsWithAnyOf(t, filepath.Join("foo", "bar"), "foo", false) + testStartsWithAnyOf(t, filepath.Join("foo", "bar"), "bar", false) + testStartsWithAnyOf(t, filepath.Join("foo", "bar"), filepath.Join("foo", "baz"), false) +} diff --git a/go/extractor/toolchain/toolchain.go b/go/extractor/toolchain/toolchain.go index 38abfd43874..104894c5975 100644 --- a/go/extractor/toolchain/toolchain.go +++ b/go/extractor/toolchain/toolchain.go @@ -5,8 +5,10 @@ import ( "log" "os" "os/exec" + "path/filepath" "strings" + "github.com/github/codeql-go/extractor/util" "golang.org/x/mod/semver" ) @@ -81,7 +83,20 @@ func TidyModule(path string) *exec.Cmd { // Run `go mod init` in the directory given by `path`. func InitModule(path string) *exec.Cmd { - modInit := exec.Command("go", "mod", "init", "codeql/auto-project") + moduleName := "codeql/auto-project" + + if importpath := util.GetImportPath(); importpath != "" { + // This should be something like `github.com/user/repo` + moduleName = importpath + + // If we are not initialising the new module in the root directory of the workspace, + // append the relative path to the module name. + if relPath, err := filepath.Rel(".", path); err != nil && relPath != "." { + moduleName = moduleName + "/" + relPath + } + } + + modInit := exec.Command("go", "mod", "init", moduleName) modInit.Dir = path return modInit } diff --git a/go/extractor/util/util.go b/go/extractor/util/util.go index b5b28089e78..2ae6a2b0cd2 100644 --- a/go/extractor/util/util.go +++ b/go/extractor/util/util.go @@ -6,9 +6,11 @@ import ( "io" "io/fs" "log" + "net/url" "os" "os/exec" "path/filepath" + "regexp" "runtime" "slices" "strings" @@ -350,3 +352,60 @@ func GetParentDirs(paths []string) []string { } return dirs } + +// Returns the import path of the package being built, or "" if it cannot be determined. +func GetImportPath() (importpath string) { + importpath = os.Getenv("LGTM_INDEX_IMPORT_PATH") + if importpath == "" { + repourl := os.Getenv("SEMMLE_REPO_URL") + if repourl == "" { + githubrepo := os.Getenv("GITHUB_REPOSITORY") + if githubrepo == "" { + log.Printf("Unable to determine import path, as neither LGTM_INDEX_IMPORT_PATH nor GITHUB_REPOSITORY is set\n") + return "" + } else { + importpath = "github.com/" + githubrepo + } + } else { + importpath = getImportPathFromRepoURL(repourl) + if importpath == "" { + log.Printf("Failed to determine import path from SEMMLE_REPO_URL '%s'\n", repourl) + return + } + } + } + log.Printf("Import path is '%s'\n", importpath) + return +} + +// Returns the import path of the package being built from `repourl`, or "" if it cannot be +// determined. +func getImportPathFromRepoURL(repourl string) string { + // check for scp-like URL as in "git@github.com:github/codeql-go.git" + shorturl := regexp.MustCompile(`^([^@]+@)?([^:]+):([^/].*?)(\.git)?$`) + m := shorturl.FindStringSubmatch(repourl) + if m != nil { + return m[2] + "/" + m[3] + } + + // otherwise parse as proper URL + u, err := url.Parse(repourl) + if err != nil { + log.Fatalf("Malformed repository URL '%s'\n", repourl) + } + + if u.Scheme == "file" { + // we can't determine import paths from file paths + return "" + } + + if u.Hostname() == "" || u.Path == "" { + return "" + } + + host := u.Hostname() + path := u.Path + // strip off leading slashes and trailing `.git` if present + path = regexp.MustCompile(`^/+|\.git$`).ReplaceAllString(path, "") + return host + "/" + path +} diff --git a/go/extractor/cli/go-autobuilder/go-autobuilder_test.go b/go/extractor/util/util_test.go similarity index 98% rename from go/extractor/cli/go-autobuilder/go-autobuilder_test.go rename to go/extractor/util/util_test.go index f4e8405fe36..45d32bda3e1 100644 --- a/go/extractor/cli/go-autobuilder/go-autobuilder_test.go +++ b/go/extractor/util/util_test.go @@ -1,4 +1,4 @@ -package main +package util import "testing" diff --git a/go/ql/consistency-queries/CHANGELOG.md b/go/ql/consistency-queries/CHANGELOG.md index fba2a870356..1857b399fe8 100644 --- a/go/ql/consistency-queries/CHANGELOG.md +++ b/go/ql/consistency-queries/CHANGELOG.md @@ -1,3 +1,11 @@ +## 0.0.10 + +No user-facing changes. + +## 0.0.9 + +No user-facing changes. + ## 0.0.8 No user-facing changes. diff --git a/go/ql/consistency-queries/change-notes/released/0.0.10.md b/go/ql/consistency-queries/change-notes/released/0.0.10.md new file mode 100644 index 00000000000..22391080fd4 --- /dev/null +++ b/go/ql/consistency-queries/change-notes/released/0.0.10.md @@ -0,0 +1,3 @@ +## 0.0.10 + +No user-facing changes. diff --git a/go/ql/consistency-queries/change-notes/released/0.0.9.md b/go/ql/consistency-queries/change-notes/released/0.0.9.md new file mode 100644 index 00000000000..c9e17c6d6cf --- /dev/null +++ b/go/ql/consistency-queries/change-notes/released/0.0.9.md @@ -0,0 +1,3 @@ +## 0.0.9 + +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 58fdc6b45de..b740014e5ae 100644 --- a/go/ql/consistency-queries/codeql-pack.release.yml +++ b/go/ql/consistency-queries/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.0.8 +lastReleaseVersion: 0.0.10 diff --git a/go/ql/consistency-queries/qlpack.yml b/go/ql/consistency-queries/qlpack.yml index b574796b995..b6675cca9e1 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: 0.0.9-dev +version: 0.0.11-dev groups: - go - queries diff --git a/go/ql/integration-tests/all-platforms/go/mixed-layout/diagnostics.expected b/go/ql/integration-tests/all-platforms/go/mixed-layout/diagnostics.expected new file mode 100644 index 00000000000..bbbdd515d68 --- /dev/null +++ b/go/ql/integration-tests/all-platforms/go/mixed-layout/diagnostics.expected @@ -0,0 +1,28 @@ +{ + "markdownMessage": "1 `go.work` file was found:\n\n`workspace/go.work`", + "severity": "note", + "source": { + "extractorName": "go", + "id": "go/autobuilder/go-work-found", + "name": "`go.work` file found" + }, + "visibility": { + "cliSummaryTable": false, + "statusPage": false, + "telemetry": true + } +} +{ + "markdownMessage": "Go files were found outside of the Go modules corresponding to these `go.mod` files.\n\n`workspace/subdir/go.mod`, `module/go.mod`", + "severity": "note", + "source": { + "extractorName": "go", + "id": "go/autobuilder/go-files-outside-go-modules", + "name": "Go files were found outside Go modules" + }, + "visibility": { + "cliSummaryTable": false, + "statusPage": false, + "telemetry": true + } +} diff --git a/go/ql/integration-tests/all-platforms/go/mixed-layout/force_sequential_test_execution b/go/ql/integration-tests/all-platforms/go/mixed-layout/force_sequential_test_execution new file mode 100644 index 00000000000..47ca9929099 --- /dev/null +++ b/go/ql/integration-tests/all-platforms/go/mixed-layout/force_sequential_test_execution @@ -0,0 +1,2 @@ +# go get has been observed to sometimes fail when multiple tests try to simultaneously fetch the same package. +goget diff --git a/go/ql/integration-tests/all-platforms/go/mixed-layout/src/module/go.mod b/go/ql/integration-tests/all-platforms/go/mixed-layout/src/module/go.mod new file mode 100644 index 00000000000..0b8f33b9069 --- /dev/null +++ b/go/ql/integration-tests/all-platforms/go/mixed-layout/src/module/go.mod @@ -0,0 +1,5 @@ +go 1.14 + +require golang.org/x/net v0.0.0-20200505041828-1ed23360d12c + +module module diff --git a/go/ql/integration-tests/all-platforms/go/mixed-layout/src/module/go.sum b/go/ql/integration-tests/all-platforms/go/mixed-layout/src/module/go.sum new file mode 100644 index 00000000000..6c5ffa613d0 --- /dev/null +++ b/go/ql/integration-tests/all-platforms/go/mixed-layout/src/module/go.sum @@ -0,0 +1,7 @@ +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/net v0.0.0-20200505041828-1ed23360d12c h1:zJ0mtu4jCalhKg6Oaukv6iIkb+cOvDrajDH9DH46Q4M= +golang.org/x/net v0.0.0-20200505041828-1ed23360d12c/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd h1:xhmwyvizuTgC2qz7ZlMluP20uW+C3Rm0FD/WLDX8884= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= diff --git a/go/ql/integration-tests/all-platforms/go/mixed-layout/src/module/test.go b/go/ql/integration-tests/all-platforms/go/mixed-layout/src/module/test.go new file mode 100644 index 00000000000..afc86ac3a12 --- /dev/null +++ b/go/ql/integration-tests/all-platforms/go/mixed-layout/src/module/test.go @@ -0,0 +1,13 @@ +package subdir + +import ( + "fmt" + + "golang.org/x/net/ipv4" +) + +func test() { + + header := ipv4.Header{} + fmt.Print(header.String()) +} diff --git a/go/ql/integration-tests/all-platforms/go/mixed-layout/src/stray-files/test.go b/go/ql/integration-tests/all-platforms/go/mixed-layout/src/stray-files/test.go new file mode 100644 index 00000000000..afc86ac3a12 --- /dev/null +++ b/go/ql/integration-tests/all-platforms/go/mixed-layout/src/stray-files/test.go @@ -0,0 +1,13 @@ +package subdir + +import ( + "fmt" + + "golang.org/x/net/ipv4" +) + +func test() { + + header := ipv4.Header{} + fmt.Print(header.String()) +} diff --git a/go/ql/integration-tests/all-platforms/go/mixed-layout/src/workspace/go.work b/go/ql/integration-tests/all-platforms/go/mixed-layout/src/workspace/go.work new file mode 100644 index 00000000000..e7e866fbe27 --- /dev/null +++ b/go/ql/integration-tests/all-platforms/go/mixed-layout/src/workspace/go.work @@ -0,0 +1,3 @@ +go 1.22.0 + +use ./subdir diff --git a/go/ql/integration-tests/all-platforms/go/mixed-layout/src/workspace/subdir/go.mod b/go/ql/integration-tests/all-platforms/go/mixed-layout/src/workspace/subdir/go.mod new file mode 100644 index 00000000000..40a3b330c38 --- /dev/null +++ b/go/ql/integration-tests/all-platforms/go/mixed-layout/src/workspace/subdir/go.mod @@ -0,0 +1,5 @@ +go 1.22.0 + +require golang.org/x/net v0.0.0-20200505041828-1ed23360d12c + +module subdir diff --git a/go/ql/integration-tests/all-platforms/go/mixed-layout/src/workspace/subdir/go.sum b/go/ql/integration-tests/all-platforms/go/mixed-layout/src/workspace/subdir/go.sum new file mode 100644 index 00000000000..6c5ffa613d0 --- /dev/null +++ b/go/ql/integration-tests/all-platforms/go/mixed-layout/src/workspace/subdir/go.sum @@ -0,0 +1,7 @@ +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/net v0.0.0-20200505041828-1ed23360d12c h1:zJ0mtu4jCalhKg6Oaukv6iIkb+cOvDrajDH9DH46Q4M= +golang.org/x/net v0.0.0-20200505041828-1ed23360d12c/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd h1:xhmwyvizuTgC2qz7ZlMluP20uW+C3Rm0FD/WLDX8884= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= diff --git a/go/ql/integration-tests/all-platforms/go/mixed-layout/src/workspace/subdir/test.go b/go/ql/integration-tests/all-platforms/go/mixed-layout/src/workspace/subdir/test.go new file mode 100644 index 00000000000..afc86ac3a12 --- /dev/null +++ b/go/ql/integration-tests/all-platforms/go/mixed-layout/src/workspace/subdir/test.go @@ -0,0 +1,13 @@ +package subdir + +import ( + "fmt" + + "golang.org/x/net/ipv4" +) + +func test() { + + header := ipv4.Header{} + fmt.Print(header.String()) +} diff --git a/go/ql/integration-tests/all-platforms/go/mixed-layout/test.expected b/go/ql/integration-tests/all-platforms/go/mixed-layout/test.expected new file mode 100644 index 00000000000..ddd1888562f --- /dev/null +++ b/go/ql/integration-tests/all-platforms/go/mixed-layout/test.expected @@ -0,0 +1,8 @@ +extractedFiles +| src/module/go.mod:0:0:0:0 | src/module/go.mod | +| src/module/test.go:0:0:0:0 | src/module/test.go | +| src/stray-files/go.mod:0:0:0:0 | src/stray-files/go.mod | +| src/stray-files/test.go:0:0:0:0 | src/stray-files/test.go | +| src/workspace/subdir/go.mod:0:0:0:0 | src/workspace/subdir/go.mod | +| src/workspace/subdir/test.go:0:0:0:0 | src/workspace/subdir/test.go | +#select diff --git a/go/ql/integration-tests/all-platforms/go/mixed-layout/test.py b/go/ql/integration-tests/all-platforms/go/mixed-layout/test.py new file mode 100644 index 00000000000..43c7d1b38e8 --- /dev/null +++ b/go/ql/integration-tests/all-platforms/go/mixed-layout/test.py @@ -0,0 +1,18 @@ +import os +import subprocess + +from create_database_utils import * +from diagnostics_test_utils import * + +# Set up a GOPATH relative to this test's root directory; +# we set os.environ instead of using extra_env because we +# need it to be set for the call to "go clean -modcache" later +goPath = os.path.join(os.path.abspath(os.getcwd()), ".go") +os.environ['GOPATH'] = goPath +run_codeql_database_create([], lang="go", source="src") + +check_diagnostics() + +# Clean up the temporary GOPATH to prevent Bazel failures next +# time the tests are run; see https://github.com/golang/go/issues/27161 +subprocess.call(["go", "clean", "-modcache"]) diff --git a/go/ql/integration-tests/all-platforms/go/mixed-layout/test.ql b/go/ql/integration-tests/all-platforms/go/mixed-layout/test.ql new file mode 100644 index 00000000000..459a4301560 --- /dev/null +++ b/go/ql/integration-tests/all-platforms/go/mixed-layout/test.ql @@ -0,0 +1,8 @@ +import go +import semmle.go.DiagnosticsReporting + +query predicate extractedFiles(File f) { any() } + +from string msg, int sev +where reportableDiagnostics(_, msg, sev) +select msg, sev diff --git a/go/ql/integration-tests/all-platforms/go/single-go-mod-and-go-files-not-under-it/test.expected b/go/ql/integration-tests/all-platforms/go/single-go-mod-and-go-files-not-under-it/test.expected index 957d2f845a4..66ba3ef588f 100644 --- a/go/ql/integration-tests/all-platforms/go/single-go-mod-and-go-files-not-under-it/test.expected +++ b/go/ql/integration-tests/all-platforms/go/single-go-mod-and-go-files-not-under-it/test.expected @@ -1,6 +1,4 @@ extractedFiles -| src/go.mod:0:0:0:0 | src/go.mod | -| src/main.go:0:0:0:0 | src/main.go | | src/subdir/go.mod:0:0:0:0 | src/subdir/go.mod | | src/subdir/subsubdir/add.go:0:0:0:0 | src/subdir/subsubdir/add.go | | src/subdir/test.go:0:0:0:0 | src/subdir/test.go | diff --git a/go/ql/lib/CHANGELOG.md b/go/ql/lib/CHANGELOG.md index 65a2376217b..144be2473c0 100644 --- a/go/ql/lib/CHANGELOG.md +++ b/go/ql/lib/CHANGELOG.md @@ -1,3 +1,18 @@ +## 0.7.11 + +No user-facing changes. + +## 0.7.10 + +### Major Analysis Improvements + +* We have significantly improved the Go autobuilder to understand a greater range of project layouts, which allows Go source files to be analysed that could previously not be processed. +* Go 1.22 has been included in the range of supported Go versions. + +### Bug Fixes + +* Fixed dataflow out of a `map` using a `range` statement. + ## 0.7.9 No user-facing changes. diff --git a/go/ql/lib/change-notes/2024-02-14-range-map-read.md b/go/ql/lib/change-notes/2024-02-14-range-map-read.md deleted file mode 100644 index ea45737a72e..00000000000 --- a/go/ql/lib/change-notes/2024-02-14-range-map-read.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: fix ---- -* Fixed dataflow out of a `map` using a `range` statement. diff --git a/go/ql/lib/change-notes/2024-03-04-autobuilder-changes.md b/go/ql/lib/change-notes/released/0.7.10.md similarity index 68% rename from go/ql/lib/change-notes/2024-03-04-autobuilder-changes.md rename to go/ql/lib/change-notes/released/0.7.10.md index 0442a571029..55954f8a394 100644 --- a/go/ql/lib/change-notes/2024-03-04-autobuilder-changes.md +++ b/go/ql/lib/change-notes/released/0.7.10.md @@ -1,5 +1,10 @@ ---- -category: majorAnalysis ---- +## 0.7.10 + +### Major Analysis Improvements + * We have significantly improved the Go autobuilder to understand a greater range of project layouts, which allows Go source files to be analysed that could previously not be processed. * Go 1.22 has been included in the range of supported Go versions. + +### Bug Fixes + +* Fixed dataflow out of a `map` using a `range` statement. diff --git a/go/ql/lib/change-notes/released/0.7.11.md b/go/ql/lib/change-notes/released/0.7.11.md new file mode 100644 index 00000000000..c4d7e2d3775 --- /dev/null +++ b/go/ql/lib/change-notes/released/0.7.11.md @@ -0,0 +1,3 @@ +## 0.7.11 + +No user-facing changes. diff --git a/go/ql/lib/codeql-pack.release.yml b/go/ql/lib/codeql-pack.release.yml index 576395f3405..2610ac0272d 100644 --- a/go/ql/lib/codeql-pack.release.yml +++ b/go/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.7.9 +lastReleaseVersion: 0.7.11 diff --git a/go/ql/lib/qlpack.yml b/go/ql/lib/qlpack.yml index f21e478efa6..fd6f38cd186 100644 --- a/go/ql/lib/qlpack.yml +++ b/go/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-all -version: 0.7.10-dev +version: 0.7.12-dev groups: go dbscheme: go.dbscheme extractor: go diff --git a/go/ql/lib/semmle/go/DiagnosticsReporting.qll b/go/ql/lib/semmle/go/DiagnosticsReporting.qll index 653e3ad7c5e..e05fe0e7a58 100644 --- a/go/ql/lib/semmle/go/DiagnosticsReporting.qll +++ b/go/ql/lib/semmle/go/DiagnosticsReporting.qll @@ -1,6 +1,7 @@ /** Provides classes for working with errors and warnings recorded during extraction. */ import go +private import semmle.go.internal.Locations /** Gets the SARIF severity level that indicates an error. */ private int getErrorSeverity() { result = 2 } @@ -29,7 +30,7 @@ private class Diagnostic extends @diagnostic { * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). */ predicate hasLocationInfo(string path, int sl, int sc, int el, int ec) { - exists(Location l | diagnostics(this, _, _, _, _, l) | l.hasLocationInfo(path, sl, sc, el, ec)) + getDiagnosticLocation(this).hasLocationInfo(path, sl, sc, el, ec) } string toString() { result = this.getMessage() } diff --git a/go/ql/lib/semmle/go/Files.qll b/go/ql/lib/semmle/go/Files.qll index 87e3fd3169d..cda168482ca 100644 --- a/go/ql/lib/semmle/go/Files.qll +++ b/go/ql/lib/semmle/go/Files.qll @@ -50,8 +50,6 @@ class Folder extends Container, Impl::Folder { class ExtractedOrExternalFile extends Container, Impl::File, Documentable, ExprParent, GoModExprParent, DeclParent, ScopeNode { - override Location getLocation() { has_location(this, result) } - /** Gets the number of lines in this file. */ int getNumberOfLines() { numlines(this, result, _, _) } diff --git a/go/ql/lib/semmle/go/HTML.qll b/go/ql/lib/semmle/go/HTML.qll index c68155fd01c..2f0e411a88d 100644 --- a/go/ql/lib/semmle/go/HTML.qll +++ b/go/ql/lib/semmle/go/HTML.qll @@ -15,8 +15,6 @@ module HTML { class Element extends Locatable, @xmlelement { Element() { exists(HtmlFile f | xmlElements(this, _, _, _, f)) } - override Location getLocation() { xmllocations(this, result) } - /** * Gets the name of this HTML element. * @@ -97,8 +95,6 @@ module HTML { class Attribute extends Locatable, @xmlattribute { Attribute() { xmlAttrs(this, _, _, _, _, any(HtmlFile f)) } - override Location getLocation() { xmllocations(this, result) } - /** * Gets the element to which this attribute belongs. */ @@ -180,8 +176,6 @@ module HTML { * Holds if this text node is inside a `CDATA` tag. */ predicate isCData() { xmlChars(this, _, _, _, 1, _) } - - override Location getLocation() { xmllocations(this, result) } } /** @@ -203,7 +197,5 @@ module HTML { string getText() { result = this.toString().regexpCapture("(?s)<!--(.*)-->", 1) } override string toString() { xmlComments(this, result, _, _) } - - override Location getLocation() { xmllocations(this, result) } } } diff --git a/go/ql/lib/semmle/go/Locations.qll b/go/ql/lib/semmle/go/Locations.qll index acd5f94430b..d5ab0858f21 100644 --- a/go/ql/lib/semmle/go/Locations.qll +++ b/go/ql/lib/semmle/go/Locations.qll @@ -1,28 +1,31 @@ /** Provides classes for working with locations and program elements that have locations. */ import go +private import internal.Locations /** * A location as given by a file, a start line, a start column, * an end line, and an end column. * + * This class is restricted to locations created by the extractor. + * * For more information about locations see [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). */ -class Location extends @location { +class DbLocation extends TDbLocation { /** Gets the file for this location. */ - File getFile() { locations_default(this, result, _, _, _, _) } + File getFile() { dbLocationInfo(this, result, _, _, _, _) } /** Gets the 1-based line number (inclusive) where this location starts. */ - int getStartLine() { locations_default(this, _, result, _, _, _) } + int getStartLine() { dbLocationInfo(this, _, result, _, _, _) } /** Gets the 1-based column number (inclusive) where this location starts. */ - int getStartColumn() { locations_default(this, _, _, result, _, _) } + int getStartColumn() { dbLocationInfo(this, _, _, result, _, _) } /** Gets the 1-based line number (inclusive) where this location ends. */ - int getEndLine() { locations_default(this, _, _, _, result, _) } + int getEndLine() { dbLocationInfo(this, _, _, _, result, _) } /** Gets the 1-based column number (inclusive) where this location ends. */ - int getEndColumn() { locations_default(this, _, _, _, _, result) } + int getEndColumn() { dbLocationInfo(this, _, _, _, _, result) } /** Gets the number of lines covered by this location. */ int getNumLines() { result = this.getEndLine() - this.getStartLine() + 1 } @@ -46,19 +49,21 @@ class Location extends @location { string filepath, int startline, int startcolumn, int endline, int endcolumn ) { exists(File f | - locations_default(this, f, startline, startcolumn, endline, endcolumn) and + dbLocationInfo(this, f, startline, startcolumn, endline, endcolumn) and filepath = f.getAbsolutePath() ) } } +final class Location = LocationImpl; + /** A program element with a location. */ class Locatable extends @locatable { /** Gets the file this program element comes from. */ File getFile() { result = this.getLocation().getFile() } /** Gets this element's location. */ - Location getLocation() { has_location(this, result) } + final DbLocation getLocation() { result = getLocatableLocation(this) } /** Gets the number of lines covered by this element. */ int getNumLines() { result = this.getLocation().getNumLines() } diff --git a/go/ql/lib/semmle/go/dataflow/DataFlow.qll b/go/ql/lib/semmle/go/dataflow/DataFlow.qll index 4a5290255a4..9363bc93abd 100644 --- a/go/ql/lib/semmle/go/dataflow/DataFlow.qll +++ b/go/ql/lib/semmle/go/dataflow/DataFlow.qll @@ -24,7 +24,7 @@ import go module DataFlow { private import semmle.go.dataflow.internal.DataFlowImplSpecific private import codeql.dataflow.DataFlow - import DataFlowMake<GoDataFlow> + import DataFlowMake<Location, GoDataFlow> import semmle.go.dataflow.internal.DataFlowImpl1 import Properties } diff --git a/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll b/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll index cacad869509..ba5270483fc 100644 --- a/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll +++ b/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll @@ -299,8 +299,8 @@ predicate hasExternalSpecification(Function f) { f = any(SummarizedCallable sc).asFunction() or exists(SourceSinkInterpretationInput::SourceOrSinkElement e | f = e.asEntity() | - SourceSinkInterpretationInput::sourceElement(e, _, _) or - SourceSinkInterpretationInput::sinkElement(e, _, _) + SourceSinkInterpretationInput::sourceElement(e, _, _, _) or + SourceSinkInterpretationInput::sinkElement(e, _, _, _) ) } diff --git a/go/ql/lib/semmle/go/dataflow/TaintTracking.qll b/go/ql/lib/semmle/go/dataflow/TaintTracking.qll index 2c028a0e34a..d762e925ab5 100644 --- a/go/ql/lib/semmle/go/dataflow/TaintTracking.qll +++ b/go/ql/lib/semmle/go/dataflow/TaintTracking.qll @@ -13,7 +13,8 @@ module TaintTracking { import semmle.go.dataflow.internal.tainttracking1.TaintTrackingParameter::Public private import semmle.go.dataflow.internal.DataFlowImplSpecific private import semmle.go.dataflow.internal.TaintTrackingImplSpecific + private import semmle.go.Locations private import codeql.dataflow.TaintTracking - import TaintFlowMake<GoDataFlow, GoTaintTracking> + import TaintFlowMake<Location, GoDataFlow, GoTaintTracking> import semmle.go.dataflow.internal.tainttracking1.TaintTrackingImpl } diff --git a/go/ql/lib/semmle/go/dataflow/internal/DataFlowImpl.qll b/go/ql/lib/semmle/go/dataflow/internal/DataFlowImpl.qll index b95eab3eb01..c9761d21702 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/DataFlowImpl.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/DataFlowImpl.qll @@ -1,3 +1,4 @@ private import DataFlowImplSpecific private import codeql.dataflow.internal.DataFlowImpl -import MakeImpl<GoDataFlow> +private import semmle.go.Locations +import MakeImpl<Location, GoDataFlow> diff --git a/go/ql/lib/semmle/go/dataflow/internal/DataFlowImpl1.qll b/go/ql/lib/semmle/go/dataflow/internal/DataFlowImpl1.qll index 2bbc565daa6..9b92f961e6f 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/DataFlowImpl1.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/DataFlowImpl1.qll @@ -285,6 +285,8 @@ deprecated private module Config implements FullStateConfigSig { int fieldFlowBranchLimit() { result = min(any(Configuration config).fieldFlowBranchLimit()) } + int accessPathLimit() { result = 5 } + FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } predicate sourceGrouping(Node source, string sourceGroup) { diff --git a/go/ql/lib/semmle/go/dataflow/internal/DataFlowImpl2.qll b/go/ql/lib/semmle/go/dataflow/internal/DataFlowImpl2.qll index 2bbc565daa6..9b92f961e6f 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/DataFlowImpl2.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/DataFlowImpl2.qll @@ -285,6 +285,8 @@ deprecated private module Config implements FullStateConfigSig { int fieldFlowBranchLimit() { result = min(any(Configuration config).fieldFlowBranchLimit()) } + int accessPathLimit() { result = 5 } + FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } predicate sourceGrouping(Node source, string sourceGroup) { diff --git a/go/ql/lib/semmle/go/dataflow/internal/DataFlowImplCommon.qll b/go/ql/lib/semmle/go/dataflow/internal/DataFlowImplCommon.qll index 8f8f7b0a36c..6df86bde023 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/DataFlowImplCommon.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/DataFlowImplCommon.qll @@ -1,3 +1,4 @@ private import DataFlowImplSpecific private import codeql.dataflow.internal.DataFlowImplCommon -import MakeImplCommon<GoDataFlow> +private import semmle.go.Locations +import MakeImplCommon<Location, GoDataFlow> diff --git a/go/ql/lib/semmle/go/dataflow/internal/DataFlowImplConsistency.qll b/go/ql/lib/semmle/go/dataflow/internal/DataFlowImplConsistency.qll index 6397b79716b..58b84985841 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/DataFlowImplConsistency.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/DataFlowImplConsistency.qll @@ -7,7 +7,8 @@ private import go private import DataFlowImplSpecific private import TaintTrackingImplSpecific private import codeql.dataflow.internal.DataFlowImplConsistency +private import semmle.go.dataflow.internal.DataFlowNodes -private module Input implements InputSig<GoDataFlow> { } +private module Input implements InputSig<Location, GoDataFlow> { } -module Consistency = MakeConsistency<GoDataFlow, GoTaintTracking, Input>; +module Consistency = MakeConsistency<Location, GoDataFlow, GoTaintTracking, Input>; diff --git a/go/ql/lib/semmle/go/dataflow/internal/DataFlowImplSpecific.qll b/go/ql/lib/semmle/go/dataflow/internal/DataFlowImplSpecific.qll index 555b09660e8..c680778ce4d 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/DataFlowImplSpecific.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/DataFlowImplSpecific.qll @@ -3,6 +3,7 @@ */ private import codeql.dataflow.DataFlow +private import semmle.go.Locations module Private { import DataFlowPrivate @@ -13,7 +14,7 @@ module Public { import DataFlowUtil } -module GoDataFlow implements InputSig { +module GoDataFlow implements InputSig<Location> { import Private import Public diff --git a/go/ql/lib/semmle/go/dataflow/internal/DataFlowNodes.qll b/go/ql/lib/semmle/go/dataflow/internal/DataFlowNodes.qll index 9034e454278..6b230bc728f 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/DataFlowNodes.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/DataFlowNodes.qll @@ -157,6 +157,14 @@ module Public { endcolumn = 0 } + /** Gets the location of this node. */ + Location getLocation() { + exists(string filepath, int startline, int startcolumn, int endline, int endcolumn | + this.hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) and + result.hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) + ) + } + /** Gets the file in which this node appears. */ File getFile() { this.hasLocationInfo(result.getAbsolutePath(), _, _, _, _) } diff --git a/go/ql/lib/semmle/go/dataflow/internal/DataFlowPrivate.qll b/go/ql/lib/semmle/go/dataflow/internal/DataFlowPrivate.qll index e17f4cd9cd2..f750214010f 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/DataFlowPrivate.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/DataFlowPrivate.qll @@ -251,8 +251,6 @@ class DataFlowType extends TDataFlowType { string toString() { result = "" } } -class DataFlowLocation = Location; - private newtype TDataFlowCallable = TCallable(Callable c) or TFileScope(File f) or diff --git a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll index cbf33afff25..1a51af5c3fb 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll @@ -15,7 +15,7 @@ private module FlowSummaries { private import semmle.go.dataflow.FlowSummary as F } -module Input implements InputSig<DataFlowImplSpecific::GoDataFlow> { +module Input implements InputSig<Location, DataFlowImplSpecific::GoDataFlow> { class SummarizedCallableBase = Callable; ArgumentPosition callbackSelfParameterPosition() { result = -1 } @@ -83,7 +83,7 @@ module Input implements InputSig<DataFlowImplSpecific::GoDataFlow> { } } -private import Make<DataFlowImplSpecific::GoDataFlow, Input> as Impl +private import Make<Location, DataFlowImplSpecific::GoDataFlow, Input> as Impl private module StepsInput implements Impl::Private::StepsInputSig { DataFlowCall getACall(Public::SummarizedCallable sc) { @@ -95,7 +95,7 @@ private module StepsInput implements Impl::Private::StepsInputSig { } module SourceSinkInterpretationInput implements - Impl::Private::External::SourceSinkInterpretationInputSig<Location> + Impl::Private::External::SourceSinkInterpretationInputSig { class Element = SourceOrSinkElement; @@ -103,11 +103,13 @@ module SourceSinkInterpretationInput implements * Holds if an external source specification exists for `e` with output specification * `output`, kind `kind`, and provenance `provenance`. */ - predicate sourceElement(SourceOrSinkElement e, string output, string kind) { + predicate sourceElement( + SourceOrSinkElement e, string output, string kind, Public::Provenance provenance + ) { exists( string package, string type, boolean subtypes, string name, string signature, string ext | - sourceModel(package, type, subtypes, name, signature, ext, output, kind, _) and + sourceModel(package, type, subtypes, name, signature, ext, output, kind, provenance) and e = interpretElement(package, type, subtypes, name, signature, ext) ) } @@ -116,11 +118,13 @@ module SourceSinkInterpretationInput implements * Holds if an external sink specification exists for `e` with input specification * `input`, kind `kind` and provenance `provenance`. */ - predicate sinkElement(SourceOrSinkElement e, string input, string kind) { + predicate sinkElement( + SourceOrSinkElement e, string input, string kind, Public::Provenance provenance + ) { exists( string package, string type, boolean subtypes, string name, string signature, string ext | - sinkModel(package, type, subtypes, name, signature, ext, input, kind, _) and + sinkModel(package, type, subtypes, name, signature, ext, input, kind, provenance) and e = interpretElement(package, type, subtypes, name, signature, ext) ) } @@ -264,7 +268,7 @@ module Private { module External { import Impl::Private::External - import Impl::Private::External::SourceSinkInterpretation<Location, SourceSinkInterpretationInput> + import Impl::Private::External::SourceSinkInterpretation<SourceSinkInterpretationInput> } /** diff --git a/go/ql/lib/semmle/go/dataflow/internal/TaintTrackingImplSpecific.qll b/go/ql/lib/semmle/go/dataflow/internal/TaintTrackingImplSpecific.qll index f52499df232..b9795bb14d3 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/TaintTrackingImplSpecific.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/TaintTrackingImplSpecific.qll @@ -4,7 +4,8 @@ private import codeql.dataflow.TaintTracking private import DataFlowImplSpecific +private import semmle.go.Locations -module GoTaintTracking implements InputSig<GoDataFlow> { +module GoTaintTracking implements InputSig<Location, GoDataFlow> { import TaintTrackingUtil } diff --git a/go/ql/lib/semmle/go/internal/Locations.qll b/go/ql/lib/semmle/go/internal/Locations.qll new file mode 100644 index 00000000000..498ac9d1170 --- /dev/null +++ b/go/ql/lib/semmle/go/internal/Locations.qll @@ -0,0 +1,143 @@ +/** Provides classes for working with locations and program elements that have locations. */ + +import go + +// Should _not_ be cached, as that would require the data flow stage to be evaluated +// in order to evaluate the AST stage. Ideally, we would cache each injector separately, +// but that's not possible. Instead, we cache all predicates that need the injectors +// to be tuple numbered. +newtype TLocation = + TDbLocation(@location loc) or + TSynthLocation(string filepath, int startline, int startcolumn, int endline, int endcolumn) { + any(DataFlow::Node n).hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) and + // avoid overlap with existing DB locations + not exists(File f | + locations_default(_, f, startline, startcolumn, endline, endcolumn) and + f.getAbsolutePath() = filepath + ) + } + +/** + * A location as given by a file, a start line, a start column, + * an end line, and an end column. + * + * For more information about locations see [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +abstract class LocationImpl extends TLocation { + /** Gets the file for this location. */ + abstract File getFile(); + + /** Gets the 1-based line number (inclusive) where this location starts. */ + abstract int getStartLine(); + + /** Gets the 1-based column number (inclusive) where this location starts. */ + abstract int getStartColumn(); + + /** Gets the 1-based line number (inclusive) where this location ends. */ + abstract int getEndLine(); + + /** Gets the 1-based column number (inclusive) where this location ends. */ + abstract int getEndColumn(); + + /** Gets the number of lines covered by this location. */ + int getNumLines() { result = this.getEndLine() - this.getStartLine() + 1 } + + /** Gets a textual representation of this element. */ + string toString() { + exists(string filepath, int startline, int startcolumn, int endline, int endcolumn | + this.hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) and + result = filepath + "@" + startline + ":" + startcolumn + ":" + endline + ":" + endcolumn + ) + } + + /** + * Holds if this element is at the specified location. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `filepath`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ + abstract predicate hasLocationInfo( + string filepath, int startline, int startcolumn, int endline, int endcolumn + ); +} + +class DbLocationImpl extends LocationImpl instanceof DbLocation { + private @location loc; + + DbLocationImpl() { this = TDbLocation(loc) } + + override File getFile() { result = DbLocation.super.getFile() } + + override int getStartLine() { result = DbLocation.super.getStartLine() } + + override int getStartColumn() { result = DbLocation.super.getStartColumn() } + + override int getEndLine() { result = DbLocation.super.getEndLine() } + + override int getEndColumn() { result = DbLocation.super.getEndColumn() } + + override predicate hasLocationInfo( + string filepath, int startline, int startcolumn, int endline, int endcolumn + ) { + DbLocation.super.hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) + } +} + +class SynthLocationImpl extends LocationImpl, TSynthLocation { + override File getFile() { synthLocationInfo(this, result.getAbsolutePath(), _, _, _, _) } + + override int getStartLine() { synthLocationInfo(this, _, result, _, _, _) } + + override int getStartColumn() { synthLocationInfo(this, _, _, result, _, _) } + + override int getEndLine() { synthLocationInfo(this, _, _, _, result, _) } + + override int getEndColumn() { synthLocationInfo(this, _, _, _, _, result) } + + override predicate hasLocationInfo( + string filepath, int startline, int startcolumn, int endline, int endcolumn + ) { + synthLocationInfo(this, filepath, startline, startcolumn, endline, endcolumn) + } +} + +cached +private module Cached { + cached + DbLocation getLocatableLocation(@locatable l) { + exists(@location loc | + has_location(l, loc) or + xmllocations(l, loc) + | + result = TDbLocation(loc) + ) + } + + cached + DbLocation getDiagnosticLocation(@diagnostic d) { + exists(@location loc | + diagnostics(d, _, _, _, _, loc) and + result = TDbLocation(loc) + ) + } + + cached + predicate dbLocationInfo( + DbLocation l, File f, int startline, int startcolumn, int endline, int endcolumn + ) { + exists(@location loc | + l = TDbLocation(loc) and + locations_default(loc, f, startline, startcolumn, endline, endcolumn) + ) + } +} + +import Cached + +cached +private predicate synthLocationInfo( + SynthLocationImpl l, string filepath, int startline, int startcolumn, int endline, int endcolumn +) { + l = TSynthLocation(filepath, startline, startcolumn, endline, endcolumn) +} diff --git a/go/ql/lib/semmle/go/security/HardcodedCredentials.qll b/go/ql/lib/semmle/go/security/HardcodedCredentials.qll index 84c426ac317..0be50fc2306 100644 --- a/go/ql/lib/semmle/go/security/HardcodedCredentials.qll +++ b/go/ql/lib/semmle/go/security/HardcodedCredentials.qll @@ -37,11 +37,7 @@ module HardcodedCredentials { /** A hardcoded string literal as a source for hardcoded credentials. */ private class HardcodedStringSource extends Source { - HardcodedStringSource() { - exists(StringLit val | this.asExpr() = val | - not PasswordHeuristics::isDummyPassword(val.getStringValue()) - ) - } + HardcodedStringSource() { this.asExpr() instanceof StringLit } } /** A use of a credential. */ diff --git a/go/ql/lib/semmle/go/security/UncontrolledAllocationSize.qll b/go/ql/lib/semmle/go/security/UncontrolledAllocationSize.qll new file mode 100644 index 00000000000..885aa7a7053 --- /dev/null +++ b/go/ql/lib/semmle/go/security/UncontrolledAllocationSize.qll @@ -0,0 +1,34 @@ +/** + * Provides a taint-tracking configuration for reasoning about uncontrolled allocation size issues. + */ + +import go + +/** + * Provides a taint-tracking flow for reasoning about uncontrolled allocation size issues. + */ +module UncontrolledAllocationSize { + private import UncontrolledAllocationSizeCustomizations::UncontrolledAllocationSize + + /** + * Module for defining predicates and tracking taint flow related to uncontrolled allocation size issues. + */ + module Config implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node source) { source instanceof Source } + + predicate isSink(DataFlow::Node sink) { sink instanceof Sink } + + predicate isBarrier(DataFlow::Node node) { node instanceof Sanitizer } + + predicate isAdditionalFlowStep(DataFlow::Node node1, DataFlow::Node node2) { + exists(Function f, DataFlow::CallNode cn | cn = f.getACall() | + f.hasQualifiedName("strconv", ["Atoi", "ParseInt", "ParseUint", "ParseFloat"]) and + node1 = cn.getArgument(0) and + node2 = cn.getResult(0) + ) + } + } + + /** Tracks taint flow for reasoning about uncontrolled allocation size issues. */ + module Flow = TaintTracking::Global<Config>; +} diff --git a/go/ql/lib/semmle/go/security/UncontrolledAllocationSizeCustomizations.qll b/go/ql/lib/semmle/go/security/UncontrolledAllocationSizeCustomizations.qll new file mode 100644 index 00000000000..1237971dde1 --- /dev/null +++ b/go/ql/lib/semmle/go/security/UncontrolledAllocationSizeCustomizations.qll @@ -0,0 +1,33 @@ +/** + * Provides default sources, sinks, and sanitizers for reasoning about uncontrolled allocation size issues, + * as well as extension points for adding your own. + */ + +import go +private import semmle.go.security.AllocationSizeOverflow + +/** + * Provides extension points for customizing the taint-tracking configuration for reasoning + * about uncontrolled allocation size issues. + */ +module UncontrolledAllocationSize { + /** A data flow source for uncontrolled allocation size vulnerabilities. */ + abstract class Source extends DataFlow::Node { } + + /** A data flow sink for uncontrolled allocation size vulnerabilities. */ + abstract class Sink extends DataFlow::Node { } + + /** A sanitizer for uncontrolled allocation size vulnerabilities. */ + abstract class Sanitizer extends DataFlow::Node { } + + /** A source of untrusted data, considered as a taint source for uncontrolled size allocation vulnerabilities. */ + private class UntrustedFlowAsSource extends Source instanceof UntrustedFlowSource { } + + /** The size argument of a memory allocation function. */ + private class AllocationSizeAsSink extends Sink instanceof AllocationSizeOverflow::AllocationSize { + } + + /** A check that a value is below some upper limit. */ + private class SizeCheckSanitizer extends Sanitizer instanceof AllocationSizeOverflow::AllocationSizeCheckBarrier + { } +} diff --git a/go/ql/src/CHANGELOG.md b/go/ql/src/CHANGELOG.md index d95165a3a34..0682cd4f0bc 100644 --- a/go/ql/src/CHANGELOG.md +++ b/go/ql/src/CHANGELOG.md @@ -1,3 +1,11 @@ +## 0.7.11 + +No user-facing changes. + +## 0.7.10 + +No user-facing changes. + ## 0.7.9 ### New Queries diff --git a/go/ql/src/Security/CWE-020/IncompleteHostnameRegexp.qhelp b/go/ql/src/Security/CWE-020/IncompleteHostnameRegexp.qhelp index cf4655dbae5..21368fca81b 100644 --- a/go/ql/src/Security/CWE-020/IncompleteHostnameRegexp.qhelp +++ b/go/ql/src/Security/CWE-020/IncompleteHostnameRegexp.qhelp @@ -41,6 +41,10 @@ domain such as <code>wwwXexample.com</code>. Address this vulnerability by escaping <code>.</code> appropriately: </p> <sample src="IncompleteHostnameRegexpGood.go"/> +<p> +You may also want to consider using raw string literals to avoid having to escape backslashes: +</p> +<sample src="IncompleteHostnameRegexpGood2.go"/> </example> <references> diff --git a/go/ql/src/Security/CWE-020/IncompleteHostnameRegexpGood2.go b/go/ql/src/Security/CWE-020/IncompleteHostnameRegexpGood2.go new file mode 100644 index 00000000000..7c5df3f6742 --- /dev/null +++ b/go/ql/src/Security/CWE-020/IncompleteHostnameRegexpGood2.go @@ -0,0 +1,16 @@ +package main + +import ( + "errors" + "net/http" + "regexp" +) + +func checkRedirectGood(req *http.Request, via []*http.Request) error { + // GOOD: the host of `req.URL` must be `example.com`, `www.example.com` or `beta.example.com` + re := `^((www|beta)\.)?example\.com/` + if matched, _ := regexp.MatchString(re, req.URL.Host); matched { + return nil + } + return errors.New("Invalid redirect") +} diff --git a/go/ql/src/Security/CWE-338/InsecureRandomness.ql b/go/ql/src/Security/CWE-338/InsecureRandomness.ql index cc6bc42be71..a66641cf1ce 100644 --- a/go/ql/src/Security/CWE-338/InsecureRandomness.ql +++ b/go/ql/src/Security/CWE-338/InsecureRandomness.ql @@ -25,7 +25,7 @@ where min(InsecureRandomness::Flow::PathNode sink2, int line | InsecureRandomness::Flow::flowPath(_, sink2) and sink2.getNode().getRoot() = sink.getNode().getRoot() and - sink2.hasLocationInfo(_, line, _, _, _) + line = sink2.getLocation().getStartLine() | sink2 order by line ) diff --git a/go/ql/src/Security/CWE-770/UncontrolledAllocationSize.qhelp b/go/ql/src/Security/CWE-770/UncontrolledAllocationSize.qhelp new file mode 100644 index 00000000000..14930944bb6 --- /dev/null +++ b/go/ql/src/Security/CWE-770/UncontrolledAllocationSize.qhelp @@ -0,0 +1,36 @@ +<!DOCTYPE qhelp PUBLIC "-//Semmle//qhelp//EN" "qhelp.dtd"> + +<qhelp> + <overview> + <p>Using untrusted input to allocate slices with the built-in <code>make</code> function could + lead to excessive memory allocation and potentially cause the program to crash due to running + out of memory. This vulnerability could be exploited to perform a denial-of-service attack by + consuming all available server resources.</p> + </overview> + + <recommendation> + <p>Implement a maximum allowed value for size allocations with the built-in <code>make</code> + function to prevent excessively large allocations.</p> + </recommendation> + + <example> + <p>In the following example snippet, the <code>n</code> parameter is user-controlled.</p> + <p>If the external user provides an excessively large value, the application allocates a slice + of size <code>n</code> without further verification, potentially exhausting all the available + memory.</p> + + <sample src="UncontrolledAllocationSizeBad.go" /> + + <p>One way to prevent this vulnerability is by implementing a maximum allowed value for the + user-controlled input, as seen in the following example:</p> + + <sample src="UncontrolledAllocationSizeGood.go" /> + </example> + + <references> + <li> OWASP: <a + href="https://cheatsheetseries.owasp.org/cheatsheets/Denial_of_Service_Cheat_Sheet.html">Denial + of Service Cheat Sheet</a> + </li> + </references> +</qhelp> \ No newline at end of file diff --git a/go/ql/src/Security/CWE-770/UncontrolledAllocationSize.ql b/go/ql/src/Security/CWE-770/UncontrolledAllocationSize.ql new file mode 100644 index 00000000000..eabfa3333ec --- /dev/null +++ b/go/ql/src/Security/CWE-770/UncontrolledAllocationSize.ql @@ -0,0 +1,21 @@ +/** + * @name Slice memory allocation with excessive size value + * @description Allocating memory for slices with the built-in make function from user-controlled sources can lead to a denial of service. + * @kind path-problem + * @problem.severity error + * @security-severity 7.5 + * @precision high + * @id go/uncontrolled-allocation-size + * @tags security + * external/cwe/cwe-770 + */ + +import go +import semmle.go.security.UncontrolledAllocationSize +import UncontrolledAllocationSize::Flow::PathGraph + +from + UncontrolledAllocationSize::Flow::PathNode source, UncontrolledAllocationSize::Flow::PathNode sink +where UncontrolledAllocationSize::Flow::flowPath(source, sink) +select sink, source, sink, "This memory allocation depends on a $@.", source.getNode(), + "user-provided value" diff --git a/go/ql/src/experimental/CWE-770/DenialOfServiceBad.go b/go/ql/src/Security/CWE-770/UncontrolledAllocationSizeBad.go similarity index 100% rename from go/ql/src/experimental/CWE-770/DenialOfServiceBad.go rename to go/ql/src/Security/CWE-770/UncontrolledAllocationSizeBad.go diff --git a/go/ql/src/experimental/CWE-770/DenialOfServiceGood.go b/go/ql/src/Security/CWE-770/UncontrolledAllocationSizeGood.go similarity index 100% rename from go/ql/src/experimental/CWE-770/DenialOfServiceGood.go rename to go/ql/src/Security/CWE-770/UncontrolledAllocationSizeGood.go diff --git a/go/ql/src/Security/CWE-798/HardcodedCredentials.ql b/go/ql/src/Security/CWE-798/HardcodedCredentials.ql index c0c623b50b9..6dd422413f7 100644 --- a/go/ql/src/Security/CWE-798/HardcodedCredentials.ql +++ b/go/ql/src/Security/CWE-798/HardcodedCredentials.ql @@ -60,6 +60,6 @@ where message = "Hard-coded private key." or HardcodedCredentials::Flow::flow(source, sink) and - type = SensitiveExpr::password() and - message = "Hard-coded credential." + type = SensitiveExpr::secret() and + message = "Hard-coded $@." select sink, message, source, type.toString() diff --git a/go/ql/src/Summary/LinesOfCode.ql b/go/ql/src/Summary/LinesOfCode.ql index 383d7c5021e..987648f604c 100644 --- a/go/ql/src/Summary/LinesOfCode.ql +++ b/go/ql/src/Summary/LinesOfCode.ql @@ -5,6 +5,7 @@ * @kind metric * @tags summary * lines-of-code + * debug */ import go diff --git a/go/ql/src/change-notes/2024-03-07-uncontrolled-allocation-size.md b/go/ql/src/change-notes/2024-03-07-uncontrolled-allocation-size.md new file mode 100644 index 00000000000..663932005eb --- /dev/null +++ b/go/ql/src/change-notes/2024-03-07-uncontrolled-allocation-size.md @@ -0,0 +1,4 @@ +--- +category: newQuery +--- +* The query "Slice memory allocation with excessive size value" (`go/uncontrolled-allocation-size`) has been promoted from experimental to the main query pack. Its results will now appear by default. This query was originally [submitted as an experimental query by @Malayke](https://github.com/github/codeql/pull/15130). diff --git a/go/ql/src/change-notes/2024-03-14-hardcoded-credentials-more-sources.md b/go/ql/src/change-notes/2024-03-14-hardcoded-credentials-more-sources.md new file mode 100644 index 00000000000..ad6f712958e --- /dev/null +++ b/go/ql/src/change-notes/2024-03-14-hardcoded-credentials-more-sources.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* The query `go/hardcoded-credentials` no longer discards string literals based on "weak password" heuristics. diff --git a/go/ql/src/change-notes/released/0.7.10.md b/go/ql/src/change-notes/released/0.7.10.md new file mode 100644 index 00000000000..989c5b8f682 --- /dev/null +++ b/go/ql/src/change-notes/released/0.7.10.md @@ -0,0 +1,3 @@ +## 0.7.10 + +No user-facing changes. diff --git a/go/ql/src/change-notes/released/0.7.11.md b/go/ql/src/change-notes/released/0.7.11.md new file mode 100644 index 00000000000..c4d7e2d3775 --- /dev/null +++ b/go/ql/src/change-notes/released/0.7.11.md @@ -0,0 +1,3 @@ +## 0.7.11 + +No user-facing changes. diff --git a/go/ql/src/codeql-pack.release.yml b/go/ql/src/codeql-pack.release.yml index 576395f3405..2610ac0272d 100644 --- a/go/ql/src/codeql-pack.release.yml +++ b/go/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.7.9 +lastReleaseVersion: 0.7.11 diff --git a/go/ql/src/experimental/CWE-770/DenialOfService.qhelp b/go/ql/src/experimental/CWE-770/DenialOfService.qhelp deleted file mode 100644 index b91f1f7e3b0..00000000000 --- a/go/ql/src/experimental/CWE-770/DenialOfService.qhelp +++ /dev/null @@ -1,32 +0,0 @@ -<!DOCTYPE qhelp PUBLIC "-//Semmle//qhelp//EN" "qhelp.dtd"> - -<qhelp> - <overview> - <p>Using untrusted input to created with the built-in make function - could lead to excessive memory allocation and potentially cause the program to crash due - to running out of memory. This vulnerability could be exploited to perform a DoS attack by consuming all available server resources.</p> - </overview> - - <recommendation> - <p>Implement a maximum allowed value for creates a slice with the built-in make function to prevent excessively large allocations. - For instance, you could restrict it to a reasonable upper limit.</p> - </recommendation> - - <example> - <p>In the following example snippet, the <code>n</code> field is user-controlled.</p> - <p> The server trusts that n has an acceptable value, however when using a maliciously large value, - it allocates a slice of <code>n</code> of strings before filling the slice with data.</p> - - <sample src="DenialOfServiceBad.go" /> - - <p>One way to prevent this vulnerability is by implementing a maximum allowed value for the user-controlled input:</p> - - <sample src="DenialOfServiceGood.go" /> - </example> - - <references> - <li> - OWASP: <a href="https://cheatsheetseries.owasp.org/cheatsheets/Denial_of_Service_Cheat_Sheet.html">Denial of Service Cheat Sheet</a> - </li> - </references> -</qhelp> \ No newline at end of file diff --git a/go/ql/src/experimental/CWE-770/DenialOfService.ql b/go/ql/src/experimental/CWE-770/DenialOfService.ql deleted file mode 100644 index 199cd0df552..00000000000 --- a/go/ql/src/experimental/CWE-770/DenialOfService.ql +++ /dev/null @@ -1,59 +0,0 @@ -/** - * @name Denial Of Service - * @description slices created with the built-in make function from user-controlled sources using a - * maliciously large value possibly leading to a denial of service. - * @kind path-problem - * @problem.severity error - * @security-severity 9 - * @precision high - * @id go/denial-of-service - * @tags security - * experimental - * external/cwe/cwe-770 - */ - -import go - -/** - * Holds if the guard `g` on its branch `branch` checks that `e` is not constant and is less than some other value. - */ -predicate denialOfServiceSanitizerGuard(DataFlow::Node g, Expr e, boolean branch) { - exists(DataFlow::Node lesser | - e = lesser.asExpr() and - g.(DataFlow::RelationalComparisonNode).leq(branch, lesser, _, _) and - not e.isConst() - ) -} - -/** - * Module for defining predicates and tracking taint flow related to denial of service issues. - */ -module Config implements DataFlow::ConfigSig { - predicate isSource(DataFlow::Node source) { source instanceof UntrustedFlowSource } - - predicate isAdditionalFlowStep(DataFlow::Node node1, DataFlow::Node node2) { - exists(Function f, DataFlow::CallNode cn | cn = f.getACall() | - f.hasQualifiedName("strconv", ["Atoi", "ParseInt", "ParseUint", "ParseFloat"]) and - node1 = cn.getArgument(0) and - node2 = cn.getResult(0) - ) - } - - predicate isBarrier(DataFlow::Node node) { - node = DataFlow::BarrierGuard<denialOfServiceSanitizerGuard/3>::getABarrierNode() - } - - predicate isSink(DataFlow::Node sink) { sink = Builtin::make().getACall().getArgument(0) } -} - -/** - * Tracks taint flow for reasoning about denial of service, where source is - * user-controlled and unchecked. - */ -module Flow = TaintTracking::Global<Config>; - -import Flow::PathGraph - -from Flow::PathNode source, Flow::PathNode sink -where Flow::flowPath(source, sink) -select sink, source, sink, "This variable might be leading to denial of service." diff --git a/go/ql/src/qlpack.yml b/go/ql/src/qlpack.yml index d91cab59612..737d9e1b542 100644 --- a/go/ql/src/qlpack.yml +++ b/go/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-queries -version: 0.7.10-dev +version: 0.7.12-dev groups: - go - queries diff --git a/go/ql/test/TestUtilities/InlineFlowTest.qll b/go/ql/test/TestUtilities/InlineFlowTest.qll index 3ec43911b76..b761fed993e 100644 --- a/go/ql/test/TestUtilities/InlineFlowTest.qll +++ b/go/ql/test/TestUtilities/InlineFlowTest.qll @@ -9,7 +9,7 @@ private import semmle.go.dataflow.internal.DataFlowImplSpecific private import semmle.go.dataflow.internal.TaintTrackingImplSpecific private import internal.InlineExpectationsTestImpl -private module FlowTestImpl implements InputSig<GoDataFlow> { +private module FlowTestImpl implements InputSig<Location, GoDataFlow> { predicate defaultSource(DataFlow::Node source) { exists(Function fn | fn.hasQualifiedName(_, ["source", "taint"]) | source = fn.getACall().getResult() @@ -26,4 +26,4 @@ private module FlowTestImpl implements InputSig<GoDataFlow> { } } -import InlineFlowTestMake<GoDataFlow, GoTaintTracking, Impl, FlowTestImpl> +import InlineFlowTestMake<Location, GoDataFlow, GoTaintTracking, Impl, FlowTestImpl> diff --git a/go/ql/test/TestUtilities/internal/InlineExpectationsTestImpl.qll b/go/ql/test/TestUtilities/internal/InlineExpectationsTestImpl.qll index a544aed8fee..1d185440772 100644 --- a/go/ql/test/TestUtilities/internal/InlineExpectationsTestImpl.qll +++ b/go/ql/test/TestUtilities/internal/InlineExpectationsTestImpl.qll @@ -2,13 +2,18 @@ private import go as G private import codeql.util.test.InlineExpectationsTest module Impl implements InlineExpectationsTestSig { + final private class CommentFinal = G::Comment; + /** * A class representing line comments in the Go style, including the * preceding comment marker (`//`). */ - class ExpectationComment extends G::Comment { + class ExpectationComment extends CommentFinal { /** Returns the contents of the given comment, _without_ the preceding comment marker (`//`). */ string getContents() { result = this.getText() } + + /** Gets this element's location. */ + G::Location getLocation() { result = super.getLocation() } } class Location = G::Location; diff --git a/go/ql/test/experimental/CWE-770/DenialOfService.expected b/go/ql/test/experimental/CWE-770/DenialOfService.expected deleted file mode 100644 index 4a2ae9d6646..00000000000 --- a/go/ql/test/experimental/CWE-770/DenialOfService.expected +++ /dev/null @@ -1,18 +0,0 @@ -edges -| DenialOfServiceBad.go:11:12:11:16 | selection of URL | DenialOfServiceBad.go:11:12:11:24 | call to Query | provenance | | -| DenialOfServiceBad.go:11:12:11:24 | call to Query | DenialOfServiceBad.go:13:15:13:20 | source | provenance | | -| DenialOfServiceBad.go:13:15:13:20 | source | DenialOfServiceBad.go:13:15:13:29 | call to Get | provenance | | -| DenialOfServiceBad.go:13:15:13:29 | call to Get | DenialOfServiceBad.go:14:28:14:36 | sourceStr | provenance | | -| DenialOfServiceBad.go:14:2:14:37 | ... := ...[0] | DenialOfServiceBad.go:20:27:20:30 | sink | provenance | | -| DenialOfServiceBad.go:14:28:14:36 | sourceStr | DenialOfServiceBad.go:14:2:14:37 | ... := ...[0] | provenance | | -nodes -| DenialOfServiceBad.go:11:12:11:16 | selection of URL | semmle.label | selection of URL | -| DenialOfServiceBad.go:11:12:11:24 | call to Query | semmle.label | call to Query | -| DenialOfServiceBad.go:13:15:13:20 | source | semmle.label | source | -| DenialOfServiceBad.go:13:15:13:29 | call to Get | semmle.label | call to Get | -| DenialOfServiceBad.go:14:2:14:37 | ... := ...[0] | semmle.label | ... := ...[0] | -| DenialOfServiceBad.go:14:28:14:36 | sourceStr | semmle.label | sourceStr | -| DenialOfServiceBad.go:20:27:20:30 | sink | semmle.label | sink | -subpaths -#select -| DenialOfServiceBad.go:20:27:20:30 | sink | DenialOfServiceBad.go:11:12:11:16 | selection of URL | DenialOfServiceBad.go:20:27:20:30 | sink | This variable might be leading to denial of service. | diff --git a/go/ql/test/experimental/CWE-770/DenialOfService.qlref b/go/ql/test/experimental/CWE-770/DenialOfService.qlref deleted file mode 100644 index e5896bb61df..00000000000 --- a/go/ql/test/experimental/CWE-770/DenialOfService.qlref +++ /dev/null @@ -1 +0,0 @@ -experimental/CWE-770/DenialOfService.ql \ No newline at end of file diff --git a/go/ql/test/extractor-tests/diagnostics/Diagnostics.ql b/go/ql/test/extractor-tests/diagnostics/Diagnostics.ql index ed6d8ac043d..324709175e5 100644 --- a/go/ql/test/extractor-tests/diagnostics/Diagnostics.ql +++ b/go/ql/test/extractor-tests/diagnostics/Diagnostics.ql @@ -1,4 +1,5 @@ import go +private import semmle.go.internal.Locations bindingset[path] string baseName(string path) { result = path.regexpCapture(".*(/|\\\\)([^/\\\\]+)(/|\\\\)?$", 2) } @@ -30,7 +31,12 @@ class Diagnostic extends @diagnostic { diagnostic_for(this, c, fileNum, idx) } - Location getLocation() { diagnostics(this, _, _, _, _, result) } + DbLocation getLocation() { + exists(@location loc | + diagnostics(this, _, _, _, _, loc) and + result = TDbLocation(loc) + ) + } // string getTag() { // diagnostics(this, _, result, _, _, _) diff --git a/go/ql/test/query-tests/Security/CWE-770/UncontrolledAllocationSize.expected b/go/ql/test/query-tests/Security/CWE-770/UncontrolledAllocationSize.expected new file mode 100644 index 00000000000..e69de29bb2d diff --git a/go/ql/test/query-tests/Security/CWE-770/UncontrolledAllocationSize.ql b/go/ql/test/query-tests/Security/CWE-770/UncontrolledAllocationSize.ql new file mode 100644 index 00000000000..18add3a4881 --- /dev/null +++ b/go/ql/test/query-tests/Security/CWE-770/UncontrolledAllocationSize.ql @@ -0,0 +1,4 @@ +import go +import semmle.go.security.UncontrolledAllocationSize +import TestUtilities.InlineFlowTest +import FlowTest<UncontrolledAllocationSize::Config, UncontrolledAllocationSize::Config> diff --git a/go/ql/test/experimental/CWE-770/DenialOfServiceBad.go b/go/ql/test/query-tests/Security/CWE-770/UncontrolledAllocationSizeBad.go similarity index 89% rename from go/ql/test/experimental/CWE-770/DenialOfServiceBad.go rename to go/ql/test/query-tests/Security/CWE-770/UncontrolledAllocationSizeBad.go index 2d61cdbdafc..0ae70436bde 100644 --- a/go/ql/test/experimental/CWE-770/DenialOfServiceBad.go +++ b/go/ql/test/query-tests/Security/CWE-770/UncontrolledAllocationSizeBad.go @@ -17,7 +17,7 @@ func OutOfMemoryBad(w http.ResponseWriter, r *http.Request) { return } - result := make([]string, sink) + result := make([]string, sink) // $hasTaintFlow="sink" for i := 0; i < sink; i++ { result[i] = fmt.Sprintf("Item %d", i+1) } diff --git a/go/ql/test/experimental/CWE-770/DenialOfServiceGood.go b/go/ql/test/query-tests/Security/CWE-770/UncontrolledAllocationSizeGood.go similarity index 100% rename from go/ql/test/experimental/CWE-770/DenialOfServiceGood.go rename to go/ql/test/query-tests/Security/CWE-770/UncontrolledAllocationSizeGood.go diff --git a/go/ql/test/query-tests/Security/CWE-798/HardcodedCredentials.expected b/go/ql/test/query-tests/Security/CWE-798/HardcodedCredentials.expected index 8eb49a5cc80..0526c0ba604 100644 --- a/go/ql/test/query-tests/Security/CWE-798/HardcodedCredentials.expected +++ b/go/ql/test/query-tests/Security/CWE-798/HardcodedCredentials.expected @@ -1,28 +1,28 @@ | AlertSuppressionExample.go:11:14:11:40 | "horsebatterystaplecorrect" | Hard-coded $@. | AlertSuppressionExample.go:11:14:11:40 | "horsebatterystaplecorrect" | password | | HardcodedCredentials.go:10:13:10:28 | "s3cretp4ssword" | Hard-coded $@. | HardcodedCredentials.go:10:13:10:28 | "s3cretp4ssword" | password | -| HardcodedKeysBad.go:19:28:19:39 | mySigningKey | Hard-coded credential. | HardcodedKeysBad.go:11:25:11:37 | "AllYourBase" | password | -| jwt.go:42:28:42:39 | mySigningKey | Hard-coded credential. | jwt.go:33:25:33:30 | "key1" | password | -| jwt.go:49:16:49:29 | type conversion | Hard-coded credential. | jwt.go:49:23:49:28 | "key2" | password | -| jwt.go:68:44:68:46 | key | Hard-coded credential. | jwt.go:67:16:67:21 | `key3` | password | -| jwt.go:73:66:73:68 | key | Hard-coded credential. | jwt.go:72:16:72:21 | "key4" | password | -| jwt.go:81:15:81:18 | key2 | Hard-coded credential. | jwt.go:76:17:76:22 | "key5" | password | -| jwt.go:91:41:91:43 | key | Hard-coded credential. | jwt.go:87:16:87:21 | "key6" | password | -| jwt.go:98:66:98:69 | key2 | Hard-coded credential. | jwt.go:96:17:96:22 | "key7" | password | -| jwt.go:109:30:109:32 | key | Hard-coded credential. | jwt.go:104:16:104:21 | "key8" | password | -| jwt.go:114:16:114:24 | sharedKey | Hard-coded credential. | jwt.go:113:22:113:27 | "key9" | password | -| jwt.go:120:16:120:30 | sharedKeyglobal | Hard-coded credential. | jwt.go:117:30:117:36 | "key10" | password | -| jwt.go:126:20:126:34 | type conversion | Hard-coded credential. | jwt.go:126:27:126:33 | "key11" | password | -| jwt.go:143:39:143:41 | key | Hard-coded credential. | jwt.go:141:16:141:22 | "key12" | password | -| jwt.go:152:11:152:13 | key | Hard-coded credential. | jwt.go:148:16:148:22 | "key13" | password | -| jwt.go:160:34:160:36 | key | Hard-coded credential. | jwt.go:159:16:159:22 | "key14" | password | -| jwt.go:166:32:166:34 | key | Hard-coded credential. | jwt.go:165:16:165:22 | "key15" | password | -| jwt.go:172:41:172:43 | key | Hard-coded credential. | jwt.go:171:16:171:22 | "key16" | password | -| jwt.go:178:51:178:53 | key | Hard-coded credential. | jwt.go:177:16:177:22 | "key17" | password | -| jwt.go:184:42:184:44 | key | Hard-coded credential. | jwt.go:183:16:183:22 | "key18" | password | -| jwt.go:192:33:192:35 | key | Hard-coded credential. | jwt.go:189:16:189:22 | "key19" | password | +| HardcodedKeysBad.go:19:28:19:39 | mySigningKey | Hard-coded $@. | HardcodedKeysBad.go:11:25:11:37 | "AllYourBase" | secret | +| jwt.go:42:28:42:39 | mySigningKey | Hard-coded $@. | jwt.go:33:25:33:30 | "key1" | secret | +| jwt.go:49:16:49:29 | type conversion | Hard-coded $@. | jwt.go:49:23:49:28 | "key2" | secret | +| jwt.go:68:44:68:46 | key | Hard-coded $@. | jwt.go:67:16:67:21 | `key3` | secret | +| jwt.go:73:66:73:68 | key | Hard-coded $@. | jwt.go:72:16:72:21 | "key4" | secret | +| jwt.go:81:15:81:18 | key2 | Hard-coded $@. | jwt.go:76:17:76:22 | "key5" | secret | +| jwt.go:91:41:91:43 | key | Hard-coded $@. | jwt.go:87:16:87:21 | "key6" | secret | +| jwt.go:98:66:98:69 | key2 | Hard-coded $@. | jwt.go:96:17:96:22 | "key7" | secret | +| jwt.go:109:30:109:32 | key | Hard-coded $@. | jwt.go:104:16:104:21 | "key8" | secret | +| jwt.go:114:16:114:24 | sharedKey | Hard-coded $@. | jwt.go:113:22:113:27 | "key9" | secret | +| jwt.go:120:16:120:30 | sharedKeyglobal | Hard-coded $@. | jwt.go:117:30:117:36 | "key10" | secret | +| jwt.go:126:20:126:34 | type conversion | Hard-coded $@. | jwt.go:126:27:126:33 | "key11" | secret | +| jwt.go:143:39:143:41 | key | Hard-coded $@. | jwt.go:141:16:141:22 | "key12" | secret | +| jwt.go:152:11:152:13 | key | Hard-coded $@. | jwt.go:148:16:148:22 | "key13" | secret | +| jwt.go:160:34:160:36 | key | Hard-coded $@. | jwt.go:159:16:159:22 | "key14" | secret | +| jwt.go:166:32:166:34 | key | Hard-coded $@. | jwt.go:165:16:165:22 | "key15" | secret | +| jwt.go:172:41:172:43 | key | Hard-coded $@. | jwt.go:171:16:171:22 | "key16" | secret | +| jwt.go:178:51:178:53 | key | Hard-coded $@. | jwt.go:177:16:177:22 | "key17" | secret | +| jwt.go:184:42:184:44 | key | Hard-coded $@. | jwt.go:183:16:183:22 | "key18" | secret | +| jwt.go:192:33:192:35 | key | Hard-coded $@. | jwt.go:189:16:189:22 | "key19" | secret | | main.go:6:14:6:23 | "p4ssw0rd" | Hard-coded $@. | main.go:6:14:6:23 | "p4ssw0rd" | password | | main.go:12:1:26:30 | `-----BEGIN RSA PRIVATE KEY-----\nMIICXQIBAAKBgQC/tzdtXKXcX6F3v3hR6+uYyZpIeXhhLflJkY2eILLQfAnwKlT5\nxIHW5QZcHQV9sCyZ8qSdPGif7PwgMbButMbByiZhCSugUFb6vjVqoktmslYF4LKH\niDgvmlwuJW0TvynxBLzDCwrRP+gpRT8wuAortWAx/03POTw7Mzi2cIPNsQIDAQAB\nAoGAMHCrqY9CPTdQhgAz94cDpTwzJmLCvtMt7J/BR5X9eF4O6MbZZ652HAUMIVQX\n4hUUf+VmIHB2AwqO/ddwO9ijaz04BslOSy/iYevHGlH65q4587NSlFWjvILMIQCM\nGBjfzJIxlLHVhjc2cFnyAE5YWjF/OMnJN0OhP9pxmCP/iM0CQQDxmQndQLdnV7+6\n8SvBHE8bg1LE8/BzTt68U3aWwiBjrHMFgzr//7Za4VF7h4ilFgmbh0F3sYz+C8iO\n0JrBRPeLAkEAyyTwnv/pgqTS/wuxIHUxRBpbdk3YvILAthNrGQg5uzA7eSeFu7Mv\nGtEkXsaqCDbdehgarFfNN8PB6OMRIbsXMwJBAOjhH8UJ0L/osYO9XPO0GfznRS1c\nBnbfm4vk1/bSAO6TF/xEVubU0i4f6q8sIecfqvskEVMS7lkjeptPMR0DIakCQE+7\nuQH/Wizf+r0GXshplyOu4LVHisk63N7aMlAJ7XbuUHmWLKRmiReSfR8CBNzig/2X\nFmkMsUyw9hwte5zsrQcCQQCrOkZvzUj9j1HKG+32EJ2E4kisJZmAgF9GI+z6oxpi\nExped5tp8EWytCjRwKhOcc0068SgaqhKvyyUWpbx32VQ\n-----END RSA PRIVATE KEY-----` | Hard-coded private key. | main.go:12:1:26:30 | `-----BEGIN RSA PRIVATE KEY-----\nMIICXQIBAAKBgQC/tzdtXKXcX6F3v3hR6+uYyZpIeXhhLflJkY2eILLQfAnwKlT5\nxIHW5QZcHQV9sCyZ8qSdPGif7PwgMbButMbByiZhCSugUFb6vjVqoktmslYF4LKH\niDgvmlwuJW0TvynxBLzDCwrRP+gpRT8wuAortWAx/03POTw7Mzi2cIPNsQIDAQAB\nAoGAMHCrqY9CPTdQhgAz94cDpTwzJmLCvtMt7J/BR5X9eF4O6MbZZ652HAUMIVQX\n4hUUf+VmIHB2AwqO/ddwO9ijaz04BslOSy/iYevHGlH65q4587NSlFWjvILMIQCM\nGBjfzJIxlLHVhjc2cFnyAE5YWjF/OMnJN0OhP9pxmCP/iM0CQQDxmQndQLdnV7+6\n8SvBHE8bg1LE8/BzTt68U3aWwiBjrHMFgzr//7Za4VF7h4ilFgmbh0F3sYz+C8iO\n0JrBRPeLAkEAyyTwnv/pgqTS/wuxIHUxRBpbdk3YvILAthNrGQg5uzA7eSeFu7Mv\nGtEkXsaqCDbdehgarFfNN8PB6OMRIbsXMwJBAOjhH8UJ0L/osYO9XPO0GfznRS1c\nBnbfm4vk1/bSAO6TF/xEVubU0i4f6q8sIecfqvskEVMS7lkjeptPMR0DIakCQE+7\nuQH/Wizf+r0GXshplyOu4LVHisk63N7aMlAJ7XbuUHmWLKRmiReSfR8CBNzig/2X\nFmkMsUyw9hwte5zsrQcCQQCrOkZvzUj9j1HKG+32EJ2E4kisJZmAgF9GI+z6oxpi\nExped5tp8EWytCjRwKhOcc0068SgaqhKvyyUWpbx32VQ\n-----END RSA PRIVATE KEY-----` | certificate | | main.go:44:14:44:19 | "p4ss" | Hard-coded $@. | main.go:44:14:44:19 | "p4ss" | password | | main.go:48:13:48:15 | tmp | Hard-coded $@. | main.go:44:14:44:19 | "p4ss" | password | | main.go:50:15:50:21 | "p4ss2" | Hard-coded $@. | main.go:50:15:50:21 | "p4ss2" | password | -| sanitizer.go:18:44:18:46 | key | Hard-coded credential. | sanitizer.go:17:16:17:25 | `some_key` | password | +| sanitizer.go:18:44:18:46 | key | Hard-coded $@. | sanitizer.go:17:16:17:25 | `some_key` | secret | diff --git a/java/documentation/library-coverage/coverage.csv b/java/documentation/library-coverage/coverage.csv index 751024f5321..03d97bcb9d8 100644 --- a/java/documentation/library-coverage/coverage.csv +++ b/java/documentation/library-coverage/coverage.csv @@ -4,7 +4,7 @@ android.app,77,,103,,,,,,,,,,11,,,,,7,,,,,,,42,,,17,,,,,,,,,,,,,,,,,,,,,,18,85 android.content,24,31,154,,,,,,,,,,,,,,,16,,,,,,,,,,,,,,,,,,,,8,,,,,,4,27,,,,,63,91 android.database,59,,41,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,59,,,,,,,,,,,,41, android.net,,,60,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,45,15 -android.os,,2,122,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,41,81 +android.os,1,2,122,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,2,,,,,,41,81 android.support.v4.app,11,,,,,,,,,,,,11,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, android.util,6,16,,,,,,,,,,,,,,,,,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,16,, android.webkit,3,2,,,,,,,,,,,,,,2,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,, @@ -76,13 +76,13 @@ jakarta.ws.rs.core,2,,149,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,94,55 jakarta.xml.bind.attachment,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,, java.awt,1,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,3 java.beans,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, -java.io,51,1,46,,,,,,,,,22,,,,,,,,,,,,,,,29,,,,,,,,,,,,,,,,,,,,,1,,44,2 -java.lang,38,3,101,,13,,,,,,1,,,,,,,,,,,,8,,,,11,,,4,,,1,,,,,,,,,,,,,,3,,,58,43 +java.io,51,1,47,,,,,,,,,22,,,,,,,,,,,,,,,29,,,,,,,,,,,,,,,,,,,,,1,,45,2 +java.lang,38,3,102,,13,,,,,,1,,,,,,,,,,,,8,,,,11,,,4,,,1,,,,,,,,,,,,,,3,,,59,43 java.net,22,3,24,,,,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,20,,,,,,,,,,,,,3,24, java.nio,44,,38,,,,,,,,,5,,,,,,,,,,,,,,,38,,,,,,,,,1,,,,,,,,,,,,,,38, java.security,21,,,,,11,10,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, java.sql,15,1,2,,,,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,4,,9,,,,,,,,1,,,,2, -java.util,47,2,522,,,,,,,,,1,,,,,,,,,,,34,,,,2,,,,5,2,,1,2,,,,,,,,,,,,2,,,46,476 +java.util,47,2,529,,,,,,,,,1,,,,,,,,,,,34,,,,2,,,,5,2,,1,2,,,,,,,,,,,,2,,,49,480 javafx.scene.web,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,, javax.activation,2,,7,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,1,,,,,,,,,,,,,,7, javax.crypto,19,,4,,,12,3,,2,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4, diff --git a/java/documentation/library-coverage/coverage.rst b/java/documentation/library-coverage/coverage.rst index 903890f7ba2..ce93e37f09a 100644 --- a/java/documentation/library-coverage/coverage.rst +++ b/java/documentation/library-coverage/coverage.rst @@ -7,7 +7,7 @@ Java framework & library support :widths: auto Framework / library,Package,Flow sources,Taint & value steps,Sinks (total),`CWE‑022` :sub:`Path injection`,`CWE‑079` :sub:`Cross-site scripting`,`CWE‑089` :sub:`SQL injection`,`CWE‑090` :sub:`LDAP injection`,`CWE‑094` :sub:`Code injection`,`CWE‑918` :sub:`Request Forgery` - Android,``android.*``,52,481,180,,3,67,,, + Android,``android.*``,52,481,181,1,3,67,,, Android extensions,``androidx.*``,5,183,60,,,,,, `Apache Commons Collections <https://commons.apache.org/proper/commons-collections/>`_,"``org.apache.commons.collections``, ``org.apache.commons.collections4``",,1600,,,,,,, `Apache Commons IO <https://commons.apache.org/proper/commons-io/>`_,``org.apache.commons.io``,,562,118,99,,,,,15 @@ -18,10 +18,10 @@ Java framework & library support `Google Guava <https://guava.dev/>`_,``com.google.common.*``,,730,43,9,,,,, JBoss Logging,``org.jboss.logging``,,,324,,,,,, `JSON-java <https://github.com/stleary/JSON-java>`_,``org.json``,,236,,,,,,, - Java Standard Library,``java.*``,10,737,239,80,,9,,,25 + Java Standard Library,``java.*``,10,746,239,80,,9,,,25 Java extensions,"``javax.*``, ``jakarta.*``",67,688,80,5,4,2,1,1,4 Kotlin Standard Library,``kotlin*``,,1849,16,14,,,,,2 `Spring <https://spring.io/>`_,``org.springframework.*``,38,481,118,5,,28,14,,35 Others,"``actions.osgi``, ``antlr``, ``ch.ethz.ssh2``, ``cn.hutool.core.codec``, ``com.alibaba.druid.sql``, ``com.alibaba.fastjson2``, ``com.amazonaws.auth``, ``com.auth0.jwt.algorithms``, ``com.azure.identity``, ``com.esotericsoftware.kryo.io``, ``com.esotericsoftware.kryo5.io``, ``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``, ``javafx.scene.web``, ``jenkins``, ``jodd.json``, ``liquibase.database.jvm``, ``liquibase.statement.core``, ``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.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.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.fusesource.leveldbjni``, ``org.geogebra.web.full.main``, ``org.gradle.api.file``, ``org.hibernate``, ``org.influxdb``, ``org.jdbi.v3.core``, ``org.jenkins.ui.icon``, ``org.jenkins.ui.symbol``, ``org.jooq``, ``org.keycloak.models.map.storage``, ``org.kohsuke.stapler``, ``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``, ``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``",131,10518,893,125,6,22,18,,209 - Totals,,308,18953,2558,337,16,128,33,1,409 + Totals,,308,18962,2559,338,16,128,33,1,409 diff --git a/java/ql/automodel/src/CHANGELOG.md b/java/ql/automodel/src/CHANGELOG.md index 4a3c54adb38..f252098a34f 100644 --- a/java/ql/automodel/src/CHANGELOG.md +++ b/java/ql/automodel/src/CHANGELOG.md @@ -1,3 +1,11 @@ +## 0.0.18 + +No user-facing changes. + +## 0.0.17 + +No user-facing changes. + ## 0.0.16 No user-facing changes. diff --git a/java/ql/automodel/src/change-notes/released/0.0.17.md b/java/ql/automodel/src/change-notes/released/0.0.17.md new file mode 100644 index 00000000000..62cc89030a6 --- /dev/null +++ b/java/ql/automodel/src/change-notes/released/0.0.17.md @@ -0,0 +1,3 @@ +## 0.0.17 + +No user-facing changes. diff --git a/java/ql/automodel/src/change-notes/released/0.0.18.md b/java/ql/automodel/src/change-notes/released/0.0.18.md new file mode 100644 index 00000000000..86c60b8abe7 --- /dev/null +++ b/java/ql/automodel/src/change-notes/released/0.0.18.md @@ -0,0 +1,3 @@ +## 0.0.18 + +No user-facing changes. diff --git a/java/ql/automodel/src/codeql-pack.release.yml b/java/ql/automodel/src/codeql-pack.release.yml index a49f7be4cff..a0d2bc59d97 100644 --- a/java/ql/automodel/src/codeql-pack.release.yml +++ b/java/ql/automodel/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.0.16 +lastReleaseVersion: 0.0.18 diff --git a/java/ql/automodel/src/qlpack.yml b/java/ql/automodel/src/qlpack.yml index 898239be098..b9bef7e98a0 100644 --- a/java/ql/automodel/src/qlpack.yml +++ b/java/ql/automodel/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-automodel-queries -version: 0.0.17-dev +version: 0.0.19-dev groups: - java - automodel diff --git a/java/ql/integration-tests/all-platforms/java/buildless-erroneous/diagnostics.expected b/java/ql/integration-tests/all-platforms/java/buildless-erroneous/diagnostics.expected index 2118edbe296..03978511bb7 100644 --- a/java/ql/integration-tests/all-platforms/java/buildless-erroneous/diagnostics.expected +++ b/java/ql/integration-tests/all-platforms/java/buildless-erroneous/diagnostics.expected @@ -12,6 +12,20 @@ "telemetry": true } } +{ + "markdownMessage": "Java buildless extraction has completed.", + "severity": "unknown", + "source": { + "extractorName": "java", + "id": "java/autobuilder/buildless/complete", + "name": "Java buildless extraction completed" + }, + "visibility": { + "cliSummaryTable": true, + "statusPage": false, + "telemetry": true + } +} { "markdownMessage": "Java buildless mode used the system default JDK.", "severity": "unknown", diff --git a/java/ql/integration-tests/all-platforms/java/buildless-gradle/diagnostics.expected b/java/ql/integration-tests/all-platforms/java/buildless-gradle/diagnostics.expected index 7f297a41139..5d8a00c5578 100644 --- a/java/ql/integration-tests/all-platforms/java/buildless-gradle/diagnostics.expected +++ b/java/ql/integration-tests/all-platforms/java/buildless-gradle/diagnostics.expected @@ -1,3 +1,17 @@ +{ + "markdownMessage": "Java buildless extraction has completed.", + "severity": "unknown", + "source": { + "extractorName": "java", + "id": "java/autobuilder/buildless/complete", + "name": "Java buildless extraction completed" + }, + "visibility": { + "cliSummaryTable": true, + "statusPage": false, + "telemetry": true + } +} { "markdownMessage": "Java buildless mode used build tool Gradle to pick a JDK version and/or to recommend external dependencies.", "severity": "unknown", diff --git a/java/ql/integration-tests/all-platforms/java/buildless-maven-multimodule/diagnostics.expected b/java/ql/integration-tests/all-platforms/java/buildless-maven-multimodule/diagnostics.expected index dcc7c1377b6..77e259ae537 100644 --- a/java/ql/integration-tests/all-platforms/java/buildless-maven-multimodule/diagnostics.expected +++ b/java/ql/integration-tests/all-platforms/java/buildless-maven-multimodule/diagnostics.expected @@ -1,3 +1,17 @@ +{ + "markdownMessage": "Java buildless extraction has completed.", + "severity": "unknown", + "source": { + "extractorName": "java", + "id": "java/autobuilder/buildless/complete", + "name": "Java buildless extraction completed" + }, + "visibility": { + "cliSummaryTable": true, + "statusPage": false, + "telemetry": true + } +} { "markdownMessage": "Java buildless mode used build tool Maven to pick a JDK version and/or to recommend external dependencies.", "severity": "unknown", diff --git a/java/ql/integration-tests/all-platforms/java/buildless-maven/diagnostics.expected b/java/ql/integration-tests/all-platforms/java/buildless-maven/diagnostics.expected index d99f38541ca..0228a1165a9 100644 --- a/java/ql/integration-tests/all-platforms/java/buildless-maven/diagnostics.expected +++ b/java/ql/integration-tests/all-platforms/java/buildless-maven/diagnostics.expected @@ -1,3 +1,17 @@ +{ + "markdownMessage": "Java buildless extraction has completed.", + "severity": "unknown", + "source": { + "extractorName": "java", + "id": "java/autobuilder/buildless/complete", + "name": "Java buildless extraction completed" + }, + "visibility": { + "cliSummaryTable": true, + "statusPage": false, + "telemetry": true + } +} { "markdownMessage": "Java buildless mode used build tool Maven to pick a JDK version and/or to recommend external dependencies.", "severity": "unknown", diff --git a/java/ql/integration-tests/all-platforms/java/buildless-sibling-projects/diagnostics.expected b/java/ql/integration-tests/all-platforms/java/buildless-sibling-projects/diagnostics.expected index b8e399f746a..c150b2135f3 100644 --- a/java/ql/integration-tests/all-platforms/java/buildless-sibling-projects/diagnostics.expected +++ b/java/ql/integration-tests/all-platforms/java/buildless-sibling-projects/diagnostics.expected @@ -1,3 +1,17 @@ +{ + "markdownMessage": "Java buildless extraction has completed.", + "severity": "unknown", + "source": { + "extractorName": "java", + "id": "java/autobuilder/buildless/complete", + "name": "Java buildless extraction completed" + }, + "visibility": { + "cliSummaryTable": true, + "statusPage": false, + "telemetry": true + } +} { "markdownMessage": "Java buildless mode dropped the following dependencies because a sibling project depends on a higher version:\n\n* `junit/junit-4.11`", "severity": "unknown", diff --git a/java/ql/integration-tests/all-platforms/java/buildless/diagnostics.expected b/java/ql/integration-tests/all-platforms/java/buildless/diagnostics.expected index 2118edbe296..03978511bb7 100644 --- a/java/ql/integration-tests/all-platforms/java/buildless/diagnostics.expected +++ b/java/ql/integration-tests/all-platforms/java/buildless/diagnostics.expected @@ -12,6 +12,20 @@ "telemetry": true } } +{ + "markdownMessage": "Java buildless extraction has completed.", + "severity": "unknown", + "source": { + "extractorName": "java", + "id": "java/autobuilder/buildless/complete", + "name": "Java buildless extraction completed" + }, + "visibility": { + "cliSummaryTable": true, + "statusPage": false, + "telemetry": true + } +} { "markdownMessage": "Java buildless mode used the system default JDK.", "severity": "unknown", diff --git a/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/.gitattributes b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/.gitattributes new file mode 100644 index 00000000000..00a51aff5e5 --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/.gitattributes @@ -0,0 +1,6 @@ +# +# https://help.github.com/articles/dealing-with-line-endings/ +# +# These are explicitly windows files and should use crlf +*.bat text eol=crlf + diff --git a/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/.gitignore b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/.gitignore new file mode 100644 index 00000000000..1b6985c0094 --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/.gitignore @@ -0,0 +1,5 @@ +# Ignore Gradle project-specific cache directory +.gradle + +# Ignore Gradle build output directory +build diff --git a/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/build.gradle b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/build.gradle new file mode 100644 index 00000000000..071a12b7691 --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/build.gradle @@ -0,0 +1,30 @@ +/* + * This build file was auto generated by running the Gradle 'init' task + * by 'arthur' at '28/11/20 22:29' with Gradle 3.0 + * + * This generated file contains a sample Java project to get you started. + * For more details take a look at the Java Quickstart chapter in the Gradle + * user guide available at https://docs.gradle.org/3.0/userguide/tutorial_java_projects.html + */ + +// Apply the java plugin to add support for Java +apply plugin: 'java' + +// In this section you declare where to find the dependencies of your project +repositories { + // Use 'jcenter' for resolving your dependencies. + // You can declare any Maven/Ivy/file repository here. + jcenter() +} + +// In this section you declare the dependencies for your production and test code +dependencies { + // The production code uses the SLF4J logging API at compile time + compile 'org.slf4j:slf4j-api:1.7.21' + + // Declare the dependency for your favourite test framework you want to use in your tests. + // TestNG is also supported by the Gradle Test task. Just change the + // testCompile dependency to testCompile 'org.testng:testng:6.8.1' and add + // 'test.useTestNG()' to your build script. + testCompile 'junit:junit:4.12' +} diff --git a/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/force_sequential_test_execution new file mode 100644 index 00000000000..b0e2500b259 --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/force_sequential_test_execution @@ -0,0 +1,3 @@ +# We currently have a bug where gradle tests become flaky when executed in parallel +# - sometimes, gradle fails to connect to the gradle daemon. +# Therefore, force this test to run sequentially. diff --git a/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/gradle/verification-metadata.xml b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/gradle/verification-metadata.xml new file mode 100644 index 00000000000..14a69b8178b --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/gradle/verification-metadata.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<verification-metadata> + <configuration> + <verify-metadata>true</verify-metadata> + <verify-signatures>false</verify-signatures> + </configuration> +</verification-metadata> \ No newline at end of file diff --git a/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/gradle/wrapper/gradle-wrapper.properties b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 00000000000..12d38de6a48 --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-6.6.1-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/gradlew b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/gradlew new file mode 100755 index 00000000000..4f906e0c811 --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/gradlew @@ -0,0 +1,185 @@ +#!/usr/bin/env sh + +# +# Copyright 2015 the original author or authors. +# +# 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. +# + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin or MSYS, switch paths to Windows format before running java +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=`expr $i + 1` + done + case $i in + 0) set -- ;; + 1) set -- "$args0" ;; + 2) set -- "$args0" "$args1" ;; + 3) set -- "$args0" "$args1" "$args2" ;; + 4) set -- "$args0" "$args1" "$args2" "$args3" ;; + 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=`save "$@"` + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +exec "$JAVACMD" "$@" diff --git a/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/gradlew.bat b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/gradlew.bat new file mode 100644 index 00000000000..107acd32c4e --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/gradlew.bat @@ -0,0 +1,89 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/settings.gradle b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/settings.gradle new file mode 100644 index 00000000000..233410459f6 --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/settings.gradle @@ -0,0 +1,19 @@ +/* + * This settings file was auto generated by the Gradle buildInit task + * by 'arthur' at '28/11/20 22:29' with Gradle 3.0 + * + * The settings file is used to specify which projects to include in your build. + * In a single project build this file can be empty or even removed. + * + * Detailed information about configuring a multi-project build in Gradle can be found + * in the user guide at https://docs.gradle.org/3.0/userguide/multi_project_builds.html + */ + +/* +// To declare projects as part of a multi-project build use the 'include' method +include 'shared' +include 'api' +include 'services:webservice' +*/ + +rootProject.name = 'gradle-sample' diff --git a/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/src/main/java/com/example/App.java b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/src/main/java/com/example/App.java new file mode 100644 index 00000000000..1c13f7d885e --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/src/main/java/com/example/App.java @@ -0,0 +1,14 @@ +/* + * This Java source file was generated by the Gradle 'init' task. + */ +package com.example; + +public class App { + public String getGreeting() { + return "Hello world."; + } + + public static void main(String[] args) { + System.out.println(new App().getGreeting()); + } +} diff --git a/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/src/test/java/com/example/AppTest.java b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/src/test/java/com/example/AppTest.java new file mode 100644 index 00000000000..813bc5e1a2a --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/src/test/java/com/example/AppTest.java @@ -0,0 +1,14 @@ +/* + * This Java source file was generated by the Gradle 'init' task. + */ +package com.example; + +import org.junit.Test; +import static org.junit.Assert.*; + +public class AppTest { + @Test public void testAppHasAGreeting() { + App classUnderTest = new App(); + assertNotNull("app should have a greeting", classUnderTest.getGreeting()); + } +} diff --git a/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/test.expected b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/test.expected new file mode 100644 index 00000000000..82f7ee275a1 --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/test.expected @@ -0,0 +1,5 @@ +xmlFiles +| gradle/verification-metadata.xml:0:0:0:0 | gradle/verification-metadata.xml | +#select +| src/main/java/com/example/App.java:0:0:0:0 | App | +| src/test/java/com/example/AppTest.java:0:0:0:0 | AppTest | diff --git a/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/test.py b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/test.py new file mode 100644 index 00000000000..846a89e8703 --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/test.py @@ -0,0 +1,31 @@ +import sys + +from create_database_utils import * +import shutil +import os.path +import tempfile +import platform + +#The version of gradle used doesn't work on java 17 +try_use_java11() + +gradle_override_dir = tempfile.mkdtemp() +if platform.system() == "Windows": + with open(os.path.join(gradle_override_dir, "gradle.bat"), "w") as f: + f.write("@echo off\nexit /b 2\n") +else: + gradlepath = os.path.join(gradle_override_dir, "gradle") + with open(gradlepath, "w") as f: + f.write("#!/bin/bash\nexit 1\n") + os.chmod(gradlepath, 0o0755) + +oldpath = os.getenv("PATH") +os.environ["PATH"] = gradle_override_dir + os.pathsep + oldpath + +try: + run_codeql_database_create([], lang="java") +finally: + try: + shutil.rmtree(gradle_override_dir) + except Exception as e: + pass diff --git a/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/test.ql b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/test.ql new file mode 100644 index 00000000000..c11b8fba707 --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/test.ql @@ -0,0 +1,7 @@ +import java + +from File f +where f.isSourceFile() +select f + +query predicate xmlFiles(XmlFile x) { any() } diff --git a/java/ql/lib/CHANGELOG.md b/java/ql/lib/CHANGELOG.md index d369cbdc931..e251800c763 100644 --- a/java/ql/lib/CHANGELOG.md +++ b/java/ql/lib/CHANGELOG.md @@ -1,3 +1,18 @@ +## 0.8.11 + +No user-facing changes. + +## 0.8.10 + +### Minor Analysis Improvements + +* Java expressions with erroneous types (e.g. the result of a call whose callee couldn't be resolved during extraction) are now given a CodeQL `ErrorType` more often. + +### Bug Fixes + +* Fixed the Java autobuilder overriding the version of Maven used by a project when the Maven wrapper `mvnw` is in use and the `maven-wrapper.jar` file is not present in the repository. +* Some flow steps related to `android.text.Editable.toString` that were accidentally disabled have been re-enabled. + ## 0.8.9 ### Deprecated APIs diff --git a/java/ql/lib/change-notes/2024-02-23-widget-flowsteps.md b/java/ql/lib/change-notes/2024-02-23-widget-flowsteps.md deleted file mode 100644 index eb560fba07d..00000000000 --- a/java/ql/lib/change-notes/2024-02-23-widget-flowsteps.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: fix ---- -* Some flow steps related to `android.text.Editable.toString` that were accidentally disabled have been re-enabled. diff --git a/java/ql/lib/change-notes/2024-02-27-error-types.md b/java/ql/lib/change-notes/2024-02-27-error-types.md deleted file mode 100644 index cdc6d7620aa..00000000000 --- a/java/ql/lib/change-notes/2024-02-27-error-types.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Java expressions with erroneous types (e.g. the result of a call whose callee couldn't be resolved during extraction) are now given a CodeQL `ErrorType` more often. diff --git a/java/ql/lib/change-notes/2024-02-27-mvnw-versions.md b/java/ql/lib/change-notes/2024-02-27-mvnw-versions.md deleted file mode 100644 index a0227088ae9..00000000000 --- a/java/ql/lib/change-notes/2024-02-27-mvnw-versions.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: fix ---- -* Fixed the Java autobuilder overriding the version of Maven used by a project when the Maven wrapper `mvnw` is in use and the `maven-wrapper.jar` file is not present in the repository. diff --git a/java/ql/lib/change-notes/2024-03-11-add-parcelfiledescriptor-open-model.md b/java/ql/lib/change-notes/2024-03-11-add-parcelfiledescriptor-open-model.md new file mode 100644 index 00000000000..31f76712828 --- /dev/null +++ b/java/ql/lib/change-notes/2024-03-11-add-parcelfiledescriptor-open-model.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* Added a `path-injection` sink for the `open` methods of the `android.os.ParcelFileDescriptor` class. diff --git a/java/ql/lib/change-notes/released/0.8.10.md b/java/ql/lib/change-notes/released/0.8.10.md new file mode 100644 index 00000000000..b45f14bf347 --- /dev/null +++ b/java/ql/lib/change-notes/released/0.8.10.md @@ -0,0 +1,10 @@ +## 0.8.10 + +### Minor Analysis Improvements + +* Java expressions with erroneous types (e.g. the result of a call whose callee couldn't be resolved during extraction) are now given a CodeQL `ErrorType` more often. + +### Bug Fixes + +* Fixed the Java autobuilder overriding the version of Maven used by a project when the Maven wrapper `mvnw` is in use and the `maven-wrapper.jar` file is not present in the repository. +* Some flow steps related to `android.text.Editable.toString` that were accidentally disabled have been re-enabled. diff --git a/java/ql/lib/change-notes/released/0.8.11.md b/java/ql/lib/change-notes/released/0.8.11.md new file mode 100644 index 00000000000..6f504c5c207 --- /dev/null +++ b/java/ql/lib/change-notes/released/0.8.11.md @@ -0,0 +1,3 @@ +## 0.8.11 + +No user-facing changes. diff --git a/java/ql/lib/codeql-pack.release.yml b/java/ql/lib/codeql-pack.release.yml index 5290c29b7fe..7b42a9d984c 100644 --- a/java/ql/lib/codeql-pack.release.yml +++ b/java/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.8.9 +lastReleaseVersion: 0.8.11 diff --git a/java/ql/lib/ext/android.os.model.yml b/java/ql/lib/ext/android.os.model.yml index fc4822dd59f..80271eac954 100644 --- a/java/ql/lib/ext/android.os.model.yml +++ b/java/ql/lib/ext/android.os.model.yml @@ -132,3 +132,8 @@ extensions: - ["android.os", "Parcel", False, "readTypedList", "", "", "Argument[this]", "Argument[0]", "taint", "manual"] - ["android.os", "Parcel", False, "readTypedObject", "", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["android.os", "Parcel", False, "readValue", "", "", "Argument[this]", "ReturnValue", "taint", "manual"] + - addsTo: + pack: codeql/java-all + extensible: sinkModel + data: + - ["android.os", "ParcelFileDescriptor", False, "open", "", "", "Argument[0]", "path-injection", "manual"] \ No newline at end of file diff --git a/java/ql/lib/ext/java.beans.model.yml b/java/ql/lib/ext/java.beans.model.yml index b9d06ea5694..30667ec6961 100644 --- a/java/ql/lib/ext/java.beans.model.yml +++ b/java/ql/lib/ext/java.beans.model.yml @@ -4,3 +4,12 @@ extensions: extensible: summaryModel data: - ["java.beans", "XMLDecoder", False, "XMLDecoder", "", "", "Argument[0]", "Argument[this]", "taint", "manual"] + - addsTo: + pack: codeql/java-all + extensible: neutralModel + data: + # summary neutrals + - ["java.beans", "PropertyEditor", "getAsText", "()", "summary", "df-manual"] # needs to be modeled by regular CodeQL matching the get and set keys to reduce FPs + - ["java.beans", "PropertyEditor", "getValue", "()", "summary", "df-manual"] # needs to be modeled by regular CodeQL matching the get and set keys to reduce FPs + - ["java.beans", "PropertyEditor", "setAsText", "()", "summary", "df-manual"] # needs to be modeled by regular CodeQL matching the get and set keys to reduce FPs + - ["java.beans", "PropertyEditor", "setValue", "()", "summary", "df-manual"] # needs to be modeled by regular CodeQL matching the get and set keys to reduce FPs diff --git a/java/ql/lib/ext/java.io.model.yml b/java/ql/lib/ext/java.io.model.yml index ef0f4dbb0a6..1cbbf456779 100644 --- a/java/ql/lib/ext/java.io.model.yml +++ b/java/ql/lib/ext/java.io.model.yml @@ -78,12 +78,13 @@ extensions: - ["java.io", "File", True, "getCanonicalFile", "", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["java.io", "File", True, "getCanonicalPath", "", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["java.io", "File", True, "getName", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] + - ["java.io", "File", True, "getParent", "()", "", "Argument[this]", "ReturnValue", "taint", "df-manual"] - ["java.io", "File", True, "getParentFile", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["java.io", "File", True, "getPath", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - - ["java.io", "File", True, "listFiles", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["java.io", "File", True, "toPath", "", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["java.io", "File", True, "toString", "", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["java.io", "File", True, "toURI", "", "", "Argument[this]", "ReturnValue", "taint", "manual"] + - ["java.io", "File", True, "toURL", "()", "", "Argument[this]", "ReturnValue", "taint", "df-manual"] - ["java.io", "FilterOutputStream", True, "FilterOutputStream", "(OutputStream)", "", "Argument[0]", "Argument[this]", "taint", "manual"] - ["java.io", "InputStream", True, "read", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["java.io", "InputStream", True, "read", "(byte[])", "", "Argument[this]", "Argument[0]", "taint", "manual"] @@ -116,9 +117,13 @@ extensions: - ["java.io", "File", "isFile", "()", "summary", "manual"] - ["java.io", "File", "length", "()", "summary", "manual"] - ["java.io", "File", "isDirectory", "()", "summary", "manual"] + - ["java.io", "File", "listFiles", "", "summary", "df-manual"] - ["java.io", "File", "mkdirs", "()", "summary", "manual"] - ["java.io", "FileInputStream", "FileInputStream", "(File)", "summary", "manual"] + - ["java.io", "FileInputStream", "FileInputStream", "(FileDescriptor)", "summary", "df-manual"] + - ["java.io", "FileInputStream", "FileInputStream", "(String)", "summary", "df-manual"] - ["java.io", "InputStream", "close", "()", "summary", "manual"] + - ["java.io", "ObjectInput", "readObject", "()", "summary", "df-manual"] # this is a deserialization sink modeled in regular CodeQL - ["java.io", "OutputStream", "flush", "()", "summary", "manual"] # The below APIs have numeric flow and are currently being stored as neutral models. # These may be changed to summary models with kinds "value-numeric" and "taint-numeric" (or similar) in the future. diff --git a/java/ql/lib/ext/java.lang.model.yml b/java/ql/lib/ext/java.lang.model.yml index 0569b4c209c..2be5585d82f 100644 --- a/java/ql/lib/ext/java.lang.model.yml +++ b/java/ql/lib/ext/java.lang.model.yml @@ -82,8 +82,8 @@ extensions: - ["java.lang", "Exception", False, "Exception", "(String)", "", "Argument[0]", "Argument[this].SyntheticField[java.lang.Throwable.message]", "value", "manual"] - ["java.lang", "Exception", False, "Exception", "(String,Throwable)", "", "Argument[0]", "Argument[this].SyntheticField[java.lang.Throwable.message]", "value", "manual"] - ["java.lang", "Exception", False, "Exception", "(String,Throwable)", "", "Argument[1]", "Argument[this].SyntheticField[java.lang.Throwable.cause]", "value", "manual"] - - ["java.lang", "Exception", False, "Exception", "(Throwable)", "", "Argument[0]", "Argument[this].SyntheticField[java.lang.Throwable.cause]", "value", "manual"] - - ["java.lang", "Exception", False, "Exception", "(Throwable)", "", "Argument[0].SyntheticField[java.lang.Throwable.message]", "Argument[this].SyntheticField[java.lang.Throwable.message]", "taint", "manual"] + - ["java.lang", "Exception", False, "Exception", "(Throwable)", "", "Argument[0]", "Argument[this].SyntheticField[java.lang.Throwable.cause]", "value", "df-manual"] + - ["java.lang", "Exception", False, "Exception", "(Throwable)", "", "Argument[0].SyntheticField[java.lang.Throwable.message]", "Argument[this].SyntheticField[java.lang.Throwable.message]", "taint", "df-manual"] - ["java.lang", "IllegalArgumentException", False, "IllegalArgumentException", "(String)", "", "Argument[0]", "Argument[this].SyntheticField[java.lang.Throwable.message]", "value", "manual"] - ["java.lang", "IllegalStateException", False, "IllegalStateException", "(String)", "", "Argument[0]", "Argument[this].SyntheticField[java.lang.Throwable.message]", "value", "manual"] - ["java.lang", "IndexOutOfBoundsException", False, "IndexOutOfBoundsException", "(String)", "", "Argument[0]", "Argument[this].SyntheticField[java.lang.Throwable.message]", "value", "manual"] @@ -114,6 +114,7 @@ extensions: - ["java.lang", "String", False, "indent", "", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["java.lang", "String", False, "intern", "", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["java.lang", "String", False, "join", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["java.lang", "String", False, "lines", "()", "", "Argument[this]", "ReturnValue.Element", "taint", "df-manual"] - ["java.lang", "String", False, "repeat", "(int)", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["java.lang", "String", False, "replace", "", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["java.lang", "String", False, "replace", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] @@ -148,16 +149,16 @@ extensions: - ["java.lang", "ThreadLocal", True, "set", "(Object)", "", "Argument[0]", "Argument[this].SyntheticField[java.lang.ThreadLocal.value]", "value", "manual"] - ["java.lang", "ThreadLocal", False, "withInitial", "(Supplier)", "", "Argument[0].ReturnValue", "ReturnValue.SyntheticField[java.lang.ThreadLocal.value]", "value", "manual"] - ["java.lang", "Throwable", False, "Throwable", "(String)", "", "Argument[0]", "Argument[this].SyntheticField[java.lang.Throwable.message]", "value", "manual"] - - ["java.lang", "Throwable", False, "Throwable", "(String,Throwable)", "", "Argument[0]", "Argument[this].SyntheticField[java.lang.Throwable.message]", "value", "manual"] - - ["java.lang", "Throwable", False, "Throwable", "(String,Throwable)", "", "Argument[1]", "Argument[this].SyntheticField[java.lang.Throwable.cause]", "value", "manual"] + - ["java.lang", "Throwable", False, "Throwable", "(String,Throwable)", "", "Argument[0]", "Argument[this].SyntheticField[java.lang.Throwable.message]", "value", "df-manual"] + - ["java.lang", "Throwable", False, "Throwable", "(String,Throwable)", "", "Argument[1]", "Argument[this].SyntheticField[java.lang.Throwable.cause]", "value", "df-manual"] - ["java.lang", "Throwable", False, "Throwable", "(Throwable)", "", "Argument[0]", "Argument[this].SyntheticField[java.lang.Throwable.cause]", "value", "manual"] - - ["java.lang", "Throwable", False, "Throwable", "(Throwable)", "", "Argument[0].SyntheticField[java.lang.Throwable.message]", "Argument[this].SyntheticField[java.lang.Throwable.message]", "taint", "manual"] + - ["java.lang", "Throwable", False, "Throwable", "(Throwable)", "", "Argument[0].SyntheticField[java.lang.Throwable.message]", "Argument[this].SyntheticField[java.lang.Throwable.message]", "taint", "df-manual"] - ["java.lang", "Throwable", True, "getCause", "()", "", "Argument[this].SyntheticField[java.lang.Throwable.cause]", "ReturnValue", "value", "manual"] - ["java.lang", "Throwable", True, "getMessage", "()", "", "Argument[this].SyntheticField[java.lang.Throwable.message]", "ReturnValue", "value", "manual"] - ["java.lang", "Throwable", True, "getLocalizedMessage", "()", "", "Argument[this].SyntheticField[java.lang.Throwable.message]", "ReturnValue", "value", "manual"] - - ["java.lang", "Throwable", True, "initCause", "(Throwable)", "", "Argument[0]", "Argument[this].SyntheticField[java.lang.Throwable.cause]", "value", "manual"] - - ["java.lang", "Throwable", True, "initCause", "(Throwable)", "", "Argument[0]", "ReturnValue.SyntheticField[java.lang.Throwable.cause]", "value", "manual"] - - ["java.lang", "Throwable", True, "initCause", "(Throwable)", "", "Argument[this]", "ReturnValue", "value", "manual"] + - ["java.lang", "Throwable", True, "initCause", "(Throwable)", "", "Argument[0]", "Argument[this].SyntheticField[java.lang.Throwable.cause]", "value", "df-manual"] + - ["java.lang", "Throwable", True, "initCause", "(Throwable)", "", "Argument[0]", "ReturnValue.SyntheticField[java.lang.Throwable.cause]", "value", "df-manual"] + - ["java.lang", "Throwable", True, "initCause", "(Throwable)", "", "Argument[this]", "ReturnValue", "value", "df-manual"] - ["java.lang", "Throwable", True, "toString", "()", "", "Argument[this].SyntheticField[java.lang.Throwable.message]", "ReturnValue", "taint", "manual"] - ["java.lang", "UnsupportedOperationException", False, "UnsupportedOperationException", "(String)", "", "Argument[0]", "Argument[this].SyntheticField[java.lang.Throwable.message]", "value", "manual"] - addsTo: @@ -185,8 +186,19 @@ extensions: - ["java.lang", "Class", "isAssignableFrom", "(Class)", "summary", "manual"] - ["java.lang", "Class", "isInstance", "(Object)", "summary", "manual"] - ["java.lang", "Class", "toString", "()", "summary", "manual"] + - ["java.lang", "ClassLoader", "findResource", "(String)", "summary", "df-manual"] + - ["java.lang", "ClassLoader", "getDefinedPackage", "(String)", "summary", "df-manual"] + - ["java.lang", "ClassLoader", "getDefinedPackage", "(String)", "summary", "df-manual"] + - ["java.lang", "ClassLoader", "getName", "()", "summary", "df-manual"] + - ["java.lang", "ClassLoader", "getParent", "()", "summary", "df-manual"] - ["java.lang", "ClassLoader", "getResource", "(String)", "summary", "manual"] - ["java.lang", "ClassLoader", "getResourceAsStream", "(String)", "summary", "manual"] + - ["java.lang", "ClassLoader", "getSystemResource", "(String)", "summary", "df-manual"] + - ["java.lang", "ClassLoader", "getUnnamedModule", "()", "summary", "df-manual"] + - ["java.lang", "ClassLoader", "loadClass", "(String)", "summary", "df-manual"] + - ["java.lang", "ClassLoader", "loadClass", "(String,boolean)", "summary", "df-manual"] + - ["java.lang", "ClassLoader", "setClassAssertionStatus", "(String,boolean)", "summary", "df-manual"] + - ["java.lang", "ClassLoader", "setPackageAssertionStatus", "(String,boolean)", "summary", "df-manual"] - ["java.lang", "Enum", "Enum", "(String,int)", "summary", "manual"] - ["java.lang", "Enum", "equals", "(Object)", "summary", "manual"] - ["java.lang", "Enum", "hashCode", "()", "summary", "manual"] @@ -228,14 +240,14 @@ extensions: - ["java.lang", "Thread", "interrupt", "()", "summary", "manual"] - ["java.lang", "Thread", "sleep", "(long)", "summary", "manual"] - ["java.lang", "Thread", "start", "()", "summary", "manual"] - - ["java.lang", "Throwable", "addSuppressed", "(Throwable)", "summary", "manual"] - - ["java.lang", "Throwable", "fillInStackTrace", "()", "summary", "manual"] - - ["java.lang", "Throwable", "getStackTrace", "()", "summary", "manual"] - - ["java.lang", "Throwable", "getSuppressed", "()", "summary", "manual"] - - ["java.lang", "Throwable", "printStackTrace", "()", "summary", "manual"] - - ["java.lang", "Throwable", "printStackTrace", "(PrintStream)", "summary", "manual"] - - ["java.lang", "Throwable", "printStackTrace", "(PrintWriter)", "summary", "manual"] - - ["java.lang", "Throwable", "setStackTrace", "(StackTraceElement[])", "summary", "manual"] + - ["java.lang", "Throwable", "addSuppressed", "(Throwable)", "summary", "df-manual"] + - ["java.lang", "Throwable", "fillInStackTrace", "()", "summary", "df-manual"] + - ["java.lang", "Throwable", "getStackTrace", "()", "summary", "df-manual"] + - ["java.lang", "Throwable", "getSuppressed", "()", "summary", "df-manual"] + - ["java.lang", "Throwable", "printStackTrace", "()", "summary", "df-manual"] + - ["java.lang", "Throwable", "printStackTrace", "(PrintStream)", "summary", "df-manual"] + - ["java.lang", "Throwable", "printStackTrace", "(PrintWriter)", "summary", "df-manual"] + - ["java.lang", "Throwable", "setStackTrace", "(StackTraceElement[])", "summary", "df-manual"] # The below APIs have numeric flow and are currently being stored as neutral models. # These may be changed to summary models with kinds "value-numeric" and "taint-numeric" (or similar) in the future. - ["java.lang", "Double", "doubleToLongBits", "(double)", "summary", "manual"] # taint-numeric diff --git a/java/ql/lib/ext/java.net.model.yml b/java/ql/lib/ext/java.net.model.yml index afdf3320b08..5884c60e4e7 100644 --- a/java/ql/lib/ext/java.net.model.yml +++ b/java/ql/lib/ext/java.net.model.yml @@ -61,3 +61,11 @@ extensions: - ["java.net", "URL", False, "toURI", "", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["java.net", "URL", False, "toString", "", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["java.net", "URLDecoder", False, "decode", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - addsTo: + pack: codeql/java-all + extensible: neutralModel + data: + # summary neutrals + - ["java.net", "Socket", "getOutputStream", "()", "summary", "df-manual"] + - ["java.net", "Socket", "connect", "(SocketAddress)", "summary", "df-manual"] + - ["java.net", "Socket", "connect", "(SocketAddress,int)", "summary", "df-manual"] diff --git a/java/ql/lib/ext/java.nio.file.model.yml b/java/ql/lib/ext/java.nio.file.model.yml index 39a83291fc0..8f8db20a0c0 100644 --- a/java/ql/lib/ext/java.nio.file.model.yml +++ b/java/ql/lib/ext/java.nio.file.model.yml @@ -91,6 +91,7 @@ extensions: data: # summary neutrals - ["java.nio.file", "Files", "exists", "(Path,LinkOption[])", "summary", "manual"] + - ["java.nio.file", "Files", "newInputStream", "(Path,OpenOption[])", "summary", "df-manual"] # sink neutrals - ["java.nio.file", "Files", "getLastModifiedTime", "", "sink", "hq-manual"] - ["java.nio.file", "Files", "getOwner", "", "sink", "hq-manual"] diff --git a/java/ql/lib/ext/java.util.logging.yml b/java/ql/lib/ext/java.util.logging.yml new file mode 100644 index 00000000000..c4bf4e77300 --- /dev/null +++ b/java/ql/lib/ext/java.util.logging.yml @@ -0,0 +1,8 @@ +extensions: + - addsTo: + pack: codeql/java-all + extensible: neutralModel + data: + # summary neutrals + - ["java.util.logging", "LogRecord", "getResourceBundle", "()", "summary", "df-manual"] + - ["java.util.logging", "LogRecord", "setParameters", "", "summary", "df-manual"] diff --git a/java/ql/lib/ext/java.util.model.yml b/java/ql/lib/ext/java.util.model.yml index bd6e58918aa..e2617815008 100644 --- a/java/ql/lib/ext/java.util.model.yml +++ b/java/ql/lib/ext/java.util.model.yml @@ -58,6 +58,7 @@ extensions: - ["java.util", "Collection", True, "toArray", "", "", "Argument[this].Element", "Argument[0].ArrayElement", "value", "manual"] - ["java.util", "Collection", True, "toArray", "", "", "Argument[this].Element", "ReturnValue.ArrayElement", "value", "manual"] - ["java.util", "Collections", False, "addAll", "(Collection,Object[])", "", "Argument[1].ArrayElement", "Argument[0].Element", "value", "manual"] + - ["java.util", "Collections", False, "asLifoQueue", "(Deque)", "", "Argument[0].Element", "ReturnValue.Element", "value", "df-manual"] - ["java.util", "Collections", False, "checkedCollection", "(Collection,Class)", "", "Argument[0].Element", "ReturnValue.Element", "value", "manual"] - ["java.util", "Collections", False, "checkedList", "(List,Class)", "", "Argument[0].Element", "ReturnValue.Element", "value", "manual"] - ["java.util", "Collections", False, "checkedMap", "(Map,Class,Class)", "", "Argument[0].MapKey", "ReturnValue.MapKey", "value", "manual"] @@ -65,6 +66,7 @@ extensions: - ["java.util", "Collections", False, "checkedNavigableMap", "(NavigableMap,Class,Class)", "", "Argument[0].MapKey", "ReturnValue.MapKey", "value", "manual"] - ["java.util", "Collections", False, "checkedNavigableMap", "(NavigableMap,Class,Class)", "", "Argument[0].MapValue", "ReturnValue.MapValue", "value", "manual"] - ["java.util", "Collections", False, "checkedNavigableSet", "(NavigableSet,Class)", "", "Argument[0].Element", "ReturnValue.Element", "value", "manual"] + - ["java.util", "Collections", False, "checkedQueue", "(Queue,Class)", "", "Argument[0].Element", "ReturnValue.Element", "value", "df-manual"] - ["java.util", "Collections", False, "checkedSet", "(Set,Class)", "", "Argument[0].Element", "ReturnValue.Element", "value", "manual"] - ["java.util", "Collections", False, "checkedSortedMap", "(SortedMap,Class,Class)", "", "Argument[0].MapKey", "ReturnValue.MapKey", "value", "manual"] - ["java.util", "Collections", False, "checkedSortedMap", "(SortedMap,Class,Class)", "", "Argument[0].MapValue", "ReturnValue.MapValue", "value", "manual"] @@ -107,6 +109,8 @@ extensions: - ["java.util", "Collections", False, "unmodifiableSortedMap", "(SortedMap)", "", "Argument[0].MapKey", "ReturnValue.MapKey", "value", "manual"] - ["java.util", "Collections", False, "unmodifiableSortedMap", "(SortedMap)", "", "Argument[0].MapValue", "ReturnValue.MapValue", "value", "manual"] - ["java.util", "Collections", False, "unmodifiableSortedSet", "(SortedSet)", "", "Argument[0].Element", "ReturnValue.Element", "value", "manual"] + - ["java.util", "ConcurrentHashMap", False, "ConcurrentHashMap", "(Map)", "", "Argument[0].MapKey", "Argument[this].MapKey", "value", "df-manual"] + - ["java.util", "ConcurrentHashMap", False, "ConcurrentHashMap", "(Map)", "", "Argument[0].MapValue", "Argument[this].MapValue", "value", "df-manual"] - ["java.util", "Deque", True, "addFirst", "(Object)", "", "Argument[0]", "Argument[this].Element", "value", "manual"] - ["java.util", "Deque", True, "addLast", "(Object)", "", "Argument[0]", "Argument[this].Element", "value", "manual"] - ["java.util", "Deque", True, "descendingIterator", "()", "", "Argument[this].Element", "ReturnValue.Element", "value", "manual"] @@ -307,6 +311,9 @@ extensions: - ["java.util", "Queue", True, "poll", "()", "", "Argument[this].Element", "ReturnValue", "value", "manual"] - ["java.util", "Queue", True, "remove", "()", "", "Argument[this].Element", "ReturnValue", "value", "manual"] - ["java.util", "ResourceBundle", True, "getString", "(String)", "", "Argument[this].MapValue", "ReturnValue", "value", "manual"] + - ["java.util", "Scanner", True, "findAll", "(Pattern)", "", "Argument[this]", "ReturnValue.Element", "taint", "df-manual"] + - ["java.util", "Scanner", True, "findAll", "(String)", "", "Argument[this]", "ReturnValue.Element", "taint", "df-manual"] + - ["java.util", "Scanner", True, "match", "()", "", "Argument[this]", "ReturnValue", "taint", "df-manual"] - ["java.util", "Scanner", True, "Scanner", "", "", "Argument[0]", "Argument[this]", "taint", "manual"] - ["java.util", "Scanner", True, "findInLine", "", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["java.util", "Scanner", True, "findWithinHorizon", "", "", "Argument[this]", "ReturnValue", "taint", "manual"] @@ -426,8 +433,18 @@ extensions: - ["java.util", "Collections", "emptyList", "()", "summary", "manual"] - ["java.util", "Collections", "emptyMap", "()", "summary", "manual"] - ["java.util", "Collections", "emptySet", "()", "summary", "manual"] + - ["java.util", "Collections", "newSetFromMap", "", "summary", "df-manual"] + - ["java.util", "Collections", "reverseOrder", "", "summary", "df-manual"] - ["java.util", "Collections", "sort", "", "summary", "manual"] - ["java.util", "Enumeration", "hasMoreElements", "()", "summary", "manual"] + - ["java.util", "EnumSet", "allOf", "(Class)", "summary", "df-manual"] + - ["java.util", "EnumSet", "clone", "()", "summary", "df-manual"] + - ["java.util", "EnumSet", "complementOf", "(EnumSet)", "summary", "df-manual"] + - ["java.util", "EnumSet", "copyOf", "(Collection)", "summary", "df-manual"] + - ["java.util", "EnumSet", "copyOf", "(EnumSet)", "summary", "df-manual"] + - ["java.util", "EnumSet", "noneOf", "(Class)", "summary", "df-manual"] + - ["java.util", "EnumSet", "of", "", "summary", "df-manual"] + - ["java.util", "EnumSet", "range", "(Object,Object)", "summary", "df-manual"] - ["java.util", "HashMap", "containsKey", "(Object)", "summary", "manual"] - ["java.util", "HashMap", "HashMap", "(int)", "summary", "manual"] - ["java.util", "HashMap", "size", "()", "summary", "manual"] @@ -441,7 +458,62 @@ extensions: - ["java.util", "List", "of", "()", "summary", "manual"] - ["java.util", "List", "sort", "(Comparator)", "summary", "manual"] - ["java.util", "List", "size", "()", "summary", "manual"] + - ["java.util", "Locale$Builder", "addUnicodeLocaleAttribute", "(String)", "summary", "df-manual"] + - ["java.util", "Locale$Builder", "build", "()", "summary", "df-manual"] + - ["java.util", "Locale$Builder", "clear", "()", "summary", "df-manual"] + - ["java.util", "Locale$Builder", "clearExtensions", "()", "summary", "df-manual"] + - ["java.util", "Locale$Builder", "removeUnicodeLocaleAttribute", "(String)", "summary", "df-manual"] + - ["java.util", "Locale$Builder", "setExtension", "(char,String)", "summary", "df-manual"] + - ["java.util", "Locale$Builder", "setLanguage", "(String)", "summary", "df-manual"] + - ["java.util", "Locale$Builder", "setLanguageTag", "(String)", "summary", "df-manual"] + - ["java.util", "Locale$Builder", "setLocale", "(Locale)", "summary", "df-manual"] + - ["java.util", "Locale$Builder", "setLocale", "(Locale)", "summary", "df-manual"] + - ["java.util", "Locale$Builder", "setRegion", "(String)", "summary", "df-manual"] + - ["java.util", "Locale$Builder", "setScript", "(String)", "summary", "df-manual"] + - ["java.util", "Locale$Builder", "setUnicodeLocaleKeyword", "(String,String)", "summary", "df-manual"] + - ["java.util", "Locale$Builder", "setVariant", "(String)", "summary", "df-manual"] + - ["java.util", "Locale$Builder", "setVariant", "(String)", "summary", "df-manual"] + - ["java.util", "Locale$LanguageRange", "LanguageRange", "(String)", "summary", "df-manual"] + - ["java.util", "Locale$LanguageRange", "LanguageRange", "(String,double)", "summary", "df-manual"] + - ["java.util", "Locale$LanguageRange", "getRange", "()", "summary", "df-manual"] + - ["java.util", "Locale$LanguageRange", "mapEquivalents", "(List,Map)", "summary", "df-manual"] + - ["java.util", "Locale$LanguageRange", "mapEquivalents", "(List,Map)", "summary", "df-manual"] + - ["java.util", "Locale$LanguageRange", "parse", "(String)", "summary", "df-manual"] + - ["java.util", "Locale$LanguageRange", "parse", "(String,Map)", "summary", "df-manual"] + - ["java.util", "Locale$LanguageRange", "parse", "(String,Map)", "summary", "df-manual"] + - ["java.util", "Locale", "Locale", "(String)", "summary", "df-manual"] + - ["java.util", "Locale", "Locale", "(String,String)", "summary", "df-manual"] + - ["java.util", "Locale", "Locale", "(String,String)", "summary", "df-manual"] + - ["java.util", "Locale", "Locale", "(String,String,String)", "summary", "df-manual"] + - ["java.util", "Locale", "Locale", "(String,String,String)", "summary", "df-manual"] + - ["java.util", "Locale", "Locale", "(String,String,String)", "summary", "df-manual"] + - ["java.util", "Locale", "filterTags", "(List,Collection)", "summary", "df-manual"] + - ["java.util", "Locale", "filterTags", "(List,Collection,Locale$FilteringMode)", "summary", "df-manual"] - ["java.util", "Locale", "forLanguageTag", "(String)", "summary", "manual"] + - ["java.util", "Locale", "getCountry", "()", "summary", "df-manual"] + - ["java.util", "Locale", "getDisplayCountry", "()", "summary", "df-manual"] + - ["java.util", "Locale", "getDisplayCountry", "(Locale)", "summary", "df-manual"] + - ["java.util", "Locale", "getDisplayCountry", "(Locale)", "summary", "df-manual"] + - ["java.util", "Locale", "getDisplayLanguage", "()", "summary", "df-manual"] + - ["java.util", "Locale", "getDisplayLanguage", "(Locale)", "summary", "df-manual"] + - ["java.util", "Locale", "getDisplayLanguage", "(Locale)", "summary", "df-manual"] + - ["java.util", "Locale", "getDisplayName", "()", "summary", "df-manual"] + - ["java.util", "Locale", "getDisplayName", "(Locale)", "summary", "df-manual"] + - ["java.util", "Locale", "getDisplayName", "(Locale)", "summary", "df-manual"] + - ["java.util", "Locale", "getDisplayScript", "()", "summary", "df-manual"] + - ["java.util", "Locale", "getDisplayScript", "(Locale)", "summary", "df-manual"] + - ["java.util", "Locale", "getDisplayScript", "(Locale)", "summary", "df-manual"] + - ["java.util", "Locale", "getDisplayVariant", "()", "summary", "df-manual"] + - ["java.util", "Locale", "getDisplayVariant", "(Locale)", "summary", "df-manual"] + - ["java.util", "Locale", "getDisplayVariant", "(Locale)", "summary", "df-manual"] + - ["java.util", "Locale", "getExtensionKeys", "()", "summary", "df-manual"] + - ["java.util", "Locale", "getISO3Language", "()", "summary", "df-manual"] + - ["java.util", "Locale", "getLanguage", "()", "summary", "df-manual"] + - ["java.util", "Locale", "getScript", "()", "summary", "df-manual"] + - ["java.util", "Locale", "getVariant", "()", "summary", "df-manual"] + - ["java.util", "Locale", "lookupTag", "(List,Collection)", "summary", "df-manual"] + - ["java.util", "Locale", "stripExtensions", "()", "summary", "df-manual"] + - ["java.util", "Locale", "toLanguageTag", "()", "summary", "df-manual"] - ["java.util", "Map", "containsKey", "(Object)", "summary", "manual"] - ["java.util", "Map", "isEmpty", "()", "summary", "manual"] - ["java.util", "Map", "size", "()", "summary", "manual"] @@ -454,6 +526,12 @@ extensions: - ["java.util", "Optional", "isEmpty", "()", "summary", "manual"] - ["java.util", "Optional", "isPresent", "()", "summary", "manual"] - ["java.util", "Random", "nextInt", "(int)", "summary", "manual"] + - ["java.util", "ResourceBundle", "getBundle", "", "summary", "df-manual"] + - ["java.util", "Scanner", "delimiter", "()", "summary", "df-manual"] + - ["java.util", "Scanner", "hasNext", "(Pattern)", "summary", "df-manual"] + - ["java.util", "Scanner", "hasNext", "(String)", "summary", "df-manual"] + - ["java.util", "Scanner", "ioException", "()", "summary", "df-manual"] + - ["java.util", "Scanner", "locale", "()", "summary", "df-manual"] - ["java.util", "Set", "contains", "(Object)", "summary", "manual"] - ["java.util", "Set", "isEmpty", "()", "summary", "manual"] - ["java.util", "Set", "size", "()", "summary", "manual"] diff --git a/java/ql/lib/ext/java.util.prefs.model.yml b/java/ql/lib/ext/java.util.prefs.model.yml index a2a7c16bc5d..11289e0782b 100644 --- a/java/ql/lib/ext/java.util.prefs.model.yml +++ b/java/ql/lib/ext/java.util.prefs.model.yml @@ -3,6 +3,21 @@ extensions: pack: codeql/java-all extensible: neutralModel data: + # summary neutrals + - ["java.util.prefs", "Preferences", "get", "(String,String)", "summary", "df-manual"] # needs to be modeled by regular CodeQL matching the get and set keys to reduce FPs + - ["java.util.prefs", "Preferences", "getBoolean", "(String,boolean)", "summary", "df-manual"] # needs to be modeled by regular CodeQL matching the get and set keys to reduce FPs + - ["java.util.prefs", "Preferences", "getByteArray", "(String,byte[])", "summary", "df-manual"] # needs to be modeled by regular CodeQL matching the get and set keys to reduce FPs + - ["java.util.prefs", "Preferences", "getDouble", "(String,double)", "summary", "df-manual"] # needs to be modeled by regular CodeQL matching the get and set keys to reduce FPs + - ["java.util.prefs", "Preferences", "getFloat", "(String,float)", "summary", "df-manual"] # needs to be modeled by regular CodeQL matching the get and set keys to reduce FPs + - ["java.util.prefs", "Preferences", "getInt", "(String,int)", "summary", "df-manual"] # needs to be modeled by regular CodeQL matching the get and set keys to reduce FPs + - ["java.util.prefs", "Preferences", "getLong", "(String,int)", "summary", "df-manual"] # needs to be modeled by regular CodeQL matching the get and set keys to reduce FPs + - ["java.util.prefs", "Preferences", "put", "(String,String)", "summary", "df-manual"] # needs to be modeled by regular CodeQL matching the get and set keys to reduce FPs + - ["java.util.prefs", "Preferences", "putBoolean", "(String,boolean)", "summary", "df-manual"] # needs to be modeled by regular CodeQL matching the get and set keys to reduce FPs + - ["java.util.prefs", "Preferences", "putByteArray", "(String,byte[])", "summary", "df-manual"] # needs to be modeled by regular CodeQL matching the get and set keys to reduce FPs + - ["java.util.prefs", "Preferences", "putDouble", "(String,double)", "summary", "df-manual"] # needs to be modeled by regular CodeQL matching the get and set keys to reduce FPs + - ["java.util.prefs", "Preferences", "putFloat", "(String,float)", "summary", "df-manual"] # needs to be modeled by regular CodeQL matching the get and set keys to reduce FPs + - ["java.util.prefs", "Preferences", "putInt", "(String,int)", "summary", "df-manual"] # needs to be modeled by regular CodeQL matching the get and set keys to reduce FPs + - ["java.util.prefs", "Preferences", "putLong", "(String,int)", "summary", "df-manual"] # needs to be modeled by regular CodeQL matching the get and set keys to reduce FPs # sink neutrals - ["java.util.prefs", "AbstractPreferences", "nodeExists", "", "sink", "hq-manual"] - ["java.util.prefs", "Preferences", "nodeExists", "", "sink", "hq-manual"] diff --git a/java/ql/lib/ext/java.util.regex.model.yml b/java/ql/lib/ext/java.util.regex.model.yml index 0a71a96b5f9..4f0776e59bd 100644 --- a/java/ql/lib/ext/java.util.regex.model.yml +++ b/java/ql/lib/ext/java.util.regex.model.yml @@ -30,4 +30,9 @@ extensions: pack: codeql/java-all extensible: neutralModel data: + - ["java.util.regex", "Matcher", "appendReplacement", "(StringBuffer,String)", "summary", "df-manual"] + - ["java.util.regex", "Matcher", "appendTail", "(StringBuffer)", "summary", "df-manual"] - ["java.util.regex", "Matcher", "find", "()", "summary", "manual"] + - ["java.util.regex", "Matcher", "pattern", "()", "summary", "df-manual"] + - ["java.util.regex", "Pattern", "compile", "(String,int)", "summary", "df-manual"] + - ["java.util.regex", "Pattern", "pattern", "()", "summary", "df-manual"] diff --git a/java/ql/lib/ext/javax.crypto.model.yml b/java/ql/lib/ext/javax.crypto.model.yml index 9c909320344..2b3bfc1abe8 100644 --- a/java/ql/lib/ext/javax.crypto.model.yml +++ b/java/ql/lib/ext/javax.crypto.model.yml @@ -11,16 +11,18 @@ extensions: pack: codeql/java-all extensible: neutralModel data: - - ["javax.crypto", "Cipher", "doFinal", "", "summary", "manual"] - - ["javax.crypto", "Cipher", "getAlgorithm", "", "summary", "manual"] - - ["javax.crypto", "Cipher", "getExemptionMechanism", "", "summary", "manual"] - - ["javax.crypto", "Cipher", "getInstance", "", "summary", "manual"] - - ["javax.crypto", "Cipher", "getIV", "", "summary", "manual"] - - ["javax.crypto", "Cipher", "getParameters", "", "summary", "manual"] - - ["javax.crypto", "Cipher", "getProvider", "", "summary", "manual"] - - ["javax.crypto", "Cipher", "init", "", "summary", "manual"] - - ["javax.crypto", "Cipher", "toString", "", "summary", "manual"] - - ["javax.crypto", "Cipher", "unwrap", "", "summary", "manual"] - - ["javax.crypto", "Cipher", "update", "", "summary", "manual"] - - ["javax.crypto", "Cipher", "updateAAD", "", "summary", "manual"] - - ["javax.crypto", "Cipher", "wrap", "", "summary", "manual"] + - ["javax.crypto", "Cipher", "doFinal", "", "summary", "df-manual"] + - ["javax.crypto", "Cipher", "getAlgorithm", "", "summary", "df-manual"] + - ["javax.crypto", "Cipher", "getExemptionMechanism", "", "summary", "df-manual"] + - ["javax.crypto", "Cipher", "getInstance", "", "summary", "df-manual"] + - ["javax.crypto", "Cipher", "getIV", "", "summary", "df-manual"] + - ["javax.crypto", "Cipher", "getParameters", "", "summary", "df-manual"] + - ["javax.crypto", "Cipher", "getProvider", "", "summary", "df-manual"] + - ["javax.crypto", "Cipher", "init", "", "summary", "df-manual"] + - ["javax.crypto", "Cipher", "toString", "", "summary", "df-manual"] + - ["javax.crypto", "Cipher", "unwrap", "", "summary", "df-manual"] + - ["javax.crypto", "Cipher", "update", "", "summary", "df-manual"] + - ["javax.crypto", "Cipher", "updateAAD", "", "summary", "df-manual"] + - ["javax.crypto", "Cipher", "wrap", "", "summary", "df-manual"] + - ["javax.crypto", "Mac", "init", "(Key)", "summary", "df-manual"] + - ["javax.crypto", "Mac", "doFinal", "()", "summary", "df-manual"] diff --git a/java/ql/lib/ext/javax.crypto.spec.model.yml b/java/ql/lib/ext/javax.crypto.spec.model.yml index 0f879c1f900..d2b7dbc99b8 100644 --- a/java/ql/lib/ext/javax.crypto.spec.model.yml +++ b/java/ql/lib/ext/javax.crypto.spec.model.yml @@ -26,3 +26,9 @@ extensions: - ["javax.crypto.spec", "PBEParameterSpec", False, "PBEParameterSpec", "", "", "Argument[0]", "encryption-salt", "manual"] - ["javax.crypto.spec", "SecretKeySpec", False, "SecretKeySpec", "(byte[],String)", "", "Argument[0]", "credentials-key", "hq-generated"] - ["javax.crypto.spec", "SecretKeySpec", False, "SecretKeySpec", "(byte[],int,int,String)", "", "Argument[0]", "credentials-key", "hq-generated"] + - addsTo: + pack: codeql/java-all + extensible: neutralModel + data: + - ["javax.crypto.spec", "SecretKeySpec", "SecretKeySpec", "(byte[],String)", "summary", "df-manual"] + - ["javax.crypto.spec", "SecretKeySpec", "SecretKeySpec", "(byte[],int,int,String)", "summary", "df-manual"] diff --git a/java/ql/lib/qlpack.yml b/java/ql/lib/qlpack.yml index 15b4982d41e..83e354a218f 100644 --- a/java/ql/lib/qlpack.yml +++ b/java/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-all -version: 0.8.10-dev +version: 0.8.12-dev groups: java dbscheme: config/semmlecode.dbscheme extractor: java diff --git a/java/ql/lib/semmle/code/java/dataflow/DataFlow.qll b/java/ql/lib/semmle/code/java/dataflow/DataFlow.qll index 0f87cb7010c..66a7a847c33 100644 --- a/java/ql/lib/semmle/code/java/dataflow/DataFlow.qll +++ b/java/ql/lib/semmle/code/java/dataflow/DataFlow.qll @@ -8,6 +8,6 @@ import java module DataFlow { private import semmle.code.java.dataflow.internal.DataFlowImplSpecific private import codeql.dataflow.DataFlow - import DataFlowMake<JavaDataFlow> + import DataFlowMake<Location, JavaDataFlow> import semmle.code.java.dataflow.internal.DataFlowImpl1 } diff --git a/java/ql/lib/semmle/code/java/dataflow/TaintTracking.qll b/java/ql/lib/semmle/code/java/dataflow/TaintTracking.qll index ad7b88381a8..ed13837a312 100644 --- a/java/ql/lib/semmle/code/java/dataflow/TaintTracking.qll +++ b/java/ql/lib/semmle/code/java/dataflow/TaintTracking.qll @@ -12,6 +12,6 @@ module TaintTracking { private import semmle.code.java.dataflow.internal.DataFlowImplSpecific private import semmle.code.java.dataflow.internal.TaintTrackingImplSpecific private import codeql.dataflow.TaintTracking - import TaintFlowMake<JavaDataFlow, JavaTaintTracking> + import TaintFlowMake<Location, JavaDataFlow, JavaTaintTracking> import semmle.code.java.dataflow.internal.tainttracking1.TaintTrackingImpl } diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl.qll index 30746706e31..689e58daab8 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl.qll @@ -1,3 +1,4 @@ private import DataFlowImplSpecific private import codeql.dataflow.internal.DataFlowImpl -import MakeImpl<JavaDataFlow> +private import semmle.code.Location +import MakeImpl<Location, JavaDataFlow> diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl1.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl1.qll index 2bbc565daa6..9b92f961e6f 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl1.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl1.qll @@ -285,6 +285,8 @@ deprecated private module Config implements FullStateConfigSig { int fieldFlowBranchLimit() { result = min(any(Configuration config).fieldFlowBranchLimit()) } + int accessPathLimit() { result = 5 } + FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } predicate sourceGrouping(Node source, string sourceGroup) { diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl2.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl2.qll index 2bbc565daa6..9b92f961e6f 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl2.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl2.qll @@ -285,6 +285,8 @@ deprecated private module Config implements FullStateConfigSig { int fieldFlowBranchLimit() { result = min(any(Configuration config).fieldFlowBranchLimit()) } + int accessPathLimit() { result = 5 } + FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } predicate sourceGrouping(Node source, string sourceGroup) { diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl3.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl3.qll index 2bbc565daa6..9b92f961e6f 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl3.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl3.qll @@ -285,6 +285,8 @@ deprecated private module Config implements FullStateConfigSig { int fieldFlowBranchLimit() { result = min(any(Configuration config).fieldFlowBranchLimit()) } + int accessPathLimit() { result = 5 } + FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } predicate sourceGrouping(Node source, string sourceGroup) { diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl4.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl4.qll index 2bbc565daa6..9b92f961e6f 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl4.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl4.qll @@ -285,6 +285,8 @@ deprecated private module Config implements FullStateConfigSig { int fieldFlowBranchLimit() { result = min(any(Configuration config).fieldFlowBranchLimit()) } + int accessPathLimit() { result = 5 } + FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } predicate sourceGrouping(Node source, string sourceGroup) { diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl5.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl5.qll index 2bbc565daa6..9b92f961e6f 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl5.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl5.qll @@ -285,6 +285,8 @@ deprecated private module Config implements FullStateConfigSig { int fieldFlowBranchLimit() { result = min(any(Configuration config).fieldFlowBranchLimit()) } + int accessPathLimit() { result = 5 } + FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } predicate sourceGrouping(Node source, string sourceGroup) { diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl6.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl6.qll index 2bbc565daa6..9b92f961e6f 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl6.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl6.qll @@ -285,6 +285,8 @@ deprecated private module Config implements FullStateConfigSig { int fieldFlowBranchLimit() { result = min(any(Configuration config).fieldFlowBranchLimit()) } + int accessPathLimit() { result = 5 } + FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } predicate sourceGrouping(Node source, string sourceGroup) { diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImplCommon.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImplCommon.qll index 2118572f779..00f388dfdf3 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImplCommon.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImplCommon.qll @@ -1,3 +1,4 @@ private import DataFlowImplSpecific +private import semmle.code.Location private import codeql.dataflow.internal.DataFlowImplCommon -import MakeImplCommon<JavaDataFlow> +import MakeImplCommon<Location, JavaDataFlow> diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImplConsistency.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImplConsistency.qll index 1dfa24fffac..0272af417ac 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImplConsistency.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImplConsistency.qll @@ -8,10 +8,10 @@ private import DataFlowImplSpecific private import TaintTrackingImplSpecific private import codeql.dataflow.internal.DataFlowImplConsistency -private module Input implements InputSig<JavaDataFlow> { +private module Input implements InputSig<Location, JavaDataFlow> { predicate argHasPostUpdateExclude(JavaDataFlow::ArgumentNode n) { n.getType() instanceof ImmutableType or n instanceof Public::ImplicitVarargsArray } } -module Consistency = MakeConsistency<JavaDataFlow, JavaTaintTracking, Input>; +module Consistency = MakeConsistency<Location, JavaDataFlow, JavaTaintTracking, Input>; diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImplSpecific.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImplSpecific.qll index e269b56e3aa..84cdf19ed51 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImplSpecific.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImplSpecific.qll @@ -2,6 +2,7 @@ * Provides Java-specific definitions for use in the data flow library. */ +private import semmle.code.Location private import codeql.dataflow.DataFlow module Private { @@ -13,7 +14,7 @@ module Public { import DataFlowUtil } -module JavaDataFlow implements InputSig { +module JavaDataFlow implements InputSig<Location> { import Private import Public diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowNodes.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowNodes.qll index 8bcbf0635a3..bf867d21d3c 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowNodes.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowNodes.qll @@ -163,7 +163,7 @@ module Public { * For more information, see * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). */ - predicate hasLocationInfo( + deprecated predicate hasLocationInfo( string filepath, int startline, int startcolumn, int endline, int endcolumn ) { this.getLocation().hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/FlowSummaryImpl.qll b/java/ql/lib/semmle/code/java/dataflow/internal/FlowSummaryImpl.qll index d5364567d88..5c77ab2c09a 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/FlowSummaryImpl.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/FlowSummaryImpl.qll @@ -26,7 +26,7 @@ private string positionToString(int pos) { if pos = -1 then result = "this" else result = pos.toString() } -module Input implements InputSig<DataFlowImplSpecific::JavaDataFlow> { +module Input implements InputSig<Location, DataFlowImplSpecific::JavaDataFlow> { class SummarizedCallableBase = FlowSummary::SummarizedCallableBase; ArgumentPosition callbackSelfParameterPosition() { result = -1 } @@ -85,7 +85,7 @@ module Input implements InputSig<DataFlowImplSpecific::JavaDataFlow> { } } -private import Make<DataFlowImplSpecific::JavaDataFlow, Input> as Impl +private import Make<Location, DataFlowImplSpecific::JavaDataFlow, Input> as Impl private module TypesInput implements Impl::Private::TypesInputSig { DataFlowType getSyntheticGlobalType(Impl::Private::SyntheticGlobal sg) { @@ -186,18 +186,18 @@ private predicate correspondingKotlinParameterDefaultsArgSpec( } module SourceSinkInterpretationInput implements - Impl::Private::External::SourceSinkInterpretationInputSig<Location> + Impl::Private::External::SourceSinkInterpretationInputSig { private import java as J class Element = J::Element; - predicate sourceElement(Element e, string output, string kind) { + predicate sourceElement(Element e, string output, string kind, Public::Provenance provenance) { exists( string namespace, string type, boolean subtypes, string name, string signature, string ext, SourceOrSinkElement baseSource, string originalOutput | - sourceModel(namespace, type, subtypes, name, signature, ext, originalOutput, kind, _) and + sourceModel(namespace, type, subtypes, name, signature, ext, originalOutput, kind, provenance) and baseSource = interpretElement(namespace, type, subtypes, name, signature, ext) and ( e = baseSource and output = originalOutput @@ -207,12 +207,12 @@ module SourceSinkInterpretationInput implements ) } - predicate sinkElement(Element e, string input, string kind) { + predicate sinkElement(Element e, string input, string kind, Public::Provenance provenance) { exists( string namespace, string type, boolean subtypes, string name, string signature, string ext, SourceOrSinkElement baseSink, string originalInput | - sinkModel(namespace, type, subtypes, name, signature, ext, originalInput, kind, _) and + sinkModel(namespace, type, subtypes, name, signature, ext, originalInput, kind, provenance) and baseSink = interpretElement(namespace, type, subtypes, name, signature, ext) and ( e = baseSink and originalInput = input @@ -294,7 +294,7 @@ module Private { module External { import Impl::Private::External - import Impl::Private::External::SourceSinkInterpretation<Location, SourceSinkInterpretationInput> + import Impl::Private::External::SourceSinkInterpretation<SourceSinkInterpretationInput> /** * Holds if an external flow summary exists for `c` with input specification diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/TaintTrackingImplSpecific.qll b/java/ql/lib/semmle/code/java/dataflow/internal/TaintTrackingImplSpecific.qll index ba30b102a20..0f756200abe 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/TaintTrackingImplSpecific.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/TaintTrackingImplSpecific.qll @@ -4,7 +4,8 @@ private import codeql.dataflow.TaintTracking private import DataFlowImplSpecific +private import semmle.code.Location -module JavaTaintTracking implements InputSig<JavaDataFlow> { +module JavaTaintTracking implements InputSig<Location, JavaDataFlow> { import TaintTrackingUtil } diff --git a/java/ql/lib/semmle/code/java/security/RequestForgery.qll b/java/ql/lib/semmle/code/java/security/RequestForgery.qll index 7a72faeb5e4..a4e824c1cfe 100644 --- a/java/ql/lib/semmle/code/java/security/RequestForgery.qll +++ b/java/ql/lib/semmle/code/java/security/RequestForgery.qll @@ -8,6 +8,7 @@ import semmle.code.java.frameworks.JaxWS import semmle.code.java.frameworks.javase.Http import semmle.code.java.dataflow.DataFlow import semmle.code.java.frameworks.Properties +private import semmle.code.java.controlflow.Guards private import semmle.code.java.dataflow.StringPrefixes private import semmle.code.java.dataflow.ExternalFlow private import semmle.code.java.security.Sanitizers @@ -83,3 +84,76 @@ private class HostnameSanitizingPrefix extends InterestingPrefix { private class HostnameSantizer extends RequestForgerySanitizer { HostnameSantizer() { this.asExpr() = any(HostnameSanitizingPrefix hsp).getAnAppendedExpression() } } + +/** + * An argument to a call to a `.contains()` method that is a sanitizer for URL redirects. + * + * Matches any method call where the method is named `contains`. + */ +private predicate isContainsUrlSanitizer(Guard guard, Expr e, boolean branch) { + guard = + any(MethodCall method | + method.getMethod().getName() = "contains" and + e = method.getArgument(0) and + branch = true + ) +} + +/** + * An URL argument to a call to `.contains()` that is a sanitizer for URL redirects. + * + * This `contains` method is usually called on a list, but the sanitizer matches any call to a method + * called `contains`, so other methods with the same name will also be considered sanitizers. + */ +private class ContainsUrlSanitizer extends RequestForgerySanitizer { + ContainsUrlSanitizer() { + this = DataFlow::BarrierGuard<isContainsUrlSanitizer/3>::getABarrierNode() + } +} + +/** + * A check that the URL is relative, and therefore safe for URL redirects. + */ +private predicate isRelativeUrlSanitizer(Guard guard, Expr e, boolean branch) { + guard = + any(MethodCall call | + call.getMethod().hasQualifiedName("java.net", "URI", "isAbsolute") and + e = call.getQualifier() and + branch = false + ) +} + +/** + * A check that the URL is relative, and therefore safe for URL redirects. + */ +private class RelativeUrlSanitizer extends RequestForgerySanitizer { + RelativeUrlSanitizer() { + this = DataFlow::BarrierGuard<isRelativeUrlSanitizer/3>::getABarrierNode() + } +} + +/** + * A comparison on the host of a url, that is a sanitizer for URL redirects. + * E.g. `"example.org".equals(url.getHost())"` + */ +private predicate isHostComparisonSanitizer(Guard guard, Expr e, boolean branch) { + guard = + any(MethodCall equalsCall | + equalsCall.getMethod().getName() = "equals" and + branch = true and + exists(MethodCall hostCall | + hostCall = [equalsCall.getQualifier(), equalsCall.getArgument(0)] and + hostCall.getMethod().hasQualifiedName("java.net", "URI", "getHost") and + e = hostCall.getQualifier() + ) + ) +} + +/** + * A comparison on the `Host` property of a url, that is a sanitizer for URL redirects. + */ +private class HostComparisonSanitizer extends RequestForgerySanitizer { + HostComparisonSanitizer() { + this = DataFlow::BarrierGuard<isHostComparisonSanitizer/3>::getABarrierNode() + } +} diff --git a/java/ql/src/CHANGELOG.md b/java/ql/src/CHANGELOG.md index 5d835351453..92ca11112bc 100644 --- a/java/ql/src/CHANGELOG.md +++ b/java/ql/src/CHANGELOG.md @@ -1,3 +1,17 @@ +## 0.8.11 + +No user-facing changes. + +## 0.8.10 + +### New Queries + +* Added a new query `java/android/insecure-local-key-gen` for finding instances of keys generated for biometric authentication in an insecure way. + +### Minor Analysis Improvements + +* To reduce the number of false positives in the query "Insertion of sensitive information into log files" (`java/sensitive-log`), variables with names that contain "null" (case-insensitively) are no longer considered sources of sensitive information. + ## 0.8.9 ### New Queries diff --git a/java/ql/src/Metrics/Summaries/LinesOfCode.ql b/java/ql/src/Metrics/Summaries/LinesOfCode.ql index 769a3476ed2..e2e83b35631 100644 --- a/java/ql/src/Metrics/Summaries/LinesOfCode.ql +++ b/java/ql/src/Metrics/Summaries/LinesOfCode.ql @@ -7,6 +7,7 @@ * @kind metric * @tags summary * lines-of-code + * debug */ import java diff --git a/java/ql/src/Security/CWE/CWE-601/UrlRedirect.java b/java/ql/src/Security/CWE/CWE-601/UrlRedirect.java deleted file mode 100644 index dd915d9eca4..00000000000 --- a/java/ql/src/Security/CWE/CWE-601/UrlRedirect.java +++ /dev/null @@ -1,14 +0,0 @@ -public class UrlRedirect extends HttpServlet { - private static final String VALID_REDIRECT = "http://cwe.mitre.org/data/definitions/601.html"; - - protected void doGet(HttpServletRequest request, HttpServletResponse response) - throws ServletException, IOException { - // BAD: a request parameter is incorporated without validation into a URL redirect - response.sendRedirect(request.getParameter("target")); - - // GOOD: the request parameter is validated against a known fixed string - if (VALID_REDIRECT.equals(request.getParameter("target"))) { - response.sendRedirect(VALID_REDIRECT); - } - } -} diff --git a/java/ql/src/Security/CWE/CWE-601/UrlRedirect.qhelp b/java/ql/src/Security/CWE/CWE-601/UrlRedirect.qhelp index 1fdd2be75ac..4325ccf5430 100644 --- a/java/ql/src/Security/CWE/CWE-601/UrlRedirect.qhelp +++ b/java/ql/src/Security/CWE/CWE-601/UrlRedirect.qhelp @@ -16,21 +16,53 @@ controlled by the attacker.</p> <p>To guard against untrusted URL redirection, it is advisable to avoid putting user input directly into a redirect URL. Instead, maintain a list of authorized redirects on the server; then choose from that list based on the user input provided.</p> - +<p> +If this is not possible, then the user input should be validated in some other way, +for example, by verifying that the target URL is on the same host as the current page. +</p> </recommendation> -<example> -<p>The following example shows an HTTP request parameter being used directly in a URL redirect -without validating the input, which facilitates phishing attacks. -It also shows how to remedy the problem by validating the user input against a known fixed string. + +<example> +<p> +The following example shows an HTTP request parameter being used directly in a URL redirect +without validating the input, which facilitates phishing attacks: </p> -<sample src="UrlRedirect.java" /> +<sample src="examples/UrlRedirect.java"/> + +<p> +One way to remedy the problem is to validate the user input against a known fixed string +before doing the redirection: +</p> + +<sample src="examples/UrlRedirectGood.java"/> + +<p> +Alternatively, we can check that the target URL does not redirect to a different host +by checking that the URL is either relative or on a known good host: +</p> + +<sample src="examples/UrlRedirectGoodDomain.java"/> + +<p> +Note that as written, the above code will allow redirects to URLs on <code>example.com</code>, +which is harmless but perhaps not intended. You can substitute your own domain (if known) for +<code>example.com</code> to prevent this. +</p> </example> + <references> - +<li> +OWASP: +<a href="https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html"> +Unvalidated Redirects and Forwards Cheat Sheet</a>. +</li> +<li> +Microsoft Docs: <a href="https://docs.microsoft.com/en-us/aspnet/mvc/overview/security/preventing-open-redirection-attacks">Preventing Open Redirection Attacks (C#)</a>. +</li> </references> </qhelp> diff --git a/java/ql/src/Security/CWE/CWE-601/examples/UrlRedirect.java b/java/ql/src/Security/CWE/CWE-601/examples/UrlRedirect.java new file mode 100644 index 00000000000..78281dc93c3 --- /dev/null +++ b/java/ql/src/Security/CWE/CWE-601/examples/UrlRedirect.java @@ -0,0 +1,6 @@ +public class UrlRedirect extends HttpServlet { + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + // BAD: a request parameter is incorporated without validation into a URL redirect + response.sendRedirect(request.getParameter("target")); + } +} \ No newline at end of file diff --git a/java/ql/src/Security/CWE/CWE-601/examples/UrlRedirectGood.java b/java/ql/src/Security/CWE/CWE-601/examples/UrlRedirectGood.java new file mode 100644 index 00000000000..4a44a22a375 --- /dev/null +++ b/java/ql/src/Security/CWE/CWE-601/examples/UrlRedirectGood.java @@ -0,0 +1,16 @@ +public class UrlRedirect extends HttpServlet { + private static final List<String> VALID_REDIRECTS = Arrays.asList( + "http://cwe.mitre.org/data/definitions/601.html", + "http://cwe.mitre.org/data/definitions/79.html" + ); + + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + // GOOD: the request parameter is validated against a known list of strings + String target = request.getParameter("target"); + if (VALID_REDIRECTS.contains(target)) { + response.sendRedirect(target); + } else { + response.sendRedirect("/error.html"); + } + } +} \ No newline at end of file diff --git a/java/ql/src/Security/CWE/CWE-601/examples/UrlRedirectGoodDomain.java b/java/ql/src/Security/CWE/CWE-601/examples/UrlRedirectGoodDomain.java new file mode 100644 index 00000000000..e9010f30816 --- /dev/null +++ b/java/ql/src/Security/CWE/CWE-601/examples/UrlRedirectGoodDomain.java @@ -0,0 +1,18 @@ +public class UrlRedirect extends HttpServlet { + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + try { + String urlString = request.getParameter("page"); + URI url = new URI(urlString); + + if (!url.isAbsolute()) { + response.sendRedirect(url.toString()); // GOOD: The redirect is to a relative URL + } + + if ("example.org".equals(url.getHost())) { + response.sendRedirect(url.toString()); // GOOD: The redirect is to a known host + } + } catch (URISyntaxException e) { + // handle exception + } + } +} \ No newline at end of file diff --git a/java/ql/src/change-notes/2024-02-12-android-insecure-keys.md b/java/ql/src/change-notes/2024-02-12-android-insecure-keys.md deleted file mode 100644 index 1de07727796..00000000000 --- a/java/ql/src/change-notes/2024-02-12-android-insecure-keys.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: newQuery ---- -* Added a new query `java/android/insecure-local-key-gen` for finding instances of keys generated for biometric authentication in an insecure way. \ No newline at end of file diff --git a/java/ql/src/change-notes/2024-03-12-request-sanitizers.md b/java/ql/src/change-notes/2024-03-12-request-sanitizers.md new file mode 100644 index 00000000000..08229d6d7d0 --- /dev/null +++ b/java/ql/src/change-notes/2024-03-12-request-sanitizers.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* Added sanitizers for relative URLs, `List.contains()`, and checking the host of a URI to the `java/ssrf` and `java/unvalidated-url-redirection` queries. \ No newline at end of file diff --git a/java/ql/src/change-notes/2024-03-04-sensitive-log-remove-null-from-sources.md b/java/ql/src/change-notes/released/0.8.10.md similarity index 54% rename from java/ql/src/change-notes/2024-03-04-sensitive-log-remove-null-from-sources.md rename to java/ql/src/change-notes/released/0.8.10.md index 0bb4f18f2bd..c5d18ae3379 100644 --- a/java/ql/src/change-notes/2024-03-04-sensitive-log-remove-null-from-sources.md +++ b/java/ql/src/change-notes/released/0.8.10.md @@ -1,4 +1,9 @@ ---- -category: minorAnalysis ---- +## 0.8.10 + +### New Queries + +* Added a new query `java/android/insecure-local-key-gen` for finding instances of keys generated for biometric authentication in an insecure way. + +### Minor Analysis Improvements + * To reduce the number of false positives in the query "Insertion of sensitive information into log files" (`java/sensitive-log`), variables with names that contain "null" (case-insensitively) are no longer considered sources of sensitive information. diff --git a/java/ql/src/change-notes/released/0.8.11.md b/java/ql/src/change-notes/released/0.8.11.md new file mode 100644 index 00000000000..6f504c5c207 --- /dev/null +++ b/java/ql/src/change-notes/released/0.8.11.md @@ -0,0 +1,3 @@ +## 0.8.11 + +No user-facing changes. diff --git a/java/ql/src/codeql-pack.release.yml b/java/ql/src/codeql-pack.release.yml index 5290c29b7fe..7b42a9d984c 100644 --- a/java/ql/src/codeql-pack.release.yml +++ b/java/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.8.9 +lastReleaseVersion: 0.8.11 diff --git a/java/ql/src/qlpack.yml b/java/ql/src/qlpack.yml index 8f4de528e21..cf5953276b8 100644 --- a/java/ql/src/qlpack.yml +++ b/java/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-queries -version: 0.8.10-dev +version: 0.8.12-dev groups: - java - queries diff --git a/java/ql/src/utils/modeleditor/FrameworkModeEndpointsQuery.qll b/java/ql/src/utils/modeleditor/FrameworkModeEndpointsQuery.qll index d8af480c6d3..76c727a4bf5 100644 --- a/java/ql/src/utils/modeleditor/FrameworkModeEndpointsQuery.qll +++ b/java/ql/src/utils/modeleditor/FrameworkModeEndpointsQuery.qll @@ -8,7 +8,7 @@ private import ModelEditor * A class of effectively public callables from source code. */ class PublicEndpointFromSource extends Endpoint, ModelApi { - override predicate isSource() { SourceSinkInterpretationInput::sourceElement(this, _, _) } + override predicate isSource() { SourceSinkInterpretationInput::sourceElement(this, _, _, _) } - override predicate isSink() { SourceSinkInterpretationInput::sinkElement(this, _, _) } + override predicate isSink() { SourceSinkInterpretationInput::sinkElement(this, _, _, _) } } diff --git a/java/ql/src/utils/modelgenerator/internal/CaptureModels.qll b/java/ql/src/utils/modelgenerator/internal/CaptureModels.qll index 9c19e5b9cbb..0a22178d108 100644 --- a/java/ql/src/utils/modelgenerator/internal/CaptureModels.qll +++ b/java/ql/src/utils/modelgenerator/internal/CaptureModels.qll @@ -72,11 +72,11 @@ string captureQualifierFlow(TargetApiSpecific api) { result = ModelPrinting::asValueModel(api, qualifierString(), "ReturnValue") } -private int accessPathLimit() { result = 2 } +private int accessPathLimit0() { result = 2 } private newtype TTaintState = - TTaintRead(int n) { n in [0 .. accessPathLimit()] } or - TTaintStore(int n) { n in [1 .. accessPathLimit()] } + TTaintRead(int n) { n in [0 .. accessPathLimit0()] } or + TTaintStore(int n) { n in [1 .. accessPathLimit0()] } abstract private class TaintState extends TTaintState { abstract string toString(); diff --git a/java/ql/test-kotlin1/TestUtilities/InlineFlowTest.qll b/java/ql/test-kotlin1/TestUtilities/InlineFlowTest.qll index d815f302638..500e4783614 100644 --- a/java/ql/test-kotlin1/TestUtilities/InlineFlowTest.qll +++ b/java/ql/test-kotlin1/TestUtilities/InlineFlowTest.qll @@ -10,7 +10,7 @@ private import semmle.code.java.dataflow.internal.DataFlowImplSpecific private import semmle.code.java.dataflow.internal.TaintTrackingImplSpecific private import internal.InlineExpectationsTestImpl -private module FlowTestImpl implements InputSig<JavaDataFlow> { +private module FlowTestImpl implements InputSig<Location, JavaDataFlow> { predicate defaultSource(DataFlow::Node source) { source.asExpr().(MethodCall).getMethod().getName() = ["source", "taint"] } @@ -30,4 +30,4 @@ private module FlowTestImpl implements InputSig<JavaDataFlow> { } } -import InlineFlowTestMake<JavaDataFlow, JavaTaintTracking, Impl, FlowTestImpl> +import InlineFlowTestMake<Location, JavaDataFlow, JavaTaintTracking, Impl, FlowTestImpl> diff --git a/java/ql/test-kotlin1/library-tests/java-kotlin-collection-type-generic-methods/test.expected b/java/ql/test-kotlin1/library-tests/java-kotlin-collection-type-generic-methods/test.expected index 9ad4eeeadc8..7768a1d28bd 100644 --- a/java/ql/test-kotlin1/library-tests/java-kotlin-collection-type-generic-methods/test.expected +++ b/java/ql/test-kotlin1/library-tests/java-kotlin-collection-type-generic-methods/test.expected @@ -32,6 +32,14 @@ methodWithDuplicate | AbstractCollection<String> | removeAll | Collection<?> | | AbstractCollection<String> | retainAll | Collection<?> | | AbstractCollection<String> | toArray | T[] | +| AbstractCollection<T> | add | T | +| AbstractCollection<T> | addAll | Collection<? extends T> | +| AbstractCollection<T> | contains | Object | +| AbstractCollection<T> | containsAll | Collection<?> | +| AbstractCollection<T> | remove | Object | +| AbstractCollection<T> | removeAll | Collection<?> | +| AbstractCollection<T> | retainAll | Collection<?> | +| AbstractCollection<T> | toArray | T[] | | AbstractList | add | E | | AbstractList | add | int | | AbstractList | addAll | Collection<? extends E> | @@ -169,6 +177,17 @@ methodWithDuplicate | Collection<String> | retainAll | Collection<?> | | Collection<String> | toArray | IntFunction<T[]> | | Collection<String> | toArray | T[] | +| Collection<T> | add | T | +| Collection<T> | addAll | Collection<? extends T> | +| Collection<T> | contains | Object | +| Collection<T> | containsAll | Collection<?> | +| Collection<T> | equals | Object | +| Collection<T> | remove | Object | +| Collection<T> | removeAll | Collection<?> | +| Collection<T> | removeIf | Predicate<? super T> | +| Collection<T> | retainAll | Collection<?> | +| Collection<T> | toArray | IntFunction<T[]> | +| Collection<T> | toArray | T[] | | Collection<V> | add | V | | Collection<V> | addAll | Collection<? extends V> | | Collection<V> | contains | Object | diff --git a/java/ql/test-kotlin2/library-tests/exprs/exprs.expected b/java/ql/test-kotlin2/library-tests/exprs/exprs.expected index d23114e0758..63adc378aeb 100644 --- a/java/ql/test-kotlin2/library-tests/exprs/exprs.expected +++ b/java/ql/test-kotlin2/library-tests/exprs/exprs.expected @@ -9,18 +9,18 @@ | delegatedProperties.kt:0:0:0:0 | null | delegatedProperties.kt:82:9:82:54 | <get-delegatedToMember3> | NullLiteral | | delegatedProperties.kt:0:0:0:0 | null | delegatedProperties.kt:82:9:82:54 | <set-delegatedToMember3> | NullLiteral | | delegatedProperties.kt:1:9:1:12 | null | delegatedProperties.kt:18:5:40:5 | fn | NullLiteral | -| delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:42:27:42:47 | getVarResource0 | ThisAccess | -| delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:42:27:42:47 | setVarResource0 | ThisAccess | -| delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:66:33:66:50 | getDelegatedToMember1 | ThisAccess | -| delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:66:33:66:50 | setDelegatedToMember1 | ThisAccess | -| delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:67:33:67:53 | getDelegatedToMember2 | ThisAccess | -| delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:67:33:67:53 | setDelegatedToMember2 | ThisAccess | -| delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:69:36:69:56 | getDelegatedToExtMember1 | ThisAccess | -| delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:69:36:69:56 | setDelegatedToExtMember1 | ThisAccess | -| delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:70:36:70:59 | getDelegatedToExtMember2 | ThisAccess | -| delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:70:36:70:59 | setDelegatedToExtMember2 | ThisAccess | +| delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:42:30:42:47 | getVarResource0 | ThisAccess | +| delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:42:30:42:47 | setVarResource0 | ThisAccess | +| delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:66:36:66:50 | getDelegatedToMember1 | ThisAccess | +| delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:66:36:66:50 | setDelegatedToMember1 | ThisAccess | +| delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:67:36:67:53 | getDelegatedToMember2 | ThisAccess | +| delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:67:36:67:53 | setDelegatedToMember2 | ThisAccess | +| delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:69:39:69:56 | getDelegatedToExtMember1 | ThisAccess | +| delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:69:39:69:56 | setDelegatedToExtMember1 | ThisAccess | +| delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:70:39:70:59 | getDelegatedToExtMember2 | ThisAccess | +| delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:70:39:70:59 | setDelegatedToExtMember2 | ThisAccess | | delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:72:36:72:56 | getDelegatedToBaseClass1 | ThisAccess | -| delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:73:36:73:56 | getDelegatedToBaseClass2 | ThisAccess | +| delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:73:39:73:56 | getDelegatedToBaseClass2 | ThisAccess | | delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:75:39:75:78 | getDelegatedToAnotherClass1 | ThisAccess | | delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:77:34:77:49 | getDelegatedToTopLevel | ThisAccess | | delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:77:34:77:49 | setDelegatedToTopLevel | ThisAccess | @@ -28,8 +28,6 @@ | delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:87:31:87:46 | getExtDelegated | ExtensionReceiverAccess | | delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:87:31:87:46 | setExtDelegated | ExtensionReceiverAccess | | delegatedProperties.kt:5:5:12:5 | Unit | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:6:24:9:9 | ...::... | delegatedProperties.kt:6:24:9:9 | <get-prop1> | PropertyRefExpr | -| delegatedProperties.kt:6:24:9:9 | <get-prop1>(...) | delegatedProperties.kt:6:24:9:9 | get | MethodCall | | delegatedProperties.kt:6:24:9:9 | Integer | delegatedProperties.kt:6:24:9:9 | <get-prop1> | TypeAccess | | delegatedProperties.kt:6:24:9:9 | Integer | delegatedProperties.kt:6:24:9:9 | <get-prop1> | TypeAccess | | delegatedProperties.kt:6:24:9:9 | KProperty0<Integer> | delegatedProperties.kt:6:24:9:9 | <get-prop1> | TypeAccess | @@ -42,6 +40,8 @@ | delegatedProperties.kt:6:24:9:9 | prop1$delegate | delegatedProperties.kt:5:5:12:5 | fn | LocalVariableDeclExpr | | delegatedProperties.kt:6:24:9:9 | prop1$delegate | delegatedProperties.kt:6:24:9:9 | <get-prop1> | VarAccess | | delegatedProperties.kt:6:24:9:9 | this | delegatedProperties.kt:6:24:9:9 | invoke | ThisAccess | +| delegatedProperties.kt:6:27:9:9 | ...::... | delegatedProperties.kt:6:24:9:9 | <get-prop1> | PropertyRefExpr | +| delegatedProperties.kt:6:27:9:9 | <get-prop1>(...) | delegatedProperties.kt:6:27:9:9 | get | MethodCall | | delegatedProperties.kt:6:27:9:9 | Integer | delegatedProperties.kt:5:5:12:5 | fn | TypeAccess | | delegatedProperties.kt:6:27:9:9 | LazyKt | delegatedProperties.kt:5:5:12:5 | fn | TypeAccess | | delegatedProperties.kt:6:27:9:9 | lazy(...) | delegatedProperties.kt:5:5:12:5 | fn | MethodCall | @@ -68,41 +68,41 @@ | delegatedProperties.kt:18:12:18:33 | Map<String,? extends Object> | file://:0:0:0:0 | <none> | TypeAccess | | delegatedProperties.kt:18:12:18:33 | Object | file://:0:0:0:0 | <none> | TypeAccess | | delegatedProperties.kt:18:12:18:33 | String | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:19:31:19:51 | ...::... | delegatedProperties.kt:19:31:19:51 | <get-varResource1> | PropertyRefExpr | -| delegatedProperties.kt:19:31:19:51 | ...::... | delegatedProperties.kt:19:31:19:51 | <set-varResource1> | PropertyRefExpr | -| delegatedProperties.kt:19:31:19:51 | <get-varResource1>(...) | delegatedProperties.kt:19:31:19:51 | get | MethodCall | -| delegatedProperties.kt:19:31:19:51 | <get-varResource1>(...) | delegatedProperties.kt:19:31:19:51 | get | MethodCall | -| delegatedProperties.kt:19:31:19:51 | <set-varResource1>(...) | delegatedProperties.kt:19:31:19:51 | set | MethodCall | -| delegatedProperties.kt:19:31:19:51 | <set-varResource1>(...) | delegatedProperties.kt:19:31:19:51 | set | MethodCall | -| delegatedProperties.kt:19:31:19:51 | Integer | delegatedProperties.kt:19:31:19:51 | <get-varResource1> | TypeAccess | -| delegatedProperties.kt:19:31:19:51 | Integer | delegatedProperties.kt:19:31:19:51 | <set-varResource1> | TypeAccess | -| delegatedProperties.kt:19:31:19:51 | KMutableProperty0<Integer> | delegatedProperties.kt:19:31:19:51 | <get-varResource1> | TypeAccess | -| delegatedProperties.kt:19:31:19:51 | KMutableProperty0<Integer> | delegatedProperties.kt:19:31:19:51 | <set-varResource1> | TypeAccess | -| delegatedProperties.kt:19:31:19:51 | Object | delegatedProperties.kt:19:31:19:51 | get | TypeAccess | -| delegatedProperties.kt:19:31:19:51 | Object | delegatedProperties.kt:19:31:19:51 | get | TypeAccess | -| delegatedProperties.kt:19:31:19:51 | Object | delegatedProperties.kt:19:31:19:51 | set | TypeAccess | -| delegatedProperties.kt:19:31:19:51 | Object | delegatedProperties.kt:19:31:19:51 | set | TypeAccess | -| delegatedProperties.kt:19:31:19:51 | Unit | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:19:31:19:51 | a0 | delegatedProperties.kt:19:31:19:51 | set | VarAccess | -| delegatedProperties.kt:19:31:19:51 | a0 | delegatedProperties.kt:19:31:19:51 | set | VarAccess | -| delegatedProperties.kt:19:31:19:51 | get(...) | delegatedProperties.kt:19:31:19:51 | invoke | MethodCall | -| delegatedProperties.kt:19:31:19:51 | get(...) | delegatedProperties.kt:19:31:19:51 | invoke | MethodCall | -| delegatedProperties.kt:19:31:19:51 | getValue(...) | delegatedProperties.kt:19:31:19:51 | <get-varResource1> | MethodCall | -| delegatedProperties.kt:19:31:19:51 | int | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:19:31:19:51 | int | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:19:31:19:51 | new (...) | delegatedProperties.kt:19:31:19:51 | get | ClassInstanceExpr | -| delegatedProperties.kt:19:31:19:51 | new (...) | delegatedProperties.kt:19:31:19:51 | get | ClassInstanceExpr | -| delegatedProperties.kt:19:31:19:51 | new (...) | delegatedProperties.kt:19:31:19:51 | set | ClassInstanceExpr | -| delegatedProperties.kt:19:31:19:51 | new (...) | delegatedProperties.kt:19:31:19:51 | set | ClassInstanceExpr | -| delegatedProperties.kt:19:31:19:51 | setValue(...) | delegatedProperties.kt:19:31:19:51 | <set-varResource1> | MethodCall | -| delegatedProperties.kt:19:31:19:51 | this | delegatedProperties.kt:19:31:19:51 | invoke | ThisAccess | -| delegatedProperties.kt:19:31:19:51 | this | delegatedProperties.kt:19:31:19:51 | invoke | ThisAccess | -| delegatedProperties.kt:19:31:19:51 | varResource1$delegate | delegatedProperties.kt:18:5:40:5 | fn | LocalVariableDeclExpr | -| delegatedProperties.kt:19:31:19:51 | varResource1$delegate | delegatedProperties.kt:19:31:19:51 | <get-varResource1> | VarAccess | -| delegatedProperties.kt:19:31:19:51 | varResource1$delegate | delegatedProperties.kt:19:31:19:51 | <set-varResource1> | VarAccess | +| delegatedProperties.kt:19:34:19:51 | ...::... | delegatedProperties.kt:19:9:19:51 | <get-varResource1> | PropertyRefExpr | +| delegatedProperties.kt:19:34:19:51 | ...::... | delegatedProperties.kt:19:9:19:51 | <set-varResource1> | PropertyRefExpr | +| delegatedProperties.kt:19:34:19:51 | <get-varResource1>(...) | delegatedProperties.kt:19:34:19:51 | get | MethodCall | +| delegatedProperties.kt:19:34:19:51 | <get-varResource1>(...) | delegatedProperties.kt:19:34:19:51 | get | MethodCall | +| delegatedProperties.kt:19:34:19:51 | <set-varResource1>(...) | delegatedProperties.kt:19:34:19:51 | set | MethodCall | +| delegatedProperties.kt:19:34:19:51 | <set-varResource1>(...) | delegatedProperties.kt:19:34:19:51 | set | MethodCall | +| delegatedProperties.kt:19:34:19:51 | Integer | delegatedProperties.kt:19:9:19:51 | <get-varResource1> | TypeAccess | +| delegatedProperties.kt:19:34:19:51 | Integer | delegatedProperties.kt:19:9:19:51 | <set-varResource1> | TypeAccess | +| delegatedProperties.kt:19:34:19:51 | KMutableProperty0<Integer> | delegatedProperties.kt:19:9:19:51 | <get-varResource1> | TypeAccess | +| delegatedProperties.kt:19:34:19:51 | KMutableProperty0<Integer> | delegatedProperties.kt:19:9:19:51 | <set-varResource1> | TypeAccess | +| delegatedProperties.kt:19:34:19:51 | Object | delegatedProperties.kt:19:34:19:51 | get | TypeAccess | +| delegatedProperties.kt:19:34:19:51 | Object | delegatedProperties.kt:19:34:19:51 | get | TypeAccess | +| delegatedProperties.kt:19:34:19:51 | Object | delegatedProperties.kt:19:34:19:51 | set | TypeAccess | +| delegatedProperties.kt:19:34:19:51 | Object | delegatedProperties.kt:19:34:19:51 | set | TypeAccess | +| delegatedProperties.kt:19:34:19:51 | Unit | file://:0:0:0:0 | <none> | TypeAccess | +| delegatedProperties.kt:19:34:19:51 | a0 | delegatedProperties.kt:19:34:19:51 | set | VarAccess | +| delegatedProperties.kt:19:34:19:51 | a0 | delegatedProperties.kt:19:34:19:51 | set | VarAccess | +| delegatedProperties.kt:19:34:19:51 | get(...) | delegatedProperties.kt:19:34:19:51 | invoke | MethodCall | +| delegatedProperties.kt:19:34:19:51 | get(...) | delegatedProperties.kt:19:34:19:51 | invoke | MethodCall | +| delegatedProperties.kt:19:34:19:51 | getValue(...) | delegatedProperties.kt:19:9:19:51 | <get-varResource1> | MethodCall | +| delegatedProperties.kt:19:34:19:51 | int | file://:0:0:0:0 | <none> | TypeAccess | +| delegatedProperties.kt:19:34:19:51 | int | file://:0:0:0:0 | <none> | TypeAccess | +| delegatedProperties.kt:19:34:19:51 | new (...) | delegatedProperties.kt:19:34:19:51 | get | ClassInstanceExpr | +| delegatedProperties.kt:19:34:19:51 | new (...) | delegatedProperties.kt:19:34:19:51 | get | ClassInstanceExpr | +| delegatedProperties.kt:19:34:19:51 | new (...) | delegatedProperties.kt:19:34:19:51 | set | ClassInstanceExpr | +| delegatedProperties.kt:19:34:19:51 | new (...) | delegatedProperties.kt:19:34:19:51 | set | ClassInstanceExpr | +| delegatedProperties.kt:19:34:19:51 | setValue(...) | delegatedProperties.kt:19:9:19:51 | <set-varResource1> | MethodCall | +| delegatedProperties.kt:19:34:19:51 | this | delegatedProperties.kt:19:34:19:51 | invoke | ThisAccess | +| delegatedProperties.kt:19:34:19:51 | this | delegatedProperties.kt:19:34:19:51 | invoke | ThisAccess | +| delegatedProperties.kt:19:34:19:51 | varResource1$delegate | delegatedProperties.kt:18:5:40:5 | fn | LocalVariableDeclExpr | +| delegatedProperties.kt:19:34:19:51 | varResource1$delegate | delegatedProperties.kt:19:9:19:51 | <get-varResource1> | VarAccess | +| delegatedProperties.kt:19:34:19:51 | varResource1$delegate | delegatedProperties.kt:19:9:19:51 | <set-varResource1> | VarAccess | | delegatedProperties.kt:19:34:19:51 | ResourceDelegate | delegatedProperties.kt:18:5:40:5 | fn | TypeAccess | | delegatedProperties.kt:19:34:19:51 | new ResourceDelegate(...) | delegatedProperties.kt:18:5:40:5 | fn | ClassInstanceExpr | -| delegatedProperties.kt:19:34:19:51 | value | delegatedProperties.kt:19:31:19:51 | <set-varResource1> | VarAccess | +| delegatedProperties.kt:19:34:19:51 | value | delegatedProperties.kt:19:34:19:51 | <set-varResource1> | VarAccess | | delegatedProperties.kt:20:9:20:29 | ConsoleKt | delegatedProperties.kt:18:5:40:5 | fn | TypeAccess | | delegatedProperties.kt:20:9:20:29 | println(...) | delegatedProperties.kt:18:5:40:5 | fn | MethodCall | | delegatedProperties.kt:20:17:20:28 | <get-varResource1>(...) | delegatedProperties.kt:18:5:40:5 | fn | MethodCall | @@ -112,21 +112,21 @@ | delegatedProperties.kt:21:9:21:24 | Object | delegatedProperties.kt:18:5:40:5 | fn | TypeAccess | | delegatedProperties.kt:21:9:21:24 | new (...) | delegatedProperties.kt:18:5:40:5 | fn | ClassInstanceExpr | | delegatedProperties.kt:21:24:21:24 | 2 | delegatedProperties.kt:18:5:40:5 | fn | IntegerLiteral | -| delegatedProperties.kt:23:26:23:31 | ...::... | delegatedProperties.kt:23:26:23:31 | <get-name> | PropertyRefExpr | -| delegatedProperties.kt:23:26:23:31 | <get-name>(...) | delegatedProperties.kt:23:26:23:31 | get | MethodCall | -| delegatedProperties.kt:23:26:23:31 | KProperty0<String> | delegatedProperties.kt:23:26:23:31 | <get-name> | TypeAccess | -| delegatedProperties.kt:23:26:23:31 | MapAccessorsKt | delegatedProperties.kt:23:26:23:31 | <get-name> | TypeAccess | -| delegatedProperties.kt:23:26:23:31 | Object | delegatedProperties.kt:23:26:23:31 | <get-name> | TypeAccess | -| delegatedProperties.kt:23:26:23:31 | Object | delegatedProperties.kt:23:26:23:31 | get | TypeAccess | -| delegatedProperties.kt:23:26:23:31 | String | delegatedProperties.kt:23:26:23:31 | <get-name> | TypeAccess | -| delegatedProperties.kt:23:26:23:31 | String | delegatedProperties.kt:23:26:23:31 | <get-name> | TypeAccess | -| delegatedProperties.kt:23:26:23:31 | String | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:23:26:23:31 | get(...) | delegatedProperties.kt:23:26:23:31 | invoke | MethodCall | -| delegatedProperties.kt:23:26:23:31 | getValue(...) | delegatedProperties.kt:23:26:23:31 | <get-name> | MethodCall | -| delegatedProperties.kt:23:26:23:31 | name$delegate | delegatedProperties.kt:18:5:40:5 | fn | LocalVariableDeclExpr | -| delegatedProperties.kt:23:26:23:31 | name$delegate | delegatedProperties.kt:23:26:23:31 | <get-name> | VarAccess | -| delegatedProperties.kt:23:26:23:31 | new (...) | delegatedProperties.kt:23:26:23:31 | get | ClassInstanceExpr | -| delegatedProperties.kt:23:26:23:31 | this | delegatedProperties.kt:23:26:23:31 | invoke | ThisAccess | +| delegatedProperties.kt:23:29:23:31 | ...::... | delegatedProperties.kt:23:9:23:31 | <get-name> | PropertyRefExpr | +| delegatedProperties.kt:23:29:23:31 | <get-name>(...) | delegatedProperties.kt:23:29:23:31 | get | MethodCall | +| delegatedProperties.kt:23:29:23:31 | KProperty0<String> | delegatedProperties.kt:23:9:23:31 | <get-name> | TypeAccess | +| delegatedProperties.kt:23:29:23:31 | MapAccessorsKt | delegatedProperties.kt:23:9:23:31 | <get-name> | TypeAccess | +| delegatedProperties.kt:23:29:23:31 | Object | delegatedProperties.kt:23:9:23:31 | <get-name> | TypeAccess | +| delegatedProperties.kt:23:29:23:31 | Object | delegatedProperties.kt:23:29:23:31 | get | TypeAccess | +| delegatedProperties.kt:23:29:23:31 | String | delegatedProperties.kt:23:9:23:31 | <get-name> | TypeAccess | +| delegatedProperties.kt:23:29:23:31 | String | delegatedProperties.kt:23:9:23:31 | <get-name> | TypeAccess | +| delegatedProperties.kt:23:29:23:31 | String | file://:0:0:0:0 | <none> | TypeAccess | +| delegatedProperties.kt:23:29:23:31 | get(...) | delegatedProperties.kt:23:9:23:31 | invoke | MethodCall | +| delegatedProperties.kt:23:29:23:31 | getValue(...) | delegatedProperties.kt:23:29:23:31 | <get-name> | MethodCall | +| delegatedProperties.kt:23:29:23:31 | name$delegate | delegatedProperties.kt:18:5:40:5 | fn | LocalVariableDeclExpr | +| delegatedProperties.kt:23:29:23:31 | name$delegate | delegatedProperties.kt:23:9:23:31 | <get-name> | VarAccess | +| delegatedProperties.kt:23:29:23:31 | new (...) | delegatedProperties.kt:23:29:23:31 | get | ClassInstanceExpr | +| delegatedProperties.kt:23:29:23:31 | this | delegatedProperties.kt:23:29:23:31 | invoke | ThisAccess | | delegatedProperties.kt:23:29:23:31 | map | delegatedProperties.kt:18:5:40:5 | fn | VarAccess | | delegatedProperties.kt:25:9:31:9 | Integer | file://:0:0:0:0 | <none> | TypeAccess | | delegatedProperties.kt:25:9:31:9 | Object | file://:0:0:0:0 | <none> | TypeAccess | @@ -158,60 +158,60 @@ | delegatedProperties.kt:28:50:28:71 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess | | delegatedProperties.kt:28:50:28:71 | KProperty<?> | file://:0:0:0:0 | <none> | TypeAccess | | delegatedProperties.kt:28:74:28:83 | int | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:29:17:29:24 | setCurValue(...) | delegatedProperties.kt:28:22:30:13 | setValue | MethodCall | -| delegatedProperties.kt:29:17:29:24 | this | delegatedProperties.kt:28:22:30:13 | setValue | ThisAccess | -| delegatedProperties.kt:29:28:29:32 | value | delegatedProperties.kt:28:22:30:13 | setValue | VarAccess | -| delegatedProperties.kt:33:27:33:47 | ...::... | delegatedProperties.kt:33:27:33:47 | <get-readOnly> | PropertyRefExpr | -| delegatedProperties.kt:33:27:33:47 | <get-readOnly>(...) | delegatedProperties.kt:33:27:33:47 | get | MethodCall | -| delegatedProperties.kt:33:27:33:47 | Integer | delegatedProperties.kt:33:27:33:47 | <get-readOnly> | TypeAccess | -| delegatedProperties.kt:33:27:33:47 | KProperty0<Integer> | delegatedProperties.kt:33:27:33:47 | <get-readOnly> | TypeAccess | -| delegatedProperties.kt:33:27:33:47 | Object | delegatedProperties.kt:33:27:33:47 | get | TypeAccess | -| delegatedProperties.kt:33:27:33:47 | get(...) | delegatedProperties.kt:33:27:33:47 | invoke | MethodCall | -| delegatedProperties.kt:33:27:33:47 | getValue(...) | delegatedProperties.kt:33:27:33:47 | <get-readOnly> | MethodCall | -| delegatedProperties.kt:33:27:33:47 | int | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:33:27:33:47 | new (...) | delegatedProperties.kt:33:27:33:47 | get | ClassInstanceExpr | -| delegatedProperties.kt:33:27:33:47 | readOnly$delegate | delegatedProperties.kt:18:5:40:5 | fn | LocalVariableDeclExpr | -| delegatedProperties.kt:33:27:33:47 | readOnly$delegate | delegatedProperties.kt:33:27:33:47 | <get-readOnly> | VarAccess | -| delegatedProperties.kt:33:27:33:47 | this | delegatedProperties.kt:33:27:33:47 | invoke | ThisAccess | +| delegatedProperties.kt:29:17:29:24 | setCurValue(...) | delegatedProperties.kt:28:13:30:13 | setValue | MethodCall | +| delegatedProperties.kt:29:17:29:24 | this | delegatedProperties.kt:28:13:30:13 | setValue | ThisAccess | +| delegatedProperties.kt:29:28:29:32 | value | delegatedProperties.kt:28:13:30:13 | setValue | VarAccess | +| delegatedProperties.kt:33:30:33:47 | ...::... | delegatedProperties.kt:33:9:33:47 | <get-readOnly> | PropertyRefExpr | +| delegatedProperties.kt:33:30:33:47 | <get-readOnly>(...) | delegatedProperties.kt:33:30:33:47 | get | MethodCall | +| delegatedProperties.kt:33:30:33:47 | Integer | delegatedProperties.kt:33:9:33:47 | <get-readOnly> | TypeAccess | +| delegatedProperties.kt:33:30:33:47 | KProperty0<Integer> | delegatedProperties.kt:33:9:33:47 | <get-readOnly> | TypeAccess | +| delegatedProperties.kt:33:30:33:47 | Object | delegatedProperties.kt:33:30:33:47 | get | TypeAccess | +| delegatedProperties.kt:33:30:33:47 | get(...) | delegatedProperties.kt:33:30:33:47 | invoke | MethodCall | +| delegatedProperties.kt:33:30:33:47 | getValue(...) | delegatedProperties.kt:33:30:33:47 | <get-readOnly> | MethodCall | +| delegatedProperties.kt:33:30:33:47 | int | file://:0:0:0:0 | <none> | TypeAccess | +| delegatedProperties.kt:33:30:33:47 | new (...) | delegatedProperties.kt:33:30:33:47 | get | ClassInstanceExpr | +| delegatedProperties.kt:33:30:33:47 | readOnly$delegate | delegatedProperties.kt:18:5:40:5 | fn | LocalVariableDeclExpr | +| delegatedProperties.kt:33:30:33:47 | readOnly$delegate | delegatedProperties.kt:33:30:33:47 | <get-readOnly> | VarAccess | +| delegatedProperties.kt:33:30:33:47 | this | delegatedProperties.kt:33:30:33:47 | invoke | ThisAccess | | delegatedProperties.kt:33:30:33:47 | Object | delegatedProperties.kt:18:5:40:5 | fn | TypeAccess | | delegatedProperties.kt:33:30:33:47 | new (...) | delegatedProperties.kt:18:5:40:5 | fn | ClassInstanceExpr | | delegatedProperties.kt:33:30:33:47 | resourceDelegate(...) | delegatedProperties.kt:18:5:40:5 | fn | MethodCall | -| delegatedProperties.kt:34:28:34:48 | ...::... | delegatedProperties.kt:34:28:34:48 | <get-readWrite> | PropertyRefExpr | -| delegatedProperties.kt:34:28:34:48 | ...::... | delegatedProperties.kt:34:28:34:48 | <set-readWrite> | PropertyRefExpr | -| delegatedProperties.kt:34:28:34:48 | <get-readWrite>(...) | delegatedProperties.kt:34:28:34:48 | get | MethodCall | -| delegatedProperties.kt:34:28:34:48 | <get-readWrite>(...) | delegatedProperties.kt:34:28:34:48 | get | MethodCall | -| delegatedProperties.kt:34:28:34:48 | <set-readWrite>(...) | delegatedProperties.kt:34:28:34:48 | set | MethodCall | -| delegatedProperties.kt:34:28:34:48 | <set-readWrite>(...) | delegatedProperties.kt:34:28:34:48 | set | MethodCall | -| delegatedProperties.kt:34:28:34:48 | Integer | delegatedProperties.kt:34:28:34:48 | <get-readWrite> | TypeAccess | -| delegatedProperties.kt:34:28:34:48 | Integer | delegatedProperties.kt:34:28:34:48 | <set-readWrite> | TypeAccess | -| delegatedProperties.kt:34:28:34:48 | KMutableProperty0<Integer> | delegatedProperties.kt:34:28:34:48 | <get-readWrite> | TypeAccess | -| delegatedProperties.kt:34:28:34:48 | KMutableProperty0<Integer> | delegatedProperties.kt:34:28:34:48 | <set-readWrite> | TypeAccess | -| delegatedProperties.kt:34:28:34:48 | Object | delegatedProperties.kt:34:28:34:48 | get | TypeAccess | -| delegatedProperties.kt:34:28:34:48 | Object | delegatedProperties.kt:34:28:34:48 | get | TypeAccess | -| delegatedProperties.kt:34:28:34:48 | Object | delegatedProperties.kt:34:28:34:48 | set | TypeAccess | -| delegatedProperties.kt:34:28:34:48 | Object | delegatedProperties.kt:34:28:34:48 | set | TypeAccess | -| delegatedProperties.kt:34:28:34:48 | Unit | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:34:28:34:48 | a0 | delegatedProperties.kt:34:28:34:48 | set | VarAccess | -| delegatedProperties.kt:34:28:34:48 | a0 | delegatedProperties.kt:34:28:34:48 | set | VarAccess | -| delegatedProperties.kt:34:28:34:48 | get(...) | delegatedProperties.kt:34:28:34:48 | invoke | MethodCall | -| delegatedProperties.kt:34:28:34:48 | get(...) | delegatedProperties.kt:34:28:34:48 | invoke | MethodCall | -| delegatedProperties.kt:34:28:34:48 | getValue(...) | delegatedProperties.kt:34:28:34:48 | <get-readWrite> | MethodCall | -| delegatedProperties.kt:34:28:34:48 | int | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:34:28:34:48 | int | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:34:28:34:48 | new (...) | delegatedProperties.kt:34:28:34:48 | get | ClassInstanceExpr | -| delegatedProperties.kt:34:28:34:48 | new (...) | delegatedProperties.kt:34:28:34:48 | get | ClassInstanceExpr | -| delegatedProperties.kt:34:28:34:48 | new (...) | delegatedProperties.kt:34:28:34:48 | set | ClassInstanceExpr | -| delegatedProperties.kt:34:28:34:48 | new (...) | delegatedProperties.kt:34:28:34:48 | set | ClassInstanceExpr | -| delegatedProperties.kt:34:28:34:48 | readWrite$delegate | delegatedProperties.kt:18:5:40:5 | fn | LocalVariableDeclExpr | -| delegatedProperties.kt:34:28:34:48 | readWrite$delegate | delegatedProperties.kt:34:28:34:48 | <get-readWrite> | VarAccess | -| delegatedProperties.kt:34:28:34:48 | readWrite$delegate | delegatedProperties.kt:34:28:34:48 | <set-readWrite> | VarAccess | -| delegatedProperties.kt:34:28:34:48 | setValue(...) | delegatedProperties.kt:34:28:34:48 | <set-readWrite> | MethodCall | -| delegatedProperties.kt:34:28:34:48 | this | delegatedProperties.kt:34:28:34:48 | invoke | ThisAccess | -| delegatedProperties.kt:34:28:34:48 | this | delegatedProperties.kt:34:28:34:48 | invoke | ThisAccess | +| delegatedProperties.kt:34:31:34:48 | ...::... | delegatedProperties.kt:34:9:34:48 | <get-readWrite> | PropertyRefExpr | +| delegatedProperties.kt:34:31:34:48 | ...::... | delegatedProperties.kt:34:9:34:48 | <set-readWrite> | PropertyRefExpr | +| delegatedProperties.kt:34:31:34:48 | <get-readWrite>(...) | delegatedProperties.kt:34:31:34:48 | get | MethodCall | +| delegatedProperties.kt:34:31:34:48 | <get-readWrite>(...) | delegatedProperties.kt:34:31:34:48 | get | MethodCall | +| delegatedProperties.kt:34:31:34:48 | <set-readWrite>(...) | delegatedProperties.kt:34:31:34:48 | set | MethodCall | +| delegatedProperties.kt:34:31:34:48 | <set-readWrite>(...) | delegatedProperties.kt:34:31:34:48 | set | MethodCall | +| delegatedProperties.kt:34:31:34:48 | Integer | delegatedProperties.kt:34:9:34:48 | <get-readWrite> | TypeAccess | +| delegatedProperties.kt:34:31:34:48 | Integer | delegatedProperties.kt:34:9:34:48 | <set-readWrite> | TypeAccess | +| delegatedProperties.kt:34:31:34:48 | KMutableProperty0<Integer> | delegatedProperties.kt:34:9:34:48 | <get-readWrite> | TypeAccess | +| delegatedProperties.kt:34:31:34:48 | KMutableProperty0<Integer> | delegatedProperties.kt:34:9:34:48 | <set-readWrite> | TypeAccess | +| delegatedProperties.kt:34:31:34:48 | Object | delegatedProperties.kt:34:31:34:48 | get | TypeAccess | +| delegatedProperties.kt:34:31:34:48 | Object | delegatedProperties.kt:34:31:34:48 | get | TypeAccess | +| delegatedProperties.kt:34:31:34:48 | Object | delegatedProperties.kt:34:31:34:48 | set | TypeAccess | +| delegatedProperties.kt:34:31:34:48 | Object | delegatedProperties.kt:34:31:34:48 | set | TypeAccess | +| delegatedProperties.kt:34:31:34:48 | Unit | file://:0:0:0:0 | <none> | TypeAccess | +| delegatedProperties.kt:34:31:34:48 | a0 | delegatedProperties.kt:34:31:34:48 | set | VarAccess | +| delegatedProperties.kt:34:31:34:48 | a0 | delegatedProperties.kt:34:31:34:48 | set | VarAccess | +| delegatedProperties.kt:34:31:34:48 | get(...) | delegatedProperties.kt:34:31:34:48 | invoke | MethodCall | +| delegatedProperties.kt:34:31:34:48 | get(...) | delegatedProperties.kt:34:31:34:48 | invoke | MethodCall | +| delegatedProperties.kt:34:31:34:48 | getValue(...) | delegatedProperties.kt:34:9:34:48 | <get-readWrite> | MethodCall | +| delegatedProperties.kt:34:31:34:48 | int | file://:0:0:0:0 | <none> | TypeAccess | +| delegatedProperties.kt:34:31:34:48 | int | file://:0:0:0:0 | <none> | TypeAccess | +| delegatedProperties.kt:34:31:34:48 | new (...) | delegatedProperties.kt:34:31:34:48 | get | ClassInstanceExpr | +| delegatedProperties.kt:34:31:34:48 | new (...) | delegatedProperties.kt:34:31:34:48 | get | ClassInstanceExpr | +| delegatedProperties.kt:34:31:34:48 | new (...) | delegatedProperties.kt:34:31:34:48 | set | ClassInstanceExpr | +| delegatedProperties.kt:34:31:34:48 | new (...) | delegatedProperties.kt:34:31:34:48 | set | ClassInstanceExpr | +| delegatedProperties.kt:34:31:34:48 | readWrite$delegate | delegatedProperties.kt:18:5:40:5 | fn | LocalVariableDeclExpr | +| delegatedProperties.kt:34:31:34:48 | readWrite$delegate | delegatedProperties.kt:34:31:34:48 | <get-readWrite> | VarAccess | +| delegatedProperties.kt:34:31:34:48 | readWrite$delegate | delegatedProperties.kt:34:31:34:48 | <set-readWrite> | VarAccess | +| delegatedProperties.kt:34:31:34:48 | setValue(...) | delegatedProperties.kt:34:9:34:48 | <set-readWrite> | MethodCall | +| delegatedProperties.kt:34:31:34:48 | this | delegatedProperties.kt:34:31:34:48 | invoke | ThisAccess | +| delegatedProperties.kt:34:31:34:48 | this | delegatedProperties.kt:34:31:34:48 | invoke | ThisAccess | | delegatedProperties.kt:34:31:34:48 | Object | delegatedProperties.kt:18:5:40:5 | fn | TypeAccess | | delegatedProperties.kt:34:31:34:48 | new (...) | delegatedProperties.kt:18:5:40:5 | fn | ClassInstanceExpr | | delegatedProperties.kt:34:31:34:48 | resourceDelegate(...) | delegatedProperties.kt:18:5:40:5 | fn | MethodCall | -| delegatedProperties.kt:34:31:34:48 | value | delegatedProperties.kt:34:28:34:48 | <set-readWrite> | VarAccess | +| delegatedProperties.kt:34:31:34:48 | value | delegatedProperties.kt:34:31:34:48 | <set-readWrite> | VarAccess | | delegatedProperties.kt:36:9:36:29 | ConsoleKt | delegatedProperties.kt:18:5:40:5 | fn | TypeAccess | | delegatedProperties.kt:36:9:36:29 | println(...) | delegatedProperties.kt:18:5:40:5 | fn | MethodCall | | delegatedProperties.kt:36:17:36:28 | getVarResource0(...) | delegatedProperties.kt:18:5:40:5 | fn | MethodCall | @@ -219,66 +219,66 @@ | delegatedProperties.kt:37:9:37:24 | setVarResource0(...) | delegatedProperties.kt:18:5:40:5 | fn | MethodCall | | delegatedProperties.kt:37:9:37:24 | this | delegatedProperties.kt:18:5:40:5 | fn | ThisAccess | | delegatedProperties.kt:37:24:37:24 | 3 | delegatedProperties.kt:18:5:40:5 | fn | IntegerLiteral | -| delegatedProperties.kt:39:31:39:51 | ...::... | delegatedProperties.kt:18:5:40:5 | fn | PropertyRefExpr | -| delegatedProperties.kt:39:31:39:51 | ...::... | delegatedProperties.kt:39:31:39:51 | <get-varResource2> | PropertyRefExpr | -| delegatedProperties.kt:39:31:39:51 | <get-varResource2>(...) | delegatedProperties.kt:39:31:39:51 | get | MethodCall | -| delegatedProperties.kt:39:31:39:51 | <get-varResource2>(...) | delegatedProperties.kt:39:31:39:51 | get | MethodCall | -| delegatedProperties.kt:39:31:39:51 | Integer | delegatedProperties.kt:18:5:40:5 | fn | TypeAccess | -| delegatedProperties.kt:39:31:39:51 | Integer | delegatedProperties.kt:39:31:39:51 | <get-varResource2> | TypeAccess | -| delegatedProperties.kt:39:31:39:51 | KProperty0<Integer> | delegatedProperties.kt:18:5:40:5 | fn | TypeAccess | -| delegatedProperties.kt:39:31:39:51 | KProperty0<Integer> | delegatedProperties.kt:39:31:39:51 | <get-varResource2> | TypeAccess | -| delegatedProperties.kt:39:31:39:51 | Object | delegatedProperties.kt:39:31:39:51 | get | TypeAccess | -| delegatedProperties.kt:39:31:39:51 | Object | delegatedProperties.kt:39:31:39:51 | get | TypeAccess | -| delegatedProperties.kt:39:31:39:51 | get(...) | delegatedProperties.kt:39:31:39:51 | invoke | MethodCall | -| delegatedProperties.kt:39:31:39:51 | get(...) | delegatedProperties.kt:39:31:39:51 | invoke | MethodCall | -| delegatedProperties.kt:39:31:39:51 | getValue(...) | delegatedProperties.kt:39:31:39:51 | <get-varResource2> | MethodCall | -| delegatedProperties.kt:39:31:39:51 | int | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:39:31:39:51 | new (...) | delegatedProperties.kt:39:31:39:51 | get | ClassInstanceExpr | -| delegatedProperties.kt:39:31:39:51 | new (...) | delegatedProperties.kt:39:31:39:51 | get | ClassInstanceExpr | -| delegatedProperties.kt:39:31:39:51 | provideDelegate(...) | delegatedProperties.kt:18:5:40:5 | fn | MethodCall | -| delegatedProperties.kt:39:31:39:51 | this | delegatedProperties.kt:39:31:39:51 | invoke | ThisAccess | -| delegatedProperties.kt:39:31:39:51 | this | delegatedProperties.kt:39:31:39:51 | invoke | ThisAccess | -| delegatedProperties.kt:39:31:39:51 | varResource2$delegate | delegatedProperties.kt:18:5:40:5 | fn | LocalVariableDeclExpr | -| delegatedProperties.kt:39:31:39:51 | varResource2$delegate | delegatedProperties.kt:39:31:39:51 | <get-varResource2> | VarAccess | +| delegatedProperties.kt:39:34:39:51 | ...::... | delegatedProperties.kt:18:5:40:5 | fn | PropertyRefExpr | +| delegatedProperties.kt:39:34:39:51 | ...::... | delegatedProperties.kt:39:9:39:51 | <get-varResource2> | PropertyRefExpr | +| delegatedProperties.kt:39:34:39:51 | <get-varResource2>(...) | delegatedProperties.kt:39:34:39:51 | get | MethodCall | +| delegatedProperties.kt:39:34:39:51 | <get-varResource2>(...) | delegatedProperties.kt:39:34:39:51 | get | MethodCall | +| delegatedProperties.kt:39:34:39:51 | Integer | delegatedProperties.kt:18:5:40:5 | fn | TypeAccess | +| delegatedProperties.kt:39:34:39:51 | Integer | delegatedProperties.kt:39:34:39:51 | <get-varResource2> | TypeAccess | +| delegatedProperties.kt:39:34:39:51 | KProperty0<Integer> | delegatedProperties.kt:18:5:40:5 | fn | TypeAccess | +| delegatedProperties.kt:39:34:39:51 | KProperty0<Integer> | delegatedProperties.kt:39:9:39:51 | <get-varResource2> | TypeAccess | +| delegatedProperties.kt:39:34:39:51 | Object | delegatedProperties.kt:39:34:39:51 | get | TypeAccess | +| delegatedProperties.kt:39:34:39:51 | Object | delegatedProperties.kt:39:34:39:51 | get | TypeAccess | +| delegatedProperties.kt:39:34:39:51 | get(...) | delegatedProperties.kt:39:34:39:51 | invoke | MethodCall | +| delegatedProperties.kt:39:34:39:51 | get(...) | delegatedProperties.kt:39:34:39:51 | invoke | MethodCall | +| delegatedProperties.kt:39:34:39:51 | getValue(...) | delegatedProperties.kt:39:9:39:51 | <get-varResource2> | MethodCall | +| delegatedProperties.kt:39:34:39:51 | int | file://:0:0:0:0 | <none> | TypeAccess | +| delegatedProperties.kt:39:34:39:51 | new (...) | delegatedProperties.kt:39:34:39:51 | get | ClassInstanceExpr | +| delegatedProperties.kt:39:34:39:51 | new (...) | delegatedProperties.kt:39:34:39:51 | get | ClassInstanceExpr | +| delegatedProperties.kt:39:34:39:51 | provideDelegate(...) | delegatedProperties.kt:18:5:40:5 | fn | MethodCall | +| delegatedProperties.kt:39:34:39:51 | this | delegatedProperties.kt:39:34:39:51 | invoke | ThisAccess | +| delegatedProperties.kt:39:34:39:51 | this | delegatedProperties.kt:39:34:39:51 | invoke | ThisAccess | +| delegatedProperties.kt:39:34:39:51 | varResource2$delegate | delegatedProperties.kt:18:5:40:5 | fn | LocalVariableDeclExpr | +| delegatedProperties.kt:39:34:39:51 | varResource2$delegate | delegatedProperties.kt:39:34:39:51 | <get-varResource2> | VarAccess | | delegatedProperties.kt:39:34:39:51 | DelegateProvider | delegatedProperties.kt:18:5:40:5 | fn | TypeAccess | | delegatedProperties.kt:39:34:39:51 | new DelegateProvider(...) | delegatedProperties.kt:18:5:40:5 | fn | ClassInstanceExpr | -| delegatedProperties.kt:42:27:42:47 | ...::... | delegatedProperties.kt:42:27:42:47 | getVarResource0 | PropertyRefExpr | -| delegatedProperties.kt:42:27:42:47 | ...::... | delegatedProperties.kt:42:27:42:47 | setVarResource0 | PropertyRefExpr | -| delegatedProperties.kt:42:27:42:47 | ...=... | delegatedProperties.kt:17:1:43:1 | Owner | KtInitializerAssignExpr | -| delegatedProperties.kt:42:27:42:47 | Integer | delegatedProperties.kt:42:27:42:47 | getVarResource0 | TypeAccess | -| delegatedProperties.kt:42:27:42:47 | Integer | delegatedProperties.kt:42:27:42:47 | setVarResource0 | TypeAccess | -| delegatedProperties.kt:42:27:42:47 | KMutableProperty1<Owner,Integer> | delegatedProperties.kt:42:27:42:47 | getVarResource0 | TypeAccess | -| delegatedProperties.kt:42:27:42:47 | KMutableProperty1<Owner,Integer> | delegatedProperties.kt:42:27:42:47 | setVarResource0 | TypeAccess | -| delegatedProperties.kt:42:27:42:47 | Owner | delegatedProperties.kt:42:27:42:47 | getVarResource0 | TypeAccess | -| delegatedProperties.kt:42:27:42:47 | Owner | delegatedProperties.kt:42:27:42:47 | setVarResource0 | TypeAccess | -| delegatedProperties.kt:42:27:42:47 | ResourceDelegate | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:42:27:42:47 | Unit | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:42:27:42:47 | a0 | delegatedProperties.kt:42:27:42:47 | get | VarAccess | -| delegatedProperties.kt:42:27:42:47 | a0 | delegatedProperties.kt:42:27:42:47 | get | VarAccess | -| delegatedProperties.kt:42:27:42:47 | a0 | delegatedProperties.kt:42:27:42:47 | invoke | VarAccess | -| delegatedProperties.kt:42:27:42:47 | a0 | delegatedProperties.kt:42:27:42:47 | invoke | VarAccess | -| delegatedProperties.kt:42:27:42:47 | a0 | delegatedProperties.kt:42:27:42:47 | set | VarAccess | -| delegatedProperties.kt:42:27:42:47 | a0 | delegatedProperties.kt:42:27:42:47 | set | VarAccess | -| delegatedProperties.kt:42:27:42:47 | a1 | delegatedProperties.kt:42:27:42:47 | set | VarAccess | -| delegatedProperties.kt:42:27:42:47 | a1 | delegatedProperties.kt:42:27:42:47 | set | VarAccess | -| delegatedProperties.kt:42:27:42:47 | get(...) | delegatedProperties.kt:42:27:42:47 | invoke | MethodCall | -| delegatedProperties.kt:42:27:42:47 | get(...) | delegatedProperties.kt:42:27:42:47 | invoke | MethodCall | -| delegatedProperties.kt:42:27:42:47 | getValue(...) | delegatedProperties.kt:42:27:42:47 | getVarResource0 | MethodCall | -| delegatedProperties.kt:42:27:42:47 | getVarResource0(...) | delegatedProperties.kt:42:27:42:47 | get | MethodCall | -| delegatedProperties.kt:42:27:42:47 | getVarResource0(...) | delegatedProperties.kt:42:27:42:47 | get | MethodCall | -| delegatedProperties.kt:42:27:42:47 | int | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:42:27:42:47 | int | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:42:27:42:47 | setValue(...) | delegatedProperties.kt:42:27:42:47 | setVarResource0 | MethodCall | -| delegatedProperties.kt:42:27:42:47 | setVarResource0(...) | delegatedProperties.kt:42:27:42:47 | set | MethodCall | -| delegatedProperties.kt:42:27:42:47 | setVarResource0(...) | delegatedProperties.kt:42:27:42:47 | set | MethodCall | -| delegatedProperties.kt:42:27:42:47 | this | delegatedProperties.kt:42:27:42:47 | getVarResource0 | ThisAccess | -| delegatedProperties.kt:42:27:42:47 | this | delegatedProperties.kt:42:27:42:47 | invoke | ThisAccess | -| delegatedProperties.kt:42:27:42:47 | this | delegatedProperties.kt:42:27:42:47 | invoke | ThisAccess | -| delegatedProperties.kt:42:27:42:47 | this | delegatedProperties.kt:42:27:42:47 | setVarResource0 | ThisAccess | -| delegatedProperties.kt:42:27:42:47 | this.varResource0$delegate | delegatedProperties.kt:42:27:42:47 | getVarResource0 | VarAccess | -| delegatedProperties.kt:42:27:42:47 | this.varResource0$delegate | delegatedProperties.kt:42:27:42:47 | setVarResource0 | VarAccess | -| delegatedProperties.kt:42:27:42:47 | varResource0$delegate | delegatedProperties.kt:17:1:43:1 | Owner | VarAccess | -| delegatedProperties.kt:42:30:42:47 | <set-?> | delegatedProperties.kt:42:27:42:47 | setVarResource0 | VarAccess | +| delegatedProperties.kt:42:30:42:47 | ...::... | delegatedProperties.kt:42:30:42:47 | getVarResource0 | PropertyRefExpr | +| delegatedProperties.kt:42:30:42:47 | ...::... | delegatedProperties.kt:42:30:42:47 | setVarResource0 | PropertyRefExpr | +| delegatedProperties.kt:42:30:42:47 | ...=... | delegatedProperties.kt:17:1:43:1 | Owner | KtInitializerAssignExpr | +| delegatedProperties.kt:42:30:42:47 | Integer | delegatedProperties.kt:42:30:42:47 | getVarResource0 | TypeAccess | +| delegatedProperties.kt:42:30:42:47 | Integer | delegatedProperties.kt:42:30:42:47 | setVarResource0 | TypeAccess | +| delegatedProperties.kt:42:30:42:47 | KMutableProperty1<Owner,Integer> | delegatedProperties.kt:42:30:42:47 | getVarResource0 | TypeAccess | +| delegatedProperties.kt:42:30:42:47 | KMutableProperty1<Owner,Integer> | delegatedProperties.kt:42:30:42:47 | setVarResource0 | TypeAccess | +| delegatedProperties.kt:42:30:42:47 | Owner | delegatedProperties.kt:42:30:42:47 | getVarResource0 | TypeAccess | +| delegatedProperties.kt:42:30:42:47 | Owner | delegatedProperties.kt:42:30:42:47 | setVarResource0 | TypeAccess | +| delegatedProperties.kt:42:30:42:47 | ResourceDelegate | file://:0:0:0:0 | <none> | TypeAccess | +| delegatedProperties.kt:42:30:42:47 | Unit | file://:0:0:0:0 | <none> | TypeAccess | +| delegatedProperties.kt:42:30:42:47 | a0 | delegatedProperties.kt:42:30:42:47 | get | VarAccess | +| delegatedProperties.kt:42:30:42:47 | a0 | delegatedProperties.kt:42:30:42:47 | get | VarAccess | +| delegatedProperties.kt:42:30:42:47 | a0 | delegatedProperties.kt:42:30:42:47 | invoke | VarAccess | +| delegatedProperties.kt:42:30:42:47 | a0 | delegatedProperties.kt:42:30:42:47 | invoke | VarAccess | +| delegatedProperties.kt:42:30:42:47 | a0 | delegatedProperties.kt:42:30:42:47 | set | VarAccess | +| delegatedProperties.kt:42:30:42:47 | a0 | delegatedProperties.kt:42:30:42:47 | set | VarAccess | +| delegatedProperties.kt:42:30:42:47 | a1 | delegatedProperties.kt:42:30:42:47 | set | VarAccess | +| delegatedProperties.kt:42:30:42:47 | a1 | delegatedProperties.kt:42:30:42:47 | set | VarAccess | +| delegatedProperties.kt:42:30:42:47 | get(...) | delegatedProperties.kt:42:30:42:47 | invoke | MethodCall | +| delegatedProperties.kt:42:30:42:47 | get(...) | delegatedProperties.kt:42:30:42:47 | invoke | MethodCall | +| delegatedProperties.kt:42:30:42:47 | getValue(...) | delegatedProperties.kt:42:30:42:47 | getVarResource0 | MethodCall | +| delegatedProperties.kt:42:30:42:47 | getVarResource0(...) | delegatedProperties.kt:42:30:42:47 | get | MethodCall | +| delegatedProperties.kt:42:30:42:47 | getVarResource0(...) | delegatedProperties.kt:42:30:42:47 | get | MethodCall | +| delegatedProperties.kt:42:30:42:47 | int | file://:0:0:0:0 | <none> | TypeAccess | +| delegatedProperties.kt:42:30:42:47 | int | file://:0:0:0:0 | <none> | TypeAccess | +| delegatedProperties.kt:42:30:42:47 | setValue(...) | delegatedProperties.kt:42:30:42:47 | setVarResource0 | MethodCall | +| delegatedProperties.kt:42:30:42:47 | setVarResource0(...) | delegatedProperties.kt:42:30:42:47 | set | MethodCall | +| delegatedProperties.kt:42:30:42:47 | setVarResource0(...) | delegatedProperties.kt:42:30:42:47 | set | MethodCall | +| delegatedProperties.kt:42:30:42:47 | this | delegatedProperties.kt:42:30:42:47 | getVarResource0 | ThisAccess | +| delegatedProperties.kt:42:30:42:47 | this | delegatedProperties.kt:42:30:42:47 | invoke | ThisAccess | +| delegatedProperties.kt:42:30:42:47 | this | delegatedProperties.kt:42:30:42:47 | invoke | ThisAccess | +| delegatedProperties.kt:42:30:42:47 | this | delegatedProperties.kt:42:30:42:47 | setVarResource0 | ThisAccess | +| delegatedProperties.kt:42:30:42:47 | this.varResource0$delegate | delegatedProperties.kt:42:30:42:47 | getVarResource0 | VarAccess | +| delegatedProperties.kt:42:30:42:47 | this.varResource0$delegate | delegatedProperties.kt:42:30:42:47 | setVarResource0 | VarAccess | +| delegatedProperties.kt:42:30:42:47 | varResource0$delegate | delegatedProperties.kt:17:1:43:1 | Owner | VarAccess | +| delegatedProperties.kt:42:30:42:47 | <set-?> | delegatedProperties.kt:42:30:42:47 | setVarResource0 | VarAccess | | delegatedProperties.kt:42:30:42:47 | ResourceDelegate | delegatedProperties.kt:17:1:43:1 | Owner | TypeAccess | | delegatedProperties.kt:42:30:42:47 | new ResourceDelegate(...) | delegatedProperties.kt:17:1:43:1 | Owner | ClassInstanceExpr | | delegatedProperties.kt:46:14:48:5 | int | file://:0:0:0:0 | <none> | TypeAccess | @@ -350,53 +350,53 @@ | delegatedProperties.kt:65:35:65:77 | this | delegatedProperties.kt:65:35:65:77 | getAnotherClassInstance | ThisAccess | | delegatedProperties.kt:65:35:65:77 | this.anotherClassInstance | delegatedProperties.kt:65:35:65:77 | getAnotherClassInstance | VarAccess | | delegatedProperties.kt:65:87:65:95 | memberInt | delegatedProperties.kt:65:14:65:78 | MyClass | VarAccess | -| delegatedProperties.kt:66:33:66:50 | ...::... | delegatedProperties.kt:66:33:66:50 | getDelegatedToMember1 | PropertyRefExpr | -| delegatedProperties.kt:66:33:66:50 | ...::... | delegatedProperties.kt:66:33:66:50 | setDelegatedToMember1 | PropertyRefExpr | -| delegatedProperties.kt:66:33:66:50 | ...=... | delegatedProperties.kt:65:14:65:78 | MyClass | KtInitializerAssignExpr | -| delegatedProperties.kt:66:33:66:50 | Integer | delegatedProperties.kt:66:33:66:50 | getDelegatedToMember1 | TypeAccess | -| delegatedProperties.kt:66:33:66:50 | Integer | delegatedProperties.kt:66:33:66:50 | getDelegatedToMember1 | TypeAccess | -| delegatedProperties.kt:66:33:66:50 | Integer | delegatedProperties.kt:66:33:66:50 | setDelegatedToMember1 | TypeAccess | -| delegatedProperties.kt:66:33:66:50 | Integer | delegatedProperties.kt:66:33:66:50 | setDelegatedToMember1 | TypeAccess | -| delegatedProperties.kt:66:33:66:50 | Integer | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:66:33:66:50 | KMutableProperty0<Integer> | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:66:33:66:50 | KMutableProperty1<MyClass,Integer> | delegatedProperties.kt:66:33:66:50 | getDelegatedToMember1 | TypeAccess | -| delegatedProperties.kt:66:33:66:50 | KMutableProperty1<MyClass,Integer> | delegatedProperties.kt:66:33:66:50 | setDelegatedToMember1 | TypeAccess | -| delegatedProperties.kt:66:33:66:50 | MyClass | delegatedProperties.kt:66:33:66:50 | getDelegatedToMember1 | TypeAccess | -| delegatedProperties.kt:66:33:66:50 | MyClass | delegatedProperties.kt:66:33:66:50 | setDelegatedToMember1 | TypeAccess | -| delegatedProperties.kt:66:33:66:50 | PropertyReferenceDelegatesKt | delegatedProperties.kt:66:33:66:50 | getDelegatedToMember1 | TypeAccess | -| delegatedProperties.kt:66:33:66:50 | PropertyReferenceDelegatesKt | delegatedProperties.kt:66:33:66:50 | setDelegatedToMember1 | TypeAccess | -| delegatedProperties.kt:66:33:66:50 | Unit | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:66:33:66:50 | a0 | delegatedProperties.kt:66:33:66:50 | get | VarAccess | -| delegatedProperties.kt:66:33:66:50 | a0 | delegatedProperties.kt:66:33:66:50 | get | VarAccess | -| delegatedProperties.kt:66:33:66:50 | a0 | delegatedProperties.kt:66:33:66:50 | invoke | VarAccess | -| delegatedProperties.kt:66:33:66:50 | a0 | delegatedProperties.kt:66:33:66:50 | invoke | VarAccess | -| delegatedProperties.kt:66:33:66:50 | a0 | delegatedProperties.kt:66:33:66:50 | set | VarAccess | -| delegatedProperties.kt:66:33:66:50 | a0 | delegatedProperties.kt:66:33:66:50 | set | VarAccess | -| delegatedProperties.kt:66:33:66:50 | a1 | delegatedProperties.kt:66:33:66:50 | set | VarAccess | -| delegatedProperties.kt:66:33:66:50 | a1 | delegatedProperties.kt:66:33:66:50 | set | VarAccess | -| delegatedProperties.kt:66:33:66:50 | delegatedToMember1$delegate | delegatedProperties.kt:65:14:65:78 | MyClass | VarAccess | -| delegatedProperties.kt:66:33:66:50 | get(...) | delegatedProperties.kt:66:33:66:50 | invoke | MethodCall | -| delegatedProperties.kt:66:33:66:50 | get(...) | delegatedProperties.kt:66:33:66:50 | invoke | MethodCall | -| delegatedProperties.kt:66:33:66:50 | getDelegatedToMember1(...) | delegatedProperties.kt:66:33:66:50 | get | MethodCall | -| delegatedProperties.kt:66:33:66:50 | getDelegatedToMember1(...) | delegatedProperties.kt:66:33:66:50 | get | MethodCall | -| delegatedProperties.kt:66:33:66:50 | getValue(...) | delegatedProperties.kt:66:33:66:50 | getDelegatedToMember1 | MethodCall | -| delegatedProperties.kt:66:33:66:50 | int | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:66:33:66:50 | int | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:66:33:66:50 | setDelegatedToMember1(...) | delegatedProperties.kt:66:33:66:50 | set | MethodCall | -| delegatedProperties.kt:66:33:66:50 | setDelegatedToMember1(...) | delegatedProperties.kt:66:33:66:50 | set | MethodCall | -| delegatedProperties.kt:66:33:66:50 | setValue(...) | delegatedProperties.kt:66:33:66:50 | setDelegatedToMember1 | MethodCall | -| delegatedProperties.kt:66:33:66:50 | this | delegatedProperties.kt:66:33:66:50 | getDelegatedToMember1 | ThisAccess | -| delegatedProperties.kt:66:33:66:50 | this | delegatedProperties.kt:66:33:66:50 | invoke | ThisAccess | -| delegatedProperties.kt:66:33:66:50 | this | delegatedProperties.kt:66:33:66:50 | invoke | ThisAccess | -| delegatedProperties.kt:66:33:66:50 | this | delegatedProperties.kt:66:33:66:50 | setDelegatedToMember1 | ThisAccess | -| delegatedProperties.kt:66:33:66:50 | this.delegatedToMember1$delegate | delegatedProperties.kt:66:33:66:50 | getDelegatedToMember1 | VarAccess | -| delegatedProperties.kt:66:33:66:50 | this.delegatedToMember1$delegate | delegatedProperties.kt:66:33:66:50 | setDelegatedToMember1 | VarAccess | +| delegatedProperties.kt:66:36:66:50 | ...::... | delegatedProperties.kt:66:36:66:50 | getDelegatedToMember1 | PropertyRefExpr | +| delegatedProperties.kt:66:36:66:50 | ...::... | delegatedProperties.kt:66:36:66:50 | setDelegatedToMember1 | PropertyRefExpr | +| delegatedProperties.kt:66:36:66:50 | ...=... | delegatedProperties.kt:65:14:65:78 | MyClass | KtInitializerAssignExpr | +| delegatedProperties.kt:66:36:66:50 | Integer | delegatedProperties.kt:66:36:66:50 | getDelegatedToMember1 | TypeAccess | +| delegatedProperties.kt:66:36:66:50 | Integer | delegatedProperties.kt:66:36:66:50 | getDelegatedToMember1 | TypeAccess | +| delegatedProperties.kt:66:36:66:50 | Integer | delegatedProperties.kt:66:36:66:50 | setDelegatedToMember1 | TypeAccess | +| delegatedProperties.kt:66:36:66:50 | Integer | delegatedProperties.kt:66:36:66:50 | setDelegatedToMember1 | TypeAccess | +| delegatedProperties.kt:66:36:66:50 | Integer | file://:0:0:0:0 | <none> | TypeAccess | +| delegatedProperties.kt:66:36:66:50 | KMutableProperty0<Integer> | file://:0:0:0:0 | <none> | TypeAccess | +| delegatedProperties.kt:66:36:66:50 | KMutableProperty1<MyClass,Integer> | delegatedProperties.kt:66:36:66:50 | getDelegatedToMember1 | TypeAccess | +| delegatedProperties.kt:66:36:66:50 | KMutableProperty1<MyClass,Integer> | delegatedProperties.kt:66:36:66:50 | setDelegatedToMember1 | TypeAccess | +| delegatedProperties.kt:66:36:66:50 | MyClass | delegatedProperties.kt:66:36:66:50 | getDelegatedToMember1 | TypeAccess | +| delegatedProperties.kt:66:36:66:50 | MyClass | delegatedProperties.kt:66:36:66:50 | setDelegatedToMember1 | TypeAccess | +| delegatedProperties.kt:66:36:66:50 | PropertyReferenceDelegatesKt | delegatedProperties.kt:66:36:66:50 | getDelegatedToMember1 | TypeAccess | +| delegatedProperties.kt:66:36:66:50 | PropertyReferenceDelegatesKt | delegatedProperties.kt:66:36:66:50 | setDelegatedToMember1 | TypeAccess | +| delegatedProperties.kt:66:36:66:50 | Unit | file://:0:0:0:0 | <none> | TypeAccess | +| delegatedProperties.kt:66:36:66:50 | a0 | delegatedProperties.kt:66:36:66:50 | get | VarAccess | +| delegatedProperties.kt:66:36:66:50 | a0 | delegatedProperties.kt:66:36:66:50 | get | VarAccess | +| delegatedProperties.kt:66:36:66:50 | a0 | delegatedProperties.kt:66:36:66:50 | invoke | VarAccess | +| delegatedProperties.kt:66:36:66:50 | a0 | delegatedProperties.kt:66:36:66:50 | invoke | VarAccess | +| delegatedProperties.kt:66:36:66:50 | a0 | delegatedProperties.kt:66:36:66:50 | set | VarAccess | +| delegatedProperties.kt:66:36:66:50 | a0 | delegatedProperties.kt:66:36:66:50 | set | VarAccess | +| delegatedProperties.kt:66:36:66:50 | a1 | delegatedProperties.kt:66:36:66:50 | set | VarAccess | +| delegatedProperties.kt:66:36:66:50 | a1 | delegatedProperties.kt:66:36:66:50 | set | VarAccess | +| delegatedProperties.kt:66:36:66:50 | delegatedToMember1$delegate | delegatedProperties.kt:65:14:65:78 | MyClass | VarAccess | +| delegatedProperties.kt:66:36:66:50 | get(...) | delegatedProperties.kt:66:36:66:50 | invoke | MethodCall | +| delegatedProperties.kt:66:36:66:50 | get(...) | delegatedProperties.kt:66:36:66:50 | invoke | MethodCall | +| delegatedProperties.kt:66:36:66:50 | getDelegatedToMember1(...) | delegatedProperties.kt:66:36:66:50 | get | MethodCall | +| delegatedProperties.kt:66:36:66:50 | getDelegatedToMember1(...) | delegatedProperties.kt:66:36:66:50 | get | MethodCall | +| delegatedProperties.kt:66:36:66:50 | getValue(...) | delegatedProperties.kt:66:36:66:50 | getDelegatedToMember1 | MethodCall | +| delegatedProperties.kt:66:36:66:50 | int | file://:0:0:0:0 | <none> | TypeAccess | +| delegatedProperties.kt:66:36:66:50 | int | file://:0:0:0:0 | <none> | TypeAccess | +| delegatedProperties.kt:66:36:66:50 | setDelegatedToMember1(...) | delegatedProperties.kt:66:36:66:50 | set | MethodCall | +| delegatedProperties.kt:66:36:66:50 | setDelegatedToMember1(...) | delegatedProperties.kt:66:36:66:50 | set | MethodCall | +| delegatedProperties.kt:66:36:66:50 | setValue(...) | delegatedProperties.kt:66:36:66:50 | setDelegatedToMember1 | MethodCall | +| delegatedProperties.kt:66:36:66:50 | this | delegatedProperties.kt:66:36:66:50 | getDelegatedToMember1 | ThisAccess | +| delegatedProperties.kt:66:36:66:50 | this | delegatedProperties.kt:66:36:66:50 | invoke | ThisAccess | +| delegatedProperties.kt:66:36:66:50 | this | delegatedProperties.kt:66:36:66:50 | invoke | ThisAccess | +| delegatedProperties.kt:66:36:66:50 | this | delegatedProperties.kt:66:36:66:50 | setDelegatedToMember1 | ThisAccess | +| delegatedProperties.kt:66:36:66:50 | this.delegatedToMember1$delegate | delegatedProperties.kt:66:36:66:50 | getDelegatedToMember1 | VarAccess | +| delegatedProperties.kt:66:36:66:50 | this.delegatedToMember1$delegate | delegatedProperties.kt:66:36:66:50 | setDelegatedToMember1 | VarAccess | | delegatedProperties.kt:66:36:66:39 | MyClass | delegatedProperties.kt:65:14:65:78 | MyClass | TypeAccess | | delegatedProperties.kt:66:36:66:39 | MyClass.this | delegatedProperties.kt:65:14:65:78 | MyClass | ThisAccess | | delegatedProperties.kt:66:36:66:50 | ...::... | delegatedProperties.kt:65:14:65:78 | MyClass | PropertyRefExpr | | delegatedProperties.kt:66:36:66:50 | ...=... | delegatedProperties.kt:66:36:66:50 | | AssignExpr | | delegatedProperties.kt:66:36:66:50 | <dispatchReceiver> | delegatedProperties.kt:66:36:66:50 | | VarAccess | -| delegatedProperties.kt:66:36:66:50 | <set-?> | delegatedProperties.kt:66:33:66:50 | setDelegatedToMember1 | VarAccess | +| delegatedProperties.kt:66:36:66:50 | <set-?> | delegatedProperties.kt:66:36:66:50 | setDelegatedToMember1 | VarAccess | | delegatedProperties.kt:66:36:66:50 | Integer | delegatedProperties.kt:65:14:65:78 | MyClass | TypeAccess | | delegatedProperties.kt:66:36:66:50 | KMutableProperty0<Integer> | delegatedProperties.kt:65:14:65:78 | MyClass | TypeAccess | | delegatedProperties.kt:66:36:66:50 | MyClass | file://:0:0:0:0 | <none> | TypeAccess | @@ -411,52 +411,52 @@ | delegatedProperties.kt:66:36:66:50 | this.<dispatchReceiver> | delegatedProperties.kt:66:36:66:50 | | VarAccess | | delegatedProperties.kt:66:36:66:50 | this.<dispatchReceiver> | delegatedProperties.kt:66:36:66:50 | get | VarAccess | | delegatedProperties.kt:66:36:66:50 | this.<dispatchReceiver> | delegatedProperties.kt:66:36:66:50 | set | VarAccess | -| delegatedProperties.kt:67:33:67:53 | ...::... | delegatedProperties.kt:67:33:67:53 | getDelegatedToMember2 | PropertyRefExpr | -| delegatedProperties.kt:67:33:67:53 | ...::... | delegatedProperties.kt:67:33:67:53 | setDelegatedToMember2 | PropertyRefExpr | -| delegatedProperties.kt:67:33:67:53 | ...=... | delegatedProperties.kt:65:14:65:78 | MyClass | KtInitializerAssignExpr | -| delegatedProperties.kt:67:33:67:53 | Integer | delegatedProperties.kt:67:33:67:53 | getDelegatedToMember2 | TypeAccess | -| delegatedProperties.kt:67:33:67:53 | Integer | delegatedProperties.kt:67:33:67:53 | getDelegatedToMember2 | TypeAccess | -| delegatedProperties.kt:67:33:67:53 | Integer | delegatedProperties.kt:67:33:67:53 | setDelegatedToMember2 | TypeAccess | -| delegatedProperties.kt:67:33:67:53 | Integer | delegatedProperties.kt:67:33:67:53 | setDelegatedToMember2 | TypeAccess | -| delegatedProperties.kt:67:33:67:53 | Integer | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:67:33:67:53 | KMutableProperty1<MyClass,Integer> | delegatedProperties.kt:67:33:67:53 | getDelegatedToMember2 | TypeAccess | -| delegatedProperties.kt:67:33:67:53 | KMutableProperty1<MyClass,Integer> | delegatedProperties.kt:67:33:67:53 | setDelegatedToMember2 | TypeAccess | -| delegatedProperties.kt:67:33:67:53 | KMutableProperty1<MyClass,Integer> | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:67:33:67:53 | MyClass | delegatedProperties.kt:67:33:67:53 | getDelegatedToMember2 | TypeAccess | -| delegatedProperties.kt:67:33:67:53 | MyClass | delegatedProperties.kt:67:33:67:53 | getDelegatedToMember2 | TypeAccess | -| delegatedProperties.kt:67:33:67:53 | MyClass | delegatedProperties.kt:67:33:67:53 | setDelegatedToMember2 | TypeAccess | -| delegatedProperties.kt:67:33:67:53 | MyClass | delegatedProperties.kt:67:33:67:53 | setDelegatedToMember2 | TypeAccess | -| delegatedProperties.kt:67:33:67:53 | MyClass | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:67:33:67:53 | PropertyReferenceDelegatesKt | delegatedProperties.kt:67:33:67:53 | getDelegatedToMember2 | TypeAccess | -| delegatedProperties.kt:67:33:67:53 | PropertyReferenceDelegatesKt | delegatedProperties.kt:67:33:67:53 | setDelegatedToMember2 | TypeAccess | -| delegatedProperties.kt:67:33:67:53 | Unit | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:67:33:67:53 | a0 | delegatedProperties.kt:67:33:67:53 | get | VarAccess | -| delegatedProperties.kt:67:33:67:53 | a0 | delegatedProperties.kt:67:33:67:53 | get | VarAccess | -| delegatedProperties.kt:67:33:67:53 | a0 | delegatedProperties.kt:67:33:67:53 | invoke | VarAccess | -| delegatedProperties.kt:67:33:67:53 | a0 | delegatedProperties.kt:67:33:67:53 | invoke | VarAccess | -| delegatedProperties.kt:67:33:67:53 | a0 | delegatedProperties.kt:67:33:67:53 | set | VarAccess | -| delegatedProperties.kt:67:33:67:53 | a0 | delegatedProperties.kt:67:33:67:53 | set | VarAccess | -| delegatedProperties.kt:67:33:67:53 | a1 | delegatedProperties.kt:67:33:67:53 | set | VarAccess | -| delegatedProperties.kt:67:33:67:53 | a1 | delegatedProperties.kt:67:33:67:53 | set | VarAccess | -| delegatedProperties.kt:67:33:67:53 | delegatedToMember2$delegate | delegatedProperties.kt:65:14:65:78 | MyClass | VarAccess | -| delegatedProperties.kt:67:33:67:53 | get(...) | delegatedProperties.kt:67:33:67:53 | invoke | MethodCall | -| delegatedProperties.kt:67:33:67:53 | get(...) | delegatedProperties.kt:67:33:67:53 | invoke | MethodCall | -| delegatedProperties.kt:67:33:67:53 | getDelegatedToMember2(...) | delegatedProperties.kt:67:33:67:53 | get | MethodCall | -| delegatedProperties.kt:67:33:67:53 | getDelegatedToMember2(...) | delegatedProperties.kt:67:33:67:53 | get | MethodCall | -| delegatedProperties.kt:67:33:67:53 | getValue(...) | delegatedProperties.kt:67:33:67:53 | getDelegatedToMember2 | MethodCall | -| delegatedProperties.kt:67:33:67:53 | int | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:67:33:67:53 | int | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:67:33:67:53 | setDelegatedToMember2(...) | delegatedProperties.kt:67:33:67:53 | set | MethodCall | -| delegatedProperties.kt:67:33:67:53 | setDelegatedToMember2(...) | delegatedProperties.kt:67:33:67:53 | set | MethodCall | -| delegatedProperties.kt:67:33:67:53 | setValue(...) | delegatedProperties.kt:67:33:67:53 | setDelegatedToMember2 | MethodCall | -| delegatedProperties.kt:67:33:67:53 | this | delegatedProperties.kt:67:33:67:53 | getDelegatedToMember2 | ThisAccess | -| delegatedProperties.kt:67:33:67:53 | this | delegatedProperties.kt:67:33:67:53 | invoke | ThisAccess | -| delegatedProperties.kt:67:33:67:53 | this | delegatedProperties.kt:67:33:67:53 | invoke | ThisAccess | -| delegatedProperties.kt:67:33:67:53 | this | delegatedProperties.kt:67:33:67:53 | setDelegatedToMember2 | ThisAccess | -| delegatedProperties.kt:67:33:67:53 | this.delegatedToMember2$delegate | delegatedProperties.kt:67:33:67:53 | getDelegatedToMember2 | VarAccess | -| delegatedProperties.kt:67:33:67:53 | this.delegatedToMember2$delegate | delegatedProperties.kt:67:33:67:53 | setDelegatedToMember2 | VarAccess | +| delegatedProperties.kt:67:36:67:53 | ...::... | delegatedProperties.kt:67:36:67:53 | getDelegatedToMember2 | PropertyRefExpr | +| delegatedProperties.kt:67:36:67:53 | ...::... | delegatedProperties.kt:67:36:67:53 | setDelegatedToMember2 | PropertyRefExpr | +| delegatedProperties.kt:67:36:67:53 | ...=... | delegatedProperties.kt:65:14:65:78 | MyClass | KtInitializerAssignExpr | +| delegatedProperties.kt:67:36:67:53 | Integer | delegatedProperties.kt:67:36:67:53 | getDelegatedToMember2 | TypeAccess | +| delegatedProperties.kt:67:36:67:53 | Integer | delegatedProperties.kt:67:36:67:53 | getDelegatedToMember2 | TypeAccess | +| delegatedProperties.kt:67:36:67:53 | Integer | delegatedProperties.kt:67:36:67:53 | setDelegatedToMember2 | TypeAccess | +| delegatedProperties.kt:67:36:67:53 | Integer | delegatedProperties.kt:67:36:67:53 | setDelegatedToMember2 | TypeAccess | +| delegatedProperties.kt:67:36:67:53 | Integer | file://:0:0:0:0 | <none> | TypeAccess | +| delegatedProperties.kt:67:36:67:53 | KMutableProperty1<MyClass,Integer> | delegatedProperties.kt:67:36:67:53 | getDelegatedToMember2 | TypeAccess | +| delegatedProperties.kt:67:36:67:53 | KMutableProperty1<MyClass,Integer> | delegatedProperties.kt:67:36:67:53 | setDelegatedToMember2 | TypeAccess | +| delegatedProperties.kt:67:36:67:53 | KMutableProperty1<MyClass,Integer> | file://:0:0:0:0 | <none> | TypeAccess | +| delegatedProperties.kt:67:36:67:53 | MyClass | delegatedProperties.kt:67:36:67:53 | getDelegatedToMember2 | TypeAccess | +| delegatedProperties.kt:67:36:67:53 | MyClass | delegatedProperties.kt:67:36:67:53 | getDelegatedToMember2 | TypeAccess | +| delegatedProperties.kt:67:36:67:53 | MyClass | delegatedProperties.kt:67:36:67:53 | setDelegatedToMember2 | TypeAccess | +| delegatedProperties.kt:67:36:67:53 | MyClass | delegatedProperties.kt:67:36:67:53 | setDelegatedToMember2 | TypeAccess | +| delegatedProperties.kt:67:36:67:53 | MyClass | file://:0:0:0:0 | <none> | TypeAccess | +| delegatedProperties.kt:67:36:67:53 | PropertyReferenceDelegatesKt | delegatedProperties.kt:67:36:67:53 | getDelegatedToMember2 | TypeAccess | +| delegatedProperties.kt:67:36:67:53 | PropertyReferenceDelegatesKt | delegatedProperties.kt:67:36:67:53 | setDelegatedToMember2 | TypeAccess | +| delegatedProperties.kt:67:36:67:53 | Unit | file://:0:0:0:0 | <none> | TypeAccess | +| delegatedProperties.kt:67:36:67:53 | a0 | delegatedProperties.kt:67:36:67:53 | get | VarAccess | +| delegatedProperties.kt:67:36:67:53 | a0 | delegatedProperties.kt:67:36:67:53 | get | VarAccess | +| delegatedProperties.kt:67:36:67:53 | a0 | delegatedProperties.kt:67:36:67:53 | invoke | VarAccess | +| delegatedProperties.kt:67:36:67:53 | a0 | delegatedProperties.kt:67:36:67:53 | invoke | VarAccess | +| delegatedProperties.kt:67:36:67:53 | a0 | delegatedProperties.kt:67:36:67:53 | set | VarAccess | +| delegatedProperties.kt:67:36:67:53 | a0 | delegatedProperties.kt:67:36:67:53 | set | VarAccess | +| delegatedProperties.kt:67:36:67:53 | a1 | delegatedProperties.kt:67:36:67:53 | set | VarAccess | +| delegatedProperties.kt:67:36:67:53 | a1 | delegatedProperties.kt:67:36:67:53 | set | VarAccess | +| delegatedProperties.kt:67:36:67:53 | delegatedToMember2$delegate | delegatedProperties.kt:65:14:65:78 | MyClass | VarAccess | +| delegatedProperties.kt:67:36:67:53 | get(...) | delegatedProperties.kt:67:36:67:53 | invoke | MethodCall | +| delegatedProperties.kt:67:36:67:53 | get(...) | delegatedProperties.kt:67:36:67:53 | invoke | MethodCall | +| delegatedProperties.kt:67:36:67:53 | getDelegatedToMember2(...) | delegatedProperties.kt:67:36:67:53 | get | MethodCall | +| delegatedProperties.kt:67:36:67:53 | getDelegatedToMember2(...) | delegatedProperties.kt:67:36:67:53 | get | MethodCall | +| delegatedProperties.kt:67:36:67:53 | getValue(...) | delegatedProperties.kt:67:36:67:53 | getDelegatedToMember2 | MethodCall | +| delegatedProperties.kt:67:36:67:53 | int | file://:0:0:0:0 | <none> | TypeAccess | +| delegatedProperties.kt:67:36:67:53 | int | file://:0:0:0:0 | <none> | TypeAccess | +| delegatedProperties.kt:67:36:67:53 | setDelegatedToMember2(...) | delegatedProperties.kt:67:36:67:53 | set | MethodCall | +| delegatedProperties.kt:67:36:67:53 | setDelegatedToMember2(...) | delegatedProperties.kt:67:36:67:53 | set | MethodCall | +| delegatedProperties.kt:67:36:67:53 | setValue(...) | delegatedProperties.kt:67:36:67:53 | setDelegatedToMember2 | MethodCall | +| delegatedProperties.kt:67:36:67:53 | this | delegatedProperties.kt:67:36:67:53 | getDelegatedToMember2 | ThisAccess | +| delegatedProperties.kt:67:36:67:53 | this | delegatedProperties.kt:67:36:67:53 | invoke | ThisAccess | +| delegatedProperties.kt:67:36:67:53 | this | delegatedProperties.kt:67:36:67:53 | invoke | ThisAccess | +| delegatedProperties.kt:67:36:67:53 | this | delegatedProperties.kt:67:36:67:53 | setDelegatedToMember2 | ThisAccess | +| delegatedProperties.kt:67:36:67:53 | this.delegatedToMember2$delegate | delegatedProperties.kt:67:36:67:53 | getDelegatedToMember2 | VarAccess | +| delegatedProperties.kt:67:36:67:53 | this.delegatedToMember2$delegate | delegatedProperties.kt:67:36:67:53 | setDelegatedToMember2 | VarAccess | | delegatedProperties.kt:67:36:67:53 | ...::... | delegatedProperties.kt:65:14:65:78 | MyClass | PropertyRefExpr | -| delegatedProperties.kt:67:36:67:53 | <set-?> | delegatedProperties.kt:67:33:67:53 | setDelegatedToMember2 | VarAccess | +| delegatedProperties.kt:67:36:67:53 | <set-?> | delegatedProperties.kt:67:36:67:53 | setDelegatedToMember2 | VarAccess | | delegatedProperties.kt:67:36:67:53 | Integer | delegatedProperties.kt:65:14:65:78 | MyClass | TypeAccess | | delegatedProperties.kt:67:36:67:53 | KMutableProperty1<MyClass,Integer> | delegatedProperties.kt:65:14:65:78 | MyClass | TypeAccess | | delegatedProperties.kt:67:36:67:53 | MyClass | delegatedProperties.kt:65:14:65:78 | MyClass | TypeAccess | @@ -468,53 +468,53 @@ | delegatedProperties.kt:67:36:67:53 | getMemberInt(...) | delegatedProperties.kt:67:36:67:53 | get | MethodCall | | delegatedProperties.kt:67:36:67:53 | setMemberInt(...) | delegatedProperties.kt:67:36:67:53 | set | MethodCall | | delegatedProperties.kt:67:36:67:53 | this | delegatedProperties.kt:67:36:67:53 | invoke | ThisAccess | -| delegatedProperties.kt:69:36:69:56 | ...::... | delegatedProperties.kt:69:36:69:56 | getDelegatedToExtMember1 | PropertyRefExpr | -| delegatedProperties.kt:69:36:69:56 | ...::... | delegatedProperties.kt:69:36:69:56 | setDelegatedToExtMember1 | PropertyRefExpr | -| delegatedProperties.kt:69:36:69:56 | ...=... | delegatedProperties.kt:65:14:65:78 | MyClass | KtInitializerAssignExpr | -| delegatedProperties.kt:69:36:69:56 | Integer | delegatedProperties.kt:69:36:69:56 | getDelegatedToExtMember1 | TypeAccess | -| delegatedProperties.kt:69:36:69:56 | Integer | delegatedProperties.kt:69:36:69:56 | getDelegatedToExtMember1 | TypeAccess | -| delegatedProperties.kt:69:36:69:56 | Integer | delegatedProperties.kt:69:36:69:56 | setDelegatedToExtMember1 | TypeAccess | -| delegatedProperties.kt:69:36:69:56 | Integer | delegatedProperties.kt:69:36:69:56 | setDelegatedToExtMember1 | TypeAccess | -| delegatedProperties.kt:69:36:69:56 | Integer | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:69:36:69:56 | KMutableProperty0<Integer> | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:69:36:69:56 | KMutableProperty1<MyClass,Integer> | delegatedProperties.kt:69:36:69:56 | getDelegatedToExtMember1 | TypeAccess | -| delegatedProperties.kt:69:36:69:56 | KMutableProperty1<MyClass,Integer> | delegatedProperties.kt:69:36:69:56 | setDelegatedToExtMember1 | TypeAccess | -| delegatedProperties.kt:69:36:69:56 | MyClass | delegatedProperties.kt:69:36:69:56 | getDelegatedToExtMember1 | TypeAccess | -| delegatedProperties.kt:69:36:69:56 | MyClass | delegatedProperties.kt:69:36:69:56 | setDelegatedToExtMember1 | TypeAccess | -| delegatedProperties.kt:69:36:69:56 | PropertyReferenceDelegatesKt | delegatedProperties.kt:69:36:69:56 | getDelegatedToExtMember1 | TypeAccess | -| delegatedProperties.kt:69:36:69:56 | PropertyReferenceDelegatesKt | delegatedProperties.kt:69:36:69:56 | setDelegatedToExtMember1 | TypeAccess | -| delegatedProperties.kt:69:36:69:56 | Unit | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:69:36:69:56 | a0 | delegatedProperties.kt:69:36:69:56 | get | VarAccess | -| delegatedProperties.kt:69:36:69:56 | a0 | delegatedProperties.kt:69:36:69:56 | get | VarAccess | -| delegatedProperties.kt:69:36:69:56 | a0 | delegatedProperties.kt:69:36:69:56 | invoke | VarAccess | -| delegatedProperties.kt:69:36:69:56 | a0 | delegatedProperties.kt:69:36:69:56 | invoke | VarAccess | -| delegatedProperties.kt:69:36:69:56 | a0 | delegatedProperties.kt:69:36:69:56 | set | VarAccess | -| delegatedProperties.kt:69:36:69:56 | a0 | delegatedProperties.kt:69:36:69:56 | set | VarAccess | -| delegatedProperties.kt:69:36:69:56 | a1 | delegatedProperties.kt:69:36:69:56 | set | VarAccess | -| delegatedProperties.kt:69:36:69:56 | a1 | delegatedProperties.kt:69:36:69:56 | set | VarAccess | -| delegatedProperties.kt:69:36:69:56 | delegatedToExtMember1$delegate | delegatedProperties.kt:65:14:65:78 | MyClass | VarAccess | -| delegatedProperties.kt:69:36:69:56 | get(...) | delegatedProperties.kt:69:36:69:56 | invoke | MethodCall | -| delegatedProperties.kt:69:36:69:56 | get(...) | delegatedProperties.kt:69:36:69:56 | invoke | MethodCall | -| delegatedProperties.kt:69:36:69:56 | getDelegatedToExtMember1(...) | delegatedProperties.kt:69:36:69:56 | get | MethodCall | -| delegatedProperties.kt:69:36:69:56 | getDelegatedToExtMember1(...) | delegatedProperties.kt:69:36:69:56 | get | MethodCall | -| delegatedProperties.kt:69:36:69:56 | getValue(...) | delegatedProperties.kt:69:36:69:56 | getDelegatedToExtMember1 | MethodCall | -| delegatedProperties.kt:69:36:69:56 | int | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:69:36:69:56 | int | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:69:36:69:56 | setDelegatedToExtMember1(...) | delegatedProperties.kt:69:36:69:56 | set | MethodCall | -| delegatedProperties.kt:69:36:69:56 | setDelegatedToExtMember1(...) | delegatedProperties.kt:69:36:69:56 | set | MethodCall | -| delegatedProperties.kt:69:36:69:56 | setValue(...) | delegatedProperties.kt:69:36:69:56 | setDelegatedToExtMember1 | MethodCall | -| delegatedProperties.kt:69:36:69:56 | this | delegatedProperties.kt:69:36:69:56 | getDelegatedToExtMember1 | ThisAccess | -| delegatedProperties.kt:69:36:69:56 | this | delegatedProperties.kt:69:36:69:56 | invoke | ThisAccess | -| delegatedProperties.kt:69:36:69:56 | this | delegatedProperties.kt:69:36:69:56 | invoke | ThisAccess | -| delegatedProperties.kt:69:36:69:56 | this | delegatedProperties.kt:69:36:69:56 | setDelegatedToExtMember1 | ThisAccess | -| delegatedProperties.kt:69:36:69:56 | this.delegatedToExtMember1$delegate | delegatedProperties.kt:69:36:69:56 | getDelegatedToExtMember1 | VarAccess | -| delegatedProperties.kt:69:36:69:56 | this.delegatedToExtMember1$delegate | delegatedProperties.kt:69:36:69:56 | setDelegatedToExtMember1 | VarAccess | +| delegatedProperties.kt:69:39:69:56 | ...::... | delegatedProperties.kt:69:39:69:56 | getDelegatedToExtMember1 | PropertyRefExpr | +| delegatedProperties.kt:69:39:69:56 | ...::... | delegatedProperties.kt:69:39:69:56 | setDelegatedToExtMember1 | PropertyRefExpr | +| delegatedProperties.kt:69:39:69:56 | ...=... | delegatedProperties.kt:65:14:65:78 | MyClass | KtInitializerAssignExpr | +| delegatedProperties.kt:69:39:69:56 | Integer | delegatedProperties.kt:69:39:69:56 | getDelegatedToExtMember1 | TypeAccess | +| delegatedProperties.kt:69:39:69:56 | Integer | delegatedProperties.kt:69:39:69:56 | getDelegatedToExtMember1 | TypeAccess | +| delegatedProperties.kt:69:39:69:56 | Integer | delegatedProperties.kt:69:39:69:56 | setDelegatedToExtMember1 | TypeAccess | +| delegatedProperties.kt:69:39:69:56 | Integer | delegatedProperties.kt:69:39:69:56 | setDelegatedToExtMember1 | TypeAccess | +| delegatedProperties.kt:69:39:69:56 | Integer | file://:0:0:0:0 | <none> | TypeAccess | +| delegatedProperties.kt:69:39:69:56 | KMutableProperty0<Integer> | file://:0:0:0:0 | <none> | TypeAccess | +| delegatedProperties.kt:69:39:69:56 | KMutableProperty1<MyClass,Integer> | delegatedProperties.kt:69:39:69:56 | getDelegatedToExtMember1 | TypeAccess | +| delegatedProperties.kt:69:39:69:56 | KMutableProperty1<MyClass,Integer> | delegatedProperties.kt:69:39:69:56 | setDelegatedToExtMember1 | TypeAccess | +| delegatedProperties.kt:69:39:69:56 | MyClass | delegatedProperties.kt:69:39:69:56 | getDelegatedToExtMember1 | TypeAccess | +| delegatedProperties.kt:69:39:69:56 | MyClass | delegatedProperties.kt:69:39:69:56 | setDelegatedToExtMember1 | TypeAccess | +| delegatedProperties.kt:69:39:69:56 | PropertyReferenceDelegatesKt | delegatedProperties.kt:69:39:69:56 | getDelegatedToExtMember1 | TypeAccess | +| delegatedProperties.kt:69:39:69:56 | PropertyReferenceDelegatesKt | delegatedProperties.kt:69:39:69:56 | setDelegatedToExtMember1 | TypeAccess | +| delegatedProperties.kt:69:39:69:56 | Unit | file://:0:0:0:0 | <none> | TypeAccess | +| delegatedProperties.kt:69:39:69:56 | a0 | delegatedProperties.kt:69:39:69:56 | get | VarAccess | +| delegatedProperties.kt:69:39:69:56 | a0 | delegatedProperties.kt:69:39:69:56 | get | VarAccess | +| delegatedProperties.kt:69:39:69:56 | a0 | delegatedProperties.kt:69:39:69:56 | invoke | VarAccess | +| delegatedProperties.kt:69:39:69:56 | a0 | delegatedProperties.kt:69:39:69:56 | invoke | VarAccess | +| delegatedProperties.kt:69:39:69:56 | a0 | delegatedProperties.kt:69:39:69:56 | set | VarAccess | +| delegatedProperties.kt:69:39:69:56 | a0 | delegatedProperties.kt:69:39:69:56 | set | VarAccess | +| delegatedProperties.kt:69:39:69:56 | a1 | delegatedProperties.kt:69:39:69:56 | set | VarAccess | +| delegatedProperties.kt:69:39:69:56 | a1 | delegatedProperties.kt:69:39:69:56 | set | VarAccess | +| delegatedProperties.kt:69:39:69:56 | delegatedToExtMember1$delegate | delegatedProperties.kt:65:14:65:78 | MyClass | VarAccess | +| delegatedProperties.kt:69:39:69:56 | get(...) | delegatedProperties.kt:69:39:69:56 | invoke | MethodCall | +| delegatedProperties.kt:69:39:69:56 | get(...) | delegatedProperties.kt:69:39:69:56 | invoke | MethodCall | +| delegatedProperties.kt:69:39:69:56 | getDelegatedToExtMember1(...) | delegatedProperties.kt:69:39:69:56 | get | MethodCall | +| delegatedProperties.kt:69:39:69:56 | getDelegatedToExtMember1(...) | delegatedProperties.kt:69:39:69:56 | get | MethodCall | +| delegatedProperties.kt:69:39:69:56 | getValue(...) | delegatedProperties.kt:69:39:69:56 | getDelegatedToExtMember1 | MethodCall | +| delegatedProperties.kt:69:39:69:56 | int | file://:0:0:0:0 | <none> | TypeAccess | +| delegatedProperties.kt:69:39:69:56 | int | file://:0:0:0:0 | <none> | TypeAccess | +| delegatedProperties.kt:69:39:69:56 | setDelegatedToExtMember1(...) | delegatedProperties.kt:69:39:69:56 | set | MethodCall | +| delegatedProperties.kt:69:39:69:56 | setDelegatedToExtMember1(...) | delegatedProperties.kt:69:39:69:56 | set | MethodCall | +| delegatedProperties.kt:69:39:69:56 | setValue(...) | delegatedProperties.kt:69:39:69:56 | setDelegatedToExtMember1 | MethodCall | +| delegatedProperties.kt:69:39:69:56 | this | delegatedProperties.kt:69:39:69:56 | getDelegatedToExtMember1 | ThisAccess | +| delegatedProperties.kt:69:39:69:56 | this | delegatedProperties.kt:69:39:69:56 | invoke | ThisAccess | +| delegatedProperties.kt:69:39:69:56 | this | delegatedProperties.kt:69:39:69:56 | invoke | ThisAccess | +| delegatedProperties.kt:69:39:69:56 | this | delegatedProperties.kt:69:39:69:56 | setDelegatedToExtMember1 | ThisAccess | +| delegatedProperties.kt:69:39:69:56 | this.delegatedToExtMember1$delegate | delegatedProperties.kt:69:39:69:56 | getDelegatedToExtMember1 | VarAccess | +| delegatedProperties.kt:69:39:69:56 | this.delegatedToExtMember1$delegate | delegatedProperties.kt:69:39:69:56 | setDelegatedToExtMember1 | VarAccess | | delegatedProperties.kt:69:39:69:42 | MyClass | delegatedProperties.kt:65:14:65:78 | MyClass | TypeAccess | | delegatedProperties.kt:69:39:69:42 | MyClass.this | delegatedProperties.kt:65:14:65:78 | MyClass | ThisAccess | | delegatedProperties.kt:69:39:69:56 | ...::... | delegatedProperties.kt:65:14:65:78 | MyClass | PropertyRefExpr | | delegatedProperties.kt:69:39:69:56 | ...=... | delegatedProperties.kt:69:39:69:56 | | AssignExpr | | delegatedProperties.kt:69:39:69:56 | <extensionReceiver> | delegatedProperties.kt:69:39:69:56 | | VarAccess | -| delegatedProperties.kt:69:39:69:56 | <set-?> | delegatedProperties.kt:69:36:69:56 | setDelegatedToExtMember1 | VarAccess | +| delegatedProperties.kt:69:39:69:56 | <set-?> | delegatedProperties.kt:69:39:69:56 | setDelegatedToExtMember1 | VarAccess | | delegatedProperties.kt:69:39:69:56 | DelegatedPropertiesKt | delegatedProperties.kt:69:39:69:56 | get | TypeAccess | | delegatedProperties.kt:69:39:69:56 | DelegatedPropertiesKt | delegatedProperties.kt:69:39:69:56 | set | TypeAccess | | delegatedProperties.kt:69:39:69:56 | Integer | delegatedProperties.kt:65:14:65:78 | MyClass | TypeAccess | @@ -531,52 +531,52 @@ | delegatedProperties.kt:69:39:69:56 | this.<extensionReceiver> | delegatedProperties.kt:69:39:69:56 | | VarAccess | | delegatedProperties.kt:69:39:69:56 | this.<extensionReceiver> | delegatedProperties.kt:69:39:69:56 | get | VarAccess | | delegatedProperties.kt:69:39:69:56 | this.<extensionReceiver> | delegatedProperties.kt:69:39:69:56 | set | VarAccess | -| delegatedProperties.kt:70:36:70:59 | ...::... | delegatedProperties.kt:70:36:70:59 | getDelegatedToExtMember2 | PropertyRefExpr | -| delegatedProperties.kt:70:36:70:59 | ...::... | delegatedProperties.kt:70:36:70:59 | setDelegatedToExtMember2 | PropertyRefExpr | -| delegatedProperties.kt:70:36:70:59 | ...=... | delegatedProperties.kt:65:14:65:78 | MyClass | KtInitializerAssignExpr | -| delegatedProperties.kt:70:36:70:59 | Integer | delegatedProperties.kt:70:36:70:59 | getDelegatedToExtMember2 | TypeAccess | -| delegatedProperties.kt:70:36:70:59 | Integer | delegatedProperties.kt:70:36:70:59 | getDelegatedToExtMember2 | TypeAccess | -| delegatedProperties.kt:70:36:70:59 | Integer | delegatedProperties.kt:70:36:70:59 | setDelegatedToExtMember2 | TypeAccess | -| delegatedProperties.kt:70:36:70:59 | Integer | delegatedProperties.kt:70:36:70:59 | setDelegatedToExtMember2 | TypeAccess | -| delegatedProperties.kt:70:36:70:59 | Integer | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:70:36:70:59 | KMutableProperty1<MyClass,Integer> | delegatedProperties.kt:70:36:70:59 | getDelegatedToExtMember2 | TypeAccess | -| delegatedProperties.kt:70:36:70:59 | KMutableProperty1<MyClass,Integer> | delegatedProperties.kt:70:36:70:59 | setDelegatedToExtMember2 | TypeAccess | -| delegatedProperties.kt:70:36:70:59 | KMutableProperty1<MyClass,Integer> | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:70:36:70:59 | MyClass | delegatedProperties.kt:70:36:70:59 | getDelegatedToExtMember2 | TypeAccess | -| delegatedProperties.kt:70:36:70:59 | MyClass | delegatedProperties.kt:70:36:70:59 | getDelegatedToExtMember2 | TypeAccess | -| delegatedProperties.kt:70:36:70:59 | MyClass | delegatedProperties.kt:70:36:70:59 | setDelegatedToExtMember2 | TypeAccess | -| delegatedProperties.kt:70:36:70:59 | MyClass | delegatedProperties.kt:70:36:70:59 | setDelegatedToExtMember2 | TypeAccess | -| delegatedProperties.kt:70:36:70:59 | MyClass | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:70:36:70:59 | PropertyReferenceDelegatesKt | delegatedProperties.kt:70:36:70:59 | getDelegatedToExtMember2 | TypeAccess | -| delegatedProperties.kt:70:36:70:59 | PropertyReferenceDelegatesKt | delegatedProperties.kt:70:36:70:59 | setDelegatedToExtMember2 | TypeAccess | -| delegatedProperties.kt:70:36:70:59 | Unit | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:70:36:70:59 | a0 | delegatedProperties.kt:70:36:70:59 | get | VarAccess | -| delegatedProperties.kt:70:36:70:59 | a0 | delegatedProperties.kt:70:36:70:59 | get | VarAccess | -| delegatedProperties.kt:70:36:70:59 | a0 | delegatedProperties.kt:70:36:70:59 | invoke | VarAccess | -| delegatedProperties.kt:70:36:70:59 | a0 | delegatedProperties.kt:70:36:70:59 | invoke | VarAccess | -| delegatedProperties.kt:70:36:70:59 | a0 | delegatedProperties.kt:70:36:70:59 | set | VarAccess | -| delegatedProperties.kt:70:36:70:59 | a0 | delegatedProperties.kt:70:36:70:59 | set | VarAccess | -| delegatedProperties.kt:70:36:70:59 | a1 | delegatedProperties.kt:70:36:70:59 | set | VarAccess | -| delegatedProperties.kt:70:36:70:59 | a1 | delegatedProperties.kt:70:36:70:59 | set | VarAccess | -| delegatedProperties.kt:70:36:70:59 | delegatedToExtMember2$delegate | delegatedProperties.kt:65:14:65:78 | MyClass | VarAccess | -| delegatedProperties.kt:70:36:70:59 | get(...) | delegatedProperties.kt:70:36:70:59 | invoke | MethodCall | -| delegatedProperties.kt:70:36:70:59 | get(...) | delegatedProperties.kt:70:36:70:59 | invoke | MethodCall | -| delegatedProperties.kt:70:36:70:59 | getDelegatedToExtMember2(...) | delegatedProperties.kt:70:36:70:59 | get | MethodCall | -| delegatedProperties.kt:70:36:70:59 | getDelegatedToExtMember2(...) | delegatedProperties.kt:70:36:70:59 | get | MethodCall | -| delegatedProperties.kt:70:36:70:59 | getValue(...) | delegatedProperties.kt:70:36:70:59 | getDelegatedToExtMember2 | MethodCall | -| delegatedProperties.kt:70:36:70:59 | int | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:70:36:70:59 | int | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:70:36:70:59 | setDelegatedToExtMember2(...) | delegatedProperties.kt:70:36:70:59 | set | MethodCall | -| delegatedProperties.kt:70:36:70:59 | setDelegatedToExtMember2(...) | delegatedProperties.kt:70:36:70:59 | set | MethodCall | -| delegatedProperties.kt:70:36:70:59 | setValue(...) | delegatedProperties.kt:70:36:70:59 | setDelegatedToExtMember2 | MethodCall | -| delegatedProperties.kt:70:36:70:59 | this | delegatedProperties.kt:70:36:70:59 | getDelegatedToExtMember2 | ThisAccess | -| delegatedProperties.kt:70:36:70:59 | this | delegatedProperties.kt:70:36:70:59 | invoke | ThisAccess | -| delegatedProperties.kt:70:36:70:59 | this | delegatedProperties.kt:70:36:70:59 | invoke | ThisAccess | -| delegatedProperties.kt:70:36:70:59 | this | delegatedProperties.kt:70:36:70:59 | setDelegatedToExtMember2 | ThisAccess | -| delegatedProperties.kt:70:36:70:59 | this.delegatedToExtMember2$delegate | delegatedProperties.kt:70:36:70:59 | getDelegatedToExtMember2 | VarAccess | -| delegatedProperties.kt:70:36:70:59 | this.delegatedToExtMember2$delegate | delegatedProperties.kt:70:36:70:59 | setDelegatedToExtMember2 | VarAccess | +| delegatedProperties.kt:70:39:70:59 | ...::... | delegatedProperties.kt:70:39:70:59 | getDelegatedToExtMember2 | PropertyRefExpr | +| delegatedProperties.kt:70:39:70:59 | ...::... | delegatedProperties.kt:70:39:70:59 | setDelegatedToExtMember2 | PropertyRefExpr | +| delegatedProperties.kt:70:39:70:59 | ...=... | delegatedProperties.kt:65:14:65:78 | MyClass | KtInitializerAssignExpr | +| delegatedProperties.kt:70:39:70:59 | Integer | delegatedProperties.kt:70:39:70:59 | getDelegatedToExtMember2 | TypeAccess | +| delegatedProperties.kt:70:39:70:59 | Integer | delegatedProperties.kt:70:39:70:59 | getDelegatedToExtMember2 | TypeAccess | +| delegatedProperties.kt:70:39:70:59 | Integer | delegatedProperties.kt:70:39:70:59 | setDelegatedToExtMember2 | TypeAccess | +| delegatedProperties.kt:70:39:70:59 | Integer | delegatedProperties.kt:70:39:70:59 | setDelegatedToExtMember2 | TypeAccess | +| delegatedProperties.kt:70:39:70:59 | Integer | file://:0:0:0:0 | <none> | TypeAccess | +| delegatedProperties.kt:70:39:70:59 | KMutableProperty1<MyClass,Integer> | delegatedProperties.kt:70:39:70:59 | getDelegatedToExtMember2 | TypeAccess | +| delegatedProperties.kt:70:39:70:59 | KMutableProperty1<MyClass,Integer> | delegatedProperties.kt:70:39:70:59 | setDelegatedToExtMember2 | TypeAccess | +| delegatedProperties.kt:70:39:70:59 | KMutableProperty1<MyClass,Integer> | file://:0:0:0:0 | <none> | TypeAccess | +| delegatedProperties.kt:70:39:70:59 | MyClass | delegatedProperties.kt:70:39:70:59 | getDelegatedToExtMember2 | TypeAccess | +| delegatedProperties.kt:70:39:70:59 | MyClass | delegatedProperties.kt:70:39:70:59 | getDelegatedToExtMember2 | TypeAccess | +| delegatedProperties.kt:70:39:70:59 | MyClass | delegatedProperties.kt:70:39:70:59 | setDelegatedToExtMember2 | TypeAccess | +| delegatedProperties.kt:70:39:70:59 | MyClass | delegatedProperties.kt:70:39:70:59 | setDelegatedToExtMember2 | TypeAccess | +| delegatedProperties.kt:70:39:70:59 | MyClass | file://:0:0:0:0 | <none> | TypeAccess | +| delegatedProperties.kt:70:39:70:59 | PropertyReferenceDelegatesKt | delegatedProperties.kt:70:39:70:59 | getDelegatedToExtMember2 | TypeAccess | +| delegatedProperties.kt:70:39:70:59 | PropertyReferenceDelegatesKt | delegatedProperties.kt:70:39:70:59 | setDelegatedToExtMember2 | TypeAccess | +| delegatedProperties.kt:70:39:70:59 | Unit | file://:0:0:0:0 | <none> | TypeAccess | +| delegatedProperties.kt:70:39:70:59 | a0 | delegatedProperties.kt:70:39:70:59 | get | VarAccess | +| delegatedProperties.kt:70:39:70:59 | a0 | delegatedProperties.kt:70:39:70:59 | get | VarAccess | +| delegatedProperties.kt:70:39:70:59 | a0 | delegatedProperties.kt:70:39:70:59 | invoke | VarAccess | +| delegatedProperties.kt:70:39:70:59 | a0 | delegatedProperties.kt:70:39:70:59 | invoke | VarAccess | +| delegatedProperties.kt:70:39:70:59 | a0 | delegatedProperties.kt:70:39:70:59 | set | VarAccess | +| delegatedProperties.kt:70:39:70:59 | a0 | delegatedProperties.kt:70:39:70:59 | set | VarAccess | +| delegatedProperties.kt:70:39:70:59 | a1 | delegatedProperties.kt:70:39:70:59 | set | VarAccess | +| delegatedProperties.kt:70:39:70:59 | a1 | delegatedProperties.kt:70:39:70:59 | set | VarAccess | +| delegatedProperties.kt:70:39:70:59 | delegatedToExtMember2$delegate | delegatedProperties.kt:65:14:65:78 | MyClass | VarAccess | +| delegatedProperties.kt:70:39:70:59 | get(...) | delegatedProperties.kt:70:39:70:59 | invoke | MethodCall | +| delegatedProperties.kt:70:39:70:59 | get(...) | delegatedProperties.kt:70:39:70:59 | invoke | MethodCall | +| delegatedProperties.kt:70:39:70:59 | getDelegatedToExtMember2(...) | delegatedProperties.kt:70:39:70:59 | get | MethodCall | +| delegatedProperties.kt:70:39:70:59 | getDelegatedToExtMember2(...) | delegatedProperties.kt:70:39:70:59 | get | MethodCall | +| delegatedProperties.kt:70:39:70:59 | getValue(...) | delegatedProperties.kt:70:39:70:59 | getDelegatedToExtMember2 | MethodCall | +| delegatedProperties.kt:70:39:70:59 | int | file://:0:0:0:0 | <none> | TypeAccess | +| delegatedProperties.kt:70:39:70:59 | int | file://:0:0:0:0 | <none> | TypeAccess | +| delegatedProperties.kt:70:39:70:59 | setDelegatedToExtMember2(...) | delegatedProperties.kt:70:39:70:59 | set | MethodCall | +| delegatedProperties.kt:70:39:70:59 | setDelegatedToExtMember2(...) | delegatedProperties.kt:70:39:70:59 | set | MethodCall | +| delegatedProperties.kt:70:39:70:59 | setValue(...) | delegatedProperties.kt:70:39:70:59 | setDelegatedToExtMember2 | MethodCall | +| delegatedProperties.kt:70:39:70:59 | this | delegatedProperties.kt:70:39:70:59 | getDelegatedToExtMember2 | ThisAccess | +| delegatedProperties.kt:70:39:70:59 | this | delegatedProperties.kt:70:39:70:59 | invoke | ThisAccess | +| delegatedProperties.kt:70:39:70:59 | this | delegatedProperties.kt:70:39:70:59 | invoke | ThisAccess | +| delegatedProperties.kt:70:39:70:59 | this | delegatedProperties.kt:70:39:70:59 | setDelegatedToExtMember2 | ThisAccess | +| delegatedProperties.kt:70:39:70:59 | this.delegatedToExtMember2$delegate | delegatedProperties.kt:70:39:70:59 | getDelegatedToExtMember2 | VarAccess | +| delegatedProperties.kt:70:39:70:59 | this.delegatedToExtMember2$delegate | delegatedProperties.kt:70:39:70:59 | setDelegatedToExtMember2 | VarAccess | | delegatedProperties.kt:70:39:70:59 | ...::... | delegatedProperties.kt:65:14:65:78 | MyClass | PropertyRefExpr | -| delegatedProperties.kt:70:39:70:59 | <set-?> | delegatedProperties.kt:70:36:70:59 | setDelegatedToExtMember2 | VarAccess | +| delegatedProperties.kt:70:39:70:59 | <set-?> | delegatedProperties.kt:70:39:70:59 | setDelegatedToExtMember2 | VarAccess | | delegatedProperties.kt:70:39:70:59 | DelegatedPropertiesKt | delegatedProperties.kt:70:39:70:59 | get | TypeAccess | | delegatedProperties.kt:70:39:70:59 | DelegatedPropertiesKt | delegatedProperties.kt:70:39:70:59 | set | TypeAccess | | delegatedProperties.kt:70:39:70:59 | Integer | delegatedProperties.kt:65:14:65:78 | MyClass | TypeAccess | @@ -624,27 +624,27 @@ | delegatedProperties.kt:72:39:72:56 | this | delegatedProperties.kt:72:39:72:56 | invoke | ThisAccess | | delegatedProperties.kt:72:39:72:56 | this.<dispatchReceiver> | delegatedProperties.kt:72:39:72:56 | | VarAccess | | delegatedProperties.kt:72:39:72:56 | this.<dispatchReceiver> | delegatedProperties.kt:72:39:72:56 | get | VarAccess | -| delegatedProperties.kt:73:36:73:56 | ...::... | delegatedProperties.kt:73:36:73:56 | getDelegatedToBaseClass2 | PropertyRefExpr | -| delegatedProperties.kt:73:36:73:56 | ...=... | delegatedProperties.kt:65:14:65:78 | MyClass | KtInitializerAssignExpr | -| delegatedProperties.kt:73:36:73:56 | Base | delegatedProperties.kt:73:36:73:56 | getDelegatedToBaseClass2 | TypeAccess | -| delegatedProperties.kt:73:36:73:56 | Base | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:73:36:73:56 | Integer | delegatedProperties.kt:73:36:73:56 | getDelegatedToBaseClass2 | TypeAccess | -| delegatedProperties.kt:73:36:73:56 | Integer | delegatedProperties.kt:73:36:73:56 | getDelegatedToBaseClass2 | TypeAccess | -| delegatedProperties.kt:73:36:73:56 | Integer | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:73:36:73:56 | KProperty1<Base,Integer> | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:73:36:73:56 | KProperty1<MyClass,Integer> | delegatedProperties.kt:73:36:73:56 | getDelegatedToBaseClass2 | TypeAccess | -| delegatedProperties.kt:73:36:73:56 | MyClass | delegatedProperties.kt:73:36:73:56 | getDelegatedToBaseClass2 | TypeAccess | -| delegatedProperties.kt:73:36:73:56 | PropertyReferenceDelegatesKt | delegatedProperties.kt:73:36:73:56 | getDelegatedToBaseClass2 | TypeAccess | -| delegatedProperties.kt:73:36:73:56 | a0 | delegatedProperties.kt:73:36:73:56 | get | VarAccess | -| delegatedProperties.kt:73:36:73:56 | a0 | delegatedProperties.kt:73:36:73:56 | invoke | VarAccess | -| delegatedProperties.kt:73:36:73:56 | delegatedToBaseClass2$delegate | delegatedProperties.kt:65:14:65:78 | MyClass | VarAccess | -| delegatedProperties.kt:73:36:73:56 | get(...) | delegatedProperties.kt:73:36:73:56 | invoke | MethodCall | -| delegatedProperties.kt:73:36:73:56 | getDelegatedToBaseClass2(...) | delegatedProperties.kt:73:36:73:56 | get | MethodCall | -| delegatedProperties.kt:73:36:73:56 | getValue(...) | delegatedProperties.kt:73:36:73:56 | getDelegatedToBaseClass2 | MethodCall | -| delegatedProperties.kt:73:36:73:56 | int | file://:0:0:0:0 | <none> | TypeAccess | -| delegatedProperties.kt:73:36:73:56 | this | delegatedProperties.kt:73:36:73:56 | getDelegatedToBaseClass2 | ThisAccess | -| delegatedProperties.kt:73:36:73:56 | this | delegatedProperties.kt:73:36:73:56 | invoke | ThisAccess | -| delegatedProperties.kt:73:36:73:56 | this.delegatedToBaseClass2$delegate | delegatedProperties.kt:73:36:73:56 | getDelegatedToBaseClass2 | VarAccess | +| delegatedProperties.kt:73:39:73:56 | ...::... | delegatedProperties.kt:73:39:73:56 | getDelegatedToBaseClass2 | PropertyRefExpr | +| delegatedProperties.kt:73:39:73:56 | ...=... | delegatedProperties.kt:65:14:65:78 | MyClass | KtInitializerAssignExpr | +| delegatedProperties.kt:73:39:73:56 | Base | delegatedProperties.kt:73:39:73:56 | getDelegatedToBaseClass2 | TypeAccess | +| delegatedProperties.kt:73:39:73:56 | Base | file://:0:0:0:0 | <none> | TypeAccess | +| delegatedProperties.kt:73:39:73:56 | Integer | delegatedProperties.kt:73:39:73:56 | getDelegatedToBaseClass2 | TypeAccess | +| delegatedProperties.kt:73:39:73:56 | Integer | delegatedProperties.kt:73:39:73:56 | getDelegatedToBaseClass2 | TypeAccess | +| delegatedProperties.kt:73:39:73:56 | Integer | file://:0:0:0:0 | <none> | TypeAccess | +| delegatedProperties.kt:73:39:73:56 | KProperty1<Base,Integer> | file://:0:0:0:0 | <none> | TypeAccess | +| delegatedProperties.kt:73:39:73:56 | KProperty1<MyClass,Integer> | delegatedProperties.kt:73:39:73:56 | getDelegatedToBaseClass2 | TypeAccess | +| delegatedProperties.kt:73:39:73:56 | MyClass | delegatedProperties.kt:73:39:73:56 | getDelegatedToBaseClass2 | TypeAccess | +| delegatedProperties.kt:73:39:73:56 | PropertyReferenceDelegatesKt | delegatedProperties.kt:73:39:73:56 | getDelegatedToBaseClass2 | TypeAccess | +| delegatedProperties.kt:73:39:73:56 | a0 | delegatedProperties.kt:73:39:73:56 | get | VarAccess | +| delegatedProperties.kt:73:39:73:56 | a0 | delegatedProperties.kt:73:39:73:56 | invoke | VarAccess | +| delegatedProperties.kt:73:39:73:56 | delegatedToBaseClass2$delegate | delegatedProperties.kt:65:14:65:78 | MyClass | VarAccess | +| delegatedProperties.kt:73:39:73:56 | get(...) | delegatedProperties.kt:73:39:73:56 | invoke | MethodCall | +| delegatedProperties.kt:73:39:73:56 | getDelegatedToBaseClass2(...) | delegatedProperties.kt:73:39:73:56 | get | MethodCall | +| delegatedProperties.kt:73:39:73:56 | getValue(...) | delegatedProperties.kt:73:39:73:56 | getDelegatedToBaseClass2 | MethodCall | +| delegatedProperties.kt:73:39:73:56 | int | file://:0:0:0:0 | <none> | TypeAccess | +| delegatedProperties.kt:73:39:73:56 | this | delegatedProperties.kt:73:39:73:56 | getDelegatedToBaseClass2 | ThisAccess | +| delegatedProperties.kt:73:39:73:56 | this | delegatedProperties.kt:73:39:73:56 | invoke | ThisAccess | +| delegatedProperties.kt:73:39:73:56 | this.delegatedToBaseClass2$delegate | delegatedProperties.kt:73:39:73:56 | getDelegatedToBaseClass2 | VarAccess | | delegatedProperties.kt:73:39:73:56 | ...::... | delegatedProperties.kt:65:14:65:78 | MyClass | PropertyRefExpr | | delegatedProperties.kt:73:39:73:56 | Base | delegatedProperties.kt:65:14:65:78 | MyClass | TypeAccess | | delegatedProperties.kt:73:39:73:56 | Integer | delegatedProperties.kt:65:14:65:78 | MyClass | TypeAccess | @@ -1414,29 +1414,29 @@ | exprs.kt:157:8:157:8 | x | exprs.kt:156:1:163:1 | typeTests | VarAccess | | exprs.kt:157:8:157:21 | ...instanceof... | exprs.kt:156:1:163:1 | typeTests | InstanceOfExpr | | exprs.kt:157:8:157:21 | Subclass1 | exprs.kt:156:1:163:1 | typeTests | TypeAccess | -| exprs.kt:158:13:158:14 | x1 | exprs.kt:156:1:163:1 | typeTests | LocalVariableDeclExpr | +| exprs.kt:158:9:158:29 | x1 | exprs.kt:156:1:163:1 | typeTests | LocalVariableDeclExpr | | exprs.kt:158:29:158:29 | <implicit cast> | exprs.kt:156:1:163:1 | typeTests | ImplicitCastExpr | | exprs.kt:158:29:158:29 | Subclass1 | exprs.kt:156:1:163:1 | typeTests | TypeAccess | | exprs.kt:158:29:158:29 | x | exprs.kt:156:1:163:1 | typeTests | VarAccess | -| exprs.kt:160:9:160:10 | y1 | exprs.kt:156:1:163:1 | typeTests | LocalVariableDeclExpr | +| exprs.kt:160:5:160:60 | y1 | exprs.kt:156:1:163:1 | typeTests | LocalVariableDeclExpr | | exprs.kt:160:25:160:60 | true | exprs.kt:156:1:163:1 | typeTests | BooleanLiteral | | exprs.kt:160:25:160:60 | when ... | exprs.kt:156:1:163:1 | typeTests | WhenExpr | | exprs.kt:160:29:160:29 | x | exprs.kt:156:1:163:1 | typeTests | VarAccess | | exprs.kt:160:29:160:42 | ...instanceof... | exprs.kt:156:1:163:1 | typeTests | InstanceOfExpr | | exprs.kt:160:29:160:42 | Subclass1 | exprs.kt:156:1:163:1 | typeTests | TypeAccess | | exprs.kt:160:45:160:49 | <Stmt> | exprs.kt:156:1:163:1 | typeTests | StmtExpr | -| exprs.kt:160:45:160:49 | <implicit cast> | exprs.kt:156:1:163:1 | typeTests | ImplicitCastExpr | -| exprs.kt:160:45:160:49 | Subclass1 | exprs.kt:156:1:163:1 | typeTests | TypeAccess | +| exprs.kt:160:47:160:47 | <implicit cast> | exprs.kt:156:1:163:1 | typeTests | ImplicitCastExpr | +| exprs.kt:160:47:160:47 | Subclass1 | exprs.kt:156:1:163:1 | typeTests | TypeAccess | | exprs.kt:160:47:160:47 | x | exprs.kt:156:1:163:1 | typeTests | VarAccess | | exprs.kt:160:58:160:58 | y | exprs.kt:156:1:163:1 | typeTests | VarAccess | -| exprs.kt:161:9:161:9 | q | exprs.kt:156:1:163:1 | typeTests | LocalVariableDeclExpr | +| exprs.kt:161:5:161:13 | q | exprs.kt:156:1:163:1 | typeTests | LocalVariableDeclExpr | | exprs.kt:161:13:161:13 | 1 | exprs.kt:156:1:163:1 | typeTests | IntegerLiteral | | exprs.kt:162:5:162:48 | true | exprs.kt:156:1:163:1 | typeTests | BooleanLiteral | | exprs.kt:162:5:162:48 | when ... | exprs.kt:156:1:163:1 | typeTests | WhenExpr | | exprs.kt:162:9:162:9 | x | exprs.kt:156:1:163:1 | typeTests | VarAccess | | exprs.kt:162:9:162:22 | ...instanceof... | exprs.kt:156:1:163:1 | typeTests | InstanceOfExpr | | exprs.kt:162:9:162:22 | Subclass1 | exprs.kt:156:1:163:1 | typeTests | TypeAccess | -| exprs.kt:162:27:162:27 | q | exprs.kt:156:1:163:1 | typeTests | VarAccess | +| exprs.kt:162:27:162:31 | q | exprs.kt:156:1:163:1 | typeTests | VarAccess | | exprs.kt:162:27:162:31 | ...=... | exprs.kt:156:1:163:1 | typeTests | AssignExpr | | exprs.kt:162:31:162:31 | 2 | exprs.kt:156:1:163:1 | typeTests | IntegerLiteral | | exprs.kt:162:42:162:42 | q | exprs.kt:156:1:163:1 | typeTests | VarAccess | @@ -1444,23 +1444,23 @@ | exprs.kt:162:46:162:46 | 3 | exprs.kt:156:1:163:1 | typeTests | IntegerLiteral | | exprs.kt:165:1:172:1 | Unit | file://:0:0:0:0 | <none> | TypeAccess | | exprs.kt:165:9:165:18 | Polygon | file://:0:0:0:0 | <none> | TypeAccess | -| exprs.kt:166:9:166:9 | r | exprs.kt:165:1:172:1 | foo | LocalVariableDeclExpr | +| exprs.kt:166:5:166:25 | r | exprs.kt:165:1:172:1 | foo | LocalVariableDeclExpr | | exprs.kt:166:13:166:13 | p | exprs.kt:165:1:172:1 | foo | VarAccess | | exprs.kt:166:13:166:25 | getBounds(...) | exprs.kt:165:1:172:1 | foo | MethodCall | | exprs.kt:167:5:171:5 | when ... | exprs.kt:165:1:172:1 | foo | WhenExpr | | exprs.kt:167:8:167:8 | r | exprs.kt:165:1:172:1 | foo | VarAccess | | exprs.kt:167:8:167:16 | ... (value not-equals) ... | exprs.kt:165:1:172:1 | foo | ValueNEExpr | | exprs.kt:167:13:167:16 | null | exprs.kt:165:1:172:1 | foo | NullLiteral | -| exprs.kt:168:13:168:14 | r2 | exprs.kt:165:1:172:1 | foo | LocalVariableDeclExpr | +| exprs.kt:168:9:168:29 | r2 | exprs.kt:165:1:172:1 | foo | LocalVariableDeclExpr | | exprs.kt:168:29:168:29 | <implicit not null> | exprs.kt:165:1:172:1 | foo | ImplicitNotNullExpr | | exprs.kt:168:29:168:29 | Rectangle | exprs.kt:165:1:172:1 | foo | TypeAccess | | exprs.kt:168:29:168:29 | r | exprs.kt:165:1:172:1 | foo | VarAccess | -| exprs.kt:169:13:169:18 | height | exprs.kt:165:1:172:1 | foo | LocalVariableDeclExpr | +| exprs.kt:169:9:169:30 | height | exprs.kt:165:1:172:1 | foo | LocalVariableDeclExpr | | exprs.kt:169:22:169:23 | r2 | exprs.kt:165:1:172:1 | foo | VarAccess | | exprs.kt:169:25:169:30 | r2.height | exprs.kt:165:1:172:1 | foo | VarAccess | | exprs.kt:170:9:170:10 | r2 | exprs.kt:165:1:172:1 | foo | VarAccess | -| exprs.kt:170:9:170:17 | r2.height | exprs.kt:165:1:172:1 | foo | VarAccess | -| exprs.kt:170:9:170:21 | ...=... | exprs.kt:165:1:172:1 | foo | AssignExpr | +| exprs.kt:170:12:170:21 | r2.height | exprs.kt:165:1:172:1 | foo | VarAccess | +| exprs.kt:170:12:170:21 | ...=... | exprs.kt:165:1:172:1 | foo | AssignExpr | | exprs.kt:170:21:170:21 | 3 | exprs.kt:165:1:172:1 | foo | IntegerLiteral | | exprs.kt:174:1:176:1 | 0 | exprs.kt:174:1:176:1 | Direction | IntegerLiteral | | exprs.kt:174:1:176:1 | Direction | exprs.kt:174:1:176:1 | Direction | TypeAccess | @@ -1471,7 +1471,7 @@ | exprs.kt:174:1:176:1 | Enum<Direction> | exprs.kt:174:1:176:1 | Direction | TypeAccess | | exprs.kt:174:1:176:1 | EnumEntries<Direction> | file://:0:0:0:0 | <none> | TypeAccess | | exprs.kt:174:1:176:1 | String | file://:0:0:0:0 | <none> | TypeAccess | -| exprs.kt:174:1:176:1 | new Enum(...) | exprs.kt:174:1:176:1 | Direction | ClassInstanceExpr | +| exprs.kt:174:1:176:1 | new Enum<Direction>(...) | exprs.kt:174:1:176:1 | Direction | ClassInstanceExpr | | exprs.kt:174:1:176:1 | null | exprs.kt:174:1:176:1 | Direction | NullLiteral | | exprs.kt:175:5:175:10 | ...=... | exprs.kt:0:0:0:0 | <clinit> | KtInitializerAssignExpr | | exprs.kt:175:5:175:10 | Direction | exprs.kt:0:0:0:0 | <clinit> | TypeAccess | diff --git a/java/ql/test/TestUtilities/InlineFlowTest.qll b/java/ql/test/TestUtilities/InlineFlowTest.qll index d815f302638..500e4783614 100644 --- a/java/ql/test/TestUtilities/InlineFlowTest.qll +++ b/java/ql/test/TestUtilities/InlineFlowTest.qll @@ -10,7 +10,7 @@ private import semmle.code.java.dataflow.internal.DataFlowImplSpecific private import semmle.code.java.dataflow.internal.TaintTrackingImplSpecific private import internal.InlineExpectationsTestImpl -private module FlowTestImpl implements InputSig<JavaDataFlow> { +private module FlowTestImpl implements InputSig<Location, JavaDataFlow> { predicate defaultSource(DataFlow::Node source) { source.asExpr().(MethodCall).getMethod().getName() = ["source", "taint"] } @@ -30,4 +30,4 @@ private module FlowTestImpl implements InputSig<JavaDataFlow> { } } -import InlineFlowTestMake<JavaDataFlow, JavaTaintTracking, Impl, FlowTestImpl> +import InlineFlowTestMake<Location, JavaDataFlow, JavaTaintTracking, Impl, FlowTestImpl> diff --git a/java/ql/test/ext/TestModels/Test.java b/java/ql/test/ext/TestModels/Test.java index 6bbc7a07879..f54007ada9e 100644 --- a/java/ql/test/ext/TestModels/Test.java +++ b/java/ql/test/ext/TestModels/Test.java @@ -110,9 +110,6 @@ public class Test { File f2 = (File)source(); sink(f2.getPath()); // $hasTaintFlow - File f3 = (File)source(); - sink(f3.listFiles()); // $hasTaintFlow - StringWriter sw = (StringWriter)source(); sink(sw.toString()); // $hasTaintFlow diff --git a/java/ql/test/query-tests/Metrics/GeneratedVsManualCoverage/TopJdkApisTest/TopJdkApis/java/io/File.java b/java/ql/test/query-tests/Metrics/GeneratedVsManualCoverage/TopJdkApisTest/TopJdkApis/java/io/File.java index 878aa9d3086..54a16d3c22d 100644 --- a/java/ql/test/query-tests/Metrics/GeneratedVsManualCoverage/TopJdkApisTest/TopJdkApis/java/io/File.java +++ b/java/ql/test/query-tests/Metrics/GeneratedVsManualCoverage/TopJdkApisTest/TopJdkApis/java/io/File.java @@ -16,7 +16,6 @@ public class File implements Serializable public File(File p0, String p1){} // manual summary public File(String p0){} // manual summary public File(String p0, String p1){} // manual summary - public File[] listFiles(){ return null; } // manual summary public Path toPath(){ return null; } // manual summary public String getAbsolutePath(){ return null; } // manual summary public String getName(){ return null; } // manual summary @@ -26,6 +25,7 @@ public class File implements Serializable public boolean exists(){ return false; } // manual neutral public boolean isDirectory(){ return false; } // manual neutral public boolean isFile(){ return false; } // manual neutral + public File[] listFiles(){ return null; } // manual neutral public boolean mkdirs(){ return false; } // manual neutral public long length(){ return 0; } // manual neutral } diff --git a/java/ql/test/query-tests/Metrics/GeneratedVsManualCoverage/TopJdkApisTest/TopJdkApisTest.expected b/java/ql/test/query-tests/Metrics/GeneratedVsManualCoverage/TopJdkApisTest/TopJdkApisTest.expected index df21c086b2f..64748f77765 100644 --- a/java/ql/test/query-tests/Metrics/GeneratedVsManualCoverage/TopJdkApisTest/TopJdkApisTest.expected +++ b/java/ql/test/query-tests/Metrics/GeneratedVsManualCoverage/TopJdkApisTest/TopJdkApisTest.expected @@ -1,5 +1,5 @@ | java.awt | 0 | 0 | 2 | 1 | 3 | 0.6666666666666666 | 0.0 | 0.6666666666666666 | 0.0 | NaN | 0.3333333333333333 | -| java.io | 0 | 0 | 21 | 15 | 36 | 0.5833333333333334 | 0.0 | 0.5833333333333334 | 0.0 | NaN | 0.4166666666666667 | +| java.io | 0 | 0 | 20 | 16 | 36 | 0.5555555555555556 | 0.0 | 0.5555555555555556 | 0.0 | NaN | 0.4444444444444444 | | java.lang | 0 | 0 | 57 | 88 | 145 | 0.3931034482758621 | 0.0 | 0.3931034482758621 | 0.0 | NaN | 0.6068965517241379 | | java.lang.invoke | 0 | 0 | 0 | 1 | 1 | 0.0 | 0.0 | 0.0 | NaN | NaN | 1.0 | | java.lang.reflect | 0 | 0 | 0 | 4 | 4 | 0.0 | 0.0 | 0.0 | NaN | NaN | 1.0 | diff --git a/java/ql/test/query-tests/security/CWE-601/semmle/tests/UrlRedirect.expected b/java/ql/test/query-tests/security/CWE-601/semmle/tests/UrlRedirect.expected index 3757e51134b..cf5af88efd8 100644 --- a/java/ql/test/query-tests/security/CWE-601/semmle/tests/UrlRedirect.expected +++ b/java/ql/test/query-tests/security/CWE-601/semmle/tests/UrlRedirect.expected @@ -6,6 +6,7 @@ edges | mad/Test.java:9:16:9:41 | getParameter(...) : String | mad/Test.java:14:31:14:38 | source(...) : String | provenance | | | mad/Test.java:14:31:14:38 | source(...) : String | mad/Test.java:14:22:14:38 | (...)... | provenance | | nodes +| UrlRedirect2.java:27:25:27:54 | getParameter(...) | semmle.label | getParameter(...) | | UrlRedirect.java:23:25:23:54 | getParameter(...) | semmle.label | getParameter(...) | | UrlRedirect.java:32:25:32:67 | weakCleanup(...) | semmle.label | weakCleanup(...) | | UrlRedirect.java:32:37:32:66 | getParameter(...) : String | semmle.label | getParameter(...) : String | @@ -20,6 +21,7 @@ nodes subpaths | UrlRedirect.java:32:37:32:66 | getParameter(...) : String | UrlRedirect.java:45:28:45:39 | input : String | UrlRedirect.java:46:10:46:40 | replaceAll(...) : String | UrlRedirect.java:32:25:32:67 | weakCleanup(...) | #select +| UrlRedirect2.java:27:25:27:54 | getParameter(...) | UrlRedirect2.java:27:25:27:54 | getParameter(...) | UrlRedirect2.java:27:25:27:54 | getParameter(...) | Untrusted URL redirection depends on a $@. | UrlRedirect2.java:27:25:27:54 | getParameter(...) | user-provided value | | UrlRedirect.java:23:25:23:54 | getParameter(...) | UrlRedirect.java:23:25:23:54 | getParameter(...) | UrlRedirect.java:23:25:23:54 | getParameter(...) | Untrusted URL redirection depends on a $@. | UrlRedirect.java:23:25:23:54 | getParameter(...) | user-provided value | | UrlRedirect.java:32:25:32:67 | weakCleanup(...) | UrlRedirect.java:32:37:32:66 | getParameter(...) : String | UrlRedirect.java:32:25:32:67 | weakCleanup(...) | Untrusted URL redirection depends on a $@. | UrlRedirect.java:32:37:32:66 | getParameter(...) | user-provided value | | UrlRedirect.java:39:34:39:63 | getParameter(...) | UrlRedirect.java:39:34:39:63 | getParameter(...) | UrlRedirect.java:39:34:39:63 | getParameter(...) | Untrusted URL redirection depends on a $@. | UrlRedirect.java:39:34:39:63 | getParameter(...) | user-provided value | diff --git a/java/ql/test/query-tests/security/CWE-601/semmle/tests/UrlRedirect2.java b/java/ql/test/query-tests/security/CWE-601/semmle/tests/UrlRedirect2.java new file mode 100644 index 00000000000..9014dcae7f2 --- /dev/null +++ b/java/ql/test/query-tests/security/CWE-601/semmle/tests/UrlRedirect2.java @@ -0,0 +1,52 @@ +// Test case for +// CWE-601: URL Redirection to Untrusted Site ('Open Redirect') +// http://cwe.mitre.org/data/definitions/601.html + +package test.cwe601.cwe.examples; + +import java.io.IOException; +import java.util.Arrays; +import java.util.List; +import java.net.URI; +import java.net.URISyntaxException; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +public class UrlRedirect2 extends HttpServlet { + private static final List<String> VALID_REDIRECTS = Arrays.asList( + "http://cwe.mitre.org/data/definitions/601.html", + "http://cwe.mitre.org/data/definitions/79.html" + ); + + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + // BAD: a request parameter is incorporated without validation into a URL redirect + response.sendRedirect(request.getParameter("target")); + + // GOOD: the request parameter is validated against a known list of strings + String target = request.getParameter("target"); + if (VALID_REDIRECTS.contains(target)) { + response.sendRedirect(target); + } + + try { + String urlString = request.getParameter("page"); + URI url = new URI(urlString); + + if (!url.isAbsolute()) { + // GOOD: The redirect is to a relative URL + response.sendRedirect(url.toString()); + } + + if ("example.org".equals(url.getHost())) { + // GOOD: The redirect is to a known host + response.sendRedirect(url.toString()); + } + } catch (URISyntaxException e) { + // handle exception + } + } +} diff --git a/javascript/extractor/lib/typescript/package-lock.json b/javascript/extractor/lib/typescript/package-lock.json index 2d448ae0448..e03fbf0c6a6 100644 --- a/javascript/extractor/lib/typescript/package-lock.json +++ b/javascript/extractor/lib/typescript/package-lock.json @@ -6,7 +6,7 @@ "": { "name": "typescript-parser-wrapper", "dependencies": { - "typescript": "5.3.2" + "typescript": "5.4.2" }, "devDependencies": { "@types/node": "18.15.3" @@ -20,9 +20,9 @@ "license": "MIT" }, "node_modules/typescript": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.2.tgz", - "integrity": "sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==", + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.2.tgz", + "integrity": "sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" diff --git a/javascript/extractor/lib/typescript/package.json b/javascript/extractor/lib/typescript/package.json index 602379bc36a..d8b228fc402 100644 --- a/javascript/extractor/lib/typescript/package.json +++ b/javascript/extractor/lib/typescript/package.json @@ -2,7 +2,7 @@ "name": "typescript-parser-wrapper", "private": true, "dependencies": { - "typescript": "5.3.2" + "typescript": "5.4.2" }, "scripts": { "build": "tsc --project tsconfig.json", diff --git a/javascript/ql/lib/CHANGELOG.md b/javascript/ql/lib/CHANGELOG.md index 5b97ebbb22b..ae256e58d6d 100644 --- a/javascript/ql/lib/CHANGELOG.md +++ b/javascript/ql/lib/CHANGELOG.md @@ -1,3 +1,11 @@ +## 0.8.11 + +No user-facing changes. + +## 0.8.10 + +No user-facing changes. + ## 0.8.9 ### Minor Analysis Improvements diff --git a/javascript/ql/lib/change-notes/2024-02-02-typescript-5-4.md b/javascript/ql/lib/change-notes/2024-02-02-typescript-5-4.md new file mode 100644 index 00000000000..836719b5d6b --- /dev/null +++ b/javascript/ql/lib/change-notes/2024-02-02-typescript-5-4.md @@ -0,0 +1,4 @@ +--- +category: majorAnalysis +--- +* Added support for TypeScript 5.4. \ No newline at end of file diff --git a/javascript/ql/lib/change-notes/released/0.8.10.md b/javascript/ql/lib/change-notes/released/0.8.10.md new file mode 100644 index 00000000000..777bbd2fded --- /dev/null +++ b/javascript/ql/lib/change-notes/released/0.8.10.md @@ -0,0 +1,3 @@ +## 0.8.10 + +No user-facing changes. diff --git a/javascript/ql/lib/change-notes/released/0.8.11.md b/javascript/ql/lib/change-notes/released/0.8.11.md new file mode 100644 index 00000000000..6f504c5c207 --- /dev/null +++ b/javascript/ql/lib/change-notes/released/0.8.11.md @@ -0,0 +1,3 @@ +## 0.8.11 + +No user-facing changes. diff --git a/javascript/ql/lib/codeql-pack.release.yml b/javascript/ql/lib/codeql-pack.release.yml index 5290c29b7fe..7b42a9d984c 100644 --- a/javascript/ql/lib/codeql-pack.release.yml +++ b/javascript/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.8.9 +lastReleaseVersion: 0.8.11 diff --git a/javascript/ql/lib/qlpack.yml b/javascript/ql/lib/qlpack.yml index ef3ca7521ac..6c7d9df15d5 100644 --- a/javascript/ql/lib/qlpack.yml +++ b/javascript/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-all -version: 0.8.10-dev +version: 0.8.12-dev groups: javascript dbscheme: semmlecode.javascript.dbscheme extractor: javascript diff --git a/javascript/ql/lib/semmle/javascript/AMD.qll b/javascript/ql/lib/semmle/javascript/AMD.qll index 20b1c26275a..b28dd5b9b72 100644 --- a/javascript/ql/lib/semmle/javascript/AMD.qll +++ b/javascript/ql/lib/semmle/javascript/AMD.qll @@ -61,7 +61,13 @@ class AmdModuleDefinition extends CallExpr instanceof AmdModuleDefinition::Range } /** Gets the `i`th dependency of this module definition. */ - PathExpr getDependency(int i) { result = this.getDependencies().getElement(i) } + PathExpr getDependency(int i) { + exists(Expr expr | + expr = this.getDependencies().getElement(i) and + not isPseudoDependency(expr.getStringValue()) and + result = expr + ) + } /** Gets a dependency of this module definition. */ PathExpr getADependency() { @@ -102,9 +108,10 @@ class AmdModuleDefinition extends CallExpr instanceof AmdModuleDefinition::Range /** * Holds if `p` is the parameter corresponding to dependency `dep`. */ - predicate dependencyParameter(PathExpr dep, Parameter p) { + predicate dependencyParameter(Expr dep, Parameter p) { exists(int i | - dep = this.getDependency(i) and + // Note: to avoid spurious recursion, do not depend on PathExpr here + dep = this.getDependencies().getElement(i) and p = this.getFactoryParameter(i) ) } @@ -122,9 +129,9 @@ class AmdModuleDefinition extends CallExpr instanceof AmdModuleDefinition::Range * `dep1` and `dep2`. */ Parameter getDependencyParameter(string name) { - exists(PathExpr dep | + exists(Expr dep | this.dependencyParameter(dep, result) and - dep.getValue() = name + name = dep.getStringValue() ) } @@ -202,11 +209,15 @@ class AmdModuleDefinition extends CallExpr instanceof AmdModuleDefinition::Range } } +private predicate isPseudoDependency(string s) { s = ["exports", "require", "module"] } + /** An AMD dependency, considered as a path expression. */ private class AmdDependencyPath extends PathExprCandidate { AmdDependencyPath() { exists(AmdModuleDefinition amd | - this = amd.getDependencies().getAnElement() or + this = amd.getDependencies().getAnElement() and + not isPseudoDependency(this.getStringValue()) + or this = amd.getARequireCall().getAnArgument() ) } diff --git a/javascript/ql/lib/semmle/javascript/AST.qll b/javascript/ql/lib/semmle/javascript/AST.qll index e4a1cf944c4..412f2036280 100644 --- a/javascript/ql/lib/semmle/javascript/AST.qll +++ b/javascript/ql/lib/semmle/javascript/AST.qll @@ -23,31 +23,27 @@ private import semmle.javascript.internal.CachedStages * ``` */ class AstNode extends @ast_node, NodeInStmtContainer { - override Location getLocation() { hasLocation(this, result) } - override File getFile() { result = this.getLocation().getFile() // Specialized for performance reasons } /** Gets the first token belonging to this element. */ Token getFirstToken() { - exists(Location l1, Location l2 | + exists(DbLocation l1, DbLocation l2, string filepath, int startline, int startcolumn | l1 = this.getLocation() and l2 = result.getLocation() and - l1.getFile() = l2.getFile() and - l1.getStartLine() = l2.getStartLine() and - l1.getStartColumn() = l2.getStartColumn() + l1.hasLocationInfo(filepath, startline, startcolumn, _, _) and + l2.hasLocationInfo(filepath, startline, startcolumn, _, _) ) } /** Gets the last token belonging to this element. */ Token getLastToken() { - exists(Location l1, Location l2 | + exists(DbLocation l1, DbLocation l2, string filepath, int endline, int endcolumn | l1 = this.getLocation() and l2 = result.getLocation() and - l1.getFile() = l2.getFile() and - l1.getEndLine() = l2.getEndLine() and - l1.getEndColumn() = l2.getEndColumn() + l1.hasLocationInfo(filepath, _, _, endline, endcolumn) and + l2.hasLocationInfo(filepath, _, _, endline, endcolumn) ) and // exclude empty EOF token not result instanceof EOFToken diff --git a/javascript/ql/lib/semmle/javascript/Arrays.qll b/javascript/ql/lib/semmle/javascript/Arrays.qll index 64ed34ae631..cd982855a15 100644 --- a/javascript/ql/lib/semmle/javascript/Arrays.qll +++ b/javascript/ql/lib/semmle/javascript/Arrays.qll @@ -36,7 +36,8 @@ module ArrayTaintTracking { succ = call ) or - // `array.filter(x => x)` and `array.filter(x => !!x)` keeps the taint + // `array.filter(x => x)` and `array.filter(x => !<something>)` keeps the taint + // the latter is assumed to filter away only specific values, thus keeping the taint call.(DataFlow::MethodCallNode).getMethodName() = "filter" and pred = call.getReceiver() and succ = call and @@ -47,7 +48,7 @@ module ArrayTaintTracking { | param = ret or - param = DataFlow::exprNode(ret.asExpr().(LogNotExpr).getOperand().(LogNotExpr).getOperand()) + ret.asExpr() instanceof LogNotExpr ) or // `array.reduce` with tainted value in callback diff --git a/javascript/ql/lib/semmle/javascript/CFG.qll b/javascript/ql/lib/semmle/javascript/CFG.qll index 81bbef4c6d2..95e1e9aef72 100644 --- a/javascript/ql/lib/semmle/javascript/CFG.qll +++ b/javascript/ql/lib/semmle/javascript/CFG.qll @@ -356,9 +356,7 @@ class ControlFlowNode extends @cfg_node, Locatable, NodeInStmtContainer { * A synthetic CFG node that does not correspond to a statement or expression; * examples include guard nodes and entry/exit nodes. */ -class SyntheticControlFlowNode extends @synthetic_cfg_node, ControlFlowNode { - override Location getLocation() { hasLocation(this, result) } -} +class SyntheticControlFlowNode extends @synthetic_cfg_node, ControlFlowNode { } /** A synthetic CFG node marking the entry point of a function or toplevel script. */ class ControlFlowEntryNode extends SyntheticControlFlowNode, @entry_node { diff --git a/javascript/ql/lib/semmle/javascript/Comments.qll b/javascript/ql/lib/semmle/javascript/Comments.qll index 4888aae0b6d..889843728a2 100644 --- a/javascript/ql/lib/semmle/javascript/Comments.qll +++ b/javascript/ql/lib/semmle/javascript/Comments.qll @@ -15,8 +15,6 @@ import javascript * </pre> */ class Comment extends @comment, Locatable { - override Location getLocation() { hasLocation(this, result) } - /** Gets the toplevel element this comment belongs to. */ TopLevel getTopLevel() { comments(this, _, result, _, _) } diff --git a/javascript/ql/lib/semmle/javascript/Errors.qll b/javascript/ql/lib/semmle/javascript/Errors.qll index 72996502997..6a5d73566a4 100644 --- a/javascript/ql/lib/semmle/javascript/Errors.qll +++ b/javascript/ql/lib/semmle/javascript/Errors.qll @@ -4,8 +4,6 @@ import javascript /** An error encountered during extraction. */ abstract class Error extends Locatable { - override Location getLocation() { hasLocation(this, result) } - /** Gets the message associated with this error. */ abstract string getMessage(); diff --git a/javascript/ql/lib/semmle/javascript/Files.qll b/javascript/ql/lib/semmle/javascript/Files.qll index b384febb9a1..88513f087ae 100644 --- a/javascript/ql/lib/semmle/javascript/Files.qll +++ b/javascript/ql/lib/semmle/javascript/Files.qll @@ -3,6 +3,7 @@ import javascript private import NodeModuleResolutionImpl private import codeql.util.FileSystem +private import internal.Locations private module FsInput implements InputSig { abstract class ContainerBase extends @container { @@ -83,7 +84,7 @@ class File extends Container, Impl::File { * * Note that files have special locations starting and ending at line zero, column zero. */ - Location getLocation() { hasLocation(this, result) } + DbLocation getLocation() { result = getLocatableLocation(this) } /** Gets the number of lines in this file. */ int getNumberOfLines() { result = sum(int loc | numlines(this, loc, _, _) | loc) } diff --git a/javascript/ql/lib/semmle/javascript/HTML.qll b/javascript/ql/lib/semmle/javascript/HTML.qll index 5ba02cba7cb..01ce54cef52 100644 --- a/javascript/ql/lib/semmle/javascript/HTML.qll +++ b/javascript/ql/lib/semmle/javascript/HTML.qll @@ -43,8 +43,6 @@ module HTML { class Element extends Locatable, @xmlelement { Element() { exists(FileContainingHtml f | xmlElements(this, _, _, _, f)) } - override Location getLocation() { xmllocations(this, result) } - /** * Gets the name of this HTML element. * @@ -122,8 +120,6 @@ module HTML { class Attribute extends Locatable, @xmlattribute { Attribute() { exists(FileContainingHtml f | xmlAttrs(this, _, _, _, _, f)) } - override Location getLocation() { xmllocations(this, result) } - /** * Gets the inline script of this attribute, if any. */ @@ -326,8 +322,6 @@ module HTML { * Holds if this text node is inside a `CDATA` tag. */ predicate isCData() { xmlChars(this, _, _, _, 1, _) } - - override Location getLocation() { xmllocations(this, result) } } /** @@ -349,7 +343,5 @@ module HTML { string getText() { result = this.toString().regexpCapture("(?s)<!--(.*)-->", 1) } override string toString() { xmlComments(this, result, _, _) } - - override Location getLocation() { xmllocations(this, result) } } } diff --git a/javascript/ql/lib/semmle/javascript/JSDoc.qll b/javascript/ql/lib/semmle/javascript/JSDoc.qll index 44ec09f34e4..6e1ea5caecb 100644 --- a/javascript/ql/lib/semmle/javascript/JSDoc.qll +++ b/javascript/ql/lib/semmle/javascript/JSDoc.qll @@ -18,8 +18,6 @@ private import semmle.javascript.internal.CachedStages * </pre> */ class JSDoc extends @jsdoc, Locatable { - override Location getLocation() { hasLocation(this, result) } - /** Gets the description text of this JSDoc comment. */ string getDescription() { jsdoc(this, result, _) } @@ -75,8 +73,6 @@ abstract class Documentable extends AstNode { * ``` */ class JSDocTypeExprParent extends @jsdoc_type_expr_parent, Locatable { - override Location getLocation() { hasLocation(this, result) } - /** Gets the JSDoc comment to which this element belongs. */ JSDoc getJSDocComment() { none() } } diff --git a/javascript/ql/lib/semmle/javascript/JSON.qll b/javascript/ql/lib/semmle/javascript/JSON.qll index 1e56fc00657..714228e52b6 100644 --- a/javascript/ql/lib/semmle/javascript/JSON.qll +++ b/javascript/ql/lib/semmle/javascript/JSON.qll @@ -3,6 +3,7 @@ */ import javascript +private import semmle.javascript.internal.Locations /** * A JSON-encoded value, which may be a primitive value, an array or an object. @@ -20,8 +21,6 @@ import javascript * ``` */ class JsonValue extends @json_value, Locatable { - override Location getLocation() { json_locations(this, result) } - /** Gets the parent value to which this value belongs, if any. */ JsonValue getParent() { json(this, _, result, _, _) } @@ -34,12 +33,7 @@ class JsonValue extends @json_value, Locatable { override string toString() { json(this, _, _, _, result) } /** Gets the JSON file containing this value. */ - File getJsonFile() { - exists(Location loc | - json_locations(this, loc) and - result = loc.getFile() - ) - } + File getJsonFile() { result = getLocatableLocation(this).getFile() } /** If this is an object, gets the value of property `name`. */ JsonValue getPropValue(string name) { json_properties(this, name, result) } @@ -172,7 +166,5 @@ class JsonObject extends @json_object, JsonValue { * An error reported by the JSON parser. */ class JsonParseError extends @json_parse_error, Error { - override Location getLocation() { json_locations(this, result) } - override string getMessage() { json_errors(this, result) } } diff --git a/javascript/ql/lib/semmle/javascript/Lines.qll b/javascript/ql/lib/semmle/javascript/Lines.qll index 08a013e52e8..1db9187008a 100644 --- a/javascript/ql/lib/semmle/javascript/Lines.qll +++ b/javascript/ql/lib/semmle/javascript/Lines.qll @@ -14,8 +14,6 @@ import javascript * extracted with the `--extract-program-text` flag. */ class Line extends @line, Locatable { - override Location getLocation() { hasLocation(this, result) } - /** Gets the toplevel element this line belongs to. */ TopLevel getTopLevel() { lines(this, result, _, _) } diff --git a/javascript/ql/lib/semmle/javascript/Locations.qll b/javascript/ql/lib/semmle/javascript/Locations.qll index c0748f7b3e7..ce323dfc14d 100644 --- a/javascript/ql/lib/semmle/javascript/Locations.qll +++ b/javascript/ql/lib/semmle/javascript/Locations.qll @@ -1,38 +1,41 @@ /** Provides classes for working with locations and program elements that have locations. */ import javascript +private import internal.Locations /** * A location as given by a file, a start line, a start column, * an end line, and an end column. * + * This class is restricted to locations created by the extractor. + * * For more information about locations see [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). */ -class Location extends @location { +class DbLocation extends TDbLocation { /** Gets the file for this location. */ - File getFile() { locations_default(this, result, _, _, _, _) } + File getFile() { dbLocationInfo(this, result, _, _, _, _) } /** Gets the 1-based line number (inclusive) where this location starts. */ - int getStartLine() { locations_default(this, _, result, _, _, _) } + int getStartLine() { dbLocationInfo(this, _, result, _, _, _) } /** Gets the 1-based column number (inclusive) where this location starts. */ - int getStartColumn() { locations_default(this, _, _, result, _, _) } + int getStartColumn() { dbLocationInfo(this, _, _, result, _, _) } /** Gets the 1-based line number (inclusive) where this location ends. */ - int getEndLine() { locations_default(this, _, _, _, result, _) } + int getEndLine() { dbLocationInfo(this, _, _, _, result, _) } /** Gets the 1-based column number (inclusive) where this location ends. */ - int getEndColumn() { locations_default(this, _, _, _, _, result) } + int getEndColumn() { dbLocationInfo(this, _, _, _, _, result) } /** Gets the number of lines covered by this location. */ int getNumLines() { result = this.getEndLine() - this.getStartLine() + 1 } /** Holds if this location starts before location `that`. */ pragma[inline] - predicate startsBefore(Location that) { + predicate startsBefore(DbLocation that) { exists(File f, int sl1, int sc1, int sl2, int sc2 | - locations_default(this, f, sl1, sc1, _, _) and - locations_default(that, f, sl2, sc2, _, _) + dbLocationInfo(this, f, sl1, sc1, _, _) and + dbLocationInfo(that, f, sl2, sc2, _, _) | sl1 < sl2 or @@ -42,10 +45,10 @@ class Location extends @location { /** Holds if this location ends after location `that`. */ pragma[inline] - predicate endsAfter(Location that) { + predicate endsAfter(DbLocation that) { exists(File f, int el1, int ec1, int el2, int ec2 | - locations_default(this, f, _, _, el1, ec1) and - locations_default(that, f, _, _, el2, ec2) + dbLocationInfo(this, f, _, _, el1, ec1) and + dbLocationInfo(that, f, _, _, el2, ec2) | el1 > el2 or @@ -57,10 +60,10 @@ class Location extends @location { * Holds if this location contains location `that`, meaning that it starts * before and ends after it. */ - predicate contains(Location that) { this.startsBefore(that) and this.endsAfter(that) } + predicate contains(DbLocation that) { this.startsBefore(that) and this.endsAfter(that) } /** Holds if this location is empty. */ - predicate isEmpty() { exists(int l, int c | locations_default(this, _, l, c, l, c - 1)) } + predicate isEmpty() { exists(int l, int c | dbLocationInfo(this, _, l, c, l, c - 1)) } /** Gets a textual representation of this element. */ string toString() { result = this.getFile().getBaseName() + ":" + this.getStartLine().toString() } @@ -76,22 +79,21 @@ class Location extends @location { string filepath, int startline, int startcolumn, int endline, int endcolumn ) { exists(File f | - locations_default(this, f, startline, startcolumn, endline, endcolumn) and + dbLocationInfo(this, f, startline, startcolumn, endline, endcolumn) and filepath = f.getAbsolutePath() ) } } +final class Location = LocationImpl; + /** A program element with a location. */ class Locatable extends @locatable { /** Gets the file this program element comes from. */ File getFile() { result = this.getLocation().getFile() } /** Gets this element's location. */ - Location getLocation() { - // overridden by subclasses - none() - } + final DbLocation getLocation() { result = getLocatableLocation(this) } /** * Gets the line on which this element starts. @@ -142,16 +144,3 @@ class Locatable extends @locatable { */ string getAPrimaryQlClass() { result = "???" } } - -/** - * A `File`, considered as a `Locatable`. - * - * For reasons of backwards compatibility, @file is a subtype of @locatable. This class exists to - * provide an override of `Locatable.getLocation()` for @files, since it would otherwise default - * to `none()`, which is unhelpful. - */ -private class FileLocatable extends File, Locatable { - override Location getLocation() { result = File.super.getLocation() } - - override string toString() { result = File.super.toString() } -} diff --git a/javascript/ql/lib/semmle/javascript/Regexp.qll b/javascript/ql/lib/semmle/javascript/Regexp.qll index 3266f1527a2..3c190af4476 100644 --- a/javascript/ql/lib/semmle/javascript/Regexp.qll +++ b/javascript/ql/lib/semmle/javascript/Regexp.qll @@ -43,8 +43,6 @@ class RegExpParent extends Locatable, @regexpparent { } * ``` */ class RegExpTerm extends Locatable, @regexpterm { - override Location getLocation() { hasLocation(this, result) } - /** Gets the `i`th child term of this term. */ RegExpTerm getChild(int i) { regexpterm(result, _, this, i, _) } diff --git a/javascript/ql/lib/semmle/javascript/RestrictedLocations.qll b/javascript/ql/lib/semmle/javascript/RestrictedLocations.qll index 47ee41a4235..05bcd8b3ddd 100644 --- a/javascript/ql/lib/semmle/javascript/RestrictedLocations.qll +++ b/javascript/ql/lib/semmle/javascript/RestrictedLocations.qll @@ -26,7 +26,7 @@ class FirstLineOf extends Locatable { then endcolumn = xc else endcolumn = - max(int c | any(Location l).hasLocationInfo(filepath, startline, _, startline, c)) + max(int c | any(DbLocation l).hasLocationInfo(filepath, startline, _, startline, c)) ) } } diff --git a/javascript/ql/lib/semmle/javascript/SSA.qll b/javascript/ql/lib/semmle/javascript/SSA.qll index a505cf5ff48..2de42193743 100644 --- a/javascript/ql/lib/semmle/javascript/SSA.qll +++ b/javascript/ql/lib/semmle/javascript/SSA.qll @@ -488,6 +488,14 @@ class SsaDefinition extends TSsaDefinition { string filepath, int startline, int startcolumn, int endline, int endcolumn ); + /** Gets the location of this element. */ + final Location getLocation() { + exists(string filepath, int startline, int startcolumn, int endline, int endcolumn | + this.hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) and + result.hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) + ) + } + /** Gets the function or toplevel to which this definition belongs. */ StmtContainer getContainer() { result = this.getBasicBlock().getContainer() } } diff --git a/javascript/ql/lib/semmle/javascript/Tokens.qll b/javascript/ql/lib/semmle/javascript/Tokens.qll index 52659f444c4..c6a9b05a3d1 100644 --- a/javascript/ql/lib/semmle/javascript/Tokens.qll +++ b/javascript/ql/lib/semmle/javascript/Tokens.qll @@ -17,8 +17,6 @@ import javascript * ``` */ class Token extends Locatable, @token { - override Location getLocation() { hasLocation(this, result) } - /** Gets the toplevel syntactic structure to which this token belongs. */ TopLevel getTopLevel() { tokeninfo(this, _, result, _, _) } diff --git a/javascript/ql/lib/semmle/javascript/Variables.qll b/javascript/ql/lib/semmle/javascript/Variables.qll index 00b463f8a9b..1eeb735124b 100644 --- a/javascript/ql/lib/semmle/javascript/Variables.qll +++ b/javascript/ql/lib/semmle/javascript/Variables.qll @@ -329,9 +329,9 @@ class LocalVariable extends Variable { * If the variable has one or more declarations, the location of the first declaration is used. * If the variable has no declaration, the entry point of its declaring container is used. */ - Location getLocation() { + DbLocation getLocation() { result = - min(Location loc | + min(DbLocation loc | loc = this.getADeclaration().getLocation() | loc order by loc.getStartLine(), loc.getStartColumn() diff --git a/javascript/ql/lib/semmle/javascript/XML.qll b/javascript/ql/lib/semmle/javascript/XML.qll index 65bdd7b7cc1..1a27c9a1ef3 100644 --- a/javascript/ql/lib/semmle/javascript/XML.qll +++ b/javascript/ql/lib/semmle/javascript/XML.qll @@ -3,6 +3,7 @@ */ import semmle.files.FileSystem +private import semmle.javascript.internal.Locations private class TXmlLocatable = @xmldtd or @xmlelement or @xmlattribute or @xmlnamespace or @xmlcomment or @xmlcharacters; @@ -10,7 +11,7 @@ private class TXmlLocatable = /** An XML element that has a location. */ class XmlLocatable extends @xmllocatable, TXmlLocatable { /** Gets the source location for this element. */ - Location getLocation() { xmllocations(this, result) } + DbLocation getLocation() { result = getLocatableLocation(this) } /** * Holds if this element is at the specified location. @@ -22,10 +23,7 @@ class XmlLocatable extends @xmllocatable, TXmlLocatable { predicate hasLocationInfo( string filepath, int startline, int startcolumn, int endline, int endcolumn ) { - exists(File f, Location l | l = this.getLocation() | - locations_default(l, f, startline, startcolumn, endline, endcolumn) and - filepath = f.getAbsolutePath() - ) + this.getLocation().hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) } /** Gets a textual representation of this element. */ diff --git a/javascript/ql/lib/semmle/javascript/YAML.qll b/javascript/ql/lib/semmle/javascript/YAML.qll index 38bca777900..1ab562b9524 100644 --- a/javascript/ql/lib/semmle/javascript/YAML.qll +++ b/javascript/ql/lib/semmle/javascript/YAML.qll @@ -9,9 +9,9 @@ import javascript private import codeql.yaml.Yaml as LibYaml private module YamlSig implements LibYaml::InputSig { - class LocatableBase extends @yaml_locatable, Locatable { - override Location getLocation() { yaml_locations(this, result) } - } + class Location = DbLocation; + + class LocatableBase extends @yaml_locatable, Locatable { } import javascript @@ -52,8 +52,6 @@ import LibYaml::Make<YamlSig> private class MyYmlNode extends Locatable instanceof YamlNode { override string getAPrimaryQlClass() { result = YamlNode.super.getAPrimaryQlClass() } - override Location getLocation() { result = YamlNode.super.getLocation() } - override string toString() { result = YamlNode.super.toString() } } diff --git a/javascript/ql/lib/semmle/javascript/dataflow/DataFlow.qll b/javascript/ql/lib/semmle/javascript/dataflow/DataFlow.qll index c098c60816e..79fede61b8f 100644 --- a/javascript/ql/lib/semmle/javascript/dataflow/DataFlow.qll +++ b/javascript/ql/lib/semmle/javascript/dataflow/DataFlow.qll @@ -145,13 +145,16 @@ module DataFlow { * For more information, see * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). */ - cached - predicate hasLocationInfo( + final predicate hasLocationInfo( string filepath, int startline, int startcolumn, int endline, int endcolumn ) { - none() + this.getLocation().hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) } + /** Gets the location of this node. */ + cached + Location getLocation() { none() } + /** Gets the file this data flow node comes from. */ File getFile() { none() } // overridden in subclasses @@ -292,11 +295,9 @@ module DataFlow { override BasicBlock getBasicBlock() { astNode = result.getANode() } - override predicate hasLocationInfo( - string filepath, int startline, int startcolumn, int endline, int endcolumn - ) { + override Location getLocation() { Stages::DataFlowStage::ref() and - astNode.getLocation().hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) + result = astNode.getLocation() } override File getFile() { result = astNode.getFile() } @@ -317,11 +318,7 @@ module DataFlow { override BasicBlock getBasicBlock() { result = ssa.getBasicBlock() } - override predicate hasLocationInfo( - string filepath, int startline, int startcolumn, int endline, int endcolumn - ) { - ssa.hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) - } + override Location getLocation() { result = ssa.getLocation() } override string toString() { result = ssa.getSourceVariable().getName() } @@ -340,13 +337,7 @@ module DataFlow { override BasicBlock getBasicBlock() { result = prop.(ControlFlowNode).getBasicBlock() } - override predicate hasLocationInfo( - string filepath, int startline, int startcolumn, int endline, int endcolumn - ) { - prop.(Locatable) - .getLocation() - .hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) - } + override Location getLocation() { result = prop.(Locatable).getLocation() } override string toString() { result = prop.(AstNode).toString() } @@ -367,11 +358,7 @@ module DataFlow { override BasicBlock getBasicBlock() { result = rest.getBasicBlock() } - override predicate hasLocationInfo( - string filepath, int startline, int startcolumn, int endline, int endcolumn - ) { - rest.getLocation().hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) - } + override Location getLocation() { result = rest.getLocation() } override string toString() { result = "..." + rest.toString() } @@ -392,11 +379,7 @@ module DataFlow { override BasicBlock getBasicBlock() { result = elt.getBasicBlock() } - override predicate hasLocationInfo( - string filepath, int startline, int startcolumn, int endline, int endcolumn - ) { - elt.getLocation().hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) - } + override Location getLocation() { result = elt.getLocation() } override string toString() { result = elt.toString() } @@ -421,11 +404,7 @@ module DataFlow { override BasicBlock getBasicBlock() { result = elt.getBasicBlock() } - override predicate hasLocationInfo( - string filepath, int startline, int startcolumn, int endline, int endcolumn - ) { - elt.getLocation().hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) - } + override Location getLocation() { result = elt.getLocation() } override string toString() { result = elt.toString() } @@ -445,11 +424,7 @@ module DataFlow { override BasicBlock getBasicBlock() { result = call.getBasicBlock() } - override predicate hasLocationInfo( - string filepath, int startline, int startcolumn, int endline, int endcolumn - ) { - call.getLocation().hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) - } + override Location getLocation() { result = call.getLocation() } override string toString() { result = "reflective call" } @@ -466,11 +441,7 @@ module DataFlow { override BasicBlock getBasicBlock() { result = imprt.getBasicBlock() } - override predicate hasLocationInfo( - string filepath, int startline, int startcolumn, int endline, int endcolumn - ) { - imprt.getLocation().hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) - } + override Location getLocation() { result = imprt.getLocation() } override string toString() { result = imprt.toString() } @@ -960,11 +931,7 @@ module DataFlow { override string toString() { result = attr.toString() } - override predicate hasLocationInfo( - string filepath, int startline, int startcolumn, int endline, int endcolumn - ) { - attr.getLocation().hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) - } + override Location getLocation() { result = attr.getLocation() } /** Gets the attribute corresponding to this data flow node. */ HTML::Attribute getAttribute() { result = attr } @@ -982,11 +949,7 @@ module DataFlow { override string toString() { result = attr.toString() } - override predicate hasLocationInfo( - string filepath, int startline, int startcolumn, int endline, int endcolumn - ) { - attr.getLocation().hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) - } + override Location getLocation() { result = attr.getLocation() } /** Gets the attribute corresponding to this data flow node. */ XmlAttribute getAttribute() { result = attr } @@ -1004,11 +967,7 @@ module DataFlow { override string toString() { result = "exceptional return of " + function.describe() } - override predicate hasLocationInfo( - string filepath, int startline, int startcolumn, int endline, int endcolumn - ) { - function.getLocation().hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) - } + override Location getLocation() { result = function.getLocation() } override BasicBlock getBasicBlock() { result = function.getExit().getBasicBlock() } @@ -1030,11 +989,7 @@ module DataFlow { override string toString() { result = "return of " + function.describe() } - override predicate hasLocationInfo( - string filepath, int startline, int startcolumn, int endline, int endcolumn - ) { - function.getLocation().hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) - } + override Location getLocation() { result = function.getLocation() } override BasicBlock getBasicBlock() { result = function.getExit().getBasicBlock() } @@ -1056,11 +1011,7 @@ module DataFlow { override string toString() { result = "'arguments' object of " + function.describe() } - override predicate hasLocationInfo( - string filepath, int startline, int startcolumn, int endline, int endcolumn - ) { - function.getLocation().hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) - } + override Location getLocation() { result = function.getLocation() } override BasicBlock getBasicBlock() { result = function.getEntry().getBasicBlock() } @@ -1082,11 +1033,7 @@ module DataFlow { override string toString() { result = "exceptional return of " + invoke.toString() } - override predicate hasLocationInfo( - string filepath, int startline, int startcolumn, int endline, int endcolumn - ) { - invoke.getLocation().hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) - } + override Location getLocation() { result = invoke.getLocation() } override BasicBlock getBasicBlock() { result = invoke.getBasicBlock() } @@ -1358,15 +1305,10 @@ module DataFlow { exists(StmtContainer container | this = TThisNode(container) | result = container.getEntry()) } - override predicate hasLocationInfo( - string filepath, int startline, int startcolumn, int endline, int endcolumn - ) { + override Location getLocation() { // Use the function entry as the location exists(StmtContainer container | this = TThisNode(container) | - container - .getEntry() - .getLocation() - .hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) + result = container.getEntry().getLocation() ) } @@ -1385,11 +1327,7 @@ module DataFlow { override BasicBlock getBasicBlock() { result = variable.getDeclaringContainer().getStartBB() } - override predicate hasLocationInfo( - string filepath, int startline, int startcolumn, int endline, int endcolumn - ) { - variable.getLocation().hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) - } + override Location getLocation() { result = variable.getLocation() } override string toString() { result = variable.getName() } } @@ -1401,13 +1339,7 @@ module DataFlow { override BasicBlock getBasicBlock() { none() } - override predicate hasLocationInfo( - string filepath, int startline, int startcolumn, int endline, int endcolumn - ) { - this.getTag() - .getLocation() - .hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) - } + override Location getLocation() { result = this.getTag().getLocation() } override string toString() { result = this.getTag().toString() } } diff --git a/javascript/ql/lib/semmle/javascript/frameworks/Templating.qll b/javascript/ql/lib/semmle/javascript/frameworks/Templating.qll index 097003c5ab8..a7286c7a199 100644 --- a/javascript/ql/lib/semmle/javascript/frameworks/Templating.qll +++ b/javascript/ql/lib/semmle/javascript/frameworks/Templating.qll @@ -36,8 +36,6 @@ module Templating { /** A placeholder tag for a templating engine. */ class TemplatePlaceholderTag extends @template_placeholder_tag, Locatable { - override Location getLocation() { hasLocation(this, result) } - override string toString() { template_placeholder_tag_info(this, _, result) } /** Gets the full text of the template tag, including delimiters. */ @@ -107,7 +105,12 @@ module Templating { * Gets the innermost JavaScript expression containing this template tag, if any. */ pragma[nomagic] - Expr getEnclosingExpr() { expr_contains_template_tag_location(result, this.getLocation()) } + Expr getEnclosingExpr() { + exists(@location loc | + hasLocation(this, loc) and + expr_contains_template_tag_location(result, loc) + ) + } } /** diff --git a/javascript/ql/lib/semmle/javascript/internal/CachedStages.qll b/javascript/ql/lib/semmle/javascript/internal/CachedStages.qll index 459b83f2b99..39da790b6b9 100644 --- a/javascript/ql/lib/semmle/javascript/internal/CachedStages.qll +++ b/javascript/ql/lib/semmle/javascript/internal/CachedStages.qll @@ -136,7 +136,7 @@ module Stages { or exists(DataFlow::ssaDefinitionNode(_)) or - any(DataFlow::Node node).hasLocationInfo(_, _, _, _, _) + exists(any(DataFlow::Node node).getLocation()) or exists(any(DataFlow::Node node).toString()) or diff --git a/javascript/ql/lib/semmle/javascript/internal/Locations.qll b/javascript/ql/lib/semmle/javascript/internal/Locations.qll new file mode 100644 index 00000000000..d1dc8d403f7 --- /dev/null +++ b/javascript/ql/lib/semmle/javascript/internal/Locations.qll @@ -0,0 +1,171 @@ +/** Provides classes for working with locations and program elements that have locations. */ + +import javascript + +// Should _not_ be cached, as that would require the data flow stage to be evaluated +// in order to evaluate the AST stage. Ideally, we would cache each injector separately, +// but that's not possible. Instead, we cache all predicates that need the injectors +// to be tuple numbered. +newtype TLocation = + TDbLocation(@location loc) or + TSynthLocation(string filepath, int startline, int startcolumn, int endline, int endcolumn) { + any(SsaDefinition def).hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) and + // avoid overlap with existing DB locations + not exists(File f | + locations_default(_, f, startline, startcolumn, endline, endcolumn) and + f.getAbsolutePath() = filepath + ) + } + +/** + * A location as given by a file, a start line, a start column, + * an end line, and an end column. + * + * For more information about locations see [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +abstract class LocationImpl extends TLocation { + /** Gets the file for this location. */ + abstract File getFile(); + + /** Gets the 1-based line number (inclusive) where this location starts. */ + abstract int getStartLine(); + + /** Gets the 1-based column number (inclusive) where this location starts. */ + abstract int getStartColumn(); + + /** Gets the 1-based line number (inclusive) where this location ends. */ + abstract int getEndLine(); + + /** Gets the 1-based column number (inclusive) where this location ends. */ + abstract int getEndColumn(); + + /** Gets the number of lines covered by this location. */ + int getNumLines() { result = this.getEndLine() - this.getStartLine() + 1 } + + /** Holds if this location starts before location `that`. */ + pragma[inline] + predicate startsBefore(Location that) { + exists(string f, int sl1, int sc1, int sl2, int sc2 | + this.hasLocationInfo(f, sl1, sc1, _, _) and + that.hasLocationInfo(f, sl2, sc2, _, _) + | + sl1 < sl2 + or + sl1 = sl2 and sc1 < sc2 + ) + } + + /** Holds if this location ends after location `that`. */ + pragma[inline] + predicate endsAfter(Location that) { + exists(string f, int el1, int ec1, int el2, int ec2 | + this.hasLocationInfo(f, _, _, el1, ec1) and + that.hasLocationInfo(f, _, _, el2, ec2) + | + el1 > el2 + or + el1 = el2 and ec1 > ec2 + ) + } + + /** + * Holds if this location contains location `that`, meaning that it starts + * before and ends after it. + */ + predicate contains(Location that) { this.startsBefore(that) and this.endsAfter(that) } + + /** Holds if this location is empty. */ + predicate isEmpty() { exists(int l, int c | this.hasLocationInfo(_, l, c, l, c - 1)) } + + /** Gets a textual representation of this element. */ + string toString() { result = this.getFile().getBaseName() + ":" + this.getStartLine().toString() } + + /** + * Holds if this element is at the specified location. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `filepath`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ + abstract predicate hasLocationInfo( + string filepath, int startline, int startcolumn, int endline, int endcolumn + ); +} + +class DbLocationImpl extends LocationImpl instanceof DbLocation { + override File getFile() { result = DbLocation.super.getFile() } + + override int getStartLine() { result = DbLocation.super.getStartLine() } + + override int getStartColumn() { result = DbLocation.super.getStartColumn() } + + override int getEndLine() { result = DbLocation.super.getEndLine() } + + override int getEndColumn() { result = DbLocation.super.getEndColumn() } + + override predicate hasLocationInfo( + string filepath, int startline, int startcolumn, int endline, int endcolumn + ) { + DbLocation.super.hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) + } +} + +class SynthLocationImpl extends LocationImpl, TSynthLocation { + override File getFile() { synthLocationInfo(this, result.getAbsolutePath(), _, _, _, _) } + + override int getStartLine() { synthLocationInfo(this, _, result, _, _, _) } + + override int getStartColumn() { synthLocationInfo(this, _, _, result, _, _) } + + override int getEndLine() { synthLocationInfo(this, _, _, _, result, _) } + + override int getEndColumn() { synthLocationInfo(this, _, _, _, _, result) } + + override predicate hasLocationInfo( + string filepath, int startline, int startcolumn, int endline, int endcolumn + ) { + synthLocationInfo(this, filepath, startline, startcolumn, endline, endcolumn) + } +} + +cached +private module Cached { + cached + DbLocation getLocatableLocation(@locatable l) { + exists(@location loc | + hasLocation(l, loc) or + xmllocations(l, loc) or + json_locations(l, loc) or + yaml_locations(l, loc) + | + result = TDbLocation(loc) + ) + } + + cached + predicate dbLocationInfo( + DbLocation l, File f, int startline, int startcolumn, int endline, int endcolumn + ) { + exists(@location loc | + l = TDbLocation(loc) and + locations_default(loc, f, startline, startcolumn, endline, endcolumn) + ) + } +} + +import Cached + +cached +private module CachedInDataFlowStage { + private import semmle.javascript.internal.CachedStages + + cached + predicate synthLocationInfo( + SynthLocationImpl l, string filepath, int startline, int startcolumn, int endline, int endcolumn + ) { + Stages::DataFlowStage::ref() and + l = TSynthLocation(filepath, startline, startcolumn, endline, endcolumn) + } +} + +private import CachedInDataFlowStage diff --git a/javascript/ql/src/CHANGELOG.md b/javascript/ql/src/CHANGELOG.md index 85516e3625d..6d837e84747 100644 --- a/javascript/ql/src/CHANGELOG.md +++ b/javascript/ql/src/CHANGELOG.md @@ -1,3 +1,11 @@ +## 0.8.11 + +No user-facing changes. + +## 0.8.10 + +No user-facing changes. + ## 0.8.9 ### Bug Fixes diff --git a/javascript/ql/src/Summary/LinesOfUserCode.ql b/javascript/ql/src/Summary/LinesOfUserCode.ql index 61ad13519cb..1f8f2b9fef7 100644 --- a/javascript/ql/src/Summary/LinesOfUserCode.ql +++ b/javascript/ql/src/Summary/LinesOfUserCode.ql @@ -6,6 +6,7 @@ * @kind metric * @tags summary * lines-of-code + * debug * @id js/summary/lines-of-user-code */ diff --git a/javascript/ql/src/change-notes/released/0.8.10.md b/javascript/ql/src/change-notes/released/0.8.10.md new file mode 100644 index 00000000000..777bbd2fded --- /dev/null +++ b/javascript/ql/src/change-notes/released/0.8.10.md @@ -0,0 +1,3 @@ +## 0.8.10 + +No user-facing changes. diff --git a/javascript/ql/src/change-notes/released/0.8.11.md b/javascript/ql/src/change-notes/released/0.8.11.md new file mode 100644 index 00000000000..6f504c5c207 --- /dev/null +++ b/javascript/ql/src/change-notes/released/0.8.11.md @@ -0,0 +1,3 @@ +## 0.8.11 + +No user-facing changes. diff --git a/javascript/ql/src/codeql-pack.release.yml b/javascript/ql/src/codeql-pack.release.yml index 5290c29b7fe..7b42a9d984c 100644 --- a/javascript/ql/src/codeql-pack.release.yml +++ b/javascript/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.8.9 +lastReleaseVersion: 0.8.11 diff --git a/javascript/ql/src/qlpack.yml b/javascript/ql/src/qlpack.yml index b6181aa30e9..7a62520f88e 100644 --- a/javascript/ql/src/qlpack.yml +++ b/javascript/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-queries -version: 0.8.10-dev +version: 0.8.12-dev groups: - javascript - queries diff --git a/javascript/ql/test/ApiGraphs/classes/classes.js b/javascript/ql/test/ApiGraphs/classes/classes.js index f4eb7023262..29e7d223247 100644 --- a/javascript/ql/test/ApiGraphs/classes/classes.js +++ b/javascript/ql/test/ApiGraphs/classes/classes.js @@ -25,3 +25,24 @@ MyOtherStream.prototype.instanceProp = 1; /* def=moduleImport("classes").getMemb MyOtherStream.classProp = 1; /* def=moduleImport("classes").getMember("exports").getMember("MyOtherStream").getMember("classProp") */ module.exports.MyOtherStream = MyOtherStream; + + +// function-style class without .prototype reference +function MyThirdStream() { /* use=moduleImport("classes").getMember("exports").getMember("MyThirdStream").getInstance() */ +} +let instance = new MyThirdStream(); /* use=moduleImport("classes").getMember("exports").getMember("MyThirdStream").getInstance() */ + +module.exports.MyThirdStream = MyThirdStream; + + +// function-style class without .prototype reference (through global variable) +(function(f) { + foo.bar = function() { /* use=moduleImport("classes").getMember("exports").getMember("bar").getInstance() */ + } +})(foo = foo || {}); + +(function(f) { + let x = new f.bar(); /* use=moduleImport("classes").getMember("exports").getMember("bar").getInstance() */ +})(foo = foo || {}); + +module.exports.bar = foo.bar; diff --git a/javascript/ql/test/library-tests/AMD/tests.expected b/javascript/ql/test/library-tests/AMD/tests.expected index 265a7f291df..ce9d6f60f5d 100644 --- a/javascript/ql/test/library-tests/AMD/tests.expected +++ b/javascript/ql/test/library-tests/AMD/tests.expected @@ -61,7 +61,6 @@ amdModuleDefinition | umd.js:4:9:4:43 | define( ... actory) | umd.js:1:18:1:24 | factory | | umd.js:4:9:4:43 | define( ... actory) | umd.js:9:9:14:1 | functio ... };\\n} | amdModuleDependencies -| tst2.js:1:1:3:2 | define( ... 42;\\n}) | tst2.js:1:9:1:17 | 'exports' | | tst3.js:1:1:3:2 | define( ... 42;\\n}) | tst3.js:2:21:2:25 | './a' | | tst4.js:1:1:11:2 | define( ... };\\n}) | tst4.js:2:9:2:14 | 'a.js' | | tst4.js:1:1:11:2 | define( ... };\\n}) | tst4.js:3:9:3:13 | 'foo' | diff --git a/javascript/ql/test/library-tests/TypeScript/Types/printAst.expected b/javascript/ql/test/library-tests/TypeScript/Types/printAst.expected index 5f29995b854..081636baa06 100644 --- a/javascript/ql/test/library-tests/TypeScript/Types/printAst.expected +++ b/javascript/ql/test/library-tests/TypeScript/Types/printAst.expected @@ -124,6 +124,8 @@ nodes | file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | | file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | | file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | +| file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | +| file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) | | file://:0:0:0:0 | (Parameters) | semmle.label | (Parameters) | | file://:0:0:0:0 | (Parameters) | semmle.label | (Parameters) | | file://:0:0:0:0 | (Parameters) | semmle.label | (Parameters) | @@ -167,6 +169,9 @@ nodes | file://:0:0:0:0 | (Parameters) | semmle.label | (Parameters) | | file://:0:0:0:0 | (Parameters) | semmle.label | (Parameters) | | file://:0:0:0:0 | (Parameters) | semmle.label | (Parameters) | +| file://:0:0:0:0 | (Parameters) | semmle.label | (Parameters) | +| file://:0:0:0:0 | (Parameters) | semmle.label | (Parameters) | +| file://:0:0:0:0 | (TypeParameters) | semmle.label | (TypeParameters) | | file://:0:0:0:0 | (TypeParameters) | semmle.label | (TypeParameters) | | file://:0:0:0:0 | (TypeParameters) | semmle.label | (TypeParameters) | | file://:0:0:0:0 | (TypeParameters) | semmle.label | (TypeParameters) | @@ -1757,8 +1762,63 @@ nodes | tst.ts:483:46:483:50 | [LocalTypeAccess] Pair3 | semmle.label | [LocalTypeAccess] Pair3 | | tst.ts:483:46:483:58 | [GenericTypeExpr] Pair3<string> | semmle.label | [GenericTypeExpr] Pair3<string> | | tst.ts:483:52:483:57 | [KeywordTypeExpr] string | semmle.label | [KeywordTypeExpr] string | +| tst.ts:486:1:496:1 | [NamespaceDeclaration] module ... }); } | semmle.label | [NamespaceDeclaration] module ... }); } | +| tst.ts:486:1:496:1 | [NamespaceDeclaration] module ... }); } | semmle.order | 90 | +| tst.ts:486:8:486:11 | [VarDecl] TS54 | semmle.label | [VarDecl] TS54 | +| tst.ts:487:3:489:3 | [FunctionDeclStmt] functio ... 0]; } | semmle.label | [FunctionDeclStmt] functio ... 0]; } | +| tst.ts:487:12:487:28 | [VarDecl] createStreetLight | semmle.label | [VarDecl] createStreetLight | +| tst.ts:487:30:487:30 | [Identifier] C | semmle.label | [Identifier] C | +| tst.ts:487:30:487:45 | [TypeParameter] C extends string | semmle.label | [TypeParameter] C extends string | +| tst.ts:487:40:487:45 | [KeywordTypeExpr] string | semmle.label | [KeywordTypeExpr] string | +| tst.ts:487:48:487:53 | [SimpleParameter] colors | semmle.label | [SimpleParameter] colors | +| tst.ts:487:56:487:56 | [LocalTypeAccess] C | semmle.label | [LocalTypeAccess] C | +| tst.ts:487:56:487:58 | [ArrayTypeExpr] C[] | semmle.label | [ArrayTypeExpr] C[] | +| tst.ts:487:61:487:72 | [SimpleParameter] defaultColor | semmle.label | [SimpleParameter] defaultColor | +| tst.ts:487:76:487:82 | [LocalTypeAccess] NoInfer | semmle.label | [LocalTypeAccess] NoInfer | +| tst.ts:487:76:487:85 | [GenericTypeExpr] NoInfer<C> | semmle.label | [GenericTypeExpr] NoInfer<C> | +| tst.ts:487:84:487:84 | [LocalTypeAccess] C | semmle.label | [LocalTypeAccess] C | +| tst.ts:487:88:489:3 | [BlockStmt] { r ... 0]; } | semmle.label | [BlockStmt] { r ... 0]; } | +| tst.ts:488:5:488:21 | [ReturnStmt] return colors[0]; | semmle.label | [ReturnStmt] return colors[0]; | +| tst.ts:488:12:488:17 | [VarRef] colors | semmle.label | [VarRef] colors | +| tst.ts:488:12:488:20 | [IndexExpr] colors[0] | semmle.label | [IndexExpr] colors[0] | +| tst.ts:488:19:488:19 | [Literal] 0 | semmle.label | [Literal] 0 | +| tst.ts:491:3:491:19 | [VarRef] createStreetLight | semmle.label | [VarRef] createStreetLight | +| tst.ts:491:3:491:57 | [CallExpr] createS ... ellow") | semmle.label | [CallExpr] createS ... ellow") | +| tst.ts:491:3:491:58 | [ExprStmt] createS ... llow"); | semmle.label | [ExprStmt] createS ... llow"); | +| tst.ts:491:21:491:46 | [ArrayExpr] ["red", ... green"] | semmle.label | [ArrayExpr] ["red", ... green"] | +| tst.ts:491:22:491:26 | [Literal] "red" | semmle.label | [Literal] "red" | +| tst.ts:491:29:491:36 | [Literal] "yellow" | semmle.label | [Literal] "yellow" | +| tst.ts:491:39:491:45 | [Literal] "green" | semmle.label | [Literal] "green" | +| tst.ts:491:49:491:56 | [Literal] "yellow" | semmle.label | [Literal] "yellow" | +| tst.ts:493:3:495:5 | [DeclStmt] const myObj = ... | semmle.label | [DeclStmt] const myObj = ... | +| tst.ts:493:9:493:13 | [VarDecl] myObj | semmle.label | [VarDecl] myObj | +| tst.ts:493:9:495:4 | [VariableDeclarator] myObj = ... "; }) | semmle.label | [VariableDeclarator] myObj = ... "; }) | +| tst.ts:493:17:493:22 | [VarRef] Object | semmle.label | [VarRef] Object | +| tst.ts:493:17:493:30 | [DotExpr] Object.groupBy | semmle.label | [DotExpr] Object.groupBy | +| tst.ts:493:17:495:4 | [MethodCallExpr] Object. ... "; }) | semmle.label | [MethodCallExpr] Object. ... "; }) | +| tst.ts:493:24:493:30 | [Label] groupBy | semmle.label | [Label] groupBy | +| tst.ts:493:32:493:49 | [ArrayExpr] [0, 1, 2, 3, 4, 5] | semmle.label | [ArrayExpr] [0, 1, 2, 3, 4, 5] | +| tst.ts:493:33:493:33 | [Literal] 0 | semmle.label | [Literal] 0 | +| tst.ts:493:36:493:36 | [Literal] 1 | semmle.label | [Literal] 1 | +| tst.ts:493:39:493:39 | [Literal] 2 | semmle.label | [Literal] 2 | +| tst.ts:493:42:493:42 | [Literal] 3 | semmle.label | [Literal] 3 | +| tst.ts:493:45:493:45 | [Literal] 4 | semmle.label | [Literal] 4 | +| tst.ts:493:48:493:48 | [Literal] 5 | semmle.label | [Literal] 5 | +| tst.ts:493:52:495:3 | [ArrowFunctionExpr] (num, i ... d"; } | semmle.label | [ArrowFunctionExpr] (num, i ... d"; } | +| tst.ts:493:53:493:55 | [SimpleParameter] num | semmle.label | [SimpleParameter] num | +| tst.ts:493:58:493:62 | [SimpleParameter] index | semmle.label | [SimpleParameter] index | +| tst.ts:493:68:495:3 | [BlockStmt] { r ... d"; } | semmle.label | [BlockStmt] { r ... d"; } | +| tst.ts:494:5:494:41 | [ReturnStmt] return ... "odd"; | semmle.label | [ReturnStmt] return ... "odd"; | +| tst.ts:494:12:494:14 | [VarRef] num | semmle.label | [VarRef] num | +| tst.ts:494:12:494:18 | [BinaryExpr] num % 2 | semmle.label | [BinaryExpr] num % 2 | +| tst.ts:494:12:494:24 | [BinaryExpr] num % 2 === 0 | semmle.label | [BinaryExpr] num % 2 === 0 | +| tst.ts:494:12:494:40 | [ConditionalExpr] num % 2 ... : "odd" | semmle.label | [ConditionalExpr] num % 2 ... : "odd" | +| tst.ts:494:18:494:18 | [Literal] 2 | semmle.label | [Literal] 2 | +| tst.ts:494:24:494:24 | [Literal] 0 | semmle.label | [Literal] 0 | +| tst.ts:494:28:494:33 | [Literal] "even" | semmle.label | [Literal] "even" | +| tst.ts:494:36:494:40 | [Literal] "odd" | semmle.label | [Literal] "odd" | | tstModuleCJS.cts:1:1:3:1 | [ExportDeclaration] export ... 'b'; } | semmle.label | [ExportDeclaration] export ... 'b'; } | -| tstModuleCJS.cts:1:1:3:1 | [ExportDeclaration] export ... 'b'; } | semmle.order | 90 | +| tstModuleCJS.cts:1:1:3:1 | [ExportDeclaration] export ... 'b'; } | semmle.order | 91 | | tstModuleCJS.cts:1:8:3:1 | [FunctionDeclStmt] functio ... 'b'; } | semmle.label | [FunctionDeclStmt] functio ... 'b'; } | | tstModuleCJS.cts:1:17:1:28 | [VarDecl] tstModuleCJS | semmle.label | [VarDecl] tstModuleCJS | | tstModuleCJS.cts:1:33:1:35 | [LiteralTypeExpr] 'a' | semmle.label | [LiteralTypeExpr] 'a' | @@ -1776,7 +1836,7 @@ nodes | tstModuleCJS.cts:2:34:2:36 | [Literal] 'a' | semmle.label | [Literal] 'a' | | tstModuleCJS.cts:2:40:2:42 | [Literal] 'b' | semmle.label | [Literal] 'b' | | tstModuleES.mts:1:1:3:1 | [ExportDeclaration] export ... 'b'; } | semmle.label | [ExportDeclaration] export ... 'b'; } | -| tstModuleES.mts:1:1:3:1 | [ExportDeclaration] export ... 'b'; } | semmle.order | 91 | +| tstModuleES.mts:1:1:3:1 | [ExportDeclaration] export ... 'b'; } | semmle.order | 92 | | tstModuleES.mts:1:16:3:1 | [FunctionDeclStmt] functio ... 'b'; } | semmle.label | [FunctionDeclStmt] functio ... 'b'; } | | tstModuleES.mts:1:25:1:35 | [VarDecl] tstModuleES | semmle.label | [VarDecl] tstModuleES | | tstModuleES.mts:1:40:1:42 | [LiteralTypeExpr] 'a' | semmle.label | [LiteralTypeExpr] 'a' | @@ -1794,7 +1854,7 @@ nodes | tstModuleES.mts:2:34:2:36 | [Literal] 'a' | semmle.label | [Literal] 'a' | | tstModuleES.mts:2:40:2:42 | [Literal] 'b' | semmle.label | [Literal] 'b' | | tstSuffixA.ts:1:1:3:1 | [ExportDeclaration] export ... .ts'; } | semmle.label | [ExportDeclaration] export ... .ts'; } | -| tstSuffixA.ts:1:1:3:1 | [ExportDeclaration] export ... .ts'; } | semmle.order | 92 | +| tstSuffixA.ts:1:1:3:1 | [ExportDeclaration] export ... .ts'; } | semmle.order | 93 | | tstSuffixA.ts:1:8:3:1 | [FunctionDeclStmt] functio ... .ts'; } | semmle.label | [FunctionDeclStmt] functio ... .ts'; } | | tstSuffixA.ts:1:17:1:28 | [VarDecl] resolvedFile | semmle.label | [VarDecl] resolvedFile | | tstSuffixA.ts:1:33:1:47 | [LiteralTypeExpr] 'tstSuffixA.ts' | semmle.label | [LiteralTypeExpr] 'tstSuffixA.ts' | @@ -1802,7 +1862,7 @@ nodes | tstSuffixA.ts:2:5:2:27 | [ReturnStmt] return ... xA.ts'; | semmle.label | [ReturnStmt] return ... xA.ts'; | | tstSuffixA.ts:2:12:2:26 | [Literal] 'tstSuffixA.ts' | semmle.label | [Literal] 'tstSuffixA.ts' | | tstSuffixB.ios.ts:1:1:3:1 | [ExportDeclaration] export ... .ts'; } | semmle.label | [ExportDeclaration] export ... .ts'; } | -| tstSuffixB.ios.ts:1:1:3:1 | [ExportDeclaration] export ... .ts'; } | semmle.order | 93 | +| tstSuffixB.ios.ts:1:1:3:1 | [ExportDeclaration] export ... .ts'; } | semmle.order | 94 | | tstSuffixB.ios.ts:1:8:3:1 | [FunctionDeclStmt] functio ... .ts'; } | semmle.label | [FunctionDeclStmt] functio ... .ts'; } | | tstSuffixB.ios.ts:1:17:1:28 | [VarDecl] resolvedFile | semmle.label | [VarDecl] resolvedFile | | tstSuffixB.ios.ts:1:33:1:51 | [LiteralTypeExpr] 'tstSuffixB.ios.ts' | semmle.label | [LiteralTypeExpr] 'tstSuffixB.ios.ts' | @@ -1810,7 +1870,7 @@ nodes | tstSuffixB.ios.ts:2:5:2:31 | [ReturnStmt] return ... os.ts'; | semmle.label | [ReturnStmt] return ... os.ts'; | | tstSuffixB.ios.ts:2:12:2:30 | [Literal] 'tstSuffixB.ios.ts' | semmle.label | [Literal] 'tstSuffixB.ios.ts' | | tstSuffixB.ts:1:1:3:1 | [ExportDeclaration] export ... .ts'; } | semmle.label | [ExportDeclaration] export ... .ts'; } | -| tstSuffixB.ts:1:1:3:1 | [ExportDeclaration] export ... .ts'; } | semmle.order | 94 | +| tstSuffixB.ts:1:1:3:1 | [ExportDeclaration] export ... .ts'; } | semmle.order | 95 | | tstSuffixB.ts:1:8:3:1 | [FunctionDeclStmt] functio ... .ts'; } | semmle.label | [FunctionDeclStmt] functio ... .ts'; } | | tstSuffixB.ts:1:17:1:28 | [VarDecl] resolvedFile | semmle.label | [VarDecl] resolvedFile | | tstSuffixB.ts:1:33:1:47 | [LiteralTypeExpr] 'tstSuffixB.ts' | semmle.label | [LiteralTypeExpr] 'tstSuffixB.ts' | @@ -1818,16 +1878,16 @@ nodes | tstSuffixB.ts:2:5:2:27 | [ReturnStmt] return ... xB.ts'; | semmle.label | [ReturnStmt] return ... xB.ts'; | | tstSuffixB.ts:2:12:2:26 | [Literal] 'tstSuffixB.ts' | semmle.label | [Literal] 'tstSuffixB.ts' | | type_alias.ts:1:1:1:17 | [TypeAliasDeclaration,TypeDefinition] type B = boolean; | semmle.label | [TypeAliasDeclaration,TypeDefinition] type B = boolean; | -| type_alias.ts:1:1:1:17 | [TypeAliasDeclaration,TypeDefinition] type B = boolean; | semmle.order | 95 | +| type_alias.ts:1:1:1:17 | [TypeAliasDeclaration,TypeDefinition] type B = boolean; | semmle.order | 96 | | type_alias.ts:1:6:1:6 | [Identifier] B | semmle.label | [Identifier] B | | type_alias.ts:1:10:1:16 | [KeywordTypeExpr] boolean | semmle.label | [KeywordTypeExpr] boolean | | type_alias.ts:3:1:3:9 | [DeclStmt] var b = ... | semmle.label | [DeclStmt] var b = ... | -| type_alias.ts:3:1:3:9 | [DeclStmt] var b = ... | semmle.order | 96 | +| type_alias.ts:3:1:3:9 | [DeclStmt] var b = ... | semmle.order | 97 | | type_alias.ts:3:5:3:5 | [VarDecl] b | semmle.label | [VarDecl] b | | type_alias.ts:3:5:3:8 | [VariableDeclarator] b: B | semmle.label | [VariableDeclarator] b: B | | type_alias.ts:3:8:3:8 | [LocalTypeAccess] B | semmle.label | [LocalTypeAccess] B | | type_alias.ts:5:1:5:50 | [TypeAliasDeclaration,TypeDefinition] type Va ... ay<T>>; | semmle.label | [TypeAliasDeclaration,TypeDefinition] type Va ... ay<T>>; | -| type_alias.ts:5:1:5:50 | [TypeAliasDeclaration,TypeDefinition] type Va ... ay<T>>; | semmle.order | 97 | +| type_alias.ts:5:1:5:50 | [TypeAliasDeclaration,TypeDefinition] type Va ... ay<T>>; | semmle.order | 98 | | type_alias.ts:5:6:5:17 | [Identifier] ValueOrArray | semmle.label | [Identifier] ValueOrArray | | type_alias.ts:5:19:5:19 | [Identifier] T | semmle.label | [Identifier] T | | type_alias.ts:5:19:5:19 | [TypeParameter] T | semmle.label | [TypeParameter] T | @@ -1839,14 +1899,14 @@ nodes | type_alias.ts:5:34:5:48 | [GenericTypeExpr] ValueOrArray<T> | semmle.label | [GenericTypeExpr] ValueOrArray<T> | | type_alias.ts:5:47:5:47 | [LocalTypeAccess] T | semmle.label | [LocalTypeAccess] T | | type_alias.ts:7:1:7:28 | [DeclStmt] var c = ... | semmle.label | [DeclStmt] var c = ... | -| type_alias.ts:7:1:7:28 | [DeclStmt] var c = ... | semmle.order | 98 | +| type_alias.ts:7:1:7:28 | [DeclStmt] var c = ... | semmle.order | 99 | | type_alias.ts:7:5:7:5 | [VarDecl] c | semmle.label | [VarDecl] c | | type_alias.ts:7:5:7:27 | [VariableDeclarator] c: Valu ... number> | semmle.label | [VariableDeclarator] c: Valu ... number> | | type_alias.ts:7:8:7:19 | [LocalTypeAccess] ValueOrArray | semmle.label | [LocalTypeAccess] ValueOrArray | | type_alias.ts:7:8:7:27 | [GenericTypeExpr] ValueOrArray<number> | semmle.label | [GenericTypeExpr] ValueOrArray<number> | | type_alias.ts:7:21:7:26 | [KeywordTypeExpr] number | semmle.label | [KeywordTypeExpr] number | | type_alias.ts:9:1:15:13 | [TypeAliasDeclaration,TypeDefinition] type Js ... Json[]; | semmle.label | [TypeAliasDeclaration,TypeDefinition] type Js ... Json[]; | -| type_alias.ts:9:1:15:13 | [TypeAliasDeclaration,TypeDefinition] type Js ... Json[]; | semmle.order | 99 | +| type_alias.ts:9:1:15:13 | [TypeAliasDeclaration,TypeDefinition] type Js ... Json[]; | semmle.order | 100 | | type_alias.ts:9:6:9:9 | [Identifier] Json | semmle.label | [Identifier] Json | | type_alias.ts:10:5:15:12 | [UnionTypeExpr] \| strin ... Json[] | semmle.label | [UnionTypeExpr] \| strin ... Json[] | | type_alias.ts:10:7:10:12 | [KeywordTypeExpr] string | semmle.label | [KeywordTypeExpr] string | @@ -1862,12 +1922,12 @@ nodes | type_alias.ts:15:7:15:10 | [LocalTypeAccess] Json | semmle.label | [LocalTypeAccess] Json | | type_alias.ts:15:7:15:12 | [ArrayTypeExpr] Json[] | semmle.label | [ArrayTypeExpr] Json[] | | type_alias.ts:17:1:17:15 | [DeclStmt] var json = ... | semmle.label | [DeclStmt] var json = ... | -| type_alias.ts:17:1:17:15 | [DeclStmt] var json = ... | semmle.order | 100 | +| type_alias.ts:17:1:17:15 | [DeclStmt] var json = ... | semmle.order | 101 | | type_alias.ts:17:5:17:8 | [VarDecl] json | semmle.label | [VarDecl] json | | type_alias.ts:17:5:17:14 | [VariableDeclarator] json: Json | semmle.label | [VariableDeclarator] json: Json | | type_alias.ts:17:11:17:14 | [LocalTypeAccess] Json | semmle.label | [LocalTypeAccess] Json | | type_alias.ts:19:1:21:57 | [TypeAliasDeclaration,TypeDefinition] type Vi ... ode[]]; | semmle.label | [TypeAliasDeclaration,TypeDefinition] type Vi ... ode[]]; | -| type_alias.ts:19:1:21:57 | [TypeAliasDeclaration,TypeDefinition] type Vi ... ode[]]; | semmle.order | 101 | +| type_alias.ts:19:1:21:57 | [TypeAliasDeclaration,TypeDefinition] type Vi ... ode[]]; | semmle.order | 102 | | type_alias.ts:19:6:19:16 | [Identifier] VirtualNode | semmle.label | [Identifier] VirtualNode | | type_alias.ts:20:5:21:56 | [UnionTypeExpr] \| strin ... Node[]] | semmle.label | [UnionTypeExpr] \| strin ... Node[]] | | type_alias.ts:20:7:20:12 | [KeywordTypeExpr] string | semmle.label | [KeywordTypeExpr] string | @@ -1883,7 +1943,7 @@ nodes | type_alias.ts:21:43:21:53 | [LocalTypeAccess] VirtualNode | semmle.label | [LocalTypeAccess] VirtualNode | | type_alias.ts:21:43:21:55 | [ArrayTypeExpr] VirtualNode[] | semmle.label | [ArrayTypeExpr] VirtualNode[] | | type_alias.ts:23:1:27:6 | [DeclStmt] const myNode = ... | semmle.label | [DeclStmt] const myNode = ... | -| type_alias.ts:23:1:27:6 | [DeclStmt] const myNode = ... | semmle.order | 102 | +| type_alias.ts:23:1:27:6 | [DeclStmt] const myNode = ... | semmle.order | 103 | | type_alias.ts:23:7:23:12 | [VarDecl] myNode | semmle.label | [VarDecl] myNode | | type_alias.ts:23:7:27:5 | [VariableDeclarator] myNode: ... ] ] | semmle.label | [VariableDeclarator] myNode: ... ] ] | | type_alias.ts:23:15:23:25 | [LocalTypeAccess] VirtualNode | semmle.label | [LocalTypeAccess] VirtualNode | @@ -1908,12 +1968,12 @@ nodes | type_alias.ts:26:23:26:36 | [Literal] "second-child" | semmle.label | [Literal] "second-child" | | type_alias.ts:26:41:26:62 | [Literal] "I'm the second child" | semmle.label | [Literal] "I'm the second child" | | type_definition_objects.ts:1:1:1:33 | [ImportDeclaration] import ... dummy"; | semmle.label | [ImportDeclaration] import ... dummy"; | -| type_definition_objects.ts:1:1:1:33 | [ImportDeclaration] import ... dummy"; | semmle.order | 103 | +| type_definition_objects.ts:1:1:1:33 | [ImportDeclaration] import ... dummy"; | semmle.order | 104 | | type_definition_objects.ts:1:8:1:17 | [ImportSpecifier] * as dummy | semmle.label | [ImportSpecifier] * as dummy | | type_definition_objects.ts:1:13:1:17 | [VarDecl] dummy | semmle.label | [VarDecl] dummy | | type_definition_objects.ts:1:24:1:32 | [Literal] "./dummy" | semmle.label | [Literal] "./dummy" | | type_definition_objects.ts:3:1:3:17 | [ExportDeclaration] export class C {} | semmle.label | [ExportDeclaration] export class C {} | -| type_definition_objects.ts:3:1:3:17 | [ExportDeclaration] export class C {} | semmle.order | 104 | +| type_definition_objects.ts:3:1:3:17 | [ExportDeclaration] export class C {} | semmle.order | 105 | | type_definition_objects.ts:3:8:3:17 | [ClassDefinition,TypeDefinition] class C {} | semmle.label | [ClassDefinition,TypeDefinition] class C {} | | type_definition_objects.ts:3:14:3:14 | [VarDecl] C | semmle.label | [VarDecl] C | | type_definition_objects.ts:3:16:3:15 | [BlockStmt] {} | semmle.label | [BlockStmt] {} | @@ -1921,36 +1981,36 @@ nodes | type_definition_objects.ts:3:16:3:15 | [FunctionExpr] () {} | semmle.label | [FunctionExpr] () {} | | type_definition_objects.ts:3:16:3:15 | [Label] constructor | semmle.label | [Label] constructor | | type_definition_objects.ts:4:1:4:17 | [DeclStmt] let classObj = ... | semmle.label | [DeclStmt] let classObj = ... | -| type_definition_objects.ts:4:1:4:17 | [DeclStmt] let classObj = ... | semmle.order | 105 | +| type_definition_objects.ts:4:1:4:17 | [DeclStmt] let classObj = ... | semmle.order | 106 | | type_definition_objects.ts:4:5:4:12 | [VarDecl] classObj | semmle.label | [VarDecl] classObj | | type_definition_objects.ts:4:5:4:16 | [VariableDeclarator] classObj = C | semmle.label | [VariableDeclarator] classObj = C | | type_definition_objects.ts:4:16:4:16 | [VarRef] C | semmle.label | [VarRef] C | | type_definition_objects.ts:6:1:6:16 | [ExportDeclaration] export enum E {} | semmle.label | [ExportDeclaration] export enum E {} | -| type_definition_objects.ts:6:1:6:16 | [ExportDeclaration] export enum E {} | semmle.order | 106 | +| type_definition_objects.ts:6:1:6:16 | [ExportDeclaration] export enum E {} | semmle.order | 107 | | type_definition_objects.ts:6:8:6:16 | [EnumDeclaration,TypeDefinition] enum E {} | semmle.label | [EnumDeclaration,TypeDefinition] enum E {} | | type_definition_objects.ts:6:13:6:13 | [VarDecl] E | semmle.label | [VarDecl] E | | type_definition_objects.ts:7:1:7:16 | [DeclStmt] let enumObj = ... | semmle.label | [DeclStmt] let enumObj = ... | -| type_definition_objects.ts:7:1:7:16 | [DeclStmt] let enumObj = ... | semmle.order | 107 | +| type_definition_objects.ts:7:1:7:16 | [DeclStmt] let enumObj = ... | semmle.order | 108 | | type_definition_objects.ts:7:5:7:11 | [VarDecl] enumObj | semmle.label | [VarDecl] enumObj | | type_definition_objects.ts:7:5:7:15 | [VariableDeclarator] enumObj = E | semmle.label | [VariableDeclarator] enumObj = E | | type_definition_objects.ts:7:15:7:15 | [VarRef] E | semmle.label | [VarRef] E | | type_definition_objects.ts:9:1:9:22 | [ExportDeclaration] export ... e N {;} | semmle.label | [ExportDeclaration] export ... e N {;} | -| type_definition_objects.ts:9:1:9:22 | [ExportDeclaration] export ... e N {;} | semmle.order | 108 | +| type_definition_objects.ts:9:1:9:22 | [ExportDeclaration] export ... e N {;} | semmle.order | 109 | | type_definition_objects.ts:9:8:9:22 | [NamespaceDeclaration] namespace N {;} | semmle.label | [NamespaceDeclaration] namespace N {;} | | type_definition_objects.ts:9:18:9:18 | [VarDecl] N | semmle.label | [VarDecl] N | | type_definition_objects.ts:9:21:9:21 | [EmptyStmt] ; | semmle.label | [EmptyStmt] ; | | type_definition_objects.ts:10:1:10:21 | [DeclStmt] let namespaceObj = ... | semmle.label | [DeclStmt] let namespaceObj = ... | -| type_definition_objects.ts:10:1:10:21 | [DeclStmt] let namespaceObj = ... | semmle.order | 109 | +| type_definition_objects.ts:10:1:10:21 | [DeclStmt] let namespaceObj = ... | semmle.order | 110 | | type_definition_objects.ts:10:5:10:16 | [VarDecl] namespaceObj | semmle.label | [VarDecl] namespaceObj | | type_definition_objects.ts:10:5:10:20 | [VariableDeclarator] namespaceObj = N | semmle.label | [VariableDeclarator] namespaceObj = N | | type_definition_objects.ts:10:20:10:20 | [VarRef] N | semmle.label | [VarRef] N | | type_definitions.ts:1:1:1:33 | [ImportDeclaration] import ... dummy"; | semmle.label | [ImportDeclaration] import ... dummy"; | -| type_definitions.ts:1:1:1:33 | [ImportDeclaration] import ... dummy"; | semmle.order | 110 | +| type_definitions.ts:1:1:1:33 | [ImportDeclaration] import ... dummy"; | semmle.order | 111 | | type_definitions.ts:1:8:1:17 | [ImportSpecifier] * as dummy | semmle.label | [ImportSpecifier] * as dummy | | type_definitions.ts:1:13:1:17 | [VarDecl] dummy | semmle.label | [VarDecl] dummy | | type_definitions.ts:1:24:1:32 | [Literal] "./dummy" | semmle.label | [Literal] "./dummy" | | type_definitions.ts:3:1:5:1 | [InterfaceDeclaration,TypeDefinition] interfa ... x: S; } | semmle.label | [InterfaceDeclaration,TypeDefinition] interfa ... x: S; } | -| type_definitions.ts:3:1:5:1 | [InterfaceDeclaration,TypeDefinition] interfa ... x: S; } | semmle.order | 111 | +| type_definitions.ts:3:1:5:1 | [InterfaceDeclaration,TypeDefinition] interfa ... x: S; } | semmle.order | 112 | | type_definitions.ts:3:11:3:11 | [Identifier] I | semmle.label | [Identifier] I | | type_definitions.ts:3:13:3:13 | [Identifier] S | semmle.label | [Identifier] S | | type_definitions.ts:3:13:3:13 | [TypeParameter] S | semmle.label | [TypeParameter] S | @@ -1958,14 +2018,14 @@ nodes | type_definitions.ts:4:3:4:7 | [FieldDeclaration] x: S; | semmle.label | [FieldDeclaration] x: S; | | type_definitions.ts:4:6:4:6 | [LocalTypeAccess] S | semmle.label | [LocalTypeAccess] S | | type_definitions.ts:6:1:6:16 | [DeclStmt] let i = ... | semmle.label | [DeclStmt] let i = ... | -| type_definitions.ts:6:1:6:16 | [DeclStmt] let i = ... | semmle.order | 112 | +| type_definitions.ts:6:1:6:16 | [DeclStmt] let i = ... | semmle.order | 113 | | type_definitions.ts:6:5:6:5 | [VarDecl] i | semmle.label | [VarDecl] i | | type_definitions.ts:6:5:6:16 | [VariableDeclarator] i: I<number> | semmle.label | [VariableDeclarator] i: I<number> | | type_definitions.ts:6:8:6:8 | [LocalTypeAccess] I | semmle.label | [LocalTypeAccess] I | | type_definitions.ts:6:8:6:16 | [GenericTypeExpr] I<number> | semmle.label | [GenericTypeExpr] I<number> | | type_definitions.ts:6:10:6:15 | [KeywordTypeExpr] number | semmle.label | [KeywordTypeExpr] number | | type_definitions.ts:8:1:10:1 | [ClassDefinition,TypeDefinition] class C ... x: T } | semmle.label | [ClassDefinition,TypeDefinition] class C ... x: T } | -| type_definitions.ts:8:1:10:1 | [ClassDefinition,TypeDefinition] class C ... x: T } | semmle.order | 113 | +| type_definitions.ts:8:1:10:1 | [ClassDefinition,TypeDefinition] class C ... x: T } | semmle.order | 114 | | type_definitions.ts:8:7:8:7 | [VarDecl] C | semmle.label | [VarDecl] C | | type_definitions.ts:8:8:8:7 | [BlockStmt] {} | semmle.label | [BlockStmt] {} | | type_definitions.ts:8:8:8:7 | [ClassInitializedMember,ConstructorDefinition] constructor() {} | semmle.label | [ClassInitializedMember,ConstructorDefinition] constructor() {} | @@ -1977,14 +2037,14 @@ nodes | type_definitions.ts:9:3:9:6 | [FieldDeclaration] x: T | semmle.label | [FieldDeclaration] x: T | | type_definitions.ts:9:6:9:6 | [LocalTypeAccess] T | semmle.label | [LocalTypeAccess] T | | type_definitions.ts:11:1:11:17 | [DeclStmt] let c = ... | semmle.label | [DeclStmt] let c = ... | -| type_definitions.ts:11:1:11:17 | [DeclStmt] let c = ... | semmle.order | 114 | +| type_definitions.ts:11:1:11:17 | [DeclStmt] let c = ... | semmle.order | 115 | | type_definitions.ts:11:5:11:5 | [VarDecl] c | semmle.label | [VarDecl] c | | type_definitions.ts:11:5:11:16 | [VariableDeclarator] c: C<number> | semmle.label | [VariableDeclarator] c: C<number> | | type_definitions.ts:11:8:11:8 | [LocalTypeAccess] C | semmle.label | [LocalTypeAccess] C | | type_definitions.ts:11:8:11:16 | [GenericTypeExpr] C<number> | semmle.label | [GenericTypeExpr] C<number> | | type_definitions.ts:11:10:11:15 | [KeywordTypeExpr] number | semmle.label | [KeywordTypeExpr] number | | type_definitions.ts:13:1:15:1 | [EnumDeclaration,TypeDefinition] enum Co ... blue } | semmle.label | [EnumDeclaration,TypeDefinition] enum Co ... blue } | -| type_definitions.ts:13:1:15:1 | [EnumDeclaration,TypeDefinition] enum Co ... blue } | semmle.order | 115 | +| type_definitions.ts:13:1:15:1 | [EnumDeclaration,TypeDefinition] enum Co ... blue } | semmle.order | 116 | | type_definitions.ts:13:6:13:10 | [VarDecl] Color | semmle.label | [VarDecl] Color | | type_definitions.ts:14:3:14:5 | [EnumMember,TypeDefinition] red | semmle.label | [EnumMember,TypeDefinition] red | | type_definitions.ts:14:3:14:5 | [VarDecl] red | semmle.label | [VarDecl] red | @@ -1993,29 +2053,29 @@ nodes | type_definitions.ts:14:15:14:18 | [EnumMember,TypeDefinition] blue | semmle.label | [EnumMember,TypeDefinition] blue | | type_definitions.ts:14:15:14:18 | [VarDecl] blue | semmle.label | [VarDecl] blue | | type_definitions.ts:16:1:16:17 | [DeclStmt] let color = ... | semmle.label | [DeclStmt] let color = ... | -| type_definitions.ts:16:1:16:17 | [DeclStmt] let color = ... | semmle.order | 116 | +| type_definitions.ts:16:1:16:17 | [DeclStmt] let color = ... | semmle.order | 117 | | type_definitions.ts:16:5:16:9 | [VarDecl] color | semmle.label | [VarDecl] color | | type_definitions.ts:16:5:16:16 | [VariableDeclarator] color: Color | semmle.label | [VariableDeclarator] color: Color | | type_definitions.ts:16:12:16:16 | [LocalTypeAccess] Color | semmle.label | [LocalTypeAccess] Color | | type_definitions.ts:18:1:18:33 | [EnumDeclaration,TypeDefinition] enum En ... ember } | semmle.label | [EnumDeclaration,TypeDefinition] enum En ... ember } | -| type_definitions.ts:18:1:18:33 | [EnumDeclaration,TypeDefinition] enum En ... ember } | semmle.order | 117 | +| type_definitions.ts:18:1:18:33 | [EnumDeclaration,TypeDefinition] enum En ... ember } | semmle.order | 118 | | type_definitions.ts:18:6:18:22 | [VarDecl] EnumWithOneMember | semmle.label | [VarDecl] EnumWithOneMember | | type_definitions.ts:18:26:18:31 | [EnumMember,TypeDefinition] member | semmle.label | [EnumMember,TypeDefinition] member | | type_definitions.ts:18:26:18:31 | [VarDecl] member | semmle.label | [VarDecl] member | | type_definitions.ts:19:1:19:25 | [DeclStmt] let e = ... | semmle.label | [DeclStmt] let e = ... | -| type_definitions.ts:19:1:19:25 | [DeclStmt] let e = ... | semmle.order | 118 | +| type_definitions.ts:19:1:19:25 | [DeclStmt] let e = ... | semmle.order | 119 | | type_definitions.ts:19:5:19:5 | [VarDecl] e | semmle.label | [VarDecl] e | | type_definitions.ts:19:5:19:24 | [VariableDeclarator] e: EnumWithOneMember | semmle.label | [VariableDeclarator] e: EnumWithOneMember | | type_definitions.ts:19:8:19:24 | [LocalTypeAccess] EnumWithOneMember | semmle.label | [LocalTypeAccess] EnumWithOneMember | | type_definitions.ts:21:1:21:20 | [TypeAliasDeclaration,TypeDefinition] type Alias<T> = T[]; | semmle.label | [TypeAliasDeclaration,TypeDefinition] type Alias<T> = T[]; | -| type_definitions.ts:21:1:21:20 | [TypeAliasDeclaration,TypeDefinition] type Alias<T> = T[]; | semmle.order | 119 | +| type_definitions.ts:21:1:21:20 | [TypeAliasDeclaration,TypeDefinition] type Alias<T> = T[]; | semmle.order | 120 | | type_definitions.ts:21:6:21:10 | [Identifier] Alias | semmle.label | [Identifier] Alias | | type_definitions.ts:21:12:21:12 | [Identifier] T | semmle.label | [Identifier] T | | type_definitions.ts:21:12:21:12 | [TypeParameter] T | semmle.label | [TypeParameter] T | | type_definitions.ts:21:17:21:17 | [LocalTypeAccess] T | semmle.label | [LocalTypeAccess] T | | type_definitions.ts:21:17:21:19 | [ArrayTypeExpr] T[] | semmle.label | [ArrayTypeExpr] T[] | | type_definitions.ts:22:1:22:39 | [DeclStmt] let aliasForNumberArray = ... | semmle.label | [DeclStmt] let aliasForNumberArray = ... | -| type_definitions.ts:22:1:22:39 | [DeclStmt] let aliasForNumberArray = ... | semmle.order | 120 | +| type_definitions.ts:22:1:22:39 | [DeclStmt] let aliasForNumberArray = ... | semmle.order | 121 | | type_definitions.ts:22:5:22:23 | [VarDecl] aliasForNumberArray | semmle.label | [VarDecl] aliasForNumberArray | | type_definitions.ts:22:5:22:38 | [VariableDeclarator] aliasFo ... number> | semmle.label | [VariableDeclarator] aliasFo ... number> | | type_definitions.ts:22:26:22:30 | [LocalTypeAccess] Alias | semmle.label | [LocalTypeAccess] Alias | @@ -2216,6 +2276,14 @@ edges | file://:0:0:0:0 | (Arguments) | tst.ts:478:17:478:42 | [IndexExpr] SomeCla ... tadata] | semmle.order | 0 | | file://:0:0:0:0 | (Arguments) | tst.ts:483:17:483:58 | [SatisfiesExpr] ["hello ... string> | semmle.label | 0 | | file://:0:0:0:0 | (Arguments) | tst.ts:483:17:483:58 | [SatisfiesExpr] ["hello ... string> | semmle.order | 0 | +| file://:0:0:0:0 | (Arguments) | tst.ts:491:21:491:46 | [ArrayExpr] ["red", ... green"] | semmle.label | 0 | +| file://:0:0:0:0 | (Arguments) | tst.ts:491:21:491:46 | [ArrayExpr] ["red", ... green"] | semmle.order | 0 | +| file://:0:0:0:0 | (Arguments) | tst.ts:491:49:491:56 | [Literal] "yellow" | semmle.label | 1 | +| file://:0:0:0:0 | (Arguments) | tst.ts:491:49:491:56 | [Literal] "yellow" | semmle.order | 1 | +| file://:0:0:0:0 | (Arguments) | tst.ts:493:32:493:49 | [ArrayExpr] [0, 1, 2, 3, 4, 5] | semmle.label | 0 | +| file://:0:0:0:0 | (Arguments) | tst.ts:493:32:493:49 | [ArrayExpr] [0, 1, 2, 3, 4, 5] | semmle.order | 0 | +| file://:0:0:0:0 | (Arguments) | tst.ts:493:52:495:3 | [ArrowFunctionExpr] (num, i ... d"; } | semmle.label | 1 | +| file://:0:0:0:0 | (Arguments) | tst.ts:493:52:495:3 | [ArrowFunctionExpr] (num, i ... d"; } | semmle.order | 1 | | file://:0:0:0:0 | (Parameters) | tst.ts:14:17:14:17 | [SimpleParameter] x | semmle.label | 0 | | file://:0:0:0:0 | (Parameters) | tst.ts:14:17:14:17 | [SimpleParameter] x | semmle.order | 0 | | file://:0:0:0:0 | (Parameters) | tst.ts:14:28:14:28 | [SimpleParameter] y | semmle.label | 1 | @@ -2314,6 +2382,14 @@ edges | file://:0:0:0:0 | (Parameters) | tst.ts:474:12:474:18 | [SimpleParameter] _target | semmle.order | 0 | | file://:0:0:0:0 | (Parameters) | tst.ts:474:21:474:28 | [SimpleParameter] _context | semmle.label | 1 | | file://:0:0:0:0 | (Parameters) | tst.ts:474:21:474:28 | [SimpleParameter] _context | semmle.order | 1 | +| file://:0:0:0:0 | (Parameters) | tst.ts:487:48:487:53 | [SimpleParameter] colors | semmle.label | 0 | +| file://:0:0:0:0 | (Parameters) | tst.ts:487:48:487:53 | [SimpleParameter] colors | semmle.order | 0 | +| file://:0:0:0:0 | (Parameters) | tst.ts:487:61:487:72 | [SimpleParameter] defaultColor | semmle.label | 1 | +| file://:0:0:0:0 | (Parameters) | tst.ts:487:61:487:72 | [SimpleParameter] defaultColor | semmle.order | 1 | +| file://:0:0:0:0 | (Parameters) | tst.ts:493:53:493:55 | [SimpleParameter] num | semmle.label | 0 | +| file://:0:0:0:0 | (Parameters) | tst.ts:493:53:493:55 | [SimpleParameter] num | semmle.order | 0 | +| file://:0:0:0:0 | (Parameters) | tst.ts:493:58:493:62 | [SimpleParameter] index | semmle.label | 1 | +| file://:0:0:0:0 | (Parameters) | tst.ts:493:58:493:62 | [SimpleParameter] index | semmle.order | 1 | | file://:0:0:0:0 | (Parameters) | type_alias.ts:14:10:14:17 | [SimpleParameter] property | semmle.label | 0 | | file://:0:0:0:0 | (Parameters) | type_alias.ts:14:10:14:17 | [SimpleParameter] property | semmle.order | 0 | | file://:0:0:0:0 | (Parameters) | type_alias.ts:21:19:21:21 | [SimpleParameter] key | semmle.label | 0 | @@ -2346,6 +2422,8 @@ edges | file://:0:0:0:0 | (TypeParameters) | tst.ts:462:40:462:72 | [TypeParameter] const T ... tring[] | semmle.order | 0 | | file://:0:0:0:0 | (TypeParameters) | tst.ts:481:16:481:16 | [TypeParameter] T | semmle.label | 0 | | file://:0:0:0:0 | (TypeParameters) | tst.ts:481:16:481:16 | [TypeParameter] T | semmle.order | 0 | +| file://:0:0:0:0 | (TypeParameters) | tst.ts:487:30:487:45 | [TypeParameter] C extends string | semmle.label | 0 | +| file://:0:0:0:0 | (TypeParameters) | tst.ts:487:30:487:45 | [TypeParameter] C extends string | semmle.order | 0 | | file://:0:0:0:0 | (TypeParameters) | type_alias.ts:5:19:5:19 | [TypeParameter] T | semmle.label | 0 | | file://:0:0:0:0 | (TypeParameters) | type_alias.ts:5:19:5:19 | [TypeParameter] T | semmle.order | 0 | | file://:0:0:0:0 | (TypeParameters) | type_definitions.ts:3:13:3:13 | [TypeParameter] S | semmle.label | 0 | @@ -5182,6 +5260,104 @@ edges | tst.ts:483:46:483:58 | [GenericTypeExpr] Pair3<string> | tst.ts:483:46:483:50 | [LocalTypeAccess] Pair3 | semmle.order | 1 | | tst.ts:483:46:483:58 | [GenericTypeExpr] Pair3<string> | tst.ts:483:52:483:57 | [KeywordTypeExpr] string | semmle.label | 2 | | tst.ts:483:46:483:58 | [GenericTypeExpr] Pair3<string> | tst.ts:483:52:483:57 | [KeywordTypeExpr] string | semmle.order | 2 | +| tst.ts:486:1:496:1 | [NamespaceDeclaration] module ... }); } | tst.ts:486:8:486:11 | [VarDecl] TS54 | semmle.label | 1 | +| tst.ts:486:1:496:1 | [NamespaceDeclaration] module ... }); } | tst.ts:486:8:486:11 | [VarDecl] TS54 | semmle.order | 1 | +| tst.ts:486:1:496:1 | [NamespaceDeclaration] module ... }); } | tst.ts:487:3:489:3 | [FunctionDeclStmt] functio ... 0]; } | semmle.label | 2 | +| tst.ts:486:1:496:1 | [NamespaceDeclaration] module ... }); } | tst.ts:487:3:489:3 | [FunctionDeclStmt] functio ... 0]; } | semmle.order | 2 | +| tst.ts:486:1:496:1 | [NamespaceDeclaration] module ... }); } | tst.ts:491:3:491:58 | [ExprStmt] createS ... llow"); | semmle.label | 3 | +| tst.ts:486:1:496:1 | [NamespaceDeclaration] module ... }); } | tst.ts:491:3:491:58 | [ExprStmt] createS ... llow"); | semmle.order | 3 | +| tst.ts:486:1:496:1 | [NamespaceDeclaration] module ... }); } | tst.ts:493:3:495:5 | [DeclStmt] const myObj = ... | semmle.label | 4 | +| tst.ts:486:1:496:1 | [NamespaceDeclaration] module ... }); } | tst.ts:493:3:495:5 | [DeclStmt] const myObj = ... | semmle.order | 4 | +| tst.ts:487:3:489:3 | [FunctionDeclStmt] functio ... 0]; } | file://:0:0:0:0 | (Parameters) | semmle.label | 1 | +| tst.ts:487:3:489:3 | [FunctionDeclStmt] functio ... 0]; } | file://:0:0:0:0 | (Parameters) | semmle.order | 1 | +| tst.ts:487:3:489:3 | [FunctionDeclStmt] functio ... 0]; } | file://:0:0:0:0 | (TypeParameters) | semmle.label | 2 | +| tst.ts:487:3:489:3 | [FunctionDeclStmt] functio ... 0]; } | file://:0:0:0:0 | (TypeParameters) | semmle.order | 2 | +| tst.ts:487:3:489:3 | [FunctionDeclStmt] functio ... 0]; } | tst.ts:487:12:487:28 | [VarDecl] createStreetLight | semmle.label | 0 | +| tst.ts:487:3:489:3 | [FunctionDeclStmt] functio ... 0]; } | tst.ts:487:12:487:28 | [VarDecl] createStreetLight | semmle.order | 0 | +| tst.ts:487:3:489:3 | [FunctionDeclStmt] functio ... 0]; } | tst.ts:487:88:489:3 | [BlockStmt] { r ... 0]; } | semmle.label | 5 | +| tst.ts:487:3:489:3 | [FunctionDeclStmt] functio ... 0]; } | tst.ts:487:88:489:3 | [BlockStmt] { r ... 0]; } | semmle.order | 5 | +| tst.ts:487:30:487:45 | [TypeParameter] C extends string | tst.ts:487:30:487:30 | [Identifier] C | semmle.label | 1 | +| tst.ts:487:30:487:45 | [TypeParameter] C extends string | tst.ts:487:30:487:30 | [Identifier] C | semmle.order | 1 | +| tst.ts:487:30:487:45 | [TypeParameter] C extends string | tst.ts:487:40:487:45 | [KeywordTypeExpr] string | semmle.label | 2 | +| tst.ts:487:30:487:45 | [TypeParameter] C extends string | tst.ts:487:40:487:45 | [KeywordTypeExpr] string | semmle.order | 2 | +| tst.ts:487:48:487:53 | [SimpleParameter] colors | tst.ts:487:56:487:58 | [ArrayTypeExpr] C[] | semmle.label | -2 | +| tst.ts:487:48:487:53 | [SimpleParameter] colors | tst.ts:487:56:487:58 | [ArrayTypeExpr] C[] | semmle.order | -2 | +| tst.ts:487:56:487:58 | [ArrayTypeExpr] C[] | tst.ts:487:56:487:56 | [LocalTypeAccess] C | semmle.label | 1 | +| tst.ts:487:56:487:58 | [ArrayTypeExpr] C[] | tst.ts:487:56:487:56 | [LocalTypeAccess] C | semmle.order | 1 | +| tst.ts:487:61:487:72 | [SimpleParameter] defaultColor | tst.ts:487:76:487:85 | [GenericTypeExpr] NoInfer<C> | semmle.label | -2 | +| tst.ts:487:61:487:72 | [SimpleParameter] defaultColor | tst.ts:487:76:487:85 | [GenericTypeExpr] NoInfer<C> | semmle.order | -2 | +| tst.ts:487:76:487:85 | [GenericTypeExpr] NoInfer<C> | tst.ts:487:76:487:82 | [LocalTypeAccess] NoInfer | semmle.label | 1 | +| tst.ts:487:76:487:85 | [GenericTypeExpr] NoInfer<C> | tst.ts:487:76:487:82 | [LocalTypeAccess] NoInfer | semmle.order | 1 | +| tst.ts:487:76:487:85 | [GenericTypeExpr] NoInfer<C> | tst.ts:487:84:487:84 | [LocalTypeAccess] C | semmle.label | 2 | +| tst.ts:487:76:487:85 | [GenericTypeExpr] NoInfer<C> | tst.ts:487:84:487:84 | [LocalTypeAccess] C | semmle.order | 2 | +| tst.ts:487:88:489:3 | [BlockStmt] { r ... 0]; } | tst.ts:488:5:488:21 | [ReturnStmt] return colors[0]; | semmle.label | 1 | +| tst.ts:487:88:489:3 | [BlockStmt] { r ... 0]; } | tst.ts:488:5:488:21 | [ReturnStmt] return colors[0]; | semmle.order | 1 | +| tst.ts:488:5:488:21 | [ReturnStmt] return colors[0]; | tst.ts:488:12:488:20 | [IndexExpr] colors[0] | semmle.label | 1 | +| tst.ts:488:5:488:21 | [ReturnStmt] return colors[0]; | tst.ts:488:12:488:20 | [IndexExpr] colors[0] | semmle.order | 1 | +| tst.ts:488:12:488:20 | [IndexExpr] colors[0] | tst.ts:488:12:488:17 | [VarRef] colors | semmle.label | 1 | +| tst.ts:488:12:488:20 | [IndexExpr] colors[0] | tst.ts:488:12:488:17 | [VarRef] colors | semmle.order | 1 | +| tst.ts:488:12:488:20 | [IndexExpr] colors[0] | tst.ts:488:19:488:19 | [Literal] 0 | semmle.label | 2 | +| tst.ts:488:12:488:20 | [IndexExpr] colors[0] | tst.ts:488:19:488:19 | [Literal] 0 | semmle.order | 2 | +| tst.ts:491:3:491:57 | [CallExpr] createS ... ellow") | file://:0:0:0:0 | (Arguments) | semmle.label | 1 | +| tst.ts:491:3:491:57 | [CallExpr] createS ... ellow") | file://:0:0:0:0 | (Arguments) | semmle.order | 1 | +| tst.ts:491:3:491:57 | [CallExpr] createS ... ellow") | tst.ts:491:3:491:19 | [VarRef] createStreetLight | semmle.label | 0 | +| tst.ts:491:3:491:57 | [CallExpr] createS ... ellow") | tst.ts:491:3:491:19 | [VarRef] createStreetLight | semmle.order | 0 | +| tst.ts:491:3:491:58 | [ExprStmt] createS ... llow"); | tst.ts:491:3:491:57 | [CallExpr] createS ... ellow") | semmle.label | 1 | +| tst.ts:491:3:491:58 | [ExprStmt] createS ... llow"); | tst.ts:491:3:491:57 | [CallExpr] createS ... ellow") | semmle.order | 1 | +| tst.ts:491:21:491:46 | [ArrayExpr] ["red", ... green"] | tst.ts:491:22:491:26 | [Literal] "red" | semmle.label | 1 | +| tst.ts:491:21:491:46 | [ArrayExpr] ["red", ... green"] | tst.ts:491:22:491:26 | [Literal] "red" | semmle.order | 1 | +| tst.ts:491:21:491:46 | [ArrayExpr] ["red", ... green"] | tst.ts:491:29:491:36 | [Literal] "yellow" | semmle.label | 2 | +| tst.ts:491:21:491:46 | [ArrayExpr] ["red", ... green"] | tst.ts:491:29:491:36 | [Literal] "yellow" | semmle.order | 2 | +| tst.ts:491:21:491:46 | [ArrayExpr] ["red", ... green"] | tst.ts:491:39:491:45 | [Literal] "green" | semmle.label | 3 | +| tst.ts:491:21:491:46 | [ArrayExpr] ["red", ... green"] | tst.ts:491:39:491:45 | [Literal] "green" | semmle.order | 3 | +| tst.ts:493:3:495:5 | [DeclStmt] const myObj = ... | tst.ts:493:9:495:4 | [VariableDeclarator] myObj = ... "; }) | semmle.label | 1 | +| tst.ts:493:3:495:5 | [DeclStmt] const myObj = ... | tst.ts:493:9:495:4 | [VariableDeclarator] myObj = ... "; }) | semmle.order | 1 | +| tst.ts:493:9:495:4 | [VariableDeclarator] myObj = ... "; }) | tst.ts:493:9:493:13 | [VarDecl] myObj | semmle.label | 1 | +| tst.ts:493:9:495:4 | [VariableDeclarator] myObj = ... "; }) | tst.ts:493:9:493:13 | [VarDecl] myObj | semmle.order | 1 | +| tst.ts:493:9:495:4 | [VariableDeclarator] myObj = ... "; }) | tst.ts:493:17:495:4 | [MethodCallExpr] Object. ... "; }) | semmle.label | 2 | +| tst.ts:493:9:495:4 | [VariableDeclarator] myObj = ... "; }) | tst.ts:493:17:495:4 | [MethodCallExpr] Object. ... "; }) | semmle.order | 2 | +| tst.ts:493:17:493:30 | [DotExpr] Object.groupBy | tst.ts:493:17:493:22 | [VarRef] Object | semmle.label | 1 | +| tst.ts:493:17:493:30 | [DotExpr] Object.groupBy | tst.ts:493:17:493:22 | [VarRef] Object | semmle.order | 1 | +| tst.ts:493:17:493:30 | [DotExpr] Object.groupBy | tst.ts:493:24:493:30 | [Label] groupBy | semmle.label | 2 | +| tst.ts:493:17:493:30 | [DotExpr] Object.groupBy | tst.ts:493:24:493:30 | [Label] groupBy | semmle.order | 2 | +| tst.ts:493:17:495:4 | [MethodCallExpr] Object. ... "; }) | file://:0:0:0:0 | (Arguments) | semmle.label | 1 | +| tst.ts:493:17:495:4 | [MethodCallExpr] Object. ... "; }) | file://:0:0:0:0 | (Arguments) | semmle.order | 1 | +| tst.ts:493:17:495:4 | [MethodCallExpr] Object. ... "; }) | tst.ts:493:17:493:30 | [DotExpr] Object.groupBy | semmle.label | 0 | +| tst.ts:493:17:495:4 | [MethodCallExpr] Object. ... "; }) | tst.ts:493:17:493:30 | [DotExpr] Object.groupBy | semmle.order | 0 | +| tst.ts:493:32:493:49 | [ArrayExpr] [0, 1, 2, 3, 4, 5] | tst.ts:493:33:493:33 | [Literal] 0 | semmle.label | 1 | +| tst.ts:493:32:493:49 | [ArrayExpr] [0, 1, 2, 3, 4, 5] | tst.ts:493:33:493:33 | [Literal] 0 | semmle.order | 1 | +| tst.ts:493:32:493:49 | [ArrayExpr] [0, 1, 2, 3, 4, 5] | tst.ts:493:36:493:36 | [Literal] 1 | semmle.label | 2 | +| tst.ts:493:32:493:49 | [ArrayExpr] [0, 1, 2, 3, 4, 5] | tst.ts:493:36:493:36 | [Literal] 1 | semmle.order | 2 | +| tst.ts:493:32:493:49 | [ArrayExpr] [0, 1, 2, 3, 4, 5] | tst.ts:493:39:493:39 | [Literal] 2 | semmle.label | 3 | +| tst.ts:493:32:493:49 | [ArrayExpr] [0, 1, 2, 3, 4, 5] | tst.ts:493:39:493:39 | [Literal] 2 | semmle.order | 3 | +| tst.ts:493:32:493:49 | [ArrayExpr] [0, 1, 2, 3, 4, 5] | tst.ts:493:42:493:42 | [Literal] 3 | semmle.label | 4 | +| tst.ts:493:32:493:49 | [ArrayExpr] [0, 1, 2, 3, 4, 5] | tst.ts:493:42:493:42 | [Literal] 3 | semmle.order | 4 | +| tst.ts:493:32:493:49 | [ArrayExpr] [0, 1, 2, 3, 4, 5] | tst.ts:493:45:493:45 | [Literal] 4 | semmle.label | 5 | +| tst.ts:493:32:493:49 | [ArrayExpr] [0, 1, 2, 3, 4, 5] | tst.ts:493:45:493:45 | [Literal] 4 | semmle.order | 5 | +| tst.ts:493:32:493:49 | [ArrayExpr] [0, 1, 2, 3, 4, 5] | tst.ts:493:48:493:48 | [Literal] 5 | semmle.label | 6 | +| tst.ts:493:32:493:49 | [ArrayExpr] [0, 1, 2, 3, 4, 5] | tst.ts:493:48:493:48 | [Literal] 5 | semmle.order | 6 | +| tst.ts:493:52:495:3 | [ArrowFunctionExpr] (num, i ... d"; } | file://:0:0:0:0 | (Parameters) | semmle.label | 1 | +| tst.ts:493:52:495:3 | [ArrowFunctionExpr] (num, i ... d"; } | file://:0:0:0:0 | (Parameters) | semmle.order | 1 | +| tst.ts:493:52:495:3 | [ArrowFunctionExpr] (num, i ... d"; } | tst.ts:493:68:495:3 | [BlockStmt] { r ... d"; } | semmle.label | 5 | +| tst.ts:493:52:495:3 | [ArrowFunctionExpr] (num, i ... d"; } | tst.ts:493:68:495:3 | [BlockStmt] { r ... d"; } | semmle.order | 5 | +| tst.ts:493:68:495:3 | [BlockStmt] { r ... d"; } | tst.ts:494:5:494:41 | [ReturnStmt] return ... "odd"; | semmle.label | 1 | +| tst.ts:493:68:495:3 | [BlockStmt] { r ... d"; } | tst.ts:494:5:494:41 | [ReturnStmt] return ... "odd"; | semmle.order | 1 | +| tst.ts:494:5:494:41 | [ReturnStmt] return ... "odd"; | tst.ts:494:12:494:40 | [ConditionalExpr] num % 2 ... : "odd" | semmle.label | 1 | +| tst.ts:494:5:494:41 | [ReturnStmt] return ... "odd"; | tst.ts:494:12:494:40 | [ConditionalExpr] num % 2 ... : "odd" | semmle.order | 1 | +| tst.ts:494:12:494:18 | [BinaryExpr] num % 2 | tst.ts:494:12:494:14 | [VarRef] num | semmle.label | 1 | +| tst.ts:494:12:494:18 | [BinaryExpr] num % 2 | tst.ts:494:12:494:14 | [VarRef] num | semmle.order | 1 | +| tst.ts:494:12:494:18 | [BinaryExpr] num % 2 | tst.ts:494:18:494:18 | [Literal] 2 | semmle.label | 2 | +| tst.ts:494:12:494:18 | [BinaryExpr] num % 2 | tst.ts:494:18:494:18 | [Literal] 2 | semmle.order | 2 | +| tst.ts:494:12:494:24 | [BinaryExpr] num % 2 === 0 | tst.ts:494:12:494:18 | [BinaryExpr] num % 2 | semmle.label | 1 | +| tst.ts:494:12:494:24 | [BinaryExpr] num % 2 === 0 | tst.ts:494:12:494:18 | [BinaryExpr] num % 2 | semmle.order | 1 | +| tst.ts:494:12:494:24 | [BinaryExpr] num % 2 === 0 | tst.ts:494:24:494:24 | [Literal] 0 | semmle.label | 2 | +| tst.ts:494:12:494:24 | [BinaryExpr] num % 2 === 0 | tst.ts:494:24:494:24 | [Literal] 0 | semmle.order | 2 | +| tst.ts:494:12:494:40 | [ConditionalExpr] num % 2 ... : "odd" | tst.ts:494:12:494:24 | [BinaryExpr] num % 2 === 0 | semmle.label | 1 | +| tst.ts:494:12:494:40 | [ConditionalExpr] num % 2 ... : "odd" | tst.ts:494:12:494:24 | [BinaryExpr] num % 2 === 0 | semmle.order | 1 | +| tst.ts:494:12:494:40 | [ConditionalExpr] num % 2 ... : "odd" | tst.ts:494:28:494:33 | [Literal] "even" | semmle.label | 2 | +| tst.ts:494:12:494:40 | [ConditionalExpr] num % 2 ... : "odd" | tst.ts:494:28:494:33 | [Literal] "even" | semmle.order | 2 | +| tst.ts:494:12:494:40 | [ConditionalExpr] num % 2 ... : "odd" | tst.ts:494:36:494:40 | [Literal] "odd" | semmle.label | 3 | +| tst.ts:494:12:494:40 | [ConditionalExpr] num % 2 ... : "odd" | tst.ts:494:36:494:40 | [Literal] "odd" | semmle.order | 3 | | tstModuleCJS.cts:1:1:3:1 | [ExportDeclaration] export ... 'b'; } | tstModuleCJS.cts:1:8:3:1 | [FunctionDeclStmt] functio ... 'b'; } | semmle.label | 1 | | tstModuleCJS.cts:1:1:3:1 | [ExportDeclaration] export ... 'b'; } | tstModuleCJS.cts:1:8:3:1 | [FunctionDeclStmt] functio ... 'b'; } | semmle.order | 1 | | tstModuleCJS.cts:1:8:3:1 | [FunctionDeclStmt] functio ... 'b'; } | tstModuleCJS.cts:1:17:1:28 | [VarDecl] tstModuleCJS | semmle.label | 0 | diff --git a/javascript/ql/test/library-tests/TypeScript/Types/tests.expected b/javascript/ql/test/library-tests/TypeScript/Types/tests.expected index 986ae56a664..daa1571d73c 100644 --- a/javascript/ql/test/library-tests/TypeScript/Types/tests.expected +++ b/javascript/ql/test/library-tests/TypeScript/Types/tests.expected @@ -658,6 +658,40 @@ getExprType | tst.ts:483:17:483:58 | ["hello ... string> | [first: string, string] | | tst.ts:483:18:483:24 | "hello" | "hello" | | tst.ts:483:27:483:33 | "world" | "world" | +| tst.ts:486:8:486:11 | TS54 | typeof TS54 in library-tests/TypeScript/Types/tst.ts | +| tst.ts:487:48:487:53 | colors | C[] | +| tst.ts:488:12:488:17 | colors | C[] | +| tst.ts:488:12:488:20 | colors[0] | C | +| tst.ts:488:19:488:19 | 0 | 0 | +| tst.ts:491:3:491:57 | createS ... ellow") | "red" \| "green" \| "yellow" | +| tst.ts:491:21:491:46 | ["red", ... green"] | ("red" \| "green" \| "yellow")[] | +| tst.ts:491:22:491:26 | "red" | "red" | +| tst.ts:491:29:491:36 | "yellow" | "yellow" | +| tst.ts:491:39:491:45 | "green" | "green" | +| tst.ts:491:49:491:56 | "yellow" | "yellow" | +| tst.ts:493:9:493:13 | myObj | Partial<Record<"even" \| "odd", number[]>> | +| tst.ts:493:17:493:22 | Object | ObjectConstructor | +| tst.ts:493:17:493:30 | Object.groupBy | <K extends PropertyKey, T>(items: Iterable<T>, ... | +| tst.ts:493:17:495:4 | Object. ... ";\\n }) | Partial<Record<"even" \| "odd", number[]>> | +| tst.ts:493:24:493:30 | groupBy | <K extends PropertyKey, T>(items: Iterable<T>, ... | +| tst.ts:493:32:493:49 | [0, 1, 2, 3, 4, 5] | Iterable<number> | +| tst.ts:493:33:493:33 | 0 | 0 | +| tst.ts:493:36:493:36 | 1 | 1 | +| tst.ts:493:39:493:39 | 2 | 2 | +| tst.ts:493:42:493:42 | 3 | 3 | +| tst.ts:493:45:493:45 | 4 | 4 | +| tst.ts:493:48:493:48 | 5 | 5 | +| tst.ts:493:52:495:3 | (num, i ... d";\\n } | (num: number, index: number) => "even" \| "odd" | +| tst.ts:493:53:493:55 | num | number | +| tst.ts:493:58:493:62 | index | number | +| tst.ts:494:12:494:14 | num | number | +| tst.ts:494:12:494:18 | num % 2 | number | +| tst.ts:494:12:494:24 | num % 2 === 0 | boolean | +| tst.ts:494:12:494:40 | num % 2 ... : "odd" | "even" \| "odd" | +| tst.ts:494:18:494:18 | 2 | 2 | +| tst.ts:494:24:494:24 | 0 | 0 | +| tst.ts:494:28:494:33 | "even" | "even" | +| tst.ts:494:36:494:40 | "odd" | "odd" | | tstModuleCJS.cts:1:17:1:28 | tstModuleCJS | () => "a" \| "b" | | tstModuleCJS.cts:2:12:2:15 | Math | Math | | tstModuleCJS.cts:2:12:2:22 | Math.random | () => number | @@ -1138,6 +1172,12 @@ getTypeExprType | tst.ts:483:46:483:50 | Pair3 | Pair3<T> | | tst.ts:483:46:483:58 | Pair3<string> | Pair3<string> | | tst.ts:483:52:483:57 | string | string | +| tst.ts:487:30:487:30 | C | C | +| tst.ts:487:40:487:45 | string | string | +| tst.ts:487:56:487:56 | C | C | +| tst.ts:487:56:487:58 | C[] | C[] | +| tst.ts:487:76:487:82 | NoInfer | any | +| tst.ts:487:84:487:84 | C | C | | tstModuleCJS.cts:1:33:1:35 | 'a' | "a" | | tstModuleCJS.cts:1:33:1:41 | 'a' \| 'b' | "a" \| "b" | | tstModuleCJS.cts:1:39:1:41 | 'b' | "b" | @@ -1357,18 +1397,23 @@ unionIndex | "boolean" | 3 | "string" \| "number" \| "bigint" \| "boolean" \| "s... | | "c" | 2 | "a" \| "b" \| "c" | | "circle" | 0 | "circle" \| "square" | +| "even" | 0 | "even" \| "odd" | | "function" | 7 | "string" \| "number" \| "bigint" \| "boolean" \| "s... | | "green" | 1 | "red" \| "green" \| "blue" | +| "green" | 1 | "red" \| "green" \| "yellow" | | "hello" | 0 | "hello" \| 42 | | "number" | 1 | "string" \| "number" \| "bigint" \| "boolean" \| "s... | | "number" | 1 | keyof TypeMap | | "object" | 6 | "string" \| "number" \| "bigint" \| "boolean" \| "s... | +| "odd" | 1 | "even" \| "odd" | | "red" | 0 | "red" \| "green" \| "blue" | +| "red" | 0 | "red" \| "green" \| "yellow" | | "square" | 1 | "circle" \| "square" | | "string" | 0 | "string" \| "number" \| "bigint" \| "boolean" \| "s... | | "string" | 0 | keyof TypeMap | | "symbol" | 4 | "string" \| "number" \| "bigint" \| "boolean" \| "s... | | "undefined" | 5 | "string" \| "number" \| "bigint" \| "boolean" \| "s... | +| "yellow" | 2 | "red" \| "green" \| "yellow" | | () => number | 0 | (() => number) \| (ClassMethodDecoratorContext<P... | | () => number | 1 | void \| (() => number) | | ClassMethodDecoratorContext<Person, () => numbe... | 1 | (() => number) \| (ClassMethodDecoratorContext<P... | diff --git a/javascript/ql/test/library-tests/TypeScript/Types/tst.ts b/javascript/ql/test/library-tests/TypeScript/Types/tst.ts index 5066993fe15..cef97f9e4fa 100644 --- a/javascript/ql/test/library-tests/TypeScript/Types/tst.ts +++ b/javascript/ql/test/library-tests/TypeScript/Types/tst.ts @@ -481,4 +481,16 @@ module TS52 { type Pair3<T> = [first: T, T]; console.log(["hello", "world"] satisfies Pair3<string>); +} + +module TS54 { + function createStreetLight<C extends string>(colors: C[], defaultColor?: NoInfer<C>) { + return colors[0]; + } + + createStreetLight(["red", "yellow", "green"], "yellow"); + + const myObj = Object.groupBy([0, 1, 2, 3, 4, 5], (num, index) => { + return num % 2 === 0 ? "even": "odd"; + }); } \ No newline at end of file diff --git a/javascript/ql/test/library-tests/TypeTracking/TypeTracking.expected b/javascript/ql/test/library-tests/TypeTracking/TypeTracking.expected index e69de29bb2d..8b137891791 100644 --- a/javascript/ql/test/library-tests/TypeTracking/TypeTracking.expected +++ b/javascript/ql/test/library-tests/TypeTracking/TypeTracking.expected @@ -0,0 +1 @@ + diff --git a/javascript/ql/test/library-tests/TypeTracking/implicit-receiver.js b/javascript/ql/test/library-tests/TypeTracking/implicit-receiver.js new file mode 100644 index 00000000000..447a3eb0e05 --- /dev/null +++ b/javascript/ql/test/library-tests/TypeTracking/implicit-receiver.js @@ -0,0 +1,27 @@ +import 'dummy'; + +let trackedProp = "implicit-receiver-prop"; // name: implicit-receiver-prop + +function factory() { + let obj = unknown(); // name: implicit-receiver-obj + obj.foo = function() { + track(this); // track: implicit-receiver-obj + track(this.x); // track: implicit-receiver-obj track: implicit-receiver-prop + } + return obj; +} +let obj = factory(); +obj.x = trackedProp; + + +function factory2() { + let obj2 = { // name: implicit-receiver-obj2 + foo: function() { + track(this); // track: implicit-receiver-obj2 + track(this.x); // track: implicit-receiver-obj2 track: implicit-receiver-prop + } + } + return obj2; +} +let obj2 = factory2() +obj2.x = trackedProp; 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 3c625dccdd3..ddee07dbadc 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 @@ -84,6 +84,26 @@ nodes | ReflectedXss.js:110:16:110:30 | request.query.p | | ReflectedXss.js:110:16:110:30 | request.query.p | | ReflectedXss.js:110:16:110:30 | request.query.p | +| ReflectedXss.js:114:11:114:41 | queryKeys | +| ReflectedXss.js:114:13:114:27 | keys: queryKeys | +| ReflectedXss.js:114:13:114:27 | keys: queryKeys | +| ReflectedXss.js:116:11:116:45 | keys | +| ReflectedXss.js:116:18:116:26 | queryKeys | +| ReflectedXss.js:116:18:116:45 | queryKe ... s?.keys | +| ReflectedXss.js:116:31:116:45 | paramKeys?.keys | +| ReflectedXss.js:116:31:116:45 | paramKeys?.keys | +| ReflectedXss.js:118:11:118:61 | keyArray | +| ReflectedXss.js:118:22:118:61 | typeof ... : keys | +| ReflectedXss.js:118:49:118:54 | [keys] | +| ReflectedXss.js:118:50:118:53 | keys | +| ReflectedXss.js:118:58:118:61 | keys | +| ReflectedXss.js:119:11:119:72 | invalidKeys | +| ReflectedXss.js:119:25:119:32 | keyArray | +| ReflectedXss.js:119:25:119:72 | keyArra ... s(key)) | +| ReflectedXss.js:122:30:122:73 | `${inva ... telist` | +| ReflectedXss.js:122:30:122:73 | `${inva ... telist` | +| ReflectedXss.js:122:33:122:43 | invalidKeys | +| ReflectedXss.js:122:33:122:54 | invalid ... n(', ') | | ReflectedXssContentTypes.js:10:14:10:36 | "FOO: " ... rams.id | | ReflectedXssContentTypes.js:10:14:10:36 | "FOO: " ... rams.id | | ReflectedXssContentTypes.js:10:24:10:36 | req.params.id | @@ -307,6 +327,26 @@ edges | ReflectedXss.js:103:76:103:83 | req.body | ReflectedXss.js:103:12:103:84 | markdow ... q.body) | | ReflectedXss.js:103:76:103:83 | req.body | ReflectedXss.js:103:12:103:84 | markdow ... q.body) | | ReflectedXss.js:110:16:110:30 | request.query.p | ReflectedXss.js:110:16:110:30 | request.query.p | +| ReflectedXss.js:114:11:114:41 | queryKeys | ReflectedXss.js:116:18:116:26 | queryKeys | +| ReflectedXss.js:114:13:114:27 | keys: queryKeys | ReflectedXss.js:114:11:114:41 | queryKeys | +| ReflectedXss.js:114:13:114:27 | keys: queryKeys | ReflectedXss.js:114:11:114:41 | queryKeys | +| ReflectedXss.js:116:11:116:45 | keys | ReflectedXss.js:118:50:118:53 | keys | +| ReflectedXss.js:116:11:116:45 | keys | ReflectedXss.js:118:58:118:61 | keys | +| ReflectedXss.js:116:18:116:26 | queryKeys | ReflectedXss.js:116:18:116:45 | queryKe ... s?.keys | +| ReflectedXss.js:116:18:116:45 | queryKe ... s?.keys | ReflectedXss.js:116:11:116:45 | keys | +| ReflectedXss.js:116:31:116:45 | paramKeys?.keys | ReflectedXss.js:116:18:116:45 | queryKe ... s?.keys | +| ReflectedXss.js:116:31:116:45 | paramKeys?.keys | ReflectedXss.js:116:18:116:45 | queryKe ... s?.keys | +| ReflectedXss.js:118:11:118:61 | keyArray | ReflectedXss.js:119:25:119:32 | keyArray | +| ReflectedXss.js:118:22:118:61 | typeof ... : keys | ReflectedXss.js:118:11:118:61 | keyArray | +| ReflectedXss.js:118:49:118:54 | [keys] | ReflectedXss.js:118:22:118:61 | typeof ... : keys | +| ReflectedXss.js:118:50:118:53 | keys | ReflectedXss.js:118:49:118:54 | [keys] | +| ReflectedXss.js:118:58:118:61 | keys | ReflectedXss.js:118:22:118:61 | typeof ... : keys | +| ReflectedXss.js:119:11:119:72 | invalidKeys | ReflectedXss.js:122:33:122:43 | invalidKeys | +| ReflectedXss.js:119:25:119:32 | keyArray | ReflectedXss.js:119:25:119:72 | keyArra ... s(key)) | +| ReflectedXss.js:119:25:119:72 | keyArra ... s(key)) | ReflectedXss.js:119:11:119:72 | invalidKeys | +| ReflectedXss.js:122:33:122:43 | invalidKeys | ReflectedXss.js:122:33:122:54 | invalid ... n(', ') | +| ReflectedXss.js:122:33:122:54 | invalid ... n(', ') | ReflectedXss.js:122:30:122:73 | `${inva ... telist` | +| ReflectedXss.js:122:33:122:54 | invalid ... n(', ') | ReflectedXss.js:122:30:122:73 | `${inva ... telist` | | ReflectedXssContentTypes.js:10:24:10:36 | req.params.id | ReflectedXssContentTypes.js:10:14:10:36 | "FOO: " ... rams.id | | ReflectedXssContentTypes.js:10:24:10:36 | req.params.id | ReflectedXssContentTypes.js:10:14:10:36 | "FOO: " ... rams.id | | ReflectedXssContentTypes.js:10:24:10:36 | req.params.id | ReflectedXssContentTypes.js:10:14:10:36 | "FOO: " ... rams.id | @@ -461,6 +501,8 @@ edges | ReflectedXss.js:100:12:100:39 | markdow ... q.body) | ReflectedXss.js:100:31:100:38 | req.body | ReflectedXss.js:100:12:100:39 | markdow ... q.body) | Cross-site scripting vulnerability due to a $@. | ReflectedXss.js:100:31:100:38 | req.body | user-provided value | | ReflectedXss.js:103:12:103:84 | markdow ... q.body) | ReflectedXss.js:103:76:103:83 | req.body | ReflectedXss.js:103:12:103:84 | markdow ... q.body) | Cross-site scripting vulnerability due to a $@. | ReflectedXss.js:103:76:103:83 | req.body | user-provided value | | ReflectedXss.js:110:16:110:30 | request.query.p | ReflectedXss.js:110:16:110:30 | request.query.p | ReflectedXss.js:110:16:110:30 | request.query.p | Cross-site scripting vulnerability due to a $@. | ReflectedXss.js:110:16:110:30 | request.query.p | user-provided value | +| ReflectedXss.js:122:30:122:73 | `${inva ... telist` | ReflectedXss.js:114:13:114:27 | keys: queryKeys | ReflectedXss.js:122:30:122:73 | `${inva ... telist` | Cross-site scripting vulnerability due to a $@. | ReflectedXss.js:114:13:114:27 | keys: queryKeys | user-provided value | +| ReflectedXss.js:122:30:122:73 | `${inva ... telist` | ReflectedXss.js:116:31:116:45 | paramKeys?.keys | ReflectedXss.js:122:30:122:73 | `${inva ... telist` | Cross-site scripting vulnerability due to a $@. | ReflectedXss.js:116:31:116:45 | paramKeys?.keys | user-provided value | | ReflectedXssContentTypes.js:10:14:10:36 | "FOO: " ... rams.id | ReflectedXssContentTypes.js:10:24:10:36 | req.params.id | ReflectedXssContentTypes.js:10:14:10:36 | "FOO: " ... rams.id | Cross-site scripting vulnerability due to a $@. | ReflectedXssContentTypes.js:10:24:10:36 | req.params.id | user-provided value | | ReflectedXssContentTypes.js:20:14:20:36 | "FOO: " ... rams.id | ReflectedXssContentTypes.js:20:24:20:36 | req.params.id | ReflectedXssContentTypes.js:20:14:20:36 | "FOO: " ... rams.id | Cross-site scripting vulnerability due to a $@. | ReflectedXssContentTypes.js:20:24:20:36 | req.params.id | user-provided value | | ReflectedXssContentTypes.js:39:13:39:35 | "FOO: " ... rams.id | ReflectedXssContentTypes.js:39:23:39:35 | req.params.id | ReflectedXssContentTypes.js:39:13:39:35 | "FOO: " ... rams.id | Cross-site scripting vulnerability due to a $@. | ReflectedXssContentTypes.js:39:23:39:35 | req.params.id | user-provided value | diff --git a/javascript/ql/test/query-tests/Security/CWE-079/ReflectedXss/ReflectedXss.js b/javascript/ql/test/query-tests/Security/CWE-079/ReflectedXss/ReflectedXss.js index 2b7c2057f0f..fc2e1abb888 100644 --- a/javascript/ql/test/query-tests/Security/CWE-079/ReflectedXss/ReflectedXss.js +++ b/javascript/ql/test/query-tests/Security/CWE-079/ReflectedXss/ReflectedXss.js @@ -109,3 +109,17 @@ hapi.route({ handler: function (request){ return request.query.p; // NOT OK }}); + +app.get("invalid/keys/:id", async (req, res) => { + const { keys: queryKeys } = req.query; + const paramKeys = req.params; + const keys = queryKeys || paramKeys?.keys; + + const keyArray = typeof keys === 'string' ? [keys] : keys; + const invalidKeys = keyArray.filter(key => !whitelist.includes(key)); + + if (invalidKeys.length) { + res.status(400).send(`${invalidKeys.join(', ')} not in whitelist`); + return; + } +}); \ No newline at end of file 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 e73591619df..a367f07307a 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 @@ -19,6 +19,8 @@ | ReflectedXss.js:100:12:100:39 | markdow ... q.body) | Cross-site scripting vulnerability due to $@. | ReflectedXss.js:100:31:100:38 | req.body | user-provided value | | ReflectedXss.js:103:12:103:84 | markdow ... q.body) | Cross-site scripting vulnerability due to $@. | ReflectedXss.js:103:76:103:83 | req.body | user-provided value | | ReflectedXss.js:110:16:110:30 | request.query.p | Cross-site scripting vulnerability due to $@. | ReflectedXss.js:110:16:110:30 | request.query.p | user-provided value | +| ReflectedXss.js:122:30:122:73 | `${inva ... telist` | Cross-site scripting vulnerability due to $@. | ReflectedXss.js:114:13:114:27 | keys: queryKeys | user-provided value | +| ReflectedXss.js:122:30:122:73 | `${inva ... telist` | Cross-site scripting vulnerability due to $@. | ReflectedXss.js:116:31:116:45 | paramKeys?.keys | user-provided value | | ReflectedXssContentTypes.js:10:14:10:36 | "FOO: " ... rams.id | Cross-site scripting vulnerability due to $@. | ReflectedXssContentTypes.js:10:24:10:36 | req.params.id | user-provided value | | ReflectedXssContentTypes.js:20:14:20:36 | "FOO: " ... rams.id | Cross-site scripting vulnerability due to $@. | ReflectedXssContentTypes.js:20:24:20:36 | req.params.id | user-provided value | | ReflectedXssContentTypes.js:39:13:39:35 | "FOO: " ... rams.id | Cross-site scripting vulnerability due to $@. | ReflectedXssContentTypes.js:39:23:39:35 | req.params.id | user-provided value | diff --git a/javascript/ql/test/testUtilities/internal/InlineExpectationsTestImpl.qll b/javascript/ql/test/testUtilities/internal/InlineExpectationsTestImpl.qll index d1de2866b10..9e92f70af69 100644 --- a/javascript/ql/test/testUtilities/internal/InlineExpectationsTestImpl.qll +++ b/javascript/ql/test/testUtilities/internal/InlineExpectationsTestImpl.qll @@ -4,8 +4,13 @@ private import codeql.util.test.InlineExpectationsTest module Impl implements InlineExpectationsTestSig { private import javascript - class ExpectationComment extends LineComment { + final private class LineCommentFinal = LineComment; + + class ExpectationComment extends LineCommentFinal { string getContents() { result = this.getText() } + + /** Gets this element's location. */ + Location getLocation() { result = super.getLocation() } } class Location = JS::Location; diff --git a/misc/suite-helpers/CHANGELOG.md b/misc/suite-helpers/CHANGELOG.md index 3c06dd69b0f..db0ccde436e 100644 --- a/misc/suite-helpers/CHANGELOG.md +++ b/misc/suite-helpers/CHANGELOG.md @@ -1,3 +1,11 @@ +## 0.7.11 + +No user-facing changes. + +## 0.7.10 + +No user-facing changes. + ## 0.7.9 No user-facing changes. diff --git a/misc/suite-helpers/change-notes/released/0.7.10.md b/misc/suite-helpers/change-notes/released/0.7.10.md new file mode 100644 index 00000000000..989c5b8f682 --- /dev/null +++ b/misc/suite-helpers/change-notes/released/0.7.10.md @@ -0,0 +1,3 @@ +## 0.7.10 + +No user-facing changes. diff --git a/misc/suite-helpers/change-notes/released/0.7.11.md b/misc/suite-helpers/change-notes/released/0.7.11.md new file mode 100644 index 00000000000..c4d7e2d3775 --- /dev/null +++ b/misc/suite-helpers/change-notes/released/0.7.11.md @@ -0,0 +1,3 @@ +## 0.7.11 + +No user-facing changes. diff --git a/misc/suite-helpers/codeql-pack.release.yml b/misc/suite-helpers/codeql-pack.release.yml index 576395f3405..2610ac0272d 100644 --- a/misc/suite-helpers/codeql-pack.release.yml +++ b/misc/suite-helpers/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.7.9 +lastReleaseVersion: 0.7.11 diff --git a/misc/suite-helpers/qlpack.yml b/misc/suite-helpers/qlpack.yml index 49b7a6bda4c..b6d9a96049c 100644 --- a/misc/suite-helpers/qlpack.yml +++ b/misc/suite-helpers/qlpack.yml @@ -1,4 +1,4 @@ name: codeql/suite-helpers -version: 0.7.10-dev +version: 0.7.12-dev groups: shared warnOnImplicitThis: true diff --git a/python/BUILD.bazel b/python/BUILD.bazel index e6d1387e4c2..481dbbd0dd8 100644 --- a/python/BUILD.bazel +++ b/python/BUILD.bazel @@ -1,4 +1,6 @@ -load("@rules_pkg//:mappings.bzl", "pkg_filegroup", "pkg_files") +load("@rules_pkg//pkg:mappings.bzl", "pkg_filegroup", "pkg_files") +load("@semmle_code//:dist.bzl", "dist", "pack_zip") +load("//:defs.bzl", "codeql_platform") package(default_visibility = ["//visibility:public"]) @@ -28,3 +30,32 @@ pkg_filegroup( "//python/downgrades", ], ) + +pkg_files( + name = "codeql-extractor-yml", + srcs = ["codeql-extractor.yml"], + strip_prefix = None, +) + +dist( + name = "extractor-generic", + srcs = [ + ":codeql-extractor-yml", + ":dbscheme-group", + "//python/downgrades", + "//python/extractor", + "//python/tools", + ], + prefix = "python", + visibility = ["//visibility:public"], +) + +pack_zip( + name = "extractor-arch", + srcs = [ + "//python/extractor/tsg-python", + ], + package_file_name = "extractor-" + codeql_platform + ".zip", + prefix = "python/tools/" + codeql_platform, + visibility = ["//visibility:public"], +) diff --git a/python/codeql-extractor.yml b/python/codeql-extractor.yml new file mode 100644 index 00000000000..97a9e1f2cf2 --- /dev/null +++ b/python/codeql-extractor.yml @@ -0,0 +1,46 @@ +name: "python" +display_name: "Python" +version: 1.22.1 +column_kind: utf32 +build_modes: + - none +github_api_languages: + - Python +scc_languages: + - Python +file_types: + - name: python + display_name: Python sources + extensions: + - .py +legacy_qltest_extraction: true +options: + logging: + title: Options pertaining to logging. + type: object + properties: + verbosity: + title: Python extractor logging verbosity level. + description: > + Controls the level of verbosity of the CodeQL Python extractor. + + The supported levels are (in order of increasing verbosity): + + - off + - errors + - warnings + - info or progress + - debug or progress+ + - trace or progress++ + - progress+++ + type: string + pattern: "^(off|errors|warnings|(info|progress)|(debug|progress\\+)|(trace|progress\\+\\+)|progress\\+\\+\\+)$" + python_executable_name: + title: Controls the name of the Python executable used by the Python extractor. + description: > + The Python extractor uses platform-dependent heuristics to determine the name of the Python executable to use. + Specifying a value for this option overrides the name of the Python executable used by the extractor. + Accepted values are py, python and python3. + Use this setting with caution, the Python extractor requires Python 3 to run. + type: string + pattern: "^(py|python|python3)$" diff --git a/python/extractor/BUILD.bazel b/python/extractor/BUILD.bazel index 4e93f539bde..3b5a5b3a617 100644 --- a/python/extractor/BUILD.bazel +++ b/python/extractor/BUILD.bazel @@ -1,4 +1,4 @@ -load("//:dist.bzl", "pack_zip") +load("@semmle_code//:dist.bzl", "pack_zip") py_binary( name = "make-zips-py", @@ -33,7 +33,7 @@ genrule( ) pack_zip( - name = "extractor-python", + name = "extractor", srcs = [ "LICENSE-PSF.md", # because we distribute imp.py "convert_setup.py", diff --git a/python/extractor/cli-integration-test/writing-diagnostics/test_diagnostics_output.py b/python/extractor/cli-integration-test/writing-diagnostics/test_diagnostics_output.py index 39982596fc5..0dce022a0f9 100644 --- a/python/extractor/cli-integration-test/writing-diagnostics/test_diagnostics_output.py +++ b/python/extractor/cli-integration-test/writing-diagnostics/test_diagnostics_output.py @@ -1,6 +1,6 @@ import os import sys -sys.path.append(os.path.join(os.path.dirname(__file__), "..", "..", "..", "integration-tests")) +sys.path.append(os.path.join(os.path.dirname(__file__), "..", "..", "..", "..", "..", "integration-tests")) import diagnostics_test_utils test_db = "db" diff --git a/python/extractor/qlpack.yml b/python/extractor/qlpack.yml index 783c301abbb..88164c64ee8 100644 --- a/python/extractor/qlpack.yml +++ b/python/extractor/qlpack.yml @@ -1,6 +1,6 @@ name: extractor-python dependencies: - codeql/python-all: "*" - codeql/python-queries: "*" + codeql/python-all: ${workspace} + codeql/python-queries: ${workspace} extractor: python warnOnImplicitThis: true diff --git a/python/extractor/tests/test_patterns.py b/python/extractor/tests/test_patterns.py index f218e7a4907..eb05d91c1a5 100644 --- a/python/extractor/tests/test_patterns.py +++ b/python/extractor/tests/test_patterns.py @@ -12,7 +12,7 @@ class ExtractorPatternsTest(test_utils.ExtractorTest): def test(self): repo_dir = subprocess.Popen(["git", "rev-parse", "--show-toplevel"], stdout=subprocess.PIPE).communicate()[0].rstrip().decode("utf-8") - test_file_path = os.path.abspath(os.path.join(repo_dir, "unit-tests", "files", "pattern-matching", "patterns.json")) + test_file_path = os.path.abspath(os.path.join(repo_dir, "..", "unit-tests", "files", "pattern-matching", "patterns.json")) with open(test_file_path) as test_file: test_patterns = json.load(test_file) for test_pattern in test_patterns: diff --git a/python/extractor/tsg-python/BUILD.bazel b/python/extractor/tsg-python/BUILD.bazel index 8e1425e3f3e..204bd89475a 100644 --- a/python/extractor/tsg-python/BUILD.bazel +++ b/python/extractor/tsg-python/BUILD.bazel @@ -1,5 +1,5 @@ -load("@tsg_python_crate_index//:defs.bzl", "aliases", "all_crate_deps") -load("//:common.bzl", "codeql_rust_binary") +load("@py_deps//:defs.bzl", "aliases", "all_crate_deps") +load("@semmle_code//:common.bzl", "codeql_rust_binary") codeql_rust_binary( name = "tsg-python", @@ -12,5 +12,5 @@ codeql_rust_binary( visibility = ["//visibility:public"], deps = all_crate_deps( normal = True, - ) + ["//extractor-python/tsg-python/tree-sitter-python"], + ) + ["//python/extractor/tsg-python/tsp"], ) diff --git a/python/extractor/tsg-python/Cargo.Bazel.lock b/python/extractor/tsg-python/Cargo.Bazel.lock index fbbd661c9e4..e3b5a249e4f 100644 --- a/python/extractor/tsg-python/Cargo.Bazel.lock +++ b/python/extractor/tsg-python/Cargo.Bazel.lock @@ -1,5 +1,5 @@ { - "checksum": "54f1095f5a2e74da736682bc8d355b3dbce47558983feba04faba84cf3abfaca", + "checksum": "35a1ce4b6c4f997c496c11d3a8fcfaadc5833dfd41bebb022941687d73dde159", "crates": { "ahash 0.4.7": { "name": "ahash", @@ -7,7 +7,7 @@ "package_url": "https://github.com/tkaitchuck/ahash", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/ahash/0.4.7/download", + "url": "https://static.crates.io/crates/ahash/0.4.7/download", "sha256": "739f4a8db6605981345c5654f3a85b056ce52f37a39d34da03f25bf2151ea16e" } }, @@ -43,7 +43,7 @@ "package_url": "https://github.com/BurntSushi/aho-corasick", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/aho-corasick/0.7.18/download", + "url": "https://static.crates.io/crates/aho-corasick/0.7.18/download", "sha256": "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f" } }, @@ -95,7 +95,7 @@ "package_url": "https://github.com/ogham/rust-ansi-term", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/ansi_term/0.11.0/download", + "url": "https://static.crates.io/crates/ansi_term/0.11.0/download", "sha256": "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" } }, @@ -141,7 +141,7 @@ "package_url": "https://github.com/dtolnay/anyhow", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/anyhow/1.0.44/download", + "url": "https://static.crates.io/crates/anyhow/1.0.44/download", "sha256": "61604a8f862e1d5c3229fdd78f8b02c68dcf73a4c4b05fd636d12240aaa242c1" } }, @@ -207,7 +207,7 @@ "package_url": "https://github.com/softprops/atty", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/atty/0.2.14/download", + "url": "https://static.crates.io/crates/atty/0.2.14/download", "sha256": "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" } }, @@ -265,7 +265,7 @@ "package_url": "https://github.com/bitflags/bitflags", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/bitflags/1.3.2/download", + "url": "https://static.crates.io/crates/bitflags/1.3.2/download", "sha256": "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" } }, @@ -307,7 +307,7 @@ "package_url": "https://github.com/alexcrichton/cc-rs", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/cc/1.0.70/download", + "url": "https://static.crates.io/crates/cc/1.0.70/download", "sha256": "d26a6ce4b6a484fa3edb70f7efa6fc430fd2b87285fe8b84304fd0936faa0dc0" } }, @@ -343,7 +343,7 @@ "package_url": "https://github.com/alexcrichton/cfg-if", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/cfg-if/1.0.0/download", + "url": "https://static.crates.io/crates/cfg-if/1.0.0/download", "sha256": "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" } }, @@ -379,7 +379,7 @@ "package_url": "https://github.com/clap-rs/clap", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/clap/2.33.3/download", + "url": "https://static.crates.io/crates/clap/2.33.3/download", "sha256": "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002" } }, @@ -462,7 +462,7 @@ "package_url": "https://github.com/rust-lang/hashbrown", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/hashbrown/0.9.1/download", + "url": "https://static.crates.io/crates/hashbrown/0.9.1/download", "sha256": "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04" } }, @@ -514,7 +514,7 @@ "package_url": "https://github.com/hermitcore/libhermit-rs", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/hermit-abi/0.1.19/download", + "url": "https://static.crates.io/crates/hermit-abi/0.1.19/download", "sha256": "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" } }, @@ -559,7 +559,7 @@ "package_url": "https://github.com/dtolnay/itoa", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/itoa/1.0.1/download", + "url": "https://static.crates.io/crates/itoa/1.0.1/download", "sha256": "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35" } }, @@ -595,7 +595,7 @@ "package_url": "https://github.com/rust-lang/libc", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/libc/0.2.101/download", + "url": "https://static.crates.io/crates/libc/0.2.101/download", "sha256": "3cb00336871be5ed2c8ed44b60ae9959dc5b9f08539422ed43f09e34ecaeba21" } }, @@ -654,7 +654,7 @@ "package_url": "https://github.com/rust-lang/log", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/log/0.4.14/download", + "url": "https://static.crates.io/crates/log/0.4.14/download", "sha256": "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710" } }, @@ -717,7 +717,7 @@ "package_url": "https://github.com/BurntSushi/memchr", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/memchr/2.4.1/download", + "url": "https://static.crates.io/crates/memchr/2.4.1/download", "sha256": "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a" } }, @@ -783,7 +783,7 @@ "package_url": "https://github.com/alexcrichton/proc-macro2", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/proc-macro2/1.0.29/download", + "url": "https://static.crates.io/crates/proc-macro2/1.0.29/download", "sha256": "b9f5105d4fdaab20335ca9565e106a5d9b82b6219b5ba735731124ac6711d23d" } }, @@ -853,7 +853,7 @@ "package_url": "https://github.com/dtolnay/quote", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/quote/1.0.9/download", + "url": "https://static.crates.io/crates/quote/1.0.9/download", "sha256": "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7" } }, @@ -905,7 +905,7 @@ "package_url": "https://github.com/rust-lang/regex", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/regex/1.5.5/download", + "url": "https://static.crates.io/crates/regex/1.5.5/download", "sha256": "1a11647b6b25ff05a515cb92c365cec08801e83423a235b51e231e1808747286" } }, @@ -980,7 +980,7 @@ "package_url": "https://github.com/rust-lang/regex", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/regex-syntax/0.6.25/download", + "url": "https://static.crates.io/crates/regex-syntax/0.6.25/download", "sha256": "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b" } }, @@ -1030,7 +1030,7 @@ "package_url": "https://github.com/dtolnay/ryu", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/ryu/1.0.9/download", + "url": "https://static.crates.io/crates/ryu/1.0.9/download", "sha256": "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f" } }, @@ -1066,7 +1066,7 @@ "package_url": "https://github.com/serde-rs/serde", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/serde/1.0.136/download", + "url": "https://static.crates.io/crates/serde/1.0.136/download", "sha256": "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789" } }, @@ -1132,7 +1132,7 @@ "package_url": "https://github.com/serde-rs/json", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/serde_json/1.0.79/download", + "url": "https://static.crates.io/crates/serde_json/1.0.79/download", "sha256": "8e8d9fa5c3b304765ce1fd9c4c8a3de2c8db365a5b91be52f186efc675681d95" } }, @@ -1210,7 +1210,7 @@ "package_url": "https://github.com/servo/rust-smallvec", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/smallvec/1.6.1/download", + "url": "https://static.crates.io/crates/smallvec/1.6.1/download", "sha256": "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e" } }, @@ -1252,7 +1252,7 @@ "package_url": "https://github.com/robbepop/string-interner", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/string-interner/0.12.2/download", + "url": "https://static.crates.io/crates/string-interner/0.12.2/download", "sha256": "383196d1876517ee6f9f0864d1fc1070331b803335d3c6daaa04bbcccd823c08" } }, @@ -1309,7 +1309,7 @@ "package_url": "https://github.com/dguo/strsim-rs", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/strsim/0.8.0/download", + "url": "https://static.crates.io/crates/strsim/0.8.0/download", "sha256": "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" } }, @@ -1344,7 +1344,7 @@ "package_url": "https://github.com/dtolnay/syn", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/syn/1.0.76/download", + "url": "https://static.crates.io/crates/syn/1.0.76/download", "sha256": "c6f107db402c2c2055242dbf4d2af0e69197202e9faacbef9571bbe47f5a1b84" } }, @@ -1427,7 +1427,7 @@ "package_url": "https://github.com/mgeisler/textwrap", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/textwrap/0.11.0/download", + "url": "https://static.crates.io/crates/textwrap/0.11.0/download", "sha256": "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" } }, @@ -1471,7 +1471,7 @@ "package_url": "https://github.com/dtolnay/thiserror", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/thiserror/1.0.29/download", + "url": "https://static.crates.io/crates/thiserror/1.0.29/download", "sha256": "602eca064b2d83369e2b2f34b09c70b605402801927c65c11071ac911d299b88" } }, @@ -1516,7 +1516,7 @@ "package_url": "https://github.com/dtolnay/thiserror", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/thiserror-impl/1.0.29/download", + "url": "https://static.crates.io/crates/thiserror-impl/1.0.29/download", "sha256": "bad553cc2c78e8de258400763a647e80e6d1b31ee237275d756f6836d204494c" } }, @@ -1569,7 +1569,7 @@ "package_url": "https://github.com/tree-sitter/tree-sitter", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/tree-sitter/0.20.4/download", + "url": "https://static.crates.io/crates/tree-sitter/0.20.4/download", "sha256": "4e34327f8eac545e3f037382471b2b19367725a242bba7bc45edb9efb49fe39a" } }, @@ -1640,7 +1640,7 @@ "package_url": "https://github.com/tree-sitter/tree-sitter-graph/", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/tree-sitter-graph/0.7.0/download", + "url": "https://static.crates.io/crates/tree-sitter-graph/0.7.0/download", "sha256": "639d21e886f581d293de5f5081f09af003c54607ff3fa85efa159b243ba1f97a" } }, @@ -1707,72 +1707,6 @@ ], "license_file": null }, - "tree-sitter-python 0.19.0": { - "name": "tree-sitter-python", - "version": "0.19.0", - "package_url": "https://github.com/tree-sitter/tree-sitter-python", - "repository": null, - "targets": [ - { - "Library": { - "crate_name": "tree_sitter_python", - "crate_root": "bindings/rust/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - }, - { - "BuildScript": { - "crate_name": "build_script_build", - "crate_root": "bindings/rust/build.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "tree_sitter_python", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "tree-sitter 0.20.4", - "target": "tree_sitter" - }, - { - "id": "tree-sitter-python 0.19.0", - "target": "build_script_build" - } - ], - "selects": {} - }, - "edition": "2018", - "version": "0.19.0" - }, - "build_script_attrs": { - "data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "cc 1.0.70", - "target": "cc" - } - ], - "selects": {} - } - }, - "license": "MIT", - "license_ids": [ - "MIT" - ], - "license_file": null - }, "tsg-python 0.1.0": { "name": "tsg-python", "version": "0.1.0", @@ -1828,13 +1762,79 @@ "license_ids": [], "license_file": null }, + "tsp 0.19.0": { + "name": "tsp", + "version": "0.19.0", + "package_url": "https://github.com/tree-sitter/tree-sitter-python", + "repository": null, + "targets": [ + { + "Library": { + "crate_name": "tsp", + "crate_root": "bindings/rust/lib.rs", + "srcs": [ + "**/*.rs" + ] + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "bindings/rust/build.rs", + "srcs": [ + "**/*.rs" + ] + } + } + ], + "library_target_name": "tsp", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "tree-sitter 0.20.4", + "target": "tree_sitter" + }, + { + "id": "tsp 0.19.0", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "0.19.0" + }, + "build_script_attrs": { + "data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "cc 1.0.70", + "target": "cc" + } + ], + "selects": {} + } + }, + "license": "MIT", + "license_ids": [ + "MIT" + ], + "license_file": null + }, "unicode-width 0.1.8": { "name": "unicode-width", "version": "0.1.8", "package_url": "https://github.com/unicode-rs/unicode-width", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/unicode-width/0.1.8/download", + "url": "https://static.crates.io/crates/unicode-width/0.1.8/download", "sha256": "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3" } }, @@ -1876,7 +1876,7 @@ "package_url": "https://github.com/unicode-rs/unicode-xid", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/unicode-xid/0.2.2/download", + "url": "https://static.crates.io/crates/unicode-xid/0.2.2/download", "sha256": "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" } }, @@ -1918,7 +1918,7 @@ "package_url": "https://github.com/contain-rs/vec-map", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/vec_map/0.8.2/download", + "url": "https://static.crates.io/crates/vec_map/0.8.2/download", "sha256": "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" } }, @@ -1954,7 +1954,7 @@ "package_url": "https://github.com/retep998/winapi-rs", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/winapi/0.3.9/download", + "url": "https://static.crates.io/crates/winapi/0.3.9/download", "sha256": "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" } }, @@ -2037,7 +2037,7 @@ "package_url": "https://github.com/retep998/winapi-rs", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download", + "url": "https://static.crates.io/crates/winapi-i686-pc-windows-gnu/0.4.0/download", "sha256": "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" } }, @@ -2096,7 +2096,7 @@ "package_url": "https://github.com/retep998/winapi-rs", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download", + "url": "https://static.crates.io/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download", "sha256": "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" } }, @@ -2152,8 +2152,8 @@ }, "binary_crates": [], "workspace_members": { - "tree-sitter-python 0.19.0": "extractor-python/tsg-python/tree-sitter-python", - "tsg-python 0.1.0": "extractor-python/tsg-python" + "tsg-python 0.1.0": "python/extractor/tsg-python", + "tsp 0.19.0": "python/extractor/tsg-python/tsp" }, "conditions": { "aarch64-apple-darwin": [ diff --git a/python/extractor/tsg-python/Cargo.lock b/python/extractor/tsg-python/Cargo.lock index 9ee8840bde1..c179dd3036f 100644 --- a/python/extractor/tsg-python/Cargo.lock +++ b/python/extractor/tsg-python/Cargo.lock @@ -267,14 +267,6 @@ dependencies = [ "tree-sitter", ] -[[package]] -name = "tree-sitter-python" -version = "0.19.0" -dependencies = [ - "cc", - "tree-sitter", -] - [[package]] name = "tsg-python" version = "0.1.0" @@ -287,7 +279,15 @@ dependencies = [ "thiserror", "tree-sitter", "tree-sitter-graph", - "tree-sitter-python", + "tsp", +] + +[[package]] +name = "tsp" +version = "0.19.0" +dependencies = [ + "cc", + "tree-sitter", ] [[package]] diff --git a/python/extractor/tsg-python/Cargo.toml b/python/extractor/tsg-python/Cargo.toml index b88adbc42d9..feecd254159 100644 --- a/python/extractor/tsg-python/Cargo.toml +++ b/python/extractor/tsg-python/Cargo.toml @@ -8,7 +8,7 @@ edition = "2018" # When changing/updating these, the `Cargo.Bazel.lock` file has to be regenerated. # Check out the documentation at https://bazelbuild.github.io/rules_rust/crate_universe.html#repinning--updating-dependencies -# for how to do so. The bazel repository for the tsg-python project is called `tsg_python_crate_index`, +# for how to do so. The bazel repository for the tsg-python project is called `py_deps`, # and instead of calling `bazel sync`, `./build --bazel sync` should be used instead, to always use the correct bazel version. [dependencies] anyhow = "1.0" @@ -17,7 +17,7 @@ smallvec = { version="1.6", features=["union"] } thiserror = "1.0" tree-sitter = "0.20.4" tree-sitter-graph = "0.7.0" -tree-sitter-python = {path = "tree-sitter-python"} +tsp = {path = "tsp"} clap = "2.32" [dependencies.string-interner] diff --git a/python/extractor/tsg-python/src/main.rs b/python/extractor/tsg-python/src/main.rs index fa528d8138d..ebfcd01a74e 100644 --- a/python/extractor/tsg-python/src/main.rs +++ b/python/extractor/tsg-python/src/main.rs @@ -488,7 +488,7 @@ fn main() -> Result<()> { "bundled `python.tsg`".to_owned() }; let source_path = Path::new(matches.value_of("source").unwrap()); - let language = tree_sitter_python::language(); + let language = tsp::language(); let mut parser = Parser::new(); parser.set_language(language)?; // Statically include `python.tsg`: diff --git a/python/extractor/tsg-python/tree-sitter-python/.gitignore b/python/extractor/tsg-python/tsp/.gitignore similarity index 100% rename from python/extractor/tsg-python/tree-sitter-python/.gitignore rename to python/extractor/tsg-python/tsp/.gitignore diff --git a/python/extractor/tsg-python/tree-sitter-python/.npmignore b/python/extractor/tsg-python/tsp/.npmignore similarity index 100% rename from python/extractor/tsg-python/tree-sitter-python/.npmignore rename to python/extractor/tsg-python/tsp/.npmignore diff --git a/python/extractor/tsg-python/tree-sitter-python/BUILD.bazel b/python/extractor/tsg-python/tsp/BUILD.bazel similarity index 79% rename from python/extractor/tsg-python/tree-sitter-python/BUILD.bazel rename to python/extractor/tsg-python/tsp/BUILD.bazel index 98b636c0d79..71319e894f6 100644 --- a/python/extractor/tsg-python/tree-sitter-python/BUILD.bazel +++ b/python/extractor/tsg-python/tsp/BUILD.bazel @@ -1,13 +1,13 @@ load("@rules_rust//cargo:defs.bzl", "cargo_build_script") load("@rules_rust//rust:defs.bzl", "rust_library") -load("@tsg_python_crate_index//:defs.bzl", "aliases", "all_crate_deps") +load("@py_deps//:defs.bzl", "aliases", "all_crate_deps") package(default_visibility = ["//visibility:public"]) # This will run the build script from the root of the workspace, and # collect the outputs. cargo_build_script( - name = "tsg-build-script", + name = "tsg-build", srcs = ["bindings/rust/build.rs"], data = glob([ "src/**", @@ -18,7 +18,7 @@ cargo_build_script( ) rust_library( - name = "tree-sitter-python", + name = "tsp", srcs = [ "bindings/rust/lib.rs", ], @@ -32,7 +32,7 @@ rust_library( proc_macro_deps = all_crate_deps( proc_macro = True, ), - deps = [":tsg-build-script"] + all_crate_deps( + deps = [":tsg-build"] + all_crate_deps( normal = True, ), ) diff --git a/python/extractor/tsg-python/tree-sitter-python/Cargo.toml b/python/extractor/tsg-python/tsp/Cargo.toml similarity index 95% rename from python/extractor/tsg-python/tree-sitter-python/Cargo.toml rename to python/extractor/tsg-python/tsp/Cargo.toml index 4c863753b93..995f39a3bd9 100644 --- a/python/extractor/tsg-python/tree-sitter-python/Cargo.toml +++ b/python/extractor/tsg-python/tsp/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "tree-sitter-python" +name = "tsp" description = "Python grammar for the tree-sitter parsing library" version = "0.19.0" authors = [ diff --git a/python/extractor/tsg-python/tree-sitter-python/LICENSE b/python/extractor/tsg-python/tsp/LICENSE similarity index 100% rename from python/extractor/tsg-python/tree-sitter-python/LICENSE rename to python/extractor/tsg-python/tsp/LICENSE diff --git a/python/extractor/tsg-python/tree-sitter-python/README.md b/python/extractor/tsg-python/tsp/README.md similarity index 100% rename from python/extractor/tsg-python/tree-sitter-python/README.md rename to python/extractor/tsg-python/tsp/README.md diff --git a/python/extractor/tsg-python/tree-sitter-python/binding.gyp b/python/extractor/tsg-python/tsp/binding.gyp similarity index 100% rename from python/extractor/tsg-python/tree-sitter-python/binding.gyp rename to python/extractor/tsg-python/tsp/binding.gyp diff --git a/python/extractor/tsg-python/tree-sitter-python/bindings/node/binding.cc b/python/extractor/tsg-python/tsp/bindings/node/binding.cc similarity index 100% rename from python/extractor/tsg-python/tree-sitter-python/bindings/node/binding.cc rename to python/extractor/tsg-python/tsp/bindings/node/binding.cc diff --git a/python/extractor/tsg-python/tree-sitter-python/bindings/node/index.js b/python/extractor/tsg-python/tsp/bindings/node/index.js similarity index 100% rename from python/extractor/tsg-python/tree-sitter-python/bindings/node/index.js rename to python/extractor/tsg-python/tsp/bindings/node/index.js diff --git a/python/extractor/tsg-python/tree-sitter-python/bindings/rust/README.md b/python/extractor/tsg-python/tsp/bindings/rust/README.md similarity index 100% rename from python/extractor/tsg-python/tree-sitter-python/bindings/rust/README.md rename to python/extractor/tsg-python/tsp/bindings/rust/README.md diff --git a/python/extractor/tsg-python/tree-sitter-python/bindings/rust/build.rs b/python/extractor/tsg-python/tsp/bindings/rust/build.rs similarity index 100% rename from python/extractor/tsg-python/tree-sitter-python/bindings/rust/build.rs rename to python/extractor/tsg-python/tsp/bindings/rust/build.rs diff --git a/python/extractor/tsg-python/tree-sitter-python/bindings/rust/lib.rs b/python/extractor/tsg-python/tsp/bindings/rust/lib.rs similarity index 100% rename from python/extractor/tsg-python/tree-sitter-python/bindings/rust/lib.rs rename to python/extractor/tsg-python/tsp/bindings/rust/lib.rs diff --git a/python/extractor/tsg-python/tree-sitter-python/grammar.js b/python/extractor/tsg-python/tsp/grammar.js similarity index 100% rename from python/extractor/tsg-python/tree-sitter-python/grammar.js rename to python/extractor/tsg-python/tsp/grammar.js diff --git a/python/extractor/tsg-python/tree-sitter-python/log.html b/python/extractor/tsg-python/tsp/log.html similarity index 100% rename from python/extractor/tsg-python/tree-sitter-python/log.html rename to python/extractor/tsg-python/tsp/log.html diff --git a/python/extractor/tsg-python/tree-sitter-python/package.json b/python/extractor/tsg-python/tsp/package.json similarity index 100% rename from python/extractor/tsg-python/tree-sitter-python/package.json rename to python/extractor/tsg-python/tsp/package.json diff --git a/python/extractor/tsg-python/tree-sitter-python/queries/highlights.scm b/python/extractor/tsg-python/tsp/queries/highlights.scm similarity index 100% rename from python/extractor/tsg-python/tree-sitter-python/queries/highlights.scm rename to python/extractor/tsg-python/tsp/queries/highlights.scm diff --git a/python/extractor/tsg-python/tree-sitter-python/queries/tags.scm b/python/extractor/tsg-python/tsp/queries/tags.scm similarity index 100% rename from python/extractor/tsg-python/tree-sitter-python/queries/tags.scm rename to python/extractor/tsg-python/tsp/queries/tags.scm diff --git a/python/extractor/tsg-python/tree-sitter-python/src/grammar.json b/python/extractor/tsg-python/tsp/src/grammar.json similarity index 100% rename from python/extractor/tsg-python/tree-sitter-python/src/grammar.json rename to python/extractor/tsg-python/tsp/src/grammar.json diff --git a/python/extractor/tsg-python/tree-sitter-python/src/node-types.json b/python/extractor/tsg-python/tsp/src/node-types.json similarity index 100% rename from python/extractor/tsg-python/tree-sitter-python/src/node-types.json rename to python/extractor/tsg-python/tsp/src/node-types.json diff --git a/python/extractor/tsg-python/tree-sitter-python/src/parser.c b/python/extractor/tsg-python/tsp/src/parser.c similarity index 100% rename from python/extractor/tsg-python/tree-sitter-python/src/parser.c rename to python/extractor/tsg-python/tsp/src/parser.c diff --git a/python/extractor/tsg-python/tree-sitter-python/src/scanner.cc b/python/extractor/tsg-python/tsp/src/scanner.cc similarity index 100% rename from python/extractor/tsg-python/tree-sitter-python/src/scanner.cc rename to python/extractor/tsg-python/tsp/src/scanner.cc diff --git a/python/extractor/tsg-python/tree-sitter-python/src/tree_sitter/parser.h b/python/extractor/tsg-python/tsp/src/tree_sitter/parser.h similarity index 100% rename from python/extractor/tsg-python/tree-sitter-python/src/tree_sitter/parser.h rename to python/extractor/tsg-python/tsp/src/tree_sitter/parser.h diff --git a/python/ql/consistency-queries/DataFlowConsistency.ql b/python/ql/consistency-queries/DataFlowConsistency.ql index f0a0d0356ca..759db3d19a9 100644 --- a/python/ql/consistency-queries/DataFlowConsistency.ql +++ b/python/ql/consistency-queries/DataFlowConsistency.ql @@ -10,12 +10,16 @@ private import semmle.python.dataflow.new.internal.DataFlowDispatch private import semmle.python.dataflow.new.internal.TaintTrackingImplSpecific private import codeql.dataflow.internal.DataFlowImplConsistency -private module Input implements InputSig<PythonDataFlow> { +private module Input implements InputSig<Location, PythonDataFlow> { private import Private private import Public predicate postWithInFlowExclude(Node n) { n instanceof FlowSummaryNode } + predicate uniqueNodeLocationExclude(Node n) { n instanceof FlowSummaryNode } + + predicate missingLocationExclude(Node n) { n instanceof FlowSummaryNode } + predicate argHasPostUpdateExclude(ArgumentNode n) { // TODO: Implement post-updates for *args, see tests added in https://github.com/github/codeql/pull/14936 exists(ArgumentPosition apos | n.argumentOf(_, apos) and apos.isStarArgs(_)) @@ -132,4 +136,4 @@ private module Input implements InputSig<PythonDataFlow> { } } -import MakeConsistency<PythonDataFlow, PythonTaintTracking, Input> +import MakeConsistency<Location, PythonDataFlow, PythonTaintTracking, Input> diff --git a/python/ql/consistency-queries/TypeTrackingConsistency.ql b/python/ql/consistency-queries/TypeTrackingConsistency.ql new file mode 100644 index 00000000000..15083229002 --- /dev/null +++ b/python/ql/consistency-queries/TypeTrackingConsistency.ql @@ -0,0 +1,42 @@ +private import python +private import semmle.python.dataflow.new.DataFlow +private import semmle.python.dataflow.new.internal.DataFlowPrivate as DataFlowPrivate +private import semmle.python.dataflow.new.internal.TypeTrackingImpl + +private module ConsistencyChecksInput implements ConsistencyChecksInputSig { + predicate unreachableNodeExclude(DataFlow::Node n) { + n instanceof DataFlowPrivate::SyntheticPostUpdateNode + or + n instanceof DataFlowPrivate::SyntheticPreUpdateNode + or + // TODO: when adding support for proper content, handle **kwargs passing better! + n instanceof DataFlowPrivate::SynthDictSplatArgumentNode + or + // TODO: when adding support for proper content, handle unpacking tuples in match + // cases better, such as + // + // match (NONSOURCE, SOURCE): + // case (x, y): ... + exists(DataFlow::Node m | + m.asCfgNode().getNode() instanceof MatchCapturePattern + or + m.asCfgNode().getNode() instanceof MatchAsPattern + or + m.asCfgNode().getNode() instanceof MatchOrPattern + | + TypeTrackingInput::simpleLocalSmallStep*(m, n) + ) + or + // TODO: when adding support for proper content, handle iterable unpacking better + // such as `for k,v in items:`, or `a, (b,c) = ...` + n instanceof DataFlow::IterableSequenceNode + or + // We have missing use-use flow in + // https://github.com/python/cpython/blob/0fb18b02c8ad56299d6a2910be0bab8ad601ef24/Lib/socketserver.py#L276-L303 + // which I couldn't just fix. We ignore the problems here, and instead rely on the + // test-case added in https://github.com/github/codeql/pull/15841 + n.getLocation().getFile().getAbsolutePath().matches("%/socketserver.py") + } +} + +import ConsistencyChecks<ConsistencyChecksInput> diff --git a/python/ql/lib/CHANGELOG.md b/python/ql/lib/CHANGELOG.md index e6f318c51ea..50a541a2ca2 100644 --- a/python/ql/lib/CHANGELOG.md +++ b/python/ql/lib/CHANGELOG.md @@ -1,3 +1,14 @@ +## 0.11.11 + +No user-facing changes. + +## 0.11.10 + +### Minor Analysis Improvements + +* Fixed missing flow for dictionary updates (`d[<key>] = ...`) when `<key>` is a string constant not used in dictionary literals or as name of keyword-argument. +* Fixed flow for iterable unpacking (`a,b = my_tuple`) when it occurs on top-level (module) scope. + ## 0.11.9 ### Minor Analysis Improvements diff --git a/python/ql/lib/change-notes/2024-02-28-iterable-unpacking-module-scope.md b/python/ql/lib/change-notes/2024-02-28-iterable-unpacking-module-scope.md deleted file mode 100644 index 3c47c6ba866..00000000000 --- a/python/ql/lib/change-notes/2024-02-28-iterable-unpacking-module-scope.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Fixed flow for iterable unpacking (`a,b = my_tuple`) when it occurs on top-level (module) scope. diff --git a/python/ql/lib/change-notes/2024-03-01-dict-update-content.md b/python/ql/lib/change-notes/released/0.11.10.md similarity index 52% rename from python/ql/lib/change-notes/2024-03-01-dict-update-content.md rename to python/ql/lib/change-notes/released/0.11.10.md index dfb8d247fff..ed873724e4f 100644 --- a/python/ql/lib/change-notes/2024-03-01-dict-update-content.md +++ b/python/ql/lib/change-notes/released/0.11.10.md @@ -1,4 +1,6 @@ ---- -category: minorAnalysis ---- +## 0.11.10 + +### Minor Analysis Improvements + * Fixed missing flow for dictionary updates (`d[<key>] = ...`) when `<key>` is a string constant not used in dictionary literals or as name of keyword-argument. +* Fixed flow for iterable unpacking (`a,b = my_tuple`) when it occurs on top-level (module) scope. diff --git a/python/ql/lib/change-notes/released/0.11.11.md b/python/ql/lib/change-notes/released/0.11.11.md new file mode 100644 index 00000000000..d4837264b86 --- /dev/null +++ b/python/ql/lib/change-notes/released/0.11.11.md @@ -0,0 +1,3 @@ +## 0.11.11 + +No user-facing changes. diff --git a/python/ql/lib/codeql-pack.release.yml b/python/ql/lib/codeql-pack.release.yml index b064d1778a1..14dd5ba832d 100644 --- a/python/ql/lib/codeql-pack.release.yml +++ b/python/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.11.9 +lastReleaseVersion: 0.11.11 diff --git a/python/ql/lib/qlpack.yml b/python/ql/lib/qlpack.yml index e9f66e205f2..2b5cb00e405 100644 --- a/python/ql/lib/qlpack.yml +++ b/python/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-all -version: 0.11.10-dev +version: 0.11.12-dev groups: python dbscheme: semmlecode.python.dbscheme extractor: python diff --git a/python/ql/lib/semmle/python/ApiGraphs.qll b/python/ql/lib/semmle/python/ApiGraphs.qll index 18202ebb524..6f27c829e32 100644 --- a/python/ql/lib/semmle/python/ApiGraphs.qll +++ b/python/ql/lib/semmle/python/ApiGraphs.qll @@ -328,6 +328,9 @@ module API { */ DataFlow::Node getInducingNode() { this = Impl::MkUse(result) or this = Impl::MkDef(result) } + /** Gets the location of this node */ + PY::Location getLocation() { result = this.getInducingNode().getLocation() } + /** * Holds if this element is at the specified location. * The location spans column `startcolumn` of line `startline` to @@ -335,7 +338,7 @@ module API { * For more information, see * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). */ - predicate hasLocationInfo( + deprecated predicate hasLocationInfo( string filepath, int startline, int startcolumn, int endline, int endcolumn ) { this.getInducingNode().hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) diff --git a/python/ql/lib/semmle/python/dataflow/new/DataFlow.qll b/python/ql/lib/semmle/python/dataflow/new/DataFlow.qll index 75725a42a9e..17cc0a0ee85 100644 --- a/python/ql/lib/semmle/python/dataflow/new/DataFlow.qll +++ b/python/ql/lib/semmle/python/dataflow/new/DataFlow.qll @@ -24,6 +24,6 @@ private import python module DataFlow { private import internal.DataFlowImplSpecific private import codeql.dataflow.DataFlow - import DataFlowMake<PythonDataFlow> + import DataFlowMake<Location, PythonDataFlow> import internal.DataFlowImpl1 } diff --git a/python/ql/lib/semmle/python/dataflow/new/TaintTracking.qll b/python/ql/lib/semmle/python/dataflow/new/TaintTracking.qll index aa80e7c7148..e085ba45dd0 100644 --- a/python/ql/lib/semmle/python/dataflow/new/TaintTracking.qll +++ b/python/ql/lib/semmle/python/dataflow/new/TaintTracking.qll @@ -19,6 +19,6 @@ module TaintTracking { private import semmle.python.dataflow.new.internal.DataFlowImplSpecific private import semmle.python.dataflow.new.internal.TaintTrackingImplSpecific private import codeql.dataflow.TaintTracking - import TaintFlowMake<PythonDataFlow, PythonTaintTracking> + import TaintFlowMake<Location, PythonDataFlow, PythonTaintTracking> import internal.tainttracking1.TaintTrackingImpl } diff --git a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowDispatch.qll b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowDispatch.qll index 9bf0ec96084..b869bdda521 100644 --- a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowDispatch.qll +++ b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowDispatch.qll @@ -1611,7 +1611,7 @@ class FlowSummaryNode extends Node, TFlowSummaryNode { override string toString() { result = this.getSummaryNode().toString() } // Hack to return "empty location" - override predicate hasLocationInfo( + deprecated override predicate hasLocationInfo( string file, int startline, int startcolumn, int endline, int endcolumn ) { file = "" and diff --git a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl.qll b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl.qll index 92f0f17ce82..9789857adcb 100644 --- a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl.qll +++ b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl.qll @@ -1,3 +1,4 @@ private import DataFlowImplSpecific private import codeql.dataflow.internal.DataFlowImpl -import MakeImpl<PythonDataFlow> +private import semmle.python.Files +import MakeImpl<Location, PythonDataFlow> diff --git a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl1.qll b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl1.qll index 2bbc565daa6..9b92f961e6f 100644 --- a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl1.qll +++ b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl1.qll @@ -285,6 +285,8 @@ deprecated private module Config implements FullStateConfigSig { int fieldFlowBranchLimit() { result = min(any(Configuration config).fieldFlowBranchLimit()) } + int accessPathLimit() { result = 5 } + FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } predicate sourceGrouping(Node source, string sourceGroup) { diff --git a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl2.qll b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl2.qll index 2bbc565daa6..9b92f961e6f 100644 --- a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl2.qll +++ b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl2.qll @@ -285,6 +285,8 @@ deprecated private module Config implements FullStateConfigSig { int fieldFlowBranchLimit() { result = min(any(Configuration config).fieldFlowBranchLimit()) } + int accessPathLimit() { result = 5 } + FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } predicate sourceGrouping(Node source, string sourceGroup) { diff --git a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl3.qll b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl3.qll index 2bbc565daa6..9b92f961e6f 100644 --- a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl3.qll +++ b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl3.qll @@ -285,6 +285,8 @@ deprecated private module Config implements FullStateConfigSig { int fieldFlowBranchLimit() { result = min(any(Configuration config).fieldFlowBranchLimit()) } + int accessPathLimit() { result = 5 } + FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } predicate sourceGrouping(Node source, string sourceGroup) { diff --git a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl4.qll b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl4.qll index 2bbc565daa6..9b92f961e6f 100644 --- a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl4.qll +++ b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl4.qll @@ -285,6 +285,8 @@ deprecated private module Config implements FullStateConfigSig { int fieldFlowBranchLimit() { result = min(any(Configuration config).fieldFlowBranchLimit()) } + int accessPathLimit() { result = 5 } + FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } predicate sourceGrouping(Node source, string sourceGroup) { diff --git a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImplCommon.qll b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImplCommon.qll index 41c9c4ec1be..cd7c3992330 100644 --- a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImplCommon.qll +++ b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImplCommon.qll @@ -1,3 +1,4 @@ private import DataFlowImplSpecific private import codeql.dataflow.internal.DataFlowImplCommon -import MakeImplCommon<PythonDataFlow> +private import semmle.python.Files +import MakeImplCommon<Location, PythonDataFlow> diff --git a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImplSpecific.qll b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImplSpecific.qll index cffdefe41ba..48199dac9f5 100644 --- a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImplSpecific.qll +++ b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImplSpecific.qll @@ -15,11 +15,13 @@ module Public { import DataFlowUtil } -module PythonDataFlow implements InputSig { +module PythonDataFlow implements InputSig<Python::Location> { import Private import Public predicate neverSkipInPathGraph = Private::neverSkipInPathGraph/1; Node exprNode(DataFlowExpr e) { result = Public::exprNode(e) } + + predicate ignoreFieldFlowBranchLimit(DataFlowCallable c) { exists(c.asLibraryCallable()) } } diff --git a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowPublic.qll b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowPublic.qll index 73c87992c48..16a9572db6a 100644 --- a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowPublic.qll +++ b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowPublic.qll @@ -148,6 +148,7 @@ class Node extends TNode { DataFlowCallable getEnclosingCallable() { result = getCallableScope(this.getScope()) } /** Gets the location of this node */ + cached Location getLocation() { none() } /** @@ -157,8 +158,7 @@ class Node extends TNode { * For more information, see * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). */ - cached - predicate hasLocationInfo( + deprecated predicate hasLocationInfo( string filepath, int startline, int startcolumn, int endline, int endcolumn ) { Stages::DataFlow::ref() and diff --git a/python/ql/lib/semmle/python/dataflow/new/internal/FlowSummaryImpl.qll b/python/ql/lib/semmle/python/dataflow/new/internal/FlowSummaryImpl.qll index 6a7463ccb9b..a1dd67a008a 100644 --- a/python/ql/lib/semmle/python/dataflow/new/internal/FlowSummaryImpl.qll +++ b/python/ql/lib/semmle/python/dataflow/new/internal/FlowSummaryImpl.qll @@ -9,7 +9,7 @@ private import DataFlowImplSpecific as DataFlowImplSpecific private import DataFlowImplSpecific::Private private import DataFlowImplSpecific::Public -module Input implements InputSig<DataFlowImplSpecific::PythonDataFlow> { +module Input implements InputSig<Location, DataFlowImplSpecific::PythonDataFlow> { class SummarizedCallableBase = string; ArgumentPosition callbackSelfParameterPosition() { result.isLambdaSelf() } @@ -88,7 +88,7 @@ module Input implements InputSig<DataFlowImplSpecific::PythonDataFlow> { } } -private import Make<DataFlowImplSpecific::PythonDataFlow, Input> as Impl +private import Make<Location, DataFlowImplSpecific::PythonDataFlow, Input> as Impl private module StepsInput implements Impl::Private::StepsInputSig { DataFlowCall getACall(Public::SummarizedCallable sc) { diff --git a/python/ql/lib/semmle/python/dataflow/new/internal/TaintTrackingImplSpecific.qll b/python/ql/lib/semmle/python/dataflow/new/internal/TaintTrackingImplSpecific.qll index 6f65d234344..798c1d5116f 100644 --- a/python/ql/lib/semmle/python/dataflow/new/internal/TaintTrackingImplSpecific.qll +++ b/python/ql/lib/semmle/python/dataflow/new/internal/TaintTrackingImplSpecific.qll @@ -4,7 +4,8 @@ private import codeql.dataflow.TaintTracking private import DataFlowImplSpecific +private import semmle.python.Files -module PythonTaintTracking implements InputSig<PythonDataFlow> { +module PythonTaintTracking implements InputSig<Location, PythonDataFlow> { import TaintTrackingPrivate } diff --git a/python/ql/lib/semmle/python/internal/CachedStages.qll b/python/ql/lib/semmle/python/internal/CachedStages.qll index da32b4c071e..687cabeceae 100644 --- a/python/ql/lib/semmle/python/internal/CachedStages.qll +++ b/python/ql/lib/semmle/python/internal/CachedStages.qll @@ -194,7 +194,7 @@ module Stages { or exists(any(DataFlowPublic::Node node).toString()) or - any(DataFlowPublic::Node node).hasLocationInfo(_, _, _, _, _) + exists(any(DataFlowPublic::Node node).getLocation()) or DataFlowDispatch::resolveCall(_, _, _) or diff --git a/python/ql/src/CHANGELOG.md b/python/ql/src/CHANGELOG.md index 50762bcbf34..ff258db317a 100644 --- a/python/ql/src/CHANGELOG.md +++ b/python/ql/src/CHANGELOG.md @@ -1,3 +1,13 @@ +## 0.9.11 + +No user-facing changes. + +## 0.9.10 + +### New Queries + +* The query `py/nosql-injection` for finding NoSQL injection vulnerabilities is now part of the default security suite. + ## 0.9.9 No user-facing changes. diff --git a/python/ql/src/Security/CWE-798/HardcodedCredentials.ql b/python/ql/src/Security/CWE-798/HardcodedCredentials.ql index 0a92427ec23..04197b13610 100644 --- a/python/ql/src/Security/CWE-798/HardcodedCredentials.ql +++ b/python/ql/src/Security/CWE-798/HardcodedCredentials.ql @@ -16,6 +16,8 @@ import python import semmle.python.dataflow.new.DataFlow import semmle.python.dataflow.new.TaintTracking import semmle.python.filters.Tests +private import semmle.python.dataflow.new.internal.DataFlowDispatch as DataFlowDispatch +private import semmle.python.dataflow.new.internal.Builtins::Builtins as Builtins bindingset[char, fraction] predicate fewer_characters_than(StrConst str, string char, float fraction) { @@ -30,15 +32,13 @@ predicate fewer_characters_than(StrConst str, string char, float fraction) { } predicate possible_reflective_name(string name) { - exists(any(ModuleValue m).attr(name)) + any(Function f).getName() = name or - exists(any(ClassValue c).lookup(name)) + any(Class c).getName() = name or - any(ClassValue c).getName() = name + any(Module m).getName() = name or - exists(Module::named(name)) - or - exists(Value::named(name)) + exists(Builtins::likelyBuiltin(name)) } int char_count(StrConst str) { result = count(string c | c = str.getText().charAt(_)) } @@ -84,7 +84,9 @@ class CredentialSink extends DataFlow::Node { name.regexpMatch(getACredentialRegex()) and not name.matches("%file") | - any(FunctionValue func).getNamedArgumentForCall(_, name) = this.asCfgNode() + exists(DataFlowDispatch::ArgumentPosition pos | pos.isKeyword(name) | + this.(DataFlow::ArgumentNode).argumentOf(_, pos) + ) or exists(Keyword k | k.getArg() = name and k.getValue().getAFlowNode() = this.asCfgNode()) or diff --git a/python/ql/src/Summary/LinesOfUserCode.ql b/python/ql/src/Summary/LinesOfUserCode.ql index 528ae948cd7..f6d6f25872f 100644 --- a/python/ql/src/Summary/LinesOfUserCode.ql +++ b/python/ql/src/Summary/LinesOfUserCode.ql @@ -8,6 +8,7 @@ * @kind metric * @tags summary * lines-of-code + * debug * @id py/summary/lines-of-user-code */ diff --git a/python/ql/src/change-notes/2024-03-04-nosql-injection.md b/python/ql/src/change-notes/released/0.9.10.md similarity index 81% rename from python/ql/src/change-notes/2024-03-04-nosql-injection.md rename to python/ql/src/change-notes/released/0.9.10.md index 6e98540c757..4cbb221b789 100644 --- a/python/ql/src/change-notes/2024-03-04-nosql-injection.md +++ b/python/ql/src/change-notes/released/0.9.10.md @@ -1,4 +1,5 @@ ---- -category: newQuery ---- +## 0.9.10 + +### New Queries + * The query `py/nosql-injection` for finding NoSQL injection vulnerabilities is now part of the default security suite. diff --git a/python/ql/src/change-notes/released/0.9.11.md b/python/ql/src/change-notes/released/0.9.11.md new file mode 100644 index 00000000000..5f0f5649db6 --- /dev/null +++ b/python/ql/src/change-notes/released/0.9.11.md @@ -0,0 +1,3 @@ +## 0.9.11 + +No user-facing changes. diff --git a/python/ql/src/codeql-pack.release.yml b/python/ql/src/codeql-pack.release.yml index aabed7c396b..47eb8b55bab 100644 --- a/python/ql/src/codeql-pack.release.yml +++ b/python/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.9.9 +lastReleaseVersion: 0.9.11 diff --git a/python/ql/src/experimental/Security/CWE-770/UnicodeDoS.qhelp b/python/ql/src/experimental/Security/CWE-770/UnicodeDoS.qhelp new file mode 100644 index 00000000000..9b8fea3cad1 --- /dev/null +++ b/python/ql/src/experimental/Security/CWE-770/UnicodeDoS.qhelp @@ -0,0 +1,38 @@ +<!DOCTYPE qhelp PUBLIC + "-//Semmle//qhelp//EN" + "qhelp.dtd"> +<qhelp> + +<overview> +<p>When a remote user-controlled data can reach a costly Unicode normalization with either form, NFKC or NFKD, an attack such as the One Million Unicode Characters, could lead to a denial of service on Windows OS.</p> + +<p>And, with the use of special Unicode characters, like U+2100 (â„€) or U+2105 (â„…), the payload size could be tripled after the compatibility normalization.</p> + +</overview> +<recommendation> + +<p>Ensure limiting the size of any incoming data that would go through a costly operations, including a Windows Unicode normalization with NFKC or NFKD. Such a recommandation would avoid a potential denial of service.</p> + +</recommendation> + +<example> +<p> +In this example a simple user-controlled data reaches a Unicode normalization with the form "NFKC". +</p> + +<sample src="bad.py" /> + +<p>To fix this vulnerability, we need restrain the size of the user input.</p> + +<p>For example, we can use the <code>len()</code> builtin function to limit the size of the user input.</p> + +<sample src="good.py" /> + +</example> +<references> + +<li> + <a href="https://hackerone.com/reports/2258758">CVE-2023-46695: Potential denial of service vulnerability in Django UsernameField on Windows.</a> + </li> +</references> +</qhelp> diff --git a/python/ql/src/experimental/Security/CWE-770/UnicodeDoS.ql b/python/ql/src/experimental/Security/CWE-770/UnicodeDoS.ql new file mode 100644 index 00000000000..9e0a3a3018a --- /dev/null +++ b/python/ql/src/experimental/Security/CWE-770/UnicodeDoS.ql @@ -0,0 +1,114 @@ +/** + * @name Denial of Service using Unicode Characters + * @description A remote user-controlled data can reach a costly Unicode normalization with either form NFKC or NFKD. On Windows OS, with an attack such as the One Million Unicode Characters, this could lead to a denial of service. And, with the use of special Unicode characters, like U+2100 (â„€) or U+2105 (â„…), the payload size could be tripled. + * @kind path-problem + * @id py/unicode-dos + * @precision high + * @problem.severity error + * @tags security + * experimental + * external/cwe/cwe-770 + */ + +import python +import semmle.python.ApiGraphs +import semmle.python.Concepts +import semmle.python.dataflow.new.TaintTracking +import semmle.python.dataflow.new.internal.DataFlowPublic +import semmle.python.dataflow.new.RemoteFlowSources + +// The Unicode compatibility normalization calls from unicodedata, unidecode, pyunormalize +// and textnorm modules. The use of argIdx is to constraint the argument being normalized. +class UnicodeCompatibilityNormalize extends API::CallNode { + int argIdx; + + UnicodeCompatibilityNormalize() { + ( + this = API::moduleImport("unicodedata").getMember("normalize").getACall() and + this.getParameter(0).getAValueReachingSink().asExpr().(StrConst).getText() in ["NFKC", "NFKD"] + or + this = API::moduleImport("pyunormalize").getMember("normalize").getACall() and + this.getParameter(0).getAValueReachingSink().asExpr().(StrConst).getText() in ["NFKC", "NFKD"] + ) and + argIdx = 1 + or + ( + this = API::moduleImport("textnorm").getMember("normalize_unicode").getACall() and + this.getParameter(1).getAValueReachingSink().asExpr().(StrConst).getText() in ["NFKC", "NFKD"] + or + this = API::moduleImport("unidecode").getMember("unidecode").getACall() + or + this = API::moduleImport("pyunormalize").getMember(["NFKC", "NFKD"]).getACall() + ) and + argIdx = 0 + } + + DataFlow::Node getPathArg() { result = this.getArg(argIdx) } +} + +predicate underAValue(DataFlow::GuardNode g, ControlFlowNode node, boolean branch) { + exists(CompareNode cn | cn = g | + exists(API::CallNode lenCall, Cmpop op, Node n | + lenCall = n.getALocalSource() and + ( + // arg <= LIMIT OR arg < LIMIT + (op instanceof LtE or op instanceof Lt) and + branch = true and + cn.operands(n.asCfgNode(), op, _) + or + // LIMIT >= arg OR LIMIT > arg + (op instanceof GtE or op instanceof Gt) and + branch = true and + cn.operands(_, op, n.asCfgNode()) + or + // not arg >= LIMIT OR not arg > LIMIT + (op instanceof GtE or op instanceof Gt) and + branch = false and + cn.operands(n.asCfgNode(), op, _) + or + // not LIMIT <= arg OR not LIMIT < arg + (op instanceof LtE or op instanceof Lt) and + branch = false and + cn.operands(_, op, n.asCfgNode()) + ) + | + lenCall = API::builtin("len").getACall() and + node = lenCall.getArg(0).asCfgNode() + ) //and + //not cn.getLocation().getFile().inStdlib() + ) +} + +private module UnicodeDoSConfig implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource } + + predicate isBarrier(DataFlow::Node sanitizer) { + // underAValue is a check to ensure that the length of the user-provided value is limited to a certain amount + sanitizer = DataFlow::BarrierGuard<underAValue/3>::getABarrierNode() + } + + predicate isSink(DataFlow::Node sink) { + // Any call to the Unicode compatibility normalization is a costly operation + sink = any(UnicodeCompatibilityNormalize ucn).getPathArg() + or + // The call to secure_filename() from pallets/werkzeug uses the Unicode compatibility normalization + // under the hood, https://github.com/pallets/werkzeug/blob/d3dd65a27388fbd39d146caacf2563639ba622f0/src/werkzeug/utils.py#L218 + sink = API::moduleImport("werkzeug").getMember("secure_filename").getACall().getArg(_) + or + sink = + API::moduleImport("werkzeug") + .getMember("utils") + .getMember("secure_filename") + .getACall() + .getArg(_) + } +} + +module UnicodeDoSFlow = TaintTracking::Global<UnicodeDoSConfig>; + +import UnicodeDoSFlow::PathGraph + +from UnicodeDoSFlow::PathNode source, UnicodeDoSFlow::PathNode sink +where UnicodeDoSFlow::flowPath(source, sink) +select sink.getNode(), source, sink, "This $@ can reach a $@.", source.getNode(), + "user-provided value", sink.getNode(), "costly Unicode normalization operation" diff --git a/python/ql/src/experimental/Security/CWE-770/bad.py b/python/ql/src/experimental/Security/CWE-770/bad.py new file mode 100644 index 00000000000..92260955431 --- /dev/null +++ b/python/ql/src/experimental/Security/CWE-770/bad.py @@ -0,0 +1,17 @@ +from flask import Flask, jsonify, request +import unicodedata + +app = Flask(__name__) + + +@app.route("/bad_1") +def bad_1(): + # User controlled data + file_path = request.args.get("file_path", "") + + # Normalize the file path using NFKC Unicode normalization + return ( + unicodedata.normalize("NFKC", file_path), + 200, + {"Content-Type": "application/octet-stream"}, + ) diff --git a/python/ql/src/experimental/Security/CWE-770/good.py b/python/ql/src/experimental/Security/CWE-770/good.py new file mode 100644 index 00000000000..4d1ebc31507 --- /dev/null +++ b/python/ql/src/experimental/Security/CWE-770/good.py @@ -0,0 +1,16 @@ +from flask import Flask, jsonify, request +import unicodedata + +app = Flask(__name__) + + +@app.route("/good_1") +def good_1(): + r = request.args.get("file_path", "") + + if len(r) <= 1_000: + # Normalize the r using NFKD Unicode normalization + r = unicodedata.normalize("NFKD", r) + return r, 200, {"Content-Type": "application/octet-stream"} + else: + return jsonify({"error": "File not found"}), 404 diff --git a/python/ql/src/qlpack.yml b/python/ql/src/qlpack.yml index aa18f2d8707..49eae617df8 100644 --- a/python/ql/src/qlpack.yml +++ b/python/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-queries -version: 0.9.10-dev +version: 0.9.12-dev groups: - python - queries diff --git a/python/ql/test/experimental/dataflow/summaries/InlineTaintTest.expected b/python/ql/test/experimental/dataflow/summaries/InlineTaintTest.expected new file mode 100644 index 00000000000..366de37b867 --- /dev/null +++ b/python/ql/test/experimental/dataflow/summaries/InlineTaintTest.expected @@ -0,0 +1,4 @@ +argumentToEnsureNotTaintedNotMarkedAsSpurious +untaintedArgumentToEnsureTaintedNotMarkedAsMissing +testFailures +failures diff --git a/python/ql/test/experimental/dataflow/summaries/InlineTaintTest.ql b/python/ql/test/experimental/dataflow/summaries/InlineTaintTest.ql new file mode 100644 index 00000000000..96cc5c3e31f --- /dev/null +++ b/python/ql/test/experimental/dataflow/summaries/InlineTaintTest.ql @@ -0,0 +1,4 @@ +import python +import experimental.meta.InlineTaintTest +import MakeInlineTaintTest<TestTaintTrackingConfig> +import TestSummaries diff --git a/python/ql/test/experimental/dataflow/summaries/TestSummaries.qll b/python/ql/test/experimental/dataflow/summaries/TestSummaries.qll index b2e29e9999e..534fac62491 100644 --- a/python/ql/test/experimental/dataflow/summaries/TestSummaries.qll +++ b/python/ql/test/experimental/dataflow/summaries/TestSummaries.qll @@ -136,3 +136,108 @@ private class SummarizedCallableJsonLoads extends SummarizedCallable { preservesValue = true } } + +// Repeated summaries +private class SummarizedCallableWithSubpath extends SummarizedCallable { + SummarizedCallableWithSubpath() { this = "extracted_package.functions.with_subpath" } + + override DataFlow::CallCfgNode getACall() { + result = + API::moduleImport("extracted_package") + .getMember("functions") + .getMember("with_subpath") + .getACall() + } + + override DataFlow::ArgumentNode getACallback() { + result = + API::moduleImport("extracted_package") + .getMember("functions") + .getMember("with_subpath") + .getAValueReachableFromSource() + } + + override predicate propagatesFlow(string input, string output, boolean preservesValue) { + input = "Argument[0]" and + output = "ReturnValue" and + preservesValue = false + } +} + +private class SummarizedCallableWithSubpathAgain extends SummarizedCallable { + SummarizedCallableWithSubpathAgain() { this = "extracted_package.functions.with_subpathII" } + + override DataFlow::CallCfgNode getACall() { + result = + API::moduleImport("extracted_package") + .getMember("functions") + .getMember("with_subpath") + .getACall() + } + + override DataFlow::ArgumentNode getACallback() { + result = + API::moduleImport("extracted_package") + .getMember("functions") + .getMember("with_subpath") + .getAValueReachableFromSource() + } + + override predicate propagatesFlow(string input, string output, boolean preservesValue) { + input = "Argument[0]" and + output = "ReturnValue.Attribute[pattern]" and + preservesValue = true + } +} + +private class SummarizedCallableWithoutSubpath extends SummarizedCallable { + SummarizedCallableWithoutSubpath() { this = "extracted_package.functions.without_subpath" } + + override DataFlow::CallCfgNode getACall() { + result = + API::moduleImport("extracted_package") + .getMember("functions") + .getMember("without_subpath") + .getACall() + } + + override DataFlow::ArgumentNode getACallback() { + result = + API::moduleImport("extracted_package") + .getMember("functions") + .getMember("without_subpath") + .getAValueReachableFromSource() + } + + override predicate propagatesFlow(string input, string output, boolean preservesValue) { + input = "Argument[0]" and + output = "ReturnValue" and + preservesValue = false + } +} + +private class SummarizedCallableWithoutSubpathAgain extends SummarizedCallable { + SummarizedCallableWithoutSubpathAgain() { this = "extracted_package.functions.without_subpathII" } + + override DataFlow::CallCfgNode getACall() { + result = + API::moduleImport("extracted_package") + .getMember("functions") + .getMember("without_subpath") + .getACall() + } + + override DataFlow::ArgumentNode getACallback() { + result = + API::moduleImport("extracted_package") + .getMember("functions") + .getMember("without_subpath") + .getAValueReachableFromSource() + } + + override predicate propagatesFlow(string input, string output, boolean preservesValue) { + input = "Argument[0]" and + output = "ReturnValue.Attribute[pattern]" and + preservesValue = true + } +} diff --git a/python/ql/test/experimental/dataflow/summaries/conflicting_summaries.py b/python/ql/test/experimental/dataflow/summaries/conflicting_summaries.py new file mode 100644 index 00000000000..7b031f37a9f --- /dev/null +++ b/python/ql/test/experimental/dataflow/summaries/conflicting_summaries.py @@ -0,0 +1,18 @@ +# Bad interaction of two summaries for the same function +ts = TAINTED_STRING + +from extracted_package.functions import with_subpath, without_subpath + +# For the function `with_subpath`, flow from the first argument to the return value +# can be concluded from its definition. This seems to discard all summaries, including +# the one with flow to `ReturnValue.Attribute[pattern]`. +ensure_tainted( + with_subpath(ts).pattern, # $ tainted + with_subpath(ts), # $ tainted + with_subpath(ts), # $ tainted +) +ensure_tainted( + without_subpath(ts).pattern, # $ tainted + without_subpath(ts), # $ tainted + without_subpath(ts), # $ tainted +) \ No newline at end of file diff --git a/python/ql/test/experimental/dataflow/summaries/extracted_package/__init__.py b/python/ql/test/experimental/dataflow/summaries/extracted_package/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/python/ql/test/experimental/dataflow/summaries/extracted_package/functions.py b/python/ql/test/experimental/dataflow/summaries/extracted_package/functions.py new file mode 100644 index 00000000000..f4780be20a3 --- /dev/null +++ b/python/ql/test/experimental/dataflow/summaries/extracted_package/functions.py @@ -0,0 +1,5 @@ +def with_subpath(x): + return x + +def without_subpath(x): + pass \ No newline at end of file diff --git a/python/ql/test/experimental/dataflow/summaries/summaries.expected b/python/ql/test/experimental/dataflow/summaries/summaries.expected index a1f354a654f..847ec210b3c 100644 --- a/python/ql/test/experimental/dataflow/summaries/summaries.expected +++ b/python/ql/test/experimental/dataflow/summaries/summaries.expected @@ -4,7 +4,9 @@ edges | summaries.py:32:20:32:25 | ControlFlowNode for SOURCE | summaries.py:32:11:32:26 | ControlFlowNode for identity() | provenance | | | summaries.py:36:1:36:14 | ControlFlowNode for tainted_lambda | summaries.py:37:6:37:19 | ControlFlowNode for tainted_lambda | provenance | | | summaries.py:36:18:36:54 | ControlFlowNode for apply_lambda() | summaries.py:36:1:36:14 | ControlFlowNode for tainted_lambda | provenance | | +| summaries.py:36:38:36:38 | ControlFlowNode for x | summaries.py:36:41:36:45 | ControlFlowNode for BinaryExpr | provenance | | | summaries.py:36:48:36:53 | ControlFlowNode for SOURCE | summaries.py:36:18:36:54 | ControlFlowNode for apply_lambda() | provenance | | +| summaries.py:36:48:36:53 | ControlFlowNode for SOURCE | summaries.py:36:38:36:38 | ControlFlowNode for x | provenance | | | summaries.py:44:1:44:12 | ControlFlowNode for tainted_list | summaries.py:45:6:45:20 | ControlFlowNode for Subscript | provenance | | | summaries.py:44:1:44:12 | ControlFlowNode for tainted_list [List element] | summaries.py:45:6:45:17 | ControlFlowNode for tainted_list [List element] | provenance | | | summaries.py:44:16:44:33 | ControlFlowNode for reversed() | summaries.py:44:1:44:12 | ControlFlowNode for tainted_list | provenance | | @@ -14,13 +16,17 @@ edges | summaries.py:44:26:44:31 | ControlFlowNode for SOURCE | summaries.py:44:25:44:32 | ControlFlowNode for List | provenance | | | summaries.py:44:26:44:31 | ControlFlowNode for SOURCE | summaries.py:44:25:44:32 | ControlFlowNode for List [List element] | provenance | | | summaries.py:45:6:45:17 | ControlFlowNode for tainted_list [List element] | summaries.py:45:6:45:20 | ControlFlowNode for Subscript | provenance | | +| summaries.py:48:15:48:15 | ControlFlowNode for x | summaries.py:49:12:49:18 | ControlFlowNode for BinaryExpr | provenance | | | summaries.py:51:1:51:14 | ControlFlowNode for tainted_mapped [List element] | summaries.py:52:6:52:19 | ControlFlowNode for tainted_mapped [List element] | provenance | | | summaries.py:51:18:51:46 | ControlFlowNode for list_map() [List element] | summaries.py:51:1:51:14 | ControlFlowNode for tainted_mapped [List element] | provenance | | +| summaries.py:51:38:51:45 | ControlFlowNode for List [List element] | summaries.py:48:15:48:15 | ControlFlowNode for x | provenance | | | summaries.py:51:38:51:45 | ControlFlowNode for List [List element] | summaries.py:51:18:51:46 | ControlFlowNode for list_map() [List element] | provenance | | | summaries.py:51:39:51:44 | ControlFlowNode for SOURCE | summaries.py:51:38:51:45 | ControlFlowNode for List [List element] | provenance | | | summaries.py:52:6:52:19 | ControlFlowNode for tainted_mapped [List element] | summaries.py:52:6:52:22 | ControlFlowNode for Subscript | provenance | | +| summaries.py:54:23:54:23 | ControlFlowNode for x | summaries.py:55:12:55:12 | ControlFlowNode for x | provenance | | | summaries.py:57:1:57:23 | ControlFlowNode for tainted_mapped_explicit [List element] | summaries.py:58:6:58:28 | ControlFlowNode for tainted_mapped_explicit [List element] | provenance | | | summaries.py:57:27:57:63 | ControlFlowNode for list_map() [List element] | summaries.py:57:1:57:23 | ControlFlowNode for tainted_mapped_explicit [List element] | provenance | | +| summaries.py:57:55:57:62 | ControlFlowNode for List [List element] | summaries.py:54:23:54:23 | ControlFlowNode for x | provenance | | | summaries.py:57:55:57:62 | ControlFlowNode for List [List element] | summaries.py:57:27:57:63 | ControlFlowNode for list_map() [List element] | provenance | | | summaries.py:57:56:57:61 | ControlFlowNode for SOURCE | summaries.py:57:55:57:62 | ControlFlowNode for List [List element] | provenance | | | summaries.py:58:6:58:28 | ControlFlowNode for tainted_mapped_explicit [List element] | summaries.py:58:6:58:31 | ControlFlowNode for Subscript | provenance | | @@ -46,6 +52,8 @@ nodes | summaries.py:33:6:33:12 | ControlFlowNode for tainted | semmle.label | ControlFlowNode for tainted | | summaries.py:36:1:36:14 | ControlFlowNode for tainted_lambda | semmle.label | ControlFlowNode for tainted_lambda | | summaries.py:36:18:36:54 | ControlFlowNode for apply_lambda() | semmle.label | ControlFlowNode for apply_lambda() | +| summaries.py:36:38:36:38 | ControlFlowNode for x | semmle.label | ControlFlowNode for x | +| summaries.py:36:41:36:45 | ControlFlowNode for BinaryExpr | semmle.label | ControlFlowNode for BinaryExpr | | summaries.py:36:48:36:53 | ControlFlowNode for SOURCE | semmle.label | ControlFlowNode for SOURCE | | summaries.py:37:6:37:19 | ControlFlowNode for tainted_lambda | semmle.label | ControlFlowNode for tainted_lambda | | summaries.py:44:1:44:12 | ControlFlowNode for tainted_list | semmle.label | ControlFlowNode for tainted_list | @@ -57,12 +65,16 @@ nodes | summaries.py:44:26:44:31 | ControlFlowNode for SOURCE | semmle.label | ControlFlowNode for SOURCE | | summaries.py:45:6:45:17 | ControlFlowNode for tainted_list [List element] | semmle.label | ControlFlowNode for tainted_list [List element] | | summaries.py:45:6:45:20 | ControlFlowNode for Subscript | semmle.label | ControlFlowNode for Subscript | +| summaries.py:48:15:48:15 | ControlFlowNode for x | semmle.label | ControlFlowNode for x | +| summaries.py:49:12:49:18 | ControlFlowNode for BinaryExpr | semmle.label | ControlFlowNode for BinaryExpr | | summaries.py:51:1:51:14 | ControlFlowNode for tainted_mapped [List element] | semmle.label | ControlFlowNode for tainted_mapped [List element] | | summaries.py:51:18:51:46 | ControlFlowNode for list_map() [List element] | semmle.label | ControlFlowNode for list_map() [List element] | | summaries.py:51:38:51:45 | ControlFlowNode for List [List element] | semmle.label | ControlFlowNode for List [List element] | | summaries.py:51:39:51:44 | ControlFlowNode for SOURCE | semmle.label | ControlFlowNode for SOURCE | | summaries.py:52:6:52:19 | ControlFlowNode for tainted_mapped [List element] | semmle.label | ControlFlowNode for tainted_mapped [List element] | | summaries.py:52:6:52:22 | ControlFlowNode for Subscript | semmle.label | ControlFlowNode for Subscript | +| summaries.py:54:23:54:23 | ControlFlowNode for x | semmle.label | ControlFlowNode for x | +| summaries.py:55:12:55:12 | ControlFlowNode for x | semmle.label | ControlFlowNode for x | | summaries.py:57:1:57:23 | ControlFlowNode for tainted_mapped_explicit [List element] | semmle.label | ControlFlowNode for tainted_mapped_explicit [List element] | | summaries.py:57:27:57:63 | ControlFlowNode for list_map() [List element] | semmle.label | ControlFlowNode for list_map() [List element] | | summaries.py:57:55:57:62 | ControlFlowNode for List [List element] | semmle.label | ControlFlowNode for List [List element] | @@ -87,6 +99,9 @@ nodes | summaries.py:68:6:68:23 | ControlFlowNode for tainted_resultlist [List element] | semmle.label | ControlFlowNode for tainted_resultlist [List element] | | summaries.py:68:6:68:26 | ControlFlowNode for Subscript | semmle.label | ControlFlowNode for Subscript | subpaths +| summaries.py:36:48:36:53 | ControlFlowNode for SOURCE | summaries.py:36:38:36:38 | ControlFlowNode for x | summaries.py:36:41:36:45 | ControlFlowNode for BinaryExpr | summaries.py:36:18:36:54 | ControlFlowNode for apply_lambda() | +| summaries.py:51:38:51:45 | ControlFlowNode for List [List element] | summaries.py:48:15:48:15 | ControlFlowNode for x | summaries.py:49:12:49:18 | ControlFlowNode for BinaryExpr | summaries.py:51:18:51:46 | ControlFlowNode for list_map() [List element] | +| summaries.py:57:55:57:62 | ControlFlowNode for List [List element] | summaries.py:54:23:54:23 | ControlFlowNode for x | summaries.py:55:12:55:12 | ControlFlowNode for x | summaries.py:57:27:57:63 | ControlFlowNode for list_map() [List element] | invalidSpecComponent #select | summaries.py:33:6:33:12 | ControlFlowNode for tainted | summaries.py:32:20:32:25 | ControlFlowNode for SOURCE | summaries.py:33:6:33:12 | ControlFlowNode for tainted | $@ | summaries.py:32:20:32:25 | ControlFlowNode for SOURCE | ControlFlowNode for SOURCE | diff --git a/python/ql/test/experimental/dataflow/variable-capture/by_value.py b/python/ql/test/experimental/dataflow/variable-capture/by_value.py index fa7546b8f2b..01b2ed83a46 100644 --- a/python/ql/test/experimental/dataflow/variable-capture/by_value.py +++ b/python/ql/test/experimental/dataflow/variable-capture/by_value.py @@ -34,7 +34,7 @@ def by_value1(): a = SOURCE def inner(a_val=a): SINK(a_val) #$ captured - SINK_F(a) #$ SPURIOUS: captured + SINK_F(a) a = NONSOURCE inner() diff --git a/python/ql/test/experimental/query-tests/Security/CWE-770/UnicodeDoS.expected b/python/ql/test/experimental/query-tests/Security/CWE-770/UnicodeDoS.expected new file mode 100644 index 00000000000..f98487ba7da --- /dev/null +++ b/python/ql/test/experimental/query-tests/Security/CWE-770/UnicodeDoS.expected @@ -0,0 +1,73 @@ +edges +| tests.py:1:35:1:41 | ControlFlowNode for ImportMember | tests.py:1:35:1:41 | ControlFlowNode for request | provenance | | +| tests.py:1:35:1:41 | ControlFlowNode for request | tests.py:12:17:12:23 | ControlFlowNode for request | provenance | | +| tests.py:1:35:1:41 | ControlFlowNode for request | tests.py:24:9:24:15 | ControlFlowNode for request | provenance | | +| tests.py:1:35:1:41 | ControlFlowNode for request | tests.py:36:9:36:15 | ControlFlowNode for request | provenance | | +| tests.py:1:35:1:41 | ControlFlowNode for request | tests.py:48:9:48:15 | ControlFlowNode for request | provenance | | +| tests.py:1:35:1:41 | ControlFlowNode for request | tests.py:60:9:60:15 | ControlFlowNode for request | provenance | | +| tests.py:1:35:1:41 | ControlFlowNode for request | tests.py:72:9:72:15 | ControlFlowNode for request | provenance | | +| tests.py:12:5:12:13 | ControlFlowNode for file_path | tests.py:16:39:16:47 | ControlFlowNode for file_path | provenance | | +| tests.py:12:17:12:23 | ControlFlowNode for request | tests.py:12:17:12:28 | ControlFlowNode for Attribute | provenance | | +| tests.py:12:17:12:28 | ControlFlowNode for Attribute | tests.py:12:17:12:49 | ControlFlowNode for Attribute() | provenance | | +| tests.py:12:17:12:49 | ControlFlowNode for Attribute() | tests.py:12:5:12:13 | ControlFlowNode for file_path | provenance | | +| tests.py:24:5:24:5 | ControlFlowNode for r | tests.py:28:43:28:43 | ControlFlowNode for r | provenance | | +| tests.py:24:9:24:15 | ControlFlowNode for request | tests.py:24:9:24:20 | ControlFlowNode for Attribute | provenance | | +| tests.py:24:9:24:20 | ControlFlowNode for Attribute | tests.py:24:9:24:33 | ControlFlowNode for Attribute() | provenance | | +| tests.py:24:9:24:33 | ControlFlowNode for Attribute() | tests.py:24:5:24:5 | ControlFlowNode for r | provenance | | +| tests.py:36:5:36:5 | ControlFlowNode for r | tests.py:40:43:40:43 | ControlFlowNode for r | provenance | | +| tests.py:36:9:36:15 | ControlFlowNode for request | tests.py:36:9:36:20 | ControlFlowNode for Attribute | provenance | | +| tests.py:36:9:36:20 | ControlFlowNode for Attribute | tests.py:36:9:36:33 | ControlFlowNode for Attribute() | provenance | | +| tests.py:36:9:36:33 | ControlFlowNode for Attribute() | tests.py:36:5:36:5 | ControlFlowNode for r | provenance | | +| tests.py:48:5:48:5 | ControlFlowNode for r | tests.py:52:43:52:43 | ControlFlowNode for r | provenance | | +| tests.py:48:9:48:15 | ControlFlowNode for request | tests.py:48:9:48:20 | ControlFlowNode for Attribute | provenance | | +| tests.py:48:9:48:20 | ControlFlowNode for Attribute | tests.py:48:9:48:33 | ControlFlowNode for Attribute() | provenance | | +| tests.py:48:9:48:33 | ControlFlowNode for Attribute() | tests.py:48:5:48:5 | ControlFlowNode for r | provenance | | +| tests.py:60:5:60:5 | ControlFlowNode for r | tests.py:64:43:64:43 | ControlFlowNode for r | provenance | | +| tests.py:60:9:60:15 | ControlFlowNode for request | tests.py:60:9:60:20 | ControlFlowNode for Attribute | provenance | | +| tests.py:60:9:60:20 | ControlFlowNode for Attribute | tests.py:60:9:60:33 | ControlFlowNode for Attribute() | provenance | | +| tests.py:60:9:60:33 | ControlFlowNode for Attribute() | tests.py:60:5:60:5 | ControlFlowNode for r | provenance | | +| tests.py:72:5:72:5 | ControlFlowNode for r | tests.py:76:43:76:43 | ControlFlowNode for r | provenance | | +| tests.py:72:9:72:15 | ControlFlowNode for request | tests.py:72:9:72:20 | ControlFlowNode for Attribute | provenance | | +| tests.py:72:9:72:20 | ControlFlowNode for Attribute | tests.py:72:9:72:33 | ControlFlowNode for Attribute() | provenance | | +| tests.py:72:9:72:33 | ControlFlowNode for Attribute() | tests.py:72:5:72:5 | ControlFlowNode for r | provenance | | +nodes +| tests.py:1:35:1:41 | ControlFlowNode for ImportMember | semmle.label | ControlFlowNode for ImportMember | +| tests.py:1:35:1:41 | ControlFlowNode for request | semmle.label | ControlFlowNode for request | +| tests.py:12:5:12:13 | ControlFlowNode for file_path | semmle.label | ControlFlowNode for file_path | +| tests.py:12:17:12:23 | ControlFlowNode for request | semmle.label | ControlFlowNode for request | +| tests.py:12:17:12:28 | ControlFlowNode for Attribute | semmle.label | ControlFlowNode for Attribute | +| tests.py:12:17:12:49 | ControlFlowNode for Attribute() | semmle.label | ControlFlowNode for Attribute() | +| tests.py:16:39:16:47 | ControlFlowNode for file_path | semmle.label | ControlFlowNode for file_path | +| tests.py:24:5:24:5 | ControlFlowNode for r | semmle.label | ControlFlowNode for r | +| tests.py:24:9:24:15 | ControlFlowNode for request | semmle.label | ControlFlowNode for request | +| tests.py:24:9:24:20 | ControlFlowNode for Attribute | semmle.label | ControlFlowNode for Attribute | +| tests.py:24:9:24:33 | ControlFlowNode for Attribute() | semmle.label | ControlFlowNode for Attribute() | +| tests.py:28:43:28:43 | ControlFlowNode for r | semmle.label | ControlFlowNode for r | +| tests.py:36:5:36:5 | ControlFlowNode for r | semmle.label | ControlFlowNode for r | +| tests.py:36:9:36:15 | ControlFlowNode for request | semmle.label | ControlFlowNode for request | +| tests.py:36:9:36:20 | ControlFlowNode for Attribute | semmle.label | ControlFlowNode for Attribute | +| tests.py:36:9:36:33 | ControlFlowNode for Attribute() | semmle.label | ControlFlowNode for Attribute() | +| tests.py:40:43:40:43 | ControlFlowNode for r | semmle.label | ControlFlowNode for r | +| tests.py:48:5:48:5 | ControlFlowNode for r | semmle.label | ControlFlowNode for r | +| tests.py:48:9:48:15 | ControlFlowNode for request | semmle.label | ControlFlowNode for request | +| tests.py:48:9:48:20 | ControlFlowNode for Attribute | semmle.label | ControlFlowNode for Attribute | +| tests.py:48:9:48:33 | ControlFlowNode for Attribute() | semmle.label | ControlFlowNode for Attribute() | +| tests.py:52:43:52:43 | ControlFlowNode for r | semmle.label | ControlFlowNode for r | +| tests.py:60:5:60:5 | ControlFlowNode for r | semmle.label | ControlFlowNode for r | +| tests.py:60:9:60:15 | ControlFlowNode for request | semmle.label | ControlFlowNode for request | +| tests.py:60:9:60:20 | ControlFlowNode for Attribute | semmle.label | ControlFlowNode for Attribute | +| tests.py:60:9:60:33 | ControlFlowNode for Attribute() | semmle.label | ControlFlowNode for Attribute() | +| tests.py:64:43:64:43 | ControlFlowNode for r | semmle.label | ControlFlowNode for r | +| tests.py:72:5:72:5 | ControlFlowNode for r | semmle.label | ControlFlowNode for r | +| tests.py:72:9:72:15 | ControlFlowNode for request | semmle.label | ControlFlowNode for request | +| tests.py:72:9:72:20 | ControlFlowNode for Attribute | semmle.label | ControlFlowNode for Attribute | +| tests.py:72:9:72:33 | ControlFlowNode for Attribute() | semmle.label | ControlFlowNode for Attribute() | +| tests.py:76:43:76:43 | ControlFlowNode for r | semmle.label | ControlFlowNode for r | +subpaths +#select +| tests.py:16:39:16:47 | ControlFlowNode for file_path | tests.py:1:35:1:41 | ControlFlowNode for ImportMember | tests.py:16:39:16:47 | ControlFlowNode for file_path | This $@ can reach a $@. | tests.py:1:35:1:41 | ControlFlowNode for ImportMember | user-provided value | tests.py:16:39:16:47 | ControlFlowNode for file_path | costly Unicode normalization operation | +| tests.py:28:43:28:43 | ControlFlowNode for r | tests.py:1:35:1:41 | ControlFlowNode for ImportMember | tests.py:28:43:28:43 | ControlFlowNode for r | This $@ can reach a $@. | tests.py:1:35:1:41 | ControlFlowNode for ImportMember | user-provided value | tests.py:28:43:28:43 | ControlFlowNode for r | costly Unicode normalization operation | +| tests.py:40:43:40:43 | ControlFlowNode for r | tests.py:1:35:1:41 | ControlFlowNode for ImportMember | tests.py:40:43:40:43 | ControlFlowNode for r | This $@ can reach a $@. | tests.py:1:35:1:41 | ControlFlowNode for ImportMember | user-provided value | tests.py:40:43:40:43 | ControlFlowNode for r | costly Unicode normalization operation | +| tests.py:52:43:52:43 | ControlFlowNode for r | tests.py:1:35:1:41 | ControlFlowNode for ImportMember | tests.py:52:43:52:43 | ControlFlowNode for r | This $@ can reach a $@. | tests.py:1:35:1:41 | ControlFlowNode for ImportMember | user-provided value | tests.py:52:43:52:43 | ControlFlowNode for r | costly Unicode normalization operation | +| tests.py:64:43:64:43 | ControlFlowNode for r | tests.py:1:35:1:41 | ControlFlowNode for ImportMember | tests.py:64:43:64:43 | ControlFlowNode for r | This $@ can reach a $@. | tests.py:1:35:1:41 | ControlFlowNode for ImportMember | user-provided value | tests.py:64:43:64:43 | ControlFlowNode for r | costly Unicode normalization operation | +| tests.py:76:43:76:43 | ControlFlowNode for r | tests.py:1:35:1:41 | ControlFlowNode for ImportMember | tests.py:76:43:76:43 | ControlFlowNode for r | This $@ can reach a $@. | tests.py:1:35:1:41 | ControlFlowNode for ImportMember | user-provided value | tests.py:76:43:76:43 | ControlFlowNode for r | costly Unicode normalization operation | diff --git a/python/ql/test/experimental/query-tests/Security/CWE-770/UnicodeDoS.qlref b/python/ql/test/experimental/query-tests/Security/CWE-770/UnicodeDoS.qlref new file mode 100644 index 00000000000..aff380880ea --- /dev/null +++ b/python/ql/test/experimental/query-tests/Security/CWE-770/UnicodeDoS.qlref @@ -0,0 +1 @@ +experimental/Security/CWE-770/UnicodeDoS.ql \ No newline at end of file diff --git a/python/ql/test/experimental/query-tests/Security/CWE-770/tests.py b/python/ql/test/experimental/query-tests/Security/CWE-770/tests.py new file mode 100644 index 00000000000..1007bcc8985 --- /dev/null +++ b/python/ql/test/experimental/query-tests/Security/CWE-770/tests.py @@ -0,0 +1,129 @@ +from flask import Flask, jsonify, request +import unicodedata + +app = Flask(__name__) + +STATIC_DIR = "/home/unknown/" + + +@app.route("/bad_1") +def bad_1(): + # User controlled data + file_path = request.args.get("file_path", "") + + # Normalize the file path using NFKC Unicode normalization + return ( + unicodedata.normalize("NFKC", file_path), + 200, + {"Content-Type": "application/octet-stream"}, + ) + + +@app.route("/bad_2") +def bad_2(): + r = request.args.get("r", "") + + if len(r) >= 10: + # Normalize the r using NFKD Unicode normalization + r = unicodedata.normalize("NFKD", r) + return r, 200, {"Content-Type": "application/octet-stream"} + else: + return jsonify({"error": "File not found"}), 404 + + +@app.route("/bad_3") +def bad_3(): + r = request.args.get("r", "") + length = len(r) + if length >= 1_000: + # Normalize the r using NFKD Unicode normalization + r = unicodedata.normalize("NFKD", r) + return r, 200, {"Content-Type": "application/octet-stream"} + else: + return jsonify({"error": "File not found"}), 404 + + +@app.route("/bad_4") +def bad_4(): + r = request.args.get("r", "") + length = len(r) + if 1_000 <= length: + # Normalize the r using NFKD Unicode normalization + r = unicodedata.normalize("NFKD", r) + return r, 200, {"Content-Type": "application/octet-stream"} + else: + return jsonify({"error": "File not found"}), 404 + + +@app.route("/bad_5") +def bad_5(): + r = request.args.get("r", "") + length = len(r) + if not length < 1_000: + # Normalize the r using NFKD Unicode normalization + r = unicodedata.normalize("NFKD", r) + return r, 200, {"Content-Type": "application/octet-stream"} + else: + return jsonify({"error": "File not found"}), 404 + + +@app.route("/bad_6") +def bad_6(): + r = request.args.get("r", "") + length = len(r) + if not 1_000 > length: + # Normalize the r using NFKD Unicode normalization + r = unicodedata.normalize("NFKD", r) + return r, 200, {"Content-Type": "application/octet-stream"} + else: + return jsonify({"error": "File not found"}), 404 + + +@app.route("/good_1") +def good_1(): + r = request.args.get("r", "") + + if len(r) <= 1_000: + # Normalize the r using NFKD Unicode normalization + r = unicodedata.normalize("NFKD", r) + return r, 200, {"Content-Type": "application/octet-stream"} + else: + return jsonify({"error": "File not found"}), 404 + + +@app.route("/good_2") +def good_2(): + r = request.args.get("r", "") + MAX_LENGTH = 1_000 + length = len(r) + if length <= MAX_LENGTH: + # Normalize the r using NFKD Unicode normalization + r = unicodedata.normalize("NFKD", r) + return r, 200, {"Content-Type": "application/octet-stream"} + else: + return jsonify({"error": "File not found"}), 404 + +@app.route("/good_3") +def good_3(): + r = request.args.get("r", "") + MAX_LENGTH = 1_000 + length = len(r) + if not length >= MAX_LENGTH: + # Normalize the r using NFKD Unicode normalization + r = unicodedata.normalize("NFKD", r) + return r, 200, {"Content-Type": "application/octet-stream"} + else: + return jsonify({"error": "File not found"}), 404 + + +@app.route("/good_4") +def good_4(): + r = request.args.get("r", "") + MAX_LENGTH = 1_000 + length = len(r) + if not MAX_LENGTH <= length: + # Normalize the r using NFKD Unicode normalization + r = unicodedata.normalize("NFKD", r) + return r, 200, {"Content-Type": "application/octet-stream"} + else: + return jsonify({"error": "File not found"}), 404 diff --git a/python/ql/test/library-tests/essa/ssa-compute/CONSISTENCY/TypeTrackingConsistency.expected b/python/ql/test/library-tests/essa/ssa-compute/CONSISTENCY/TypeTrackingConsistency.expected new file mode 100644 index 00000000000..81d19f3f20d --- /dev/null +++ b/python/ql/test/library-tests/essa/ssa-compute/CONSISTENCY/TypeTrackingConsistency.expected @@ -0,0 +1,6 @@ +unreachableNode +| test2.py:16:17:16:17 | ControlFlowNode for y | Unreachable node in step of kind load bar. | +| test2.py:25:23:25:23 | ControlFlowNode for x | Unreachable node in step of kind load attribute. | +| test2.py:25:23:25:23 | ControlFlowNode for x | Unreachable node in step of kind simpleLocalSmallStep. | +| test2.py:26:17:26:17 | ControlFlowNode for y | Unreachable node in step of kind load bar. | +| test2.py:27:23:27:23 | ControlFlowNode for x | Unreachable node in step of kind simpleLocalSmallStep. | diff --git a/python/tools/BUILD.bazel b/python/tools/BUILD.bazel new file mode 100644 index 00000000000..81762c150fb --- /dev/null +++ b/python/tools/BUILD.bazel @@ -0,0 +1,11 @@ +load("@semmle_code//:dist.bzl", "pack_zip") + +pack_zip( + name = "tools", + srcs = glob(["**/*"]), + excludes = [ + "BUILD.bazel", + ] + glob(["recorded-call-graph-metrics/**"]), + prefix = "tools", + visibility = ["//visibility:public"], +) diff --git a/python/tools/autobuild.cmd b/python/tools/autobuild.cmd new file mode 100644 index 00000000000..051d119f9ec --- /dev/null +++ b/python/tools/autobuild.cmd @@ -0,0 +1,8 @@ +@echo off + +rem Legacy environment variables for the autobuild infrastructure. +set LGTM_SRC=%CD% +set LGTM_WORKSPACE=%CODEQL_EXTRACTOR_PYTHON_SCRATCH_DIR% + +type NUL && python "%CODEQL_EXTRACTOR_PYTHON_ROOT%\tools\index.py" +exit /b %ERRORLEVEL% diff --git a/python/tools/autobuild.sh b/python/tools/autobuild.sh new file mode 100755 index 00000000000..88134d120fd --- /dev/null +++ b/python/tools/autobuild.sh @@ -0,0 +1,18 @@ +#!/bin/sh + +set -eu + +# Legacy environment variables for the autobuild infrastructure. +LGTM_SRC="$(pwd)" +LGTM_WORKSPACE="$CODEQL_EXTRACTOR_PYTHON_SCRATCH_DIR" +export LGTM_SRC +export LGTM_WORKSPACE + +if which python3 >/dev/null; then + exec python3 "$CODEQL_EXTRACTOR_PYTHON_ROOT/tools/index.py" +elif which python >/dev/null; then + exec python "$CODEQL_EXTRACTOR_PYTHON_ROOT/tools/index.py" +else + echo "ERROR: Could not find a valid Python distribution. It should be available when running 'which python' or 'which python3' in your shell. Python 2 is no longer supported." + exit 1 +fi diff --git a/python/tools/lgtm-scripts/index.cmd b/python/tools/lgtm-scripts/index.cmd new file mode 100644 index 00000000000..254f4472262 --- /dev/null +++ b/python/tools/lgtm-scripts/index.cmd @@ -0,0 +1,3 @@ +@echo off + +py "%CODEQL_EXTRACTOR_PYTHON_ROOT%\tools\index.py" diff --git a/python/tools/lgtm-scripts/index.sh b/python/tools/lgtm-scripts/index.sh new file mode 100755 index 00000000000..f57637260b0 --- /dev/null +++ b/python/tools/lgtm-scripts/index.sh @@ -0,0 +1,5 @@ +#! /bin/bash + +set -eu + +python "${CODEQL_EXTRACTOR_PYTHON_ROOT}/tools/index.py" diff --git a/python/tools/lgtm-scripts/python_setup.cmd b/python/tools/lgtm-scripts/python_setup.cmd new file mode 100644 index 00000000000..0abc4c21dcf --- /dev/null +++ b/python/tools/lgtm-scripts/python_setup.cmd @@ -0,0 +1,3 @@ +@echo off + +py "%CODEQL_EXTRACTOR_PYTHON_ROOT%\tools\setup.py" || EXIT /B 0 diff --git a/python/tools/lgtm-scripts/python_setup.sh b/python/tools/lgtm-scripts/python_setup.sh new file mode 100755 index 00000000000..9e398d11bd3 --- /dev/null +++ b/python/tools/lgtm-scripts/python_setup.sh @@ -0,0 +1,5 @@ +#! /bin/bash + +set -eu + +python "${CODEQL_EXTRACTOR_PYTHON_ROOT}/tools/setup.py" || true diff --git a/python/tools/pre-finalize.cmd b/python/tools/pre-finalize.cmd new file mode 100644 index 00000000000..07454671062 --- /dev/null +++ b/python/tools/pre-finalize.cmd @@ -0,0 +1,11 @@ +@echo off + +type NUL && "%CODEQL_DIST%\codeql" database index-files ^ + --include-extension=.yaml ^ + --include-extension=.yml ^ + --size-limit=5m ^ + --language yaml ^ + -- ^ + "%CODEQL_EXTRACTOR_PYTHON_WIP_DATABASE%" + +exit /b %ERRORLEVEL% diff --git a/python/tools/pre-finalize.sh b/python/tools/pre-finalize.sh new file mode 100755 index 00000000000..9fe5200a38f --- /dev/null +++ b/python/tools/pre-finalize.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +set -eu + +"$CODEQL_DIST/codeql" database index-files \ + --include-extension=.yaml \ + --include-extension=.yml \ + --size-limit=5m \ + --language yaml \ + -- \ + "$CODEQL_EXTRACTOR_PYTHON_WIP_DATABASE" diff --git a/ql/ql/src/codeql_ql/ast/internal/TreeSitter.qll b/ql/ql/src/codeql_ql/ast/internal/TreeSitter.qll index 76e96979cfd..877f676e396 100644 --- a/ql/ql/src/codeql_ql/ast/internal/TreeSitter.qll +++ b/ql/ql/src/codeql_ql/ast/internal/TreeSitter.qll @@ -12,13 +12,13 @@ module QL { string toString() { result = this.getAPrimaryQlClass() } /** Gets the location of this element. */ - final L::Location getLocation() { ql_ast_node_info(this, _, _, result) } + final L::Location getLocation() { ql_ast_node_location(this, result) } /** Gets the parent of this element. */ - final AstNode getParent() { ql_ast_node_info(this, result, _, _) } + final AstNode getParent() { ql_ast_node_parent(this, result, _) } /** Gets the index of this node among the children of its parent. */ - final int getParentIndex() { ql_ast_node_info(this, _, result, _) } + final int getParentIndex() { ql_ast_node_parent(this, _, result) } /** Gets a field or child node of this node. */ AstNode getAFieldOrChild() { none() } @@ -1282,13 +1282,13 @@ module Dbscheme { string toString() { result = this.getAPrimaryQlClass() } /** Gets the location of this element. */ - final L::Location getLocation() { dbscheme_ast_node_info(this, _, _, result) } + final L::Location getLocation() { dbscheme_ast_node_location(this, result) } /** Gets the parent of this element. */ - final AstNode getParent() { dbscheme_ast_node_info(this, result, _, _) } + final AstNode getParent() { dbscheme_ast_node_parent(this, result, _) } /** Gets the index of this node among the children of its parent. */ - final int getParentIndex() { dbscheme_ast_node_info(this, _, result, _) } + final int getParentIndex() { dbscheme_ast_node_parent(this, _, result) } /** Gets a field or child node of this node. */ AstNode getAFieldOrChild() { none() } @@ -1618,13 +1618,13 @@ module Blame { string toString() { result = this.getAPrimaryQlClass() } /** Gets the location of this element. */ - final L::Location getLocation() { blame_ast_node_info(this, _, _, result) } + final L::Location getLocation() { blame_ast_node_location(this, result) } /** Gets the parent of this element. */ - final AstNode getParent() { blame_ast_node_info(this, result, _, _) } + final AstNode getParent() { blame_ast_node_parent(this, result, _) } /** Gets the index of this node among the children of its parent. */ - final int getParentIndex() { blame_ast_node_info(this, _, result, _) } + final int getParentIndex() { blame_ast_node_parent(this, _, result) } /** Gets a field or child node of this node. */ AstNode getAFieldOrChild() { none() } @@ -1731,13 +1731,13 @@ module JSON { string toString() { result = this.getAPrimaryQlClass() } /** Gets the location of this element. */ - final L::Location getLocation() { json_ast_node_info(this, _, _, result) } + final L::Location getLocation() { json_ast_node_location(this, result) } /** Gets the parent of this element. */ - final AstNode getParent() { json_ast_node_info(this, result, _, _) } + final AstNode getParent() { json_ast_node_parent(this, result, _) } /** Gets the index of this node among the children of its parent. */ - final int getParentIndex() { json_ast_node_info(this, _, result, _) } + final int getParentIndex() { json_ast_node_parent(this, _, result) } /** Gets a field or child node of this node. */ AstNode getAFieldOrChild() { none() } diff --git a/ql/ql/src/ql.dbscheme b/ql/ql/src/ql.dbscheme index 97aa35b9ef5..21aebc3b431 100644 --- a/ql/ql/src/ql.dbscheme +++ b/ql/ql/src/ql.dbscheme @@ -972,14 +972,16 @@ case @ql_token.kind of @ql_ast_node = @ql_add_expr | @ql_aggregate | @ql_annot_arg | @ql_annotation | @ql_arityless_predicate_expr | @ql_as_expr | @ql_as_exprs | @ql_body | @ql_bool | @ql_call_body | @ql_call_or_unqual_agg_expr | @ql_charpred | @ql_class_member | @ql_classless_predicate | @ql_comp_term | @ql_conjunction | @ql_dataclass | @ql_datatype | @ql_datatype_branch | @ql_datatype_branches | @ql_disjunction | @ql_expr_aggregate_body | @ql_expr_annotation | @ql_field | @ql_full_aggregate_body | @ql_higher_order_term | @ql_if_term | @ql_implication | @ql_import_directive | @ql_import_module_expr | @ql_in_expr | @ql_instance_of | @ql_literal | @ql_member_predicate | @ql_module | @ql_module_alias_body | @ql_module_expr | @ql_module_instantiation | @ql_module_member | @ql_module_name | @ql_module_param | @ql_mul_expr | @ql_negation | @ql_order_by | @ql_order_bys | @ql_par_expr | @ql_predicate_alias_body | @ql_predicate_expr | @ql_prefix_cast | @ql_ql | @ql_qualified_expr | @ql_qualified_rhs | @ql_quantified | @ql_range | @ql_select | @ql_set_literal | @ql_signature_expr | @ql_special_call | @ql_super_ref | @ql_token | @ql_type_alias_body | @ql_type_expr | @ql_type_union_body | @ql_unary_expr | @ql_unqual_agg_body | @ql_var_decl | @ql_var_name | @ql_variable -@ql_ast_node_parent = @file | @ql_ast_node +ql_ast_node_location( + unique int node: @ql_ast_node ref, + int loc: @location_default ref +); #keyset[parent, parent_index] -ql_ast_node_info( +ql_ast_node_parent( unique int node: @ql_ast_node ref, - int parent: @ql_ast_node_parent ref, - int parent_index: int ref, - int loc: @location_default ref + int parent: @ql_ast_node ref, + int parent_index: int ref ); /*- Dbscheme dbscheme -*/ @@ -1159,14 +1161,16 @@ case @dbscheme_token.kind of @dbscheme_ast_node = @dbscheme_annotation | @dbscheme_args_annotation | @dbscheme_branch | @dbscheme_case_decl | @dbscheme_col_type | @dbscheme_column | @dbscheme_dbscheme | @dbscheme_entry | @dbscheme_repr_type | @dbscheme_table | @dbscheme_table_name | @dbscheme_token | @dbscheme_union_decl -@dbscheme_ast_node_parent = @dbscheme_ast_node | @file +dbscheme_ast_node_location( + unique int node: @dbscheme_ast_node ref, + int loc: @location_default ref +); #keyset[parent, parent_index] -dbscheme_ast_node_info( +dbscheme_ast_node_parent( unique int node: @dbscheme_ast_node ref, - int parent: @dbscheme_ast_node_parent ref, - int parent_index: int ref, - int loc: @location_default ref + int parent: @dbscheme_ast_node ref, + int parent_index: int ref ); /*- Blame dbscheme -*/ @@ -1222,14 +1226,16 @@ case @blame_token.kind of @blame_ast_node = @blame_blame_entry | @blame_blame_info | @blame_file_entry | @blame_token -@blame_ast_node_parent = @blame_ast_node | @file +blame_ast_node_location( + unique int node: @blame_ast_node ref, + int loc: @location_default ref +); #keyset[parent, parent_index] -blame_ast_node_info( +blame_ast_node_parent( unique int node: @blame_ast_node ref, - int parent: @blame_ast_node_parent ref, - int parent_index: int ref, - int loc: @location_default ref + int parent: @blame_ast_node ref, + int parent_index: int ref ); /*- JSON dbscheme -*/ @@ -1304,13 +1310,15 @@ case @json_token.kind of @json_ast_node = @json_array | @json_document | @json_object | @json_pair | @json_string__ | @json_token -@json_ast_node_parent = @file | @json_ast_node - -#keyset[parent, parent_index] -json_ast_node_info( +json_ast_node_location( unique int node: @json_ast_node ref, - int parent: @json_ast_node_parent ref, - int parent_index: int ref, int loc: @location_default ref ); +#keyset[parent, parent_index] +json_ast_node_parent( + unique int node: @json_ast_node ref, + int parent: @json_ast_node ref, + int parent_index: int ref +); + diff --git a/ql/ql/src/ql.dbscheme.stats b/ql/ql/src/ql.dbscheme.stats index 61923351ee9..1e992f7d7a4 100644 --- a/ql/ql/src/ql.dbscheme.stats +++ b/ql/ql/src/ql.dbscheme.stats @@ -29,115 +29,115 @@ </e> <e> <k>@dbscheme_annotation</k> - <v>20670</v> + <v>30564</v> </e> <e> <k>@dbscheme_args_annotation</k> - <v>20661</v> + <v>30555</v> </e> <e> <k>@dbscheme_branch</k> - <v>116911</v> + <v>151025</v> </e> <e> <k>@dbscheme_case_decl</k> - <v>4372</v> + <v>5423</v> </e> <e> <k>@dbscheme_col_type</k> - <v>252564</v> + <v>341399</v> </e> <e> <k>@dbscheme_column</k> - <v>252564</v> + <v>341399</v> </e> <e> <k>@dbscheme_dbscheme</k> - <v>532</v> + <v>686</v> </e> <e> <k>@dbscheme_entry</k> - <v>169630</v> + <v>230044</v> </e> <e> <k>@dbscheme_repr_type</k> - <v>252564</v> + <v>341399</v> </e> <e> <k>@dbscheme_reserved_word</k> - <v>1309648</v> + <v>1756569</v> </e> <e> <k>@dbscheme_table</k> - <v>105934</v> + <v>146537</v> </e> <e> <k>@dbscheme_table_name</k> - <v>105934</v> + <v>146537</v> </e> <e> <k>@dbscheme_token_annot_name</k> - <v>20670</v> + <v>30564</v> </e> <e> <k>@dbscheme_token_block_comment</k> - <v>17513</v> + <v>22060</v> </e> <e> <k>@dbscheme_token_boolean</k> - <v>1440</v> + <v>2146</v> </e> <e> <k>@dbscheme_token_date</k> - <v>1042</v> + <v>1170</v> </e> <e> <k>@dbscheme_token_dbtype</k> - <v>565153</v> + <v>750840</v> </e> <e> <k>@dbscheme_token_float</k> - <v>2354</v> + <v>2962</v> </e> <e> <k>@dbscheme_token_int</k> - <v>258872</v> + <v>350777</v> </e> <e> <k>@dbscheme_token_integer</k> - <v>124608</v> + <v>158986</v> </e> <e> <k>@dbscheme_token_line_comment</k> - <v>37863</v> + <v>62355</v> </e> <e> <k>@dbscheme_token_qldoc</k> - <v>8004</v> + <v>10956</v> </e> <e> <k>@dbscheme_token_ref</k> - <v>210468</v> + <v>281648</v> </e> <e> <k>@dbscheme_token_simple_id</k> - <v>397838</v> + <v>543204</v> </e> <e> <k>@dbscheme_token_string</k> - <v>51435</v> + <v>67865</v> </e> <e> <k>@dbscheme_token_unique</k> - <v>75701</v> + <v>102289</v> </e> <e> <k>@dbscheme_token_varchar</k> - <v>7697</v> + <v>7961</v> </e> <e> <k>@dbscheme_union_decl</k> - <v>51790</v> + <v>67798</v> </e> <e> <k>@diagnostic_debug</k> @@ -157,255 +157,255 @@ </e> <e> <k>@file</k> - <v>11682</v> + <v>12283</v> </e> <e> <k>@folder</k> - <v>3982</v> + <v>4402</v> </e> <e> <k>@json_array</k> - <v>481</v> + <v>2026</v> </e> <e> <k>@json_document</k> - <v>272</v> + <v>324</v> </e> <e> <k>@json_object</k> - <v>787</v> + <v>5034</v> </e> <e> <k>@json_pair</k> - <v>2223</v> + <v>12461</v> </e> <e> <k>@json_reserved_word</k> - <v>19369</v> + <v>82515</v> </e> <e> <k>@json_string__</k> - <v>5469</v> + <v>22176</v> </e> <e> <k>@json_token_comment</k> - <v>18</v> + <v>19</v> </e> <e> <k>@json_token_false</k> - <v>259</v> + <v>607</v> </e> <e> <k>@json_token_null</k> - <v>106</v> + <v>248</v> </e> <e> <k>@json_token_number</k> - <v>27</v> + <v>71</v> </e> <e> <k>@json_token_string_content</k> - <v>5465</v> + <v>22171</v> </e> <e> <k>@json_token_true</k> - <v>246</v> + <v>978</v> </e> <e> <k>@location_default</k> - <v>8479546</v> + <v>9617371</v> </e> <e> <k>@ql_add_expr</k> - <v>14857</v> + <v>13786</v> </e> <e> <k>@ql_aggregate</k> - <v>9694</v> + <v>9053</v> </e> <e> <k>@ql_annot_arg</k> - <v>6094</v> + <v>4043</v> </e> <e> <k>@ql_annotation</k> - <v>72771</v> + <v>65278</v> </e> <e> <k>@ql_arityless_predicate_expr</k> - <v>67354</v> + <v>58107</v> </e> <e> <k>@ql_as_expr</k> - <v>19448</v> + <v>20508</v> </e> <e> <k>@ql_as_exprs</k> - <v>8242</v> + <v>8493</v> </e> <e> <k>@ql_body</k> - <v>70726</v> + <v>65826</v> </e> <e> <k>@ql_bool</k> - <v>5039</v> + <v>4274</v> </e> <e> <k>@ql_call_body</k> - <v>66692</v> + <v>57368</v> </e> <e> <k>@ql_call_or_unqual_agg_expr</k> - <v>66692</v> + <v>57368</v> </e> <e> <k>@ql_charpred</k> - <v>12588</v> + <v>12088</v> </e> <e> <k>@ql_class_member</k> - <v>84646</v> + <v>79133</v> </e> <e> <k>@ql_classless_predicate</k> - <v>24640</v> + <v>23253</v> </e> <e> <k>@ql_comp_term</k> - <v>138784</v> + <v>140334</v> </e> <e> <k>@ql_conjunction</k> - <v>80925</v> + <v>76308</v> </e> <e> <k>@ql_dataclass</k> - <v>23834</v> + <v>22563</v> </e> <e> <k>@ql_datatype</k> - <v>809</v> + <v>548</v> </e> <e> <k>@ql_datatype_branch</k> - <v>3437</v> + <v>2719</v> </e> <e> <k>@ql_datatype_branches</k> - <v>809</v> + <v>548</v> </e> <e> <k>@ql_disjunction</k> - <v>40259</v> + <v>44890</v> </e> <e> <k>@ql_expr_aggregate_body</k> - <v>1293</v> + <v>1216</v> </e> <e> <k>@ql_expr_annotation</k> - <v>1328</v> + <v>601</v> </e> <e> <k>@ql_field</k> - <v>4149</v> + <v>3721</v> </e> <e> <k>@ql_full_aggregate_body</k> - <v>6714</v> + <v>6356</v> </e> <e> <k>@ql_higher_order_term</k> - <v>105</v> + <v>77</v> </e> <e> <k>@ql_if_term</k> - <v>3226</v> + <v>2953</v> </e> <e> <k>@ql_implication</k> - <v>87</v> + <v>101</v> </e> <e> <k>@ql_import_directive</k> - <v>24818</v> + <v>25764</v> </e> <e> <k>@ql_import_module_expr</k> - <v>24818</v> + <v>25764</v> </e> <e> <k>@ql_in_expr</k> - <v>1003</v> + <v>1037</v> </e> <e> <k>@ql_instance_of</k> - <v>17128</v> + <v>15913</v> </e> <e> <k>@ql_literal</k> - <v>98847</v> + <v>109390</v> </e> <e> <k>@ql_member_predicate</k> - <v>47549</v> + <v>43952</v> </e> <e> <k>@ql_module</k> - <v>3916</v> + <v>4567</v> </e> <e> <k>@ql_module_alias_body</k> - <v>725</v> + <v>917</v> </e> <e> <k>@ql_module_expr</k> - <v>72503</v> + <v>76399</v> </e> <e> <k>@ql_module_instantiation</k> - <v>1043</v> + <v>1740</v> </e> <e> <k>@ql_module_member</k> - <v>119591</v> + <v>118178</v> </e> <e> <k>@ql_module_name</k> - <v>6324</v> + <v>7606</v> </e> <e> <k>@ql_module_param</k> - <v>299</v> + <v>266</v> </e> <e> <k>@ql_mul_expr</k> - <v>631</v> + <v>585</v> </e> <e> <k>@ql_negation</k> - <v>12010</v> + <v>11727</v> </e> <e> <k>@ql_order_by</k> - <v>1098</v> + <v>1067</v> </e> <e> <k>@ql_order_bys</k> - <v>674</v> + <v>661</v> </e> <e> <k>@ql_par_expr</k> - <v>6038</v> + <v>5799</v> </e> <e> <k>@ql_predicate_alias_body</k> - <v>329</v> + <v>372</v> </e> <e> <k>@ql_predicate_expr</k> - <v>662</v> + <v>739</v> </e> <e> <k>@ql_prefix_cast</k> @@ -413,183 +413,183 @@ </e> <e> <k>@ql_ql</k> - <v>10785</v> + <v>11167</v> </e> <e> <k>@ql_qualified_expr</k> - <v>168511</v> + <v>165157</v> </e> <e> <k>@ql_qualified_rhs</k> - <v>168511</v> + <v>165157</v> </e> <e> <k>@ql_quantified</k> - <v>26111</v> + <v>24227</v> </e> <e> <k>@ql_range</k> - <v>417</v> + <v>365</v> </e> <e> <k>@ql_reserved_word</k> - <v>1966059</v> + <v>1875319</v> </e> <e> <k>@ql_select</k> - <v>5640</v> + <v>5989</v> </e> <e> <k>@ql_set_literal</k> - <v>3557</v> + <v>4014</v> </e> <e> <k>@ql_signature_expr</k> - <v>2248</v> + <v>3709</v> </e> <e> <k>@ql_special_call</k> - <v>4863</v> + <v>4424</v> </e> <e> <k>@ql_super_ref</k> - <v>2444</v> + <v>2901</v> </e> <e> <k>@ql_token_addop</k> - <v>14857</v> + <v>13786</v> </e> <e> <k>@ql_token_agg_id</k> - <v>9694</v> + <v>9053</v> </e> <e> <k>@ql_token_annot_name</k> - <v>75427</v> + <v>66480</v> </e> <e> <k>@ql_token_block_comment</k> - <v>1061</v> + <v>992</v> </e> <e> <k>@ql_token_class_name</k> - <v>224655</v> + <v>204253</v> </e> <e> <k>@ql_token_closure</k> - <v>2123</v> + <v>2234</v> </e> <e> <k>@ql_token_compop</k> - <v>138784</v> + <v>140334</v> </e> <e> <k>@ql_token_dbtype</k> - <v>3604</v> + <v>3766</v> </e> <e> <k>@ql_token_direction</k> - <v>200</v> + <v>205</v> </e> <e> <k>@ql_token_empty</k> - <v>2683</v> + <v>2344</v> </e> <e> <k>@ql_token_false</k> - <v>2391</v> + <v>1973</v> </e> <e> <k>@ql_token_float</k> - <v>296</v> + <v>305</v> </e> <e> <k>@ql_token_integer</k> - <v>20738</v> + <v>21612</v> </e> <e> <k>@ql_token_line_comment</k> - <v>20706</v> + <v>20888</v> </e> <e> <k>@ql_token_literal_id</k> - <v>67459</v> + <v>58184</v> </e> <e> <k>@ql_token_mulop</k> - <v>631</v> + <v>585</v> </e> <e> <k>@ql_token_predicate</k> - <v>28901</v> + <v>26200</v> </e> <e> <k>@ql_token_predicate_name</k> - <v>229368</v> + <v>221079</v> </e> <e> <k>@ql_token_primitive_type</k> - <v>49384</v> + <v>47956</v> </e> <e> <k>@ql_token_qldoc</k> - <v>56786</v> + <v>55406</v> </e> <e> <k>@ql_token_quantifier</k> - <v>26111</v> + <v>24227</v> </e> <e> <k>@ql_token_result</k> - <v>55181</v> + <v>52493</v> </e> <e> <k>@ql_token_simple_id</k> - <v>542286</v> + <v>512064</v> </e> <e> <k>@ql_token_special_id</k> - <v>4863</v> + <v>4424</v> </e> <e> <k>@ql_token_string</k> - <v>73436</v> + <v>83938</v> </e> <e> <k>@ql_token_super</k> - <v>2444</v> + <v>2901</v> </e> <e> <k>@ql_token_this</k> - <v>53091</v> + <v>50826</v> </e> <e> <k>@ql_token_true</k> - <v>2648</v> + <v>2301</v> </e> <e> <k>@ql_token_underscore</k> - <v>20351</v> + <v>17184</v> </e> <e> <k>@ql_token_unop</k> - <v>1171</v> + <v>1158</v> </e> <e> <k>@ql_type_alias_body</k> - <v>1245</v> + <v>817</v> </e> <e> <k>@ql_type_expr</k> - <v>236975</v> + <v>218057</v> </e> <e> <k>@ql_type_union_body</k> - <v>249</v> + <v>253</v> </e> <e> <k>@ql_unary_expr</k> - <v>1171</v> + <v>1158</v> </e> <e> <k>@ql_unqual_agg_body</k> @@ -597,15 +597,15 @@ </e> <e> <k>@ql_var_decl</k> - <v>129441</v> + <v>114137</v> </e> <e> <k>@ql_var_name</k> - <v>415356</v> + <v>380908</v> </e> <e> <k>@ql_variable</k> - <v>393587</v> + <v>369462</v> </e> <e> <k>@yaml_alias_node</k> @@ -617,19 +617,61 @@ </e> <e> <k>@yaml_mapping_node</k> - <v>160</v> + <v>186</v> </e> <e> <k>@yaml_scalar_node</k> - <v>1136</v> + <v>1481</v> </e> <e> <k>@yaml_sequence_node</k> - <v>52</v> + <v>59</v> </e> </typesizes> <stats><relation> - <name>blame_ast_node_info</name> + <name>blame_ast_node_location</name> + <cardinality>0</cardinality> + <columnsizes> + <e> + <k>node</k> + <v>0</v> + </e> + <e> + <k>loc</k> + <v>0</v> + </e> + </columnsizes> + <dependencies> + <dep> + <src>node</src> + <trg>loc</trg> + <val> + <hist> + <budget>12</budget> + <bs> + <b> + <a>1</a> + <b>2</b> + <v>1</v> + </b> + </bs> + </hist> + </val> + </dep> + <dep> + <src>loc</src> + <trg>node</trg> + <val> + <hist> + <budget>12</budget> + <bs/> + </hist> + </val> + </dep> + </dependencies> + </relation> + <relation> + <name>blame_ast_node_parent</name> <cardinality>0</cardinality> <columnsizes> <e> @@ -644,10 +686,6 @@ <k>parent_index</k> <v>0</v> </e> - <e> - <k>loc</k> - <v>0</v> - </e> </columnsizes> <dependencies> <dep> @@ -682,22 +720,6 @@ </hist> </val> </dep> - <dep> - <src>node</src> - <trg>loc</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>2</b> - <v>1</v> - </b> - </bs> - </hist> - </val> - </dep> <dep> <src>parent</src> <trg>node</trg> @@ -718,16 +740,6 @@ </hist> </val> </dep> - <dep> - <src>parent</src> - <trg>loc</trg> - <val> - <hist> - <budget>12</budget> - <bs/> - </hist> - </val> - </dep> <dep> <src>parent_index</src> <trg>node</trg> @@ -748,46 +760,6 @@ </hist> </val> </dep> - <dep> - <src>parent_index</src> - <trg>loc</trg> - <val> - <hist> - <budget>12</budget> - <bs/> - </hist> - </val> - </dep> - <dep> - <src>loc</src> - <trg>node</trg> - <val> - <hist> - <budget>12</budget> - <bs/> - </hist> - </val> - </dep> - <dep> - <src>loc</src> - <trg>parent</trg> - <val> - <hist> - <budget>12</budget> - <bs/> - </hist> - </val> - </dep> - <dep> - <src>loc</src> - <trg>parent_index</trg> - <val> - <hist> - <budget>12</budget> - <bs/> - </hist> - </val> - </dep> </dependencies> </relation> <relation> @@ -1286,15 +1258,15 @@ </relation> <relation> <name>containerparent</name> - <cardinality>15662</cardinality> + <cardinality>16683</cardinality> <columnsizes> <e> <k>parent</k> - <v>3982</v> + <v>4402</v> </e> <e> <k>child</k> - <v>15662</v> + <v>16683</v> </e> </columnsizes> <dependencies> @@ -1308,32 +1280,32 @@ <b> <a>1</a> <b>2</b> - <v>1880</v> + <v>2157</v> </b> <b> <a>2</a> <b>3</b> - <v>882</v> + <v>978</v> </b> <b> <a>3</a> <b>4</b> - <v>354</v> + <v>375</v> </b> <b> <a>4</a> <b>6</b> - <v>334</v> + <v>348</v> </b> <b> <a>6</a> - <b>14</b> - <v>312</v> + <b>15</b> + <v>339</v> </b> <b> - <a>14</a> - <b>240</b> - <v>220</v> + <a>15</a> + <b>255</b> + <v>205</v> </b> </bs> </hist> @@ -1349,7 +1321,7 @@ <b> <a>1</a> <b>2</b> - <v>15662</v> + <v>16683</v> </b> </bs> </hist> @@ -1359,15 +1331,15 @@ </relation> <relation> <name>dbscheme_annotation_args_annotation</name> - <cardinality>20661</cardinality> + <cardinality>30555</cardinality> <columnsizes> <e> <k>dbscheme_annotation</k> - <v>20661</v> + <v>30555</v> </e> <e> <k>args_annotation</k> - <v>20661</v> + <v>30555</v> </e> </columnsizes> <dependencies> @@ -1381,7 +1353,7 @@ <b> <a>1</a> <b>2</b> - <v>20661</v> + <v>30555</v> </b> </bs> </hist> @@ -1397,7 +1369,7 @@ <b> <a>1</a> <b>2</b> - <v>20661</v> + <v>30555</v> </b> </bs> </hist> @@ -1407,11 +1379,11 @@ </relation> <relation> <name>dbscheme_annotation_def</name> - <cardinality>20670</cardinality> + <cardinality>30564</cardinality> <columnsizes> <e> <k>id</k> - <v>20670</v> + <v>30564</v> </e> </columnsizes> <dependencies/> @@ -1466,11 +1438,11 @@ </relation> <relation> <name>dbscheme_args_annotation_child</name> - <cardinality>34968</cardinality> + <cardinality>49845</cardinality> <columnsizes> <e> <k>dbscheme_args_annotation</k> - <v>20661</v> + <v>30555</v> </e> <e> <k>index</k> @@ -1478,7 +1450,7 @@ </e> <e> <k>child</k> - <v>34968</v> + <v>49845</v> </e> </columnsizes> <dependencies> @@ -1492,17 +1464,17 @@ <b> <a>1</a> <b>2</b> - <v>7137</v> + <v>12292</v> </b> <b> <a>2</a> <b>3</b> - <v>12741</v> + <v>17236</v> </b> <b> <a>3</a> <b>4</b> - <v>783</v> + <v>1027</v> </b> </bs> </hist> @@ -1518,17 +1490,17 @@ <b> <a>1</a> <b>2</b> - <v>7137</v> + <v>12292</v> </b> <b> <a>2</a> <b>3</b> - <v>12741</v> + <v>17236</v> </b> <b> <a>3</a> <b>4</b> - <v>783</v> + <v>1027</v> </b> </bs> </hist> @@ -1542,18 +1514,18 @@ <budget>12</budget> <bs> <b> - <a>783</a> - <b>784</b> + <a>1027</a> + <b>1028</b> <v>1</v> </b> <b> - <a>13524</a> - <b>13525</b> + <a>18263</a> + <b>18264</b> <v>1</v> </b> <b> - <a>20661</a> - <b>20662</b> + <a>30555</a> + <b>30556</b> <v>1</v> </b> </bs> @@ -1568,18 +1540,18 @@ <budget>12</budget> <bs> <b> - <a>783</a> - <b>784</b> + <a>1027</a> + <b>1028</b> <v>1</v> </b> <b> - <a>13524</a> - <b>13525</b> + <a>18263</a> + <b>18264</b> <v>1</v> </b> <b> - <a>20661</a> - <b>20662</b> + <a>30555</a> + <b>30556</b> <v>1</v> </b> </bs> @@ -1596,7 +1568,7 @@ <b> <a>1</a> <b>2</b> - <v>34968</v> + <v>49845</v> </b> </bs> </hist> @@ -1612,7 +1584,7 @@ <b> <a>1</a> <b>2</b> - <v>34968</v> + <v>49845</v> </b> </bs> </hist> @@ -1622,15 +1594,15 @@ </relation> <relation> <name>dbscheme_args_annotation_def</name> - <cardinality>20661</cardinality> + <cardinality>30555</cardinality> <columnsizes> <e> <k>id</k> - <v>20661</v> + <v>30555</v> </e> <e> <k>name</k> - <v>20661</v> + <v>30555</v> </e> </columnsizes> <dependencies> @@ -1644,7 +1616,7 @@ <b> <a>1</a> <b>2</b> - <v>20661</v> + <v>30555</v> </b> </bs> </hist> @@ -1660,7 +1632,7 @@ <b> <a>1</a> <b>2</b> - <v>20661</v> + <v>30555</v> </b> </bs> </hist> @@ -1669,24 +1641,73 @@ </dependencies> </relation> <relation> - <name>dbscheme_ast_node_info</name> - <cardinality>4444432</cardinality> + <name>dbscheme_ast_node_location</name> + <cardinality>5985718</cardinality> <columnsizes> <e> <k>node</k> - <v>4444432</v> - </e> - <e> - <k>parent</k> - <v>1354658</v> - </e> - <e> - <k>parent_index</k> - <v>476</v> + <v>5985718</v> </e> <e> <k>loc</k> - <v>3650776</v> + <v>4903745</v> + </e> + </columnsizes> + <dependencies> + <dep> + <src>node</src> + <trg>loc</trg> + <val> + <hist> + <budget>12</budget> + <bs> + <b> + <a>1</a> + <b>2</b> + <v>5985718</v> + </b> + </bs> + </hist> + </val> + </dep> + <dep> + <src>loc</src> + <trg>node</trg> + <val> + <hist> + <budget>12</budget> + <bs> + <b> + <a>1</a> + <b>2</b> + <v>3821772</v> + </b> + <b> + <a>2</a> + <b>3</b> + <v>1081973</v> + </b> + </bs> + </hist> + </val> + </dep> + </dependencies> + </relation> + <relation> + <name>dbscheme_ast_node_parent</name> + <cardinality>5900617</cardinality> + <columnsizes> + <e> + <k>node</k> + <v>5900617</v> + </e> + <e> + <k>parent</k> + <v>1833365</v> + </e> + <e> + <k>parent_index</k> + <v>501</v> </e> </columnsizes> <dependencies> @@ -1700,7 +1721,7 @@ <b> <a>1</a> <b>2</b> - <v>4444432</v> + <v>5900617</v> </b> </bs> </hist> @@ -1716,23 +1737,7 @@ <b> <a>1</a> <b>2</b> - <v>4444432</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>node</src> - <trg>loc</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>2</b> - <v>4444432</v> + <v>5900617</v> </b> </bs> </hist> @@ -1748,32 +1753,32 @@ <b> <a>1</a> <b>2</b> - <v>793673</v> + <v>1081973</v> </b> <b> <a>2</a> <b>4</b> - <v>117079</v> + <v>151168</v> </b> <b> <a>4</a> <b>5</b> - <v>11481</v> + <v>13080</v> </b> <b> <a>5</a> <b>6</b> - <v>247420</v> + <v>341594</v> </b> <b> <a>6</a> <b>8</b> - <v>112901</v> + <v>149771</v> </b> <b> <a>8</a> - <b>477</b> - <v>72104</v> + <b>502</b> + <v>95779</v> </b> </bs> </hist> @@ -1789,73 +1794,32 @@ <b> <a>1</a> <b>2</b> - <v>793673</v> + <v>1081973</v> </b> <b> <a>2</a> <b>4</b> - <v>117079</v> + <v>151168</v> </b> <b> <a>4</a> <b>5</b> - <v>11481</v> + <v>13080</v> </b> <b> <a>5</a> <b>6</b> - <v>247420</v> + <v>341594</v> </b> <b> <a>6</a> <b>8</b> - <v>112901</v> + <v>149771</v> </b> <b> <a>8</a> - <b>477</b> - <v>72104</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>parent</src> - <trg>loc</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>2</b> - <v>793673</v> - </b> - <b> - <a>2</a> - <b>4</b> - <v>117079</v> - </b> - <b> - <a>4</a> - <b>5</b> - <v>11481</v> - </b> - <b> - <a>5</a> - <b>6</b> - <v>247420</v> - </b> - <b> - <a>6</a> - <b>8</b> - <v>112901</v> - </b> - <b> - <a>8</a> - <b>477</b> - <v>72104</v> + <b>502</b> + <v>95779</v> </b> </bs> </hist> @@ -1869,69 +1833,69 @@ <budget>12</budget> <bs> <b> - <a>7</a> - <b>257</b> - <v>39</v> - </b> - <b> - <a>258</a> - <b>307</b> + <a>3</a> + <b>140</b> <v>38</v> </b> <b> - <a>321</a> - <b>338</b> + <a>147</a> + <b>386</b> + <v>38</v> + </b> + <b> + <a>387</a> + <b>491</b> + <v>31</v> + </b> + <b> + <a>491</a> + <b>492</b> + <v>49</v> + </b> + <b> + <a>499</a> + <b>712</b> + <v>38</v> + </b> + <b> + <a>717</a> + <b>841</b> <v>42</v> </b> <b> - <a>345</a> - <b>508</b> - <v>37</v> + <a>842</a> + <b>1054</b> + <v>38</v> </b> <b> - <a>508</a> - <b>652</b> - <v>37</v> + <a>1055</a> + <b>1190</b> + <v>44</v> </b> <b> - <a>661</a> - <b>763</b> - <v>36</v> + <a>1192</a> + <b>1357</b> + <v>41</v> </b> <b> - <a>769</a> - <b>930</b> - <v>36</v> + <a>1362</a> + <b>1575</b> + <v>39</v> </b> <b> - <a>936</a> - <b>1034</b> - <v>36</v> + <a>1582</a> + <b>2577</b> + <v>38</v> </b> <b> - <a>1047</a> - <b>1122</b> - <v>36</v> + <a>2626</a> + <b>5260</b> + <v>38</v> </b> <b> - <a>1122</a> - <b>1375</b> - <v>36</v> - </b> - <b> - <a>1381</a> - <b>1960</b> - <v>36</v> - </b> - <b> - <a>2174</a> - <b>3839</b> - <v>36</v> - </b> - <b> - <a>3932</a> - <b>1354659</b> - <v>31</v> + <a>5283</a> + <b>1833366</b> + <v>27</v> </b> </bs> </hist> @@ -1945,208 +1909,69 @@ <budget>12</budget> <bs> <b> - <a>7</a> - <b>257</b> - <v>39</v> - </b> - <b> - <a>258</a> - <b>307</b> + <a>3</a> + <b>140</b> <v>38</v> </b> <b> - <a>321</a> - <b>338</b> - <v>42</v> - </b> - <b> - <a>345</a> - <b>508</b> - <v>37</v> - </b> - <b> - <a>508</a> - <b>652</b> - <v>37</v> - </b> - <b> - <a>661</a> - <b>763</b> - <v>36</v> - </b> - <b> - <a>769</a> - <b>930</b> - <v>36</v> - </b> - <b> - <a>936</a> - <b>1034</b> - <v>36</v> - </b> - <b> - <a>1047</a> - <b>1122</b> - <v>36</v> - </b> - <b> - <a>1122</a> - <b>1375</b> - <v>36</v> - </b> - <b> - <a>1381</a> - <b>1960</b> - <v>36</v> - </b> - <b> - <a>2174</a> - <b>3839</b> - <v>36</v> - </b> - <b> - <a>3932</a> - <b>1354659</b> - <v>31</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>parent_index</src> - <trg>loc</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>7</a> - <b>257</b> - <v>39</v> - </b> - <b> - <a>258</a> - <b>307</b> + <a>147</a> + <b>386</b> <v>38</v> </b> <b> - <a>321</a> - <b>338</b> + <a>387</a> + <b>491</b> + <v>31</v> + </b> + <b> + <a>491</a> + <b>492</b> + <v>49</v> + </b> + <b> + <a>499</a> + <b>712</b> + <v>38</v> + </b> + <b> + <a>717</a> + <b>841</b> <v>42</v> </b> <b> - <a>345</a> - <b>508</b> - <v>37</v> + <a>842</a> + <b>1054</b> + <v>38</v> </b> <b> - <a>508</a> - <b>652</b> - <v>37</v> + <a>1055</a> + <b>1190</b> + <v>44</v> </b> <b> - <a>661</a> - <b>763</b> - <v>36</v> + <a>1192</a> + <b>1357</b> + <v>41</v> </b> <b> - <a>769</a> - <b>930</b> - <v>36</v> + <a>1362</a> + <b>1575</b> + <v>39</v> </b> <b> - <a>936</a> - <b>1034</b> - <v>36</v> + <a>1582</a> + <b>2577</b> + <v>38</v> </b> <b> - <a>1047</a> - <b>1122</b> - <v>36</v> + <a>2626</a> + <b>5260</b> + <v>38</v> </b> <b> - <a>1122</a> - <b>1375</b> - <v>36</v> - </b> - <b> - <a>1381</a> - <b>1960</b> - <v>36</v> - </b> - <b> - <a>2174</a> - <b>3839</b> - <v>36</v> - </b> - <b> - <a>3932</a> - <b>1079008</b> - <v>31</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>loc</src> - <trg>node</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>2</b> - <v>2857120</v> - </b> - <b> - <a>2</a> - <b>3</b> - <v>793656</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>loc</src> - <trg>parent</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>2</b> - <v>2857120</v> - </b> - <b> - <a>2</a> - <b>3</b> - <v>793656</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>loc</src> - <trg>parent_index</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>2</b> - <v>3132771</v> - </b> - <b> - <a>2</a> - <b>3</b> - <v>518005</v> + <a>5283</a> + <b>1833366</b> + <v>27</v> </b> </bs> </hist> @@ -2156,11 +1981,11 @@ </relation> <relation> <name>dbscheme_branch_child</name> - <cardinality>233822</cardinality> + <cardinality>302050</cardinality> <columnsizes> <e> <k>dbscheme_branch</k> - <v>116911</v> + <v>151025</v> </e> <e> <k>index</k> @@ -2168,7 +1993,7 @@ </e> <e> <k>child</k> - <v>233822</v> + <v>302050</v> </e> </columnsizes> <dependencies> @@ -2182,7 +2007,7 @@ <b> <a>2</a> <b>3</b> - <v>116911</v> + <v>151025</v> </b> </bs> </hist> @@ -2198,7 +2023,7 @@ <b> <a>2</a> <b>3</b> - <v>116911</v> + <v>151025</v> </b> </bs> </hist> @@ -2212,8 +2037,8 @@ <budget>12</budget> <bs> <b> - <a>116911</a> - <b>116912</b> + <a>151025</a> + <b>151026</b> <v>2</v> </b> </bs> @@ -2228,8 +2053,8 @@ <budget>12</budget> <bs> <b> - <a>116911</a> - <b>116912</b> + <a>151025</a> + <b>151026</b> <v>2</v> </b> </bs> @@ -2246,7 +2071,7 @@ <b> <a>1</a> <b>2</b> - <v>233822</v> + <v>302050</v> </b> </bs> </hist> @@ -2262,7 +2087,7 @@ <b> <a>1</a> <b>2</b> - <v>233822</v> + <v>302050</v> </b> </bs> </hist> @@ -2272,11 +2097,11 @@ </relation> <relation> <name>dbscheme_branch_def</name> - <cardinality>116911</cardinality> + <cardinality>151025</cardinality> <columnsizes> <e> <k>id</k> - <v>116911</v> + <v>151025</v> </e> </columnsizes> <dependencies/> @@ -2331,11 +2156,11 @@ </relation> <relation> <name>dbscheme_case_decl_child</name> - <cardinality>116911</cardinality> + <cardinality>151025</cardinality> <columnsizes> <e> <k>dbscheme_case_decl</k> - <v>4372</v> + <v>5423</v> </e> <e> <k>index</k> @@ -2343,7 +2168,7 @@ </e> <e> <k>child</k> - <v>116911</v> + <v>151025</v> </e> </columnsizes> <dependencies> @@ -2362,57 +2187,57 @@ <b> <a>2</a> <b>3</b> - <v>661</v> + <v>841</v> </b> <b> <a>3</a> <b>4</b> - <v>486</v> + <v>605</v> </b> <b> <a>4</a> <b>5</b> - <v>595</v> + <v>691</v> </b> <b> <a>5</a> <b>6</b> - <v>335</v> + <v>456</v> </b> <b> <a>6</a> <b>8</b> - <v>187</v> + <v>218</v> </b> <b> <a>9</a> - <b>12</b> - <v>335</v> + <b>11</b> + <v>408</v> </b> <b> - <a>12</a> + <a>11</a> <b>18</b> - <v>347</v> + <v>438</v> </b> <b> <a>21</a> <b>29</b> - <v>395</v> + <v>467</v> </b> <b> <a>29</a> <b>38</b> - <v>360</v> + <v>436</v> </b> <b> <a>38</a> - <b>116</b> - <v>335</v> + <b>117</b> + <v>407</v> </b> <b> - <a>116</a> + <a>118</a> <b>219</b> - <v>335</v> + <v>455</v> </b> </bs> </hist> @@ -2433,57 +2258,57 @@ <b> <a>2</a> <b>3</b> - <v>661</v> + <v>841</v> </b> <b> <a>3</a> <b>4</b> - <v>486</v> + <v>605</v> </b> <b> <a>4</a> <b>5</b> - <v>595</v> + <v>691</v> </b> <b> <a>5</a> <b>6</b> - <v>335</v> + <v>456</v> </b> <b> <a>6</a> <b>8</b> - <v>187</v> + <v>218</v> </b> <b> <a>9</a> - <b>12</b> - <v>335</v> + <b>11</b> + <v>408</v> </b> <b> - <a>12</a> + <a>11</a> <b>18</b> - <v>347</v> + <v>438</v> </b> <b> <a>21</a> <b>29</b> - <v>395</v> + <v>467</v> </b> <b> <a>29</a> <b>38</b> - <v>360</v> + <v>436</v> </b> <b> <a>38</a> - <b>116</b> - <v>335</v> + <b>117</b> + <v>407</v> </b> <b> - <a>116</a> + <a>118</a> <b>219</b> - <v>335</v> + <v>455</v> </b> </bs> </hist> @@ -2497,63 +2322,73 @@ <budget>12</budget> <bs> <b> - <a>120</a> - <b>121</b> - <v>21</v> - </b> - <b> - <a>135</a> - <b>136</b> - <v>27</v> - </b> - <b> - <a>143</a> - <b>210</b> - <v>11</v> - </b> - <b> - <a>227</a> - <b>228</b> - <v>34</v> - </b> - <b> - <a>238</a> - <b>404</b> - <v>17</v> - </b> - <b> - <a>405</a> - <b>421</b> + <a>156</a> + <b>157</b> <v>20</v> </b> <b> - <a>449</a> - <b>452</b> + <a>159</a> + <b>160</b> + <v>1</v> + </b> + <b> + <a>219</a> + <b>220</b> + <v>27</v> + </b> + <b> + <a>227</a> + <b>294</b> + <v>11</v> + </b> + <b> + <a>311</a> + <b>312</b> + <v>32</v> + </b> + <b> + <a>330</a> + <b>494</b> + <v>17</v> + </b> + <b> + <a>521</a> + <b>544</b> + <v>13</v> + </b> + <b> + <a>544</a> + <b>548</b> + <v>9</v> + </b> + <b> + <a>581</a> + <b>584</b> <v>15</v> </b> <b> - <a>466</a> - <b>469</b> + <a>598</a> + <b>601</b> <v>17</v> </b> <b> - <a>472</a> - <b>607</b> + <a>643</a> + <b>795</b> <v>17</v> </b> <b> - <a>614</a> - <b>1424</b> + <a>802</a> + <b>1764</b> <v>17</v> </b> <b> - <a>1424</a> - <b>2295</b> + <a>1764</a> + <b>2830</b> <v>17</v> </b> <b> - <a>2629</a> - <b>4373</b> + <a>3285</a> + <b>5424</b> <v>5</v> </b> </bs> @@ -2568,63 +2403,73 @@ <budget>12</budget> <bs> <b> - <a>120</a> - <b>121</b> - <v>21</v> - </b> - <b> - <a>135</a> - <b>136</b> - <v>27</v> - </b> - <b> - <a>143</a> - <b>210</b> - <v>11</v> - </b> - <b> - <a>227</a> - <b>228</b> - <v>34</v> - </b> - <b> - <a>238</a> - <b>404</b> - <v>17</v> - </b> - <b> - <a>405</a> - <b>421</b> + <a>156</a> + <b>157</b> <v>20</v> </b> <b> - <a>449</a> - <b>452</b> + <a>159</a> + <b>160</b> + <v>1</v> + </b> + <b> + <a>219</a> + <b>220</b> + <v>27</v> + </b> + <b> + <a>227</a> + <b>294</b> + <v>11</v> + </b> + <b> + <a>311</a> + <b>312</b> + <v>32</v> + </b> + <b> + <a>330</a> + <b>494</b> + <v>17</v> + </b> + <b> + <a>521</a> + <b>544</b> + <v>13</v> + </b> + <b> + <a>544</a> + <b>548</b> + <v>9</v> + </b> + <b> + <a>581</a> + <b>584</b> <v>15</v> </b> <b> - <a>466</a> - <b>469</b> + <a>598</a> + <b>601</b> <v>17</v> </b> <b> - <a>472</a> - <b>607</b> + <a>643</a> + <b>795</b> <v>17</v> </b> <b> - <a>614</a> - <b>1424</b> + <a>802</a> + <b>1764</b> <v>17</v> </b> <b> - <a>1424</a> - <b>2295</b> + <a>1764</a> + <b>2830</b> <v>17</v> </b> <b> - <a>2629</a> - <b>4373</b> + <a>3285</a> + <b>5424</b> <v>5</v> </b> </bs> @@ -2641,7 +2486,7 @@ <b> <a>1</a> <b>2</b> - <v>116911</v> + <v>151025</v> </b> </bs> </hist> @@ -2657,7 +2502,7 @@ <b> <a>1</a> <b>2</b> - <v>116911</v> + <v>151025</v> </b> </bs> </hist> @@ -2667,19 +2512,19 @@ </relation> <relation> <name>dbscheme_case_decl_def</name> - <cardinality>4372</cardinality> + <cardinality>5423</cardinality> <columnsizes> <e> <k>id</k> - <v>4372</v> + <v>5423</v> </e> <e> <k>base</k> - <v>4372</v> + <v>5423</v> </e> <e> <k>discriminator</k> - <v>4372</v> + <v>5423</v> </e> </columnsizes> <dependencies> @@ -2693,7 +2538,7 @@ <b> <a>1</a> <b>2</b> - <v>4372</v> + <v>5423</v> </b> </bs> </hist> @@ -2709,7 +2554,7 @@ <b> <a>1</a> <b>2</b> - <v>4372</v> + <v>5423</v> </b> </bs> </hist> @@ -2725,7 +2570,7 @@ <b> <a>1</a> <b>2</b> - <v>4372</v> + <v>5423</v> </b> </bs> </hist> @@ -2741,7 +2586,7 @@ <b> <a>1</a> <b>2</b> - <v>4372</v> + <v>5423</v> </b> </bs> </hist> @@ -2757,7 +2602,7 @@ <b> <a>1</a> <b>2</b> - <v>4372</v> + <v>5423</v> </b> </bs> </hist> @@ -2773,7 +2618,7 @@ <b> <a>1</a> <b>2</b> - <v>4372</v> + <v>5423</v> </b> </bs> </hist> @@ -2783,15 +2628,15 @@ </relation> <relation> <name>dbscheme_col_type_def</name> - <cardinality>252564</cardinality> + <cardinality>341399</cardinality> <columnsizes> <e> <k>id</k> - <v>252564</v> + <v>341399</v> </e> <e> <k>child</k> - <v>252564</v> + <v>341399</v> </e> </columnsizes> <dependencies> @@ -2805,7 +2650,7 @@ <b> <a>1</a> <b>2</b> - <v>252564</v> + <v>341399</v> </b> </bs> </hist> @@ -2821,7 +2666,7 @@ <b> <a>1</a> <b>2</b> - <v>252564</v> + <v>341399</v> </b> </bs> </hist> @@ -2831,23 +2676,23 @@ </relation> <relation> <name>dbscheme_column_def</name> - <cardinality>252564</cardinality> + <cardinality>341399</cardinality> <columnsizes> <e> <k>id</k> - <v>252564</v> + <v>341399</v> </e> <e> <k>col_name</k> - <v>252564</v> + <v>341399</v> </e> <e> <k>col_type</k> - <v>252564</v> + <v>341399</v> </e> <e> <k>repr_type</k> - <v>252564</v> + <v>341399</v> </e> </columnsizes> <dependencies> @@ -2861,7 +2706,7 @@ <b> <a>1</a> <b>2</b> - <v>252564</v> + <v>341399</v> </b> </bs> </hist> @@ -2877,7 +2722,7 @@ <b> <a>1</a> <b>2</b> - <v>252564</v> + <v>341399</v> </b> </bs> </hist> @@ -2893,7 +2738,7 @@ <b> <a>1</a> <b>2</b> - <v>252564</v> + <v>341399</v> </b> </bs> </hist> @@ -2909,7 +2754,7 @@ <b> <a>1</a> <b>2</b> - <v>252564</v> + <v>341399</v> </b> </bs> </hist> @@ -2925,7 +2770,7 @@ <b> <a>1</a> <b>2</b> - <v>252564</v> + <v>341399</v> </b> </bs> </hist> @@ -2941,7 +2786,7 @@ <b> <a>1</a> <b>2</b> - <v>252564</v> + <v>341399</v> </b> </bs> </hist> @@ -2957,7 +2802,7 @@ <b> <a>1</a> <b>2</b> - <v>252564</v> + <v>341399</v> </b> </bs> </hist> @@ -2973,7 +2818,7 @@ <b> <a>1</a> <b>2</b> - <v>252564</v> + <v>341399</v> </b> </bs> </hist> @@ -2989,7 +2834,7 @@ <b> <a>1</a> <b>2</b> - <v>252564</v> + <v>341399</v> </b> </bs> </hist> @@ -3005,7 +2850,7 @@ <b> <a>1</a> <b>2</b> - <v>252564</v> + <v>341399</v> </b> </bs> </hist> @@ -3021,7 +2866,7 @@ <b> <a>1</a> <b>2</b> - <v>252564</v> + <v>341399</v> </b> </bs> </hist> @@ -3037,7 +2882,7 @@ <b> <a>1</a> <b>2</b> - <v>252564</v> + <v>341399</v> </b> </bs> </hist> @@ -3047,15 +2892,15 @@ </relation> <relation> <name>dbscheme_column_is_ref</name> - <cardinality>210468</cardinality> + <cardinality>281648</cardinality> <columnsizes> <e> <k>dbscheme_column</k> - <v>210468</v> + <v>281648</v> </e> <e> <k>is_ref</k> - <v>210468</v> + <v>281648</v> </e> </columnsizes> <dependencies> @@ -3069,7 +2914,7 @@ <b> <a>1</a> <b>2</b> - <v>210468</v> + <v>281648</v> </b> </bs> </hist> @@ -3085,7 +2930,7 @@ <b> <a>1</a> <b>2</b> - <v>210468</v> + <v>281648</v> </b> </bs> </hist> @@ -3095,15 +2940,15 @@ </relation> <relation> <name>dbscheme_column_is_unique</name> - <cardinality>75701</cardinality> + <cardinality>102289</cardinality> <columnsizes> <e> <k>dbscheme_column</k> - <v>75701</v> + <v>102289</v> </e> <e> <k>is_unique</k> - <v>75701</v> + <v>102289</v> </e> </columnsizes> <dependencies> @@ -3117,7 +2962,7 @@ <b> <a>1</a> <b>2</b> - <v>75701</v> + <v>102289</v> </b> </bs> </hist> @@ -3133,7 +2978,7 @@ <b> <a>1</a> <b>2</b> - <v>75701</v> + <v>102289</v> </b> </bs> </hist> @@ -3143,15 +2988,15 @@ </relation> <relation> <name>dbscheme_column_qldoc</name> - <cardinality>470</cardinality> + <cardinality>670</cardinality> <columnsizes> <e> <k>dbscheme_column</k> - <v>470</v> + <v>670</v> </e> <e> <k>qldoc</k> - <v>470</v> + <v>670</v> </e> </columnsizes> <dependencies> @@ -3165,7 +3010,7 @@ <b> <a>1</a> <b>2</b> - <v>470</v> + <v>670</v> </b> </bs> </hist> @@ -3181,7 +3026,7 @@ <b> <a>1</a> <b>2</b> - <v>470</v> + <v>670</v> </b> </bs> </hist> @@ -3191,19 +3036,19 @@ </relation> <relation> <name>dbscheme_dbscheme_child</name> - <cardinality>169630</cardinality> + <cardinality>230044</cardinality> <columnsizes> <e> <k>dbscheme_dbscheme</k> - <v>532</v> + <v>685</v> </e> <e> <k>index</k> - <v>476</v> + <v>501</v> </e> <e> <k>child</k> - <v>169630</v> + <v>230044</v> </e> </columnsizes> <dependencies> @@ -3216,68 +3061,68 @@ <bs> <b> <a>2</a> - <b>142</b> - <v>43</v> + <b>147</b> + <v>56</v> </b> <b> - <a>142</a> - <b>200</b> - <v>40</v> + <a>148</a> + <b>205</b> + <v>55</v> </b> <b> - <a>200</a> - <b>259</b> - <v>41</v> + <a>205</a> + <b>275</b> + <v>54</v> </b> <b> - <a>260</a> - <b>278</b> - <v>41</v> + <a>275</a> + <b>287</b> + <v>52</v> </b> <b> - <a>278</a> - <b>288</b> - <v>38</v> + <a>287</a> + <b>306</b> + <v>62</v> </b> <b> - <a>290</a> - <b>305</b> - <v>46</v> + <a>307</a> + <b>312</b> + <v>52</v> </b> <b> - <a>305</a> - <b>310</b> - <v>42</v> + <a>313</a> + <b>320</b> + <v>56</v> </b> <b> - <a>310</a> - <b>315</b> - <v>40</v> - </b> - <b> - <a>316</a> + <a>320</a> <b>418</b> - <v>43</v> + <v>55</v> </b> <b> <a>418</a> - <b>457</b> + <b>460</b> + <v>58</v> + </b> + <b> + <a>460</a> + <b>464</b> <v>46</v> </b> <b> - <a>457</a> - <b>462</b> - <v>28</v> + <a>465</a> + <b>469</b> + <v>59</v> </b> <b> - <a>462</a> - <b>466</b> - <v>45</v> + <a>470</a> + <b>478</b> + <v>57</v> </b> <b> - <a>466</a> - <b>477</b> - <v>39</v> + <a>478</a> + <b>502</b> + <v>23</v> </b> </bs> </hist> @@ -3292,68 +3137,68 @@ <bs> <b> <a>2</a> - <b>142</b> - <v>43</v> + <b>147</b> + <v>56</v> </b> <b> - <a>142</a> - <b>200</b> - <v>40</v> + <a>148</a> + <b>205</b> + <v>55</v> </b> <b> - <a>200</a> - <b>259</b> - <v>41</v> + <a>205</a> + <b>275</b> + <v>54</v> </b> <b> - <a>260</a> - <b>278</b> - <v>41</v> + <a>275</a> + <b>287</b> + <v>52</v> </b> <b> - <a>278</a> - <b>288</b> - <v>38</v> + <a>287</a> + <b>306</b> + <v>62</v> </b> <b> - <a>290</a> - <b>305</b> - <v>46</v> + <a>307</a> + <b>312</b> + <v>52</v> </b> <b> - <a>305</a> - <b>310</b> - <v>42</v> + <a>313</a> + <b>320</b> + <v>56</v> </b> <b> - <a>310</a> - <b>315</b> - <v>40</v> - </b> - <b> - <a>316</a> + <a>320</a> <b>418</b> - <v>43</v> + <v>55</v> </b> <b> <a>418</a> - <b>457</b> + <b>460</b> + <v>58</v> + </b> + <b> + <a>460</a> + <b>464</b> <v>46</v> </b> <b> - <a>457</a> - <b>462</b> - <v>28</v> + <a>465</a> + <b>469</b> + <v>59</v> </b> <b> - <a>462</a> - <b>466</b> - <v>45</v> + <a>470</a> + <b>478</b> + <v>57</v> </b> <b> - <a>466</a> - <b>477</b> - <v>39</v> + <a>478</a> + <b>502</b> + <v>23</v> </b> </bs> </hist> @@ -3367,58 +3212,63 @@ <budget>12</budget> <bs> <b> - <a>7</a> - <b>137</b> - <v>39</v> + <a>3</a> + <b>140</b> + <v>38</v> </b> <b> - <a>138</a> - <b>187</b> - <v>43</v> + <a>147</a> + <b>230</b> + <v>38</v> </b> <b> - <a>187</a> - <b>188</b> + <a>231</a> + <b>272</b> + <v>31</v> + </b> + <b> + <a>272</a> + <b>273</b> <v>70</v> </b> <b> - <a>190</a> - <b>330</b> + <a>279</a> + <b>469</b> + <v>38</v> + </b> + <b> + <a>470</a> + <b>561</b> <v>37</v> </b> <b> - <a>331</a> - <b>418</b> - <v>36</v> - </b> - <b> - <a>419</a> - <b>422</b> - <v>42</v> - </b> - <b> - <a>422</a> - <b>452</b> + <a>562</a> + <b>563</b> <v>40</v> </b> <b> - <a>452</a> - <b>502</b> - <v>36</v> + <a>563</a> + <b>601</b> + <v>40</v> </b> <b> - <a>510</a> - <b>529</b> - <v>32</v> + <a>601</a> + <b>664</b> + <v>41</v> </b> <b> - <a>529</a> - <b>530</b> + <a>664</a> + <b>682</b> + <v>27</v> + </b> + <b> + <a>682</a> + <b>683</b> <v>76</v> </b> <b> - <a>530</a> - <b>533</b> + <a>683</a> + <b>686</b> <v>25</v> </b> </bs> @@ -3433,58 +3283,63 @@ <budget>12</budget> <bs> <b> - <a>7</a> - <b>137</b> - <v>39</v> + <a>3</a> + <b>140</b> + <v>38</v> </b> <b> - <a>138</a> - <b>187</b> - <v>43</v> + <a>147</a> + <b>230</b> + <v>38</v> </b> <b> - <a>187</a> - <b>188</b> + <a>231</a> + <b>272</b> + <v>31</v> + </b> + <b> + <a>272</a> + <b>273</b> <v>70</v> </b> <b> - <a>190</a> - <b>330</b> + <a>279</a> + <b>469</b> + <v>38</v> + </b> + <b> + <a>470</a> + <b>561</b> <v>37</v> </b> <b> - <a>331</a> - <b>418</b> - <v>36</v> - </b> - <b> - <a>419</a> - <b>422</b> - <v>42</v> - </b> - <b> - <a>422</a> - <b>452</b> + <a>562</a> + <b>563</b> <v>40</v> </b> <b> - <a>452</a> - <b>502</b> - <v>36</v> + <a>563</a> + <b>601</b> + <v>40</v> </b> <b> - <a>510</a> - <b>529</b> - <v>32</v> + <a>601</a> + <b>664</b> + <v>41</v> </b> <b> - <a>529</a> - <b>530</b> + <a>664</a> + <b>682</b> + <v>27</v> + </b> + <b> + <a>682</a> + <b>683</b> <v>76</v> </b> <b> - <a>530</a> - <b>533</b> + <a>683</a> + <b>686</b> <v>25</v> </b> </bs> @@ -3501,7 +3356,7 @@ <b> <a>1</a> <b>2</b> - <v>169630</v> + <v>230044</v> </b> </bs> </hist> @@ -3517,7 +3372,7 @@ <b> <a>1</a> <b>2</b> - <v>169630</v> + <v>230044</v> </b> </bs> </hist> @@ -3527,26 +3382,26 @@ </relation> <relation> <name>dbscheme_dbscheme_def</name> - <cardinality>532</cardinality> + <cardinality>686</cardinality> <columnsizes> <e> <k>id</k> - <v>532</v> + <v>686</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>dbscheme_entry_def</name> - <cardinality>169630</cardinality> + <cardinality>230044</cardinality> <columnsizes> <e> <k>id</k> - <v>169630</v> + <v>230044</v> </e> <e> <k>child</k> - <v>169630</v> + <v>230044</v> </e> </columnsizes> <dependencies> @@ -3560,7 +3415,7 @@ <b> <a>1</a> <b>2</b> - <v>169630</v> + <v>230044</v> </b> </bs> </hist> @@ -3576,7 +3431,7 @@ <b> <a>1</a> <b>2</b> - <v>169630</v> + <v>230044</v> </b> </bs> </hist> @@ -3586,11 +3441,11 @@ </relation> <relation> <name>dbscheme_repr_type_child</name> - <cardinality>260261</cardinality> + <cardinality>349360</cardinality> <columnsizes> <e> <k>dbscheme_repr_type</k> - <v>252564</v> + <v>341399</v> </e> <e> <k>index</k> @@ -3598,7 +3453,7 @@ </e> <e> <k>child</k> - <v>260261</v> + <v>349360</v> </e> </columnsizes> <dependencies> @@ -3612,12 +3467,12 @@ <b> <a>1</a> <b>2</b> - <v>244867</v> + <v>333438</v> </b> <b> <a>2</a> <b>3</b> - <v>7697</v> + <v>7961</v> </b> </bs> </hist> @@ -3633,12 +3488,12 @@ <b> <a>1</a> <b>2</b> - <v>244867</v> + <v>333438</v> </b> <b> <a>2</a> <b>3</b> - <v>7697</v> + <v>7961</v> </b> </bs> </hist> @@ -3652,13 +3507,13 @@ <budget>12</budget> <bs> <b> - <a>7697</a> - <b>7698</b> + <a>7961</a> + <b>7962</b> <v>1</v> </b> <b> - <a>252564</a> - <b>252565</b> + <a>341399</a> + <b>341400</b> <v>1</v> </b> </bs> @@ -3673,13 +3528,13 @@ <budget>12</budget> <bs> <b> - <a>7697</a> - <b>7698</b> + <a>7961</a> + <b>7962</b> <v>1</v> </b> <b> - <a>252564</a> - <b>252565</b> + <a>341399</a> + <b>341400</b> <v>1</v> </b> </bs> @@ -3696,7 +3551,7 @@ <b> <a>1</a> <b>2</b> - <v>260261</v> + <v>349360</v> </b> </bs> </hist> @@ -3712,7 +3567,7 @@ <b> <a>1</a> <b>2</b> - <v>260261</v> + <v>349360</v> </b> </bs> </hist> @@ -3722,22 +3577,22 @@ </relation> <relation> <name>dbscheme_repr_type_def</name> - <cardinality>252564</cardinality> + <cardinality>341399</cardinality> <columnsizes> <e> <k>id</k> - <v>252564</v> + <v>341399</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>dbscheme_table_child</name> - <cardinality>273234</cardinality> + <cardinality>371963</cardinality> <columnsizes> <e> <k>dbscheme_table</k> - <v>105934</v> + <v>146537</v> </e> <e> <k>index</k> @@ -3745,7 +3600,7 @@ </e> <e> <k>child</k> - <v>273234</v> + <v>371963</v> </e> </columnsizes> <dependencies> @@ -3759,32 +3614,32 @@ <b> <a>1</a> <b>2</b> - <v>22414</v> + <v>32738</v> </b> <b> <a>2</a> <b>3</b> - <v>41141</v> + <v>55828</v> </b> <b> <a>3</a> <b>4</b> - <v>16585</v> + <v>24047</v> </b> <b> <a>4</a> <b>5</b> - <v>16007</v> + <v>21522</v> </b> <b> <a>5</a> <b>7</b> - <v>9023</v> + <v>11405</v> </b> <b> <a>7</a> <b>11</b> - <v>764</v> + <v>997</v> </b> </bs> </hist> @@ -3800,32 +3655,32 @@ <b> <a>1</a> <b>2</b> - <v>22414</v> + <v>32738</v> </b> <b> <a>2</a> <b>3</b> - <v>41141</v> + <v>55828</v> </b> <b> <a>3</a> <b>4</b> - <v>16585</v> + <v>24047</v> </b> <b> <a>4</a> <b>5</b> - <v>16007</v> + <v>21522</v> </b> <b> <a>5</a> <b>7</b> - <v>9023</v> + <v>11405</v> </b> <b> <a>7</a> <b>11</b> - <v>764</v> + <v>997</v> </b> </bs> </hist> @@ -3844,48 +3699,48 @@ <v>1</v> </b> <b> - <a>145</a> - <b>146</b> + <a>181</a> + <b>182</b> <v>1</v> </b> <b> - <a>265</a> - <b>266</b> + <a>337</a> + <b>338</b> <v>1</v> </b> <b> - <a>764</a> - <b>765</b> + <a>997</a> + <b>998</b> <v>1</v> </b> <b> - <a>4621</a> - <b>4622</b> + <a>5790</a> + <b>5791</b> <v>1</v> </b> <b> - <a>9787</a> - <b>9788</b> + <a>12402</a> + <b>12403</b> <v>1</v> </b> <b> - <a>25794</a> - <b>25795</b> + <a>33924</a> + <b>33925</b> <v>1</v> </b> <b> - <a>42379</a> - <b>42380</b> + <a>57971</a> + <b>57972</b> <v>1</v> </b> <b> - <a>83520</a> - <b>83521</b> + <a>113799</a> + <b>113800</b> <v>1</v> </b> <b> - <a>105934</a> - <b>105935</b> + <a>146537</a> + <b>146538</b> <v>1</v> </b> </bs> @@ -3905,48 +3760,48 @@ <v>1</v> </b> <b> - <a>145</a> - <b>146</b> + <a>181</a> + <b>182</b> <v>1</v> </b> <b> - <a>265</a> - <b>266</b> + <a>337</a> + <b>338</b> <v>1</v> </b> <b> - <a>764</a> - <b>765</b> + <a>997</a> + <b>998</b> <v>1</v> </b> <b> - <a>4621</a> - <b>4622</b> + <a>5790</a> + <b>5791</b> <v>1</v> </b> <b> - <a>9787</a> - <b>9788</b> + <a>12402</a> + <b>12403</b> <v>1</v> </b> <b> - <a>25794</a> - <b>25795</b> + <a>33924</a> + <b>33925</b> <v>1</v> </b> <b> - <a>42379</a> - <b>42380</b> + <a>57971</a> + <b>57972</b> <v>1</v> </b> <b> - <a>83520</a> - <b>83521</b> + <a>113799</a> + <b>113800</b> <v>1</v> </b> <b> - <a>105934</a> - <b>105935</b> + <a>146537</a> + <b>146538</b> <v>1</v> </b> </bs> @@ -3963,7 +3818,7 @@ <b> <a>1</a> <b>2</b> - <v>273234</v> + <v>371963</v> </b> </bs> </hist> @@ -3979,7 +3834,7 @@ <b> <a>1</a> <b>2</b> - <v>273234</v> + <v>371963</v> </b> </bs> </hist> @@ -3989,15 +3844,15 @@ </relation> <relation> <name>dbscheme_table_def</name> - <cardinality>105934</cardinality> + <cardinality>146537</cardinality> <columnsizes> <e> <k>id</k> - <v>105934</v> + <v>146537</v> </e> <e> <k>table_name</k> - <v>105934</v> + <v>146537</v> </e> </columnsizes> <dependencies> @@ -4011,7 +3866,7 @@ <b> <a>1</a> <b>2</b> - <v>105934</v> + <v>146537</v> </b> </bs> </hist> @@ -4027,7 +3882,7 @@ <b> <a>1</a> <b>2</b> - <v>105934</v> + <v>146537</v> </b> </bs> </hist> @@ -4037,15 +3892,15 @@ </relation> <relation> <name>dbscheme_table_name_def</name> - <cardinality>105934</cardinality> + <cardinality>146537</cardinality> <columnsizes> <e> <k>id</k> - <v>105934</v> + <v>146537</v> </e> <e> <k>child</k> - <v>105934</v> + <v>146537</v> </e> </columnsizes> <dependencies> @@ -4059,7 +3914,7 @@ <b> <a>1</a> <b>2</b> - <v>105934</v> + <v>146537</v> </b> </bs> </hist> @@ -4075,7 +3930,7 @@ <b> <a>1</a> <b>2</b> - <v>105934</v> + <v>146537</v> </b> </bs> </hist> @@ -4085,11 +3940,11 @@ </relation> <relation> <name>dbscheme_tokeninfo</name> - <cardinality>3090306</cardinality> + <cardinality>4152352</cardinality> <columnsizes> <e> <k>id</k> - <v>3090306</v> + <v>4152352</v> </e> <e> <k>kind</k> @@ -4097,7 +3952,7 @@ </e> <e> <k>value</k> - <v>7109</v> + <v>7232</v> </e> </columnsizes> <dependencies> @@ -4111,7 +3966,7 @@ <b> <a>1</a> <b>2</b> - <v>3090306</v> + <v>4152352</v> </b> </bs> </hist> @@ -4127,7 +3982,7 @@ <b> <a>1</a> <b>2</b> - <v>3090306</v> + <v>4152352</v> </b> </bs> </hist> @@ -4141,83 +3996,83 @@ <budget>12</budget> <bs> <b> - <a>1042</a> - <b>1043</b> + <a>1170</a> + <b>1171</b> <v>1</v> </b> <b> - <a>1440</a> - <b>1441</b> + <a>2146</a> + <b>2147</b> <v>1</v> </b> <b> - <a>2354</a> - <b>2355</b> + <a>2962</a> + <b>2963</b> <v>1</v> </b> <b> - <a>7697</a> - <b>7698</b> + <a>7961</a> + <b>7962</b> <v>1</v> </b> <b> - <a>8004</a> - <b>8005</b> + <a>10956</a> + <b>10957</b> <v>1</v> </b> <b> - <a>17513</a> - <b>17514</b> + <a>22060</a> + <b>22061</b> <v>1</v> </b> <b> - <a>20670</a> - <b>20671</b> + <a>30564</a> + <b>30565</b> <v>1</v> </b> <b> - <a>37863</a> - <b>37864</b> + <a>62355</a> + <b>62356</b> <v>1</v> </b> <b> - <a>51435</a> - <b>51436</b> + <a>67865</a> + <b>67866</b> <v>1</v> </b> <b> - <a>75701</a> - <b>75702</b> + <a>102289</a> + <b>102290</b> <v>1</v> </b> <b> - <a>124608</a> - <b>124609</b> + <a>158986</a> + <b>158987</b> <v>1</v> </b> <b> - <a>210468</a> - <b>210469</b> + <a>281648</a> + <b>281649</b> <v>1</v> </b> <b> - <a>258872</a> - <b>258873</b> + <a>350777</a> + <b>350778</b> <v>1</v> </b> <b> - <a>397838</a> - <b>397839</b> + <a>543204</a> + <b>543205</b> <v>1</v> </b> <b> - <a>565153</a> - <b>565154</b> + <a>750840</a> + <b>750841</b> <v>1</v> </b> <b> - <a>1309648</a> - <b>1309649</b> + <a>1756569</a> + <b>1756570</b> <v>1</v> </b> </bs> @@ -4247,33 +4102,33 @@ <v>1</v> </b> <b> - <a>99</a> - <b>100</b> + <a>100</a> + <b>101</b> <v>1</v> </b> <b> - <a>197</a> - <b>198</b> + <a>207</a> + <b>208</b> <v>1</v> </b> <b> - <a>302</a> - <b>303</b> + <a>303</a> + <b>304</b> <v>1</v> </b> <b> - <a>595</a> - <b>596</b> + <a>616</a> + <b>617</b> <v>1</v> </b> <b> - <a>2601</a> - <b>2602</b> + <a>2655</a> + <b>2656</b> <v>1</v> </b> <b> - <a>3292</a> - <b>3293</b> + <a>3328</a> + <b>3329</b> <v>1</v> </b> </bs> @@ -4294,68 +4149,68 @@ </b> <b> <a>3</a> - <b>9</b> - <v>534</v> + <b>13</b> + <v>575</v> </b> <b> - <a>9</a> - <b>25</b> + <a>13</a> + <b>29</b> + <v>422</v> + </b> + <b> + <a>29</a> + <b>38</b> + <v>546</v> + </b> + <b> + <a>38</a> + <b>56</b> + <v>638</v> + </b> + <b> + <a>56</a> + <b>77</b> + <v>597</v> + </b> + <b> + <a>77</a> + <b>116</b> + <v>541</v> + </b> + <b> + <a>116</a> + <b>149</b> <v>543</v> </b> <b> - <a>25</a> - <b>32</b> + <a>149</a> + <b>156</b> + <v>481</v> + </b> + <b> + <a>156</a> + <b>199</b> <v>544</v> </b> <b> - <a>32</a> - <b>51</b> - <v>471</v> + <a>202</a> + <b>312</b> + <v>540</v> </b> <b> - <a>51</a> - <b>67</b> - <v>534</v> + <a>312</a> + <b>416</b> + <v>543</v> </b> <b> - <a>67</a> - <b>73</b> - <v>567</v> + <a>416</a> + <b>1685</b> + <v>543</v> </b> <b> - <a>73</a> - <b>107</b> - <v>611</v> - </b> - <b> - <a>107</a> - <b>121</b> - <v>590</v> - </b> - <b> - <a>121</a> - <b>157</b> - <v>534</v> - </b> - <b> - <a>158</a> - <b>235</b> - <v>412</v> - </b> - <b> - <a>240</a> - <b>322</b> - <v>544</v> - </b> - <b> - <a>324</a> - <b>1897</b> - <v>534</v> - </b> - <b> - <a>2000</a> - <b>270542</b> - <v>72</v> + <a>1697</a> + <b>354482</b> + <v>100</v> </b> </bs> </hist> @@ -4371,7 +4226,7 @@ <b> <a>1</a> <b>2</b> - <v>7109</v> + <v>7232</v> </b> </bs> </hist> @@ -4381,11 +4236,11 @@ </relation> <relation> <name>dbscheme_union_decl_child</name> - <cardinality>209792</cardinality> + <cardinality>276677</cardinality> <columnsizes> <e> <k>dbscheme_union_decl</k> - <v>51790</v> + <v>67798</v> </e> <e> <k>index</k> @@ -4393,7 +4248,7 @@ </e> <e> <k>child</k> - <v>209792</v> + <v>276677</v> </e> </columnsizes> <dependencies> @@ -4407,37 +4262,42 @@ <b> <a>1</a> <b>2</b> - <v>2156</v> + <v>2870</v> </b> <b> <a>2</a> <b>3</b> - <v>25065</v> + <v>33104</v> </b> <b> <a>3</a> <b>4</b> - <v>7795</v> + <v>10107</v> </b> <b> <a>4</a> <b>5</b> - <v>4896</v> + <v>6309</v> </b> <b> <a>5</a> <b>6</b> - <v>3506</v> + <v>4592</v> </b> <b> <a>6</a> <b>9</b> - <v>4492</v> + <v>5609</v> </b> <b> <a>9</a> + <b>69</b> + <v>5085</v> + </b> + <b> + <a>85</a> <b>106</b> - <v>3880</v> + <v>122</v> </b> </bs> </hist> @@ -4453,37 +4313,42 @@ <b> <a>1</a> <b>2</b> - <v>2156</v> + <v>2870</v> </b> <b> <a>2</a> <b>3</b> - <v>25065</v> + <v>33104</v> </b> <b> <a>3</a> <b>4</b> - <v>7795</v> + <v>10107</v> </b> <b> <a>4</a> <b>5</b> - <v>4896</v> + <v>6309</v> </b> <b> <a>5</a> <b>6</b> - <v>3506</v> + <v>4592</v> </b> <b> <a>6</a> <b>9</b> - <v>4492</v> + <v>5609</v> </b> <b> <a>9</a> + <b>69</b> + <v>5085</v> + </b> + <b> + <a>85</a> <b>106</b> - <v>3880</v> + <v>122</v> </b> </bs> </hist> @@ -4497,63 +4362,68 @@ <budget>12</budget> <bs> <b> - <a>7</a> - <b>40</b> + <a>11</a> + <b>44</b> <v>7</v> </b> <b> - <a>41</a> - <b>42</b> + <a>45</a> + <b>46</b> <v>11</v> </b> <b> - <a>55</a> - <b>56</b> + <a>59</a> + <b>103</b> <v>2</v> </b> <b> - <a>70</a> - <b>71</b> + <a>122</a> + <b>123</b> <v>17</v> </b> <b> - <a>71</a> - <b>72</b> - <v>10</v> + <a>123</a> + <b>124</b> + <v>6</v> </b> <b> - <a>98</a> - <b>147</b> - <v>9</v> - </b> - <b> - <a>213</a> - <b>223</b> - <v>9</v> - </b> - <b> - <a>223</a> - <b>399</b> + <a>126</a> + <b>166</b> <v>8</v> </b> <b> - <a>453</a> - <b>477</b> + <a>173</a> + <b>319</b> + <v>6</v> + </b> + <b> + <a>327</a> + <b>328</b> <v>8</v> </b> <b> - <a>505</a> - <b>1059</b> + <a>328</a> + <b>544</b> <v>8</v> </b> <b> - <a>1142</a> - <b>3881</b> + <a>647</a> + <b>671</b> <v>8</v> </b> <b> - <a>4790</a> - <b>51791</b> + <a>699</a> + <b>1414</b> + <v>8</v> + </b> + <b> + <a>1501</a> + <b>5208</b> + <v>8</v> + </b> + <b> + <a>6334</a> + <b>67799</b> <v>8</v> </b> </bs> @@ -4568,63 +4438,68 @@ <budget>12</budget> <bs> <b> - <a>7</a> - <b>40</b> + <a>11</a> + <b>44</b> <v>7</v> </b> <b> - <a>41</a> - <b>42</b> + <a>45</a> + <b>46</b> <v>11</v> </b> <b> - <a>55</a> - <b>56</b> + <a>59</a> + <b>103</b> <v>2</v> </b> <b> - <a>70</a> - <b>71</b> + <a>122</a> + <b>123</b> <v>17</v> </b> <b> - <a>71</a> - <b>72</b> - <v>10</v> + <a>123</a> + <b>124</b> + <v>6</v> </b> <b> - <a>98</a> - <b>147</b> - <v>9</v> - </b> - <b> - <a>213</a> - <b>223</b> - <v>9</v> - </b> - <b> - <a>223</a> - <b>399</b> + <a>126</a> + <b>166</b> <v>8</v> </b> <b> - <a>453</a> - <b>477</b> + <a>173</a> + <b>319</b> + <v>6</v> + </b> + <b> + <a>327</a> + <b>328</b> <v>8</v> </b> <b> - <a>505</a> - <b>1059</b> + <a>328</a> + <b>544</b> <v>8</v> </b> <b> - <a>1142</a> - <b>3881</b> + <a>647</a> + <b>671</b> <v>8</v> </b> <b> - <a>4790</a> - <b>51791</b> + <a>699</a> + <b>1414</b> + <v>8</v> + </b> + <b> + <a>1501</a> + <b>5208</b> + <v>8</v> + </b> + <b> + <a>6334</a> + <b>67799</b> <v>8</v> </b> </bs> @@ -4641,7 +4516,7 @@ <b> <a>1</a> <b>2</b> - <v>209792</v> + <v>276677</v> </b> </bs> </hist> @@ -4657,7 +4532,7 @@ <b> <a>1</a> <b>2</b> - <v>209792</v> + <v>276677</v> </b> </bs> </hist> @@ -4667,15 +4542,15 @@ </relation> <relation> <name>dbscheme_union_decl_def</name> - <cardinality>51790</cardinality> + <cardinality>67798</cardinality> <columnsizes> <e> <k>id</k> - <v>51790</v> + <v>67798</v> </e> <e> <k>base</k> - <v>51790</v> + <v>67798</v> </e> </columnsizes> <dependencies> @@ -4689,7 +4564,7 @@ <b> <a>1</a> <b>2</b> - <v>51790</v> + <v>67798</v> </b> </bs> </hist> @@ -4705,7 +4580,7 @@ <b> <a>1</a> <b>2</b> - <v>51790</v> + <v>67798</v> </b> </bs> </hist> @@ -5242,15 +5117,15 @@ </relation> <relation> <name>files</name> - <cardinality>11682</cardinality> + <cardinality>12283</cardinality> <columnsizes> <e> <k>id</k> - <v>11682</v> + <v>12283</v> </e> <e> <k>name</k> - <v>11682</v> + <v>12283</v> </e> </columnsizes> <dependencies> @@ -5264,7 +5139,7 @@ <b> <a>1</a> <b>2</b> - <v>11682</v> + <v>12283</v> </b> </bs> </hist> @@ -5280,7 +5155,7 @@ <b> <a>1</a> <b>2</b> - <v>11682</v> + <v>12283</v> </b> </bs> </hist> @@ -5290,15 +5165,15 @@ </relation> <relation> <name>folders</name> - <cardinality>3982</cardinality> + <cardinality>4402</cardinality> <columnsizes> <e> <k>id</k> - <v>3982</v> + <v>4402</v> </e> <e> <k>name</k> - <v>3982</v> + <v>4402</v> </e> </columnsizes> <dependencies> @@ -5312,7 +5187,7 @@ <b> <a>1</a> <b>2</b> - <v>3982</v> + <v>4402</v> </b> </bs> </hist> @@ -5328,7 +5203,7 @@ <b> <a>1</a> <b>2</b> - <v>3982</v> + <v>4402</v> </b> </bs> </hist> @@ -5338,11 +5213,11 @@ </relation> <relation> <name>json_array_child</name> - <cardinality>2660</cardinality> + <cardinality>5897</cardinality> <columnsizes> <e> <k>json_array</k> - <v>450</v> + <v>1962</v> </e> <e> <k>index</k> @@ -5350,7 +5225,7 @@ </e> <e> <k>child</k> - <v>2660</v> + <v>5897</v> </e> </columnsizes> <dependencies> @@ -5364,32 +5239,27 @@ <b> <a>1</a> <b>2</b> - <v>129</v> + <v>935</v> </b> <b> <a>2</a> <b>3</b> - <v>136</v> + <v>623</v> </b> <b> <a>3</a> <b>4</b> - <v>78</v> + <v>179</v> </b> <b> <a>4</a> - <b>5</b> - <v>37</v> - </b> - <b> - <a>5</a> <b>7</b> - <v>41</v> + <v>149</v> </b> <b> <a>7</a> <b>612</b> - <v>29</v> + <v>76</v> </b> </bs> </hist> @@ -5405,32 +5275,27 @@ <b> <a>1</a> <b>2</b> - <v>129</v> + <v>935</v> </b> <b> <a>2</a> <b>3</b> - <v>136</v> + <v>623</v> </b> <b> <a>3</a> <b>4</b> - <v>78</v> + <v>179</v> </b> <b> <a>4</a> - <b>5</b> - <v>37</v> - </b> - <b> - <a>5</a> <b>7</b> - <v>41</v> + <v>149</v> </b> <b> <a>7</a> <b>612</b> - <v>29</v> + <v>76</v> </b> </bs> </hist> @@ -5451,26 +5316,31 @@ <b> <a>2</a> <b>3</b> - <v>84</v> + <v>26</v> </b> <b> <a>3</a> <b>4</b> - <v>61</v> + <v>58</v> </b> <b> <a>4</a> - <b>7</b> + <b>5</b> + <v>61</v> + </b> + <b> + <a>5</a> + <b>8</b> <v>48</v> </b> <b> - <a>7</a> - <b>22</b> + <a>8</a> + <b>61</b> <v>46</v> </b> <b> - <a>26</a> - <b>451</b> + <a>69</a> + <b>1963</b> <v>8</v> </b> </bs> @@ -5492,26 +5362,31 @@ <b> <a>2</a> <b>3</b> - <v>84</v> + <v>26</v> </b> <b> <a>3</a> <b>4</b> - <v>61</v> + <v>58</v> </b> <b> <a>4</a> - <b>7</b> + <b>5</b> + <v>61</v> + </b> + <b> + <a>5</a> + <b>8</b> <v>48</v> </b> <b> - <a>7</a> - <b>22</b> + <a>8</a> + <b>61</b> <v>46</v> </b> <b> - <a>26</a> - <b>451</b> + <a>69</a> + <b>1963</b> <v>8</v> </b> </bs> @@ -5528,7 +5403,7 @@ <b> <a>1</a> <b>2</b> - <v>2660</v> + <v>5897</v> </b> </bs> </hist> @@ -5544,7 +5419,7 @@ <b> <a>1</a> <b>2</b> - <v>2660</v> + <v>5897</v> </b> </bs> </hist> @@ -5554,35 +5429,84 @@ </relation> <relation> <name>json_array_def</name> - <cardinality>481</cardinality> + <cardinality>2026</cardinality> <columnsizes> <e> <k>id</k> - <v>481</v> + <v>2026</v> </e> </columnsizes> <dependencies/> </relation> <relation> - <name>json_ast_node_info</name> - <cardinality>34722</cardinality> + <name>json_ast_node_location</name> + <cardinality>148630</cardinality> <columnsizes> <e> <k>node</k> - <v>34722</v> + <v>148630</v> + </e> + <e> + <k>loc</k> + <v>148504</v> + </e> + </columnsizes> + <dependencies> + <dep> + <src>node</src> + <trg>loc</trg> + <val> + <hist> + <budget>12</budget> + <bs> + <b> + <a>1</a> + <b>2</b> + <v>148630</v> + </b> + </bs> + </hist> + </val> + </dep> + <dep> + <src>loc</src> + <trg>node</trg> + <val> + <hist> + <budget>12</budget> + <bs> + <b> + <a>1</a> + <b>2</b> + <v>148378</v> + </b> + <b> + <a>2</a> + <b>3</b> + <v>126</v> + </b> + </bs> + </hist> + </val> + </dep> + </dependencies> + </relation> + <relation> + <name>json_ast_node_parent</name> + <cardinality>148287</cardinality> + <columnsizes> + <e> + <k>node</k> + <v>148287</v> </e> <e> <k>parent</k> - <v>9501</v> + <v>42018</v> </e> <e> <k>parent_index</k> <v>1223</v> </e> - <e> - <k>loc</k> - <v>34603</v> - </e> </columnsizes> <dependencies> <dep> @@ -5595,7 +5519,7 @@ <b> <a>1</a> <b>2</b> - <v>34722</v> + <v>148287</v> </b> </bs> </hist> @@ -5611,23 +5535,7 @@ <b> <a>1</a> <b>2</b> - <v>34722</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>node</src> - <trg>loc</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>2</b> - <v>34722</v> + <v>148287</v> </b> </bs> </hist> @@ -5643,22 +5551,22 @@ <b> <a>1</a> <b>3</b> - <v>597</v> + <v>608</v> </b> <b> <a>3</a> <b>4</b> - <v>8027</v> + <v>36317</v> </b> <b> <a>4</a> - <b>12</b> - <v>718</v> + <b>6</b> + <v>3406</v> </b> <b> - <a>13</a> + <a>7</a> <b>1224</b> - <v>159</v> + <v>1687</v> </b> </bs> </hist> @@ -5674,53 +5582,22 @@ <b> <a>1</a> <b>3</b> - <v>597</v> + <v>608</v> </b> <b> <a>3</a> <b>4</b> - <v>8027</v> + <v>36317</v> </b> <b> <a>4</a> - <b>12</b> - <v>718</v> + <b>6</b> + <v>3406</v> </b> <b> - <a>13</a> + <a>7</a> <b>1224</b> - <v>159</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>parent</src> - <trg>loc</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>3</b> - <v>597</v> - </b> - <b> - <a>3</a> - <b>4</b> - <v>8027</v> - </b> - <b> - <a>4</a> - <b>12</b> - <v>718</v> - </b> - <b> - <a>13</a> - <b>1224</b> - <v>159</v> + <v>1687</v> </b> </bs> </hist> @@ -5741,27 +5618,37 @@ <b> <a>2</a> <b>3</b> - <v>168</v> + <v>52</v> </b> <b> <a>3</a> <b>4</b> - <v>106</v> + <v>116</v> </b> <b> <a>4</a> + <b>6</b> + <v>54</v> + </b> + <b> + <a>6</a> <b>7</b> - <v>96</v> + <v>68</v> </b> <b> <a>7</a> - <b>22</b> - <v>94</v> + <b>12</b> + <v>96</v> </b> <b> - <a>22</a> - <b>9502</b> - <v>31</v> + <a>12</a> + <b>213</b> + <v>92</v> + </b> + <b> + <a>226</a> + <b>42019</b> + <v>17</v> </b> </bs> </hist> @@ -5782,131 +5669,37 @@ <b> <a>2</a> <b>3</b> - <v>168</v> + <v>52</v> </b> <b> <a>3</a> <b>4</b> - <v>106</v> + <v>116</v> </b> <b> <a>4</a> + <b>6</b> + <v>54</v> + </b> + <b> + <a>6</a> <b>7</b> - <v>96</v> + <v>68</v> </b> <b> <a>7</a> - <b>22</b> - <v>94</v> - </b> - <b> - <a>22</a> - <b>9502</b> - <v>31</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>parent_index</src> - <trg>loc</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>2</b> - <v>728</v> - </b> - <b> - <a>2</a> - <b>3</b> - <v>168</v> - </b> - <b> - <a>3</a> - <b>4</b> - <v>106</v> - </b> - <b> - <a>4</a> - <b>7</b> + <b>12</b> <v>96</v> </b> <b> - <a>7</a> - <b>22</b> - <v>94</v> + <a>12</a> + <b>213</b> + <v>92</v> </b> <b> - <a>22</a> - <b>9385</b> - <v>31</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>loc</src> - <trg>node</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>2</b> - <v>34484</v> - </b> - <b> - <a>2</a> - <b>3</b> - <v>119</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>loc</src> - <trg>parent</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>2</b> - <v>34484</v> - </b> - <b> - <a>2</a> - <b>3</b> - <v>119</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>loc</src> - <trg>parent_index</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>2</b> - <v>34601</v> - </b> - <b> - <a>2</a> - <b>3</b> - <v>2</v> + <a>226</a> + <b>42019</b> + <v>17</v> </b> </bs> </hist> @@ -5916,11 +5709,11 @@ </relation> <relation> <name>json_document_child</name> - <cardinality>269</cardinality> + <cardinality>321</cardinality> <columnsizes> <e> <k>json_document</k> - <v>269</v> + <v>321</v> </e> <e> <k>index</k> @@ -5928,7 +5721,7 @@ </e> <e> <k>child</k> - <v>269</v> + <v>321</v> </e> </columnsizes> <dependencies> @@ -5942,7 +5735,7 @@ <b> <a>1</a> <b>2</b> - <v>269</v> + <v>321</v> </b> </bs> </hist> @@ -5958,7 +5751,7 @@ <b> <a>1</a> <b>2</b> - <v>269</v> + <v>321</v> </b> </bs> </hist> @@ -5972,8 +5765,8 @@ <budget>12</budget> <bs> <b> - <a>269</a> - <b>270</b> + <a>321</a> + <b>322</b> <v>1</v> </b> </bs> @@ -5988,8 +5781,8 @@ <budget>12</budget> <bs> <b> - <a>269</a> - <b>270</b> + <a>321</a> + <b>322</b> <v>1</v> </b> </bs> @@ -6006,7 +5799,7 @@ <b> <a>1</a> <b>2</b> - <v>269</v> + <v>321</v> </b> </bs> </hist> @@ -6022,7 +5815,7 @@ <b> <a>1</a> <b>2</b> - <v>269</v> + <v>321</v> </b> </bs> </hist> @@ -6032,30 +5825,30 @@ </relation> <relation> <name>json_document_def</name> - <cardinality>272</cardinality> + <cardinality>324</cardinality> <columnsizes> <e> <k>id</k> - <v>272</v> + <v>324</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>json_object_child</name> - <cardinality>2223</cardinality> + <cardinality>12461</cardinality> <columnsizes> <e> <k>json_object</k> - <v>763</v> + <v>4817</v> </e> <e> <k>index</k> - <v>110</v> + <v>159</v> </e> <e> <k>child</k> - <v>2223</v> + <v>12461</v> </e> </columnsizes> <dependencies> @@ -6069,32 +5862,27 @@ <b> <a>1</a> <b>2</b> - <v>211</v> + <v>754</v> </b> <b> <a>2</a> <b>3</b> - <v>322</v> + <v>2780</v> </b> <b> <a>3</a> <b>4</b> - <v>65</v> + <v>781</v> </b> <b> <a>4</a> - <b>6</b> - <v>44</v> + <b>11</b> + <v>445</v> </b> <b> - <a>6</a> - <b>7</b> - <v>102</v> - </b> - <b> - <a>7</a> - <b>111</b> - <v>19</v> + <a>11</a> + <b>160</b> + <v>57</v> </b> </bs> </hist> @@ -6110,32 +5898,27 @@ <b> <a>1</a> <b>2</b> - <v>211</v> + <v>754</v> </b> <b> <a>2</a> <b>3</b> - <v>322</v> + <v>2780</v> </b> <b> <a>3</a> <b>4</b> - <v>65</v> + <v>781</v> </b> <b> <a>4</a> - <b>6</b> - <v>44</v> + <b>11</b> + <v>445</v> </b> <b> - <a>6</a> - <b>7</b> - <v>102</v> - </b> - <b> - <a>7</a> - <b>111</b> - <v>19</v> + <a>11</a> + <b>160</b> + <v>57</v> </b> </bs> </hist> @@ -6151,37 +5934,42 @@ <b> <a>1</a> <b>2</b> - <v>61</v> + <v>23</v> </b> <b> <a>2</a> <b>3</b> - <v>11</v> + <v>65</v> </b> <b> <a>3</a> <b>4</b> - <v>10</v> + <v>2</v> </b> <b> <a>4</a> <b>5</b> - <v>2</v> + <v>20</v> </b> <b> <a>5</a> <b>6</b> + <v>11</v> + </b> + <b> + <a>6</a> + <b>9</b> + <v>12</v> + </b> + <b> + <a>9</a> + <b>10</b> <v>14</v> </b> <b> - <a>7</a> - <b>166</b> - <v>9</v> - </b> - <b> - <a>230</a> - <b>764</b> - <v>3</v> + <a>13</a> + <b>4818</b> + <v>12</v> </b> </bs> </hist> @@ -6197,37 +5985,42 @@ <b> <a>1</a> <b>2</b> - <v>61</v> + <v>23</v> </b> <b> <a>2</a> <b>3</b> - <v>11</v> + <v>65</v> </b> <b> <a>3</a> <b>4</b> - <v>10</v> + <v>2</v> </b> <b> <a>4</a> <b>5</b> - <v>2</v> + <v>20</v> </b> <b> <a>5</a> <b>6</b> + <v>11</v> + </b> + <b> + <a>6</a> + <b>9</b> + <v>12</v> + </b> + <b> + <a>9</a> + <b>10</b> <v>14</v> </b> <b> - <a>7</a> - <b>166</b> - <v>9</v> - </b> - <b> - <a>230</a> - <b>764</b> - <v>3</v> + <a>13</a> + <b>4818</b> + <v>12</v> </b> </bs> </hist> @@ -6243,7 +6036,7 @@ <b> <a>1</a> <b>2</b> - <v>2223</v> + <v>12461</v> </b> </bs> </hist> @@ -6259,7 +6052,7 @@ <b> <a>1</a> <b>2</b> - <v>2223</v> + <v>12461</v> </b> </bs> </hist> @@ -6269,30 +6062,30 @@ </relation> <relation> <name>json_object_def</name> - <cardinality>787</cardinality> + <cardinality>5034</cardinality> <columnsizes> <e> <k>id</k> - <v>787</v> + <v>5034</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>json_pair_def</name> - <cardinality>2223</cardinality> + <cardinality>12461</cardinality> <columnsizes> <e> <k>id</k> - <v>2223</v> + <v>12461</v> </e> <e> <k>key__</k> - <v>2223</v> + <v>12461</v> </e> <e> <k>value</k> - <v>2223</v> + <v>12461</v> </e> </columnsizes> <dependencies> @@ -6306,7 +6099,7 @@ <b> <a>1</a> <b>2</b> - <v>2223</v> + <v>12461</v> </b> </bs> </hist> @@ -6322,7 +6115,7 @@ <b> <a>1</a> <b>2</b> - <v>2223</v> + <v>12461</v> </b> </bs> </hist> @@ -6338,7 +6131,7 @@ <b> <a>1</a> <b>2</b> - <v>2223</v> + <v>12461</v> </b> </bs> </hist> @@ -6354,7 +6147,7 @@ <b> <a>1</a> <b>2</b> - <v>2223</v> + <v>12461</v> </b> </bs> </hist> @@ -6370,7 +6163,7 @@ <b> <a>1</a> <b>2</b> - <v>2223</v> + <v>12461</v> </b> </bs> </hist> @@ -6386,7 +6179,7 @@ <b> <a>1</a> <b>2</b> - <v>2223</v> + <v>12461</v> </b> </bs> </hist> @@ -6396,15 +6189,15 @@ </relation> <relation> <name>json_string_child</name> - <cardinality>5465</cardinality> + <cardinality>22171</cardinality> <columnsizes> <e> <k>json_string__</k> - <v>5465</v> + <v>22171</v> </e> <e> <k>child</k> - <v>5465</v> + <v>22171</v> </e> </columnsizes> <dependencies> @@ -6418,7 +6211,7 @@ <b> <a>1</a> <b>2</b> - <v>5465</v> + <v>22171</v> </b> </bs> </hist> @@ -6434,7 +6227,7 @@ <b> <a>1</a> <b>2</b> - <v>5465</v> + <v>22171</v> </b> </bs> </hist> @@ -6444,22 +6237,22 @@ </relation> <relation> <name>json_string_def</name> - <cardinality>5469</cardinality> + <cardinality>22176</cardinality> <columnsizes> <e> <k>id</k> - <v>5469</v> + <v>22176</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>json_tokeninfo</name> - <cardinality>25490</cardinality> + <cardinality>106609</cardinality> <columnsizes> <e> <k>id</k> - <v>25490</v> + <v>106609</v> </e> <e> <k>kind</k> @@ -6467,7 +6260,7 @@ </e> <e> <k>value</k> - <v>3153</v> + <v>4324</v> </e> </columnsizes> <dependencies> @@ -6481,7 +6274,7 @@ <b> <a>1</a> <b>2</b> - <v>25490</v> + <v>106609</v> </b> </bs> </hist> @@ -6497,7 +6290,7 @@ <b> <a>1</a> <b>2</b> - <v>25490</v> + <v>106609</v> </b> </bs> </hist> @@ -6511,38 +6304,38 @@ <budget>12</budget> <bs> <b> - <a>18</a> - <b>19</b> + <a>19</a> + <b>20</b> <v>1</v> </b> <b> - <a>27</a> - <b>28</b> + <a>71</a> + <b>72</b> <v>1</v> </b> <b> - <a>106</a> - <b>107</b> + <a>248</a> + <b>249</b> <v>1</v> </b> <b> - <a>246</a> - <b>247</b> + <a>607</a> + <b>608</b> <v>1</v> </b> <b> - <a>259</a> - <b>260</b> + <a>978</a> + <b>979</b> <v>1</v> </b> <b> - <a>5465</a> - <b>5466</b> + <a>22171</a> + <b>22172</b> <v>1</v> </b> <b> - <a>19369</a> - <b>19370</b> + <a>82515</a> + <b>82516</b> <v>1</v> </b> </bs> @@ -6567,18 +6360,18 @@ <v>1</v> </b> <b> - <a>14</a> - <b>15</b> + <a>16</a> + <b>17</b> <v>1</v> </b> <b> - <a>18</a> - <b>19</b> + <a>29</a> + <b>30</b> <v>1</v> </b> <b> - <a>3111</a> - <b>3112</b> + <a>4277</a> + <b>4278</b> <v>1</v> </b> </bs> @@ -6595,17 +6388,27 @@ <b> <a>1</a> <b>2</b> - <v>2832</v> + <v>3160</v> </b> <b> <a>2</a> - <b>7</b> - <v>246</v> + <b>3</b> + <v>406</v> </b> <b> - <a>7</a> - <b>10939</b> - <v>75</v> + <a>3</a> + <b>5</b> + <v>365</v> + </b> + <b> + <a>5</a> + <b>62</b> + <v>326</v> + </b> + <b> + <a>71</a> + <b>44353</b> + <v>67</v> </b> </bs> </hist> @@ -6621,7 +6424,12 @@ <b> <a>1</a> <b>2</b> - <v>3153</v> + <v>4316</v> + </b> + <b> + <a>2</a> + <b>3</b> + <v>8</v> </b> </bs> </hist> @@ -6631,31 +6439,31 @@ </relation> <relation> <name>locations_default</name> - <cardinality>8479546</cardinality> + <cardinality>9617371</cardinality> <columnsizes> <e> <k>id</k> - <v>8479546</v> + <v>9617371</v> </e> <e> <k>file</k> - <v>11682</v> + <v>12283</v> </e> <e> <k>beginLine</k> - <v>9036</v> + <v>11293</v> </e> <e> <k>beginColumn</k> - <v>1371</v> + <v>1385</v> </e> <e> <k>endLine</k> - <v>9036</v> + <v>11293</v> </e> <e> <k>endColumn</k> - <v>1376</v> + <v>1389</v> </e> </columnsizes> <dependencies> @@ -6669,7 +6477,7 @@ <b> <a>1</a> <b>2</b> - <v>8479546</v> + <v>9617371</v> </b> </bs> </hist> @@ -6685,7 +6493,7 @@ <b> <a>1</a> <b>2</b> - <v>8479546</v> + <v>9617371</v> </b> </bs> </hist> @@ -6701,7 +6509,7 @@ <b> <a>1</a> <b>2</b> - <v>8479546</v> + <v>9617371</v> </b> </bs> </hist> @@ -6717,7 +6525,7 @@ <b> <a>1</a> <b>2</b> - <v>8479546</v> + <v>9617371</v> </b> </bs> </hist> @@ -6733,7 +6541,7 @@ <b> <a>1</a> <b>2</b> - <v>8479546</v> + <v>9617371</v> </b> </bs> </hist> @@ -6749,72 +6557,72 @@ <b> <a>1</a> <b>21</b> - <v>906</v> + <v>930</v> </b> <b> <a>21</a> <b>32</b> - <v>909</v> + <v>950</v> </b> <b> <a>32</a> <b>40</b> - <v>959</v> + <v>1024</v> </b> <b> <a>40</a> <b>54</b> - <v>882</v> + <v>930</v> </b> <b> <a>54</a> - <b>70</b> - <v>903</v> + <b>72</b> + <v>952</v> </b> <b> - <a>70</a> - <b>88</b> - <v>878</v> + <a>72</a> + <b>89</b> + <v>965</v> </b> <b> - <a>88</a> - <b>117</b> - <v>880</v> + <a>89</a> + <b>119</b> + <v>929</v> </b> <b> - <a>117</a> - <b>160</b> - <v>879</v> + <a>119</a> + <b>164</b> + <v>934</v> </b> <b> - <a>160</a> - <b>236</b> - <v>880</v> + <a>164</a> + <b>243</b> + <v>923</v> </b> <b> - <a>236</a> - <b>377</b> - <v>877</v> + <a>243</a> + <b>392</b> + <v>923</v> </b> <b> - <a>377</a> - <b>709</b> - <v>878</v> + <a>392</a> + <b>748</b> + <v>923</v> </b> <b> - <a>709</a> - <b>2101</b> - <v>877</v> + <a>748</a> + <b>2678</b> + <v>922</v> </b> <b> - <a>2102</a> - <b>9785</b> - <v>880</v> + <a>2683</a> + <b>9950</b> + <v>923</v> </b> <b> - <a>9805</a> + <a>9962</a> <b>54160</b> - <v>94</v> + <v>55</v> </b> </bs> </hist> @@ -6830,72 +6638,72 @@ <b> <a>1</a> <b>3</b> - <v>511</v> + <v>434</v> </b> <b> <a>3</a> <b>4</b> - <v>1068</v> + <v>775</v> </b> <b> <a>4</a> <b>5</b> - <v>961</v> + <v>1146</v> </b> <b> <a>5</a> <b>6</b> - <v>680</v> + <v>995</v> </b> <b> <a>6</a> <b>7</b> - <v>632</v> + <v>691</v> </b> <b> <a>7</a> <b>9</b> - <v>946</v> + <v>988</v> </b> <b> <a>9</a> <b>11</b> - <v>969</v> + <v>919</v> </b> <b> <a>11</a> - <b>16</b> - <v>1044</v> + <b>15</b> + <v>992</v> </b> <b> - <a>16</a> - <b>23</b> - <v>907</v> + <a>15</a> + <b>22</b> + <v>1018</v> </b> <b> - <a>23</a> - <b>36</b> - <v>906</v> + <a>22</a> + <b>34</b> + <v>975</v> </b> <b> - <a>36</a> - <b>65</b> - <v>885</v> + <a>34</a> + <b>61</b> + <v>935</v> </b> <b> - <a>65</a> - <b>158</b> - <v>879</v> + <a>61</a> + <b>143</b> + <v>922</v> </b> <b> - <a>158</a> - <b>1002</b> - <v>877</v> + <a>143</a> + <b>975</b> + <v>923</v> </b> <b> - <a>1002</a> - <b>9027</b> - <v>417</v> + <a>977</a> + <b>11284</b> + <v>570</v> </b> </bs> </hist> @@ -6911,67 +6719,67 @@ <b> <a>1</a> <b>11</b> - <v>997</v> + <v>1028</v> </b> <b> <a>11</a> <b>17</b> - <v>858</v> + <v>920</v> </b> <b> <a>17</a> <b>21</b> - <v>876</v> + <v>913</v> </b> <b> <a>21</a> <b>26</b> - <v>967</v> + <v>1027</v> </b> <b> <a>26</a> <b>32</b> - <v>939</v> + <v>987</v> </b> <b> <a>32</a> <b>39</b> - <v>976</v> + <v>994</v> </b> <b> <a>39</a> <b>47</b> - <v>938</v> + <v>1014</v> </b> <b> <a>47</a> - <b>56</b> - <v>928</v> + <b>57</b> + <v>1003</v> </b> <b> - <a>56</a> + <a>57</a> <b>66</b> - <v>908</v> + <v>957</v> </b> <b> <a>66</a> <b>77</b> - <v>925</v> + <v>1001</v> </b> <b> <a>77</a> <b>87</b> - <v>897</v> + <v>934</v> </b> <b> <a>87</a> - <b>98</b> - <v>929</v> + <b>99</b> + <v>1024</v> </b> <b> - <a>98</a> + <a>99</a> <b>512</b> - <v>544</v> + <v>481</v> </b> </bs> </hist> @@ -6987,72 +6795,72 @@ <b> <a>1</a> <b>3</b> - <v>510</v> + <v>434</v> </b> <b> <a>3</a> <b>4</b> - <v>1068</v> + <v>774</v> </b> <b> <a>4</a> <b>5</b> - <v>962</v> + <v>1147</v> </b> <b> <a>5</a> <b>6</b> - <v>680</v> + <v>995</v> </b> <b> <a>6</a> <b>7</b> - <v>632</v> + <v>690</v> </b> <b> <a>7</a> <b>9</b> - <v>946</v> + <v>989</v> </b> <b> <a>9</a> <b>11</b> - <v>969</v> + <v>919</v> </b> <b> <a>11</a> - <b>16</b> - <v>1044</v> + <b>15</b> + <v>992</v> </b> <b> - <a>16</a> - <b>23</b> - <v>907</v> + <a>15</a> + <b>22</b> + <v>1018</v> </b> <b> - <a>23</a> - <b>36</b> - <v>906</v> + <a>22</a> + <b>34</b> + <v>975</v> </b> <b> - <a>36</a> - <b>65</b> - <v>885</v> + <a>34</a> + <b>61</b> + <v>935</v> </b> <b> - <a>65</a> - <b>158</b> - <v>879</v> + <a>61</a> + <b>143</b> + <v>922</v> </b> <b> - <a>158</a> - <b>1002</b> - <v>877</v> + <a>143</a> + <b>975</b> + <v>923</v> </b> <b> - <a>1002</a> - <b>9027</b> - <v>417</v> + <a>977</a> + <b>11284</b> + <v>570</v> </b> </bs> </hist> @@ -7068,67 +6876,67 @@ <b> <a>1</a> <b>14</b> - <v>962</v> + <v>1008</v> </b> <b> <a>14</a> - <b>20</b> - <v>888</v> + <b>21</b> + <v>1081</v> </b> <b> - <a>20</a> - <b>24</b> - <v>908</v> + <a>21</a> + <b>25</b> + <v>958</v> </b> <b> - <a>24</a> - <b>29</b> - <v>942</v> + <a>25</a> + <b>30</b> + <v>950</v> </b> <b> - <a>29</a> - <b>36</b> - <v>942</v> + <a>30</a> + <b>37</b> + <v>999</v> </b> <b> - <a>36</a> - <b>43</b> - <v>953</v> + <a>37</a> + <b>44</b> + <v>1031</v> </b> <b> - <a>43</a> - <b>51</b> - <v>914</v> + <a>44</a> + <b>52</b> + <v>923</v> </b> <b> - <a>51</a> - <b>61</b> - <v>930</v> + <a>52</a> + <b>62</b> + <v>946</v> </b> <b> - <a>61</a> - <b>72</b> - <v>954</v> + <a>62</a> + <b>73</b> + <v>1042</v> </b> <b> - <a>72</a> - <b>82</b> - <v>911</v> + <a>73</a> + <b>83</b> + <v>1006</v> </b> <b> - <a>82</a> - <b>92</b> - <v>914</v> + <a>83</a> + <b>93</b> + <v>934</v> </b> <b> - <a>92</a> - <b>102</b> - <v>933</v> + <a>93</a> + <b>104</b> + <v>945</v> </b> <b> - <a>102</a> + <a>104</a> <b>523</b> - <v>531</v> + <v>460</v> </b> </bs> </hist> @@ -7144,62 +6952,67 @@ <b> <a>1</a> <b>2</b> - <v>1328</v> + <v>1130</v> </b> <b> - <a>2</a> - <b>10</b> - <v>621</v> + <a>4</a> + <b>5</b> + <v>1128</v> </b> <b> - <a>10</a> + <a>5</a> <b>11</b> - <v>1424</v> + <v>801</v> </b> <b> <a>11</a> - <b>20</b> - <v>819</v> + <b>16</b> + <v>994</v> </b> <b> - <a>20</a> - <b>38</b> - <v>679</v> + <a>16</a> + <b>22</b> + <v>854</v> </b> <b> - <a>38</a> + <a>22</a> + <b>30</b> + <v>890</v> + </b> + <b> + <a>30</a> + <b>41</b> + <v>877</v> + </b> + <b> + <a>41</a> + <b>56</b> + <v>860</v> + </b> + <b> + <a>56</a> <b>92</b> - <v>685</v> + <v>854</v> </b> <b> <a>92</a> - <b>170</b> - <v>680</v> + <b>1472</b> + <v>847</v> </b> <b> - <a>170</a> - <b>595</b> - <v>678</v> + <a>1499</a> + <b>2520</b> + <v>847</v> </b> <b> - <a>596</a> - <b>1692</b> - <v>679</v> + <a>2527</a> + <b>5340</b> + <v>847</v> </b> <b> - <a>1692</a> - <b>3137</b> - <v>679</v> - </b> - <b> - <a>3137</a> - <b>12009</b> - <v>678</v> - </b> - <b> - <a>12114</a> - <b>51821</b> - <v>86</v> + <a>5348</a> + <b>46386</b> + <v>364</v> </b> </bs> </hist> @@ -7215,52 +7028,62 @@ <b> <a>1</a> <b>2</b> - <v>2644</v> + <v>2258</v> </b> <b> <a>2</a> <b>3</b> - <v>1456</v> + <v>654</v> </b> <b> <a>3</a> + <b>4</b> + <v>1191</v> + </b> + <b> + <a>4</a> + <b>5</b> + <v>1015</v> + </b> + <b> + <a>5</a> + <b>6</b> + <v>658</v> + </b> + <b> + <a>6</a> + <b>7</b> + <v>532</v> + </b> + <b> + <a>7</a> + <b>8</b> + <v>712</v> + </b> + <b> + <a>8</a> <b>10</b> - <v>685</v> + <v>1014</v> </b> <b> <a>10</a> - <b>11</b> - <v>354</v> + <b>109</b> + <v>852</v> </b> <b> - <a>11</a> - <b>12</b> - <v>565</v> + <a>109</a> + <b>400</b> + <v>847</v> </b> <b> - <a>12</a> - <b>18</b> - <v>691</v> + <a>400</a> + <b>626</b> + <v>849</v> </b> <b> - <a>18</a> - <b>206</b> - <v>680</v> - </b> - <b> - <a>206</a> - <b>332</b> - <v>684</v> - </b> - <b> - <a>332</a> - <b>542</b> - <v>679</v> - </b> - <b> - <a>542</a> - <b>11511</b> - <v>598</v> + <a>626</a> + <b>12065</b> + <v>711</v> </b> </bs> </hist> @@ -7276,57 +7099,62 @@ <b> <a>1</a> <b>2</b> - <v>1516</v> + <v>1130</v> </b> <b> - <a>2</a> - <b>7</b> - <v>524</v> + <a>3</a> + <b>4</b> + <v>1454</v> </b> <b> - <a>7</a> + <a>4</a> <b>8</b> - <v>1697</v> + <v>977</v> </b> <b> <a>8</a> - <b>13</b> - <v>674</v> + <b>11</b> + <v>746</v> </b> <b> - <a>13</a> - <b>18</b> - <v>834</v> + <a>11</a> + <b>15</b> + <v>1029</v> </b> <b> - <a>18</a> - <b>28</b> - <v>695</v> + <a>15</a> + <b>20</b> + <v>966</v> </b> <b> - <a>28</a> - <b>46</b> - <v>696</v> + <a>20</a> + <b>27</b> + <v>942</v> </b> <b> - <a>46</a> - <b>76</b> - <v>685</v> + <a>27</a> + <b>37</b> + <v>854</v> </b> <b> - <a>76</a> - <b>92</b> - <v>692</v> + <a>37</a> + <b>57</b> + <v>853</v> </b> <b> - <a>92</a> - <b>105</b> - <v>687</v> + <a>57</a> + <b>84</b> + <v>882</v> </b> <b> - <a>105</a> - <b>387</b> - <v>336</v> + <a>84</a> + <b>101</b> + <v>895</v> + </b> + <b> + <a>101</a> + <b>397</b> + <v>565</v> </b> </bs> </hist> @@ -7342,42 +7170,42 @@ <b> <a>1</a> <b>2</b> - <v>4164</v> + <v>4809</v> </b> <b> <a>2</a> <b>3</b> - <v>1304</v> + <v>1797</v> </b> <b> <a>3</a> <b>4</b> - <v>500</v> + <v>961</v> </b> <b> <a>4</a> <b>6</b> - <v>624</v> + <v>940</v> </b> <b> <a>6</a> - <b>9</b> - <v>648</v> + <b>10</b> + <v>986</v> </b> <b> - <a>9</a> - <b>14</b> - <v>756</v> + <a>10</a> + <b>16</b> + <v>862</v> </b> <b> - <a>14</a> - <b>26</b> - <v>678</v> + <a>16</a> + <b>45</b> + <v>848</v> </b> <b> - <a>26</a> - <b>4558</b> - <v>362</v> + <a>45</a> + <b>5676</b> + <v>90</v> </b> </bs> </hist> @@ -7393,57 +7221,67 @@ <b> <a>1</a> <b>2</b> - <v>1328</v> + <v>1130</v> </b> <b> - <a>2</a> - <b>7</b> - <v>666</v> + <a>3</a> + <b>4</b> + <v>1128</v> </b> <b> - <a>7</a> + <a>4</a> <b>8</b> - <v>1472</v> + <v>710</v> </b> <b> <a>8</a> - <b>13</b> - <v>824</v> + <b>10</b> + <v>808</v> </b> <b> - <a>13</a> - <b>18</b> - <v>712</v> + <a>10</a> + <b>14</b> + <v>1024</v> </b> <b> - <a>18</a> + <a>14</a> + <b>19</b> + <v>1007</v> + </b> + <b> + <a>19</a> <b>26</b> - <v>679</v> + <v>963</v> </b> <b> <a>26</a> - <b>42</b> - <v>690</v> + <b>34</b> + <v>848</v> </b> <b> - <a>42</a> - <b>73</b> - <v>701</v> + <a>34</a> + <b>49</b> + <v>857</v> </b> <b> - <a>73</a> - <b>91</b> - <v>697</v> + <a>49</a> + <b>77</b> + <v>860</v> </b> <b> - <a>91</a> - <b>105</b> - <v>721</v> + <a>77</a> + <b>97</b> + <v>895</v> </b> <b> - <a>105</a> - <b>391</b> - <v>546</v> + <a>97</a> + <b>118</b> + <v>857</v> + </b> + <b> + <a>118</a> + <b>400</b> + <v>206</v> </b> </bs> </hist> @@ -7459,7 +7297,7 @@ <b> <a>1</a> <b>4</b> - <v>92</v> + <v>102</v> </b> <b> <a>4</a> @@ -7469,658 +7307,13 @@ <b> <a>5</a> <b>8</b> + <v>65</v> + </b> + <b> + <a>8</a> + <b>9</b> <v>122</v> </b> - <b> - <a>8</a> - <b>9</b> - <v>123</v> - </b> - <b> - <a>9</a> - <b>11</b> - <v>117</v> - </b> - <b> - <a>11</a> - <b>12</b> - <v>40</v> - </b> - <b> - <a>12</a> - <b>13</b> - <v>109</v> - </b> - <b> - <a>13</a> - <b>17</b> - <v>118</v> - </b> - <b> - <a>17</a> - <b>22</b> - <v>108</v> - </b> - <b> - <a>22</a> - <b>33</b> - <v>106</v> - </b> - <b> - <a>33</a> - <b>75</b> - <v>103</v> - </b> - <b> - <a>75</a> - <b>739</b> - <v>103</v> - </b> - <b> - <a>740</a> - <b>195640</b> - <v>103</v> - </b> - <b> - <a>213807</a> - <b>865889</b> - <v>6</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>beginColumn</src> - <trg>file</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>3</b> - <v>120</v> - </b> - <b> - <a>4</a> - <b>5</b> - <v>120</v> - </b> - <b> - <a>5</a> - <b>7</b> - <v>71</v> - </b> - <b> - <a>7</a> - <b>8</b> - <v>62</v> - </b> - <b> - <a>8</a> - <b>9</b> - <v>119</v> - </b> - <b> - <a>9</a> - <b>11</b> - <v>109</v> - </b> - <b> - <a>11</a> - <b>12</b> - <v>40</v> - </b> - <b> - <a>12</a> - <b>13</b> - <v>112</v> - </b> - <b> - <a>13</a> - <b>17</b> - <v>125</v> - </b> - <b> - <a>17</a> - <b>23</b> - <v>105</v> - </b> - <b> - <a>23</a> - <b>34</b> - <v>106</v> - </b> - <b> - <a>34</a> - <b>79</b> - <v>103</v> - </b> - <b> - <a>80</a> - <b>3436</b> - <v>103</v> - </b> - <b> - <a>3468</a> - <b>11682</b> - <v>76</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>beginColumn</src> - <trg>beginLine</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>2</b> - <v>215</v> - </b> - <b> - <a>2</a> - <b>3</b> - <v>318</v> - </b> - <b> - <a>3</a> - <b>4</b> - <v>126</v> - </b> - <b> - <a>4</a> - <b>5</b> - <v>141</v> - </b> - <b> - <a>5</a> - <b>6</b> - <v>75</v> - </b> - <b> - <a>6</a> - <b>8</b> - <v>103</v> - </b> - <b> - <a>8</a> - <b>13</b> - <v>117</v> - </b> - <b> - <a>13</a> - <b>32</b> - <v>104</v> - </b> - <b> - <a>32</a> - <b>2080</b> - <v>103</v> - </b> - <b> - <a>2093</a> - <b>9035</b> - <v>69</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>beginColumn</src> - <trg>endLine</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>2</b> - <v>215</v> - </b> - <b> - <a>2</a> - <b>3</b> - <v>318</v> - </b> - <b> - <a>3</a> - <b>4</b> - <v>126</v> - </b> - <b> - <a>4</a> - <b>5</b> - <v>141</v> - </b> - <b> - <a>5</a> - <b>6</b> - <v>75</v> - </b> - <b> - <a>6</a> - <b>8</b> - <v>103</v> - </b> - <b> - <a>8</a> - <b>13</b> - <v>117</v> - </b> - <b> - <a>13</a> - <b>32</b> - <v>104</v> - </b> - <b> - <a>32</a> - <b>2112</b> - <v>103</v> - </b> - <b> - <a>2123</a> - <b>9035</b> - <v>69</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>beginColumn</src> - <trg>endColumn</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>2</b> - <v>693</v> - </b> - <b> - <a>2</a> - <b>3</b> - <v>314</v> - </b> - <b> - <a>3</a> - <b>4</b> - <v>112</v> - </b> - <b> - <a>4</a> - <b>7</b> - <v>114</v> - </b> - <b> - <a>7</a> - <b>84</b> - <v>103</v> - </b> - <b> - <a>84</a> - <b>263</b> - <v>35</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>endLine</src> - <trg>id</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>2</b> - <v>1323</v> - </b> - <b> - <a>2</a> - <b>11</b> - <v>675</v> - </b> - <b> - <a>11</a> - <b>12</b> - <v>1420</v> - </b> - <b> - <a>12</a> - <b>22</b> - <v>806</v> - </b> - <b> - <a>22</a> - <b>44</b> - <v>680</v> - </b> - <b> - <a>44</a> - <b>95</b> - <v>683</v> - </b> - <b> - <a>95</a> - <b>173</b> - <v>685</v> - </b> - <b> - <a>173</a> - <b>808</b> - <v>678</v> - </b> - <b> - <a>823</a> - <b>1711</b> - <v>678</v> - </b> - <b> - <a>1711</a> - <b>3189</b> - <v>678</v> - </b> - <b> - <a>3189</a> - <b>16909</b> - <v>678</v> - </b> - <b> - <a>17178</a> - <b>52390</b> - <v>52</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>endLine</src> - <trg>file</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>2</b> - <v>2641</v> - </b> - <b> - <a>2</a> - <b>3</b> - <v>1465</v> - </b> - <b> - <a>3</a> - <b>10</b> - <v>673</v> - </b> - <b> - <a>10</a> - <b>11</b> - <v>361</v> - </b> - <b> - <a>11</a> - <b>12</b> - <v>555</v> - </b> - <b> - <a>12</a> - <b>18</b> - <v>699</v> - </b> - <b> - <a>18</a> - <b>206</b> - <v>680</v> - </b> - <b> - <a>206</a> - <b>330</b> - <v>682</v> - </b> - <b> - <a>330</a> - <b>541</b> - <v>680</v> - </b> - <b> - <a>541</a> - <b>6341</b> - <v>600</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>endLine</src> - <trg>beginLine</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>2</b> - <v>2018</v> - </b> - <b> - <a>2</a> - <b>3</b> - <v>2354</v> - </b> - <b> - <a>3</a> - <b>4</b> - <v>1144</v> - </b> - <b> - <a>4</a> - <b>5</b> - <v>627</v> - </b> - <b> - <a>5</a> - <b>8</b> - <v>797</v> - </b> - <b> - <a>8</a> - <b>12</b> - <v>693</v> - </b> - <b> - <a>12</a> - <b>20</b> - <v>679</v> - </b> - <b> - <a>20</a> - <b>50</b> - <v>682</v> - </b> - <b> - <a>50</a> - <b>64</b> - <v>42</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>endLine</src> - <trg>beginColumn</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>2</b> - <v>1468</v> - </b> - <b> - <a>2</a> - <b>7</b> - <v>555</v> - </b> - <b> - <a>7</a> - <b>8</b> - <v>1644</v> - </b> - <b> - <a>8</a> - <b>13</b> - <v>721</v> - </b> - <b> - <a>13</a> - <b>18</b> - <v>825</v> - </b> - <b> - <a>18</a> - <b>28</b> - <v>709</v> - </b> - <b> - <a>28</a> - <b>45</b> - <v>682</v> - </b> - <b> - <a>45</a> - <b>76</b> - <v>699</v> - </b> - <b> - <a>76</a> - <b>92</b> - <v>694</v> - </b> - <b> - <a>92</a> - <b>105</b> - <v>695</v> - </b> - <b> - <a>105</a> - <b>388</b> - <v>344</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>endLine</src> - <trg>endColumn</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>2</b> - <v>1323</v> - </b> - <b> - <a>2</a> - <b>7</b> - <v>691</v> - </b> - <b> - <a>7</a> - <b>8</b> - <v>1491</v> - </b> - <b> - <a>8</a> - <b>12</b> - <v>718</v> - </b> - <b> - <a>12</a> - <b>17</b> - <v>669</v> - </b> - <b> - <a>17</a> - <b>24</b> - <v>732</v> - </b> - <b> - <a>24</a> - <b>40</b> - <v>707</v> - </b> - <b> - <a>40</a> - <b>70</b> - <v>691</v> - </b> - <b> - <a>70</a> - <b>90</b> - <v>732</v> - </b> - <b> - <a>90</a> - <b>104</b> - <v>704</v> - </b> - <b> - <a>104</a> - <b>391</b> - <v>578</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>endColumn</src> - <trg>id</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>4</b> - <v>87</v> - </b> - <b> - <a>4</a> - <b>5</b> - <v>120</v> - </b> - <b> - <a>5</a> - <b>8</b> - <v>120</v> - </b> - <b> - <a>8</a> - <b>9</b> - <v>123</v> - </b> <b> <a>9</a> <b>11</b> @@ -8129,47 +7322,737 @@ <b> <a>11</a> <b>12</b> - <v>41</v> + <v>73</v> </b> <b> <a>12</a> <b>13</b> - <v>108</v> + <v>114</v> </b> <b> <a>13</a> - <b>17</b> - <v>121</v> + <b>18</b> + <v>106</v> </b> <b> - <a>17</a> - <b>22</b> + <a>18</a> + <b>21</b> + <v>115</v> + </b> + <b> + <a>21</a> + <b>32</b> + <v>118</v> + </b> + <b> + <a>32</a> + <b>61</b> + <v>104</v> + </b> + <b> + <a>61</a> + <b>255</b> + <v>104</v> + </b> + <b> + <a>261</a> + <b>113805</b> + <v>104</v> + </b> + <b> + <a>114086</a> + <b>1069778</b> + <v>27</v> + </b> + </bs> + </hist> + </val> + </dep> + <dep> + <src>beginColumn</src> + <trg>file</trg> + <val> + <hist> + <budget>12</budget> + <bs> + <b> + <a>1</a> + <b>3</b> + <v>118</v> + </b> + <b> + <a>3</a> + <b>4</b> + <v>13</v> + </b> + <b> + <a>4</a> + <b>5</b> + <v>119</v> + </b> + <b> + <a>5</a> + <b>8</b> + <v>75</v> + </b> + <b> + <a>8</a> + <b>9</b> + <v>119</v> + </b> + <b> + <a>9</a> + <b>11</b> <v>105</v> </b> + <b> + <a>11</a> + <b>12</b> + <v>73</v> + </b> + <b> + <a>12</a> + <b>13</b> + <v>111</v> + </b> + <b> + <a>13</a> + <b>19</b> + <v>122</v> + </b> + <b> + <a>19</a> + <b>22</b> + <v>111</v> + </b> <b> <a>22</a> <b>33</b> - <v>107</v> + <v>108</v> </b> <b> <a>33</a> - <b>73</b> + <b>66</b> + <v>107</v> + </b> + <b> + <a>68</a> + <b>683</b> <v>104</v> </b> <b> - <a>73</a> - <b>547</b> + <a>732</a> + <b>12283</b> + <v>100</v> + </b> + </bs> + </hist> + </val> + </dep> + <dep> + <src>beginColumn</src> + <trg>beginLine</trg> + <val> + <hist> + <budget>12</budget> + <bs> + <b> + <a>1</a> + <b>2</b> + <v>223</v> + </b> + <b> + <a>2</a> + <b>3</b> + <v>307</v> + </b> + <b> + <a>3</a> + <b>4</b> + <v>135</v> + </b> + <b> + <a>4</a> + <b>5</b> + <v>140</v> + </b> + <b> + <a>5</a> + <b>6</b> + <v>78</v> + </b> + <b> + <a>6</a> + <b>8</b> + <v>101</v> + </b> + <b> + <a>8</a> + <b>13</b> + <v>120</v> + </b> + <b> + <a>13</a> + <b>32</b> <v>104</v> </b> <b> - <a>571</a> - <b>148376</b> + <a>32</a> + <b>2144</b> <v>104</v> </b> <b> - <a>149850</a> - <b>309769</b> - <v>22</v> + <a>2186</a> + <b>11292</b> + <v>73</v> + </b> + </bs> + </hist> + </val> + </dep> + <dep> + <src>beginColumn</src> + <trg>endLine</trg> + <val> + <hist> + <budget>12</budget> + <bs> + <b> + <a>1</a> + <b>2</b> + <v>223</v> + </b> + <b> + <a>2</a> + <b>3</b> + <v>307</v> + </b> + <b> + <a>3</a> + <b>4</b> + <v>135</v> + </b> + <b> + <a>4</a> + <b>5</b> + <v>140</v> + </b> + <b> + <a>5</a> + <b>6</b> + <v>78</v> + </b> + <b> + <a>6</a> + <b>8</b> + <v>100</v> + </b> + <b> + <a>8</a> + <b>13</b> + <v>121</v> + </b> + <b> + <a>13</a> + <b>32</b> + <v>104</v> + </b> + <b> + <a>32</a> + <b>2158</b> + <v>104</v> + </b> + <b> + <a>2226</a> + <b>11292</b> + <v>73</v> + </b> + </bs> + </hist> + </val> + </dep> + <dep> + <src>beginColumn</src> + <trg>endColumn</trg> + <val> + <hist> + <budget>12</budget> + <bs> + <b> + <a>1</a> + <b>2</b> + <v>689</v> + </b> + <b> + <a>2</a> + <b>3</b> + <v>323</v> + </b> + <b> + <a>3</a> + <b>4</b> + <v>118</v> + </b> + <b> + <a>4</a> + <b>7</b> + <v>117</v> + </b> + <b> + <a>7</a> + <b>88</b> + <v>104</v> + </b> + <b> + <a>88</a> + <b>266</b> + <v>34</v> + </b> + </bs> + </hist> + </val> + </dep> + <dep> + <src>endLine</src> + <trg>id</trg> + <val> + <hist> + <budget>12</budget> + <bs> + <b> + <a>1</a> + <b>2</b> + <v>1129</v> + </b> + <b> + <a>4</a> + <b>5</b> + <v>1</v> + </b> + <b> + <a>5</a> + <b>6</b> + <v>1128</v> + </b> + <b> + <a>6</a> + <b>12</b> + <v>762</v> + </b> + <b> + <a>12</a> + <b>17</b> + <v>961</v> + </b> + <b> + <a>17</a> + <b>23</b> + <v>922</v> + </b> + <b> + <a>23</a> + <b>31</b> + <v>919</v> + </b> + <b> + <a>31</a> + <b>43</b> + <v>899</v> + </b> + <b> + <a>43</a> + <b>58</b> + <v>879</v> + </b> + <b> + <a>58</a> + <b>100</b> + <v>855</v> + </b> + <b> + <a>100</a> + <b>1721</b> + <v>847</v> + </b> + <b> + <a>1722</a> + <b>2799</b> + <v>847</v> + </b> + <b> + <a>2805</a> + <b>6136</b> + <v>847</v> + </b> + <b> + <a>6136</a> + <b>46393</b> + <v>297</v> + </b> + </bs> + </hist> + </val> + </dep> + <dep> + <src>endLine</src> + <trg>file</trg> + <val> + <hist> + <budget>12</budget> + <bs> + <b> + <a>1</a> + <b>2</b> + <v>2258</v> + </b> + <b> + <a>2</a> + <b>3</b> + <v>654</v> + </b> + <b> + <a>3</a> + <b>4</b> + <v>1191</v> + </b> + <b> + <a>4</a> + <b>5</b> + <v>1017</v> + </b> + <b> + <a>5</a> + <b>6</b> + <v>652</v> + </b> + <b> + <a>6</a> + <b>7</b> + <v>522</v> + </b> + <b> + <a>7</a> + <b>8</b> + <v>735</v> + </b> + <b> + <a>8</a> + <b>10</b> + <v>1005</v> + </b> + <b> + <a>10</a> + <b>109</b> + <v>850</v> + </b> + <b> + <a>109</a> + <b>400</b> + <v>850</v> + </b> + <b> + <a>400</a> + <b>626</b> + <v>849</v> + </b> + <b> + <a>626</a> + <b>6687</b> + <v>710</v> + </b> + </bs> + </hist> + </val> + </dep> + <dep> + <src>endLine</src> + <trg>beginLine</trg> + <val> + <hist> + <budget>12</budget> + <bs> + <b> + <a>1</a> + <b>2</b> + <v>1130</v> + </b> + <b> + <a>2</a> + <b>3</b> + <v>3437</v> + </b> + <b> + <a>3</a> + <b>4</b> + <v>1709</v> + </b> + <b> + <a>4</a> + <b>5</b> + <v>1095</v> + </b> + <b> + <a>5</a> + <b>6</b> + <v>700</v> + </b> + <b> + <a>6</a> + <b>9</b> + <v>918</v> + </b> + <b> + <a>9</a> + <b>14</b> + <v>918</v> + </b> + <b> + <a>14</a> + <b>25</b> + <v>868</v> + </b> + <b> + <a>25</a> + <b>60</b> + <v>518</v> + </b> + </bs> + </hist> + </val> + </dep> + <dep> + <src>endLine</src> + <trg>beginColumn</trg> + <val> + <hist> + <budget>12</budget> + <bs> + <b> + <a>1</a> + <b>2</b> + <v>1129</v> + </b> + <b> + <a>2</a> + <b>3</b> + <v>1</v> + </b> + <b> + <a>3</a> + <b>4</b> + <v>1454</v> + </b> + <b> + <a>4</a> + <b>8</b> + <v>926</v> + </b> + <b> + <a>8</a> + <b>11</b> + <v>708</v> + </b> + <b> + <a>11</a> + <b>15</b> + <v>1045</v> + </b> + <b> + <a>15</a> + <b>20</b> + <v>968</v> + </b> + <b> + <a>20</a> + <b>27</b> + <v>954</v> + </b> + <b> + <a>27</a> + <b>37</b> + <v>880</v> + </b> + <b> + <a>37</a> + <b>57</b> + <v>867</v> + </b> + <b> + <a>57</a> + <b>84</b> + <v>872</v> + </b> + <b> + <a>84</a> + <b>100</b> + <v>847</v> + </b> + <b> + <a>100</a> + <b>397</b> + <v>642</v> + </b> + </bs> + </hist> + </val> + </dep> + <dep> + <src>endLine</src> + <trg>endColumn</trg> + <val> + <hist> + <budget>12</budget> + <bs> + <b> + <a>1</a> + <b>2</b> + <v>1129</v> + </b> + <b> + <a>2</a> + <b>3</b> + <v>1</v> + </b> + <b> + <a>3</a> + <b>4</b> + <v>1128</v> + </b> + <b> + <a>4</a> + <b>8</b> + <v>718</v> + </b> + <b> + <a>8</a> + <b>10</b> + <v>801</v> + </b> + <b> + <a>10</a> + <b>13</b> + <v>814</v> + </b> + <b> + <a>13</a> + <b>17</b> + <v>919</v> + </b> + <b> + <a>17</a> + <b>23</b> + <v>965</v> + </b> + <b> + <a>23</a> + <b>31</b> + <v>959</v> + </b> + <b> + <a>31</a> + <b>44</b> + <v>879</v> + </b> + <b> + <a>44</a> + <b>70</b> + <v>851</v> + </b> + <b> + <a>70</a> + <b>93</b> + <v>878</v> + </b> + <b> + <a>93</a> + <b>109</b> + <v>849</v> + </b> + <b> + <a>109</a> + <b>400</b> + <v>402</v> + </b> + </bs> + </hist> + </val> + </dep> + <dep> + <src>endColumn</src> + <trg>id</trg> + <val> + <hist> + <budget>12</budget> + <bs> + <b> + <a>1</a> + <b>4</b> + <v>95</v> + </b> + <b> + <a>4</a> + <b>5</b> + <v>120</v> + </b> + <b> + <a>5</a> + <b>8</b> + <v>64</v> + </b> + <b> + <a>8</a> + <b>9</b> + <v>120</v> + </b> + <b> + <a>9</a> + <b>11</b> + <v>105</v> + </b> + <b> + <a>11</a> + <b>12</b> + <v>76</v> + </b> + <b> + <a>12</a> + <b>13</b> + <v>113</v> + </b> + <b> + <a>13</a> + <b>18</b> + <v>109</v> + </b> + <b> + <a>18</a> + <b>21</b> + <v>111</v> + </b> + <b> + <a>21</a> + <b>31</b> + <v>106</v> + </b> + <b> + <a>31</a> + <b>55</b> + <v>106</v> + </b> + <b> + <a>55</a> + <b>191</b> + <v>105</v> + </b> + <b> + <a>192</a> + <b>56899</b> + <v>105</v> + </b> + <b> + <a>58047</a> + <b>407640</b> + <v>54</v> </b> </bs> </hist> @@ -8185,72 +8068,72 @@ <b> <a>1</a> <b>3</b> - <v>113</v> + <v>110</v> </b> <b> <a>3</a> + <b>4</b> + <v>15</v> + </b> + <b> + <a>4</a> <b>5</b> - <v>122</v> + <v>119</v> </b> <b> <a>5</a> - <b>7</b> - <v>70</v> - </b> - <b> - <a>7</a> <b>8</b> - <v>63</v> + <v>74</v> </b> <b> <a>8</a> <b>9</b> - <v>117</v> + <v>116</v> </b> <b> <a>9</a> <b>11</b> - <v>108</v> + <v>104</v> </b> <b> <a>11</a> <b>12</b> - <v>38</v> + <v>73</v> </b> <b> <a>12</a> <b>13</b> - <v>112</v> + <v>114</v> </b> <b> <a>13</a> - <b>17</b> - <v>124</v> + <b>19</b> + <v>126</v> </b> <b> - <a>17</a> + <a>19</a> <b>23</b> - <v>105</v> + <v>115</v> </b> <b> <a>23</a> - <b>33</b> - <v>106</v> + <b>34</b> + <v>114</v> </b> <b> - <a>33</a> - <b>71</b> - <v>104</v> + <a>34</a> + <b>72</b> + <v>105</v> </b> <b> - <a>71</a> - <b>2586</b> - <v>104</v> + <a>72</a> + <b>1551</b> + <v>105</v> </b> <b> - <a>2841</a> - <b>10750</b> - <v>90</v> + <a>1727</a> + <b>11266</b> + <v>99</v> </b> </bs> </hist> @@ -8266,52 +8149,52 @@ <b> <a>1</a> <b>2</b> - <v>213</v> + <v>219</v> </b> <b> <a>2</a> <b>3</b> - <v>316</v> + <v>306</v> </b> <b> <a>3</a> <b>4</b> - <v>126</v> + <v>134</v> </b> <b> <a>4</a> <b>5</b> - <v>141</v> + <v>142</v> </b> <b> <a>5</a> <b>6</b> - <v>71</v> + <v>74</v> </b> <b> <a>6</a> <b>8</b> - <v>102</v> + <v>103</v> </b> <b> <a>8</a> - <b>12</b> - <v>106</v> + <b>13</b> + <v>120</v> </b> <b> - <a>12</a> - <b>28</b> - <v>106</v> + <a>13</a> + <b>33</b> + <v>108</v> </b> <b> - <a>28</a> - <b>1632</b> - <v>104</v> + <a>33</a> + <b>2296</b> + <v>105</v> </b> <b> - <a>1663</a> - <b>6417</b> - <v>91</v> + <a>2325</a> + <b>10163</b> + <v>78</v> </b> </bs> </hist> @@ -8327,31 +8210,31 @@ <b> <a>1</a> <b>2</b> - <v>683</v> + <v>676</v> </b> <b> <a>2</a> <b>3</b> - <v>268</v> + <v>276</v> </b> <b> <a>3</a> <b>4</b> - <v>116</v> + <v>124</v> </b> <b> <a>4</a> <b>7</b> - <v>109</v> + <v>112</v> </b> <b> <a>7</a> - <b>34</b> - <v>104</v> + <b>36</b> + <v>105</v> </b> <b> - <a>34</a> - <b>102</b> + <a>36</a> + <b>105</b> <v>96</v> </b> </bs> @@ -8368,52 +8251,52 @@ <b> <a>1</a> <b>2</b> - <v>213</v> + <v>219</v> </b> <b> <a>2</a> <b>3</b> - <v>316</v> + <v>306</v> </b> <b> <a>3</a> <b>4</b> - <v>126</v> + <v>134</v> </b> <b> <a>4</a> <b>5</b> - <v>141</v> + <v>142</v> </b> <b> <a>5</a> <b>6</b> - <v>71</v> + <v>74</v> </b> <b> <a>6</a> <b>8</b> - <v>102</v> + <v>103</v> </b> <b> <a>8</a> - <b>12</b> + <b>13</b> + <v>121</v> + </b> + <b> + <a>13</a> + <b>33</b> <v>107</v> </b> <b> - <a>12</a> - <b>28</b> - <v>107</v> + <a>33</a> + <b>2249</b> + <v>105</v> </b> <b> - <a>28</a> - <b>1640</b> - <v>104</v> - </b> - <b> - <a>1670</a> - <b>6384</b> - <v>89</v> + <a>2292</a> + <b>10163</b> + <v>78</v> </b> </bs> </hist> @@ -8423,23 +8306,23 @@ </relation> <relation> <name>ql_add_expr_def</name> - <cardinality>14857</cardinality> + <cardinality>13786</cardinality> <columnsizes> <e> <k>id</k> - <v>14857</v> + <v>13786</v> </e> <e> <k>left</k> - <v>14857</v> + <v>13786</v> </e> <e> <k>right</k> - <v>14857</v> + <v>13786</v> </e> <e> <k>child</k> - <v>14857</v> + <v>13786</v> </e> </columnsizes> <dependencies> @@ -8453,7 +8336,7 @@ <b> <a>1</a> <b>2</b> - <v>14857</v> + <v>13786</v> </b> </bs> </hist> @@ -8469,7 +8352,7 @@ <b> <a>1</a> <b>2</b> - <v>14857</v> + <v>13786</v> </b> </bs> </hist> @@ -8485,7 +8368,7 @@ <b> <a>1</a> <b>2</b> - <v>14857</v> + <v>13786</v> </b> </bs> </hist> @@ -8501,7 +8384,7 @@ <b> <a>1</a> <b>2</b> - <v>14857</v> + <v>13786</v> </b> </bs> </hist> @@ -8517,7 +8400,7 @@ <b> <a>1</a> <b>2</b> - <v>14857</v> + <v>13786</v> </b> </bs> </hist> @@ -8533,7 +8416,7 @@ <b> <a>1</a> <b>2</b> - <v>14857</v> + <v>13786</v> </b> </bs> </hist> @@ -8549,7 +8432,7 @@ <b> <a>1</a> <b>2</b> - <v>14857</v> + <v>13786</v> </b> </bs> </hist> @@ -8565,7 +8448,7 @@ <b> <a>1</a> <b>2</b> - <v>14857</v> + <v>13786</v> </b> </bs> </hist> @@ -8581,7 +8464,7 @@ <b> <a>1</a> <b>2</b> - <v>14857</v> + <v>13786</v> </b> </bs> </hist> @@ -8597,7 +8480,7 @@ <b> <a>1</a> <b>2</b> - <v>14857</v> + <v>13786</v> </b> </bs> </hist> @@ -8613,7 +8496,7 @@ <b> <a>1</a> <b>2</b> - <v>14857</v> + <v>13786</v> </b> </bs> </hist> @@ -8629,7 +8512,7 @@ <b> <a>1</a> <b>2</b> - <v>14857</v> + <v>13786</v> </b> </bs> </hist> @@ -8639,11 +8522,11 @@ </relation> <relation> <name>ql_aggregate_child</name> - <cardinality>17934</cardinality> + <cardinality>16852</cardinality> <columnsizes> <e> <k>ql_aggregate</k> - <v>9694</v> + <v>9053</v> </e> <e> <k>index</k> @@ -8651,7 +8534,7 @@ </e> <e> <k>child</k> - <v>17934</v> + <v>16852</v> </e> </columnsizes> <dependencies> @@ -8665,17 +8548,17 @@ <b> <a>1</a> <b>2</b> - <v>1687</v> + <v>1481</v> </b> <b> <a>2</a> <b>3</b> - <v>7774</v> + <v>7345</v> </b> <b> <a>3</a> <b>4</b> - <v>233</v> + <v>227</v> </b> </bs> </hist> @@ -8691,17 +8574,17 @@ <b> <a>1</a> <b>2</b> - <v>1687</v> + <v>1481</v> </b> <b> <a>2</a> <b>3</b> - <v>7774</v> + <v>7345</v> </b> <b> <a>3</a> <b>4</b> - <v>233</v> + <v>227</v> </b> </bs> </hist> @@ -8715,18 +8598,18 @@ <budget>12</budget> <bs> <b> - <a>233</a> - <b>234</b> + <a>227</a> + <b>228</b> <v>1</v> </b> <b> - <a>8007</a> - <b>8008</b> + <a>7572</a> + <b>7573</b> <v>1</v> </b> <b> - <a>9694</a> - <b>9695</b> + <a>9053</a> + <b>9054</b> <v>1</v> </b> </bs> @@ -8741,18 +8624,18 @@ <budget>12</budget> <bs> <b> - <a>233</a> - <b>234</b> + <a>227</a> + <b>228</b> <v>1</v> </b> <b> - <a>8007</a> - <b>8008</b> + <a>7572</a> + <b>7573</b> <v>1</v> </b> <b> - <a>9694</a> - <b>9695</b> + <a>9053</a> + <b>9054</b> <v>1</v> </b> </bs> @@ -8769,7 +8652,7 @@ <b> <a>1</a> <b>2</b> - <v>17934</v> + <v>16852</v> </b> </bs> </hist> @@ -8785,7 +8668,7 @@ <b> <a>1</a> <b>2</b> - <v>17934</v> + <v>16852</v> </b> </bs> </hist> @@ -8795,26 +8678,26 @@ </relation> <relation> <name>ql_aggregate_def</name> - <cardinality>9694</cardinality> + <cardinality>9053</cardinality> <columnsizes> <e> <k>id</k> - <v>9694</v> + <v>9053</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ql_annot_arg_def</name> - <cardinality>6094</cardinality> + <cardinality>4043</cardinality> <columnsizes> <e> <k>id</k> - <v>6094</v> + <v>4043</v> </e> <e> <k>child</k> - <v>6094</v> + <v>4043</v> </e> </columnsizes> <dependencies> @@ -8828,7 +8711,7 @@ <b> <a>1</a> <b>2</b> - <v>6094</v> + <v>4043</v> </b> </bs> </hist> @@ -8844,7 +8727,7 @@ <b> <a>1</a> <b>2</b> - <v>6094</v> + <v>4043</v> </b> </bs> </hist> @@ -8854,11 +8737,11 @@ </relation> <relation> <name>ql_annotation_args</name> - <cardinality>6862</cardinality> + <cardinality>4365</cardinality> <columnsizes> <e> <k>ql_annotation</k> - <v>5326</v> + <v>3721</v> </e> <e> <k>index</k> @@ -8866,7 +8749,7 @@ </e> <e> <k>args</k> - <v>6862</v> + <v>4365</v> </e> </columnsizes> <dependencies> @@ -8880,17 +8763,12 @@ <b> <a>1</a> <b>2</b> - <v>4776</v> + <v>3448</v> </b> <b> <a>3</a> - <b>4</b> - <v>382</v> - </b> - <b> - <a>5</a> <b>10</b> - <v>168</v> + <v>273</v> </b> </bs> </hist> @@ -8906,17 +8784,12 @@ <b> <a>1</a> <b>2</b> - <v>4776</v> + <v>3448</v> </b> <b> <a>3</a> - <b>4</b> - <v>382</v> - </b> - <b> - <a>5</a> <b>10</b> - <v>168</v> + <v>273</v> </b> </bs> </hist> @@ -8930,28 +8803,28 @@ <budget>12</budget> <bs> <b> - <a>2</a> - <b>3</b> + <a>1</a> + <b>2</b> <v>2</v> </b> <b> - <a>48</a> - <b>49</b> + <a>15</a> + <b>16</b> <v>2</v> </b> <b> - <a>168</a> - <b>169</b> + <a>33</a> + <b>34</b> <v>2</v> </b> <b> - <a>550</a> - <b>551</b> + <a>273</a> + <b>274</b> <v>2</v> </b> <b> - <a>5326</a> - <b>5327</b> + <a>3721</a> + <b>3722</b> <v>1</v> </b> </bs> @@ -8966,28 +8839,28 @@ <budget>12</budget> <bs> <b> - <a>2</a> - <b>3</b> + <a>1</a> + <b>2</b> <v>2</v> </b> <b> - <a>48</a> - <b>49</b> + <a>15</a> + <b>16</b> <v>2</v> </b> <b> - <a>168</a> - <b>169</b> + <a>33</a> + <b>34</b> <v>2</v> </b> <b> - <a>550</a> - <b>551</b> + <a>273</a> + <b>274</b> <v>2</v> </b> <b> - <a>5326</a> - <b>5327</b> + <a>3721</a> + <b>3722</b> <v>1</v> </b> </bs> @@ -9004,7 +8877,7 @@ <b> <a>1</a> <b>2</b> - <v>6862</v> + <v>4365</v> </b> </bs> </hist> @@ -9020,7 +8893,7 @@ <b> <a>1</a> <b>2</b> - <v>6862</v> + <v>4365</v> </b> </bs> </hist> @@ -9030,15 +8903,15 @@ </relation> <relation> <name>ql_annotation_def</name> - <cardinality>72771</cardinality> + <cardinality>65278</cardinality> <columnsizes> <e> <k>id</k> - <v>72771</v> + <v>65278</v> </e> <e> <k>name</k> - <v>72771</v> + <v>65278</v> </e> </columnsizes> <dependencies> @@ -9052,7 +8925,7 @@ <b> <a>1</a> <b>2</b> - <v>72771</v> + <v>65278</v> </b> </bs> </hist> @@ -9068,7 +8941,7 @@ <b> <a>1</a> <b>2</b> - <v>72771</v> + <v>65278</v> </b> </bs> </hist> @@ -9078,15 +8951,15 @@ </relation> <relation> <name>ql_arityless_predicate_expr_def</name> - <cardinality>67354</cardinality> + <cardinality>58107</cardinality> <columnsizes> <e> <k>id</k> - <v>67354</v> + <v>58107</v> </e> <e> <k>name</k> - <v>67354</v> + <v>58107</v> </e> </columnsizes> <dependencies> @@ -9100,7 +8973,7 @@ <b> <a>1</a> <b>2</b> - <v>67354</v> + <v>58107</v> </b> </bs> </hist> @@ -9116,7 +8989,7 @@ <b> <a>1</a> <b>2</b> - <v>67354</v> + <v>58107</v> </b> </bs> </hist> @@ -9126,15 +8999,15 @@ </relation> <relation> <name>ql_arityless_predicate_expr_qualifier</name> - <cardinality>10179</cardinality> + <cardinality>10163</cardinality> <columnsizes> <e> <k>ql_arityless_predicate_expr</k> - <v>10179</v> + <v>10163</v> </e> <e> <k>qualifier</k> - <v>10179</v> + <v>10163</v> </e> </columnsizes> <dependencies> @@ -9148,7 +9021,7 @@ <b> <a>1</a> <b>2</b> - <v>10179</v> + <v>10163</v> </b> </bs> </hist> @@ -9164,7 +9037,7 @@ <b> <a>1</a> <b>2</b> - <v>10179</v> + <v>10163</v> </b> </bs> </hist> @@ -9174,11 +9047,11 @@ </relation> <relation> <name>ql_as_expr_child</name> - <cardinality>19682</cardinality> + <cardinality>20772</cardinality> <columnsizes> <e> <k>ql_as_expr</k> - <v>19448</v> + <v>20508</v> </e> <e> <k>index</k> @@ -9186,7 +9059,7 @@ </e> <e> <k>child</k> - <v>19682</v> + <v>20772</v> </e> </columnsizes> <dependencies> @@ -9200,12 +9073,12 @@ <b> <a>1</a> <b>2</b> - <v>19214</v> + <v>20244</v> </b> <b> <a>2</a> <b>3</b> - <v>234</v> + <v>264</v> </b> </bs> </hist> @@ -9221,12 +9094,12 @@ <b> <a>1</a> <b>2</b> - <v>19214</v> + <v>20244</v> </b> <b> <a>2</a> <b>3</b> - <v>234</v> + <v>264</v> </b> </bs> </hist> @@ -9240,13 +9113,13 @@ <budget>12</budget> <bs> <b> - <a>234</a> - <b>235</b> + <a>264</a> + <b>265</b> <v>1</v> </b> <b> - <a>19448</a> - <b>19449</b> + <a>20508</a> + <b>20509</b> <v>1</v> </b> </bs> @@ -9261,13 +9134,13 @@ <budget>12</budget> <bs> <b> - <a>234</a> - <b>235</b> + <a>264</a> + <b>265</b> <v>1</v> </b> <b> - <a>19448</a> - <b>19449</b> + <a>20508</a> + <b>20509</b> <v>1</v> </b> </bs> @@ -9284,7 +9157,7 @@ <b> <a>1</a> <b>2</b> - <v>19682</v> + <v>20772</v> </b> </bs> </hist> @@ -9300,7 +9173,7 @@ <b> <a>1</a> <b>2</b> - <v>19682</v> + <v>20772</v> </b> </bs> </hist> @@ -9310,22 +9183,22 @@ </relation> <relation> <name>ql_as_expr_def</name> - <cardinality>19448</cardinality> + <cardinality>20508</cardinality> <columnsizes> <e> <k>id</k> - <v>19448</v> + <v>20508</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ql_as_exprs_child</name> - <cardinality>19448</cardinality> + <cardinality>20508</cardinality> <columnsizes> <e> <k>ql_as_exprs</k> - <v>8242</v> + <v>8493</v> </e> <e> <k>index</k> @@ -9333,7 +9206,7 @@ </e> <e> <k>child</k> - <v>19448</v> + <v>20508</v> </e> </columnsizes> <dependencies> @@ -9347,32 +9220,32 @@ <b> <a>1</a> <b>2</b> - <v>3031</v> + <v>2998</v> </b> <b> <a>2</a> <b>3</b> - <v>2962</v> + <v>3100</v> </b> <b> <a>3</a> <b>4</b> - <v>672</v> + <v>714</v> </b> <b> <a>4</a> <b>5</b> - <v>702</v> + <v>739</v> </b> <b> <a>5</a> <b>7</b> - <v>678</v> + <v>714</v> </b> <b> <a>7</a> <b>36</b> - <v>197</v> + <v>228</v> </b> </bs> </hist> @@ -9388,32 +9261,32 @@ <b> <a>1</a> <b>2</b> - <v>3031</v> + <v>2998</v> </b> <b> <a>2</a> <b>3</b> - <v>2962</v> + <v>3100</v> </b> <b> <a>3</a> <b>4</b> - <v>672</v> + <v>714</v> </b> <b> <a>4</a> <b>5</b> - <v>702</v> + <v>739</v> </b> <b> <a>5</a> <b>7</b> - <v>678</v> + <v>714</v> </b> <b> <a>7</a> <b>36</b> - <v>197</v> + <v>228</v> </b> </bs> </hist> @@ -9438,47 +9311,52 @@ </b> <b> <a>3</a> - <b>4</b> - <v>4</v> - </b> - <b> - <a>4</a> <b>5</b> - <v>6</v> + <v>3</v> </b> <b> - <a>6</a> - <b>10</b> + <a>7</a> + <b>9</b> <v>2</v> </b> <b> <a>10</a> + <b>11</b> + <v>5</v> + </b> + <b> + <a>12</a> <b>13</b> - <v>3</v> + <v>2</v> </b> <b> <a>13</a> - <b>19</b> + <b>17</b> <v>3</v> </b> <b> - <a>26</a> - <b>55</b> + <a>17</a> + <b>23</b> <v>3</v> </b> <b> - <a>123</a> - <b>720</b> + <a>35</a> + <b>67</b> <v>3</v> </b> <b> - <a>875</a> - <b>2250</b> + <a>145</a> + <b>770</b> <v>3</v> </b> <b> - <a>5211</a> - <b>8243</b> + <a>942</a> + <b>2396</b> + <v>3</v> + </b> + <b> + <a>5495</a> + <b>8494</b> <v>2</v> </b> </bs> @@ -9504,47 +9382,52 @@ </b> <b> <a>3</a> - <b>4</b> - <v>4</v> - </b> - <b> - <a>4</a> <b>5</b> - <v>6</v> + <v>3</v> </b> <b> - <a>6</a> - <b>10</b> + <a>7</a> + <b>9</b> <v>2</v> </b> <b> <a>10</a> + <b>11</b> + <v>5</v> + </b> + <b> + <a>12</a> <b>13</b> - <v>3</v> + <v>2</v> </b> <b> <a>13</a> - <b>19</b> + <b>17</b> <v>3</v> </b> <b> - <a>26</a> - <b>55</b> + <a>17</a> + <b>23</b> <v>3</v> </b> <b> - <a>123</a> - <b>720</b> + <a>35</a> + <b>67</b> <v>3</v> </b> <b> - <a>875</a> - <b>2250</b> + <a>145</a> + <b>770</b> <v>3</v> </b> <b> - <a>5211</a> - <b>8243</b> + <a>942</a> + <b>2396</b> + <v>3</v> + </b> + <b> + <a>5495</a> + <b>8494</b> <v>2</v> </b> </bs> @@ -9561,7 +9444,7 @@ <b> <a>1</a> <b>2</b> - <v>19448</v> + <v>20508</v> </b> </bs> </hist> @@ -9577,7 +9460,7 @@ <b> <a>1</a> <b>2</b> - <v>19448</v> + <v>20508</v> </b> </bs> </hist> @@ -9587,35 +9470,89 @@ </relation> <relation> <name>ql_as_exprs_def</name> - <cardinality>8242</cardinality> + <cardinality>8493</cardinality> <columnsizes> <e> <k>id</k> - <v>8242</v> + <v>8493</v> </e> </columnsizes> <dependencies/> </relation> <relation> - <name>ql_ast_node_info</name> - <cardinality>6543748</cardinality> + <name>ql_ast_node_location</name> + <cardinality>6230328</cardinality> <columnsizes> <e> <k>node</k> - <v>6543748</v> + <v>6230328</v> + </e> + <e> + <k>loc</k> + <v>4563391</v> + </e> + </columnsizes> + <dependencies> + <dep> + <src>node</src> + <trg>loc</trg> + <val> + <hist> + <budget>12</budget> + <bs> + <b> + <a>1</a> + <b>2</b> + <v>6230328</v> + </b> + </bs> + </hist> + </val> + </dep> + <dep> + <src>loc</src> + <trg>node</trg> + <val> + <hist> + <budget>12</budget> + <bs> + <b> + <a>1</a> + <b>2</b> + <v>3246688</v> + </b> + <b> + <a>2</a> + <b>3</b> + <v>979956</v> + </b> + <b> + <a>3</a> + <b>6</b> + <v>336747</v> + </b> + </bs> + </hist> + </val> + </dep> + </dependencies> + </relation> + <relation> + <name>ql_ast_node_parent</name> + <cardinality>6197281</cardinality> + <columnsizes> + <e> + <k>node</k> + <v>6197281</v> </e> <e> <k>parent</k> - <v>3102776</v> + <v>2947735</v> </e> <e> <k>parent_index</k> <v>2057</v> </e> - <e> - <k>loc</k> - <v>4792814</v> - </e> </columnsizes> <dependencies> <dep> @@ -9628,7 +9565,7 @@ <b> <a>1</a> <b>2</b> - <v>6543748</v> + <v>6197281</v> </b> </bs> </hist> @@ -9644,23 +9581,7 @@ <b> <a>1</a> <b>2</b> - <v>6543748</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>node</src> - <trg>loc</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>2</b> - <v>6543748</v> + <v>6197281</v> </b> </bs> </hist> @@ -9676,27 +9597,27 @@ <b> <a>1</a> <b>2</b> - <v>1758472</v> + <v>1667033</v> </b> <b> <a>2</a> <b>3</b> - <v>308336</v> + <v>276121</v> </b> <b> <a>3</a> <b>4</b> - <v>770593</v> + <v>754976</v> </b> <b> <a>4</a> <b>11</b> - <v>240390</v> + <v>228408</v> </b> <b> <a>11</a> <b>2058</b> - <v>24985</v> + <v>21197</v> </b> </bs> </hist> @@ -9712,63 +9633,27 @@ <b> <a>1</a> <b>2</b> - <v>1758472</v> + <v>1667033</v> </b> <b> <a>2</a> <b>3</b> - <v>308336</v> + <v>276121</v> </b> <b> <a>3</a> <b>4</b> - <v>770593</v> + <v>754976</v> </b> <b> <a>4</a> <b>11</b> - <v>240390</v> + <v>228408</v> </b> <b> <a>11</a> <b>2058</b> - <v>24985</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>parent</src> - <trg>loc</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>2</b> - <v>1758472</v> - </b> - <b> - <a>2</a> - <b>3</b> - <v>308336</v> - </b> - <b> - <a>3</a> - <b>4</b> - <v>770593</v> - </b> - <b> - <a>4</a> - <b>11</b> - <v>240390</v> - </b> - <b> - <a>11</a> - <b>2058</b> - <v>24985</v> + <v>21197</v> </b> </bs> </hist> @@ -9784,12 +9669,12 @@ <b> <a>1</a> <b>2</b> - <v>805</v> + <v>739</v> </b> <b> <a>2</a> <b>3</b> - <v>251</v> + <v>317</v> </b> <b> <a>3</a> @@ -9798,23 +9683,28 @@ </b> <b> <a>4</a> - <b>9</b> - <v>188</v> + <b>8</b> + <v>126</v> </b> <b> - <a>9</a> - <b>24</b> - <v>161</v> + <a>8</a> + <b>15</b> + <v>162</v> </b> <b> - <a>24</a> - <b>119</b> + <a>15</a> + <b>47</b> + <v>158</v> + </b> + <b> + <a>48</a> + <b>11121</b> <v>155</v> </b> <b> - <a>120</a> - <b>3102777</b> - <v>109</v> + <a>16033</a> + <b>2947736</b> + <v>12</v> </b> </bs> </hist> @@ -9830,12 +9720,12 @@ <b> <a>1</a> <b>2</b> - <v>805</v> + <v>739</v> </b> <b> <a>2</a> <b>3</b> - <v>251</v> + <v>317</v> </b> <b> <a>3</a> @@ -9844,142 +9734,28 @@ </b> <b> <a>4</a> - <b>9</b> - <v>188</v> + <b>8</b> + <v>126</v> </b> <b> - <a>9</a> - <b>24</b> - <v>161</v> + <a>8</a> + <b>15</b> + <v>162</v> </b> <b> - <a>24</a> - <b>119</b> + <a>15</a> + <b>47</b> + <v>158</v> + </b> + <b> + <a>48</a> + <b>11121</b> <v>155</v> </b> <b> - <a>120</a> - <b>3102777</b> - <v>109</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>parent_index</src> - <trg>loc</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>2</b> - <v>805</v> - </b> - <b> - <a>2</a> - <b>3</b> - <v>251</v> - </b> - <b> - <a>3</a> - <b>4</b> - <v>388</v> - </b> - <b> - <a>4</a> - <b>9</b> - <v>188</v> - </b> - <b> - <a>9</a> - <b>24</b> - <v>161</v> - </b> - <b> - <a>24</a> - <b>119</b> - <v>155</v> - </b> - <b> - <a>120</a> - <b>2116191</b> - <v>109</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>loc</src> - <trg>node</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>2</b> - <v>3411160</v> - </b> - <b> - <a>2</a> - <b>3</b> - <v>1025095</v> - </b> - <b> - <a>3</a> - <b>6</b> - <v>356559</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>loc</src> - <trg>parent</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>2</b> - <v>3411160</v> - </b> - <b> - <a>2</a> - <b>3</b> - <v>1025095</v> - </b> - <b> - <a>3</a> - <b>6</b> - <v>356559</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>loc</src> - <trg>parent_index</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>2</b> - <v>4028466</v> - </b> - <b> - <a>2</a> - <b>3</b> - <v>764348</v> + <a>16033</a> + <b>2947736</b> + <v>12</v> </b> </bs> </hist> @@ -9989,15 +9765,15 @@ </relation> <relation> <name>ql_body_def</name> - <cardinality>70726</cardinality> + <cardinality>65826</cardinality> <columnsizes> <e> <k>id</k> - <v>70726</v> + <v>65826</v> </e> <e> <k>child</k> - <v>70726</v> + <v>65826</v> </e> </columnsizes> <dependencies> @@ -10011,7 +9787,7 @@ <b> <a>1</a> <b>2</b> - <v>70726</v> + <v>65826</v> </b> </bs> </hist> @@ -10027,7 +9803,7 @@ <b> <a>1</a> <b>2</b> - <v>70726</v> + <v>65826</v> </b> </bs> </hist> @@ -10037,15 +9813,15 @@ </relation> <relation> <name>ql_bool_def</name> - <cardinality>5039</cardinality> + <cardinality>4274</cardinality> <columnsizes> <e> <k>id</k> - <v>5039</v> + <v>4274</v> </e> <e> <k>child</k> - <v>5039</v> + <v>4274</v> </e> </columnsizes> <dependencies> @@ -10059,7 +9835,7 @@ <b> <a>1</a> <b>2</b> - <v>5039</v> + <v>4274</v> </b> </bs> </hist> @@ -10075,7 +9851,7 @@ <b> <a>1</a> <b>2</b> - <v>5039</v> + <v>4274</v> </b> </bs> </hist> @@ -10085,11 +9861,11 @@ </relation> <relation> <name>ql_call_body_child</name> - <cardinality>122556</cardinality> + <cardinality>99620</cardinality> <columnsizes> <e> <k>ql_call_body</k> - <v>57429</v> + <v>49469</v> </e> <e> <k>index</k> @@ -10097,7 +9873,7 @@ </e> <e> <k>child</k> - <v>122556</v> + <v>99620</v> </e> </columnsizes> <dependencies> @@ -10111,27 +9887,27 @@ <b> <a>1</a> <b>2</b> - <v>25731</v> + <v>23173</v> </b> <b> <a>2</a> <b>3</b> - <v>15265</v> + <v>13151</v> </b> <b> <a>3</a> <b>4</b> - <v>8568</v> + <v>7473</v> </b> <b> <a>4</a> - <b>5</b> - <v>3857</v> + <b>6</b> + <v>4432</v> </b> <b> - <a>5</a> + <a>6</a> <b>16</b> - <v>4008</v> + <v>1240</v> </b> </bs> </hist> @@ -10147,27 +9923,27 @@ <b> <a>1</a> <b>2</b> - <v>25731</v> + <v>23173</v> </b> <b> <a>2</a> <b>3</b> - <v>15265</v> + <v>13151</v> </b> <b> <a>3</a> <b>4</b> - <v>8568</v> + <v>7473</v> </b> <b> <a>4</a> - <b>5</b> - <v>3857</v> + <b>6</b> + <v>4432</v> </b> <b> - <a>5</a> + <a>6</a> <b>16</b> - <v>4008</v> + <v>1240</v> </b> </bs> </hist> @@ -10181,73 +9957,78 @@ <budget>12</budget> <bs> <b> - <a>16</a> - <b>17</b> - <v>2</v> - </b> - <b> - <a>18</a> - <b>19</b> + <a>2</a> + <b>3</b> <v>1</v> </b> <b> - <a>42</a> - <b>43</b> + <a>4</a> + <b>5</b> <v>1</v> </b> <b> - <a>91</a> - <b>92</b> + <a>10</a> + <b>11</b> <v>1</v> </b> <b> - <a>184</a> - <b>185</b> + <a>17</a> + <b>18</b> <v>1</v> </b> <b> - <a>450</a> - <b>451</b> + <a>46</a> + <b>47</b> <v>1</v> </b> <b> - <a>760</a> - <b>761</b> + <a>103</a> + <b>104</b> <v>1</v> </b> <b> - <a>1254</a> - <b>1255</b> + <a>237</a> + <b>238</b> <v>1</v> </b> <b> - <a>2292</a> - <b>2293</b> + <a>342</a> + <b>343</b> <v>1</v> </b> <b> - <a>4008</a> - <b>4009</b> + <a>559</a> + <b>560</b> <v>1</v> </b> <b> - <a>7865</a> - <b>7866</b> + <a>1240</a> + <b>1241</b> <v>1</v> </b> <b> - <a>16433</a> - <b>16434</b> + <a>2478</a> + <b>2479</b> <v>1</v> </b> <b> - <a>31698</a> - <b>31699</b> + <a>5672</a> + <b>5673</b> <v>1</v> </b> <b> - <a>57429</a> - <b>57430</b> + <a>13145</a> + <b>13146</b> + <v>1</v> + </b> + <b> + <a>26296</a> + <b>26297</b> + <v>1</v> + </b> + <b> + <a>49469</a> + <b>49470</b> <v>1</v> </b> </bs> @@ -10262,73 +10043,78 @@ <budget>12</budget> <bs> <b> - <a>16</a> - <b>17</b> - <v>2</v> - </b> - <b> - <a>18</a> - <b>19</b> + <a>2</a> + <b>3</b> <v>1</v> </b> <b> - <a>42</a> - <b>43</b> + <a>4</a> + <b>5</b> <v>1</v> </b> <b> - <a>91</a> - <b>92</b> + <a>10</a> + <b>11</b> <v>1</v> </b> <b> - <a>184</a> - <b>185</b> + <a>17</a> + <b>18</b> <v>1</v> </b> <b> - <a>450</a> - <b>451</b> + <a>46</a> + <b>47</b> <v>1</v> </b> <b> - <a>760</a> - <b>761</b> + <a>103</a> + <b>104</b> <v>1</v> </b> <b> - <a>1254</a> - <b>1255</b> + <a>237</a> + <b>238</b> <v>1</v> </b> <b> - <a>2292</a> - <b>2293</b> + <a>342</a> + <b>343</b> <v>1</v> </b> <b> - <a>4008</a> - <b>4009</b> + <a>559</a> + <b>560</b> <v>1</v> </b> <b> - <a>7865</a> - <b>7866</b> + <a>1240</a> + <b>1241</b> <v>1</v> </b> <b> - <a>16433</a> - <b>16434</b> + <a>2478</a> + <b>2479</b> <v>1</v> </b> <b> - <a>31698</a> - <b>31699</b> + <a>5672</a> + <b>5673</b> <v>1</v> </b> <b> - <a>57429</a> - <b>57430</b> + <a>13145</a> + <b>13146</b> + <v>1</v> + </b> + <b> + <a>26296</a> + <b>26297</b> + <v>1</v> + </b> + <b> + <a>49469</a> + <b>49470</b> <v>1</v> </b> </bs> @@ -10345,7 +10131,7 @@ <b> <a>1</a> <b>2</b> - <v>122556</v> + <v>99620</v> </b> </bs> </hist> @@ -10361,7 +10147,7 @@ <b> <a>1</a> <b>2</b> - <v>122556</v> + <v>99620</v> </b> </bs> </hist> @@ -10371,22 +10157,22 @@ </relation> <relation> <name>ql_call_body_def</name> - <cardinality>66692</cardinality> + <cardinality>57368</cardinality> <columnsizes> <e> <k>id</k> - <v>66692</v> + <v>57368</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ql_call_or_unqual_agg_expr_child</name> - <cardinality>133679</cardinality> + <cardinality>115036</cardinality> <columnsizes> <e> <k>ql_call_or_unqual_agg_expr</k> - <v>66692</v> + <v>57368</v> </e> <e> <k>index</k> @@ -10394,7 +10180,7 @@ </e> <e> <k>child</k> - <v>133679</v> + <v>115036</v> </e> </columnsizes> <dependencies> @@ -10408,12 +10194,12 @@ <b> <a>2</a> <b>3</b> - <v>66397</v> + <v>57068</v> </b> <b> <a>3</a> <b>4</b> - <v>295</v> + <v>300</v> </b> </bs> </hist> @@ -10429,12 +10215,12 @@ <b> <a>2</a> <b>3</b> - <v>66397</v> + <v>57068</v> </b> <b> <a>3</a> <b>4</b> - <v>295</v> + <v>300</v> </b> </bs> </hist> @@ -10448,13 +10234,13 @@ <budget>12</budget> <bs> <b> - <a>295</a> - <b>296</b> + <a>300</a> + <b>301</b> <v>1</v> </b> <b> - <a>66692</a> - <b>66693</b> + <a>57368</a> + <b>57369</b> <v>2</v> </b> </bs> @@ -10469,13 +10255,13 @@ <budget>12</budget> <bs> <b> - <a>295</a> - <b>296</b> + <a>300</a> + <b>301</b> <v>1</v> </b> <b> - <a>66692</a> - <b>66693</b> + <a>57368</a> + <b>57369</b> <v>2</v> </b> </bs> @@ -10492,7 +10278,7 @@ <b> <a>1</a> <b>2</b> - <v>133679</v> + <v>115036</v> </b> </bs> </hist> @@ -10508,7 +10294,7 @@ <b> <a>1</a> <b>2</b> - <v>133679</v> + <v>115036</v> </b> </bs> </hist> @@ -10518,30 +10304,30 @@ </relation> <relation> <name>ql_call_or_unqual_agg_expr_def</name> - <cardinality>66692</cardinality> + <cardinality>57368</cardinality> <columnsizes> <e> <k>id</k> - <v>66692</v> + <v>57368</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ql_charpred_def</name> - <cardinality>12588</cardinality> + <cardinality>12088</cardinality> <columnsizes> <e> <k>id</k> - <v>12588</v> + <v>12088</v> </e> <e> <k>body</k> - <v>12588</v> + <v>12088</v> </e> <e> <k>child</k> - <v>12588</v> + <v>12088</v> </e> </columnsizes> <dependencies> @@ -10555,7 +10341,7 @@ <b> <a>1</a> <b>2</b> - <v>12588</v> + <v>12088</v> </b> </bs> </hist> @@ -10571,7 +10357,7 @@ <b> <a>1</a> <b>2</b> - <v>12588</v> + <v>12088</v> </b> </bs> </hist> @@ -10587,7 +10373,7 @@ <b> <a>1</a> <b>2</b> - <v>12588</v> + <v>12088</v> </b> </bs> </hist> @@ -10603,7 +10389,7 @@ <b> <a>1</a> <b>2</b> - <v>12588</v> + <v>12088</v> </b> </bs> </hist> @@ -10619,7 +10405,7 @@ <b> <a>1</a> <b>2</b> - <v>12588</v> + <v>12088</v> </b> </bs> </hist> @@ -10635,7 +10421,7 @@ <b> <a>1</a> <b>2</b> - <v>12588</v> + <v>12088</v> </b> </bs> </hist> @@ -10645,19 +10431,19 @@ </relation> <relation> <name>ql_class_member_child</name> - <cardinality>121852</cardinality> + <cardinality>112375</cardinality> <columnsizes> <e> <k>ql_class_member</k> - <v>84646</v> + <v>79133</v> </e> <e> <k>index</k> - <v>4</v> + <v>5</v> </e> <e> <k>child</k> - <v>121852</v> + <v>112375</v> </e> </columnsizes> <dependencies> @@ -10671,17 +10457,17 @@ <b> <a>1</a> <b>2</b> - <v>51616</v> + <v>49462</v> </b> <b> <a>2</a> <b>3</b> - <v>28924</v> + <v>26160</v> </b> <b> <a>3</a> - <b>5</b> - <v>4106</v> + <b>6</b> + <v>3511</v> </b> </bs> </hist> @@ -10697,17 +10483,17 @@ <b> <a>1</a> <b>2</b> - <v>51616</v> + <v>49462</v> </b> <b> <a>2</a> <b>3</b> - <v>28924</v> + <v>26160</v> </b> <b> <a>3</a> - <b>5</b> - <v>4106</v> + <b>6</b> + <v>3511</v> </b> </bs> </hist> @@ -10721,23 +10507,28 @@ <budget>12</budget> <bs> <b> - <a>70</a> - <b>71</b> + <a>8</a> + <b>9</b> <v>1</v> </b> <b> - <a>4106</a> - <b>4107</b> + <a>52</a> + <b>53</b> <v>1</v> </b> <b> - <a>33030</a> - <b>33031</b> + <a>3511</a> + <b>3512</b> <v>1</v> </b> <b> - <a>84646</a> - <b>84647</b> + <a>29671</a> + <b>29672</b> + <v>1</v> + </b> + <b> + <a>79133</a> + <b>79134</b> <v>1</v> </b> </bs> @@ -10752,23 +10543,28 @@ <budget>12</budget> <bs> <b> - <a>70</a> - <b>71</b> + <a>8</a> + <b>9</b> <v>1</v> </b> <b> - <a>4106</a> - <b>4107</b> + <a>52</a> + <b>53</b> <v>1</v> </b> <b> - <a>33030</a> - <b>33031</b> + <a>3511</a> + <b>3512</b> <v>1</v> </b> <b> - <a>84646</a> - <b>84647</b> + <a>29671</a> + <b>29672</b> + <v>1</v> + </b> + <b> + <a>79133</a> + <b>79134</b> <v>1</v> </b> </bs> @@ -10785,7 +10581,7 @@ <b> <a>1</a> <b>2</b> - <v>121852</v> + <v>112375</v> </b> </bs> </hist> @@ -10801,7 +10597,7 @@ <b> <a>1</a> <b>2</b> - <v>121852</v> + <v>112375</v> </b> </bs> </hist> @@ -10811,22 +10607,22 @@ </relation> <relation> <name>ql_class_member_def</name> - <cardinality>84646</cardinality> + <cardinality>79133</cardinality> <columnsizes> <e> <k>id</k> - <v>84646</v> + <v>79133</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ql_classless_predicate_child</name> - <cardinality>72035</cardinality> + <cardinality>63161</cardinality> <columnsizes> <e> <k>ql_classless_predicate</k> - <v>24640</v> + <v>23253</v> </e> <e> <k>index</k> @@ -10834,7 +10630,7 @@ </e> <e> <k>child</k> - <v>72035</v> + <v>63161</v> </e> </columnsizes> <dependencies> @@ -10848,32 +10644,32 @@ <b> <a>1</a> <b>2</b> - <v>2612</v> + <v>2872</v> </b> <b> <a>2</a> <b>3</b> - <v>9441</v> + <v>9678</v> </b> <b> <a>3</a> <b>4</b> - <v>6254</v> + <v>5651</v> </b> <b> <a>4</a> <b>5</b> - <v>3291</v> + <v>2828</v> </b> <b> <a>5</a> <b>7</b> - <v>2183</v> + <v>1868</v> </b> <b> <a>7</a> <b>17</b> - <v>859</v> + <v>356</v> </b> </bs> </hist> @@ -10889,32 +10685,32 @@ <b> <a>1</a> <b>2</b> - <v>2612</v> + <v>2872</v> </b> <b> <a>2</a> <b>3</b> - <v>9441</v> + <v>9678</v> </b> <b> <a>3</a> <b>4</b> - <v>6254</v> + <v>5651</v> </b> <b> <a>4</a> <b>5</b> - <v>3291</v> + <v>2828</v> </b> <b> <a>5</a> <b>7</b> - <v>2183</v> + <v>1868</v> </b> <b> <a>7</a> <b>17</b> - <v>859</v> + <v>356</v> </b> </bs> </hist> @@ -10928,9 +10724,19 @@ <budget>12</budget> <bs> <b> - <a>8</a> - <b>9</b> - <v>2</v> + <a>1</a> + <b>2</b> + <v>1</v> + </b> + <b> + <a>2</a> + <b>3</b> + <v>1</v> + </b> + <b> + <a>5</a> + <b>6</b> + <v>1</v> </b> <b> <a>9</a> @@ -10938,68 +10744,63 @@ <v>1</v> </b> <b> - <a>25</a> - <b>26</b> + <a>22</a> + <b>23</b> <v>1</v> </b> <b> - <a>43</a> - <b>44</b> + <a>37</a> + <b>38</b> <v>1</v> </b> <b> - <a>83</a> - <b>84</b> + <a>63</a> + <b>64</b> <v>1</v> </b> <b> - <a>164</a> - <b>165</b> + <a>103</a> + <b>104</b> <v>1</v> </b> <b> - <a>269</a> - <b>270</b> + <a>177</a> + <b>178</b> <v>1</v> </b> <b> - <a>491</a> - <b>492</b> + <a>356</a> + <b>357</b> <v>1</v> </b> <b> - <a>859</a> - <b>860</b> + <a>773</a> + <b>774</b> <v>1</v> </b> <b> - <a>1446</a> - <b>1447</b> + <a>2224</a> + <b>2225</b> <v>1</v> </b> <b> - <a>3042</a> - <b>3043</b> + <a>5052</a> + <b>5053</b> <v>1</v> </b> <b> - <a>6333</a> - <b>6334</b> + <a>10703</a> + <b>10704</b> <v>1</v> </b> <b> - <a>12587</a> - <b>12588</b> + <a>20381</a> + <b>20382</b> <v>1</v> </b> <b> - <a>22028</a> - <b>22029</b> - <v>1</v> - </b> - <b> - <a>24640</a> - <b>24641</b> + <a>23253</a> + <b>23254</b> <v>1</v> </b> </bs> @@ -11014,9 +10815,19 @@ <budget>12</budget> <bs> <b> - <a>8</a> - <b>9</b> - <v>2</v> + <a>1</a> + <b>2</b> + <v>1</v> + </b> + <b> + <a>2</a> + <b>3</b> + <v>1</v> + </b> + <b> + <a>5</a> + <b>6</b> + <v>1</v> </b> <b> <a>9</a> @@ -11024,68 +10835,63 @@ <v>1</v> </b> <b> - <a>25</a> - <b>26</b> + <a>22</a> + <b>23</b> <v>1</v> </b> <b> - <a>43</a> - <b>44</b> + <a>37</a> + <b>38</b> <v>1</v> </b> <b> - <a>83</a> - <b>84</b> + <a>63</a> + <b>64</b> <v>1</v> </b> <b> - <a>164</a> - <b>165</b> + <a>103</a> + <b>104</b> <v>1</v> </b> <b> - <a>269</a> - <b>270</b> + <a>177</a> + <b>178</b> <v>1</v> </b> <b> - <a>491</a> - <b>492</b> + <a>356</a> + <b>357</b> <v>1</v> </b> <b> - <a>859</a> - <b>860</b> + <a>773</a> + <b>774</b> <v>1</v> </b> <b> - <a>1446</a> - <b>1447</b> + <a>2224</a> + <b>2225</b> <v>1</v> </b> <b> - <a>3042</a> - <b>3043</b> + <a>5052</a> + <b>5053</b> <v>1</v> </b> <b> - <a>6333</a> - <b>6334</b> + <a>10703</a> + <b>10704</b> <v>1</v> </b> <b> - <a>12587</a> - <b>12588</b> + <a>20381</a> + <b>20382</b> <v>1</v> </b> <b> - <a>22028</a> - <b>22029</b> - <v>1</v> - </b> - <b> - <a>24640</a> - <b>24641</b> + <a>23253</a> + <b>23254</b> <v>1</v> </b> </bs> @@ -11102,7 +10908,7 @@ <b> <a>1</a> <b>2</b> - <v>72035</v> + <v>63161</v> </b> </bs> </hist> @@ -11118,7 +10924,7 @@ <b> <a>1</a> <b>2</b> - <v>72035</v> + <v>63161</v> </b> </bs> </hist> @@ -11128,19 +10934,19 @@ </relation> <relation> <name>ql_classless_predicate_def</name> - <cardinality>24640</cardinality> + <cardinality>23253</cardinality> <columnsizes> <e> <k>id</k> - <v>24640</v> + <v>23253</v> </e> <e> <k>name</k> - <v>24640</v> + <v>23253</v> </e> <e> <k>return_type</k> - <v>24640</v> + <v>23253</v> </e> </columnsizes> <dependencies> @@ -11154,7 +10960,7 @@ <b> <a>1</a> <b>2</b> - <v>24640</v> + <v>23253</v> </b> </bs> </hist> @@ -11170,7 +10976,7 @@ <b> <a>1</a> <b>2</b> - <v>24640</v> + <v>23253</v> </b> </bs> </hist> @@ -11186,7 +10992,7 @@ <b> <a>1</a> <b>2</b> - <v>24640</v> + <v>23253</v> </b> </bs> </hist> @@ -11202,7 +11008,7 @@ <b> <a>1</a> <b>2</b> - <v>24640</v> + <v>23253</v> </b> </bs> </hist> @@ -11218,7 +11024,7 @@ <b> <a>1</a> <b>2</b> - <v>24640</v> + <v>23253</v> </b> </bs> </hist> @@ -11234,7 +11040,7 @@ <b> <a>1</a> <b>2</b> - <v>24640</v> + <v>23253</v> </b> </bs> </hist> @@ -11244,23 +11050,23 @@ </relation> <relation> <name>ql_comp_term_def</name> - <cardinality>138784</cardinality> + <cardinality>140334</cardinality> <columnsizes> <e> <k>id</k> - <v>138784</v> + <v>140334</v> </e> <e> <k>left</k> - <v>138784</v> + <v>140334</v> </e> <e> <k>right</k> - <v>138784</v> + <v>140334</v> </e> <e> <k>child</k> - <v>138784</v> + <v>140334</v> </e> </columnsizes> <dependencies> @@ -11274,7 +11080,7 @@ <b> <a>1</a> <b>2</b> - <v>138784</v> + <v>140334</v> </b> </bs> </hist> @@ -11290,7 +11096,7 @@ <b> <a>1</a> <b>2</b> - <v>138784</v> + <v>140334</v> </b> </bs> </hist> @@ -11306,7 +11112,7 @@ <b> <a>1</a> <b>2</b> - <v>138784</v> + <v>140334</v> </b> </bs> </hist> @@ -11322,7 +11128,7 @@ <b> <a>1</a> <b>2</b> - <v>138784</v> + <v>140334</v> </b> </bs> </hist> @@ -11338,7 +11144,7 @@ <b> <a>1</a> <b>2</b> - <v>138784</v> + <v>140334</v> </b> </bs> </hist> @@ -11354,7 +11160,7 @@ <b> <a>1</a> <b>2</b> - <v>138784</v> + <v>140334</v> </b> </bs> </hist> @@ -11370,7 +11176,7 @@ <b> <a>1</a> <b>2</b> - <v>138784</v> + <v>140334</v> </b> </bs> </hist> @@ -11386,7 +11192,7 @@ <b> <a>1</a> <b>2</b> - <v>138784</v> + <v>140334</v> </b> </bs> </hist> @@ -11402,7 +11208,7 @@ <b> <a>1</a> <b>2</b> - <v>138784</v> + <v>140334</v> </b> </bs> </hist> @@ -11418,7 +11224,7 @@ <b> <a>1</a> <b>2</b> - <v>138784</v> + <v>140334</v> </b> </bs> </hist> @@ -11434,7 +11240,7 @@ <b> <a>1</a> <b>2</b> - <v>138784</v> + <v>140334</v> </b> </bs> </hist> @@ -11450,7 +11256,7 @@ <b> <a>1</a> <b>2</b> - <v>138784</v> + <v>140334</v> </b> </bs> </hist> @@ -11460,19 +11266,19 @@ </relation> <relation> <name>ql_conjunction_def</name> - <cardinality>80925</cardinality> + <cardinality>76308</cardinality> <columnsizes> <e> <k>id</k> - <v>80925</v> + <v>76308</v> </e> <e> <k>left</k> - <v>80925</v> + <v>76308</v> </e> <e> <k>right</k> - <v>80925</v> + <v>76308</v> </e> </columnsizes> <dependencies> @@ -11486,7 +11292,7 @@ <b> <a>1</a> <b>2</b> - <v>80925</v> + <v>76308</v> </b> </bs> </hist> @@ -11502,7 +11308,7 @@ <b> <a>1</a> <b>2</b> - <v>80925</v> + <v>76308</v> </b> </bs> </hist> @@ -11518,7 +11324,7 @@ <b> <a>1</a> <b>2</b> - <v>80925</v> + <v>76308</v> </b> </bs> </hist> @@ -11534,7 +11340,7 @@ <b> <a>1</a> <b>2</b> - <v>80925</v> + <v>76308</v> </b> </bs> </hist> @@ -11550,7 +11356,7 @@ <b> <a>1</a> <b>2</b> - <v>80925</v> + <v>76308</v> </b> </bs> </hist> @@ -11566,7 +11372,7 @@ <b> <a>1</a> <b>2</b> - <v>80925</v> + <v>76308</v> </b> </bs> </hist> @@ -11576,19 +11382,19 @@ </relation> <relation> <name>ql_dataclass_child</name> - <cardinality>86140</cardinality> + <cardinality>80203</cardinality> <columnsizes> <e> <k>ql_dataclass</k> - <v>21914</v> + <v>20603</v> </e> <e> <k>index</k> - <v>148</v> + <v>160</v> </e> <e> <k>child</k> - <v>86140</v> + <v>80203</v> </e> </columnsizes> <dependencies> @@ -11602,42 +11408,42 @@ <b> <a>1</a> <b>2</b> - <v>8719</v> + <v>8138</v> </b> <b> <a>2</a> <b>3</b> - <v>3611</v> + <v>3631</v> </b> <b> <a>3</a> <b>4</b> - <v>2551</v> + <v>2206</v> </b> <b> <a>4</a> <b>5</b> - <v>1653</v> + <v>1665</v> </b> <b> <a>5</a> <b>6</b> - <v>1289</v> + <v>1187</v> </b> <b> <a>6</a> <b>9</b> - <v>1952</v> + <v>1851</v> </b> <b> <a>9</a> - <b>20</b> - <v>1644</v> + <b>22</b> + <v>1562</v> </b> <b> - <a>20</a> - <b>149</b> - <v>495</v> + <a>22</a> + <b>161</b> + <v>363</v> </b> </bs> </hist> @@ -11653,42 +11459,42 @@ <b> <a>1</a> <b>2</b> - <v>8719</v> + <v>8138</v> </b> <b> <a>2</a> <b>3</b> - <v>3611</v> + <v>3631</v> </b> <b> <a>3</a> <b>4</b> - <v>2551</v> + <v>2206</v> </b> <b> <a>4</a> <b>5</b> - <v>1653</v> + <v>1665</v> </b> <b> <a>5</a> <b>6</b> - <v>1289</v> + <v>1187</v> </b> <b> <a>6</a> <b>9</b> - <v>1952</v> + <v>1851</v> </b> <b> <a>9</a> - <b>20</b> - <v>1644</v> + <b>22</b> + <v>1562</v> </b> <b> - <a>20</a> - <b>149</b> - <v>495</v> + <a>22</a> + <b>161</b> + <v>363</v> </b> </bs> </hist> @@ -11703,68 +11509,73 @@ <bs> <b> <a>1</a> - <b>4</b> - <v>8</v> + <b>3</b> + <v>12</v> </b> <b> <a>4</a> <b>5</b> - <v>14</v> - </b> - <b> - <a>5</a> - <b>7</b> <v>8</v> </b> <b> - <a>7</a> + <a>5</a> + <b>6</b> + <v>17</v> + </b> + <b> + <a>6</a> <b>8</b> - <v>21</v> + <v>2</v> </b> <b> <a>8</a> - <b>12</b> - <v>7</v> + <b>9</b> + <v>20</v> </b> <b> - <a>12</a> - <b>18</b> + <a>9</a> + <b>13</b> <v>12</v> </b> <b> - <a>19</a> - <b>25</b> + <a>13</a> + <b>20</b> <v>12</v> </b> <b> - <a>25</a> + <a>20</a> + <b>27</b> + <v>12</v> + </b> + <b> + <a>28</a> <b>36</b> <v>12</v> </b> <b> - <a>37</a> - <b>96</b> + <a>38</a> + <b>98</b> <v>12</v> </b> <b> - <a>101</a> - <b>188</b> + <a>102</a> + <b>193</b> <v>12</v> </b> <b> - <a>198</a> - <b>538</b> + <a>203</a> + <b>541</b> <v>12</v> </b> <b> - <a>592</a> - <b>3240</b> + <a>596</a> + <b>3777</b> <v>12</v> </b> <b> - <a>4091</a> - <b>21915</b> - <v>6</v> + <a>4963</a> + <b>20604</b> + <v>5</v> </b> </bs> </hist> @@ -11779,68 +11590,73 @@ <bs> <b> <a>1</a> - <b>4</b> - <v>8</v> + <b>3</b> + <v>12</v> </b> <b> <a>4</a> <b>5</b> - <v>14</v> - </b> - <b> - <a>5</a> - <b>7</b> <v>8</v> </b> <b> - <a>7</a> + <a>5</a> + <b>6</b> + <v>17</v> + </b> + <b> + <a>6</a> <b>8</b> - <v>21</v> + <v>2</v> </b> <b> <a>8</a> - <b>12</b> - <v>7</v> + <b>9</b> + <v>20</v> </b> <b> - <a>12</a> - <b>18</b> + <a>9</a> + <b>13</b> <v>12</v> </b> <b> - <a>19</a> - <b>25</b> + <a>13</a> + <b>20</b> <v>12</v> </b> <b> - <a>25</a> + <a>20</a> + <b>27</b> + <v>12</v> + </b> + <b> + <a>28</a> <b>36</b> <v>12</v> </b> <b> - <a>37</a> - <b>96</b> + <a>38</a> + <b>98</b> <v>12</v> </b> <b> - <a>101</a> - <b>188</b> + <a>102</a> + <b>193</b> <v>12</v> </b> <b> - <a>198</a> - <b>538</b> + <a>203</a> + <b>541</b> <v>12</v> </b> <b> - <a>592</a> - <b>3240</b> + <a>596</a> + <b>3777</b> <v>12</v> </b> <b> - <a>4091</a> - <b>21915</b> - <v>6</v> + <a>4963</a> + <b>20604</b> + <v>5</v> </b> </bs> </hist> @@ -11856,7 +11672,7 @@ <b> <a>1</a> <b>2</b> - <v>86140</v> + <v>80203</v> </b> </bs> </hist> @@ -11872,7 +11688,7 @@ <b> <a>1</a> <b>2</b> - <v>86140</v> + <v>80203</v> </b> </bs> </hist> @@ -11882,15 +11698,15 @@ </relation> <relation> <name>ql_dataclass_def</name> - <cardinality>23834</cardinality> + <cardinality>22563</cardinality> <columnsizes> <e> <k>id</k> - <v>23834</v> + <v>22563</v> </e> <e> <k>name</k> - <v>23834</v> + <v>22563</v> </e> </columnsizes> <dependencies> @@ -11904,7 +11720,7 @@ <b> <a>1</a> <b>2</b> - <v>23834</v> + <v>22563</v> </b> </bs> </hist> @@ -11920,7 +11736,7 @@ <b> <a>1</a> <b>2</b> - <v>23834</v> + <v>22563</v> </b> </bs> </hist> @@ -11930,11 +11746,11 @@ </relation> <relation> <name>ql_dataclass_extends</name> - <cardinality>59928</cardinality> + <cardinality>57708</cardinality> <columnsizes> <e> <k>ql_dataclass</k> - <v>22062</v> + <v>21309</v> </e> <e> <k>index</k> @@ -11942,7 +11758,7 @@ </e> <e> <k>extends</k> - <v>59928</v> + <v>57708</v> </e> </columnsizes> <dependencies> @@ -11956,17 +11772,17 @@ <b> <a>2</a> <b>3</b> - <v>14722</v> + <v>14280</v> </b> <b> <a>4</a> <b>5</b> - <v>6891</v> + <v>6614</v> </b> <b> <a>6</a> <b>17</b> - <v>449</v> + <v>415</v> </b> </bs> </hist> @@ -11982,17 +11798,17 @@ <b> <a>2</a> <b>3</b> - <v>14722</v> + <v>14280</v> </b> <b> <a>4</a> <b>5</b> - <v>6891</v> + <v>6614</v> </b> <b> <a>6</a> <b>17</b> - <v>449</v> + <v>415</v> </b> </bs> </hist> @@ -12011,38 +11827,38 @@ <v>2</v> </b> <b> - <a>4</a> - <b>5</b> + <a>3</a> + <b>4</b> <v>2</v> </b> <b> - <a>9</a> - <b>10</b> + <a>6</a> + <b>7</b> <v>2</v> </b> <b> - <a>19</a> - <b>20</b> + <a>15</a> + <b>16</b> <v>2</v> </b> <b> - <a>80</a> - <b>81</b> + <a>76</a> + <b>77</b> <v>2</v> </b> <b> - <a>449</a> - <b>450</b> + <a>415</a> + <b>416</b> <v>2</v> </b> <b> - <a>7340</a> - <b>7341</b> + <a>7029</a> + <b>7030</b> <v>2</v> </b> <b> - <a>22062</a> - <b>22063</b> + <a>21309</a> + <b>21310</b> <v>2</v> </b> </bs> @@ -12062,38 +11878,38 @@ <v>2</v> </b> <b> - <a>4</a> - <b>5</b> + <a>3</a> + <b>4</b> <v>2</v> </b> <b> - <a>9</a> - <b>10</b> + <a>6</a> + <b>7</b> <v>2</v> </b> <b> - <a>19</a> - <b>20</b> + <a>15</a> + <b>16</b> <v>2</v> </b> <b> - <a>80</a> - <b>81</b> + <a>76</a> + <b>77</b> <v>2</v> </b> <b> - <a>449</a> - <b>450</b> + <a>415</a> + <b>416</b> <v>2</v> </b> <b> - <a>7340</a> - <b>7341</b> + <a>7029</a> + <b>7030</b> <v>2</v> </b> <b> - <a>22062</a> - <b>22063</b> + <a>21309</a> + <b>21310</b> <v>2</v> </b> </bs> @@ -12110,7 +11926,7 @@ <b> <a>1</a> <b>2</b> - <v>59928</v> + <v>57708</v> </b> </bs> </hist> @@ -12126,7 +11942,7 @@ <b> <a>1</a> <b>2</b> - <v>59928</v> + <v>57708</v> </b> </bs> </hist> @@ -12136,11 +11952,11 @@ </relation> <relation> <name>ql_dataclass_instanceof</name> - <cardinality>1584</cardinality> + <cardinality>1896</cardinality> <columnsizes> <e> <k>ql_dataclass</k> - <v>791</v> + <v>942</v> </e> <e> <k>index</k> @@ -12148,7 +11964,7 @@ </e> <e> <k>instanceof</k> - <v>1584</v> + <v>1896</v> </e> </columnsizes> <dependencies> @@ -12162,12 +11978,12 @@ <b> <a>2</a> <b>3</b> - <v>790</v> + <v>936</v> </b> <b> <a>4</a> <b>5</b> - <v>1</v> + <v>6</v> </b> </bs> </hist> @@ -12183,12 +11999,12 @@ <b> <a>2</a> <b>3</b> - <v>790</v> + <v>936</v> </b> <b> <a>4</a> <b>5</b> - <v>1</v> + <v>6</v> </b> </bs> </hist> @@ -12202,13 +12018,13 @@ <budget>12</budget> <bs> <b> - <a>1</a> - <b>2</b> + <a>6</a> + <b>7</b> <v>2</v> </b> <b> - <a>791</a> - <b>792</b> + <a>942</a> + <b>943</b> <v>2</v> </b> </bs> @@ -12223,13 +12039,13 @@ <budget>12</budget> <bs> <b> - <a>1</a> - <b>2</b> + <a>6</a> + <b>7</b> <v>2</v> </b> <b> - <a>791</a> - <b>792</b> + <a>942</a> + <b>943</b> <v>2</v> </b> </bs> @@ -12246,7 +12062,7 @@ <b> <a>1</a> <b>2</b> - <v>1584</v> + <v>1896</v> </b> </bs> </hist> @@ -12262,7 +12078,7 @@ <b> <a>1</a> <b>2</b> - <v>1584</v> + <v>1896</v> </b> </bs> </hist> @@ -12272,11 +12088,11 @@ </relation> <relation> <name>ql_datatype_branch_child</name> - <cardinality>5604</cardinality> + <cardinality>4787</cardinality> <columnsizes> <e> <k>ql_datatype_branch</k> - <v>2323</v> + <v>1984</v> </e> <e> <k>index</k> @@ -12284,7 +12100,7 @@ </e> <e> <k>child</k> - <v>5604</v> + <v>4787</v> </e> </columnsizes> <dependencies> @@ -12298,27 +12114,27 @@ <b> <a>1</a> <b>2</b> - <v>629</v> + <v>517</v> </b> <b> <a>2</a> <b>3</b> - <v>706</v> + <v>600</v> </b> <b> <a>3</a> <b>4</b> - <v>664</v> + <v>563</v> </b> <b> <a>4</a> <b>5</b> - <v>161</v> + <v>180</v> </b> <b> <a>5</a> <b>11</b> - <v>163</v> + <v>124</v> </b> </bs> </hist> @@ -12334,27 +12150,27 @@ <b> <a>1</a> <b>2</b> - <v>629</v> + <v>517</v> </b> <b> <a>2</a> <b>3</b> - <v>706</v> + <v>600</v> </b> <b> <a>3</a> <b>4</b> - <v>664</v> + <v>563</v> </b> <b> <a>4</a> <b>5</b> - <v>161</v> + <v>180</v> </b> <b> <a>5</a> <b>11</b> - <v>163</v> + <v>124</v> </b> </bs> </hist> @@ -12367,49 +12183,44 @@ <hist> <budget>12</budget> <bs> + <b> + <a>2</a> + <b>3</b> + <v>3</v> + </b> <b> <a>8</a> <b>9</b> - <v>2</v> - </b> - <b> - <a>16</a> - <b>17</b> <v>1</v> </b> <b> - <a>30</a> - <b>31</b> + <a>27</a> + <b>28</b> <v>1</v> </b> <b> - <a>50</a> - <b>51</b> + <a>124</a> + <b>125</b> <v>1</v> </b> <b> - <a>163</a> - <b>164</b> + <a>304</a> + <b>305</b> <v>1</v> </b> <b> - <a>324</a> - <b>325</b> + <a>867</a> + <b>868</b> <v>1</v> </b> <b> - <a>988</a> - <b>989</b> + <a>1467</a> + <b>1468</b> <v>1</v> </b> <b> - <a>1694</a> - <b>1695</b> - <v>1</v> - </b> - <b> - <a>2323</a> - <b>2324</b> + <a>1984</a> + <b>1985</b> <v>1</v> </b> </bs> @@ -12423,49 +12234,44 @@ <hist> <budget>12</budget> <bs> + <b> + <a>2</a> + <b>3</b> + <v>3</v> + </b> <b> <a>8</a> <b>9</b> - <v>2</v> - </b> - <b> - <a>16</a> - <b>17</b> <v>1</v> </b> <b> - <a>30</a> - <b>31</b> + <a>27</a> + <b>28</b> <v>1</v> </b> <b> - <a>50</a> - <b>51</b> + <a>124</a> + <b>125</b> <v>1</v> </b> <b> - <a>163</a> - <b>164</b> + <a>304</a> + <b>305</b> <v>1</v> </b> <b> - <a>324</a> - <b>325</b> + <a>867</a> + <b>868</b> <v>1</v> </b> <b> - <a>988</a> - <b>989</b> + <a>1467</a> + <b>1468</b> <v>1</v> </b> <b> - <a>1694</a> - <b>1695</b> - <v>1</v> - </b> - <b> - <a>2323</a> - <b>2324</b> + <a>1984</a> + <b>1985</b> <v>1</v> </b> </bs> @@ -12482,7 +12288,7 @@ <b> <a>1</a> <b>2</b> - <v>5604</v> + <v>4787</v> </b> </bs> </hist> @@ -12498,7 +12304,7 @@ <b> <a>1</a> <b>2</b> - <v>5604</v> + <v>4787</v> </b> </bs> </hist> @@ -12508,15 +12314,15 @@ </relation> <relation> <name>ql_datatype_branch_def</name> - <cardinality>3437</cardinality> + <cardinality>2719</cardinality> <columnsizes> <e> <k>id</k> - <v>3437</v> + <v>2719</v> </e> <e> <k>name</k> - <v>3437</v> + <v>2719</v> </e> </columnsizes> <dependencies> @@ -12530,7 +12336,7 @@ <b> <a>1</a> <b>2</b> - <v>3437</v> + <v>2719</v> </b> </bs> </hist> @@ -12546,7 +12352,7 @@ <b> <a>1</a> <b>2</b> - <v>3437</v> + <v>2719</v> </b> </bs> </hist> @@ -12556,19 +12362,19 @@ </relation> <relation> <name>ql_datatype_branches_child</name> - <cardinality>3437</cardinality> + <cardinality>2719</cardinality> <columnsizes> <e> <k>ql_datatype_branches</k> - <v>809</v> + <v>548</v> </e> <e> <k>index</k> - <v>231</v> + <v>246</v> </e> <e> <k>child</k> - <v>3437</v> + <v>2719</v> </e> </columnsizes> <dependencies> @@ -12582,37 +12388,37 @@ <b> <a>1</a> <b>2</b> - <v>163</v> + <v>132</v> </b> <b> <a>2</a> <b>3</b> - <v>348</v> + <v>182</v> </b> <b> <a>3</a> <b>4</b> - <v>104</v> + <v>81</v> </b> <b> <a>4</a> - <b>5</b> - <v>63</v> + <b>6</b> + <v>49</v> </b> <b> - <a>5</a> + <a>6</a> <b>9</b> - <v>65</v> + <v>43</v> </b> <b> <a>9</a> - <b>61</b> - <v>61</v> + <b>15</b> + <v>42</v> </b> <b> - <a>82</a> - <b>232</b> - <v>5</v> + <a>15</a> + <b>247</b> + <v>19</v> </b> </bs> </hist> @@ -12628,37 +12434,37 @@ <b> <a>1</a> <b>2</b> - <v>163</v> + <v>132</v> </b> <b> <a>2</a> <b>3</b> - <v>348</v> + <v>182</v> </b> <b> <a>3</a> <b>4</b> - <v>104</v> + <v>81</v> </b> <b> <a>4</a> - <b>5</b> - <v>63</v> + <b>6</b> + <v>49</v> </b> <b> - <a>5</a> + <a>6</a> <b>9</b> - <v>65</v> + <v>43</v> </b> <b> <a>9</a> - <b>61</b> - <v>61</v> + <b>15</b> + <v>42</v> </b> <b> - <a>82</a> - <b>232</b> - <v>5</v> + <a>15</a> + <b>247</b> + <v>19</v> </b> </bs> </hist> @@ -12674,42 +12480,37 @@ <b> <a>1</a> <b>2</b> - <v>38</v> + <v>51</v> </b> <b> <a>2</a> <b>3</b> - <v>110</v> + <v>111</v> + </b> + <b> + <a>3</a> + <b>4</b> + <v>1</v> </b> <b> <a>4</a> <b>5</b> - <v>1</v> + <v>32</v> </b> <b> <a>5</a> - <b>6</b> - <v>22</v> - </b> - <b> - <a>6</a> - <b>8</b> - <v>21</v> - </b> - <b> - <a>8</a> - <b>14</b> - <v>15</v> - </b> - <b> - <a>14</a> - <b>91</b> + <b>11</b> <v>18</v> </b> <b> - <a>109</a> - <b>810</b> - <v>6</v> + <a>11</a> + <b>20</b> + <v>19</v> + </b> + <b> + <a>21</a> + <b>549</b> + <v>14</v> </b> </bs> </hist> @@ -12725,42 +12526,37 @@ <b> <a>1</a> <b>2</b> - <v>38</v> + <v>51</v> </b> <b> <a>2</a> <b>3</b> - <v>110</v> + <v>111</v> + </b> + <b> + <a>3</a> + <b>4</b> + <v>1</v> </b> <b> <a>4</a> <b>5</b> - <v>1</v> + <v>32</v> </b> <b> <a>5</a> - <b>6</b> - <v>22</v> - </b> - <b> - <a>6</a> - <b>8</b> - <v>21</v> - </b> - <b> - <a>8</a> - <b>14</b> - <v>15</v> - </b> - <b> - <a>14</a> - <b>91</b> + <b>11</b> <v>18</v> </b> <b> - <a>109</a> - <b>810</b> - <v>6</v> + <a>11</a> + <b>20</b> + <v>19</v> + </b> + <b> + <a>21</a> + <b>549</b> + <v>14</v> </b> </bs> </hist> @@ -12776,7 +12572,7 @@ <b> <a>1</a> <b>2</b> - <v>3437</v> + <v>2719</v> </b> </bs> </hist> @@ -12792,7 +12588,7 @@ <b> <a>1</a> <b>2</b> - <v>3437</v> + <v>2719</v> </b> </bs> </hist> @@ -12802,30 +12598,30 @@ </relation> <relation> <name>ql_datatype_branches_def</name> - <cardinality>809</cardinality> + <cardinality>548</cardinality> <columnsizes> <e> <k>id</k> - <v>809</v> + <v>548</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ql_datatype_def</name> - <cardinality>809</cardinality> + <cardinality>548</cardinality> <columnsizes> <e> <k>id</k> - <v>809</v> + <v>548</v> </e> <e> <k>name</k> - <v>809</v> + <v>548</v> </e> <e> <k>child</k> - <v>809</v> + <v>548</v> </e> </columnsizes> <dependencies> @@ -12839,7 +12635,7 @@ <b> <a>1</a> <b>2</b> - <v>809</v> + <v>548</v> </b> </bs> </hist> @@ -12855,7 +12651,7 @@ <b> <a>1</a> <b>2</b> - <v>809</v> + <v>548</v> </b> </bs> </hist> @@ -12871,7 +12667,7 @@ <b> <a>1</a> <b>2</b> - <v>809</v> + <v>548</v> </b> </bs> </hist> @@ -12887,7 +12683,7 @@ <b> <a>1</a> <b>2</b> - <v>809</v> + <v>548</v> </b> </bs> </hist> @@ -12903,7 +12699,7 @@ <b> <a>1</a> <b>2</b> - <v>809</v> + <v>548</v> </b> </bs> </hist> @@ -12919,7 +12715,7 @@ <b> <a>1</a> <b>2</b> - <v>809</v> + <v>548</v> </b> </bs> </hist> @@ -12929,19 +12725,19 @@ </relation> <relation> <name>ql_disjunction_def</name> - <cardinality>40259</cardinality> + <cardinality>44890</cardinality> <columnsizes> <e> <k>id</k> - <v>40259</v> + <v>44890</v> </e> <e> <k>left</k> - <v>40259</v> + <v>44890</v> </e> <e> <k>right</k> - <v>40259</v> + <v>44890</v> </e> </columnsizes> <dependencies> @@ -12955,7 +12751,7 @@ <b> <a>1</a> <b>2</b> - <v>40259</v> + <v>44890</v> </b> </bs> </hist> @@ -12971,7 +12767,7 @@ <b> <a>1</a> <b>2</b> - <v>40259</v> + <v>44890</v> </b> </bs> </hist> @@ -12987,7 +12783,7 @@ <b> <a>1</a> <b>2</b> - <v>40259</v> + <v>44890</v> </b> </bs> </hist> @@ -13003,7 +12799,7 @@ <b> <a>1</a> <b>2</b> - <v>40259</v> + <v>44890</v> </b> </bs> </hist> @@ -13019,7 +12815,7 @@ <b> <a>1</a> <b>2</b> - <v>40259</v> + <v>44890</v> </b> </bs> </hist> @@ -13035,7 +12831,7 @@ <b> <a>1</a> <b>2</b> - <v>40259</v> + <v>44890</v> </b> </bs> </hist> @@ -13045,15 +12841,15 @@ </relation> <relation> <name>ql_expr_aggregate_body_def</name> - <cardinality>1293</cardinality> + <cardinality>1216</cardinality> <columnsizes> <e> <k>id</k> - <v>1293</v> + <v>1216</v> </e> <e> <k>as_exprs</k> - <v>1293</v> + <v>1216</v> </e> </columnsizes> <dependencies> @@ -13067,7 +12863,7 @@ <b> <a>1</a> <b>2</b> - <v>1293</v> + <v>1216</v> </b> </bs> </hist> @@ -13083,7 +12879,7 @@ <b> <a>1</a> <b>2</b> - <v>1293</v> + <v>1216</v> </b> </bs> </hist> @@ -13141,23 +12937,23 @@ </relation> <relation> <name>ql_expr_annotation_def</name> - <cardinality>1328</cardinality> + <cardinality>601</cardinality> <columnsizes> <e> <k>id</k> - <v>1328</v> + <v>601</v> </e> <e> <k>annot_arg</k> - <v>1328</v> + <v>601</v> </e> <e> <k>name</k> - <v>1328</v> + <v>601</v> </e> <e> <k>child</k> - <v>1328</v> + <v>601</v> </e> </columnsizes> <dependencies> @@ -13171,7 +12967,7 @@ <b> <a>1</a> <b>2</b> - <v>1328</v> + <v>601</v> </b> </bs> </hist> @@ -13187,7 +12983,7 @@ <b> <a>1</a> <b>2</b> - <v>1328</v> + <v>601</v> </b> </bs> </hist> @@ -13203,7 +12999,7 @@ <b> <a>1</a> <b>2</b> - <v>1328</v> + <v>601</v> </b> </bs> </hist> @@ -13219,7 +13015,7 @@ <b> <a>1</a> <b>2</b> - <v>1328</v> + <v>601</v> </b> </bs> </hist> @@ -13235,7 +13031,7 @@ <b> <a>1</a> <b>2</b> - <v>1328</v> + <v>601</v> </b> </bs> </hist> @@ -13251,7 +13047,7 @@ <b> <a>1</a> <b>2</b> - <v>1328</v> + <v>601</v> </b> </bs> </hist> @@ -13267,7 +13063,7 @@ <b> <a>1</a> <b>2</b> - <v>1328</v> + <v>601</v> </b> </bs> </hist> @@ -13283,7 +13079,7 @@ <b> <a>1</a> <b>2</b> - <v>1328</v> + <v>601</v> </b> </bs> </hist> @@ -13299,7 +13095,7 @@ <b> <a>1</a> <b>2</b> - <v>1328</v> + <v>601</v> </b> </bs> </hist> @@ -13315,7 +13111,7 @@ <b> <a>1</a> <b>2</b> - <v>1328</v> + <v>601</v> </b> </bs> </hist> @@ -13331,7 +13127,7 @@ <b> <a>1</a> <b>2</b> - <v>1328</v> + <v>601</v> </b> </bs> </hist> @@ -13347,7 +13143,7 @@ <b> <a>1</a> <b>2</b> - <v>1328</v> + <v>601</v> </b> </bs> </hist> @@ -13357,15 +13153,15 @@ </relation> <relation> <name>ql_field_def</name> - <cardinality>4149</cardinality> + <cardinality>3721</cardinality> <columnsizes> <e> <k>id</k> - <v>4149</v> + <v>3721</v> </e> <e> <k>child</k> - <v>4149</v> + <v>3721</v> </e> </columnsizes> <dependencies> @@ -13379,7 +13175,7 @@ <b> <a>1</a> <b>2</b> - <v>4149</v> + <v>3721</v> </b> </bs> </hist> @@ -13395,7 +13191,7 @@ <b> <a>1</a> <b>2</b> - <v>4149</v> + <v>3721</v> </b> </bs> </hist> @@ -13405,15 +13201,15 @@ </relation> <relation> <name>ql_full_aggregate_body_as_exprs</name> - <cardinality>1309</cardinality> + <cardinality>1288</cardinality> <columnsizes> <e> <k>ql_full_aggregate_body</k> - <v>1309</v> + <v>1288</v> </e> <e> <k>as_exprs</k> - <v>1309</v> + <v>1288</v> </e> </columnsizes> <dependencies> @@ -13427,7 +13223,7 @@ <b> <a>1</a> <b>2</b> - <v>1309</v> + <v>1288</v> </b> </bs> </hist> @@ -13443,7 +13239,7 @@ <b> <a>1</a> <b>2</b> - <v>1309</v> + <v>1288</v> </b> </bs> </hist> @@ -13453,11 +13249,11 @@ </relation> <relation> <name>ql_full_aggregate_body_child</name> - <cardinality>7577</cardinality> + <cardinality>7058</cardinality> <columnsizes> <e> <k>ql_full_aggregate_body</k> - <v>6655</v> + <v>6301</v> </e> <e> <k>index</k> @@ -13465,7 +13261,7 @@ </e> <e> <k>child</k> - <v>7577</v> + <v>7058</v> </e> </columnsizes> <dependencies> @@ -13479,17 +13275,17 @@ <b> <a>1</a> <b>2</b> - <v>6061</v> + <v>5788</v> </b> <b> <a>2</a> - <b>4</b> - <v>527</v> + <b>5</b> + <v>480</v> </b> <b> - <a>4</a> + <a>5</a> <b>10</b> - <v>67</v> + <v>33</v> </b> </bs> </hist> @@ -13505,17 +13301,17 @@ <b> <a>1</a> <b>2</b> - <v>6061</v> + <v>5788</v> </b> <b> <a>2</a> - <b>4</b> - <v>527</v> + <b>5</b> + <v>480</v> </b> <b> - <a>4</a> + <a>5</a> <b>10</b> - <v>67</v> + <v>33</v> </b> </bs> </hist> @@ -13534,38 +13330,43 @@ <v>1</v> </b> <b> - <a>20</a> - <b>21</b> - <v>2</v> - </b> - <b> - <a>22</a> - <b>23</b> + <a>13</a> + <b>14</b> <v>1</v> </b> <b> - <a>48</a> - <b>49</b> + <a>14</a> + <b>15</b> <v>1</v> </b> <b> - <a>67</a> - <b>68</b> + <a>18</a> + <b>19</b> <v>1</v> </b> <b> - <a>147</a> - <b>148</b> + <a>33</a> + <b>34</b> <v>1</v> </b> <b> - <a>594</a> - <b>595</b> + <a>51</a> + <b>52</b> <v>1</v> </b> <b> - <a>6655</a> - <b>6656</b> + <a>111</a> + <b>112</b> + <v>1</v> + </b> + <b> + <a>513</a> + <b>514</b> + <v>1</v> + </b> + <b> + <a>6301</a> + <b>6302</b> <v>1</v> </b> </bs> @@ -13585,38 +13386,43 @@ <v>1</v> </b> <b> - <a>20</a> - <b>21</b> - <v>2</v> - </b> - <b> - <a>22</a> - <b>23</b> + <a>13</a> + <b>14</b> <v>1</v> </b> <b> - <a>48</a> - <b>49</b> + <a>14</a> + <b>15</b> <v>1</v> </b> <b> - <a>67</a> - <b>68</b> + <a>18</a> + <b>19</b> <v>1</v> </b> <b> - <a>147</a> - <b>148</b> + <a>33</a> + <b>34</b> <v>1</v> </b> <b> - <a>594</a> - <b>595</b> + <a>51</a> + <b>52</b> <v>1</v> </b> <b> - <a>6655</a> - <b>6656</b> + <a>111</a> + <b>112</b> + <v>1</v> + </b> + <b> + <a>513</a> + <b>514</b> + <v>1</v> + </b> + <b> + <a>6301</a> + <b>6302</b> <v>1</v> </b> </bs> @@ -13633,7 +13439,7 @@ <b> <a>1</a> <b>2</b> - <v>7577</v> + <v>7058</v> </b> </bs> </hist> @@ -13649,7 +13455,7 @@ <b> <a>1</a> <b>2</b> - <v>7577</v> + <v>7058</v> </b> </bs> </hist> @@ -13659,26 +13465,26 @@ </relation> <relation> <name>ql_full_aggregate_body_def</name> - <cardinality>6714</cardinality> + <cardinality>6356</cardinality> <columnsizes> <e> <k>id</k> - <v>6714</v> + <v>6356</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ql_full_aggregate_body_guard</name> - <cardinality>3739</cardinality> + <cardinality>3549</cardinality> <columnsizes> <e> <k>ql_full_aggregate_body</k> - <v>3739</v> + <v>3549</v> </e> <e> <k>guard</k> - <v>3739</v> + <v>3549</v> </e> </columnsizes> <dependencies> @@ -13692,7 +13498,7 @@ <b> <a>1</a> <b>2</b> - <v>3739</v> + <v>3549</v> </b> </bs> </hist> @@ -13708,7 +13514,7 @@ <b> <a>1</a> <b>2</b> - <v>3739</v> + <v>3549</v> </b> </bs> </hist> @@ -13718,15 +13524,15 @@ </relation> <relation> <name>ql_full_aggregate_body_order_bys</name> - <cardinality>449</cardinality> + <cardinality>429</cardinality> <columnsizes> <e> <k>ql_full_aggregate_body</k> - <v>449</v> + <v>429</v> </e> <e> <k>order_bys</k> - <v>449</v> + <v>429</v> </e> </columnsizes> <dependencies> @@ -13740,7 +13546,7 @@ <b> <a>1</a> <b>2</b> - <v>449</v> + <v>429</v> </b> </bs> </hist> @@ -13756,7 +13562,7 @@ <b> <a>1</a> <b>2</b> - <v>449</v> + <v>429</v> </b> </bs> </hist> @@ -13766,11 +13572,11 @@ </relation> <relation> <name>ql_higher_order_term_child</name> - <cardinality>469</cardinality> + <cardinality>343</cardinality> <columnsizes> <e> <k>ql_higher_order_term</k> - <v>105</v> + <v>77</v> </e> <e> <k>index</k> @@ -13778,7 +13584,7 @@ </e> <e> <k>child</k> - <v>469</v> + <v>343</v> </e> </columnsizes> <dependencies> @@ -13792,12 +13598,12 @@ <b> <a>3</a> <b>4</b> - <v>31</v> + <v>24</v> </b> <b> <a>5</a> <b>6</b> - <v>72</v> + <v>51</v> </b> <b> <a>8</a> @@ -13818,12 +13624,12 @@ <b> <a>3</a> <b>4</b> - <v>31</v> + <v>24</v> </b> <b> <a>5</a> <b>6</b> - <v>72</v> + <v>51</v> </b> <b> <a>8</a> @@ -13847,13 +13653,13 @@ <v>3</v> </b> <b> - <a>74</a> - <b>75</b> + <a>53</a> + <b>54</b> <v>2</v> </b> <b> - <a>105</a> - <b>106</b> + <a>77</a> + <b>78</b> <v>3</v> </b> </bs> @@ -13873,13 +13679,13 @@ <v>3</v> </b> <b> - <a>74</a> - <b>75</b> + <a>53</a> + <b>54</b> <v>2</v> </b> <b> - <a>105</a> - <b>106</b> + <a>77</a> + <b>78</b> <v>3</v> </b> </bs> @@ -13896,7 +13702,7 @@ <b> <a>1</a> <b>2</b> - <v>469</v> + <v>343</v> </b> </bs> </hist> @@ -13912,7 +13718,7 @@ <b> <a>1</a> <b>2</b> - <v>469</v> + <v>343</v> </b> </bs> </hist> @@ -13922,15 +13728,15 @@ </relation> <relation> <name>ql_higher_order_term_def</name> - <cardinality>105</cardinality> + <cardinality>77</cardinality> <columnsizes> <e> <k>id</k> - <v>105</v> + <v>77</v> </e> <e> <k>name</k> - <v>105</v> + <v>77</v> </e> </columnsizes> <dependencies> @@ -13944,7 +13750,7 @@ <b> <a>1</a> <b>2</b> - <v>105</v> + <v>77</v> </b> </bs> </hist> @@ -13960,7 +13766,7 @@ <b> <a>1</a> <b>2</b> - <v>105</v> + <v>77</v> </b> </bs> </hist> @@ -13970,23 +13776,23 @@ </relation> <relation> <name>ql_if_term_def</name> - <cardinality>3226</cardinality> + <cardinality>2953</cardinality> <columnsizes> <e> <k>id</k> - <v>3226</v> + <v>2953</v> </e> <e> <k>cond</k> - <v>3226</v> + <v>2953</v> </e> <e> <k>first</k> - <v>3226</v> + <v>2953</v> </e> <e> <k>second</k> - <v>3226</v> + <v>2953</v> </e> </columnsizes> <dependencies> @@ -14000,7 +13806,7 @@ <b> <a>1</a> <b>2</b> - <v>3226</v> + <v>2953</v> </b> </bs> </hist> @@ -14016,7 +13822,7 @@ <b> <a>1</a> <b>2</b> - <v>3226</v> + <v>2953</v> </b> </bs> </hist> @@ -14032,7 +13838,7 @@ <b> <a>1</a> <b>2</b> - <v>3226</v> + <v>2953</v> </b> </bs> </hist> @@ -14048,7 +13854,7 @@ <b> <a>1</a> <b>2</b> - <v>3226</v> + <v>2953</v> </b> </bs> </hist> @@ -14064,7 +13870,7 @@ <b> <a>1</a> <b>2</b> - <v>3226</v> + <v>2953</v> </b> </bs> </hist> @@ -14080,7 +13886,7 @@ <b> <a>1</a> <b>2</b> - <v>3226</v> + <v>2953</v> </b> </bs> </hist> @@ -14096,7 +13902,7 @@ <b> <a>1</a> <b>2</b> - <v>3226</v> + <v>2953</v> </b> </bs> </hist> @@ -14112,7 +13918,7 @@ <b> <a>1</a> <b>2</b> - <v>3226</v> + <v>2953</v> </b> </bs> </hist> @@ -14128,7 +13934,7 @@ <b> <a>1</a> <b>2</b> - <v>3226</v> + <v>2953</v> </b> </bs> </hist> @@ -14144,7 +13950,7 @@ <b> <a>1</a> <b>2</b> - <v>3226</v> + <v>2953</v> </b> </bs> </hist> @@ -14160,7 +13966,7 @@ <b> <a>1</a> <b>2</b> - <v>3226</v> + <v>2953</v> </b> </bs> </hist> @@ -14176,7 +13982,7 @@ <b> <a>1</a> <b>2</b> - <v>3226</v> + <v>2953</v> </b> </bs> </hist> @@ -14186,19 +13992,19 @@ </relation> <relation> <name>ql_implication_def</name> - <cardinality>87</cardinality> + <cardinality>101</cardinality> <columnsizes> <e> <k>id</k> - <v>87</v> + <v>101</v> </e> <e> <k>left</k> - <v>87</v> + <v>101</v> </e> <e> <k>right</k> - <v>87</v> + <v>101</v> </e> </columnsizes> <dependencies> @@ -14212,7 +14018,7 @@ <b> <a>1</a> <b>2</b> - <v>87</v> + <v>101</v> </b> </bs> </hist> @@ -14228,7 +14034,7 @@ <b> <a>1</a> <b>2</b> - <v>87</v> + <v>101</v> </b> </bs> </hist> @@ -14244,7 +14050,7 @@ <b> <a>1</a> <b>2</b> - <v>87</v> + <v>101</v> </b> </bs> </hist> @@ -14260,7 +14066,7 @@ <b> <a>1</a> <b>2</b> - <v>87</v> + <v>101</v> </b> </bs> </hist> @@ -14276,7 +14082,7 @@ <b> <a>1</a> <b>2</b> - <v>87</v> + <v>101</v> </b> </bs> </hist> @@ -14292,7 +14098,7 @@ <b> <a>1</a> <b>2</b> - <v>87</v> + <v>101</v> </b> </bs> </hist> @@ -14302,11 +14108,11 @@ </relation> <relation> <name>ql_import_directive_child</name> - <cardinality>26183</cardinality> + <cardinality>27063</cardinality> <columnsizes> <e> <k>ql_import_directive</k> - <v>24818</v> + <v>25764</v> </e> <e> <k>index</k> @@ -14314,7 +14120,7 @@ </e> <e> <k>child</k> - <v>26183</v> + <v>27063</v> </e> </columnsizes> <dependencies> @@ -14328,12 +14134,12 @@ <b> <a>1</a> <b>2</b> - <v>23453</v> + <v>24465</v> </b> <b> <a>2</a> <b>3</b> - <v>1365</v> + <v>1299</v> </b> </bs> </hist> @@ -14349,12 +14155,12 @@ <b> <a>1</a> <b>2</b> - <v>23453</v> + <v>24465</v> </b> <b> <a>2</a> <b>3</b> - <v>1365</v> + <v>1299</v> </b> </bs> </hist> @@ -14368,13 +14174,13 @@ <budget>12</budget> <bs> <b> - <a>1365</a> - <b>1366</b> + <a>1299</a> + <b>1300</b> <v>1</v> </b> <b> - <a>24818</a> - <b>24819</b> + <a>25764</a> + <b>25765</b> <v>1</v> </b> </bs> @@ -14389,13 +14195,13 @@ <budget>12</budget> <bs> <b> - <a>1365</a> - <b>1366</b> + <a>1299</a> + <b>1300</b> <v>1</v> </b> <b> - <a>24818</a> - <b>24819</b> + <a>25764</a> + <b>25765</b> <v>1</v> </b> </bs> @@ -14412,7 +14218,7 @@ <b> <a>1</a> <b>2</b> - <v>26183</v> + <v>27063</v> </b> </bs> </hist> @@ -14428,7 +14234,7 @@ <b> <a>1</a> <b>2</b> - <v>26183</v> + <v>27063</v> </b> </bs> </hist> @@ -14438,26 +14244,26 @@ </relation> <relation> <name>ql_import_directive_def</name> - <cardinality>24818</cardinality> + <cardinality>25764</cardinality> <columnsizes> <e> <k>id</k> - <v>24818</v> + <v>25764</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ql_import_module_expr_def</name> - <cardinality>24818</cardinality> + <cardinality>25764</cardinality> <columnsizes> <e> <k>id</k> - <v>24818</v> + <v>25764</v> </e> <e> <k>child</k> - <v>24818</v> + <v>25764</v> </e> </columnsizes> <dependencies> @@ -14471,7 +14277,7 @@ <b> <a>1</a> <b>2</b> - <v>24818</v> + <v>25764</v> </b> </bs> </hist> @@ -14487,7 +14293,7 @@ <b> <a>1</a> <b>2</b> - <v>24818</v> + <v>25764</v> </b> </bs> </hist> @@ -14497,11 +14303,11 @@ </relation> <relation> <name>ql_import_module_expr_qual_name</name> - <cardinality>43119</cardinality> + <cardinality>44946</cardinality> <columnsizes> <e> <k>ql_import_module_expr</k> - <v>12715</v> + <v>13345</v> </e> <e> <k>index</k> @@ -14509,7 +14315,7 @@ </e> <e> <k>qual_name</k> - <v>43119</v> + <v>44946</v> </e> </columnsizes> <dependencies> @@ -14523,32 +14329,32 @@ <b> <a>1</a> <b>2</b> - <v>969</v> + <v>972</v> </b> <b> <a>2</a> <b>3</b> - <v>1837</v> + <v>2220</v> </b> <b> <a>3</a> <b>4</b> - <v>3420</v> + <v>3431</v> </b> <b> <a>4</a> <b>5</b> - <v>4818</v> + <v>4933</v> </b> <b> <a>5</a> <b>6</b> - <v>1222</v> + <v>1355</v> </b> <b> <a>6</a> <b>9</b> - <v>449</v> + <v>434</v> </b> </bs> </hist> @@ -14564,32 +14370,32 @@ <b> <a>1</a> <b>2</b> - <v>969</v> + <v>972</v> </b> <b> <a>2</a> <b>3</b> - <v>1837</v> + <v>2220</v> </b> <b> <a>3</a> <b>4</b> - <v>3420</v> + <v>3431</v> </b> <b> <a>4</a> <b>5</b> - <v>4818</v> + <v>4933</v> </b> <b> <a>5</a> <b>6</b> - <v>1222</v> + <v>1355</v> </b> <b> <a>6</a> <b>9</b> - <v>449</v> + <v>434</v> </b> </bs> </hist> @@ -14603,43 +14409,43 @@ <budget>12</budget> <bs> <b> - <a>30</a> - <b>31</b> + <a>25</a> + <b>26</b> <v>1</v> </b> <b> - <a>110</a> - <b>111</b> + <a>105</a> + <b>106</b> <v>1</v> </b> <b> - <a>449</a> - <b>450</b> + <a>434</a> + <b>435</b> <v>1</v> </b> <b> - <a>1671</a> - <b>1672</b> + <a>1789</a> + <b>1790</b> <v>1</v> </b> <b> - <a>6489</a> - <b>6490</b> + <a>6722</a> + <b>6723</b> <v>1</v> </b> <b> - <a>9909</a> - <b>9910</b> + <a>10153</a> + <b>10154</b> <v>1</v> </b> <b> - <a>11746</a> - <b>11747</b> + <a>12373</a> + <b>12374</b> <v>1</v> </b> <b> - <a>12715</a> - <b>12716</b> + <a>13345</a> + <b>13346</b> <v>1</v> </b> </bs> @@ -14654,43 +14460,43 @@ <budget>12</budget> <bs> <b> - <a>30</a> - <b>31</b> + <a>25</a> + <b>26</b> <v>1</v> </b> <b> - <a>110</a> - <b>111</b> + <a>105</a> + <b>106</b> <v>1</v> </b> <b> - <a>449</a> - <b>450</b> + <a>434</a> + <b>435</b> <v>1</v> </b> <b> - <a>1671</a> - <b>1672</b> + <a>1789</a> + <b>1790</b> <v>1</v> </b> <b> - <a>6489</a> - <b>6490</b> + <a>6722</a> + <b>6723</b> <v>1</v> </b> <b> - <a>9909</a> - <b>9910</b> + <a>10153</a> + <b>10154</b> <v>1</v> </b> <b> - <a>11746</a> - <b>11747</b> + <a>12373</a> + <b>12374</b> <v>1</v> </b> <b> - <a>12715</a> - <b>12716</b> + <a>13345</a> + <b>13346</b> <v>1</v> </b> </bs> @@ -14707,7 +14513,7 @@ <b> <a>1</a> <b>2</b> - <v>43119</v> + <v>44946</v> </b> </bs> </hist> @@ -14723,7 +14529,7 @@ <b> <a>1</a> <b>2</b> - <v>43119</v> + <v>44946</v> </b> </bs> </hist> @@ -14733,19 +14539,19 @@ </relation> <relation> <name>ql_in_expr_def</name> - <cardinality>1003</cardinality> + <cardinality>1037</cardinality> <columnsizes> <e> <k>id</k> - <v>1003</v> + <v>1037</v> </e> <e> <k>left</k> - <v>1003</v> + <v>1037</v> </e> <e> <k>right</k> - <v>1003</v> + <v>1037</v> </e> </columnsizes> <dependencies> @@ -14759,7 +14565,7 @@ <b> <a>1</a> <b>2</b> - <v>1003</v> + <v>1037</v> </b> </bs> </hist> @@ -14775,7 +14581,7 @@ <b> <a>1</a> <b>2</b> - <v>1003</v> + <v>1037</v> </b> </bs> </hist> @@ -14791,7 +14597,7 @@ <b> <a>1</a> <b>2</b> - <v>1003</v> + <v>1037</v> </b> </bs> </hist> @@ -14807,7 +14613,7 @@ <b> <a>1</a> <b>2</b> - <v>1003</v> + <v>1037</v> </b> </bs> </hist> @@ -14823,7 +14629,7 @@ <b> <a>1</a> <b>2</b> - <v>1003</v> + <v>1037</v> </b> </bs> </hist> @@ -14839,7 +14645,7 @@ <b> <a>1</a> <b>2</b> - <v>1003</v> + <v>1037</v> </b> </bs> </hist> @@ -14849,11 +14655,11 @@ </relation> <relation> <name>ql_instance_of_child</name> - <cardinality>34256</cardinality> + <cardinality>31826</cardinality> <columnsizes> <e> <k>ql_instance_of</k> - <v>17128</v> + <v>15913</v> </e> <e> <k>index</k> @@ -14861,7 +14667,7 @@ </e> <e> <k>child</k> - <v>34256</v> + <v>31826</v> </e> </columnsizes> <dependencies> @@ -14875,7 +14681,7 @@ <b> <a>2</a> <b>3</b> - <v>17128</v> + <v>15913</v> </b> </bs> </hist> @@ -14891,7 +14697,7 @@ <b> <a>2</a> <b>3</b> - <v>17128</v> + <v>15913</v> </b> </bs> </hist> @@ -14905,8 +14711,8 @@ <budget>12</budget> <bs> <b> - <a>17128</a> - <b>17129</b> + <a>15913</a> + <b>15914</b> <v>2</v> </b> </bs> @@ -14921,8 +14727,8 @@ <budget>12</budget> <bs> <b> - <a>17128</a> - <b>17129</b> + <a>15913</a> + <b>15914</b> <v>2</v> </b> </bs> @@ -14939,7 +14745,7 @@ <b> <a>1</a> <b>2</b> - <v>34256</v> + <v>31826</v> </b> </bs> </hist> @@ -14955,7 +14761,7 @@ <b> <a>1</a> <b>2</b> - <v>34256</v> + <v>31826</v> </b> </bs> </hist> @@ -14965,26 +14771,26 @@ </relation> <relation> <name>ql_instance_of_def</name> - <cardinality>17128</cardinality> + <cardinality>15913</cardinality> <columnsizes> <e> <k>id</k> - <v>17128</v> + <v>15913</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ql_literal_def</name> - <cardinality>98847</cardinality> + <cardinality>109390</cardinality> <columnsizes> <e> <k>id</k> - <v>98847</v> + <v>109390</v> </e> <e> <k>child</k> - <v>98847</v> + <v>109390</v> </e> </columnsizes> <dependencies> @@ -14998,7 +14804,7 @@ <b> <a>1</a> <b>2</b> - <v>98847</v> + <v>109390</v> </b> </bs> </hist> @@ -15014,7 +14820,7 @@ <b> <a>1</a> <b>2</b> - <v>98847</v> + <v>109390</v> </b> </bs> </hist> @@ -15024,19 +14830,19 @@ </relation> <relation> <name>ql_member_predicate_child</name> - <cardinality>70661</cardinality> + <cardinality>63378</cardinality> <columnsizes> <e> <k>ql_member_predicate</k> - <v>47549</v> + <v>43952</v> </e> <e> <k>index</k> - <v>11</v> + <v>12</v> </e> <e> <k>child</k> - <v>70661</v> + <v>63378</v> </e> </columnsizes> <dependencies> @@ -15050,22 +14856,22 @@ <b> <a>1</a> <b>2</b> - <v>34294</v> + <v>32505</v> </b> <b> <a>2</a> <b>3</b> - <v>7406</v> + <v>6417</v> </b> <b> <a>3</a> <b>4</b> - <v>3503</v> + <v>3219</v> </b> <b> <a>4</a> - <b>12</b> - <v>2346</v> + <b>13</b> + <v>1811</v> </b> </bs> </hist> @@ -15081,22 +14887,22 @@ <b> <a>1</a> <b>2</b> - <v>34294</v> + <v>32505</v> </b> <b> <a>2</a> <b>3</b> - <v>7406</v> + <v>6417</v> </b> <b> <a>3</a> <b>4</b> - <v>3503</v> + <v>3219</v> </b> <b> <a>4</a> - <b>12</b> - <v>2346</v> + <b>13</b> + <v>1811</v> </b> </bs> </hist> @@ -15110,8 +14916,8 @@ <budget>12</budget> <bs> <b> - <a>1</a> - <b>2</b> + <a>2</a> + <b>3</b> <v>1</v> </b> <b> @@ -15120,8 +14926,13 @@ <v>1</v> </b> <b> - <a>4</a> - <b>5</b> + <a>5</a> + <b>6</b> + <v>1</v> + </b> + <b> + <a>6</a> + <b>7</b> <v>1</v> </b> <b> @@ -15130,38 +14941,38 @@ <v>1</v> </b> <b> - <a>40</a> - <b>41</b> + <a>39</a> + <b>40</b> <v>1</v> </b> <b> - <a>588</a> - <b>589</b> + <a>420</a> + <b>421</b> <v>1</v> </b> <b> - <a>1017</a> - <b>1018</b> + <a>654</a> + <b>655</b> <v>1</v> </b> <b> - <a>2346</a> - <b>2347</b> + <a>1811</a> + <b>1812</b> <v>1</v> </b> <b> - <a>5849</a> - <b>5850</b> + <a>5030</a> + <b>5031</b> <v>1</v> </b> <b> - <a>13255</a> - <b>13256</b> + <a>11447</a> + <b>11448</b> <v>1</v> </b> <b> - <a>47549</a> - <b>47550</b> + <a>43952</a> + <b>43953</b> <v>1</v> </b> </bs> @@ -15176,8 +14987,8 @@ <budget>12</budget> <bs> <b> - <a>1</a> - <b>2</b> + <a>2</a> + <b>3</b> <v>1</v> </b> <b> @@ -15186,8 +14997,13 @@ <v>1</v> </b> <b> - <a>4</a> - <b>5</b> + <a>5</a> + <b>6</b> + <v>1</v> + </b> + <b> + <a>6</a> + <b>7</b> <v>1</v> </b> <b> @@ -15196,38 +15012,38 @@ <v>1</v> </b> <b> - <a>40</a> - <b>41</b> + <a>39</a> + <b>40</b> <v>1</v> </b> <b> - <a>588</a> - <b>589</b> + <a>420</a> + <b>421</b> <v>1</v> </b> <b> - <a>1017</a> - <b>1018</b> + <a>654</a> + <b>655</b> <v>1</v> </b> <b> - <a>2346</a> - <b>2347</b> + <a>1811</a> + <b>1812</b> <v>1</v> </b> <b> - <a>5849</a> - <b>5850</b> + <a>5030</a> + <b>5031</b> <v>1</v> </b> <b> - <a>13255</a> - <b>13256</b> + <a>11447</a> + <b>11448</b> <v>1</v> </b> <b> - <a>47549</a> - <b>47550</b> + <a>43952</a> + <b>43953</b> <v>1</v> </b> </bs> @@ -15244,7 +15060,7 @@ <b> <a>1</a> <b>2</b> - <v>70661</v> + <v>63378</v> </b> </bs> </hist> @@ -15260,7 +15076,7 @@ <b> <a>1</a> <b>2</b> - <v>70661</v> + <v>63378</v> </b> </bs> </hist> @@ -15270,19 +15086,19 @@ </relation> <relation> <name>ql_member_predicate_def</name> - <cardinality>47549</cardinality> + <cardinality>43952</cardinality> <columnsizes> <e> <k>id</k> - <v>47549</v> + <v>43952</v> </e> <e> <k>name</k> - <v>47549</v> + <v>43952</v> </e> <e> <k>return_type</k> - <v>47549</v> + <v>43952</v> </e> </columnsizes> <dependencies> @@ -15296,7 +15112,7 @@ <b> <a>1</a> <b>2</b> - <v>47549</v> + <v>43952</v> </b> </bs> </hist> @@ -15312,7 +15128,7 @@ <b> <a>1</a> <b>2</b> - <v>47549</v> + <v>43952</v> </b> </bs> </hist> @@ -15328,7 +15144,7 @@ <b> <a>1</a> <b>2</b> - <v>47549</v> + <v>43952</v> </b> </bs> </hist> @@ -15344,7 +15160,7 @@ <b> <a>1</a> <b>2</b> - <v>47549</v> + <v>43952</v> </b> </bs> </hist> @@ -15360,7 +15176,7 @@ <b> <a>1</a> <b>2</b> - <v>47549</v> + <v>43952</v> </b> </bs> </hist> @@ -15376,7 +15192,7 @@ <b> <a>1</a> <b>2</b> - <v>47549</v> + <v>43952</v> </b> </bs> </hist> @@ -15386,15 +15202,15 @@ </relation> <relation> <name>ql_module_alias_body_def</name> - <cardinality>725</cardinality> + <cardinality>917</cardinality> <columnsizes> <e> <k>id</k> - <v>725</v> + <v>917</v> </e> <e> <k>child</k> - <v>725</v> + <v>917</v> </e> </columnsizes> <dependencies> @@ -15408,7 +15224,7 @@ <b> <a>1</a> <b>2</b> - <v>725</v> + <v>917</v> </b> </bs> </hist> @@ -15424,7 +15240,7 @@ <b> <a>1</a> <b>2</b> - <v>725</v> + <v>917</v> </b> </bs> </hist> @@ -15434,19 +15250,19 @@ </relation> <relation> <name>ql_module_child</name> - <cardinality>35070</cardinality> + <cardinality>33181</cardinality> <columnsizes> <e> <k>ql_module</k> - <v>3910</v> + <v>4556</v> </e> <e> <k>index</k> - <v>1248</v> + <v>1314</v> </e> <e> <k>child</k> - <v>35070</v> + <v>33181</v> </e> </columnsizes> <dependencies> @@ -15460,47 +15276,42 @@ <b> <a>1</a> <b>2</b> - <v>1257</v> + <v>1138</v> </b> <b> <a>2</a> <b>3</b> - <v>624</v> + <v>1239</v> </b> <b> <a>3</a> <b>4</b> - <v>294</v> + <v>385</v> </b> <b> <a>4</a> <b>5</b> - <v>294</v> + <v>392</v> </b> <b> <a>5</a> <b>8</b> - <v>324</v> + <v>383</v> </b> <b> <a>8</a> - <b>12</b> - <v>311</v> + <b>13</b> + <v>407</v> </b> <b> - <a>12</a> - <b>17</b> - <v>322</v> + <a>13</a> + <b>23</b> + <v>351</v> </b> <b> - <a>17</a> - <b>34</b> - <v>295</v> - </b> - <b> - <a>34</a> - <b>1249</b> - <v>189</v> + <a>23</a> + <b>1315</b> + <v>261</v> </b> </bs> </hist> @@ -15516,47 +15327,42 @@ <b> <a>1</a> <b>2</b> - <v>1257</v> + <v>1138</v> </b> <b> <a>2</a> <b>3</b> - <v>624</v> + <v>1239</v> </b> <b> <a>3</a> <b>4</b> - <v>294</v> + <v>385</v> </b> <b> <a>4</a> <b>5</b> - <v>294</v> + <v>392</v> </b> <b> <a>5</a> <b>8</b> - <v>324</v> + <v>383</v> </b> <b> <a>8</a> - <b>12</b> - <v>311</v> + <b>13</b> + <v>407</v> </b> <b> - <a>12</a> - <b>17</b> - <v>322</v> + <a>13</a> + <b>23</b> + <v>351</v> </b> <b> - <a>17</a> - <b>34</b> - <v>295</v> - </b> - <b> - <a>34</a> - <b>1249</b> - <v>189</v> + <a>23</a> + <b>1315</b> + <v>261</v> </b> </bs> </hist> @@ -15572,33 +15378,33 @@ <b> <a>1</a> <b>2</b> - <v>684</v> + <v>718</v> </b> <b> <a>2</a> <b>3</b> - <v>144</v> + <v>180</v> </b> <b> <a>3</a> - <b>4</b> - <v>131</v> + <b>5</b> + <v>114</v> </b> <b> - <a>4</a> - <b>8</b> - <v>109</v> + <a>5</a> + <b>7</b> + <v>102</v> </b> <b> - <a>15</a> - <b>30</b> + <a>7</a> + <b>17</b> + <v>106</v> + </b> + <b> + <a>17</a> + <b>4557</b> <v>94</v> </b> - <b> - <a>31</a> - <b>3911</b> - <v>86</v> - </b> </bs> </hist> </val> @@ -15613,33 +15419,33 @@ <b> <a>1</a> <b>2</b> - <v>684</v> + <v>718</v> </b> <b> <a>2</a> <b>3</b> - <v>144</v> + <v>180</v> </b> <b> <a>3</a> - <b>4</b> - <v>131</v> + <b>5</b> + <v>114</v> </b> <b> - <a>4</a> - <b>8</b> - <v>109</v> + <a>5</a> + <b>7</b> + <v>102</v> </b> <b> - <a>15</a> - <b>30</b> + <a>7</a> + <b>17</b> + <v>106</v> + </b> + <b> + <a>17</a> + <b>4557</b> <v>94</v> </b> - <b> - <a>31</a> - <b>3911</b> - <v>86</v> - </b> </bs> </hist> </val> @@ -15654,7 +15460,7 @@ <b> <a>1</a> <b>2</b> - <v>35070</v> + <v>33181</v> </b> </bs> </hist> @@ -15670,7 +15476,7 @@ <b> <a>1</a> <b>2</b> - <v>35070</v> + <v>33181</v> </b> </bs> </hist> @@ -15680,15 +15486,15 @@ </relation> <relation> <name>ql_module_def</name> - <cardinality>3916</cardinality> + <cardinality>4567</cardinality> <columnsizes> <e> <k>id</k> - <v>3916</v> + <v>4567</v> </e> <e> <k>name</k> - <v>3916</v> + <v>4567</v> </e> </columnsizes> <dependencies> @@ -15702,7 +15508,7 @@ <b> <a>1</a> <b>2</b> - <v>3916</v> + <v>4567</v> </b> </bs> </hist> @@ -15718,7 +15524,7 @@ <b> <a>1</a> <b>2</b> - <v>3916</v> + <v>4567</v> </b> </bs> </hist> @@ -15728,15 +15534,15 @@ </relation> <relation> <name>ql_module_expr_def</name> - <cardinality>72503</cardinality> + <cardinality>76399</cardinality> <columnsizes> <e> <k>id</k> - <v>72503</v> + <v>76399</v> </e> <e> <k>child</k> - <v>72503</v> + <v>76399</v> </e> </columnsizes> <dependencies> @@ -15750,7 +15556,7 @@ <b> <a>1</a> <b>2</b> - <v>72503</v> + <v>76399</v> </b> </bs> </hist> @@ -15766,7 +15572,7 @@ <b> <a>1</a> <b>2</b> - <v>72503</v> + <v>76399</v> </b> </bs> </hist> @@ -15776,15 +15582,15 @@ </relation> <relation> <name>ql_module_expr_name</name> - <cardinality>4091</cardinality> + <cardinality>4773</cardinality> <columnsizes> <e> <k>ql_module_expr</k> - <v>4091</v> + <v>4773</v> </e> <e> <k>name</k> - <v>4091</v> + <v>4773</v> </e> </columnsizes> <dependencies> @@ -15798,7 +15604,7 @@ <b> <a>1</a> <b>2</b> - <v>4091</v> + <v>4773</v> </b> </bs> </hist> @@ -15814,7 +15620,7 @@ <b> <a>1</a> <b>2</b> - <v>4091</v> + <v>4773</v> </b> </bs> </hist> @@ -15824,11 +15630,11 @@ </relation> <relation> <name>ql_module_implements</name> - <cardinality>759</cardinality> + <cardinality>1251</cardinality> <columnsizes> <e> <k>ql_module</k> - <v>759</v> + <v>1251</v> </e> <e> <k>index</k> @@ -15836,7 +15642,7 @@ </e> <e> <k>implements</k> - <v>759</v> + <v>1251</v> </e> </columnsizes> <dependencies> @@ -15850,7 +15656,7 @@ <b> <a>1</a> <b>2</b> - <v>759</v> + <v>1251</v> </b> </bs> </hist> @@ -15866,7 +15672,7 @@ <b> <a>1</a> <b>2</b> - <v>759</v> + <v>1251</v> </b> </bs> </hist> @@ -15880,8 +15686,8 @@ <budget>12</budget> <bs> <b> - <a>759</a> - <b>760</b> + <a>1251</a> + <b>1252</b> <v>1</v> </b> </bs> @@ -15896,8 +15702,8 @@ <budget>12</budget> <bs> <b> - <a>759</a> - <b>760</b> + <a>1251</a> + <b>1252</b> <v>1</v> </b> </bs> @@ -15914,7 +15720,7 @@ <b> <a>1</a> <b>2</b> - <v>759</v> + <v>1251</v> </b> </bs> </hist> @@ -15930,7 +15736,7 @@ <b> <a>1</a> <b>2</b> - <v>759</v> + <v>1251</v> </b> </bs> </hist> @@ -15940,19 +15746,19 @@ </relation> <relation> <name>ql_module_instantiation_child</name> - <cardinality>1190</cardinality> + <cardinality>2192</cardinality> <columnsizes> <e> <k>ql_module_instantiation</k> - <v>1043</v> + <v>1740</v> </e> <e> <k>index</k> - <v>6</v> + <v>8</v> </e> <e> <k>child</k> - <v>1190</v> + <v>2192</v> </e> </columnsizes> <dependencies> @@ -15966,12 +15772,17 @@ <b> <a>1</a> <b>2</b> - <v>966</v> + <v>1473</v> </b> <b> <a>2</a> - <b>7</b> - <v>77</v> + <b>3</b> + <v>172</v> + </b> + <b> + <a>3</a> + <b>9</b> + <v>95</v> </b> </bs> </hist> @@ -15987,12 +15798,17 @@ <b> <a>1</a> <b>2</b> - <v>966</v> + <v>1473</v> </b> <b> <a>2</a> - <b>7</b> - <v>77</v> + <b>3</b> + <v>172</v> + </b> + <b> + <a>3</a> + <b>9</b> + <v>95</v> </b> </bs> </hist> @@ -16008,31 +15824,36 @@ <b> <a>3</a> <b>4</b> + <v>2</v> + </b> + <b> + <a>8</a> + <b>9</b> <v>1</v> </b> <b> - <a>5</a> - <b>6</b> + <a>20</a> + <b>21</b> <v>1</v> </b> <b> - <a>26</a> - <b>27</b> + <a>56</a> + <b>57</b> <v>1</v> </b> <b> - <a>36</a> - <b>37</b> + <a>95</a> + <b>96</b> <v>1</v> </b> <b> - <a>77</a> - <b>78</b> + <a>267</a> + <b>268</b> <v>1</v> </b> <b> - <a>1043</a> - <b>1044</b> + <a>1740</a> + <b>1741</b> <v>1</v> </b> </bs> @@ -16049,31 +15870,36 @@ <b> <a>3</a> <b>4</b> + <v>2</v> + </b> + <b> + <a>8</a> + <b>9</b> <v>1</v> </b> <b> - <a>5</a> - <b>6</b> + <a>20</a> + <b>21</b> <v>1</v> </b> <b> - <a>26</a> - <b>27</b> + <a>56</a> + <b>57</b> <v>1</v> </b> <b> - <a>36</a> - <b>37</b> + <a>95</a> + <b>96</b> <v>1</v> </b> <b> - <a>77</a> - <b>78</b> + <a>267</a> + <b>268</b> <v>1</v> </b> <b> - <a>1043</a> - <b>1044</b> + <a>1740</a> + <b>1741</b> <v>1</v> </b> </bs> @@ -16090,7 +15916,7 @@ <b> <a>1</a> <b>2</b> - <v>1190</v> + <v>2192</v> </b> </bs> </hist> @@ -16106,7 +15932,7 @@ <b> <a>1</a> <b>2</b> - <v>1190</v> + <v>2192</v> </b> </bs> </hist> @@ -16116,15 +15942,15 @@ </relation> <relation> <name>ql_module_instantiation_def</name> - <cardinality>1043</cardinality> + <cardinality>1740</cardinality> <columnsizes> <e> <k>id</k> - <v>1043</v> + <v>1740</v> </e> <e> <k>name</k> - <v>1043</v> + <v>1740</v> </e> </columnsizes> <dependencies> @@ -16138,7 +15964,7 @@ <b> <a>1</a> <b>2</b> - <v>1043</v> + <v>1740</v> </b> </bs> </hist> @@ -16154,7 +15980,7 @@ <b> <a>1</a> <b>2</b> - <v>1043</v> + <v>1740</v> </b> </bs> </hist> @@ -16164,19 +15990,19 @@ </relation> <relation> <name>ql_module_member_child</name> - <cardinality>155140</cardinality> + <cardinality>150156</cardinality> <columnsizes> <e> <k>ql_module_member</k> - <v>119591</v> + <v>118178</v> </e> <e> <k>index</k> - <v>5</v> + <v>6</v> </e> <e> <k>child</k> - <v>155140</v> + <v>150156</v> </e> </columnsizes> <dependencies> @@ -16190,17 +16016,17 @@ <b> <a>1</a> <b>2</b> - <v>87424</v> + <v>88793</v> </b> <b> <a>2</a> <b>3</b> - <v>28864</v> + <v>26917</v> </b> <b> <a>3</a> - <b>6</b> - <v>3303</v> + <b>7</b> + <v>2468</v> </b> </bs> </hist> @@ -16216,17 +16042,17 @@ <b> <a>1</a> <b>2</b> - <v>87424</v> + <v>88793</v> </b> <b> <a>2</a> <b>3</b> - <v>28864</v> + <v>26917</v> </b> <b> <a>3</a> - <b>6</b> - <v>3303</v> + <b>7</b> + <v>2468</v> </b> </bs> </hist> @@ -16240,28 +16066,33 @@ <budget>12</budget> <bs> <b> - <a>4</a> - <b>5</b> + <a>2</a> + <b>3</b> <v>1</v> </b> <b> - <a>75</a> - <b>76</b> + <a>10</a> + <b>11</b> <v>1</v> </b> <b> - <a>3303</a> - <b>3304</b> + <a>113</a> + <b>114</b> <v>1</v> </b> <b> - <a>32167</a> - <b>32168</b> + <a>2468</a> + <b>2469</b> <v>1</v> </b> <b> - <a>119591</a> - <b>119592</b> + <a>29385</a> + <b>29386</b> + <v>1</v> + </b> + <b> + <a>118178</a> + <b>118179</b> <v>1</v> </b> </bs> @@ -16276,28 +16107,33 @@ <budget>12</budget> <bs> <b> - <a>4</a> - <b>5</b> + <a>2</a> + <b>3</b> <v>1</v> </b> <b> - <a>75</a> - <b>76</b> + <a>10</a> + <b>11</b> <v>1</v> </b> <b> - <a>3303</a> - <b>3304</b> + <a>113</a> + <b>114</b> <v>1</v> </b> <b> - <a>32167</a> - <b>32168</b> + <a>2468</a> + <b>2469</b> <v>1</v> </b> <b> - <a>119591</a> - <b>119592</b> + <a>29385</a> + <b>29386</b> + <v>1</v> + </b> + <b> + <a>118178</a> + <b>118179</b> <v>1</v> </b> </bs> @@ -16314,7 +16150,7 @@ <b> <a>1</a> <b>2</b> - <v>155140</v> + <v>150156</v> </b> </bs> </hist> @@ -16330,7 +16166,7 @@ <b> <a>1</a> <b>2</b> - <v>155140</v> + <v>150156</v> </b> </bs> </hist> @@ -16340,26 +16176,26 @@ </relation> <relation> <name>ql_module_member_def</name> - <cardinality>119591</cardinality> + <cardinality>118178</cardinality> <columnsizes> <e> <k>id</k> - <v>119591</v> + <v>118178</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ql_module_name_def</name> - <cardinality>6324</cardinality> + <cardinality>7606</cardinality> <columnsizes> <e> <k>id</k> - <v>6324</v> + <v>7606</v> </e> <e> <k>child</k> - <v>6324</v> + <v>7606</v> </e> </columnsizes> <dependencies> @@ -16373,7 +16209,7 @@ <b> <a>1</a> <b>2</b> - <v>6324</v> + <v>7606</v> </b> </bs> </hist> @@ -16389,7 +16225,7 @@ <b> <a>1</a> <b>2</b> - <v>6324</v> + <v>7606</v> </b> </bs> </hist> @@ -16399,19 +16235,19 @@ </relation> <relation> <name>ql_module_param_def</name> - <cardinality>299</cardinality> + <cardinality>266</cardinality> <columnsizes> <e> <k>id</k> - <v>299</v> + <v>266</v> </e> <e> <k>parameter</k> - <v>299</v> + <v>266</v> </e> <e> <k>signature</k> - <v>299</v> + <v>266</v> </e> </columnsizes> <dependencies> @@ -16425,7 +16261,7 @@ <b> <a>1</a> <b>2</b> - <v>299</v> + <v>266</v> </b> </bs> </hist> @@ -16441,7 +16277,7 @@ <b> <a>1</a> <b>2</b> - <v>299</v> + <v>266</v> </b> </bs> </hist> @@ -16457,7 +16293,7 @@ <b> <a>1</a> <b>2</b> - <v>299</v> + <v>266</v> </b> </bs> </hist> @@ -16473,7 +16309,7 @@ <b> <a>1</a> <b>2</b> - <v>299</v> + <v>266</v> </b> </bs> </hist> @@ -16489,7 +16325,7 @@ <b> <a>1</a> <b>2</b> - <v>299</v> + <v>266</v> </b> </bs> </hist> @@ -16505,7 +16341,7 @@ <b> <a>1</a> <b>2</b> - <v>299</v> + <v>266</v> </b> </bs> </hist> @@ -16515,19 +16351,19 @@ </relation> <relation> <name>ql_module_parameter</name> - <cardinality>299</cardinality> + <cardinality>266</cardinality> <columnsizes> <e> <k>ql_module</k> - <v>214</v> + <v>185</v> </e> <e> <k>index</k> - <v>6</v> + <v>8</v> </e> <e> <k>parameter</k> - <v>299</v> + <v>266</v> </e> </columnsizes> <dependencies> @@ -16541,17 +16377,22 @@ <b> <a>1</a> <b>2</b> - <v>183</v> + <v>138</v> </b> <b> <a>2</a> - <b>4</b> - <v>14</v> + <b>3</b> + <v>30</v> </b> <b> - <a>4</a> - <b>7</b> - <v>17</v> + <a>3</a> + <b>6</b> + <v>15</v> + </b> + <b> + <a>6</a> + <b>9</b> + <v>2</v> </b> </bs> </hist> @@ -16567,17 +16408,22 @@ <b> <a>1</a> <b>2</b> - <v>183</v> + <v>138</v> </b> <b> <a>2</a> - <b>4</b> - <v>14</v> + <b>3</b> + <v>30</v> </b> <b> - <a>4</a> - <b>7</b> - <v>17</v> + <a>3</a> + <b>6</b> + <v>15</v> + </b> + <b> + <a>6</a> + <b>9</b> + <v>2</v> </b> </bs> </hist> @@ -16591,8 +16437,18 @@ <budget>12</budget> <bs> <b> - <a>8</a> - <b>9</b> + <a>1</a> + <b>2</b> + <v>2</v> + </b> + <b> + <a>2</a> + <b>3</b> + <v>1</v> + </b> + <b> + <a>4</a> + <b>5</b> <v>1</v> </b> <b> @@ -16606,18 +16462,13 @@ <v>1</v> </b> <b> - <a>20</a> - <b>21</b> + <a>47</a> + <b>48</b> <v>1</v> </b> <b> - <a>31</a> - <b>32</b> - <v>1</v> - </b> - <b> - <a>214</a> - <b>215</b> + <a>185</a> + <b>186</b> <v>1</v> </b> </bs> @@ -16632,8 +16483,18 @@ <budget>12</budget> <bs> <b> - <a>8</a> - <b>9</b> + <a>1</a> + <b>2</b> + <v>2</v> + </b> + <b> + <a>2</a> + <b>3</b> + <v>1</v> + </b> + <b> + <a>4</a> + <b>5</b> <v>1</v> </b> <b> @@ -16647,18 +16508,13 @@ <v>1</v> </b> <b> - <a>20</a> - <b>21</b> + <a>47</a> + <b>48</b> <v>1</v> </b> <b> - <a>31</a> - <b>32</b> - <v>1</v> - </b> - <b> - <a>214</a> - <b>215</b> + <a>185</a> + <b>186</b> <v>1</v> </b> </bs> @@ -16675,7 +16531,7 @@ <b> <a>1</a> <b>2</b> - <v>299</v> + <v>266</v> </b> </bs> </hist> @@ -16691,7 +16547,7 @@ <b> <a>1</a> <b>2</b> - <v>299</v> + <v>266</v> </b> </bs> </hist> @@ -16701,23 +16557,23 @@ </relation> <relation> <name>ql_mul_expr_def</name> - <cardinality>631</cardinality> + <cardinality>585</cardinality> <columnsizes> <e> <k>id</k> - <v>631</v> + <v>585</v> </e> <e> <k>left</k> - <v>631</v> + <v>585</v> </e> <e> <k>right</k> - <v>631</v> + <v>585</v> </e> <e> <k>child</k> - <v>631</v> + <v>585</v> </e> </columnsizes> <dependencies> @@ -16731,7 +16587,7 @@ <b> <a>1</a> <b>2</b> - <v>631</v> + <v>585</v> </b> </bs> </hist> @@ -16747,7 +16603,7 @@ <b> <a>1</a> <b>2</b> - <v>631</v> + <v>585</v> </b> </bs> </hist> @@ -16763,7 +16619,7 @@ <b> <a>1</a> <b>2</b> - <v>631</v> + <v>585</v> </b> </bs> </hist> @@ -16779,7 +16635,7 @@ <b> <a>1</a> <b>2</b> - <v>631</v> + <v>585</v> </b> </bs> </hist> @@ -16795,7 +16651,7 @@ <b> <a>1</a> <b>2</b> - <v>631</v> + <v>585</v> </b> </bs> </hist> @@ -16811,7 +16667,7 @@ <b> <a>1</a> <b>2</b> - <v>631</v> + <v>585</v> </b> </bs> </hist> @@ -16827,7 +16683,7 @@ <b> <a>1</a> <b>2</b> - <v>631</v> + <v>585</v> </b> </bs> </hist> @@ -16843,7 +16699,7 @@ <b> <a>1</a> <b>2</b> - <v>631</v> + <v>585</v> </b> </bs> </hist> @@ -16859,7 +16715,7 @@ <b> <a>1</a> <b>2</b> - <v>631</v> + <v>585</v> </b> </bs> </hist> @@ -16875,7 +16731,7 @@ <b> <a>1</a> <b>2</b> - <v>631</v> + <v>585</v> </b> </bs> </hist> @@ -16891,7 +16747,7 @@ <b> <a>1</a> <b>2</b> - <v>631</v> + <v>585</v> </b> </bs> </hist> @@ -16907,7 +16763,7 @@ <b> <a>1</a> <b>2</b> - <v>631</v> + <v>585</v> </b> </bs> </hist> @@ -16917,15 +16773,15 @@ </relation> <relation> <name>ql_negation_def</name> - <cardinality>12010</cardinality> + <cardinality>11727</cardinality> <columnsizes> <e> <k>id</k> - <v>12010</v> + <v>11727</v> </e> <e> <k>child</k> - <v>12010</v> + <v>11727</v> </e> </columnsizes> <dependencies> @@ -16939,7 +16795,7 @@ <b> <a>1</a> <b>2</b> - <v>12010</v> + <v>11727</v> </b> </bs> </hist> @@ -16955,7 +16811,7 @@ <b> <a>1</a> <b>2</b> - <v>12010</v> + <v>11727</v> </b> </bs> </hist> @@ -16965,11 +16821,11 @@ </relation> <relation> <name>ql_order_by_child</name> - <cardinality>1298</cardinality> + <cardinality>1272</cardinality> <columnsizes> <e> <k>ql_order_by</k> - <v>1098</v> + <v>1067</v> </e> <e> <k>index</k> @@ -16977,7 +16833,7 @@ </e> <e> <k>child</k> - <v>1298</v> + <v>1272</v> </e> </columnsizes> <dependencies> @@ -16991,12 +16847,12 @@ <b> <a>1</a> <b>2</b> - <v>898</v> + <v>862</v> </b> <b> <a>2</a> <b>3</b> - <v>200</v> + <v>205</v> </b> </bs> </hist> @@ -17012,12 +16868,12 @@ <b> <a>1</a> <b>2</b> - <v>898</v> + <v>862</v> </b> <b> <a>2</a> <b>3</b> - <v>200</v> + <v>205</v> </b> </bs> </hist> @@ -17031,13 +16887,13 @@ <budget>12</budget> <bs> <b> - <a>200</a> - <b>201</b> + <a>205</a> + <b>206</b> <v>1</v> </b> <b> - <a>1098</a> - <b>1099</b> + <a>1067</a> + <b>1068</b> <v>1</v> </b> </bs> @@ -17052,13 +16908,13 @@ <budget>12</budget> <bs> <b> - <a>200</a> - <b>201</b> + <a>205</a> + <b>206</b> <v>1</v> </b> <b> - <a>1098</a> - <b>1099</b> + <a>1067</a> + <b>1068</b> <v>1</v> </b> </bs> @@ -17075,7 +16931,7 @@ <b> <a>1</a> <b>2</b> - <v>1298</v> + <v>1272</v> </b> </bs> </hist> @@ -17091,7 +16947,7 @@ <b> <a>1</a> <b>2</b> - <v>1298</v> + <v>1272</v> </b> </bs> </hist> @@ -17101,30 +16957,30 @@ </relation> <relation> <name>ql_order_by_def</name> - <cardinality>1098</cardinality> + <cardinality>1067</cardinality> <columnsizes> <e> <k>id</k> - <v>1098</v> + <v>1067</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ql_order_bys_child</name> - <cardinality>1098</cardinality> + <cardinality>1067</cardinality> <columnsizes> <e> <k>ql_order_bys</k> - <v>674</v> + <v>661</v> </e> <e> <k>index</k> - <v>9</v> + <v>8</v> </e> <e> <k>child</k> - <v>1098</v> + <v>1067</v> </e> </columnsizes> <dependencies> @@ -17138,22 +16994,22 @@ <b> <a>1</a> <b>2</b> - <v>488</v> + <v>477</v> </b> <b> <a>2</a> <b>3</b> - <v>100</v> + <v>101</v> </b> <b> <a>3</a> <b>5</b> - <v>43</v> + <v>41</v> </b> <b> <a>5</a> - <b>10</b> - <v>43</v> + <b>9</b> + <v>42</v> </b> </bs> </hist> @@ -17169,22 +17025,22 @@ <b> <a>1</a> <b>2</b> - <v>488</v> + <v>477</v> </b> <b> <a>2</a> <b>3</b> - <v>100</v> + <v>101</v> </b> <b> <a>3</a> <b>5</b> - <v>43</v> + <v>41</v> </b> <b> <a>5</a> - <b>10</b> - <v>43</v> + <b>9</b> + <v>42</v> </b> </bs> </hist> @@ -17198,28 +17054,23 @@ <budget>12</budget> <bs> <b> - <a>3</a> - <b>4</b> + <a>1</a> + <b>2</b> <v>1</v> </b> <b> - <a>6</a> - <b>7</b> + <a>12</a> + <b>13</b> <v>1</v> </b> <b> - <a>15</a> - <b>16</b> + <a>21</a> + <b>22</b> <v>1</v> </b> <b> - <a>22</a> - <b>23</b> - <v>1</v> - </b> - <b> - <a>43</a> - <b>44</b> + <a>42</a> + <b>43</b> <v>1</v> </b> <b> @@ -17228,18 +17079,18 @@ <v>1</v> </b> <b> - <a>86</a> - <b>87</b> + <a>83</a> + <b>84</b> <v>1</v> </b> <b> - <a>186</a> - <b>187</b> + <a>184</a> + <b>185</b> <v>1</v> </b> <b> - <a>674</a> - <b>675</b> + <a>661</a> + <b>662</b> <v>1</v> </b> </bs> @@ -17254,28 +17105,23 @@ <budget>12</budget> <bs> <b> - <a>3</a> - <b>4</b> + <a>1</a> + <b>2</b> <v>1</v> </b> <b> - <a>6</a> - <b>7</b> + <a>12</a> + <b>13</b> <v>1</v> </b> <b> - <a>15</a> - <b>16</b> + <a>21</a> + <b>22</b> <v>1</v> </b> <b> - <a>22</a> - <b>23</b> - <v>1</v> - </b> - <b> - <a>43</a> - <b>44</b> + <a>42</a> + <b>43</b> <v>1</v> </b> <b> @@ -17284,18 +17130,18 @@ <v>1</v> </b> <b> - <a>86</a> - <b>87</b> + <a>83</a> + <b>84</b> <v>1</v> </b> <b> - <a>186</a> - <b>187</b> + <a>184</a> + <b>185</b> <v>1</v> </b> <b> - <a>674</a> - <b>675</b> + <a>661</a> + <b>662</b> <v>1</v> </b> </bs> @@ -17312,7 +17158,7 @@ <b> <a>1</a> <b>2</b> - <v>1098</v> + <v>1067</v> </b> </bs> </hist> @@ -17328,7 +17174,7 @@ <b> <a>1</a> <b>2</b> - <v>1098</v> + <v>1067</v> </b> </bs> </hist> @@ -17338,26 +17184,26 @@ </relation> <relation> <name>ql_order_bys_def</name> - <cardinality>674</cardinality> + <cardinality>661</cardinality> <columnsizes> <e> <k>id</k> - <v>674</v> + <v>661</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ql_par_expr_def</name> - <cardinality>6038</cardinality> + <cardinality>5799</cardinality> <columnsizes> <e> <k>id</k> - <v>6038</v> + <v>5799</v> </e> <e> <k>child</k> - <v>6038</v> + <v>5799</v> </e> </columnsizes> <dependencies> @@ -17371,7 +17217,7 @@ <b> <a>1</a> <b>2</b> - <v>6038</v> + <v>5799</v> </b> </bs> </hist> @@ -17387,7 +17233,7 @@ <b> <a>1</a> <b>2</b> - <v>6038</v> + <v>5799</v> </b> </bs> </hist> @@ -17397,15 +17243,15 @@ </relation> <relation> <name>ql_predicate_alias_body_def</name> - <cardinality>329</cardinality> + <cardinality>372</cardinality> <columnsizes> <e> <k>id</k> - <v>329</v> + <v>372</v> </e> <e> <k>child</k> - <v>329</v> + <v>372</v> </e> </columnsizes> <dependencies> @@ -17419,7 +17265,7 @@ <b> <a>1</a> <b>2</b> - <v>329</v> + <v>372</v> </b> </bs> </hist> @@ -17435,7 +17281,7 @@ <b> <a>1</a> <b>2</b> - <v>329</v> + <v>372</v> </b> </bs> </hist> @@ -17445,11 +17291,11 @@ </relation> <relation> <name>ql_predicate_expr_child</name> - <cardinality>1324</cardinality> + <cardinality>1478</cardinality> <columnsizes> <e> <k>ql_predicate_expr</k> - <v>662</v> + <v>739</v> </e> <e> <k>index</k> @@ -17457,7 +17303,7 @@ </e> <e> <k>child</k> - <v>1324</v> + <v>1478</v> </e> </columnsizes> <dependencies> @@ -17471,7 +17317,7 @@ <b> <a>2</a> <b>3</b> - <v>662</v> + <v>739</v> </b> </bs> </hist> @@ -17487,7 +17333,7 @@ <b> <a>2</a> <b>3</b> - <v>662</v> + <v>739</v> </b> </bs> </hist> @@ -17501,8 +17347,8 @@ <budget>12</budget> <bs> <b> - <a>662</a> - <b>663</b> + <a>739</a> + <b>740</b> <v>2</v> </b> </bs> @@ -17517,8 +17363,8 @@ <budget>12</budget> <bs> <b> - <a>662</a> - <b>663</b> + <a>739</a> + <b>740</b> <v>2</v> </b> </bs> @@ -17535,7 +17381,7 @@ <b> <a>1</a> <b>2</b> - <v>1324</v> + <v>1478</v> </b> </bs> </hist> @@ -17551,7 +17397,7 @@ <b> <a>1</a> <b>2</b> - <v>1324</v> + <v>1478</v> </b> </bs> </hist> @@ -17561,11 +17407,11 @@ </relation> <relation> <name>ql_predicate_expr_def</name> - <cardinality>662</cardinality> + <cardinality>739</cardinality> <columnsizes> <e> <k>id</k> - <v>662</v> + <v>739</v> </e> </columnsizes> <dependencies/> @@ -17675,19 +17521,19 @@ </relation> <relation> <name>ql_ql_child</name> - <cardinality>85246</cardinality> + <cardinality>85914</cardinality> <columnsizes> <e> <k>ql_ql</k> - <v>10779</v> + <v>11162</v> </e> <e> <k>index</k> - <v>326</v> + <v>340</v> </e> <e> <k>child</k> - <v>85246</v> + <v>85914</v> </e> </columnsizes> <dependencies> @@ -17701,47 +17547,52 @@ <b> <a>1</a> <b>2</b> - <v>134</v> + <v>96</v> </b> <b> <a>2</a> <b>3</b> - <v>2560</v> + <v>2238</v> </b> <b> <a>3</a> <b>4</b> - <v>2291</v> + <v>2551</v> </b> <b> <a>4</a> <b>5</b> - <v>1380</v> + <v>1524</v> </b> <b> <a>5</a> <b>6</b> - <v>1013</v> + <v>1041</v> </b> <b> <a>6</a> - <b>8</b> - <v>949</v> + <b>7</b> + <v>730</v> </b> <b> - <a>8</a> - <b>12</b> - <v>954</v> + <a>7</a> + <b>9</b> + <v>829</v> </b> <b> - <a>12</a> - <b>24</b> - <v>827</v> + <a>9</a> + <b>14</b> + <v>913</v> </b> <b> - <a>24</a> - <b>327</b> - <v>671</v> + <a>14</a> + <b>31</b> + <v>844</v> + </b> + <b> + <a>31</a> + <b>341</b> + <v>396</v> </b> </bs> </hist> @@ -17757,47 +17608,52 @@ <b> <a>1</a> <b>2</b> - <v>134</v> + <v>96</v> </b> <b> <a>2</a> <b>3</b> - <v>2560</v> + <v>2238</v> </b> <b> <a>3</a> <b>4</b> - <v>2291</v> + <v>2551</v> </b> <b> <a>4</a> <b>5</b> - <v>1380</v> + <v>1524</v> </b> <b> <a>5</a> <b>6</b> - <v>1013</v> + <v>1041</v> </b> <b> <a>6</a> - <b>8</b> - <v>949</v> + <b>7</b> + <v>730</v> </b> <b> - <a>8</a> - <b>12</b> - <v>954</v> + <a>7</a> + <b>9</b> + <v>829</v> </b> <b> - <a>12</a> - <b>24</b> - <v>827</v> + <a>9</a> + <b>14</b> + <v>913</v> </b> <b> - <a>24</a> - <b>327</b> - <v>671</v> + <a>14</a> + <b>31</b> + <v>844</v> + </b> + <b> + <a>31</a> + <b>341</b> + <v>396</v> </b> </bs> </hist> @@ -17813,68 +17669,63 @@ <b> <a>1</a> <b>2</b> - <v>45</v> + <v>42</v> </b> <b> <a>2</a> - <b>5</b> - <v>17</v> + <b>4</b> + <v>25</v> </b> <b> - <a>5</a> - <b>11</b> - <v>26</v> - </b> - <b> - <a>11</a> - <b>13</b> - <v>24</v> - </b> - <b> - <a>13</a> - <b>15</b> - <v>30</v> - </b> - <b> - <a>15</a> - <b>23</b> - <v>26</v> - </b> - <b> - <a>23</a> - <b>30</b> - <v>27</v> - </b> - <b> - <a>30</a> - <b>47</b> + <a>4</a> + <b>6</b> <v>28</v> </b> + <b> + <a>6</a> + <b>10</b> + <v>31</v> + </b> + <b> + <a>10</a> + <b>13</b> + <v>28</v> + </b> + <b> + <a>13</a> + <b>22</b> + <v>30</v> + </b> + <b> + <a>22</a> + <b>29</b> + <v>26</v> + </b> + <b> + <a>29</a> + <b>46</b> + <v>27</v> + </b> <b> <a>48</a> - <b>94</b> - <v>25</v> + <b>83</b> + <v>26</v> </b> <b> - <a>96</a> - <b>185</b> - <v>25</v> + <a>84</a> + <b>176</b> + <v>26</v> </b> <b> - <a>187</a> - <b>519</b> - <v>25</v> + <a>179</a> + <b>553</b> + <v>26</v> </b> <b> - <a>548</a> - <b>5795</b> + <a>584</a> + <b>11163</b> <v>25</v> </b> - <b> - <a>8085</a> - <b>10780</b> - <v>3</v> - </b> </bs> </hist> </val> @@ -17889,68 +17740,63 @@ <b> <a>1</a> <b>2</b> - <v>45</v> + <v>42</v> </b> <b> <a>2</a> - <b>5</b> - <v>17</v> + <b>4</b> + <v>25</v> </b> <b> - <a>5</a> - <b>11</b> - <v>26</v> - </b> - <b> - <a>11</a> - <b>13</b> - <v>24</v> - </b> - <b> - <a>13</a> - <b>15</b> - <v>30</v> - </b> - <b> - <a>15</a> - <b>23</b> - <v>26</v> - </b> - <b> - <a>23</a> - <b>30</b> - <v>27</v> - </b> - <b> - <a>30</a> - <b>47</b> + <a>4</a> + <b>6</b> <v>28</v> </b> + <b> + <a>6</a> + <b>10</b> + <v>31</v> + </b> + <b> + <a>10</a> + <b>13</b> + <v>28</v> + </b> + <b> + <a>13</a> + <b>22</b> + <v>30</v> + </b> + <b> + <a>22</a> + <b>29</b> + <v>26</v> + </b> + <b> + <a>29</a> + <b>46</b> + <v>27</v> + </b> <b> <a>48</a> - <b>94</b> - <v>25</v> + <b>83</b> + <v>26</v> </b> <b> - <a>96</a> - <b>185</b> - <v>25</v> + <a>84</a> + <b>176</b> + <v>26</v> </b> <b> - <a>187</a> - <b>519</b> - <v>25</v> + <a>179</a> + <b>553</b> + <v>26</v> </b> <b> - <a>548</a> - <b>5795</b> + <a>584</a> + <b>11163</b> <v>25</v> </b> - <b> - <a>8085</a> - <b>10780</b> - <v>3</v> - </b> </bs> </hist> </val> @@ -17965,7 +17811,7 @@ <b> <a>1</a> <b>2</b> - <v>85246</v> + <v>85914</v> </b> </bs> </hist> @@ -17981,7 +17827,7 @@ <b> <a>1</a> <b>2</b> - <v>85246</v> + <v>85914</v> </b> </bs> </hist> @@ -17991,22 +17837,22 @@ </relation> <relation> <name>ql_ql_def</name> - <cardinality>10785</cardinality> + <cardinality>11167</cardinality> <columnsizes> <e> <k>id</k> - <v>10785</v> + <v>11167</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ql_qualified_expr_child</name> - <cardinality>337022</cardinality> + <cardinality>330314</cardinality> <columnsizes> <e> <k>ql_qualified_expr</k> - <v>168511</v> + <v>165157</v> </e> <e> <k>index</k> @@ -18014,7 +17860,7 @@ </e> <e> <k>child</k> - <v>337022</v> + <v>330314</v> </e> </columnsizes> <dependencies> @@ -18028,7 +17874,7 @@ <b> <a>2</a> <b>3</b> - <v>168511</v> + <v>165157</v> </b> </bs> </hist> @@ -18044,7 +17890,7 @@ <b> <a>2</a> <b>3</b> - <v>168511</v> + <v>165157</v> </b> </bs> </hist> @@ -18058,8 +17904,8 @@ <budget>12</budget> <bs> <b> - <a>168511</a> - <b>168512</b> + <a>165157</a> + <b>165158</b> <v>2</v> </b> </bs> @@ -18074,8 +17920,8 @@ <budget>12</budget> <bs> <b> - <a>168511</a> - <b>168512</b> + <a>165157</a> + <b>165158</b> <v>2</v> </b> </bs> @@ -18092,7 +17938,7 @@ <b> <a>1</a> <b>2</b> - <v>337022</v> + <v>330314</v> </b> </bs> </hist> @@ -18108,7 +17954,7 @@ <b> <a>1</a> <b>2</b> - <v>337022</v> + <v>330314</v> </b> </bs> </hist> @@ -18118,30 +17964,30 @@ </relation> <relation> <name>ql_qualified_expr_def</name> - <cardinality>168511</cardinality> + <cardinality>165157</cardinality> <columnsizes> <e> <k>id</k> - <v>168511</v> + <v>165157</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ql_qualified_rhs_child</name> - <cardinality>68675</cardinality> + <cardinality>68095</cardinality> <columnsizes> <e> <k>ql_qualified_rhs</k> - <v>52287</v> + <v>52354</v> </e> <e> <k>index</k> - <v>10</v> + <v>11</v> </e> <e> <k>child</k> - <v>68675</v> + <v>68095</v> </e> </columnsizes> <dependencies> @@ -18155,17 +18001,17 @@ <b> <a>1</a> <b>2</b> - <v>41503</v> + <v>41965</v> </b> <b> <a>2</a> <b>3</b> - <v>7598</v> + <v>7314</v> </b> <b> <a>3</a> - <b>11</b> - <v>3186</v> + <b>12</b> + <v>3075</v> </b> </bs> </hist> @@ -18181,17 +18027,17 @@ <b> <a>1</a> <b>2</b> - <v>41503</v> + <v>41965</v> </b> <b> <a>2</a> <b>3</b> - <v>7598</v> + <v>7314</v> </b> <b> <a>3</a> - <b>11</b> - <v>3186</v> + <b>12</b> + <v>3075</v> </b> </bs> </hist> @@ -18205,18 +18051,18 @@ <budget>12</budget> <bs> <b> - <a>1</a> - <b>2</b> + <a>8</a> + <b>9</b> <v>1</v> </b> <b> - <a>3</a> - <b>4</b> + <a>9</a> + <b>10</b> <v>1</v> </b> <b> - <a>12</a> - <b>13</b> + <a>11</a> + <b>12</b> <v>1</v> </b> <b> @@ -18225,33 +18071,38 @@ <v>1</v> </b> <b> - <a>60</a> - <b>61</b> + <a>25</a> + <b>26</b> <v>1</v> </b> <b> - <a>905</a> - <b>906</b> + <a>66</a> + <b>67</b> <v>1</v> </b> <b> - <a>1417</a> - <b>1418</b> + <a>802</a> + <b>803</b> <v>1</v> </b> <b> - <a>3186</a> - <b>3187</b> + <a>1336</a> + <b>1337</b> <v>1</v> </b> <b> - <a>10784</a> - <b>10785</b> + <a>3075</a> + <b>3076</b> <v>1</v> </b> <b> - <a>52287</a> - <b>52288</b> + <a>10389</a> + <b>10390</b> + <v>1</v> + </b> + <b> + <a>52354</a> + <b>52355</b> <v>1</v> </b> </bs> @@ -18266,18 +18117,18 @@ <budget>12</budget> <bs> <b> - <a>1</a> - <b>2</b> + <a>8</a> + <b>9</b> <v>1</v> </b> <b> - <a>3</a> - <b>4</b> + <a>9</a> + <b>10</b> <v>1</v> </b> <b> - <a>12</a> - <b>13</b> + <a>11</a> + <b>12</b> <v>1</v> </b> <b> @@ -18286,33 +18137,38 @@ <v>1</v> </b> <b> - <a>60</a> - <b>61</b> + <a>25</a> + <b>26</b> <v>1</v> </b> <b> - <a>905</a> - <b>906</b> + <a>66</a> + <b>67</b> <v>1</v> </b> <b> - <a>1417</a> - <b>1418</b> + <a>802</a> + <b>803</b> <v>1</v> </b> <b> - <a>3186</a> - <b>3187</b> + <a>1336</a> + <b>1337</b> <v>1</v> </b> <b> - <a>10784</a> - <b>10785</b> + <a>3075</a> + <b>3076</b> <v>1</v> </b> <b> - <a>52287</a> - <b>52288</b> + <a>10389</a> + <b>10390</b> + <v>1</v> + </b> + <b> + <a>52354</a> + <b>52355</b> <v>1</v> </b> </bs> @@ -18329,7 +18185,7 @@ <b> <a>1</a> <b>2</b> - <v>68675</v> + <v>68095</v> </b> </bs> </hist> @@ -18345,7 +18201,7 @@ <b> <a>1</a> <b>2</b> - <v>68675</v> + <v>68095</v> </b> </bs> </hist> @@ -18355,26 +18211,26 @@ </relation> <relation> <name>ql_qualified_rhs_def</name> - <cardinality>168511</cardinality> + <cardinality>165157</cardinality> <columnsizes> <e> <k>id</k> - <v>168511</v> + <v>165157</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ql_qualified_rhs_name</name> - <cardinality>157179</cardinality> + <cardinality>153874</cardinality> <columnsizes> <e> <k>ql_qualified_rhs</k> - <v>157179</v> + <v>153874</v> </e> <e> <k>name</k> - <v>157179</v> + <v>153874</v> </e> </columnsizes> <dependencies> @@ -18388,7 +18244,7 @@ <b> <a>1</a> <b>2</b> - <v>157179</v> + <v>153874</v> </b> </bs> </hist> @@ -18404,7 +18260,7 @@ <b> <a>1</a> <b>2</b> - <v>157179</v> + <v>153874</v> </b> </bs> </hist> @@ -18414,11 +18270,11 @@ </relation> <relation> <name>ql_quantified_child</name> - <cardinality>57793</cardinality> + <cardinality>52811</cardinality> <columnsizes> <e> <k>ql_quantified</k> - <v>26111</v> + <v>24227</v> </e> <e> <k>index</k> @@ -18426,7 +18282,7 @@ </e> <e> <k>child</k> - <v>57793</v> + <v>52811</v> </e> </columnsizes> <dependencies> @@ -18440,27 +18296,27 @@ <b> <a>1</a> <b>2</b> - <v>4431</v> + <v>4452</v> </b> <b> <a>2</a> <b>3</b> - <v>15291</v> + <v>14178</v> </b> <b> <a>3</a> <b>4</b> - <v>4044</v> + <v>3526</v> </b> <b> <a>4</a> <b>6</b> - <v>2065</v> + <v>1823</v> </b> <b> <a>6</a> <b>23</b> - <v>280</v> + <v>248</v> </b> </bs> </hist> @@ -18476,27 +18332,27 @@ <b> <a>1</a> <b>2</b> - <v>4431</v> + <v>4452</v> </b> <b> <a>2</a> <b>3</b> - <v>15291</v> + <v>14178</v> </b> <b> <a>3</a> <b>4</b> - <v>4044</v> + <v>3526</v> </b> <b> <a>4</a> <b>6</b> - <v>2065</v> + <v>1823</v> </b> <b> <a>6</a> <b>23</b> - <v>280</v> + <v>248</v> </b> </bs> </hist> @@ -18515,33 +18371,33 @@ <v>11</v> </b> <b> - <a>4</a> - <b>12</b> + <a>3</a> + <b>9</b> <v>2</v> </b> <b> - <a>22</a> - <b>47</b> + <a>19</a> + <b>45</b> <v>2</v> </b> <b> - <a>110</a> - <b>281</b> + <a>102</a> + <b>249</b> <v>2</v> </b> <b> - <a>784</a> - <b>2346</b> + <a>706</a> + <b>2072</b> <v>2</v> </b> <b> - <a>6389</a> - <b>21681</b> + <a>5597</a> + <b>19776</b> <v>2</v> </b> <b> - <a>26111</a> - <b>26112</b> + <a>24227</a> + <b>24228</b> <v>1</v> </b> </bs> @@ -18561,33 +18417,33 @@ <v>11</v> </b> <b> - <a>4</a> - <b>12</b> + <a>3</a> + <b>9</b> <v>2</v> </b> <b> - <a>22</a> - <b>47</b> + <a>19</a> + <b>45</b> <v>2</v> </b> <b> - <a>110</a> - <b>281</b> + <a>102</a> + <b>249</b> <v>2</v> </b> <b> - <a>784</a> - <b>2346</b> + <a>706</a> + <b>2072</b> <v>2</v> </b> <b> - <a>6389</a> - <b>21681</b> + <a>5597</a> + <b>19776</b> <v>2</v> </b> <b> - <a>26111</a> - <b>26112</b> + <a>24227</a> + <b>24228</b> <v>1</v> </b> </bs> @@ -18604,7 +18460,7 @@ <b> <a>1</a> <b>2</b> - <v>57793</v> + <v>52811</v> </b> </bs> </hist> @@ -18620,7 +18476,7 @@ <b> <a>1</a> <b>2</b> - <v>57793</v> + <v>52811</v> </b> </bs> </hist> @@ -18630,26 +18486,26 @@ </relation> <relation> <name>ql_quantified_def</name> - <cardinality>26111</cardinality> + <cardinality>24227</cardinality> <columnsizes> <e> <k>id</k> - <v>26111</v> + <v>24227</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ql_quantified_expr</name> - <cardinality>4431</cardinality> + <cardinality>4452</cardinality> <columnsizes> <e> <k>ql_quantified</k> - <v>4431</v> + <v>4452</v> </e> <e> <k>expr</k> - <v>4431</v> + <v>4452</v> </e> </columnsizes> <dependencies> @@ -18663,7 +18519,7 @@ <b> <a>1</a> <b>2</b> - <v>4431</v> + <v>4452</v> </b> </bs> </hist> @@ -18679,7 +18535,7 @@ <b> <a>1</a> <b>2</b> - <v>4431</v> + <v>4452</v> </b> </bs> </hist> @@ -18689,15 +18545,15 @@ </relation> <relation> <name>ql_quantified_formula</name> - <cardinality>7682</cardinality> + <cardinality>7476</cardinality> <columnsizes> <e> <k>ql_quantified</k> - <v>7682</v> + <v>7476</v> </e> <e> <k>formula</k> - <v>7682</v> + <v>7476</v> </e> </columnsizes> <dependencies> @@ -18711,7 +18567,7 @@ <b> <a>1</a> <b>2</b> - <v>7682</v> + <v>7476</v> </b> </bs> </hist> @@ -18727,7 +18583,7 @@ <b> <a>1</a> <b>2</b> - <v>7682</v> + <v>7476</v> </b> </bs> </hist> @@ -18737,15 +18593,15 @@ </relation> <relation> <name>ql_quantified_range</name> - <cardinality>21641</cardinality> + <cardinality>19737</cardinality> <columnsizes> <e> <k>ql_quantified</k> - <v>21641</v> + <v>19737</v> </e> <e> <k>range</k> - <v>21641</v> + <v>19737</v> </e> </columnsizes> <dependencies> @@ -18759,7 +18615,7 @@ <b> <a>1</a> <b>2</b> - <v>21641</v> + <v>19737</v> </b> </bs> </hist> @@ -18775,7 +18631,7 @@ <b> <a>1</a> <b>2</b> - <v>21641</v> + <v>19737</v> </b> </bs> </hist> @@ -18785,19 +18641,19 @@ </relation> <relation> <name>ql_range_def</name> - <cardinality>417</cardinality> + <cardinality>365</cardinality> <columnsizes> <e> <k>id</k> - <v>417</v> + <v>365</v> </e> <e> <k>lower</k> - <v>417</v> + <v>365</v> </e> <e> <k>upper</k> - <v>417</v> + <v>365</v> </e> </columnsizes> <dependencies> @@ -18811,7 +18667,7 @@ <b> <a>1</a> <b>2</b> - <v>417</v> + <v>365</v> </b> </bs> </hist> @@ -18827,7 +18683,7 @@ <b> <a>1</a> <b>2</b> - <v>417</v> + <v>365</v> </b> </bs> </hist> @@ -18843,7 +18699,7 @@ <b> <a>1</a> <b>2</b> - <v>417</v> + <v>365</v> </b> </bs> </hist> @@ -18859,7 +18715,7 @@ <b> <a>1</a> <b>2</b> - <v>417</v> + <v>365</v> </b> </bs> </hist> @@ -18875,7 +18731,7 @@ <b> <a>1</a> <b>2</b> - <v>417</v> + <v>365</v> </b> </bs> </hist> @@ -18891,7 +18747,7 @@ <b> <a>1</a> <b>2</b> - <v>417</v> + <v>365</v> </b> </bs> </hist> @@ -18901,11 +18757,11 @@ </relation> <relation> <name>ql_select_child</name> - <cardinality>22594</cardinality> + <cardinality>23801</cardinality> <columnsizes> <e> <k>ql_select</k> - <v>5640</v> + <v>5989</v> </e> <e> <k>index</k> @@ -18913,7 +18769,7 @@ </e> <e> <k>child</k> - <v>22594</v> + <v>23801</v> </e> </columnsizes> <dependencies> @@ -18927,37 +18783,37 @@ <b> <a>1</a> <b>2</b> - <v>137</v> + <v>149</v> </b> <b> <a>2</a> <b>3</b> - <v>787</v> + <v>854</v> </b> <b> <a>3</a> <b>4</b> - <v>1249</v> + <v>1341</v> </b> <b> <a>4</a> <b>5</b> - <v>1613</v> + <v>1821</v> </b> <b> <a>5</a> <b>6</b> - <v>1087</v> + <v>1028</v> </b> <b> <a>6</a> <b>7</b> - <v>453</v> + <v>465</v> </b> <b> <a>7</a> <b>21</b> - <v>314</v> + <v>331</v> </b> </bs> </hist> @@ -18973,37 +18829,37 @@ <b> <a>1</a> <b>2</b> - <v>137</v> + <v>149</v> </b> <b> <a>2</a> <b>3</b> - <v>787</v> + <v>854</v> </b> <b> <a>3</a> <b>4</b> - <v>1249</v> + <v>1341</v> </b> <b> <a>4</a> <b>5</b> - <v>1613</v> + <v>1821</v> </b> <b> <a>5</a> <b>6</b> - <v>1087</v> + <v>1028</v> </b> <b> <a>6</a> <b>7</b> - <v>453</v> + <v>465</v> </b> <b> <a>7</a> <b>21</b> - <v>314</v> + <v>331</v> </b> </bs> </hist> @@ -19027,18 +18883,23 @@ <v>2</v> </b> <b> - <a>3</a> - <b>4</b> - <v>2</v> + <a>4</a> + <b>5</b> + <v>1</v> </b> <b> - <a>7</a> - <b>8</b> - <v>2</v> + <a>6</a> + <b>7</b> + <v>1</v> </b> <b> - <a>12</a> - <b>13</b> + <a>11</a> + <b>12</b> + <v>1</v> + </b> + <b> + <a>13</a> + <b>14</b> <v>1</v> </b> <b> @@ -19047,58 +18908,63 @@ <v>1</v> </b> <b> - <a>25</a> - <b>26</b> + <a>27</a> + <b>28</b> <v>1</v> </b> <b> - <a>37</a> - <b>38</b> + <a>29</a> + <b>30</b> <v>1</v> </b> <b> - <a>64</a> - <b>65</b> + <a>44</a> + <b>45</b> <v>1</v> </b> <b> - <a>150</a> - <b>151</b> + <a>71</a> + <b>72</b> <v>1</v> </b> <b> - <a>314</a> - <b>315</b> + <a>160</a> + <b>161</b> <v>1</v> </b> <b> - <a>767</a> - <b>768</b> + <a>331</a> + <b>332</b> <v>1</v> </b> <b> - <a>1854</a> - <b>1855</b> + <a>796</a> + <b>797</b> <v>1</v> </b> <b> - <a>3467</a> - <b>3468</b> + <a>1824</a> + <b>1825</b> <v>1</v> </b> <b> - <a>4716</a> - <b>4717</b> + <a>3645</a> + <b>3646</b> <v>1</v> </b> <b> - <a>5503</a> - <b>5504</b> + <a>4986</a> + <b>4987</b> <v>1</v> </b> <b> - <a>5640</a> - <b>5641</b> + <a>5840</a> + <b>5841</b> + <v>1</v> + </b> + <b> + <a>5989</a> + <b>5990</b> <v>1</v> </b> </bs> @@ -19123,18 +18989,23 @@ <v>2</v> </b> <b> - <a>3</a> - <b>4</b> - <v>2</v> + <a>4</a> + <b>5</b> + <v>1</v> </b> <b> - <a>7</a> - <b>8</b> - <v>2</v> + <a>6</a> + <b>7</b> + <v>1</v> </b> <b> - <a>12</a> - <b>13</b> + <a>11</a> + <b>12</b> + <v>1</v> + </b> + <b> + <a>13</a> + <b>14</b> <v>1</v> </b> <b> @@ -19143,58 +19014,63 @@ <v>1</v> </b> <b> - <a>25</a> - <b>26</b> + <a>27</a> + <b>28</b> <v>1</v> </b> <b> - <a>37</a> - <b>38</b> + <a>29</a> + <b>30</b> <v>1</v> </b> <b> - <a>64</a> - <b>65</b> + <a>44</a> + <b>45</b> <v>1</v> </b> <b> - <a>150</a> - <b>151</b> + <a>71</a> + <b>72</b> <v>1</v> </b> <b> - <a>314</a> - <b>315</b> + <a>160</a> + <b>161</b> <v>1</v> </b> <b> - <a>767</a> - <b>768</b> + <a>331</a> + <b>332</b> <v>1</v> </b> <b> - <a>1854</a> - <b>1855</b> + <a>796</a> + <b>797</b> <v>1</v> </b> <b> - <a>3467</a> - <b>3468</b> + <a>1824</a> + <b>1825</b> <v>1</v> </b> <b> - <a>4716</a> - <b>4717</b> + <a>3645</a> + <b>3646</b> <v>1</v> </b> <b> - <a>5503</a> - <b>5504</b> + <a>4986</a> + <b>4987</b> <v>1</v> </b> <b> - <a>5640</a> - <b>5641</b> + <a>5840</a> + <b>5841</b> + <v>1</v> + </b> + <b> + <a>5989</a> + <b>5990</b> <v>1</v> </b> </bs> @@ -19211,7 +19087,7 @@ <b> <a>1</a> <b>2</b> - <v>22594</v> + <v>23801</v> </b> </bs> </hist> @@ -19227,7 +19103,7 @@ <b> <a>1</a> <b>2</b> - <v>22594</v> + <v>23801</v> </b> </bs> </hist> @@ -19237,22 +19113,22 @@ </relation> <relation> <name>ql_select_def</name> - <cardinality>5640</cardinality> + <cardinality>5989</cardinality> <columnsizes> <e> <k>id</k> - <v>5640</v> + <v>5989</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ql_set_literal_child</name> - <cardinality>18133</cardinality> + <cardinality>20149</cardinality> <columnsizes> <e> <k>ql_set_literal</k> - <v>3557</v> + <v>4014</v> </e> <e> <k>index</k> @@ -19260,7 +19136,7 @@ </e> <e> <k>child</k> - <v>18133</v> + <v>20149</v> </e> </columnsizes> <dependencies> @@ -19274,37 +19150,37 @@ <b> <a>1</a> <b>2</b> - <v>5</v> + <v>9</v> </b> <b> <a>2</a> <b>3</b> - <v>2131</v> + <v>2354</v> </b> <b> <a>3</a> <b>4</b> - <v>426</v> + <v>506</v> </b> <b> <a>4</a> <b>5</b> - <v>309</v> + <v>351</v> </b> <b> <a>5</a> <b>7</b> - <v>258</v> + <v>291</v> </b> <b> <a>7</a> - <b>14</b> - <v>276</v> + <b>13</b> + <v>315</v> </b> <b> - <a>14</a> + <a>13</a> <b>1029</b> - <v>152</v> + <v>188</v> </b> </bs> </hist> @@ -19320,37 +19196,37 @@ <b> <a>1</a> <b>2</b> - <v>5</v> + <v>9</v> </b> <b> <a>2</a> <b>3</b> - <v>2131</v> + <v>2354</v> </b> <b> <a>3</a> <b>4</b> - <v>426</v> + <v>506</v> </b> <b> <a>4</a> <b>5</b> - <v>309</v> + <v>351</v> </b> <b> <a>5</a> <b>7</b> - <v>258</v> + <v>291</v> </b> <b> <a>7</a> - <b>14</b> - <v>276</v> + <b>13</b> + <v>315</v> </b> <b> - <a>14</a> + <a>13</a> <b>1029</b> - <v>152</v> + <v>188</v> </b> </bs> </hist> @@ -19375,23 +19251,23 @@ </b> <b> <a>3</a> - <b>6</b> - <v>94</v> + <b>5</b> + <v>63</v> </b> <b> - <a>6</a> - <b>11</b> - <v>84</v> + <a>5</a> + <b>9</b> + <v>90</v> </b> <b> - <a>11</a> - <b>31</b> - <v>79</v> + <a>9</a> + <b>19</b> + <v>83</v> </b> <b> - <a>31</a> - <b>3558</b> - <v>49</v> + <a>19</a> + <b>4015</b> + <v>70</v> </b> </bs> </hist> @@ -19416,23 +19292,23 @@ </b> <b> <a>3</a> - <b>6</b> - <v>94</v> + <b>5</b> + <v>63</v> </b> <b> - <a>6</a> - <b>11</b> - <v>84</v> + <a>5</a> + <b>9</b> + <v>90</v> </b> <b> - <a>11</a> - <b>31</b> - <v>79</v> + <a>9</a> + <b>19</b> + <v>83</v> </b> <b> - <a>31</a> - <b>3558</b> - <v>49</v> + <a>19</a> + <b>4015</b> + <v>70</v> </b> </bs> </hist> @@ -19448,7 +19324,7 @@ <b> <a>1</a> <b>2</b> - <v>18133</v> + <v>20149</v> </b> </bs> </hist> @@ -19464,7 +19340,7 @@ <b> <a>1</a> <b>2</b> - <v>18133</v> + <v>20149</v> </b> </bs> </hist> @@ -19474,37 +19350,37 @@ </relation> <relation> <name>ql_set_literal_def</name> - <cardinality>3557</cardinality> + <cardinality>4014</cardinality> <columnsizes> <e> <k>id</k> - <v>3557</v> + <v>4014</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ql_signature_expr_def</name> - <cardinality>2248</cardinality> + <cardinality>3709</cardinality> <columnsizes> <e> <k>id</k> - <v>2248</v> + <v>3709</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ql_signature_expr_mod_expr</name> - <cardinality>92</cardinality> + <cardinality>180</cardinality> <columnsizes> <e> <k>ql_signature_expr</k> - <v>92</v> + <v>180</v> </e> <e> <k>mod_expr</k> - <v>92</v> + <v>180</v> </e> </columnsizes> <dependencies> @@ -19518,7 +19394,7 @@ <b> <a>1</a> <b>2</b> - <v>92</v> + <v>180</v> </b> </bs> </hist> @@ -19534,7 +19410,7 @@ <b> <a>1</a> <b>2</b> - <v>92</v> + <v>180</v> </b> </bs> </hist> @@ -19544,15 +19420,15 @@ </relation> <relation> <name>ql_signature_expr_predicate</name> - <cardinality>149</cardinality> + <cardinality>232</cardinality> <columnsizes> <e> <k>ql_signature_expr</k> - <v>149</v> + <v>232</v> </e> <e> <k>predicate</k> - <v>149</v> + <v>232</v> </e> </columnsizes> <dependencies> @@ -19566,7 +19442,7 @@ <b> <a>1</a> <b>2</b> - <v>149</v> + <v>232</v> </b> </bs> </hist> @@ -19582,7 +19458,7 @@ <b> <a>1</a> <b>2</b> - <v>149</v> + <v>232</v> </b> </bs> </hist> @@ -19592,15 +19468,15 @@ </relation> <relation> <name>ql_signature_expr_type_expr</name> - <cardinality>2007</cardinality> + <cardinality>3297</cardinality> <columnsizes> <e> <k>ql_signature_expr</k> - <v>2007</v> + <v>3297</v> </e> <e> <k>type_expr</k> - <v>2007</v> + <v>3297</v> </e> </columnsizes> <dependencies> @@ -19614,7 +19490,7 @@ <b> <a>1</a> <b>2</b> - <v>2007</v> + <v>3297</v> </b> </bs> </hist> @@ -19630,7 +19506,7 @@ <b> <a>1</a> <b>2</b> - <v>2007</v> + <v>3297</v> </b> </bs> </hist> @@ -19640,15 +19516,15 @@ </relation> <relation> <name>ql_special_call_def</name> - <cardinality>4863</cardinality> + <cardinality>4424</cardinality> <columnsizes> <e> <k>id</k> - <v>4863</v> + <v>4424</v> </e> <e> <k>child</k> - <v>4863</v> + <v>4424</v> </e> </columnsizes> <dependencies> @@ -19662,7 +19538,7 @@ <b> <a>1</a> <b>2</b> - <v>4863</v> + <v>4424</v> </b> </bs> </hist> @@ -19678,7 +19554,7 @@ <b> <a>1</a> <b>2</b> - <v>4863</v> + <v>4424</v> </b> </bs> </hist> @@ -19688,11 +19564,11 @@ </relation> <relation> <name>ql_super_ref_child</name> - <cardinality>3070</cardinality> + <cardinality>3530</cardinality> <columnsizes> <e> <k>ql_super_ref</k> - <v>2444</v> + <v>2901</v> </e> <e> <k>index</k> @@ -19700,7 +19576,7 @@ </e> <e> <k>child</k> - <v>3070</v> + <v>3530</v> </e> </columnsizes> <dependencies> @@ -19714,12 +19590,12 @@ <b> <a>1</a> <b>2</b> - <v>1818</v> + <v>2272</v> </b> <b> <a>2</a> <b>3</b> - <v>626</v> + <v>629</v> </b> </bs> </hist> @@ -19735,12 +19611,12 @@ <b> <a>1</a> <b>2</b> - <v>1818</v> + <v>2272</v> </b> <b> <a>2</a> <b>3</b> - <v>626</v> + <v>629</v> </b> </bs> </hist> @@ -19754,13 +19630,13 @@ <budget>12</budget> <bs> <b> - <a>626</a> - <b>627</b> + <a>629</a> + <b>630</b> <v>1</v> </b> <b> - <a>2444</a> - <b>2445</b> + <a>2901</a> + <b>2902</b> <v>1</v> </b> </bs> @@ -19775,13 +19651,13 @@ <budget>12</budget> <bs> <b> - <a>626</a> - <b>627</b> + <a>629</a> + <b>630</b> <v>1</v> </b> <b> - <a>2444</a> - <b>2445</b> + <a>2901</a> + <b>2902</b> <v>1</v> </b> </bs> @@ -19798,7 +19674,7 @@ <b> <a>1</a> <b>2</b> - <v>3070</v> + <v>3530</v> </b> </bs> </hist> @@ -19814,7 +19690,7 @@ <b> <a>1</a> <b>2</b> - <v>3070</v> + <v>3530</v> </b> </bs> </hist> @@ -19824,22 +19700,22 @@ </relation> <relation> <name>ql_super_ref_def</name> - <cardinality>2444</cardinality> + <cardinality>2901</cardinality> <columnsizes> <e> <k>id</k> - <v>2444</v> + <v>2901</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ql_tokeninfo</name> - <cardinality>3697389</cardinality> + <cardinality>3524470</cardinality> <columnsizes> <e> <k>id</k> - <v>3697389</v> + <v>3524470</v> </e> <e> <k>kind</k> @@ -19847,7 +19723,7 @@ </e> <e> <k>value</k> - <v>145712</v> + <v>159352</v> </e> </columnsizes> <dependencies> @@ -19861,7 +19737,7 @@ <b> <a>1</a> <b>2</b> - <v>3697389</v> + <v>3524470</v> </b> </bs> </hist> @@ -19877,7 +19753,7 @@ <b> <a>1</a> <b>2</b> - <v>3697389</v> + <v>3524470</v> </b> </bs> </hist> @@ -19891,83 +19767,83 @@ <budget>12</budget> <bs> <b> - <a>200</a> - <b>297</b> + <a>205</a> + <b>306</b> <v>2</v> </b> <b> - <a>631</a> - <b>1062</b> + <a>585</a> + <b>993</b> <v>2</v> </b> <b> - <a>1171</a> - <b>2124</b> + <a>1158</a> + <b>1974</b> <v>2</v> </b> <b> - <a>2391</a> - <b>2445</b> + <a>2234</a> + <b>2302</b> <v>2</v> </b> <b> - <a>2648</a> - <b>2684</b> + <a>2344</a> + <b>2902</b> <v>2</v> </b> <b> - <a>3604</a> - <b>4864</b> + <a>3766</a> + <b>4425</b> <v>2</v> </b> <b> - <a>9694</a> - <b>14858</b> + <a>9053</a> + <b>13787</b> <v>2</v> </b> <b> - <a>20351</a> - <b>20707</b> + <a>17184</a> + <b>20889</b> <v>2</v> </b> <b> - <a>20738</a> - <b>26112</b> + <a>21612</a> + <b>24228</b> <v>2</v> </b> <b> - <a>28901</a> - <b>49385</b> + <a>26200</a> + <b>47957</b> <v>2</v> </b> <b> - <a>53091</a> - <b>55182</b> + <a>50826</a> + <b>52494</b> <v>2</v> </b> <b> - <a>56786</a> - <b>67460</b> + <a>55406</a> + <b>58185</b> <v>2</v> </b> <b> - <a>73436</a> - <b>75428</b> + <a>66480</a> + <b>83939</b> <v>2</v> </b> <b> - <a>138784</a> - <b>224656</b> + <a>140334</a> + <b>204254</b> <v>2</v> </b> <b> - <a>229368</a> - <b>542287</b> + <a>221079</a> + <b>512065</b> <v>2</v> </b> <b> - <a>1966059</a> - <b>1966060</b> + <a>1875319</a> + <b>1875320</b> <v>1</v> </b> </bs> @@ -20003,7 +19879,7 @@ </b> <b> <a>12</a> - <b>19</b> + <b>18</b> <v>2</v> </b> <b> @@ -20012,28 +19888,28 @@ <v>2</v> </b> <b> - <a>173</a> - <b>883</b> + <a>635</a> + <b>858</b> <v>2</v> </b> <b> - <a>2434</a> - <b>11721</b> + <a>2472</a> + <b>12791</b> <v>2</v> </b> <b> - <a>14851</a> - <b>14868</b> + <a>15738</a> + <b>15845</b> <v>2</v> </b> <b> - <a>18243</a> - <b>20539</b> + <a>18782</a> + <b>21406</b> <v>2</v> </b> <b> - <a>35688</a> - <b>41928</b> + <a>42941</a> + <b>44802</b> <v>2</v> </b> </bs> @@ -20050,32 +19926,32 @@ <b> <a>1</a> <b>2</b> - <v>85140</v> + <v>96196</v> </b> <b> <a>2</a> <b>3</b> - <v>21743</v> + <v>23735</v> </b> <b> <a>3</a> <b>4</b> - <v>10555</v> + <v>11475</v> </b> <b> <a>4</a> <b>7</b> - <v>13169</v> + <v>13411</v> </b> <b> <a>7</a> - <b>27</b> - <v>11024</v> + <b>41</b> + <v>12004</v> </b> <b> - <a>27</a> - <b>371333</b> - <v>4081</v> + <a>41</a> + <b>348424</b> + <v>2531</v> </b> </bs> </hist> @@ -20091,17 +19967,17 @@ <b> <a>1</a> <b>2</b> - <v>130386</v> + <v>142727</v> </b> <b> <a>2</a> <b>3</b> - <v>14775</v> + <v>16072</v> </b> <b> <a>3</a> <b>5</b> - <v>551</v> + <v>553</v> </b> </bs> </hist> @@ -20111,15 +19987,15 @@ </relation> <relation> <name>ql_type_alias_body_def</name> - <cardinality>1245</cardinality> + <cardinality>817</cardinality> <columnsizes> <e> <k>id</k> - <v>1245</v> + <v>817</v> </e> <e> <k>child</k> - <v>1245</v> + <v>817</v> </e> </columnsizes> <dependencies> @@ -20133,7 +20009,7 @@ <b> <a>1</a> <b>2</b> - <v>1245</v> + <v>817</v> </b> </bs> </hist> @@ -20149,7 +20025,7 @@ <b> <a>1</a> <b>2</b> - <v>1245</v> + <v>817</v> </b> </bs> </hist> @@ -20159,15 +20035,15 @@ </relation> <relation> <name>ql_type_expr_child</name> - <cardinality>52988</cardinality> + <cardinality>51722</cardinality> <columnsizes> <e> <k>ql_type_expr</k> - <v>52988</v> + <v>51722</v> </e> <e> <k>child</k> - <v>52988</v> + <v>51722</v> </e> </columnsizes> <dependencies> @@ -20181,7 +20057,7 @@ <b> <a>1</a> <b>2</b> - <v>52988</v> + <v>51722</v> </b> </bs> </hist> @@ -20197,7 +20073,7 @@ <b> <a>1</a> <b>2</b> - <v>52988</v> + <v>51722</v> </b> </bs> </hist> @@ -20207,26 +20083,26 @@ </relation> <relation> <name>ql_type_expr_def</name> - <cardinality>236975</cardinality> + <cardinality>218057</cardinality> <columnsizes> <e> <k>id</k> - <v>236975</v> + <v>218057</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ql_type_expr_name</name> - <cardinality>183987</cardinality> + <cardinality>166335</cardinality> <columnsizes> <e> <k>ql_type_expr</k> - <v>183987</v> + <v>166335</v> </e> <e> <k>name</k> - <v>183987</v> + <v>166335</v> </e> </columnsizes> <dependencies> @@ -20240,7 +20116,7 @@ <b> <a>1</a> <b>2</b> - <v>183987</v> + <v>166335</v> </b> </bs> </hist> @@ -20256,7 +20132,7 @@ <b> <a>1</a> <b>2</b> - <v>183987</v> + <v>166335</v> </b> </bs> </hist> @@ -20266,15 +20142,15 @@ </relation> <relation> <name>ql_type_expr_qualifier</name> - <cardinality>32598</cardinality> + <cardinality>34602</cardinality> <columnsizes> <e> <k>ql_type_expr</k> - <v>32598</v> + <v>34602</v> </e> <e> <k>qualifier</k> - <v>32598</v> + <v>34602</v> </e> </columnsizes> <dependencies> @@ -20288,7 +20164,7 @@ <b> <a>1</a> <b>2</b> - <v>32598</v> + <v>34602</v> </b> </bs> </hist> @@ -20304,7 +20180,7 @@ <b> <a>1</a> <b>2</b> - <v>32598</v> + <v>34602</v> </b> </bs> </hist> @@ -20314,11 +20190,11 @@ </relation> <relation> <name>ql_type_union_body_child</name> - <cardinality>1152</cardinality> + <cardinality>1174</cardinality> <columnsizes> <e> <k>ql_type_union_body</k> - <v>249</v> + <v>253</v> </e> <e> <k>index</k> @@ -20326,7 +20202,7 @@ </e> <e> <k>child</k> - <v>1152</v> + <v>1174</v> </e> </columnsizes> <dependencies> @@ -20340,7 +20216,7 @@ <b> <a>2</a> <b>3</b> - <v>117</v> + <v>121</v> </b> <b> <a>3</a> @@ -20350,12 +20226,12 @@ <b> <a>4</a> <b>5</b> - <v>35</v> + <v>32</v> </b> <b> <a>5</a> <b>6</b> - <v>14</v> + <v>17</v> </b> <b> <a>6</a> @@ -20381,7 +20257,7 @@ <b> <a>2</a> <b>3</b> - <v>117</v> + <v>121</v> </b> <b> <a>3</a> @@ -20391,12 +20267,12 @@ <b> <a>4</a> <b>5</b> - <v>35</v> + <v>32</v> </b> <b> <a>5</a> <b>6</b> - <v>14</v> + <v>17</v> </b> <b> <a>6</a> @@ -20422,32 +20298,27 @@ <b> <a>1</a> <b>2</b> - <v>104</v> + <v>98</v> </b> <b> <a>2</a> <b>3</b> - <v>15</v> + <v>21</v> </b> <b> <a>3</a> - <b>4</b> - <v>2</v> - </b> - <b> - <a>4</a> <b>5</b> <v>13</v> </b> <b> <a>5</a> - <b>21</b> + <b>18</b> <v>12</v> </b> <b> - <a>23</a> - <b>250</b> - <v>7</v> + <a>19</a> + <b>254</b> + <v>9</v> </b> </bs> </hist> @@ -20463,32 +20334,27 @@ <b> <a>1</a> <b>2</b> - <v>104</v> + <v>98</v> </b> <b> <a>2</a> <b>3</b> - <v>15</v> + <v>21</v> </b> <b> <a>3</a> - <b>4</b> - <v>2</v> - </b> - <b> - <a>4</a> <b>5</b> <v>13</v> </b> <b> <a>5</a> - <b>21</b> + <b>18</b> <v>12</v> </b> <b> - <a>23</a> - <b>250</b> - <v>7</v> + <a>19</a> + <b>254</b> + <v>9</v> </b> </bs> </hist> @@ -20504,7 +20370,7 @@ <b> <a>1</a> <b>2</b> - <v>1152</v> + <v>1174</v> </b> </bs> </hist> @@ -20520,7 +20386,7 @@ <b> <a>1</a> <b>2</b> - <v>1152</v> + <v>1174</v> </b> </bs> </hist> @@ -20530,22 +20396,22 @@ </relation> <relation> <name>ql_type_union_body_def</name> - <cardinality>249</cardinality> + <cardinality>253</cardinality> <columnsizes> <e> <k>id</k> - <v>249</v> + <v>253</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ql_unary_expr_child</name> - <cardinality>2342</cardinality> + <cardinality>2316</cardinality> <columnsizes> <e> <k>ql_unary_expr</k> - <v>1171</v> + <v>1158</v> </e> <e> <k>index</k> @@ -20553,7 +20419,7 @@ </e> <e> <k>child</k> - <v>2342</v> + <v>2316</v> </e> </columnsizes> <dependencies> @@ -20567,7 +20433,7 @@ <b> <a>2</a> <b>3</b> - <v>1171</v> + <v>1158</v> </b> </bs> </hist> @@ -20583,7 +20449,7 @@ <b> <a>2</a> <b>3</b> - <v>1171</v> + <v>1158</v> </b> </bs> </hist> @@ -20597,8 +20463,8 @@ <budget>12</budget> <bs> <b> - <a>1171</a> - <b>1172</b> + <a>1158</a> + <b>1159</b> <v>2</v> </b> </bs> @@ -20613,8 +20479,8 @@ <budget>12</budget> <bs> <b> - <a>1171</a> - <b>1172</b> + <a>1158</a> + <b>1159</b> <v>2</v> </b> </bs> @@ -20631,7 +20497,7 @@ <b> <a>1</a> <b>2</b> - <v>2342</v> + <v>2316</v> </b> </bs> </hist> @@ -20647,7 +20513,7 @@ <b> <a>1</a> <b>2</b> - <v>2342</v> + <v>2316</v> </b> </bs> </hist> @@ -20657,11 +20523,11 @@ </relation> <relation> <name>ql_unary_expr_def</name> - <cardinality>1171</cardinality> + <cardinality>1158</cardinality> <columnsizes> <e> <k>id</k> - <v>1171</v> + <v>1158</v> </e> </columnsizes> <dependencies/> @@ -20911,11 +20777,11 @@ </relation> <relation> <name>ql_var_decl_child</name> - <cardinality>258882</cardinality> + <cardinality>228274</cardinality> <columnsizes> <e> <k>ql_var_decl</k> - <v>129441</v> + <v>114137</v> </e> <e> <k>index</k> @@ -20923,7 +20789,7 @@ </e> <e> <k>child</k> - <v>258882</v> + <v>228274</v> </e> </columnsizes> <dependencies> @@ -20937,7 +20803,7 @@ <b> <a>2</a> <b>3</b> - <v>129441</v> + <v>114137</v> </b> </bs> </hist> @@ -20953,7 +20819,7 @@ <b> <a>2</a> <b>3</b> - <v>129441</v> + <v>114137</v> </b> </bs> </hist> @@ -20967,8 +20833,8 @@ <budget>12</budget> <bs> <b> - <a>129441</a> - <b>129442</b> + <a>114137</a> + <b>114138</b> <v>2</v> </b> </bs> @@ -20983,8 +20849,8 @@ <budget>12</budget> <bs> <b> - <a>129441</a> - <b>129442</b> + <a>114137</a> + <b>114138</b> <v>2</v> </b> </bs> @@ -21001,7 +20867,7 @@ <b> <a>1</a> <b>2</b> - <v>258882</v> + <v>228274</v> </b> </bs> </hist> @@ -21017,7 +20883,7 @@ <b> <a>1</a> <b>2</b> - <v>258882</v> + <v>228274</v> </b> </bs> </hist> @@ -21027,26 +20893,26 @@ </relation> <relation> <name>ql_var_decl_def</name> - <cardinality>129441</cardinality> + <cardinality>114137</cardinality> <columnsizes> <e> <k>id</k> - <v>129441</v> + <v>114137</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ql_var_name_def</name> - <cardinality>415356</cardinality> + <cardinality>380908</cardinality> <columnsizes> <e> <k>id</k> - <v>415356</v> + <v>380908</v> </e> <e> <k>child</k> - <v>415356</v> + <v>380908</v> </e> </columnsizes> <dependencies> @@ -21060,7 +20926,7 @@ <b> <a>1</a> <b>2</b> - <v>415356</v> + <v>380908</v> </b> </bs> </hist> @@ -21076,7 +20942,7 @@ <b> <a>1</a> <b>2</b> - <v>415356</v> + <v>380908</v> </b> </bs> </hist> @@ -21086,15 +20952,15 @@ </relation> <relation> <name>ql_variable_def</name> - <cardinality>393587</cardinality> + <cardinality>369462</cardinality> <columnsizes> <e> <k>id</k> - <v>393587</v> + <v>369462</v> </e> <e> <k>child</k> - <v>393587</v> + <v>369462</v> </e> </columnsizes> <dependencies> @@ -21108,7 +20974,7 @@ <b> <a>1</a> <b>2</b> - <v>393587</v> + <v>369462</v> </b> </bs> </hist> @@ -21124,7 +20990,7 @@ <b> <a>1</a> <b>2</b> - <v>393587</v> + <v>369462</v> </b> </bs> </hist> @@ -21145,11 +21011,11 @@ </relation> <relation> <name>yaml</name> - <cardinality>1348</cardinality> + <cardinality>1726</cardinality> <columnsizes> <e> <k>id</k> - <v>1348</v> + <v>1726</v> </e> <e> <k>kind</k> @@ -21157,7 +21023,7 @@ </e> <e> <k>parent</k> - <v>304</v> + <v>350</v> </e> <e> <k>idx</k> @@ -21169,7 +21035,7 @@ </e> <e> <k>tostring</k> - <v>236</v> + <v>263</v> </e> </columnsizes> <dependencies> @@ -21183,7 +21049,7 @@ <b> <a>1</a> <b>2</b> - <v>1348</v> + <v>1726</v> </b> </bs> </hist> @@ -21199,7 +21065,7 @@ <b> <a>1</a> <b>2</b> - <v>1348</v> + <v>1726</v> </b> </bs> </hist> @@ -21215,7 +21081,7 @@ <b> <a>1</a> <b>2</b> - <v>1348</v> + <v>1726</v> </b> </bs> </hist> @@ -21231,7 +21097,7 @@ <b> <a>1</a> <b>2</b> - <v>1348</v> + <v>1726</v> </b> </bs> </hist> @@ -21247,7 +21113,7 @@ <b> <a>1</a> <b>2</b> - <v>1348</v> + <v>1726</v> </b> </bs> </hist> @@ -21261,18 +21127,18 @@ <budget>12</budget> <bs> <b> - <a>52</a> - <b>53</b> + <a>59</a> + <b>60</b> <v>1</v> </b> <b> - <a>160</a> - <b>161</b> + <a>186</a> + <b>187</b> <v>1</v> </b> <b> - <a>1136</a> - <b>1137</b> + <a>1481</a> + <b>1482</b> <v>1</v> </b> </bs> @@ -21287,18 +21153,18 @@ <budget>12</budget> <bs> <b> - <a>49</a> - <b>50</b> + <a>56</a> + <b>57</b> <v>1</v> </b> <b> - <a>160</a> - <b>161</b> + <a>186</a> + <b>187</b> <v>1</v> </b> <b> - <a>212</a> - <b>213</b> + <a>245</a> + <b>246</b> <v>1</v> </b> </bs> @@ -21360,18 +21226,18 @@ <budget>12</budget> <bs> <b> - <a>32</a> - <b>33</b> + <a>33</a> + <b>34</b> <v>1</v> </b> <b> - <a>59</a> - <b>60</b> + <a>68</a> + <b>69</b> <v>1</v> </b> <b> - <a>145</a> - <b>146</b> + <a>162</a> + <b>163</b> <v>1</v> </b> </bs> @@ -21388,37 +21254,47 @@ <b> <a>1</a> <b>2</b> - <v>104</v> + <v>118</v> </b> <b> <a>2</a> <b>3</b> - <v>68</v> + <v>71</v> </b> <b> <a>3</a> + <b>4</b> + <v>8</v> + </b> + <b> + <a>4</a> <b>5</b> - <v>25</v> + <v>26</v> </b> <b> <a>6</a> <b>7</b> - <v>47</v> + <v>26</v> </b> <b> <a>8</a> <b>9</b> - <v>18</v> + <v>30</v> </b> <b> <a>10</a> - <b>15</b> - <v>25</v> + <b>11</b> + <v>16</v> </b> <b> - <a>16</a> + <a>12</a> + <b>13</b> + <v>30</v> + </b> + <b> + <a>14</a> <b>21</b> - <v>17</v> + <v>25</v> </b> </bs> </hist> @@ -21434,17 +21310,17 @@ <b> <a>1</a> <b>2</b> - <v>230</v> + <v>262</v> </b> <b> <a>2</a> <b>3</b> - <v>31</v> + <v>39</v> </b> <b> <a>3</a> <b>4</b> - <v>43</v> + <v>49</v> </b> </bs> </hist> @@ -21460,37 +21336,47 @@ <b> <a>1</a> <b>2</b> - <v>104</v> + <v>118</v> </b> <b> <a>2</a> <b>3</b> - <v>68</v> + <v>71</v> </b> <b> <a>3</a> + <b>4</b> + <v>8</v> + </b> + <b> + <a>4</a> <b>5</b> - <v>25</v> + <v>26</v> </b> <b> <a>6</a> <b>7</b> - <v>47</v> + <v>26</v> </b> <b> <a>8</a> <b>9</b> - <v>18</v> + <v>30</v> </b> <b> <a>10</a> - <b>15</b> - <v>25</v> + <b>11</b> + <v>16</v> </b> <b> - <a>16</a> + <a>12</a> + <b>13</b> + <v>30</v> + </b> + <b> + <a>14</a> <b>21</b> - <v>17</v> + <v>25</v> </b> </bs> </hist> @@ -21506,22 +21392,22 @@ <b> <a>1</a> <b>2</b> - <v>215</v> + <v>245</v> </b> <b> <a>2</a> <b>3</b> - <v>40</v> + <v>15</v> </b> <b> <a>3</a> <b>4</b> - <v>24</v> + <v>41</v> </b> <b> <a>4</a> <b>5</b> - <v>25</v> + <v>49</v> </b> </bs> </hist> @@ -21537,47 +21423,47 @@ <b> <a>1</a> <b>2</b> - <v>104</v> + <v>118</v> </b> <b> <a>2</a> <b>3</b> - <v>68</v> + <v>71</v> </b> <b> <a>3</a> <b>4</b> - <v>19</v> + <v>22</v> </b> <b> <a>4</a> <b>5</b> - <v>29</v> + <v>35</v> </b> <b> <a>5</a> - <b>6</b> - <v>5</v> - </b> - <b> - <a>6</a> - <b>7</b> - <v>25</v> + <b>8</b> + <v>10</v> </b> <b> <a>8</a> - <b>11</b> - <v>23</v> + <b>9</b> + <v>29</v> </b> <b> - <a>11</a> + <a>9</a> + <b>12</b> + <v>27</v> + </b> + <b> + <a>12</a> <b>17</b> - <v>23</v> + <v>29</v> </b> <b> <a>17</a> <b>19</b> - <v>8</v> + <v>9</v> </b> </bs> </hist> @@ -21596,63 +21482,63 @@ <v>2</v> </b> <b> - <a>10</a> - <b>11</b> + <a>11</a> + <b>12</b> <v>2</v> </b> <b> - <a>17</a> - <b>18</b> + <a>19</a> + <b>20</b> <v>2</v> </b> <b> - <a>20</a> - <b>21</b> + <a>25</a> + <b>26</b> <v>2</v> </b> <b> - <a>31</a> - <b>32</b> + <a>55</a> + <b>56</b> <v>2</v> </b> <b> - <a>42</a> - <b>43</b> + <a>71</a> + <b>72</b> <v>2</v> </b> <b> - <a>60</a> - <b>61</b> + <a>101</a> + <b>102</b> <v>2</v> </b> <b> - <a>107</a> - <b>108</b> + <a>127</a> + <b>128</b> <v>2</v> </b> <b> - <a>126</a> - <b>127</b> + <a>153</a> + <b>154</b> <v>1</v> </b> <b> - <a>132</a> - <b>133</b> + <a>161</a> + <b>162</b> <v>1</v> </b> <b> - <a>144</a> - <b>145</b> + <a>164</a> + <b>165</b> <v>1</v> </b> <b> - <a>160</a> - <b>161</b> + <a>186</a> + <b>187</b> <v>1</v> </b> <b> - <a>200</a> - <b>201</b> + <a>232</a> + <b>233</b> <v>1</v> </b> </bs> @@ -21698,63 +21584,63 @@ <v>2</v> </b> <b> - <a>10</a> - <b>11</b> + <a>11</a> + <b>12</b> <v>2</v> </b> <b> - <a>17</a> - <b>18</b> + <a>19</a> + <b>20</b> <v>2</v> </b> <b> - <a>20</a> - <b>21</b> + <a>25</a> + <b>26</b> <v>2</v> </b> <b> - <a>31</a> - <b>32</b> + <a>55</a> + <b>56</b> <v>2</v> </b> <b> - <a>42</a> - <b>43</b> + <a>71</a> + <b>72</b> <v>2</v> </b> <b> - <a>60</a> - <b>61</b> + <a>101</a> + <b>102</b> <v>2</v> </b> <b> - <a>107</a> - <b>108</b> + <a>127</a> + <b>128</b> <v>2</v> </b> <b> - <a>126</a> - <b>127</b> + <a>153</a> + <b>154</b> <v>1</v> </b> <b> - <a>132</a> - <b>133</b> + <a>161</a> + <b>162</b> <v>1</v> </b> <b> - <a>144</a> - <b>145</b> + <a>164</a> + <b>165</b> <v>1</v> </b> <b> - <a>160</a> - <b>161</b> + <a>186</a> + <b>187</b> <v>1</v> </b> <b> - <a>200</a> - <b>201</b> + <a>232</a> + <b>233</b> <v>1</v> </b> </bs> @@ -21778,15 +21664,10 @@ <b>3</b> <v>3</v> </b> - <b> - <a>3</a> - <b>4</b> - <v>2</v> - </b> <b> <a>4</a> <b>5</b> - <v>4</v> + <v>6</v> </b> <b> <a>5</a> @@ -21814,20 +21695,10 @@ <b>3</b> <v>1</v> </b> - <b> - <a>3</a> - <b>4</b> - <v>2</v> - </b> <b> <a>4</a> <b>5</b> - <v>1</v> - </b> - <b> - <a>6</a> - <b>7</b> - <v>1</v> + <v>3</v> </b> <b> <a>7</a> @@ -21835,8 +21706,8 @@ <v>1</v> </b> <b> - <a>8</a> - <b>9</b> + <a>9</a> + <b>10</b> <v>2</v> </b> <b> @@ -21845,18 +21716,18 @@ <v>1</v> </b> <b> - <a>12</a> - <b>13</b> + <a>14</a> + <b>15</b> <v>1</v> </b> <b> - <a>17</a> - <b>18</b> + <a>16</a> + <b>17</b> <v>1</v> </b> <b> - <a>19</a> - <b>20</b> + <a>20</a> + <b>21</b> <v>1</v> </b> <b> @@ -21865,8 +21736,13 @@ <v>2</v> </b> <b> - <a>28</a> - <b>29</b> + <a>27</a> + <b>28</b> + <v>1</v> + </b> + <b> + <a>29</a> + <b>30</b> <v>1</v> </b> <b> @@ -21875,18 +21751,18 @@ <v>1</v> </b> <b> - <a>49</a> - <b>50</b> + <a>59</a> + <b>60</b> <v>1</v> </b> <b> - <a>71</a> - <b>72</b> + <a>80</a> + <b>81</b> <v>1</v> </b> <b> - <a>72</a> - <b>73</b> + <a>81</a> + <b>82</b> <v>1</v> </b> </bs> @@ -21905,24 +21781,24 @@ <b>3</b> <v>1</v> </b> - <b> - <a>52</a> - <b>53</b> - <v>1</v> - </b> <b> <a>59</a> <b>60</b> <v>1</v> </b> <b> - <a>160</a> - <b>161</b> + <a>137</a> + <b>138</b> <v>1</v> </b> <b> - <a>1075</a> - <b>1076</b> + <a>186</a> + <b>187</b> + <v>1</v> + </b> + <b> + <a>1342</a> + <b>1343</b> <v>1</v> </b> </bs> @@ -21958,23 +21834,23 @@ <v>1</v> </b> <b> - <a>44</a> - <b>45</b> + <a>56</a> + <b>57</b> <v>1</v> </b> <b> - <a>49</a> - <b>50</b> + <a>105</a> + <b>106</b> <v>1</v> </b> <b> - <a>160</a> - <b>161</b> + <a>186</a> + <b>187</b> <v>1</v> </b> <b> - <a>212</a> - <b>213</b> + <a>245</a> + <b>246</b> <v>1</v> </b> </bs> @@ -21996,16 +21872,16 @@ <b> <a>8</a> <b>9</b> - <v>2</v> + <v>1</v> </b> <b> <a>9</a> <b>10</b> - <v>1</v> + <v>2</v> </b> <b> - <a>18</a> - <b>19</b> + <a>19</a> + <b>20</b> <v>1</v> </b> </bs> @@ -22030,18 +21906,18 @@ <v>1</v> </b> <b> - <a>32</a> - <b>33</b> + <a>33</a> + <b>34</b> <v>1</v> </b> <b> - <a>59</a> - <b>60</b> + <a>68</a> + <b>69</b> <v>1</v> </b> <b> - <a>142</a> - <b>143</b> + <a>159</a> + <b>160</b> <v>1</v> </b> </bs> @@ -22058,37 +21934,37 @@ <b> <a>1</a> <b>2</b> - <v>123</v> + <v>141</v> </b> <b> <a>2</a> <b>3</b> - <v>29</v> + <v>28</v> </b> <b> <a>3</a> - <b>5</b> - <v>21</v> + <b>4</b> + <v>16</v> </b> <b> - <a>5</a> - <b>8</b> - <v>15</v> + <a>4</a> + <b>7</b> + <v>22</v> </b> <b> - <a>8</a> + <a>7</a> <b>10</b> - <v>15</v> + <v>18</v> </b> <b> <a>10</a> <b>17</b> - <v>20</v> + <v>21</v> </b> <b> <a>18</a> - <b>104</b> - <v>13</v> + <b>145</b> + <v>17</v> </b> </bs> </hist> @@ -22104,7 +21980,7 @@ <b> <a>1</a> <b>2</b> - <v>236</v> + <v>263</v> </b> </bs> </hist> @@ -22120,37 +21996,37 @@ <b> <a>1</a> <b>2</b> - <v>123</v> + <v>142</v> </b> <b> <a>2</a> <b>3</b> - <v>29</v> + <v>27</v> </b> <b> <a>3</a> - <b>5</b> + <b>4</b> + <v>16</v> + </b> + <b> + <a>4</a> + <b>7</b> + <v>22</v> + </b> + <b> + <a>7</a> + <b>10</b> <v>21</v> </b> <b> - <a>5</a> - <b>8</b> - <v>19</v> - </b> - <b> - <a>8</a> - <b>11</b> + <a>10</a> + <b>19</b> <v>21</v> </b> <b> - <a>11</a> - <b>45</b> - <v>18</v> - </b> - <b> - <a>49</a> - <b>84</b> - <v>5</v> + <a>19</a> + <b>106</b> + <v>14</v> </b> </bs> </hist> @@ -22166,7 +22042,7 @@ <b> <a>1</a> <b>2</b> - <v>159</v> + <v>179</v> </b> <b> <a>2</a> @@ -22176,7 +22052,7 @@ <b> <a>3</a> <b>4</b> - <v>20</v> + <v>24</v> </b> <b> <a>4</a> @@ -22185,8 +22061,8 @@ </b> <b> <a>8</a> - <b>9</b> - <v>2</v> + <b>10</b> + <v>5</v> </b> </bs> </hist> @@ -22202,7 +22078,7 @@ <b> <a>1</a> <b>2</b> - <v>236</v> + <v>263</v> </b> </bs> </hist> @@ -22338,15 +22214,15 @@ </relation> <relation> <name>yaml_locations</name> - <cardinality>1348</cardinality> + <cardinality>1726</cardinality> <columnsizes> <e> <k>locatable</k> - <v>1348</v> + <v>1726</v> </e> <e> <k>location</k> - <v>1348</v> + <v>1726</v> </e> </columnsizes> <dependencies> @@ -22360,7 +22236,7 @@ <b> <a>1</a> <b>2</b> - <v>1348</v> + <v>1726</v> </b> </bs> </hist> @@ -22376,7 +22252,7 @@ <b> <a>1</a> <b>2</b> - <v>1348</v> + <v>1726</v> </b> </bs> </hist> @@ -22386,11 +22262,11 @@ </relation> <relation> <name>yaml_scalars</name> - <cardinality>1136</cardinality> + <cardinality>1481</cardinality> <columnsizes> <e> <k>scalar</k> - <v>1136</v> + <v>1481</v> </e> <e> <k>style</k> @@ -22398,7 +22274,7 @@ </e> <e> <k>value</k> - <v>176</v> + <v>195</v> </e> </columnsizes> <dependencies> @@ -22412,7 +22288,7 @@ <b> <a>1</a> <b>2</b> - <v>1136</v> + <v>1481</v> </b> </bs> </hist> @@ -22428,7 +22304,7 @@ <b> <a>1</a> <b>2</b> - <v>1136</v> + <v>1481</v> </b> </bs> </hist> @@ -22442,18 +22318,18 @@ <budget>12</budget> <bs> <b> - <a>3</a> - <b>4</b> + <a>5</a> + <b>6</b> <v>1</v> </b> <b> - <a>40</a> - <b>41</b> + <a>41</a> + <b>42</b> <v>1</v> </b> <b> - <a>1093</a> - <b>1094</b> + <a>1435</a> + <b>1436</b> <v>1</v> </b> </bs> @@ -22473,13 +22349,13 @@ <v>1</v> </b> <b> - <a>2</a> - <b>3</b> + <a>3</a> + <b>4</b> <v>1</v> </b> <b> - <a>173</a> - <b>174</b> + <a>192</a> + <b>193</b> <v>1</v> </b> </bs> @@ -22496,37 +22372,42 @@ <b> <a>1</a> <b>2</b> - <v>89</v> + <v>101</v> </b> <b> <a>2</a> <b>3</b> - <v>17</v> + <v>16</v> </b> <b> <a>3</a> <b>4</b> - <v>13</v> + <v>17</v> </b> <b> <a>4</a> - <b>7</b> - <v>15</v> + <b>8</b> + <v>17</v> </b> <b> - <a>7</a> + <a>8</a> <b>10</b> - <v>14</v> + <v>12</v> </b> <b> <a>10</a> - <b>17</b> - <v>16</v> + <b>15</b> + <v>15</v> </b> <b> - <a>18</a> - <b>104</b> - <v>12</v> + <a>15</a> + <b>106</b> + <v>15</v> + </b> + <b> + <a>136</a> + <b>145</b> + <v>2</v> </b> </bs> </hist> @@ -22542,7 +22423,12 @@ <b> <a>1</a> <b>2</b> - <v>176</v> + <v>194</v> + </b> + <b> + <a>2</a> + <b>3</b> + <v>1</v> </b> </bs> </hist> diff --git a/ql/ql/src/queries/style/MissingOverride.ql b/ql/ql/src/queries/style/MissingOverride.ql deleted file mode 100644 index 833b1ba198b..00000000000 --- a/ql/ql/src/queries/style/MissingOverride.ql +++ /dev/null @@ -1,20 +0,0 @@ -/** - * @name Missing override annotation - * @description Predicates that override another predicate should have an `override` annotation. - * @kind problem - * @problem.severity warning - * @precision very-high - * @id ql/missing-override - * @tags maintainability - */ - -import ql - -string getQualifiedName(ClassPredicate p) { - result = p.getDeclaringType().getName() + "." + p.getName() -} - -from ClassPredicate pred, ClassPredicate sup -where pred.overrides(sup) and not pred.isOverride() -select pred, getQualifiedName(pred) + " overrides $@ but does not have an override annotation.", - sup, getQualifiedName(sup) diff --git a/ql/ql/src/queries/summary/LinesOfCode.ql b/ql/ql/src/queries/summary/LinesOfCode.ql index cb5ef617476..7a552137cf3 100644 --- a/ql/ql/src/queries/summary/LinesOfCode.ql +++ b/ql/ql/src/queries/summary/LinesOfCode.ql @@ -8,6 +8,7 @@ * @kind metric * @tags summary * lines-of-code + * debug */ import ql diff --git a/ql/ql/src/queries/summary/LinesOfUserCode.ql b/ql/ql/src/queries/summary/LinesOfUserCode.ql index 1701af1a5c9..b1d8481a564 100644 --- a/ql/ql/src/queries/summary/LinesOfUserCode.ql +++ b/ql/ql/src/queries/summary/LinesOfUserCode.ql @@ -6,6 +6,7 @@ * query counts the lines of code, excluding whitespace or comments. * @kind metric * @tags summary + * debug */ import ql diff --git a/ql/ql/test/queries/style/MissingOverride/MissingOverride.expected b/ql/ql/test/queries/style/MissingOverride/MissingOverride.expected deleted file mode 100644 index d64a6ed1544..00000000000 --- a/ql/ql/test/queries/style/MissingOverride/MissingOverride.expected +++ /dev/null @@ -1,2 +0,0 @@ -| Test.qll:12:13:12:16 | ClassPredicate test | Wrong.test overrides $@ but does not have an override annotation. | Test.qll:4:13:4:16 | ClassPredicate test | Super.test | -| Test.qll:18:13:18:16 | ClassPredicate test | Wrong2.test overrides $@ but does not have an override annotation. | Test.qll:4:13:4:16 | ClassPredicate test | Super.test | diff --git a/ql/ql/test/queries/style/MissingOverride/MissingOverride.qlref b/ql/ql/test/queries/style/MissingOverride/MissingOverride.qlref deleted file mode 100644 index 3a83310f4a2..00000000000 --- a/ql/ql/test/queries/style/MissingOverride/MissingOverride.qlref +++ /dev/null @@ -1 +0,0 @@ -queries/style/MissingOverride.ql \ No newline at end of file diff --git a/ql/ql/test/queries/style/MissingOverride/Test.qll b/ql/ql/test/queries/style/MissingOverride/Test.qll deleted file mode 100644 index 82d5199bf9e..00000000000 --- a/ql/ql/test/queries/style/MissingOverride/Test.qll +++ /dev/null @@ -1,37 +0,0 @@ -import ql - -class Super extends AstNode { - predicate test(int i) { i = [1 .. 5] } -} - -class Correct extends Super { - override predicate test(int i) { i = 3 } -} - -class Wrong extends Super { - predicate test(int i) { i = 2 } -} - -class Mid extends Super { } - -class Wrong2 extends Mid { - predicate test(int i) { i = 2 } -} - -final class SuperFinal = Super; - -class Correct2 extends SuperFinal { - predicate test(int i) { i = 4 } -} - -class Correct3 extends AstNode instanceof SuperFinal { - predicate test(int i) { i = 4 } -} - -final class Super2 extends AstNode { - predicate test(int i) { i = [1 .. 5] } -} - -class Correct4 extends Super2 { - predicate test(int i) { i = 3 } -} diff --git a/ruby/downgrades/440de75c71e9206ce16eed49a22c76e7889b5fc3/erb_ast_node_info.ql b/ruby/downgrades/440de75c71e9206ce16eed49a22c76e7889b5fc3/erb_ast_node_info.ql new file mode 100644 index 00000000000..ed8cf128f1d --- /dev/null +++ b/ruby/downgrades/440de75c71e9206ce16eed49a22c76e7889b5fc3/erb_ast_node_info.ql @@ -0,0 +1,44 @@ +class TAstNodeParent = @file or @erb_ast_node; + +abstract class AstNodeParent extends TAstNodeParent { + string toString() { none() } +} + +class AstNode extends AstNodeParent, @erb_ast_node { } + +class File extends AstNodeParent, @file { } + +class Location extends @location_default { + string toString() { none() } +} + +pragma[nomagic] +predicate hasFileParent( + AstNode n, File f, int startline, int startcolumn, int endline, int endcolumn +) { + exists(Location loc | + not erb_ast_node_parent(n, _, _) and + erb_ast_node_location(n, loc) and + locations_default(loc, f, startline, startcolumn, endline, endcolumn) + ) +} + +pragma[nomagic] +predicate hasFileParent(AstNode n, File f, int i) { + n = + rank[i + 1](AstNode n0, int startline, int startcolumn, int endline, int endcolumn | + hasFileParent(n0, f, startline, startcolumn, endline, endcolumn) + | + n0 order by startline, startcolumn, endline, endcolumn + ) +} + +from AstNode n, AstNodeParent parent, int i, Location location +where + erb_ast_node_location(n, location) and + ( + erb_ast_node_parent(n, parent, i) + or + hasFileParent(n, parent, i) + ) +select n, parent, i, location diff --git a/ruby/downgrades/440de75c71e9206ce16eed49a22c76e7889b5fc3/old.dbscheme b/ruby/downgrades/440de75c71e9206ce16eed49a22c76e7889b5fc3/old.dbscheme new file mode 100644 index 00000000000..440de75c71e --- /dev/null +++ b/ruby/downgrades/440de75c71e9206ce16eed49a22c76e7889b5fc3/old.dbscheme @@ -0,0 +1,1513 @@ +// 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 +); + +/*- 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; + +/*- 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_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/440de75c71e9206ce16eed49a22c76e7889b5fc3/ruby.dbscheme b/ruby/downgrades/440de75c71e9206ce16eed49a22c76e7889b5fc3/ruby.dbscheme new file mode 100644 index 00000000000..f9f0f4023e4 --- /dev/null +++ b/ruby/downgrades/440de75c71e9206ce16eed49a22c76e7889b5fc3/ruby.dbscheme @@ -0,0 +1,1509 @@ +// 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 +); + +/*- 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; + +/*- 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_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_parent = @file | @ruby_ast_node + +#keyset[parent, parent_index] +ruby_ast_node_info( + unique int node: @ruby_ast_node ref, + int parent: @ruby_ast_node_parent ref, + int parent_index: int ref, + int loc: @location_default 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_parent = @erb_ast_node | @file + +#keyset[parent, parent_index] +erb_ast_node_info( + unique int node: @erb_ast_node ref, + int parent: @erb_ast_node_parent ref, + int parent_index: int ref, + int loc: @location_default ref +); + diff --git a/ruby/downgrades/440de75c71e9206ce16eed49a22c76e7889b5fc3/ruby_ast_node_info.ql b/ruby/downgrades/440de75c71e9206ce16eed49a22c76e7889b5fc3/ruby_ast_node_info.ql new file mode 100644 index 00000000000..06551527942 --- /dev/null +++ b/ruby/downgrades/440de75c71e9206ce16eed49a22c76e7889b5fc3/ruby_ast_node_info.ql @@ -0,0 +1,44 @@ +class TAstNodeParent = @file or @ruby_ast_node; + +abstract class AstNodeParent extends TAstNodeParent { + string toString() { none() } +} + +class AstNode extends AstNodeParent, @ruby_ast_node { } + +class File extends AstNodeParent, @file { } + +class Location extends @location_default { + string toString() { none() } +} + +pragma[nomagic] +predicate hasFileParent( + AstNode n, File f, int startline, int startcolumn, int endline, int endcolumn +) { + exists(Location loc | + not ruby_ast_node_parent(n, _, _) and + ruby_ast_node_location(n, loc) and + locations_default(loc, f, startline, startcolumn, endline, endcolumn) + ) +} + +pragma[nomagic] +predicate hasFileParent(AstNode n, File f, int i) { + n = + rank[i + 1](AstNode n0, int startline, int startcolumn, int endline, int endcolumn | + hasFileParent(n0, f, startline, startcolumn, endline, endcolumn) + | + n0 order by startline, startcolumn, endline, endcolumn + ) +} + +from AstNode n, AstNodeParent parent, int i, Location location +where + ruby_ast_node_location(n, location) and + ( + ruby_ast_node_parent(n, parent, i) + or + hasFileParent(n, parent, i) + ) +select n, parent, i, location diff --git a/ruby/downgrades/440de75c71e9206ce16eed49a22c76e7889b5fc3/upgrade.properties b/ruby/downgrades/440de75c71e9206ce16eed49a22c76e7889b5fc3/upgrade.properties new file mode 100644 index 00000000000..b75ccdefc20 --- /dev/null +++ b/ruby/downgrades/440de75c71e9206ce16eed49a22c76e7889b5fc3/upgrade.properties @@ -0,0 +1,8 @@ +description: Merge `ruby_ast_node_location` and `ruby_ast_node_parent` into `ruby_ast_node_info` (and same for `erb`) +compatibility: backwards +erb_ast_node_info.rel: run erb_ast_node_info.qlo +erb_ast_node_location.rel: delete +erb_ast_node_parent.rel: delete +ruby_ast_node_info.rel: run ruby_ast_node_info.qlo +ruby_ast_node_location.rel: delete +ruby_ast_node_parent.rel: delete diff --git a/ruby/extractor/Cargo.lock b/ruby/extractor/Cargo.lock index d5e8f132f24..750d630402b 100644 Binary files a/ruby/extractor/Cargo.lock and b/ruby/extractor/Cargo.lock differ diff --git a/ruby/extractor/Cargo.toml b/ruby/extractor/Cargo.toml index 8bb8cd96dce..87a9f9f7a80 100644 --- a/ruby/extractor/Cargo.toml +++ b/ruby/extractor/Cargo.toml @@ -34,4 +34,4 @@ lazy_static = "1.4.0" # of lock-file update time, but `rules_rust` pins generates a bazel rule that unconditionally downloads `main`, which # breaks build hermeticity. So, rev-pinning it is. # See also https://github.com/bazelbuild/rules_rust/issues/2502. -codeql-extractor = { git = "https://github.com/github/codeql.git", rev = "514a92d5bd1e24e4b7367d64430762ffd1ffbe7f" } +codeql-extractor = { git = "https://github.com/github/codeql.git", rev = "cee6f003fd58c64916c629f7d8b27b870d6f78c5" } diff --git a/ruby/extractor/cargo-bazel-lock.json b/ruby/extractor/cargo-bazel-lock.json index 76a63d4376d..15b86880665 100644 --- a/ruby/extractor/cargo-bazel-lock.json +++ b/ruby/extractor/cargo-bazel-lock.json @@ -1,5 +1,5 @@ { - "checksum": "1c460a0aa044e422d51b182416888e0a45d131996cc1821a0fedbab3cd2b07bf", + "checksum": "76aa7a86db3d70a3b257062c5c6b87da62e07258e6f16a487d8c42aa561c0224", "crates": { "adler 1.0.2": { "name": "adler", @@ -7,7 +7,7 @@ "package_url": "https://github.com/jonas-schievink/adler.git", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/adler/1.0.2/download", + "url": "https://static.crates.io/crates/adler/1.0.2/download", "sha256": "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" } }, @@ -44,7 +44,7 @@ "package_url": "https://github.com/BurntSushi/aho-corasick", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/aho-corasick/0.7.20/download", + "url": "https://static.crates.io/crates/aho-corasick/0.7.20/download", "sha256": "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" } }, @@ -96,7 +96,7 @@ "package_url": "https://github.com/BurntSushi/aho-corasick", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/aho-corasick/1.1.2/download", + "url": "https://static.crates.io/crates/aho-corasick/1.1.2/download", "sha256": "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" } }, @@ -149,7 +149,7 @@ "package_url": "https://github.com/nical/android_system_properties", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/android_system_properties/0.1.5/download", + "url": "https://static.crates.io/crates/android_system_properties/0.1.5/download", "sha256": "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" } }, @@ -194,7 +194,7 @@ "package_url": "https://github.com/rust-cli/anstyle.git", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/anstream/0.2.6/download", + "url": "https://static.crates.io/crates/anstream/0.2.6/download", "sha256": "342258dd14006105c2b75ab1bd7543a03bdf0cfc94383303ac212a04939dff6f" } }, @@ -274,7 +274,7 @@ "package_url": "https://github.com/rust-cli/anstyle.git", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/anstyle/0.3.5/download", + "url": "https://static.crates.io/crates/anstyle/0.3.5/download", "sha256": "23ea9e81bd02e310c216d080f6223c179012256e5151c41db88d12c88a1684d2" } }, @@ -317,7 +317,7 @@ "package_url": "https://github.com/rust-cli/anstyle.git", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/anstyle-parse/0.1.1/download", + "url": "https://static.crates.io/crates/anstyle-parse/0.1.1/download", "sha256": "a7d1bb534e9efed14f3e5f44e7dd1a4f709384023a4165199a4241e18dff0116" } }, @@ -369,7 +369,7 @@ "package_url": "https://github.com/rust-cli/anstyle.git", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/anstyle-wincon/0.2.0/download", + "url": "https://static.crates.io/crates/anstyle-wincon/0.2.0/download", "sha256": "c3127af6145b149f3287bb9a0d10ad9c5692dba8c53ad48285e5bec4063834fa" } }, @@ -421,7 +421,7 @@ "package_url": "https://github.com/cuviper/autocfg", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/autocfg/1.1.0/download", + "url": "https://static.crates.io/crates/autocfg/1.1.0/download", "sha256": "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" } }, @@ -457,7 +457,7 @@ "package_url": "https://github.com/bitflags/bitflags", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/bitflags/1.3.2/download", + "url": "https://static.crates.io/crates/bitflags/1.3.2/download", "sha256": "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" } }, @@ -499,7 +499,7 @@ "package_url": "https://github.com/BurntSushi/bstr", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/bstr/1.9.0/download", + "url": "https://static.crates.io/crates/bstr/1.9.0/download", "sha256": "c48f0051a4b4c5e0b6d365cd04af53aeaa209e3cc15ec2cdb69e73cc87fbd0dc" } }, @@ -551,7 +551,7 @@ "package_url": "https://github.com/fitzgen/bumpalo", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/bumpalo/3.12.0/download", + "url": "https://static.crates.io/crates/bumpalo/3.12.0/download", "sha256": "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535" } }, @@ -593,7 +593,7 @@ "package_url": "https://github.com/rust-lang/cc-rs", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/cc/1.0.79/download", + "url": "https://static.crates.io/crates/cc/1.0.79/download", "sha256": "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" } }, @@ -629,7 +629,7 @@ "package_url": "https://github.com/alexcrichton/cfg-if", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/cfg-if/1.0.0/download", + "url": "https://static.crates.io/crates/cfg-if/1.0.0/download", "sha256": "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" } }, @@ -665,7 +665,7 @@ "package_url": "https://github.com/chronotope/chrono", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/chrono/0.4.24/download", + "url": "https://static.crates.io/crates/chrono/0.4.24/download", "sha256": "4e3c5919066adf22df73762e50cffcde3a758f2a848b113b586d1f86728b673b" } }, @@ -761,7 +761,7 @@ "package_url": "https://github.com/clap-rs/clap", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/clap/4.2.1/download", + "url": "https://static.crates.io/crates/clap/4.2.1/download", "sha256": "046ae530c528f252094e4a77886ee1374437744b2bff1497aa898bbddbbb29b3" } }, @@ -832,7 +832,7 @@ "package_url": "https://github.com/clap-rs/clap", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/clap_builder/4.2.1/download", + "url": "https://static.crates.io/crates/clap_builder/4.2.1/download", "sha256": "223163f58c9a40c3b0a43e1c4b50a9ce09f007ea2cb1ec258a687945b4b7929f" } }, @@ -904,7 +904,7 @@ "package_url": "https://github.com/clap-rs/clap/tree/master/clap_derive", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/clap_derive/4.2.0/download", + "url": "https://static.crates.io/crates/clap_derive/4.2.0/download", "sha256": "3f9644cd56d6b87dbe899ef8b053e331c0637664e9e21a33dfcdc36093f5c5c4" } }, @@ -967,7 +967,7 @@ "package_url": "https://github.com/clap-rs/clap/tree/master/clap_lex", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/clap_lex/0.4.1/download", + "url": "https://static.crates.io/crates/clap_lex/0.4.1/download", "sha256": "8a2dd5a6fe8c6e3502f568a6353e5273bbb15193ad9a89e457b9970798efbea1" } }, @@ -1005,7 +1005,7 @@ "Git": { "remote": "https://github.com/github/codeql.git", "commitish": { - "Rev": "514a92d5bd1e24e4b7367d64430762ffd1ffbe7f" + "Rev": "cee6f003fd58c64916c629f7d8b27b870d6f78c5" }, "strip_prefix": "shared/tree-sitter-extractor" } @@ -1159,7 +1159,7 @@ "package_url": "https://github.com/brendanzab/codespan", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/codespan-reporting/0.11.1/download", + "url": "https://static.crates.io/crates/codespan-reporting/0.11.1/download", "sha256": "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" } }, @@ -1207,7 +1207,7 @@ "package_url": "https://github.com/rust-cli/concolor", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/concolor-override/1.0.0/download", + "url": "https://static.crates.io/crates/concolor-override/1.0.0/download", "sha256": "a855d4a1978dc52fb0536a04d384c2c0c1aa273597f08b77c8c4d3b2eec6037f" } }, @@ -1243,7 +1243,7 @@ "package_url": "https://github.com/rust-cli/concolor", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/concolor-query/0.3.3/download", + "url": "https://static.crates.io/crates/concolor-query/0.3.3/download", "sha256": "88d11d52c3d7ca2e6d0040212be9e4dbbcd78b6447f535b6b561f449427944cf" } }, @@ -1290,7 +1290,7 @@ "package_url": "https://github.com/servo/core-foundation-rs", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/core-foundation-sys/0.8.4/download", + "url": "https://static.crates.io/crates/core-foundation-sys/0.8.4/download", "sha256": "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" } }, @@ -1326,7 +1326,7 @@ "package_url": "https://github.com/srijs/rust-crc32fast", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/crc32fast/1.3.2/download", + "url": "https://static.crates.io/crates/crc32fast/1.3.2/download", "sha256": "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" } }, @@ -1396,7 +1396,7 @@ "package_url": "https://github.com/crossbeam-rs/crossbeam", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/crossbeam-channel/0.5.7/download", + "url": "https://static.crates.io/crates/crossbeam-channel/0.5.7/download", "sha256": "cf2b3e8478797446514c91ef04bafcb59faba183e621ad488df88983cc14128c" } }, @@ -1453,7 +1453,7 @@ "package_url": "https://github.com/crossbeam-rs/crossbeam", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/crossbeam-deque/0.8.3/download", + "url": "https://static.crates.io/crates/crossbeam-deque/0.8.3/download", "sha256": "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" } }, @@ -1515,7 +1515,7 @@ "package_url": "https://github.com/crossbeam-rs/crossbeam", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/crossbeam-epoch/0.9.14/download", + "url": "https://static.crates.io/crates/crossbeam-epoch/0.9.14/download", "sha256": "46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695" } }, @@ -1606,7 +1606,7 @@ "package_url": "https://github.com/crossbeam-rs/crossbeam", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/crossbeam-utils/0.8.15/download", + "url": "https://static.crates.io/crates/crossbeam-utils/0.8.15/download", "sha256": "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b" } }, @@ -1676,7 +1676,7 @@ "package_url": "https://github.com/dtolnay/cxx", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/cxx/1.0.94/download", + "url": "https://static.crates.io/crates/cxx/1.0.94/download", "sha256": "f61f1b6389c3fe1c316bf8a4dccc90a38208354b330925bce1f74a6c4756eb93" } }, @@ -1771,7 +1771,7 @@ "package_url": "https://github.com/dtolnay/cxx", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/cxx-build/1.0.94/download", + "url": "https://static.crates.io/crates/cxx-build/1.0.94/download", "sha256": "12cee708e8962df2aeb38f594aae5d827c022b6460ac71a7a3e2c3c2aae5a07b" } }, @@ -1840,7 +1840,7 @@ "package_url": "https://github.com/dtolnay/cxx", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/cxxbridge-flags/1.0.94/download", + "url": "https://static.crates.io/crates/cxxbridge-flags/1.0.94/download", "sha256": "7944172ae7e4068c533afbb984114a56c46e9ccddda550499caa222902c7f7bb" } }, @@ -1876,7 +1876,7 @@ "package_url": "https://github.com/dtolnay/cxx", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/cxxbridge-macro/1.0.94/download", + "url": "https://static.crates.io/crates/cxxbridge-macro/1.0.94/download", "sha256": "2345488264226bf682893e25de0769f3360aac9957980ec49361b083ddaa5bc5" } }, @@ -1929,7 +1929,7 @@ "package_url": "https://github.com/bluss/either", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/either/1.8.1/download", + "url": "https://static.crates.io/crates/either/1.8.1/download", "sha256": "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" } }, @@ -1965,7 +1965,7 @@ "package_url": "https://github.com/lifthrasiir/rust-encoding", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/encoding/0.2.33/download", + "url": "https://static.crates.io/crates/encoding/0.2.33/download", "sha256": "6b0d943856b990d12d3b55b359144ff341533e516d94098b1d3fc1ac666d36ec" } }, @@ -2025,7 +2025,7 @@ "package_url": "https://github.com/lifthrasiir/rust-encoding", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/encoding-index-japanese/1.20141219.5/download", + "url": "https://static.crates.io/crates/encoding-index-japanese/1.20141219.5/download", "sha256": "04e8b2ff42e9a05335dbf8b5c6f7567e5591d0d916ccef4e0b1710d32a0d0c91" } }, @@ -2069,7 +2069,7 @@ "package_url": "https://github.com/lifthrasiir/rust-encoding", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/encoding-index-korean/1.20141219.5/download", + "url": "https://static.crates.io/crates/encoding-index-korean/1.20141219.5/download", "sha256": "4dc33fb8e6bcba213fe2f14275f0963fd16f0a02c878e3095ecfdf5bee529d81" } }, @@ -2113,7 +2113,7 @@ "package_url": "https://github.com/lifthrasiir/rust-encoding", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/encoding-index-simpchinese/1.20141219.5/download", + "url": "https://static.crates.io/crates/encoding-index-simpchinese/1.20141219.5/download", "sha256": "d87a7194909b9118fc707194baa434a4e3b0fb6a5a757c73c3adb07aa25031f7" } }, @@ -2157,7 +2157,7 @@ "package_url": "https://github.com/lifthrasiir/rust-encoding", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/encoding-index-singlebyte/1.20141219.5/download", + "url": "https://static.crates.io/crates/encoding-index-singlebyte/1.20141219.5/download", "sha256": "3351d5acffb224af9ca265f435b859c7c01537c0849754d3db3fdf2bfe2ae84a" } }, @@ -2201,7 +2201,7 @@ "package_url": "https://github.com/lifthrasiir/rust-encoding", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/encoding-index-tradchinese/1.20141219.5/download", + "url": "https://static.crates.io/crates/encoding-index-tradchinese/1.20141219.5/download", "sha256": "fd0e20d5688ce3cab59eb3ef3a2083a5c77bf496cb798dc6fcdb75f323890c18" } }, @@ -2245,7 +2245,7 @@ "package_url": "https://github.com/lifthrasiir/rust-encoding", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/encoding_index_tests/0.1.4/download", + "url": "https://static.crates.io/crates/encoding_index_tests/0.1.4/download", "sha256": "a246d82be1c9d791c5dfde9a2bd045fc3cbba3fa2b11ad558f27d01712f00569" } }, @@ -2280,7 +2280,7 @@ "package_url": "https://github.com/lambda-fairy/rust-errno", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/errno/0.3.0/download", + "url": "https://static.crates.io/crates/errno/0.3.0/download", "sha256": "50d6a0976c999d473fe89ad888d5a284e55366d9dc9038b1ba2aa15128c4afa0" } }, @@ -2351,7 +2351,7 @@ "package_url": "https://github.com/mneumann/errno-dragonfly-rs", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/errno-dragonfly/0.1.2/download", + "url": "https://static.crates.io/crates/errno-dragonfly/0.1.2/download", "sha256": "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" } }, @@ -2422,7 +2422,7 @@ "package_url": "https://github.com/rust-lang/flate2-rs", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/flate2/1.0.25/download", + "url": "https://static.crates.io/crates/flate2/1.0.25/download", "sha256": "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841" } }, @@ -2479,7 +2479,7 @@ "package_url": "https://github.com/BurntSushi/ripgrep/tree/master/crates/globset", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/globset/0.4.14/download", + "url": "https://static.crates.io/crates/globset/0.4.14/download", "sha256": "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1" } }, @@ -2547,7 +2547,7 @@ "package_url": "https://github.com/withoutboats/heck", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/heck/0.4.1/download", + "url": "https://static.crates.io/crates/heck/0.4.1/download", "sha256": "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" } }, @@ -2589,7 +2589,7 @@ "package_url": "https://github.com/hermitcore/rusty-hermit", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/hermit-abi/0.2.6/download", + "url": "https://static.crates.io/crates/hermit-abi/0.2.6/download", "sha256": "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" } }, @@ -2634,7 +2634,7 @@ "package_url": "https://github.com/hermitcore/rusty-hermit", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/hermit-abi/0.3.1/download", + "url": "https://static.crates.io/crates/hermit-abi/0.3.1/download", "sha256": "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" } }, @@ -2670,7 +2670,7 @@ "package_url": "https://github.com/strawlab/iana-time-zone", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/iana-time-zone/0.1.56/download", + "url": "https://static.crates.io/crates/iana-time-zone/0.1.56/download", "sha256": "0722cd7114b7de04316e7ea5456a0bbb20e4adb46fd27a3697adb812cff0f37c" } }, @@ -2751,7 +2751,7 @@ "package_url": "https://github.com/strawlab/iana-time-zone", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/iana-time-zone-haiku/0.1.1/download", + "url": "https://static.crates.io/crates/iana-time-zone-haiku/0.1.1/download", "sha256": "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca" } }, @@ -2832,7 +2832,7 @@ "package_url": "https://github.com/sunfishcode/io-lifetimes", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/io-lifetimes/1.0.10/download", + "url": "https://static.crates.io/crates/io-lifetimes/1.0.10/download", "sha256": "9c66c74d2ae7e79a5a8f7ac924adbe38ee42a859c6539ad869eb51f0b52dc220" } }, @@ -2920,7 +2920,7 @@ "package_url": "https://github.com/sunfishcode/is-terminal", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/is-terminal/0.4.6/download", + "url": "https://static.crates.io/crates/is-terminal/0.4.6/download", "sha256": "256017f749ab3117e93acb91063009e1f1bb56d03965b14c2c8df4eb02c524d8" } }, @@ -2983,7 +2983,7 @@ "package_url": "https://github.com/dtolnay/itoa", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/itoa/1.0.6/download", + "url": "https://static.crates.io/crates/itoa/1.0.6/download", "sha256": "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6" } }, @@ -3019,7 +3019,7 @@ "package_url": "https://github.com/rustwasm/wasm-bindgen/tree/master/crates/js-sys", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/js-sys/0.3.61/download", + "url": "https://static.crates.io/crates/js-sys/0.3.61/download", "sha256": "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" } }, @@ -3064,7 +3064,7 @@ "package_url": "https://github.com/rust-lang-nursery/lazy-static.rs", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/lazy_static/1.4.0/download", + "url": "https://static.crates.io/crates/lazy_static/1.4.0/download", "sha256": "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" } }, @@ -3100,7 +3100,7 @@ "package_url": "https://github.com/rust-lang/libc", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/libc/0.2.141/download", + "url": "https://static.crates.io/crates/libc/0.2.141/download", "sha256": "3304a64d199bb964be99741b7a14d26972741915b3649639149b2479bb46f4b5" } }, @@ -3257,7 +3257,7 @@ "package_url": "https://github.com/dtolnay/link-cplusplus", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/link-cplusplus/1.0.8/download", + "url": "https://static.crates.io/crates/link-cplusplus/1.0.8/download", "sha256": "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5" } }, @@ -3326,7 +3326,7 @@ "package_url": "https://github.com/sunfishcode/linux-raw-sys", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/linux-raw-sys/0.3.1/download", + "url": "https://static.crates.io/crates/linux-raw-sys/0.3.1/download", "sha256": "d59d8c75012853d2e872fb56bc8a2e53718e2cafe1a4c823143141c6d90c322f" } }, @@ -3398,7 +3398,7 @@ "package_url": "https://github.com/rust-lang/log", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/log/0.4.20/download", + "url": "https://static.crates.io/crates/log/0.4.20/download", "sha256": "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" } }, @@ -3440,7 +3440,7 @@ "package_url": "https://github.com/hawkw/matchers", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/matchers/0.1.0/download", + "url": "https://static.crates.io/crates/matchers/0.1.0/download", "sha256": "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" } }, @@ -3484,7 +3484,7 @@ "package_url": "https://github.com/BurntSushi/memchr", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/memchr/2.7.1/download", + "url": "https://static.crates.io/crates/memchr/2.7.1/download", "sha256": "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" } }, @@ -3528,7 +3528,7 @@ "package_url": "https://github.com/Gilnaa/memoffset", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/memoffset/0.8.0/download", + "url": "https://static.crates.io/crates/memoffset/0.8.0/download", "sha256": "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" } }, @@ -3601,7 +3601,7 @@ "package_url": "https://github.com/Frommi/miniz_oxide/tree/master/miniz_oxide", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/miniz_oxide/0.6.2/download", + "url": "https://static.crates.io/crates/miniz_oxide/0.6.2/download", "sha256": "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" } }, @@ -3653,7 +3653,7 @@ "package_url": "https://github.com/nushell/nu-ansi-term", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/nu-ansi-term/0.46.0/download", + "url": "https://static.crates.io/crates/nu-ansi-term/0.46.0/download", "sha256": "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" } }, @@ -3704,7 +3704,7 @@ "package_url": "https://github.com/rust-num/num-integer", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/num-integer/0.1.45/download", + "url": "https://static.crates.io/crates/num-integer/0.1.45/download", "sha256": "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" } }, @@ -3776,7 +3776,7 @@ "package_url": "https://github.com/rust-num/num-traits", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/num-traits/0.2.15/download", + "url": "https://static.crates.io/crates/num-traits/0.2.15/download", "sha256": "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" } }, @@ -3844,7 +3844,7 @@ "package_url": "https://github.com/seanmonstar/num_cpus", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/num_cpus/1.15.0/download", + "url": "https://static.crates.io/crates/num_cpus/1.15.0/download", "sha256": "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" } }, @@ -3897,7 +3897,7 @@ "package_url": "https://github.com/matklad/once_cell", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/once_cell/1.17.1/download", + "url": "https://static.crates.io/crates/once_cell/1.17.1/download", "sha256": "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" } }, @@ -3942,7 +3942,7 @@ "package_url": "https://github.com/danaugrs/overload", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/overload/0.1.1/download", + "url": "https://static.crates.io/crates/overload/0.1.1/download", "sha256": "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" } }, @@ -3977,7 +3977,7 @@ "package_url": "https://github.com/taiki-e/pin-project-lite", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/pin-project-lite/0.2.9/download", + "url": "https://static.crates.io/crates/pin-project-lite/0.2.9/download", "sha256": "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" } }, @@ -4013,7 +4013,7 @@ "package_url": "https://github.com/dtolnay/proc-macro2", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/proc-macro2/1.0.56/download", + "url": "https://static.crates.io/crates/proc-macro2/1.0.56/download", "sha256": "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435" } }, @@ -4083,7 +4083,7 @@ "package_url": "https://github.com/dtolnay/quote", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/quote/1.0.26/download", + "url": "https://static.crates.io/crates/quote/1.0.26/download", "sha256": "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc" } }, @@ -4153,7 +4153,7 @@ "package_url": "https://github.com/rayon-rs/rayon", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/rayon/1.7.0/download", + "url": "https://static.crates.io/crates/rayon/1.7.0/download", "sha256": "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b" } }, @@ -4202,7 +4202,7 @@ "package_url": "https://github.com/rayon-rs/rayon", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/rayon-core/1.11.0/download", + "url": "https://static.crates.io/crates/rayon-core/1.11.0/download", "sha256": "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d" } }, @@ -4278,7 +4278,7 @@ "package_url": "https://github.com/rust-lang/regex", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/regex/1.7.3/download", + "url": "https://static.crates.io/crates/regex/1.7.3/download", "sha256": "8b1f693b24f6ac912f4893ef08244d70b6067480d2f1a46e950c9691e6749d1d" } }, @@ -4353,7 +4353,7 @@ "package_url": "https://github.com/BurntSushi/regex-automata", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/regex-automata/0.1.10/download", + "url": "https://static.crates.io/crates/regex-automata/0.1.10/download", "sha256": "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" } }, @@ -4406,7 +4406,7 @@ "package_url": "https://github.com/rust-lang/regex/tree/master/regex-automata", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/regex-automata/0.4.3/download", + "url": "https://static.crates.io/crates/regex-automata/0.4.3/download", "sha256": "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" } }, @@ -4478,7 +4478,7 @@ "package_url": "https://github.com/rust-lang/regex", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/regex-syntax/0.6.29/download", + "url": "https://static.crates.io/crates/regex-syntax/0.6.29/download", "sha256": "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" } }, @@ -4528,7 +4528,7 @@ "package_url": "https://github.com/rust-lang/regex/tree/master/regex-syntax", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/regex-syntax/0.8.2/download", + "url": "https://static.crates.io/crates/regex-syntax/0.8.2/download", "sha256": "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" } }, @@ -4570,7 +4570,7 @@ "package_url": "https://github.com/bytecodealliance/rustix", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/rustix/0.37.7/download", + "url": "https://static.crates.io/crates/rustix/0.37.7/download", "sha256": "2aae838e49b3d63e9274e1c01833cc8139d3fec468c3b84688c628f44b1ae11d" } }, @@ -4682,7 +4682,7 @@ "package_url": "https://github.com/dtolnay/ryu", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/ryu/1.0.13/download", + "url": "https://static.crates.io/crates/ryu/1.0.13/download", "sha256": "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041" } }, @@ -4718,7 +4718,7 @@ "package_url": "https://github.com/bluss/scopeguard", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/scopeguard/1.1.0/download", + "url": "https://static.crates.io/crates/scopeguard/1.1.0/download", "sha256": "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" } }, @@ -4754,7 +4754,7 @@ "package_url": "https://github.com/dtolnay/scratch", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/scratch/1.0.5/download", + "url": "https://static.crates.io/crates/scratch/1.0.5/download", "sha256": "1792db035ce95be60c3f8853017b3999209281c24e2ba5bc8e59bf97a0c590c1" } }, @@ -4813,7 +4813,7 @@ "package_url": "https://github.com/serde-rs/serde", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/serde/1.0.159/download", + "url": "https://static.crates.io/crates/serde/1.0.159/download", "sha256": "3c04e8343c3daeec41f58990b9d77068df31209f2af111e059e9fe9646693065" } }, @@ -4890,7 +4890,7 @@ "package_url": "https://github.com/serde-rs/serde", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/serde_derive/1.0.159/download", + "url": "https://static.crates.io/crates/serde_derive/1.0.159/download", "sha256": "4c614d17805b093df4b147b51339e7e44bf05ef59fba1e45d83500bcfb4d8585" } }, @@ -4967,7 +4967,7 @@ "package_url": "https://github.com/serde-rs/json", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/serde_json/1.0.95/download", + "url": "https://static.crates.io/crates/serde_json/1.0.95/download", "sha256": "d721eca97ac802aa7777b701877c8004d950fc142651367300d21c1cc0194744" } }, @@ -5045,7 +5045,7 @@ "package_url": "https://github.com/hawkw/sharded-slab", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/sharded-slab/0.1.4/download", + "url": "https://static.crates.io/crates/sharded-slab/0.1.4/download", "sha256": "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" } }, @@ -5089,7 +5089,7 @@ "package_url": "https://github.com/servo/rust-smallvec", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/smallvec/1.10.0/download", + "url": "https://static.crates.io/crates/smallvec/1.10.0/download", "sha256": "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" } }, @@ -5125,7 +5125,7 @@ "package_url": "https://github.com/dguo/strsim-rs", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/strsim/0.10.0/download", + "url": "https://static.crates.io/crates/strsim/0.10.0/download", "sha256": "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" } }, @@ -5160,7 +5160,7 @@ "package_url": "https://github.com/dtolnay/syn", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/syn/1.0.109/download", + "url": "https://static.crates.io/crates/syn/1.0.109/download", "sha256": "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" } }, @@ -5250,7 +5250,7 @@ "package_url": "https://github.com/dtolnay/syn", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/syn/2.0.13/download", + "url": "https://static.crates.io/crates/syn/2.0.13/download", "sha256": "4c9da457c5285ac1f936ebd076af6dac17a61cfe7826f2076b4d015cf47bc8ec" } }, @@ -5316,7 +5316,7 @@ "package_url": "https://github.com/BurntSushi/termcolor", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/termcolor/1.2.0/download", + "url": "https://static.crates.io/crates/termcolor/1.2.0/download", "sha256": "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" } }, @@ -5363,7 +5363,7 @@ "package_url": "https://github.com/Amanieu/thread_local-rs", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/thread_local/1.1.7/download", + "url": "https://static.crates.io/crates/thread_local/1.1.7/download", "sha256": "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" } }, @@ -5412,7 +5412,7 @@ "package_url": "https://github.com/time-rs/time", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/time/0.1.45/download", + "url": "https://static.crates.io/crates/time/0.1.45/download", "sha256": "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a" } }, @@ -5470,7 +5470,7 @@ "package_url": "https://github.com/tokio-rs/tracing", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/tracing/0.1.37/download", + "url": "https://static.crates.io/crates/tracing/0.1.37/download", "sha256": "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" } }, @@ -5540,7 +5540,7 @@ "package_url": "https://github.com/tokio-rs/tracing", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/tracing-attributes/0.1.23/download", + "url": "https://static.crates.io/crates/tracing-attributes/0.1.23/download", "sha256": "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a" } }, @@ -5592,7 +5592,7 @@ "package_url": "https://github.com/tokio-rs/tracing", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/tracing-core/0.1.30/download", + "url": "https://static.crates.io/crates/tracing-core/0.1.30/download", "sha256": "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" } }, @@ -5651,7 +5651,7 @@ "package_url": "https://github.com/tokio-rs/tracing", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/tracing-log/0.1.3/download", + "url": "https://static.crates.io/crates/tracing-log/0.1.3/download", "sha256": "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" } }, @@ -5710,7 +5710,7 @@ "package_url": "https://github.com/tokio-rs/tracing", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/tracing-subscriber/0.3.16/download", + "url": "https://static.crates.io/crates/tracing-subscriber/0.3.16/download", "sha256": "a6176eae26dd70d0c919749377897b54a9276bd7061339665dd68777926b5a70" } }, @@ -5811,7 +5811,7 @@ "package_url": "https://github.com/tree-sitter/tree-sitter", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/tree-sitter/0.20.10/download", + "url": "https://static.crates.io/crates/tree-sitter/0.20.10/download", "sha256": "e747b1f9b7b931ed39a548c1fae149101497de3c1fc8d9e18c62c1a66c683d3d" } }, @@ -6028,7 +6028,7 @@ "package_url": "https://github.com/dtolnay/unicode-ident", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/unicode-ident/1.0.8/download", + "url": "https://static.crates.io/crates/unicode-ident/1.0.8/download", "sha256": "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4" } }, @@ -6065,7 +6065,7 @@ "package_url": "https://github.com/unicode-rs/unicode-width", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/unicode-width/0.1.10/download", + "url": "https://static.crates.io/crates/unicode-width/0.1.10/download", "sha256": "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" } }, @@ -6101,7 +6101,7 @@ "package_url": "https://github.com/alacritty/vte", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/utf8parse/0.2.1/download", + "url": "https://static.crates.io/crates/utf8parse/0.2.1/download", "sha256": "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" } }, @@ -6143,7 +6143,7 @@ "package_url": "https://github.com/tokio-rs/valuable", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/valuable/0.1.0/download", + "url": "https://static.crates.io/crates/valuable/0.1.0/download", "sha256": "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" } }, @@ -6201,7 +6201,7 @@ "package_url": "https://github.com/bytecodealliance/wasi", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/wasi/0.10.0+wasi-snapshot-preview1/download", + "url": "https://static.crates.io/crates/wasi/0.10.0+wasi-snapshot-preview1/download", "sha256": "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" } }, @@ -6244,7 +6244,7 @@ "package_url": "https://github.com/rustwasm/wasm-bindgen", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/wasm-bindgen/0.2.84/download", + "url": "https://static.crates.io/crates/wasm-bindgen/0.2.84/download", "sha256": "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" } }, @@ -6324,7 +6324,7 @@ "package_url": "https://github.com/rustwasm/wasm-bindgen/tree/master/crates/backend", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/wasm-bindgen-backend/0.2.84/download", + "url": "https://static.crates.io/crates/wasm-bindgen-backend/0.2.84/download", "sha256": "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" } }, @@ -6399,7 +6399,7 @@ "package_url": "https://github.com/rustwasm/wasm-bindgen/tree/master/crates/macro", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/wasm-bindgen-macro/0.2.84/download", + "url": "https://static.crates.io/crates/wasm-bindgen-macro/0.2.84/download", "sha256": "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" } }, @@ -6454,7 +6454,7 @@ "package_url": "https://github.com/rustwasm/wasm-bindgen/tree/master/crates/macro-support", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/wasm-bindgen-macro-support/0.2.84/download", + "url": "https://static.crates.io/crates/wasm-bindgen-macro-support/0.2.84/download", "sha256": "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" } }, @@ -6521,7 +6521,7 @@ "package_url": "https://github.com/rustwasm/wasm-bindgen/tree/master/crates/shared", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/wasm-bindgen-shared/0.2.84/download", + "url": "https://static.crates.io/crates/wasm-bindgen-shared/0.2.84/download", "sha256": "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" } }, @@ -6581,7 +6581,7 @@ "package_url": "https://github.com/retep998/winapi-rs", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/winapi/0.3.9/download", + "url": "https://static.crates.io/crates/winapi/0.3.9/download", "sha256": "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" } }, @@ -6670,7 +6670,7 @@ "package_url": "https://github.com/retep998/winapi-rs", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download", + "url": "https://static.crates.io/crates/winapi-i686-pc-windows-gnu/0.4.0/download", "sha256": "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" } }, @@ -6729,7 +6729,7 @@ "package_url": "https://github.com/BurntSushi/winapi-util", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/winapi-util/0.1.5/download", + "url": "https://static.crates.io/crates/winapi-util/0.1.5/download", "sha256": "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" } }, @@ -6776,7 +6776,7 @@ "package_url": "https://github.com/retep998/winapi-rs", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download", + "url": "https://static.crates.io/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download", "sha256": "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" } }, @@ -6835,7 +6835,7 @@ "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/windows/0.48.0/download", + "url": "https://static.crates.io/crates/windows/0.48.0/download", "sha256": "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" } }, @@ -6880,7 +6880,7 @@ "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/windows-sys/0.45.0/download", + "url": "https://static.crates.io/crates/windows-sys/0.45.0/download", "sha256": "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" } }, @@ -6939,7 +6939,7 @@ "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/windows-sys/0.48.0/download", + "url": "https://static.crates.io/crates/windows-sys/0.48.0/download", "sha256": "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" } }, @@ -7000,7 +7000,7 @@ "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/windows-targets/0.42.2/download", + "url": "https://static.crates.io/crates/windows-targets/0.42.2/download", "sha256": "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" } }, @@ -7113,7 +7113,7 @@ "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/windows-targets/0.48.0/download", + "url": "https://static.crates.io/crates/windows-targets/0.48.0/download", "sha256": "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5" } }, @@ -7196,7 +7196,7 @@ "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.42.2/download", + "url": "https://static.crates.io/crates/windows_aarch64_gnullvm/0.42.2/download", "sha256": "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" } }, @@ -7255,7 +7255,7 @@ "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.48.0/download", + "url": "https://static.crates.io/crates/windows_aarch64_gnullvm/0.48.0/download", "sha256": "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" } }, @@ -7314,7 +7314,7 @@ "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/windows_aarch64_msvc/0.42.2/download", + "url": "https://static.crates.io/crates/windows_aarch64_msvc/0.42.2/download", "sha256": "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" } }, @@ -7373,7 +7373,7 @@ "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/windows_aarch64_msvc/0.48.0/download", + "url": "https://static.crates.io/crates/windows_aarch64_msvc/0.48.0/download", "sha256": "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" } }, @@ -7432,7 +7432,7 @@ "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/windows_i686_gnu/0.42.2/download", + "url": "https://static.crates.io/crates/windows_i686_gnu/0.42.2/download", "sha256": "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" } }, @@ -7491,7 +7491,7 @@ "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/windows_i686_gnu/0.48.0/download", + "url": "https://static.crates.io/crates/windows_i686_gnu/0.48.0/download", "sha256": "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" } }, @@ -7550,7 +7550,7 @@ "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/windows_i686_msvc/0.42.2/download", + "url": "https://static.crates.io/crates/windows_i686_msvc/0.42.2/download", "sha256": "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" } }, @@ -7609,7 +7609,7 @@ "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/windows_i686_msvc/0.48.0/download", + "url": "https://static.crates.io/crates/windows_i686_msvc/0.48.0/download", "sha256": "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" } }, @@ -7668,7 +7668,7 @@ "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/windows_x86_64_gnu/0.42.2/download", + "url": "https://static.crates.io/crates/windows_x86_64_gnu/0.42.2/download", "sha256": "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" } }, @@ -7727,7 +7727,7 @@ "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/windows_x86_64_gnu/0.48.0/download", + "url": "https://static.crates.io/crates/windows_x86_64_gnu/0.48.0/download", "sha256": "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" } }, @@ -7786,7 +7786,7 @@ "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.42.2/download", + "url": "https://static.crates.io/crates/windows_x86_64_gnullvm/0.42.2/download", "sha256": "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" } }, @@ -7845,7 +7845,7 @@ "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.48.0/download", + "url": "https://static.crates.io/crates/windows_x86_64_gnullvm/0.48.0/download", "sha256": "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" } }, @@ -7904,7 +7904,7 @@ "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/windows_x86_64_msvc/0.42.2/download", + "url": "https://static.crates.io/crates/windows_x86_64_msvc/0.42.2/download", "sha256": "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" } }, @@ -7963,7 +7963,7 @@ "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/windows_x86_64_msvc/0.48.0/download", + "url": "https://static.crates.io/crates/windows_x86_64_msvc/0.48.0/download", "sha256": "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" } }, diff --git a/ruby/ql/consistency-queries/DataFlowConsistency.ql b/ruby/ql/consistency-queries/DataFlowConsistency.ql index d064eeb3701..76155d5d1c1 100644 --- a/ruby/ql/consistency-queries/DataFlowConsistency.ql +++ b/ruby/ql/consistency-queries/DataFlowConsistency.ql @@ -5,7 +5,7 @@ private import codeql.ruby.dataflow.internal.DataFlowImplSpecific private import codeql.ruby.dataflow.internal.TaintTrackingImplSpecific private import codeql.dataflow.internal.DataFlowImplConsistency -private module Input implements InputSig<RubyDataFlow> { +private module Input implements InputSig<Location, RubyDataFlow> { private import RubyDataFlow predicate postWithInFlowExclude(Node n) { n instanceof FlowSummaryNode } @@ -46,4 +46,4 @@ private module Input implements InputSig<RubyDataFlow> { } } -import MakeConsistency<RubyDataFlow, RubyTaintTracking, Input> +import MakeConsistency<Location, RubyDataFlow, RubyTaintTracking, Input> diff --git a/ruby/ql/lib/CHANGELOG.md b/ruby/ql/lib/CHANGELOG.md index a623a151e89..1e0b5dda19a 100644 --- a/ruby/ql/lib/CHANGELOG.md +++ b/ruby/ql/lib/CHANGELOG.md @@ -1,3 +1,16 @@ +## 0.8.11 + +No user-facing changes. + +## 0.8.10 + +### Minor Analysis Improvements + +* Calls to `I18n.translate` as well as Rails helper translate methods now propagate taint from their keyword arguments. The Rails translate methods are also recognized as XSS sanitizers when using keys marked as html safe. +* Calls to `Arel::Nodes::SqlLiteral.new` are now modeled as instances of the `SqlConstruction` concept, as well as propagating taint from their argument. +* Additional arguments beyond the first of calls to the `ActiveRecord` methods `select`, `reselect`, `order`, `reorder`, `joins`, `group`, and `pluck` are now recognized as sql injection sinks. +* Calls to several methods of `ActiveRecord::Connection`, such as `ActiveRecord::Connection#exec_query`, are now recognized as SQL executions, including those via subclasses. + ## 0.8.9 ### Minor Analysis Improvements diff --git a/ruby/ql/lib/change-notes/2024-02-15-activerecord_connection_sql_sinks.md b/ruby/ql/lib/change-notes/2024-02-15-activerecord_connection_sql_sinks.md deleted file mode 100644 index c2276f284a8..00000000000 --- a/ruby/ql/lib/change-notes/2024-02-15-activerecord_connection_sql_sinks.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Calls to several methods of `ActiveRecord::Connection`, such as `ActiveRecord::Connection#exec_query`, are now recognized as SQL executions, including those via subclasses. \ No newline at end of file diff --git a/ruby/ql/lib/change-notes/2024-02-20-activerecord-sql-sink-arguments.md b/ruby/ql/lib/change-notes/2024-02-20-activerecord-sql-sink-arguments.md deleted file mode 100644 index 1486c7a472d..00000000000 --- a/ruby/ql/lib/change-notes/2024-02-20-activerecord-sql-sink-arguments.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Additional arguments beyond the first of calls to the `ActiveRecord` methods `select`, `reselect`, `order`, `reorder`, `joins`, `group`, and `pluck` are now recognized as sql injection sinks. \ No newline at end of file diff --git a/ruby/ql/lib/change-notes/2024-02-26-arel-sqlliteral.md b/ruby/ql/lib/change-notes/2024-02-26-arel-sqlliteral.md deleted file mode 100644 index 56d2dcf5c73..00000000000 --- a/ruby/ql/lib/change-notes/2024-02-26-arel-sqlliteral.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -Calls to `Arel::Nodes::SqlLiteral.new` are now modeled as instances of the `SqlConstruction` concept, as well as propagating taint from their argument. \ No newline at end of file diff --git a/ruby/ql/lib/change-notes/2024-02-27-process-spawn.md b/ruby/ql/lib/change-notes/2024-02-27-process-spawn.md new file mode 100644 index 00000000000..9c20f05d865 --- /dev/null +++ b/ruby/ql/lib/change-notes/2024-02-27-process-spawn.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* New command injection sinks have been added, including `Process.spawn`, `Process.exec`, `Terrapin::CommandLine` and the `open4` gem. \ No newline at end of file diff --git a/ruby/ql/lib/change-notes/2024-02-29-i18n-translate.md b/ruby/ql/lib/change-notes/2024-02-29-i18n-translate.md deleted file mode 100644 index f08bd54efa2..00000000000 --- a/ruby/ql/lib/change-notes/2024-02-29-i18n-translate.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -Calls to `I18n.translate` as well as Rails helper translate methods now propagate taint from their keyword arguments. The Rails translate methods are also recognized as XSS sanitizers when using keys marked as html safe. \ No newline at end of file diff --git a/ruby/ql/lib/change-notes/2024-03-08-activerecord-from.md b/ruby/ql/lib/change-notes/2024-03-08-activerecord-from.md new file mode 100644 index 00000000000..704a4f27a61 --- /dev/null +++ b/ruby/ql/lib/change-notes/2024-03-08-activerecord-from.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* The second argument, `subquery_name`, of the `ActiveRecord::QueryMethods::from` method, is now recognized as an sql injection sink. \ No newline at end of file diff --git a/ruby/ql/lib/change-notes/2024-03-14-actiondispatch-uploadedfile.md b/ruby/ql/lib/change-notes/2024-03-14-actiondispatch-uploadedfile.md new file mode 100644 index 00000000000..a02ca0d00a2 --- /dev/null +++ b/ruby/ql/lib/change-notes/2024-03-14-actiondispatch-uploadedfile.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* Modeled instances of `ActionDispatch::Http::UploadedFile` that can be obtained from element reads of `ActionController::Parameters`, with calls to `original_filename`, `content_type`, and `read` now propagating taint from their receiver. \ No newline at end of file diff --git a/ruby/ql/lib/change-notes/2024-03-19-activerecord-scopes.md b/ruby/ql/lib/change-notes/2024-03-19-activerecord-scopes.md new file mode 100644 index 00000000000..963479568a0 --- /dev/null +++ b/ruby/ql/lib/change-notes/2024-03-19-activerecord-scopes.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* Data flow is now tracked through `ActiveRecord` scopes. diff --git a/ruby/ql/lib/change-notes/released/0.8.10.md b/ruby/ql/lib/change-notes/released/0.8.10.md new file mode 100644 index 00000000000..666e28f840e --- /dev/null +++ b/ruby/ql/lib/change-notes/released/0.8.10.md @@ -0,0 +1,8 @@ +## 0.8.10 + +### Minor Analysis Improvements + +* Calls to `I18n.translate` as well as Rails helper translate methods now propagate taint from their keyword arguments. The Rails translate methods are also recognized as XSS sanitizers when using keys marked as html safe. +* Calls to `Arel::Nodes::SqlLiteral.new` are now modeled as instances of the `SqlConstruction` concept, as well as propagating taint from their argument. +* Additional arguments beyond the first of calls to the `ActiveRecord` methods `select`, `reselect`, `order`, `reorder`, `joins`, `group`, and `pluck` are now recognized as sql injection sinks. +* Calls to several methods of `ActiveRecord::Connection`, such as `ActiveRecord::Connection#exec_query`, are now recognized as SQL executions, including those via subclasses. diff --git a/ruby/ql/lib/change-notes/released/0.8.11.md b/ruby/ql/lib/change-notes/released/0.8.11.md new file mode 100644 index 00000000000..6f504c5c207 --- /dev/null +++ b/ruby/ql/lib/change-notes/released/0.8.11.md @@ -0,0 +1,3 @@ +## 0.8.11 + +No user-facing changes. diff --git a/ruby/ql/lib/codeql-pack.release.yml b/ruby/ql/lib/codeql-pack.release.yml index 5290c29b7fe..7b42a9d984c 100644 --- a/ruby/ql/lib/codeql-pack.release.yml +++ b/ruby/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.8.9 +lastReleaseVersion: 0.8.11 diff --git a/ruby/ql/lib/codeql/ruby/AST.qll b/ruby/ql/lib/codeql/ruby/AST.qll index d517c8f4d44..e8dc28692c0 100644 --- a/ruby/ql/lib/codeql/ruby/AST.qll +++ b/ruby/ql/lib/codeql/ruby/AST.qll @@ -137,7 +137,12 @@ class AstNode extends TAstNode { /** A Ruby source file */ class RubyFile extends File { - RubyFile() { ruby_ast_node_info(_, this, _, _) } + RubyFile() { + exists(Location loc | + ruby_ast_node_location(_, loc) and + this = loc.getFile() + ) + } /** Gets a token in this file. */ private Ruby::Token getAToken() { result.getLocation().getFile() = this } diff --git a/ruby/ql/lib/codeql/ruby/DataFlow.qll b/ruby/ql/lib/codeql/ruby/DataFlow.qll index aa6e7e0cd59..f17c85143f5 100644 --- a/ruby/ql/lib/codeql/ruby/DataFlow.qll +++ b/ruby/ql/lib/codeql/ruby/DataFlow.qll @@ -12,6 +12,6 @@ import codeql.Locations module DataFlow { private import codeql.ruby.dataflow.internal.DataFlowImplSpecific private import codeql.dataflow.DataFlow - import DataFlowMake<RubyDataFlow> + import DataFlowMake<Location, RubyDataFlow> import codeql.ruby.dataflow.internal.DataFlowImpl1 } diff --git a/ruby/ql/lib/codeql/ruby/TaintTracking.qll b/ruby/ql/lib/codeql/ruby/TaintTracking.qll index 461a423e1f1..7534b28079a 100644 --- a/ruby/ql/lib/codeql/ruby/TaintTracking.qll +++ b/ruby/ql/lib/codeql/ruby/TaintTracking.qll @@ -7,6 +7,7 @@ module TaintTracking { private import codeql.ruby.dataflow.internal.DataFlowImplSpecific private import codeql.ruby.dataflow.internal.TaintTrackingImplSpecific private import codeql.dataflow.TaintTracking - import TaintFlowMake<RubyDataFlow, RubyTaintTracking> + private import codeql.Locations + import TaintFlowMake<Location, RubyDataFlow, RubyTaintTracking> import codeql.ruby.dataflow.internal.tainttracking1.TaintTrackingImpl } diff --git a/ruby/ql/lib/codeql/ruby/ast/internal/Constant.qll b/ruby/ql/lib/codeql/ruby/ast/internal/Constant.qll index c18474df099..09fdd8ef2f2 100644 --- a/ruby/ql/lib/codeql/ruby/ast/internal/Constant.qll +++ b/ruby/ql/lib/codeql/ruby/ast/internal/Constant.qll @@ -423,7 +423,7 @@ private module Cached { or s = any(StringComponentImpl c).getValue() } or - TSymbol(string s) { isString(_, s) or isSymbolExpr(_, s) } or + TSymbol(string s) { isSymbolExpr(_, s) } or TRegExp(string s, string flags) { isRegExp(_, s, flags) or diff --git a/ruby/ql/lib/codeql/ruby/ast/internal/TreeSitter.qll b/ruby/ql/lib/codeql/ruby/ast/internal/TreeSitter.qll index ef268f69ded..441f4ffefcc 100644 --- a/ruby/ql/lib/codeql/ruby/ast/internal/TreeSitter.qll +++ b/ruby/ql/lib/codeql/ruby/ast/internal/TreeSitter.qll @@ -12,13 +12,13 @@ module Ruby { string toString() { result = this.getAPrimaryQlClass() } /** Gets the location of this element. */ - final L::Location getLocation() { ruby_ast_node_info(this, _, _, result) } + final L::Location getLocation() { ruby_ast_node_location(this, result) } /** Gets the parent of this element. */ - final AstNode getParent() { ruby_ast_node_info(this, result, _, _) } + final AstNode getParent() { ruby_ast_node_parent(this, result, _) } /** Gets the index of this node among the children of its parent. */ - final int getParentIndex() { ruby_ast_node_info(this, _, result, _) } + final int getParentIndex() { ruby_ast_node_parent(this, _, result) } /** Gets a field or child node of this node. */ AstNode getAFieldOrChild() { none() } @@ -1929,13 +1929,13 @@ module Erb { string toString() { result = this.getAPrimaryQlClass() } /** Gets the location of this element. */ - final L::Location getLocation() { erb_ast_node_info(this, _, _, result) } + final L::Location getLocation() { erb_ast_node_location(this, result) } /** Gets the parent of this element. */ - final AstNode getParent() { erb_ast_node_info(this, result, _, _) } + final AstNode getParent() { erb_ast_node_parent(this, result, _) } /** Gets the index of this node among the children of its parent. */ - final int getParentIndex() { erb_ast_node_info(this, _, result, _) } + final int getParentIndex() { erb_ast_node_parent(this, _, result) } /** Gets a field or child node of this node. */ AstNode getAFieldOrChild() { none() } diff --git a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowDispatch.qll b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowDispatch.qll index e7898a1ec4f..4ac9031f05c 100644 --- a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowDispatch.qll +++ b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowDispatch.qll @@ -429,7 +429,20 @@ private Callable viableSourceCallableInit(RelevantCall call) { result = getIniti /** Holds if `call` may resolve to the returned source-code method. */ private DataFlowCallable viableSourceCallable(DataFlowCall call) { result = viableSourceCallableNonInit(call) or - result.asCfgScope() = viableSourceCallableInit(call.asCall()) + result.asCfgScope() = viableSourceCallableInit(call.asCall()) or + result = any(AdditionalCallTarget t).viableTarget(call.asCall()) +} + +/** + * A unit class for adding additional call steps. + * + * Extend this class to add additional call steps to the data flow graph. + */ +class AdditionalCallTarget extends Unit { + /** + * Gets a viable target for `call`. + */ + abstract DataFlowCallable viableTarget(CfgNodes::ExprNodes::CallCfgNode call); } /** Holds if `call` may resolve to the returned summarized library method. */ diff --git a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImpl.qll b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImpl.qll index 277b639d0ab..21ceca9e3b5 100644 --- a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImpl.qll +++ b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImpl.qll @@ -1,3 +1,4 @@ +private import codeql.Locations private import DataFlowImplSpecific private import codeql.dataflow.internal.DataFlowImpl -import MakeImpl<RubyDataFlow> +import MakeImpl<Location, RubyDataFlow> diff --git a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImpl1.qll b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImpl1.qll index 2bbc565daa6..9b92f961e6f 100644 --- a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImpl1.qll +++ b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImpl1.qll @@ -285,6 +285,8 @@ deprecated private module Config implements FullStateConfigSig { int fieldFlowBranchLimit() { result = min(any(Configuration config).fieldFlowBranchLimit()) } + int accessPathLimit() { result = 5 } + FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } predicate sourceGrouping(Node source, string sourceGroup) { diff --git a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImpl2.qll b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImpl2.qll index 2bbc565daa6..9b92f961e6f 100644 --- a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImpl2.qll +++ b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImpl2.qll @@ -285,6 +285,8 @@ deprecated private module Config implements FullStateConfigSig { int fieldFlowBranchLimit() { result = min(any(Configuration config).fieldFlowBranchLimit()) } + int accessPathLimit() { result = 5 } + FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } predicate sourceGrouping(Node source, string sourceGroup) { diff --git a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImplCommon.qll b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImplCommon.qll index 05e0bc67b30..0b0e883803e 100644 --- a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImplCommon.qll +++ b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImplCommon.qll @@ -1,3 +1,4 @@ +private import codeql.Locations private import DataFlowImplSpecific private import codeql.dataflow.internal.DataFlowImplCommon -import MakeImplCommon<RubyDataFlow> +import MakeImplCommon<Location, RubyDataFlow> diff --git a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImplSpecific.qll b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImplSpecific.qll index 7a8e6dad9f8..b342537b053 100644 --- a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImplSpecific.qll +++ b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImplSpecific.qll @@ -2,6 +2,7 @@ * Provides Ruby-specific definitions for use in the data flow library. */ +private import codeql.Locations private import codeql.dataflow.DataFlow module Private { @@ -13,7 +14,7 @@ module Public { import DataFlowPublic } -module RubyDataFlow implements InputSig { +module RubyDataFlow implements InputSig<Location> { import Private import Public diff --git a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll index a7ef050f1c8..3b97ebcf4c8 100644 --- a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll +++ b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll @@ -322,7 +322,11 @@ private class Argument extends CfgNodes::ExprCfgNode { /** Holds if `n` is not a constant expression. */ predicate isNonConstantExpr(CfgNodes::ExprCfgNode n) { - not exists(n.getConstantValue()) and + not exists(ConstantValue cv | + cv = n.getConstantValue() and + // strings are mutable in Ruby + not cv.isString(_) + ) and not n.getExpr() instanceof ConstantAccess } diff --git a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPublic.qll b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPublic.qll index 8d0c565a737..c1c625a2316 100644 --- a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPublic.qll +++ b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPublic.qll @@ -35,7 +35,7 @@ class Node extends TNode { * For more information, see * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). */ - predicate hasLocationInfo( + deprecated predicate hasLocationInfo( string filepath, int startline, int startcolumn, int endline, int endcolumn ) { this.getLocation().hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) diff --git a/ruby/ql/lib/codeql/ruby/dataflow/internal/FlowSummaryImpl.qll b/ruby/ql/lib/codeql/ruby/dataflow/internal/FlowSummaryImpl.qll index 59f8e541b3d..d0beb44ac7b 100644 --- a/ruby/ql/lib/codeql/ruby/dataflow/internal/FlowSummaryImpl.qll +++ b/ruby/ql/lib/codeql/ruby/dataflow/internal/FlowSummaryImpl.qll @@ -9,7 +9,7 @@ private import codeql.ruby.dataflow.internal.DataFlowImplSpecific as DataFlowImp private import DataFlowImplSpecific::Private private import DataFlowImplSpecific::Public -module Input implements InputSig<DataFlowImplSpecific::RubyDataFlow> { +module Input implements InputSig<Location, DataFlowImplSpecific::RubyDataFlow> { class SummarizedCallableBase = string; ArgumentPosition callbackSelfParameterPosition() { result.isLambdaSelf() } @@ -146,7 +146,7 @@ module Input implements InputSig<DataFlowImplSpecific::RubyDataFlow> { } } -private import Make<DataFlowImplSpecific::RubyDataFlow, Input> as Impl +private import Make<Location, DataFlowImplSpecific::RubyDataFlow, Input> as Impl private module StepsInput implements Impl::Private::StepsInputSig { DataFlowCall getACall(Public::SummarizedCallable sc) { diff --git a/ruby/ql/lib/codeql/ruby/dataflow/internal/TaintTrackingImplSpecific.qll b/ruby/ql/lib/codeql/ruby/dataflow/internal/TaintTrackingImplSpecific.qll index fe733ee5d95..987aefdda72 100644 --- a/ruby/ql/lib/codeql/ruby/dataflow/internal/TaintTrackingImplSpecific.qll +++ b/ruby/ql/lib/codeql/ruby/dataflow/internal/TaintTrackingImplSpecific.qll @@ -2,9 +2,10 @@ * Provides Ruby-specific definitions for use in the taint tracking library. */ +private import codeql.Locations private import codeql.dataflow.TaintTracking private import DataFlowImplSpecific -module RubyTaintTracking implements InputSig<RubyDataFlow> { +module RubyTaintTracking implements InputSig<Location, RubyDataFlow> { import TaintTrackingPrivate } diff --git a/ruby/ql/lib/codeql/ruby/frameworks/ActionController.qll b/ruby/ql/lib/codeql/ruby/frameworks/ActionController.qll index be1df5066e1..3fcb3eda5f8 100644 --- a/ruby/ql/lib/codeql/ruby/frameworks/ActionController.qll +++ b/ruby/ql/lib/codeql/ruby/frameworks/ActionController.qll @@ -8,6 +8,7 @@ private import codeql.ruby.controlflow.CfgNodes private import codeql.ruby.DataFlow private import codeql.ruby.dataflow.RemoteFlowSources private import codeql.ruby.ApiGraphs +private import codeql.ruby.typetracking.TypeTracking private import codeql.ruby.frameworks.ActionDispatch private import codeql.ruby.frameworks.ActionView private import codeql.ruby.frameworks.Rails @@ -505,6 +506,27 @@ private module ParamsSummaries { ] } + /** Gets a node that may be tainted from an `ActionController::Parameters` instance, through field accesses and hash/array element reads. */ + private DataFlow::LocalSourceNode taintFromParamsBase() { + result = + [ + paramsInstance(), + paramsInstance().getAMethodCall(methodReturnsTaintFromSelf()).getAnElementRead*() + ] + } + + private DataFlow::LocalSourceNode taintFromParamsType(TypeTracker t) { + t.start() and + result = taintFromParamsBase() + or + exists(TypeTracker t2 | result = taintFromParamsType(t2).track(t2, t)) + } + + /** Gets a node with a type that may be tainted from an `ActionController::Parameters` instance. */ + private DataFlow::LocalSourceNode taintFromParamsType() { + taintFromParamsType(TypeTracker::end()).flowsTo(result) + } + /** * A flow summary for methods on `ActionController::Parameters` which * propagate taint from receiver to return value. @@ -569,6 +591,48 @@ private module ParamsSummaries { preservesValue = false } } + + /** Flow summaries for `ActiveDispatch::Http::UploadedFile`, which can be an field of `ActionController::Parameters`. */ + module UploadedFileSummaries { + /** Flow summary for various string attributes of `UploadedFile`, including `original_filename`, `content_type`, and `headers`. */ + private class UploadedFileStringAttributeSummary extends SummarizedCallable { + UploadedFileStringAttributeSummary() { + this = "ActionDispatch::Http::UploadedFile#[original_filename,content_type,headers]" + } + + override MethodCall getACall() { + result = + taintFromParamsType() + .getAMethodCall(["original_filename", "content_type", "headers"]) + .asExpr() + .getExpr() and + result.getNumberOfArguments() = 0 + } + + override predicate propagatesFlow(string input, string output, boolean preservesValue) { + input = "Argument[self]" and output = "ReturnValue" and preservesValue = false + } + } + + /** + * Flow summary for `ActiveDispatch::Http::UploadedFile#read`, + * which propagates taint from the receiver to the return value or to the second (out string) argument + */ + private class UploadedFileReadSummary extends SummarizedCallable { + UploadedFileReadSummary() { this = "ActionDispatch::Http::UploadedFile#read" } + + override MethodCall getACall() { + result = taintFromParamsType().getAMethodCall("read").asExpr().getExpr() and + result.getNumberOfArguments() in [0 .. 2] + } + + override predicate propagatesFlow(string input, string output, boolean preservesValue) { + input = "Argument[self]" and + output = ["ReturnValue", "Argument[1]"] and + preservesValue = false + } + } + } } /** diff --git a/ruby/ql/lib/codeql/ruby/frameworks/ActiveRecord.qll b/ruby/ql/lib/codeql/ruby/frameworks/ActiveRecord.qll index f0917100058..0f30f2146df 100644 --- a/ruby/ql/lib/codeql/ruby/frameworks/ActiveRecord.qll +++ b/ruby/ql/lib/codeql/ruby/frameworks/ActiveRecord.qll @@ -175,14 +175,14 @@ private predicate sqlFragmentArgumentInner(DataFlow::CallNode call, DataFlow::No call = activeRecordQueryBuilderCall([ "delete_all", "delete_by", "destroy_all", "destroy_by", "exists?", "find_by", "find_by!", - "find_or_create_by", "find_or_create_by!", "find_or_initialize_by", "find_by_sql", "from", - "having", "lock", "not", "where", "rewhere" + "find_or_create_by", "find_or_create_by!", "find_or_initialize_by", "find_by_sql", "having", + "lock", "not", "where", "rewhere" ]) and sink = call.getArgument(0) or call = activeRecordQueryBuilderCall([ - "group", "joins", "order", "reorder", "pluck", "select", "reselect" + "from", "group", "joins", "order", "reorder", "pluck", "select", "reselect" ]) and sink = call.getArgument(_) or @@ -765,3 +765,30 @@ private class ActiveRecordCollectionProxyModelInstantiation extends ActiveRecord result = this.(ActiveRecordCollectionProxyMethodCall).getAssociation().getTargetClass() } } + +/** + * An additional call step for calls to ActiveRecord scopes. For example, in the following code: + * + * ```rb + * class User < ActiveRecord::Base + * scope :with_role, ->(role) { where(role: role) } + * end + * + * User.with_role(r) + * ``` + * + * the call to `with_role` targets the lambda, and argument `r` flows to the parameter `role`. + */ +class ActiveRecordScopeCallTarget extends AdditionalCallTarget { + override DataFlowCallable viableTarget(ExprNodes::CallCfgNode scopeCall) { + exists(DataFlow::ModuleNode model, string scopeName | + model = activeRecordBaseClass().getADescendentModule() and + exists(DataFlow::CallNode scope | + scope = model.getAModuleLevelCall("scope") and + scope.getArgument(0).getConstantValue().isStringlikeValue(scopeName) and + scope.getArgument(1).asCallable().asCallableAstNode() = result.asCfgScope() + ) and + scopeCall = model.getAnImmediateReference().getAMethodCall(scopeName).asExpr() + ) + } +} diff --git a/ruby/ql/lib/codeql/ruby/frameworks/Stdlib.qll b/ruby/ql/lib/codeql/ruby/frameworks/Stdlib.qll index f735f9daf8b..139f1d619d6 100644 --- a/ruby/ql/lib/codeql/ruby/frameworks/Stdlib.qll +++ b/ruby/ql/lib/codeql/ruby/frameworks/Stdlib.qll @@ -5,3 +5,4 @@ import stdlib.Open3 import stdlib.Logger import stdlib.Pathname +import stdlib.Process diff --git a/ruby/ql/lib/codeql/ruby/frameworks/core/Array.qll b/ruby/ql/lib/codeql/ruby/frameworks/core/Array.qll index b2a30beafc3..2da521e54a1 100644 --- a/ruby/ql/lib/codeql/ruby/frameworks/core/Array.qll +++ b/ruby/ql/lib/codeql/ruby/frameworks/core/Array.qll @@ -1855,7 +1855,8 @@ module Enumerable { override predicate propagatesFlow(string input, string output, boolean preservesValue) { input = "Argument[self].Element[any]" and - output = "Argument[block].Parameter[0]" and + // For `Hash#map`, the value flows to parameter 1 + output = "Argument[block].Parameter[0, 1]" and preservesValue = true or input = "Argument[block].ReturnValue" and diff --git a/ruby/ql/lib/codeql/ruby/frameworks/core/Hash.qll b/ruby/ql/lib/codeql/ruby/frameworks/core/Hash.qll index 4871d8d9924..38a9a70f0d3 100644 --- a/ruby/ql/lib/codeql/ruby/frameworks/core/Hash.qll +++ b/ruby/ql/lib/codeql/ruby/frameworks/core/Hash.qll @@ -523,3 +523,15 @@ private class ValuesSummary extends SimpleSummarizedCallable { preservesValue = true } } + +// We don't (yet) track data flow through hash keys, but this is still useful in cases where a +// whole hash(like) object is tainted, such as `ActionController#params`. +private class KeysSummary extends SimpleSummarizedCallable { + KeysSummary() { this = "keys" } + + override predicate propagatesFlow(string input, string output, boolean preservesValue) { + input = "Argument[self]" and + output = "ReturnValue.Element[?]" and + preservesValue = false + } +} diff --git a/ruby/ql/lib/codeql/ruby/frameworks/stdlib/Open3.qll b/ruby/ql/lib/codeql/ruby/frameworks/stdlib/Open3.qll index e65f3005503..0e9b6245880 100644 --- a/ruby/ql/lib/codeql/ruby/frameworks/stdlib/Open3.qll +++ b/ruby/ql/lib/codeql/ruby/frameworks/stdlib/Open3.qll @@ -7,7 +7,7 @@ private import codeql.ruby.ApiGraphs private import codeql.ruby.Concepts /** - * Provides modeling for the `Open3` library. + * Provides modeling for the `Open3` and `Open4` libraries. */ module Open3 { /** @@ -31,6 +31,36 @@ module Open3 { } } + /** + * A system command executed via one of the `Open4` methods. + * These methods take the same argument forms as `Kernel.system`. + * See `KernelSystemCall` for details. + */ + class Open4Call extends SystemCommandExecution::Range instanceof DataFlow::CallNode { + Open4Call() { + this = + API::getTopLevelMember("Open4").getAMethodCall(["open4", "popen4", "spawn", "popen4ext"]) + } + + override DataFlow::Node getAnArgument() { + // `popen4ext` takes an optional boolean as its first argument, but it is unlikely that we will be + // tracking flow into a boolean value so it doesn't seem worth modeling that special case here. + result = super.getArgument(_) + } + + override predicate isShellInterpreted(DataFlow::Node arg) { + super.getNumberOfArguments() = 1 and + arg = this.getAnArgument() + or + // ```rb + // Open4.popen4ext(true, "some cmd") + // ``` + super.getNumberOfArguments() = 2 and + super.getArgument(0).getConstantValue().isBoolean(_) and + arg = super.getArgument(1) + } + } + /** * A pipeline of system commands constructed via one of the `Open3` methods. * These methods accept a variable argument list of commands. diff --git a/ruby/ql/lib/codeql/ruby/frameworks/stdlib/Process.qll b/ruby/ql/lib/codeql/ruby/frameworks/stdlib/Process.qll new file mode 100644 index 00000000000..e4516f22038 --- /dev/null +++ b/ruby/ql/lib/codeql/ruby/frameworks/stdlib/Process.qll @@ -0,0 +1,49 @@ +/** + * Provides modeling for the `Process` library. + */ + +private import codeql.ruby.Concepts +private import codeql.ruby.DataFlow +private import codeql.ruby.controlflow.CfgNodes +private import codeql.ruby.frameworks.core.Kernel + +/** + * Provides modeling for the `Process` library. + */ +module Process { + /** + * A call to `Process.spawn`. + * ```rb + * Process.spawn("tar xf ruby-2.0.0-p195.tar.bz2") + * Process.spawn({"ENV" => "VAR"}, "echo", "hi") + * ``` + */ + class SpawnCall extends SystemCommandExecution::Range instanceof DataFlow::CallNode { + SpawnCall() { this = DataFlow::getConstant(["Process", "PTY"]).getAMethodCall("spawn") } + + // The command can be argument 0 or 1 + // Options can be specified after the command, and we want to exclude those. + override DataFlow::Node getAnArgument() { + result = super.getArgument([0, 1]) and not result.asExpr() instanceof ExprNodes::PairCfgNode + } + + override predicate isShellInterpreted(DataFlow::Node arg) { + // Process.spawn invokes a subshell if you provide a single string as argument + super.getNumberOfArguments() = 1 and arg = this.getAnArgument() + } + } + + /** + * A system command executed via the `Process.exec` method. + */ + class ExecCall extends SystemCommandExecution::Range instanceof DataFlow::CallNode { + ExecCall() { this = DataFlow::getConstant("Process").getAMethodCall("exec") } + + override DataFlow::Node getAnArgument() { result = super.getArgument(_) } + + override predicate isShellInterpreted(DataFlow::Node arg) { + // Process.exec invokes a subshell if you provide a single string as argument + super.getNumberOfArguments() = 1 and arg = this.getAnArgument() + } + } +} diff --git a/ruby/ql/lib/codeql/ruby/frameworks/terrapin/model.yml b/ruby/ql/lib/codeql/ruby/frameworks/terrapin/model.yml new file mode 100644 index 00000000000..c111ca5efbc --- /dev/null +++ b/ruby/ql/lib/codeql/ruby/frameworks/terrapin/model.yml @@ -0,0 +1,41 @@ +extensions: + - addsTo: + pack: codeql/ruby-all + extensible: sourceModel + data: [] + + - addsTo: + pack: codeql/ruby-all + extensible: sinkModel + data: + - ["Terrapin::CommandLine!","Method[new].Argument[0]","command-injection"] + - ["Terrapin::CommandLine!","Method[new].Argument[1]","command-injection"] + + - addsTo: + pack: codeql/ruby-all + extensible: summaryModel + data: + - ["Terrapin::CommandLine::Output!","Method[new]","Argument[1]","ReturnValue","value"] + - ["Terrapin::CommandLine!","Method[path=]","Argument[0]","ReturnValue","taint"] + - ["Terrapin::CommandLine!","Method[new]","Argument[2]","ReturnValue","taint"] + + - addsTo: + pack: codeql/ruby-all + extensible: neutralModel + data: [] + + - addsTo: + pack: codeql/ruby-all + extensible: typeModel + data: + - ["Terrapin::CommandLine::Output","Terrapin::CommandLine::MultiPipe","Method[output].ReturnValue"] + - ["Terrapin::CommandLine::Output","Terrapin::CommandLine::FakeRunner","Method[call].ReturnValue"] + - ["Terrapin::CommandLine::Output","Terrapin::CommandLine::ProcessRunner","Method[call].ReturnValue"] + - ["Terrapin::CommandLine::Output","Terrapin::CommandLine!","Method[runner].ReturnValue.ReturnValue"] + - ["Terrapin::CommandLine::FakeRunner","Terrapin::CommandLine!","Method[runner].ReturnValue"] + - ["Terrapin::CommandLine::Output","Terrapin::CommandLine!","Method[fake!].ReturnValue.ReturnValue"] + - ["Terrapin::CommandLine::FakeRunner","Terrapin::CommandLine!","Method[fake!].ReturnValue"] + - ["Terrapin::CommandLine::Output","Terrapin::CommandLine","Method[output].ReturnValue"] + - ["Terrapin::CommandLineError","Terrapin::CommandNotFoundError",""] + - ["Terrapin::CommandLineError","Terrapin::ExitStatusError",""] + - ["Terrapin::CommandLineError","Terrapin::InterpolationError",""] diff --git a/ruby/ql/lib/codeql/ruby/security/XSS.qll b/ruby/ql/lib/codeql/ruby/security/XSS.qll index a212369d4e6..e5cf48bd0ef 100644 --- a/ruby/ql/lib/codeql/ruby/security/XSS.qll +++ b/ruby/ql/lib/codeql/ruby/security/XSS.qll @@ -299,6 +299,8 @@ private module OrmTracking { } predicate isBarrierIn(DataFlow::Node node) { node instanceof DataFlow::SelfParameterNode } + + int accessPathLimit() { result = 1 } } import DataFlow::Global<Config> diff --git a/ruby/ql/lib/qlpack.yml b/ruby/ql/lib/qlpack.yml index 7d409b83adb..5b1b4a67b00 100644 --- a/ruby/ql/lib/qlpack.yml +++ b/ruby/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-all -version: 0.8.10-dev +version: 0.8.12-dev groups: ruby extractor: ruby dbscheme: ruby.dbscheme diff --git a/ruby/ql/lib/ruby.dbscheme b/ruby/ql/lib/ruby.dbscheme index f9f0f4023e4..440de75c71e 100644 --- a/ruby/ql/lib/ruby.dbscheme +++ b/ruby/ql/lib/ruby.dbscheme @@ -1421,14 +1421,16 @@ case @ruby_token.kind of @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_parent = @file | @ruby_ast_node +ruby_ast_node_location( + unique int node: @ruby_ast_node ref, + int loc: @location_default ref +); #keyset[parent, parent_index] -ruby_ast_node_info( +ruby_ast_node_parent( unique int node: @ruby_ast_node ref, - int parent: @ruby_ast_node_parent ref, - int parent_index: int ref, - int loc: @location_default ref + int parent: @ruby_ast_node ref, + int parent_index: int ref ); /*- Erb dbscheme -*/ @@ -1497,13 +1499,15 @@ case @erb_token.kind of @erb_ast_node = @erb_comment_directive | @erb_directive | @erb_graphql_directive | @erb_output_directive | @erb_template | @erb_token -@erb_ast_node_parent = @erb_ast_node | @file - -#keyset[parent, parent_index] -erb_ast_node_info( +erb_ast_node_location( unique int node: @erb_ast_node ref, - int parent: @erb_ast_node_parent ref, - int parent_index: int 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/ruby.dbscheme.stats b/ruby/ql/lib/ruby.dbscheme.stats index e7d7f5e27eb..fd8850293b4 100644 --- a/ruby/ql/lib/ruby.dbscheme.stats +++ b/ruby/ql/lib/ruby.dbscheme.stats @@ -5,7 +5,7 @@ </e> <e> <k>@diagnostic_error</k> - <v>156</v> + <v>0</v> </e> <e> <k>@diagnostic_info</k> @@ -13,15 +13,15 @@ </e> <e> <k>@diagnostic_warning</k> - <v>0</v> + <v>188</v> </e> <e> <k>@erb_comment_directive</k> - <v>40</v> + <v>26</v> </e> <e> <k>@erb_directive</k> - <v>1225</v> + <v>1108</v> </e> <e> <k>@erb_graphql_directive</k> @@ -29,43 +29,43 @@ </e> <e> <k>@erb_output_directive</k> - <v>3555</v> + <v>3270</v> </e> <e> <k>@erb_reserved_word</k> - <v>9567</v> + <v>8756</v> </e> <e> <k>@erb_template</k> - <v>1531</v> + <v>1508</v> </e> <e> <k>@erb_token_code</k> - <v>4781</v> + <v>4378</v> </e> <e> <k>@erb_token_comment</k> - <v>27</v> + <v>26</v> </e> <e> <k>@erb_token_content</k> - <v>4977</v> + <v>4555</v> </e> <e> <k>@file</k> - <v>18245</v> + <v>18724</v> </e> <e> <k>@folder</k> - <v>5002</v> + <v>5165</v> </e> <e> <k>@location_default</k> - <v>9022418</v> + <v>9223392</v> </e> <e> <k>@ruby_alias</k> - <v>1307</v> + <v>1289</v> </e> <e> <k>@ruby_alternative_pattern</k> @@ -73,35 +73,35 @@ </e> <e> <k>@ruby_argument_list</k> - <v>691738</v> + <v>706474</v> </e> <e> <k>@ruby_array</k> - <v>248289</v> + <v>249320</v> </e> <e> <k>@ruby_array_pattern</k> - <v>178</v> + <v>179</v> </e> <e> <k>@ruby_as_pattern</k> - <v>153</v> + <v>156</v> </e> <e> <k>@ruby_assignment</k> - <v>137583</v> + <v>141202</v> </e> <e> <k>@ruby_bare_string</k> - <v>12799</v> + <v>13136</v> </e> <e> <k>@ruby_bare_symbol</k> - <v>7967</v> + <v>8435</v> </e> <e> <k>@ruby_begin</k> - <v>2590</v> + <v>2610</v> </e> <e> <k>@ruby_begin_block</k> @@ -109,143 +109,143 @@ </e> <e> <k>@ruby_binary_ampersand</k> - <v>570</v> + <v>630</v> </e> <e> <k>@ruby_binary_ampersandampersand</k> - <v>8179</v> + <v>8142</v> </e> <e> <k>@ruby_binary_and</k> - <v>1233</v> + <v>1189</v> </e> <e> <k>@ruby_binary_bangequal</k> - <v>1459</v> + <v>1434</v> </e> <e> <k>@ruby_binary_bangtilde</k> - <v>168</v> + <v>176</v> </e> <e> <k>@ruby_binary_caret</k> - <v>160</v> + <v>153</v> </e> <e> <k>@ruby_binary_equalequal</k> - <v>32934</v> + <v>33761</v> </e> <e> <k>@ruby_binary_equalequalequal</k> - <v>656</v> + <v>689</v> </e> <e> <k>@ruby_binary_equaltilde</k> - <v>1800</v> + <v>1823</v> </e> <e> <k>@ruby_binary_langle</k> - <v>1181</v> + <v>1101</v> </e> <e> <k>@ruby_binary_langleequal</k> - <v>407</v> + <v>431</v> </e> <e> <k>@ruby_binary_langleequalrangle</k> - <v>778</v> + <v>764</v> </e> <e> <k>@ruby_binary_langlelangle</k> - <v>10731</v> + <v>10779</v> </e> <e> <k>@ruby_binary_minus</k> - <v>2691</v> + <v>2747</v> </e> <e> <k>@ruby_binary_or</k> - <v>635</v> + <v>647</v> </e> <e> <k>@ruby_binary_percent</k> - <v>979</v> + <v>986</v> </e> <e> <k>@ruby_binary_pipe</k> - <v>1000</v> + <v>1058</v> </e> <e> <k>@ruby_binary_pipepipe</k> - <v>7430</v> + <v>7336</v> </e> <e> <k>@ruby_binary_plus</k> - <v>6453</v> + <v>6593</v> </e> <e> <k>@ruby_binary_rangle</k> - <v>2129</v> + <v>2114</v> </e> <e> <k>@ruby_binary_rangleequal</k> - <v>595</v> + <v>597</v> </e> <e> <k>@ruby_binary_ranglerangle</k> - <v>234</v> + <v>259</v> </e> <e> <k>@ruby_binary_slash</k> - <v>1269</v> + <v>1169</v> </e> <e> <k>@ruby_binary_star</k> - <v>3560</v> + <v>3490</v> </e> <e> <k>@ruby_binary_starstar</k> - <v>1358</v> + <v>1227</v> </e> <e> <k>@ruby_block</k> - <v>101695</v> + <v>104143</v> </e> <e> <k>@ruby_block_argument</k> - <v>6477</v> + <v>6547</v> </e> <e> <k>@ruby_block_body</k> - <v>101379</v> + <v>103820</v> </e> <e> <k>@ruby_block_parameter</k> - <v>2569</v> + <v>2543</v> </e> <e> <k>@ruby_block_parameters</k> - <v>24941</v> + <v>25884</v> </e> <e> <k>@ruby_body_statement</k> - <v>208998</v> + <v>213896</v> </e> <e> <k>@ruby_break</k> - <v>3434</v> + <v>3414</v> </e> <e> <k>@ruby_call</k> - <v>1006605</v> + <v>1027501</v> </e> <e> <k>@ruby_case__</k> - <v>1289</v> + <v>1319</v> </e> <e> <k>@ruby_case_match</k> - <v>234</v> + <v>232</v> </e> <e> <k>@ruby_chained_string</k> @@ -253,47 +253,47 @@ </e> <e> <k>@ruby_class</k> - <v>17258</v> + <v>17441</v> </e> <e> <k>@ruby_complex</k> - <v>66</v> + <v>72</v> </e> <e> <k>@ruby_conditional</k> - <v>2954</v> + <v>2896</v> </e> <e> <k>@ruby_delimited_symbol</k> - <v>1258</v> + <v>1247</v> </e> <e> <k>@ruby_destructured_left_assignment</k> - <v>107</v> + <v>108</v> </e> <e> <k>@ruby_destructured_parameter</k> - <v>194</v> + <v>208</v> </e> <e> <k>@ruby_do</k> - <v>1681</v> + <v>1675</v> </e> <e> <k>@ruby_do_block</k> - <v>142452</v> + <v>145534</v> </e> <e> <k>@ruby_element_reference</k> - <v>80778</v> + <v>82606</v> </e> <e> <k>@ruby_else</k> - <v>7505</v> + <v>7681</v> </e> <e> <k>@ruby_elsif</k> - <v>1510</v> + <v>1583</v> </e> <e> <k>@ruby_end_block</k> @@ -301,15 +301,15 @@ </e> <e> <k>@ruby_ensure</k> - <v>3981</v> + <v>4106</v> </e> <e> <k>@ruby_exception_variable</k> - <v>924</v> + <v>935</v> </e> <e> <k>@ruby_exceptions</k> - <v>1938</v> + <v>1904</v> </e> <e> <k>@ruby_expression_reference_pattern</k> @@ -321,31 +321,31 @@ </e> <e> <k>@ruby_for</k> - <v>158</v> + <v>136</v> </e> <e> <k>@ruby_hash</k> - <v>40888</v> + <v>41915</v> </e> <e> <k>@ruby_hash_pattern</k> - <v>75</v> + <v>73</v> </e> <e> <k>@ruby_hash_splat_argument</k> - <v>1902</v> + <v>1989</v> </e> <e> <k>@ruby_hash_splat_parameter</k> - <v>1596</v> + <v>1574</v> </e> <e> <k>@ruby_heredoc_body</k> - <v>6178</v> + <v>6934</v> </e> <e> <k>@ruby_if</k> - <v>16391</v> + <v>16164</v> </e> <e> <k>@ruby_if_guard</k> @@ -353,39 +353,39 @@ </e> <e> <k>@ruby_if_modifier</k> - <v>14611</v> + <v>14541</v> </e> <e> <k>@ruby_in</k> - <v>158</v> + <v>136</v> </e> <e> <k>@ruby_in_clause</k> - <v>385</v> + <v>381</v> </e> <e> <k>@ruby_interpolation</k> - <v>38305</v> + <v>38493</v> </e> <e> <k>@ruby_keyword_parameter</k> - <v>4144</v> + <v>4763</v> </e> <e> <k>@ruby_keyword_pattern</k> - <v>80</v> + <v>77</v> </e> <e> <k>@ruby_lambda</k> - <v>7948</v> + <v>8187</v> </e> <e> <k>@ruby_lambda_parameters</k> - <v>1762</v> + <v>1811</v> </e> <e> <k>@ruby_left_assignment_list</k> - <v>2994</v> + <v>3100</v> </e> <e> <k>@ruby_match_pattern</k> @@ -393,39 +393,39 @@ </e> <e> <k>@ruby_method</k> - <v>102124</v> + <v>103532</v> </e> <e> <k>@ruby_method_parameters</k> - <v>30832</v> + <v>31208</v> </e> <e> <k>@ruby_module</k> - <v>22353</v> + <v>22962</v> </e> <e> <k>@ruby_next</k> - <v>1902</v> + <v>2020</v> </e> <e> <k>@ruby_operator_assignment_ampersandampersandequal</k> - <v>90</v> + <v>118</v> </e> <e> <k>@ruby_operator_assignment_ampersandequal</k> - <v>18</v> + <v>17</v> </e> <e> <k>@ruby_operator_assignment_caretequal</k> - <v>5</v> + <v>6</v> </e> <e> <k>@ruby_operator_assignment_langlelangleequal</k> - <v>26</v> + <v>19</v> </e> <e> <k>@ruby_operator_assignment_minusequal</k> - <v>300</v> + <v>305</v> </e> <e> <k>@ruby_operator_assignment_percentequal</k> @@ -433,19 +433,19 @@ </e> <e> <k>@ruby_operator_assignment_pipeequal</k> - <v>156</v> + <v>164</v> </e> <e> <k>@ruby_operator_assignment_pipepipeequal</k> - <v>4190</v> + <v>4272</v> </e> <e> <k>@ruby_operator_assignment_plusequal</k> - <v>1647</v> + <v>1732</v> </e> <e> <k>@ruby_operator_assignment_ranglerangleequal</k> - <v>10</v> + <v>11</v> </e> <e> <k>@ruby_operator_assignment_slashequal</k> @@ -453,7 +453,7 @@ </e> <e> <k>@ruby_operator_assignment_starequal</k> - <v>52</v> + <v>42</v> </e> <e> <k>@ruby_operator_assignment_starstarequal</k> @@ -461,11 +461,11 @@ </e> <e> <k>@ruby_optional_parameter</k> - <v>6636</v> + <v>6556</v> </e> <e> <k>@ruby_pair</k> - <v>248347</v> + <v>254198</v> </e> <e> <k>@ruby_parenthesized_pattern</k> @@ -473,27 +473,27 @@ </e> <e> <k>@ruby_parenthesized_statements</k> - <v>10912</v> + <v>11296</v> </e> <e> <k>@ruby_pattern</k> - <v>4153</v> + <v>4745</v> </e> <e> <k>@ruby_program</k> - <v>18219</v> + <v>18697</v> </e> <e> <k>@ruby_range_dotdot</k> - <v>3136</v> + <v>3690</v> </e> <e> <k>@ruby_range_dotdotdot</k> - <v>1634</v> + <v>1376</v> </e> <e> <k>@ruby_rational</k> - <v>138</v> + <v>166</v> </e> <e> <k>@ruby_redo</k> @@ -501,107 +501,107 @@ </e> <e> <k>@ruby_regex</k> - <v>13350</v> + <v>13680</v> </e> <e> <k>@ruby_rescue</k> - <v>2346</v> + <v>2299</v> </e> <e> <k>@ruby_rescue_modifier</k> - <v>448</v> + <v>458</v> </e> <e> <k>@ruby_reserved_word</k> - <v>3820965</v> + <v>3894800</v> </e> <e> <k>@ruby_rest_assignment</k> - <v>401</v> + <v>414</v> </e> <e> <k>@ruby_retry</k> - <v>60</v> + <v>58</v> </e> <e> <k>@ruby_return</k> - <v>8197</v> + <v>7979</v> </e> <e> <k>@ruby_right_assignment_list</k> - <v>1224</v> + <v>1280</v> </e> <e> <k>@ruby_scope_resolution</k> - <v>84884</v> + <v>87113</v> </e> <e> <k>@ruby_setter</k> - <v>653</v> + <v>656</v> </e> <e> <k>@ruby_singleton_class</k> - <v>663</v> + <v>677</v> </e> <e> <k>@ruby_singleton_method</k> - <v>6459</v> + <v>6325</v> </e> <e> <k>@ruby_splat_argument</k> - <v>3454</v> + <v>3606</v> </e> <e> <k>@ruby_splat_parameter</k> - <v>3192</v> + <v>3014</v> </e> <e> <k>@ruby_string__</k> - <v>485218</v> + <v>490602</v> </e> <e> <k>@ruby_string_array</k> - <v>4213</v> + <v>4287</v> </e> <e> <k>@ruby_subshell</k> - <v>365</v> + <v>359</v> </e> <e> <k>@ruby_superclass</k> - <v>13666</v> + <v>13806</v> </e> <e> <k>@ruby_symbol_array</k> - <v>2170</v> + <v>2240</v> </e> <e> <k>@ruby_test_pattern</k> - <v>4</v> + <v>5</v> </e> <e> <k>@ruby_then</k> - <v>22451</v> + <v>22229</v> </e> <e> <k>@ruby_token_character</k> - <v>432</v> + <v>440</v> </e> <e> <k>@ruby_token_class_variable</k> - <v>868</v> + <v>887</v> </e> <e> <k>@ruby_token_comment</k> - <v>190672</v> + <v>194426</v> </e> <e> <k>@ruby_token_constant</k> - <v>294731</v> + <v>302373</v> </e> <e> <k>@ruby_token_empty_statement</k> - <v>55</v> + <v>58</v> </e> <e> <k>@ruby_token_encoding</k> @@ -609,11 +609,11 @@ </e> <e> <k>@ruby_token_escape_sequence</k> - <v>77855</v> + <v>80835</v> </e> <e> <k>@ruby_token_false</k> - <v>17433</v> + <v>17355</v> </e> <e> <k>@ruby_token_file</k> @@ -621,51 +621,51 @@ </e> <e> <k>@ruby_token_float</k> - <v>8491</v> + <v>8689</v> </e> <e> <k>@ruby_token_forward_argument</k> - <v>79</v> + <v>194</v> </e> <e> <k>@ruby_token_forward_parameter</k> - <v>144</v> + <v>287</v> </e> <e> <k>@ruby_token_global_variable</k> - <v>7342</v> + <v>7165</v> </e> <e> <k>@ruby_token_hash_key_symbol</k> - <v>241330</v> + <v>246826</v> </e> <e> <k>@ruby_token_hash_splat_nil</k> - <v>11</v> + <v>14</v> </e> <e> <k>@ruby_token_heredoc_beginning</k> - <v>6177</v> + <v>6933</v> </e> <e> <k>@ruby_token_heredoc_content</k> - <v>12929</v> + <v>12986</v> </e> <e> <k>@ruby_token_heredoc_end</k> - <v>6178</v> + <v>6934</v> </e> <e> <k>@ruby_token_identifier</k> - <v>1551542</v> + <v>1590836</v> </e> <e> <k>@ruby_token_instance_variable</k> - <v>87122</v> + <v>89852</v> </e> <e> <k>@ruby_token_integer</k> - <v>306586</v> + <v>310358</v> </e> <e> <k>@ruby_token_line</k> @@ -673,59 +673,59 @@ </e> <e> <k>@ruby_token_nil</k> - <v>18636</v> + <v>19333</v> </e> <e> <k>@ruby_token_operator</k> - <v>849</v> + <v>878</v> </e> <e> <k>@ruby_token_self</k> - <v>13755</v> + <v>14094</v> </e> <e> <k>@ruby_token_simple_symbol</k> - <v>261524</v> + <v>267609</v> </e> <e> <k>@ruby_token_string_content</k> - <v>502063</v> + <v>510164</v> </e> <e> <k>@ruby_token_super</k> - <v>5313</v> + <v>5329</v> </e> <e> <k>@ruby_token_true</k> - <v>24277</v> + <v>25065</v> </e> <e> <k>@ruby_token_uninterpreted</k> <v>11</v> </e> - <e> + <e> <k>@ruby_unary_bang</k> - <v>5952</v> + <v>5909</v> </e> <e> <k>@ruby_unary_definedquestion</k> - <v>1301</v> + <v>1369</v> </e> <e> <k>@ruby_unary_minus</k> - <v>9633</v> + <v>9830</v> </e> <e> <k>@ruby_unary_not</k> - <v>190</v> + <v>172</v> </e> <e> <k>@ruby_unary_plus</k> - <v>1427</v> + <v>1394</v> </e> <e> <k>@ruby_unary_tilde</k> - <v>98</v> + <v>97</v> </e> <e> <k>@ruby_undef</k> @@ -733,7 +733,7 @@ </e> <e> <k>@ruby_unless</k> - <v>2663</v> + <v>2723</v> </e> <e> <k>@ruby_unless_guard</k> @@ -741,15 +741,15 @@ </e> <e> <k>@ruby_unless_modifier</k> - <v>3505</v> + <v>3416</v> </e> <e> <k>@ruby_until</k> - <v>123</v> + <v>126</v> </e> <e> <k>@ruby_until_modifier</k> - <v>234</v> + <v>238</v> </e> <e> <k>@ruby_variable_reference_pattern</k> @@ -757,19 +757,19 @@ </e> <e> <k>@ruby_when</k> - <v>3392</v> + <v>3882</v> </e> <e> <k>@ruby_while</k> - <v>1400</v> + <v>1413</v> </e> <e> <k>@ruby_while_modifier</k> - <v>194</v> + <v>198</v> </e> <e> <k>@ruby_yield</k> - <v>2477</v> + <v>2450</v> </e> <e> <k>@yaml_alias_node</k> @@ -794,15 +794,15 @@ </typesizes> <stats><relation> <name>containerparent</name> - <cardinality>23222</cardinality> + <cardinality>23863</cardinality> <columnsizes> <e> <k>parent</k> - <v>5002</v> + <v>5165</v> </e> <e> <k>child</k> - <v>23222</v> + <v>23863</v> </e> </columnsizes> <dependencies> @@ -816,37 +816,37 @@ <b> <a>1</a> <b>2</b> - <v>2290</v> + <v>2394</v> </b> <b> <a>2</a> <b>3</b> - <v>934</v> + <v>968</v> </b> <b> <a>3</a> <b>4</b> - <v>421</v> + <v>417</v> </b> <b> <a>4</a> <b>5</b> - <v>315</v> + <v>295</v> </b> <b> <a>5</a> <b>7</b> - <v>408</v> + <v>443</v> </b> <b> <a>7</a> <b>14</b> - <v>408</v> + <v>403</v> </b> <b> <a>14</a> <b>126</b> - <v>223</v> + <v>242</v> </b> </bs> </hist> @@ -862,7 +862,7 @@ <b> <a>1</a> <b>2</b> - <v>23222</v> + <v>23863</v> </b> </bs> </hist> @@ -872,11 +872,11 @@ </relation> <relation> <name>diagnostics</name> - <cardinality>157</cardinality> + <cardinality>188</cardinality> <columnsizes> <e> <k>id</k> - <v>157</v> + <v>188</v> </e> <e> <k>severity</k> @@ -888,15 +888,15 @@ </e> <e> <k>error_message</k> - <v>26</v> + <v>53</v> </e> <e> <k>full_error_message</k> - <v>118</v> + <v>161</v> </e> <e> <k>location</k> - <v>157</v> + <v>174</v> </e> </columnsizes> <dependencies> @@ -910,7 +910,7 @@ <b> <a>1</a> <b>2</b> - <v>157</v> + <v>188</v> </b> </bs> </hist> @@ -926,7 +926,7 @@ <b> <a>1</a> <b>2</b> - <v>157</v> + <v>188</v> </b> </bs> </hist> @@ -942,7 +942,7 @@ <b> <a>1</a> <b>2</b> - <v>157</v> + <v>188</v> </b> </bs> </hist> @@ -958,7 +958,7 @@ <b> <a>1</a> <b>2</b> - <v>157</v> + <v>188</v> </b> </bs> </hist> @@ -974,7 +974,7 @@ <b> <a>1</a> <b>2</b> - <v>157</v> + <v>188</v> </b> </bs> </hist> @@ -988,8 +988,8 @@ <budget>12</budget> <bs> <b> - <a>12</a> - <b>13</b> + <a>14</a> + <b>15</b> <v>13</v> </b> </bs> @@ -1020,8 +1020,8 @@ <budget>12</budget> <bs> <b> - <a>2</a> - <b>3</b> + <a>4</a> + <b>5</b> <v>13</v> </b> </bs> @@ -1036,8 +1036,8 @@ <budget>12</budget> <bs> <b> - <a>9</a> - <b>10</b> + <a>12</a> + <b>13</b> <v>13</v> </b> </bs> @@ -1052,8 +1052,8 @@ <budget>12</budget> <bs> <b> - <a>12</a> - <b>13</b> + <a>13</a> + <b>14</b> <v>13</v> </b> </bs> @@ -1068,8 +1068,8 @@ <budget>12</budget> <bs> <b> - <a>12</a> - <b>13</b> + <a>14</a> + <b>15</b> <v>13</v> </b> </bs> @@ -1100,8 +1100,8 @@ <budget>12</budget> <bs> <b> - <a>2</a> - <b>3</b> + <a>4</a> + <b>5</b> <v>13</v> </b> </bs> @@ -1116,8 +1116,8 @@ <budget>12</budget> <bs> <b> - <a>9</a> - <b>10</b> + <a>12</a> + <b>13</b> <v>13</v> </b> </bs> @@ -1132,8 +1132,8 @@ <budget>12</budget> <bs> <b> - <a>12</a> - <b>13</b> + <a>13</a> + <b>14</b> <v>13</v> </b> </bs> @@ -1150,11 +1150,16 @@ <b> <a>1</a> <b>2</b> + <v>26</v> + </b> + <b> + <a>2</a> + <b>3</b> <v>13</v> </b> <b> - <a>11</a> - <b>12</b> + <a>10</a> + <b>11</b> <v>13</v> </b> </bs> @@ -1171,7 +1176,7 @@ <b> <a>1</a> <b>2</b> - <v>26</v> + <v>53</v> </b> </bs> </hist> @@ -1187,7 +1192,7 @@ <b> <a>1</a> <b>2</b> - <v>26</v> + <v>53</v> </b> </bs> </hist> @@ -1203,6 +1208,11 @@ <b> <a>1</a> <b>2</b> + <v>26</v> + </b> + <b> + <a>2</a> + <b>3</b> <v>13</v> </b> <b> @@ -1224,11 +1234,16 @@ <b> <a>1</a> <b>2</b> + <v>26</v> + </b> + <b> + <a>2</a> + <b>3</b> <v>13</v> </b> <b> - <a>11</a> - <b>12</b> + <a>10</a> + <b>11</b> <v>13</v> </b> </bs> @@ -1245,12 +1260,12 @@ <b> <a>1</a> <b>2</b> - <v>78</v> + <v>134</v> </b> <b> <a>2</a> <b>3</b> - <v>39</v> + <v>26</v> </b> </bs> </hist> @@ -1266,7 +1281,7 @@ <b> <a>1</a> <b>2</b> - <v>118</v> + <v>161</v> </b> </bs> </hist> @@ -1282,7 +1297,7 @@ <b> <a>1</a> <b>2</b> - <v>118</v> + <v>161</v> </b> </bs> </hist> @@ -1298,7 +1313,7 @@ <b> <a>1</a> <b>2</b> - <v>118</v> + <v>161</v> </b> </bs> </hist> @@ -1314,12 +1329,12 @@ <b> <a>1</a> <b>2</b> - <v>78</v> + <v>134</v> </b> <b> <a>2</a> <b>3</b> - <v>39</v> + <v>26</v> </b> </bs> </hist> @@ -1335,7 +1350,12 @@ <b> <a>1</a> <b>2</b> - <v>157</v> + <v>161</v> + </b> + <b> + <a>2</a> + <b>3</b> + <v>13</v> </b> </bs> </hist> @@ -1351,7 +1371,7 @@ <b> <a>1</a> <b>2</b> - <v>157</v> + <v>174</v> </b> </bs> </hist> @@ -1367,7 +1387,7 @@ <b> <a>1</a> <b>2</b> - <v>157</v> + <v>174</v> </b> </bs> </hist> @@ -1383,7 +1403,12 @@ <b> <a>1</a> <b>2</b> - <v>157</v> + <v>161</v> + </b> + <b> + <a>2</a> + <b>3</b> + <v>13</v> </b> </bs> </hist> @@ -1399,7 +1424,12 @@ <b> <a>1</a> <b>2</b> - <v>157</v> + <v>161</v> + </b> + <b> + <a>2</a> + <b>3</b> + <v>13</v> </b> </bs> </hist> @@ -1408,24 +1438,73 @@ </dependencies> </relation> <relation> - <name>erb_ast_node_info</name> - <cardinality>24486</cardinality> + <name>erb_ast_node_location</name> + <cardinality>22409</cardinality> <columnsizes> <e> <k>node</k> - <v>24486</v> - </e> - <e> - <k>parent</k> - <v>5532</v> - </e> - <e> - <k>parent_index</k> - <v>608</v> + <v>22409</v> </e> <e> <k>loc</k> - <v>24484</v> + <v>22407</v> + </e> + </columnsizes> + <dependencies> + <dep> + <src>node</src> + <trg>loc</trg> + <val> + <hist> + <budget>12</budget> + <bs> + <b> + <a>1</a> + <b>2</b> + <v>22409</v> + </b> + </bs> + </hist> + </val> + </dep> + <dep> + <src>loc</src> + <trg>node</trg> + <val> + <hist> + <budget>12</budget> + <bs> + <b> + <a>1</a> + <b>2</b> + <v>22404</v> + </b> + <b> + <a>2</a> + <b>3</b> + <v>2</v> + </b> + </bs> + </hist> + </val> + </dep> + </dependencies> + </relation> + <relation> + <name>erb_ast_node_parent</name> + <cardinality>22069</cardinality> + <columnsizes> + <e> + <k>node</k> + <v>22069</v> + </e> + <e> + <k>parent</k> + <v>4718</v> + </e> + <e> + <k>parent_index</k> + <v>564</v> </e> </columnsizes> <dependencies> @@ -1439,7 +1518,7 @@ <b> <a>1</a> <b>2</b> - <v>24486</v> + <v>22069</v> </b> </bs> </hist> @@ -1455,23 +1534,7 @@ <b> <a>1</a> <b>2</b> - <v>24486</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>node</src> - <trg>loc</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>2</b> - <v>24486</v> + <v>22069</v> </b> </bs> </hist> @@ -1487,17 +1550,17 @@ <b> <a>1</a> <b>3</b> - <v>384</v> + <v>9</v> </b> <b> <a>3</a> <b>4</b> - <v>4908</v> + <v>4494</v> </b> <b> <a>4</a> <b>240</b> - <v>239</v> + <v>215</v> </b> </bs> </hist> @@ -1513,43 +1576,17 @@ <b> <a>1</a> <b>3</b> - <v>384</v> + <v>9</v> </b> <b> <a>3</a> <b>4</b> - <v>4908</v> + <v>4494</v> </b> <b> <a>4</a> <b>240</b> - <v>239</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>parent</src> - <trg>loc</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>3</b> - <v>384</v> - </b> - <b> - <a>3</a> - <b>4</b> - <v>4908</v> - </b> - <b> - <a>4</a> - <b>240</b> - <v>239</v> + <v>215</v> </b> </bs> </hist> @@ -1565,62 +1602,57 @@ <b> <a>1</a> <b>2</b> - <v>33</v> + <v>25</v> </b> <b> <a>2</a> <b>3</b> - <v>84</v> + <v>33</v> </b> <b> <a>3</a> <b>4</b> - <v>12</v> + <v>33</v> </b> <b> <a>4</a> <b>5</b> - <v>101</v> + <v>122</v> </b> <b> <a>5</a> <b>6</b> - <v>53</v> + <v>96</v> </b> <b> <a>6</a> - <b>7</b> - <v>50</v> - </b> - <b> - <a>7</a> <b>8</b> - <v>43</v> + <v>40</v> </b> <b> <a>8</a> - <b>14</b> - <v>50</v> + <b>13</b> + <v>42</v> </b> <b> - <a>14</a> - <b>23</b> - <v>53</v> + <a>13</a> + <b>20</b> + <v>44</v> </b> <b> - <a>24</a> - <b>39</b> - <v>45</v> + <a>21</a> + <b>31</b> + <v>42</v> </b> <b> - <a>41</a> - <b>62</b> - <v>45</v> + <a>35</a> + <b>55</b> + <v>44</v> </b> <b> - <a>65</a> - <b>2173</b> - <v>33</v> + <a>55</a> + <b>1998</b> + <v>37</v> </b> </bs> </hist> @@ -1636,191 +1668,57 @@ <b> <a>1</a> <b>2</b> - <v>33</v> + <v>25</v> </b> <b> <a>2</a> <b>3</b> - <v>84</v> + <v>33</v> </b> <b> <a>3</a> <b>4</b> - <v>12</v> + <v>33</v> </b> <b> <a>4</a> <b>5</b> - <v>101</v> + <v>122</v> </b> <b> <a>5</a> <b>6</b> - <v>53</v> + <v>96</v> </b> <b> <a>6</a> - <b>7</b> - <v>50</v> - </b> - <b> - <a>7</a> <b>8</b> - <v>43</v> + <v>40</v> </b> <b> <a>8</a> - <b>14</b> - <v>50</v> + <b>13</b> + <v>42</v> </b> <b> - <a>14</a> - <b>23</b> - <v>53</v> + <a>13</a> + <b>20</b> + <v>44</v> </b> <b> - <a>24</a> - <b>39</b> - <v>45</v> + <a>21</a> + <b>31</b> + <v>42</v> </b> <b> - <a>41</a> - <b>62</b> - <v>45</v> + <a>35</a> + <b>55</b> + <v>44</v> </b> <b> - <a>65</a> - <b>2173</b> - <v>33</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>parent_index</src> - <trg>loc</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>2</b> - <v>33</v> - </b> - <b> - <a>2</a> - <b>3</b> - <v>84</v> - </b> - <b> - <a>3</a> - <b>4</b> - <v>12</v> - </b> - <b> - <a>4</a> - <b>5</b> - <v>101</v> - </b> - <b> - <a>5</a> - <b>6</b> - <v>53</v> - </b> - <b> - <a>6</a> - <b>7</b> - <v>50</v> - </b> - <b> - <a>7</a> - <b>8</b> - <v>43</v> - </b> - <b> - <a>8</a> - <b>14</b> - <v>50</v> - </b> - <b> - <a>14</a> - <b>23</b> - <v>53</v> - </b> - <b> - <a>24</a> - <b>39</b> - <v>45</v> - </b> - <b> - <a>41</a> - <b>62</b> - <v>45</v> - </b> - <b> - <a>65</a> - <b>2172</b> - <v>33</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>loc</src> - <trg>node</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>2</b> - <v>24481</v> - </b> - <b> - <a>2</a> - <b>3</b> - <v>2</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>loc</src> - <trg>parent</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>2</b> - <v>24481</v> - </b> - <b> - <a>2</a> - <b>3</b> - <v>2</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>loc</src> - <trg>parent_index</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>2</b> - <v>24484</v> + <a>55</a> + <b>1998</b> + <v>37</v> </b> </bs> </hist> @@ -1830,15 +1728,15 @@ </relation> <relation> <name>erb_comment_directive_child</name> - <cardinality>27</cardinality> + <cardinality>26</cardinality> <columnsizes> <e> <k>erb_comment_directive</k> - <v>27</v> + <v>26</v> </e> <e> <k>child</k> - <v>27</v> + <v>26</v> </e> </columnsizes> <dependencies> @@ -1852,7 +1750,7 @@ <b> <a>1</a> <b>2</b> - <v>27</v> + <v>26</v> </b> </bs> </hist> @@ -1868,7 +1766,7 @@ <b> <a>1</a> <b>2</b> - <v>27</v> + <v>26</v> </b> </bs> </hist> @@ -1878,26 +1776,26 @@ </relation> <relation> <name>erb_comment_directive_def</name> - <cardinality>27</cardinality> + <cardinality>26</cardinality> <columnsizes> <e> <k>id</k> - <v>27</v> + <v>26</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>erb_directive_child</name> - <cardinality>1225</cardinality> + <cardinality>1108</cardinality> <columnsizes> <e> <k>erb_directive</k> - <v>1225</v> + <v>1108</v> </e> <e> <k>child</k> - <v>1225</v> + <v>1108</v> </e> </columnsizes> <dependencies> @@ -1911,7 +1809,7 @@ <b> <a>1</a> <b>2</b> - <v>1225</v> + <v>1108</v> </b> </bs> </hist> @@ -1927,7 +1825,7 @@ <b> <a>1</a> <b>2</b> - <v>1225</v> + <v>1108</v> </b> </bs> </hist> @@ -1937,11 +1835,11 @@ </relation> <relation> <name>erb_directive_def</name> - <cardinality>1225</cardinality> + <cardinality>1108</cardinality> <columnsizes> <e> <k>id</k> - <v>1225</v> + <v>1108</v> </e> </columnsizes> <dependencies/> @@ -2007,15 +1905,15 @@ </relation> <relation> <name>erb_output_directive_child</name> - <cardinality>3555</cardinality> + <cardinality>3270</cardinality> <columnsizes> <e> <k>erb_output_directive</k> - <v>3555</v> + <v>3270</v> </e> <e> <k>child</k> - <v>3555</v> + <v>3270</v> </e> </columnsizes> <dependencies> @@ -2029,7 +1927,7 @@ <b> <a>1</a> <b>2</b> - <v>3555</v> + <v>3270</v> </b> </bs> </hist> @@ -2045,7 +1943,7 @@ <b> <a>1</a> <b>2</b> - <v>3555</v> + <v>3270</v> </b> </bs> </hist> @@ -2055,30 +1953,30 @@ </relation> <relation> <name>erb_output_directive_def</name> - <cardinality>3555</cardinality> + <cardinality>3270</cardinality> <columnsizes> <e> <k>id</k> - <v>3555</v> + <v>3270</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>erb_template_child</name> - <cardinality>9761</cardinality> + <cardinality>8934</cardinality> <columnsizes> <e> <k>erb_template</k> - <v>374</v> + <v>340</v> </e> <e> <k>index</k> - <v>608</v> + <v>564</v> </e> <e> <k>child</k> - <v>9761</v> + <v>8934</v> </e> </columnsizes> <dependencies> @@ -2092,53 +1990,58 @@ <b> <a>1</a> <b>3</b> - <v>10</v> + <v>9</v> </b> <b> <a>3</a> <b>4</b> - <v>124</v> + <v>115</v> </b> <b> <a>4</a> <b>7</b> - <v>25</v> + <v>21</v> </b> <b> <a>7</a> - <b>11</b> - <v>30</v> - </b> - <b> - <a>11</a> - <b>15</b> - <v>33</v> - </b> - <b> - <a>15</a> - <b>26</b> - <v>30</v> - </b> - <b> - <a>27</a> - <b>35</b> - <v>30</v> - </b> - <b> - <a>35</a> - <b>50</b> - <v>33</v> - </b> - <b> - <a>53</a> - <b>78</b> - <v>30</v> - </b> - <b> - <a>82</a> - <b>240</b> + <b>10</b> <v>25</v> </b> + <b> + <a>10</a> + <b>14</b> + <v>28</v> + </b> + <b> + <a>14</a> + <b>24</b> + <v>25</v> + </b> + <b> + <a>24</a> + <b>33</b> + <v>25</v> + </b> + <b> + <a>33</a> + <b>44</b> + <v>25</v> + </b> + <b> + <a>45</a> + <b>64</b> + <v>25</v> + </b> + <b> + <a>67</a> + <b>149</b> + <v>25</v> + </b> + <b> + <a>200</a> + <b>240</b> + <v>9</v> + </b> </bs> </hist> </val> @@ -2153,53 +2056,58 @@ <b> <a>1</a> <b>3</b> - <v>10</v> + <v>9</v> </b> <b> <a>3</a> <b>4</b> - <v>124</v> + <v>115</v> </b> <b> <a>4</a> <b>7</b> - <v>25</v> + <v>21</v> </b> <b> <a>7</a> - <b>11</b> - <v>30</v> - </b> - <b> - <a>11</a> - <b>15</b> - <v>33</v> - </b> - <b> - <a>15</a> - <b>26</b> - <v>30</v> - </b> - <b> - <a>27</a> - <b>35</b> - <v>30</v> - </b> - <b> - <a>35</a> - <b>50</b> - <v>33</v> - </b> - <b> - <a>53</a> - <b>78</b> - <v>30</v> - </b> - <b> - <a>82</a> - <b>240</b> + <b>10</b> <v>25</v> </b> + <b> + <a>10</a> + <b>14</b> + <v>28</v> + </b> + <b> + <a>14</a> + <b>24</b> + <v>25</v> + </b> + <b> + <a>24</a> + <b>33</b> + <v>25</v> + </b> + <b> + <a>33</a> + <b>44</b> + <v>25</v> + </b> + <b> + <a>45</a> + <b>64</b> + <v>25</v> + </b> + <b> + <a>67</a> + <b>149</b> + <v>25</v> + </b> + <b> + <a>200</a> + <b>240</b> + <v>9</v> + </b> </bs> </hist> </val> @@ -2214,62 +2122,57 @@ <b> <a>1</a> <b>2</b> - <v>33</v> + <v>25</v> </b> <b> <a>2</a> <b>3</b> - <v>84</v> + <v>33</v> </b> <b> <a>3</a> <b>4</b> - <v>12</v> + <v>33</v> </b> <b> <a>4</a> <b>5</b> - <v>101</v> + <v>122</v> </b> <b> <a>5</a> <b>6</b> - <v>53</v> + <v>96</v> </b> <b> <a>6</a> - <b>7</b> - <v>50</v> - </b> - <b> - <a>7</a> <b>8</b> - <v>43</v> + <v>40</v> </b> <b> <a>8</a> - <b>14</b> - <v>50</v> + <b>13</b> + <v>42</v> </b> <b> - <a>14</a> - <b>23</b> - <v>53</v> + <a>13</a> + <b>20</b> + <v>44</v> </b> <b> - <a>24</a> - <b>39</b> - <v>45</v> + <a>21</a> + <b>31</b> + <v>42</v> </b> <b> - <a>41</a> - <b>62</b> - <v>45</v> + <a>35</a> + <b>55</b> + <v>44</v> </b> <b> - <a>65</a> - <b>148</b> - <v>33</v> + <a>55</a> + <b>145</b> + <v>37</v> </b> </bs> </hist> @@ -2285,62 +2188,57 @@ <b> <a>1</a> <b>2</b> - <v>33</v> + <v>25</v> </b> <b> <a>2</a> <b>3</b> - <v>84</v> + <v>33</v> </b> <b> <a>3</a> <b>4</b> - <v>12</v> + <v>33</v> </b> <b> <a>4</a> <b>5</b> - <v>101</v> + <v>122</v> </b> <b> <a>5</a> <b>6</b> - <v>53</v> + <v>96</v> </b> <b> <a>6</a> - <b>7</b> - <v>50</v> - </b> - <b> - <a>7</a> <b>8</b> - <v>43</v> + <v>40</v> </b> <b> <a>8</a> - <b>14</b> - <v>50</v> + <b>13</b> + <v>42</v> </b> <b> - <a>14</a> - <b>23</b> - <v>53</v> + <a>13</a> + <b>20</b> + <v>44</v> </b> <b> - <a>24</a> - <b>39</b> - <v>45</v> + <a>21</a> + <b>31</b> + <v>42</v> </b> <b> - <a>41</a> - <b>62</b> - <v>45</v> + <a>35</a> + <b>55</b> + <v>44</v> </b> <b> - <a>65</a> - <b>148</b> - <v>33</v> + <a>55</a> + <b>145</b> + <v>37</v> </b> </bs> </hist> @@ -2356,7 +2254,7 @@ <b> <a>1</a> <b>2</b> - <v>9761</v> + <v>8934</v> </b> </bs> </hist> @@ -2372,7 +2270,7 @@ <b> <a>1</a> <b>2</b> - <v>9761</v> + <v>8934</v> </b> </bs> </hist> @@ -2382,30 +2280,30 @@ </relation> <relation> <name>erb_template_def</name> - <cardinality>1531</cardinality> + <cardinality>1508</cardinality> <columnsizes> <e> <k>id</k> - <v>1531</v> + <v>1508</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>erb_tokeninfo</name> - <cardinality>19328</cardinality> + <cardinality>17690</cardinality> <columnsizes> <e> <k>id</k> - <v>19328</v> + <v>17690</v> </e> <e> <k>kind</k> - <v>10</v> + <v>7</v> </e> <e> <k>value</k> - <v>5305</v> + <v>4822</v> </e> </columnsizes> <dependencies> @@ -2419,7 +2317,7 @@ <b> <a>1</a> <b>2</b> - <v>19328</v> + <v>17690</v> </b> </bs> </hist> @@ -2435,7 +2333,7 @@ <b> <a>1</a> <b>2</b> - <v>19328</v> + <v>17690</v> </b> </bs> </hist> @@ -2449,23 +2347,18 @@ <budget>12</budget> <bs> <b> - <a>1</a> - <b>2</b> + <a>1853</a> + <b>1854</b> <v>2</v> </b> <b> - <a>1877</a> - <b>1878</b> + <a>1928</a> + <b>1929</b> <v>2</v> </b> <b> - <a>1954</a> - <b>1955</b> - <v>2</v> - </b> - <b> - <a>3756</a> - <b>3757</b> + <a>3706</a> + <b>3707</b> <v>2</v> </b> </bs> @@ -2480,23 +2373,18 @@ <budget>12</budget> <bs> <b> - <a>1</a> - <b>2</b> + <a>5</a> + <b>6</b> <v>2</v> </b> <b> - <a>6</a> - <b>7</b> + <a>984</a> + <b>985</b> <v>2</v> </b> <b> - <a>992</a> - <b>993</b> - <v>2</v> - </b> - <b> - <a>1084</a> - <b>1085</b> + <a>1052</a> + <b>1053</b> <v>2</v> </b> </bs> @@ -2513,17 +2401,17 @@ <b> <a>1</a> <b>2</b> - <v>4289</v> + <v>3879</v> </b> <b> <a>2</a> <b>3</b> - <v>636</v> + <v>600</v> </b> <b> <a>3</a> - <b>1811</b> - <v>379</v> + <b>1786</b> + <v>342</v> </b> </bs> </hist> @@ -2539,7 +2427,7 @@ <b> <a>1</a> <b>2</b> - <v>5305</v> + <v>4822</v> </b> </bs> </hist> @@ -2549,15 +2437,15 @@ </relation> <relation> <name>files</name> - <cardinality>18245</cardinality> + <cardinality>18724</cardinality> <columnsizes> <e> <k>id</k> - <v>18245</v> + <v>18724</v> </e> <e> <k>name</k> - <v>18245</v> + <v>18724</v> </e> </columnsizes> <dependencies> @@ -2571,7 +2459,7 @@ <b> <a>1</a> <b>2</b> - <v>18245</v> + <v>18724</v> </b> </bs> </hist> @@ -2587,7 +2475,7 @@ <b> <a>1</a> <b>2</b> - <v>18245</v> + <v>18724</v> </b> </bs> </hist> @@ -2597,15 +2485,15 @@ </relation> <relation> <name>folders</name> - <cardinality>5002</cardinality> + <cardinality>5165</cardinality> <columnsizes> <e> <k>id</k> - <v>5002</v> + <v>5165</v> </e> <e> <k>name</k> - <v>5002</v> + <v>5165</v> </e> </columnsizes> <dependencies> @@ -2619,7 +2507,7 @@ <b> <a>1</a> <b>2</b> - <v>5002</v> + <v>5165</v> </b> </bs> </hist> @@ -2635,7 +2523,7 @@ <b> <a>1</a> <b>2</b> - <v>5002</v> + <v>5165</v> </b> </bs> </hist> @@ -2645,31 +2533,31 @@ </relation> <relation> <name>locations_default</name> - <cardinality>9022418</cardinality> + <cardinality>9223392</cardinality> <columnsizes> <e> <k>id</k> - <v>9022418</v> + <v>9223392</v> </e> <e> <k>file</k> - <v>18245</v> + <v>18724</v> </e> <e> <k>beginLine</k> - <v>31147</v> + <v>31826</v> </e> <e> <k>beginColumn</k> - <v>5186</v> + <v>5300</v> </e> <e> <k>endLine</k> - <v>31147</v> + <v>31826</v> </e> <e> <k>endColumn</k> - <v>5292</v> + <v>5407</v> </e> </columnsizes> <dependencies> @@ -2683,7 +2571,7 @@ <b> <a>1</a> <b>2</b> - <v>9022418</v> + <v>9223392</v> </b> </bs> </hist> @@ -2699,7 +2587,7 @@ <b> <a>1</a> <b>2</b> - <v>9022418</v> + <v>9223392</v> </b> </bs> </hist> @@ -2715,7 +2603,7 @@ <b> <a>1</a> <b>2</b> - <v>9022418</v> + <v>9223392</v> </b> </bs> </hist> @@ -2731,7 +2619,7 @@ <b> <a>1</a> <b>2</b> - <v>9022418</v> + <v>9223392</v> </b> </bs> </hist> @@ -2747,7 +2635,7 @@ <b> <a>1</a> <b>2</b> - <v>9022418</v> + <v>9223392</v> </b> </bs> </hist> @@ -2763,72 +2651,72 @@ <b> <a>1</a> <b>32</b> - <v>1434</v> + <v>1479</v> </b> <b> <a>32</a> <b>47</b> - <v>1382</v> + <v>1412</v> </b> <b> <a>47</a> - <b>70</b> - <v>1369</v> + <b>71</b> + <v>1452</v> </b> <b> - <a>70</a> - <b>91</b> - <v>1369</v> + <a>71</a> + <b>94</b> + <v>1439</v> </b> <b> - <a>91</a> - <b>117</b> - <v>1369</v> + <a>94</a> + <b>119</b> + <v>1412</v> </b> <b> - <a>117</a> - <b>159</b> - <v>1395</v> + <a>119</a> + <b>161</b> + <v>1412</v> </b> <b> - <a>159</a> - <b>208</b> - <v>1408</v> + <a>161</a> + <b>209</b> + <v>1466</v> </b> <b> - <a>208</a> - <b>256</b> - <v>1369</v> + <a>209</a> + <b>260</b> + <v>1439</v> </b> <b> - <a>256</a> - <b>326</b> - <v>1408</v> + <a>260</a> + <b>333</b> + <v>1412</v> </b> <b> - <a>327</a> - <b>444</b> - <v>1382</v> + <a>336</a> + <b>445</b> + <v>1425</v> </b> <b> - <a>444</a> - <b>671</b> - <v>1369</v> + <a>445</a> + <b>679</b> + <v>1412</v> </b> <b> - <a>671</a> - <b>1185</b> - <v>1369</v> + <a>684</a> + <b>1221</b> + <v>1412</v> </b> <b> - <a>1186</a> - <b>4592</b> - <v>1369</v> + <a>1228</a> + <b>5812</b> + <v>1412</v> </b> <b> - <a>4636</a> + <a>7145</a> <b>22841</b> - <v>250</v> + <v>134</v> </b> </bs> </hist> @@ -2844,67 +2732,67 @@ <b> <a>1</a> <b>7</b> - <v>1342</v> + <v>1398</v> </b> <b> <a>7</a> <b>10</b> - <v>1632</v> + <v>1641</v> </b> <b> <a>10</a> <b>13</b> - <v>1434</v> + <v>1479</v> </b> <b> <a>13</a> <b>16</b> - <v>1592</v> + <v>1668</v> </b> <b> <a>16</a> <b>20</b> - <v>1579</v> + <v>1600</v> </b> <b> <a>20</a> - <b>24</b> - <v>1369</v> + <b>25</b> + <v>1587</v> </b> <b> - <a>24</a> - <b>30</b> - <v>1448</v> + <a>25</a> + <b>31</b> + <v>1573</v> </b> <b> - <a>30</a> - <b>37</b> - <v>1487</v> + <a>31</a> + <b>38</b> + <v>1506</v> </b> <b> - <a>37</a> - <b>47</b> - <v>1395</v> + <a>38</a> + <b>49</b> + <v>1506</v> </b> <b> - <a>47</a> - <b>64</b> - <v>1382</v> + <a>49</a> + <b>69</b> + <v>1425</v> </b> <b> - <a>64</a> - <b>99</b> - <v>1382</v> + <a>69</a> + <b>117</b> + <v>1425</v> </b> <b> - <a>100</a> - <b>207</b> - <v>1382</v> + <a>119</a> + <b>275</b> + <v>1412</v> </b> <b> - <a>207</a> + <a>276</a> <b>2339</b> - <v>816</v> + <v>497</v> </b> </bs> </hist> @@ -2920,67 +2808,67 @@ <b> <a>1</a> <b>16</b> - <v>1487</v> + <v>1533</v> </b> <b> <a>16</a> - <b>23</b> - <v>1395</v> + <b>24</b> + <v>1493</v> </b> <b> - <a>23</a> - <b>30</b> - <v>1382</v> + <a>24</a> + <b>31</b> + <v>1412</v> </b> <b> - <a>30</a> - <b>39</b> - <v>1369</v> + <a>31</a> + <b>40</b> + <v>1573</v> </b> <b> - <a>39</a> - <b>45</b> - <v>1527</v> + <a>40</a> + <b>46</b> + <v>1452</v> </b> <b> - <a>45</a> + <a>46</a> <b>52</b> - <v>1566</v> + <v>1533</v> </b> <b> <a>52</a> - <b>59</b> - <v>1369</v> + <b>60</b> + <v>1587</v> </b> <b> - <a>59</a> - <b>67</b> - <v>1566</v> + <a>60</a> + <b>68</b> + <v>1721</v> </b> <b> - <a>67</a> - <b>73</b> - <v>1448</v> + <a>68</a> + <b>76</b> + <v>1533</v> </b> <b> - <a>73</a> - <b>82</b> - <v>1408</v> + <a>76</a> + <b>85</b> + <v>1452</v> </b> <b> - <a>82</a> - <b>94</b> - <v>1448</v> + <a>85</a> + <b>98</b> + <v>1412</v> </b> <b> - <a>94</a> - <b>114</b> - <v>1395</v> + <a>98</a> + <b>122</b> + <v>1412</v> </b> <b> - <a>114</a> + <a>122</a> <b>357</b> - <v>882</v> + <v>605</v> </b> </bs> </hist> @@ -2996,67 +2884,67 @@ <b> <a>1</a> <b>7</b> - <v>1342</v> + <v>1398</v> </b> <b> <a>7</a> <b>10</b> - <v>1592</v> + <v>1600</v> </b> <b> <a>10</a> <b>13</b> - <v>1461</v> + <v>1506</v> </b> <b> <a>13</a> <b>16</b> - <v>1566</v> + <v>1641</v> </b> <b> <a>16</a> <b>20</b> - <v>1592</v> + <v>1614</v> </b> <b> <a>20</a> - <b>24</b> - <v>1382</v> + <b>25</b> + <v>1600</v> </b> <b> - <a>24</a> - <b>30</b> - <v>1461</v> + <a>25</a> + <b>31</b> + <v>1587</v> </b> <b> - <a>30</a> - <b>37</b> - <v>1487</v> + <a>31</a> + <b>38</b> + <v>1506</v> </b> <b> - <a>37</a> - <b>47</b> - <v>1395</v> + <a>38</a> + <b>49</b> + <v>1506</v> </b> <b> - <a>47</a> - <b>64</b> - <v>1382</v> + <a>49</a> + <b>69</b> + <v>1425</v> </b> <b> - <a>64</a> - <b>99</b> - <v>1382</v> + <a>69</a> + <b>117</b> + <v>1425</v> </b> <b> - <a>100</a> - <b>207</b> - <v>1382</v> + <a>119</a> + <b>275</b> + <v>1412</v> </b> <b> - <a>207</a> + <a>276</a> <b>2339</b> - <v>816</v> + <v>497</v> </b> </bs> </hist> @@ -3071,68 +2959,68 @@ <bs> <b> <a>1</a> - <b>20</b> - <v>1632</v> + <b>19</b> + <v>1412</v> </b> <b> - <a>20</a> - <b>28</b> - <v>1395</v> + <a>19</a> + <b>27</b> + <v>1587</v> </b> <b> - <a>28</a> - <b>36</b> - <v>1513</v> + <a>27</a> + <b>35</b> + <v>1425</v> </b> <b> - <a>36</a> - <b>45</b> - <v>1434</v> + <a>35</a> + <b>44</b> + <v>1452</v> </b> <b> - <a>45</a> - <b>51</b> - <v>1487</v> + <a>44</a> + <b>50</b> + <v>1600</v> </b> <b> - <a>51</a> - <b>58</b> - <v>1513</v> + <a>50</a> + <b>57</b> + <v>1533</v> </b> <b> - <a>58</a> - <b>66</b> - <v>1500</v> + <a>57</a> + <b>64</b> + <v>1439</v> </b> <b> - <a>66</a> - <b>73</b> - <v>1500</v> + <a>64</a> + <b>71</b> + <v>1412</v> </b> <b> - <a>73</a> - <b>80</b> - <v>1448</v> + <a>71</a> + <b>78</b> + <v>1533</v> </b> <b> - <a>80</a> - <b>89</b> - <v>1421</v> + <a>78</a> + <b>87</b> + <v>1520</v> </b> <b> - <a>89</a> - <b>102</b> - <v>1474</v> + <a>87</a> + <b>99</b> + <v>1493</v> </b> <b> - <a>102</a> - <b>128</b> - <v>1369</v> + <a>99</a> + <b>118</b> + <v>1425</v> </b> <b> - <a>128</a> + <a>118</a> <b>367</b> - <v>552</v> + <v>887</v> </b> </bs> </hist> @@ -3148,72 +3036,72 @@ <b> <a>1</a> <b>2</b> - <v>1566</v> + <v>1600</v> </b> <b> <a>2</a> <b>5</b> - <v>1592</v> + <v>1627</v> </b> <b> <a>5</a> <b>6</b> - <v>3409</v> + <v>3484</v> </b> <b> <a>6</a> <b>10</b> - <v>2646</v> + <v>2676</v> </b> <b> <a>10</a> <b>17</b> - <v>2804</v> + <v>2878</v> </b> <b> <a>17</a> <b>24</b> - <v>2409</v> + <v>2421</v> </b> <b> <a>24</a> <b>43</b> - <v>2382</v> + <v>2448</v> </b> <b> <a>43</a> <b>78</b> - <v>2369</v> + <v>2394</v> </b> <b> <a>78</a> - <b>118</b> - <v>2395</v> + <b>117</b> + <v>2394</v> </b> <b> - <a>118</a> - <b>174</b> - <v>2343</v> + <a>117</a> + <b>168</b> + <v>2407</v> </b> <b> - <a>174</a> - <b>268</b> - <v>2356</v> + <a>169</a> + <b>262</b> + <v>2421</v> </b> <b> - <a>271</a> - <b>751</b> - <v>2343</v> + <a>262</a> + <b>703</b> + <v>2394</v> </b> <b> - <a>757</a> - <b>7072</b> - <v>2343</v> + <a>708</a> + <b>5999</b> + <v>2394</v> </b> <b> - <a>7434</a> - <b>10856</b> - <v>184</v> + <a>6159</a> + <b>10971</b> + <v>282</v> </b> </bs> </hist> @@ -3229,47 +3117,47 @@ <b> <a>1</a> <b>2</b> - <v>10083</v> + <v>10304</v> </b> <b> <a>2</a> <b>3</b> - <v>5555</v> + <v>5609</v> </b> <b> <a>3</a> - <b>6</b> - <v>2343</v> + <b>7</b> + <v>2838</v> </b> <b> - <a>6</a> - <b>9</b> - <v>2330</v> + <a>7</a> + <b>10</b> + <v>2663</v> </b> <b> - <a>9</a> - <b>14</b> - <v>2501</v> + <a>10</a> + <b>15</b> + <v>2407</v> </b> <b> - <a>14</a> - <b>21</b> - <v>2356</v> + <a>15</a> + <b>23</b> + <v>2394</v> </b> <b> - <a>21</a> - <b>44</b> - <v>2356</v> + <a>23</a> + <b>58</b> + <v>2407</v> </b> <b> - <a>44</a> - <b>179</b> - <v>2356</v> + <a>58</a> + <b>287</b> + <v>2394</v> </b> <b> - <a>180</a> - <b>1386</b> - <v>1263</v> + <a>296</a> + <b>1392</b> + <v>807</v> </b> </bs> </hist> @@ -3285,72 +3173,72 @@ <b> <a>1</a> <b>2</b> - <v>1566</v> + <v>1600</v> </b> <b> <a>2</a> <b>3</b> - <v>1474</v> + <v>1520</v> </b> <b> <a>3</a> <b>4</b> - <v>2356</v> + <v>2394</v> </b> <b> <a>4</a> <b>6</b> - <v>2606</v> + <v>2650</v> </b> <b> <a>6</a> <b>8</b> - <v>1777</v> + <v>1775</v> </b> <b> <a>8</a> <b>13</b> - <v>2711</v> + <v>2811</v> </b> <b> <a>13</a> <b>18</b> - <v>2474</v> + <v>2448</v> </b> <b> <a>18</a> <b>29</b> - <v>2540</v> + <v>2582</v> </b> <b> <a>29</a> <b>44</b> - <v>2343</v> + <v>2475</v> </b> <b> <a>44</a> <b>56</b> - <v>2422</v> + <v>2582</v> </b> <b> <a>56</a> - <b>68</b> - <v>2409</v> + <b>69</b> + <v>2475</v> </b> <b> - <a>68</a> - <b>85</b> - <v>2448</v> + <a>69</a> + <b>86</b> + <v>2461</v> </b> <b> - <a>85</a> - <b>112</b> - <v>2369</v> + <a>86</a> + <b>113</b> + <v>2407</v> </b> <b> - <a>112</a> + <a>113</a> <b>205</b> - <v>1645</v> + <v>1641</v> </b> </bs> </hist> @@ -3366,42 +3254,42 @@ <b> <a>1</a> <b>2</b> - <v>11123</v> + <v>11299</v> </b> <b> <a>2</a> <b>3</b> - <v>6411</v> + <v>6591</v> </b> <b> <a>3</a> <b>4</b> - <v>2369</v> + <v>2380</v> </b> <b> <a>4</a> <b>5</b> - <v>1685</v> + <v>1815</v> </b> <b> <a>5</a> <b>7</b> - <v>2553</v> + <v>2623</v> </b> <b> <a>7</a> - <b>11</b> - <v>2856</v> + <b>10</b> + <v>2367</v> </b> <b> - <a>11</a> - <b>19</b> - <v>2488</v> + <a>10</a> + <b>17</b> + <v>2461</v> </b> <b> - <a>19</a> - <b>242</b> - <v>1658</v> + <a>17</a> + <b>240</b> + <v>2286</v> </b> </bs> </hist> @@ -3417,72 +3305,72 @@ <b> <a>1</a> <b>2</b> - <v>1566</v> + <v>1600</v> </b> <b> <a>2</a> <b>4</b> - <v>1592</v> + <v>1627</v> </b> <b> <a>4</a> <b>5</b> - <v>3462</v> + <v>3537</v> </b> <b> <a>5</a> <b>7</b> - <v>2119</v> + <v>2152</v> </b> <b> <a>7</a> <b>11</b> - <v>2698</v> + <v>2744</v> </b> <b> <a>11</a> <b>15</b> - <v>2409</v> + <v>2461</v> </b> <b> <a>15</a> <b>24</b> - <v>2395</v> + <v>2394</v> </b> <b> <a>24</a> <b>39</b> - <v>2369</v> + <v>2421</v> </b> <b> <a>39</a> <b>52</b> - <v>2409</v> + <v>2448</v> </b> <b> <a>52</a> <b>65</b> - <v>2369</v> + <v>2542</v> </b> <b> <a>65</a> - <b>79</b> - <v>2474</v> + <b>80</b> + <v>2555</v> </b> <b> - <a>79</a> - <b>101</b> - <v>2395</v> + <a>80</a> + <b>102</b> + <v>2434</v> </b> <b> - <a>101</a> - <b>135</b> - <v>2356</v> + <a>102</a> + <b>136</b> + <v>2421</v> </b> <b> - <a>135</a> - <b>208</b> - <v>526</v> + <a>136</a> + <b>209</b> + <v>484</v> </b> </bs> </hist> @@ -3498,88 +3386,7 @@ <b> <a>1</a> <b>2</b> - <v>473</v> - </b> - <b> - <a>2</a> - <b>3</b> - <v>592</v> - </b> - <b> - <a>3</a> - <b>4</b> - <v>250</v> - </b> - <b> - <a>4</a> - <b>5</b> - <v>276</v> - </b> - <b> - <a>5</a> - <b>6</b> - <v>315</v> - </b> - <b> - <a>6</a> - <b>9</b> - <v>460</v> - </b> - <b> - <a>9</a> - <b>16</b> - <v>408</v> - </b> - <b> - <a>16</a> - <b>44</b> - <v>394</v> - </b> - <b> - <a>45</a> - <b>177</b> - <v>394</v> - </b> - <b> - <a>180</a> - <b>796</b> - <v>394</v> - </b> - <b> - <a>816</a> - <b>3017</b> - <v>394</v> - </b> - <b> - <a>3017</a> - <b>8160</b> - <v>394</v> - </b> - <b> - <a>8349</a> - <b>25541</b> - <v>394</v> - </b> - <b> - <a>28440</a> - <b>38986</b> - <v>39</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>beginColumn</src> - <trg>file</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>2</b> - <v>1434</v> + <v>484</v> </b> <b> <a>2</a> @@ -3589,42 +3396,123 @@ <b> <a>3</a> <b>4</b> - <v>473</v> + <v>255</v> + </b> + <b> + <a>4</a> + <b>5</b> + <v>269</v> + </b> + <b> + <a>5</a> + <b>6</b> + <v>336</v> + </b> + <b> + <a>6</a> + <b>9</b> + <v>457</v> + </b> + <b> + <a>9</a> + <b>16</b> + <v>430</v> + </b> + <b> + <a>16</a> + <b>43</b> + <v>403</v> + </b> + <b> + <a>46</a> + <b>182</b> + <v>403</v> + </b> + <b> + <a>184</a> + <b>794</b> + <v>403</v> + </b> + <b> + <a>811</a> + <b>3014</b> + <v>403</v> + </b> + <b> + <a>3015</a> + <b>8230</b> + <v>403</v> + </b> + <b> + <a>8347</a> + <b>25670</b> + <v>403</v> + </b> + <b> + <a>28494</a> + <b>38951</b> + <v>40</v> + </b> + </bs> + </hist> + </val> + </dep> + <dep> + <src>beginColumn</src> + <trg>file</trg> + <val> + <hist> + <budget>12</budget> + <bs> + <b> + <a>1</a> + <b>2</b> + <v>1466</v> + </b> + <b> + <a>2</a> + <b>3</b> + <v>605</v> + </b> + <b> + <a>3</a> + <b>4</b> + <v>484</v> </b> <b> <a>4</a> <b>9</b> - <v>394</v> + <v>417</v> </b> <b> <a>9</a> <b>37</b> - <v>394</v> + <v>403</v> </b> <b> <a>37</a> - <b>120</b> - <v>394</v> + <b>118</b> + <v>403</v> </b> <b> - <a>126</a> - <b>378</b> - <v>394</v> + <a>124</a> + <b>381</b> + <v>403</v> </b> <b> - <a>379</a> - <b>730</b> - <v>394</v> + <a>381</a> + <b>728</b> + <v>403</v> </b> <b> - <a>755</a> - <b>982</b> - <v>394</v> + <a>754</a> + <b>985</b> + <v>403</v> </b> <b> - <a>992</a> - <b>1386</b> - <v>302</v> + <a>996</a> + <b>1392</b> + <v>309</v> </b> </bs> </hist> @@ -3640,62 +3528,67 @@ <b> <a>1</a> <b>2</b> - <v>539</v> + <v>551</v> </b> <b> <a>2</a> <b>3</b> - <v>697</v> + <v>712</v> </b> <b> <a>3</a> <b>4</b> - <v>315</v> + <v>322</v> </b> <b> <a>4</a> <b>5</b> - <v>368</v> + <v>363</v> </b> <b> <a>5</a> - <b>8</b> - <v>473</v> + <b>7</b> + <v>363</v> </b> <b> - <a>8</a> - <b>15</b> - <v>421</v> + <a>7</a> + <b>13</b> + <v>457</v> </b> <b> - <a>15</a> - <b>45</b> - <v>394</v> + <a>13</a> + <b>35</b> + <v>403</v> </b> <b> - <a>45</a> - <b>125</b> - <v>394</v> + <a>35</a> + <b>103</b> + <v>403</v> </b> <b> - <a>132</a> - <b>341</b> - <v>394</v> + <a>109</a> + <b>281</b> + <v>403</v> </b> <b> - <a>342</a> - <b>667</b> - <v>394</v> + <a>286</a> + <b>583</b> + <v>403</v> </b> <b> - <a>682</a> - <b>1002</b> - <v>394</v> + <a>591</a> + <b>927</b> + <v>403</v> </b> <b> - <a>1003</a> - <b>1403</b> - <v>394</v> + <a>935</a> + <b>1163</b> + <v>403</v> + </b> + <b> + <a>1198</a> + <b>1405</b> + <v>107</v> </b> </bs> </hist> @@ -3711,62 +3604,67 @@ <b> <a>1</a> <b>2</b> - <v>539</v> + <v>551</v> </b> <b> <a>2</a> <b>3</b> - <v>697</v> + <v>712</v> </b> <b> <a>3</a> <b>4</b> - <v>315</v> + <v>322</v> </b> <b> <a>4</a> <b>5</b> - <v>368</v> + <v>363</v> </b> <b> <a>5</a> - <b>8</b> - <v>473</v> + <b>7</b> + <v>363</v> </b> <b> - <a>8</a> - <b>15</b> - <v>421</v> + <a>7</a> + <b>13</b> + <v>457</v> </b> <b> - <a>15</a> - <b>45</b> - <v>394</v> + <a>13</a> + <b>35</b> + <v>403</v> </b> <b> - <a>48</a> - <b>125</b> - <v>394</v> + <a>35</a> + <b>105</b> + <v>403</v> </b> <b> - <a>133</a> - <b>345</b> - <v>394</v> + <a>108</a> + <b>282</b> + <v>403</v> </b> <b> - <a>346</a> - <b>687</b> - <v>394</v> + <a>287</a> + <b>596</b> + <v>403</v> </b> <b> - <a>694</a> - <b>1029</b> - <v>408</v> + <a>596</a> + <b>945</b> + <v>403</v> </b> <b> - <a>1029</a> - <b>1409</b> - <v>381</v> + <a>956</a> + <b>1202</b> + <v>403</v> + </b> + <b> + <a>1223</a> + <b>1412</b> + <v>107</v> </b> </bs> </hist> @@ -3782,52 +3680,52 @@ <b> <a>1</a> <b>2</b> - <v>1290</v> + <v>1318</v> </b> <b> <a>2</a> <b>3</b> - <v>697</v> + <v>712</v> </b> <b> <a>3</a> <b>4</b> - <v>513</v> + <v>524</v> </b> <b> <a>4</a> <b>6</b> - <v>434</v> + <v>443</v> </b> <b> <a>6</a> <b>15</b> - <v>394</v> + <v>403</v> </b> <b> <a>15</a> <b>37</b> - <v>394</v> + <v>403</v> </b> <b> <a>37</a> <b>66</b> - <v>394</v> + <v>403</v> </b> <b> <a>66</a> <b>98</b> - <v>394</v> + <v>403</v> </b> <b> <a>100</a> - <b>126</b> - <v>394</v> + <b>127</b> + <v>403</v> </b> <b> - <a>126</a> + <a>128</a> <b>180</b> - <v>276</v> + <v>282</v> </b> </bs> </hist> @@ -3843,72 +3741,72 @@ <b> <a>1</a> <b>3</b> - <v>315</v> + <v>322</v> </b> <b> <a>3</a> <b>4</b> - <v>3435</v> + <v>3510</v> </b> <b> <a>4</a> <b>6</b> - <v>2474</v> + <v>2528</v> </b> <b> <a>6</a> <b>9</b> - <v>2356</v> + <v>2394</v> </b> <b> <a>9</a> <b>13</b> - <v>2448</v> + <v>2488</v> </b> <b> <a>13</a> <b>20</b> - <v>2395</v> + <v>2407</v> </b> <b> <a>20</a> - <b>32</b> - <v>2369</v> + <b>33</b> + <v>2461</v> </b> <b> - <a>32</a> - <b>61</b> - <v>2356</v> + <a>33</a> + <b>64</b> + <v>2421</v> </b> <b> - <a>61</a> - <b>102</b> - <v>2356</v> + <a>64</a> + <b>103</b> + <v>2421</v> </b> <b> - <a>102</a> - <b>145</b> - <v>2395</v> + <a>103</a> + <b>143</b> + <v>2448</v> </b> <b> - <a>145</a> - <b>219</b> - <v>2356</v> + <a>143</a> + <b>220</b> + <v>2394</v> </b> <b> - <a>219</a> - <b>436</b> - <v>2343</v> + <a>220</a> + <b>446</b> + <v>2394</v> </b> <b> - <a>443</a> - <b>1758</b> - <v>2343</v> + <a>446</a> + <b>1691</b> + <v>2394</v> </b> <b> - <a>1798</a> - <b>10208</b> - <v>1197</v> + <a>1717</a> + <b>10278</b> + <v>1237</v> </b> </bs> </hist> @@ -3924,47 +3822,47 @@ <b> <a>1</a> <b>2</b> - <v>10083</v> + <v>10304</v> </b> <b> <a>2</a> <b>3</b> - <v>5555</v> + <v>5609</v> </b> <b> <a>3</a> - <b>6</b> - <v>2343</v> + <b>7</b> + <v>2838</v> </b> <b> - <a>6</a> - <b>9</b> - <v>2330</v> + <a>7</a> + <b>10</b> + <v>2663</v> </b> <b> - <a>9</a> - <b>14</b> - <v>2501</v> + <a>10</a> + <b>15</b> + <v>2407</v> </b> <b> - <a>14</a> - <b>21</b> - <v>2343</v> + <a>15</a> + <b>23</b> + <v>2394</v> </b> <b> - <a>21</a> - <b>44</b> - <v>2369</v> + <a>23</a> + <b>58</b> + <v>2407</v> </b> <b> - <a>44</a> - <b>179</b> - <v>2356</v> + <a>58</a> + <b>287</b> + <v>2394</v> </b> <b> - <a>180</a> - <b>1370</b> - <v>1263</v> + <a>296</a> + <b>1376</b> + <v>807</v> </b> </bs> </hist> @@ -3980,42 +3878,47 @@ <b> <a>1</a> <b>2</b> - <v>11202</v> + <v>11420</v> </b> <b> <a>2</a> <b>3</b> - <v>5871</v> + <v>5959</v> </b> <b> <a>3</a> <b>4</b> - <v>2553</v> + <v>2636</v> </b> <b> <a>4</a> <b>5</b> - <v>1658</v> + <v>1654</v> </b> <b> <a>5</a> <b>7</b> - <v>2527</v> + <v>2650</v> </b> <b> <a>7</a> - <b>11</b> - <v>2830</v> + <b>10</b> + <v>2407</v> </b> <b> - <a>11</a> - <b>20</b> - <v>2422</v> + <a>10</a> + <b>17</b> + <v>2394</v> </b> <b> - <a>20</a> + <a>17</a> + <b>34</b> + <v>2434</v> + </b> + <b> + <a>34</a> <b>43</b> - <v>2079</v> + <v>269</v> </b> </bs> </hist> @@ -4031,67 +3934,67 @@ <b> <a>1</a> <b>3</b> - <v>1579</v> + <v>1614</v> </b> <b> <a>3</a> <b>4</b> - <v>3422</v> + <v>3497</v> </b> <b> <a>4</a> <b>6</b> - <v>2764</v> + <v>2824</v> </b> <b> <a>6</a> <b>8</b> - <v>1671</v> + <v>1694</v> </b> <b> <a>8</a> <b>12</b> - <v>2488</v> + <v>2502</v> </b> <b> <a>12</a> <b>17</b> - <v>2711</v> + <v>2771</v> </b> <b> <a>17</a> <b>28</b> - <v>2448</v> + <v>2421</v> </b> <b> <a>28</a> - <b>43</b> - <v>2435</v> + <b>42</b> + <v>2448</v> </b> <b> - <a>43</a> + <a>42</a> <b>55</b> - <v>2409</v> + <v>2650</v> </b> <b> <a>55</a> <b>67</b> - <v>2343</v> + <v>2407</v> </b> <b> <a>67</a> <b>82</b> - <v>2382</v> + <v>2434</v> </b> <b> <a>82</a> - <b>107</b> - <v>2409</v> + <b>108</b> + <v>2461</v> </b> <b> - <a>107</a> + <a>108</a> <b>204</b> - <v>2079</v> + <v>2098</v> </b> </bs> </hist> @@ -4107,72 +4010,72 @@ <b> <a>1</a> <b>2</b> - <v>1553</v> + <v>1587</v> </b> <b> <a>2</a> <b>3</b> - <v>1474</v> + <v>1520</v> </b> <b> <a>3</a> <b>4</b> - <v>2382</v> + <v>2421</v> </b> <b> <a>4</a> <b>6</b> - <v>2606</v> + <v>2650</v> </b> <b> <a>6</a> <b>8</b> - <v>1737</v> + <v>1748</v> </b> <b> <a>8</a> <b>13</b> - <v>2777</v> + <v>2851</v> </b> <b> <a>13</a> <b>18</b> - <v>2435</v> + <v>2448</v> </b> <b> <a>18</a> <b>30</b> - <v>2514</v> + <v>2488</v> </b> <b> <a>30</a> - <b>46</b> - <v>2567</v> + <b>45</b> + <v>2448</v> </b> <b> - <a>46</a> - <b>59</b> - <v>2409</v> + <a>45</a> + <b>58</b> + <v>2542</v> </b> <b> - <a>59</a> - <b>72</b> - <v>2369</v> + <a>58</a> + <b>71</b> + <v>2421</v> </b> <b> - <a>72</a> - <b>89</b> - <v>2409</v> + <a>71</a> + <b>86</b> + <v>2407</v> </b> <b> - <a>89</a> - <b>117</b> - <v>2435</v> + <a>86</a> + <b>113</b> + <v>2394</v> </b> <b> - <a>117</a> - <b>208</b> - <v>1474</v> + <a>113</a> + <b>209</b> + <v>1896</v> </b> </bs> </hist> @@ -4188,72 +4091,72 @@ <b> <a>1</a> <b>2</b> - <v>408</v> + <v>417</v> </b> <b> <a>2</a> <b>3</b> - <v>473</v> + <v>484</v> </b> <b> <a>3</a> <b>5</b> - <v>447</v> + <v>457</v> </b> <b> <a>5</a> <b>6</b> - <v>171</v> + <v>174</v> </b> <b> <a>6</a> <b>8</b> - <v>460</v> + <v>470</v> </b> <b> <a>8</a> <b>12</b> - <v>408</v> + <v>417</v> </b> <b> <a>12</a> <b>24</b> - <v>408</v> + <v>417</v> </b> <b> <a>24</a> <b>72</b> - <v>408</v> + <v>417</v> </b> <b> <a>76</a> - <b>275</b> - <v>408</v> + <b>277</b> + <v>417</v> </b> <b> - <a>277</a> - <b>1197</b> - <v>408</v> + <a>278</a> + <b>1206</b> + <v>417</v> </b> <b> <a>1227</a> - <b>3883</b> - <v>408</v> + <b>3859</b> + <v>417</v> </b> <b> - <a>3987</a> - <b>8621</b> - <v>408</v> + <a>3977</a> + <b>8618</b> + <v>417</v> </b> <b> - <a>9003</a> - <b>11196</b> - <v>408</v> + <a>9094</a> + <b>11251</b> + <v>417</v> </b> <b> - <a>11489</a> - <b>19733</b> - <v>65</v> + <a>11548</a> + <b>19740</b> + <v>67</v> </b> </bs> </hist> @@ -4269,52 +4172,52 @@ <b> <a>1</a> <b>2</b> - <v>1448</v> + <v>1479</v> </b> <b> <a>2</a> <b>3</b> - <v>566</v> + <v>578</v> </b> <b> <a>3</a> <b>4</b> - <v>552</v> + <v>538</v> </b> <b> <a>4</a> - <b>9</b> - <v>447</v> + <b>8</b> + <v>417</v> </b> <b> - <a>9</a> - <b>46</b> - <v>408</v> + <a>8</a> + <b>29</b> + <v>417</v> </b> <b> - <a>46</a> - <b>152</b> - <v>408</v> + <a>35</a> + <b>115</b> + <v>417</v> </b> <b> - <a>159</a> - <b>442</b> - <v>408</v> + <a>115</a> + <b>399</b> + <v>417</v> </b> <b> - <a>454</a> - <b>851</b> - <v>408</v> + <a>427</a> + <b>798</b> + <v>417</v> </b> <b> - <a>868</a> - <b>1055</b> - <v>408</v> + <a>805</a> + <b>1038</b> + <v>417</v> </b> <b> - <a>1055</a> - <b>1353</b> - <v>236</v> + <a>1039</a> + <b>1359</b> + <v>309</v> </b> </bs> </hist> @@ -4330,149 +4233,7 @@ <b> <a>1</a> <b>2</b> - <v>579</v> - </b> - <b> - <a>2</a> - <b>3</b> - <v>631</v> - </b> - <b> - <a>3</a> - <b>4</b> - <v>329</v> - </b> - <b> - <a>4</a> - <b>6</b> - <v>460</v> - </b> - <b> - <a>6</a> - <b>9</b> - <v>473</v> - </b> - <b> - <a>9</a> - <b>17</b> - <v>421</v> - </b> - <b> - <a>17</a> - <b>45</b> - <v>408</v> - </b> - <b> - <a>49</a> - <b>149</b> - <v>408</v> - </b> - <b> - <a>150</a> - <b>385</b> - <v>421</v> - </b> - <b> - <a>389</a> - <b>729</b> - <v>408</v> - </b> - <b> - <a>736</a> - <b>1057</b> - <v>408</v> - </b> - <b> - <a>1060</a> - <b>1397</b> - <v>342</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>endColumn</src> - <trg>beginColumn</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>2</b> - <v>908</v> - </b> - <b> - <a>2</a> - <b>3</b> - <v>381</v> - </b> - <b> - <a>3</a> - <b>4</b> - <v>487</v> - </b> - <b> - <a>4</a> - <b>5</b> - <v>355</v> - </b> - <b> - <a>5</a> - <b>7</b> - <v>368</v> - </b> - <b> - <a>7</a> - <b>14</b> - <v>434</v> - </b> - <b> - <a>15</a> - <b>33</b> - <v>447</v> - </b> - <b> - <a>33</a> - <b>49</b> - <v>408</v> - </b> - <b> - <a>49</a> - <b>64</b> - <v>434</v> - </b> - <b> - <a>64</a> - <b>82</b> - <v>421</v> - </b> - <b> - <a>83</a> - <b>96</b> - <v>421</v> - </b> - <b> - <a>97</a> - <b>108</b> - <v>223</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>endColumn</src> - <trg>endLine</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>2</b> - <v>579</v> + <v>591</v> </b> <b> <a>2</a> @@ -4482,52 +4243,194 @@ <b> <a>3</a> <b>4</b> - <v>329</v> + <v>336</v> </b> <b> <a>4</a> <b>6</b> - <v>447</v> + <v>470</v> </b> <b> <a>6</a> <b>9</b> - <v>473</v> + <v>470</v> </b> <b> <a>9</a> <b>17</b> - <v>447</v> + <v>443</v> </b> <b> <a>17</a> - <b>55</b> - <v>408</v> + <b>47</b> + <v>417</v> </b> <b> - <a>55</a> - <b>162</b> - <v>408</v> + <a>51</a> + <b>153</b> + <v>417</v> </b> <b> - <a>171</a> - <b>382</b> - <v>408</v> + <a>153</a> + <b>387</b> + <v>417</v> </b> <b> - <a>396</a> - <b>729</b> - <v>408</v> + <a>390</a> + <b>717</b> + <v>417</v> </b> <b> - <a>767</a> - <b>1048</b> - <v>408</v> + <a>730</a> + <b>1059</b> + <v>417</v> </b> <b> - <a>1056</a> - <b>1390</b> - <v>329</v> + <a>1062</a> + <b>1404</b> + <v>363</v> + </b> + </bs> + </hist> + </val> + </dep> + <dep> + <src>endColumn</src> + <trg>beginColumn</trg> + <val> + <hist> + <budget>12</budget> + <bs> + <b> + <a>1</a> + <b>2</b> + <v>928</v> + </b> + <b> + <a>2</a> + <b>3</b> + <v>390</v> + </b> + <b> + <a>3</a> + <b>4</b> + <v>497</v> + </b> + <b> + <a>4</a> + <b>5</b> + <v>363</v> + </b> + <b> + <a>5</a> + <b>7</b> + <v>363</v> + </b> + <b> + <a>7</a> + <b>14</b> + <v>443</v> + </b> + <b> + <a>15</a> + <b>33</b> + <v>470</v> + </b> + <b> + <a>33</a> + <b>49</b> + <v>417</v> + </b> + <b> + <a>49</a> + <b>64</b> + <v>430</v> + </b> + <b> + <a>65</a> + <b>81</b> + <v>417</v> + </b> + <b> + <a>81</a> + <b>96</b> + <v>457</v> + </b> + <b> + <a>97</a> + <b>109</b> + <v>228</v> + </b> + </bs> + </hist> + </val> + </dep> + <dep> + <src>endColumn</src> + <trg>endLine</trg> + <val> + <hist> + <budget>12</budget> + <bs> + <b> + <a>1</a> + <b>2</b> + <v>591</v> + </b> + <b> + <a>2</a> + <b>3</b> + <v>659</v> + </b> + <b> + <a>3</a> + <b>4</b> + <v>336</v> + </b> + <b> + <a>4</a> + <b>6</b> + <v>457</v> + </b> + <b> + <a>6</a> + <b>9</b> + <v>470</v> + </b> + <b> + <a>9</a> + <b>16</b> + <v>417</v> + </b> + <b> + <a>16</a> + <b>43</b> + <v>430</v> + </b> + <b> + <a>45</a> + <b>151</b> + <v>430</v> + </b> + <b> + <a>161</a> + <b>379</b> + <v>417</v> + </b> + <b> + <a>384</a> + <b>712</b> + <v>417</v> + </b> + <b> + <a>729</a> + <b>1046</b> + <v>417</v> + </b> + <b> + <a>1049</a> + <b>1397</b> + <v>363</v> </b> </bs> </hist> @@ -4537,19 +4440,19 @@ </relation> <relation> <name>ruby_alias_def</name> - <cardinality>1307</cardinality> + <cardinality>1289</cardinality> <columnsizes> <e> <k>id</k> - <v>1307</v> + <v>1289</v> </e> <e> <k>alias</k> - <v>1307</v> + <v>1289</v> </e> <e> <k>name</k> - <v>1307</v> + <v>1289</v> </e> </columnsizes> <dependencies> @@ -4563,7 +4466,7 @@ <b> <a>1</a> <b>2</b> - <v>1307</v> + <v>1289</v> </b> </bs> </hist> @@ -4579,7 +4482,7 @@ <b> <a>1</a> <b>2</b> - <v>1307</v> + <v>1289</v> </b> </bs> </hist> @@ -4595,7 +4498,7 @@ <b> <a>1</a> <b>2</b> - <v>1307</v> + <v>1289</v> </b> </bs> </hist> @@ -4611,7 +4514,7 @@ <b> <a>1</a> <b>2</b> - <v>1307</v> + <v>1289</v> </b> </bs> </hist> @@ -4627,7 +4530,7 @@ <b> <a>1</a> <b>2</b> - <v>1307</v> + <v>1289</v> </b> </bs> </hist> @@ -4643,7 +4546,7 @@ <b> <a>1</a> <b>2</b> - <v>1307</v> + <v>1289</v> </b> </bs> </hist> @@ -4820,19 +4723,19 @@ </relation> <relation> <name>ruby_argument_list_child</name> - <cardinality>861033</cardinality> + <cardinality>879410</cardinality> <columnsizes> <e> <k>ruby_argument_list</k> - <v>691475</v> + <v>706205</v> </e> <e> <k>index</k> - <v>434</v> + <v>443</v> </e> <e> <k>child</k> - <v>861033</v> + <v>879410</v> </e> </columnsizes> <dependencies> @@ -4846,17 +4749,17 @@ <b> <a>1</a> <b>2</b> - <v>584369</v> + <v>596855</v> </b> <b> <a>2</a> <b>3</b> - <v>67125</v> + <v>68483</v> </b> <b> <a>3</a> <b>34</b> - <v>39980</v> + <v>40866</v> </b> </bs> </hist> @@ -4872,17 +4775,17 @@ <b> <a>1</a> <b>2</b> - <v>584369</v> + <v>596855</v> </b> <b> <a>2</a> <b>3</b> - <v>67125</v> + <v>68483</v> </b> <b> <a>3</a> <b>34</b> - <v>39980</v> + <v>40866</v> </b> </bs> </hist> @@ -4898,46 +4801,46 @@ <b> <a>1</a> <b>2</b> - <v>144</v> + <v>147</v> </b> <b> <a>2</a> <b>3</b> - <v>39</v> + <v>40</v> </b> <b> <a>3</a> <b>7</b> - <v>39</v> + <v>40</v> </b> <b> <a>7</a> <b>11</b> - <v>39</v> + <v>40</v> </b> <b> <a>11</a> <b>21</b> - <v>39</v> + <v>40</v> </b> <b> <a>23</a> <b>45</b> - <v>39</v> + <v>40</v> </b> <b> <a>56</a> - <b>386</b> - <v>39</v> + <b>385</b> + <v>40</v> </b> <b> - <a>960</a> - <b>8137</b> - <v>39</v> + <a>963</a> + <b>8130</b> + <v>40</v> </b> <b> - <a>52526</a> - <b>52527</b> + <a>52499</a> + <b>52500</b> <v>13</v> </b> </bs> @@ -4954,46 +4857,46 @@ <b> <a>1</a> <b>2</b> - <v>144</v> + <v>147</v> </b> <b> <a>2</a> <b>3</b> - <v>39</v> + <v>40</v> </b> <b> <a>3</a> <b>7</b> - <v>39</v> + <v>40</v> </b> <b> <a>7</a> <b>11</b> - <v>39</v> + <v>40</v> </b> <b> <a>11</a> <b>21</b> - <v>39</v> + <v>40</v> </b> <b> <a>23</a> <b>45</b> - <v>39</v> + <v>40</v> </b> <b> <a>56</a> - <b>386</b> - <v>39</v> + <b>385</b> + <v>40</v> </b> <b> - <a>960</a> - <b>8137</b> - <v>39</v> + <a>963</a> + <b>8130</b> + <v>40</v> </b> <b> - <a>52526</a> - <b>52527</b> + <a>52499</a> + <b>52500</b> <v>13</v> </b> </bs> @@ -5010,7 +4913,7 @@ <b> <a>1</a> <b>2</b> - <v>861033</v> + <v>879410</v> </b> </bs> </hist> @@ -5026,7 +4929,7 @@ <b> <a>1</a> <b>2</b> - <v>861033</v> + <v>879410</v> </b> </bs> </hist> @@ -5036,22 +4939,22 @@ </relation> <relation> <name>ruby_argument_list_def</name> - <cardinality>691738</cardinality> + <cardinality>706474</cardinality> <columnsizes> <e> <k>id</k> - <v>691738</v> + <v>706474</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_array_child</name> - <cardinality>704712</cardinality> + <cardinality>708919</cardinality> <columnsizes> <e> <k>ruby_array</k> - <v>239714</v> + <v>240456</v> </e> <e> <k>index</k> @@ -5059,7 +4962,7 @@ </e> <e> <k>child</k> - <v>704712</v> + <v>708919</v> </e> </columnsizes> <dependencies> @@ -5073,17 +4976,17 @@ <b> <a>1</a> <b>2</b> - <v>12460</v> + <v>12708</v> </b> <b> <a>2</a> <b>3</b> - <v>213368</v> + <v>213730</v> </b> <b> <a>3</a> <b>63361</b> - <v>13886</v> + <v>14018</v> </b> </bs> </hist> @@ -5099,17 +5002,17 @@ <b> <a>1</a> <b>2</b> - <v>12460</v> + <v>12708</v> </b> <b> <a>2</a> <b>3</b> - <v>213368</v> + <v>213730</v> </b> <b> <a>3</a> <b>63361</b> - <v>13886</v> + <v>14018</v> </b> </bs> </hist> @@ -5149,7 +5052,7 @@ </b> <b> <a>11</a> - <b>239715</b> + <b>240457</b> <v>1294</v> </b> </bs> @@ -5190,7 +5093,7 @@ </b> <b> <a>11</a> - <b>239715</b> + <b>240457</b> <v>1294</v> </b> </bs> @@ -5207,7 +5110,7 @@ <b> <a>1</a> <b>2</b> - <v>704712</v> + <v>708919</v> </b> </bs> </hist> @@ -5223,7 +5126,7 @@ <b> <a>1</a> <b>2</b> - <v>704712</v> + <v>708919</v> </b> </bs> </hist> @@ -5233,22 +5136,22 @@ </relation> <relation> <name>ruby_array_def</name> - <cardinality>248289</cardinality> + <cardinality>249320</cardinality> <columnsizes> <e> <k>id</k> - <v>248289</v> + <v>249320</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_array_pattern_child</name> - <cardinality>334</cardinality> + <cardinality>336</cardinality> <columnsizes> <e> <k>ruby_array_pattern</k> - <v>167</v> + <v>168</v> </e> <e> <k>index</k> @@ -5256,7 +5159,7 @@ </e> <e> <k>child</k> - <v>334</v> + <v>336</v> </e> </columnsizes> <dependencies> @@ -5275,7 +5178,7 @@ <b> <a>2</a> <b>3</b> - <v>96</v> + <v>97</v> </b> <b> <a>3</a> @@ -5306,7 +5209,7 @@ <b> <a>2</a> <b>3</b> - <v>96</v> + <v>97</v> </b> <b> <a>3</a> @@ -5355,13 +5258,13 @@ <v>1</v> </b> <b> - <a>116</a> - <b>117</b> + <a>117</a> + <b>118</b> <v>1</v> </b> <b> - <a>167</a> - <b>168</b> + <a>168</a> + <b>169</b> <v>1</v> </b> </bs> @@ -5401,13 +5304,13 @@ <v>1</v> </b> <b> - <a>116</a> - <b>117</b> + <a>117</a> + <b>118</b> <v>1</v> </b> <b> - <a>167</a> - <b>168</b> + <a>168</a> + <b>169</b> <v>1</v> </b> </bs> @@ -5424,7 +5327,7 @@ <b> <a>1</a> <b>2</b> - <v>334</v> + <v>336</v> </b> </bs> </hist> @@ -5440,7 +5343,7 @@ <b> <a>1</a> <b>2</b> - <v>334</v> + <v>336</v> </b> </bs> </hist> @@ -5450,15 +5353,15 @@ </relation> <relation> <name>ruby_array_pattern_class</name> - <cardinality>50</cardinality> + <cardinality>51</cardinality> <columnsizes> <e> <k>ruby_array_pattern</k> - <v>50</v> + <v>51</v> </e> <e> <k>class</k> - <v>50</v> + <v>51</v> </e> </columnsizes> <dependencies> @@ -5472,7 +5375,7 @@ <b> <a>1</a> <b>2</b> - <v>50</v> + <v>51</v> </b> </bs> </hist> @@ -5488,7 +5391,7 @@ <b> <a>1</a> <b>2</b> - <v>50</v> + <v>51</v> </b> </bs> </hist> @@ -5498,30 +5401,30 @@ </relation> <relation> <name>ruby_array_pattern_def</name> - <cardinality>178</cardinality> + <cardinality>179</cardinality> <columnsizes> <e> <k>id</k> - <v>178</v> + <v>179</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_as_pattern_def</name> - <cardinality>153</cardinality> + <cardinality>156</cardinality> <columnsizes> <e> <k>id</k> - <v>153</v> + <v>156</v> </e> <e> <k>name</k> - <v>153</v> + <v>156</v> </e> <e> <k>value</k> - <v>153</v> + <v>156</v> </e> </columnsizes> <dependencies> @@ -5535,7 +5438,7 @@ <b> <a>1</a> <b>2</b> - <v>153</v> + <v>156</v> </b> </bs> </hist> @@ -5551,7 +5454,7 @@ <b> <a>1</a> <b>2</b> - <v>153</v> + <v>156</v> </b> </bs> </hist> @@ -5567,7 +5470,7 @@ <b> <a>1</a> <b>2</b> - <v>153</v> + <v>156</v> </b> </bs> </hist> @@ -5583,7 +5486,7 @@ <b> <a>1</a> <b>2</b> - <v>153</v> + <v>156</v> </b> </bs> </hist> @@ -5599,7 +5502,7 @@ <b> <a>1</a> <b>2</b> - <v>153</v> + <v>156</v> </b> </bs> </hist> @@ -5615,7 +5518,7 @@ <b> <a>1</a> <b>2</b> - <v>153</v> + <v>156</v> </b> </bs> </hist> @@ -5625,19 +5528,19 @@ </relation> <relation> <name>ruby_assignment_def</name> - <cardinality>137583</cardinality> + <cardinality>141202</cardinality> <columnsizes> <e> <k>id</k> - <v>137583</v> + <v>141202</v> </e> <e> <k>left</k> - <v>137583</v> + <v>141202</v> </e> <e> <k>right</k> - <v>137583</v> + <v>141202</v> </e> </columnsizes> <dependencies> @@ -5651,7 +5554,7 @@ <b> <a>1</a> <b>2</b> - <v>137583</v> + <v>141202</v> </b> </bs> </hist> @@ -5667,7 +5570,7 @@ <b> <a>1</a> <b>2</b> - <v>137583</v> + <v>141202</v> </b> </bs> </hist> @@ -5683,7 +5586,7 @@ <b> <a>1</a> <b>2</b> - <v>137583</v> + <v>141202</v> </b> </bs> </hist> @@ -5699,7 +5602,7 @@ <b> <a>1</a> <b>2</b> - <v>137583</v> + <v>141202</v> </b> </bs> </hist> @@ -5715,7 +5618,7 @@ <b> <a>1</a> <b>2</b> - <v>137583</v> + <v>141202</v> </b> </bs> </hist> @@ -5731,7 +5634,7 @@ <b> <a>1</a> <b>2</b> - <v>137583</v> + <v>141202</v> </b> </bs> </hist> @@ -5740,24 +5643,73 @@ </dependencies> </relation> <relation> - <name>ruby_ast_node_info</name> - <cardinality>9511543</cardinality> + <name>ruby_ast_node_location</name> + <cardinality>9723503</cardinality> <columnsizes> <e> <k>node</k> - <v>9511543</v> - </e> - <e> - <k>parent</k> - <v>3325876</v> - </e> - <e> - <k>parent_index</k> - <v>2830</v> + <v>9723503</v> </e> <e> <k>loc</k> - <v>9008872</v> + <v>9209550</v> + </e> + </columnsizes> + <dependencies> + <dep> + <src>node</src> + <trg>loc</trg> + <val> + <hist> + <budget>12</budget> + <bs> + <b> + <a>1</a> + <b>2</b> + <v>9723503</v> + </b> + </bs> + </hist> + </val> + </dep> + <dep> + <src>loc</src> + <trg>node</trg> + <val> + <hist> + <budget>12</budget> + <bs> + <b> + <a>1</a> + <b>2</b> + <v>8697279</v> + </b> + <b> + <a>2</a> + <b>4</b> + <v>512270</v> + </b> + </bs> + </hist> + </val> + </dep> + </dependencies> + </relation> + <relation> + <name>ruby_ast_node_parent</name> + <cardinality>9674605</cardinality> + <columnsizes> + <e> + <k>node</k> + <v>9674605</v> + </e> + <e> + <k>parent</k> + <v>3381025</v> + </e> + <e> + <k>parent_index</k> + <v>2892</v> </e> </columnsizes> <dependencies> @@ -5771,7 +5723,7 @@ <b> <a>1</a> <b>2</b> - <v>9511543</v> + <v>9674605</v> </b> </bs> </hist> @@ -5787,23 +5739,7 @@ <b> <a>1</a> <b>2</b> - <v>9511543</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>node</src> - <trg>loc</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>2</b> - <v>9511543</v> + <v>9674605</v> </b> </bs> </hist> @@ -5819,27 +5755,27 @@ <b> <a>1</a> <b>2</b> - <v>535595</v> + <v>533793</v> </b> <b> <a>2</a> <b>3</b> - <v>457056</v> + <v>465418</v> </b> <b> <a>3</a> <b>4</b> - <v>1793325</v> + <v>1832321</v> </b> <b> <a>4</a> <b>5</b> - <v>352556</v> + <v>359620</v> </b> <b> <a>5</a> <b>216</b> - <v>187343</v> + <v>189871</v> </b> </bs> </hist> @@ -5855,63 +5791,27 @@ <b> <a>1</a> <b>2</b> - <v>535595</v> + <v>533793</v> </b> <b> <a>2</a> <b>3</b> - <v>457056</v> + <v>465418</v> </b> <b> <a>3</a> <b>4</b> - <v>1793325</v> + <v>1832321</v> </b> <b> <a>4</a> <b>5</b> - <v>352556</v> + <v>359620</v> </b> <b> <a>5</a> <b>216</b> - <v>187343</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>parent</src> - <trg>loc</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>2</b> - <v>535595</v> - </b> - <b> - <a>2</a> - <b>3</b> - <v>457056</v> - </b> - <b> - <a>3</a> - <b>4</b> - <v>1793325</v> - </b> - <b> - <a>4</a> - <b>5</b> - <v>352556</v> - </b> - <b> - <a>5</a> - <b>216</b> - <v>187343</v> + <v>189871</v> </b> </bs> </hist> @@ -5927,57 +5827,52 @@ <b> <a>1</a> <b>2</b> - <v>460</v> + <v>470</v> </b> <b> <a>2</a> <b>3</b> - <v>236</v> + <v>242</v> </b> <b> <a>3</a> <b>4</b> - <v>355</v> + <v>363</v> </b> <b> <a>4</a> <b>6</b> - <v>157</v> + <v>161</v> </b> <b> <a>6</a> <b>7</b> - <v>315</v> + <v>484</v> </b> <b> <a>7</a> - <b>11</b> - <v>250</v> + <b>17</b> + <v>255</v> </b> <b> - <a>11</a> - <b>21</b> - <v>197</v> + <a>17</a> + <b>29</b> + <v>228</v> </b> <b> - <a>21</a> - <b>42</b> - <v>223</v> + <a>33</a> + <b>71</b> + <v>228</v> </b> <b> - <a>43</a> - <b>94</b> - <v>223</v> + <a>72</a> + <b>298</b> + <v>228</v> </b> <b> - <a>98</a> - <b>498</b> - <v>223</v> - </b> - <b> - <a>533</a> - <b>252642</b> - <v>184</v> + <a>358</a> + <b>251345</b> + <v>228</v> </b> </bs> </hist> @@ -5993,186 +5888,52 @@ <b> <a>1</a> <b>2</b> - <v>460</v> + <v>470</v> </b> <b> <a>2</a> <b>3</b> - <v>236</v> + <v>242</v> </b> <b> <a>3</a> <b>4</b> - <v>355</v> + <v>363</v> </b> <b> <a>4</a> <b>6</b> - <v>157</v> + <v>161</v> </b> <b> <a>6</a> <b>7</b> - <v>315</v> + <v>484</v> </b> <b> <a>7</a> - <b>11</b> - <v>250</v> + <b>17</b> + <v>255</v> </b> <b> - <a>11</a> - <b>21</b> - <v>197</v> + <a>17</a> + <b>29</b> + <v>228</v> </b> <b> - <a>21</a> - <b>42</b> - <v>223</v> + <a>33</a> + <b>71</b> + <v>228</v> </b> <b> - <a>43</a> - <b>94</b> - <v>223</v> + <a>72</a> + <b>298</b> + <v>228</v> </b> <b> - <a>98</a> - <b>498</b> - <v>223</v> - </b> - <b> - <a>533</a> - <b>252642</b> - <v>184</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>parent_index</src> - <trg>loc</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>2</b> - <v>460</v> - </b> - <b> - <a>2</a> - <b>3</b> - <v>236</v> - </b> - <b> - <a>3</a> - <b>4</b> - <v>355</v> - </b> - <b> - <a>4</a> - <b>6</b> - <v>157</v> - </b> - <b> - <a>6</a> - <b>7</b> - <v>315</v> - </b> - <b> - <a>7</a> - <b>11</b> - <v>250</v> - </b> - <b> - <a>11</a> - <b>21</b> - <v>197</v> - </b> - <b> - <a>21</a> - <b>42</b> - <v>223</v> - </b> - <b> - <a>43</a> - <b>94</b> - <v>223</v> - </b> - <b> - <a>98</a> - <b>498</b> - <v>223</v> - </b> - <b> - <a>533</a> - <b>252273</b> - <v>184</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>loc</src> - <trg>node</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>2</b> - <v>8507847</v> - </b> - <b> - <a>2</a> - <b>4</b> - <v>501025</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>loc</src> - <trg>parent</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>2</b> - <v>8507847</v> - </b> - <b> - <a>2</a> - <b>4</b> - <v>501025</v> - </b> - </bs> - </hist> - </val> - </dep> - <dep> - <src>loc</src> - <trg>parent_index</trg> - <val> - <hist> - <budget>12</budget> - <bs> - <b> - <a>1</a> - <b>2</b> - <v>8511059</v> - </b> - <b> - <a>2</a> - <b>3</b> - <v>497813</v> + <a>358</a> + <b>251345</b> + <v>228</v> </b> </bs> </hist> @@ -6182,11 +5943,11 @@ </relation> <relation> <name>ruby_bare_string_child</name> - <cardinality>16385</cardinality> + <cardinality>16784</cardinality> <columnsizes> <e> <k>ruby_bare_string</k> - <v>12799</v> + <v>13136</v> </e> <e> <k>index</k> @@ -6194,7 +5955,7 @@ </e> <e> <k>child</k> - <v>16385</v> + <v>16784</v> </e> </columnsizes> <dependencies> @@ -6208,12 +5969,12 @@ <b> <a>1</a> <b>2</b> - <v>12434</v> + <v>12728</v> </b> <b> <a>2</a> <b>2310</b> - <v>365</v> + <v>408</v> </b> </bs> </hist> @@ -6229,12 +5990,12 @@ <b> <a>1</a> <b>2</b> - <v>12434</v> + <v>12728</v> </b> <b> <a>2</a> <b>2310</b> - <v>365</v> + <v>408</v> </b> </bs> </hist> @@ -6264,7 +6025,7 @@ </b> <b> <a>4</a> - <b>12800</b> + <b>13137</b> <v>19</v> </b> </bs> @@ -6295,7 +6056,7 @@ </b> <b> <a>4</a> - <b>12800</b> + <b>13137</b> <v>19</v> </b> </bs> @@ -6312,7 +6073,7 @@ <b> <a>1</a> <b>2</b> - <v>16385</v> + <v>16784</v> </b> </bs> </hist> @@ -6328,7 +6089,7 @@ <b> <a>1</a> <b>2</b> - <v>16385</v> + <v>16784</v> </b> </bs> </hist> @@ -6338,22 +6099,22 @@ </relation> <relation> <name>ruby_bare_string_def</name> - <cardinality>12799</cardinality> + <cardinality>13136</cardinality> <columnsizes> <e> <k>id</k> - <v>12799</v> + <v>13136</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_bare_symbol_child</name> - <cardinality>7967</cardinality> + <cardinality>8435</cardinality> <columnsizes> <e> <k>ruby_bare_symbol</k> - <v>7967</v> + <v>8435</v> </e> <e> <k>index</k> @@ -6361,7 +6122,7 @@ </e> <e> <k>child</k> - <v>7967</v> + <v>8435</v> </e> </columnsizes> <dependencies> @@ -6375,7 +6136,7 @@ <b> <a>1</a> <b>2</b> - <v>7967</v> + <v>8435</v> </b> </bs> </hist> @@ -6391,7 +6152,7 @@ <b> <a>1</a> <b>2</b> - <v>7967</v> + <v>8435</v> </b> </bs> </hist> @@ -6405,8 +6166,8 @@ <budget>12</budget> <bs> <b> - <a>3128</a> - <b>3129</b> + <a>3570</a> + <b>3571</b> <v>2</v> </b> </bs> @@ -6421,8 +6182,8 @@ <budget>12</budget> <bs> <b> - <a>3128</a> - <b>3129</b> + <a>3570</a> + <b>3571</b> <v>2</v> </b> </bs> @@ -6439,7 +6200,7 @@ <b> <a>1</a> <b>2</b> - <v>7967</v> + <v>8435</v> </b> </bs> </hist> @@ -6455,7 +6216,7 @@ <b> <a>1</a> <b>2</b> - <v>7967</v> + <v>8435</v> </b> </bs> </hist> @@ -6465,18 +6226,18 @@ </relation> <relation> <name>ruby_bare_symbol_def</name> - <cardinality>7967</cardinality> + <cardinality>8435</cardinality> <columnsizes> <e> <k>id</k> - <v>7967</v> + <v>8435</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_begin_block_child</name> - <cardinality>33</cardinality> + <cardinality>39</cardinality> <columnsizes> <e> <k>ruby_begin_block</k> @@ -6488,7 +6249,7 @@ </e> <e> <k>child</k> - <v>33</v> + <v>39</v> </e> </columnsizes> <dependencies> @@ -6502,7 +6263,7 @@ <b> <a>1</a> <b>2</b> - <v>4</v> + <v>3</v> </b> <b> <a>2</a> @@ -6512,17 +6273,12 @@ <b> <a>3</a> <b>4</b> - <v>1</v> - </b> - <b> - <a>5</a> - <b>6</b> <v>2</v> </b> <b> <a>7</a> <b>8</b> - <v>2</v> + <v>4</v> </b> </bs> </hist> @@ -6538,7 +6294,7 @@ <b> <a>1</a> <b>2</b> - <v>4</v> + <v>3</v> </b> <b> <a>2</a> @@ -6548,17 +6304,12 @@ <b> <a>3</a> <b>4</b> - <v>1</v> - </b> - <b> - <a>5</a> - <b>6</b> <v>2</v> </b> <b> <a>7</a> <b>8</b> - <v>2</v> + <v>4</v> </b> </bs> </hist> @@ -6571,26 +6322,21 @@ <hist> <budget>12</budget> <bs> - <b> - <a>2</a> - <b>3</b> - <v>2</v> - </b> <b> <a>4</a> <b>5</b> - <v>2</v> - </b> - <b> - <a>5</a> - <b>6</b> - <v>1</v> + <v>4</v> </b> <b> <a>6</a> <b>7</b> <v>1</v> </b> + <b> + <a>7</a> + <b>8</b> + <v>1</v> + </b> <b> <a>10</a> <b>11</b> @@ -6607,26 +6353,21 @@ <hist> <budget>12</budget> <bs> - <b> - <a>2</a> - <b>3</b> - <v>2</v> - </b> <b> <a>4</a> <b>5</b> - <v>2</v> - </b> - <b> - <a>5</a> - <b>6</b> - <v>1</v> + <v>4</v> </b> <b> <a>6</a> <b>7</b> <v>1</v> </b> + <b> + <a>7</a> + <b>8</b> + <v>1</v> + </b> <b> <a>10</a> <b>11</b> @@ -6646,7 +6387,7 @@ <b> <a>1</a> <b>2</b> - <v>33</v> + <v>39</v> </b> </bs> </hist> @@ -6662,7 +6403,7 @@ <b> <a>1</a> <b>2</b> - <v>33</v> + <v>39</v> </b> </bs> </hist> @@ -6683,11 +6424,11 @@ </relation> <relation> <name>ruby_begin_child</name> - <cardinality>7613</cardinality> + <cardinality>7606</cardinality> <columnsizes> <e> <k>ruby_begin</k> - <v>2590</v> + <v>2610</v> </e> <e> <k>index</k> @@ -6695,7 +6436,7 @@ </e> <e> <k>child</k> - <v>7613</v> + <v>7606</v> </e> </columnsizes> <dependencies> @@ -6709,32 +6450,32 @@ <b> <a>1</a> <b>2</b> - <v>163</v> + <v>161</v> </b> <b> <a>2</a> <b>3</b> - <v>1398</v> + <v>1414</v> </b> <b> <a>3</a> <b>4</b> - <v>512</v> + <v>537</v> </b> <b> <a>4</a> <b>5</b> - <v>211</v> + <v>200</v> </b> <b> <a>5</a> <b>8</b> - <v>226</v> + <v>221</v> </b> <b> <a>8</a> <b>40</b> - <v>80</v> + <v>77</v> </b> </bs> </hist> @@ -6750,32 +6491,32 @@ <b> <a>1</a> <b>2</b> - <v>163</v> + <v>161</v> </b> <b> <a>2</a> <b>3</b> - <v>1398</v> + <v>1414</v> </b> <b> <a>3</a> <b>4</b> - <v>512</v> + <v>537</v> </b> <b> <a>4</a> <b>5</b> - <v>211</v> + <v>200</v> </b> <b> <a>5</a> <b>8</b> - <v>226</v> + <v>221</v> </b> <b> <a>8</a> <b>40</b> - <v>80</v> + <v>77</v> </b> </bs> </hist> @@ -6824,23 +6565,23 @@ <v>3</v> </b> <b> - <a>39</a> - <b>62</b> + <a>37</a> + <b>59</b> <v>3</v> </b> <b> - <a>80</a> - <b>175</b> + <a>77</a> + <b>166</b> <v>3</v> </b> <b> - <a>306</a> - <b>1030</b> + <a>298</a> + <b>1036</b> <v>3</v> </b> <b> - <a>2427</a> - <b>2591</b> + <a>2449</a> + <b>2611</b> <v>2</v> </b> </bs> @@ -6890,23 +6631,23 @@ <v>3</v> </b> <b> - <a>39</a> - <b>62</b> + <a>37</a> + <b>59</b> <v>3</v> </b> <b> - <a>80</a> - <b>175</b> + <a>77</a> + <b>166</b> <v>3</v> </b> <b> - <a>306</a> - <b>1030</b> + <a>298</a> + <b>1036</b> <v>3</v> </b> <b> - <a>2427</a> - <b>2591</b> + <a>2449</a> + <b>2611</b> <v>2</v> </b> </bs> @@ -6923,7 +6664,7 @@ <b> <a>1</a> <b>2</b> - <v>7613</v> + <v>7606</v> </b> </bs> </hist> @@ -6939,7 +6680,7 @@ <b> <a>1</a> <b>2</b> - <v>7613</v> + <v>7606</v> </b> </bs> </hist> @@ -6949,26 +6690,26 @@ </relation> <relation> <name>ruby_begin_def</name> - <cardinality>2590</cardinality> + <cardinality>2610</cardinality> <columnsizes> <e> <k>id</k> - <v>2590</v> + <v>2610</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_binary_def</name> - <cardinality>71864</cardinality> + <cardinality>73665</cardinality> <columnsizes> <e> <k>id</k> - <v>71864</v> + <v>73665</v> </e> <e> <k>left</k> - <v>71864</v> + <v>73665</v> </e> <e> <k>operator</k> @@ -6976,7 +6717,7 @@ </e> <e> <k>right</k> - <v>71864</v> + <v>73665</v> </e> </columnsizes> <dependencies> @@ -6990,7 +6731,7 @@ <b> <a>1</a> <b>2</b> - <v>71864</v> + <v>73665</v> </b> </bs> </hist> @@ -7006,7 +6747,7 @@ <b> <a>1</a> <b>2</b> - <v>71864</v> + <v>73665</v> </b> </bs> </hist> @@ -7022,7 +6763,7 @@ <b> <a>1</a> <b>2</b> - <v>71864</v> + <v>73665</v> </b> </bs> </hist> @@ -7038,7 +6779,7 @@ <b> <a>1</a> <b>2</b> - <v>71864</v> + <v>73665</v> </b> </bs> </hist> @@ -7054,7 +6795,7 @@ <b> <a>1</a> <b>2</b> - <v>71864</v> + <v>73665</v> </b> </bs> </hist> @@ -7070,7 +6811,7 @@ <b> <a>1</a> <b>2</b> - <v>71864</v> + <v>73665</v> </b> </bs> </hist> @@ -7084,68 +6825,68 @@ <budget>12</budget> <bs> <b> - <a>160</a> - <b>169</b> + <a>153</a> + <b>177</b> <v>2</v> </b> <b> - <a>234</a> - <b>408</b> + <a>259</a> + <b>432</b> <v>2</v> </b> <b> - <a>570</a> - <b>596</b> + <a>597</a> + <b>631</b> <v>2</v> </b> <b> - <a>635</a> - <b>657</b> + <a>647</a> + <b>690</b> <v>2</v> </b> <b> - <a>778</a> - <b>974</b> + <a>764</a> + <b>987</b> <v>2</v> </b> <b> - <a>979</a> - <b>1001</b> + <a>1026</a> + <b>1033</b> <v>2</v> </b> <b> - <a>1014</a> - <b>1071</b> + <a>1058</a> + <b>1073</b> <v>2</v> </b> <b> - <a>1233</a> - <b>1270</b> + <a>1169</a> + <b>1190</b> <v>2</v> </b> <b> - <a>1358</a> - <b>1801</b> + <a>1227</a> + <b>1824</b> <v>2</v> </b> <b> - <a>1837</a> - <b>2322</b> + <a>2079</a> + <b>2661</b> <v>2</v> </b> <b> - <a>2691</a> - <b>3561</b> + <a>2747</a> + <b>3491</b> <v>2</v> </b> <b> - <a>6453</a> - <b>7170</b> + <a>6593</a> + <b>7408</b> <v>2</v> </b> <b> - <a>32934</a> - <b>32935</b> + <a>33761</a> + <b>33762</b> <v>1</v> </b> </bs> @@ -7160,68 +6901,68 @@ <budget>12</budget> <bs> <b> - <a>160</a> - <b>169</b> + <a>153</a> + <b>177</b> <v>2</v> </b> <b> - <a>234</a> - <b>408</b> + <a>259</a> + <b>432</b> <v>2</v> </b> <b> - <a>570</a> - <b>596</b> + <a>597</a> + <b>631</b> <v>2</v> </b> <b> - <a>635</a> - <b>657</b> + <a>647</a> + <b>690</b> <v>2</v> </b> <b> - <a>778</a> - <b>974</b> + <a>764</a> + <b>987</b> <v>2</v> </b> <b> - <a>979</a> - <b>1001</b> + <a>1026</a> + <b>1033</b> <v>2</v> </b> <b> - <a>1014</a> - <b>1071</b> + <a>1058</a> + <b>1073</b> <v>2</v> </b> <b> - <a>1233</a> - <b>1270</b> + <a>1169</a> + <b>1190</b> <v>2</v> </b> <b> - <a>1358</a> - <b>1801</b> + <a>1227</a> + <b>1824</b> <v>2</v> </b> <b> - <a>1837</a> - <b>2322</b> + <a>2079</a> + <b>2661</b> <v>2</v> </b> <b> - <a>2691</a> - <b>3561</b> + <a>2747</a> + <b>3491</b> <v>2</v> </b> <b> - <a>6453</a> - <b>7170</b> + <a>6593</a> + <b>7408</b> <v>2</v> </b> <b> - <a>32934</a> - <b>32935</b> + <a>33761</a> + <b>33762</b> <v>1</v> </b> </bs> @@ -7236,68 +6977,68 @@ <budget>12</budget> <bs> <b> - <a>160</a> - <b>169</b> + <a>153</a> + <b>177</b> <v>2</v> </b> <b> - <a>234</a> - <b>408</b> + <a>259</a> + <b>432</b> <v>2</v> </b> <b> - <a>570</a> - <b>596</b> + <a>597</a> + <b>631</b> <v>2</v> </b> <b> - <a>635</a> - <b>657</b> + <a>647</a> + <b>690</b> <v>2</v> </b> <b> - <a>778</a> - <b>974</b> + <a>764</a> + <b>987</b> <v>2</v> </b> <b> - <a>979</a> - <b>1001</b> + <a>1026</a> + <b>1033</b> <v>2</v> </b> <b> - <a>1014</a> - <b>1071</b> + <a>1058</a> + <b>1073</b> <v>2</v> </b> <b> - <a>1233</a> - <b>1270</b> + <a>1169</a> + <b>1190</b> <v>2</v> </b> <b> - <a>1358</a> - <b>1801</b> + <a>1227</a> + <b>1824</b> <v>2</v> </b> <b> - <a>1837</a> - <b>2322</b> + <a>2079</a> + <b>2661</b> <v>2</v> </b> <b> - <a>2691</a> - <b>3561</b> + <a>2747</a> + <b>3491</b> <v>2</v> </b> <b> - <a>6453</a> - <b>7170</b> + <a>6593</a> + <b>7408</b> <v>2</v> </b> <b> - <a>32934</a> - <b>32935</b> + <a>33761</a> + <b>33762</b> <v>1</v> </b> </bs> @@ -7314,7 +7055,7 @@ <b> <a>1</a> <b>2</b> - <v>71864</v> + <v>73665</v> </b> </bs> </hist> @@ -7330,7 +7071,7 @@ <b> <a>1</a> <b>2</b> - <v>71864</v> + <v>73665</v> </b> </bs> </hist> @@ -7346,7 +7087,7 @@ <b> <a>1</a> <b>2</b> - <v>71864</v> + <v>73665</v> </b> </bs> </hist> @@ -7356,15 +7097,15 @@ </relation> <relation> <name>ruby_block_argument_child</name> - <cardinality>6477</cardinality> + <cardinality>6541</cardinality> <columnsizes> <e> <k>ruby_block_argument</k> - <v>6477</v> + <v>6541</v> </e> <e> <k>child</k> - <v>6477</v> + <v>6541</v> </e> </columnsizes> <dependencies> @@ -7378,7 +7119,7 @@ <b> <a>1</a> <b>2</b> - <v>6477</v> + <v>6541</v> </b> </bs> </hist> @@ -7394,7 +7135,7 @@ <b> <a>1</a> <b>2</b> - <v>6477</v> + <v>6541</v> </b> </bs> </hist> @@ -7404,26 +7145,26 @@ </relation> <relation> <name>ruby_block_argument_def</name> - <cardinality>6477</cardinality> + <cardinality>6547</cardinality> <columnsizes> <e> <k>id</k> - <v>6477</v> + <v>6547</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_block_body</name> - <cardinality>101379</cardinality> + <cardinality>103820</cardinality> <columnsizes> <e> <k>ruby_block</k> - <v>101379</v> + <v>103820</v> </e> <e> <k>body</k> - <v>101379</v> + <v>103820</v> </e> </columnsizes> <dependencies> @@ -7437,7 +7178,7 @@ <b> <a>1</a> <b>2</b> - <v>101379</v> + <v>103820</v> </b> </bs> </hist> @@ -7453,7 +7194,7 @@ <b> <a>1</a> <b>2</b> - <v>101379</v> + <v>103820</v> </b> </bs> </hist> @@ -7463,19 +7204,19 @@ </relation> <relation> <name>ruby_block_body_child</name> - <cardinality>101550</cardinality> + <cardinality>103995</cardinality> <columnsizes> <e> <k>ruby_block_body</k> - <v>101379</v> + <v>103820</v> </e> <e> <k>index</k> - <v>52</v> + <v>53</v> </e> <e> <k>child</k> - <v>101550</v> + <v>103995</v> </e> </columnsizes> <dependencies> @@ -7489,12 +7230,12 @@ <b> <a>1</a> <b>2</b> - <v>101260</v> + <v>103699</v> </b> <b> <a>2</a> <b>5</b> - <v>118</v> + <v>121</v> </b> </bs> </hist> @@ -7510,12 +7251,12 @@ <b> <a>1</a> <b>2</b> - <v>101260</v> + <v>103699</v> </b> <b> <a>2</a> <b>5</b> - <v>118</v> + <v>121</v> </b> </bs> </hist> @@ -7539,8 +7280,8 @@ <v>13</v> </b> <b> - <a>7701</a> - <b>7702</b> + <a>7718</a> + <b>7719</b> <v>13</v> </b> </bs> @@ -7565,8 +7306,8 @@ <v>13</v> </b> <b> - <a>7701</a> - <b>7702</b> + <a>7718</a> + <b>7719</b> <v>13</v> </b> </bs> @@ -7583,7 +7324,7 @@ <b> <a>1</a> <b>2</b> - <v>101550</v> + <v>103995</v> </b> </bs> </hist> @@ -7599,7 +7340,7 @@ <b> <a>1</a> <b>2</b> - <v>101550</v> + <v>103995</v> </b> </bs> </hist> @@ -7609,48 +7350,48 @@ </relation> <relation> <name>ruby_block_body_def</name> - <cardinality>101379</cardinality> + <cardinality>103820</cardinality> <columnsizes> <e> <k>id</k> - <v>101379</v> + <v>103820</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_block_def</name> - <cardinality>101695</cardinality> + <cardinality>104143</cardinality> <columnsizes> <e> <k>id</k> - <v>101695</v> + <v>104143</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_block_parameter_def</name> - <cardinality>2569</cardinality> + <cardinality>2543</cardinality> <columnsizes> <e> <k>id</k> - <v>2569</v> + <v>2543</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_block_parameter_name</name> - <cardinality>2569</cardinality> + <cardinality>2537</cardinality> <columnsizes> <e> <k>ruby_block_parameter</k> - <v>2569</v> + <v>2537</v> </e> <e> <k>name</k> - <v>2569</v> + <v>2537</v> </e> </columnsizes> <dependencies> @@ -7664,7 +7405,7 @@ <b> <a>1</a> <b>2</b> - <v>2569</v> + <v>2537</v> </b> </bs> </hist> @@ -7680,7 +7421,7 @@ <b> <a>1</a> <b>2</b> - <v>2569</v> + <v>2537</v> </b> </bs> </hist> @@ -7690,15 +7431,15 @@ </relation> <relation> <name>ruby_block_parameters</name> - <cardinality>10585</cardinality> + <cardinality>10767</cardinality> <columnsizes> <e> <k>ruby_block</k> - <v>10585</v> + <v>10767</v> </e> <e> <k>parameters</k> - <v>10585</v> + <v>10767</v> </e> </columnsizes> <dependencies> @@ -7712,7 +7453,7 @@ <b> <a>1</a> <b>2</b> - <v>10585</v> + <v>10767</v> </b> </bs> </hist> @@ -7728,7 +7469,7 @@ <b> <a>1</a> <b>2</b> - <v>10585</v> + <v>10767</v> </b> </bs> </hist> @@ -7738,19 +7479,19 @@ </relation> <relation> <name>ruby_block_parameters_child</name> - <cardinality>28929</cardinality> + <cardinality>30131</cardinality> <columnsizes> <e> <k>ruby_block_parameters</k> - <v>24941</v> + <v>25884</v> </e> <e> <k>index</k> - <v>15</v> + <v>14</v> </e> <e> <k>child</k> - <v>28929</v> + <v>30131</v> </e> </columnsizes> <dependencies> @@ -7764,17 +7505,17 @@ <b> <a>1</a> <b>2</b> - <v>21362</v> + <v>22189</v> </b> <b> <a>2</a> <b>3</b> - <v>3263</v> + <v>3329</v> </b> <b> <a>3</a> <b>6</b> - <v>316</v> + <v>365</v> </b> </bs> </hist> @@ -7790,17 +7531,17 @@ <b> <a>1</a> <b>2</b> - <v>21362</v> + <v>22189</v> </b> <b> <a>2</a> <b>3</b> - <v>3263</v> + <v>3329</v> </b> <b> <a>3</a> <b>6</b> - <v>316</v> + <v>365</v> </b> </bs> </hist> @@ -7814,29 +7555,29 @@ <budget>12</budget> <bs> <b> - <a>11</a> - <b>12</b> - <v>3</v> + <a>27</a> + <b>28</b> + <v>2</v> </b> <b> - <a>19</a> - <b>20</b> - <v>3</v> + <a>35</a> + <b>36</b> + <v>2</v> </b> <b> - <a>103</a> - <b>104</b> - <v>3</v> + <a>122</a> + <b>123</b> + <v>2</v> </b> <b> - <a>1166</a> - <b>1167</b> - <v>3</v> + <a>1232</a> + <b>1233</b> + <v>2</v> </b> <b> - <a>8125</a> - <b>8126</b> - <v>3</v> + <a>8630</a> + <b>8631</b> + <v>2</v> </b> </bs> </hist> @@ -7850,29 +7591,29 @@ <budget>12</budget> <bs> <b> - <a>11</a> - <b>12</b> - <v>3</v> + <a>27</a> + <b>28</b> + <v>2</v> </b> <b> - <a>19</a> - <b>20</b> - <v>3</v> + <a>35</a> + <b>36</b> + <v>2</v> </b> <b> - <a>103</a> - <b>104</b> - <v>3</v> + <a>122</a> + <b>123</b> + <v>2</v> </b> <b> - <a>1166</a> - <b>1167</b> - <v>3</v> + <a>1232</a> + <b>1233</b> + <v>2</v> </b> <b> - <a>8125</a> - <b>8126</b> - <v>3</v> + <a>8630</a> + <b>8631</b> + <v>2</v> </b> </bs> </hist> @@ -7888,7 +7629,7 @@ <b> <a>1</a> <b>2</b> - <v>28929</v> + <v>30131</v> </b> </bs> </hist> @@ -7904,7 +7645,7 @@ <b> <a>1</a> <b>2</b> - <v>28929</v> + <v>30131</v> </b> </bs> </hist> @@ -7914,11 +7655,11 @@ </relation> <relation> <name>ruby_block_parameters_def</name> - <cardinality>24941</cardinality> + <cardinality>25884</cardinality> <columnsizes> <e> <k>id</k> - <v>24941</v> + <v>25884</v> </e> </columnsizes> <dependencies/> @@ -8061,19 +7802,19 @@ </relation> <relation> <name>ruby_body_statement_child</name> - <cardinality>627527</cardinality> + <cardinality>641142</cardinality> <columnsizes> <e> <k>ruby_body_statement</k> - <v>202481</v> + <v>206879</v> </e> <e> <k>index</k> - <v>1135</v> + <v>1187</v> </e> <e> <k>child</k> - <v>627527</v> + <v>641142</v> </e> </columnsizes> <dependencies> @@ -8087,37 +7828,37 @@ <b> <a>1</a> <b>2</b> - <v>93050</v> + <v>95107</v> </b> <b> <a>2</a> <b>3</b> - <v>37058</v> + <v>37693</v> </b> <b> <a>3</a> <b>4</b> - <v>24051</v> + <v>24510</v> </b> <b> <a>4</a> <b>5</b> - <v>15391</v> + <v>15881</v> </b> <b> <a>5</a> <b>7</b> - <v>15925</v> + <v>16388</v> </b> <b> <a>7</a> <b>23</b> - <v>15269</v> + <v>15560</v> </b> <b> <a>23</a> - <b>371</b> - <v>1734</v> + <b>397</b> + <v>1736</v> </b> </bs> </hist> @@ -8133,37 +7874,37 @@ <b> <a>1</a> <b>2</b> - <v>93050</v> + <v>95107</v> </b> <b> <a>2</a> <b>3</b> - <v>37058</v> + <v>37693</v> </b> <b> <a>3</a> <b>4</b> - <v>24051</v> + <v>24510</v> </b> <b> <a>4</a> <b>5</b> - <v>15391</v> + <v>15881</v> </b> <b> <a>5</a> <b>7</b> - <v>15925</v> + <v>16388</v> </b> <b> <a>7</a> <b>23</b> - <v>15269</v> + <v>15560</v> </b> <b> <a>23</a> - <b>371</b> - <v>1734</v> + <b>397</b> + <v>1736</v> </b> </bs> </hist> @@ -8179,67 +7920,67 @@ <b> <a>1</a> <b>2</b> - <v>79</v> + <v>140</v> </b> <b> <a>2</a> <b>3</b> - <v>119</v> + <v>122</v> </b> <b> <a>3</a> <b>4</b> - <v>76</v> + <v>77</v> </b> <b> <a>4</a> <b>5</b> - <v>85</v> + <v>62</v> </b> <b> <a>5</a> <b>7</b> - <v>79</v> - </b> - <b> - <a>7</a> - <b>10</b> <v>98</v> </b> + <b> + <a>8</a> + <b>10</b> + <v>86</v> + </b> <b> <a>10</a> - <b>14</b> + <b>12</b> + <v>89</v> + </b> + <b> + <a>12</a> + <b>26</b> + <v>95</v> + </b> + <b> + <a>26</a> + <b>42</b> <v>92</v> </b> <b> - <a>14</a> - <b>23</b> + <a>42</a> + <b>77</b> <v>89</v> </b> <b> - <a>24</a> - <b>39</b> - <v>85</v> - </b> - <b> - <a>39</a> - <b>69</b> + <a>80</a> + <b>179</b> <v>89</v> </b> <b> - <a>69</a> - <b>144</b> - <v>85</v> + <a>184</a> + <b>1016</b> + <v>89</v> </b> <b> - <a>144</a> - <b>566</b> - <v>85</v> - </b> - <b> - <a>623</a> - <b>65961</b> - <v>67</v> + <a>1134</a> + <b>68975</b> + <v>47</v> </b> </bs> </hist> @@ -8255,67 +7996,67 @@ <b> <a>1</a> <b>2</b> - <v>79</v> + <v>140</v> </b> <b> <a>2</a> <b>3</b> - <v>119</v> + <v>122</v> </b> <b> <a>3</a> <b>4</b> - <v>76</v> + <v>77</v> </b> <b> <a>4</a> <b>5</b> - <v>85</v> + <v>62</v> </b> <b> <a>5</a> <b>7</b> - <v>79</v> - </b> - <b> - <a>7</a> - <b>10</b> <v>98</v> </b> + <b> + <a>8</a> + <b>10</b> + <v>86</v> + </b> <b> <a>10</a> - <b>14</b> + <b>12</b> + <v>89</v> + </b> + <b> + <a>12</a> + <b>26</b> + <v>95</v> + </b> + <b> + <a>26</a> + <b>42</b> <v>92</v> </b> <b> - <a>14</a> - <b>23</b> + <a>42</a> + <b>77</b> <v>89</v> </b> <b> - <a>24</a> - <b>39</b> - <v>85</v> - </b> - <b> - <a>39</a> - <b>69</b> + <a>80</a> + <b>179</b> <v>89</v> </b> <b> - <a>69</a> - <b>144</b> - <v>85</v> + <a>184</a> + <b>1016</b> + <v>89</v> </b> <b> - <a>144</a> - <b>566</b> - <v>85</v> - </b> - <b> - <a>623</a> - <b>65961</b> - <v>67</v> + <a>1134</a> + <b>68975</b> + <v>47</v> </b> </bs> </hist> @@ -8331,7 +8072,7 @@ <b> <a>1</a> <b>2</b> - <v>627527</v> + <v>641142</v> </b> </bs> </hist> @@ -8347,7 +8088,7 @@ <b> <a>1</a> <b>2</b> - <v>627527</v> + <v>641142</v> </b> </bs> </hist> @@ -8357,26 +8098,26 @@ </relation> <relation> <name>ruby_body_statement_def</name> - <cardinality>208998</cardinality> + <cardinality>213896</cardinality> <columnsizes> <e> <k>id</k> - <v>208998</v> + <v>213896</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_break_child</name> - <cardinality>399</cardinality> + <cardinality>394</cardinality> <columnsizes> <e> <k>ruby_break</k> - <v>399</v> + <v>394</v> </e> <e> <k>child</k> - <v>399</v> + <v>394</v> </e> </columnsizes> <dependencies> @@ -8390,7 +8131,7 @@ <b> <a>1</a> <b>2</b> - <v>399</v> + <v>394</v> </b> </bs> </hist> @@ -8406,7 +8147,7 @@ <b> <a>1</a> <b>2</b> - <v>399</v> + <v>394</v> </b> </bs> </hist> @@ -8416,26 +8157,26 @@ </relation> <relation> <name>ruby_break_def</name> - <cardinality>3434</cardinality> + <cardinality>3414</cardinality> <columnsizes> <e> <k>id</k> - <v>3434</v> + <v>3414</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_call_arguments</name> - <cardinality>688552</cardinality> + <cardinality>703178</cardinality> <columnsizes> <e> <k>ruby_call</k> - <v>688552</v> + <v>703178</v> </e> <e> <k>arguments</k> - <v>688552</v> + <v>703178</v> </e> </columnsizes> <dependencies> @@ -8449,7 +8190,7 @@ <b> <a>1</a> <b>2</b> - <v>688552</v> + <v>703178</v> </b> </bs> </hist> @@ -8465,7 +8206,7 @@ <b> <a>1</a> <b>2</b> - <v>688552</v> + <v>703178</v> </b> </bs> </hist> @@ -8475,15 +8216,15 @@ </relation> <relation> <name>ruby_call_block</name> - <cardinality>240751</cardinality> + <cardinality>246208</cardinality> <columnsizes> <e> <k>ruby_call</k> - <v>240751</v> + <v>246208</v> </e> <e> <k>block</k> - <v>240751</v> + <v>246208</v> </e> </columnsizes> <dependencies> @@ -8497,7 +8238,7 @@ <b> <a>1</a> <b>2</b> - <v>240751</v> + <v>246208</v> </b> </bs> </hist> @@ -8513,7 +8254,7 @@ <b> <a>1</a> <b>2</b> - <v>240751</v> + <v>246208</v> </b> </bs> </hist> @@ -8523,26 +8264,26 @@ </relation> <relation> <name>ruby_call_def</name> - <cardinality>1006605</cardinality> + <cardinality>1027501</cardinality> <columnsizes> <e> <k>id</k> - <v>1006605</v> + <v>1027501</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_call_method</name> - <cardinality>1006605</cardinality> + <cardinality>1027501</cardinality> <columnsizes> <e> <k>ruby_call</k> - <v>1006605</v> + <v>1027501</v> </e> <e> <k>method</k> - <v>1006605</v> + <v>1027501</v> </e> </columnsizes> <dependencies> @@ -8556,7 +8297,7 @@ <b> <a>1</a> <b>2</b> - <v>1006605</v> + <v>1027501</v> </b> </bs> </hist> @@ -8572,7 +8313,7 @@ <b> <a>1</a> <b>2</b> - <v>1006605</v> + <v>1027501</v> </b> </bs> </hist> @@ -8582,15 +8323,15 @@ </relation> <relation> <name>ruby_call_operator</name> - <cardinality>562262</cardinality> + <cardinality>571632</cardinality> <columnsizes> <e> <k>ruby_call</k> - <v>562262</v> + <v>571632</v> </e> <e> <k>operator</k> - <v>562262</v> + <v>571632</v> </e> </columnsizes> <dependencies> @@ -8604,7 +8345,7 @@ <b> <a>1</a> <b>2</b> - <v>562262</v> + <v>571632</v> </b> </bs> </hist> @@ -8620,7 +8361,7 @@ <b> <a>1</a> <b>2</b> - <v>562262</v> + <v>571632</v> </b> </bs> </hist> @@ -8630,15 +8371,15 @@ </relation> <relation> <name>ruby_call_receiver</name> - <cardinality>562262</cardinality> + <cardinality>571632</cardinality> <columnsizes> <e> <k>ruby_call</k> - <v>562262</v> + <v>571632</v> </e> <e> <k>receiver</k> - <v>562262</v> + <v>571632</v> </e> </columnsizes> <dependencies> @@ -8652,7 +8393,7 @@ <b> <a>1</a> <b>2</b> - <v>562262</v> + <v>571632</v> </b> </bs> </hist> @@ -8668,7 +8409,7 @@ <b> <a>1</a> <b>2</b> - <v>562262</v> + <v>571632</v> </b> </bs> </hist> @@ -8678,19 +8419,19 @@ </relation> <relation> <name>ruby_case_child</name> - <cardinality>4349</cardinality> + <cardinality>4685</cardinality> <columnsizes> <e> <k>ruby_case__</k> - <v>1289</v> + <v>1267</v> </e> <e> <k>index</k> - <v>67</v> + <v>86</v> </e> <e> <k>child</k> - <v>4349</v> + <v>4685</v> </e> </columnsizes> <dependencies> @@ -8704,32 +8445,37 @@ <b> <a>1</a> <b>2</b> - <v>36</v> + <v>69</v> </b> <b> <a>2</a> <b>3</b> - <v>328</v> + <v>405</v> </b> <b> <a>3</a> <b>4</b> - <v>546</v> + <v>399</v> </b> <b> <a>4</a> <b>5</b> - <v>202</v> + <v>166</v> </b> <b> <a>5</a> - <b>7</b> - <v>110</v> + <b>6</b> + <v>89</v> </b> <b> - <a>7</a> - <b>23</b> - <v>64</v> + <a>6</a> + <b>12</b> + <v>100</v> + </b> + <b> + <a>12</a> + <b>87</b> + <v>39</v> </b> </bs> </hist> @@ -8745,32 +8491,37 @@ <b> <a>1</a> <b>2</b> - <v>36</v> + <v>69</v> </b> <b> <a>2</a> <b>3</b> - <v>328</v> + <v>405</v> </b> <b> <a>3</a> <b>4</b> - <v>546</v> + <v>399</v> </b> <b> <a>4</a> <b>5</b> - <v>202</v> + <v>166</v> </b> <b> <a>5</a> - <b>7</b> - <v>110</v> + <b>6</b> + <v>89</v> </b> <b> - <a>7</a> - <b>23</b> - <v>64</v> + <a>6</a> + <b>12</b> + <v>100</v> + </b> + <b> + <a>12</a> + <b>87</b> + <v>39</v> </b> </bs> </hist> @@ -8786,42 +8537,37 @@ <b> <a>1</a> <b>2</b> - <v>21</v> + <v>42</v> </b> <b> <a>2</a> <b>3</b> - <v>9</v> + <v>12</v> </b> <b> - <a>4</a> + <a>3</a> <b>6</b> <v>6</v> </b> <b> - <a>8</a> - <b>11</b> - <v>6</v> + <a>6</a> + <b>9</b> + <v>7</v> </b> <b> - <a>14</a> - <b>22</b> - <v>6</v> + <a>9</a> + <b>31</b> + <v>7</v> </b> <b> - <a>33</a> - <b>58</b> - <v>6</v> + <a>39</a> + <b>140</b> + <v>7</v> </b> <b> - <a>123</a> - <b>302</b> - <v>6</v> - </b> - <b> - <a>408</a> - <b>421</b> - <v>6</v> + <a>228</a> + <b>1268</b> + <v>5</v> </b> </bs> </hist> @@ -8837,42 +8583,37 @@ <b> <a>1</a> <b>2</b> - <v>21</v> + <v>42</v> </b> <b> <a>2</a> <b>3</b> - <v>9</v> + <v>12</v> </b> <b> - <a>4</a> + <a>3</a> <b>6</b> <v>6</v> </b> <b> - <a>8</a> - <b>11</b> - <v>6</v> + <a>6</a> + <b>9</b> + <v>7</v> </b> <b> - <a>14</a> - <b>22</b> - <v>6</v> + <a>9</a> + <b>31</b> + <v>7</v> </b> <b> - <a>33</a> - <b>58</b> - <v>6</v> + <a>39</a> + <b>140</b> + <v>7</v> </b> <b> - <a>123</a> - <b>302</b> - <v>6</v> - </b> - <b> - <a>408</a> - <b>421</b> - <v>6</v> + <a>228</a> + <b>1268</b> + <v>5</v> </b> </bs> </hist> @@ -8888,7 +8629,7 @@ <b> <a>1</a> <b>2</b> - <v>4349</v> + <v>4685</v> </b> </bs> </hist> @@ -8904,7 +8645,7 @@ <b> <a>1</a> <b>2</b> - <v>4349</v> + <v>4685</v> </b> </bs> </hist> @@ -8914,22 +8655,22 @@ </relation> <relation> <name>ruby_case_def</name> - <cardinality>1289</cardinality> + <cardinality>1319</cardinality> <columnsizes> <e> <k>id</k> - <v>1289</v> + <v>1319</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_case_match_clauses</name> - <cardinality>385</cardinality> + <cardinality>381</cardinality> <columnsizes> <e> <k>ruby_case_match</k> - <v>234</v> + <v>232</v> </e> <e> <k>index</k> @@ -8937,7 +8678,7 @@ </e> <e> <k>clauses</k> - <v>385</v> + <v>381</v> </e> </columnsizes> <dependencies> @@ -8951,12 +8692,12 @@ <b> <a>1</a> <b>2</b> - <v>161</v> + <v>160</v> </b> <b> <a>2</a> <b>3</b> - <v>41</v> + <v>40</v> </b> <b> <a>3</a> @@ -8982,12 +8723,12 @@ <b> <a>1</a> <b>2</b> - <v>161</v> + <v>160</v> </b> <b> <a>2</a> <b>3</b> - <v>41</v> + <v>40</v> </b> <b> <a>3</a> @@ -9013,17 +8754,12 @@ <b> <a>1</a> <b>2</b> - <v>3</v> + <v>2</v> </b> <b> <a>2</a> <b>3</b> - <v>1</v> - </b> - <b> - <a>4</a> - <b>5</b> - <v>1</v> + <v>3</v> </b> <b> <a>5</a> @@ -9051,13 +8787,13 @@ <v>1</v> </b> <b> - <a>73</a> - <b>74</b> + <a>72</a> + <b>73</b> <v>1</v> </b> <b> - <a>234</a> - <b>235</b> + <a>232</a> + <b>233</b> <v>1</v> </b> </bs> @@ -9074,17 +8810,12 @@ <b> <a>1</a> <b>2</b> - <v>3</v> + <v>2</v> </b> <b> <a>2</a> <b>3</b> - <v>1</v> - </b> - <b> - <a>4</a> - <b>5</b> - <v>1</v> + <v>3</v> </b> <b> <a>5</a> @@ -9112,13 +8843,13 @@ <v>1</v> </b> <b> - <a>73</a> - <b>74</b> + <a>72</a> + <b>73</b> <v>1</v> </b> <b> - <a>234</a> - <b>235</b> + <a>232</a> + <b>233</b> <v>1</v> </b> </bs> @@ -9135,7 +8866,7 @@ <b> <a>1</a> <b>2</b> - <v>385</v> + <v>381</v> </b> </bs> </hist> @@ -9151,7 +8882,7 @@ <b> <a>1</a> <b>2</b> - <v>385</v> + <v>381</v> </b> </bs> </hist> @@ -9161,15 +8892,15 @@ </relation> <relation> <name>ruby_case_match_def</name> - <cardinality>234</cardinality> + <cardinality>232</cardinality> <columnsizes> <e> <k>id</k> - <v>234</v> + <v>232</v> </e> <e> <k>value</k> - <v>234</v> + <v>232</v> </e> </columnsizes> <dependencies> @@ -9183,7 +8914,7 @@ <b> <a>1</a> <b>2</b> - <v>234</v> + <v>232</v> </b> </bs> </hist> @@ -9199,7 +8930,7 @@ <b> <a>1</a> <b>2</b> - <v>234</v> + <v>232</v> </b> </bs> </hist> @@ -9257,15 +8988,15 @@ </relation> <relation> <name>ruby_case_value</name> - <cardinality>1246</cardinality> + <cardinality>1277</cardinality> <columnsizes> <e> <k>ruby_case__</k> - <v>1246</v> + <v>1277</v> </e> <e> <k>value</k> - <v>1246</v> + <v>1277</v> </e> </columnsizes> <dependencies> @@ -9279,7 +9010,7 @@ <b> <a>1</a> <b>2</b> - <v>1246</v> + <v>1277</v> </b> </bs> </hist> @@ -9295,7 +9026,7 @@ <b> <a>1</a> <b>2</b> - <v>1246</v> + <v>1277</v> </b> </bs> </hist> @@ -9305,7 +9036,7 @@ </relation> <relation> <name>ruby_chained_string_child</name> - <cardinality>3346</cardinality> + <cardinality>3320</cardinality> <columnsizes> <e> <k>ruby_chained_string</k> @@ -9313,11 +9044,11 @@ </e> <e> <k>index</k> - <v>36</v> + <v>35</v> </e> <e> <k>child</k> - <v>3346</v> + <v>3320</v> </e> </columnsizes> <dependencies> @@ -9331,32 +9062,32 @@ <b> <a>2</a> <b>3</b> - <v>297</v> + <v>296</v> </b> <b> <a>3</a> <b>4</b> - <v>202</v> + <v>215</v> </b> <b> <a>4</a> <b>5</b> - <v>131</v> + <v>128</v> </b> <b> <a>5</a> <b>6</b> - <v>122</v> + <v>116</v> </b> <b> <a>6</a> <b>8</b> - <v>67</v> + <v>65</v> </b> <b> <a>8</a> <b>13</b> - <v>61</v> + <v>59</v> </b> </bs> </hist> @@ -9372,32 +9103,32 @@ <b> <a>2</a> <b>3</b> - <v>297</v> + <v>296</v> </b> <b> <a>3</a> <b>4</b> - <v>202</v> + <v>215</v> </b> <b> <a>4</a> <b>5</b> - <v>131</v> + <v>128</v> </b> <b> <a>5</a> <b>6</b> - <v>122</v> + <v>116</v> </b> <b> <a>6</a> <b>8</b> - <v>67</v> + <v>65</v> </b> <b> <a>8</a> <b>13</b> - <v>61</v> + <v>59</v> </b> </bs> </hist> @@ -9413,57 +9144,57 @@ <b> <a>2</a> <b>3</b> - <v>3</v> + <v>2</v> </b> <b> <a>4</a> <b>5</b> - <v>3</v> + <v>2</v> </b> <b> <a>7</a> <b>8</b> - <v>3</v> + <v>2</v> </b> <b> <a>8</a> <b>9</b> - <v>3</v> + <v>2</v> </b> <b> <a>20</a> <b>21</b> - <v>3</v> + <v>2</v> </b> <b> <a>33</a> <b>34</b> - <v>3</v> + <v>2</v> </b> <b> <a>42</a> <b>43</b> - <v>3</v> + <v>2</v> </b> <b> - <a>82</a> - <b>83</b> - <v>3</v> + <a>81</a> + <b>82</b> + <v>2</v> </b> <b> - <a>125</a> - <b>126</b> - <v>3</v> + <a>124</a> + <b>125</b> + <v>2</v> </b> <b> - <a>191</a> - <b>192</b> - <v>3</v> + <a>196</a> + <b>197</b> + <v>2</v> </b> <b> - <a>288</a> - <b>289</b> - <v>6</v> + <a>295</a> + <b>296</b> + <v>5</v> </b> </bs> </hist> @@ -9479,57 +9210,57 @@ <b> <a>2</a> <b>3</b> - <v>3</v> + <v>2</v> </b> <b> <a>4</a> <b>5</b> - <v>3</v> + <v>2</v> </b> <b> <a>7</a> <b>8</b> - <v>3</v> + <v>2</v> </b> <b> <a>8</a> <b>9</b> - <v>3</v> + <v>2</v> </b> <b> <a>20</a> <b>21</b> - <v>3</v> + <v>2</v> </b> <b> <a>33</a> <b>34</b> - <v>3</v> + <v>2</v> </b> <b> <a>42</a> <b>43</b> - <v>3</v> + <v>2</v> </b> <b> - <a>82</a> - <b>83</b> - <v>3</v> + <a>81</a> + <b>82</b> + <v>2</v> </b> <b> - <a>125</a> - <b>126</b> - <v>3</v> + <a>124</a> + <b>125</b> + <v>2</v> </b> <b> - <a>191</a> - <b>192</b> - <v>3</v> + <a>196</a> + <b>197</b> + <v>2</v> </b> <b> - <a>288</a> - <b>289</b> - <v>6</v> + <a>295</a> + <b>296</b> + <v>5</v> </b> </bs> </hist> @@ -9545,7 +9276,7 @@ <b> <a>1</a> <b>2</b> - <v>3346</v> + <v>3320</v> </b> </bs> </hist> @@ -9561,7 +9292,7 @@ <b> <a>1</a> <b>2</b> - <v>3346</v> + <v>3320</v> </b> </bs> </hist> @@ -9582,15 +9313,15 @@ </relation> <relation> <name>ruby_class_body</name> - <cardinality>15560</cardinality> + <cardinality>15734</cardinality> <columnsizes> <e> <k>ruby_class</k> - <v>15560</v> + <v>15734</v> </e> <e> <k>body</k> - <v>15560</v> + <v>15734</v> </e> </columnsizes> <dependencies> @@ -9604,7 +9335,7 @@ <b> <a>1</a> <b>2</b> - <v>15560</v> + <v>15734</v> </b> </bs> </hist> @@ -9620,7 +9351,7 @@ <b> <a>1</a> <b>2</b> - <v>15560</v> + <v>15734</v> </b> </bs> </hist> @@ -9630,15 +9361,15 @@ </relation> <relation> <name>ruby_class_def</name> - <cardinality>17258</cardinality> + <cardinality>17441</cardinality> <columnsizes> <e> <k>id</k> - <v>17258</v> + <v>17441</v> </e> <e> <k>name</k> - <v>17258</v> + <v>17441</v> </e> </columnsizes> <dependencies> @@ -9652,7 +9383,7 @@ <b> <a>1</a> <b>2</b> - <v>17258</v> + <v>17441</v> </b> </bs> </hist> @@ -9668,7 +9399,7 @@ <b> <a>1</a> <b>2</b> - <v>17258</v> + <v>17441</v> </b> </bs> </hist> @@ -9678,15 +9409,15 @@ </relation> <relation> <name>ruby_class_superclass</name> - <cardinality>13666</cardinality> + <cardinality>13806</cardinality> <columnsizes> <e> <k>ruby_class</k> - <v>13666</v> + <v>13806</v> </e> <e> <k>superclass</k> - <v>13666</v> + <v>13806</v> </e> </columnsizes> <dependencies> @@ -9700,7 +9431,7 @@ <b> <a>1</a> <b>2</b> - <v>13666</v> + <v>13806</v> </b> </bs> </hist> @@ -9716,7 +9447,7 @@ <b> <a>1</a> <b>2</b> - <v>13666</v> + <v>13806</v> </b> </bs> </hist> @@ -9726,15 +9457,15 @@ </relation> <relation> <name>ruby_complex_def</name> - <cardinality>66</cardinality> + <cardinality>72</cardinality> <columnsizes> <e> <k>id</k> - <v>66</v> + <v>72</v> </e> <e> <k>child</k> - <v>66</v> + <v>72</v> </e> </columnsizes> <dependencies> @@ -9748,7 +9479,7 @@ <b> <a>1</a> <b>2</b> - <v>66</v> + <v>72</v> </b> </bs> </hist> @@ -9764,7 +9495,7 @@ <b> <a>1</a> <b>2</b> - <v>66</v> + <v>72</v> </b> </bs> </hist> @@ -9774,23 +9505,23 @@ </relation> <relation> <name>ruby_conditional_def</name> - <cardinality>2954</cardinality> + <cardinality>2896</cardinality> <columnsizes> <e> <k>id</k> - <v>2954</v> + <v>2896</v> </e> <e> <k>alternative</k> - <v>2954</v> + <v>2896</v> </e> <e> <k>condition</k> - <v>2954</v> + <v>2896</v> </e> <e> <k>consequence</k> - <v>2954</v> + <v>2896</v> </e> </columnsizes> <dependencies> @@ -9804,7 +9535,7 @@ <b> <a>1</a> <b>2</b> - <v>2954</v> + <v>2896</v> </b> </bs> </hist> @@ -9820,7 +9551,7 @@ <b> <a>1</a> <b>2</b> - <v>2954</v> + <v>2896</v> </b> </bs> </hist> @@ -9836,7 +9567,7 @@ <b> <a>1</a> <b>2</b> - <v>2954</v> + <v>2896</v> </b> </bs> </hist> @@ -9852,7 +9583,7 @@ <b> <a>1</a> <b>2</b> - <v>2954</v> + <v>2896</v> </b> </bs> </hist> @@ -9868,7 +9599,7 @@ <b> <a>1</a> <b>2</b> - <v>2954</v> + <v>2896</v> </b> </bs> </hist> @@ -9884,7 +9615,7 @@ <b> <a>1</a> <b>2</b> - <v>2954</v> + <v>2896</v> </b> </bs> </hist> @@ -9900,7 +9631,7 @@ <b> <a>1</a> <b>2</b> - <v>2954</v> + <v>2896</v> </b> </bs> </hist> @@ -9916,7 +9647,7 @@ <b> <a>1</a> <b>2</b> - <v>2954</v> + <v>2896</v> </b> </bs> </hist> @@ -9932,7 +9663,7 @@ <b> <a>1</a> <b>2</b> - <v>2954</v> + <v>2896</v> </b> </bs> </hist> @@ -9948,7 +9679,7 @@ <b> <a>1</a> <b>2</b> - <v>2954</v> + <v>2896</v> </b> </bs> </hist> @@ -9964,7 +9695,7 @@ <b> <a>1</a> <b>2</b> - <v>2954</v> + <v>2896</v> </b> </bs> </hist> @@ -9980,7 +9711,7 @@ <b> <a>1</a> <b>2</b> - <v>2954</v> + <v>2896</v> </b> </bs> </hist> @@ -9990,19 +9721,19 @@ </relation> <relation> <name>ruby_delimited_symbol_child</name> - <cardinality>1749</cardinality> + <cardinality>1742</cardinality> <columnsizes> <e> <k>ruby_delimited_symbol</k> - <v>1258</v> + <v>1247</v> </e> <e> <k>index</k> - <v>24</v> + <v>23</v> </e> <e> <k>child</k> - <v>1749</v> + <v>1742</v> </e> </columnsizes> <dependencies> @@ -10016,7 +9747,7 @@ <b> <a>1</a> <b>2</b> - <v>930</v> + <v>920</v> </b> <b> <a>2</a> @@ -10026,7 +9757,7 @@ <b> <a>3</a> <b>9</b> - <v>73</v> + <v>71</v> </b> </bs> </hist> @@ -10042,7 +9773,7 @@ <b> <a>1</a> <b>2</b> - <v>930</v> + <v>920</v> </b> <b> <a>2</a> @@ -10052,7 +9783,7 @@ <b> <a>3</a> <b>9</b> - <v>73</v> + <v>71</v> </b> </bs> </hist> @@ -10068,42 +9799,42 @@ <b> <a>1</a> <b>2</b> - <v>3</v> + <v>2</v> </b> <b> <a>3</a> <b>4</b> - <v>3</v> + <v>2</v> </b> <b> - <a>5</a> - <b>6</b> - <v>3</v> + <a>6</a> + <b>7</b> + <v>2</v> </b> <b> - <a>8</a> - <b>9</b> - <v>3</v> + <a>9</a> + <b>10</b> + <v>2</v> </b> <b> - <a>12</a> - <b>13</b> - <v>3</v> + <a>13</a> + <b>14</b> + <v>2</v> </b> <b> <a>24</a> <b>25</b> - <v>3</v> + <v>2</v> </b> <b> - <a>107</a> - <b>108</b> - <v>3</v> + <a>109</a> + <b>110</b> + <v>2</v> </b> <b> - <a>410</a> - <b>411</b> - <v>3</v> + <a>416</a> + <b>417</b> + <v>2</v> </b> </bs> </hist> @@ -10119,42 +9850,42 @@ <b> <a>1</a> <b>2</b> - <v>3</v> + <v>2</v> </b> <b> <a>3</a> <b>4</b> - <v>3</v> + <v>2</v> </b> <b> - <a>5</a> - <b>6</b> - <v>3</v> + <a>6</a> + <b>7</b> + <v>2</v> </b> <b> - <a>8</a> - <b>9</b> - <v>3</v> + <a>9</a> + <b>10</b> + <v>2</v> </b> <b> - <a>12</a> - <b>13</b> - <v>3</v> + <a>13</a> + <b>14</b> + <v>2</v> </b> <b> <a>24</a> <b>25</b> - <v>3</v> + <v>2</v> </b> <b> - <a>107</a> - <b>108</b> - <v>3</v> + <a>109</a> + <b>110</b> + <v>2</v> </b> <b> - <a>410</a> - <b>411</b> - <v>3</v> + <a>416</a> + <b>417</b> + <v>2</v> </b> </bs> </hist> @@ -10170,7 +9901,7 @@ <b> <a>1</a> <b>2</b> - <v>1749</v> + <v>1742</v> </b> </bs> </hist> @@ -10186,7 +9917,7 @@ <b> <a>1</a> <b>2</b> - <v>1749</v> + <v>1742</v> </b> </bs> </hist> @@ -10196,22 +9927,22 @@ </relation> <relation> <name>ruby_delimited_symbol_def</name> - <cardinality>1258</cardinality> + <cardinality>1247</cardinality> <columnsizes> <e> <k>id</k> - <v>1258</v> + <v>1247</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_destructured_left_assignment_child</name> - <cardinality>222</cardinality> + <cardinality>226</cardinality> <columnsizes> <e> <k>ruby_destructured_left_assignment</k> - <v>107</v> + <v>108</v> </e> <e> <k>index</k> @@ -10219,7 +9950,7 @@ </e> <e> <k>child</k> - <v>222</v> + <v>226</v> </e> </columnsizes> <dependencies> @@ -10248,7 +9979,7 @@ <b> <a>4</a> <b>5</b> - <v>4</v> + <v>5</v> </b> </bs> </hist> @@ -10279,7 +10010,7 @@ <b> <a>4</a> <b>5</b> - <v>4</v> + <v>5</v> </b> </bs> </hist> @@ -10293,23 +10024,23 @@ <budget>12</budget> <bs> <b> - <a>4</a> - <b>5</b> + <a>5</a> + <b>6</b> <v>1</v> </b> <b> - <a>16</a> - <b>17</b> + <a>17</a> + <b>18</b> <v>1</v> </b> <b> - <a>95</a> - <b>96</b> + <a>96</a> + <b>97</b> <v>1</v> </b> <b> - <a>107</a> - <b>108</b> + <a>108</a> + <b>109</b> <v>1</v> </b> </bs> @@ -10324,23 +10055,23 @@ <budget>12</budget> <bs> <b> - <a>4</a> - <b>5</b> + <a>5</a> + <b>6</b> <v>1</v> </b> <b> - <a>16</a> - <b>17</b> + <a>17</a> + <b>18</b> <v>1</v> </b> <b> - <a>95</a> - <b>96</b> + <a>96</a> + <b>97</b> <v>1</v> </b> <b> - <a>107</a> - <b>108</b> + <a>108</a> + <b>109</b> <v>1</v> </b> </bs> @@ -10357,7 +10088,7 @@ <b> <a>1</a> <b>2</b> - <v>222</v> + <v>226</v> </b> </bs> </hist> @@ -10373,7 +10104,7 @@ <b> <a>1</a> <b>2</b> - <v>222</v> + <v>226</v> </b> </bs> </hist> @@ -10383,22 +10114,22 @@ </relation> <relation> <name>ruby_destructured_left_assignment_def</name> - <cardinality>107</cardinality> + <cardinality>108</cardinality> <columnsizes> <e> <k>id</k> - <v>107</v> + <v>108</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_destructured_parameter_child</name> - <cardinality>424</cardinality> + <cardinality>463</cardinality> <columnsizes> <e> <k>ruby_destructured_parameter</k> - <v>194</v> + <v>208</v> </e> <e> <k>index</k> @@ -10406,7 +10137,7 @@ </e> <e> <k>child</k> - <v>424</v> + <v>463</v> </e> </columnsizes> <dependencies> @@ -10425,7 +10156,7 @@ <b> <a>2</a> <b>3</b> - <v>150</v> + <v>162</v> </b> <b> <a>3</a> @@ -10435,7 +10166,7 @@ <b> <a>4</a> <b>12</b> - <v>9</v> + <v>11</v> </b> </bs> </hist> @@ -10456,7 +10187,7 @@ <b> <a>2</a> <b>3</b> - <v>150</v> + <v>162</v> </b> <b> <a>3</a> @@ -10466,7 +10197,7 @@ <b> <a>4</a> <b>12</b> - <v>9</v> + <v>11</v> </b> </bs> </hist> @@ -10480,38 +10211,38 @@ <budget>12</budget> <bs> <b> - <a>1</a> - <b>2</b> + <a>2</a> + <b>3</b> <v>1</v> </b> <b> - <a>2</a> - <b>3</b> + <a>3</a> + <b>4</b> <v>5</v> </b> <b> - <a>4</a> - <b>5</b> + <a>5</a> + <b>6</b> <v>1</v> </b> <b> - <a>9</a> - <b>10</b> + <a>11</a> + <b>12</b> <v>1</v> </b> <b> - <a>28</a> - <b>29</b> + <a>30</a> + <b>31</b> <v>1</v> </b> <b> - <a>178</a> - <b>179</b> + <a>192</a> + <b>193</b> <v>1</v> </b> <b> - <a>194</a> - <b>195</b> + <a>208</a> + <b>209</b> <v>1</v> </b> </bs> @@ -10526,38 +10257,38 @@ <budget>12</budget> <bs> <b> - <a>1</a> - <b>2</b> + <a>2</a> + <b>3</b> <v>1</v> </b> <b> - <a>2</a> - <b>3</b> + <a>3</a> + <b>4</b> <v>5</v> </b> <b> - <a>4</a> - <b>5</b> + <a>5</a> + <b>6</b> <v>1</v> </b> <b> - <a>9</a> - <b>10</b> + <a>11</a> + <b>12</b> <v>1</v> </b> <b> - <a>28</a> - <b>29</b> + <a>30</a> + <b>31</b> <v>1</v> </b> <b> - <a>178</a> - <b>179</b> + <a>192</a> + <b>193</b> <v>1</v> </b> <b> - <a>194</a> - <b>195</b> + <a>208</a> + <b>209</b> <v>1</v> </b> </bs> @@ -10574,7 +10305,7 @@ <b> <a>1</a> <b>2</b> - <v>424</v> + <v>463</v> </b> </bs> </hist> @@ -10590,7 +10321,7 @@ <b> <a>1</a> <b>2</b> - <v>424</v> + <v>463</v> </b> </bs> </hist> @@ -10600,26 +10331,26 @@ </relation> <relation> <name>ruby_destructured_parameter_def</name> - <cardinality>194</cardinality> + <cardinality>208</cardinality> <columnsizes> <e> <k>id</k> - <v>194</v> + <v>208</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_do_block_body</name> - <cardinality>142294</cardinality> + <cardinality>145373</cardinality> <columnsizes> <e> <k>ruby_do_block</k> - <v>142294</v> + <v>145373</v> </e> <e> <k>body</k> - <v>142294</v> + <v>145373</v> </e> </columnsizes> <dependencies> @@ -10633,7 +10364,7 @@ <b> <a>1</a> <b>2</b> - <v>142294</v> + <v>145373</v> </b> </bs> </hist> @@ -10649,7 +10380,7 @@ <b> <a>1</a> <b>2</b> - <v>142294</v> + <v>145373</v> </b> </bs> </hist> @@ -10659,26 +10390,26 @@ </relation> <relation> <name>ruby_do_block_def</name> - <cardinality>142452</cardinality> + <cardinality>145534</cardinality> <columnsizes> <e> <k>id</k> - <v>142452</v> + <v>145534</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_do_block_parameters</name> - <cardinality>16036</cardinality> + <cardinality>16724</cardinality> <columnsizes> <e> <k>ruby_do_block</k> - <v>16036</v> + <v>16724</v> </e> <e> <k>parameters</k> - <v>16036</v> + <v>16724</v> </e> </columnsizes> <dependencies> @@ -10692,7 +10423,7 @@ <b> <a>1</a> <b>2</b> - <v>16036</v> + <v>16724</v> </b> </bs> </hist> @@ -10708,7 +10439,7 @@ <b> <a>1</a> <b>2</b> - <v>16036</v> + <v>16724</v> </b> </bs> </hist> @@ -10718,11 +10449,11 @@ </relation> <relation> <name>ruby_do_child</name> - <cardinality>9374</cardinality> + <cardinality>9352</cardinality> <columnsizes> <e> <k>ruby_do</k> - <v>1655</v> + <v>1651</v> </e> <e> <k>index</k> @@ -10730,7 +10461,7 @@ </e> <e> <k>child</k> - <v>9374</v> + <v>9352</v> </e> </columnsizes> <dependencies> @@ -10744,37 +10475,37 @@ <b> <a>1</a> <b>2</b> - <v>350</v> + <v>347</v> </b> <b> <a>2</a> <b>3</b> - <v>296</v> + <v>300</v> </b> <b> <a>3</a> <b>4</b> - <v>200</v> + <v>204</v> </b> <b> <a>4</a> - <b>5</b> - <v>77</v> + <b>6</b> + <v>149</v> </b> <b> - <a>5</a> + <a>6</a> <b>7</b> - <v>106</v> + <v>25</v> </b> <b> <a>7</a> <b>8</b> - <v>140</v> + <v>137</v> </b> <b> <a>8</a> <b>9</b> - <v>206</v> + <v>209</v> </b> <b> <a>9</a> @@ -10805,37 +10536,37 @@ <b> <a>1</a> <b>2</b> - <v>350</v> + <v>347</v> </b> <b> <a>2</a> <b>3</b> - <v>296</v> + <v>300</v> </b> <b> <a>3</a> <b>4</b> - <v>200</v> + <v>204</v> </b> <b> <a>4</a> - <b>5</b> - <v>77</v> + <b>6</b> + <v>149</v> </b> <b> - <a>5</a> + <a>6</a> <b>7</b> - <v>106</v> + <v>25</v> </b> <b> <a>7</a> <b>8</b> - <v>140</v> + <v>137</v> </b> <b> <a>8</a> <b>9</b> - <v>206</v> + <v>209</v> </b> <b> <a>9</a> @@ -10890,7 +10621,7 @@ </b> <b> <a>116</a> - <b>1656</b> + <b>1652</b> <v>15</v> </b> </bs> @@ -10931,7 +10662,7 @@ </b> <b> <a>116</a> - <b>1656</b> + <b>1652</b> <v>15</v> </b> </bs> @@ -10948,7 +10679,7 @@ <b> <a>1</a> <b>2</b> - <v>9374</v> + <v>9352</v> </b> </bs> </hist> @@ -10964,7 +10695,7 @@ <b> <a>1</a> <b>2</b> - <v>9374</v> + <v>9352</v> </b> </bs> </hist> @@ -10974,30 +10705,30 @@ </relation> <relation> <name>ruby_do_def</name> - <cardinality>1681</cardinality> + <cardinality>1675</cardinality> <columnsizes> <e> <k>id</k> - <v>1681</v> + <v>1675</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_element_reference_child</name> - <cardinality>80931</cardinality> + <cardinality>82748</cardinality> <columnsizes> <e> <k>ruby_element_reference</k> - <v>80773</v> + <v>82601</v> </e> <e> <k>index</k> - <v>5</v> + <v>4</v> </e> <e> <k>child</k> - <v>80931</v> + <v>82748</v> </e> </columnsizes> <dependencies> @@ -11011,12 +10742,12 @@ <b> <a>1</a> <b>2</b> - <v>80615</v> + <v>82455</v> </b> <b> <a>2</a> <b>3</b> - <v>157</v> + <v>146</v> </b> </bs> </hist> @@ -11032,12 +10763,12 @@ <b> <a>1</a> <b>2</b> - <v>80615</v> + <v>82455</v> </b> <b> <a>2</a> <b>3</b> - <v>157</v> + <v>146</v> </b> </bs> </hist> @@ -11056,8 +10787,8 @@ <v>2</v> </b> <b> - <a>31710</a> - <b>31711</b> + <a>34958</a> + <b>34959</b> <v>2</v> </b> </bs> @@ -11077,8 +10808,8 @@ <v>2</v> </b> <b> - <a>31710</a> - <b>31711</b> + <a>34958</a> + <b>34959</b> <v>2</v> </b> </bs> @@ -11095,7 +10826,7 @@ <b> <a>1</a> <b>2</b> - <v>80931</v> + <v>82748</v> </b> </bs> </hist> @@ -11111,7 +10842,7 @@ <b> <a>1</a> <b>2</b> - <v>80931</v> + <v>82748</v> </b> </bs> </hist> @@ -11121,15 +10852,15 @@ </relation> <relation> <name>ruby_element_reference_def</name> - <cardinality>80778</cardinality> + <cardinality>82606</cardinality> <columnsizes> <e> <k>id</k> - <v>80778</v> + <v>82606</v> </e> <e> <k>object</k> - <v>80778</v> + <v>82606</v> </e> </columnsizes> <dependencies> @@ -11143,7 +10874,7 @@ <b> <a>1</a> <b>2</b> - <v>80778</v> + <v>82606</v> </b> </bs> </hist> @@ -11159,7 +10890,7 @@ <b> <a>1</a> <b>2</b> - <v>80778</v> + <v>82606</v> </b> </bs> </hist> @@ -11169,19 +10900,19 @@ </relation> <relation> <name>ruby_else_child</name> - <cardinality>9507</cardinality> + <cardinality>9730</cardinality> <columnsizes> <e> <k>ruby_else</k> - <v>7493</v> + <v>7669</v> </e> <e> <k>index</k> - <v>33</v> + <v>32</v> </e> <e> <k>child</k> - <v>9507</v> + <v>9730</v> </e> </columnsizes> <dependencies> @@ -11195,17 +10926,17 @@ <b> <a>1</a> <b>2</b> - <v>6305</v> + <v>6454</v> </b> <b> <a>2</a> <b>3</b> - <v>742</v> + <v>758</v> </b> <b> <a>3</a> <b>12</b> - <v>445</v> + <v>455</v> </b> </bs> </hist> @@ -11221,17 +10952,17 @@ <b> <a>1</a> <b>2</b> - <v>6305</v> + <v>6454</v> </b> <b> <a>2</a> <b>3</b> - <v>742</v> + <v>758</v> </b> <b> <a>3</a> <b>12</b> - <v>445</v> + <v>455</v> </b> </bs> </hist> @@ -11247,57 +10978,57 @@ <b> <a>1</a> <b>2</b> - <v>3</v> - </b> - <b> - <a>3</a> - <b>4</b> - <v>3</v> + <v>2</v> </b> <b> <a>4</a> <b>5</b> - <v>3</v> + <v>2</v> </b> <b> <a>5</a> <b>6</b> - <v>3</v> + <v>2</v> + </b> + <b> + <a>6</a> + <b>7</b> + <v>2</v> </b> <b> <a>9</a> <b>10</b> - <v>3</v> + <v>2</v> </b> <b> <a>15</a> <b>16</b> - <v>3</v> + <v>2</v> </b> <b> <a>26</a> <b>27</b> - <v>3</v> + <v>2</v> </b> <b> - <a>61</a> - <b>62</b> - <v>3</v> + <a>64</a> + <b>65</b> + <v>2</v> </b> <b> - <a>145</a> - <b>146</b> - <v>3</v> + <a>152</a> + <b>153</b> + <v>2</v> </b> <b> - <a>387</a> - <b>388</b> - <v>3</v> + <a>405</a> + <b>406</b> + <v>2</v> </b> <b> - <a>2441</a> - <b>2442</b> - <v>3</v> + <a>2557</a> + <b>2558</b> + <v>2</v> </b> </bs> </hist> @@ -11313,57 +11044,57 @@ <b> <a>1</a> <b>2</b> - <v>3</v> - </b> - <b> - <a>3</a> - <b>4</b> - <v>3</v> + <v>2</v> </b> <b> <a>4</a> <b>5</b> - <v>3</v> + <v>2</v> </b> <b> <a>5</a> <b>6</b> - <v>3</v> + <v>2</v> + </b> + <b> + <a>6</a> + <b>7</b> + <v>2</v> </b> <b> <a>9</a> <b>10</b> - <v>3</v> + <v>2</v> </b> <b> <a>15</a> <b>16</b> - <v>3</v> + <v>2</v> </b> <b> <a>26</a> <b>27</b> - <v>3</v> + <v>2</v> </b> <b> - <a>61</a> - <b>62</b> - <v>3</v> + <a>64</a> + <b>65</b> + <v>2</v> </b> <b> - <a>145</a> - <b>146</b> - <v>3</v> + <a>152</a> + <b>153</b> + <v>2</v> </b> <b> - <a>387</a> - <b>388</b> - <v>3</v> + <a>405</a> + <b>406</b> + <v>2</v> </b> <b> - <a>2441</a> - <b>2442</b> - <v>3</v> + <a>2557</a> + <b>2558</b> + <v>2</v> </b> </bs> </hist> @@ -11379,7 +11110,7 @@ <b> <a>1</a> <b>2</b> - <v>9507</v> + <v>9730</v> </b> </bs> </hist> @@ -11395,7 +11126,7 @@ <b> <a>1</a> <b>2</b> - <v>9507</v> + <v>9730</v> </b> </bs> </hist> @@ -11405,26 +11136,26 @@ </relation> <relation> <name>ruby_else_def</name> - <cardinality>7505</cardinality> + <cardinality>7681</cardinality> <columnsizes> <e> <k>id</k> - <v>7505</v> + <v>7681</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_elsif_alternative</name> - <cardinality>982</cardinality> + <cardinality>1058</cardinality> <columnsizes> <e> <k>ruby_elsif</k> - <v>982</v> + <v>1058</v> </e> <e> <k>alternative</k> - <v>982</v> + <v>1058</v> </e> </columnsizes> <dependencies> @@ -11438,7 +11169,7 @@ <b> <a>1</a> <b>2</b> - <v>982</v> + <v>1058</v> </b> </bs> </hist> @@ -11454,7 +11185,7 @@ <b> <a>1</a> <b>2</b> - <v>982</v> + <v>1058</v> </b> </bs> </hist> @@ -11464,15 +11195,15 @@ </relation> <relation> <name>ruby_elsif_consequence</name> - <cardinality>1505</cardinality> + <cardinality>1571</cardinality> <columnsizes> <e> <k>ruby_elsif</k> - <v>1505</v> + <v>1571</v> </e> <e> <k>consequence</k> - <v>1505</v> + <v>1571</v> </e> </columnsizes> <dependencies> @@ -11486,7 +11217,7 @@ <b> <a>1</a> <b>2</b> - <v>1505</v> + <v>1571</v> </b> </bs> </hist> @@ -11502,7 +11233,7 @@ <b> <a>1</a> <b>2</b> - <v>1505</v> + <v>1571</v> </b> </bs> </hist> @@ -11512,15 +11243,15 @@ </relation> <relation> <name>ruby_elsif_def</name> - <cardinality>1510</cardinality> + <cardinality>1583</cardinality> <columnsizes> <e> <k>id</k> - <v>1510</v> + <v>1583</v> </e> <e> <k>condition</k> - <v>1510</v> + <v>1583</v> </e> </columnsizes> <dependencies> @@ -11534,7 +11265,7 @@ <b> <a>1</a> <b>2</b> - <v>1510</v> + <v>1583</v> </b> </bs> </hist> @@ -11550,7 +11281,7 @@ <b> <a>1</a> <b>2</b> - <v>1510</v> + <v>1583</v> </b> </bs> </hist> @@ -11568,7 +11299,7 @@ </e> <e> <k>index</k> - <v>9</v> + <v>10</v> </e> <e> <k>child</k> @@ -11586,12 +11317,12 @@ <b> <a>1</a> <b>2</b> - <v>7</v> + <v>8</v> </b> <b> <a>2</a> <b>3</b> - <v>4</v> + <v>3</v> </b> <b> <a>3</a> @@ -11599,8 +11330,8 @@ <v>1</v> </b> <b> - <a>9</a> - <b>10</b> + <a>10</a> + <b>11</b> <v>1</v> </b> </bs> @@ -11617,12 +11348,12 @@ <b> <a>1</a> <b>2</b> - <v>7</v> + <v>8</v> </b> <b> <a>2</a> <b>3</b> - <v>4</v> + <v>3</v> </b> <b> <a>3</a> @@ -11630,8 +11361,8 @@ <v>1</v> </b> <b> - <a>9</a> - <b>10</b> + <a>10</a> + <b>11</b> <v>1</v> </b> </bs> @@ -11648,7 +11379,7 @@ <b> <a>1</a> <b>2</b> - <v>6</v> + <v>7</v> </b> <b> <a>2</a> @@ -11656,8 +11387,8 @@ <v>1</v> </b> <b> - <a>6</a> - <b>7</b> + <a>5</a> + <b>6</b> <v>1</v> </b> <b> @@ -11679,7 +11410,7 @@ <b> <a>1</a> <b>2</b> - <v>6</v> + <v>7</v> </b> <b> <a>2</a> @@ -11687,8 +11418,8 @@ <v>1</v> </b> <b> - <a>6</a> - <b>7</b> + <a>5</a> + <b>6</b> <v>1</v> </b> <b> @@ -11747,19 +11478,19 @@ </relation> <relation> <name>ruby_ensure_child</name> - <cardinality>5114</cardinality> + <cardinality>5236</cardinality> <columnsizes> <e> <k>ruby_ensure</k> - <v>3981</v> + <v>4106</v> </e> <e> <k>index</k> - <v>49</v> + <v>47</v> </e> <e> <k>child</k> - <v>5114</v> + <v>5236</v> </e> </columnsizes> <dependencies> @@ -11773,17 +11504,17 @@ <b> <a>1</a> <b>2</b> - <v>3204</v> + <v>3323</v> </b> <b> <a>2</a> <b>3</b> - <v>543</v> + <v>554</v> </b> <b> <a>3</a> <b>17</b> - <v>233</v> + <v>227</v> </b> </bs> </hist> @@ -11799,17 +11530,17 @@ <b> <a>1</a> <b>2</b> - <v>3204</v> + <v>3323</v> </b> <b> <a>2</a> <b>3</b> - <v>543</v> + <v>554</v> </b> <b> <a>3</a> <b>17</b> - <v>233</v> + <v>227</v> </b> </bs> </hist> @@ -11825,42 +11556,42 @@ <b> <a>1</a> <b>2</b> - <v>24</v> + <v>23</v> </b> <b> <a>3</a> <b>4</b> - <v>6</v> + <v>5</v> </b> <b> <a>4</a> <b>5</b> - <v>3</v> + <v>2</v> </b> <b> <a>5</a> <b>6</b> - <v>3</v> + <v>2</v> </b> <b> <a>17</a> <b>18</b> - <v>3</v> + <v>2</v> </b> <b> <a>76</a> <b>77</b> - <v>3</v> + <v>2</v> </b> <b> - <a>253</a> - <b>254</b> - <v>3</v> + <a>261</a> + <b>262</b> + <v>2</v> </b> <b> - <a>1297</a> - <b>1298</b> - <v>3</v> + <a>1369</a> + <b>1370</b> + <v>2</v> </b> </bs> </hist> @@ -11876,42 +11607,42 @@ <b> <a>1</a> <b>2</b> - <v>24</v> + <v>23</v> </b> <b> <a>3</a> <b>4</b> - <v>6</v> + <v>5</v> </b> <b> <a>4</a> <b>5</b> - <v>3</v> + <v>2</v> </b> <b> <a>5</a> <b>6</b> - <v>3</v> + <v>2</v> </b> <b> <a>17</a> <b>18</b> - <v>3</v> + <v>2</v> </b> <b> <a>76</a> <b>77</b> - <v>3</v> + <v>2</v> </b> <b> - <a>253</a> - <b>254</b> - <v>3</v> + <a>261</a> + <b>262</b> + <v>2</v> </b> <b> - <a>1297</a> - <b>1298</b> - <v>3</v> + <a>1369</a> + <b>1370</b> + <v>2</v> </b> </bs> </hist> @@ -11927,7 +11658,7 @@ <b> <a>1</a> <b>2</b> - <v>5114</v> + <v>5236</v> </b> </bs> </hist> @@ -11943,7 +11674,7 @@ <b> <a>1</a> <b>2</b> - <v>5114</v> + <v>5236</v> </b> </bs> </hist> @@ -11953,26 +11684,26 @@ </relation> <relation> <name>ruby_ensure_def</name> - <cardinality>3981</cardinality> + <cardinality>4106</cardinality> <columnsizes> <e> <k>id</k> - <v>3981</v> + <v>4106</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_exception_variable_def</name> - <cardinality>924</cardinality> + <cardinality>935</cardinality> <columnsizes> <e> <k>id</k> - <v>924</v> + <v>935</v> </e> <e> <k>child</k> - <v>924</v> + <v>935</v> </e> </columnsizes> <dependencies> @@ -11986,7 +11717,7 @@ <b> <a>1</a> <b>2</b> - <v>924</v> + <v>935</v> </b> </bs> </hist> @@ -12002,7 +11733,7 @@ <b> <a>1</a> <b>2</b> - <v>924</v> + <v>935</v> </b> </bs> </hist> @@ -12012,19 +11743,19 @@ </relation> <relation> <name>ruby_exceptions_child</name> - <cardinality>2188</cardinality> + <cardinality>2128</cardinality> <columnsizes> <e> <k>ruby_exceptions</k> - <v>1938</v> + <v>1904</v> </e> <e> <k>index</k> - <v>20</v> + <v>11</v> </e> <e> <k>child</k> - <v>2188</v> + <v>2128</v> </e> </columnsizes> <dependencies> @@ -12038,17 +11769,17 @@ <b> <a>1</a> <b>2</b> - <v>1770</v> + <v>1748</v> </b> <b> <a>2</a> - <b>4</b> - <v>152</v> + <b>5</b> + <v>153</v> </b> <b> - <a>4</a> - <b>9</b> - <v>15</v> + <a>5</a> + <b>6</b> + <v>2</v> </b> </bs> </hist> @@ -12064,17 +11795,17 @@ <b> <a>1</a> <b>2</b> - <v>1770</v> + <v>1748</v> </b> <b> <a>2</a> - <b>4</b> - <v>152</v> + <b>5</b> + <v>153</v> </b> <b> - <a>4</a> - <b>9</b> - <v>15</v> + <a>5</a> + <b>6</b> + <v>2</v> </b> </bs> </hist> @@ -12090,11 +11821,6 @@ <b> <a>1</a> <b>2</b> - <v>7</v> - </b> - <b> - <a>2</a> - <b>3</b> <v>2</v> </b> <b> @@ -12103,8 +11829,8 @@ <v>2</v> </b> <b> - <a>21</a> - <b>22</b> + <a>22</a> + <b>23</b> <v>2</v> </b> <b> @@ -12113,8 +11839,8 @@ <v>2</v> </b> <b> - <a>761</a> - <b>762</b> + <a>806</a> + <b>807</b> <v>2</v> </b> </bs> @@ -12131,11 +11857,6 @@ <b> <a>1</a> <b>2</b> - <v>7</v> - </b> - <b> - <a>2</a> - <b>3</b> <v>2</v> </b> <b> @@ -12144,8 +11865,8 @@ <v>2</v> </b> <b> - <a>21</a> - <b>22</b> + <a>22</a> + <b>23</b> <v>2</v> </b> <b> @@ -12154,8 +11875,8 @@ <v>2</v> </b> <b> - <a>761</a> - <b>762</b> + <a>806</a> + <b>807</b> <v>2</v> </b> </bs> @@ -12172,7 +11893,7 @@ <b> <a>1</a> <b>2</b> - <v>2188</v> + <v>2128</v> </b> </bs> </hist> @@ -12188,7 +11909,7 @@ <b> <a>1</a> <b>2</b> - <v>2188</v> + <v>2128</v> </b> </bs> </hist> @@ -12198,11 +11919,11 @@ </relation> <relation> <name>ruby_exceptions_def</name> - <cardinality>1938</cardinality> + <cardinality>1904</cardinality> <columnsizes> <e> <k>id</k> - <v>1938</v> + <v>1904</v> </e> </columnsizes> <dependencies/> @@ -12452,23 +12173,23 @@ </relation> <relation> <name>ruby_for_def</name> - <cardinality>158</cardinality> + <cardinality>136</cardinality> <columnsizes> <e> <k>id</k> - <v>158</v> + <v>136</v> </e> <e> <k>body</k> - <v>158</v> + <v>136</v> </e> <e> <k>pattern</k> - <v>158</v> + <v>136</v> </e> <e> <k>value</k> - <v>158</v> + <v>136</v> </e> </columnsizes> <dependencies> @@ -12482,7 +12203,7 @@ <b> <a>1</a> <b>2</b> - <v>158</v> + <v>136</v> </b> </bs> </hist> @@ -12498,7 +12219,7 @@ <b> <a>1</a> <b>2</b> - <v>158</v> + <v>136</v> </b> </bs> </hist> @@ -12514,7 +12235,7 @@ <b> <a>1</a> <b>2</b> - <v>158</v> + <v>136</v> </b> </bs> </hist> @@ -12530,7 +12251,7 @@ <b> <a>1</a> <b>2</b> - <v>158</v> + <v>136</v> </b> </bs> </hist> @@ -12546,7 +12267,7 @@ <b> <a>1</a> <b>2</b> - <v>158</v> + <v>136</v> </b> </bs> </hist> @@ -12562,7 +12283,7 @@ <b> <a>1</a> <b>2</b> - <v>158</v> + <v>136</v> </b> </bs> </hist> @@ -12578,7 +12299,7 @@ <b> <a>1</a> <b>2</b> - <v>158</v> + <v>136</v> </b> </bs> </hist> @@ -12594,7 +12315,7 @@ <b> <a>1</a> <b>2</b> - <v>158</v> + <v>136</v> </b> </bs> </hist> @@ -12610,7 +12331,7 @@ <b> <a>1</a> <b>2</b> - <v>158</v> + <v>136</v> </b> </bs> </hist> @@ -12626,7 +12347,7 @@ <b> <a>1</a> <b>2</b> - <v>158</v> + <v>136</v> </b> </bs> </hist> @@ -12642,7 +12363,7 @@ <b> <a>1</a> <b>2</b> - <v>158</v> + <v>136</v> </b> </bs> </hist> @@ -12658,7 +12379,7 @@ <b> <a>1</a> <b>2</b> - <v>158</v> + <v>136</v> </b> </bs> </hist> @@ -12668,19 +12389,19 @@ </relation> <relation> <name>ruby_hash_child</name> - <cardinality>93915</cardinality> + <cardinality>96207</cardinality> <columnsizes> <e> <k>ruby_hash</k> - <v>37005</v> + <v>37893</v> </e> <e> <k>index</k> - <v>1408</v> + <v>1439</v> </e> <e> <k>child</k> - <v>93915</v> + <v>96207</v> </e> </columnsizes> <dependencies> @@ -12694,32 +12415,32 @@ <b> <a>1</a> <b>2</b> - <v>15244</v> + <v>15577</v> </b> <b> <a>2</a> <b>3</b> - <v>10347</v> + <v>10573</v> </b> <b> <a>3</a> <b>4</b> - <v>4146</v> + <v>4318</v> </b> <b> <a>4</a> <b>5</b> - <v>4291</v> + <v>4385</v> </b> <b> <a>5</a> <b>20</b> - <v>2817</v> + <v>2878</v> </b> <b> <a>20</a> <b>108</b> - <v>157</v> + <v>161</v> </b> </bs> </hist> @@ -12735,32 +12456,32 @@ <b> <a>1</a> <b>2</b> - <v>15244</v> + <v>15577</v> </b> <b> <a>2</a> <b>3</b> - <v>10347</v> + <v>10573</v> </b> <b> <a>3</a> <b>4</b> - <v>4146</v> + <v>4318</v> </b> <b> <a>4</a> <b>5</b> - <v>4291</v> + <v>4385</v> </b> <b> <a>5</a> <b>20</b> - <v>2817</v> + <v>2878</v> </b> <b> <a>20</a> <b>108</b> - <v>157</v> + <v>161</v> </b> </bs> </hist> @@ -12776,41 +12497,41 @@ <b> <a>1</a> <b>2</b> - <v>355</v> + <v>363</v> </b> <b> <a>2</a> <b>3</b> - <v>250</v> + <v>255</v> </b> <b> <a>3</a> <b>4</b> - <v>329</v> + <v>336</v> </b> <b> <a>5</a> <b>6</b> - <v>105</v> + <v>107</v> </b> <b> <a>7</a> <b>13</b> - <v>118</v> + <v>121</v> </b> <b> <a>16</a> <b>55</b> - <v>118</v> + <v>121</v> </b> <b> <a>59</a> - <b>1654</b> - <v>118</v> + <b>1660</b> + <v>121</v> </b> <b> - <a>2811</a> - <b>2812</b> + <a>2817</a> + <b>2818</b> <v>13</v> </b> </bs> @@ -12827,41 +12548,41 @@ <b> <a>1</a> <b>2</b> - <v>355</v> + <v>363</v> </b> <b> <a>2</a> <b>3</b> - <v>250</v> + <v>255</v> </b> <b> <a>3</a> <b>4</b> - <v>329</v> + <v>336</v> </b> <b> <a>5</a> <b>6</b> - <v>105</v> + <v>107</v> </b> <b> <a>7</a> <b>13</b> - <v>118</v> + <v>121</v> </b> <b> <a>16</a> <b>55</b> - <v>118</v> + <v>121</v> </b> <b> <a>59</a> - <b>1654</b> - <v>118</v> + <b>1660</b> + <v>121</v> </b> <b> - <a>2811</a> - <b>2812</b> + <a>2817</a> + <b>2818</b> <v>13</v> </b> </bs> @@ -12878,7 +12599,7 @@ <b> <a>1</a> <b>2</b> - <v>93915</v> + <v>96207</v> </b> </bs> </hist> @@ -12894,7 +12615,7 @@ <b> <a>1</a> <b>2</b> - <v>93915</v> + <v>96207</v> </b> </bs> </hist> @@ -12904,22 +12625,22 @@ </relation> <relation> <name>ruby_hash_def</name> - <cardinality>40888</cardinality> + <cardinality>41915</cardinality> <columnsizes> <e> <k>id</k> - <v>40888</v> + <v>41915</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_hash_pattern_child</name> - <cardinality>98</cardinality> + <cardinality>94</cardinality> <columnsizes> <e> <k>ruby_hash_pattern</k> - <v>70</v> + <v>68</v> </e> <e> <k>index</k> @@ -12927,7 +12648,7 @@ </e> <e> <k>child</k> - <v>98</v> + <v>94</v> </e> </columnsizes> <dependencies> @@ -12946,7 +12667,7 @@ <b> <a>2</a> <b>3</b> - <v>14</v> + <v>12</v> </b> <b> <a>3</a> @@ -12972,7 +12693,7 @@ <b> <a>2</a> <b>3</b> - <v>14</v> + <v>12</v> </b> <b> <a>3</a> @@ -13001,13 +12722,13 @@ <v>1</v> </b> <b> - <a>20</a> - <b>21</b> + <a>18</a> + <b>19</b> <v>1</v> </b> <b> - <a>70</a> - <b>71</b> + <a>68</a> + <b>69</b> <v>1</v> </b> </bs> @@ -13032,13 +12753,13 @@ <v>1</v> </b> <b> - <a>20</a> - <b>21</b> + <a>18</a> + <b>19</b> <v>1</v> </b> <b> - <a>70</a> - <b>71</b> + <a>68</a> + <b>69</b> <v>1</v> </b> </bs> @@ -13055,7 +12776,7 @@ <b> <a>1</a> <b>2</b> - <v>98</v> + <v>94</v> </b> </bs> </hist> @@ -13071,7 +12792,7 @@ <b> <a>1</a> <b>2</b> - <v>98</v> + <v>94</v> </b> </bs> </hist> @@ -13081,15 +12802,15 @@ </relation> <relation> <name>ruby_hash_pattern_class</name> - <cardinality>9</cardinality> + <cardinality>32</cardinality> <columnsizes> <e> <k>ruby_hash_pattern</k> - <v>9</v> + <v>32</v> </e> <e> <k>class</k> - <v>9</v> + <v>32</v> </e> </columnsizes> <dependencies> @@ -13103,7 +12824,7 @@ <b> <a>1</a> <b>2</b> - <v>9</v> + <v>32</v> </b> </bs> </hist> @@ -13119,7 +12840,7 @@ <b> <a>1</a> <b>2</b> - <v>9</v> + <v>32</v> </b> </bs> </hist> @@ -13129,26 +12850,26 @@ </relation> <relation> <name>ruby_hash_pattern_def</name> - <cardinality>75</cardinality> + <cardinality>73</cardinality> <columnsizes> <e> <k>id</k> - <v>75</v> + <v>73</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_hash_splat_argument_child</name> - <cardinality>1902</cardinality> + <cardinality>1988</cardinality> <columnsizes> <e> <k>ruby_hash_splat_argument</k> - <v>1902</v> + <v>1988</v> </e> <e> <k>child</k> - <v>1902</v> + <v>1988</v> </e> </columnsizes> <dependencies> @@ -13162,7 +12883,7 @@ <b> <a>1</a> <b>2</b> - <v>1902</v> + <v>1988</v> </b> </bs> </hist> @@ -13178,7 +12899,7 @@ <b> <a>1</a> <b>2</b> - <v>1902</v> + <v>1988</v> </b> </bs> </hist> @@ -13188,37 +12909,37 @@ </relation> <relation> <name>ruby_hash_splat_argument_def</name> - <cardinality>1902</cardinality> + <cardinality>1989</cardinality> <columnsizes> <e> <k>id</k> - <v>1902</v> + <v>1989</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_hash_splat_parameter_def</name> - <cardinality>1596</cardinality> + <cardinality>1574</cardinality> <columnsizes> <e> <k>id</k> - <v>1596</v> + <v>1574</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_hash_splat_parameter_name</name> - <cardinality>1366</cardinality> + <cardinality>1352</cardinality> <columnsizes> <e> <k>ruby_hash_splat_parameter</k> - <v>1366</v> + <v>1352</v> </e> <e> <k>name</k> - <v>1366</v> + <v>1352</v> </e> </columnsizes> <dependencies> @@ -13232,7 +12953,7 @@ <b> <a>1</a> <b>2</b> - <v>1366</v> + <v>1352</v> </b> </bs> </hist> @@ -13248,7 +12969,7 @@ <b> <a>1</a> <b>2</b> - <v>1366</v> + <v>1352</v> </b> </bs> </hist> @@ -13258,19 +12979,19 @@ </relation> <relation> <name>ruby_heredoc_body_child</name> - <cardinality>26162</cardinality> + <cardinality>26244</cardinality> <columnsizes> <e> <k>ruby_heredoc_body</k> - <v>5519</v> + <v>5817</v> </e> <e> <k>index</k> - <v>552</v> + <v>512</v> </e> <e> <k>child</k> - <v>26162</v> + <v>26244</v> </e> </columnsizes> <dependencies> @@ -13284,12 +13005,12 @@ <b> <a>2</a> <b>3</b> - <v>3156</v> + <v>3504</v> </b> <b> <a>4</a> <b>5</b> - <v>692</v> + <v>701</v> </b> <b> <a>5</a> @@ -13299,7 +13020,7 @@ <b> <a>6</a> <b>7</b> - <v>720</v> + <v>675</v> </b> <b> <a>7</a> @@ -13308,13 +13029,13 @@ </b> <b> <a>10</a> - <b>15</b> - <v>415</v> + <b>17</b> + <v>467</v> </b> <b> - <a>16</a> + <a>17</a> <b>218</b> - <v>203</v> + <v>137</v> </b> </bs> </hist> @@ -13330,12 +13051,12 @@ <b> <a>2</a> <b>3</b> - <v>3156</v> + <v>3504</v> </b> <b> <a>4</a> <b>5</b> - <v>692</v> + <v>701</v> </b> <b> <a>5</a> @@ -13345,7 +13066,7 @@ <b> <a>6</a> <b>7</b> - <v>720</v> + <v>675</v> </b> <b> <a>7</a> @@ -13354,13 +13075,13 @@ </b> <b> <a>10</a> - <b>15</b> - <v>415</v> + <b>17</b> + <v>467</v> </b> <b> - <a>16</a> + <a>17</a> <b>218</b> - <v>203</v> + <v>137</v> </b> </bs> </hist> @@ -13376,32 +13097,32 @@ <b> <a>1</a> <b>2</b> - <v>326</v> + <v>302</v> </b> <b> <a>2</a> <b>3</b> - <v>43</v> + <v>40</v> </b> <b> <a>3</a> <b>5</b> - <v>50</v> + <v>47</v> </b> <b> <a>5</a> - <b>11</b> - <v>43</v> + <b>13</b> + <v>40</v> </b> <b> - <a>11</a> - <b>46</b> - <v>43</v> + <a>13</a> + <b>43</b> + <v>40</v> </b> <b> - <a>57</a> - <b>2168</b> - <v>45</v> + <a>56</a> + <b>2463</b> + <v>42</v> </b> </bs> </hist> @@ -13417,32 +13138,32 @@ <b> <a>1</a> <b>2</b> - <v>326</v> + <v>302</v> </b> <b> <a>2</a> <b>3</b> - <v>43</v> + <v>40</v> </b> <b> <a>3</a> <b>5</b> - <v>50</v> + <v>47</v> </b> <b> <a>5</a> - <b>11</b> - <v>43</v> + <b>13</b> + <v>40</v> </b> <b> - <a>11</a> - <b>46</b> - <v>43</v> + <a>13</a> + <b>43</b> + <v>40</v> </b> <b> - <a>57</a> - <b>2168</b> - <v>45</v> + <a>56</a> + <b>2463</b> + <v>42</v> </b> </bs> </hist> @@ -13458,7 +13179,7 @@ <b> <a>1</a> <b>2</b> - <v>26162</v> + <v>26244</v> </b> </bs> </hist> @@ -13474,7 +13195,7 @@ <b> <a>1</a> <b>2</b> - <v>26162</v> + <v>26244</v> </b> </bs> </hist> @@ -13484,26 +13205,26 @@ </relation> <relation> <name>ruby_heredoc_body_def</name> - <cardinality>6178</cardinality> + <cardinality>6934</cardinality> <columnsizes> <e> <k>id</k> - <v>6178</v> + <v>6934</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_if_alternative</name> - <cardinality>7005</cardinality> + <cardinality>7192</cardinality> <columnsizes> <e> <k>ruby_if</k> - <v>7005</v> + <v>7192</v> </e> <e> <k>alternative</k> - <v>7005</v> + <v>7192</v> </e> </columnsizes> <dependencies> @@ -13517,7 +13238,7 @@ <b> <a>1</a> <b>2</b> - <v>7005</v> + <v>7192</v> </b> </bs> </hist> @@ -13533,7 +13254,7 @@ <b> <a>1</a> <b>2</b> - <v>7005</v> + <v>7192</v> </b> </bs> </hist> @@ -13543,15 +13264,15 @@ </relation> <relation> <name>ruby_if_consequence</name> - <cardinality>16338</cardinality> + <cardinality>16117</cardinality> <columnsizes> <e> <k>ruby_if</k> - <v>16338</v> + <v>16117</v> </e> <e> <k>consequence</k> - <v>16338</v> + <v>16117</v> </e> </columnsizes> <dependencies> @@ -13565,7 +13286,7 @@ <b> <a>1</a> <b>2</b> - <v>16338</v> + <v>16117</v> </b> </bs> </hist> @@ -13581,7 +13302,7 @@ <b> <a>1</a> <b>2</b> - <v>16338</v> + <v>16117</v> </b> </bs> </hist> @@ -13591,15 +13312,15 @@ </relation> <relation> <name>ruby_if_def</name> - <cardinality>16391</cardinality> + <cardinality>16164</cardinality> <columnsizes> <e> <k>id</k> - <v>16391</v> + <v>16164</v> </e> <e> <k>condition</k> - <v>16391</v> + <v>16164</v> </e> </columnsizes> <dependencies> @@ -13613,7 +13334,7 @@ <b> <a>1</a> <b>2</b> - <v>16391</v> + <v>16164</v> </b> </bs> </hist> @@ -13629,7 +13350,7 @@ <b> <a>1</a> <b>2</b> - <v>16391</v> + <v>16164</v> </b> </bs> </hist> @@ -13687,19 +13408,19 @@ </relation> <relation> <name>ruby_if_modifier_def</name> - <cardinality>14611</cardinality> + <cardinality>14541</cardinality> <columnsizes> <e> <k>id</k> - <v>14611</v> + <v>14541</v> </e> <e> <k>body</k> - <v>14611</v> + <v>14541</v> </e> <e> <k>condition</k> - <v>14611</v> + <v>14541</v> </e> </columnsizes> <dependencies> @@ -13713,7 +13434,7 @@ <b> <a>1</a> <b>2</b> - <v>14611</v> + <v>14541</v> </b> </bs> </hist> @@ -13729,7 +13450,7 @@ <b> <a>1</a> <b>2</b> - <v>14611</v> + <v>14541</v> </b> </bs> </hist> @@ -13745,7 +13466,7 @@ <b> <a>1</a> <b>2</b> - <v>14611</v> + <v>14541</v> </b> </bs> </hist> @@ -13761,7 +13482,7 @@ <b> <a>1</a> <b>2</b> - <v>14611</v> + <v>14541</v> </b> </bs> </hist> @@ -13777,7 +13498,7 @@ <b> <a>1</a> <b>2</b> - <v>14611</v> + <v>14541</v> </b> </bs> </hist> @@ -13793,7 +13514,7 @@ <b> <a>1</a> <b>2</b> - <v>14611</v> + <v>14541</v> </b> </bs> </hist> @@ -13803,15 +13524,15 @@ </relation> <relation> <name>ruby_in_clause_body</name> - <cardinality>345</cardinality> + <cardinality>341</cardinality> <columnsizes> <e> <k>ruby_in_clause</k> - <v>345</v> + <v>341</v> </e> <e> <k>body</k> - <v>345</v> + <v>341</v> </e> </columnsizes> <dependencies> @@ -13825,7 +13546,7 @@ <b> <a>1</a> <b>2</b> - <v>345</v> + <v>341</v> </b> </bs> </hist> @@ -13841,7 +13562,7 @@ <b> <a>1</a> <b>2</b> - <v>345</v> + <v>341</v> </b> </bs> </hist> @@ -13851,15 +13572,15 @@ </relation> <relation> <name>ruby_in_clause_def</name> - <cardinality>385</cardinality> + <cardinality>381</cardinality> <columnsizes> <e> <k>id</k> - <v>385</v> + <v>381</v> </e> <e> <k>pattern</k> - <v>385</v> + <v>381</v> </e> </columnsizes> <dependencies> @@ -13873,7 +13594,7 @@ <b> <a>1</a> <b>2</b> - <v>385</v> + <v>381</v> </b> </bs> </hist> @@ -13889,7 +13610,7 @@ <b> <a>1</a> <b>2</b> - <v>385</v> + <v>381</v> </b> </bs> </hist> @@ -13947,15 +13668,15 @@ </relation> <relation> <name>ruby_in_def</name> - <cardinality>158</cardinality> + <cardinality>136</cardinality> <columnsizes> <e> <k>id</k> - <v>158</v> + <v>136</v> </e> <e> <k>child</k> - <v>158</v> + <v>136</v> </e> </columnsizes> <dependencies> @@ -13969,7 +13690,7 @@ <b> <a>1</a> <b>2</b> - <v>158</v> + <v>136</v> </b> </bs> </hist> @@ -13985,7 +13706,7 @@ <b> <a>1</a> <b>2</b> - <v>158</v> + <v>136</v> </b> </bs> </hist> @@ -13995,11 +13716,11 @@ </relation> <relation> <name>ruby_interpolation_child</name> - <cardinality>38305</cardinality> + <cardinality>38493</cardinality> <columnsizes> <e> <k>ruby_interpolation</k> - <v>38305</v> + <v>38493</v> </e> <e> <k>index</k> @@ -14007,7 +13728,7 @@ </e> <e> <k>child</k> - <v>38305</v> + <v>38493</v> </e> </columnsizes> <dependencies> @@ -14021,7 +13742,7 @@ <b> <a>1</a> <b>2</b> - <v>38305</v> + <v>38493</v> </b> </bs> </hist> @@ -14037,7 +13758,7 @@ <b> <a>1</a> <b>2</b> - <v>38305</v> + <v>38493</v> </b> </bs> </hist> @@ -14051,8 +13772,8 @@ <budget>12</budget> <bs> <b> - <a>15038</a> - <b>15039</b> + <a>16291</a> + <b>16292</b> <v>2</v> </b> </bs> @@ -14067,8 +13788,8 @@ <budget>12</budget> <bs> <b> - <a>15038</a> - <b>15039</b> + <a>16291</a> + <b>16292</b> <v>2</v> </b> </bs> @@ -14085,7 +13806,7 @@ <b> <a>1</a> <b>2</b> - <v>38305</v> + <v>38493</v> </b> </bs> </hist> @@ -14101,7 +13822,7 @@ <b> <a>1</a> <b>2</b> - <v>38305</v> + <v>38493</v> </b> </bs> </hist> @@ -14111,26 +13832,26 @@ </relation> <relation> <name>ruby_interpolation_def</name> - <cardinality>38305</cardinality> + <cardinality>38493</cardinality> <columnsizes> <e> <k>id</k> - <v>38305</v> + <v>38493</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_keyword_parameter_def</name> - <cardinality>4144</cardinality> + <cardinality>4763</cardinality> <columnsizes> <e> <k>id</k> - <v>4144</v> + <v>4763</v> </e> <e> <k>name</k> - <v>4144</v> + <v>4763</v> </e> </columnsizes> <dependencies> @@ -14144,7 +13865,7 @@ <b> <a>1</a> <b>2</b> - <v>4144</v> + <v>4763</v> </b> </bs> </hist> @@ -14160,7 +13881,7 @@ <b> <a>1</a> <b>2</b> - <v>4144</v> + <v>4763</v> </b> </bs> </hist> @@ -14170,15 +13891,15 @@ </relation> <relation> <name>ruby_keyword_parameter_value</name> - <cardinality>3100</cardinality> + <cardinality>3293</cardinality> <columnsizes> <e> <k>ruby_keyword_parameter</k> - <v>3100</v> + <v>3293</v> </e> <e> <k>value</k> - <v>3100</v> + <v>3293</v> </e> </columnsizes> <dependencies> @@ -14192,7 +13913,7 @@ <b> <a>1</a> <b>2</b> - <v>3100</v> + <v>3293</v> </b> </bs> </hist> @@ -14208,7 +13929,7 @@ <b> <a>1</a> <b>2</b> - <v>3100</v> + <v>3293</v> </b> </bs> </hist> @@ -14218,15 +13939,15 @@ </relation> <relation> <name>ruby_keyword_pattern_def</name> - <cardinality>80</cardinality> + <cardinality>77</cardinality> <columnsizes> <e> <k>id</k> - <v>80</v> + <v>77</v> </e> <e> <k>key__</k> - <v>80</v> + <v>77</v> </e> </columnsizes> <dependencies> @@ -14240,7 +13961,7 @@ <b> <a>1</a> <b>2</b> - <v>80</v> + <v>77</v> </b> </bs> </hist> @@ -14256,7 +13977,7 @@ <b> <a>1</a> <b>2</b> - <v>80</v> + <v>77</v> </b> </bs> </hist> @@ -14266,15 +13987,15 @@ </relation> <relation> <name>ruby_keyword_pattern_value</name> - <cardinality>40</cardinality> + <cardinality>56</cardinality> <columnsizes> <e> <k>ruby_keyword_pattern</k> - <v>40</v> + <v>56</v> </e> <e> <k>value</k> - <v>40</v> + <v>56</v> </e> </columnsizes> <dependencies> @@ -14288,7 +14009,7 @@ <b> <a>1</a> <b>2</b> - <v>40</v> + <v>56</v> </b> </bs> </hist> @@ -14304,7 +14025,7 @@ <b> <a>1</a> <b>2</b> - <v>40</v> + <v>56</v> </b> </bs> </hist> @@ -14314,15 +14035,15 @@ </relation> <relation> <name>ruby_lambda_def</name> - <cardinality>7948</cardinality> + <cardinality>8187</cardinality> <columnsizes> <e> <k>id</k> - <v>7948</v> + <v>8187</v> </e> <e> <k>body</k> - <v>7948</v> + <v>8187</v> </e> </columnsizes> <dependencies> @@ -14336,7 +14057,7 @@ <b> <a>1</a> <b>2</b> - <v>7948</v> + <v>8187</v> </b> </bs> </hist> @@ -14352,7 +14073,7 @@ <b> <a>1</a> <b>2</b> - <v>7948</v> + <v>8187</v> </b> </bs> </hist> @@ -14362,15 +14083,15 @@ </relation> <relation> <name>ruby_lambda_parameters</name> - <cardinality>1762</cardinality> + <cardinality>1811</cardinality> <columnsizes> <e> <k>ruby_lambda</k> - <v>1762</v> + <v>1811</v> </e> <e> <k>parameters</k> - <v>1762</v> + <v>1811</v> </e> </columnsizes> <dependencies> @@ -14384,7 +14105,7 @@ <b> <a>1</a> <b>2</b> - <v>1762</v> + <v>1811</v> </b> </bs> </hist> @@ -14400,7 +14121,7 @@ <b> <a>1</a> <b>2</b> - <v>1762</v> + <v>1811</v> </b> </bs> </hist> @@ -14410,11 +14131,11 @@ </relation> <relation> <name>ruby_lambda_parameters_child</name> - <cardinality>2109</cardinality> + <cardinality>2197</cardinality> <columnsizes> <e> <k>ruby_lambda_parameters</k> - <v>1752</v> + <v>1801</v> </e> <e> <k>index</k> @@ -14422,7 +14143,7 @@ </e> <e> <k>child</k> - <v>2109</v> + <v>2197</v> </e> </columnsizes> <dependencies> @@ -14436,17 +14157,17 @@ <b> <a>1</a> <b>2</b> - <v>1514</v> + <v>1545</v> </b> <b> <a>2</a> <b>3</b> - <v>167</v> + <v>164</v> </b> <b> <a>3</a> <b>9</b> - <v>71</v> + <v>92</v> </b> </bs> </hist> @@ -14462,17 +14183,17 @@ <b> <a>1</a> <b>2</b> - <v>1514</v> + <v>1545</v> </b> <b> <a>2</a> <b>3</b> - <v>167</v> + <v>164</v> </b> <b> <a>3</a> <b>9</b> - <v>71</v> + <v>92</v> </b> </bs> </hist> @@ -14511,18 +14232,18 @@ <v>1</v> </b> <b> - <a>71</a> - <b>72</b> + <a>92</a> + <b>93</b> <v>1</v> </b> <b> - <a>238</a> - <b>239</b> + <a>256</a> + <b>257</b> <v>1</v> </b> <b> - <a>1752</a> - <b>1753</b> + <a>1801</a> + <b>1802</b> <v>1</v> </b> </bs> @@ -14562,18 +14283,18 @@ <v>1</v> </b> <b> - <a>71</a> - <b>72</b> + <a>92</a> + <b>93</b> <v>1</v> </b> <b> - <a>238</a> - <b>239</b> + <a>256</a> + <b>257</b> <v>1</v> </b> <b> - <a>1752</a> - <b>1753</b> + <a>1801</a> + <b>1802</b> <v>1</v> </b> </bs> @@ -14590,7 +14311,7 @@ <b> <a>1</a> <b>2</b> - <v>2109</v> + <v>2197</v> </b> </bs> </hist> @@ -14606,7 +14327,7 @@ <b> <a>1</a> <b>2</b> - <v>2109</v> + <v>2197</v> </b> </bs> </hist> @@ -14616,22 +14337,22 @@ </relation> <relation> <name>ruby_lambda_parameters_def</name> - <cardinality>1762</cardinality> + <cardinality>1811</cardinality> <columnsizes> <e> <k>id</k> - <v>1762</v> + <v>1811</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_left_assignment_list_child</name> - <cardinality>6610</cardinality> + <cardinality>6934</cardinality> <columnsizes> <e> <k>ruby_left_assignment_list</k> - <v>2994</v> + <v>3100</v> </e> <e> <k>index</k> @@ -14639,7 +14360,7 @@ </e> <e> <k>child</k> - <v>6610</v> + <v>6934</v> </e> </columnsizes> <dependencies> @@ -14653,22 +14374,22 @@ <b> <a>1</a> <b>2</b> - <v>372</v> + <v>382</v> </b> <b> <a>2</a> <b>3</b> - <v>1951</v> + <v>2002</v> </b> <b> <a>3</a> <b>4</b> - <v>505</v> + <v>531</v> </b> <b> <a>4</a> <b>16</b> - <v>166</v> + <v>185</v> </b> </bs> </hist> @@ -14684,22 +14405,22 @@ <b> <a>1</a> <b>2</b> - <v>372</v> + <v>382</v> </b> <b> <a>2</a> <b>3</b> - <v>1951</v> + <v>2002</v> </b> <b> <a>3</a> <b>4</b> - <v>505</v> + <v>531</v> </b> <b> <a>4</a> <b>16</b> - <v>166</v> + <v>185</v> </b> </bs> </hist> @@ -14713,63 +14434,63 @@ <budget>12</budget> <bs> <b> - <a>2</a> - <b>3</b> + <a>3</a> + <b>4</b> <v>1</v> </b> - <b> - <a>4</a> - <b>5</b> - <v>2</v> - </b> <b> <a>6</a> <b>7</b> - <v>3</v> + <v>2</v> </b> <b> <a>10</a> <b>11</b> + <v>3</v> + </b> + <b> + <a>15</a> + <b>16</b> <v>1</v> </b> <b> - <a>14</a> - <b>15</b> + <a>20</a> + <b>21</b> <v>1</v> </b> <b> - <a>16</a> - <b>17</b> + <a>22</a> + <b>23</b> <v>1</v> </b> <b> - <a>30</a> - <b>31</b> + <a>41</a> + <b>42</b> <v>1</v> </b> <b> - <a>59</a> - <b>60</b> + <a>72</a> + <b>73</b> <v>1</v> </b> <b> - <a>166</a> - <b>167</b> + <a>185</a> + <b>186</b> <v>1</v> </b> <b> - <a>671</a> - <b>672</b> + <a>716</a> + <b>717</b> <v>1</v> </b> <b> - <a>2622</a> - <b>2623</b> + <a>2718</a> + <b>2719</b> <v>1</v> </b> <b> - <a>2994</a> - <b>2995</b> + <a>3100</a> + <b>3101</b> <v>1</v> </b> </bs> @@ -14784,63 +14505,63 @@ <budget>12</budget> <bs> <b> - <a>2</a> - <b>3</b> + <a>3</a> + <b>4</b> <v>1</v> </b> - <b> - <a>4</a> - <b>5</b> - <v>2</v> - </b> <b> <a>6</a> <b>7</b> - <v>3</v> + <v>2</v> </b> <b> <a>10</a> <b>11</b> + <v>3</v> + </b> + <b> + <a>15</a> + <b>16</b> <v>1</v> </b> <b> - <a>14</a> - <b>15</b> + <a>20</a> + <b>21</b> <v>1</v> </b> <b> - <a>16</a> - <b>17</b> + <a>22</a> + <b>23</b> <v>1</v> </b> <b> - <a>30</a> - <b>31</b> + <a>41</a> + <b>42</b> <v>1</v> </b> <b> - <a>59</a> - <b>60</b> + <a>72</a> + <b>73</b> <v>1</v> </b> <b> - <a>166</a> - <b>167</b> + <a>185</a> + <b>186</b> <v>1</v> </b> <b> - <a>671</a> - <b>672</b> + <a>716</a> + <b>717</b> <v>1</v> </b> <b> - <a>2622</a> - <b>2623</b> + <a>2718</a> + <b>2719</b> <v>1</v> </b> <b> - <a>2994</a> - <b>2995</b> + <a>3100</a> + <b>3101</b> <v>1</v> </b> </bs> @@ -14857,7 +14578,7 @@ <b> <a>1</a> <b>2</b> - <v>6610</v> + <v>6934</v> </b> </bs> </hist> @@ -14873,7 +14594,7 @@ <b> <a>1</a> <b>2</b> - <v>6610</v> + <v>6934</v> </b> </bs> </hist> @@ -14883,11 +14604,11 @@ </relation> <relation> <name>ruby_left_assignment_list_def</name> - <cardinality>2994</cardinality> + <cardinality>3100</cardinality> <columnsizes> <e> <k>id</k> - <v>2994</v> + <v>3100</v> </e> </columnsizes> <dependencies/> @@ -15010,15 +14731,15 @@ </relation> <relation> <name>ruby_method_body</name> - <cardinality>101013</cardinality> + <cardinality>102401</cardinality> <columnsizes> <e> <k>ruby_method</k> - <v>101013</v> + <v>102401</v> </e> <e> <k>body</k> - <v>101013</v> + <v>102401</v> </e> </columnsizes> <dependencies> @@ -15032,7 +14753,7 @@ <b> <a>1</a> <b>2</b> - <v>101013</v> + <v>102401</v> </b> </bs> </hist> @@ -15048,7 +14769,7 @@ <b> <a>1</a> <b>2</b> - <v>101013</v> + <v>102401</v> </b> </bs> </hist> @@ -15058,15 +14779,15 @@ </relation> <relation> <name>ruby_method_def</name> - <cardinality>102124</cardinality> + <cardinality>103532</cardinality> <columnsizes> <e> <k>id</k> - <v>102124</v> + <v>103532</v> </e> <e> <k>name</k> - <v>102124</v> + <v>103532</v> </e> </columnsizes> <dependencies> @@ -15080,7 +14801,7 @@ <b> <a>1</a> <b>2</b> - <v>102124</v> + <v>103532</v> </b> </bs> </hist> @@ -15096,7 +14817,7 @@ <b> <a>1</a> <b>2</b> - <v>102124</v> + <v>103532</v> </b> </bs> </hist> @@ -15106,15 +14827,15 @@ </relation> <relation> <name>ruby_method_parameters</name> - <cardinality>29141</cardinality> + <cardinality>29519</cardinality> <columnsizes> <e> <k>ruby_method</k> - <v>29141</v> + <v>29519</v> </e> <e> <k>parameters</k> - <v>29141</v> + <v>29519</v> </e> </columnsizes> <dependencies> @@ -15128,7 +14849,7 @@ <b> <a>1</a> <b>2</b> - <v>29141</v> + <v>29519</v> </b> </bs> </hist> @@ -15144,7 +14865,7 @@ <b> <a>1</a> <b>2</b> - <v>29141</v> + <v>29519</v> </b> </bs> </hist> @@ -15154,19 +14875,19 @@ </relation> <relation> <name>ruby_method_parameters_child</name> - <cardinality>50543</cardinality> + <cardinality>51112</cardinality> <columnsizes> <e> <k>ruby_method_parameters</k> - <v>30620</v> + <v>31001</v> </e> <e> <k>index</k> - <v>39</v> + <v>41</v> </e> <e> <k>child</k> - <v>50543</v> + <v>51112</v> </e> </columnsizes> <dependencies> @@ -15180,22 +14901,22 @@ <b> <a>1</a> <b>2</b> - <v>18615</v> + <v>18836</v> </b> <b> <a>2</a> <b>3</b> - <v>7339</v> + <v>7543</v> </b> <b> <a>3</a> <b>4</b> - <v>2903</v> + <v>2840</v> </b> <b> <a>4</a> - <b>14</b> - <v>1762</v> + <b>15</b> + <v>1781</v> </b> </bs> </hist> @@ -15211,22 +14932,22 @@ <b> <a>1</a> <b>2</b> - <v>18615</v> + <v>18836</v> </b> <b> <a>2</a> <b>3</b> - <v>7339</v> + <v>7543</v> </b> <b> <a>3</a> <b>4</b> - <v>2903</v> + <v>2840</v> </b> <b> <a>4</a> - <b>14</b> - <v>1762</v> + <b>15</b> + <v>1781</v> </b> </bs> </hist> @@ -15242,62 +14963,62 @@ <b> <a>1</a> <b>2</b> - <v>6</v> + <v>8</v> </b> <b> <a>4</a> <b>5</b> - <v>3</v> + <v>2</v> </b> <b> - <a>5</a> - <b>6</b> - <v>3</v> + <a>7</a> + <b>8</b> + <v>2</v> </b> <b> - <a>11</a> - <b>12</b> - <v>3</v> + <a>13</a> + <b>14</b> + <v>2</v> </b> <b> - <a>29</a> - <b>30</b> - <v>3</v> + <a>37</a> + <b>38</b> + <v>2</v> </b> <b> - <a>54</a> - <b>55</b> - <v>3</v> + <a>59</a> + <b>60</b> + <v>2</v> </b> <b> - <a>125</a> - <b>126</b> - <v>3</v> + <a>129</a> + <b>130</b> + <v>2</v> </b> <b> - <a>255</a> - <b>256</b> - <v>3</v> + <a>262</a> + <b>263</b> + <v>2</v> </b> <b> - <a>574</a> - <b>575</b> - <v>3</v> + <a>594</a> + <b>595</b> + <v>2</v> </b> <b> - <a>1520</a> - <b>1521</b> - <v>3</v> + <a>1541</a> + <b>1542</b> + <v>2</v> </b> <b> - <a>3911</a> - <b>3912</b> - <v>3</v> + <a>4056</a> + <b>4057</b> + <v>2</v> </b> <b> - <a>9975</a> - <b>9976</b> - <v>3</v> + <a>10336</a> + <b>10337</b> + <v>2</v> </b> </bs> </hist> @@ -15313,62 +15034,62 @@ <b> <a>1</a> <b>2</b> - <v>6</v> + <v>8</v> </b> <b> <a>4</a> <b>5</b> - <v>3</v> + <v>2</v> </b> <b> - <a>5</a> - <b>6</b> - <v>3</v> + <a>7</a> + <b>8</b> + <v>2</v> </b> <b> - <a>11</a> - <b>12</b> - <v>3</v> + <a>13</a> + <b>14</b> + <v>2</v> </b> <b> - <a>29</a> - <b>30</b> - <v>3</v> + <a>37</a> + <b>38</b> + <v>2</v> </b> <b> - <a>54</a> - <b>55</b> - <v>3</v> + <a>59</a> + <b>60</b> + <v>2</v> </b> <b> - <a>125</a> - <b>126</b> - <v>3</v> + <a>129</a> + <b>130</b> + <v>2</v> </b> <b> - <a>255</a> - <b>256</b> - <v>3</v> + <a>262</a> + <b>263</b> + <v>2</v> </b> <b> - <a>574</a> - <b>575</b> - <v>3</v> + <a>594</a> + <b>595</b> + <v>2</v> </b> <b> - <a>1520</a> - <b>1521</b> - <v>3</v> + <a>1541</a> + <b>1542</b> + <v>2</v> </b> <b> - <a>3911</a> - <b>3912</b> - <v>3</v> + <a>4056</a> + <b>4057</b> + <v>2</v> </b> <b> - <a>9975</a> - <b>9976</b> - <v>3</v> + <a>10336</a> + <b>10337</b> + <v>2</v> </b> </bs> </hist> @@ -15384,7 +15105,7 @@ <b> <a>1</a> <b>2</b> - <v>50543</v> + <v>51112</v> </b> </bs> </hist> @@ -15400,7 +15121,7 @@ <b> <a>1</a> <b>2</b> - <v>50543</v> + <v>51112</v> </b> </bs> </hist> @@ -15410,26 +15131,26 @@ </relation> <relation> <name>ruby_method_parameters_def</name> - <cardinality>30832</cardinality> + <cardinality>31208</cardinality> <columnsizes> <e> <k>id</k> - <v>30832</v> + <v>31208</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_module_body</name> - <cardinality>22274</cardinality> + <cardinality>22881</cardinality> <columnsizes> <e> <k>ruby_module</k> - <v>22274</v> + <v>22881</v> </e> <e> <k>body</k> - <v>22274</v> + <v>22881</v> </e> </columnsizes> <dependencies> @@ -15443,7 +15164,7 @@ <b> <a>1</a> <b>2</b> - <v>22274</v> + <v>22881</v> </b> </bs> </hist> @@ -15459,7 +15180,7 @@ <b> <a>1</a> <b>2</b> - <v>22274</v> + <v>22881</v> </b> </bs> </hist> @@ -15469,15 +15190,15 @@ </relation> <relation> <name>ruby_module_def</name> - <cardinality>22353</cardinality> + <cardinality>22962</cardinality> <columnsizes> <e> <k>id</k> - <v>22353</v> + <v>22962</v> </e> <e> <k>name</k> - <v>22353</v> + <v>22962</v> </e> </columnsizes> <dependencies> @@ -15491,7 +15212,7 @@ <b> <a>1</a> <b>2</b> - <v>22353</v> + <v>22962</v> </b> </bs> </hist> @@ -15507,7 +15228,7 @@ <b> <a>1</a> <b>2</b> - <v>22353</v> + <v>22962</v> </b> </bs> </hist> @@ -15517,15 +15238,15 @@ </relation> <relation> <name>ruby_next_child</name> - <cardinality>241</cardinality> + <cardinality>256</cardinality> <columnsizes> <e> <k>ruby_next</k> - <v>241</v> + <v>256</v> </e> <e> <k>child</k> - <v>241</v> + <v>256</v> </e> </columnsizes> <dependencies> @@ -15539,7 +15260,7 @@ <b> <a>1</a> <b>2</b> - <v>241</v> + <v>256</v> </b> </bs> </hist> @@ -15555,7 +15276,7 @@ <b> <a>1</a> <b>2</b> - <v>241</v> + <v>256</v> </b> </bs> </hist> @@ -15565,34 +15286,34 @@ </relation> <relation> <name>ruby_next_def</name> - <cardinality>1902</cardinality> + <cardinality>2020</cardinality> <columnsizes> <e> <k>id</k> - <v>1902</v> + <v>2020</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_operator_assignment_def</name> - <cardinality>6006</cardinality> + <cardinality>6160</cardinality> <columnsizes> <e> <k>id</k> - <v>6006</v> + <v>6160</v> </e> <e> <k>left</k> - <v>6006</v> + <v>6160</v> </e> <e> <k>operator</k> - <v>17</v> + <v>16</v> </e> <e> <k>right</k> - <v>6006</v> + <v>6160</v> </e> </columnsizes> <dependencies> @@ -15606,7 +15327,7 @@ <b> <a>1</a> <b>2</b> - <v>6006</v> + <v>6160</v> </b> </bs> </hist> @@ -15622,7 +15343,7 @@ <b> <a>1</a> <b>2</b> - <v>6006</v> + <v>6160</v> </b> </bs> </hist> @@ -15638,7 +15359,7 @@ <b> <a>1</a> <b>2</b> - <v>6006</v> + <v>6160</v> </b> </bs> </hist> @@ -15654,7 +15375,7 @@ <b> <a>1</a> <b>2</b> - <v>6006</v> + <v>6160</v> </b> </bs> </hist> @@ -15670,7 +15391,7 @@ <b> <a>1</a> <b>2</b> - <v>6006</v> + <v>6160</v> </b> </bs> </hist> @@ -15686,7 +15407,7 @@ <b> <a>1</a> <b>2</b> - <v>6006</v> + <v>6160</v> </b> </bs> </hist> @@ -15700,8 +15421,8 @@ <budget>12</budget> <bs> <b> - <a>2</a> - <b>3</b> + <a>3</a> + <b>4</b> <v>2</v> </b> <b> @@ -15710,28 +15431,28 @@ <v>2</v> </b> <b> - <a>8</a> - <b>9</b> + <a>10</a> + <b>11</b> <v>2</v> </b> <b> - <a>9</a> - <b>10</b> + <a>11</a> + <b>12</b> <v>2</v> </b> <b> - <a>60</a> - <b>61</b> + <a>64</a> + <b>65</b> <v>2</v> </b> <b> - <a>630</a> - <b>631</b> + <a>707</a> + <b>708</b> <v>2</v> </b> <b> - <a>1645</a> - <b>1646</b> + <a>1808</a> + <b>1809</b> <v>2</v> </b> </bs> @@ -15746,8 +15467,8 @@ <budget>12</budget> <bs> <b> - <a>2</a> - <b>3</b> + <a>3</a> + <b>4</b> <v>2</v> </b> <b> @@ -15756,28 +15477,28 @@ <v>2</v> </b> <b> - <a>8</a> - <b>9</b> + <a>10</a> + <b>11</b> <v>2</v> </b> <b> - <a>9</a> - <b>10</b> + <a>11</a> + <b>12</b> <v>2</v> </b> <b> - <a>60</a> - <b>61</b> + <a>64</a> + <b>65</b> <v>2</v> </b> <b> - <a>630</a> - <b>631</b> + <a>707</a> + <b>708</b> <v>2</v> </b> <b> - <a>1645</a> - <b>1646</b> + <a>1808</a> + <b>1809</b> <v>2</v> </b> </bs> @@ -15792,8 +15513,8 @@ <budget>12</budget> <bs> <b> - <a>2</a> - <b>3</b> + <a>3</a> + <b>4</b> <v>2</v> </b> <b> @@ -15802,28 +15523,28 @@ <v>2</v> </b> <b> - <a>8</a> - <b>9</b> + <a>10</a> + <b>11</b> <v>2</v> </b> <b> - <a>9</a> - <b>10</b> + <a>11</a> + <b>12</b> <v>2</v> </b> <b> - <a>60</a> - <b>61</b> + <a>64</a> + <b>65</b> <v>2</v> </b> <b> - <a>630</a> - <b>631</b> + <a>707</a> + <b>708</b> <v>2</v> </b> <b> - <a>1645</a> - <b>1646</b> + <a>1808</a> + <b>1809</b> <v>2</v> </b> </bs> @@ -15840,7 +15561,7 @@ <b> <a>1</a> <b>2</b> - <v>6006</v> + <v>6160</v> </b> </bs> </hist> @@ -15856,7 +15577,7 @@ <b> <a>1</a> <b>2</b> - <v>6006</v> + <v>6160</v> </b> </bs> </hist> @@ -15872,7 +15593,7 @@ <b> <a>1</a> <b>2</b> - <v>6006</v> + <v>6160</v> </b> </bs> </hist> @@ -15882,19 +15603,19 @@ </relation> <relation> <name>ruby_optional_parameter_def</name> - <cardinality>6636</cardinality> + <cardinality>6556</cardinality> <columnsizes> <e> <k>id</k> - <v>6636</v> + <v>6556</v> </e> <e> <k>name</k> - <v>6636</v> + <v>6556</v> </e> <e> <k>value</k> - <v>6636</v> + <v>6556</v> </e> </columnsizes> <dependencies> @@ -15908,7 +15629,7 @@ <b> <a>1</a> <b>2</b> - <v>6636</v> + <v>6556</v> </b> </bs> </hist> @@ -15924,7 +15645,7 @@ <b> <a>1</a> <b>2</b> - <v>6636</v> + <v>6556</v> </b> </bs> </hist> @@ -15940,7 +15661,7 @@ <b> <a>1</a> <b>2</b> - <v>6636</v> + <v>6556</v> </b> </bs> </hist> @@ -15956,7 +15677,7 @@ <b> <a>1</a> <b>2</b> - <v>6636</v> + <v>6556</v> </b> </bs> </hist> @@ -15972,7 +15693,7 @@ <b> <a>1</a> <b>2</b> - <v>6636</v> + <v>6556</v> </b> </bs> </hist> @@ -15988,7 +15709,7 @@ <b> <a>1</a> <b>2</b> - <v>6636</v> + <v>6556</v> </b> </bs> </hist> @@ -15998,15 +15719,15 @@ </relation> <relation> <name>ruby_pair_def</name> - <cardinality>248347</cardinality> + <cardinality>254198</cardinality> <columnsizes> <e> <k>id</k> - <v>248347</v> + <v>254198</v> </e> <e> <k>key__</k> - <v>248347</v> + <v>254198</v> </e> </columnsizes> <dependencies> @@ -16020,7 +15741,7 @@ <b> <a>1</a> <b>2</b> - <v>248347</v> + <v>254198</v> </b> </bs> </hist> @@ -16036,7 +15757,7 @@ <b> <a>1</a> <b>2</b> - <v>248347</v> + <v>254198</v> </b> </bs> </hist> @@ -16046,15 +15767,15 @@ </relation> <relation> <name>ruby_pair_value</name> - <cardinality>248347</cardinality> + <cardinality>254198</cardinality> <columnsizes> <e> <k>ruby_pair</k> - <v>248347</v> + <v>254198</v> </e> <e> <k>value</k> - <v>248347</v> + <v>254198</v> </e> </columnsizes> <dependencies> @@ -16068,7 +15789,7 @@ <b> <a>1</a> <b>2</b> - <v>248347</v> + <v>254198</v> </b> </bs> </hist> @@ -16084,7 +15805,7 @@ <b> <a>1</a> <b>2</b> - <v>248347</v> + <v>254198</v> </b> </bs> </hist> @@ -16142,11 +15863,11 @@ </relation> <relation> <name>ruby_parenthesized_statements_child</name> - <cardinality>10948</cardinality> + <cardinality>11347</cardinality> <columnsizes> <e> <k>ruby_parenthesized_statements</k> - <v>10874</v> + <v>11258</v> </e> <e> <k>index</k> @@ -16154,7 +15875,7 @@ </e> <e> <k>child</k> - <v>10948</v> + <v>11347</v> </e> </columnsizes> <dependencies> @@ -16168,12 +15889,12 @@ <b> <a>1</a> <b>2</b> - <v>10810</v> + <v>11179</v> </b> <b> <a>2</a> <b>5</b> - <v>64</v> + <v>79</v> </b> </bs> </hist> @@ -16189,12 +15910,12 @@ <b> <a>1</a> <b>2</b> - <v>10810</v> + <v>11179</v> </b> <b> <a>2</a> <b>5</b> - <v>64</v> + <v>79</v> </b> </bs> </hist> @@ -16218,13 +15939,13 @@ <v>1</v> </b> <b> - <a>64</a> - <b>65</b> + <a>79</a> + <b>80</b> <v>1</v> </b> <b> - <a>10874</a> - <b>10875</b> + <a>11258</a> + <b>11259</b> <v>1</v> </b> </bs> @@ -16249,13 +15970,13 @@ <v>1</v> </b> <b> - <a>64</a> - <b>65</b> + <a>79</a> + <b>80</b> <v>1</v> </b> <b> - <a>10874</a> - <b>10875</b> + <a>11258</a> + <b>11259</b> <v>1</v> </b> </bs> @@ -16272,7 +15993,7 @@ <b> <a>1</a> <b>2</b> - <v>10948</v> + <v>11347</v> </b> </bs> </hist> @@ -16288,7 +16009,7 @@ <b> <a>1</a> <b>2</b> - <v>10948</v> + <v>11347</v> </b> </bs> </hist> @@ -16298,26 +16019,26 @@ </relation> <relation> <name>ruby_parenthesized_statements_def</name> - <cardinality>10912</cardinality> + <cardinality>11296</cardinality> <columnsizes> <e> <k>id</k> - <v>10912</v> + <v>11296</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_pattern_def</name> - <cardinality>4153</cardinality> + <cardinality>4745</cardinality> <columnsizes> <e> <k>id</k> - <v>4153</v> + <v>4745</v> </e> <e> <k>child</k> - <v>4153</v> + <v>4745</v> </e> </columnsizes> <dependencies> @@ -16331,7 +16052,7 @@ <b> <a>1</a> <b>2</b> - <v>4153</v> + <v>4745</v> </b> </bs> </hist> @@ -16347,7 +16068,7 @@ <b> <a>1</a> <b>2</b> - <v>4153</v> + <v>4745</v> </b> </bs> </hist> @@ -16357,11 +16078,11 @@ </relation> <relation> <name>ruby_program_child</name> - <cardinality>33982</cardinality> + <cardinality>33893</cardinality> <columnsizes> <e> <k>ruby_program</k> - <v>10658</v> + <v>10674</v> </e> <e> <k>index</k> @@ -16369,7 +16090,7 @@ </e> <e> <k>child</k> - <v>33982</v> + <v>33893</v> </e> </columnsizes> <dependencies> @@ -16383,32 +16104,32 @@ <b> <a>1</a> <b>2</b> - <v>3932</v> + <v>3956</v> </b> <b> <a>2</a> <b>3</b> - <v>2514</v> + <v>2531</v> </b> <b> <a>3</a> <b>4</b> - <v>1758</v> + <v>1772</v> </b> <b> <a>4</a> <b>5</b> - <v>801</v> + <v>794</v> </b> <b> <a>5</a> <b>8</b> - <v>917</v> + <v>902</v> </b> <b> <a>8</a> - <b>79</b> - <v>733</v> + <b>81</b> + <v>716</v> </b> </bs> </hist> @@ -16424,32 +16145,32 @@ <b> <a>1</a> <b>2</b> - <v>3932</v> + <v>3956</v> </b> <b> <a>2</a> <b>3</b> - <v>2514</v> + <v>2531</v> </b> <b> <a>3</a> <b>4</b> - <v>1758</v> + <v>1772</v> </b> <b> <a>4</a> <b>5</b> - <v>801</v> + <v>794</v> </b> <b> <a>5</a> <b>8</b> - <v>917</v> + <v>902</v> </b> <b> <a>8</a> - <b>79</b> - <v>733</v> + <b>81</b> + <v>716</v> </b> </bs> </hist> @@ -16465,57 +16186,57 @@ <b> <a>1</a> <b>2</b> - <v>46</v> + <v>50</v> </b> <b> <a>2</a> <b>3</b> - <v>36</v> + <v>29</v> </b> <b> - <a>4</a> - <b>9</b> - <v>21</v> + <a>3</a> + <b>7</b> + <v>17</v> </b> <b> - <a>9</a> - <b>12</b> - <v>18</v> + <a>8</a> + <b>11</b> + <v>17</v> </b> <b> - <a>13</a> - <b>17</b> - <v>18</v> + <a>11</a> + <b>15</b> + <v>17</v> </b> <b> - <a>17</a> - <b>28</b> - <v>18</v> + <a>16</a> + <b>23</b> + <v>17</v> </b> <b> - <a>29</a> - <b>44</b> - <v>18</v> + <a>26</a> + <b>36</b> + <v>17</v> </b> <b> - <a>45</a> - <b>80</b> - <v>18</v> + <a>38</a> + <b>60</b> + <v>17</v> </b> <b> - <a>89</a> - <b>190</b> - <v>18</v> + <a>67</a> + <b>129</b> + <v>17</v> </b> <b> - <a>239</a> - <b>1373</b> - <v>18</v> + <a>145</a> + <b>397</b> + <v>17</v> </b> <b> - <a>2191</a> - <b>3473</b> - <v>6</v> + <a>540</a> + <b>3560</b> + <v>14</v> </b> </bs> </hist> @@ -16531,57 +16252,57 @@ <b> <a>1</a> <b>2</b> - <v>46</v> + <v>50</v> </b> <b> <a>2</a> <b>3</b> - <v>36</v> + <v>29</v> </b> <b> - <a>4</a> - <b>9</b> - <v>21</v> + <a>3</a> + <b>7</b> + <v>17</v> </b> <b> - <a>9</a> - <b>12</b> - <v>18</v> + <a>8</a> + <b>11</b> + <v>17</v> </b> <b> - <a>13</a> - <b>17</b> - <v>18</v> + <a>11</a> + <b>15</b> + <v>17</v> </b> <b> - <a>17</a> - <b>28</b> - <v>18</v> + <a>16</a> + <b>23</b> + <v>17</v> </b> <b> - <a>29</a> - <b>44</b> - <v>18</v> + <a>26</a> + <b>36</b> + <v>17</v> </b> <b> - <a>45</a> - <b>80</b> - <v>18</v> + <a>38</a> + <b>60</b> + <v>17</v> </b> <b> - <a>89</a> - <b>190</b> - <v>18</v> + <a>67</a> + <b>129</b> + <v>17</v> </b> <b> - <a>239</a> - <b>1373</b> - <v>18</v> + <a>145</a> + <b>397</b> + <v>17</v> </b> <b> - <a>2191</a> - <b>3473</b> - <v>6</v> + <a>540</a> + <b>3560</b> + <v>14</v> </b> </bs> </hist> @@ -16597,7 +16318,7 @@ <b> <a>1</a> <b>2</b> - <v>33982</v> + <v>33893</v> </b> </bs> </hist> @@ -16613,7 +16334,7 @@ <b> <a>1</a> <b>2</b> - <v>33982</v> + <v>33893</v> </b> </bs> </hist> @@ -16623,26 +16344,26 @@ </relation> <relation> <name>ruby_program_def</name> - <cardinality>18219</cardinality> + <cardinality>18697</cardinality> <columnsizes> <e> <k>id</k> - <v>18219</v> + <v>18697</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_range_begin</name> - <cardinality>4491</cardinality> + <cardinality>4748</cardinality> <columnsizes> <e> <k>ruby_range</k> - <v>4491</v> + <v>4748</v> </e> <e> <k>begin</k> - <v>4491</v> + <v>4748</v> </e> </columnsizes> <dependencies> @@ -16656,7 +16377,7 @@ <b> <a>1</a> <b>2</b> - <v>4491</v> + <v>4748</v> </b> </bs> </hist> @@ -16672,7 +16393,7 @@ <b> <a>1</a> <b>2</b> - <v>4491</v> + <v>4748</v> </b> </bs> </hist> @@ -16682,11 +16403,11 @@ </relation> <relation> <name>ruby_range_def</name> - <cardinality>4770</cardinality> + <cardinality>5066</cardinality> <columnsizes> <e> <k>id</k> - <v>4770</v> + <v>5066</v> </e> <e> <k>operator</k> @@ -16704,7 +16425,7 @@ <b> <a>1</a> <b>2</b> - <v>4770</v> + <v>5066</v> </b> </bs> </hist> @@ -16718,13 +16439,13 @@ <budget>12</budget> <bs> <b> - <a>1634</a> - <b>1635</b> + <a>1376</a> + <b>1377</b> <v>1</v> </b> <b> - <a>3136</a> - <b>3137</b> + <a>3690</a> + <b>3691</b> <v>1</v> </b> </bs> @@ -16735,15 +16456,15 @@ </relation> <relation> <name>ruby_range_end</name> - <cardinality>4576</cardinality> + <cardinality>4818</cardinality> <columnsizes> <e> <k>ruby_range</k> - <v>4576</v> + <v>4818</v> </e> <e> <k>end</k> - <v>4576</v> + <v>4818</v> </e> </columnsizes> <dependencies> @@ -16757,7 +16478,7 @@ <b> <a>1</a> <b>2</b> - <v>4576</v> + <v>4818</v> </b> </bs> </hist> @@ -16773,7 +16494,7 @@ <b> <a>1</a> <b>2</b> - <v>4576</v> + <v>4818</v> </b> </bs> </hist> @@ -16783,15 +16504,15 @@ </relation> <relation> <name>ruby_rational_def</name> - <cardinality>138</cardinality> + <cardinality>166</cardinality> <columnsizes> <e> <k>id</k> - <v>138</v> + <v>166</v> </e> <e> <k>child</k> - <v>138</v> + <v>166</v> </e> </columnsizes> <dependencies> @@ -16805,7 +16526,7 @@ <b> <a>1</a> <b>2</b> - <v>138</v> + <v>166</v> </b> </bs> </hist> @@ -16821,7 +16542,7 @@ <b> <a>1</a> <b>2</b> - <v>138</v> + <v>166</v> </b> </bs> </hist> @@ -16890,19 +16611,19 @@ </relation> <relation> <name>ruby_regex_child</name> - <cardinality>44658</cardinality> + <cardinality>45368</cardinality> <columnsizes> <e> <k>ruby_regex</k> - <v>13335</v> + <v>13665</v> </e> <e> <k>index</k> - <v>150</v> + <v>146</v> </e> <e> <k>child</k> - <v>44658</v> + <v>45368</v> </e> </columnsizes> <dependencies> @@ -16916,42 +16637,42 @@ <b> <a>1</a> <b>2</b> - <v>6808</v> + <v>7006</v> </b> <b> <a>2</a> <b>3</b> - <v>752</v> + <v>800</v> </b> <b> <a>3</a> <b>4</b> - <v>1826</v> + <v>1868</v> </b> <b> <a>4</a> <b>5</b> - <v>506</v> + <v>500</v> </b> <b> <a>5</a> <b>6</b> - <v>1108</v> + <v>1124</v> </b> <b> <a>6</a> <b>8</b> - <v>1034</v> + <v>1031</v> </b> <b> <a>8</a> <b>16</b> - <v>1055</v> + <v>1094</v> </b> <b> <a>16</a> <b>50</b> - <v>242</v> + <v>236</v> </b> </bs> </hist> @@ -16967,42 +16688,42 @@ <b> <a>1</a> <b>2</b> - <v>6808</v> + <v>7006</v> </b> <b> <a>2</a> <b>3</b> - <v>752</v> + <v>800</v> </b> <b> <a>3</a> <b>4</b> - <v>1826</v> + <v>1868</v> </b> <b> <a>4</a> <b>5</b> - <v>506</v> + <v>500</v> </b> <b> <a>5</a> <b>6</b> - <v>1108</v> + <v>1124</v> </b> <b> <a>6</a> <b>8</b> - <v>1034</v> + <v>1031</v> </b> <b> <a>8</a> <b>16</b> - <v>1055</v> + <v>1094</v> </b> <b> <a>16</a> <b>50</b> - <v>242</v> + <v>236</v> </b> </bs> </hist> @@ -17018,67 +16739,67 @@ <b> <a>1</a> <b>2</b> - <v>18</v> + <v>17</v> </b> <b> <a>4</a> <b>5</b> - <v>12</v> + <v>11</v> </b> <b> <a>6</a> <b>7</b> - <v>3</v> + <v>2</v> </b> <b> <a>7</a> <b>8</b> - <v>12</v> + <v>11</v> </b> <b> <a>8</a> <b>15</b> - <v>12</v> + <v>11</v> </b> <b> <a>15</a> - <b>19</b> - <v>12</v> + <b>18</b> + <v>8</v> </b> <b> - <a>19</a> - <b>23</b> - <v>9</v> + <a>18</a> + <b>21</b> + <v>11</v> </b> <b> - <a>23</a> + <a>21</a> <b>31</b> - <v>12</v> + <v>11</v> </b> <b> <a>32</a> <b>80</b> - <v>12</v> + <v>11</v> </b> <b> <a>103</a> - <b>175</b> - <v>12</v> + <b>184</b> + <v>11</v> </b> <b> - <a>239</a> - <b>424</b> - <v>12</v> + <a>249</a> + <b>445</b> + <v>11</v> </b> <b> - <a>671</a> - <b>1287</b> - <v>12</v> + <a>696</a> + <b>1331</b> + <v>11</v> </b> <b> - <a>1881</a> - <b>4345</b> - <v>9</v> + <a>1953</a> + <b>4557</b> + <v>8</v> </b> </bs> </hist> @@ -17094,67 +16815,67 @@ <b> <a>1</a> <b>2</b> - <v>18</v> + <v>17</v> </b> <b> <a>4</a> <b>5</b> - <v>12</v> + <v>11</v> </b> <b> <a>6</a> <b>7</b> - <v>3</v> + <v>2</v> </b> <b> <a>7</a> <b>8</b> - <v>12</v> + <v>11</v> </b> <b> <a>8</a> <b>15</b> - <v>12</v> + <v>11</v> </b> <b> <a>15</a> - <b>19</b> - <v>12</v> + <b>18</b> + <v>8</v> </b> <b> - <a>19</a> - <b>23</b> - <v>9</v> + <a>18</a> + <b>21</b> + <v>11</v> </b> <b> - <a>23</a> + <a>21</a> <b>31</b> - <v>12</v> + <v>11</v> </b> <b> <a>32</a> <b>80</b> - <v>12</v> + <v>11</v> </b> <b> <a>103</a> - <b>175</b> - <v>12</v> + <b>184</b> + <v>11</v> </b> <b> - <a>239</a> - <b>424</b> - <v>12</v> + <a>249</a> + <b>445</b> + <v>11</v> </b> <b> - <a>671</a> - <b>1287</b> - <v>12</v> + <a>696</a> + <b>1331</b> + <v>11</v> </b> <b> - <a>1881</a> - <b>4345</b> - <v>9</v> + <a>1953</a> + <b>4557</b> + <v>8</v> </b> </bs> </hist> @@ -17170,7 +16891,7 @@ <b> <a>1</a> <b>2</b> - <v>44658</v> + <v>45368</v> </b> </bs> </hist> @@ -17186,7 +16907,7 @@ <b> <a>1</a> <b>2</b> - <v>44658</v> + <v>45368</v> </b> </bs> </hist> @@ -17196,26 +16917,26 @@ </relation> <relation> <name>ruby_regex_def</name> - <cardinality>13350</cardinality> + <cardinality>13680</cardinality> <columnsizes> <e> <k>id</k> - <v>13350</v> + <v>13680</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_rescue_body</name> - <cardinality>2083</cardinality> + <cardinality>2050</cardinality> <columnsizes> <e> <k>ruby_rescue</k> - <v>2083</v> + <v>2050</v> </e> <e> <k>body</k> - <v>2083</v> + <v>2050</v> </e> </columnsizes> <dependencies> @@ -17229,7 +16950,7 @@ <b> <a>1</a> <b>2</b> - <v>2083</v> + <v>2050</v> </b> </bs> </hist> @@ -17245,7 +16966,7 @@ <b> <a>1</a> <b>2</b> - <v>2083</v> + <v>2050</v> </b> </bs> </hist> @@ -17255,26 +16976,26 @@ </relation> <relation> <name>ruby_rescue_def</name> - <cardinality>2346</cardinality> + <cardinality>2299</cardinality> <columnsizes> <e> <k>id</k> - <v>2346</v> + <v>2299</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_rescue_exceptions</name> - <cardinality>1938</cardinality> + <cardinality>1904</cardinality> <columnsizes> <e> <k>ruby_rescue</k> - <v>1938</v> + <v>1904</v> </e> <e> <k>exceptions</k> - <v>1938</v> + <v>1904</v> </e> </columnsizes> <dependencies> @@ -17288,7 +17009,7 @@ <b> <a>1</a> <b>2</b> - <v>1938</v> + <v>1904</v> </b> </bs> </hist> @@ -17304,7 +17025,7 @@ <b> <a>1</a> <b>2</b> - <v>1938</v> + <v>1904</v> </b> </bs> </hist> @@ -17314,19 +17035,19 @@ </relation> <relation> <name>ruby_rescue_modifier_def</name> - <cardinality>448</cardinality> + <cardinality>458</cardinality> <columnsizes> <e> <k>id</k> - <v>448</v> + <v>458</v> </e> <e> <k>body</k> - <v>448</v> + <v>458</v> </e> <e> <k>handler</k> - <v>448</v> + <v>458</v> </e> </columnsizes> <dependencies> @@ -17340,7 +17061,7 @@ <b> <a>1</a> <b>2</b> - <v>448</v> + <v>458</v> </b> </bs> </hist> @@ -17356,7 +17077,7 @@ <b> <a>1</a> <b>2</b> - <v>448</v> + <v>458</v> </b> </bs> </hist> @@ -17372,7 +17093,7 @@ <b> <a>1</a> <b>2</b> - <v>448</v> + <v>458</v> </b> </bs> </hist> @@ -17388,7 +17109,7 @@ <b> <a>1</a> <b>2</b> - <v>448</v> + <v>458</v> </b> </bs> </hist> @@ -17404,7 +17125,7 @@ <b> <a>1</a> <b>2</b> - <v>448</v> + <v>458</v> </b> </bs> </hist> @@ -17420,7 +17141,7 @@ <b> <a>1</a> <b>2</b> - <v>448</v> + <v>458</v> </b> </bs> </hist> @@ -17430,15 +17151,15 @@ </relation> <relation> <name>ruby_rescue_variable</name> - <cardinality>924</cardinality> + <cardinality>935</cardinality> <columnsizes> <e> <k>ruby_rescue</k> - <v>924</v> + <v>935</v> </e> <e> <k>variable</k> - <v>924</v> + <v>935</v> </e> </columnsizes> <dependencies> @@ -17452,7 +17173,7 @@ <b> <a>1</a> <b>2</b> - <v>924</v> + <v>935</v> </b> </bs> </hist> @@ -17468,7 +17189,7 @@ <b> <a>1</a> <b>2</b> - <v>924</v> + <v>935</v> </b> </bs> </hist> @@ -17478,15 +17199,15 @@ </relation> <relation> <name>ruby_rest_assignment_child</name> - <cardinality>383</cardinality> + <cardinality>392</cardinality> <columnsizes> <e> <k>ruby_rest_assignment</k> - <v>383</v> + <v>392</v> </e> <e> <k>child</k> - <v>383</v> + <v>392</v> </e> </columnsizes> <dependencies> @@ -17500,7 +17221,7 @@ <b> <a>1</a> <b>2</b> - <v>383</v> + <v>392</v> </b> </bs> </hist> @@ -17516,7 +17237,7 @@ <b> <a>1</a> <b>2</b> - <v>383</v> + <v>392</v> </b> </bs> </hist> @@ -17526,11 +17247,11 @@ </relation> <relation> <name>ruby_rest_assignment_def</name> - <cardinality>401</cardinality> + <cardinality>414</cardinality> <columnsizes> <e> <k>id</k> - <v>401</v> + <v>414</v> </e> </columnsizes> <dependencies/> @@ -17585,26 +17306,26 @@ </relation> <relation> <name>ruby_retry_def</name> - <cardinality>60</cardinality> + <cardinality>58</cardinality> <columnsizes> <e> <k>id</k> - <v>60</v> + <v>58</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_return_child</name> - <cardinality>5084</cardinality> + <cardinality>4938</cardinality> <columnsizes> <e> <k>ruby_return</k> - <v>5084</v> + <v>4938</v> </e> <e> <k>child</k> - <v>5084</v> + <v>4938</v> </e> </columnsizes> <dependencies> @@ -17618,7 +17339,7 @@ <b> <a>1</a> <b>2</b> - <v>5084</v> + <v>4938</v> </b> </bs> </hist> @@ -17634,7 +17355,7 @@ <b> <a>1</a> <b>2</b> - <v>5084</v> + <v>4938</v> </b> </bs> </hist> @@ -17644,30 +17365,30 @@ </relation> <relation> <name>ruby_return_def</name> - <cardinality>8197</cardinality> + <cardinality>7979</cardinality> <columnsizes> <e> <k>id</k> - <v>8197</v> + <v>7979</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_right_assignment_list_child</name> - <cardinality>2600</cardinality> + <cardinality>2741</cardinality> <columnsizes> <e> <k>ruby_right_assignment_list</k> - <v>1224</v> + <v>1280</v> </e> <e> <k>index</k> - <v>15</v> + <v>14</v> </e> <e> <k>child</k> - <v>2600</v> + <v>2741</v> </e> </columnsizes> <dependencies> @@ -17681,17 +17402,17 @@ <b> <a>2</a> <b>3</b> - <v>1098</v> + <v>1136</v> </b> <b> <a>3</a> <b>4</b> - <v>104</v> + <v>113</v> </b> <b> <a>4</a> <b>6</b> - <v>21</v> + <v>29</v> </b> </bs> </hist> @@ -17707,17 +17428,17 @@ <b> <a>2</a> <b>3</b> - <v>1098</v> + <v>1136</v> </b> <b> <a>3</a> <b>4</b> - <v>104</v> + <v>113</v> </b> <b> <a>4</a> <b>6</b> - <v>21</v> + <v>29</v> </b> </bs> </hist> @@ -17731,24 +17452,24 @@ <budget>12</budget> <bs> <b> - <a>1</a> - <b>2</b> - <v>3</v> + <a>2</a> + <b>3</b> + <v>2</v> </b> <b> - <a>7</a> - <b>8</b> - <v>3</v> + <a>10</a> + <b>11</b> + <v>2</v> </b> <b> - <a>41</a> - <b>42</b> - <v>3</v> + <a>48</a> + <b>49</b> + <v>2</v> </b> <b> - <a>399</a> - <b>400</b> - <v>6</v> + <a>427</a> + <b>428</b> + <v>5</v> </b> </bs> </hist> @@ -17762,24 +17483,24 @@ <budget>12</budget> <bs> <b> - <a>1</a> - <b>2</b> - <v>3</v> + <a>2</a> + <b>3</b> + <v>2</v> </b> <b> - <a>7</a> - <b>8</b> - <v>3</v> + <a>10</a> + <b>11</b> + <v>2</v> </b> <b> - <a>41</a> - <b>42</b> - <v>3</v> + <a>48</a> + <b>49</b> + <v>2</v> </b> <b> - <a>399</a> - <b>400</b> - <v>6</v> + <a>427</a> + <b>428</b> + <v>5</v> </b> </bs> </hist> @@ -17795,7 +17516,7 @@ <b> <a>1</a> <b>2</b> - <v>2600</v> + <v>2741</v> </b> </bs> </hist> @@ -17811,7 +17532,7 @@ <b> <a>1</a> <b>2</b> - <v>2600</v> + <v>2741</v> </b> </bs> </hist> @@ -17821,26 +17542,26 @@ </relation> <relation> <name>ruby_right_assignment_list_def</name> - <cardinality>1224</cardinality> + <cardinality>1280</cardinality> <columnsizes> <e> <k>id</k> - <v>1224</v> + <v>1280</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_scope_resolution_def</name> - <cardinality>84884</cardinality> + <cardinality>87113</cardinality> <columnsizes> <e> <k>id</k> - <v>84884</v> + <v>87113</v> </e> <e> <k>name</k> - <v>84884</v> + <v>87113</v> </e> </columnsizes> <dependencies> @@ -17854,7 +17575,7 @@ <b> <a>1</a> <b>2</b> - <v>84884</v> + <v>87113</v> </b> </bs> </hist> @@ -17870,7 +17591,7 @@ <b> <a>1</a> <b>2</b> - <v>84884</v> + <v>87113</v> </b> </bs> </hist> @@ -17880,15 +17601,15 @@ </relation> <relation> <name>ruby_scope_resolution_scope</name> - <cardinality>83028</cardinality> + <cardinality>85203</cardinality> <columnsizes> <e> <k>ruby_scope_resolution</k> - <v>83028</v> + <v>85203</v> </e> <e> <k>scope</k> - <v>83028</v> + <v>85203</v> </e> </columnsizes> <dependencies> @@ -17902,7 +17623,7 @@ <b> <a>1</a> <b>2</b> - <v>83028</v> + <v>85203</v> </b> </bs> </hist> @@ -17918,7 +17639,7 @@ <b> <a>1</a> <b>2</b> - <v>83028</v> + <v>85203</v> </b> </bs> </hist> @@ -17928,15 +17649,15 @@ </relation> <relation> <name>ruby_setter_def</name> - <cardinality>653</cardinality> + <cardinality>656</cardinality> <columnsizes> <e> <k>id</k> - <v>653</v> + <v>656</v> </e> <e> <k>name</k> - <v>653</v> + <v>656</v> </e> </columnsizes> <dependencies> @@ -17950,7 +17671,7 @@ <b> <a>1</a> <b>2</b> - <v>653</v> + <v>656</v> </b> </bs> </hist> @@ -17966,7 +17687,7 @@ <b> <a>1</a> <b>2</b> - <v>653</v> + <v>656</v> </b> </bs> </hist> @@ -17976,15 +17697,15 @@ </relation> <relation> <name>ruby_singleton_class_body</name> - <cardinality>663</cardinality> + <cardinality>677</cardinality> <columnsizes> <e> <k>ruby_singleton_class</k> - <v>663</v> + <v>677</v> </e> <e> <k>body</k> - <v>663</v> + <v>677</v> </e> </columnsizes> <dependencies> @@ -17998,7 +17719,7 @@ <b> <a>1</a> <b>2</b> - <v>663</v> + <v>677</v> </b> </bs> </hist> @@ -18014,7 +17735,7 @@ <b> <a>1</a> <b>2</b> - <v>663</v> + <v>677</v> </b> </bs> </hist> @@ -18024,15 +17745,15 @@ </relation> <relation> <name>ruby_singleton_class_def</name> - <cardinality>663</cardinality> + <cardinality>677</cardinality> <columnsizes> <e> <k>id</k> - <v>663</v> + <v>677</v> </e> <e> <k>value</k> - <v>663</v> + <v>677</v> </e> </columnsizes> <dependencies> @@ -18046,7 +17767,7 @@ <b> <a>1</a> <b>2</b> - <v>663</v> + <v>677</v> </b> </bs> </hist> @@ -18062,7 +17783,7 @@ <b> <a>1</a> <b>2</b> - <v>663</v> + <v>677</v> </b> </bs> </hist> @@ -18072,15 +17793,15 @@ </relation> <relation> <name>ruby_singleton_method_body</name> - <cardinality>6447</cardinality> + <cardinality>6313</cardinality> <columnsizes> <e> <k>ruby_singleton_method</k> - <v>6447</v> + <v>6313</v> </e> <e> <k>body</k> - <v>6447</v> + <v>6313</v> </e> </columnsizes> <dependencies> @@ -18094,7 +17815,7 @@ <b> <a>1</a> <b>2</b> - <v>6447</v> + <v>6313</v> </b> </bs> </hist> @@ -18110,7 +17831,7 @@ <b> <a>1</a> <b>2</b> - <v>6447</v> + <v>6313</v> </b> </bs> </hist> @@ -18120,19 +17841,19 @@ </relation> <relation> <name>ruby_singleton_method_def</name> - <cardinality>6459</cardinality> + <cardinality>6325</cardinality> <columnsizes> <e> <k>id</k> - <v>6459</v> + <v>6325</v> </e> <e> <k>name</k> - <v>6459</v> + <v>6325</v> </e> <e> <k>object</k> - <v>6459</v> + <v>6325</v> </e> </columnsizes> <dependencies> @@ -18146,7 +17867,7 @@ <b> <a>1</a> <b>2</b> - <v>6459</v> + <v>6325</v> </b> </bs> </hist> @@ -18162,7 +17883,7 @@ <b> <a>1</a> <b>2</b> - <v>6459</v> + <v>6325</v> </b> </bs> </hist> @@ -18178,7 +17899,7 @@ <b> <a>1</a> <b>2</b> - <v>6459</v> + <v>6325</v> </b> </bs> </hist> @@ -18194,7 +17915,7 @@ <b> <a>1</a> <b>2</b> - <v>6459</v> + <v>6325</v> </b> </bs> </hist> @@ -18210,7 +17931,7 @@ <b> <a>1</a> <b>2</b> - <v>6459</v> + <v>6325</v> </b> </bs> </hist> @@ -18226,7 +17947,7 @@ <b> <a>1</a> <b>2</b> - <v>6459</v> + <v>6325</v> </b> </bs> </hist> @@ -18236,15 +17957,15 @@ </relation> <relation> <name>ruby_singleton_method_parameters</name> - <cardinality>4073</cardinality> + <cardinality>3929</cardinality> <columnsizes> <e> <k>ruby_singleton_method</k> - <v>4073</v> + <v>3929</v> </e> <e> <k>parameters</k> - <v>4073</v> + <v>3929</v> </e> </columnsizes> <dependencies> @@ -18258,7 +17979,7 @@ <b> <a>1</a> <b>2</b> - <v>4073</v> + <v>3929</v> </b> </bs> </hist> @@ -18274,7 +17995,7 @@ <b> <a>1</a> <b>2</b> - <v>4073</v> + <v>3929</v> </b> </bs> </hist> @@ -18284,15 +18005,15 @@ </relation> <relation> <name>ruby_splat_argument_child</name> - <cardinality>3454</cardinality> + <cardinality>3605</cardinality> <columnsizes> <e> <k>ruby_splat_argument</k> - <v>3454</v> + <v>3605</v> </e> <e> <k>child</k> - <v>3454</v> + <v>3605</v> </e> </columnsizes> <dependencies> @@ -18306,7 +18027,7 @@ <b> <a>1</a> <b>2</b> - <v>3454</v> + <v>3605</v> </b> </bs> </hist> @@ -18322,7 +18043,7 @@ <b> <a>1</a> <b>2</b> - <v>3454</v> + <v>3605</v> </b> </bs> </hist> @@ -18332,37 +18053,37 @@ </relation> <relation> <name>ruby_splat_argument_def</name> - <cardinality>3454</cardinality> + <cardinality>3606</cardinality> <columnsizes> <e> <k>id</k> - <v>3454</v> + <v>3606</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_splat_parameter_def</name> - <cardinality>3192</cardinality> + <cardinality>3014</cardinality> <columnsizes> <e> <k>id</k> - <v>3192</v> + <v>3014</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_splat_parameter_name</name> - <cardinality>2514</cardinality> + <cardinality>2297</cardinality> <columnsizes> <e> <k>ruby_splat_parameter</k> - <v>2514</v> + <v>2297</v> </e> <e> <k>name</k> - <v>2514</v> + <v>2297</v> </e> </columnsizes> <dependencies> @@ -18376,7 +18097,7 @@ <b> <a>1</a> <b>2</b> - <v>2514</v> + <v>2297</v> </b> </bs> </hist> @@ -18392,7 +18113,7 @@ <b> <a>1</a> <b>2</b> - <v>2514</v> + <v>2297</v> </b> </bs> </hist> @@ -18402,19 +18123,19 @@ </relation> <relation> <name>ruby_string_array_child</name> - <cardinality>12799</cardinality> + <cardinality>13136</cardinality> <columnsizes> <e> <k>ruby_string_array</k> - <v>4062</v> + <v>4120</v> </e> <e> <k>index</k> - <v>536</v> + <v>606</v> </e> <e> <k>child</k> - <v>12799</v> + <v>13136</v> </e> </columnsizes> <dependencies> @@ -18428,32 +18149,32 @@ <b> <a>1</a> <b>2</b> - <v>1313</v> + <v>1350</v> </b> <b> <a>2</a> <b>3</b> - <v>1310</v> + <v>1304</v> </b> <b> <a>3</a> <b>4</b> - <v>625</v> + <v>630</v> </b> <b> <a>4</a> <b>5</b> - <v>349</v> + <v>356</v> </b> <b> <a>5</a> <b>10</b> - <v>325</v> + <v>332</v> </b> <b> <a>10</a> - <b>537</b> - <v>140</v> + <b>607</b> + <v>148</v> </b> </bs> </hist> @@ -18469,32 +18190,32 @@ <b> <a>1</a> <b>2</b> - <v>1313</v> + <v>1350</v> </b> <b> <a>2</a> <b>3</b> - <v>1310</v> + <v>1304</v> </b> <b> <a>3</a> <b>4</b> - <v>625</v> + <v>630</v> </b> <b> <a>4</a> <b>5</b> - <v>349</v> + <v>356</v> </b> <b> <a>5</a> <b>10</b> - <v>325</v> + <v>332</v> </b> <b> <a>10</a> - <b>537</b> - <v>140</v> + <b>607</b> + <v>148</v> </b> </bs> </hist> @@ -18510,22 +18231,22 @@ <b> <a>1</a> <b>2</b> - <v>432</v> + <v>506</v> </b> <b> <a>2</a> - <b>7</b> - <v>42</v> + <b>10</b> + <v>48</v> </b> <b> - <a>7</a> - <b>47</b> - <v>41</v> + <a>11</a> + <b>266</b> + <v>46</v> </b> <b> - <a>49</a> - <b>4063</b> - <v>21</v> + <a>344</a> + <b>4121</b> + <v>6</v> </b> </bs> </hist> @@ -18541,22 +18262,22 @@ <b> <a>1</a> <b>2</b> - <v>432</v> + <v>506</v> </b> <b> <a>2</a> - <b>7</b> - <v>42</v> + <b>10</b> + <v>48</v> </b> <b> - <a>7</a> - <b>47</b> - <v>41</v> + <a>11</a> + <b>266</b> + <v>46</v> </b> <b> - <a>49</a> - <b>4063</b> - <v>21</v> + <a>344</a> + <b>4121</b> + <v>6</v> </b> </bs> </hist> @@ -18572,7 +18293,7 @@ <b> <a>1</a> <b>2</b> - <v>12799</v> + <v>13136</v> </b> </bs> </hist> @@ -18588,7 +18309,7 @@ <b> <a>1</a> <b>2</b> - <v>12799</v> + <v>13136</v> </b> </bs> </hist> @@ -18598,22 +18319,22 @@ </relation> <relation> <name>ruby_string_array_def</name> - <cardinality>4213</cardinality> + <cardinality>4287</cardinality> <columnsizes> <e> <k>id</k> - <v>4213</v> + <v>4287</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_string_child</name> - <cardinality>549106</cardinality> + <cardinality>559228</cardinality> <columnsizes> <e> <k>ruby_string__</k> - <v>477859</v> + <v>483542</v> </e> <e> <k>index</k> @@ -18621,7 +18342,7 @@ </e> <e> <k>child</k> - <v>549106</v> + <v>559228</v> </e> </columnsizes> <dependencies> @@ -18635,12 +18356,12 @@ <b> <a>1</a> <b>2</b> - <v>449884</v> + <v>454555</v> </b> <b> <a>2</a> <b>282</b> - <v>27975</v> + <v>28987</v> </b> </bs> </hist> @@ -18656,12 +18377,12 @@ <b> <a>1</a> <b>2</b> - <v>449884</v> + <v>454555</v> </b> <b> <a>2</a> <b>282</b> - <v>27975</v> + <v>28987</v> </b> </bs> </hist> @@ -18677,31 +18398,36 @@ <b> <a>1</a> <b>2</b> - <v>129</v> + <v>95</v> </b> <b> - <a>4</a> - <b>5</b> - <v>64</v> + <a>2</a> + <b>3</b> + <v>34</v> </b> <b> <a>5</a> - <b>7</b> + <b>6</b> + <v>64</v> + </b> + <b> + <a>6</a> + <b>9</b> <v>22</v> </b> <b> - <a>7</a> - <b>27</b> + <a>9</a> + <b>37</b> <v>22</v> </b> <b> - <a>28</a> - <b>83</b> + <a>37</a> + <b>108</b> <v>22</v> </b> <b> - <a>104</a> - <b>477860</b> + <a>129</a> + <b>483543</b> <v>22</v> </b> </bs> @@ -18718,31 +18444,36 @@ <b> <a>1</a> <b>2</b> - <v>129</v> + <v>95</v> </b> <b> - <a>4</a> - <b>5</b> - <v>64</v> + <a>2</a> + <b>3</b> + <v>34</v> </b> <b> <a>5</a> - <b>7</b> + <b>6</b> + <v>64</v> + </b> + <b> + <a>6</a> + <b>9</b> <v>22</v> </b> <b> - <a>7</a> - <b>27</b> + <a>9</a> + <b>37</b> <v>22</v> </b> <b> - <a>28</a> - <b>83</b> + <a>37</a> + <b>108</b> <v>22</v> </b> <b> - <a>104</a> - <b>477860</b> + <a>129</a> + <b>483543</b> <v>22</v> </b> </bs> @@ -18759,7 +18490,7 @@ <b> <a>1</a> <b>2</b> - <v>549106</v> + <v>559228</v> </b> </bs> </hist> @@ -18775,7 +18506,7 @@ <b> <a>1</a> <b>2</b> - <v>549106</v> + <v>559228</v> </b> </bs> </hist> @@ -18785,30 +18516,30 @@ </relation> <relation> <name>ruby_string_def</name> - <cardinality>485218</cardinality> + <cardinality>490602</cardinality> <columnsizes> <e> <k>id</k> - <v>485218</v> + <v>490602</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_subshell_child</name> - <cardinality>561</cardinality> + <cardinality>551</cardinality> <columnsizes> <e> <k>ruby_subshell</k> - <v>365</v> + <v>359</v> </e> <e> <k>index</k> - <v>33</v> + <v>32</v> </e> <e> <k>child</k> - <v>561</v> + <v>551</v> </e> </columnsizes> <dependencies> @@ -18827,17 +18558,17 @@ <b> <a>2</a> <b>3</b> - <v>58</v> + <v>53</v> </b> <b> <a>3</a> <b>5</b> - <v>33</v> + <v>32</v> </b> <b> <a>5</a> <b>12</b> - <v>9</v> + <v>8</v> </b> </bs> </hist> @@ -18858,17 +18589,17 @@ <b> <a>2</a> <b>3</b> - <v>58</v> + <v>53</v> </b> <b> <a>3</a> <b>5</b> - <v>33</v> + <v>32</v> </b> <b> <a>5</a> <b>12</b> - <v>9</v> + <v>8</v> </b> </bs> </hist> @@ -18884,37 +18615,37 @@ <b> <a>1</a> <b>2</b> - <v>12</v> + <v>11</v> </b> <b> <a>2</a> <b>3</b> - <v>6</v> + <v>5</v> </b> <b> <a>3</a> <b>4</b> - <v>3</v> + <v>2</v> </b> <b> - <a>6</a> - <b>7</b> - <v>3</v> + <a>7</a> + <b>8</b> + <v>2</v> </b> <b> <a>14</a> <b>15</b> - <v>3</v> + <v>2</v> </b> <b> - <a>33</a> - <b>34</b> - <v>3</v> + <a>32</a> + <b>33</b> + <v>2</v> </b> <b> - <a>119</a> - <b>120</b> - <v>3</v> + <a>120</a> + <b>121</b> + <v>2</v> </b> </bs> </hist> @@ -18930,37 +18661,37 @@ <b> <a>1</a> <b>2</b> - <v>12</v> + <v>11</v> </b> <b> <a>2</a> <b>3</b> - <v>6</v> + <v>5</v> </b> <b> <a>3</a> <b>4</b> - <v>3</v> + <v>2</v> </b> <b> - <a>6</a> - <b>7</b> - <v>3</v> + <a>7</a> + <b>8</b> + <v>2</v> </b> <b> <a>14</a> <b>15</b> - <v>3</v> + <v>2</v> </b> <b> - <a>33</a> - <b>34</b> - <v>3</v> + <a>32</a> + <b>33</b> + <v>2</v> </b> <b> - <a>119</a> - <b>120</b> - <v>3</v> + <a>120</a> + <b>121</b> + <v>2</v> </b> </bs> </hist> @@ -18976,7 +18707,7 @@ <b> <a>1</a> <b>2</b> - <v>561</v> + <v>551</v> </b> </bs> </hist> @@ -18992,7 +18723,7 @@ <b> <a>1</a> <b>2</b> - <v>561</v> + <v>551</v> </b> </bs> </hist> @@ -19002,26 +18733,26 @@ </relation> <relation> <name>ruby_subshell_def</name> - <cardinality>365</cardinality> + <cardinality>359</cardinality> <columnsizes> <e> <k>id</k> - <v>365</v> + <v>359</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_superclass_def</name> - <cardinality>13666</cardinality> + <cardinality>13806</cardinality> <columnsizes> <e> <k>id</k> - <v>13666</v> + <v>13806</v> </e> <e> <k>child</k> - <v>13666</v> + <v>13806</v> </e> </columnsizes> <dependencies> @@ -19035,7 +18766,7 @@ <b> <a>1</a> <b>2</b> - <v>13666</v> + <v>13806</v> </b> </bs> </hist> @@ -19051,7 +18782,7 @@ <b> <a>1</a> <b>2</b> - <v>13666</v> + <v>13806</v> </b> </bs> </hist> @@ -19061,19 +18792,19 @@ </relation> <relation> <name>ruby_symbol_array_child</name> - <cardinality>7967</cardinality> + <cardinality>8435</cardinality> <columnsizes> <e> <k>ruby_symbol_array</k> - <v>2170</v> + <v>2240</v> </e> <e> <k>index</k> - <v>241</v> + <v>233</v> </e> <e> <k>child</k> - <v>7967</v> + <v>8435</v> </e> </columnsizes> <dependencies> @@ -19087,37 +18818,37 @@ <b> <a>1</a> <b>2</b> - <v>178</v> + <v>219</v> </b> <b> <a>2</a> <b>3</b> - <v>1161</v> + <v>1129</v> </b> <b> <a>3</a> <b>4</b> - <v>354</v> + <v>347</v> </b> <b> <a>4</a> <b>5</b> - <v>127</v> + <v>160</v> </b> <b> <a>5</a> <b>8</b> - <v>183</v> + <v>189</v> </b> <b> <a>8</a> - <b>94</b> - <v>163</v> + <b>24</b> + <v>170</v> </b> <b> - <a>95</a> - <b>96</b> - <v>2</v> + <a>24</a> + <b>100</b> + <v>23</v> </b> </bs> </hist> @@ -19133,37 +18864,37 @@ <b> <a>1</a> <b>2</b> - <v>178</v> + <v>219</v> </b> <b> <a>2</a> <b>3</b> - <v>1161</v> + <v>1129</v> </b> <b> <a>3</a> <b>4</b> - <v>354</v> + <v>347</v> </b> <b> <a>4</a> <b>5</b> - <v>127</v> + <v>160</v> </b> <b> <a>5</a> <b>8</b> - <v>183</v> + <v>189</v> </b> <b> <a>8</a> - <b>94</b> - <v>163</v> + <b>24</b> + <v>170</v> </b> <b> - <a>95</a> - <b>96</b> - <v>2</v> + <a>24</a> + <b>100</b> + <v>23</v> </b> </bs> </hist> @@ -19179,37 +18910,37 @@ <b> <a>1</a> <b>2</b> - <v>5</v> + <v>9</v> </b> <b> <a>2</a> <b>3</b> - <v>152</v> + <v>139</v> </b> <b> <a>4</a> - <b>9</b> - <v>20</v> + <b>8</b> + <v>18</v> </b> <b> - <a>9</a> - <b>20</b> - <v>20</v> + <a>8</a> + <b>17</b> + <v>18</v> </b> <b> - <a>23</a> - <b>47</b> - <v>20</v> + <a>19</a> + <b>41</b> + <v>18</v> </b> <b> - <a>55</a> - <b>783</b> - <v>20</v> + <a>44</a> + <b>163</b> + <v>18</v> </b> <b> - <a>852</a> - <b>853</b> - <v>2</v> + <a>230</a> + <b>949</b> + <v>9</v> </b> </bs> </hist> @@ -19225,37 +18956,37 @@ <b> <a>1</a> <b>2</b> - <v>5</v> + <v>9</v> </b> <b> <a>2</a> <b>3</b> - <v>152</v> + <v>139</v> </b> <b> <a>4</a> - <b>9</b> - <v>20</v> + <b>8</b> + <v>18</v> </b> <b> - <a>9</a> - <b>20</b> - <v>20</v> + <a>8</a> + <b>17</b> + <v>18</v> </b> <b> - <a>23</a> - <b>47</b> - <v>20</v> + <a>19</a> + <b>41</b> + <v>18</v> </b> <b> - <a>55</a> - <b>783</b> - <v>20</v> + <a>44</a> + <b>163</b> + <v>18</v> </b> <b> - <a>852</a> - <b>853</b> - <v>2</v> + <a>230</a> + <b>949</b> + <v>9</v> </b> </bs> </hist> @@ -19271,7 +19002,7 @@ <b> <a>1</a> <b>2</b> - <v>7967</v> + <v>8435</v> </b> </bs> </hist> @@ -19287,7 +19018,7 @@ <b> <a>1</a> <b>2</b> - <v>7967</v> + <v>8435</v> </b> </bs> </hist> @@ -19297,30 +19028,30 @@ </relation> <relation> <name>ruby_symbol_array_def</name> - <cardinality>2170</cardinality> + <cardinality>2240</cardinality> <columnsizes> <e> <k>id</k> - <v>2170</v> + <v>2240</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_test_pattern_def</name> - <cardinality>4</cardinality> + <cardinality>5</cardinality> <columnsizes> <e> <k>id</k> - <v>4</v> + <v>5</v> </e> <e> <k>pattern</k> - <v>4</v> + <v>5</v> </e> <e> <k>value</k> - <v>4</v> + <v>5</v> </e> </columnsizes> <dependencies> @@ -19334,7 +19065,7 @@ <b> <a>1</a> <b>2</b> - <v>4</v> + <v>5</v> </b> </bs> </hist> @@ -19350,7 +19081,7 @@ <b> <a>1</a> <b>2</b> - <v>4</v> + <v>5</v> </b> </bs> </hist> @@ -19366,7 +19097,7 @@ <b> <a>1</a> <b>2</b> - <v>4</v> + <v>5</v> </b> </bs> </hist> @@ -19382,7 +19113,7 @@ <b> <a>1</a> <b>2</b> - <v>4</v> + <v>5</v> </b> </bs> </hist> @@ -19398,7 +19129,7 @@ <b> <a>1</a> <b>2</b> - <v>4</v> + <v>5</v> </b> </bs> </hist> @@ -19414,7 +19145,7 @@ <b> <a>1</a> <b>2</b> - <v>4</v> + <v>5</v> </b> </bs> </hist> @@ -19424,19 +19155,19 @@ </relation> <relation> <name>ruby_then_child</name> - <cardinality>37566</cardinality> + <cardinality>37016</cardinality> <columnsizes> <e> <k>ruby_then</k> - <v>22451</v> + <v>22229</v> </e> <e> <k>index</k> - <v>91</v> + <v>85</v> </e> <e> <k>child</k> - <v>37566</v> + <v>37016</v> </e> </columnsizes> <dependencies> @@ -19450,22 +19181,22 @@ <b> <a>1</a> <b>2</b> - <v>14093</v> + <v>13943</v> </b> <b> <a>2</a> <b>3</b> - <v>5076</v> + <v>5070</v> </b> <b> <a>3</a> <b>4</b> - <v>1811</v> + <v>1817</v> </b> <b> <a>4</a> <b>37</b> - <v>1469</v> + <v>1398</v> </b> </bs> </hist> @@ -19481,22 +19212,22 @@ <b> <a>1</a> <b>2</b> - <v>14093</v> + <v>13943</v> </b> <b> <a>2</a> <b>3</b> - <v>5076</v> + <v>5070</v> </b> <b> <a>3</a> <b>4</b> - <v>1811</v> + <v>1817</v> </b> <b> <a>4</a> <b>37</b> - <v>1469</v> + <v>1398</v> </b> </bs> </hist> @@ -19512,51 +19243,51 @@ <b> <a>1</a> <b>2</b> - <v>35</v> + <v>30</v> </b> <b> - <a>3</a> + <a>2</a> <b>4</b> - <v>2</v> + <v>4</v> </b> <b> <a>4</a> <b>5</b> - <v>10</v> + <v>9</v> </b> <b> - <a>5</a> + <a>6</a> <b>8</b> - <v>5</v> + <v>4</v> </b> <b> - <a>9</a> - <b>10</b> - <v>5</v> + <a>8</a> + <b>9</b> + <v>4</v> </b> <b> <a>10</a> - <b>18</b> + <b>19</b> <v>7</v> </b> <b> - <a>29</a> - <b>60</b> + <a>30</a> + <b>61</b> <v>7</v> </b> <b> - <a>95</a> - <b>309</b> + <a>98</a> + <b>310</b> <v>7</v> </b> <b> - <a>577</a> - <b>3282</b> + <a>592</a> + <b>3508</b> <v>7</v> </b> <b> - <a>8814</a> - <b>8815</b> + <a>9408</a> + <b>9409</b> <v>2</v> </b> </bs> @@ -19573,51 +19304,51 @@ <b> <a>1</a> <b>2</b> - <v>35</v> + <v>30</v> </b> <b> - <a>3</a> + <a>2</a> <b>4</b> - <v>2</v> + <v>4</v> </b> <b> <a>4</a> <b>5</b> - <v>10</v> + <v>9</v> </b> <b> - <a>5</a> + <a>6</a> <b>8</b> - <v>5</v> + <v>4</v> </b> <b> - <a>9</a> - <b>10</b> - <v>5</v> + <a>8</a> + <b>9</b> + <v>4</v> </b> <b> <a>10</a> - <b>18</b> + <b>19</b> <v>7</v> </b> <b> - <a>29</a> - <b>60</b> + <a>30</a> + <b>61</b> <v>7</v> </b> <b> - <a>95</a> - <b>309</b> + <a>98</a> + <b>310</b> <v>7</v> </b> <b> - <a>577</a> - <b>3282</b> + <a>592</a> + <b>3508</b> <v>7</v> </b> <b> - <a>8814</a> - <b>8815</b> + <a>9408</a> + <b>9409</b> <v>2</v> </b> </bs> @@ -19634,7 +19365,7 @@ <b> <a>1</a> <b>2</b> - <v>37566</v> + <v>37016</v> </b> </bs> </hist> @@ -19650,7 +19381,7 @@ <b> <a>1</a> <b>2</b> - <v>37566</v> + <v>37016</v> </b> </bs> </hist> @@ -19660,22 +19391,22 @@ </relation> <relation> <name>ruby_then_def</name> - <cardinality>22451</cardinality> + <cardinality>22229</cardinality> <columnsizes> <e> <k>id</k> - <v>22451</v> + <v>22229</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_tokeninfo</name> - <cardinality>6212759</cardinality> + <cardinality>6351611</cardinality> <columnsizes> <e> <k>id</k> - <v>6212759</v> + <v>6351611</v> </e> <e> <k>kind</k> @@ -19683,7 +19414,7 @@ </e> <e> <k>value</k> - <v>272576</v> + <v>275925</v> </e> </columnsizes> <dependencies> @@ -19697,7 +19428,7 @@ <b> <a>1</a> <b>2</b> - <v>6212759</v> + <v>6351611</v> </b> </bs> </hist> @@ -19713,7 +19444,7 @@ <b> <a>1</a> <b>2</b> - <v>6212759</v> + <v>6351611</v> </b> </bs> </hist> @@ -19727,63 +19458,68 @@ <budget>12</budget> <bs> <b> - <a>42</a> + <a>1</a> + <b>2</b> + <v>4</v> + </b> + <b> + <a>49</a> <b>160</b> - <v>5</v> + <v>4</v> </b> <b> - <a>262</a> - <b>428</b> - <v>5</v> + <a>291</a> + <b>443</b> + <v>4</v> </b> <b> - <a>1906</a> - <b>1907</b> + <a>2054</a> + <b>2055</b> <v>2</v> </b> <b> - <a>2167</a> - <b>2168</b> - <v>5</v> + <a>2462</a> + <b>2463</b> + <v>4</v> </b> <b> - <a>4685</a> - <b>4919</b> - <v>5</v> + <a>5047</a> + <b>5260</b> + <v>4</v> </b> <b> - <a>5076</a> - <b>6845</b> - <v>5</v> + <a>5496</a> + <b>7346</b> + <v>4</v> </b> <b> - <a>9531</a> - <b>10121</b> - <v>5</v> + <a>10365</a> + <b>10609</b> + <v>4</v> </b> <b> - <a>14916</a> - <b>20953</b> - <v>5</v> + <a>15376</a> + <b>22709</b> + <v>4</v> </b> <b> - <a>28887</a> - <b>64458</b> - <v>5</v> + <a>31415</a> + <b>70704</b> + <v>4</v> </b> <b> - <a>69189</a> - <b>98135</b> - <v>5</v> + <a>77014</a> + <b>106932</b> + <v>4</v> </b> <b> - <a>117445</a> - <b>609106</b> - <v>5</v> + <a>129596</a> + <b>673263</b> + <v>4</v> </b> <b> - <a>1367617</a> - <b>1367618</b> + <a>1509036</a> + <b>1509037</b> <v>2</v> </b> </bs> @@ -19800,51 +19536,51 @@ <b> <a>1</a> <b>2</b> - <v>12</v> + <v>16</v> </b> <b> - <a>5</a> + <a>6</a> <b>26</b> - <v>5</v> + <v>4</v> </b> <b> - <a>30</a> - <b>41</b> - <v>5</v> + <a>36</a> + <b>48</b> + <v>4</v> </b> <b> - <a>70</a> - <b>122</b> - <v>5</v> + <a>68</a> + <b>121</b> + <v>4</v> </b> <b> - <a>135</a> - <b>172</b> - <v>5</v> + <a>151</a> + <b>181</b> + <v>4</v> </b> <b> - <a>1500</a> - <b>1951</b> - <v>5</v> + <a>1509</a> + <b>2060</b> + <v>4</v> </b> <b> - <a>3612</a> - <b>4307</b> - <v>5</v> + <a>3983</a> + <b>4628</b> + <v>4</v> </b> <b> - <a>5291</a> - <b>8590</b> - <v>5</v> + <a>5781</a> + <b>9380</b> + <v>4</v> </b> <b> - <a>12176</a> - <b>21807</b> - <v>5</v> + <a>13063</a> + <b>24102</b> + <v>4</v> </b> <b> - <a>53746</a> - <b>53747</b> + <a>58689</a> + <b>58690</b> <v>2</v> </b> </bs> @@ -19861,32 +19597,32 @@ <b> <a>1</a> <b>2</b> - <v>162402</v> + <v>164156</v> </b> <b> <a>2</a> <b>3</b> - <v>39879</v> + <v>41140</v> </b> <b> <a>3</a> <b>4</b> - <v>19155</v> + <v>19333</v> </b> <b> <a>4</a> <b>7</b> - <v>22724</v> + <v>22761</v> </b> <b> <a>7</a> <b>29</b> - <v>20693</v> + <v>20750</v> </b> <b> <a>29</a> - <b>222217</b> - <v>7720</v> + <b>243390</b> + <v>7783</v> </b> </bs> </hist> @@ -19902,12 +19638,12 @@ <b> <a>1</a> <b>2</b> - <v>259340</v> + <v>262839</v> </b> <b> <a>2</a> <b>5</b> - <v>13235</v> + <v>13085</v> </b> </bs> </hist> @@ -19917,15 +19653,15 @@ </relation> <relation> <name>ruby_unary_def</name> - <cardinality>13726</cardinality> + <cardinality>14535</cardinality> <columnsizes> <e> <k>id</k> - <v>13726</v> + <v>14535</v> </e> <e> <k>operand</k> - <v>13726</v> + <v>14535</v> </e> <e> <k>operator</k> @@ -19943,7 +19679,7 @@ <b> <a>1</a> <b>2</b> - <v>13726</v> + <v>14535</v> </b> </bs> </hist> @@ -19959,7 +19695,7 @@ <b> <a>1</a> <b>2</b> - <v>13726</v> + <v>14535</v> </b> </bs> </hist> @@ -19975,7 +19711,7 @@ <b> <a>1</a> <b>2</b> - <v>13726</v> + <v>14535</v> </b> </bs> </hist> @@ -19991,7 +19727,7 @@ <b> <a>1</a> <b>2</b> - <v>13726</v> + <v>14535</v> </b> </bs> </hist> @@ -20005,33 +19741,33 @@ <budget>12</budget> <bs> <b> - <a>98</a> - <b>99</b> + <a>97</a> + <b>98</b> <v>1</v> </b> <b> - <a>190</a> - <b>191</b> + <a>172</a> + <b>173</b> <v>1</v> </b> <b> - <a>566</a> - <b>567</b> + <a>947</a> + <b>948</b> <v>1</v> </b> <b> - <a>1301</a> - <b>1302</b> + <a>1369</a> + <b>1370</b> <v>1</v> </b> <b> - <a>1938</a> - <b>1939</b> + <a>2120</a> + <b>2121</b> <v>1</v> </b> <b> - <a>9633</a> - <b>9634</b> + <a>9830</a> + <b>9831</b> <v>1</v> </b> </bs> @@ -20046,33 +19782,33 @@ <budget>12</budget> <bs> <b> - <a>98</a> - <b>99</b> + <a>97</a> + <b>98</b> <v>1</v> </b> <b> - <a>190</a> - <b>191</b> + <a>172</a> + <b>173</b> <v>1</v> </b> <b> - <a>566</a> - <b>567</b> + <a>947</a> + <b>948</b> <v>1</v> </b> <b> - <a>1301</a> - <b>1302</b> + <a>1369</a> + <b>1370</b> <v>1</v> </b> <b> - <a>1938</a> - <b>1939</b> + <a>2120</a> + <b>2121</b> <v>1</v> </b> <b> - <a>9633</a> - <b>9634</b> + <a>9830</a> + <b>9831</b> <v>1</v> </b> </bs> @@ -20230,15 +19966,15 @@ </relation> <relation> <name>ruby_unless_alternative</name> - <cardinality>42</cardinality> + <cardinality>43</cardinality> <columnsizes> <e> <k>ruby_unless</k> - <v>42</v> + <v>43</v> </e> <e> <k>alternative</k> - <v>42</v> + <v>43</v> </e> </columnsizes> <dependencies> @@ -20252,7 +19988,7 @@ <b> <a>1</a> <b>2</b> - <v>42</v> + <v>43</v> </b> </bs> </hist> @@ -20268,7 +20004,7 @@ <b> <a>1</a> <b>2</b> - <v>42</v> + <v>43</v> </b> </bs> </hist> @@ -20278,15 +20014,15 @@ </relation> <relation> <name>ruby_unless_consequence</name> - <cardinality>2662</cardinality> + <cardinality>2721</cardinality> <columnsizes> <e> <k>ruby_unless</k> - <v>2662</v> + <v>2721</v> </e> <e> <k>consequence</k> - <v>2662</v> + <v>2721</v> </e> </columnsizes> <dependencies> @@ -20300,7 +20036,7 @@ <b> <a>1</a> <b>2</b> - <v>2662</v> + <v>2721</v> </b> </bs> </hist> @@ -20316,7 +20052,7 @@ <b> <a>1</a> <b>2</b> - <v>2662</v> + <v>2721</v> </b> </bs> </hist> @@ -20326,15 +20062,15 @@ </relation> <relation> <name>ruby_unless_def</name> - <cardinality>2663</cardinality> + <cardinality>2723</cardinality> <columnsizes> <e> <k>id</k> - <v>2663</v> + <v>2723</v> </e> <e> <k>condition</k> - <v>2663</v> + <v>2723</v> </e> </columnsizes> <dependencies> @@ -20348,7 +20084,7 @@ <b> <a>1</a> <b>2</b> - <v>2663</v> + <v>2723</v> </b> </bs> </hist> @@ -20364,7 +20100,7 @@ <b> <a>1</a> <b>2</b> - <v>2663</v> + <v>2723</v> </b> </bs> </hist> @@ -20422,19 +20158,19 @@ </relation> <relation> <name>ruby_unless_modifier_def</name> - <cardinality>3505</cardinality> + <cardinality>3416</cardinality> <columnsizes> <e> <k>id</k> - <v>3505</v> + <v>3416</v> </e> <e> <k>body</k> - <v>3505</v> + <v>3416</v> </e> <e> <k>condition</k> - <v>3505</v> + <v>3416</v> </e> </columnsizes> <dependencies> @@ -20448,7 +20184,7 @@ <b> <a>1</a> <b>2</b> - <v>3505</v> + <v>3416</v> </b> </bs> </hist> @@ -20464,7 +20200,7 @@ <b> <a>1</a> <b>2</b> - <v>3505</v> + <v>3416</v> </b> </bs> </hist> @@ -20480,7 +20216,7 @@ <b> <a>1</a> <b>2</b> - <v>3505</v> + <v>3416</v> </b> </bs> </hist> @@ -20496,7 +20232,7 @@ <b> <a>1</a> <b>2</b> - <v>3505</v> + <v>3416</v> </b> </bs> </hist> @@ -20512,7 +20248,7 @@ <b> <a>1</a> <b>2</b> - <v>3505</v> + <v>3416</v> </b> </bs> </hist> @@ -20528,7 +20264,7 @@ <b> <a>1</a> <b>2</b> - <v>3505</v> + <v>3416</v> </b> </bs> </hist> @@ -20538,19 +20274,19 @@ </relation> <relation> <name>ruby_until_def</name> - <cardinality>123</cardinality> + <cardinality>126</cardinality> <columnsizes> <e> <k>id</k> - <v>123</v> + <v>126</v> </e> <e> <k>body</k> - <v>123</v> + <v>126</v> </e> <e> <k>condition</k> - <v>123</v> + <v>126</v> </e> </columnsizes> <dependencies> @@ -20564,7 +20300,7 @@ <b> <a>1</a> <b>2</b> - <v>123</v> + <v>126</v> </b> </bs> </hist> @@ -20580,7 +20316,7 @@ <b> <a>1</a> <b>2</b> - <v>123</v> + <v>126</v> </b> </bs> </hist> @@ -20596,7 +20332,7 @@ <b> <a>1</a> <b>2</b> - <v>123</v> + <v>126</v> </b> </bs> </hist> @@ -20612,7 +20348,7 @@ <b> <a>1</a> <b>2</b> - <v>123</v> + <v>126</v> </b> </bs> </hist> @@ -20628,7 +20364,7 @@ <b> <a>1</a> <b>2</b> - <v>123</v> + <v>126</v> </b> </bs> </hist> @@ -20644,7 +20380,7 @@ <b> <a>1</a> <b>2</b> - <v>123</v> + <v>126</v> </b> </bs> </hist> @@ -20654,19 +20390,19 @@ </relation> <relation> <name>ruby_until_modifier_def</name> - <cardinality>234</cardinality> + <cardinality>238</cardinality> <columnsizes> <e> <k>id</k> - <v>234</v> + <v>238</v> </e> <e> <k>body</k> - <v>234</v> + <v>238</v> </e> <e> <k>condition</k> - <v>234</v> + <v>238</v> </e> </columnsizes> <dependencies> @@ -20680,7 +20416,7 @@ <b> <a>1</a> <b>2</b> - <v>234</v> + <v>238</v> </b> </bs> </hist> @@ -20696,7 +20432,7 @@ <b> <a>1</a> <b>2</b> - <v>234</v> + <v>238</v> </b> </bs> </hist> @@ -20712,7 +20448,7 @@ <b> <a>1</a> <b>2</b> - <v>234</v> + <v>238</v> </b> </bs> </hist> @@ -20728,7 +20464,7 @@ <b> <a>1</a> <b>2</b> - <v>234</v> + <v>238</v> </b> </bs> </hist> @@ -20744,7 +20480,7 @@ <b> <a>1</a> <b>2</b> - <v>234</v> + <v>238</v> </b> </bs> </hist> @@ -20760,7 +20496,7 @@ <b> <a>1</a> <b>2</b> - <v>234</v> + <v>238</v> </b> </bs> </hist> @@ -20818,15 +20554,15 @@ </relation> <relation> <name>ruby_when_body</name> - <cardinality>3358</cardinality> + <cardinality>3790</cardinality> <columnsizes> <e> <k>ruby_when</k> - <v>3358</v> + <v>3790</v> </e> <e> <k>body</k> - <v>3358</v> + <v>3790</v> </e> </columnsizes> <dependencies> @@ -20840,7 +20576,7 @@ <b> <a>1</a> <b>2</b> - <v>3358</v> + <v>3790</v> </b> </bs> </hist> @@ -20856,7 +20592,7 @@ <b> <a>1</a> <b>2</b> - <v>3358</v> + <v>3790</v> </b> </bs> </hist> @@ -20866,22 +20602,22 @@ </relation> <relation> <name>ruby_when_def</name> - <cardinality>3392</cardinality> + <cardinality>3882</cardinality> <columnsizes> <e> <k>id</k> - <v>3392</v> + <v>3882</v> </e> </columnsizes> <dependencies/> </relation> <relation> <name>ruby_when_pattern</name> - <cardinality>4153</cardinality> + <cardinality>4745</cardinality> <columnsizes> <e> <k>ruby_when</k> - <v>3377</v> + <v>3882</v> </e> <e> <k>index</k> @@ -20889,7 +20625,7 @@ </e> <e> <k>pattern</k> - <v>4153</v> + <v>4745</v> </e> </columnsizes> <dependencies> @@ -20903,17 +20639,17 @@ <b> <a>1</a> <b>2</b> - <v>2934</v> + <v>3393</v> </b> <b> <a>2</a> <b>3</b> - <v>293</v> + <v>330</v> </b> <b> <a>3</a> <b>16</b> - <v>150</v> + <v>159</v> </b> </bs> </hist> @@ -20929,17 +20665,17 @@ <b> <a>1</a> <b>2</b> - <v>2934</v> + <v>3393</v> </b> <b> <a>2</a> <b>3</b> - <v>293</v> + <v>330</v> </b> <b> <a>3</a> <b>16</b> - <v>150</v> + <v>159</v> </b> </bs> </hist> @@ -20960,51 +20696,56 @@ <b> <a>3</a> <b>4</b> - <v>4</v> + <v>2</v> </b> <b> <a>4</a> <b>5</b> + <v>2</v> + </b> + <b> + <a>5</a> + <b>6</b> <v>1</v> </b> <b> - <a>6</a> - <b>7</b> + <a>10</a> + <b>11</b> <v>1</v> </b> <b> - <a>14</a> - <b>15</b> + <a>19</a> + <b>20</b> <v>1</v> </b> <b> - <a>25</a> - <b>26</b> + <a>31</a> + <b>32</b> <v>1</v> </b> <b> - <a>35</a> - <b>36</b> + <a>44</a> + <b>45</b> <v>1</v> </b> <b> - <a>85</a> - <b>86</b> + <a>90</a> + <b>91</b> <v>1</v> </b> <b> - <a>150</a> - <b>151</b> + <a>159</a> + <b>160</b> <v>1</v> </b> <b> - <a>443</a> - <b>444</b> + <a>489</a> + <b>490</b> <v>1</v> </b> <b> - <a>3377</a> - <b>3378</b> + <a>3882</a> + <b>3883</b> <v>1</v> </b> </bs> @@ -21026,51 +20767,56 @@ <b> <a>3</a> <b>4</b> - <v>4</v> + <v>2</v> </b> <b> <a>4</a> <b>5</b> + <v>2</v> + </b> + <b> + <a>5</a> + <b>6</b> <v>1</v> </b> <b> - <a>6</a> - <b>7</b> + <a>10</a> + <b>11</b> <v>1</v> </b> <b> - <a>14</a> - <b>15</b> + <a>19</a> + <b>20</b> <v>1</v> </b> <b> - <a>25</a> - <b>26</b> + <a>31</a> + <b>32</b> <v>1</v> </b> <b> - <a>35</a> - <b>36</b> + <a>44</a> + <b>45</b> <v>1</v> </b> <b> - <a>85</a> - <b>86</b> + <a>90</a> + <b>91</b> <v>1</v> </b> <b> - <a>150</a> - <b>151</b> + <a>159</a> + <b>160</b> <v>1</v> </b> <b> - <a>443</a> - <b>444</b> + <a>489</a> + <b>490</b> <v>1</v> </b> <b> - <a>3377</a> - <b>3378</b> + <a>3882</a> + <b>3883</b> <v>1</v> </b> </bs> @@ -21087,7 +20833,7 @@ <b> <a>1</a> <b>2</b> - <v>4153</v> + <v>4745</v> </b> </bs> </hist> @@ -21103,7 +20849,7 @@ <b> <a>1</a> <b>2</b> - <v>4153</v> + <v>4745</v> </b> </bs> </hist> @@ -21113,19 +20859,19 @@ </relation> <relation> <name>ruby_while_def</name> - <cardinality>1400</cardinality> + <cardinality>1413</cardinality> <columnsizes> <e> <k>id</k> - <v>1400</v> + <v>1413</v> </e> <e> <k>body</k> - <v>1400</v> + <v>1413</v> </e> <e> <k>condition</k> - <v>1400</v> + <v>1413</v> </e> </columnsizes> <dependencies> @@ -21139,7 +20885,7 @@ <b> <a>1</a> <b>2</b> - <v>1400</v> + <v>1413</v> </b> </bs> </hist> @@ -21155,7 +20901,7 @@ <b> <a>1</a> <b>2</b> - <v>1400</v> + <v>1413</v> </b> </bs> </hist> @@ -21171,7 +20917,7 @@ <b> <a>1</a> <b>2</b> - <v>1400</v> + <v>1413</v> </b> </bs> </hist> @@ -21187,7 +20933,7 @@ <b> <a>1</a> <b>2</b> - <v>1400</v> + <v>1413</v> </b> </bs> </hist> @@ -21203,7 +20949,7 @@ <b> <a>1</a> <b>2</b> - <v>1400</v> + <v>1413</v> </b> </bs> </hist> @@ -21219,7 +20965,7 @@ <b> <a>1</a> <b>2</b> - <v>1400</v> + <v>1413</v> </b> </bs> </hist> @@ -21229,19 +20975,19 @@ </relation> <relation> <name>ruby_while_modifier_def</name> - <cardinality>194</cardinality> + <cardinality>198</cardinality> <columnsizes> <e> <k>id</k> - <v>194</v> + <v>198</v> </e> <e> <k>body</k> - <v>194</v> + <v>198</v> </e> <e> <k>condition</k> - <v>194</v> + <v>198</v> </e> </columnsizes> <dependencies> @@ -21255,7 +21001,7 @@ <b> <a>1</a> <b>2</b> - <v>194</v> + <v>198</v> </b> </bs> </hist> @@ -21271,7 +21017,7 @@ <b> <a>1</a> <b>2</b> - <v>194</v> + <v>198</v> </b> </bs> </hist> @@ -21287,7 +21033,7 @@ <b> <a>1</a> <b>2</b> - <v>194</v> + <v>198</v> </b> </bs> </hist> @@ -21303,7 +21049,7 @@ <b> <a>1</a> <b>2</b> - <v>194</v> + <v>198</v> </b> </bs> </hist> @@ -21319,7 +21065,7 @@ <b> <a>1</a> <b>2</b> - <v>194</v> + <v>198</v> </b> </bs> </hist> @@ -21335,7 +21081,7 @@ <b> <a>1</a> <b>2</b> - <v>194</v> + <v>198</v> </b> </bs> </hist> @@ -21345,15 +21091,15 @@ </relation> <relation> <name>ruby_yield_child</name> - <cardinality>1111</cardinality> + <cardinality>1103</cardinality> <columnsizes> <e> <k>ruby_yield</k> - <v>1111</v> + <v>1103</v> </e> <e> <k>child</k> - <v>1111</v> + <v>1103</v> </e> </columnsizes> <dependencies> @@ -21367,7 +21113,7 @@ <b> <a>1</a> <b>2</b> - <v>1111</v> + <v>1103</v> </b> </bs> </hist> @@ -21383,7 +21129,7 @@ <b> <a>1</a> <b>2</b> - <v>1111</v> + <v>1103</v> </b> </bs> </hist> @@ -21393,11 +21139,11 @@ </relation> <relation> <name>ruby_yield_def</name> - <cardinality>2477</cardinality> + <cardinality>2450</cardinality> <columnsizes> <e> <k>id</k> - <v>2477</v> + <v>2450</v> </e> </columnsizes> <dependencies/> diff --git a/ruby/ql/lib/upgrades/f9f0f4023e433184fda76f595247bf448b782135/erb_ast_node_location.ql b/ruby/ql/lib/upgrades/f9f0f4023e433184fda76f595247bf448b782135/erb_ast_node_location.ql new file mode 100644 index 00000000000..add4e3d655c --- /dev/null +++ b/ruby/ql/lib/upgrades/f9f0f4023e433184fda76f595247bf448b782135/erb_ast_node_location.ql @@ -0,0 +1,11 @@ +class AstNode extends @erb_ast_node { + string toString() { none() } +} + +class Location extends @location_default { + string toString() { none() } +} + +from AstNode n, Location location +where erb_ast_node_info(n, _, _, location) +select n, location diff --git a/ruby/ql/lib/upgrades/f9f0f4023e433184fda76f595247bf448b782135/erb_ast_node_parent.ql b/ruby/ql/lib/upgrades/f9f0f4023e433184fda76f595247bf448b782135/erb_ast_node_parent.ql new file mode 100644 index 00000000000..2a7b6b2ff78 --- /dev/null +++ b/ruby/ql/lib/upgrades/f9f0f4023e433184fda76f595247bf448b782135/erb_ast_node_parent.ql @@ -0,0 +1,7 @@ +class AstNode extends @erb_ast_node { + string toString() { none() } +} + +from AstNode n, int i, AstNode parent +where erb_ast_node_info(n, parent, i, _) +select n, parent, i diff --git a/ruby/ql/lib/upgrades/f9f0f4023e433184fda76f595247bf448b782135/old.dbscheme b/ruby/ql/lib/upgrades/f9f0f4023e433184fda76f595247bf448b782135/old.dbscheme new file mode 100644 index 00000000000..f9f0f4023e4 --- /dev/null +++ b/ruby/ql/lib/upgrades/f9f0f4023e433184fda76f595247bf448b782135/old.dbscheme @@ -0,0 +1,1509 @@ +// 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 +); + +/*- 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; + +/*- 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_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_parent = @file | @ruby_ast_node + +#keyset[parent, parent_index] +ruby_ast_node_info( + unique int node: @ruby_ast_node ref, + int parent: @ruby_ast_node_parent ref, + int parent_index: int ref, + int loc: @location_default 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_parent = @erb_ast_node | @file + +#keyset[parent, parent_index] +erb_ast_node_info( + unique int node: @erb_ast_node ref, + int parent: @erb_ast_node_parent ref, + int parent_index: int ref, + int loc: @location_default ref +); + diff --git a/ruby/ql/lib/upgrades/f9f0f4023e433184fda76f595247bf448b782135/ruby.dbscheme b/ruby/ql/lib/upgrades/f9f0f4023e433184fda76f595247bf448b782135/ruby.dbscheme new file mode 100644 index 00000000000..440de75c71e --- /dev/null +++ b/ruby/ql/lib/upgrades/f9f0f4023e433184fda76f595247bf448b782135/ruby.dbscheme @@ -0,0 +1,1513 @@ +// 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 +); + +/*- 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; + +/*- 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_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/f9f0f4023e433184fda76f595247bf448b782135/ruby_ast_node_location.ql b/ruby/ql/lib/upgrades/f9f0f4023e433184fda76f595247bf448b782135/ruby_ast_node_location.ql new file mode 100644 index 00000000000..09f30acf973 --- /dev/null +++ b/ruby/ql/lib/upgrades/f9f0f4023e433184fda76f595247bf448b782135/ruby_ast_node_location.ql @@ -0,0 +1,11 @@ +class AstNode extends @ruby_ast_node { + string toString() { none() } +} + +class Location extends @location_default { + string toString() { none() } +} + +from AstNode n, Location location +where ruby_ast_node_info(n, _, _, location) +select n, location diff --git a/ruby/ql/lib/upgrades/f9f0f4023e433184fda76f595247bf448b782135/ruby_ast_node_parent.ql b/ruby/ql/lib/upgrades/f9f0f4023e433184fda76f595247bf448b782135/ruby_ast_node_parent.ql new file mode 100644 index 00000000000..024ed9ee6b7 --- /dev/null +++ b/ruby/ql/lib/upgrades/f9f0f4023e433184fda76f595247bf448b782135/ruby_ast_node_parent.ql @@ -0,0 +1,7 @@ +class AstNode extends @ruby_ast_node { + string toString() { none() } +} + +from AstNode n, int i, AstNode parent +where ruby_ast_node_info(n, parent, i, _) +select n, parent, i diff --git a/ruby/ql/lib/upgrades/f9f0f4023e433184fda76f595247bf448b782135/upgrade.properties b/ruby/ql/lib/upgrades/f9f0f4023e433184fda76f595247bf448b782135/upgrade.properties new file mode 100644 index 00000000000..ddac0258abe --- /dev/null +++ b/ruby/ql/lib/upgrades/f9f0f4023e433184fda76f595247bf448b782135/upgrade.properties @@ -0,0 +1,8 @@ +description: Split up `ruby_ast_node_info` into `ruby_ast_node_location` and `ruby_ast_node_parent` (and same for `erb`) +compatibility: backwards +erb_ast_node_location.rel: run erb_ast_node_location.qlo +erb_ast_node_parent.rel: run erb_ast_node_parent.qlo +erb_ast_node_info.rel: delete +ruby_ast_node_location.rel: run ruby_ast_node_location.qlo +ruby_ast_node_parent.rel: run ruby_ast_node_parent.qlo +ruby_ast_node_info.rel: delete diff --git a/ruby/ql/src/CHANGELOG.md b/ruby/ql/src/CHANGELOG.md index 4149c728eff..63f443e0940 100644 --- a/ruby/ql/src/CHANGELOG.md +++ b/ruby/ql/src/CHANGELOG.md @@ -1,3 +1,14 @@ +## 0.8.11 + +No user-facing changes. + +## 0.8.10 + +### Minor Analysis Improvements + +* Calls to `Object#method`, `Object#public_method` and `Object#singleton_method` with untrusted data are now recognised as sinks for code injection. +* Added additional request sources for Ruby on Rails. + ## 0.8.9 No user-facing changes. diff --git a/ruby/ql/src/change-notes/2024-02-13-rails-more-request-sources.md b/ruby/ql/src/change-notes/2024-02-13-rails-more-request-sources.md deleted file mode 100644 index 84ea696dfef..00000000000 --- a/ruby/ql/src/change-notes/2024-02-13-rails-more-request-sources.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Added additional request sources for Ruby on Rails. \ No newline at end of file diff --git a/ruby/ql/src/change-notes/2024-03-01-method-code-injection-sinks.md b/ruby/ql/src/change-notes/released/0.8.10.md similarity index 51% rename from ruby/ql/src/change-notes/2024-03-01-method-code-injection-sinks.md rename to ruby/ql/src/change-notes/released/0.8.10.md index 43e40d3fd53..985cdf8d22e 100644 --- a/ruby/ql/src/change-notes/2024-03-01-method-code-injection-sinks.md +++ b/ruby/ql/src/change-notes/released/0.8.10.md @@ -1,4 +1,6 @@ ---- -category: minorAnalysis ---- -* Calls to `Object#method`, `Object#public_method` and `Object#singleton_method` with untrusted data are now recognised as sinks for code injection. \ No newline at end of file +## 0.8.10 + +### Minor Analysis Improvements + +* Calls to `Object#method`, `Object#public_method` and `Object#singleton_method` with untrusted data are now recognised as sinks for code injection. +* Added additional request sources for Ruby on Rails. diff --git a/ruby/ql/src/change-notes/released/0.8.11.md b/ruby/ql/src/change-notes/released/0.8.11.md new file mode 100644 index 00000000000..6f504c5c207 --- /dev/null +++ b/ruby/ql/src/change-notes/released/0.8.11.md @@ -0,0 +1,3 @@ +## 0.8.11 + +No user-facing changes. diff --git a/ruby/ql/src/codeql-pack.release.yml b/ruby/ql/src/codeql-pack.release.yml index 5290c29b7fe..7b42a9d984c 100644 --- a/ruby/ql/src/codeql-pack.release.yml +++ b/ruby/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.8.9 +lastReleaseVersion: 0.8.11 diff --git a/ruby/ql/src/qlpack.yml b/ruby/ql/src/qlpack.yml index 8af7f9fd797..2ffba7618dd 100644 --- a/ruby/ql/src/qlpack.yml +++ b/ruby/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-queries -version: 0.8.10-dev +version: 0.8.12-dev groups: - ruby - queries diff --git a/ruby/ql/src/queries/summary/LinesOfCode.ql b/ruby/ql/src/queries/summary/LinesOfCode.ql index 74994d77347..f90cf34d046 100644 --- a/ruby/ql/src/queries/summary/LinesOfCode.ql +++ b/ruby/ql/src/queries/summary/LinesOfCode.ql @@ -8,6 +8,7 @@ * @kind metric * @tags summary * lines-of-code + * debug */ import codeql.ruby.AST diff --git a/ruby/ql/src/queries/summary/LinesOfUserCode.ql b/ruby/ql/src/queries/summary/LinesOfUserCode.ql index d8025088ceb..91471c417ee 100644 --- a/ruby/ql/src/queries/summary/LinesOfUserCode.ql +++ b/ruby/ql/src/queries/summary/LinesOfUserCode.ql @@ -6,6 +6,7 @@ * query counts the lines of code, excluding whitespace or comments. * @kind metric * @tags summary + * debug */ import codeql.ruby.AST diff --git a/ruby/ql/test/TestUtilities/InlineFlowTest.qll b/ruby/ql/test/TestUtilities/InlineFlowTest.qll index c9ceda9dff5..7d8a4cb03b8 100644 --- a/ruby/ql/test/TestUtilities/InlineFlowTest.qll +++ b/ruby/ql/test/TestUtilities/InlineFlowTest.qll @@ -4,12 +4,13 @@ */ import ruby +private import codeql.Locations private import codeql.dataflow.test.InlineFlowTest private import codeql.ruby.dataflow.internal.DataFlowImplSpecific private import codeql.ruby.dataflow.internal.TaintTrackingImplSpecific private import internal.InlineExpectationsTestImpl -private module FlowTestImpl implements InputSig<RubyDataFlow> { +private module FlowTestImpl implements InputSig<Location, RubyDataFlow> { import TestUtilities.InlineFlowTestUtil bindingset[src, sink] @@ -19,4 +20,4 @@ private module FlowTestImpl implements InputSig<RubyDataFlow> { } } -import InlineFlowTestMake<RubyDataFlow, RubyTaintTracking, Impl, FlowTestImpl> +import InlineFlowTestMake<Location, RubyDataFlow, RubyTaintTracking, Impl, FlowTestImpl> diff --git a/ruby/ql/test/library-tests/dataflow/array-flow/array-flow.expected b/ruby/ql/test/library-tests/dataflow/array-flow/array-flow.expected index 94906c18fb5..fb709a9ee57 100644 --- a/ruby/ql/test/library-tests/dataflow/array-flow/array-flow.expected +++ b/ruby/ql/test/library-tests/dataflow/array-flow/array-flow.expected @@ -298,7 +298,9 @@ edges | array_flow.rb:251:9:251:9 | a [element 2] | array_flow.rb:251:30:251:30 | x | provenance | | | array_flow.rb:251:9:254:7 | call to collect_concat [element] | array_flow.rb:251:5:251:5 | b [element] | provenance | | | array_flow.rb:251:30:251:30 | x | array_flow.rb:252:14:252:14 | x | provenance | | +| array_flow.rb:251:30:251:30 | x | array_flow.rb:253:10:253:10 | x | provenance | | | array_flow.rb:253:9:253:25 | call to [] [element 1] | array_flow.rb:251:9:254:7 | call to collect_concat [element] | provenance | | +| array_flow.rb:253:10:253:10 | x | array_flow.rb:253:9:253:25 | call to [] [element 0] | provenance | | | array_flow.rb:253:13:253:24 | call to source | array_flow.rb:253:9:253:25 | call to [] [element 1] | provenance | | | array_flow.rb:255:10:255:10 | b [element] | array_flow.rb:255:10:255:13 | ...[...] | provenance | | | array_flow.rb:256:5:256:5 | b [element] | array_flow.rb:260:10:260:10 | b [element] | provenance | | @@ -631,6 +633,7 @@ edges | array_flow.rb:507:9:507:9 | a [element 3] | array_flow.rb:507:26:507:26 | x | provenance | | | array_flow.rb:507:9:510:7 | call to filter_map [element] | array_flow.rb:507:5:507:5 | b [element] | provenance | | | array_flow.rb:507:26:507:26 | x | array_flow.rb:508:14:508:14 | x | provenance | | +| array_flow.rb:507:26:507:26 | x | array_flow.rb:509:9:509:9 | x | provenance | | | array_flow.rb:511:10:511:10 | b [element] | array_flow.rb:511:10:511:13 | ...[...] | provenance | | | array_flow.rb:518:5:518:5 | d [element] | array_flow.rb:521:10:521:10 | d [element] | provenance | | | array_flow.rb:518:9:520:7 | call to filter_map [element] | array_flow.rb:518:5:518:5 | d [element] | provenance | | @@ -718,7 +721,9 @@ edges | array_flow.rb:571:9:571:9 | a [element 2] | array_flow.rb:571:24:571:24 | x | provenance | | | array_flow.rb:571:9:574:7 | call to flat_map [element] | array_flow.rb:571:5:571:5 | b [element] | provenance | | | array_flow.rb:571:24:571:24 | x | array_flow.rb:572:14:572:14 | x | provenance | | +| array_flow.rb:571:24:571:24 | x | array_flow.rb:573:10:573:10 | x | provenance | | | array_flow.rb:573:9:573:25 | call to [] [element 1] | array_flow.rb:571:9:574:7 | call to flat_map [element] | provenance | | +| array_flow.rb:573:10:573:10 | x | array_flow.rb:573:9:573:25 | call to [] [element 0] | provenance | | | array_flow.rb:573:13:573:24 | call to source | array_flow.rb:573:9:573:25 | call to [] [element 1] | provenance | | | array_flow.rb:575:10:575:10 | b [element] | array_flow.rb:575:10:575:13 | ...[...] | provenance | | | array_flow.rb:576:5:576:5 | b [element] | array_flow.rb:580:10:580:10 | b [element] | provenance | | @@ -2337,7 +2342,9 @@ edges | array_flow.rb:1677:16:1677:28 | call to source | array_flow.rb:1677:9:1677:29 | call to [] [element 2] | provenance | | | array_flow.rb:1678:5:1678:5 | b [element] | array_flow.rb:1681:10:1681:10 | b [element] | provenance | | | array_flow.rb:1678:9:1678:9 | a [element 2] | array_flow.rb:1678:9:1680:7 | call to map [element] | provenance | | +| array_flow.rb:1678:9:1678:9 | a [element 2] | array_flow.rb:1678:19:1678:19 | x | provenance | | | array_flow.rb:1678:9:1680:7 | call to map [element] | array_flow.rb:1678:5:1678:5 | b [element] | provenance | | +| array_flow.rb:1678:19:1678:19 | x | array_flow.rb:1679:9:1679:9 | x | provenance | | | array_flow.rb:1681:10:1681:10 | b [element] | array_flow.rb:1681:10:1681:13 | ...[...] | provenance | | | array_flow.rb:1685:5:1685:5 | a [element 2] | array_flow.rb:1686:18:1686:18 | a [element 2] | provenance | | | array_flow.rb:1685:5:1685:5 | a [element 3] | array_flow.rb:1686:18:1686:18 | a [element 3] | provenance | | @@ -2674,7 +2681,9 @@ nodes | array_flow.rb:251:9:254:7 | call to collect_concat [element] | semmle.label | call to collect_concat [element] | | array_flow.rb:251:30:251:30 | x | semmle.label | x | | array_flow.rb:252:14:252:14 | x | semmle.label | x | +| array_flow.rb:253:9:253:25 | call to [] [element 0] | semmle.label | call to [] [element 0] | | array_flow.rb:253:9:253:25 | call to [] [element 1] | semmle.label | call to [] [element 1] | +| array_flow.rb:253:10:253:10 | x | semmle.label | x | | array_flow.rb:253:13:253:24 | call to source | semmle.label | call to source | | array_flow.rb:255:10:255:10 | b [element] | semmle.label | b [element] | | array_flow.rb:255:10:255:13 | ...[...] | semmle.label | ...[...] | @@ -3041,6 +3050,7 @@ nodes | array_flow.rb:507:9:510:7 | call to filter_map [element] | semmle.label | call to filter_map [element] | | array_flow.rb:507:26:507:26 | x | semmle.label | x | | array_flow.rb:508:14:508:14 | x | semmle.label | x | +| array_flow.rb:509:9:509:9 | x | semmle.label | x | | array_flow.rb:511:10:511:10 | b [element] | semmle.label | b [element] | | array_flow.rb:511:10:511:13 | ...[...] | semmle.label | ...[...] | | array_flow.rb:518:5:518:5 | d [element] | semmle.label | d [element] | @@ -3132,7 +3142,9 @@ nodes | array_flow.rb:571:9:574:7 | call to flat_map [element] | semmle.label | call to flat_map [element] | | array_flow.rb:571:24:571:24 | x | semmle.label | x | | array_flow.rb:572:14:572:14 | x | semmle.label | x | +| array_flow.rb:573:9:573:25 | call to [] [element 0] | semmle.label | call to [] [element 0] | | array_flow.rb:573:9:573:25 | call to [] [element 1] | semmle.label | call to [] [element 1] | +| array_flow.rb:573:10:573:10 | x | semmle.label | x | | array_flow.rb:573:13:573:24 | call to source | semmle.label | call to source | | array_flow.rb:575:10:575:10 | b [element] | semmle.label | b [element] | | array_flow.rb:575:10:575:13 | ...[...] | semmle.label | ...[...] | @@ -4821,6 +4833,8 @@ nodes | array_flow.rb:1678:5:1678:5 | b [element] | semmle.label | b [element] | | array_flow.rb:1678:9:1678:9 | a [element 2] | semmle.label | a [element 2] | | array_flow.rb:1678:9:1680:7 | call to map [element] | semmle.label | call to map [element] | +| array_flow.rb:1678:19:1678:19 | x | semmle.label | x | +| array_flow.rb:1679:9:1679:9 | x | semmle.label | x | | array_flow.rb:1681:10:1681:10 | b [element] | semmle.label | b [element] | | array_flow.rb:1681:10:1681:13 | ...[...] | semmle.label | ...[...] | | array_flow.rb:1685:5:1685:5 | a [element 2] | semmle.label | a [element 2] | @@ -4836,6 +4850,10 @@ nodes | array_flow.rb:1689:10:1689:10 | z | semmle.label | z | | array_flow.rb:1690:10:1690:10 | w | semmle.label | w | subpaths +| array_flow.rb:251:9:251:9 | a [element 2] | array_flow.rb:251:30:251:30 | x | array_flow.rb:253:9:253:25 | call to [] [element 0] | array_flow.rb:251:9:254:7 | call to collect_concat [element] | +| array_flow.rb:507:9:507:9 | a [element 3] | array_flow.rb:507:26:507:26 | x | array_flow.rb:509:9:509:9 | x | array_flow.rb:507:9:510:7 | call to filter_map [element] | +| array_flow.rb:571:9:571:9 | a [element 2] | array_flow.rb:571:24:571:24 | x | array_flow.rb:573:9:573:25 | call to [] [element 0] | array_flow.rb:571:9:574:7 | call to flat_map [element] | +| array_flow.rb:1678:9:1678:9 | a [element 2] | array_flow.rb:1678:19:1678:19 | x | array_flow.rb:1679:9:1679:9 | x | array_flow.rb:1678:9:1680:7 | call to map [element] | arrayLiteral | array_flow.rb:9:9:9:25 | call to [] | | array_flow.rb:33:9:33:22 | call to [] | diff --git a/ruby/ql/test/library-tests/dataflow/global/Flow.expected b/ruby/ql/test/library-tests/dataflow/global/Flow.expected index 7ae00a80dce..22d5fd7d18b 100644 --- a/ruby/ql/test/library-tests/dataflow/global/Flow.expected +++ b/ruby/ql/test/library-tests/dataflow/global/Flow.expected @@ -1,10 +1,7 @@ testFailures edges | blocks.rb:14:12:14:20 | call to source | blocks.rb:8:10:8:14 | yield ... | provenance | | -| captured_variables.rb:9:24:9:24 | x | captured_variables.rb:10:10:10:23 | -> { ... } [captured x] | provenance | | | captured_variables.rb:9:24:9:24 | x | captured_variables.rb:11:5:11:6 | fn [captured x] | provenance | | -| captured_variables.rb:10:5:10:6 | fn [captured x] | captured_variables.rb:11:5:11:6 | fn [captured x] | provenance | | -| captured_variables.rb:10:10:10:23 | -> { ... } [captured x] | captured_variables.rb:10:5:10:6 | fn [captured x] | provenance | | | captured_variables.rb:11:5:11:6 | fn [captured x] | captured_variables.rb:10:20:10:20 | x | provenance | | | captured_variables.rb:13:20:13:29 | call to taint | captured_variables.rb:9:24:9:24 | x | provenance | | | captured_variables.rb:15:28:15:28 | x | captured_variables.rb:16:5:18:5 | -> { ... } [captured x] | provenance | | @@ -16,18 +13,12 @@ edges | captured_variables.rb:27:25:27:57 | call to capture_escape_return2 [captured x] | captured_variables.rb:24:14:24:14 | x | provenance | | | captured_variables.rb:27:48:27:57 | call to taint | captured_variables.rb:22:28:22:28 | x | provenance | | | captured_variables.rb:27:48:27:57 | call to taint | captured_variables.rb:27:25:27:57 | call to capture_escape_return2 [captured x] | provenance | | -| captured_variables.rb:29:33:29:33 | x | captured_variables.rb:30:10:32:5 | -> { ... } [captured x] | provenance | | | captured_variables.rb:29:33:29:33 | x | captured_variables.rb:33:29:33:30 | fn [captured x] | provenance | | -| captured_variables.rb:30:5:30:6 | fn [captured x] | captured_variables.rb:33:29:33:30 | fn [captured x] | provenance | | -| captured_variables.rb:30:10:32:5 | -> { ... } [captured x] | captured_variables.rb:30:5:30:6 | fn [captured x] | provenance | | | captured_variables.rb:33:29:33:30 | fn [captured x] | captured_variables.rb:31:14:31:14 | x | provenance | | | captured_variables.rb:35:29:35:38 | call to taint | captured_variables.rb:29:33:29:33 | x | provenance | | | captured_variables.rb:37:13:37:14 | fn [captured x] | captured_variables.rb:38:5:38:6 | fn [captured x] | provenance | | | captured_variables.rb:38:5:38:6 | fn [captured x] | captured_variables.rb:42:14:42:14 | x | provenance | | -| captured_variables.rb:40:31:40:31 | x | captured_variables.rb:41:10:43:5 | -> { ... } [captured x] | provenance | | | captured_variables.rb:40:31:40:31 | x | captured_variables.rb:44:13:44:14 | fn [captured x] | provenance | | -| captured_variables.rb:41:5:41:6 | fn [captured x] | captured_variables.rb:44:13:44:14 | fn [captured x] | provenance | | -| captured_variables.rb:41:10:43:5 | -> { ... } [captured x] | captured_variables.rb:41:5:41:6 | fn [captured x] | provenance | | | captured_variables.rb:44:13:44:14 | fn [captured x] | captured_variables.rb:37:13:37:14 | fn [captured x] | provenance | | | captured_variables.rb:46:27:46:36 | call to taint | captured_variables.rb:40:31:40:31 | x | provenance | | | captured_variables.rb:48:5:48:12 | call to taint | captured_variables.rb:49:16:52:3 | do ... end [captured x] | provenance | | @@ -65,11 +56,8 @@ edges | captured_variables.rb:83:6:83:8 | foo [@field] | captured_variables.rb:60:5:62:7 | self in get_field [@field] | provenance | | | captured_variables.rb:83:6:83:8 | foo [@field] | captured_variables.rb:83:6:83:18 | call to get_field | provenance | | | captured_variables.rb:83:6:83:8 | foo [@field] | instance_variables.rb:13:5:15:7 | self in get_field [@field] | provenance | | -| captured_variables.rb:85:5:85:12 | call to taint | captured_variables.rb:86:6:89:1 | -> { ... } [captured y] | provenance | | | captured_variables.rb:85:5:85:12 | call to taint | captured_variables.rb:90:1:90:2 | fn [captured y] | provenance | | | captured_variables.rb:85:5:85:12 | call to taint | captured_variables.rb:91:6:91:6 | y | provenance | | -| captured_variables.rb:86:1:86:2 | fn [captured y] | captured_variables.rb:90:1:90:2 | fn [captured y] | provenance | | -| captured_variables.rb:86:6:89:1 | -> { ... } [captured y] | captured_variables.rb:86:1:86:2 | fn [captured y] | provenance | | | captured_variables.rb:88:9:88:16 | call to taint | captured_variables.rb:90:1:90:2 | [post] fn [captured y] | provenance | | | captured_variables.rb:90:1:90:2 | [post] fn [captured y] | captured_variables.rb:91:6:91:6 | y | provenance | | | captured_variables.rb:90:1:90:2 | fn [captured y] | captured_variables.rb:87:10:87:10 | y | provenance | | @@ -81,18 +69,12 @@ edges | captured_variables.rb:101:11:101:11 | x | captured_variables.rb:104:31:104:31 | x | provenance | | | captured_variables.rb:104:17:104:24 | call to taint | captured_variables.rb:100:21:100:21 | x | provenance | | | captured_variables.rb:104:31:104:31 | x | captured_variables.rb:105:10:105:10 | x | provenance | | -| captured_variables.rb:109:9:109:17 | call to taint | captured_variables.rb:110:14:116:5 | -> { ... } [captured x] | provenance | | | captured_variables.rb:109:9:109:17 | call to taint | captured_variables.rb:117:5:117:10 | middle [captured x] | provenance | | | captured_variables.rb:109:9:109:17 | call to taint | captured_variables.rb:118:10:118:10 | x | provenance | | -| captured_variables.rb:110:5:110:10 | middle [captured x] | captured_variables.rb:117:5:117:10 | middle [captured x] | provenance | | -| captured_variables.rb:110:14:116:5 | -> { ... } [captured x] | captured_variables.rb:110:5:110:10 | middle [captured x] | provenance | | -| captured_variables.rb:111:9:111:13 | inner [captured x] | captured_variables.rb:115:9:115:13 | inner [captured x] | provenance | | -| captured_variables.rb:111:17:114:9 | -> { ... } [captured x] | captured_variables.rb:111:9:111:13 | inner [captured x] | provenance | | | captured_variables.rb:113:17:113:25 | call to taint | captured_variables.rb:115:9:115:13 | [post] inner [captured x] | provenance | | | captured_variables.rb:115:9:115:13 | [post] inner [captured x] | captured_variables.rb:117:5:117:10 | [post] middle [captured x] | provenance | | | captured_variables.rb:115:9:115:13 | inner [captured x] | captured_variables.rb:112:18:112:18 | x | provenance | | | captured_variables.rb:117:5:117:10 | [post] middle [captured x] | captured_variables.rb:118:10:118:10 | x | provenance | | -| captured_variables.rb:117:5:117:10 | middle [captured x] | captured_variables.rb:111:17:114:9 | -> { ... } [captured x] | provenance | | | captured_variables.rb:117:5:117:10 | middle [captured x] | captured_variables.rb:115:9:115:13 | inner [captured x] | provenance | | | captured_variables.rb:147:5:147:6 | [post] self [@x] | captured_variables.rb:153:14:155:7 | do ... end [captured self, @x] | provenance | | | captured_variables.rb:147:10:147:18 | call to taint | captured_variables.rb:147:5:147:6 | [post] self [@x] | provenance | | @@ -116,11 +98,9 @@ edges | captured_variables.rb:194:1:194:1 | c [@x] | captured_variables.rb:185:5:189:7 | self in baz [@x] | provenance | | | captured_variables.rb:197:9:197:17 | call to taint | captured_variables.rb:199:10:199:10 | x | provenance | | | captured_variables.rb:206:13:206:21 | call to taint | captured_variables.rb:208:14:208:14 | x | provenance | | -| captured_variables.rb:219:9:219:17 | call to taint | captured_variables.rb:222:11:224:5 | -> { ... } [captured x] | provenance | | | captured_variables.rb:219:9:219:17 | call to taint | captured_variables.rb:226:5:226:7 | fn1 [captured x] | provenance | | -| captured_variables.rb:222:5:222:7 | fn1 [captured x] | captured_variables.rb:226:5:226:7 | fn1 [captured x] | provenance | | -| captured_variables.rb:222:11:224:5 | -> { ... } [captured x] | captured_variables.rb:222:5:222:7 | fn1 [captured x] | provenance | | | captured_variables.rb:226:5:226:7 | [post] fn1 [captured y] | captured_variables.rb:227:10:227:10 | y | provenance | | +| captured_variables.rb:226:5:226:7 | fn1 [captured x] | captured_variables.rb:223:13:223:13 | x | provenance | | | captured_variables.rb:226:5:226:7 | fn1 [captured x] | captured_variables.rb:226:5:226:7 | [post] fn1 [captured y] | provenance | | | instance_variables.rb:10:19:10:19 | x | instance_variables.rb:11:18:11:18 | x | provenance | | | instance_variables.rb:11:18:11:18 | x | instance_variables.rb:11:9:11:14 | [post] self [@field] | provenance | | @@ -264,8 +244,6 @@ nodes | blocks.rb:8:10:8:14 | yield ... | semmle.label | yield ... | | blocks.rb:14:12:14:20 | call to source | semmle.label | call to source | | captured_variables.rb:9:24:9:24 | x | semmle.label | x | -| captured_variables.rb:10:5:10:6 | fn [captured x] | semmle.label | fn [captured x] | -| captured_variables.rb:10:10:10:23 | -> { ... } [captured x] | semmle.label | -> { ... } [captured x] | | captured_variables.rb:10:20:10:20 | x | semmle.label | x | | captured_variables.rb:11:5:11:6 | fn [captured x] | semmle.label | fn [captured x] | | captured_variables.rb:13:20:13:29 | call to taint | semmle.label | call to taint | @@ -281,16 +259,12 @@ nodes | captured_variables.rb:27:25:27:57 | call to capture_escape_return2 [captured x] | semmle.label | call to capture_escape_return2 [captured x] | | captured_variables.rb:27:48:27:57 | call to taint | semmle.label | call to taint | | captured_variables.rb:29:33:29:33 | x | semmle.label | x | -| captured_variables.rb:30:5:30:6 | fn [captured x] | semmle.label | fn [captured x] | -| captured_variables.rb:30:10:32:5 | -> { ... } [captured x] | semmle.label | -> { ... } [captured x] | | captured_variables.rb:31:14:31:14 | x | semmle.label | x | | captured_variables.rb:33:29:33:30 | fn [captured x] | semmle.label | fn [captured x] | | captured_variables.rb:35:29:35:38 | call to taint | semmle.label | call to taint | | captured_variables.rb:37:13:37:14 | fn [captured x] | semmle.label | fn [captured x] | | captured_variables.rb:38:5:38:6 | fn [captured x] | semmle.label | fn [captured x] | | captured_variables.rb:40:31:40:31 | x | semmle.label | x | -| captured_variables.rb:41:5:41:6 | fn [captured x] | semmle.label | fn [captured x] | -| captured_variables.rb:41:10:43:5 | -> { ... } [captured x] | semmle.label | -> { ... } [captured x] | | captured_variables.rb:42:14:42:14 | x | semmle.label | x | | captured_variables.rb:44:13:44:14 | fn [captured x] | semmle.label | fn [captured x] | | captured_variables.rb:46:27:46:36 | call to taint | semmle.label | call to taint | @@ -323,8 +297,6 @@ nodes | captured_variables.rb:83:6:83:8 | foo [@field] | semmle.label | foo [@field] | | captured_variables.rb:83:6:83:18 | call to get_field | semmle.label | call to get_field | | captured_variables.rb:85:5:85:12 | call to taint | semmle.label | call to taint | -| captured_variables.rb:86:1:86:2 | fn [captured y] | semmle.label | fn [captured y] | -| captured_variables.rb:86:6:89:1 | -> { ... } [captured y] | semmle.label | -> { ... } [captured y] | | captured_variables.rb:87:10:87:10 | y | semmle.label | y | | captured_variables.rb:88:9:88:16 | call to taint | semmle.label | call to taint | | captured_variables.rb:90:1:90:2 | [post] fn [captured y] | semmle.label | [post] fn [captured y] | @@ -341,10 +313,6 @@ nodes | captured_variables.rb:104:31:104:31 | x | semmle.label | x | | captured_variables.rb:105:10:105:10 | x | semmle.label | x | | captured_variables.rb:109:9:109:17 | call to taint | semmle.label | call to taint | -| captured_variables.rb:110:5:110:10 | middle [captured x] | semmle.label | middle [captured x] | -| captured_variables.rb:110:14:116:5 | -> { ... } [captured x] | semmle.label | -> { ... } [captured x] | -| captured_variables.rb:111:9:111:13 | inner [captured x] | semmle.label | inner [captured x] | -| captured_variables.rb:111:17:114:9 | -> { ... } [captured x] | semmle.label | -> { ... } [captured x] | | captured_variables.rb:112:18:112:18 | x | semmle.label | x | | captured_variables.rb:113:17:113:25 | call to taint | semmle.label | call to taint | | captured_variables.rb:115:9:115:13 | [post] inner [captured x] | semmle.label | [post] inner [captured x] | @@ -380,8 +348,7 @@ nodes | captured_variables.rb:206:13:206:21 | call to taint | semmle.label | call to taint | | captured_variables.rb:208:14:208:14 | x | semmle.label | x | | captured_variables.rb:219:9:219:17 | call to taint | semmle.label | call to taint | -| captured_variables.rb:222:5:222:7 | fn1 [captured x] | semmle.label | fn1 [captured x] | -| captured_variables.rb:222:11:224:5 | -> { ... } [captured x] | semmle.label | -> { ... } [captured x] | +| captured_variables.rb:223:13:223:13 | x | semmle.label | x | | captured_variables.rb:226:5:226:7 | [post] fn1 [captured y] | semmle.label | [post] fn1 [captured y] | | captured_variables.rb:226:5:226:7 | fn1 [captured x] | semmle.label | fn1 [captured x] | | captured_variables.rb:227:10:227:10 | y | semmle.label | y | @@ -505,6 +472,7 @@ subpaths | captured_variables.rb:83:6:83:8 | foo [@field] | captured_variables.rb:60:5:62:7 | self in get_field [@field] | captured_variables.rb:61:9:61:21 | return | captured_variables.rb:83:6:83:18 | call to get_field | | captured_variables.rb:83:6:83:8 | foo [@field] | instance_variables.rb:13:5:15:7 | self in get_field [@field] | instance_variables.rb:14:9:14:21 | return | captured_variables.rb:83:6:83:18 | call to get_field | | captured_variables.rb:98:13:98:20 | call to taint | captured_variables.rb:93:17:93:17 | x | captured_variables.rb:94:5:96:5 | -> { ... } [captured x] | captured_variables.rb:98:1:98:21 | call to capture_arg [captured x] | +| captured_variables.rb:226:5:226:7 | fn1 [captured x] | captured_variables.rb:223:13:223:13 | x | captured_variables.rb:223:13:223:13 | x | captured_variables.rb:226:5:226:7 | [post] fn1 [captured y] | | instance_variables.rb:28:20:28:24 | field | instance_variables.rb:22:20:22:24 | field | instance_variables.rb:23:9:23:14 | [post] self [@field] | instance_variables.rb:28:9:28:25 | [post] self [@field] | | instance_variables.rb:33:13:33:13 | x | instance_variables.rb:22:20:22:24 | field | instance_variables.rb:23:9:23:14 | [post] self [@field] | instance_variables.rb:33:9:33:14 | call to new [@field] | | instance_variables.rb:36:10:36:23 | call to new [@field] | captured_variables.rb:60:5:62:7 | self in get_field [@field] | captured_variables.rb:61:9:61:21 | return | instance_variables.rb:36:10:36:33 | call to get_field | diff --git a/ruby/ql/test/library-tests/dataflow/global/captured_variables.rb b/ruby/ql/test/library-tests/dataflow/global/captured_variables.rb index 79d1fc83b76..8c7c5049b2d 100644 --- a/ruby/ql/test/library-tests/dataflow/global/captured_variables.rb +++ b/ruby/ql/test/library-tests/dataflow/global/captured_variables.rb @@ -228,3 +228,17 @@ def multi_capture end multi_capture + +def m1 + x = taint(19) + + fn1 = -> { + sink x + } + + x = nil + + fn1.call() +end + +m1 \ No newline at end of file diff --git a/ruby/ql/test/library-tests/dataflow/global/instance_variables.rb b/ruby/ql/test/library-tests/dataflow/global/instance_variables.rb index e1687bfed2c..9943b3cb579 100644 --- a/ruby/ql/test/library-tests/dataflow/global/instance_variables.rb +++ b/ruby/ql/test/library-tests/dataflow/global/instance_variables.rb @@ -70,7 +70,7 @@ foo3 = Foo.new foo3.set_field(taint(22)) sink(foo3.field) # $ hasValueFlow=22 -foo4 = "hello" +foo4 = 4 foo4.other = taint(23) sink(foo4.other) # no field flow for constants diff --git a/ruby/ql/test/library-tests/dataflow/hash-flow/hash-flow.expected b/ruby/ql/test/library-tests/dataflow/hash-flow/hash-flow.expected index d2da8837a56..68cb5a53dc2 100644 --- a/ruby/ql/test/library-tests/dataflow/hash-flow/hash-flow.expected +++ b/ruby/ql/test/library-tests/dataflow/hash-flow/hash-flow.expected @@ -1089,6 +1089,13 @@ edges | hash_flow.rb:994:30:994:40 | call to taint | hash_flow.rb:994:14:994:47 | ...[...] [element :b] | provenance | | | hash_flow.rb:996:14:996:15 | h2 [element :b] | hash_flow.rb:996:14:996:19 | ...[...] | provenance | | | hash_flow.rb:998:14:998:15 | h2 [element :b] | hash_flow.rb:998:14:998:18 | ...[...] | provenance | | +| hash_flow.rb:1011:5:1011:5 | h [element :a] | hash_flow.rb:1012:5:1012:5 | h [element :a] | provenance | | +| hash_flow.rb:1011:9:1011:45 | call to [] [element :a] | hash_flow.rb:1011:5:1011:5 | h [element :a] | provenance | | +| hash_flow.rb:1011:14:1011:24 | call to taint | hash_flow.rb:1011:9:1011:45 | call to [] [element :a] | provenance | | +| hash_flow.rb:1012:5:1012:5 | h [element :a] | hash_flow.rb:1012:15:1012:15 | k | provenance | | +| hash_flow.rb:1012:5:1012:5 | h [element :a] | hash_flow.rb:1012:18:1012:18 | v | provenance | | +| hash_flow.rb:1012:15:1012:15 | k | hash_flow.rb:1014:14:1014:14 | k | provenance | | +| hash_flow.rb:1012:18:1012:18 | v | hash_flow.rb:1013:14:1013:14 | v | provenance | | nodes | hash_flow.rb:10:5:10:8 | hash [element 0] | semmle.label | hash [element 0] | | hash_flow.rb:10:5:10:8 | hash [element :a] | semmle.label | hash [element :a] | @@ -2251,6 +2258,14 @@ nodes | hash_flow.rb:996:14:996:19 | ...[...] | semmle.label | ...[...] | | hash_flow.rb:998:14:998:15 | h2 [element :b] | semmle.label | h2 [element :b] | | hash_flow.rb:998:14:998:18 | ...[...] | semmle.label | ...[...] | +| hash_flow.rb:1011:5:1011:5 | h [element :a] | semmle.label | h [element :a] | +| hash_flow.rb:1011:9:1011:45 | call to [] [element :a] | semmle.label | call to [] [element :a] | +| hash_flow.rb:1011:14:1011:24 | call to taint | semmle.label | call to taint | +| hash_flow.rb:1012:5:1012:5 | h [element :a] | semmle.label | h [element :a] | +| hash_flow.rb:1012:15:1012:15 | k | semmle.label | k | +| hash_flow.rb:1012:18:1012:18 | v | semmle.label | v | +| hash_flow.rb:1013:14:1013:14 | v | semmle.label | v | +| hash_flow.rb:1014:14:1014:14 | k | semmle.label | k | subpaths hashLiteral | hash_flow.rb:10:12:21:5 | call to [] | @@ -2324,6 +2339,7 @@ hashLiteral | hash_flow.rb:946:13:950:5 | call to [] | | hash_flow.rb:971:9:971:38 | ...[...] | | hash_flow.rb:994:14:994:47 | ...[...] | +| hash_flow.rb:1011:9:1011:45 | call to [] | #select | hash_flow.rb:22:10:22:17 | ...[...] | hash_flow.rb:11:15:11:24 | call to taint | hash_flow.rb:22:10:22:17 | ...[...] | $@ | hash_flow.rb:11:15:11:24 | call to taint | call to taint | | hash_flow.rb:24:10:24:17 | ...[...] | hash_flow.rb:13:12:13:21 | call to taint | hash_flow.rb:24:10:24:17 | ...[...] | $@ | hash_flow.rb:13:12:13:21 | call to taint | call to taint | @@ -2569,3 +2585,5 @@ hashLiteral | hash_flow.rb:975:10:975:13 | ...[...] | hash_flow.rb:971:23:971:31 | call to taint | hash_flow.rb:975:10:975:13 | ...[...] | $@ | hash_flow.rb:971:23:971:31 | call to taint | call to taint | | hash_flow.rb:996:14:996:19 | ...[...] | hash_flow.rb:994:30:994:40 | call to taint | hash_flow.rb:996:14:996:19 | ...[...] | $@ | hash_flow.rb:994:30:994:40 | call to taint | call to taint | | hash_flow.rb:998:14:998:18 | ...[...] | hash_flow.rb:994:30:994:40 | call to taint | hash_flow.rb:998:14:998:18 | ...[...] | $@ | hash_flow.rb:994:30:994:40 | call to taint | call to taint | +| hash_flow.rb:1013:14:1013:14 | v | hash_flow.rb:1011:14:1011:24 | call to taint | hash_flow.rb:1013:14:1013:14 | v | $@ | hash_flow.rb:1011:14:1011:24 | call to taint | call to taint | +| hash_flow.rb:1014:14:1014:14 | k | hash_flow.rb:1011:14:1011:24 | call to taint | hash_flow.rb:1014:14:1014:14 | k | $@ | hash_flow.rb:1011:14:1011:24 | call to taint | call to taint | diff --git a/ruby/ql/test/library-tests/dataflow/hash-flow/hash-flow.ql b/ruby/ql/test/library-tests/dataflow/hash-flow/hash-flow.ql index e3b694d3e75..5ec8ec0a0d6 100644 --- a/ruby/ql/test/library-tests/dataflow/hash-flow/hash-flow.ql +++ b/ruby/ql/test/library-tests/dataflow/hash-flow/hash-flow.ql @@ -5,7 +5,7 @@ import codeql.ruby.AST import codeql.ruby.CFG import TestUtilities.InlineFlowTest -import ValueFlowTest<DefaultFlowConfig> +import DefaultFlowTest import ValueFlow::PathGraph query predicate hashLiteral(CfgNodes::ExprNodes::HashLiteralCfgNode n) { any() } diff --git a/ruby/ql/test/library-tests/dataflow/hash-flow/hash_flow.rb b/ruby/ql/test/library-tests/dataflow/hash-flow/hash_flow.rb index 14c2504f959..edc1e325b09 100644 --- a/ruby/ql/test/library-tests/dataflow/hash-flow/hash_flow.rb +++ b/ruby/ql/test/library-tests/dataflow/hash-flow/hash_flow.rb @@ -59,7 +59,7 @@ def m3() x = {a: taint(3.2), b: 1} hash2 = Hash[x] sink(hash2[:a]) # $ hasValueFlow=3.2 - sink(hash2[:b]) + sink(hash2[:b]) # $ hasTaintFlow=3.2 hash3 = Hash[[[:a, taint(3.3)], [:b, 1]]] sink(hash3[:a]) # $ hasValueFlow=3.3 @@ -75,7 +75,7 @@ def m3() hash6 = Hash[{"a" => taint(3.6), "b" => 1}] sink(hash6["a"]) # $ hasValueFlow=3.6 - sink(hash6["b"]) + sink(hash6["b"]) # $ hasTaintFlow=3.6 end m3() @@ -1000,3 +1000,17 @@ class M54 end M54.new.m54(:b) + +def m55 + h = taint(55.1) + keys = h.keys + sink(keys[f()]) # $ hasTaintFlow=55.1 +end + +def m56 + h = { a: taint(56.1), taint(56.2) => :b } + h.map do |k, v| + sink(v) # $ hasValueFlow=56.1 + sink(k) # $ MISSING: hasValueFlow=56.2 SPURIOUS: hasValueFlow=56.1 + end +end diff --git a/ruby/ql/test/library-tests/dataflow/local/DataflowStep.expected b/ruby/ql/test/library-tests/dataflow/local/DataflowStep.expected index 307ffc01611..1f773f7d1a4 100644 --- a/ruby/ql/test/library-tests/dataflow/local/DataflowStep.expected +++ b/ruby/ql/test/library-tests/dataflow/local/DataflowStep.expected @@ -2676,6 +2676,7 @@ | local_dataflow.rb:131:7:131:8 | "" | local_dataflow.rb:131:3:131:8 | ... = ... | | local_dataflow.rb:132:6:132:11 | [post] self | local_dataflow.rb:133:8:133:13 | self | | local_dataflow.rb:132:6:132:11 | self | local_dataflow.rb:133:8:133:13 | self | +| local_dataflow.rb:132:10:132:10 | [post] x | local_dataflow.rb:133:12:133:12 | x | | local_dataflow.rb:132:10:132:10 | x | local_dataflow.rb:133:12:133:12 | x | | local_dataflow.rb:132:12:148:10 | then ... | local_dataflow.rb:132:3:149:5 | if ... | | local_dataflow.rb:133:5:139:7 | SSA phi read(self) | local_dataflow.rb:141:9:141:14 | self | @@ -2686,17 +2687,20 @@ | local_dataflow.rb:133:8:133:13 | self | local_dataflow.rb:133:18:133:23 | self | | local_dataflow.rb:133:8:133:23 | SSA phi read(self) | local_dataflow.rb:134:7:134:12 | self | | local_dataflow.rb:133:8:133:23 | SSA phi read(x) | local_dataflow.rb:134:11:134:11 | x | +| local_dataflow.rb:133:12:133:12 | [post] x | local_dataflow.rb:133:22:133:22 | x | | local_dataflow.rb:133:12:133:12 | x | local_dataflow.rb:133:22:133:22 | x | | local_dataflow.rb:133:18:133:23 | [post] self | local_dataflow.rb:136:7:136:12 | self | | local_dataflow.rb:133:18:133:23 | call to use | local_dataflow.rb:133:8:133:23 | [false] ... \|\| ... | | local_dataflow.rb:133:18:133:23 | call to use | local_dataflow.rb:133:8:133:23 | [true] ... \|\| ... | | local_dataflow.rb:133:18:133:23 | self | local_dataflow.rb:136:7:136:12 | self | +| local_dataflow.rb:133:22:133:22 | [post] x | local_dataflow.rb:136:11:136:11 | x | | local_dataflow.rb:133:22:133:22 | x | local_dataflow.rb:136:11:136:11 | x | | local_dataflow.rb:133:24:134:12 | then ... | local_dataflow.rb:133:5:139:7 | if ... | | local_dataflow.rb:134:7:134:12 | call to use | local_dataflow.rb:133:24:134:12 | then ... | | local_dataflow.rb:135:5:138:9 | else ... | local_dataflow.rb:133:5:139:7 | if ... | | local_dataflow.rb:136:7:136:12 | [post] self | local_dataflow.rb:137:10:137:15 | self | | local_dataflow.rb:136:7:136:12 | self | local_dataflow.rb:137:10:137:15 | self | +| local_dataflow.rb:136:11:136:11 | [post] x | local_dataflow.rb:137:14:137:14 | x | | local_dataflow.rb:136:11:136:11 | x | local_dataflow.rb:137:14:137:14 | x | | local_dataflow.rb:137:7:138:9 | SSA phi read(self) | local_dataflow.rb:133:5:139:7 | SSA phi read(self) | | local_dataflow.rb:137:7:138:9 | SSA phi read(x) | local_dataflow.rb:133:5:139:7 | SSA phi read(x) | @@ -2705,6 +2709,7 @@ | local_dataflow.rb:137:10:137:15 | self | local_dataflow.rb:137:21:137:26 | self | | local_dataflow.rb:137:10:137:26 | SSA phi read(self) | local_dataflow.rb:137:7:138:9 | SSA phi read(self) | | local_dataflow.rb:137:10:137:26 | SSA phi read(x) | local_dataflow.rb:137:7:138:9 | SSA phi read(x) | +| local_dataflow.rb:137:14:137:14 | [post] x | local_dataflow.rb:137:25:137:25 | x | | local_dataflow.rb:137:14:137:14 | x | local_dataflow.rb:137:25:137:25 | x | | local_dataflow.rb:137:20:137:26 | [false] ! ... | local_dataflow.rb:137:10:137:26 | [false] ... && ... | | local_dataflow.rb:137:20:137:26 | [true] ! ... | local_dataflow.rb:137:10:137:26 | [true] ... && ... | @@ -2717,6 +2722,7 @@ | local_dataflow.rb:141:8:141:37 | SSA phi read(x) | local_dataflow.rb:141:5:145:7 | SSA phi read(x) | | local_dataflow.rb:141:9:141:14 | [post] self | local_dataflow.rb:141:20:141:25 | self | | local_dataflow.rb:141:9:141:14 | self | local_dataflow.rb:141:20:141:25 | self | +| local_dataflow.rb:141:13:141:13 | [post] x | local_dataflow.rb:141:24:141:24 | x | | local_dataflow.rb:141:13:141:13 | x | local_dataflow.rb:141:24:141:24 | x | | local_dataflow.rb:141:19:141:37 | [false] ( ... ) | local_dataflow.rb:141:8:141:37 | [false] ... \|\| ... | | local_dataflow.rb:141:19:141:37 | [true] ( ... ) | local_dataflow.rb:141:8:141:37 | [true] ... \|\| ... | @@ -2726,6 +2732,7 @@ | local_dataflow.rb:141:20:141:36 | SSA phi read(x) | local_dataflow.rb:143:15:143:15 | x | | local_dataflow.rb:141:20:141:36 | [false] ... && ... | local_dataflow.rb:141:19:141:37 | [false] ( ... ) | | local_dataflow.rb:141:20:141:36 | [true] ... && ... | local_dataflow.rb:141:19:141:37 | [true] ( ... ) | +| local_dataflow.rb:141:24:141:24 | [post] x | local_dataflow.rb:141:35:141:35 | x | | local_dataflow.rb:141:24:141:24 | x | local_dataflow.rb:141:35:141:35 | x | | local_dataflow.rb:141:30:141:36 | [false] ! ... | local_dataflow.rb:141:20:141:36 | [false] ... && ... | | local_dataflow.rb:141:30:141:36 | [true] ! ... | local_dataflow.rb:141:20:141:36 | [true] ... && ... | @@ -2740,6 +2747,7 @@ | local_dataflow.rb:143:11:143:16 | self | local_dataflow.rb:143:21:143:26 | self | | local_dataflow.rb:143:11:143:26 | SSA phi read(self) | local_dataflow.rb:144:11:144:16 | self | | local_dataflow.rb:143:11:143:26 | SSA phi read(x) | local_dataflow.rb:144:15:144:15 | x | +| local_dataflow.rb:143:15:143:15 | [post] x | local_dataflow.rb:143:25:143:25 | x | | local_dataflow.rb:143:15:143:15 | x | local_dataflow.rb:143:25:143:25 | x | | local_dataflow.rb:143:21:143:26 | call to use | local_dataflow.rb:143:11:143:26 | [false] ... \|\| ... | | local_dataflow.rb:143:21:143:26 | call to use | local_dataflow.rb:143:11:143:26 | [true] ... \|\| ... | @@ -2747,5 +2755,6 @@ | local_dataflow.rb:144:11:144:16 | call to use | local_dataflow.rb:143:27:144:16 | then ... | | local_dataflow.rb:147:5:147:10 | [post] self | local_dataflow.rb:148:5:148:10 | self | | local_dataflow.rb:147:5:147:10 | self | local_dataflow.rb:148:5:148:10 | self | +| local_dataflow.rb:147:9:147:9 | [post] x | local_dataflow.rb:148:9:148:9 | x | | local_dataflow.rb:147:9:147:9 | x | local_dataflow.rb:148:9:148:9 | x | | local_dataflow.rb:148:5:148:10 | call to use | local_dataflow.rb:132:12:148:10 | then ... | diff --git a/ruby/ql/test/library-tests/dataflow/local/TaintStep.expected b/ruby/ql/test/library-tests/dataflow/local/TaintStep.expected index f640ff6551a..a462aebeba9 100644 --- a/ruby/ql/test/library-tests/dataflow/local/TaintStep.expected +++ b/ruby/ql/test/library-tests/dataflow/local/TaintStep.expected @@ -2835,6 +2835,9 @@ | file://:0:0:0:0 | [summary param] self in ActionController::Parameters#merge | file://:0:0:0:0 | [summary] to write: ReturnValue in ActionController::Parameters#merge | | file://:0:0:0:0 | [summary param] self in ActionController::Parameters#merge! | file://:0:0:0:0 | [summary] to write: Argument[self] in ActionController::Parameters#merge! | | file://:0:0:0:0 | [summary param] self in ActionController::Parameters#merge! | file://:0:0:0:0 | [summary] to write: ReturnValue in ActionController::Parameters#merge! | +| file://:0:0:0:0 | [summary param] self in ActionDispatch::Http::UploadedFile#[original_filename,content_type,headers] | file://:0:0:0:0 | [summary] to write: ReturnValue in ActionDispatch::Http::UploadedFile#[original_filename,content_type,headers] | +| file://:0:0:0:0 | [summary param] self in ActionDispatch::Http::UploadedFile#read | file://:0:0:0:0 | [summary] to write: Argument[1] in ActionDispatch::Http::UploadedFile#read | +| file://:0:0:0:0 | [summary param] self in ActionDispatch::Http::UploadedFile#read | file://:0:0:0:0 | [summary] to write: ReturnValue in ActionDispatch::Http::UploadedFile#read | | file://:0:0:0:0 | [summary param] self in ActiveSupportStringTransform | file://:0:0:0:0 | [summary] to write: ReturnValue in ActiveSupportStringTransform | | file://:0:0:0:0 | [summary param] self in [] | file://:0:0:0:0 | [summary] to write: ReturnValue in [] | | file://:0:0:0:0 | [summary param] self in \| | file://:0:0:0:0 | [summary] read: Argument[self].Element[any] in \| | @@ -3164,6 +3167,7 @@ | local_dataflow.rb:131:7:131:8 | "" | local_dataflow.rb:131:3:131:8 | ... = ... | | local_dataflow.rb:132:6:132:11 | [post] self | local_dataflow.rb:133:8:133:13 | self | | local_dataflow.rb:132:6:132:11 | self | local_dataflow.rb:133:8:133:13 | self | +| local_dataflow.rb:132:10:132:10 | [post] x | local_dataflow.rb:133:12:133:12 | x | | local_dataflow.rb:132:10:132:10 | x | local_dataflow.rb:133:12:133:12 | x | | local_dataflow.rb:132:12:148:10 | then ... | local_dataflow.rb:132:3:149:5 | if ... | | local_dataflow.rb:133:5:139:7 | SSA phi read(self) | local_dataflow.rb:141:9:141:14 | self | @@ -3174,17 +3178,20 @@ | local_dataflow.rb:133:8:133:13 | self | local_dataflow.rb:133:18:133:23 | self | | local_dataflow.rb:133:8:133:23 | SSA phi read(self) | local_dataflow.rb:134:7:134:12 | self | | local_dataflow.rb:133:8:133:23 | SSA phi read(x) | local_dataflow.rb:134:11:134:11 | x | +| local_dataflow.rb:133:12:133:12 | [post] x | local_dataflow.rb:133:22:133:22 | x | | local_dataflow.rb:133:12:133:12 | x | local_dataflow.rb:133:22:133:22 | x | | local_dataflow.rb:133:18:133:23 | [post] self | local_dataflow.rb:136:7:136:12 | self | | local_dataflow.rb:133:18:133:23 | call to use | local_dataflow.rb:133:8:133:23 | [false] ... \|\| ... | | local_dataflow.rb:133:18:133:23 | call to use | local_dataflow.rb:133:8:133:23 | [true] ... \|\| ... | | local_dataflow.rb:133:18:133:23 | self | local_dataflow.rb:136:7:136:12 | self | +| local_dataflow.rb:133:22:133:22 | [post] x | local_dataflow.rb:136:11:136:11 | x | | local_dataflow.rb:133:22:133:22 | x | local_dataflow.rb:136:11:136:11 | x | | local_dataflow.rb:133:24:134:12 | then ... | local_dataflow.rb:133:5:139:7 | if ... | | local_dataflow.rb:134:7:134:12 | call to use | local_dataflow.rb:133:24:134:12 | then ... | | local_dataflow.rb:135:5:138:9 | else ... | local_dataflow.rb:133:5:139:7 | if ... | | local_dataflow.rb:136:7:136:12 | [post] self | local_dataflow.rb:137:10:137:15 | self | | local_dataflow.rb:136:7:136:12 | self | local_dataflow.rb:137:10:137:15 | self | +| local_dataflow.rb:136:11:136:11 | [post] x | local_dataflow.rb:137:14:137:14 | x | | local_dataflow.rb:136:11:136:11 | x | local_dataflow.rb:137:14:137:14 | x | | local_dataflow.rb:137:7:138:9 | SSA phi read(self) | local_dataflow.rb:133:5:139:7 | SSA phi read(self) | | local_dataflow.rb:137:7:138:9 | SSA phi read(x) | local_dataflow.rb:133:5:139:7 | SSA phi read(x) | @@ -3193,6 +3200,7 @@ | local_dataflow.rb:137:10:137:15 | self | local_dataflow.rb:137:21:137:26 | self | | local_dataflow.rb:137:10:137:26 | SSA phi read(self) | local_dataflow.rb:137:7:138:9 | SSA phi read(self) | | local_dataflow.rb:137:10:137:26 | SSA phi read(x) | local_dataflow.rb:137:7:138:9 | SSA phi read(x) | +| local_dataflow.rb:137:14:137:14 | [post] x | local_dataflow.rb:137:25:137:25 | x | | local_dataflow.rb:137:14:137:14 | x | local_dataflow.rb:137:25:137:25 | x | | local_dataflow.rb:137:20:137:26 | [false] ! ... | local_dataflow.rb:137:10:137:26 | [false] ... && ... | | local_dataflow.rb:137:20:137:26 | [true] ! ... | local_dataflow.rb:137:10:137:26 | [true] ... && ... | @@ -3209,6 +3217,7 @@ | local_dataflow.rb:141:9:141:14 | call to use | local_dataflow.rb:141:8:141:14 | [false] ! ... | | local_dataflow.rb:141:9:141:14 | call to use | local_dataflow.rb:141:8:141:14 | [true] ! ... | | local_dataflow.rb:141:9:141:14 | self | local_dataflow.rb:141:20:141:25 | self | +| local_dataflow.rb:141:13:141:13 | [post] x | local_dataflow.rb:141:24:141:24 | x | | local_dataflow.rb:141:13:141:13 | x | local_dataflow.rb:141:24:141:24 | x | | local_dataflow.rb:141:19:141:37 | [false] ( ... ) | local_dataflow.rb:141:8:141:37 | [false] ... \|\| ... | | local_dataflow.rb:141:19:141:37 | [true] ( ... ) | local_dataflow.rb:141:8:141:37 | [true] ... \|\| ... | @@ -3218,6 +3227,7 @@ | local_dataflow.rb:141:20:141:36 | SSA phi read(x) | local_dataflow.rb:143:15:143:15 | x | | local_dataflow.rb:141:20:141:36 | [false] ... && ... | local_dataflow.rb:141:19:141:37 | [false] ( ... ) | | local_dataflow.rb:141:20:141:36 | [true] ... && ... | local_dataflow.rb:141:19:141:37 | [true] ( ... ) | +| local_dataflow.rb:141:24:141:24 | [post] x | local_dataflow.rb:141:35:141:35 | x | | local_dataflow.rb:141:24:141:24 | x | local_dataflow.rb:141:35:141:35 | x | | local_dataflow.rb:141:30:141:36 | [false] ! ... | local_dataflow.rb:141:20:141:36 | [false] ... && ... | | local_dataflow.rb:141:30:141:36 | [true] ! ... | local_dataflow.rb:141:20:141:36 | [true] ... && ... | @@ -3234,6 +3244,7 @@ | local_dataflow.rb:143:11:143:16 | self | local_dataflow.rb:143:21:143:26 | self | | local_dataflow.rb:143:11:143:26 | SSA phi read(self) | local_dataflow.rb:144:11:144:16 | self | | local_dataflow.rb:143:11:143:26 | SSA phi read(x) | local_dataflow.rb:144:15:144:15 | x | +| local_dataflow.rb:143:15:143:15 | [post] x | local_dataflow.rb:143:25:143:25 | x | | local_dataflow.rb:143:15:143:15 | x | local_dataflow.rb:143:25:143:25 | x | | local_dataflow.rb:143:21:143:26 | call to use | local_dataflow.rb:143:11:143:26 | [false] ... \|\| ... | | local_dataflow.rb:143:21:143:26 | call to use | local_dataflow.rb:143:11:143:26 | [true] ... \|\| ... | @@ -3241,5 +3252,6 @@ | local_dataflow.rb:144:11:144:16 | call to use | local_dataflow.rb:143:27:144:16 | then ... | | local_dataflow.rb:147:5:147:10 | [post] self | local_dataflow.rb:148:5:148:10 | self | | local_dataflow.rb:147:5:147:10 | self | local_dataflow.rb:148:5:148:10 | self | +| local_dataflow.rb:147:9:147:9 | [post] x | local_dataflow.rb:148:9:148:9 | x | | local_dataflow.rb:147:9:147:9 | x | local_dataflow.rb:148:9:148:9 | x | | local_dataflow.rb:148:5:148:10 | call to use | local_dataflow.rb:132:12:148:10 | then ... | diff --git a/ruby/ql/test/library-tests/dataflow/summaries/Summaries.expected b/ruby/ql/test/library-tests/dataflow/summaries/Summaries.expected index 09c9d040e55..dab6b18e8cf 100644 --- a/ruby/ql/test/library-tests/dataflow/summaries/Summaries.expected +++ b/ruby/ql/test/library-tests/dataflow/summaries/Summaries.expected @@ -65,8 +65,12 @@ edges | summaries.rb:4:24:4:30 | tainted | summaries.rb:4:36:4:36 | x | provenance | | | summaries.rb:4:36:4:36 | x | summaries.rb:5:8:5:8 | x | provenance | | | summaries.rb:4:36:4:36 | x | summaries.rb:5:8:5:8 | x | provenance | | +| summaries.rb:4:36:4:36 | x | summaries.rb:6:3:6:3 | x | provenance | | +| summaries.rb:4:36:4:36 | x | summaries.rb:6:3:6:3 | x | provenance | | | summaries.rb:11:17:11:17 | x | summaries.rb:12:8:12:8 | x | provenance | | | summaries.rb:11:17:11:17 | x | summaries.rb:12:8:12:8 | x | provenance | | +| summaries.rb:11:17:11:17 | x | summaries.rb:13:3:13:3 | x | provenance | | +| summaries.rb:11:17:11:17 | x | summaries.rb:13:3:13:3 | x | provenance | | | summaries.rb:16:1:16:8 | tainted3 | summaries.rb:18:6:18:13 | tainted3 | provenance | | | summaries.rb:16:1:16:8 | tainted3 | summaries.rb:18:6:18:13 | tainted3 | provenance | | | summaries.rb:16:12:16:43 | call to apply_lambda | summaries.rb:16:1:16:8 | tainted3 | provenance | | @@ -275,12 +279,16 @@ nodes | summaries.rb:4:36:4:36 | x | semmle.label | x | | summaries.rb:5:8:5:8 | x | semmle.label | x | | summaries.rb:5:8:5:8 | x | semmle.label | x | +| summaries.rb:6:3:6:3 | x | semmle.label | x | +| summaries.rb:6:3:6:3 | x | semmle.label | x | | summaries.rb:9:6:9:13 | tainted2 | semmle.label | tainted2 | | summaries.rb:9:6:9:13 | tainted2 | semmle.label | tainted2 | | summaries.rb:11:17:11:17 | x | semmle.label | x | | summaries.rb:11:17:11:17 | x | semmle.label | x | | summaries.rb:12:8:12:8 | x | semmle.label | x | | summaries.rb:12:8:12:8 | x | semmle.label | x | +| summaries.rb:13:3:13:3 | x | semmle.label | x | +| summaries.rb:13:3:13:3 | x | semmle.label | x | | summaries.rb:16:1:16:8 | tainted3 | semmle.label | tainted3 | | summaries.rb:16:1:16:8 | tainted3 | semmle.label | tainted3 | | summaries.rb:16:12:16:43 | call to apply_lambda | semmle.label | call to apply_lambda | @@ -514,6 +522,10 @@ nodes | summaries.rb:166:20:166:36 | call to source | semmle.label | call to source | | summaries.rb:166:20:166:36 | call to source | semmle.label | call to source | subpaths +| summaries.rb:4:24:4:30 | tainted | summaries.rb:4:36:4:36 | x | summaries.rb:6:3:6:3 | x | summaries.rb:4:12:7:3 | call to apply_block | +| summaries.rb:4:24:4:30 | tainted | summaries.rb:4:36:4:36 | x | summaries.rb:6:3:6:3 | x | summaries.rb:4:12:7:3 | call to apply_block | +| summaries.rb:16:36:16:42 | tainted | summaries.rb:11:17:11:17 | x | summaries.rb:13:3:13:3 | x | summaries.rb:16:12:16:43 | call to apply_lambda | +| summaries.rb:16:36:16:42 | tainted | summaries.rb:11:17:11:17 | x | summaries.rb:13:3:13:3 | x | summaries.rb:16:12:16:43 | call to apply_lambda | invalidSpecComponent #select | summaries.rb:2:6:2:12 | tainted | summaries.rb:1:20:1:36 | call to source | summaries.rb:2:6:2:12 | tainted | $@ | summaries.rb:1:20:1:36 | call to source | call to source | diff --git a/ruby/ql/test/library-tests/frameworks/action_controller/ActionController.expected b/ruby/ql/test/library-tests/frameworks/action_controller/ActionController.expected index 9276cc0b350..9af92b159cd 100644 --- a/ruby/ql/test/library-tests/frameworks/action_controller/ActionController.expected +++ b/ruby/ql/test/library-tests/frameworks/action_controller/ActionController.expected @@ -14,6 +14,7 @@ actionControllerControllerClasses | input_access.rb:1:1:58:3 | UsersController | | params_flow.rb:1:1:162:3 | MyController | | params_flow.rb:170:1:178:3 | Subclass | +| params_flow.rb:180:1:207:3 | UploadedFileTests | actionControllerActionMethods | app/controllers/comments_controller.rb:17:3:51:5 | index | | app/controllers/comments_controller.rb:53:3:54:5 | create | @@ -86,6 +87,12 @@ actionControllerActionMethods | params_flow.rb:152:3:159:5 | m33 | | params_flow.rb:165:3:167:5 | m34 | | params_flow.rb:171:3:173:5 | m35 | +| params_flow.rb:181:3:183:5 | m36 | +| params_flow.rb:185:3:187:5 | m37 | +| params_flow.rb:189:3:191:5 | m38 | +| params_flow.rb:193:3:195:5 | m39 | +| params_flow.rb:197:3:200:5 | m40 | +| params_flow.rb:202:3:206:5 | m41 | paramsCalls | app/controllers/comments_controller.rb:80:36:80:41 | call to params | | app/controllers/foo/bars_controller.rb:13:21:13:26 | call to params | @@ -146,6 +153,12 @@ paramsCalls | params_flow.rb:166:10:166:15 | call to params | | params_flow.rb:172:10:172:15 | call to params | | params_flow.rb:176:10:176:15 | call to params | +| params_flow.rb:182:10:182:15 | call to params | +| params_flow.rb:186:10:186:15 | call to params | +| params_flow.rb:190:10:190:15 | call to params | +| params_flow.rb:194:10:194:15 | call to params | +| params_flow.rb:198:5:198:10 | call to params | +| params_flow.rb:204:5:204:10 | call to params | paramsSources | app/controllers/comments_controller.rb:80:36:80:41 | call to params | | app/controllers/foo/bars_controller.rb:13:21:13:26 | call to params | @@ -206,6 +219,12 @@ paramsSources | params_flow.rb:166:10:166:15 | call to params | | params_flow.rb:172:10:172:15 | call to params | | params_flow.rb:176:10:176:15 | call to params | +| params_flow.rb:182:10:182:15 | call to params | +| params_flow.rb:186:10:186:15 | call to params | +| params_flow.rb:190:10:190:15 | call to params | +| params_flow.rb:194:10:194:15 | call to params | +| params_flow.rb:198:5:198:10 | call to params | +| params_flow.rb:204:5:204:10 | call to params | httpInputAccesses | app/controllers/application_controller.rb:11:53:11:64 | call to path | ActionDispatch::Request#path | | app/controllers/comments_controller.rb:18:5:18:18 | call to params | ActionDispatch::Request#params | @@ -324,6 +343,12 @@ httpInputAccesses | params_flow.rb:166:10:166:15 | call to params | ActionController::Metal#params | | params_flow.rb:172:10:172:15 | call to params | ActionController::Metal#params | | params_flow.rb:176:10:176:15 | call to params | ActionController::Metal#params | +| params_flow.rb:182:10:182:15 | call to params | ActionController::Metal#params | +| params_flow.rb:186:10:186:15 | call to params | ActionController::Metal#params | +| params_flow.rb:190:10:190:15 | call to params | ActionController::Metal#params | +| params_flow.rb:194:10:194:15 | call to params | ActionController::Metal#params | +| params_flow.rb:198:5:198:10 | call to params | ActionController::Metal#params | +| params_flow.rb:204:5:204:10 | call to params | ActionController::Metal#params | cookiesCalls | app/controllers/foo/bars_controller.rb:10:27:10:33 | call to cookies | cookiesSources diff --git a/ruby/ql/test/library-tests/frameworks/action_controller/params-flow.expected b/ruby/ql/test/library-tests/frameworks/action_controller/params-flow.expected index 69946539384..51eb4d1d95c 100644 --- a/ruby/ql/test/library-tests/frameworks/action_controller/params-flow.expected +++ b/ruby/ql/test/library-tests/frameworks/action_controller/params-flow.expected @@ -101,6 +101,24 @@ edges | params_flow.rb:166:10:166:15 | call to params | params_flow.rb:166:10:166:19 | ...[...] | provenance | | | params_flow.rb:172:10:172:15 | call to params | params_flow.rb:172:10:172:19 | ...[...] | provenance | | | params_flow.rb:176:10:176:15 | call to params | params_flow.rb:176:10:176:19 | ...[...] | provenance | | +| params_flow.rb:182:10:182:15 | call to params | params_flow.rb:182:10:182:22 | ...[...] | provenance | | +| params_flow.rb:182:10:182:22 | ...[...] | params_flow.rb:182:10:182:40 | call to original_filename | provenance | | +| params_flow.rb:186:10:186:15 | call to params | params_flow.rb:186:10:186:30 | call to require | provenance | | +| params_flow.rb:186:10:186:30 | call to require | params_flow.rb:186:10:186:43 | call to content_type | provenance | | +| params_flow.rb:190:10:190:15 | call to params | params_flow.rb:190:10:190:29 | call to permit | provenance | | +| params_flow.rb:190:10:190:29 | call to permit | params_flow.rb:190:10:190:36 | ...[...] | provenance | | +| params_flow.rb:190:10:190:36 | ...[...] | params_flow.rb:190:10:190:44 | call to headers | provenance | | +| params_flow.rb:194:10:194:15 | call to params | params_flow.rb:194:10:194:19 | ...[...] | provenance | | +| params_flow.rb:194:10:194:19 | ...[...] | params_flow.rb:194:10:194:31 | call to to_unsafe_h | provenance | | +| params_flow.rb:194:10:194:31 | call to to_unsafe_h | params_flow.rb:194:10:194:35 | ...[...] | provenance | | +| params_flow.rb:194:10:194:35 | ...[...] | params_flow.rb:194:10:194:42 | ...[...] | provenance | | +| params_flow.rb:194:10:194:42 | ...[...] | params_flow.rb:194:10:194:47 | call to read | provenance | | +| params_flow.rb:198:5:198:10 | call to params | params_flow.rb:198:5:198:17 | ...[...] | provenance | | +| params_flow.rb:198:5:198:17 | ...[...] | params_flow.rb:198:28:198:28 | [post] a | provenance | | +| params_flow.rb:198:28:198:28 | [post] a | params_flow.rb:199:10:199:10 | a | provenance | | +| params_flow.rb:204:5:204:10 | call to params | params_flow.rb:204:5:204:17 | ...[...] | provenance | | +| params_flow.rb:204:5:204:17 | ...[...] | params_flow.rb:204:28:204:28 | [post] a | provenance | | +| params_flow.rb:204:28:204:28 | [post] a | params_flow.rb:205:10:205:10 | a | provenance | | nodes | filter_flow.rb:14:5:14:8 | [post] self [@foo] | semmle.label | [post] self [@foo] | | filter_flow.rb:14:12:14:17 | call to params | semmle.label | call to params | @@ -244,6 +262,30 @@ nodes | params_flow.rb:172:10:172:19 | ...[...] | semmle.label | ...[...] | | params_flow.rb:176:10:176:15 | call to params | semmle.label | call to params | | params_flow.rb:176:10:176:19 | ...[...] | semmle.label | ...[...] | +| params_flow.rb:182:10:182:15 | call to params | semmle.label | call to params | +| params_flow.rb:182:10:182:22 | ...[...] | semmle.label | ...[...] | +| params_flow.rb:182:10:182:40 | call to original_filename | semmle.label | call to original_filename | +| params_flow.rb:186:10:186:15 | call to params | semmle.label | call to params | +| params_flow.rb:186:10:186:30 | call to require | semmle.label | call to require | +| params_flow.rb:186:10:186:43 | call to content_type | semmle.label | call to content_type | +| params_flow.rb:190:10:190:15 | call to params | semmle.label | call to params | +| params_flow.rb:190:10:190:29 | call to permit | semmle.label | call to permit | +| params_flow.rb:190:10:190:36 | ...[...] | semmle.label | ...[...] | +| params_flow.rb:190:10:190:44 | call to headers | semmle.label | call to headers | +| params_flow.rb:194:10:194:15 | call to params | semmle.label | call to params | +| params_flow.rb:194:10:194:19 | ...[...] | semmle.label | ...[...] | +| params_flow.rb:194:10:194:31 | call to to_unsafe_h | semmle.label | call to to_unsafe_h | +| params_flow.rb:194:10:194:35 | ...[...] | semmle.label | ...[...] | +| params_flow.rb:194:10:194:42 | ...[...] | semmle.label | ...[...] | +| params_flow.rb:194:10:194:47 | call to read | semmle.label | call to read | +| params_flow.rb:198:5:198:10 | call to params | semmle.label | call to params | +| params_flow.rb:198:5:198:17 | ...[...] | semmle.label | ...[...] | +| params_flow.rb:198:28:198:28 | [post] a | semmle.label | [post] a | +| params_flow.rb:199:10:199:10 | a | semmle.label | a | +| params_flow.rb:204:5:204:10 | call to params | semmle.label | call to params | +| params_flow.rb:204:5:204:17 | ...[...] | semmle.label | ...[...] | +| params_flow.rb:204:28:204:28 | [post] a | semmle.label | [post] a | +| params_flow.rb:205:10:205:10 | a | semmle.label | a | subpaths #select | filter_flow.rb:21:10:21:13 | @foo | filter_flow.rb:14:12:14:17 | call to params | filter_flow.rb:21:10:21:13 | @foo | $@ | filter_flow.rb:14:12:14:17 | call to params | call to params | @@ -298,3 +340,9 @@ subpaths | params_flow.rb:166:10:166:19 | ...[...] | params_flow.rb:166:10:166:15 | call to params | params_flow.rb:166:10:166:19 | ...[...] | $@ | params_flow.rb:166:10:166:15 | call to params | call to params | | params_flow.rb:172:10:172:19 | ...[...] | params_flow.rb:172:10:172:15 | call to params | params_flow.rb:172:10:172:19 | ...[...] | $@ | params_flow.rb:172:10:172:15 | call to params | call to params | | params_flow.rb:176:10:176:19 | ...[...] | params_flow.rb:176:10:176:15 | call to params | params_flow.rb:176:10:176:19 | ...[...] | $@ | params_flow.rb:176:10:176:15 | call to params | call to params | +| params_flow.rb:182:10:182:40 | call to original_filename | params_flow.rb:182:10:182:15 | call to params | params_flow.rb:182:10:182:40 | call to original_filename | $@ | params_flow.rb:182:10:182:15 | call to params | call to params | +| params_flow.rb:186:10:186:43 | call to content_type | params_flow.rb:186:10:186:15 | call to params | params_flow.rb:186:10:186:43 | call to content_type | $@ | params_flow.rb:186:10:186:15 | call to params | call to params | +| params_flow.rb:190:10:190:44 | call to headers | params_flow.rb:190:10:190:15 | call to params | params_flow.rb:190:10:190:44 | call to headers | $@ | params_flow.rb:190:10:190:15 | call to params | call to params | +| params_flow.rb:194:10:194:47 | call to read | params_flow.rb:194:10:194:15 | call to params | params_flow.rb:194:10:194:47 | call to read | $@ | params_flow.rb:194:10:194:15 | call to params | call to params | +| params_flow.rb:199:10:199:10 | a | params_flow.rb:198:5:198:10 | call to params | params_flow.rb:199:10:199:10 | a | $@ | params_flow.rb:198:5:198:10 | call to params | call to params | +| params_flow.rb:205:10:205:10 | a | params_flow.rb:204:5:204:10 | call to params | params_flow.rb:205:10:205:10 | a | $@ | params_flow.rb:204:5:204:10 | call to params | call to params | diff --git a/ruby/ql/test/library-tests/frameworks/action_controller/params_flow.rb b/ruby/ql/test/library-tests/frameworks/action_controller/params_flow.rb index 65aba8fabf2..ece3b551556 100644 --- a/ruby/ql/test/library-tests/frameworks/action_controller/params_flow.rb +++ b/ruby/ql/test/library-tests/frameworks/action_controller/params_flow.rb @@ -176,3 +176,32 @@ class Subclass < MyController sink params[:x] # $hasTaintFlow end end + +class UploadedFileTests < MyController + def m36 + sink params[:file].original_filename # $hasTaintFlow + end + + def m37 + sink params.require(:file).content_type # $hasTaintFlow + end + + def m38 + sink params.permit(:file)[:file].headers # $hasTaintFlow + end + + def m39 + sink params[:a].to_unsafe_h[:b][:file].read # $hasTaintFlow + end + + def m40(a) + params[:file].read(nil,a) + sink a # $ hasTaintFlow + end + + def m41 + a = "" + params[:file].read(nil,a) + sink a # $ hasTaintFlow + end +end \ No newline at end of file diff --git a/ruby/ql/test/library-tests/frameworks/stdlib/CommandExecution.expected b/ruby/ql/test/library-tests/frameworks/stdlib/CommandExecution.expected new file mode 100644 index 00000000000..e29aaf35bac --- /dev/null +++ b/ruby/ql/test/library-tests/frameworks/stdlib/CommandExecution.expected @@ -0,0 +1,32 @@ +| Open3.rb:1:1:1:24 | call to popen3 | Open3.rb:1:14:1:23 | "echo foo" | true | +| Open3.rb:2:1:2:24 | call to popen2 | Open3.rb:2:14:2:23 | "echo foo" | true | +| Open3.rb:3:1:3:25 | call to popen2e | Open3.rb:3:15:3:24 | "echo foo" | true | +| Open3.rb:4:1:4:26 | call to capture3 | Open3.rb:4:16:4:25 | "echo foo" | true | +| Open3.rb:5:1:5:26 | call to capture2 | Open3.rb:5:16:5:25 | "echo foo" | true | +| Open3.rb:6:1:6:27 | call to capture2e | Open3.rb:6:17:6:26 | "echo foo" | true | +| Open3.rb:7:1:7:41 | call to pipeline_rw | Open3.rb:7:19:7:28 | "echo foo" | true | +| Open3.rb:7:1:7:41 | call to pipeline_rw | Open3.rb:7:31:7:40 | "grep bar" | true | +| Open3.rb:8:1:8:40 | call to pipeline_r | Open3.rb:8:18:8:27 | "echo foo" | true | +| Open3.rb:8:1:8:40 | call to pipeline_r | Open3.rb:8:30:8:39 | "grep bar" | true | +| Open3.rb:9:1:9:40 | call to pipeline_w | Open3.rb:9:18:9:27 | "echo foo" | true | +| Open3.rb:9:1:9:40 | call to pipeline_w | Open3.rb:9:30:9:39 | "grep bar" | true | +| Open3.rb:10:1:10:44 | call to pipeline_start | Open3.rb:10:22:10:31 | "echo foo" | true | +| Open3.rb:10:1:10:44 | call to pipeline_start | Open3.rb:10:34:10:43 | "grep bar" | true | +| Open3.rb:11:1:11:38 | call to pipeline | Open3.rb:11:16:11:25 | "echo foo" | true | +| Open3.rb:11:1:11:38 | call to pipeline | Open3.rb:11:28:11:37 | "grep bar" | true | +| Open3.rb:13:1:13:24 | call to open4 | Open3.rb:13:14:13:23 | "echo foo" | true | +| Open3.rb:14:1:14:25 | call to popen4 | Open3.rb:14:15:14:24 | "echo foo" | true | +| Open3.rb:15:1:15:23 | call to spawn | Open3.rb:15:13:15:22 | "echo bar" | true | +| Open3.rb:16:1:16:27 | call to popen4ext | Open3.rb:16:17:16:26 | "echo foo" | true | +| Open3.rb:17:1:17:30 | call to popen4ext | Open3.rb:17:17:17:22 | "echo" | false | +| Open3.rb:17:1:17:30 | call to popen4ext | Open3.rb:17:25:17:29 | "foo" | false | +| Open3.rb:18:1:18:33 | call to popen4ext | Open3.rb:18:17:18:20 | true | false | +| Open3.rb:18:1:18:33 | call to popen4ext | Open3.rb:18:23:18:32 | "echo foo" | true | +| Open3.rb:19:1:19:36 | call to popen4ext | Open3.rb:19:17:19:20 | true | false | +| Open3.rb:19:1:19:36 | call to popen4ext | Open3.rb:19:23:19:28 | "echo" | false | +| Open3.rb:19:1:19:36 | call to popen4ext | Open3.rb:19:31:19:35 | "foo" | false | +| process.rb:1:1:1:25 | call to spawn | process.rb:1:15:1:24 | "echo foo" | true | +| process.rb:2:1:2:30 | call to spawn | process.rb:2:15:2:29 | call to [] | true | +| process.rb:3:1:3:24 | call to exec | process.rb:3:14:3:23 | "echo foo" | true | +| process.rb:4:1:4:29 | call to exec | process.rb:4:14:4:28 | call to [] | true | +| process.rb:5:1:5:21 | call to spawn | process.rb:5:11:5:20 | "echo foo" | true | diff --git a/ruby/ql/test/library-tests/frameworks/stdlib/CommandExecution.ql b/ruby/ql/test/library-tests/frameworks/stdlib/CommandExecution.ql new file mode 100644 index 00000000000..4de7304272b --- /dev/null +++ b/ruby/ql/test/library-tests/frameworks/stdlib/CommandExecution.ql @@ -0,0 +1,12 @@ +import codeql.ruby.Frameworks +import codeql.ruby.Concepts +import codeql.ruby.DataFlow + +query predicate commandExecutions( + SystemCommandExecution execution, DataFlow::Node arg, boolean isShellInterpreted +) { + arg = execution.getAnArgument() and + if execution.isShellInterpreted(arg) + then isShellInterpreted = true + else isShellInterpreted = false +} diff --git a/ruby/ql/test/library-tests/frameworks/stdlib/Open3.expected b/ruby/ql/test/library-tests/frameworks/stdlib/Open3.expected index a601d199ff6..9589d721a29 100644 --- a/ruby/ql/test/library-tests/frameworks/stdlib/Open3.expected +++ b/ruby/ql/test/library-tests/frameworks/stdlib/Open3.expected @@ -11,3 +11,11 @@ open3PipelineCallExecutions | Open3.rb:9:1:9:40 | call to pipeline_w | | Open3.rb:10:1:10:44 | call to pipeline_start | | Open3.rb:11:1:11:38 | call to pipeline | +open4CallExecutions +| Open3.rb:13:1:13:24 | call to open4 | +| Open3.rb:14:1:14:25 | call to popen4 | +| Open3.rb:15:1:15:23 | call to spawn | +| Open3.rb:16:1:16:27 | call to popen4ext | +| Open3.rb:17:1:17:30 | call to popen4ext | +| Open3.rb:18:1:18:33 | call to popen4ext | +| Open3.rb:19:1:19:36 | call to popen4ext | diff --git a/ruby/ql/test/library-tests/frameworks/stdlib/Open3.ql b/ruby/ql/test/library-tests/frameworks/stdlib/Open3.ql index 8d98734832d..014573d7010 100644 --- a/ruby/ql/test/library-tests/frameworks/stdlib/Open3.ql +++ b/ruby/ql/test/library-tests/frameworks/stdlib/Open3.ql @@ -4,3 +4,5 @@ import codeql.ruby.DataFlow query predicate open3CallExecutions(Open3Call c) { any() } query predicate open3PipelineCallExecutions(Open3PipelineCall c) { any() } + +query predicate open4CallExecutions(Open4Call c) { any() } diff --git a/ruby/ql/test/library-tests/frameworks/stdlib/Open3.rb b/ruby/ql/test/library-tests/frameworks/stdlib/Open3.rb index b1a3d491be1..9cc7ea7fd5c 100644 --- a/ruby/ql/test/library-tests/frameworks/stdlib/Open3.rb +++ b/ruby/ql/test/library-tests/frameworks/stdlib/Open3.rb @@ -8,4 +8,12 @@ Open3.pipeline_rw("echo foo", "grep bar") Open3.pipeline_r("echo foo", "grep bar") Open3.pipeline_w("echo foo", "grep bar") Open3.pipeline_start("echo foo", "grep bar") -Open3.pipeline("echo foo", "grep bar") \ No newline at end of file +Open3.pipeline("echo foo", "grep bar") + +Open4::open4("echo foo") +Open4::popen4("echo foo") +Open4.spawn("echo bar") +Open4.popen4ext("echo foo") +Open4.popen4ext("echo", "foo") +Open4.popen4ext(true, "echo foo") +Open4.popen4ext(true, "echo", "foo") diff --git a/ruby/ql/test/library-tests/frameworks/stdlib/process.rb b/ruby/ql/test/library-tests/frameworks/stdlib/process.rb new file mode 100644 index 00000000000..2a40e7fa94e --- /dev/null +++ b/ruby/ql/test/library-tests/frameworks/stdlib/process.rb @@ -0,0 +1,5 @@ +Process.spawn("echo foo") +Process.spawn(["echo", "foo"]) +Process.exec("echo foo") +Process.exec(["echo", "foo"]) +PTY.spawn("echo foo") diff --git a/ruby/ql/test/query-tests/security/cwe-078/CommandInjection/CommandInjection.expected b/ruby/ql/test/query-tests/security/cwe-078/CommandInjection/CommandInjection.expected index be4473409b7..0ca6e123e7b 100644 --- a/ruby/ql/test/query-tests/security/cwe-078/CommandInjection/CommandInjection.expected +++ b/ruby/ql/test/query-tests/security/cwe-078/CommandInjection/CommandInjection.expected @@ -21,6 +21,9 @@ edges | CommandInjection.rb:103:9:103:12 | file | CommandInjection.rb:104:16:104:28 | "cat #{...}" | provenance | | | CommandInjection.rb:103:16:103:21 | call to params | CommandInjection.rb:103:16:103:28 | ...[...] | provenance | | | CommandInjection.rb:103:16:103:28 | ...[...] | CommandInjection.rb:103:9:103:12 | file | provenance | | +| CommandInjection.rb:111:33:111:38 | call to params | CommandInjection.rb:111:33:111:44 | ...[...] | provenance | | +| CommandInjection.rb:113:44:113:49 | call to params | CommandInjection.rb:113:44:113:54 | ...[...] | provenance | | +| CommandInjection.rb:113:44:113:54 | ...[...] | CommandInjection.rb:113:41:113:56 | "#{...}" | provenance | | nodes | CommandInjection.rb:6:9:6:11 | cmd | semmle.label | cmd | | CommandInjection.rb:6:15:6:20 | call to params | semmle.label | call to params | @@ -51,6 +54,11 @@ nodes | CommandInjection.rb:103:16:103:21 | call to params | semmle.label | call to params | | CommandInjection.rb:103:16:103:28 | ...[...] | semmle.label | ...[...] | | CommandInjection.rb:104:16:104:28 | "cat #{...}" | semmle.label | "cat #{...}" | +| CommandInjection.rb:111:33:111:38 | call to params | semmle.label | call to params | +| CommandInjection.rb:111:33:111:44 | ...[...] | semmle.label | ...[...] | +| CommandInjection.rb:113:41:113:56 | "#{...}" | semmle.label | "#{...}" | +| CommandInjection.rb:113:44:113:49 | call to params | semmle.label | call to params | +| CommandInjection.rb:113:44:113:54 | ...[...] | semmle.label | ...[...] | subpaths #select | CommandInjection.rb:7:10:7:15 | #{...} | CommandInjection.rb:6:15:6:20 | call to params | CommandInjection.rb:7:10:7:15 | #{...} | This command depends on a $@. | CommandInjection.rb:6:15:6:20 | call to params | user-provided value | @@ -67,3 +75,5 @@ subpaths | CommandInjection.rb:82:14:82:34 | "echo #{...}" | CommandInjection.rb:81:23:81:33 | blah_number | CommandInjection.rb:82:14:82:34 | "echo #{...}" | This command depends on a $@. | CommandInjection.rb:81:23:81:33 | blah_number | user-provided value | | CommandInjection.rb:91:14:91:39 | "echo #{...}" | CommandInjection.rb:91:22:91:37 | ...[...] | CommandInjection.rb:91:14:91:39 | "echo #{...}" | This command depends on a $@. | CommandInjection.rb:91:22:91:37 | ...[...] | user-provided value | | CommandInjection.rb:104:16:104:28 | "cat #{...}" | CommandInjection.rb:103:16:103:21 | call to params | CommandInjection.rb:104:16:104:28 | "cat #{...}" | This command depends on a $@. | CommandInjection.rb:103:16:103:21 | call to params | user-provided value | +| CommandInjection.rb:111:33:111:44 | ...[...] | CommandInjection.rb:111:33:111:38 | call to params | CommandInjection.rb:111:33:111:44 | ...[...] | This command depends on a $@. | CommandInjection.rb:111:33:111:38 | call to params | user-provided value | +| CommandInjection.rb:113:41:113:56 | "#{...}" | CommandInjection.rb:113:44:113:49 | call to params | CommandInjection.rb:113:41:113:56 | "#{...}" | This command depends on a $@. | CommandInjection.rb:113:44:113:49 | call to params | user-provided value | diff --git a/ruby/ql/test/query-tests/security/cwe-078/CommandInjection/CommandInjection.rb b/ruby/ql/test/query-tests/security/cwe-078/CommandInjection/CommandInjection.rb index 4be9c95924a..12c15a30b15 100644 --- a/ruby/ql/test/query-tests/security/cwe-078/CommandInjection/CommandInjection.rb +++ b/ruby/ql/test/query-tests/security/cwe-078/CommandInjection/CommandInjection.rb @@ -106,4 +106,13 @@ class Foo < ActionController::Base system("cat #{file.shellescape}") # OK, because file is shell escaped end -end \ No newline at end of file + + def index + Terrapin::CommandLine.new(params[:foo], "bar") # BAD + + Terrapin::CommandLine.new("echo", "#{params[foo]}") # BAD + + cmd = Terrapin::CommandLine.new("echo", ":msg") + cmd.run(msg: params[:foo]) # GOOD + end +end diff --git a/ruby/ql/test/query-tests/security/cwe-089/ActiveRecordInjection.rb b/ruby/ql/test/query-tests/security/cwe-089/ActiveRecordInjection.rb index 9a94e48708d..f1f8d680b75 100644 --- a/ruby/ql/test/query-tests/security/cwe-089/ActiveRecordInjection.rb +++ b/ruby/ql/test/query-tests/security/cwe-089/ActiveRecordInjection.rb @@ -114,6 +114,12 @@ class FooController < ActionController::Base User.joins(:a, params[:column]) User.count_by_sql(params[:custom_sql_query]) + + # BAD: executes `SELECT users.* FROM #{params[:tab]}` + # where `params[:tab]` is unsanitized + User.all.from(params[:tab]) + # BAD: executes `SELECT "users".* FROM (SELECT "users".* FROM "users") #{params[:sq]} + User.all.from(User.all, params[:sq]) end end @@ -198,3 +204,14 @@ class RegressionController < ActionController::Base Regression.connection.execute("SELECT * FROM users WHERE id = #{permitted_params[:user_id]}") end end + +class User + scope :with_role, ->(role) { where("role = #{role}") } +end + +class UsersController < ActionController::Base + def index + # BAD: user input passed to scope which uses it without sanitization. + @users = User.with_role(params[:role]) + end +end diff --git a/ruby/ql/test/query-tests/security/cwe-089/SqlInjection.expected b/ruby/ql/test/query-tests/security/cwe-089/SqlInjection.expected index 9bf4513af07..6593e7606da 100644 --- a/ruby/ql/test/query-tests/security/cwe-089/SqlInjection.expected +++ b/ruby/ql/test/query-tests/security/cwe-089/SqlInjection.expected @@ -46,34 +46,39 @@ edges | ActiveRecordInjection.rb:113:21:113:26 | call to params | ActiveRecordInjection.rb:113:21:113:35 | ...[...] | provenance | | | ActiveRecordInjection.rb:114:20:114:25 | call to params | ActiveRecordInjection.rb:114:20:114:34 | ...[...] | provenance | | | ActiveRecordInjection.rb:116:23:116:28 | call to params | ActiveRecordInjection.rb:116:23:116:47 | ...[...] | provenance | | -| ActiveRecordInjection.rb:122:5:122:6 | ps | ActiveRecordInjection.rb:123:11:123:12 | ps | provenance | | -| ActiveRecordInjection.rb:122:10:122:15 | call to params | ActiveRecordInjection.rb:122:5:122:6 | ps | provenance | | -| ActiveRecordInjection.rb:123:5:123:7 | uid | ActiveRecordInjection.rb:124:5:124:9 | uidEq | provenance | | -| ActiveRecordInjection.rb:123:11:123:12 | ps | ActiveRecordInjection.rb:123:11:123:17 | ...[...] | provenance | | -| ActiveRecordInjection.rb:123:11:123:17 | ...[...] | ActiveRecordInjection.rb:123:5:123:7 | uid | provenance | | -| ActiveRecordInjection.rb:124:5:124:9 | uidEq | ActiveRecordInjection.rb:128:20:128:32 | ... + ... | provenance | | -| ActiveRecordInjection.rb:124:5:124:9 | uidEq | ActiveRecordInjection.rb:128:28:128:32 | uidEq | provenance | | -| ActiveRecordInjection.rb:128:20:128:32 | ... + ... [element] | ActiveRecordInjection.rb:128:20:128:32 | ... + ... | provenance | | -| ActiveRecordInjection.rb:128:28:128:32 | uidEq | ActiveRecordInjection.rb:128:20:128:32 | ... + ... [element] | provenance | | -| ActiveRecordInjection.rb:161:21:161:26 | call to params | ActiveRecordInjection.rb:161:21:161:44 | ...[...] | provenance | | -| ActiveRecordInjection.rb:161:21:161:26 | call to params | ActiveRecordInjection.rb:161:21:161:44 | ...[...] | provenance | | -| ActiveRecordInjection.rb:161:21:161:44 | ...[...] | ActiveRecordInjection.rb:20:22:20:30 | condition | provenance | | -| ActiveRecordInjection.rb:175:59:175:64 | call to params | ActiveRecordInjection.rb:175:59:175:74 | ...[...] | provenance | | -| ActiveRecordInjection.rb:175:59:175:74 | ...[...] | ActiveRecordInjection.rb:175:27:175:76 | "this is an unsafe annotation:..." | provenance | | -| ActiveRecordInjection.rb:186:5:186:13 | my_params | ActiveRecordInjection.rb:187:47:187:55 | my_params | provenance | | -| ActiveRecordInjection.rb:186:17:186:32 | call to permitted_params | ActiveRecordInjection.rb:186:5:186:13 | my_params | provenance | | -| ActiveRecordInjection.rb:187:5:187:9 | query | ActiveRecordInjection.rb:188:37:188:41 | query | provenance | | -| ActiveRecordInjection.rb:187:47:187:55 | my_params | ActiveRecordInjection.rb:187:47:187:65 | ...[...] | provenance | | -| ActiveRecordInjection.rb:187:47:187:65 | ...[...] | ActiveRecordInjection.rb:187:5:187:9 | query | provenance | | -| ActiveRecordInjection.rb:193:5:193:10 | call to params | ActiveRecordInjection.rb:193:5:193:27 | call to require | provenance | | -| ActiveRecordInjection.rb:193:5:193:27 | call to require | ActiveRecordInjection.rb:193:5:193:59 | call to permit | provenance | | -| ActiveRecordInjection.rb:193:5:193:59 | call to permit | ActiveRecordInjection.rb:186:17:186:32 | call to permitted_params | provenance | | -| ActiveRecordInjection.rb:193:5:193:59 | call to permit | ActiveRecordInjection.rb:197:77:197:92 | call to permitted_params | provenance | | -| ActiveRecordInjection.rb:193:5:193:59 | call to permit | ActiveRecordInjection.rb:198:69:198:84 | call to permitted_params | provenance | | -| ActiveRecordInjection.rb:197:77:197:92 | call to permitted_params | ActiveRecordInjection.rb:197:77:197:102 | ...[...] | provenance | | -| ActiveRecordInjection.rb:197:77:197:102 | ...[...] | ActiveRecordInjection.rb:197:43:197:104 | "SELECT * FROM users WHERE id ..." | provenance | | -| ActiveRecordInjection.rb:198:69:198:84 | call to permitted_params | ActiveRecordInjection.rb:198:69:198:94 | ...[...] | provenance | | -| ActiveRecordInjection.rb:198:69:198:94 | ...[...] | ActiveRecordInjection.rb:198:35:198:96 | "SELECT * FROM users WHERE id ..." | provenance | | +| ActiveRecordInjection.rb:120:19:120:24 | call to params | ActiveRecordInjection.rb:120:19:120:30 | ...[...] | provenance | | +| ActiveRecordInjection.rb:122:29:122:34 | call to params | ActiveRecordInjection.rb:122:29:122:39 | ...[...] | provenance | | +| ActiveRecordInjection.rb:128:5:128:6 | ps | ActiveRecordInjection.rb:129:11:129:12 | ps | provenance | | +| ActiveRecordInjection.rb:128:10:128:15 | call to params | ActiveRecordInjection.rb:128:5:128:6 | ps | provenance | | +| ActiveRecordInjection.rb:129:5:129:7 | uid | ActiveRecordInjection.rb:130:5:130:9 | uidEq | provenance | | +| ActiveRecordInjection.rb:129:11:129:12 | ps | ActiveRecordInjection.rb:129:11:129:17 | ...[...] | provenance | | +| ActiveRecordInjection.rb:129:11:129:17 | ...[...] | ActiveRecordInjection.rb:129:5:129:7 | uid | provenance | | +| ActiveRecordInjection.rb:130:5:130:9 | uidEq | ActiveRecordInjection.rb:134:20:134:32 | ... + ... | provenance | | +| ActiveRecordInjection.rb:130:5:130:9 | uidEq | ActiveRecordInjection.rb:134:28:134:32 | uidEq | provenance | | +| ActiveRecordInjection.rb:134:20:134:32 | ... + ... [element] | ActiveRecordInjection.rb:134:20:134:32 | ... + ... | provenance | | +| ActiveRecordInjection.rb:134:28:134:32 | uidEq | ActiveRecordInjection.rb:134:20:134:32 | ... + ... [element] | provenance | | +| ActiveRecordInjection.rb:167:21:167:26 | call to params | ActiveRecordInjection.rb:167:21:167:44 | ...[...] | provenance | | +| ActiveRecordInjection.rb:167:21:167:26 | call to params | ActiveRecordInjection.rb:167:21:167:44 | ...[...] | provenance | | +| ActiveRecordInjection.rb:167:21:167:44 | ...[...] | ActiveRecordInjection.rb:20:22:20:30 | condition | provenance | | +| ActiveRecordInjection.rb:181:59:181:64 | call to params | ActiveRecordInjection.rb:181:59:181:74 | ...[...] | provenance | | +| ActiveRecordInjection.rb:181:59:181:74 | ...[...] | ActiveRecordInjection.rb:181:27:181:76 | "this is an unsafe annotation:..." | provenance | | +| ActiveRecordInjection.rb:192:5:192:13 | my_params | ActiveRecordInjection.rb:193:47:193:55 | my_params | provenance | | +| ActiveRecordInjection.rb:192:17:192:32 | call to permitted_params | ActiveRecordInjection.rb:192:5:192:13 | my_params | provenance | | +| ActiveRecordInjection.rb:193:5:193:9 | query | ActiveRecordInjection.rb:194:37:194:41 | query | provenance | | +| ActiveRecordInjection.rb:193:47:193:55 | my_params | ActiveRecordInjection.rb:193:47:193:65 | ...[...] | provenance | | +| ActiveRecordInjection.rb:193:47:193:65 | ...[...] | ActiveRecordInjection.rb:193:5:193:9 | query | provenance | | +| ActiveRecordInjection.rb:199:5:199:10 | call to params | ActiveRecordInjection.rb:199:5:199:27 | call to require | provenance | | +| ActiveRecordInjection.rb:199:5:199:27 | call to require | ActiveRecordInjection.rb:199:5:199:59 | call to permit | provenance | | +| ActiveRecordInjection.rb:199:5:199:59 | call to permit | ActiveRecordInjection.rb:192:17:192:32 | call to permitted_params | provenance | | +| ActiveRecordInjection.rb:199:5:199:59 | call to permit | ActiveRecordInjection.rb:203:77:203:92 | call to permitted_params | provenance | | +| ActiveRecordInjection.rb:199:5:199:59 | call to permit | ActiveRecordInjection.rb:204:69:204:84 | call to permitted_params | provenance | | +| ActiveRecordInjection.rb:203:77:203:92 | call to permitted_params | ActiveRecordInjection.rb:203:77:203:102 | ...[...] | provenance | | +| ActiveRecordInjection.rb:203:77:203:102 | ...[...] | ActiveRecordInjection.rb:203:43:203:104 | "SELECT * FROM users WHERE id ..." | provenance | | +| ActiveRecordInjection.rb:204:69:204:84 | call to permitted_params | ActiveRecordInjection.rb:204:69:204:94 | ...[...] | provenance | | +| ActiveRecordInjection.rb:204:69:204:94 | ...[...] | ActiveRecordInjection.rb:204:35:204:96 | "SELECT * FROM users WHERE id ..." | provenance | | +| ActiveRecordInjection.rb:209:24:209:27 | role | ActiveRecordInjection.rb:209:38:209:53 | "role = #{...}" | provenance | | +| ActiveRecordInjection.rb:215:29:215:34 | call to params | ActiveRecordInjection.rb:215:29:215:41 | ...[...] | provenance | | +| ActiveRecordInjection.rb:215:29:215:41 | ...[...] | ActiveRecordInjection.rb:209:24:209:27 | role | provenance | | | ArelInjection.rb:4:5:4:8 | name | ArelInjection.rb:6:20:6:61 | "SELECT * FROM users WHERE nam..." | provenance | | | ArelInjection.rb:4:5:4:8 | name | ArelInjection.rb:7:39:7:80 | "SELECT * FROM users WHERE nam..." | provenance | | | ArelInjection.rb:4:12:4:17 | call to params | ArelInjection.rb:4:12:4:29 | ...[...] | provenance | | @@ -165,36 +170,44 @@ nodes | ActiveRecordInjection.rb:114:20:114:34 | ...[...] | semmle.label | ...[...] | | ActiveRecordInjection.rb:116:23:116:28 | call to params | semmle.label | call to params | | ActiveRecordInjection.rb:116:23:116:47 | ...[...] | semmle.label | ...[...] | -| ActiveRecordInjection.rb:122:5:122:6 | ps | semmle.label | ps | -| ActiveRecordInjection.rb:122:10:122:15 | call to params | semmle.label | call to params | -| ActiveRecordInjection.rb:123:5:123:7 | uid | semmle.label | uid | -| ActiveRecordInjection.rb:123:11:123:12 | ps | semmle.label | ps | -| ActiveRecordInjection.rb:123:11:123:17 | ...[...] | semmle.label | ...[...] | -| ActiveRecordInjection.rb:124:5:124:9 | uidEq | semmle.label | uidEq | -| ActiveRecordInjection.rb:128:20:128:32 | ... + ... | semmle.label | ... + ... | -| ActiveRecordInjection.rb:128:20:128:32 | ... + ... [element] | semmle.label | ... + ... [element] | -| ActiveRecordInjection.rb:128:28:128:32 | uidEq | semmle.label | uidEq | -| ActiveRecordInjection.rb:161:21:161:26 | call to params | semmle.label | call to params | -| ActiveRecordInjection.rb:161:21:161:44 | ...[...] | semmle.label | ...[...] | -| ActiveRecordInjection.rb:161:21:161:44 | ...[...] | semmle.label | ...[...] | -| ActiveRecordInjection.rb:175:27:175:76 | "this is an unsafe annotation:..." | semmle.label | "this is an unsafe annotation:..." | -| ActiveRecordInjection.rb:175:59:175:64 | call to params | semmle.label | call to params | -| ActiveRecordInjection.rb:175:59:175:74 | ...[...] | semmle.label | ...[...] | -| ActiveRecordInjection.rb:186:5:186:13 | my_params | semmle.label | my_params | -| ActiveRecordInjection.rb:186:17:186:32 | call to permitted_params | semmle.label | call to permitted_params | -| ActiveRecordInjection.rb:187:5:187:9 | query | semmle.label | query | -| ActiveRecordInjection.rb:187:47:187:55 | my_params | semmle.label | my_params | -| ActiveRecordInjection.rb:187:47:187:65 | ...[...] | semmle.label | ...[...] | -| ActiveRecordInjection.rb:188:37:188:41 | query | semmle.label | query | -| ActiveRecordInjection.rb:193:5:193:10 | call to params | semmle.label | call to params | -| ActiveRecordInjection.rb:193:5:193:27 | call to require | semmle.label | call to require | -| ActiveRecordInjection.rb:193:5:193:59 | call to permit | semmle.label | call to permit | -| ActiveRecordInjection.rb:197:43:197:104 | "SELECT * FROM users WHERE id ..." | semmle.label | "SELECT * FROM users WHERE id ..." | -| ActiveRecordInjection.rb:197:77:197:92 | call to permitted_params | semmle.label | call to permitted_params | -| ActiveRecordInjection.rb:197:77:197:102 | ...[...] | semmle.label | ...[...] | -| ActiveRecordInjection.rb:198:35:198:96 | "SELECT * FROM users WHERE id ..." | semmle.label | "SELECT * FROM users WHERE id ..." | -| ActiveRecordInjection.rb:198:69:198:84 | call to permitted_params | semmle.label | call to permitted_params | -| ActiveRecordInjection.rb:198:69:198:94 | ...[...] | semmle.label | ...[...] | +| ActiveRecordInjection.rb:120:19:120:24 | call to params | semmle.label | call to params | +| ActiveRecordInjection.rb:120:19:120:30 | ...[...] | semmle.label | ...[...] | +| ActiveRecordInjection.rb:122:29:122:34 | call to params | semmle.label | call to params | +| ActiveRecordInjection.rb:122:29:122:39 | ...[...] | semmle.label | ...[...] | +| ActiveRecordInjection.rb:128:5:128:6 | ps | semmle.label | ps | +| ActiveRecordInjection.rb:128:10:128:15 | call to params | semmle.label | call to params | +| ActiveRecordInjection.rb:129:5:129:7 | uid | semmle.label | uid | +| ActiveRecordInjection.rb:129:11:129:12 | ps | semmle.label | ps | +| ActiveRecordInjection.rb:129:11:129:17 | ...[...] | semmle.label | ...[...] | +| ActiveRecordInjection.rb:130:5:130:9 | uidEq | semmle.label | uidEq | +| ActiveRecordInjection.rb:134:20:134:32 | ... + ... | semmle.label | ... + ... | +| ActiveRecordInjection.rb:134:20:134:32 | ... + ... [element] | semmle.label | ... + ... [element] | +| ActiveRecordInjection.rb:134:28:134:32 | uidEq | semmle.label | uidEq | +| ActiveRecordInjection.rb:167:21:167:26 | call to params | semmle.label | call to params | +| ActiveRecordInjection.rb:167:21:167:44 | ...[...] | semmle.label | ...[...] | +| ActiveRecordInjection.rb:167:21:167:44 | ...[...] | semmle.label | ...[...] | +| ActiveRecordInjection.rb:181:27:181:76 | "this is an unsafe annotation:..." | semmle.label | "this is an unsafe annotation:..." | +| ActiveRecordInjection.rb:181:59:181:64 | call to params | semmle.label | call to params | +| ActiveRecordInjection.rb:181:59:181:74 | ...[...] | semmle.label | ...[...] | +| ActiveRecordInjection.rb:192:5:192:13 | my_params | semmle.label | my_params | +| ActiveRecordInjection.rb:192:17:192:32 | call to permitted_params | semmle.label | call to permitted_params | +| ActiveRecordInjection.rb:193:5:193:9 | query | semmle.label | query | +| ActiveRecordInjection.rb:193:47:193:55 | my_params | semmle.label | my_params | +| ActiveRecordInjection.rb:193:47:193:65 | ...[...] | semmle.label | ...[...] | +| ActiveRecordInjection.rb:194:37:194:41 | query | semmle.label | query | +| ActiveRecordInjection.rb:199:5:199:10 | call to params | semmle.label | call to params | +| ActiveRecordInjection.rb:199:5:199:27 | call to require | semmle.label | call to require | +| ActiveRecordInjection.rb:199:5:199:59 | call to permit | semmle.label | call to permit | +| ActiveRecordInjection.rb:203:43:203:104 | "SELECT * FROM users WHERE id ..." | semmle.label | "SELECT * FROM users WHERE id ..." | +| ActiveRecordInjection.rb:203:77:203:92 | call to permitted_params | semmle.label | call to permitted_params | +| ActiveRecordInjection.rb:203:77:203:102 | ...[...] | semmle.label | ...[...] | +| ActiveRecordInjection.rb:204:35:204:96 | "SELECT * FROM users WHERE id ..." | semmle.label | "SELECT * FROM users WHERE id ..." | +| ActiveRecordInjection.rb:204:69:204:84 | call to permitted_params | semmle.label | call to permitted_params | +| ActiveRecordInjection.rb:204:69:204:94 | ...[...] | semmle.label | ...[...] | +| ActiveRecordInjection.rb:209:24:209:27 | role | semmle.label | role | +| ActiveRecordInjection.rb:209:38:209:53 | "role = #{...}" | semmle.label | "role = #{...}" | +| ActiveRecordInjection.rb:215:29:215:34 | call to params | semmle.label | call to params | +| ActiveRecordInjection.rb:215:29:215:41 | ...[...] | semmle.label | ...[...] | | ArelInjection.rb:4:5:4:8 | name | semmle.label | name | | ArelInjection.rb:4:12:4:17 | call to params | semmle.label | call to params | | ArelInjection.rb:4:12:4:29 | ...[...] | semmle.label | ...[...] | @@ -217,7 +230,7 @@ subpaths #select | ActiveRecordInjection.rb:10:33:10:67 | "name='#{...}' and pass='#{...}'" | ActiveRecordInjection.rb:70:23:70:28 | call to params | ActiveRecordInjection.rb:10:33:10:67 | "name='#{...}' and pass='#{...}'" | This SQL query depends on a $@. | ActiveRecordInjection.rb:70:23:70:28 | call to params | user-provided value | | ActiveRecordInjection.rb:10:33:10:67 | "name='#{...}' and pass='#{...}'" | ActiveRecordInjection.rb:70:38:70:43 | call to params | ActiveRecordInjection.rb:10:33:10:67 | "name='#{...}' and pass='#{...}'" | This SQL query depends on a $@. | ActiveRecordInjection.rb:70:38:70:43 | call to params | user-provided value | -| ActiveRecordInjection.rb:23:16:23:24 | condition | ActiveRecordInjection.rb:161:21:161:26 | call to params | ActiveRecordInjection.rb:23:16:23:24 | condition | This SQL query depends on a $@. | ActiveRecordInjection.rb:161:21:161:26 | call to params | user-provided value | +| ActiveRecordInjection.rb:23:16:23:24 | condition | ActiveRecordInjection.rb:167:21:167:26 | call to params | ActiveRecordInjection.rb:23:16:23:24 | condition | This SQL query depends on a $@. | ActiveRecordInjection.rb:167:21:167:26 | call to params | user-provided value | | ActiveRecordInjection.rb:35:30:35:44 | ...[...] | ActiveRecordInjection.rb:35:30:35:35 | call to params | ActiveRecordInjection.rb:35:30:35:44 | ...[...] | This SQL query depends on a $@. | ActiveRecordInjection.rb:35:30:35:35 | call to params | user-provided value | | ActiveRecordInjection.rb:39:18:39:32 | ...[...] | ActiveRecordInjection.rb:39:18:39:23 | call to params | ActiveRecordInjection.rb:39:18:39:32 | ...[...] | This SQL query depends on a $@. | ActiveRecordInjection.rb:39:18:39:23 | call to params | user-provided value | | ActiveRecordInjection.rb:43:20:43:42 | "id = '#{...}'" | ActiveRecordInjection.rb:43:29:43:34 | call to params | ActiveRecordInjection.rb:43:20:43:42 | "id = '#{...}'" | This SQL query depends on a $@. | ActiveRecordInjection.rb:43:29:43:34 | call to params | user-provided value | @@ -243,12 +256,15 @@ subpaths | ActiveRecordInjection.rb:113:21:113:35 | ...[...] | ActiveRecordInjection.rb:113:21:113:26 | call to params | ActiveRecordInjection.rb:113:21:113:35 | ...[...] | This SQL query depends on a $@. | ActiveRecordInjection.rb:113:21:113:26 | call to params | user-provided value | | ActiveRecordInjection.rb:114:20:114:34 | ...[...] | ActiveRecordInjection.rb:114:20:114:25 | call to params | ActiveRecordInjection.rb:114:20:114:34 | ...[...] | This SQL query depends on a $@. | ActiveRecordInjection.rb:114:20:114:25 | call to params | user-provided value | | ActiveRecordInjection.rb:116:23:116:47 | ...[...] | ActiveRecordInjection.rb:116:23:116:28 | call to params | ActiveRecordInjection.rb:116:23:116:47 | ...[...] | This SQL query depends on a $@. | ActiveRecordInjection.rb:116:23:116:28 | call to params | user-provided value | -| ActiveRecordInjection.rb:128:20:128:32 | ... + ... | ActiveRecordInjection.rb:122:10:122:15 | call to params | ActiveRecordInjection.rb:128:20:128:32 | ... + ... | This SQL query depends on a $@. | ActiveRecordInjection.rb:122:10:122:15 | call to params | user-provided value | -| ActiveRecordInjection.rb:161:21:161:44 | ...[...] | ActiveRecordInjection.rb:161:21:161:26 | call to params | ActiveRecordInjection.rb:161:21:161:44 | ...[...] | This SQL query depends on a $@. | ActiveRecordInjection.rb:161:21:161:26 | call to params | user-provided value | -| ActiveRecordInjection.rb:175:27:175:76 | "this is an unsafe annotation:..." | ActiveRecordInjection.rb:175:59:175:64 | call to params | ActiveRecordInjection.rb:175:27:175:76 | "this is an unsafe annotation:..." | This SQL query depends on a $@. | ActiveRecordInjection.rb:175:59:175:64 | call to params | user-provided value | -| ActiveRecordInjection.rb:188:37:188:41 | query | ActiveRecordInjection.rb:193:5:193:10 | call to params | ActiveRecordInjection.rb:188:37:188:41 | query | This SQL query depends on a $@. | ActiveRecordInjection.rb:193:5:193:10 | call to params | user-provided value | -| ActiveRecordInjection.rb:197:43:197:104 | "SELECT * FROM users WHERE id ..." | ActiveRecordInjection.rb:193:5:193:10 | call to params | ActiveRecordInjection.rb:197:43:197:104 | "SELECT * FROM users WHERE id ..." | This SQL query depends on a $@. | ActiveRecordInjection.rb:193:5:193:10 | call to params | user-provided value | -| ActiveRecordInjection.rb:198:35:198:96 | "SELECT * FROM users WHERE id ..." | ActiveRecordInjection.rb:193:5:193:10 | call to params | ActiveRecordInjection.rb:198:35:198:96 | "SELECT * FROM users WHERE id ..." | This SQL query depends on a $@. | ActiveRecordInjection.rb:193:5:193:10 | call to params | user-provided value | +| ActiveRecordInjection.rb:120:19:120:30 | ...[...] | ActiveRecordInjection.rb:120:19:120:24 | call to params | ActiveRecordInjection.rb:120:19:120:30 | ...[...] | This SQL query depends on a $@. | ActiveRecordInjection.rb:120:19:120:24 | call to params | user-provided value | +| ActiveRecordInjection.rb:122:29:122:39 | ...[...] | ActiveRecordInjection.rb:122:29:122:34 | call to params | ActiveRecordInjection.rb:122:29:122:39 | ...[...] | This SQL query depends on a $@. | ActiveRecordInjection.rb:122:29:122:34 | call to params | user-provided value | +| ActiveRecordInjection.rb:134:20:134:32 | ... + ... | ActiveRecordInjection.rb:128:10:128:15 | call to params | ActiveRecordInjection.rb:134:20:134:32 | ... + ... | This SQL query depends on a $@. | ActiveRecordInjection.rb:128:10:128:15 | call to params | user-provided value | +| ActiveRecordInjection.rb:167:21:167:44 | ...[...] | ActiveRecordInjection.rb:167:21:167:26 | call to params | ActiveRecordInjection.rb:167:21:167:44 | ...[...] | This SQL query depends on a $@. | ActiveRecordInjection.rb:167:21:167:26 | call to params | user-provided value | +| ActiveRecordInjection.rb:181:27:181:76 | "this is an unsafe annotation:..." | ActiveRecordInjection.rb:181:59:181:64 | call to params | ActiveRecordInjection.rb:181:27:181:76 | "this is an unsafe annotation:..." | This SQL query depends on a $@. | ActiveRecordInjection.rb:181:59:181:64 | call to params | user-provided value | +| ActiveRecordInjection.rb:194:37:194:41 | query | ActiveRecordInjection.rb:199:5:199:10 | call to params | ActiveRecordInjection.rb:194:37:194:41 | query | This SQL query depends on a $@. | ActiveRecordInjection.rb:199:5:199:10 | call to params | user-provided value | +| ActiveRecordInjection.rb:203:43:203:104 | "SELECT * FROM users WHERE id ..." | ActiveRecordInjection.rb:199:5:199:10 | call to params | ActiveRecordInjection.rb:203:43:203:104 | "SELECT * FROM users WHERE id ..." | This SQL query depends on a $@. | ActiveRecordInjection.rb:199:5:199:10 | call to params | user-provided value | +| ActiveRecordInjection.rb:204:35:204:96 | "SELECT * FROM users WHERE id ..." | ActiveRecordInjection.rb:199:5:199:10 | call to params | ActiveRecordInjection.rb:204:35:204:96 | "SELECT * FROM users WHERE id ..." | This SQL query depends on a $@. | ActiveRecordInjection.rb:199:5:199:10 | call to params | user-provided value | +| ActiveRecordInjection.rb:209:38:209:53 | "role = #{...}" | ActiveRecordInjection.rb:215:29:215:34 | call to params | ActiveRecordInjection.rb:209:38:209:53 | "role = #{...}" | This SQL query depends on a $@. | ActiveRecordInjection.rb:215:29:215:34 | call to params | user-provided value | | ArelInjection.rb:6:20:6:61 | "SELECT * FROM users WHERE nam..." | ArelInjection.rb:4:12:4:17 | call to params | ArelInjection.rb:6:20:6:61 | "SELECT * FROM users WHERE nam..." | This SQL query depends on a $@. | ArelInjection.rb:4:12:4:17 | call to params | user-provided value | | ArelInjection.rb:7:39:7:80 | "SELECT * FROM users WHERE nam..." | ArelInjection.rb:4:12:4:17 | call to params | ArelInjection.rb:7:39:7:80 | "SELECT * FROM users WHERE nam..." | This SQL query depends on a $@. | ArelInjection.rb:4:12:4:17 | call to params | user-provided value | | PgInjection.rb:14:15:14:18 | qry1 | PgInjection.rb:6:12:6:17 | call to params | PgInjection.rb:14:15:14:18 | qry1 | This SQL query depends on a $@. | PgInjection.rb:6:12:6:17 | call to params | user-provided value | diff --git a/shared/controlflow/CHANGELOG.md b/shared/controlflow/CHANGELOG.md index dbfa6ef4512..2e17ef5b94b 100644 --- a/shared/controlflow/CHANGELOG.md +++ b/shared/controlflow/CHANGELOG.md @@ -1,3 +1,11 @@ +## 0.1.11 + +No user-facing changes. + +## 0.1.10 + +No user-facing changes. + ## 0.1.9 No user-facing changes. diff --git a/shared/controlflow/change-notes/released/0.1.10.md b/shared/controlflow/change-notes/released/0.1.10.md new file mode 100644 index 00000000000..47358eeee93 --- /dev/null +++ b/shared/controlflow/change-notes/released/0.1.10.md @@ -0,0 +1,3 @@ +## 0.1.10 + +No user-facing changes. diff --git a/shared/controlflow/change-notes/released/0.1.11.md b/shared/controlflow/change-notes/released/0.1.11.md new file mode 100644 index 00000000000..ab62c1ac1b3 --- /dev/null +++ b/shared/controlflow/change-notes/released/0.1.11.md @@ -0,0 +1,3 @@ +## 0.1.11 + +No user-facing changes. diff --git a/shared/controlflow/codeql-pack.release.yml b/shared/controlflow/codeql-pack.release.yml index 1425c0edf7f..1d1688e8d61 100644 --- a/shared/controlflow/codeql-pack.release.yml +++ b/shared/controlflow/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.1.9 +lastReleaseVersion: 0.1.11 diff --git a/shared/controlflow/qlpack.yml b/shared/controlflow/qlpack.yml index 9d35a678276..597af60b98f 100644 --- a/shared/controlflow/qlpack.yml +++ b/shared/controlflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/controlflow -version: 0.1.10-dev +version: 0.1.12-dev groups: shared library: true dependencies: diff --git a/shared/dataflow/CHANGELOG.md b/shared/dataflow/CHANGELOG.md index 67a5bf589f4..4316eb992b2 100644 --- a/shared/dataflow/CHANGELOG.md +++ b/shared/dataflow/CHANGELOG.md @@ -1,3 +1,11 @@ +## 0.2.2 + +No user-facing changes. + +## 0.2.1 + +No user-facing changes. + ## 0.2.0 ### Breaking Changes diff --git a/shared/dataflow/change-notes/2024-02-28-hidden-subpaths.md b/shared/dataflow/change-notes/2024-02-28-hidden-subpaths.md new file mode 100644 index 00000000000..05a48eb8050 --- /dev/null +++ b/shared/dataflow/change-notes/2024-02-28-hidden-subpaths.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* Path explanations now include flow that goes through callbacks passed into library functions. For example, if `map` is a library function, then in `result = map(xs, x => x + 1)` we will now include the step from `x` to `x + 1` in the path explanation, instead of going directly from `xs` to `result`. Note that this change does not affect actual query results, but only how path explanations are computed. diff --git a/shared/dataflow/change-notes/released/0.2.1.md b/shared/dataflow/change-notes/released/0.2.1.md new file mode 100644 index 00000000000..3dbfc85fe11 --- /dev/null +++ b/shared/dataflow/change-notes/released/0.2.1.md @@ -0,0 +1,3 @@ +## 0.2.1 + +No user-facing changes. diff --git a/shared/dataflow/change-notes/released/0.2.2.md b/shared/dataflow/change-notes/released/0.2.2.md new file mode 100644 index 00000000000..98e69fd0772 --- /dev/null +++ b/shared/dataflow/change-notes/released/0.2.2.md @@ -0,0 +1,3 @@ +## 0.2.2 + +No user-facing changes. diff --git a/shared/dataflow/codeql-pack.release.yml b/shared/dataflow/codeql-pack.release.yml index 5274e27ed52..16a06790aa8 100644 --- a/shared/dataflow/codeql-pack.release.yml +++ b/shared/dataflow/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.2.0 +lastReleaseVersion: 0.2.2 diff --git a/shared/dataflow/codeql/dataflow/DataFlow.qll b/shared/dataflow/codeql/dataflow/DataFlow.qll index 6a18c166613..8df2a8eca52 100644 --- a/shared/dataflow/codeql/dataflow/DataFlow.qll +++ b/shared/dataflow/codeql/dataflow/DataFlow.qll @@ -4,8 +4,10 @@ * modules. */ +private import codeql.util.Location + /** Provides language-specific data flow parameters. */ -signature module InputSig { +signature module InputSig<LocationSig Location> { /** * A node in the data flow graph. */ @@ -13,16 +15,8 @@ signature module InputSig { /** Gets a textual representation of this element. */ string toString(); - /** - * Holds if this element is at the specified location. - * The location spans column `startcolumn` of line `startline` to - * column `endcolumn` of line `endline` in file `filepath`. - * For more information, see - * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). - */ - predicate hasLocationInfo( - string filepath, int startline, int startcolumn, int endline, int endcolumn - ); + /** Gets the location of this node. */ + Location getLocation(); } class ParameterNode extends Node; @@ -321,9 +315,9 @@ signature module InputSig { default predicate ignoreFieldFlowBranchLimit(DataFlowCallable c) { none() } } -module Configs<InputSig Lang> { +module Configs<LocationSig Location, InputSig<Location> Lang> { private import Lang - private import internal.DataFlowImplCommon::MakeImplCommon<Lang> + private import internal.DataFlowImplCommon::MakeImplCommon<Location, Lang> import DataFlowImplCommonPublic /** An input configuration for data flow. */ @@ -376,6 +370,9 @@ module Configs<InputSig Lang> { */ default int fieldFlowBranchLimit() { result = 2 } + /** Gets the access path limit. */ + default int accessPathLimit() { result = Lang::accessPathLimit() } + /** * Gets a data flow configuration feature to add restrictions to the set of * valid flow paths. @@ -495,6 +492,9 @@ module Configs<InputSig Lang> { */ default int fieldFlowBranchLimit() { result = 2 } + /** Gets the access path limit. */ + default int accessPathLimit() { result = Lang::accessPathLimit() } + /** * Gets a data flow configuration feature to add restrictions to the set of * valid flow paths. @@ -531,10 +531,10 @@ module Configs<InputSig Lang> { } } -module DataFlowMake<InputSig Lang> { +module DataFlowMake<LocationSig Location, InputSig<Location> Lang> { private import Lang - private import internal.DataFlowImpl::MakeImpl<Lang> - import Configs<Lang> + private import internal.DataFlowImpl::MakeImpl<Location, Lang> + import Configs<Location, Lang> /** * Gets the exploration limit for `partialFlow` and `partialFlowRev` @@ -583,6 +583,8 @@ module DataFlowMake<InputSig Lang> { private module C implements FullStateConfigSig { import DefaultState<Config> import Config + + predicate accessPathLimit = Config::accessPathLimit/0; } import Impl<C> @@ -599,6 +601,8 @@ module DataFlowMake<InputSig Lang> { module GlobalWithState<StateConfigSig Config> implements GlobalFlowSig { private module C implements FullStateConfigSig { import Config + + predicate accessPathLimit = Config::accessPathLimit/0; } import Impl<C> @@ -613,19 +617,11 @@ module DataFlowMake<InputSig Lang> { /** Gets a textual representation of this element. */ string toString(); - /** - * Holds if this element is at the specified location. - * The location spans column `startcolumn` of line `startline` to - * column `endcolumn` of line `endline` in file `filepath`. - * For more information, see - * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). - */ - predicate hasLocationInfo( - string filepath, int startline, int startcolumn, int endline, int endcolumn - ); - /** Gets the underlying `Node`. */ Node getNode(); + + /** Gets the location of this node. */ + Location getLocation(); } signature module PathGraphSig<PathNodeSig PathNode> { @@ -668,6 +664,15 @@ module DataFlowMake<InputSig Lang> { result = this.asPathNode2().toString() } + /** Gets the underlying `Node`. */ + Node getNode() { + result = this.asPathNode1().getNode() or + result = this.asPathNode2().getNode() + } + + /** Gets the location of this node. */ + Location getLocation() { result = this.getNode().getLocation() } + /** * Holds if this element is at the specified location. * The location spans column `startcolumn` of line `startline` to @@ -675,17 +680,10 @@ module DataFlowMake<InputSig Lang> { * For more information, see * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). */ - predicate hasLocationInfo( + deprecated predicate hasLocationInfo( string filepath, int startline, int startcolumn, int endline, int endcolumn ) { - this.asPathNode1().hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) or - this.asPathNode2().hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) - } - - /** Gets the underlying `Node`. */ - Node getNode() { - result = this.asPathNode1().getNode() or - result = this.asPathNode2().getNode() + this.getLocation().hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) } } @@ -750,7 +748,7 @@ module DataFlowMake<InputSig Lang> { * For more information, see * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). */ - predicate hasLocationInfo( + deprecated predicate hasLocationInfo( string filepath, int startline, int startcolumn, int endline, int endcolumn ) { super.hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) @@ -758,6 +756,9 @@ module DataFlowMake<InputSig Lang> { /** Gets the underlying `Node`. */ Node getNode() { result = super.getNode() } + + /** Gets the location of this node. */ + Location getLocation() { result = super.getLocation() } } /** diff --git a/shared/dataflow/codeql/dataflow/TaintTracking.qll b/shared/dataflow/codeql/dataflow/TaintTracking.qll index 73960fbca1d..c7d4f6bf505 100644 --- a/shared/dataflow/codeql/dataflow/TaintTracking.qll +++ b/shared/dataflow/codeql/dataflow/TaintTracking.qll @@ -5,11 +5,12 @@ private import DataFlow as DF private import internal.DataFlowImpl +private import codeql.util.Location /** * Provides language-specific taint-tracking parameters. */ -signature module InputSig<DF::InputSig Lang> { +signature module InputSig<LocationSig Location, DF::InputSig<Location> Lang> { /** * Holds if `node` should be a sanitizer in all global taint flow configurations * but not in local taint. @@ -33,10 +34,13 @@ signature module InputSig<DF::InputSig Lang> { /** * Construct the modules for taint-tracking analyses. */ -module TaintFlowMake<DF::InputSig DataFlowLang, InputSig<DataFlowLang> TaintTrackingLang> { +module TaintFlowMake< + LocationSig Location, DF::InputSig<Location> DataFlowLang, + InputSig<Location, DataFlowLang> TaintTrackingLang> +{ private import TaintTrackingLang - private import DF::DataFlowMake<DataFlowLang> as DataFlow - private import MakeImpl<DataFlowLang> as DataFlowInternal + private import DF::DataFlowMake<Location, DataFlowLang> as DataFlow + private import MakeImpl<Location, DataFlowLang> as DataFlowInternal private module AddTaintDefaults<DataFlowInternal::FullStateConfigSig Config> implements DataFlowInternal::FullStateConfigSig diff --git a/shared/dataflow/codeql/dataflow/VariableCapture.qll b/shared/dataflow/codeql/dataflow/VariableCapture.qll index e90bf481442..9fd385d4458 100644 --- a/shared/dataflow/codeql/dataflow/VariableCapture.qll +++ b/shared/dataflow/codeql/dataflow/VariableCapture.qll @@ -601,16 +601,22 @@ module Flow<LocationSig Location, InputSig<Location> Input> implements OutputSig * observed in a similarly synthesized post-update node for this read of `v`. */ private predicate synthRead( - CapturedVariable v, BasicBlock bb, int i, boolean topScope, Expr closure + CapturedVariable v, BasicBlock bb, int i, boolean topScope, Expr closure, boolean alias ) { exists(ClosureExpr ce | closureCaptures(ce, v) | - ce.hasCfgNode(bb, i) and ce = closure + ce.hasCfgNode(bb, i) and ce = closure and alias = false or - localOrNestedClosureAccess(ce, closure, bb, i) + localOrNestedClosureAccess(ce, closure, bb, i) and alias = true ) and if v.getCallable() != bb.getEnclosingCallable() then topScope = false else topScope = true } + private predicate synthRead( + CapturedVariable v, BasicBlock bb, int i, boolean topScope, Expr closure + ) { + synthRead(v, bb, i, topScope, closure, _) + } + /** * Holds if there is an access of a captured variable inside a closure in the * `i`th node of `bb`, such that we need to synthesize a `this.` qualifier. @@ -919,16 +925,22 @@ module Flow<LocationSig Location, InputSig<Location> Input> implements OutputSig ) } - predicate storeStep(ClosureNode node1, CapturedVariable v, ClosureNode node2) { - // store v in the closure or in the malloc in case of a relevant constructor call + private predicate storeStepClosure( + ClosureNode node1, CapturedVariable v, ClosureNode node2, boolean alias + ) { exists(BasicBlock bb, int i, Expr closure | - synthRead(v, bb, i, _, closure) and + synthRead(v, bb, i, _, closure, alias) and node1 = TSynthRead(v, bb, i, false) | node2 = TExprNode(closure, false) or node2 = TMallocNode(closure) and hasConstructorCapture(closure, v) ) + } + + predicate storeStep(ClosureNode node1, CapturedVariable v, ClosureNode node2) { + // store v in the closure or in the malloc in case of a relevant constructor call + storeStepClosure(node1, v, node2, _) or // write to v inside the closure body exists(BasicBlock bb, int i, VariableWrite vw | @@ -964,6 +976,62 @@ module Flow<LocationSig Location, InputSig<Location> Input> implements OutputSig } predicate clearsContent(ClosureNode node, CapturedVariable v) { + /* + * Stores into closure aliases block flow from previous stores, both to + * avoid overlapping data flow paths, but also to avoid false positive + * flow. + * + * Example 1 (overlapping paths): + * + * ```rb + * def m + * x = taint + * + * fn = -> { # (1) + * sink x + * } + * + * fn.call # (2) + * ``` + * + * If we don't clear `x` at `fn` (2), we will have two overlapping paths: + * + * ``` + * taint -> fn (2) [captured x] + * taint -> fn (1) [captured x] -> fn (2) [captured x] + * ``` + * + * where the step `fn (1) [captured x] -> fn [captured x]` arises from normal + * use-use flow for `fn`. Clearing `x` at `fn` (2) removes the second path above. + * + * Example 2 (false positive flow): + * + * ```rb + * def m + * x = taint + * + * fn = -> { # (1) + * sink x + * } + * + * x = nil # (2) + * + * fn.call # (3) + * end + * ``` + * + * If we don't clear `x` at `fn` (3), we will have the following false positive + * flow path: + * + * ``` + * taint -> fn (1) [captured x] -> fn (3) [captured x] + * ``` + * + * since normal use-use flow for `fn` does not take the overwrite at (2) into account. + */ + + storeStepClosure(_, v, node, true) + or exists(BasicBlock bb, int i | captureWrite(v, bb, i, false, _) and node = TSynthThisQualifier(bb, i, false) diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll index d555b281710..b5f99972bec 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll @@ -7,12 +7,13 @@ private import codeql.util.Unit private import codeql.util.Option private import codeql.util.Boolean +private import codeql.util.Location private import codeql.dataflow.DataFlow -module MakeImpl<InputSig Lang> { +module MakeImpl<LocationSig Location, InputSig<Location> Lang> { private import Lang - private import DataFlowMake<Lang> - private import DataFlowImplCommon::MakeImplCommon<Lang> + private import DataFlowMake<Location, Lang> + private import DataFlowImplCommon::MakeImplCommon<Location, Lang> private import DataFlowImplCommonPublic /** @@ -93,6 +94,9 @@ module MakeImpl<InputSig Lang> { */ int fieldFlowBranchLimit(); + /** Gets the access path limit. */ + int accessPathLimit(); + /** * Gets a data flow configuration feature to add restrictions to the set of * valid flow paths. @@ -192,11 +196,7 @@ module MakeImpl<InputSig Lang> { pragma[only_bind_out](this).getDataFlowType0() = pragma[only_bind_into](result) } - predicate hasLocationInfo( - string filepath, int startline, int startcolumn, int endline, int endcolumn - ) { - this.projectToNode().hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) - } + Location getLocation() { result = this.projectToNode().getLocation() } } private class ArgNodeEx extends NodeEx { @@ -477,7 +477,9 @@ module MakeImpl<InputSig Lang> { /** * Holds if field flow should be used for the given configuration. */ - private predicate useFieldFlow() { Config::fieldFlowBranchLimit() >= 1 } + private predicate useFieldFlow() { + Config::fieldFlowBranchLimit() >= 1 and Config::accessPathLimit() > 0 + } private predicate hasSourceCallCtx() { exists(FlowFeature feature | feature = Config::getAFeature() | @@ -2522,7 +2524,10 @@ module MakeImpl<InputSig Lang> { bindingset[c, t, tail] Ap apCons(Content c, Typ t, Ap tail) { - result = true and exists(c) and exists(t) and exists(tail) + result = true and + exists(c) and + exists(t) and + if tail = true then Config::accessPathLimit() > 1 else any() } class ApHeadContent = Unit; @@ -3026,11 +3031,11 @@ module MakeImpl<InputSig Lang> { } or TConsCons(Content c1, DataFlowType t, Content c2, int len) { Stage4::consCand(c1, t, TFrontHead(c2)) and - len in [2 .. accessPathLimit()] and + len in [2 .. Config::accessPathLimit()] and not expensiveLen2unfolding(c1) } or TCons1(Content c, int len) { - len in [1 .. accessPathLimit()] and + len in [1 .. Config::accessPathLimit()] and expensiveLen2unfolding(c) } @@ -3305,11 +3310,7 @@ module MakeImpl<InputSig Lang> { override string toString() { result = p + concat(" : " + ppReprType(t)) + " " + ap } - predicate hasLocationInfo( - string filepath, int startline, int startcolumn, int endline, int endcolumn - ) { - p.hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) - } + Location getLocation() { result = p.getLocation() } } /** @@ -3727,18 +3728,8 @@ module MakeImpl<InputSig Lang> { this.ppSummaryCtx() } - /** - * Holds if this element is at the specified location. - * The location spans column `startcolumn` of line `startline` to - * column `endcolumn` of line `endline` in file `filepath`. - * For more information, see - * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). - */ - predicate hasLocationInfo( - string filepath, int startline, int startcolumn, int endline, int endcolumn - ) { - this.getNodeEx().hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) - } + /** Gets the location of this node. */ + Location getLocation() { result = this.getNodeEx().getLocation() } } /** Holds if `n` can reach a sink. */ @@ -3774,6 +3765,9 @@ module MakeImpl<InputSig Lang> { */ final string toStringWithContext() { result = super.toStringWithContext() } + /** Gets the location of this node. */ + Location getLocation() { result = super.getLocation() } + /** * Holds if this element is at the specified location. * The location spans column `startcolumn` of line `startline` to @@ -3781,10 +3775,11 @@ module MakeImpl<InputSig Lang> { * For more information, see * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). */ - final predicate hasLocationInfo( + pragma[inline] + deprecated final predicate hasLocationInfo( string filepath, int startline, int startcolumn, int endline, int endcolumn ) { - super.hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) + this.getLocation().hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) } /** Gets the underlying `Node`. */ @@ -3946,11 +3941,7 @@ module MakeImpl<InputSig Lang> { override string toString() { result = sourceGroup } - override predicate hasLocationInfo( - string filepath, int startline, int startcolumn, int endline, int endcolumn - ) { - filepath = "" and startline = 0 and startcolumn = 0 and endline = 0 and endcolumn = 0 - } + override Location getLocation() { result.hasLocationInfo("", 0, 0, 0, 0) } } private class PathNodeSinkGroup extends PathNodeImpl, TPathNodeSinkGroup { @@ -3968,11 +3959,7 @@ module MakeImpl<InputSig Lang> { override string toString() { result = sinkGroup } - override predicate hasLocationInfo( - string filepath, int startline, int startcolumn, int endline, int endcolumn - ) { - filepath = "" and startline = 0 and startcolumn = 0 and endline = 0 and endcolumn = 0 - } + override Location getLocation() { result.hasLocationInfo("", 0, 0, 0, 0) } } private predicate pathNode( @@ -4300,8 +4287,7 @@ module MakeImpl<InputSig Lang> { pragma[only_bind_into](apout)) and pathIntoCallable(arg, par, _, _, innercc, sc, _) and paramFlowsThrough(kind, pragma[only_bind_into](sout), innercc, sc, - pragma[only_bind_into](t), pragma[only_bind_into](apout), _) and - not arg.isHidden() + pragma[only_bind_into](t), pragma[only_bind_into](apout), _) } /** @@ -4332,9 +4318,8 @@ module MakeImpl<InputSig Lang> { ) } - private PathNodeImpl localStepToHidden(PathNodeImpl n) { + private PathNodeImpl localStep(PathNodeImpl n) { n.getASuccessorImpl() = result and - result.isHidden() and exists(NodeEx n1, NodeEx n2 | n1 = n.getNodeEx() and n2 = result.getNodeEx() | localFlowBigStep(n1, _, n2, _, _, _, _) or storeEx(n1, _, n2, _, _) or @@ -4342,30 +4327,90 @@ module MakeImpl<InputSig Lang> { ) } + private PathNodeImpl summaryCtxStep(PathNodeImpl n) { + n.getASuccessorImpl() = result and + exists(SummaryCtxSome sc | + pathNode(n, _, _, _, pragma[only_bind_into](sc), _, _, _) and + pathNode(result, _, _, _, pragma[only_bind_into](sc), _, _, _) + ) + } + + private predicate localStepToHidden(PathNodeImpl n1, PathNodeImpl n2) { + n2 = localStep(n1) and + n2.isHidden() + } + + private predicate localStepFromHidden(PathNodeImpl n1, PathNodeImpl n2) { + n2 = localStep(n1) and + n1.isHidden() + } + pragma[nomagic] private predicate hasSuccessor(PathNodeImpl pred, PathNodeMid succ, NodeEx succNode) { - succ = pred.getANonHiddenSuccessor() and + succ = pred.getASuccessorImpl() and succNode = succ.getNodeEx() } + /** + * Holds if `(arg, par, ret, out)` forms a subpath-tuple. + * + * All of the nodes may be hidden. + */ + pragma[nomagic] + private predicate subpaths04( + PathNodeImpl arg, PathNodeImpl par, PathNodeImpl ret, PathNodeImpl out + ) { + exists( + ParamNodeEx p, NodeEx o, FlowState sout, DataFlowType t, AccessPath apout, + PathNodeMid out0 + | + pragma[only_bind_into](arg).getASuccessorImpl() = pragma[only_bind_into](out0) and + subpaths03(pragma[only_bind_into](arg), p, ret, o, sout, t, apout) and + hasSuccessor(pragma[only_bind_into](arg), par, p) and + pathNode(out0, o, sout, _, _, t, apout, _) + | + out = out0 or out = out0.projectToSink() + ) + } + + /** + * Holds if `(arg, par, ret, out)` forms a subpath-tuple. + * + * `par` and `ret` are not hidden. + */ + pragma[nomagic] + private predicate subpaths05( + PathNodeImpl arg, PathNodeImpl par, PathNodeImpl ret, PathNodeImpl out + ) { + // direct subpath + subpaths04(arg, any(PathNodeImpl n | localStepFromHidden*(n, par)), + any(PathNodeImpl n | localStepToHidden*(ret, n)), out) and + not par.isHidden() and + not ret.isHidden() and + ret = summaryCtxStep*(par) + or + // wrapped subpath using hidden nodes, e.g. flow through a callback inside + // a summarized callable + exists(PathNodeImpl par0, PathNodeImpl ret0 | + subpaths05(any(PathNodeImpl n | localStepToHidden*(par0, n)), par, ret, + any(PathNodeImpl n | localStepFromHidden*(n, ret0))) and + subpaths04(arg, par0, ret0, out) + ) + } + /** * Holds if `(arg, par, ret, out)` forms a subpath-tuple, that is, flow through * a subpath between `par` and `ret` with the connecting edges `arg -> par` and * `ret -> out` is summarized as the edge `arg -> out`. + * + * None of the nodes are hidden. */ + pragma[nomagic] predicate subpaths(PathNodeImpl arg, PathNodeImpl par, PathNodeImpl ret, PathNodeImpl out) { - exists( - ParamNodeEx p, NodeEx o, FlowState sout, DataFlowType t, AccessPath apout, - PathNodeMid out0 - | - pragma[only_bind_into](arg).getANonHiddenSuccessor() = pragma[only_bind_into](out0) and - subpaths03(pragma[only_bind_into](arg), p, localStepToHidden*(ret), o, sout, t, apout) and - hasSuccessor(pragma[only_bind_into](arg), par, p) and - not ret.isHidden() and - pathNode(out0, o, sout, _, _, t, apout, _) - | - out = out0 or out = out0.projectToSink() - ) + subpaths05(any(PathNodeImpl n | localStepToHidden*(arg, n)), par, ret, + any(PathNodeImpl n | localStepFromHidden*(n, out))) and + not arg.isHidden() and + not out.isHidden() } /** @@ -4626,7 +4671,7 @@ module MakeImpl<InputSig Lang> { private newtype TPartialAccessPath = TPartialNil() or - TPartialCons(Content c, int len) { len in [1 .. accessPathLimit()] } + TPartialCons(Content c, int len) { len in [1 .. Config::accessPathLimit()] } /** * Conceptually a list of `Content`s, but only the first @@ -4801,6 +4846,9 @@ module MakeImpl<InputSig Lang> { result = this.getNodeEx().toString() + this.ppType() + this.ppAp() + this.ppCtx() } + /** Gets the location of this node. */ + Location getLocation() { result = this.getNodeEx().getLocation() } + /** * Holds if this element is at the specified location. * The location spans column `startcolumn` of line `startline` to @@ -4808,10 +4856,11 @@ module MakeImpl<InputSig Lang> { * For more information, see * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). */ - predicate hasLocationInfo( + pragma[inline] + deprecated predicate hasLocationInfo( string filepath, int startline, int startcolumn, int endline, int endcolumn ) { - this.getNodeEx().hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) + this.getLocation().hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) } /** Gets the underlying `Node`. */ diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImplCommon.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImplCommon.qll index 679be2cb5c6..e83752fcced 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImplCommon.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImplCommon.qll @@ -1,8 +1,9 @@ private import codeql.dataflow.DataFlow private import codeql.typetracking.TypeTracking as Tt +private import codeql.util.Location private import codeql.util.Unit -module MakeImplCommon<InputSig Lang> { +module MakeImplCommon<LocationSig Location, InputSig<Location> Lang> { private import Lang import Cached @@ -1642,19 +1643,13 @@ module MakeImplCommon<InputSig Lang> { } } + final private class NodeFinal = Node; + /** * A `Node` at which a cast can occur such that the type should be checked. */ - class CastingNode instanceof Node { + class CastingNode extends NodeFinal { CastingNode() { castingNode(this) } - - string toString() { result = super.toString() } - - predicate hasLocationInfo( - string filepath, int startline, int startcolumn, int endline, int endcolumn - ) { - super.hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) - } } private predicate readStepWithTypes( @@ -1800,17 +1795,9 @@ module MakeImplCommon<InputSig Lang> { * The value of a parameter at function entry, viewed as a node in a data * flow graph. */ - class ParamNode instanceof Node { + class ParamNode extends NodeFinal { ParamNode() { parameterNode(this, _, _) } - string toString() { result = super.toString() } - - predicate hasLocationInfo( - string filepath, int startline, int startcolumn, int endline, int endcolumn - ) { - super.hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) - } - /** * Holds if this node is the parameter of callable `c` at the specified * position. @@ -1821,17 +1808,9 @@ module MakeImplCommon<InputSig Lang> { } /** A data-flow node that represents a call argument. */ - class ArgNode instanceof Node { + class ArgNode extends NodeFinal { ArgNode() { argumentNode(this, _, _) } - string toString() { result = super.toString() } - - predicate hasLocationInfo( - string filepath, int startline, int startcolumn, int endline, int endcolumn - ) { - super.hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) - } - /** Holds if this argument occurs at the given position in the given call. */ final predicate argumentOf(DataFlowCall call, ArgumentPosition pos) { argumentNode(this, call, pos) @@ -1842,17 +1821,9 @@ module MakeImplCommon<InputSig Lang> { * A node from which flow can return to the caller. This is either a regular * `ReturnNode` or a `PostUpdateNode` corresponding to the value of a parameter. */ - class ReturnNodeExt instanceof Node { + class ReturnNodeExt extends NodeFinal { ReturnNodeExt() { returnNodeExt(this, _) } - string toString() { result = super.toString() } - - predicate hasLocationInfo( - string filepath, int startline, int startcolumn, int endline, int endcolumn - ) { - super.hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) - } - /** Gets the kind of this returned value. */ ReturnKindExt getKind() { returnNodeExt(this, result) } } @@ -1861,16 +1832,8 @@ module MakeImplCommon<InputSig Lang> { * A node to which data can flow from a call. Either an ordinary out node * or a post-update node associated with a call argument. */ - class OutNodeExt instanceof Node { + class OutNodeExt extends NodeFinal { OutNodeExt() { outNodeExt(this) } - - string toString() { result = super.toString() } - - predicate hasLocationInfo( - string filepath, int startline, int startcolumn, int endline, int endcolumn - ) { - super.hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) - } } /** diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImplConsistency.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImplConsistency.qll index 374d42e9ad5..1d0f8d1969d 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImplConsistency.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImplConsistency.qll @@ -5,8 +5,9 @@ private import codeql.dataflow.DataFlow as DF private import codeql.dataflow.TaintTracking as TT +private import codeql.util.Location -signature module InputSig<DF::InputSig DataFlowLang> { +signature module InputSig<LocationSig Location, DF::InputSig<Location> DataFlowLang> { /** Holds if `n` should be excluded from the consistency test `uniqueEnclosingCallable`. */ default predicate uniqueEnclosingCallableExclude(DataFlowLang::Node n) { none() } @@ -71,8 +72,8 @@ signature module InputSig<DF::InputSig DataFlowLang> { } module MakeConsistency< - DF::InputSig DataFlowLang, TT::InputSig<DataFlowLang> TaintTrackingLang, - InputSig<DataFlowLang> Input> + LocationSig Location, DF::InputSig<Location> DataFlowLang, + TT::InputSig<Location, DataFlowLang> TaintTrackingLang, InputSig<Location, DataFlowLang> Input> { private import DataFlowLang private import TaintTrackingLang @@ -128,10 +129,7 @@ module MakeConsistency< query predicate uniqueNodeLocation(Node n, string msg) { exists(int c | - c = - count(string filepath, int startline, int startcolumn, int endline, int endcolumn | - n.hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) - ) and + c = count(n.getLocation()) and c != 1 and not Input::uniqueNodeLocationExclude(n) and msg = "Node should have one location but has " + c + "." @@ -142,7 +140,7 @@ module MakeConsistency< exists(int c | c = strictcount(Node n | - not n.hasLocationInfo(_, _, _, _, _) and + not exists(n.getLocation()) and not Input::missingLocationExclude(n) ) and msg = "Nodes without location: " + c diff --git a/shared/dataflow/codeql/dataflow/internal/FlowSummaryImpl.qll b/shared/dataflow/codeql/dataflow/internal/FlowSummaryImpl.qll index f3e840720ab..a88259a506b 100644 --- a/shared/dataflow/codeql/dataflow/internal/FlowSummaryImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/FlowSummaryImpl.qll @@ -10,7 +10,7 @@ private import AccessPathSyntax as AccessPathSyntax /** * Provides language-specific parameters. */ -signature module InputSig<DF::InputSig Lang> { +signature module InputSig<LocationSig Location, DF::InputSig<Location> Lang> { /** * A base class of callables that are candidates for flow summary modeling. */ @@ -139,10 +139,12 @@ signature module InputSig<DF::InputSig Lang> { } } -module Make<DF::InputSig DataFlowLang, InputSig<DataFlowLang> Input> { +module Make< + LocationSig Location, DF::InputSig<Location> DataFlowLang, InputSig<Location, DataFlowLang> Input> +{ private import DataFlowLang private import Input - private import codeql.dataflow.internal.DataFlowImplCommon::MakeImplCommon<DataFlowLang> + private import codeql.dataflow.internal.DataFlowImplCommon::MakeImplCommon<Location, DataFlowLang> private import codeql.util.Unit final private class SummarizedCallableBaseFinal = SummarizedCallableBase; @@ -1457,7 +1459,7 @@ module Make<DF::InputSig DataFlowLang, InputSig<DataFlowLang> Input> { AccessPathSyntax::parseInt(part.getArgumentList()) < 0 } - signature module SourceSinkInterpretationInputSig<LocationSig Location> { + signature module SourceSinkInterpretationInputSig { class Element { string toString(); @@ -1468,13 +1470,13 @@ module Make<DF::InputSig DataFlowLang, InputSig<DataFlowLang> Input> { * Holds if an external source specification exists for `n` with output specification * `output` and kind `kind`. */ - predicate sourceElement(Element n, string output, string kind); + predicate sourceElement(Element n, string output, string kind, Provenance provenance); /** * Holds if an external sink specification exists for `n` with input specification * `input` and kind `kind`. */ - predicate sinkElement(Element n, string input, string kind); + predicate sinkElement(Element n, string input, string kind, Provenance provenance); class SourceOrSinkElement extends Element; @@ -1523,14 +1525,13 @@ module Make<DF::InputSig DataFlowLang, InputSig<DataFlowLang> Input> { * Should eventually be replaced with API graphs like in dynamic languages. */ module SourceSinkInterpretation< - LocationSig Location, - SourceSinkInterpretationInputSig<Location> SourceSinkInterpretationInput> + SourceSinkInterpretationInputSig SourceSinkInterpretationInput> { private import SourceSinkInterpretationInput private predicate sourceSinkSpec(string spec) { - sourceElement(_, spec, _) or - sinkElement(_, spec, _) + sourceElement(_, spec, _, _) or + sinkElement(_, spec, _, _) } private module AccessPath = AccessPathSyntax::AccessPath<sourceSinkSpec/1>; @@ -1562,7 +1563,7 @@ module Make<DF::InputSig DataFlowLang, InputSig<DataFlowLang> Input> { InterpretNode ref, SourceSinkAccessPath output, string kind ) { exists(SourceOrSinkElement e | - sourceElement(e, output, kind) and + sourceElement(e, output, kind, _) and if outputNeedsReferenceExt(output.getToken(0)) then e = ref.getCallTarget() else e = ref.asElement() @@ -1576,7 +1577,7 @@ module Make<DF::InputSig DataFlowLang, InputSig<DataFlowLang> Input> { private predicate sinkElementRef(InterpretNode ref, SourceSinkAccessPath input, string kind) { exists(SourceOrSinkElement e | - sinkElement(e, input, kind) and + sinkElement(e, input, kind, _) and if inputNeedsReferenceExt(input.getToken(0)) then e = ref.getCallTarget() else e = ref.asElement() @@ -1691,39 +1692,66 @@ module Make<DF::InputSig DataFlowLang, InputSig<DataFlowLang> Input> { interpretInput(input, input.getNumToken(), ref, node) ) } + + /** A source or sink relevant for testing. */ + signature class RelevantSourceOrSinkElementSig extends SourceOrSinkElement { + /** Gets the string representation of this callable used by `source/1` or `sink/1`. */ + string getCallableCsv(); + } + + /** Provides query predicates for outputting a set of relevant sources and sinks. */ + module TestSourceSinkOutput< + RelevantSourceOrSinkElementSig RelevantSource, RelevantSourceOrSinkElementSig RelevantSink> + { + /** + * Holds if there exists a relevant source callable with information roughly corresponding to `csv`. + * Used for testing. + * The syntax is: "namespace;type;overrides;name;signature;ext;outputspec;kind;provenance", + * ext is hardcoded to empty. + */ + query predicate source(string csv) { + exists(RelevantSource s, string output, string kind, Provenance provenance | + sourceElement(s, output, kind, provenance) and + csv = + s.getCallableCsv() // Callable information + + output + ";" // output + + kind + ";" // kind + + provenance // provenance + ) + } + + /** + * Holds if there exists a relevant sink callable with information roughly corresponding to `csv`. + * Used for testing. + * The syntax is: "namespace;type;overrides;name;signature;ext;inputspec;kind;provenance", + * ext is hardcoded to empty. + */ + query predicate sink(string csv) { + exists(RelevantSink s, string input, string kind, Provenance provenance | + sinkElement(s, input, kind, provenance) and + csv = + s.getCallableCsv() // Callable information + + input + ";" // input + + kind + ";" // kind + + provenance // provenance + ) + } + } } } + /** A summarized callable relevant for testing. */ + signature class RelevantSummarizedCallableSig extends SummarizedCallableImpl { + /** Gets the string representation of this callable used by `summary/1`. */ + string getCallableCsv(); + + predicate relevantSummary( + SummaryComponentStack input, SummaryComponentStack output, boolean preservesValue + ); + } + /** Provides a query predicate for outputting a set of relevant flow summaries. */ - module TestOutput { - final private class SummarizedCallableImplFinal = SummarizedCallableImpl; - - /** A flow summary to include in the `summary/1` query predicate. */ - abstract class RelevantSummarizedCallable extends SummarizedCallableImplFinal { - /** Gets the string representation of this callable used by `summary/1`. */ - abstract string getCallableCsv(); - - /** Holds if flow is propagated between `input` and `output`. */ - predicate relevantSummary( - SummaryComponentStack input, SummaryComponentStack output, boolean preservesValue - ) { - super.propagatesFlow(input, output, preservesValue) - } - } - - /** A model to include in the `neutral/1` query predicate. */ - abstract class RelevantNeutralCallable instanceof NeutralCallable { - /** Gets the string representation of this callable used by `neutral/1`. */ - abstract string getCallableCsv(); - - /** - * Gets the kind of the neutral. - */ - string getKind() { result = super.getKind() } - - string toString() { result = super.toString() } - } - + module TestSummaryOutput<RelevantSummarizedCallableSig RelevantSummarizedCallable> { /** Render the kind in the format used in flow summaries. */ private string renderKind(boolean preservesValue) { preservesValue = true and result = "value" @@ -1738,15 +1766,9 @@ module Make<DF::InputSig DataFlowLang, InputSig<DataFlowLang> Input> { c.hasProvenance(result) } - private string renderProvenanceNeutral(NeutralCallable c) { - exists(Provenance p | p.isManual() and c.hasProvenance(p) and result = p.toString()) - or - not c.hasManualModel() and - c.hasProvenance(result) - } - /** - * A query predicate for outputting flow summaries in semi-colon separated format in QL tests. + * Holds if there exists a relevant summary callable with information roughly corresponding to `csv`. + * Used for testing. * The syntax is: "namespace;type;overrides;name;signature;ext;inputspec;outputspec;kind;provenance", * ext is hardcoded to empty. */ @@ -1764,9 +1786,25 @@ module Make<DF::InputSig DataFlowLang, InputSig<DataFlowLang> Input> { + renderProvenance(c) // provenance ) } + } + + /** A summarized callable relevant for testing. */ + signature class RelevantNeutralCallableSig extends NeutralCallable { + /** Gets the string representation of this callable used by `neutral/1`. */ + string getCallableCsv(); + } + + module TestNeutralOutput<RelevantNeutralCallableSig RelevantNeutralCallable> { + private string renderProvenance(NeutralCallable c) { + exists(Provenance p | p.isManual() and c.hasProvenance(p) and result = p.toString()) + or + not c.hasManualModel() and + c.hasProvenance(result) + } /** - * Holds if a neutral model `csv` exists (semi-colon separated format). Used for testing purposes. + * Holds if there exists a relevant neutral callable with information roughly corresponding to `csv`. + * Used for testing. * The syntax is: "namespace;type;name;signature;kind;provenance"", */ query predicate neutral(string csv) { @@ -1774,7 +1812,7 @@ module Make<DF::InputSig DataFlowLang, InputSig<DataFlowLang> Input> { csv = c.getCallableCsv() // Callable information + c.getKind() + ";" // kind - + renderProvenanceNeutral(c) // provenance + + renderProvenance(c) // provenance ) } } diff --git a/shared/dataflow/codeql/dataflow/test/InlineFlowTest.qll b/shared/dataflow/codeql/dataflow/test/InlineFlowTest.qll index 22a55f5aa07..e35d1332bca 100644 --- a/shared/dataflow/codeql/dataflow/test/InlineFlowTest.qll +++ b/shared/dataflow/codeql/dataflow/test/InlineFlowTest.qll @@ -29,8 +29,9 @@ private import codeql.dataflow.DataFlow as DF private import codeql.dataflow.TaintTracking as TT private import codeql.util.test.InlineExpectationsTest as IET +private import codeql.util.Location -signature module InputSig<DF::InputSig DataFlowLang> { +signature module InputSig<LocationSig Location, DF::InputSig<Location> DataFlowLang> { predicate defaultSource(DataFlowLang::Node source); predicate defaultSink(DataFlowLang::Node source); @@ -40,12 +41,13 @@ signature module InputSig<DF::InputSig DataFlowLang> { } module InlineFlowTestMake< - DF::InputSig DataFlowLang, TT::InputSig<DataFlowLang> TaintTrackingLang, - IET::InlineExpectationsTestSig Test, InputSig<DataFlowLang> Impl> + LocationSig Location, DF::InputSig<Location> DataFlowLang, + TT::InputSig<Location, DataFlowLang> TaintTrackingLang, IET::InlineExpectationsTestSig Test, + InputSig<Location, DataFlowLang> Impl> { - private module DataFlow = DF::DataFlowMake<DataFlowLang>; + private module DataFlow = DF::DataFlowMake<Location, DataFlowLang>; - private module TaintTracking = TT::TaintFlowMake<DataFlowLang, TaintTrackingLang>; + private module TaintTracking = TT::TaintFlowMake<Location, DataFlowLang, TaintTrackingLang>; private module InlineExpectationsTest = IET::Make<Test>; @@ -76,7 +78,7 @@ module InlineFlowTestMake< private predicate hasLocationInfo(DataFlowLang::Node node, Test::Location location) { exists(string filepath, int startline, int startcolumn, int endline, int endcolumn | - node.hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) and + node.getLocation().hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) and location.hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) ) } diff --git a/shared/dataflow/qlpack.yml b/shared/dataflow/qlpack.yml index 1e7becf71c4..aef3dfc8523 100644 --- a/shared/dataflow/qlpack.yml +++ b/shared/dataflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/dataflow -version: 0.2.1-dev +version: 0.2.3-dev groups: shared library: true dependencies: diff --git a/shared/mad/CHANGELOG.md b/shared/mad/CHANGELOG.md index 4d09057118c..7a88a0fb736 100644 --- a/shared/mad/CHANGELOG.md +++ b/shared/mad/CHANGELOG.md @@ -1,3 +1,11 @@ +## 0.2.11 + +No user-facing changes. + +## 0.2.10 + +No user-facing changes. + ## 0.2.9 No user-facing changes. diff --git a/shared/mad/change-notes/released/0.2.10.md b/shared/mad/change-notes/released/0.2.10.md new file mode 100644 index 00000000000..81c9722b19f --- /dev/null +++ b/shared/mad/change-notes/released/0.2.10.md @@ -0,0 +1,3 @@ +## 0.2.10 + +No user-facing changes. diff --git a/shared/mad/change-notes/released/0.2.11.md b/shared/mad/change-notes/released/0.2.11.md new file mode 100644 index 00000000000..1037f9194f8 --- /dev/null +++ b/shared/mad/change-notes/released/0.2.11.md @@ -0,0 +1,3 @@ +## 0.2.11 + +No user-facing changes. diff --git a/shared/mad/codeql-pack.release.yml b/shared/mad/codeql-pack.release.yml index d021cf0a6be..2ee635b9937 100644 --- a/shared/mad/codeql-pack.release.yml +++ b/shared/mad/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.2.9 +lastReleaseVersion: 0.2.11 diff --git a/shared/mad/codeql/mad/ModelValidation.qll b/shared/mad/codeql/mad/ModelValidation.qll index 2f990af4e0f..bb3b8c174b9 100644 --- a/shared/mad/codeql/mad/ModelValidation.qll +++ b/shared/mad/codeql/mad/ModelValidation.qll @@ -120,7 +120,7 @@ module KindValidation<KindValidationConfigSig Config> { // Java "android-external-storage-dir", "contentprovider", // C# - "file-write", + "file-write", "windows-registry", // JavaScript "database-access-result" ] diff --git a/shared/mad/qlpack.yml b/shared/mad/qlpack.yml index 22c8f271ccc..fb7384339de 100644 --- a/shared/mad/qlpack.yml +++ b/shared/mad/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/mad -version: 0.2.10-dev +version: 0.2.12-dev groups: shared library: true dependencies: null diff --git a/shared/rangeanalysis/CHANGELOG.md b/shared/rangeanalysis/CHANGELOG.md index 5b8dbcfab22..55a88fdbb24 100644 --- a/shared/rangeanalysis/CHANGELOG.md +++ b/shared/rangeanalysis/CHANGELOG.md @@ -1,3 +1,11 @@ +## 0.0.10 + +No user-facing changes. + +## 0.0.9 + +No user-facing changes. + ## 0.0.8 No user-facing changes. diff --git a/shared/rangeanalysis/change-notes/released/0.0.10.md b/shared/rangeanalysis/change-notes/released/0.0.10.md new file mode 100644 index 00000000000..22391080fd4 --- /dev/null +++ b/shared/rangeanalysis/change-notes/released/0.0.10.md @@ -0,0 +1,3 @@ +## 0.0.10 + +No user-facing changes. diff --git a/shared/rangeanalysis/change-notes/released/0.0.9.md b/shared/rangeanalysis/change-notes/released/0.0.9.md new file mode 100644 index 00000000000..c9e17c6d6cf --- /dev/null +++ b/shared/rangeanalysis/change-notes/released/0.0.9.md @@ -0,0 +1,3 @@ +## 0.0.9 + +No user-facing changes. diff --git a/shared/rangeanalysis/codeql-pack.release.yml b/shared/rangeanalysis/codeql-pack.release.yml index 58fdc6b45de..b740014e5ae 100644 --- a/shared/rangeanalysis/codeql-pack.release.yml +++ b/shared/rangeanalysis/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.0.8 +lastReleaseVersion: 0.0.10 diff --git a/shared/rangeanalysis/qlpack.yml b/shared/rangeanalysis/qlpack.yml index 836fe51ee34..671da30468e 100644 --- a/shared/rangeanalysis/qlpack.yml +++ b/shared/rangeanalysis/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/rangeanalysis -version: 0.0.9-dev +version: 0.0.11-dev groups: shared library: true dependencies: diff --git a/shared/regex/CHANGELOG.md b/shared/regex/CHANGELOG.md index cd5f91f71ec..fa6faba3823 100644 --- a/shared/regex/CHANGELOG.md +++ b/shared/regex/CHANGELOG.md @@ -1,3 +1,11 @@ +## 0.2.11 + +No user-facing changes. + +## 0.2.10 + +No user-facing changes. + ## 0.2.9 No user-facing changes. diff --git a/shared/regex/change-notes/released/0.2.10.md b/shared/regex/change-notes/released/0.2.10.md new file mode 100644 index 00000000000..81c9722b19f --- /dev/null +++ b/shared/regex/change-notes/released/0.2.10.md @@ -0,0 +1,3 @@ +## 0.2.10 + +No user-facing changes. diff --git a/shared/regex/change-notes/released/0.2.11.md b/shared/regex/change-notes/released/0.2.11.md new file mode 100644 index 00000000000..1037f9194f8 --- /dev/null +++ b/shared/regex/change-notes/released/0.2.11.md @@ -0,0 +1,3 @@ +## 0.2.11 + +No user-facing changes. diff --git a/shared/regex/codeql-pack.release.yml b/shared/regex/codeql-pack.release.yml index d021cf0a6be..2ee635b9937 100644 --- a/shared/regex/codeql-pack.release.yml +++ b/shared/regex/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.2.9 +lastReleaseVersion: 0.2.11 diff --git a/shared/regex/qlpack.yml b/shared/regex/qlpack.yml index ea3f7f9b238..4170b61806c 100644 --- a/shared/regex/qlpack.yml +++ b/shared/regex/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/regex -version: 0.2.10-dev +version: 0.2.12-dev groups: shared library: true dependencies: diff --git a/shared/ssa/CHANGELOG.md b/shared/ssa/CHANGELOG.md index 01acfae0148..0eebd3bf43d 100644 --- a/shared/ssa/CHANGELOG.md +++ b/shared/ssa/CHANGELOG.md @@ -1,3 +1,11 @@ +## 0.2.11 + +No user-facing changes. + +## 0.2.10 + +No user-facing changes. + ## 0.2.9 No user-facing changes. diff --git a/shared/ssa/change-notes/released/0.2.10.md b/shared/ssa/change-notes/released/0.2.10.md new file mode 100644 index 00000000000..81c9722b19f --- /dev/null +++ b/shared/ssa/change-notes/released/0.2.10.md @@ -0,0 +1,3 @@ +## 0.2.10 + +No user-facing changes. diff --git a/shared/ssa/change-notes/released/0.2.11.md b/shared/ssa/change-notes/released/0.2.11.md new file mode 100644 index 00000000000..1037f9194f8 --- /dev/null +++ b/shared/ssa/change-notes/released/0.2.11.md @@ -0,0 +1,3 @@ +## 0.2.11 + +No user-facing changes. diff --git a/shared/ssa/codeql-pack.release.yml b/shared/ssa/codeql-pack.release.yml index d021cf0a6be..2ee635b9937 100644 --- a/shared/ssa/codeql-pack.release.yml +++ b/shared/ssa/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.2.9 +lastReleaseVersion: 0.2.11 diff --git a/shared/ssa/qlpack.yml b/shared/ssa/qlpack.yml index 19304ad107f..3cb919af401 100644 --- a/shared/ssa/qlpack.yml +++ b/shared/ssa/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ssa -version: 0.2.10-dev +version: 0.2.12-dev groups: shared library: true dependencies: diff --git a/shared/threat-models/CHANGELOG.md b/shared/threat-models/CHANGELOG.md index fba2a870356..1857b399fe8 100644 --- a/shared/threat-models/CHANGELOG.md +++ b/shared/threat-models/CHANGELOG.md @@ -1,3 +1,11 @@ +## 0.0.10 + +No user-facing changes. + +## 0.0.9 + +No user-facing changes. + ## 0.0.8 No user-facing changes. diff --git a/shared/threat-models/change-notes/released/0.0.10.md b/shared/threat-models/change-notes/released/0.0.10.md new file mode 100644 index 00000000000..22391080fd4 --- /dev/null +++ b/shared/threat-models/change-notes/released/0.0.10.md @@ -0,0 +1,3 @@ +## 0.0.10 + +No user-facing changes. diff --git a/shared/threat-models/change-notes/released/0.0.9.md b/shared/threat-models/change-notes/released/0.0.9.md new file mode 100644 index 00000000000..c9e17c6d6cf --- /dev/null +++ b/shared/threat-models/change-notes/released/0.0.9.md @@ -0,0 +1,3 @@ +## 0.0.9 + +No user-facing changes. diff --git a/shared/threat-models/codeql-pack.release.yml b/shared/threat-models/codeql-pack.release.yml index 58fdc6b45de..b740014e5ae 100644 --- a/shared/threat-models/codeql-pack.release.yml +++ b/shared/threat-models/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.0.8 +lastReleaseVersion: 0.0.10 diff --git a/shared/threat-models/ext/threat-model-grouping.model.yml b/shared/threat-models/ext/threat-model-grouping.model.yml index 53107c1e32b..7cc650d3341 100644 --- a/shared/threat-models/ext/threat-model-grouping.model.yml +++ b/shared/threat-models/ext/threat-model-grouping.model.yml @@ -16,6 +16,7 @@ extensions: - ["commandargs", "local"] - ["environment", "local"] - ["file", "local"] + - ["windows-registry", "local"] # Android threat models - ["android-external-storage-dir", "android"] diff --git a/shared/threat-models/qlpack.yml b/shared/threat-models/qlpack.yml index d0ed9a913b2..d7e68330f51 100644 --- a/shared/threat-models/qlpack.yml +++ b/shared/threat-models/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/threat-models -version: 0.0.9-dev +version: 0.0.11-dev library: true groups: shared dataExtensions: diff --git a/shared/tree-sitter-extractor/src/extractor/mod.rs b/shared/tree-sitter-extractor/src/extractor/mod.rs index 0d493ebd9e1..d26e5e45975 100644 --- a/shared/tree-sitter-extractor/src/extractor/mod.rs +++ b/shared/tree-sitter-extractor/src/extractor/mod.rs @@ -209,10 +209,10 @@ struct Visitor<'a> { diagnostics_writer: &'a mut diagnostics::LogWriter, /// A trap::Writer to accumulate trap entries trap_writer: &'a mut trap::Writer, - /// A counter for top-level child nodes - toplevel_child_counter: usize, - /// Language-specific name of the AST info table - ast_node_info_table_name: String, + /// Language-specific name of the AST location table + ast_node_location_table_name: String, + /// Language-specific name of the AST parent table + ast_node_parent_table_name: String, /// Language-specific name of the tokeninfo table tokeninfo_table_name: String, /// A lookup table from type name to node types @@ -242,8 +242,8 @@ impl<'a> Visitor<'a> { source, diagnostics_writer, trap_writer, - toplevel_child_counter: 0, - ast_node_info_table_name: format!("{}_ast_node_info", language_prefix), + ast_node_location_table_name: format!("{}_ast_node_location", language_prefix), + ast_node_parent_table_name: format!("{}_ast_node_parent", language_prefix), tokeninfo_table_name: format!("{}_tokeninfo", language_prefix), schema, stack: Vec::new(), @@ -342,27 +342,29 @@ impl<'a> Visitor<'a> { }) .unwrap(); let mut valid = true; - let (parent_id, parent_index) = match self.stack.last_mut() { + let parent_info = match self.stack.last_mut() { Some(p) if !node.is_extra() => { p.1 += 1; - (p.0, p.1 - 1) - } - _ => { - self.toplevel_child_counter += 1; - (self.file_label, self.toplevel_child_counter - 1) + Some((p.0, p.1 - 1)) } + _ => None, }; match &table.kind { EntryKind::Token { kind_id, .. } => { self.trap_writer.add_tuple( - &self.ast_node_info_table_name, - vec![ - trap::Arg::Label(id), - trap::Arg::Label(parent_id), - trap::Arg::Int(parent_index), - trap::Arg::Label(loc_label), - ], + &self.ast_node_location_table_name, + vec![trap::Arg::Label(id), trap::Arg::Label(loc_label)], ); + if let Some((parent_id, parent_index)) = parent_info { + self.trap_writer.add_tuple( + &self.ast_node_parent_table_name, + vec![ + trap::Arg::Label(id), + trap::Arg::Label(parent_id), + trap::Arg::Int(parent_index), + ], + ); + }; self.trap_writer.add_tuple( &self.tokeninfo_table_name, vec![ @@ -378,14 +380,19 @@ impl<'a> Visitor<'a> { } => { if let Some(args) = self.complex_node(&node, fields, &child_nodes, id) { self.trap_writer.add_tuple( - &self.ast_node_info_table_name, - vec![ - trap::Arg::Label(id), - trap::Arg::Label(parent_id), - trap::Arg::Int(parent_index), - trap::Arg::Label(loc_label), - ], + &self.ast_node_location_table_name, + vec![trap::Arg::Label(id), trap::Arg::Label(loc_label)], ); + if let Some((parent_id, parent_index)) = parent_info { + self.trap_writer.add_tuple( + &self.ast_node_parent_table_name, + vec![ + trap::Arg::Label(id), + trap::Arg::Label(parent_id), + trap::Arg::Int(parent_index), + ], + ); + }; let mut all_args = vec![trap::Arg::Label(id)]; all_args.extend(args); self.trap_writer.add_tuple(table_name, all_args); diff --git a/shared/tree-sitter-extractor/src/generator/mod.rs b/shared/tree-sitter-extractor/src/generator/mod.rs index 0d01deae57f..ea41f3190e6 100644 --- a/shared/tree-sitter-extractor/src/generator/mod.rs +++ b/shared/tree-sitter-extractor/src/generator/mod.rs @@ -52,8 +52,8 @@ pub fn generate( for language in languages { let prefix = node_types::to_snake_case(&language.name); let ast_node_name = format!("{}_ast_node", &prefix); - let node_info_table_name = format!("{}_ast_node_info", &prefix); - let ast_node_parent_name = format!("{}_ast_node_parent", &prefix); + let node_location_table_name = format!("{}_ast_node_location", &prefix); + let node_parent_table_name = format!("{}_ast_node_parent", &prefix); let token_name = format!("{}_token", &prefix); let tokeninfo_name = format!("{}_tokeninfo", &prefix); let reserved_word_name = format!("{}_reserved_word", &prefix); @@ -72,13 +72,12 @@ pub fn generate( name: &ast_node_name, members: ast_node_members, }), - dbscheme::Entry::Union(dbscheme::Union { - name: &ast_node_parent_name, - members: [&ast_node_name, "file"].iter().cloned().collect(), - }), - dbscheme::Entry::Table(create_ast_node_info_table( - &node_info_table_name, - &ast_node_parent_name, + dbscheme::Entry::Table(create_ast_node_location_table( + &node_location_table_name, + &ast_node_name, + )), + dbscheme::Entry::Table(create_ast_node_parent_table( + &node_parent_table_name, &ast_node_name, )), ], @@ -87,7 +86,8 @@ pub fn generate( let mut body = vec![ ql::TopLevel::Class(ql_gen::create_ast_node_class( &ast_node_name, - &node_info_table_name, + &node_location_table_name, + &node_parent_table_name, )), ql::TopLevel::Class(ql_gen::create_token_class(&token_name, &tokeninfo_name)), ql::TopLevel::Class(ql_gen::create_reserved_word_class(&reserved_word_name)), @@ -335,18 +335,43 @@ fn convert_nodes( (entries, ast_node_members, token_kinds) } -/// Creates a dbscheme table specifying the parent node and location for each -/// AST node. +/// Creates a dbscheme table specifying the location for each AST node. /// /// # Arguments /// - `name` - the name of the table to create. -/// - `parent_name` - the name of the parent type. /// - `ast_node_name` - the name of the node child type. -fn create_ast_node_info_table<'a>( +fn create_ast_node_location_table<'a>( name: &'a str, - parent_name: &'a str, ast_node_name: &'a str, ) -> dbscheme::Table<'a> { + dbscheme::Table { + name, + columns: vec![ + dbscheme::Column { + db_type: dbscheme::DbColumnType::Int, + name: "node", + unique: true, + ql_type: ql::Type::At(ast_node_name), + ql_type_is_ref: true, + }, + dbscheme::Column { + unique: false, + db_type: dbscheme::DbColumnType::Int, + name: "loc", + ql_type: ql::Type::At("location_default"), + ql_type_is_ref: true, + }, + ], + keysets: None, + } +} + +/// Creates a dbscheme table specifying the parent node for each AST node. +/// +/// # Arguments +/// - `name` - the name of the table to create. +/// - `ast_node_name` - the name of the node child type. +fn create_ast_node_parent_table<'a>(name: &'a str, ast_node_name: &'a str) -> dbscheme::Table<'a> { dbscheme::Table { name, columns: vec![ @@ -361,7 +386,7 @@ fn create_ast_node_info_table<'a>( db_type: dbscheme::DbColumnType::Int, name: "parent", unique: false, - ql_type: ql::Type::At(parent_name), + ql_type: ql::Type::At(ast_node_name), ql_type_is_ref: true, }, dbscheme::Column { @@ -371,13 +396,6 @@ fn create_ast_node_info_table<'a>( ql_type: ql::Type::Int, ql_type_is_ref: true, }, - dbscheme::Column { - unique: false, - db_type: dbscheme::DbColumnType::Int, - name: "loc", - ql_type: ql::Type::At("location_default"), - ql_type_is_ref: true, - }, ], keysets: Some(vec!["parent", "parent_index"]), } diff --git a/shared/tree-sitter-extractor/src/generator/ql_gen.rs b/shared/tree-sitter-extractor/src/generator/ql_gen.rs index 4407cbdd32e..919ff43af42 100644 --- a/shared/tree-sitter-extractor/src/generator/ql_gen.rs +++ b/shared/tree-sitter-extractor/src/generator/ql_gen.rs @@ -4,7 +4,11 @@ use crate::{generator::ql, node_types}; /// Creates the hard-coded `AstNode` class that acts as a supertype of all /// classes we generate. -pub fn create_ast_node_class<'a>(ast_node: &'a str, node_info_table: &'a str) -> ql::Class<'a> { +pub fn create_ast_node_class<'a>( + ast_node: &'a str, + node_location_table: &'a str, + node_parent_table: &'a str, +) -> ql::Class<'a> { // Default implementation of `toString` calls `this.getAPrimaryQlClass()` let to_string = ql::Predicate { qldoc: Some(String::from( @@ -32,13 +36,8 @@ pub fn create_ast_node_class<'a>(ast_node: &'a str, node_info_table: &'a str) -> return_type: Some(ql::Type::Normal("L::Location")), formal_parameters: vec![], body: ql::Expression::Pred( - node_info_table, - vec![ - ql::Expression::Var("this"), - ql::Expression::Var("_"), // parent - ql::Expression::Var("_"), // parent index - ql::Expression::Var("result"), // location - ], + node_location_table, + vec![ql::Expression::Var("this"), ql::Expression::Var("result")], ), }; let get_a_field_or_child = create_none_predicate( @@ -55,12 +54,11 @@ pub fn create_ast_node_class<'a>(ast_node: &'a str, node_info_table: &'a str) -> return_type: Some(ql::Type::Normal("AstNode")), formal_parameters: vec![], body: ql::Expression::Pred( - node_info_table, + node_parent_table, vec![ ql::Expression::Var("this"), ql::Expression::Var("result"), - ql::Expression::Var("_"), // parent index - ql::Expression::Var("_"), // location + ql::Expression::Var("_"), ], ), }; @@ -74,12 +72,11 @@ pub fn create_ast_node_class<'a>(ast_node: &'a str, node_info_table: &'a str) -> return_type: Some(ql::Type::Int), formal_parameters: vec![], body: ql::Expression::Pred( - node_info_table, + node_parent_table, vec![ ql::Expression::Var("this"), - ql::Expression::Var("_"), // parent - ql::Expression::Var("result"), // parent index - ql::Expression::Var("_"), // location + ql::Expression::Var("_"), + ql::Expression::Var("result"), ], ), }; diff --git a/shared/tutorial/CHANGELOG.md b/shared/tutorial/CHANGELOG.md index 1db3a01af0b..12452c35536 100644 --- a/shared/tutorial/CHANGELOG.md +++ b/shared/tutorial/CHANGELOG.md @@ -1,3 +1,11 @@ +## 0.2.11 + +No user-facing changes. + +## 0.2.10 + +No user-facing changes. + ## 0.2.9 No user-facing changes. diff --git a/shared/tutorial/change-notes/released/0.2.10.md b/shared/tutorial/change-notes/released/0.2.10.md new file mode 100644 index 00000000000..81c9722b19f --- /dev/null +++ b/shared/tutorial/change-notes/released/0.2.10.md @@ -0,0 +1,3 @@ +## 0.2.10 + +No user-facing changes. diff --git a/shared/tutorial/change-notes/released/0.2.11.md b/shared/tutorial/change-notes/released/0.2.11.md new file mode 100644 index 00000000000..1037f9194f8 --- /dev/null +++ b/shared/tutorial/change-notes/released/0.2.11.md @@ -0,0 +1,3 @@ +## 0.2.11 + +No user-facing changes. diff --git a/shared/tutorial/codeql-pack.release.yml b/shared/tutorial/codeql-pack.release.yml index d021cf0a6be..2ee635b9937 100644 --- a/shared/tutorial/codeql-pack.release.yml +++ b/shared/tutorial/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.2.9 +lastReleaseVersion: 0.2.11 diff --git a/shared/tutorial/qlpack.yml b/shared/tutorial/qlpack.yml index b595ae9ee70..0e0c8fc0d16 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: 0.2.10-dev +version: 0.2.12-dev groups: shared library: true warnOnImplicitThis: true diff --git a/shared/typetracking/CHANGELOG.md b/shared/typetracking/CHANGELOG.md index afc857bc6bc..557f6b217b8 100644 --- a/shared/typetracking/CHANGELOG.md +++ b/shared/typetracking/CHANGELOG.md @@ -1,3 +1,11 @@ +## 0.2.11 + +No user-facing changes. + +## 0.2.10 + +No user-facing changes. + ## 0.2.9 No user-facing changes. diff --git a/shared/typetracking/change-notes/released/0.2.10.md b/shared/typetracking/change-notes/released/0.2.10.md new file mode 100644 index 00000000000..81c9722b19f --- /dev/null +++ b/shared/typetracking/change-notes/released/0.2.10.md @@ -0,0 +1,3 @@ +## 0.2.10 + +No user-facing changes. diff --git a/shared/typetracking/change-notes/released/0.2.11.md b/shared/typetracking/change-notes/released/0.2.11.md new file mode 100644 index 00000000000..1037f9194f8 --- /dev/null +++ b/shared/typetracking/change-notes/released/0.2.11.md @@ -0,0 +1,3 @@ +## 0.2.11 + +No user-facing changes. diff --git a/shared/typetracking/codeql-pack.release.yml b/shared/typetracking/codeql-pack.release.yml index d021cf0a6be..2ee635b9937 100644 --- a/shared/typetracking/codeql-pack.release.yml +++ b/shared/typetracking/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.2.9 +lastReleaseVersion: 0.2.11 diff --git a/shared/typetracking/qlpack.yml b/shared/typetracking/qlpack.yml index b55927f59bb..b11e2cee9e4 100644 --- a/shared/typetracking/qlpack.yml +++ b/shared/typetracking/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typetracking -version: 0.2.10-dev +version: 0.2.12-dev groups: shared library: true dependencies: diff --git a/shared/typos/CHANGELOG.md b/shared/typos/CHANGELOG.md index 66c5871d982..4dd505b626f 100644 --- a/shared/typos/CHANGELOG.md +++ b/shared/typos/CHANGELOG.md @@ -1,3 +1,11 @@ +## 0.2.11 + +No user-facing changes. + +## 0.2.10 + +No user-facing changes. + ## 0.2.9 No user-facing changes. diff --git a/shared/typos/change-notes/released/0.2.10.md b/shared/typos/change-notes/released/0.2.10.md new file mode 100644 index 00000000000..81c9722b19f --- /dev/null +++ b/shared/typos/change-notes/released/0.2.10.md @@ -0,0 +1,3 @@ +## 0.2.10 + +No user-facing changes. diff --git a/shared/typos/change-notes/released/0.2.11.md b/shared/typos/change-notes/released/0.2.11.md new file mode 100644 index 00000000000..1037f9194f8 --- /dev/null +++ b/shared/typos/change-notes/released/0.2.11.md @@ -0,0 +1,3 @@ +## 0.2.11 + +No user-facing changes. diff --git a/shared/typos/codeql-pack.release.yml b/shared/typos/codeql-pack.release.yml index d021cf0a6be..2ee635b9937 100644 --- a/shared/typos/codeql-pack.release.yml +++ b/shared/typos/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.2.9 +lastReleaseVersion: 0.2.11 diff --git a/shared/typos/qlpack.yml b/shared/typos/qlpack.yml index 644bfe11bff..7643692f482 100644 --- a/shared/typos/qlpack.yml +++ b/shared/typos/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typos -version: 0.2.10-dev +version: 0.2.12-dev groups: shared library: true warnOnImplicitThis: true diff --git a/shared/util/CHANGELOG.md b/shared/util/CHANGELOG.md index 63832e927fa..9803704f470 100644 --- a/shared/util/CHANGELOG.md +++ b/shared/util/CHANGELOG.md @@ -1,3 +1,11 @@ +## 0.2.11 + +No user-facing changes. + +## 0.2.10 + +No user-facing changes. + ## 0.2.9 No user-facing changes. diff --git a/shared/util/change-notes/released/0.2.10.md b/shared/util/change-notes/released/0.2.10.md new file mode 100644 index 00000000000..81c9722b19f --- /dev/null +++ b/shared/util/change-notes/released/0.2.10.md @@ -0,0 +1,3 @@ +## 0.2.10 + +No user-facing changes. diff --git a/shared/util/change-notes/released/0.2.11.md b/shared/util/change-notes/released/0.2.11.md new file mode 100644 index 00000000000..1037f9194f8 --- /dev/null +++ b/shared/util/change-notes/released/0.2.11.md @@ -0,0 +1,3 @@ +## 0.2.11 + +No user-facing changes. diff --git a/shared/util/codeql-pack.release.yml b/shared/util/codeql-pack.release.yml index d021cf0a6be..2ee635b9937 100644 --- a/shared/util/codeql-pack.release.yml +++ b/shared/util/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.2.9 +lastReleaseVersion: 0.2.11 diff --git a/shared/util/qlpack.yml b/shared/util/qlpack.yml index ca1a866a53d..d2539564290 100644 --- a/shared/util/qlpack.yml +++ b/shared/util/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/util -version: 0.2.10-dev +version: 0.2.12-dev groups: shared library: true dependencies: null diff --git a/shared/yaml/CHANGELOG.md b/shared/yaml/CHANGELOG.md index e5495abcd50..1beadaccd69 100644 --- a/shared/yaml/CHANGELOG.md +++ b/shared/yaml/CHANGELOG.md @@ -1,3 +1,11 @@ +## 0.2.11 + +No user-facing changes. + +## 0.2.10 + +No user-facing changes. + ## 0.2.9 No user-facing changes. diff --git a/shared/yaml/change-notes/released/0.2.10.md b/shared/yaml/change-notes/released/0.2.10.md new file mode 100644 index 00000000000..81c9722b19f --- /dev/null +++ b/shared/yaml/change-notes/released/0.2.10.md @@ -0,0 +1,3 @@ +## 0.2.10 + +No user-facing changes. diff --git a/shared/yaml/change-notes/released/0.2.11.md b/shared/yaml/change-notes/released/0.2.11.md new file mode 100644 index 00000000000..1037f9194f8 --- /dev/null +++ b/shared/yaml/change-notes/released/0.2.11.md @@ -0,0 +1,3 @@ +## 0.2.11 + +No user-facing changes. diff --git a/shared/yaml/codeql-pack.release.yml b/shared/yaml/codeql-pack.release.yml index d021cf0a6be..2ee635b9937 100644 --- a/shared/yaml/codeql-pack.release.yml +++ b/shared/yaml/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.2.9 +lastReleaseVersion: 0.2.11 diff --git a/shared/yaml/qlpack.yml b/shared/yaml/qlpack.yml index de5b47e120a..4c6e0680ff2 100644 --- a/shared/yaml/qlpack.yml +++ b/shared/yaml/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/yaml -version: 0.2.10-dev +version: 0.2.12-dev groups: shared library: true warnOnImplicitThis: true diff --git a/swift/extractor/BUILD.bazel b/swift/extractor/BUILD.bazel index f711b3b9d2b..42c1105053c 100644 --- a/swift/extractor/BUILD.bazel +++ b/swift/extractor/BUILD.bazel @@ -17,6 +17,10 @@ swift_cc_binary( "//swift/third_party/swift-llvm-support", "@absl//absl/strings", ], + linkopts = select({ + "@platforms//os:macos": ["-headerpad_max_install_names"], + "//conditions:default": [], + }), ) sh_binary( diff --git a/swift/ql/lib/CHANGELOG.md b/swift/ql/lib/CHANGELOG.md index e88cd0259cc..309087eeb32 100644 --- a/swift/ql/lib/CHANGELOG.md +++ b/swift/ql/lib/CHANGELOG.md @@ -1,3 +1,13 @@ +## 0.3.11 + +No user-facing changes. + +## 0.3.10 + +### Bug Fixes + +* Fixed an issue where `TypeDecl.getFullName` would get stuck in an loop and fail when minor database inconsistencies are present. + ## 0.3.9 ### Minor Analysis Improvements diff --git a/swift/ql/lib/change-notes/2024-02-22-extension-patch.md b/swift/ql/lib/change-notes/released/0.3.10.md similarity index 83% rename from swift/ql/lib/change-notes/2024-02-22-extension-patch.md rename to swift/ql/lib/change-notes/released/0.3.10.md index 7bd78f3b785..9d6286ff58a 100644 --- a/swift/ql/lib/change-notes/2024-02-22-extension-patch.md +++ b/swift/ql/lib/change-notes/released/0.3.10.md @@ -1,4 +1,5 @@ ---- -category: fix ---- +## 0.3.10 + +### Bug Fixes + * Fixed an issue where `TypeDecl.getFullName` would get stuck in an loop and fail when minor database inconsistencies are present. diff --git a/swift/ql/lib/change-notes/released/0.3.11.md b/swift/ql/lib/change-notes/released/0.3.11.md new file mode 100644 index 00000000000..10d35144a4a --- /dev/null +++ b/swift/ql/lib/change-notes/released/0.3.11.md @@ -0,0 +1,3 @@ +## 0.3.11 + +No user-facing changes. diff --git a/swift/ql/lib/codeql-pack.release.yml b/swift/ql/lib/codeql-pack.release.yml index 3fa5180bcb4..2b6348cc81c 100644 --- a/swift/ql/lib/codeql-pack.release.yml +++ b/swift/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.3.9 +lastReleaseVersion: 0.3.11 diff --git a/swift/ql/lib/codeql/swift/dataflow/DataFlow.qll b/swift/ql/lib/codeql/swift/dataflow/DataFlow.qll index b267b74d328..670a94babd9 100644 --- a/swift/ql/lib/codeql/swift/dataflow/DataFlow.qll +++ b/swift/ql/lib/codeql/swift/dataflow/DataFlow.qll @@ -5,6 +5,7 @@ module DataFlow { private import internal.DataFlowImplSpecific private import codeql.dataflow.DataFlow - import DataFlowMake<SwiftDataFlow> + private import codeql.swift.elements.Location + import DataFlowMake<Location, SwiftDataFlow> import internal.DataFlowImpl1 } diff --git a/swift/ql/lib/codeql/swift/dataflow/TaintTracking.qll b/swift/ql/lib/codeql/swift/dataflow/TaintTracking.qll index 2dcb4e239c6..e46cd18abb4 100644 --- a/swift/ql/lib/codeql/swift/dataflow/TaintTracking.qll +++ b/swift/ql/lib/codeql/swift/dataflow/TaintTracking.qll @@ -7,6 +7,7 @@ module TaintTracking { private import codeql.swift.dataflow.internal.DataFlowImplSpecific private import codeql.swift.dataflow.internal.TaintTrackingImplSpecific private import codeql.dataflow.TaintTracking - import TaintFlowMake<SwiftDataFlow, SwiftTaintTracking> + private import codeql.swift.elements.Location + import TaintFlowMake<Location, SwiftDataFlow, SwiftTaintTracking> import codeql.swift.dataflow.internal.tainttracking1.TaintTrackingImpl } diff --git a/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowImpl.qll b/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowImpl.qll index 532f0def116..f02fe9635ae 100644 --- a/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowImpl.qll +++ b/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowImpl.qll @@ -1,3 +1,4 @@ private import DataFlowImplSpecific private import codeql.dataflow.internal.DataFlowImpl -import MakeImpl<SwiftDataFlow> +private import codeql.swift.elements.Location +import MakeImpl<Location, SwiftDataFlow> diff --git a/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowImpl1.qll b/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowImpl1.qll index 2bbc565daa6..9b92f961e6f 100644 --- a/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowImpl1.qll +++ b/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowImpl1.qll @@ -285,6 +285,8 @@ deprecated private module Config implements FullStateConfigSig { int fieldFlowBranchLimit() { result = min(any(Configuration config).fieldFlowBranchLimit()) } + int accessPathLimit() { result = 5 } + FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } predicate sourceGrouping(Node source, string sourceGroup) { diff --git a/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowImplCommon.qll b/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowImplCommon.qll index 969275ffa07..eae4f58a86b 100644 --- a/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowImplCommon.qll +++ b/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowImplCommon.qll @@ -1,3 +1,4 @@ private import DataFlowImplSpecific private import codeql.dataflow.internal.DataFlowImplCommon -import MakeImplCommon<SwiftDataFlow> +import codeql.swift.elements.Location +import MakeImplCommon<Location, SwiftDataFlow> diff --git a/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowImplConsistency.qll b/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowImplConsistency.qll index e9de11852a6..3e17bc87803 100644 --- a/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowImplConsistency.qll +++ b/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowImplConsistency.qll @@ -8,6 +8,6 @@ private import DataFlowImplSpecific private import TaintTrackingImplSpecific private import codeql.dataflow.internal.DataFlowImplConsistency -private module Input implements InputSig<SwiftDataFlow> { } +private module Input implements InputSig<Location, SwiftDataFlow> { } -module Consistency = MakeConsistency<SwiftDataFlow, SwiftTaintTracking, Input>; +module Consistency = MakeConsistency<Location, SwiftDataFlow, SwiftTaintTracking, Input>; diff --git a/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowImplSpecific.qll b/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowImplSpecific.qll index e6941afd9d9..4273414c724 100644 --- a/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowImplSpecific.qll +++ b/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowImplSpecific.qll @@ -15,7 +15,7 @@ module Public { import DataFlowPublic } -module SwiftDataFlow implements InputSig { +module SwiftDataFlow implements InputSig<Swift::Location> { import Private import Public diff --git a/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowPublic.qll b/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowPublic.qll index abbb400904a..16a5a2c19ca 100644 --- a/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowPublic.qll +++ b/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowPublic.qll @@ -26,7 +26,7 @@ class Node extends TNode { * For more information, see * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). */ - predicate hasLocationInfo( + deprecated predicate hasLocationInfo( string filepath, int startline, int startcolumn, int endline, int endcolumn ) { this.getLocation().hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) diff --git a/swift/ql/lib/codeql/swift/dataflow/internal/FlowSummaryImpl.qll b/swift/ql/lib/codeql/swift/dataflow/internal/FlowSummaryImpl.qll index 1151a7aeec8..54c8370ed1d 100644 --- a/swift/ql/lib/codeql/swift/dataflow/internal/FlowSummaryImpl.qll +++ b/swift/ql/lib/codeql/swift/dataflow/internal/FlowSummaryImpl.qll @@ -11,7 +11,7 @@ private import DataFlowImplSpecific::Public private import DataFlowImplCommon private import codeql.swift.dataflow.ExternalFlow -module Input implements InputSig<DataFlowImplSpecific::SwiftDataFlow> { +module Input implements InputSig<Location, DataFlowImplSpecific::SwiftDataFlow> { class SummarizedCallableBase = Function; ArgumentPosition callbackSelfParameterPosition() { result instanceof ThisArgumentPosition } @@ -102,14 +102,14 @@ module Input implements InputSig<DataFlowImplSpecific::SwiftDataFlow> { } } -private import Make<DataFlowImplSpecific::SwiftDataFlow, Input> as Impl +private import Make<Location, DataFlowImplSpecific::SwiftDataFlow, Input> as Impl private module StepsInput implements Impl::Private::StepsInputSig { DataFlowCall getACall(Public::SummarizedCallable sc) { result.asCall().getStaticTarget() = sc } } module SourceSinkInterpretationInput implements - Impl::Private::External::SourceSinkInterpretationInputSig<Location> + Impl::Private::External::SourceSinkInterpretationInputSig { class Element = AstNode; @@ -119,11 +119,13 @@ module SourceSinkInterpretationInput implements * Holds if an external source specification exists for `e` with output specification * `output`, kind `kind`, and provenance `provenance`. */ - predicate sourceElement(SourceOrSinkElement e, string output, string kind) { + predicate sourceElement( + SourceOrSinkElement e, string output, string kind, Public::Provenance provenance + ) { exists( string namespace, string type, boolean subtypes, string name, string signature, string ext | - sourceModel(namespace, type, subtypes, name, signature, ext, output, kind, _) and + sourceModel(namespace, type, subtypes, name, signature, ext, output, kind, provenance) and e = interpretElement(namespace, type, subtypes, name, signature, ext) ) } @@ -132,11 +134,13 @@ module SourceSinkInterpretationInput implements * Holds if an external sink specification exists for `e` with input specification * `input`, kind `kind` and provenance `provenance`. */ - predicate sinkElement(SourceOrSinkElement e, string input, string kind) { + predicate sinkElement( + SourceOrSinkElement e, string input, string kind, Public::Provenance provenance + ) { exists( string package, string type, boolean subtypes, string name, string signature, string ext | - sinkModel(package, type, subtypes, name, signature, ext, input, kind, _) and + sinkModel(package, type, subtypes, name, signature, ext, input, kind, provenance) and e = interpretElement(package, type, subtypes, name, signature, ext) ) } @@ -222,7 +226,7 @@ module Private { module External { import Impl::Private::External - import Impl::Private::External::SourceSinkInterpretation<Location, SourceSinkInterpretationInput> + import Impl::Private::External::SourceSinkInterpretation<SourceSinkInterpretationInput> } /** diff --git a/swift/ql/lib/codeql/swift/dataflow/internal/TaintTrackingImplSpecific.qll b/swift/ql/lib/codeql/swift/dataflow/internal/TaintTrackingImplSpecific.qll index fd00fa5e8f1..d2a9f6ae5f1 100644 --- a/swift/ql/lib/codeql/swift/dataflow/internal/TaintTrackingImplSpecific.qll +++ b/swift/ql/lib/codeql/swift/dataflow/internal/TaintTrackingImplSpecific.qll @@ -4,8 +4,9 @@ private import codeql.dataflow.TaintTracking private import DataFlowImplSpecific +private import codeql.swift.elements.Location -module SwiftTaintTracking implements InputSig<SwiftDataFlow> { +module SwiftTaintTracking implements InputSig<Location, SwiftDataFlow> { import TaintTrackingPrivate import TaintTrackingPublic } diff --git a/swift/ql/lib/qlpack.yml b/swift/ql/lib/qlpack.yml index a37a4cb3d58..08e0434fbe6 100644 --- a/swift/ql/lib/qlpack.yml +++ b/swift/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/swift-all -version: 0.3.10-dev +version: 0.3.12-dev groups: swift extractor: swift dbscheme: swift.dbscheme diff --git a/swift/ql/src/CHANGELOG.md b/swift/ql/src/CHANGELOG.md index 96615d06972..33f843bec1c 100644 --- a/swift/ql/src/CHANGELOG.md +++ b/swift/ql/src/CHANGELOG.md @@ -1,3 +1,11 @@ +## 0.3.11 + +No user-facing changes. + +## 0.3.10 + +No user-facing changes. + ## 0.3.9 ### New Queries diff --git a/swift/ql/src/change-notes/released/0.3.10.md b/swift/ql/src/change-notes/released/0.3.10.md new file mode 100644 index 00000000000..925a48fc52e --- /dev/null +++ b/swift/ql/src/change-notes/released/0.3.10.md @@ -0,0 +1,3 @@ +## 0.3.10 + +No user-facing changes. diff --git a/swift/ql/src/change-notes/released/0.3.11.md b/swift/ql/src/change-notes/released/0.3.11.md new file mode 100644 index 00000000000..10d35144a4a --- /dev/null +++ b/swift/ql/src/change-notes/released/0.3.11.md @@ -0,0 +1,3 @@ +## 0.3.11 + +No user-facing changes. diff --git a/swift/ql/src/codeql-pack.release.yml b/swift/ql/src/codeql-pack.release.yml index 3fa5180bcb4..2b6348cc81c 100644 --- a/swift/ql/src/codeql-pack.release.yml +++ b/swift/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.3.9 +lastReleaseVersion: 0.3.11 diff --git a/swift/ql/src/diagnostics/SuccessfullyExtractedLines.ql b/swift/ql/src/diagnostics/SuccessfullyExtractedLines.ql index 373b6c4bd0f..5aec16da4ef 100644 --- a/swift/ql/src/diagnostics/SuccessfullyExtractedLines.ql +++ b/swift/ql/src/diagnostics/SuccessfullyExtractedLines.ql @@ -4,6 +4,7 @@ * @kind metric * @id swift/diagnostics/successfully-extracted-lines * @tags summary + * debug */ import swift diff --git a/swift/ql/src/qlpack.yml b/swift/ql/src/qlpack.yml index e3ead42c98b..a4cdbfe7cc1 100644 --- a/swift/ql/src/qlpack.yml +++ b/swift/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/swift-queries -version: 0.3.10-dev +version: 0.3.12-dev groups: - swift - queries diff --git a/swift/third_party/BUILD.swift-toolchain-linux.bazel b/swift/third_party/BUILD.swift-toolchain-linux.bazel index 7c00eae382a..8125d4a0448 100644 --- a/swift/third_party/BUILD.swift-toolchain-linux.bazel +++ b/swift/third_party/BUILD.swift-toolchain-linux.bazel @@ -30,7 +30,7 @@ _pm_interface_files = [ srcs = ["%s/%s/%s" % (_strip_prefix, dir, interface)], outs = [module], cmd = "$(location usr/bin/swift-frontend) -compile-module-from-interface $< -o $@ -I $$(dirname $<)", - local = True, + tags = ["no-sandbox"], tools = ["usr/bin/swift-frontend"], ), pkg_files(
  • OWASP: -XSS + Unvalidated Redirects and Forwards Cheat Sheet.