summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionVariable.h
diff options
context:
space:
mode:
authorSean Callanan <scallanan@apple.com>2015-09-08 22:23:39 +0000
committerSean Callanan <scallanan@apple.com>2015-09-08 22:23:39 +0000
commit3820e9cd17735e9a79a06e7587282d630ac4fe17 (patch)
tree616276a074b173a328e4748448d0d427996bc772 /lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionVariable.h
parent8cbeed3248f707ed3c067a9e53679f82a629633f (diff)
downloadbcm5719-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.h19
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
//----------------------------------------------------------------------
OpenPOWER on IntegriCloud