Skip to content

Commit 2807b09

Browse files
committed
Added very specific workaround for "Method(new())"
1 parent 1005996 commit 2807b09

1 file changed

Lines changed: 35 additions & 26 deletions

File tree

CSharpToJavaScript/Walker.cs

Lines changed: 35 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1296,37 +1296,37 @@ where n.AsNode().IsKind(SyntaxKind.NullableType)
12961296
if (hasDefault)
12971297
{
12981298
field = SyntaxFactory.FieldDeclaration(
1299-
SyntaxFactory.VariableDeclaration(
1299+
SyntaxFactory.VariableDeclaration(
13001300
SyntaxFactory.PredefinedType(SyntaxFactory.Token(key.First().Kind())))
1301-
.WithVariables(
1302-
SyntaxFactory.SingletonSeparatedList(
1303-
SyntaxFactory.VariableDeclarator(
1301+
.WithVariables(
1302+
SyntaxFactory.SingletonSeparatedList(
1303+
SyntaxFactory.VariableDeclarator(
13041304
SyntaxFactory.Identifier(_indentifier))
13051305
.WithInitializer(defaultValue as EqualsValueClauseSyntax))))
1306-
.WithModifiers(
1307-
SyntaxFactory.TokenList(new[]
1308-
{
1309-
SyntaxFactory.Token(SyntaxKind.PrivateKeyword)
1310-
}))
1311-
.WithLeadingTrivia(node.GetLeadingTrivia())
1312-
.WithTrailingTrivia(node.GetTrailingTrivia());
1306+
.WithModifiers(
1307+
SyntaxFactory.TokenList(new[]
1308+
{
1309+
SyntaxFactory.Token(SyntaxKind.PrivateKeyword)
1310+
}))
1311+
.WithLeadingTrivia(node.GetLeadingTrivia())
1312+
.WithTrailingTrivia(node.GetTrailingTrivia());
13131313
}
13141314
else
13151315
{
13161316
field = SyntaxFactory.FieldDeclaration(
1317-
SyntaxFactory.VariableDeclaration(
1317+
SyntaxFactory.VariableDeclaration(
13181318
SyntaxFactory.PredefinedType(SyntaxFactory.Token(key.First().Kind())))
1319-
.WithVariables(
1320-
SyntaxFactory.SingletonSeparatedList(
1321-
SyntaxFactory.VariableDeclarator(
1319+
.WithVariables(
1320+
SyntaxFactory.SingletonSeparatedList(
1321+
SyntaxFactory.VariableDeclarator(
13221322
SyntaxFactory.Identifier(_indentifier)))))
1323-
.WithModifiers(
1324-
SyntaxFactory.TokenList(new[]
1325-
{
1326-
SyntaxFactory.Token(SyntaxKind.PrivateKeyword)
1327-
}))
1328-
.WithLeadingTrivia(node.GetLeadingTrivia())
1329-
.WithTrailingTrivia(node.GetTrailingTrivia());
1323+
.WithModifiers(
1324+
SyntaxFactory.TokenList(new[]
1325+
{
1326+
SyntaxFactory.Token(SyntaxKind.PrivateKeyword)
1327+
}))
1328+
.WithLeadingTrivia(node.GetLeadingTrivia())
1329+
.WithTrailingTrivia(node.GetTrailingTrivia());
13301330
}
13311331
}
13321332

@@ -2194,7 +2194,7 @@ public override void VisitLiteralExpression(LiteralExpressionSyntax node)
21942194
_value = "Number.MIN_SAFE_INTEGER";
21952195
}
21962196
}
2197-
else
2197+
else
21982198
{
21992199
if (_d >= 9007199254740991)
22002200
{
@@ -2453,6 +2453,10 @@ public override void VisitImplicitObjectCreationExpression(ImplicitObjectCreatio
24532453

24542454
if (_aes == null)
24552455
{
2456+
//Todo!
2457+
//Triggered with "Method(new());"
2458+
//See also test "TestPassValueToMethod" with CustomClass
2459+
JSSB.Append(" Object");
24562460
_Log.ErrorLine($"_aes is null");
24572461
break;
24582462
}
@@ -2572,9 +2576,11 @@ where e.IsKind(SyntaxKind.IdentifierToken)
25722576
break;
25732577
}
25742578

2575-
//TODO??? Test??
2579+
//TODO?
2580+
//Hitting with "object"!
25762581
if (syntaxNode.IsKind(SyntaxKind.PredefinedType))
25772582
{
2583+
JSSB.Append(" Object");
25782584
break;
25792585
}
25802586

@@ -2621,11 +2627,14 @@ public override void VisitObjectCreationExpression(ObjectCreationExpressionSynta
26212627
case SyntaxKind.ArgumentList:
26222628
Visit(asNode);
26232629
break;
2630+
case SyntaxKind.PredefinedType:
2631+
VisitPredefinedType((PredefinedTypeSyntax)asNode);
2632+
break;
26242633
case SyntaxKind.IdentifierName:
2625-
VisitIdentifierName(asNode as IdentifierNameSyntax);
2634+
VisitIdentifierName((IdentifierNameSyntax)asNode);
26262635
break;
26272636
case SyntaxKind.GenericName:
2628-
VisitGenericName(asNode as GenericNameSyntax);
2637+
VisitGenericName((GenericNameSyntax)asNode);
26292638
break;
26302639
default:
26312640
_Log.ErrorLine($"asNode : {kind}");

0 commit comments

Comments
 (0)