Sha256: 1189e010a929b97264cf24ce9d2b85a76b537637bcd614afe26163950afccf7a
Contents?: true
Size: 1.14 KB
Versions: 12
Compression:
Stored size: 1.14 KB
Contents
module Steep module TypeInference class ConstantEnv attr_reader :context attr_reader :factory attr_reader :resolver def initialize(factory:, context:, resolver:) @cache = {} @factory = factory @context = context @resolver = resolver end def resolve(name) decompose_constant( resolver.resolve(name, context: context) ) end def toplevel(name) decompose_constant( resolver.table.toplevel[name] ) end def constants resolver.constants(context).transform_values {|c| decompose_constant(c) } end def resolve_child(module_name, constant_name) decompose_constant( resolver.resolve_child(module_name, constant_name) ) end def children(module_name) resolver.children(module_name).transform_values {|c| decompose_constant(c) } end def decompose_constant(constant) if constant [ factory.type(constant.type), constant.name, constant.entry ] end end end end end
Version data entries
12 entries across 12 versions & 1 rubygems