summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fxjs/xfa/cjx_tree.cpp17
-rw-r--r--xfa/fxfa/parser/cxfa_node.cpp16
-rw-r--r--xfa/fxfa/parser/cxfa_node.h2
3 files changed, 15 insertions, 20 deletions
diff --git a/fxjs/xfa/cjx_tree.cpp b/fxjs/xfa/cjx_tree.cpp
index e20115b9bc..c11d77b125 100644
--- a/fxjs/xfa/cjx_tree.cpp
+++ b/fxjs/xfa/cjx_tree.cpp
@@ -175,7 +175,13 @@ void CJX_Tree::index(CFXJSE_Value* pValue,
ThrowInvalidPropertyException();
return;
}
- pValue->SetInteger(ToNode(GetXFAObject())->GetNodeSameNameIndex());
+
+ CFXJSE_Engine* pScriptContext = GetDocument()->GetScriptContext();
+ if (!pScriptContext) {
+ pValue->SetInteger(-1);
+ return;
+ }
+ pValue->SetInteger(pScriptContext->GetIndexByName(ToNode(GetXFAObject())));
}
void CJX_Tree::classIndex(CFXJSE_Value* pValue,
@@ -185,7 +191,14 @@ void CJX_Tree::classIndex(CFXJSE_Value* pValue,
ThrowInvalidPropertyException();
return;
}
- pValue->SetInteger(ToNode(GetXFAObject())->GetNodeSameClassIndex());
+
+ CFXJSE_Engine* pScriptContext = GetDocument()->GetScriptContext();
+ if (!pScriptContext) {
+ pValue->SetInteger(-1);
+ return;
+ }
+ pValue->SetInteger(
+ pScriptContext->GetIndexByClassName(ToNode(GetXFAObject())));
}
void CJX_Tree::somExpression(CFXJSE_Value* pValue,
diff --git a/xfa/fxfa/parser/cxfa_node.cpp b/xfa/fxfa/parser/cxfa_node.cpp
index 2ccdd1d919..c97a0f3bfd 100644
--- a/xfa/fxfa/parser/cxfa_node.cpp
+++ b/xfa/fxfa/parser/cxfa_node.cpp
@@ -1331,22 +1331,6 @@ CXFA_Node* CXFA_Node::GetNextSameClassSiblingInternal(XFA_Element eType) const {
return nullptr;
}
-int32_t CXFA_Node::GetNodeSameNameIndex() const {
- CFXJSE_Engine* pScriptContext = m_pDocument->GetScriptContext();
- if (!pScriptContext) {
- return -1;
- }
- return pScriptContext->GetIndexByName(const_cast<CXFA_Node*>(this));
-}
-
-int32_t CXFA_Node::GetNodeSameClassIndex() const {
- CFXJSE_Engine* pScriptContext = m_pDocument->GetScriptContext();
- if (!pScriptContext) {
- return -1;
- }
- return pScriptContext->GetIndexByClassName(const_cast<CXFA_Node*>(this));
-}
-
CXFA_Node* CXFA_Node::GetInstanceMgrOfSubform() {
CXFA_Node* pInstanceMgr = nullptr;
if (m_ePacket == XFA_PacketType::Form) {
diff --git a/xfa/fxfa/parser/cxfa_node.h b/xfa/fxfa/parser/cxfa_node.h
index 99b035dfc7..3c532b0dc8 100644
--- a/xfa/fxfa/parser/cxfa_node.h
+++ b/xfa/fxfa/parser/cxfa_node.h
@@ -235,8 +235,6 @@ class CXFA_Node : public CXFA_Object {
return static_cast<T*>(GetNextSameClassSiblingInternal(eType));
}
- int32_t GetNodeSameNameIndex() const;
- int32_t GetNodeSameClassIndex() const;
CXFA_Node* GetInstanceMgrOfSubform();
CXFA_Occur* GetOccurIfExists();