Class: Steep::TypeInference::TypeEnvBuilder::Command::ImportInstanceVariableDefinition
- Inherits:
-
Object
- Object
- Steep::TypeInference::TypeEnvBuilder::Command::ImportInstanceVariableDefinition
- Defined in:
- lib/steep/type_inference/type_env_builder.rb
Instance Attribute Summary collapse
-
#definition ⇒ Object
readonly
Returns the value of attribute definition.
-
#factory ⇒ Object
readonly
Returns the value of attribute factory.
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(definition, factory) ⇒ ImportInstanceVariableDefinition
constructor
A new instance of ImportInstanceVariableDefinition.
Constructor Details
#initialize(definition, factory) ⇒ ImportInstanceVariableDefinition
Returns a new instance of ImportInstanceVariableDefinition.
98 99 100 101 |
# File 'lib/steep/type_inference/type_env_builder.rb', line 98 def initialize(definition, factory) @definition = definition @factory = factory end |
Instance Attribute Details
#definition ⇒ Object (readonly)
Returns the value of attribute definition.
94 95 96 |
# File 'lib/steep/type_inference/type_env_builder.rb', line 94 def definition @definition end |
#factory ⇒ Object (readonly)
Returns the value of attribute factory.
96 97 98 |
# File 'lib/steep/type_inference/type_env_builder.rb', line 96 def factory @factory end |
Instance Method Details
#call(env) ⇒ Object
103 104 105 106 107 108 109 110 111 |
# File 'lib/steep/type_inference/type_env_builder.rb', line 103 def call(env) return env unless definition instance_variable_types = definition.instance_variables.transform_values do |ivar| factory.type(ivar.type) end env.update(instance_variable_types: instance_variable_types) end |