class AdLint::Cc1::QualifiedTypeId

Attributes

base_type[R]
cvr_qualifiers[R]

Public Class Methods

new(base_type, cvr_quals) click to toggle source
Calls superclass method AdLint::Cc1::TypeId::new
# File lib/adlint/cc1/type.rb, line 1881
def initialize(base_type, cvr_quals)
  super(create_value(base_type, cvr_quals))

  @base_type = base_type
  @cvr_qualifiers = cvr_quals.sort
end

Public Instance Methods

==(rhs_id) click to toggle source
# File lib/adlint/cc1/type.rb, line 1888
def ==(rhs_id)
  case rhs_id
  when QualifiedTypeId
    @cvr_qualifiers == rhs_id.cvr_qualifiers &&
      @base_type == rhs_id.base_type
  else
    false
  end
end

Private Instance Methods

create_value(base_type, cvr_quals) click to toggle source
# File lib/adlint/cc1/type.rb, line 1903
def create_value(base_type, cvr_quals)
  value = base_type.real_type.brief_image
  value = "#{value} const" if cvr_quals.include?(:const)
  value = "#{value} volatile" if cvr_quals.include?(:volatile)
  value = "#{value} restrict" if cvr_quals.include?(:restrict)
  value
end