getLuaArch() (hell)

This commit is contained in:
2026-05-28 21:52:10 -03:00
parent a80b3f1ebe
commit cca07e5557
13 changed files with 4012 additions and 2 deletions

View File

@@ -101,6 +101,12 @@ nn_Exit From_nn_ComputerState(JNIEnv* env, jobject a) {
jint value = env->CallIntMethod(a, ordMID);
return (nn_Exit) value;
}
jobject Carbon::Map::To_nn_Architecture(JNIEnv* env, nn_Architecture a) {
jclass clazz = env->FindClass("org/neoflock/NeoNucleus/nn_Architecture");
jmethodID consMID = env->GetMethodID(clazz, "<init>", "(Ljava/lang/String;)V");
jstring str = env->NewStringUTF(a.name);
return env->NewObject(clazz, consMID, str);
}
namespace Carbon::Exceptions {
CARBON_EXCEPTION_FUNC(ThrowNullPtr, "java/lang/NullPointerException");
}

View File

@@ -28,6 +28,7 @@ namespace Carbon {
nn_Exit From_nn_Exit(JNIEnv* env, jobject a);
jobject To_nn_ComputerState(JNIEnv* env, nn_ComputerState a);
nn_ComputerState From_nn_ComputerState(JNIEnv* env, jobject a);
jobject To_nn_Architecture(JNIEnv* env, nn_Architecture a);
}
typedef struct JavaObjectTarget { // i might lowkey drop this struct

3
src/native/luaarch.h Normal file
View File

@@ -0,0 +1,3 @@
#include "neonucleus.h"
nn_Architecture getLuaArch();

View File

@@ -3,6 +3,7 @@
#include "neonucleus.h"
#include "ncomplib.h"
#include <jni.h>
#include "luaarch.h"
#include "carbon.hpp"
@@ -175,4 +176,9 @@ JNIEXPORT jobject JNICALL Java_org_neoflock_NeoNucleus_NativeBindings_nn_1getCom
nn_Computer* nnPC = (nn_Computer*) Carbon::PointerBacked::GetPointer(env, computer);
NULLPTR_CHECK(nnPC, nn_Component);
return Carbon::Map::To_nn_ComputerState(env, nn_getComputerState(nnPC));
}
JNIEXPORT jobject JNICALL Java_org_neoflock_NeoNucleus_NativeBindings_getLuaArch
(JNIEnv * env, jclass) {
return Carbon::Map::To_nn_Architecture(env, getLuaArch());
}

View File

@@ -7,6 +7,14 @@
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: org_neoflock_NeoNucleus_NativeBindings
* Method: getLuaArch
* Signature: ()Lorg/neoflock/NeoNucleus/nn_Architecture;
*/
JNIEXPORT jobject JNICALL Java_org_neoflock_NeoNucleus_NativeBindings_getLuaArch
(JNIEnv *, jclass);
/*
* Class: org_neoflock_NeoNucleus_NativeBindings
* Method: nn_initContext