Просмотр исходного кода

Mark `Check::Context::insts()` as `const` and use it in more use cases (#6093)

Boaz Brickner 7 месяцев назад
Родитель
Сommit
50a0f908c6

+ 1 - 1
toolchain/check/class.cpp

@@ -214,7 +214,7 @@ static auto BuildVtable(Context& context, Parse::ClassDefinitionId node_id,
         override_fn.virtual_index = vtable.size();
         CARBON_CHECK(override_fn.virtual_index == fn.virtual_index);
       } else if (auto base_vtable_specific_function =
-                     context.sem_ir().insts().TryGetAs<SemIR::SpecificFunction>(
+                     context.insts().TryGetAs<SemIR::SpecificFunction>(
                          derived_vtable_entry_id)) {
         if (derived_vtable_entry_const_id.is_symbolic()) {
           // Create a new instruction here that is otherwise identical to

+ 1 - 1
toolchain/check/context.h

@@ -294,7 +294,7 @@ class Context {
   auto types() -> SemIR::TypeStore& { return sem_ir().types(); }
   // Instructions should be added with `AddInst` or `AddInstInNoBlock` from
   // `inst.h`. This is `const` to prevent accidental misuse.
-  auto insts() -> const SemIR::InstStore& { return sem_ir().insts(); }
+  auto insts() const -> const SemIR::InstStore& { return sem_ir().insts(); }
   auto constant_values() -> SemIR::ConstantValueStore& {
     return sem_ir().constant_values();
   }

+ 1 - 1
toolchain/check/convert.cpp

@@ -63,7 +63,7 @@ static auto CopyValueToTemporary(Context& context, SemIR::InstId init_id)
     -> SemIR::InstId {
   // TODO: Consider using `None` to mean that we immediately materialize and
   // initialize a temporary, rather than two separate instructions.
-  auto init = context.sem_ir().insts().Get(init_id);
+  auto init = context.insts().Get(init_id);
   auto temporary_id = AddInst<SemIR::TemporaryStorage>(
       context, SemIR::LocId(init_id), {.type_id = init.type_id()});
   return AddInstWithCleanup<SemIR::Temporary>(context, SemIR::LocId(init_id),

+ 1 - 2
toolchain/check/cpp/import.cpp

@@ -599,8 +599,7 @@ static auto IsDeclInjectedClassName(const Context& context,
   CARBON_CHECK(ast_context.getCanonicalTagType(scope_record_decl) ==
                ast_context.getCanonicalTagType(record_decl));
 
-  auto class_decl =
-      context.sem_ir().insts().GetAs<SemIR::ClassDecl>(clang_decl.inst_id);
+  auto class_decl = context.insts().GetAs<SemIR::ClassDecl>(clang_decl.inst_id);
   CARBON_CHECK(name_id ==
                context.sem_ir().classes().Get(class_decl.class_id).name_id);
   return true;