[AST] Migrate away from PointerUnion::dyn_cast (NFC) (#125379)
commit43b7124c5749b3f3276adf1b869e623e163e230e
authorKazu Hirata <kazu@google.com>
Sun, 2 Feb 2025 17:31:06 +0000 (2 09:31 -0800)
committerGitHub <noreply@github.com>
Sun, 2 Feb 2025 17:31:06 +0000 (2 09:31 -0800)
tree9c1dd29e85240d632a83a4500a1a9713ebd5b5b1
parent2f98ae5029a1f03793ca2016585c48075a1aa03a
[AST] Migrate away from PointerUnion::dyn_cast (NFC) (#125379)

Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:

  // FIXME: Replace the uses of is(), get() and dyn_cast() with
  //        isa<T>, cast<T> and the llvm::dyn_cast<T>

This patch migrates the use of PointerUnion::dyn_cast to
dyn_cast_if_present because the non-const variant of
getInitializedFieldInUnion is known to encounter null in
ArrayFillerOrUnionFieldInit.  See:

  commit 563c7c5539f05e7f8cbb42565c1f24466019f38b
  Author: Kazu Hirata <kazu@google.com>
  Date:   Sat Jan 25 14:05:01 2025 -0800

FWIW, I am not aware of any test case in check-clang that triggers
null here.
clang/include/clang/AST/ExprCXX.h