private static CompletionItemKind GetCompletionKind(ISymbol symbol) { return(symbol switch { TypeWithMembersSymbolBase _ => CompletionItemKind.Class, MethodSymbol _ => CompletionItemKind.Method, FunctionSymbol _ => CompletionItemKind.Function, VariableSymbol _ => CompletionItemKind.Variable, FieldSymbol _ => CompletionItemKind.Field, _ => CompletionItemKind.Reference });
private void ProcessAndAddAllMembers(TypeWithMembersSymbolBase containingType, TopLevelDeclWithMembers declaration) { foreach (var member in declaration.Members) { cancellationToken.ThrowIfCancellationRequested(); var memberSymbol = ProcessTypeMember(containingType, member); if (memberSymbol != null) { // TODO When respecting all possible class members, this should never be null. containingType.Members.Add(memberSymbol); } } }