@markw65/monkeyc-optimizer 1.0.27 → 1.0.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -298,3 +298,48 @@ More fixes found via open source projects.
298
298
  - Bug fixes
299
299
  - Update to `@markw65/prettier-plugin-monkeyc@1.0.29` to fix certain obscure comment related bugs
300
300
  - When replacing a node (espcially when inlining), delete any comments contained in the old node.
301
+
302
+ ### 1.0.28
303
+
304
+ - Bug fixes
305
+ - In some circumstances, while inlining, a parameter could be substituted, and then reprocessed. During reprocessing, it would attempt to lookup the replacement symbol, and if that was a local from the calling function it would fail (since an inline function never has access to the caller's locals). Prevent the reprocessing step from happening.
306
+
307
+ ### 1.0.29
308
+
309
+ - Update to @markw65/prettier-plugin-monkeyc@1.0.32
310
+
311
+ - Fixes a parser issue where `x as Type ? a : b` would be parsed as `(x as Type?) a : b` which would then be reported as a syntax error.
312
+
313
+ - Bug fixes
314
+
315
+ - Fix a bug causing literal nodes to be shared. This was harmless prior to the implementation of the PRE pass
316
+
317
+ - Code cleanup
318
+
319
+ - Add `isStatement` and `isExpression` helpers
320
+
321
+ - New features
322
+
323
+ - Add constant folding for relational and logical operators
324
+ - Allow assignment-scope inlining in variable initializers
325
+ - Better cleanup of unused expressions
326
+ - Add a size based PRE pass. Currently limited to non-local variables, and literals
327
+
328
+ - Testing
329
+ - Ignore case of typeCheckLevel option
330
+ - Actually run the rest of the expected-to-crash tests
331
+ - Better error messages from pragma checker
332
+ - Better regex for filtering projects
333
+
334
+ ### 1.0.30
335
+
336
+ - Less greedy approach to finding candidate sets
337
+ - slightly better size reduction when globals maybe modified
338
+ - Fix the control flow after the test of a while loop
339
+ - one of the edges was in the wrong place, leading to suboptimal solutions in some cases
340
+
341
+ Bug Fixes
342
+
343
+ - Fix a bug that could lead to the optimizer never completing
344
+ - Fix a bug that prevented inlining functions that ended in a BlockStatement
345
+ - Fix a bug that could cause nested inlined functions inlined in declarations to not be removed