Clarified the intent of the SymbolContextScope class in the header
documentation. Symbol now inherits from the symbol
context scope so that the StackID can use a "SymbolContextScope *"
instead of a blockID (which could have been the same as some other
blockID from another symbol file).
Modified the stacks that are created on subsequent stops to reuse
the previous stack frame objects which will allow for some internal
optimization using pointer comparisons during stepping.
git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@112495 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Symbol/Variable.cpp b/source/Symbol/Variable.cpp
index cb3d1c6..a5c74e6 100644
--- a/source/Symbol/Variable.cpp
+++ b/source/Symbol/Variable.cpp
@@ -37,7 +37,7 @@
m_name(name),
m_type(type),
m_scope(scope),
- m_context(context),
+ m_owner_scope(context),
m_declaration(decl_ptr),
m_location(location),
m_external(external),
@@ -82,10 +82,10 @@
}
}
- if (show_context && m_context != NULL)
+ if (show_context && m_owner_scope != NULL)
{
s->PutCString(", context = ( ");
- m_context->DumpSymbolContext(s);
+ m_owner_scope->DumpSymbolContext(s);
s->PutCString(" )");
}
@@ -117,8 +117,8 @@
void
Variable::CalculateSymbolContext (SymbolContext *sc)
{
- if (m_context)
- m_context->CalculateSymbolContext(sc);
+ if (m_owner_scope)
+ m_owner_scope->CalculateSymbolContext(sc);
else
sc->Clear();
}