class IDL::Expression::ScopedName
Attributes
node[R]
Public Class Methods
new(node)
click to toggle source
# File lib/ridl/expression.rb, line 40 def initialize(node) if $DEBUG unless IDL::AST::Const === node || (IDL::AST::TemplateParam === node && node.idltype.is_a?(IDL::Type::Const)) raise "#{node.scoped_name} must be constant: #{node.class.name}." end end @node = node @idltype = node.idltype @value = @idltype.narrow(node.value) unless node.is_template? end
Public Instance Methods
instantiate(instantiation_context)
click to toggle source
# File lib/ridl/expression.rb, line 55 def instantiate(instantiation_context) if self.is_template? cp = IDL::AST::TemplateParam.concrete_param(instantiation_context, @node) cp.is_a?(Expression) ? cp : ScopedName.new(cp) else self end end
is_node?(node_class)
click to toggle source
# File lib/ridl/expression.rb, line 64 def is_node?(node_class) @node.is_a?(node_class) end
is_template?()
click to toggle source
# File lib/ridl/expression.rb, line 51 def is_template? @node.is_template? end
resolved_node()
click to toggle source
# File lib/ridl/expression.rb, line 68 def resolved_node @node end