From ce6f69cd19f5563c87d978a4e82c7c7018ea892d Mon Sep 17 00:00:00 2001 From: Jon Siwek Date: Tue, 26 May 2020 15:46:46 -0700 Subject: [PATCH] Deprecate TableVal::FindAttr(), replace with GetAttr() --- src/Val.cc | 9 +++++---- src/Val.h | 7 ++++++- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/Val.cc b/src/Val.cc index dbfe7bed59..0d45446315 100644 --- a/src/Val.cc +++ b/src/Val.cc @@ -1813,7 +1813,7 @@ bool TableVal::ExpandAndInit(IntrusivePtr index, IntrusivePtr new_val) IntrusivePtr TableVal::Default(const IntrusivePtr& index) { - Attr* def_attr = FindAttr(ATTR_DEFAULT); + const auto& def_attr = GetAttr(ATTR_DEFAULT); if ( ! def_attr ) return nullptr; @@ -2199,9 +2199,9 @@ ListVal* TableVal::ConvertToPureList() const return ToPureListVal().release(); } -Attr* TableVal::FindAttr(attr_tag t) const +const IntrusivePtr& TableVal::GetAttr(attr_tag t) const { - return attrs ? attrs->Find(t).get() : nullptr; + return attrs ? attrs->Find(t) : Attr::nil; } void TableVal::Describe(ODesc* d) const @@ -2340,7 +2340,8 @@ void TableVal::InitDefaultFunc(Frame* f) if ( def_val ) return; - Attr* def_attr = FindAttr(ATTR_DEFAULT); + const auto& def_attr = GetAttr(ATTR_DEFAULT); + if ( ! def_attr ) return; diff --git a/src/Val.h b/src/Val.h index 70baef9aa7..b6a2bf2f9c 100644 --- a/src/Val.h +++ b/src/Val.h @@ -930,7 +930,12 @@ public: ListVal* ConvertToPureList() const; // must be single index type void SetAttrs(IntrusivePtr attrs); - Attr* FindAttr(attr_tag t) const; + + [[deprecated("Remove in v4.1. Use GetAttr().")]] + Attr* FindAttr(attr_tag t) const + { return GetAttr(t).get(); } + + const IntrusivePtr& GetAttr(attr_tag t) const; [[deprecated("Remove in v4.1. Use GetAttrs().")]] Attributes* Attrs() { return attrs.get(); }