mirror of
https://github.com/Ed94/gencpp.git
synced 2025-06-16 19:51:47 -07:00
Updates to docs and various changes to project from working on them.
- CodeParam -> CodeParams - interfaces array weren't being used in parse_class_struct - added enum_underlying_sig
This commit is contained in:
@ -225,7 +225,7 @@ internal CodeInclude parse_include ();
|
||||
internal CodeOperator parse_operator_after_ret_type ( ModuleFlag mflags, CodeAttributes attributes, CodeSpecifiers specifiers, CodeTypename ret_type );
|
||||
internal Code parse_operator_function_or_variable( bool expects_function, CodeAttributes attributes, CodeSpecifiers specifiers );
|
||||
internal CodePragma parse_pragma ();
|
||||
internal CodeParam parse_params ( bool use_template_capture );
|
||||
internal CodeParams parse_params ( bool use_template_capture );
|
||||
internal CodePreprocessCond parse_preprocess_cond ();
|
||||
internal Code parse_simple_preprocess ( TokType which, bool dont_consume_braces );
|
||||
internal Code parse_static_assert ();
|
||||
@ -797,11 +797,10 @@ Code parse_class_struct( TokType which, bool inplace_def )
|
||||
}
|
||||
|
||||
if ( which == Tok_Decl_Class )
|
||||
result = cast(Code, def_class( tok_to_str(name), def_assign( body, parent, access, attributes, nullptr, 0, mflags ) ));
|
||||
result = cast(Code, def_class( tok_to_str(name), def_assign( body, parent, access, attributes, interfaces, scast(s32, array_num(interfaces)), mflags ) ));
|
||||
|
||||
else
|
||||
result = cast(Code, def_struct( tok_to_str(name), def_assign( body, (CodeTypename)parent, access, attributes, nullptr, 0, mflags ) ));
|
||||
|
||||
result = cast(Code, def_struct( tok_to_str(name), def_assign( body, (CodeTypename)parent, access, attributes, interfaces, scast(s32, array_num(interfaces)), mflags ) ));
|
||||
|
||||
if ( inline_cmt )
|
||||
result->InlineCmt = cast(Code, inline_cmt);
|
||||
@ -1479,7 +1478,7 @@ CodeFn parse_function_after_name(
|
||||
)
|
||||
{
|
||||
push_scope();
|
||||
CodeParam params = parse_params(parser_use_parenthesis);
|
||||
CodeParams params = parse_params(parser_use_parenthesis);
|
||||
// <Attributes> <Specifiers> <ReturnType> <Name> ( <Parameters> )
|
||||
|
||||
// TODO(Ed), Review old comment : These have to be kept separate from the return type's specifiers.
|
||||
@ -2516,7 +2515,7 @@ CodeOperator parse_operator_after_ret_type(
|
||||
// <ExportFlag> <Attributes> <Specifiers> <ReturnType> <Qualifier::...> operator <Op>
|
||||
|
||||
// Parse Params
|
||||
CodeParam params = parse_params(parser_use_parenthesis);
|
||||
CodeParams params = parse_params(parser_use_parenthesis);
|
||||
// <ExportFlag> <Attributes> <Specifiers> <ReturnType> <Qualifier::...> operator <Op> ( <Parameters> )
|
||||
|
||||
if ( params == nullptr && op == Op_Multiply )
|
||||
@ -2694,7 +2693,7 @@ CodePragma parse_pragma()
|
||||
}
|
||||
|
||||
internal inline
|
||||
CodeParam parse_params( bool use_template_capture )
|
||||
CodeParams parse_params( bool use_template_capture )
|
||||
{
|
||||
push_scope();
|
||||
|
||||
@ -2823,7 +2822,7 @@ CodeParam parse_params( bool use_template_capture )
|
||||
}
|
||||
}
|
||||
|
||||
CodeParam result = ( CodeParam )make_code();
|
||||
CodeParams result = ( CodeParams )make_code();
|
||||
result->Type = CT_Parameters;
|
||||
|
||||
result->Macro = macro;
|
||||
@ -2940,7 +2939,7 @@ CodeParam parse_params( bool use_template_capture )
|
||||
// ( <Macro> <ValueType> <Name> = <Expression>, <Macro> <ValueType> <Name> = <Expression>, ..
|
||||
}
|
||||
|
||||
CodeParam param = ( CodeParam )make_code();
|
||||
CodeParams param = ( CodeParams )make_code();
|
||||
param->Type = CT_Parameters;
|
||||
|
||||
param->Macro = macro;
|
||||
@ -3372,7 +3371,7 @@ CodeVar parse_variable_after_name(
|
||||
result->NextVar->Parent = cast(Code, result);
|
||||
}
|
||||
|
||||
result->VarConstructorInit = using_constructor_initializer;
|
||||
result->VarParenthesizedInit = using_constructor_initializer;
|
||||
|
||||
parser_pop(& Context);
|
||||
return result;
|
||||
@ -3476,7 +3475,7 @@ CodeConstructor parser_parse_constructor( CodeSpecifiers specifiers )
|
||||
push_scope();
|
||||
|
||||
Token identifier = parse_identifier(nullptr);
|
||||
CodeParam params = parse_params(parser_not_from_template);
|
||||
CodeParams params = parse_params(parser_not_from_template);
|
||||
// <Name> ( <Parameters> )
|
||||
|
||||
Code initializer_list = NullCode;
|
||||
@ -3731,8 +3730,7 @@ CodeEnum parser_parse_enum( bool inplace_def )
|
||||
else if ( currtok.Type == Tok_Preprocess_Macro )
|
||||
{
|
||||
// We'll support the enum_underlying macro
|
||||
StrC sig = txt("enum_underlying(");
|
||||
if ( strc_contains( tok_to_str(currtok), sig) )
|
||||
if ( strc_contains( tok_to_str(currtok), enum_underlying_sig) )
|
||||
{
|
||||
use_macro_underlying = true;
|
||||
underlying_macro = parse_simple_preprocess( Tok_Preprocess_Macro, parser_dont_consume_braces );
|
||||
@ -4040,7 +4038,7 @@ CodeFriend parser_parse_friend()
|
||||
function = parse_function_after_name( ModuleFlag_None, NullCode, specifiers, type, name );
|
||||
|
||||
// Parameter list
|
||||
// CodeParam params = parse_params();
|
||||
// CodeParams params = parse_params();
|
||||
// friend <ReturnType> <Name> ( <Parameters> )
|
||||
|
||||
// function = make_code();
|
||||
@ -4410,7 +4408,7 @@ CodeTemplate parser_parse_template()
|
||||
eat( Tok_Decl_Template );
|
||||
// <export> template
|
||||
|
||||
CodeParam params = parse_params( UseTemplateCapture );
|
||||
CodeParams params = parse_params( UseTemplateCapture );
|
||||
if ( cast(Code, params) == Code_Invalid )
|
||||
{
|
||||
parser_pop(& Context);
|
||||
@ -4775,10 +4773,10 @@ else if ( currtok.Type == Tok_DeclType )
|
||||
|
||||
// For function type signatures
|
||||
CodeTypename return_type = NullCode;
|
||||
CodeParam params = NullCode;
|
||||
CodeParams params = NullCode;
|
||||
|
||||
#ifdef GEN_USE_NEW_TYPENAME_PARSING
|
||||
CodeParam params_nested = NullCode;
|
||||
CodeParams params_nested = NullCode;
|
||||
#endif
|
||||
|
||||
bool is_function_typename = false;
|
||||
@ -5583,6 +5581,12 @@ CodeVar parser_parse_variable()
|
||||
}
|
||||
|
||||
|
||||
internal
|
||||
CodeTypename parser_parse_type_alt( bool from_template, bool* typedef_is_functon )
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
GEN_NS_PARSER_END
|
||||
|
||||
#ifdef CHECK_WAS_DEFINED
|
||||
|
Reference in New Issue
Block a user