Remove the type field from semantics nodes that don't produce values of that type. (#3049)

For `Assign` and `ReturnExpression`, this field wasn't used for
anything. For `StructTypeField`, we stored the type of the field here,
and now store it as an argument of the node instead.

---------

Co-authored-by: Jon Ross-Perkins <jperkins@google.com>
This commit is contained in:
Richard Smith
2023-08-02 17:30:27 +00:00
committed by GitHub
co-authored by Jon Ross-Perkins
parent ab709b4117
commit 0c33dead70
71 changed files with 170 additions and 162 deletions
@@ -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