private static bool HasFullSpecifiedResolvedType(IProvideResolvedType type) { return(type.ResolvedType switch { null => false, ListGraphType list => HasFullSpecifiedResolvedType(list), NonNullGraphType nonNull => HasFullSpecifiedResolvedType(nonNull), _ => true, // not null });
private void Replace(IProvideResolvedType provider) { if (provider.ResolvedType is IProvideResolvedType wrappedProvider) { Replace(wrappedProvider); } else if (provider.ResolvedType is ScalarGraphType scalar && scalar.Name == _replacement.Name) { provider.ResolvedType = _replacement; } }