- entityDefinitions:
  - IDMB_Class__get__Class_of_Method: '{318cd9bf-bac5-448b-8490-653d0c95fec3}'

  - IDM_Method_Binding__get__BRMB: '{ecf49b94-0d95-4b1f-b8c6-6f585280f38b}'
  - IDMB_Method_Binding__get__BRMB: '{c176b137-1767-41a6-affb-21d694dee46a}'

  - IDMB_Method_Binding__get__Executes_Method_and_Method_Type_BRMB: '{c1c102cb-d59b-45d0-84a2-967dbdf127f7}'

  - IDM_Method_Binding__get__Method_Binding_Type: '{4ed614a8-5e81-4ab6-bd8c-6b0091c60bf8}'
  - IDMB_Method_Binding__get__Method_Binding_Type: '{c49696b2-4f54-4838-afe0-f1df59a4de75}'

- library: '&IDL_MochaBaseSystem;'
  instances:
  - buildAttributeMethod: '&IDM_Method_Binding__get__RAMB;'
    forClassId: '&IDC_MethodBinding;'
    verb: 'get'
    name: 'RAMB'
    accessModifierId: '&IDI_AccessModifier_Public;'
    initialValue: 'ramb'
    returnsAttributeId: '&IDA_Value;'
  - returnAttributeMethodBinding: '&IDMB_Method_Binding__get__RAMB;'
    executesMethod: '&IDM_Method_Binding__get__RAMB;'

  - buildAttributeMethod: '&IDM_Method_Binding__get__RSMB;'
    forClassId: '&IDC_MethodBinding;'
    verb: 'get'
    name: 'RSMB'
    accessModifierId: '&IDI_AccessModifier_Public;'
    initialValue: 'rsmb'
    returnsAttributeId: '&IDA_Value;'
  - returnAttributeMethodBinding: '&IDMB_Method_Binding__get__RSMB;'
    executesMethod: '&IDM_Method_Binding__get__RSMB;'

  - buildAttributeMethod: '&IDM_Method_Binding__get__BRMB;'
    forClassId: '&IDC_MethodBinding;'
    verb: 'get'
    name: 'BRMB'
    accessModifierId: '&IDI_AccessModifier_Public;'
    initialValue: 'brmb'
    returnsAttributeId: '&IDA_Value;'
  - returnAttributeMethodBinding: '&IDMB_Method_Binding__get__BRMB;'
    executesMethod: '&IDM_Method_Binding__get__BRMB;'

  - returnAttributeMethodBinding: '&IDMB_Class__get__Class_of_Method;'
    executesMethod: '&IDM_Class__get__Name;'
    parameterAssignments:
    - globalIdentifier: '{8216bd8b-9277-474d-817b-dd1291886928}'
      assignsFromWorkData: '&IDI_WorkSet_ClassForMethod;'
      assignsToParameter: '&IDC_Class;'

  - getReferencedAttributeMethod: '&IDM_Method__get__Class_Name;'
    # initialValue: 'Method Example@get Dummy Method Name (BA)*S*P(public)'
    forClassId: '&IDC_Method;'
    returnsAttributeId: '&IDA_Name;'
    verb: 'get'
    name: 'Class Name'
    accessModifierId: '&IDI_AccessModifier_RootA2;'
    referenceInstanceSet: '&IDMB_Method__get__Class;'
    answerAttribute: '&IDMB_Class__get__Class_of_Method;'
    
  - returnAttributeMethodBinding: '&IDMB_Method__get__Class_Name;'
    executesMethod: '&IDM_Method__get__Class_Name;'
    returnsAttributeId: '&IDA_Name;'
  
  - getReferencedAttributeMethod: '&IDM_Method_Binding__get__Executes_Method_Name;'
    # initialValue: 'Method Example@get Dummy Method Name (BA)*S*P(public)'
    forClassId: '&IDC_MethodBinding;'
    returnsAttributeId: '&IDA_Name;'
    verb: 'get'
    name: 'Executes Method Name'
    accessModifierId: '&IDI_AccessModifier_RootA2;'
    referenceInstanceSet: '&IDMB_Method_Binding__get__Executes_Method;'
    answerAttribute: '&IDMB_Method__get__Fully_Qualified_Name;'
    singular: yes

  - getAttributeMethod: '&IDM_Method_Binding__get__Method_Binding_Type;'
    # initialValue: 'Method Example@get Dummy Method Name (BA)*S*P(public)'
    forClassId: '&IDC_MethodBinding;'
    returnsAttributeId: '&IDA_MethodBindingType;'
    verb: 'get'
    name: 'Method Binding Type'
    accessModifierId: '&IDI_AccessModifier_RootA2;'

  - returnAttributeMethodBinding: '&IDMB_Method_Binding__get__Method_Binding_Type;'
    executesMethod: '&IDM_Method_Binding__get__Method_Binding_Type;'
    
  - returnAttributeMethodBinding: '&IDMB_Method_Binding__get__Executes_Method_Name;'
    executesMethod: '&IDM_Method_Binding__get__Executes_Method_Name;'

  - buildAttributeMethod: '&IDM_Method_Binding__get__Executes_Method_and_Method_Type;'
    forClassId: '&IDC_MethodBinding;'
    verb: 'get'
    name: 'Executes Method and Method Type'
    accessModifierId: '&IDI_AccessModifier_RootA2;'
    initialValue: ''
    returnsAttributeId: '&IDA_Value;'
    buildsWithAttributes:
    - order: a
      executes: '&IDMB_Method_Binding__get__Executes_Method_Name;'
    - order: b
      executes: '&IDMB_Common_Text__get__Open_Bracket;'
    - order: c
      executes: '&IDMB_Method_Binding__get__Method_Binding_Type;'
    - order: d
      executes: '&IDMB_Common_Text__get__Close_Bracket;'

  - returnAttributeMethodBinding: '&IDMB_Method_Binding__get__Executes_Method_and_Method_Type_RAMB;'
    executesMethod: '&IDM_Method_Binding__get__Executes_Method_and_Method_Type;'
    parameterAssignments:
    - globalIdentifier: '{becba7d8-5da6-493b-8f84-dc5c1ff8fd96}'
      assignsToParameter: '&IDC_MethodBinding;'
      assignsFromWorkData: '&IDC_ReturnAttributeMethodBinding;'
    - globalIdentifier: '{f9569b45-8273-40b5-a723-3adbe250e75d}'
      assignsToParameter: '&IDA_MethodBindingType;'
      assignsFromWorkData: '&IDMB_Method_Binding__get__RAMB;'

  - returnAttributeMethodBinding: '&IDMB_Method_Binding__get__Executes_Method_and_Method_Type_RSMB;'
    executesMethod: '&IDM_Method_Binding__get__Executes_Method_and_Method_Type;'
    parameterAssignments:
    - globalIdentifier: '{00c4414d-ee98-4bd1-bddc-0a6cc6786918}'
      assignsToParameter: '&IDC_MethodBinding;'
      assignsFromWorkData: '&IDC_ReturnInstanceSetMethodBinding;'
    - globalIdentifier: '{55b1874e-882c-4a6d-a5d0-1ac1a62d5f61}'
      assignsToParameter: '&IDA_MethodBindingType;'
      assignsFromWorkData: '&IDMB_Method_Binding__get__RSMB;'

  - returnAttributeMethodBinding: '&IDMB_Method_Binding__get__Executes_Method_and_Method_Type_BRMB;'
    executesMethod: '&IDM_Method_Binding__get__Executes_Method_and_Method_Type;'
    parameterAssignments:
    - globalIdentifier: '{eba091e5-da02-4be7-8700-93f08c2468cb}'
      assignsToParameter: '&IDC_MethodBinding;'
      assignsFromWorkData: '&IDC_BuildResponseMethodBinding;'
    - globalIdentifier: '{732daa99-8de9-4b6b-97f8-f413d99d9b27}'
      assignsToParameter: '&IDA_MethodBindingType;'
      assignsFromWorkData: '&IDMB_Method_Binding__get__BRMB;'
