Signed-off-by: Pekka Enberg <penb...@kernel.org>
---
 ChangeLog                                          |   11 +++++
 java/lang/ClassNotFoundException.java              |    6 +-
 java/lang/IllegalAccessException.java              |    6 +-
 java/lang/InstantiationException.java              |    6 +-
 java/lang/NoSuchFieldException.java                |    6 +-
 java/lang/NoSuchMethodException.java               |    6 +-
 ...tion.java => ReflectiveOperationException.java} |   45 +++++++++++++-------
 java/lang/reflect/InvocationTargetException.java   |    6 +-
 8 files changed, 59 insertions(+), 33 deletions(-)
 copy java/lang/{NoSuchFieldException.java => 
ReflectiveOperationException.java} (69%)

diff --git a/ChangeLog b/ChangeLog
index 2093931..beb6e0e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,16 @@
 2012-03-12  Pekka Enberg  <penb...@kernel.org>
 
+       * java/lang/ClassNotFoundException,
+       * java/lang/IllegalAccessException.java,
+       * java/lang/InstantiationException.java,
+       * java/lang/NoSuchFieldException.java,
+       * java/lang/NoSuchMethodException.java,
+       * java/lang/ReflectiveOperationException.java,
+       * java/lang/reflect/InvocationTargetException.java:
+       Add ReflectiveOperationException class.
+
+2012-03-12  Pekka Enberg  <penb...@kernel.org>
+
        * java/lang/AssertionError.java:
        (AssertionError): Add missing constructor.
        * java/lang/LinkageError.java:
diff --git a/java/lang/ClassNotFoundException.java 
b/java/lang/ClassNotFoundException.java
index 142bc5d..fe1424d 100644
--- a/java/lang/ClassNotFoundException.java
+++ b/java/lang/ClassNotFoundException.java
@@ -1,5 +1,5 @@
 /* ClassNotFoundException.java -- thrown when class definition cannot be found
-   Copyright (C) 1998, 2002, 2005  Free Software Foundation, Inc.
+   Copyright (C) 1998, 2002, 2005, 2012  Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
 
@@ -47,9 +47,9 @@ package java.lang;
  * @see Class#forName(String)
  * @see ClassLoader#findSystemClass(String)
  * @see ClassLoader#loadClass(String, boolean)
- * @status updated to 1.4
+ * @status updated to 1.7
  */
-public class ClassNotFoundException extends Exception
+public class ClassNotFoundException extends ReflectiveOperationException
 {
   /**
    * Compatible with JDK 1.0+.
diff --git a/java/lang/IllegalAccessException.java 
b/java/lang/IllegalAccessException.java
index a352c8b..2574f66 100644
--- a/java/lang/IllegalAccessException.java
+++ b/java/lang/IllegalAccessException.java
@@ -1,6 +1,6 @@
 /* IllegalAccessException.java -- thrown on attempt to reflect on
    inaccessible data
-   Copyright (C) 1998, 1999, 2001, 2002, 2005  Free Software Foundation, Inc.
+   Copyright (C) 1998, 1999, 2001, 2002, 2005, 2012  Free Software Foundation, 
Inc.
 
 This file is part of GNU Classpath.
 
@@ -71,9 +71,9 @@ import java.lang.reflect.Method;
  * @see Field#getDouble(Object)
  * @see Method#invoke(Object, Object[])
  * @see Constructor#newInstance(Object[])
- * @status updated to 1.4
+ * @status updated to 1.7
  */
-public class IllegalAccessException extends Exception
+public class IllegalAccessException extends ReflectiveOperationException
 {
   /**
    * Compatible with JDK 1.0+.
diff --git a/java/lang/InstantiationException.java 
b/java/lang/InstantiationException.java
index 367b14b..cb2cad1 100644
--- a/java/lang/InstantiationException.java
+++ b/java/lang/InstantiationException.java
@@ -1,6 +1,6 @@
 /* InstantiationException.java -- thrown when reflection cannot create an
    instance
-   Copyright (C) 1998, 1999, 2001, 2002, 2005  Free Software Foundation, Inc.
+   Copyright (C) 1998, 1999, 2001, 2002, 2005, 2012  Free Software Foundation, 
Inc.
 
 This file is part of GNU Classpath.
 
@@ -46,9 +46,9 @@ package java.lang;
  * @author Brian Jones
  * @author Warren Levy (warr...@cygnus.com)
  * @see Class#newInstance()
- * @status updated to 1.4
+ * @status updated to 1.7
  */
-public class InstantiationException extends Exception
+public class InstantiationException extends ReflectiveOperationException
 {
   /**
    * Compatible with JDK 1.0+.
diff --git a/java/lang/NoSuchFieldException.java 
b/java/lang/NoSuchFieldException.java
index 74d52d1..b43b532 100644
--- a/java/lang/NoSuchFieldException.java
+++ b/java/lang/NoSuchFieldException.java
@@ -1,5 +1,5 @@
 /* NoSuchFieldException.java -- thrown when reflecting a non-existant field
-   Copyright (C) 1998, 1999, 2001, 2002, 2005  Free Software Foundation, Inc.
+   Copyright (C) 1998, 1999, 2001, 2002, 2005, 2012  Free Software Foundation, 
Inc.
 
 This file is part of GNU Classpath.
 
@@ -45,9 +45,9 @@ package java.lang;
  * @author Brian Jones
  * @author Warren Levy (warr...@cygnus.com)
  * @since 1.1
- * @status updated to 1.4
+ * @status updated to 1.7
  */
-public class NoSuchFieldException extends Exception
+public class NoSuchFieldException extends ReflectiveOperationException
 {
   /**
    * Compatible with JDK 1.1+.
diff --git a/java/lang/NoSuchMethodException.java 
b/java/lang/NoSuchMethodException.java
index e423efb..1162382 100644
--- a/java/lang/NoSuchMethodException.java
+++ b/java/lang/NoSuchMethodException.java
@@ -1,5 +1,5 @@
 /* NoSuchMethodException.java -- thrown when reflecting a non-existant method
-   Copyright (C) 1998, 1999, 2001, 2002, 2005  Free Software Foundation, Inc.
+   Copyright (C) 1998, 1999, 2001, 2002, 2005, 2012  Free Software Foundation, 
Inc.
 
 This file is part of GNU Classpath.
 
@@ -44,9 +44,9 @@ package java.lang;
  *
  * @author Brian Jones
  * @author Warren Levy (warr...@cygnus.com)
- * @status updated to 1.4
+ * @status updated to 1.7
  */
-public class NoSuchMethodException extends Exception
+public class NoSuchMethodException extends ReflectiveOperationException
 {
   /**
    * Compatible with JDK 1.0+.
diff --git a/java/lang/NoSuchFieldException.java 
b/java/lang/ReflectiveOperationException.java
similarity index 69%
copy from java/lang/NoSuchFieldException.java
copy to java/lang/ReflectiveOperationException.java
index 74d52d1..8b84c0e 100644
--- a/java/lang/NoSuchFieldException.java
+++ b/java/lang/ReflectiveOperationException.java
@@ -1,5 +1,5 @@
-/* NoSuchFieldException.java -- thrown when reflecting a non-existant field
-   Copyright (C) 1998, 1999, 2001, 2002, 2005  Free Software Foundation, Inc.
+/* ReflectiveOperationException.java -- thrown when reflective operation fails
+   Copyright (C) 2012  Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
 
@@ -39,25 +39,18 @@ exception statement from your version. */
 package java.lang;
 
 /**
- * Thrown to indicate the class does not have the specified field. This is
- * caused by a variety of reflection methods, when looking up a field by name.
+ * This exception is thrown when reflective operations fail.
  *
- * @author Brian Jones
- * @author Warren Levy (warr...@cygnus.com)
- * @since 1.1
- * @status updated to 1.4
+ * @since 1.7
  */
-public class NoSuchFieldException extends Exception
+public class ReflectiveOperationException extends Exception
 {
-  /**
-   * Compatible with JDK 1.1+.
-   */
-  private static final long serialVersionUID = -6143714805279938260L;
+  private static final long serialVersionUID = 123456789L;
 
   /**
    * Create an exception without a message.
    */
-  public NoSuchFieldException()
+  public ReflectiveOperationException()
   {
   }
 
@@ -66,8 +59,30 @@ public class NoSuchFieldException extends Exception
    *
    * @param s the message
    */
-  public NoSuchFieldException(String s)
+  public ReflectiveOperationException(String s)
   {
     super(s);
   }
+
+  /**
+   * Create an exception with a message and a cause.
+   *
+   * @param s the message
+   * @param cause the cause, may be null
+   */
+  public ReflectiveOperationException(String message, Throwable cause)
+  {
+    super(message, cause);
+  }
+
+  /**
+   * Create an exception with a cause.
+   *
+   * @param cause the cause, may be null
+   */
+  public ReflectiveOperationException(Throwable cause)
+  {
+    super(cause);
+  }
+
 }
diff --git a/java/lang/reflect/InvocationTargetException.java 
b/java/lang/reflect/InvocationTargetException.java
index af79d3a..4480fc6 100644
--- a/java/lang/reflect/InvocationTargetException.java
+++ b/java/lang/reflect/InvocationTargetException.java
@@ -1,5 +1,5 @@
 /* InvocationTargetException.java -- Wrapper exception for reflection
-   Copyright (C) 1998, 1999, 2000, 2001, 2002, 2005  Free Software Foundation, 
Inc.
+   Copyright (C) 1998, 1999, 2000, 2001, 2002, 2005, 2012  Free Software 
Foundation, Inc.
 
 This file is part of GNU Classpath.
 
@@ -50,9 +50,9 @@ package java.lang.reflect;
  * @see Method#invoke(Object,Object[])
  * @see Constructor#newInstance(Object[])
  * @since 1.1
- * @status updated to 1.4
+ * @status updated to 1.7
  */
-public class InvocationTargetException extends Exception
+public class InvocationTargetException extends ReflectiveOperationException
 {
   /**
    * Compatible with JDK 1.1+.
-- 
1.7.7.6


Reply via email to