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 |