From 152eb33273ba12ccad4f3a2e98c514617e11bcff Mon Sep 17 00:00:00 2001 From: Michael Becker Date: Mon, 6 Oct 2025 00:10:55 -0400 Subject: [PATCH] preliminary work on Instance Op Method (IOP) --- .../003-Relationships.yaml | 3 -- .../003-Classes/00015-WorkSet.yaml | 6 +++ .../003-Classes/02663-InstanceOpMethod.yaml | 9 ++++ .../003-Classes/02664-InstanceOp.yaml | 10 ++++ .../003-Classes/03963-OpScope.yaml | 30 ++++++++++++ .../003-Classes/03967-FilterByTypeOp.yaml | 29 ++++++++++++ .../04510-BuildDynamicInstanceOp.yaml | 47 +++++++++++++++++++ .../Method__get__Method_Abbreviation.yaml | 2 + 8 files changed, 133 insertions(+), 3 deletions(-) create mode 100644 mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/02664-InstanceOp.yaml create mode 100644 mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/03963-OpScope.yaml create mode 100644 mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/03967-FilterByTypeOp.yaml create mode 100644 mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/04510-BuildDynamicInstanceOp.yaml diff --git a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/000-EntityDefinitions/003-Relationships.yaml b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/000-EntityDefinitions/003-Relationships.yaml index 55f896b..d246a73 100644 --- a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/000-EntityDefinitions/003-Relationships.yaml +++ b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/000-EntityDefinitions/003-Relationships.yaml @@ -387,6 +387,3 @@ - IDR_Build_Element_Method__returns__Element: '{4d13d021-7363-4131-b74a-241698c3f1d0}' - IDR_Element__returned_by__Build_Element_Method: '{ae6a82f0-950b-44c0-a1e6-53d8a7e9e46d}' - - - IDR_Instance_Op_Method__returns__Work_Set: '{aadc223e-e300-4914-ad29-62d497afcc36}' - - IDR_Work_Set__returned_by__Instance_Op_Method: '{5e15f42f-e634-45ee-9ecc-fbde4fd0c38f}' \ No newline at end of file diff --git a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/00015-WorkSet.yaml b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/00015-WorkSet.yaml index c876597..855915d 100644 --- a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/00015-WorkSet.yaml +++ b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/00015-WorkSet.yaml @@ -1,4 +1,7 @@ --- +- entityDefinitions: + - IDI_WorkSet_Set: '{40565aa8-892b-4a36-9a8e-54d55d1c6efe}' + - library: '&IDL_MochaBaseSystem;' instances: - class: '&IDC_WorkSet;' @@ -126,6 +129,9 @@ - workSet: '&IDI_WorkSet_ClassOfInstanceToCreate;' name: 'Class of Instance to create' singular: yes + - workSet: '&IDI_WorkSet_Set;' + name: 'Set' + singular: no - workSet: '&IDI_WorkSet_SetA;' name: 'Set A' singular: no diff --git a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/02663-InstanceOpMethod.yaml b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/02663-InstanceOpMethod.yaml index 055236b..b24b8f2 100644 --- a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/02663-InstanceOpMethod.yaml +++ b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/02663-InstanceOpMethod.yaml @@ -1,11 +1,20 @@ +- entityDefinitions: + - IDR_Instance_Op_Method__returns__Work_Set: '{aadc223e-e300-4914-ad29-62d497afcc36}' + - IDR_Work_Set__returned_by__Instance_Op_Method: '{5e15f42f-e634-45ee-9ecc-fbde4fd0c38f}' + - library: '&IDL_MochaBaseSystem;' instances: - class: '&IDC_InstanceOpMethod;' name: 'IOP - Instance Op Method' index: 2663 + superclasses: + - instance: '&IDC_Method;' + - instance: '&IDC_OpScope;' relationships: - instance: '&IDR_Instance_Op_Method__returns__Work_Set;' customTagName: returnsWorkSetId + - instance: '&IDR_Op_Scope__invokes__Instance_Op;' + customTagName: invokesInstanceOp - relationship: '&IDR_Instance_Op_Method__returns__Work_Set;' index: 6842 diff --git a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/02664-InstanceOp.yaml b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/02664-InstanceOp.yaml new file mode 100644 index 0000000..359357a --- /dev/null +++ b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/02664-InstanceOp.yaml @@ -0,0 +1,10 @@ +- entityDefinitions: + - IDC_InstanceOp: '{9c95ec2b-824c-4f3a-9a79-7a8923401c88}' + +- library: '&IDL_MochaBaseSystem;' + instances: + - class: '&IDC_InstanceOp;' + name: 'Instance Op' + index: 2664 + abstract: yes + \ No newline at end of file diff --git a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/03963-OpScope.yaml b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/03963-OpScope.yaml new file mode 100644 index 0000000..e166ee5 --- /dev/null +++ b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/03963-OpScope.yaml @@ -0,0 +1,30 @@ +- entityDefinitions: + - IDC_OpScope: '{431a0050-0412-4bd5-9c4c-6b37332138cc}' + + - IDR_Op_Scope__invokes__Instance_Op: '{eb78eaca-dbb1-4137-9a2d-b003c83ecb16}' + - IDR_Instance_Op__invoked_by__Op_Scope: '{508357ac-e1e1-46e3-a553-7a53545e1160}' + +- library: '&IDL_MochaBaseSystem;' + instances: + - class: '&IDC_OpScope;' + name: 'Op Scope' + index: 3963 + relationships: + - instance: '&IDR_Op_Scope__invokes__Instance_Op;' + customTagName: invokesInstanceOp + + - relationship: '&IDR_Op_Scope__invokes__Instance_Op;' + index: 6838 + sourceClassId: '&IDC_OpScope;' + type: 'invokes' + destinationClassId: '&IDC_InstanceOp;' + siblingRelationshipId: '&IDR_Instance_Op__invoked_by__Op_Scope' + singular: yes + + - relationship: '&IDR_Instance_Op__invoked_by__Op_Scope;' + index: 6839 + sourceClassId: '&IDC_InstanceOp;' + type: 'invoked by' + destinationClassId: '&IDC_OpScope;' + siblingRelationshipId: '&IDR_Op_Scope__invokes__Instance_Op;' + singular: no diff --git a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/03967-FilterByTypeOp.yaml b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/03967-FilterByTypeOp.yaml new file mode 100644 index 0000000..90eb2fa --- /dev/null +++ b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/03967-FilterByTypeOp.yaml @@ -0,0 +1,29 @@ +- entityDefinitions: + - IDC_FilterByTypeOp: '{8344a933-bb49-4d1c-b92a-a044fc9b9611}' + + - IDR_Filter_By_Type_Op__uses__Class: '{2f5fddc8-5ab0-4c59-8a83-536a2ce0a30c}' + - IDR_Class__used_by__Filter_By_Type_Op: '{2c0e2972-5643-431d-a71e-a8ec09605aa0}' + +- library: '&IDL_MochaBaseSystem;' + instances: + - class: '&IDC_FilterByTypeOp;' + name: Filter by Type Op + index: 3967 + superclasses: + - instance: '&IDC_InstanceOp;' + + - relationship: '&IDR_Filter_By_Type_Op__uses__Class;' + index: 11101 + sourceClassId: '&IDC_FilterByTypeOp;' + type: 'uses' + destinationClassId: '&IDC_Class;' + siblingRelationshipId: '&IDR_Class__used_by__Filter_By_Type_Op;' + singular: yes + + - relationship: '&IDR_Class__used_by__Filter_By_Type_Op;' + index: 11102 + sourceClassId: '&IDC_Class;' + type: 'used by' + destinationClassId: '&IDC_FilterByTypeOp;' + siblingRelationshipId: '&IDR_Filter_By_Type_Op__uses__Class;' + singular: no diff --git a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/04510-BuildDynamicInstanceOp.yaml b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/04510-BuildDynamicInstanceOp.yaml new file mode 100644 index 0000000..4d518c0 --- /dev/null +++ b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/003-Classes/04510-BuildDynamicInstanceOp.yaml @@ -0,0 +1,47 @@ +- entityDefinitions: + - IDC_BuildDynamicInstanceOp: '{622edf0d-5e3d-49fd-9764-33aa304addf4}' + + - IDR_Build_Dynamic_Instance_Op__builds_dynamic__Class: '{e43ace17-110c-494f-8c68-4302785da3ca}' + - IDR_Class__dynamically_built_for__Build_Dynamic_Instance_Op: '{b5b1c72d-834f-4ceb-808e-4afba5991262}' + - IDR_Build_Dynamic_Instance_Op__assigns_instance_data_from__Parameter_Assignment: '{f5b1f747-fae3-4318-958b-a64f7cdd8b42}' + - IDR_Parameter_Assignment__for_assign_instance_data_for__Build_Dynamic_Instance_Op: '{1f58b5d3-b87d-409b-9a84-71b51f030461}' + +- library: '&IDL_MochaBaseSystem;' + instances: + - class: '&IDC_BuildDynamicInstanceOp;' + name: Build Dynamic Instance Op + index: 4510 + superclasses: + - instance: '&IDC_InstanceOp;' + + - relationship: '&IDR_Build_Dynamic_Instance_Op__builds_dynamic__Class;' + index: 12794 + sourceClassId: '&IDC_BuildDynamicInstanceOp;' + type: 'builds dynamic' + destinationClassId: '&IDC_Class;' + siblingRelationshipId: '&IDR_Class__dynamically_built_for__Build_Dynamic_Instance_Op;' + singular: yes + + - relationship: '&IDR_Class__dynamically_built_for__Build_Dynamic_Instance_Op;' + index: 12795 + sourceClassId: '&IDC_Class;' + type: 'dynamically built for' + destinationClassId: '&IDC_BuildDynamicInstanceOp;' + siblingRelationshipId: '&IDR_Build_Dynamic_Instance_Op__builds_dynamic__Class;' + singular: no + + - relationship: '&IDR_Build_Dynamic_Instance_Op__assigns_instance_data_from__Parameter_Assignment;' + index: 12796 + sourceClassId: '&IDC_BuildDynamicInstanceOp;' + type: 'assigns instance data from' + destinationClassId: '&IDC_ParameterAssignment;' + siblingRelationshipId: '&IDR_Parameter_Assignment__for_assign_instance_data_for__Build_Dynamic_Instance_Op;' + singular: yes + + - relationship: '&IDR_Parameter_Assignment__for_assign_instance_data_for__Build_Dynamic_Instance_Op;' + index: 12797 + sourceClassId: '&IDC_ParameterAssignment;' + type: 'for assign instance data for' + destinationClassId: '&IDC_BuildDynamicInstanceOp;' + siblingRelationshipId: '&IDR_Build_Dynamic_Instance_Op__assigns_instance_data_from__Parameter_Assignment;' + singular: no diff --git a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/004-Methods/Method/Method__get__Method_Abbreviation.yaml b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/004-Methods/Method/Method__get__Method_Abbreviation.yaml index 0f45305..bfdafc5 100644 --- a/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/004-Methods/Method/Method__get__Method_Abbreviation.yaml +++ b/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System/004-Methods/Method/Method__get__Method_Abbreviation.yaml @@ -120,6 +120,8 @@ returnsAttributeId: '&IDMB_Method__get__CN_Method_Suffix;' comment: 'If Method is CN, return the "CN" suffix' + # {4e741924-06a0-40e1-aa3c-725d6a518b9d} + - globalIdentifier: '{570dd2ff-38d6-4615-b033-880b8dda9f5b}' returnsAttributeId: '&IDMB_Common_Text__get__Empty_String;' comment: 'If nothing else matches, just return empty string'