private static bool AddNames(TypeSymbol type, ArrayBuilder <string> namesBuilder) { if (type.IsTupleType) { if (type.TupleElementNames.IsDefaultOrEmpty) { // If none of the tuple elements have names, put // null placeholders in. // TODO(https://github.com/dotnet/roslyn/issues/12347): // A possible optimization could be to emit an empty attribute // if all the names are missing, but that has to be true // recursively. namesBuilder.AddMany(null, type.TupleElementTypes.Length); } else { namesBuilder.AddRange(type.TupleElementNames); } } // Always recur into nested types return(false); }