File tree 2 files changed +8
-4
lines changed
ownlang-desktop/src/main/java/com/annimon/ownlang
ownlang-parser/src/main/java/com/annimon/ownlang/parser/optimization
2 files changed +8
-4
lines changed Original file line number Diff line number Diff line change 4
4
import com .annimon .ownlang .exceptions .StoppedException ;
5
5
import com .annimon .ownlang .parser .BeautifierStage ;
6
6
import com .annimon .ownlang .parser .Token ;
7
- import com .annimon .ownlang .parser .ast .Statement ;
7
+ import com .annimon .ownlang .parser .ast .Node ;
8
8
import com .annimon .ownlang .parser .error .ParseErrorsFormatterStage ;
9
9
import com .annimon .ownlang .parser .linters .LinterStage ;
10
10
import com .annimon .ownlang .parser .optimization .OptimizationStage ;
@@ -185,9 +185,11 @@ private static void run(RunOptions options) {
185
185
}
186
186
}
187
187
if (options .showAst ) {
188
- Statement program = stagesData .get (ParserStage .TAG_PROGRAM );
189
- System .out .println (program );
190
- System .out .println (stagesData .getOrDefault (OptimizationStage .TAG_OPTIMIZATION_SUMMARY , "" ));
188
+ System .out .println (stagesData .<Node >get (ParserStage .TAG_PROGRAM ));
189
+ if (options .optimizationLevel > 0 ) {
190
+ System .out .println (stagesData .getOrDefault (OptimizationStage .TAG_OPTIMIZATION_SUMMARY , "" ));
191
+ System .out .println (stagesData .<Node >get (OptimizationStage .TAG_OPTIMIZED_PROGRAM ));
192
+ }
191
193
}
192
194
if (options .showMeasurements ) {
193
195
System .out .println ("=" .repeat (25 ));
Original file line number Diff line number Diff line change 7
7
public class OptimizationStage implements Stage <Node , Node > {
8
8
9
9
public static final String TAG_OPTIMIZATION_SUMMARY = "optimizationSummary" ;
10
+ public static final String TAG_OPTIMIZED_PROGRAM = "optimizedProgram" ;
10
11
11
12
private final int level ;
12
13
private final boolean summary ;
@@ -48,6 +49,7 @@ public Node perform(StagesData stagesData, Node input) {
48
49
%s
49
50
""" .formatted (iteration , optimization .summaryInfo ())
50
51
);
52
+ stagesData .put (TAG_OPTIMIZED_PROGRAM , result );
51
53
}
52
54
53
55
return result ;
You can’t perform that action at this time.
0 commit comments