class Opal::Nodes::Match3Node
def compile
def compile sexp = s(:send, lhs, :=~, rhs) # Handle named matches like: /(?<abc>b)/ =~ 'b' if lhs.type == :regexp && lhs.children.first.type == :str names = extract_names(lhs) unless names.empty? names_def = generate_names_definition names_assignments = generate_names_assignments(names) sexp = if stmt? handle_statement(sexp, names_def, names_assignments) else handle_non_statement(sexp, names_def, names_assignments) end end end push process(sexp, @level) end