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

MATCH1 =

Since:

  • 0.8.0

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

Since:

  • 0.8.0

%r{rb_define_global_function\s*\(
\s*"([^"]+)",
\s*(?:RUBY_METHOD_FUNC\(|VALUEFUNC\(|\(\w+\))?(\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::CONSTANTSTART, CodeObjects::CSEP, CodeObjects::CSEPQ, CodeObjects::ISEP, CodeObjects::ISEPQ, CodeObjects::METHODMATCH, CodeObjects::METHODNAMEMATCH, CodeObjects::NAMESPACEMATCH, CodeObjects::NSEP, CodeObjects::NSEPQ

Instance Attribute Summary collapse

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 Attribute Details

#extra_stateObject (readonly) Originally defined in class Base

Returns the value of attribute extra_state

#globalsObject (readonly) Originally defined in class Base

Returns the value of attribute globals

#namespaceObject Originally defined in class Base

Returns the value of attribute namespace

#ownerObject Originally defined in class Base

Returns the value of attribute owner

#parserProcessor (readonly) Originally defined in class Base

Returns the processor object that manages all global state during handling.

Returns:

  • (Processor)

    the processor object that manages all global state during handling.

#scopeObject Originally defined in class Base

Returns the value of attribute scope

#statementObject (readonly) Originally defined in class Base

Returns the statement object currently being processed. Usually refers to one semantic language statement, though the strict definition depends on the parser used.

Returns:

  • (Object)

    the statement object currently being processed. Usually refers to one semantic language statement, though the strict definition depends on the parser used.

#visibilityObject Originally defined in class Base

Returns the value of attribute visibility

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