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 rules = klass.prop_rules(prop) val = klass.get(self, prop, rules) 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 (sensitivity = rules[:sensitivity]) && !sensitivity.empty? && !val.nil? pp.text("<REDACTED #{sensitivity.join(', ')}>") else val.pretty_print(pp) end end klass.pretty_print_extra(self, pp) end end