1 write to RefKind
System.Text.Json.SourceGeneration (1)
JsonSourceGenerator.Parser.cs (1)
2870RefKind = parameterInfo.RefKind,
15 references to RefKind
System.Text.Json.SourceGeneration (15)
JsonSourceGenerator.Emitter.cs (13)
1432string refModifier = param.RefKind switch 1441callArgs.Append(param.RefKind is RefKind.Out ? "null" : $"p{param.ParameterIndex}"); 1458: $"new global::System.Type[] {{{string.Join(", ", parameters.Select(p => $"typeof({p.ParameterType.FullyQualifiedName}){(p.RefKind is RefKind.None ? "" : ".MakeByRefType()")}"))}}}"; 1467if (parameters.Any(p => p.RefKind is RefKind.Ref or RefKind.Out)) 1479if (param.RefKind is RefKind.Ref or RefKind.Out) 1544int nonOutParamCount = parameters.Count(p => p.RefKind != RefKind.Out); 1546Debug.Assert(paramCount > 0 || parameters.Any(p => p.RefKind == RefKind.Out)); 1556if (spec.RefKind == RefKind.Out) 1764bool hasRefOrRefReadonlyParams = parameters.Any(p => p.RefKind == RefKind.Ref || p.RefKind == RefKindRefReadOnlyParameter); 1776if (param.RefKind == RefKind.Ref || param.RefKind == RefKindRefReadOnlyParameter) 1837return param.RefKind switch
JsonSourceGenerator.Parser.cs (2)
2893int paramCount = constructorParameters?.Count(p => p.RefKind != RefKind.Out) ?? 0; 2949=> paramSpec.RefKind != RefKind.Out &&