public virtual TypeNode VisitTypeNode(TypeNode typeNode) { if (typeNode == null) return null; typeNode.Attributes = this.VisitAttributeList(typeNode.Attributes); typeNode.SecurityAttributes = this.VisitSecurityAttributeList(typeNode.SecurityAttributes); Class c = typeNode as Class; if (c != null) c.BaseClass = (Class)this.VisitTypeReference(c.BaseClass); typeNode.Interfaces = this.VisitInterfaceReferenceList(typeNode.Interfaces); typeNode.TemplateArguments = this.VisitTypeReferenceList(typeNode.TemplateArguments); typeNode.TemplateParameters = this.VisitTypeParameterList(typeNode.TemplateParameters); this.VisitMemberList(typeNode.Members); if (this.memberListNamesChanged) { typeNode.ClearMemberTable(); } return typeNode; }