class YARD::Parser::C::CParser

def consume_toplevel_statement

def consume_toplevel_statement
  @newline = false
  start = @index
  line = @line
  decl = consume_until(/[{;]/)
  return nil if decl =~ /\A\s*\Z/
  # Skip C++ namespace - treat content as top level statement.
  return nil if decl =~ /\A(namespace)/
  statement = ToplevelStatement.new(nil, @file, line)
  @statements << statement
  attach_comment(statement)
  stmts = nil
  if prevchar == '{'
    stmts = consume_body_statements
    if decl =~ /\A(typedef|enum|class|#{struct}|union)/
      consume_until(';')
    end
  end
  statement.source = @content[start..@index]
  statement.block = stmts
  statement.declaration = decl # rubocop:disable Lint/UselessSetterCall
end