mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			88 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C++
		
	
	
	
| // natVMObjectStreamClass.cc - Native part of VMObjectStreamClass class.
 | |
| 
 | |
| /* Copyright (C) 2003  Free Software Foundation
 | |
| 
 | |
|    This VMObjectStreamClass is part of libgcj.
 | |
| 
 | |
| This software is copyrighted work licensed under the terms of the
 | |
| Libgcj License.  Please consult the ObjectInputStream "LIBGCJ_LICENSE" for
 | |
| details.  */
 | |
| 
 | |
| #include <gcj/cni.h>
 | |
| #include <jvm.h>
 | |
| 
 | |
| #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);
 | |
| }
 |