CSharpMinifier.MinifyMembersAstVisitor.VisitTypeDeclaration C# (CSharp) Method

VisitTypeDeclaration() public method

public VisitTypeDeclaration ( TypeDeclaration typeDeclaration ) : void
typeDeclaration TypeDeclaration
return void
        public override void VisitTypeDeclaration(TypeDeclaration typeDeclaration)
        {
            string key = string.Join(".", _currentNamespaces.ToArray().Reverse().Select(ns => ns.Item1));
            if (key != "")
                key += ".";
            key += string.Join(".", _currentMembers.ToArray().Reverse().Select(m => m.Item1));
            if (key != "" && key[key.Length - 1] != '.')
                key += ".";
            key += typeDeclaration.Name;

            List<NameNode> nameNodes;
            if (!TypesMembers.ContainsKey(key))
            {
                nameNodes = new List<NameNode>();
                TypesMembers.Add(key, nameNodes);
            }
            else
                nameNodes = TypesMembers[key];

            _currentMembers.Push(new Tuple<string, List<NameNode>, CSharpTokenNode>(typeDeclaration.Name, nameNodes,
                (CSharpTokenNode)typeDeclaration.Children.Last()));

            base.VisitTypeDeclaration(typeDeclaration);
        }