Exemplo n.º 1
0
        public Lexicon.Type GetOrCreateArrayDataTypeByName(ICSharpClosure closure, Lexicon.Type type)
        {
            string name = type.FullName + "[]";
            var    dt   = closure?.GetByName(name);

            if (dt != null)
            {
                return(dt);
            }
            dt = Objects.SingleOrDefault(ddt => ddt.FullName.Equals(name) && (ddt.Closure?.Equals(closure) ?? closure == ddt.Closure));
            if (dt == null)
            {
                dt = Lookups.FirstOrDefault(ddt => ddt.FullName.Equals(name) && (ddt.FromClosure?.Equals(closure) ?? closure == ddt.FromClosure));
                if (dt == null)
                {
                    LookupObjectType lt = new LookupObjectType(closure, name);
                    dt = lt;
                    Lookups.Add(lt);
                }
            }
            return(dt);
        }
Exemplo n.º 2
0
 public void Add(Lexicon.Type type)
 {
     Objects.Add(type);
 }