@markw65/monkeyc-optimizer 1.0.21 → 1.0.24

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
@@ -244,3 +244,39 @@ More fixes found via open source projects.
244
244
  - Upgrade to @markw65/prettier-plugin-monkeyc@1.0.24
245
245
  - fixes crash with comments following an attribute: `(:foo) /* comment */ function foo() {}`
246
246
  - Fix issues with recursive inlining
247
+
248
+ ### 1.0.22
249
+
250
+ - Improvements
251
+
252
+ - Major rewrite of the symbol lookup mechanism, to match monkeyc as closely as possible
253
+
254
+ - Fix callee lookup to skip local variables
255
+ - Fix class lookup to first check all the super classes, then to check the context of each super class
256
+ - Fix module lookup to check both the module, and the context of the module
257
+ - Inject class and module names into themselves. So that Graphics.Graphics.COLOR_RED works.
258
+
259
+ - Add live diagnostics for missing symbols
260
+
261
+ - Bug fixes
262
+
263
+ - Recognize the the variable in a catch clause is a declaration
264
+
265
+ - Breaking change
266
+ - By popular demand, reversed the sense of `inline*foo`, so now it inlines when foo is _not_ declared as an excludeAnnotation
267
+
268
+ ### 1.0.23
269
+
270
+ - Bug Fixes
271
+
272
+ - Don't treat parameters to Method types as undeclared variables
273
+ - eg `var x as (Method(a as Number, b as Number) as Void)` should not report that `a` and `b` are undeclared
274
+
275
+ - Tests
276
+ - Various new tests for module/class/local resolution of symbols
277
+ - Make tests fail by default if the optimizer reports any undefined symbols, and add `@expects` or `checkInvalidSymbols=WARNING` as needed to prevent test failures.
278
+
279
+ ### 1.0.24
280
+
281
+ - Bug fix
282
+ - The new ast.ts didn't pick up child elements that could be either a string or a node. This resulted in it missing the name in TypeSpecPart.