blob: 1d1390757dfd0e1290aeb6e56323b61f1979d20a [file] [log] [blame]
Elliott Hughes1240dad2011-09-09 16:24:50 -07001/*
2 * Copyright (C) 2008 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17#include "jni_internal.h"
18#include "object.h"
19
20#include "JniConstants.h" // Last to avoid problems with LOG redefinition.
21
22namespace art {
23
24namespace {
25
26jobject Throwable_nativeFillInStackTrace(JNIEnv* env, jclass) {
27 UNIMPLEMENTED(WARNING);
28 //Object* stackState = dvmFillInStackTrace(dvmThreadSelf());
29 //return addLocalReference(env, stackState);
30 return NULL;
31}
32
33jobjectArray Throwable_nativeGetStackTrace(JNIEnv* env, jclass, jobject javaStackState) {
34 UNIMPLEMENTED(WARNING);
35 //Object* stackState = dvmDecodeIndirectRef(env, javaStackState);
36 //if (stackState == NULL) {
37 //LOGW("getStackTrace() called but no trace available");
38 //return NULL; /* could throw NPE; currently caller will do so */
39 //}
40 //ArrayObject* elements = dvmGetStackTrace(stackState);
41 //return reinterpret_cast<jobjectArray>(addLocalReference(env, elements));
42 return NULL;
43}
44
45JNINativeMethod gMethods[] = {
46 NATIVE_METHOD(Throwable, nativeFillInStackTrace, "()Ljava/lang/Object;"),
47 NATIVE_METHOD(Throwable, nativeGetStackTrace, "(Ljava/lang/Object;)[Ljava/lang/StackTraceElement;"),
48};
49
50} // namespace
51
52void register_java_lang_Throwable(JNIEnv* env) {
53 jniRegisterNativeMethods(env, "java/lang/Throwable", gMethods, NELEM(gMethods));
54}
55
56} // namespace art