Remove default constructor from IndexBase (#2598)

There were some notes about default constructors being required in parse_tree.h, but they don't seem to be. Removing the default constructor forces the explicit `::Invalid` where there's no value immediately being assigned, which works fine for existing code. I think this actually reduces the chance of accidents more than the prior default-construct-as-invalid approach.
This commit is contained in:
Jon Ross-Perkins authored and GitHub committed 2023-02-10 12:00:50 -08:00
1 parent aa307b1144
commit b76bc875c4
7 files changed
+28 -30

No files matched your search

+2 -2
View File
@@ -124,7 +124,7 @@ auto ParseTree::Print(llvm::raw_ostream& output) const -> void {
}
while (!node_stack.empty()) {
Node n;
Node n = Node::Invalid;
int depth;
std::tie(n, depth) = node_stack.pop_back_val();
for (Node sibling_n : children(n)) {
@@ -161,7 +161,7 @@ auto ParseTree::Print(llvm::raw_ostream& output, bool preorder) const -> void {
}
while (!node_stack.empty()) {
Node n;
Node n = Node::Invalid;
int depth;
std::tie(n, depth) = node_stack.pop_back_val();