class BELParser::Language::Semantics::SemanticFunctionOf

AST node for FunctionOf is a semantic AST.

Public Class Methods

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

Public Instance Methods

functions() click to toggle source
# File lib/bel_parser/language/semantics_ast.rb, line 642
def functions
  children
end
match(identifier, spec, will_match_partial = false) click to toggle source
# File lib/bel_parser/language/semantics_ast.rb, line 646
def match(identifier, spec, will_match_partial = false)
  return success(identifier, spec) if functions.include?(:*)

  function = spec.function(identifier.string_literal.to_sym)
  if functions.include?(function)
    success(identifier, spec)
  else
    invalid_function_warning(identifier, spec, functions)
  end
end