Skip to content

Add IvarTracer for tracing ivar changes#16

Merged
st0012 merged 2 commits intomasterfrom
ivar-tracer
Jun 1, 2023
Merged

Add IvarTracer for tracing ivar changes#16
st0012 merged 2 commits intomasterfrom
ivar-tracer

Conversation

@st0012
Copy link
Copy Markdown
Member

@st0012 st0012 commented Jun 1, 2023

This idea was proposed by and implemented with @KaanOzkan.

IvarTracer will print traces when the target object' target attribute is being reassigned.

require "tracer"

class Cat
  attr_accessor :name
end

cat = Cat.new

tracer = IvarTracer.new(cat, :@name)
tracer.start do
  cat.name = "Kitty" #=> #depth:3 Cat#name= sets @name = "Kitty" at test.rb:11
  cat.instance_variable_set(:@name, "Ketty") #=> #depth:3 Kernel#instance_variable_set sets @name = "Ketty" at test.rb:12
end

@st0012 st0012 added the enhancement New feature or request label Jun 1, 2023
Co-authored-by: Kaan Ozkan <kaanozkan97@gmail.com>
@st0012 st0012 merged commit e96093f into master Jun 1, 2023
@st0012 st0012 deleted the ivar-tracer branch June 1, 2023 14:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant