Class: Steep::Services::SignatureService::LoadedStatus

Inherits:
Object
  • Object
show all
Defined in:
lib/steep/services/signature_service.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(files:, builder:, implicitly_returns_nil:) ⇒ LoadedStatus

Returns a new instance of LoadedStatus.



53
54
55
56
57
# File 'lib/steep/services/signature_service.rb', line 53

def initialize(files:, builder:, implicitly_returns_nil:)
  @files = files
  @builder = builder
  @implicitly_returns_nil = implicitly_returns_nil
end

Instance Attribute Details

#builderObject (readonly)

Returns the value of attribute builder.



51
52
53
# File 'lib/steep/services/signature_service.rb', line 51

def builder
  @builder
end

#filesObject (readonly)

Returns the value of attribute files.



51
52
53
# File 'lib/steep/services/signature_service.rb', line 51

def files
  @files
end

#implicitly_returns_nilObject (readonly)

Returns the value of attribute implicitly_returns_nil.



51
52
53
# File 'lib/steep/services/signature_service.rb', line 51

def implicitly_returns_nil
  @implicitly_returns_nil
end

Instance Method Details

#constant_resolverObject



74
75
76
# File 'lib/steep/services/signature_service.rb', line 74

def constant_resolver
  @constant_resolver ||= RBS::Resolver::ConstantResolver.new(builder: builder)
end

#rbs_indexObject



67
68
69
70
71
72
# File 'lib/steep/services/signature_service.rb', line 67

def rbs_index
  @rbs_index ||= Index::RBSIndex.new().tap do |index|
    builder = Index::RBSIndex::Builder.new(index: index)
    builder.env(self.builder.env)
  end
end

#subtypingObject



59
60
61
62
63
64
65
# File 'lib/steep/services/signature_service.rb', line 59

def subtyping
  @subtyping ||= begin
    factory = AST::Types::Factory.new(builder: builder)
    interface_builder = Interface::Builder.new(factory, implicitly_returns_nil: implicitly_returns_nil)
    Subtyping::Check.new(builder: interface_builder)
  end
end