Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(482)

Unified Diff: xfa/fxfa/fm2js/xfa_expression.cpp

Issue 2530933002: Use unique pointers in CXFA_FMParse (Closed)
Patch Set: You mad Windows? Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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");

Powered by Google App Engine
This is Rietveld 408576698