1 //===-- Expression.h ---------------------------------------*- C++ -*-===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 10 #include "lldb/Expression/Expression.h" 11 #include "lldb/Target/ExecutionContextScope.h" 12 #include "lldb/Target/Target.h" 13 14 using namespace lldb_private; 15 16 Expression::Expression (Target &target) : 17 m_target_wp (target.shared_from_this()), 18 m_jit_start_addr (LLDB_INVALID_ADDRESS), 19 m_jit_end_addr (LLDB_INVALID_ADDRESS) 20 { 21 // Can't make any kind of expression without a target. 22 assert (m_target_wp.lock()); 23 } 24 25 Expression::Expression (ExecutionContextScope &exe_scope) : 26 m_target_wp (exe_scope.CalculateTarget()), 27 m_jit_start_addr (LLDB_INVALID_ADDRESS), 28 m_jit_end_addr (LLDB_INVALID_ADDRESS) 29 { 30 assert (m_target_wp.lock()); 31 } 32 33