gcc/libjava/java/lang/natVMSecurityManager.cc
Tom Tromey 76508852a0 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
2002-12-05 00:49:30 +00:00

55 lines
1.3 KiB
C++

/* 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;
}