Skip to content

Commit 847999a

Browse files
Add WorkItem attribute and anonymous delegate test, remove Console.WriteLine
Co-authored-by: CyrusNajmabadi <[email protected]>
1 parent 5afa2b3 commit 847999a

1 file changed

Lines changed: 120 additions & 44 deletions

File tree

src/Compilers/CSharp/Test/Syntax/Parsing/TopLevelStatementsParsingTests.cs

Lines changed: 120 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -3599,11 +3599,10 @@ partial ext X
35993599
}
36003600

36013601
[Fact]
3602+
[WorkItem("https://github.com/dotnet/roslyn/issues/67311")]
36023603
public void DelegateWithTupleReturnType_TopLevel()
36033604
{
36043605
var test = """
3605-
System.Console.WriteLine("Hello");
3606-
36073606
delegate int F(int x);
36083607
delegate int G((int, int) x);
36093608
delegate System.ValueTuple<int, int> H();
@@ -3614,48 +3613,6 @@ public void DelegateWithTupleReturnType_TopLevel()
36143613

36153614
N(SyntaxKind.CompilationUnit);
36163615
{
3617-
N(SyntaxKind.GlobalStatement);
3618-
{
3619-
N(SyntaxKind.ExpressionStatement);
3620-
{
3621-
N(SyntaxKind.InvocationExpression);
3622-
{
3623-
N(SyntaxKind.SimpleMemberAccessExpression);
3624-
{
3625-
N(SyntaxKind.SimpleMemberAccessExpression);
3626-
{
3627-
N(SyntaxKind.IdentifierName);
3628-
{
3629-
N(SyntaxKind.IdentifierToken, "System");
3630-
}
3631-
N(SyntaxKind.DotToken);
3632-
N(SyntaxKind.IdentifierName);
3633-
{
3634-
N(SyntaxKind.IdentifierToken, "Console");
3635-
}
3636-
}
3637-
N(SyntaxKind.DotToken);
3638-
N(SyntaxKind.IdentifierName);
3639-
{
3640-
N(SyntaxKind.IdentifierToken, "WriteLine");
3641-
}
3642-
}
3643-
N(SyntaxKind.ArgumentList);
3644-
{
3645-
N(SyntaxKind.OpenParenToken);
3646-
N(SyntaxKind.Argument);
3647-
{
3648-
N(SyntaxKind.StringLiteralExpression);
3649-
{
3650-
N(SyntaxKind.StringLiteralToken, "\"Hello\"");
3651-
}
3652-
}
3653-
N(SyntaxKind.CloseParenToken);
3654-
}
3655-
}
3656-
N(SyntaxKind.SemicolonToken);
3657-
}
3658-
}
36593616
N(SyntaxKind.DelegateDeclaration);
36603617
{
36613618
N(SyntaxKind.DelegateKeyword);
@@ -3790,5 +3747,124 @@ public void DelegateWithTupleReturnType_TopLevel()
37903747
}
37913748
EOF();
37923749
}
3750+
3751+
[Fact]
3752+
[WorkItem("https://github.com/dotnet/roslyn/issues/67311")]
3753+
public void AnonymousDelegateAtTopLevel()
3754+
{
3755+
var test = """
3756+
var f1 = delegate { return 42; };
3757+
var f2 = delegate (int x) { return x * 2; };
3758+
""";
3759+
3760+
UsingTree(test);
3761+
3762+
N(SyntaxKind.CompilationUnit);
3763+
{
3764+
N(SyntaxKind.GlobalStatement);
3765+
{
3766+
N(SyntaxKind.LocalDeclarationStatement);
3767+
{
3768+
N(SyntaxKind.VariableDeclaration);
3769+
{
3770+
N(SyntaxKind.IdentifierName);
3771+
{
3772+
N(SyntaxKind.IdentifierToken, "var");
3773+
}
3774+
N(SyntaxKind.VariableDeclarator);
3775+
{
3776+
N(SyntaxKind.IdentifierToken, "f1");
3777+
N(SyntaxKind.EqualsValueClause);
3778+
{
3779+
N(SyntaxKind.EqualsToken);
3780+
N(SyntaxKind.AnonymousMethodExpression);
3781+
{
3782+
N(SyntaxKind.DelegateKeyword);
3783+
N(SyntaxKind.Block);
3784+
{
3785+
N(SyntaxKind.OpenBraceToken);
3786+
N(SyntaxKind.ReturnStatement);
3787+
{
3788+
N(SyntaxKind.ReturnKeyword);
3789+
N(SyntaxKind.NumericLiteralExpression);
3790+
{
3791+
N(SyntaxKind.NumericLiteralToken, "42");
3792+
}
3793+
N(SyntaxKind.SemicolonToken);
3794+
}
3795+
N(SyntaxKind.CloseBraceToken);
3796+
}
3797+
}
3798+
}
3799+
}
3800+
}
3801+
N(SyntaxKind.SemicolonToken);
3802+
}
3803+
}
3804+
N(SyntaxKind.GlobalStatement);
3805+
{
3806+
N(SyntaxKind.LocalDeclarationStatement);
3807+
{
3808+
N(SyntaxKind.VariableDeclaration);
3809+
{
3810+
N(SyntaxKind.IdentifierName);
3811+
{
3812+
N(SyntaxKind.IdentifierToken, "var");
3813+
}
3814+
N(SyntaxKind.VariableDeclarator);
3815+
{
3816+
N(SyntaxKind.IdentifierToken, "f2");
3817+
N(SyntaxKind.EqualsValueClause);
3818+
{
3819+
N(SyntaxKind.EqualsToken);
3820+
N(SyntaxKind.AnonymousMethodExpression);
3821+
{
3822+
N(SyntaxKind.DelegateKeyword);
3823+
N(SyntaxKind.ParameterList);
3824+
{
3825+
N(SyntaxKind.OpenParenToken);
3826+
N(SyntaxKind.Parameter);
3827+
{
3828+
N(SyntaxKind.PredefinedType);
3829+
{
3830+
N(SyntaxKind.IntKeyword);
3831+
}
3832+
N(SyntaxKind.IdentifierToken, "x");
3833+
}
3834+
N(SyntaxKind.CloseParenToken);
3835+
}
3836+
N(SyntaxKind.Block);
3837+
{
3838+
N(SyntaxKind.OpenBraceToken);
3839+
N(SyntaxKind.ReturnStatement);
3840+
{
3841+
N(SyntaxKind.ReturnKeyword);
3842+
N(SyntaxKind.MultiplyExpression);
3843+
{
3844+
N(SyntaxKind.IdentifierName);
3845+
{
3846+
N(SyntaxKind.IdentifierToken, "x");
3847+
}
3848+
N(SyntaxKind.AsteriskToken);
3849+
N(SyntaxKind.NumericLiteralExpression);
3850+
{
3851+
N(SyntaxKind.NumericLiteralToken, "2");
3852+
}
3853+
}
3854+
N(SyntaxKind.SemicolonToken);
3855+
}
3856+
N(SyntaxKind.CloseBraceToken);
3857+
}
3858+
}
3859+
}
3860+
}
3861+
}
3862+
N(SyntaxKind.SemicolonToken);
3863+
}
3864+
}
3865+
N(SyntaxKind.EndOfFileToken);
3866+
}
3867+
EOF();
3868+
}
37933869
}
37943870
}

0 commit comments

Comments
 (0)