diff options
| author | Don Hinton <hintonda@gmail.com> | 2019-03-19 06:14:14 +0000 |
|---|---|---|
| committer | Don Hinton <hintonda@gmail.com> | 2019-03-19 06:14:14 +0000 |
| commit | f170dff3c198290eda05272f7d4beb6f93b80168 (patch) | |
| tree | ad3b27773845b321d8d08c9079cd847f053c3f95 /clang/lib/AST/DeclBase.cpp | |
| parent | c60bc94afcf77fa4487cec52ab5323a1f5469f5b (diff) | |
| download | bcm5719-llvm-f170dff3c198290eda05272f7d4beb6f93b80168.tar.gz bcm5719-llvm-f170dff3c198290eda05272f7d4beb6f93b80168.zip | |
Refactor cast<>'s in if conditionals, which can only assert on failure.
Summary:
This patch refactors several instances of cast<> used in if
conditionals. Since cast<> asserts on failure, the else branch can
never be taken.
In some cases, the fix is to replace cast<> with dyn_cast<>. While
others required the removal of the conditional and some minor
refactoring.
A discussion can be seen here: http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20190318/265044.html
Differential Revision: https://reviews.llvm.org/D59529
llvm-svn: 356441
Diffstat (limited to 'clang/lib/AST/DeclBase.cpp')
| -rw-r--r-- | clang/lib/AST/DeclBase.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/clang/lib/AST/DeclBase.cpp b/clang/lib/AST/DeclBase.cpp index e1b5161b027..2f7bb5333a3 100644 --- a/clang/lib/AST/DeclBase.cpp +++ b/clang/lib/AST/DeclBase.cpp @@ -1179,13 +1179,15 @@ DeclContext *DeclContext::getPrimaryContext() { return this; case Decl::ObjCInterface: - if (auto *Def = cast<ObjCInterfaceDecl>(this)->getDefinition()) - return Def; + if (auto *OID = dyn_cast<ObjCInterfaceDecl>(this)) + if (auto *Def = OID->getDefinition()) + return Def; return this; case Decl::ObjCProtocol: - if (auto *Def = cast<ObjCProtocolDecl>(this)->getDefinition()) - return Def; + if (auto *OPD = dyn_cast<ObjCProtocolDecl>(this)) + if (auto *Def = OPD->getDefinition()) + return Def; return this; case Decl::ObjCCategory: |

