class BELParser::Language::Semantics::SemanticNamespaceOf

AST node for NamespaceOf is a semantic AST.

Public Class Methods

new(namespaces, **properties) click to toggle source
# File lib/bel_parser/language/semantics_ast.rb, line 571
def initialize(namespaces, **properties)
  super(:namespace_of, namespaces, properties)
end

Public Instance Methods

match(prefix_node, spec, will_match_partial = false) click to toggle source
# File lib/bel_parser/language/semantics_ast.rb, line 579
def match(prefix_node, spec, will_match_partial = false)
  unless prefix_node.respond_to?(:namespace) && prefix_node.namespace
    return invalid_namespace(prefix_node, spec, namespaces)
  end

  if namespaces.any? { |i| i == :* || i == input_namespace }
    success(prefix_node, spec)
  else
    invalid_namespace(prefix_node, spec, namespaces)
  end
end
namespaces() click to toggle source
# File lib/bel_parser/language/semantics_ast.rb, line 575
def namespaces
  children
end