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 |