diff options
Diffstat (limited to 'xfa')
-rw-r--r-- | xfa/fxfa/cxfa_ffdocview.cpp | 2 | ||||
-rw-r--r-- | xfa/fxfa/cxfa_fffield.cpp | 4 | ||||
-rw-r--r-- | xfa/fxfa/cxfa_ffnotify.cpp | 2 | ||||
-rw-r--r-- | xfa/fxfa/cxfa_ffwidgethandler.cpp | 4 | ||||
-rw-r--r-- | xfa/fxfa/parser/cxfa_document.cpp | 2 | ||||
-rw-r--r-- | xfa/fxfa/parser/cxfa_itemlayoutprocessor.cpp | 2 | ||||
-rw-r--r-- | xfa/fxfa/parser/cxfa_layoutpagemgr.cpp | 18 | ||||
-rw-r--r-- | xfa/fxfa/parser/cxfa_node.cpp | 32 | ||||
-rw-r--r-- | xfa/fxfa/parser/cxfa_node.h | 3 | ||||
-rw-r--r-- | xfa/fxfa/parser/cxfa_simple_parser.cpp | 16 | ||||
-rw-r--r-- | xfa/fxfa/parser/xfa_document_datamerger_imp.cpp | 14 |
11 files changed, 53 insertions, 46 deletions
diff --git a/xfa/fxfa/cxfa_ffdocview.cpp b/xfa/fxfa/cxfa_ffdocview.cpp index 42827c7d11..43879af2dc 100644 --- a/xfa/fxfa/cxfa_ffdocview.cpp +++ b/xfa/fxfa/cxfa_ffdocview.cpp @@ -215,7 +215,7 @@ bool CXFA_FFDocView::ResetSingleNodeData(CXFA_Node* pNode) { return true; AddValidateNode(pNode); - validate->SetFlag(XFA_NodeFlag_NeedsInitApp, false); + validate->SetFlag(XFA_NodeFlag_NeedsInitApp); return true; } diff --git a/xfa/fxfa/cxfa_fffield.cpp b/xfa/fxfa/cxfa_fffield.cpp index 2238648ab0..39c117b352 100644 --- a/xfa/fxfa/cxfa_fffield.cpp +++ b/xfa/fxfa/cxfa_fffield.cpp @@ -697,7 +697,7 @@ int32_t CXFA_FFField::CalculateNode(CXFA_Node* pNode) { wsMessage += L"Are you sure you want to modify this field?"; if (pAppProvider->MsgBox(wsMessage, L"Calculate Override", XFA_MBICON_Warning, XFA_MB_YesNo) == XFA_IDYes) { - pNode->SetFlag(XFA_NodeFlag_UserInteractive, false); + pNode->SetFlag(XFA_NodeFlag_UserInteractive); return 1; } return 0; @@ -705,7 +705,7 @@ int32_t CXFA_FFField::CalculateNode(CXFA_Node* pNode) { case XFA_AttributeEnum::Ignore: return 0; case XFA_AttributeEnum::Disabled: - pNode->SetFlag(XFA_NodeFlag_UserInteractive, false); + pNode->SetFlag(XFA_NodeFlag_UserInteractive); return 1; default: return 1; diff --git a/xfa/fxfa/cxfa_ffnotify.cpp b/xfa/fxfa/cxfa_ffnotify.cpp index a0aa047134..d0e8a5dcb8 100644 --- a/xfa/fxfa/cxfa_ffnotify.cpp +++ b/xfa/fxfa/cxfa_ffnotify.cpp @@ -329,7 +329,7 @@ void CXFA_FFNotify::OnNodeReady(CXFA_Node* pNode) { pDocView->AddBindItem(static_cast<CXFA_BindItems*>(pNode)); break; case XFA_Element::Validate: - pNode->SetFlag(XFA_NodeFlag_NeedsInitApp, false); + pNode->SetFlag(XFA_NodeFlag_NeedsInitApp); break; default: break; diff --git a/xfa/fxfa/cxfa_ffwidgethandler.cpp b/xfa/fxfa/cxfa_ffwidgethandler.cpp index 66885e02b2..87d7a14a3e 100644 --- a/xfa/fxfa/cxfa_ffwidgethandler.cpp +++ b/xfa/fxfa/cxfa_ffwidgethandler.cpp @@ -252,8 +252,8 @@ CXFA_FFWidget* CXFA_FFWidgetHandler::CreateWidget(CXFA_FFWidget* hParent, if (!templateNode) return nullptr; - templateNode->SetFlag(XFA_NodeFlag_Initialized, true); - pNewFormItem->SetFlag(XFA_NodeFlag_Initialized, true); + templateNode->SetFlagAndNotify(XFA_NodeFlag_Initialized); + pNewFormItem->SetFlagAndNotify(XFA_NodeFlag_Initialized); m_pDocView->RunLayout(); CXFA_LayoutItem* pLayout = m_pDocView->GetXFALayout()->GetLayoutItem(pNewFormItem); diff --git a/xfa/fxfa/parser/cxfa_document.cpp b/xfa/fxfa/parser/cxfa_document.cpp index 01ba3205ed..cf6f3ccbc4 100644 --- a/xfa/fxfa/parser/cxfa_document.cpp +++ b/xfa/fxfa/parser/cxfa_document.cpp @@ -69,7 +69,7 @@ void MergeNode(CXFA_Document* pDocument, CXFA_NodeIterator sIterator(pDestNode); for (CXFA_Node* pNode = sIterator.GetCurrent(); pNode; pNode = sIterator.MoveToNext()) { - pNode->SetFlag(XFA_NodeFlag_UnusedNode, true); + pNode->SetFlag(XFA_NodeFlag_UnusedNode); } } pDestNode->SetTemplateNode(pProtoNode); diff --git a/xfa/fxfa/parser/cxfa_itemlayoutprocessor.cpp b/xfa/fxfa/parser/cxfa_itemlayoutprocessor.cpp index 88dcd1b4ae..d4506c7bb1 100644 --- a/xfa/fxfa/parser/cxfa_itemlayoutprocessor.cpp +++ b/xfa/fxfa/parser/cxfa_itemlayoutprocessor.cpp @@ -1552,7 +1552,7 @@ void CXFA_ItemLayoutProcessor::ProcessUnUseBinds(CXFA_Node* pFormNode) { pNode->SetBindingNode(nullptr); } } - pNode->SetFlag(XFA_NodeFlag_UnusedNode, true); + pNode->SetFlag(XFA_NodeFlag_UnusedNode); } } diff --git a/xfa/fxfa/parser/cxfa_layoutpagemgr.cpp b/xfa/fxfa/parser/cxfa_layoutpagemgr.cpp index d6178bfc5e..c6b76b88cc 100644 --- a/xfa/fxfa/parser/cxfa_layoutpagemgr.cpp +++ b/xfa/fxfa/parser/cxfa_layoutpagemgr.cpp @@ -198,7 +198,7 @@ CXFA_Node* ResolveBreakTarget(CXFA_Node* pPageSetRoot, } void SetLayoutGeneratedNodeFlag(CXFA_Node* pNode) { - pNode->SetFlag(XFA_NodeFlag_LayoutGeneratedNode, false); + pNode->SetFlag(XFA_NodeFlag_LayoutGeneratedNode); pNode->ClearFlag(XFA_NodeFlag_UnusedNode); } @@ -337,7 +337,7 @@ bool CXFA_LayoutPageMgr::InitLayoutPage(CXFA_Node* pFormNode) { return false; m_pTemplatePageSetRoot->InsertChild(pPageArea, nullptr); - pPageArea->SetFlag(XFA_NodeFlag_Initialized, true); + pPageArea->SetFlagAndNotify(XFA_NodeFlag_Initialized); } CXFA_ContentArea* pContentArea = pPageArea->GetChild<CXFA_ContentArea>(0, XFA_Element::ContentArea, false); @@ -348,7 +348,7 @@ bool CXFA_LayoutPageMgr::InitLayoutPage(CXFA_Node* pFormNode) { return false; pPageArea->InsertChild(pContentArea, nullptr); - pContentArea->SetFlag(XFA_NodeFlag_Initialized, true); + pContentArea->SetFlagAndNotify(XFA_NodeFlag_Initialized); pContentArea->JSObject()->SetMeasure( XFA_Attribute::X, CXFA_Measurement(0.25f, XFA_Unit::In), false); pContentArea->JSObject()->SetMeasure( @@ -367,7 +367,7 @@ bool CXFA_LayoutPageMgr::InitLayoutPage(CXFA_Node* pFormNode) { return false; pPageArea->InsertChild(pMedium, nullptr); - pMedium->SetFlag(XFA_NodeFlag_Initialized, true); + pMedium->SetFlagAndNotify(XFA_NodeFlag_Initialized); pMedium->JSObject()->SetMeasure( XFA_Attribute::Short, CXFA_Measurement(8.5f, XFA_Unit::In), false); pMedium->JSObject()->SetMeasure( @@ -1641,7 +1641,7 @@ void CXFA_LayoutPageMgr::SaveLayoutItem(CXFA_LayoutItem* pParentLayoutItem) { sIterator(pCurLayoutItem->m_pFormNode); for (CXFA_Node* pNode = sIterator.GetCurrent(); pNode; pNode = sIterator.MoveToNext()) { - pNode->SetFlag(XFA_NodeFlag_UnusedNode, false); + pNode->SetFlag(XFA_NodeFlag_UnusedNode); } } } @@ -1701,7 +1701,7 @@ void CXFA_LayoutPageMgr::MergePageSetContents() { pNode->SetBindingNode(nullptr); } } - pNode->SetFlag(XFA_NodeFlag_UnusedNode, true); + pNode->SetFlag(XFA_NodeFlag_UnusedNode); } } @@ -1824,7 +1824,7 @@ void CXFA_LayoutPageMgr::MergePageSetContents() { pFormToplevelSubform->InsertChild(pPendingPageSet, nullptr); } pDocument->DataMerge_UpdateBindingRelations(pPendingPageSet); - pPendingPageSet->SetFlag(XFA_NodeFlag_Initialized, true); + pPendingPageSet->SetFlagAndNotify(XFA_NodeFlag_Initialized); } CXFA_Node* pPageSet = GetRootLayoutItem()->m_pFormNode; @@ -1861,11 +1861,11 @@ void CXFA_LayoutPageMgr::MergePageSetContents() { pNode = pNext; } else { pNode->ClearFlag(XFA_NodeFlag_UnusedNode); - pNode->SetFlag(XFA_NodeFlag_Initialized, true); + pNode->SetFlagAndNotify(XFA_NodeFlag_Initialized); pNode = sIterator.MoveToNext(); } } else { - pNode->SetFlag(XFA_NodeFlag_Initialized, true); + pNode->SetFlagAndNotify(XFA_NodeFlag_Initialized); pNode = sIterator.MoveToNext(); } } diff --git a/xfa/fxfa/parser/cxfa_node.cpp b/xfa/fxfa/parser/cxfa_node.cpp index 58b14cdf8a..46e601d556 100644 --- a/xfa/fxfa/parser/cxfa_node.cpp +++ b/xfa/fxfa/parser/cxfa_node.cpp @@ -566,7 +566,7 @@ CXFA_Node* CXFA_Node::Clone(bool bRecursive) { pCloneXML = m_pXMLNode->Clone(); } pClone->SetXMLMappingNode(pCloneXML.release()); - pClone->SetFlag(XFA_NodeFlag_OwnXMLNode, false); + pClone->SetFlag(XFA_NodeFlag_OwnXMLNode); } if (bRecursive) { for (CXFA_Node* pChild = GetFirstChild(); pChild; @@ -574,7 +574,7 @@ CXFA_Node* CXFA_Node::Clone(bool bRecursive) { pClone->InsertChild(pChild->Clone(bRecursive), nullptr); } } - pClone->SetFlag(XFA_NodeFlag_Initialized, true); + pClone->SetFlagAndNotify(XFA_NodeFlag_Initialized); pClone->SetBindingNode(nullptr); return pClone; } @@ -748,7 +748,7 @@ std::vector<CXFA_Node*> CXFA_Node::GetNodeList(uint32_t dwTypeFilter, CXFA_Node* pNewNode = m_pDocument->CreateNode(GetPacketType(), *property); if (pNewNode) { InsertChild(pNewNode, nullptr); - pNewNode->SetFlag(XFA_NodeFlag_Initialized, true); + pNewNode->SetFlagAndNotify(XFA_NodeFlag_Initialized); nodes.push_back(pNewNode); } return nodes; @@ -756,7 +756,7 @@ std::vector<CXFA_Node*> CXFA_Node::GetNodeList(uint32_t dwTypeFilter, CXFA_Node* CXFA_Node::CreateSamePacketNode(XFA_Element eType) { CXFA_Node* pNode = m_pDocument->CreateNode(m_ePacket, eType); - pNode->SetFlag(XFA_NodeFlag_Initialized, true); + pNode->SetFlagAndNotify(XFA_NodeFlag_Initialized); return pNode; } @@ -776,7 +776,7 @@ CXFA_Node* CXFA_Node::CloneTemplateToForm(bool bRecursive) { pClone->InsertChild(pChild->CloneTemplateToForm(bRecursive), nullptr); } } - pClone->SetFlag(XFA_NodeFlag_Initialized, true); + pClone->SetFlagAndNotify(XFA_NodeFlag_Initialized); return pClone; } @@ -1186,7 +1186,7 @@ void CXFA_Node::RemoveChild(CXFA_Node* pNode, bool bNotify) { PDFIUM_IMMEDIATE_CRASH(); } - pNode->SetFlag(XFA_NodeFlag_HasRemovedChildren, true); + pNode->SetFlag(XFA_NodeFlag_HasRemovedChildren); if (first_child_ == pNode && last_child_ == pNode) { first_child_ = nullptr; @@ -1236,7 +1236,7 @@ void CXFA_Node::RemoveChild(CXFA_Node* pNode, bool bNotify) { } else { m_pXMLNode->RemoveChildNode(pNode->m_pXMLNode); } - pNode->SetFlag(XFA_NodeFlag_OwnXMLNode, false); + pNode->SetFlag(XFA_NodeFlag_OwnXMLNode); } CXFA_Node* CXFA_Node::GetFirstChildByName(const WideStringView& wsName) const { @@ -1325,8 +1325,10 @@ bool CXFA_Node::HasFlag(XFA_NodeFlag dwFlag) const { return false; } -void CXFA_Node::SetFlag(uint32_t dwFlag, bool bNotify) { - if (dwFlag == XFA_NodeFlag_Initialized && bNotify && !IsInitialized()) { +void CXFA_Node::SetFlagAndNotify(uint32_t dwFlag) { + ASSERT(dwFlag == XFA_NodeFlag_Initialized); + + if (!IsInitialized()) { CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); if (pNotify) { pNotify->OnNodeReady(this); @@ -1335,6 +1337,10 @@ void CXFA_Node::SetFlag(uint32_t dwFlag, bool bNotify) { m_uNodeFlags |= dwFlag; } +void CXFA_Node::SetFlag(uint32_t dwFlag) { + m_uNodeFlags |= dwFlag; +} + void CXFA_Node::ClearFlag(uint32_t dwFlag) { m_uNodeFlags &= ~dwFlag; } @@ -1372,7 +1378,7 @@ CFX_XMLNode* CXFA_Node::CreateXMLMappingNode() { if (!m_pXMLNode) { WideString wsTag(JSObject()->GetCData(XFA_Attribute::Name)); m_pXMLNode = new CFX_XMLElement(wsTag); - SetFlag(XFA_NodeFlag_OwnXMLNode, false); + SetFlag(XFA_NodeFlag_OwnXMLNode); } return m_pXMLNode; } @@ -2010,7 +2016,7 @@ void CXFA_Node::ProcessScriptTestValidate(CXFA_FFDocView* docView, } if (pAppProvider->MsgBox(wsScriptMsg, wsTitle, XFA_MBICON_Warning, XFA_MB_YesNo) == XFA_IDYes) { - SetFlag(XFA_NodeFlag_UserInteractive, false); + SetFlag(XFA_NodeFlag_UserInteractive); } return; } @@ -2061,7 +2067,7 @@ int32_t CXFA_Node::ProcessFormatTestValidate(CXFA_FFDocView* docView, } if (pAppProvider->MsgBox(wsFormatMsg, wsTitle, XFA_MBICON_Warning, XFA_MB_YesNo) == XFA_IDYes) { - SetFlag(XFA_NodeFlag_UserInteractive, false); + SetFlag(XFA_NodeFlag_UserInteractive); } return XFA_EVENTERROR_Success; } @@ -2128,7 +2134,7 @@ int32_t CXFA_Node::ProcessNullTestValidate(CXFA_FFDocView* docView, } if (pAppProvider->MsgBox(wsNullMsg, wsTitle, XFA_MBICON_Warning, XFA_MB_YesNo) == XFA_IDYes) { - SetFlag(XFA_NodeFlag_UserInteractive, false); + SetFlag(XFA_NodeFlag_UserInteractive); } return XFA_EVENTERROR_Error; } diff --git a/xfa/fxfa/parser/cxfa_node.h b/xfa/fxfa/parser/cxfa_node.h index f5eb2be77e..f34bd9bfba 100644 --- a/xfa/fxfa/parser/cxfa_node.h +++ b/xfa/fxfa/parser/cxfa_node.h @@ -115,7 +115,8 @@ class CXFA_Node : public CXFA_Object { XFA_PacketType GetPacketType() const { return m_ePacket; } - void SetFlag(uint32_t dwFlag, bool bNotify); + void SetFlag(uint32_t dwFlag); + void SetFlagAndNotify(uint32_t dwFlag); void ClearFlag(uint32_t dwFlag); CXFA_Node* CreateInstanceIfPossible(bool bDataMerge); diff --git a/xfa/fxfa/parser/cxfa_simple_parser.cpp b/xfa/fxfa/parser/cxfa_simple_parser.cpp index 42498695e9..7424913114 100644 --- a/xfa/fxfa/parser/cxfa_simple_parser.cpp +++ b/xfa/fxfa/parser/cxfa_simple_parser.cpp @@ -429,7 +429,7 @@ void CXFA_SimpleParser::ConstructXFANode(CXFA_Node* pXFANode, pXFANode->InsertChild(pXFAChild, nullptr); pXFAChild->SetXMLMappingNode(pXMLChild); - pXFAChild->SetFlag(XFA_NodeFlag_Initialized, false); + pXFAChild->SetFlag(XFA_NodeFlag_Initialized); break; } } @@ -760,7 +760,7 @@ CXFA_Node* CXFA_SimpleParser::ParseAsXDPPacket_Data( pNode->SetXMLMappingNode(pDataXMLNode); if (pDataXMLNode != pXMLDocumentNode) - pNode->SetFlag(XFA_NodeFlag_OwnXMLNode, false); + pNode->SetFlag(XFA_NodeFlag_OwnXMLNode); return pNode; } return nullptr; @@ -1067,7 +1067,7 @@ void CXFA_SimpleParser::ParseDataGroup(CXFA_Node* pXFANode, XFA_AttributeEnum::MetaData, false); pXFAChild->InsertChild(pXFAMetaData, nullptr); pXFAMetaData->SetXMLMappingNode(pXMLElement); - pXFAMetaData->SetFlag(XFA_NodeFlag_Initialized, false); + pXFAMetaData->SetFlag(XFA_NodeFlag_Initialized); } if (!bNeedValue) { @@ -1081,7 +1081,7 @@ void CXFA_SimpleParser::ParseDataGroup(CXFA_Node* pXFANode, ParseDataValue(pXFAChild, pXMLChild, XFA_PacketType::Datasets); pXFAChild->SetXMLMappingNode(pXMLElement); - pXFAChild->SetFlag(XFA_NodeFlag_Initialized, false); + pXFAChild->SetFlag(XFA_NodeFlag_Initialized); continue; } case FX_XMLNODE_CharData: @@ -1100,7 +1100,7 @@ void CXFA_SimpleParser::ParseDataGroup(CXFA_Node* pXFANode, false); pXFANode->InsertChild(pXFAChild, nullptr); pXFAChild->SetXMLMappingNode(pXMLText); - pXFAChild->SetFlag(XFA_NodeFlag_Initialized, false); + pXFAChild->SetFlag(XFA_NodeFlag_Initialized); continue; } default: @@ -1151,7 +1151,7 @@ void CXFA_SimpleParser::ParseDataValue(CXFA_Node* pXFANode, false, false); pXFANode->InsertChild(pXFAChild, nullptr); pXFAChild->SetXMLMappingNode(pXMLCurValueNode); - pXFAChild->SetFlag(XFA_NodeFlag_Initialized, false); + pXFAChild->SetFlag(XFA_NodeFlag_Initialized); wsValueTextBuf << wsCurValue; wsCurValueTextBuf.Clear(); } @@ -1169,7 +1169,7 @@ void CXFA_SimpleParser::ParseDataValue(CXFA_Node* pXFANode, ParseDataValue(pXFAChild, pXMLChild, ePacketID); pXFANode->InsertChild(pXFAChild, nullptr); pXFAChild->SetXMLMappingNode(pXMLChild); - pXFAChild->SetFlag(XFA_NodeFlag_Initialized, false); + pXFAChild->SetFlag(XFA_NodeFlag_Initialized); WideString wsCurValue = pXFAChild->JSObject()->GetCData(XFA_Attribute::Value); wsValueTextBuf << wsCurValue; @@ -1189,7 +1189,7 @@ void CXFA_SimpleParser::ParseDataValue(CXFA_Node* pXFANode, false); pXFANode->InsertChild(pXFAChild, nullptr); pXFAChild->SetXMLMappingNode(pXMLCurValueNode); - pXFAChild->SetFlag(XFA_NodeFlag_Initialized, false); + pXFAChild->SetFlag(XFA_NodeFlag_Initialized); } wsValueTextBuf << wsCurValue; wsCurValueTextBuf.Clear(); diff --git a/xfa/fxfa/parser/xfa_document_datamerger_imp.cpp b/xfa/fxfa/parser/xfa_document_datamerger_imp.cpp index b06c9ce549..8ad38afe2d 100644 --- a/xfa/fxfa/parser/xfa_document_datamerger_imp.cpp +++ b/xfa/fxfa/parser/xfa_document_datamerger_imp.cpp @@ -729,7 +729,7 @@ CXFA_Node* CopyContainer_SubformSet(CXFA_Document* pDocument, pOccurNode->ClearFlag(XFA_NodeFlag_UnusedNode); } if (pInstMgrNode) { - pInstMgrNode->SetFlag(XFA_NodeFlag_Initialized, true); + pInstMgrNode->SetFlagAndNotify(XFA_NodeFlag_Initialized); pSearchArray = &subformArray; if (pFormParentNode->GetElementType() == XFA_Element::PageArea) { bOneInstance = true; @@ -1029,7 +1029,7 @@ CXFA_Node* MaybeCreateDataNode(CXFA_Document* pDocument, pDataNode->JSObject()->SetCData(XFA_Attribute::Name, wsName, false, false); pDataNode->CreateXMLMappingNode(); pDataParent->InsertChild(pDataNode, nullptr); - pDataNode->SetFlag(XFA_NodeFlag_Initialized, false); + pDataNode->SetFlag(XFA_NodeFlag_Initialized); return pDataNode; } @@ -1065,7 +1065,7 @@ CXFA_Node* MaybeCreateDataNode(CXFA_Document* pDocument, } pDataParent->InsertChild(pDataNode, nullptr); pDataNode->SetDataDescriptionNode(pDDNode); - pDataNode->SetFlag(XFA_NodeFlag_Initialized, false); + pDataNode->SetFlag(XFA_NodeFlag_Initialized); return pDataNode; } return nullptr; @@ -1285,7 +1285,7 @@ CXFA_Node* XFA_NodeMerge_CloneOrMergeContainer( } } } - pExistingNode->SetFlag(XFA_NodeFlag_Initialized, true); + pExistingNode->SetFlagAndNotify(XFA_NodeFlag_Initialized); return pExistingNode; } @@ -1448,7 +1448,7 @@ void CXFA_Document::DoDataMerge() { sIterator(pFormRoot); for (CXFA_Node* pNode = sIterator.MoveToNext(); pNode; pNode = sIterator.MoveToNext()) { - pNode->SetFlag(XFA_NodeFlag_UnusedNode, true); + pNode->SetFlag(XFA_NodeFlag_UnusedNode); } } @@ -1513,11 +1513,11 @@ void CXFA_Document::DoDataMerge() { pNode = pNext; } else { pNode->ClearFlag(XFA_NodeFlag_UnusedNode); - pNode->SetFlag(XFA_NodeFlag_Initialized, true); + pNode->SetFlagAndNotify(XFA_NodeFlag_Initialized); pNode = sIterator.MoveToNext(); } } else { - pNode->SetFlag(XFA_NodeFlag_Initialized, true); + pNode->SetFlagAndNotify(XFA_NodeFlag_Initialized); pNode = sIterator.MoveToNext(); } } |