Skip to content

Commit d8068f5

Browse files
committed
Small changes, mostly renames.
1 parent d646dcf commit d8068f5

File tree

2 files changed

+31
-66
lines changed

2 files changed

+31
-66
lines changed

CSharpToJavaScript/CSTOJS.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -512,9 +512,9 @@ private void Generate(SyntaxTree tree, Assembly? assembly, List<MetadataReferenc
512512
if (_Options.KeepBraceOnTheSameLine)
513513
{
514514
//TODO! remove whitespace trivia before brace!
515-
List<SyntaxToken> allBraces = trueRoot.DescendantTokens().Where((e) => e.IsKind(SyntaxKind.OpenBraceToken)).ToList();
515+
SyntaxToken[] allBraces = trueRoot.DescendantTokens().Where((e) => e.IsKind(SyntaxKind.OpenBraceToken)).ToArray();
516516
List<SyntaxTrivia> allTriviaToReplace = new();
517-
for (int i = 0; i < allBraces.Count; i++)
517+
for (int i = 0; i < allBraces.Length; i++)
518518
{
519519
SyntaxToken _token = allBraces[i].GetPreviousToken();
520520
if (_token.HasTrailingTrivia)

CSharpToJavaScript/Walker.cs

Lines changed: 29 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ internal class Walker : CSharpSyntaxWalker, ILog
2525
private readonly CSTOJSOptions _Options;
2626
private readonly SemanticModel _Model;
2727

28-
private SyntaxNode? _SNOriginal = null;
29-
private SyntaxNode? _BaseConstructorInitializerNode = null;
28+
private SyntaxNode? _SNOriginalAsExpression = null;
29+
private SyntaxNode? _SNBaseConstructorInitializerNode = null;
3030
private SyntaxNode? _SNPropertyType = null;
3131

3232
private string _NameSpaceStr = string.Empty;
@@ -359,7 +359,7 @@ public override void VisitConstructorDeclaration(ConstructorDeclarationSyntax no
359359
break;
360360
case SyntaxKind.BaseConstructorInitializer:
361361
{
362-
_BaseConstructorInitializerNode = asNode;
362+
_SNBaseConstructorInitializerNode = asNode;
363363
SyntaxTriviaList _syntaxTrivias = asNode.GetTrailingTrivia();
364364
for (int _i = 0; _i < _syntaxTrivias.Count; _i++)
365365
{
@@ -569,18 +569,18 @@ public override void VisitBlock(BlockSyntax node)
569569
case SyntaxKind.OpenBraceToken:
570570
{
571571
VisitToken(asToken);
572-
if (_BaseConstructorInitializerNode != null)
572+
if (_SNBaseConstructorInitializerNode != null)
573573
{
574574
SyntaxTriviaList _syntaxTrivias = asToken.LeadingTrivia;
575575
for (int _i = 0; _i < _syntaxTrivias.Count; _i++)
576576
{
577577
VisitTrivia(_syntaxTrivias[_i]);
578578
}
579579
JSSB.Append("\tsuper");
580-
Visit((_BaseConstructorInitializerNode as ConstructorInitializerSyntax).ArgumentList);
580+
Visit((_SNBaseConstructorInitializerNode as ConstructorInitializerSyntax).ArgumentList);
581581
//Todo!
582582
//JSSB.Append(";");
583-
_BaseConstructorInitializerNode = null;
583+
_SNBaseConstructorInitializerNode = null;
584584
}
585585
break;
586586
}
@@ -2152,13 +2152,12 @@ public override void VisitParenthesizedExpression(ParenthesizedExpressionSyntax
21522152
break;
21532153
case SyntaxKind.AsExpression:
21542154
{
2155-
21562155
//Todo double/multiply asExpression?? How?
2157-
_SNOriginal = (asNode as BinaryExpressionSyntax).Left;
2156+
_SNOriginalAsExpression = (asNode as BinaryExpressionSyntax).Left;
21582157

2159-
Visit(_SNOriginal.WithoutTrailingTrivia());
2158+
Visit(_SNOriginalAsExpression.WithoutTrailingTrivia());
21602159

2161-
_SNOriginal = null;
2160+
_SNOriginalAsExpression = null;
21622161
break;
21632162
}
21642163
default:
@@ -2717,9 +2716,9 @@ public bool IdentifierToken(SyntaxNode node)
27172716
}
27182717

27192718
SymbolInfo? symbolInfo = null;
2720-
if (_SNOriginal != null)
2719+
if (_SNOriginalAsExpression != null)
27212720
{
2722-
IEnumerable<SyntaxNodeOrToken> _identifierNameSyntax = _SNOriginal.DescendantNodesAndTokens().Where(e => e.IsToken == true);
2721+
IEnumerable<SyntaxNodeOrToken> _identifierNameSyntax = _SNOriginalAsExpression.DescendantNodesAndTokens().Where(e => e.IsToken == true);
27232722
foreach (SyntaxNodeOrToken _item in _identifierNameSyntax)
27242723
{
27252724
SyntaxToken _syntaxToken = _item.AsToken();
@@ -2733,7 +2732,7 @@ public bool IdentifierToken(SyntaxNode node)
27332732
}
27342733
}
27352734
}
2736-
node = _SNOriginal;
2735+
node = _SNOriginalAsExpression;
27372736
}
27382737
else
27392738
{
@@ -2909,7 +2908,7 @@ where e.IsKind(SyntaxKind.IdentifierToken)
29092908
object[] _attrs = type.GetCustomAttributes(true);
29102909
foreach (object _attr in _attrs)
29112910
{
2912-
ToAttribute _authAttr = _attr as ToAttribute;
2911+
ToAttribute? _authAttr = _attr as ToAttribute;
29132912
if (_authAttr != null)
29142913
{
29152914
VisitLeadingTrivia(identifier);
@@ -2922,64 +2921,28 @@ where e.IsKind(SyntaxKind.IdentifierToken)
29222921
}
29232922

29242923
MemberInfo[] _Members = type.GetMembers();
2925-
foreach (MemberInfo _memberInfo in _Members)
2926-
{
2927-
//TODO! A better way for nested classes!
2928-
var c = _memberInfo as Type;
2929-
2930-
if (c != null && c.IsClass)
2931-
{
2932-
MemberInfo[] _Members1 = c.GetMembers();
2933-
foreach (MemberInfo _memberInfo1 in _Members1)
2934-
{
2935-
//TODO! A better way for nested classes!
2936-
var c1 = _memberInfo1 as Type;
2937-
2938-
if (c1 != null && c1.IsClass)
2939-
{
2940-
MemberInfo[] _Members2 = c1.GetMembers();
2941-
foreach (MemberInfo _memberInfo2 in _Members2)
2942-
{
2943-
if (_memberInfo2.Name == text)
2944-
{
2945-
object[] _attrs2 = _memberInfo2.GetCustomAttributes(true);
2946-
foreach (object _attr2 in _attrs2)
2947-
{
2948-
ToAttribute _authAttr2 = _attr2 as ToAttribute;
2949-
if (_authAttr2 != null)
2950-
{
2951-
JSSB.Append($"{_authAttr2.Convert(text)}");
2952-
return true;
2953-
}
2954-
}
29552924

2956-
return true;
2957-
}
2958-
}
2959-
}
2960-
if (_memberInfo1.Name == text)
2961-
{
2962-
object[] _attrs1 = _memberInfo1.GetCustomAttributes(true);
2963-
foreach (object _attr1 in _attrs1)
2964-
{
2965-
ToAttribute _authAttr1 = _attr1 as ToAttribute;
2966-
if (_authAttr1 != null)
2967-
{
2968-
JSSB.Append($"{_authAttr1.Convert(text)}");
2969-
return true;
2970-
}
2971-
}
2925+
bool b = _CheckMembersInNestedClasses(_Members);
29722926

2973-
return true;
2974-
}
2975-
}
2927+
if (b == true)
2928+
return true;
2929+
}
2930+
bool _CheckMembersInNestedClasses(MemberInfo[] _members)
2931+
{
2932+
foreach (MemberInfo _memberInfo in _members)
2933+
{
2934+
Type? _type = _memberInfo as Type;
2935+
if (_type != null && _type.IsClass)
2936+
{
2937+
return _CheckMembersInNestedClasses(_type.GetMembers());
29762938
}
29772939
if (_memberInfo.Name == text)
29782940
{
29792941
object[] _attrs = _memberInfo.GetCustomAttributes(true);
2942+
29802943
foreach (object _attr in _attrs)
29812944
{
2982-
ToAttribute _authAttr = _attr as ToAttribute;
2945+
ToAttribute? _authAttr = _attr as ToAttribute;
29832946
if (_authAttr != null)
29842947
{
29852948
JSSB.Append($"{_authAttr.Convert(text)}");
@@ -2990,6 +2953,8 @@ where e.IsKind(SyntaxKind.IdentifierToken)
29902953
return true;
29912954
}
29922955
}
2956+
2957+
return false;
29932958
}
29942959

29952960
if (CustomCSNamesToJS(node) == false)

0 commit comments

Comments
 (0)