Class: YARD::Handlers::C::MethodHandler

Inherits:
Base
  • Object
show all
Defined in:
lib/yard/handlers/c/method_handler.rb

Overview

Since:

  • 0.8.0

Constant Summary collapse

MATCH1 =

Since:

  • 0.8.0

%r{rb_define_
                 (
 singleton_method |
 method           |
 module_function  |
 private_method
                 )
                 \s*\(\s*([\w\.]+),
\s*"([^"]+)",
\s*(?:RUBY_METHOD_FUNC\(|VALUEFUNC\()?(\w+)\)?,
\s*(-?\w+)\s*\)}xm
MATCH2 =

Since:

  • 0.8.0

%r{rb_define_global_function\s*\(
\s*"([^"]+)",
\s*(?:RUBY_METHOD_FUNC\(|VALUEFUNC\()?(\w+)\)?,
\s*(-?\w+)\s*\)}xm

Constants included from CodeObjects

CodeObjects::BUILTIN_ALL, CodeObjects::BUILTIN_CLASSES, CodeObjects::BUILTIN_EXCEPTIONS, CodeObjects::BUILTIN_EXCEPTIONS_HASH, CodeObjects::BUILTIN_MODULES, CodeObjects::CONSTANTMATCH, CodeObjects::CSEP, CodeObjects::CSEPQ, CodeObjects::ISEP, CodeObjects::ISEPQ, CodeObjects::METHODMATCH, CodeObjects::METHODNAMEMATCH, CodeObjects::NAMESPACEMATCH, CodeObjects::NSEP, CodeObjects::NSEPQ

Instance Method Summary collapse

Methods included from HandlerMethods

#handle_alias, #handle_attribute, #handle_class, #handle_constants, #handle_method, #handle_module

Constructor Details

This class inherits a constructor from YARD::Handlers::Base

Instance Method Details

#processvoid

This method returns an undefined value.

Main processing callback



21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/yard/handlers/c/method_handler.rb', line 21

process do
  statement.source.scan(MATCH1) do |type, var_name, name, func_name, param_count|
    break if var_name == "ruby_top_self"
    break if var_name == "nstr"
    break if var_name == "envtbl"

    var_name = "rb_cObject" if var_name == "rb_mKernel"
    handle_method(type, var_name, name, func_name)
  end

  statement.source.scan(MATCH2) do |name, func_name, param_count|
    handle_method("method", "rb_mKernel", name, func_name)
  end
end