< prev index next >

src/jdk.internal.clang/share/native/libjclang/jdk_internal_clang.cpp

Print this page




 391 
 392     jobject jC = env->NewDirectByteBuffer(&cursor, sizeof(CXCursor));
 393     jobject jP = env->NewDirectByteBuffer(&parent, sizeof(CXCursor));
 394     return (CXChildVisitResult) env->CallStaticIntMethod(clsCursor,
 395                                                          visitorID,
 396                                                          pCtx->visitor,
 397                                                          jC, jP,
 398                                                          pCtx->data);
 399 }
 400 
 401 JNIEXPORT jint JNICALL Java_jdk_internal_clang_Cursor_visitChildren
 402   (JNIEnv *env, jobject cursor, jobject visitor, jobject data) {
 403     CXCursor *ptr = (CXCursor*) J2P(env, cursor);
 404     struct visitor_data ctx;
 405     env->GetJavaVM(&(ctx.jvm));
 406     ctx.visitor = visitor;
 407     ctx.data = data;
 408     return clang_visitChildren(*ptr, visitorFunc, &ctx);
 409 }
 410 
 411 JNIEXPORT jboolean JNICALL Java_jdk_internal_clang_Cursor_equalCursor
 412   (JNIEnv *env, jobject cursor, jobject other) {
 413     CXCursor *ptr = (CXCursor*) J2P(env, cursor);
 414     CXCursor *ptrOther = (CXCursor*) J2P(env, other);
 415     return clang_equalCursors(*ptr, *ptrOther);
 416 }
 417 
 418 JNIEXPORT jobject JNICALL Java_jdk_internal_clang_Cursor_type
 419   (JNIEnv *env, jobject cursor) {
 420     CXCursor *ptr = (CXCursor*) J2P(env, cursor);
 421     CXType type = clang_getCursorType(*ptr);
 422     jobject buffer = env->NewDirectByteBuffer(&type, sizeof(CXType));
 423     return env->NewObject(clsType, ctorType, buffer);
 424 }
 425 
 426 JNIEXPORT jobject JNICALL Java_jdk_internal_clang_Cursor_getEnumDeclIntegerType
 427   (JNIEnv *env, jobject cursor) {
 428     CXCursor *ptr = (CXCursor*) J2P(env, cursor);
 429     CXType type = clang_getEnumDeclIntegerType(*ptr);
 430     jobject buffer = env->NewDirectByteBuffer(&type, sizeof(CXType));
 431     return env->NewObject(clsType, ctorType, buffer);
 432 }
 433 
 434 JNIEXPORT jobject JNICALL Java_jdk_internal_clang_Cursor_getDefinition
 435   (JNIEnv *env, jobject cursor) {
 436     CXCursor *ptr = (CXCursor*) J2P(env, cursor);
 437     CXCursor def = clang_getCursorDefinition(*ptr);


 500 
 501 JNIEXPORT jint JNICALL Java_jdk_internal_clang_Cursor_getBitFieldWidth
 502   (JNIEnv *env, jobject _self) {
 503     CXCursor *ptr = (CXCursor*) J2P(env, _self);
 504     return clang_getFieldDeclBitWidth(*ptr);
 505 }
 506 
 507 JNIEXPORT jlong JNICALL Java_jdk_internal_clang_Cursor_getTranslationUnit0
 508   (JNIEnv *env, jobject _self) {
 509     CXCursor *ptr = (CXCursor*) J2P(env, _self);
 510     return (jlong) clang_Cursor_getTranslationUnit(*ptr);
 511 }
 512 
 513 JNIEXPORT jstring JNICALL Java_jdk_internal_clang_Cursor_getMangling
 514   (JNIEnv *env, jobject _self) {
 515     CXCursor *ptr = (CXCursor*) J2P(env, _self);
 516     CXString mangled = clang_Cursor_getMangling(*ptr);
 517     return CX2JString(env, mangled);
 518 }
 519 







 520 /*************************************
 521  * Type <-> CXType related functions
 522  *************************************/
 523 
 524 JNIEXPORT jboolean JNICALL Java_jdk_internal_clang_Type_isVariadic
 525   (JNIEnv *env, jobject type) {
 526     CXType *ptr = (CXType*) J2P(env, type);
 527     return clang_isFunctionTypeVariadic(*ptr);
 528 }
 529 
 530 JNIEXPORT jobject JNICALL Java_jdk_internal_clang_Type_resultType
 531   (JNIEnv *env, jobject type) {
 532     CXType *ptr = (CXType*) J2P(env, type);
 533     CXType result = clang_getResultType(*ptr);
 534     jobject buffer = env->NewDirectByteBuffer(&result, sizeof(CXType));
 535     return env->NewObject(clsType, ctorType, buffer);
 536 }
 537 
 538 JNIEXPORT jint JNICALL Java_jdk_internal_clang_Type_numberOfArgs
 539   (JNIEnv *env, jobject type) {


 596   (JNIEnv *env, jobject type) {
 597     CXType *ptr = (CXType*) J2P(env, type);
 598     return ptr->kind;
 599 }
 600 
 601 JNIEXPORT jlong JNICALL Java_jdk_internal_clang_Type_size
 602   (JNIEnv *env, jobject type) {
 603     CXType *ptr = (CXType*) J2P(env, type);
 604     return clang_Type_getSizeOf(*ptr);
 605 }
 606 
 607 JNIEXPORT jlong JNICALL Java_jdk_internal_clang_Type_getOffsetOf
 608   (JNIEnv *env, jobject type, jstring field_name) {
 609     CXType *ptr = (CXType*) J2P(env, type);
 610     const char *name = env->GetStringUTFChars(field_name, NULL);
 611     long long offset = clang_Type_getOffsetOf(*ptr, name);
 612     env->ReleaseStringUTFChars(field_name, name);
 613     return offset;
 614 }
 615 







 616 JNIEXPORT jobject JNICALL Java_jdk_internal_clang_Type_getDeclarationCursor
 617   (JNIEnv *env, jobject type) {
 618     CXType *ptr = (CXType*) J2P(env, type);
 619     CXCursor result = clang_getTypeDeclaration(*ptr);
 620     jobject buffer = env->NewDirectByteBuffer(&result, sizeof(CXCursor));
 621     return env->NewObject(clsCursor, ctorCursor, buffer);
 622 }
 623 
 624 /*************************************
 625  * Location related functions
 626  *************************************/
 627 
 628 JNIEXPORT jobject JNICALL Java_jdk_internal_clang_SourceLocation_getFileLocation
 629   (JNIEnv *env, jobject loc) {
 630     CXSourceLocation *ptr = (CXSourceLocation*) J2P(env, loc);
 631     struct LocationFactory f;
 632     return f.get(env, ptr, clang_getFileLocation);
 633 }
 634 
 635 JNIEXPORT jobject JNICALL Java_jdk_internal_clang_SourceLocation_getExpansionLocation




 391 
 392     jobject jC = env->NewDirectByteBuffer(&cursor, sizeof(CXCursor));
 393     jobject jP = env->NewDirectByteBuffer(&parent, sizeof(CXCursor));
 394     return (CXChildVisitResult) env->CallStaticIntMethod(clsCursor,
 395                                                          visitorID,
 396                                                          pCtx->visitor,
 397                                                          jC, jP,
 398                                                          pCtx->data);
 399 }
 400 
 401 JNIEXPORT jint JNICALL Java_jdk_internal_clang_Cursor_visitChildren
 402   (JNIEnv *env, jobject cursor, jobject visitor, jobject data) {
 403     CXCursor *ptr = (CXCursor*) J2P(env, cursor);
 404     struct visitor_data ctx;
 405     env->GetJavaVM(&(ctx.jvm));
 406     ctx.visitor = visitor;
 407     ctx.data = data;
 408     return clang_visitChildren(*ptr, visitorFunc, &ctx);
 409 }
 410 







 411 JNIEXPORT jobject JNICALL Java_jdk_internal_clang_Cursor_type
 412   (JNIEnv *env, jobject cursor) {
 413     CXCursor *ptr = (CXCursor*) J2P(env, cursor);
 414     CXType type = clang_getCursorType(*ptr);
 415     jobject buffer = env->NewDirectByteBuffer(&type, sizeof(CXType));
 416     return env->NewObject(clsType, ctorType, buffer);
 417 }
 418 
 419 JNIEXPORT jobject JNICALL Java_jdk_internal_clang_Cursor_getEnumDeclIntegerType
 420   (JNIEnv *env, jobject cursor) {
 421     CXCursor *ptr = (CXCursor*) J2P(env, cursor);
 422     CXType type = clang_getEnumDeclIntegerType(*ptr);
 423     jobject buffer = env->NewDirectByteBuffer(&type, sizeof(CXType));
 424     return env->NewObject(clsType, ctorType, buffer);
 425 }
 426 
 427 JNIEXPORT jobject JNICALL Java_jdk_internal_clang_Cursor_getDefinition
 428   (JNIEnv *env, jobject cursor) {
 429     CXCursor *ptr = (CXCursor*) J2P(env, cursor);
 430     CXCursor def = clang_getCursorDefinition(*ptr);


 493 
 494 JNIEXPORT jint JNICALL Java_jdk_internal_clang_Cursor_getBitFieldWidth
 495   (JNIEnv *env, jobject _self) {
 496     CXCursor *ptr = (CXCursor*) J2P(env, _self);
 497     return clang_getFieldDeclBitWidth(*ptr);
 498 }
 499 
 500 JNIEXPORT jlong JNICALL Java_jdk_internal_clang_Cursor_getTranslationUnit0
 501   (JNIEnv *env, jobject _self) {
 502     CXCursor *ptr = (CXCursor*) J2P(env, _self);
 503     return (jlong) clang_Cursor_getTranslationUnit(*ptr);
 504 }
 505 
 506 JNIEXPORT jstring JNICALL Java_jdk_internal_clang_Cursor_getMangling
 507   (JNIEnv *env, jobject _self) {
 508     CXCursor *ptr = (CXCursor*) J2P(env, _self);
 509     CXString mangled = clang_Cursor_getMangling(*ptr);
 510     return CX2JString(env, mangled);
 511 }
 512 
 513 JNIEXPORT jboolean JNICALL Java_jdk_internal_clang_Cursor_equalCursor
 514   (JNIEnv *env, jobject cursor, jobject other) {
 515     CXCursor *ptr = (CXCursor*) J2P(env, cursor);
 516     CXCursor *ptrOther = (CXCursor*) J2P(env, other);
 517     return clang_equalCursors(*ptr, *ptrOther);
 518 }
 519 
 520 /*************************************
 521  * Type <-> CXType related functions
 522  *************************************/
 523 
 524 JNIEXPORT jboolean JNICALL Java_jdk_internal_clang_Type_isVariadic
 525   (JNIEnv *env, jobject type) {
 526     CXType *ptr = (CXType*) J2P(env, type);
 527     return clang_isFunctionTypeVariadic(*ptr);
 528 }
 529 
 530 JNIEXPORT jobject JNICALL Java_jdk_internal_clang_Type_resultType
 531   (JNIEnv *env, jobject type) {
 532     CXType *ptr = (CXType*) J2P(env, type);
 533     CXType result = clang_getResultType(*ptr);
 534     jobject buffer = env->NewDirectByteBuffer(&result, sizeof(CXType));
 535     return env->NewObject(clsType, ctorType, buffer);
 536 }
 537 
 538 JNIEXPORT jint JNICALL Java_jdk_internal_clang_Type_numberOfArgs
 539   (JNIEnv *env, jobject type) {


 596   (JNIEnv *env, jobject type) {
 597     CXType *ptr = (CXType*) J2P(env, type);
 598     return ptr->kind;
 599 }
 600 
 601 JNIEXPORT jlong JNICALL Java_jdk_internal_clang_Type_size
 602   (JNIEnv *env, jobject type) {
 603     CXType *ptr = (CXType*) J2P(env, type);
 604     return clang_Type_getSizeOf(*ptr);
 605 }
 606 
 607 JNIEXPORT jlong JNICALL Java_jdk_internal_clang_Type_getOffsetOf
 608   (JNIEnv *env, jobject type, jstring field_name) {
 609     CXType *ptr = (CXType*) J2P(env, type);
 610     const char *name = env->GetStringUTFChars(field_name, NULL);
 611     long long offset = clang_Type_getOffsetOf(*ptr, name);
 612     env->ReleaseStringUTFChars(field_name, name);
 613     return offset;
 614 }
 615 
 616 JNIEXPORT jboolean JNICALL Java_jdk_internal_clang_Type_equalType
 617   (JNIEnv *env, jobject type, jobject other) {
 618     CXType *ptr = (CXType*) J2P(env, type);
 619     CXType *ptrOther = (CXType*) J2P(env, other);
 620     return clang_equalTypes(*ptr, *ptrOther);
 621 }
 622 
 623 JNIEXPORT jobject JNICALL Java_jdk_internal_clang_Type_getDeclarationCursor
 624   (JNIEnv *env, jobject type) {
 625     CXType *ptr = (CXType*) J2P(env, type);
 626     CXCursor result = clang_getTypeDeclaration(*ptr);
 627     jobject buffer = env->NewDirectByteBuffer(&result, sizeof(CXCursor));
 628     return env->NewObject(clsCursor, ctorCursor, buffer);
 629 }
 630 
 631 /*************************************
 632  * Location related functions
 633  *************************************/
 634 
 635 JNIEXPORT jobject JNICALL Java_jdk_internal_clang_SourceLocation_getFileLocation
 636   (JNIEnv *env, jobject loc) {
 637     CXSourceLocation *ptr = (CXSourceLocation*) J2P(env, loc);
 638     struct LocationFactory f;
 639     return f.get(env, ptr, clang_getFileLocation);
 640 }
 641 
 642 JNIEXPORT jobject JNICALL Java_jdk_internal_clang_SourceLocation_getExpansionLocation


< prev index next >