diff --git a/.github/workflows/format_repositories.yml b/.github/workflows/format_repositories.yml
index 9bbb2793c..69e7009cc 100644
--- a/.github/workflows/format_repositories.yml
+++ b/.github/workflows/format_repositories.yml
@@ -14,7 +14,7 @@ jobs:
path: csharpier
- uses: actions/setup-dotnet@v1
with:
- dotnet-version: '7.0.100'
+ dotnet-version: '7.0.304'
- uses: actions/checkout@v2
with:
repository: belav/csharpier-repos
diff --git a/.github/workflows/publish_nuget.yml b/.github/workflows/publish_nuget.yml
index 8fdac4863..fbd51ed89 100644
--- a/.github/workflows/publish_nuget.yml
+++ b/.github/workflows/publish_nuget.yml
@@ -11,7 +11,7 @@ jobs:
- uses: actions/setup-dotnet@v1
with:
dotnet-version: |
- 7.0.100
+ 7.0.304
6.0.300
- run: dotnet test Src/CSharpier.Tests/CSharpier.Tests.csproj
publish-nuget:
@@ -26,7 +26,7 @@ jobs:
- uses: actions/setup-dotnet@v1
with:
dotnet-version: |
- 7.0.100
+ 7.0.304
6.0.300
- name: Publish CSharpier.Core library on version change
uses: alirezanet/publish-nuget@v3.0.4
diff --git a/.github/workflows/validate_pull_request.yml b/.github/workflows/validate_pull_request.yml
index c572260e7..ebf873920 100644
--- a/.github/workflows/validate_pull_request.yml
+++ b/.github/workflows/validate_pull_request.yml
@@ -11,7 +11,7 @@ jobs:
- uses: actions/setup-dotnet@v1
with:
dotnet-version: |
- 7.0.100
+ 7.0.304
6.0.300
- run: |
dotnet build CSharpier.sln -c release
@@ -24,7 +24,7 @@ jobs:
- uses: actions/setup-dotnet@v1
with:
dotnet-version: |
- 7.0.100
+ 7.0.304
6.0.300
- run: |
dotnet tool restore
@@ -37,7 +37,7 @@ jobs:
- uses: actions/setup-dotnet@v1
with:
dotnet-version: |
- 7.0.100
+ 7.0.304
6.0.300
- run: |
dotnet build Src/CSharpier.MsBuild/CSharpier.MsBuild.csproj
diff --git a/Directory.Packages.props b/Directory.Packages.props
index ea54e97e6..0d5a0647a 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -10,8 +10,8 @@
-
-
+
+
@@ -19,13 +19,13 @@
-
+
-
+
diff --git a/Dockerfile b/Dockerfile
index 4e7bb76b6..52c861fc3 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -2,7 +2,7 @@ FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base
WORKDIR /app
EXPOSE 80
-FROM mcr.microsoft.com/dotnet/sdk:7.0.100 AS build
+FROM mcr.microsoft.com/dotnet/sdk:7.0.304 AS build
RUN apt-get update && \
apt-get install curl gnupg -yq && \
diff --git a/Src/CSharpier.FakeGenerators/CSharpier.FakeGenerators.csproj b/Src/CSharpier.FakeGenerators/CSharpier.FakeGenerators.csproj
index 32715046e..44faf3e35 100644
--- a/Src/CSharpier.FakeGenerators/CSharpier.FakeGenerators.csproj
+++ b/Src/CSharpier.FakeGenerators/CSharpier.FakeGenerators.csproj
@@ -3,7 +3,7 @@
Exe
-
-
+
+
diff --git a/Src/CSharpier.Generators/CSharpier.Generators.csproj b/Src/CSharpier.Generators/CSharpier.Generators.csproj
index 166b8a159..24154533b 100644
--- a/Src/CSharpier.Generators/CSharpier.Generators.csproj
+++ b/Src/CSharpier.Generators/CSharpier.Generators.csproj
@@ -2,6 +2,7 @@
net6.0;net7.0;netstandard2.0
true
+ true
true
10
SYSLIB0013
diff --git a/Src/CSharpier.Tests.Generators/CSharpier.Tests.Generators.csproj b/Src/CSharpier.Tests.Generators/CSharpier.Tests.Generators.csproj
index 98e723bf3..58fcb8da3 100644
--- a/Src/CSharpier.Tests.Generators/CSharpier.Tests.Generators.csproj
+++ b/Src/CSharpier.Tests.Generators/CSharpier.Tests.Generators.csproj
@@ -2,14 +2,15 @@
true
true
+ true
SYSLIB0013
-
-
+
+
-
+
diff --git a/Src/CSharpier.Tests/FormattingTests/TestFiles/cs/ClassDeclarations.test b/Src/CSharpier.Tests/FormattingTests/TestFiles/cs/ClassDeclarations.test
index 2980e6eae..8097a98a3 100644
--- a/Src/CSharpier.Tests/FormattingTests/TestFiles/cs/ClassDeclarations.test
+++ b/Src/CSharpier.Tests/FormattingTests/TestFiles/cs/ClassDeclarations.test
@@ -59,3 +59,17 @@ public class IdentityDbContext
where TKey : IEquatable { }
file class FileScopedType { }
+
+public class NamedItem(string name)
+{
+ public string Name => name;
+}
+
+public class NamedItem2(
+ string name1________________________________,
+ string name2________________________________
+)
+{
+ public string Name1 => name1;
+ public string Name2 => name1;
+}
diff --git a/Src/CSharpier.Tests/FormattingTests/TestFiles/cs/UsingDirectives.test b/Src/CSharpier.Tests/FormattingTests/TestFiles/cs/UsingDirectives.test
index 9f53a36e9..c4d4e635c 100644
--- a/Src/CSharpier.Tests/FormattingTests/TestFiles/cs/UsingDirectives.test
+++ b/Src/CSharpier.Tests/FormattingTests/TestFiles/cs/UsingDirectives.test
@@ -11,6 +11,7 @@ static // static trailing
Third;
using M = System.Math;
+using Point = (int x, int y);
using static System.Math;
diff --git a/Src/CSharpier/CSharpier.csproj b/Src/CSharpier/CSharpier.csproj
index 2c9c222b3..0c56708a3 100644
--- a/Src/CSharpier/CSharpier.csproj
+++ b/Src/CSharpier/CSharpier.csproj
@@ -1,5 +1,5 @@
-
+
CSharpier.Core
net6.0;net7.0;netstandard2.0
diff --git a/Src/CSharpier/SyntaxNodeComparer.generated.cs b/Src/CSharpier/SyntaxNodeComparer.generated.cs
index eb5d43abb..10e4a9d7d 100644
--- a/Src/CSharpier/SyntaxNodeComparer.generated.cs
+++ b/Src/CSharpier/SyntaxNodeComparer.generated.cs
@@ -1023,6 +1023,8 @@ private CompareResult CompareClassDeclarationSyntax(ClassDeclarationSyntax origi
if (result.IsInvalid) return result;
result = this.Compare(originalNode.OpenBraceToken, formattedNode.OpenBraceToken, originalNode, formattedNode);
if (result.IsInvalid) return result;
+ originalStack.Push((originalNode.ParameterList, originalNode));
+ formattedStack.Push((formattedNode.ParameterList, formattedNode));
result = this.Compare(originalNode.SemicolonToken, formattedNode.SemicolonToken, originalNode, formattedNode);
if (result.IsInvalid) return result;
originalStack.Push((originalNode.TypeParameterList, originalNode));
@@ -2130,6 +2132,8 @@ private CompareResult CompareInterfaceDeclarationSyntax(InterfaceDeclarationSynt
if (result.IsInvalid) return result;
result = this.Compare(originalNode.OpenBraceToken, formattedNode.OpenBraceToken, originalNode, formattedNode);
if (result.IsInvalid) return result;
+ originalStack.Push((originalNode.ParameterList, originalNode));
+ formattedStack.Push((formattedNode.ParameterList, formattedNode));
result = this.Compare(originalNode.SemicolonToken, formattedNode.SemicolonToken, originalNode, formattedNode);
if (result.IsInvalid) return result;
originalStack.Push((originalNode.TypeParameterList, originalNode));
@@ -3325,6 +3329,8 @@ private CompareResult CompareStructDeclarationSyntax(StructDeclarationSyntax ori
if (result.IsInvalid) return result;
result = this.Compare(originalNode.OpenBraceToken, formattedNode.OpenBraceToken, originalNode, formattedNode);
if (result.IsInvalid) return result;
+ originalStack.Push((originalNode.ParameterList, originalNode));
+ formattedStack.Push((formattedNode.ParameterList, formattedNode));
result = this.Compare(originalNode.SemicolonToken, formattedNode.SemicolonToken, originalNode, formattedNode);
if (result.IsInvalid) return result;
originalStack.Push((originalNode.TypeParameterList, originalNode));
@@ -3641,10 +3647,14 @@ private CompareResult CompareUsingDirectiveSyntax(UsingDirectiveSyntax originalN
if (originalNode.IsMissing != formattedNode.IsMissing) return NotEqual(originalNode, formattedNode);
originalStack.Push((originalNode.Name, originalNode));
formattedStack.Push((formattedNode.Name, formattedNode));
+ originalStack.Push((originalNode.NamespaceOrType, originalNode));
+ formattedStack.Push((formattedNode.NamespaceOrType, formattedNode));
result = this.Compare(originalNode.SemicolonToken, formattedNode.SemicolonToken, originalNode, formattedNode);
if (result.IsInvalid) return result;
result = this.Compare(originalNode.StaticKeyword, formattedNode.StaticKeyword, originalNode, formattedNode);
if (result.IsInvalid) return result;
+ result = this.Compare(originalNode.UnsafeKeyword, formattedNode.UnsafeKeyword, originalNode, formattedNode);
+ if (result.IsInvalid) return result;
result = this.Compare(originalNode.UsingKeyword, formattedNode.UsingKeyword, originalNode, formattedNode);
if (result.IsInvalid) return result;
return Equal;
diff --git a/Src/CSharpier/SyntaxNodeJsonWriter.generated.cs b/Src/CSharpier/SyntaxNodeJsonWriter.generated.cs
index 00067f858..2a5af6316 100644
--- a/Src/CSharpier/SyntaxNodeJsonWriter.generated.cs
+++ b/Src/CSharpier/SyntaxNodeJsonWriter.generated.cs
@@ -1505,6 +1505,12 @@ public static void WriteClassDeclarationSyntax(StringBuilder builder, ClassDecla
WriteSyntaxToken(openBraceTokenBuilder, syntaxNode.OpenBraceToken);
properties.Add($"\"openBraceToken\":{openBraceTokenBuilder.ToString()}");
}
+ if (syntaxNode.ParameterList != default(ParameterListSyntax))
+ {
+ var parameterListBuilder = new StringBuilder();
+ WriteParameterListSyntax(parameterListBuilder, syntaxNode.ParameterList);
+ properties.Add($"\"parameterList\":{parameterListBuilder.ToString()}");
+ }
if (syntaxNode.SemicolonToken != default(SyntaxToken))
{
var semicolonTokenBuilder = new StringBuilder();
@@ -4400,6 +4406,12 @@ public static void WriteInterfaceDeclarationSyntax(StringBuilder builder, Interf
WriteSyntaxToken(openBraceTokenBuilder, syntaxNode.OpenBraceToken);
properties.Add($"\"openBraceToken\":{openBraceTokenBuilder.ToString()}");
}
+ if (syntaxNode.ParameterList != default(ParameterListSyntax))
+ {
+ var parameterListBuilder = new StringBuilder();
+ WriteParameterListSyntax(parameterListBuilder, syntaxNode.ParameterList);
+ properties.Add($"\"parameterList\":{parameterListBuilder.ToString()}");
+ }
if (syntaxNode.SemicolonToken != default(SyntaxToken))
{
var semicolonTokenBuilder = new StringBuilder();
@@ -7465,6 +7477,12 @@ public static void WriteStructDeclarationSyntax(StringBuilder builder, StructDec
WriteSyntaxToken(openBraceTokenBuilder, syntaxNode.OpenBraceToken);
properties.Add($"\"openBraceToken\":{openBraceTokenBuilder.ToString()}");
}
+ if (syntaxNode.ParameterList != default(ParameterListSyntax))
+ {
+ var parameterListBuilder = new StringBuilder();
+ WriteParameterListSyntax(parameterListBuilder, syntaxNode.ParameterList);
+ properties.Add($"\"parameterList\":{parameterListBuilder.ToString()}");
+ }
if (syntaxNode.SemicolonToken != default(SyntaxToken))
{
var semicolonTokenBuilder = new StringBuilder();
@@ -8251,6 +8269,12 @@ public static void WriteUsingDirectiveSyntax(StringBuilder builder, UsingDirecti
WriteSyntaxNode(nameBuilder, syntaxNode.Name);
properties.Add($"\"name\":{nameBuilder.ToString()}");
}
+ if (syntaxNode.NamespaceOrType != default(TypeSyntax))
+ {
+ var namespaceOrTypeBuilder = new StringBuilder();
+ WriteSyntaxNode(namespaceOrTypeBuilder, syntaxNode.NamespaceOrType);
+ properties.Add($"\"namespaceOrType\":{namespaceOrTypeBuilder.ToString()}");
+ }
if (syntaxNode.SemicolonToken != default(SyntaxToken))
{
var semicolonTokenBuilder = new StringBuilder();
@@ -8263,6 +8287,12 @@ public static void WriteUsingDirectiveSyntax(StringBuilder builder, UsingDirecti
WriteSyntaxToken(staticKeywordBuilder, syntaxNode.StaticKeyword);
properties.Add($"\"staticKeyword\":{staticKeywordBuilder.ToString()}");
}
+ if (syntaxNode.UnsafeKeyword != default(SyntaxToken))
+ {
+ var unsafeKeywordBuilder = new StringBuilder();
+ WriteSyntaxToken(unsafeKeywordBuilder, syntaxNode.UnsafeKeyword);
+ properties.Add($"\"unsafeKeyword\":{unsafeKeywordBuilder.ToString()}");
+ }
if (syntaxNode.UsingKeyword != default(SyntaxToken))
{
var usingKeywordBuilder = new StringBuilder();
diff --git a/Src/CSharpier/SyntaxPrinter/SyntaxNodePrinters/BaseTypeDeclaration.cs b/Src/CSharpier/SyntaxPrinter/SyntaxNodePrinters/BaseTypeDeclaration.cs
index 327fadd7f..95285d43d 100644
--- a/Src/CSharpier/SyntaxPrinter/SyntaxNodePrinters/BaseTypeDeclaration.cs
+++ b/Src/CSharpier/SyntaxPrinter/SyntaxNodePrinters/BaseTypeDeclaration.cs
@@ -30,6 +30,7 @@ public static Doc Print(BaseTypeDeclarationSyntax node, FormattingContext contex
if (node is ClassDeclarationSyntax classDeclarationSyntax)
{
keyword = classDeclarationSyntax.Keyword;
+ parameterList = classDeclarationSyntax.ParameterList;
}
else if (node is StructDeclarationSyntax structDeclarationSyntax)
{
diff --git a/Src/CSharpier/SyntaxPrinter/SyntaxNodePrinters/UsingDirective.cs b/Src/CSharpier/SyntaxPrinter/SyntaxNodePrinters/UsingDirective.cs
index 0f0740262..5314f2396 100644
--- a/Src/CSharpier/SyntaxPrinter/SyntaxNodePrinters/UsingDirective.cs
+++ b/Src/CSharpier/SyntaxPrinter/SyntaxNodePrinters/UsingDirective.cs
@@ -14,7 +14,7 @@ public static Doc Print(
Token.PrintWithSuffix(node.UsingKeyword, " ", context),
Token.PrintWithSuffix(node.StaticKeyword, " ", context),
node.Alias == null ? Doc.Null : NameEquals.Print(node.Alias, context),
- Node.Print(node.Name, context),
+ Node.Print(node.NamespaceOrType, context),
Token.Print(node.SemicolonToken, context)
);
}
diff --git a/Src/SyntaxFinder/SyntaxFinder.csproj b/Src/SyntaxFinder/SyntaxFinder.csproj
index 7bd7678eb..a6ef1dc6a 100644
--- a/Src/SyntaxFinder/SyntaxFinder.csproj
+++ b/Src/SyntaxFinder/SyntaxFinder.csproj
@@ -3,6 +3,6 @@
Exe
-
+
diff --git a/global.json b/global.json
index 77c776f82..065581b4a 100644
--- a/global.json
+++ b/global.json
@@ -1,6 +1,6 @@
{
"sdk": {
- "version": "7.0.100",
+ "version": "7.0.304",
"rollForward": "latestFeature"
}
}