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;
|
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
|
// XXX -> internal
|
||||||
HParsedToken *h_carray_index(const HCountedArray *a, size_t i)
|
HParsedToken *h_carray_index(const HCountedArray *a, size_t i)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue