diff options
author | Sean Callanan <scallanan@apple.com> | 2015-09-08 22:23:39 +0000 |
---|---|---|
committer | Sean Callanan <scallanan@apple.com> | 2015-09-08 22:23:39 +0000 |
commit | 3820e9cd17735e9a79a06e7587282d630ac4fe17 (patch) | |
tree | 616276a074b173a328e4748448d0d427996bc772 /lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionVariable.h | |
parent | 8cbeed3248f707ed3c067a9e53679f82a629633f (diff) | |
download | bcm5719-llvm-3820e9cd17735e9a79a06e7587282d630ac4fe17.tar.gz bcm5719-llvm-3820e9cd17735e9a79a06e7587282d630ac4fe17.zip |
ExpressionVariable now uses llvm::cast() instead of As...() for RTTI.
As part of our overall switch from hand-rolling RTTI to using LLVM-compatible
methods, I've done the same for ExpressionVariable. The main documentation for
how to do this is in TypeSystem.h, so I've simply referred to that.
llvm-svn: 247085
Diffstat (limited to 'lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionVariable.h')
-rw-r--r-- | lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionVariable.h | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionVariable.h b/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionVariable.h index ed3e908aa98..c38e6c040a7 100644 --- a/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionVariable.h +++ b/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionVariable.h @@ -21,6 +21,8 @@ #include <vector> // Other libraries and framework includes +#include "llvm/Support/Casting.h" + // Project includes #include "lldb/lldb-public.h" #include "lldb/Core/ClangForward.h" @@ -71,12 +73,7 @@ public: uint16_t flags = EVNone); ClangExpressionVariable(const lldb::ValueObjectSP &valobj_sp); - - ClangExpressionVariable *AsClangExpressionVariable() override - { - return this; - } - + //---------------------------------------------------------------------- /// Utility functions for dealing with ExpressionVariableLists in Clang-specific ways //---------------------------------------------------------------------- @@ -98,7 +95,7 @@ public: { var_sp = list.GetVariableAtIndex(index); - if (ClangExpressionVariable *clang_var = var_sp->AsClangExpressionVariable()) + if (ClangExpressionVariable *clang_var = llvm::dyn_cast<ClangExpressionVariable>(var_sp.get())) { ClangExpressionVariable::ParserVars *parser_vars = clang_var->GetParserVars(parser_id); @@ -277,6 +274,14 @@ public: TypeFromUser GetTypeFromUser (); + //------------------------------------------------------------------ + // llvm casting support + //------------------------------------------------------------------ + static bool classof(const ExpressionVariable *ev) + { + return ev->getKind() == ExpressionVariable::eKindClang; + } + //---------------------------------------------------------------------- /// Members //---------------------------------------------------------------------- |