@@ -19,11 +19,9 @@ namespace CSharpToJavaScript
1919 /// </summary>
2020 public class CSTOJS
2121 {
22- public SemanticModel Model { get ; set ; } = null ;
23-
2422 public CSTOJSOptions Options { get ; set ; } = new ( ) ;
2523
26- private Walker _Walker = new ( ) ;
24+ private Walker ? _Walker = null ;
2725
2826 /// <summary>
2927 /// New instance of <see cref="CSTOJS"/> with default options, see <see cref="CSTOJSOptions"/>.
@@ -49,15 +47,6 @@ public CSTOJS(CSTOJSOptions options)
4947
5048 if ( Options . DisableConsoleOutput == false )
5149 {
52- if ( Options . Debug )
53- {
54- if ( File . Exists ( Directory . GetCurrentDirectory ( ) + "/debug.txt" ) )
55- File . Delete ( Directory . GetCurrentDirectory ( ) + "/debug.txt" ) ;
56-
57- Trace . Listeners . Add ( new TextWriterTraceListener ( "debug.txt" ) ) ;
58- Trace . AutoFlush = true ;
59- }
60-
6150 ConsoleTraceListener consoleTraceListener = new ( ) ;
6251 if ( Trace . Listeners . Contains ( consoleTraceListener ) == false )
6352 Trace . Listeners . Add ( consoleTraceListener ) ;
@@ -102,7 +91,7 @@ public async Task GenerateOneAsync(string path, string? filename = null)
10291 _tree = CSharpSyntaxTree . ParseText ( SourceText . From ( stream ) , path : file . FullName ) ;
10392 }
10493
105- await GenerateAsync ( _tree , assembly ) ;
94+ Generate ( _tree , assembly ) ;
10695
10796 if ( ! Directory . Exists ( Options . OutPutPath ) )
10897 {
@@ -123,14 +112,15 @@ public async Task GenerateOneAsync(string path, string? filename = null)
123112 Log ( $ "--- --- ---") ;
124113 }
125114 }
115+
126116 /// <summary>
127117 /// Method for generating from string.
128118 /// </summary>
129119 /// <param name="csstring">CSharp string.</param>
130120 /// <param name="references">Needed if you don't have access to files. Because Assembly.location is null in Blazor WebAssembly.</param>
131121 /// <returns>JS <see cref="StringBuilder"/></returns>
132122 /// <exception cref="ArgumentNullException"></exception>
133- public async Task < StringBuilder > GenerateOneFromStringAsync ( string csstring , List < MetadataReference > ? references = null )
123+ public StringBuilder GenerateOneFromString ( string csstring , List < MetadataReference > ? references = null )
134124 {
135125 if ( csstring == null )
136126 throw new ArgumentNullException ( nameof ( csstring ) ) ;
@@ -140,20 +130,18 @@ public async Task<StringBuilder> GenerateOneFromStringAsync(string csstring, Lis
140130 SyntaxTree ? _tree = CSharpSyntaxTree . ParseText ( csstring . Normalize ( ) ) ;
141131
142132 if ( references != null )
143- await GenerateAsync ( _tree , assembly , references ) ;
133+ Generate ( _tree , assembly , references ) ;
144134 else
145- await GenerateAsync ( _tree , assembly ) ;
135+ Generate ( _tree , assembly ) ;
146136
147137 Log ( $ "--- Done!") ;
148138 Log ( $ "--- --- ---") ;
149139
150140 return _Walker . JSSB ;
151141 }
152142
153- private async Task GenerateAsync ( SyntaxTree ? tree , Assembly assembly , List < MetadataReference > ? refs = null )
143+ private void Generate ( SyntaxTree ? tree , Assembly assembly , List < MetadataReference > ? refs = null )
154144 {
155- _Walker = new ( this ) ;
156-
157145 CompilationUnitSyntax root = tree . GetCompilationUnitRoot ( ) ;
158146
159147
@@ -344,7 +332,7 @@ private async Task GenerateAsync(SyntaxTree? tree, Assembly assembly, List<Metad
344332 //Should I make "NormalizeWhitespace" option??? TODO!
345333 //.NormalizeWhitespace().AddUsings(oldUsing);
346334
347- if ( rtPath != null || rtPath != string . Empty )
335+ if ( rtPath != null && rtPath != string . Empty )
348336 {
349337 if ( File . Exists ( Path . Combine ( rtPath , "System.dll" ) ) )
350338 references . Add ( MetadataReference . CreateFromFile ( Path . Combine ( rtPath , "System.dll" ) ) ) ;
@@ -379,8 +367,8 @@ private async Task GenerateAsync(SyntaxTree? tree, Assembly assembly, List<Metad
379367 if ( Options . Debug )
380368 {
381369 Log ( $ "+++") ;
382- Log ( $ "assemblyPath : { assemblyPath } ") ;
383- Log ( $ "rtPath : { rtPath } ") ;
370+ Log ( $ "Path assembly : { assemblyPath } ") ;
371+ Log ( $ "Path rt : { rtPath } ") ;
384372 Log ( $ "List of references:") ;
385373 foreach ( MetadataReference reference in references )
386374 {
@@ -395,7 +383,7 @@ private async Task GenerateAsync(SyntaxTree? tree, Assembly assembly, List<Metad
395383 . AddReferences ( references . ToArray ( ) )
396384 . AddSyntaxTrees ( trueST ) ;
397385
398- Model = compilation . GetSemanticModel ( trueST ) ;
386+ _Walker = new ( this , compilation . GetSemanticModel ( trueST ) ) ;
399387
400388 _Walker . JSSB . Append ( Options . AddSBInFront ) ;
401389
0 commit comments