class TPPlus::Nodes::NamespacedVarNode

Attributes

namespaces[R]

Public Class Methods

new(namespaces, var_node) click to toggle source
# File lib/tp_plus/nodes/namespaced_var_node.rb, line 5
def initialize(namespaces, var_node)
  @namespaces = namespaces
  @var_node   = var_node
end

Public Instance Methods

eval(context,options={}) click to toggle source
# File lib/tp_plus/nodes/namespaced_var_node.rb, line 33
def eval(context,options={})
  @var_node.eval(namespace(context), options)
end
identifier() click to toggle source
# File lib/tp_plus/nodes/namespaced_var_node.rb, line 21
def identifier
  @var_node.identifier
end
namespace(context) click to toggle source
# 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) click to toggle source
# 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) click to toggle source
# File lib/tp_plus/nodes/namespaced_var_node.rb, line 25
def target_node(context)
  @var_node.target_node(namespace(context))
end