Skip to content

Commit a0f37a9

Browse files
authored
Merge pull request #2127 from ksss/mem-validate
Avoid double name resolution
2 parents 46b49c5 + e85e484 commit a0f37a9

File tree

3 files changed

+6
-4
lines changed

3 files changed

+6
-4
lines changed

lib/rbs/cli/validate.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ def initialize(args:, options:)
5252
loader = options.loader()
5353
@env = Environment.from_loader(loader).resolve_type_names
5454
@builder = DefinitionBuilder.new(env: @env)
55-
@validator = Validator.new(env: @env, resolver: Resolver::TypeNameResolver.new(@env))
55+
@validator = Validator.new(env: @env)
5656
exit_error = false
5757
limit = nil #: Integer?
5858
OptionParser.new do |opts|

lib/rbs/validator.rb

+3-1
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,15 @@ class Validator
66
attr_reader :resolver
77
attr_reader :definition_builder
88

9-
def initialize(env:, resolver:)
9+
def initialize(env:, resolver: nil)
1010
@env = env
1111
@resolver = resolver
1212
@definition_builder = DefinitionBuilder.new(env: env)
1313
end
1414

1515
def absolute_type(type, context:, &block)
16+
return type unless resolver
17+
1618
type.map_type_name do |type_name, _, type|
1719
resolver.resolve(type_name, context: context) || (block ? yield(type) : type_name)
1820
end

sig/validator.rbs

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@ module RBS
22
class Validator
33
attr_reader env: Environment
44

5-
attr_reader resolver: Resolver::TypeNameResolver
5+
attr_reader resolver: Resolver::TypeNameResolver?
66

77
attr_reader definition_builder: DefinitionBuilder
88

99
attr_reader type_alias_dependency: TypeAliasDependency
1010

1111
attr_reader type_alias_regularity: TypeAliasRegularity
1212

13-
def initialize: (env: Environment, resolver: Resolver::TypeNameResolver) -> void
13+
def initialize: (env: Environment, ?resolver: Resolver::TypeNameResolver?) -> void
1414

1515
# Validates the presence of type names and type application arity match.
1616
#

0 commit comments

Comments
 (0)