summaryrefslogtreecommitdiff
path: root/parse.y
AgeCommit message (Collapse)Author
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
2023-10-07Correctly casting node for accessing nd_value and nd_vid in parse.yyui-knk
2023-10-07Pass nd_value to NODE_REQUIRED_KEYWORD_Pyui-knk
2023-10-07Use rb_node_masgn_t instead of NODEyui-knk
2023-10-06Remove not used fields from MATCH3yui-knk
2023-10-06Remove not used fields from YIELDyui-knk
2023-10-06Remove not used fields from ZLISTyui-knk
2023-10-06Remove `NODE_VALUES`Nobuyoshi Nakada
This node type was added for the multi-value experiment back in 2004. The feature itself was removed after a few years, but this is its remnant.
2023-10-05Chain nodes to exit onlyNobuyoshi Nakada
2023-10-05Do not chain unexpected nodeNobuyoshi Nakada
2023-10-05Remove unused nodes in NODE_RETURN and NODE_REDONobuyoshi Nakada
2023-10-05Move internal NODE_DEF_TEMP to parse.yNobuyoshi Nakada
2023-10-05Remove not used fields from colon nodesyui-knk
2023-10-05Fix cast typeyui-knk
2023-10-04Remove not used fields from variable nodesyui-knk
2023-10-02`yield` cannot be placed outside methods even in blocksNobuyoshi Nakada
2023-10-02Include new node types into %printeryui-knk
2023-10-02Remove not used fields from call nodesyui-knk