add definitions for h_cast family of functions
This commit is contained in:
parent
70aaf1308c
commit
d6ef9ac526
1 changed files with 30 additions and 0 deletions
|
|
@ -119,6 +119,36 @@ HParsedToken *h_make_uint(HArena *arena, uint64_t val)
|
|||
return ret;
|
||||
}
|
||||
|
||||
void * h_cast(HTokenType type, const HParsedToken *p)
|
||||
{
|
||||
assert(p->token_type == type);
|
||||
return p->user;
|
||||
}
|
||||
|
||||
HCountedArray *h_cast_seq (const HParsedToken *p)
|
||||
{
|
||||
assert(p->token_type == TT_SEQUENCE);
|
||||
return p->seq;
|
||||
}
|
||||
|
||||
HBytes h_cast_bytes(const HParsedToken *p)
|
||||
{
|
||||
assert(p->token_type == TT_BYTES);
|
||||
return p->bytes;
|
||||
}
|
||||
|
||||
int64_t h_cast_sint (const HParsedToken *p)
|
||||
{
|
||||
assert(p->token_type == TT_SINT);
|
||||
return p->sint;
|
||||
}
|
||||
|
||||
uint64_t h_cast_uint (const HParsedToken *p)
|
||||
{
|
||||
assert(p->token_type == TT_UINT);
|
||||
return p->uint;
|
||||
}
|
||||
|
||||
// XXX -> internal
|
||||
HParsedToken *h_carray_index(const HCountedArray *a, size_t i)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue