AaronBallman wrote: > > I'm a bit uncomfortable moving parser related objects to sema. > > Well I would argue it’s ‘parser-related’ in name only; what it does is it > pushes a new scope; the implementation of `ParseScope` only calls Sema > functions; it never actually did anything `Parser`-related in the first place
To me, the `ParseScope` object is an RAII one that should live in `RAIIObjectsForParser.h`; it exists for `Parser` and `Sema` to collude on scope management from the perspective of the parser. (e.g., when parsing, you know it's time to enter a new scope so you'd use one of these to manage it automagically for you). Based on that, it seems like this interface should remain at the `Parser` level; Sema should not need to enter new parse scopes in general *except* in the case of doing statement rewriting which should be an exception rather than a regular thing, right? (IOW, I think we'd want to go in the direction of generic facilities to support statement rewriting rather than lower-level facilities like the parser has to use?) This isn't a strongly held opinion btw. https://github.com/llvm/llvm-project/pull/169683 _______________________________________________ llvm-branch-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
