class AdLint::Cc1::ParameterDefinitionInterpreter

Public Class Methods

new(owner) click to toggle source
Calls superclass method AdLint::Cc1::SubInterpreter::new
# File lib/adlint/cc1/interp.rb, line 879
def initialize(owner)
  super(owner, ParameterDefinition)
end

Public Instance Methods

visit_parameter_definition(node) click to toggle source
# File lib/adlint/cc1/interp.rb, line 883
def visit_parameter_definition(node)
  checkpoint(node.location)

  resolve_unresolved_type(node)
  id = node.identifier

  node.type.declarations.each do |dcl|
    if id
      dcl.mark_as_referred_by(id)
    else
      dcl.mark_as_referred_by(node.head_token)
    end
  end

  if id
    var = define_variable(node.to_variable_definition, nil,
                          node.type.parameter_value)
    notify_parameter_defined(node, var)
  end
end