ParameterHintingResult HandleAttribute(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken) { var info = semanticModel.GetSymbolInfo(node, cancellationToken); var result = new ParameterHintingResult(node.SpanStart); var resolvedMethod = info.Symbol as IMethodSymbol; if (resolvedMethod != null) { result.AddData(factory.CreateConstructorProvider(resolvedMethod)); } result.AddRange(info.CandidateSymbols.OfType <IMethodSymbol>().Select(m => factory.CreateConstructorProvider(m))); return(result); }
ParameterHintingResult HandleAttribute(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken) { var info = semanticModel.GetSymbolInfo(node, cancellationToken); var result = new ParameterHintingResult(node.SpanStart); var resolvedMethod = info.Symbol as IMethodSymbol; if (resolvedMethod != null) { foreach (var c in resolvedMethod.ContainingType.GetMembers().OfType <IMethodSymbol> ().Where(m => m.MethodKind == MethodKind.Constructor)) { result.AddData(factory.CreateConstructorProvider(c)); } } else { result.AddRange(info.CandidateSymbols.OfType <IMethodSymbol> ().Select(factory.CreateConstructorProvider)); } return(result); }