-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Fix Scope.exists and some missing Inlined trees #6233
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
948f071
to
841f815
Compare
32d158c
to
e219f7e
Compare
Rebased |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Otherwise, LGTM
else (call.symbol.unforcedDecls.exists(_.is(Macro)) || call.symbol.unforcedDecls.toList.exists(_.is(Macro))) | ||
if (ctx.phase <= ctx.postTyperPhase) call.symbol.is(Macro) | ||
else call.isInstanceOf[Select] // The call of a macro after typer is encoded as a Select while other inlines are Ident | ||
// TODO remove this distinction once Inline nodes of expanded macros can be trusted (also in Inliner.inlineCallTrace) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking at the method alone, call.isInstanceOf[Select]
seems to be a too weak test.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a heuristic to know if we should YCheck
the positions inside this Inlined
tree or not.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
At some point we will test the contents of these Inlined
trees. Then this test would be removed.
No description provided.