summaryrefslogtreecommitdiff
path: root/xfa/fxfa/parser
diff options
context:
space:
mode:
Diffstat (limited to 'xfa/fxfa/parser')
-rw-r--r--xfa/fxfa/parser/cxfa_widgetdata.h1
-rw-r--r--xfa/fxfa/parser/xfa_basic_imp.cpp30
-rw-r--r--xfa/fxfa/parser/xfa_basic_imp.h64
-rw-r--r--xfa/fxfa/parser/xfa_doclayout.h2
-rw-r--r--xfa/fxfa/parser/xfa_document.h2
-rw-r--r--xfa/fxfa/parser/xfa_layout_appadapter.h2
-rw-r--r--xfa/fxfa/parser/xfa_layout_itemlayout.cpp3
-rw-r--r--xfa/fxfa/parser/xfa_layout_itemlayout.h1
-rw-r--r--xfa/fxfa/parser/xfa_layout_pagemgr_new.h2
-rw-r--r--xfa/fxfa/parser/xfa_locale.h103
-rw-r--r--xfa/fxfa/parser/xfa_localemgr.h3
-rw-r--r--xfa/fxfa/parser/xfa_object.h68
-rw-r--r--xfa/fxfa/parser/xfa_object_imp.cpp48
-rw-r--r--xfa/fxfa/parser/xfa_parser_imp.cpp45
-rw-r--r--xfa/fxfa/parser/xfa_parser_imp.h32
-rw-r--r--xfa/fxfa/parser/xfa_script.h12
-rw-r--r--xfa/fxfa/parser/xfa_script_datawindow.h3
-rw-r--r--xfa/fxfa/parser/xfa_script_eventpseudomodel.h2
-rw-r--r--xfa/fxfa/parser/xfa_script_hostpseudomodel.h2
-rw-r--r--xfa/fxfa/parser/xfa_script_layoutpseudomodel.h2
-rw-r--r--xfa/fxfa/parser/xfa_script_logpseudomodel.h2
-rw-r--r--xfa/fxfa/parser/xfa_script_resolveprocessor.cpp16
-rw-r--r--xfa/fxfa/parser/xfa_script_resolveprocessor.h15
-rw-r--r--xfa/fxfa/parser/xfa_script_signaturepseudomodel.h3
24 files changed, 308 insertions, 155 deletions
diff --git a/xfa/fxfa/parser/cxfa_widgetdata.h b/xfa/fxfa/parser/cxfa_widgetdata.h
index d2054cf145..26f397cb64 100644
--- a/xfa/fxfa/parser/cxfa_widgetdata.h
+++ b/xfa/fxfa/parser/cxfa_widgetdata.h
@@ -61,7 +61,6 @@ class CXFA_WidgetData : public CXFA_Data {
CXFA_Validate GetValidate(FX_BOOL bModified = FALSE);
CXFA_Bind GetBind(FX_BOOL bModified = FALSE);
CXFA_Assist GetAssist(FX_BOOL bModified = FALSE);
- uint32_t GetRelevantStatus();
FX_BOOL GetWidth(FX_FLOAT& fWidth);
FX_BOOL GetHeight(FX_FLOAT& fHeight);
FX_BOOL GetMinWidth(FX_FLOAT& fMinWidth);
diff --git a/xfa/fxfa/parser/xfa_basic_imp.cpp b/xfa/fxfa/parser/xfa_basic_imp.cpp
index f7c2606501..8367462b60 100644
--- a/xfa/fxfa/parser/xfa_basic_imp.cpp
+++ b/xfa/fxfa/parser/xfa_basic_imp.cpp
@@ -553,6 +553,9 @@ int32_t CXFA_WideTextRead::GetPosition() {
FX_BOOL CXFA_WideTextRead::IsEOF() const {
return m_iPosition >= m_wsBuffer.GetLength();
}
+int32_t CXFA_WideTextRead::ReadData(uint8_t* pBuffer, int32_t iBufferSize) {
+ return 0;
+}
int32_t CXFA_WideTextRead::ReadString(FX_WCHAR* pStr,
int32_t iMaxLength,
FX_BOOL& bEOS,
@@ -566,9 +569,36 @@ int32_t CXFA_WideTextRead::ReadString(FX_WCHAR* pStr,
bEOS = IsEOF();
return iMaxLength;
}
+int32_t CXFA_WideTextRead::WriteData(const uint8_t* pBuffer,
+ int32_t iBufferSize) {
+ return 0;
+}
+int32_t CXFA_WideTextRead::WriteString(const FX_WCHAR* pStr, int32_t iLength) {
+ return 0;
+}
+FX_BOOL CXFA_WideTextRead::SetLength(int32_t iLength) {
+ return FALSE;
+}
+int32_t CXFA_WideTextRead::GetBOM(uint8_t bom[4]) const {
+ return 0;
+}
uint16_t CXFA_WideTextRead::GetCodePage() const {
return (sizeof(FX_WCHAR) == 2) ? FX_CODEPAGE_UTF16LE : FX_CODEPAGE_UTF32LE;
}
uint16_t CXFA_WideTextRead::SetCodePage(uint16_t wCodePage) {
return GetCodePage();
}
+
+IFX_Stream* CXFA_WideTextRead::CreateSharedStream(uint32_t dwAccess,
+ int32_t iOffset,
+ int32_t iLength) {
+ return NULL;
+}
+
+void CXFA_WideTextRead::Lock() {}
+
+void CXFA_WideTextRead::Unlock() {}
+
+CFX_WideString CXFA_WideTextRead::GetSrcText() const {
+ return m_wsBuffer;
+}
diff --git a/xfa/fxfa/parser/xfa_basic_imp.h b/xfa/fxfa/parser/xfa_basic_imp.h
index 108b00d00f..fdb77a9d07 100644
--- a/xfa/fxfa/parser/xfa_basic_imp.h
+++ b/xfa/fxfa/parser/xfa_basic_imp.h
@@ -24,43 +24,35 @@ const XFA_NOTSUREATTRIBUTE* XFA_GetNotsureAttribute(
class CXFA_WideTextRead : public IFX_Stream {
public:
CXFA_WideTextRead(const CFX_WideString& wsBuffer);
- virtual void Release();
- virtual IFX_Stream* Retain();
- virtual uint32_t GetAccessModes() const;
- virtual int32_t GetLength() const;
- virtual int32_t Seek(FX_STREAMSEEK eSeek, int32_t iOffset);
- virtual int32_t GetPosition();
- virtual FX_BOOL IsEOF() const;
-
- virtual int32_t ReadData(uint8_t* pBuffer, int32_t iBufferSize) { return 0; }
- virtual int32_t ReadString(FX_WCHAR* pStr,
- int32_t iMaxLength,
- FX_BOOL& bEOS,
- int32_t const* pByteSize = NULL);
- virtual int32_t WriteData(const uint8_t* pBuffer, int32_t iBufferSize) {
- return 0;
- }
- virtual int32_t WriteString(const FX_WCHAR* pStr, int32_t iLength) {
- return 0;
- }
- virtual void Flush() {}
- virtual FX_BOOL SetLength(int32_t iLength) { return FALSE; }
-
- virtual int32_t GetBOM(uint8_t bom[4]) const { return 0; }
- virtual uint16_t GetCodePage() const;
- virtual uint16_t SetCodePage(uint16_t wCodePage);
-
- virtual void Lock() {}
- virtual void Unlock() {}
-
- virtual IFX_Stream* CreateSharedStream(uint32_t dwAccess,
- int32_t iOffset,
- int32_t iLength) {
- return NULL;
- }
-
- CFX_WideString GetSrcText() const { return m_wsBuffer; }
+ // IFX_Stream
+ void Release() override;
+ IFX_Stream* Retain() override;
+ uint32_t GetAccessModes() const override;
+ int32_t GetLength() const override;
+ int32_t Seek(FX_STREAMSEEK eSeek, int32_t iOffset) override;
+ int32_t GetPosition() override;
+ FX_BOOL IsEOF() const override;
+ int32_t ReadData(uint8_t* pBuffer, int32_t iBufferSize) override;
+ int32_t ReadString(FX_WCHAR* pStr,
+ int32_t iMaxLength,
+ FX_BOOL& bEOS,
+ int32_t const* pByteSize = NULL) override;
+ int32_t WriteData(const uint8_t* pBuffer, int32_t iBufferSize) override;
+ int32_t WriteString(const FX_WCHAR* pStr, int32_t iLength) override;
+ void Flush() override {}
+ FX_BOOL SetLength(int32_t iLength) override;
+ int32_t GetBOM(uint8_t bom[4]) const override;
+ uint16_t GetCodePage() const override;
+ uint16_t SetCodePage(uint16_t wCodePage) override;
+ IFX_Stream* CreateSharedStream(uint32_t dwAccess,
+ int32_t iOffset,
+ int32_t iLength) override;
+
+ virtual void Lock();
+ virtual void Unlock();
+
+ CFX_WideString GetSrcText() const;
protected:
CFX_WideString m_wsBuffer;
diff --git a/xfa/fxfa/parser/xfa_doclayout.h b/xfa/fxfa/parser/xfa_doclayout.h
index a0b29e5ff8..cc0cf82417 100644
--- a/xfa/fxfa/parser/xfa_doclayout.h
+++ b/xfa/fxfa/parser/xfa_doclayout.h
@@ -66,7 +66,7 @@ class CXFA_ContainerLayoutItem : public CXFA_LayoutItem {
class CXFA_ContentLayoutItem : public CXFA_LayoutItem {
public:
CXFA_ContentLayoutItem(CXFA_Node* pNode);
- virtual ~CXFA_ContentLayoutItem();
+ ~CXFA_ContentLayoutItem() override;
CXFA_ContentLayoutItem* m_pPrev;
CXFA_ContentLayoutItem* m_pNext;
diff --git a/xfa/fxfa/parser/xfa_document.h b/xfa/fxfa/parser/xfa_document.h
index 2890a6677c..39068c7076 100644
--- a/xfa/fxfa/parser/xfa_document.h
+++ b/xfa/fxfa/parser/xfa_document.h
@@ -57,10 +57,12 @@ class CScript_HostPseudoModel;
class CScript_LogPseudoModel;
class CScript_LayoutPseudoModel;
class CScript_SignaturePseudoModel;
+
class CXFA_Document {
public:
CXFA_Document(CXFA_DocumentParser* pParser);
~CXFA_Document();
+
CXFA_Node* GetRoot() const { return m_pRootNode; }
CXFA_DocumentParser* GetParser() const { return m_pParser; }
CXFA_FFNotify* GetNotify() const;
diff --git a/xfa/fxfa/parser/xfa_layout_appadapter.h b/xfa/fxfa/parser/xfa_layout_appadapter.h
index 1bae22ee32..d41b90a9c7 100644
--- a/xfa/fxfa/parser/xfa_layout_appadapter.h
+++ b/xfa/fxfa/parser/xfa_layout_appadapter.h
@@ -27,6 +27,7 @@ class CXFA_TraverseStrategy_PageAreaContainerLayoutItem {
return static_cast<CXFA_ContainerLayoutItem*>(pLayoutItem->m_pParent);
}
};
+
class CXFA_TraverseStrategy_ContentAreaContainerLayoutItem {
public:
static inline CXFA_ContainerLayoutItem* GetFirstChild(
@@ -56,6 +57,7 @@ class CXFA_TraverseStrategy_ContentAreaContainerLayoutItem {
return static_cast<CXFA_ContainerLayoutItem*>(pLayoutItem->m_pParent);
}
};
+
class CXFA_TraverseStrategy_ContentLayoutItem {
public:
static inline CXFA_ContentLayoutItem* GetFirstChild(
diff --git a/xfa/fxfa/parser/xfa_layout_itemlayout.cpp b/xfa/fxfa/parser/xfa_layout_itemlayout.cpp
index 509bf630e9..f44435a40f 100644
--- a/xfa/fxfa/parser/xfa_layout_itemlayout.cpp
+++ b/xfa/fxfa/parser/xfa_layout_itemlayout.cpp
@@ -77,6 +77,9 @@ CXFA_ItemLayoutProcessor::CXFA_ItemLayoutProcessor(CXFA_Node* pNode,
m_pOldLayoutItem =
(CXFA_ContentLayoutItem*)m_pFormNode->GetUserData(XFA_LAYOUTITEMKEY);
}
+
+CXFA_ItemLayoutProcessor::~CXFA_ItemLayoutProcessor() {}
+
CXFA_ContentLayoutItem* CXFA_ItemLayoutProcessor::CreateContentLayoutItem(
CXFA_Node* pFormNode) {
if (!pFormNode) {
diff --git a/xfa/fxfa/parser/xfa_layout_itemlayout.h b/xfa/fxfa/parser/xfa_layout_itemlayout.h
index f7376d250e..fc279893c8 100644
--- a/xfa/fxfa/parser/xfa_layout_itemlayout.h
+++ b/xfa/fxfa/parser/xfa_layout_itemlayout.h
@@ -63,6 +63,7 @@ class CXFA_LayoutContext {
class CXFA_ItemLayoutProcessor {
public:
CXFA_ItemLayoutProcessor(CXFA_Node* pNode, CXFA_LayoutPageMgr* pPageMgr);
+ ~CXFA_ItemLayoutProcessor();
XFA_ItemLayoutProcessorResult DoLayout(
FX_BOOL bUseBreakControl,
diff --git a/xfa/fxfa/parser/xfa_layout_pagemgr_new.h b/xfa/fxfa/parser/xfa_layout_pagemgr_new.h
index a82c152df9..b992a228dd 100644
--- a/xfa/fxfa/parser/xfa_layout_pagemgr_new.h
+++ b/xfa/fxfa/parser/xfa_layout_pagemgr_new.h
@@ -22,10 +22,12 @@ class CXFA_ContainerRecord {
CXFA_ContainerLayoutItem* pCurPageArea;
CXFA_ContainerLayoutItem* pCurContentArea;
};
+
class CXFA_LayoutPageMgr {
public:
CXFA_LayoutPageMgr(CXFA_LayoutProcessor* pLayoutProcessor);
~CXFA_LayoutPageMgr();
+
FX_BOOL InitLayoutPage(CXFA_Node* pFormNode);
FX_BOOL PrepareFirstPage(CXFA_Node* pRootSubform);
FX_FLOAT GetAvailHeight();
diff --git a/xfa/fxfa/parser/xfa_locale.h b/xfa/fxfa/parser/xfa_locale.h
index 522df19a82..5a79e20a3f 100644
--- a/xfa/fxfa/parser/xfa_locale.h
+++ b/xfa/fxfa/parser/xfa_locale.h
@@ -13,32 +13,35 @@
class CXFA_XMLLocale : public IFX_Locale {
public:
CXFA_XMLLocale(CXML_Element* pLocaleData);
- virtual void Release();
- virtual CFX_WideString GetName();
- virtual void GetNumbericSymbol(FX_LOCALENUMSYMBOL eType,
- CFX_WideString& wsNumSymbol) const;
-
- virtual void GetDateTimeSymbols(CFX_WideString& wsDtSymbol) const;
- virtual void GetMonthName(int32_t nMonth,
- CFX_WideString& wsMonthName,
- FX_BOOL bAbbr = TRUE) const;
- virtual void GetDayName(int32_t nWeek,
- CFX_WideString& wsDayName,
- FX_BOOL bAbbr = TRUE) const;
- virtual void GetMeridiemName(CFX_WideString& wsMeridiemName,
- FX_BOOL bAM = TRUE) const;
- virtual void GetTimeZone(FX_TIMEZONE& tz) const;
- virtual void GetEraName(CFX_WideString& wsEraName, FX_BOOL bAD = TRUE) const;
-
- virtual void GetDatePattern(FX_LOCALEDATETIMESUBCATEGORY eType,
- CFX_WideString& wsPattern) const;
- virtual void GetTimePattern(FX_LOCALEDATETIMESUBCATEGORY eType,
- CFX_WideString& wsPattern) const;
- virtual void GetNumPattern(FX_LOCALENUMSUBCATEGORY eType,
- CFX_WideString& wsPattern) const;
+
+ // IFX_Locale
+ void Release() override;
+ CFX_WideString GetName() override;
+ void GetNumbericSymbol(FX_LOCALENUMSYMBOL eType,
+ CFX_WideString& wsNumSymbol) const override;
+
+ void GetDateTimeSymbols(CFX_WideString& wsDtSymbol) const override;
+ void GetMonthName(int32_t nMonth,
+ CFX_WideString& wsMonthName,
+ FX_BOOL bAbbr = TRUE) const override;
+ void GetDayName(int32_t nWeek,
+ CFX_WideString& wsDayName,
+ FX_BOOL bAbbr = TRUE) const override;
+ void GetMeridiemName(CFX_WideString& wsMeridiemName,
+ FX_BOOL bAM = TRUE) const override;
+ void GetTimeZone(FX_TIMEZONE& tz) const override;
+ void GetEraName(CFX_WideString& wsEraName, FX_BOOL bAD = TRUE) const override;
+
+ void GetDatePattern(FX_LOCALEDATETIMESUBCATEGORY eType,
+ CFX_WideString& wsPattern) const override;
+ void GetTimePattern(FX_LOCALEDATETIMESUBCATEGORY eType,
+ CFX_WideString& wsPattern) const override;
+ void GetNumPattern(FX_LOCALENUMSUBCATEGORY eType,
+ CFX_WideString& wsPattern) const override;
protected:
- ~CXFA_XMLLocale();
+ ~CXFA_XMLLocale() override;
+
void GetPattern(CXML_Element* pElement,
const CFX_ByteStringC& bsTag,
const CFX_WideStringC& wsName,
@@ -50,35 +53,39 @@ class CXFA_XMLLocale : public IFX_Locale {
private:
CXML_Element* m_pLocaleData;
};
+
class CXFA_NodeLocale : public IFX_Locale {
public:
CXFA_NodeLocale(CXFA_Node* pLocale);
- virtual void Release();
- virtual CFX_WideString GetName();
- virtual void GetNumbericSymbol(FX_LOCALENUMSYMBOL eType,
- CFX_WideString& wsNumSymbol) const;
-
- virtual void GetDateTimeSymbols(CFX_WideString& wsDtSymbol) const;
- virtual void GetMonthName(int32_t nMonth,
- CFX_WideString& wsMonthName,
- FX_BOOL bAbbr = TRUE) const;
- virtual void GetDayName(int32_t nWeek,
- CFX_WideString& wsDayName,
- FX_BOOL bAbbr = TRUE) const;
- virtual void GetMeridiemName(CFX_WideString& wsMeridiemName,
- FX_BOOL bAM = TRUE) const;
- virtual void GetTimeZone(FX_TIMEZONE& tz) const;
- virtual void GetEraName(CFX_WideString& wsEraName, FX_BOOL bAD = TRUE) const;
-
- virtual void GetDatePattern(FX_LOCALEDATETIMESUBCATEGORY eType,
- CFX_WideString& wsPattern) const;
- virtual void GetTimePattern(FX_LOCALEDATETIMESUBCATEGORY eType,
- CFX_WideString& wsPattern) const;
- virtual void GetNumPattern(FX_LOCALENUMSUBCATEGORY eType,
- CFX_WideString& wsPattern) const;
+
+ // IFX_Locale
+ void Release() override;
+ CFX_WideString GetName() override;
+ void GetNumbericSymbol(FX_LOCALENUMSYMBOL eType,
+ CFX_WideString& wsNumSymbol) const override;
+
+ void GetDateTimeSymbols(CFX_WideString& wsDtSymbol) const override;
+ void GetMonthName(int32_t nMonth,
+ CFX_WideString& wsMonthName,
+ FX_BOOL bAbbr = TRUE) const override;
+ void GetDayName(int32_t nWeek,
+ CFX_WideString& wsDayName,
+ FX_BOOL bAbbr = TRUE) const override;
+ void GetMeridiemName(CFX_WideString& wsMeridiemName,
+ FX_BOOL bAM = TRUE) const override;
+ void GetTimeZone(FX_TIMEZONE& tz) const override;
+ void GetEraName(CFX_WideString& wsEraName, FX_BOOL bAD = TRUE) const override;
+
+ void GetDatePattern(FX_LOCALEDATETIMESUBCATEGORY eType,
+ CFX_WideString& wsPattern) const override;
+ void GetTimePattern(FX_LOCALEDATETIMESUBCATEGORY eType,
+ CFX_WideString& wsPattern) const override;
+ void GetNumPattern(FX_LOCALENUMSUBCATEGORY eType,
+ CFX_WideString& wsPattern) const override;
protected:
- ~CXFA_NodeLocale();
+ ~CXFA_NodeLocale() override;
+
CXFA_Node* GetNodeByName(CXFA_Node* pParent,
const CFX_WideStringC& wsName) const;
CFX_WideString GetSymbol(XFA_ELEMENT eElement,
diff --git a/xfa/fxfa/parser/xfa_localemgr.h b/xfa/fxfa/parser/xfa_localemgr.h
index a3a1d4c2b9..7051fc9ac3 100644
--- a/xfa/fxfa/parser/xfa_localemgr.h
+++ b/xfa/fxfa/parser/xfa_localemgr.h
@@ -33,14 +33,15 @@ class IFX_Locale;
class CXFA_LocaleMgr : public IFX_LocaleMgr {
public:
CXFA_LocaleMgr(CXFA_Node* pLocaleSet, CFX_WideString wsDeflcid);
+ ~CXFA_LocaleMgr() override;
+ // IFX_LocaleMgr
void Release() override;
uint16_t GetDefLocaleID() override;
IFX_Locale* GetDefLocale() override;
IFX_Locale* GetLocale(uint16_t lcid) override;
IFX_Locale* GetLocaleByName(const CFX_WideString& wsLocaleName) override;
- ~CXFA_LocaleMgr();
void SetDefLocale(IFX_Locale* pLocale);
CFX_WideStringC GetConfigLocaleName(CXFA_Node* pConfig);
diff --git a/xfa/fxfa/parser/xfa_object.h b/xfa/fxfa/parser/xfa_object.h
index 2cd09df15c..b5c31cfbb2 100644
--- a/xfa/fxfa/parser/xfa_object.h
+++ b/xfa/fxfa/parser/xfa_object.h
@@ -45,7 +45,7 @@ enum XFA_OBJECTTYPE {
class CXFA_Object : public CFXJSE_HostObject {
public:
CXFA_Object(CXFA_Document* pDocument, uint32_t uFlags);
- virtual ~CXFA_Object() {}
+ ~CXFA_Object() override;
CXFA_Document* GetDocument() const { return m_pDocument; }
uint32_t GetFlag() const { return m_uFlags; }
@@ -127,6 +127,9 @@ struct XFA_MAPDATABLOCK {
};
struct XFA_MAPMODULEDATA {
+ XFA_MAPMODULEDATA();
+ ~XFA_MAPMODULEDATA();
+
CFX_MapPtrToPtr m_ValueMap;
CFX_MapPtrTemplate<void*, XFA_MAPDATABLOCK*> m_BufferMap;
};
@@ -134,6 +137,7 @@ struct XFA_MAPMODULEDATA {
#define XFA_CalcRefCount (void*)(uintptr_t) FXBSTR_ID('X', 'F', 'A', 'R')
#define XFA_CalcData (void*)(uintptr_t) FXBSTR_ID('X', 'F', 'A', 'C')
#define XFA_LAYOUTITEMKEY (void*)(uintptr_t) FXBSTR_ID('L', 'Y', 'I', 'M')
+
class CXFA_Node : public CXFA_Object {
public:
XFA_ELEMENT GetClassID() const { return (XFA_ELEMENT)m_eNodeClass; }
@@ -649,42 +653,39 @@ class CXFA_Node : public CXFA_Object {
CXFA_Node* m_pAuxNode;
XFA_MAPMODULEDATA* m_pMapModuleData;
};
+
class CXFA_OrdinaryObject : public CXFA_Object {
public:
- CXFA_OrdinaryObject(CXFA_Document* pDocument, XFA_ELEMENT eElement)
- : CXFA_Object(pDocument, XFA_OBJECTTYPE_OrdinaryObject),
- m_uScriptHash(0) {
- m_eNodeClass = eElement;
- }
- XFA_ELEMENT GetClassID() const { return (XFA_ELEMENT)m_eNodeClass; }
- uint32_t GetScriptObjHash() { return m_uScriptHash; }
+ CXFA_OrdinaryObject(CXFA_Document* pDocument, XFA_ELEMENT eElement);
+ ~CXFA_OrdinaryObject() override;
+
+ XFA_ELEMENT GetClassID() const;
+ uint32_t GetScriptObjHash() const;
protected:
XFA_ELEMENT m_eNodeClass;
uint32_t m_uScriptHash;
};
+
class CXFA_ThisProxy : public CXFA_Object {
public:
- CXFA_ThisProxy(CXFA_Node* pThisNode, CXFA_Node* pScriptNode)
- : CXFA_Object(pThisNode->GetDocument(), XFA_OBJECTTYPE_VariablesThis),
- m_pThisNode(NULL),
- m_pScriptNode(NULL) {
- m_pThisNode = pThisNode;
- m_pScriptNode = pScriptNode;
- }
- ~CXFA_ThisProxy() override {}
- CXFA_Node* GetThisNode() { return m_pThisNode; }
- CXFA_Node* GetScriptNode() { return m_pScriptNode; }
+ CXFA_ThisProxy(CXFA_Node* pThisNode, CXFA_Node* pScriptNode);
+ ~CXFA_ThisProxy() override;
+
+ CXFA_Node* GetThisNode() const;
+ CXFA_Node* GetScriptNode() const;
private:
CXFA_Node* m_pThisNode;
CXFA_Node* m_pScriptNode;
};
+
class CXFA_NodeList : public CXFA_Object {
public:
explicit CXFA_NodeList(CXFA_Document* pDocument);
- virtual ~CXFA_NodeList() {}
- XFA_ELEMENT GetClassID() const { return XFA_ELEMENT_NodeList; }
+ ~CXFA_NodeList() override;
+
+ XFA_ELEMENT GetClassID() const;
CXFA_Node* NamedItem(const CFX_WideStringC& wsName);
virtual int32_t GetLength() = 0;
virtual FX_BOOL Append(CXFA_Node* pNode) = 0;
@@ -702,28 +703,35 @@ class CXFA_NodeList : public CXFA_Object {
FX_BOOL bSetting,
XFA_ATTRIBUTE eAttribute);
};
+
class CXFA_ArrayNodeList : public CXFA_NodeList {
public:
explicit CXFA_ArrayNodeList(CXFA_Document* pDocument);
+ ~CXFA_ArrayNodeList() override;
+
+ // From CXFA_NodeList.
+ int32_t GetLength() override;
+ FX_BOOL Append(CXFA_Node* pNode) override;
+ FX_BOOL Insert(CXFA_Node* pNewNode, CXFA_Node* pBeforeNode) override;
+ FX_BOOL Remove(CXFA_Node* pNode) override;
+ CXFA_Node* Item(int32_t iIndex) override;
+
void SetArrayNodeList(const CXFA_NodeArray& srcArray);
- virtual int32_t GetLength();
- virtual FX_BOOL Append(CXFA_Node* pNode);
- virtual FX_BOOL Insert(CXFA_Node* pNewNode, CXFA_Node* pBeforeNode);
- virtual FX_BOOL Remove(CXFA_Node* pNode);
- virtual CXFA_Node* Item(int32_t iIndex);
protected:
CXFA_NodeArray m_array;
};
+
class CXFA_AttachNodeList : public CXFA_NodeList {
public:
CXFA_AttachNodeList(CXFA_Document* pDocument, CXFA_Node* pAttachNode);
- virtual int32_t GetLength();
- virtual FX_BOOL Append(CXFA_Node* pNode);
- virtual FX_BOOL Insert(CXFA_Node* pNewNode, CXFA_Node* pBeforeNode);
- virtual FX_BOOL Remove(CXFA_Node* pNode);
- virtual CXFA_Node* Item(int32_t iIndex);
+ // From CXFA_NodeList.
+ int32_t GetLength() override;
+ FX_BOOL Append(CXFA_Node* pNode) override;
+ FX_BOOL Insert(CXFA_Node* pNewNode, CXFA_Node* pBeforeNode) override;
+ FX_BOOL Remove(CXFA_Node* pNode) override;
+ CXFA_Node* Item(int32_t iIndex) override;
protected:
CXFA_Node* m_pAttachNode;
diff --git a/xfa/fxfa/parser/xfa_object_imp.cpp b/xfa/fxfa/parser/xfa_object_imp.cpp
index 0f36d68aa6..02617f14b9 100644
--- a/xfa/fxfa/parser/xfa_object_imp.cpp
+++ b/xfa/fxfa/parser/xfa_object_imp.cpp
@@ -59,6 +59,8 @@ XFA_MAPDATABLOCKCALLBACKINFO deleteBindItemCallBack = {
CXFA_Object::CXFA_Object(CXFA_Document* pDocument, uint32_t uFlags)
: m_pDocument(pDocument), m_uFlags(uFlags) {}
+CXFA_Object::~CXFA_Object() {}
+
void CXFA_Object::GetClassName(CFX_WideStringC& wsName) const {
wsName = XFA_GetElementByID(GetClassID())->pName;
}
@@ -107,6 +109,10 @@ void CXFA_Object::ThrowException(int32_t iStringID, ...) {
FX_UTF8Encode(wsMessage.c_str(), wsMessage.GetLength()).AsStringC());
}
+XFA_MAPMODULEDATA::XFA_MAPMODULEDATA() {}
+
+XFA_MAPMODULEDATA::~XFA_MAPMODULEDATA() {}
+
CXFA_Node::CXFA_Node(CXFA_Document* pDoc,
uint16_t ePacket,
XFA_ELEMENT eElement)
@@ -5084,11 +5090,50 @@ void CXFA_Node::MoveBufferMapData(CXFA_Node* pSrcModule,
}
pSrcModule->MoveBufferMapData(pDstModule, pKey);
}
+
+CXFA_OrdinaryObject::CXFA_OrdinaryObject(CXFA_Document* pDocument,
+ XFA_ELEMENT eElement)
+ : CXFA_Object(pDocument, XFA_OBJECTTYPE_OrdinaryObject), m_uScriptHash(0) {
+ m_eNodeClass = eElement;
+}
+
+CXFA_OrdinaryObject::~CXFA_OrdinaryObject() {}
+
+XFA_ELEMENT CXFA_OrdinaryObject::GetClassID() const {
+ return m_eNodeClass;
+}
+
+uint32_t CXFA_OrdinaryObject::GetScriptObjHash() const {
+ return m_uScriptHash;
+}
+
+CXFA_ThisProxy::CXFA_ThisProxy(CXFA_Node* pThisNode, CXFA_Node* pScriptNode)
+ : CXFA_Object(pThisNode->GetDocument(), XFA_OBJECTTYPE_VariablesThis),
+ m_pThisNode(NULL),
+ m_pScriptNode(NULL) {
+ m_pThisNode = pThisNode;
+ m_pScriptNode = pScriptNode;
+}
+
+CXFA_ThisProxy::~CXFA_ThisProxy() {}
+
+CXFA_Node* CXFA_ThisProxy::GetThisNode() const {
+ return m_pThisNode;
+}
+
+CXFA_Node* CXFA_ThisProxy::GetScriptNode() const {
+ return m_pScriptNode;
+}
+
CXFA_NodeList::CXFA_NodeList(CXFA_Document* pDocument)
: CXFA_Object(pDocument, XFA_OBJECTTYPE_NodeList) {
m_pDocument->GetScriptContext()->AddToCacheList(
std::unique_ptr<CXFA_NodeList>(this));
}
+CXFA_NodeList::~CXFA_NodeList() {}
+XFA_ELEMENT CXFA_NodeList::GetClassID() const {
+ return XFA_ELEMENT_NodeList;
+}
CXFA_Node* CXFA_NodeList::NamedItem(const CFX_WideStringC& wsName) {
uint32_t dwHashCode = FX_HashCode_GetW(wsName, false);
int32_t iCount = GetLength();
@@ -5180,6 +5225,9 @@ void CXFA_NodeList::Script_ListClass_Length(CFXJSE_Value* pValue,
}
CXFA_ArrayNodeList::CXFA_ArrayNodeList(CXFA_Document* pDocument)
: CXFA_NodeList(pDocument) {}
+
+CXFA_ArrayNodeList::~CXFA_ArrayNodeList() {}
+
void CXFA_ArrayNodeList::SetArrayNodeList(const CXFA_NodeArray& srcArray) {
if (srcArray.GetSize() > 0) {
m_array.Copy(srcArray);
diff --git a/xfa/fxfa/parser/xfa_parser_imp.cpp b/xfa/fxfa/parser/xfa_parser_imp.cpp
index 748cca5cad..9cc324ae9d 100644
--- a/xfa/fxfa/parser/xfa_parser_imp.cpp
+++ b/xfa/fxfa/parser/xfa_parser_imp.cpp
@@ -37,6 +37,9 @@ CXFA_SimpleParser::CXFA_SimpleParser(CXFA_Document* pFactory,
CXFA_SimpleParser::~CXFA_SimpleParser() {
CloseParser();
}
+void CXFA_SimpleParser::Release() {
+ delete this;
+}
void CXFA_SimpleParser::SetFactory(CXFA_Document* pFactory) {
m_pFactory = pFactory;
}
@@ -191,6 +194,18 @@ void CXFA_SimpleParser::ConstructXFANode(CXFA_Node* pXFANode,
}
}
+CXFA_Document* CXFA_SimpleParser::GetFactory() const {
+ return m_pFactory;
+}
+
+CXFA_Node* CXFA_SimpleParser::GetRootNode() const {
+ return m_pRootNode;
+}
+
+CFDE_XMLDoc* CXFA_SimpleParser::GetXMLDoc() const {
+ return m_pXMLDoc;
+}
+
FX_BOOL XFA_FDEExtension_ResolveNamespaceQualifier(
CFDE_XMLElement* pNode,
const CFX_WideStringC& wsQualifier,
@@ -1347,6 +1362,10 @@ CXFA_DocumentParser::CXFA_DocumentParser(CXFA_FFNotify* pNotify)
CXFA_DocumentParser::~CXFA_DocumentParser() {
CloseParser();
}
+
+void CXFA_DocumentParser::Release() {
+ delete this;
+}
int32_t CXFA_DocumentParser::StartParse(IFX_FileRead* pStream,
XFA_XDPPACKET ePacketID) {
CloseParser();
@@ -1388,6 +1407,26 @@ void CXFA_DocumentParser::ConstructXFANode(CXFA_Node* pXFANode,
}
}
+CXFA_Document* CXFA_DocumentParser::GetFactory() const {
+ return m_nodeParser.GetFactory();
+}
+
+CXFA_Node* CXFA_DocumentParser::GetRootNode() const {
+ return m_nodeParser.GetRootNode();
+}
+
+CFDE_XMLDoc* CXFA_DocumentParser::GetXMLDoc() const {
+ return m_nodeParser.GetXMLDoc();
+}
+
+CXFA_FFNotify* CXFA_DocumentParser::GetNotify() const {
+ return m_pNotify;
+}
+
+CXFA_Document* CXFA_DocumentParser::GetDocument() const {
+ return m_pDocument;
+}
+
void CXFA_DocumentParser::CloseParser() {
delete m_pDocument;
m_pDocument = nullptr;
@@ -1410,6 +1449,7 @@ CXFA_XMLParser::CXFA_XMLParser(CFDE_XMLNode* pRoot, IFX_Stream* pStream)
m_pParser = new CFDE_XMLSyntaxParser;
m_pParser->Init(m_pStream, 32 * 1024, 1024 * 1024);
}
+
CXFA_XMLParser::~CXFA_XMLParser() {
if (m_pParser) {
m_pParser->Release();
@@ -1418,6 +1458,11 @@ CXFA_XMLParser::~CXFA_XMLParser() {
m_ws1.clear();
m_ws2.clear();
}
+
+void CXFA_XMLParser::Release() {
+ delete this;
+}
+
int32_t CXFA_XMLParser::DoParser(IFX_Pause* pPause) {
if (m_syntaxParserResult == FDE_XmlSyntaxResult::Error)
return -1;
diff --git a/xfa/fxfa/parser/xfa_parser_imp.h b/xfa/fxfa/parser/xfa_parser_imp.h
index 1f117be64e..3a56cc0996 100644
--- a/xfa/fxfa/parser/xfa_parser_imp.h
+++ b/xfa/fxfa/parser/xfa_parser_imp.h
@@ -17,8 +17,8 @@ class CXFA_SimpleParser : public IXFA_Parser {
CXFA_SimpleParser(CXFA_Document* pFactory, FX_BOOL bDocumentParser = FALSE);
~CXFA_SimpleParser() override;
- void Release() override { delete this; }
-
+ // IXFA_Parser
+ void Release() override;
int32_t StartParse(IFX_FileRead* pStream,
XFA_XDPPACKET ePacketID = XFA_XDPPACKET_XDP) override;
int32_t DoParse(IFX_Pause* pPause = NULL) override;
@@ -26,9 +26,9 @@ class CXFA_SimpleParser : public IXFA_Parser {
CFDE_XMLNode*& pXMLNode,
IFX_Pause* pPause = NULL) override;
void ConstructXFANode(CXFA_Node* pXFANode, CFDE_XMLNode* pXMLNode) override;
- CXFA_Document* GetFactory() const override { return m_pFactory; }
- CXFA_Node* GetRootNode() const override { return m_pRootNode; }
- CFDE_XMLDoc* GetXMLDoc() const override { return m_pXMLDoc; }
+ CXFA_Document* GetFactory() const override;
+ CXFA_Node* GetRootNode() const override;
+ CFDE_XMLDoc* GetXMLDoc() const override;
void CloseParser() override;
protected:
@@ -87,7 +87,8 @@ class CXFA_DocumentParser : public IXFA_Parser {
CXFA_DocumentParser(CXFA_FFNotify* pNotify);
~CXFA_DocumentParser() override;
- void Release() override { delete this; }
+ // IXFA_Parser
+ void Release() override;
int32_t StartParse(IFX_FileRead* pStream,
XFA_XDPPACKET ePacketID = XFA_XDPPACKET_XDP) override;
int32_t DoParse(IFX_Pause* pPause = NULL) override;
@@ -95,13 +96,11 @@ class CXFA_DocumentParser : public IXFA_Parser {
CFDE_XMLNode*& pXMLNode,
IFX_Pause* pPause = NULL) override;
void ConstructXFANode(CXFA_Node* pXFANode, CFDE_XMLNode* pXMLNode) override;
- CXFA_Document* GetFactory() const override {
- return m_nodeParser.GetFactory();
- }
- CXFA_Node* GetRootNode() const override { return m_nodeParser.GetRootNode(); }
- CFDE_XMLDoc* GetXMLDoc() const override { return m_nodeParser.GetXMLDoc(); }
- CXFA_FFNotify* GetNotify() const { return m_pNotify; }
- CXFA_Document* GetDocument() const { return m_pDocument; }
+ CXFA_Document* GetFactory() const override;
+ CXFA_Node* GetRootNode() const override;
+ CFDE_XMLDoc* GetXMLDoc() const override;
+ CXFA_FFNotify* GetNotify() const;
+ CXFA_Document* GetDocument() const;
void CloseParser() override;
protected:
@@ -113,10 +112,11 @@ class CXFA_DocumentParser : public IXFA_Parser {
class CXFA_XMLParser : public CFDE_XMLParser {
public:
CXFA_XMLParser(CFDE_XMLNode* pRoot, IFX_Stream* pStream);
- ~CXFA_XMLParser();
+ ~CXFA_XMLParser() override;
- virtual void Release() { delete this; }
- virtual int32_t DoParser(IFX_Pause* pPause);
+ // CFDE_XMLParser
+ void Release() override;
+ int32_t DoParser(IFX_Pause* pPause) override;
FX_FILESIZE m_nStart[2];
size_t m_nSize[2];
diff --git a/xfa/fxfa/parser/xfa_script.h b/xfa/fxfa/parser/xfa_script.h
index 646193d2cf..faaaceec78 100644
--- a/xfa/fxfa/parser/xfa_script.h
+++ b/xfa/fxfa/parser/xfa_script.h
@@ -38,10 +38,8 @@ enum XFA_RESOVENODE_RSTYPE {
};
struct XFA_RESOLVENODE_RS {
- XFA_RESOLVENODE_RS()
- : dwFlags(XFA_RESOVENODE_RSTYPE_Nodes), pScriptAttribute(NULL) {}
-
- ~XFA_RESOLVENODE_RS() { nodes.RemoveAll(); }
+ XFA_RESOLVENODE_RS();
+ ~XFA_RESOLVENODE_RS();
int32_t GetAttributeResult(CXFA_ValueArray& valueArray) const {
if (pScriptAttribute && pScriptAttribute->eValueType == XFA_SCRIPT_Object) {
@@ -61,4 +59,10 @@ struct XFA_RESOLVENODE_RS {
const XFA_SCRIPTATTRIBUTEINFO* pScriptAttribute;
};
+inline XFA_RESOLVENODE_RS::XFA_RESOLVENODE_RS()
+ : dwFlags(XFA_RESOVENODE_RSTYPE_Nodes), pScriptAttribute(NULL) {}
+
+inline XFA_RESOLVENODE_RS::~XFA_RESOLVENODE_RS() {
+ nodes.RemoveAll();
+}
#endif // XFA_FXFA_PARSER_XFA_SCRIPT_H_
diff --git a/xfa/fxfa/parser/xfa_script_datawindow.h b/xfa/fxfa/parser/xfa_script_datawindow.h
index 7754f049c4..d896a71e70 100644
--- a/xfa/fxfa/parser/xfa_script_datawindow.h
+++ b/xfa/fxfa/parser/xfa_script_datawindow.h
@@ -13,7 +13,8 @@
class CScript_DataWindow : public CXFA_OrdinaryObject {
public:
CScript_DataWindow(CXFA_Document* pDocument);
- virtual ~CScript_DataWindow();
+ ~CScript_DataWindow() override;
+
void Script_DataWindow_MoveCurrentRecord(CFXJSE_Arguments* pArguments);
void Script_DataWindow_Record(CFXJSE_Arguments* pArguments);
void Script_DataWindow_GotoRecord(CFXJSE_Arguments* pArguments);
diff --git a/xfa/fxfa/parser/xfa_script_eventpseudomodel.h b/xfa/fxfa/parser/xfa_script_eventpseudomodel.h
index 378f56f149..3a53b0b05d 100644
--- a/xfa/fxfa/parser/xfa_script_eventpseudomodel.h
+++ b/xfa/fxfa/parser/xfa_script_eventpseudomodel.h
@@ -33,7 +33,7 @@ enum class XFA_Event {
class CScript_EventPseudoModel : public CXFA_OrdinaryObject {
public:
explicit CScript_EventPseudoModel(CXFA_Document* pDocument);
- virtual ~CScript_EventPseudoModel();
+ ~CScript_EventPseudoModel() override;
void Script_EventPseudoModel_Change(CFXJSE_Value* pValue,
FX_BOOL bSetting,
diff --git a/xfa/fxfa/parser/xfa_script_hostpseudomodel.h b/xfa/fxfa/parser/xfa_script_hostpseudomodel.h
index 8a186fb6fd..0cbe04aadb 100644
--- a/xfa/fxfa/parser/xfa_script_hostpseudomodel.h
+++ b/xfa/fxfa/parser/xfa_script_hostpseudomodel.h
@@ -14,7 +14,7 @@
class CScript_HostPseudoModel : public CXFA_OrdinaryObject {
public:
CScript_HostPseudoModel(CXFA_Document* pDocument);
- virtual ~CScript_HostPseudoModel();
+ ~CScript_HostPseudoModel() override;
void Script_HostPseudoModel_AppType(CFXJSE_Value* pValue,
FX_BOOL bSetting,
diff --git a/xfa/fxfa/parser/xfa_script_layoutpseudomodel.h b/xfa/fxfa/parser/xfa_script_layoutpseudomodel.h
index 2fb0dba303..02e25b42f5 100644
--- a/xfa/fxfa/parser/xfa_script_layoutpseudomodel.h
+++ b/xfa/fxfa/parser/xfa_script_layoutpseudomodel.h
@@ -21,7 +21,7 @@ enum XFA_LAYOUTMODEL_HWXY {
class CScript_LayoutPseudoModel : public CXFA_OrdinaryObject {
public:
explicit CScript_LayoutPseudoModel(CXFA_Document* pDocument);
- ~CScript_LayoutPseudoModel();
+ ~CScript_LayoutPseudoModel() override;
void Script_LayoutPseudoModel_Ready(CFXJSE_Value* pValue,
FX_BOOL bSetting,
diff --git a/xfa/fxfa/parser/xfa_script_logpseudomodel.h b/xfa/fxfa/parser/xfa_script_logpseudomodel.h
index 1e13cd0371..9e30641264 100644
--- a/xfa/fxfa/parser/xfa_script_logpseudomodel.h
+++ b/xfa/fxfa/parser/xfa_script_logpseudomodel.h
@@ -13,7 +13,7 @@
class CScript_LogPseudoModel : public CXFA_OrdinaryObject {
public:
explicit CScript_LogPseudoModel(CXFA_Document* pDocument);
- virtual ~CScript_LogPseudoModel();
+ ~CScript_LogPseudoModel() override;
void Script_LogPseudoModel_Message(CFXJSE_Arguments* pArguments);
void Script_LogPseudoModel_TraceEnabled(CFXJSE_Arguments* pArguments);
diff --git a/xfa/fxfa/parser/xfa_script_resolveprocessor.cpp b/xfa/fxfa/parser/xfa_script_resolveprocessor.cpp
index c2101f7719..2e61a06885 100644
--- a/xfa/fxfa/parser/xfa_script_resolveprocessor.cpp
+++ b/xfa/fxfa/parser/xfa_script_resolveprocessor.cpp
@@ -822,3 +822,19 @@ void CXFA_ResolveProcessor::XFA_ResolveNode_SetIndexDataBind(
iIndex = iCount - 1;
}
}
+
+CXFA_ResolveNodesData::CXFA_ResolveNodesData(CXFA_ScriptContext* pSC)
+ : m_pSC(pSC),
+ m_CurNode(NULL),
+ m_wsName(),
+ m_uHashName(XFA_HASHCODE_None),
+ m_wsCondition(),
+ m_nLevel(0),
+ m_Nodes(),
+ m_dwStyles(XFA_RESOLVENODE_Children),
+ m_pScriptAttribute(NULL),
+ m_dwFlag(XFA_RESOVENODE_RSTYPE_Nodes) {}
+
+CXFA_ResolveNodesData::~CXFA_ResolveNodesData() {
+ m_Nodes.RemoveAll();
+}
diff --git a/xfa/fxfa/parser/xfa_script_resolveprocessor.h b/xfa/fxfa/parser/xfa_script_resolveprocessor.h
index 9789ffd7b8..0d932ef815 100644
--- a/xfa/fxfa/parser/xfa_script_resolveprocessor.h
+++ b/xfa/fxfa/parser/xfa_script_resolveprocessor.h
@@ -15,18 +15,9 @@ class CXFA_ScriptContext;
class CXFA_ResolveNodesData {
public:
- CXFA_ResolveNodesData(CXFA_ScriptContext* pSC = NULL)
- : m_pSC(pSC),
- m_CurNode(NULL),
- m_wsName(),
- m_uHashName(XFA_HASHCODE_None),
- m_wsCondition(),
- m_nLevel(0),
- m_Nodes(),
- m_dwStyles(XFA_RESOLVENODE_Children),
- m_pScriptAttribute(NULL),
- m_dwFlag(XFA_RESOVENODE_RSTYPE_Nodes) {}
- ~CXFA_ResolveNodesData() { m_Nodes.RemoveAll(); }
+ CXFA_ResolveNodesData(CXFA_ScriptContext* pSC = NULL);
+ ~CXFA_ResolveNodesData();
+
CXFA_ScriptContext* m_pSC;
CXFA_Object* m_CurNode;
CFX_WideString m_wsName;
diff --git a/xfa/fxfa/parser/xfa_script_signaturepseudomodel.h b/xfa/fxfa/parser/xfa_script_signaturepseudomodel.h
index bba0fd5827..3339ff0852 100644
--- a/xfa/fxfa/parser/xfa_script_signaturepseudomodel.h
+++ b/xfa/fxfa/parser/xfa_script_signaturepseudomodel.h
@@ -13,7 +13,8 @@
class CScript_SignaturePseudoModel : public CXFA_OrdinaryObject {
public:
CScript_SignaturePseudoModel(CXFA_Document* pDocument);
- ~CScript_SignaturePseudoModel();
+ ~CScript_SignaturePseudoModel() override;
+
void Script_SignaturePseudoModel_Verify(CFXJSE_Arguments* pArguments);
void Script_SignaturePseudoModel_Sign(CFXJSE_Arguments* pArguments);
void Script_SignaturePseudoModel_Enumerate(CFXJSE_Arguments* pArguments);