Skip to content

Commit 7c6381b

Browse files
committed
Small bug fixes plus ignoring TypeArgument.
1 parent 0c8f8af commit 7c6381b

File tree

2 files changed

+64
-3
lines changed

2 files changed

+64
-3
lines changed

CSharpToJavaScript/Utils/StaticMethods.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ internal static void Log(string message, [CallerFilePath] string? file = null, [
1212
if (message.StartsWith("---"))
1313
Console.ForegroundColor = ConsoleColor.Green;
1414

15-
if (message.StartsWith("ERROR"))
15+
if (message.StartsWith("ERROR") || message.StartsWith("as"))
1616
Console.ForegroundColor = ConsoleColor.Red;
1717

1818
if (message.StartsWith("WARNING"))

CSharpToJavaScript/Walker.cs

Lines changed: 63 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,15 @@ public override void VisitClassDeclaration(ClassDeclarationSyntax node)
194194

195195
switch (kind)
196196
{
197+
case SyntaxKind.TypeParameterList:
198+
{
199+
SyntaxTriviaList _syntaxTrivias = asNode.GetTrailingTrivia();
200+
for (int _i = 0; _i < _syntaxTrivias.Count; _i++)
201+
{
202+
VisitTrivia(_syntaxTrivias[_i]);
203+
}
204+
break;
205+
}
197206
case SyntaxKind.BaseList:
198207
case SyntaxKind.FieldDeclaration:
199208
case SyntaxKind.ConstructorDeclaration:
@@ -1715,7 +1724,11 @@ where e.IsKind(SyntaxKind.IdentifierToken)
17151724

17161725
if (iSymbol.ContainingNamespace.ToString().Contains(_NameSpaceStr))
17171726
{
1718-
JSSB.Append($" {syntaxNode.ToString()}");
1727+
if (syntaxNode.IsKind(SyntaxKind.GenericName))
1728+
{
1729+
JSSB.Append($" {(syntaxNode as GenericNameSyntax).Identifier.ToString()}");
1730+
}else
1731+
JSSB.Append($" {syntaxNode.ToString()}");
17191732
break;
17201733
}
17211734

@@ -1778,6 +1791,46 @@ public override void VisitBaseExpression(BaseExpressionSyntax node)
17781791
}
17791792
}
17801793

1794+
public override void VisitTypeArgumentList(TypeArgumentListSyntax node)
1795+
{
1796+
ChildSyntaxList nodesAndTokens = node.ChildNodesAndTokens();
1797+
1798+
for (int i = 0; i < nodesAndTokens.Count; i++)
1799+
{
1800+
SyntaxNode? asNode = nodesAndTokens[i].AsNode();
1801+
1802+
if (asNode != null)
1803+
{
1804+
SyntaxKind kind = asNode.Kind();
1805+
1806+
switch (kind)
1807+
{
1808+
case SyntaxKind.PredefinedType:
1809+
case SyntaxKind.IdentifierName:
1810+
break;
1811+
default:
1812+
SM.Log($"asNode : {kind}");
1813+
break;
1814+
}
1815+
}
1816+
else
1817+
{
1818+
SyntaxToken asToken = nodesAndTokens[i].AsToken();
1819+
SyntaxKind kind = asToken.Kind();
1820+
1821+
switch (kind)
1822+
{
1823+
case SyntaxKind.GreaterThanToken:
1824+
case SyntaxKind.LessThanToken:
1825+
break;
1826+
default:
1827+
SM.Log($"asToken : {kind}");
1828+
break;
1829+
}
1830+
}
1831+
}
1832+
}
1833+
17811834
public override void VisitGenericName(GenericNameSyntax node)
17821835
{
17831836
ChildSyntaxList nodesAndTokens = node.ChildNodesAndTokens();
@@ -1794,6 +1847,7 @@ public override void VisitGenericName(GenericNameSyntax node)
17941847
{
17951848
case SyntaxKind.TypeArgumentList:
17961849
{
1850+
VisitTypeArgumentList(asNode as TypeArgumentListSyntax);
17971851
break;
17981852
}
17991853
default:
@@ -1976,6 +2030,13 @@ public bool IdentifierToken(SyntaxNode node)
19762030
where e.IsKind(SyntaxKind.IdentifierName)
19772031
select e;
19782032

2033+
if (!_all.Any())
2034+
{
2035+
_all = from e in node.Parent.ChildNodes()
2036+
where e.IsKind(SyntaxKind.GenericName)
2037+
select e;
2038+
}
2039+
19792040
SymbolInfo _symbolInfo = CSTOJS.Model.GetSymbolInfo(_all.First());
19802041
ISymbol? _iSymbol = null;
19812042

@@ -2163,7 +2224,7 @@ where e.IsKind(SyntaxKind.IdentifierToken)
21632224
}
21642225
SM.Log("WARNING! Diagnostics ends ---");
21652226
}
2166-
SM.Log($"ERROR! !-{node}-! By reaching this means, a name did not convert to JS. CHECK FOR UPPERCASE CHARACTERS IN NAMES IN THE JS FILE!");
2227+
SM.Log($"WARNING! !-{node}-! By reaching this means, a name did not convert to JS. CHECK FOR UPPERCASE CHARACTERS IN NAMES IN THE JS FILE!");
21672228

21682229
//base.VisitIdentifierName(node);
21692230
return false;

0 commit comments

Comments
 (0)