diff --git a/toolchain/lowering/lowering_context.cpp b/toolchain/lowering/lowering_context.cpp index 10a122ccf33b..4cefded98922 100644 --- a/toolchain/lowering/lowering_context.cpp +++ b/toolchain/lowering/lowering_context.cpp @@ -149,12 +149,13 @@ auto LoweringContext::BuildType(SemanticsNodeId node_id) -> llvm::Type* { llvm::SmallVector subtypes; subtypes.reserve(refs.size()); for (auto ref_id : refs) { - auto type_id = semantics_ir_->GetNode(ref_id).type_id(); + auto [field_name_id, field_type_id] = + semantics_ir_->GetNode(ref_id).GetAsStructTypeField(); // TODO: Handle recursive types. The restriction for builtins prevents // recursion while still letting them cache. - CARBON_CHECK(type_id.index < SemanticsBuiltinKind::ValidCount) - << type_id; - subtypes.push_back(GetType(type_id)); + CARBON_CHECK(field_type_id.index < SemanticsBuiltinKind::ValidCount) + << field_type_id; + subtypes.push_back(GetType(field_type_id)); } return llvm::StructType::create(*llvm_context_, subtypes, "StructLiteralType"); diff --git a/toolchain/lowering/lowering_handle.cpp b/toolchain/lowering/lowering_handle.cpp index c7d16915e4a9..2d6b308796d1 100644 --- a/toolchain/lowering/lowering_handle.cpp +++ b/toolchain/lowering/lowering_handle.cpp @@ -207,10 +207,11 @@ auto LoweringHandleStructMemberAccess(LoweringFunctionContext& context, context.semantics_ir() .GetNode(context.semantics_ir().GetType(struct_type_id)) .GetAsStructType()); - auto member_name = context.semantics_ir().GetString( + auto [field_name_id, field_type_id] = context.semantics_ir() .GetNode(type_refs[member_index.index]) - .GetAsStructTypeField()); + .GetAsStructTypeField(); + auto member_name = context.semantics_ir().GetString(field_name_id); auto* gep = context.builder().CreateStructGEP( llvm_type, context.GetLocal(struct_id), member_index.index, member_name); @@ -258,8 +259,9 @@ auto LoweringHandleStructValue(LoweringFunctionContext& context, .GetNode(context.semantics_ir().GetType(node.type_id())) .GetAsStructType()); for (int i = 0; i < static_cast(refs.size()); ++i) { - auto member_name = context.semantics_ir().GetString( - context.semantics_ir().GetNode(type_refs[i]).GetAsStructTypeField()); + auto [field_name_id, field_type_id] = + context.semantics_ir().GetNode(type_refs[i]).GetAsStructTypeField(); + auto member_name = context.semantics_ir().GetString(field_name_id); auto* gep = context.builder().CreateStructGEP(llvm_type, alloca, i, member_name); context.builder().CreateStore(context.GetLocal(refs[i]), gep); diff --git a/toolchain/semantics/semantics_context.cpp b/toolchain/semantics/semantics_context.cpp index 28b115827294..332a70f06d09 100644 --- a/toolchain/semantics/semantics_context.cpp +++ b/toolchain/semantics/semantics_context.cpp @@ -476,8 +476,9 @@ auto SemanticsContext::CanonicalizeStructType(ParseTree::Node parse_node, llvm::FoldingSetNodeID canonical_id; for (const auto& ref_id : refs) { auto ref = semantics_ir_->GetNode(ref_id); - canonical_id.AddInteger(ref.GetAsStructTypeField().index); - canonical_id.AddInteger(ref.type_id().index); + auto [name_id, type_id] = ref.GetAsStructTypeField(); + canonical_id.AddInteger(name_id.index); + canonical_id.AddInteger(type_id.index); } // If a struct with matching fields was already created, reuse it. diff --git a/toolchain/semantics/semantics_handle_name.cpp b/toolchain/semantics/semantics_handle_name.cpp index dd5bb3e5d60e..1cdf61334583 100644 --- a/toolchain/semantics/semantics_handle_name.cpp +++ b/toolchain/semantics/semantics_handle_name.cpp @@ -32,11 +32,12 @@ auto SemanticsHandleMemberAccessExpression(SemanticsContext& context, // TODO: Do we need to optimize this with a lookup table for O(1)? for (int i = 0; i < static_cast(refs.size()); ++i) { auto ref = context.semantics_ir().GetNode(refs[i]); - if (name_id == ref.GetAsStructTypeField()) { + if (auto [field_name_id, field_type_id] = ref.GetAsStructTypeField(); + name_id == field_name_id) { context.AddNodeAndPush( parse_node, SemanticsNode::StructMemberAccess::Make( - parse_node, ref.type_id(), base_id, SemanticsMemberIndex(i))); + parse_node, field_type_id, base_id, SemanticsMemberIndex(i))); return true; } } diff --git a/toolchain/semantics/semantics_handle_statement.cpp b/toolchain/semantics/semantics_handle_statement.cpp index e347aba2b12c..a8e9dc87f3e1 100644 --- a/toolchain/semantics/semantics_handle_statement.cpp +++ b/toolchain/semantics/semantics_handle_statement.cpp @@ -61,8 +61,7 @@ auto SemanticsHandleReturnStatement(SemanticsContext& context, context.ImplicitAsRequired(parse_node, arg, callable.return_type_id); } - context.AddNode(SemanticsNode::ReturnExpression::Make( - parse_node, context.semantics_ir().GetNode(arg).type_id(), arg)); + context.AddNode(SemanticsNode::ReturnExpression::Make(parse_node, arg)); } // Switch to a new, unreachable, empty node block. This typically won't diff --git a/toolchain/semantics/semantics_handle_struct.cpp b/toolchain/semantics/semantics_handle_struct.cpp index 80d8bdd197ab..208ac4e13ad2 100644 --- a/toolchain/semantics/semantics_handle_struct.cpp +++ b/toolchain/semantics/semantics_handle_struct.cpp @@ -34,7 +34,7 @@ auto SemanticsHandleStructFieldType(SemanticsContext& context, context.node_stack().PopWithParseNode(); context.AddNodeAndPush(parse_node, SemanticsNode::StructTypeField::Make( - name_node, cast_type_id, name_id)); + name_node, name_id, cast_type_id)); return true; } @@ -54,8 +54,8 @@ auto SemanticsHandleStructFieldValue(SemanticsContext& context, context.semantics_ir().AddNode( type_block_id, SemanticsNode::StructTypeField::Make( - parse_node, context.semantics_ir().GetNode(value_node_id).type_id(), - name_id)); + parse_node, name_id, + context.semantics_ir().GetNode(value_node_id).type_id())); // Push the value back on the stack as an argument. context.node_stack().Push(parse_node, value_node_id); diff --git a/toolchain/semantics/semantics_handle_variable.cpp b/toolchain/semantics/semantics_handle_variable.cpp index cd81a74c281b..e8f54bcf6e19 100644 --- a/toolchain/semantics/semantics_handle_variable.cpp +++ b/toolchain/semantics/semantics_handle_variable.cpp @@ -31,9 +31,8 @@ auto SemanticsHandleVariableDeclaration(SemanticsContext& context, auto cast_value_id = context.ImplicitAsRequired( parse_node, expr_node_id, context.semantics_ir().GetNode(storage_id).type_id()); - context.AddNode(SemanticsNode::Assign::Make( - parse_node, context.semantics_ir().GetNode(cast_value_id).type_id(), - storage_id, cast_value_id)); + context.AddNode( + SemanticsNode::Assign::Make(parse_node, storage_id, cast_value_id)); } context.node_stack() diff --git a/toolchain/semantics/semantics_ir.cpp b/toolchain/semantics/semantics_ir.cpp index 9c6003269bfa..dd8d861ea4c8 100644 --- a/toolchain/semantics/semantics_ir.cpp +++ b/toolchain/semantics/semantics_ir.cpp @@ -246,8 +246,9 @@ auto SemanticsIR::StringifyType(SemanticsTypeId type_id) -> std::string { break; } case SemanticsNodeKind::StructTypeField: { - out << "." << GetString(node.GetAsStructTypeField()) << ": "; - steps.push_back({.node_id = GetTypeAllowBuiltinTypes(node.type_id())}); + auto [name_id, type_id] = node.GetAsStructTypeField(); + out << "." << GetString(name_id) << ": "; + steps.push_back({.node_id = GetTypeAllowBuiltinTypes(type_id)}); break; } case SemanticsNodeKind::TupleType: { diff --git a/toolchain/semantics/semantics_node.h b/toolchain/semantics/semantics_node.h index 0aafd73b3b85..7cb1752e06d5 100644 --- a/toolchain/semantics/semantics_node.h +++ b/toolchain/semantics/semantics_node.h @@ -286,7 +286,8 @@ class SemanticsNode { using FactoryBase::Get; }; - // Provides Get along with a Make that assumes a non-changing type. + // Provides Get along with a Make that assumes the node doesn't produce a + // typed value. template class FactoryNoType : public FactoryBase { public: @@ -306,9 +307,9 @@ class SemanticsNode { } }; - using Assign = SemanticsNode::Factory; + using Assign = SemanticsNode::FactoryNoType; using BinaryOperatorAdd = SemanticsNode::Factory; - using ReturnExpression = - Factory; + using ReturnExpression = FactoryNoType; using StringLiteral = Factory; @@ -400,8 +401,9 @@ class SemanticsNode { using StructType = Factory; - using StructTypeField = Factory; + using StructTypeField = + FactoryNoType; using StructValue = Factory; @@ -431,6 +433,8 @@ class SemanticsNode { auto parse_node() const -> ParseTree::Node { return parse_node_; } auto kind() const -> SemanticsNodeKind { return kind_; } + + // Gets the type of the value produced by evaluating this node. auto type_id() const -> SemanticsTypeId { return type_id_; } auto Print(llvm::raw_ostream& out) const -> void; diff --git a/toolchain/semantics/testdata/basics/builtin_types.carbon b/toolchain/semantics/testdata/basics/builtin_types.carbon index 4992d598266a..24d9f4e71005 100644 --- a/toolchain/semantics/testdata/basics/builtin_types.carbon +++ b/toolchain/semantics/testdata/basics/builtin_types.carbon @@ -30,18 +30,18 @@ // CHECK:STDOUT: {kind: VarStorage, type: type0}, // CHECK:STDOUT: {kind: BindName, arg0: str0, arg1: node+0, type: type0}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int0, type: type0}, -// CHECK:STDOUT: {kind: Assign, arg0: node+0, arg1: node+2, type: type0}, +// CHECK:STDOUT: {kind: Assign, arg0: node+0, arg1: node+2}, // CHECK:STDOUT: {kind: VarStorage, type: type1}, // CHECK:STDOUT: {kind: BindName, arg0: str1, arg1: node+4, type: type1}, // CHECK:STDOUT: {kind: RealLiteral, arg0: real0, type: type1}, -// CHECK:STDOUT: {kind: Assign, arg0: node+4, arg1: node+6, type: type1}, +// CHECK:STDOUT: {kind: Assign, arg0: node+4, arg1: node+6}, // CHECK:STDOUT: {kind: VarStorage, type: type2}, // CHECK:STDOUT: {kind: BindName, arg0: str2, arg1: node+8, type: type2}, // CHECK:STDOUT: {kind: StringLiteral, arg0: str3, type: type2}, -// CHECK:STDOUT: {kind: Assign, arg0: node+8, arg1: node+10, type: type2}, +// CHECK:STDOUT: {kind: Assign, arg0: node+8, arg1: node+10}, // CHECK:STDOUT: {kind: VarStorage, type: typeTypeType}, // CHECK:STDOUT: {kind: BindName, arg0: str4, arg1: node+12, type: typeTypeType}, -// CHECK:STDOUT: {kind: Assign, arg0: node+12, arg1: nodeIntegerType, type: typeTypeType}, +// CHECK:STDOUT: {kind: Assign, arg0: node+12, arg1: nodeIntegerType}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/basics/fail_non_type_as_type.carbon b/toolchain/semantics/testdata/basics/fail_non_type_as_type.carbon index fabc7d3fa32d..1822102546b5 100644 --- a/toolchain/semantics/testdata/basics/fail_non_type_as_type.carbon +++ b/toolchain/semantics/testdata/basics/fail_non_type_as_type.carbon @@ -23,7 +23,7 @@ // CHECK:STDOUT: {kind: VarStorage, type: typeTypeType}, // CHECK:STDOUT: {kind: BindName, arg0: str0, arg1: node+0, type: typeTypeType}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int0, type: type0}, -// CHECK:STDOUT: {kind: Assign, arg0: node+0, arg1: nodeError, type: typeError}, +// CHECK:STDOUT: {kind: Assign, arg0: node+0, arg1: nodeError}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/basics/fail_qualifier_unsupported.carbon b/toolchain/semantics/testdata/basics/fail_qualifier_unsupported.carbon index 323aa32515ce..f3b19a9e65f9 100644 --- a/toolchain/semantics/testdata/basics/fail_qualifier_unsupported.carbon +++ b/toolchain/semantics/testdata/basics/fail_qualifier_unsupported.carbon @@ -25,7 +25,7 @@ // CHECK:STDOUT: {kind: BindName, arg0: str0, arg1: node+0, type: type0}, // CHECK:STDOUT: {kind: VarStorage, type: type0}, // CHECK:STDOUT: {kind: BindName, arg0: str1, arg1: node+2, type: type0}, -// CHECK:STDOUT: {kind: Assign, arg0: node+2, arg1: nodeError, type: typeError}, +// CHECK:STDOUT: {kind: Assign, arg0: node+2, arg1: nodeError}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/basics/parens.carbon b/toolchain/semantics/testdata/basics/parens.carbon index 3fb5b8e1deb6..600b904a0af0 100644 --- a/toolchain/semantics/testdata/basics/parens.carbon +++ b/toolchain/semantics/testdata/basics/parens.carbon @@ -26,7 +26,7 @@ // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int0, type: type0}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int1, type: type0}, // CHECK:STDOUT: {kind: BinaryOperatorAdd, arg0: node+2, arg1: node+3, type: type0}, -// CHECK:STDOUT: {kind: Assign, arg0: node+0, arg1: node+4, type: type0}, +// CHECK:STDOUT: {kind: Assign, arg0: node+0, arg1: node+4}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/function/call/empty_struct.carbon b/toolchain/semantics/testdata/function/call/empty_struct.carbon index 918bb31503ef..0e0cb5210fd1 100644 --- a/toolchain/semantics/testdata/function/call/empty_struct.carbon +++ b/toolchain/semantics/testdata/function/call/empty_struct.carbon @@ -29,7 +29,7 @@ // CHECK:STDOUT: {kind: BindName, arg0: str1, arg1: node+2, type: type0}, // CHECK:STDOUT: {kind: StructValue, arg0: block0, type: type0}, // CHECK:STDOUT: {kind: FunctionDeclaration, arg0: function0}, -// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+2, type: type0}, +// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+2}, // CHECK:STDOUT: {kind: FunctionDeclaration, arg0: function1}, // CHECK:STDOUT: {kind: StructValue, arg0: block0, type: type0}, // CHECK:STDOUT: {kind: StubReference, arg0: node+8, type: type0}, diff --git a/toolchain/semantics/testdata/function/call/empty_tuple.carbon b/toolchain/semantics/testdata/function/call/empty_tuple.carbon index bfd65c3e1fde..9b902b8abeb4 100644 --- a/toolchain/semantics/testdata/function/call/empty_tuple.carbon +++ b/toolchain/semantics/testdata/function/call/empty_tuple.carbon @@ -31,7 +31,7 @@ // CHECK:STDOUT: {kind: BindName, arg0: str1, arg1: node+2, type: type0}, // CHECK:STDOUT: {kind: TupleValue, arg0: block0, type: type0}, // CHECK:STDOUT: {kind: FunctionDeclaration, arg0: function0}, -// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+2, type: type0}, +// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+2}, // CHECK:STDOUT: {kind: FunctionDeclaration, arg0: function1}, // CHECK:STDOUT: {kind: TupleValue, arg0: block0, type: type0}, // CHECK:STDOUT: {kind: StubReference, arg0: node+8, type: type0}, diff --git a/toolchain/semantics/testdata/function/call/fail_return_type_mismatch.carbon b/toolchain/semantics/testdata/function/call/fail_return_type_mismatch.carbon index d94d06fd319c..1002c2e3bd19 100644 --- a/toolchain/semantics/testdata/function/call/fail_return_type_mismatch.carbon +++ b/toolchain/semantics/testdata/function/call/fail_return_type_mismatch.carbon @@ -27,12 +27,12 @@ // CHECK:STDOUT: nodes: [ // CHECK:STDOUT: {kind: FunctionDeclaration, arg0: function0}, // CHECK:STDOUT: {kind: RealLiteral, arg0: real0, type: type0}, -// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+1, type: type0}, +// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+1}, // CHECK:STDOUT: {kind: FunctionDeclaration, arg0: function1}, // CHECK:STDOUT: {kind: VarStorage, type: type1}, // CHECK:STDOUT: {kind: BindName, arg0: str2, arg1: node+4, type: type1}, // CHECK:STDOUT: {kind: Call, arg0: block0, arg1: function0, type: type0}, -// CHECK:STDOUT: {kind: Assign, arg0: node+4, arg1: nodeError, type: typeError}, +// CHECK:STDOUT: {kind: Assign, arg0: node+4, arg1: nodeError}, // CHECK:STDOUT: {kind: Return}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ diff --git a/toolchain/semantics/testdata/function/call/i32.carbon b/toolchain/semantics/testdata/function/call/i32.carbon index e0e6ba31aecf..03842285992d 100644 --- a/toolchain/semantics/testdata/function/call/i32.carbon +++ b/toolchain/semantics/testdata/function/call/i32.carbon @@ -28,14 +28,14 @@ // CHECK:STDOUT: {kind: VarStorage, type: type0}, // CHECK:STDOUT: {kind: BindName, arg0: str1, arg1: node+0, type: type0}, // CHECK:STDOUT: {kind: FunctionDeclaration, arg0: function0}, -// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+0, type: type0}, +// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+0}, // CHECK:STDOUT: {kind: FunctionDeclaration, arg0: function1}, // CHECK:STDOUT: {kind: VarStorage, type: type0}, // CHECK:STDOUT: {kind: BindName, arg0: str3, arg1: node+5, type: type0}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int0, type: type0}, // CHECK:STDOUT: {kind: StubReference, arg0: node+7, type: type0}, // CHECK:STDOUT: {kind: Call, arg0: block6, arg1: function0, type: type0}, -// CHECK:STDOUT: {kind: Assign, arg0: node+5, arg1: node+9, type: type0}, +// CHECK:STDOUT: {kind: Assign, arg0: node+5, arg1: node+9}, // CHECK:STDOUT: {kind: Return}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ diff --git a/toolchain/semantics/testdata/function/call/return_implicit.carbon b/toolchain/semantics/testdata/function/call/return_implicit.carbon index 0cfc0913e901..498f232d1d51 100644 --- a/toolchain/semantics/testdata/function/call/return_implicit.carbon +++ b/toolchain/semantics/testdata/function/call/return_implicit.carbon @@ -33,7 +33,7 @@ // CHECK:STDOUT: {kind: VarStorage, type: type0}, // CHECK:STDOUT: {kind: BindName, arg0: str2, arg1: node+5, type: type0}, // CHECK:STDOUT: {kind: Call, arg0: block0, arg1: function0, type: type0}, -// CHECK:STDOUT: {kind: Assign, arg0: node+5, arg1: node+7, type: type0}, +// CHECK:STDOUT: {kind: Assign, arg0: node+5, arg1: node+7}, // CHECK:STDOUT: {kind: Return}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ diff --git a/toolchain/semantics/testdata/if/fail_reachable_fallthrough.carbon b/toolchain/semantics/testdata/if/fail_reachable_fallthrough.carbon index 81322c4da9dc..3ab43add7c52 100644 --- a/toolchain/semantics/testdata/if/fail_reachable_fallthrough.carbon +++ b/toolchain/semantics/testdata/if/fail_reachable_fallthrough.carbon @@ -35,7 +35,7 @@ // CHECK:STDOUT: {kind: BranchIf, arg0: block5, arg1: node+0}, // CHECK:STDOUT: {kind: Branch, arg0: block6}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int0, type: type1}, -// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+5, type: type1}, +// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+5}, // CHECK:STDOUT: {kind: Branch, arg0: block7}, // CHECK:STDOUT: {kind: VarStorage, type: type0}, // CHECK:STDOUT: {kind: BindName, arg0: str1, arg1: node+8, type: type0}, @@ -43,7 +43,7 @@ // CHECK:STDOUT: {kind: BranchIf, arg0: block11, arg1: node+8}, // CHECK:STDOUT: {kind: Branch, arg0: block12}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int1, type: type1}, -// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+13, type: type1}, +// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+13}, // CHECK:STDOUT: {kind: Branch, arg0: block13}, // CHECK:STDOUT: {kind: VarStorage, type: type0}, // CHECK:STDOUT: {kind: BindName, arg0: str1, arg1: node+16, type: type0}, @@ -51,7 +51,7 @@ // CHECK:STDOUT: {kind: BranchIf, arg0: block17, arg1: node+16}, // CHECK:STDOUT: {kind: Branch, arg0: block18}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int2, type: type1}, -// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+21, type: type1}, +// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+21}, // CHECK:STDOUT: {kind: Branch, arg0: block18}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ diff --git a/toolchain/semantics/testdata/if/fail_scope.carbon b/toolchain/semantics/testdata/if/fail_scope.carbon index 5d94e3c8df37..3e5a2aba8076 100644 --- a/toolchain/semantics/testdata/if/fail_scope.carbon +++ b/toolchain/semantics/testdata/if/fail_scope.carbon @@ -32,10 +32,10 @@ // CHECK:STDOUT: {kind: VarStorage, type: type1}, // CHECK:STDOUT: {kind: BindName, arg0: str2, arg1: node+5, type: type1}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int0, type: type1}, -// CHECK:STDOUT: {kind: Assign, arg0: node+5, arg1: node+7, type: type1}, -// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+5, type: type1}, +// CHECK:STDOUT: {kind: Assign, arg0: node+5, arg1: node+7}, +// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+5}, // CHECK:STDOUT: {kind: Branch, arg0: block6}, -// CHECK:STDOUT: {kind: ReturnExpression, arg0: nodeError, type: typeError}, +// CHECK:STDOUT: {kind: ReturnExpression, arg0: nodeError}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/if/unreachable_fallthrough.carbon b/toolchain/semantics/testdata/if/unreachable_fallthrough.carbon index 319a366401ae..f3278d274962 100644 --- a/toolchain/semantics/testdata/if/unreachable_fallthrough.carbon +++ b/toolchain/semantics/testdata/if/unreachable_fallthrough.carbon @@ -30,9 +30,9 @@ // CHECK:STDOUT: {kind: BranchIf, arg0: block5, arg1: node+0}, // CHECK:STDOUT: {kind: Branch, arg0: block6}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int0, type: type1}, -// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+5, type: type1}, +// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+5}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int1, type: type1}, -// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+7, type: type1}, +// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+7}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/if_expression/basic.carbon b/toolchain/semantics/testdata/if_expression/basic.carbon index fab9ea1fd2ad..6cbeecdebb60 100644 --- a/toolchain/semantics/testdata/if_expression/basic.carbon +++ b/toolchain/semantics/testdata/if_expression/basic.carbon @@ -38,7 +38,7 @@ // CHECK:STDOUT: {kind: BranchWithArg, arg0: block7, arg1: node+9}, // CHECK:STDOUT: {kind: BranchWithArg, arg0: block7, arg1: node+10}, // CHECK:STDOUT: {kind: BlockArg, arg0: block7, type: type1}, -// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+13, type: type1}, +// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+13}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/if_expression/constant_condition.carbon b/toolchain/semantics/testdata/if_expression/constant_condition.carbon index c89c2f3cfcfa..f794110eabf2 100644 --- a/toolchain/semantics/testdata/if_expression/constant_condition.carbon +++ b/toolchain/semantics/testdata/if_expression/constant_condition.carbon @@ -31,10 +31,10 @@ // CHECK:STDOUT: nodes: [ // CHECK:STDOUT: {kind: FunctionDeclaration, arg0: function0}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int0, type: type0}, -// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+1, type: type0}, +// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+1}, // CHECK:STDOUT: {kind: FunctionDeclaration, arg0: function1}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int1, type: type0}, -// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+4, type: type0}, +// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+4}, // CHECK:STDOUT: {kind: FunctionDeclaration, arg0: function2}, // CHECK:STDOUT: {kind: BoolLiteral, arg0: true, type: type1}, // CHECK:STDOUT: {kind: BranchIf, arg0: block5, arg1: node+7}, @@ -44,7 +44,7 @@ // CHECK:STDOUT: {kind: BranchWithArg, arg0: block7, arg1: node+10}, // CHECK:STDOUT: {kind: BranchWithArg, arg0: block7, arg1: node+11}, // CHECK:STDOUT: {kind: BlockArg, arg0: block7, type: type0}, -// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+14, type: type0}, +// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+14}, // CHECK:STDOUT: {kind: FunctionDeclaration, arg0: function3}, // CHECK:STDOUT: {kind: BoolLiteral, arg0: false, type: type1}, // CHECK:STDOUT: {kind: BranchIf, arg0: block9, arg1: node+17}, @@ -54,7 +54,7 @@ // CHECK:STDOUT: {kind: BranchWithArg, arg0: block11, arg1: node+20}, // CHECK:STDOUT: {kind: BranchWithArg, arg0: block11, arg1: node+21}, // CHECK:STDOUT: {kind: BlockArg, arg0: block11, type: type0}, -// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+24, type: type0}, +// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+24}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/if_expression/control_flow.carbon b/toolchain/semantics/testdata/if_expression/control_flow.carbon index 2968c821abaa..92c031778bf0 100644 --- a/toolchain/semantics/testdata/if_expression/control_flow.carbon +++ b/toolchain/semantics/testdata/if_expression/control_flow.carbon @@ -30,10 +30,10 @@ // CHECK:STDOUT: nodes: [ // CHECK:STDOUT: {kind: FunctionDeclaration, arg0: function0}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int0, type: type0}, -// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+1, type: type0}, +// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+1}, // CHECK:STDOUT: {kind: FunctionDeclaration, arg0: function1}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int1, type: type0}, -// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+4, type: type0}, +// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+4}, // CHECK:STDOUT: {kind: VarStorage, type: type1}, // CHECK:STDOUT: {kind: BindName, arg0: str3, arg1: node+6, type: type1}, // CHECK:STDOUT: {kind: FunctionDeclaration, arg0: function2}, @@ -44,7 +44,7 @@ // CHECK:STDOUT: {kind: BranchWithArg, arg0: block9, arg1: node+11}, // CHECK:STDOUT: {kind: BranchWithArg, arg0: block9, arg1: node+12}, // CHECK:STDOUT: {kind: BlockArg, arg0: block9, type: type0}, -// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+15, type: type0}, +// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+15}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/if_expression/nested.carbon b/toolchain/semantics/testdata/if_expression/nested.carbon index 7e105be85d03..d6613de06227 100644 --- a/toolchain/semantics/testdata/if_expression/nested.carbon +++ b/toolchain/semantics/testdata/if_expression/nested.carbon @@ -54,7 +54,7 @@ // CHECK:STDOUT: {kind: BranchWithArg, arg0: block13, arg1: node+15}, // CHECK:STDOUT: {kind: BranchWithArg, arg0: block13, arg1: node+22}, // CHECK:STDOUT: {kind: BlockArg, arg0: block13, type: type1}, -// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+25, type: type1}, +// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+25}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/operators/and.carbon b/toolchain/semantics/testdata/operators/and.carbon index b75196cfc414..30c34ad29010 100644 --- a/toolchain/semantics/testdata/operators/and.carbon +++ b/toolchain/semantics/testdata/operators/and.carbon @@ -26,10 +26,10 @@ // CHECK:STDOUT: nodes: [ // CHECK:STDOUT: {kind: FunctionDeclaration, arg0: function0}, // CHECK:STDOUT: {kind: BoolLiteral, arg0: true, type: type0}, -// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+1, type: type0}, +// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+1}, // CHECK:STDOUT: {kind: FunctionDeclaration, arg0: function1}, // CHECK:STDOUT: {kind: BoolLiteral, arg0: true, type: type0}, -// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+4, type: type0}, +// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+4}, // CHECK:STDOUT: {kind: FunctionDeclaration, arg0: function2}, // CHECK:STDOUT: {kind: Call, arg0: block0, arg1: function0, type: type0}, // CHECK:STDOUT: {kind: BoolLiteral, arg0: false, type: type0}, @@ -38,7 +38,7 @@ // CHECK:STDOUT: {kind: Call, arg0: block0, arg1: function1, type: type0}, // CHECK:STDOUT: {kind: BranchWithArg, arg0: block6, arg1: node+11}, // CHECK:STDOUT: {kind: BlockArg, arg0: block6, type: type0}, -// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+13, type: type0}, +// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+13}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/operators/binary_op.carbon b/toolchain/semantics/testdata/operators/binary_op.carbon index d8b929805454..ac270d6a17a3 100644 --- a/toolchain/semantics/testdata/operators/binary_op.carbon +++ b/toolchain/semantics/testdata/operators/binary_op.carbon @@ -26,7 +26,7 @@ // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int0, type: type0}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int1, type: type0}, // CHECK:STDOUT: {kind: BinaryOperatorAdd, arg0: node+1, arg1: node+2, type: type0}, -// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+3, type: type0}, +// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+3}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/operators/fail_type_mismatch.carbon b/toolchain/semantics/testdata/operators/fail_type_mismatch.carbon index dcdb72b92a58..6441e838ada3 100644 --- a/toolchain/semantics/testdata/operators/fail_type_mismatch.carbon +++ b/toolchain/semantics/testdata/operators/fail_type_mismatch.carbon @@ -27,7 +27,7 @@ // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int0, type: type0}, // CHECK:STDOUT: {kind: RealLiteral, arg0: real0, type: type1}, // CHECK:STDOUT: {kind: BinaryOperatorAdd, arg0: nodeError, arg1: node+2, type: typeError}, -// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+3, type: typeError}, +// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+3}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/operators/fail_type_mismatch_once.carbon b/toolchain/semantics/testdata/operators/fail_type_mismatch_once.carbon index 2dbb942dc090..0f5fd7952c70 100644 --- a/toolchain/semantics/testdata/operators/fail_type_mismatch_once.carbon +++ b/toolchain/semantics/testdata/operators/fail_type_mismatch_once.carbon @@ -30,7 +30,7 @@ // CHECK:STDOUT: {kind: BinaryOperatorAdd, arg0: nodeError, arg1: node+2, type: typeError}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int1, type: type0}, // CHECK:STDOUT: {kind: BinaryOperatorAdd, arg0: node+3, arg1: node+4, type: typeError}, -// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+5, type: typeError}, +// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+5}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/operators/or.carbon b/toolchain/semantics/testdata/operators/or.carbon index eaa86b8b497d..dc268af3439d 100644 --- a/toolchain/semantics/testdata/operators/or.carbon +++ b/toolchain/semantics/testdata/operators/or.carbon @@ -26,10 +26,10 @@ // CHECK:STDOUT: nodes: [ // CHECK:STDOUT: {kind: FunctionDeclaration, arg0: function0}, // CHECK:STDOUT: {kind: BoolLiteral, arg0: true, type: type0}, -// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+1, type: type0}, +// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+1}, // CHECK:STDOUT: {kind: FunctionDeclaration, arg0: function1}, // CHECK:STDOUT: {kind: BoolLiteral, arg0: true, type: type0}, -// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+4, type: type0}, +// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+4}, // CHECK:STDOUT: {kind: FunctionDeclaration, arg0: function2}, // CHECK:STDOUT: {kind: Call, arg0: block0, arg1: function0, type: type0}, // CHECK:STDOUT: {kind: UnaryOperatorNot, arg0: node+7, type: type0}, @@ -39,7 +39,7 @@ // CHECK:STDOUT: {kind: Call, arg0: block0, arg1: function1, type: type0}, // CHECK:STDOUT: {kind: BranchWithArg, arg0: block6, arg1: node+12}, // CHECK:STDOUT: {kind: BlockArg, arg0: block6, type: type0}, -// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+14, type: type0}, +// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+14}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/operators/unary_op.carbon b/toolchain/semantics/testdata/operators/unary_op.carbon index 9165b63b6ce7..a33bad6e20e5 100644 --- a/toolchain/semantics/testdata/operators/unary_op.carbon +++ b/toolchain/semantics/testdata/operators/unary_op.carbon @@ -25,7 +25,7 @@ // CHECK:STDOUT: {kind: BindName, arg0: str1, arg1: node+0, type: type0}, // CHECK:STDOUT: {kind: FunctionDeclaration, arg0: function0}, // CHECK:STDOUT: {kind: UnaryOperatorNot, arg0: node+0, type: type0}, -// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+3, type: type0}, +// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+3}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/return/code_after_return.carbon b/toolchain/semantics/testdata/return/code_after_return.carbon index 969a7c37631b..7a25b6b6432e 100644 --- a/toolchain/semantics/testdata/return/code_after_return.carbon +++ b/toolchain/semantics/testdata/return/code_after_return.carbon @@ -30,7 +30,7 @@ // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int0, type: type0}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int1, type: type0}, // CHECK:STDOUT: {kind: BinaryOperatorAdd, arg0: node+4, arg1: node+5, type: type0}, -// CHECK:STDOUT: {kind: Assign, arg0: node+2, arg1: node+6, type: type0}, +// CHECK:STDOUT: {kind: Assign, arg0: node+2, arg1: node+6}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/return/code_after_return_value.carbon b/toolchain/semantics/testdata/return/code_after_return_value.carbon index fccc04cdf30c..ca7b11e3a287 100644 --- a/toolchain/semantics/testdata/return/code_after_return_value.carbon +++ b/toolchain/semantics/testdata/return/code_after_return_value.carbon @@ -30,13 +30,13 @@ // CHECK:STDOUT: {kind: BindName, arg0: str1, arg1: node+0, type: type0}, // CHECK:STDOUT: {kind: FunctionDeclaration, arg0: function0}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int0, type: type1}, -// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+3, type: type1}, +// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+3}, // CHECK:STDOUT: {kind: VarStorage, type: type1}, // CHECK:STDOUT: {kind: BindName, arg0: str2, arg1: node+5, type: type1}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int1, type: type1}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int2, type: type1}, // CHECK:STDOUT: {kind: BlockArg, arg0: unreachable, type: type1}, -// CHECK:STDOUT: {kind: Assign, arg0: node+5, arg1: node+9, type: type1}, +// CHECK:STDOUT: {kind: Assign, arg0: node+5, arg1: node+9}, // CHECK:STDOUT: {kind: BoolLiteral, arg0: false, type: type0}, // CHECK:STDOUT: {kind: UnaryOperatorNot, arg0: node+0, type: type0}, // CHECK:STDOUT: {kind: BoolLiteral, arg0: true, type: type0}, diff --git a/toolchain/semantics/testdata/return/fail_type_mismatch.carbon b/toolchain/semantics/testdata/return/fail_type_mismatch.carbon index 96ac9af144aa..c95154b1b384 100644 --- a/toolchain/semantics/testdata/return/fail_type_mismatch.carbon +++ b/toolchain/semantics/testdata/return/fail_type_mismatch.carbon @@ -24,7 +24,7 @@ // CHECK:STDOUT: nodes: [ // CHECK:STDOUT: {kind: FunctionDeclaration, arg0: function0}, // CHECK:STDOUT: {kind: RealLiteral, arg0: real0, type: type1}, -// CHECK:STDOUT: {kind: ReturnExpression, arg0: nodeError, type: typeError}, +// CHECK:STDOUT: {kind: ReturnExpression, arg0: nodeError}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/return/fail_value_disallowed.carbon b/toolchain/semantics/testdata/return/fail_value_disallowed.carbon index 56569524eb7d..f49fafd4cebf 100644 --- a/toolchain/semantics/testdata/return/fail_value_disallowed.carbon +++ b/toolchain/semantics/testdata/return/fail_value_disallowed.carbon @@ -23,7 +23,7 @@ // CHECK:STDOUT: nodes: [ // CHECK:STDOUT: {kind: FunctionDeclaration, arg0: function0}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int0, type: type0}, -// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+1, type: type0}, +// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+1}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/return/struct.carbon b/toolchain/semantics/testdata/return/struct.carbon index 88546d9edc08..689b9f82df43 100644 --- a/toolchain/semantics/testdata/return/struct.carbon +++ b/toolchain/semantics/testdata/return/struct.carbon @@ -23,14 +23,14 @@ // CHECK:STDOUT: type_blocks: [ // CHECK:STDOUT: ] // CHECK:STDOUT: nodes: [ -// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, type: type0}, +// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, arg1: type0}, // CHECK:STDOUT: {kind: StructType, arg0: block2, type: typeTypeType}, // CHECK:STDOUT: {kind: FunctionDeclaration, arg0: function0}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int0, type: type0}, -// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, type: type0}, +// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, arg1: type0}, // CHECK:STDOUT: {kind: StubReference, arg0: node+3, type: type0}, // CHECK:STDOUT: {kind: StructValue, arg0: block5, type: type1}, -// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+6, type: type1}, +// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+6}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/return/tuple.carbon b/toolchain/semantics/testdata/return/tuple.carbon index 1f89f6bc1b41..22ae44fefb68 100644 --- a/toolchain/semantics/testdata/return/tuple.carbon +++ b/toolchain/semantics/testdata/return/tuple.carbon @@ -43,7 +43,7 @@ // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int1, type: type1}, // CHECK:STDOUT: {kind: StubReference, arg0: node+8, type: type1}, // CHECK:STDOUT: {kind: TupleValue, arg0: block4, type: type2}, -// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+10, type: type2}, +// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+10}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/return/value.carbon b/toolchain/semantics/testdata/return/value.carbon index 113be82b063d..a6097970445c 100644 --- a/toolchain/semantics/testdata/return/value.carbon +++ b/toolchain/semantics/testdata/return/value.carbon @@ -23,7 +23,7 @@ // CHECK:STDOUT: nodes: [ // CHECK:STDOUT: {kind: FunctionDeclaration, arg0: function0}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int0, type: type0}, -// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+1, type: type0}, +// CHECK:STDOUT: {kind: ReturnExpression, arg0: node+1}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/struct/empty.carbon b/toolchain/semantics/testdata/struct/empty.carbon index fa55b5bb05cd..383b3f37cafc 100644 --- a/toolchain/semantics/testdata/struct/empty.carbon +++ b/toolchain/semantics/testdata/struct/empty.carbon @@ -25,11 +25,11 @@ // CHECK:STDOUT: {kind: VarStorage, type: type0}, // CHECK:STDOUT: {kind: BindName, arg0: str0, arg1: node+2, type: type0}, // CHECK:STDOUT: {kind: StructValue, arg0: block0, type: type0}, -// CHECK:STDOUT: {kind: Assign, arg0: node+2, arg1: node+4, type: type0}, +// CHECK:STDOUT: {kind: Assign, arg0: node+2, arg1: node+4}, // CHECK:STDOUT: {kind: StructValue, arg0: block0, type: type0}, // CHECK:STDOUT: {kind: VarStorage, type: type0}, // CHECK:STDOUT: {kind: BindName, arg0: str1, arg1: node+7, type: type0}, -// CHECK:STDOUT: {kind: Assign, arg0: node+7, arg1: node+2, type: type0}, +// CHECK:STDOUT: {kind: Assign, arg0: node+7, arg1: node+2}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/struct/fail_assign_empty.carbon b/toolchain/semantics/testdata/struct/fail_assign_empty.carbon index 2208abbae191..6b385c5264be 100644 --- a/toolchain/semantics/testdata/struct/fail_assign_empty.carbon +++ b/toolchain/semantics/testdata/struct/fail_assign_empty.carbon @@ -22,13 +22,13 @@ // CHECK:STDOUT: type_blocks: [ // CHECK:STDOUT: ] // CHECK:STDOUT: nodes: [ -// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, type: type0}, +// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, arg1: type0}, // CHECK:STDOUT: {kind: StructType, arg0: block2, type: typeTypeType}, // CHECK:STDOUT: {kind: VarStorage, type: type1}, // CHECK:STDOUT: {kind: BindName, arg0: str0, arg1: node+2, type: type1}, // CHECK:STDOUT: {kind: StructType, arg0: block0, type: typeTypeType}, // CHECK:STDOUT: {kind: StructValue, arg0: block0, type: type2}, -// CHECK:STDOUT: {kind: Assign, arg0: node+2, arg1: nodeError, type: typeError}, +// CHECK:STDOUT: {kind: Assign, arg0: node+2, arg1: nodeError}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/struct/fail_assign_to_empty.carbon b/toolchain/semantics/testdata/struct/fail_assign_to_empty.carbon index c47567241283..b4d2b078ce38 100644 --- a/toolchain/semantics/testdata/struct/fail_assign_to_empty.carbon +++ b/toolchain/semantics/testdata/struct/fail_assign_to_empty.carbon @@ -28,11 +28,11 @@ // CHECK:STDOUT: {kind: VarStorage, type: type0}, // CHECK:STDOUT: {kind: BindName, arg0: str0, arg1: node+2, type: type0}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int0, type: type1}, -// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, type: type1}, +// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, arg1: type1}, // CHECK:STDOUT: {kind: StubReference, arg0: node+4, type: type1}, // CHECK:STDOUT: {kind: StructType, arg0: block2, type: typeTypeType}, // CHECK:STDOUT: {kind: StructValue, arg0: block3, type: type2}, -// CHECK:STDOUT: {kind: Assign, arg0: node+2, arg1: nodeError, type: typeError}, +// CHECK:STDOUT: {kind: Assign, arg0: node+2, arg1: nodeError}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/struct/fail_field_name_mismatch.carbon b/toolchain/semantics/testdata/struct/fail_field_name_mismatch.carbon index 3b82e14266f6..31e7126670c1 100644 --- a/toolchain/semantics/testdata/struct/fail_field_name_mismatch.carbon +++ b/toolchain/semantics/testdata/struct/fail_field_name_mismatch.carbon @@ -24,16 +24,16 @@ // CHECK:STDOUT: type_blocks: [ // CHECK:STDOUT: ] // CHECK:STDOUT: nodes: [ -// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, type: type0}, +// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, arg1: type0}, // CHECK:STDOUT: {kind: StructType, arg0: block2, type: typeTypeType}, // CHECK:STDOUT: {kind: VarStorage, type: type1}, // CHECK:STDOUT: {kind: BindName, arg0: str0, arg1: node+2, type: type1}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int0, type: type0}, -// CHECK:STDOUT: {kind: StructTypeField, arg0: str2, type: type0}, +// CHECK:STDOUT: {kind: StructTypeField, arg0: str2, arg1: type0}, // CHECK:STDOUT: {kind: StubReference, arg0: node+4, type: type0}, // CHECK:STDOUT: {kind: StructType, arg0: block3, type: typeTypeType}, // CHECK:STDOUT: {kind: StructValue, arg0: block4, type: type2}, -// CHECK:STDOUT: {kind: Assign, arg0: node+2, arg1: nodeError, type: typeError}, +// CHECK:STDOUT: {kind: Assign, arg0: node+2, arg1: nodeError}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/struct/fail_field_type_mismatch.carbon b/toolchain/semantics/testdata/struct/fail_field_type_mismatch.carbon index 63352220bb11..5d584751d569 100644 --- a/toolchain/semantics/testdata/struct/fail_field_type_mismatch.carbon +++ b/toolchain/semantics/testdata/struct/fail_field_type_mismatch.carbon @@ -25,16 +25,16 @@ // CHECK:STDOUT: type_blocks: [ // CHECK:STDOUT: ] // CHECK:STDOUT: nodes: [ -// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, type: type0}, +// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, arg1: type0}, // CHECK:STDOUT: {kind: StructType, arg0: block2, type: typeTypeType}, // CHECK:STDOUT: {kind: VarStorage, type: type1}, // CHECK:STDOUT: {kind: BindName, arg0: str0, arg1: node+2, type: type1}, // CHECK:STDOUT: {kind: RealLiteral, arg0: real0, type: type2}, -// CHECK:STDOUT: {kind: StructTypeField, arg0: str2, type: type2}, +// CHECK:STDOUT: {kind: StructTypeField, arg0: str2, arg1: type2}, // CHECK:STDOUT: {kind: StubReference, arg0: node+4, type: type2}, // CHECK:STDOUT: {kind: StructType, arg0: block3, type: typeTypeType}, // CHECK:STDOUT: {kind: StructValue, arg0: block4, type: type3}, -// CHECK:STDOUT: {kind: Assign, arg0: node+2, arg1: nodeError, type: typeError}, +// CHECK:STDOUT: {kind: Assign, arg0: node+2, arg1: nodeError}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/struct/fail_member_access_type.carbon b/toolchain/semantics/testdata/struct/fail_member_access_type.carbon index 405feab259ba..4d4e3f7173b6 100644 --- a/toolchain/semantics/testdata/struct/fail_member_access_type.carbon +++ b/toolchain/semantics/testdata/struct/fail_member_access_type.carbon @@ -25,18 +25,18 @@ // CHECK:STDOUT: type_blocks: [ // CHECK:STDOUT: ] // CHECK:STDOUT: nodes: [ -// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, type: type0}, +// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, arg1: type0}, // CHECK:STDOUT: {kind: StructType, arg0: block2, type: typeTypeType}, // CHECK:STDOUT: {kind: VarStorage, type: type1}, // CHECK:STDOUT: {kind: BindName, arg0: str0, arg1: node+2, type: type1}, // CHECK:STDOUT: {kind: RealLiteral, arg0: real0, type: type0}, -// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, type: type0}, +// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, arg1: type0}, // CHECK:STDOUT: {kind: StubReference, arg0: node+4, type: type0}, // CHECK:STDOUT: {kind: StructValue, arg0: block4, type: type1}, -// CHECK:STDOUT: {kind: Assign, arg0: node+2, arg1: node+7, type: type1}, +// CHECK:STDOUT: {kind: Assign, arg0: node+2, arg1: node+7}, // CHECK:STDOUT: {kind: VarStorage, type: type2}, // CHECK:STDOUT: {kind: BindName, arg0: str2, arg1: node+9, type: type2}, -// CHECK:STDOUT: {kind: Assign, arg0: node+9, arg1: nodeError, type: typeError}, +// CHECK:STDOUT: {kind: Assign, arg0: node+9, arg1: nodeError}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/struct/fail_non_member_access.carbon b/toolchain/semantics/testdata/struct/fail_non_member_access.carbon index bd63d9be1dab..1f96a4c6bd68 100644 --- a/toolchain/semantics/testdata/struct/fail_non_member_access.carbon +++ b/toolchain/semantics/testdata/struct/fail_non_member_access.carbon @@ -24,18 +24,18 @@ // CHECK:STDOUT: type_blocks: [ // CHECK:STDOUT: ] // CHECK:STDOUT: nodes: [ -// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, type: type0}, +// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, arg1: type0}, // CHECK:STDOUT: {kind: StructType, arg0: block2, type: typeTypeType}, // CHECK:STDOUT: {kind: VarStorage, type: type1}, // CHECK:STDOUT: {kind: BindName, arg0: str0, arg1: node+2, type: type1}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int0, type: type0}, -// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, type: type0}, +// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, arg1: type0}, // CHECK:STDOUT: {kind: StubReference, arg0: node+4, type: type0}, // CHECK:STDOUT: {kind: StructValue, arg0: block4, type: type1}, -// CHECK:STDOUT: {kind: Assign, arg0: node+2, arg1: node+7, type: type1}, +// CHECK:STDOUT: {kind: Assign, arg0: node+2, arg1: node+7}, // CHECK:STDOUT: {kind: VarStorage, type: type0}, // CHECK:STDOUT: {kind: BindName, arg0: str2, arg1: node+9, type: type0}, -// CHECK:STDOUT: {kind: Assign, arg0: node+9, arg1: nodeError, type: typeError}, +// CHECK:STDOUT: {kind: Assign, arg0: node+9, arg1: nodeError}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/struct/fail_too_few_values.carbon b/toolchain/semantics/testdata/struct/fail_too_few_values.carbon index 773289d85a5a..2c8c35791ef7 100644 --- a/toolchain/semantics/testdata/struct/fail_too_few_values.carbon +++ b/toolchain/semantics/testdata/struct/fail_too_few_values.carbon @@ -24,17 +24,17 @@ // CHECK:STDOUT: type_blocks: [ // CHECK:STDOUT: ] // CHECK:STDOUT: nodes: [ -// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, type: type0}, -// CHECK:STDOUT: {kind: StructTypeField, arg0: str2, type: type0}, +// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, arg1: type0}, +// CHECK:STDOUT: {kind: StructTypeField, arg0: str2, arg1: type0}, // CHECK:STDOUT: {kind: StructType, arg0: block2, type: typeTypeType}, // CHECK:STDOUT: {kind: VarStorage, type: type1}, // CHECK:STDOUT: {kind: BindName, arg0: str0, arg1: node+3, type: type1}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int0, type: type0}, -// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, type: type0}, +// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, arg1: type0}, // CHECK:STDOUT: {kind: StubReference, arg0: node+5, type: type0}, // CHECK:STDOUT: {kind: StructType, arg0: block3, type: typeTypeType}, // CHECK:STDOUT: {kind: StructValue, arg0: block4, type: type2}, -// CHECK:STDOUT: {kind: Assign, arg0: node+3, arg1: nodeError, type: typeError}, +// CHECK:STDOUT: {kind: Assign, arg0: node+3, arg1: nodeError}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/struct/fail_type_assign.carbon b/toolchain/semantics/testdata/struct/fail_type_assign.carbon index 470624e3eb40..1c7d968436f3 100644 --- a/toolchain/semantics/testdata/struct/fail_type_assign.carbon +++ b/toolchain/semantics/testdata/struct/fail_type_assign.carbon @@ -21,12 +21,12 @@ // CHECK:STDOUT: type_blocks: [ // CHECK:STDOUT: ] // CHECK:STDOUT: nodes: [ -// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, type: type0}, +// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, arg1: type0}, // CHECK:STDOUT: {kind: StructType, arg0: block2, type: typeTypeType}, // CHECK:STDOUT: {kind: VarStorage, type: type1}, // CHECK:STDOUT: {kind: BindName, arg0: str0, arg1: node+2, type: type1}, -// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, type: type0}, -// CHECK:STDOUT: {kind: Assign, arg0: node+2, arg1: nodeError, type: typeError}, +// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, arg1: type0}, +// CHECK:STDOUT: {kind: Assign, arg0: node+2, arg1: nodeError}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/struct/fail_value_as_type.carbon b/toolchain/semantics/testdata/struct/fail_value_as_type.carbon index 72685636582b..35e1a210135b 100644 --- a/toolchain/semantics/testdata/struct/fail_value_as_type.carbon +++ b/toolchain/semantics/testdata/struct/fail_value_as_type.carbon @@ -23,7 +23,7 @@ // CHECK:STDOUT: ] // CHECK:STDOUT: nodes: [ // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int0, type: type0}, -// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, type: type0}, +// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, arg1: type0}, // CHECK:STDOUT: {kind: StubReference, arg0: node+0, type: type0}, // CHECK:STDOUT: {kind: StructType, arg0: block2, type: typeTypeType}, // CHECK:STDOUT: {kind: StructValue, arg0: block3, type: type1}, diff --git a/toolchain/semantics/testdata/struct/member_access.carbon b/toolchain/semantics/testdata/struct/member_access.carbon index 45a2c2088205..e84fede1fe70 100644 --- a/toolchain/semantics/testdata/struct/member_access.carbon +++ b/toolchain/semantics/testdata/struct/member_access.carbon @@ -27,26 +27,26 @@ // CHECK:STDOUT: type_blocks: [ // CHECK:STDOUT: ] // CHECK:STDOUT: nodes: [ -// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, type: type0}, -// CHECK:STDOUT: {kind: StructTypeField, arg0: str2, type: type1}, +// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, arg1: type0}, +// CHECK:STDOUT: {kind: StructTypeField, arg0: str2, arg1: type1}, // CHECK:STDOUT: {kind: StructType, arg0: block2, type: typeTypeType}, // CHECK:STDOUT: {kind: VarStorage, type: type2}, // CHECK:STDOUT: {kind: BindName, arg0: str0, arg1: node+3, type: type2}, // CHECK:STDOUT: {kind: RealLiteral, arg0: real0, type: type0}, -// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, type: type0}, +// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, arg1: type0}, // CHECK:STDOUT: {kind: StubReference, arg0: node+5, type: type0}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int0, type: type1}, -// CHECK:STDOUT: {kind: StructTypeField, arg0: str2, type: type1}, +// CHECK:STDOUT: {kind: StructTypeField, arg0: str2, arg1: type1}, // CHECK:STDOUT: {kind: StubReference, arg0: node+8, type: type1}, // CHECK:STDOUT: {kind: StructValue, arg0: block4, type: type2}, -// CHECK:STDOUT: {kind: Assign, arg0: node+3, arg1: node+11, type: type2}, +// CHECK:STDOUT: {kind: Assign, arg0: node+3, arg1: node+11}, // CHECK:STDOUT: {kind: VarStorage, type: type1}, // CHECK:STDOUT: {kind: BindName, arg0: str3, arg1: node+13, type: type1}, // CHECK:STDOUT: {kind: StructMemberAccess, arg0: node+3, arg1: member1, type: type1}, -// CHECK:STDOUT: {kind: Assign, arg0: node+13, arg1: node+15, type: type1}, +// CHECK:STDOUT: {kind: Assign, arg0: node+13, arg1: node+15}, // CHECK:STDOUT: {kind: VarStorage, type: type1}, // CHECK:STDOUT: {kind: BindName, arg0: str4, arg1: node+17, type: type1}, -// CHECK:STDOUT: {kind: Assign, arg0: node+17, arg1: node+13, type: type1}, +// CHECK:STDOUT: {kind: Assign, arg0: node+17, arg1: node+13}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/struct/one_entry.carbon b/toolchain/semantics/testdata/struct/one_entry.carbon index e7817c5d4887..4b5dfd6c6527 100644 --- a/toolchain/semantics/testdata/struct/one_entry.carbon +++ b/toolchain/semantics/testdata/struct/one_entry.carbon @@ -23,19 +23,19 @@ // CHECK:STDOUT: type_blocks: [ // CHECK:STDOUT: ] // CHECK:STDOUT: nodes: [ -// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, type: type0}, +// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, arg1: type0}, // CHECK:STDOUT: {kind: StructType, arg0: block2, type: typeTypeType}, // CHECK:STDOUT: {kind: VarStorage, type: type1}, // CHECK:STDOUT: {kind: BindName, arg0: str0, arg1: node+2, type: type1}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int0, type: type0}, -// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, type: type0}, +// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, arg1: type0}, // CHECK:STDOUT: {kind: StubReference, arg0: node+4, type: type0}, // CHECK:STDOUT: {kind: StructValue, arg0: block4, type: type1}, -// CHECK:STDOUT: {kind: Assign, arg0: node+2, arg1: node+7, type: type1}, -// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, type: type0}, +// CHECK:STDOUT: {kind: Assign, arg0: node+2, arg1: node+7}, +// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, arg1: type0}, // CHECK:STDOUT: {kind: VarStorage, type: type1}, // CHECK:STDOUT: {kind: BindName, arg0: str2, arg1: node+10, type: type1}, -// CHECK:STDOUT: {kind: Assign, arg0: node+10, arg1: node+2, type: type1}, +// CHECK:STDOUT: {kind: Assign, arg0: node+10, arg1: node+2}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/struct/tuple_as_element.carbon b/toolchain/semantics/testdata/struct/tuple_as_element.carbon index fa393dc076a0..e8c48c7b288a 100644 --- a/toolchain/semantics/testdata/struct/tuple_as_element.carbon +++ b/toolchain/semantics/testdata/struct/tuple_as_element.carbon @@ -33,32 +33,32 @@ // CHECK:STDOUT: ], // CHECK:STDOUT: ] // CHECK:STDOUT: nodes: [ -// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, type: type0}, +// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, arg1: type0}, // CHECK:STDOUT: {kind: StubReference, arg0: nodeIntegerType, type: typeTypeType}, // CHECK:STDOUT: {kind: TupleType, arg0: typeBlock0, type: typeTypeType}, // CHECK:STDOUT: {kind: TupleValue, arg0: block3, type: type1}, // CHECK:STDOUT: {kind: TupleType, arg0: typeBlock1, type: typeTypeType}, -// CHECK:STDOUT: {kind: StructTypeField, arg0: str2, type: type2}, +// CHECK:STDOUT: {kind: StructTypeField, arg0: str2, arg1: type2}, // CHECK:STDOUT: {kind: StructType, arg0: block2, type: typeTypeType}, // CHECK:STDOUT: {kind: VarStorage, type: type3}, // CHECK:STDOUT: {kind: BindName, arg0: str0, arg1: node+7, type: type3}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int0, type: type0}, -// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, type: type0}, +// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, arg1: type0}, // CHECK:STDOUT: {kind: StubReference, arg0: node+9, type: type0}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int1, type: type0}, // CHECK:STDOUT: {kind: StubReference, arg0: node+12, type: type0}, // CHECK:STDOUT: {kind: TupleValue, arg0: block6, type: type2}, -// CHECK:STDOUT: {kind: StructTypeField, arg0: str2, type: type2}, +// CHECK:STDOUT: {kind: StructTypeField, arg0: str2, arg1: type2}, // CHECK:STDOUT: {kind: StubReference, arg0: node+14, type: type2}, // CHECK:STDOUT: {kind: StructValue, arg0: block5, type: type3}, -// CHECK:STDOUT: {kind: Assign, arg0: node+7, arg1: node+17, type: type3}, -// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, type: type0}, +// CHECK:STDOUT: {kind: Assign, arg0: node+7, arg1: node+17}, +// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, arg1: type0}, // CHECK:STDOUT: {kind: StubReference, arg0: nodeIntegerType, type: typeTypeType}, // CHECK:STDOUT: {kind: TupleValue, arg0: block8, type: type1}, -// CHECK:STDOUT: {kind: StructTypeField, arg0: str2, type: type2}, +// CHECK:STDOUT: {kind: StructTypeField, arg0: str2, arg1: type2}, // CHECK:STDOUT: {kind: VarStorage, type: type3}, // CHECK:STDOUT: {kind: BindName, arg0: str3, arg1: node+23, type: type3}, -// CHECK:STDOUT: {kind: Assign, arg0: node+23, arg1: node+7, type: type3}, +// CHECK:STDOUT: {kind: Assign, arg0: node+23, arg1: node+7}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/struct/two_entries.carbon b/toolchain/semantics/testdata/struct/two_entries.carbon index e5739862d849..f3847ed369da 100644 --- a/toolchain/semantics/testdata/struct/two_entries.carbon +++ b/toolchain/semantics/testdata/struct/two_entries.carbon @@ -25,24 +25,24 @@ // CHECK:STDOUT: type_blocks: [ // CHECK:STDOUT: ] // CHECK:STDOUT: nodes: [ -// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, type: type0}, -// CHECK:STDOUT: {kind: StructTypeField, arg0: str2, type: type0}, +// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, arg1: type0}, +// CHECK:STDOUT: {kind: StructTypeField, arg0: str2, arg1: type0}, // CHECK:STDOUT: {kind: StructType, arg0: block2, type: typeTypeType}, // CHECK:STDOUT: {kind: VarStorage, type: type1}, // CHECK:STDOUT: {kind: BindName, arg0: str0, arg1: node+3, type: type1}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int0, type: type0}, -// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, type: type0}, +// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, arg1: type0}, // CHECK:STDOUT: {kind: StubReference, arg0: node+5, type: type0}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int1, type: type0}, -// CHECK:STDOUT: {kind: StructTypeField, arg0: str2, type: type0}, +// CHECK:STDOUT: {kind: StructTypeField, arg0: str2, arg1: type0}, // CHECK:STDOUT: {kind: StubReference, arg0: node+8, type: type0}, // CHECK:STDOUT: {kind: StructValue, arg0: block4, type: type1}, -// CHECK:STDOUT: {kind: Assign, arg0: node+3, arg1: node+11, type: type1}, -// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, type: type0}, -// CHECK:STDOUT: {kind: StructTypeField, arg0: str2, type: type0}, +// CHECK:STDOUT: {kind: Assign, arg0: node+3, arg1: node+11}, +// CHECK:STDOUT: {kind: StructTypeField, arg0: str1, arg1: type0}, +// CHECK:STDOUT: {kind: StructTypeField, arg0: str2, arg1: type0}, // CHECK:STDOUT: {kind: VarStorage, type: type1}, // CHECK:STDOUT: {kind: BindName, arg0: str3, arg1: node+15, type: type1}, -// CHECK:STDOUT: {kind: Assign, arg0: node+15, arg1: node+3, type: type1}, +// CHECK:STDOUT: {kind: Assign, arg0: node+15, arg1: node+3}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/tuples/empty.carbon b/toolchain/semantics/testdata/tuples/empty.carbon index db9159e864c6..a75f34d6f957 100644 --- a/toolchain/semantics/testdata/tuples/empty.carbon +++ b/toolchain/semantics/testdata/tuples/empty.carbon @@ -27,11 +27,11 @@ // CHECK:STDOUT: {kind: VarStorage, type: type0}, // CHECK:STDOUT: {kind: BindName, arg0: str0, arg1: node+2, type: type0}, // CHECK:STDOUT: {kind: TupleValue, arg0: block0, type: type0}, -// CHECK:STDOUT: {kind: Assign, arg0: node+2, arg1: node+4, type: type0}, +// CHECK:STDOUT: {kind: Assign, arg0: node+2, arg1: node+4}, // CHECK:STDOUT: {kind: TupleValue, arg0: block0, type: type0}, // CHECK:STDOUT: {kind: VarStorage, type: type0}, // CHECK:STDOUT: {kind: BindName, arg0: str1, arg1: node+7, type: type0}, -// CHECK:STDOUT: {kind: Assign, arg0: node+7, arg1: node+2, type: type0}, +// CHECK:STDOUT: {kind: Assign, arg0: node+7, arg1: node+2}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/tuples/fail_assign_empty.carbon b/toolchain/semantics/testdata/tuples/fail_assign_empty.carbon index f9ede548485e..9adfe3a18e43 100644 --- a/toolchain/semantics/testdata/tuples/fail_assign_empty.carbon +++ b/toolchain/semantics/testdata/tuples/fail_assign_empty.carbon @@ -38,7 +38,7 @@ // CHECK:STDOUT: {kind: BindName, arg0: str0, arg1: node+4, type: type2}, // CHECK:STDOUT: {kind: TupleType, arg0: typeBlock2, type: typeTypeType}, // CHECK:STDOUT: {kind: TupleValue, arg0: block0, type: type3}, -// CHECK:STDOUT: {kind: Assign, arg0: node+4, arg1: nodeError, type: typeError}, +// CHECK:STDOUT: {kind: Assign, arg0: node+4, arg1: nodeError}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/tuples/fail_assign_to_empty.carbon b/toolchain/semantics/testdata/tuples/fail_assign_to_empty.carbon index 99b15bbf51af..5f1d7ed28621 100644 --- a/toolchain/semantics/testdata/tuples/fail_assign_to_empty.carbon +++ b/toolchain/semantics/testdata/tuples/fail_assign_to_empty.carbon @@ -28,7 +28,7 @@ // CHECK:STDOUT: {kind: VarStorage, type: type0}, // CHECK:STDOUT: {kind: BindName, arg0: str0, arg1: node+2, type: type0}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int0, type: type1}, -// CHECK:STDOUT: {kind: Assign, arg0: node+2, arg1: nodeError, type: typeError}, +// CHECK:STDOUT: {kind: Assign, arg0: node+2, arg1: nodeError}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/tuples/fail_element_type_mismatch.carbon b/toolchain/semantics/testdata/tuples/fail_element_type_mismatch.carbon index 496363ddf454..c8df9fdaf74c 100644 --- a/toolchain/semantics/testdata/tuples/fail_element_type_mismatch.carbon +++ b/toolchain/semantics/testdata/tuples/fail_element_type_mismatch.carbon @@ -50,7 +50,7 @@ // CHECK:STDOUT: {kind: StubReference, arg0: node+9, type: type3}, // CHECK:STDOUT: {kind: TupleType, arg0: typeBlock2, type: typeTypeType}, // CHECK:STDOUT: {kind: TupleValue, arg0: block3, type: type4}, -// CHECK:STDOUT: {kind: Assign, arg0: node+5, arg1: nodeError, type: typeError}, +// CHECK:STDOUT: {kind: Assign, arg0: node+5, arg1: nodeError}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/tuples/fail_too_few_element.carbon b/toolchain/semantics/testdata/tuples/fail_too_few_element.carbon index f4cdfe52f5e8..147d05297a68 100644 --- a/toolchain/semantics/testdata/tuples/fail_too_few_element.carbon +++ b/toolchain/semantics/testdata/tuples/fail_too_few_element.carbon @@ -45,7 +45,7 @@ // CHECK:STDOUT: {kind: StubReference, arg0: node+7, type: type1}, // CHECK:STDOUT: {kind: TupleType, arg0: typeBlock2, type: typeTypeType}, // CHECK:STDOUT: {kind: TupleValue, arg0: block3, type: type3}, -// CHECK:STDOUT: {kind: Assign, arg0: node+5, arg1: nodeError, type: typeError}, +// CHECK:STDOUT: {kind: Assign, arg0: node+5, arg1: nodeError}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/tuples/fail_type_assign.carbon b/toolchain/semantics/testdata/tuples/fail_type_assign.carbon index 638539c8600b..6a93a15d5f25 100644 --- a/toolchain/semantics/testdata/tuples/fail_type_assign.carbon +++ b/toolchain/semantics/testdata/tuples/fail_type_assign.carbon @@ -35,7 +35,7 @@ // CHECK:STDOUT: {kind: BindName, arg0: str0, arg1: node+4, type: type2}, // CHECK:STDOUT: {kind: StubReference, arg0: nodeIntegerType, type: typeTypeType}, // CHECK:STDOUT: {kind: TupleValue, arg0: block3, type: type0}, -// CHECK:STDOUT: {kind: Assign, arg0: node+4, arg1: nodeError, type: typeError}, +// CHECK:STDOUT: {kind: Assign, arg0: node+4, arg1: nodeError}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/tuples/nested_tuple.carbon b/toolchain/semantics/testdata/tuples/nested_tuple.carbon index 453b4e881ab6..f2e625796e8c 100644 --- a/toolchain/semantics/testdata/tuples/nested_tuple.carbon +++ b/toolchain/semantics/testdata/tuples/nested_tuple.carbon @@ -63,7 +63,7 @@ // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int2, type: type2}, // CHECK:STDOUT: {kind: StubReference, arg0: node+18, type: type2}, // CHECK:STDOUT: {kind: TupleValue, arg0: block5, type: type4}, -// CHECK:STDOUT: {kind: Assign, arg0: node+10, arg1: node+20, type: type4}, +// CHECK:STDOUT: {kind: Assign, arg0: node+10, arg1: node+20}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/tuples/one_element.carbon b/toolchain/semantics/testdata/tuples/one_element.carbon index 2ef7a255e063..1996fbeb56f2 100644 --- a/toolchain/semantics/testdata/tuples/one_element.carbon +++ b/toolchain/semantics/testdata/tuples/one_element.carbon @@ -38,12 +38,12 @@ // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int0, type: type1}, // CHECK:STDOUT: {kind: StubReference, arg0: node+6, type: type1}, // CHECK:STDOUT: {kind: TupleValue, arg0: block3, type: type2}, -// CHECK:STDOUT: {kind: Assign, arg0: node+4, arg1: node+8, type: type2}, +// CHECK:STDOUT: {kind: Assign, arg0: node+4, arg1: node+8}, // CHECK:STDOUT: {kind: StubReference, arg0: nodeIntegerType, type: typeTypeType}, // CHECK:STDOUT: {kind: TupleValue, arg0: block4, type: type0}, // CHECK:STDOUT: {kind: VarStorage, type: type2}, // CHECK:STDOUT: {kind: BindName, arg0: str1, arg1: node+12, type: type2}, -// CHECK:STDOUT: {kind: Assign, arg0: node+12, arg1: node+4, type: type2}, +// CHECK:STDOUT: {kind: Assign, arg0: node+12, arg1: node+4}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/tuples/two_elements.carbon b/toolchain/semantics/testdata/tuples/two_elements.carbon index 7b637b5818b2..36e680f0ae0a 100644 --- a/toolchain/semantics/testdata/tuples/two_elements.carbon +++ b/toolchain/semantics/testdata/tuples/two_elements.carbon @@ -44,13 +44,13 @@ // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int1, type: type1}, // CHECK:STDOUT: {kind: StubReference, arg0: node+9, type: type1}, // CHECK:STDOUT: {kind: TupleValue, arg0: block3, type: type2}, -// CHECK:STDOUT: {kind: Assign, arg0: node+5, arg1: node+11, type: type2}, +// CHECK:STDOUT: {kind: Assign, arg0: node+5, arg1: node+11}, // CHECK:STDOUT: {kind: StubReference, arg0: nodeIntegerType, type: typeTypeType}, // CHECK:STDOUT: {kind: StubReference, arg0: nodeIntegerType, type: typeTypeType}, // CHECK:STDOUT: {kind: TupleValue, arg0: block4, type: type0}, // CHECK:STDOUT: {kind: VarStorage, type: type2}, // CHECK:STDOUT: {kind: BindName, arg0: str1, arg1: node+16, type: type2}, -// CHECK:STDOUT: {kind: Assign, arg0: node+16, arg1: node+5, type: type2}, +// CHECK:STDOUT: {kind: Assign, arg0: node+16, arg1: node+5}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/var/decl_with_init.carbon b/toolchain/semantics/testdata/var/decl_with_init.carbon index d69c33671a1e..fa53a4e2a45e 100644 --- a/toolchain/semantics/testdata/var/decl_with_init.carbon +++ b/toolchain/semantics/testdata/var/decl_with_init.carbon @@ -26,7 +26,7 @@ // CHECK:STDOUT: {kind: VarStorage, type: type0}, // CHECK:STDOUT: {kind: BindName, arg0: str1, arg1: node+1, type: type0}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int0, type: type0}, -// CHECK:STDOUT: {kind: Assign, arg0: node+1, arg1: node+3, type: type0}, +// CHECK:STDOUT: {kind: Assign, arg0: node+1, arg1: node+3}, // CHECK:STDOUT: {kind: Return}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ diff --git a/toolchain/semantics/testdata/var/fail_duplicate_decl.carbon b/toolchain/semantics/testdata/var/fail_duplicate_decl.carbon index 4b27086b1406..80f225b59f00 100644 --- a/toolchain/semantics/testdata/var/fail_duplicate_decl.carbon +++ b/toolchain/semantics/testdata/var/fail_duplicate_decl.carbon @@ -27,11 +27,11 @@ // CHECK:STDOUT: {kind: VarStorage, type: type0}, // CHECK:STDOUT: {kind: BindName, arg0: str1, arg1: node+1, type: type0}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int0, type: type0}, -// CHECK:STDOUT: {kind: Assign, arg0: node+1, arg1: node+3, type: type0}, +// CHECK:STDOUT: {kind: Assign, arg0: node+1, arg1: node+3}, // CHECK:STDOUT: {kind: VarStorage, type: type0}, // CHECK:STDOUT: {kind: BindName, arg0: str1, arg1: node+5, type: type0}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int1, type: type0}, -// CHECK:STDOUT: {kind: Assign, arg0: node+5, arg1: node+7, type: type0}, +// CHECK:STDOUT: {kind: Assign, arg0: node+5, arg1: node+7}, // CHECK:STDOUT: {kind: Return}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ diff --git a/toolchain/semantics/testdata/var/fail_init_type_mismatch.carbon b/toolchain/semantics/testdata/var/fail_init_type_mismatch.carbon index ac09bc4cfc84..fa95c30d0737 100644 --- a/toolchain/semantics/testdata/var/fail_init_type_mismatch.carbon +++ b/toolchain/semantics/testdata/var/fail_init_type_mismatch.carbon @@ -27,7 +27,7 @@ // CHECK:STDOUT: {kind: VarStorage, type: type0}, // CHECK:STDOUT: {kind: BindName, arg0: str1, arg1: node+1, type: type0}, // CHECK:STDOUT: {kind: RealLiteral, arg0: real0, type: type1}, -// CHECK:STDOUT: {kind: Assign, arg0: node+1, arg1: nodeError, type: typeError}, +// CHECK:STDOUT: {kind: Assign, arg0: node+1, arg1: nodeError}, // CHECK:STDOUT: {kind: Return}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ diff --git a/toolchain/semantics/testdata/var/fail_init_with_self.carbon b/toolchain/semantics/testdata/var/fail_init_with_self.carbon index 42516169fcde..d81a72ebc872 100644 --- a/toolchain/semantics/testdata/var/fail_init_with_self.carbon +++ b/toolchain/semantics/testdata/var/fail_init_with_self.carbon @@ -24,7 +24,7 @@ // CHECK:STDOUT: {kind: FunctionDeclaration, arg0: function0}, // CHECK:STDOUT: {kind: VarStorage, type: type0}, // CHECK:STDOUT: {kind: BindName, arg0: str1, arg1: node+1, type: type0}, -// CHECK:STDOUT: {kind: Assign, arg0: node+1, arg1: nodeError, type: typeError}, +// CHECK:STDOUT: {kind: Assign, arg0: node+1, arg1: nodeError}, // CHECK:STDOUT: {kind: Return}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ diff --git a/toolchain/semantics/testdata/var/fail_lookup_outside_scope.carbon b/toolchain/semantics/testdata/var/fail_lookup_outside_scope.carbon index b91e5994a347..febe670484e2 100644 --- a/toolchain/semantics/testdata/var/fail_lookup_outside_scope.carbon +++ b/toolchain/semantics/testdata/var/fail_lookup_outside_scope.carbon @@ -28,7 +28,7 @@ // CHECK:STDOUT: {kind: Return}, // CHECK:STDOUT: {kind: VarStorage, type: type0}, // CHECK:STDOUT: {kind: BindName, arg0: str2, arg1: node+4, type: type0}, -// CHECK:STDOUT: {kind: Assign, arg0: node+4, arg1: nodeError, type: typeError}, +// CHECK:STDOUT: {kind: Assign, arg0: node+4, arg1: nodeError}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/var/fail_storage_is_literal.carbon b/toolchain/semantics/testdata/var/fail_storage_is_literal.carbon index b7485897d556..ce240c25c823 100644 --- a/toolchain/semantics/testdata/var/fail_storage_is_literal.carbon +++ b/toolchain/semantics/testdata/var/fail_storage_is_literal.carbon @@ -28,7 +28,7 @@ // CHECK:STDOUT: {kind: VarStorage, type: typeError}, // CHECK:STDOUT: {kind: BindName, arg0: str1, arg1: node+2, type: typeError}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int1, type: type0}, -// CHECK:STDOUT: {kind: Assign, arg0: node+2, arg1: nodeError, type: typeError}, +// CHECK:STDOUT: {kind: Assign, arg0: node+2, arg1: nodeError}, // CHECK:STDOUT: {kind: Return}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ diff --git a/toolchain/semantics/testdata/var/global_decl_with_init.carbon b/toolchain/semantics/testdata/var/global_decl_with_init.carbon index 8f50c23f741b..4a2ef1087289 100644 --- a/toolchain/semantics/testdata/var/global_decl_with_init.carbon +++ b/toolchain/semantics/testdata/var/global_decl_with_init.carbon @@ -23,7 +23,7 @@ // CHECK:STDOUT: {kind: VarStorage, type: type0}, // CHECK:STDOUT: {kind: BindName, arg0: str0, arg1: node+0, type: type0}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int0, type: type0}, -// CHECK:STDOUT: {kind: Assign, arg0: node+0, arg1: node+2, type: type0}, +// CHECK:STDOUT: {kind: Assign, arg0: node+0, arg1: node+2}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/var/global_lookup.carbon b/toolchain/semantics/testdata/var/global_lookup.carbon index f2a9ede03419..d476acc7b92a 100644 --- a/toolchain/semantics/testdata/var/global_lookup.carbon +++ b/toolchain/semantics/testdata/var/global_lookup.carbon @@ -24,10 +24,10 @@ // CHECK:STDOUT: {kind: VarStorage, type: type0}, // CHECK:STDOUT: {kind: BindName, arg0: str0, arg1: node+0, type: type0}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int0, type: type0}, -// CHECK:STDOUT: {kind: Assign, arg0: node+0, arg1: node+2, type: type0}, +// CHECK:STDOUT: {kind: Assign, arg0: node+0, arg1: node+2}, // CHECK:STDOUT: {kind: VarStorage, type: type0}, // CHECK:STDOUT: {kind: BindName, arg0: str1, arg1: node+4, type: type0}, -// CHECK:STDOUT: {kind: Assign, arg0: node+4, arg1: node+0, type: type0}, +// CHECK:STDOUT: {kind: Assign, arg0: node+4, arg1: node+0}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ // CHECK:STDOUT: [ diff --git a/toolchain/semantics/testdata/var/global_lookup_in_scope.carbon b/toolchain/semantics/testdata/var/global_lookup_in_scope.carbon index ec14a5fe7901..0ca2f56e4bf0 100644 --- a/toolchain/semantics/testdata/var/global_lookup_in_scope.carbon +++ b/toolchain/semantics/testdata/var/global_lookup_in_scope.carbon @@ -26,11 +26,11 @@ // CHECK:STDOUT: {kind: VarStorage, type: type0}, // CHECK:STDOUT: {kind: BindName, arg0: str0, arg1: node+0, type: type0}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int0, type: type0}, -// CHECK:STDOUT: {kind: Assign, arg0: node+0, arg1: node+2, type: type0}, +// CHECK:STDOUT: {kind: Assign, arg0: node+0, arg1: node+2}, // CHECK:STDOUT: {kind: FunctionDeclaration, arg0: function0}, // CHECK:STDOUT: {kind: VarStorage, type: type0}, // CHECK:STDOUT: {kind: BindName, arg0: str2, arg1: node+5, type: type0}, -// CHECK:STDOUT: {kind: Assign, arg0: node+5, arg1: node+0, type: type0}, +// CHECK:STDOUT: {kind: Assign, arg0: node+5, arg1: node+0}, // CHECK:STDOUT: {kind: Return}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [ diff --git a/toolchain/semantics/testdata/var/lookup.carbon b/toolchain/semantics/testdata/var/lookup.carbon index eceda2319855..54165f4f3542 100644 --- a/toolchain/semantics/testdata/var/lookup.carbon +++ b/toolchain/semantics/testdata/var/lookup.carbon @@ -26,7 +26,7 @@ // CHECK:STDOUT: {kind: VarStorage, type: type0}, // CHECK:STDOUT: {kind: BindName, arg0: str1, arg1: node+1, type: type0}, // CHECK:STDOUT: {kind: IntegerLiteral, arg0: int0, type: type0}, -// CHECK:STDOUT: {kind: Assign, arg0: node+1, arg1: node+3, type: type0}, +// CHECK:STDOUT: {kind: Assign, arg0: node+1, arg1: node+3}, // CHECK:STDOUT: {kind: Return}, // CHECK:STDOUT: ] // CHECK:STDOUT: node_blocks: [