class AdLint::Cc1::TypeName
Attributes
abstract_declarator[R]
specifier_qualifier_list[R]
type[RW]
type_declaration[R]
Public Class Methods
new(spec_qual_list, abstract_dcr, sym_tbl)
click to toggle source
Calls superclass method
AdLint::Cc1::SyntaxNode::new
# File lib/adlint/cc1/syntax.rb, line 4234 def initialize(spec_qual_list, abstract_dcr, sym_tbl) super() @specifier_qualifier_list = spec_qual_list @abstract_declarator = abstract_dcr @type = nil @type_declaration = build_type_declaration(spec_qual_list, sym_tbl) end
Public Instance Methods
inspect(indent = 0)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4255 def inspect(indent = 0) " " * indent + short_class_name + " (#{@type ? @type.image : "nil"})" end
location()
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4247 def location @specifier_qualifier_list.location end
to_s()
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4251 def to_s @type.image end
Private Instance Methods
build_type_declaration(spec_qual_list, sym_tbl)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4260 def build_type_declaration(spec_qual_list, sym_tbl) spec_qual_list.type_specifiers.each do |type_spec| builder = TypeDeclarationBuilder.new(sym_tbl) type_spec.accept(builder) unless builder.type_declarations.empty? return builder.type_declarations.first end end nil end