diff --git a/toolchain/base/canonical_value_store.h b/toolchain/base/canonical_value_store.h index fb5c3976657a..27c74f7656cd 100644 --- a/toolchain/base/canonical_value_store.h +++ b/toolchain/base/canonical_value_store.h @@ -62,6 +62,7 @@ class CanonicalValueStore { return values_.values(); } auto size() const -> size_t { return values_.size(); } + auto enumerate() const -> auto { return values_.enumerate(); } // Collects memory usage of the values and deduplication set. auto CollectMemUsage(MemUsage& mem_usage, llvm::StringRef label) const diff --git a/toolchain/check/testdata/basics/raw_sem_ir/builtins.carbon b/toolchain/check/testdata/basics/raw_sem_ir/builtins.carbon index 117e2a2bbfb3..47f00f9a8ae0 100644 --- a/toolchain/check/testdata/basics/raw_sem_ir/builtins.carbon +++ b/toolchain/check/testdata/basics/raw_sem_ir/builtins.carbon @@ -14,6 +14,7 @@ // CHECK:STDOUT: --- // CHECK:STDOUT: filename: builtins.carbon // CHECK:STDOUT: sem_ir: +// CHECK:STDOUT: names: {} // CHECK:STDOUT: import_irs: // CHECK:STDOUT: 'import_ir(ApiForImpl)': {decl_id: inst, is_export: false} // CHECK:STDOUT: 'import_ir(Cpp)': {decl_id: inst, is_export: false} @@ -25,8 +26,12 @@ // CHECK:STDOUT: cpp_global_vars: {} // CHECK:STDOUT: functions: {} // CHECK:STDOUT: classes: {} +// CHECK:STDOUT: interfaces: {} +// CHECK:STDOUT: associated_constants: {} +// CHECK:STDOUT: impls: {} // CHECK:STDOUT: generics: {} // CHECK:STDOUT: specifics: {} +// CHECK:STDOUT: specific_interfaces: {} // CHECK:STDOUT: struct_type_fields: // CHECK:STDOUT: struct_type_fields_empty: {} // CHECK:STDOUT: types: @@ -38,6 +43,7 @@ // CHECK:STDOUT: value_repr: {kind: copy, type: type(Error)} // CHECK:STDOUT: 'type(inst(NamespaceType))': // CHECK:STDOUT: value_repr: {kind: copy, type: type(inst(NamespaceType))} +// CHECK:STDOUT: facet_types: {} // CHECK:STDOUT: insts: // CHECK:STDOUT: 'inst(TypeType)': {kind: TypeType, type: type(TypeType)} // CHECK:STDOUT: 'inst(AutoType)': {kind: AutoType, type: type(TypeType)} @@ -81,4 +87,11 @@ // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: inst_block60000004: // CHECK:STDOUT: 0: instF +// CHECK:STDOUT: value_stores: +// CHECK:STDOUT: shared_values: +// CHECK:STDOUT: ints: {} +// CHECK:STDOUT: reals: {} +// CHECK:STDOUT: floats: {} +// CHECK:STDOUT: identifiers: {} +// CHECK:STDOUT: strings: {} // CHECK:STDOUT: ... diff --git a/toolchain/check/testdata/basics/raw_sem_ir/cpp_interop.carbon b/toolchain/check/testdata/basics/raw_sem_ir/cpp_interop.carbon index 69937ca02cbb..757261470431 100644 --- a/toolchain/check/testdata/basics/raw_sem_ir/cpp_interop.carbon +++ b/toolchain/check/testdata/basics/raw_sem_ir/cpp_interop.carbon @@ -35,6 +35,14 @@ fn G(x: Cpp.X) { // CHECK:STDOUT: --- // CHECK:STDOUT: filename: import.carbon // CHECK:STDOUT: sem_ir: +// CHECK:STDOUT: names: +// CHECK:STDOUT: name0: G +// CHECK:STDOUT: name1: x +// CHECK:STDOUT: name2: X +// CHECK:STDOUT: name3: f +// CHECK:STDOUT: name4: global +// CHECK:STDOUT: name5: p +// CHECK:STDOUT: name6: f__carbon_thunk // CHECK:STDOUT: import_irs: // CHECK:STDOUT: 'import_ir(ApiForImpl)': {decl_id: inst, is_export: false} // CHECK:STDOUT: 'import_ir(Cpp)': {decl_id: inst, is_export: false} @@ -70,8 +78,12 @@ fn G(x: Cpp.X) { // CHECK:STDOUT: function60000004: {name: name6, parent_scope: name_scope60000001, call_param_patterns_id: inst_block60000014, call_params_id: inst_block60000015} // CHECK:STDOUT: classes: // CHECK:STDOUT: class60000000: {name: name2, parent_scope: name_scope60000001, self_type_id: type(inst60000015), inheritance_kind: Base, is_dynamic: 0, scope_id: name_scope60000002, body_block_id: inst_block6000000B, adapt_id: inst, base_id: inst, complete_type_witness_id: inst60000025, vtable_decl_id: inst}} +// CHECK:STDOUT: interfaces: {} +// CHECK:STDOUT: associated_constants: {} +// CHECK:STDOUT: impls: {} // CHECK:STDOUT: generics: {} // CHECK:STDOUT: specifics: {} +// CHECK:STDOUT: specific_interfaces: {} // CHECK:STDOUT: struct_type_fields: // CHECK:STDOUT: struct_type_fields_empty: {} // CHECK:STDOUT: struct_type_fields60000001: @@ -113,6 +125,7 @@ fn G(x: Cpp.X) { // CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000013)} // CHECK:STDOUT: 'type(inst60000044)': // CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000013)} +// CHECK:STDOUT: facet_types: {} // CHECK:STDOUT: insts: // CHECK:STDOUT: 'inst(TypeType)': {kind: TypeType, type: type(TypeType)} // CHECK:STDOUT: 'inst(AutoType)': {kind: AutoType, type: type(TypeType)} @@ -367,4 +380,19 @@ fn G(x: Cpp.X) { // CHECK:STDOUT: 0: instF // CHECK:STDOUT: 1: inst60000010 // CHECK:STDOUT: 2: inst6000001D +// CHECK:STDOUT: value_stores: +// CHECK:STDOUT: shared_values: +// CHECK:STDOUT: ints: {} +// CHECK:STDOUT: reals: {} +// CHECK:STDOUT: floats: {} +// CHECK:STDOUT: identifiers: +// CHECK:STDOUT: identifier0: G +// CHECK:STDOUT: identifier1: x +// CHECK:STDOUT: identifier2: X +// CHECK:STDOUT: identifier3: f +// CHECK:STDOUT: identifier4: global +// CHECK:STDOUT: identifier5: p +// CHECK:STDOUT: identifier6: f__carbon_thunk +// CHECK:STDOUT: strings: +// CHECK:STDOUT: string0: header.h // CHECK:STDOUT: ... diff --git a/toolchain/check/testdata/basics/raw_sem_ir/multifile.carbon b/toolchain/check/testdata/basics/raw_sem_ir/multifile.carbon index 48e6fdaf812c..625eeb19fef1 100644 --- a/toolchain/check/testdata/basics/raw_sem_ir/multifile.carbon +++ b/toolchain/check/testdata/basics/raw_sem_ir/multifile.carbon @@ -30,6 +30,8 @@ fn B() { // CHECK:STDOUT: --- // CHECK:STDOUT: filename: a.carbon // CHECK:STDOUT: sem_ir: +// CHECK:STDOUT: names: +// CHECK:STDOUT: name0: A // CHECK:STDOUT: import_irs: // CHECK:STDOUT: 'import_ir(ApiForImpl)': {decl_id: inst, is_export: false} // CHECK:STDOUT: 'import_ir(Cpp)': {decl_id: inst, is_export: false} @@ -42,8 +44,12 @@ fn B() { // CHECK:STDOUT: functions: // CHECK:STDOUT: function60000000: {name: name0, parent_scope: name_scope0, call_param_patterns_id: inst_block_empty, call_params_id: inst_block_empty, body: [inst_block60000005]} // CHECK:STDOUT: classes: {} +// CHECK:STDOUT: interfaces: {} +// CHECK:STDOUT: associated_constants: {} +// CHECK:STDOUT: impls: {} // CHECK:STDOUT: generics: {} // CHECK:STDOUT: specifics: {} +// CHECK:STDOUT: specific_interfaces: {} // CHECK:STDOUT: struct_type_fields: // CHECK:STDOUT: struct_type_fields_empty: {} // CHECK:STDOUT: types: @@ -59,6 +65,7 @@ fn B() { // CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000012)} // CHECK:STDOUT: 'type(inst60000012)': // CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000012)} +// CHECK:STDOUT: facet_types: {} // CHECK:STDOUT: insts: // CHECK:STDOUT: instF: {kind: Namespace, arg0: name_scope0, arg1: inst, type: type(inst(NamespaceType))} // CHECK:STDOUT: inst60000010: {kind: FunctionDecl, arg0: function60000000, arg1: inst_block_empty, type: type(inst60000011)} @@ -86,10 +93,21 @@ fn B() { // CHECK:STDOUT: inst_block60000006: // CHECK:STDOUT: 0: instF // CHECK:STDOUT: 1: inst60000010 +// CHECK:STDOUT: value_stores: +// CHECK:STDOUT: shared_values: +// CHECK:STDOUT: ints: {} +// CHECK:STDOUT: reals: {} +// CHECK:STDOUT: floats: {} +// CHECK:STDOUT: identifiers: +// CHECK:STDOUT: identifier0: A +// CHECK:STDOUT: strings: {} // CHECK:STDOUT: ... // CHECK:STDOUT: --- // CHECK:STDOUT: filename: b.carbon // CHECK:STDOUT: sem_ir: +// CHECK:STDOUT: names: +// CHECK:STDOUT: name0: B +// CHECK:STDOUT: name1: A // CHECK:STDOUT: import_irs: // CHECK:STDOUT: 'import_ir(ApiForImpl)': {decl_id: inst, is_export: false} // CHECK:STDOUT: 'import_ir(Cpp)': {decl_id: inst, is_export: false} @@ -108,8 +126,12 @@ fn B() { // CHECK:STDOUT: function50000000: {name: name0, parent_scope: name_scope0, call_param_patterns_id: inst_block_empty, call_params_id: inst_block_empty, body: [inst_block50000005]} // CHECK:STDOUT: function50000001: {name: name1, parent_scope: name_scope50000001, call_param_patterns_id: inst_block_empty} // CHECK:STDOUT: classes: {} +// CHECK:STDOUT: interfaces: {} +// CHECK:STDOUT: associated_constants: {} +// CHECK:STDOUT: impls: {} // CHECK:STDOUT: generics: {} // CHECK:STDOUT: specifics: {} +// CHECK:STDOUT: specific_interfaces: {} // CHECK:STDOUT: struct_type_fields: // CHECK:STDOUT: struct_type_fields_empty: {} // CHECK:STDOUT: types: @@ -127,6 +149,7 @@ fn B() { // CHECK:STDOUT: value_repr: {kind: none, type: type(inst50000014)} // CHECK:STDOUT: 'type(inst(InstType))': // CHECK:STDOUT: value_repr: {kind: none, type: type(inst50000014)} +// CHECK:STDOUT: facet_types: {} // CHECK:STDOUT: insts: // CHECK:STDOUT: instF: {kind: Namespace, arg0: name_scope0, arg1: inst, type: type(inst(NamespaceType))} // CHECK:STDOUT: inst50000010: {kind: ImportDecl, arg0: name1} @@ -177,4 +200,13 @@ fn B() { // CHECK:STDOUT: 0: instF // CHECK:STDOUT: 1: inst50000010 // CHECK:STDOUT: 2: inst50000012 +// CHECK:STDOUT: value_stores: +// CHECK:STDOUT: shared_values: +// CHECK:STDOUT: ints: {} +// CHECK:STDOUT: reals: {} +// CHECK:STDOUT: floats: {} +// CHECK:STDOUT: identifiers: +// CHECK:STDOUT: identifier0: B +// CHECK:STDOUT: identifier1: A +// CHECK:STDOUT: strings: {} // CHECK:STDOUT: ... diff --git a/toolchain/check/testdata/basics/raw_sem_ir/multifile_with_textual_ir.carbon b/toolchain/check/testdata/basics/raw_sem_ir/multifile_with_textual_ir.carbon index 0eb792f2e704..5cb199be8526 100644 --- a/toolchain/check/testdata/basics/raw_sem_ir/multifile_with_textual_ir.carbon +++ b/toolchain/check/testdata/basics/raw_sem_ir/multifile_with_textual_ir.carbon @@ -30,6 +30,8 @@ fn B() { // CHECK:STDOUT: --- // CHECK:STDOUT: filename: a.carbon // CHECK:STDOUT: sem_ir: +// CHECK:STDOUT: names: +// CHECK:STDOUT: name0: A // CHECK:STDOUT: import_irs: // CHECK:STDOUT: 'import_ir(ApiForImpl)': {decl_id: inst, is_export: false} // CHECK:STDOUT: 'import_ir(Cpp)': {decl_id: inst, is_export: false} @@ -42,8 +44,12 @@ fn B() { // CHECK:STDOUT: functions: // CHECK:STDOUT: function60000000: {name: name0, parent_scope: name_scope0, call_param_patterns_id: inst_block_empty, call_params_id: inst_block_empty, body: [inst_block60000005]} // CHECK:STDOUT: classes: {} +// CHECK:STDOUT: interfaces: {} +// CHECK:STDOUT: associated_constants: {} +// CHECK:STDOUT: impls: {} // CHECK:STDOUT: generics: {} // CHECK:STDOUT: specifics: {} +// CHECK:STDOUT: specific_interfaces: {} // CHECK:STDOUT: struct_type_fields: // CHECK:STDOUT: struct_type_fields_empty: {} // CHECK:STDOUT: types: @@ -59,6 +65,7 @@ fn B() { // CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000012)} // CHECK:STDOUT: 'type(inst60000012)': // CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000012)} +// CHECK:STDOUT: facet_types: {} // CHECK:STDOUT: insts: // CHECK:STDOUT: instF: {kind: Namespace, arg0: name_scope0, arg1: inst, type: type(inst(NamespaceType))} // CHECK:STDOUT: inst60000010: {kind: FunctionDecl, arg0: function60000000, arg1: inst_block_empty, type: type(inst60000011)} @@ -86,6 +93,14 @@ fn B() { // CHECK:STDOUT: inst_block60000006: // CHECK:STDOUT: 0: instF // CHECK:STDOUT: 1: inst60000010 +// CHECK:STDOUT: value_stores: +// CHECK:STDOUT: shared_values: +// CHECK:STDOUT: ints: {} +// CHECK:STDOUT: reals: {} +// CHECK:STDOUT: floats: {} +// CHECK:STDOUT: identifiers: +// CHECK:STDOUT: identifier0: A +// CHECK:STDOUT: strings: {} // CHECK:STDOUT: ... // CHECK:STDOUT: --- a.carbon // CHECK:STDOUT: @@ -109,6 +124,9 @@ fn B() { // CHECK:STDOUT: --- // CHECK:STDOUT: filename: b.carbon // CHECK:STDOUT: sem_ir: +// CHECK:STDOUT: names: +// CHECK:STDOUT: name0: B +// CHECK:STDOUT: name1: A // CHECK:STDOUT: import_irs: // CHECK:STDOUT: 'import_ir(ApiForImpl)': {decl_id: inst, is_export: false} // CHECK:STDOUT: 'import_ir(Cpp)': {decl_id: inst, is_export: false} @@ -127,8 +145,12 @@ fn B() { // CHECK:STDOUT: function50000000: {name: name0, parent_scope: name_scope0, call_param_patterns_id: inst_block_empty, call_params_id: inst_block_empty, body: [inst_block50000005]} // CHECK:STDOUT: function50000001: {name: name1, parent_scope: name_scope50000001, call_param_patterns_id: inst_block_empty} // CHECK:STDOUT: classes: {} +// CHECK:STDOUT: interfaces: {} +// CHECK:STDOUT: associated_constants: {} +// CHECK:STDOUT: impls: {} // CHECK:STDOUT: generics: {} // CHECK:STDOUT: specifics: {} +// CHECK:STDOUT: specific_interfaces: {} // CHECK:STDOUT: struct_type_fields: // CHECK:STDOUT: struct_type_fields_empty: {} // CHECK:STDOUT: types: @@ -146,6 +168,7 @@ fn B() { // CHECK:STDOUT: value_repr: {kind: none, type: type(inst50000014)} // CHECK:STDOUT: 'type(inst(InstType))': // CHECK:STDOUT: value_repr: {kind: none, type: type(inst50000014)} +// CHECK:STDOUT: facet_types: {} // CHECK:STDOUT: insts: // CHECK:STDOUT: instF: {kind: Namespace, arg0: name_scope0, arg1: inst, type: type(inst(NamespaceType))} // CHECK:STDOUT: inst50000010: {kind: ImportDecl, arg0: name1} @@ -196,6 +219,15 @@ fn B() { // CHECK:STDOUT: 0: instF // CHECK:STDOUT: 1: inst50000010 // CHECK:STDOUT: 2: inst50000012 +// CHECK:STDOUT: value_stores: +// CHECK:STDOUT: shared_values: +// CHECK:STDOUT: ints: {} +// CHECK:STDOUT: reals: {} +// CHECK:STDOUT: floats: {} +// CHECK:STDOUT: identifiers: +// CHECK:STDOUT: identifier0: B +// CHECK:STDOUT: identifier1: A +// CHECK:STDOUT: strings: {} // CHECK:STDOUT: ... // CHECK:STDOUT: --- b.carbon // CHECK:STDOUT: diff --git a/toolchain/check/testdata/basics/raw_sem_ir/one_file.carbon b/toolchain/check/testdata/basics/raw_sem_ir/one_file.carbon index da3b0cbca6d8..55cd2625b363 100644 --- a/toolchain/check/testdata/basics/raw_sem_ir/one_file.carbon +++ b/toolchain/check/testdata/basics/raw_sem_ir/one_file.carbon @@ -20,6 +20,14 @@ fn Foo[T:! type](p: T*) -> (T*, ()) { // CHECK:STDOUT: --- // CHECK:STDOUT: filename: one_file.carbon // CHECK:STDOUT: sem_ir: +// CHECK:STDOUT: names: +// CHECK:STDOUT: name0: Foo +// CHECK:STDOUT: name1: T +// CHECK:STDOUT: name2: p +// CHECK:STDOUT: name3: Copy +// CHECK:STDOUT: name4: Op +// CHECK:STDOUT: name5: U +// CHECK:STDOUT: name6: V // CHECK:STDOUT: import_irs: // CHECK:STDOUT: 'import_ir(ApiForImpl)': {decl_id: inst, is_export: false} // CHECK:STDOUT: 'import_ir(Cpp)': {decl_id: inst, is_export: false} @@ -321,44 +329,60 @@ fn Foo[T:! type](p: T*) -> (T*, ()) { // CHECK:STDOUT: function60000004: {name: name4, parent_scope: name_scope6000000B, call_param_patterns_id: inst_block60000049, return_type_inst_id: inst600000E4, return_form_inst_id: inst600000E5, return_patterns_id: inst_block6000004B} // CHECK:STDOUT: function60000005: {name: name4, parent_scope: name_scope6000000C, call_param_patterns_id: inst_block60000063, return_type_inst_id: inst60000124, return_form_inst_id: inst60000125, return_patterns_id: inst_block60000065} // CHECK:STDOUT: classes: {} +// CHECK:STDOUT: interfaces: +// CHECK:STDOUT: interface60000000: {name: name3, parent_scope: name_scope60000001, require_impls_block_id: require_block_empty} +// CHECK:STDOUT: associated_constants: {} +// CHECK:STDOUT: impls: +// CHECK:STDOUT: impl60000000: {self: inst60000092, constraint: inst60000093, witness: inst60000069} +// CHECK:STDOUT: impl60000001: {self: inst6000009D, constraint: inst6000009E, witness: inst6000009B} +// CHECK:STDOUT: impl60000002: {self: inst600000A1, constraint: inst600000A2, witness: inst6000009F} +// CHECK:STDOUT: impl60000003: {self: inst600000A5, constraint: inst600000A6, witness: inst600000A3} +// CHECK:STDOUT: impl60000004: {self: inst600000A9, constraint: inst600000AA, witness: inst600000A7} +// CHECK:STDOUT: impl60000005: {self: inst600000B1, constraint: inst600000B2, witness: inst600000AB} +// CHECK:STDOUT: impl60000006: {self: inst600000CB, constraint: inst600000CC, witness: inst600000C9} +// CHECK:STDOUT: impl60000007: {self: inst600000CF, constraint: inst600000D0, witness: inst600000CD} +// CHECK:STDOUT: impl60000008: {self: inst60000104, constraint: inst60000105, witness: inst600000D1} +// CHECK:STDOUT: impl60000009: {self: inst6000014D, constraint: inst6000014E, witness: inst60000111} // CHECK:STDOUT: generics: -// CHECK:STDOUT: generic60000000: {decl: inst6000003C, bindings: inst_block60000014} -// CHECK:STDOUT: generic60000001: {decl: inst60000057, bindings: inst_block6000001E} -// CHECK:STDOUT: generic60000002: {decl: inst6000006A, bindings: inst_block60000030} -// CHECK:STDOUT: generic60000003: {decl: inst60000071, bindings: inst_block60000029} -// CHECK:STDOUT: generic60000004: {decl: inst600000AC, bindings: inst_block60000038} -// CHECK:STDOUT: generic60000005: {decl: inst600000B7, bindings: inst_block6000003E} -// CHECK:STDOUT: generic60000006: {decl: inst600000D2, bindings: inst_block60000056} -// CHECK:STDOUT: generic60000007: {decl: inst600000D9, bindings: inst_block6000004C} -// CHECK:STDOUT: generic60000008: {decl: inst60000112, bindings: inst_block60000071} -// CHECK:STDOUT: generic60000009: {decl: inst60000119, bindings: inst_block60000066} +// CHECK:STDOUT: generic60000000: {decl: inst6000003C, bindings: inst_block60000014, self_specific_id: specific60000000, decl_block_id: inst_block60000016, definition_block_id: inst_block60000081} +// CHECK:STDOUT: generic60000001: {decl: inst60000057, bindings: inst_block6000001E, self_specific_id: specific60000001, decl_block_id: inst_block6000001F, definition_block_id: inst_block} +// CHECK:STDOUT: generic60000002: {decl: inst6000006A, bindings: inst_block60000030, self_specific_id: specific60000002, decl_block_id: inst_block60000032, definition_block_id: inst_block60000034} +// CHECK:STDOUT: generic60000003: {decl: inst60000071, bindings: inst_block60000029, self_specific_id: specific60000004, decl_block_id: inst_block6000002A, definition_block_id: inst_block6000002D} +// CHECK:STDOUT: generic60000004: {decl: inst600000AC, bindings: inst_block60000038, self_specific_id: specific60000007, decl_block_id: inst_block6000003A, definition_block_id: inst_block60000042} +// CHECK:STDOUT: generic60000005: {decl: inst600000B7, bindings: inst_block6000003E, self_specific_id: specific60000009, decl_block_id: inst_block6000003F, definition_block_id: inst_block_empty} +// CHECK:STDOUT: generic60000006: {decl: inst600000D2, bindings: inst_block60000056, self_specific_id: specific6000000A, decl_block_id: inst_block6000005A, definition_block_id: inst_block6000005C} +// CHECK:STDOUT: generic60000007: {decl: inst600000D9, bindings: inst_block6000004C, self_specific_id: specific6000000C, decl_block_id: inst_block6000004E, definition_block_id: inst_block60000053} +// CHECK:STDOUT: generic60000008: {decl: inst60000112, bindings: inst_block60000071, self_specific_id: specific60000010, decl_block_id: inst_block60000075, definition_block_id: inst_block60000077} +// CHECK:STDOUT: generic60000009: {decl: inst60000119, bindings: inst_block60000066, self_specific_id: specific60000012, decl_block_id: inst_block60000068, definition_block_id: inst_block6000006E} // CHECK:STDOUT: specifics: -// CHECK:STDOUT: specific60000000: {generic: generic60000000, args: inst_block60000015} -// CHECK:STDOUT: specific60000001: {generic: generic60000001, args: inst_block60000020} -// CHECK:STDOUT: specific60000002: {generic: generic60000002, args: inst_block60000023} -// CHECK:STDOUT: specific60000003: {generic: generic60000001, args: inst_block60000023} -// CHECK:STDOUT: specific60000004: {generic: generic60000003, args: inst_block60000023} -// CHECK:STDOUT: specific60000005: {generic: generic60000001, args: inst_block6000002C} -// CHECK:STDOUT: specific60000006: {generic: generic60000002, args: inst_block60000031} -// CHECK:STDOUT: specific60000007: {generic: generic60000004, args: inst_block60000015} -// CHECK:STDOUT: specific60000008: {generic: generic60000004, args: inst_block60000039} -// CHECK:STDOUT: specific60000009: {generic: generic60000005, args: inst_block60000015} -// CHECK:STDOUT: specific6000000A: {generic: generic60000006, args: inst_block60000045} -// CHECK:STDOUT: specific6000000B: {generic: generic60000001, args: inst_block6000004F} -// CHECK:STDOUT: specific6000000C: {generic: generic60000007, args: inst_block60000045} -// CHECK:STDOUT: specific6000000D: {generic: generic60000001, args: inst_block60000051} -// CHECK:STDOUT: specific6000000E: {generic: generic60000001, args: inst_block60000052} -// CHECK:STDOUT: specific6000000F: {generic: generic60000006, args: inst_block60000057} -// CHECK:STDOUT: specific60000010: {generic: generic60000008, args: inst_block6000005F} -// CHECK:STDOUT: specific60000011: {generic: generic60000001, args: inst_block60000069} -// CHECK:STDOUT: specific60000012: {generic: generic60000009, args: inst_block6000005F} -// CHECK:STDOUT: specific60000013: {generic: generic60000001, args: inst_block6000006B} -// CHECK:STDOUT: specific60000014: {generic: generic60000001, args: inst_block6000006C} -// CHECK:STDOUT: specific60000015: {generic: generic60000001, args: inst_block6000006D} -// CHECK:STDOUT: specific60000016: {generic: generic60000008, args: inst_block60000072} -// CHECK:STDOUT: specific60000017: {generic: generic60000004, args: inst_block60000079} -// CHECK:STDOUT: specific60000018: {generic: generic60000001, args: inst_block6000007C} -// CHECK:STDOUT: specific60000019: {generic: generic60000001, args: inst_block6000007E} +// CHECK:STDOUT: specific60000000: {generic: generic60000000, args: inst_block60000015, decl_block_id: inst_block60000017, definition_block_id: inst_block} +// CHECK:STDOUT: specific60000001: {generic: generic60000001, args: inst_block60000020, decl_block_id: inst_block60000021, definition_block_id: inst_block} +// CHECK:STDOUT: specific60000002: {generic: generic60000002, args: inst_block60000023, decl_block_id: inst_block60000024, definition_block_id: inst_block60000025} +// CHECK:STDOUT: specific60000003: {generic: generic60000001, args: inst_block60000023, decl_block_id: inst_block6000002B, definition_block_id: inst_block} +// CHECK:STDOUT: specific60000004: {generic: generic60000003, args: inst_block60000023, decl_block_id: inst_block6000002E, definition_block_id: inst_block} +// CHECK:STDOUT: specific60000005: {generic: generic60000001, args: inst_block6000002C, decl_block_id: inst_block, definition_block_id: inst_block} +// CHECK:STDOUT: specific60000006: {generic: generic60000002, args: inst_block60000031, decl_block_id: inst_block, definition_block_id: inst_block} +// CHECK:STDOUT: specific60000007: {generic: generic60000004, args: inst_block60000015, decl_block_id: inst_block60000036, definition_block_id: inst_block60000078} +// CHECK:STDOUT: specific60000008: {generic: generic60000004, args: inst_block60000039, decl_block_id: inst_block, definition_block_id: inst_block} +// CHECK:STDOUT: specific60000009: {generic: generic60000005, args: inst_block60000015, decl_block_id: inst_block60000040, definition_block_id: inst_block} +// CHECK:STDOUT: specific6000000A: {generic: generic60000006, args: inst_block60000045, decl_block_id: inst_block60000047, definition_block_id: inst_block60000048} +// CHECK:STDOUT: specific6000000B: {generic: generic60000001, args: inst_block6000004F, decl_block_id: inst_block60000050, definition_block_id: inst_block} +// CHECK:STDOUT: specific6000000C: {generic: generic60000007, args: inst_block60000045, decl_block_id: inst_block60000054, definition_block_id: inst_block} +// CHECK:STDOUT: specific6000000D: {generic: generic60000001, args: inst_block60000051, decl_block_id: inst_block, definition_block_id: inst_block} +// CHECK:STDOUT: specific6000000E: {generic: generic60000001, args: inst_block60000052, decl_block_id: inst_block, definition_block_id: inst_block} +// CHECK:STDOUT: specific6000000F: {generic: generic60000006, args: inst_block60000057, decl_block_id: inst_block, definition_block_id: inst_block} +// CHECK:STDOUT: specific60000010: {generic: generic60000008, args: inst_block6000005F, decl_block_id: inst_block60000061, definition_block_id: inst_block60000062} +// CHECK:STDOUT: specific60000011: {generic: generic60000001, args: inst_block60000069, decl_block_id: inst_block6000006A, definition_block_id: inst_block} +// CHECK:STDOUT: specific60000012: {generic: generic60000009, args: inst_block6000005F, decl_block_id: inst_block6000006F, definition_block_id: inst_block} +// CHECK:STDOUT: specific60000013: {generic: generic60000001, args: inst_block6000006B, decl_block_id: inst_block, definition_block_id: inst_block} +// CHECK:STDOUT: specific60000014: {generic: generic60000001, args: inst_block6000006C, decl_block_id: inst_block, definition_block_id: inst_block} +// CHECK:STDOUT: specific60000015: {generic: generic60000001, args: inst_block6000006D, decl_block_id: inst_block, definition_block_id: inst_block} +// CHECK:STDOUT: specific60000016: {generic: generic60000008, args: inst_block60000072, decl_block_id: inst_block, definition_block_id: inst_block} +// CHECK:STDOUT: specific60000017: {generic: generic60000004, args: inst_block60000079, decl_block_id: inst_block, definition_block_id: inst_block} +// CHECK:STDOUT: specific60000018: {generic: generic60000001, args: inst_block6000007C, decl_block_id: inst_block6000007D, definition_block_id: inst_block} +// CHECK:STDOUT: specific60000019: {generic: generic60000001, args: inst_block6000007E, decl_block_id: inst_block, definition_block_id: inst_block} +// CHECK:STDOUT: specific_interfaces: +// CHECK:STDOUT: specific_interface60000000: {interface_id: interface60000000, specific_id: specific} // CHECK:STDOUT: struct_type_fields: // CHECK:STDOUT: struct_type_fields_empty: {} // CHECK:STDOUT: types: @@ -404,6 +428,9 @@ fn Foo[T:! type](p: T*) -> (T*, ()) { // CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000025)} // CHECK:STDOUT: 'type(inst(BoundMethodType))': // CHECK:STDOUT: value_repr: {kind: copy, type: type(inst(BoundMethodType))} +// CHECK:STDOUT: facet_types: +// CHECK:STDOUT: facet_type60000000: {} +// CHECK:STDOUT: facet_type60000001: {extends interface: interface60000000} // CHECK:STDOUT: insts: // CHECK:STDOUT: instF: {kind: Namespace, arg0: name_scope0, arg1: inst, type: type(inst(NamespaceType))} // CHECK:STDOUT: inst60000010: {kind: ImportDecl, arg0: name(Core)} @@ -1112,310 +1139,310 @@ fn Foo[T:! type](p: T*) -> (T*, ()) { // CHECK:STDOUT: inst60000172: concrete_constant(inst60000027) // CHECK:STDOUT: inst60000173: concrete_constant(inst60000027) // CHECK:STDOUT: symbolic_constants: -// CHECK:STDOUT: symbolic_constant60000000: {inst: inst60000014, generic: generic, index: generic_inst, kind: self} -// CHECK:STDOUT: symbolic_constant60000001: {inst: inst60000016, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000002: {inst: inst60000016, generic: generic60000000, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant60000003: {inst: inst6000001C, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000004: {inst: inst6000001C, generic: generic60000000, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant60000005: {inst: inst6000001F, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000006: {inst: inst6000001F, generic: generic60000000, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant60000007: {inst: inst6000002A, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000008: {inst: inst6000002A, generic: generic60000000, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant60000009: {inst: inst6000002E, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant6000000A: {inst: inst6000002E, generic: generic60000000, index: generic_inst_in_decl4, kind: checked} -// CHECK:STDOUT: symbolic_constant6000000B: {inst: inst60000032, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant6000000C: {inst: inst60000032, generic: generic60000000, index: generic_inst_in_decl5, kind: checked} -// CHECK:STDOUT: symbolic_constant6000000D: {inst: inst60000034, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant6000000E: {inst: inst60000034, generic: generic60000000, index: generic_inst_in_decl6, kind: checked} -// CHECK:STDOUT: symbolic_constant6000000F: {inst: inst6000003F, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000010: {inst: inst60000041, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000011: {inst: inst60000041, generic: generic60000000, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant60000012: {inst: inst60000044, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000013: {inst: inst60000044, generic: generic60000000, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant60000014: {inst: inst60000050, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000015: {inst: inst6000005A, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000016: {inst: inst6000005B, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000017: {inst: inst6000005B, generic: generic60000001, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant60000018: {inst: inst60000060, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000019: {inst: inst60000060, generic: generic60000001, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant6000001A: {inst: inst6000005A, generic: generic60000001, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant6000001B: {inst: inst60000050, generic: generic60000001, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant6000001C: {inst: inst60000060, generic: generic60000001, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant6000001D: {inst: inst6000005A, generic: generic60000001, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant6000001E: {inst: inst60000050, generic: generic60000001, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant6000001F: {inst: inst6000005A, generic: generic60000001, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant60000020: {inst: inst6000005B, generic: generic60000001, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant60000021: {inst: inst60000060, generic: generic60000001, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant60000022: {inst: inst6000006B, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000023: {inst: inst6000006C, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000024: {inst: inst6000006D, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000025: {inst: inst6000006D, generic: generic60000002, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant60000026: {inst: inst60000070, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000027: {inst: inst60000070, generic: generic60000002, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant60000028: {inst: inst60000072, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000029: {inst: inst60000073, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant6000002A: {inst: inst60000073, generic: generic60000002, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant6000002B: {inst: inst60000072, generic: generic60000002, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant6000002C: {inst: inst60000074, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant6000002D: {inst: inst60000074, generic: generic60000003, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant6000002E: {inst: inst60000079, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant6000002F: {inst: inst60000079, generic: generic60000003, index: generic_inst_in_decl4, kind: checked} -// CHECK:STDOUT: symbolic_constant60000030: {inst: inst6000006D, generic: generic60000003, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant60000031: {inst: inst6000006C, generic: generic60000003, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant60000032: {inst: inst6000006B, generic: generic60000003, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant60000033: {inst: inst6000006B, generic: generic60000002, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant60000034: {inst: inst60000079, generic: generic60000003, index: generic_inst_in_decl4, kind: checked} -// CHECK:STDOUT: symbolic_constant60000035: {inst: inst6000006D, generic: generic60000003, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant60000036: {inst: inst6000006B, generic: generic60000003, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant60000037: {inst: inst6000006C, generic: generic60000003, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant60000038: {inst: inst6000006D, generic: generic60000003, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant60000039: {inst: inst60000074, generic: generic60000003, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant6000003A: {inst: inst60000079, generic: generic60000003, index: generic_inst_in_decl4, kind: checked} -// CHECK:STDOUT: symbolic_constant6000003B: {inst: inst60000082, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant6000003C: {inst: inst60000083, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant6000003D: {inst: inst60000084, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant6000003E: {inst: inst60000085, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant6000003F: {inst: inst60000085, generic: generic60000003, index: generic_inst_in_def5, kind: checked} -// CHECK:STDOUT: symbolic_constant60000040: {inst: inst60000086, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000041: {inst: inst60000087, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000042: {inst: inst60000084, generic: generic60000003, index: generic_inst_in_def4, kind: checked} -// CHECK:STDOUT: symbolic_constant60000043: {inst: inst60000083, generic: generic60000003, index: generic_inst_in_def3, kind: checked} -// CHECK:STDOUT: symbolic_constant60000044: {inst: inst60000082, generic: generic60000003, index: generic_inst_in_def2, kind: checked} -// CHECK:STDOUT: symbolic_constant60000045: {inst: inst60000088, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000046: {inst: inst60000088, generic: generic60000003, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant60000047: {inst: inst60000089, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000048: {inst: inst60000089, generic: generic60000003, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant60000049: {inst: inst60000089, generic: generic60000003, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant6000004A: {inst: inst60000088, generic: generic60000003, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant6000004B: {inst: inst60000082, generic: generic60000003, index: generic_inst_in_def2, kind: checked} -// CHECK:STDOUT: symbolic_constant6000004C: {inst: inst60000083, generic: generic60000003, index: generic_inst_in_def3, kind: checked} -// CHECK:STDOUT: symbolic_constant6000004D: {inst: inst60000084, generic: generic60000003, index: generic_inst_in_def4, kind: checked} -// CHECK:STDOUT: symbolic_constant6000004E: {inst: inst60000085, generic: generic60000003, index: generic_inst_in_def5, kind: checked} -// CHECK:STDOUT: symbolic_constant6000004F: {inst: inst6000006D, generic: generic60000002, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant60000050: {inst: inst6000006C, generic: generic60000002, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant60000051: {inst: inst6000006B, generic: generic60000002, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant60000052: {inst: inst6000006B, generic: generic60000002, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant60000053: {inst: inst6000006C, generic: generic60000002, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant60000054: {inst: inst6000006D, generic: generic60000002, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant60000055: {inst: inst60000070, generic: generic60000002, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant60000056: {inst: inst60000073, generic: generic60000002, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant60000057: {inst: inst60000072, generic: generic60000002, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant60000058: {inst: inst60000073, generic: generic60000002, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant60000059: {inst: inst6000001C, generic: generic60000004, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant6000005A: {inst: inst600000AF, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant6000005B: {inst: inst600000AF, generic: generic60000004, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant6000005C: {inst: inst6000001C, generic: generic60000004, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant6000005D: {inst: inst60000016, generic: generic60000004, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant6000005E: {inst: inst60000016, generic: generic60000004, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant6000005F: {inst: inst60000016, generic: generic60000004, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant60000060: {inst: inst6000001C, generic: generic60000004, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant60000061: {inst: inst600000AF, generic: generic60000004, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant60000062: {inst: inst60000044, generic: generic60000004, index: generic_inst_in_def2, kind: checked} -// CHECK:STDOUT: symbolic_constant60000063: {inst: inst600000B8, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000064: {inst: inst600000B9, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000065: {inst: inst600000B9, generic: generic60000004, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant60000066: {inst: inst600000B8, generic: generic60000004, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant60000067: {inst: inst6000001F, generic: generic60000005, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant60000068: {inst: inst600000BE, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000069: {inst: inst600000BE, generic: generic60000005, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant6000006A: {inst: inst6000001C, generic: generic60000005, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant6000006B: {inst: inst60000016, generic: generic60000005, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant6000006C: {inst: inst600000BE, generic: generic60000005, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant6000006D: {inst: inst6000001C, generic: generic60000005, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant6000006E: {inst: inst60000016, generic: generic60000005, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant6000006F: {inst: inst6000001C, generic: generic60000005, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant60000070: {inst: inst6000001F, generic: generic60000005, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant60000071: {inst: inst600000BE, generic: generic60000005, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant60000072: {inst: inst600000B9, generic: generic60000004, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant60000073: {inst: inst600000B8, generic: generic60000004, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant60000074: {inst: inst600000B9, generic: generic60000004, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant60000075: {inst: inst60000044, generic: generic60000004, index: generic_inst_in_def2, kind: checked} -// CHECK:STDOUT: symbolic_constant60000076: {inst: inst600000D3, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000077: {inst: inst600000D4, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000078: {inst: inst600000D5, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000079: {inst: inst600000D5, generic: generic60000006, index: generic_inst_in_decl5, kind: checked} -// CHECK:STDOUT: symbolic_constant6000007A: {inst: inst600000D8, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant6000007B: {inst: inst600000D8, generic: generic60000006, index: generic_inst_in_decl6, kind: checked} -// CHECK:STDOUT: symbolic_constant6000007C: {inst: inst600000DA, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant6000007D: {inst: inst600000DB, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant6000007E: {inst: inst600000DB, generic: generic60000006, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant6000007F: {inst: inst600000DA, generic: generic60000006, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant60000080: {inst: inst600000DD, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000081: {inst: inst600000DE, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000082: {inst: inst600000DE, generic: generic60000007, index: generic_inst_in_decl5, kind: checked} -// CHECK:STDOUT: symbolic_constant60000083: {inst: inst600000E3, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000084: {inst: inst600000E3, generic: generic60000007, index: generic_inst_in_decl6, kind: checked} -// CHECK:STDOUT: symbolic_constant60000085: {inst: inst600000D5, generic: generic60000007, index: generic_inst_in_decl4, kind: checked} -// CHECK:STDOUT: symbolic_constant60000086: {inst: inst600000D4, generic: generic60000007, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant60000087: {inst: inst600000D3, generic: generic60000007, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant60000088: {inst: inst6000006C, generic: generic60000007, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant60000089: {inst: inst6000006B, generic: generic60000007, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant6000008A: {inst: inst600000D3, generic: generic60000006, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant6000008B: {inst: inst6000006B, generic: generic60000006, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant6000008C: {inst: inst600000E3, generic: generic60000007, index: generic_inst_in_decl6, kind: checked} -// CHECK:STDOUT: symbolic_constant6000008D: {inst: inst600000D5, generic: generic60000007, index: generic_inst_in_decl4, kind: checked} -// CHECK:STDOUT: symbolic_constant6000008E: {inst: inst6000006B, generic: generic60000007, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant6000008F: {inst: inst6000006C, generic: generic60000007, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant60000090: {inst: inst600000D3, generic: generic60000007, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant60000091: {inst: inst600000D4, generic: generic60000007, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant60000092: {inst: inst600000D5, generic: generic60000007, index: generic_inst_in_decl4, kind: checked} -// CHECK:STDOUT: symbolic_constant60000093: {inst: inst600000DE, generic: generic60000007, index: generic_inst_in_decl5, kind: checked} -// CHECK:STDOUT: symbolic_constant60000094: {inst: inst600000E3, generic: generic60000007, index: generic_inst_in_decl6, kind: checked} -// CHECK:STDOUT: symbolic_constant60000095: {inst: inst600000EF, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000096: {inst: inst600000F0, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000097: {inst: inst600000F1, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000098: {inst: inst600000F2, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000099: {inst: inst600000F2, generic: generic60000007, index: generic_inst_in_def10, kind: checked} -// CHECK:STDOUT: symbolic_constant6000009A: {inst: inst600000F3, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant6000009B: {inst: inst600000F4, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant6000009C: {inst: inst600000F1, generic: generic60000007, index: generic_inst_in_def9, kind: checked} -// CHECK:STDOUT: symbolic_constant6000009D: {inst: inst600000F0, generic: generic60000007, index: generic_inst_in_def8, kind: checked} -// CHECK:STDOUT: symbolic_constant6000009E: {inst: inst600000EF, generic: generic60000007, index: generic_inst_in_def7, kind: checked} -// CHECK:STDOUT: symbolic_constant6000009F: {inst: inst600000F5, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant600000A0: {inst: inst600000F5, generic: generic60000007, index: generic_inst_in_def6, kind: checked} -// CHECK:STDOUT: symbolic_constant600000A1: {inst: inst60000085, generic: generic60000007, index: generic_inst_in_def5, kind: checked} -// CHECK:STDOUT: symbolic_constant600000A2: {inst: inst60000084, generic: generic60000007, index: generic_inst_in_def4, kind: checked} -// CHECK:STDOUT: symbolic_constant600000A3: {inst: inst60000083, generic: generic60000007, index: generic_inst_in_def3, kind: checked} -// CHECK:STDOUT: symbolic_constant600000A4: {inst: inst60000082, generic: generic60000007, index: generic_inst_in_def2, kind: checked} -// CHECK:STDOUT: symbolic_constant600000A5: {inst: inst60000088, generic: generic60000007, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant600000A6: {inst: inst600000F6, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant600000A7: {inst: inst600000F6, generic: generic60000007, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant600000A8: {inst: inst600000F6, generic: generic60000007, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant600000A9: {inst: inst60000088, generic: generic60000007, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant600000AA: {inst: inst60000082, generic: generic60000007, index: generic_inst_in_def2, kind: checked} -// CHECK:STDOUT: symbolic_constant600000AB: {inst: inst60000083, generic: generic60000007, index: generic_inst_in_def3, kind: checked} -// CHECK:STDOUT: symbolic_constant600000AC: {inst: inst60000084, generic: generic60000007, index: generic_inst_in_def4, kind: checked} -// CHECK:STDOUT: symbolic_constant600000AD: {inst: inst60000085, generic: generic60000007, index: generic_inst_in_def5, kind: checked} -// CHECK:STDOUT: symbolic_constant600000AE: {inst: inst600000F5, generic: generic60000007, index: generic_inst_in_def6, kind: checked} -// CHECK:STDOUT: symbolic_constant600000AF: {inst: inst600000EF, generic: generic60000007, index: generic_inst_in_def7, kind: checked} -// CHECK:STDOUT: symbolic_constant600000B0: {inst: inst600000F0, generic: generic60000007, index: generic_inst_in_def8, kind: checked} -// CHECK:STDOUT: symbolic_constant600000B1: {inst: inst600000F1, generic: generic60000007, index: generic_inst_in_def9, kind: checked} -// CHECK:STDOUT: symbolic_constant600000B2: {inst: inst600000F2, generic: generic60000007, index: generic_inst_in_def10, kind: checked} -// CHECK:STDOUT: symbolic_constant600000B3: {inst: inst600000D5, generic: generic60000006, index: generic_inst_in_decl5, kind: checked} -// CHECK:STDOUT: symbolic_constant600000B4: {inst: inst600000D4, generic: generic60000006, index: generic_inst_in_decl4, kind: checked} -// CHECK:STDOUT: symbolic_constant600000B5: {inst: inst6000006C, generic: generic60000006, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant600000B6: {inst: inst600000DD, generic: generic60000006, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant600000B7: {inst: inst600000D3, generic: generic60000006, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant600000B8: {inst: inst6000006B, generic: generic60000006, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant600000B9: {inst: inst6000006B, generic: generic60000006, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant600000BA: {inst: inst600000D3, generic: generic60000006, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant600000BB: {inst: inst600000DD, generic: generic60000006, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant600000BC: {inst: inst6000006C, generic: generic60000006, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant600000BD: {inst: inst600000D4, generic: generic60000006, index: generic_inst_in_decl4, kind: checked} -// CHECK:STDOUT: symbolic_constant600000BE: {inst: inst600000D5, generic: generic60000006, index: generic_inst_in_decl5, kind: checked} -// CHECK:STDOUT: symbolic_constant600000BF: {inst: inst600000D8, generic: generic60000006, index: generic_inst_in_decl6, kind: checked} -// CHECK:STDOUT: symbolic_constant600000C0: {inst: inst600000DB, generic: generic60000006, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant600000C1: {inst: inst600000DA, generic: generic60000006, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant600000C2: {inst: inst600000DB, generic: generic60000006, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant600000C3: {inst: inst60000113, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant600000C4: {inst: inst60000114, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant600000C5: {inst: inst60000115, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant600000C6: {inst: inst60000115, generic: generic60000008, index: generic_inst_in_decl7, kind: checked} -// CHECK:STDOUT: symbolic_constant600000C7: {inst: inst60000118, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant600000C8: {inst: inst60000118, generic: generic60000008, index: generic_inst_in_decl8, kind: checked} -// CHECK:STDOUT: symbolic_constant600000C9: {inst: inst6000011A, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant600000CA: {inst: inst6000011B, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant600000CB: {inst: inst6000011B, generic: generic60000008, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant600000CC: {inst: inst6000011A, generic: generic60000008, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant600000CD: {inst: inst6000011D, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant600000CE: {inst: inst6000011E, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant600000CF: {inst: inst6000011E, generic: generic60000009, index: generic_inst_in_decl7, kind: checked} -// CHECK:STDOUT: symbolic_constant600000D0: {inst: inst60000123, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant600000D1: {inst: inst60000123, generic: generic60000009, index: generic_inst_in_decl8, kind: checked} -// CHECK:STDOUT: symbolic_constant600000D2: {inst: inst60000115, generic: generic60000009, index: generic_inst_in_decl6, kind: checked} -// CHECK:STDOUT: symbolic_constant600000D3: {inst: inst60000114, generic: generic60000009, index: generic_inst_in_decl5, kind: checked} -// CHECK:STDOUT: symbolic_constant600000D4: {inst: inst60000113, generic: generic60000009, index: generic_inst_in_decl4, kind: checked} -// CHECK:STDOUT: symbolic_constant600000D5: {inst: inst600000D4, generic: generic60000009, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant600000D6: {inst: inst600000D3, generic: generic60000009, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant600000D7: {inst: inst6000006C, generic: generic60000009, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant600000D8: {inst: inst6000006B, generic: generic60000009, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant600000D9: {inst: inst60000113, generic: generic60000008, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant600000DA: {inst: inst600000D3, generic: generic60000008, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant600000DB: {inst: inst6000006B, generic: generic60000008, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant600000DC: {inst: inst60000123, generic: generic60000009, index: generic_inst_in_decl8, kind: checked} -// CHECK:STDOUT: symbolic_constant600000DD: {inst: inst60000115, generic: generic60000009, index: generic_inst_in_decl6, kind: checked} -// CHECK:STDOUT: symbolic_constant600000DE: {inst: inst6000006B, generic: generic60000009, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant600000DF: {inst: inst6000006C, generic: generic60000009, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant600000E0: {inst: inst600000D3, generic: generic60000009, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant600000E1: {inst: inst600000D4, generic: generic60000009, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant600000E2: {inst: inst60000113, generic: generic60000009, index: generic_inst_in_decl4, kind: checked} -// CHECK:STDOUT: symbolic_constant600000E3: {inst: inst60000114, generic: generic60000009, index: generic_inst_in_decl5, kind: checked} -// CHECK:STDOUT: symbolic_constant600000E4: {inst: inst60000115, generic: generic60000009, index: generic_inst_in_decl6, kind: checked} -// CHECK:STDOUT: symbolic_constant600000E5: {inst: inst6000011E, generic: generic60000009, index: generic_inst_in_decl7, kind: checked} -// CHECK:STDOUT: symbolic_constant600000E6: {inst: inst60000123, generic: generic60000009, index: generic_inst_in_decl8, kind: checked} -// CHECK:STDOUT: symbolic_constant600000E7: {inst: inst60000132, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant600000E8: {inst: inst60000133, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant600000E9: {inst: inst60000134, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant600000EA: {inst: inst60000135, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant600000EB: {inst: inst60000135, generic: generic60000009, index: generic_inst_in_def15, kind: checked} -// CHECK:STDOUT: symbolic_constant600000EC: {inst: inst60000136, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant600000ED: {inst: inst60000137, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant600000EE: {inst: inst60000134, generic: generic60000009, index: generic_inst_in_def14, kind: checked} -// CHECK:STDOUT: symbolic_constant600000EF: {inst: inst60000133, generic: generic60000009, index: generic_inst_in_def13, kind: checked} -// CHECK:STDOUT: symbolic_constant600000F0: {inst: inst60000132, generic: generic60000009, index: generic_inst_in_def12, kind: checked} -// CHECK:STDOUT: symbolic_constant600000F1: {inst: inst60000138, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant600000F2: {inst: inst60000138, generic: generic60000009, index: generic_inst_in_def11, kind: checked} -// CHECK:STDOUT: symbolic_constant600000F3: {inst: inst600000F2, generic: generic60000009, index: generic_inst_in_def10, kind: checked} -// CHECK:STDOUT: symbolic_constant600000F4: {inst: inst600000F1, generic: generic60000009, index: generic_inst_in_def9, kind: checked} -// CHECK:STDOUT: symbolic_constant600000F5: {inst: inst600000F0, generic: generic60000009, index: generic_inst_in_def8, kind: checked} -// CHECK:STDOUT: symbolic_constant600000F6: {inst: inst600000EF, generic: generic60000009, index: generic_inst_in_def7, kind: checked} -// CHECK:STDOUT: symbolic_constant600000F7: {inst: inst600000F5, generic: generic60000009, index: generic_inst_in_def6, kind: checked} -// CHECK:STDOUT: symbolic_constant600000F8: {inst: inst60000085, generic: generic60000009, index: generic_inst_in_def5, kind: checked} -// CHECK:STDOUT: symbolic_constant600000F9: {inst: inst60000084, generic: generic60000009, index: generic_inst_in_def4, kind: checked} -// CHECK:STDOUT: symbolic_constant600000FA: {inst: inst60000083, generic: generic60000009, index: generic_inst_in_def3, kind: checked} -// CHECK:STDOUT: symbolic_constant600000FB: {inst: inst60000082, generic: generic60000009, index: generic_inst_in_def2, kind: checked} -// CHECK:STDOUT: symbolic_constant600000FC: {inst: inst60000088, generic: generic60000009, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant600000FD: {inst: inst60000139, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant600000FE: {inst: inst60000139, generic: generic60000009, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant600000FF: {inst: inst60000139, generic: generic60000009, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant60000100: {inst: inst60000088, generic: generic60000009, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant60000101: {inst: inst60000082, generic: generic60000009, index: generic_inst_in_def2, kind: checked} -// CHECK:STDOUT: symbolic_constant60000102: {inst: inst60000083, generic: generic60000009, index: generic_inst_in_def3, kind: checked} -// CHECK:STDOUT: symbolic_constant60000103: {inst: inst60000084, generic: generic60000009, index: generic_inst_in_def4, kind: checked} -// CHECK:STDOUT: symbolic_constant60000104: {inst: inst60000085, generic: generic60000009, index: generic_inst_in_def5, kind: checked} -// CHECK:STDOUT: symbolic_constant60000105: {inst: inst600000F5, generic: generic60000009, index: generic_inst_in_def6, kind: checked} -// CHECK:STDOUT: symbolic_constant60000106: {inst: inst600000EF, generic: generic60000009, index: generic_inst_in_def7, kind: checked} -// CHECK:STDOUT: symbolic_constant60000107: {inst: inst600000F0, generic: generic60000009, index: generic_inst_in_def8, kind: checked} -// CHECK:STDOUT: symbolic_constant60000108: {inst: inst600000F1, generic: generic60000009, index: generic_inst_in_def9, kind: checked} -// CHECK:STDOUT: symbolic_constant60000109: {inst: inst600000F2, generic: generic60000009, index: generic_inst_in_def10, kind: checked} -// CHECK:STDOUT: symbolic_constant6000010A: {inst: inst60000138, generic: generic60000009, index: generic_inst_in_def11, kind: checked} -// CHECK:STDOUT: symbolic_constant6000010B: {inst: inst60000132, generic: generic60000009, index: generic_inst_in_def12, kind: checked} -// CHECK:STDOUT: symbolic_constant6000010C: {inst: inst60000133, generic: generic60000009, index: generic_inst_in_def13, kind: checked} -// CHECK:STDOUT: symbolic_constant6000010D: {inst: inst60000134, generic: generic60000009, index: generic_inst_in_def14, kind: checked} -// CHECK:STDOUT: symbolic_constant6000010E: {inst: inst60000135, generic: generic60000009, index: generic_inst_in_def15, kind: checked} -// CHECK:STDOUT: symbolic_constant6000010F: {inst: inst60000115, generic: generic60000008, index: generic_inst_in_decl7, kind: checked} -// CHECK:STDOUT: symbolic_constant60000110: {inst: inst60000114, generic: generic60000008, index: generic_inst_in_decl6, kind: checked} -// CHECK:STDOUT: symbolic_constant60000111: {inst: inst600000D4, generic: generic60000008, index: generic_inst_in_decl5, kind: checked} -// CHECK:STDOUT: symbolic_constant60000112: {inst: inst6000006C, generic: generic60000008, index: generic_inst_in_decl4, kind: checked} -// CHECK:STDOUT: symbolic_constant60000113: {inst: inst6000011D, generic: generic60000008, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant60000114: {inst: inst60000113, generic: generic60000008, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant60000115: {inst: inst600000D3, generic: generic60000008, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant60000116: {inst: inst6000006B, generic: generic60000008, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant60000117: {inst: inst6000006B, generic: generic60000008, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant60000118: {inst: inst600000D3, generic: generic60000008, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant60000119: {inst: inst60000113, generic: generic60000008, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant6000011A: {inst: inst6000011D, generic: generic60000008, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant6000011B: {inst: inst6000006C, generic: generic60000008, index: generic_inst_in_decl4, kind: checked} -// CHECK:STDOUT: symbolic_constant6000011C: {inst: inst600000D4, generic: generic60000008, index: generic_inst_in_decl5, kind: checked} -// CHECK:STDOUT: symbolic_constant6000011D: {inst: inst60000114, generic: generic60000008, index: generic_inst_in_decl6, kind: checked} -// CHECK:STDOUT: symbolic_constant6000011E: {inst: inst60000115, generic: generic60000008, index: generic_inst_in_decl7, kind: checked} -// CHECK:STDOUT: symbolic_constant6000011F: {inst: inst60000118, generic: generic60000008, index: generic_inst_in_decl8, kind: checked} -// CHECK:STDOUT: symbolic_constant60000120: {inst: inst6000011B, generic: generic60000008, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant60000121: {inst: inst6000011A, generic: generic60000008, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant60000122: {inst: inst6000011B, generic: generic60000008, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant60000123: {inst: inst600000AF, generic: generic60000004, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant60000124: {inst: inst6000015E, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000125: {inst: inst6000015E, generic: generic60000000, index: generic_inst_in_def2, kind: checked} -// CHECK:STDOUT: symbolic_constant60000126: {inst: inst60000160, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000127: {inst: inst60000160, generic: generic60000000, index: generic_inst_in_def3, kind: checked} -// CHECK:STDOUT: symbolic_constant60000128: {inst: inst60000162, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000129: {inst: inst60000163, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant6000012A: {inst: inst60000165, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant6000012B: {inst: inst60000162, generic: generic60000000, index: generic_inst_in_def4, kind: checked} -// CHECK:STDOUT: symbolic_constant6000012C: {inst: inst60000163, generic: generic60000000, index: generic_inst_in_def5, kind: checked} -// CHECK:STDOUT: symbolic_constant6000012D: {inst: inst60000165, generic: generic60000000, index: generic_inst_in_def6, kind: checked} -// CHECK:STDOUT: symbolic_constant6000012E: {inst: inst6000016B, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant6000012F: {inst: inst6000016B, generic: generic60000000, index: generic_inst_in_def7, kind: checked} +// CHECK:STDOUT: symbolic_constant60000000: {inst: inst60000014, kind: self, attached: null} +// CHECK:STDOUT: symbolic_constant60000001: {inst: inst60000016, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000002: {inst: inst60000016, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant60000003: {inst: inst6000001C, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000004: {inst: inst6000001C, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant60000005: {inst: inst6000001F, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000006: {inst: inst6000001F, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant60000007: {inst: inst6000002A, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000008: {inst: inst6000002A, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant60000009: {inst: inst6000002E, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant6000000A: {inst: inst6000002E, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant6000000B: {inst: inst60000032, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant6000000C: {inst: inst60000032, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant6000000D: {inst: inst60000034, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant6000000E: {inst: inst60000034, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant6000000F: {inst: inst6000003F, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000010: {inst: inst60000041, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000011: {inst: inst60000041, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant60000012: {inst: inst60000044, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000013: {inst: inst60000044, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant60000014: {inst: inst60000050, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000015: {inst: inst6000005A, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000016: {inst: inst6000005B, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000017: {inst: inst6000005B, kind: checked, attached: {generic: generic60000001, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant60000018: {inst: inst60000060, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000019: {inst: inst60000060, kind: checked, attached: {generic: generic60000001, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant6000001A: {inst: inst6000005A, kind: checked, attached: {generic: generic60000001, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant6000001B: {inst: inst60000050, kind: checked, attached: {generic: generic60000001, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant6000001C: {inst: inst60000060, kind: checked, attached: {generic: generic60000001, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant6000001D: {inst: inst6000005A, kind: checked, attached: {generic: generic60000001, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant6000001E: {inst: inst60000050, kind: checked, attached: {generic: generic60000001, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant6000001F: {inst: inst6000005A, kind: checked, attached: {generic: generic60000001, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant60000020: {inst: inst6000005B, kind: checked, attached: {generic: generic60000001, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant60000021: {inst: inst60000060, kind: checked, attached: {generic: generic60000001, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant60000022: {inst: inst6000006B, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000023: {inst: inst6000006C, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000024: {inst: inst6000006D, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000025: {inst: inst6000006D, kind: checked, attached: {generic: generic60000002, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant60000026: {inst: inst60000070, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000027: {inst: inst60000070, kind: checked, attached: {generic: generic60000002, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant60000028: {inst: inst60000072, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000029: {inst: inst60000073, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant6000002A: {inst: inst60000073, kind: checked, attached: {generic: generic60000002, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant6000002B: {inst: inst60000072, kind: checked, attached: {generic: generic60000002, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant6000002C: {inst: inst60000074, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant6000002D: {inst: inst60000074, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant6000002E: {inst: inst60000079, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant6000002F: {inst: inst60000079, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant60000030: {inst: inst6000006D, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant60000031: {inst: inst6000006C, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant60000032: {inst: inst6000006B, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant60000033: {inst: inst6000006B, kind: checked, attached: {generic: generic60000002, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant60000034: {inst: inst60000079, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant60000035: {inst: inst6000006D, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant60000036: {inst: inst6000006B, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant60000037: {inst: inst6000006C, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant60000038: {inst: inst6000006D, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant60000039: {inst: inst60000074, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant6000003A: {inst: inst60000079, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant6000003B: {inst: inst60000082, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant6000003C: {inst: inst60000083, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant6000003D: {inst: inst60000084, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant6000003E: {inst: inst60000085, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant6000003F: {inst: inst60000085, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_def5}} +// CHECK:STDOUT: symbolic_constant60000040: {inst: inst60000086, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000041: {inst: inst60000087, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000042: {inst: inst60000084, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_def4}} +// CHECK:STDOUT: symbolic_constant60000043: {inst: inst60000083, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_def3}} +// CHECK:STDOUT: symbolic_constant60000044: {inst: inst60000082, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant60000045: {inst: inst60000088, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000046: {inst: inst60000088, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant60000047: {inst: inst60000089, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000048: {inst: inst60000089, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant60000049: {inst: inst60000089, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant6000004A: {inst: inst60000088, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant6000004B: {inst: inst60000082, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant6000004C: {inst: inst60000083, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_def3}} +// CHECK:STDOUT: symbolic_constant6000004D: {inst: inst60000084, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_def4}} +// CHECK:STDOUT: symbolic_constant6000004E: {inst: inst60000085, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_def5}} +// CHECK:STDOUT: symbolic_constant6000004F: {inst: inst6000006D, kind: checked, attached: {generic: generic60000002, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant60000050: {inst: inst6000006C, kind: checked, attached: {generic: generic60000002, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant60000051: {inst: inst6000006B, kind: checked, attached: {generic: generic60000002, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant60000052: {inst: inst6000006B, kind: checked, attached: {generic: generic60000002, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant60000053: {inst: inst6000006C, kind: checked, attached: {generic: generic60000002, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant60000054: {inst: inst6000006D, kind: checked, attached: {generic: generic60000002, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant60000055: {inst: inst60000070, kind: checked, attached: {generic: generic60000002, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant60000056: {inst: inst60000073, kind: checked, attached: {generic: generic60000002, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant60000057: {inst: inst60000072, kind: checked, attached: {generic: generic60000002, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant60000058: {inst: inst60000073, kind: checked, attached: {generic: generic60000002, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant60000059: {inst: inst6000001C, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant6000005A: {inst: inst600000AF, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant6000005B: {inst: inst600000AF, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant6000005C: {inst: inst6000001C, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant6000005D: {inst: inst60000016, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant6000005E: {inst: inst60000016, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant6000005F: {inst: inst60000016, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant60000060: {inst: inst6000001C, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant60000061: {inst: inst600000AF, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant60000062: {inst: inst60000044, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant60000063: {inst: inst600000B8, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000064: {inst: inst600000B9, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000065: {inst: inst600000B9, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant60000066: {inst: inst600000B8, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant60000067: {inst: inst6000001F, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant60000068: {inst: inst600000BE, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000069: {inst: inst600000BE, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant6000006A: {inst: inst6000001C, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant6000006B: {inst: inst60000016, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant6000006C: {inst: inst600000BE, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant6000006D: {inst: inst6000001C, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant6000006E: {inst: inst60000016, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant6000006F: {inst: inst6000001C, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant60000070: {inst: inst6000001F, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant60000071: {inst: inst600000BE, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant60000072: {inst: inst600000B9, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant60000073: {inst: inst600000B8, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant60000074: {inst: inst600000B9, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant60000075: {inst: inst60000044, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant60000076: {inst: inst600000D3, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000077: {inst: inst600000D4, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000078: {inst: inst600000D5, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000079: {inst: inst600000D5, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant6000007A: {inst: inst600000D8, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant6000007B: {inst: inst600000D8, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant6000007C: {inst: inst600000DA, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant6000007D: {inst: inst600000DB, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant6000007E: {inst: inst600000DB, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant6000007F: {inst: inst600000DA, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant60000080: {inst: inst600000DD, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000081: {inst: inst600000DE, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000082: {inst: inst600000DE, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant60000083: {inst: inst600000E3, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000084: {inst: inst600000E3, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant60000085: {inst: inst600000D5, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant60000086: {inst: inst600000D4, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant60000087: {inst: inst600000D3, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant60000088: {inst: inst6000006C, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant60000089: {inst: inst6000006B, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant6000008A: {inst: inst600000D3, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant6000008B: {inst: inst6000006B, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant6000008C: {inst: inst600000E3, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant6000008D: {inst: inst600000D5, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant6000008E: {inst: inst6000006B, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant6000008F: {inst: inst6000006C, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant60000090: {inst: inst600000D3, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant60000091: {inst: inst600000D4, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant60000092: {inst: inst600000D5, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant60000093: {inst: inst600000DE, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant60000094: {inst: inst600000E3, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant60000095: {inst: inst600000EF, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000096: {inst: inst600000F0, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000097: {inst: inst600000F1, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000098: {inst: inst600000F2, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000099: {inst: inst600000F2, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_def10}} +// CHECK:STDOUT: symbolic_constant6000009A: {inst: inst600000F3, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant6000009B: {inst: inst600000F4, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant6000009C: {inst: inst600000F1, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_def9}} +// CHECK:STDOUT: symbolic_constant6000009D: {inst: inst600000F0, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_def8}} +// CHECK:STDOUT: symbolic_constant6000009E: {inst: inst600000EF, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_def7}} +// CHECK:STDOUT: symbolic_constant6000009F: {inst: inst600000F5, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000A0: {inst: inst600000F5, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_def6}} +// CHECK:STDOUT: symbolic_constant600000A1: {inst: inst60000085, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_def5}} +// CHECK:STDOUT: symbolic_constant600000A2: {inst: inst60000084, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_def4}} +// CHECK:STDOUT: symbolic_constant600000A3: {inst: inst60000083, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_def3}} +// CHECK:STDOUT: symbolic_constant600000A4: {inst: inst60000082, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant600000A5: {inst: inst60000088, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant600000A6: {inst: inst600000F6, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000A7: {inst: inst600000F6, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant600000A8: {inst: inst600000F6, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant600000A9: {inst: inst60000088, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant600000AA: {inst: inst60000082, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant600000AB: {inst: inst60000083, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_def3}} +// CHECK:STDOUT: symbolic_constant600000AC: {inst: inst60000084, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_def4}} +// CHECK:STDOUT: symbolic_constant600000AD: {inst: inst60000085, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_def5}} +// CHECK:STDOUT: symbolic_constant600000AE: {inst: inst600000F5, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_def6}} +// CHECK:STDOUT: symbolic_constant600000AF: {inst: inst600000EF, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_def7}} +// CHECK:STDOUT: symbolic_constant600000B0: {inst: inst600000F0, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_def8}} +// CHECK:STDOUT: symbolic_constant600000B1: {inst: inst600000F1, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_def9}} +// CHECK:STDOUT: symbolic_constant600000B2: {inst: inst600000F2, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_def10}} +// CHECK:STDOUT: symbolic_constant600000B3: {inst: inst600000D5, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant600000B4: {inst: inst600000D4, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant600000B5: {inst: inst6000006C, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant600000B6: {inst: inst600000DD, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant600000B7: {inst: inst600000D3, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant600000B8: {inst: inst6000006B, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant600000B9: {inst: inst6000006B, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant600000BA: {inst: inst600000D3, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant600000BB: {inst: inst600000DD, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant600000BC: {inst: inst6000006C, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant600000BD: {inst: inst600000D4, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant600000BE: {inst: inst600000D5, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant600000BF: {inst: inst600000D8, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant600000C0: {inst: inst600000DB, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant600000C1: {inst: inst600000DA, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant600000C2: {inst: inst600000DB, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant600000C3: {inst: inst60000113, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000C4: {inst: inst60000114, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000C5: {inst: inst60000115, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000C6: {inst: inst60000115, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant600000C7: {inst: inst60000118, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000C8: {inst: inst60000118, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant600000C9: {inst: inst6000011A, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000CA: {inst: inst6000011B, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000CB: {inst: inst6000011B, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant600000CC: {inst: inst6000011A, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant600000CD: {inst: inst6000011D, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000CE: {inst: inst6000011E, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000CF: {inst: inst6000011E, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant600000D0: {inst: inst60000123, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000D1: {inst: inst60000123, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant600000D2: {inst: inst60000115, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant600000D3: {inst: inst60000114, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant600000D4: {inst: inst60000113, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant600000D5: {inst: inst600000D4, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant600000D6: {inst: inst600000D3, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant600000D7: {inst: inst6000006C, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant600000D8: {inst: inst6000006B, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant600000D9: {inst: inst60000113, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant600000DA: {inst: inst600000D3, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant600000DB: {inst: inst6000006B, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant600000DC: {inst: inst60000123, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant600000DD: {inst: inst60000115, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant600000DE: {inst: inst6000006B, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant600000DF: {inst: inst6000006C, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant600000E0: {inst: inst600000D3, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant600000E1: {inst: inst600000D4, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant600000E2: {inst: inst60000113, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant600000E3: {inst: inst60000114, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant600000E4: {inst: inst60000115, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant600000E5: {inst: inst6000011E, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant600000E6: {inst: inst60000123, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant600000E7: {inst: inst60000132, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000E8: {inst: inst60000133, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000E9: {inst: inst60000134, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000EA: {inst: inst60000135, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000EB: {inst: inst60000135, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def15}} +// CHECK:STDOUT: symbolic_constant600000EC: {inst: inst60000136, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000ED: {inst: inst60000137, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000EE: {inst: inst60000134, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def14}} +// CHECK:STDOUT: symbolic_constant600000EF: {inst: inst60000133, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def13}} +// CHECK:STDOUT: symbolic_constant600000F0: {inst: inst60000132, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def12}} +// CHECK:STDOUT: symbolic_constant600000F1: {inst: inst60000138, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000F2: {inst: inst60000138, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def11}} +// CHECK:STDOUT: symbolic_constant600000F3: {inst: inst600000F2, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def10}} +// CHECK:STDOUT: symbolic_constant600000F4: {inst: inst600000F1, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def9}} +// CHECK:STDOUT: symbolic_constant600000F5: {inst: inst600000F0, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def8}} +// CHECK:STDOUT: symbolic_constant600000F6: {inst: inst600000EF, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def7}} +// CHECK:STDOUT: symbolic_constant600000F7: {inst: inst600000F5, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def6}} +// CHECK:STDOUT: symbolic_constant600000F8: {inst: inst60000085, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def5}} +// CHECK:STDOUT: symbolic_constant600000F9: {inst: inst60000084, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def4}} +// CHECK:STDOUT: symbolic_constant600000FA: {inst: inst60000083, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def3}} +// CHECK:STDOUT: symbolic_constant600000FB: {inst: inst60000082, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant600000FC: {inst: inst60000088, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant600000FD: {inst: inst60000139, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000FE: {inst: inst60000139, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant600000FF: {inst: inst60000139, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant60000100: {inst: inst60000088, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant60000101: {inst: inst60000082, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant60000102: {inst: inst60000083, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def3}} +// CHECK:STDOUT: symbolic_constant60000103: {inst: inst60000084, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def4}} +// CHECK:STDOUT: symbolic_constant60000104: {inst: inst60000085, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def5}} +// CHECK:STDOUT: symbolic_constant60000105: {inst: inst600000F5, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def6}} +// CHECK:STDOUT: symbolic_constant60000106: {inst: inst600000EF, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def7}} +// CHECK:STDOUT: symbolic_constant60000107: {inst: inst600000F0, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def8}} +// CHECK:STDOUT: symbolic_constant60000108: {inst: inst600000F1, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def9}} +// CHECK:STDOUT: symbolic_constant60000109: {inst: inst600000F2, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def10}} +// CHECK:STDOUT: symbolic_constant6000010A: {inst: inst60000138, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def11}} +// CHECK:STDOUT: symbolic_constant6000010B: {inst: inst60000132, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def12}} +// CHECK:STDOUT: symbolic_constant6000010C: {inst: inst60000133, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def13}} +// CHECK:STDOUT: symbolic_constant6000010D: {inst: inst60000134, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def14}} +// CHECK:STDOUT: symbolic_constant6000010E: {inst: inst60000135, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def15}} +// CHECK:STDOUT: symbolic_constant6000010F: {inst: inst60000115, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant60000110: {inst: inst60000114, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant60000111: {inst: inst600000D4, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant60000112: {inst: inst6000006C, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant60000113: {inst: inst6000011D, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant60000114: {inst: inst60000113, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant60000115: {inst: inst600000D3, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant60000116: {inst: inst6000006B, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant60000117: {inst: inst6000006B, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant60000118: {inst: inst600000D3, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant60000119: {inst: inst60000113, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant6000011A: {inst: inst6000011D, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant6000011B: {inst: inst6000006C, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant6000011C: {inst: inst600000D4, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant6000011D: {inst: inst60000114, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant6000011E: {inst: inst60000115, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant6000011F: {inst: inst60000118, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant60000120: {inst: inst6000011B, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant60000121: {inst: inst6000011A, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant60000122: {inst: inst6000011B, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant60000123: {inst: inst600000AF, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant60000124: {inst: inst6000015E, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000125: {inst: inst6000015E, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant60000126: {inst: inst60000160, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000127: {inst: inst60000160, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_def3}} +// CHECK:STDOUT: symbolic_constant60000128: {inst: inst60000162, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000129: {inst: inst60000163, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant6000012A: {inst: inst60000165, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant6000012B: {inst: inst60000162, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_def4}} +// CHECK:STDOUT: symbolic_constant6000012C: {inst: inst60000163, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_def5}} +// CHECK:STDOUT: symbolic_constant6000012D: {inst: inst60000165, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_def6}} +// CHECK:STDOUT: symbolic_constant6000012E: {inst: inst6000016B, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant6000012F: {inst: inst6000016B, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_def7}} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} // CHECK:STDOUT: exports: @@ -2029,4 +2056,19 @@ fn Foo[T:! type](p: T*) -> (T*, ()) { // CHECK:STDOUT: 0: instF // CHECK:STDOUT: 1: inst60000010 // CHECK:STDOUT: 2: inst6000003C +// CHECK:STDOUT: value_stores: +// CHECK:STDOUT: shared_values: +// CHECK:STDOUT: ints: {} +// CHECK:STDOUT: reals: {} +// CHECK:STDOUT: floats: {} +// CHECK:STDOUT: identifiers: +// CHECK:STDOUT: identifier0: Foo +// CHECK:STDOUT: identifier1: T +// CHECK:STDOUT: identifier2: p +// CHECK:STDOUT: identifier3: Copy +// CHECK:STDOUT: identifier4: Op +// CHECK:STDOUT: identifier5: U +// CHECK:STDOUT: identifier6: V +// CHECK:STDOUT: strings: +// CHECK:STDOUT: string0: prelude // CHECK:STDOUT: ... diff --git a/toolchain/check/testdata/basics/raw_sem_ir/one_file_with_textual_ir.carbon b/toolchain/check/testdata/basics/raw_sem_ir/one_file_with_textual_ir.carbon index 32a717269a48..f34771a1fcfe 100644 --- a/toolchain/check/testdata/basics/raw_sem_ir/one_file_with_textual_ir.carbon +++ b/toolchain/check/testdata/basics/raw_sem_ir/one_file_with_textual_ir.carbon @@ -20,6 +20,9 @@ fn Foo(n: ()) -> ((), ()) { // CHECK:STDOUT: --- // CHECK:STDOUT: filename: one_file_with_textual_ir.carbon // CHECK:STDOUT: sem_ir: +// CHECK:STDOUT: names: +// CHECK:STDOUT: name0: Foo +// CHECK:STDOUT: name1: n // CHECK:STDOUT: import_irs: // CHECK:STDOUT: 'import_ir(ApiForImpl)': {decl_id: inst, is_export: false} // CHECK:STDOUT: 'import_ir(Cpp)': {decl_id: inst, is_export: false} @@ -33,8 +36,12 @@ fn Foo(n: ()) -> ((), ()) { // CHECK:STDOUT: functions: // CHECK:STDOUT: function60000000: {name: name0, parent_scope: name_scope0, call_param_patterns_id: inst_block6000000B, call_params_id: inst_block6000000C, return_type_inst_id: inst60000020, return_form_inst_id: inst60000021, return_patterns_id: inst_block6000000A, body: [inst_block6000000F]} // CHECK:STDOUT: classes: {} +// CHECK:STDOUT: interfaces: {} +// CHECK:STDOUT: associated_constants: {} +// CHECK:STDOUT: impls: {} // CHECK:STDOUT: generics: {} // CHECK:STDOUT: specifics: {} +// CHECK:STDOUT: specific_interfaces: {} // CHECK:STDOUT: struct_type_fields: // CHECK:STDOUT: struct_type_fields_empty: {} // CHECK:STDOUT: types: @@ -54,6 +61,7 @@ fn Foo(n: ()) -> ((), ()) { // CHECK:STDOUT: value_repr: {kind: pointer, type: type(inst6000001D)} // CHECK:STDOUT: 'type(inst6000002B)': // CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000010)} +// CHECK:STDOUT: facet_types: {} // CHECK:STDOUT: insts: // CHECK:STDOUT: instF: {kind: Namespace, arg0: name_scope0, arg1: inst, type: type(inst(NamespaceType))} // CHECK:STDOUT: inst60000010: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} @@ -205,6 +213,15 @@ fn Foo(n: ()) -> ((), ()) { // CHECK:STDOUT: inst_block60000013: // CHECK:STDOUT: 0: instF // CHECK:STDOUT: 1: inst6000002A +// CHECK:STDOUT: value_stores: +// CHECK:STDOUT: shared_values: +// CHECK:STDOUT: ints: {} +// CHECK:STDOUT: reals: {} +// CHECK:STDOUT: floats: {} +// CHECK:STDOUT: identifiers: +// CHECK:STDOUT: identifier0: Foo +// CHECK:STDOUT: identifier1: n +// CHECK:STDOUT: strings: {} // CHECK:STDOUT: ... // CHECK:STDOUT: --- one_file_with_textual_ir.carbon // CHECK:STDOUT: diff --git a/toolchain/driver/testdata/stdin.carbon b/toolchain/driver/testdata/stdin.carbon index 85fe911e3a75..d7733a47d0cd 100644 --- a/toolchain/driver/testdata/stdin.carbon +++ b/toolchain/driver/testdata/stdin.carbon @@ -26,6 +26,7 @@ // CHECK:STDOUT: --- // CHECK:STDOUT: filename: '-' // CHECK:STDOUT: sem_ir: +// CHECK:STDOUT: names: {} // CHECK:STDOUT: import_irs: // CHECK:STDOUT: 'import_ir(ApiForImpl)': {decl_id: inst, is_export: false} // CHECK:STDOUT: 'import_ir(Cpp)': {decl_id: inst, is_export: false} @@ -37,8 +38,12 @@ // CHECK:STDOUT: cpp_global_vars: {} // CHECK:STDOUT: functions: {} // CHECK:STDOUT: classes: {} +// CHECK:STDOUT: interfaces: {} +// CHECK:STDOUT: associated_constants: {} +// CHECK:STDOUT: impls: {} // CHECK:STDOUT: generics: {} // CHECK:STDOUT: specifics: {} +// CHECK:STDOUT: specific_interfaces: {} // CHECK:STDOUT: struct_type_fields: // CHECK:STDOUT: struct_type_fields_empty: {} // CHECK:STDOUT: types: @@ -50,6 +55,7 @@ // CHECK:STDOUT: value_repr: {kind: copy, type: type(Error)} // CHECK:STDOUT: 'type(inst(NamespaceType))': // CHECK:STDOUT: value_repr: {kind: copy, type: type(inst(NamespaceType))} +// CHECK:STDOUT: facet_types: {} // CHECK:STDOUT: insts: // CHECK:STDOUT: instF: {kind: Namespace, arg0: name_scope0, arg1: inst, type: type(inst(NamespaceType))} // CHECK:STDOUT: constant_values: @@ -63,6 +69,13 @@ // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: inst_block60000004: // CHECK:STDOUT: 0: instF +// CHECK:STDOUT: value_stores: +// CHECK:STDOUT: shared_values: +// CHECK:STDOUT: ints: {} +// CHECK:STDOUT: reals: {} +// CHECK:STDOUT: floats: {} +// CHECK:STDOUT: identifiers: {} +// CHECK:STDOUT: strings: {} // CHECK:STDOUT: ... // CHECK:STDOUT: --- - // CHECK:STDOUT: diff --git a/toolchain/sem_ir/associated_constant.h b/toolchain/sem_ir/associated_constant.h index 8a8108b133b4..ad5a4a33ed18 100644 --- a/toolchain/sem_ir/associated_constant.h +++ b/toolchain/sem_ir/associated_constant.h @@ -22,7 +22,9 @@ namespace Carbon::SemIR { struct AssociatedConstant : public Printable { auto Print(llvm::raw_ostream& out) const -> void { out << "{" - << "name: " << name_id << ", parent_scope: " << parent_scope_id << "}"; + << "name: " << name_id << ", parent_scope: " << parent_scope_id + << ", decl_id: " << decl_id << ", generic_id: " << generic_id + << ", default_value_id: " << default_value_id << "}"; } // The following fields are set at the `:!` binding, when the diff --git a/toolchain/sem_ir/constant.h b/toolchain/sem_ir/constant.h index 54a5dd8f2ea0..437f1a431cf2 100644 --- a/toolchain/sem_ir/constant.h +++ b/toolchain/sem_ir/constant.h @@ -85,8 +85,7 @@ struct SymbolicConstant : Printable { ConstantDependence dependence; auto Print(llvm::raw_ostream& out) const -> void { - out << "{inst: " << inst_id << ", generic: " << generic_id - << ", index: " << index << ", kind: "; + out << "{inst: " << inst_id << ", kind: "; switch (dependence) { case ConstantDependence::None: out << ""; @@ -101,6 +100,12 @@ struct SymbolicConstant : Printable { out << "template"; break; } + out << ", attached: "; + if (generic_id.has_value()) { + out << "{generic: " << generic_id << ", index: " << index << "}"; + } else { + out << "null"; + } out << "}"; } }; @@ -142,6 +147,10 @@ class ConstantValueStore { return values_.GetWithDefault(inst_id, default_); } + auto IsAttached(ConstantId const_id) const -> bool { + return const_id != GetUnattachedConstant(const_id); + } + // Sets the constant value of the given instruction, or sets that it is known // to not be a constant. auto Set(InstId inst_id, ConstantId const_id) -> void { diff --git a/toolchain/sem_ir/dump.cpp b/toolchain/sem_ir/dump.cpp index c25efde54b3a..63e422dd498a 100644 --- a/toolchain/sem_ir/dump.cpp +++ b/toolchain/sem_ir/dump.cpp @@ -33,7 +33,9 @@ static auto DumpConstantSummary(const File& file, ConstantId const_id) if (const_id.is_symbolic()) { out << ": " << file.constant_values().GetSymbolicConstant(const_id); } else if (const_id.is_concrete()) { - out << ": " << file.insts().Get(file.constant_values().GetInstId(const_id)); + out << ": " + << file.insts().GetWithAttachedType( + file.constant_values().GetInstId(const_id)); } return out.TakeStr(); } @@ -55,7 +57,7 @@ static auto DumpInstSummary(const File& file, InstId inst_id) -> std::string { out << inst_id; if (inst_id.has_value() && inst_id != InstId::InitTombstone && inst_id != InstId::ImplWitnessTablePlaceholder) { - out << ": " << file.insts().Get(inst_id); + out << ": " << file.insts().GetWithAttachedType(inst_id); } return out.TakeStr(); } @@ -241,7 +243,7 @@ LLVM_DUMP_METHOD auto Dump(const File& file, InstId inst_id) -> std::string { return out.TakeStr(); } - Inst inst = file.insts().Get(inst_id); + Inst inst = file.insts().GetWithAttachedType(inst_id); if (inst.arg0_and_kind().kind() == IdKind::For) { auto entity_name_id = EntityNameId(inst.arg0()); @@ -253,7 +255,7 @@ LLVM_DUMP_METHOD auto Dump(const File& file, InstId inst_id) -> std::string { if (inst.type_id().has_value()) { out << "\n - type: " << Dump(file, inst.type_id()); } - ConstantId const_id = file.constant_values().Get(inst_id); + ConstantId const_id = file.constant_values().GetAttached(inst_id); if (const_id.has_value()) { InstId const_inst_id = file.constant_values().GetInstId(const_id); out << "\n - value: "; @@ -295,8 +297,13 @@ LLVM_DUMP_METHOD auto Dump(const File& file, LocId loc_id) -> std::string { auto import_ir_id = file.import_ir_insts().Get(loc_id.import_ir_inst_id()).ir_id(); const auto* import_file = file.import_irs().Get(import_ir_id).sem_ir; - out << "LocId(import from \"" << FormatEscaped(import_file->filename()) - << "\")"; + out << "LocId(import from "; + if (import_file == nullptr) { + out << "unknown file"; + } else { + out << "\"" << FormatEscaped(import_file->filename()) << "\""; + } + out << ")"; break; } @@ -458,6 +465,16 @@ LLVM_DUMP_METHOD auto Dump(const File& file, TypeId type_id) -> std::string { InstId inst_id = file.types().GetInstId(type_id); out << ": " << StringifyConstantInst(file, inst_id) << "; " << file.insts().Get(inst_id); + auto const_id = file.types().GetConstantId(type_id); + if (const_id.is_symbolic()) { + if (file.constant_values().IsAttached(const_id)) { + out << " (attached symbolic)"; + } else { + out << " (unattached symbolic)"; + } + } else { + out << " (concrete)"; + } return out.TakeStr(); } diff --git a/toolchain/sem_ir/file.cpp b/toolchain/sem_ir/file.cpp index 2b5e54d81be3..e186507ceb98 100644 --- a/toolchain/sem_ir/file.cpp +++ b/toolchain/sem_ir/file.cpp @@ -132,6 +132,7 @@ auto File::OutputYaml(bool include_singletons) const -> Yaml::OutputMapping { Yaml::OutputMapping::Map map) { map.Add("filename", filename_); map.Add("sem_ir", Yaml::OutputMapping([&](Yaml::OutputMapping::Map map) { + map.Add("names", names().OutputYaml()); map.Add("import_irs", import_irs_.OutputYaml()); map.Add("import_ir_insts", import_ir_insts_.OutputYaml()); map.Add("clang_decls", clang_decls_.OutputYaml()); @@ -140,10 +141,16 @@ auto File::OutputYaml(bool include_singletons) const -> Yaml::OutputMapping { map.Add("cpp_global_vars", cpp_global_vars_.OutputYaml()); map.Add("functions", functions_.OutputYaml()); map.Add("classes", classes_.OutputYaml()); + map.Add("interfaces", interfaces_.OutputYaml()); + map.Add("associated_constants", + associated_constants_.OutputYaml()); + map.Add("impls", impls_.OutputYaml()); map.Add("generics", generics_.OutputYaml()); map.Add("specifics", specifics_.OutputYaml()); + map.Add("specific_interfaces", specific_interfaces_.OutputYaml()); map.Add("struct_type_fields", struct_type_fields_.OutputYaml()); map.Add("types", types_.OutputYaml()); + map.Add("facet_types", facet_types_.OutputYaml()); map.Add("insts", Yaml::OutputMapping([&](Yaml::OutputMapping::Map map) { for (auto [id, inst] : insts_.enumerate()) { @@ -156,6 +163,7 @@ auto File::OutputYaml(bool include_singletons) const -> Yaml::OutputMapping { map.Add("constant_values", constant_values_.OutputYaml(include_singletons)); map.Add("inst_blocks", inst_blocks_.OutputYaml()); + map.Add("value_stores", value_stores_->OutputYaml()); })); }); } diff --git a/toolchain/sem_ir/generic.h b/toolchain/sem_ir/generic.h index a76fe30d9d90..421b32f2931f 100644 --- a/toolchain/sem_ir/generic.h +++ b/toolchain/sem_ir/generic.h @@ -17,7 +17,10 @@ namespace Carbon::SemIR { // Note that this includes both checked generics and template generics. struct Generic : public Printable { auto Print(llvm::raw_ostream& out) const -> void { - out << "{decl: " << decl_id << ", bindings: " << bindings_id << "}"; + out << "{decl: " << decl_id << ", bindings: " << bindings_id + << ", self_specific_id: " << self_specific_id + << ", decl_block_id: " << decl_block_id + << ", definition_block_id: " << definition_block_id << "}"; } // Returns the eval block for the specified region of the generic. This is a @@ -69,7 +72,9 @@ class GenericStore : public ValueStore> { // values for the compile-time parameters themselves. struct Specific : Printable { auto Print(llvm::raw_ostream& out) const -> void { - out << "{generic: " << generic_id << ", args: " << args_id << "}"; + out << "{generic: " << generic_id << ", args: " << args_id + << ", decl_block_id: " << decl_block_id + << ", definition_block_id: " << definition_block_id << "}"; } // Returns true if this specific has never been resolved. Such specifics are diff --git a/toolchain/sem_ir/name.h b/toolchain/sem_ir/name.h index a846dbb4b335..08ac23b82109 100644 --- a/toolchain/sem_ir/name.h +++ b/toolchain/sem_ir/name.h @@ -50,6 +50,15 @@ class NameStoreWrapper { // `name_id` is `None`. auto GetIRBaseName(NameId name_id) const -> llvm::StringRef; + auto OutputYaml() const -> Yaml::OutputMapping { + return Yaml::OutputMapping([&](Yaml::OutputMapping::Map map) { + for (auto [identifier_id, value] : identifiers_->enumerate()) { + map.Add(PrintToString(NameId{identifier_id.index}), + Yaml::OutputScalar(value)); + } + }); + } + private: const SharedValueStores::IdentifierStore* identifiers_; }; diff --git a/toolchain/sem_ir/specific_interface.h b/toolchain/sem_ir/specific_interface.h index ae10022e156b..b49ce76033c5 100644 --- a/toolchain/sem_ir/specific_interface.h +++ b/toolchain/sem_ir/specific_interface.h @@ -19,6 +19,13 @@ struct SpecificInterface { InterfaceId interface_id; SpecificId specific_id; + friend auto operator<<(llvm::raw_ostream& out, SpecificInterface si) + -> llvm::raw_ostream& { + out << "{interface_id: " << si.interface_id + << ", specific_id: " << si.specific_id << "}"; + return out; + } + friend auto operator==(const SpecificInterface& lhs, const SpecificInterface& rhs) -> bool = default; }; diff --git a/toolchain/sem_ir/yaml_test.cpp b/toolchain/sem_ir/yaml_test.cpp index 80b72cac9c32..b0dfc84b578b 100644 --- a/toolchain/sem_ir/yaml_test.cpp +++ b/toolchain/sem_ir/yaml_test.cpp @@ -56,6 +56,7 @@ TEST(SemIRTest, Yaml) { auto type_builtin = Pair(type_id, Yaml::Mapping(_)); auto file = Yaml::Mapping(ElementsAre( + Pair("names", Yaml::Mapping(SizeIs(2))), Pair("import_irs", Yaml::Mapping(SizeIs(2))), Pair("import_ir_insts", Yaml::Mapping(SizeIs(0))), Pair("clang_decls", Yaml::Mapping(SizeIs(0))), @@ -64,10 +65,15 @@ TEST(SemIRTest, Yaml) { Pair("cpp_global_vars", Yaml::Mapping(SizeIs(0))), Pair("functions", Yaml::Mapping(SizeIs(1))), Pair("classes", Yaml::Mapping(SizeIs(0))), + Pair("interfaces", Yaml::Mapping(SizeIs(0))), + Pair("associated_constants", Yaml::Mapping(SizeIs(0))), + Pair("impls", Yaml::Mapping(SizeIs(0))), Pair("generics", Yaml::Mapping(SizeIs(0))), Pair("specifics", Yaml::Mapping(SizeIs(0))), + Pair("specific_interfaces", Yaml::Mapping(SizeIs(0))), Pair("struct_type_fields", Yaml::Mapping(SizeIs(1))), Pair("types", Yaml::Mapping(Each(type_builtin))), + Pair("facet_types", Yaml::Mapping(SizeIs(0))), Pair("insts", Yaml::Mapping(AllOf( Each(Key(inst_id)), // kind is required, other parts are optional. @@ -104,7 +110,16 @@ TEST(SemIRTest, Yaml) { Pair("inst_block60000006", Yaml::Mapping(Each(Pair(_, inst_id)))), Pair("inst_block60000007", Yaml::Mapping(Each(Pair(_, inst_id)))), Pair("inst_block60000008", - Yaml::Mapping(Each(Pair(_, inst_id))))))))); + Yaml::Mapping(Each(Pair(_, inst_id))))))), + Pair("value_stores", + Yaml::Mapping(ElementsAre( + Pair("shared_values", + Yaml::Mapping(ElementsAre( + Pair("ints", Yaml::Mapping(SizeIs(0))), + Pair("reals", Yaml::Mapping(SizeIs(0))), + Pair("floats", Yaml::Mapping(SizeIs(0))), + Pair("identifiers", Yaml::Mapping(SizeIs(2))), + Pair("strings", Yaml::Mapping(SizeIs(0))))))))))); auto root = Yaml::Sequence(ElementsAre(Yaml::Mapping( ElementsAre(Pair("filename", "test.carbon"), Pair("sem_ir", file)))));