gccrs: toplevel: Add comment about running the collector twice
gcc/rust/ChangeLog: * resolve/rust-toplevel-name-resolver-2.0.cc (TopLevel::insert_or_error_out): Add documentation comment. (TopLevel::go): Likewise.
This commit is contained in:
parent
53d979f361
commit
0a5cc7a4cb
1 changed files with 8 additions and 0 deletions
|
@ -43,6 +43,9 @@ TopLevel::insert_or_error_out (const Identifier &identifier, const T &node,
|
||||||
|
|
||||||
if (!result)
|
if (!result)
|
||||||
{
|
{
|
||||||
|
// can we do something like check if the node id is the same? if it is the
|
||||||
|
// same, it's not an error, just the resolver running multiple times?
|
||||||
|
|
||||||
rich_location rich_loc (line_table, loc);
|
rich_location rich_loc (line_table, loc);
|
||||||
rich_loc.add_range (node_locations[result.error ().existing]);
|
rich_loc.add_range (node_locations[result.error ().existing]);
|
||||||
|
|
||||||
|
@ -54,6 +57,11 @@ TopLevel::insert_or_error_out (const Identifier &identifier, const T &node,
|
||||||
void
|
void
|
||||||
TopLevel::go (AST::Crate &crate)
|
TopLevel::go (AST::Crate &crate)
|
||||||
{
|
{
|
||||||
|
// we do not include builtin types in the top-level definition collector, as
|
||||||
|
// they are not used until `Late`. furthermore, we run this visitor multiple
|
||||||
|
// times in a row in a fixed-point fashion, so it would make the code
|
||||||
|
// responsible for this ugly and perfom a lot of error checking.
|
||||||
|
|
||||||
for (auto &item : crate.items)
|
for (auto &item : crate.items)
|
||||||
item->accept_vis (*this);
|
item->accept_vis (*this);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue