llvm-project
52fef2c6 - [clang][AST] Don't give `NestedNameSpecifier` pointer identity in `DynTypedNode` (#233153)

Commit
15 days ago
[clang][AST] Don't give `NestedNameSpecifier` pointer identity in `DynTypedNode` (#233153) Starting in 91cdd35008e9, `NestedNameSpecifier` is a value-type handle, and `DynTypedNode` stores it by value. However, `hasPointerIdentity()` was not updated to return `false` for it, so users relying on the API to determine whether `DynTypedNode::get` returns a pointer to storage within `DynTypedNode` get the wrong answer for `NestedNameSpecifier`. This commit updates `hasPointerIdentity()` to return `false` for `NestedNameSpecifier`. Subsequently, `getMemoizationData()`'s behavior changes, returning a null pointer now. As a result, `DynTypedNode::operator<`, `opeartor==`, and `getHashValue` are also updated to handle `NestedNameSpecifier`.
Author
Parents
Loading