Skip to content

Commit b094ecd

Browse files
Create PublicAPI.Unshipped.txt (#24299)
* Updated PublicAPI.Unshipped * Improve record type detection Support both forms of Clone methods to detect record types Co-authored-by: Pranav K <[email protected]>
1 parent 8b0f46c commit b094ecd

File tree

4 files changed

+25
-2
lines changed

4 files changed

+25
-2
lines changed

src/Mvc/Mvc.Abstractions/src/ActionConstraints/ActionConstraintProviderContext.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,4 +59,4 @@ public ActionConstraintProviderContext(
5959
/// </summary>
6060
public IList<ActionConstraintItem> Results { get; }
6161
}
62-
}
62+
}

src/Mvc/Mvc.Abstractions/src/PublicAPI.Unshipped.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -355,6 +355,7 @@ Microsoft.AspNetCore.Mvc.ModelBinding.IValueProviderFactory.CreateValueProviderA
355355
Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.ModelBindingMessageProvider
356356
Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.ModelBindingMessageProvider.ModelBindingMessageProvider() -> void
357357
Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.ModelMetadataIdentity
358+
Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.ModelMetadataIdentity.ConstructorInfo.get -> System.Reflection.ConstructorInfo?
358359
Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.ModelMetadataIdentity.ContainerType.get -> System.Type?
359360
Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.ModelMetadataIdentity.Equals(Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.ModelMetadataIdentity other) -> bool
360361
Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.ModelMetadataIdentity.MetadataKind.get -> Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.ModelMetadataKind
@@ -363,6 +364,7 @@ Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.ModelMetadataIdentity.Name.get ->
363364
Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.ModelMetadataIdentity.ParameterInfo.get -> System.Reflection.ParameterInfo?
364365
Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.ModelMetadataIdentity.PropertyInfo.get -> System.Reflection.PropertyInfo?
365366
Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.ModelMetadataKind
367+
Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.ModelMetadataKind.Constructor = 3 -> Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.ModelMetadataKind
366368
Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.ModelMetadataKind.Parameter = 2 -> Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.ModelMetadataKind
367369
Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.ModelMetadataKind.Property = 1 -> Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.ModelMetadataKind
368370
Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.ModelMetadataKind.Type = 0 -> Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.ModelMetadataKind
@@ -733,6 +735,7 @@ static Microsoft.AspNetCore.Mvc.ModelBinding.BindingInfo.GetBindingInfo(System.C
733735
static Microsoft.AspNetCore.Mvc.ModelBinding.BindingSource.operator !=(Microsoft.AspNetCore.Mvc.ModelBinding.BindingSource? s1, Microsoft.AspNetCore.Mvc.ModelBinding.BindingSource? s2) -> bool
734736
static Microsoft.AspNetCore.Mvc.ModelBinding.BindingSource.operator ==(Microsoft.AspNetCore.Mvc.ModelBinding.BindingSource? s1, Microsoft.AspNetCore.Mvc.ModelBinding.BindingSource? s2) -> bool
735737
static Microsoft.AspNetCore.Mvc.ModelBinding.CompositeBindingSource.Create(System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Mvc.ModelBinding.BindingSource!>! bindingSources, string! displayName) -> Microsoft.AspNetCore.Mvc.ModelBinding.CompositeBindingSource!
738+
static Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.ModelMetadataIdentity.ForConstructor(System.Reflection.ConstructorInfo! constructor, System.Type! modelType) -> Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.ModelMetadataIdentity
736739
static Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.ModelMetadataIdentity.ForParameter(System.Reflection.ParameterInfo! parameter) -> Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.ModelMetadataIdentity
737740
static Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.ModelMetadataIdentity.ForParameter(System.Reflection.ParameterInfo! parameter, System.Type! modelType) -> Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.ModelMetadataIdentity
738741
static Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.ModelMetadataIdentity.ForProperty(System.Reflection.PropertyInfo! propertyInfo, System.Type! modelType, System.Type! containerType) -> Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.ModelMetadataIdentity
@@ -843,10 +846,14 @@ virtual Microsoft.AspNetCore.Mvc.ModelBinding.ModelBinderProviderContext.CreateB
843846
virtual Microsoft.AspNetCore.Mvc.ModelBinding.ModelBinderProviderContext.Services.get -> System.IServiceProvider!
844847
virtual Microsoft.AspNetCore.Mvc.ModelBinding.ModelBindingContext.HttpContext.get -> Microsoft.AspNetCore.Http.HttpContext!
845848
virtual Microsoft.AspNetCore.Mvc.ModelBinding.ModelBindingContext.ModelType.get -> System.Type!
849+
virtual Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata.BoundConstructor.get -> Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata?
850+
virtual Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata.BoundConstructorInvoker.get -> System.Func<object![]!, object!>?
851+
virtual Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata.BoundConstructorParameters.get -> System.Collections.Generic.IReadOnlyList<Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata!>?
846852
virtual Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata.ContainerMetadata.get -> Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata!
847853
virtual Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata.GetMetadataForProperties(System.Type! modelType) -> System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata!>!
848854
virtual Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata.GetMetadataForType(System.Type! modelType) -> Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata!
849855
virtual Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata.HasValidators.get -> bool?
850856
virtual Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata.PropertyValidationFilter.get -> Microsoft.AspNetCore.Mvc.ModelBinding.Validation.IPropertyValidationFilter?
857+
virtual Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadataProvider.GetMetadataForConstructor(System.Reflection.ConstructorInfo! constructor, System.Type! modelType) -> Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata!
851858
virtual Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadataProvider.GetMetadataForParameter(System.Reflection.ParameterInfo! parameter, System.Type! modelType) -> Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata!
852859
virtual Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadataProvider.GetMetadataForProperty(System.Reflection.PropertyInfo! propertyInfo, System.Type! modelType) -> Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata!

src/Mvc/Mvc.Core/src/ModelBinding/Metadata/DefaultBindingMetadataProvider.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,8 @@ private static ConstructorInfo GetRecordTypeConstructor(Type type, ConstructorIn
143143
static bool IsRecordType(Type type)
144144
{
145145
// Based on the state of the art as described in https://github.com/dotnet/roslyn/issues/45777
146-
var cloneMethod = type.GetMethod("<>Clone", BindingFlags.Public | BindingFlags.Instance);
146+
var cloneMethod = type.GetMethod("<Clone>$", BindingFlags.Public | BindingFlags.Instance) ??
147+
type.GetMethod("<>Clone", BindingFlags.Public | BindingFlags.Instance);
147148
return cloneMethod != null && cloneMethod.ReturnType == type;
148149
}
149150
}

src/Mvc/Mvc.Core/src/PublicAPI.Unshipped.txt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -457,6 +457,9 @@ Microsoft.AspNetCore.Mvc.ModelBinding.Binders.CancellationTokenModelBinderProvid
457457
Microsoft.AspNetCore.Mvc.ModelBinding.Binders.CollectionModelBinder<TElement>
458458
Microsoft.AspNetCore.Mvc.ModelBinding.Binders.CollectionModelBinderProvider
459459
Microsoft.AspNetCore.Mvc.ModelBinding.Binders.CollectionModelBinderProvider.CollectionModelBinderProvider() -> void
460+
Microsoft.AspNetCore.Mvc.ModelBinding.Binders.ComplexObjectModelBinder
461+
Microsoft.AspNetCore.Mvc.ModelBinding.Binders.ComplexObjectModelBinderProvider
462+
Microsoft.AspNetCore.Mvc.ModelBinding.Binders.ComplexObjectModelBinderProvider.ComplexObjectModelBinderProvider() -> void
460463
Microsoft.AspNetCore.Mvc.ModelBinding.Binders.ComplexTypeModelBinder
461464
Microsoft.AspNetCore.Mvc.ModelBinding.Binders.ComplexTypeModelBinderProvider
462465
Microsoft.AspNetCore.Mvc.ModelBinding.Binders.ComplexTypeModelBinderProvider.ComplexTypeModelBinderProvider() -> void
@@ -1455,6 +1458,8 @@ virtual Microsoft.AspNetCore.Mvc.ModelBinding.Validation.ValidationVisitor.Visit
14551458
~Microsoft.AspNetCore.Mvc.ModelBinding.Binders.CollectionModelBinder<TElement>.ElementBinder.get -> Microsoft.AspNetCore.Mvc.ModelBinding.IModelBinder
14561459
~Microsoft.AspNetCore.Mvc.ModelBinding.Binders.CollectionModelBinder<TElement>.Logger.get -> Microsoft.Extensions.Logging.ILogger
14571460
~Microsoft.AspNetCore.Mvc.ModelBinding.Binders.CollectionModelBinderProvider.GetBinder(Microsoft.AspNetCore.Mvc.ModelBinding.ModelBinderProviderContext context) -> Microsoft.AspNetCore.Mvc.ModelBinding.IModelBinder
1461+
~Microsoft.AspNetCore.Mvc.ModelBinding.Binders.ComplexObjectModelBinder.BindModelAsync(Microsoft.AspNetCore.Mvc.ModelBinding.ModelBindingContext bindingContext) -> System.Threading.Tasks.Task
1462+
~Microsoft.AspNetCore.Mvc.ModelBinding.Binders.ComplexObjectModelBinderProvider.GetBinder(Microsoft.AspNetCore.Mvc.ModelBinding.ModelBinderProviderContext context) -> Microsoft.AspNetCore.Mvc.ModelBinding.IModelBinder
14581463
~Microsoft.AspNetCore.Mvc.ModelBinding.Binders.ComplexTypeModelBinder.BindModelAsync(Microsoft.AspNetCore.Mvc.ModelBinding.ModelBindingContext bindingContext) -> System.Threading.Tasks.Task
14591464
~Microsoft.AspNetCore.Mvc.ModelBinding.Binders.ComplexTypeModelBinder.ComplexTypeModelBinder(System.Collections.Generic.IDictionary<Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata, Microsoft.AspNetCore.Mvc.ModelBinding.IModelBinder> propertyBinders, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) -> void
14601465
~Microsoft.AspNetCore.Mvc.ModelBinding.Binders.ComplexTypeModelBinder.ComplexTypeModelBinder(System.Collections.Generic.IDictionary<Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata, Microsoft.AspNetCore.Mvc.ModelBinding.IModelBinder> propertyBinders, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, bool allowValidatingTopLevelNodes) -> void
@@ -1527,6 +1532,8 @@ virtual Microsoft.AspNetCore.Mvc.ModelBinding.Validation.ValidationVisitor.Visit
15271532
~Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.BindingMetadata.BinderType.set -> void
15281533
~Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.BindingMetadata.BindingSource.get -> Microsoft.AspNetCore.Mvc.ModelBinding.BindingSource
15291534
~Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.BindingMetadata.BindingSource.set -> void
1535+
~Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.BindingMetadata.BoundConstructor.get -> System.Reflection.ConstructorInfo
1536+
~Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.BindingMetadata.BoundConstructor.set -> void
15301537
~Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.BindingMetadata.ModelBindingMessageProvider.get -> Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.DefaultModelBindingMessageProvider
15311538
~Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.BindingMetadata.ModelBindingMessageProvider.set -> void
15321539
~Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.BindingMetadata.PropertyFilterProvider.get -> Microsoft.AspNetCore.Mvc.ModelBinding.IPropertyFilterProvider
@@ -1543,6 +1550,10 @@ virtual Microsoft.AspNetCore.Mvc.ModelBinding.Validation.ValidationVisitor.Visit
15431550
~Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.BindingSourceMetadataProvider.Type.get -> System.Type
15441551
~Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.DefaultMetadataDetails.BindingMetadata.get -> Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.BindingMetadata
15451552
~Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.DefaultMetadataDetails.BindingMetadata.set -> void
1553+
~Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.DefaultMetadataDetails.BoundConstructorInvoker.get -> System.Func<object[], object>
1554+
~Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.DefaultMetadataDetails.BoundConstructorInvoker.set -> void
1555+
~Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.DefaultMetadataDetails.BoundConstructorParameters.get -> Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata[]
1556+
~Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.DefaultMetadataDetails.BoundConstructorParameters.set -> void
15461557
~Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.DefaultMetadataDetails.ContainerMetadata.get -> Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata
15471558
~Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.DefaultMetadataDetails.ContainerMetadata.set -> void
15481559
~Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.DefaultMetadataDetails.DefaultMetadataDetails(Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.ModelMetadataIdentity key, Microsoft.AspNetCore.Mvc.ModelBinding.ModelAttributes attributes) -> void
@@ -2017,6 +2028,9 @@ virtual Microsoft.AspNetCore.Mvc.ModelBinding.Validation.ValidationVisitor.Visit
20172028
~override Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.DefaultModelMetadata.BinderModelName.get -> string
20182029
~override Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.DefaultModelMetadata.BinderType.get -> System.Type
20192030
~override Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.DefaultModelMetadata.BindingSource.get -> Microsoft.AspNetCore.Mvc.ModelBinding.BindingSource
2031+
~override Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.DefaultModelMetadata.BoundConstructor.get -> Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata
2032+
~override Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.DefaultModelMetadata.BoundConstructorInvoker.get -> System.Func<object[], object>
2033+
~override Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.DefaultModelMetadata.BoundConstructorParameters.get -> System.Collections.Generic.IReadOnlyList<Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata>
20202034
~override Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.DefaultModelMetadata.ContainerMetadata.get -> Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata
20212035
~override Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.DefaultModelMetadata.DataTypeName.get -> string
20222036
~override Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.DefaultModelMetadata.Description.get -> string
@@ -2039,6 +2053,7 @@ virtual Microsoft.AspNetCore.Mvc.ModelBinding.Validation.ValidationVisitor.Visit
20392053
~override Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.DefaultModelMetadata.SimpleDisplayProperty.get -> string
20402054
~override Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.DefaultModelMetadata.TemplateHint.get -> string
20412055
~override Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.DefaultModelMetadata.ValidatorMetadata.get -> System.Collections.Generic.IReadOnlyList<object>
2056+
~override Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.DefaultModelMetadataProvider.GetMetadataForConstructor(System.Reflection.ConstructorInfo constructorInfo, System.Type modelType) -> Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata
20422057
~override Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.DefaultModelMetadataProvider.GetMetadataForParameter(System.Reflection.ParameterInfo parameter) -> Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata
20432058
~override Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.DefaultModelMetadataProvider.GetMetadataForParameter(System.Reflection.ParameterInfo parameter, System.Type modelType) -> Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata
20442059
~override Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.DefaultModelMetadataProvider.GetMetadataForProperties(System.Type modelType) -> System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata>

0 commit comments

Comments
 (0)