[SCM] master: swagiaal: Created and used DwAttributeNotFoundException

swagiaal@sourceware.org swagiaal@sourceware.org
Thu Nov 15 18:56:00 GMT 2007


The branch, master has been updated
       via  690290c4dde512010e498ddc45360a12f78324e7 (commit)
      from  8dfc3ba44a89e553cb877c46f8c0552fc9ec171b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit 690290c4dde512010e498ddc45360a12f78324e7
Author: Sami Wagiaalla <swagiaal@redhat.com>
Date:   Thu Nov 15 12:47:05 2007 -0500

    swagiaal: Created and used DwAttributeNotFoundException
    
    frysk-core/frysk/debuginfo/ChangeLog
    +2007-11-15  Sami Wagiaalla  <swagiaal@redhat.com>
    +
    +       DwarfDie::getDataMemberLocation now throws DwAttributeNotFoundException
    +       instead of DwException.
    +       * TypeEntry.java (getUnionType): Updated.
    +
    
    frysk-sys/lib/dwfl/ChangeLog
    +2007-11-15  Sami Wagiaalla  <swagiaal@toner.toronto.redhat.com>
    +
    +       * DwAttributeNotFoundException.java: New file.
    +       * cni/DwAttributeNotFoundException.cxx: New file.
    +       * cni/DwarfDie.cxx: Now throws DwAttributeNotFoundException
    +       instead of DwException.
    +

-----------------------------------------------------------------------

Summary of changes:
 frysk-core/frysk/debuginfo/ChangeLog               |    6 +++++
 frysk-core/frysk/debuginfo/TypeEntry.java          |   24 ++++++++++---------
 frysk-sys/lib/dwfl/ChangeLog                       |    7 +++++
 .../lib/dwfl/DwAttributeNotFoundException.java     |   15 ++++++++++--
 .../DwAttributeNotFoundException.cxx}              |    9 ++-----
 frysk-sys/lib/dwfl/cni/DwarfDie.cxx                |    3 +-
 6 files changed, 43 insertions(+), 21 deletions(-)
 copy frysk-core/frysk/debuginfo/ValueUavailableException.java => frysk-sys/lib/dwfl/DwAttributeNotFoundException.java (87%)
 copy frysk-sys/lib/dwfl/{DwflDieBias.java => cni/DwAttributeNotFoundException.cxx} (96%)

First 500 lines of diff:
diff --git a/frysk-core/frysk/debuginfo/ChangeLog b/frysk-core/frysk/debuginfo/ChangeLog
index 425f352..92762d1 100644
--- a/frysk-core/frysk/debuginfo/ChangeLog
+++ b/frysk-core/frysk/debuginfo/ChangeLog
@@ -1,3 +1,9 @@
+007-11-15  Sami Wagiaalla  <swagiaal@redhat.com>
+
+	DwarfDie::getDataMemberLocation now throws DwAttributeNotFoundException
+	instead of DwException.
+	* TypeEntry.java (getUnionType): Updated.
+
 2007-11-15  Andrew Cagney  <cagney@redhat.com>
 
 	* DebugInfo.java: Use AST not ExprAST.
diff --git a/frysk-core/frysk/debuginfo/TypeEntry.java b/frysk-core/frysk/debuginfo/TypeEntry.java
index 0d636bd..5ba8c9a 100644
--- a/frysk-core/frysk/debuginfo/TypeEntry.java
+++ b/frysk-core/frysk/debuginfo/TypeEntry.java
@@ -39,20 +39,14 @@
 
 package frysk.debuginfo;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import lib.dwfl.BaseTypes;
-import lib.dwfl.DwException;
-import lib.dwfl.DwarfDie;
-import lib.dwfl.DwTag;
-import lib.dwfl.DwAt;
 import frysk.isa.ISA;
+import frysk.value.Access;
 import frysk.value.ArrayType;
 import frysk.value.CharType;
-import frysk.value.GccStructOrClassType;
 import frysk.value.ConstType;
 import frysk.value.EnumType;
 import frysk.value.FunctionType;
+import frysk.value.GccStructOrClassType;
 import frysk.value.PointerType;
 import frysk.value.SignedType;
 import frysk.value.StandardTypes;
@@ -65,8 +59,16 @@ import frysk.value.Value;
 import frysk.value.VoidType;
 import frysk.value.VolatileType;
 import inua.eio.ByteOrder;
-import frysk.value.Access;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+
+import lib.dwfl.BaseTypes;
 import lib.dwfl.DwAccess;
+import lib.dwfl.DwAt;
+import lib.dwfl.DwAttributeNotFoundException;
+import lib.dwfl.DwTag;
+import lib.dwfl.DwarfDie;
 
 public class TypeEntry
 {
@@ -132,7 +134,7 @@ public class TypeEntry
 	    long offset;
 	    try {
 		offset = member.getDataMemberLocation();
-	    } catch (DwException de) {
+	    } catch (DwAttributeNotFoundException de) {
 		offset = 0; // union
 	    }
 
@@ -189,7 +191,7 @@ public class TypeEntry
 	    long offset;
 	    try {
 		offset = member.getDataMemberLocation();
-	    } catch (DwException de) {
+	    } catch (DwAttributeNotFoundException de) {
 		offset = 0; // union
 	    }
 
diff --git a/frysk-sys/lib/dwfl/ChangeLog b/frysk-sys/lib/dwfl/ChangeLog
index 6f5a4d9..010d55b 100644
--- a/frysk-sys/lib/dwfl/ChangeLog
+++ b/frysk-sys/lib/dwfl/ChangeLog
@@ -1,3 +1,10 @@
+2007-11-15  Sami Wagiaalla  <swagiaal@toner.toronto.redhat.com>
+
+	* DwAttributeNotFoundException.java: New file.
+	* cni/DwAttributeNotFoundException.cxx: New file.
+	* cni/DwarfDie.cxx: Now throws DwAttributeNotFoundException
+	instead of DwException.
+
 2007-11-06  Sami Wagiaalla  <swagiaal@redhat.com>
 
 	* Dwfl.java: Renamed getDie to getCompilationUnit.
diff --git a/frysk-core/frysk/debuginfo/ValueUavailableException.java b/frysk-sys/lib/dwfl/DwAttributeNotFoundException.java
similarity index 87%
copy from frysk-core/frysk/debuginfo/ValueUavailableException.java
copy to frysk-sys/lib/dwfl/DwAttributeNotFoundException.java
index 3b73bee..86d03e5 100644
--- a/frysk-core/frysk/debuginfo/ValueUavailableException.java
+++ b/frysk-sys/lib/dwfl/DwAttributeNotFoundException.java
@@ -37,13 +37,22 @@
 // version and license this file solely under the GPL without
 // exception.
 
-package frysk.debuginfo;
+package lib.dwfl;
 
-public class ValueUavailableException extends RuntimeException {
+public class DwAttributeNotFoundException extends DwarfException{
+
+    public DwAttributeNotFoundException(DwAt attribute) {
+	super("Attribute " + attribute + " not found");
+    }
+
+    public static void throwDwException(int attribute)
+    {
+	throw new DwAttributeNotFoundException(DwAt.valueOf(attribute));
+    }
 
     /**
      * 
      */
     private static final long serialVersionUID = 1L;
-
+    
 }
diff --git a/frysk-sys/lib/dwfl/DwflDieBias.java b/frysk-sys/lib/dwfl/cni/DwAttributeNotFoundException.cxx
similarity index 96%
copy from frysk-sys/lib/dwfl/DwflDieBias.java
copy to frysk-sys/lib/dwfl/cni/DwAttributeNotFoundException.cxx
index fb3bcda..8fee74b 100644
--- a/frysk-sys/lib/dwfl/DwflDieBias.java
+++ b/frysk-sys/lib/dwfl/cni/DwAttributeNotFoundException.cxx
@@ -37,11 +37,8 @@
 // version and license this file solely under the GPL without
 // exception.
 
-package lib.dwfl;
+#include <libdw.h>
 
-public class DwflDieBias
-{
-  public DwarfDie die;
+#include <gcj/cni.h>
 
-  public long bias;
-}
+#include "lib/dwfl/DwAttributeNotFoundException.h"
diff --git a/frysk-sys/lib/dwfl/cni/DwarfDie.cxx b/frysk-sys/lib/dwfl/cni/DwarfDie.cxx
index 49f7574..af9ab88 100644
--- a/frysk-sys/lib/dwfl/cni/DwarfDie.cxx
+++ b/frysk-sys/lib/dwfl/cni/DwarfDie.cxx
@@ -50,6 +50,7 @@
 #include "lib/dwfl/BaseTypes.h"
 #include "lib/dwfl/DwarfDieFactory.h"
 #include "lib/dwfl/DwarfException.h"
+#include "lib/dwfl/DwAttributeNotFoundException.h"
 #include "lib/dwfl/DwException.h"
 
 
@@ -547,7 +548,7 @@ lib::dwfl::DwarfDie::get_data_member_location (jlong var_die)
       if (fb_len > 0 && fb_expr[0].atom == DW_OP_plus_uconst)
 	return fb_expr[0].number;
     }
-  lib::dwfl::DwException::throwDwException();
+  lib::dwfl::DwAttributeNotFoundException::throwDwException((jint)DW_AT_data_member_location);
   return 0;
 }
 


hooks/post-receive
--
frysk system monitor/debugger



More information about the Frysk-cvs mailing list