Sha256: 6329b0623cb859885050b56d112c4405cb9f1e4375b94cfc72ca4680167d6f4d
Contents?: true
Size: 1.21 KB
Versions: 6
Compression:
Stored size: 1.21 KB
Contents
module Mutant class Mutator class Node module NamedValue # Mutation emitter to handle named value access nodes class Access < Node handle(:gvar, :cvar, :lvar, :self) private # Emit mutations # # @return [undefined] def dispatch emit_singletons end # Named value access emitter for instance variables class Ivar < Access NAME_RANGE = (1..-1).freeze handle(:ivar) children :name # Emit mutations # # @return [undefined] def dispatch emit_attribute_read super() end private # Emit instance variable as attribute send # # @return [undefined] def emit_attribute_read emit(s(:send, nil, attribute_name)) end # Variable name without leading '@' # # @return [Symbol] def attribute_name name.slice(NAME_RANGE).to_sym end end # Ivar end # Access end # NamedValue end # Node end # Mutator end # Mutant
Version data entries
6 entries across 6 versions & 1 rubygems