summaryrefslogtreecommitdiff
path: root/xfa/fxfa/fm2js
diff options
context:
space:
mode:
Diffstat (limited to 'xfa/fxfa/fm2js')
-rw-r--r--xfa/fxfa/fm2js/cxfa_fm2jscontext.cpp4
-rw-r--r--xfa/fxfa/fm2js/cxfa_fmparser.cpp (renamed from xfa/fxfa/fm2js/cxfa_fmparse.cpp)130
-rw-r--r--xfa/fxfa/fm2js/cxfa_fmparser.h (renamed from xfa/fxfa/fm2js/cxfa_fmparse.h)12
-rw-r--r--xfa/fxfa/fm2js/cxfa_fmparser_unittest.cpp (renamed from xfa/fxfa/fm2js/cxfa_fmparse_unittest.cpp)57
4 files changed, 102 insertions, 101 deletions
diff --git a/xfa/fxfa/fm2js/cxfa_fm2jscontext.cpp b/xfa/fxfa/fm2js/cxfa_fm2jscontext.cpp
index 1e8e1469a5..445d729668 100644
--- a/xfa/fxfa/fm2js/cxfa_fm2jscontext.cpp
+++ b/xfa/fxfa/fm2js/cxfa_fm2jscontext.cpp
@@ -19,7 +19,7 @@
#include "third_party/base/ptr_util.h"
#include "third_party/base/stl_util.h"
#include "xfa/fxfa/cxfa_ffnotify.h"
-#include "xfa/fxfa/fm2js/cxfa_fmparse.h"
+#include "xfa/fxfa/fm2js/cxfa_fmparser.h"
#include "xfa/fxfa/parser/cxfa_document.h"
#include "xfa/fxfa/parser/cxfa_localevalue.h"
#include "xfa/fxfa/parser/cxfa_node.h"
@@ -6055,7 +6055,7 @@ bool CXFA_FM2JSContext::Translate(const CFX_WideStringC& wsFormcalc,
return true;
}
- CXFA_FMParse parser(wsFormcalc);
+ CXFA_FMParser parser(wsFormcalc);
std::unique_ptr<CXFA_FMFunctionDefinition> func = parser.Parse();
if (!func || parser.HasError())
return false;
diff --git a/xfa/fxfa/fm2js/cxfa_fmparse.cpp b/xfa/fxfa/fm2js/cxfa_fmparser.cpp
index 8e163a40d0..150fa5aeda 100644
--- a/xfa/fxfa/fm2js/cxfa_fmparse.cpp
+++ b/xfa/fxfa/fm2js/cxfa_fmparser.cpp
@@ -4,7 +4,7 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#include "xfa/fxfa/fm2js/cxfa_fmparse.h"
+#include "xfa/fxfa/fm2js/cxfa_fmparser.h"
#include <memory>
#include <utility>
@@ -18,14 +18,15 @@ const int kMaxAssignmentChainLength = 12;
} // namespace
-CXFA_FMParse::CXFA_FMParse(const CFX_WideStringC& wsFormcalc) : m_error(false) {
+CXFA_FMParser::CXFA_FMParser(const CFX_WideStringC& wsFormcalc)
+ : m_error(false) {
m_lexer = pdfium::MakeUnique<CXFA_FMLexer>(wsFormcalc);
m_token = m_lexer->NextToken();
}
-CXFA_FMParse::~CXFA_FMParse() {}
+CXFA_FMParser::~CXFA_FMParser() {}
-std::unique_ptr<CXFA_FMFunctionDefinition> CXFA_FMParse::Parse() {
+std::unique_ptr<CXFA_FMFunctionDefinition> CXFA_FMParser::Parse() {
auto expressions = ParseTopExpression();
if (HasError())
return nullptr;
@@ -35,7 +36,7 @@ std::unique_ptr<CXFA_FMFunctionDefinition> CXFA_FMParse::Parse() {
1, true, L"", std::move(arguments), std::move(expressions));
}
-bool CXFA_FMParse::NextToken() {
+bool CXFA_FMParser::NextToken() {
if (HasError())
return false;
m_token = m_lexer->NextToken();
@@ -44,7 +45,7 @@ bool CXFA_FMParse::NextToken() {
return !HasError();
}
-bool CXFA_FMParse::CheckThenNext(XFA_FM_TOKEN op) {
+bool CXFA_FMParser::CheckThenNext(XFA_FM_TOKEN op) {
if (HasError())
return false;
@@ -56,7 +57,7 @@ bool CXFA_FMParse::CheckThenNext(XFA_FM_TOKEN op) {
}
std::vector<std::unique_ptr<CXFA_FMExpression>>
-CXFA_FMParse::ParseTopExpression() {
+CXFA_FMParser::ParseTopExpression() {
std::unique_ptr<CXFA_FMExpression> expr;
std::vector<std::unique_ptr<CXFA_FMExpression>> expressions;
if (HasError())
@@ -82,7 +83,7 @@ CXFA_FMParse::ParseTopExpression() {
return expressions;
}
-std::unique_ptr<CXFA_FMExpression> CXFA_FMParse::ParseFunction() {
+std::unique_ptr<CXFA_FMExpression> CXFA_FMParser::ParseFunction() {
if (HasError())
return nullptr;
@@ -144,7 +145,7 @@ std::unique_ptr<CXFA_FMExpression> CXFA_FMParse::ParseFunction() {
line, false, ident, std::move(arguments), std::move(expressions));
}
-std::unique_ptr<CXFA_FMExpression> CXFA_FMParse::ParseExpression() {
+std::unique_ptr<CXFA_FMExpression> CXFA_FMParser::ParseExpression() {
if (HasError())
return nullptr;
@@ -196,7 +197,7 @@ std::unique_ptr<CXFA_FMExpression> CXFA_FMParse::ParseExpression() {
return expr;
}
-std::unique_ptr<CXFA_FMExpression> CXFA_FMParse::ParseVarExpression() {
+std::unique_ptr<CXFA_FMExpression> CXFA_FMParser::ParseVarExpression() {
if (HasError())
return nullptr;
@@ -226,7 +227,8 @@ std::unique_ptr<CXFA_FMExpression> CXFA_FMParse::ParseVarExpression() {
return pdfium::MakeUnique<CXFA_FMVarExpression>(line, ident, std::move(expr));
}
-std::unique_ptr<CXFA_FMSimpleExpression> CXFA_FMParse::ParseSimpleExpression() {
+std::unique_ptr<CXFA_FMSimpleExpression>
+CXFA_FMParser::ParseSimpleExpression() {
if (HasError())
return nullptr;
@@ -251,7 +253,7 @@ std::unique_ptr<CXFA_FMSimpleExpression> CXFA_FMParse::ParseSimpleExpression() {
return pExp1;
}
-std::unique_ptr<CXFA_FMExpression> CXFA_FMParse::ParseExpExpression() {
+std::unique_ptr<CXFA_FMExpression> CXFA_FMParser::ParseExpExpression() {
if (HasError())
return nullptr;
@@ -263,7 +265,7 @@ std::unique_ptr<CXFA_FMExpression> CXFA_FMParse::ParseExpExpression() {
}
std::unique_ptr<CXFA_FMSimpleExpression>
-CXFA_FMParse::ParseLogicalOrExpression() {
+CXFA_FMParser::ParseLogicalOrExpression() {
if (HasError())
return nullptr;
@@ -297,7 +299,7 @@ CXFA_FMParse::ParseLogicalOrExpression() {
}
std::unique_ptr<CXFA_FMSimpleExpression>
-CXFA_FMParse::ParseLogicalAndExpression() {
+CXFA_FMParser::ParseLogicalAndExpression() {
if (HasError())
return nullptr;
@@ -330,7 +332,7 @@ CXFA_FMParse::ParseLogicalAndExpression() {
}
std::unique_ptr<CXFA_FMSimpleExpression>
-CXFA_FMParse::ParseEqualityExpression() {
+CXFA_FMParser::ParseEqualityExpression() {
if (HasError())
return nullptr;
@@ -374,7 +376,7 @@ CXFA_FMParse::ParseEqualityExpression() {
}
std::unique_ptr<CXFA_FMSimpleExpression>
-CXFA_FMParse::ParseRelationalExpression() {
+CXFA_FMParser::ParseRelationalExpression() {
if (HasError())
return nullptr;
@@ -443,7 +445,7 @@ CXFA_FMParse::ParseRelationalExpression() {
}
std::unique_ptr<CXFA_FMSimpleExpression>
-CXFA_FMParse::ParseAddtiveExpression() {
+CXFA_FMParser::ParseAddtiveExpression() {
if (HasError())
return nullptr;
@@ -486,7 +488,7 @@ CXFA_FMParse::ParseAddtiveExpression() {
}
std::unique_ptr<CXFA_FMSimpleExpression>
-CXFA_FMParse::ParseMultiplicativeExpression() {
+CXFA_FMParser::ParseMultiplicativeExpression() {
if (HasError())
return nullptr;
@@ -528,7 +530,7 @@ CXFA_FMParse::ParseMultiplicativeExpression() {
return e1;
}
-std::unique_ptr<CXFA_FMSimpleExpression> CXFA_FMParse::ParseUnaryExpression() {
+std::unique_ptr<CXFA_FMSimpleExpression> CXFA_FMParser::ParseUnaryExpression() {
if (HasError())
return nullptr;
@@ -575,7 +577,7 @@ std::unique_ptr<CXFA_FMSimpleExpression> CXFA_FMParse::ParseUnaryExpression() {
}
std::unique_ptr<CXFA_FMSimpleExpression>
-CXFA_FMParse::ParsePrimaryExpression() {
+CXFA_FMParser::ParsePrimaryExpression() {
if (HasError())
return nullptr;
@@ -641,7 +643,7 @@ CXFA_FMParse::ParsePrimaryExpression() {
return expr;
}
-std::unique_ptr<CXFA_FMSimpleExpression> CXFA_FMParse::ParsePostExpression(
+std::unique_ptr<CXFA_FMSimpleExpression> CXFA_FMParser::ParsePostExpression(
std::unique_ptr<CXFA_FMSimpleExpression> expr) {
if (HasError())
return nullptr;
@@ -749,44 +751,42 @@ std::unique_ptr<CXFA_FMSimpleExpression> CXFA_FMParse::ParsePostExpression(
expr = pdfium::MakeUnique<CXFA_FMDotAccessorExpression>(
tempLine, std::move(expr), TOKdot, tempStr, std::move(s));
- } else {
- std::unique_ptr<CXFA_FMSimpleExpression> s =
- pdfium::MakeUnique<CXFA_FMIndexExpression>(
- tempLine, ACCESSOR_NO_INDEX, nullptr, false);
- expr = pdfium::MakeUnique<CXFA_FMDotAccessorExpression>(
- line, std::move(expr), TOKdot, tempStr, std::move(s));
- continue;
- }
+ } else {
+ std::unique_ptr<CXFA_FMSimpleExpression> s =
+ pdfium::MakeUnique<CXFA_FMIndexExpression>(
+ tempLine, ACCESSOR_NO_INDEX, nullptr, false);
+ expr = pdfium::MakeUnique<CXFA_FMDotAccessorExpression>(
+ line, std::move(expr), TOKdot, tempStr, std::move(s));
+ continue;
}
- break;
- case TOKdotdot: {
- if (!NextToken())
- return nullptr;
- if (m_token->m_type != TOKidentifier) {
- m_error = true;
- return nullptr;
- }
- CFX_WideStringC tempStr = m_token->m_string;
- uint32_t tempLine = m_token->m_line_num;
- if (!NextToken())
+ } break;
+ case TOKdotdot: {
+ if (!NextToken())
+ return nullptr;
+ if (m_token->m_type != TOKidentifier) {
+ m_error = true;
+ return nullptr;
+ }
+ CFX_WideStringC tempStr = m_token->m_string;
+ uint32_t tempLine = m_token->m_line_num;
+ if (!NextToken())
+ return nullptr;
+ if (m_token->m_type == TOKlbracket) {
+ std::unique_ptr<CXFA_FMSimpleExpression> s = ParseIndexExpression();
+ if (!s)
return nullptr;
- if (m_token->m_type == TOKlbracket) {
- std::unique_ptr<CXFA_FMSimpleExpression> s = ParseIndexExpression();
- if (!s)
- return nullptr;
- expr = pdfium::MakeUnique<CXFA_FMDotDotAccessorExpression>(
- tempLine, std::move(expr), TOKdotdot, tempStr, std::move(s));
- } else {
- std::unique_ptr<CXFA_FMSimpleExpression> s =
- pdfium::MakeUnique<CXFA_FMIndexExpression>(
- tempLine, ACCESSOR_NO_INDEX, nullptr, false);
- expr = pdfium::MakeUnique<CXFA_FMDotDotAccessorExpression>(
- line, std::move(expr), TOKdotdot, tempStr, std::move(s));
- continue;
- }
+ expr = pdfium::MakeUnique<CXFA_FMDotDotAccessorExpression>(
+ tempLine, std::move(expr), TOKdotdot, tempStr, std::move(s));
+ } else {
+ std::unique_ptr<CXFA_FMSimpleExpression> s =
+ pdfium::MakeUnique<CXFA_FMIndexExpression>(
+ tempLine, ACCESSOR_NO_INDEX, nullptr, false);
+ expr = pdfium::MakeUnique<CXFA_FMDotDotAccessorExpression>(
+ line, std::move(expr), TOKdotdot, tempStr, std::move(s));
+ continue;
}
- break;
+ } break;
case TOKdotscream: {
if (!NextToken())
return nullptr;
@@ -831,7 +831,7 @@ std::unique_ptr<CXFA_FMSimpleExpression> CXFA_FMParse::ParsePostExpression(
return expr;
}
-std::unique_ptr<CXFA_FMSimpleExpression> CXFA_FMParse::ParseIndexExpression() {
+std::unique_ptr<CXFA_FMSimpleExpression> CXFA_FMParser::ParseIndexExpression() {
if (HasError())
return nullptr;
@@ -873,7 +873,7 @@ std::unique_ptr<CXFA_FMSimpleExpression> CXFA_FMParse::ParseIndexExpression() {
std::move(s), false);
}
-std::unique_ptr<CXFA_FMSimpleExpression> CXFA_FMParse::ParseParenExpression() {
+std::unique_ptr<CXFA_FMSimpleExpression> CXFA_FMParser::ParseParenExpression() {
if (!CheckThenNext(TOKlparen))
return nullptr;
@@ -908,7 +908,7 @@ std::unique_ptr<CXFA_FMSimpleExpression> CXFA_FMParse::ParseParenExpression() {
return pExp1;
}
-std::unique_ptr<CXFA_FMExpression> CXFA_FMParse::ParseBlockExpression() {
+std::unique_ptr<CXFA_FMExpression> CXFA_FMParser::ParseBlockExpression() {
if (HasError())
return nullptr;
@@ -948,7 +948,7 @@ std::unique_ptr<CXFA_FMExpression> CXFA_FMParse::ParseBlockExpression() {
std::move(expressions));
}
-std::unique_ptr<CXFA_FMExpression> CXFA_FMParse::ParseIfExpression() {
+std::unique_ptr<CXFA_FMExpression> CXFA_FMParser::ParseIfExpression() {
if (HasError())
return nullptr;
@@ -1018,7 +1018,7 @@ std::unique_ptr<CXFA_FMExpression> CXFA_FMParse::ParseIfExpression() {
std::move(pElseExpression));
}
-std::unique_ptr<CXFA_FMExpression> CXFA_FMParse::ParseWhileExpression() {
+std::unique_ptr<CXFA_FMExpression> CXFA_FMParser::ParseWhileExpression() {
if (HasError())
return nullptr;
@@ -1038,7 +1038,7 @@ std::unique_ptr<CXFA_FMExpression> CXFA_FMParse::ParseWhileExpression() {
}
std::unique_ptr<CXFA_FMSimpleExpression>
-CXFA_FMParse::ParseSubassignmentInForExpression() {
+CXFA_FMParser::ParseSubassignmentInForExpression() {
if (HasError())
return nullptr;
@@ -1052,7 +1052,7 @@ CXFA_FMParse::ParseSubassignmentInForExpression() {
return expr;
}
-std::unique_ptr<CXFA_FMExpression> CXFA_FMParse::ParseForExpression() {
+std::unique_ptr<CXFA_FMExpression> CXFA_FMParser::ParseForExpression() {
if (HasError())
return nullptr;
@@ -1120,7 +1120,7 @@ std::unique_ptr<CXFA_FMExpression> CXFA_FMParse::ParseForExpression() {
std::move(pStep), std::move(pList));
}
-std::unique_ptr<CXFA_FMExpression> CXFA_FMParse::ParseForeachExpression() {
+std::unique_ptr<CXFA_FMExpression> CXFA_FMParser::ParseForeachExpression() {
if (HasError())
return nullptr;
@@ -1165,7 +1165,7 @@ std::unique_ptr<CXFA_FMExpression> CXFA_FMParse::ParseForeachExpression() {
line, wsIdentifier, std::move(pAccessors), std::move(pList));
}
-std::unique_ptr<CXFA_FMExpression> CXFA_FMParse::ParseDoExpression() {
+std::unique_ptr<CXFA_FMExpression> CXFA_FMParser::ParseDoExpression() {
if (HasError())
return nullptr;
@@ -1179,6 +1179,6 @@ std::unique_ptr<CXFA_FMExpression> CXFA_FMParse::ParseDoExpression() {
return pdfium::MakeUnique<CXFA_FMDoExpression>(line, std::move(expr));
}
-bool CXFA_FMParse::HasError() const {
+bool CXFA_FMParser::HasError() const {
return m_error || m_token == nullptr;
}
diff --git a/xfa/fxfa/fm2js/cxfa_fmparse.h b/xfa/fxfa/fm2js/cxfa_fmparser.h
index 7377cc75d7..66eb1f8392 100644
--- a/xfa/fxfa/fm2js/cxfa_fmparse.h
+++ b/xfa/fxfa/fm2js/cxfa_fmparser.h
@@ -4,8 +4,8 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#ifndef XFA_FXFA_FM2JS_CXFA_FMPARSE_H_
-#define XFA_FXFA_FM2JS_CXFA_FMPARSE_H_
+#ifndef XFA_FXFA_FM2JS_CXFA_FMPARSER_H_
+#define XFA_FXFA_FM2JS_CXFA_FMPARSER_H_
#include <memory>
#include <vector>
@@ -13,10 +13,10 @@
#include "xfa/fxfa/fm2js/cxfa_fmexpression.h"
#include "xfa/fxfa/fm2js/cxfa_fmlexer.h"
-class CXFA_FMParse {
+class CXFA_FMParser {
public:
- explicit CXFA_FMParse(const CFX_WideStringC& wsFormcalc);
- ~CXFA_FMParse();
+ explicit CXFA_FMParser(const CFX_WideStringC& wsFormcalc);
+ ~CXFA_FMParser();
std::unique_ptr<CXFA_FMFunctionDefinition> Parse();
bool HasError() const;
@@ -56,4 +56,4 @@ class CXFA_FMParse {
bool m_error;
};
-#endif // XFA_FXFA_FM2JS_CXFA_FMPARSE_H_
+#endif // XFA_FXFA_FM2JS_CXFA_FMPARSER_H_
diff --git a/xfa/fxfa/fm2js/cxfa_fmparse_unittest.cpp b/xfa/fxfa/fm2js/cxfa_fmparser_unittest.cpp
index 9e6972b356..9907890e83 100644
--- a/xfa/fxfa/fm2js/cxfa_fmparse_unittest.cpp
+++ b/xfa/fxfa/fm2js/cxfa_fmparser_unittest.cpp
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "xfa/fxfa/fm2js/cxfa_fmparse.h"
+#include "xfa/fxfa/fm2js/cxfa_fmparser.h"
#include <vector>
@@ -10,8 +10,8 @@
#include "testing/test_support.h"
#include "third_party/base/ptr_util.h"
-TEST(CXFA_FMParseTest, Empty) {
- auto parser = pdfium::MakeUnique<CXFA_FMParse>(L"");
+TEST(CXFA_FMParserTest, Empty) {
+ auto parser = pdfium::MakeUnique<CXFA_FMParser>(L"");
std::unique_ptr<CXFA_FMFunctionDefinition> ast = parser->Parse();
ASSERT(ast != nullptr);
EXPECT_FALSE(parser->HasError());
@@ -22,8 +22,8 @@ TEST(CXFA_FMParseTest, Empty) {
EXPECT_EQ(L"// comments only", buf.AsStringC());
}
-TEST(CXFA_FMParseTest, CommentOnlyIsError) {
- auto parser = pdfium::MakeUnique<CXFA_FMParse>(L"; Just comment");
+TEST(CXFA_FMParserTest, CommentOnlyIsError) {
+ auto parser = pdfium::MakeUnique<CXFA_FMParser>(L"; Just comment");
std::unique_ptr<CXFA_FMFunctionDefinition> ast = parser->Parse();
ASSERT(ast != nullptr);
// TODO(dsinclair): This isn't allowed per the spec.
@@ -35,7 +35,7 @@ TEST(CXFA_FMParseTest, CommentOnlyIsError) {
EXPECT_EQ(L"// comments only", buf.AsStringC());
}
-TEST(CXFA_FMParseTest, CommentThenValue) {
+TEST(CXFA_FMParserTest, CommentThenValue) {
const wchar_t ret[] =
L"(\nfunction ()\n{\n"
L"var pfm_ret = null;\n"
@@ -43,7 +43,7 @@ TEST(CXFA_FMParseTest, CommentThenValue) {
L"return pfm_rt.get_val(pfm_ret);\n"
L"}\n).call(this);\n";
- auto parser = pdfium::MakeUnique<CXFA_FMParse>(L"; Just comment\n12");
+ auto parser = pdfium::MakeUnique<CXFA_FMParser>(L"; Just comment\n12");
std::unique_ptr<CXFA_FMFunctionDefinition> ast = parser->Parse();
ASSERT(ast != nullptr);
EXPECT_FALSE(parser->HasError());
@@ -53,8 +53,9 @@ TEST(CXFA_FMParseTest, CommentThenValue) {
EXPECT_EQ(ret, buf.AsStringC());
}
-TEST(CXFA_FMParseTest, Parse) {
- const wchar_t input[] = L"$ = Avg (-3, 5, -6, 12, -13);\n"
+TEST(CXFA_FMParserTest, Parse) {
+ const wchar_t input[] =
+ L"$ = Avg (-3, 5, -6, 12, -13);\n"
L"$ = Avg (Table2..Row[*].Cell1);\n"
L"\n"
L"if ($ ne -1)then\n"
@@ -69,35 +70,35 @@ TEST(CXFA_FMParseTest, Parse) {
L"(\nfunction ()\n{\n"
L"var pfm_ret = null;\n"
L"if (pfm_rt.is_obj(this))\n{\n"
- L"pfm_rt.asgn_val_op(this, pfm_rt.Avg(pfm_rt.neg_op(3), 5, "
- L"pfm_rt.neg_op(6), 12, pfm_rt.neg_op(13)));\n"
+ L"pfm_rt.asgn_val_op(this, pfm_rt.Avg(pfm_rt.neg_op(3), 5, "
+ L"pfm_rt.neg_op(6), 12, pfm_rt.neg_op(13)));\n"
L"}\n"
L"if (pfm_rt.is_obj(this))\n{\n"
- L"pfm_rt.asgn_val_op(this, pfm_rt.Avg(pfm_rt.dot_acc(pfm_rt.dotdot_acc("
- L"Table2, \"Table2\", \"Row\", 1), \"\", \"Cell1\", 0, 0)));\n"
+ L"pfm_rt.asgn_val_op(this, pfm_rt.Avg(pfm_rt.dot_acc(pfm_rt.dotdot_acc("
+ L"Table2, \"Table2\", \"Row\", 1), \"\", \"Cell1\", 0, 0)));\n"
L"}\n"
L"if (pfm_rt.get_val(pfm_rt.neq_op(this, pfm_rt.neg_op(1))))\n{\n"
- L"if (pfm_rt.is_obj(pfm_rt.dot_acc(pfm_rt.dot_acc(pfm_rt.dot_acc("
- L"border, \"border\", \"fill\", 0, 0), \"\", \"color\", 0, 0), \"\", "
- L"\"value\", 0, 0)))\n{\n"
- L"pfm_rt.asgn_val_op(pfm_rt.dot_acc(pfm_rt.dot_acc("
- L"pfm_rt.dot_acc(border, \"border\", \"fill\", 0, 0), \"\", "
- L"\"color\", 0, 0), \"\", \"value\", 0, 0), \"255,64,64\");\n"
- L"}\n"
+ L"if (pfm_rt.is_obj(pfm_rt.dot_acc(pfm_rt.dot_acc(pfm_rt.dot_acc("
+ L"border, \"border\", \"fill\", 0, 0), \"\", \"color\", 0, 0), \"\", "
+ L"\"value\", 0, 0)))\n{\n"
+ L"pfm_rt.asgn_val_op(pfm_rt.dot_acc(pfm_rt.dot_acc("
+ L"pfm_rt.dot_acc(border, \"border\", \"fill\", 0, 0), \"\", "
+ L"\"color\", 0, 0), \"\", \"value\", 0, 0), \"255,64,64\");\n"
+ L"}\n"
L"}\nelse\n{\n"
- L"if (pfm_rt.is_obj(pfm_rt.dot_acc(pfm_rt.dot_acc(pfm_rt.dot_acc("
- L"border, \"border\", \"fill\", 0, 0), \"\", \"color\", 0, 0), \"\", "
- L"\"value\", 0, 0)))\n{\n"
- L"pfm_rt.asgn_val_op(pfm_rt.dot_acc(pfm_rt.dot_acc("
- L"pfm_rt.dot_acc(border, \"border\", \"fill\", 0, 0), \"\", "
- L"\"color\", 0, 0), \"\", \"value\", 0, 0), \"20,170,13\");\n"
- L"}\n"
+ L"if (pfm_rt.is_obj(pfm_rt.dot_acc(pfm_rt.dot_acc(pfm_rt.dot_acc("
+ L"border, \"border\", \"fill\", 0, 0), \"\", \"color\", 0, 0), \"\", "
+ L"\"value\", 0, 0)))\n{\n"
+ L"pfm_rt.asgn_val_op(pfm_rt.dot_acc(pfm_rt.dot_acc("
+ L"pfm_rt.dot_acc(border, \"border\", \"fill\", 0, 0), \"\", "
+ L"\"color\", 0, 0), \"\", \"value\", 0, 0), \"20,170,13\");\n"
+ L"}\n"
L"}\n"
L"pfm_ret = this;\n"
L"return pfm_rt.get_val(pfm_ret);\n"
L"}\n).call(this);\n";
- auto parser = pdfium::MakeUnique<CXFA_FMParse>(input);
+ auto parser = pdfium::MakeUnique<CXFA_FMParser>(input);
std::unique_ptr<CXFA_FMFunctionDefinition> ast = parser->Parse();
ASSERT(ast != nullptr);
EXPECT_FALSE(parser->HasError());