Пример #1
0
 /// <summary>
 /// Internalizes a type descriptor.
 /// </summary>
 /// <param name="td">a type descriptor</param>
 /// <returns>equivalent type descriptor which is contained inside the library</returns>
 public TypeDescriptor Canonicalize(TypeDescriptor td)
 {
     TypeDescriptor tdOut;
     if (_types.TryGetValue(td, out tdOut))
     {
         return tdOut;
     }
     else
     {
         td = td.Clone();
         _types[td] = td;
         if (!td.HasIntrinsicTypeOverride)
         {
             PackageDescriptor pd = GetPackage(td.CILType);
             td.Package = pd;
             pd.AddChild(td, td.Name);
         }
         return td;
     }
 }
Пример #2
0
        /// <summary>
        /// Internalizes a type descriptor.
        /// </summary>
        /// <param name="td">a type descriptor</param>
        /// <returns>equivalent type descriptor which is contained inside the library</returns>
        public TypeDescriptor Canonicalize(TypeDescriptor td)
        {
            TypeDescriptor tdOut;

            if (_types.TryGetValue(td, out tdOut))
            {
                return(tdOut);
            }
            else
            {
                td         = td.Clone();
                _types[td] = td;
                if (!td.HasIntrinsicTypeOverride)
                {
                    PackageDescriptor pd = GetPackage(td.CILType);
                    td.Package = pd;
                    pd.AddChild(td, td.Name);
                }
                return(td);
            }
        }