7#ifndef FXJS_XFA_CFXJSE_FORMCALC_CONTEXT_H_
8#define FXJS_XFA_CFXJSE_FORMCALC_CONTEXT_H_
15#include "core/fxcrt/bytestring.h"
16#include "core/fxcrt/unowned_ptr.h"
17#include "core/fxcrt/widetext_buffer.h"
18#include "fxjs/xfa/fxjse.h"
19#include "v8/include/cppgc/persistent.h"
20#include "v8/include/v8-forward.h"
21#include "v8/include/v8-persistent-handle.h"
32 CFXJSE_FormCalcContext(
v8::Isolate* pIsolate,
41 const v8::FunctionCallbackInfo<v8::Value>& info);
43 const v8::FunctionCallbackInfo<v8::Value>& info);
45 const v8::FunctionCallbackInfo<v8::Value>& info);
47 const v8::FunctionCallbackInfo<v8::Value>& info);
49 const v8::FunctionCallbackInfo<v8::Value>& info);
51 const v8::FunctionCallbackInfo<v8::Value>& info);
53 const v8::FunctionCallbackInfo<v8::Value>& info);
55 const v8::FunctionCallbackInfo<v8::Value>& info);
57 const v8::FunctionCallbackInfo<v8::Value>& info);
59 const v8::FunctionCallbackInfo<v8::Value>& info);
61 const v8::FunctionCallbackInfo<v8::Value>& info);
63 const v8::FunctionCallbackInfo<v8::Value>& info);
65 const v8::FunctionCallbackInfo<v8::Value>& info);
67 const v8::FunctionCallbackInfo<v8::Value>& info);
69 const v8::FunctionCallbackInfo<v8::Value>& info);
71 const v8::FunctionCallbackInfo<v8::Value>& info);
73 const v8::FunctionCallbackInfo<v8::Value>& info);
75 const v8::FunctionCallbackInfo<v8::Value>& info);
77 const v8::FunctionCallbackInfo<v8::Value>& info);
79 const v8::FunctionCallbackInfo<v8::Value>& info);
81 const v8::FunctionCallbackInfo<v8::Value>& info);
83 const v8::FunctionCallbackInfo<v8::Value>& info);
85 const v8::FunctionCallbackInfo<v8::Value>& info);
120 const v8::FunctionCallbackInfo<v8::Value>& info);
122 const v8::FunctionCallbackInfo<v8::Value>& info);
124 const v8::FunctionCallbackInfo<v8::Value>& info);
126 const v8::FunctionCallbackInfo<v8::Value>& info);
128 const v8::FunctionCallbackInfo<v8::Value>& info);
130 const v8::FunctionCallbackInfo<v8::Value>& info);
132 const v8::FunctionCallbackInfo<v8::Value>& info);
134 const v8::FunctionCallbackInfo<v8::Value>& info);
136 const v8::FunctionCallbackInfo<v8::Value>& info);
138 const v8::FunctionCallbackInfo<v8::Value>& info);
140 const v8::FunctionCallbackInfo<v8::Value>& info);
142 const v8::FunctionCallbackInfo<v8::Value>& info);
144 const v8::FunctionCallbackInfo<v8::Value>& info);
146 const v8::FunctionCallbackInfo<v8::Value>& info);
148 const v8::FunctionCallbackInfo<v8::Value>& info);
150 const v8::FunctionCallbackInfo<v8::Value>& info);
152 const v8::FunctionCallbackInfo<v8::Value>& info);
154 const v8::FunctionCallbackInfo<v8::Value>& info);
156 const v8::FunctionCallbackInfo<v8::Value>& info);
158 const v8::FunctionCallbackInfo<v8::Value>& info);
161 const v8::FunctionCallbackInfo<v8::Value>& info);
163 const v8::FunctionCallbackInfo<v8::Value>& info);
165 const v8::FunctionCallbackInfo<v8::Value>& info);
167 const v8::FunctionCallbackInfo<v8::Value>& info);
169 const v8::FunctionCallbackInfo<v8::Value>& info);
171 const v8::FunctionCallbackInfo<v8::Value>& info);
173 const v8::FunctionCallbackInfo<v8::Value>& info);
175 const v8::FunctionCallbackInfo<v8::Value>& info);
177 const v8::FunctionCallbackInfo<v8::Value>& info);
179 const v8::FunctionCallbackInfo<v8::Value>& info);
181 const v8::FunctionCallbackInfo<v8::Value>& info);
183 const v8::FunctionCallbackInfo<v8::Value>& info);
185 const v8::FunctionCallbackInfo<v8::Value>& info);
187 const v8::FunctionCallbackInfo<v8::Value>& info);
189 const v8::FunctionCallbackInfo<v8::Value>& info);
191 const v8::FunctionCallbackInfo<v8::Value>& info);
193 const v8::FunctionCallbackInfo<v8::Value>& info);
195 const v8::FunctionCallbackInfo<v8::Value>& info);
197 const v8::FunctionCallbackInfo<v8::Value>& info);
199 const v8::FunctionCallbackInfo<v8::Value>& info);
202 const v8::FunctionCallbackInfo<v8::Value>& info);
204 const v8::FunctionCallbackInfo<v8::Value>& info);
206 const v8::FunctionCallbackInfo<v8::Value>& info);
209 const v8::FunctionCallbackInfo<v8::Value>& info);
212 const v8::FunctionCallbackInfo<v8::Value>& info);
215 const v8::FunctionCallbackInfo<v8::Value>& info);
218 const v8::FunctionCallbackInfo<v8::Value>& info);
221 const v8::FunctionCallbackInfo<v8::Value>& info);
223 const v8::FunctionCallbackInfo<v8::Value>& info);
225 const v8::FunctionCallbackInfo<v8::Value>& info);
228 const v8::FunctionCallbackInfo<v8::Value>& info);
230 const v8::FunctionCallbackInfo<v8::Value>& info);
233 const v8::FunctionCallbackInfo<v8::Value>& info);
235 const v8::FunctionCallbackInfo<v8::Value>& info);
237 const v8::FunctionCallbackInfo<v8::Value>& info);
240 const v8::FunctionCallbackInfo<v8::Value>& info);
242 const v8::FunctionCallbackInfo<v8::Value>& info);
245 const v8::FunctionCallbackInfo<v8::Value>& info);
248 const v8::FunctionCallbackInfo<v8::Value>& info);
251 const v8::FunctionCallbackInfo<v8::Value>& info);
253 const v8::FunctionCallbackInfo<v8::Value>& info);
255 const v8::FunctionCallbackInfo<v8::Value>& info);
257 const v8::FunctionCallbackInfo<v8::Value>& info);
259 const v8::FunctionCallbackInfo<v8::Value>& info);
261 const v8::FunctionCallbackInfo<v8::Value>& info);
263 const v8::FunctionCallbackInfo<v8::Value>& info);
265 const v8::FunctionCallbackInfo<v8::Value>& info);
267 const v8::FunctionCallbackInfo<v8::Value>& info);
269 const v8::FunctionCallbackInfo<v8::Value>& info);
279 friend class FormCalcContextTest_GenerateSomExpression_Test;
280 friend class FormCalcContextTest_IsIsoDateFormat_Test;
281 friend class FormCalcContextTest_IsIsoTimeFormat_Test;
289 const v8::FunctionCallbackInfo<v8::Value>& info,
306 bool ApplyToExpansion(
307 std::function<
void(
v8::Isolate*, v8::Local<v8::Value>)> fn,
308 const v8::FunctionCallbackInfo<v8::Value>& info,
311 bool ApplyToArray(
v8::Isolate* pIsolate,
312 std::function<
void(
v8::Isolate*, v8::Local<v8::Value>)> fn,
313 v8::Local<v8::Array> pArray);
315 void ApplyToObject(
v8::Isolate* pIsolate,
316 std::function<
void(
v8::Isolate*, v8::Local<v8::Value>)> fn,
317 v8::Local<v8::Object> pObject);
319 void ThrowArgumentMismatchException()
const;
321 void ThrowCompilerErrorException()
const;
322 void ThrowDivideByZeroException()
const;
323 void ThrowServerDeniedException()
const;
326 void ThrowParamCountMismatchException(
ByteStringView method)
const;
330 v8::Global<v8::Value> m_Value;
331 cppgc::WeakPersistent<CXFA_Document>
const m_pDocument;
fxcrt::ByteString ByteString
const FXJSE_CLASS_DESCRIPTOR kNormalClassDescriptor
const FXJSE_CLASS_DESCRIPTOR kGlobalClassDescriptor
const FXJSE_CLASS_DESCRIPTOR kVariablesClassDescriptor
EventParamScope(CFXJSE_Engine *pEngine, CXFA_Node *pTarget, CXFA_EventParam *pEventParam)
ResolveResult & operator=(const ResolveResult &that)
XFA_SCRIPTATTRIBUTEINFO script_attribute
ResolveResult(const ResolveResult &that)
void SetRunAtType(XFA_AttributeValue eRunAt)
static CJS_Result NormalMethodCall(const v8::FunctionCallbackInfo< v8::Value > &info, const WideString &functionName)
bool IsResolvingNodes() const
CXFA_Object * ToXFAObject(v8::Local< v8::Value > obj)
CXFA_Node * GetEventTarget() const
static v8::Local< v8::Value > NormalPropertyGetter(v8::Isolate *pIsolate, v8::Local< v8::Object > pObject, ByteStringView szPropName)
static void GlobalPropertySetter(v8::Isolate *pIsolate, v8::Local< v8::Object > pObject, ByteStringView szPropName, v8::Local< v8::Value > pValue)
CFXJSE_Engine(CXFA_Document *pDocument, CJS_Runtime *fxjs_runtime)
static FXJSE_ClassPropType GlobalPropTypeGetter(v8::Isolate *pIsolate, v8::Local< v8::Object > pObject, ByteStringView szPropName, bool bQueryIn)
std::optional< ResolveResult > ResolveObjectsWithBindNode(CXFA_Object *refObject, WideStringView wsExpression, Mask< XFA_ResolveFlag > dwStyles, CXFA_Node *bindNode)
CXFA_EventParam * GetEventParam() const
static CXFA_Object * ToObject(const v8::FunctionCallbackInfo< v8::Value > &info)
CXFA_Object * GetThisObject() const
CXFA_Script::Type GetType()
CFXJSE_Class * GetJseNormalClass() const
void AddNodesOfRunScript(CXFA_Node *pNode)
void SetNodesOfRunScript(std::vector< cppgc::Persistent< CXFA_Node > > *pArray)
static v8::Local< v8::Value > GlobalPropertyGetter(v8::Isolate *pIsolate, v8::Local< v8::Object > pObject, ByteStringView szPropName)
friend class EventParamScope
static FXJSE_ClassPropType NormalPropTypeGetter(v8::Isolate *pIsolate, v8::Local< v8::Object > pObject, ByteStringView szPropName, bool bQueryIn)
static CXFA_Object * ToObject(v8::Isolate *pIsolate, CFXJSE_Value *pValue)
CFXJSE_Context * GetJseContextForTest() const
std::optional< ResolveResult > ResolveObjects(CXFA_Object *refObject, WideStringView wsExpression, Mask< XFA_ResolveFlag > dwStyles)
v8::Local< v8::Object > NewNormalXFAObject(CXFA_Object *obj)
CFXJSE_Context::ExecutionResult RunScript(CXFA_Script::Type eScriptType, WideStringView wsScript, CXFA_Object *pThisObject)
static void NormalPropertySetter(v8::Isolate *pIsolate, v8::Local< v8::Object > pObject, ByteStringView szPropName, v8::Local< v8::Value > pValue)
CXFA_Node * LastObjectFromUpArray()
~CFXJSE_Engine() override
static CXFA_Object * ToObject(v8::Isolate *pIsolate, v8::Local< v8::Value > value)
static CXFA_Object * ToObject(CFXJSE_HostObject *pHostObj)
CXFA_Document * GetDocument() const
void AddObjectToUpArray(CXFA_Node *pNode)
v8::Local< v8::Object > GetOrCreateJSBindingFromMap(CXFA_Object *pObject)
v8::Local< v8::Value > GlobalPropertyGetter()
static void Space(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void CTerm(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void Put(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void get_fm_value(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void Pmt(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static ByteString Local2IsoDate(CFXJSE_HostObject *pThis, ByteStringView bsDate, ByteStringView bsFormat, ByteStringView bsLocale)
static void IPmt(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void UnitValue(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void TimeFmt(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void greater_operator(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void Uuid(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void Lower(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void Len(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void LocalDateFmt(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void Encode(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static ByteString Num2AllTime(CFXJSE_HostObject *pThis, int32_t iTime, ByteStringView bsFormat, ByteStringView bsLocale, bool bGM)
CXFA_Document * GetDocument() const
static void At(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static ByteString GetStandardTimeFormat(CFXJSE_HostObject *pThis, int32_t iStyle, ByteStringView bsLocale)
static bool fm_ref_equal(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void Round(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void Num2Time(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void less_operator(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
v8::Isolate * GetIsolate() const
static void Time2Num(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void Mod(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void Concat(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void is_fm_array(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void Rate(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void Sum(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void is_fm_object(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void Replace(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static ByteString GetStandardDateFormat(CFXJSE_HostObject *pThis, int32_t iStyle, ByteStringView bsLocale)
static void logical_or_operator(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
CFXJSE_FormCalcContext * AsFormCalcContext() override
static void Decode(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void equality_operator(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void concat_fm_object(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void NPV(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void positive_operator(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void UnitType(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void DateFmt(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void Format(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void Num2GMTime(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void Rtrim(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void greaterequal_operator(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void Max(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void PV(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void multiple_operator(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void negative_operator(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static ByteString GetLocalDateFormat(CFXJSE_HostObject *pThis, int32_t iStyle, ByteStringView bsLocale, bool bStandard)
static void Within(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void lessequal_operator(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
~CFXJSE_FormCalcContext() override
static void Exists(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void Ceil(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void Right(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void logical_not_operator(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void Get(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void IsoTime2Num(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void Apr(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void Ref(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void Ltrim(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void Eval(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void divide_operator(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void Abs(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void Date2Num(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void HasValue(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void If(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void Date(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void WordNum(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void FV(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void Stuff(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void assign_value_operator(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void fm_var_filter(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void logical_and_operator(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void notequality_operator(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void Str(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void minus_operator(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void dotdot_accessor(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void Choose(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void Oneof(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void Post(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void Count(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void get_fm_jsobj(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static std::optional< WideTextBuffer > Translate(cppgc::Heap *pHeap, WideStringView wsFormcalc)
static void Time(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void Avg(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void dot_accessor(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static ByteString GetLocalTimeFormat(CFXJSE_HostObject *pThis, int32_t iStyle, ByteStringView bsLocale, bool bStandard)
static void IsoDate2Num(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void Num2Date(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void Parse(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static ByteString IsoDate2Local(CFXJSE_HostObject *pThis, ByteStringView bsDate, ByteStringView bsFormat, ByteStringView bsLocale)
static void Left(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void plus_operator(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void Upper(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void Substr(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static ByteString IsoTime2Local(CFXJSE_HostObject *pThis, ByteStringView bsTime, ByteStringView bsFormat, ByteStringView bsLocale)
static void PPmt(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void LocalTimeFmt(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void Min(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void eval_translation(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void Term(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
static void Floor(CFXJSE_HostObject *pThis, const v8::FunctionCallbackInfo< v8::Value > &info)
virtual CJX_Object * AsCJXObject()
CFXJSE_Engine::ResolveResult m_Result
CFXJSE_ScopeUtil_IsolateHandleContext(CFXJSE_Context *pContext)
bool HasMethod(const WideString &func) const
CXFA_Object * GetXFAObject() const
CXFA_FFNotify * GetNotify() const
CFXJSE_Engine * GetScriptContext() const
CXFA_Object * GetXFAObject(XFA_HashCode wsNodeNameHash)
CXFA_Node * GetRoot() const
IJS_Runtime * GetIJSRuntime() const
CXFA_FFDoc * GetFFDoc() const
XFA_Element GetElementType() const
CXFA_Document * GetDocument() const
static CXFA_Script * FromNode(CXFA_Node *pNode)
XFA_AttributeValue GetRunAt()
WideString GetExpression()
CXFA_Script * GetScriptNode() const
CXFA_Node * GetThisNode() const
static CXFA_Variables * FromNode(CXFA_Node *pNode)
static WideString FromUTF8(ByteStringView str)
static WideString FromASCII(ByteStringView str)
bool EqualsASCII(ByteStringView that) const
CXFA_ThisProxy * ToThisProxy(CXFA_Object *pObj)
CXFA_Node * ToNode(CXFA_Object *pObj)
#define CONSTRUCT_VIA_MAKE_GARBAGE_COLLECTED
bool IsUndefined(v8::Local< v8::Value > value)
fxcrt::ByteStringView ByteStringView
fxcrt::WideStringView WideStringView
XFA_ScriptType eValueType
XFA_PacketSupport support
XFA_PacketType packet_type
XFA_ScriptType eValueType
XFA_ATTRIBUTE_CALLBACK callback
fxcrt::WideString WideString
XFA_Element XFA_GetElementByName(WideStringView name)
ByteStringView XFA_AttributeValueToName(XFA_AttributeValue item)
std::optional< XFA_SCRIPTATTRIBUTEINFO > XFA_GetScriptAttributeByName(XFA_Element eElement, WideStringView wsAttributeName)
std::optional< XFA_PACKETINFO > XFA_GetPacketByName(WideStringView wsName)
ByteStringView XFA_ElementToName(XFA_Element elem)
std::optional< XFA_AttributeValue > XFA_GetAttributeValueByName(WideStringView name)
void(*)(v8::Isolate *pIsolate, CJX_Object *pNode, v8::Local< v8::Value > *pValue, bool bSetting, XFA_Attribute eAttribute) XFA_ATTRIBUTE_CALLBACK
XFA_PACKETINFO XFA_GetPacketByIndex(XFA_PacketType ePacket)
ByteStringView XFA_AttributeToName(XFA_Attribute attr)
std::optional< XFA_ATTRIBUTEINFO > XFA_GetAttributeByName(WideStringView name)