| Index: xfa/src/fxfa/src/parser/xfa_object_imp.cpp
|
| diff --git a/xfa/src/fxfa/src/parser/xfa_object_imp.cpp b/xfa/src/fxfa/src/parser/xfa_object_imp.cpp
|
| index 1829ffdb67908a58d275bbe878a18b3aaafd341b..10d5e24abf29cb85b78a2619724822ed53b86d46 100644
|
| --- a/xfa/src/fxfa/src/parser/xfa_object_imp.cpp
|
| +++ b/xfa/src/fxfa/src/parser/xfa_object_imp.cpp
|
| @@ -30,12 +30,15 @@ uint32_t CXFA_Object::GetClassHashCode() const {
|
| }
|
| XFA_ELEMENT CXFA_Object::GetClassID() const {
|
| if (IsNode()) {
|
| - return ((const CXFA_Node*)this)->GetClassID();
|
| - } else if (IsOrdinaryObject()) {
|
| - return ((const CXFA_OrdinaryObject*)this)->GetClassID();
|
| - } else if (IsNodeList()) {
|
| - return ((const CXFA_NodeList*)this)->GetClassID();
|
| - } else if (IsOrdinaryList()) {
|
| + return AsNode()->GetClassID();
|
| + }
|
| + if (IsOrdinaryObject()) {
|
| + return AsOrdinaryObject()->GetClassID();
|
| + }
|
| + if (IsNodeList()) {
|
| + return AsNodeList()->GetClassID();
|
| + }
|
| + if (IsOrdinaryList()) {
|
| return XFA_ELEMENT_List;
|
| }
|
| ASSERT(FALSE);
|
| @@ -329,7 +332,7 @@ void CXFA_Node::SetTemplateNode(CXFA_Node* pTemplateNode) {
|
| }
|
| CXFA_Node* CXFA_Node::GetBindData() {
|
| ASSERT(GetPacketID() == XFA_XDPPACKET_Form);
|
| - return (CXFA_Node*)GetObject(XFA_ATTRIBUTE_BindingNode);
|
| + return static_cast<CXFA_Node*>(GetObject(XFA_ATTRIBUTE_BindingNode));
|
| }
|
| int32_t CXFA_Node::GetBindItems(CXFA_NodeArray& formItems) {
|
| if (m_uFlags & XFA_NODEFLAG_BindFormItems) {
|
| @@ -338,7 +341,8 @@ int32_t CXFA_Node::GetBindItems(CXFA_NodeArray& formItems) {
|
| formItems.Copy(*pItems);
|
| return formItems.GetSize();
|
| }
|
| - CXFA_Node* pFormNode = (CXFA_Node*)GetObject(XFA_ATTRIBUTE_BindingNode);
|
| + CXFA_Node* pFormNode =
|
| + static_cast<CXFA_Node*>(GetObject(XFA_ATTRIBUTE_BindingNode));
|
| if (pFormNode) {
|
| formItems.Add(pFormNode);
|
| }
|
| @@ -362,7 +366,8 @@ int32_t CXFA_Node::AddBindItem(CXFA_Node* pFormNode) {
|
| }
|
| return pItems->GetSize();
|
| }
|
| - CXFA_Node* pOldFormItem = (CXFA_Node*)GetObject(XFA_ATTRIBUTE_BindingNode);
|
| + CXFA_Node* pOldFormItem =
|
| + static_cast<CXFA_Node*>(GetObject(XFA_ATTRIBUTE_BindingNode));
|
| if (!pOldFormItem) {
|
| SetObject(XFA_ATTRIBUTE_BindingNode, pFormNode);
|
| return 1;
|
| @@ -397,7 +402,8 @@ int32_t CXFA_Node::RemoveBindItem(CXFA_Node* pFormNode) {
|
| }
|
| return iCount;
|
| }
|
| - CXFA_Node* pOldFormItem = (CXFA_Node*)GetObject(XFA_ATTRIBUTE_BindingNode);
|
| + CXFA_Node* pOldFormItem =
|
| + static_cast<CXFA_Node*>(GetObject(XFA_ATTRIBUTE_BindingNode));
|
| if (pOldFormItem == pFormNode) {
|
| SetObject(XFA_ATTRIBUTE_BindingNode, NULL);
|
| pOldFormItem = NULL;
|
| @@ -480,7 +486,7 @@ CXFA_WidgetData* CXFA_Node::GetContainerWidgetData() {
|
| : NULL;
|
| }
|
| FX_BOOL CXFA_Node::GetLocaleName(CFX_WideString& wsLocaleName) {
|
| - CXFA_Node* pForm = (CXFA_Node*)GetDocument()->GetXFAObject(XFA_HASHCODE_Form);
|
| + CXFA_Node* pForm = GetDocument()->GetXFAObject(XFA_HASHCODE_Form)->AsNode();
|
| CXFA_Node* pTopSubform = pForm->GetFirstChildByClass(XFA_ELEMENT_Subform);
|
| FXSYS_assert(pTopSubform);
|
| CXFA_Node* pLocaleNode = this;
|
| @@ -494,8 +500,7 @@ FX_BOOL CXFA_Node::GetLocaleName(CFX_WideString& wsLocaleName) {
|
| if (bLocale) {
|
| return bLocale;
|
| }
|
| - CXFA_Node* pConfig =
|
| - (CXFA_Node*)GetDocument()->GetXFAObject(XFA_HASHCODE_Config);
|
| + CXFA_Node* pConfig = ToNode(GetDocument()->GetXFAObject(XFA_HASHCODE_Config));
|
| wsLocaleName = GetDocument()->GetLocalMgr()->GetConfigLocaleName(pConfig);
|
| if (!wsLocaleName.IsEmpty()) {
|
| bLocale = TRUE;
|
| @@ -625,7 +630,7 @@ void CXFA_Node::Script_TreeClass_ResolveNode(CFXJSE_Arguments* pArguments) {
|
| }
|
| CXFA_Node* refNode = this;
|
| if (refNode->GetClassID() == XFA_ELEMENT_Xfa) {
|
| - refNode = (CXFA_Node*)pScriptContext->GetThisObject();
|
| + refNode = ToNode(pScriptContext->GetThisObject());
|
| }
|
| FX_DWORD dwFlag = XFA_RESOLVENODE_Children | XFA_RESOLVENODE_Attributes |
|
| XFA_RESOLVENODE_Properties | XFA_RESOLVENODE_Parent |
|
| @@ -674,7 +679,7 @@ void CXFA_Node::Script_TreeClass_ResolveNodes(CFXJSE_Arguments* pArguments) {
|
| XFA_RESOLVENODE_Siblings;
|
| CXFA_Node* refNode = this;
|
| if (refNode->GetClassID() == XFA_ELEMENT_Xfa) {
|
| - refNode = (CXFA_Node*)m_pDocument->GetScriptContext()->GetThisObject();
|
| + refNode = ToNode(m_pDocument->GetScriptContext()->GetThisObject());
|
| }
|
| Script_Som_ResolveNodeList(hValue, wsExpression, dwFlag, refNode);
|
| }
|
| @@ -695,9 +700,8 @@ void CXFA_Node::Script_Som_ResolveNodeList(FXJSE_HVALUE hValue,
|
| CXFA_ArrayNodeList* pNodeList = new CXFA_ArrayNodeList(m_pDocument);
|
| if (resoveNodeRS.dwFlags == XFA_RESOVENODE_RSTYPE_Nodes) {
|
| for (int32_t i = 0; i < resoveNodeRS.nodes.GetSize(); i++) {
|
| - if (resoveNodeRS.nodes[i]->IsNode()) {
|
| - pNodeList->Append((CXFA_Node*)resoveNodeRS.nodes[i]);
|
| - }
|
| + if (resoveNodeRS.nodes[i]->IsNode())
|
| + pNodeList->Append(resoveNodeRS.nodes[i]->AsNode());
|
| }
|
| } else {
|
| CXFA_HVALUEArray hValueArray(pScriptContext->GetRuntime());
|
| @@ -705,9 +709,8 @@ void CXFA_Node::Script_Som_ResolveNodeList(FXJSE_HVALUE hValue,
|
| CXFA_ObjArray objectArray;
|
| hValueArray.GetAttributeObject(objectArray);
|
| for (int32_t i = 0; i < objectArray.GetSize(); i++) {
|
| - if (objectArray[i]->IsNode()) {
|
| - pNodeList->Append((CXFA_Node*)objectArray[i]);
|
| - }
|
| + if (objectArray[i]->IsNode())
|
| + pNodeList->Append(objectArray[i]->AsNode());
|
| }
|
| }
|
| }
|
| @@ -1160,7 +1163,7 @@ void CXFA_Node::Script_NodeClass_SetElement(CFXJSE_Arguments* pArguments) {
|
| CXFA_Node* pNode = NULL;
|
| CFX_WideString wsName;
|
| if (iLength >= 1) {
|
| - pNode = (CXFA_Node*)pArguments->GetObject(0);
|
| + pNode = static_cast<CXFA_Node*>(pArguments->GetObject(0));
|
| }
|
| if (iLength >= 2) {
|
| CFX_ByteString bsName = pArguments->GetUTF8String(1);
|
| @@ -1479,7 +1482,7 @@ void CXFA_Node::Script_Attribute_String(FXJSE_HVALUE hValue,
|
| this->GetClassID() == XFA_ELEMENT_Desc) {
|
| CFX_WideString wsUseVal = wsValue, wsID, wsSOM;
|
| CXFA_Node* pTemplateNode =
|
| - (CXFA_Node*)m_pDocument->GetXFAObject(XFA_HASHCODE_Template);
|
| + ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_Template));
|
| CXFA_Node* pProtoRoot =
|
| pTemplateNode->GetFirstChildByClass(XFA_ELEMENT_Subform)
|
| ->GetFirstChildByClass(XFA_ELEMENT_Proto);
|
| @@ -1502,7 +1505,7 @@ void CXFA_Node::Script_Attribute_String(FXJSE_HVALUE hValue,
|
| int32_t iRet = m_pDocument->GetScriptContext()->ResolveObjects(
|
| pProtoRoot, wsSOM, resoveNodeRS, dwFlag);
|
| if (iRet > 0 && resoveNodeRS.nodes[0]->IsNode()) {
|
| - pProtoNode = (CXFA_Node*)resoveNodeRS.nodes[0];
|
| + pProtoNode = resoveNodeRS.nodes[0]->AsNode();
|
| }
|
| } else if (!wsID.IsEmpty()) {
|
| pProtoNode = m_pDocument->GetNodeByID(pProtoRoot, wsID);
|
| @@ -3108,7 +3111,7 @@ static CXFA_Node* XFA_ScriptInstanceManager_CreateInstance(
|
| }
|
| }
|
| if (!pDataScope) {
|
| - pDataScope = (CXFA_Node*)pDocument->GetXFAObject(XFA_HASHCODE_Record);
|
| + pDataScope = ToNode(pDocument->GetXFAObject(XFA_HASHCODE_Record));
|
| ASSERT(pDataScope);
|
| }
|
| CXFA_Node* pInstance = pDocument->DataMerge_CopyContainer(
|
| @@ -3188,7 +3191,7 @@ void CXFA_Node::Script_InstanceManager_RemoveInstance(
|
| return;
|
| }
|
| pLayoutPro->AddChangedContainer(
|
| - (CXFA_Node*)m_pDocument->GetXFAObject(XFA_HASHCODE_Form));
|
| + ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_Form)));
|
| }
|
| void CXFA_Node::Script_InstanceManager_SetInstances(
|
| CFXJSE_Arguments* pArguments) {
|
| @@ -3235,7 +3238,7 @@ void CXFA_Node::Script_InstanceManager_AddInstance(
|
| return;
|
| }
|
| pLayoutPro->AddChangedContainer(
|
| - (CXFA_Node*)m_pDocument->GetXFAObject(XFA_HASHCODE_Form));
|
| + ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_Form)));
|
| }
|
| void CXFA_Node::Script_InstanceManager_InsertInstance(
|
| CFXJSE_Arguments* pArguments) {
|
| @@ -3278,7 +3281,7 @@ void CXFA_Node::Script_InstanceManager_InsertInstance(
|
| return;
|
| }
|
| pLayoutPro->AddChangedContainer(
|
| - (CXFA_Node*)m_pDocument->GetXFAObject(XFA_HASHCODE_Form));
|
| + ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_Form)));
|
| }
|
| int32_t CXFA_Node::InstanceManager_SetInstances(int32_t iDesired) {
|
| CXFA_Occur nodeOccur(GetOccurNode());
|
| @@ -3339,11 +3342,10 @@ int32_t CXFA_Node::InstanceManager_SetInstances(int32_t iDesired) {
|
| }
|
| }
|
| CXFA_LayoutProcessor* pLayoutPro = m_pDocument->GetLayoutProcessor();
|
| - if (!pLayoutPro) {
|
| - return 0;
|
| + if (pLayoutPro) {
|
| + pLayoutPro->AddChangedContainer(
|
| + ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_Form)));
|
| }
|
| - pLayoutPro->AddChangedContainer(
|
| - (CXFA_Node*)m_pDocument->GetXFAObject(XFA_HASHCODE_Form));
|
| return 0;
|
| }
|
| int32_t CXFA_Node::InstanceManager_MoveInstance(int32_t iTo, int32_t iFrom) {
|
| @@ -3360,11 +3362,10 @@ int32_t CXFA_Node::InstanceManager_MoveInstance(int32_t iTo, int32_t iFrom) {
|
| XFA_ScriptInstanceManager_InsertItem(this, pMoveInstance, iTo, iCount - 1,
|
| TRUE);
|
| CXFA_LayoutProcessor* pLayoutPro = m_pDocument->GetLayoutProcessor();
|
| - if (!pLayoutPro) {
|
| - return 0;
|
| + if (pLayoutPro) {
|
| + pLayoutPro->AddChangedContainer(
|
| + ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_Form)));
|
| }
|
| - pLayoutPro->AddChangedContainer(
|
| - (CXFA_Node*)m_pDocument->GetXFAObject(XFA_HASHCODE_Form));
|
| return 0;
|
| }
|
| void CXFA_Node::Script_Occur_Max(FXJSE_HVALUE hValue,
|
| @@ -3400,7 +3401,7 @@ void CXFA_Node::Script_Desc_Metadata(CFXJSE_Arguments* pArguments) {
|
| void CXFA_Node::Script_Form_FormNodes(CFXJSE_Arguments* pArguments) {
|
| int32_t argc = pArguments->GetLength();
|
| if (argc == 1) {
|
| - CXFA_Node* pDataNode = (CXFA_Node*)pArguments->GetObject(0);
|
| + CXFA_Node* pDataNode = static_cast<CXFA_Node*>(pArguments->GetObject(0));
|
| if (pDataNode) {
|
| CXFA_NodeArray formItems;
|
| CXFA_ArrayNodeList* pFormNodes = new CXFA_ArrayNodeList(m_pDocument);
|
| @@ -4483,21 +4484,21 @@ CXFA_Node* CXFA_Node::GetModelNode() {
|
| case XFA_XDPPACKET_XDP:
|
| return m_pDocument->GetRoot();
|
| case XFA_XDPPACKET_Config:
|
| - return (CXFA_Node*)m_pDocument->GetXFAObject(XFA_HASHCODE_Config);
|
| + return ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_Config));
|
| case XFA_XDPPACKET_Template:
|
| - return (CXFA_Node*)m_pDocument->GetXFAObject(XFA_HASHCODE_Template);
|
| + return ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_Template));
|
| case XFA_XDPPACKET_Form:
|
| - return (CXFA_Node*)m_pDocument->GetXFAObject(XFA_HASHCODE_Form);
|
| + return ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_Form));
|
| case XFA_XDPPACKET_Datasets:
|
| - return (CXFA_Node*)m_pDocument->GetXFAObject(XFA_HASHCODE_Datasets);
|
| + return ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_Datasets));
|
| case XFA_XDPPACKET_LocaleSet:
|
| - return (CXFA_Node*)m_pDocument->GetXFAObject(XFA_HASHCODE_LocaleSet);
|
| + return ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_LocaleSet));
|
| case XFA_XDPPACKET_ConnectionSet:
|
| - return (CXFA_Node*)m_pDocument->GetXFAObject(XFA_HASHCODE_ConnectionSet);
|
| + return ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_ConnectionSet));
|
| case XFA_XDPPACKET_SourceSet:
|
| - return (CXFA_Node*)m_pDocument->GetXFAObject(XFA_HASHCODE_SourceSet);
|
| + return ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_SourceSet));
|
| case XFA_XDPPACKET_Xdc:
|
| - return (CXFA_Node*)m_pDocument->GetXFAObject(XFA_HASHCODE_Xdc);
|
| + return ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_Xdc));
|
| default:
|
| return this;
|
| }
|
| @@ -4821,14 +4822,14 @@ int32_t CXFA_Node::GetNodeSameNameIndex() const {
|
| if (!pScriptContext) {
|
| return -1;
|
| }
|
| - return pScriptContext->GetIndexByName((CXFA_Node*)this);
|
| + return pScriptContext->GetIndexByName(const_cast<CXFA_Node*>(this));
|
| }
|
| int32_t CXFA_Node::GetNodeSameClassIndex() const {
|
| IXFA_ScriptContext* pScriptContext = m_pDocument->GetScriptContext();
|
| if (!pScriptContext) {
|
| return -1;
|
| }
|
| - return pScriptContext->GetIndexByClassName((CXFA_Node*)this);
|
| + return pScriptContext->GetIndexByClassName(const_cast<CXFA_Node*>(this));
|
| }
|
| void CXFA_Node::GetSOMExpression(CFX_WideString& wsSOMExpression) {
|
| IXFA_ScriptContext* pScriptContext = m_pDocument->GetScriptContext();
|
| @@ -5163,7 +5164,7 @@ void CXFA_Node::RemoveMapModuleKey(void* pKey) {
|
| }
|
| void CXFA_Node::MergeAllData(void* pDstModule, FX_BOOL bUseSrcAttr) {
|
| XFA_LPMAPMODULEDATA pDstModuleData =
|
| - ((CXFA_Node*)pDstModule)->GetMapModuleData(TRUE);
|
| + static_cast<CXFA_Node*>(pDstModule)->GetMapModuleData(TRUE);
|
| if (!pDstModuleData) {
|
| return;
|
| }
|
| @@ -5299,7 +5300,7 @@ CXFA_Node* CXFA_NodeList::NamedItem(const CFX_WideStringC& wsName) {
|
| void CXFA_NodeList::Script_ListClass_Append(CFXJSE_Arguments* pArguments) {
|
| int32_t argc = pArguments->GetLength();
|
| if (argc == 1) {
|
| - CXFA_Node* pNode = (CXFA_Node*)pArguments->GetObject(0);
|
| + CXFA_Node* pNode = static_cast<CXFA_Node*>(pArguments->GetObject(0));
|
| if (pNode) {
|
| Append(pNode);
|
| } else {
|
| @@ -5312,8 +5313,8 @@ void CXFA_NodeList::Script_ListClass_Append(CFXJSE_Arguments* pArguments) {
|
| void CXFA_NodeList::Script_ListClass_Insert(CFXJSE_Arguments* pArguments) {
|
| int32_t argc = pArguments->GetLength();
|
| if (argc == 2) {
|
| - CXFA_Node* pNewNode = (CXFA_Node*)pArguments->GetObject(0);
|
| - CXFA_Node* pBeforeNode = (CXFA_Node*)pArguments->GetObject(1);
|
| + CXFA_Node* pNewNode = static_cast<CXFA_Node*>(pArguments->GetObject(0));
|
| + CXFA_Node* pBeforeNode = static_cast<CXFA_Node*>(pArguments->GetObject(1));
|
| if (pNewNode) {
|
| Insert(pNewNode, pBeforeNode);
|
| } else {
|
| @@ -5326,7 +5327,7 @@ void CXFA_NodeList::Script_ListClass_Insert(CFXJSE_Arguments* pArguments) {
|
| void CXFA_NodeList::Script_ListClass_Remove(CFXJSE_Arguments* pArguments) {
|
| int32_t argc = pArguments->GetLength();
|
| if (argc == 1) {
|
| - CXFA_Node* pNode = (CXFA_Node*)pArguments->GetObject(0);
|
| + CXFA_Node* pNode = static_cast<CXFA_Node*>(pArguments->GetObject(0));
|
| if (pNode) {
|
| Remove(pNode);
|
| } else {
|
|
|