# File lib/less/parser.rb, line 61 def parse(less) error, tree = nil, nil Less::JavaScript.exec do @parser.parse(less, lambda { |*args| # (error, tree) # v8 >= 0.10 passes this as first arg : if args.size > 2 error, tree = args[-2], args[-1] elsif args.last.respond_to?(:message) && args.last.message # might get invoked as callback(error) error = args.last else error, tree = *args end fail error.message unless error.nil? }) end Tree.new(tree) if tree end