class Opal::Nodes::IterArityCheckNode
def compile
def compile scope.arity = arity return unless compiler.arity_check? unless arity_checks.empty? parent_scope = scope until parent_scope.def? || parent_scope.class_scope? || parent_scope.top? parent_scope = parent_scope.parent end context = if parent_scope.top? "'<main>'" elsif parent_scope.def? "'#{parent_scope.mid}'" elsif parent_scope.class? "'<class:#{parent_scope.name}>'" elsif parent_scope.module? "'<module:#{parent_scope.name}>'" end identity = scope.identity line "if (#{identity}.$$is_lambda || #{identity}.$$define_meth) {" line ' var $arity = arguments.length;' line " if (#{arity_checks.join(' || ')}) { Opal.block_ac($arity, #{arity}, #{context}); }" line '}' end end