public void MethodLoaderConsistency(MethodInfo m) { var signature = MethodSignature.FromReflection(m); var ilSpy = cx.GetMethod(signature); Assert.Equal(SymbolFormatter.MethodToString(m), SymbolFormatter.MethodToString(ilSpy)); Assert.Equal(signature, SymbolLoader.Method(ilSpy)); }
public void TypeLoaderConsistency(Type t) { var signature = TypeSignature.FromType(t); var ilSpy = cx.GetTypeDef(signature); Assert.Equal(SymbolFormatter.TypeDefToString(t), SymbolFormatter.TypeDefToString(ilSpy)); Assert.Equal(signature, SymbolLoader.Type(ilSpy)); }
internal CSharpCompletionTooltip(Completion completion, ImmutableArray <ISymbol> symbols, SemanticModel semanticModel, SymbolFormatter formatter) { var symbol = symbols[0]; var sign = SymbolInfoRenderer.ShowSymbolDeclaration(symbol, formatter); var stype = symbol.GetReturnType(); if (stype != null) { sign.AddText(" ").AddSymbol(stype, null, formatter).AddText(" "); } formatter.ToUIText(sign, symbol.ToDisplayParts(), -1); if (symbols.Length > 1) { sign.AddText("(+" + (symbols.Length - 1).ToString() + " overloads)"); } this.Add(sign.LimitSize()); var doc = symbol.GetXmlDocForSymbol(); if (doc != null) { this.Add(new XmlDocRenderer(semanticModel.Compilation, formatter).Render(doc)); } }