1 /* Copyright (C) 2002 Free Software Foundation
3 This file is part of libgcj.
5 This software is copyrighted work licensed under the terms of the
6 Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
9 // Written by Tom Tromey <tromey@redhat.com>
15 #include <java/lang/VMSecurityManager.h>
16 #include <java/lang/SecurityManager.h>
17 #include <java/lang/ClassLoader.h>
18 #include <java/lang/Class.h>
19 #include <gnu/gcj/runtime/StackTrace.h>
22 java::lang::VMSecurityManager::getClassContext ()
24 JArray
<jclass
> *result
= NULL
;
25 gnu::gcj::runtime::StackTrace
*t
= new gnu::gcj::runtime::StackTrace();
28 int maxlen
= t
->length();
31 for (int i
=0; i
<maxlen
; i
++)
33 jclass klass
= t
->classAt(i
);
34 if (klass
!= NULL
&& klass
!= &java::lang::VMSecurityManager::class$
35 && klass
!= &java::lang::SecurityManager::class$
)
40 (JArray
<jclass
> *) _Jv_NewObjectArray (len
, &java::lang::Class::class$
,
44 for (int i
=0; i
<maxlen
; i
++)
46 jclass klass
= t
->classAt(i
);
47 if (klass
!= NULL
&& klass
!= &java::lang::VMSecurityManager::class$
48 && klass
!= &java::lang::SecurityManager::class$
)
49 elements(result
)[len
++] = klass
;