示例#1
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);
            });
        }
示例#2
0
 public CmlValue_Link_Normal(VariableInstance v, HasInfo i)
 {
     variable_instance = v;
     info = i;
 }
示例#3
0
 public CmlValue_Function(FunctionInstance a, HasInfo i)
 {
     function_instance = a;
     info = i;
 }
示例#4
0
 static public string GetInfoValue(this HasInfo item, string name)
 {
     return(item.GetInfoSettings().Lookup(name));
 }
示例#5
0
 static public T ConvertInfoValue <T>(this HasInfo item, string name, Operation <T> default_operation, Operation <T, string> operation)
 {
     return(item.GetInfoSettings().Convert(name, default_operation, operation));
 }
示例#6
0
 static public bool IsInfoValueNot(this HasInfo item, string name, string value)
 {
     return(item.GetInfoSettings().IsNot(name, value));
 }
示例#7
0
 static public bool IsInfoValueFalse(this HasInfo item, string name)
 {
     return(item.GetInfoSettings().IsFalse(name));
 }
示例#8
0
 static public bool IsInfoValueDefault(this HasInfo item, string name)
 {
     return(item.GetInfoSettings().IsAsBacked(name));
 }
示例#9
0
 static public string GetBoolInfoValue(this HasInfo item, string name, string if_true, string if_false)
 {
     return(item.GetInfoSettings().ConvertBool(name, if_true, if_false));
 }