module Fop::Compiler::Validations
Public Class Methods
validate_args(exp_node)
click to toggle source
# File lib/fop/compiler.rb, line 83 def self.validate_args(exp_node) op_token = exp_node.operator_token || return op = Instructions::OPERATIONS.fetch(op_token.val) num = exp_node.args&.size || 0 arity = op.arity max_arity = op.max_arity || arity if num < arity or num > max_arity Parser::Error.new(:argument, op_token, "#{op_token.val} expects #{arity}..#{max_arity} arguments; #{num} given") end end