| 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_fmparse.h" | 7 #include "xfa/fxfa/fm2js/xfa_fmparse.h" |
| 8 | 8 |
| 9 #include <memory> | 9 #include <memory> |
| 10 | 10 |
| (...skipping 537 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 548 CXFA_FMSimpleExpression* e) { | 548 CXFA_FMSimpleExpression* e) { |
| 549 uint32_t line = m_pToken->m_uLinenum; | 549 uint32_t line = m_pToken->m_uLinenum; |
| 550 while (1) { | 550 while (1) { |
| 551 switch (m_pToken->m_type) { | 551 switch (m_pToken->m_type) { |
| 552 case TOKlparen: { | 552 case TOKlparen: { |
| 553 NextToken(); | 553 NextToken(); |
| 554 std::unique_ptr<CFX_ArrayTemplate<CXFA_FMSimpleExpression*>> pArray; | 554 std::unique_ptr<CFX_ArrayTemplate<CXFA_FMSimpleExpression*>> pArray; |
| 555 if (m_pToken->m_type != TOKrparen) { | 555 if (m_pToken->m_type != TOKrparen) { |
| 556 pArray.reset(new CFX_ArrayTemplate<CXFA_FMSimpleExpression*>()); | 556 pArray.reset(new CFX_ArrayTemplate<CXFA_FMSimpleExpression*>()); |
| 557 while (m_pToken->m_type != TOKrparen) { | 557 while (m_pToken->m_type != TOKrparen) { |
| 558 CXFA_FMSimpleExpression* e = ParseSimpleExpression(); | 558 if (CXFA_FMSimpleExpression* expr = ParseSimpleExpression()) |
| 559 if (e) { | 559 pArray->Add(expr); |
| 560 pArray->Add(e); | |
| 561 } | |
| 562 if (m_pToken->m_type == TOKcomma) { | 560 if (m_pToken->m_type == TOKcomma) { |
| 563 NextToken(); | 561 NextToken(); |
| 564 } else if (m_pToken->m_type == TOKeof || | 562 } else if (m_pToken->m_type == TOKeof || |
| 565 m_pToken->m_type == TOKreserver) { | 563 m_pToken->m_type == TOKreserver) { |
| 566 break; | 564 break; |
| 567 } | 565 } |
| 568 } | 566 } |
| 569 if (m_pToken->m_type != TOKrparen) { | 567 if (m_pToken->m_type != TOKrparen) { |
| 570 CFX_WideString ws_TempString(m_pToken->m_wstring); | 568 CFX_WideString ws_TempString(m_pToken->m_wstring); |
| 571 Error(m_pToken->m_uLinenum, kFMErrExpectedToken, | 569 Error(m_pToken->m_uLinenum, kFMErrExpectedToken, |
| (...skipping 470 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1042 NextToken(); | 1040 NextToken(); |
| 1043 e.reset(ParseBlockExpression()); | 1041 e.reset(ParseBlockExpression()); |
| 1044 Check(TOKend); | 1042 Check(TOKend); |
| 1045 if (m_pErrorInfo->message.IsEmpty()) { | 1043 if (m_pErrorInfo->message.IsEmpty()) { |
| 1046 e.reset(new CXFA_FMDoExpression(line, e.release())); | 1044 e.reset(new CXFA_FMDoExpression(line, e.release())); |
| 1047 } else { | 1045 } else { |
| 1048 e.reset(); | 1046 e.reset(); |
| 1049 } | 1047 } |
| 1050 return e.release(); | 1048 return e.release(); |
| 1051 } | 1049 } |
| OLD | NEW |