< prev index next >
test/jdk/com/sun/tools/jextract/jclang-ffi/src/jdk/internal/clang/LibClang.java
Print this page
*** 20,53 ****
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package jdk.internal.clang;
! import clang.CXString.CXString;
import java.foreign.Libraries;
import java.foreign.Library;
import java.foreign.memory.Pointer;
import java.lang.invoke.MethodHandles;
import java.nio.file.Paths;
public class LibClang {
private static final boolean DEBUG = Boolean.getBoolean("libclang.debug");
! static final clang.Index lib;
! private static final clang.CXString lcxstr;
static {
if (DEBUG) {
System.err.println("Loading LibClang FFI");
}
String libName = System.getProperty("os.name").startsWith("Windows")
? "libclang"
: "clang";
Library libclang = Libraries.loadLibrary(MethodHandles.lookup(), libName);
! lib = Libraries.bind(clang.Index.class, libclang);
! lcxstr = Libraries.bind(clang.CXString.class, libclang);
}
public static Index createIndex(boolean local) {
Index index = new Index(lib.clang_createIndex(local ? 1 : 0, 0));
lib.clang_toggleCrashRecovery(0);
--- 20,53 ----
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package jdk.internal.clang;
! import clang.CXString_h.CXString;
import java.foreign.Libraries;
import java.foreign.Library;
import java.foreign.memory.Pointer;
import java.lang.invoke.MethodHandles;
import java.nio.file.Paths;
public class LibClang {
private static final boolean DEBUG = Boolean.getBoolean("libclang.debug");
! static final clang.Index_h lib;
! private static final clang.CXString_h lcxstr;
static {
if (DEBUG) {
System.err.println("Loading LibClang FFI");
}
String libName = System.getProperty("os.name").startsWith("Windows")
? "libclang"
: "clang";
Library libclang = Libraries.loadLibrary(MethodHandles.lookup(), libName);
! lib = Libraries.bind(clang.Index_h.class, libclang);
! lcxstr = Libraries.bind(clang.CXString_h.class, libclang);
}
public static Index createIndex(boolean local) {
Index index = new Index(lib.clang_createIndex(local ? 1 : 0, 0));
lib.clang_toggleCrashRecovery(0);
< prev index next >