diff --git a/Interop/Indexer/prebuilt/nativeInteropStubs/kotlin/clang/clang.kt b/Interop/Indexer/prebuilt/nativeInteropStubs/kotlin/clang/clang.kt index 5dabd5b5aa2..2f784ff368f 100644 --- a/Interop/Indexer/prebuilt/nativeInteropStubs/kotlin/clang/clang.kt +++ b/Interop/Indexer/prebuilt/nativeInteropStubs/kotlin/clang/clang.kt @@ -19,11 +19,11 @@ package clang import kotlinx.cinterop.* -fun asctime(arg0: CValuesRef?): CPointer? { +fun asctime(arg0: CValuesRef?): CPointer? { return memScoped { val _arg0 = arg0?.getPointer(memScope).rawValue val res = externals.asctime(_arg0) - interpretCPointer(res) + interpretCPointer(res) } } @@ -32,11 +32,11 @@ fun clock(): clock_t { return res } -fun ctime(arg0: CValuesRef?): CPointer? { +fun ctime(arg0: CValuesRef?): CPointer? { return memScoped { val _arg0 = arg0?.getPointer(memScope).rawValue val res = externals.ctime(_arg0) - interpretCPointer(res) + interpretCPointer(res) } } @@ -79,7 +79,7 @@ fun mktime(arg0: CValuesRef?): time_t { } } -fun strftime(arg0: CValuesRef?, arg1: size_t, arg2: String?, arg3: CValuesRef?): size_t { +fun strftime(arg0: CValuesRef?, arg1: size_t, arg2: String?, arg3: CValuesRef?): size_t { return memScoped { val _arg0 = arg0?.getPointer(memScope).rawValue val _arg1 = arg1 @@ -90,13 +90,13 @@ fun strftime(arg0: CValuesRef?, arg1: size_t, arg2: String?, arg3: CVa } } -fun strptime(arg0: String?, arg1: String?, arg2: CValuesRef?): CPointer? { +fun strptime(arg0: String?, arg1: String?, arg2: CValuesRef?): CPointer? { return memScoped { val _arg0 = arg0?.cstr?.getPointer(memScope).rawValue val _arg1 = arg1?.cstr?.getPointer(memScope).rawValue val _arg2 = arg2?.getPointer(memScope).rawValue val res = externals.strptime(_arg0, _arg1, _arg2) - interpretCPointer(res) + interpretCPointer(res) } } @@ -113,21 +113,21 @@ fun tzset(): Unit { return res } -fun asctime_r(arg0: CValuesRef?, arg1: CValuesRef?): CPointer? { +fun asctime_r(arg0: CValuesRef?, arg1: CValuesRef?): CPointer? { return memScoped { val _arg0 = arg0?.getPointer(memScope).rawValue val _arg1 = arg1?.getPointer(memScope).rawValue val res = externals.asctime_r(_arg0, _arg1) - interpretCPointer(res) + interpretCPointer(res) } } -fun ctime_r(arg0: CValuesRef?, arg1: CValuesRef?): CPointer? { +fun ctime_r(arg0: CValuesRef?, arg1: CValuesRef?): CPointer? { return memScoped { val _arg0 = arg0?.getPointer(memScope).rawValue val _arg1 = arg1?.getPointer(memScope).rawValue val res = externals.ctime_r(_arg0, _arg1) - interpretCPointer(res) + interpretCPointer(res) } } @@ -224,11 +224,11 @@ fun clock_settime(__clock_id: clockid_t, __tp: CValuesRef?): Int { } } -fun clang_getCString(string: CValue): CPointer? { +fun clang_getCString(string: CValue): CPointer? { return memScoped { val _string = string.getPointer(memScope).rawValue val res = externals.clang_getCString(_string) - interpretCPointer(res) + interpretCPointer(res) } } @@ -276,7 +276,7 @@ fun clang_VirtualFileOverlay_setCaseSensitivity(arg0: CXVirtualFileOverlay?, cas return CXErrorCode.byValue(res) } -fun clang_VirtualFileOverlay_writeToBuffer(arg0: CXVirtualFileOverlay?, options: Int, out_buffer_ptr: CValuesRef>?, out_buffer_size: CValuesRef?): CXErrorCode { +fun clang_VirtualFileOverlay_writeToBuffer(arg0: CXVirtualFileOverlay?, options: Int, out_buffer_ptr: CValuesRef>?, out_buffer_size: CValuesRef?): CXErrorCode { return memScoped { val _arg0 = arg0.rawValue val _options = options @@ -323,7 +323,7 @@ fun clang_ModuleMapDescriptor_setUmbrellaHeader(arg0: CXModuleMapDescriptor?, na } } -fun clang_ModuleMapDescriptor_writeToBuffer(arg0: CXModuleMapDescriptor?, options: Int, out_buffer_ptr: CValuesRef>?, out_buffer_size: CValuesRef?): CXErrorCode { +fun clang_ModuleMapDescriptor_writeToBuffer(arg0: CXModuleMapDescriptor?, options: Int, out_buffer_ptr: CValuesRef>?, out_buffer_size: CValuesRef?): CXErrorCode { return memScoped { val _arg0 = arg0.rawValue val _options = options @@ -498,7 +498,7 @@ fun clang_Range_isNull(range: CValue): Int { } } -fun clang_getExpansionLocation(location: CValue, file: CValuesRef?, line: CValuesRef?, column: CValuesRef?, offset: CValuesRef?): Unit { +fun clang_getExpansionLocation(location: CValue, file: CValuesRef?, line: CValuesRef?, column: CValuesRef?, offset: CValuesRef?): Unit { return memScoped { val _location = location.getPointer(memScope).rawValue val _file = file?.getPointer(memScope).rawValue @@ -510,7 +510,7 @@ fun clang_getExpansionLocation(location: CValue, file: CValues } } -fun clang_getPresumedLocation(location: CValue, filename: CValuesRef?, line: CValuesRef?, column: CValuesRef?): Unit { +fun clang_getPresumedLocation(location: CValue, filename: CValuesRef?, line: CValuesRef?, column: CValuesRef?): Unit { return memScoped { val _location = location.getPointer(memScope).rawValue val _filename = filename?.getPointer(memScope).rawValue @@ -521,7 +521,7 @@ fun clang_getPresumedLocation(location: CValue, filename: CVal } } -fun clang_getInstantiationLocation(location: CValue, file: CValuesRef?, line: CValuesRef?, column: CValuesRef?, offset: CValuesRef?): Unit { +fun clang_getInstantiationLocation(location: CValue, file: CValuesRef?, line: CValuesRef?, column: CValuesRef?, offset: CValuesRef?): Unit { return memScoped { val _location = location.getPointer(memScope).rawValue val _file = file?.getPointer(memScope).rawValue @@ -533,7 +533,7 @@ fun clang_getInstantiationLocation(location: CValue, file: CVa } } -fun clang_getSpellingLocation(location: CValue, file: CValuesRef?, line: CValuesRef?, column: CValuesRef?, offset: CValuesRef?): Unit { +fun clang_getSpellingLocation(location: CValue, file: CValuesRef?, line: CValuesRef?, column: CValuesRef?, offset: CValuesRef?): Unit { return memScoped { val _location = location.getPointer(memScope).rawValue val _file = file?.getPointer(memScope).rawValue @@ -545,7 +545,7 @@ fun clang_getSpellingLocation(location: CValue, file: CValuesR } } -fun clang_getFileLocation(location: CValue, file: CValuesRef?, line: CValuesRef?, column: CValuesRef?, offset: CValuesRef?): Unit { +fun clang_getFileLocation(location: CValue, file: CValuesRef?, line: CValuesRef?, column: CValuesRef?, offset: CValuesRef?): Unit { return memScoped { val _location = location.getPointer(memScope).rawValue val _file = file?.getPointer(memScope).rawValue @@ -754,7 +754,7 @@ fun clang_getTranslationUnitSpelling(CTUnit: CXTranslationUnit?): CValue>?, num_unsaved_files: Int, unsaved_files: CValuesRef?): CXTranslationUnit? { +fun clang_createTranslationUnitFromSourceFile(CIdx: CXIndex?, source_filename: String?, num_clang_command_line_args: Int, clang_command_line_args: CValuesRef>?, num_unsaved_files: Int, unsaved_files: CValuesRef?): CXTranslationUnit? { return memScoped { val _CIdx = CIdx.rawValue val _source_filename = source_filename?.cstr?.getPointer(memScope).rawValue @@ -791,7 +791,7 @@ fun clang_defaultEditingTranslationUnitOptions(): Int { return res } -fun clang_parseTranslationUnit(CIdx: CXIndex?, source_filename: String?, command_line_args: CValuesRef>?, num_command_line_args: Int, unsaved_files: CValuesRef?, num_unsaved_files: Int, options: Int): CXTranslationUnit? { +fun clang_parseTranslationUnit(CIdx: CXIndex?, source_filename: String?, command_line_args: CValuesRef>?, num_command_line_args: Int, unsaved_files: CValuesRef?, num_unsaved_files: Int, options: Int): CXTranslationUnit? { return memScoped { val _CIdx = CIdx.rawValue val _source_filename = source_filename?.cstr?.getPointer(memScope).rawValue @@ -805,7 +805,7 @@ fun clang_parseTranslationUnit(CIdx: CXIndex?, source_filename: String?, command } } -fun clang_parseTranslationUnit2(CIdx: CXIndex?, source_filename: String?, command_line_args: CValuesRef>?, num_command_line_args: Int, unsaved_files: CValuesRef?, num_unsaved_files: Int, options: Int, out_TU: CValuesRef?): CXErrorCode { +fun clang_parseTranslationUnit2(CIdx: CXIndex?, source_filename: String?, command_line_args: CValuesRef>?, num_command_line_args: Int, unsaved_files: CValuesRef?, num_unsaved_files: Int, options: Int, out_TU: CValuesRef?): CXErrorCode { return memScoped { val _CIdx = CIdx.rawValue val _source_filename = source_filename?.cstr?.getPointer(memScope).rawValue @@ -820,7 +820,7 @@ fun clang_parseTranslationUnit2(CIdx: CXIndex?, source_filename: String?, comman } } -fun clang_parseTranslationUnit2FullArgv(CIdx: CXIndex?, source_filename: String?, command_line_args: CValuesRef>?, num_command_line_args: Int, unsaved_files: CValuesRef?, num_unsaved_files: Int, options: Int, out_TU: CValuesRef?): CXErrorCode { +fun clang_parseTranslationUnit2FullArgv(CIdx: CXIndex?, source_filename: String?, command_line_args: CValuesRef>?, num_command_line_args: Int, unsaved_files: CValuesRef?, num_unsaved_files: Int, options: Int, out_TU: CValuesRef?): CXErrorCode { return memScoped { val _CIdx = CIdx.rawValue val _source_filename = source_filename?.cstr?.getPointer(memScope).rawValue @@ -874,10 +874,10 @@ fun clang_reparseTranslationUnit(TU: CXTranslationUnit?, num_unsaved_files: Int, } } -fun clang_getTUResourceUsageName(kind: CXTUResourceUsageKind): CPointer? { +fun clang_getTUResourceUsageName(kind: CXTUResourceUsageKind): CPointer? { val _kind = kind.value val res = externals.clang_getTUResourceUsageName(_kind) - return interpretCPointer(res) + return interpretCPointer(res) } fun clang_getCXTUResourceUsage(TU: CXTranslationUnit?): CValue { @@ -1030,7 +1030,7 @@ fun clang_getCursorAvailability(cursor: CValue): CXAvailabilityKind { } } -fun clang_getCursorPlatformAvailability(cursor: CValue, always_deprecated: CValuesRef?, deprecated_message: CValuesRef?, always_unavailable: CValuesRef?, unavailable_message: CValuesRef?, availability: CValuesRef?, availability_size: Int): Int { +fun clang_getCursorPlatformAvailability(cursor: CValue, always_deprecated: CValuesRef?, deprecated_message: CValuesRef?, always_unavailable: CValuesRef?, unavailable_message: CValuesRef?, availability: CValuesRef?, availability_size: Int): Int { return memScoped { val _cursor = cursor.getPointer(memScope).rawValue val _always_deprecated = always_deprecated?.getPointer(memScope).rawValue @@ -1113,7 +1113,7 @@ fun clang_getCursorLexicalParent(cursor: CValue): CValue { } } -fun clang_getOverriddenCursors(cursor: CValue, overridden: CValuesRef>?, num_overridden: CValuesRef?): Unit { +fun clang_getOverriddenCursors(cursor: CValue, overridden: CValuesRef>?, num_overridden: CValuesRef?): Unit { return memScoped { val _cursor = cursor.getPointer(memScope).rawValue val _overridden = overridden?.getPointer(memScope).rawValue @@ -2045,7 +2045,7 @@ fun clang_getTokenExtent(arg0: CXTranslationUnit?, arg1: CValue): CValu } } -fun clang_tokenize(TU: CXTranslationUnit?, Range: CValue, Tokens: CValuesRef>?, NumTokens: CValuesRef?): Unit { +fun clang_tokenize(TU: CXTranslationUnit?, Range: CValue, Tokens: CValuesRef>?, NumTokens: CValuesRef?): Unit { return memScoped { val _TU = TU.rawValue val _Range = Range.getPointer(memScope).rawValue @@ -2085,7 +2085,7 @@ fun clang_getCursorKindSpelling(Kind: CXCursorKind): CValue { } } -fun clang_getDefinitionSpellingAndExtent(arg0: CValue, startBuf: CValuesRef>?, endBuf: CValuesRef>?, startLine: CValuesRef?, startColumn: CValuesRef?, endLine: CValuesRef?, endColumn: CValuesRef?): Unit { +fun clang_getDefinitionSpellingAndExtent(arg0: CValue, startBuf: CValuesRef>?, endBuf: CValuesRef>?, startLine: CValuesRef?, startColumn: CValuesRef?, endLine: CValuesRef?, endColumn: CValuesRef?): Unit { return memScoped { val _arg0 = arg0.getPointer(memScope).rawValue val _startBuf = startBuf?.getPointer(memScope).rawValue @@ -2254,7 +2254,7 @@ fun clang_codeCompleteGetContexts(Results: CValuesRef?): } } -fun clang_codeCompleteGetContainerKind(Results: CValuesRef?, IsIncomplete: CValuesRef?): CXCursorKind { +fun clang_codeCompleteGetContainerKind(Results: CValuesRef?, IsIncomplete: CValuesRef?): CXCursorKind { return memScoped { val _Results = Results?.getPointer(memScope).rawValue val _IsIncomplete = IsIncomplete?.getPointer(memScope).rawValue @@ -2326,10 +2326,10 @@ fun clang_EvalResult_getAsDouble(E: CXEvalResult?): Double { return res } -fun clang_EvalResult_getAsStr(E: CXEvalResult?): CPointer? { +fun clang_EvalResult_getAsStr(E: CXEvalResult?): CPointer? { val _E = E.rawValue val res = externals.clang_EvalResult_getAsStr(_E) - return interpretCPointer(res) + return interpretCPointer(res) } fun clang_EvalResult_dispose(E: CXEvalResult?): Unit { @@ -2346,7 +2346,7 @@ fun clang_getRemappings(path: String?): CXRemapping? { } } -fun clang_getRemappingsFromFileList(filePaths: CValuesRef>?, numFiles: Int): CXRemapping? { +fun clang_getRemappingsFromFileList(filePaths: CValuesRef>?, numFiles: Int): CXRemapping? { return memScoped { val _filePaths = filePaths?.getPointer(memScope).rawValue val _numFiles = numFiles @@ -2506,7 +2506,7 @@ fun clang_IndexAction_dispose(arg0: CXIndexAction?): Unit { return res } -fun clang_indexSourceFile(arg0: CXIndexAction?, client_data: CXClientData?, index_callbacks: CValuesRef?, index_callbacks_size: Int, index_options: Int, source_filename: String?, command_line_args: CValuesRef>?, num_command_line_args: Int, unsaved_files: CValuesRef?, num_unsaved_files: Int, out_TU: CValuesRef?, TU_options: Int): Int { +fun clang_indexSourceFile(arg0: CXIndexAction?, client_data: CXClientData?, index_callbacks: CValuesRef?, index_callbacks_size: Int, index_options: Int, source_filename: String?, command_line_args: CValuesRef>?, num_command_line_args: Int, unsaved_files: CValuesRef?, num_unsaved_files: Int, out_TU: CValuesRef?, TU_options: Int): Int { return memScoped { val _arg0 = arg0.rawValue val _client_data = client_data.rawValue @@ -2525,7 +2525,7 @@ fun clang_indexSourceFile(arg0: CXIndexAction?, client_data: CXClientData?, inde } } -fun clang_indexSourceFileFullArgv(arg0: CXIndexAction?, client_data: CXClientData?, index_callbacks: CValuesRef?, index_callbacks_size: Int, index_options: Int, source_filename: String?, command_line_args: CValuesRef>?, num_command_line_args: Int, unsaved_files: CValuesRef?, num_unsaved_files: Int, out_TU: CValuesRef?, TU_options: Int): Int { +fun clang_indexSourceFileFullArgv(arg0: CXIndexAction?, client_data: CXClientData?, index_callbacks: CValuesRef?, index_callbacks_size: Int, index_options: Int, source_filename: String?, command_line_args: CValuesRef>?, num_command_line_args: Int, unsaved_files: CValuesRef?, num_unsaved_files: Int, out_TU: CValuesRef?, TU_options: Int): Int { return memScoped { val _arg0 = arg0.rawValue val _client_data = client_data.rawValue @@ -2557,7 +2557,7 @@ fun clang_indexTranslationUnit(arg0: CXIndexAction?, client_data: CXClientData?, } } -fun clang_indexLoc_getFileLocation(loc: CValue, indexFile: CValuesRef?, file: CValuesRef?, line: CValuesRef?, column: CValuesRef?, offset: CValuesRef?): Unit { +fun clang_indexLoc_getFileLocation(loc: CValue, indexFile: CValuesRef?, file: CValuesRef?, line: CValuesRef?, column: CValuesRef?, offset: CValuesRef?): Unit { return memScoped { val _loc = loc.getPointer(memScope).rawValue val _indexFile = indexFile?.getPointer(memScope).rawValue @@ -2862,11 +2862,40 @@ class __mbstate_t(override val rawPtr: NativePtr) : CStructVar() { companion object : Type(128, 8) - val __mbstate8: CArrayPointer + val __mbstate8: CArrayPointer get() = arrayMemberAt(0) - val _mbstateL: CInt64Var - get() = memberAt(0) + var _mbstateL: Long + get() = memberAt(0).value + set(value) { memberAt(0).value = value } + +} + +class __va_list_tag(override val rawPtr: NativePtr) : CStructVar() { + + companion object : Type(24, 8) + + var gp_offset: Int + get() = memberAt(0).value + set(value) { memberAt(0).value = value } + + var fp_offset: Int + get() = memberAt(4).value + set(value) { memberAt(4).value = value } + + var overflow_arg_area: COpaquePointer? + get() = memberAt(8).value + set(value) { memberAt(8).value = value } + + var reg_save_area: COpaquePointer? + get() = memberAt(16).value + set(value) { memberAt(16).value = value } + +} + +class __builtin_va_list(override val rawPtr: NativePtr) : CStructVar() { + + companion object : Type(24, 8) } @@ -2874,14 +2903,17 @@ class __darwin_pthread_handler_rec(override val rawPtr: NativePtr) : CStructVar( companion object : Type(24, 8) - val __routine: CPointerVar> - get() = memberAt(0) + var __routine: CPointer>? + get() = memberAt>>(0).value + set(value) { memberAt>>(0).value = value } - val __arg: COpaquePointerVar - get() = memberAt(8) + var __arg: COpaquePointer? + get() = memberAt(8).value + set(value) { memberAt(8).value = value } - val __next: CPointerVar<__darwin_pthread_handler_rec> - get() = memberAt(16) + var __next: CPointer<__darwin_pthread_handler_rec>? + get() = memberAt>(16).value + set(value) { memberAt>(16).value = value } } @@ -2889,10 +2921,11 @@ class _opaque_pthread_attr_t(override val rawPtr: NativePtr) : CStructVar() { companion object : Type(64, 8) - val __sig: CInt64Var - get() = memberAt(0) + var __sig: Long + get() = memberAt(0).value + set(value) { memberAt(0).value = value } - val __opaque: CArrayPointer + val __opaque: CArrayPointer get() = arrayMemberAt(8) } @@ -2901,10 +2934,11 @@ class _opaque_pthread_cond_t(override val rawPtr: NativePtr) : CStructVar() { companion object : Type(48, 8) - val __sig: CInt64Var - get() = memberAt(0) + var __sig: Long + get() = memberAt(0).value + set(value) { memberAt(0).value = value } - val __opaque: CArrayPointer + val __opaque: CArrayPointer get() = arrayMemberAt(8) } @@ -2913,10 +2947,11 @@ class _opaque_pthread_condattr_t(override val rawPtr: NativePtr) : CStructVar() companion object : Type(16, 8) - val __sig: CInt64Var - get() = memberAt(0) + var __sig: Long + get() = memberAt(0).value + set(value) { memberAt(0).value = value } - val __opaque: CArrayPointer + val __opaque: CArrayPointer get() = arrayMemberAt(8) } @@ -2925,10 +2960,11 @@ class _opaque_pthread_mutex_t(override val rawPtr: NativePtr) : CStructVar() { companion object : Type(64, 8) - val __sig: CInt64Var - get() = memberAt(0) + var __sig: Long + get() = memberAt(0).value + set(value) { memberAt(0).value = value } - val __opaque: CArrayPointer + val __opaque: CArrayPointer get() = arrayMemberAt(8) } @@ -2937,10 +2973,11 @@ class _opaque_pthread_mutexattr_t(override val rawPtr: NativePtr) : CStructVar() companion object : Type(16, 8) - val __sig: CInt64Var - get() = memberAt(0) + var __sig: Long + get() = memberAt(0).value + set(value) { memberAt(0).value = value } - val __opaque: CArrayPointer + val __opaque: CArrayPointer get() = arrayMemberAt(8) } @@ -2949,10 +2986,11 @@ class _opaque_pthread_once_t(override val rawPtr: NativePtr) : CStructVar() { companion object : Type(16, 8) - val __sig: CInt64Var - get() = memberAt(0) + var __sig: Long + get() = memberAt(0).value + set(value) { memberAt(0).value = value } - val __opaque: CArrayPointer + val __opaque: CArrayPointer get() = arrayMemberAt(8) } @@ -2961,10 +2999,11 @@ class _opaque_pthread_rwlock_t(override val rawPtr: NativePtr) : CStructVar() { companion object : Type(200, 8) - val __sig: CInt64Var - get() = memberAt(0) + var __sig: Long + get() = memberAt(0).value + set(value) { memberAt(0).value = value } - val __opaque: CArrayPointer + val __opaque: CArrayPointer get() = arrayMemberAt(8) } @@ -2973,10 +3012,11 @@ class _opaque_pthread_rwlockattr_t(override val rawPtr: NativePtr) : CStructVar( companion object : Type(24, 8) - val __sig: CInt64Var - get() = memberAt(0) + var __sig: Long + get() = memberAt(0).value + set(value) { memberAt(0).value = value } - val __opaque: CArrayPointer + val __opaque: CArrayPointer get() = arrayMemberAt(8) } @@ -2985,13 +3025,15 @@ class _opaque_pthread_t(override val rawPtr: NativePtr) : CStructVar() { companion object : Type(8192, 8) - val __sig: CInt64Var - get() = memberAt(0) + var __sig: Long + get() = memberAt(0).value + set(value) { memberAt(0).value = value } - val __cleanup_stack: CPointerVar<__darwin_pthread_handler_rec> - get() = memberAt(8) + var __cleanup_stack: CPointer<__darwin_pthread_handler_rec>? + get() = memberAt>(8).value + set(value) { memberAt>(8).value = value } - val __opaque: CArrayPointer + val __opaque: CArrayPointer get() = arrayMemberAt(16) } @@ -3000,11 +3042,13 @@ class timespec(override val rawPtr: NativePtr) : CStructVar() { companion object : Type(16, 8) - val tv_sec: __darwin_time_tVar - get() = memberAt(0) + var tv_sec: __darwin_time_t + get() = memberAt<__darwin_time_tVar>(0).value + set(value) { memberAt<__darwin_time_tVar>(0).value = value } - val tv_nsec: CInt64Var - get() = memberAt(8) + var tv_nsec: Long + get() = memberAt(8).value + set(value) { memberAt(8).value = value } } @@ -3012,38 +3056,49 @@ class tm(override val rawPtr: NativePtr) : CStructVar() { companion object : Type(56, 8) - val tm_sec: CInt32Var - get() = memberAt(0) + var tm_sec: Int + get() = memberAt(0).value + set(value) { memberAt(0).value = value } - val tm_min: CInt32Var - get() = memberAt(4) + var tm_min: Int + get() = memberAt(4).value + set(value) { memberAt(4).value = value } - val tm_hour: CInt32Var - get() = memberAt(8) + var tm_hour: Int + get() = memberAt(8).value + set(value) { memberAt(8).value = value } - val tm_mday: CInt32Var - get() = memberAt(12) + var tm_mday: Int + get() = memberAt(12).value + set(value) { memberAt(12).value = value } - val tm_mon: CInt32Var - get() = memberAt(16) + var tm_mon: Int + get() = memberAt(16).value + set(value) { memberAt(16).value = value } - val tm_year: CInt32Var - get() = memberAt(20) + var tm_year: Int + get() = memberAt(20).value + set(value) { memberAt(20).value = value } - val tm_wday: CInt32Var - get() = memberAt(24) + var tm_wday: Int + get() = memberAt(24).value + set(value) { memberAt(24).value = value } - val tm_yday: CInt32Var - get() = memberAt(28) + var tm_yday: Int + get() = memberAt(28).value + set(value) { memberAt(28).value = value } - val tm_isdst: CInt32Var - get() = memberAt(32) + var tm_isdst: Int + get() = memberAt(32).value + set(value) { memberAt(32).value = value } - val tm_gmtoff: CInt64Var - get() = memberAt(40) + var tm_gmtoff: Long + get() = memberAt(40).value + set(value) { memberAt(40).value = value } - val tm_zone: CPointerVar - get() = memberAt(48) + var tm_zone: CPointer? + get() = memberAt>(48).value + set(value) { memberAt>(48).value = value } } @@ -3051,11 +3106,13 @@ class CXString(override val rawPtr: NativePtr) : CStructVar() { companion object : Type(16, 8) - val data: COpaquePointerVar - get() = memberAt(0) + var data: COpaquePointer? + get() = memberAt(0).value + set(value) { memberAt(0).value = value } - val private_flags: CInt32Var - get() = memberAt(8) + var private_flags: Int + get() = memberAt(8).value + set(value) { memberAt(8).value = value } } @@ -3063,11 +3120,13 @@ class CXStringSet(override val rawPtr: NativePtr) : CStructVar() { companion object : Type(16, 8) - val Strings: CPointerVar - get() = memberAt(0) + var Strings: CPointer? + get() = memberAt>(0).value + set(value) { memberAt>(0).value = value } - val Count: CInt32Var - get() = memberAt(8) + var Count: Int + get() = memberAt(8).value + set(value) { memberAt(8).value = value } } @@ -3075,18 +3134,23 @@ 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) + var Filename: CPointer? + get() = memberAt>(0).value + set(value) { memberAt>(0).value = value } - val Contents: CPointerVar - get() = memberAt(8) + var Contents: CPointer? + get() = memberAt>(8).value + set(value) { memberAt>(8).value = value } - val Length: CInt64Var - get() = memberAt(16) + var Length: Long + get() = memberAt(16).value + set(value) { memberAt(16).value = value } } @@ -3094,14 +3158,17 @@ class CXVersion(override val rawPtr: NativePtr) : CStructVar() { companion object : Type(12, 4) - val Major: CInt32Var - get() = memberAt(0) + var Major: Int + get() = memberAt(0).value + set(value) { memberAt(0).value = value } - val Minor: CInt32Var - get() = memberAt(4) + var Minor: Int + get() = memberAt(4).value + set(value) { memberAt(4).value = value } - val Subminor: CInt32Var - get() = memberAt(8) + var Subminor: Int + get() = memberAt(8).value + set(value) { memberAt(8).value = value } } @@ -3109,13 +3176,11 @@ class CXFileUniqueID(override val rawPtr: NativePtr) : CStructVar() { companion object : Type(24, 8) - val data: CArrayPointer + val data: CArrayPointer get() = arrayMemberAt(0) } -class CXTranslationUnitImpl(override val rawPtr: NativePtr) : COpaque - class CXSourceLocation(override val rawPtr: NativePtr) : CStructVar() { companion object : Type(24, 8) @@ -3123,8 +3188,9 @@ class CXSourceLocation(override val rawPtr: NativePtr) : CStructVar() { val ptr_data: CArrayPointer get() = arrayMemberAt(0) - val int_data: CInt32Var - get() = memberAt(16) + var int_data: Int + get() = memberAt(16).value + set(value) { memberAt(16).value = value } } @@ -3135,11 +3201,13 @@ class CXSourceRange(override val rawPtr: NativePtr) : CStructVar() { val ptr_data: CArrayPointer get() = arrayMemberAt(0) - val begin_int_data: CInt32Var - get() = memberAt(16) + var begin_int_data: Int + get() = memberAt(16).value + set(value) { memberAt(16).value = value } - val end_int_data: CInt32Var - get() = memberAt(20) + var end_int_data: Int + get() = memberAt(20).value + set(value) { memberAt(20).value = value } } @@ -3147,11 +3215,13 @@ class CXSourceRangeList(override val rawPtr: NativePtr) : CStructVar() { companion object : Type(16, 8) - val count: CInt32Var - get() = memberAt(0) + var count: Int + get() = memberAt(0).value + set(value) { memberAt(0).value = value } - val ranges: CPointerVar - get() = memberAt(8) + var ranges: CPointer? + get() = memberAt>(8).value + set(value) { memberAt>(8).value = value } } @@ -3159,11 +3229,13 @@ class CXTUResourceUsageEntry(override val rawPtr: NativePtr) : CStructVar() { companion object : Type(16, 8) - val kind: CXTUResourceUsageKind.Var - get() = memberAt(0) + var kind: CXTUResourceUsageKind + get() = memberAt(0).value + set(value) { memberAt(0).value = value } - val amount: CInt64Var - get() = memberAt(8) + var amount: Long + get() = memberAt(8).value + set(value) { memberAt(8).value = value } } @@ -3171,14 +3243,17 @@ class CXTUResourceUsage(override val rawPtr: NativePtr) : CStructVar() { companion object : Type(24, 8) - val data: COpaquePointerVar - get() = memberAt(0) + var data: COpaquePointer? + get() = memberAt(0).value + set(value) { memberAt(0).value = value } - val numEntries: CInt32Var - get() = memberAt(8) + var numEntries: Int + get() = memberAt(8).value + set(value) { memberAt(8).value = value } - val entries: CPointerVar - get() = memberAt(16) + var entries: CPointer? + get() = memberAt>(16).value + set(value) { memberAt>(16).value = value } } @@ -3186,11 +3261,13 @@ class CXCursor(override val rawPtr: NativePtr) : CStructVar() { companion object : Type(32, 8) - val kind: CXCursorKind.Var - get() = memberAt(0) + var kind: CXCursorKind + get() = memberAt(0).value + set(value) { memberAt(0).value = value } - val xdata: CInt32Var - get() = memberAt(4) + var xdata: Int + get() = memberAt(4).value + set(value) { memberAt(4).value = value } val data: CArrayPointer get() = arrayMemberAt(8) @@ -3213,8 +3290,9 @@ class CXPlatformAvailability(override val rawPtr: NativePtr) : CStructVar() { val Obsoleted: CXVersion get() = memberAt(40) - val Unavailable: CInt32Var - get() = memberAt(52) + var Unavailable: Int + get() = memberAt(52).value + set(value) { memberAt(52).value = value } val Message: CXString get() = memberAt(56) @@ -3227,8 +3305,9 @@ class CXType(override val rawPtr: NativePtr) : CStructVar() { companion object : Type(24, 8) - val kind: CXTypeKind.Var - get() = memberAt(0) + var kind: CXTypeKind + get() = memberAt(0).value + set(value) { memberAt(0).value = value } val data: CArrayPointer get() = arrayMemberAt(8) @@ -3239,11 +3318,12 @@ class CXToken(override val rawPtr: NativePtr) : CStructVar() { companion object : Type(24, 8) - val int_data: CArrayPointer + val int_data: CArrayPointer get() = arrayMemberAt(0) - val ptr_data: COpaquePointerVar - get() = memberAt(16) + var ptr_data: COpaquePointer? + get() = memberAt(16).value + set(value) { memberAt(16).value = value } } @@ -3251,11 +3331,13 @@ class CXCompletionResult(override val rawPtr: NativePtr) : CStructVar() { companion object : Type(16, 8) - val CursorKind: CXCursorKind.Var - get() = memberAt(0) + var CursorKind: CXCursorKind + get() = memberAt(0).value + set(value) { memberAt(0).value = value } - val CompletionString: CXCompletionStringVar - get() = memberAt(8) + var CompletionString: CXCompletionString? + get() = memberAt(8).value + set(value) { memberAt(8).value = value } } @@ -3263,11 +3345,13 @@ class CXCodeCompleteResults(override val rawPtr: NativePtr) : CStructVar() { companion object : Type(16, 8) - val Results: CPointerVar - get() = memberAt(0) + var Results: CPointer? + get() = memberAt>(0).value + set(value) { memberAt>(0).value = value } - val NumResults: CInt32Var - get() = memberAt(8) + var NumResults: Int + get() = memberAt(8).value + set(value) { memberAt(8).value = value } } @@ -3275,11 +3359,13 @@ class CXCursorAndRangeVisitor(override val rawPtr: NativePtr) : CStructVar() { companion object : Type(16, 8) - val context: COpaquePointerVar - get() = memberAt(0) + var context: COpaquePointer? + get() = memberAt(0).value + set(value) { memberAt(0).value = value } - val visit: CPointerVar> - get() = memberAt(8) + var visit: CPointer>? + get() = memberAt>>(8).value + set(value) { memberAt>>(8).value = value } } @@ -3290,8 +3376,9 @@ class CXIdxLoc(override val rawPtr: NativePtr) : CStructVar() { val ptr_data: CArrayPointer get() = arrayMemberAt(0) - val int_data: CInt32Var - get() = memberAt(16) + var int_data: Int + get() = memberAt(16).value + set(value) { memberAt(16).value = value } } @@ -3302,20 +3389,25 @@ class CXIdxIncludedFileInfo(override val rawPtr: NativePtr) : CStructVar() { val hashLoc: CXIdxLoc get() = memberAt(0) - val filename: CPointerVar - get() = memberAt(24) + var filename: CPointer? + get() = memberAt>(24).value + set(value) { memberAt>(24).value = value } - val file: CXFileVar - get() = memberAt(32) + var file: CXFile? + get() = memberAt(32).value + set(value) { memberAt(32).value = value } - val isImport: CInt32Var - get() = memberAt(40) + var isImport: Int + get() = memberAt(40).value + set(value) { memberAt(40).value = value } - val isAngled: CInt32Var - get() = memberAt(44) + var isAngled: Int + get() = memberAt(44).value + set(value) { memberAt(44).value = value } - val isModuleImport: CInt32Var - get() = memberAt(48) + var isModuleImport: Int + get() = memberAt(48).value + set(value) { memberAt(48).value = value } } @@ -3323,17 +3415,20 @@ class CXIdxImportedASTFileInfo(override val rawPtr: NativePtr) : CStructVar() { companion object : Type(48, 8) - val file: CXFileVar - get() = memberAt(0) + var file: CXFile? + get() = memberAt(0).value + set(value) { memberAt(0).value = value } - val module: CXModuleVar - get() = memberAt(8) + var module: CXModule? + get() = memberAt(8).value + set(value) { memberAt(8).value = value } val loc: CXIdxLoc get() = memberAt(16) - val isImplicit: CInt32Var - get() = memberAt(40) + var isImplicit: Int + get() = memberAt(40).value + set(value) { memberAt(40).value = value } } @@ -3341,8 +3436,9 @@ class CXIdxAttrInfo(override val rawPtr: NativePtr) : CStructVar() { companion object : Type(64, 8) - val kind: CXIdxAttrKindVar - get() = memberAt(0) + var kind: CXIdxAttrKind + get() = memberAt(0).value + set(value) { memberAt(0).value = value } val cursor: CXCursor get() = memberAt(8) @@ -3356,29 +3452,36 @@ class CXIdxEntityInfo(override val rawPtr: NativePtr) : CStructVar() { companion object : Type(80, 8) - val kind: CXIdxEntityKind.Var - get() = memberAt(0) + var kind: CXIdxEntityKind + get() = memberAt(0).value + set(value) { memberAt(0).value = value } - val templateKind: CXIdxEntityCXXTemplateKindVar - get() = memberAt(4) + var templateKind: CXIdxEntityCXXTemplateKind + get() = memberAt(4).value + set(value) { memberAt(4).value = value } - val lang: CXIdxEntityLanguageVar - get() = memberAt(8) + var lang: CXIdxEntityLanguage + get() = memberAt(8).value + set(value) { memberAt(8).value = value } - val name: CPointerVar - get() = memberAt(16) + var name: CPointer? + get() = memberAt>(16).value + set(value) { memberAt>(16).value = value } - val USR: CPointerVar - get() = memberAt(24) + var USR: CPointer? + get() = memberAt>(24).value + set(value) { memberAt>(24).value = value } val cursor: CXCursor get() = memberAt(32) - val attributes: CPointerVar> - get() = memberAt(64) + var attributes: CPointer>? + get() = memberAt>>(64).value + set(value) { memberAt>>(64).value = value } - val numAttributes: CInt32Var - get() = memberAt(72) + var numAttributes: Int + get() = memberAt(72).value + set(value) { memberAt(72).value = value } } @@ -3395,11 +3498,13 @@ class CXIdxIBOutletCollectionAttrInfo(override val rawPtr: NativePtr) : CStructV companion object : Type(72, 8) - val attrInfo: CPointerVar - get() = memberAt(0) + var attrInfo: CPointer? + get() = memberAt>(0).value + set(value) { memberAt>(0).value = value } - val objcClass: CPointerVar - get() = memberAt(8) + var objcClass: CPointer? + get() = memberAt>(8).value + set(value) { memberAt>(8).value = value } val classCursor: CXCursor get() = memberAt(16) @@ -3413,8 +3518,9 @@ class CXIdxDeclInfo(override val rawPtr: NativePtr) : CStructVar() { companion object : Type(128, 8) - val entityInfo: CPointerVar - get() = memberAt(0) + var entityInfo: CPointer? + get() = memberAt>(0).value + set(value) { memberAt>(0).value = value } val cursor: CXCursor get() = memberAt(8) @@ -3422,35 +3528,45 @@ class CXIdxDeclInfo(override val rawPtr: NativePtr) : CStructVar() { val loc: CXIdxLoc get() = memberAt(40) - val semanticContainer: CPointerVar - get() = memberAt(64) + var semanticContainer: CPointer? + get() = memberAt>(64).value + set(value) { memberAt>(64).value = value } - val lexicalContainer: CPointerVar - get() = memberAt(72) + var lexicalContainer: CPointer? + get() = memberAt>(72).value + set(value) { memberAt>(72).value = value } - val isRedeclaration: CInt32Var - get() = memberAt(80) + var isRedeclaration: Int + get() = memberAt(80).value + set(value) { memberAt(80).value = value } - val isDefinition: CInt32Var - get() = memberAt(84) + var isDefinition: Int + get() = memberAt(84).value + set(value) { memberAt(84).value = value } - val isContainer: CInt32Var - get() = memberAt(88) + var isContainer: Int + get() = memberAt(88).value + set(value) { memberAt(88).value = value } - val declAsContainer: CPointerVar - get() = memberAt(96) + var declAsContainer: CPointer? + get() = memberAt>(96).value + set(value) { memberAt>(96).value = value } - val isImplicit: CInt32Var - get() = memberAt(104) + var isImplicit: Int + get() = memberAt(104).value + set(value) { memberAt(104).value = value } - val attributes: CPointerVar> - get() = memberAt(112) + var attributes: CPointer>? + get() = memberAt>>(112).value + set(value) { memberAt>>(112).value = value } - val numAttributes: CInt32Var - get() = memberAt(120) + var numAttributes: Int + get() = memberAt(120).value + set(value) { memberAt(120).value = value } - val flags: CInt32Var - get() = memberAt(124) + var flags: Int + get() = memberAt(124).value + set(value) { memberAt(124).value = value } } @@ -3458,11 +3574,13 @@ class CXIdxObjCContainerDeclInfo(override val rawPtr: NativePtr) : CStructVar() companion object : Type(16, 8) - val declInfo: CPointerVar - get() = memberAt(0) + var declInfo: CPointer? + get() = memberAt>(0).value + set(value) { memberAt>(0).value = value } - val kind: CXIdxObjCContainerKindVar - get() = memberAt(8) + var kind: CXIdxObjCContainerKind + get() = memberAt(8).value + set(value) { memberAt(8).value = value } } @@ -3470,8 +3588,9 @@ class CXIdxBaseClassInfo(override val rawPtr: NativePtr) : CStructVar() { companion object : Type(64, 8) - val base: CPointerVar - get() = memberAt(0) + var base: CPointer? + get() = memberAt>(0).value + set(value) { memberAt>(0).value = value } val cursor: CXCursor get() = memberAt(8) @@ -3485,8 +3604,9 @@ class CXIdxObjCProtocolRefInfo(override val rawPtr: NativePtr) : CStructVar() { companion object : Type(64, 8) - val protocol: CPointerVar - get() = memberAt(0) + var protocol: CPointer? + get() = memberAt>(0).value + set(value) { memberAt>(0).value = value } val cursor: CXCursor get() = memberAt(8) @@ -3500,11 +3620,13 @@ class CXIdxObjCProtocolRefListInfo(override val rawPtr: NativePtr) : CStructVar( companion object : Type(16, 8) - val protocols: CPointerVar> - get() = memberAt(0) + var protocols: CPointer>? + get() = memberAt>>(0).value + set(value) { memberAt>>(0).value = value } - val numProtocols: CInt32Var - get() = memberAt(8) + var numProtocols: Int + get() = memberAt(8).value + set(value) { memberAt(8).value = value } } @@ -3512,14 +3634,17 @@ class CXIdxObjCInterfaceDeclInfo(override val rawPtr: NativePtr) : CStructVar() companion object : Type(24, 8) - val containerInfo: CPointerVar - get() = memberAt(0) + var containerInfo: CPointer? + get() = memberAt>(0).value + set(value) { memberAt>(0).value = value } - val superInfo: CPointerVar - get() = memberAt(8) + var superInfo: CPointer? + get() = memberAt>(8).value + set(value) { memberAt>(8).value = value } - val protocols: CPointerVar - get() = memberAt(16) + var protocols: CPointer? + get() = memberAt>(16).value + set(value) { memberAt>(16).value = value } } @@ -3527,11 +3652,13 @@ class CXIdxObjCCategoryDeclInfo(override val rawPtr: NativePtr) : CStructVar() { companion object : Type(80, 8) - val containerInfo: CPointerVar - get() = memberAt(0) + var containerInfo: CPointer? + get() = memberAt>(0).value + set(value) { memberAt>(0).value = value } - val objcClass: CPointerVar - get() = memberAt(8) + var objcClass: CPointer? + get() = memberAt>(8).value + set(value) { memberAt>(8).value = value } val classCursor: CXCursor get() = memberAt(16) @@ -3539,8 +3666,9 @@ class CXIdxObjCCategoryDeclInfo(override val rawPtr: NativePtr) : CStructVar() { val classLoc: CXIdxLoc get() = memberAt(48) - val protocols: CPointerVar - get() = memberAt(72) + var protocols: CPointer? + get() = memberAt>(72).value + set(value) { memberAt>(72).value = value } } @@ -3548,14 +3676,17 @@ class CXIdxObjCPropertyDeclInfo(override val rawPtr: NativePtr) : CStructVar() { companion object : Type(24, 8) - val declInfo: CPointerVar - get() = memberAt(0) + var declInfo: CPointer? + get() = memberAt>(0).value + set(value) { memberAt>(0).value = value } - val getter: CPointerVar - get() = memberAt(8) + var getter: CPointer? + get() = memberAt>(8).value + set(value) { memberAt>(8).value = value } - val setter: CPointerVar - get() = memberAt(16) + var setter: CPointer? + get() = memberAt>(16).value + set(value) { memberAt>(16).value = value } } @@ -3563,14 +3694,17 @@ class CXIdxCXXClassDeclInfo(override val rawPtr: NativePtr) : CStructVar() { companion object : Type(24, 8) - val declInfo: CPointerVar - get() = memberAt(0) + var declInfo: CPointer? + get() = memberAt>(0).value + set(value) { memberAt>(0).value = value } - val bases: CPointerVar> - get() = memberAt(8) + var bases: CPointer>? + get() = memberAt>>(8).value + set(value) { memberAt>>(8).value = value } - val numBases: CInt32Var - get() = memberAt(16) + var numBases: Int + get() = memberAt(16).value + set(value) { memberAt(16).value = value } } @@ -3578,8 +3712,9 @@ class CXIdxEntityRefInfo(override val rawPtr: NativePtr) : CStructVar() { companion object : Type(88, 8) - val kind: CXIdxEntityRefKindVar - get() = memberAt(0) + var kind: CXIdxEntityRefKind + get() = memberAt(0).value + set(value) { memberAt(0).value = value } val cursor: CXCursor get() = memberAt(8) @@ -3587,14 +3722,17 @@ class CXIdxEntityRefInfo(override val rawPtr: NativePtr) : CStructVar() { val loc: CXIdxLoc get() = memberAt(40) - val referencedEntity: CPointerVar - get() = memberAt(64) + var referencedEntity: CPointer? + get() = memberAt>(64).value + set(value) { memberAt>(64).value = value } - val parentEntity: CPointerVar - get() = memberAt(72) + var parentEntity: CPointer? + get() = memberAt>(72).value + set(value) { memberAt>(72).value = value } - val container: CPointerVar - get() = memberAt(80) + var container: CPointer? + get() = memberAt>(80).value + set(value) { memberAt>(80).value = value } } @@ -3602,33 +3740,41 @@ class IndexerCallbacks(override val rawPtr: NativePtr) : CStructVar() { companion object : Type(64, 8) - val abortQuery: CPointerVar> - get() = memberAt(0) + var abortQuery: CPointer>? + get() = memberAt>>(0).value + set(value) { memberAt>>(0).value = value } - val diagnostic: CPointerVar> - get() = memberAt(8) + var diagnostic: CPointer>? + get() = memberAt>>(8).value + set(value) { memberAt>>(8).value = value } - val enteredMainFile: CPointerVar> - get() = memberAt(16) + var enteredMainFile: CPointer>? + get() = memberAt>>(16).value + set(value) { memberAt>>(16).value = value } - val ppIncludedFile: CPointerVar> - get() = memberAt(24) + var ppIncludedFile: CPointer>? + get() = memberAt>>(24).value + set(value) { memberAt>>(24).value = value } - val importedASTFile: CPointerVar> - get() = memberAt(32) + var importedASTFile: CPointer>? + get() = memberAt>>(32).value + set(value) { memberAt>>(32).value = value } - val startedTranslationUnit: CPointerVar> - get() = memberAt(40) + var startedTranslationUnit: CPointer>? + get() = memberAt>>(40).value + set(value) { memberAt>>(40).value = value } - val indexDeclaration: CPointerVar> - get() = memberAt(48) + var indexDeclaration: CPointer>? + get() = memberAt>>(48).value + set(value) { memberAt>>(48).value = value } - val indexEntityReference: CPointerVar> - get() = memberAt(56) + var indexEntityReference: CPointer>? + get() = memberAt>>(56).value + set(value) { memberAt>>(56).value = value } } -typealias clockid_tVar = CInt32VarWithValueMappedTo +typealias clockid_tVar = IntVarOf typealias clockid_t = Int val _CLOCK_REALTIME: clockid_t = 0 @@ -3653,10 +3799,10 @@ enum class CXErrorCode(override val value: Int) : CEnum { } class Var(override val rawPtr: NativePtr) : CEnumVar() { - companion object : Type(CInt32Var.size.toInt()) + companion object : Type(IntVar.size.toInt()) var value: CXErrorCode - get() = byValue(this.reinterpret().value) - set(value) { this.reinterpret().value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -3672,14 +3818,14 @@ enum class CXAvailabilityKind(override val value: Int) : CEnum { } class Var(override val rawPtr: NativePtr) : CEnumVar() { - companion object : Type(CInt32Var.size.toInt()) + companion object : Type(IntVar.size.toInt()) var value: CXAvailabilityKind - get() = byValue(this.reinterpret().value) - set(value) { this.reinterpret().value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } -typealias CXGlobalOptFlagsVar = CInt32VarWithValueMappedTo +typealias CXGlobalOptFlagsVar = IntVarOf typealias CXGlobalOptFlags = Int val CXGlobalOpt_None: CXGlobalOptFlags = 0 @@ -3700,10 +3846,10 @@ enum class CXDiagnosticSeverity(override val value: Int) : CEnum { } class Var(override val rawPtr: NativePtr) : CEnumVar() { - companion object : Type(CInt32Var.size.toInt()) + companion object : Type(IntVar.size.toInt()) var value: CXDiagnosticSeverity - get() = byValue(this.reinterpret().value) - set(value) { this.reinterpret().value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -3719,14 +3865,14 @@ enum class CXLoadDiag_Error(override val value: Int) : CEnum { } class Var(override val rawPtr: NativePtr) : CEnumVar() { - companion object : Type(CInt32Var.size.toInt()) + companion object : Type(IntVar.size.toInt()) var value: CXLoadDiag_Error - get() = byValue(this.reinterpret().value) - set(value) { this.reinterpret().value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } -typealias CXDiagnosticDisplayOptionsVar = CInt32VarWithValueMappedTo +typealias CXDiagnosticDisplayOptionsVar = IntVarOf typealias CXDiagnosticDisplayOptions = Int val CXDiagnostic_DisplaySourceLocation: CXDiagnosticDisplayOptions = 1 @@ -3736,7 +3882,7 @@ val CXDiagnostic_DisplayOption: CXDiagnosticDisplayOptions = 8 val CXDiagnostic_DisplayCategoryId: CXDiagnosticDisplayOptions = 16 val CXDiagnostic_DisplayCategoryName: CXDiagnosticDisplayOptions = 32 -typealias CXTranslationUnit_FlagsVar = CInt32VarWithValueMappedTo +typealias CXTranslationUnit_FlagsVar = IntVarOf typealias CXTranslationUnit_Flags = Int val CXTranslationUnit_None: CXTranslationUnit_Flags = 0 @@ -3751,7 +3897,7 @@ val CXTranslationUnit_IncludeBriefCommentsInCodeCompletion: CXTranslationUnit_Fl val CXTranslationUnit_CreatePreambleOnFirstParse: CXTranslationUnit_Flags = 256 val CXTranslationUnit_KeepGoing: CXTranslationUnit_Flags = 512 -typealias CXSaveTranslationUnit_FlagsVar = CInt32VarWithValueMappedTo +typealias CXSaveTranslationUnit_FlagsVar = IntVarOf typealias CXSaveTranslationUnit_Flags = Int val CXSaveTranslationUnit_None: CXSaveTranslationUnit_Flags = 0 @@ -3768,14 +3914,14 @@ enum class CXSaveError(override val value: Int) : CEnum { } class Var(override val rawPtr: NativePtr) : CEnumVar() { - companion object : Type(CInt32Var.size.toInt()) + companion object : Type(IntVar.size.toInt()) var value: CXSaveError - get() = byValue(this.reinterpret().value) - set(value) { this.reinterpret().value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } -typealias CXReparse_FlagsVar = CInt32VarWithValueMappedTo +typealias CXReparse_FlagsVar = IntVarOf typealias CXReparse_Flags = Int val CXReparse_None: CXReparse_Flags = 0 @@ -3806,10 +3952,10 @@ enum class CXTUResourceUsageKind(override val value: Int) : CEnum { } class Var(override val rawPtr: NativePtr) : CEnumVar() { - companion object : Type(CInt32Var.size.toInt()) + companion object : Type(IntVar.size.toInt()) var value: CXTUResourceUsageKind - get() = byValue(this.reinterpret().value) - set(value) { this.reinterpret().value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -4041,10 +4187,10 @@ enum class CXCursorKind(override val value: Int) : CEnum { } class Var(override val rawPtr: NativePtr) : CEnumVar() { - companion object : Type(CInt32Var.size.toInt()) + companion object : Type(IntVar.size.toInt()) var value: CXCursorKind - get() = byValue(this.reinterpret().value) - set(value) { this.reinterpret().value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -4061,10 +4207,10 @@ enum class CXLinkageKind(override val value: Int) : CEnum { } class Var(override val rawPtr: NativePtr) : CEnumVar() { - companion object : Type(CInt32Var.size.toInt()) + companion object : Type(IntVar.size.toInt()) var value: CXLinkageKind - get() = byValue(this.reinterpret().value) - set(value) { this.reinterpret().value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -4080,10 +4226,10 @@ enum class CXVisibilityKind(override val value: Int) : CEnum { } class Var(override val rawPtr: NativePtr) : CEnumVar() { - companion object : Type(CInt32Var.size.toInt()) + companion object : Type(IntVar.size.toInt()) var value: CXVisibilityKind - get() = byValue(this.reinterpret().value) - set(value) { this.reinterpret().value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -4099,10 +4245,10 @@ enum class CXLanguageKind(override val value: Int) : CEnum { } class Var(override val rawPtr: NativePtr) : CEnumVar() { - companion object : Type(CInt32Var.size.toInt()) + companion object : Type(IntVar.size.toInt()) var value: CXLanguageKind - get() = byValue(this.reinterpret().value) - set(value) { this.reinterpret().value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -4167,10 +4313,10 @@ enum class CXTypeKind(override val value: Int) : CEnum { } class Var(override val rawPtr: NativePtr) : CEnumVar() { - companion object : Type(CInt32Var.size.toInt()) + companion object : Type(IntVar.size.toInt()) var value: CXTypeKind - get() = byValue(this.reinterpret().value) - set(value) { this.reinterpret().value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -4199,10 +4345,10 @@ enum class CXCallingConv(override val value: Int) : CEnum { } class Var(override val rawPtr: NativePtr) : CEnumVar() { - companion object : Type(CInt32Var.size.toInt()) + companion object : Type(IntVar.size.toInt()) var value: CXCallingConv - get() = byValue(this.reinterpret().value) - set(value) { this.reinterpret().value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -4224,14 +4370,14 @@ enum class CXTemplateArgumentKind(override val value: Int) : CEnum { } class Var(override val rawPtr: NativePtr) : CEnumVar() { - companion object : Type(CInt32Var.size.toInt()) + companion object : Type(IntVar.size.toInt()) var value: CXTemplateArgumentKind - get() = byValue(this.reinterpret().value) - set(value) { this.reinterpret().value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } -typealias CXTypeLayoutErrorVar = CInt32VarWithValueMappedTo +typealias CXTypeLayoutErrorVar = IntVarOf typealias CXTypeLayoutError = Int val CXTypeLayoutError_Invalid: CXTypeLayoutError = -1 @@ -4240,7 +4386,7 @@ val CXTypeLayoutError_Dependent: CXTypeLayoutError = -3 val CXTypeLayoutError_NotConstantSize: CXTypeLayoutError = -4 val CXTypeLayoutError_InvalidFieldName: CXTypeLayoutError = -5 -typealias CXRefQualifierKindVar = CInt32VarWithValueMappedTo +typealias CXRefQualifierKindVar = IntVarOf typealias CXRefQualifierKind = Int val CXRefQualifier_None: CXRefQualifierKind = 0 @@ -4259,10 +4405,10 @@ enum class CX_CXXAccessSpecifier(override val value: Int) : CEnum { } class Var(override val rawPtr: NativePtr) : CEnumVar() { - companion object : Type(CInt32Var.size.toInt()) + companion object : Type(IntVar.size.toInt()) var value: CX_CXXAccessSpecifier - get() = byValue(this.reinterpret().value) - set(value) { this.reinterpret().value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -4282,10 +4428,10 @@ enum class CX_StorageClass(override val value: Int) : CEnum { } class Var(override val rawPtr: NativePtr) : CEnumVar() { - companion object : Type(CInt32Var.size.toInt()) + companion object : Type(IntVar.size.toInt()) var value: CX_StorageClass - get() = byValue(this.reinterpret().value) - set(value) { this.reinterpret().value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -4300,14 +4446,14 @@ enum class CXChildVisitResult(override val value: Int) : CEnum { } class Var(override val rawPtr: NativePtr) : CEnumVar() { - companion object : Type(CInt32Var.size.toInt()) + companion object : Type(IntVar.size.toInt()) var value: CXChildVisitResult - get() = byValue(this.reinterpret().value) - set(value) { this.reinterpret().value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } -typealias CXObjCPropertyAttrKindVar = CInt32VarWithValueMappedTo +typealias CXObjCPropertyAttrKindVar = IntVarOf typealias CXObjCPropertyAttrKind = Int val CXObjCPropertyAttr_noattr: CXObjCPropertyAttrKind = 0 @@ -4325,7 +4471,7 @@ val CXObjCPropertyAttr_strong: CXObjCPropertyAttrKind = 1024 val CXObjCPropertyAttr_unsafe_unretained: CXObjCPropertyAttrKind = 2048 val CXObjCPropertyAttr_class: CXObjCPropertyAttrKind = 4096 -typealias CXObjCDeclQualifierKindVar = CInt32VarWithValueMappedTo +typealias CXObjCDeclQualifierKindVar = IntVarOf typealias CXObjCDeclQualifierKind = Int val CXObjCDeclQualifier_None: CXObjCDeclQualifierKind = 0 @@ -4336,7 +4482,7 @@ val CXObjCDeclQualifier_Bycopy: CXObjCDeclQualifierKind = 8 val CXObjCDeclQualifier_Byref: CXObjCDeclQualifierKind = 16 val CXObjCDeclQualifier_Oneway: CXObjCDeclQualifierKind = 32 -typealias CXNameRefFlagsVar = CInt32VarWithValueMappedTo +typealias CXNameRefFlagsVar = IntVarOf typealias CXNameRefFlags = Int val CXNameRange_WantQualifier: CXNameRefFlags = 1 @@ -4356,10 +4502,10 @@ enum class CXTokenKind(override val value: Int) : CEnum { } class Var(override val rawPtr: NativePtr) : CEnumVar() { - companion object : Type(CInt32Var.size.toInt()) + companion object : Type(IntVar.size.toInt()) var value: CXTokenKind - get() = byValue(this.reinterpret().value) - set(value) { this.reinterpret().value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -4392,21 +4538,21 @@ enum class CXCompletionChunkKind(override val value: Int) : CEnum { } class Var(override val rawPtr: NativePtr) : CEnumVar() { - companion object : Type(CInt32Var.size.toInt()) + companion object : Type(IntVar.size.toInt()) var value: CXCompletionChunkKind - get() = byValue(this.reinterpret().value) - set(value) { this.reinterpret().value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } -typealias CXCodeComplete_FlagsVar = CInt32VarWithValueMappedTo +typealias CXCodeComplete_FlagsVar = IntVarOf typealias CXCodeComplete_Flags = Int val CXCodeComplete_IncludeMacros: CXCodeComplete_Flags = 1 val CXCodeComplete_IncludeCodePatterns: CXCodeComplete_Flags = 2 val CXCodeComplete_IncludeBriefComments: CXCodeComplete_Flags = 4 -typealias CXCompletionContextVar = CInt32VarWithValueMappedTo +typealias CXCompletionContextVar = IntVarOf typealias CXCompletionContext = Int val CXCompletionContext_Unexposed: CXCompletionContext = 0 @@ -4449,10 +4595,10 @@ enum class CXEvalResultKind(override val value: Int) : CEnum { } class Var(override val rawPtr: NativePtr) : CEnumVar() { - companion object : Type(CInt32Var.size.toInt()) + companion object : Type(IntVar.size.toInt()) var value: CXEvalResultKind - get() = byValue(this.reinterpret().value) - set(value) { this.reinterpret().value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -4466,10 +4612,10 @@ enum class CXVisitorResult(override val value: Int) : CEnum { } class Var(override val rawPtr: NativePtr) : CEnumVar() { - companion object : Type(CInt32Var.size.toInt()) + companion object : Type(IntVar.size.toInt()) var value: CXVisitorResult - get() = byValue(this.reinterpret().value) - set(value) { this.reinterpret().value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -4484,10 +4630,10 @@ enum class CXResult(override val value: Int) : CEnum { } class Var(override val rawPtr: NativePtr) : CEnumVar() { - companion object : Type(CInt32Var.size.toInt()) + companion object : Type(IntVar.size.toInt()) var value: CXResult - get() = byValue(this.reinterpret().value) - set(value) { this.reinterpret().value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } @@ -4526,14 +4672,14 @@ enum class CXIdxEntityKind(override val value: Int) : CEnum { } class Var(override val rawPtr: NativePtr) : CEnumVar() { - companion object : Type(CInt32Var.size.toInt()) + companion object : Type(IntVar.size.toInt()) var value: CXIdxEntityKind - get() = byValue(this.reinterpret().value) - set(value) { this.reinterpret().value = value.value } + get() = byValue(this.reinterpret().value) + set(value) { this.reinterpret().value = value.value } } } -typealias CXIdxEntityLanguageVar = CInt32VarWithValueMappedTo +typealias CXIdxEntityLanguageVar = IntVarOf typealias CXIdxEntityLanguage = Int val CXIdxEntityLang_None: CXIdxEntityLanguage = 0 @@ -4541,7 +4687,7 @@ val CXIdxEntityLang_C: CXIdxEntityLanguage = 1 val CXIdxEntityLang_ObjC: CXIdxEntityLanguage = 2 val CXIdxEntityLang_CXX: CXIdxEntityLanguage = 3 -typealias CXIdxEntityCXXTemplateKindVar = CInt32VarWithValueMappedTo +typealias CXIdxEntityCXXTemplateKindVar = IntVarOf typealias CXIdxEntityCXXTemplateKind = Int val CXIdxEntity_NonTemplate: CXIdxEntityCXXTemplateKind = 0 @@ -4549,7 +4695,7 @@ val CXIdxEntity_Template: CXIdxEntityCXXTemplateKind = 1 val CXIdxEntity_TemplatePartialSpecialization: CXIdxEntityCXXTemplateKind = 2 val CXIdxEntity_TemplateSpecialization: CXIdxEntityCXXTemplateKind = 3 -typealias CXIdxAttrKindVar = CInt32VarWithValueMappedTo +typealias CXIdxAttrKindVar = IntVarOf typealias CXIdxAttrKind = Int val CXIdxAttr_Unexposed: CXIdxAttrKind = 0 @@ -4557,25 +4703,25 @@ val CXIdxAttr_IBAction: CXIdxAttrKind = 1 val CXIdxAttr_IBOutlet: CXIdxAttrKind = 2 val CXIdxAttr_IBOutletCollection: CXIdxAttrKind = 3 -typealias CXIdxDeclInfoFlagsVar = CInt32VarWithValueMappedTo +typealias CXIdxDeclInfoFlagsVar = IntVarOf typealias CXIdxDeclInfoFlags = Int val CXIdxDeclFlag_Skipped: CXIdxDeclInfoFlags = 1 -typealias CXIdxObjCContainerKindVar = CInt32VarWithValueMappedTo +typealias CXIdxObjCContainerKindVar = IntVarOf typealias CXIdxObjCContainerKind = Int val CXIdxObjCContainer_ForwardRef: CXIdxObjCContainerKind = 0 val CXIdxObjCContainer_Interface: CXIdxObjCContainerKind = 1 val CXIdxObjCContainer_Implementation: CXIdxObjCContainerKind = 2 -typealias CXIdxEntityRefKindVar = CInt32VarWithValueMappedTo +typealias CXIdxEntityRefKindVar = IntVarOf typealias CXIdxEntityRefKind = Int val CXIdxEntityRef_Direct: CXIdxEntityRefKind = 1 val CXIdxEntityRef_Implicit: CXIdxEntityRefKind = 2 -typealias CXIndexOptFlagsVar = CInt32VarWithValueMappedTo +typealias CXIndexOptFlagsVar = IntVarOf typealias CXIndexOptFlags = Int val CXIndexOpt_None: CXIndexOptFlags = 0 @@ -4585,173 +4731,317 @@ val CXIndexOpt_IndexImplicitTemplateInstantiations: CXIndexOptFlags = 4 val CXIndexOpt_SuppressWarnings: CXIndexOptFlags = 8 val CXIndexOpt_SkipParsedBodiesInSession: CXIndexOptFlags = 16 -typealias __darwin_time_tVar = CInt64VarWithValueMappedTo<__darwin_time_t> -typealias __darwin_time_t = Long +typealias __int8_tVar = ByteVarOf<__int8_t> +typealias __int8_t = Byte -typealias __darwin_clock_tVar = CInt64VarWithValueMappedTo<__darwin_clock_t> -typealias __darwin_clock_t = Long +typealias __uint8_tVar = ByteVarOf<__uint8_t> +typealias __uint8_t = Byte -typealias clock_tVar = CInt64VarWithValueMappedTo -typealias clock_t = __darwin_clock_t +typealias __int16_tVar = ShortVarOf<__int16_t> +typealias __int16_t = Short -typealias time_tVar = CInt64VarWithValueMappedTo -typealias time_t = __darwin_time_t +typealias __uint16_tVar = ShortVarOf<__uint16_t> +typealias __uint16_t = Short -typealias __darwin_size_tVar = CInt64VarWithValueMappedTo<__darwin_size_t> -typealias __darwin_size_t = Long +typealias __int32_tVar = IntVarOf<__int32_t> +typealias __int32_t = Int -typealias size_tVar = CInt64VarWithValueMappedTo -typealias size_t = __darwin_size_t +typealias __uint32_tVar = IntVarOf<__uint32_t> +typealias __uint32_t = Int -typealias __uint64_tVar = CInt64VarWithValueMappedTo<__uint64_t> +typealias __int64_tVar = LongVarOf<__int64_t> +typealias __int64_t = Long + +typealias __uint64_tVar = LongVarOf<__uint64_t> typealias __uint64_t = Long -typealias CXVirtualFileOverlayVar = CPointerVarWithValueMappedTo +typealias __darwin_intptr_tVar = LongVarOf<__darwin_intptr_t> +typealias __darwin_intptr_t = Long + +typealias __darwin_natural_tVar = IntVarOf<__darwin_natural_t> +typealias __darwin_natural_t = Int + +typealias __darwin_ct_rune_tVar = IntVarOf<__darwin_ct_rune_t> +typealias __darwin_ct_rune_t = Int + +typealias __darwin_mbstate_t = __mbstate_t + +typealias __darwin_ptrdiff_tVar = LongVarOf<__darwin_ptrdiff_t> +typealias __darwin_ptrdiff_t = Long + +typealias __darwin_size_tVar = LongVarOf<__darwin_size_t> +typealias __darwin_size_t = Long + +typealias __darwin_va_listVar = CPointerVarOf<__darwin_va_list> +typealias __darwin_va_list = CArrayPointer<__builtin_va_list> + +typealias __darwin_wchar_tVar = IntVarOf<__darwin_wchar_t> +typealias __darwin_wchar_t = Int + +typealias __darwin_rune_tVar = IntVarOf<__darwin_rune_t> +typealias __darwin_rune_t = __darwin_wchar_t + +typealias __darwin_wint_tVar = IntVarOf<__darwin_wint_t> +typealias __darwin_wint_t = Int + +typealias __darwin_clock_tVar = LongVarOf<__darwin_clock_t> +typealias __darwin_clock_t = Long + +typealias __darwin_socklen_tVar = IntVarOf<__darwin_socklen_t> +typealias __darwin_socklen_t = __uint32_t + +typealias __darwin_ssize_tVar = LongVarOf<__darwin_ssize_t> +typealias __darwin_ssize_t = Long + +typealias __darwin_time_tVar = LongVarOf<__darwin_time_t> +typealias __darwin_time_t = Long + +typealias __darwin_blkcnt_tVar = LongVarOf<__darwin_blkcnt_t> +typealias __darwin_blkcnt_t = __int64_t + +typealias __darwin_blksize_tVar = IntVarOf<__darwin_blksize_t> +typealias __darwin_blksize_t = __int32_t + +typealias __darwin_dev_tVar = IntVarOf<__darwin_dev_t> +typealias __darwin_dev_t = __int32_t + +typealias __darwin_fsblkcnt_tVar = IntVarOf<__darwin_fsblkcnt_t> +typealias __darwin_fsblkcnt_t = Int + +typealias __darwin_fsfilcnt_tVar = IntVarOf<__darwin_fsfilcnt_t> +typealias __darwin_fsfilcnt_t = Int + +typealias __darwin_gid_tVar = IntVarOf<__darwin_gid_t> +typealias __darwin_gid_t = __uint32_t + +typealias __darwin_id_tVar = IntVarOf<__darwin_id_t> +typealias __darwin_id_t = __uint32_t + +typealias __darwin_ino64_tVar = LongVarOf<__darwin_ino64_t> +typealias __darwin_ino64_t = __uint64_t + +typealias __darwin_ino_tVar = LongVarOf<__darwin_ino_t> +typealias __darwin_ino_t = __darwin_ino64_t + +typealias __darwin_mach_port_name_tVar = IntVarOf<__darwin_mach_port_name_t> +typealias __darwin_mach_port_name_t = __darwin_natural_t + +typealias __darwin_mach_port_tVar = IntVarOf<__darwin_mach_port_t> +typealias __darwin_mach_port_t = __darwin_mach_port_name_t + +typealias __darwin_mode_tVar = ShortVarOf<__darwin_mode_t> +typealias __darwin_mode_t = __uint16_t + +typealias __darwin_off_tVar = LongVarOf<__darwin_off_t> +typealias __darwin_off_t = __int64_t + +typealias __darwin_pid_tVar = IntVarOf<__darwin_pid_t> +typealias __darwin_pid_t = __int32_t + +typealias __darwin_sigset_tVar = IntVarOf<__darwin_sigset_t> +typealias __darwin_sigset_t = __uint32_t + +typealias __darwin_suseconds_tVar = IntVarOf<__darwin_suseconds_t> +typealias __darwin_suseconds_t = __int32_t + +typealias __darwin_uid_tVar = IntVarOf<__darwin_uid_t> +typealias __darwin_uid_t = __uint32_t + +typealias __darwin_useconds_tVar = IntVarOf<__darwin_useconds_t> +typealias __darwin_useconds_t = __uint32_t + +typealias __darwin_uuid_tVar = CPointerVarOf<__darwin_uuid_t> +typealias __darwin_uuid_t = CArrayPointer + +typealias __darwin_uuid_string_tVar = CPointerVarOf<__darwin_uuid_string_t> +typealias __darwin_uuid_string_t = CArrayPointer + +typealias __darwin_pthread_attr_t = _opaque_pthread_attr_t + +typealias __darwin_pthread_cond_t = _opaque_pthread_cond_t + +typealias __darwin_pthread_condattr_t = _opaque_pthread_condattr_t + +typealias __darwin_pthread_key_tVar = LongVarOf<__darwin_pthread_key_t> +typealias __darwin_pthread_key_t = Long + +typealias __darwin_pthread_mutex_t = _opaque_pthread_mutex_t + +typealias __darwin_pthread_mutexattr_t = _opaque_pthread_mutexattr_t + +typealias __darwin_pthread_once_t = _opaque_pthread_once_t + +typealias __darwin_pthread_rwlock_t = _opaque_pthread_rwlock_t + +typealias __darwin_pthread_rwlockattr_t = _opaque_pthread_rwlockattr_t + +typealias __darwin_pthread_tVar = CPointerVarOf<__darwin_pthread_t> +typealias __darwin_pthread_t = CPointer<_opaque_pthread_t> + +typealias __darwin_nl_itemVar = IntVarOf<__darwin_nl_item> +typealias __darwin_nl_item = Int + +typealias __darwin_wctrans_tVar = IntVarOf<__darwin_wctrans_t> +typealias __darwin_wctrans_t = Int + +typealias __darwin_wctype_tVar = IntVarOf<__darwin_wctype_t> +typealias __darwin_wctype_t = __uint32_t + +typealias clock_tVar = LongVarOf +typealias clock_t = __darwin_clock_t + +typealias size_tVar = LongVarOf +typealias size_t = __darwin_size_t + +typealias time_tVar = LongVarOf +typealias time_t = __darwin_time_t + +typealias CXVirtualFileOverlayVar = CPointerVarOf typealias CXVirtualFileOverlay = CPointer -typealias CXModuleMapDescriptorVar = CPointerVarWithValueMappedTo +typealias CXModuleMapDescriptorVar = CPointerVarOf typealias CXModuleMapDescriptor = CPointer -typealias CXIndexVar = CPointerVarWithValueMappedTo +typealias CXIndexVar = CPointerVarOf typealias CXIndex = COpaquePointer -typealias CXFileVar = CPointerVarWithValueMappedTo -typealias CXFile = COpaquePointer - -typealias CXTranslationUnitVar = CPointerVarWithValueMappedTo +typealias CXTranslationUnitVar = CPointerVarOf 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 = CPointer> - -typealias CXClientDataVar = CPointerVarWithValueMappedTo +typealias CXClientDataVar = CPointerVarOf typealias CXClientData = COpaquePointer -typealias CXModuleVar = CPointerVarWithValueMappedTo +typealias CXFileVar = CPointerVarOf +typealias CXFile = COpaquePointer + +typealias CXDiagnosticVar = CPointerVarOf +typealias CXDiagnostic = COpaquePointer + +typealias CXDiagnosticSetVar = CPointerVarOf +typealias CXDiagnosticSet = COpaquePointer + +typealias CXCursorSetVar = CPointerVarOf +typealias CXCursorSet = CPointer + +typealias CXCursorVisitorVar = CPointerVarOf +typealias CXCursorVisitor = CPointer> + +typealias CXModuleVar = CPointerVarOf typealias CXModule = COpaquePointer -typealias CXCompletionStringVar = CPointerVarWithValueMappedTo +typealias CXCompletionStringVar = CPointerVarOf typealias CXCompletionString = COpaquePointer -typealias CXInclusionVisitorVar = CPointerVarWithValueMappedTo +typealias CXInclusionVisitorVar = CPointerVarOf typealias CXInclusionVisitor = CPointer> -typealias CXEvalResultVar = CPointerVarWithValueMappedTo +typealias CXEvalResultVar = CPointerVarOf typealias CXEvalResult = COpaquePointer -typealias CXRemappingVar = CPointerVarWithValueMappedTo +typealias CXRemappingVar = CPointerVarOf 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 CXIdxClientFileVar = CPointerVarOf typealias CXIdxClientFile = COpaquePointer -typealias CXFieldVisitorVar = CPointerVarWithValueMappedTo -typealias CXFieldVisitor = CPointer> +typealias CXIdxClientEntityVar = CPointerVarOf +typealias CXIdxClientEntity = COpaquePointer -typealias __darwin_wint_tVar = CInt32VarWithValueMappedTo<__darwin_wint_t> -typealias __darwin_wint_t = Int +typealias CXIdxClientContainerVar = CPointerVarOf +typealias CXIdxClientContainer = COpaquePointer + +typealias CXIdxClientASTFileVar = CPointerVarOf +typealias CXIdxClientASTFile = COpaquePointer + +typealias CXIndexActionVar = CPointerVarOf +typealias CXIndexAction = COpaquePointer + +typealias CXFieldVisitorVar = CPointerVarOf +typealias CXFieldVisitor = CPointer> 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: CArrayPointer, ret: COpaquePointer) { - val res = function(args[0].value!!.reinterpret().pointed, args[1].value!!.reinterpret().pointed, args[2].value!!.reinterpret().pointed.value) + val res = function(args[0]!!.reinterpret().pointed, args[1]!!.reinterpret().pointed, args[2]!!.reinterpret().pointed.value) ret.reinterpret().pointed.value = res } } object CFunctionType2 : CAdaptedFunctionTypeImpl<(COpaquePointer?) -> Unit>(Void, Pointer) { override fun invoke(function: (COpaquePointer?) -> Unit, args: CArrayPointer, ret: COpaquePointer) { - val res = function(args[0].value!!.reinterpret().pointed.value) + val res = function(args[0]!!.reinterpret().pointed.value) } } object CFunctionType3 : CAdaptedFunctionTypeImpl<(COpaquePointer?, CPointer?, Int, COpaquePointer?) -> Unit>(Void, Pointer, Pointer, UInt32, Pointer) { override fun invoke(function: (COpaquePointer?, CPointer?, Int, COpaquePointer?) -> Unit, args: CArrayPointer, 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) + val res = function(args[0]!!.reinterpret().pointed.value, args[1]!!.reinterpret>().pointed.value, args[2]!!.reinterpret().pointed.value, args[3]!!.reinterpret().pointed.value) } } object CFunctionType4 : CAdaptedFunctionTypeImpl<(CXCursor, COpaquePointer?) -> CXVisitorResult>(UInt32, Struct(UInt32, SInt32, Struct(Pointer, Pointer, Pointer)), Pointer) { override fun invoke(function: (CXCursor, COpaquePointer?) -> CXVisitorResult, args: CArrayPointer, ret: COpaquePointer) { - val res = function(args[0].value!!.reinterpret().pointed, args[1].value!!.reinterpret().pointed.value) + val res = function(args[0]!!.reinterpret().pointed, args[1]!!.reinterpret().pointed.value) ret.reinterpret().pointed.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: CArrayPointer, ret: COpaquePointer) { - val res = function(args[0].value!!.reinterpret().pointed.value, args[1].value!!.reinterpret().pointed, args[2].value!!.reinterpret().pointed) + val res = function(args[0]!!.reinterpret().pointed.value, args[1]!!.reinterpret().pointed, args[2]!!.reinterpret().pointed) ret.reinterpret().pointed.value = res } } object CFunctionType6 : CAdaptedFunctionTypeImpl<(COpaquePointer?, COpaquePointer?) -> Int>(SInt32, Pointer, Pointer) { override fun invoke(function: (COpaquePointer?, COpaquePointer?) -> Int, args: CArrayPointer, ret: COpaquePointer) { - val res = function(args[0].value!!.reinterpret().pointed.value, args[1].value!!.reinterpret().pointed.value) - ret.reinterpret().pointed.value = res + val res = function(args[0]!!.reinterpret().pointed.value, args[1]!!.reinterpret().pointed.value) + ret.reinterpret().pointed.value = res } } object CFunctionType7 : CAdaptedFunctionTypeImpl<(COpaquePointer?, COpaquePointer?, COpaquePointer?) -> Unit>(Void, Pointer, Pointer, Pointer) { override fun invoke(function: (COpaquePointer?, COpaquePointer?, COpaquePointer?) -> Unit, args: CArrayPointer, ret: COpaquePointer) { - val res = function(args[0].value!!.reinterpret().pointed.value, args[1].value!!.reinterpret().pointed.value, args[2].value!!.reinterpret().pointed.value) + val res = function(args[0]!!.reinterpret().pointed.value, args[1]!!.reinterpret().pointed.value, args[2]!!.reinterpret().pointed.value) } } object CFunctionType8 : CAdaptedFunctionTypeImpl<(COpaquePointer?, COpaquePointer?, COpaquePointer?) -> COpaquePointer?>(Pointer, Pointer, Pointer, Pointer) { override fun invoke(function: (COpaquePointer?, COpaquePointer?, COpaquePointer?) -> COpaquePointer?, args: CArrayPointer, ret: COpaquePointer) { - val res = function(args[0].value!!.reinterpret().pointed.value, args[1].value!!.reinterpret().pointed.value, args[2].value!!.reinterpret().pointed.value) + val res = function(args[0]!!.reinterpret().pointed.value, args[1]!!.reinterpret().pointed.value, args[2]!!.reinterpret().pointed.value) ret.reinterpret().pointed.value = res } } object CFunctionType9 : CAdaptedFunctionTypeImpl<(COpaquePointer?, CPointer?) -> COpaquePointer?>(Pointer, Pointer, Pointer) { override fun invoke(function: (COpaquePointer?, CPointer?) -> COpaquePointer?, args: CArrayPointer, ret: COpaquePointer) { - val res = function(args[0].value!!.reinterpret().pointed.value, args[1].value!!.reinterpret>().pointed.value) + val res = function(args[0]!!.reinterpret().pointed.value, args[1]!!.reinterpret>().pointed.value) ret.reinterpret().pointed.value = res } } object CFunctionType10 : CAdaptedFunctionTypeImpl<(COpaquePointer?, CPointer?) -> COpaquePointer?>(Pointer, Pointer, Pointer) { override fun invoke(function: (COpaquePointer?, CPointer?) -> COpaquePointer?, args: CArrayPointer, ret: COpaquePointer) { - val res = function(args[0].value!!.reinterpret().pointed.value, args[1].value!!.reinterpret>().pointed.value) + val res = function(args[0]!!.reinterpret().pointed.value, args[1]!!.reinterpret>().pointed.value) ret.reinterpret().pointed.value = res } } object CFunctionType11 : CAdaptedFunctionTypeImpl<(COpaquePointer?, COpaquePointer?) -> COpaquePointer?>(Pointer, Pointer, Pointer) { override fun invoke(function: (COpaquePointer?, COpaquePointer?) -> COpaquePointer?, args: CArrayPointer, ret: COpaquePointer) { - val res = function(args[0].value!!.reinterpret().pointed.value, args[1].value!!.reinterpret().pointed.value) + val res = function(args[0]!!.reinterpret().pointed.value, args[1]!!.reinterpret().pointed.value) ret.reinterpret().pointed.value = res } } object CFunctionType12 : CAdaptedFunctionTypeImpl<(COpaquePointer?, CPointer?) -> Unit>(Void, Pointer, Pointer) { override fun invoke(function: (COpaquePointer?, CPointer?) -> Unit, args: CArrayPointer, ret: COpaquePointer) { - val res = function(args[0].value!!.reinterpret().pointed.value, args[1].value!!.reinterpret>().pointed.value) + val res = function(args[0]!!.reinterpret().pointed.value, args[1]!!.reinterpret>().pointed.value) } } object CFunctionType13 : CAdaptedFunctionTypeImpl<(COpaquePointer?, CPointer?) -> Unit>(Void, Pointer, Pointer) { override fun invoke(function: (COpaquePointer?, CPointer?) -> Unit, args: CArrayPointer, ret: COpaquePointer) { - val res = function(args[0].value!!.reinterpret().pointed.value, args[1].value!!.reinterpret>().pointed.value) + val res = function(args[0]!!.reinterpret().pointed.value, args[1]!!.reinterpret>().pointed.value) } } 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 9f05b1931e2..4e1d6e5098b 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 @@ -287,9 +287,9 @@ internal class NativeIndexImpl(val library: NativeLibrary) : NativeIndex() { fun indexDeclaration(info: CXIdxDeclInfo): Unit { val cursor = info.cursor.readValue() - val entityInfo = info.entityInfo.pointed!! - val entityName = entityInfo.name.value?.toKString() - val kind = entityInfo.kind.value + val entityInfo = info.entityInfo!!.pointed + val entityName = entityInfo.name?.toKString() + val kind = entityInfo.kind if (!this.library.includesDeclaration(cursor)) { return @@ -361,18 +361,18 @@ private fun indexDeclarations(library: NativeLibrary, nativeIndex: NativeIndexIm try { with(callbacks) { - abortQuery.value = null - diagnostic.value = null - enteredMainFile.value = null - ppIncludedFile.value = null - importedASTFile.value = null - startedTranslationUnit.value = null - indexDeclaration.value = staticCFunction { clientData, info -> + abortQuery = null + diagnostic = null + enteredMainFile = null + ppIncludedFile = null + importedASTFile = null + startedTranslationUnit = null + indexDeclaration = staticCFunction { clientData, info -> @Suppress("NAME_SHADOWING") val nativeIndex = StableObjPtr.fromValue(clientData!!).get() as NativeIndexImpl nativeIndex.indexDeclaration(info!!.pointed) } - indexEntityReference.value = null + indexEntityReference = null } clang_indexTranslationUnit(indexAction, clientData, diff --git a/Interop/Indexer/src/main/kotlin/org/jetbrains/kotlin/native/interop/indexer/Utils.kt b/Interop/Indexer/src/main/kotlin/org/jetbrains/kotlin/native/interop/indexer/Utils.kt index cf4aeaa5d93..bac3628d2c2 100644 --- a/Interop/Indexer/src/main/kotlin/org/jetbrains/kotlin/native/interop/indexer/Utils.kt +++ b/Interop/Indexer/src/main/kotlin/org/jetbrains/kotlin/native/interop/indexer/Utils.kt @@ -20,9 +20,9 @@ import clang.* import kotlinx.cinterop.* import java.io.File -internal val CValue.kind: CXTypeKind get() = this.useContents { kind.value } +internal val CValue.kind: CXTypeKind get() = this.useContents { kind } -internal val CValue.kind: CXCursorKind get() = this.useContents { kind.value } +internal val CValue.kind: CXCursorKind get() = this.useContents { kind } internal fun CValue.convertAndDispose(): String { try { @@ -137,7 +137,7 @@ internal fun CValue.isLeaf(): Boolean { return !hasChildren } -internal fun List.toNativeStringArray(placement: NativePlacement): CArrayPointer> { +internal fun List.toNativeStringArray(placement: NativePlacement): CArrayPointer> { return placement.allocArray(this.size) { index -> this.value = this@toNativeStringArray[index].cstr.getPointer(placement) } diff --git a/Interop/Runtime/src/main/kotlin/kotlinx/cinterop/Generated.kt b/Interop/Runtime/src/main/kotlin/kotlinx/cinterop/Generated.kt new file mode 100644 index 00000000000..2c84c18dcf6 --- /dev/null +++ b/Interop/Runtime/src/main/kotlin/kotlinx/cinterop/Generated.kt @@ -0,0 +1,131 @@ +/* + * Copyright 2010-2017 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package kotlinx.cinterop + +@Suppress("FINAL_UPPER_BOUND") +operator fun CPointer>.get(index: Int): T = + interpretPointed>(this.rawValue + index * 1L).value + +@Suppress("FINAL_UPPER_BOUND") +operator fun CPointer>.set(index: Int, value: T) { + interpretPointed>(this.rawValue + index * 1L).value = value +} + +@Suppress("FINAL_UPPER_BOUND") +@JvmName("plus\$Byte") +operator fun CPointer?.plus(index: Int): CPointer? = + interpretCPointer(this.rawValue + index * 1L) + +@Suppress("FINAL_UPPER_BOUND") +operator fun CPointer>.get(index: Int): T = + interpretPointed>(this.rawValue + index * 2L).value + +@Suppress("FINAL_UPPER_BOUND") +operator fun CPointer>.set(index: Int, value: T) { + interpretPointed>(this.rawValue + index * 2L).value = value +} + +@Suppress("FINAL_UPPER_BOUND") +@JvmName("plus\$Short") +operator fun CPointer?.plus(index: Int): CPointer? = + interpretCPointer(this.rawValue + index * 2L) + +@Suppress("FINAL_UPPER_BOUND") +operator fun CPointer>.get(index: Int): T = + interpretPointed>(this.rawValue + index * 4L).value + +@Suppress("FINAL_UPPER_BOUND") +operator fun CPointer>.set(index: Int, value: T) { + interpretPointed>(this.rawValue + index * 4L).value = value +} + +@Suppress("FINAL_UPPER_BOUND") +@JvmName("plus\$Int") +operator fun CPointer?.plus(index: Int): CPointer? = + interpretCPointer(this.rawValue + index * 4L) + +@Suppress("FINAL_UPPER_BOUND") +operator fun CPointer>.get(index: Int): T = + interpretPointed>(this.rawValue + index * 8L).value + +@Suppress("FINAL_UPPER_BOUND") +operator fun CPointer>.set(index: Int, value: T) { + interpretPointed>(this.rawValue + index * 8L).value = value +} + +@Suppress("FINAL_UPPER_BOUND") +@JvmName("plus\$Long") +operator fun CPointer?.plus(index: Int): CPointer? = + interpretCPointer(this.rawValue + index * 8L) + +@Suppress("FINAL_UPPER_BOUND") +operator fun CPointer>.get(index: Int): T = + interpretPointed>(this.rawValue + index * 4L).value + +@Suppress("FINAL_UPPER_BOUND") +operator fun CPointer>.set(index: Int, value: T) { + interpretPointed>(this.rawValue + index * 4L).value = value +} + +@Suppress("FINAL_UPPER_BOUND") +@JvmName("plus\$Float") +operator fun CPointer?.plus(index: Int): CPointer? = + interpretCPointer(this.rawValue + index * 4L) + +@Suppress("FINAL_UPPER_BOUND") +operator fun CPointer>.get(index: Int): T = + interpretPointed>(this.rawValue + index * 8L).value + +@Suppress("FINAL_UPPER_BOUND") +operator fun CPointer>.set(index: Int, value: T) { + interpretPointed>(this.rawValue + index * 8L).value = value +} + +@Suppress("FINAL_UPPER_BOUND") +@JvmName("plus\$Double") +operator fun CPointer?.plus(index: Int): CPointer? = + interpretCPointer(this.rawValue + index * 8L) + +/* Generated by: + +#!/bin/bash + +function gen { +echo '@Suppress("FINAL_UPPER_BOUND")' +echo "operator fun CPointer<${1}VarOf>.get(index: Int): T =" +echo " interpretPointed<${1}VarOf>(this.rawValue + index * ${2}L).value" +echo +echo '@Suppress("FINAL_UPPER_BOUND")' +echo "operator fun CPointer<${1}VarOf>.set(index: Int, value: T) {" +echo " interpretPointed<${1}VarOf>(this.rawValue + index * ${2}L).value = value" +echo '}' +echo +echo '@Suppress("FINAL_UPPER_BOUND")' +echo "@JvmName(\"plus\\\$$1\")" +echo "operator fun CPointer?.plus(index: Int): CPointer? =" +echo " interpretCPointer(this.rawValue + index * ${2}L)" +echo +} + +gen Byte 1 +gen Short 2 +gen Int 4 +gen Long 8 +gen Float 4 +gen Double 8 + + */ \ No newline at end of file diff --git a/Interop/Runtime/src/main/kotlin/kotlinx/cinterop/Types.kt b/Interop/Runtime/src/main/kotlin/kotlinx/cinterop/Types.kt index 5e070f1f89f..77db638619c 100644 --- a/Interop/Runtime/src/main/kotlin/kotlinx/cinterop/Types.kt +++ b/Interop/Runtime/src/main/kotlin/kotlinx/cinterop/Types.kt @@ -174,7 +174,7 @@ typealias COpaquePointer = CPointer // FIXME /** * The variable containing a [COpaquePointer]. */ -typealias COpaquePointerVar = CPointerVarWithValueMappedTo +typealias COpaquePointerVar = CPointerVarOf /** * The C data variable located in memory. @@ -238,89 +238,89 @@ abstract class CEnumVar : CPrimitiveVar() // these classes are not supposed to be used directly, instead the typealiases are provided. @Suppress("FINAL_UPPER_BOUND") -class CInt8VarWithValueMappedTo(override val rawPtr: NativePtr) : CPrimitiveVar() { +class ByteVarOf(override val rawPtr: NativePtr) : CPrimitiveVar() { companion object : Type(1) } @Suppress("FINAL_UPPER_BOUND") -class CInt16VarWithValueMappedTo(override val rawPtr: NativePtr) : CPrimitiveVar() { +class ShortVarOf(override val rawPtr: NativePtr) : CPrimitiveVar() { companion object : Type(2) } @Suppress("FINAL_UPPER_BOUND") -class CInt32VarWithValueMappedTo(override val rawPtr: NativePtr) : CPrimitiveVar() { +class IntVarOf(override val rawPtr: NativePtr) : CPrimitiveVar() { companion object : Type(4) } @Suppress("FINAL_UPPER_BOUND") -class CInt64VarWithValueMappedTo(override val rawPtr: NativePtr) : CPrimitiveVar() { +class LongVarOf(override val rawPtr: NativePtr) : CPrimitiveVar() { companion object : Type(8) } @Suppress("FINAL_UPPER_BOUND") -class CFloat32VarWithValueMappedTo(override val rawPtr: NativePtr) : CPrimitiveVar() { +class FloatVarOf(override val rawPtr: NativePtr) : CPrimitiveVar() { companion object : Type(4) } @Suppress("FINAL_UPPER_BOUND") -class CFloat64VarWithValueMappedTo(override val rawPtr: NativePtr) : CPrimitiveVar() { +class DoubleVarOf(override val rawPtr: NativePtr) : CPrimitiveVar() { companion object : Type(8) } -typealias CInt8Var = CInt8VarWithValueMappedTo -typealias CInt16Var = CInt16VarWithValueMappedTo -typealias CInt32Var = CInt32VarWithValueMappedTo -typealias CInt64Var = CInt64VarWithValueMappedTo -typealias CFloat32Var = CFloat32VarWithValueMappedTo -typealias CFloat64Var = CFloat64VarWithValueMappedTo +typealias ByteVar = ByteVarOf +typealias ShortVar = ShortVarOf +typealias IntVar = IntVarOf +typealias LongVar = LongVarOf +typealias FloatVar = FloatVarOf +typealias DoubleVar = DoubleVarOf @Suppress("FINAL_UPPER_BOUND", "UNCHECKED_CAST") -var CInt8VarWithValueMappedTo.value: T +var ByteVarOf.value: T get() = nativeMemUtils.getByte(this) as T set(value) = nativeMemUtils.putByte(this, value) @Suppress("FINAL_UPPER_BOUND", "UNCHECKED_CAST") -var CInt16VarWithValueMappedTo.value: T +var ShortVarOf.value: T get() = nativeMemUtils.getShort(this) as T set(value) = nativeMemUtils.putShort(this, value) @Suppress("FINAL_UPPER_BOUND", "UNCHECKED_CAST") -var CInt32VarWithValueMappedTo.value: T +var IntVarOf.value: T get() = nativeMemUtils.getInt(this) as T set(value) = nativeMemUtils.putInt(this, value) @Suppress("FINAL_UPPER_BOUND", "UNCHECKED_CAST") -var CInt64VarWithValueMappedTo.value: T +var LongVarOf.value: T get() = nativeMemUtils.getLong(this) as T set(value) = nativeMemUtils.putLong(this, value) // TODO: ensure native floats have the appropriate binary representation @Suppress("FINAL_UPPER_BOUND", "UNCHECKED_CAST") -var CFloat32VarWithValueMappedTo.value: T +var FloatVarOf.value: T get() = nativeMemUtils.getFloat(this) as T set(value) = nativeMemUtils.putFloat(this, value) @Suppress("FINAL_UPPER_BOUND", "UNCHECKED_CAST") -var CFloat64VarWithValueMappedTo.value: T +var DoubleVarOf.value: T get() = nativeMemUtils.getDouble(this) as T set(value) = nativeMemUtils.putDouble(this, value) -class CPointerVarWithValueMappedTo>(override val rawPtr: NativePtr) : CVariable { +class CPointerVarOf>(override val rawPtr: NativePtr) : CVariable { companion object : CVariable.Type(pointerSize.toLong(), pointerSize) } /** * The C data variable containing the pointer to `T`. */ -typealias CPointerVar = CPointerVarWithValueMappedTo> +typealias CPointerVar = CPointerVarOf> /** * The value of this variable. */ @Suppress("UNCHECKED_CAST") -inline var

> CPointerVarWithValueMappedTo

.value: P? +inline var

> CPointerVarOf

.value: P? get() = interpretCPointer(nativeMemUtils.getNativePtr(this)) as P? set(value) = nativeMemUtils.putNativePtr(this, value.rawValue) @@ -329,7 +329,7 @@ inline var

> CPointerVarWithValueMappedTo

.value: P? * * @param T must not be abstract */ -inline var > CPointerVarWithValueMappedTo

.pointed: T? +inline var > CPointerVarOf

.pointed: T? get() = this.value?.pointed set(value) { this.value = value?.ptr as P? @@ -346,6 +346,20 @@ inline operator fun CPointer.get(index: Long): T { inline operator fun CPointer.get(index: Int): T = this.get(index.toLong()) +@Suppress("FINAL_UPPER_BOUND") +operator fun > CPointer>.get(index: Int): T? = + interpretPointed>(this.rawValue + index * pointerSize.toLong()).value + +@Suppress("FINAL_UPPER_BOUND") +operator fun > CPointer>.set(index: Int, value: T?) { + interpretPointed>(this.rawValue + index * pointerSize.toLong()).value = value +} + +@Suppress("FINAL_UPPER_BOUND") +@JvmName("plus\$CPointer") +operator fun > CPointer?.plus(index: Int): CPointer? = + interpretCPointer(this.rawValue + index * pointerSize.toLong()) + typealias CArrayPointer = CPointer typealias CArrayPointerVar = CPointerVar @@ -397,4 +411,4 @@ typealias CFunctionPointer = CPointer> * The variable containing a [CFunctionPointer]. * TODO: remove. */ -typealias CFunctionPointerVar = CPointerVarWithValueMappedTo> \ No newline at end of file +typealias CFunctionPointerVar = CPointerVarOf> \ No newline at end of file diff --git a/Interop/Runtime/src/main/kotlin/kotlinx/cinterop/Utils.kt b/Interop/Runtime/src/main/kotlin/kotlinx/cinterop/Utils.kt index a9253fae655..b2689d0da33 100644 --- a/Interop/Runtime/src/main/kotlin/kotlinx/cinterop/Utils.kt +++ b/Interop/Runtime/src/main/kotlin/kotlinx/cinterop/Utils.kt @@ -117,7 +117,7 @@ inline fun NativePlacement.allocArray(length: Int, fun NativePlacement.allocArrayOfPointersTo(elements: List): CArrayPointer> { val res = allocArray>(elements.size) elements.forEachIndexed { index, value -> - res[index].value = value?.ptr + res[index] = value?.ptr } return res } @@ -132,7 +132,7 @@ fun NativePlacement.allocArrayOfPointersTo(vararg elements: T?) = * Allocates C array of given values. */ inline fun > - NativePlacement.allocArrayOf(vararg elements: T?): CArrayPointer> { + NativePlacement.allocArrayOf(vararg elements: T?): CArrayPointer> { return allocArrayOf(listOf(*elements)) } @@ -141,27 +141,27 @@ inline fun > * Allocates C array of given values. */ inline fun > - NativePlacement.allocArrayOf(elements: List): CArrayPointer> { + NativePlacement.allocArrayOf(elements: List): CArrayPointer> { - val res = allocArray>(elements.size) + val res = allocArray>(elements.size) elements.forEachIndexed { index, value -> - res[index].value = value + res[index] = value } return res } -fun NativePlacement.allocArrayOf(elements: ByteArray): CArrayPointer { - val result = allocArray(elements.size) +fun NativePlacement.allocArrayOf(elements: ByteArray): CArrayPointer { + val result = allocArray(elements.size) nativeMemUtils.putByteArray(elements, result.pointed, elements.size) return result } -fun NativePlacement.allocArrayOf(vararg elements: Float): CArrayPointer { - val res = allocArray(elements.size) +fun NativePlacement.allocArrayOf(vararg elements: Float): CArrayPointer { + val res = allocArray(elements.size) var index = 0 for (element in elements) { - res[index++].value = element + res[index++] = element } return res } @@ -218,7 +218,7 @@ fun CValues.getBytes(): ByteArray = memScoped { val result = ByteArray(size) nativeMemUtils.getByteArray( - source = this@getBytes.placeTo(memScope).reinterpret().pointed, + source = this@getBytes.placeTo(memScope).reinterpret().pointed, dest = result, length = result.size ) @@ -246,28 +246,28 @@ inline fun createValues(count: Int, initializer: T.(inde array[0].readValues(count) } -fun cValuesOf(vararg elements: Byte): CValues = object : CValues() { +fun cValuesOf(vararg elements: Byte): CValues = object : CValues() { override fun getPointer(placement: NativePlacement) = placement.allocArrayOf(elements) override val size get() = 1 * elements.size } // TODO: optimize other [cValuesOf] methods: -fun cValuesOf(vararg elements: Short): CValues = +fun cValuesOf(vararg elements: Short): CValues = createValues(elements.size) { index -> this.value = elements[index] } -fun cValuesOf(vararg elements: Int): CValues = +fun cValuesOf(vararg elements: Int): CValues = createValues(elements.size) { index -> this.value = elements[index] } -fun cValuesOf(vararg elements: Long): CValues = +fun cValuesOf(vararg elements: Long): CValues = createValues(elements.size) { index -> this.value = elements[index] } -fun cValuesOf(vararg elements: Float): CValues = object : CValues() { +fun cValuesOf(vararg elements: Float): CValues = object : CValues() { override fun getPointer(placement: NativePlacement) = placement.allocArrayOf(*elements) override val size get() = 4 * elements.size } -fun cValuesOf(vararg elements: Double): CValues = +fun cValuesOf(vararg elements: Double): CValues = createValues(elements.size) { index -> this.value = elements[index] } fun cValuesOf(vararg elements: CPointer?): CValues> = @@ -288,17 +288,17 @@ fun List?>.toCValues() = this.toTypedArray().toCValue * * @return the value of zero-terminated UTF-8-encoded C string constructed from given [kotlin.String]. */ -val String.cstr: CValues +val String.cstr: CValues get() { val bytes = encodeToUtf8(this) - return object : CValues() { + return object : CValues() { override val size get() = bytes.size + 1 - override fun getPointer(placement: NativePlacement): CPointer { - val result = placement.allocArray(bytes.size + 1) + override fun getPointer(placement: NativePlacement): CPointer { + val result = placement.allocArray(bytes.size + 1) nativeMemUtils.putByteArray(bytes, result.pointed, bytes.size) - result[bytes.size].value = 0.toByte() + result[bytes.size] = 0.toByte() return result } } @@ -309,11 +309,11 @@ val String.cstr: CValues * * @return the [kotlin.String] decoded from given zero-terminated UTF-8-encoded C string. */ -fun CPointer.toKString(): String { +fun CPointer.toKString(): String { val nativeBytes = this var length = 0 - while (nativeBytes[length].value != 0.toByte()) { + while (nativeBytes[length] != 0.toByte()) { ++length } diff --git a/Interop/Runtime/src/native/kotlin/kotlinx/cinterop/NativeMem.kt b/Interop/Runtime/src/native/kotlin/kotlinx/cinterop/NativeMem.kt index 1bd799b9d90..ba9572e4d4f 100644 --- a/Interop/Runtime/src/native/kotlin/kotlinx/cinterop/NativeMem.kt +++ b/Interop/Runtime/src/native/kotlin/kotlinx/cinterop/NativeMem.kt @@ -32,25 +32,25 @@ object nativeMemUtils { // TODO: optimize fun getByteArray(source: NativePointed, dest: ByteArray, length: Int) { - val sourceArray = source.reinterpret().ptr + val sourceArray = source.reinterpret().ptr for (index in 0 .. length - 1) { - dest[index] = sourceArray[index].value + dest[index] = sourceArray[index] } } // TODO: optimize fun putByteArray(source: ByteArray, dest: NativePointed, length: Int) { - val destArray = dest.reinterpret().ptr + val destArray = dest.reinterpret().ptr for (index in 0 .. length - 1) { - destArray[index].value = source[index] + destArray[index] = source[index] } } // TODO: optimize fun zeroMemory(dest: NativePointed, length: Int): Unit { - val destArray = dest.reinterpret().ptr + val destArray = dest.reinterpret().ptr for (index in 0 .. length - 1) { - destArray[index].value = 0 + destArray[index] = 0 } } diff --git a/Interop/Runtime/src/native/kotlin/kotlinx/cinterop/NativeUtils.kt b/Interop/Runtime/src/native/kotlin/kotlinx/cinterop/NativeUtils.kt index 007e4a70f05..570f95b9b13 100644 --- a/Interop/Runtime/src/native/kotlin/kotlinx/cinterop/NativeUtils.kt +++ b/Interop/Runtime/src/native/kotlin/kotlinx/cinterop/NativeUtils.kt @@ -28,3 +28,7 @@ external fun Number.signExtend(): R @Intrinsic external fun Number.narrow(): R + +@Target(AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.FILE) +@Retention(AnnotationRetention.SOURCE) +internal annotation class JvmName(val name: String) \ No newline at end of file diff --git a/Interop/Runtime/src/native/kotlin/kotlinx/cinterop/Varargs.kt b/Interop/Runtime/src/native/kotlin/kotlinx/cinterop/Varargs.kt index 4d5c86a2d4f..c1c3fa9a1cb 100644 --- a/Interop/Runtime/src/native/kotlin/kotlinx/cinterop/Varargs.kt +++ b/Interop/Runtime/src/native/kotlin/kotlinx/cinterop/Varargs.kt @@ -15,52 +15,52 @@ const val FFI_TYPE_KIND_DOUBLE: FfiTypeKind = 6 const val FFI_TYPE_KIND_POINTER: FfiTypeKind = 7 private tailrec fun convertArgument( - argument: Any?, isVariadic: Boolean, location: NativePointed, + argument: Any?, isVariadic: Boolean, location: COpaquePointer, additionalPlacement: NativePlacement ): FfiTypeKind = when (argument) { is CValuesRef<*>? -> { - location.reinterpret>().value = argument?.getPointer(additionalPlacement) + location.reinterpret>()[0] = argument?.getPointer(additionalPlacement) FFI_TYPE_KIND_POINTER } is String -> { - location.reinterpret>().value = argument.cstr.getPointer(additionalPlacement) + location.reinterpret>()[0] = argument.cstr.getPointer(additionalPlacement) FFI_TYPE_KIND_POINTER } is Int -> { - location.reinterpret().value = argument + location.reinterpret()[0] = argument FFI_TYPE_KIND_SINT32 } is Long -> { - location.reinterpret().value = argument + location.reinterpret()[0] = argument FFI_TYPE_KIND_SINT64 } is Byte -> if (isVariadic) { convertArgument(argument.toInt(), isVariadic, location, additionalPlacement) } else { - location.reinterpret().value = argument + location.reinterpret()[0] = argument FFI_TYPE_KIND_SINT8 } is Short -> if (isVariadic) { convertArgument(argument.toInt(), isVariadic, location, additionalPlacement) } else { - location.reinterpret().value = argument + location.reinterpret()[0] = argument FFI_TYPE_KIND_SINT16 } is Double -> { - location.reinterpret().value = argument + location.reinterpret()[0] = argument FFI_TYPE_KIND_DOUBLE } is Float -> if (isVariadic) { convertArgument(argument.toDouble(), isVariadic, location, additionalPlacement) } else { - location.reinterpret().value = argument + location.reinterpret()[0] = argument FFI_TYPE_KIND_FLOAT } @@ -76,19 +76,19 @@ fun callWithVarargs(codePtr: NativePtr, returnValuePtr: NativePtr, returnTypeKin val totalArgumentsNumber = fixedArguments.size + variadicArguments.size // All supported arguments take at most 8 bytes each: - val argumentsStorage = argumentsPlacement.allocArray(totalArgumentsNumber) + val argumentsStorage = argumentsPlacement.allocArray(totalArgumentsNumber) val arguments = argumentsPlacement.allocArray>(totalArgumentsNumber) val types = argumentsPlacement.allocArray>(totalArgumentsNumber) var index = 0 inline fun addArgument(argument: Any?, isVariadic: Boolean) { - val storage = argumentsStorage[index] + val storage = (argumentsStorage + index)!! val typeKind = convertArgument(argument, isVariadic = isVariadic, location = storage, additionalPlacement = argumentsPlacement) - types[index].value = interpretCPointer(nativeNullPtr + typeKind.toLong()) - arguments[index].value = storage.ptr + types[index] = interpretCPointer(nativeNullPtr + typeKind.toLong()) + arguments[index] = storage ++index } diff --git a/Interop/StubGenerator/src/main/kotlin/org/jetbrains/kotlin/native/interop/gen/jvm/StubGenerator.kt b/Interop/StubGenerator/src/main/kotlin/org/jetbrains/kotlin/native/interop/gen/jvm/StubGenerator.kt index 71c24aebd8a..f7abb580c2b 100644 --- a/Interop/StubGenerator/src/main/kotlin/org/jetbrains/kotlin/native/interop/gen/jvm/StubGenerator.kt +++ b/Interop/StubGenerator/src/main/kotlin/org/jetbrains/kotlin/native/interop/gen/jvm/StubGenerator.kt @@ -312,7 +312,7 @@ class StubGenerator( override fun argToJni(name: String) = name override fun argFromJni(name: String) = name - override fun constructPointedType(valueType: String) = "${varTypeName}WithValueMappedTo<$valueType>" + override fun constructPointedType(valueType: String) = "${varTypeName}Of<$valueType>" } class Enum(val className: String, val baseType: String) : TypeInfo() { @@ -335,7 +335,7 @@ class StubGenerator( override val jniType: String get() = "NativePtr" - override fun constructPointedType(valueType: String) = "CPointerVarWithValueMappedTo<$valueType>" + override fun constructPointedType(valueType: String) = "CPointerVarOf<$valueType>" } class ByRef(val pointed: String) : TypeInfo() { @@ -355,17 +355,17 @@ class StubGenerator( private fun mirror(type: PrimitiveType): TypeMirror.ByValue { val varTypeName = when (type) { - is CharType -> "CInt8Var" + is CharType -> "ByteVar" is IntegerType -> when (type.size) { - 1 -> "CInt8Var" - 2 -> "CInt16Var" - 4 -> "CInt32Var" - 8 -> "CInt64Var" + 1 -> "ByteVar" + 2 -> "ShortVar" + 4 -> "IntVar" + 8 -> "LongVar" else -> TODO(type.toString()) } is FloatingType -> when (type.size) { - 4 -> "CFloat32Var" - 8 -> "CFloat64Var" + 4 -> "FloatVar" + 8 -> "DoubleVar" else -> TODO(type.toString()) } else -> TODO(type.toString()) @@ -614,16 +614,20 @@ class StubGenerator( val offset = field.offset / 8 val fieldRefType = mirror(field.type) if (field.type.unwrapTypedefs() is ArrayType) { - // FIXME: - val nullableType = fieldRefType.argType - assert (nullableType.endsWith('?')) - val type = nullableType.substring(0, nullableType.length - 1) + val type = (fieldRefType as TypeMirror.ByValue).valueTypeName out("val ${field.name.asSimpleName()}: $type") out(" get() = arrayMemberAt($offset)") } else { - out("val ${field.name.asSimpleName()}: ${fieldRefType.pointedTypeName}") - out(" get() = memberAt($offset)") + if (fieldRefType is TypeMirror.ByValue) { + val pointedTypeName = fieldRefType.pointedTypeName + out("var ${field.name.asSimpleName()}: ${fieldRefType.argType}") + out(" get() = memberAt<$pointedTypeName>($offset).value") + out(" set(value) { memberAt<$pointedTypeName>($offset).value = value }") + } else { + out("val ${field.name.asSimpleName()}: ${fieldRefType.pointedTypeName}") + out(" get() = memberAt($offset)") + } } out("") } catch (e: Throwable) { @@ -1046,7 +1050,7 @@ class StubGenerator( block("override fun invoke(function: $kotlinFunctionType, args: CArrayPointer, ret: COpaquePointer)") { val args = type.parameterTypes.mapIndexed { i, paramType -> val pointedTypeName = mirror(paramType).pointedTypeName - val ref = "args[$i].value!!.reinterpret<$pointedTypeName>().pointed" + val ref = "args[$i]!!.reinterpret<$pointedTypeName>().pointed" when (paramType.unwrapTypedefs()) { is RecordType -> ref else -> "$ref.value" diff --git a/InteropExample/src/main/kotlin/main.kt b/InteropExample/src/main/kotlin/main.kt index 98cc44c75a4..0d1262f6cce 100644 --- a/InteropExample/src/main/kotlin/main.kt +++ b/InteropExample/src/main/kotlin/main.kt @@ -21,7 +21,7 @@ fun main(args: Array) = memScoped { println("module=" + module.rawValue) val paramTypes = allocArrayOf(LLVMInt32Type(), LLVMInt32Type()) - val retType = LLVMFunctionType(LLVMInt32Type(), paramTypes[0].ptr, 2, 0) + val retType = LLVMFunctionType(LLVMInt32Type(), paramTypes, 2, 0) val sum = LLVMAddFunction(module, "sum", retType) val entry = LLVMAppendBasicBlock(sum, "entry") @@ -30,7 +30,7 @@ fun main(args: Array) = memScoped { val tmp = LLVMBuildAdd(builder, LLVMGetParam(sum, 0), LLVMGetParam(sum, 1), "tmp") LLVMBuildRet(builder, tmp) val engineRef = alloc() - val errorRef = allocPointerTo() + val errorRef = allocPointerTo() LLVMInitializeNativeTarget() errorRef.value = null if (LLVMCreateExecutionEngineForModule(engineRef.ptr, module, errorRef.ptr) != 0) { @@ -50,7 +50,7 @@ fun main(args: Array) = memScoped { LLVMCreateGenericValueOfInt(LLVMInt32Type(), x, 0), LLVMCreateGenericValueOfInt(LLVMInt32Type(), y, 0)) - val runRes = LLVMRunFunction(engineRef.value, sum, 2, args[0].ptr) + val runRes = LLVMRunFunction(engineRef.value, sum, 2, args) println(LLVMGenericValueToInt(runRes, 0)) if (LLVMWriteBitcodeToFile(module, "/tmp/sum.bc") != 0) { println("error writing bitcode to file, skipping") diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/InteropUtils.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/InteropUtils.kt index 2ce36db88df..d5b748b2edd 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/InteropUtils.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/InteropUtils.kt @@ -80,11 +80,11 @@ internal class InteropBuiltIns(builtIns: KonanBuiltIns) { val interpretCPointer = packageScope.getContributedFunctions("interpretCPointer").single() val arrayGetByIntIndex = packageScope.getContributedFunctions("get").single { - KotlinBuiltIns.isInt(it.valueParameters.single().type) + KotlinBuiltIns.isInt(it.valueParameters.single().type) && it.isInline } val arrayGetByLongIndex = packageScope.getContributedFunctions("get").single { - KotlinBuiltIns.isLong(it.valueParameters.single().type) + KotlinBuiltIns.isLong(it.valueParameters.single().type) && it.isInline } val allocUninitializedArrayWithIntLength = packageScope.getContributedFunctions("allocArray").single { diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/HashUtils.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/HashUtils.kt index fad03b4cbd0..5f99121e0f6 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/HashUtils.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/HashUtils.kt @@ -40,7 +40,7 @@ internal fun globalHash(data: ByteArray, retValPlacement: NativePlacement): Glob public fun base64Encode(data: ByteArray): String { memScoped { val resultSize = 4 * data.size / 3 + 3 + 1 - val result = allocArray(resultSize) + val result = allocArray(resultSize) val bytes = allocArrayOf(data) EncodeBase64(bytes, data.size, result, resultSize) // TODO: any better way to do that without two copies? @@ -51,14 +51,14 @@ public fun base64Encode(data: ByteArray): String { public fun base64Decode(encoded: String): ByteArray { memScoped { val bufferSize: Int = 3 * encoded.length / 4 - val result = allocArray(bufferSize) + val result = allocArray(bufferSize) val resultSize = allocArray(1) - resultSize[0].value = bufferSize + resultSize[0] = bufferSize val errorCode = DecodeBase64(encoded, encoded.length, result, resultSize) if (errorCode != 0) throw Error("Non-zero exit code of DecodeBase64: ${errorCode}") - val realSize = resultSize[0].value!! + val realSize = resultSize[0] val bytes = ByteArray(realSize) - nativeMemUtils.getByteArray(result[0], bytes, realSize) + nativeMemUtils.getByteArray(result.pointed, bytes, realSize) return bytes } } diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/IrToBitcode.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/IrToBitcode.kt index a75b8a1b18c..c565dc0850a 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/IrToBitcode.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/IrToBitcode.kt @@ -92,7 +92,7 @@ internal fun emitLLVM(context: Context) { internal fun verifyModule(llvmModule: LLVMModuleRef, current: String = "") { memScoped { - val errorRef = allocPointerTo() + val errorRef = allocPointerTo() // TODO: use LLVMDisposeMessage() on errorRef, once possible in interop. if (LLVMVerifyModule( llvmModule, LLVMVerifierFailureAction.LLVMPrintMessageAction, errorRef.ptr) == 1) { diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/LlvmUtils.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/LlvmUtils.kt index c6ee0a5d2a9..7a757f7fa1c 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/LlvmUtils.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/LlvmUtils.kt @@ -171,7 +171,7 @@ internal fun RuntimeAware.isObjectType(type: LLVMTypeRef): Boolean { /** * Reads [size] bytes contained in this array. */ -internal fun CArrayPointer.getBytes(size: Long) = +internal fun CArrayPointer.getBytes(size: Long) = (0 .. size-1).map { this[it].value }.toByteArray() internal fun getFunctionType(ptrToFunction: LLVMValueRef): LLVMTypeRef { @@ -220,7 +220,7 @@ fun getStructElements(type: LLVMTypeRef): List { fun parseBitcodeFile(path: String): LLVMModuleRef = memScoped { val bufRef = alloc() - val errorRef = allocPointerTo() + val errorRef = allocPointerTo() val res = LLVMCreateMemoryBufferWithContentsOfFile(path, bufRef.ptr, errorRef.ptr) if (res != 0) { diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/MetadataGenerator.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/MetadataGenerator.kt index e9ec631afdb..6794458c44a 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/MetadataGenerator.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/MetadataGenerator.kt @@ -83,7 +83,7 @@ class MetadataReader(file: File) : Closeable { init { memScoped { val bufRef = alloc() - val errorRef = allocPointerTo() + val errorRef = allocPointerTo() val res = LLVMCreateMemoryBufferWithContentsOfFile(file.toString(), bufRef.ptr, errorRef.ptr) if (res != 0) { throw Error(errorRef.value?.toKString()) @@ -103,7 +103,7 @@ class MetadataReader(file: File) : Closeable { fun string(node: LLVMValueRef): String { memScoped { - val len = alloc() + val len = alloc() val str1 = LLVMGetMDString(node, len.ptr)!! val str = str1.toKString() return str @@ -121,7 +121,7 @@ class MetadataReader(file: File) : Closeable { //return Pair(nodeCount, nodeArray[0].value!!) for (index in 0..nodeCount-1) { - result.add(nodeArray[index].value!!) + result.add(nodeArray[index]!!) } } return result.toTypedArray() @@ -134,7 +134,7 @@ class MetadataReader(file: File) : Closeable { LLVMGetNamedMetadataOperands(llvmModule, name, nodeArray) - return Pair(nodeCount, nodeArray[0].value!!) + return Pair(nodeCount, nodeArray[0]!!) } } @@ -145,7 +145,7 @@ class MetadataReader(file: File) : Closeable { LLVMGetMDNodeOperands(metadataNode, operandArray) - return Array(operandCount, {index -> operandArray[index].value!!}) + return Array(operandCount, {index -> operandArray[index]!!}) } } diff --git a/backend.native/tests/interop/basics/0.kt b/backend.native/tests/interop/basics/0.kt index 862a4f30b33..2654255db69 100644 --- a/backend.native/tests/interop/basics/0.kt +++ b/backend.native/tests/interop/basics/0.kt @@ -5,5 +5,5 @@ fun main(args: Array) { val statBuf = nativeHeap.alloc() val res = stat("/", statBuf.ptr) println(res) - println(statBuf.st_uid.value) + println(statBuf.st_uid) } \ No newline at end of file diff --git a/backend.native/tests/interop/basics/3.kt b/backend.native/tests/interop/basics/3.kt index 078c16c95b9..f08d45bc285 100644 --- a/backend.native/tests/interop/basics/3.kt +++ b/backend.native/tests/interop/basics/3.kt @@ -4,17 +4,17 @@ fun main(args: Array) { memScoped { val count = 5 - val values = allocArray(count) - values[0].value = 14 - values[1].value = 12 - values[2].value = 9 - values[3].value = 13 - values[4].value = 8 + val values = allocArray(count) + values[0] = 14 + values[1] = 12 + values[2] = 9 + values[3] = 13 + values[4] = 8 - cstdlib.qsort(values, count.toLong(), CInt32Var.size, staticCFunction(::comparator)) + cstdlib.qsort(values, count.toLong(), IntVar.size, staticCFunction(::comparator)) for (i in 0 .. count - 1) { - print(values[i].value) + print(values[i]) print(" ") } println() @@ -22,8 +22,8 @@ fun main(args: Array) { } private fun comparator(a: COpaquePointer?, b: COpaquePointer?): Int { - val aValue = a!!.reinterpret().pointed.value - val bValue = b!!.reinterpret().pointed.value + val aValue = a!!.reinterpret()[0] + val bValue = b!!.reinterpret()[0] return (aValue - bValue) } diff --git a/backend.native/tests/interop/basics/4.kt b/backend.native/tests/interop/basics/4.kt index d243487cf1f..6418958790b 100644 --- a/backend.native/tests/interop/basics/4.kt +++ b/backend.native/tests/interop/basics/4.kt @@ -6,8 +6,8 @@ fun main(args: Array) { "a", "b".cstr, (-1).toByte(), 2.toShort(), 3, Long.MAX_VALUE, 0.1.toFloat(), 0.2) memScoped { - val aVar = alloc() - val bVar = alloc() + val aVar = alloc() + val bVar = alloc() val sscanfResult = sscanf("42", "%d%d", aVar.ptr, bVar.ptr) printf("%d %d\n", sscanfResult, aVar.value) } diff --git a/backend.native/tests/interop/basics/echo_server.kt b/backend.native/tests/interop/basics/echo_server.kt index 9a7ba69bad9..e7c7f1b4d56 100644 --- a/backend.native/tests/interop/basics/echo_server.kt +++ b/backend.native/tests/interop/basics/echo_server.kt @@ -12,7 +12,7 @@ fun main(args: Array) { memScoped { val bufferLength = 100L - val buffer = allocArray(bufferLength) + val buffer = allocArray(bufferLength) val serverAddr = alloc() val listenFd = socket(AF_INET, SOCK_STREAM, 0) @@ -20,9 +20,9 @@ fun main(args: Array) { with(serverAddr) { memset(this.ptr, 0, sockaddr_in.size) - sin_family.value = AF_INET.narrow() - sin_addr.s_addr.value = htons(0).toInt() - sin_port.value = htons(port) + sin_family = AF_INET.narrow() + sin_addr.s_addr = htons(0).toInt() + sin_port = htons(port) } bind(listenFd, serverAddr.ptr.reinterpret(), sockaddr_in.size.toInt()) diff --git a/backend.native/tests/interop/basics/opengl_teapot.kt b/backend.native/tests/interop/basics/opengl_teapot.kt index 56abd7b2e7a..316db51e190 100644 --- a/backend.native/tests/interop/basics/opengl_teapot.kt +++ b/backend.native/tests/interop/basics/opengl_teapot.kt @@ -83,7 +83,7 @@ fun initialize() { fun main(args: Array) { // initialize and run program memScoped { - val argc = alloc().apply { value = 0 } + val argc = alloc().apply { value = 0 } glutInit(argc.ptr, null) // TODO: pass real args } diff --git a/samples/csvparser/CsvParser.kt b/samples/csvparser/CsvParser.kt index ed6d41dd9bb..d3b88bd8e2c 100644 --- a/samples/csvparser/CsvParser.kt +++ b/samples/csvparser/CsvParser.kt @@ -58,7 +58,7 @@ fun main(args: Array) { try { memScoped { val bufferLength = 64 * 1024 - val buffer = allocArray(bufferLength) + val buffer = allocArray(bufferLength) for (i in 1..count) { val nextLine = fgets(buffer, bufferLength, file)?.toKString() diff --git a/samples/gitchurn/src/org/konan/libgit/GitDiff.kt b/samples/gitchurn/src/org/konan/libgit/GitDiff.kt index 2bcbd0fd81b..f513f8e5a64 100644 --- a/samples/gitchurn/src/org/konan/libgit/GitDiff.kt +++ b/samples/gitchurn/src/org/konan/libgit/GitDiff.kt @@ -38,9 +38,9 @@ class GitDiff(val repository: GitRepository, val handle: CPointer) { class GifDiffDelta(val diff: GitDiff, val handle: CPointer) { - val status get() = handle.pointed.status.value - val newPath get() = handle.pointed.new_file.path.value!!.toKString() - val oldPath get() = handle.pointed.old_file.path.value!!.toKString() + val status get() = handle.pointed.status + val newPath get() = handle.pointed.new_file.path!!.toKString() + val oldPath get() = handle.pointed.old_file.path!!.toKString() fun status(): String { return when (status) { diff --git a/samples/gitchurn/src/org/konan/libgit/GitRepository.kt b/samples/gitchurn/src/org/konan/libgit/GitRepository.kt index d2f9c08f692..d17c08b1b84 100644 --- a/samples/gitchurn/src/org/konan/libgit/GitRepository.kt +++ b/samples/gitchurn/src/org/konan/libgit/GitRepository.kt @@ -35,11 +35,11 @@ class GitRepository(val location: String) { fun remotes(): List = memScoped { val remoteList = alloc() git_remote_list(remoteList.ptr, handle).errorCheck() - val size = remoteList.count.value.toInt() + val size = remoteList.count.toInt() val list = ArrayList(size) for (index in 0..size - 1) { - val array = remoteList.strings.value!! - val name = array[index].value!!.toKString() + val array = remoteList.strings!! + val name = array[index]!!.toKString() val remotePtr = allocPointerTo() git_remote_lookup(remotePtr.ptr, handle, name).errorCheck() list.add(GitRemote(this@GitRepository, remotePtr.value!!)) diff --git a/samples/gitchurn/src/org/konan/libgit/git.kt b/samples/gitchurn/src/org/konan/libgit/git.kt index 2a2aa6b0e1a..a969e90d835 100644 --- a/samples/gitchurn/src/org/konan/libgit/git.kt +++ b/samples/gitchurn/src/org/konan/libgit/git.kt @@ -40,5 +40,5 @@ fun Int.errorCheck() { class GitException : Exception(run { val err = giterr_last() - err!!.pointed.message.value!!.toKString() + err!!.pointed.message!!.toKString() }) \ No newline at end of file diff --git a/samples/libcurl/src/org/konan/libcurl/CUrl.kt b/samples/libcurl/src/org/konan/libcurl/CUrl.kt index b75d2e69e47..02b0f56e4f6 100755 --- a/samples/libcurl/src/org/konan/libcurl/CUrl.kt +++ b/samples/libcurl/src/org/konan/libcurl/CUrl.kt @@ -40,13 +40,13 @@ class CUrl(val url: String) { } } -fun CPointer.toKString(length: Int): String { +fun CPointer.toKString(length: Int): String { val bytes = ByteArray(length) nativeMemUtils.getByteArray(pointed, bytes, length) return kotlin.text.fromUtf8Array(bytes, 0, bytes.size) } -fun header_callback(buffer: CPointer?, size: size_t, nitems: size_t, userdata: COpaquePointer?): size_t { +fun header_callback(buffer: CPointer?, size: size_t, nitems: size_t, userdata: COpaquePointer?): size_t { if (buffer == null) return 0 val header = buffer.toKString((size * nitems).toInt()).trim() if (userdata != null) { diff --git a/samples/opengl/OpenGlTeapot.kt b/samples/opengl/OpenGlTeapot.kt index beaba3965b9..687b066a861 100644 --- a/samples/opengl/OpenGlTeapot.kt +++ b/samples/opengl/OpenGlTeapot.kt @@ -99,7 +99,7 @@ fun initialize() { fun main(args: Array) { // initialize and run program memScoped { - val argc = alloc().apply { value = 0 } + val argc = alloc().apply { value = 0 } glutInit(argc.ptr, null) // TODO: pass real args } diff --git a/samples/socket/EchoServer.kt b/samples/socket/EchoServer.kt index 39c75c1f233..812b9d14be7 100644 --- a/samples/socket/EchoServer.kt +++ b/samples/socket/EchoServer.kt @@ -28,7 +28,7 @@ fun main(args: Array) { memScoped { val bufferLength = 100L - val buffer = allocArray(bufferLength) + val buffer = allocArray(bufferLength) val serverAddr = alloc() val listenFd = socket(AF_INET, SOCK_STREAM, 0) @@ -36,9 +36,9 @@ fun main(args: Array) { with(serverAddr) { memset(this.ptr, 0, sockaddr_in.size) - sin_family.value = AF_INET.narrow() - sin_addr.s_addr.value = htons(0).toInt() - sin_port.value = htons(port) + sin_family = AF_INET.narrow() + sin_addr.s_addr = htons(0).toInt() + sin_port = htons(port) } bind(listenFd, serverAddr.ptr.reinterpret(), sockaddr_in.size.toInt()) diff --git a/samples/tetris/Tetris.kt b/samples/tetris/Tetris.kt index b643949aeb5..8941c3d5db4 100644 --- a/samples/tetris/Tetris.kt +++ b/samples/tetris/Tetris.kt @@ -544,34 +544,34 @@ class SDL_Visualizer(val width: Int, val height: Int): GameFieldVisualizer, User val x = (width - moveButtonsWidth - ROTATE_BUTTON_SIZE) / 2 - MOVE_BUTTON_SIZE val y2 = (gamePadHeight - 2 * MOVE_BUTTON_SIZE - BUTTONS_MARGIN) / 2 leftRect = arena.alloc() - leftRect.w.value = MOVE_BUTTON_SIZE - leftRect.h.value = MOVE_BUTTON_SIZE - leftRect.x.value = x - leftRect.y.value = height - gamePadHeight + y2 + MOVE_BUTTON_SIZE + BUTTONS_MARGIN + leftRect.w = MOVE_BUTTON_SIZE + leftRect.h = MOVE_BUTTON_SIZE + leftRect.x = x + leftRect.y = height - gamePadHeight + y2 + MOVE_BUTTON_SIZE + BUTTONS_MARGIN downRect = arena.alloc() - downRect.w.value = MOVE_BUTTON_SIZE - downRect.h.value = MOVE_BUTTON_SIZE - downRect.x.value = x + MOVE_BUTTON_SIZE + BUTTONS_MARGIN - downRect.y.value = leftRect.y.value + downRect.w = MOVE_BUTTON_SIZE + downRect.h = MOVE_BUTTON_SIZE + downRect.x = x + MOVE_BUTTON_SIZE + BUTTONS_MARGIN + downRect.y = leftRect.y dropRect = arena.alloc() - dropRect.w.value = MOVE_BUTTON_SIZE - dropRect.h.value = MOVE_BUTTON_SIZE - dropRect.x.value = downRect.x.value - dropRect.y.value = height - gamePadHeight + y2 + dropRect.w = MOVE_BUTTON_SIZE + dropRect.h = MOVE_BUTTON_SIZE + dropRect.x = downRect.x + dropRect.y = height - gamePadHeight + y2 rightRect = arena.alloc() - rightRect.w.value = MOVE_BUTTON_SIZE - rightRect.h.value = MOVE_BUTTON_SIZE - rightRect.x.value = x + 2 * MOVE_BUTTON_SIZE + 2 * BUTTONS_MARGIN - rightRect.y.value = height - gamePadHeight + y2 + MOVE_BUTTON_SIZE + BUTTONS_MARGIN + rightRect.w = MOVE_BUTTON_SIZE + rightRect.h = MOVE_BUTTON_SIZE + rightRect.x = x + 2 * MOVE_BUTTON_SIZE + 2 * BUTTONS_MARGIN + rightRect.y = height - gamePadHeight + y2 + MOVE_BUTTON_SIZE + BUTTONS_MARGIN rotateRect = arena.alloc() - rotateRect.w.value = ROTATE_BUTTON_SIZE - rotateRect.h.value = ROTATE_BUTTON_SIZE - rotateRect.x.value = x + moveButtonsWidth - rotateRect.y.value = height - gamePadHeight + y2 - BUTTONS_MARGIN + rotateRect.w = ROTATE_BUTTON_SIZE + rotateRect.h = ROTATE_BUTTON_SIZE + rotateRect.x = x + moveButtonsWidth + rotateRect.y = height - gamePadHeight + y2 - BUTTONS_MARGIN } fun getCommandAt(x: Int, y: Int): UserCommand? { @@ -586,8 +586,8 @@ class SDL_Visualizer(val width: Int, val height: Int): GameFieldVisualizer, User } private fun inside(rect: SDL_Rect, x: Int, y: Int): Boolean { - return x >= stretch(rect.x.value) && x <= stretch(rect.x.value + rect.w.value) - && y >= stretch(rect.y.value) && y <= stretch(rect.y.value + rect.h.value) + return x >= stretch(rect.x) && x <= stretch(rect.x + rect.w) + && y >= stretch(rect.y) && y <= stretch(rect.y + rect.h) } fun destroy() { @@ -629,8 +629,8 @@ class SDL_Visualizer(val width: Int, val height: Int): GameFieldVisualizer, User SDL_Quit() throw Error() } - displayWidth = displayMode.w.value - displayHeight = displayMode.h.value + displayWidth = displayMode.w + displayHeight = displayMode.h } fieldWidth = width * (CELL_SIZE + MARGIN) + MARGIN + BORDER_WIDTH * 2 fieldHeight = height * (CELL_SIZE + MARGIN) + MARGIN + BORDER_WIDTH * 2 @@ -889,10 +889,10 @@ class SDL_Visualizer(val width: Int, val height: Int): GameFieldVisualizer, User private fun fillRect(rect: SDL_Rect) { memScoped { val stretchedRect = alloc() - stretchedRect.w.value = stretch(rect.w.value) - stretchedRect.h.value = stretch(rect.h.value) - stretchedRect.x.value = stretch(rect.x.value) - stretchedRect.y.value = stretch(rect.y.value) + stretchedRect.w = stretch(rect.w) + stretchedRect.h = stretch(rect.h) + stretchedRect.x = stretch(rect.x) + stretchedRect.y = stretch(rect.y) SDL_RenderFillRect(renderer, stretchedRect.ptr.reinterpret()) } } @@ -901,14 +901,14 @@ class SDL_Visualizer(val width: Int, val height: Int): GameFieldVisualizer, User memScoped { val srcRect = alloc() val destRect = alloc() - srcRect.w.value = width - srcRect.h.value = height - srcRect.x.value = srcX - srcRect.y.value = srcY - destRect.w.value = stretch(width) - destRect.h.value = stretch(height) - destRect.x.value = stretch(destX) - destRect.y.value = stretch(destY) + srcRect.w = width + srcRect.h = height + srcRect.x = srcX + srcRect.y = srcY + destRect.w = stretch(width) + destRect.h = stretch(height) + destRect.x = stretch(destX) + destRect.y = stretch(destY) SDL_RenderCopy(renderer, texture, srcRect.ptr.reinterpret(), destRect.ptr.reinterpret()) } } @@ -918,12 +918,12 @@ class SDL_Visualizer(val width: Int, val height: Int): GameFieldVisualizer, User memScoped { val event = alloc() while (SDL_PollEvent(event.ptr.reinterpret()) != 0) { - val eventType = event.type.value + val eventType = event.type when (eventType) { SDL_QUIT -> commands.add(UserCommand.EXIT) SDL_KEYDOWN -> { val keyboardEvent = event.ptr.reinterpret().pointed - when (keyboardEvent.keysym.scancode.value) { + when (keyboardEvent.keysym.scancode) { SDL_SCANCODE_LEFT -> commands.add(UserCommand.LEFT) SDL_SCANCODE_RIGHT -> commands.add(UserCommand.RIGHT) SDL_SCANCODE_DOWN -> commands.add(UserCommand.DOWN) @@ -934,8 +934,8 @@ class SDL_Visualizer(val width: Int, val height: Int): GameFieldVisualizer, User } SDL_MOUSEBUTTONDOWN -> if (gamePadButtons != null) { val mouseEvent = event.ptr.reinterpret().pointed - val x = mouseEvent.x.value - val y = mouseEvent.y.value + val x = mouseEvent.x + val y = mouseEvent.y val command = gamePadButtons.getCommandAt(x, y) if (command != null) commands.add(command)