Makefile.in: Rebuilt.

* Makefile.in: Rebuilt.
	* Makefile.am (nat_source_files): Added natVMSecurityManager,
	natResourceBundle.
	* java/util/ResourceBundle.java (Security): Removed.
	(getCallingClassLoader): Now native.
	* java/util/natResourceBundle.cc: New file.
	* java/lang/natVMSecurityManager.cc: New file.
	* java/lang/VMSecurityManager.java (getClassContext): Now native.

From-SVN: r59840
This commit is contained in:
Tom Tromey
2002-12-05 00:49:30 +00:00
committed by Tom Tromey
parent 67f1b90611
commit 76508852a0
8 changed files with 121 additions and 59 deletions
+2 -6
View File
@@ -1,6 +1,6 @@
/*
* java.lang.SecurityManager: part of the Java Class Libraries project.
* Copyright (C) 1998, 2001 Free Software Foundation
* Copyright (C) 1998, 2001, 2002 Free Software Foundation
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -43,11 +43,7 @@ class VMSecurityManager
** @return an array containing all the methods on classes
** on the Java execution stack.
**/
static Class[] getClassContext()
{
// FIXME: can't yet implement this for libgcj.
return new Class[0];
}
static native Class[] getClassContext();
/** Get the current ClassLoader--the one nearest to the
** top of the stack.
+54
View File
@@ -0,0 +1,54 @@
/* Copyright (C) 2002 Free Software Foundation
This file is part of libgcj.
This software is copyrighted work licensed under the terms of the
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
details. */
// Written by Tom Tromey <tromey@redhat.com>
#include <config.h>
#include <gcj/cni.h>
#include <jvm.h>
#include <java/lang/VMSecurityManager.h>
#include <java/lang/SecurityManager.h>
#include <java/lang/ClassLoader.h>
#include <java/lang/Class.h>
#include <gnu/gcj/runtime/StackTrace.h>
JArray<jclass> *
java::lang::VMSecurityManager::getClassContext ()
{
JArray<jclass> *result = NULL;
gnu::gcj::runtime::StackTrace *t = new gnu::gcj::runtime::StackTrace();
if (t)
{
int maxlen = t->length();
int len = 0;
while (len < maxlen)
{
jclass klass = t->classAt(len);
if (klass != NULL && klass != &java::lang::VMSecurityManager::class$
&& klass != &java::lang::SecurityManager::class$)
++len;
}
result =
(JArray<jclass> *) _Jv_NewObjectArray (len, &java::lang::Class::class$,
NULL);
len = 0;
while (len < maxlen)
{
jclass klass = t->classAt(len);
if (klass != NULL && klass != &java::lang::VMSecurityManager::class$
&& klass != &java::lang::SecurityManager::class$)
elements(result)[len++] = klass;
}
}
return result;
}