Move CPDF_Reference::SafeGetDirect() out of the header.
Review-Url: https://codereview.chromium.org/2386433002
diff --git a/core/fpdfapi/fpdf_parser/cpdf_reference.cpp b/core/fpdfapi/fpdf_parser/cpdf_reference.cpp
index 06625a9..4f826dc 100644
--- a/core/fpdfapi/fpdf_parser/cpdf_reference.cpp
+++ b/core/fpdfapi/fpdf_parser/cpdf_reference.cpp
@@ -67,6 +67,11 @@
return new CPDF_Reference(m_pObjList, m_RefObjNum);
}
+CPDF_Object* CPDF_Reference::SafeGetDirect() const {
+ CPDF_Object* obj = GetDirect();
+ return (obj && !obj->IsReference()) ? obj : nullptr;
+}
+
void CPDF_Reference::SetRef(CPDF_IndirectObjectHolder* pDoc, uint32_t objnum) {
m_pObjList = pDoc;
m_RefObjNum = objnum;
diff --git a/core/fpdfapi/fpdf_parser/cpdf_reference.h b/core/fpdfapi/fpdf_parser/cpdf_reference.h
index af52f90..1322b97 100644
--- a/core/fpdfapi/fpdf_parser/cpdf_reference.h
+++ b/core/fpdfapi/fpdf_parser/cpdf_reference.h
@@ -25,8 +25,6 @@
FX_FLOAT GetNumber() const override;
int GetInteger() const override;
CPDF_Dictionary* GetDict() const override;
-
- // TODO(weili): check whether GetUnicodeText() and GetArray() are needed.
bool IsReference() const override;
CPDF_Reference* AsReference() override;
const CPDF_Reference* AsReference() const override;
@@ -38,15 +36,12 @@
protected:
~CPDF_Reference() override;
+
CPDF_Object* CloneNonCyclic(
bool bDirect,
std::set<const CPDF_Object*>* pVisited) const override;
- CPDF_Object* SafeGetDirect() const {
- CPDF_Object* obj = GetDirect();
- if (!obj || obj->IsReference())
- return nullptr;
- return obj;
- }
+
+ CPDF_Object* SafeGetDirect() const;
CPDF_IndirectObjectHolder* m_pObjList;
uint32_t m_RefObjNum;