language/perl: enable typed: strict

Signed-off-by: Michael Cho <michael@michaelcho.dev>
This commit is contained in:
Michael Cho 2024-03-29 18:28:22 -04:00
parent fb5306fc35
commit 61f8ebc462
No known key found for this signature in database
GPG Key ID: 55E85E28A7CD1E85

View File

@ -1,4 +1,4 @@
# typed: true # typed: strict
# frozen_string_literal: true # frozen_string_literal: true
module Language module Language
@ -14,7 +14,7 @@ module Language
PERL_SHEBANG_REGEX = %r{^#! ?/usr/bin/(?:env )?perl( |$)} PERL_SHEBANG_REGEX = %r{^#! ?/usr/bin/(?:env )?perl( |$)}
# The length of the longest shebang matching `SHEBANG_REGEX`. # The length of the longest shebang matching `SHEBANG_REGEX`.
PERL_SHEBANG_MAX_LENGTH = "#! /usr/bin/env perl ".length PERL_SHEBANG_MAX_LENGTH = T.let("#! /usr/bin/env perl ".length, Integer)
# @private # @private
sig { params(perl_path: T.any(String, Pathname)).returns(Utils::Shebang::RewriteInfo) } sig { params(perl_path: T.any(String, Pathname)).returns(Utils::Shebang::RewriteInfo) }
@ -26,8 +26,8 @@ module Language
) )
end end
sig { params(formula: T.untyped).returns(Utils::Shebang::RewriteInfo) } sig { params(formula: Formula).returns(Utils::Shebang::RewriteInfo) }
def detected_perl_shebang(formula = self) def detected_perl_shebang(formula = T.cast(self, Formula))
perl_deps = formula.declared_deps.select { |dep| dep.name == "perl" } perl_deps = formula.declared_deps.select { |dep| dep.name == "perl" }
raise ShebangDetectionError.new("Perl", "formula does not depend on Perl") if perl_deps.empty? raise ShebangDetectionError.new("Perl", "formula does not depend on Perl") if perl_deps.empty?