def int_enum_value_factory(index, enumerator):
if enumerator.value is None:
return '0' if index == 0 else 'auto()'
if isinstance(enumerator.value, c_ast.BinaryOp):
return emit_binary_op(enumerator.value)
elif isinstance(enumerator.value, c_ast.Constant):
return emit_constant(enumerator.value)
elif isinstance(enumerator.value, c_ast.UnaryOp):
return emit_unary_op(enumerator.value)
elif enumerator.value.name == 'PG_INT32_MAX':
return '0x7FFFFFFF'
assert enumerator.value.type == 'int'
return enumerator.value.value
评论列表
文章目录