diff options
author | Andy McFadden <fadden@android.com> | 2009-05-26 16:56:30 -0700 |
---|---|---|
committer | Andy McFadden <fadden@android.com> | 2009-05-27 10:02:22 -0700 |
commit | 686e1e23324f1c1f358f29f13f23e57b41c00eaa (patch) | |
tree | 9d72e9cbfdfa92cca66b1b0f3c4c15e8a538e665 /vm/Exception.h | |
parent | cab8be0c6e1e9a683402d5a71b037723a6b15bb2 (diff) | |
download | android_dalvik-686e1e23324f1c1f358f29f13f23e57b41c00eaa.tar.gz android_dalvik-686e1e23324f1c1f358f29f13f23e57b41c00eaa.tar.bz2 android_dalvik-686e1e23324f1c1f358f29f13f23e57b41c00eaa.zip |
Correct handling of certain incompatible class changes.
Tests 065 and 066 depened on the old behavior of the verifier. Updating
them to the new behavior wasn't enough, though, because they weren't
reporting the right error. The verifier's resolution code now examines
the exception to see if the load failure was caused by an incompatible
class change error.
I also updated the description of test 071 to note that it will fail on
the device if you don't have an sdcard.
Added a method to get the exception "cause" field. It handles the
"uninitialized" state, which I keep forgetting about.
Spruced up dvmDumpObject, which hadn't been used in a while. Fixed a
warning in Profile.c.
For internal bug 1866729.
Diffstat (limited to 'vm/Exception.h')
-rw-r--r-- | vm/Exception.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/vm/Exception.h b/vm/Exception.h index 9887929be..404434548 100644 --- a/vm/Exception.h +++ b/vm/Exception.h @@ -123,6 +123,13 @@ bool dvmIsCheckedException(const Object* exception); void dvmWrapException(const char* newExcepStr); /* + * Get the "cause" field from an exception. + * + * Returns NULL if the field is null or uninitialized. + */ +Object* dvmGetExceptionCause(const Object* exception); + +/* * Print the exception stack trace on stderr. Calls the exception's * print function. */ |