summaryrefslogtreecommitdiffhomepage
path: root/lib/yard/handlers/c/mruby_symbol_handler.rb
blob: 8b256d2287c92c5e249b13bbb6481f6491169b17 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
module YARD::Handlers::C
  # Keeps track of function bodies for symbol lookup during MRuby method declarations
  class MRubySymbolHandler < MRubyBase
    MATCH = /
      mrb_value\s*(\w+)\s*\(\s*mrb_state\s*\*\s*\w+,\s*mrb_value\s*\w+\s*\)
    /mx

    handles MATCH
    statement_class ToplevelStatement

    process do
      symbols[statement.source[MATCH, 1]] = statement
    end
  end
end