public List GetAttrNames(ICallerContext context)
        {
            List ret;

            if ((context.ContextFlags & CallerContextFlags.ShowCls) == 0)
            {
                ret = new List();
                foreach (KeyValuePair <object, object> kvp in __dict__)
                {
                    IContextAwareMember icaa = kvp.Value as IContextAwareMember;
                    if (icaa == null || icaa.IsVisible(context))
                    {
                        ret.AddNoLock(kvp.Key);
                    }
                }
            }
            else
            {
                ret = List.Make(__dict__.Keys);
            }

            ret.AddNoLock("__dict__");
            if (packageImported)
            {
                foreach (object o in innerMod.GetAttrNames(context))
                {
                    if (o is string && (string)o == "__dict__")
                    {
                        continue;
                    }
                    if (!((IDictionary <object, object>)__dict__).ContainsKey(o))
                    {
                        ret.AddNoLock(o);
                    }
                }
            }
            return(ret);
        }