예제 #1
0
 public DOMEVariableType_Multiple_RuleDefinition_NoParent_List(DOMEClass p, DOMEVariableTypeConcept t) : base(p, t)
 {
     get_type_name = new OperationCache <string>("get_type_name", delegate() {
         return(CSLine.Single("List<?INNER_TYPE>",
                              "INNER_TYPE", GetTypeConcept().GetStoreTypeName()
                              ));
     });
 }
 public DOMEVariableType_Multiple_Primitive_List(DOMEVariableTypeConcept t) : base(t)
 {
     get_type_name = new OperationCache <string>("get_type_name", delegate() {
         return(CSLine.Single("List<?INNER_TYPE>",
                              "INNER_TYPE", GetTypeConcept().GetStoreTypeName()
                              ));
     });
 }
 public DOMEVariableType_Single_RuleDefinition_AutoParent(DOMEClass p, DOMEVariableTypeConcept t) : base(p, t)
 {
     get_type_name = new OperationCache <string>("get_type_name", delegate() {
         return(CSLine.Single("HoldingSingle<?PARENT_TYPE, ?INNER_TYPE>",
                              "PARENT_TYPE", GetParentType().GetTypeName(),
                              "INNER_TYPE", GetTypeConcept().GetStoreTypeName()
                              ));
     });
 }
        static public DOMEVariableType Wrap(this DOMEVariableTypeConcept item, bool is_collection)
        {
            if (is_collection)
            {
                return(item.GetAsMultiple());
            }

            return(item.GetAsSingle());
        }
        public DOMEVariableType_Multiple_RuleDefinition_NoParent_LabeledItemSet(DOMEClass p, DOMEVariableTypeConcept t, DOMEVariableTypeConcept l) : base(p, t)
        {
            label_type_concept = l;

            get_type_name = new OperationCache <string>("get_type_name", delegate() {
                return(CSLine.Single("LabeledItemSet<?LABEL_TYPE, ?INNER_TYPE>",
                                     "LABEL_TYPE", GetLabelTypeConcept().GetStoreTypeName(),
                                     "INNER_TYPE", GetTypeConcept().GetStoreTypeName()
                                     ));
            });
        }
예제 #6
0
        public DOMElement_RuleAtom_Variable_Reference()
        {
            get_default_variable_type_context = new OperationCache <DOMEVariableTypeConcept>("get_default_variable_type_context", delegate() {
                DOMEVariableTypeConcept type = GetDefaultVariableTypeInternal();
                HasInfo has_info             = type as HasInfo;

                if (has_info != null)
                {
                    return(has_info.ConvertInfoValue <DOMEVariableTypeConcept>("type",
                                                                               () => type,
                                                                               s => GetGrammarDefinition().GetTypeConcept(s)
                                                                               ));
                }

                return(type);
            });
        }
예제 #7
0
 public DOMEVariableType_Multiple(DOMEVariableTypeConcept t) : base(t)
 {
 }
예제 #8
0
 public DOMEVariableType(DOMEVariableTypeConcept t)
 {
     type_concept = t;
 }
 public DOMEVariableType_Multiple_ICollection(DOMEVariableTypeConcept t) : base(t)
 {
 }
 public DOMEVariableType_Single_Primitive(DOMEVariableTypeConcept t) : base(t)
 {
 }
예제 #11
0
 public DOMEVariableType_Multiple_RuleDefinition(DOMEClass p, DOMEVariableTypeConcept t) : base(t)
 {
     parent_type = p;
 }
 public DOMEVariableType_Single_RuleDefinition_ManualParent(DOMEClass p, DOMEVariableTypeConcept t) : base(p, t)
 {
 }
 public DOMEVariableType_Multiple_RuleDefinition_NoParent(DOMEClass p, DOMEVariableTypeConcept t) : base(p, t)
 {
 }