From 0e91d384700c0c20da6718a50658b7ec5d672887 Mon Sep 17 00:00:00 2001
From: Tom Tromey <tromey@redhat.com>
Date: Mon, 15 Oct 2001 22:45:03 +0000
Subject: [PATCH] AccessibleObject.java (checkPermission): Implemented.

	* java/lang/reflect/AccessibleObject.java (checkPermission):
	Implemented.
	Updated copyright information.

From-SVN: r46272
---
 libjava/ChangeLog                             |  6 +++
 .../java/lang/reflect/AccessibleObject.java   | 38 +++++++++++++++----
 2 files changed, 37 insertions(+), 7 deletions(-)

diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index ea2a3555122f..c2213ec543f2 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,9 @@
+2001-10-15  Tom Tromey  <tromey@redhat.com>
+
+	* java/lang/reflect/AccessibleObject.java (checkPermission):
+	Implemented.
+	Updated copyright information.
+
 2001-10-15  Hans Boehm <Hans_Boehm@hp.com>
 
 	* java/lang/natObject.cc (heavy_lock): Moved fields
diff --git a/libjava/java/lang/reflect/AccessibleObject.java b/libjava/java/lang/reflect/AccessibleObject.java
index 6d744a003d80..05c9efddf9c1 100644
--- a/libjava/java/lang/reflect/AccessibleObject.java
+++ b/libjava/java/lang/reflect/AccessibleObject.java
@@ -1,12 +1,29 @@
-// AccessibleObject.java - Base for reflection objects.
+/* java.lang.reflect.AccessibleObject
+   Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
 
-/* Copyright (C) 1998, 1999, 2000  Free Software Foundation
+This file is part of GNU Classpath.
 
-   This file is part of libgcj.
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+ 
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+As a special exception, if you link this library with other files to
+produce an executable, this library does not by itself cause the
+resulting executable to be covered by the GNU General Public License.
+This exception does not however invalidate any other reasons why the
+executable file might be covered by the GNU General Public License. */
 
-This software is copyrighted work licensed under the terms of the
-Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
-details.  */
  
 package java.lang.reflect;
 
@@ -33,6 +50,9 @@ public class AccessibleObject
   public static void setAccessible (AccessibleObject[] array, boolean flag)
   {
     checkPermission ();
+    // FIXME: check for invalid changes in the loop.
+    // For instance, can't set this flag to true for a Constructor for
+    // Class (example from the manual).
     for (int i = 0; i < array.length; ++i)
       array[i].flag = flag;
   }
@@ -40,13 +60,17 @@ public class AccessibleObject
   public void setAccessible (boolean flag)
   {
     checkPermission ();
+    // FIXME: check for invalid changes.
+    // For instance, can't set this flag to true for a Constructor for
+    // Class (example from the manual).
     this.flag = flag;
   }
 
   private static final void checkPermission ()
   {
     SecurityManager sm = System.getSecurityManager();
-    // FIXME: sm.checkPermission(ReflectPermission ("suppressAccessChecks"))
+    if (sm != null)
+      sm.checkPermission (new ReflectPermission ("suppressAccessChecks"));
   }
 
   private boolean flag;
-- 
GitLab