Fix DexFile's line number and test EH and StackTraceElement in 3 ways.

Testing exception handling: 1. Walking stack 10 levels and then check
depth == 10. 2. Check if correct stack trace is being generated. 3. For
native frame, lineno should be -2 to indicate it is native. Note that
"line number == -2" is how libcore tells from StackTraceElement.

Change-Id: If38c16a59624f259985bcfcebc337b73b0582460
diff --git a/src/object.h b/src/object.h
index 8a186e1..1df10ad 100644
--- a/src/object.h
+++ b/src/object.h
@@ -1724,12 +1724,12 @@
     return file_name_;
   }
 
-  uint32_t GetLineNumber() const {
+  int32_t GetLineNumber() const {
     return line_number_;
   }
 
   static StackTraceElement* Alloc(const String* declaring_class, const String* method_name,
-                                  const String* file_name, uint32_t line_number) {
+                                  const String* file_name, int32_t line_number) {
     StackTraceElement* trace = down_cast<StackTraceElement*>(GetStackTraceElement()->NewInstance());
     trace->declaring_class_ = declaring_class;
     trace->method_name_ = method_name;
@@ -1746,7 +1746,7 @@
   const String* declaring_class_;
   const String* method_name_;
   const String* file_name_;
-  uint32_t line_number_;
+  int32_t line_number_;
 
   static Class* GetStackTraceElement() {
     DCHECK(java_lang_StackTraceElement_ != NULL);