class Dentaku::AST::If
def self.max_param_count
def self.max_param_count 3 end
def self.min_param_count
def self.min_param_count 3 end
def args
def args [predicate, left, right] end
def dependencies(context = {})
def dependencies(context = {}) predicate.value(context) ? left.dependencies(context) : right.dependencies(context) rescue Dentaku::Error, Dentaku::ArgumentError, Dentaku::ZeroDivisionError args.flat_map { |arg| arg.dependencies(context) }.uniq end
def initialize(predicate, left, right)
def initialize(predicate, left, right) @predicate = predicate @left = left @right = right end
def node_type
def node_type :condition end
def type
def type left.type end
def value(context = {})
def value(context = {}) predicate.value(context) ? left.value(context) : right.value(context) end