1*435933ddSDimitry Andric //===-- Expression.cpp ------------------------------------------*- C++ -*-===//
29f2f44ceSEd Maste //
39f2f44ceSEd Maste //                     The LLVM Compiler Infrastructure
49f2f44ceSEd Maste //
59f2f44ceSEd Maste // This file is distributed under the University of Illinois Open Source
69f2f44ceSEd Maste // License. See LICENSE.TXT for details.
79f2f44ceSEd Maste //
89f2f44ceSEd Maste //===----------------------------------------------------------------------===//
99f2f44ceSEd Maste 
109f2f44ceSEd Maste #include "lldb/Expression/Expression.h"
119f2f44ceSEd Maste #include "lldb/Target/ExecutionContextScope.h"
129f2f44ceSEd Maste #include "lldb/Target/Target.h"
139f2f44ceSEd Maste 
149f2f44ceSEd Maste using namespace lldb_private;
159f2f44ceSEd Maste 
Expression(Target & target)16*435933ddSDimitry Andric Expression::Expression(Target &target)
17*435933ddSDimitry Andric     : m_target_wp(target.shared_from_this()),
189f2f44ceSEd Maste       m_jit_start_addr(LLDB_INVALID_ADDRESS),
19*435933ddSDimitry Andric       m_jit_end_addr(LLDB_INVALID_ADDRESS) {
209f2f44ceSEd Maste   // Can't make any kind of expression without a target.
219f2f44ceSEd Maste   assert(m_target_wp.lock());
229f2f44ceSEd Maste }
239f2f44ceSEd Maste 
Expression(ExecutionContextScope & exe_scope)24*435933ddSDimitry Andric Expression::Expression(ExecutionContextScope &exe_scope)
25*435933ddSDimitry Andric     : m_target_wp(exe_scope.CalculateTarget()),
269f2f44ceSEd Maste       m_jit_start_addr(LLDB_INVALID_ADDRESS),
27*435933ddSDimitry Andric       m_jit_end_addr(LLDB_INVALID_ADDRESS) {
289f2f44ceSEd Maste   assert(m_target_wp.lock());
299f2f44ceSEd Maste }
30