class T::Private::DeclState

def self.current

def self.current
  Thread.current[:opus_types__decl_state] ||= self.new
end

def self.current=(other)

def self.current=(other)
  Thread.current[:opus_types__decl_state] = other
end

def reset!

def reset!
  self.active_declaration = nil
end

def without_on_method_added

def without_on_method_added
  begin
    # explicit 'self' is needed here
    old_value = self.skip_on_method_added
    self.skip_on_method_added = true
    yield
  ensure
    self.skip_on_method_added = old_value
  end
end