| OLD | NEW |
| 1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
| 6 | 6 |
| 7 #include "xfa/fxfa/fm2js/xfa_expression.h" | 7 #include "xfa/fxfa/fm2js/xfa_expression.h" |
| 8 | 8 |
| 9 #include "core/fxcrt/include/fx_basic.h" | 9 #include "core/fxcrt/include/fx_basic.h" |
| 10 | 10 |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 113 | 113 |
| 114 void CXFA_FMFunctionDefinition::ToImpliedReturnJS(CFX_WideTextBuf&) {} | 114 void CXFA_FMFunctionDefinition::ToImpliedReturnJS(CFX_WideTextBuf&) {} |
| 115 | 115 |
| 116 CXFA_FMVarExpression::CXFA_FMVarExpression(uint32_t line, | 116 CXFA_FMVarExpression::CXFA_FMVarExpression(uint32_t line, |
| 117 const CFX_WideStringC& wsName, | 117 const CFX_WideStringC& wsName, |
| 118 CXFA_FMExpression* pInit) | 118 CXFA_FMExpression* pInit) |
| 119 : CXFA_FMExpression(line, XFA_FM_EXPTYPE_VAR), | 119 : CXFA_FMExpression(line, XFA_FM_EXPTYPE_VAR), |
| 120 m_wsName(wsName), | 120 m_wsName(wsName), |
| 121 m_pInit(pInit) {} | 121 m_pInit(pInit) {} |
| 122 | 122 |
| 123 CXFA_FMVarExpression::~CXFA_FMVarExpression() {} |
| 124 |
| 123 void CXFA_FMVarExpression::ToJavaScript(CFX_WideTextBuf& javascript) { | 125 void CXFA_FMVarExpression::ToJavaScript(CFX_WideTextBuf& javascript) { |
| 124 javascript << FX_WSTRC(L"var "); | 126 javascript << FX_WSTRC(L"var "); |
| 125 CFX_WideString tempName(m_wsName); | 127 CFX_WideString tempName(m_wsName); |
| 126 if (m_wsName.GetAt(0) == L'!') { | 128 if (m_wsName.GetAt(0) == L'!') { |
| 127 tempName = EXCLAMATION_IN_IDENTIFIER + m_wsName.Mid(1); | 129 tempName = EXCLAMATION_IN_IDENTIFIER + m_wsName.Mid(1); |
| 128 } | 130 } |
| 129 javascript << tempName; | 131 javascript << tempName; |
| 130 javascript << FX_WSTRC(L" = "); | 132 javascript << FX_WSTRC(L" = "); |
| 131 if (m_pInit) { | 133 if (m_pInit) { |
| 132 m_pInit->ToJavaScript(javascript); | 134 m_pInit->ToJavaScript(javascript); |
| (...skipping 30 matching lines...) Expand all Loading... |
| 163 javascript << RUNTIMEFUNCTIONRETURNVALUE; | 165 javascript << RUNTIMEFUNCTIONRETURNVALUE; |
| 164 javascript << FX_WSTRC(L" = "); | 166 javascript << FX_WSTRC(L" = "); |
| 165 javascript << tempName; | 167 javascript << tempName; |
| 166 javascript << FX_WSTRC(L";\n"); | 168 javascript << FX_WSTRC(L";\n"); |
| 167 } | 169 } |
| 168 | 170 |
| 169 CXFA_FMExpExpression::CXFA_FMExpExpression(uint32_t line, | 171 CXFA_FMExpExpression::CXFA_FMExpExpression(uint32_t line, |
| 170 CXFA_FMSimpleExpression* pExpression) | 172 CXFA_FMSimpleExpression* pExpression) |
| 171 : CXFA_FMExpression(line, XFA_FM_EXPTYPE_EXP), m_pExpression(pExpression) {} | 173 : CXFA_FMExpression(line, XFA_FM_EXPTYPE_EXP), m_pExpression(pExpression) {} |
| 172 | 174 |
| 175 CXFA_FMExpExpression::~CXFA_FMExpExpression() {} |
| 176 |
| 173 void CXFA_FMExpExpression::ToJavaScript(CFX_WideTextBuf& javascript) { | 177 void CXFA_FMExpExpression::ToJavaScript(CFX_WideTextBuf& javascript) { |
| 174 if (m_pExpression->GetOperatorToken() == TOKassign) { | 178 if (m_pExpression->GetOperatorToken() == TOKassign) { |
| 175 m_pExpression->ToJavaScript(javascript); | 179 m_pExpression->ToJavaScript(javascript); |
| 176 } else { | 180 } else { |
| 177 m_pExpression->ToJavaScript(javascript); | 181 m_pExpression->ToJavaScript(javascript); |
| 178 javascript << FX_WSTRC(L";\n"); | 182 javascript << FX_WSTRC(L";\n"); |
| 179 } | 183 } |
| 180 } | 184 } |
| 181 | 185 |
| 182 void CXFA_FMExpExpression::ToImpliedReturnJS(CFX_WideTextBuf& javascript) { | 186 void CXFA_FMExpExpression::ToImpliedReturnJS(CFX_WideTextBuf& javascript) { |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 239 } | 243 } |
| 240 } | 244 } |
| 241 } | 245 } |
| 242 javascript << FX_WSTRC(L"}\n"); | 246 javascript << FX_WSTRC(L"}\n"); |
| 243 } | 247 } |
| 244 | 248 |
| 245 CXFA_FMDoExpression::CXFA_FMDoExpression(uint32_t line, | 249 CXFA_FMDoExpression::CXFA_FMDoExpression(uint32_t line, |
| 246 CXFA_FMExpression* pList) | 250 CXFA_FMExpression* pList) |
| 247 : CXFA_FMExpression(line), m_pList(pList) {} | 251 : CXFA_FMExpression(line), m_pList(pList) {} |
| 248 | 252 |
| 253 CXFA_FMDoExpression::~CXFA_FMDoExpression() {} |
| 254 |
| 249 void CXFA_FMDoExpression::ToJavaScript(CFX_WideTextBuf& javascript) { | 255 void CXFA_FMDoExpression::ToJavaScript(CFX_WideTextBuf& javascript) { |
| 250 m_pList->ToJavaScript(javascript); | 256 m_pList->ToJavaScript(javascript); |
| 251 } | 257 } |
| 252 | 258 |
| 253 void CXFA_FMDoExpression::ToImpliedReturnJS(CFX_WideTextBuf& javascript) { | 259 void CXFA_FMDoExpression::ToImpliedReturnJS(CFX_WideTextBuf& javascript) { |
| 254 m_pList->ToImpliedReturnJS(javascript); | 260 m_pList->ToImpliedReturnJS(javascript); |
| 255 } | 261 } |
| 256 | 262 |
| 257 CXFA_FMIfExpression::CXFA_FMIfExpression(uint32_t line, | 263 CXFA_FMIfExpression::CXFA_FMIfExpression(uint32_t line, |
| 258 CXFA_FMSimpleExpression* pExpression, | 264 CXFA_FMSimpleExpression* pExpression, |
| 259 CXFA_FMExpression* pIfExpression, | 265 CXFA_FMExpression* pIfExpression, |
| 260 CXFA_FMExpression* pElseExpression) | 266 CXFA_FMExpression* pElseExpression) |
| 261 : CXFA_FMExpression(line, XFA_FM_EXPTYPE_IF), | 267 : CXFA_FMExpression(line, XFA_FM_EXPTYPE_IF), |
| 262 m_pExpression(pExpression), | 268 m_pExpression(pExpression), |
| 263 m_pIfExpression(pIfExpression), | 269 m_pIfExpression(pIfExpression), |
| 264 m_pElseExpression(pElseExpression) {} | 270 m_pElseExpression(pElseExpression) {} |
| 265 | 271 |
| 272 CXFA_FMIfExpression::~CXFA_FMIfExpression() {} |
| 273 |
| 266 void CXFA_FMIfExpression::ToJavaScript(CFX_WideTextBuf& javascript) { | 274 void CXFA_FMIfExpression::ToJavaScript(CFX_WideTextBuf& javascript) { |
| 267 javascript << FX_WSTRC(L"if ("); | 275 javascript << FX_WSTRC(L"if ("); |
| 268 if (m_pExpression) { | 276 if (m_pExpression) { |
| 269 javascript << XFA_FM_EXPTypeToString(GETFMVALUE); | 277 javascript << XFA_FM_EXPTypeToString(GETFMVALUE); |
| 270 javascript << FX_WSTRC(L"("); | 278 javascript << FX_WSTRC(L"("); |
| 271 m_pExpression->ToJavaScript(javascript); | 279 m_pExpression->ToJavaScript(javascript); |
| 272 javascript << FX_WSTRC(L")"); | 280 javascript << FX_WSTRC(L")"); |
| 273 } | 281 } |
| 274 javascript << FX_WSTRC(L")\n"); | 282 javascript << FX_WSTRC(L")\n"); |
| 275 if (m_pIfExpression) { | 283 if (m_pIfExpression) { |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 322 void CXFA_FMLoopExpression::ToImpliedReturnJS(CFX_WideTextBuf&) {} | 330 void CXFA_FMLoopExpression::ToImpliedReturnJS(CFX_WideTextBuf&) {} |
| 323 | 331 |
| 324 CXFA_FMWhileExpression::CXFA_FMWhileExpression( | 332 CXFA_FMWhileExpression::CXFA_FMWhileExpression( |
| 325 uint32_t line, | 333 uint32_t line, |
| 326 CXFA_FMSimpleExpression* pCondition, | 334 CXFA_FMSimpleExpression* pCondition, |
| 327 CXFA_FMExpression* pExpression) | 335 CXFA_FMExpression* pExpression) |
| 328 : CXFA_FMLoopExpression(line), | 336 : CXFA_FMLoopExpression(line), |
| 329 m_pCondition(pCondition), | 337 m_pCondition(pCondition), |
| 330 m_pExpression(pExpression) {} | 338 m_pExpression(pExpression) {} |
| 331 | 339 |
| 340 CXFA_FMWhileExpression::~CXFA_FMWhileExpression() {} |
| 341 |
| 332 void CXFA_FMWhileExpression::ToJavaScript(CFX_WideTextBuf& javascript) { | 342 void CXFA_FMWhileExpression::ToJavaScript(CFX_WideTextBuf& javascript) { |
| 333 javascript << FX_WSTRC(L"while ("); | 343 javascript << FX_WSTRC(L"while ("); |
| 334 m_pCondition->ToJavaScript(javascript); | 344 m_pCondition->ToJavaScript(javascript); |
| 335 javascript << FX_WSTRC(L")\n"); | 345 javascript << FX_WSTRC(L")\n"); |
| 336 m_pExpression->ToJavaScript(javascript); | 346 m_pExpression->ToJavaScript(javascript); |
| 337 } | 347 } |
| 338 | 348 |
| 339 void CXFA_FMWhileExpression::ToImpliedReturnJS(CFX_WideTextBuf& javascript) { | 349 void CXFA_FMWhileExpression::ToImpliedReturnJS(CFX_WideTextBuf& javascript) { |
| 340 javascript << RUNTIMEFUNCTIONRETURNVALUE; | 350 javascript << RUNTIMEFUNCTIONRETURNVALUE; |
| 341 javascript << FX_WSTRC(L" = 0;\n"); | 351 javascript << FX_WSTRC(L" = 0;\n"); |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 387 CXFA_FMSimpleExpression* pStep, | 397 CXFA_FMSimpleExpression* pStep, |
| 388 CXFA_FMExpression* pList) | 398 CXFA_FMExpression* pList) |
| 389 : CXFA_FMLoopExpression(line), | 399 : CXFA_FMLoopExpression(line), |
| 390 m_wsVariant(wsVariant), | 400 m_wsVariant(wsVariant), |
| 391 m_pAssignment(pAssignment), | 401 m_pAssignment(pAssignment), |
| 392 m_pAccessor(pAccessor), | 402 m_pAccessor(pAccessor), |
| 393 m_iDirection(iDirection), | 403 m_iDirection(iDirection), |
| 394 m_pStep(pStep), | 404 m_pStep(pStep), |
| 395 m_pList(pList) {} | 405 m_pList(pList) {} |
| 396 | 406 |
| 407 CXFA_FMForExpression::~CXFA_FMForExpression() {} |
| 408 |
| 397 void CXFA_FMForExpression::ToJavaScript(CFX_WideTextBuf& javascript) { | 409 void CXFA_FMForExpression::ToJavaScript(CFX_WideTextBuf& javascript) { |
| 398 javascript << FX_WSTRC(L"{\nvar "); | 410 javascript << FX_WSTRC(L"{\nvar "); |
| 399 CFX_WideString tempVariant; | 411 CFX_WideString tempVariant; |
| 400 if (m_wsVariant.GetAt(0) == L'!') { | 412 if (m_wsVariant.GetAt(0) == L'!') { |
| 401 tempVariant = EXCLAMATION_IN_IDENTIFIER + m_wsVariant.Mid(1); | 413 tempVariant = EXCLAMATION_IN_IDENTIFIER + m_wsVariant.Mid(1); |
| 402 javascript << tempVariant; | 414 javascript << tempVariant; |
| 403 } else { | 415 } else { |
| 404 tempVariant = m_wsVariant; | 416 tempVariant = m_wsVariant; |
| 405 javascript << m_wsVariant; | 417 javascript << m_wsVariant; |
| 406 } | 418 } |
| (...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 606 } | 618 } |
| 607 javascript << FX_WSTRC(L" = "); | 619 javascript << FX_WSTRC(L" = "); |
| 608 javascript << RUNTIMEBLOCKTEMPARRAY; | 620 javascript << RUNTIMEBLOCKTEMPARRAY; |
| 609 javascript << FX_WSTRC(L"["); | 621 javascript << FX_WSTRC(L"["); |
| 610 javascript << RUNTIMEBLOCKTEMPARRAYINDEX; | 622 javascript << RUNTIMEBLOCKTEMPARRAYINDEX; |
| 611 javascript << FX_WSTRC(L"++];\n"); | 623 javascript << FX_WSTRC(L"++];\n"); |
| 612 m_pList->ToImpliedReturnJS(javascript); | 624 m_pList->ToImpliedReturnJS(javascript); |
| 613 javascript << FX_WSTRC(L"}\n"); | 625 javascript << FX_WSTRC(L"}\n"); |
| 614 javascript << FX_WSTRC(L"}\n"); | 626 javascript << FX_WSTRC(L"}\n"); |
| 615 } | 627 } |
| OLD | NEW |