Hi everyone,<div><br></div><div>When a tool introduces a new declaration or renames an old one, it will need to make sure that the existing semantics are preserved. In particular, it is possible for the new declaration to conflict with or shadow an existing one, which means the tool needs to be particularly careful.</div>
<div><br></div><div>My first guess would be to check all enclosing and enclosed DeclContexts for declarations with the same identifier. Is this a reasonable strategy, and if so, would matchers be able to track the DeclContexts of their results? It gets even more interesting when the refactoring tool wants to introduce two separate declarations that might conflict with each other.</div>
<div><br></div><div>Thanks!</div><div><br></div><div>-Sam</div>