Add support for char keyword per #5903. (#6078)

Make inst namer and stringify print `Core.Char` and `Core.String` as
`char` and `str` respectively. Plus a few cleanups.
This commit is contained in:
Richard Smith
2025-09-16 20:45:01 +00:00
committed by GitHub
parent 59c4cbcaf1
commit bac828d244
21 changed files with 351 additions and 106 deletions
+2 -2
View File
@@ -288,7 +288,7 @@ class Stringifier {
auto StringifyInst(InstId /*inst_id*/, ClassType inst) -> void {
const auto& class_info = sem_ir_->classes().Get(inst.class_id);
if (auto literal_info = NumericTypeLiteralInfo::ForType(*sem_ir_, inst);
if (auto literal_info = TypeLiteralInfo::ForType(*sem_ir_, inst);
literal_info.is_valid()) {
literal_info.PrintLiteral(*sem_ir_, *out_);
return;
@@ -751,7 +751,7 @@ auto StringifySpecific(const File& sem_ir, SpecificId specific_id)
// Print `Core.Int(N)` as `iN`.
// TODO: This duplicates work done in StringifyInst for ClassType.
const auto& class_info = sem_ir.classes().Get(class_decl.class_id);
if (auto literal_info = NumericTypeLiteralInfo::ForType(
if (auto literal_info = TypeLiteralInfo::ForType(
sem_ir, ClassType{.type_id = TypeType::TypeId,
.class_id = class_decl.class_id,
.specific_id = specific_id});