Index: xfa/fxfa/fm2js/xfa_fmparse.cpp |
diff --git a/xfa/fxfa/fm2js/xfa_fmparse.cpp b/xfa/fxfa/fm2js/xfa_fmparse.cpp |
index 07edc32c3dbda3f54a41f861ee2dbdc578bdf102..2d287da3b1e7314e6492006afce788b0669bd23a 100644 |
--- a/xfa/fxfa/fm2js/xfa_fmparse.cpp |
+++ b/xfa/fxfa/fm2js/xfa_fmparse.cpp |
@@ -192,7 +192,6 @@ std::unique_ptr<CXFA_FMExpression> CXFA_FMParse::ParseExpression() { |
} |
std::unique_ptr<CXFA_FMExpression> CXFA_FMParse::ParseVarExpression() { |
- std::unique_ptr<CXFA_FMExpression> expr; |
CFX_WideStringC ident; |
uint32_t line = m_pToken->m_uLinenum; |
NextToken(); |
@@ -204,17 +203,15 @@ std::unique_ptr<CXFA_FMExpression> CXFA_FMParse::ParseVarExpression() { |
ident = m_pToken->m_wstring; |
NextToken(); |
} |
+ std::unique_ptr<CXFA_FMExpression> expr; |
if (m_pToken->m_type == TOKassign) { |
NextToken(); |
expr = ParseExpExpression(); |
} |
- if (m_pErrorInfo->message.IsEmpty()) { |
- expr = |
- pdfium::MakeUnique<CXFA_FMVarExpression>(line, ident, expr.release()); |
- } else { |
- expr.reset(); |
- } |
- return expr; |
+ if (!m_pErrorInfo->message.IsEmpty()) |
+ return nullptr; |
+ |
+ return pdfium::MakeUnique<CXFA_FMVarExpression>(line, ident, std::move(expr)); |
} |
std::unique_ptr<CXFA_FMSimpleExpression> CXFA_FMParse::ParseSimpleExpression() { |
@@ -225,7 +222,7 @@ std::unique_ptr<CXFA_FMSimpleExpression> CXFA_FMParse::ParseSimpleExpression() { |
std::unique_ptr<CXFA_FMSimpleExpression> pExp2 = ParseLogicalOrExpression(); |
if (m_pErrorInfo->message.IsEmpty()) { |
pExp1 = pdfium::MakeUnique<CXFA_FMAssignExpression>( |
- line, TOKassign, pExp1.release(), pExp2.release()); |
+ line, TOKassign, std::move(pExp1), std::move(pExp2)); |
} else { |
pExp1.reset(); |
} |
@@ -236,13 +233,10 @@ std::unique_ptr<CXFA_FMSimpleExpression> CXFA_FMParse::ParseSimpleExpression() { |
std::unique_ptr<CXFA_FMExpression> CXFA_FMParse::ParseExpExpression() { |
uint32_t line = m_pToken->m_uLinenum; |
std::unique_ptr<CXFA_FMSimpleExpression> pExp1 = ParseSimpleExpression(); |
- std::unique_ptr<CXFA_FMExpression> expr; |
- if (m_pErrorInfo->message.IsEmpty()) { |
- expr = pdfium::MakeUnique<CXFA_FMExpExpression>(line, pExp1.release()); |
- } else { |
- expr.reset(); |
- } |
- return expr; |
+ if (!m_pErrorInfo->message.IsEmpty()) |
+ return nullptr; |
+ |
+ return pdfium::MakeUnique<CXFA_FMExpExpression>(line, std::move(pExp1)); |
} |
std::unique_ptr<CXFA_FMSimpleExpression> |
@@ -258,7 +252,7 @@ CXFA_FMParse::ParseLogicalOrExpression() { |
ParseLogicalAndExpression()); |
if (m_pErrorInfo->message.IsEmpty()) { |
e1 = pdfium::MakeUnique<CXFA_FMLogicalOrExpression>( |
- line, TOKor, e1.release(), e2.release()); |
+ line, TOKor, std::move(e1), std::move(e2)); |
} else { |
e1.reset(); |
} |
@@ -284,7 +278,7 @@ CXFA_FMParse::ParseLogicalAndExpression() { |
std::unique_ptr<CXFA_FMSimpleExpression> e2 = ParseEqualityExpression(); |
if (m_pErrorInfo->message.IsEmpty()) { |
e1 = pdfium::MakeUnique<CXFA_FMLogicalAndExpression>( |
- line, TOKand, e1.release(), e2.release()); |
+ line, TOKand, std::move(e1), std::move(e2)); |
} else { |
e1.reset(); |
} |
@@ -311,7 +305,7 @@ CXFA_FMParse::ParseEqualityExpression() { |
e2 = ParseRelationalExpression(); |
if (m_pErrorInfo->message.IsEmpty()) { |
e1 = pdfium::MakeUnique<CXFA_FMEqualityExpression>( |
- line, TOKeq, e1.release(), e2.release()); |
+ line, TOKeq, std::move(e1), std::move(e2)); |
} else { |
e1.reset(); |
} |
@@ -322,7 +316,7 @@ CXFA_FMParse::ParseEqualityExpression() { |
e2 = ParseRelationalExpression(); |
if (m_pErrorInfo->message.IsEmpty()) { |
e1 = pdfium::MakeUnique<CXFA_FMEqualityExpression>( |
- line, TOKne, e1.release(), e2.release()); |
+ line, TOKne, std::move(e1), std::move(e2)); |
} else { |
e1.reset(); |
} |
@@ -348,7 +342,7 @@ CXFA_FMParse::ParseRelationalExpression() { |
e2 = ParseAddtiveExpression(); |
if (m_pErrorInfo->message.IsEmpty()) { |
e1 = pdfium::MakeUnique<CXFA_FMRelationalExpression>( |
- line, TOKlt, e1.release(), e2.release()); |
+ line, TOKlt, std::move(e1), std::move(e2)); |
} else { |
e1.reset(); |
} |
@@ -359,7 +353,7 @@ CXFA_FMParse::ParseRelationalExpression() { |
e2 = ParseAddtiveExpression(); |
if (m_pErrorInfo->message.IsEmpty()) { |
e1 = pdfium::MakeUnique<CXFA_FMRelationalExpression>( |
- line, TOKgt, e1.release(), e2.release()); |
+ line, TOKgt, std::move(e1), std::move(e2)); |
} else { |
e1.reset(); |
} |
@@ -370,7 +364,7 @@ CXFA_FMParse::ParseRelationalExpression() { |
e2 = ParseAddtiveExpression(); |
if (m_pErrorInfo->message.IsEmpty()) { |
e1 = pdfium::MakeUnique<CXFA_FMRelationalExpression>( |
- line, TOKle, e1.release(), e2.release()); |
+ line, TOKle, std::move(e1), std::move(e2)); |
} else { |
e1.reset(); |
} |
@@ -381,7 +375,7 @@ CXFA_FMParse::ParseRelationalExpression() { |
e2 = ParseAddtiveExpression(); |
if (m_pErrorInfo->message.IsEmpty()) { |
e1 = pdfium::MakeUnique<CXFA_FMRelationalExpression>( |
- line, TOKge, e1.release(), e2.release()); |
+ line, TOKge, std::move(e1), std::move(e2)); |
} else { |
e1.reset(); |
} |
@@ -406,7 +400,7 @@ CXFA_FMParse::ParseAddtiveExpression() { |
e2 = ParseMultiplicativeExpression(); |
if (m_pErrorInfo->message.IsEmpty()) { |
e1 = pdfium::MakeUnique<CXFA_FMAdditiveExpression>( |
- line, TOKplus, e1.release(), e2.release()); |
+ line, TOKplus, std::move(e1), std::move(e2)); |
} else { |
e1.reset(); |
} |
@@ -416,7 +410,7 @@ CXFA_FMParse::ParseAddtiveExpression() { |
e2 = ParseMultiplicativeExpression(); |
if (m_pErrorInfo->message.IsEmpty()) { |
e1 = pdfium::MakeUnique<CXFA_FMAdditiveExpression>( |
- line, TOKminus, e1.release(), e2.release()); |
+ line, TOKminus, std::move(e1), std::move(e2)); |
} else { |
e1.reset(); |
} |
@@ -441,7 +435,7 @@ CXFA_FMParse::ParseMultiplicativeExpression() { |
e2 = ParseUnaryExpression(); |
if (m_pErrorInfo->message.IsEmpty()) { |
e1 = pdfium::MakeUnique<CXFA_FMMultiplicativeExpression>( |
- line, TOKmul, e1.release(), e2.release()); |
+ line, TOKmul, std::move(e1), std::move(e2)); |
} else { |
e1.reset(); |
} |
@@ -451,7 +445,7 @@ CXFA_FMParse::ParseMultiplicativeExpression() { |
e2 = ParseUnaryExpression(); |
if (m_pErrorInfo->message.IsEmpty()) { |
e1 = pdfium::MakeUnique<CXFA_FMMultiplicativeExpression>( |
- line, TOKdiv, e1.release(), e2.release()); |
+ line, TOKdiv, std::move(e1), std::move(e2)); |
} else { |
e1.reset(); |
} |
@@ -471,29 +465,26 @@ std::unique_ptr<CXFA_FMSimpleExpression> CXFA_FMParse::ParseUnaryExpression() { |
case TOKplus: |
NextToken(); |
expr = ParseUnaryExpression(); |
- if (m_pErrorInfo->message.IsEmpty()) { |
- expr = pdfium::MakeUnique<CXFA_FMPosExpression>(line, expr.release()); |
- } else { |
+ if (m_pErrorInfo->message.IsEmpty()) |
+ expr = pdfium::MakeUnique<CXFA_FMPosExpression>(line, std::move(expr)); |
+ else |
expr.reset(); |
- } |
break; |
case TOKminus: |
NextToken(); |
expr = ParseUnaryExpression(); |
- if (m_pErrorInfo->message.IsEmpty()) { |
- expr = pdfium::MakeUnique<CXFA_FMNegExpression>(line, expr.release()); |
- } else { |
+ if (m_pErrorInfo->message.IsEmpty()) |
+ expr = pdfium::MakeUnique<CXFA_FMNegExpression>(line, std::move(expr)); |
+ else |
expr.reset(); |
- } |
break; |
case TOKksnot: |
NextToken(); |
expr = ParseUnaryExpression(); |
- if (m_pErrorInfo->message.IsEmpty()) { |
- expr = pdfium::MakeUnique<CXFA_FMNotExpression>(line, expr.release()); |
- } else { |
+ if (m_pErrorInfo->message.IsEmpty()) |
+ expr = pdfium::MakeUnique<CXFA_FMNotExpression>(line, std::move(expr)); |
+ else |
expr.reset(); |
- } |
break; |
default: |
expr = ParsePrimaryExpression(); |
@@ -524,7 +515,7 @@ CXFA_FMParse::ParsePrimaryExpression() { |
std::unique_ptr<CXFA_FMSimpleExpression> s = ParseIndexExpression(); |
if (s) { |
expr = pdfium::MakeUnique<CXFA_FMDotAccessorExpression>( |
- line, nullptr, TOKdot, wsIdentifier, s.release()); |
+ line, nullptr, TOKdot, wsIdentifier, std::move(s)); |
} |
NextToken(); |
} else { |
@@ -552,7 +543,7 @@ CXFA_FMParse::ParsePrimaryExpression() { |
break; |
} |
expr = ParsePostExpression(std::move(expr)); |
- if (!(m_pErrorInfo->message.IsEmpty())) |
+ if (!m_pErrorInfo->message.IsEmpty()) |
expr.reset(); |
return expr; |
} |
@@ -585,7 +576,7 @@ std::unique_ptr<CXFA_FMSimpleExpression> CXFA_FMParse::ParsePostExpression( |
} |
if (m_pErrorInfo->message.IsEmpty()) { |
expr = pdfium::MakeUnique<CXFA_FMCallExpression>( |
- line, expr.release(), std::move(expressions), false); |
+ line, std::move(expr), std::move(expressions), false); |
NextToken(); |
if (m_pToken->m_type != TOKlbracket) |
continue; |
@@ -593,7 +584,7 @@ std::unique_ptr<CXFA_FMSimpleExpression> CXFA_FMParse::ParsePostExpression( |
std::unique_ptr<CXFA_FMSimpleExpression> s = ParseIndexExpression(); |
if (s) { |
expr = pdfium::MakeUnique<CXFA_FMDotAccessorExpression>( |
- line, expr.release(), TOKcall, FX_WSTRC(L""), s.release()); |
+ line, std::move(expr), TOKcall, L"", std::move(s)); |
} else { |
expr.reset(); |
} |
@@ -634,9 +625,9 @@ std::unique_ptr<CXFA_FMSimpleExpression> CXFA_FMParse::ParsePostExpression( |
pdfium::MakeUnique<CXFA_FMIdentifierExpression>(tempLine, |
tempStr); |
pExpCall = pdfium::MakeUnique<CXFA_FMCallExpression>( |
- line, pIdentifier.release(), std::move(expressions), true); |
+ line, std::move(pIdentifier), std::move(expressions), true); |
expr = pdfium::MakeUnique<CXFA_FMMethodCallExpression>( |
- line, expr.release(), pExpCall.release()); |
+ line, std::move(expr), std::move(pExpCall)); |
NextToken(); |
if (m_pToken->m_type != TOKlbracket) |
continue; |
@@ -645,7 +636,7 @@ std::unique_ptr<CXFA_FMSimpleExpression> CXFA_FMParse::ParsePostExpression( |
ParseIndexExpression(); |
if (s) { |
expr = pdfium::MakeUnique<CXFA_FMDotAccessorExpression>( |
- line, expr.release(), TOKcall, FX_WSTRC(L""), s.release()); |
+ line, std::move(expr), TOKcall, L"", std::move(s)); |
} else { |
expr.reset(); |
} |
@@ -658,13 +649,13 @@ std::unique_ptr<CXFA_FMSimpleExpression> CXFA_FMParse::ParsePostExpression( |
return nullptr; |
expr = pdfium::MakeUnique<CXFA_FMDotAccessorExpression>( |
- tempLine, expr.release(), TOKdot, tempStr, s.release()); |
+ tempLine, std::move(expr), TOKdot, tempStr, std::move(s)); |
} else { |
std::unique_ptr<CXFA_FMSimpleExpression> s = |
pdfium::MakeUnique<CXFA_FMIndexExpression>( |
tempLine, ACCESSOR_NO_INDEX, nullptr, false); |
expr = pdfium::MakeUnique<CXFA_FMDotAccessorExpression>( |
- line, expr.release(), TOKdot, tempStr, s.release()); |
+ line, std::move(expr), TOKdot, tempStr, std::move(s)); |
continue; |
} |
} else { |
@@ -686,13 +677,13 @@ std::unique_ptr<CXFA_FMSimpleExpression> CXFA_FMParse::ParsePostExpression( |
return nullptr; |
} |
expr = pdfium::MakeUnique<CXFA_FMDotDotAccessorExpression>( |
- tempLine, expr.release(), TOKdotdot, tempStr, s.release()); |
+ tempLine, std::move(expr), TOKdotdot, tempStr, std::move(s)); |
} else { |
std::unique_ptr<CXFA_FMSimpleExpression> s = |
pdfium::MakeUnique<CXFA_FMIndexExpression>( |
tempLine, ACCESSOR_NO_INDEX, nullptr, false); |
expr = pdfium::MakeUnique<CXFA_FMDotDotAccessorExpression>( |
- line, expr.release(), TOKdotdot, tempStr, s.release()); |
+ line, std::move(expr), TOKdotdot, tempStr, std::move(s)); |
continue; |
} |
} else { |
@@ -714,13 +705,13 @@ std::unique_ptr<CXFA_FMSimpleExpression> CXFA_FMParse::ParsePostExpression( |
return nullptr; |
expr = pdfium::MakeUnique<CXFA_FMDotAccessorExpression>( |
- tempLine, expr.release(), TOKdotscream, tempStr, s.release()); |
+ tempLine, std::move(expr), TOKdotscream, tempStr, std::move(s)); |
} else { |
std::unique_ptr<CXFA_FMSimpleExpression> s = |
pdfium::MakeUnique<CXFA_FMIndexExpression>( |
tempLine, ACCESSOR_NO_INDEX, nullptr, false); |
expr = pdfium::MakeUnique<CXFA_FMDotAccessorExpression>( |
- line, expr.release(), TOKdotscream, tempStr, s.release()); |
+ line, std::move(expr), TOKdotscream, tempStr, std::move(s)); |
continue; |
} |
} else { |
@@ -735,7 +726,7 @@ std::unique_ptr<CXFA_FMSimpleExpression> CXFA_FMParse::ParsePostExpression( |
pdfium::MakeUnique<CXFA_FMIndexExpression>(line, ACCESSOR_NO_INDEX, |
nullptr, false); |
expr = pdfium::MakeUnique<CXFA_FMDotAccessorExpression>( |
- line, expr.release(), TOKdotstar, FX_WSTRC(L"*"), s.release()); |
+ line, std::move(expr), TOKdotstar, L"*", std::move(s)); |
} break; |
default: |
return expr; |
@@ -753,7 +744,7 @@ std::unique_ptr<CXFA_FMSimpleExpression> CXFA_FMParse::ParseIndexExpression() { |
XFA_FM_AccessorIndex accessorIndex = ACCESSOR_NO_RELATIVEINDEX; |
if (m_pToken->m_type == TOKmul) { |
pExp = pdfium::MakeUnique<CXFA_FMIndexExpression>(line, accessorIndex, |
- s.release(), true); |
+ std::move(s), true); |
NextToken(); |
if (m_pToken->m_type != TOKrbracket) { |
CFX_WideString ws_TempString(m_pToken->m_wstring); |
@@ -777,7 +768,7 @@ std::unique_ptr<CXFA_FMSimpleExpression> CXFA_FMParse::ParseIndexExpression() { |
XFA_FM_KeywordToString(TOKrparen), ws_TempString.c_str()); |
} else { |
pExp = pdfium::MakeUnique<CXFA_FMIndexExpression>(line, accessorIndex, |
- s.release(), false); |
+ std::move(s), false); |
} |
return pExp; |
} |
@@ -799,7 +790,7 @@ std::unique_ptr<CXFA_FMSimpleExpression> CXFA_FMParse::ParseParenExpression() { |
std::unique_ptr<CXFA_FMSimpleExpression> pExp2 = ParseLogicalOrExpression(); |
if (m_pErrorInfo->message.IsEmpty()) { |
pExp1 = pdfium::MakeUnique<CXFA_FMAssignExpression>( |
- line, TOKassign, pExp1.release(), pExp2.release()); |
+ line, TOKassign, std::move(pExp1), std::move(pExp2)); |
} else { |
pExp1.reset(); |
} |
@@ -898,9 +889,9 @@ std::unique_ptr<CXFA_FMExpression> CXFA_FMParse::ParseIfExpression() { |
} |
std::unique_ptr<CXFA_FMIfExpression> pExp; |
if (m_pErrorInfo->message.IsEmpty()) { |
- pExp = pdfium::MakeUnique<CXFA_FMIfExpression>(line, pExpression.release(), |
- pIfExpression.release(), |
- pElseExpression.release()); |
+ pExp = pdfium::MakeUnique<CXFA_FMIfExpression>(line, std::move(pExpression), |
+ std::move(pIfExpression), |
+ std::move(pElseExpression)); |
} |
return pExp; |
} |
@@ -915,7 +906,7 @@ std::unique_ptr<CXFA_FMExpression> CXFA_FMParse::ParseWhileExpression() { |
std::unique_ptr<CXFA_FMExpression> expr; |
if (m_pErrorInfo->message.IsEmpty()) { |
expr = pdfium::MakeUnique<CXFA_FMWhileExpression>( |
- line, pCondition.release(), pExpression.release()); |
+ line, std::move(pCondition), std::move(pExpression)); |
} |
return expr; |
} |
@@ -980,8 +971,8 @@ std::unique_ptr<CXFA_FMExpression> CXFA_FMParse::ParseForExpression() { |
std::unique_ptr<CXFA_FMExpression> expr; |
if (m_pErrorInfo->message.IsEmpty()) { |
expr = pdfium::MakeUnique<CXFA_FMForExpression>( |
- line, wsVariant, pAssignment.release(), pAccessor.release(), iDirection, |
- pStep.release(), pList.release()); |
+ line, wsVariant, std::move(pAssignment), std::move(pAccessor), |
+ iDirection, std::move(pStep), std::move(pList)); |
} |
return expr; |
} |
@@ -1023,7 +1014,7 @@ std::unique_ptr<CXFA_FMExpression> CXFA_FMParse::ParseForeachExpression() { |
Check(TOKendfor); |
if (m_pErrorInfo->message.IsEmpty()) { |
expr = pdfium::MakeUnique<CXFA_FMForeachExpression>( |
- line, wsIdentifier, std::move(pAccessors), pList.release()); |
+ line, wsIdentifier, std::move(pAccessors), std::move(pList)); |
} |
return expr; |
} |
@@ -1033,10 +1024,8 @@ std::unique_ptr<CXFA_FMExpression> CXFA_FMParse::ParseDoExpression() { |
NextToken(); |
std::unique_ptr<CXFA_FMExpression> expr = ParseBlockExpression(); |
Check(TOKend); |
- if (m_pErrorInfo->message.IsEmpty()) { |
- expr = pdfium::MakeUnique<CXFA_FMDoExpression>(line, expr.release()); |
- } else { |
- expr.reset(); |
- } |
- return expr; |
+ if (!m_pErrorInfo->message.IsEmpty()) |
+ return nullptr; |
+ |
+ return pdfium::MakeUnique<CXFA_FMDoExpression>(line, std::move(expr)); |
} |