module RBS
def logger
def logger @logger ||= Logger.new(logger_output || STDERR, level: logger_level || Logger::WARN, progname: "rbs") end
def logger_level=(level)
def logger_level=(level) @logger_level = level @logger = nil end
def logger_output=(val)
def logger_output=(val) @logger = nil @logger_output = val end
def print_warning()
def print_warning() @warnings ||= Set[] message = yield() unless @warnings.include?(message) @warnings << message logger.warn { message } end end