clang
clang copied to clipboard
Enforce that node ctors in "to" ctx get params from the "to" ctx
I was wondering how could we avoid these errors when a node from the
"from" context is passed to a constructor of a node in the
"to"context.
This came up with the Concepts patches:
E.g. https://reviews.llvm.org/D43357#inline-538221
Since GetImportedOrCreateDecl is the one which forwards the nodes as
parameters, maybe with some template metaprogramming we could enforce
that all the forwarded nodes are in the "to" context ... but it is
still not a full coverage because there are nodes with additional
setSubexpression() functions which may be called after create:
https://reviews.llvm.org/D44352#inline-538212