Method: AdLint::Cc1::TypeResolver#visit_function_declaration

Defined in:
lib/adlint/cc1/resolver.rb

#visit_function_declaration(node) ⇒ Object



106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# File 'lib/adlint/cc1/resolver.rb', line 106

def visit_function_declaration(node)
  checkpoint(node.location)
  node.declaration_specifiers.accept(self) if node.declaration_specifiers
  node.init_declarator.accept(self)

  if dcl_specs = node.declaration_specifiers
    type_quals = dcl_specs.type_qualifiers
    type_specs = dcl_specs.type_specifiers
  else
    type_quals = []
    type_specs = []
  end

  node.type = lookup_variable_type(type_quals, type_specs,
                                   node.init_declarator.declarator)
end