Module: Mutant::AST::Types Private

Included in:
Mutator::Node::Send
Defined in:
lib/mutant/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

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 mutant.

not - 1.8 only, mutant does not support 1.8

symbolset.(%w[not])
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.

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

symbolset.(%w[empty])
MISSING =

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 currently missing from Parser::Meta::NODE_TYPES

symbolset.(%w[csend])
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 mutant handles

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