diff options
author | 2019-10-04 08:38:11 +0000 | |
---|---|---|
committer | 2019-10-04 08:38:38 +0000 | |
commit | 712fa800b2b78e527d36c88dc369bf4b723587ea (patch) | |
tree | ccc4573a3c6bef136ef6da022350ebb5c17a1892 /runtime/reflective_reference.h | |
parent | f70dfec27cae2625c199f1b8ecf1ef1f23580a45 (diff) |
Revert "Walk internal ArtField/ArtMethod pointers"
This reverts commit c84fc3a742b160ce51cbf01c2e5f971ccc0a2c6c.
Bug: 134162467
Reason for revert: Test fails on debuggable.
Change-Id: I240d58fafcc7434749947330b64c67d65b9b7a1e
Diffstat (limited to 'runtime/reflective_reference.h')
-rw-r--r-- | runtime/reflective_reference.h | 71 |
1 files changed, 0 insertions, 71 deletions
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 ReflectiveType> -class ReflectiveReference { - public: - static_assert(std::is_same_v<ReflectiveType, ArtMethod> || - std::is_same_v<ReflectiveType, ArtField>, - "Uknown type!"); - ReflectiveReference() : val_(nullptr) {} - explicit ReflectiveReference(ReflectiveType* r) : val_(r) {} - ReflectiveReference<ReflectiveType>& operator=(const ReflectiveReference<ReflectiveType>& t) = - default; - - ReflectiveType* Ptr() { - return val_; - } - - void Assign(ReflectiveType* r) { - val_ = r; - } - - bool IsNull() const { - return val_ == nullptr; - } - - bool operator==(const ReflectiveReference<ReflectiveType>& rr) const { - return val_ == rr.val_; - } - bool operator!=(const ReflectiveReference<ReflectiveType>& 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_ |