Coverage Report

Created: 2022-01-22 13:19

/Users/buildslave/jenkins/workspace/coverage/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionVariable.cpp
Line
Count
Source (jump to first uncovered line)
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-exception
6
//
7
//===----------------------------------------------------------------------===//
8
9
#include "ClangExpressionVariable.h"
10
11
#include "lldb/Core/Value.h"
12
#include "lldb/Core/ValueObjectConstResult.h"
13
#include "lldb/Target/ExecutionContext.h"
14
#include "lldb/Target/Process.h"
15
#include "lldb/Utility/ConstString.h"
16
#include "lldb/Utility/DataExtractor.h"
17
#include "lldb/Utility/Stream.h"
18
#include "clang/AST/ASTContext.h"
19
20
using namespace lldb_private;
21
using namespace clang;
22
23
ClangExpressionVariable::ClangExpressionVariable(
24
    ExecutionContextScope *exe_scope, lldb::ByteOrder byte_order,
25
    uint32_t addr_byte_size)
26
    : ExpressionVariable(LLVMCastKind::eKindClang), m_parser_vars(),
27
367
      m_jit_vars() {
28
367
  m_flags = EVNone;
29
367
  m_frozen_sp =
30
367
      ValueObjectConstResult::Create(exe_scope, byte_order, addr_byte_size);
31
367
}
32
33
ClangExpressionVariable::ClangExpressionVariable(
34
    ExecutionContextScope *exe_scope, Value &value, ConstString name,
35
    uint16_t flags)
36
    : ExpressionVariable(LLVMCastKind::eKindClang), m_parser_vars(),
37
0
      m_jit_vars() {
38
0
  m_flags = flags;
39
0
  m_frozen_sp = ValueObjectConstResult::Create(exe_scope, value, name);
40
0
}
41
42
ClangExpressionVariable::ClangExpressionVariable(
43
    const lldb::ValueObjectSP &valobj_sp)
44
    : ExpressionVariable(LLVMCastKind::eKindClang), m_parser_vars(),
45
18.6k
      m_jit_vars() {
46
18.6k
  m_flags = EVNone;
47
18.6k
  m_frozen_sp = valobj_sp;
48
18.6k
}
49
50
ClangExpressionVariable::ClangExpressionVariable(
51
    ExecutionContextScope *exe_scope, ConstString name,
52
    const TypeFromUser &user_type, lldb::ByteOrder byte_order,
53
    uint32_t addr_byte_size)
54
    : ExpressionVariable(LLVMCastKind::eKindClang), m_parser_vars(),
55
17.6k
      m_jit_vars() {
56
17.6k
  m_flags = EVNone;
57
17.6k
  m_frozen_sp =
58
17.6k
      ValueObjectConstResult::Create(exe_scope, byte_order, addr_byte_size);
59
17.6k
  SetName(name);
60
17.6k
  SetCompilerType(user_type);
61
17.6k
}
62
63
144
TypeFromUser ClangExpressionVariable::GetTypeFromUser() {
64
144
  TypeFromUser tfu(m_frozen_sp->GetCompilerType());
65
144
  return tfu;
66
144
}