brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.0 KiB · e2fb4a0 Raw
65 lines · cpp
1//===-- ClangExpressionVariable.cpp ---------------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9#include "ClangExpressionVariable.h"10 11#include "lldb/Core/Value.h"12#include "lldb/Target/ExecutionContext.h"13#include "lldb/Target/Process.h"14#include "lldb/Utility/ConstString.h"15#include "lldb/Utility/DataExtractor.h"16#include "lldb/Utility/Stream.h"17#include "lldb/ValueObject/ValueObjectConstResult.h"18#include "clang/AST/ASTContext.h"19 20using namespace lldb_private;21using namespace clang;22 23char ClangExpressionVariable::ID;24 25ClangExpressionVariable::ClangExpressionVariable(26    ExecutionContextScope *exe_scope, lldb::ByteOrder byte_order,27    uint32_t addr_byte_size)28    : m_parser_vars(), m_jit_vars() {29  m_flags = EVNone;30  m_frozen_sp =31      ValueObjectConstResult::Create(exe_scope, byte_order, addr_byte_size);32}33 34ClangExpressionVariable::ClangExpressionVariable(35    ExecutionContextScope *exe_scope, Value &value, ConstString name,36    uint16_t flags)37    : m_parser_vars(), m_jit_vars() {38  m_flags = flags;39  m_frozen_sp = ValueObjectConstResult::Create(exe_scope, value, name);40}41 42ClangExpressionVariable::ClangExpressionVariable(43    const lldb::ValueObjectSP &valobj_sp)44    : m_parser_vars(), m_jit_vars() {45  m_flags = EVNone;46  m_frozen_sp = valobj_sp;47}48 49ClangExpressionVariable::ClangExpressionVariable(50    ExecutionContextScope *exe_scope, ConstString name,51    const TypeFromUser &user_type, lldb::ByteOrder byte_order,52    uint32_t addr_byte_size)53    : m_parser_vars(), m_jit_vars() {54  m_flags = EVNone;55  m_frozen_sp =56      ValueObjectConstResult::Create(exe_scope, byte_order, addr_byte_size);57  SetName(name);58  SetCompilerType(user_type);59}60 61TypeFromUser ClangExpressionVariable::GetTypeFromUser() {62  TypeFromUser tfu(m_frozen_sp->GetCompilerType());63  return tfu;64}65