* struct containing the 3 stacks used in non-recursive parsing,
* and the token and value for scalars that need to be preserved
* across calls.
+ *
+ * typedef appears in jsonapi.h
*/
-typedef struct JsonParserStack
+struct JsonParserStack
{
int stack_size;
char *prediction;
bool *fnull;
JsonTokenType scalar_tok;
char *scalar_val;
-} JsonParserStack;
+};
/*
* struct containing state used when there is a possible partial token at the
* end of a json chunk when we are doing incremental parsing.
+ *
+ * typedef appears in jsonapi.h
*/
-typedef struct JsonIncrementalState
+struct JsonIncrementalState
{
bool is_last_chunk;
bool partial_completed;
StringInfoData partial_token;
-} JsonIncrementalState;
+};
/*
* constants and macros used in the nonrecursive parser
char *manifest_checksum;
} JsonManifestParseState;
-typedef struct JsonManifestParseIncrementalState
+/* typedef appears in parse_manifest.h */
+struct JsonManifestParseIncrementalState
{
JsonLexContext lex;
JsonSemAction sem;
pg_cryptohash_ctx *manifest_ctx;
-} JsonManifestParseIncrementalState;
+};
static JsonParseErrorType json_manifest_object_start(void *state);
static JsonParseErrorType json_manifest_object_end(void *state);