Skip to content

Releases: xp-framework/compiler

0.9.0: Types

22 Oct 13:10
Compare
Choose a tag to compare
0.9.0: Types Pre-release
Pre-release
  • Added support for $arg ==> $arg++ lambdas without argument braces
    (@thekid)
  • Fixed issue #8: Member types missing for constructor argument promotion
    (@thekid)
  • Fixed issue #7: Ternary operator broken - @thekid
  • Fixed issue #6: instanceof does not resolve class names - @thekid
  • Implemented support for union types, e.g. int|float, as supported
    by this PHP RFC
    (@thekid)
  • Implemented array<int> and array<string, string> as well as
    function types (e.g. (function(int, string): string)) as seen in
    Hack's type system
    (@thekid)

0.8.0: Line numbers

18 Oct 20:04
Compare
Choose a tag to compare
0.8.0: Line numbers Pre-release
Pre-release
  • Ensured line numbers are kept; this is important for tracing
    warnings, errors and exceptions.
    (@thekid)

0.7.0: Parameter annotations

15 Oct 17:56
Compare
Choose a tag to compare
Pre-release
  • Improved function, closure, lambda and method node layouts - @thekid
  • Fixed closures not being able to use by reference - @thekid
  • Implemented parameter annotations via $param: inject - @thekid

0.6.0: Lambda capturing

15 Oct 14:51
Compare
Choose a tag to compare
Pre-release
  • Ensured types are checked where natively supported - @thekid
  • Implemented capturing locals in lambda expressions - @thekid
  • Recorded property types in cached meta data - @thekid
  • Implemented support for dynamic new via new $type- @thekid
  • Fixed assignment operator - @thekid
  • Fixed parameter types - @thekid
  • Fixed annotations not having access to class scope - @thekid
  • Fixed constant emittance in PHP 7.1+ - @thekid
  • Fixed trait declaration - @thekid
  • Fixed issue #3: Annotations in package - @thekid
  • Fixed issue #4: "xp compile" installation - @thekid

0.5.0: Scope defines cleanup

15 Oct 00:07
Compare
Choose a tag to compare
Pre-release
  • Removed unused scope defines - @thekid
  • Fixed endless loop for unclosed argument lists - @thekid
  • Fixed type annotations not being parsed - @thekid

0.4.0: Annotations performance

14 Oct 23:00
Compare
Choose a tag to compare
Pre-release
  • Optimized runtime performance by including annotations as
    metadata inside code, see issue #1.
    (@thekid)
  • Fixed annotation parsing - @thekid
  • Made xp help compile display something useful - @thekid
  • Fixed compatibility with XP7 console streaming - @thekid

0.3.0: Compile subcommand

14 Oct 22:04
Compare
Choose a tag to compare
Pre-release
  • Registered xp compile subcommand - @thekid
  • Simulated yield from in PHP 5.6 in a limited fashion - @thekid
  • Added support for nullable types from PHP 7.1 - @thekid
  • Implemented short list(...) syntax from PHP 7.1 - @thekid
  • Added support for anonymous classes from PHP 7.0 - @thekid
  • Implemented constant modifiers from PHP 7.1 - @thekid
  • Added support for comparison operator <=> from PHP 7.0 - @thekid
  • Added support for object typehint from PHP 7.2 - @thekid

0.2.0: PHP version specific handling

14 Oct 19:25
Compare
Choose a tag to compare
Pre-release
  • Add factory to retrieve emitter for a given PHP runtime - @thekid
  • Extract PHP version specific handling to dedicated classes - @thekid
  • Ensure compiled code can be loaded for annotation parsing - @thekid

0.1.0: Hello World

14 Oct 16:33
Compare
Choose a tag to compare
0.1.0: Hello World Pre-release
Pre-release