169 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			169 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			C++
		
	
	
	
| //===-- SBExpressionOptions.cpp ---------------------------------------------*-
 | |
| //C++ -*-===//
 | |
| //
 | |
| //                     The LLVM Compiler Infrastructure
 | |
| //
 | |
| // This file is distributed under the University of Illinois Open Source
 | |
| // License. See LICENSE.TXT for details.
 | |
| //
 | |
| //===----------------------------------------------------------------------===//
 | |
| 
 | |
| #include "lldb/API/SBExpressionOptions.h"
 | |
| #include "lldb/API/SBStream.h"
 | |
| 
 | |
| #include "lldb/Target/Target.h"
 | |
| 
 | |
| using namespace lldb;
 | |
| using namespace lldb_private;
 | |
| 
 | |
| SBExpressionOptions::SBExpressionOptions()
 | |
|     : m_opaque_ap(new EvaluateExpressionOptions()) {}
 | |
| 
 | |
| SBExpressionOptions::SBExpressionOptions(const SBExpressionOptions &rhs) {
 | |
|   m_opaque_ap.reset(new EvaluateExpressionOptions());
 | |
|   *(m_opaque_ap.get()) = rhs.ref();
 | |
| }
 | |
| 
 | |
| const SBExpressionOptions &SBExpressionOptions::
 | |
| operator=(const SBExpressionOptions &rhs) {
 | |
|   if (this != &rhs) {
 | |
|     this->ref() = rhs.ref();
 | |
|   }
 | |
|   return *this;
 | |
| }
 | |
| 
 | |
| SBExpressionOptions::~SBExpressionOptions() {}
 | |
| 
 | |
| bool SBExpressionOptions::GetCoerceResultToId() const {
 | |
|   return m_opaque_ap->DoesCoerceToId();
 | |
| }
 | |
| 
 | |
| void SBExpressionOptions::SetCoerceResultToId(bool coerce) {
 | |
|   m_opaque_ap->SetCoerceToId(coerce);
 | |
| }
 | |
| 
 | |
| bool SBExpressionOptions::GetUnwindOnError() const {
 | |
|   return m_opaque_ap->DoesUnwindOnError();
 | |
| }
 | |
| 
 | |
| void SBExpressionOptions::SetUnwindOnError(bool unwind) {
 | |
|   m_opaque_ap->SetUnwindOnError(unwind);
 | |
| }
 | |
| 
 | |
| bool SBExpressionOptions::GetIgnoreBreakpoints() const {
 | |
|   return m_opaque_ap->DoesIgnoreBreakpoints();
 | |
| }
 | |
| 
 | |
| void SBExpressionOptions::SetIgnoreBreakpoints(bool ignore) {
 | |
|   m_opaque_ap->SetIgnoreBreakpoints(ignore);
 | |
| }
 | |
| 
 | |
| lldb::DynamicValueType SBExpressionOptions::GetFetchDynamicValue() const {
 | |
|   return m_opaque_ap->GetUseDynamic();
 | |
| }
 | |
| 
 | |
| void SBExpressionOptions::SetFetchDynamicValue(lldb::DynamicValueType dynamic) {
 | |
|   m_opaque_ap->SetUseDynamic(dynamic);
 | |
| }
 | |
| 
 | |
| uint32_t SBExpressionOptions::GetTimeoutInMicroSeconds() const {
 | |
|   return m_opaque_ap->GetTimeout() ? m_opaque_ap->GetTimeout()->count() : 0;
 | |
| }
 | |
| 
 | |
| void SBExpressionOptions::SetTimeoutInMicroSeconds(uint32_t timeout) {
 | |
|   m_opaque_ap->SetTimeout(timeout == 0 ? Timeout<std::micro>(llvm::None)
 | |
|                                        : std::chrono::microseconds(timeout));
 | |
| }
 | |
| 
 | |
| uint32_t SBExpressionOptions::GetOneThreadTimeoutInMicroSeconds() const {
 | |
|   return m_opaque_ap->GetOneThreadTimeout() ? m_opaque_ap->GetOneThreadTimeout()->count() : 0;
 | |
| }
 | |
| 
 | |
| void SBExpressionOptions::SetOneThreadTimeoutInMicroSeconds(uint32_t timeout) {
 | |
|   m_opaque_ap->SetOneThreadTimeout(timeout == 0
 | |
|                                        ? Timeout<std::micro>(llvm::None)
 | |
|                                        : std::chrono::microseconds(timeout));
 | |
| }
 | |
| 
 | |
| bool SBExpressionOptions::GetTryAllThreads() const {
 | |
|   return m_opaque_ap->GetTryAllThreads();
 | |
| }
 | |
| 
 | |
| void SBExpressionOptions::SetTryAllThreads(bool run_others) {
 | |
|   m_opaque_ap->SetTryAllThreads(run_others);
 | |
| }
 | |
| 
 | |
| bool SBExpressionOptions::GetStopOthers() const {
 | |
|   return m_opaque_ap->GetStopOthers();
 | |
| }
 | |
| 
 | |
| void SBExpressionOptions::SetStopOthers(bool run_others) {
 | |
|   m_opaque_ap->SetStopOthers(run_others);
 | |
| }
 | |
| 
 | |
| bool SBExpressionOptions::GetTrapExceptions() const {
 | |
|   return m_opaque_ap->GetTrapExceptions();
 | |
| }
 | |
| 
 | |
| void SBExpressionOptions::SetTrapExceptions(bool trap_exceptions) {
 | |
|   m_opaque_ap->SetTrapExceptions(trap_exceptions);
 | |
| }
 | |
| 
 | |
| void SBExpressionOptions::SetLanguage(lldb::LanguageType language) {
 | |
|   m_opaque_ap->SetLanguage(language);
 | |
| }
 | |
| 
 | |
| void SBExpressionOptions::SetCancelCallback(
 | |
|     lldb::ExpressionCancelCallback callback, void *baton) {
 | |
|   m_opaque_ap->SetCancelCallback(callback, baton);
 | |
| }
 | |
| 
 | |
| bool SBExpressionOptions::GetGenerateDebugInfo() {
 | |
|   return m_opaque_ap->GetGenerateDebugInfo();
 | |
| }
 | |
| 
 | |
| void SBExpressionOptions::SetGenerateDebugInfo(bool b) {
 | |
|   return m_opaque_ap->SetGenerateDebugInfo(b);
 | |
| }
 | |
| 
 | |
| bool SBExpressionOptions::GetSuppressPersistentResult() {
 | |
|   return m_opaque_ap->GetResultIsInternal();
 | |
| }
 | |
| 
 | |
| void SBExpressionOptions::SetSuppressPersistentResult(bool b) {
 | |
|   return m_opaque_ap->SetResultIsInternal(b);
 | |
| }
 | |
| 
 | |
| const char *SBExpressionOptions::GetPrefix() const {
 | |
|   return m_opaque_ap->GetPrefix();
 | |
| }
 | |
| 
 | |
| void SBExpressionOptions::SetPrefix(const char *prefix) {
 | |
|   return m_opaque_ap->SetPrefix(prefix);
 | |
| }
 | |
| 
 | |
| bool SBExpressionOptions::GetAutoApplyFixIts() {
 | |
|   return m_opaque_ap->GetAutoApplyFixIts();
 | |
| }
 | |
| 
 | |
| void SBExpressionOptions::SetAutoApplyFixIts(bool b) {
 | |
|   return m_opaque_ap->SetAutoApplyFixIts(b);
 | |
| }
 | |
| 
 | |
| bool SBExpressionOptions::GetTopLevel() {
 | |
|   return m_opaque_ap->GetExecutionPolicy() == eExecutionPolicyTopLevel;
 | |
| }
 | |
| 
 | |
| void SBExpressionOptions::SetTopLevel(bool b) {
 | |
|   m_opaque_ap->SetExecutionPolicy(b ? eExecutionPolicyTopLevel
 | |
|                                     : m_opaque_ap->default_execution_policy);
 | |
| }
 | |
| 
 | |
| EvaluateExpressionOptions *SBExpressionOptions::get() const {
 | |
|   return m_opaque_ap.get();
 | |
| }
 | |
| 
 | |
| EvaluateExpressionOptions &SBExpressionOptions::ref() const {
 | |
|   return *(m_opaque_ap.get());
 | |
| }
 |