diff options
Diffstat (limited to 'libjava/verify.cc')
-rw-r--r-- | libjava/verify.cc | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/libjava/verify.cc b/libjava/verify.cc index 141f27af797..a47571bb809 100644 --- a/libjava/verify.cc +++ b/libjava/verify.cc @@ -31,6 +31,7 @@ details. */ #include <java/lang/Throwable.h> #include <java/lang/reflect/Modifier.h> #include <java/lang/StringBuffer.h> +#include <java/lang/NoClassDefFoundError.h> #ifdef VERIFY_DEBUG #include <stdio.h> @@ -368,7 +369,11 @@ private: = verifier->current_class->getClassLoaderInternal(); // We might see either kind of name. Sigh. if (data.name->first() == 'L' && data.name->limit()[-1] == ';') - data.klass = _Jv_FindClassFromSignature (data.name->chars(), loader); + { + data.klass = _Jv_FindClassFromSignature (data.name->chars(), loader); + if (data.klass == NULL) + throw new java::lang::NoClassDefFoundError(data.name->toString()); + } else data.klass = Class::forName (_Jv_NewStringUtf8Const (data.name), false, loader); |