1ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann// Copyright 2014 PDFium Authors. All rights reserved. 2ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann// Use of this source code is governed by a BSD-style license that can be 3ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann// found in the LICENSE file. 4ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann 5ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 6ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann 7ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#ifndef _XFA_FM2JS_CONTEXT_H 8ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#define _XFA_FM2JS_CONTEXT_H 9ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmannclass CXFA_FM2JSContext { 10ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann public: 11ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Abs(FXJSE_HOBJECT hThis, 12ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 13ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 14ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Avg(FXJSE_HOBJECT hThis, 15ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 16ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 17ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Ceil(FXJSE_HOBJECT hThis, 18ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 19ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 20ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Count(FXJSE_HOBJECT hThis, 21ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 22ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 23ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Floor(FXJSE_HOBJECT hThis, 24ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 25ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 26ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Max(FXJSE_HOBJECT hThis, 27ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 28ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 29ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Min(FXJSE_HOBJECT hThis, 30ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 31ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 32ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Mod(FXJSE_HOBJECT hThis, 33ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 34ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 35ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Round(FXJSE_HOBJECT hThis, 36ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 37ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 38ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Sum(FXJSE_HOBJECT hThis, 39ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 40ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 41ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Date(FXJSE_HOBJECT hThis, 42ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 43ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 44ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Date2Num(FXJSE_HOBJECT hThis, 45ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 46ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 47ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void DateFmt(FXJSE_HOBJECT hThis, 48ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 49ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 50ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void IsoDate2Num(FXJSE_HOBJECT hThis, 51ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 52ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 53ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void IsoTime2Num(FXJSE_HOBJECT hThis, 54ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 55ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 56ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void LocalDateFmt(FXJSE_HOBJECT hThis, 57ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 58ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 59ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void LocalTimeFmt(FXJSE_HOBJECT hThis, 60ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 61ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 62ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Num2Date(FXJSE_HOBJECT hThis, 63ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 64ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 65ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Num2GMTime(FXJSE_HOBJECT hThis, 66ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 67ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 68ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Num2Time(FXJSE_HOBJECT hThis, 69ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 70ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 71ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Time(FXJSE_HOBJECT hThis, 72ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 73ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 74ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Time2Num(FXJSE_HOBJECT hThis, 75ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 76ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 77ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void TimeFmt(FXJSE_HOBJECT hThis, 78ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 79ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 80ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann 81ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static FX_BOOL IsIsoDateFormat(const FX_CHAR* pData, 82ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t iLength, 83ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t& iStyle, 84ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t& iYear, 85ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t& iMonth, 86ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t& iDay); 87ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static FX_BOOL IsIsoTimeFormat(const FX_CHAR* pData, 88ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t iLength, 89ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t& iHour, 90ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t& iMinute, 91ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t& iSecond, 92ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t& iMilliSecond, 93ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t& iZoneHour, 94ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t& iZoneMinute); 95ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static FX_BOOL IsIsoDateTimeFormat(const FX_CHAR* pData, 96ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t iLength, 97ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t& iYear, 98ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t& iMonth, 99ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t& iDay, 100ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t& iHour, 101ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t& iMinute, 102ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t& iSecond, 103ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t& iMillionSecond, 104ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t& iZoneHour, 105ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t& iZoneMinute); 106ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static FX_BOOL Local2IsoDate(FXJSE_HOBJECT hThis, 107ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szDate, 108ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFormat, 109ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szLocale, 110ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFX_ByteString& strIsoDate); 111ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static FX_BOOL Local2IsoTime(FXJSE_HOBJECT hThis, 112ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szTime, 113ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFormat, 114ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szLocale, 115ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFX_ByteString& strIsoTime); 116ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static FX_BOOL IsoDate2Local(FXJSE_HOBJECT hThis, 117ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szDate, 118ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFormat, 119ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szLocale, 120ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFX_ByteString& strLocalDate); 121ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static FX_BOOL IsoTime2Local(FXJSE_HOBJECT hThis, 122ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szTime, 123ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFormat, 124ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szLocale, 125ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFX_ByteString& strLocalTime); 126ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static FX_BOOL GetGMTTime(FXJSE_HOBJECT hThis, 127ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szTime, 128ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFormat, 129ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szLocale, 130ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFX_ByteString& strGMTTime); 131ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static int32_t DateString2Num(const CFX_ByteStringC& szDateString); 132ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void GetLocalDateFormat(FXJSE_HOBJECT hThis, 133ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t iStyle, 134ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szLocalStr, 135ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFX_ByteString& strFormat, 136ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann FX_BOOL bStandard); 137ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void GetLocalTimeFormat(FXJSE_HOBJECT hThis, 138ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t iStyle, 139ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szLocalStr, 140ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFX_ByteString& strFormat, 141ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann FX_BOOL bStandard); 142ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void GetStandardDateFormat(FXJSE_HOBJECT hThis, 143ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t iStyle, 144ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szLocalStr, 145ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFX_ByteString& strFormat); 146ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void GetStandardTimeFormat(FXJSE_HOBJECT hThis, 147ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t iStyle, 148ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szLocalStr, 149ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFX_ByteString& strFormat); 150ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann 151ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Num2AllTime(FXJSE_HOBJECT hThis, 152ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t iTime, 153ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFormat, 154ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szLocale, 155ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann FX_BOOL bGM, 156ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFX_ByteString& strTime); 157ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void GetLocalTimeZone(int32_t& iHour, int32_t& iMin, int32_t& iSec); 158ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann 159ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Apr(FXJSE_HOBJECT hThis, 160ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 161ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 162ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void CTerm(FXJSE_HOBJECT hThis, 163ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 164ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 165ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void FV(FXJSE_HOBJECT hThis, 166ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 167ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 168ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void IPmt(FXJSE_HOBJECT hThis, 169ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 170ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 171ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void NPV(FXJSE_HOBJECT hThis, 172ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 173ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 174ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Pmt(FXJSE_HOBJECT hThis, 175ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 176ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 177ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void PPmt(FXJSE_HOBJECT hThis, 178ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 179ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 180ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void PV(FXJSE_HOBJECT hThis, 181ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 182ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 183ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Rate(FXJSE_HOBJECT hThis, 184ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 185ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 186ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Term(FXJSE_HOBJECT hThis, 187ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 188ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 189ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Choose(FXJSE_HOBJECT hThis, 190ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 191ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 192ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Exists(FXJSE_HOBJECT hThis, 193ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 194ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 195ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void HasValue(FXJSE_HOBJECT hThis, 196ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 197ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 198ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Oneof(FXJSE_HOBJECT hThis, 199ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 200ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 201ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Within(FXJSE_HOBJECT hThis, 202ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 203ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 204ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void If(FXJSE_HOBJECT hThis, 205ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 206ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 207ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Eval(FXJSE_HOBJECT hThis, 208ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 209ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 210ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Ref(FXJSE_HOBJECT hThis, 211ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 212ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 213ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void UnitType(FXJSE_HOBJECT hThis, 214ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 215ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 216ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void UnitValue(FXJSE_HOBJECT hThis, 217ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 218ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 219ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann 220ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void At(FXJSE_HOBJECT hThis, 221ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 222ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 223ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Concat(FXJSE_HOBJECT hThis, 224ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 225ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 226ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Decode(FXJSE_HOBJECT hThis, 227ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 228ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 229ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void DecodeURL(const CFX_ByteStringC& szURLString, 230ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFX_ByteTextBuf& szResultBuf); 231ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void DecodeHTML(const CFX_ByteStringC& szHTMLString, 232ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFX_ByteTextBuf& szResultBuf); 233ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void DecodeXML(const CFX_ByteStringC& szXMLString, 234ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFX_ByteTextBuf& szResultBuf); 235ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Encode(FXJSE_HOBJECT hThis, 236ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 237ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 238ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void EncodeURL(const CFX_ByteStringC& szURLString, 239ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFX_ByteTextBuf& szResultBuf); 240ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void EncodeHTML(const CFX_ByteStringC& szHTMLString, 241ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFX_ByteTextBuf& szResultBuf); 242ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void EncodeXML(const CFX_ByteStringC& szXMLString, 243ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFX_ByteTextBuf& szResultBuf); 244ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static FX_BOOL HTMLSTR2Code(const CFX_WideStringC& pData, uint32_t& iCode); 245ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static FX_BOOL HTMLCode2STR(uint32_t iCode, CFX_WideString& wsHTMLReserve); 246ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Format(FXJSE_HOBJECT hThis, 247ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 248ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 249ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Left(FXJSE_HOBJECT hThis, 250ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 251ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 252ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Len(FXJSE_HOBJECT hThis, 253ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 254ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 255ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Lower(FXJSE_HOBJECT hThis, 256ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 257ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 258ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Ltrim(FXJSE_HOBJECT hThis, 259ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 260ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 261ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Parse(FXJSE_HOBJECT hThis, 262ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 263ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 264ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Replace(FXJSE_HOBJECT hThis, 265ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 266ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 267ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Right(FXJSE_HOBJECT hThis, 268ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 269ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 270ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Rtrim(FXJSE_HOBJECT hThis, 271ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 272ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 273ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Space(FXJSE_HOBJECT hThis, 274ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 275ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 276ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Str(FXJSE_HOBJECT hThis, 277ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 278ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 279ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Stuff(FXJSE_HOBJECT hThis, 280ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 281ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 282ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Substr(FXJSE_HOBJECT hThis, 283ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 284ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 285ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Uuid(FXJSE_HOBJECT hThis, 286ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 287ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 288ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Upper(FXJSE_HOBJECT hThis, 289ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 290ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 291ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void WordNum(FXJSE_HOBJECT hThis, 292ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 293ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 294ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void TrillionUS(const CFX_ByteStringC& szData, 295ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFX_ByteTextBuf& strBuf); 296ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void WordUS(const CFX_ByteStringC& szData, 297ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t iStyle, 298ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFX_ByteTextBuf& strBuf); 299ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann 300ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Get(FXJSE_HOBJECT hThis, 301ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 302ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 303ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Post(FXJSE_HOBJECT hThis, 304ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 305ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 306ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Put(FXJSE_HOBJECT hThis, 307ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 308ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 309ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void assign_value_operator(FXJSE_HOBJECT hThis, 310ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 311ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 312ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void logical_or_operator(FXJSE_HOBJECT hThis, 313ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 314ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 315ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void logical_and_operator(FXJSE_HOBJECT hThis, 316ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 317ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 318ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void equality_operator(FXJSE_HOBJECT hThis, 319ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 320ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 321ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void notequality_operator(FXJSE_HOBJECT hThis, 322ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 323ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 324ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static FX_BOOL fm_ref_equal(FXJSE_HOBJECT hThis, CFXJSE_Arguments& args); 325ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void less_operator(FXJSE_HOBJECT hThis, 326ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 327ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 328ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void lessequal_operator(FXJSE_HOBJECT hThis, 329ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 330ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 331ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void greater_operator(FXJSE_HOBJECT hThis, 332ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 333ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 334ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void greaterequal_operator(FXJSE_HOBJECT hThis, 335ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 336ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 337ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void plus_operator(FXJSE_HOBJECT hThis, 338ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 339ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 340ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void minus_operator(FXJSE_HOBJECT hThis, 341ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 342ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 343ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void multiple_operator(FXJSE_HOBJECT hThis, 344ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 345ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 346ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void divide_operator(FXJSE_HOBJECT hThis, 347ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 348ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 349ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void positive_operator(FXJSE_HOBJECT hThis, 350ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 351ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 352ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void negative_operator(FXJSE_HOBJECT hThis, 353ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 354ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 355ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void logical_not_operator(FXJSE_HOBJECT hThis, 356ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 357ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 358ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void dot_accessor(FXJSE_HOBJECT hThis, 359ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 360ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 361ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void dotdot_accessor(FXJSE_HOBJECT hThis, 362ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 363ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 364ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void eval_translation(FXJSE_HOBJECT hThis, 365ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 366ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 367ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void is_fm_object(FXJSE_HOBJECT hThis, 368ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 369ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 370ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void is_fm_array(FXJSE_HOBJECT hThis, 371ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 372ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 373ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void get_fm_value(FXJSE_HOBJECT hThis, 374ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 375ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 376ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void get_fm_jsobj(FXJSE_HOBJECT hThis, 377ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 378ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 379ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void fm_var_filter(FXJSE_HOBJECT hThis, 380ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 381ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 382ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void concat_fm_object(FXJSE_HOBJECT hThis, 383ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szFuncName, 384ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args); 385ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann 386ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static int32_t hvalue_get_array_length(FXJSE_HOBJECT hThis, FXJSE_HVALUE arg); 387ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static FX_BOOL simpleValueCompare(FXJSE_HOBJECT hThis, 388ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann FXJSE_HVALUE firstValue, 389ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann FXJSE_HVALUE secondValue); 390ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void unfoldArgs(FXJSE_HOBJECT hThis, 391ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args, 392ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann FXJSE_HVALUE*& resultValues, 393ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t& iCount, 394ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t iStart = 0); 395ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void GetObjectDefaultValue(FXJSE_HVALUE hObjectValue, 396ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann FXJSE_HVALUE hDefaultValue); 397ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static FX_BOOL SetObjectDefaultValue(FXJSE_HVALUE hObjectValue, 398ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann FXJSE_HVALUE hNewValue); 399ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void GenerateSomExpression(const CFX_ByteStringC& szName, 400ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t iIndexFlags, 401ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t iIndexValue, 402ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann FX_BOOL bIsStar, 403ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFX_ByteString& szSomExp); 404ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static FX_BOOL GetObjectByName(FXJSE_HOBJECT hThis, 405ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann FXJSE_HVALUE accessorValue, 406ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& szAccessorName); 407ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static int32_t ResolveObjects(FXJSE_HOBJECT hThis, 408ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann FXJSE_HVALUE hParentValue, 409ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_ByteStringC& bsSomExp, 410ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann XFA_RESOLVENODE_RS& resoveNodeRS, 411ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann FX_BOOL bdotAccessor = TRUE, 412ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann FX_BOOL bHasNoResolveName = FALSE); 413ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void ParseResolveResult(FXJSE_HOBJECT hThis, 414ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const XFA_RESOLVENODE_RS& resoveNodeRS, 415ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann FXJSE_HVALUE hParentValue, 416ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann FXJSE_HVALUE*& resultValues, 417ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t& iSize, 418ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann FX_BOOL& bAttribute); 419ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann 420ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static FXJSE_HVALUE GetSimpleHValue(FXJSE_HOBJECT hThis, 421ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFXJSE_Arguments& args, 422ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann uint32_t index); 423ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static FX_BOOL HValueIsNull(FXJSE_HOBJECT hThis, FXJSE_HVALUE hValue); 424ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static int32_t HValueToInteger(FXJSE_HOBJECT hThis, FXJSE_HVALUE hValue); 425ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static FX_DOUBLE StringToDouble(const CFX_ByteStringC& szStringVal); 426ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static FX_FLOAT HValueToFloat(FXJSE_HOBJECT hThis, FXJSE_HVALUE hValue); 427ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static FX_DOUBLE HValueToDouble(FXJSE_HOBJECT hThis, FXJSE_HVALUE hValue); 428ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void HValueToUTF8String(FXJSE_HVALUE hValue, 429ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFX_ByteString& outputValue); 430ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CXFA_FM2JSContext(); 431ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann ~CXFA_FM2JSContext(); 432ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static CXFA_FM2JSContext* Create(); 433ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann void Initialize(FXJSE_HRUNTIME hScriptRuntime, 434ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann FXJSE_HCONTEXT hScriptContext, 435ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CXFA_Document* pDoc); 436ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann void GlobalPropertyGetter(FXJSE_HVALUE hValue); 437ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann void Release(); 438ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann FXJSE_HRUNTIME GetScriptRuntime() const { return m_hScriptRuntime; } 439ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CXFA_Document* GetDocument() const { return m_pDocument; } 440ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann void ThrowScriptErrorMessage(int32_t iStringID, ...); 441ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann 442ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann private: 443ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann FXJSE_HRUNTIME m_hScriptRuntime; 444ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann FXJSE_CLASS m_fmClass; 445ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann FXJSE_HCLASS m_hFMClass; 446ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann FXJSE_HVALUE m_hValue; 447ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CXFA_Document* m_pDocument; 448ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann}; 449ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#endif 450