| from llvmlite.binding import ffi | |
| def create_context(): | |
| return ContextRef(ffi.lib.LLVMPY_ContextCreate()) | |
| def get_global_context(): | |
| return GlobalContextRef(ffi.lib.LLVMPY_GetGlobalContext()) | |
| class ContextRef(ffi.ObjectRef): | |
| def __init__(self, context_ptr): | |
| super(ContextRef, self).__init__(context_ptr) | |
| def _dispose(self): | |
| ffi.lib.LLVMPY_ContextDispose(self) | |
| class GlobalContextRef(ContextRef): | |
| def _dispose(self): | |
| pass | |
| ffi.lib.LLVMPY_GetGlobalContext.restype = ffi.LLVMContextRef | |
| ffi.lib.LLVMPY_ContextCreate.restype = ffi.LLVMContextRef | |
| ffi.lib.LLVMPY_ContextDispose.argtypes = [ffi.LLVMContextRef] | |