Граф коммитов

940 Коммитов

Автор SHA1 Сообщение Дата
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 ebbb093094 [ruby/prism] Short-circuit if possible for start line and unused warning
https://github.com/ruby/prism/commit/2745c81d31
2024-10-10 18:31:21 +00:00
Kevin Newton b5ecb03ae4 [ruby/prism] Do not warn for unused variables on negative lines
Fixes [Bug #20788]

https://github.com/ruby/prism/commit/27e91f21af
2024-10-10 15:13:10 +00:00
Kevin Newton 82c76f1896 [ruby/prism] Reject invalid splat as last statement of parentheses
https://github.com/ruby/prism/commit/3a0b1c6110
2024-10-10 14:45:59 +00:00
Stan Lo 4f9836be8d [ruby/prism] Update rescue node doc
Its `exception` field was renamed to `reference` in #1204 but the
documentation was not updated.

https://github.com/ruby/prism/commit/a477607ba2
2024-10-10 13:43:58 +00:00
Kevin Newton e39e582594 [ruby/prism] Attempt to assume binary is UTF-8
https://github.com/ruby/prism/commit/343197e4ff
2024-10-09 15:42:23 +00:00
Kevin Newton 4cbd2ab9d4 [ruby/prism] Properly handle non-assoc operators
https://github.com/ruby/prism/commit/dbd5c929d6
2024-10-07 17:57:36 +00:00
Kevin Newton 8d1906e8b7 [ruby/prism] Handle invalid commas in arguments, parameters, and arrays
https://github.com/ruby/prism/commit/023e894b74
2024-10-07 16:38:16 +00:00
Andrew Konchin 8d359644e7 [ruby/prism] Set contains_keywords flag for implicit gets($/, chomp: true) method call to handle -l CLI option
https://github.com/ruby/prism/commit/717e41c87d
2024-10-07 15:52:22 +00:00
Kevin Newton b8c8529dcf [ruby/prism] Fix up unary * binding power
https://github.com/ruby/prism/commit/c1d23d4702
2024-10-07 15:44:33 +00:00
Kevin Newton fa547b809a [ruby/prism] Fix up errors on invalid escape character syntax
https://github.com/ruby/prism/commit/14c8559378
2024-10-07 14:39:17 +00:00
Kevin Newton 5a95a69058 [ruby/prism] Fix up pattern parsing with trailing commas
https://github.com/ruby/prism/commit/51f2df60ff
2024-10-04 17:01:58 +00:00
Kevin Newton 75640037bf [ruby/prism] Fix up multi target parsing
https://github.com/ruby/prism/commit/80cd335222
2024-10-04 16:22:21 +00:00
Kevin Newton 568511f393 [ruby/prism] Handle single global variable character name
https://github.com/ruby/prism/commit/7a0af49997
2024-10-03 17:43:11 +00:00
Kevin Newton f8568fbd7f [ruby/prism] Pop lex mode for heredocs in the lexer, not the parser
https://github.com/ruby/prism/commit/5dd36b979e
2024-10-03 17:30:20 +00:00
Kevin Newton 77056674a0 [ruby/prism] Fix up binding power for singleton method receiver
https://github.com/ruby/prism/commit/f29ceae5cf
2024-10-02 18:39:20 +00:00
Kevin Newton 2610bf01b2 [ruby/prism] Fix up doubled range in arguments
https://github.com/ruby/prism/commit/aee2de91a3
2024-10-02 15:27:01 +00:00
Kevin Newton 2e2520ef10 [ruby/prism] Fix up beginless ranges in method definitions
https://github.com/ruby/prism/commit/ab9d80987a
2024-10-02 14:47:53 +00:00
Kevin Newton 467ebbebd9 [ruby/prism] Disallow dynamic patterns in labels at top level followed by pipes
https://github.com/ruby/prism/commit/ccc746f918
2024-10-01 15:42:44 -04:00
Kevin Newton ec230ac643 Resync to latest Prism 2024-10-01 11:03:25 -04:00
Kevin Newton d86b4041b5 [ruby/prism] Disallow empty labels when not allowed
https://github.com/ruby/prism/commit/399ee28dc1
2024-10-01 13:51:05 +00:00
Kevin Newton 75568d23e9 [ruby/prism] Disallow &. after endless range
https://github.com/ruby/prism/commit/498dd922d4
2024-10-01 12:57:00 +00:00
Kevin Newton 6c9b5c1615 Sync Prism with latest main branch 2024-09-30 11:36:29 -04:00
Kevin Newton c1c9ba77ca [ruby/prism] Require a delimiter for singleton classes
https://github.com/ruby/prism/commit/fd58d6a9ea
2024-09-30 14:33:58 +00:00
Daniel Insley 9a966a09cb [ruby/prism] Fix incorrect reference to AlternationPatternNode as non-void expressions
https://github.com/ruby/prism/commit/68de31919e
2024-09-26 15:47:51 +00:00
Daniel Insley a73d80db41 [ruby/prism] Add fields documentation for AliasMethodNode and AlternationPatternNode
https://github.com/ruby/prism/commit/6953daebde
2024-09-26 15:47:51 +00:00
Kevin Newton 1f431b63a2 [ruby/prism] Reject non-assoc ranges with subsequent operators
https://github.com/ruby/prism/commit/976a3cd0a5
2024-09-26 14:57:02 +00:00
Kevin Newton cab81d1bba [ruby/prism] Update templates/include/prism/ast.h.erb
https://github.com/ruby/prism/commit/dc7164e21c
2024-09-25 19:43:47 +00:00
Alexander Momchilov fa7fef270d [ruby/prism] Fix rendering of type overview docs
https://github.com/ruby/prism/commit/d42bc309cc
2024-09-25 19:43:47 +00:00
Kevin Newton be331c0eeb [ruby/prism] Fix up more error messages to more closely match parse.y
https://github.com/ruby/prism/commit/988ac82187
2024-09-25 19:19:18 +00:00
Kevin Newton 12cf9f2ae5 [ruby/prism] Fix up void value expression checking for rescue
https://github.com/ruby/prism/commit/509ff88e92
2024-09-25 18:34:51 +00:00
Kevin Newton 768ceceb12 [ruby/prism] Disallow label in parentheses
https://github.com/ruby/prism/commit/b624e09cc6
2024-09-25 17:33:51 +00:00
Kevin Newton a6ea4ddb4e [ruby/prism] Remove use of __assume to simplify
https://github.com/ruby/prism/commit/4daf58f7a0
2024-09-25 16:17:08 +00:00
Kevin Newton bf6109c8cc [ruby/prism] Fix up windows use of __assume
https://github.com/ruby/prism/commit/9fd0c0901e
2024-09-25 16:08:13 +00:00
Kevin Newton 57688cd625 [ruby/prism] Support a max depth to protect against malicious payloads
https://github.com/ruby/prism/commit/a474017bbe
2024-09-25 15:47:08 +00:00
Benoit Daloze cafd666adf [ruby/prism] Type every node field and mark on-error-only types explicitly
* For Loader.java, do not deserialize the AST if there are errors, so then Java nodes only have non-error types for fields.

https://github.com/ruby/prism/commit/ae78e3c605
2024-09-25 13:46:31 +00:00
Kevin Newton 414a848cc6 [ruby/prism] Accept version shorthand like 3.4
https://github.com/ruby/prism/commit/098f1c4607
2024-09-24 13:21:36 +00:00
Benoit Daloze ed4a55fc4d [ruby/prism] Accept all 3.3.x and 3.4.x Ruby versions for Prism.parse
https://github.com/ruby/prism/commit/a4fcd5339a
2024-09-24 12:24:19 +00:00
Benoit Daloze b8baf3f3ee [ruby/prism] check_string() should always return a valid C string
* Otherwise it is invalid e.g. to call strlen() to the result,
  or to assume the argument was a string.
* All callers are already checking for nil before.

https://github.com/ruby/prism/commit/8197be883e
2024-09-24 12:24:19 +00:00
Kevin Newton f515a1ab4b [ruby/prism] Introduce partial_script option
https://github.com/ruby/prism/commit/b28877fa4f
2024-09-20 15:42:12 +00:00
Jeremy Evans 268c72377b
Raise a compile error for break/next/redo inside eval in cases where it is optimized away
In cases where break/next/redo are not valid syntax, they should
raise a SyntaxError even if inside a conditional block that is
optimized away.

Fixes [Bug #20597]

Co-authored-by: Kevin Newton <kddnewton@gmail.com>
2024-09-18 16:54:56 -07:00
Kevin Newton 96da3f16a0 [ruby/prism] Allow returns in default parameter values
https://github.com/ruby/prism/commit/e98ea15596
2024-09-18 11:52:27 -04:00
Kevin Newton 748933aa1b [ruby/prism] Accept "do" blocks in some parameter default values
https://github.com/ruby/prism/commit/6d7b734dbe
2024-09-17 18:47:27 +00:00
Kevin Newton 7e2ae30f8b [ruby/prism] Handle retry doubly nested under rescue
Fixes [Bug #20747]

https://github.com/ruby/prism/commit/d3194715a9
2024-09-16 19:55:29 +00:00
Kevin Newton 2ea1950510 [ruby/prism] Do not leak explicit encoding
Fixes [Bug #20744]

https://github.com/ruby/prism/commit/f1b8b1b2a2
2024-09-16 18:57:54 +00:00
Kevin Newton ddbd644001 [ruby/prism] Stat file first to check directory
https://github.com/ruby/prism/commit/4ed7de537b
2024-09-13 19:30:57 +00:00
Kevin Newton f85efc9748 [ruby/prism] Expose main_script in serialization API
https://github.com/ruby/prism/commit/0b527ca93f
2024-09-13 19:13:21 +00:00
Kevin Newton 77521afac1 [PRISM] Do not warn ambiguous ampersand when symbol literal
Fixes [Bug #20735]
2024-09-13 14:09:02 -04:00
Kevin Newton 9afc6a981d [PRISM] Only parse shebang on main script
Fixes [Bug #20730]
2024-09-13 12:51:53 -04:00
Kevin Newton d42d19059d [PRISM] Allow case/when to be indented with no warning
Fixes [Bug #20731]
2024-09-13 12:51:36 -04:00