From 183f6a6d2fdfcd732519b855a4ae442282bfac13 Mon Sep 17 00:00:00 2001 From: Svyatoslav Scherbina Date: Tue, 22 Nov 2016 12:54:25 +0700 Subject: [PATCH] Interop/Indexer: update prebuilts with new interop versions also port Interop/Runtime/libcallbacks to new interop --- .../nativeInteropStubs/kotlin/clang/Clang.kt | 3418 ++++++++++------- .../kotlin/native/interop/indexer/Indexer.kt | 43 +- Interop/Runtime/src/callbacks/c/callbacks.c | 66 +- 3 files changed, 2037 insertions(+), 1490 deletions(-) diff --git a/Interop/Indexer/prebuilt/nativeInteropStubs/kotlin/clang/Clang.kt b/Interop/Indexer/prebuilt/nativeInteropStubs/kotlin/clang/Clang.kt index 03d658f40de..ffbef74fc09 100644 --- a/Interop/Indexer/prebuilt/nativeInteropStubs/kotlin/clang/Clang.kt +++ b/Interop/Indexer/prebuilt/nativeInteropStubs/kotlin/clang/Clang.kt @@ -1,71 +1,73 @@ package clang -import kotlin_native.interop.* +import kotlin_.cinterop.* -fun asctime(arg0: tm?): Int8Box? { - val _arg0 = arg0.getNativePtr().asLong() +fun asctime(arg0: CPointer?): CPointer? { + val _arg0 = arg0.rawValue val res = externals.asctime(_arg0) - return NativePtr.byValue(res).asRef(Int8Box) + return CPointer.createNullable(res) } -fun clock(): Long { +fun clock(): clock_t { val res = externals.clock() return res } -fun ctime(arg0: Int64Box?): Int8Box? { - val _arg0 = arg0.getNativePtr().asLong() +fun ctime(arg0: CPointer?): CPointer? { + val _arg0 = arg0.rawValue val res = externals.ctime(_arg0) - return NativePtr.byValue(res).asRef(Int8Box) + return CPointer.createNullable(res) } -fun getdate(arg0: String?): tm? { - val _arg0 = CString.fromString(arg0).getNativePtr().asLong() - val res = externals.getdate(_arg0) - free(NativePtr.byValue(_arg0)) - return NativePtr.byValue(res).asRef(tm) +fun getdate(arg0: String?): CPointer? { + memScoped { + val _arg0 = arg0?.toCString(memScope).rawPtr + val res = externals.getdate(_arg0) + return CPointer.createNullable(res) + } } -fun gmtime(arg0: Int64Box?): tm? { - val _arg0 = arg0.getNativePtr().asLong() +fun gmtime(arg0: CPointer?): CPointer? { + val _arg0 = arg0.rawValue val res = externals.gmtime(_arg0) - return NativePtr.byValue(res).asRef(tm) + return CPointer.createNullable(res) } -fun localtime(arg0: Int64Box?): tm? { - val _arg0 = arg0.getNativePtr().asLong() +fun localtime(arg0: CPointer?): CPointer? { + val _arg0 = arg0.rawValue val res = externals.localtime(_arg0) - return NativePtr.byValue(res).asRef(tm) + return CPointer.createNullable(res) } -fun mktime(arg0: tm?): Long { - val _arg0 = arg0.getNativePtr().asLong() +fun mktime(arg0: CPointer?): time_t { + val _arg0 = arg0.rawValue val res = externals.mktime(_arg0) return res } -fun strftime(arg0: String?, arg1: Long, arg2: String?, arg3: tm?): Long { - val _arg0 = CString.fromString(arg0).getNativePtr().asLong() - val _arg2 = CString.fromString(arg2).getNativePtr().asLong() - val _arg3 = arg3.getNativePtr().asLong() - val res = externals.strftime(_arg0, arg1, _arg2, _arg3) - free(NativePtr.byValue(_arg0)) - free(NativePtr.byValue(_arg2)) - return res +fun strftime(arg0: String?, arg1: size_t, arg2: String?, arg3: CPointer?): size_t { + memScoped { + val _arg0 = arg0?.toCString(memScope).rawPtr + val _arg1 = arg1 + val _arg2 = arg2?.toCString(memScope).rawPtr + val _arg3 = arg3.rawValue + val res = externals.strftime(_arg0, _arg1, _arg2, _arg3) + return res + } } -fun strptime(arg0: String?, arg1: String?, arg2: tm?): Int8Box? { - val _arg0 = CString.fromString(arg0).getNativePtr().asLong() - val _arg1 = CString.fromString(arg1).getNativePtr().asLong() - val _arg2 = arg2.getNativePtr().asLong() - val res = externals.strptime(_arg0, _arg1, _arg2) - free(NativePtr.byValue(_arg0)) - free(NativePtr.byValue(_arg1)) - return NativePtr.byValue(res).asRef(Int8Box) +fun strptime(arg0: String?, arg1: String?, arg2: CPointer?): CPointer? { + memScoped { + val _arg0 = arg0?.toCString(memScope).rawPtr + val _arg1 = arg1?.toCString(memScope).rawPtr + val _arg2 = arg2.rawValue + val res = externals.strptime(_arg0, _arg1, _arg2) + return CPointer.createNullable(res) + } } -fun time(arg0: Int64Box?): Long { - val _arg0 = arg0.getNativePtr().asLong() +fun time(arg0: CPointer?): time_t { + val _arg0 = arg0.rawValue val res = externals.time(_arg0) return res } @@ -75,38 +77,41 @@ fun tzset(): Unit { return res } -fun asctime_r(arg0: tm?, arg1: String?): Int8Box? { - val _arg0 = arg0.getNativePtr().asLong() - val _arg1 = CString.fromString(arg1).getNativePtr().asLong() - val res = externals.asctime_r(_arg0, _arg1) - free(NativePtr.byValue(_arg1)) - return NativePtr.byValue(res).asRef(Int8Box) +fun asctime_r(arg0: CPointer?, arg1: String?): CPointer? { + memScoped { + val _arg0 = arg0.rawValue + val _arg1 = arg1?.toCString(memScope).rawPtr + val res = externals.asctime_r(_arg0, _arg1) + return CPointer.createNullable(res) + } } -fun ctime_r(arg0: Int64Box?, arg1: String?): Int8Box? { - val _arg0 = arg0.getNativePtr().asLong() - val _arg1 = CString.fromString(arg1).getNativePtr().asLong() - val res = externals.ctime_r(_arg0, _arg1) - free(NativePtr.byValue(_arg1)) - return NativePtr.byValue(res).asRef(Int8Box) +fun ctime_r(arg0: CPointer?, arg1: String?): CPointer? { + memScoped { + val _arg0 = arg0.rawValue + val _arg1 = arg1?.toCString(memScope).rawPtr + val res = externals.ctime_r(_arg0, _arg1) + return CPointer.createNullable(res) + } } -fun gmtime_r(arg0: Int64Box?, arg1: tm?): tm? { - val _arg0 = arg0.getNativePtr().asLong() - val _arg1 = arg1.getNativePtr().asLong() +fun gmtime_r(arg0: CPointer?, arg1: CPointer?): CPointer? { + val _arg0 = arg0.rawValue + val _arg1 = arg1.rawValue val res = externals.gmtime_r(_arg0, _arg1) - return NativePtr.byValue(res).asRef(tm) + return CPointer.createNullable(res) } -fun localtime_r(arg0: Int64Box?, arg1: tm?): tm? { - val _arg0 = arg0.getNativePtr().asLong() - val _arg1 = arg1.getNativePtr().asLong() +fun localtime_r(arg0: CPointer?, arg1: CPointer?): CPointer? { + val _arg0 = arg0.rawValue + val _arg1 = arg1.rawValue val res = externals.localtime_r(_arg0, _arg1) - return NativePtr.byValue(res).asRef(tm) + return CPointer.createNullable(res) } -fun posix2time(arg0: Long): Long { - val res = externals.posix2time(arg0) +fun posix2time(arg0: time_t): time_t { + val _arg0 = arg0 + val res = externals.posix2time(_arg0) return res } @@ -115,44 +120,72 @@ fun tzsetwall(): Unit { return res } -fun time2posix(arg0: Long): Long { - val res = externals.time2posix(arg0) +fun time2posix(arg0: time_t): time_t { + val _arg0 = arg0 + val res = externals.time2posix(_arg0) return res } -fun timelocal(arg0: tm?): Long { - val _arg0 = arg0.getNativePtr().asLong() +fun timelocal(arg0: CPointer?): time_t { + val _arg0 = arg0.rawValue val res = externals.timelocal(_arg0) return res } -fun timegm(arg0: tm?): Long { - val _arg0 = arg0.getNativePtr().asLong() +fun timegm(arg0: CPointer?): time_t { + val _arg0 = arg0.rawValue val res = externals.timegm(_arg0) return res } -fun nanosleep(arg0: timespec?, arg1: timespec?): Int { - val _arg0 = arg0.getNativePtr().asLong() - val _arg1 = arg1.getNativePtr().asLong() - val res = externals.nanosleep(_arg0, _arg1) +fun nanosleep(__rqtp: CPointer?, __rmtp: CPointer?): Int { + val ___rqtp = __rqtp.rawValue + val ___rmtp = __rmtp.rawValue + val res = externals.nanosleep(___rqtp, ___rmtp) return res } -fun clang_getCString(string: CXString): Int8Box? { - val _string = string.getNativePtr().asLong() +fun clock_getres(__clock_id: clockid_t, __res: CPointer?): Int { + val ___clock_id = __clock_id.value + val ___res = __res.rawValue + val res = externals.clock_getres(___clock_id, ___res) + return res +} + +fun clock_gettime(__clock_id: clockid_t, __tp: CPointer?): Int { + val ___clock_id = __clock_id.value + val ___tp = __tp.rawValue + val res = externals.clock_gettime(___clock_id, ___tp) + return res +} + +fun clock_gettime_nsec_np(__clock_id: clockid_t): __uint64_t { + val ___clock_id = __clock_id.value + val res = externals.clock_gettime_nsec_np(___clock_id) + return res +} + +fun clock_settime(__clock_id: clockid_t, __tp: CPointer?): Int { + val ___clock_id = __clock_id.value + val ___tp = __tp.rawValue + val res = externals.clock_settime(___clock_id, ___tp) + return res +} + +fun clang_getCString(string: CXString): CPointer? { + val _string = string.rawPtr val res = externals.clang_getCString(_string) - return NativePtr.byValue(res).asRef(Int8Box) + return CPointer.createNullable(res) } fun clang_disposeString(string: CXString): Unit { - val _string = string.getNativePtr().asLong() + val _string = string.rawPtr val res = externals.clang_disposeString(_string) return res } -fun clang_disposeStringSet(set: CXStringSet?): Unit { - val _set = set.getNativePtr().asLong() +fun clang_disposeStringSet(set: CPointer?): Unit { + val _set = set.rawValue val res = externals.clang_disposeStringSet(_set) return res } @@ -162,353 +195,371 @@ fun clang_getBuildSessionTimestamp(): Long { return res } -fun clang_VirtualFileOverlay_create(options: Int): CXVirtualFileOverlayImpl? { - val res = externals.clang_VirtualFileOverlay_create(options) - return NativePtr.byValue(res).asRef(CXVirtualFileOverlayImpl) +fun clang_VirtualFileOverlay_create(options: Int): CXVirtualFileOverlay? { + val _options = options + val res = externals.clang_VirtualFileOverlay_create(_options) + return CPointer.createNullable(res) } -fun clang_VirtualFileOverlay_addFileMapping(arg0: CXVirtualFileOverlayImpl?, virtualPath: String?, realPath: String?): CXErrorCode { - val _arg0 = arg0.getNativePtr().asLong() - val _virtualPath = CString.fromString(virtualPath).getNativePtr().asLong() - val _realPath = CString.fromString(realPath).getNativePtr().asLong() - val res = externals.clang_VirtualFileOverlay_addFileMapping(_arg0, _virtualPath, _realPath) - free(NativePtr.byValue(_virtualPath)) - free(NativePtr.byValue(_realPath)) +fun clang_VirtualFileOverlay_addFileMapping(arg0: CXVirtualFileOverlay?, virtualPath: String?, realPath: String?): CXErrorCode { + memScoped { + val _arg0 = arg0.rawValue + val _virtualPath = virtualPath?.toCString(memScope).rawPtr + val _realPath = realPath?.toCString(memScope).rawPtr + val res = externals.clang_VirtualFileOverlay_addFileMapping(_arg0, _virtualPath, _realPath) + return CXErrorCode.byValue(res) + } +} + +fun clang_VirtualFileOverlay_setCaseSensitivity(arg0: CXVirtualFileOverlay?, caseSensitive: Int): CXErrorCode { + val _arg0 = arg0.rawValue + val _caseSensitive = caseSensitive + val res = externals.clang_VirtualFileOverlay_setCaseSensitivity(_arg0, _caseSensitive) return CXErrorCode.byValue(res) } -fun clang_VirtualFileOverlay_setCaseSensitivity(arg0: CXVirtualFileOverlayImpl?, caseSensitive: Int): CXErrorCode { - val _arg0 = arg0.getNativePtr().asLong() - val res = externals.clang_VirtualFileOverlay_setCaseSensitivity(_arg0, caseSensitive) +fun clang_VirtualFileOverlay_writeToBuffer(arg0: CXVirtualFileOverlay?, options: Int, out_buffer_ptr: CPointer>?, out_buffer_size: CPointer?): CXErrorCode { + val _arg0 = arg0.rawValue + val _options = options + val _out_buffer_ptr = out_buffer_ptr.rawValue + val _out_buffer_size = out_buffer_size.rawValue + val res = externals.clang_VirtualFileOverlay_writeToBuffer(_arg0, _options, _out_buffer_ptr, _out_buffer_size) return CXErrorCode.byValue(res) } -fun clang_VirtualFileOverlay_writeToBuffer(arg0: CXVirtualFileOverlayImpl?, options: Int, out_buffer_ptr: RefBox?, out_buffer_size: Int32Box?): CXErrorCode { - val _arg0 = arg0.getNativePtr().asLong() - val _out_buffer_ptr = out_buffer_ptr.getNativePtr().asLong() - val _out_buffer_size = out_buffer_size.getNativePtr().asLong() - val res = externals.clang_VirtualFileOverlay_writeToBuffer(_arg0, options, _out_buffer_ptr, _out_buffer_size) - return CXErrorCode.byValue(res) -} - -fun clang_free(buffer: NativePtr?): Unit { - val _buffer = buffer.asLong() +fun clang_free(buffer: COpaquePointer?): Unit { + val _buffer = buffer.rawValue val res = externals.clang_free(_buffer) return res } -fun clang_VirtualFileOverlay_dispose(arg0: CXVirtualFileOverlayImpl?): Unit { - val _arg0 = arg0.getNativePtr().asLong() +fun clang_VirtualFileOverlay_dispose(arg0: CXVirtualFileOverlay?): Unit { + val _arg0 = arg0.rawValue val res = externals.clang_VirtualFileOverlay_dispose(_arg0) return res } -fun clang_ModuleMapDescriptor_create(options: Int): CXModuleMapDescriptorImpl? { - val res = externals.clang_ModuleMapDescriptor_create(options) - return NativePtr.byValue(res).asRef(CXModuleMapDescriptorImpl) +fun clang_ModuleMapDescriptor_create(options: Int): CXModuleMapDescriptor? { + val _options = options + val res = externals.clang_ModuleMapDescriptor_create(_options) + return CPointer.createNullable(res) } -fun clang_ModuleMapDescriptor_setFrameworkModuleName(arg0: CXModuleMapDescriptorImpl?, name: String?): CXErrorCode { - val _arg0 = arg0.getNativePtr().asLong() - val _name = CString.fromString(name).getNativePtr().asLong() - val res = externals.clang_ModuleMapDescriptor_setFrameworkModuleName(_arg0, _name) - free(NativePtr.byValue(_name)) +fun clang_ModuleMapDescriptor_setFrameworkModuleName(arg0: CXModuleMapDescriptor?, name: String?): CXErrorCode { + memScoped { + val _arg0 = arg0.rawValue + val _name = name?.toCString(memScope).rawPtr + val res = externals.clang_ModuleMapDescriptor_setFrameworkModuleName(_arg0, _name) + return CXErrorCode.byValue(res) + } +} + +fun clang_ModuleMapDescriptor_setUmbrellaHeader(arg0: CXModuleMapDescriptor?, name: String?): CXErrorCode { + memScoped { + val _arg0 = arg0.rawValue + val _name = name?.toCString(memScope).rawPtr + val res = externals.clang_ModuleMapDescriptor_setUmbrellaHeader(_arg0, _name) + return CXErrorCode.byValue(res) + } +} + +fun clang_ModuleMapDescriptor_writeToBuffer(arg0: CXModuleMapDescriptor?, options: Int, out_buffer_ptr: CPointer>?, out_buffer_size: CPointer?): CXErrorCode { + val _arg0 = arg0.rawValue + val _options = options + val _out_buffer_ptr = out_buffer_ptr.rawValue + val _out_buffer_size = out_buffer_size.rawValue + val res = externals.clang_ModuleMapDescriptor_writeToBuffer(_arg0, _options, _out_buffer_ptr, _out_buffer_size) return CXErrorCode.byValue(res) } -fun clang_ModuleMapDescriptor_setUmbrellaHeader(arg0: CXModuleMapDescriptorImpl?, name: String?): CXErrorCode { - val _arg0 = arg0.getNativePtr().asLong() - val _name = CString.fromString(name).getNativePtr().asLong() - val res = externals.clang_ModuleMapDescriptor_setUmbrellaHeader(_arg0, _name) - free(NativePtr.byValue(_name)) - return CXErrorCode.byValue(res) -} - -fun clang_ModuleMapDescriptor_writeToBuffer(arg0: CXModuleMapDescriptorImpl?, options: Int, out_buffer_ptr: RefBox?, out_buffer_size: Int32Box?): CXErrorCode { - val _arg0 = arg0.getNativePtr().asLong() - val _out_buffer_ptr = out_buffer_ptr.getNativePtr().asLong() - val _out_buffer_size = out_buffer_size.getNativePtr().asLong() - val res = externals.clang_ModuleMapDescriptor_writeToBuffer(_arg0, options, _out_buffer_ptr, _out_buffer_size) - return CXErrorCode.byValue(res) -} - -fun clang_ModuleMapDescriptor_dispose(arg0: CXModuleMapDescriptorImpl?): Unit { - val _arg0 = arg0.getNativePtr().asLong() +fun clang_ModuleMapDescriptor_dispose(arg0: CXModuleMapDescriptor?): Unit { + val _arg0 = arg0.rawValue val res = externals.clang_ModuleMapDescriptor_dispose(_arg0) return res } -fun clang_createIndex(excludeDeclarationsFromPCH: Int, displayDiagnostics: Int): NativePtr? { - val res = externals.clang_createIndex(excludeDeclarationsFromPCH, displayDiagnostics) - return NativePtr.byValue(res) +fun clang_createIndex(excludeDeclarationsFromPCH: Int, displayDiagnostics: Int): CXIndex? { + val _excludeDeclarationsFromPCH = excludeDeclarationsFromPCH + val _displayDiagnostics = displayDiagnostics + val res = externals.clang_createIndex(_excludeDeclarationsFromPCH, _displayDiagnostics) + return CPointer.createNullable(res) } -fun clang_disposeIndex(index: NativePtr?): Unit { - val _index = index.asLong() +fun clang_disposeIndex(index: CXIndex?): Unit { + val _index = index.rawValue val res = externals.clang_disposeIndex(_index) return res } -fun clang_CXIndex_setGlobalOptions(arg0: NativePtr?, options: Int): Unit { - val _arg0 = arg0.asLong() - val res = externals.clang_CXIndex_setGlobalOptions(_arg0, options) +fun clang_CXIndex_setGlobalOptions(arg0: CXIndex?, options: Int): Unit { + val _arg0 = arg0.rawValue + val _options = options + val res = externals.clang_CXIndex_setGlobalOptions(_arg0, _options) return res } -fun clang_CXIndex_getGlobalOptions(arg0: NativePtr?): Int { - val _arg0 = arg0.asLong() +fun clang_CXIndex_getGlobalOptions(arg0: CXIndex?): Int { + val _arg0 = arg0.rawValue val res = externals.clang_CXIndex_getGlobalOptions(_arg0) return res } -fun clang_getFileName(SFile: NativePtr?, retValPlacement: Placement): CXString { - val _SFile = SFile.asLong() - val _retValPlacement = retValPlacement.alloc(CXString.size).asLong() +fun clang_getFileName(SFile: CXFile?, retValPlacement: NativePlacement): CXString { + val _SFile = SFile.rawValue + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getFileName(_SFile, _retValPlacement) - return NativePtr.byValue(res).asRef(CXString)!! + return interpretPointed(res) } -fun clang_getFileTime(SFile: NativePtr?): Long { - val _SFile = SFile.asLong() +fun clang_getFileTime(SFile: CXFile?): time_t { + val _SFile = SFile.rawValue val res = externals.clang_getFileTime(_SFile) return res } -fun clang_getFileUniqueID(file: NativePtr?, outID: CXFileUniqueID?): Int { - val _file = file.asLong() - val _outID = outID.getNativePtr().asLong() +fun clang_getFileUniqueID(file: CXFile?, outID: CPointer?): Int { + val _file = file.rawValue + val _outID = outID.rawValue val res = externals.clang_getFileUniqueID(_file, _outID) return res } -fun clang_isFileMultipleIncludeGuarded(tu: CXTranslationUnitImpl?, file: NativePtr?): Int { - val _tu = tu.getNativePtr().asLong() - val _file = file.asLong() +fun clang_isFileMultipleIncludeGuarded(tu: CXTranslationUnit?, file: CXFile?): Int { + val _tu = tu.rawValue + val _file = file.rawValue val res = externals.clang_isFileMultipleIncludeGuarded(_tu, _file) return res } -fun clang_getFile(tu: CXTranslationUnitImpl?, file_name: String?): NativePtr? { - val _tu = tu.getNativePtr().asLong() - val _file_name = CString.fromString(file_name).getNativePtr().asLong() - val res = externals.clang_getFile(_tu, _file_name) - free(NativePtr.byValue(_file_name)) - return NativePtr.byValue(res) +fun clang_getFile(tu: CXTranslationUnit?, file_name: String?): CXFile? { + memScoped { + val _tu = tu.rawValue + val _file_name = file_name?.toCString(memScope).rawPtr + val res = externals.clang_getFile(_tu, _file_name) + return CPointer.createNullable(res) + } } -fun clang_File_isEqual(file1: NativePtr?, file2: NativePtr?): Int { - val _file1 = file1.asLong() - val _file2 = file2.asLong() +fun clang_File_isEqual(file1: CXFile?, file2: CXFile?): Int { + val _file1 = file1.rawValue + val _file2 = file2.rawValue val res = externals.clang_File_isEqual(_file1, _file2) return res } -fun clang_getNullLocation(retValPlacement: Placement): CXSourceLocation { - val _retValPlacement = retValPlacement.alloc(CXSourceLocation.size).asLong() +fun clang_getNullLocation(retValPlacement: NativePlacement): CXSourceLocation { + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getNullLocation(_retValPlacement) - return NativePtr.byValue(res).asRef(CXSourceLocation)!! + return interpretPointed(res) } fun clang_equalLocations(loc1: CXSourceLocation, loc2: CXSourceLocation): Int { - val _loc1 = loc1.getNativePtr().asLong() - val _loc2 = loc2.getNativePtr().asLong() + val _loc1 = loc1.rawPtr + val _loc2 = loc2.rawPtr val res = externals.clang_equalLocations(_loc1, _loc2) return res } -fun clang_getLocation(tu: CXTranslationUnitImpl?, file: NativePtr?, line: Int, column: Int, retValPlacement: Placement): CXSourceLocation { - val _tu = tu.getNativePtr().asLong() - val _file = file.asLong() - val _retValPlacement = retValPlacement.alloc(CXSourceLocation.size).asLong() - val res = externals.clang_getLocation(_tu, _file, line, column, _retValPlacement) - return NativePtr.byValue(res).asRef(CXSourceLocation)!! +fun clang_getLocation(tu: CXTranslationUnit?, file: CXFile?, line: Int, column: Int, retValPlacement: NativePlacement): CXSourceLocation { + val _tu = tu.rawValue + val _file = file.rawValue + val _line = line + val _column = column + val _retValPlacement = retValPlacement.alloc().rawPtr + val res = externals.clang_getLocation(_tu, _file, _line, _column, _retValPlacement) + return interpretPointed(res) } -fun clang_getLocationForOffset(tu: CXTranslationUnitImpl?, file: NativePtr?, offset: Int, retValPlacement: Placement): CXSourceLocation { - val _tu = tu.getNativePtr().asLong() - val _file = file.asLong() - val _retValPlacement = retValPlacement.alloc(CXSourceLocation.size).asLong() - val res = externals.clang_getLocationForOffset(_tu, _file, offset, _retValPlacement) - return NativePtr.byValue(res).asRef(CXSourceLocation)!! +fun clang_getLocationForOffset(tu: CXTranslationUnit?, file: CXFile?, offset: Int, retValPlacement: NativePlacement): CXSourceLocation { + val _tu = tu.rawValue + val _file = file.rawValue + val _offset = offset + val _retValPlacement = retValPlacement.alloc().rawPtr + val res = externals.clang_getLocationForOffset(_tu, _file, _offset, _retValPlacement) + return interpretPointed(res) } fun clang_Location_isInSystemHeader(location: CXSourceLocation): Int { - val _location = location.getNativePtr().asLong() + val _location = location.rawPtr val res = externals.clang_Location_isInSystemHeader(_location) return res } fun clang_Location_isFromMainFile(location: CXSourceLocation): Int { - val _location = location.getNativePtr().asLong() + val _location = location.rawPtr val res = externals.clang_Location_isFromMainFile(_location) return res } -fun clang_getNullRange(retValPlacement: Placement): CXSourceRange { - val _retValPlacement = retValPlacement.alloc(CXSourceRange.size).asLong() +fun clang_getNullRange(retValPlacement: NativePlacement): CXSourceRange { + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getNullRange(_retValPlacement) - return NativePtr.byValue(res).asRef(CXSourceRange)!! + return interpretPointed(res) } -fun clang_getRange(begin: CXSourceLocation, end: CXSourceLocation, retValPlacement: Placement): CXSourceRange { - val _begin = begin.getNativePtr().asLong() - val _end = end.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXSourceRange.size).asLong() +fun clang_getRange(begin: CXSourceLocation, end: CXSourceLocation, retValPlacement: NativePlacement): CXSourceRange { + val _begin = begin.rawPtr + val _end = end.rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getRange(_begin, _end, _retValPlacement) - return NativePtr.byValue(res).asRef(CXSourceRange)!! + return interpretPointed(res) } fun clang_equalRanges(range1: CXSourceRange, range2: CXSourceRange): Int { - val _range1 = range1.getNativePtr().asLong() - val _range2 = range2.getNativePtr().asLong() + val _range1 = range1.rawPtr + val _range2 = range2.rawPtr val res = externals.clang_equalRanges(_range1, _range2) return res } fun clang_Range_isNull(range: CXSourceRange): Int { - val _range = range.getNativePtr().asLong() + val _range = range.rawPtr val res = externals.clang_Range_isNull(_range) return res } -fun clang_getExpansionLocation(location: CXSourceLocation, file: NativePtrBox?, line: Int32Box?, column: Int32Box?, offset: Int32Box?): Unit { - val _location = location.getNativePtr().asLong() - val _file = file.getNativePtr().asLong() - val _line = line.getNativePtr().asLong() - val _column = column.getNativePtr().asLong() - val _offset = offset.getNativePtr().asLong() +fun clang_getExpansionLocation(location: CXSourceLocation, file: CPointer?, line: CPointer?, column: CPointer?, offset: CPointer?): Unit { + val _location = location.rawPtr + val _file = file.rawValue + val _line = line.rawValue + val _column = column.rawValue + val _offset = offset.rawValue val res = externals.clang_getExpansionLocation(_location, _file, _line, _column, _offset) return res } -fun clang_getPresumedLocation(location: CXSourceLocation, filename: CXString?, line: Int32Box?, column: Int32Box?): Unit { - val _location = location.getNativePtr().asLong() - val _filename = filename.getNativePtr().asLong() - val _line = line.getNativePtr().asLong() - val _column = column.getNativePtr().asLong() +fun clang_getPresumedLocation(location: CXSourceLocation, filename: CPointer?, line: CPointer?, column: CPointer?): Unit { + val _location = location.rawPtr + val _filename = filename.rawValue + val _line = line.rawValue + val _column = column.rawValue val res = externals.clang_getPresumedLocation(_location, _filename, _line, _column) return res } -fun clang_getInstantiationLocation(location: CXSourceLocation, file: NativePtrBox?, line: Int32Box?, column: Int32Box?, offset: Int32Box?): Unit { - val _location = location.getNativePtr().asLong() - val _file = file.getNativePtr().asLong() - val _line = line.getNativePtr().asLong() - val _column = column.getNativePtr().asLong() - val _offset = offset.getNativePtr().asLong() +fun clang_getInstantiationLocation(location: CXSourceLocation, file: CPointer?, line: CPointer?, column: CPointer?, offset: CPointer?): Unit { + val _location = location.rawPtr + val _file = file.rawValue + val _line = line.rawValue + val _column = column.rawValue + val _offset = offset.rawValue val res = externals.clang_getInstantiationLocation(_location, _file, _line, _column, _offset) return res } -fun clang_getSpellingLocation(location: CXSourceLocation, file: NativePtrBox?, line: Int32Box?, column: Int32Box?, offset: Int32Box?): Unit { - val _location = location.getNativePtr().asLong() - val _file = file.getNativePtr().asLong() - val _line = line.getNativePtr().asLong() - val _column = column.getNativePtr().asLong() - val _offset = offset.getNativePtr().asLong() +fun clang_getSpellingLocation(location: CXSourceLocation, file: CPointer?, line: CPointer?, column: CPointer?, offset: CPointer?): Unit { + val _location = location.rawPtr + val _file = file.rawValue + val _line = line.rawValue + val _column = column.rawValue + val _offset = offset.rawValue val res = externals.clang_getSpellingLocation(_location, _file, _line, _column, _offset) return res } -fun clang_getFileLocation(location: CXSourceLocation, file: NativePtrBox?, line: Int32Box?, column: Int32Box?, offset: Int32Box?): Unit { - val _location = location.getNativePtr().asLong() - val _file = file.getNativePtr().asLong() - val _line = line.getNativePtr().asLong() - val _column = column.getNativePtr().asLong() - val _offset = offset.getNativePtr().asLong() +fun clang_getFileLocation(location: CXSourceLocation, file: CPointer?, line: CPointer?, column: CPointer?, offset: CPointer?): Unit { + val _location = location.rawPtr + val _file = file.rawValue + val _line = line.rawValue + val _column = column.rawValue + val _offset = offset.rawValue val res = externals.clang_getFileLocation(_location, _file, _line, _column, _offset) return res } -fun clang_getRangeStart(range: CXSourceRange, retValPlacement: Placement): CXSourceLocation { - val _range = range.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXSourceLocation.size).asLong() +fun clang_getRangeStart(range: CXSourceRange, retValPlacement: NativePlacement): CXSourceLocation { + val _range = range.rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getRangeStart(_range, _retValPlacement) - return NativePtr.byValue(res).asRef(CXSourceLocation)!! + return interpretPointed(res) } -fun clang_getRangeEnd(range: CXSourceRange, retValPlacement: Placement): CXSourceLocation { - val _range = range.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXSourceLocation.size).asLong() +fun clang_getRangeEnd(range: CXSourceRange, retValPlacement: NativePlacement): CXSourceLocation { + val _range = range.rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getRangeEnd(_range, _retValPlacement) - return NativePtr.byValue(res).asRef(CXSourceLocation)!! + return interpretPointed(res) } -fun clang_getSkippedRanges(tu: CXTranslationUnitImpl?, file: NativePtr?): CXSourceRangeList? { - val _tu = tu.getNativePtr().asLong() - val _file = file.asLong() +fun clang_getSkippedRanges(tu: CXTranslationUnit?, file: CXFile?): CPointer? { + val _tu = tu.rawValue + val _file = file.rawValue val res = externals.clang_getSkippedRanges(_tu, _file) - return NativePtr.byValue(res).asRef(CXSourceRangeList) + return CPointer.createNullable(res) } -fun clang_disposeSourceRangeList(ranges: CXSourceRangeList?): Unit { - val _ranges = ranges.getNativePtr().asLong() +fun clang_disposeSourceRangeList(ranges: CPointer?): Unit { + val _ranges = ranges.rawValue val res = externals.clang_disposeSourceRangeList(_ranges) return res } -fun clang_getNumDiagnosticsInSet(Diags: NativePtr?): Int { - val _Diags = Diags.asLong() +fun clang_getNumDiagnosticsInSet(Diags: CXDiagnosticSet?): Int { + val _Diags = Diags.rawValue val res = externals.clang_getNumDiagnosticsInSet(_Diags) return res } -fun clang_getDiagnosticInSet(Diags: NativePtr?, Index: Int): NativePtr? { - val _Diags = Diags.asLong() - val res = externals.clang_getDiagnosticInSet(_Diags, Index) - return NativePtr.byValue(res) +fun clang_getDiagnosticInSet(Diags: CXDiagnosticSet?, Index: Int): CXDiagnostic? { + val _Diags = Diags.rawValue + val _Index = Index + val res = externals.clang_getDiagnosticInSet(_Diags, _Index) + return CPointer.createNullable(res) } -fun clang_loadDiagnostics(file: String?, error: CXLoadDiag_Error.ref?, errorString: CXString?): NativePtr? { - val _file = CString.fromString(file).getNativePtr().asLong() - val _error = error.getNativePtr().asLong() - val _errorString = errorString.getNativePtr().asLong() - val res = externals.clang_loadDiagnostics(_file, _error, _errorString) - free(NativePtr.byValue(_file)) - return NativePtr.byValue(res) +fun clang_loadDiagnostics(file: String?, error: CPointer?, errorString: CPointer?): CXDiagnosticSet? { + memScoped { + val _file = file?.toCString(memScope).rawPtr + val _error = error.rawValue + val _errorString = errorString.rawValue + val res = externals.clang_loadDiagnostics(_file, _error, _errorString) + return CPointer.createNullable(res) + } } -fun clang_disposeDiagnosticSet(Diags: NativePtr?): Unit { - val _Diags = Diags.asLong() +fun clang_disposeDiagnosticSet(Diags: CXDiagnosticSet?): Unit { + val _Diags = Diags.rawValue val res = externals.clang_disposeDiagnosticSet(_Diags) return res } -fun clang_getChildDiagnostics(D: NativePtr?): NativePtr? { - val _D = D.asLong() +fun clang_getChildDiagnostics(D: CXDiagnostic?): CXDiagnosticSet? { + val _D = D.rawValue val res = externals.clang_getChildDiagnostics(_D) - return NativePtr.byValue(res) + return CPointer.createNullable(res) } -fun clang_getNumDiagnostics(Unit: CXTranslationUnitImpl?): Int { - val _Unit = Unit.getNativePtr().asLong() +fun clang_getNumDiagnostics(Unit: CXTranslationUnit?): Int { + val _Unit = Unit.rawValue val res = externals.clang_getNumDiagnostics(_Unit) return res } -fun clang_getDiagnostic(Unit: CXTranslationUnitImpl?, Index: Int): NativePtr? { - val _Unit = Unit.getNativePtr().asLong() - val res = externals.clang_getDiagnostic(_Unit, Index) - return NativePtr.byValue(res) +fun clang_getDiagnostic(Unit: CXTranslationUnit?, Index: Int): CXDiagnostic? { + val _Unit = Unit.rawValue + val _Index = Index + val res = externals.clang_getDiagnostic(_Unit, _Index) + return CPointer.createNullable(res) } -fun clang_getDiagnosticSetFromTU(Unit: CXTranslationUnitImpl?): NativePtr? { - val _Unit = Unit.getNativePtr().asLong() +fun clang_getDiagnosticSetFromTU(Unit: CXTranslationUnit?): CXDiagnosticSet? { + val _Unit = Unit.rawValue val res = externals.clang_getDiagnosticSetFromTU(_Unit) - return NativePtr.byValue(res) + return CPointer.createNullable(res) } -fun clang_disposeDiagnostic(Diagnostic: NativePtr?): Unit { - val _Diagnostic = Diagnostic.asLong() +fun clang_disposeDiagnostic(Diagnostic: CXDiagnostic?): Unit { + val _Diagnostic = Diagnostic.rawValue val res = externals.clang_disposeDiagnostic(_Diagnostic) return res } -fun clang_formatDiagnostic(Diagnostic: NativePtr?, Options: Int, retValPlacement: Placement): CXString { - val _Diagnostic = Diagnostic.asLong() - val _retValPlacement = retValPlacement.alloc(CXString.size).asLong() - val res = externals.clang_formatDiagnostic(_Diagnostic, Options, _retValPlacement) - return NativePtr.byValue(res).asRef(CXString)!! +fun clang_formatDiagnostic(Diagnostic: CXDiagnostic?, Options: Int, retValPlacement: NativePlacement): CXString { + val _Diagnostic = Diagnostic.rawValue + val _Options = Options + val _retValPlacement = retValPlacement.alloc().rawPtr + val res = externals.clang_formatDiagnostic(_Diagnostic, _Options, _retValPlacement) + return interpretPointed(res) } fun clang_defaultDiagnosticDisplayOptions(): Int { @@ -516,112 +567,120 @@ fun clang_defaultDiagnosticDisplayOptions(): Int { return res } -fun clang_getDiagnosticSeverity(arg0: NativePtr?): CXDiagnosticSeverity { - val _arg0 = arg0.asLong() +fun clang_getDiagnosticSeverity(arg0: CXDiagnostic?): CXDiagnosticSeverity { + val _arg0 = arg0.rawValue val res = externals.clang_getDiagnosticSeverity(_arg0) return CXDiagnosticSeverity.byValue(res) } -fun clang_getDiagnosticLocation(arg0: NativePtr?, retValPlacement: Placement): CXSourceLocation { - val _arg0 = arg0.asLong() - val _retValPlacement = retValPlacement.alloc(CXSourceLocation.size).asLong() +fun clang_getDiagnosticLocation(arg0: CXDiagnostic?, retValPlacement: NativePlacement): CXSourceLocation { + val _arg0 = arg0.rawValue + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getDiagnosticLocation(_arg0, _retValPlacement) - return NativePtr.byValue(res).asRef(CXSourceLocation)!! + return interpretPointed(res) } -fun clang_getDiagnosticSpelling(arg0: NativePtr?, retValPlacement: Placement): CXString { - val _arg0 = arg0.asLong() - val _retValPlacement = retValPlacement.alloc(CXString.size).asLong() +fun clang_getDiagnosticSpelling(arg0: CXDiagnostic?, retValPlacement: NativePlacement): CXString { + val _arg0 = arg0.rawValue + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getDiagnosticSpelling(_arg0, _retValPlacement) - return NativePtr.byValue(res).asRef(CXString)!! + return interpretPointed(res) } -fun clang_getDiagnosticOption(Diag: NativePtr?, Disable: CXString?, retValPlacement: Placement): CXString { - val _Diag = Diag.asLong() - val _Disable = Disable.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXString.size).asLong() +fun clang_getDiagnosticOption(Diag: CXDiagnostic?, Disable: CPointer?, retValPlacement: NativePlacement): CXString { + val _Diag = Diag.rawValue + val _Disable = Disable.rawValue + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getDiagnosticOption(_Diag, _Disable, _retValPlacement) - return NativePtr.byValue(res).asRef(CXString)!! + return interpretPointed(res) } -fun clang_getDiagnosticCategory(arg0: NativePtr?): Int { - val _arg0 = arg0.asLong() +fun clang_getDiagnosticCategory(arg0: CXDiagnostic?): Int { + val _arg0 = arg0.rawValue val res = externals.clang_getDiagnosticCategory(_arg0) return res } -fun clang_getDiagnosticCategoryName(Category: Int, retValPlacement: Placement): CXString { - val _retValPlacement = retValPlacement.alloc(CXString.size).asLong() - val res = externals.clang_getDiagnosticCategoryName(Category, _retValPlacement) - return NativePtr.byValue(res).asRef(CXString)!! +fun clang_getDiagnosticCategoryName(Category: Int, retValPlacement: NativePlacement): CXString { + val _Category = Category + val _retValPlacement = retValPlacement.alloc().rawPtr + val res = externals.clang_getDiagnosticCategoryName(_Category, _retValPlacement) + return interpretPointed(res) } -fun clang_getDiagnosticCategoryText(arg0: NativePtr?, retValPlacement: Placement): CXString { - val _arg0 = arg0.asLong() - val _retValPlacement = retValPlacement.alloc(CXString.size).asLong() +fun clang_getDiagnosticCategoryText(arg0: CXDiagnostic?, retValPlacement: NativePlacement): CXString { + val _arg0 = arg0.rawValue + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getDiagnosticCategoryText(_arg0, _retValPlacement) - return NativePtr.byValue(res).asRef(CXString)!! + return interpretPointed(res) } -fun clang_getDiagnosticNumRanges(arg0: NativePtr?): Int { - val _arg0 = arg0.asLong() +fun clang_getDiagnosticNumRanges(arg0: CXDiagnostic?): Int { + val _arg0 = arg0.rawValue val res = externals.clang_getDiagnosticNumRanges(_arg0) return res } -fun clang_getDiagnosticRange(Diagnostic: NativePtr?, Range: Int, retValPlacement: Placement): CXSourceRange { - val _Diagnostic = Diagnostic.asLong() - val _retValPlacement = retValPlacement.alloc(CXSourceRange.size).asLong() - val res = externals.clang_getDiagnosticRange(_Diagnostic, Range, _retValPlacement) - return NativePtr.byValue(res).asRef(CXSourceRange)!! +fun clang_getDiagnosticRange(Diagnostic: CXDiagnostic?, Range: Int, retValPlacement: NativePlacement): CXSourceRange { + val _Diagnostic = Diagnostic.rawValue + val _Range = Range + val _retValPlacement = retValPlacement.alloc().rawPtr + val res = externals.clang_getDiagnosticRange(_Diagnostic, _Range, _retValPlacement) + return interpretPointed(res) } -fun clang_getDiagnosticNumFixIts(Diagnostic: NativePtr?): Int { - val _Diagnostic = Diagnostic.asLong() +fun clang_getDiagnosticNumFixIts(Diagnostic: CXDiagnostic?): Int { + val _Diagnostic = Diagnostic.rawValue val res = externals.clang_getDiagnosticNumFixIts(_Diagnostic) return res } -fun clang_getDiagnosticFixIt(Diagnostic: NativePtr?, FixIt: Int, ReplacementRange: CXSourceRange?, retValPlacement: Placement): CXString { - val _Diagnostic = Diagnostic.asLong() - val _ReplacementRange = ReplacementRange.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXString.size).asLong() - val res = externals.clang_getDiagnosticFixIt(_Diagnostic, FixIt, _ReplacementRange, _retValPlacement) - return NativePtr.byValue(res).asRef(CXString)!! +fun clang_getDiagnosticFixIt(Diagnostic: CXDiagnostic?, FixIt: Int, ReplacementRange: CPointer?, retValPlacement: NativePlacement): CXString { + val _Diagnostic = Diagnostic.rawValue + val _FixIt = FixIt + val _ReplacementRange = ReplacementRange.rawValue + val _retValPlacement = retValPlacement.alloc().rawPtr + val res = externals.clang_getDiagnosticFixIt(_Diagnostic, _FixIt, _ReplacementRange, _retValPlacement) + return interpretPointed(res) } -fun clang_getTranslationUnitSpelling(CTUnit: CXTranslationUnitImpl?, retValPlacement: Placement): CXString { - val _CTUnit = CTUnit.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXString.size).asLong() +fun clang_getTranslationUnitSpelling(CTUnit: CXTranslationUnit?, retValPlacement: NativePlacement): CXString { + val _CTUnit = CTUnit.rawValue + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getTranslationUnitSpelling(_CTUnit, _retValPlacement) - return NativePtr.byValue(res).asRef(CXString)!! + return interpretPointed(res) } -fun clang_createTranslationUnitFromSourceFile(CIdx: NativePtr?, source_filename: String?, num_clang_command_line_args: Int, clang_command_line_args: RefBox?, num_unsaved_files: Int, unsaved_files: CXUnsavedFile?): CXTranslationUnitImpl? { - val _CIdx = CIdx.asLong() - val _source_filename = CString.fromString(source_filename).getNativePtr().asLong() - val _clang_command_line_args = clang_command_line_args.getNativePtr().asLong() - val _unsaved_files = unsaved_files.getNativePtr().asLong() - val res = externals.clang_createTranslationUnitFromSourceFile(_CIdx, _source_filename, num_clang_command_line_args, _clang_command_line_args, num_unsaved_files, _unsaved_files) - free(NativePtr.byValue(_source_filename)) - return NativePtr.byValue(res).asRef(CXTranslationUnitImpl) +fun clang_createTranslationUnitFromSourceFile(CIdx: CXIndex?, source_filename: String?, num_clang_command_line_args: Int, clang_command_line_args: CPointer>?, num_unsaved_files: Int, unsaved_files: CPointer?): CXTranslationUnit? { + memScoped { + val _CIdx = CIdx.rawValue + val _source_filename = source_filename?.toCString(memScope).rawPtr + val _num_clang_command_line_args = num_clang_command_line_args + val _clang_command_line_args = clang_command_line_args.rawValue + val _num_unsaved_files = num_unsaved_files + val _unsaved_files = unsaved_files.rawValue + val res = externals.clang_createTranslationUnitFromSourceFile(_CIdx, _source_filename, _num_clang_command_line_args, _clang_command_line_args, _num_unsaved_files, _unsaved_files) + return CPointer.createNullable(res) + } } -fun clang_createTranslationUnit(CIdx: NativePtr?, ast_filename: String?): CXTranslationUnitImpl? { - val _CIdx = CIdx.asLong() - val _ast_filename = CString.fromString(ast_filename).getNativePtr().asLong() - val res = externals.clang_createTranslationUnit(_CIdx, _ast_filename) - free(NativePtr.byValue(_ast_filename)) - return NativePtr.byValue(res).asRef(CXTranslationUnitImpl) +fun clang_createTranslationUnit(CIdx: CXIndex?, ast_filename: String?): CXTranslationUnit? { + memScoped { + val _CIdx = CIdx.rawValue + val _ast_filename = ast_filename?.toCString(memScope).rawPtr + val res = externals.clang_createTranslationUnit(_CIdx, _ast_filename) + return CPointer.createNullable(res) + } } -fun clang_createTranslationUnit2(CIdx: NativePtr?, ast_filename: String?, out_TU: RefBox?): CXErrorCode { - val _CIdx = CIdx.asLong() - val _ast_filename = CString.fromString(ast_filename).getNativePtr().asLong() - val _out_TU = out_TU.getNativePtr().asLong() - val res = externals.clang_createTranslationUnit2(_CIdx, _ast_filename, _out_TU) - free(NativePtr.byValue(_ast_filename)) - return CXErrorCode.byValue(res) +fun clang_createTranslationUnit2(CIdx: CXIndex?, ast_filename: String?, out_TU: CPointer?): CXErrorCode { + memScoped { + val _CIdx = CIdx.rawValue + val _ast_filename = ast_filename?.toCString(memScope).rawPtr + val _out_TU = out_TU.rawValue + val res = externals.clang_createTranslationUnit2(_CIdx, _ast_filename, _out_TU) + return CXErrorCode.byValue(res) + } } fun clang_defaultEditingTranslationUnitOptions(): Int { @@ -629,124 +688,140 @@ fun clang_defaultEditingTranslationUnitOptions(): Int { return res } -fun clang_parseTranslationUnit(CIdx: NativePtr?, source_filename: String?, command_line_args: RefBox?, num_command_line_args: Int, unsaved_files: CXUnsavedFile?, num_unsaved_files: Int, options: Int): CXTranslationUnitImpl? { - val _CIdx = CIdx.asLong() - val _source_filename = CString.fromString(source_filename).getNativePtr().asLong() - val _command_line_args = command_line_args.getNativePtr().asLong() - val _unsaved_files = unsaved_files.getNativePtr().asLong() - val res = externals.clang_parseTranslationUnit(_CIdx, _source_filename, _command_line_args, num_command_line_args, _unsaved_files, num_unsaved_files, options) - free(NativePtr.byValue(_source_filename)) - return NativePtr.byValue(res).asRef(CXTranslationUnitImpl) +fun clang_parseTranslationUnit(CIdx: CXIndex?, source_filename: String?, command_line_args: CPointer>?, num_command_line_args: Int, unsaved_files: CPointer?, num_unsaved_files: Int, options: Int): CXTranslationUnit? { + memScoped { + val _CIdx = CIdx.rawValue + val _source_filename = source_filename?.toCString(memScope).rawPtr + val _command_line_args = command_line_args.rawValue + val _num_command_line_args = num_command_line_args + val _unsaved_files = unsaved_files.rawValue + val _num_unsaved_files = num_unsaved_files + val _options = options + val res = externals.clang_parseTranslationUnit(_CIdx, _source_filename, _command_line_args, _num_command_line_args, _unsaved_files, _num_unsaved_files, _options) + return CPointer.createNullable(res) + } } -fun clang_parseTranslationUnit2(CIdx: NativePtr?, source_filename: String?, command_line_args: RefBox?, num_command_line_args: Int, unsaved_files: CXUnsavedFile?, num_unsaved_files: Int, options: Int, out_TU: RefBox?): CXErrorCode { - val _CIdx = CIdx.asLong() - val _source_filename = CString.fromString(source_filename).getNativePtr().asLong() - val _command_line_args = command_line_args.getNativePtr().asLong() - val _unsaved_files = unsaved_files.getNativePtr().asLong() - val _out_TU = out_TU.getNativePtr().asLong() - val res = externals.clang_parseTranslationUnit2(_CIdx, _source_filename, _command_line_args, num_command_line_args, _unsaved_files, num_unsaved_files, options, _out_TU) - free(NativePtr.byValue(_source_filename)) - return CXErrorCode.byValue(res) +fun clang_parseTranslationUnit2(CIdx: CXIndex?, source_filename: String?, command_line_args: CPointer>?, num_command_line_args: Int, unsaved_files: CPointer?, num_unsaved_files: Int, options: Int, out_TU: CPointer?): CXErrorCode { + memScoped { + val _CIdx = CIdx.rawValue + val _source_filename = source_filename?.toCString(memScope).rawPtr + val _command_line_args = command_line_args.rawValue + val _num_command_line_args = num_command_line_args + val _unsaved_files = unsaved_files.rawValue + val _num_unsaved_files = num_unsaved_files + val _options = options + val _out_TU = out_TU.rawValue + val res = externals.clang_parseTranslationUnit2(_CIdx, _source_filename, _command_line_args, _num_command_line_args, _unsaved_files, _num_unsaved_files, _options, _out_TU) + return CXErrorCode.byValue(res) + } } -fun clang_parseTranslationUnit2FullArgv(CIdx: NativePtr?, source_filename: String?, command_line_args: RefBox?, num_command_line_args: Int, unsaved_files: CXUnsavedFile?, num_unsaved_files: Int, options: Int, out_TU: RefBox?): CXErrorCode { - val _CIdx = CIdx.asLong() - val _source_filename = CString.fromString(source_filename).getNativePtr().asLong() - val _command_line_args = command_line_args.getNativePtr().asLong() - val _unsaved_files = unsaved_files.getNativePtr().asLong() - val _out_TU = out_TU.getNativePtr().asLong() - val res = externals.clang_parseTranslationUnit2FullArgv(_CIdx, _source_filename, _command_line_args, num_command_line_args, _unsaved_files, num_unsaved_files, options, _out_TU) - free(NativePtr.byValue(_source_filename)) - return CXErrorCode.byValue(res) +fun clang_parseTranslationUnit2FullArgv(CIdx: CXIndex?, source_filename: String?, command_line_args: CPointer>?, num_command_line_args: Int, unsaved_files: CPointer?, num_unsaved_files: Int, options: Int, out_TU: CPointer?): CXErrorCode { + memScoped { + val _CIdx = CIdx.rawValue + val _source_filename = source_filename?.toCString(memScope).rawPtr + val _command_line_args = command_line_args.rawValue + val _num_command_line_args = num_command_line_args + val _unsaved_files = unsaved_files.rawValue + val _num_unsaved_files = num_unsaved_files + val _options = options + val _out_TU = out_TU.rawValue + val res = externals.clang_parseTranslationUnit2FullArgv(_CIdx, _source_filename, _command_line_args, _num_command_line_args, _unsaved_files, _num_unsaved_files, _options, _out_TU) + return CXErrorCode.byValue(res) + } } -fun clang_defaultSaveOptions(TU: CXTranslationUnitImpl?): Int { - val _TU = TU.getNativePtr().asLong() +fun clang_defaultSaveOptions(TU: CXTranslationUnit?): Int { + val _TU = TU.rawValue val res = externals.clang_defaultSaveOptions(_TU) return res } -fun clang_saveTranslationUnit(TU: CXTranslationUnitImpl?, FileName: String?, options: Int): Int { - val _TU = TU.getNativePtr().asLong() - val _FileName = CString.fromString(FileName).getNativePtr().asLong() - val res = externals.clang_saveTranslationUnit(_TU, _FileName, options) - free(NativePtr.byValue(_FileName)) - return res +fun clang_saveTranslationUnit(TU: CXTranslationUnit?, FileName: String?, options: Int): Int { + memScoped { + val _TU = TU.rawValue + val _FileName = FileName?.toCString(memScope).rawPtr + val _options = options + val res = externals.clang_saveTranslationUnit(_TU, _FileName, _options) + return res + } } -fun clang_disposeTranslationUnit(arg0: CXTranslationUnitImpl?): Unit { - val _arg0 = arg0.getNativePtr().asLong() +fun clang_disposeTranslationUnit(arg0: CXTranslationUnit?): Unit { + val _arg0 = arg0.rawValue val res = externals.clang_disposeTranslationUnit(_arg0) return res } -fun clang_defaultReparseOptions(TU: CXTranslationUnitImpl?): Int { - val _TU = TU.getNativePtr().asLong() +fun clang_defaultReparseOptions(TU: CXTranslationUnit?): Int { + val _TU = TU.rawValue val res = externals.clang_defaultReparseOptions(_TU) return res } -fun clang_reparseTranslationUnit(TU: CXTranslationUnitImpl?, num_unsaved_files: Int, unsaved_files: CXUnsavedFile?, options: Int): Int { - val _TU = TU.getNativePtr().asLong() - val _unsaved_files = unsaved_files.getNativePtr().asLong() - val res = externals.clang_reparseTranslationUnit(_TU, num_unsaved_files, _unsaved_files, options) +fun clang_reparseTranslationUnit(TU: CXTranslationUnit?, num_unsaved_files: Int, unsaved_files: CPointer?, options: Int): Int { + val _TU = TU.rawValue + val _num_unsaved_files = num_unsaved_files + val _unsaved_files = unsaved_files.rawValue + val _options = options + val res = externals.clang_reparseTranslationUnit(_TU, _num_unsaved_files, _unsaved_files, _options) return res } -fun clang_getTUResourceUsageName(kind: CXTUResourceUsageKind): Int8Box? { +fun clang_getTUResourceUsageName(kind: CXTUResourceUsageKind): CPointer? { val _kind = kind.value val res = externals.clang_getTUResourceUsageName(_kind) - return NativePtr.byValue(res).asRef(Int8Box) + return CPointer.createNullable(res) } -fun clang_getCXTUResourceUsage(TU: CXTranslationUnitImpl?, retValPlacement: Placement): CXTUResourceUsage { - val _TU = TU.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXTUResourceUsage.size).asLong() +fun clang_getCXTUResourceUsage(TU: CXTranslationUnit?, retValPlacement: NativePlacement): CXTUResourceUsage { + val _TU = TU.rawValue + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getCXTUResourceUsage(_TU, _retValPlacement) - return NativePtr.byValue(res).asRef(CXTUResourceUsage)!! + return interpretPointed(res) } fun clang_disposeCXTUResourceUsage(usage: CXTUResourceUsage): Unit { - val _usage = usage.getNativePtr().asLong() + val _usage = usage.rawPtr val res = externals.clang_disposeCXTUResourceUsage(_usage) return res } -fun clang_getNullCursor(retValPlacement: Placement): CXCursor { - val _retValPlacement = retValPlacement.alloc(CXCursor.size).asLong() +fun clang_getNullCursor(retValPlacement: NativePlacement): CXCursor { + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getNullCursor(_retValPlacement) - return NativePtr.byValue(res).asRef(CXCursor)!! + return interpretPointed(res) } -fun clang_getTranslationUnitCursor(arg0: CXTranslationUnitImpl?, retValPlacement: Placement): CXCursor { - val _arg0 = arg0.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXCursor.size).asLong() +fun clang_getTranslationUnitCursor(arg0: CXTranslationUnit?, retValPlacement: NativePlacement): CXCursor { + val _arg0 = arg0.rawValue + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getTranslationUnitCursor(_arg0, _retValPlacement) - return NativePtr.byValue(res).asRef(CXCursor)!! + return interpretPointed(res) } fun clang_equalCursors(arg0: CXCursor, arg1: CXCursor): Int { - val _arg0 = arg0.getNativePtr().asLong() - val _arg1 = arg1.getNativePtr().asLong() + val _arg0 = arg0.rawPtr + val _arg1 = arg1.rawPtr val res = externals.clang_equalCursors(_arg0, _arg1) return res } fun clang_Cursor_isNull(cursor: CXCursor): Int { - val _cursor = cursor.getNativePtr().asLong() + val _cursor = cursor.rawPtr val res = externals.clang_Cursor_isNull(_cursor) return res } fun clang_hashCursor(arg0: CXCursor): Int { - val _arg0 = arg0.getNativePtr().asLong() + val _arg0 = arg0.rawPtr val res = externals.clang_hashCursor(_arg0) return res } fun clang_getCursorKind(arg0: CXCursor): CXCursorKind { - val _arg0 = arg0.getNativePtr().asLong() + val _arg0 = arg0.rawPtr val res = externals.clang_getCursorKind(_arg0) return CXCursorKind.byValue(res) } @@ -806,827 +881,851 @@ fun clang_isUnexposed(arg0: CXCursorKind): Int { } fun clang_getCursorLinkage(cursor: CXCursor): CXLinkageKind { - val _cursor = cursor.getNativePtr().asLong() + val _cursor = cursor.rawPtr val res = externals.clang_getCursorLinkage(_cursor) return CXLinkageKind.byValue(res) } fun clang_getCursorVisibility(cursor: CXCursor): CXVisibilityKind { - val _cursor = cursor.getNativePtr().asLong() + val _cursor = cursor.rawPtr val res = externals.clang_getCursorVisibility(_cursor) return CXVisibilityKind.byValue(res) } fun clang_getCursorAvailability(cursor: CXCursor): CXAvailabilityKind { - val _cursor = cursor.getNativePtr().asLong() + val _cursor = cursor.rawPtr val res = externals.clang_getCursorAvailability(_cursor) return CXAvailabilityKind.byValue(res) } -fun clang_getCursorPlatformAvailability(cursor: CXCursor, always_deprecated: Int32Box?, deprecated_message: CXString?, always_unavailable: Int32Box?, unavailable_message: CXString?, availability: CXPlatformAvailability?, availability_size: Int): Int { - val _cursor = cursor.getNativePtr().asLong() - val _always_deprecated = always_deprecated.getNativePtr().asLong() - val _deprecated_message = deprecated_message.getNativePtr().asLong() - val _always_unavailable = always_unavailable.getNativePtr().asLong() - val _unavailable_message = unavailable_message.getNativePtr().asLong() - val _availability = availability.getNativePtr().asLong() - val res = externals.clang_getCursorPlatformAvailability(_cursor, _always_deprecated, _deprecated_message, _always_unavailable, _unavailable_message, _availability, availability_size) +fun clang_getCursorPlatformAvailability(cursor: CXCursor, always_deprecated: CPointer?, deprecated_message: CPointer?, always_unavailable: CPointer?, unavailable_message: CPointer?, availability: CPointer?, availability_size: Int): Int { + val _cursor = cursor.rawPtr + val _always_deprecated = always_deprecated.rawValue + val _deprecated_message = deprecated_message.rawValue + val _always_unavailable = always_unavailable.rawValue + val _unavailable_message = unavailable_message.rawValue + val _availability = availability.rawValue + val _availability_size = availability_size + val res = externals.clang_getCursorPlatformAvailability(_cursor, _always_deprecated, _deprecated_message, _always_unavailable, _unavailable_message, _availability, _availability_size) return res } -fun clang_disposeCXPlatformAvailability(availability: CXPlatformAvailability?): Unit { - val _availability = availability.getNativePtr().asLong() +fun clang_disposeCXPlatformAvailability(availability: CPointer?): Unit { + val _availability = availability.rawValue val res = externals.clang_disposeCXPlatformAvailability(_availability) return res } fun clang_getCursorLanguage(cursor: CXCursor): CXLanguageKind { - val _cursor = cursor.getNativePtr().asLong() + val _cursor = cursor.rawPtr val res = externals.clang_getCursorLanguage(_cursor) return CXLanguageKind.byValue(res) } -fun clang_Cursor_getTranslationUnit(arg0: CXCursor): CXTranslationUnitImpl? { - val _arg0 = arg0.getNativePtr().asLong() +fun clang_Cursor_getTranslationUnit(arg0: CXCursor): CXTranslationUnit? { + val _arg0 = arg0.rawPtr val res = externals.clang_Cursor_getTranslationUnit(_arg0) - return NativePtr.byValue(res).asRef(CXTranslationUnitImpl) + return CPointer.createNullable(res) } -fun clang_createCXCursorSet(): CXCursorSetImpl? { +fun clang_createCXCursorSet(): CXCursorSet? { val res = externals.clang_createCXCursorSet() - return NativePtr.byValue(res).asRef(CXCursorSetImpl) + return CPointer.createNullable(res) } -fun clang_disposeCXCursorSet(cset: CXCursorSetImpl?): Unit { - val _cset = cset.getNativePtr().asLong() +fun clang_disposeCXCursorSet(cset: CXCursorSet?): Unit { + val _cset = cset.rawValue val res = externals.clang_disposeCXCursorSet(_cset) return res } -fun clang_CXCursorSet_contains(cset: CXCursorSetImpl?, cursor: CXCursor): Int { - val _cset = cset.getNativePtr().asLong() - val _cursor = cursor.getNativePtr().asLong() +fun clang_CXCursorSet_contains(cset: CXCursorSet?, cursor: CXCursor): Int { + val _cset = cset.rawValue + val _cursor = cursor.rawPtr val res = externals.clang_CXCursorSet_contains(_cset, _cursor) return res } -fun clang_CXCursorSet_insert(cset: CXCursorSetImpl?, cursor: CXCursor): Int { - val _cset = cset.getNativePtr().asLong() - val _cursor = cursor.getNativePtr().asLong() +fun clang_CXCursorSet_insert(cset: CXCursorSet?, cursor: CXCursor): Int { + val _cset = cset.rawValue + val _cursor = cursor.rawPtr val res = externals.clang_CXCursorSet_insert(_cset, _cursor) return res } -fun clang_getCursorSemanticParent(cursor: CXCursor, retValPlacement: Placement): CXCursor { - val _cursor = cursor.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXCursor.size).asLong() +fun clang_getCursorSemanticParent(cursor: CXCursor, retValPlacement: NativePlacement): CXCursor { + val _cursor = cursor.rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getCursorSemanticParent(_cursor, _retValPlacement) - return NativePtr.byValue(res).asRef(CXCursor)!! + return interpretPointed(res) } -fun clang_getCursorLexicalParent(cursor: CXCursor, retValPlacement: Placement): CXCursor { - val _cursor = cursor.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXCursor.size).asLong() +fun clang_getCursorLexicalParent(cursor: CXCursor, retValPlacement: NativePlacement): CXCursor { + val _cursor = cursor.rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getCursorLexicalParent(_cursor, _retValPlacement) - return NativePtr.byValue(res).asRef(CXCursor)!! + return interpretPointed(res) } -fun clang_getOverriddenCursors(cursor: CXCursor, overridden: RefBox?, num_overridden: Int32Box?): Unit { - val _cursor = cursor.getNativePtr().asLong() - val _overridden = overridden.getNativePtr().asLong() - val _num_overridden = num_overridden.getNativePtr().asLong() +fun clang_getOverriddenCursors(cursor: CXCursor, overridden: CPointer>?, num_overridden: CPointer?): Unit { + val _cursor = cursor.rawPtr + val _overridden = overridden.rawValue + val _num_overridden = num_overridden.rawValue val res = externals.clang_getOverriddenCursors(_cursor, _overridden, _num_overridden) return res } -fun clang_disposeOverriddenCursors(overridden: CXCursor?): Unit { - val _overridden = overridden.getNativePtr().asLong() +fun clang_disposeOverriddenCursors(overridden: CPointer?): Unit { + val _overridden = overridden.rawValue val res = externals.clang_disposeOverriddenCursors(_overridden) return res } -fun clang_getIncludedFile(cursor: CXCursor): NativePtr? { - val _cursor = cursor.getNativePtr().asLong() +fun clang_getIncludedFile(cursor: CXCursor): CXFile? { + val _cursor = cursor.rawPtr val res = externals.clang_getIncludedFile(_cursor) - return NativePtr.byValue(res) + return CPointer.createNullable(res) } -fun clang_getCursor(arg0: CXTranslationUnitImpl?, arg1: CXSourceLocation, retValPlacement: Placement): CXCursor { - val _arg0 = arg0.getNativePtr().asLong() - val _arg1 = arg1.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXCursor.size).asLong() +fun clang_getCursor(arg0: CXTranslationUnit?, arg1: CXSourceLocation, retValPlacement: NativePlacement): CXCursor { + val _arg0 = arg0.rawValue + val _arg1 = arg1.rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getCursor(_arg0, _arg1, _retValPlacement) - return NativePtr.byValue(res).asRef(CXCursor)!! + return interpretPointed(res) } -fun clang_getCursorLocation(arg0: CXCursor, retValPlacement: Placement): CXSourceLocation { - val _arg0 = arg0.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXSourceLocation.size).asLong() +fun clang_getCursorLocation(arg0: CXCursor, retValPlacement: NativePlacement): CXSourceLocation { + val _arg0 = arg0.rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getCursorLocation(_arg0, _retValPlacement) - return NativePtr.byValue(res).asRef(CXSourceLocation)!! + return interpretPointed(res) } -fun clang_getCursorExtent(arg0: CXCursor, retValPlacement: Placement): CXSourceRange { - val _arg0 = arg0.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXSourceRange.size).asLong() +fun clang_getCursorExtent(arg0: CXCursor, retValPlacement: NativePlacement): CXSourceRange { + val _arg0 = arg0.rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getCursorExtent(_arg0, _retValPlacement) - return NativePtr.byValue(res).asRef(CXSourceRange)!! + return interpretPointed(res) } -fun clang_getCursorType(C: CXCursor, retValPlacement: Placement): CXType { - val _C = C.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXType.size).asLong() +fun clang_getCursorType(C: CXCursor, retValPlacement: NativePlacement): CXType { + val _C = C.rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getCursorType(_C, _retValPlacement) - return NativePtr.byValue(res).asRef(CXType)!! + return interpretPointed(res) } -fun clang_getTypeSpelling(CT: CXType, retValPlacement: Placement): CXString { - val _CT = CT.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXString.size).asLong() +fun clang_getTypeSpelling(CT: CXType, retValPlacement: NativePlacement): CXString { + val _CT = CT.rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getTypeSpelling(_CT, _retValPlacement) - return NativePtr.byValue(res).asRef(CXString)!! + return interpretPointed(res) } -fun clang_getTypedefDeclUnderlyingType(C: CXCursor, retValPlacement: Placement): CXType { - val _C = C.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXType.size).asLong() +fun clang_getTypedefDeclUnderlyingType(C: CXCursor, retValPlacement: NativePlacement): CXType { + val _C = C.rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getTypedefDeclUnderlyingType(_C, _retValPlacement) - return NativePtr.byValue(res).asRef(CXType)!! + return interpretPointed(res) } -fun clang_getEnumDeclIntegerType(C: CXCursor, retValPlacement: Placement): CXType { - val _C = C.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXType.size).asLong() +fun clang_getEnumDeclIntegerType(C: CXCursor, retValPlacement: NativePlacement): CXType { + val _C = C.rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getEnumDeclIntegerType(_C, _retValPlacement) - return NativePtr.byValue(res).asRef(CXType)!! + return interpretPointed(res) } fun clang_getEnumConstantDeclValue(C: CXCursor): Long { - val _C = C.getNativePtr().asLong() + val _C = C.rawPtr val res = externals.clang_getEnumConstantDeclValue(_C) return res } fun clang_getEnumConstantDeclUnsignedValue(C: CXCursor): Long { - val _C = C.getNativePtr().asLong() + val _C = C.rawPtr val res = externals.clang_getEnumConstantDeclUnsignedValue(_C) return res } fun clang_getFieldDeclBitWidth(C: CXCursor): Int { - val _C = C.getNativePtr().asLong() + val _C = C.rawPtr val res = externals.clang_getFieldDeclBitWidth(_C) return res } fun clang_Cursor_getNumArguments(C: CXCursor): Int { - val _C = C.getNativePtr().asLong() + val _C = C.rawPtr val res = externals.clang_Cursor_getNumArguments(_C) return res } -fun clang_Cursor_getArgument(C: CXCursor, i: Int, retValPlacement: Placement): CXCursor { - val _C = C.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXCursor.size).asLong() - val res = externals.clang_Cursor_getArgument(_C, i, _retValPlacement) - return NativePtr.byValue(res).asRef(CXCursor)!! +fun clang_Cursor_getArgument(C: CXCursor, i: Int, retValPlacement: NativePlacement): CXCursor { + val _C = C.rawPtr + val _i = i + val _retValPlacement = retValPlacement.alloc().rawPtr + val res = externals.clang_Cursor_getArgument(_C, _i, _retValPlacement) + return interpretPointed(res) } fun clang_Cursor_getNumTemplateArguments(C: CXCursor): Int { - val _C = C.getNativePtr().asLong() + val _C = C.rawPtr val res = externals.clang_Cursor_getNumTemplateArguments(_C) return res } fun clang_Cursor_getTemplateArgumentKind(C: CXCursor, I: Int): CXTemplateArgumentKind { - val _C = C.getNativePtr().asLong() - val res = externals.clang_Cursor_getTemplateArgumentKind(_C, I) + val _C = C.rawPtr + val _I = I + val res = externals.clang_Cursor_getTemplateArgumentKind(_C, _I) return CXTemplateArgumentKind.byValue(res) } -fun clang_Cursor_getTemplateArgumentType(C: CXCursor, I: Int, retValPlacement: Placement): CXType { - val _C = C.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXType.size).asLong() - val res = externals.clang_Cursor_getTemplateArgumentType(_C, I, _retValPlacement) - return NativePtr.byValue(res).asRef(CXType)!! +fun clang_Cursor_getTemplateArgumentType(C: CXCursor, I: Int, retValPlacement: NativePlacement): CXType { + val _C = C.rawPtr + val _I = I + val _retValPlacement = retValPlacement.alloc().rawPtr + val res = externals.clang_Cursor_getTemplateArgumentType(_C, _I, _retValPlacement) + return interpretPointed(res) } fun clang_Cursor_getTemplateArgumentValue(C: CXCursor, I: Int): Long { - val _C = C.getNativePtr().asLong() - val res = externals.clang_Cursor_getTemplateArgumentValue(_C, I) + val _C = C.rawPtr + val _I = I + val res = externals.clang_Cursor_getTemplateArgumentValue(_C, _I) return res } fun clang_Cursor_getTemplateArgumentUnsignedValue(C: CXCursor, I: Int): Long { - val _C = C.getNativePtr().asLong() - val res = externals.clang_Cursor_getTemplateArgumentUnsignedValue(_C, I) + val _C = C.rawPtr + val _I = I + val res = externals.clang_Cursor_getTemplateArgumentUnsignedValue(_C, _I) return res } fun clang_equalTypes(A: CXType, B: CXType): Int { - val _A = A.getNativePtr().asLong() - val _B = B.getNativePtr().asLong() + val _A = A.rawPtr + val _B = B.rawPtr val res = externals.clang_equalTypes(_A, _B) return res } -fun clang_getCanonicalType(T: CXType, retValPlacement: Placement): CXType { - val _T = T.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXType.size).asLong() +fun clang_getCanonicalType(T: CXType, retValPlacement: NativePlacement): CXType { + val _T = T.rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getCanonicalType(_T, _retValPlacement) - return NativePtr.byValue(res).asRef(CXType)!! + return interpretPointed(res) } fun clang_isConstQualifiedType(T: CXType): Int { - val _T = T.getNativePtr().asLong() + val _T = T.rawPtr val res = externals.clang_isConstQualifiedType(_T) return res } fun clang_isVolatileQualifiedType(T: CXType): Int { - val _T = T.getNativePtr().asLong() + val _T = T.rawPtr val res = externals.clang_isVolatileQualifiedType(_T) return res } fun clang_isRestrictQualifiedType(T: CXType): Int { - val _T = T.getNativePtr().asLong() + val _T = T.rawPtr val res = externals.clang_isRestrictQualifiedType(_T) return res } -fun clang_getPointeeType(T: CXType, retValPlacement: Placement): CXType { - val _T = T.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXType.size).asLong() +fun clang_getPointeeType(T: CXType, retValPlacement: NativePlacement): CXType { + val _T = T.rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getPointeeType(_T, _retValPlacement) - return NativePtr.byValue(res).asRef(CXType)!! + return interpretPointed(res) } -fun clang_getTypeDeclaration(T: CXType, retValPlacement: Placement): CXCursor { - val _T = T.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXCursor.size).asLong() +fun clang_getTypeDeclaration(T: CXType, retValPlacement: NativePlacement): CXCursor { + val _T = T.rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getTypeDeclaration(_T, _retValPlacement) - return NativePtr.byValue(res).asRef(CXCursor)!! + return interpretPointed(res) } -fun clang_getDeclObjCTypeEncoding(C: CXCursor, retValPlacement: Placement): CXString { - val _C = C.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXString.size).asLong() +fun clang_getDeclObjCTypeEncoding(C: CXCursor, retValPlacement: NativePlacement): CXString { + val _C = C.rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getDeclObjCTypeEncoding(_C, _retValPlacement) - return NativePtr.byValue(res).asRef(CXString)!! + return interpretPointed(res) } -fun clang_getTypeKindSpelling(K: CXTypeKind, retValPlacement: Placement): CXString { +fun clang_getTypeKindSpelling(K: CXTypeKind, retValPlacement: NativePlacement): CXString { val _K = K.value - val _retValPlacement = retValPlacement.alloc(CXString.size).asLong() + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getTypeKindSpelling(_K, _retValPlacement) - return NativePtr.byValue(res).asRef(CXString)!! + return interpretPointed(res) } fun clang_getFunctionTypeCallingConv(T: CXType): CXCallingConv { - val _T = T.getNativePtr().asLong() + val _T = T.rawPtr val res = externals.clang_getFunctionTypeCallingConv(_T) return CXCallingConv.byValue(res) } -fun clang_getResultType(T: CXType, retValPlacement: Placement): CXType { - val _T = T.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXType.size).asLong() +fun clang_getResultType(T: CXType, retValPlacement: NativePlacement): CXType { + val _T = T.rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getResultType(_T, _retValPlacement) - return NativePtr.byValue(res).asRef(CXType)!! + return interpretPointed(res) } fun clang_getNumArgTypes(T: CXType): Int { - val _T = T.getNativePtr().asLong() + val _T = T.rawPtr val res = externals.clang_getNumArgTypes(_T) return res } -fun clang_getArgType(T: CXType, i: Int, retValPlacement: Placement): CXType { - val _T = T.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXType.size).asLong() - val res = externals.clang_getArgType(_T, i, _retValPlacement) - return NativePtr.byValue(res).asRef(CXType)!! +fun clang_getArgType(T: CXType, i: Int, retValPlacement: NativePlacement): CXType { + val _T = T.rawPtr + val _i = i + val _retValPlacement = retValPlacement.alloc().rawPtr + val res = externals.clang_getArgType(_T, _i, _retValPlacement) + return interpretPointed(res) } fun clang_isFunctionTypeVariadic(T: CXType): Int { - val _T = T.getNativePtr().asLong() + val _T = T.rawPtr val res = externals.clang_isFunctionTypeVariadic(_T) return res } -fun clang_getCursorResultType(C: CXCursor, retValPlacement: Placement): CXType { - val _C = C.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXType.size).asLong() +fun clang_getCursorResultType(C: CXCursor, retValPlacement: NativePlacement): CXType { + val _C = C.rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getCursorResultType(_C, _retValPlacement) - return NativePtr.byValue(res).asRef(CXType)!! + return interpretPointed(res) } fun clang_isPODType(T: CXType): Int { - val _T = T.getNativePtr().asLong() + val _T = T.rawPtr val res = externals.clang_isPODType(_T) return res } -fun clang_getElementType(T: CXType, retValPlacement: Placement): CXType { - val _T = T.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXType.size).asLong() +fun clang_getElementType(T: CXType, retValPlacement: NativePlacement): CXType { + val _T = T.rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getElementType(_T, _retValPlacement) - return NativePtr.byValue(res).asRef(CXType)!! + return interpretPointed(res) } fun clang_getNumElements(T: CXType): Long { - val _T = T.getNativePtr().asLong() + val _T = T.rawPtr val res = externals.clang_getNumElements(_T) return res } -fun clang_getArrayElementType(T: CXType, retValPlacement: Placement): CXType { - val _T = T.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXType.size).asLong() +fun clang_getArrayElementType(T: CXType, retValPlacement: NativePlacement): CXType { + val _T = T.rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getArrayElementType(_T, _retValPlacement) - return NativePtr.byValue(res).asRef(CXType)!! + return interpretPointed(res) } fun clang_getArraySize(T: CXType): Long { - val _T = T.getNativePtr().asLong() + val _T = T.rawPtr val res = externals.clang_getArraySize(_T) return res } fun clang_Type_getAlignOf(T: CXType): Long { - val _T = T.getNativePtr().asLong() + val _T = T.rawPtr val res = externals.clang_Type_getAlignOf(_T) return res } -fun clang_Type_getClassType(T: CXType, retValPlacement: Placement): CXType { - val _T = T.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXType.size).asLong() +fun clang_Type_getClassType(T: CXType, retValPlacement: NativePlacement): CXType { + val _T = T.rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_Type_getClassType(_T, _retValPlacement) - return NativePtr.byValue(res).asRef(CXType)!! + return interpretPointed(res) } fun clang_Type_getSizeOf(T: CXType): Long { - val _T = T.getNativePtr().asLong() + val _T = T.rawPtr val res = externals.clang_Type_getSizeOf(_T) return res } fun clang_Type_getOffsetOf(T: CXType, S: String?): Long { - val _T = T.getNativePtr().asLong() - val _S = CString.fromString(S).getNativePtr().asLong() - val res = externals.clang_Type_getOffsetOf(_T, _S) - free(NativePtr.byValue(_S)) - return res + memScoped { + val _T = T.rawPtr + val _S = S?.toCString(memScope).rawPtr + val res = externals.clang_Type_getOffsetOf(_T, _S) + return res + } } fun clang_Cursor_getOffsetOfField(C: CXCursor): Long { - val _C = C.getNativePtr().asLong() + val _C = C.rawPtr val res = externals.clang_Cursor_getOffsetOfField(_C) return res } fun clang_Cursor_isAnonymous(C: CXCursor): Int { - val _C = C.getNativePtr().asLong() + val _C = C.rawPtr val res = externals.clang_Cursor_isAnonymous(_C) return res } fun clang_Type_getNumTemplateArguments(T: CXType): Int { - val _T = T.getNativePtr().asLong() + val _T = T.rawPtr val res = externals.clang_Type_getNumTemplateArguments(_T) return res } -fun clang_Type_getTemplateArgumentAsType(T: CXType, i: Int, retValPlacement: Placement): CXType { - val _T = T.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXType.size).asLong() - val res = externals.clang_Type_getTemplateArgumentAsType(_T, i, _retValPlacement) - return NativePtr.byValue(res).asRef(CXType)!! +fun clang_Type_getTemplateArgumentAsType(T: CXType, i: Int, retValPlacement: NativePlacement): CXType { + val _T = T.rawPtr + val _i = i + val _retValPlacement = retValPlacement.alloc().rawPtr + val res = externals.clang_Type_getTemplateArgumentAsType(_T, _i, _retValPlacement) + return interpretPointed(res) } fun clang_Type_getCXXRefQualifier(T: CXType): CXRefQualifierKind { - val _T = T.getNativePtr().asLong() + val _T = T.rawPtr val res = externals.clang_Type_getCXXRefQualifier(_T) return CXRefQualifierKind.byValue(res) } fun clang_Cursor_isBitField(C: CXCursor): Int { - val _C = C.getNativePtr().asLong() + val _C = C.rawPtr val res = externals.clang_Cursor_isBitField(_C) return res } fun clang_isVirtualBase(arg0: CXCursor): Int { - val _arg0 = arg0.getNativePtr().asLong() + val _arg0 = arg0.rawPtr val res = externals.clang_isVirtualBase(_arg0) return res } fun clang_getCXXAccessSpecifier(arg0: CXCursor): CX_CXXAccessSpecifier { - val _arg0 = arg0.getNativePtr().asLong() + val _arg0 = arg0.rawPtr val res = externals.clang_getCXXAccessSpecifier(_arg0) return CX_CXXAccessSpecifier.byValue(res) } fun clang_Cursor_getStorageClass(arg0: CXCursor): CX_StorageClass { - val _arg0 = arg0.getNativePtr().asLong() + val _arg0 = arg0.rawPtr val res = externals.clang_Cursor_getStorageClass(_arg0) return CX_StorageClass.byValue(res) } fun clang_getNumOverloadedDecls(cursor: CXCursor): Int { - val _cursor = cursor.getNativePtr().asLong() + val _cursor = cursor.rawPtr val res = externals.clang_getNumOverloadedDecls(_cursor) return res } -fun clang_getOverloadedDecl(cursor: CXCursor, index: Int, retValPlacement: Placement): CXCursor { - val _cursor = cursor.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXCursor.size).asLong() - val res = externals.clang_getOverloadedDecl(_cursor, index, _retValPlacement) - return NativePtr.byValue(res).asRef(CXCursor)!! +fun clang_getOverloadedDecl(cursor: CXCursor, index: Int, retValPlacement: NativePlacement): CXCursor { + val _cursor = cursor.rawPtr + val _index = index + val _retValPlacement = retValPlacement.alloc().rawPtr + val res = externals.clang_getOverloadedDecl(_cursor, _index, _retValPlacement) + return interpretPointed(res) } -fun clang_getIBOutletCollectionType(arg0: CXCursor, retValPlacement: Placement): CXType { - val _arg0 = arg0.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXType.size).asLong() +fun clang_getIBOutletCollectionType(arg0: CXCursor, retValPlacement: NativePlacement): CXType { + val _arg0 = arg0.rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getIBOutletCollectionType(_arg0, _retValPlacement) - return NativePtr.byValue(res).asRef(CXType)!! + return interpretPointed(res) } -fun clang_visitChildren(parent: CXCursor, visitor: ((CXCursor, CXCursor, NativePtr?) -> CXChildVisitResult)?, client_data: NativePtr?): Int { - val _parent = parent.getNativePtr().asLong() - val _visitor = visitor?.staticAsNative(NativeFunctionType1).asLong() - val _client_data = client_data.asLong() +fun clang_visitChildren(parent: CXCursor, visitor: CXCursorVisitor?, client_data: CXClientData?): Int { + val _parent = parent.rawPtr + val _visitor = visitor.rawValue + val _client_data = client_data.rawValue val res = externals.clang_visitChildren(_parent, _visitor, _client_data) return res } -fun clang_getCursorUSR(arg0: CXCursor, retValPlacement: Placement): CXString { - val _arg0 = arg0.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXString.size).asLong() +fun clang_getCursorUSR(arg0: CXCursor, retValPlacement: NativePlacement): CXString { + val _arg0 = arg0.rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getCursorUSR(_arg0, _retValPlacement) - return NativePtr.byValue(res).asRef(CXString)!! + return interpretPointed(res) } -fun clang_constructUSR_ObjCClass(class_name: String?, retValPlacement: Placement): CXString { - val _class_name = CString.fromString(class_name).getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXString.size).asLong() - val res = externals.clang_constructUSR_ObjCClass(_class_name, _retValPlacement) - free(NativePtr.byValue(_class_name)) - return NativePtr.byValue(res).asRef(CXString)!! +fun clang_constructUSR_ObjCClass(class_name: String?, retValPlacement: NativePlacement): CXString { + memScoped { + val _class_name = class_name?.toCString(memScope).rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr + val res = externals.clang_constructUSR_ObjCClass(_class_name, _retValPlacement) + return interpretPointed(res) + } } -fun clang_constructUSR_ObjCCategory(class_name: String?, category_name: String?, retValPlacement: Placement): CXString { - val _class_name = CString.fromString(class_name).getNativePtr().asLong() - val _category_name = CString.fromString(category_name).getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXString.size).asLong() - val res = externals.clang_constructUSR_ObjCCategory(_class_name, _category_name, _retValPlacement) - free(NativePtr.byValue(_class_name)) - free(NativePtr.byValue(_category_name)) - return NativePtr.byValue(res).asRef(CXString)!! +fun clang_constructUSR_ObjCCategory(class_name: String?, category_name: String?, retValPlacement: NativePlacement): CXString { + memScoped { + val _class_name = class_name?.toCString(memScope).rawPtr + val _category_name = category_name?.toCString(memScope).rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr + val res = externals.clang_constructUSR_ObjCCategory(_class_name, _category_name, _retValPlacement) + return interpretPointed(res) + } } -fun clang_constructUSR_ObjCProtocol(protocol_name: String?, retValPlacement: Placement): CXString { - val _protocol_name = CString.fromString(protocol_name).getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXString.size).asLong() - val res = externals.clang_constructUSR_ObjCProtocol(_protocol_name, _retValPlacement) - free(NativePtr.byValue(_protocol_name)) - return NativePtr.byValue(res).asRef(CXString)!! +fun clang_constructUSR_ObjCProtocol(protocol_name: String?, retValPlacement: NativePlacement): CXString { + memScoped { + val _protocol_name = protocol_name?.toCString(memScope).rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr + val res = externals.clang_constructUSR_ObjCProtocol(_protocol_name, _retValPlacement) + return interpretPointed(res) + } } -fun clang_constructUSR_ObjCIvar(name: String?, classUSR: CXString, retValPlacement: Placement): CXString { - val _name = CString.fromString(name).getNativePtr().asLong() - val _classUSR = classUSR.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXString.size).asLong() - val res = externals.clang_constructUSR_ObjCIvar(_name, _classUSR, _retValPlacement) - free(NativePtr.byValue(_name)) - return NativePtr.byValue(res).asRef(CXString)!! +fun clang_constructUSR_ObjCIvar(name: String?, classUSR: CXString, retValPlacement: NativePlacement): CXString { + memScoped { + val _name = name?.toCString(memScope).rawPtr + val _classUSR = classUSR.rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr + val res = externals.clang_constructUSR_ObjCIvar(_name, _classUSR, _retValPlacement) + return interpretPointed(res) + } } -fun clang_constructUSR_ObjCMethod(name: String?, isInstanceMethod: Int, classUSR: CXString, retValPlacement: Placement): CXString { - val _name = CString.fromString(name).getNativePtr().asLong() - val _classUSR = classUSR.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXString.size).asLong() - val res = externals.clang_constructUSR_ObjCMethod(_name, isInstanceMethod, _classUSR, _retValPlacement) - free(NativePtr.byValue(_name)) - return NativePtr.byValue(res).asRef(CXString)!! +fun clang_constructUSR_ObjCMethod(name: String?, isInstanceMethod: Int, classUSR: CXString, retValPlacement: NativePlacement): CXString { + memScoped { + val _name = name?.toCString(memScope).rawPtr + val _isInstanceMethod = isInstanceMethod + val _classUSR = classUSR.rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr + val res = externals.clang_constructUSR_ObjCMethod(_name, _isInstanceMethod, _classUSR, _retValPlacement) + return interpretPointed(res) + } } -fun clang_constructUSR_ObjCProperty(property: String?, classUSR: CXString, retValPlacement: Placement): CXString { - val _property = CString.fromString(property).getNativePtr().asLong() - val _classUSR = classUSR.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXString.size).asLong() - val res = externals.clang_constructUSR_ObjCProperty(_property, _classUSR, _retValPlacement) - free(NativePtr.byValue(_property)) - return NativePtr.byValue(res).asRef(CXString)!! +fun clang_constructUSR_ObjCProperty(property: String?, classUSR: CXString, retValPlacement: NativePlacement): CXString { + memScoped { + val _property = property?.toCString(memScope).rawPtr + val _classUSR = classUSR.rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr + val res = externals.clang_constructUSR_ObjCProperty(_property, _classUSR, _retValPlacement) + return interpretPointed(res) + } } -fun clang_getCursorSpelling(arg0: CXCursor, retValPlacement: Placement): CXString { - val _arg0 = arg0.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXString.size).asLong() +fun clang_getCursorSpelling(arg0: CXCursor, retValPlacement: NativePlacement): CXString { + val _arg0 = arg0.rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getCursorSpelling(_arg0, _retValPlacement) - return NativePtr.byValue(res).asRef(CXString)!! + return interpretPointed(res) } -fun clang_Cursor_getSpellingNameRange(arg0: CXCursor, pieceIndex: Int, options: Int, retValPlacement: Placement): CXSourceRange { - val _arg0 = arg0.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXSourceRange.size).asLong() - val res = externals.clang_Cursor_getSpellingNameRange(_arg0, pieceIndex, options, _retValPlacement) - return NativePtr.byValue(res).asRef(CXSourceRange)!! +fun clang_Cursor_getSpellingNameRange(arg0: CXCursor, pieceIndex: Int, options: Int, retValPlacement: NativePlacement): CXSourceRange { + val _arg0 = arg0.rawPtr + val _pieceIndex = pieceIndex + val _options = options + val _retValPlacement = retValPlacement.alloc().rawPtr + val res = externals.clang_Cursor_getSpellingNameRange(_arg0, _pieceIndex, _options, _retValPlacement) + return interpretPointed(res) } -fun clang_getCursorDisplayName(arg0: CXCursor, retValPlacement: Placement): CXString { - val _arg0 = arg0.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXString.size).asLong() +fun clang_getCursorDisplayName(arg0: CXCursor, retValPlacement: NativePlacement): CXString { + val _arg0 = arg0.rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getCursorDisplayName(_arg0, _retValPlacement) - return NativePtr.byValue(res).asRef(CXString)!! + return interpretPointed(res) } -fun clang_getCursorReferenced(arg0: CXCursor, retValPlacement: Placement): CXCursor { - val _arg0 = arg0.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXCursor.size).asLong() +fun clang_getCursorReferenced(arg0: CXCursor, retValPlacement: NativePlacement): CXCursor { + val _arg0 = arg0.rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getCursorReferenced(_arg0, _retValPlacement) - return NativePtr.byValue(res).asRef(CXCursor)!! + return interpretPointed(res) } -fun clang_getCursorDefinition(arg0: CXCursor, retValPlacement: Placement): CXCursor { - val _arg0 = arg0.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXCursor.size).asLong() +fun clang_getCursorDefinition(arg0: CXCursor, retValPlacement: NativePlacement): CXCursor { + val _arg0 = arg0.rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getCursorDefinition(_arg0, _retValPlacement) - return NativePtr.byValue(res).asRef(CXCursor)!! + return interpretPointed(res) } fun clang_isCursorDefinition(arg0: CXCursor): Int { - val _arg0 = arg0.getNativePtr().asLong() + val _arg0 = arg0.rawPtr val res = externals.clang_isCursorDefinition(_arg0) return res } -fun clang_getCanonicalCursor(arg0: CXCursor, retValPlacement: Placement): CXCursor { - val _arg0 = arg0.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXCursor.size).asLong() +fun clang_getCanonicalCursor(arg0: CXCursor, retValPlacement: NativePlacement): CXCursor { + val _arg0 = arg0.rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getCanonicalCursor(_arg0, _retValPlacement) - return NativePtr.byValue(res).asRef(CXCursor)!! + return interpretPointed(res) } fun clang_Cursor_getObjCSelectorIndex(arg0: CXCursor): Int { - val _arg0 = arg0.getNativePtr().asLong() + val _arg0 = arg0.rawPtr val res = externals.clang_Cursor_getObjCSelectorIndex(_arg0) return res } fun clang_Cursor_isDynamicCall(C: CXCursor): Int { - val _C = C.getNativePtr().asLong() + val _C = C.rawPtr val res = externals.clang_Cursor_isDynamicCall(_C) return res } -fun clang_Cursor_getReceiverType(C: CXCursor, retValPlacement: Placement): CXType { - val _C = C.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXType.size).asLong() +fun clang_Cursor_getReceiverType(C: CXCursor, retValPlacement: NativePlacement): CXType { + val _C = C.rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_Cursor_getReceiverType(_C, _retValPlacement) - return NativePtr.byValue(res).asRef(CXType)!! + return interpretPointed(res) } fun clang_Cursor_getObjCPropertyAttributes(C: CXCursor, reserved: Int): Int { - val _C = C.getNativePtr().asLong() - val res = externals.clang_Cursor_getObjCPropertyAttributes(_C, reserved) + val _C = C.rawPtr + val _reserved = reserved + val res = externals.clang_Cursor_getObjCPropertyAttributes(_C, _reserved) return res } fun clang_Cursor_getObjCDeclQualifiers(C: CXCursor): Int { - val _C = C.getNativePtr().asLong() + val _C = C.rawPtr val res = externals.clang_Cursor_getObjCDeclQualifiers(_C) return res } fun clang_Cursor_isObjCOptional(C: CXCursor): Int { - val _C = C.getNativePtr().asLong() + val _C = C.rawPtr val res = externals.clang_Cursor_isObjCOptional(_C) return res } fun clang_Cursor_isVariadic(C: CXCursor): Int { - val _C = C.getNativePtr().asLong() + val _C = C.rawPtr val res = externals.clang_Cursor_isVariadic(_C) return res } -fun clang_Cursor_getCommentRange(C: CXCursor, retValPlacement: Placement): CXSourceRange { - val _C = C.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXSourceRange.size).asLong() +fun clang_Cursor_getCommentRange(C: CXCursor, retValPlacement: NativePlacement): CXSourceRange { + val _C = C.rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_Cursor_getCommentRange(_C, _retValPlacement) - return NativePtr.byValue(res).asRef(CXSourceRange)!! + return interpretPointed(res) } -fun clang_Cursor_getRawCommentText(C: CXCursor, retValPlacement: Placement): CXString { - val _C = C.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXString.size).asLong() +fun clang_Cursor_getRawCommentText(C: CXCursor, retValPlacement: NativePlacement): CXString { + val _C = C.rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_Cursor_getRawCommentText(_C, _retValPlacement) - return NativePtr.byValue(res).asRef(CXString)!! + return interpretPointed(res) } -fun clang_Cursor_getBriefCommentText(C: CXCursor, retValPlacement: Placement): CXString { - val _C = C.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXString.size).asLong() +fun clang_Cursor_getBriefCommentText(C: CXCursor, retValPlacement: NativePlacement): CXString { + val _C = C.rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_Cursor_getBriefCommentText(_C, _retValPlacement) - return NativePtr.byValue(res).asRef(CXString)!! + return interpretPointed(res) } -fun clang_Cursor_getMangling(arg0: CXCursor, retValPlacement: Placement): CXString { - val _arg0 = arg0.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXString.size).asLong() +fun clang_Cursor_getMangling(arg0: CXCursor, retValPlacement: NativePlacement): CXString { + val _arg0 = arg0.rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_Cursor_getMangling(_arg0, _retValPlacement) - return NativePtr.byValue(res).asRef(CXString)!! + return interpretPointed(res) } -fun clang_Cursor_getCXXManglings(arg0: CXCursor): CXStringSet? { - val _arg0 = arg0.getNativePtr().asLong() +fun clang_Cursor_getCXXManglings(arg0: CXCursor): CPointer? { + val _arg0 = arg0.rawPtr val res = externals.clang_Cursor_getCXXManglings(_arg0) - return NativePtr.byValue(res).asRef(CXStringSet) + return CPointer.createNullable(res) } -fun clang_Cursor_getModule(C: CXCursor): NativePtr? { - val _C = C.getNativePtr().asLong() +fun clang_Cursor_getModule(C: CXCursor): CXModule? { + val _C = C.rawPtr val res = externals.clang_Cursor_getModule(_C) - return NativePtr.byValue(res) + return CPointer.createNullable(res) } -fun clang_getModuleForFile(arg0: CXTranslationUnitImpl?, arg1: NativePtr?): NativePtr? { - val _arg0 = arg0.getNativePtr().asLong() - val _arg1 = arg1.asLong() +fun clang_getModuleForFile(arg0: CXTranslationUnit?, arg1: CXFile?): CXModule? { + val _arg0 = arg0.rawValue + val _arg1 = arg1.rawValue val res = externals.clang_getModuleForFile(_arg0, _arg1) - return NativePtr.byValue(res) + return CPointer.createNullable(res) } -fun clang_Module_getASTFile(Module: NativePtr?): NativePtr? { - val _Module = Module.asLong() +fun clang_Module_getASTFile(Module: CXModule?): CXFile? { + val _Module = Module.rawValue val res = externals.clang_Module_getASTFile(_Module) - return NativePtr.byValue(res) + return CPointer.createNullable(res) } -fun clang_Module_getParent(Module: NativePtr?): NativePtr? { - val _Module = Module.asLong() +fun clang_Module_getParent(Module: CXModule?): CXModule? { + val _Module = Module.rawValue val res = externals.clang_Module_getParent(_Module) - return NativePtr.byValue(res) + return CPointer.createNullable(res) } -fun clang_Module_getName(Module: NativePtr?, retValPlacement: Placement): CXString { - val _Module = Module.asLong() - val _retValPlacement = retValPlacement.alloc(CXString.size).asLong() +fun clang_Module_getName(Module: CXModule?, retValPlacement: NativePlacement): CXString { + val _Module = Module.rawValue + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_Module_getName(_Module, _retValPlacement) - return NativePtr.byValue(res).asRef(CXString)!! + return interpretPointed(res) } -fun clang_Module_getFullName(Module: NativePtr?, retValPlacement: Placement): CXString { - val _Module = Module.asLong() - val _retValPlacement = retValPlacement.alloc(CXString.size).asLong() +fun clang_Module_getFullName(Module: CXModule?, retValPlacement: NativePlacement): CXString { + val _Module = Module.rawValue + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_Module_getFullName(_Module, _retValPlacement) - return NativePtr.byValue(res).asRef(CXString)!! + return interpretPointed(res) } -fun clang_Module_isSystem(Module: NativePtr?): Int { - val _Module = Module.asLong() +fun clang_Module_isSystem(Module: CXModule?): Int { + val _Module = Module.rawValue val res = externals.clang_Module_isSystem(_Module) return res } -fun clang_Module_getNumTopLevelHeaders(arg0: CXTranslationUnitImpl?, Module: NativePtr?): Int { - val _arg0 = arg0.getNativePtr().asLong() - val _Module = Module.asLong() +fun clang_Module_getNumTopLevelHeaders(arg0: CXTranslationUnit?, Module: CXModule?): Int { + val _arg0 = arg0.rawValue + val _Module = Module.rawValue val res = externals.clang_Module_getNumTopLevelHeaders(_arg0, _Module) return res } -fun clang_Module_getTopLevelHeader(arg0: CXTranslationUnitImpl?, Module: NativePtr?, Index: Int): NativePtr? { - val _arg0 = arg0.getNativePtr().asLong() - val _Module = Module.asLong() - val res = externals.clang_Module_getTopLevelHeader(_arg0, _Module, Index) - return NativePtr.byValue(res) +fun clang_Module_getTopLevelHeader(arg0: CXTranslationUnit?, Module: CXModule?, Index: Int): CXFile? { + val _arg0 = arg0.rawValue + val _Module = Module.rawValue + val _Index = Index + val res = externals.clang_Module_getTopLevelHeader(_arg0, _Module, _Index) + return CPointer.createNullable(res) } fun clang_CXXField_isMutable(C: CXCursor): Int { - val _C = C.getNativePtr().asLong() + val _C = C.rawPtr val res = externals.clang_CXXField_isMutable(_C) return res } fun clang_CXXMethod_isPureVirtual(C: CXCursor): Int { - val _C = C.getNativePtr().asLong() + val _C = C.rawPtr val res = externals.clang_CXXMethod_isPureVirtual(_C) return res } fun clang_CXXMethod_isStatic(C: CXCursor): Int { - val _C = C.getNativePtr().asLong() + val _C = C.rawPtr val res = externals.clang_CXXMethod_isStatic(_C) return res } fun clang_CXXMethod_isVirtual(C: CXCursor): Int { - val _C = C.getNativePtr().asLong() + val _C = C.rawPtr val res = externals.clang_CXXMethod_isVirtual(_C) return res } fun clang_CXXMethod_isConst(C: CXCursor): Int { - val _C = C.getNativePtr().asLong() + val _C = C.rawPtr val res = externals.clang_CXXMethod_isConst(_C) return res } fun clang_getTemplateCursorKind(C: CXCursor): CXCursorKind { - val _C = C.getNativePtr().asLong() + val _C = C.rawPtr val res = externals.clang_getTemplateCursorKind(_C) return CXCursorKind.byValue(res) } -fun clang_getSpecializedCursorTemplate(C: CXCursor, retValPlacement: Placement): CXCursor { - val _C = C.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXCursor.size).asLong() +fun clang_getSpecializedCursorTemplate(C: CXCursor, retValPlacement: NativePlacement): CXCursor { + val _C = C.rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getSpecializedCursorTemplate(_C, _retValPlacement) - return NativePtr.byValue(res).asRef(CXCursor)!! + return interpretPointed(res) } -fun clang_getCursorReferenceNameRange(C: CXCursor, NameFlags: Int, PieceIndex: Int, retValPlacement: Placement): CXSourceRange { - val _C = C.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXSourceRange.size).asLong() - val res = externals.clang_getCursorReferenceNameRange(_C, NameFlags, PieceIndex, _retValPlacement) - return NativePtr.byValue(res).asRef(CXSourceRange)!! +fun clang_getCursorReferenceNameRange(C: CXCursor, NameFlags: Int, PieceIndex: Int, retValPlacement: NativePlacement): CXSourceRange { + val _C = C.rawPtr + val _NameFlags = NameFlags + val _PieceIndex = PieceIndex + val _retValPlacement = retValPlacement.alloc().rawPtr + val res = externals.clang_getCursorReferenceNameRange(_C, _NameFlags, _PieceIndex, _retValPlacement) + return interpretPointed(res) } fun clang_getTokenKind(arg0: CXToken): CXTokenKind { - val _arg0 = arg0.getNativePtr().asLong() + val _arg0 = arg0.rawPtr val res = externals.clang_getTokenKind(_arg0) return CXTokenKind.byValue(res) } -fun clang_getTokenSpelling(arg0: CXTranslationUnitImpl?, arg1: CXToken, retValPlacement: Placement): CXString { - val _arg0 = arg0.getNativePtr().asLong() - val _arg1 = arg1.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXString.size).asLong() +fun clang_getTokenSpelling(arg0: CXTranslationUnit?, arg1: CXToken, retValPlacement: NativePlacement): CXString { + val _arg0 = arg0.rawValue + val _arg1 = arg1.rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getTokenSpelling(_arg0, _arg1, _retValPlacement) - return NativePtr.byValue(res).asRef(CXString)!! + return interpretPointed(res) } -fun clang_getTokenLocation(arg0: CXTranslationUnitImpl?, arg1: CXToken, retValPlacement: Placement): CXSourceLocation { - val _arg0 = arg0.getNativePtr().asLong() - val _arg1 = arg1.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXSourceLocation.size).asLong() +fun clang_getTokenLocation(arg0: CXTranslationUnit?, arg1: CXToken, retValPlacement: NativePlacement): CXSourceLocation { + val _arg0 = arg0.rawValue + val _arg1 = arg1.rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getTokenLocation(_arg0, _arg1, _retValPlacement) - return NativePtr.byValue(res).asRef(CXSourceLocation)!! + return interpretPointed(res) } -fun clang_getTokenExtent(arg0: CXTranslationUnitImpl?, arg1: CXToken, retValPlacement: Placement): CXSourceRange { - val _arg0 = arg0.getNativePtr().asLong() - val _arg1 = arg1.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXSourceRange.size).asLong() +fun clang_getTokenExtent(arg0: CXTranslationUnit?, arg1: CXToken, retValPlacement: NativePlacement): CXSourceRange { + val _arg0 = arg0.rawValue + val _arg1 = arg1.rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getTokenExtent(_arg0, _arg1, _retValPlacement) - return NativePtr.byValue(res).asRef(CXSourceRange)!! + return interpretPointed(res) } -fun clang_tokenize(TU: CXTranslationUnitImpl?, Range: CXSourceRange, Tokens: RefBox?, NumTokens: Int32Box?): Unit { - val _TU = TU.getNativePtr().asLong() - val _Range = Range.getNativePtr().asLong() - val _Tokens = Tokens.getNativePtr().asLong() - val _NumTokens = NumTokens.getNativePtr().asLong() +fun clang_tokenize(TU: CXTranslationUnit?, Range: CXSourceRange, Tokens: CPointer>?, NumTokens: CPointer?): Unit { + val _TU = TU.rawValue + val _Range = Range.rawPtr + val _Tokens = Tokens.rawValue + val _NumTokens = NumTokens.rawValue val res = externals.clang_tokenize(_TU, _Range, _Tokens, _NumTokens) return res } -fun clang_annotateTokens(TU: CXTranslationUnitImpl?, Tokens: CXToken?, NumTokens: Int, Cursors: CXCursor?): Unit { - val _TU = TU.getNativePtr().asLong() - val _Tokens = Tokens.getNativePtr().asLong() - val _Cursors = Cursors.getNativePtr().asLong() - val res = externals.clang_annotateTokens(_TU, _Tokens, NumTokens, _Cursors) +fun clang_annotateTokens(TU: CXTranslationUnit?, Tokens: CPointer?, NumTokens: Int, Cursors: CPointer?): Unit { + val _TU = TU.rawValue + val _Tokens = Tokens.rawValue + val _NumTokens = NumTokens + val _Cursors = Cursors.rawValue + val res = externals.clang_annotateTokens(_TU, _Tokens, _NumTokens, _Cursors) return res } -fun clang_disposeTokens(TU: CXTranslationUnitImpl?, Tokens: CXToken?, NumTokens: Int): Unit { - val _TU = TU.getNativePtr().asLong() - val _Tokens = Tokens.getNativePtr().asLong() - val res = externals.clang_disposeTokens(_TU, _Tokens, NumTokens) +fun clang_disposeTokens(TU: CXTranslationUnit?, Tokens: CPointer?, NumTokens: Int): Unit { + val _TU = TU.rawValue + val _Tokens = Tokens.rawValue + val _NumTokens = NumTokens + val res = externals.clang_disposeTokens(_TU, _Tokens, _NumTokens) return res } -fun clang_getCursorKindSpelling(Kind: CXCursorKind, retValPlacement: Placement): CXString { +fun clang_getCursorKindSpelling(Kind: CXCursorKind, retValPlacement: NativePlacement): CXString { val _Kind = Kind.value - val _retValPlacement = retValPlacement.alloc(CXString.size).asLong() + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getCursorKindSpelling(_Kind, _retValPlacement) - return NativePtr.byValue(res).asRef(CXString)!! + return interpretPointed(res) } -fun clang_getDefinitionSpellingAndExtent(arg0: CXCursor, startBuf: RefBox?, endBuf: RefBox?, startLine: Int32Box?, startColumn: Int32Box?, endLine: Int32Box?, endColumn: Int32Box?): Unit { - val _arg0 = arg0.getNativePtr().asLong() - val _startBuf = startBuf.getNativePtr().asLong() - val _endBuf = endBuf.getNativePtr().asLong() - val _startLine = startLine.getNativePtr().asLong() - val _startColumn = startColumn.getNativePtr().asLong() - val _endLine = endLine.getNativePtr().asLong() - val _endColumn = endColumn.getNativePtr().asLong() +fun clang_getDefinitionSpellingAndExtent(arg0: CXCursor, startBuf: CPointer>?, endBuf: CPointer>?, startLine: CPointer?, startColumn: CPointer?, endLine: CPointer?, endColumn: CPointer?): Unit { + val _arg0 = arg0.rawPtr + val _startBuf = startBuf.rawValue + val _endBuf = endBuf.rawValue + val _startLine = startLine.rawValue + val _startColumn = startColumn.rawValue + val _endLine = endLine.rawValue + val _endColumn = endColumn.rawValue val res = externals.clang_getDefinitionSpellingAndExtent(_arg0, _startBuf, _endBuf, _startLine, _startColumn, _endLine, _endColumn) return res } @@ -1636,82 +1735,87 @@ fun clang_enableStackTraces(): Unit { return res } -fun clang_executeOnThread(fn: ((NativePtr?) -> Unit)?, user_data: NativePtr?, stack_size: Int): Unit { - val _fn = fn?.staticAsNative(NativeFunctionType2).asLong() - val _user_data = user_data.asLong() - val res = externals.clang_executeOnThread(_fn, _user_data, stack_size) +fun clang_executeOnThread(fn: CFunctionPointer?, user_data: COpaquePointer?, stack_size: Int): Unit { + val _fn = fn.rawValue + val _user_data = user_data.rawValue + val _stack_size = stack_size + val res = externals.clang_executeOnThread(_fn, _user_data, _stack_size) return res } -fun clang_getCompletionChunkKind(completion_string: NativePtr?, chunk_number: Int): CXCompletionChunkKind { - val _completion_string = completion_string.asLong() - val res = externals.clang_getCompletionChunkKind(_completion_string, chunk_number) +fun clang_getCompletionChunkKind(completion_string: CXCompletionString?, chunk_number: Int): CXCompletionChunkKind { + val _completion_string = completion_string.rawValue + val _chunk_number = chunk_number + val res = externals.clang_getCompletionChunkKind(_completion_string, _chunk_number) return CXCompletionChunkKind.byValue(res) } -fun clang_getCompletionChunkText(completion_string: NativePtr?, chunk_number: Int, retValPlacement: Placement): CXString { - val _completion_string = completion_string.asLong() - val _retValPlacement = retValPlacement.alloc(CXString.size).asLong() - val res = externals.clang_getCompletionChunkText(_completion_string, chunk_number, _retValPlacement) - return NativePtr.byValue(res).asRef(CXString)!! +fun clang_getCompletionChunkText(completion_string: CXCompletionString?, chunk_number: Int, retValPlacement: NativePlacement): CXString { + val _completion_string = completion_string.rawValue + val _chunk_number = chunk_number + val _retValPlacement = retValPlacement.alloc().rawPtr + val res = externals.clang_getCompletionChunkText(_completion_string, _chunk_number, _retValPlacement) + return interpretPointed(res) } -fun clang_getCompletionChunkCompletionString(completion_string: NativePtr?, chunk_number: Int): NativePtr? { - val _completion_string = completion_string.asLong() - val res = externals.clang_getCompletionChunkCompletionString(_completion_string, chunk_number) - return NativePtr.byValue(res) +fun clang_getCompletionChunkCompletionString(completion_string: CXCompletionString?, chunk_number: Int): CXCompletionString? { + val _completion_string = completion_string.rawValue + val _chunk_number = chunk_number + val res = externals.clang_getCompletionChunkCompletionString(_completion_string, _chunk_number) + return CPointer.createNullable(res) } -fun clang_getNumCompletionChunks(completion_string: NativePtr?): Int { - val _completion_string = completion_string.asLong() +fun clang_getNumCompletionChunks(completion_string: CXCompletionString?): Int { + val _completion_string = completion_string.rawValue val res = externals.clang_getNumCompletionChunks(_completion_string) return res } -fun clang_getCompletionPriority(completion_string: NativePtr?): Int { - val _completion_string = completion_string.asLong() +fun clang_getCompletionPriority(completion_string: CXCompletionString?): Int { + val _completion_string = completion_string.rawValue val res = externals.clang_getCompletionPriority(_completion_string) return res } -fun clang_getCompletionAvailability(completion_string: NativePtr?): CXAvailabilityKind { - val _completion_string = completion_string.asLong() +fun clang_getCompletionAvailability(completion_string: CXCompletionString?): CXAvailabilityKind { + val _completion_string = completion_string.rawValue val res = externals.clang_getCompletionAvailability(_completion_string) return CXAvailabilityKind.byValue(res) } -fun clang_getCompletionNumAnnotations(completion_string: NativePtr?): Int { - val _completion_string = completion_string.asLong() +fun clang_getCompletionNumAnnotations(completion_string: CXCompletionString?): Int { + val _completion_string = completion_string.rawValue val res = externals.clang_getCompletionNumAnnotations(_completion_string) return res } -fun clang_getCompletionAnnotation(completion_string: NativePtr?, annotation_number: Int, retValPlacement: Placement): CXString { - val _completion_string = completion_string.asLong() - val _retValPlacement = retValPlacement.alloc(CXString.size).asLong() - val res = externals.clang_getCompletionAnnotation(_completion_string, annotation_number, _retValPlacement) - return NativePtr.byValue(res).asRef(CXString)!! +fun clang_getCompletionAnnotation(completion_string: CXCompletionString?, annotation_number: Int, retValPlacement: NativePlacement): CXString { + val _completion_string = completion_string.rawValue + val _annotation_number = annotation_number + val _retValPlacement = retValPlacement.alloc().rawPtr + val res = externals.clang_getCompletionAnnotation(_completion_string, _annotation_number, _retValPlacement) + return interpretPointed(res) } -fun clang_getCompletionParent(completion_string: NativePtr?, kind: CXCursorKind.ref?, retValPlacement: Placement): CXString { - val _completion_string = completion_string.asLong() - val _kind = kind.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXString.size).asLong() +fun clang_getCompletionParent(completion_string: CXCompletionString?, kind: CPointer?, retValPlacement: NativePlacement): CXString { + val _completion_string = completion_string.rawValue + val _kind = kind.rawValue + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getCompletionParent(_completion_string, _kind, _retValPlacement) - return NativePtr.byValue(res).asRef(CXString)!! + return interpretPointed(res) } -fun clang_getCompletionBriefComment(completion_string: NativePtr?, retValPlacement: Placement): CXString { - val _completion_string = completion_string.asLong() - val _retValPlacement = retValPlacement.alloc(CXString.size).asLong() +fun clang_getCompletionBriefComment(completion_string: CXCompletionString?, retValPlacement: NativePlacement): CXString { + val _completion_string = completion_string.rawValue + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getCompletionBriefComment(_completion_string, _retValPlacement) - return NativePtr.byValue(res).asRef(CXString)!! + return interpretPointed(res) } -fun clang_getCursorCompletionString(cursor: CXCursor): NativePtr? { - val _cursor = cursor.getNativePtr().asLong() +fun clang_getCursorCompletionString(cursor: CXCursor): CXCompletionString? { + val _cursor = cursor.rawPtr val res = externals.clang_getCursorCompletionString(_cursor) - return NativePtr.byValue(res) + return CPointer.createNullable(res) } fun clang_defaultCodeCompleteOptions(): Int { @@ -1719,130 +1823,141 @@ fun clang_defaultCodeCompleteOptions(): Int { return res } -fun clang_codeCompleteAt(TU: CXTranslationUnitImpl?, complete_filename: String?, complete_line: Int, complete_column: Int, unsaved_files: CXUnsavedFile?, num_unsaved_files: Int, options: Int): CXCodeCompleteResults? { - val _TU = TU.getNativePtr().asLong() - val _complete_filename = CString.fromString(complete_filename).getNativePtr().asLong() - val _unsaved_files = unsaved_files.getNativePtr().asLong() - val res = externals.clang_codeCompleteAt(_TU, _complete_filename, complete_line, complete_column, _unsaved_files, num_unsaved_files, options) - free(NativePtr.byValue(_complete_filename)) - return NativePtr.byValue(res).asRef(CXCodeCompleteResults) +fun clang_codeCompleteAt(TU: CXTranslationUnit?, complete_filename: String?, complete_line: Int, complete_column: Int, unsaved_files: CPointer?, num_unsaved_files: Int, options: Int): CPointer? { + memScoped { + val _TU = TU.rawValue + val _complete_filename = complete_filename?.toCString(memScope).rawPtr + val _complete_line = complete_line + val _complete_column = complete_column + val _unsaved_files = unsaved_files.rawValue + val _num_unsaved_files = num_unsaved_files + val _options = options + val res = externals.clang_codeCompleteAt(_TU, _complete_filename, _complete_line, _complete_column, _unsaved_files, _num_unsaved_files, _options) + return CPointer.createNullable(res) + } } -fun clang_sortCodeCompletionResults(Results: CXCompletionResult?, NumResults: Int): Unit { - val _Results = Results.getNativePtr().asLong() - val res = externals.clang_sortCodeCompletionResults(_Results, NumResults) +fun clang_sortCodeCompletionResults(Results: CPointer?, NumResults: Int): Unit { + val _Results = Results.rawValue + val _NumResults = NumResults + val res = externals.clang_sortCodeCompletionResults(_Results, _NumResults) return res } -fun clang_disposeCodeCompleteResults(Results: CXCodeCompleteResults?): Unit { - val _Results = Results.getNativePtr().asLong() +fun clang_disposeCodeCompleteResults(Results: CPointer?): Unit { + val _Results = Results.rawValue val res = externals.clang_disposeCodeCompleteResults(_Results) return res } -fun clang_codeCompleteGetNumDiagnostics(Results: CXCodeCompleteResults?): Int { - val _Results = Results.getNativePtr().asLong() +fun clang_codeCompleteGetNumDiagnostics(Results: CPointer?): Int { + val _Results = Results.rawValue val res = externals.clang_codeCompleteGetNumDiagnostics(_Results) return res } -fun clang_codeCompleteGetDiagnostic(Results: CXCodeCompleteResults?, Index: Int): NativePtr? { - val _Results = Results.getNativePtr().asLong() - val res = externals.clang_codeCompleteGetDiagnostic(_Results, Index) - return NativePtr.byValue(res) +fun clang_codeCompleteGetDiagnostic(Results: CPointer?, Index: Int): CXDiagnostic? { + val _Results = Results.rawValue + val _Index = Index + val res = externals.clang_codeCompleteGetDiagnostic(_Results, _Index) + return CPointer.createNullable(res) } -fun clang_codeCompleteGetContexts(Results: CXCodeCompleteResults?): Long { - val _Results = Results.getNativePtr().asLong() +fun clang_codeCompleteGetContexts(Results: CPointer?): Long { + val _Results = Results.rawValue val res = externals.clang_codeCompleteGetContexts(_Results) return res } -fun clang_codeCompleteGetContainerKind(Results: CXCodeCompleteResults?, IsIncomplete: Int32Box?): CXCursorKind { - val _Results = Results.getNativePtr().asLong() - val _IsIncomplete = IsIncomplete.getNativePtr().asLong() +fun clang_codeCompleteGetContainerKind(Results: CPointer?, IsIncomplete: CPointer?): CXCursorKind { + val _Results = Results.rawValue + val _IsIncomplete = IsIncomplete.rawValue val res = externals.clang_codeCompleteGetContainerKind(_Results, _IsIncomplete) return CXCursorKind.byValue(res) } -fun clang_codeCompleteGetContainerUSR(Results: CXCodeCompleteResults?, retValPlacement: Placement): CXString { - val _Results = Results.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXString.size).asLong() +fun clang_codeCompleteGetContainerUSR(Results: CPointer?, retValPlacement: NativePlacement): CXString { + val _Results = Results.rawValue + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_codeCompleteGetContainerUSR(_Results, _retValPlacement) - return NativePtr.byValue(res).asRef(CXString)!! + return interpretPointed(res) } -fun clang_codeCompleteGetObjCSelector(Results: CXCodeCompleteResults?, retValPlacement: Placement): CXString { - val _Results = Results.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXString.size).asLong() +fun clang_codeCompleteGetObjCSelector(Results: CPointer?, retValPlacement: NativePlacement): CXString { + val _Results = Results.rawValue + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_codeCompleteGetObjCSelector(_Results, _retValPlacement) - return NativePtr.byValue(res).asRef(CXString)!! + return interpretPointed(res) } -fun clang_getClangVersion(retValPlacement: Placement): CXString { - val _retValPlacement = retValPlacement.alloc(CXString.size).asLong() +fun clang_getClangVersion(retValPlacement: NativePlacement): CXString { + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_getClangVersion(_retValPlacement) - return NativePtr.byValue(res).asRef(CXString)!! + return interpretPointed(res) } fun clang_toggleCrashRecovery(isEnabled: Int): Unit { - val res = externals.clang_toggleCrashRecovery(isEnabled) + val _isEnabled = isEnabled + val res = externals.clang_toggleCrashRecovery(_isEnabled) return res } -fun clang_getInclusions(tu: CXTranslationUnitImpl?, visitor: ((NativePtr?, CXSourceLocation?, Int, NativePtr?) -> Unit)?, client_data: NativePtr?): Unit { - val _tu = tu.getNativePtr().asLong() - val _visitor = visitor?.staticAsNative(NativeFunctionType3).asLong() - val _client_data = client_data.asLong() +fun clang_getInclusions(tu: CXTranslationUnit?, visitor: CXInclusionVisitor?, client_data: CXClientData?): Unit { + val _tu = tu.rawValue + val _visitor = visitor.rawValue + val _client_data = client_data.rawValue val res = externals.clang_getInclusions(_tu, _visitor, _client_data) return res } -fun clang_getRemappings(path: String?): NativePtr? { - val _path = CString.fromString(path).getNativePtr().asLong() - val res = externals.clang_getRemappings(_path) - free(NativePtr.byValue(_path)) - return NativePtr.byValue(res) +fun clang_getRemappings(path: String?): CXRemapping? { + memScoped { + val _path = path?.toCString(memScope).rawPtr + val res = externals.clang_getRemappings(_path) + return CPointer.createNullable(res) + } } -fun clang_getRemappingsFromFileList(filePaths: RefBox?, numFiles: Int): NativePtr? { - val _filePaths = filePaths.getNativePtr().asLong() - val res = externals.clang_getRemappingsFromFileList(_filePaths, numFiles) - return NativePtr.byValue(res) +fun clang_getRemappingsFromFileList(filePaths: CPointer>?, numFiles: Int): CXRemapping? { + val _filePaths = filePaths.rawValue + val _numFiles = numFiles + val res = externals.clang_getRemappingsFromFileList(_filePaths, _numFiles) + return CPointer.createNullable(res) } -fun clang_remap_getNumFiles(arg0: NativePtr?): Int { - val _arg0 = arg0.asLong() +fun clang_remap_getNumFiles(arg0: CXRemapping?): Int { + val _arg0 = arg0.rawValue val res = externals.clang_remap_getNumFiles(_arg0) return res } -fun clang_remap_getFilenames(arg0: NativePtr?, index: Int, original: CXString?, transformed: CXString?): Unit { - val _arg0 = arg0.asLong() - val _original = original.getNativePtr().asLong() - val _transformed = transformed.getNativePtr().asLong() - val res = externals.clang_remap_getFilenames(_arg0, index, _original, _transformed) +fun clang_remap_getFilenames(arg0: CXRemapping?, index: Int, original: CPointer?, transformed: CPointer?): Unit { + val _arg0 = arg0.rawValue + val _index = index + val _original = original.rawValue + val _transformed = transformed.rawValue + val res = externals.clang_remap_getFilenames(_arg0, _index, _original, _transformed) return res } -fun clang_remap_dispose(arg0: NativePtr?): Unit { - val _arg0 = arg0.asLong() +fun clang_remap_dispose(arg0: CXRemapping?): Unit { + val _arg0 = arg0.rawValue val res = externals.clang_remap_dispose(_arg0) return res } -fun clang_findReferencesInFile(cursor: CXCursor, file: NativePtr?, visitor: CXCursorAndRangeVisitor): CXResult { - val _cursor = cursor.getNativePtr().asLong() - val _file = file.asLong() - val _visitor = visitor.getNativePtr().asLong() +fun clang_findReferencesInFile(cursor: CXCursor, file: CXFile?, visitor: CXCursorAndRangeVisitor): CXResult { + val _cursor = cursor.rawPtr + val _file = file.rawValue + val _visitor = visitor.rawPtr val res = externals.clang_findReferencesInFile(_cursor, _file, _visitor) return CXResult.byValue(res) } -fun clang_findIncludesInFile(TU: CXTranslationUnitImpl?, file: NativePtr?, visitor: CXCursorAndRangeVisitor): CXResult { - val _TU = TU.getNativePtr().asLong() - val _file = file.asLong() - val _visitor = visitor.getNativePtr().asLong() +fun clang_findIncludesInFile(TU: CXTranslationUnit?, file: CXFile?, visitor: CXCursorAndRangeVisitor): CXResult { + val _TU = TU.rawValue + val _file = file.rawValue + val _visitor = visitor.rawPtr val res = externals.clang_findIncludesInFile(_TU, _file, _visitor) return CXResult.byValue(res) } @@ -1853,607 +1968,952 @@ fun clang_index_isEntityObjCContainerKind(arg0: CXIdxEntityKind): Int { return res } -fun clang_index_getObjCContainerDeclInfo(arg0: CXIdxDeclInfo?): CXIdxObjCContainerDeclInfo? { - val _arg0 = arg0.getNativePtr().asLong() +fun clang_index_getObjCContainerDeclInfo(arg0: CPointer?): CPointer? { + val _arg0 = arg0.rawValue val res = externals.clang_index_getObjCContainerDeclInfo(_arg0) - return NativePtr.byValue(res).asRef(CXIdxObjCContainerDeclInfo) + return CPointer.createNullable(res) } -fun clang_index_getObjCInterfaceDeclInfo(arg0: CXIdxDeclInfo?): CXIdxObjCInterfaceDeclInfo? { - val _arg0 = arg0.getNativePtr().asLong() +fun clang_index_getObjCInterfaceDeclInfo(arg0: CPointer?): CPointer? { + val _arg0 = arg0.rawValue val res = externals.clang_index_getObjCInterfaceDeclInfo(_arg0) - return NativePtr.byValue(res).asRef(CXIdxObjCInterfaceDeclInfo) + return CPointer.createNullable(res) } -fun clang_index_getObjCCategoryDeclInfo(arg0: CXIdxDeclInfo?): CXIdxObjCCategoryDeclInfo? { - val _arg0 = arg0.getNativePtr().asLong() +fun clang_index_getObjCCategoryDeclInfo(arg0: CPointer?): CPointer? { + val _arg0 = arg0.rawValue val res = externals.clang_index_getObjCCategoryDeclInfo(_arg0) - return NativePtr.byValue(res).asRef(CXIdxObjCCategoryDeclInfo) + return CPointer.createNullable(res) } -fun clang_index_getObjCProtocolRefListInfo(arg0: CXIdxDeclInfo?): CXIdxObjCProtocolRefListInfo? { - val _arg0 = arg0.getNativePtr().asLong() +fun clang_index_getObjCProtocolRefListInfo(arg0: CPointer?): CPointer? { + val _arg0 = arg0.rawValue val res = externals.clang_index_getObjCProtocolRefListInfo(_arg0) - return NativePtr.byValue(res).asRef(CXIdxObjCProtocolRefListInfo) + return CPointer.createNullable(res) } -fun clang_index_getObjCPropertyDeclInfo(arg0: CXIdxDeclInfo?): CXIdxObjCPropertyDeclInfo? { - val _arg0 = arg0.getNativePtr().asLong() +fun clang_index_getObjCPropertyDeclInfo(arg0: CPointer?): CPointer? { + val _arg0 = arg0.rawValue val res = externals.clang_index_getObjCPropertyDeclInfo(_arg0) - return NativePtr.byValue(res).asRef(CXIdxObjCPropertyDeclInfo) + return CPointer.createNullable(res) } -fun clang_index_getIBOutletCollectionAttrInfo(arg0: CXIdxAttrInfo?): CXIdxIBOutletCollectionAttrInfo? { - val _arg0 = arg0.getNativePtr().asLong() +fun clang_index_getIBOutletCollectionAttrInfo(arg0: CPointer?): CPointer? { + val _arg0 = arg0.rawValue val res = externals.clang_index_getIBOutletCollectionAttrInfo(_arg0) - return NativePtr.byValue(res).asRef(CXIdxIBOutletCollectionAttrInfo) + return CPointer.createNullable(res) } -fun clang_index_getCXXClassDeclInfo(arg0: CXIdxDeclInfo?): CXIdxCXXClassDeclInfo? { - val _arg0 = arg0.getNativePtr().asLong() +fun clang_index_getCXXClassDeclInfo(arg0: CPointer?): CPointer? { + val _arg0 = arg0.rawValue val res = externals.clang_index_getCXXClassDeclInfo(_arg0) - return NativePtr.byValue(res).asRef(CXIdxCXXClassDeclInfo) + return CPointer.createNullable(res) } -fun clang_index_getClientContainer(arg0: CXIdxContainerInfo?): NativePtr? { - val _arg0 = arg0.getNativePtr().asLong() +fun clang_index_getClientContainer(arg0: CPointer?): CXIdxClientContainer? { + val _arg0 = arg0.rawValue val res = externals.clang_index_getClientContainer(_arg0) - return NativePtr.byValue(res) + return CPointer.createNullable(res) } -fun clang_index_setClientContainer(arg0: CXIdxContainerInfo?, arg1: NativePtr?): Unit { - val _arg0 = arg0.getNativePtr().asLong() - val _arg1 = arg1.asLong() +fun clang_index_setClientContainer(arg0: CPointer?, arg1: CXIdxClientContainer?): Unit { + val _arg0 = arg0.rawValue + val _arg1 = arg1.rawValue val res = externals.clang_index_setClientContainer(_arg0, _arg1) return res } -fun clang_index_getClientEntity(arg0: CXIdxEntityInfo?): NativePtr? { - val _arg0 = arg0.getNativePtr().asLong() +fun clang_index_getClientEntity(arg0: CPointer?): CXIdxClientEntity? { + val _arg0 = arg0.rawValue val res = externals.clang_index_getClientEntity(_arg0) - return NativePtr.byValue(res) + return CPointer.createNullable(res) } -fun clang_index_setClientEntity(arg0: CXIdxEntityInfo?, arg1: NativePtr?): Unit { - val _arg0 = arg0.getNativePtr().asLong() - val _arg1 = arg1.asLong() +fun clang_index_setClientEntity(arg0: CPointer?, arg1: CXIdxClientEntity?): Unit { + val _arg0 = arg0.rawValue + val _arg1 = arg1.rawValue val res = externals.clang_index_setClientEntity(_arg0, _arg1) return res } -fun clang_IndexAction_create(CIdx: NativePtr?): NativePtr? { - val _CIdx = CIdx.asLong() +fun clang_IndexAction_create(CIdx: CXIndex?): CXIndexAction? { + val _CIdx = CIdx.rawValue val res = externals.clang_IndexAction_create(_CIdx) - return NativePtr.byValue(res) + return CPointer.createNullable(res) } -fun clang_IndexAction_dispose(arg0: NativePtr?): Unit { - val _arg0 = arg0.asLong() +fun clang_IndexAction_dispose(arg0: CXIndexAction?): Unit { + val _arg0 = arg0.rawValue val res = externals.clang_IndexAction_dispose(_arg0) return res } -fun clang_indexSourceFile(arg0: NativePtr?, client_data: NativePtr?, index_callbacks: IndexerCallbacks?, index_callbacks_size: Int, index_options: Int, source_filename: String?, command_line_args: RefBox?, num_command_line_args: Int, unsaved_files: CXUnsavedFile?, num_unsaved_files: Int, out_TU: RefBox?, TU_options: Int): Int { - val _arg0 = arg0.asLong() - val _client_data = client_data.asLong() - val _index_callbacks = index_callbacks.getNativePtr().asLong() - val _source_filename = CString.fromString(source_filename).getNativePtr().asLong() - val _command_line_args = command_line_args.getNativePtr().asLong() - val _unsaved_files = unsaved_files.getNativePtr().asLong() - val _out_TU = out_TU.getNativePtr().asLong() - val res = externals.clang_indexSourceFile(_arg0, _client_data, _index_callbacks, index_callbacks_size, index_options, _source_filename, _command_line_args, num_command_line_args, _unsaved_files, num_unsaved_files, _out_TU, TU_options) - free(NativePtr.byValue(_source_filename)) +fun clang_indexSourceFile(arg0: CXIndexAction?, client_data: CXClientData?, index_callbacks: CPointer?, index_callbacks_size: Int, index_options: Int, source_filename: String?, command_line_args: CPointer>?, num_command_line_args: Int, unsaved_files: CPointer?, num_unsaved_files: Int, out_TU: CPointer?, TU_options: Int): Int { + memScoped { + val _arg0 = arg0.rawValue + val _client_data = client_data.rawValue + val _index_callbacks = index_callbacks.rawValue + val _index_callbacks_size = index_callbacks_size + val _index_options = index_options + val _source_filename = source_filename?.toCString(memScope).rawPtr + val _command_line_args = command_line_args.rawValue + val _num_command_line_args = num_command_line_args + val _unsaved_files = unsaved_files.rawValue + val _num_unsaved_files = num_unsaved_files + val _out_TU = out_TU.rawValue + val _TU_options = TU_options + val res = externals.clang_indexSourceFile(_arg0, _client_data, _index_callbacks, _index_callbacks_size, _index_options, _source_filename, _command_line_args, _num_command_line_args, _unsaved_files, _num_unsaved_files, _out_TU, _TU_options) + return res + } +} + +fun clang_indexSourceFileFullArgv(arg0: CXIndexAction?, client_data: CXClientData?, index_callbacks: CPointer?, index_callbacks_size: Int, index_options: Int, source_filename: String?, command_line_args: CPointer>?, num_command_line_args: Int, unsaved_files: CPointer?, num_unsaved_files: Int, out_TU: CPointer?, TU_options: Int): Int { + memScoped { + val _arg0 = arg0.rawValue + val _client_data = client_data.rawValue + val _index_callbacks = index_callbacks.rawValue + val _index_callbacks_size = index_callbacks_size + val _index_options = index_options + val _source_filename = source_filename?.toCString(memScope).rawPtr + val _command_line_args = command_line_args.rawValue + val _num_command_line_args = num_command_line_args + val _unsaved_files = unsaved_files.rawValue + val _num_unsaved_files = num_unsaved_files + val _out_TU = out_TU.rawValue + val _TU_options = TU_options + val res = externals.clang_indexSourceFileFullArgv(_arg0, _client_data, _index_callbacks, _index_callbacks_size, _index_options, _source_filename, _command_line_args, _num_command_line_args, _unsaved_files, _num_unsaved_files, _out_TU, _TU_options) + return res + } +} + +fun clang_indexTranslationUnit(arg0: CXIndexAction?, client_data: CXClientData?, index_callbacks: CPointer?, index_callbacks_size: Int, index_options: Int, arg5: CXTranslationUnit?): Int { + val _arg0 = arg0.rawValue + val _client_data = client_data.rawValue + val _index_callbacks = index_callbacks.rawValue + val _index_callbacks_size = index_callbacks_size + val _index_options = index_options + val _arg5 = arg5.rawValue + val res = externals.clang_indexTranslationUnit(_arg0, _client_data, _index_callbacks, _index_callbacks_size, _index_options, _arg5) return res } -fun clang_indexSourceFileFullArgv(arg0: NativePtr?, client_data: NativePtr?, index_callbacks: IndexerCallbacks?, index_callbacks_size: Int, index_options: Int, source_filename: String?, command_line_args: RefBox?, num_command_line_args: Int, unsaved_files: CXUnsavedFile?, num_unsaved_files: Int, out_TU: RefBox?, TU_options: Int): Int { - val _arg0 = arg0.asLong() - val _client_data = client_data.asLong() - val _index_callbacks = index_callbacks.getNativePtr().asLong() - val _source_filename = CString.fromString(source_filename).getNativePtr().asLong() - val _command_line_args = command_line_args.getNativePtr().asLong() - val _unsaved_files = unsaved_files.getNativePtr().asLong() - val _out_TU = out_TU.getNativePtr().asLong() - val res = externals.clang_indexSourceFileFullArgv(_arg0, _client_data, _index_callbacks, index_callbacks_size, index_options, _source_filename, _command_line_args, num_command_line_args, _unsaved_files, num_unsaved_files, _out_TU, TU_options) - free(NativePtr.byValue(_source_filename)) - return res -} - -fun clang_indexTranslationUnit(arg0: NativePtr?, client_data: NativePtr?, index_callbacks: IndexerCallbacks?, index_callbacks_size: Int, index_options: Int, arg5: CXTranslationUnitImpl?): Int { - val _arg0 = arg0.asLong() - val _client_data = client_data.asLong() - val _index_callbacks = index_callbacks.getNativePtr().asLong() - val _arg5 = arg5.getNativePtr().asLong() - val res = externals.clang_indexTranslationUnit(_arg0, _client_data, _index_callbacks, index_callbacks_size, index_options, _arg5) - return res -} - -fun clang_indexLoc_getFileLocation(loc: CXIdxLoc, indexFile: NativePtrBox?, file: NativePtrBox?, line: Int32Box?, column: Int32Box?, offset: Int32Box?): Unit { - val _loc = loc.getNativePtr().asLong() - val _indexFile = indexFile.getNativePtr().asLong() - val _file = file.getNativePtr().asLong() - val _line = line.getNativePtr().asLong() - val _column = column.getNativePtr().asLong() - val _offset = offset.getNativePtr().asLong() +fun clang_indexLoc_getFileLocation(loc: CXIdxLoc, indexFile: CPointer?, file: CPointer?, line: CPointer?, column: CPointer?, offset: CPointer?): Unit { + val _loc = loc.rawPtr + val _indexFile = indexFile.rawValue + val _file = file.rawValue + val _line = line.rawValue + val _column = column.rawValue + val _offset = offset.rawValue val res = externals.clang_indexLoc_getFileLocation(_loc, _indexFile, _file, _line, _column, _offset) return res } -fun clang_indexLoc_getCXSourceLocation(loc: CXIdxLoc, retValPlacement: Placement): CXSourceLocation { - val _loc = loc.getNativePtr().asLong() - val _retValPlacement = retValPlacement.alloc(CXSourceLocation.size).asLong() +fun clang_indexLoc_getCXSourceLocation(loc: CXIdxLoc, retValPlacement: NativePlacement): CXSourceLocation { + val _loc = loc.rawPtr + val _retValPlacement = retValPlacement.alloc().rawPtr val res = externals.clang_indexLoc_getCXSourceLocation(_loc, _retValPlacement) - return NativePtr.byValue(res).asRef(CXSourceLocation)!! + return interpretPointed(res) } -fun clang_Type_visitFields(T: CXType, visitor: ((CXCursor, NativePtr?) -> CXVisitorResult)?, client_data: NativePtr?): Int { - val _T = T.getNativePtr().asLong() - val _visitor = visitor?.staticAsNative(NativeFunctionType4).asLong() - val _client_data = client_data.asLong() +fun clang_Type_visitFields(T: CXType, visitor: CXFieldVisitor?, client_data: CXClientData?): Int { + val _T = T.rawPtr + val _visitor = visitor.rawValue + val _client_data = client_data.rawValue val res = externals.clang_Type_visitFields(_T, _visitor, _client_data) return res } -class __mbstate_t(ptr: NativePtr) : NativeStruct(ptr) { +class __mbstate_t(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type<__mbstate_t>(128, ::__mbstate_t) + companion object : Type(128, 8) + + val __mbstate8: CArray + get() = memberAt(0) + + val _mbstateL: CInt64Var + get() = memberAt(0) - val __mbstate8 by array[128](Int8Box) at 0 - val _mbstateL by Int64Box at 0 } -class __darwin_pthread_handler_rec(ptr: NativePtr) : NativeStruct(ptr) { +class __darwin_pthread_handler_rec(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type<__darwin_pthread_handler_rec>(24, ::__darwin_pthread_handler_rec) + companion object : Type(24, 8) + + val __routine: CFunctionPointerVar + get() = memberAt(0) + + val __arg: COpaquePointerVar + get() = memberAt(8) + + val __next: CPointerVar<__darwin_pthread_handler_rec> + get() = memberAt(16) - val __routine by NativeFunctionType2.ref at 0 - val __arg by NativePtrBox at 8 - val __next by __darwin_pthread_handler_rec.ref at 16 } -class _opaque_pthread_attr_t(ptr: NativePtr) : NativeStruct(ptr) { +class _opaque_pthread_attr_t(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type<_opaque_pthread_attr_t>(64, ::_opaque_pthread_attr_t) + companion object : Type(64, 8) + + val __sig: CInt64Var + get() = memberAt(0) + + val __opaque: CArray + get() = memberAt(8) - val __sig by Int64Box at 0 - val __opaque by array[56](Int8Box) at 8 } -class _opaque_pthread_cond_t(ptr: NativePtr) : NativeStruct(ptr) { +class _opaque_pthread_cond_t(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type<_opaque_pthread_cond_t>(48, ::_opaque_pthread_cond_t) + companion object : Type(48, 8) + + val __sig: CInt64Var + get() = memberAt(0) + + val __opaque: CArray + get() = memberAt(8) - val __sig by Int64Box at 0 - val __opaque by array[40](Int8Box) at 8 } -class _opaque_pthread_condattr_t(ptr: NativePtr) : NativeStruct(ptr) { +class _opaque_pthread_condattr_t(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type<_opaque_pthread_condattr_t>(16, ::_opaque_pthread_condattr_t) + companion object : Type(16, 8) + + val __sig: CInt64Var + get() = memberAt(0) + + val __opaque: CArray + get() = memberAt(8) - val __sig by Int64Box at 0 - val __opaque by array[8](Int8Box) at 8 } -class _opaque_pthread_mutex_t(ptr: NativePtr) : NativeStruct(ptr) { +class _opaque_pthread_mutex_t(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type<_opaque_pthread_mutex_t>(64, ::_opaque_pthread_mutex_t) + companion object : Type(64, 8) + + val __sig: CInt64Var + get() = memberAt(0) + + val __opaque: CArray + get() = memberAt(8) - val __sig by Int64Box at 0 - val __opaque by array[56](Int8Box) at 8 } -class _opaque_pthread_mutexattr_t(ptr: NativePtr) : NativeStruct(ptr) { +class _opaque_pthread_mutexattr_t(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type<_opaque_pthread_mutexattr_t>(16, ::_opaque_pthread_mutexattr_t) + companion object : Type(16, 8) + + val __sig: CInt64Var + get() = memberAt(0) + + val __opaque: CArray + get() = memberAt(8) - val __sig by Int64Box at 0 - val __opaque by array[8](Int8Box) at 8 } -class _opaque_pthread_once_t(ptr: NativePtr) : NativeStruct(ptr) { +class _opaque_pthread_once_t(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type<_opaque_pthread_once_t>(16, ::_opaque_pthread_once_t) + companion object : Type(16, 8) + + val __sig: CInt64Var + get() = memberAt(0) + + val __opaque: CArray + get() = memberAt(8) - val __sig by Int64Box at 0 - val __opaque by array[8](Int8Box) at 8 } -class _opaque_pthread_rwlock_t(ptr: NativePtr) : NativeStruct(ptr) { +class _opaque_pthread_rwlock_t(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type<_opaque_pthread_rwlock_t>(200, ::_opaque_pthread_rwlock_t) + companion object : Type(200, 8) + + val __sig: CInt64Var + get() = memberAt(0) + + val __opaque: CArray + get() = memberAt(8) - val __sig by Int64Box at 0 - val __opaque by array[192](Int8Box) at 8 } -class _opaque_pthread_rwlockattr_t(ptr: NativePtr) : NativeStruct(ptr) { +class _opaque_pthread_rwlockattr_t(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type<_opaque_pthread_rwlockattr_t>(24, ::_opaque_pthread_rwlockattr_t) + companion object : Type(24, 8) + + val __sig: CInt64Var + get() = memberAt(0) + + val __opaque: CArray + get() = memberAt(8) - val __sig by Int64Box at 0 - val __opaque by array[16](Int8Box) at 8 } -class _opaque_pthread_t(ptr: NativePtr) : NativeStruct(ptr) { +class _opaque_pthread_t(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type<_opaque_pthread_t>(8192, ::_opaque_pthread_t) + companion object : Type(8192, 8) + + val __sig: CInt64Var + get() = memberAt(0) + + val __cleanup_stack: CPointerVar<__darwin_pthread_handler_rec> + get() = memberAt(8) + + val __opaque: CArray + get() = memberAt(16) - val __sig by Int64Box at 0 - val __cleanup_stack by __darwin_pthread_handler_rec.ref at 8 - val __opaque by array[8176](Int8Box) at 16 } -class timespec(ptr: NativePtr) : NativeStruct(ptr) { +class timespec(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type(16, ::timespec) + companion object : Type(16, 8) + + val tv_sec: __darwin_time_tVar + get() = memberAt(0) + + val tv_nsec: CInt64Var + get() = memberAt(8) - val tv_sec by Int64Box at 0 - val tv_nsec by Int64Box at 8 } -class tm(ptr: NativePtr) : NativeStruct(ptr) { +class tm(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type(56, ::tm) + companion object : Type(56, 8) + + val tm_sec: CInt32Var + get() = memberAt(0) + + val tm_min: CInt32Var + get() = memberAt(4) + + val tm_hour: CInt32Var + get() = memberAt(8) + + val tm_mday: CInt32Var + get() = memberAt(12) + + val tm_mon: CInt32Var + get() = memberAt(16) + + val tm_year: CInt32Var + get() = memberAt(20) + + val tm_wday: CInt32Var + get() = memberAt(24) + + val tm_yday: CInt32Var + get() = memberAt(28) + + val tm_isdst: CInt32Var + get() = memberAt(32) + + val tm_gmtoff: CInt64Var + get() = memberAt(40) + + val tm_zone: CPointerVar + get() = memberAt(48) - val tm_sec by Int32Box at 0 - val tm_min by Int32Box at 4 - val tm_hour by Int32Box at 8 - val tm_mday by Int32Box at 12 - val tm_mon by Int32Box at 16 - val tm_year by Int32Box at 20 - val tm_wday by Int32Box at 24 - val tm_yday by Int32Box at 28 - val tm_isdst by Int32Box at 32 - val tm_gmtoff by Int64Box at 40 - val tm_zone by Int8Box.ref at 48 } -class CXString(ptr: NativePtr) : NativeStruct(ptr) { +class CXString(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type(16, ::CXString) + companion object : Type(16, 8) + + val data: COpaquePointerVar + get() = memberAt(0) + + val private_flags: CInt32Var + get() = memberAt(8) - val data by NativePtrBox at 0 - val private_flags by Int32Box at 8 } -class CXStringSet(ptr: NativePtr) : NativeStruct(ptr) { +class CXStringSet(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type(16, ::CXStringSet) + companion object : Type(16, 8) + + val Strings: CPointerVar + get() = memberAt(0) + + val Count: CInt32Var + get() = memberAt(8) - val Strings by CXString.ref at 0 - val Count by Int32Box at 8 } -class CXVirtualFileOverlayImpl(ptr: NativePtr) : NativeRef(ptr) { - companion object : Type(::CXVirtualFileOverlayImpl) +class CXVirtualFileOverlayImpl(override val rawPtr: NativePtr) : COpaque + +class CXModuleMapDescriptorImpl(override val rawPtr: NativePtr) : COpaque + +class CXTranslationUnitImpl(override val rawPtr: NativePtr) : COpaque + +class CXUnsavedFile(override val rawPtr: NativePtr) : CStructVar() { + + companion object : Type(24, 8) + + val Filename: CPointerVar + get() = memberAt(0) + + val Contents: CPointerVar + get() = memberAt(8) + + val Length: CInt64Var + get() = memberAt(16) + } -class CXModuleMapDescriptorImpl(ptr: NativePtr) : NativeRef(ptr) { - companion object : Type(::CXModuleMapDescriptorImpl) +class CXVersion(override val rawPtr: NativePtr) : CStructVar() { + + companion object : Type(12, 4) + + val Major: CInt32Var + get() = memberAt(0) + + val Minor: CInt32Var + get() = memberAt(4) + + val Subminor: CInt32Var + get() = memberAt(8) + } -class CXTranslationUnitImpl(ptr: NativePtr) : NativeRef(ptr) { - companion object : Type(::CXTranslationUnitImpl) +class CXFileUniqueID(override val rawPtr: NativePtr) : CStructVar() { + + companion object : Type(24, 8) + + val data: CArray + get() = memberAt(0) + } -class CXUnsavedFile(ptr: NativePtr) : NativeStruct(ptr) { +class CXSourceLocation(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type(24, ::CXUnsavedFile) + companion object : Type(24, 8) + + val ptr_data: CArray + get() = memberAt(0) + + val int_data: CInt32Var + get() = memberAt(16) - val Filename by Int8Box.ref at 0 - val Contents by Int8Box.ref at 8 - val Length by Int64Box at 16 } -class CXVersion(ptr: NativePtr) : NativeStruct(ptr) { +class CXSourceRange(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type(12, ::CXVersion) + companion object : Type(24, 8) + + val ptr_data: CArray + get() = memberAt(0) + + val begin_int_data: CInt32Var + get() = memberAt(16) + + val end_int_data: CInt32Var + get() = memberAt(20) - val Major by Int32Box at 0 - val Minor by Int32Box at 4 - val Subminor by Int32Box at 8 } -class CXFileUniqueID(ptr: NativePtr) : NativeStruct(ptr) { +class CXSourceRangeList(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type(24, ::CXFileUniqueID) + companion object : Type(16, 8) + + val count: CInt32Var + get() = memberAt(0) + + val ranges: CPointerVar + get() = memberAt(8) - val data by array[3](Int64Box) at 0 } -class CXSourceLocation(ptr: NativePtr) : NativeStruct(ptr) { +class CXTUResourceUsageEntry(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type(24, ::CXSourceLocation) + companion object : Type(16, 8) + + val kind: CXTUResourceUsageKind.Var + get() = memberAt(0) + + val amount: CInt64Var + get() = memberAt(8) - val ptr_data by array[2](NativePtrBox) at 0 - val int_data by Int32Box at 16 } -class CXSourceRange(ptr: NativePtr) : NativeStruct(ptr) { +class CXTUResourceUsage(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type(24, ::CXSourceRange) + companion object : Type(24, 8) + + val data: COpaquePointerVar + get() = memberAt(0) + + val numEntries: CInt32Var + get() = memberAt(8) + + val entries: CPointerVar + get() = memberAt(16) - val ptr_data by array[2](NativePtrBox) at 0 - val begin_int_data by Int32Box at 16 - val end_int_data by Int32Box at 20 } -class CXSourceRangeList(ptr: NativePtr) : NativeStruct(ptr) { +class CXCursor(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type(16, ::CXSourceRangeList) + companion object : Type(32, 8) + + val kind: CXCursorKind.Var + get() = memberAt(0) + + val xdata: CInt32Var + get() = memberAt(4) + + val data: CArray + get() = memberAt(8) - val count by Int32Box at 0 - val ranges by CXSourceRange.ref at 8 } -class CXTUResourceUsageEntry(ptr: NativePtr) : NativeStruct(ptr) { +class CXPlatformAvailability(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type(16, ::CXTUResourceUsageEntry) + companion object : Type(72, 8) + + val Platform: CXString + get() = memberAt(0) + + val Introduced: CXVersion + get() = memberAt(16) + + val Deprecated: CXVersion + get() = memberAt(28) + + val Obsoleted: CXVersion + get() = memberAt(40) + + val Unavailable: CInt32Var + get() = memberAt(52) + + val Message: CXString + get() = memberAt(56) - val kind by CXTUResourceUsageKind.ref at 0 - val amount by Int64Box at 8 } -class CXTUResourceUsage(ptr: NativePtr) : NativeStruct(ptr) { +class CXCursorSetImpl(override val rawPtr: NativePtr) : COpaque + +class CXType(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type(24, ::CXTUResourceUsage) + companion object : Type(24, 8) + + val kind: CXTypeKind.Var + get() = memberAt(0) + + val data: CArray + get() = memberAt(8) - val data by NativePtrBox at 0 - val numEntries by Int32Box at 8 - val entries by CXTUResourceUsageEntry.ref at 16 } -class CXCursor(ptr: NativePtr) : NativeStruct(ptr) { +class CXToken(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type(32, ::CXCursor) + companion object : Type(24, 8) + + val int_data: CArray + get() = memberAt(0) + + val ptr_data: COpaquePointerVar + get() = memberAt(16) - val kind by CXCursorKind.ref at 0 - val xdata by Int32Box at 4 - val data by array[3](NativePtrBox) at 8 } -class CXPlatformAvailability(ptr: NativePtr) : NativeStruct(ptr) { +class CXCompletionResult(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type(72, ::CXPlatformAvailability) + companion object : Type(16, 8) + + val CursorKind: CXCursorKind.Var + get() = memberAt(0) + + val CompletionString: CXCompletionStringVar + get() = memberAt(8) - val Platform by CXString at 0 - val Introduced by CXVersion at 16 - val Deprecated by CXVersion at 28 - val Obsoleted by CXVersion at 40 - val Unavailable by Int32Box at 52 - val Message by CXString at 56 } -class CXCursorSetImpl(ptr: NativePtr) : NativeRef(ptr) { - companion object : Type(::CXCursorSetImpl) +class CXCodeCompleteResults(override val rawPtr: NativePtr) : CStructVar() { + + companion object : Type(16, 8) + + val Results: CPointerVar + get() = memberAt(0) + + val NumResults: CInt32Var + get() = memberAt(8) + } -class CXType(ptr: NativePtr) : NativeStruct(ptr) { +class CXCursorAndRangeVisitor(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type(24, ::CXType) + companion object : Type(16, 8) + + val context: COpaquePointerVar + get() = memberAt(0) + + val visit: CFunctionPointerVar + get() = memberAt(8) - val kind by CXTypeKind.ref at 0 - val data by array[2](NativePtrBox) at 8 } -class CXToken(ptr: NativePtr) : NativeStruct(ptr) { +class CXIdxLoc(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type(24, ::CXToken) + companion object : Type(24, 8) + + val ptr_data: CArray + get() = memberAt(0) + + val int_data: CInt32Var + get() = memberAt(16) - val int_data by array[4](Int32Box) at 0 - val ptr_data by NativePtrBox at 16 } -class CXCompletionResult(ptr: NativePtr) : NativeStruct(ptr) { +class CXIdxIncludedFileInfo(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type(16, ::CXCompletionResult) + companion object : Type(56, 8) + + val hashLoc: CXIdxLoc + get() = memberAt(0) + + val filename: CPointerVar + get() = memberAt(24) + + val file: CXFileVar + get() = memberAt(32) + + val isImport: CInt32Var + get() = memberAt(40) + + val isAngled: CInt32Var + get() = memberAt(44) + + val isModuleImport: CInt32Var + get() = memberAt(48) - val CursorKind by CXCursorKind.ref at 0 - val CompletionString by NativePtrBox at 8 } -class CXCodeCompleteResults(ptr: NativePtr) : NativeStruct(ptr) { +class CXIdxImportedASTFileInfo(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type(16, ::CXCodeCompleteResults) + companion object : Type(48, 8) + + val file: CXFileVar + get() = memberAt(0) + + val module: CXModuleVar + get() = memberAt(8) + + val loc: CXIdxLoc + get() = memberAt(16) + + val isImplicit: CInt32Var + get() = memberAt(40) - val Results by CXCompletionResult.ref at 0 - val NumResults by Int32Box at 8 } -class CXCursorAndRangeVisitor(ptr: NativePtr) : NativeStruct(ptr) { +class CXIdxAttrInfo(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type(16, ::CXCursorAndRangeVisitor) + companion object : Type(64, 8) + + val kind: CXIdxAttrKind.Var + get() = memberAt(0) + + val cursor: CXCursor + get() = memberAt(8) + + val loc: CXIdxLoc + get() = memberAt(40) - val context by NativePtrBox at 0 - val visit by NativeFunctionType5.ref at 8 } -class CXIdxLoc(ptr: NativePtr) : NativeStruct(ptr) { +class CXIdxEntityInfo(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type(24, ::CXIdxLoc) + companion object : Type(80, 8) + + val kind: CXIdxEntityKind.Var + get() = memberAt(0) + + val templateKind: CXIdxEntityCXXTemplateKind.Var + get() = memberAt(4) + + val lang: CXIdxEntityLanguage.Var + get() = memberAt(8) + + val name: CPointerVar + get() = memberAt(16) + + val USR: CPointerVar + get() = memberAt(24) + + val cursor: CXCursor + get() = memberAt(32) + + val attributes: CPointerVar> + get() = memberAt(64) + + val numAttributes: CInt32Var + get() = memberAt(72) - val ptr_data by array[2](NativePtrBox) at 0 - val int_data by Int32Box at 16 } -class CXIdxIncludedFileInfo(ptr: NativePtr) : NativeStruct(ptr) { +class CXIdxContainerInfo(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type(56, ::CXIdxIncludedFileInfo) + companion object : Type(32, 8) + + val cursor: CXCursor + get() = memberAt(0) - val hashLoc by CXIdxLoc at 0 - val filename by Int8Box.ref at 24 - val file by NativePtrBox at 32 - val isImport by Int32Box at 40 - val isAngled by Int32Box at 44 - val isModuleImport by Int32Box at 48 } -class CXIdxImportedASTFileInfo(ptr: NativePtr) : NativeStruct(ptr) { +class CXIdxIBOutletCollectionAttrInfo(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type(48, ::CXIdxImportedASTFileInfo) + companion object : Type(72, 8) + + val attrInfo: CPointerVar + get() = memberAt(0) + + val objcClass: CPointerVar + get() = memberAt(8) + + val classCursor: CXCursor + get() = memberAt(16) + + val classLoc: CXIdxLoc + get() = memberAt(48) - val file by NativePtrBox at 0 - val module by NativePtrBox at 8 - val loc by CXIdxLoc at 16 - val isImplicit by Int32Box at 40 } -class CXIdxAttrInfo(ptr: NativePtr) : NativeStruct(ptr) { +class CXIdxDeclInfo(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type(64, ::CXIdxAttrInfo) + companion object : Type(128, 8) + + val entityInfo: CPointerVar + get() = memberAt(0) + + val cursor: CXCursor + get() = memberAt(8) + + val loc: CXIdxLoc + get() = memberAt(40) + + val semanticContainer: CPointerVar + get() = memberAt(64) + + val lexicalContainer: CPointerVar + get() = memberAt(72) + + val isRedeclaration: CInt32Var + get() = memberAt(80) + + val isDefinition: CInt32Var + get() = memberAt(84) + + val isContainer: CInt32Var + get() = memberAt(88) + + val declAsContainer: CPointerVar + get() = memberAt(96) + + val isImplicit: CInt32Var + get() = memberAt(104) + + val attributes: CPointerVar> + get() = memberAt(112) + + val numAttributes: CInt32Var + get() = memberAt(120) + + val flags: CInt32Var + get() = memberAt(124) - val kind by CXIdxAttrKind.ref at 0 - val cursor by CXCursor at 8 - val loc by CXIdxLoc at 40 } -class CXIdxEntityInfo(ptr: NativePtr) : NativeStruct(ptr) { +class CXIdxObjCContainerDeclInfo(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type(80, ::CXIdxEntityInfo) + companion object : Type(16, 8) + + val declInfo: CPointerVar + get() = memberAt(0) + + val kind: CXIdxObjCContainerKind.Var + get() = memberAt(8) - val kind by CXIdxEntityKind.ref at 0 - val templateKind by CXIdxEntityCXXTemplateKind.ref at 4 - val lang by CXIdxEntityLanguage.ref at 8 - val name by Int8Box.ref at 16 - val USR by Int8Box.ref at 24 - val cursor by CXCursor at 32 - val attributes by CXIdxAttrInfo.ref.ref at 64 - val numAttributes by Int32Box at 72 } -class CXIdxContainerInfo(ptr: NativePtr) : NativeStruct(ptr) { +class CXIdxBaseClassInfo(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type(32, ::CXIdxContainerInfo) + companion object : Type(64, 8) + + val base: CPointerVar + get() = memberAt(0) + + val cursor: CXCursor + get() = memberAt(8) + + val loc: CXIdxLoc + get() = memberAt(40) - val cursor by CXCursor at 0 } -class CXIdxIBOutletCollectionAttrInfo(ptr: NativePtr) : NativeStruct(ptr) { +class CXIdxObjCProtocolRefInfo(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type(72, ::CXIdxIBOutletCollectionAttrInfo) + companion object : Type(64, 8) + + val protocol: CPointerVar + get() = memberAt(0) + + val cursor: CXCursor + get() = memberAt(8) + + val loc: CXIdxLoc + get() = memberAt(40) - val attrInfo by CXIdxAttrInfo.ref at 0 - val objcClass by CXIdxEntityInfo.ref at 8 - val classCursor by CXCursor at 16 - val classLoc by CXIdxLoc at 48 } -class CXIdxDeclInfo(ptr: NativePtr) : NativeStruct(ptr) { +class CXIdxObjCProtocolRefListInfo(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type(128, ::CXIdxDeclInfo) + companion object : Type(16, 8) + + val protocols: CPointerVar> + get() = memberAt(0) + + val numProtocols: CInt32Var + get() = memberAt(8) - val entityInfo by CXIdxEntityInfo.ref at 0 - val cursor by CXCursor at 8 - val loc by CXIdxLoc at 40 - val semanticContainer by CXIdxContainerInfo.ref at 64 - val lexicalContainer by CXIdxContainerInfo.ref at 72 - val isRedeclaration by Int32Box at 80 - val isDefinition by Int32Box at 84 - val isContainer by Int32Box at 88 - val declAsContainer by CXIdxContainerInfo.ref at 96 - val isImplicit by Int32Box at 104 - val attributes by CXIdxAttrInfo.ref.ref at 112 - val numAttributes by Int32Box at 120 - val flags by Int32Box at 124 } -class CXIdxObjCContainerDeclInfo(ptr: NativePtr) : NativeStruct(ptr) { +class CXIdxObjCInterfaceDeclInfo(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type(16, ::CXIdxObjCContainerDeclInfo) + companion object : Type(24, 8) + + val containerInfo: CPointerVar + get() = memberAt(0) + + val superInfo: CPointerVar + get() = memberAt(8) + + val protocols: CPointerVar + get() = memberAt(16) - val declInfo by CXIdxDeclInfo.ref at 0 - val kind by CXIdxObjCContainerKind.ref at 8 } -class CXIdxBaseClassInfo(ptr: NativePtr) : NativeStruct(ptr) { +class CXIdxObjCCategoryDeclInfo(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type(64, ::CXIdxBaseClassInfo) + companion object : Type(80, 8) + + val containerInfo: CPointerVar + get() = memberAt(0) + + val objcClass: CPointerVar + get() = memberAt(8) + + val classCursor: CXCursor + get() = memberAt(16) + + val classLoc: CXIdxLoc + get() = memberAt(48) + + val protocols: CPointerVar + get() = memberAt(72) - val base by CXIdxEntityInfo.ref at 0 - val cursor by CXCursor at 8 - val loc by CXIdxLoc at 40 } -class CXIdxObjCProtocolRefInfo(ptr: NativePtr) : NativeStruct(ptr) { +class CXIdxObjCPropertyDeclInfo(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type(64, ::CXIdxObjCProtocolRefInfo) + companion object : Type(24, 8) + + val declInfo: CPointerVar + get() = memberAt(0) + + val getter: CPointerVar + get() = memberAt(8) + + val setter: CPointerVar + get() = memberAt(16) - val protocol by CXIdxEntityInfo.ref at 0 - val cursor by CXCursor at 8 - val loc by CXIdxLoc at 40 } -class CXIdxObjCProtocolRefListInfo(ptr: NativePtr) : NativeStruct(ptr) { +class CXIdxCXXClassDeclInfo(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type(16, ::CXIdxObjCProtocolRefListInfo) + companion object : Type(24, 8) + + val declInfo: CPointerVar + get() = memberAt(0) + + val bases: CPointerVar> + get() = memberAt(8) + + val numBases: CInt32Var + get() = memberAt(16) - val protocols by CXIdxObjCProtocolRefInfo.ref.ref at 0 - val numProtocols by Int32Box at 8 } -class CXIdxObjCInterfaceDeclInfo(ptr: NativePtr) : NativeStruct(ptr) { +class CXIdxEntityRefInfo(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type(24, ::CXIdxObjCInterfaceDeclInfo) + companion object : Type(88, 8) + + val kind: CXIdxEntityRefKind.Var + get() = memberAt(0) + + val cursor: CXCursor + get() = memberAt(8) + + val loc: CXIdxLoc + get() = memberAt(40) + + val referencedEntity: CPointerVar + get() = memberAt(64) + + val parentEntity: CPointerVar + get() = memberAt(72) + + val container: CPointerVar + get() = memberAt(80) - val containerInfo by CXIdxObjCContainerDeclInfo.ref at 0 - val superInfo by CXIdxBaseClassInfo.ref at 8 - val protocols by CXIdxObjCProtocolRefListInfo.ref at 16 } -class CXIdxObjCCategoryDeclInfo(ptr: NativePtr) : NativeStruct(ptr) { +class IndexerCallbacks(override val rawPtr: NativePtr) : CStructVar() { - companion object : Type(80, ::CXIdxObjCCategoryDeclInfo) + companion object : Type(64, 8) + + val abortQuery: CFunctionPointerVar + get() = memberAt(0) + + val diagnostic: CFunctionPointerVar + get() = memberAt(8) + + val enteredMainFile: CFunctionPointerVar + get() = memberAt(16) + + val ppIncludedFile: CFunctionPointerVar + get() = memberAt(24) + + val importedASTFile: CFunctionPointerVar + get() = memberAt(32) + + val startedTranslationUnit: CFunctionPointerVar + get() = memberAt(40) + + val indexDeclaration: CFunctionPointerVar + get() = memberAt(48) + + val indexEntityReference: CFunctionPointerVar + get() = memberAt(56) - val containerInfo by CXIdxObjCContainerDeclInfo.ref at 0 - val objcClass by CXIdxEntityInfo.ref at 8 - val classCursor by CXCursor at 16 - val classLoc by CXIdxLoc at 48 - val protocols by CXIdxObjCProtocolRefListInfo.ref at 72 } -class CXIdxObjCPropertyDeclInfo(ptr: NativePtr) : NativeStruct(ptr) { +enum class clockid_t(val value: Int) { + _CLOCK_REALTIME(0), + _CLOCK_MONOTONIC(6), + _CLOCK_MONOTONIC_RAW(4), + _CLOCK_MONOTONIC_RAW_APPROX(5), + _CLOCK_UPTIME_RAW(8), + _CLOCK_UPTIME_RAW_APPROX(9), + _CLOCK_PROCESS_CPUTIME_ID(12), + _CLOCK_THREAD_CPUTIME_ID(16), + ; - companion object : Type(24, ::CXIdxObjCPropertyDeclInfo) + companion object { + fun byValue(value: Int) = clockid_t.values().find { it.value == value }!! + } - val declInfo by CXIdxDeclInfo.ref at 0 - val getter by CXIdxEntityInfo.ref at 8 - val setter by CXIdxEntityInfo.ref at 16 -} - -class CXIdxCXXClassDeclInfo(ptr: NativePtr) : NativeStruct(ptr) { - - companion object : Type(24, ::CXIdxCXXClassDeclInfo) - - val declInfo by CXIdxDeclInfo.ref at 0 - val bases by CXIdxBaseClassInfo.ref.ref at 8 - val numBases by Int32Box at 16 -} - -class CXIdxEntityRefInfo(ptr: NativePtr) : NativeStruct(ptr) { - - companion object : Type(88, ::CXIdxEntityRefInfo) - - val kind by CXIdxEntityRefKind.ref at 0 - val cursor by CXCursor at 8 - val loc by CXIdxLoc at 40 - val referencedEntity by CXIdxEntityInfo.ref at 64 - val parentEntity by CXIdxEntityInfo.ref at 72 - val container by CXIdxContainerInfo.ref at 80 -} - -class IndexerCallbacks(ptr: NativePtr) : NativeStruct(ptr) { - - companion object : Type(64, ::IndexerCallbacks) - - val abortQuery by NativeFunctionType6.ref at 0 - val diagnostic by NativeFunctionType7.ref at 8 - val enteredMainFile by NativeFunctionType8.ref at 16 - val ppIncludedFile by NativeFunctionType9.ref at 24 - val importedASTFile by NativeFunctionType10.ref at 32 - val startedTranslationUnit by NativeFunctionType11.ref at 40 - val indexDeclaration by NativeFunctionType12.ref at 48 - val indexEntityReference by NativeFunctionType13.ref at 56 + class Var(override val rawPtr: NativePtr) : CEnumVar() { + companion object : Type(CInt32Var.size.toInt()) + var value: clockid_t + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } + } } enum class CXErrorCode(val value: Int) { @@ -2468,11 +2928,11 @@ enum class CXErrorCode(val value: Int) { fun byValue(value: Int) = CXErrorCode.values().find { it.value == value }!! } - class ref(ptr: NativePtr) : NativeRef(ptr) { - companion object : TypeWithSize(Int32Box.size, ::ref) + class Var(override val rawPtr: NativePtr) : CEnumVar() { + companion object : Type(CInt32Var.size.toInt()) var value: CXErrorCode - get() = byValue(Int32Box.byPtr(ptr).value) - set(value) { Int32Box.byPtr(ptr).value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -2487,11 +2947,11 @@ enum class CXAvailabilityKind(val value: Int) { fun byValue(value: Int) = CXAvailabilityKind.values().find { it.value == value }!! } - class ref(ptr: NativePtr) : NativeRef(ptr) { - companion object : TypeWithSize(Int32Box.size, ::ref) + class Var(override val rawPtr: NativePtr) : CEnumVar() { + companion object : Type(CInt32Var.size.toInt()) var value: CXAvailabilityKind - get() = byValue(Int32Box.byPtr(ptr).value) - set(value) { Int32Box.byPtr(ptr).value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -2506,11 +2966,11 @@ enum class CXGlobalOptFlags(val value: Int) { fun byValue(value: Int) = CXGlobalOptFlags.values().find { it.value == value }!! } - class ref(ptr: NativePtr) : NativeRef(ptr) { - companion object : TypeWithSize(Int32Box.size, ::ref) + class Var(override val rawPtr: NativePtr) : CEnumVar() { + companion object : Type(CInt32Var.size.toInt()) var value: CXGlobalOptFlags - get() = byValue(Int32Box.byPtr(ptr).value) - set(value) { Int32Box.byPtr(ptr).value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -2526,11 +2986,11 @@ enum class CXDiagnosticSeverity(val value: Int) { fun byValue(value: Int) = CXDiagnosticSeverity.values().find { it.value == value }!! } - class ref(ptr: NativePtr) : NativeRef(ptr) { - companion object : TypeWithSize(Int32Box.size, ::ref) + class Var(override val rawPtr: NativePtr) : CEnumVar() { + companion object : Type(CInt32Var.size.toInt()) var value: CXDiagnosticSeverity - get() = byValue(Int32Box.byPtr(ptr).value) - set(value) { Int32Box.byPtr(ptr).value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -2545,11 +3005,11 @@ enum class CXLoadDiag_Error(val value: Int) { fun byValue(value: Int) = CXLoadDiag_Error.values().find { it.value == value }!! } - class ref(ptr: NativePtr) : NativeRef(ptr) { - companion object : TypeWithSize(Int32Box.size, ::ref) + class Var(override val rawPtr: NativePtr) : CEnumVar() { + companion object : Type(CInt32Var.size.toInt()) var value: CXLoadDiag_Error - get() = byValue(Int32Box.byPtr(ptr).value) - set(value) { Int32Box.byPtr(ptr).value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -2566,11 +3026,11 @@ enum class CXDiagnosticDisplayOptions(val value: Int) { fun byValue(value: Int) = CXDiagnosticDisplayOptions.values().find { it.value == value }!! } - class ref(ptr: NativePtr) : NativeRef(ptr) { - companion object : TypeWithSize(Int32Box.size, ::ref) + class Var(override val rawPtr: NativePtr) : CEnumVar() { + companion object : Type(CInt32Var.size.toInt()) var value: CXDiagnosticDisplayOptions - get() = byValue(Int32Box.byPtr(ptr).value) - set(value) { Int32Box.byPtr(ptr).value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -2591,11 +3051,11 @@ enum class CXTranslationUnit_Flags(val value: Int) { fun byValue(value: Int) = CXTranslationUnit_Flags.values().find { it.value == value }!! } - class ref(ptr: NativePtr) : NativeRef(ptr) { - companion object : TypeWithSize(Int32Box.size, ::ref) + class Var(override val rawPtr: NativePtr) : CEnumVar() { + companion object : Type(CInt32Var.size.toInt()) var value: CXTranslationUnit_Flags - get() = byValue(Int32Box.byPtr(ptr).value) - set(value) { Int32Box.byPtr(ptr).value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -2607,11 +3067,11 @@ enum class CXSaveTranslationUnit_Flags(val value: Int) { fun byValue(value: Int) = CXSaveTranslationUnit_Flags.values().find { it.value == value }!! } - class ref(ptr: NativePtr) : NativeRef(ptr) { - companion object : TypeWithSize(Int32Box.size, ::ref) + class Var(override val rawPtr: NativePtr) : CEnumVar() { + companion object : Type(CInt32Var.size.toInt()) var value: CXSaveTranslationUnit_Flags - get() = byValue(Int32Box.byPtr(ptr).value) - set(value) { Int32Box.byPtr(ptr).value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -2626,11 +3086,11 @@ enum class CXSaveError(val value: Int) { fun byValue(value: Int) = CXSaveError.values().find { it.value == value }!! } - class ref(ptr: NativePtr) : NativeRef(ptr) { - companion object : TypeWithSize(Int32Box.size, ::ref) + class Var(override val rawPtr: NativePtr) : CEnumVar() { + companion object : Type(CInt32Var.size.toInt()) var value: CXSaveError - get() = byValue(Int32Box.byPtr(ptr).value) - set(value) { Int32Box.byPtr(ptr).value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -2642,11 +3102,11 @@ enum class CXReparse_Flags(val value: Int) { fun byValue(value: Int) = CXReparse_Flags.values().find { it.value == value }!! } - class ref(ptr: NativePtr) : NativeRef(ptr) { - companion object : TypeWithSize(Int32Box.size, ::ref) + class Var(override val rawPtr: NativePtr) : CEnumVar() { + companion object : Type(CInt32Var.size.toInt()) var value: CXReparse_Flags - get() = byValue(Int32Box.byPtr(ptr).value) - set(value) { Int32Box.byPtr(ptr).value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -2675,11 +3135,11 @@ enum class CXTUResourceUsageKind(val value: Int) { fun byValue(value: Int) = CXTUResourceUsageKind.values().find { it.value == value }!! } - class ref(ptr: NativePtr) : NativeRef(ptr) { - companion object : TypeWithSize(Int32Box.size, ::ref) + class Var(override val rawPtr: NativePtr) : CEnumVar() { + companion object : Type(CInt32Var.size.toInt()) var value: CXTUResourceUsageKind - get() = byValue(Int32Box.byPtr(ptr).value) - set(value) { Int32Box.byPtr(ptr).value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -2899,11 +3359,11 @@ enum class CXCursorKind(val value: Int) { fun byValue(value: Int) = CXCursorKind.values().find { it.value == value }!! } - class ref(ptr: NativePtr) : NativeRef(ptr) { - companion object : TypeWithSize(Int32Box.size, ::ref) + class Var(override val rawPtr: NativePtr) : CEnumVar() { + companion object : Type(CInt32Var.size.toInt()) var value: CXCursorKind - get() = byValue(Int32Box.byPtr(ptr).value) - set(value) { Int32Box.byPtr(ptr).value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -2919,11 +3379,11 @@ enum class CXLinkageKind(val value: Int) { fun byValue(value: Int) = CXLinkageKind.values().find { it.value == value }!! } - class ref(ptr: NativePtr) : NativeRef(ptr) { - companion object : TypeWithSize(Int32Box.size, ::ref) + class Var(override val rawPtr: NativePtr) : CEnumVar() { + companion object : Type(CInt32Var.size.toInt()) var value: CXLinkageKind - get() = byValue(Int32Box.byPtr(ptr).value) - set(value) { Int32Box.byPtr(ptr).value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -2938,11 +3398,11 @@ enum class CXVisibilityKind(val value: Int) { fun byValue(value: Int) = CXVisibilityKind.values().find { it.value == value }!! } - class ref(ptr: NativePtr) : NativeRef(ptr) { - companion object : TypeWithSize(Int32Box.size, ::ref) + class Var(override val rawPtr: NativePtr) : CEnumVar() { + companion object : Type(CInt32Var.size.toInt()) var value: CXVisibilityKind - get() = byValue(Int32Box.byPtr(ptr).value) - set(value) { Int32Box.byPtr(ptr).value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -2957,11 +3417,11 @@ enum class CXLanguageKind(val value: Int) { fun byValue(value: Int) = CXLanguageKind.values().find { it.value == value }!! } - class ref(ptr: NativePtr) : NativeRef(ptr) { - companion object : TypeWithSize(Int32Box.size, ::ref) + class Var(override val rawPtr: NativePtr) : CEnumVar() { + companion object : Type(CInt32Var.size.toInt()) var value: CXLanguageKind - get() = byValue(Int32Box.byPtr(ptr).value) - set(value) { Int32Box.byPtr(ptr).value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -3023,11 +3483,11 @@ enum class CXTypeKind(val value: Int) { fun byValue(value: Int) = CXTypeKind.values().find { it.value == value }!! } - class ref(ptr: NativePtr) : NativeRef(ptr) { - companion object : TypeWithSize(Int32Box.size, ::ref) + class Var(override val rawPtr: NativePtr) : CEnumVar() { + companion object : Type(CInt32Var.size.toInt()) var value: CXTypeKind - get() = byValue(Int32Box.byPtr(ptr).value) - set(value) { Int32Box.byPtr(ptr).value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -3052,11 +3512,11 @@ enum class CXCallingConv(val value: Int) { fun byValue(value: Int) = CXCallingConv.values().find { it.value == value }!! } - class ref(ptr: NativePtr) : NativeRef(ptr) { - companion object : TypeWithSize(Int32Box.size, ::ref) + class Var(override val rawPtr: NativePtr) : CEnumVar() { + companion object : Type(CInt32Var.size.toInt()) var value: CXCallingConv - get() = byValue(Int32Box.byPtr(ptr).value) - set(value) { Int32Box.byPtr(ptr).value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -3077,11 +3537,11 @@ enum class CXTemplateArgumentKind(val value: Int) { fun byValue(value: Int) = CXTemplateArgumentKind.values().find { it.value == value }!! } - class ref(ptr: NativePtr) : NativeRef(ptr) { - companion object : TypeWithSize(Int32Box.size, ::ref) + class Var(override val rawPtr: NativePtr) : CEnumVar() { + companion object : Type(CInt32Var.size.toInt()) var value: CXTemplateArgumentKind - get() = byValue(Int32Box.byPtr(ptr).value) - set(value) { Int32Box.byPtr(ptr).value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -3097,11 +3557,11 @@ enum class CXTypeLayoutError(val value: Int) { fun byValue(value: Int) = CXTypeLayoutError.values().find { it.value == value }!! } - class ref(ptr: NativePtr) : NativeRef(ptr) { - companion object : TypeWithSize(Int32Box.size, ::ref) + class Var(override val rawPtr: NativePtr) : CEnumVar() { + companion object : Type(CInt32Var.size.toInt()) var value: CXTypeLayoutError - get() = byValue(Int32Box.byPtr(ptr).value) - set(value) { Int32Box.byPtr(ptr).value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -3115,11 +3575,11 @@ enum class CXRefQualifierKind(val value: Int) { fun byValue(value: Int) = CXRefQualifierKind.values().find { it.value == value }!! } - class ref(ptr: NativePtr) : NativeRef(ptr) { - companion object : TypeWithSize(Int32Box.size, ::ref) + class Var(override val rawPtr: NativePtr) : CEnumVar() { + companion object : Type(CInt32Var.size.toInt()) var value: CXRefQualifierKind - get() = byValue(Int32Box.byPtr(ptr).value) - set(value) { Int32Box.byPtr(ptr).value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -3134,11 +3594,11 @@ enum class CX_CXXAccessSpecifier(val value: Int) { fun byValue(value: Int) = CX_CXXAccessSpecifier.values().find { it.value == value }!! } - class ref(ptr: NativePtr) : NativeRef(ptr) { - companion object : TypeWithSize(Int32Box.size, ::ref) + class Var(override val rawPtr: NativePtr) : CEnumVar() { + companion object : Type(CInt32Var.size.toInt()) var value: CX_CXXAccessSpecifier - get() = byValue(Int32Box.byPtr(ptr).value) - set(value) { Int32Box.byPtr(ptr).value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -3157,11 +3617,11 @@ enum class CX_StorageClass(val value: Int) { fun byValue(value: Int) = CX_StorageClass.values().find { it.value == value }!! } - class ref(ptr: NativePtr) : NativeRef(ptr) { - companion object : TypeWithSize(Int32Box.size, ::ref) + class Var(override val rawPtr: NativePtr) : CEnumVar() { + companion object : Type(CInt32Var.size.toInt()) var value: CX_StorageClass - get() = byValue(Int32Box.byPtr(ptr).value) - set(value) { Int32Box.byPtr(ptr).value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -3175,11 +3635,11 @@ enum class CXChildVisitResult(val value: Int) { fun byValue(value: Int) = CXChildVisitResult.values().find { it.value == value }!! } - class ref(ptr: NativePtr) : NativeRef(ptr) { - companion object : TypeWithSize(Int32Box.size, ::ref) + class Var(override val rawPtr: NativePtr) : CEnumVar() { + companion object : Type(CInt32Var.size.toInt()) var value: CXChildVisitResult - get() = byValue(Int32Box.byPtr(ptr).value) - set(value) { Int32Box.byPtr(ptr).value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -3203,11 +3663,11 @@ enum class CXObjCPropertyAttrKind(val value: Int) { fun byValue(value: Int) = CXObjCPropertyAttrKind.values().find { it.value == value }!! } - class ref(ptr: NativePtr) : NativeRef(ptr) { - companion object : TypeWithSize(Int32Box.size, ::ref) + class Var(override val rawPtr: NativePtr) : CEnumVar() { + companion object : Type(CInt32Var.size.toInt()) var value: CXObjCPropertyAttrKind - get() = byValue(Int32Box.byPtr(ptr).value) - set(value) { Int32Box.byPtr(ptr).value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -3225,11 +3685,11 @@ enum class CXObjCDeclQualifierKind(val value: Int) { fun byValue(value: Int) = CXObjCDeclQualifierKind.values().find { it.value == value }!! } - class ref(ptr: NativePtr) : NativeRef(ptr) { - companion object : TypeWithSize(Int32Box.size, ::ref) + class Var(override val rawPtr: NativePtr) : CEnumVar() { + companion object : Type(CInt32Var.size.toInt()) var value: CXObjCDeclQualifierKind - get() = byValue(Int32Box.byPtr(ptr).value) - set(value) { Int32Box.byPtr(ptr).value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -3243,11 +3703,11 @@ enum class CXNameRefFlags(val value: Int) { fun byValue(value: Int) = CXNameRefFlags.values().find { it.value == value }!! } - class ref(ptr: NativePtr) : NativeRef(ptr) { - companion object : TypeWithSize(Int32Box.size, ::ref) + class Var(override val rawPtr: NativePtr) : CEnumVar() { + companion object : Type(CInt32Var.size.toInt()) var value: CXNameRefFlags - get() = byValue(Int32Box.byPtr(ptr).value) - set(value) { Int32Box.byPtr(ptr).value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -3263,11 +3723,11 @@ enum class CXTokenKind(val value: Int) { fun byValue(value: Int) = CXTokenKind.values().find { it.value == value }!! } - class ref(ptr: NativePtr) : NativeRef(ptr) { - companion object : TypeWithSize(Int32Box.size, ::ref) + class Var(override val rawPtr: NativePtr) : CEnumVar() { + companion object : Type(CInt32Var.size.toInt()) var value: CXTokenKind - get() = byValue(Int32Box.byPtr(ptr).value) - set(value) { Int32Box.byPtr(ptr).value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -3299,11 +3759,11 @@ enum class CXCompletionChunkKind(val value: Int) { fun byValue(value: Int) = CXCompletionChunkKind.values().find { it.value == value }!! } - class ref(ptr: NativePtr) : NativeRef(ptr) { - companion object : TypeWithSize(Int32Box.size, ::ref) + class Var(override val rawPtr: NativePtr) : CEnumVar() { + companion object : Type(CInt32Var.size.toInt()) var value: CXCompletionChunkKind - get() = byValue(Int32Box.byPtr(ptr).value) - set(value) { Int32Box.byPtr(ptr).value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -3317,11 +3777,11 @@ enum class CXCodeComplete_Flags(val value: Int) { fun byValue(value: Int) = CXCodeComplete_Flags.values().find { it.value == value }!! } - class ref(ptr: NativePtr) : NativeRef(ptr) { - companion object : TypeWithSize(Int32Box.size, ::ref) + class Var(override val rawPtr: NativePtr) : CEnumVar() { + companion object : Type(CInt32Var.size.toInt()) var value: CXCodeComplete_Flags - get() = byValue(Int32Box.byPtr(ptr).value) - set(value) { Int32Box.byPtr(ptr).value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -3356,11 +3816,11 @@ enum class CXCompletionContext(val value: Int) { fun byValue(value: Int) = CXCompletionContext.values().find { it.value == value }!! } - class ref(ptr: NativePtr) : NativeRef(ptr) { - companion object : TypeWithSize(Int32Box.size, ::ref) + class Var(override val rawPtr: NativePtr) : CEnumVar() { + companion object : Type(CInt32Var.size.toInt()) var value: CXCompletionContext - get() = byValue(Int32Box.byPtr(ptr).value) - set(value) { Int32Box.byPtr(ptr).value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -3373,11 +3833,11 @@ enum class CXVisitorResult(val value: Int) { fun byValue(value: Int) = CXVisitorResult.values().find { it.value == value }!! } - class ref(ptr: NativePtr) : NativeRef(ptr) { - companion object : TypeWithSize(Int32Box.size, ::ref) + class Var(override val rawPtr: NativePtr) : CEnumVar() { + companion object : Type(CInt32Var.size.toInt()) var value: CXVisitorResult - get() = byValue(Int32Box.byPtr(ptr).value) - set(value) { Int32Box.byPtr(ptr).value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -3391,11 +3851,11 @@ enum class CXResult(val value: Int) { fun byValue(value: Int) = CXResult.values().find { it.value == value }!! } - class ref(ptr: NativePtr) : NativeRef(ptr) { - companion object : TypeWithSize(Int32Box.size, ::ref) + class Var(override val rawPtr: NativePtr) : CEnumVar() { + companion object : Type(CInt32Var.size.toInt()) var value: CXResult - get() = byValue(Int32Box.byPtr(ptr).value) - set(value) { Int32Box.byPtr(ptr).value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -3433,11 +3893,11 @@ enum class CXIdxEntityKind(val value: Int) { fun byValue(value: Int) = CXIdxEntityKind.values().find { it.value == value }!! } - class ref(ptr: NativePtr) : NativeRef(ptr) { - companion object : TypeWithSize(Int32Box.size, ::ref) + class Var(override val rawPtr: NativePtr) : CEnumVar() { + companion object : Type(CInt32Var.size.toInt()) var value: CXIdxEntityKind - get() = byValue(Int32Box.byPtr(ptr).value) - set(value) { Int32Box.byPtr(ptr).value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -3452,11 +3912,11 @@ enum class CXIdxEntityLanguage(val value: Int) { fun byValue(value: Int) = CXIdxEntityLanguage.values().find { it.value == value }!! } - class ref(ptr: NativePtr) : NativeRef(ptr) { - companion object : TypeWithSize(Int32Box.size, ::ref) + class Var(override val rawPtr: NativePtr) : CEnumVar() { + companion object : Type(CInt32Var.size.toInt()) var value: CXIdxEntityLanguage - get() = byValue(Int32Box.byPtr(ptr).value) - set(value) { Int32Box.byPtr(ptr).value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -3471,11 +3931,11 @@ enum class CXIdxEntityCXXTemplateKind(val value: Int) { fun byValue(value: Int) = CXIdxEntityCXXTemplateKind.values().find { it.value == value }!! } - class ref(ptr: NativePtr) : NativeRef(ptr) { - companion object : TypeWithSize(Int32Box.size, ::ref) + class Var(override val rawPtr: NativePtr) : CEnumVar() { + companion object : Type(CInt32Var.size.toInt()) var value: CXIdxEntityCXXTemplateKind - get() = byValue(Int32Box.byPtr(ptr).value) - set(value) { Int32Box.byPtr(ptr).value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -3490,11 +3950,11 @@ enum class CXIdxAttrKind(val value: Int) { fun byValue(value: Int) = CXIdxAttrKind.values().find { it.value == value }!! } - class ref(ptr: NativePtr) : NativeRef(ptr) { - companion object : TypeWithSize(Int32Box.size, ::ref) + class Var(override val rawPtr: NativePtr) : CEnumVar() { + companion object : Type(CInt32Var.size.toInt()) var value: CXIdxAttrKind - get() = byValue(Int32Box.byPtr(ptr).value) - set(value) { Int32Box.byPtr(ptr).value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -3506,11 +3966,11 @@ enum class CXIdxDeclInfoFlags(val value: Int) { fun byValue(value: Int) = CXIdxDeclInfoFlags.values().find { it.value == value }!! } - class ref(ptr: NativePtr) : NativeRef(ptr) { - companion object : TypeWithSize(Int32Box.size, ::ref) + class Var(override val rawPtr: NativePtr) : CEnumVar() { + companion object : Type(CInt32Var.size.toInt()) var value: CXIdxDeclInfoFlags - get() = byValue(Int32Box.byPtr(ptr).value) - set(value) { Int32Box.byPtr(ptr).value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -3524,11 +3984,11 @@ enum class CXIdxObjCContainerKind(val value: Int) { fun byValue(value: Int) = CXIdxObjCContainerKind.values().find { it.value == value }!! } - class ref(ptr: NativePtr) : NativeRef(ptr) { - companion object : TypeWithSize(Int32Box.size, ::ref) + class Var(override val rawPtr: NativePtr) : CEnumVar() { + companion object : Type(CInt32Var.size.toInt()) var value: CXIdxObjCContainerKind - get() = byValue(Int32Box.byPtr(ptr).value) - set(value) { Int32Box.byPtr(ptr).value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -3541,11 +4001,11 @@ enum class CXIdxEntityRefKind(val value: Int) { fun byValue(value: Int) = CXIdxEntityRefKind.values().find { it.value == value }!! } - class ref(ptr: NativePtr) : NativeRef(ptr) { - companion object : TypeWithSize(Int32Box.size, ::ref) + class Var(override val rawPtr: NativePtr) : CEnumVar() { + companion object : Type(CInt32Var.size.toInt()) var value: CXIdxEntityRefKind - get() = byValue(Int32Box.byPtr(ptr).value) - set(value) { Int32Box.byPtr(ptr).value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -3562,97 +4022,175 @@ enum class CXIndexOptFlags(val value: Int) { fun byValue(value: Int) = CXIndexOptFlags.values().find { it.value == value }!! } - class ref(ptr: NativePtr) : NativeRef(ptr) { - companion object : TypeWithSize(Int32Box.size, ::ref) + class Var(override val rawPtr: NativePtr) : CEnumVar() { + companion object : Type(CInt32Var.size.toInt()) var value: CXIndexOptFlags - get() = byValue(Int32Box.byPtr(ptr).value) - set(value) { Int32Box.byPtr(ptr).value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } -object NativeFunctionType1 : NativeFunctionType<(CXCursor, CXCursor, NativePtr?) -> CXChildVisitResult>(UInt32, Struct(UInt32, SInt32, Struct(Pointer, Pointer, Pointer)), Struct(UInt32, SInt32, Struct(Pointer, Pointer, Pointer)), Pointer) { - override fun invoke(function: (CXCursor, CXCursor, NativePtr?) -> CXChildVisitResult, args: NativeArray, ret: NativePtr) { - val res = function(args[0].value.asRef(CXCursor)!!, args[1].value.asRef(CXCursor)!!, args[2].value.asRef(NativePtrBox)!!.value) - CXChildVisitResult.ref.byPtr(ret).value = res +typealias __darwin_time_tVar = CInt64VarWithValueMappedTo<__darwin_time_t> +typealias __darwin_time_t = Long + +typealias __darwin_clock_tVar = CInt64VarWithValueMappedTo<__darwin_clock_t> +typealias __darwin_clock_t = Long + +typealias clock_tVar = CInt64VarWithValueMappedTo +typealias clock_t = __darwin_clock_t + +typealias time_tVar = CInt64VarWithValueMappedTo +typealias time_t = __darwin_time_t + +typealias __darwin_size_tVar = CInt64VarWithValueMappedTo<__darwin_size_t> +typealias __darwin_size_t = Long + +typealias size_tVar = CInt64VarWithValueMappedTo +typealias size_t = __darwin_size_t + +typealias __uint64_tVar = CInt64VarWithValueMappedTo<__uint64_t> +typealias __uint64_t = Long + +typealias CXVirtualFileOverlayVar = CPointerVarWithValueMappedTo +typealias CXVirtualFileOverlay = CPointer + +typealias CXModuleMapDescriptorVar = CPointerVarWithValueMappedTo +typealias CXModuleMapDescriptor = CPointer + +typealias CXIndexVar = CPointerVarWithValueMappedTo +typealias CXIndex = COpaquePointer + +typealias CXFileVar = CPointerVarWithValueMappedTo +typealias CXFile = COpaquePointer + +typealias CXTranslationUnitVar = CPointerVarWithValueMappedTo +typealias CXTranslationUnit = CPointer + +typealias CXDiagnosticSetVar = CPointerVarWithValueMappedTo +typealias CXDiagnosticSet = COpaquePointer + +typealias CXDiagnosticVar = CPointerVarWithValueMappedTo +typealias CXDiagnostic = COpaquePointer + +typealias CXCursorSetVar = CPointerVarWithValueMappedTo +typealias CXCursorSet = CPointer + +typealias CXCursorVisitorVar = CPointerVarWithValueMappedTo +typealias CXCursorVisitor = CFunctionPointer + +typealias CXClientDataVar = CPointerVarWithValueMappedTo +typealias CXClientData = COpaquePointer + +typealias CXModuleVar = CPointerVarWithValueMappedTo +typealias CXModule = COpaquePointer + +typealias CXCompletionStringVar = CPointerVarWithValueMappedTo +typealias CXCompletionString = COpaquePointer + +typealias CXInclusionVisitorVar = CPointerVarWithValueMappedTo +typealias CXInclusionVisitor = CFunctionPointer + +typealias CXRemappingVar = CPointerVarWithValueMappedTo +typealias CXRemapping = COpaquePointer + +typealias CXIdxClientContainerVar = CPointerVarWithValueMappedTo +typealias CXIdxClientContainer = COpaquePointer + +typealias CXIdxClientEntityVar = CPointerVarWithValueMappedTo +typealias CXIdxClientEntity = COpaquePointer + +typealias CXIndexActionVar = CPointerVarWithValueMappedTo +typealias CXIndexAction = COpaquePointer + +typealias CXIdxClientFileVar = CPointerVarWithValueMappedTo +typealias CXIdxClientFile = COpaquePointer + +typealias CXFieldVisitorVar = CPointerVarWithValueMappedTo +typealias CXFieldVisitor = CFunctionPointer + +object CFunctionType1 : CAdaptedFunctionTypeImpl<(CXCursor, CXCursor, COpaquePointer?) -> CXChildVisitResult>(UInt32, Struct(UInt32, SInt32, Struct(Pointer, Pointer, Pointer)), Struct(UInt32, SInt32, Struct(Pointer, Pointer, Pointer)), Pointer) { + override fun invoke(function: (CXCursor, CXCursor, COpaquePointer?) -> CXChildVisitResult, args: CArray, ret: COpaquePointer) { + val res = function(args[0].value!!.reinterpret().pointed, args[1].value!!.reinterpret().pointed, args[2].value!!.reinterpret().pointed.value) + ret.reinterpret().pointed.value = res } } -object NativeFunctionType2 : NativeFunctionType<(NativePtr?) -> Unit>(Void, Pointer) { - override fun invoke(function: (NativePtr?) -> Unit, args: NativeArray, ret: NativePtr) { - val res = function(args[0].value.asRef(NativePtrBox)!!.value) +object CFunctionType2 : CAdaptedFunctionTypeImpl<(COpaquePointer?) -> Unit>(Void, Pointer) { + override fun invoke(function: (COpaquePointer?) -> Unit, args: CArray, ret: COpaquePointer) { + val res = function(args[0].value!!.reinterpret().pointed.value) } } -object NativeFunctionType3 : NativeFunctionType<(NativePtr?, CXSourceLocation?, Int, NativePtr?) -> Unit>(Void, Pointer, Pointer, UInt32, Pointer) { - override fun invoke(function: (NativePtr?, CXSourceLocation?, Int, NativePtr?) -> Unit, args: NativeArray, ret: NativePtr) { - val res = function(args[0].value.asRef(NativePtrBox)!!.value, args[1].value.asRef(CXSourceLocation.ref)!!.value, args[2].value.asRef(Int32Box)!!.value, args[3].value.asRef(NativePtrBox)!!.value) +object CFunctionType3 : CAdaptedFunctionTypeImpl<(COpaquePointer?, CPointer?, Int, COpaquePointer?) -> Unit>(Void, Pointer, Pointer, UInt32, Pointer) { + override fun invoke(function: (COpaquePointer?, CPointer?, Int, COpaquePointer?) -> Unit, args: CArray, ret: COpaquePointer) { + val res = function(args[0].value!!.reinterpret().pointed.value, args[1].value!!.reinterpret>().pointed.value, args[2].value!!.reinterpret().pointed.value, args[3].value!!.reinterpret().pointed.value) } } -object NativeFunctionType4 : NativeFunctionType<(CXCursor, NativePtr?) -> CXVisitorResult>(UInt32, Struct(UInt32, SInt32, Struct(Pointer, Pointer, Pointer)), Pointer) { - override fun invoke(function: (CXCursor, NativePtr?) -> CXVisitorResult, args: NativeArray, ret: NativePtr) { - val res = function(args[0].value.asRef(CXCursor)!!, args[1].value.asRef(NativePtrBox)!!.value) - CXVisitorResult.ref.byPtr(ret).value = res +object CFunctionType4 : CAdaptedFunctionTypeImpl<(CXCursor, COpaquePointer?) -> CXVisitorResult>(UInt32, Struct(UInt32, SInt32, Struct(Pointer, Pointer, Pointer)), Pointer) { + override fun invoke(function: (CXCursor, COpaquePointer?) -> CXVisitorResult, args: CArray, ret: COpaquePointer) { + val res = function(args[0].value!!.reinterpret().pointed, args[1].value!!.reinterpret().pointed.value) + ret.reinterpret().pointed.value = res } } -object NativeFunctionType5 : NativeFunctionType<(NativePtr?, CXCursor, CXSourceRange) -> CXVisitorResult>(UInt32, Pointer, Struct(UInt32, SInt32, Struct(Pointer, Pointer, Pointer)), Struct(Struct(Pointer, Pointer), UInt32, UInt32)) { - override fun invoke(function: (NativePtr?, CXCursor, CXSourceRange) -> CXVisitorResult, args: NativeArray, ret: NativePtr) { - val res = function(args[0].value.asRef(NativePtrBox)!!.value, args[1].value.asRef(CXCursor)!!, args[2].value.asRef(CXSourceRange)!!) - CXVisitorResult.ref.byPtr(ret).value = res +object CFunctionType5 : CAdaptedFunctionTypeImpl<(COpaquePointer?, CXCursor, CXSourceRange) -> CXVisitorResult>(UInt32, Pointer, Struct(UInt32, SInt32, Struct(Pointer, Pointer, Pointer)), Struct(Struct(Pointer, Pointer), UInt32, UInt32)) { + override fun invoke(function: (COpaquePointer?, CXCursor, CXSourceRange) -> CXVisitorResult, args: CArray, ret: COpaquePointer) { + val res = function(args[0].value!!.reinterpret().pointed.value, args[1].value!!.reinterpret().pointed, args[2].value!!.reinterpret().pointed) + ret.reinterpret().pointed.value = res } } -object NativeFunctionType6 : NativeFunctionType<(NativePtr?, NativePtr?) -> Int>(SInt32, Pointer, Pointer) { - override fun invoke(function: (NativePtr?, NativePtr?) -> Int, args: NativeArray, ret: NativePtr) { - val res = function(args[0].value.asRef(NativePtrBox)!!.value, args[1].value.asRef(NativePtrBox)!!.value) - Int32Box.byPtr(ret).value = res +object CFunctionType6 : CAdaptedFunctionTypeImpl<(COpaquePointer?, COpaquePointer?) -> Int>(SInt32, Pointer, Pointer) { + override fun invoke(function: (COpaquePointer?, COpaquePointer?) -> Int, args: CArray, ret: COpaquePointer) { + val res = function(args[0].value!!.reinterpret().pointed.value, args[1].value!!.reinterpret().pointed.value) + ret.reinterpret().pointed.value = res } } -object NativeFunctionType7 : NativeFunctionType<(NativePtr?, NativePtr?, NativePtr?) -> Unit>(Void, Pointer, Pointer, Pointer) { - override fun invoke(function: (NativePtr?, NativePtr?, NativePtr?) -> Unit, args: NativeArray, ret: NativePtr) { - val res = function(args[0].value.asRef(NativePtrBox)!!.value, args[1].value.asRef(NativePtrBox)!!.value, args[2].value.asRef(NativePtrBox)!!.value) +object CFunctionType7 : CAdaptedFunctionTypeImpl<(COpaquePointer?, COpaquePointer?, COpaquePointer?) -> Unit>(Void, Pointer, Pointer, Pointer) { + override fun invoke(function: (COpaquePointer?, COpaquePointer?, COpaquePointer?) -> Unit, args: CArray, ret: COpaquePointer) { + val res = function(args[0].value!!.reinterpret().pointed.value, args[1].value!!.reinterpret().pointed.value, args[2].value!!.reinterpret().pointed.value) } } -object NativeFunctionType8 : NativeFunctionType<(NativePtr?, NativePtr?, NativePtr?) -> NativePtr?>(Pointer, Pointer, Pointer, Pointer) { - override fun invoke(function: (NativePtr?, NativePtr?, NativePtr?) -> NativePtr?, args: NativeArray, ret: NativePtr) { - val res = function(args[0].value.asRef(NativePtrBox)!!.value, args[1].value.asRef(NativePtrBox)!!.value, args[2].value.asRef(NativePtrBox)!!.value) - NativePtrBox.byPtr(ret).value = res +object CFunctionType8 : CAdaptedFunctionTypeImpl<(COpaquePointer?, COpaquePointer?, COpaquePointer?) -> COpaquePointer?>(Pointer, Pointer, Pointer, Pointer) { + override fun invoke(function: (COpaquePointer?, COpaquePointer?, COpaquePointer?) -> COpaquePointer?, args: CArray, ret: COpaquePointer) { + val res = function(args[0].value!!.reinterpret().pointed.value, args[1].value!!.reinterpret().pointed.value, args[2].value!!.reinterpret().pointed.value) + ret.reinterpret().pointed.value = res } } -object NativeFunctionType9 : NativeFunctionType<(NativePtr?, CXIdxIncludedFileInfo?) -> NativePtr?>(Pointer, Pointer, Pointer) { - override fun invoke(function: (NativePtr?, CXIdxIncludedFileInfo?) -> NativePtr?, args: NativeArray, ret: NativePtr) { - val res = function(args[0].value.asRef(NativePtrBox)!!.value, args[1].value.asRef(CXIdxIncludedFileInfo.ref)!!.value) - NativePtrBox.byPtr(ret).value = res +object CFunctionType9 : CAdaptedFunctionTypeImpl<(COpaquePointer?, CPointer?) -> COpaquePointer?>(Pointer, Pointer, Pointer) { + override fun invoke(function: (COpaquePointer?, CPointer?) -> COpaquePointer?, args: CArray, ret: COpaquePointer) { + val res = function(args[0].value!!.reinterpret().pointed.value, args[1].value!!.reinterpret>().pointed.value) + ret.reinterpret().pointed.value = res } } -object NativeFunctionType10 : NativeFunctionType<(NativePtr?, CXIdxImportedASTFileInfo?) -> NativePtr?>(Pointer, Pointer, Pointer) { - override fun invoke(function: (NativePtr?, CXIdxImportedASTFileInfo?) -> NativePtr?, args: NativeArray, ret: NativePtr) { - val res = function(args[0].value.asRef(NativePtrBox)!!.value, args[1].value.asRef(CXIdxImportedASTFileInfo.ref)!!.value) - NativePtrBox.byPtr(ret).value = res +object CFunctionType10 : CAdaptedFunctionTypeImpl<(COpaquePointer?, CPointer?) -> COpaquePointer?>(Pointer, Pointer, Pointer) { + override fun invoke(function: (COpaquePointer?, CPointer?) -> COpaquePointer?, args: CArray, ret: COpaquePointer) { + val res = function(args[0].value!!.reinterpret().pointed.value, args[1].value!!.reinterpret>().pointed.value) + ret.reinterpret().pointed.value = res } } -object NativeFunctionType11 : NativeFunctionType<(NativePtr?, NativePtr?) -> NativePtr?>(Pointer, Pointer, Pointer) { - override fun invoke(function: (NativePtr?, NativePtr?) -> NativePtr?, args: NativeArray, ret: NativePtr) { - val res = function(args[0].value.asRef(NativePtrBox)!!.value, args[1].value.asRef(NativePtrBox)!!.value) - NativePtrBox.byPtr(ret).value = res +object CFunctionType11 : CAdaptedFunctionTypeImpl<(COpaquePointer?, COpaquePointer?) -> COpaquePointer?>(Pointer, Pointer, Pointer) { + override fun invoke(function: (COpaquePointer?, COpaquePointer?) -> COpaquePointer?, args: CArray, ret: COpaquePointer) { + val res = function(args[0].value!!.reinterpret().pointed.value, args[1].value!!.reinterpret().pointed.value) + ret.reinterpret().pointed.value = res } } -object NativeFunctionType12 : NativeFunctionType<(NativePtr?, CXIdxDeclInfo?) -> Unit>(Void, Pointer, Pointer) { - override fun invoke(function: (NativePtr?, CXIdxDeclInfo?) -> Unit, args: NativeArray, ret: NativePtr) { - val res = function(args[0].value.asRef(NativePtrBox)!!.value, args[1].value.asRef(CXIdxDeclInfo.ref)!!.value) +object CFunctionType12 : CAdaptedFunctionTypeImpl<(COpaquePointer?, CPointer?) -> Unit>(Void, Pointer, Pointer) { + override fun invoke(function: (COpaquePointer?, CPointer?) -> Unit, args: CArray, ret: COpaquePointer) { + val res = function(args[0].value!!.reinterpret().pointed.value, args[1].value!!.reinterpret>().pointed.value) } } -object NativeFunctionType13 : NativeFunctionType<(NativePtr?, CXIdxEntityRefInfo?) -> Unit>(Void, Pointer, Pointer) { - override fun invoke(function: (NativePtr?, CXIdxEntityRefInfo?) -> Unit, args: NativeArray, ret: NativePtr) { - val res = function(args[0].value.asRef(NativePtrBox)!!.value, args[1].value.asRef(CXIdxEntityRefInfo.ref)!!.value) +object CFunctionType13 : CAdaptedFunctionTypeImpl<(COpaquePointer?, CPointer?) -> Unit>(Void, Pointer, Pointer) { + override fun invoke(function: (COpaquePointer?, CPointer?) -> Unit, args: CArray, ret: COpaquePointer) { + val res = function(args[0].value!!.reinterpret().pointed.value, args[1].value!!.reinterpret>().pointed.value) } } @@ -3698,7 +4236,15 @@ object externals { external fun timegm(arg0: Long): Long - external fun nanosleep(arg0: Long, arg1: Long): Int + external fun nanosleep(__rqtp: Long, __rmtp: Long): Int + + external fun clock_getres(__clock_id: Int, __res: Long): Int + + external fun clock_gettime(__clock_id: Int, __tp: Long): Int + + external fun clock_gettime_nsec_np(__clock_id: Int): Long + + external fun clock_settime(__clock_id: Int, __tp: Long): Int external fun clang_getCString(string: Long): Long diff --git a/Interop/Indexer/src/main/kotlin/org/jetbrains/kotlin/native/interop/indexer/Indexer.kt b/Interop/Indexer/src/main/kotlin/org/jetbrains/kotlin/native/interop/indexer/Indexer.kt index 4db3c86e6db..3f9d48b5613 100644 --- a/Interop/Indexer/src/main/kotlin/org/jetbrains/kotlin/native/interop/indexer/Indexer.kt +++ b/Interop/Indexer/src/main/kotlin/org/jetbrains/kotlin/native/interop/indexer/Indexer.kt @@ -3,7 +3,7 @@ package org.jetbrains.kotlin.native.interop.indexer import clang.* import clang.CXIdxEntityKind.* import clang.CXTypeKind.* -import kotlin_native.interop.* +import kotlin_.cinterop.* import java.io.File private class StructDeclImpl(spelling: String) : StructDecl(spelling) { @@ -135,11 +135,12 @@ private class NativeIndexImpl : NativeIndex() { CXCursorKind.CXCursor_UnionDecl -> return false CXCursorKind.CXCursor_StructDecl -> { - val hasAttributes = arena.alloc(Int32Box) + val hasAttributes = arena.alloc() hasAttributes.value = 0 - clang_visitChildren(structDefCursor, { cursor, parent, clientData -> + clang_visitChildren(structDefCursor, staticCFunction { cursor, parent, clientData -> if (clang_isAttribute(cursor.kind.value) != 0) { - clientData.asRef(Int32Box)!!.value = 1 + val hasAttributes = clientData!!.reinterpret().pointed + hasAttributes.value = 1 } CXChildVisitResult.CXChildVisit_Continue }, hasAttributes.ptr) @@ -220,7 +221,7 @@ private class NativeIndexImpl : NativeIndex() { fun indexDeclaration(info: CXIdxDeclInfo) { val cursor = info.cursor - val entityInfo = info.entityInfo.value!! + val entityInfo = info.entityInfo.pointed!! val entityName = entityInfo.name.value?.asCString()?.toString() val kind = entityInfo.kind.value @@ -230,7 +231,7 @@ private class NativeIndexImpl : NativeIndex() { val type = convertType(clang_getCursorType(cursor, arena)) val offset = clang_Cursor_getOffsetOfField(cursor) - val container = info.semanticContainer.value!! + val container = info.semanticContainer.pointed!! val structDef = getStructDeclAt(container.cursor).def!! structDef.fields.add(Field(name, type, offset)) } @@ -265,7 +266,7 @@ private class NativeIndexImpl : NativeIndex() { } CXIdxEntity_EnumConstant -> { - val container = info.semanticContainer.value!! + val container = info.semanticContainer.pointed!! val name = entityName!! val value = clang_getEnumConstantDeclValue(info.cursor) @@ -294,11 +295,11 @@ fun CXString.convertAndDispose(): String { fun buildNativeIndexImpl(headerFile: File, args: List): NativeIndex { // TODO: dispose all allocated memory and resources - val args1 = args.map { CString.fromString(it)!!.asCharPtr() }.toTypedArray() + val args1 = args.map { CString.fromString(it, nativeHeap)!!.asCharPtr() }.toTypedArray() val index = clang_createIndex(0, 0) val indexAction = clang_IndexAction_create(index) - val callbacks = malloc(IndexerCallbacks.Companion) + val callbacks = nativeHeap.alloc() val res = NativeIndexImpl() try { @@ -307,23 +308,23 @@ fun buildNativeIndexImpl(headerFile: File, args: List): NativeIndex { try { with(callbacks) { - abortQuery.setStatic(null) - diagnostic.setStatic(null) - enteredMainFile.setStatic(null) - ppIncludedFile.setStatic(null) - importedASTFile.setStatic(null) - startedTranslationUnit.setStatic(null) - indexDeclaration.setStatic { clientData, info -> + abortQuery.value = null + diagnostic.value = null + enteredMainFile.value = null + ppIncludedFile.value = null + importedASTFile.value = null + startedTranslationUnit.value = null + indexDeclaration.value = staticCFunction { clientData, info -> val index = StableObjPtr.fromValue(clientData!!).get() as NativeIndexImpl - index.indexDeclaration(info!!) + index.indexDeclaration(info!!.pointed) } - indexEntityReference.setStatic(null) + indexEntityReference.value = null } - val commandLineArgs = if (args1.size != 0) mallocNativeArrayOf(Int8Box.Companion, *args1)[0] else null + val commandLineArgs = if (args1.size != 0) nativeHeap.allocArrayOfPointersTo(*args1)[0].ptr else null - clang_indexSourceFile(indexAction, clientData, callbacks, IndexerCallbacks.size, 0, headerFile.path, - commandLineArgs, args1.size, null, 0, null, 0) + clang_indexSourceFile(indexAction, clientData, callbacks.ptr, IndexerCallbacks.size.toInt(), + 0, headerFile.path, commandLineArgs, args1.size, null, 0, null, 0) return res diff --git a/Interop/Runtime/src/callbacks/c/callbacks.c b/Interop/Runtime/src/callbacks/c/callbacks.c index 44f90608f65..eef64ee4ad5 100644 --- a/Interop/Runtime/src/callbacks/c/callbacks.c +++ b/Interop/Runtime/src/callbacks/c/callbacks.c @@ -4,101 +4,101 @@ #include /* - * Class: kotlin_native_interop_CallbacksKt + * Class: kotlin__cinterop_JvmCallbacksKt * Method: ffiTypeVoid * Signature: ()J */ -JNIEXPORT jlong JNICALL Java_kotlin_1native_interop_CallbacksKt_ffiTypeVoid(JNIEnv *env, jclass cls) { +JNIEXPORT jlong JNICALL Java_kotlin_1_cinterop_JvmCallbacksKt_ffiTypeVoid(JNIEnv *env, jclass cls) { return (jlong) &ffi_type_void; } /* - * Class: kotlin_native_interop_CallbacksKt + * Class: kotlin__cinterop_JvmCallbacksKt * Method: ffiTypeUInt8 * Signature: ()J */ -JNIEXPORT jlong JNICALL Java_kotlin_1native_interop_CallbacksKt_ffiTypeUInt8(JNIEnv *env, jclass cls) { +JNIEXPORT jlong JNICALL Java_kotlin_1_cinterop_JvmCallbacksKt_ffiTypeUInt8(JNIEnv *env, jclass cls) { return (jlong) &ffi_type_uint8; } /* - * Class: kotlin_native_interop_CallbacksKt + * Class: kotlin__cinterop_JvmCallbacksKt * Method: ffiTypeSInt8 * Signature: ()J */ -JNIEXPORT jlong JNICALL Java_kotlin_1native_interop_CallbacksKt_ffiTypeSInt8(JNIEnv *env, jclass cls) { +JNIEXPORT jlong JNICALL Java_kotlin_1_cinterop_JvmCallbacksKt_ffiTypeSInt8(JNIEnv *env, jclass cls) { return (jlong) &ffi_type_sint8; } /* - * Class: kotlin_native_interop_CallbacksKt + * Class: kotlin__cinterop_JvmCallbacksKt * Method: ffiTypeUInt16 * Signature: ()J */ -JNIEXPORT jlong JNICALL Java_kotlin_1native_interop_CallbacksKt_ffiTypeUInt16(JNIEnv *env, jclass cls) { +JNIEXPORT jlong JNICALL Java_kotlin_1_cinterop_JvmCallbacksKt_ffiTypeUInt16(JNIEnv *env, jclass cls) { return (jlong) &ffi_type_uint16; } /* - * Class: kotlin_native_interop_CallbacksKt + * Class: kotlin__cinterop_JvmCallbacksKt * Method: ffiTypeSInt16 * Signature: ()J */ -JNIEXPORT jlong JNICALL Java_kotlin_1native_interop_CallbacksKt_ffiTypeSInt16(JNIEnv *env, jclass cls) { +JNIEXPORT jlong JNICALL Java_kotlin_1_cinterop_JvmCallbacksKt_ffiTypeSInt16(JNIEnv *env, jclass cls) { return (jlong) &ffi_type_sint16; } /* - * Class: kotlin_native_interop_CallbacksKt + * Class: kotlin__cinterop_JvmCallbacksKt * Method: ffiTypeUInt32 * Signature: ()J */ -JNIEXPORT jlong JNICALL Java_kotlin_1native_interop_CallbacksKt_ffiTypeUInt32(JNIEnv *env, jclass cls) { +JNIEXPORT jlong JNICALL Java_kotlin_1_cinterop_JvmCallbacksKt_ffiTypeUInt32(JNIEnv *env, jclass cls) { return (jlong) &ffi_type_uint32; } /* - * Class: kotlin_native_interop_CallbacksKt + * Class: kotlin__cinterop_JvmCallbacksKt * Method: ffiTypeSInt32 * Signature: ()J */ -JNIEXPORT jlong JNICALL Java_kotlin_1native_interop_CallbacksKt_ffiTypeSInt32(JNIEnv *env, jclass cls) { +JNIEXPORT jlong JNICALL Java_kotlin_1_cinterop_JvmCallbacksKt_ffiTypeSInt32(JNIEnv *env, jclass cls) { return (jlong) &ffi_type_sint32; } /* - * Class: kotlin_native_interop_CallbacksKt + * Class: kotlin__cinterop_JvmCallbacksKt * Method: ffiTypeUInt64 * Signature: ()J */ -JNIEXPORT jlong JNICALL Java_kotlin_1native_interop_CallbacksKt_ffiTypeUInt64(JNIEnv *env, jclass cls) { +JNIEXPORT jlong JNICALL Java_kotlin_1_cinterop_JvmCallbacksKt_ffiTypeUInt64(JNIEnv *env, jclass cls) { return (jlong) &ffi_type_uint64; } /* - * Class: kotlin_native_interop_CallbacksKt + * Class: kotlin__cinterop_JvmCallbacksKt * Method: ffiTypeSInt64 * Signature: ()J */ -JNIEXPORT jlong JNICALL Java_kotlin_1native_interop_CallbacksKt_ffiTypeSInt64(JNIEnv *env, jclass cls) { +JNIEXPORT jlong JNICALL Java_kotlin_1_cinterop_JvmCallbacksKt_ffiTypeSInt64(JNIEnv *env, jclass cls) { return (jlong) &ffi_type_sint64; } /* - * Class: kotlin_native_interop_CallbacksKt + * Class: kotlin__cinterop_JvmCallbacksKt * Method: ffiTypePointer * Signature: ()J */ -JNIEXPORT jlong JNICALL Java_kotlin_1native_interop_CallbacksKt_ffiTypePointer(JNIEnv *env, jclass cls) { +JNIEXPORT jlong JNICALL Java_kotlin_1_cinterop_JvmCallbacksKt_ffiTypePointer(JNIEnv *env, jclass cls) { return (jlong) &ffi_type_pointer; } /* - * Class: kotlin_native_interop_CallbacksKt + * Class: kotlin__cinterop_JvmCallbacksKt * Method: ffiTypeStruct0 * Signature: (J)J */ -JNIEXPORT jlong JNICALL Java_kotlin_1native_interop_CallbacksKt_ffiTypeStruct0(JNIEnv *env, jclass cls, jlong elements) { +JNIEXPORT jlong JNICALL Java_kotlin_1_cinterop_JvmCallbacksKt_ffiTypeStruct0(JNIEnv *env, jclass cls, jlong elements) { ffi_type* res = malloc(sizeof(ffi_type)); if (res != NULL) { res->size = 0; @@ -110,11 +110,11 @@ JNIEXPORT jlong JNICALL Java_kotlin_1native_interop_CallbacksKt_ffiTypeStruct0(J } /* - * Class: kotlin_native_interop_CallbacksKt + * Class: kotlin__cinterop_JvmCallbacksKt * Method: ffiCreateCif0 * Signature: (IJJ)J */ -JNIEXPORT jlong JNICALL Java_kotlin_1native_interop_CallbacksKt_ffiCreateCif0(JNIEnv *env, jclass cls, jint nArgs, jlong rType, jlong argTypes) { +JNIEXPORT jlong JNICALL Java_kotlin_1_cinterop_JvmCallbacksKt_ffiCreateCif0(JNIEnv *env, jclass cls, jint nArgs, jlong rType, jlong argTypes) { ffi_cif* res = malloc(sizeof(ffi_cif)); if (res != NULL) { ffi_status status = ffi_prep_cif(res, FFI_DEFAULT_ABI, nArgs, (ffi_type*)rType, (ffi_type**)argTypes); @@ -166,7 +166,7 @@ static void ffi_fun(ffi_cif *cif, void *ret, void **args, void *user_data) { static jmethodID ffiFunImpl0 = NULL; static jclass cls = NULL; if (ffiFunImpl0 == NULL) { - jclass clsLocal = (*env)->FindClass(env, "kotlin_native/interop/CallbacksKt"); + jclass clsLocal = (*env)->FindClass(env, "kotlin_/cinterop/JvmCallbacksKt"); checkException(env); assert(clsLocal != NULL); @@ -184,11 +184,11 @@ static void ffi_fun(ffi_cif *cif, void *ret, void **args, void *user_data) { } /* - * Class: kotlin_native_interop_CallbacksKt + * Class: kotlin__cinterop_JvmCallbacksKt * Method: ffiCreateClosure0 * Signature: (JLjava/lang/Object;)J */ -JNIEXPORT jlong JNICALL Java_kotlin_1native_interop_CallbacksKt_ffiCreateClosure0(JNIEnv *env, jclass cls, jlong ffiCif, jobject userData) { +JNIEXPORT jlong JNICALL Java_kotlin_1_cinterop_JvmCallbacksKt_ffiCreateClosure0(JNIEnv *env, jclass cls, jlong ffiCif, jobject userData) { jobject userDataGlobalRef = (*env)->NewGlobalRef(env, userData); if (userDataGlobalRef == NULL) { return (jlong)0; @@ -211,29 +211,29 @@ JNIEXPORT jlong JNICALL Java_kotlin_1native_interop_CallbacksKt_ffiCreateClosure } /* - * Class: kotlin_native_interop_CallbacksKt + * Class: kotlin__cinterop_JvmCallbacksKt * Method: newGlobalRef * Signature: (Ljava/lang/Object;)J */ -JNIEXPORT jlong JNICALL Java_kotlin_1native_interop_CallbacksKt_newGlobalRef(JNIEnv *env, jclass cls, jobject obj) { +JNIEXPORT jlong JNICALL Java_kotlin_1_cinterop_JvmCallbacksKt_newGlobalRef(JNIEnv *env, jclass cls, jobject obj) { jobject res = (*env)->NewGlobalRef(env, obj); return (jlong) res; } /* - * Class: kotlin_native_interop_CallbacksKt + * Class: kotlin__cinterop_JvmCallbacksKt * Method: derefGlobalRef * Signature: (J)Ljava/lang/Object; */ -JNIEXPORT jobject JNICALL Java_kotlin_1native_interop_CallbacksKt_derefGlobalRef(JNIEnv *env, jclass cls, jlong ref) { +JNIEXPORT jobject JNICALL Java_kotlin_1_cinterop_JvmCallbacksKt_derefGlobalRef(JNIEnv *env, jclass cls, jlong ref) { return (jobject) ref; } /* - * Class: kotlin_native_interop_CallbacksKt + * Class: kotlin__cinterop_JvmCallbacksKt * Method: deleteGlobalRef * Signature: (J)V */ -JNIEXPORT void JNICALL Java_kotlin_1native_interop_CallbacksKt_deleteGlobalRef(JNIEnv *env, jclass cls, jlong ref) { +JNIEXPORT void JNICALL Java_kotlin_1_cinterop_JvmCallbacksKt_deleteGlobalRef(JNIEnv *env, jclass cls, jlong ref) { (*env)->DeleteGlobalRef(env, (jobject) ref); }