blob: db17b7b0ec340b7c38de6ee547224a4f9f3c16ff [file] [log] [blame]
//===-------- Classpath.cpp - Configuration for classpath -------------------===//
//
// JnJVM
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#include "Classpath.h"
#include "ClasspathConstructor.h"
#include "ClasspathMethod.h"
#include "ClasspathVMClass.h"
#include "ClasspathVMClassLoader.h"
#include "ClasspathVMField.h"
#include "ClasspathVMObject.h"
#include "ClasspathVMRuntime.h"
#include "ClasspathVMStackWalker.h"
#include "ClasspathVMSystem.h"
#include "ClasspathVMSystemProperties.h"
#include "ClasspathVMThread.h"
#include "ClasspathVMThrowable.h"
#include "JavaClass.h"
#include "Jnjvm.h"
#include "NativeUtil.h"
typedef void (*function_t) (void);
function_t faketable[] = {
(function_t)Java_java_lang_VMSystem_arraycopy,
(function_t)Java_java_lang_VMSystem_identityHashCode,
(function_t)Java_java_lang_VMThread_currentThread,
(function_t)Java_java_lang_VMClassLoader_getPrimitiveClass,
(function_t)Java_java_lang_VMClass_isArray,
(function_t)Java_java_lang_VMClass_getDeclaredConstructors,
(function_t)Java_java_lang_VMClass_getDeclaredMethods,
(function_t)Java_java_lang_VMClass_forName,
(function_t)Java_java_lang_VMClass_getModifiers,
(function_t)Java_gnu_classpath_VMSystemProperties_preInit,
(function_t)Java_java_lang_VMObject_clone,
(function_t)Java_java_lang_VMObject_getClass,
(function_t)Java_java_lang_VMRuntime_mapLibraryName,
(function_t)Java_java_lang_VMRuntime_nativeLoad,
(function_t)Java_java_lang_reflect_Constructor_getParameterTypes,
(function_t)Java_java_lang_reflect_Constructor_getModifiersInternal,
(function_t)Java_java_lang_reflect_Method_getModifiersInternal,
(function_t)Java_java_lang_reflect_Constructor_constructNative,
(function_t)Java_java_lang_VMClassLoader_findLoadedClass,
(function_t)Java_java_lang_VMClassLoader_loadClass,
(function_t)Java_java_lang_VMClass_getName,
(function_t)Java_java_lang_VMThrowable_fillInStackTrace,
(function_t)Java_java_lang_VMClassLoader_defineClass,
(function_t)Java_java_lang_VMClassLoader_resolveClass,
(function_t)Java_java_lang_VMClass_isPrimitive,
(function_t)Java_java_lang_VMClass_isInterface,
(function_t)Java_java_lang_VMClass_getComponentType,
(function_t)Java_java_lang_VMRuntime_gc,
(function_t)Java_java_lang_VMClass_getClassLoader,
(function_t)Java_java_lang_VMClass_isAssignableFrom,
(function_t)Java_java_lang_reflect_Field_getModifiersInternal,
(function_t)Java_gnu_classpath_VMStackWalker_getClassContext
};
extern "C" int ClasspathBoot(int argc, char** argv, char** env) {
void* p;
p = &faketable;
p = &GNUClasspathLibs;
p = &GNUClasspathGlibj;
return 1;
}
using namespace jnjvm;
extern "C" {
JNIEXPORT bool JNICALL Java_java_io_VMObjectStreamClass_hasClassInitializer(
#ifdef NATIVE_JNI
JNIEnv *env,
jclass clazz,
#endif
jclass Cl) {
CommonClass* cl = NativeUtil::resolvedImplClass(Cl, true);
if (cl->lookupMethodDontThrow(Jnjvm::clinitName, Jnjvm::clinitType, true, false))
return true;
else
return false;
}
}