module T::Props::PrettyPrintable
def pretty_print(pp)
def pretty_print(pp) klass = T.unsafe(T.cast(self, Object).class).decorator multiline = pp.is_a?(PP) pp.group(1, "<#{klass.inspect_class_with_decoration(self)}", ">") do klass.all_props.sort.each do |prop| pp.breakable val = klass.get(self, prop) rules = klass.prop_rules(prop) pp.text("#{prop}=") if (custom_inspect = rules[:inspect]) inspected = if T::Utils.arity(custom_inspect) == 1 custom_inspect.call(val) else custom_inspect.call(val, {multiline: multiline}) end pp.text(inspected.nil? ? "nil" : inspected) elsif rules[:sensitivity] && !rules[:sensitivity].empty? && !val.nil? pp.text("<REDACTED #{rules[:sensitivity].join(', ')}>") else val.pretty_print(pp) end end klass.pretty_print_extra(self, pp) end end