| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2024-01-09 | Simplify empty hahs with DSTAR | Nobuyoshi Nakada | |
| 2024-01-09 | Extract repeating NODE references as a local variable | Nobuyoshi Nakada | |
| 2024-01-09 | Use `strcmp` to compare strings | yui-knk | |
| 2024-01-08 | Do not convert NODE_STR to NODE_LIT when the string is hash key | yui-knk | |
| parse.y converted NODE_STR when the string is hash key like ``` h1 = {"str1" => 1} m1("str2" => 2) m2({"str3" => 3}) ``` This commit stop the conversion. `static_literal_node_p` needs to know the node is for hash key or not for the optimization. | |||
| 2024-01-08 | Change numeric node value functions argument to `NODE *` | yui-knk | |
| Change the argument to align with other node value functions like `rb_node_line_lineno_val`. | |||
| 2024-01-08 | Fix numeric node print by `-y` option | yui-knk | |
| These nodes are not NOTE_LIT, so need to treat separately. | |||
| 2024-01-08 | Suppress unused-but-set-variable warning in ripper | Nobuyoshi Nakada | |
| `set_yylval_node` in ripper does not use the argument at all. | |||
| 2024-01-08 | Adjust styles and indents [ci skip] | Nobuyoshi Nakada | |
| 2024-01-07 | Remove unneeded rb_parser_config_struct struct properties for Universal Parser | S-H-GAMELINKS | |
| 2024-01-07 | Do not remove hash duplicated keys in parse.y | yui-knk | |
| When hash keys are duplicated, e.g. `h = {k: 1, l: 2, k: 3}`, parser changes node structure for correct compilation. This generates tricky AST. This commit removes AST manipulation from parser to keep AST structure simple. | |||
| 2024-01-07 | Check hash key duplication for `__LINE__` and `__FILE__` | yui-knk | |
| 2024-01-07 | Introduce Numeric Node's | S-H-GAMELINKS | |
| 2024-01-02 | Introduce NODE_FILE | yui-knk | |
| `__FILE__` was managed by `NODE_STR` with `String` object. This commit introduces `NODE_FILE` and `struct rb_parser_string` so that 1. `__FILE__` is detectable from AST Node 2. Reduce dependency ruby object | |||
| 2024-01-02 | Warn "literal in condition" for `__LINE__` | yui-knk | |
| Print warning for a code like ```ruby if __LINE__ end # => warning: literal in condition ``` | |||
| 2023-12-29 | Introduce NODE_LINE | yui-knk | |
| `__LINE__` was managed by `NODE_LIT` with `Integer` object. This commit introduces `NODE_LINE` so that 1. `__LINE__` is detectable from AST Node 2. Reduce dependency ruby object | |||
| 2023-12-27 | [Bug #20094] Distinguish `begin` and parentheses | Nobuyoshi Nakada | |
| 2023-12-27 | Initialize rb_node_block_t::nd_end at creation | Nobuyoshi Nakada | |
| 2023-12-27 | Use NODE_ERROR as placeholder of error instead of NODE_BEGIN | Nobuyoshi Nakada | |
| 2023-12-27 | Include new node types into %printer | yui-knk | |
| 2023-12-25 | [Feature #19370] Blocks without anonymous parameters should not affect | Nobuyoshi Nakada | |
| 2023-12-25 | Implement `it` (#9199) | Takashi Kokubun | |
| [[Feature #18980]](https://bugs.ruby-lang.org/issues/18980) Co-authored-by: Yusuke Endoh <mame@ruby-lang.org> | |||
| 2023-12-25 | [Feature #19370] Prohibit nesting anonymous parameter forwarding | Nobuyoshi Nakada | |
| 2023-12-22 | Extract `forwarding_arg_check` function | Nobuyoshi Nakada | |
| 2023-12-22 | Extract `arg_splat` nonterminal symbol | Nobuyoshi Nakada | |
| 2023-12-16 | [Bug #20062] Fixed numbered parameter syntax error | Nobuyoshi Nakada | |
| At the method definition, the local scope that saves the context of the numbered parameters needs to be pushed before saving. | |||
| 2023-12-08 | [Bug #19877] Flip-flop needs to be direct condition | Nobuyoshi Nakada | |
| 2023-12-07 | Revert "Warn `it` only with -W:deprecated" | Takashi Kokubun | |
| This reverts commit 5458252bb0edcd498e6bd4bea57fd7500bacd54c. Revert "Fallback rb_warn_deprecated for UNIVERSAL_PARSER" This reverts commit 680be886f4d807073f24beed36648ef76219e4f7. matz actually preferred always warning `it`. | |||
| 2023-12-07 | Fallback rb_warn_deprecated for UNIVERSAL_PARSER | Takashi Kokubun | |
| 2023-12-06 | Warn `it` only with -W:deprecated | Takashi Kokubun | |
| 2023-12-07 | Warn `it` (#9152) | Takashi Kokubun | |
| https://bugs.ruby-lang.org/issues/18980 | |||
| 2023-12-02 | [Bug #20033] Dynamic regexp should not assign captures | Nobuyoshi Nakada | |
| 2023-12-02 | [Bug #19838] Flush delayed token nonconsecutive with the next token | Nobuyoshi Nakada | |
| 2023-12-02 | Extract `end_with_newline_p` | Nobuyoshi Nakada | |
| 2023-12-02 | Prefer proper enum over bare int | Nobuyoshi Nakada | |
| 2023-12-01 | Dispatch invalid hex escape content too | Nobuyoshi Nakada | |
| 2023-12-01 | [Bug #20030] dispatch invalid escaped character without ignoring it | Nobuyoshi Nakada | |
| 2023-11-30 | [Bug #19877] Assign captures for direct regexp literal only | Nobuyoshi Nakada | |
| 2023-11-21 | Reject 'class << (return); end` by "void value expression" | TSUYUSATO Kitsune | |
| 2023-10-31 | Keep unused literal nodes | yui-knk | |
| For static analysis, it’s better to keep unused literal nodes. If simply change `block_append` to fall through, both "unused literal ignored" and "possibly useless use of a literal in void context" warnings are shown for the same line. But it’s verbose then remove "unused literal ignored" warning. This kind of optimization is already implemented on compile.c. `compile_block` calls `iseq_compile_each0` with `popped = 1` when NODE_BLOCK has next. | |||
| 2023-10-30 | Embed `rb_args_info` in `rb_node_args_t` | Nobuyoshi Nakada | |
| 2023-10-26 | [Bug #19973] Warn duplicated keyword arguments after keyword splat | Nobuyoshi Nakada | |
| 2023-10-25 | Removed unused argument | Nobuyoshi Nakada | |
| Eventually, `read_escape` does not use `encp`. | |||
| 2023-10-23 | Use named reference for dyna_push | Nobuyoshi Nakada | |
| 2023-10-23 | Extract p_in_kwarg to save and update lexer contexts | Nobuyoshi Nakada | |
| 2023-10-23 | Move push_pvtbl and push_pktbl in nterms | Nobuyoshi Nakada | |
| 2023-10-23 | Extract p_assoc and p_in to save lexer contexts | Nobuyoshi Nakada | |
| 2023-10-20 | Expand OP_ASGN1 nd_args to nd_index and nd_rvalue | yui-knk | |
| ARGSCAT has been used for nd_args to hold index and rvalue, because there was limitation on the number of members for Node. We can easily change structure of node now, let's expand it. | |||
| 2023-10-15 | Remove not used fields from STR | yui-knk | |
| 2023-10-15 | Check node type before accessing nd_next | yui-knk | |
| This is also a preparation for removing not_used members from STR NODE. Current codes work without node type check because NODE_STR has not_used2 member corresponding to nd_next of NODE_LIST and NODE_DSTR. However it causes problme once not_used members are removed from NODE_STR. | |||
| 2023-10-15 | Stop updating node type from NODE_STR to NODE_DSTR | yui-knk | |
| This is a preparation for removing not_used members from STR NODE. Once not_used members are removed from STR NODE, STR NODE is smaller than DSTR NODE. Therefore allocate NODE_DSTR instead of reusing NODE_STR. | |||
