Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
cxfa_fmexpression.h
Go to the documentation of this file.
1// Copyright 2014 The PDFium Authors
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6
7#ifndef XFA_FXFA_FORMCALC_CXFA_FMEXPRESSION_H_
8#define XFA_FXFA_FORMCALC_CXFA_FMEXPRESSION_H_
9
10#include <vector>
11
12#include "core/fxcrt/widestring.h"
13#include "core/fxcrt/widetext_buffer.h"
14#include "fxjs/gc/heap.h"
15#include "third_party/abseil-cpp/absl/types/optional.h"
16#include "v8/include/cppgc/garbage-collected.h"
17#include "v8/include/cppgc/member.h"
18#include "xfa/fxfa/formcalc/cxfa_fmlexer.h"
19
21 public:
22 enum class ReturnType { kImplied, kInferred };
23
25 virtual void Trace(cppgc::Visitor* visitor) const;
26
27 virtual bool ToJavaScript(WideTextBuffer* js, ReturnType type) const = 0;
28
29 protected:
31};
32
34 public:
36
37 XFA_FM_TOKEN GetOperatorToken() const { return m_op; }
38
39 protected:
41
42 private:
43 const XFA_FM_TOKEN m_op;
44};
45
47 public:
49 void Trace(cppgc::Visitor* visitor) const override;
50
51 protected:
55
56 CXFA_FMSimpleExpression* GetFirstExpression() const { return m_pExp1; }
57 CXFA_FMSimpleExpression* GetSecondExpression() const { return m_pExp2; }
58
59 private:
60 cppgc::Member<CXFA_FMSimpleExpression> m_pExp1;
61 cppgc::Member<CXFA_FMSimpleExpression> m_pExp2;
62};
63
64class CXFA_FMNullExpression final : public CXFA_FMSimpleExpression {
65 public:
68
69 bool ToJavaScript(WideTextBuffer* js, ReturnType type) const override;
70
71 private:
72 CXFA_FMNullExpression();
73};
74
75class CXFA_FMNumberExpression final : public CXFA_FMSimpleExpression {
76 public:
79
80 bool ToJavaScript(WideTextBuffer* js, ReturnType type) const override;
81
82 private:
83 explicit CXFA_FMNumberExpression(WideString wsNumber);
84
85 WideString m_wsNumber;
86};
87
88class CXFA_FMStringExpression final : public CXFA_FMSimpleExpression {
89 public:
92
93 bool ToJavaScript(WideTextBuffer* js, ReturnType type) const override;
94
95 private:
96 explicit CXFA_FMStringExpression(WideString wsString);
97
98 WideString m_wsString;
99};
100
101class CXFA_FMIdentifierExpression final : public CXFA_FMSimpleExpression {
102 public:
105
106 bool ToJavaScript(WideTextBuffer* js, ReturnType type) const override;
107
108 private:
109 explicit CXFA_FMIdentifierExpression(WideString wsIdentifier);
110
111 WideString m_wsIdentifier;
112};
113
114class CXFA_FMAssignExpression final : public CXFA_FMChainableExpression {
115 public:
118
119 bool ToJavaScript(WideTextBuffer* js, ReturnType type) const override;
120
121 private:
122 CXFA_FMAssignExpression(XFA_FM_TOKEN op,
125};
126
128 public:
130
131 bool ToJavaScript(WideTextBuffer* js, ReturnType type) const override;
132
133 protected:
134 CXFA_FMBinExpression(const WideString& opName,
135 XFA_FM_TOKEN op,
138
139 private:
140 WideString m_OpName;
141};
142
143class CXFA_FMLogicalOrExpression final : public CXFA_FMBinExpression {
144 public:
147
148 private:
149 CXFA_FMLogicalOrExpression(XFA_FM_TOKEN op,
152};
153
154class CXFA_FMLogicalAndExpression final : public CXFA_FMBinExpression {
155 public:
158
159 private:
160 CXFA_FMLogicalAndExpression(XFA_FM_TOKEN op,
163};
164
165class CXFA_FMEqualExpression final : public CXFA_FMBinExpression {
166 public:
169
170 private:
171 CXFA_FMEqualExpression(XFA_FM_TOKEN op,
174};
175
176class CXFA_FMNotEqualExpression final : public CXFA_FMBinExpression {
177 public:
180
181 private:
182 CXFA_FMNotEqualExpression(XFA_FM_TOKEN op,
185};
186
187class CXFA_FMGtExpression final : public CXFA_FMBinExpression {
188 public:
191
192 private:
193 CXFA_FMGtExpression(XFA_FM_TOKEN op,
196};
197
198class CXFA_FMGeExpression final : public CXFA_FMBinExpression {
199 public:
202
203 private:
204 CXFA_FMGeExpression(XFA_FM_TOKEN op,
207};
208
209class CXFA_FMLtExpression final : public CXFA_FMBinExpression {
210 public:
213
214 private:
215 CXFA_FMLtExpression(XFA_FM_TOKEN op,
218};
219
220class CXFA_FMLeExpression final : public CXFA_FMBinExpression {
221 public:
224
225 private:
226 CXFA_FMLeExpression(XFA_FM_TOKEN op,
229};
230
231class CXFA_FMPlusExpression final : public CXFA_FMBinExpression {
232 public:
235
236 private:
237 CXFA_FMPlusExpression(XFA_FM_TOKEN op,
240};
241
242class CXFA_FMMinusExpression final : public CXFA_FMBinExpression {
243 public:
246
247 private:
248 CXFA_FMMinusExpression(XFA_FM_TOKEN op,
251};
252
253class CXFA_FMMulExpression final : public CXFA_FMBinExpression {
254 public:
257
258 private:
259 CXFA_FMMulExpression(XFA_FM_TOKEN op,
262};
263
264class CXFA_FMDivExpression final : public CXFA_FMBinExpression {
265 public:
268
269 private:
270 CXFA_FMDivExpression(XFA_FM_TOKEN op,
273};
274
276 public:
278
279 void Trace(cppgc::Visitor* visitor) const override;
280 bool ToJavaScript(WideTextBuffer* js, ReturnType type) const override;
281
282 protected:
283 CXFA_FMUnaryExpression(const WideString& opName,
284 XFA_FM_TOKEN op,
286
287 private:
288 WideString m_OpName;
289 cppgc::Member<CXFA_FMSimpleExpression> m_pExp;
290};
291
292class CXFA_FMPosExpression final : public CXFA_FMUnaryExpression {
293 public:
296
297 private:
298 explicit CXFA_FMPosExpression(CXFA_FMSimpleExpression* pExp);
299};
300
301class CXFA_FMNegExpression final : public CXFA_FMUnaryExpression {
302 public:
305
306 private:
307 explicit CXFA_FMNegExpression(CXFA_FMSimpleExpression* pExp);
308};
309
310class CXFA_FMNotExpression final : public CXFA_FMUnaryExpression {
311 public:
314
315 private:
316 explicit CXFA_FMNotExpression(CXFA_FMSimpleExpression* pExp);
317};
318
319class CXFA_FMCallExpression final : public CXFA_FMSimpleExpression {
320 public:
323
324 void Trace(cppgc::Visitor* visitor) const override;
325 bool ToJavaScript(WideTextBuffer* js, ReturnType type) const override;
326
327 bool IsBuiltInFunc(WideTextBuffer* funcName) const;
328 uint32_t IsMethodWithObjParam(const WideString& methodName) const;
329
330 private:
331 CXFA_FMCallExpression(
333 std::vector<cppgc::Member<CXFA_FMSimpleExpression>>&& pArguments,
334 bool bIsSomMethod);
335
336 cppgc::Member<CXFA_FMSimpleExpression> m_pExp;
337 std::vector<cppgc::Member<CXFA_FMSimpleExpression>> m_Arguments;
338 bool m_bIsSomMethod;
339};
340
341class CXFA_FMDotAccessorExpression final : public CXFA_FMChainableExpression {
342 public:
345
346 bool ToJavaScript(WideTextBuffer* js, ReturnType type) const override;
347
348 private:
349 CXFA_FMDotAccessorExpression(CXFA_FMSimpleExpression* pAccessor,
350 XFA_FM_TOKEN op,
351 WideString wsIdentifier,
352 CXFA_FMSimpleExpression* pIndexExp);
353
354 WideString m_wsIdentifier;
355};
356
357class CXFA_FMIndexExpression final : public CXFA_FMSimpleExpression {
358 public:
365
368
369 void Trace(cppgc::Visitor* visitor) const override;
370 bool ToJavaScript(WideTextBuffer* js, ReturnType type) const override;
371
372 private:
373 CXFA_FMIndexExpression(AccessorIndex accessorIndex,
374 CXFA_FMSimpleExpression* pIndexExp,
375 bool bIsStarIndex);
376
377 cppgc::Member<CXFA_FMSimpleExpression> m_pExp;
378 AccessorIndex m_accessorIndex;
379 bool m_bIsStarIndex;
380};
381
382class CXFA_FMDotDotAccessorExpression final
384 public:
387
388 bool ToJavaScript(WideTextBuffer* js, ReturnType type) const override;
389
390 private:
391 CXFA_FMDotDotAccessorExpression(CXFA_FMSimpleExpression* pAccessor,
392 XFA_FM_TOKEN op,
393 WideString wsIdentifier,
394 CXFA_FMSimpleExpression* pIndexExp);
395
396 WideString m_wsIdentifier;
397};
398
399class CXFA_FMMethodCallExpression final : public CXFA_FMChainableExpression {
400 public:
403
404 bool ToJavaScript(WideTextBuffer* js, ReturnType type) const override;
405
406 private:
407 CXFA_FMMethodCallExpression(CXFA_FMSimpleExpression* pAccessorExp1,
408 CXFA_FMSimpleExpression* pCallExp);
409};
410
411class CXFA_FMFunctionDefinition final : public CXFA_FMExpression {
412 public:
415
416 void Trace(cppgc::Visitor* visitor) const override;
417 bool ToJavaScript(WideTextBuffer* js, ReturnType type) const override;
418
419 private:
420 CXFA_FMFunctionDefinition(
421 WideString wsName,
422 std::vector<WideString>&& arguments,
423 std::vector<cppgc::Member<CXFA_FMExpression>>&& expressions);
424
425 const WideString m_wsName;
426 std::vector<WideString> const m_pArguments;
427 std::vector<cppgc::Member<CXFA_FMExpression>> const m_pExpressions;
428};
429
430class CXFA_FMVarExpression final : public CXFA_FMExpression {
431 public:
434
435 void Trace(cppgc::Visitor* visitor) const override;
436 bool ToJavaScript(WideTextBuffer* js, ReturnType type) const override;
437
438 private:
439 CXFA_FMVarExpression(WideString wsName, CXFA_FMSimpleExpression* pInit);
440
441 WideString const m_wsName;
442 cppgc::Member<CXFA_FMSimpleExpression> const m_pInit;
443};
444
445class CXFA_FMExpExpression final : public CXFA_FMExpression {
446 public:
449
450 void Trace(cppgc::Visitor* visitor) const override;
451 bool ToJavaScript(WideTextBuffer* js, ReturnType type) const override;
452
453 private:
454 explicit CXFA_FMExpExpression(CXFA_FMSimpleExpression* pExpression);
455
456 cppgc::Member<CXFA_FMSimpleExpression> const m_pExpression;
457};
458
459class CXFA_FMBlockExpression final : public CXFA_FMExpression {
460 public:
463
464 void Trace(cppgc::Visitor* visitor) const override;
465 bool ToJavaScript(WideTextBuffer* js, ReturnType type) const override;
466
467 private:
468 CXFA_FMBlockExpression(
469 std::vector<cppgc::Member<CXFA_FMExpression>>&& pExpressionList);
470
471 std::vector<cppgc::Member<CXFA_FMExpression>> const m_ExpressionList;
472};
473
474class CXFA_FMDoExpression final : public CXFA_FMExpression {
475 public:
478
479 void Trace(cppgc::Visitor* visitor) const override;
480 bool ToJavaScript(WideTextBuffer* js, ReturnType type) const override;
481
482 private:
483 explicit CXFA_FMDoExpression(CXFA_FMExpression* pList);
484
485 cppgc::Member<CXFA_FMExpression> const m_pList;
486};
487
488class CXFA_FMIfExpression final : public CXFA_FMExpression {
489 public:
492
493 void Trace(cppgc::Visitor* visitor) const override;
494 bool ToJavaScript(WideTextBuffer* js, ReturnType type) const override;
495
496 private:
497 CXFA_FMIfExpression(
498 CXFA_FMSimpleExpression* pExpression,
499 CXFA_FMExpression* pIfExpression,
500 std::vector<cppgc::Member<CXFA_FMIfExpression>>&& pElseIfExpressions,
501 CXFA_FMExpression* pElseExpression);
502
503 cppgc::Member<CXFA_FMSimpleExpression> const m_pExpression;
504 cppgc::Member<CXFA_FMExpression> const m_pIfExpression;
505 std::vector<cppgc::Member<CXFA_FMIfExpression>> const m_pElseIfExpressions;
506 cppgc::Member<CXFA_FMExpression> const m_pElseExpression;
507};
508
509class CXFA_FMWhileExpression final : public CXFA_FMExpression {
510 public:
513
514 void Trace(cppgc::Visitor* visitor) const override;
515 bool ToJavaScript(WideTextBuffer* js, ReturnType type) const override;
516
517 private:
518 CXFA_FMWhileExpression(CXFA_FMSimpleExpression* pCodition,
519 CXFA_FMExpression* pExpression);
520
521 cppgc::Member<CXFA_FMSimpleExpression> const m_pCondition;
522 cppgc::Member<CXFA_FMExpression> const m_pExpression;
523};
524
525class CXFA_FMBreakExpression final : public CXFA_FMExpression {
526 public:
529
530 bool ToJavaScript(WideTextBuffer* js, ReturnType type) const override;
531
532 private:
533 CXFA_FMBreakExpression();
534};
535
536class CXFA_FMContinueExpression final : public CXFA_FMExpression {
537 public:
540
541 bool ToJavaScript(WideTextBuffer* js, ReturnType type) const override;
542
543 private:
544 CXFA_FMContinueExpression();
545};
546
547class CXFA_FMForExpression final : public CXFA_FMExpression {
548 public:
551
552 void Trace(cppgc::Visitor* visitor) const override;
553 bool ToJavaScript(WideTextBuffer* js, ReturnType type) const override;
554
555 private:
556 CXFA_FMForExpression(WideString wsVariant,
557 CXFA_FMSimpleExpression* pAssignment,
558 CXFA_FMSimpleExpression* pAccessor,
559 int32_t iDirection,
561 CXFA_FMExpression* pList);
562
563 const WideString m_wsVariant;
564 const bool m_bDirection;
565 cppgc::Member<CXFA_FMSimpleExpression> const m_pAssignment;
566 cppgc::Member<CXFA_FMSimpleExpression> const m_pAccessor;
567 cppgc::Member<CXFA_FMSimpleExpression> const m_pStep;
568 cppgc::Member<CXFA_FMExpression> const m_pList;
569};
570
571class CXFA_FMForeachExpression final : public CXFA_FMExpression {
572 public:
575
576 void Trace(cppgc::Visitor* visitor) const override;
577 bool ToJavaScript(WideTextBuffer* js, ReturnType type) const override;
578
579 private:
580 // Takes ownership of |pAccessors|.
581 CXFA_FMForeachExpression(
582 WideString wsIdentifier,
583 std::vector<cppgc::Member<CXFA_FMSimpleExpression>>&& pAccessors,
584 CXFA_FMExpression* pList);
585
586 const WideString m_wsIdentifier;
587 std::vector<cppgc::Member<CXFA_FMSimpleExpression>> const m_pAccessors;
588 cppgc::Member<CXFA_FMExpression> const m_pList;
589};
590
592 public:
595
596 void Trace(cppgc::Visitor* visitor) const;
598
599 private:
600 explicit CXFA_FMAST(
601 std::vector<cppgc::Member<CXFA_FMExpression>> expressions);
602
604};
605
606bool CXFA_IsTooBig(const WideTextBuffer& js);
607
608#endif // XFA_FXFA_FORMCALC_CXFA_FMEXPRESSION_H_
XFA_ResolveFlag
const FXJSE_CLASS_DESCRIPTOR kFormCalcDescriptor
bool IsNotZero() const
uint8_t GetScale() const
void SetScale(uint8_t newScale)
CFGAS_Decimal(uint64_t val)
CFGAS_Decimal(float val, uint8_t scale)
CFGAS_Decimal(WideStringView str)
CFGAS_Decimal operator*(const CFGAS_Decimal &val) const
CFGAS_Decimal(uint32_t val)
double ToDouble() const
WideString ToWideString() const
CFGAS_Decimal operator/(const CFGAS_Decimal &val) const
CFGAS_Decimal(int32_t val)
float ToFloat() const
XFA_SCRIPTATTRIBUTEINFO script_attribute
CXFA_Object * GetThisObject() const
friend class EventParamScope
v8::Local< v8::Value > GlobalPropertyGetter()
static ByteString Local2IsoDate(CFXJSE_HostObject *pThis, ByteStringView bsDate, ByteStringView bsFormat, ByteStringView bsLocale)
static ByteString Num2AllTime(CFXJSE_HostObject *pThis, int32_t iTime, ByteStringView bsFormat, ByteStringView bsLocale, bool bGM)
CXFA_Document * GetDocument() const
static ByteString GetStandardTimeFormat(CFXJSE_HostObject *pThis, int32_t iStyle, ByteStringView bsLocale)
static ByteString GetStandardDateFormat(CFXJSE_HostObject *pThis, int32_t iStyle, ByteStringView bsLocale)
CFXJSE_FormCalcContext * AsFormCalcContext() override
static ByteString GetLocalDateFormat(CFXJSE_HostObject *pThis, int32_t iStyle, ByteStringView bsLocale, bool bStandard)
~CFXJSE_FormCalcContext() override
CFXJSE_FormCalcContext(v8::Isolate *pIsolate, CFXJSE_Context *pScriptContext, CXFA_Document *pDoc)
static ByteString GetLocalTimeFormat(CFXJSE_HostObject *pThis, int32_t iStyle, ByteStringView bsLocale, bool bStandard)
static ByteString IsoDate2Local(CFXJSE_HostObject *pThis, ByteStringView bsDate, ByteStringView bsFormat, ByteStringView bsLocale)
static ByteString IsoTime2Local(CFXJSE_HostObject *pThis, ByteStringView bsTime, ByteStringView bsFormat, ByteStringView bsLocale)
virtual CFXJSE_FormCalcContext * AsFormCalcContext()
Definition fxjse.cpp:34
int32_t GetYear() const
uint8_t GetSecond() const
uint8_t GetHour() const
uint8_t GetDay() const
uint8_t GetMinute() const
uint16_t GetMillisecond() const
uint8_t GetMonth() const
CXFA_FFNotify * GetNotify() const
CXFA_LocaleMgr * GetLocaleMgr()
CFXJSE_Engine * GetScriptContext() const
virtual bool PostRequestURL(const WideString &wsURL, const WideString &wsData, const WideString &wsContentType, const WideString &wsEncode, const WideString &wsHeader, WideString &wsResponse)=0
virtual bool PutRequestURL(const WideString &wsURL, const WideString &wsData, const WideString &wsEncode)=0
CXFA_FFApp::CallbackIface * GetAppProvider()
absl::optional< WideTextBuffer > ToJavaScript() const
bool ToJavaScript(WideTextBuffer *js, ReturnType type) const override
~CXFA_FMAssignExpression() override
~CXFA_FMBinExpression() override
bool ToJavaScript(WideTextBuffer *js, ReturnType type) const override
CXFA_FMBinExpression(const WideString &opName, XFA_FM_TOKEN op, CXFA_FMSimpleExpression *pExp1, CXFA_FMSimpleExpression *pExp2)
bool ToJavaScript(WideTextBuffer *js, ReturnType type) const override
~CXFA_FMBlockExpression() override
~CXFA_FMBreakExpression() override
bool ToJavaScript(WideTextBuffer *js, ReturnType type) const override
bool ToJavaScript(WideTextBuffer *js, ReturnType type) const override
~CXFA_FMCallExpression() override
uint32_t IsMethodWithObjParam(const WideString &methodName) const
bool IsBuiltInFunc(WideTextBuffer *funcName) const
~CXFA_FMChainableExpression() override
CXFA_FMSimpleExpression * GetSecondExpression() const
CXFA_FMChainableExpression(XFA_FM_TOKEN op, CXFA_FMSimpleExpression *pExp1, CXFA_FMSimpleExpression *pExp2)
CXFA_FMSimpleExpression * GetFirstExpression() const
bool ToJavaScript(WideTextBuffer *js, ReturnType type) const override
~CXFA_FMContinueExpression() override
~CXFA_FMDivExpression() override
~CXFA_FMDoExpression() override
bool ToJavaScript(WideTextBuffer *js, ReturnType type) const override
bool ToJavaScript(WideTextBuffer *js, ReturnType type) const override
~CXFA_FMDotAccessorExpression() override
bool ToJavaScript(WideTextBuffer *js, ReturnType type) const override
~CXFA_FMEqualExpression() override
bool ToJavaScript(WideTextBuffer *js, ReturnType type) const override
~CXFA_FMExpExpression() override
virtual ~CXFA_FMExpression()
virtual bool ToJavaScript(WideTextBuffer *js, ReturnType type) const =0
~CXFA_FMForExpression() override
bool ToJavaScript(WideTextBuffer *js, ReturnType type) const override
bool ToJavaScript(WideTextBuffer *js, ReturnType type) const override
~CXFA_FMForeachExpression() override
bool ToJavaScript(WideTextBuffer *js, ReturnType type) const override
~CXFA_FMFunctionDefinition() override
~CXFA_FMGeExpression() override
~CXFA_FMGtExpression() override
bool ToJavaScript(WideTextBuffer *js, ReturnType type) const override
~CXFA_FMIdentifierExpression() override
~CXFA_FMIfExpression() override
bool ToJavaScript(WideTextBuffer *js, ReturnType type) const override
bool ToJavaScript(WideTextBuffer *js, ReturnType type) const override
~CXFA_FMIndexExpression() override
~CXFA_FMLeExpression() override
~CXFA_FMLogicalAndExpression() override
~CXFA_FMLogicalOrExpression() override
~CXFA_FMLtExpression() override
~CXFA_FMMethodCallExpression() override
bool ToJavaScript(WideTextBuffer *js, ReturnType type) const override
~CXFA_FMMinusExpression() override
~CXFA_FMMulExpression() override
~CXFA_FMNegExpression() override
~CXFA_FMNotEqualExpression() override
~CXFA_FMNotExpression() override
bool ToJavaScript(WideTextBuffer *js, ReturnType type) const override
~CXFA_FMNullExpression() override
~CXFA_FMNumberExpression() override
bool ToJavaScript(WideTextBuffer *js, ReturnType type) const override
bool HasError() const
CXFA_FMParser(cppgc::Heap *heap, CXFA_FMLexer *pLexer)
CXFA_FMAST * Parse()
void SetMaxParseDepthForTest(unsigned long max_depth)
~CXFA_FMPlusExpression() override
~CXFA_FMPosExpression() override
CXFA_FMSimpleExpression(XFA_FM_TOKEN op)
~CXFA_FMSimpleExpression() override
XFA_FM_TOKEN GetOperatorToken() const
bool ToJavaScript(WideTextBuffer *js, ReturnType type) const override
~CXFA_FMStringExpression() override
~CXFA_FMUnaryExpression() override
CXFA_FMUnaryExpression(const WideString &opName, XFA_FM_TOKEN op, CXFA_FMSimpleExpression *pExp)
bool ToJavaScript(WideTextBuffer *js, ReturnType type) const override
~CXFA_FMVarExpression() override
bool ToJavaScript(WideTextBuffer *js, ReturnType type) const override
bool ToJavaScript(WideTextBuffer *js, ReturnType type) const override
~CXFA_FMWhileExpression() override
GCedLocaleIface * GetDefLocale() override
GCedLocaleIface * GetLocaleByName(const WideString &wsLocaleName) override
CXFA_LocaleValue(ValueType dwType, const WideString &wsValue, const WideString &wsFormat, GCedLocaleIface *pLocale, CXFA_LocaleMgr *pLocaleMgr)
double GetDoubleNum() const
CFX_DateTime GetTime() const
const WideString & GetValue() const
CFX_DateTime GetDate() const
bool FormatPatterns(WideString &wsResult, const WideString &wsFormat, GCedLocaleIface *pLocale, XFA_ValuePicture eValueType) const
bool IsValid() const
GCedLocaleIface * GetLocale()
CXFA_Node * AsNode()
virtual WideString GetDatePattern(DateTimeSubcategory eType) const =0
virtual int GetTimeZoneInMinutes() const =0
virtual WideString GetDateTimeSymbols() const =0
virtual WideString GetTimePattern(DateTimeSubcategory eType) const =0
ByteString(const char *ptr)
bool EqualNoCase(ByteStringView str) const
static ByteString Format(const char *pFormat,...)
ByteString & operator+=(const ByteString &str)
ByteString & operator+=(char ch)
static ByteString FormatInteger(int i)
bool operator==(const ByteString &other) const
bool operator==(const char *ptr) const
ByteString & operator+=(const char *str)
const char * c_str() const
Definition bytestring.h:76
ByteString & operator=(const ByteString &that)
bool IsEmpty() const
Definition bytestring.h:119
int Compare(ByteStringView str) const
ByteString ToUTF8() const
WideString & operator=(WideString &&that) noexcept
static WideString FromUTF8(ByteStringView str)
CharType operator[](const size_t index) const
Definition widestring.h:146
bool IsEmpty() const
Definition widestring.h:118
const wchar_t * c_str() const
Definition widestring.h:81
WideString(const wchar_t *ptr)
bool IsASCII() const
Definition widestring.h:215
ByteString ToASCII() const
static WideString FromASCII(ByteStringView str)
void AppendChar(wchar_t wch)
WideString MakeString() const
WideStringView AsStringView() const
bool CXFA_IsTooBig(const WideTextBuffer &js)
XFA_FM_TOKEN
XFA_ValuePicture
Definition cxfa_node.h:70
CXFA_Node * ToNode(CXFA_Object *pObj)
time_t FXSYS_time(time_t *tloc)
int FXSYS_WideHexCharToInt(wchar_t c)
bool FXSYS_IsDecimalDigit(wchar_t c)
bool FXSYS_IsWideHexDigit(wchar_t c)
struct tm * FXSYS_localtime(const time_t *tp)
void FX_Random_GenerateMT(uint32_t *pBuffer, int32_t iCount)
int32_t FXSYS_atoi(const char *str)
#define FX_FILESIZE
Definition fx_types.h:19
XFA_Attribute
Definition fxfa_basic.h:67
XFA_ScriptType
Definition fxfa_basic.h:104
#define CONSTRUCT_VIA_MAKE_GARBAGE_COLLECTED
Definition heap.h:32
Definition heap.h:12
ByteString operator+(const ByteString &str1, const ByteString &str2)
Definition bytestring.h:270
WideString operator+(const WideString &str1, const WideString &str2)
Definition widestring.h:269
ByteString operator+(const ByteString &str1, const char *str2)
Definition bytestring.h:279
WideString operator+(const wchar_t *str1, const WideString &str2)
Definition widestring.h:281
WideString operator+(const WideString &str1, const wchar_t *str2)
Definition widestring.h:278
Definition fxv8.h:22
bool IsBoolean(v8::Local< v8::Value > value)
Definition fxv8.cpp:27
bool IsArray(v8::Local< v8::Value > value)
Definition fxv8.cpp:47
bool IsUndefined(v8::Local< v8::Value > value)
Definition fxv8.cpp:19
bool IsNumber(v8::Local< v8::Value > value)
Definition fxv8.cpp:35
bool IsObject(v8::Local< v8::Value > value)
Definition fxv8.cpp:43
bool IsString(v8::Local< v8::Value > value)
Definition fxv8.cpp:31
ByteString ReentrantToByteStringHelper(v8::Isolate *pIsolate, v8::Local< v8::Value > pValue)
Definition fxv8.cpp:173
bool ReentrantToBooleanHelper(v8::Isolate *pIsolate, v8::Local< v8::Value > pValue)
Definition fxv8.cpp:138
bool IsNull(v8::Local< v8::Value > value)
Definition fxv8.cpp:23
int32_t ReentrantToInt32Helper(v8::Isolate *pIsolate, v8::Local< v8::Value > pValue)
Definition fxv8.cpp:131
const char kClassTag[]
Definition fxjse.cpp:18
const char kFuncTag[]
Definition fxjse.cpp:17
XFA_ScriptType eValueType
XFA_ATTRIBUTE_CALLBACK callback
#define UNOWNED_PTR_EXCLUSION