Kevin Newton
050ffab82b
[ruby/prism] Polyfill Kernel#warn category parameter
...
https://github.com/ruby/prism/commit/d85c72a1b9
2025-03-19 21:03:18 +00:00
Kevin Newton
da93c9ae29
[ruby/prism] Refactor serializer
...
https://github.com/ruby/prism/commit/8ab2532f09
2025-01-14 15:32:41 +00:00
Kevin Newton
713f31872a
[ruby/prism] Freeze AST option
...
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
2025-01-14 15:32:39 +00:00
Kevin Newton
550ae745f6
[ruby/prism] Relocation
...
https://github.com/ruby/prism/commit/5ea6042408
2024-10-16 15:56:01 +00:00
Kevin Newton
5f62522d5b
[ruby/prism] Prism::StringQuery
...
Introduce StringQuery to provide methods to access some metadata
about the Ruby lexer.
https://github.com/ruby/prism/commit/d3f55b67b9
2024-10-11 19:34:57 +00:00
Kevin Newton
f8b750370e
[ruby/prism] Remove Debug module
...
https://github.com/ruby/prism/commit/4d8929ff6a
2024-05-24 17:19:38 +00:00
Kevin Newton
e6340258f8
[ruby/prism] Autoload newlines and comment visitors
...
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
2024-05-13 15:34:47 +00:00
Kevin Newton
d4a6d0c177
[ruby/prism] Prism::Location#adjoin
...
https://github.com/ruby/prism/commit/a298db68e3
2024-05-03 19:14:03 +00:00
Kevin Newton
6d9ba1e014
[ruby/prism] Change inspect from recursive to a queue
...
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
2024-04-24 14:16:42 -04:00
Kevin Newton
23be6599a2
[ruby/prism] Split parse result based on type
...
https://github.com/ruby/prism/commit/17194e096d
2024-04-19 19:25:32 +00:00
Kevin Newton
d186eb36a4
[ruby/prism] Add a reflection API for determining the fields of a node
...
https://github.com/ruby/prism/commit/f3f9950a74
2024-04-17 13:54:29 -04:00
Benoit Daloze
6075f67ae6
[ruby/prism] Tweak wording for Prism::BACKEND
...
* TruffleRuby does support C extensions but FFI is faster there.
https://github.com/ruby/prism/commit/d211a87691
2024-02-29 19:24:04 +00:00
Kevin Newton
cd8d1018bb
[ruby/prism] Resync RBI and test it in CI
...
https://github.com/ruby/prism/commit/4ef4032774
2024-02-29 16:29:16 +00:00
Gopal Patel
dfee033746
[ruby/prism] Replace awkward code changes with steep:ignore
...
Also remove RBS for currently ignored files. Will follow-up when those
check fully in later PRs.
https://github.com/ruby/prism/commit/2cae58f86d
2024-02-24 03:39:28 +00:00
Gopal Patel
bfbaafbd9c
[ruby/prism] Make rake check_annotations verify public RBS
...
https://github.com/ruby/prism/commit/db78eef6a2
2024-02-24 03:39:26 +00:00
Noah Gibbs
16b39072a5
[ruby/prism] Move Prism::RipperCompat to Prism::Translation::Ripper
...
https://github.com/ruby/prism/commit/c0331abe4f
2024-02-12 15:57:57 +00:00
Kevin Newton
f12ebe1188
[ruby/prism] Add parser translation
...
https://github.com/ruby/prism/commit/8cdec8070c
2024-01-27 19:59:42 +00:00
Kevin Newton
10bc0bd4ab
[ruby/prism] Remove warnings check from parse_success? method
...
https://github.com/ruby/prism/commit/e30a241fb3
2023-12-07 14:39:11 +00:00
Kevin Newton
d35aa58b2f
[ruby/prism] Fix up docs for lex_compat
...
https://github.com/ruby/prism/commit/9131e84060
2023-12-04 17:15:19 +00:00
Kevin Newton
492c82cb41
[ruby/prism] Prism.parse_success?(source)
...
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
2023-12-01 20:53:34 +00:00
Kevin Newton
94f82a65f7
[ruby/prism] Add the ability to convert nodes to dot
...
https://github.com/ruby/prism/commit/3e4b4fb947
2023-11-12 02:53:33 +00:00
Kevin Newton
05f5c545d2
[ruby/prism] Wire up options through the FFI API
...
https://github.com/ruby/prism/commit/f0aa8ad93b
2023-11-03 10:13:49 -04:00
Kevin Newton
f12617ec98
[ruby/prism] Fix up Prism and Debug docs
...
https://github.com/ruby/prism/commit/c2b7724d91
2023-11-01 13:10:29 -04:00
Kevin Newton
4f73a7c2f7
Sync to prism rename commits
2023-09-27 13:57:38 -04:00
Kevin Newton
8ab56869a6
Rename YARP filepaths to prism filepaths
2023-09-27 13:57:38 -04:00