diff options
Diffstat (limited to 'xfa/fxfa/fm2js/cxfa_fmexpression.cpp')
-rw-r--r-- | xfa/fxfa/fm2js/cxfa_fmexpression.cpp | 160 |
1 files changed, 80 insertions, 80 deletions
diff --git a/xfa/fxfa/fm2js/cxfa_fmexpression.cpp b/xfa/fxfa/fm2js/cxfa_fmexpression.cpp index ef2153d6be..9ff043a1ab 100644 --- a/xfa/fxfa/fm2js/cxfa_fmexpression.cpp +++ b/xfa/fxfa/fm2js/cxfa_fmexpression.cpp @@ -44,7 +44,7 @@ CXFA_FMFunctionDefinition::CXFA_FMFunctionDefinition( CXFA_FMFunctionDefinition::~CXFA_FMFunctionDefinition() = default; -bool CXFA_FMFunctionDefinition::ToJavaScript(CFX_WideTextBuf& js, +bool CXFA_FMFunctionDefinition::ToJavaScript(CFX_WideTextBuf* js, ReturnType type) { CXFA_FMToJavaScriptDepth depthManager; if (CXFA_IsTooBig(js) || !depthManager.IsWithinMaxDepth()) @@ -53,16 +53,16 @@ bool CXFA_FMFunctionDefinition::ToJavaScript(CFX_WideTextBuf& js, if (m_wsName.IsEmpty()) return false; - js << L"function " << IdentifierToName(m_wsName) << L"("; + *js << L"function " << IdentifierToName(m_wsName) << L"("; for (const auto& identifier : m_pArguments) { if (identifier != m_pArguments.front()) - js << L", "; + *js << L", "; - js << IdentifierToName(identifier); + *js << IdentifierToName(identifier); } - js << L") {\n"; + *js << L") {\n"; - js << L"var pfm_ret = null;\n"; + *js << L"var pfm_ret = null;\n"; for (const auto& expr : m_pExpressions) { ReturnType ret_type = expr == m_pExpressions.back() ? ReturnType::kImplied : ReturnType::kInfered; @@ -70,8 +70,8 @@ bool CXFA_FMFunctionDefinition::ToJavaScript(CFX_WideTextBuf& js, return false; } - js << L"return pfm_ret;\n"; - js << L"}\n"; + *js << L"return pfm_ret;\n"; + *js << L"}\n"; return !CXFA_IsTooBig(js); } @@ -82,24 +82,24 @@ CXFA_FMAST::CXFA_FMAST( CXFA_FMAST::~CXFA_FMAST() = default; -bool CXFA_FMAST::ToJavaScript(CFX_WideTextBuf& js) { +bool CXFA_FMAST::ToJavaScript(CFX_WideTextBuf* js) { if (expressions_.empty()) { - js << L"// comments only"; + *js << L"// comments only"; return !CXFA_IsTooBig(js); } - js << L"(function() {\n"; - js << L"let pfm_method_runner = function(obj, cb) {\n"; - js << L" if (pfm_rt.is_ary(obj)) {\n"; - js << L" let pfm_method_return = null;\n"; - js << L" for (var idx = obj.length -1; idx > 1; idx--) {\n"; - js << L" pfm_method_return = cb(obj[idx]);\n"; - js << L" }\n"; - js << L" return pfm_method_return;\n"; - js << L" }\n"; - js << L" return cb(obj);\n"; - js << L"};\n"; - js << L"var pfm_ret = null;\n"; + *js << L"(function() {\n"; + *js << L"let pfm_method_runner = function(obj, cb) {\n"; + *js << L" if (pfm_rt.is_ary(obj)) {\n"; + *js << L" let pfm_method_return = null;\n"; + *js << L" for (var idx = obj.length -1; idx > 1; idx--) {\n"; + *js << L" pfm_method_return = cb(obj[idx]);\n"; + *js << L" }\n"; + *js << L" return pfm_method_return;\n"; + *js << L" }\n"; + *js << L" return cb(obj);\n"; + *js << L"};\n"; + *js << L"var pfm_ret = null;\n"; for (const auto& expr : expressions_) { ReturnType ret_type = expr == expressions_.back() ? ReturnType::kImplied @@ -108,8 +108,8 @@ bool CXFA_FMAST::ToJavaScript(CFX_WideTextBuf& js) { return false; } - js << L"return pfm_rt.get_val(pfm_ret);\n"; - js << L"}).call(this);"; + *js << L"return pfm_rt.get_val(pfm_ret);\n"; + *js << L"}).call(this);"; return !CXFA_IsTooBig(js); } @@ -120,24 +120,24 @@ CXFA_FMVarExpression::CXFA_FMVarExpression( CXFA_FMVarExpression::~CXFA_FMVarExpression() = default; -bool CXFA_FMVarExpression::ToJavaScript(CFX_WideTextBuf& js, ReturnType type) { +bool CXFA_FMVarExpression::ToJavaScript(CFX_WideTextBuf* js, ReturnType type) { CXFA_FMToJavaScriptDepth depthManager; if (CXFA_IsTooBig(js) || !depthManager.IsWithinMaxDepth()) return false; WideString tempName = IdentifierToName(m_wsName); - js << L"var " << tempName << L" = "; + *js << L"var " << tempName << L" = "; if (m_pInit) { if (!m_pInit->ToJavaScript(js, ReturnType::kInfered)) return false; - js << tempName << L" = pfm_rt.var_filter(" << tempName << L");\n"; + *js << tempName << L" = pfm_rt.var_filter(" << tempName << L");\n"; } else { - js << L"\"\";\n"; + *js << L"\"\";\n"; } if (type == ReturnType::kImplied) - js << L"pfm_ret = " << tempName << L";\n"; + *js << L"pfm_ret = " << tempName << L";\n"; return !CXFA_IsTooBig(js); } @@ -148,7 +148,7 @@ CXFA_FMExpExpression::CXFA_FMExpExpression( CXFA_FMExpExpression::~CXFA_FMExpExpression() = default; -bool CXFA_FMExpExpression::ToJavaScript(CFX_WideTextBuf& js, ReturnType type) { +bool CXFA_FMExpExpression::ToJavaScript(CFX_WideTextBuf* js, ReturnType type) { CXFA_FMToJavaScriptDepth depthManager; if (CXFA_IsTooBig(js) || !depthManager.IsWithinMaxDepth()) return false; @@ -156,7 +156,7 @@ bool CXFA_FMExpExpression::ToJavaScript(CFX_WideTextBuf& js, ReturnType type) { if (type == ReturnType::kInfered) { bool ret = m_pExpression->ToJavaScript(js, ReturnType::kInfered); if (m_pExpression->GetOperatorToken() != TOKassign) - js << L";\n"; + *js << L";\n"; return ret; } @@ -169,19 +169,19 @@ bool CXFA_FMExpExpression::ToJavaScript(CFX_WideTextBuf& js, ReturnType type) { m_pExpression->GetOperatorToken() == TOKdotscream || m_pExpression->GetOperatorToken() == TOKdotdot || m_pExpression->GetOperatorToken() == TOKdot) { - js << L"pfm_ret = pfm_rt.get_val("; + *js << L"pfm_ret = pfm_rt.get_val("; if (!m_pExpression->ToJavaScript(js, ReturnType::kInfered)) return false; - js << L");\n"; + *js << L");\n"; return !CXFA_IsTooBig(js); } - js << L"pfm_ret = "; + *js << L"pfm_ret = "; if (!m_pExpression->ToJavaScript(js, ReturnType::kInfered)) return false; - js << L";\n"; + *js << L";\n"; return !CXFA_IsTooBig(js); } @@ -191,13 +191,13 @@ CXFA_FMBlockExpression::CXFA_FMBlockExpression( CXFA_FMBlockExpression::~CXFA_FMBlockExpression() = default; -bool CXFA_FMBlockExpression::ToJavaScript(CFX_WideTextBuf& js, +bool CXFA_FMBlockExpression::ToJavaScript(CFX_WideTextBuf* js, ReturnType type) { CXFA_FMToJavaScriptDepth depthManager; if (CXFA_IsTooBig(js) || !depthManager.IsWithinMaxDepth()) return false; - js << L"{\n"; + *js << L"{\n"; for (const auto& expr : m_ExpressionList) { if (type == ReturnType::kInfered) { if (!expr->ToJavaScript(js, ReturnType::kInfered)) @@ -210,7 +210,7 @@ bool CXFA_FMBlockExpression::ToJavaScript(CFX_WideTextBuf& js, return false; } } - js << L"}\n"; + *js << L"}\n"; return !CXFA_IsTooBig(js); } @@ -221,7 +221,7 @@ CXFA_FMDoExpression::CXFA_FMDoExpression( CXFA_FMDoExpression::~CXFA_FMDoExpression() = default; -bool CXFA_FMDoExpression::ToJavaScript(CFX_WideTextBuf& js, ReturnType type) { +bool CXFA_FMDoExpression::ToJavaScript(CFX_WideTextBuf* js, ReturnType type) { CXFA_FMToJavaScriptDepth depthManager; if (CXFA_IsTooBig(js) || !depthManager.IsWithinMaxDepth()) return false; @@ -244,18 +244,18 @@ CXFA_FMIfExpression::CXFA_FMIfExpression( CXFA_FMIfExpression::~CXFA_FMIfExpression() = default; -bool CXFA_FMIfExpression::ToJavaScript(CFX_WideTextBuf& js, ReturnType type) { +bool CXFA_FMIfExpression::ToJavaScript(CFX_WideTextBuf* js, ReturnType type) { CXFA_FMToJavaScriptDepth depthManager; if (CXFA_IsTooBig(js) || !depthManager.IsWithinMaxDepth()) return false; if (type == ReturnType::kImplied) - js << L"pfm_ret = 0;\n"; + *js << L"pfm_ret = 0;\n"; - js << L"if (pfm_rt.get_val("; + *js << L"if (pfm_rt.get_val("; if (!m_pExpression->ToJavaScript(js, ReturnType::kInfered)) return false; - js << L"))\n"; + *js << L"))\n"; if (CXFA_IsTooBig(js)) return false; @@ -268,13 +268,13 @@ bool CXFA_FMIfExpression::ToJavaScript(CFX_WideTextBuf& js, ReturnType type) { } for (auto& expr : m_pElseIfExpressions) { - js << L"else "; + *js << L"else "; if (!expr->ToJavaScript(js, ReturnType::kInfered)) return false; } if (m_pElseExpression) { - js << L"else "; + *js << L"else "; if (!m_pElseExpression->ToJavaScript(js, type)) return false; } @@ -290,20 +290,20 @@ CXFA_FMWhileExpression::CXFA_FMWhileExpression( CXFA_FMWhileExpression::~CXFA_FMWhileExpression() = default; -bool CXFA_FMWhileExpression::ToJavaScript(CFX_WideTextBuf& js, +bool CXFA_FMWhileExpression::ToJavaScript(CFX_WideTextBuf* js, ReturnType type) { CXFA_FMToJavaScriptDepth depthManager; if (CXFA_IsTooBig(js) || !depthManager.IsWithinMaxDepth()) return false; if (type == ReturnType::kImplied) - js << L"pfm_ret = 0;\n"; + *js << L"pfm_ret = 0;\n"; - js << L"while ("; + *js << L"while ("; if (!m_pCondition->ToJavaScript(js, ReturnType::kInfered)) return false; - js << L")\n"; + *js << L")\n"; if (CXFA_IsTooBig(js)) return false; @@ -317,13 +317,13 @@ CXFA_FMBreakExpression::CXFA_FMBreakExpression() : CXFA_FMExpression() {} CXFA_FMBreakExpression::~CXFA_FMBreakExpression() = default; -bool CXFA_FMBreakExpression::ToJavaScript(CFX_WideTextBuf& js, +bool CXFA_FMBreakExpression::ToJavaScript(CFX_WideTextBuf* js, ReturnType type) { CXFA_FMToJavaScriptDepth depthManager; if (CXFA_IsTooBig(js) || !depthManager.IsWithinMaxDepth()) return false; - js << L"pfm_ret = 0;\nbreak;\n"; + *js << L"pfm_ret = 0;\nbreak;\n"; return !CXFA_IsTooBig(js); } @@ -331,13 +331,13 @@ CXFA_FMContinueExpression::CXFA_FMContinueExpression() : CXFA_FMExpression() {} CXFA_FMContinueExpression::~CXFA_FMContinueExpression() = default; -bool CXFA_FMContinueExpression::ToJavaScript(CFX_WideTextBuf& js, +bool CXFA_FMContinueExpression::ToJavaScript(CFX_WideTextBuf* js, ReturnType type) { CXFA_FMToJavaScriptDepth depthManager; if (CXFA_IsTooBig(js) || !depthManager.IsWithinMaxDepth()) return false; - js << L"pfm_ret = 0;\ncontinue;\n"; + *js << L"pfm_ret = 0;\ncontinue;\n"; return !CXFA_IsTooBig(js); } @@ -358,47 +358,47 @@ CXFA_FMForExpression::CXFA_FMForExpression( CXFA_FMForExpression::~CXFA_FMForExpression() = default; -bool CXFA_FMForExpression::ToJavaScript(CFX_WideTextBuf& js, ReturnType type) { +bool CXFA_FMForExpression::ToJavaScript(CFX_WideTextBuf* js, ReturnType type) { CXFA_FMToJavaScriptDepth depthManager; if (CXFA_IsTooBig(js) || !depthManager.IsWithinMaxDepth()) return false; if (type == ReturnType::kImplied) - js << L"pfm_ret = 0;\n"; + *js << L"pfm_ret = 0;\n"; - js << L"{\n"; + *js << L"{\n"; WideString tmpName = IdentifierToName(m_wsVariant); - js << L"var " << tmpName << L" = null;\n"; + *js << L"var " << tmpName << L" = null;\n"; - js << L"for (" << tmpName << L" = pfm_rt.get_val("; + *js << L"for (" << tmpName << L" = pfm_rt.get_val("; if (!m_pAssignment->ToJavaScript(js, ReturnType::kInfered)) return false; - js << L"); "; + *js << L"); "; - js << tmpName << (m_bDirection ? kLessEqual : kGreaterEqual); - js << L"pfm_rt.get_val("; + *js << tmpName << (m_bDirection ? kLessEqual : kGreaterEqual); + *js << L"pfm_rt.get_val("; if (!m_pAccessor->ToJavaScript(js, ReturnType::kInfered)) return false; - js << L"); "; + *js << L"); "; - js << tmpName << (m_bDirection ? kPlusEqual : kMinusEqual); + *js << tmpName << (m_bDirection ? kPlusEqual : kMinusEqual); if (m_pStep) { - js << L"pfm_rt.get_val("; + *js << L"pfm_rt.get_val("; if (!m_pStep->ToJavaScript(js, ReturnType::kInfered)) return false; - js << L")"; + *js << L")"; } else { - js << L"1"; + *js << L"1"; } - js << L")\n"; + *js << L")\n"; if (CXFA_IsTooBig(js)) return false; if (!m_pList->ToJavaScript(js, type)) return false; - js << L"}\n"; + *js << L"}\n"; return !CXFA_IsTooBig(js); } @@ -413,35 +413,35 @@ CXFA_FMForeachExpression::CXFA_FMForeachExpression( CXFA_FMForeachExpression::~CXFA_FMForeachExpression() = default; -bool CXFA_FMForeachExpression::ToJavaScript(CFX_WideTextBuf& js, +bool CXFA_FMForeachExpression::ToJavaScript(CFX_WideTextBuf* js, ReturnType type) { CXFA_FMToJavaScriptDepth depthManager; if (CXFA_IsTooBig(js) || !depthManager.IsWithinMaxDepth()) return false; if (type == ReturnType::kImplied) - js << L"pfm_ret = 0;\n"; + *js << L"pfm_ret = 0;\n"; - js << L"{\n"; + *js << L"{\n"; WideString tmpName = IdentifierToName(m_wsIdentifier); - js << L"var " << tmpName << L" = null;\n"; - js << L"var pfm_ary = pfm_rt.concat_obj("; + *js << L"var " << tmpName << L" = null;\n"; + *js << L"var pfm_ary = pfm_rt.concat_obj("; for (const auto& expr : m_pAccessors) { if (!expr->ToJavaScript(js, ReturnType::kInfered)) return false; if (expr != m_pAccessors.back()) - js << L", "; + *js << L", "; } - js << L");\n"; + *js << L");\n"; - js << L"var pfm_ary_idx = 0;\n"; - js << L"while(pfm_ary_idx < pfm_ary.length)\n{\n"; - js << tmpName << L" = pfm_ary[pfm_ary_idx++];\n"; + *js << L"var pfm_ary_idx = 0;\n"; + *js << L"while(pfm_ary_idx < pfm_ary.length)\n{\n"; + *js << tmpName << L" = pfm_ary[pfm_ary_idx++];\n"; if (!m_pList->ToJavaScript(js, type)) return false; - js << L"}\n"; // while + *js << L"}\n"; // while - js << L"}\n"; // block + *js << L"}\n"; // block return !CXFA_IsTooBig(js); } |