class RDoc::Parser::C

def do_constants

def do_constants
  @content.scan(%r%\Wrb_define_
                 ( variable          |
                   readonly_variable |
                   const             |
                   global_const        )
             \s*\(
               (?:\s*(\w+),)?
               \s*"(\w+)",
               \s*(.*?)\s*\)\s*;
               %xm) do |type, var_name, const_name, definition|
    var_name = "rb_cObject" if !var_name or var_name == "rb_mKernel"
    type = "const" if type == "global_const"
    handle_constants type, var_name, const_name, definition
  end
  @content.scan(%r%
                \Wrb_curses_define_const
                \s*\(
                  \s*
                  (\w+)
                  \s*
                \)
                \s*;%xm) do |consts|
    const = consts.first
    handle_constants 'const', 'mCurses', const, "UINT2NUM(#{const})"
  end
  @content.scan(%r%
                \Wrb_file_const
                \s*\(
                  \s*
                  "([^"]+)",
                  \s*
                  (.*?)
                  \s*
                \)
                \s*;%xm) do |name, value|
    handle_constants 'const', 'rb_mFConst', name, value
  end
end