class AdLint::Cc1::InnerVariable

Attributes

component_name[R]
owner[R]

Public Class Methods

new(mem, outer_var, type, component_name) click to toggle source
Calls superclass method AdLint::Cc1::OuterVariable::new
# File lib/adlint/cc1/object.rb, line 577
def initialize(mem, outer_var, type, component_name)
  @owner = outer_var
  @component_name = component_name
  self.name = create_qualified_name(outer_var, component_name)
  super(mem, nil, type, outer_var.scope)
end

Public Instance Methods

declared_as_auto?() click to toggle source
# File lib/adlint/cc1/object.rb, line 599
def declared_as_auto?
  @owner.declared_as_auto?
end
declared_as_extern?() click to toggle source
# File lib/adlint/cc1/object.rb, line 591
def declared_as_extern?
  @owner.declared_as_extern?
end
declared_as_register?() click to toggle source
# File lib/adlint/cc1/object.rb, line 603
def declared_as_register?
  @owner.declared_as_register?
end
declared_as_static?() click to toggle source
# File lib/adlint/cc1/object.rb, line 595
def declared_as_static?
  @owner.declared_as_static?
end
designated_by_lvalue?() click to toggle source
# File lib/adlint/cc1/object.rb, line 619
def designated_by_lvalue?
  true
end
inner?() click to toggle source
# File lib/adlint/cc1/object.rb, line 615
def inner?
  true
end
named?() click to toggle source
# File lib/adlint/cc1/object.rb, line 607
def named?
  @owner.named?
end
storage_class_specifiers() click to toggle source
# File lib/adlint/cc1/object.rb, line 587
def storage_class_specifiers
  @owner.storage_class_specifiers
end
temporary?() click to toggle source
# File lib/adlint/cc1/object.rb, line 611
def temporary?
  @owner.temporary?
end
to_named_variable() click to toggle source
# File lib/adlint/cc1/object.rb, line 623
def to_named_variable
  self
end

Private Instance Methods

create_qualified_name(outer_var, component_name) click to toggle source
# File lib/adlint/cc1/object.rb, line 628
def create_qualified_name(outer_var, component_name)
  if outer_var.named?
    prefix = outer_var.name
  else
    prefix = "__adlint__tempvar"
  end
  component_name ? "#{prefix}#{component_name}" : prefix
end