Class: TPPlus::Nodes::NamespacedVarNode
- Inherits:
-
Object
- Object
- TPPlus::Nodes::NamespacedVarNode
- Defined in:
- lib/tp_plus/nodes/namespaced_var_node.rb
Instance Attribute Summary collapse
-
#namespaces ⇒ Object
readonly
Returns the value of attribute namespaces.
Instance Method Summary collapse
- #eval(context, options = {}) ⇒ Object
- #identifier ⇒ Object
-
#initialize(namespaces, var_node) ⇒ NamespacedVarNode
constructor
A new instance of NamespacedVarNode.
- #namespace(context) ⇒ Object
- #requires_mixed_logic?(context) ⇒ Boolean
- #target_node(context) ⇒ Object
Constructor Details
#initialize(namespaces, var_node) ⇒ NamespacedVarNode
Returns a new instance of NamespacedVarNode.
5 6 7 8 |
# File 'lib/tp_plus/nodes/namespaced_var_node.rb', line 5 def initialize(namespaces, var_node) @namespaces = namespaces @var_node = var_node end |
Instance Attribute Details
#namespaces ⇒ Object (readonly)
Returns the value of attribute namespaces.
4 5 6 |
# File 'lib/tp_plus/nodes/namespaced_var_node.rb', line 4 def namespaces @namespaces end |
Instance Method Details
#eval(context, options = {}) ⇒ Object
33 34 35 |
# File 'lib/tp_plus/nodes/namespaced_var_node.rb', line 33 def eval(context,={}) @var_node.eval(namespace(context), ) end |
#identifier ⇒ Object
21 22 23 |
# File 'lib/tp_plus/nodes/namespaced_var_node.rb', line 21 def identifier @var_node.identifier end |
#namespace(context) ⇒ Object
10 11 12 13 14 15 16 17 18 19 |
# File 'lib/tp_plus/nodes/namespaced_var_node.rb', line 10 def namespace(context) @context = context @namespaces.each do |ns| if @context.get_namespace(ns) @context = @context.get_namespace(ns) end end @context end |
#requires_mixed_logic?(context) ⇒ Boolean
29 30 31 |
# File 'lib/tp_plus/nodes/namespaced_var_node.rb', line 29 def requires_mixed_logic?(context) @var_node.requires_mixed_logic?(namespace(context)) end |
#target_node(context) ⇒ Object
25 26 27 |
# File 'lib/tp_plus/nodes/namespaced_var_node.rb', line 25 def target_node(context) @var_node.target_node(namespace(context)) end |