Skip to content

Commit 0988383

Browse files
committed
Print an error to the console if there is a compilation error.
1 parent 6bf2d7c commit 0988383

File tree

2 files changed

+42
-7
lines changed

2 files changed

+42
-7
lines changed

CSharpToJavaScript/CSTOJS.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ public async Task GenerateOneAsync(string path, CSTOJSOptions? options = null)
109109
await File.WriteAllTextAsync(pathCombined, _Walker?.JSSB.ToString());
110110

111111
Log.InfoLine($"--- Done!", options);
112-
Log.InfoLine($"--- Path: {pathCombined}", options);
112+
Log.InfoLine($"--- Path: {Path.GetFullPath(pathCombined)}", options);
113113
Log.InfoLine($"--- --- ---", options);
114114
}
115115
}
@@ -244,7 +244,7 @@ public async Task GenerateOneFromStringAsync(string csstring, CSTOJSOptions? opt
244244
Log.ErrorLine("_Walker is null!", options);
245245

246246
Log.InfoLine($"--- Done!", options);
247-
Log.InfoLine($"--- Path: {pathCombined}", options);
247+
Log.InfoLine($"--- Path: {Path.GetFullPath(pathCombined)}", options);
248248
Log.InfoLine($"--- --- ---", options);
249249
}
250250

CSharpToJavaScript/Walker.cs

Lines changed: 40 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -238,12 +238,16 @@ public override void VisitToken(SyntaxToken token)
238238

239239
VisitTrailingTrivia(token);
240240

241-
if (_Options.Debug)
241+
ImmutableArray<Diagnostic> diagnostics = _Model.GetDiagnostics();
242+
for (int i = 0; i < diagnostics.Length; i++)
242243
{
243-
ImmutableArray<Diagnostic> diagnostics = _Model.GetDiagnostics();
244-
foreach (Diagnostic item in diagnostics)
244+
if (_Options.Debug)
245+
Log.WarningLine(diagnostics[i].ToString(), _Options);
246+
247+
//print an error if compilation fails
248+
if (diagnostics[i].Severity == DiagnosticSeverity.Error)
245249
{
246-
Log.WarningLine(item.ToString(), _Options);
250+
Log.ErrorLine(diagnostics[i].ToString(), _Options);
247251
}
248252
}
249253
return;
@@ -815,6 +819,27 @@ public override void VisitArgument(ArgumentSyntax node)
815819
case SyntaxKind.MultiplyAssignmentExpression:
816820
case SyntaxKind.DivideAssignmentExpression:
817821
case SyntaxKind.ModuloAssignmentExpression:
822+
case SyntaxKind.CastExpression:
823+
case SyntaxKind.LogicalNotExpression:
824+
case SyntaxKind.BitwiseNotExpression:
825+
case SyntaxKind.PreIncrementExpression:
826+
case SyntaxKind.UnaryPlusExpression:
827+
case SyntaxKind.ModuloExpression:
828+
case SyntaxKind.NotEqualsExpression:
829+
case SyntaxKind.BitwiseAndExpression:
830+
case SyntaxKind.ExclusiveOrExpression:
831+
case SyntaxKind.BitwiseOrExpression:
832+
case SyntaxKind.LessThanExpression:
833+
case SyntaxKind.LeftShiftExpression:
834+
case SyntaxKind.LessThanOrEqualExpression:
835+
case SyntaxKind.LogicalAndExpression:
836+
case SyntaxKind.LogicalOrExpression:
837+
case SyntaxKind.GreaterThanExpression:
838+
case SyntaxKind.GreaterThanOrEqualExpression:
839+
case SyntaxKind.RightShiftExpression:
840+
case SyntaxKind.UnsignedRightShiftExpression:
841+
case SyntaxKind.PreDecrementExpression:
842+
case SyntaxKind.PostDecrementExpression:
818843
Visit(asNode);
819844
break;
820845
case SyntaxKind.NullLiteralExpression:
@@ -2547,16 +2572,26 @@ public override void VisitCastExpression(CastExpressionSyntax node)
25472572

25482573
switch (kind)
25492574
{
2575+
case SyntaxKind.IdentifierName:
25502576
case SyntaxKind.NullableType:
25512577
case SyntaxKind.PredefinedType:
25522578
{
25532579
if (_Options.Debug)
25542580
Log.WarningLine($"\"{kind}\" not implemented or unlikely to be implemented. Ignoring! ({node.FullSpan}|l:{_Line}|{node.FullSpan.Start - _Characters}-{node.FullSpan.End - _Characters})\n|{asNode.ToFullString()}|", _Options);
25552581
break;
25562582
}
2557-
case SyntaxKind.IdentifierName:
2583+
case SyntaxKind.NumericLiteralExpression:
2584+
case SyntaxKind.ImplicitObjectCreationExpression:
2585+
case SyntaxKind.ObjectCreationExpression:
25582586
case SyntaxKind.InvocationExpression:
25592587
case SyntaxKind.SimpleMemberAccessExpression:
2588+
case SyntaxKind.UnaryMinusExpression:
2589+
case SyntaxKind.FalseLiteralExpression:
2590+
case SyntaxKind.CharacterLiteralExpression:
2591+
case SyntaxKind.NullLiteralExpression:
2592+
case SyntaxKind.StringLiteralExpression:
2593+
case SyntaxKind.TrueLiteralExpression:
2594+
25602595
Visit(asNode);
25612596
break;
25622597
default:

0 commit comments

Comments
 (0)