private static void FillClassDescription(IVsObjectBrowserDescription3 description, ClassScopeNode classScope)
        {
            description.AddDescriptionText3("class ", VSOBDESCRIPTIONSECTION.OBDS_MISC, null);
            description.AddDescriptionText3(classScope.Name, VSOBDESCRIPTIONSECTION.OBDS_NAME, null);
            var classDef = classScope.Definition;

            if (classDef.Bases.Count > 0)
            {
                description.AddDescriptionText3("(", VSOBDESCRIPTIONSECTION.OBDS_MISC, null);
                bool comma = false;
                foreach (var baseClass in classDef.Bases)
                {
                    if (comma)
                    {
                        description.AddDescriptionText3(", ", VSOBDESCRIPTIONSECTION.OBDS_MISC, null);
                    }

                    string baseStr = FormatExpression(baseClass.Expression);
                    if (baseStr != null)
                    {
                        description.AddDescriptionText3(baseStr, VSOBDESCRIPTIONSECTION.OBDS_TYPE, null);
                    }

                    comma = true;
                }
                description.AddDescriptionText3(")", VSOBDESCRIPTIONSECTION.OBDS_MISC, null);
            }

            description.AddDescriptionText3("\n", VSOBDESCRIPTIONSECTION.OBDS_MISC, null);
            description.AddDescriptionText3(null, VSOBDESCRIPTIONSECTION.OBDS_ENDDECL, null);

            if (!String.IsNullOrWhiteSpace(classDef.Body.Documentation))
            {
                description.AddDescriptionText3("    " + classDef.Body.Documentation, VSOBDESCRIPTIONSECTION.OBDS_MISC, null);
            }
        }
Exemplo n.º 2
0
        private static void FillClassDescription(IVsObjectBrowserDescription3 description, ClassScopeNode classScope) {
            description.AddDescriptionText3("class ", VSOBDESCRIPTIONSECTION.OBDS_MISC, null);
            description.AddDescriptionText3(classScope.Name, VSOBDESCRIPTIONSECTION.OBDS_NAME, null);
            var classDef = classScope.Definition;
            if (classDef.Bases.Count > 0) {
                description.AddDescriptionText3("(", VSOBDESCRIPTIONSECTION.OBDS_MISC, null);
                bool comma = false;
                foreach (var baseClass in classDef.Bases) {
                    if (comma) {
                        description.AddDescriptionText3(", ", VSOBDESCRIPTIONSECTION.OBDS_MISC, null);
                    }

                    string baseStr = FormatExpression(baseClass.Expression);
                    if (baseStr != null) {
                        description.AddDescriptionText3(baseStr, VSOBDESCRIPTIONSECTION.OBDS_TYPE, null);
                    }

                    comma = true;
                }
                description.AddDescriptionText3(")", VSOBDESCRIPTIONSECTION.OBDS_MISC, null);
            }

            description.AddDescriptionText3("\n", VSOBDESCRIPTIONSECTION.OBDS_MISC, null);
            description.AddDescriptionText3(null, VSOBDESCRIPTIONSECTION.OBDS_ENDDECL, null);

            if (!String.IsNullOrWhiteSpace(classDef.Body.Documentation)) {
                description.AddDescriptionText3("    " + classDef.Body.Documentation, VSOBDESCRIPTIONSECTION.OBDS_MISC, null);
            }
        }