1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- // natLogger.cc - Native part of Logger class.
- /* Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation
- This Logger is part of libgcj.
- This software is copyrighted work licensed under the terms of the
- Libgcj License. Please consult the Logger "LIBGCJ_LICENSE" for
- details. */
- #include <config.h>
- #include <platform.h>
- #include <string.h>
- #pragma implementation "Logger.h"
- #include <gcj/cni.h>
- #include <jvm.h>
- #include <java-stack.h>
- #include <java/lang/Object.h>
- #include <java/lang/Class.h>
- #include <java/util/logging/Logger.h>
- #include <java/lang/StackTraceElement.h>
- #include <java/lang/ArrayIndexOutOfBoundsException.h>
- using namespace java::util::logging;
- java::lang::StackTraceElement*
- java::util::logging::Logger::getCallerStackFrame ()
- {
- jclass klass = NULL;
- _Jv_Method *meth = NULL;
- _Jv_StackTrace::GetCallerInfo (&Logger::class$, &klass, &meth);
- jstring meth_name = NULL;
- jstring klass_name = NULL;
- if (klass != NULL)
- klass_name = klass->getName();
- if (meth != NULL)
- meth_name = _Jv_NewStringUtf8Const (meth->name);
-
- java::lang::StackTraceElement *e
- = new java::lang::StackTraceElement
- (JvNewStringUTF (""), 0, klass_name, meth_name, false);
- return e;
- }
|