summaryrefslogtreecommitdiff
path: root/parse.y
AgeCommit message (Collapse)Author
2023-12-25[Feature #19370] Prohibit nesting anonymous parameter forwardingNobuyoshi Nakada
2023-12-22Extract `forwarding_arg_check` functionNobuyoshi Nakada
2023-12-22Extract `arg_splat` nonterminal symbolNobuyoshi Nakada
2023-12-16[Bug #20062] Fixed numbered parameter syntax errorNobuyoshi 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 conditionNobuyoshi Nakada
2023-12-07Revert "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-07Fallback rb_warn_deprecated for UNIVERSAL_PARSERTakashi Kokubun
2023-12-06Warn `it` only with -W:deprecatedTakashi Kokubun
2023-12-07Warn `it` (#9152)Takashi Kokubun
https://bugs.ruby-lang.org/issues/18980
2023-12-02[Bug #20033] Dynamic regexp should not assign capturesNobuyoshi Nakada
2023-12-02[Bug #19838] Flush delayed token nonconsecutive with the next tokenNobuyoshi Nakada
2023-12-02Extract `end_with_newline_p`Nobuyoshi Nakada
2023-12-02Prefer proper enum over bare intNobuyoshi Nakada
2023-12-01Dispatch invalid hex escape content tooNobuyoshi Nakada
2023-12-01[Bug #20030] dispatch invalid escaped character without ignoring itNobuyoshi Nakada
2023-11-30[Bug #19877] Assign captures for direct regexp literal onlyNobuyoshi Nakada
2023-11-21Reject 'class << (return); end` by "void value expression"TSUYUSATO Kitsune
2023-10-31Keep unused literal nodesyui-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-30Embed `rb_args_info` in `rb_node_args_t`Nobuyoshi Nakada
2023-10-26[Bug #19973] Warn duplicated keyword arguments after keyword splatNobuyoshi Nakada
2023-10-25Removed unused argumentNobuyoshi Nakada
Eventually, `read_escape` does not use `encp`.
2023-10-23Use named reference for dyna_pushNobuyoshi Nakada
2023-10-23Extract p_in_kwarg to save and update lexer contextsNobuyoshi Nakada
2023-10-23Move push_pvtbl and push_pktbl in ntermsNobuyoshi Nakada
2023-10-23Extract p_assoc and p_in to save lexer contextsNobuyoshi Nakada
2023-10-20Expand OP_ASGN1 nd_args to nd_index and nd_rvalueyui-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-15Remove not used fields from STRyui-knk
2023-10-15Check node type before accessing nd_nextyui-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-15Stop updating node type from NODE_STR to NODE_DSTRyui-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.
2023-10-15Remove not used fields from XSTRyui-knk
2023-10-15Remove not used fields from LITyui-knk
2023-10-14Fix node type castsyui-knk
Use new node type set by nd_set_type.
2023-10-14Delete heredoc line mark referencesNobuyoshi Nakada
2023-10-14Shorten `rb_strterm_literal_t` membersNobuyoshi Nakada
2023-10-14Manage `rb_strterm_t` without imemoNobuyoshi Nakada
2023-10-14Remove unions in `rb_strterm` structs for alignmentNobuyoshi Nakada
2023-10-13[Bug #19919] Warn class variable assignment and constant declaration in ↵yui-knk
condition
2023-10-13Use `lex_eol` macrosNobuyoshi Nakada
2023-10-13[Bug #19924] Source code should be unsigned char streamNobuyoshi Nakada
Use `peekc` or `nextc` to fetch the next character, instead of reading from `lex.pcur` directly, for compilers that plain char is signed.
2023-10-11Extract NODE_FL_NEWLINE access to macroyui-knk
2023-10-11Semicolon after `SWITCH_BY_COND_TYPE` for auto-indent [ci skip]Nobuyoshi Nakada
2023-10-10Extract numparam ntermsNobuyoshi Nakada
2023-10-10Use `rb_node_exits_t` instead of `NODE`Nobuyoshi Nakada
2023-10-10Forward declaration of `struct RNode_DEF_TEMP` and its typedefNobuyoshi Nakada
2023-10-10Remove not used fields from DEFNyui-knk
2023-10-10Pre-allocate `NODE_DEFN`/`NODE_DEFS` nodesNobuyoshi Nakada
To fix the order of node IDs, for typeprof tests.
2023-10-10Refactor NODE_DEF_TEMPNobuyoshi Nakada
Use `NODE_DEF_TEMP` as the wrapper of `NODE_DEFS` in ripper, not only of `NODE_DEFN`, so that `endless_method_name` works consistently.
2023-10-09Take care of internal node typeyui-knk
In parse.y, node can be NODE_DEF_TEMP or NODE_EXITS. Hit "unknown node" without taking care of them. For example `ruby --dump=y lib/cgi/util.rb` causes "[BUG] unknown node: 107".
2023-10-08Remove not used fields from EVSTRyui-knk
2023-10-07Remove not used fields from asgn nodesyui-knk