⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 objectinputstream.c

📁 kaffe Java 解释器语言,源码,Java的子集系统,开放源代码
💻 C
字号:
/* * Copyright (C) 2003 Kaffe Team. */#include "config.h"#include "config-std.h"#include <kaffe/jtypes.h>#include <native.h>#include "java_lang_SecurityManager.h"#include "java_io_ObjectInputStream.h"#include "../../../kaffe/kaffevm/object.h"#include "../../../kaffe/kaffevm/classMethod.h"#include "../../../kaffe/kaffevm/exception.h"#include "../../../kaffe/kaffevm/lookup.h"#include "../../../kaffe/kaffevm/soft.h"struct Hjava_lang_ClassLoader*java_io_ObjectInputStream_currentClassLoader(		struct Hjava_lang_SecurityManager* mgr){	return (struct Hjava_lang_ClassLoader *)		do_execute_java_method(mgr, "currentClassLoader",				"()Ljava/lang/ClassLoader;", 0, 0).l;}struct Hjava_lang_Object*java_io_ObjectInputStream_allocateObject(		struct Hjava_io_ObjectInputStream* this,		struct Hjava_lang_Class* clazz){	if (CLASS_IS_INTERFACE(clazz) || CLASS_IS_ABSTRACT(clazz))		throwException(InstantiationException(clazz->name->data));	return newObject(clazz);}voidjava_io_ObjectInputStream_callConstructor(		struct Hjava_io_ObjectInputStream* this,		struct Hjava_lang_Class* clazz,		struct Hjava_lang_Object* object){	Method* meth;	/* Taken from the ObjectStreamClassImpl.c */	meth = findMethodLocal(clazz, constructor_name, void_signature);	if (meth == 0) {		SignalErrorf("java.io.InvalidClassException",			     "%s; Missing no-arg constructor for class",			     CLASS_CNAME(clazz));	}	else if ((meth->accflags & (ACC_CONSTRUCTOR|ACC_PRIVATE)) != ACC_CONSTRUCTOR) {		SignalErrorf("java.io.InvalidClassException",			     "%s; IllegalAccessException",			     CLASS_CNAME(clazz));	}	else {		do_execute_java_method(object, 0, 0, meth, 0);	}}jbooleanjava_io_VMObjectStreamClass_hasClassInitializer(struct Hjava_lang_Class* clazz){	Method* meth;	/* I prefer to remain prudent */	if (clazz == NULL)	{		soft_nullpointer();	}	meth = findMethodLocal(clazz, init_name, void_signature);	return (meth != NULL);		}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -