Age | Commit message (Collapse) | Author |
---|
| https://github.com/ruby/prism/commit/d85c72a1b9 |
| https://github.com/ruby/prism/commit/8ab2532f09 |
| To make it so that you can pass `freeze: true` to Prism parse methods and get back a deeply-frozen AST that is Ractor- shareable. https://github.com/ruby/prism/commit/8e6a93b2d2 |
| https://github.com/ruby/prism/commit/5ea6042408 |
| Introduce StringQuery to provide methods to access some metadata about the Ruby lexer. https://github.com/ruby/prism/commit/d3f55b67b9 |
| https://github.com/ruby/prism/commit/4d8929ff6a |
| Having the @newline instance variable in every node adds up, and since it is so rarely used, we only want to add it when necessary. Moving this into an autoloaded file and moving the instance variable out of the default initializers reduces allocated memory because the nodes are now smaller and some fit into the compact list. On my machine, I'm seeing about an 8% drop. https://github.com/ruby/prism/commit/eea92c07d2 |
| https://github.com/ruby/prism/commit/a298db68e3 |
| We would previously cause a stack overflow if we parsed a file that was too deeply nested when we were calling inspect. Instead, we now use a queue of commands to do it linearly so we don't. https://github.com/ruby/prism/commit/0f21f5bfe1 |
| https://github.com/ruby/prism/commit/17194e096d |
| https://github.com/ruby/prism/commit/f3f9950a74 |
| * TruffleRuby does support C extensions but FFI is faster there. https://github.com/ruby/prism/commit/d211a87691 |
| https://github.com/ruby/prism/commit/4ef4032774 |
| Also remove RBS for currently ignored files. Will follow-up when those check fully in later PRs. https://github.com/ruby/prism/commit/2cae58f86d |
| https://github.com/ruby/prism/commit/db78eef6a2 |
| https://github.com/ruby/prism/commit/c0331abe4f |
| https://github.com/ruby/prism/commit/8cdec8070c |
| https://github.com/ruby/prism/commit/e30a241fb3 |
| https://github.com/ruby/prism/commit/9131e84060 |
| A lot of tools use Ripper/RubyVM::AbstractSyntaxTree to determine if a source is valid. These tools both create an AST instead of providing an API that will return a boolean only. This new API only creates the C structs, but doesn't bother reifying them into Ruby/the serialization API. Instead it only returns true/false, which is significantly more efficient. https://github.com/ruby/prism/commit/7014740118 |
| https://github.com/ruby/prism/commit/3e4b4fb947 |
| https://github.com/ruby/prism/commit/f0aa8ad93b |
| https://github.com/ruby/prism/commit/c2b7724d91 |
| |
| |