Esempio n. 1
0
        public DataType?Find(string synonym)
        {
            synonym = synonym.ToLower();

            if (Synonyms.ContainsKey(synonym))
            {
                return(Synonyms[synonym].DataType);
            }

            return(null);
        }
Esempio n. 2
0
        public void Add(string name, DataType type, string[] synonyms)
        {
            TypeMapItem item;

            foreach (var syn in synonyms)
            {
                if (Synonyms.ContainsKey(syn.ToLower()))
                {
                    throw new ExpressionException("Synonym '" + syn + "' already added to type map");
                }
            }

            if (!Items.ContainsKey(name.ToLower()))
            {
                item = Items[name.ToLower()] =
                    new TypeMapItem
                {
                    Name     = name,
                    DataType = type,
                    Synonyms = synonyms.ToList()
                };
            }
            else
            {
                item = Items[name.ToLower()];
                item.Synonyms.AddRange(synonyms);
            }

            foreach (var syn in synonyms)
            {
                if (!Synonyms.ContainsKey(syn.ToLower()))
                {
                    Synonyms.Add(syn.ToLower(), item);
                }
            }

            if (!Synonyms.ContainsKey(name.ToLower()))
            {
                Synonyms.Add(name.ToLower(), item);
            }
        }