#include "lldb/Symbol/Variable.h"
#include "lldb/Core/Module.h"
#include "lldb/Core/ValueObject.h"
#include "lldb/Core/ValueObjectVariable.h"
#include "lldb/Symbol/Block.h"
#include "lldb/Symbol/CompileUnit.h"
#include "lldb/Symbol/CompilerDecl.h"
#include "lldb/Symbol/CompilerDeclContext.h"
#include "lldb/Symbol/Function.h"
#include "lldb/Symbol/SymbolContext.h"
#include "lldb/Symbol/SymbolFile.h"
#include "lldb/Symbol/Type.h"
#include "lldb/Symbol/TypeSystem.h"
#include "lldb/Symbol/VariableList.h"
#include "lldb/Target/ABI.h"
#include "lldb/Target/Process.h"
#include "lldb/Target/RegisterContext.h"
#include "lldb/Target/StackFrame.h"
#include "lldb/Target/Target.h"
#include "lldb/Target/Thread.h"
#include "lldb/Utility/LLDBLog.h"
#include "lldb/Utility/Log.h"
#include "lldb/Utility/RegularExpression.h"
#include "lldb/Utility/Stream.h"
#include "llvm/ADT/Twine.h"
usingnamespacelldb;
usingnamespacelldb_private;
Variable::Variable(lldb::user_id_t uid, const char *name, const char *mangled,
const lldb::SymbolFileTypeSP &symfile_type_sp,
ValueType scope, SymbolContextScope *context,
const RangeList &scope_range, Declaration *decl_ptr,
const DWARFExpressionList &location_list, bool external,
bool artificial, bool location_is_constant_data,
bool static_member)
: … { … }
Variable::~Variable() = default;
lldb::LanguageType Variable::GetLanguage() const { … }
ConstString Variable::GetName() const { … }
ConstString Variable::GetUnqualifiedName() const { … }
bool Variable::NameMatches(ConstString name) const { … }
bool Variable::NameMatches(const RegularExpression ®ex) const { … }
Type *Variable::GetType() { … }
void Variable::Dump(Stream *s, bool show_context) const { … }
bool Variable::DumpDeclaration(Stream *s, bool show_fullpaths,
bool show_module) { … }
size_t Variable::MemorySize() const { … }
CompilerDeclContext Variable::GetDeclContext() { … }
CompilerDecl Variable::GetDecl() { … }
void Variable::CalculateSymbolContext(SymbolContext *sc) { … }
bool Variable::LocationIsValidForFrame(StackFrame *frame) { … }
bool Variable::LocationIsValidForAddress(const Address &address) { … }
bool Variable::IsInScope(StackFrame *frame) { … }
Status Variable::GetValuesForVariableExpressionPath(
llvm::StringRef variable_expr_path, ExecutionContextScope *scope,
GetVariableCallback callback, void *baton, VariableList &variable_list,
ValueObjectList &valobj_list) { … }
bool Variable::DumpLocations(Stream *s, const Address &address) { … }
static void PrivateAutoComplete(
StackFrame *frame, llvm::StringRef partial_path,
const llvm::Twine
&prefix_path,
const CompilerType &compiler_type, CompletionRequest &request);
static void PrivateAutoCompleteMembers(
StackFrame *frame, const std::string &partial_member_name,
llvm::StringRef partial_path,
const llvm::Twine
&prefix_path,
const CompilerType &compiler_type, CompletionRequest &request) { … }
static void PrivateAutoComplete(
StackFrame *frame, llvm::StringRef partial_path,
const llvm::Twine
&prefix_path,
const CompilerType &compiler_type, CompletionRequest &request) { … }
void Variable::AutoComplete(const ExecutionContext &exe_ctx,
CompletionRequest &request) { … }