| 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_simpleexpression.h" | 7 #include "xfa/fxfa/fm2js/xfa_simpleexpression.h" |
| 8 | 8 |
| 9 #include "core/fxcrt/include/fx_ext.h" | 9 #include "core/fxcrt/include/fx_ext.h" |
| 10 | 10 |
| (...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 230 javascript << FX_WSTRC(L"))\n{\n"); | 230 javascript << FX_WSTRC(L"))\n{\n"); |
| 231 javascript << gs_lpStrExpFuncName[ASSIGN]; | 231 javascript << gs_lpStrExpFuncName[ASSIGN]; |
| 232 javascript << FX_WSTRC(L"("); | 232 javascript << FX_WSTRC(L"("); |
| 233 m_pExp1->ToJavaScript(javascript); | 233 m_pExp1->ToJavaScript(javascript); |
| 234 javascript << FX_WSTRC(L", "); | 234 javascript << FX_WSTRC(L", "); |
| 235 m_pExp2->ToJavaScript(javascript); | 235 m_pExp2->ToJavaScript(javascript); |
| 236 javascript << FX_WSTRC(L");\n}\n"); | 236 javascript << FX_WSTRC(L");\n}\n"); |
| 237 CFX_WideTextBuf tempExp1; | 237 CFX_WideTextBuf tempExp1; |
| 238 m_pExp1->ToJavaScript(tempExp1); | 238 m_pExp1->ToJavaScript(tempExp1); |
| 239 if (m_pExp1->GetOperatorToken() == TOKidentifier && | 239 if (m_pExp1->GetOperatorToken() == TOKidentifier && |
| 240 tempExp1.GetWideString() != FX_WSTRC(L"this")) { | 240 tempExp1.AsStringC() != FX_WSTRC(L"this")) { |
| 241 javascript << FX_WSTRC(L"else\n{\n"); | 241 javascript << FX_WSTRC(L"else\n{\n"); |
| 242 javascript << tempExp1; | 242 javascript << tempExp1; |
| 243 javascript << FX_WSTRC(L" = "); | 243 javascript << FX_WSTRC(L" = "); |
| 244 javascript << gs_lpStrExpFuncName[ASSIGN]; | 244 javascript << gs_lpStrExpFuncName[ASSIGN]; |
| 245 javascript << FX_WSTRC(L"("); | 245 javascript << FX_WSTRC(L"("); |
| 246 m_pExp1->ToJavaScript(javascript); | 246 m_pExp1->ToJavaScript(javascript); |
| 247 javascript << FX_WSTRC(L", "); | 247 javascript << FX_WSTRC(L", "); |
| 248 m_pExp2->ToJavaScript(javascript); | 248 m_pExp2->ToJavaScript(javascript); |
| 249 javascript << FX_WSTRC(L");\n}\n"); | 249 javascript << FX_WSTRC(L");\n}\n"); |
| 250 } | 250 } |
| 251 } | 251 } |
| 252 | 252 |
| 253 void CXFA_FMAssignExpression::ToImpliedReturnJS(CFX_WideTextBuf& javascript) { | 253 void CXFA_FMAssignExpression::ToImpliedReturnJS(CFX_WideTextBuf& javascript) { |
| 254 javascript << FX_WSTRC(L"if ("); | 254 javascript << FX_WSTRC(L"if ("); |
| 255 javascript << gs_lpStrExpFuncName[ISFMOBJECT]; | 255 javascript << gs_lpStrExpFuncName[ISFMOBJECT]; |
| 256 javascript << FX_WSTRC(L"("); | 256 javascript << FX_WSTRC(L"("); |
| 257 m_pExp1->ToJavaScript(javascript); | 257 m_pExp1->ToJavaScript(javascript); |
| 258 javascript << FX_WSTRC(L"))\n{\n"); | 258 javascript << FX_WSTRC(L"))\n{\n"); |
| 259 javascript << RUNTIMEFUNCTIONRETURNVALUE; | 259 javascript << RUNTIMEFUNCTIONRETURNVALUE; |
| 260 javascript << FX_WSTRC(L" = "); | 260 javascript << FX_WSTRC(L" = "); |
| 261 javascript << gs_lpStrExpFuncName[ASSIGN]; | 261 javascript << gs_lpStrExpFuncName[ASSIGN]; |
| 262 javascript << FX_WSTRC(L"("); | 262 javascript << FX_WSTRC(L"("); |
| 263 m_pExp1->ToJavaScript(javascript); | 263 m_pExp1->ToJavaScript(javascript); |
| 264 javascript << FX_WSTRC(L", "); | 264 javascript << FX_WSTRC(L", "); |
| 265 m_pExp2->ToJavaScript(javascript); | 265 m_pExp2->ToJavaScript(javascript); |
| 266 javascript << FX_WSTRC(L");\n}\n"); | 266 javascript << FX_WSTRC(L");\n}\n"); |
| 267 CFX_WideTextBuf tempExp1; | 267 CFX_WideTextBuf tempExp1; |
| 268 m_pExp1->ToJavaScript(tempExp1); | 268 m_pExp1->ToJavaScript(tempExp1); |
| 269 if (m_pExp1->GetOperatorToken() == TOKidentifier && | 269 if (m_pExp1->GetOperatorToken() == TOKidentifier && |
| 270 tempExp1.GetWideString() != FX_WSTRC(L"this")) { | 270 tempExp1.AsStringC() != FX_WSTRC(L"this")) { |
| 271 javascript << FX_WSTRC(L"else\n{\n"); | 271 javascript << FX_WSTRC(L"else\n{\n"); |
| 272 javascript << RUNTIMEFUNCTIONRETURNVALUE; | 272 javascript << RUNTIMEFUNCTIONRETURNVALUE; |
| 273 javascript << FX_WSTRC(L" = "); | 273 javascript << FX_WSTRC(L" = "); |
| 274 javascript << tempExp1; | 274 javascript << tempExp1; |
| 275 javascript << FX_WSTRC(L" = "); | 275 javascript << FX_WSTRC(L" = "); |
| 276 javascript << gs_lpStrExpFuncName[ASSIGN]; | 276 javascript << gs_lpStrExpFuncName[ASSIGN]; |
| 277 javascript << FX_WSTRC(L"("); | 277 javascript << FX_WSTRC(L"("); |
| 278 m_pExp1->ToJavaScript(javascript); | 278 m_pExp1->ToJavaScript(javascript); |
| 279 javascript << FX_WSTRC(L", "); | 279 javascript << FX_WSTRC(L", "); |
| 280 m_pExp2->ToJavaScript(javascript); | 280 m_pExp2->ToJavaScript(javascript); |
| (...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 523 return parameters; | 523 return parameters; |
| 524 } | 524 } |
| 525 | 525 |
| 526 void CXFA_FMCallExpression::ToJavaScript(CFX_WideTextBuf& javascript) { | 526 void CXFA_FMCallExpression::ToJavaScript(CFX_WideTextBuf& javascript) { |
| 527 CFX_WideTextBuf funcName; | 527 CFX_WideTextBuf funcName; |
| 528 m_pExp->ToJavaScript(funcName); | 528 m_pExp->ToJavaScript(funcName); |
| 529 if (m_bIsSomMethod) { | 529 if (m_bIsSomMethod) { |
| 530 javascript << funcName; | 530 javascript << funcName; |
| 531 javascript << FX_WSTRC(L"("); | 531 javascript << FX_WSTRC(L"("); |
| 532 if (m_pArguments) { | 532 if (m_pArguments) { |
| 533 uint32_t methodPara = IsMethodWithObjParam(funcName.GetWideString()); | 533 uint32_t methodPara = IsMethodWithObjParam(funcName.AsStringC()); |
| 534 if (methodPara > 0) { | 534 if (methodPara > 0) { |
| 535 for (int i = 0; i < m_pArguments->GetSize(); ++i) { | 535 for (int i = 0; i < m_pArguments->GetSize(); ++i) { |
| 536 if ((methodPara & (0x01 << i)) > 0) { | 536 if ((methodPara & (0x01 << i)) > 0) { |
| 537 javascript << gs_lpStrExpFuncName[GETFMJSOBJ]; | 537 javascript << gs_lpStrExpFuncName[GETFMJSOBJ]; |
| 538 } else { | 538 } else { |
| 539 javascript << gs_lpStrExpFuncName[GETFMVALUE]; | 539 javascript << gs_lpStrExpFuncName[GETFMVALUE]; |
| 540 } | 540 } |
| 541 javascript << FX_WSTRC(L"("); | 541 javascript << FX_WSTRC(L"("); |
| 542 CXFA_FMSimpleExpression* e = | 542 CXFA_FMSimpleExpression* e = |
| 543 reinterpret_cast<CXFA_FMSimpleExpression*>( | 543 reinterpret_cast<CXFA_FMSimpleExpression*>( |
| (...skipping 17 matching lines...) Expand all Loading... |
| 561 javascript << FX_WSTRC(L", "); | 561 javascript << FX_WSTRC(L", "); |
| 562 } | 562 } |
| 563 } | 563 } |
| 564 } | 564 } |
| 565 } | 565 } |
| 566 javascript << FX_WSTRC(L")"); | 566 javascript << FX_WSTRC(L")"); |
| 567 } else { | 567 } else { |
| 568 bool isEvalFunc = false; | 568 bool isEvalFunc = false; |
| 569 bool isExistsFunc = false; | 569 bool isExistsFunc = false; |
| 570 if (IsBuildInFunc(&funcName)) { | 570 if (IsBuildInFunc(&funcName)) { |
| 571 if (funcName.GetWideString() == FX_WSTRC(L"Eval")) { | 571 if (funcName.AsStringC() == FX_WSTRC(L"Eval")) { |
| 572 isEvalFunc = true; | 572 isEvalFunc = true; |
| 573 javascript << FX_WSTRC(L"eval.call(this, "); | 573 javascript << FX_WSTRC(L"eval.call(this, "); |
| 574 javascript << gs_lpStrExpFuncName[CALL]; | 574 javascript << gs_lpStrExpFuncName[CALL]; |
| 575 javascript << FX_WSTRC(L"Translate"); | 575 javascript << FX_WSTRC(L"Translate"); |
| 576 } else if (funcName.GetWideString() == FX_WSTRC(L"Exists")) { | 576 } else if (funcName.AsStringC() == FX_WSTRC(L"Exists")) { |
| 577 isExistsFunc = true; | 577 isExistsFunc = true; |
| 578 javascript << gs_lpStrExpFuncName[CALL]; | 578 javascript << gs_lpStrExpFuncName[CALL]; |
| 579 javascript << funcName; | 579 javascript << funcName; |
| 580 } else { | 580 } else { |
| 581 javascript << gs_lpStrExpFuncName[CALL]; | 581 javascript << gs_lpStrExpFuncName[CALL]; |
| 582 javascript << funcName; | 582 javascript << funcName; |
| 583 } | 583 } |
| 584 } else { | 584 } else { |
| 585 javascript << funcName; | 585 javascript << funcName; |
| 586 } | 586 } |
| (...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 737 L"for(var index = accessor_object.length - 1; index > 1; index--)\n{\n"); | 737 L"for(var index = accessor_object.length - 1; index > 1; index--)\n{\n"); |
| 738 javascript << FX_WSTRC(L"method_return_value = accessor_object[index]."); | 738 javascript << FX_WSTRC(L"method_return_value = accessor_object[index]."); |
| 739 m_pExp2->ToJavaScript(javascript); | 739 m_pExp2->ToJavaScript(javascript); |
| 740 javascript << FX_WSTRC(L";\n}\n}\n"); | 740 javascript << FX_WSTRC(L";\n}\n}\n"); |
| 741 javascript << FX_WSTRC(L"else\n{\nmethod_return_value = accessor_object."); | 741 javascript << FX_WSTRC(L"else\n{\nmethod_return_value = accessor_object."); |
| 742 m_pExp2->ToJavaScript(javascript); | 742 m_pExp2->ToJavaScript(javascript); |
| 743 javascript << FX_WSTRC(L";\n}\n"); | 743 javascript << FX_WSTRC(L";\n}\n"); |
| 744 javascript << FX_WSTRC(L"return method_return_value;\n"); | 744 javascript << FX_WSTRC(L"return method_return_value;\n"); |
| 745 javascript << FX_WSTRC(L"}\n).call(this)"); | 745 javascript << FX_WSTRC(L"}\n).call(this)"); |
| 746 } | 746 } |
| OLD | NEW |