Ejemplo n.º 1
0
        internal static List <ClassDefinition> Hierarchicalize(List <ClassDefinition> container)
        {
            var result = new List <ClassDefinition>();

            foreach (var cdef in container)
            {
                if (cdef.Fullname.Contains(DexConsts.InnerClassMarker))
                {
                    var items    = cdef.Fullname.Split(DexConsts.InnerClassMarker);
                    var fullname = items[0];
                    var name     = items[1];
                    var owner    = Dex.GetClass(fullname, container);
                    if (owner != null)
                    {
                        owner.InnerClasses.Add(cdef);
                        cdef.Owner = owner;
                    }
                }
                else
                {
                    result.Add(cdef);
                }
            }
            return(result);
        }