From 9e248a57b92806cb2497757104ff1a076ad96409 Mon Sep 17 00:00:00 2001 From: Svyatoslav Scherbina Date: Wed, 21 Sep 2016 17:08:48 +0300 Subject: [PATCH] Interop: improve Gradle scripts build Indexer native libs instead of distributing prebuilt ones --- experiments/Interop/Indexer/build.gradle | 36 +- .../nativeInteropStubs/c/clangbridge.c | 962 ++++++++++++++++++ .../{ => kotlin}/clang/Clang.kt | 0 .../prebuilt/nativelibs/build-callback.sh | 4 - .../prebuilt/nativelibs/libcallback.dylib | Bin 8864 -> 0 bytes .../prebuilt/nativelibs/libclangbridge.dylib | Bin 83656 -> 0 bytes experiments/Interop/README.md | 7 +- .../kotlin/NativeInteropPlugin.groovy | 4 +- 8 files changed, 1001 insertions(+), 12 deletions(-) create mode 100644 experiments/Interop/Indexer/prebuilt/nativeInteropStubs/c/clangbridge.c rename experiments/Interop/Indexer/prebuilt/nativeInteropStubs/{ => kotlin}/clang/Clang.kt (100%) delete mode 100755 experiments/Interop/Indexer/prebuilt/nativelibs/build-callback.sh delete mode 100755 experiments/Interop/Indexer/prebuilt/nativelibs/libcallback.dylib delete mode 100755 experiments/Interop/Indexer/prebuilt/nativelibs/libclangbridge.dylib diff --git a/experiments/Interop/Indexer/build.gradle b/experiments/Interop/Indexer/build.gradle index da04a20e512..7e84515c70f 100644 --- a/experiments/Interop/Indexer/build.gradle +++ b/experiments/Interop/Indexer/build.gradle @@ -12,25 +12,41 @@ buildscript { apply plugin: 'kotlin' -/* apply plugin: 'c' +def javaHome = System.getProperty('java.home') +def compilerArgsForJniIncludes = ["", "linux", "darwin"].collect { "-I$javaHome/../include/$it" } as String[] + model { components { callback(NativeLibrarySpec) { binaries.all { - cCompiler.args "-I/System/Library/Frameworks/JavaVM.framework/Headers" + cCompiler.args compilerArgsForJniIncludes } } - } + + clangbridge(NativeLibrarySpec) { + sources { + c.source.srcDir 'prebuilt/nativeInteropStubs/c' + } + + binaries.all { + cCompiler.args compilerArgsForJniIncludes + cCompiler.args "-I$llvmInstallPath/include" + } + + binaries.withType(SharedLibraryBinarySpec) { + linker.args "-L$llvmInstallPath/lib", "-lclang" + } + } + } } -*/ sourceSets { main { kotlin { - srcDirs 'prebuilt/nativeInteropStubs' + srcDirs 'prebuilt/nativeInteropStubs/kotlin' } } } @@ -43,3 +59,13 @@ dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" compile project(':Interop:Runtime') } + +task nativelibs(type: Copy) { + dependsOn 'callbackSharedLibrary', 'clangbridgeSharedLibrary' + + from "$buildDir/libs/callback/shared/" + from "$buildDir/libs/clangbridge/shared/" + into "$buildDir/nativelibs/" +} + +classes.dependsOn nativelibs diff --git a/experiments/Interop/Indexer/prebuilt/nativeInteropStubs/c/clangbridge.c b/experiments/Interop/Indexer/prebuilt/nativeInteropStubs/c/clangbridge.c new file mode 100644 index 00000000000..25074e076f2 --- /dev/null +++ b/experiments/Interop/Indexer/prebuilt/nativeInteropStubs/c/clangbridge.c @@ -0,0 +1,962 @@ +#include +#include +#include + +JNIEXPORT jlong JNICALL Java_clang_externals_asctime (JNIEnv *env, jobject obj, jlong arg0) { + return (jlong) (asctime((struct tm*)arg0)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clock (JNIEnv *env, jobject obj) { + return (jlong) (clock()); +} +JNIEXPORT jlong JNICALL Java_clang_externals_ctime (JNIEnv *env, jobject obj, jlong arg0) { + return (jlong) (ctime((intptr_t*)arg0)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_getdate (JNIEnv *env, jobject obj, jlong arg0) { + return (jlong) (getdate((char*)arg0)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_gmtime (JNIEnv *env, jobject obj, jlong arg0) { + return (jlong) (gmtime((intptr_t*)arg0)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_localtime (JNIEnv *env, jobject obj, jlong arg0) { + return (jlong) (localtime((intptr_t*)arg0)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_mktime (JNIEnv *env, jobject obj, jlong arg0) { + return (jlong) (mktime((struct tm*)arg0)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_strftime (JNIEnv *env, jobject obj, jlong arg0, jlong arg1, jlong arg2, jlong arg3) { + return (jlong) (strftime((char*)arg0, (uintptr_t)arg1, (char*)arg2, (struct tm*)arg3)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_strptime (JNIEnv *env, jobject obj, jlong arg0, jlong arg1, jlong arg2) { + return (jlong) (strptime((char*)arg0, (char*)arg1, (struct tm*)arg2)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_time (JNIEnv *env, jobject obj, jlong arg0) { + return (jlong) (time((intptr_t*)arg0)); +} +JNIEXPORT void JNICALL Java_clang_externals_tzset (JNIEnv *env, jobject obj) { + tzset(); +} +JNIEXPORT jlong JNICALL Java_clang_externals_asctime_1r (JNIEnv *env, jobject obj, jlong arg0, jlong arg1) { + return (jlong) (asctime_r((struct tm*)arg0, (char*)arg1)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_ctime_1r (JNIEnv *env, jobject obj, jlong arg0, jlong arg1) { + return (jlong) (ctime_r((intptr_t*)arg0, (char*)arg1)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_gmtime_1r (JNIEnv *env, jobject obj, jlong arg0, jlong arg1) { + return (jlong) (gmtime_r((intptr_t*)arg0, (struct tm*)arg1)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_localtime_1r (JNIEnv *env, jobject obj, jlong arg0, jlong arg1) { + return (jlong) (localtime_r((intptr_t*)arg0, (struct tm*)arg1)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_posix2time (JNIEnv *env, jobject obj, jlong arg0) { + return (jlong) (posix2time((intptr_t)arg0)); +} +JNIEXPORT void JNICALL Java_clang_externals_tzsetwall (JNIEnv *env, jobject obj) { + tzsetwall(); +} +JNIEXPORT jlong JNICALL Java_clang_externals_time2posix (JNIEnv *env, jobject obj, jlong arg0) { + return (jlong) (time2posix((intptr_t)arg0)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_timelocal (JNIEnv *env, jobject obj, jlong arg0) { + return (jlong) (timelocal((struct tm*)arg0)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_timegm (JNIEnv *env, jobject obj, jlong arg0) { + return (jlong) (timegm((struct tm*)arg0)); +} +JNIEXPORT jint JNICALL Java_clang_externals_nanosleep (JNIEnv *env, jobject obj, jlong arg0, jlong arg1) { + return (jint) (nanosleep((struct timespec*)arg0, (struct timespec*)arg1)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getCString (JNIEnv *env, jobject obj, jlong string) { + return (jlong) (clang_getCString(*(CXString*)string)); +} +JNIEXPORT void JNICALL Java_clang_externals_clang_1disposeString (JNIEnv *env, jobject obj, jlong string) { + clang_disposeString(*(CXString*)string); +} +JNIEXPORT void JNICALL Java_clang_externals_clang_1disposeStringSet (JNIEnv *env, jobject obj, jlong set) { + clang_disposeStringSet((CXStringSet*)set); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getBuildSessionTimestamp (JNIEnv *env, jobject obj) { + return (jlong) (clang_getBuildSessionTimestamp()); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1VirtualFileOverlay_1create (JNIEnv *env, jobject obj, jint options) { + return (jlong) (clang_VirtualFileOverlay_create((unsigned int)options)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1VirtualFileOverlay_1addFileMapping (JNIEnv *env, jobject obj, jlong arg0, jlong virtualPath, jlong realPath) { + return (jint) (clang_VirtualFileOverlay_addFileMapping((struct CXVirtualFileOverlayImpl*)arg0, (char*)virtualPath, (char*)realPath)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1VirtualFileOverlay_1setCaseSensitivity (JNIEnv *env, jobject obj, jlong arg0, jint caseSensitive) { + return (jint) (clang_VirtualFileOverlay_setCaseSensitivity((struct CXVirtualFileOverlayImpl*)arg0, (int)caseSensitive)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1VirtualFileOverlay_1writeToBuffer (JNIEnv *env, jobject obj, jlong arg0, jint options, jlong out_buffer_ptr, jlong out_buffer_size) { + return (jint) (clang_VirtualFileOverlay_writeToBuffer((struct CXVirtualFileOverlayImpl*)arg0, (unsigned int)options, (char**)out_buffer_ptr, (unsigned int*)out_buffer_size)); +} +JNIEXPORT void JNICALL Java_clang_externals_clang_1free (JNIEnv *env, jobject obj, jlong buffer) { + clang_free((void*)buffer); +} +JNIEXPORT void JNICALL Java_clang_externals_clang_1VirtualFileOverlay_1dispose (JNIEnv *env, jobject obj, jlong arg0) { + clang_VirtualFileOverlay_dispose((struct CXVirtualFileOverlayImpl*)arg0); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1ModuleMapDescriptor_1create (JNIEnv *env, jobject obj, jint options) { + return (jlong) (clang_ModuleMapDescriptor_create((unsigned int)options)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1ModuleMapDescriptor_1setFrameworkModuleName (JNIEnv *env, jobject obj, jlong arg0, jlong name) { + return (jint) (clang_ModuleMapDescriptor_setFrameworkModuleName((struct CXModuleMapDescriptorImpl*)arg0, (char*)name)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1ModuleMapDescriptor_1setUmbrellaHeader (JNIEnv *env, jobject obj, jlong arg0, jlong name) { + return (jint) (clang_ModuleMapDescriptor_setUmbrellaHeader((struct CXModuleMapDescriptorImpl*)arg0, (char*)name)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1ModuleMapDescriptor_1writeToBuffer (JNIEnv *env, jobject obj, jlong arg0, jint options, jlong out_buffer_ptr, jlong out_buffer_size) { + return (jint) (clang_ModuleMapDescriptor_writeToBuffer((struct CXModuleMapDescriptorImpl*)arg0, (unsigned int)options, (char**)out_buffer_ptr, (unsigned int*)out_buffer_size)); +} +JNIEXPORT void JNICALL Java_clang_externals_clang_1ModuleMapDescriptor_1dispose (JNIEnv *env, jobject obj, jlong arg0) { + clang_ModuleMapDescriptor_dispose((struct CXModuleMapDescriptorImpl*)arg0); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1createIndex (JNIEnv *env, jobject obj, jint excludeDeclarationsFromPCH, jint displayDiagnostics) { + return (jlong) (clang_createIndex((int)excludeDeclarationsFromPCH, (int)displayDiagnostics)); +} +JNIEXPORT void JNICALL Java_clang_externals_clang_1disposeIndex (JNIEnv *env, jobject obj, jlong index) { + clang_disposeIndex((void*)index); +} +JNIEXPORT void JNICALL Java_clang_externals_clang_1CXIndex_1setGlobalOptions (JNIEnv *env, jobject obj, jlong arg0, jint options) { + clang_CXIndex_setGlobalOptions((void*)arg0, (unsigned int)options); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1CXIndex_1getGlobalOptions (JNIEnv *env, jobject obj, jlong arg0) { + return (jint) (clang_CXIndex_getGlobalOptions((void*)arg0)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getFileName (JNIEnv *env, jobject obj, jlong SFile, jlong retValPlacement) { + *(CXString*)retValPlacement = clang_getFileName((void*)SFile); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getFileTime (JNIEnv *env, jobject obj, jlong SFile) { + return (jlong) (clang_getFileTime((void*)SFile)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1getFileUniqueID (JNIEnv *env, jobject obj, jlong file, jlong outID) { + return (jint) (clang_getFileUniqueID((void*)file, (CXFileUniqueID*)outID)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1isFileMultipleIncludeGuarded (JNIEnv *env, jobject obj, jlong tu, jlong file) { + return (jint) (clang_isFileMultipleIncludeGuarded((struct CXTranslationUnitImpl*)tu, (void*)file)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getFile (JNIEnv *env, jobject obj, jlong tu, jlong file_name) { + return (jlong) (clang_getFile((struct CXTranslationUnitImpl*)tu, (char*)file_name)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1File_1isEqual (JNIEnv *env, jobject obj, jlong file1, jlong file2) { + return (jint) (clang_File_isEqual((void*)file1, (void*)file2)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getNullLocation (JNIEnv *env, jobject obj, jlong retValPlacement) { + *(CXSourceLocation*)retValPlacement = clang_getNullLocation(); + return (jlong) retValPlacement; +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1equalLocations (JNIEnv *env, jobject obj, jlong loc1, jlong loc2) { + return (jint) (clang_equalLocations(*(CXSourceLocation*)loc1, *(CXSourceLocation*)loc2)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getLocation (JNIEnv *env, jobject obj, jlong tu, jlong file, jint line, jint column, jlong retValPlacement) { + *(CXSourceLocation*)retValPlacement = clang_getLocation((struct CXTranslationUnitImpl*)tu, (void*)file, (unsigned int)line, (unsigned int)column); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getLocationForOffset (JNIEnv *env, jobject obj, jlong tu, jlong file, jint offset, jlong retValPlacement) { + *(CXSourceLocation*)retValPlacement = clang_getLocationForOffset((struct CXTranslationUnitImpl*)tu, (void*)file, (unsigned int)offset); + return (jlong) retValPlacement; +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1Location_1isInSystemHeader (JNIEnv *env, jobject obj, jlong location) { + return (jint) (clang_Location_isInSystemHeader(*(CXSourceLocation*)location)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1Location_1isFromMainFile (JNIEnv *env, jobject obj, jlong location) { + return (jint) (clang_Location_isFromMainFile(*(CXSourceLocation*)location)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getNullRange (JNIEnv *env, jobject obj, jlong retValPlacement) { + *(CXSourceRange*)retValPlacement = clang_getNullRange(); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getRange (JNIEnv *env, jobject obj, jlong begin, jlong end, jlong retValPlacement) { + *(CXSourceRange*)retValPlacement = clang_getRange(*(CXSourceLocation*)begin, *(CXSourceLocation*)end); + return (jlong) retValPlacement; +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1equalRanges (JNIEnv *env, jobject obj, jlong range1, jlong range2) { + return (jint) (clang_equalRanges(*(CXSourceRange*)range1, *(CXSourceRange*)range2)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1Range_1isNull (JNIEnv *env, jobject obj, jlong range) { + return (jint) (clang_Range_isNull(*(CXSourceRange*)range)); +} +JNIEXPORT void JNICALL Java_clang_externals_clang_1getExpansionLocation (JNIEnv *env, jobject obj, jlong location, jlong file, jlong line, jlong column, jlong offset) { + clang_getExpansionLocation(*(CXSourceLocation*)location, (void**)file, (unsigned int*)line, (unsigned int*)column, (unsigned int*)offset); +} +JNIEXPORT void JNICALL Java_clang_externals_clang_1getPresumedLocation (JNIEnv *env, jobject obj, jlong location, jlong filename, jlong line, jlong column) { + clang_getPresumedLocation(*(CXSourceLocation*)location, (CXString*)filename, (unsigned int*)line, (unsigned int*)column); +} +JNIEXPORT void JNICALL Java_clang_externals_clang_1getInstantiationLocation (JNIEnv *env, jobject obj, jlong location, jlong file, jlong line, jlong column, jlong offset) { + clang_getInstantiationLocation(*(CXSourceLocation*)location, (void**)file, (unsigned int*)line, (unsigned int*)column, (unsigned int*)offset); +} +JNIEXPORT void JNICALL Java_clang_externals_clang_1getSpellingLocation (JNIEnv *env, jobject obj, jlong location, jlong file, jlong line, jlong column, jlong offset) { + clang_getSpellingLocation(*(CXSourceLocation*)location, (void**)file, (unsigned int*)line, (unsigned int*)column, (unsigned int*)offset); +} +JNIEXPORT void JNICALL Java_clang_externals_clang_1getFileLocation (JNIEnv *env, jobject obj, jlong location, jlong file, jlong line, jlong column, jlong offset) { + clang_getFileLocation(*(CXSourceLocation*)location, (void**)file, (unsigned int*)line, (unsigned int*)column, (unsigned int*)offset); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getRangeStart (JNIEnv *env, jobject obj, jlong range, jlong retValPlacement) { + *(CXSourceLocation*)retValPlacement = clang_getRangeStart(*(CXSourceRange*)range); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getRangeEnd (JNIEnv *env, jobject obj, jlong range, jlong retValPlacement) { + *(CXSourceLocation*)retValPlacement = clang_getRangeEnd(*(CXSourceRange*)range); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getSkippedRanges (JNIEnv *env, jobject obj, jlong tu, jlong file) { + return (jlong) (clang_getSkippedRanges((struct CXTranslationUnitImpl*)tu, (void*)file)); +} +JNIEXPORT void JNICALL Java_clang_externals_clang_1disposeSourceRangeList (JNIEnv *env, jobject obj, jlong ranges) { + clang_disposeSourceRangeList((CXSourceRangeList*)ranges); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1getNumDiagnosticsInSet (JNIEnv *env, jobject obj, jlong Diags) { + return (jint) (clang_getNumDiagnosticsInSet((void*)Diags)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getDiagnosticInSet (JNIEnv *env, jobject obj, jlong Diags, jint Index) { + return (jlong) (clang_getDiagnosticInSet((void*)Diags, (unsigned int)Index)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1loadDiagnostics (JNIEnv *env, jobject obj, jlong file, jlong error, jlong errorString) { + return (jlong) (clang_loadDiagnostics((char*)file, (enum CXLoadDiag_Error*)error, (CXString*)errorString)); +} +JNIEXPORT void JNICALL Java_clang_externals_clang_1disposeDiagnosticSet (JNIEnv *env, jobject obj, jlong Diags) { + clang_disposeDiagnosticSet((void*)Diags); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getChildDiagnostics (JNIEnv *env, jobject obj, jlong D) { + return (jlong) (clang_getChildDiagnostics((void*)D)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1getNumDiagnostics (JNIEnv *env, jobject obj, jlong Unit) { + return (jint) (clang_getNumDiagnostics((struct CXTranslationUnitImpl*)Unit)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getDiagnostic (JNIEnv *env, jobject obj, jlong Unit, jint Index) { + return (jlong) (clang_getDiagnostic((struct CXTranslationUnitImpl*)Unit, (unsigned int)Index)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getDiagnosticSetFromTU (JNIEnv *env, jobject obj, jlong Unit) { + return (jlong) (clang_getDiagnosticSetFromTU((struct CXTranslationUnitImpl*)Unit)); +} +JNIEXPORT void JNICALL Java_clang_externals_clang_1disposeDiagnostic (JNIEnv *env, jobject obj, jlong Diagnostic) { + clang_disposeDiagnostic((void*)Diagnostic); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1formatDiagnostic (JNIEnv *env, jobject obj, jlong Diagnostic, jint Options, jlong retValPlacement) { + *(CXString*)retValPlacement = clang_formatDiagnostic((void*)Diagnostic, (unsigned int)Options); + return (jlong) retValPlacement; +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1defaultDiagnosticDisplayOptions (JNIEnv *env, jobject obj) { + return (jint) (clang_defaultDiagnosticDisplayOptions()); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1getDiagnosticSeverity (JNIEnv *env, jobject obj, jlong arg0) { + return (jint) (clang_getDiagnosticSeverity((void*)arg0)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getDiagnosticLocation (JNIEnv *env, jobject obj, jlong arg0, jlong retValPlacement) { + *(CXSourceLocation*)retValPlacement = clang_getDiagnosticLocation((void*)arg0); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getDiagnosticSpelling (JNIEnv *env, jobject obj, jlong arg0, jlong retValPlacement) { + *(CXString*)retValPlacement = clang_getDiagnosticSpelling((void*)arg0); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getDiagnosticOption (JNIEnv *env, jobject obj, jlong Diag, jlong Disable, jlong retValPlacement) { + *(CXString*)retValPlacement = clang_getDiagnosticOption((void*)Diag, (CXString*)Disable); + return (jlong) retValPlacement; +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1getDiagnosticCategory (JNIEnv *env, jobject obj, jlong arg0) { + return (jint) (clang_getDiagnosticCategory((void*)arg0)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getDiagnosticCategoryName (JNIEnv *env, jobject obj, jint Category, jlong retValPlacement) { + *(CXString*)retValPlacement = clang_getDiagnosticCategoryName((unsigned int)Category); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getDiagnosticCategoryText (JNIEnv *env, jobject obj, jlong arg0, jlong retValPlacement) { + *(CXString*)retValPlacement = clang_getDiagnosticCategoryText((void*)arg0); + return (jlong) retValPlacement; +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1getDiagnosticNumRanges (JNIEnv *env, jobject obj, jlong arg0) { + return (jint) (clang_getDiagnosticNumRanges((void*)arg0)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getDiagnosticRange (JNIEnv *env, jobject obj, jlong Diagnostic, jint Range, jlong retValPlacement) { + *(CXSourceRange*)retValPlacement = clang_getDiagnosticRange((void*)Diagnostic, (unsigned int)Range); + return (jlong) retValPlacement; +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1getDiagnosticNumFixIts (JNIEnv *env, jobject obj, jlong Diagnostic) { + return (jint) (clang_getDiagnosticNumFixIts((void*)Diagnostic)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getDiagnosticFixIt (JNIEnv *env, jobject obj, jlong Diagnostic, jint FixIt, jlong ReplacementRange, jlong retValPlacement) { + *(CXString*)retValPlacement = clang_getDiagnosticFixIt((void*)Diagnostic, (unsigned int)FixIt, (CXSourceRange*)ReplacementRange); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getTranslationUnitSpelling (JNIEnv *env, jobject obj, jlong CTUnit, jlong retValPlacement) { + *(CXString*)retValPlacement = clang_getTranslationUnitSpelling((struct CXTranslationUnitImpl*)CTUnit); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1createTranslationUnitFromSourceFile (JNIEnv *env, jobject obj, jlong CIdx, jlong source_filename, jint num_clang_command_line_args, jlong clang_command_line_args, jint num_unsaved_files, jlong unsaved_files) { + return (jlong) (clang_createTranslationUnitFromSourceFile((void*)CIdx, (char*)source_filename, (int)num_clang_command_line_args, (char**)clang_command_line_args, (unsigned int)num_unsaved_files, (struct CXUnsavedFile*)unsaved_files)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1createTranslationUnit (JNIEnv *env, jobject obj, jlong CIdx, jlong ast_filename) { + return (jlong) (clang_createTranslationUnit((void*)CIdx, (char*)ast_filename)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1createTranslationUnit2 (JNIEnv *env, jobject obj, jlong CIdx, jlong ast_filename, jlong out_TU) { + return (jint) (clang_createTranslationUnit2((void*)CIdx, (char*)ast_filename, (struct CXTranslationUnitImpl**)out_TU)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1defaultEditingTranslationUnitOptions (JNIEnv *env, jobject obj) { + return (jint) (clang_defaultEditingTranslationUnitOptions()); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1parseTranslationUnit (JNIEnv *env, jobject obj, jlong CIdx, jlong source_filename, jlong command_line_args, jint num_command_line_args, jlong unsaved_files, jint num_unsaved_files, jint options) { + return (jlong) (clang_parseTranslationUnit((void*)CIdx, (char*)source_filename, (char**)command_line_args, (int)num_command_line_args, (struct CXUnsavedFile*)unsaved_files, (unsigned int)num_unsaved_files, (unsigned int)options)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1parseTranslationUnit2 (JNIEnv *env, jobject obj, jlong CIdx, jlong source_filename, jlong command_line_args, jint num_command_line_args, jlong unsaved_files, jint num_unsaved_files, jint options, jlong out_TU) { + return (jint) (clang_parseTranslationUnit2((void*)CIdx, (char*)source_filename, (char**)command_line_args, (int)num_command_line_args, (struct CXUnsavedFile*)unsaved_files, (unsigned int)num_unsaved_files, (unsigned int)options, (struct CXTranslationUnitImpl**)out_TU)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1parseTranslationUnit2FullArgv (JNIEnv *env, jobject obj, jlong CIdx, jlong source_filename, jlong command_line_args, jint num_command_line_args, jlong unsaved_files, jint num_unsaved_files, jint options, jlong out_TU) { + return (jint) (clang_parseTranslationUnit2FullArgv((void*)CIdx, (char*)source_filename, (char**)command_line_args, (int)num_command_line_args, (struct CXUnsavedFile*)unsaved_files, (unsigned int)num_unsaved_files, (unsigned int)options, (struct CXTranslationUnitImpl**)out_TU)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1defaultSaveOptions (JNIEnv *env, jobject obj, jlong TU) { + return (jint) (clang_defaultSaveOptions((struct CXTranslationUnitImpl*)TU)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1saveTranslationUnit (JNIEnv *env, jobject obj, jlong TU, jlong FileName, jint options) { + return (jint) (clang_saveTranslationUnit((struct CXTranslationUnitImpl*)TU, (char*)FileName, (unsigned int)options)); +} +JNIEXPORT void JNICALL Java_clang_externals_clang_1disposeTranslationUnit (JNIEnv *env, jobject obj, jlong arg0) { + clang_disposeTranslationUnit((struct CXTranslationUnitImpl*)arg0); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1defaultReparseOptions (JNIEnv *env, jobject obj, jlong TU) { + return (jint) (clang_defaultReparseOptions((struct CXTranslationUnitImpl*)TU)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1reparseTranslationUnit (JNIEnv *env, jobject obj, jlong TU, jint num_unsaved_files, jlong unsaved_files, jint options) { + return (jint) (clang_reparseTranslationUnit((struct CXTranslationUnitImpl*)TU, (unsigned int)num_unsaved_files, (struct CXUnsavedFile*)unsaved_files, (unsigned int)options)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getTUResourceUsageName (JNIEnv *env, jobject obj, jint kind) { + return (jlong) (clang_getTUResourceUsageName((enum CXTUResourceUsageKind)kind)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getCXTUResourceUsage (JNIEnv *env, jobject obj, jlong TU, jlong retValPlacement) { + *(struct CXTUResourceUsage*)retValPlacement = clang_getCXTUResourceUsage((struct CXTranslationUnitImpl*)TU); + return (jlong) retValPlacement; +} +JNIEXPORT void JNICALL Java_clang_externals_clang_1disposeCXTUResourceUsage (JNIEnv *env, jobject obj, jlong usage) { + clang_disposeCXTUResourceUsage(*(struct CXTUResourceUsage*)usage); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getNullCursor (JNIEnv *env, jobject obj, jlong retValPlacement) { + *(CXCursor*)retValPlacement = clang_getNullCursor(); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getTranslationUnitCursor (JNIEnv *env, jobject obj, jlong arg0, jlong retValPlacement) { + *(CXCursor*)retValPlacement = clang_getTranslationUnitCursor((struct CXTranslationUnitImpl*)arg0); + return (jlong) retValPlacement; +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1equalCursors (JNIEnv *env, jobject obj, jlong arg0, jlong arg1) { + return (jint) (clang_equalCursors(*(CXCursor*)arg0, *(CXCursor*)arg1)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1Cursor_1isNull (JNIEnv *env, jobject obj, jlong cursor) { + return (jint) (clang_Cursor_isNull(*(CXCursor*)cursor)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1hashCursor (JNIEnv *env, jobject obj, jlong arg0) { + return (jint) (clang_hashCursor(*(CXCursor*)arg0)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1getCursorKind (JNIEnv *env, jobject obj, jlong arg0) { + return (jint) (clang_getCursorKind(*(CXCursor*)arg0)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1isDeclaration (JNIEnv *env, jobject obj, jint arg0) { + return (jint) (clang_isDeclaration((enum CXCursorKind)arg0)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1isReference (JNIEnv *env, jobject obj, jint arg0) { + return (jint) (clang_isReference((enum CXCursorKind)arg0)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1isExpression (JNIEnv *env, jobject obj, jint arg0) { + return (jint) (clang_isExpression((enum CXCursorKind)arg0)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1isStatement (JNIEnv *env, jobject obj, jint arg0) { + return (jint) (clang_isStatement((enum CXCursorKind)arg0)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1isAttribute (JNIEnv *env, jobject obj, jint arg0) { + return (jint) (clang_isAttribute((enum CXCursorKind)arg0)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1isInvalid (JNIEnv *env, jobject obj, jint arg0) { + return (jint) (clang_isInvalid((enum CXCursorKind)arg0)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1isTranslationUnit (JNIEnv *env, jobject obj, jint arg0) { + return (jint) (clang_isTranslationUnit((enum CXCursorKind)arg0)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1isPreprocessing (JNIEnv *env, jobject obj, jint arg0) { + return (jint) (clang_isPreprocessing((enum CXCursorKind)arg0)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1isUnexposed (JNIEnv *env, jobject obj, jint arg0) { + return (jint) (clang_isUnexposed((enum CXCursorKind)arg0)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1getCursorLinkage (JNIEnv *env, jobject obj, jlong cursor) { + return (jint) (clang_getCursorLinkage(*(CXCursor*)cursor)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1getCursorVisibility (JNIEnv *env, jobject obj, jlong cursor) { + return (jint) (clang_getCursorVisibility(*(CXCursor*)cursor)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1getCursorAvailability (JNIEnv *env, jobject obj, jlong cursor) { + return (jint) (clang_getCursorAvailability(*(CXCursor*)cursor)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1getCursorPlatformAvailability (JNIEnv *env, jobject obj, jlong cursor, jlong always_deprecated, jlong deprecated_message, jlong always_unavailable, jlong unavailable_message, jlong availability, jint availability_size) { + return (jint) (clang_getCursorPlatformAvailability(*(CXCursor*)cursor, (int*)always_deprecated, (CXString*)deprecated_message, (int*)always_unavailable, (CXString*)unavailable_message, (struct CXPlatformAvailability*)availability, (int)availability_size)); +} +JNIEXPORT void JNICALL Java_clang_externals_clang_1disposeCXPlatformAvailability (JNIEnv *env, jobject obj, jlong availability) { + clang_disposeCXPlatformAvailability((struct CXPlatformAvailability*)availability); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1getCursorLanguage (JNIEnv *env, jobject obj, jlong cursor) { + return (jint) (clang_getCursorLanguage(*(CXCursor*)cursor)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1Cursor_1getTranslationUnit (JNIEnv *env, jobject obj, jlong arg0) { + return (jlong) (clang_Cursor_getTranslationUnit(*(CXCursor*)arg0)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1createCXCursorSet (JNIEnv *env, jobject obj) { + return (jlong) (clang_createCXCursorSet()); +} +JNIEXPORT void JNICALL Java_clang_externals_clang_1disposeCXCursorSet (JNIEnv *env, jobject obj, jlong cset) { + clang_disposeCXCursorSet((struct CXCursorSetImpl*)cset); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1CXCursorSet_1contains (JNIEnv *env, jobject obj, jlong cset, jlong cursor) { + return (jint) (clang_CXCursorSet_contains((struct CXCursorSetImpl*)cset, *(CXCursor*)cursor)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1CXCursorSet_1insert (JNIEnv *env, jobject obj, jlong cset, jlong cursor) { + return (jint) (clang_CXCursorSet_insert((struct CXCursorSetImpl*)cset, *(CXCursor*)cursor)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getCursorSemanticParent (JNIEnv *env, jobject obj, jlong cursor, jlong retValPlacement) { + *(CXCursor*)retValPlacement = clang_getCursorSemanticParent(*(CXCursor*)cursor); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getCursorLexicalParent (JNIEnv *env, jobject obj, jlong cursor, jlong retValPlacement) { + *(CXCursor*)retValPlacement = clang_getCursorLexicalParent(*(CXCursor*)cursor); + return (jlong) retValPlacement; +} +JNIEXPORT void JNICALL Java_clang_externals_clang_1getOverriddenCursors (JNIEnv *env, jobject obj, jlong cursor, jlong overridden, jlong num_overridden) { + clang_getOverriddenCursors(*(CXCursor*)cursor, (CXCursor**)overridden, (unsigned int*)num_overridden); +} +JNIEXPORT void JNICALL Java_clang_externals_clang_1disposeOverriddenCursors (JNIEnv *env, jobject obj, jlong overridden) { + clang_disposeOverriddenCursors((CXCursor*)overridden); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getIncludedFile (JNIEnv *env, jobject obj, jlong cursor) { + return (jlong) (clang_getIncludedFile(*(CXCursor*)cursor)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getCursor (JNIEnv *env, jobject obj, jlong arg0, jlong arg1, jlong retValPlacement) { + *(CXCursor*)retValPlacement = clang_getCursor((struct CXTranslationUnitImpl*)arg0, *(CXSourceLocation*)arg1); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getCursorLocation (JNIEnv *env, jobject obj, jlong arg0, jlong retValPlacement) { + *(CXSourceLocation*)retValPlacement = clang_getCursorLocation(*(CXCursor*)arg0); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getCursorExtent (JNIEnv *env, jobject obj, jlong arg0, jlong retValPlacement) { + *(CXSourceRange*)retValPlacement = clang_getCursorExtent(*(CXCursor*)arg0); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getCursorType (JNIEnv *env, jobject obj, jlong C, jlong retValPlacement) { + *(CXType*)retValPlacement = clang_getCursorType(*(CXCursor*)C); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getTypeSpelling (JNIEnv *env, jobject obj, jlong CT, jlong retValPlacement) { + *(CXString*)retValPlacement = clang_getTypeSpelling(*(CXType*)CT); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getTypedefDeclUnderlyingType (JNIEnv *env, jobject obj, jlong C, jlong retValPlacement) { + *(CXType*)retValPlacement = clang_getTypedefDeclUnderlyingType(*(CXCursor*)C); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getEnumDeclIntegerType (JNIEnv *env, jobject obj, jlong C, jlong retValPlacement) { + *(CXType*)retValPlacement = clang_getEnumDeclIntegerType(*(CXCursor*)C); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getEnumConstantDeclValue (JNIEnv *env, jobject obj, jlong C) { + return (jlong) (clang_getEnumConstantDeclValue(*(CXCursor*)C)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getEnumConstantDeclUnsignedValue (JNIEnv *env, jobject obj, jlong C) { + return (jlong) (clang_getEnumConstantDeclUnsignedValue(*(CXCursor*)C)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1getFieldDeclBitWidth (JNIEnv *env, jobject obj, jlong C) { + return (jint) (clang_getFieldDeclBitWidth(*(CXCursor*)C)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1Cursor_1getNumArguments (JNIEnv *env, jobject obj, jlong C) { + return (jint) (clang_Cursor_getNumArguments(*(CXCursor*)C)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1Cursor_1getArgument (JNIEnv *env, jobject obj, jlong C, jint i, jlong retValPlacement) { + *(CXCursor*)retValPlacement = clang_Cursor_getArgument(*(CXCursor*)C, (unsigned int)i); + return (jlong) retValPlacement; +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1Cursor_1getNumTemplateArguments (JNIEnv *env, jobject obj, jlong C) { + return (jint) (clang_Cursor_getNumTemplateArguments(*(CXCursor*)C)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1Cursor_1getTemplateArgumentKind (JNIEnv *env, jobject obj, jlong C, jint I) { + return (jint) (clang_Cursor_getTemplateArgumentKind(*(CXCursor*)C, (unsigned int)I)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1Cursor_1getTemplateArgumentType (JNIEnv *env, jobject obj, jlong C, jint I, jlong retValPlacement) { + *(CXType*)retValPlacement = clang_Cursor_getTemplateArgumentType(*(CXCursor*)C, (unsigned int)I); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1Cursor_1getTemplateArgumentValue (JNIEnv *env, jobject obj, jlong C, jint I) { + return (jlong) (clang_Cursor_getTemplateArgumentValue(*(CXCursor*)C, (unsigned int)I)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1Cursor_1getTemplateArgumentUnsignedValue (JNIEnv *env, jobject obj, jlong C, jint I) { + return (jlong) (clang_Cursor_getTemplateArgumentUnsignedValue(*(CXCursor*)C, (unsigned int)I)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1equalTypes (JNIEnv *env, jobject obj, jlong A, jlong B) { + return (jint) (clang_equalTypes(*(CXType*)A, *(CXType*)B)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getCanonicalType (JNIEnv *env, jobject obj, jlong T, jlong retValPlacement) { + *(CXType*)retValPlacement = clang_getCanonicalType(*(CXType*)T); + return (jlong) retValPlacement; +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1isConstQualifiedType (JNIEnv *env, jobject obj, jlong T) { + return (jint) (clang_isConstQualifiedType(*(CXType*)T)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1isVolatileQualifiedType (JNIEnv *env, jobject obj, jlong T) { + return (jint) (clang_isVolatileQualifiedType(*(CXType*)T)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1isRestrictQualifiedType (JNIEnv *env, jobject obj, jlong T) { + return (jint) (clang_isRestrictQualifiedType(*(CXType*)T)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getPointeeType (JNIEnv *env, jobject obj, jlong T, jlong retValPlacement) { + *(CXType*)retValPlacement = clang_getPointeeType(*(CXType*)T); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getTypeDeclaration (JNIEnv *env, jobject obj, jlong T, jlong retValPlacement) { + *(CXCursor*)retValPlacement = clang_getTypeDeclaration(*(CXType*)T); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getDeclObjCTypeEncoding (JNIEnv *env, jobject obj, jlong C, jlong retValPlacement) { + *(CXString*)retValPlacement = clang_getDeclObjCTypeEncoding(*(CXCursor*)C); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getTypeKindSpelling (JNIEnv *env, jobject obj, jint K, jlong retValPlacement) { + *(CXString*)retValPlacement = clang_getTypeKindSpelling((enum CXTypeKind)K); + return (jlong) retValPlacement; +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1getFunctionTypeCallingConv (JNIEnv *env, jobject obj, jlong T) { + return (jint) (clang_getFunctionTypeCallingConv(*(CXType*)T)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getResultType (JNIEnv *env, jobject obj, jlong T, jlong retValPlacement) { + *(CXType*)retValPlacement = clang_getResultType(*(CXType*)T); + return (jlong) retValPlacement; +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1getNumArgTypes (JNIEnv *env, jobject obj, jlong T) { + return (jint) (clang_getNumArgTypes(*(CXType*)T)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getArgType (JNIEnv *env, jobject obj, jlong T, jint i, jlong retValPlacement) { + *(CXType*)retValPlacement = clang_getArgType(*(CXType*)T, (unsigned int)i); + return (jlong) retValPlacement; +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1isFunctionTypeVariadic (JNIEnv *env, jobject obj, jlong T) { + return (jint) (clang_isFunctionTypeVariadic(*(CXType*)T)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getCursorResultType (JNIEnv *env, jobject obj, jlong C, jlong retValPlacement) { + *(CXType*)retValPlacement = clang_getCursorResultType(*(CXCursor*)C); + return (jlong) retValPlacement; +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1isPODType (JNIEnv *env, jobject obj, jlong T) { + return (jint) (clang_isPODType(*(CXType*)T)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getElementType (JNIEnv *env, jobject obj, jlong T, jlong retValPlacement) { + *(CXType*)retValPlacement = clang_getElementType(*(CXType*)T); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getNumElements (JNIEnv *env, jobject obj, jlong T) { + return (jlong) (clang_getNumElements(*(CXType*)T)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getArrayElementType (JNIEnv *env, jobject obj, jlong T, jlong retValPlacement) { + *(CXType*)retValPlacement = clang_getArrayElementType(*(CXType*)T); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getArraySize (JNIEnv *env, jobject obj, jlong T) { + return (jlong) (clang_getArraySize(*(CXType*)T)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1Type_1getAlignOf (JNIEnv *env, jobject obj, jlong T) { + return (jlong) (clang_Type_getAlignOf(*(CXType*)T)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1Type_1getClassType (JNIEnv *env, jobject obj, jlong T, jlong retValPlacement) { + *(CXType*)retValPlacement = clang_Type_getClassType(*(CXType*)T); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1Type_1getSizeOf (JNIEnv *env, jobject obj, jlong T) { + return (jlong) (clang_Type_getSizeOf(*(CXType*)T)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1Type_1getOffsetOf (JNIEnv *env, jobject obj, jlong T, jlong S) { + return (jlong) (clang_Type_getOffsetOf(*(CXType*)T, (char*)S)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1Cursor_1getOffsetOfField (JNIEnv *env, jobject obj, jlong C) { + return (jlong) (clang_Cursor_getOffsetOfField(*(CXCursor*)C)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1Cursor_1isAnonymous (JNIEnv *env, jobject obj, jlong C) { + return (jint) (clang_Cursor_isAnonymous(*(CXCursor*)C)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1Type_1getNumTemplateArguments (JNIEnv *env, jobject obj, jlong T) { + return (jint) (clang_Type_getNumTemplateArguments(*(CXType*)T)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1Type_1getTemplateArgumentAsType (JNIEnv *env, jobject obj, jlong T, jint i, jlong retValPlacement) { + *(CXType*)retValPlacement = clang_Type_getTemplateArgumentAsType(*(CXType*)T, (unsigned int)i); + return (jlong) retValPlacement; +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1Type_1getCXXRefQualifier (JNIEnv *env, jobject obj, jlong T) { + return (jint) (clang_Type_getCXXRefQualifier(*(CXType*)T)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1Cursor_1isBitField (JNIEnv *env, jobject obj, jlong C) { + return (jint) (clang_Cursor_isBitField(*(CXCursor*)C)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1isVirtualBase (JNIEnv *env, jobject obj, jlong arg0) { + return (jint) (clang_isVirtualBase(*(CXCursor*)arg0)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1getCXXAccessSpecifier (JNIEnv *env, jobject obj, jlong arg0) { + return (jint) (clang_getCXXAccessSpecifier(*(CXCursor*)arg0)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1Cursor_1getStorageClass (JNIEnv *env, jobject obj, jlong arg0) { + return (jint) (clang_Cursor_getStorageClass(*(CXCursor*)arg0)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1getNumOverloadedDecls (JNIEnv *env, jobject obj, jlong cursor) { + return (jint) (clang_getNumOverloadedDecls(*(CXCursor*)cursor)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getOverloadedDecl (JNIEnv *env, jobject obj, jlong cursor, jint index, jlong retValPlacement) { + *(CXCursor*)retValPlacement = clang_getOverloadedDecl(*(CXCursor*)cursor, (unsigned int)index); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getIBOutletCollectionType (JNIEnv *env, jobject obj, jlong arg0, jlong retValPlacement) { + *(CXType*)retValPlacement = clang_getIBOutletCollectionType(*(CXCursor*)arg0); + return (jlong) retValPlacement; +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1visitChildren (JNIEnv *env, jobject obj, jlong parent, jlong visitor, jlong client_data) { + return (jint) (clang_visitChildren(*(CXCursor*)parent, (enum CXChildVisitResult (*)(CXCursor, CXCursor, void*))visitor, (void*)client_data)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getCursorUSR (JNIEnv *env, jobject obj, jlong arg0, jlong retValPlacement) { + *(CXString*)retValPlacement = clang_getCursorUSR(*(CXCursor*)arg0); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1constructUSR_1ObjCClass (JNIEnv *env, jobject obj, jlong class_name, jlong retValPlacement) { + *(CXString*)retValPlacement = clang_constructUSR_ObjCClass((char*)class_name); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1constructUSR_1ObjCCategory (JNIEnv *env, jobject obj, jlong class_name, jlong category_name, jlong retValPlacement) { + *(CXString*)retValPlacement = clang_constructUSR_ObjCCategory((char*)class_name, (char*)category_name); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1constructUSR_1ObjCProtocol (JNIEnv *env, jobject obj, jlong protocol_name, jlong retValPlacement) { + *(CXString*)retValPlacement = clang_constructUSR_ObjCProtocol((char*)protocol_name); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1constructUSR_1ObjCIvar (JNIEnv *env, jobject obj, jlong name, jlong classUSR, jlong retValPlacement) { + *(CXString*)retValPlacement = clang_constructUSR_ObjCIvar((char*)name, *(CXString*)classUSR); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1constructUSR_1ObjCMethod (JNIEnv *env, jobject obj, jlong name, jint isInstanceMethod, jlong classUSR, jlong retValPlacement) { + *(CXString*)retValPlacement = clang_constructUSR_ObjCMethod((char*)name, (unsigned int)isInstanceMethod, *(CXString*)classUSR); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1constructUSR_1ObjCProperty (JNIEnv *env, jobject obj, jlong property, jlong classUSR, jlong retValPlacement) { + *(CXString*)retValPlacement = clang_constructUSR_ObjCProperty((char*)property, *(CXString*)classUSR); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getCursorSpelling (JNIEnv *env, jobject obj, jlong arg0, jlong retValPlacement) { + *(CXString*)retValPlacement = clang_getCursorSpelling(*(CXCursor*)arg0); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1Cursor_1getSpellingNameRange (JNIEnv *env, jobject obj, jlong arg0, jint pieceIndex, jint options, jlong retValPlacement) { + *(CXSourceRange*)retValPlacement = clang_Cursor_getSpellingNameRange(*(CXCursor*)arg0, (unsigned int)pieceIndex, (unsigned int)options); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getCursorDisplayName (JNIEnv *env, jobject obj, jlong arg0, jlong retValPlacement) { + *(CXString*)retValPlacement = clang_getCursorDisplayName(*(CXCursor*)arg0); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getCursorReferenced (JNIEnv *env, jobject obj, jlong arg0, jlong retValPlacement) { + *(CXCursor*)retValPlacement = clang_getCursorReferenced(*(CXCursor*)arg0); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getCursorDefinition (JNIEnv *env, jobject obj, jlong arg0, jlong retValPlacement) { + *(CXCursor*)retValPlacement = clang_getCursorDefinition(*(CXCursor*)arg0); + return (jlong) retValPlacement; +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1isCursorDefinition (JNIEnv *env, jobject obj, jlong arg0) { + return (jint) (clang_isCursorDefinition(*(CXCursor*)arg0)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getCanonicalCursor (JNIEnv *env, jobject obj, jlong arg0, jlong retValPlacement) { + *(CXCursor*)retValPlacement = clang_getCanonicalCursor(*(CXCursor*)arg0); + return (jlong) retValPlacement; +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1Cursor_1getObjCSelectorIndex (JNIEnv *env, jobject obj, jlong arg0) { + return (jint) (clang_Cursor_getObjCSelectorIndex(*(CXCursor*)arg0)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1Cursor_1isDynamicCall (JNIEnv *env, jobject obj, jlong C) { + return (jint) (clang_Cursor_isDynamicCall(*(CXCursor*)C)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1Cursor_1getReceiverType (JNIEnv *env, jobject obj, jlong C, jlong retValPlacement) { + *(CXType*)retValPlacement = clang_Cursor_getReceiverType(*(CXCursor*)C); + return (jlong) retValPlacement; +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1Cursor_1getObjCPropertyAttributes (JNIEnv *env, jobject obj, jlong C, jint reserved) { + return (jint) (clang_Cursor_getObjCPropertyAttributes(*(CXCursor*)C, (unsigned int)reserved)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1Cursor_1getObjCDeclQualifiers (JNIEnv *env, jobject obj, jlong C) { + return (jint) (clang_Cursor_getObjCDeclQualifiers(*(CXCursor*)C)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1Cursor_1isObjCOptional (JNIEnv *env, jobject obj, jlong C) { + return (jint) (clang_Cursor_isObjCOptional(*(CXCursor*)C)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1Cursor_1isVariadic (JNIEnv *env, jobject obj, jlong C) { + return (jint) (clang_Cursor_isVariadic(*(CXCursor*)C)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1Cursor_1getCommentRange (JNIEnv *env, jobject obj, jlong C, jlong retValPlacement) { + *(CXSourceRange*)retValPlacement = clang_Cursor_getCommentRange(*(CXCursor*)C); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1Cursor_1getRawCommentText (JNIEnv *env, jobject obj, jlong C, jlong retValPlacement) { + *(CXString*)retValPlacement = clang_Cursor_getRawCommentText(*(CXCursor*)C); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1Cursor_1getBriefCommentText (JNIEnv *env, jobject obj, jlong C, jlong retValPlacement) { + *(CXString*)retValPlacement = clang_Cursor_getBriefCommentText(*(CXCursor*)C); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1Cursor_1getMangling (JNIEnv *env, jobject obj, jlong arg0, jlong retValPlacement) { + *(CXString*)retValPlacement = clang_Cursor_getMangling(*(CXCursor*)arg0); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1Cursor_1getCXXManglings (JNIEnv *env, jobject obj, jlong arg0) { + return (jlong) (clang_Cursor_getCXXManglings(*(CXCursor*)arg0)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1Cursor_1getModule (JNIEnv *env, jobject obj, jlong C) { + return (jlong) (clang_Cursor_getModule(*(CXCursor*)C)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getModuleForFile (JNIEnv *env, jobject obj, jlong arg0, jlong arg1) { + return (jlong) (clang_getModuleForFile((struct CXTranslationUnitImpl*)arg0, (void*)arg1)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1Module_1getASTFile (JNIEnv *env, jobject obj, jlong Module) { + return (jlong) (clang_Module_getASTFile((void*)Module)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1Module_1getParent (JNIEnv *env, jobject obj, jlong Module) { + return (jlong) (clang_Module_getParent((void*)Module)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1Module_1getName (JNIEnv *env, jobject obj, jlong Module, jlong retValPlacement) { + *(CXString*)retValPlacement = clang_Module_getName((void*)Module); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1Module_1getFullName (JNIEnv *env, jobject obj, jlong Module, jlong retValPlacement) { + *(CXString*)retValPlacement = clang_Module_getFullName((void*)Module); + return (jlong) retValPlacement; +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1Module_1isSystem (JNIEnv *env, jobject obj, jlong Module) { + return (jint) (clang_Module_isSystem((void*)Module)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1Module_1getNumTopLevelHeaders (JNIEnv *env, jobject obj, jlong arg0, jlong Module) { + return (jint) (clang_Module_getNumTopLevelHeaders((struct CXTranslationUnitImpl*)arg0, (void*)Module)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1Module_1getTopLevelHeader (JNIEnv *env, jobject obj, jlong arg0, jlong Module, jint Index) { + return (jlong) (clang_Module_getTopLevelHeader((struct CXTranslationUnitImpl*)arg0, (void*)Module, (unsigned int)Index)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1CXXField_1isMutable (JNIEnv *env, jobject obj, jlong C) { + return (jint) (clang_CXXField_isMutable(*(CXCursor*)C)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1CXXMethod_1isPureVirtual (JNIEnv *env, jobject obj, jlong C) { + return (jint) (clang_CXXMethod_isPureVirtual(*(CXCursor*)C)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1CXXMethod_1isStatic (JNIEnv *env, jobject obj, jlong C) { + return (jint) (clang_CXXMethod_isStatic(*(CXCursor*)C)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1CXXMethod_1isVirtual (JNIEnv *env, jobject obj, jlong C) { + return (jint) (clang_CXXMethod_isVirtual(*(CXCursor*)C)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1CXXMethod_1isConst (JNIEnv *env, jobject obj, jlong C) { + return (jint) (clang_CXXMethod_isConst(*(CXCursor*)C)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1getTemplateCursorKind (JNIEnv *env, jobject obj, jlong C) { + return (jint) (clang_getTemplateCursorKind(*(CXCursor*)C)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getSpecializedCursorTemplate (JNIEnv *env, jobject obj, jlong C, jlong retValPlacement) { + *(CXCursor*)retValPlacement = clang_getSpecializedCursorTemplate(*(CXCursor*)C); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getCursorReferenceNameRange (JNIEnv *env, jobject obj, jlong C, jint NameFlags, jint PieceIndex, jlong retValPlacement) { + *(CXSourceRange*)retValPlacement = clang_getCursorReferenceNameRange(*(CXCursor*)C, (unsigned int)NameFlags, (unsigned int)PieceIndex); + return (jlong) retValPlacement; +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1getTokenKind (JNIEnv *env, jobject obj, jlong arg0) { + return (jint) (clang_getTokenKind(*(CXToken*)arg0)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getTokenSpelling (JNIEnv *env, jobject obj, jlong arg0, jlong arg1, jlong retValPlacement) { + *(CXString*)retValPlacement = clang_getTokenSpelling((struct CXTranslationUnitImpl*)arg0, *(CXToken*)arg1); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getTokenLocation (JNIEnv *env, jobject obj, jlong arg0, jlong arg1, jlong retValPlacement) { + *(CXSourceLocation*)retValPlacement = clang_getTokenLocation((struct CXTranslationUnitImpl*)arg0, *(CXToken*)arg1); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getTokenExtent (JNIEnv *env, jobject obj, jlong arg0, jlong arg1, jlong retValPlacement) { + *(CXSourceRange*)retValPlacement = clang_getTokenExtent((struct CXTranslationUnitImpl*)arg0, *(CXToken*)arg1); + return (jlong) retValPlacement; +} +JNIEXPORT void JNICALL Java_clang_externals_clang_1tokenize (JNIEnv *env, jobject obj, jlong TU, jlong Range, jlong Tokens, jlong NumTokens) { + clang_tokenize((struct CXTranslationUnitImpl*)TU, *(CXSourceRange*)Range, (CXToken**)Tokens, (unsigned int*)NumTokens); +} +JNIEXPORT void JNICALL Java_clang_externals_clang_1annotateTokens (JNIEnv *env, jobject obj, jlong TU, jlong Tokens, jint NumTokens, jlong Cursors) { + clang_annotateTokens((struct CXTranslationUnitImpl*)TU, (CXToken*)Tokens, (unsigned int)NumTokens, (CXCursor*)Cursors); +} +JNIEXPORT void JNICALL Java_clang_externals_clang_1disposeTokens (JNIEnv *env, jobject obj, jlong TU, jlong Tokens, jint NumTokens) { + clang_disposeTokens((struct CXTranslationUnitImpl*)TU, (CXToken*)Tokens, (unsigned int)NumTokens); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getCursorKindSpelling (JNIEnv *env, jobject obj, jint Kind, jlong retValPlacement) { + *(CXString*)retValPlacement = clang_getCursorKindSpelling((enum CXCursorKind)Kind); + return (jlong) retValPlacement; +} +JNIEXPORT void JNICALL Java_clang_externals_clang_1getDefinitionSpellingAndExtent (JNIEnv *env, jobject obj, jlong arg0, jlong startBuf, jlong endBuf, jlong startLine, jlong startColumn, jlong endLine, jlong endColumn) { + clang_getDefinitionSpellingAndExtent(*(CXCursor*)arg0, (char**)startBuf, (char**)endBuf, (unsigned int*)startLine, (unsigned int*)startColumn, (unsigned int*)endLine, (unsigned int*)endColumn); +} +JNIEXPORT void JNICALL Java_clang_externals_clang_1enableStackTraces (JNIEnv *env, jobject obj) { + clang_enableStackTraces(); +} +JNIEXPORT void JNICALL Java_clang_externals_clang_1executeOnThread (JNIEnv *env, jobject obj, jlong fn, jlong user_data, jint stack_size) { + clang_executeOnThread((void (*)(void*))fn, (void*)user_data, (unsigned int)stack_size); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1getCompletionChunkKind (JNIEnv *env, jobject obj, jlong completion_string, jint chunk_number) { + return (jint) (clang_getCompletionChunkKind((void*)completion_string, (unsigned int)chunk_number)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getCompletionChunkText (JNIEnv *env, jobject obj, jlong completion_string, jint chunk_number, jlong retValPlacement) { + *(CXString*)retValPlacement = clang_getCompletionChunkText((void*)completion_string, (unsigned int)chunk_number); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getCompletionChunkCompletionString (JNIEnv *env, jobject obj, jlong completion_string, jint chunk_number) { + return (jlong) (clang_getCompletionChunkCompletionString((void*)completion_string, (unsigned int)chunk_number)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1getNumCompletionChunks (JNIEnv *env, jobject obj, jlong completion_string) { + return (jint) (clang_getNumCompletionChunks((void*)completion_string)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1getCompletionPriority (JNIEnv *env, jobject obj, jlong completion_string) { + return (jint) (clang_getCompletionPriority((void*)completion_string)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1getCompletionAvailability (JNIEnv *env, jobject obj, jlong completion_string) { + return (jint) (clang_getCompletionAvailability((void*)completion_string)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1getCompletionNumAnnotations (JNIEnv *env, jobject obj, jlong completion_string) { + return (jint) (clang_getCompletionNumAnnotations((void*)completion_string)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getCompletionAnnotation (JNIEnv *env, jobject obj, jlong completion_string, jint annotation_number, jlong retValPlacement) { + *(CXString*)retValPlacement = clang_getCompletionAnnotation((void*)completion_string, (unsigned int)annotation_number); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getCompletionParent (JNIEnv *env, jobject obj, jlong completion_string, jlong kind, jlong retValPlacement) { + *(CXString*)retValPlacement = clang_getCompletionParent((void*)completion_string, (enum CXCursorKind*)kind); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getCompletionBriefComment (JNIEnv *env, jobject obj, jlong completion_string, jlong retValPlacement) { + *(CXString*)retValPlacement = clang_getCompletionBriefComment((void*)completion_string); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getCursorCompletionString (JNIEnv *env, jobject obj, jlong cursor) { + return (jlong) (clang_getCursorCompletionString(*(CXCursor*)cursor)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1defaultCodeCompleteOptions (JNIEnv *env, jobject obj) { + return (jint) (clang_defaultCodeCompleteOptions()); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1codeCompleteAt (JNIEnv *env, jobject obj, jlong TU, jlong complete_filename, jint complete_line, jint complete_column, jlong unsaved_files, jint num_unsaved_files, jint options) { + return (jlong) (clang_codeCompleteAt((struct CXTranslationUnitImpl*)TU, (char*)complete_filename, (unsigned int)complete_line, (unsigned int)complete_column, (struct CXUnsavedFile*)unsaved_files, (unsigned int)num_unsaved_files, (unsigned int)options)); +} +JNIEXPORT void JNICALL Java_clang_externals_clang_1sortCodeCompletionResults (JNIEnv *env, jobject obj, jlong Results, jint NumResults) { + clang_sortCodeCompletionResults((CXCompletionResult*)Results, (unsigned int)NumResults); +} +JNIEXPORT void JNICALL Java_clang_externals_clang_1disposeCodeCompleteResults (JNIEnv *env, jobject obj, jlong Results) { + clang_disposeCodeCompleteResults((CXCodeCompleteResults*)Results); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1codeCompleteGetNumDiagnostics (JNIEnv *env, jobject obj, jlong Results) { + return (jint) (clang_codeCompleteGetNumDiagnostics((CXCodeCompleteResults*)Results)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1codeCompleteGetDiagnostic (JNIEnv *env, jobject obj, jlong Results, jint Index) { + return (jlong) (clang_codeCompleteGetDiagnostic((CXCodeCompleteResults*)Results, (unsigned int)Index)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1codeCompleteGetContexts (JNIEnv *env, jobject obj, jlong Results) { + return (jlong) (clang_codeCompleteGetContexts((CXCodeCompleteResults*)Results)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1codeCompleteGetContainerKind (JNIEnv *env, jobject obj, jlong Results, jlong IsIncomplete) { + return (jint) (clang_codeCompleteGetContainerKind((CXCodeCompleteResults*)Results, (unsigned int*)IsIncomplete)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1codeCompleteGetContainerUSR (JNIEnv *env, jobject obj, jlong Results, jlong retValPlacement) { + *(CXString*)retValPlacement = clang_codeCompleteGetContainerUSR((CXCodeCompleteResults*)Results); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1codeCompleteGetObjCSelector (JNIEnv *env, jobject obj, jlong Results, jlong retValPlacement) { + *(CXString*)retValPlacement = clang_codeCompleteGetObjCSelector((CXCodeCompleteResults*)Results); + return (jlong) retValPlacement; +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getClangVersion (JNIEnv *env, jobject obj, jlong retValPlacement) { + *(CXString*)retValPlacement = clang_getClangVersion(); + return (jlong) retValPlacement; +} +JNIEXPORT void JNICALL Java_clang_externals_clang_1toggleCrashRecovery (JNIEnv *env, jobject obj, jint isEnabled) { + clang_toggleCrashRecovery((unsigned int)isEnabled); +} +JNIEXPORT void JNICALL Java_clang_externals_clang_1getInclusions (JNIEnv *env, jobject obj, jlong tu, jlong visitor, jlong client_data) { + clang_getInclusions((struct CXTranslationUnitImpl*)tu, (void (*)(void*, CXSourceLocation*, unsigned int, void*))visitor, (void*)client_data); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getRemappings (JNIEnv *env, jobject obj, jlong path) { + return (jlong) (clang_getRemappings((char*)path)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1getRemappingsFromFileList (JNIEnv *env, jobject obj, jlong filePaths, jint numFiles) { + return (jlong) (clang_getRemappingsFromFileList((char**)filePaths, (unsigned int)numFiles)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1remap_1getNumFiles (JNIEnv *env, jobject obj, jlong arg0) { + return (jint) (clang_remap_getNumFiles((void*)arg0)); +} +JNIEXPORT void JNICALL Java_clang_externals_clang_1remap_1getFilenames (JNIEnv *env, jobject obj, jlong arg0, jint index, jlong original, jlong transformed) { + clang_remap_getFilenames((void*)arg0, (unsigned int)index, (CXString*)original, (CXString*)transformed); +} +JNIEXPORT void JNICALL Java_clang_externals_clang_1remap_1dispose (JNIEnv *env, jobject obj, jlong arg0) { + clang_remap_dispose((void*)arg0); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1findReferencesInFile (JNIEnv *env, jobject obj, jlong cursor, jlong file, jlong visitor) { + return (jint) (clang_findReferencesInFile(*(CXCursor*)cursor, (void*)file, *(CXCursorAndRangeVisitor*)visitor)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1findIncludesInFile (JNIEnv *env, jobject obj, jlong TU, jlong file, jlong visitor) { + return (jint) (clang_findIncludesInFile((struct CXTranslationUnitImpl*)TU, (void*)file, *(CXCursorAndRangeVisitor*)visitor)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1index_1isEntityObjCContainerKind (JNIEnv *env, jobject obj, jint arg0) { + return (jint) (clang_index_isEntityObjCContainerKind((CXIdxEntityKind)arg0)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1index_1getObjCContainerDeclInfo (JNIEnv *env, jobject obj, jlong arg0) { + return (jlong) (clang_index_getObjCContainerDeclInfo((CXIdxDeclInfo*)arg0)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1index_1getObjCInterfaceDeclInfo (JNIEnv *env, jobject obj, jlong arg0) { + return (jlong) (clang_index_getObjCInterfaceDeclInfo((CXIdxDeclInfo*)arg0)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1index_1getObjCCategoryDeclInfo (JNIEnv *env, jobject obj, jlong arg0) { + return (jlong) (clang_index_getObjCCategoryDeclInfo((CXIdxDeclInfo*)arg0)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1index_1getObjCProtocolRefListInfo (JNIEnv *env, jobject obj, jlong arg0) { + return (jlong) (clang_index_getObjCProtocolRefListInfo((CXIdxDeclInfo*)arg0)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1index_1getObjCPropertyDeclInfo (JNIEnv *env, jobject obj, jlong arg0) { + return (jlong) (clang_index_getObjCPropertyDeclInfo((CXIdxDeclInfo*)arg0)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1index_1getIBOutletCollectionAttrInfo (JNIEnv *env, jobject obj, jlong arg0) { + return (jlong) (clang_index_getIBOutletCollectionAttrInfo((CXIdxAttrInfo*)arg0)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1index_1getCXXClassDeclInfo (JNIEnv *env, jobject obj, jlong arg0) { + return (jlong) (clang_index_getCXXClassDeclInfo((CXIdxDeclInfo*)arg0)); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1index_1getClientContainer (JNIEnv *env, jobject obj, jlong arg0) { + return (jlong) (clang_index_getClientContainer((CXIdxContainerInfo*)arg0)); +} +JNIEXPORT void JNICALL Java_clang_externals_clang_1index_1setClientContainer (JNIEnv *env, jobject obj, jlong arg0, jlong arg1) { + clang_index_setClientContainer((CXIdxContainerInfo*)arg0, (void*)arg1); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1index_1getClientEntity (JNIEnv *env, jobject obj, jlong arg0) { + return (jlong) (clang_index_getClientEntity((CXIdxEntityInfo*)arg0)); +} +JNIEXPORT void JNICALL Java_clang_externals_clang_1index_1setClientEntity (JNIEnv *env, jobject obj, jlong arg0, jlong arg1) { + clang_index_setClientEntity((CXIdxEntityInfo*)arg0, (void*)arg1); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1IndexAction_1create (JNIEnv *env, jobject obj, jlong CIdx) { + return (jlong) (clang_IndexAction_create((void*)CIdx)); +} +JNIEXPORT void JNICALL Java_clang_externals_clang_1IndexAction_1dispose (JNIEnv *env, jobject obj, jlong arg0) { + clang_IndexAction_dispose((void*)arg0); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1indexSourceFile (JNIEnv *env, jobject obj, jlong arg0, jlong client_data, jlong index_callbacks, jint index_callbacks_size, jint index_options, jlong source_filename, jlong command_line_args, jint num_command_line_args, jlong unsaved_files, jint num_unsaved_files, jlong out_TU, jint TU_options) { + return (jint) (clang_indexSourceFile((void*)arg0, (void*)client_data, (IndexerCallbacks*)index_callbacks, (unsigned int)index_callbacks_size, (unsigned int)index_options, (char*)source_filename, (char**)command_line_args, (int)num_command_line_args, (struct CXUnsavedFile*)unsaved_files, (unsigned int)num_unsaved_files, (struct CXTranslationUnitImpl**)out_TU, (unsigned int)TU_options)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1indexSourceFileFullArgv (JNIEnv *env, jobject obj, jlong arg0, jlong client_data, jlong index_callbacks, jint index_callbacks_size, jint index_options, jlong source_filename, jlong command_line_args, jint num_command_line_args, jlong unsaved_files, jint num_unsaved_files, jlong out_TU, jint TU_options) { + return (jint) (clang_indexSourceFileFullArgv((void*)arg0, (void*)client_data, (IndexerCallbacks*)index_callbacks, (unsigned int)index_callbacks_size, (unsigned int)index_options, (char*)source_filename, (char**)command_line_args, (int)num_command_line_args, (struct CXUnsavedFile*)unsaved_files, (unsigned int)num_unsaved_files, (struct CXTranslationUnitImpl**)out_TU, (unsigned int)TU_options)); +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1indexTranslationUnit (JNIEnv *env, jobject obj, jlong arg0, jlong client_data, jlong index_callbacks, jint index_callbacks_size, jint index_options, jlong arg5) { + return (jint) (clang_indexTranslationUnit((void*)arg0, (void*)client_data, (IndexerCallbacks*)index_callbacks, (unsigned int)index_callbacks_size, (unsigned int)index_options, (struct CXTranslationUnitImpl*)arg5)); +} +JNIEXPORT void JNICALL Java_clang_externals_clang_1indexLoc_1getFileLocation (JNIEnv *env, jobject obj, jlong loc, jlong indexFile, jlong file, jlong line, jlong column, jlong offset) { + clang_indexLoc_getFileLocation(*(CXIdxLoc*)loc, (void**)indexFile, (void**)file, (unsigned int*)line, (unsigned int*)column, (unsigned int*)offset); +} +JNIEXPORT jlong JNICALL Java_clang_externals_clang_1indexLoc_1getCXSourceLocation (JNIEnv *env, jobject obj, jlong loc, jlong retValPlacement) { + *(CXSourceLocation*)retValPlacement = clang_indexLoc_getCXSourceLocation(*(CXIdxLoc*)loc); + return (jlong) retValPlacement; +} +JNIEXPORT jint JNICALL Java_clang_externals_clang_1Type_1visitFields (JNIEnv *env, jobject obj, jlong T, jlong visitor, jlong client_data) { + return (jint) (clang_Type_visitFields(*(CXType*)T, (enum CXVisitorResult (*)(CXCursor, void*))visitor, (void*)client_data)); +} diff --git a/experiments/Interop/Indexer/prebuilt/nativeInteropStubs/clang/Clang.kt b/experiments/Interop/Indexer/prebuilt/nativeInteropStubs/kotlin/clang/Clang.kt similarity index 100% rename from experiments/Interop/Indexer/prebuilt/nativeInteropStubs/clang/Clang.kt rename to experiments/Interop/Indexer/prebuilt/nativeInteropStubs/kotlin/clang/Clang.kt diff --git a/experiments/Interop/Indexer/prebuilt/nativelibs/build-callback.sh b/experiments/Interop/Indexer/prebuilt/nativelibs/build-callback.sh deleted file mode 100755 index 000ec98b72e..00000000000 --- a/experiments/Interop/Indexer/prebuilt/nativelibs/build-callback.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -clang -shared -olibcallback.dylib src/callback/c/callback.c -I /System/Library/Frameworks/JavaVM.framework/Headers -pthread - diff --git a/experiments/Interop/Indexer/prebuilt/nativelibs/libcallback.dylib b/experiments/Interop/Indexer/prebuilt/nativelibs/libcallback.dylib deleted file mode 100755 index 1e49360387c94d8eed390a0e9b5a70325647d648..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8864 zcmeHNU2GIp6uw(P%TL+XNI?8yFrXl@t;(93u+o*Txh-uep%7m5W_LTl%67KQ&Q|)+ zWaC0)v)QB%VoXd-A0#mmjSr;JJ{2SeeZba)#Q0(*fh>t6Xowb~UB7eZ&UAJw@?@gP z-1N@5=iGD8x#v4G*_m_u?cJO64>A^5!Wer1y#f96rHq|qjTkZZ2>SN{#)RmP9_*K* z>Wi(mAX7YSvSq5%q!5;V+@g`)YVGA#+VX9*5j5hljfJ+9{-Gs zo>{m{h_Bw?I%RL2vjEg<&$~BLA>0UKA-X$zcSk!qoo7OWkeaf`G|91Xl?2+C*A_iz zZRq6JD{pRYF=AG7SWhM6E$E3@Dix0k^qvwn|#ZCKETgGT{JC5~L&!tj%6qNj&`}%_&JH}fNe0;F{ z)|CxiQ=1@@kgQw*rz_Yq4i8Fg6?z*wttG#K72m*ofVE^ZCdE&E-$=&N2b*7UFn}6+ z3Z3lEYBmmA6;E;c%}2mTz(>GGz(?S}j=+9ixW@B8YrHTz#|zn8yqEbG$ATv|$o1iCw7wMj6J&C;6gB*T zarqD~H^5_Z&F@mDf!-usSGiM?8-?T0rx;47pO7pcJ_Euc!P8Tb+^tF^HyelsCoXj+ z&R023Nu!|?Ad^qqjz7e>d=rsM$F_GTwA>L22+_gc%hL6los#t20xq+kvF>7YHiBIg zd!VwM7YiC*dL$e(I}q**mO^(yCZDx;@;vP%L2{X$F`19jGJU>M zaZ*Y-Tb!?a_&qFTh<$ry6Y##o6Ei%2cLDDoY-c5MMsG>H)Nlpk@^2W+h$rQ(QHsv- zVnYvX$zVE>*ziu`3SU)b3ens7(c7>&fkhb22j97uyQ8+dC&(RrOTgVRa`(35?zySL z1zzfbx6qHITYQlhhuh$7hPXnu%nO$ZQ`c(*&YZkPf)i6bfm`^_LV$Oqm(W>|$tK(5 z!{l*|Kf}(ZXS^tG81`JEHxO zT|C;sJiHa()~o=&D%k#JKw-GrUz{mRyNAjV5&bmq<}6L)pw~Y@CQBu zJ_0@hJ_0@hJ_0@hJ_0@hJ_0@hJ_0@hJ_7%H1e!KB?xi4_+Ht@*AP?0=oGKtD+k1?S zv15%*?LvrHCZn5{Ff9Wz*#ZLR`*mGx+kMIGL20=)flG^qx2oN4`T_$`$ChaJ+2U#x zi-zdn6^#l`t8swpoc~hMiFi#ORxZ( zRI?eEr*l@gqt;Gijfv`#kQg3hi-NB%MKz=TbYGp?x|E>GlFEkY`WLftpUvY0-FsIp Ky89$FjQs_bW0_X~ diff --git a/experiments/Interop/Indexer/prebuilt/nativelibs/libclangbridge.dylib b/experiments/Interop/Indexer/prebuilt/nativelibs/libclangbridge.dylib deleted file mode 100755 index b8af71c9173164173885bf749204e8ebb601c9e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 83656 zcmeHw33ycH)&EUomn9$~B4UtL)<9j*s!d1&K@*4skXkhf$pDdTP7=fgjY}ypYNJJq zYe(FuS{nCgU815!>N4)pQcM+fV$r5*m0HFB@0|DC?VUR_H^}#W&;NNk$=U9E-hJQh zef8VV_VhN4r2P!T=mi)E*x17`dKf9-4C7$H`Xs|BEL@bmbP+#tqiVNkhzvK4o&Y$- zzrw=Wz?xbSKy>%g$aDPqpQCs#3KtgE)YdJlu^#E}9e;*0+9B?ejA&TD zKH{DjBRu3@;mSaHbsz{W-Mx{e%IYQiD@t;*WZ(QzdW~}=WMN@>aXj}@BzzP5Di=t0x<}!g;Bb%PnFA;+%$+y?@Eq;@Yy+ zf$4!Y$o{g5KxJ*s^m&!FfnZfNXlYjFTbM{{!(y9iU>C4{-h{ z-3i7!BkEKDpZ~F8?-0o3&oyTr6(0D=Pp1EN%cQ0&Z$A92v3Qn3y8HKIm}JWI z48Q(>bO6~UXOsF+?j;%1>uQ42%d1L?%coaW*G?}lUtK}TVkM24C}e*Yz_QLlJ+HBJf)D0vNhihpo(gX25LS#y(|Nj2(QebgT!$&!n?n=#RSi3u?p{^^Z zVR0m8{(*_-O83$7IQ%wEHPn2HD8P5(nEXy!rx;Hqkd(r-X zc6vPjqxGNdrvC4`segW4{WLQ@IQ<&(I&vGb+jAT8!jzUdjddM4jf>lJ8uP-DY~@ax zJH0&ZJMBgeusbT$O)FavGd!he^@v5le($@*VD{+ z#tsja=NBwJuk^Fi<5i^>H$BL`U&nPXIzLu*Q~#)L=sVN<-JknN531wGH3s`cUS4c# z*HZ=euD_Q441fAap8=L;{PfONda=^GVeziUwYwsJDKNuHu0^*;iR;gAlnbbLUiMx2 z)sVN7ihE<-&PbKz@1Vn+>ErSb`p)VOdsb~f%JS81-{l{978!?uQSA0MTL0CBzVs#i z4svNnr=Qz>XL;&8#q=k3{c`F*<*DyCy?&)^BbO4T*U6SYaq|=LZ^(IPtbR$Hn<_LE%Hk$RSntU z2I^C?(Z}Sq`Q=mXk;l9Wzq7^6NTesiso?d88ayw3bR(6Z;RJe+NnYk> zTj}mk|1c{Zo%-oHS0Y_pV;Zz!4KJX3Zi`$+UU0fCM!F@dbepZxtzmWw=B_o!jsZOqwINQEh0L7d1hHD;l4i}DAaZ0B^#YtCwTI+EenAFY0+x%_IR z{$!>~x1gDB3z0gD#->D;=W*(A6Oe9}-)`7X^|BwgJX}Wk(Vg;e@h+;{C}K!t$FLbm zNc{k+BY>iaVIPWIV{%SI50nsOM?)5s5ab7#l$^$1L{UQKun9`Y95$Jl(~#E^NmHR} zg>%R$s@-i;yThQc4WBOFN&!JR(#Plddcfccmz%vQuaYCq@|xyyKW={RJlP{Z^AUW+ zH9GOQ{52q|R0$i`b|4WcF;O1#+HxC>T%=@fV|t%lm6GXj11T9feLnkv5L)FsmfM^T zw!68FNy^O((@m+rk-IH7J=*_$9R3}u%sRurPt#|p6&EXg_Nn`y=W6L+gvx>9>ds%} zA@UOyBVMIw$ZL&cP;yXtZ_GmtqoN;{qK|fvi#~O5MUM9K$NBeX3VyfzOO1}3n&(As zR!M<*v$H>P>(lt+Z}T|GpqIG+CH-$yHS(kH7?1qxB-0o7c*HsAH{<_LD<%oUZMe8~I&MITMs z+6c`L8Wy)krjiS2>KdqZqr$$nHK(DsD(rLnfVLw&)4j`w)pkZsnak;(lBm2L7&m^@ zKgOu9bzEPmT5h2LC#)tMV!c0dr3bn_sXix-p)Oa?kE~r3_Pm2k9vs-JD1Y z>)}mx<{#(xZ&W(RDBo6iFyAnvhe-$6wn!n_^fg+y*Uv2X%=IK!dL7`~MRWWV9iPwU zaJh*QpL~6A<0`{-kw#3Bc{JV9ur0EMoNB~isId+sm0ny#8Zf5eW*b8qRg%%U#hZ_u znjk!mzC^;JhN@I~xK8DgHw}whavPqB?9S#SZ^dX|1#B$>MpX-CoU4|MhOO~;{PgbG z?etEEU&FH+7hCnz%tv#Koz<}TB@_yznJTZ1i?<_-!x(PAl#5<3QkluwBh^1@eCN(j zu20hc9HA^CU!DC=;`aWV+3aCjqW0z!rKhzw`Hk7Bi0<&*#xtU#OjQ$8m^X79&S*ol zw>n}?O=2TVkTF?}d0SD2Fusdip^5?ujLM$^EKn~+f=+}F@a2r*Im(wVELfv)!Xyk6 zB={1BFG$ogTC*C?cpN?<&$FA6z#ZlwvM~>do81bp9*0vca1xW6p<{Vi9vP{8UHS`3 z0attQzvKTVDzlev_3+-X)Z{zIYva}_mAnO{^V}z zf2b;Ds_Oj`$M>}a`g>D8|GJOM=ZpK;z20%$t49By8>j!Lu^RRNxoFQCvLDA#2Q|#@ zm}vk&!=A?M$8#G8=b}%}Z9D}FGK+9a+|74u2FlT&v_|TTAwUo#S$Ff$6dwgfrcPqZ9C_P{C zwZ@M$CmWnYLn0(UwVHjvz;9>rN8UQx45!`xyW`tE_ZmIitJdcqc7KJoIo|qFBRWD} zRi!o5EtCkpdo+|Ib3J|^`QKx2{m(b^+nhJZ{MJ!x66VuiRS7^p9j86B%FD^eaIX3) zFaG++@8gtbO5c_kact)?35^}%<#R(`bEJyG%)1_W&1%5XD(i%8vQ8KVr2z{qrBE|r z=I`FG7dpyUYa~qtpbhOAe2%wJskKl0$p0&->hQ?$|Hl8*_SXNX@{JTk+v7Fvl6@gw zO1X;CJJC`K6?nb<+(+p>^#3@&E05aC{7!e(HP3X88sGlsNO%@weQa;syJH`_SFw-X zJ2fqKe52Yc@AWX+(W9+CwV{X3Q*G#B>@r97N)4}|!EKJTP3L@UL5WAhMLW=FKD6yx zHKQ{dF0K98oAh5xp8Cm8#Eq(A<64k}v!F99SDoukQT^wSNw1d3o@tz3tq2x+4N5OG z@SI*~;CTit>14L=uJq|ve11n>aVk0Ev-j@J^K{Rv{X^gGHD8{WlIT3aODYSf-819A z_w606o4=}xr;l#U^e-)O`y%alBxfcka2gF@t@V#?*kAS|?f3Aq|Krl@TxvOdb;D+Q zk$5;)0aHsfp6ACLW!2dK0qax2|E z-|0qqIZIVQcX|79`TYPn*{%HUMtHxQ3dd#5)2bg)<)wS=DR(<9kryU&xDzy^Ugf15 z;a|6J)7v%PZdVcT(J*QKWjDhAdaU$Em$O&(wKZ~w?_ittr5oYhNsfD!mmd+{BmM`= z_k40(4{tZ(d&2||`#-Ke7m$`*$fh&C5aYhLJzA{WHA6zc=YQ zVeG!mpE0W9aRJ&F`F(So{N9`R4j8j<Gu<{o`e- zfOo%t%y-r;T5H{l^~Qr#Lr2pPkM$R4`=s^at(qFBINq95&b$Dr>IkRzL zANbT7c_WomBVnkW^I=zck+#_5JWgI?pNz&Fctgi>wneIxPl=D^M3tYY{B)PS1#~CXe2kPKea9`_6Em=7F^z@>myzkGnB` z`LX_09Q42I-=J>#w>RbOcf-t@uy4w5aUAzjqw`zN*Ji6$Ce^(j>DH(7CeJF@q33lT zF69b&WR%blbh?_MP$GoF8!N+AcSJL7qGeeo>s=6+m?YIyYZHf_G{G2imOzspm~HmZ%zt4&@L;Ud&k zbG}afd#m2&+J4qyogm?Ppq9wVwbI*%ij_I)Hz`{vpQ>_)~8 zw(P}ie?9j9-XN>KdM`UX)yQVw2TtKQPFi@~C(drgsneF+Mw~FEBd7W1k<)zh$Z5Jd zwh?Ji(Zh^~yO*f+O)<-EWP(b-6!-WbVfqcU)7>lmT>UH0AJ#_b{Ui&NHT1IX`;F;l zcxZn?)@M+Kc)7~Fe|Rw2bym`D+&_#Jo<|39F^CF}OP|V3vy`~Q%RzQW@ie_w0abGHBP{APXXlaR`^p1y+Y_-etu%a88f^lrQ7ZeOW9VhuiW z0Hqc>Qo15Y>z<8uVRb*XBS+m&rT4s~dDWLxvpk@`qW4ctr`;Yjjv5P8& z)bK|BrE-pai?(n1N9{G2r%Y83{N$gbd>mleN>o0wRc(ynzAHY`f0)As>OZ(E!Q1Tq zt^7l*68ZO{6*8~(JKs!ij=z^}n&| zp;vlE>;I{n`nPpczoMJ^GFcrgU0XW8K8u#^Kqp4t?TvJ}cq@hb7a6B#oRM*6Mj=hQ|^axuVBgQhjC%XuQPs=@!O2s8NbJPJL4UUI~ae!cqikJ8Alj@ z%6J#!&lz_y{(|vWjK5~QoAI}dzhk_Iv4MrTAI2p!?!mYh<35c0G49WJAmbFqLl_Tb zJdE*h#v>SyWIT#-D&xZ$k7Ycb@kGXx7*An5jd2>|nT(HQd^F=(jE`e{JmV7?r!$_- zIE(Qd#yN~nVw}r(KI44G3mGqByoB*m#-}kpo$;BBix@9sT*`Pk-Qq7+=V^p7AA&FJrup@p{IWGrofHRg9Y$U&D9<xCi52jQcR|$GAV^fs9ia4`Do%@i4~28INE*lJO|Usf-V2JeKiz z#uFJ&VmyWMG{$L+XEHvL@zIQDF+Ps*@r+MooX&VQ<1EH=80RoPiE%FD`Hb@!FJ!!k z@e;;M8K1`ZbjD{gE@HflaVg{Fj8`%~i*Y&QO2*ZUgN$n#uV%c4@p+6dV00T|9f2zk{Rp#=jDjD=y#?B|k{)(`j1k((!-?BY9Nqz9biPg; z8F#i3cNK9@61Ro82Z?)`xVwq_g18WIL(r9WUPs(dh`WNg0^%+q?tJ2CSh(_c#8nda zEODj8eMsDC#3d(#%O`FEadU`UMBMSjT}0eW;Iis@WWTqbcB5_cwXwZvUS+*!okN?Z|fFA%qcxPK6rOWbe_uR3QFH=DRw z#GOyvG~)h9+*sn?CvF6BG~(<`AubhT>&{-poj}}o--BC8+!w_Cins`ITZr31+)Kp0 zN!%yIZ6mHHro^4C#7!pdVd73E?q1?n6Ss-DYl+)P-2KE|Mcn(uT}Ip<;?5&(8fHkH z)x<3!ZaHxm5qCOq4-mJIxDSZSA?^p_P9$z5W|f^s5;vE)NyME^Tq<$DC2kmTPZ8Ij zxW5yZOx%Ge^PRiD19t*(pA)x?xShnUBkn!o?jcOP+=6Zal*^~CkTnoH+u;(kh8IdO%=EhDa;xTVD1O5A+nXw9@U zi@2|dJC3+Ru@=>tM%)R+jVG>%xRJ!2PuvjVHWAl{xEF}q^B-^@689Bx$yo31{FJy+ z#B~stN!;7Sl@Rw5aTgNz3~@IS*FxMw#BCw&72<9uZWnPk5H|p8rkzd1r4hG|INGP^ zynwi6#07~vpSYF8-Avq>#I+E&h`9HOJBhg6#HABQdj_3H6ZbRXrVv*|+~LGsMBH%V zZY6FYaZeG~gSd}~`}SLK12CxW>>}R}KjKyqXAsv&+}HmGcNcNH zh(4~W}ITsv|7uqE923US8}x0Sd8;vOUJ9O9aZqZ2uucM|skaW@ecA?_OD`eMJn zb3JiWiMx=vg~ZhocMfr95qCXtMZ`Tu+!Es6CoY$`{cv)sb2f1kh?_-R7ID*vt08VI zaW@b*g1D!MOCjz9;(8I+6KBghzuOJ&5aPZd?pWd?#1#;?gSZOf-XyM(xNXEeNL(v% z+lhOaxNnKOm$+d#57fDdxD$xmNZhH!T}9k^#9c<*^~9Y=+(X1w6ZZyj%ZdA(xYLQ- z{}6BsiAy6chq!#=P9(05xFdhhjJSUj*PpmyBf%vTH;cI4-+)^{ z+~>rV5x0}LUlR8oakml|ChkSzo+s`j;vOfi2abq#-cQ_g;x-d^3URj(x0<*O#N9yL z<-|QgTs?8G6StbUe-c+tT*@eL%ZNLMxTVAu5jUT>i;2r3?l$6%BkpP9(umtd+<4-8 z;vjD4NaE6n8$#Tv#PuPrj<`KvgS(NquZVk+xKD}un79t&2Bd;}o46Uoy+m9IanBI< zYvNjndz`o}#B~yPJ8^V6xAO+#vWROUE=b%u;;tv|0^*(^E=b%v#H}RmTjI_n?vTU5 zEh6q1;!YxNA#v%%ttIYg;x-XCg}BFvJDj-Ji5pH_7jXlL>o*2m58~2@`}SYpP9m<0 zxU-1+n7GS`+fH1FxYvn$p13yRb`tj_alOZadyu%v#NAEYsl;x-U>1#u4& zcL{Ot61Rr9{}5M6+?a9TN{P!R?lj^~CoZ43HN?#!Zas0w6L$k~Gl|oXqQF5*TK_W^N}iEAhB1ma#HE}yuq#1#|w7;!=3 znu)uJxI2lvhPa!EyOp?Whtk@*_PTnl=1Sg!K z9umJFpg+FAmnxc}VMcNYjbv+qkyO9fFkV~QGbzcyzxJC_svaCIG+pRPLKg`=Q|L;e zL7^82T_?0j=nX<|7rI4gi_m9;z9jT*p&dd$75bIXJwp2gRCtF79Vv9Y&@`dP3C$8Z zU+7Yy%Y>E-T`ja;=;cB;2)#wDe6S`CA=R$W2O8=p{YVA z2|ZHii9&OPE);sY(B(p_g`Ow$GND%q-6(XE(0heGEVNbVHlc3{-61q0^b4Wi3GKB) z#V1AR2%%$zP7^vy=xm|6LYD|F5_*=#TT`%++p*IP=Q)si$$AoSb`ijtYp&tm{ zCG=~d#!3~BenN)|9VK+4(3wJy7dl61zR=TzmI|#Dx<=?FLaz{dozRfbyM;a|^hu#@ zLSGlUUFgR`yM%r#v`3kW&p@HWg&r<+iqNBlrVBku=pvzK3SB8QDD(oM>x4E5y+P>h zLbnKQ5&DeKmxR78v_t5pLcbEaM`)k3RD6aA9Vv9Y&@`dP3C$8ZU+7Yy%Y>E-T`ja; z=;cB;2)#wDe6S`CA=R$W2O8=p{YVA2|ZHii9&OPE);sY z(B(p_g`Ow$GND%q-6(XE(0heGEVNbVHlc3{-61q0^b4Wi3GG#`;*%nDgwU}on{5J*u|4f0wqf?6Rz+%FQ>G+CyX<u%;?l5U4FIsj94{&!>~da8C^w27blq2-MCkuUb}IzM#6c ztV+2uF-oh(Lo3apwRBEd06{LR$*Zd^UWSP~{F>!7&kNM9tRjU>_`yL*_cYG03kH^y z1#9by%gK!#Po;udd?CJs%=10X9S$tD6*$2tz8S$4b@W+za-hh=e0H!buspM>f^-%I z*0A16553H#OY`vMd3>^d1t)&BmyU8~A@n#=)_CZcj!<~&le`qFO6ydbuJ_)i=jdF9?(eN@}ZuTmUK3&7PXem!s4zSk5Jjv|7Bh78akQDduj)ZD{D|%&?YRdEaN&*pRAY7vYL#_s>*XKs_Hly z)_W+-E~~Y2u*t(b>)guXin5Z-;&QI=8$DF!*D14*hZ&Vr)pDr@W3z|OlHy=laj9xB znr-trW#s`hNZDsgThn42ammamp~x4O1OuoulyR-z3Z-Q=)m1gBSlJr6RVAEw@L^7{ zsv-|9Gm{BoflAn?TR+k{m8Jwv|CeNT~;HF2Zy7+hgCeJ zgQtSA0Ihm?@wtV?rKKdIid3Tsr+}@Gt8Z89rnq{J%Cj-9BI-_NaZR8gfX2ACY;{@f zxfF;{Tsu)!V6&}WTv=I#aSm$8DmY1QHQR= zu&$&Q!7n7eOr+n6svze?S3EtlBi|iIY2NB$ZkFqNTICQ!Z?}hPm`lN0A4kg^FOgnT ze7)MLk}B0PI`p_la!dipose#BjjlH9CX1rG_T~gSGs%mV1WMG;6;#y)O9Ez#-D=w? z4JmxnC$uc+Y;?QoQKb}8yyvO6 zzL!p%1w!yw6r_S zX<+DxTZd+3j_^3*5zUYz%qCr$3H88iu-jpuVyF_es7zYDf+CugtHBmOl3!62AVDY)x znc~-&fBTIF`fl; z3=xW_WG-)M&5GO+}iejB~ zDeJw=18b-**y-KmrBqhAO5E7!Wh_%(3PZ@lJXTM**+bWA&M3*aF(p@<<7slU+2W}| zoupZdTRk)i0u{xT7^T|LZ}ZZU^&tvL*u&iPq20qw2GkuMMoTcwv4;f_mj*4u(Lk1* z&aT9$U%JUIP0K8QW--X9EVawiZnv^)OkUs5Syt@k%sFyipFqbf)lCWX%w}O@481vJ zYv%DdBospdOC)NbvN?u=*(GyXiJ^nWhdttUrzN(M-GjHrP*Ouj@~bU|hE;IGF%%FV z8Z|FkOs=%YRKie8nz)WwI*zg#ap`E?beG$(vaW(xq<@fg|>2qY-xNso@?kX^<=J(WaDiT!uR|GmNLumhs}FGYujxHK$3Jr^%eEpjzf3 z|987o)ao1*%z0jYe`og7I+hwYlhyT6W=_AGqD-wivr#jmO%6&ej&w*jwEJov*s#)O zUCD0W*t|K8xz*OR=t@$d*o9Wzke8#Xu!37k<(75YTsm$AN}zC*dDOJ3-KCOWRfdWc zFiTE{+c1bJVMUv;7GnJXXI?Kv&&exp9M$zP%&3i{ zvSQ8vn>0OV|Gd#sH@zk8| zb-5K$*QgK|2e~aF4|hi?P(++g)DLu)4l1Hf)AdoNSQa8b7Sk?w`MI=&11scJldZb4 zxMrmtn~k;s{0^)^deI7b=2ErN;7q=dw*z49_l4y=`2QVYja%SQ9BCPeKXI?-JaZQGijcX-%v zuB18x8i}QAE;u`tyJ9HQ7$LYE%P&sl-7%ESg;S?){UEEvae1I*r4U1x7f&&hpk~L6 z;CfvhJAj;C97{9gX8ml^wQEq)qVr;7Of@?%LJpl8Yp0xYaTbv4%JdRr1>NLwbC*M-D(Kusz%bac3clOctF2nGqCAipMDMXMP*R0C6fY9h54PHi zTI#1|jdH#HnD-qsX?YI|s+6xyWL8{*@w%ECY;?$lyeAY=wyR23k^W|uOzmb%Qo1c9 zBN*&Pf(1@ z*32}OcGDx&o#p0(`XTB8j)Ezl*3$!1XflPF>1y=x5hq&oeobXNo-$CLKKWw zl4^}llN|ATFxig&%gOs0&Ha-KX9SHq1EA8ORPKhArh%;eN3g8}aUD=4XGfAs#gAa4Yanbi4}uw` z>%WsYJvKnUYtVj@m`^6FGT3hZ|g3JnGd6RIBqgnRA~3DqA! zA|ZOE&oGoPAkD)MXx!==6>_*jQ9GRaWFm{ zu+X@BV7Bq*zBxZLYFjdzC_y$XyM zdT}(3XZzaygYhy#cFWy1qOyUXGGbt!RLz8Ij?6Y1d zM?+CaLU>_7PdNkeOmFS*#0$M?n4=wLc&WGhw8Cq>&2Hj9z2W|WaI}k1^Drudc$2_> zw5RlSZ++wG%^?`38Go3DFdPKUFfPI-yAL+aFs|=|^6=sWqlbiWYaePrUhLxz!FPSk z5M10B6#y>`NcK9t^hF=-Xwo-*5X#{cN#Q8n(-EZexc^|s zDDvHd?UB`vgYALshXe#k@1!)%=2WRy~qfLVxYfN{*tNQWKsx+P(Uj({=<3=mbPBG!dx&2%s)P9g~2X zCZj#Go5~vFn!(m`;Z>upCA&99yVu`pjPJ%otsHKh%o&3g=XZmR4+g_mIG${8n>;)? zVEi%F)OmKW@d0^9;@HQxN6pH1Tx7?$@K?HBk&m-f##zT7VQ|*Z3h~g4@8uXK^QuYNt$Wg z2dQZmg@{nsEIitZN8w|WtVz|IBp*jAKZS!{Gn!#BCoxYT5$lhKH7%~q!_+~*rzRm) zjwhc<$#bCfmti!En}PC%v^xQ+9Vb9lTi!ITI4J6n#H(WvwG*Mc)VTK`$4M=7g7qxQ zv+m4?2YK%6wvVv7JmXb#l3gbv9L+xiYD%ZTr^6QvCNCRKBh?Q^7`=Eb`O2-R zth3|Kjd30m|NVGct5Jmx?e*WrTYbSN;}O>k@@TeU^yWpJn-9)4t{dUlV|{UiYwQ1& z5uU++V?=@R)gi`qv|RO>Nmglj4v8PmM9}51jq&EeUTY7bR9MTRa1iPs)RYa>N~kLv z_FYRISB#Jqkr$~wo&%lm9K+}#yX{*?n0xns9pT!gzjma#i20jC;on@cM<|p-z7VQE z38?ub!|1!n2pvKV%TuGw+aJcqqZSy~jwvwS9JA2)SDv+>TOBV0*;J0Z`wc|ufC zeC`nKCW+BC3Z9(|&%%VdPDTt%%xg)X9wPUT{()i;$|dt$m}^_^Bh3nV9p3)eng^}c z`IJts6K0Q&q^XA5TQM#k3!Mc}4CO-+Pif|2yfad5jJ=AoAI>M!Q+ml#{Ki9h+3Ds( zF@*WUXx@<@n}z<*?f_(Xe+#N$Xd&4xAhZa1VU>WLhk7qrcOL2-Cf%LtS{VN%70xV% zTTM$4R8n+qjb1&97yV=l*0>I7*>o!O)b48YDEFr9Lu9-ZZgmi9{y7xQEUhvAHp<)p zv7h~&^5!(?h6#220^t1rT1Iu7ez@9H{CU#xr|%3ZANwLW%Zs=EBeOKRKD95oli&n`mE%gFZChx-a{)t5t|3vV?@rpE8rhx5Fb zH@j<$w`Ur?GUT-Xhlghxk;COQed8GW)cqJ#<>-ulc#Qr`&es2l(h)BmNVaYOtQ(_U z8EAzH-cNw!sRRn)W__~j{?)x>(Bv9_r@X6zLTfcp)7d~_MnMv5fI0{@*TTB|vng_uDj>e+?JUAUbkHbc%sxKMGx7LiS5tQchVOD5$@joWjt(OMsBqJl6-SsW_xwK`v%qxih zSA;tlH?JqYzJY8zZzMKOaNc2j1a`yF0lu7YYa{8S_n`s0ao+@W4e<$RHD5vIp(_b@ zF>bwzbg4XVpJ3f{d2XW7Gea)$Ts<*g-JtpH#QDa}6RmqYPfgUW&b&4eZo)OV|7-Ri zlh#KkqQGkxb^Z*!Ff^do#Nl8Zx|;YfFh+8GDHZEf=B?C!Pn3J8w2t)y>^EHly&ld> zr*|Jg)7i2TqxlH)8tKDFaQkdLj%@9K1w{WhgzGo3SByi~65plpb>t|wvELnGbsU#W zvc~=ECrOWV)g-vGk!-dyZoZ!Q<{K#RvNZj`r07-b7pFq$MpA9MiEx;4)6K+pFz&jA zP3dL5J^4I@@$1R?#6xR zA@-7S)2$S0^EBp;$ttt2nS!{niSzhs{S@o?r*Q=|x}bq<+(bCcxcN5Xn{H?K88_cS z?&Gq{BU9$0l)VURVLU=g+{sG7Sm7>AJtZ`LIThJhYcx)!#>A|K#uG@(rn|_6 zR$$aEy3}&hR9x4?I^ZT4cJX6QlKZC8py3fb3~eSGVaB1~6W_(S^={@FH{X+#4QUz0irsU~U3+dNCO1KM{e$D;UQq$;{o-T|M(;%hekBu1TD_m4v zot~Z_N-9b(qF;42Jyv>YMX6~;`9*2@`DsPWq^B0uC)FpBae5kAsLqF(`2*jS1m#o! zslg%<`l}`cb10Bmetr==O~=#f{PgPd`Xu_V#vlHnL=q`O8?IF6BMj9=)lK3GSyzt1 zdUZ7ifRM5Rqb9gT{uLo!O-ZQ;DTlDA2tiY98r4}-MeY#!0aMOY?tLzDlgMZe*}dx7%6x^$UB@W-W|8wHyl;w}BKG_CRQ5wZ zQ~H@A*B__kH6o`?Q}RQmxyWCLoR5_<`pxR4+%rU8Epq)hWxhq^bb6^Le)QUQO5dhq zl{~1ol3OJ{vqkPmRpyl+?f*SoK>9~L=7Y_LuO8IlbDQ;#Vy)eW;D(BD}bpe%Fait910+DssN0|FM6O`g?P}fLgZGF?+`hRaL{ju$Y~-U zj(p|#h+Hgk%6z4NrO4rhN`6%2R4hQy?@N*MMV>N9!c(Bki$%tJW%;*JQT!41d(ZDh<+6! zcS-ne7TFM)zL`VrS0ASI2M$$oQGt@@h@3C}*O}(Sl=)pEr%8NY6FGIFGVhH&SaQD! zlzu-IIbF)ra*?Y=-XLqHJodEYE@_$NxAwtmUJakP??u!GCt z6?wAAA&Gyn$SEQ>n6l*0pF~cR_WyH{yE2sfqYf7T(v+Mlauec3zqKNFEmHE`BIlo? z+LGnM)CB6mo9lT(#@T~a=#ikyyeK)<3?3BSm{ z6}eU9S40jYpXs+JRop{8rQbB9Gp8rYDgBB?4vGG?BBzM_qR2S5z(0ERJlRhd^GSy* zIaTW4nIapaf3?U>B5xHr|0v}iy?UP9E1II@X-FrMQ$#Kmnf6-gw^8KK5G8LDxmonT zGtJR&(Qh>Jo!m=BJ4nCzBDYHWc#g;^q8}1DUF4TV?vVWIiE>EpHUCt(cf82?Qa{Q> zu3oInH;7z>cAb9PO#6eB{H4gLDM}uPaz^f_%XpAN$T@aBDYHUDm7&(9~(_s@@K2a*jeP?HzKD>{Kq5S8gi zOk_ji|B%S^85a8eMPwWh;$IKcTXL^n&c|>F*SII+AF3G)Sk<&#^7r9d8lvJgEyU6sh z4*G2uIV9=TALW?bYm)MIg2*BGOTV*3PJuo8-7a$4XeGZSa{cK_?mbnxmm>0sB6s~< znXeKV`!xIuiQN1PCBH6mXsMF>O;hfLMa~d8P28&!xmwI05xL`3W&cZ&>qSnRF6k$7 zg~;h*|Mw!Nh#V0)U-ZYPDf@=_e}>3KB3~^s9b}>3VL0Jt;s&l9=2k1}5=a(YECQW`$lXq%z5A>T(_Yc?PY)vlFEZ z`BF{3QIr3q$**hj$C~`TCXf7?JA6lJ^3OH-Y)$@^CjUW`pVQ>eHF;3F+y5Dwe5NL^ z)8v~p`F>4)Ta*8-$-^_;{vWH!XKM1rn!HJqTQ&Kwn*5z6A3EFZ|B0G>swSVM$-mO% zJ2W}0$zN#l!I^IVvo(2{CSRb**J<*fH2E)@{Jka*%X0faQ#uG{}x4k@;jRRFHIgW&mF$;ntZY*S88&DCf}~f&ua2^P5!4Q_r$!^Szb~# z`DdCO(B$(p`L~+fqRH=S@|T)C;AD4rCTVhxCNJ0Ii#7R1O@369-`3zDtuI*5sEpxkHn`)Z~7c$2jwEiYDi2a;YYttI5}E^1YherpXTkpRUPgYw|Uke3vFa zrO6*^@*YhdnePtov6{RTunYhlPfj(mzum$lONIKZJPX{CV#ET`(s_knSPTrIYX1r(B$(p z`FEQ9peDbf$)9L)&n52gq-t`8CZDd!<(ho4Ca>4zUu*J4O}4w5z;S?|0*(iq05}owGe9~Z127wq37|7e*?>8KxquwN zJitkSlL5JaJivUw0zf|C6u?420bmheF<=ScRKQZe&jF_aegQZga0cK^Kp~(APz+cG zC;^lL0)XX!6@Zn1GQe4YRe*9p1)vg81*is`4G02i0CdKx4zL<<4qy%7T)=sN^8ptC z)&edBTm+~GTnxAba4Fz2z%K#o0KWpP2Q&aK2Q&h%09*;U3h-+{6X0sVHGtm$HUO># z&=KO_0yYA!2iyR-5pWX#Cwz@t0KWr-0Jj1*0d51_4#25cgHFTV1=tMuJ>YJ@J%D=w ze*kO&{1MO$xDRkY-~qscfQJAN10Dgi03HQA2KW=;aljLRCjn0ZS^-Z3o&h`y*a~z~2BL06qll1bhVe81M-o0_X&M3ivx<7vM9%=YW3zx&Z$Kd;$0p@D<=+fUg1H z0CofZ4fq!DAHa8j?*V%NKLCtm)LB3>U_U?)Ku#06Ld95HJXk z0vHS!0yqFL6mTG57~mklaKOQU5r9JgBLRm3Mga~3qyk0*4hM_@j0KDXj0a2rOavSO zm;{&%m;#szmjsQ#oOa@E=Oa)8>Ob4U^W&maaegZfW za1`KZz%hVXfMWs20e%WN9&iHSM8MAg>3|HtY(OR;3y=+%1DFfQ0n7uO1UMOx3&;b^ z2P^>O15N=f1QY-k0Tu(608Rxg1^gUv8sHaz(*b7y&IA+!iU7rcWq=YuDIfq?4p;$L z2`B@c1y}_r2UGwm0abu%z}bKxpaxJ2r~|A9oC8<`I2Ujp;C#RZfVF@N0T%)40T%-< z0bB~W4Dd_9I>4_0>j4db%K?pmD*#slt^)iT&;+;|a1G!$fDM3a0oMV33)l#_9&iKT zM!-#gn*p}~eg_BvZUt-t+y=NEa0lQ{z+HgNfZqe|2HXR<7w`wb7Qi0?&4Bv=_X8dP zJP3FQ@G#&JKnvhez+-?v0UifD0eBMd6rdIGG~gM)vw*FD=K#+GUI4TKUIc6d{2A~P z;AOxofL8%wz-xfl0dD}_1iS@!8}JUG9q=yTJ-}Z8+W~(C>;SwE=m7i;@B!dMz)rwN zfR6#603v`+z^8z}19kyE1AGqn2cQe^Prw&|F9BZx{ss6N@C{%$;NO660sjGf2lyVa z2k-;HKwbN9+k|!i>ENerN;SOSLu9^#D6T2JTgY3XgkJknIK%PQkir=y=H*!bR^$?G z0t@oS5nR%6zemKMwWv3eB(Nr*{d3%~N@T&lf2HnJ`PX+|((-RhE_3;}U|#x)Z$n=4 zf@C)D*(S(*+k*4972mM(>yztqgT5^}Z~OVRWPOm(w*_@G(62h(K$CAU*7#00SkkYz z`nOD1le9~fegjKZJuYc>$GUmhOx^kPZPRrD*RL(@gNVMZIq#JEwPfCHv~Rxpw&}bb z?AMZ>{d^~HZ!Pl;_Pw?2zA3-AuBdzWzHMvo1My|g`GH2C7Oa6;`498yzCd(hIz4%Lgac0ly6(wyQJdU zQ*XA@Uc2TeVxAU#MbOhG1{_|mZ0mm5;gI&0x9+>)e!H9x`+Q;6yx;Cu-@5qj*8;!P z$hUIzJ$b)Y<$Atfb@z4r_}#e5dn(%U0nE6b@CzcW*GtA#rB+)oilB*ceh=X*-xs(Zb2RC~u{x9$6BoxJ?@)i`-s zq$}>)J21N)=x#JA+IvppdW8=GIY0mDTX!y^WL{)XJbH5a;aWw`o08Vjk3od9_^+je%Vbo?Z}&Px@pUt_jETo zU{8IxG`@dP-!b)}?qd$6S_=IY7e3t9tjtUhZ4SO>M|*i-Tu<>Lu~?r(^<&R2=UMJ| zJNmI4|Lu={T+rSK>Boxmm6GxG)k~2bOJ?!2LfZJurJnEd^XHZRUPE8D9PP0AjzmB9 z?5y(@FI&9;FJJNFfsa}uX%_t^X+Q4kUv>3mN4=ifzpCHJ$|qp`IIPvy_-Toc9B3bi zjq62#-X5&ph?k(_VNG+w=SP=E#C{ZM0GUWndzEqAIN_yw`ln|T>PNkwD83E-{owJn z>7C+nHPn)9;?*72)4pPx*kM@UxA-N}^nM$CB3tGsZxiZ8eE~PIji`6MCbVL{#9m(V z=v&`c+Vkf%>~<|dnMG!0I$xfjFf7(v_w6^GB`h}fd(K=hi1qK6b7j99zIlI$*T1)H zKk;au($Gp4wv%}G!DWY5?XB0g`N%NKGd~LpE}!zvx5y<-1m0FjoYt(?y zqeruL3WxP|@xqHYHXeT{si*}pfi<7b@gN-_EVf`3oghi*g!a~N6@zz3fF`%w^(4?1+iiuv~R zL{^+{q)wsww-Z_8_37w@K1F@%B$18i4@)Pufp^RMQSx2bY5UPv{U$~J za*rSHt#A7zRCatz$N3$hME0WJ?&_--kT=w-cl0OpgT8*PUgMuw)$6k}iER1KBvaA; zbWb9u)mE4JZR|waj!$L#Q8j~;uq2YZ{+cQp)tledP8**~yXw19Vt0K{F|?&xpQ})sE&sk@3PIBe^Rvkbvkm&)nk!Q; z*{#rce`Y3bxEx>AjH`z^zWQ!Dz3@HiHRArQx?V`0*qY-F^xaXm-iMypl9v1NTQg1t zK0JcsAXr|ksj=P?pV%j5Px}&hx2(xqwYdwuHy)ci(avuI`0+aS7ZCi|rlTW!Q8p}VzRHHgqfcbhF}d+~7_*Xas``tW@M#qPD9HTLIQ6SymftN4>%iBzk+J_;7slK%1O zxXPZNOYF9d1P4RBJeldQ7YourxX}7MNZgQ#F1m24D3$oKR)Xo3Z2>bTvXfBXD<<*F zXpP6mF5||cCgz7Q<65h&ivBE80t@m%rMOyr!jbnTgZNNrELHkud<--Gu6!J`*w@66 zkEN)nF&ti@K0oj6vNDYAbU8Le%HxF0GLP*<#i}^=E3s8vQyvIZ#|V6NRZZENnQ-)oNK?MW7O2 z2{RMT3JXllsks>?4=ox@(@@qNkOgDtn8RMjmjR=EB)7~nt6V6e17#j1=QZzWWBtCE z9^-|si($H{Iisaz3t4H3QgL1N(oOaBQp*mBwA7MwA}#HfRw8xTpomfny1zN?&I8v4 zE0@)>8v7=dX5hLqrJ1R_QQAYwX8RJ9W@ry^l>znag&1ekaWpf(xopS+%D=Zgn3=Xq2;=lqMmzP=+G~q#8h;bQ4g22 zBI==m@)mV>B&L6!KcU^PR+WyFA>AgyciL~*zAO3dTlN+SqjmY z8pLTfaCOo#E-EvgFEJ@ycU2&}Ap;AidjEj?8;J zjP~9<2JceV%8wahkE89%n)?vD0GW$Q?{^(@BWZOhy`rfoloK9KD&i#~d78|sIw zqfNB9L?4{Ct+qktn^?*J2>XiV9hz_;<;|*JnpNRnR~R_V`o=R z(cv(-Hy|||_OV>uzd&o1wVFY^_Sg!kRi&dQiqR@KgrIrhJp8H|>Bn4k zW9wX;W}w$9PEW^J$O@M8II86aP2Xu?Lax{cPaVc_j+ok7j>DuL5A{J0LS%P7rlE6U z;i;fiBHINy^y%TT9J=u^G5Y{V2H6gxR+>jPJ*>ji-B-9mYaYY&u*kMNJwy*^9UGK?-3u7i=56*`W{yJy9fwUp_eOA3gJuIE}y5OcMCSsPdp2x_GdTVhyaz?mwK z1ok+pXoZeu`i`U_(bEO!B(um%f)?(*A`e)m79P)EK z^gPaInR`UfeB?NyXQ`{Xxpf%NdhR@S=Xz*5=13UFQ96gJ$K#x)c4e^! zNGKbq8V&=!_QBLX+~#!5eJsuCpxeX|m6(H3gu-&669N zVRR#DAK%eboeLhS%UE7z=Aso^Rx+1);%a%Eyz%hRT;_=Dl)2R5I!ohpEY6`Bry4De z#Y;@fTuV&nffsSl^Jt4@#)G=(akzF|#Z-45OfjEPA&hkd#nN$fk@{M^<5-EQZXF=8 z9=MN+n2)U?vz7U=j(?ao90xtjN3lx1^YDhLE6bSbn1=Px`#^>=jyigw9($h}h;3#q zYI#|79Gp-ts8bBu60CZNYD^hcsg6Q8)nS5;lnkwo5~*GstO>+OA#gm8XQw9dqJobDSu<4pwb>GvVFs(sRp83u|iYmK83e)+vbB4*x$MPQo1k diff --git a/experiments/Interop/README.md b/experiments/Interop/README.md index 3195edd2363..085a0bc1015 100644 --- a/experiments/Interop/README.md +++ b/experiments/Interop/README.md @@ -2,9 +2,14 @@ ## Usage +Create file `../gradle.properties` with contents: + + llvmInstallPath=/path/to/llvm + Create a Gradle subproject somewhere under `../`, using `../InteropExample` as a template. -To generate the interop stubs and libraries you can run the following command from `../`: +To generate the interop stubs and libraries and build all sources you can run +the following command from `../`: ./gradlew InteropExample:build diff --git a/experiments/buildSrc/src/main/groovy/org/jetbrains/kotlin/NativeInteropPlugin.groovy b/experiments/buildSrc/src/main/groovy/org/jetbrains/kotlin/NativeInteropPlugin.groovy index 1677ef19e41..a47139ba324 100644 --- a/experiments/buildSrc/src/main/groovy/org/jetbrains/kotlin/NativeInteropPlugin.groovy +++ b/experiments/buildSrc/src/main/groovy/org/jetbrains/kotlin/NativeInteropPlugin.groovy @@ -10,7 +10,7 @@ class NativeInteropPlugin implements Plugin { void apply(Project prj) { // TODO: handle other source sets def srcDir = prj.file("src/main/kotlin") - def generatedSrcDir = new File(prj.buildDir, "nativeInteropStubs") + def generatedSrcDir = new File(prj.buildDir, "nativeInteropStubs/kotlin") def nativeLibsDir = new File(prj.buildDir, "nativelibs") prj.configurations { @@ -26,7 +26,7 @@ class NativeInteropPlugin implements Plugin { classpath = prj.configurations.interopStubGenerator main = "org.jetbrains.kotlin.native.interop.gen.jvm.MainKt" args = [srcDir, generatedSrcDir, nativeLibsDir] - systemProperties "java.library.path" : prj.findProject(":Interop:Indexer").file("prebuilt/nativelibs") + systemProperties "java.library.path" : new File(prj.findProject(":Interop:Indexer").buildDir, "nativelibs") environment "LIBCLANG_DISABLE_CRASH_RECOVERY": "1" inputs.files prj.fileTree(srcDir.path).include('**/*.def')