summaryrefslogtreecommitdiffstats
path: root/vm/Exception.h
diff options
context:
space:
mode:
authorAndy McFadden <fadden@android.com>2009-05-26 16:56:30 -0700
committerAndy McFadden <fadden@android.com>2009-05-27 10:02:22 -0700
commit686e1e23324f1c1f358f29f13f23e57b41c00eaa (patch)
tree9d72e9cbfdfa92cca66b1b0f3c4c15e8a538e665 /vm/Exception.h
parentcab8be0c6e1e9a683402d5a71b037723a6b15bb2 (diff)
downloadandroid_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.h7
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.
*/