Module: Mutest::AST::Types Private

Included in:
Mutator::Node::Send
Defined in:
lib/mutest/ast/types.rb

Overview

This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.

Groups of node types

rubocop:disable Metrics/ModuleLength

Constant Summary collapse

ASSIGNABLE_VARIABLES =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

symbolset.(%w[ivasgn lvasgn cvasgn gvasgn])
INDEX_ASSIGN_OPERATOR =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

:[]=
NOT_ASSIGNABLE =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Set of nodes that cannot be on the LHS of an assignment

symbolset.(%w[int float str dstr class module self nil])
OP_ASSIGN =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Set of op-assign types

symbolset.(%w[or_asgn and_asgn op_asgn])
NOT_STANDALONE =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Set of node types that are not valid when emitted standalone

symbolset.(%w[splat restarg block_pass])
INDEX_OPERATORS =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

symbolset.(%w[[] []=])
UNARY_METHOD_OPERATORS =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

symbolset.(%w[~@ +@ -@ !])
METHOD_OPERATORS =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Operators ruby implements as methods

symbolset.(%w[
  <=> === []= [] <= >= == !~ != =~ <<
  >> ** * % / | ^ & < > + - ~@ +@ -@ !
])
BINARY_METHOD_OPERATORS =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

symbolset.(
  METHOD_OPERATORS - (INDEX_OPERATORS + UNARY_METHOD_OPERATORS)
)
OPERATOR_METHODS =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

symbolset.(
  METHOD_OPERATORS + INDEX_OPERATORS + UNARY_METHOD_OPERATORS
)
BLACKLIST =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Nodes that are NOT handled by mutest.

not - 1.8 only, mutest does not support 1.8

symbolset.(%w[not])
REGEXP =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Nodes generated by regular expression body parsing

symbolset.(%w[
  regexp_alpha_property
  regexp_alternation_escape
  regexp_alternation_meta
  regexp_atomic_group
  regexp_backslash_escape
  regexp_bell_escape
  regexp_bol_anchor
  regexp_bol_escape
  regexp_bos_anchor
  regexp_capture_group
  regexp_carriage_escape
  regexp_character_set
  regexp_character_set
  regexp_codepoint_list_escape
  regexp_comment_free_space
  regexp_comment_group
  regexp_control_escape
  regexp_digit_type
  regexp_dot_escape
  regexp_dot_meta
  regexp_eol_anchor
  regexp_eol_escape
  regexp_eos_anchor
  regexp_eos_ob_eol_anchor
  regexp_escape_escape
  regexp_form_feed_escape
  regexp_greedy_interval
  regexp_greedy_one_or_more
  regexp_greedy_zero_or_more
  regexp_greedy_zero_or_one
  regexp_group_close_escape
  regexp_group_open_escape
  regexp_hex_escape
  regexp_hex_type
  regexp_interval_close_escape
  regexp_interval_open_escape
  regexp_letter_any_property
  regexp_literal_escape
  regexp_literal_literal
  regexp_lookahead_assertion
  regexp_lookbehind_assertion
  regexp_mark_keep
  regexp_match_start_anchor
  regexp_meta_sequence_escape
  regexp_name_call_backref
  regexp_named_group
  regexp_newline_escape
  regexp_nlookahead_assertion
  regexp_nlookbehind_assertion
  regexp_nondigit_type
  regexp_nonspace_type
  regexp_nonword_boundary_anchor
  regexp_nonword_type
  regexp_nonhex_type
  regexp_number_backref
  regexp_one_or_more_escape
  regexp_open_conditional
  regexp_options_group
  regexp_passive_group
  regexp_possessive_interval
  regexp_possessive_one_or_more
  regexp_possessive_zero_or_more
  regexp_possessive_zero_or_one
  regexp_reluctant_interval
  regexp_reluctant_one_or_more
  regexp_reluctant_zero_or_more
  regexp_root_expression
  regexp_script_arabic_property
  regexp_script_han_property
  regexp_script_hangul_property
  regexp_script_hiragana_property
  regexp_script_katakana_property
  regexp_sequence_expression
  regexp_set_close_escape
  regexp_set_open_escape
  regexp_space_type
  regexp_tab_escape
  regexp_vertical_tab_escape
  regexp_whitespace_free_space
  regexp_word_boundary_anchor
  regexp_word_type
  regexp_zero_or_more_escape
  regexp_zero_or_one_escape
])
GENERATED =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Nodes that are NOT generated by parser but used by mutest / unparser.

symbolset.(%w[empty])
EXTRA =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

symbolset.(GENERATED + REGEXP)
ALL =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

All node types mutest handles

symbolset.((Parser::Meta::NODE_TYPES + EXTRA) - BLACKLIST)