Update to new interceptable location APIs (#55285)

This commit is contained in:
Safia Abdalla 2024-04-23 09:49:34 -07:00 коммит произвёл GitHub
Родитель f301b88c4a
Коммит 78cb980576
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
49 изменённых файлов: 183 добавлений и 152 удалений

Просмотреть файл

@ -41,5 +41,9 @@
<!-- Transivite dependency of Microsoft.CodeAnalysis.ExternalAccess.AspNetCore -> Microsoft.CodeAnalysis.Features.
In product build the dependency is bumped to latest, which also bumps the version of DiaSymReader -->
<UsagePattern IdentityGlob="Microsoft.DiaSymReader/*2.0.0*" />
<!-- Transitive dependency of Roslyn dependencies. -->
<UsagePattern IdentityGlob="System.Text.Json/8.0.0*" />
<UsagePattern IdentityGlob="System.Text.Encodings.Web/8.0.0*" />
</IgnorePatterns>
</UsageData>

Просмотреть файл

@ -341,26 +341,26 @@
<SourceBuild RepoName="source-build-reference-packages" ManagedOnly="true" />
</Dependency>
<!-- Not updated automatically -->
<Dependency Name="Microsoft.CodeAnalysis.Common" Version="4.8.0-3.23518.7">
<Dependency Name="Microsoft.CodeAnalysis.Common" Version="4.11.0-1.24218.5">
<Uri>https://github.com/dotnet/roslyn</Uri>
<Sha>1aa759af23d2a29043ea44fcef5bd6823dafa5d0</Sha>
<Sha>afa1eb6821f62183651ab017b2f5c3fbeb934904</Sha>
</Dependency>
<Dependency Name="Microsoft.CodeAnalysis.ExternalAccess.AspNetCore" Version="4.8.0-3.23518.7">
<Dependency Name="Microsoft.CodeAnalysis.ExternalAccess.AspNetCore" Version="4.11.0-1.24218.5">
<Uri>https://github.com/dotnet/roslyn</Uri>
<Sha>1aa759af23d2a29043ea44fcef5bd6823dafa5d0</Sha>
<Sha>afa1eb6821f62183651ab017b2f5c3fbeb934904</Sha>
</Dependency>
<Dependency Name="Microsoft.CodeAnalysis.CSharp" Version="4.8.0-3.23518.7">
<Dependency Name="Microsoft.CodeAnalysis.CSharp" Version="4.11.0-1.24218.5">
<Uri>https://github.com/dotnet/roslyn</Uri>
<Sha>1aa759af23d2a29043ea44fcef5bd6823dafa5d0</Sha>
<Sha>afa1eb6821f62183651ab017b2f5c3fbeb934904</Sha>
</Dependency>
<Dependency Name="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="4.8.0-3.23518.7">
<Dependency Name="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="4.11.0-1.24218.5">
<Uri>https://github.com/dotnet/roslyn</Uri>
<Sha>1aa759af23d2a29043ea44fcef5bd6823dafa5d0</Sha>
<Sha>afa1eb6821f62183651ab017b2f5c3fbeb934904</Sha>
</Dependency>
<!-- Intermediate is necessary for source build. -->
<Dependency Name="Microsoft.SourceBuild.Intermediate.roslyn" Version="4.8.0-3.23518.7">
<Dependency Name="Microsoft.SourceBuild.Intermediate.roslyn" Version="4.11.0-1.24218.5">
<Uri>https://github.com/dotnet/roslyn</Uri>
<Sha>1aa759af23d2a29043ea44fcef5bd6823dafa5d0</Sha>
<Sha>afa1eb6821f62183651ab017b2f5c3fbeb934904</Sha>
<SourceBuild RepoName="roslyn" ManagedOnly="true" />
</Dependency>
<Dependency Name="System.Composition" Version="9.0.0-preview.4.24222.10">

Просмотреть файл

@ -149,11 +149,11 @@
<MicrosoftEntityFrameworkCoreVersion>9.0.0-preview.4.24222.2</MicrosoftEntityFrameworkCoreVersion>
<MicrosoftEntityFrameworkCoreDesignVersion>9.0.0-preview.4.24222.2</MicrosoftEntityFrameworkCoreDesignVersion>
<!-- Packages from dotnet/roslyn -->
<MicrosoftCodeAnalysisCommonVersion>4.8.0-3.23518.7</MicrosoftCodeAnalysisCommonVersion>
<MicrosoftCodeAnalysisExternalAccessAspNetCoreVersion>4.8.0-3.23518.7</MicrosoftCodeAnalysisExternalAccessAspNetCoreVersion>
<MicrosoftCodeAnalysisCSharpVersion>4.8.0-3.23518.7</MicrosoftCodeAnalysisCSharpVersion>
<MicrosoftCodeAnalysisCSharpWorkspacesVersion>4.8.0-3.23518.7</MicrosoftCodeAnalysisCSharpWorkspacesVersion>
<MicrosoftSourceBuildIntermediateroslynVersion>4.8.0-3.23518.7</MicrosoftSourceBuildIntermediateroslynVersion>
<MicrosoftCodeAnalysisCommonVersion>4.11.0-1.24218.5</MicrosoftCodeAnalysisCommonVersion>
<MicrosoftCodeAnalysisExternalAccessAspNetCoreVersion>4.11.0-1.24218.5</MicrosoftCodeAnalysisExternalAccessAspNetCoreVersion>
<MicrosoftCodeAnalysisCSharpVersion>4.11.0-1.24218.5</MicrosoftCodeAnalysisCSharpVersion>
<MicrosoftCodeAnalysisCSharpWorkspacesVersion>4.11.0-1.24218.5</MicrosoftCodeAnalysisCSharpWorkspacesVersion>
<MicrosoftSourceBuildIntermediateroslynVersion>4.11.0-1.24218.5</MicrosoftSourceBuildIntermediateroslynVersion>
<!-- Packages from NuGet/Nuget.client -->
<!-- If you update these versions, make sure to also update https://github.com/dotnet/aspnetcore/blob/main/eng/SourceBuildPrebuiltBaseline.xml -->
<NuGetPackagingVersion>6.2.4</NuGetPackagingVersion>
@ -249,11 +249,11 @@
<Analyzer_MicrosoftCodeAnalysisCSharpWorkspacesVersion>3.3.1</Analyzer_MicrosoftCodeAnalysisCSharpWorkspacesVersion>
<!-- Pin the version of the M.CA dependencies that we utilize with a cutom version property $(MicrosoftCodeAnalysisVersion_LatestVS) to avoid automatically
consuming the newest version of the packages when using the $(MicrosoftCodeAnalysisCSharpVersion) properties in source-build. -->
<MicrosoftCodeAnalysisVersion_LatestVS>4.8.0-3.23518.7</MicrosoftCodeAnalysisVersion_LatestVS>
<MicrosoftCodeAnalysisExternalAccessAspNetCoreVersion>4.8.0-3.23518.7</MicrosoftCodeAnalysisExternalAccessAspNetCoreVersion>
<MicrosoftCodeAnalysisCommonVersion>4.8.0-3.23518.7</MicrosoftCodeAnalysisCommonVersion>
<MicrosoftCodeAnalysisCSharpVersion>4.8.0-3.23518.7</MicrosoftCodeAnalysisCSharpVersion>
<MicrosoftCodeAnalysisCSharpWorkspacesVersion>4.8.0-3.23518.7</MicrosoftCodeAnalysisCSharpWorkspacesVersion>
<MicrosoftCodeAnalysisVersion_LatestVS>4.11.0-1.24218.5</MicrosoftCodeAnalysisVersion_LatestVS>
<MicrosoftCodeAnalysisExternalAccessAspNetCoreVersion>4.11.0-1.24218.5</MicrosoftCodeAnalysisExternalAccessAspNetCoreVersion>
<MicrosoftCodeAnalysisCommonVersion>4.11.0-1.24218.5</MicrosoftCodeAnalysisCommonVersion>
<MicrosoftCodeAnalysisCSharpVersion>4.11.0-1.24218.5</MicrosoftCodeAnalysisCSharpVersion>
<MicrosoftCodeAnalysisCSharpWorkspacesVersion>4.11.0-1.24218.5</MicrosoftCodeAnalysisCSharpWorkspacesVersion>
<MicrosoftCodeAnalysisPublicApiAnalyzersVersion>3.3.3</MicrosoftCodeAnalysisPublicApiAnalyzersVersion>
<MicrosoftCodeAnalysisCSharpAnalyzerTestingXUnitVersion>1.1.2-beta1.24121.1</MicrosoftCodeAnalysisCSharpAnalyzerTestingXUnitVersion>
<MicrosoftCodeAnalysisCSharpCodeFixTestingXUnitVersion>1.1.2-beta1.24121.1</MicrosoftCodeAnalysisCSharpCodeFixTestingXUnitVersion>

Просмотреть файл

@ -54,7 +54,7 @@ public sealed class RequestDelegateGenerator : IIncrementalGenerator
.WithTrackingName(GeneratorSteps.EndpointsWithoutDiagnosicsStep);
var interceptorDefinitions = endpoints
.GroupWith((endpoint) => endpoint.Location, EndpointDelegateComparer.Instance)
.GroupWith((endpoint) => endpoint.InterceptableLocation, EndpointDelegateComparer.Instance)
.Select((endpointWithLocations, _) =>
{
var endpoint = endpointWithLocations.Source;
@ -62,7 +62,9 @@ public sealed class RequestDelegateGenerator : IIncrementalGenerator
using var codeWriter = new CodeWriter(stringWriter, baseIndent: 2);
foreach (var location in endpointWithLocations.Elements)
{
codeWriter.WriteLine($$"""[InterceptsLocation(@"{{location.File}}", {{location.LineNumber}}, {{location.CharacterNumber}})]""");
#pragma warning disable RSEXPERIMENTAL002 // Experimental interceptable location API
codeWriter.WriteLine(location.GetInterceptsLocationAttributeSyntax());
#pragma warning restore RSEXPERIMENTAL002
}
codeWriter.WriteLine($"internal static RouteHandlerBuilder {endpoint.HttpMethod}{endpointWithLocations.Index}(");
codeWriter.Indent++;

Просмотреть файл

@ -471,7 +471,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}

Просмотреть файл

@ -8,6 +8,7 @@ using Microsoft.AspNetCore.Analyzers.Infrastructure;
using Microsoft.AspNetCore.App.Analyzers.Infrastructure;
using Microsoft.AspNetCore.Http.RequestDelegateGenerator.StaticRouteHandlerModel.Emitters;
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.CSharp;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Microsoft.CodeAnalysis.Operations;
@ -19,6 +20,9 @@ internal class Endpoint
{
Operation = operation;
Location = GetLocation(operation);
#pragma warning disable RSEXPERIMENTAL002 // Experimental interceptable location API
InterceptableLocation = semanticModel.GetInterceptableLocation((InvocationExpressionSyntax)operation.Syntax)!;
#pragma warning restore RSEXPERIMENTAL002
HttpMethod = GetHttpMethod(operation);
EmitterContext = new EmitterContext();
@ -98,10 +102,13 @@ internal class Endpoint
public List<Diagnostic> Diagnostics { get; } = new List<Diagnostic>();
public (string File, int LineNumber, int CharacterNumber) Location { get; }
#pragma warning disable RSEXPERIMENTAL002 // Experimental interceptable location API
public InterceptableLocation InterceptableLocation { get; }
#pragma warning restore RSEXPERIMENTAL002
public IInvocationOperation Operation { get; }
public override bool Equals(object o) =>
o is Endpoint other && Location == other.Location && SignatureEquals(this, other);
o is Endpoint other && InterceptableLocation == other.InterceptableLocation && SignatureEquals(this, other);
public override int GetHashCode() =>
HashCode.Combine(Location, GetSignatureHashCode(this));

Просмотреть файл

@ -14,7 +14,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}
@ -58,7 +58,7 @@ namespace Microsoft.AspNetCore.Http.Generated
private static readonly JsonOptions FallbackJsonOptions = new();
private static readonly string[] GetVerb = new[] { global::Microsoft.AspNetCore.Http.HttpMethods.Get };
[InterceptsLocation(@"TestMapActions.cs", 9, 13)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet0(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,

Просмотреть файл

@ -14,7 +14,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}
@ -58,8 +58,8 @@ namespace Microsoft.AspNetCore.Http.Generated
private static readonly JsonOptions FallbackJsonOptions = new();
private static readonly string[] GetVerb = new[] { global::Microsoft.AspNetCore.Http.HttpMethods.Get };
[InterceptsLocation(@"TestMapActions.cs", 26, 13)]
[InterceptsLocation(@"TestMapActions.cs", 27, 5)]
%INTERCEPTSLOCATIONATTRIBUTE%
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet0(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@ -168,8 +168,8 @@ namespace Microsoft.AspNetCore.Http.Generated
castHandler.Method);
}
[InterceptsLocation(@"TestMapActions.cs", 29, 5)]
[InterceptsLocation(@"TestMapActions.cs", 30, 5)]
%INTERCEPTSLOCATIONATTRIBUTE%
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet1(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,

Просмотреть файл

@ -14,7 +14,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}
@ -58,7 +58,7 @@ namespace Microsoft.AspNetCore.Http.Generated
private static readonly JsonOptions FallbackJsonOptions = new();
private static readonly string[] GetVerb = new[] { global::Microsoft.AspNetCore.Http.HttpMethods.Get };
[InterceptsLocation(@"TestMapActions.cs", 26, 13)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet0(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@ -169,7 +169,7 @@ namespace Microsoft.AspNetCore.Http.Generated
castHandler.Method);
}
[InterceptsLocation(@"TestMapActions.cs", 27, 5)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet1(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@ -266,7 +266,7 @@ namespace Microsoft.AspNetCore.Http.Generated
castHandler.Method);
}
[InterceptsLocation(@"TestMapActions.cs", 28, 5)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet2(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@ -365,7 +365,7 @@ namespace Microsoft.AspNetCore.Http.Generated
castHandler.Method);
}
[InterceptsLocation(@"TestMapActions.cs", 29, 5)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet3(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@ -462,7 +462,7 @@ namespace Microsoft.AspNetCore.Http.Generated
castHandler.Method);
}
[InterceptsLocation(@"TestMapActions.cs", 30, 5)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet4(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@ -573,7 +573,7 @@ namespace Microsoft.AspNetCore.Http.Generated
castHandler.Method);
}
[InterceptsLocation(@"TestMapActions.cs", 31, 5)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet5(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@ -670,7 +670,7 @@ namespace Microsoft.AspNetCore.Http.Generated
castHandler.Method);
}
[InterceptsLocation(@"TestMapActions.cs", 32, 5)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet6(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@ -769,7 +769,7 @@ namespace Microsoft.AspNetCore.Http.Generated
castHandler.Method);
}
[InterceptsLocation(@"TestMapActions.cs", 33, 5)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet7(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@ -866,7 +866,7 @@ namespace Microsoft.AspNetCore.Http.Generated
castHandler.Method);
}
[InterceptsLocation(@"TestMapActions.cs", 34, 5)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet8(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@ -976,7 +976,7 @@ namespace Microsoft.AspNetCore.Http.Generated
castHandler.Method);
}
[InterceptsLocation(@"TestMapActions.cs", 35, 5)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet9(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@ -1072,7 +1072,7 @@ namespace Microsoft.AspNetCore.Http.Generated
castHandler.Method);
}
[InterceptsLocation(@"TestMapActions.cs", 36, 5)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet10(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@ -1170,7 +1170,7 @@ namespace Microsoft.AspNetCore.Http.Generated
castHandler.Method);
}
[InterceptsLocation(@"TestMapActions.cs", 37, 5)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet11(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@ -1266,7 +1266,7 @@ namespace Microsoft.AspNetCore.Http.Generated
castHandler.Method);
}
[InterceptsLocation(@"TestMapActions.cs", 38, 5)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet12(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@ -1377,7 +1377,7 @@ namespace Microsoft.AspNetCore.Http.Generated
castHandler.Method);
}
[InterceptsLocation(@"TestMapActions.cs", 39, 5)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet13(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@ -1474,7 +1474,7 @@ namespace Microsoft.AspNetCore.Http.Generated
castHandler.Method);
}
[InterceptsLocation(@"TestMapActions.cs", 40, 5)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet14(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@ -1584,7 +1584,7 @@ namespace Microsoft.AspNetCore.Http.Generated
castHandler.Method);
}
[InterceptsLocation(@"TestMapActions.cs", 41, 5)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet15(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@ -1680,7 +1680,7 @@ namespace Microsoft.AspNetCore.Http.Generated
castHandler.Method);
}
[InterceptsLocation(@"TestMapActions.cs", 42, 5)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet16(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@ -1791,7 +1791,7 @@ namespace Microsoft.AspNetCore.Http.Generated
castHandler.Method);
}
[InterceptsLocation(@"TestMapActions.cs", 43, 5)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet17(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@ -1888,7 +1888,7 @@ namespace Microsoft.AspNetCore.Http.Generated
castHandler.Method);
}
[InterceptsLocation(@"TestMapActions.cs", 44, 5)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet18(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@ -1998,7 +1998,7 @@ namespace Microsoft.AspNetCore.Http.Generated
castHandler.Method);
}
[InterceptsLocation(@"TestMapActions.cs", 45, 5)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet19(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,

Просмотреть файл

@ -14,7 +14,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}
@ -58,7 +58,7 @@ namespace Microsoft.AspNetCore.Http.Generated
private static readonly JsonOptions FallbackJsonOptions = new();
private static readonly string[] PostVerb = new[] { global::Microsoft.AspNetCore.Http.HttpMethods.Post };
[InterceptsLocation(@"TestMapActions.cs", 26, 13)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapPost0(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@ -164,7 +164,7 @@ namespace Microsoft.AspNetCore.Http.Generated
castHandler.Method);
}
[InterceptsLocation(@"TestMapActions.cs", 27, 5)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapPost1(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,

Просмотреть файл

@ -14,7 +14,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}
@ -58,7 +58,7 @@ namespace Microsoft.AspNetCore.Http.Generated
private static readonly JsonOptions FallbackJsonOptions = new();
private static readonly string[] GetVerb = new[] { global::Microsoft.AspNetCore.Http.HttpMethods.Get };
[InterceptsLocation(@"TestMapActions.cs", 26, 13)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet0(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,

Просмотреть файл

@ -14,7 +14,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}
@ -58,7 +58,7 @@ namespace Microsoft.AspNetCore.Http.Generated
private static readonly JsonOptions FallbackJsonOptions = new();
private static readonly string[] GetVerb = new[] { global::Microsoft.AspNetCore.Http.HttpMethods.Get };
[InterceptsLocation(@"TestMapActions.cs", 26, 13)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet0(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,

Просмотреть файл

@ -14,7 +14,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}
@ -58,7 +58,7 @@ namespace Microsoft.AspNetCore.Http.Generated
private static readonly JsonOptions FallbackJsonOptions = new();
private static readonly string[] GetVerb = new[] { global::Microsoft.AspNetCore.Http.HttpMethods.Get };
[InterceptsLocation(@"TestMapActions.cs", 26, 13)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet0(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,

Просмотреть файл

@ -14,7 +14,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}
@ -58,7 +58,7 @@ namespace Microsoft.AspNetCore.Http.Generated
private static readonly JsonOptions FallbackJsonOptions = new();
private static readonly string[] GetVerb = new[] { global::Microsoft.AspNetCore.Http.HttpMethods.Get };
[InterceptsLocation(@"TestMapActions.cs", 26, 13)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet0(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,

Просмотреть файл

@ -14,7 +14,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}
@ -58,7 +58,7 @@ namespace Microsoft.AspNetCore.Http.Generated
private static readonly JsonOptions FallbackJsonOptions = new();
private static readonly string[] GetVerb = new[] { global::Microsoft.AspNetCore.Http.HttpMethods.Get };
[InterceptsLocation(@"TestMapActions.cs", 26, 13)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet0(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,

Просмотреть файл

@ -14,7 +14,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}
@ -58,7 +58,7 @@ namespace Microsoft.AspNetCore.Http.Generated
private static readonly JsonOptions FallbackJsonOptions = new();
private static readonly string[] GetVerb = new[] { global::Microsoft.AspNetCore.Http.HttpMethods.Get };
[InterceptsLocation(@"TestMapActions.cs", 26, 13)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet0(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,

Просмотреть файл

@ -14,7 +14,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}
@ -58,7 +58,7 @@ namespace Microsoft.AspNetCore.Http.Generated
private static readonly JsonOptions FallbackJsonOptions = new();
private static readonly string[] GetVerb = new[] { global::Microsoft.AspNetCore.Http.HttpMethods.Get };
[InterceptsLocation(@"TestMapActions.cs", 26, 13)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet0(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@ -156,7 +156,7 @@ namespace Microsoft.AspNetCore.Http.Generated
castHandler.Method);
}
[InterceptsLocation(@"TestMapActions.cs", 27, 5)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet1(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@ -254,7 +254,7 @@ namespace Microsoft.AspNetCore.Http.Generated
castHandler.Method);
}
[InterceptsLocation(@"TestMapActions.cs", 28, 5)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet2(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,

Просмотреть файл

@ -14,7 +14,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}
@ -58,7 +58,7 @@ namespace Microsoft.AspNetCore.Http.Generated
private static readonly JsonOptions FallbackJsonOptions = new();
private static readonly string[] GetVerb = new[] { global::Microsoft.AspNetCore.Http.HttpMethods.Get };
[InterceptsLocation(@"TestMapActions.cs", 26, 13)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet0(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@ -170,7 +170,7 @@ namespace Microsoft.AspNetCore.Http.Generated
castHandler.Method);
}
[InterceptsLocation(@"TestMapActions.cs", 27, 5)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet1(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@ -282,7 +282,7 @@ namespace Microsoft.AspNetCore.Http.Generated
castHandler.Method);
}
[InterceptsLocation(@"TestMapActions.cs", 28, 5)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet2(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@ -402,8 +402,8 @@ namespace Microsoft.AspNetCore.Http.Generated
castHandler.Method);
}
[InterceptsLocation(@"TestMapActions.cs", 29, 5)]
[InterceptsLocation(@"TestMapActions.cs", 30, 5)]
%INTERCEPTSLOCATIONATTRIBUTE%
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet3(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,

Просмотреть файл

@ -14,7 +14,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}
@ -58,7 +58,7 @@ namespace Microsoft.AspNetCore.Http.Generated
private static readonly JsonOptions FallbackJsonOptions = new();
private static readonly string[] GetVerb = new[] { global::Microsoft.AspNetCore.Http.HttpMethods.Get };
[InterceptsLocation(@"TestMapActions.cs", 26, 13)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet0(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,

Просмотреть файл

@ -14,7 +14,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}
@ -58,7 +58,7 @@ namespace Microsoft.AspNetCore.Http.Generated
private static readonly JsonOptions FallbackJsonOptions = new();
private static readonly string[] GetVerb = new[] { global::Microsoft.AspNetCore.Http.HttpMethods.Get };
[InterceptsLocation(@"TestMapActions.cs", 26, 13)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet0(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,

Просмотреть файл

@ -14,7 +14,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}
@ -58,7 +58,7 @@ namespace Microsoft.AspNetCore.Http.Generated
private static readonly JsonOptions FallbackJsonOptions = new();
private static readonly string[] GetVerb = new[] { global::Microsoft.AspNetCore.Http.HttpMethods.Get };
[InterceptsLocation(@"TestMapActions.cs", 26, 13)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet0(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,

Просмотреть файл

@ -14,7 +14,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}
@ -58,7 +58,7 @@ namespace Microsoft.AspNetCore.Http.Generated
private static readonly JsonOptions FallbackJsonOptions = new();
private static readonly string[] GetVerb = new[] { global::Microsoft.AspNetCore.Http.HttpMethods.Get };
[InterceptsLocation(@"TestMapActions.cs", 26, 13)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet0(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,

Просмотреть файл

@ -14,7 +14,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}
@ -58,7 +58,7 @@ namespace Microsoft.AspNetCore.Http.Generated
private static readonly JsonOptions FallbackJsonOptions = new();
private static readonly string[] GetVerb = new[] { global::Microsoft.AspNetCore.Http.HttpMethods.Get };
[InterceptsLocation(@"TestMapActions.cs", 26, 13)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet0(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,

Просмотреть файл

@ -14,7 +14,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}
@ -58,7 +58,7 @@ namespace Microsoft.AspNetCore.Http.Generated
private static readonly JsonOptions FallbackJsonOptions = new();
private static readonly string[] PostVerb = new[] { global::Microsoft.AspNetCore.Http.HttpMethods.Post };
[InterceptsLocation(@"TestMapActions.cs", 26, 13)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapPost0(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,

Просмотреть файл

@ -14,7 +14,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}
@ -58,7 +58,7 @@ namespace Microsoft.AspNetCore.Http.Generated
private static readonly JsonOptions FallbackJsonOptions = new();
private static readonly string[] GetVerb = new[] { global::Microsoft.AspNetCore.Http.HttpMethods.Get };
[InterceptsLocation(@"TestMapActions.cs", 26, 13)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet0(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,

Просмотреть файл

@ -14,7 +14,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}
@ -58,7 +58,7 @@ namespace Microsoft.AspNetCore.Http.Generated
private static readonly JsonOptions FallbackJsonOptions = new();
private static readonly string[] GetVerb = new[] { global::Microsoft.AspNetCore.Http.HttpMethods.Get };
[InterceptsLocation(@"TestMapActions.cs", 26, 13)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet0(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,

Просмотреть файл

@ -14,7 +14,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}
@ -58,7 +58,7 @@ namespace Microsoft.AspNetCore.Http.Generated
private static readonly JsonOptions FallbackJsonOptions = new();
private static readonly string[] GetVerb = new[] { global::Microsoft.AspNetCore.Http.HttpMethods.Get };
[InterceptsLocation(@"TestMapActions.cs", 26, 13)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet0(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,

Просмотреть файл

@ -14,7 +14,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}
@ -58,7 +58,7 @@ namespace Microsoft.AspNetCore.Http.Generated
private static readonly JsonOptions FallbackJsonOptions = new();
private static readonly string[] GetVerb = new[] { global::Microsoft.AspNetCore.Http.HttpMethods.Get };
[InterceptsLocation(@"TestMapActions.cs", 26, 13)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet0(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,

Просмотреть файл

@ -14,7 +14,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}
@ -58,7 +58,7 @@ namespace Microsoft.AspNetCore.Http.Generated
private static readonly JsonOptions FallbackJsonOptions = new();
private static readonly string[] GetVerb = new[] { global::Microsoft.AspNetCore.Http.HttpMethods.Get };
[InterceptsLocation(@"TestMapActions.cs", 26, 13)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet0(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,

Просмотреть файл

@ -14,7 +14,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}
@ -58,7 +58,7 @@ namespace Microsoft.AspNetCore.Http.Generated
private static readonly JsonOptions FallbackJsonOptions = new();
private static readonly string[] GetVerb = new[] { global::Microsoft.AspNetCore.Http.HttpMethods.Get };
[InterceptsLocation(@"TestMapActions.cs", 26, 13)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet0(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,

Просмотреть файл

@ -14,7 +14,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}
@ -58,7 +58,7 @@ namespace Microsoft.AspNetCore.Http.Generated
private static readonly JsonOptions FallbackJsonOptions = new();
private static readonly string[] GetVerb = new[] { global::Microsoft.AspNetCore.Http.HttpMethods.Get };
[InterceptsLocation(@"TestMapActions.cs", 26, 13)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet0(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,

Просмотреть файл

@ -14,7 +14,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}
@ -58,7 +58,7 @@ namespace Microsoft.AspNetCore.Http.Generated
private static readonly JsonOptions FallbackJsonOptions = new();
private static readonly string[] GetVerb = new[] { global::Microsoft.AspNetCore.Http.HttpMethods.Get };
[InterceptsLocation(@"TestMapActions.cs", 26, 13)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet0(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,

Просмотреть файл

@ -14,7 +14,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}
@ -58,7 +58,7 @@ namespace Microsoft.AspNetCore.Http.Generated
private static readonly JsonOptions FallbackJsonOptions = new();
private static readonly string[] GetVerb = new[] { global::Microsoft.AspNetCore.Http.HttpMethods.Get };
[InterceptsLocation(@"TestMapActions.cs", 26, 13)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet0(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,

Просмотреть файл

@ -14,7 +14,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}
@ -58,7 +58,7 @@ namespace Microsoft.AspNetCore.Http.Generated
private static readonly JsonOptions FallbackJsonOptions = new();
private static readonly string[] GetVerb = new[] { global::Microsoft.AspNetCore.Http.HttpMethods.Get };
[InterceptsLocation(@"TestMapActions.cs", 26, 13)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet0(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,

Просмотреть файл

@ -14,7 +14,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}
@ -58,7 +58,7 @@ namespace Microsoft.AspNetCore.Http.Generated
private static readonly JsonOptions FallbackJsonOptions = new();
private static readonly string[] PostVerb = new[] { global::Microsoft.AspNetCore.Http.HttpMethods.Post };
[InterceptsLocation(@"TestMapActions.cs", 26, 13)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapPost0(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,

Просмотреть файл

@ -14,7 +14,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}
@ -57,7 +57,7 @@ namespace Microsoft.AspNetCore.Http.Generated
{
private static readonly JsonOptions FallbackJsonOptions = new();
[InterceptsLocation(@"TestMapActions.cs", 26, 13)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapMethods0(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,

Просмотреть файл

@ -14,7 +14,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}
@ -57,7 +57,7 @@ namespace Microsoft.AspNetCore.Http.Generated
{
private static readonly JsonOptions FallbackJsonOptions = new();
[InterceptsLocation(@"TestMapActions.cs", 26, 13)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapMethods0(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,

Просмотреть файл

@ -14,7 +14,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}
@ -57,7 +57,7 @@ namespace Microsoft.AspNetCore.Http.Generated
{
private static readonly JsonOptions FallbackJsonOptions = new();
[InterceptsLocation(@"TestMapActions.cs", 26, 13)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapMethods0(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,

Просмотреть файл

@ -14,7 +14,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}
@ -57,7 +57,7 @@ namespace Microsoft.AspNetCore.Http.Generated
{
private static readonly JsonOptions FallbackJsonOptions = new();
[InterceptsLocation(@"TestMapActions.cs", 26, 13)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapMethods0(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,

Просмотреть файл

@ -14,7 +14,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}
@ -58,7 +58,7 @@ namespace Microsoft.AspNetCore.Http.Generated
private static readonly JsonOptions FallbackJsonOptions = new();
private static readonly string[] PostVerb = new[] { global::Microsoft.AspNetCore.Http.HttpMethods.Post };
[InterceptsLocation(@"TestMapActions.cs", 26, 13)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapPost0(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,

Просмотреть файл

@ -14,7 +14,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}
@ -58,7 +58,7 @@ namespace Microsoft.AspNetCore.Http.Generated
private static readonly JsonOptions FallbackJsonOptions = new();
private static readonly string[] PostVerb = new[] { global::Microsoft.AspNetCore.Http.HttpMethods.Post };
[InterceptsLocation(@"TestMapActions.cs", 26, 13)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapPost0(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,

Просмотреть файл

@ -14,7 +14,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}
@ -58,8 +58,8 @@ namespace Microsoft.AspNetCore.Http.Generated
private static readonly JsonOptions FallbackJsonOptions = new();
private static readonly string[] GetVerb = new[] { global::Microsoft.AspNetCore.Http.HttpMethods.Get };
[InterceptsLocation(@"TestMapActions.cs", 26, 13)]
[InterceptsLocation(@"TestMapActions.cs", 27, 5)]
%INTERCEPTSLOCATIONATTRIBUTE%
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet0(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@ -150,7 +150,7 @@ namespace Microsoft.AspNetCore.Http.Generated
castHandler.Method);
}
[InterceptsLocation(@"TestMapActions.cs", 28, 5)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet1(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@ -244,7 +244,7 @@ namespace Microsoft.AspNetCore.Http.Generated
castHandler.Method);
}
[InterceptsLocation(@"TestMapActions.cs", 29, 5)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet2(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,

Просмотреть файл

@ -14,7 +14,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}
@ -58,7 +58,7 @@ namespace Microsoft.AspNetCore.Http.Generated
private static readonly JsonOptions FallbackJsonOptions = new();
private static readonly string[] GetVerb = new[] { global::Microsoft.AspNetCore.Http.HttpMethods.Get };
[InterceptsLocation(@"TestMapActions.cs", 26, 13)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet0(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@ -153,7 +153,7 @@ namespace Microsoft.AspNetCore.Http.Generated
castHandler.Method);
}
[InterceptsLocation(@"TestMapActions.cs", 27, 5)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet1(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@ -248,7 +248,7 @@ namespace Microsoft.AspNetCore.Http.Generated
castHandler.Method);
}
[InterceptsLocation(@"TestMapActions.cs", 28, 5)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet2(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,

Просмотреть файл

@ -14,7 +14,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}
@ -58,7 +58,7 @@ namespace Microsoft.AspNetCore.Http.Generated
private static readonly JsonOptions FallbackJsonOptions = new();
private static readonly string[] PostVerb = new[] { global::Microsoft.AspNetCore.Http.HttpMethods.Post };
[InterceptsLocation(@"TestMapActions.cs", 30, 5)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapPost0(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,

Просмотреть файл

@ -14,7 +14,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}
@ -58,7 +58,7 @@ namespace Microsoft.AspNetCore.Http.Generated
private static readonly JsonOptions FallbackJsonOptions = new();
private static readonly string[] GetVerb = new[] { global::Microsoft.AspNetCore.Http.HttpMethods.Get };
[InterceptsLocation(@"TestMapActions.cs", 26, 13)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet0(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@ -171,7 +171,7 @@ namespace Microsoft.AspNetCore.Http.Generated
castHandler.Method);
}
[InterceptsLocation(@"OtherTestMapActions.cs", 26, 13)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet1(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,

Просмотреть файл

@ -14,7 +14,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}
@ -58,9 +58,9 @@ namespace Microsoft.AspNetCore.Http.Generated
private static readonly JsonOptions FallbackJsonOptions = new();
private static readonly string[] GetVerb = new[] { global::Microsoft.AspNetCore.Http.HttpMethods.Get };
[InterceptsLocation(@"TestMapActions.cs", 26, 13)]
[InterceptsLocation(@"TestMapActions.cs", 26, 63)]
[InterceptsLocation(@"OtherTestMapActions.cs", 26, 13)]
%INTERCEPTSLOCATIONATTRIBUTE%
%INTERCEPTSLOCATIONATTRIBUTE%
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet0(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,

Просмотреть файл

@ -14,7 +14,7 @@ namespace System.Runtime.CompilerServices
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
file sealed class InterceptsLocationAttribute : Attribute
{
public InterceptsLocationAttribute(string filePath, int line, int column)
public InterceptsLocationAttribute(int version, string data)
{
}
}
@ -61,7 +61,7 @@ namespace Microsoft.AspNetCore.Http.Generated
private static readonly string[] PostVerb = new[] { global::Microsoft.AspNetCore.Http.HttpMethods.Post };
private static readonly string[] PutVerb = new[] { global::Microsoft.AspNetCore.Http.HttpMethods.Put };
[InterceptsLocation(@"TestMapActions.cs", 45, 5)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet0(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@ -197,7 +197,7 @@ namespace Microsoft.AspNetCore.Http.Generated
castHandler.Method);
}
[InterceptsLocation(@"TestMapActions.cs", 46, 5)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapPost1(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@ -326,7 +326,7 @@ namespace Microsoft.AspNetCore.Http.Generated
castHandler.Method);
}
[InterceptsLocation(@"TestMapActions.cs", 47, 5)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapPut2(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@ -426,7 +426,7 @@ namespace Microsoft.AspNetCore.Http.Generated
castHandler.Method);
}
[InterceptsLocation(@"TestMapActions.cs", 48, 5)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapPatch3(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@ -545,7 +545,7 @@ namespace Microsoft.AspNetCore.Http.Generated
castHandler.Method);
}
[InterceptsLocation(@"TestMapActions.cs", 49, 5)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapGet4(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@ -659,7 +659,7 @@ namespace Microsoft.AspNetCore.Http.Generated
castHandler.Method);
}
[InterceptsLocation(@"TestMapActions.cs", 50, 5)]
%INTERCEPTSLOCATIONATTRIBUTE%
internal static RouteHandlerBuilder MapPost5(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,

Просмотреть файл

@ -19,7 +19,12 @@ public class CompileTimeIncrementalityTests : RequestDelegateCreationTestBase
var (result, compilation) = await RunGeneratorAsync(source, updatedSource);
var outputSteps = GetRunStepOutputs(result);
Assert.All(outputSteps, (value) => Assert.Equal(IncrementalStepRunReason.Cached, value.Reason));
Assert.Collection(outputSteps,
// First source output for diagnostics is unchanged.
step => Assert.Equal(IncrementalStepRunReason.Unchanged, step.Reason),
// Interceptable location is different across compilations
step => Assert.Equal(IncrementalStepRunReason.Modified, step.Reason)
);
}
[Fact]
@ -31,7 +36,12 @@ public class CompileTimeIncrementalityTests : RequestDelegateCreationTestBase
var (result, compilation) = await RunGeneratorAsync(source, updatedSource);
var outputSteps = GetRunStepOutputs(result);
Assert.All(outputSteps, (value) => Assert.Equal(IncrementalStepRunReason.Cached, value.Reason));
Assert.Collection(outputSteps,
// First source output for diagnostics is unchanged.
step => Assert.Equal(IncrementalStepRunReason.Unchanged, step.Reason),
// Interceptable location is different across compilations
step => Assert.Equal(IncrementalStepRunReason.Modified, step.Reason)
);
}
[Fact]

Просмотреть файл

@ -9,6 +9,7 @@ using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Loader;
using System.Text;
using System.Text.RegularExpressions;
using System.Text.Json;
using System.Text.Json.Nodes;
using Microsoft.AspNetCore.Builder;
@ -36,6 +37,7 @@ public abstract class RequestDelegateCreationTestBase : LoggedTest
internal static readonly CSharpParseOptions ParseOptions = new CSharpParseOptions(LanguageVersion.Preview).WithFeatures(new[] { new KeyValuePair<string, string>("InterceptorsPreviewNamespaces", "Microsoft.AspNetCore.Http.Generated") });
private static readonly Project _baseProject = CreateProject();
private static readonly string _interceptsLocationAttributeRegex = @"\[global::System\.Runtime\.CompilerServices\.InterceptsLocationAttribute\(\d+, "".*""\)\]";
internal async Task<(GeneratorRunResult?, Compilation)> RunGeneratorAsync(string sources, params string[] updatedSources)
{
@ -360,8 +362,9 @@ public static class {{className}}
if (RegenerateBaselines)
{
var newSource = generatedCode.ToString()
.Replace(RequestDelegateGeneratorSources.GeneratedCodeAttribute, "%GENERATEDCODEATTRIBUTE%")
+ Environment.NewLine;
.Replace(RequestDelegateGeneratorSources.GeneratedCodeAttribute, "%GENERATEDCODEATTRIBUTE%");
newSource = Regex.Replace(newSource, _interceptsLocationAttributeRegex, "%INTERCEPTSLOCATIONATTRIBUTE%");
newSource += Environment.NewLine;
await File.WriteAllTextAsync(baselineFilePath, newSource);
Assert.Fail("RegenerateBaselines=true. Do not merge PRs with this set.");
}
@ -387,6 +390,11 @@ public static class {{className}}
{
var expectedLine = expectedLines[index].Trim().ReplaceLineEndings();
var actualLine = textLine.ToString().Trim().ReplaceLineEndings();
if (Regex.IsMatch(actualLine, _interceptsLocationAttributeRegex))
{
index++;
continue;
}
if (!expectedLine.Equals(actualLine, StringComparison.Ordinal))
{
message = $"""