Sha256: 1bbcdf672d47f5c1244e34a2472384316788e2c83ceea2197fc67660779d6db6
Contents?: true
Size: 1.24 KB
Versions: 17
Compression:
Stored size: 1.24 KB
Contents
# frozen_string_literal: true 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
17 entries across 17 versions & 1 rubygems