dart_eval 0.5.4 copy "dart_eval: ^0.5.4" to clipboard
dart_eval: ^0.5.4 copied to clipboard

A flexible Dart bytecode compiler and interpreter written in Dart, enabling code push for AOT Dart apps.

0.5.4 #

  • Bindings for most String methods (thanks to @maks)
  • Support for super constructor params
  • Support for plugins in the eval() method
  • Deprecated compilerSettings and runtimeSettings in eval() in favor of plugins
  • Support for nullable type annotations in argument lists
  • Removed the nullable param from KnownMethodArg in favor of the new nullable param in TypeRef
  • Improved many error messages to display filename and a code snippet
  • Error messages about type assignments now disambuigate between types if they have the same name

0.5.3 #

  • Support for class getters and setters
  • Automatic default constructor when none is specified
  • Fix prefixed imports causing other types to be unresolvable

0.5.2 #

  • Allow null to be boxed
  • Fix Maps without explicit type parameters
  • Other bug fixes

0.5.1 #

  • Propagate expected types from variable declarations and argument lists to the expressions they contain.
  • Allow specifying doubles with int literals when the expected type is known
  • Fix static bridge method return types being null

0.5.0 #

Note: EVC bytecode generated with this version may not be compatible with previous versions.

  • Web support for both compiler and runtime
  • Incremental parsing for faster recompilation
  • New plugin system for bridge libraries to enable reusing a Compiler instance
  • Support for tear-offs (top-level functions and methods within the current class only)
  • Improve async/await
  • Reduce size of generated bytecode

0.4.7 #

  • Add bindings for the dart:math Point class
  • Add Duration.zero and some other Duration static getters
  • Support unary minus on ints and doubles
  • Support for optional positional parameters on bridge classes

0.4.6 #

  • Support for bridged static getters
  • Support for top-level and class arrow functions

0.4.5 #

  • Support for arrow function expressions

0.4.4 #

  • CLI: allow invoking without dart pub global run

0.4.3 #

  • CLI: Improved ease of use and documentation
  • CLI: Added support for JSON bindings
  • Type arguments are now applied when extending a bridge class that declares a generic type parameter
  • BridgeTypeRef.ref is now supported in limited cases for referencing generic class type parameters
  • Support for bridged getters
  • Support for string interpolation
  • The eval() method now lets you specify an output file path and does not automatically output a file if left unspecified
  • Fix broken sample in README (thanks @g123k)

0.4.2 #

  • Fix analyzer version constraint

0.4.1 #

  • Fix a potential crash when resolving common base types.
  • Support for calling methods on a bridge class's supertype without having to declare the method on the subtype's declaration.
  • Documentation improvements

0.4.0 #

  • (Breaking) You must now specify the bridge or wrap parameter in a BridgeClassDef
  • (Breaking) You must now specify isBridge: true when registering a bridge class constructor with runtime.registerBridgeFunc()
  • Support for bridged (only) enums
  • Support for variable captures inside closures
  • Support for implicit class field accesses including this and super in closures
  • Bridge declarations are now merged with a Dart source file of the same URI, if one exists
  • Basic support for top-level variables and static fields
  • Support for bool literals and logical and/or
  • Support String.substring() (thanks to @maks)
  • Now using continuous integration (thanks to @maks)
  • Various bug fixes and code cleanups

0.3.0 #

  • (Breaking) Modified public API for defining bridge classes. See Pub example.
  • (Breaking) Relative import URIs may no longer work (it's unclear whether they worked before). Support will be re-added in a future release.
  • (Deprecated) Runtime.executeNamed() is deprecated. Use Runtime.executeLib() instead.
  • Compiler now uses graphs to compose libraries from imports, exports, and parts, and should now mostly follow the Dart spec.
  • Partial support for show and hide on imports and exports
  • Support defining extends, implements, and with on bridge classes
  • Support for adding files to the compiler before compiling, for use in bridge libraries to enable exports.
  • Add recursion guard for type resolution

0.2.0 #

  • Partial support for anonymous functions and the Dart runtime type system
  • New serializable interop descriptor classes to allow for code push in the future
  • Runtime overrides
  • Implement collection if for Lists
  • Support for async/await via continuations, as well as Future.then()
  • Basic CLI

0.1.0 #

  • Rebuilt from the ground up around the new DBC bytecode compiler
  • Public API changes: see readme
  • Massive performance improvements, up to 350x
  • Support for the Dart type system (compile-time checks only)
  • Refactor class system to support super
  • New simpler Bridge interop that also allows const classes

0.0.4 #

  • Add support for if, basic for, number comparison operators, and postfix ++
  • Fix +, -, *, and / operators
  • Improve performance significantly

0.0.3 #

  • Make the Pub analyzer happy
  • Add some Dartdoc comments

0.0.2 #

  • Fix scoping
  • Add support for List and Map types

0.0.1 #

  • Create parser and interpreter
  • Add interop
194
likes
0
pub points
91%
popularity

Publisher

verified publisherethanblake.xyz

A flexible Dart bytecode compiler and interpreter written in Dart, enabling code push for AOT Dart apps.

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

_fe_analyzer_shared, analyzer, args, collection, dcli, directed_graph, json_annotation

More

Packages that depend on dart_eval