protected override string GenerateVariableGetFunctionReturnContainerType(string type)
 {
     return(CSLine.Single("EnumerableLookupSet<?LABEL_TYPE, ?TYPE>",
                          "LABEL_TYPE", GetLabelTypeConcept().GetStoreTypeName(),
                          "TYPE", type
                          ));
 }
Ejemplo n.º 2
0
 public override string GetStringToTypeExpression(string string_expression)
 {
     return(CSLine.Single("new ?TYPE(?STRING_EXPRESSION)",
                          "TYPE", GetTypeName(),
                          "STRING_EXPRESSION", string_expression
                          ));
 }
Ejemplo n.º 3
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()
                              ));
     });
 }
        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()
                                     ));
            });
        }
 protected override string GenerateVariableGetFunctionBodyGetReturnExpression(CSTextDocumentBuilder text, DOMEVariable variable, LookupBackedSet <string, string> settings)
 {
     return(CSLine.Single("?VARIABLE.Get()",
                          "VARIABLE", variable.GetVariableName()
                          ));
 }
 protected override string GenerateVariableGetFunctionReturnContainerType(string type)
 {
     return(CSLine.Single("IEnumerable<?TYPE>",
                          "TYPE", type
                          ));
 }
 public override string GetDefaultConstructionExpression()
 {
     return(CSLine.Single("default(?TYPE)",
                          "TYPE", GetTypeName().StyleAsFunctionName()
                          ));
 }
Ejemplo n.º 10
0
 protected override string GenerateVariableDuplicateExpression(string instance)
 {
     return(CSLine.Single("?INSTANCE.Convert(i => i.IfNotNull(z => z.Duplicate()))",
                          "INSTANCE", instance
                          ));
 }
Ejemplo n.º 11
0
        public DOMElement_RuleDefinition()
        {
            get_type_name = new OperationCache <string>("get_type_name", delegate() {
                return(this.ConvertInfoValue <string>("name",
                                                      () => GetBaseType().CreateDerivedTypeName(GetRuleId().StyleAsClassName()),
                                                      s => s
                                                      ));
            });

            get_store_type_name = new OperationCache <string>("get_store_type_name", delegate() {
                return(this.ConvertInfoValue <string>("store_type",
                                                      () => GetTypeName(),
                                                      s => s
                                                      ));
            });

            get_retrieve_type_name = new OperationCache <string>("get_retrieve_type_name", delegate() {
                return(this.ConvertInfoValue <string>("retrieve_type",
                                                      () => GetStoreTypeName(),
                                                      s => s
                                                      ));
            });

            get_as_single = new OperationCache <DOMEVariableType>("get_as_single", delegate() {
                return(GetGrammarDefinition().GetSettings().GetVariableTypeCreator()
                       .GetRuleDefinitionSingleFactory()
                       .Create(GetGrammarDefinition().GetElement(), this));
            });

            get_as_multiple = new OperationCache <DOMEVariableType>("get_as_multiple", delegate() {
                DOMEVariableTypeCreator creator = GetGrammarDefinition().GetSettings().GetVariableTypeCreator();

                switch (this.GetInfoValue("multiple_type"))
                {
                case "labeled_item_set":
                    return(creator.GetRuleDefinitionLabeledItemSetFactory()
                           .Create(GetGrammarDefinition().GetElement(), this,
                                   GetGrammarDefinition().GetTypeConcept(this.GetInfoValue("label_type"))
                                   ));

                default:
                case "list":
                    return(GetGrammarDefinition().GetSettings().GetVariableTypeCreator()
                           .GetRuleDefinitionListFactory()
                           .Create(GetGrammarDefinition().GetElement(), this));
                }
            });

            get_base_type = new OperationCache <DOMEClass>("get_base_type", delegate() {
                return(this.ConvertInfoValue <DOMEClass>("base_type",
                                                         () => GetDefaultBaseType(),
                                                         s => GetGrammarDefinition().GetClassGeneric(s)
                                                         ));
            });

            get_context_name = new OperationCache <string>("get_context_name", delegate() {
                return(CSLine.Single("?PARSER.?CONTEXT_ID!Context",
                                     "PARSER", GetGrammarDefinition().GetParserName(),
                                     "CONTEXT_ID", GetContextId().StyleAsCapitalizedEntity()
                                     ));
            });

            get_context_default_variable_name = new OperationCache <string>("get_context_default", delegate() {
                return(this.ConvertInfoValue("default_name",
                                             () => this.ConvertInfoValue("store_type",
                                                                         () => GetContextId().StyleAsVariableName(),
                                                                         s => s.StyleAsVariableName()
                                                                         ),
                                             s => s
                                             ));
            });

            get_info_settings = new OperationCache <LookupBackedSet <string, string> >("get_info_settings", delegate() {
                return(GetInfo().CreateBackedSet(DEFAULT_INFO_VALUES));
            });
        }
Ejemplo n.º 12
0
 public string GetContextToStringExpression(string context_expression)
 {
     return(CSLine.Single("?CONTEXT_EXPRESSION.GetTextEX()",
                          "CONTEXT_EXPRESSION", context_expression
                          ));
 }