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