Class: Steep::TypeInference::Context::ModuleContext

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

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

Returns a new instance of ModuleContext.



56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/steep/type_inference/context.rb', line 56

def initialize(instance_type:, module_type:, implement_name:, current_namespace:, const_env:, class_name:, instance_definition: nil, module_definition: nil)
  @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
  @instance_definition = instance_definition
  @module_definition = module_definition
end

Instance Attribute Details

#class_nameObject (readonly)

Returns the value of attribute class_name.



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

def class_name
  @class_name
end

#const_envObject (readonly)

Returns the value of attribute const_env.



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

def const_env
  @const_env
end

#current_namespaceObject (readonly)

Returns the value of attribute current_namespace.



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

def current_namespace
  @current_namespace
end

#defined_instance_methodsObject (readonly)

Returns the value of attribute defined_instance_methods.



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

def defined_instance_methods
  @defined_instance_methods
end

#defined_module_methodsObject (readonly)

Returns the value of attribute defined_module_methods.



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

def defined_module_methods
  @defined_module_methods
end

#implement_nameObject (readonly)

Returns the value of attribute implement_name.



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

def implement_name
  @implement_name
end

#instance_definitionObject (readonly)

Returns the value of attribute instance_definition.



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

def instance_definition
  @instance_definition
end

#instance_typeObject (readonly)

Returns the value of attribute instance_type.



45
46
47
# File 'lib/steep/type_inference/context.rb', line 45

def instance_type
  @instance_type
end

#module_definitionObject (readonly)

Returns the value of attribute module_definition.



54
55
56
# File 'lib/steep/type_inference/context.rb', line 54

def module_definition
  @module_definition
end

#module_typeObject (readonly)

Returns the value of attribute module_type.



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

def module_type
  @module_type
end

Instance Method Details

#const_contextObject



69
70
71
# File 'lib/steep/type_inference/context.rb', line 69

def const_context
  const_env.context
end