Class: Steep::TypeConstruction::ModuleContext

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(instance_type:, module_type:, implement_name:, current_namespace:, const_env:, class_name:) ⇒ ModuleContext

Returns a new instance of ModuleContext.



55
56
57
58
59
60
61
62
63
64
# File 'lib/steep/type_construction.rb', line 55

def initialize(instance_type:, module_type:, implement_name:, current_namespace:, const_env:, class_name:)
  @instance_type = instance_type
  @module_type = module_type
  @defined_instance_methods = Set.new
  @defined_module_methods = Set.new
  @implement_name = implement_name
  @current_namespace = current_namespace
  @const_env = const_env
  @class_name = class_name
end

Instance Attribute Details

#class_nameObject (readonly)

Returns the value of attribute class_name.



53
54
55
# File 'lib/steep/type_construction.rb', line 53

def class_name
  @class_name
end

#const_envObject (readonly)

Returns the value of attribute const_env.



50
51
52
# File 'lib/steep/type_construction.rb', line 50

def const_env
  @const_env
end

#current_namespaceObject (readonly)

Returns the value of attribute current_namespace.



52
53
54
# File 'lib/steep/type_construction.rb', line 52

def current_namespace
  @current_namespace
end

#defined_instance_methodsObject (readonly)

Returns the value of attribute defined_instance_methods.



48
49
50
# File 'lib/steep/type_construction.rb', line 48

def defined_instance_methods
  @defined_instance_methods
end

#defined_module_methodsObject (readonly)

Returns the value of attribute defined_module_methods.



49
50
51
# File 'lib/steep/type_construction.rb', line 49

def defined_module_methods
  @defined_module_methods
end

#implement_nameObject (readonly)

Returns the value of attribute implement_name.



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

def implement_name
  @implement_name
end

#instance_typeObject (readonly)

Returns the value of attribute instance_type.



46
47
48
# File 'lib/steep/type_construction.rb', line 46

def instance_type
  @instance_type
end

#module_typeObject (readonly)

Returns the value of attribute module_type.



47
48
49
# File 'lib/steep/type_construction.rb', line 47

def module_type
  @module_type
end

Instance Method Details

#const_contextObject



66
67
68
# File 'lib/steep/type_construction.rb', line 66

def const_context
  const_env.context
end