Let CJX_Object subclasses communicate typename to jse_define.h macros. Remove some redundant naming in these macro invocations by introducing a Type__ definition once in each class. In the future, properties are going to need this information just like methods, so avoid having to add hundreds of repeated names then. Change-Id: I32dcfea32e0a093b217056f558dc5b250440f780 Reviewed-on: https://pdfium-review.googlesource.com/c/48533 Commit-Queue: Tom Sepez <tsepez@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org>
diff --git a/fxjs/xfa/cjx_boolean.h b/fxjs/xfa/cjx_boolean.h index 0945913..8e90d62 100644 --- a/fxjs/xfa/cjx_boolean.h +++ b/fxjs/xfa/cjx_boolean.h
@@ -19,6 +19,9 @@ JSE_PROP(defaultValue); /* {default} */ JSE_PROP(value); + + private: + using Type__ = CJX_Boolean; }; #endif // FXJS_XFA_CJX_BOOLEAN_H_
diff --git a/fxjs/xfa/cjx_comb.h b/fxjs/xfa/cjx_comb.h index f1e0f3d..b5140ec 100644 --- a/fxjs/xfa/cjx_comb.h +++ b/fxjs/xfa/cjx_comb.h
@@ -18,6 +18,9 @@ ~CJX_Comb() override; JSE_PROP(numberOfCells); + + private: + using Type__ = CJX_Comb; }; #endif // FXJS_XFA_CJX_COMB_H_
diff --git a/fxjs/xfa/cjx_container.h b/fxjs/xfa/cjx_container.h index 7bc6b0e..914056a 100644 --- a/fxjs/xfa/cjx_container.h +++ b/fxjs/xfa/cjx_container.h
@@ -17,10 +17,12 @@ explicit CJX_Container(CXFA_Node* node); ~CJX_Container() override; - JSE_METHOD(getDelta, CJX_Container); - JSE_METHOD(getDeltas, CJX_Container); + JSE_METHOD(getDelta); + JSE_METHOD(getDeltas); private: + using Type__ = CJX_Container; + static const CJX_MethodSpec MethodSpecs[]; };
diff --git a/fxjs/xfa/cjx_datavalue.h b/fxjs/xfa/cjx_datavalue.h index a6f4474..6c48d93 100644 --- a/fxjs/xfa/cjx_datavalue.h +++ b/fxjs/xfa/cjx_datavalue.h
@@ -20,6 +20,9 @@ JSE_PROP(defaultValue); /* {default} */ JSE_PROP(isNull); JSE_PROP(value); + + private: + using Type__ = CJX_DataValue; }; #endif // FXJS_XFA_CJX_DATAVALUE_H_
diff --git a/fxjs/xfa/cjx_datawindow.h b/fxjs/xfa/cjx_datawindow.h index 48cce93..75146ac 100644 --- a/fxjs/xfa/cjx_datawindow.h +++ b/fxjs/xfa/cjx_datawindow.h
@@ -19,10 +19,10 @@ explicit CJX_DataWindow(CScript_DataWindow* window); ~CJX_DataWindow() override; - JSE_METHOD(gotoRecord, CJX_DataWindow); - JSE_METHOD(isRecordGroup, CJX_DataWindow); - JSE_METHOD(moveCurrentRecord, CJX_DataWindow); - JSE_METHOD(record, CJX_DataWindow); + JSE_METHOD(gotoRecord); + JSE_METHOD(isRecordGroup); + JSE_METHOD(moveCurrentRecord); + JSE_METHOD(record); JSE_PROP(currentRecordNumber); JSE_PROP(isDefined); @@ -30,6 +30,8 @@ JSE_PROP(recordsBefore); private: + using Type__ = CJX_DataWindow; + static const CJX_MethodSpec MethodSpecs[]; };
diff --git a/fxjs/xfa/cjx_date.h b/fxjs/xfa/cjx_date.h index 5a65620..52c4349 100644 --- a/fxjs/xfa/cjx_date.h +++ b/fxjs/xfa/cjx_date.h
@@ -19,6 +19,9 @@ JSE_PROP(defaultValue); /* {default} */ JSE_PROP(value); + + private: + using Type__ = CJX_Date; }; #endif // FXJS_XFA_CJX_DATE_H_
diff --git a/fxjs/xfa/cjx_datetime.h b/fxjs/xfa/cjx_datetime.h index 8f508a1..df22909 100644 --- a/fxjs/xfa/cjx_datetime.h +++ b/fxjs/xfa/cjx_datetime.h
@@ -19,6 +19,9 @@ JSE_PROP(defaultValue); /* {default} */ JSE_PROP(value); + + private: + using Type__ = CJX_DateTime; }; #endif // FXJS_XFA_CJX_DATETIME_H_
diff --git a/fxjs/xfa/cjx_decimal.h b/fxjs/xfa/cjx_decimal.h index e8f8af7..8330a0e 100644 --- a/fxjs/xfa/cjx_decimal.h +++ b/fxjs/xfa/cjx_decimal.h
@@ -19,6 +19,9 @@ JSE_PROP(defaultValue); /* {default} */ JSE_PROP(value); + + private: + using Type__ = CJX_Decimal; }; #endif // FXJS_XFA_CJX_DECIMAL_H_
diff --git a/fxjs/xfa/cjx_delta.h b/fxjs/xfa/cjx_delta.h index 971774b..0a358fd 100644 --- a/fxjs/xfa/cjx_delta.h +++ b/fxjs/xfa/cjx_delta.h
@@ -17,13 +17,15 @@ explicit CJX_Delta(CXFA_Delta* delta); ~CJX_Delta() override; - JSE_METHOD(restore, CJX_Delta); + JSE_METHOD(restore); JSE_PROP(currentValue); JSE_PROP(savedValue); JSE_PROP(target); private: + using Type__ = CJX_Delta; + static const CJX_MethodSpec MethodSpecs[]; };
diff --git a/fxjs/xfa/cjx_desc.h b/fxjs/xfa/cjx_desc.h index 99c78d8..1e71f65 100644 --- a/fxjs/xfa/cjx_desc.h +++ b/fxjs/xfa/cjx_desc.h
@@ -17,9 +17,11 @@ explicit CJX_Desc(CXFA_Desc* desc); ~CJX_Desc() override; - JSE_METHOD(metadata, CJX_Desc); + JSE_METHOD(metadata); private: + using Type__ = CJX_Desc; + static const CJX_MethodSpec MethodSpecs[]; };
diff --git a/fxjs/xfa/cjx_draw.h b/fxjs/xfa/cjx_draw.h index 099b449..134a1a0 100644 --- a/fxjs/xfa/cjx_draw.h +++ b/fxjs/xfa/cjx_draw.h
@@ -19,6 +19,9 @@ JSE_PROP(defaultValue); /* {default} */ JSE_PROP(rawValue); + + private: + using Type__ = CJX_Draw; }; #endif // FXJS_XFA_CJX_DRAW_H_
diff --git a/fxjs/xfa/cjx_encrypt.h b/fxjs/xfa/cjx_encrypt.h index 2d34eca..1bf4fe9 100644 --- a/fxjs/xfa/cjx_encrypt.h +++ b/fxjs/xfa/cjx_encrypt.h
@@ -18,6 +18,9 @@ ~CJX_Encrypt() override; JSE_PROP(format); + + private: + using Type__ = CJX_Encrypt; }; #endif // FXJS_XFA_CJX_ENCRYPT_H_
diff --git a/fxjs/xfa/cjx_eventpseudomodel.h b/fxjs/xfa/cjx_eventpseudomodel.h index 31d7dbe..6d13018 100644 --- a/fxjs/xfa/cjx_eventpseudomodel.h +++ b/fxjs/xfa/cjx_eventpseudomodel.h
@@ -38,8 +38,8 @@ explicit CJX_EventPseudoModel(CScript_EventPseudoModel* model); ~CJX_EventPseudoModel() override; - JSE_METHOD(emit, CJX_EventPseudoModel); - JSE_METHOD(reset, CJX_EventPseudoModel); + JSE_METHOD(emit); + JSE_METHOD(reset); JSE_PROP(cancelAction); JSE_PROP(change); @@ -60,6 +60,8 @@ JSE_PROP(target); private: + using Type__ = CJX_EventPseudoModel; + void Property(CFXJSE_Value* pValue, XFA_Event dwFlag, bool bSetting); static const CJX_MethodSpec MethodSpecs[];
diff --git a/fxjs/xfa/cjx_exclgroup.h b/fxjs/xfa/cjx_exclgroup.h index f03e399..f57fa86 100644 --- a/fxjs/xfa/cjx_exclgroup.h +++ b/fxjs/xfa/cjx_exclgroup.h
@@ -17,11 +17,11 @@ explicit CJX_ExclGroup(CXFA_ExclGroup* group); ~CJX_ExclGroup() override; - JSE_METHOD(execCalculate, CJX_ExclGroup); - JSE_METHOD(execEvent, CJX_ExclGroup); - JSE_METHOD(execInitialize, CJX_ExclGroup); - JSE_METHOD(execValidate, CJX_ExclGroup); - JSE_METHOD(selectedMember, CJX_ExclGroup); + JSE_METHOD(execCalculate); + JSE_METHOD(execEvent); + JSE_METHOD(execInitialize); + JSE_METHOD(execValidate); + JSE_METHOD(selectedMember); JSE_PROP(defaultValue); /* {default} */ JSE_PROP(borderColor); @@ -34,6 +34,8 @@ JSE_PROP(validationMessage); private: + using Type__ = CJX_ExclGroup; + static const CJX_MethodSpec MethodSpecs[]; };
diff --git a/fxjs/xfa/cjx_exdata.h b/fxjs/xfa/cjx_exdata.h index 42b49f6..86d9219 100644 --- a/fxjs/xfa/cjx_exdata.h +++ b/fxjs/xfa/cjx_exdata.h
@@ -18,6 +18,9 @@ ~CJX_ExData() override; JSE_PROP(defaultValue); /* {default} */ + + private: + using Type__ = CJX_ExData; }; #endif // FXJS_XFA_CJX_EXDATA_H_
diff --git a/fxjs/xfa/cjx_extras.h b/fxjs/xfa/cjx_extras.h index e6e2dc1..420bfe4 100644 --- a/fxjs/xfa/cjx_extras.h +++ b/fxjs/xfa/cjx_extras.h
@@ -18,6 +18,9 @@ ~CJX_Extras() override; JSE_PROP(type); + + private: + using Type__ = CJX_Extras; }; #endif // FXJS_XFA_CJX_EXTRAS_H_
diff --git a/fxjs/xfa/cjx_field.h b/fxjs/xfa/cjx_field.h index fa68495..72ded92 100644 --- a/fxjs/xfa/cjx_field.h +++ b/fxjs/xfa/cjx_field.h
@@ -17,18 +17,18 @@ explicit CJX_Field(CXFA_Field* field); ~CJX_Field() override; - JSE_METHOD(addItem, CJX_Field); - JSE_METHOD(boundItem, CJX_Field); - JSE_METHOD(clearItems, CJX_Field); - JSE_METHOD(deleteItem, CJX_Field); - JSE_METHOD(execCalculate, CJX_Field); - JSE_METHOD(execEvent, CJX_Field); - JSE_METHOD(execInitialize, CJX_Field); - JSE_METHOD(execValidate, CJX_Field); - JSE_METHOD(getDisplayItem, CJX_Field); - JSE_METHOD(getItemState, CJX_Field); - JSE_METHOD(getSaveItem, CJX_Field); - JSE_METHOD(setItemState, CJX_Field); + JSE_METHOD(addItem); + JSE_METHOD(boundItem); + JSE_METHOD(clearItems); + JSE_METHOD(deleteItem); + JSE_METHOD(execCalculate); + JSE_METHOD(execEvent); + JSE_METHOD(execInitialize); + JSE_METHOD(execValidate); + JSE_METHOD(getDisplayItem); + JSE_METHOD(getItemState); + JSE_METHOD(getSaveItem); + JSE_METHOD(setItemState); JSE_PROP(defaultValue); /* {default} */ JSE_PROP(borderColor); @@ -46,6 +46,8 @@ JSE_PROP(validationMessage); private: + using Type__ = CJX_Field; + static const CJX_MethodSpec MethodSpecs[]; };
diff --git a/fxjs/xfa/cjx_float.h b/fxjs/xfa/cjx_float.h index bd0a10b..c964339 100644 --- a/fxjs/xfa/cjx_float.h +++ b/fxjs/xfa/cjx_float.h
@@ -19,6 +19,9 @@ JSE_PROP(defaultValue); /* {default} */ JSE_PROP(value); + + private: + using Type__ = CJX_Float; }; #endif // FXJS_XFA_CJX_FLOAT_H_
diff --git a/fxjs/xfa/cjx_form.h b/fxjs/xfa/cjx_form.h index 9558ad5..f477a1c 100644 --- a/fxjs/xfa/cjx_form.h +++ b/fxjs/xfa/cjx_form.h
@@ -17,14 +17,16 @@ explicit CJX_Form(CXFA_Form* form); ~CJX_Form() override; - JSE_METHOD(execCalculate, CJX_Form); - JSE_METHOD(execInitialize, CJX_Form); - JSE_METHOD(execValidate, CJX_Form); - JSE_METHOD(formNodes, CJX_Form); - JSE_METHOD(recalculate, CJX_Form); - JSE_METHOD(remerge, CJX_Form); + JSE_METHOD(execCalculate); + JSE_METHOD(execInitialize); + JSE_METHOD(execValidate); + JSE_METHOD(formNodes); + JSE_METHOD(recalculate); + JSE_METHOD(remerge); private: + using Type__ = CJX_Form; + static const CJX_MethodSpec MethodSpecs[]; };
diff --git a/fxjs/xfa/cjx_handler.h b/fxjs/xfa/cjx_handler.h index 55357c7..a5ad537 100644 --- a/fxjs/xfa/cjx_handler.h +++ b/fxjs/xfa/cjx_handler.h
@@ -18,6 +18,9 @@ ~CJX_Handler() override; JSE_PROP(version); + + private: + using Type__ = CJX_Handler; }; #endif // FXJS_XFA_CJX_HANDLER_H_
diff --git a/fxjs/xfa/cjx_hostpseudomodel.h b/fxjs/xfa/cjx_hostpseudomodel.h index 92b20f8..956a2fa 100644 --- a/fxjs/xfa/cjx_hostpseudomodel.h +++ b/fxjs/xfa/cjx_hostpseudomodel.h
@@ -19,21 +19,21 @@ explicit CJX_HostPseudoModel(CScript_HostPseudoModel* model); ~CJX_HostPseudoModel() override; - JSE_METHOD(beep, CJX_HostPseudoModel); - JSE_METHOD(documentCountInBatch, CJX_HostPseudoModel); - JSE_METHOD(documentInBatch, CJX_HostPseudoModel); - JSE_METHOD(exportData, CJX_HostPseudoModel); - JSE_METHOD(getFocus, CJX_HostPseudoModel); - JSE_METHOD(gotoURL, CJX_HostPseudoModel); - JSE_METHOD(importData, CJX_HostPseudoModel); - JSE_METHOD(messageBox, CJX_HostPseudoModel); - JSE_METHOD(openList, CJX_HostPseudoModel); - JSE_METHOD(pageDown, CJX_HostPseudoModel); - JSE_METHOD(pageUp, CJX_HostPseudoModel); - JSE_METHOD(print, CJX_HostPseudoModel); - JSE_METHOD(resetData, CJX_HostPseudoModel); - JSE_METHOD(response, CJX_HostPseudoModel); - JSE_METHOD(setFocus, CJX_HostPseudoModel); + JSE_METHOD(beep); + JSE_METHOD(documentCountInBatch); + JSE_METHOD(documentInBatch); + JSE_METHOD(exportData); + JSE_METHOD(getFocus); + JSE_METHOD(gotoURL); + JSE_METHOD(importData); + JSE_METHOD(messageBox); + JSE_METHOD(openList); + JSE_METHOD(pageDown); + JSE_METHOD(pageUp); + JSE_METHOD(print); + JSE_METHOD(resetData); + JSE_METHOD(response); + JSE_METHOD(setFocus); JSE_PROP(appType); JSE_PROP(calculationsEnabled); @@ -51,6 +51,8 @@ JSE_PROP(name); private: + using Type__ = CJX_HostPseudoModel; + static const CJX_MethodSpec MethodSpecs[]; };
diff --git a/fxjs/xfa/cjx_image.h b/fxjs/xfa/cjx_image.h index 298f123..fa0aa8d 100644 --- a/fxjs/xfa/cjx_image.h +++ b/fxjs/xfa/cjx_image.h
@@ -19,6 +19,9 @@ JSE_PROP(defaultValue); /* {default} */ JSE_PROP(value); + + private: + using Type__ = CJX_Image; }; #endif // FXJS_XFA_CJX_IMAGE_H_
diff --git a/fxjs/xfa/cjx_instancemanager.h b/fxjs/xfa/cjx_instancemanager.h index 9881f60..5568232 100644 --- a/fxjs/xfa/cjx_instancemanager.h +++ b/fxjs/xfa/cjx_instancemanager.h
@@ -17,11 +17,11 @@ explicit CJX_InstanceManager(CXFA_InstanceManager* mgr); ~CJX_InstanceManager() override; - JSE_METHOD(addInstance, CJX_InstanceManager); - JSE_METHOD(insertInstance, CJX_InstanceManager); - JSE_METHOD(moveInstance, CJX_InstanceManager); - JSE_METHOD(removeInstance, CJX_InstanceManager); - JSE_METHOD(setInstances, CJX_InstanceManager); + JSE_METHOD(addInstance); + JSE_METHOD(insertInstance); + JSE_METHOD(moveInstance); + JSE_METHOD(removeInstance); + JSE_METHOD(setInstances); JSE_PROP(count); JSE_PROP(max); @@ -30,6 +30,8 @@ int32_t MoveInstance(int32_t iTo, int32_t iFrom); private: + using Type__ = CJX_InstanceManager; + int32_t SetInstances(int32_t iDesired); static const CJX_MethodSpec MethodSpecs[];
diff --git a/fxjs/xfa/cjx_integer.h b/fxjs/xfa/cjx_integer.h index c647fb3..608c8fd 100644 --- a/fxjs/xfa/cjx_integer.h +++ b/fxjs/xfa/cjx_integer.h
@@ -19,6 +19,9 @@ JSE_PROP(defaultValue); /* {default} */ JSE_PROP(value); + + private: + using Type__ = CJX_Integer; }; #endif // FXJS_XFA_CJX_INTEGER_H_
diff --git a/fxjs/xfa/cjx_layoutpseudomodel.h b/fxjs/xfa/cjx_layoutpseudomodel.h index 9bd74bf..cf2850f 100644 --- a/fxjs/xfa/cjx_layoutpseudomodel.h +++ b/fxjs/xfa/cjx_layoutpseudomodel.h
@@ -29,29 +29,31 @@ explicit CJX_LayoutPseudoModel(CScript_LayoutPseudoModel* model); ~CJX_LayoutPseudoModel() override; - JSE_METHOD(absPage, CJX_LayoutPseudoModel); - JSE_METHOD(absPageCount, CJX_LayoutPseudoModel); - JSE_METHOD(absPageCountInBatch, CJX_LayoutPseudoModel); - JSE_METHOD(absPageInBatch, CJX_LayoutPseudoModel); - JSE_METHOD(absPageSpan, CJX_LayoutPseudoModel); - JSE_METHOD(h, CJX_LayoutPseudoModel); - JSE_METHOD(page, CJX_LayoutPseudoModel); - JSE_METHOD(pageContent, CJX_LayoutPseudoModel); - JSE_METHOD(pageCount, CJX_LayoutPseudoModel); - JSE_METHOD(pageSpan, CJX_LayoutPseudoModel); - JSE_METHOD(relayout, CJX_LayoutPseudoModel); - JSE_METHOD(relayoutPageArea, CJX_LayoutPseudoModel); - JSE_METHOD(sheet, CJX_LayoutPseudoModel); - JSE_METHOD(sheetCount, CJX_LayoutPseudoModel); - JSE_METHOD(sheetCountInBatch, CJX_LayoutPseudoModel); - JSE_METHOD(sheetInBatch, CJX_LayoutPseudoModel); - JSE_METHOD(w, CJX_LayoutPseudoModel); - JSE_METHOD(x, CJX_LayoutPseudoModel); - JSE_METHOD(y, CJX_LayoutPseudoModel); + JSE_METHOD(absPage); + JSE_METHOD(absPageCount); + JSE_METHOD(absPageCountInBatch); + JSE_METHOD(absPageInBatch); + JSE_METHOD(absPageSpan); + JSE_METHOD(h); + JSE_METHOD(page); + JSE_METHOD(pageContent); + JSE_METHOD(pageCount); + JSE_METHOD(pageSpan); + JSE_METHOD(relayout); + JSE_METHOD(relayoutPageArea); + JSE_METHOD(sheet); + JSE_METHOD(sheetCount); + JSE_METHOD(sheetCountInBatch); + JSE_METHOD(sheetInBatch); + JSE_METHOD(w); + JSE_METHOD(x); + JSE_METHOD(y); JSE_PROP(ready); private: + using Type__ = CJX_LayoutPseudoModel; + CJS_Result NumberedPageCount(CFX_V8* runtime, bool bNumbered); CJS_Result HWXY(CFX_V8* runtime, const std::vector<v8::Local<v8::Value>>& params,
diff --git a/fxjs/xfa/cjx_list.h b/fxjs/xfa/cjx_list.h index 8f2e39e..c0cfecd 100644 --- a/fxjs/xfa/cjx_list.h +++ b/fxjs/xfa/cjx_list.h
@@ -17,14 +17,16 @@ explicit CJX_List(CXFA_List* list); ~CJX_List() override; - JSE_METHOD(append, CJX_List); - JSE_METHOD(insert, CJX_List); - JSE_METHOD(item, CJX_List); - JSE_METHOD(remove, CJX_List); + JSE_METHOD(append); + JSE_METHOD(insert); + JSE_METHOD(item); + JSE_METHOD(remove); JSE_PROP(length); private: + using Type__ = CJX_List; + CXFA_List* GetXFAList(); static const CJX_MethodSpec MethodSpecs[];
diff --git a/fxjs/xfa/cjx_logpseudomodel.h b/fxjs/xfa/cjx_logpseudomodel.h index 4e9cb35..876917e 100644 --- a/fxjs/xfa/cjx_logpseudomodel.h +++ b/fxjs/xfa/cjx_logpseudomodel.h
@@ -19,13 +19,15 @@ explicit CJX_LogPseudoModel(CScript_LogPseudoModel* model); ~CJX_LogPseudoModel() override; - JSE_METHOD(message, CJX_LogPseudoModel); - JSE_METHOD(traceEnabled, CJX_LogPseudoModel); - JSE_METHOD(traceActivate, CJX_LogPseudoModel); - JSE_METHOD(traceDeactivate, CJX_LogPseudoModel); - JSE_METHOD(trace, CJX_LogPseudoModel); + JSE_METHOD(message); + JSE_METHOD(traceEnabled); + JSE_METHOD(traceActivate); + JSE_METHOD(traceDeactivate); + JSE_METHOD(trace); private: + using Type__ = CJX_LogPseudoModel; + static const CJX_MethodSpec MethodSpecs[]; };
diff --git a/fxjs/xfa/cjx_manifest.h b/fxjs/xfa/cjx_manifest.h index b60911f..2d81576 100644 --- a/fxjs/xfa/cjx_manifest.h +++ b/fxjs/xfa/cjx_manifest.h
@@ -17,11 +17,13 @@ explicit CJX_Manifest(CXFA_Manifest* manifest); ~CJX_Manifest() override; - JSE_METHOD(evaluate, CJX_Manifest); + JSE_METHOD(evaluate); JSE_PROP(defaultValue); /* {default} */ private: + using Type__ = CJX_Manifest; + static const CJX_MethodSpec MethodSpecs[]; };
diff --git a/fxjs/xfa/cjx_model.h b/fxjs/xfa/cjx_model.h index c2f2f7c..b6b92f3 100644 --- a/fxjs/xfa/cjx_model.h +++ b/fxjs/xfa/cjx_model.h
@@ -17,14 +17,16 @@ explicit CJX_Model(CXFA_Node* obj); ~CJX_Model() override; - JSE_METHOD(clearErrorList, CJX_Model); - JSE_METHOD(createNode, CJX_Model); - JSE_METHOD(isCompatibleNS, CJX_Model); + JSE_METHOD(clearErrorList); + JSE_METHOD(createNode); + JSE_METHOD(isCompatibleNS); JSE_PROP(aliasNode); JSE_PROP(context); private: + using Type__ = CJX_Model; + static const CJX_MethodSpec MethodSpecs[]; };
diff --git a/fxjs/xfa/cjx_node.h b/fxjs/xfa/cjx_node.h index dc4ba0b..d26e7a0 100644 --- a/fxjs/xfa/cjx_node.h +++ b/fxjs/xfa/cjx_node.h
@@ -18,17 +18,17 @@ explicit CJX_Node(CXFA_Node* node); ~CJX_Node() override; - JSE_METHOD(applyXSL, CJX_Node); - JSE_METHOD(assignNode, CJX_Node); - JSE_METHOD(clone, CJX_Node); - JSE_METHOD(getAttribute, CJX_Node); - JSE_METHOD(getElement, CJX_Node); - JSE_METHOD(isPropertySpecified, CJX_Node); - JSE_METHOD(loadXML, CJX_Node); - JSE_METHOD(saveFilteredXML, CJX_Node); - JSE_METHOD(saveXML, CJX_Node); - JSE_METHOD(setAttribute, CJX_Node); - JSE_METHOD(setElement, CJX_Node); + JSE_METHOD(applyXSL); + JSE_METHOD(assignNode); + JSE_METHOD(clone); + JSE_METHOD(getAttribute); + JSE_METHOD(getElement); + JSE_METHOD(isPropertySpecified); + JSE_METHOD(loadXML); + JSE_METHOD(saveFilteredXML); + JSE_METHOD(saveXML); + JSE_METHOD(setAttribute); + JSE_METHOD(setElement); JSE_PROP(isContainer); JSE_PROP(isNull); @@ -42,6 +42,8 @@ int32_t execSingleEventByName(WideStringView wsEventName, XFA_Element eType); private: + using Type__ = CJX_Node; + static const CJX_MethodSpec MethodSpecs[]; };
diff --git a/fxjs/xfa/cjx_object.h b/fxjs/xfa/cjx_object.h index 4bbd35f..cdb6907 100644 --- a/fxjs/xfa/cjx_object.h +++ b/fxjs/xfa/cjx_object.h
@@ -222,6 +222,8 @@ void ThrowException(const WideString& str) const; private: + using Type__ = CJX_Object; + std::pair<CXFA_Node*, int32_t> GetPropertyInternal(int32_t index, XFA_Element eType) const; CXFA_Node* GetOrCreatePropertyInternal(int32_t index, XFA_Element eType);
diff --git a/fxjs/xfa/cjx_occur.h b/fxjs/xfa/cjx_occur.h index b6745a5..87f6043 100644 --- a/fxjs/xfa/cjx_occur.h +++ b/fxjs/xfa/cjx_occur.h
@@ -19,6 +19,9 @@ JSE_PROP(max); JSE_PROP(min); + + private: + using Type__ = CJX_Occur; }; #endif // FXJS_XFA_CJX_OCCUR_H_
diff --git a/fxjs/xfa/cjx_packet.h b/fxjs/xfa/cjx_packet.h index 0becac6..9853ac4 100644 --- a/fxjs/xfa/cjx_packet.h +++ b/fxjs/xfa/cjx_packet.h
@@ -17,13 +17,15 @@ explicit CJX_Packet(CXFA_Packet* packet); ~CJX_Packet() override; - JSE_METHOD(getAttribute, CJX_Packet); - JSE_METHOD(removeAttribute, CJX_Packet); - JSE_METHOD(setAttribute, CJX_Packet); + JSE_METHOD(getAttribute); + JSE_METHOD(removeAttribute); + JSE_METHOD(setAttribute); JSE_PROP(content); private: + using Type__ = CJX_Packet; + static const CJX_MethodSpec MethodSpecs[]; };
diff --git a/fxjs/xfa/cjx_picture.h b/fxjs/xfa/cjx_picture.h index fe3afb8..1fa3688 100644 --- a/fxjs/xfa/cjx_picture.h +++ b/fxjs/xfa/cjx_picture.h
@@ -19,6 +19,9 @@ JSE_PROP(defaultValue); /* {default} */ JSE_PROP(value); + + private: + using Type__ = CJX_Picture; }; #endif // FXJS_XFA_CJX_PICTURE_H_
diff --git a/fxjs/xfa/cjx_script.h b/fxjs/xfa/cjx_script.h index 52fc6fc..337497d 100644 --- a/fxjs/xfa/cjx_script.h +++ b/fxjs/xfa/cjx_script.h
@@ -20,6 +20,9 @@ JSE_PROP(defaultValue); /* {default} */ JSE_PROP(stateless); JSE_PROP(value); + + private: + using Type__ = CJX_Script; }; #endif // FXJS_XFA_CJX_SCRIPT_H_
diff --git a/fxjs/xfa/cjx_signaturepseudomodel.h b/fxjs/xfa/cjx_signaturepseudomodel.h index 865e27a..d830e4b 100644 --- a/fxjs/xfa/cjx_signaturepseudomodel.h +++ b/fxjs/xfa/cjx_signaturepseudomodel.h
@@ -17,12 +17,14 @@ explicit CJX_SignaturePseudoModel(CScript_SignaturePseudoModel* model); ~CJX_SignaturePseudoModel() override; - JSE_METHOD(verifySignature /*verify*/, CJX_SignaturePseudoModel); - JSE_METHOD(sign, CJX_SignaturePseudoModel); - JSE_METHOD(enumerate, CJX_SignaturePseudoModel); - JSE_METHOD(clear, CJX_SignaturePseudoModel); + JSE_METHOD(verifySignature /*verify*/); + JSE_METHOD(sign); + JSE_METHOD(enumerate); + JSE_METHOD(clear); private: + using Type__ = CJX_SignaturePseudoModel; + static const CJX_MethodSpec MethodSpecs[]; };
diff --git a/fxjs/xfa/cjx_source.h b/fxjs/xfa/cjx_source.h index e2dd405..7948279 100644 --- a/fxjs/xfa/cjx_source.h +++ b/fxjs/xfa/cjx_source.h
@@ -17,27 +17,29 @@ explicit CJX_Source(CXFA_Source* src); ~CJX_Source() override; - JSE_METHOD(addNew, CJX_Source); - JSE_METHOD(cancel, CJX_Source); - JSE_METHOD(cancelBatch, CJX_Source); - JSE_METHOD(close, CJX_Source); - JSE_METHOD(deleteItem /*delete*/, CJX_Source); - JSE_METHOD(first, CJX_Source); - JSE_METHOD(hasDataChanged, CJX_Source); - JSE_METHOD(isBOF, CJX_Source); - JSE_METHOD(isEOF, CJX_Source); - JSE_METHOD(last, CJX_Source); - JSE_METHOD(next, CJX_Source); - JSE_METHOD(open, CJX_Source); - JSE_METHOD(previous, CJX_Source); - JSE_METHOD(requery, CJX_Source); - JSE_METHOD(resync, CJX_Source); - JSE_METHOD(update, CJX_Source); - JSE_METHOD(updateBatch, CJX_Source); + JSE_METHOD(addNew); + JSE_METHOD(cancel); + JSE_METHOD(cancelBatch); + JSE_METHOD(close); + JSE_METHOD(deleteItem /*delete*/); + JSE_METHOD(first); + JSE_METHOD(hasDataChanged); + JSE_METHOD(isBOF); + JSE_METHOD(isEOF); + JSE_METHOD(last); + JSE_METHOD(next); + JSE_METHOD(open); + JSE_METHOD(previous); + JSE_METHOD(requery); + JSE_METHOD(resync); + JSE_METHOD(update); + JSE_METHOD(updateBatch); JSE_PROP(db); private: + using Type__ = CJX_Source; + static const CJX_MethodSpec MethodSpecs[]; };
diff --git a/fxjs/xfa/cjx_subform.h b/fxjs/xfa/cjx_subform.h index 96a1f2b..8f72880 100644 --- a/fxjs/xfa/cjx_subform.h +++ b/fxjs/xfa/cjx_subform.h
@@ -17,10 +17,10 @@ explicit CJX_Subform(CXFA_Node* container); ~CJX_Subform() override; - JSE_METHOD(execCalculate, CJX_Subform); - JSE_METHOD(execEvent, CJX_Subform); - JSE_METHOD(execInitialize, CJX_Subform); - JSE_METHOD(execValidate, CJX_Subform); + JSE_METHOD(execCalculate); + JSE_METHOD(execEvent); + JSE_METHOD(execInitialize); + JSE_METHOD(execValidate); JSE_PROP(instanceIndex); JSE_PROP(layout); @@ -28,6 +28,8 @@ JSE_PROP(validationMessage); private: + using Type__ = CJX_Subform; + static const CJX_MethodSpec MethodSpecs[]; };
diff --git a/fxjs/xfa/cjx_subformset.h b/fxjs/xfa/cjx_subformset.h index f71f7c3..a60b560 100644 --- a/fxjs/xfa/cjx_subformset.h +++ b/fxjs/xfa/cjx_subformset.h
@@ -18,6 +18,9 @@ ~CJX_SubformSet() override; JSE_PROP(instanceIndex); + + private: + using Type__ = CJX_SubformSet; }; #endif // FXJS_XFA_CJX_SUBFORMSET_H_
diff --git a/fxjs/xfa/cjx_template.h b/fxjs/xfa/cjx_template.h index 6d5f50b..e4c819c 100644 --- a/fxjs/xfa/cjx_template.h +++ b/fxjs/xfa/cjx_template.h
@@ -20,14 +20,16 @@ /* The docs list a |createNode| method on Template but that method already * exists on Model, also the |createNode| docs say it exists on Model not * on Template so I'm leaving |createNode| out of the template methods. */ - JSE_METHOD(execCalculate, CJX_Template); - JSE_METHOD(execInitialize, CJX_Template); - JSE_METHOD(execValidate, CJX_Template); - JSE_METHOD(formNodes, CJX_Template); - JSE_METHOD(recalculate, CJX_Template); - JSE_METHOD(remerge, CJX_Template); + JSE_METHOD(execCalculate); + JSE_METHOD(execInitialize); + JSE_METHOD(execValidate); + JSE_METHOD(formNodes); + JSE_METHOD(recalculate); + JSE_METHOD(remerge); private: + using Type__ = CJX_Template; + static const CJX_MethodSpec MethodSpecs[]; };
diff --git a/fxjs/xfa/cjx_text.h b/fxjs/xfa/cjx_text.h index 49ec35e..5925f14 100644 --- a/fxjs/xfa/cjx_text.h +++ b/fxjs/xfa/cjx_text.h
@@ -19,6 +19,9 @@ JSE_PROP(defaultValue); /* {default} */ JSE_PROP(value); + + private: + using Type__ = CJX_Text; }; #endif // FXJS_XFA_CJX_TEXT_H_
diff --git a/fxjs/xfa/cjx_textnode.h b/fxjs/xfa/cjx_textnode.h index 9ef8a3f..bf9ff14 100644 --- a/fxjs/xfa/cjx_textnode.h +++ b/fxjs/xfa/cjx_textnode.h
@@ -19,6 +19,9 @@ JSE_PROP(defaultValue); /* {default} */ JSE_PROP(value); + + private: + using Type__ = CJX_TextNode; }; #endif // FXJS_XFA_CJX_TEXTNODE_H_
diff --git a/fxjs/xfa/cjx_time.h b/fxjs/xfa/cjx_time.h index 6d9fe61..2b55eb4 100644 --- a/fxjs/xfa/cjx_time.h +++ b/fxjs/xfa/cjx_time.h
@@ -19,6 +19,9 @@ JSE_PROP(defaultValue); /* {default} */ JSE_PROP(value); + + private: + using Type__ = CJX_Time; }; #endif // FXJS_XFA_CJX_TIME_H_
diff --git a/fxjs/xfa/cjx_tree.h b/fxjs/xfa/cjx_tree.h index a30464f..8b6e918 100644 --- a/fxjs/xfa/cjx_tree.h +++ b/fxjs/xfa/cjx_tree.h
@@ -18,8 +18,8 @@ explicit CJX_Tree(CXFA_Object* obj); ~CJX_Tree() override; - JSE_METHOD(resolveNode, CJX_Tree); - JSE_METHOD(resolveNodes, CJX_Tree); + JSE_METHOD(resolveNode); + JSE_METHOD(resolveNodes); JSE_PROP(all); JSE_PROP(classAll); @@ -30,6 +30,8 @@ JSE_PROP(somExpression); private: + using Type__ = CJX_Tree; + void ResolveNodeList(CFXJSE_Value* pValue, WideString wsExpression, uint32_t dwFlag,
diff --git a/fxjs/xfa/cjx_treelist.h b/fxjs/xfa/cjx_treelist.h index 6ae9518..89551c5 100644 --- a/fxjs/xfa/cjx_treelist.h +++ b/fxjs/xfa/cjx_treelist.h
@@ -17,9 +17,11 @@ explicit CJX_TreeList(CXFA_TreeList* list); ~CJX_TreeList() override; - JSE_METHOD(namedItem, CJX_TreeList); + JSE_METHOD(namedItem); private: + using Type__ = CJX_TreeList; + CXFA_TreeList* GetXFATreeList(); static const CJX_MethodSpec MethodSpecs[];
diff --git a/fxjs/xfa/cjx_value.h b/fxjs/xfa/cjx_value.h index 23ee567..b6f717f 100644 --- a/fxjs/xfa/cjx_value.h +++ b/fxjs/xfa/cjx_value.h
@@ -18,6 +18,9 @@ ~CJX_Value() override; JSE_PROP(override); + + private: + using Type__ = CJX_Value; }; #endif // FXJS_XFA_CJX_VALUE_H_
diff --git a/fxjs/xfa/cjx_wsdlconnection.h b/fxjs/xfa/cjx_wsdlconnection.h index 5b563b8..12f2b7e 100644 --- a/fxjs/xfa/cjx_wsdlconnection.h +++ b/fxjs/xfa/cjx_wsdlconnection.h
@@ -17,9 +17,11 @@ explicit CJX_WsdlConnection(CXFA_WsdlConnection* connection); ~CJX_WsdlConnection() override; - JSE_METHOD(execute, CJX_WsdlConnection); + JSE_METHOD(execute); private: + using Type__ = CJX_WsdlConnection; + static const CJX_MethodSpec MethodSpecs[]; };
diff --git a/fxjs/xfa/cjx_xfa.h b/fxjs/xfa/cjx_xfa.h index 882ee52..8f4b949 100644 --- a/fxjs/xfa/cjx_xfa.h +++ b/fxjs/xfa/cjx_xfa.h
@@ -18,6 +18,9 @@ ~CJX_Xfa() override; JSE_PROP(thisValue); /* this */ + + private: + using Type__ = CJX_Xfa; }; #endif // FXJS_XFA_CJX_XFA_H_
diff --git a/fxjs/xfa/jse_define.h b/fxjs/xfa/jse_define.h index 73f246d..5a63e72 100644 --- a/fxjs/xfa/jse_define.h +++ b/fxjs/xfa/jse_define.h
@@ -22,14 +22,14 @@ return (node->*M)(runtime, params); } -#define JSE_METHOD(method_name, class_name) \ - static CJS_Result method_name##_static( \ - CJX_Object* node, CFX_V8* runtime, \ - const std::vector<v8::Local<v8::Value>>& params) { \ - return JSEMethod<class_name, &class_name::method_name>( \ - static_cast<class_name*>(node), runtime, params); \ - } \ - CJS_Result method_name(CFX_V8* runtime, \ +#define JSE_METHOD(method_name) \ + static CJS_Result method_name##_static( \ + CJX_Object* node, CFX_V8* runtime, \ + const std::vector<v8::Local<v8::Value>>& params) { \ + return JSEMethod<Type__, &Type__::method_name>(static_cast<Type__*>(node), \ + runtime, params); \ + } \ + CJS_Result method_name(CFX_V8* runtime, \ const std::vector<v8::Local<v8::Value>>& params) #define JSE_PROP(prop_name) \