From c34eab45161c51bf63e548e44645cbcc59d01268 Mon Sep 17 00:00:00 2001 From: Nicolas Geoffray Date: Mon, 7 Oct 2019 07:15:53 +0000 Subject: Revert "Revert^2 "Walk internal ArtField/ArtMethod pointers"" This reverts commit ea2a3d949354c8b054983ba629c81bc5ff7163da. Bug: 134162467 Reason for revert: Fails redefine stress Change-Id: If487c0bcacaf3a3f565ff475b6dad8321e3428b9 --- runtime/reflective_reference.h | 71 ------------------------------------------ 1 file changed, 71 deletions(-) delete mode 100644 runtime/reflective_reference.h (limited to 'runtime/reflective_reference.h') diff --git a/runtime/reflective_reference.h b/runtime/reflective_reference.h deleted file mode 100644 index f57c0301bc..0000000000 --- a/runtime/reflective_reference.h +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright (C) 2016 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef ART_RUNTIME_REFLECTIVE_REFERENCE_H_ -#define ART_RUNTIME_REFLECTIVE_REFERENCE_H_ - -#include "android-base/macros.h" -#include "base/macros.h" -#include "mirror/object_reference.h" - -namespace art { - -class ArtField; -class ArtMethod; -// A reference to a ArtField or ArtMethod. -template -class ReflectiveReference { - public: - static_assert(std::is_same_v || - std::is_same_v, - "Uknown type!"); - ReflectiveReference() : val_(nullptr) {} - explicit ReflectiveReference(ReflectiveType* r) : val_(r) {} - ReflectiveReference& operator=(const ReflectiveReference& t) = - default; - - ReflectiveType* Ptr() { - return val_; - } - - void Assign(ReflectiveType* r) { - val_ = r; - } - - bool IsNull() const { - return val_ == nullptr; - } - - bool operator==(const ReflectiveReference& rr) const { - return val_ == rr.val_; - } - bool operator!=(const ReflectiveReference& rr) const { - return !operator==(rr); - } - bool operator==(std::nullptr_t) const { - return IsNull(); - } - bool operator!=(std::nullptr_t) const { - return !IsNull(); - } - - private: - ReflectiveType* val_; -}; - -} // namespace art - -#endif // ART_RUNTIME_REFLECTIVE_REFERENCE_H_ -- cgit v1.2.3-59-g8ed1b