mirror of
https://github.com/Ed94/gencpp.git
synced 2025-06-16 19:51:47 -07:00
Corrected enum serialization of ecodetypes, eoperator, especifier, and etoktype, some more naming refactors for strbuilder... formatting
This commit is contained in:
@ -45,7 +45,7 @@ void parser_pop(ParseContext* ctx)
|
||||
ctx->Scope = ctx->Scope->Prev;
|
||||
}
|
||||
|
||||
StrBuilder parser_to_string(ParseContext ctx)
|
||||
StrBuilder parser_to_strbuilder(ParseContext ctx)
|
||||
{
|
||||
StrBuilder result = strbuilder_make_reserve( GlobalAllocator, kilobytes(4) );
|
||||
|
||||
@ -102,7 +102,7 @@ bool lex__eat(TokArray* self, TokType type )
|
||||
{
|
||||
if ( array_num(self->Arr) - self->Idx <= 0 )
|
||||
{
|
||||
log_failure( "No tokens left.\n%s", parser_to_string(Context) );
|
||||
log_failure( "No tokens left.\n%s", parser_to_strbuilder(Context) );
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -122,14 +122,14 @@ bool lex__eat(TokArray* self, TokType type )
|
||||
, at_idx.Length, at_idx.Text
|
||||
, tok.Line
|
||||
, tok.Column
|
||||
, parser_to_string(Context)
|
||||
, parser_to_strbuilder(Context)
|
||||
);
|
||||
GEN_DEBUG_TRAP();
|
||||
return false;
|
||||
}
|
||||
|
||||
#if 0 && GEN_BUILD_DEBUG
|
||||
log_fmt("Ate: %SB\n", self->Arr[Idx].to_string() );
|
||||
log_fmt("Ate: %SB\n", self->Arr[Idx].to_strbuilder() );
|
||||
#endif
|
||||
|
||||
self->Idx ++;
|
||||
@ -530,14 +530,14 @@ Code parse_array_decl()
|
||||
|
||||
if ( left == 0 )
|
||||
{
|
||||
log_failure( "Error, unexpected end of array declaration ( '[]' scope started )\n%s", parser_to_string(Context) );
|
||||
log_failure( "Error, unexpected end of array declaration ( '[]' scope started )\n%s", parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
|
||||
if ( currtok.Type == Tok_BraceSquare_Close )
|
||||
{
|
||||
log_failure( "Error, empty array expression in definition\n%s", parser_to_string(Context) );
|
||||
log_failure( "Error, empty array expression in definition\n%s", parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -556,14 +556,14 @@ Code parse_array_decl()
|
||||
|
||||
if ( left == 0 )
|
||||
{
|
||||
log_failure( "Error, unexpected end of array declaration, expected ]\n%s", parser_to_string(Context) );
|
||||
log_failure( "Error, unexpected end of array declaration, expected ]\n%s", parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
|
||||
if ( currtok.Type != Tok_BraceSquare_Close )
|
||||
{
|
||||
log_failure( "%s: Error, expected ] in array declaration, not %s\n%s", toktype_to_str( currtok.Type ), parser_to_string(Context) );
|
||||
log_failure( "%s: Error, expected ] in array declaration, not %s\n%s", toktype_to_str( currtok.Type ), parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -704,7 +704,7 @@ Code parse_class_struct( TokType which, bool inplace_def )
|
||||
{
|
||||
if ( which != Tok_Decl_Class && which != Tok_Decl_Struct )
|
||||
{
|
||||
log_failure( "Error, expected class or struct, not %s\n%s", toktype_to_str( which ), parser_to_string(Context) );
|
||||
log_failure( "Error, expected class or struct, not %s\n%s", toktype_to_str( which ), parser_to_strbuilder(Context) );
|
||||
return InvalidCode;
|
||||
}
|
||||
|
||||
@ -846,7 +846,7 @@ CodeBody parse_class_struct_body( TokType which, Token name )
|
||||
case Tok_Statement_End:
|
||||
{
|
||||
// TODO(Ed): Convert this to a general warning procedure
|
||||
log_fmt("Dangling end statement found %SB\n", tok_to_string(currtok_noskip));
|
||||
log_fmt("Dangling end statement found %SB\n", tok_to_strbuilder(currtok_noskip));
|
||||
eat( Tok_Statement_End );
|
||||
continue;
|
||||
}
|
||||
@ -928,7 +928,7 @@ CodeBody parse_class_struct_body( TokType which, Token name )
|
||||
case Tok_Operator:
|
||||
//if ( currtok.Text[0] != '~' )
|
||||
//{
|
||||
// log_failure( "Operator token found in global body but not destructor unary negation\n%s", to_string(Context) );
|
||||
// log_failure( "Operator token found in global body but not destructor unary negation\n%s", to_strbuilder(Context) );
|
||||
// return InvalidCode;
|
||||
//}
|
||||
|
||||
@ -1042,7 +1042,7 @@ CodeBody parse_class_struct_body( TokType which, Token name )
|
||||
break;
|
||||
|
||||
default:
|
||||
log_failure( "Invalid specifier %s for variable\n%s", spec_to_str(spec), parser_to_string(Context) );
|
||||
log_failure( "Invalid specifier %S for variable\n%S", spec_to_str(spec), strbuilder_to_str( parser_to_strbuilder(Context)) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -1128,7 +1128,7 @@ CodeBody parse_class_struct_body( TokType which, Token name )
|
||||
|
||||
if ( member == Code_Invalid )
|
||||
{
|
||||
log_failure( "Failed to parse member\n%s", parser_to_string(Context) );
|
||||
log_failure( "Failed to parse member\n%s", parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -1162,7 +1162,7 @@ CodeBody parse_class_struct_body( TokType which, Token name )
|
||||
|
||||
if ( member == Code_Invalid )
|
||||
{
|
||||
log_failure( "Failed to parse member\n%s", parser_to_string(Context) );
|
||||
log_failure( "Failed to parse member\n%s", parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -1249,7 +1249,7 @@ Code parse_complicated_definition( TokType which )
|
||||
return result;
|
||||
}
|
||||
|
||||
log_failure( "Unsupported or bad member definition after %s declaration\n%s", toktype_to_str(which), parser_to_string(Context) );
|
||||
log_failure( "Unsupported or bad member definition after %s declaration\n%s", toktype_to_str(which), parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -1294,7 +1294,7 @@ Code parse_complicated_definition( TokType which )
|
||||
|
||||
if ( ! ok_to_parse )
|
||||
{
|
||||
log_failure( "Unsupported or bad member definition after %s declaration\n%s", toktype_to_str(which), parser_to_string(Context) );
|
||||
log_failure( "Unsupported or bad member definition after %s declaration\n%s", toktype_to_str(which), parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -1313,7 +1313,7 @@ Code parse_complicated_definition( TokType which )
|
||||
&& ( tokens.Arr[idx - 4].Type != which))
|
||||
)
|
||||
{
|
||||
log_failure( "Unsupported or bad member definition after %s declaration\n%s", toktype_to_str(which), parser_to_string(Context) );
|
||||
log_failure( "Unsupported or bad member definition after %s declaration\n%s", toktype_to_str(which), parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -1343,7 +1343,7 @@ Code parse_complicated_definition( TokType which )
|
||||
}
|
||||
else
|
||||
{
|
||||
log_failure( "Unsupported or bad member definition after %s declaration\n%SB", toktype_to_str(which).Ptr, parser_to_string(Context) );
|
||||
log_failure( "Unsupported or bad member definition after %s declaration\n%SB", toktype_to_str(which).Ptr, parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -1362,7 +1362,7 @@ CodeDefine parse_define()
|
||||
|
||||
if ( ! check( Tok_Identifier ) )
|
||||
{
|
||||
log_failure( "Error, expected identifier after #define\n%s", parser_to_string(Context) );
|
||||
log_failure( "Error, expected identifier after #define\n%s", parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -1374,7 +1374,7 @@ CodeDefine parse_define()
|
||||
|
||||
if ( ! check( Tok_Preprocess_Content ))
|
||||
{
|
||||
log_failure( "Error, expected content after #define %s\n%s", define->Name, parser_to_string(Context) );
|
||||
log_failure( "Error, expected content after #define %s\n%s", define->Name, parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -1409,7 +1409,7 @@ Code parse_assignment_expression()
|
||||
|
||||
if ( currtok.Type == Tok_Statement_End && currtok.Type != Tok_Comma )
|
||||
{
|
||||
log_failure( "Expected expression after assignment operator\n%s", parser_to_string(Context) );
|
||||
log_failure( "Expected expression after assignment operator\n%s", parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -1461,7 +1461,7 @@ Code parse_forward_or_definition( TokType which, bool is_inplace )
|
||||
default:
|
||||
log_failure( "Error, wrong token type given to parse_complicated_definition "
|
||||
"(only supports class, enum, struct, union) \n%s"
|
||||
, parser_to_string(Context) );
|
||||
, parser_to_strbuilder(Context) );
|
||||
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -1552,7 +1552,7 @@ CodeFn parse_function_after_name(
|
||||
|
||||
default:
|
||||
{
|
||||
log_failure("Body must be either of Function_Body or Untyped type, %s\n%s", code_debug_str(body), parser_to_string(Context));
|
||||
log_failure("Body must be either of Function_Body or Untyped type, %s\n%s", code_debug_str(body), parser_to_strbuilder(Context));
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -1661,7 +1661,7 @@ CodeBody parse_global_nspace( CodeType which )
|
||||
{
|
||||
case Tok_Comma:
|
||||
{
|
||||
log_failure("Dangling comma found: %SB\nContext:\n%SB", tok_to_string(currtok), parser_to_string(Context));
|
||||
log_failure("Dangling comma found: %SB\nContext:\n%SB", tok_to_strbuilder(currtok), parser_to_strbuilder(Context));
|
||||
parser_pop( & Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -1669,7 +1669,7 @@ CodeBody parse_global_nspace( CodeType which )
|
||||
case Tok_Statement_End:
|
||||
{
|
||||
// TODO(Ed): Convert this to a general warning procedure
|
||||
log_fmt("Dangling end statement found %SB\n", tok_to_string(currtok_noskip));
|
||||
log_fmt("Dangling end statement found %SB\n", tok_to_strbuilder(currtok_noskip));
|
||||
eat( Tok_Statement_End );
|
||||
continue;
|
||||
}
|
||||
@ -1695,7 +1695,7 @@ CodeBody parse_global_nspace( CodeType which )
|
||||
|
||||
case Tok_Decl_Extern_Linkage:
|
||||
if ( which == CT_Extern_Linkage_Body )
|
||||
log_failure( "Nested extern linkage\n%s", parser_to_string(Context) );
|
||||
log_failure( "Nested extern linkage\n%s", parser_to_strbuilder(Context) );
|
||||
|
||||
member = cast(Code, parser_parse_extern_link());
|
||||
// extern "..." { ... }
|
||||
@ -1788,7 +1788,7 @@ CodeBody parse_global_nspace( CodeType which )
|
||||
|
||||
case Tok_Module_Export: {
|
||||
if ( which == CT_Export_Body )
|
||||
log_failure( "Nested export declaration\n%s", parser_to_string(Context) );
|
||||
log_failure( "Nested export declaration\n%s", parser_to_strbuilder(Context) );
|
||||
|
||||
member = cast(Code, parser_parse_export_body());
|
||||
// export { ... }
|
||||
@ -1858,7 +1858,7 @@ CodeBody parse_global_nspace( CodeType which )
|
||||
default:
|
||||
Str spec_str = spec_to_str(spec);
|
||||
|
||||
log_failure( "Invalid specifier %.*s for variable\n%s", spec_str.Len, spec_str, parser_to_string(Context) );
|
||||
log_failure( "Invalid specifier %S for variable\n%S", spec_str, strbuilder_to_str( parser_to_strbuilder(Context)) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -1941,7 +1941,7 @@ CodeBody parse_global_nspace( CodeType which )
|
||||
|
||||
if ( member == Code_Invalid )
|
||||
{
|
||||
log_failure( "Failed to parse member\n%s", parser_to_string(Context) );
|
||||
log_failure( "Failed to parse member\n%s", parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -1960,7 +1960,7 @@ CodeBody parse_global_nspace( CodeType which )
|
||||
Member_Resolved_To_Lone_Macro:
|
||||
if ( member == Code_Invalid )
|
||||
{
|
||||
log_failure( "Failed to parse member\nToken: %SB\nContext:\n%SB", tok_to_string(currtok_noskip), parser_to_string(Context) );
|
||||
log_failure( "Failed to parse member\nToken: %SB\nContext:\n%SB", tok_to_strbuilder(currtok_noskip), parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -2129,7 +2129,7 @@ Token parse_identifier( bool* possible_member_function )
|
||||
Token invalid = { nullptr, 0, Tok_Invalid };
|
||||
if ( left == 0 )
|
||||
{
|
||||
log_failure( "Error, unexpected end of static symbol identifier\n%s", parser_to_string(Context) );
|
||||
log_failure( "Error, unexpected end of static symbol identifier\n%s", parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return invalid;
|
||||
}
|
||||
@ -2144,7 +2144,7 @@ Token parse_identifier( bool* possible_member_function )
|
||||
return name;
|
||||
}
|
||||
|
||||
log_failure( "Error, had a ~ operator after %SB but not a destructor\n%s", toktype_to_str( prevtok.Type ), parser_to_string(Context) );
|
||||
log_failure( "Error, had a ~ operator after %SB but not a destructor\n%s", toktype_to_str( prevtok.Type ), parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return invalid;
|
||||
}
|
||||
@ -2156,7 +2156,7 @@ Token parse_identifier( bool* possible_member_function )
|
||||
|
||||
else
|
||||
{
|
||||
log_failure( "Found a member function pointer identifier but the parsing context did not expect it\n%s", parser_to_string(Context) );
|
||||
log_failure( "Found a member function pointer identifier but the parsing context did not expect it\n%s", parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return invalid;
|
||||
}
|
||||
@ -2164,7 +2164,7 @@ Token parse_identifier( bool* possible_member_function )
|
||||
|
||||
if ( currtok.Type != Tok_Identifier )
|
||||
{
|
||||
log_failure( "Error, expected static symbol identifier, not %s\n%s", toktype_to_str( currtok.Type ), parser_to_string(Context) );
|
||||
log_failure( "Error, expected static symbol identifier, not %s\n%s", toktype_to_str( currtok.Type ), parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return invalid;
|
||||
}
|
||||
@ -2195,7 +2195,7 @@ CodeInclude parse_include()
|
||||
|
||||
if ( ! check( Tok_String ))
|
||||
{
|
||||
log_failure( "Error, expected include string after #include\n%s", parser_to_string(Context) );
|
||||
log_failure( "Error, expected include string after #include\n%s", parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -2243,7 +2243,7 @@ CodeOperator parse_operator_after_ret_type(
|
||||
&& currtok.Type != Tok_Ampersand
|
||||
&& currtok.Type != Tok_Ampersand_DBL )
|
||||
{
|
||||
log_failure( "Expected operator after 'operator' keyword\n%s", parser_to_string(Context) );
|
||||
log_failure( "Expected operator after 'operator' keyword\n%s", parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -2496,7 +2496,7 @@ CodeOperator parse_operator_after_ret_type(
|
||||
{
|
||||
if ( op == Op_Invalid )
|
||||
{
|
||||
log_failure( "Invalid operator '%s'\n%s", prevtok.Text, parser_to_string(Context) );
|
||||
log_failure( "Invalid operator '%s'\n%s", prevtok.Text, parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -2506,7 +2506,7 @@ CodeOperator parse_operator_after_ret_type(
|
||||
|
||||
if ( op == Op_Invalid )
|
||||
{
|
||||
log_failure( "Invalid operator '%s'\n%s", currtok.Text, parser_to_string(Context) );
|
||||
log_failure( "Invalid operator '%s'\n%s", currtok.Text, parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -2650,7 +2650,7 @@ Code parse_operator_function_or_variable( bool expects_function, CodeAttributes
|
||||
{
|
||||
if ( expects_function )
|
||||
{
|
||||
log_failure( "Expected function declaration (consteval was used)\n%s", parser_to_string(Context) );
|
||||
log_failure( "Expected function declaration (consteval was used)\n%s", parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -2678,7 +2678,7 @@ CodePragma parse_pragma()
|
||||
|
||||
if ( ! check( Tok_Preprocess_Content ))
|
||||
{
|
||||
log_failure( "Error, expected content after #pragma\n%s", parser_to_string(Context) );
|
||||
log_failure( "Error, expected content after #pragma\n%s", parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -2791,7 +2791,7 @@ CodeParams parse_params( bool use_template_capture )
|
||||
|
||||
if ( currtok.Type == Tok_Comma )
|
||||
{
|
||||
log_failure( "Expected value after assignment operator\n%s.", parser_to_string(Context) );
|
||||
log_failure( "Expected value after assignment operator\n%s.", parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -2904,7 +2904,7 @@ CodeParams parse_params( bool use_template_capture )
|
||||
|
||||
if ( currtok.Type == Tok_Comma )
|
||||
{
|
||||
log_failure( "Expected value after assignment operator\n%s", parser_to_string(Context) );
|
||||
log_failure( "Expected value after assignment operator\n%s", parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -2965,7 +2965,7 @@ CodeParams parse_params( bool use_template_capture )
|
||||
{
|
||||
if ( ! check( Tok_Operator ) || currtok.Text[ 0 ] != '>' )
|
||||
{
|
||||
log_failure( "Expected '<' after 'template' keyword\n%s", parser_to_string(Context) );
|
||||
log_failure( "Expected '<' after 'template' keyword\n%s", parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -2985,7 +2985,7 @@ CodePreprocessCond parse_preprocess_cond()
|
||||
|
||||
if ( ! tok_is_preprocess_cond(currtok) )
|
||||
{
|
||||
log_failure( "Error, expected preprocess conditional\n%s", parser_to_string(Context) );
|
||||
log_failure( "Error, expected preprocess conditional\n%s", parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -2998,7 +2998,7 @@ CodePreprocessCond parse_preprocess_cond()
|
||||
|
||||
if ( ! check( Tok_Preprocess_Content ))
|
||||
{
|
||||
log_failure( "Error, expected content after #define\n%s", parser_to_string(Context) );
|
||||
log_failure( "Error, expected content after #define\n%s", parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -3289,7 +3289,7 @@ CodeVar parse_variable_after_name(
|
||||
|
||||
if ( currtok.Type == Tok_Statement_End )
|
||||
{
|
||||
log_failure( "Expected expression after bitfield \n%SB", parser_to_string(Context) );
|
||||
log_failure( "Expected expression after bitfield \n%SB", parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -3407,7 +3407,7 @@ CodeVar parse_variable_declaration_list()
|
||||
{
|
||||
log_failure( "Error, const specifier must come after pointer specifier for variable declaration proceeding comma\n"
|
||||
"(Parser will add and continue to specifiers, but will most likely fail to compile)\n%SB"
|
||||
, parser_to_string(Context) );
|
||||
, parser_to_strbuilder(Context) );
|
||||
|
||||
specifiers_append(specifiers, spec );
|
||||
}
|
||||
@ -3420,9 +3420,9 @@ CodeVar parse_variable_declaration_list()
|
||||
|
||||
default:
|
||||
{
|
||||
log_failure( "Error, invalid specifier '%s' proceeding comma\n"
|
||||
log_failure( "Error, invalid specifier '%S' proceeding comma\n"
|
||||
"(Parser will add and continue to specifiers, but will most likely fail to compile)\n%S"
|
||||
, tok_to_str(currtok), parser_to_string(Context) );
|
||||
, tok_to_str(currtok), strbuilder_to_str( parser_to_strbuilder(Context)) );
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
@ -3586,7 +3586,7 @@ CodeDestructor parser_parse_destructor( CodeSpecifiers specifiers )
|
||||
eat( Tok_Operator );
|
||||
else
|
||||
{
|
||||
log_failure( "Expected destructor '~' token\n%s", parser_to_string(Context) );
|
||||
log_failure( "Expected destructor '~' token\n%s", parser_to_strbuilder(Context) );
|
||||
parser_pop( & Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -3624,7 +3624,7 @@ CodeDestructor parser_parse_destructor( CodeSpecifiers specifiers )
|
||||
}
|
||||
else
|
||||
{
|
||||
log_failure( "Pure or default specifier expected due to '=' token\n%s", parser_to_string(Context) );
|
||||
log_failure( "Pure or default specifier expected due to '=' token\n%s", parser_to_strbuilder(Context) );
|
||||
parser_pop( & Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -3722,7 +3722,7 @@ CodeEnum parser_parse_enum( bool inplace_def )
|
||||
type = parser_parse_type(parser_not_from_template, nullptr);
|
||||
if ( cast(Code, type) == Code_Invalid )
|
||||
{
|
||||
log_failure( "Failed to parse enum classifier\n%s", parser_to_string(Context) );
|
||||
log_failure( "Failed to parse enum classifier\n%s", parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -3755,7 +3755,7 @@ CodeEnum parser_parse_enum( bool inplace_def )
|
||||
{
|
||||
if ( ! expects_entry )
|
||||
{
|
||||
log_failure( "Did not expect an entry after last member of enum body.\n%s", parser_to_string(Context) );
|
||||
log_failure( "Did not expect an entry after last member of enum body.\n%s", parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
break;
|
||||
}
|
||||
@ -3862,7 +3862,7 @@ CodeEnum parser_parse_enum( bool inplace_def )
|
||||
|
||||
if ( member == Code_Invalid )
|
||||
{
|
||||
log_failure( "Failed to parse member\n%s", parser_to_string(Context) );
|
||||
log_failure( "Failed to parse member\n%s", parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -3957,7 +3957,7 @@ CodeExtern parser_parse_extern_link()
|
||||
CodeBody entry = parser_parse_extern_link_body();
|
||||
if ( cast(Code, entry) == Code_Invalid )
|
||||
{
|
||||
log_failure( "Failed to parse body\n%s", parser_to_string(Context) );
|
||||
log_failure( "Failed to parse body\n%s", parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return result;
|
||||
}
|
||||
@ -3998,7 +3998,7 @@ CodeFriend parser_parse_friend()
|
||||
break;
|
||||
|
||||
default :
|
||||
log_failure( "Invalid specifier %s for friend definition\n%s", spec_to_str( spec ), parser_to_string(Context) );
|
||||
log_failure( "Invalid specifier %S for friend definition\n%S", spec_to_str( spec ), strbuilder_to_str( parser_to_strbuilder(Context)) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -4127,7 +4127,7 @@ CodeFn parser_parse_function()
|
||||
break;
|
||||
|
||||
default:
|
||||
log_failure( "Invalid specifier %s for functon\n%s", spec_to_str(spec), parser_to_string(Context) );
|
||||
log_failure( "Invalid specifier %S for functon\n%SB", spec_to_str(spec), parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -4238,7 +4238,7 @@ CodeOperator parser_parse_operator()
|
||||
break;
|
||||
|
||||
default:
|
||||
log_failure( "Invalid specifier " "%S" " for operator\n%SB", spec_to_str(spec), parser_to_string(Context) );
|
||||
log_failure( "Invalid specifier " "%S" " for operator\n%SB", spec_to_str(spec), parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -4490,7 +4490,7 @@ CodeTemplate parser_parse_template()
|
||||
break;
|
||||
|
||||
default :
|
||||
log_failure( "Invalid specifier %s for variable or function\n%s", spec_to_str( spec ), parser_to_string(Context) );
|
||||
log_failure( "Invalid specifier %S for variable or function\n%SB", spec_to_str( spec ), parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -4614,7 +4614,7 @@ CodeTypename parser_parse_type( bool from_template, bool* typedef_is_function )
|
||||
|
||||
if ( spec != Spec_Const )
|
||||
{
|
||||
log_failure( "Error, invalid specifier used in type definition: %S\n%SB", tok_to_str(currtok), parser_to_string(Context) );
|
||||
log_failure( "Error, invalid specifier used in type definition: %S\n%SB", tok_to_str(currtok), parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -4627,7 +4627,7 @@ CodeTypename parser_parse_type( bool from_template, bool* typedef_is_function )
|
||||
|
||||
if ( left == 0 )
|
||||
{
|
||||
log_failure( "Error, unexpected end of type definition\n%SB", parser_to_string(Context) );
|
||||
log_failure( "Error, unexpected end of type definition\n%SB", parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -4719,7 +4719,7 @@ else if ( currtok.Type == Tok_DeclType )
|
||||
Context.Scope->Name = name;
|
||||
if ( ! tok_is_valid(name) )
|
||||
{
|
||||
log_failure( "Error, failed to type signature\n%s", parser_to_string(Context) );
|
||||
log_failure( "Error, failed to type signature\n%s", parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -4738,7 +4738,7 @@ else if ( currtok.Type == Tok_DeclType )
|
||||
Context.Scope->Name = name;
|
||||
if ( ! tok_is_valid(name) )
|
||||
{
|
||||
log_failure( "Error, failed to type signature\n%s", parser_to_string(Context) );
|
||||
log_failure( "Error, failed to type signature\n%s", parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -4753,7 +4753,7 @@ else if ( currtok.Type == Tok_DeclType )
|
||||
|
||||
if ( spec != Spec_Const && spec != Spec_Ptr && spec != Spec_Ref && spec != Spec_RValue )
|
||||
{
|
||||
log_failure( "Error, invalid specifier used in type definition: %s\n%s", currtok.Text, parser_to_string(Context) );
|
||||
log_failure( "Error, invalid specifier used in type definition: %S\n%SB", tok_to_str(currtok), parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -4885,7 +4885,7 @@ else if ( currtok.Type == Tok_DeclType )
|
||||
|
||||
if ( spec != Spec_Ptr && spec != Spec_Ref && spec != Spec_RValue )
|
||||
{
|
||||
log_failure( "Error, invalid specifier used in type definition: %s\n%s", currtok.Text, to_string(Context) );
|
||||
log_failure( "Error, invalid specifier used in type definition: %S\n%SB", toktype_to_str(currtok), to_strbuilder(Context) );
|
||||
pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -4955,7 +4955,7 @@ else if ( currtok.Type == Tok_DeclType )
|
||||
// && spec != Spec_NoExcept
|
||||
&& spec != Spec_RValue )
|
||||
{
|
||||
log_failure( "Error, invalid specifier used in type definition: %S\n%SB", tok_to_str(currtok), parser_to_string(Context) );
|
||||
log_failure( "Error, invalid specifier used in type definition: %S\n%S", tok_to_str(currtok), strbuilder_to_str( parser_to_strbuilder(Context)) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -4996,7 +4996,7 @@ else if ( currtok.Type == Tok_DeclType )
|
||||
#ifdef GEN_USE_NEW_TYPENAME_PARSING
|
||||
if ( params_nested )
|
||||
{
|
||||
name_stripped.append( params_nested->to_string() );
|
||||
name_stripped.append( params_nested->to_strbuilder() );
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -5161,7 +5161,7 @@ CodeTypedef parser_parse_typedef()
|
||||
|
||||
if ( ! ok_to_parse )
|
||||
{
|
||||
log_failure( "Unsupported or bad member definition after struct declaration\n%SB", parser_to_string(Context) );
|
||||
log_failure( "Unsupported or bad member definition after struct declaration\n%SB", parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -5187,7 +5187,7 @@ CodeTypedef parser_parse_typedef()
|
||||
}
|
||||
else
|
||||
{
|
||||
log_failure( "Unsupported or bad member definition after struct declaration\n%SB", parser_to_string(Context) );
|
||||
log_failure( "Unsupported or bad member definition after struct declaration\n%SB", parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -5208,7 +5208,7 @@ CodeTypedef parser_parse_typedef()
|
||||
}
|
||||
else if ( ! is_function )
|
||||
{
|
||||
log_failure( "Error, expected identifier for typedef\n%SB", parser_to_string(Context) );
|
||||
log_failure( "Error, expected identifier for typedef\n%SB", parser_to_strbuilder(Context) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
@ -5544,7 +5544,7 @@ CodeVar parser_parse_variable()
|
||||
break;
|
||||
|
||||
default:
|
||||
log_failure( "Invalid specifier %s for variable\n%s", spec_to_str( spec ), parser_to_string(Context) );
|
||||
log_failure( "Invalid specifier %S for variable\n%S", spec_to_str( spec ), strbuilder_to_str( parser_to_strbuilder(Context)) );
|
||||
parser_pop(& Context);
|
||||
return InvalidCode;
|
||||
}
|
||||
|
Reference in New Issue
Block a user