diff --git a/Library/Homebrew/requirements/xcode_requirement.rb b/Library/Homebrew/requirements/xcode_requirement.rb index 0d74f0e945..b5514b925a 100644 --- a/Library/Homebrew/requirements/xcode_requirement.rb +++ b/Library/Homebrew/requirements/xcode_requirement.rb @@ -1,4 +1,4 @@ -# typed: true # rubocop:todo Sorbet/StrictSigil +# typed: strict # frozen_string_literal: true require "requirement" @@ -7,6 +7,7 @@ require "requirement" class XcodeRequirement < Requirement fatal true + sig { returns(T.nilable(String)) } attr_reader :version satisfy(build_env: false) do @@ -14,8 +15,10 @@ class XcodeRequirement < Requirement xcode_installed_version end + sig { params(tags: T::Array[String]).void } def initialize(tags = []) - @version = tags.shift if tags.first.to_s.match?(/(\d\.)+\d/) + version = tags.shift if tags.first.to_s.match?(/(\d\.)+\d/) + @version = T.let(version, T.nilable(String)) super end @@ -53,6 +56,7 @@ class XcodeRequirement < Requirement "#<#{self.class.name}: version>=#{@version.inspect} #{tags.inspect}>" end + sig { returns(String) } def display_s return "#{name.capitalize} (on macOS)" unless @version