class Metasm::C::TypeDef

Attributes

backtrace[RW]
name[RW]
type[RW]

Public Class Methods

new(name, type, backtrace) click to toggle source
# File metasm/parse_c.rb, line 190
def initialize(name, type, backtrace)
        @name, @type, @backtrace = name, type, backtrace
end

Public Instance Methods

align(parser) click to toggle source
# File metasm/parse_c.rb, line 205
def align(parser) @type.align(parser) end
arithmetic?() click to toggle source
# File metasm/parse_c.rb, line 199
def arithmetic? ; @type.arithmetic?   end
dump(scope, r=[CRenderString.new], dep=[]) click to toggle source
# File metasm/parse_c.rb, line 3659
def dump(scope, r=[CRenderString.new], dep=[])
        r.last << @qualifier.map { |q| q.to_s << ' ' }.join if qualifier
        r.last << @name
        dep |= [scope.symbol_ancestors[@name]]
        [r, dep]
end
dump_def(scope, r=[CRenderString.new], dep=[]) click to toggle source
# File metasm/parse_c.rb, line 3666
def dump_def(scope, r=[CRenderString.new], dep=[])
        r.last << 'typedef '
        r.last << dump_attributes_pre
        r, dep = @type.base.dump(scope, r, dep)
        r.last << ' '
        @type.dump_declarator([CRenderString.new(name ? @name.dup : '') << dump_attributes], scope, r, dep)
end
dump_initializer(init, scope, r=[CRenderString.new], dep=[]) click to toggle source
# File metasm/parse_c.rb, line 3674
def dump_initializer(init, scope, r=[CRenderString.new], dep=[])
        @type.dump_initializer(init, scope, r, dep)
end
float?() click to toggle source
# File metasm/parse_c.rb, line 202
def float? ;      @type.float?        end
integral?() click to toggle source
# File metasm/parse_c.rb, line 200
def integral? ;   @type.integral?     end
parse_initializer(parser, scope) click to toggle source
# File metasm/parse_c.rb, line 194
def parse_initializer(parser, scope)
        @type.parse_initializer(parser, scope)
end
pointed() click to toggle source
# File metasm/parse_c.rb, line 206
def pointed ;     @type.pointed       end
pointer?() click to toggle source
# File metasm/parse_c.rb, line 198
def pointer? ;    @type.pointer?      end
signed?() click to toggle source
# File metasm/parse_c.rb, line 201
def signed? ;     @type.signed?       end
untypedef() click to toggle source
# File metasm/parse_c.rb, line 204
def untypedef ;   @type.untypedef     end
void?() click to toggle source
# File metasm/parse_c.rb, line 203
def void? ;       @type.void?         end