From 0925176da1dc5f22e2abf8312f60db233a4a381c Mon Sep 17 00:00:00 2001 From: Jon Ross-Perkins Date: Thu, 30 Mar 2023 10:26:03 -0700 Subject: [PATCH] Clean up a few missed stringification comments and one diagnostic. (#2718) --- toolchain/semantics/semantics_parse_tree_handler.cpp | 12 ++++-------- .../testdata/return/fail_value_missing.carbon | 2 +- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/toolchain/semantics/semantics_parse_tree_handler.cpp b/toolchain/semantics/semantics_parse_tree_handler.cpp index 1d94d1348b24..f1a7ac1a9450 100644 --- a/toolchain/semantics/semantics_parse_tree_handler.cpp +++ b/toolchain/semantics/semantics_parse_tree_handler.cpp @@ -167,7 +167,6 @@ auto SemanticsParseTreeHandler::TryTypeConversion(ParseTree::Node parse_node, if (type.is_valid()) { return type; } - // TODO: This should use type names instead of nodes. CARBON_DIAGNOSTIC(TypeMismatch, Error, "Type mismatch: lhs is {0}, rhs is {1}", std::string, std::string); @@ -215,7 +214,6 @@ auto SemanticsParseTreeHandler::TryTypeConversionOnArgs( auto result_type = CanTypeConvert(arg_ref_type, param_ref_type); if (!result_type.is_valid()) { - // TODO: This should use type names instead of nodes. CARBON_DIAGNOSTIC( CallArgTypeMismatch, Note, "Type mismatch: cannot convert argument {0} from {1} to {2}.", size_t, @@ -924,13 +922,12 @@ auto SemanticsParseTreeHandler::HandleReturnStatement( node_stack_.PopAndDiscardSoloParseNode(ParseNodeKind::ReturnStatementStart); if (callable.return_type_id.is_valid()) { - // TODO: Stringify types, add a note pointing at the return - // type's parse node. + // TODO: Add a note pointing at the return type's parse node. CARBON_DIAGNOSTIC(ReturnStatementMissingExpression, Error, - "Must return a {0}.", SemanticsNodeId); + "Must return a {0}.", std::string); emitter_ ->Build(parse_node, ReturnStatementMissingExpression, - callable.return_type_id) + semantics_->StringifyNode(callable.return_type_id)) .Emit(); } @@ -952,8 +949,7 @@ auto SemanticsParseTreeHandler::HandleReturnStatement( } else { const auto new_type = CanTypeConvert(arg_type, callable.return_type_id); if (!new_type.is_valid()) { - // TODO: Stringify types, add a note pointing at the return - // type's parse node. + // TODO: Add a note pointing at the return type's parse node. CARBON_DIAGNOSTIC(ReturnStatementTypeMismatch, Error, "Cannot convert {0} to {1}.", std::string, std::string); diff --git a/toolchain/semantics/testdata/return/fail_value_missing.carbon b/toolchain/semantics/testdata/return/fail_value_missing.carbon index 5456a7400450..b671d56ab67c 100644 --- a/toolchain/semantics/testdata/return/fail_value_missing.carbon +++ b/toolchain/semantics/testdata/return/fail_value_missing.carbon @@ -35,6 +35,6 @@ // CHECK:STDOUT: ] fn Main() -> i32 { - // CHECK:STDERR: {{.*}}/toolchain/semantics/testdata/return/fail_value_missing.carbon:[[@LINE+1]]:9: Must return a nodeIntegerType. + // CHECK:STDERR: {{.*}}/toolchain/semantics/testdata/return/fail_value_missing.carbon:[[@LINE+1]]:9: Must return a i32. return; }