Skip to content

Commit 77090f9

Browse files
committed
done
1 parent fb40df4 commit 77090f9

File tree

14 files changed

+50
-11
lines changed

14 files changed

+50
-11
lines changed

ConsoleAppFramework.sln

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,44 +28,59 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ConsoleAppFramework.Generat
2828
EndProject
2929
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NativeAot", "sandbox\NativeAot\NativeAot.csproj", "{EC1A3299-6597-4AD2-92DE-EDF309875A97}"
3030
EndProject
31-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConsoleAppFramework.Abstractions", "src\ConsoleAppFramework.Abstractions\ConsoleAppFramework.Abstractions.csproj", "{855B0D28-DC69-470B-B3D9-481EE52737AA}"
31+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ConsoleAppFramework.Abstractions", "src\ConsoleAppFramework.Abstractions\ConsoleAppFramework.Abstractions.csproj", "{855B0D28-DC69-470B-B3D9-481EE52737AA}"
3232
EndProject
33-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FilterShareProject", "sandbox\FilterShareProject\FilterShareProject.csproj", "{2A1E8ED1-CEB9-47CB-8497-A0C4F5A8F025}"
33+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FilterShareProject", "sandbox\FilterShareProject\FilterShareProject.csproj", "{2A1E8ED1-CEB9-47CB-8497-A0C4F5A8F025}"
3434
EndProject
3535
Global
3636
GlobalSection(SolutionConfigurationPlatforms) = preSolution
3737
Debug|Any CPU = Debug|Any CPU
3838
Release|Any CPU = Release|Any CPU
39+
Test|Any CPU = Test|Any CPU
3940
EndGlobalSection
4041
GlobalSection(ProjectConfigurationPlatforms) = postSolution
4142
{09BEEA7B-B6D3-4011-BCAB-6DF976713695}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
4243
{09BEEA7B-B6D3-4011-BCAB-6DF976713695}.Debug|Any CPU.Build.0 = Debug|Any CPU
4344
{09BEEA7B-B6D3-4011-BCAB-6DF976713695}.Release|Any CPU.ActiveCfg = Release|Any CPU
4445
{09BEEA7B-B6D3-4011-BCAB-6DF976713695}.Release|Any CPU.Build.0 = Release|Any CPU
46+
{09BEEA7B-B6D3-4011-BCAB-6DF976713695}.Test|Any CPU.ActiveCfg = Test|Any CPU
47+
{09BEEA7B-B6D3-4011-BCAB-6DF976713695}.Test|Any CPU.Build.0 = Test|Any CPU
4548
{ACDA48BA-0BFE-4917-B335-7836DAA5929A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
4649
{ACDA48BA-0BFE-4917-B335-7836DAA5929A}.Debug|Any CPU.Build.0 = Debug|Any CPU
4750
{ACDA48BA-0BFE-4917-B335-7836DAA5929A}.Release|Any CPU.ActiveCfg = Release|Any CPU
4851
{ACDA48BA-0BFE-4917-B335-7836DAA5929A}.Release|Any CPU.Build.0 = Release|Any CPU
52+
{ACDA48BA-0BFE-4917-B335-7836DAA5929A}.Test|Any CPU.ActiveCfg = Test|Any CPU
53+
{ACDA48BA-0BFE-4917-B335-7836DAA5929A}.Test|Any CPU.Build.0 = Test|Any CPU
4954
{F558E4F2-1AB0-4634-B613-69DFE79894AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
5055
{F558E4F2-1AB0-4634-B613-69DFE79894AF}.Debug|Any CPU.Build.0 = Debug|Any CPU
5156
{F558E4F2-1AB0-4634-B613-69DFE79894AF}.Release|Any CPU.ActiveCfg = Release|Any CPU
5257
{F558E4F2-1AB0-4634-B613-69DFE79894AF}.Release|Any CPU.Build.0 = Release|Any CPU
58+
{F558E4F2-1AB0-4634-B613-69DFE79894AF}.Test|Any CPU.ActiveCfg = Test|Any CPU
59+
{F558E4F2-1AB0-4634-B613-69DFE79894AF}.Test|Any CPU.Build.0 = Test|Any CPU
5360
{C54F7FE8-650A-4DC7-877F-0DE929351800}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
5461
{C54F7FE8-650A-4DC7-877F-0DE929351800}.Debug|Any CPU.Build.0 = Debug|Any CPU
5562
{C54F7FE8-650A-4DC7-877F-0DE929351800}.Release|Any CPU.ActiveCfg = Release|Any CPU
5663
{C54F7FE8-650A-4DC7-877F-0DE929351800}.Release|Any CPU.Build.0 = Release|Any CPU
64+
{C54F7FE8-650A-4DC7-877F-0DE929351800}.Test|Any CPU.ActiveCfg = Test|Any CPU
65+
{C54F7FE8-650A-4DC7-877F-0DE929351800}.Test|Any CPU.Build.0 = Test|Any CPU
5766
{EC1A3299-6597-4AD2-92DE-EDF309875A97}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
5867
{EC1A3299-6597-4AD2-92DE-EDF309875A97}.Debug|Any CPU.Build.0 = Debug|Any CPU
5968
{EC1A3299-6597-4AD2-92DE-EDF309875A97}.Release|Any CPU.ActiveCfg = Release|Any CPU
6069
{EC1A3299-6597-4AD2-92DE-EDF309875A97}.Release|Any CPU.Build.0 = Release|Any CPU
70+
{EC1A3299-6597-4AD2-92DE-EDF309875A97}.Test|Any CPU.ActiveCfg = Test|Any CPU
71+
{EC1A3299-6597-4AD2-92DE-EDF309875A97}.Test|Any CPU.Build.0 = Test|Any CPU
6172
{855B0D28-DC69-470B-B3D9-481EE52737AA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
6273
{855B0D28-DC69-470B-B3D9-481EE52737AA}.Debug|Any CPU.Build.0 = Debug|Any CPU
6374
{855B0D28-DC69-470B-B3D9-481EE52737AA}.Release|Any CPU.ActiveCfg = Release|Any CPU
6475
{855B0D28-DC69-470B-B3D9-481EE52737AA}.Release|Any CPU.Build.0 = Release|Any CPU
76+
{855B0D28-DC69-470B-B3D9-481EE52737AA}.Test|Any CPU.ActiveCfg = Test|Any CPU
77+
{855B0D28-DC69-470B-B3D9-481EE52737AA}.Test|Any CPU.Build.0 = Test|Any CPU
6578
{2A1E8ED1-CEB9-47CB-8497-A0C4F5A8F025}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
6679
{2A1E8ED1-CEB9-47CB-8497-A0C4F5A8F025}.Debug|Any CPU.Build.0 = Debug|Any CPU
6780
{2A1E8ED1-CEB9-47CB-8497-A0C4F5A8F025}.Release|Any CPU.ActiveCfg = Release|Any CPU
6881
{2A1E8ED1-CEB9-47CB-8497-A0C4F5A8F025}.Release|Any CPU.Build.0 = Release|Any CPU
82+
{2A1E8ED1-CEB9-47CB-8497-A0C4F5A8F025}.Test|Any CPU.ActiveCfg = Test|Any CPU
83+
{2A1E8ED1-CEB9-47CB-8497-A0C4F5A8F025}.Test|Any CPU.Build.0 = Test|Any CPU
6984
EndGlobalSection
7085
GlobalSection(SolutionProperties) = preSolution
7186
HideSolutionNode = FALSE

sandbox/CliFrameworkBenchmark/CliFrameworkBenchmark.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
<nullable>annotations</nullable>
88
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
99
<IsPackable>false</IsPackable>
10+
<Configurations>Debug;Release;Test</Configurations>
1011
</PropertyGroup>
1112

1213
<ItemGroup>

sandbox/FilterShareProject/FilterShareProject.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
<ImplicitUsings>enable</ImplicitUsings>
66
<IsPackable>false</IsPackable>
77
<Nullable>enable</Nullable>
8+
<Configurations>Debug;Release;Test</Configurations>
89
</PropertyGroup>
910

1011
<ItemGroup>

sandbox/GeneratorSandbox/GeneratorSandbox.csproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
<IsPackable>false</IsPackable>
1111

1212
<DefineConstants>USE_EXTERNAL_CONSOLEAPP_ABSTRACTIONS</DefineConstants>
13+
14+
<Configurations>Debug;Release;Test</Configurations>
1315
</PropertyGroup>
1416

1517
<ItemGroup>

sandbox/GeneratorSandbox/Program.cs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,6 @@
22

33
var app = ConsoleApp.Create();
44

5-
app.Add("foo", () => { });
6-
app.Add("fooa", () => { });
7-
8-
app.Add("choofooaiueo", (int z) => { });
9-
10-
app.Add("Y", Task<int> (int x, int y, int z) => { });
115

126

137

sandbox/NativeAot/NativeAot.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
<PublishAot>true</PublishAot>
1111
<IsAotCompatible>true</IsAotCompatible>
12+
<Configurations>Debug;Release;Test</Configurations>
1213
</PropertyGroup>
1314

1415
<ItemGroup>

src/ConsoleAppFramework.Abstractions/ConsoleAppFramework.Abstractions.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
<!-- NuGet -->
99
<PackageId>ConsoleAppFramework.Abstractions</PackageId>
1010
<Description>ConsoleAppFramework external abstractions library.</Description>
11+
<Configurations>Debug;Release;Test</Configurations>
1112
</PropertyGroup>
1213

1314
<ItemGroup>

src/ConsoleAppFramework/ConsoleAppFramework.csproj

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,13 @@
1919
<!-- NuGet -->
2020
<PackageId>ConsoleAppFramework</PackageId>
2121
<Description>Zero Dependency, Zero Overhead, Zero Reflection, Zero Allocation, AOT Safe CLI Framework powered by C# Source Generator.</Description>
22+
<Configurations>Debug;Release;Test</Configurations>
2223
</PropertyGroup>
2324

25+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Test|AnyCPU'">
26+
<DefineConstants>$(DefineConstants);TEST</DefineConstants>
27+
</PropertyGroup>
28+
2429
<ItemGroup>
2530
<!-- Roslyn for .NET 8 / C# 12 -->
2631
<!-- https://learn.microsoft.com/en-us/visualstudio/extensibility/roslyn-version-support -->

src/ConsoleAppFramework/ConsoleAppGenerator.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -668,7 +668,8 @@ static void EmitConsoleAppBuilder(SourceProductionContext sourceProductionContex
668668
// validation command name duplicate
669669
if (command != null && !names.Add(command.Name))
670670
{
671-
sourceProductionContext.ReportDiagnostic(DiagnosticDescriptors.DuplicateCommandName, x.Node.ArgumentList.Arguments[0].GetLocation(), command!.Name);
671+
var location = x.Node.ArgumentList.Arguments[0].GetLocation();
672+
sourceProductionContext.ReportDiagnostic(DiagnosticDescriptors.DuplicateCommandName, location, command!.Name);
672673
return null;
673674
}
674675

src/ConsoleAppFramework/DiagnosticDescriptors.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ internal static class DiagnosticDescriptors
88

99
public static void ReportDiagnostic(this SourceProductionContext context, DiagnosticDescriptor diagnosticDescriptor, Location location, params object?[]? messageArgs)
1010
{
11+
#if !TEST
12+
// must use location.Clone(), incremental cached code + diagnostic craches visual studio however use Clone() can avoid it.
13+
location = location.Clone();
14+
#endif
1115
var diagnostic = Diagnostic.Create(diagnosticDescriptor, location, messageArgs);
1216
context.ReportDiagnostic(diagnostic);
1317
}

0 commit comments

Comments
 (0)