public static StandardGlyphItem getGlyphItem(this IXSymbol elt) { StandardGlyphItem imgI = StandardGlyphItem.GlyphItemPublic; switch (elt.Visibility) { case Modifiers.Public: imgI = StandardGlyphItem.GlyphItemPublic; break; case Modifiers.Protected: imgI = StandardGlyphItem.GlyphItemProtected; break; case Modifiers.Private: imgI = StandardGlyphItem.GlyphItemPrivate; break; case Modifiers.Internal: imgI = StandardGlyphItem.GlyphItemInternal; break; case Modifiers.ProtectedInternal: imgI = StandardGlyphItem.GlyphItemProtected; break; } if (elt.IsStatic) { imgI = StandardGlyphItem.GlyphItemShortcut; } return(imgI); }
public static string GetDoc(XAssembly asm, IXSymbol symbol) { var file = XSharpXMLDocTools.GetXmlDocFile(asm, null); string key = null; if (symbol is IXTypeSymbol type) { key = type.XMLSignature; } else if (symbol is IXMemberSymbol member) { key = member.XMLSignature; } if (file == null) { return(null); } if (!string.IsNullOrEmpty(key)) { uint id = 0; string xml = ""; return(ThreadHelper.JoinableTaskFactory.Run(async delegate { await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync(); StringBuilder sb = new StringBuilder(); var result = file.ParseMemberSignature(key, out id); result = file.GetMemberXML(id, out xml); var summary = GetSummary(xml, out var returns, out var remarks); if (!string.IsNullOrWhiteSpace(summary)) { sb.Append(addXml("summary", summary)); } if (symbol is IXMemberSymbol member && member.Parameters.Count > 0) { var names = new List <string>(); var desc = new List <string>(); GetParameterInfo(file, xml, names, desc); if (names.Count > 0 && desc.Count > 0 && names.Count == desc.Count) { for (int i = 0; i < names.Count; i++) { var temp = addXml("param", desc[i]); temp = temp.Replace("<param>", $"<param name=\"{names[i]}\">"); sb.Append(temp); } } } if (!String.IsNullOrWhiteSpace(returns)) { sb.Append(addXml("returns", returns)); } if (!String.IsNullOrWhiteSpace(remarks)) { sb.Append(addXml("remarks", remarks)); } return sb.ToString(); }));
internal XAnalysis(IXSymbol sym) { if (sym == null) { return; } symbol = sym; Name = sym.FullName; }
public static StandardGlyphGroup getGlyphGroup(this IXSymbol elt) { StandardGlyphGroup imgG = StandardGlyphGroup.GlyphGroupClass; switch (elt.Kind) { case Kind.Class: imgG = StandardGlyphGroup.GlyphGroupClass; break; case Kind.Constructor: case Kind.Destructor: case Kind.Method: case Kind.Function: case Kind.Procedure: case Kind.LocalFunc: case Kind.LocalProc: case Kind.VODLL: imgG = StandardGlyphGroup.GlyphGroupMethod; break; case Kind.Structure: imgG = StandardGlyphGroup.GlyphGroupStruct; break; case Kind.Access: case Kind.Assign: case Kind.Property: imgG = StandardGlyphGroup.GlyphGroupProperty; break; case Kind.Local: case Kind.MemVar: case Kind.DbField: case Kind.Parameter: imgG = StandardGlyphGroup.GlyphGroupVariable; break; case Kind.Event: imgG = StandardGlyphGroup.GlyphGroupEvent; break; case Kind.Delegate: imgG = StandardGlyphGroup.GlyphGroupDelegate; break; case Kind.Enum: imgG = StandardGlyphGroup.GlyphGroupEnum; break; case Kind.EnumMember: imgG = StandardGlyphGroup.GlyphGroupEnumMember; break; case Kind.Operator: imgG = StandardGlyphGroup.GlyphGroupOperator; break; case Kind.Interface: imgG = StandardGlyphGroup.GlyphGroupInterface; break; case Kind.Namespace: imgG = StandardGlyphGroup.GlyphGroupNamespace; break; case Kind.Field: case Kind.VOGlobal: imgG = StandardGlyphGroup.GlyphGroupField; break; case Kind.Union: imgG = StandardGlyphGroup.GlyphGroupUnion; break; case Kind.VODefine: case Kind.Define: case Kind.Undefine: imgG = StandardGlyphGroup.GlyphGroupConstant; break; case Kind.VOStruct: imgG = StandardGlyphGroup.GlyphGroupValueType; break; case Kind.Keyword: imgG = StandardGlyphGroup.GlyphKeyword; break; case Kind.Using: imgG = StandardGlyphGroup.GlyphReference; break; case Kind.Attribute: imgG = StandardGlyphGroup.GlyphGroupIntrinsic; break; case Kind.Command: case Kind.XCommand: case Kind.Translate: case Kind.XTranslate: imgG = StandardGlyphGroup.GlyphGroupMacro; break; case Kind.TypeParameter: imgG = StandardGlyphGroup.GlyphGroupType; break; case Kind.Unknown: case Kind.Ignore: case Kind.Undeclared: imgG = StandardGlyphGroup.GlyphGroupUnknown; break; } return(imgG); }
internal QuickInfoBase(IXSymbol symbol) { _symbol = symbol; }
private static string LookupXml(IXSymbol key) { return(XSharpXMLDocMember.GetDoc(asmName, key)); }