| Index: xfa/fxfa/fm2js/xfa_simpleexpression.cpp
|
| diff --git a/xfa/fxfa/fm2js/xfa_simpleexpression.cpp b/xfa/fxfa/fm2js/xfa_simpleexpression.cpp
|
| index e52cd88979b9c5a581dff3c4b3fb1bc22a77c55b..342fe9f06ce6f8e7abf6206d8e149d918c1da0c6 100644
|
| --- a/xfa/fxfa/fm2js/xfa_simpleexpression.cpp
|
| +++ b/xfa/fxfa/fm2js/xfa_simpleexpression.cpp
|
| @@ -209,30 +209,35 @@ void CXFA_FMIdentifierExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
|
| javascript << tempStr;
|
| }
|
|
|
| -CXFA_FMUnaryExpression::CXFA_FMUnaryExpression(uint32_t line,
|
| - XFA_FM_TOKEN op,
|
| - CXFA_FMSimpleExpression* pExp)
|
| - : CXFA_FMSimpleExpression(line, op), m_pExp(pExp) {}
|
| +CXFA_FMUnaryExpression::CXFA_FMUnaryExpression(
|
| + uint32_t line,
|
| + XFA_FM_TOKEN op,
|
| + std::unique_ptr<CXFA_FMSimpleExpression> pExp)
|
| + : CXFA_FMSimpleExpression(line, op), m_pExp(std::move(pExp)) {}
|
|
|
| CXFA_FMUnaryExpression::~CXFA_FMUnaryExpression() {}
|
|
|
| void CXFA_FMUnaryExpression::ToJavaScript(CFX_WideTextBuf& javascript) {}
|
|
|
| -CXFA_FMBinExpression::CXFA_FMBinExpression(uint32_t line,
|
| - XFA_FM_TOKEN op,
|
| - CXFA_FMSimpleExpression* pExp1,
|
| - CXFA_FMSimpleExpression* pExp2)
|
| - : CXFA_FMSimpleExpression(line, op), m_pExp1(pExp1), m_pExp2(pExp2) {}
|
| +CXFA_FMBinExpression::CXFA_FMBinExpression(
|
| + uint32_t line,
|
| + XFA_FM_TOKEN op,
|
| + std::unique_ptr<CXFA_FMSimpleExpression> pExp1,
|
| + std::unique_ptr<CXFA_FMSimpleExpression> pExp2)
|
| + : CXFA_FMSimpleExpression(line, op),
|
| + m_pExp1(std::move(pExp1)),
|
| + m_pExp2(std::move(pExp2)) {}
|
|
|
| CXFA_FMBinExpression::~CXFA_FMBinExpression() {}
|
|
|
| void CXFA_FMBinExpression::ToJavaScript(CFX_WideTextBuf& javascript) {}
|
|
|
| -CXFA_FMAssignExpression::CXFA_FMAssignExpression(uint32_t line,
|
| - XFA_FM_TOKEN op,
|
| - CXFA_FMSimpleExpression* pExp1,
|
| - CXFA_FMSimpleExpression* pExp2)
|
| - : CXFA_FMBinExpression(line, op, pExp1, pExp2) {}
|
| +CXFA_FMAssignExpression::CXFA_FMAssignExpression(
|
| + uint32_t line,
|
| + XFA_FM_TOKEN op,
|
| + std::unique_ptr<CXFA_FMSimpleExpression> pExp1,
|
| + std::unique_ptr<CXFA_FMSimpleExpression> pExp2)
|
| + : CXFA_FMBinExpression(line, op, std::move(pExp1), std::move(pExp2)) {}
|
|
|
| void CXFA_FMAssignExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
|
| javascript << FX_WSTRC(L"if (");
|
| @@ -297,9 +302,9 @@ void CXFA_FMAssignExpression::ToImpliedReturnJS(CFX_WideTextBuf& javascript) {
|
| CXFA_FMLogicalOrExpression::CXFA_FMLogicalOrExpression(
|
| uint32_t line,
|
| XFA_FM_TOKEN op,
|
| - CXFA_FMSimpleExpression* pExp1,
|
| - CXFA_FMSimpleExpression* pExp2)
|
| - : CXFA_FMBinExpression(line, op, pExp1, pExp2) {}
|
| + std::unique_ptr<CXFA_FMSimpleExpression> pExp1,
|
| + std::unique_ptr<CXFA_FMSimpleExpression> pExp2)
|
| + : CXFA_FMBinExpression(line, op, std::move(pExp1), std::move(pExp2)) {}
|
|
|
| void CXFA_FMLogicalOrExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
|
| javascript << gs_lpStrExpFuncName[LOGICALOR];
|
| @@ -313,9 +318,9 @@ void CXFA_FMLogicalOrExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
|
| CXFA_FMLogicalAndExpression::CXFA_FMLogicalAndExpression(
|
| uint32_t line,
|
| XFA_FM_TOKEN op,
|
| - CXFA_FMSimpleExpression* pExp1,
|
| - CXFA_FMSimpleExpression* pExp2)
|
| - : CXFA_FMBinExpression(line, op, pExp1, pExp2) {}
|
| + std::unique_ptr<CXFA_FMSimpleExpression> pExp1,
|
| + std::unique_ptr<CXFA_FMSimpleExpression> pExp2)
|
| + : CXFA_FMBinExpression(line, op, std::move(pExp1), std::move(pExp2)) {}
|
|
|
| void CXFA_FMLogicalAndExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
|
| javascript << gs_lpStrExpFuncName[LOGICALAND];
|
| @@ -329,9 +334,9 @@ void CXFA_FMLogicalAndExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
|
| CXFA_FMEqualityExpression::CXFA_FMEqualityExpression(
|
| uint32_t line,
|
| XFA_FM_TOKEN op,
|
| - CXFA_FMSimpleExpression* pExp1,
|
| - CXFA_FMSimpleExpression* pExp2)
|
| - : CXFA_FMBinExpression(line, op, pExp1, pExp2) {}
|
| + std::unique_ptr<CXFA_FMSimpleExpression> pExp1,
|
| + std::unique_ptr<CXFA_FMSimpleExpression> pExp2)
|
| + : CXFA_FMBinExpression(line, op, std::move(pExp1), std::move(pExp2)) {}
|
|
|
| void CXFA_FMEqualityExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
|
| switch (m_op) {
|
| @@ -357,9 +362,9 @@ void CXFA_FMEqualityExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
|
| CXFA_FMRelationalExpression::CXFA_FMRelationalExpression(
|
| uint32_t line,
|
| XFA_FM_TOKEN op,
|
| - CXFA_FMSimpleExpression* pExp1,
|
| - CXFA_FMSimpleExpression* pExp2)
|
| - : CXFA_FMBinExpression(line, op, pExp1, pExp2) {}
|
| + std::unique_ptr<CXFA_FMSimpleExpression> pExp1,
|
| + std::unique_ptr<CXFA_FMSimpleExpression> pExp2)
|
| + : CXFA_FMBinExpression(line, op, std::move(pExp1), std::move(pExp2)) {}
|
|
|
| void CXFA_FMRelationalExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
|
| switch (m_op) {
|
| @@ -393,9 +398,9 @@ void CXFA_FMRelationalExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
|
| CXFA_FMAdditiveExpression::CXFA_FMAdditiveExpression(
|
| uint32_t line,
|
| XFA_FM_TOKEN op,
|
| - CXFA_FMSimpleExpression* pExp1,
|
| - CXFA_FMSimpleExpression* pExp2)
|
| - : CXFA_FMBinExpression(line, op, pExp1, pExp2) {}
|
| + std::unique_ptr<CXFA_FMSimpleExpression> pExp1,
|
| + std::unique_ptr<CXFA_FMSimpleExpression> pExp2)
|
| + : CXFA_FMBinExpression(line, op, std::move(pExp1), std::move(pExp2)) {}
|
|
|
| void CXFA_FMAdditiveExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
|
| switch (m_op) {
|
| @@ -419,9 +424,9 @@ void CXFA_FMAdditiveExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
|
| CXFA_FMMultiplicativeExpression::CXFA_FMMultiplicativeExpression(
|
| uint32_t line,
|
| XFA_FM_TOKEN op,
|
| - CXFA_FMSimpleExpression* pExp1,
|
| - CXFA_FMSimpleExpression* pExp2)
|
| - : CXFA_FMBinExpression(line, op, pExp1, pExp2) {}
|
| + std::unique_ptr<CXFA_FMSimpleExpression> pExp1,
|
| + std::unique_ptr<CXFA_FMSimpleExpression> pExp2)
|
| + : CXFA_FMBinExpression(line, op, std::move(pExp1), std::move(pExp2)) {}
|
|
|
| void CXFA_FMMultiplicativeExpression::ToJavaScript(
|
| CFX_WideTextBuf& javascript) {
|
| @@ -443,9 +448,10 @@ void CXFA_FMMultiplicativeExpression::ToJavaScript(
|
| javascript << FX_WSTRC(L")");
|
| }
|
|
|
| -CXFA_FMPosExpression::CXFA_FMPosExpression(uint32_t line,
|
| - CXFA_FMSimpleExpression* pExp)
|
| - : CXFA_FMUnaryExpression(line, TOKplus, pExp) {}
|
| +CXFA_FMPosExpression::CXFA_FMPosExpression(
|
| + uint32_t line,
|
| + std::unique_ptr<CXFA_FMSimpleExpression> pExp)
|
| + : CXFA_FMUnaryExpression(line, TOKplus, std::move(pExp)) {}
|
|
|
| void CXFA_FMPosExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
|
| javascript << gs_lpStrExpFuncName[POSITIVE];
|
| @@ -454,9 +460,10 @@ void CXFA_FMPosExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
|
| javascript << FX_WSTRC(L")");
|
| }
|
|
|
| -CXFA_FMNegExpression::CXFA_FMNegExpression(uint32_t line,
|
| - CXFA_FMSimpleExpression* pExp)
|
| - : CXFA_FMUnaryExpression(line, TOKminus, pExp) {}
|
| +CXFA_FMNegExpression::CXFA_FMNegExpression(
|
| + uint32_t line,
|
| + std::unique_ptr<CXFA_FMSimpleExpression> pExp)
|
| + : CXFA_FMUnaryExpression(line, TOKminus, std::move(pExp)) {}
|
|
|
| void CXFA_FMNegExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
|
| javascript << gs_lpStrExpFuncName[NEGATIVE];
|
| @@ -465,9 +472,10 @@ void CXFA_FMNegExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
|
| javascript << FX_WSTRC(L")");
|
| }
|
|
|
| -CXFA_FMNotExpression::CXFA_FMNotExpression(uint32_t line,
|
| - CXFA_FMSimpleExpression* pExp)
|
| - : CXFA_FMUnaryExpression(line, TOKksnot, pExp) {}
|
| +CXFA_FMNotExpression::CXFA_FMNotExpression(
|
| + uint32_t line,
|
| + std::unique_ptr<CXFA_FMSimpleExpression> pExp)
|
| + : CXFA_FMUnaryExpression(line, TOKksnot, std::move(pExp)) {}
|
|
|
| void CXFA_FMNotExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
|
| javascript << gs_lpStrExpFuncName[NOT];
|
| @@ -478,10 +486,10 @@ void CXFA_FMNotExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
|
|
|
| CXFA_FMCallExpression::CXFA_FMCallExpression(
|
| uint32_t line,
|
| - CXFA_FMSimpleExpression* pExp,
|
| + std::unique_ptr<CXFA_FMSimpleExpression> pExp,
|
| std::vector<std::unique_ptr<CXFA_FMSimpleExpression>>&& pArguments,
|
| bool bIsSomMethod)
|
| - : CXFA_FMUnaryExpression(line, TOKcall, pExp),
|
| + : CXFA_FMUnaryExpression(line, TOKcall, std::move(pExp)),
|
| m_bIsSomMethod(bIsSomMethod),
|
| m_Arguments(std::move(pArguments)) {}
|
|
|
| @@ -611,11 +619,14 @@ void CXFA_FMCallExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
|
|
|
| CXFA_FMDotAccessorExpression::CXFA_FMDotAccessorExpression(
|
| uint32_t line,
|
| - CXFA_FMSimpleExpression* pAccessor,
|
| + std::unique_ptr<CXFA_FMSimpleExpression> pAccessor,
|
| XFA_FM_TOKEN op,
|
| CFX_WideStringC wsIdentifier,
|
| - CXFA_FMSimpleExpression* pIndexExp)
|
| - : CXFA_FMBinExpression(line, op, pAccessor, pIndexExp),
|
| + std::unique_ptr<CXFA_FMSimpleExpression> pIndexExp)
|
| + : CXFA_FMBinExpression(line,
|
| + op,
|
| + std::move(pAccessor),
|
| + std::move(pIndexExp)),
|
| m_wsIdentifier(wsIdentifier) {}
|
|
|
| CXFA_FMDotAccessorExpression::~CXFA_FMDotAccessorExpression() {}
|
| @@ -654,9 +665,9 @@ void CXFA_FMDotAccessorExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
|
| CXFA_FMIndexExpression::CXFA_FMIndexExpression(
|
| uint32_t line,
|
| XFA_FM_AccessorIndex accessorIndex,
|
| - CXFA_FMSimpleExpression* pIndexExp,
|
| + std::unique_ptr<CXFA_FMSimpleExpression> pIndexExp,
|
| bool bIsStarIndex)
|
| - : CXFA_FMUnaryExpression(line, TOKlbracket, pIndexExp),
|
| + : CXFA_FMUnaryExpression(line, TOKlbracket, std::move(pIndexExp)),
|
| m_accessorIndex(accessorIndex),
|
| m_bIsStarIndex(bIsStarIndex) {}
|
|
|
| @@ -689,11 +700,14 @@ void CXFA_FMIndexExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
|
|
|
| CXFA_FMDotDotAccessorExpression::CXFA_FMDotDotAccessorExpression(
|
| uint32_t line,
|
| - CXFA_FMSimpleExpression* pAccessor,
|
| + std::unique_ptr<CXFA_FMSimpleExpression> pAccessor,
|
| XFA_FM_TOKEN op,
|
| CFX_WideStringC wsIdentifier,
|
| - CXFA_FMSimpleExpression* pIndexExp)
|
| - : CXFA_FMBinExpression(line, op, pAccessor, pIndexExp),
|
| + std::unique_ptr<CXFA_FMSimpleExpression> pIndexExp)
|
| + : CXFA_FMBinExpression(line,
|
| + op,
|
| + std::move(pAccessor),
|
| + std::move(pIndexExp)),
|
| m_wsIdentifier(wsIdentifier) {}
|
|
|
| CXFA_FMDotDotAccessorExpression::~CXFA_FMDotDotAccessorExpression() {}
|
| @@ -718,9 +732,12 @@ void CXFA_FMDotDotAccessorExpression::ToJavaScript(
|
|
|
| CXFA_FMMethodCallExpression::CXFA_FMMethodCallExpression(
|
| uint32_t line,
|
| - CXFA_FMSimpleExpression* pAccessorExp1,
|
| - CXFA_FMSimpleExpression* pCallExp)
|
| - : CXFA_FMBinExpression(line, TOKdot, pAccessorExp1, pCallExp) {}
|
| + std::unique_ptr<CXFA_FMSimpleExpression> pAccessorExp1,
|
| + std::unique_ptr<CXFA_FMSimpleExpression> pCallExp)
|
| + : CXFA_FMBinExpression(line,
|
| + TOKdot,
|
| + std::move(pAccessorExp1),
|
| + std::move(pCallExp)) {}
|
|
|
| void CXFA_FMMethodCallExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
|
| javascript << FX_WSTRC(L"(\nfunction ()\n{\n");
|
|
|