Example #1
0
        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));
        }
Example #2
0
        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));
        }
Example #3
0
        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));
            }
        }