class YARD::MRuby::Parser::C::HeaderParser

Public Instance Methods

consume_body_statements() click to toggle source
Calls superclass method
# File lib/yard/mruby/parser/c/header_parser.rb, line 38
def consume_body_statements
  @in_body_statements = true
  result = super
  @in_body_statements = false
  result
end
consume_directive() click to toggle source

Consumes a directive and generates a DirectiveStatement

Calls superclass method
# File lib/yard/mruby/parser/c/header_parser.rb, line 5
def consume_directive
  super if @in_body_statements

  @newline = false
  start = @index
  line = @line
  statement = DirectiveStatement.new(nil, @file, line)
  @statements << statement
  attach_comment(statement)

  multiline = false
  advance_loop do
    chr = char
    case chr
    when '\\'; multiline=true; advance
    when /\s/; consume_whitespace
    else advance
    end

    if @newline
      if multiline
        multiline = false
      else
        break
      end
    end
  end

  decl = @content[start...@index]

  statement.declaration = decl
end