Java.use("com.example.Class") -> JavaClassWrapper userdata
| 723 | |
| 724 | // Java.use("com.example.Class") -> JavaClassWrapper userdata |
| 725 | static int lua_java_use(lua_State* L) { |
| 726 | const char* class_name = luaL_checkstring(L, 1); |
| 727 | |
| 728 | JNIEnv* env = get_jni_env(); |
| 729 | if (!env) { |
| 730 | lua_pushnil(L); |
| 731 | lua_pushstring(L, "Failed to get JNIEnv"); |
| 732 | return 2; |
| 733 | } |
| 734 | |
| 735 | JavaClassWrapper* wrapper = java_use(env, class_name); |
| 736 | if (!wrapper) { |
| 737 | lua_pushnil(L); |
| 738 | lua_pushstring(L, "Class not found"); |
| 739 | return 2; |
| 740 | } |
| 741 | |
| 742 | JavaClassWrapper** ud = (JavaClassWrapper**)lua_newuserdata(L, sizeof(JavaClassWrapper*)); |
| 743 | *ud = wrapper; |
| 744 | |
| 745 | // Metatable ekle |
| 746 | luaL_getmetatable(L, JAVA_WRAPPER_MT); |
| 747 | lua_setmetatable(L, -2); |
| 748 | |
| 749 | return 1; |
| 750 | } |
| 751 | |
| 752 | static int lua_java_new(lua_State* L) { |
| 753 | JavaClassWrapper** ud = (JavaClassWrapper**)luaL_checkudata(L, 1, JAVA_WRAPPER_MT); |
nothing calls this directly
no test coverage detected