Skip to content

Commit eab5a56

Browse files
committed
Fixed a bug where the argumentlist is null for object creation.
1 parent de8a5ba commit eab5a56

1 file changed

Lines changed: 8 additions & 4 deletions

File tree

CSharpToJavaScript/WithoutSemanticRewriter.cs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,11 @@ public WithoutSemanticRewriter(CSTOJSOptions options)
354354

355355
if (node.Type.HasAnnotation(ToObjectAttribute.Annotation))
356356
{
357-
SyntaxTriviaList trivias = node.ArgumentList.GetTrailingTrivia();
357+
SyntaxTriviaList trivias = node.Type.GetTrailingTrivia();
358+
359+
if (node.ArgumentList != null)
360+
trivias = node.ArgumentList.GetTrailingTrivia();
361+
358362
trivias = trivias.AddRange(node.Initializer.GetLeadingTrivia());
359363

360364
return node.Initializer.WithLeadingTrivia(trivias);
@@ -405,8 +409,8 @@ public WithoutSemanticRewriter(CSTOJSOptions options)
405409
node = (ArrayCreationExpressionSyntax)base.VisitArrayCreationExpression(node)!;
406410

407411
InitializerExpressionSyntax? initializer = node.Initializer;
408-
ArgumentListSyntax arguments = SyntaxFactory.ArgumentList();
409-
412+
ArgumentListSyntax arguments = SyntaxFactory.ArgumentList();
413+
410414
if (initializer != null)
411415
{
412416
List<ArgumentSyntax> _list = new();
@@ -417,7 +421,7 @@ public WithoutSemanticRewriter(CSTOJSOptions options)
417421
arguments = arguments.WithArguments(SyntaxFactory.SeparatedList<ArgumentSyntax>(_list));
418422
}
419423
ObjectCreationExpressionSyntax obj = SyntaxFactory.ObjectCreationExpression(node.NewKeyword, SyntaxFactory.IdentifierName("Array"), argumentList: arguments, initializer: null);
420-
424+
421425
return obj;
422426
}
423427
public override SyntaxNode? VisitCatchDeclaration(CatchDeclarationSyntax node)

0 commit comments

Comments
 (0)