class AdLint::Cc1::Object

Attributes

declarations_and_definitions[R]

Public Class Methods

new(dcl_or_def = nil) click to toggle source
# File lib/adlint/cc1/object.rb, line 91
def initialize(dcl_or_def = nil)
  @declarations_and_definitions = [dcl_or_def].compact
end

Public Instance Methods

declared_as_auto?() click to toggle source
# File lib/adlint/cc1/object.rb, line 112
def declared_as_auto?
  sc_spec = first_storage_class_specifier and sc_spec.type == :AUTO
end
declared_as_extern?() click to toggle source
# File lib/adlint/cc1/object.rb, line 103
def declared_as_extern?
  sc_spec = first_storage_class_specifier
  sc_spec.nil? || sc_spec.type == :EXTERN
end
declared_as_register?() click to toggle source
# File lib/adlint/cc1/object.rb, line 116
def declared_as_register?
  sc_spec = first_storage_class_specifier and sc_spec.type == :REGISTER
end
declared_as_static?() click to toggle source
# File lib/adlint/cc1/object.rb, line 108
def declared_as_static?
  sc_spec = first_storage_class_specifier and sc_spec.type == :STATIC
end
designated_by_lvalue?() click to toggle source
# File lib/adlint/cc1/object.rb, line 120
def designated_by_lvalue?
  subclass_responsibility
end
function?() click to toggle source
# File lib/adlint/cc1/object.rb, line 132
def function?
  subclass_responsibility
end
named?() click to toggle source
# File lib/adlint/cc1/object.rb, line 124
def named?
  subclass_responsibility
end
storage_class_specifiers() click to toggle source
# File lib/adlint/cc1/object.rb, line 97
def storage_class_specifiers
  @declarations_and_definitions.map { |dcl_or_def|
    dcl_or_def.storage_class_specifier
  }.compact
end
temporary?() click to toggle source
# File lib/adlint/cc1/object.rb, line 128
def temporary?
  subclass_responsibility
end
variable?() click to toggle source
# File lib/adlint/cc1/object.rb, line 136
def variable?
  subclass_responsibility
end

Private Instance Methods

first_storage_class_specifier() click to toggle source
# File lib/adlint/cc1/object.rb, line 141
def first_storage_class_specifier
  if @declarations_and_definitions.empty?
    nil
  else
    @declarations_and_definitions.first.storage_class_specifier
  end
end