puredartlua 1.0.6
puredartlua: ^1.0.6 copied to clipboard
Lua 5.5 interpreter and autodoc tool written in pure Dart.
1.0.6 #
LuaObject.writeFieldsFromtakes a list of lua objects whose ID's will become the field keys too.- constructor
LuaObject.tableFromadded under similar rationale. - singular writer
LuaObject.writeFieldFromadded under similar rationale. - When invoking a function, the new scope no longer retains context of itself (the caller)
- b/c this created incorrect behavior when resolving parameters during AST visit.
- b/c if using
self, already provides the caller. - b/c now has correct outcome in other projects using this lib after removal.
1.0.5 #
- Hotfixes
- Autodoc crash when evaluating
LuaObjectNoSemanticstype. - Fixed table test.
- Note to self: tests should be modernized in the next update.
- Autodoc crash when evaluating
1.0.4 #
notkeyword was resolving when something was truthy instead of the opposite.- Moved
onWriteandonReadcallbacks to the end of the operation so that programmers can react to changed values and know those values. ReturnStmtCallStackUnwindandReturnStmtDoNotUnwindadded as mixins. These are required to use to form a complete base class forBaseRuntime.- The former is expected lua runtime behavior. The latter is for cases where users want to perform static analysis.
callLuaFunction(luaObject, args)helper utility function added toBaseRuntime.- Pushes and pop the scope, handles exceptions, and declares variables in-order of the function definition.
toLua(id)now creates a new lua object with the nameidin all cases. This is convenient for function callsmakeLuaRef()is a method that returns the exact lua object pointer without making a copy object.- If the underlying object is not a
LuaObject, the null is returned.
- If the underlying object is not a
- Grammar fix: underlining -> underlying
1.0.3 #
-
Added new token
TokenType.kSpreadfor varargs. -
Added support for variadic arguments.
-
Fixed for-loop evaluation to allow variables.
-
If the end-user does not drop comments, the parser will now skip over them as expected.
-
Took out hacks to promote failed assigned values to variables.
- This may come back to break some things...
-
Corected equality checks.
-
Only numbers and strings can be concatenated.
-
Wrote a bunch of test scripts to begin building a test suite.
-
Changed
showDateTimetodateTimeFormatwhich is aString?type.- When this is null, it does not show the date.
- When this is non-null, uses intl package
DateFormatclass.
-
Added
showSidebarIndexwhich now paritions the page so that the index is in a sticky sidebar. -
Title, version, and datetime now have css classes
version-title,version-number,version-datetimerespectively.
1.0.2 #
- Fixed variables without parent objects (non-fields + globals) not generating headers.
- Added optional
jsandcssparameter to the autodoc.- The autodoc has its own theme defaults but can be replaced with these parameters.
- Added lua classes to the generated headers in the autodoc output.
- For variables
lua-field. - For functions
lua-func. - For tables
lua-table.
- For variables
- Fixed some bad HTML output (tag mismatches or lack thereof).
1.0.1 #
- Added floating return button in the output autodoc to return readers to the top of the index.
- Added optional version subtext to the autodoc.
- Added optional boolean to show or hide timestamp generation.
1.0.0 #
- Initial version.