public static void Document(this ITypeInfoWrapper _this, StringLineBuilder output, string qualifiedName, int implementsLevel) { output.AppendLine(); if (implementsLevel == 0) { output.AppendLine("-------------------------------------------------------------------------------"); output.AppendLine(); } implementsLevel++; qualifiedName += "::" + (_this.Name ?? "[unnamed]"); output.AppendLineNoNullChars(qualifiedName); output.AppendLineNoNullChars("- FullName: " + _this.ContainerName + "." + _this.Name); output.AppendLineNoNullChars("- Documentation: " + _this.DocString); output.AppendLineNoNullChars("- HelpContext: " + _this.HelpContext); output.AppendLineNoNullChars("- HelpFile: " + _this.HelpFile); output.AppendLine("- HasVBEExtensions: " + _this.HasVBEExtensions); if (_this.HasVBEExtensions) { output.AppendLine("- HasModuleScopeCompilationErrors: " + _this.HasModuleScopeCompilationErrors); } output.AppendLine("- Type: " + _this.TypeKind); output.AppendLine("- Guid: {" + _this.GUID + "}"); output.AppendLine("- cImplTypes (implemented interfaces count): " + _this.ImplementedInterfaces.Count); output.AppendLine("- cFuncs (function count): " + _this.Funcs.Count); output.AppendLine("- cVars (fields count): " + _this.Vars.Count); foreach (var func in _this.Funcs) { using (func) { func.Document(output); } } foreach (var variable in _this.Vars) { using (variable) { variable.Document(output); } } foreach (var typeInfoImpl in _this.ImplementedInterfaces) { using (typeInfoImpl) { output.AppendLine("implements..."); typeInfoImpl.Document(output, qualifiedName, implementsLevel); } } }
public static void Document(this ITypeLibWrapper _this, StringLineBuilder output) { output.AppendLine(); output.AppendLine("================================================================================"); output.AppendLine(); output.AppendLine("ITypeLib: " + _this.Name); output.AppendLineNoNullChars("- Documentation: " + _this.DocString); output.AppendLineNoNullChars("- HelpContext: " + _this.HelpContext); output.AppendLineNoNullChars("- HelpFile: " + _this.HelpFile); output.AppendLine("- Guid: " + _this.Attributes.guid); output.AppendLine("- Lcid: " + _this.Attributes.lcid); output.AppendLine("- SysKind: " + _this.Attributes.syskind); output.AppendLine("- LibFlags: " + _this.Attributes.wLibFlags); output.AppendLine("- MajorVer: " + _this.Attributes.wMajorVerNum); output.AppendLine("- MinorVer: " + _this.Attributes.wMinorVerNum); output.AppendLine("- HasVBEExtensions: " + _this.HasVBEExtensions); if (_this.HasVBEExtensions) { output.AppendLine("- VBE Conditional Compilation Arguments: " + _this.VBEExtensions.ConditionalCompilationArgumentsRaw); foreach (var reference in _this.VBEExtensions.VBEReferences) { reference.Document(output); } } output.AppendLine("- TypeCount: " + _this.TypesCount); foreach (var typeInfo in _this.TypeInfos) { using (typeInfo) { typeInfo.Document(output, _this.Name, 0); } } }