Class: YARD::Handlers::Ruby::VisibilityHandler

Inherits:
Base
  • Object
show all
Defined in:
lib/yard/handlers/ruby/visibility_handler.rb

Overview

Handles 'private', 'protected', and 'public' calls.

Constant Summary

Constant Summary

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 Attribute Summary (collapse)

Instance Method Summary (collapse)

Methods included from Parser::Ruby

#s

Constructor Details

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

Instance Attribute Details

- (Object) extra_state (readonly) Originally defined in class Base

Returns the value of attribute extra_state

- (Object) globals (readonly) Originally defined in class Base

Returns the value of attribute globals

- (Object) namespace Originally defined in class Base

Returns the value of attribute namespace

- (Object) owner Originally defined in class Base

Returns the value of attribute owner

- (Processor) parser (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.

- (Object) scope Originally defined in class Base

Returns the value of attribute scope

- (Object) statement (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.

- (Object) visibility Originally defined in class Base

Returns the value of attribute visibility

Instance Method Details

- (void) process

This method returns an undefined value.

Main processing callback



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/yard/handlers/ruby/visibility_handler.rb', line 8

process do
  return if (ident = statement.jump(:ident)) == statement
  case statement.type
  when :var_ref, :vcall
    self.visibility = ident.first.to_sym
  when :fcall, :command
    statement[1].traverse do |node|
      case node.type
      when :symbol; source = node.first.source
      when :string_content; source = node.source
      else next
      end
      MethodObject.new(namespace, source, scope) {|o| o.visibility = ident.first }
    end
  end
end