Rename FacetTypeInfo to DeclaredFacetType (#7528)

This resolves a TODO comment in code.
This commit is contained in:
Özgür T. Önsoy
2026-07-20 19:15:09 +00:00
committed by GitHub
parent 085e45093e
commit 40028098ce
49 changed files with 682 additions and 593 deletions
+29 -26
View File
@@ -12,8 +12,8 @@
#include "common/concepts.h"
#include "common/raw_string_ostream.h"
#include "toolchain/base/kind_switch.h"
#include "toolchain/sem_ir/declared_facet_type.h"
#include "toolchain/sem_ir/entity_with_params_base.h"
#include "toolchain/sem_ir/facet_type_info.h"
#include "toolchain/sem_ir/ids.h"
#include "toolchain/sem_ir/inst_kind.h"
#include "toolchain/sem_ir/singleton_insts.h"
@@ -51,9 +51,9 @@ class StepStack {
// An individual step in the stack, which stringifies some component of a type
// name.
using Step =
std::variant<InstId, llvm::StringRef, NameId, ElementIndex, FacetTypeId,
StopQualifiedNames, ResumeQualifiedNames>;
using Step = std::variant<InstId, llvm::StringRef, NameId, ElementIndex,
DeclaredFacetTypeId, StopQualifiedNames,
ResumeQualifiedNames>;
// Support `Push` for a qualified name. e.g., `A.B.C`.
using QualifiedNameItem = std::pair<NameScopeId, NameId>;
@@ -79,8 +79,8 @@ class StepStack {
auto PushElementIndex(ElementIndex element_index) -> void {
steps_.push_back(element_index);
}
auto PushFacetType(FacetTypeId facet_type_id) -> void {
steps_.push_back(facet_type_id);
auto PushFacetType(DeclaredFacetTypeId declared_facet_type_id) -> void {
steps_.push_back(declared_facet_type_id);
}
auto PushResumeQualfiedNames() -> void {
steps_.push_back(ResumeQualifiedNames{});
@@ -375,7 +375,7 @@ class Stringifier {
}
auto StringifyInst(InstId /*inst_id*/, FacetType inst) -> void {
step_stack_->PushFacetType(inst.facet_type_id);
step_stack_->PushFacetType(inst.declared_facet_type_id);
}
auto StringifyInst(InstId /*inst_id*/, FacetValue inst) -> void {
@@ -713,40 +713,42 @@ class Stringifier {
*out_ << "<vtable ptr>";
}
auto StringifyFacetType(FacetTypeId facet_type_id) -> void {
const FacetTypeInfo& facet_type_info =
sem_ir_->facet_types().Get(facet_type_id);
auto StringifyFacetType(DeclaredFacetTypeId declared_facet_type_id) -> void {
const DeclaredFacetType& declared_facet_type =
sem_ir_->declared_facet_types().Get(declared_facet_type_id);
// Output `where` restrictions.
bool some_where = false;
if (facet_type_info.other_requirements) {
if (declared_facet_type.other_requirements) {
step_stack_->PushString("...");
some_where = true;
}
for (auto rewrite : llvm::reverse(facet_type_info.rewrite_constraints)) {
for (auto rewrite :
llvm::reverse(declared_facet_type.rewrite_constraints)) {
if (some_where) {
step_stack_->PushString(" and");
}
step_stack_->Push(" ", rewrite.lhs_id, " = ", rewrite.rhs_id);
some_where = true;
}
if (!facet_type_info.self_impls_constraints.empty() ||
!facet_type_info.self_impls_named_constraints.empty()) {
if (!declared_facet_type.self_impls_constraints.empty() ||
!declared_facet_type.self_impls_named_constraints.empty()) {
if (some_where) {
step_stack_->PushString(" and");
}
llvm::ListSeparator sep(" & ");
for (auto impls :
llvm::reverse(facet_type_info.self_impls_named_constraints)) {
llvm::reverse(declared_facet_type.self_impls_named_constraints)) {
step_stack_->Push(impls, &sep);
}
for (auto impls : llvm::reverse(facet_type_info.self_impls_constraints)) {
for (auto impls :
llvm::reverse(declared_facet_type.self_impls_constraints)) {
step_stack_->Push(impls, &sep);
}
step_stack_->PushString(" .Self impls ");
some_where = true;
}
for (const auto& type_impls :
llvm::reverse(facet_type_info.type_impls_interfaces)) {
llvm::reverse(declared_facet_type.type_impls_interfaces)) {
if (some_where) {
step_stack_->PushString(" and");
}
@@ -755,7 +757,7 @@ class Stringifier {
some_where = true;
}
for (const auto& type_impls :
llvm::reverse(facet_type_info.type_impls_named_constraints)) {
llvm::reverse(declared_facet_type.type_impls_named_constraints)) {
if (some_where) {
step_stack_->PushString(" and");
}
@@ -768,17 +770,17 @@ class Stringifier {
}
// Output extend interface and named constraint requirements.
if (facet_type_info.extend_constraints.empty() &&
facet_type_info.extend_named_constraints.empty()) {
if (declared_facet_type.extend_constraints.empty() &&
declared_facet_type.extend_named_constraints.empty()) {
step_stack_->PushString("type");
return;
}
llvm::ListSeparator sep(" & ");
for (auto extend :
llvm::reverse(facet_type_info.extend_named_constraints)) {
llvm::reverse(declared_facet_type.extend_named_constraints)) {
step_stack_->Push(extend, &sep);
}
for (auto extend : llvm::reverse(facet_type_info.extend_constraints)) {
for (auto extend : llvm::reverse(declared_facet_type.extend_constraints)) {
step_stack_->Push(extend, &sep);
}
}
@@ -827,8 +829,8 @@ static auto Stringify(const File& sem_ir, StepStack& step_stack)
out << element_index.index;
break;
}
case CARBON_KIND(FacetTypeId facet_type_id): {
stringifier.StringifyFacetType(facet_type_id);
case CARBON_KIND(DeclaredFacetTypeId declared_facet_type_id): {
stringifier.StringifyFacetType(declared_facet_type_id);
break;
}
case CARBON_KIND(StepStack::StopQualifiedNames _): {
@@ -936,10 +938,11 @@ auto StringifySpecificInterface(const File& sem_ir,
}
}
auto StringifyFacetType(const File& sem_ir, FacetTypeId facet_type_id)
auto StringifyDeclaredFacetType(const File& sem_ir,
DeclaredFacetTypeId declared_facet_type_id)
-> std::string {
StepStack step_stack(&sem_ir);
step_stack.PushFacetType(facet_type_id);
step_stack.PushFacetType(declared_facet_type_id);
return Stringify(sem_ir, step_stack);
}