[Ikvm-commit] ikvm/runtime ClassFile.cs, 1.130, 1.131 compiler.cs, 1.247, 1.248 verifier.cs, 1.122,
Brought to you by:
jfrijters
|
From: Jeroen F. <jfr...@us...> - 2014-06-24 12:06:47
|
Update of /cvsroot/ikvm/ikvm/runtime In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv8992 Modified Files: ClassFile.cs compiler.cs verifier.cs Log Message: Updated ldc <methodhandle> error behavior to match Java 8. Index: verifier.cs =================================================================== RCS file: /cvsroot/ikvm/ikvm/runtime/verifier.cs,v retrieving revision 1.122 retrieving revision 1.123 diff -C2 -d -r1.122 -r1.123 *** verifier.cs 1 May 2014 08:07:51 -0000 1.122 --- verifier.cs 24 Jun 2014 12:06:44 -0000 1.123 *************** *** 2773,2782 **** case ClassFile.RefKind.putField: case ClassFile.RefKind.putStatic: ! err = HardError.NoSuchFieldException; ! msg = "no such field: {0}.{1}{2}"; break; default: ! err = HardError.NoSuchMethodException; ! msg = "no such method: {0}.{1}{2}"; break; } --- 2773,2782 ---- case ClassFile.RefKind.putField: case ClassFile.RefKind.putStatic: ! err = HardError.NoSuchFieldError; ! msg = cpi.Name; break; default: ! err = HardError.NoSuchMethodError; ! msg = cpi.Class + "." + cpi.Name + cpi.Signature; break; } *************** *** 2791,2795 **** else { ! SetHardError(wrapper.GetClassLoader(), ref instr, HardError.IllegalAccessException, "member is private: {0}.{1}/{2}, from {3}", cpi.Class, cpi.Name, SigToString(cpi.Signature), wrapper.Name); } } --- 2791,2795 ---- else { ! SetHardError(wrapper.GetClassLoader(), ref instr, HardError.IllegalAccessException, "member is private: {0}.{1}/{2}/{3}, from {4}", cpi.Class, cpi.Name, SigToString(cpi.Signature), cpi.Kind, wrapper.Name); } } *************** *** 3568,3574 **** break; case HardError.IncompatibleClassChangeError: - case HardError.NoSuchFieldException: case HardError.IllegalAccessException: - case HardError.NoSuchMethodException: msg = Message.EmittedIncompatibleClassChangeError; break; --- 3568,3572 ---- Index: ClassFile.cs =================================================================== RCS file: /cvsroot/ikvm/ikvm/runtime/ClassFile.cs,v retrieving revision 1.130 retrieving revision 1.131 diff -C2 -d -r1.130 -r1.131 *** ClassFile.cs 24 Jun 2014 11:15:26 -0000 1.130 --- ClassFile.cs 24 Jun 2014 12:06:44 -0000 1.131 *************** *** 40,45 **** LinkageError, // "exceptions" that are wrapped in an IncompatibleClassChangeError - NoSuchFieldException, - NoSuchMethodException, IllegalAccessException, // if an error is added here, it must also be added to MethodAnalyzer.SetHardError() --- 40,43 ---- Index: compiler.cs =================================================================== RCS file: /cvsroot/ikvm/ikvm/runtime/compiler.cs,v retrieving revision 1.247 retrieving revision 1.248 diff -C2 -d -r1.247 -r1.248 *** compiler.cs 16 Jun 2014 13:07:11 -0000 1.247 --- compiler.cs 24 Jun 2014 12:06:44 -0000 1.248 *************** *** 2743,2754 **** exceptionType = ClassLoaderWrapper.LoadClassCritical("java.lang.NoSuchMethodError"); break; - case HardError.NoSuchFieldException: - exceptionType = ClassLoaderWrapper.LoadClassCritical("java.lang.NoSuchFieldException"); - wrapIncompatibleClassChangeError = true; - break; - case HardError.NoSuchMethodException: - exceptionType = ClassLoaderWrapper.LoadClassCritical("java.lang.NoSuchMethodException"); - wrapIncompatibleClassChangeError = true; - break; case HardError.IllegalAccessException: exceptionType = ClassLoaderWrapper.LoadClassCritical("java.lang.IllegalAccessException"); --- 2743,2746 ---- |