Class: Mutant::Mutator::Node
- Inherits:
-
Mutant::Mutator
- Object
- Mutant::Mutator
- Mutant::Mutator::Node
- Includes:
- AbstractType, AST::NamedChildren, AST::NodePredicates, AST::Nodes, AST::Sexp, Unparser::Constants
- Defined in:
- lib/mutant/mutator/node.rb,
lib/mutant/mutator/node/if.rb,
lib/mutant/mutator/node/case.rb,
lib/mutant/mutator/node/dstr.rb,
lib/mutant/mutator/node/dsym.rb,
lib/mutant/mutator/node/mlhs.rb,
lib/mutant/mutator/node/next.rb,
lib/mutant/mutator/node/noop.rb,
lib/mutant/mutator/node/send.rb,
lib/mutant/mutator/node/when.rb,
lib/mutant/mutator/node/begin.rb,
lib/mutant/mutator/node/block.rb,
lib/mutant/mutator/node/break.rb,
lib/mutant/mutator/node/const.rb,
lib/mutant/mutator/node/masgn.rb,
lib/mutant/mutator/node/splat.rb,
lib/mutant/mutator/node/super.rb,
lib/mutant/mutator/node/yield.rb,
lib/mutant/mutator/node/binary.rb,
lib/mutant/mutator/node/define.rb,
lib/mutant/mutator/node/nthref.rb,
lib/mutant/mutator/node/rescue.rb,
lib/mutant/mutator/node/return.rb,
lib/mutant/mutator/node/zsuper.rb,
lib/mutant/mutator/node/defined.rb,
lib/mutant/mutator/node/generic.rb,
lib/mutant/mutator/node/kwbegin.rb,
lib/mutant/mutator/node/literal.rb,
lib/mutant/mutator/node/op_asgn.rb,
lib/mutant/mutator/node/or_asgn.rb,
lib/mutant/mutator/node/resbody.rb,
lib/mutant/mutator/node/restarg.rb,
lib/mutant/mutator/node/and_asgn.rb,
lib/mutant/mutator/node/argument.rb,
lib/mutant/mutator/node/blockarg.rb,
lib/mutant/mutator/node/arguments.rb,
lib/mutant/mutator/node/send/index.rb,
lib/mutant/mutator/node/literal/nil.rb,
lib/mutant/mutator/node/send/binary.rb,
lib/mutant/mutator/node/literal/hash.rb,
lib/mutant/mutator/node/literal/array.rb,
lib/mutant/mutator/node/literal/float.rb,
lib/mutant/mutator/node/literal/range.rb,
lib/mutant/mutator/node/literal/regex.rb,
lib/mutant/mutator/node/literal/fixnum.rb,
lib/mutant/mutator/node/literal/string.rb,
lib/mutant/mutator/node/literal/symbol.rb,
lib/mutant/mutator/node/literal/boolean.rb,
lib/mutant/mutator/node/conditional_loop.rb,
lib/mutant/mutator/node/match_current_line.rb,
lib/mutant/mutator/node/named_value/access.rb,
lib/mutant/mutator/node/send/attribute_assignment.rb,
lib/mutant/mutator/node/named_value/constant_assignment.rb,
lib/mutant/mutator/node/named_value/variable_assignment.rb
Overview
Abstract base class for node mutators
Direct Known Subclasses
AndAsgn, Argument, Arguments, Begin, Binary, Block, Case, ConditionalLoop, Const, Define, Defined, Generic, If, Literal, Literal::Hash::Pair, MLHS, MatchCurrentLine, MultipleAssignment, NamedValue::Access, NamedValue::ConstantAssignment, NamedValue::VariableAssignment, Noop, NthRef, OpAsgn, OrAsgn, Resbody, Return, Send, Splat, Super, When, ZSuper
Defined Under Namespace
Modules: NamedValue Classes: AndAsgn, Argument, Arguments, Begin, Binary, Block, Blockarg, Break, Case, ConditionalLoop, Const, Define, Defined, Dstr, Dsym, Generic, If, Kwbegin, Literal, MLHS, MatchCurrentLine, MultipleAssignment, Next, Noop, NthRef, OpAsgn, OrAsgn, Resbody, Rescue, Restarg, Return, Send, Splat, Super, When, Yield, ZSuper
Constant Summary
Constants included from AST::Nodes
AST::Nodes::N_EMPTY, AST::Nodes::N_EMPTY_SUPER, AST::Nodes::N_FALSE, AST::Nodes::N_INFINITY, AST::Nodes::N_NAN, AST::Nodes::N_NEGATIVE_INFINITY, AST::Nodes::N_NIL, AST::Nodes::N_RAISE, AST::Nodes::N_SELF, AST::Nodes::N_TRUE, AST::Nodes::N_ZSUPER
Instance Attribute Summary
Attributes inherited from Mutant::Mutator
Class Method Summary collapse
-
.define_named_child(name, index) ⇒ undefined
private
Helper to define a named child.
Methods included from AST::NamedChildren
Methods inherited from Mutant::Mutator
Class Method Details
.define_named_child(name, index) ⇒ undefined
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Helper to define a named child
21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/mutant/mutator/node.rb', line 21 def self.define_named_child(name, index) super define_method("emit_#{name}_mutations") do |&block| mutate_child(index, &block) end define_method("emit_#{name}") do |node| emit_child_update(index, node) end end |