Class: CodeNameLookupInstruction
Overview
was Push3 CODE.DEFINITION
Instance Attribute Summary
Attributes inherited from Instruction
#context
Instance Method Summary
collapse
Methods inherited from Instruction
all_instructions, #go, inherited, #initialize, #needs, #pushes, to_nudgecode
Constructor Details
This class inherits a constructor from Instruction
Instance Method Details
#cleanup ⇒ Object
16
17
18
|
# File 'lib/instructions/code/code_name_lookup.rb', line 16
def cleanup
pushes :code, @result
end
|
#derive ⇒ Object
8
9
10
11
12
13
14
15
|
# File 'lib/instructions/code/code_name_lookup.rb', line 8
def derive
bound_value = @context.variables[@the_reference] || @context.names[@the_reference] || nil
if bound_value != nil
@result = ValuePoint.new("code", bound_value.blueprint)
else
@result = ValuePoint.new("code", "")
end
end
|
#preconditions? ⇒ Boolean
2
3
4
|
# File 'lib/instructions/code/code_name_lookup.rb', line 2
def preconditions?
needs :name, 1
end
|
#setup ⇒ Object
5
6
7
|
# File 'lib/instructions/code/code_name_lookup.rb', line 5
def setup
@the_reference = @context.pop_value(:name)
end
|