71 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
| //===-- PythonExceptionState.h ----------------------------------*- C++ -*-===//
 | |
| //
 | |
| //                     The LLVM Compiler Infrastructure
 | |
| //
 | |
| // This file is distributed under the University of Illinois Open Source
 | |
| // License. See LICENSE.TXT for details.
 | |
| //
 | |
| //===----------------------------------------------------------------------===//
 | |
| 
 | |
| #ifndef LLDB_PLUGINS_SCRIPTINTERPRETER_PYTHON_PYTHONEXCEPTIONSTATE_H
 | |
| #define LLDB_PLUGINS_SCRIPTINTERPRETER_PYTHON_PYTHONEXCEPTIONSTATE_H
 | |
| 
 | |
| #ifndef LLDB_DISABLE_PYTHON
 | |
| 
 | |
| #include "PythonDataObjects.h"
 | |
| 
 | |
| namespace lldb_private
 | |
| {
 | |
| 
 | |
| class PythonExceptionState
 | |
| {
 | |
|   public:
 | |
|     explicit PythonExceptionState(bool restore_on_exit);
 | |
|     ~PythonExceptionState();
 | |
| 
 | |
|     void
 | |
|     Acquire(bool restore_on_exit);
 | |
| 
 | |
|     void
 | |
|     Restore();
 | |
| 
 | |
|     void
 | |
|     Discard();
 | |
| 
 | |
|     void
 | |
|     Reset();
 | |
| 
 | |
|     static bool
 | |
|     HasErrorOccurred();
 | |
| 
 | |
|     bool
 | |
|     IsError() const;
 | |
| 
 | |
|     PythonObject
 | |
|     GetType() const;
 | |
| 
 | |
|     PythonObject
 | |
|     GetValue() const;
 | |
| 
 | |
|     PythonObject
 | |
|     GetTraceback() const;
 | |
| 
 | |
|     std::string
 | |
|     Format() const;
 | |
| 
 | |
|   private:
 | |
|     std::string
 | |
|     ReadBacktrace() const;
 | |
| 
 | |
|     bool m_restore_on_exit;
 | |
| 
 | |
|     PythonObject m_type;
 | |
|     PythonObject m_value;
 | |
|     PythonObject m_traceback;
 | |
| };
 | |
| }
 | |
| 
 | |
| #endif
 | |
| 
 | |
| #endif
 |