Class: AmberVM::Interpreter::NewClassInstance
- Defined in:
- lib/amber/interpreter.rb
Instance Attribute Summary
Attributes inherited from Element
Instance Method Summary collapse
- #execute(env) ⇒ Object
-
#initialize(object_class, params) ⇒ NewClassInstance
constructor
A new instance of NewClassInstance.
- #optimize(variables = {}) ⇒ Object
Constructor Details
#initialize(object_class, params) ⇒ NewClassInstance
Returns a new instance of NewClassInstance.
180 181 182 183 |
# File 'lib/amber/interpreter.rb', line 180 def initialize object_class, params @class = object_class @params = params end |
Instance Method Details
#execute(env) ⇒ Object
185 186 187 188 189 |
# File 'lib/amber/interpreter.rb', line 185 def execute env AmberVM::debug "Creating class instance..." if $DEBUG params = @params.map{|p| p.execute(env)} @class.instance(@params, env) end |
#optimize(variables = {}) ⇒ Object
191 192 193 194 |
# File 'lib/amber/interpreter.rb', line 191 def optimize variables = {} p = params.map{|p| p.optimize variables} NewClassInstance.new(@class, p) end |