aboutsummaryrefslogtreecommitdiff
path: root/libjava/include
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2001-11-26 06:40:06 +0000
committerTom Tromey <tromey@gcc.gnu.org>2001-11-26 06:40:06 +0000
commitbea31ffbcb70ab3185f9c323952e3c35f3029326 (patch)
tree9c832cb85fa044528c84acb63e744ae94c2fc47d /libjava/include
parent4bdd26e6080d2eb035aeee8e6d7b1300cae32665 (diff)
downloadgcc-bea31ffbcb70ab3185f9c323952e3c35f3029326.zip
gcc-bea31ffbcb70ab3185f9c323952e3c35f3029326.tar.gz
gcc-bea31ffbcb70ab3185f9c323952e3c35f3029326.tar.bz2
Fix for PR libgcj/2024, plus other class name cleanups:
* include/jvm.h (_Jv_VerifyFieldSignature, _Jv_VerifyMethodSignature, _Jv_VerifyClassName, _Jv_VerifyIdentifier, _Jv_ClassNameSamePackage): Moved from ... * include/java-interp.h: ... here. * defineclass.cc (UTF8_PEEK): No longer conditional on interpreter. (_Jv_VerifyOne): Likewise. (_Jv_VerifyFieldSignature): Likewise. (_Jv_VerifyMethodSignature): Likewise. (is_identifier_start): Likewise. (is_identifier_part): Likewise. (_Jv_VerifyIdentifier): Likewise. (_Jv_VerifyClassName): Likewise. (_Jv_VerifyClassName): Likewise. (_Jv_ClassNameSamePackage): Likewise. (_Jv_VerifyClassName): Fail if class name is too long. * java/lang/natClassLoader.cc (_Jv_NewArrayClass): Disallow array of void. * java/lang/natClass.cc (forName): Check syntax of class name. Include IllegalArgumentException.h. From-SVN: r47334
Diffstat (limited to 'libjava/include')
-rw-r--r--libjava/include/java-interp.h6
-rw-r--r--libjava/include/jvm.h8
2 files changed, 8 insertions, 6 deletions
diff --git a/libjava/include/java-interp.h b/libjava/include/java-interp.h
index 8eeb094..bc1f3ca 100644
--- a/libjava/include/java-interp.h
+++ b/libjava/include/java-interp.h
@@ -33,12 +33,6 @@ _Jv_IsInterpretedClass (jclass c)
struct _Jv_ResolvedMethod;
-bool _Jv_VerifyFieldSignature (_Jv_Utf8Const*sig);
-bool _Jv_VerifyMethodSignature (_Jv_Utf8Const*sig);
-bool _Jv_VerifyClassName (unsigned char* ptr, _Jv_ushort length);
-bool _Jv_VerifyClassName (_Jv_Utf8Const *name);
-bool _Jv_VerifyIdentifier (_Jv_Utf8Const *);
-bool _Jv_ClassNameSamePackage (_Jv_Utf8Const *name1, _Jv_Utf8Const *name2);
void _Jv_DefineClass (jclass, jbyteArray, jint, jint);
void _Jv_InitField (jobject, jclass, int);
diff --git a/libjava/include/jvm.h b/libjava/include/jvm.h
index 858d960..1cba08c 100644
--- a/libjava/include/jvm.h
+++ b/libjava/include/jvm.h
@@ -341,6 +341,14 @@ void _Jv_SetCurrentJNIEnv (_Jv_JNIEnv *);
struct _Jv_JavaVM;
_Jv_JavaVM *_Jv_GetJavaVM ();
+// Some verification functions from defineclass.cc.
+bool _Jv_VerifyFieldSignature (_Jv_Utf8Const*sig);
+bool _Jv_VerifyMethodSignature (_Jv_Utf8Const*sig);
+bool _Jv_VerifyClassName (unsigned char* ptr, _Jv_ushort length);
+bool _Jv_VerifyClassName (_Jv_Utf8Const *name);
+bool _Jv_VerifyIdentifier (_Jv_Utf8Const *);
+bool _Jv_ClassNameSamePackage (_Jv_Utf8Const *name1, _Jv_Utf8Const *name2);
+
#ifdef ENABLE_JVMPI
#include "jvmpi.h"