diff options
Diffstat (limited to 'libjava/java/io/natVMObjectStreamClass.cc')
-rw-r--r-- | libjava/java/io/natVMObjectStreamClass.cc | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/libjava/java/io/natVMObjectStreamClass.cc b/libjava/java/io/natVMObjectStreamClass.cc index b7a056c..847b540 100644 --- a/libjava/java/io/natVMObjectStreamClass.cc +++ b/libjava/java/io/natVMObjectStreamClass.cc @@ -13,11 +13,75 @@ details. */ #include <java/io/VMObjectStreamClass.h> #include <java/lang/Class.h> +#include <java/lang/reflect/Field.h> + +using namespace java::lang::reflect; jboolean java::io::VMObjectStreamClass::hasClassInitializer (jclass klass) { + if (klass->isPrimitive()) + return false; _Jv_Method *meth = _Jv_GetMethodLocal(klass, gcj::clinit_name, gcj::void_signature); return (meth != NULL); } + +void +java::io::VMObjectStreamClass::setDoubleNative (Field *f, jobject obj, + jdouble val) +{ + f->setDouble (NULL, obj, val, false); +} + +void +java::io::VMObjectStreamClass::setFloatNative (Field *f, jobject obj, + jfloat val) +{ + f->setFloat (NULL, obj, val, false); +} + +void +java::io::VMObjectStreamClass::setLongNative (Field *f, jobject obj, jlong val) +{ + f->setLong (NULL, obj, val, false); +} + +void +java::io::VMObjectStreamClass::setIntNative (Field *f, jobject obj, jint val) +{ + f->setInt (NULL, obj, val, false); +} + +void +java::io::VMObjectStreamClass::setShortNative (Field *f, jobject obj, + jshort val) +{ + f->setShort (NULL, obj, val, false); +} + +void +java::io::VMObjectStreamClass::setCharNative (Field *f, jobject obj, jchar val) +{ + f->setChar (NULL, obj, val, false); +} + +void +java::io::VMObjectStreamClass::setByteNative (Field *f, jobject obj, jbyte val) +{ + f->setByte (NULL, obj, val, false); +} + +void +java::io::VMObjectStreamClass::setBooleanNative (Field *f, jobject obj, + jboolean val) +{ + f->setBoolean (NULL, obj, val, false); +} + +void +java::io::VMObjectStreamClass::setObjectNative (Field *f, jobject obj, + jobject val) +{ + f->set (NULL, obj, val, f->getType(), false); +} |