Skip to content

Commit adb7004

Browse files
authored
[LLVM][CLange] Rename NodeType::Record to NodeType::Rec (#108826)
Fixes build failure by avoiding conflicting with `Record` class name.
1 parent f4a3309 commit adb7004

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

clang/utils/TableGen/ClangSyntaxEmitter.cpp

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -50,20 +50,20 @@ class Hierarchy {
5050
link(Derived, Base);
5151
for (NodeType &N : AllTypes) {
5252
sort(N.Derived, [](const NodeType *L, const NodeType *R) {
53-
return L->Record->getName() < R->Record->getName();
53+
return L->Rec->getName() < R->Rec->getName();
5454
});
5555
// Alternatives nodes must have subclasses, External nodes may do.
56-
assert(N.Record->isSubClassOf("Alternatives") ||
57-
N.Record->isSubClassOf("External") || N.Derived.empty());
58-
assert(!N.Record->isSubClassOf("Alternatives") || !N.Derived.empty());
56+
assert(N.Rec->isSubClassOf("Alternatives") ||
57+
N.Rec->isSubClassOf("External") || N.Derived.empty());
58+
assert(!N.Rec->isSubClassOf("Alternatives") || !N.Derived.empty());
5959
}
6060
}
6161

6262
struct NodeType {
63-
const Record *Record = nullptr;
63+
const Record *Rec = nullptr;
6464
const NodeType *Base = nullptr;
6565
std::vector<const NodeType *> Derived;
66-
StringRef name() const { return Record->getName(); }
66+
StringRef name() const { return Rec->getName(); }
6767
};
6868

6969
NodeType &get(StringRef Name = "Node") {
@@ -85,7 +85,7 @@ class Hierarchy {
8585
private:
8686
void add(const Record *R) {
8787
AllTypes.emplace_back();
88-
AllTypes.back().Record = R;
88+
AllTypes.back().Rec = R;
8989
bool Inserted = ByName.try_emplace(R->getName(), &AllTypes.back()).second;
9090
assert(Inserted && "Duplicate node name");
9191
(void)Inserted;
@@ -200,9 +200,9 @@ void clang::EmitClangSyntaxNodeClasses(const RecordKeeper &Records,
200200

201201
OS << "\n// Node definitions\n\n";
202202
H.visit([&](const Hierarchy::NodeType &N) {
203-
if (N.Record->isSubClassOf("External"))
203+
if (N.Rec->isSubClassOf("External"))
204204
return;
205-
printDoc(N.Record->getValueAsString("documentation"), OS);
205+
printDoc(N.Rec->getValueAsString("documentation"), OS);
206206
OS << formatv("class {0}{1} : public {2} {{\n", N.name(),
207207
N.Derived.empty() ? " final" : "", N.Base->name());
208208

@@ -214,9 +214,9 @@ void clang::EmitClangSyntaxNodeClasses(const RecordKeeper &Records,
214214
OS << formatv("protected:\n {0}(NodeKind K) : {1}(K) {{}\npublic:\n",
215215
N.name(), N.Base->name());
216216

217-
if (N.Record->isSubClassOf("Sequence")) {
217+
if (N.Rec->isSubClassOf("Sequence")) {
218218
// Getters for sequence elements.
219-
for (const auto &C : N.Record->getValueAsListOfDefs("children")) {
219+
for (const auto &C : N.Rec->getValueAsListOfDefs("children")) {
220220
assert(C->isSubClassOf("Role"));
221221
StringRef Role = C->getValueAsString("role");
222222
SyntaxConstraint Constraint(*C->getValueAsDef("syntax"));

0 commit comments

Comments
 (0)