Skip to content
Snippets Groups Projects
Commit 8f427b5a authored by Meredith L. Patterson's avatar Meredith L. Patterson Committed by Dan Hirsch
Browse files

fixed nested unions

parent 49f22e2a
No related branches found
No related tags found
No related merge requests found
......@@ -2,3 +2,4 @@
%import "hammer/allocator.h"
%import "hammer/hammer.h"
......@@ -70,8 +70,21 @@ typedef struct HBytes_ {
size_t len;
} HBytes;
#ifdef SWIG
typedef union {
HBytes bytes;
int64_t sint;
uint64_t uint;
double dbl;
float flt;
HCountedArray *seq;
void *user;
} HTokenData;
#endif
typedef struct HParsedToken_ {
HTokenType token_type;
#ifndef SWIG
union {
HBytes bytes;
int64_t sint;
......@@ -81,6 +94,9 @@ typedef struct HParsedToken_ {
HCountedArray *seq; // a sequence of HParsedToken's
void *user;
};
#else
HTokenData token_data;
#endif
size_t index;
char bit_offset;
} HParsedToken;
......@@ -144,12 +160,23 @@ typedef struct HParserTestcase_ {
char* output_unambiguous;
} HParserTestcase;
#ifdef SWIG
typedef union {
const char* actual_results;
size_t parse_time;
} HResultTiming;
#endif
typedef struct HCaseResult_ {
bool success;
#ifndef SWIG
union {
const char* actual_results; // on failure, filled in with the results of h_write_result_unamb
size_t parse_time; // on success, filled in with time for a single parse, in nsec
};
#else
HResultTiming timestamp;
#endif
} HCaseResult;
typedef struct HBackendResults_ {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment