arithmetic?()
click to toggle source
def arithmetic? ; false end
base()
click to toggle source
dump_cast(scope, r=[''], dep=[])
click to toggle source
def dump_cast(scope, r=[''], dep=[])
r.last << '('
r.last << dump_attributes_pre if not kind_of? TypeDef
r, dep = base.dump(scope, r, dep)
r, dep = dump_declarator([kind_of?(TypeDef) ? '' : dump_attributes], scope, r, dep)
r.last << ')'
[r, dep]
end
dump_declarator(decl, scope, r=[''], dep=[])
click to toggle source
def dump_declarator(decl, scope, r=[''], dep=[])
r.last << decl.shift
r.concat decl
[r, dep]
end
dump_def(*a)
click to toggle source
def dump_def(*a)
dump(*a)
end
dump_initializer(init, scope, r=[''], dep=[])
click to toggle source
def dump_initializer(init, scope, r=[''], dep=[])
case init
when ::Numeric
r.last << init.to_s
[r, dep]
when ::Array
r.last << init.inspect
[r, dep]
else init.dump_inner(scope, r, dep)
end
end
float?()
click to toggle source
integral?()
click to toggle source
def integral? ; false end
parse_initializer(parser, scope)
click to toggle source
def parse_initializer(parser, scope)
raise parser, 'expr expected' if not ret = CExpression.parse(parser, scope, false)
p, i = pointer?, integral?
r = ret.reduce(parser) if p or i
if (not p and not i) or (i and not r.kind_of? ::Integer) or (p and r != 0)
parser.check_compatible_type(parser, ret.type, self)
end
ret
end
parse_initializer_designator(parser, scope, value, idx, root=true)
click to toggle source
def parse_initializer_designator(parser, scope, value, idx, root=true)
if not root and (not nt = parser.skipspaces or nt.type != :punct or nt.raw != '=')
raise nt || parser, '"=" expected'
end
value[idx] = parse_initializer(parser, scope)
idx + 1
end
pointer?()
click to toggle source
to_s()
click to toggle source
def to_s
dump_cast(Block.new(nil))[0].join(' ')
end
untypedef()
click to toggle source
void?()
click to toggle source