Chromium Code Reviews| 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"); |