xref: /src/contrib/llvm-project/lldb/source/Expression/Expression.cpp (revision 5ffd83dbcc34f10e07f6d3e968ae6365869615f4)
1cfca06d7SDimitry Andric //===-- Expression.cpp ----------------------------------------------------===//
2e81d9d49SDimitry Andric //
35f29bb8aSDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
45f29bb8aSDimitry Andric // See https://llvm.org/LICENSE.txt for license information.
55f29bb8aSDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6e81d9d49SDimitry Andric //
7e81d9d49SDimitry Andric //===----------------------------------------------------------------------===//
8e81d9d49SDimitry Andric 
9e81d9d49SDimitry Andric #include "lldb/Expression/Expression.h"
10e81d9d49SDimitry Andric #include "lldb/Target/ExecutionContextScope.h"
11e81d9d49SDimitry Andric #include "lldb/Target/Target.h"
12e81d9d49SDimitry Andric 
13e81d9d49SDimitry Andric using namespace lldb_private;
14e81d9d49SDimitry Andric 
Expression(Target & target)15706b4fc4SDimitry Andric Expression::Expression(Target &target)
16706b4fc4SDimitry Andric     : m_target_wp(target.shared_from_this()),
17e81d9d49SDimitry Andric       m_jit_start_addr(LLDB_INVALID_ADDRESS),
1814f1b3e8SDimitry Andric       m_jit_end_addr(LLDB_INVALID_ADDRESS) {
19e81d9d49SDimitry Andric   // Can't make any kind of expression without a target.
20e81d9d49SDimitry Andric   assert(m_target_wp.lock());
21e81d9d49SDimitry Andric }
22e81d9d49SDimitry Andric 
Expression(ExecutionContextScope & exe_scope)23706b4fc4SDimitry Andric Expression::Expression(ExecutionContextScope &exe_scope)
24706b4fc4SDimitry Andric     : m_target_wp(exe_scope.CalculateTarget()),
25e81d9d49SDimitry Andric       m_jit_start_addr(LLDB_INVALID_ADDRESS),
2614f1b3e8SDimitry Andric       m_jit_end_addr(LLDB_INVALID_ADDRESS) {
27e81d9d49SDimitry Andric   assert(m_target_wp.lock());
28e81d9d49SDimitry Andric }
29