Hi, On Sun, 2004-11-14 at 20:40, Casey Marshall wrote: > Or, why not implement Class.getSigners and Class.setSigners?
That is a very nice idea! Thanks for writing that patch. Could this patch please go into CVS? It is a bit of a pain to keep applying workarounds for testing anything that uses signed jar files. Thanks, Mark
Index: kaffe/kaffevm/classMethod.h
===================================================================
RCS file: /cvs/kaffe/kaffe/kaffe/kaffevm/classMethod.h,v
retrieving revision 1.68
diff -u -b -B -r1.68 classMethod.h
--- kaffe/kaffevm/classMethod.h 19 Aug 2004 19:29:02 -0000 1.68
+++ kaffe/kaffevm/classMethod.h 14 Nov 2004 19:39:20 -0000
@@ -163,6 +163,9 @@
/** Stab type ID. */
int stab_id;
#endif
+
+ /** The array of 'signer' objects; usually Certificates. */
+ HArrayOfObject* signers;
};
#ifndef __DEFINED_CLASS
Index: libraries/clib/native/Class.c
===================================================================
RCS file: /cvs/kaffe/kaffe/libraries/clib/native/Class.c,v
retrieving revision 1.74
diff -u -b -B -r1.74 Class.c
--- libraries/clib/native/Class.c 5 Jul 2004 16:40:53 -0000 1.74
+++ libraries/clib/native/Class.c 14 Nov 2004 19:39:20 -0000
@@ -280,16 +280,16 @@
return (this->accflags & (ACC_MASK & ~ACC_SUPER));
}
-HArrayOfObject* NONRETURNING
-java_lang_Class_getSigners(struct Hjava_lang_Class* this UNUSED)
+HArrayOfObject*
+java_lang_Class_getSigners0(struct Hjava_lang_Class* this)
{
- unimp("java.lang.Class:getSigners unimplemented");
+ return this->signers;
}
-void NONRETURNING
-java_lang_Class_setSigners(struct Hjava_lang_Class* this UNUSED, HArrayOfObject* sigs UNUSED)
+void
+java_lang_Class_setSigners(struct Hjava_lang_Class* this, HArrayOfObject* sigs)
{
- unimp("java.lang.Class:setSigners unimplemented");
+ this->signers = sigs;
}
/*
Index: libraries/javalib/java/lang/Class.java
===================================================================
RCS file: /cvs/kaffe/kaffe/libraries/javalib/java/lang/Class.java,v
retrieving revision 1.49
diff -u -b -B -r1.49 Class.java
--- libraries/javalib/java/lang/Class.java 22 Mar 2004 11:24:46 -0000 1.49
+++ libraries/javalib/java/lang/Class.java 14 Nov 2004 19:39:20 -0000
@@ -356,7 +356,14 @@
return loader.getResourceAsStream(name);
}
-native public Object[] getSigners();
+public Object[] getSigners()
+{
+ Object[] signers = getSigners0();
+ return signers == null ? null : (Object[]) signers.clone();
+}
+
+private native Object[] getSigners0();
+
native void setSigners(Object[] signers);
native public Class getSuperclass();
Index: libraries/javalib/java/lang/ClassLoader.java
===================================================================
RCS file: /cvs/kaffe/kaffe/libraries/javalib/java/lang/ClassLoader.java,v
retrieving revision 1.32
diff -u -b -B -r1.32 ClassLoader.java
--- libraries/javalib/java/lang/ClassLoader.java 22 Mar 2004 11:24:46 -0000 1.32
+++ libraries/javalib/java/lang/ClassLoader.java 14 Nov 2004 19:39:20 -0000
@@ -201,9 +201,8 @@
return parent;
}
-protected final void setSigners(Class cl, Object signers[]) {
- throw new kaffe.util.NotImplemented(getClass().getName()
- + ".setSigners()");
+protected final void setSigners(Class cl, Object[] signers) {
+ cl.setSigners (signers);
}
protected final Class findLoadedClass(String name) {
signature.asc
Description: This is a digitally signed message part
_______________________________________________ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
