Index: xfa/fxfa/fm2js/xfa_expression.cpp |
diff --git a/xfa/fxfa/fm2js/xfa_expression.cpp b/xfa/fxfa/fm2js/xfa_expression.cpp |
index 5734593ff82edca8ead072757cabcf3491c3ee76..b7ff0b53420a0eba872e43d6d361c17cbc040e97 100644 |
--- a/xfa/fxfa/fm2js/xfa_expression.cpp |
+++ b/xfa/fxfa/fm2js/xfa_expression.cpp |
@@ -35,24 +35,17 @@ CXFA_FMFunctionDefinition::CXFA_FMFunctionDefinition( |
bool isGlobal, |
const CFX_WideStringC& wsName, |
std::unique_ptr<CFX_WideStringCArray> pArguments, |
- CFX_ArrayTemplate<CXFA_FMExpression*>* pExpressions) |
+ std::vector<std::unique_ptr<CXFA_FMExpression>>&& pExpressions) |
: CXFA_FMExpression(line, XFA_FM_EXPTYPE_FUNC), |
m_wsName(wsName), |
m_pArguments(std::move(pArguments)), |
- m_pExpressions(pExpressions), |
+ m_pExpressions(std::move(pExpressions)), |
m_isGlobal(isGlobal) {} |
-CXFA_FMFunctionDefinition::~CXFA_FMFunctionDefinition() { |
- if (m_pExpressions) { |
- for (int i = 0; i < m_pExpressions->GetSize(); ++i) |
- delete m_pExpressions->GetAt(i); |
- |
- delete m_pExpressions; |
- } |
-} |
+CXFA_FMFunctionDefinition::~CXFA_FMFunctionDefinition() {} |
void CXFA_FMFunctionDefinition::ToJavaScript(CFX_WideTextBuf& javascript) { |
- if (m_isGlobal && (!m_pExpressions || m_pExpressions->GetSize() == 0)) { |
+ if (m_isGlobal && m_pExpressions.empty()) { |
javascript << FX_WSTRC(L"// comments only"); |
return; |
} |
@@ -87,14 +80,12 @@ void CXFA_FMFunctionDefinition::ToJavaScript(CFX_WideTextBuf& javascript) { |
javascript << FX_WSTRC(L"var "); |
javascript << RUNTIMEFUNCTIONRETURNVALUE; |
javascript << FX_WSTRC(L" = null;\n"); |
- if (m_pExpressions) { |
- for (int i = 0; i < m_pExpressions->GetSize(); ++i) { |
- CXFA_FMExpression* e = m_pExpressions->GetAt(i); |
- if (i + 1 < m_pExpressions->GetSize()) { |
- e->ToJavaScript(javascript); |
- } else { |
- e->ToImpliedReturnJS(javascript); |
- } |
+ for (size_t i = 0; i < m_pExpressions.size(); ++i) { |
+ CXFA_FMExpression* e = m_pExpressions.at(i).get(); |
Tom Sepez
2016/11/28 18:09:11
nit: or just const auto& e = m_pExpressions[i]; si
npm
2016/11/28 20:04:39
Done.
|
+ if (i + 1 < m_pExpressions.size()) { |
+ e->ToJavaScript(javascript); |
+ } else { |
+ e->ToImpliedReturnJS(javascript); |
} |
} |
javascript << FX_WSTRC(L"return "); |
@@ -210,38 +201,27 @@ void CXFA_FMExpExpression::ToImpliedReturnJS(CFX_WideTextBuf& javascript) { |
CXFA_FMBlockExpression::CXFA_FMBlockExpression( |
uint32_t line, |
- CFX_ArrayTemplate<CXFA_FMExpression*>* pExpressionList) |
+ std::vector<std::unique_ptr<CXFA_FMExpression>>&& pExpressionList) |
: CXFA_FMExpression(line, XFA_FM_EXPTYPE_BLOCK), |
- m_pExpressionList(pExpressionList) {} |
+ m_ExpressionList(std::move(pExpressionList)) {} |
-CXFA_FMBlockExpression::~CXFA_FMBlockExpression() { |
- if (m_pExpressionList) { |
- for (int i = 0; i < m_pExpressionList->GetSize(); ++i) |
- delete m_pExpressionList->GetAt(i); |
- |
- delete m_pExpressionList; |
- } |
-} |
+CXFA_FMBlockExpression::~CXFA_FMBlockExpression() {} |
void CXFA_FMBlockExpression::ToJavaScript(CFX_WideTextBuf& javascript) { |
javascript << FX_WSTRC(L"{\n"); |
- if (m_pExpressionList) { |
- for (int i = 0; i < m_pExpressionList->GetSize(); ++i) |
- m_pExpressionList->GetAt(i)->ToJavaScript(javascript); |
- } |
+ for (size_t i = 0; i < m_ExpressionList.size(); ++i) |
Tom Sepez
2016/11/28 18:09:11
nit: or just
for (const auto& expr : m_Express
npm
2016/11/28 20:04:39
Done.
|
+ m_ExpressionList.at(i)->ToJavaScript(javascript); |
javascript << FX_WSTRC(L"}\n"); |
} |
void CXFA_FMBlockExpression::ToImpliedReturnJS(CFX_WideTextBuf& javascript) { |
javascript << FX_WSTRC(L"{\n"); |
- if (m_pExpressionList) { |
- for (int i = 0; i < m_pExpressionList->GetSize(); ++i) { |
- CXFA_FMExpression* e = m_pExpressionList->GetAt(i); |
- if (i + 1 == m_pExpressionList->GetSize()) { |
- e->ToImpliedReturnJS(javascript); |
- } else { |
- e->ToJavaScript(javascript); |
- } |
+ for (size_t i = 0; i < m_ExpressionList.size(); ++i) { |
+ CXFA_FMExpression* e = m_ExpressionList.at(i).get(); |
+ if (i + 1 == m_ExpressionList.size()) { |
+ e->ToImpliedReturnJS(javascript); |
+ } else { |
+ e->ToJavaScript(javascript); |
} |
} |
javascript << FX_WSTRC(L"}\n"); |