1 /* 2 * Copyright (C) 2020 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 "handle.h" 18 19 #include "mirror/object.h" 20 #include "mirror/accessible_object.h" 21 #include "mirror/array.h" 22 #include "mirror/call_site.h" 23 #include "mirror/class.h" 24 #include "mirror/class_ext.h" 25 #include "mirror/dex_cache.h" 26 #include "mirror/emulated_stack_frame.h" 27 #include "mirror/executable.h" 28 #include "mirror/field.h" 29 #include "mirror/iftable.h" 30 #include "mirror/method_handle_impl.h" 31 #include "mirror/method_handles_lookup.h" 32 #include "mirror/method_type.h" 33 #include "mirror/method.h" 34 #include "mirror/proxy.h" 35 #include "mirror/reference.h" 36 #include "mirror/stack_trace_element.h" 37 #include "mirror/string.h" 38 #include "mirror/throwable.h" 39 #include "mirror/var_handle.h" 40 41 #include "class_root-inl.h" 42 43 namespace art { 44 45 // NOLINTBEGIN(bugprone-macro-parentheses) 46 #define MAKE_OBJECT_FOR_GDB(ROOT, NAME, MIRROR) \ 47 template <> MIRROR* Handle<MIRROR>::GetFromGdb() { \ 48 return Get(); \ 49 } \ 50 template <> mirror::Object* Handle<MIRROR>::ObjectFromGdb() { \ 51 return static_cast<mirror::Object*>(Get()); \ 52 } 53 54 CLASS_MIRROR_ROOT_LIST(MAKE_OBJECT_FOR_GDB) 55 56 #undef MAKE_OBJECT_FOR_GDB 57 // NOLINTEND(bugprone-macro-parentheses) 58 59 } // namespace art 60