mirror of
				https://github.com/Ed94/gencpp.git
				synced 2025-10-31 06:50:53 -07:00 
			
		
		
		
	reduction of Code struct member function usage in base lib
This commit is contained in:
		| @@ -136,7 +136,7 @@ int gen_main() | ||||
| 				case ECode::Using: | ||||
| 				{ | ||||
| 					log_fmt("REPLACE THIS MANUALLY: %S\n", entry->Name); | ||||
| 					CodeUsing   using_ver   = entry.code_cast<CodeUsing>(); | ||||
| 					CodeUsing   using_ver   = cast(CodeUsing, entry); | ||||
| 					CodeTypedef typedef_ver = def_typedef(using_ver->Name, using_ver->UnderlyingType); | ||||
|  | ||||
| 					memory.append(typedef_ver); | ||||
| @@ -144,7 +144,7 @@ int gen_main() | ||||
| 				break; | ||||
| 				case ECode::Function_Fwd: | ||||
| 				{ | ||||
| 					CodeFn fn = entry.code_cast<CodeFn>(); | ||||
| 					CodeFn fn = cast(CodeFn, entry); | ||||
| 					if ( fn->Name.is_equal(txt("free")) ) | ||||
| 					{ | ||||
| 						fn->Name = get_cached_string(txt("gen_free_ptr")); | ||||
| @@ -154,7 +154,7 @@ int gen_main() | ||||
| 				break; | ||||
| 				case ECode::Function: | ||||
| 				{ | ||||
| 					CodeFn fn = entry.code_cast<CodeFn>(); | ||||
| 					CodeFn fn = cast(CodeFn, entry); | ||||
| 					s32 constexpr_found = fn->Specs.remove( ESpecifier::Constexpr ); | ||||
| 					if (constexpr_found > -1) { | ||||
| 						log_fmt("Found constexpr: %S\n", entry->to_string()); | ||||
| @@ -169,7 +169,7 @@ int gen_main() | ||||
| 				break; | ||||
| 				case ECode::Template: | ||||
| 				{ | ||||
| 					CodeTemplate tmpl = entry.code_cast<CodeTemplate>(); | ||||
| 					CodeTemplate tmpl = cast(CodeTemplate, entry); | ||||
| 					if ( tmpl->Declaration->Name.contains(txt("swap"))) | ||||
| 					{ | ||||
| 						CodeBody macro_swap = parse_global_body( txt(R"( | ||||
|   | ||||
| @@ -8,7 +8,7 @@ using SwapContentProc = CodeBody(void); | ||||
| b32 ignore_preprocess_cond_block( StrC cond_sig, Code& entry_iter, CodeBody& body ) | ||||
| { | ||||
| 	b32 found = false; | ||||
| 	CodePreprocessCond cond = entry_iter.code_cast<CodePreprocessCond>(); | ||||
| 	CodePreprocessCond cond = cast(CodePreprocessCond, entry_iter); | ||||
| 	if ( cond->Content.contains(cond_sig) ) | ||||
| 	{ | ||||
| 		log_fmt("Preprocess cond found: %S\n", cond->Content); | ||||
| @@ -44,7 +44,7 @@ b32 ignore_preprocess_cond_block( StrC cond_sig, Code& entry_iter, CodeBody& bod | ||||
| bool swap_pragma_region_implementation( StrC region_name, SwapContentProc* swap_content, Code& entry_iter, CodeBody& body ) | ||||
| { | ||||
| 	bool found = false; | ||||
| 	CodePragma possible_region = entry_iter.code_cast<CodePragma>(); | ||||
| 	CodePragma possible_region = cast(CodePragma, entry_iter); | ||||
|  | ||||
| 	String region_sig    = string_fmt_buf(GlobalAllocator, "region %s",    region_name.Ptr); | ||||
| 	String endregion_sig = string_fmt_buf(GlobalAllocator, "endregion %s", region_name.Ptr); | ||||
| @@ -58,7 +58,7 @@ bool swap_pragma_region_implementation( StrC region_name, SwapContentProc* swap_ | ||||
| 		(entry_iter->Type) { | ||||
| 			case ECode::Preprocess_Pragma: | ||||
| 			{ | ||||
| 				CodePragma possible_end_region = entry_iter.code_cast<CodePragma>(); | ||||
| 				CodePragma possible_end_region = cast(CodePragma, entry_iter); | ||||
| 				if ( possible_end_region->Content.contains(endregion_sig) ) { | ||||
| 					// body.append(possible_end_region); | ||||
| 					continue_for = false; | ||||
|   | ||||
| @@ -1159,12 +1159,12 @@ bool AST::validate_body() | ||||
| #define CheckEntries( Unallowed_Types )                                                               \ | ||||
| 	do                                                                                                \ | ||||
| 	{                                                                                                 \ | ||||
| 		for ( Code entry : code_cast<CodeBody>() )                                                         \ | ||||
| 		for ( Code entry : code_cast<CodeBody>() )                                                    \ | ||||
| 		{                                                                                             \ | ||||
| 			switch ( entry->Type )                                                                    \ | ||||
| 			{                                                                                         \ | ||||
| 				Unallowed_Types                                                                       \ | ||||
| 					log_failure( "AST::validate_body: Invalid entry in body %s", entry.debug_str() ); \ | ||||
| 					log_failure( "AST::validate_body: Invalid entry in body %s", GEN_NS debug_str(entry) );  \ | ||||
| 					return false;                                                                     \ | ||||
| 			}                                                                                         \ | ||||
| 		}                                                                                             \ | ||||
| @@ -1181,7 +1181,7 @@ bool AST::validate_body() | ||||
| 			{ | ||||
| 				if ( entry->Type != Untyped ) | ||||
| 				{ | ||||
| 					log_failure( "AST::validate_body: Invalid entry in enum body (needs to be untyped or comment) %s", entry.debug_str() ); | ||||
| 					log_failure( "AST::validate_body: Invalid entry in enum body (needs to be untyped or comment) %s", GEN_NS debug_str(entry) ); | ||||
| 					return false; | ||||
| 				} | ||||
| 			} | ||||
| @@ -1217,7 +1217,7 @@ bool AST::validate_body() | ||||
| 					case Specifiers: | ||||
| 					case Struct_Body: | ||||
| 					case Typename: | ||||
| 						log_failure("AST::validate_body: Invalid entry in body %s", entry.debug_str()); | ||||
| 						log_failure("AST::validate_body: Invalid entry in body %s", GEN_NS debug_str(entry)); | ||||
| 					return false; | ||||
| 				} | ||||
| 			} | ||||
| @@ -1233,7 +1233,7 @@ bool AST::validate_body() | ||||
| 			{ | ||||
| 				if ( entry->Type != Untyped ) | ||||
| 				{ | ||||
| 					log_failure( "AST::validate_body: Invalid entry in union body (needs to be untyped or comment) %s", entry.debug_str() ); | ||||
| 					log_failure( "AST::validate_body: Invalid entry in union body (needs to be untyped or comment) %s", GEN_NS debug_str(entry) ); | ||||
| 					return false; | ||||
| 				} | ||||
| 			} | ||||
|   | ||||
| @@ -157,9 +157,8 @@ namespace parser | ||||
| 	struct Token; | ||||
| } | ||||
|  | ||||
| template< class Type> forceinline Type tmpl_cast( Code* self ) { return * rcast( Type*, self ); } | ||||
| #if ! GEN_COMPILER_C && 0 | ||||
| template< class Type> forceinline Type tmpl_cast( Code& self ) { return * rcast( Type*, & self ); } | ||||
| #if ! GEN_COMPILER_C | ||||
| template< class Type> forceinline Type tmpl_cast( Code self ) { return * rcast( Type*, & self ); } | ||||
| #endif | ||||
|  | ||||
| char const* debug_str (Code code); | ||||
| @@ -195,16 +194,13 @@ struct Code | ||||
| 	bool        operator !=( Code other ) { return (AST*)ast != other.ast; } \ | ||||
| 	operator bool(); | ||||
|  | ||||
| #if GEN_SUPPORT_CPP_MEMBER_FEATURES || 1 | ||||
| #if GEN_SUPPORT_CPP_MEMBER_FEATURES | ||||
| 	Using_Code( Code ); | ||||
| 	String to_string() { return GEN_NS to_string(* this); } | ||||
| #endif | ||||
|  | ||||
| 	Using_CodeOps( Code ); | ||||
|  | ||||
| 	template< class Type > | ||||
| 	forceinline Type code_cast() { return * rcast( Type*, this ); } | ||||
|  | ||||
| 	AST* operator ->() { return ast; } | ||||
| 	Code& operator ++(); | ||||
|  | ||||
|   | ||||
| @@ -53,7 +53,7 @@ void CodeBody::to_string( String& result ) | ||||
| 	s32  left = ast->NumEntries; | ||||
| 	while ( left -- ) | ||||
| 	{ | ||||
| 		append_fmt( & result, "%S", curr.to_string() ); | ||||
| 		append_fmt( & result, "%S", GEN_NS to_string(curr) ); | ||||
| 		++curr; | ||||
| 	} | ||||
| } | ||||
| @@ -66,7 +66,7 @@ void CodeBody::to_string_export( String& result ) | ||||
| 	s32  left = ast->NumEntries; | ||||
| 	while ( left-- ) | ||||
| 	{ | ||||
| 		append_fmt( & result, "%S", curr.to_string() ); | ||||
| 		append_fmt( & result, "%S", GEN_NS to_string(curr) ); | ||||
| 		++curr; | ||||
| 	} | ||||
|  | ||||
| @@ -110,12 +110,12 @@ void CodeConstructor::to_string_def( String& result ) | ||||
| 		append( & result, "()" ); | ||||
|  | ||||
| 	if ( ast->InitializerList ) | ||||
| 		append_fmt( & result, " : %S", ast->InitializerList.to_string() ); | ||||
| 		append_fmt( & result, " : %S", GEN_NS to_string(ast->InitializerList) ); | ||||
|  | ||||
| 	if ( ast->InlineCmt ) | ||||
| 		append_fmt( & result, " // %S", ast->InlineCmt->Content ); | ||||
|  | ||||
| 	append_fmt( & result, "\n{\n%S\n}\n", ast->Body.to_string() ); | ||||
| 	append_fmt( & result, "\n{\n%S\n}\n", GEN_NS to_string(ast->Body) ); | ||||
| } | ||||
|  | ||||
| void CodeConstructor::to_string_fwd( String& result ) | ||||
| @@ -134,7 +134,7 @@ void CodeConstructor::to_string_fwd( String& result ) | ||||
| 		append_fmt( & result, "()"); | ||||
|  | ||||
| 	if (ast->Body) | ||||
| 		append_fmt( & result, " = %S", ast->Body.to_string() ); | ||||
| 		append_fmt( & result, " = %S", GEN_NS to_string(ast->Body) ); | ||||
|  | ||||
| 	if ( ast->InlineCmt ) | ||||
| 		append_fmt( & result, "; // %S\n", ast->InlineCmt->Content ); | ||||
| @@ -264,7 +264,7 @@ void CodeDestructor::to_string_def( String& result ) | ||||
| 	else | ||||
| 		append_fmt( & result, "~%S()", ast->Parent->Name ); | ||||
|  | ||||
| 	append_fmt( & result, "\n{\n%S\n}\n", ast->Body.to_string() ); | ||||
| 	append_fmt( & result, "\n{\n%S\n}\n", GEN_NS to_string(ast->Body) ); | ||||
| } | ||||
|  | ||||
| void CodeDestructor::to_string_fwd( String& result ) | ||||
| @@ -279,7 +279,7 @@ void CodeDestructor::to_string_fwd( String& result ) | ||||
| 		if ( ast->Specs.has( ESpecifier::Pure ) ) | ||||
| 			append( & result, " = 0;" ); | ||||
| 		else if (ast->Body) | ||||
| 			append_fmt( & result, " = %S;", ast->Body.to_string() ); | ||||
| 			append_fmt( & result, " = %S;", GEN_NS to_string(ast->Body) ); | ||||
| 	} | ||||
| 	else | ||||
| 		append_fmt( & result, "~%S();", ast->Parent->Name ); | ||||
| @@ -333,7 +333,7 @@ void CodeEnum::to_string_def( String& result ) | ||||
| 		else if ( ast->UnderlyingTypeMacro ) | ||||
| 			append_fmt( & result, "%S : %S\n{\n%S\n}" | ||||
| 				, ast->Name | ||||
| 				, ast->UnderlyingTypeMacro.to_string() | ||||
| 				, GEN_NS to_string(ast->UnderlyingTypeMacro) | ||||
| 				, ast->Body.to_string() | ||||
| 			); | ||||
|  | ||||
| @@ -872,11 +872,11 @@ void CodeParam::to_string( String& result ) | ||||
|  | ||||
| 	if ( ast->PostNameMacro ) | ||||
| 	{ | ||||
| 		append_fmt( & result, " %S", ast->PostNameMacro.to_string() ); | ||||
| 		append_fmt( & result, " %S", GEN_NS to_string(ast->PostNameMacro) ); | ||||
| 	} | ||||
|  | ||||
| 	if ( ast->Value ) | ||||
| 		append_fmt( & result, " = %S", ast->Value.to_string() ); | ||||
| 		append_fmt( & result, " = %S", GEN_NS to_string(ast->Value) ); | ||||
|  | ||||
| 	if ( ast->NumEntries - 1 > 0 ) | ||||
| 	{ | ||||
| @@ -1068,9 +1068,9 @@ void CodeTemplate::to_string( String& result ) | ||||
| 		append( & result, "export " ); | ||||
|  | ||||
| 	if ( ast->Params ) | ||||
| 		append_fmt( & result, "template< %S >\n%S", ast->Params.to_string(), ast->Declaration.to_string() ); | ||||
| 		append_fmt( & result, "template< %S >\n%S", GEN_NS to_string(ast->Params), GEN_NS to_string(ast->Declaration) ); | ||||
| 	else | ||||
| 		append_fmt( & result, "template<>\n%S", ast->Declaration.to_string() ); | ||||
| 		append_fmt( & result, "template<>\n%S", GEN_NS to_string(ast->Declaration) ); | ||||
| } | ||||
|  | ||||
| String CodeTypedef::to_string() | ||||
| @@ -1089,9 +1089,9 @@ void CodeTypedef::to_string( String& result ) | ||||
|  | ||||
| 	// Determines if the typedef is a function typename | ||||
| 	if ( ast->UnderlyingType->ReturnType ) | ||||
| 		append( & result, ast->UnderlyingType.to_string() ); | ||||
| 		append( & result, GEN_NS to_string(ast->UnderlyingType) ); | ||||
| 	else | ||||
| 		append_fmt( & result, "%S %S", ast->UnderlyingType.to_string(), ast->Name ); | ||||
| 		append_fmt( & result, "%S %S", GEN_NS to_string(ast->UnderlyingType), ast->Name ); | ||||
|  | ||||
| 	if ( ast->UnderlyingType->Type == ECode::Typename && ast->UnderlyingType->ArrExpr ) | ||||
| 	{ | ||||
| @@ -1234,7 +1234,7 @@ void CodeUsing::to_string( String& result ) | ||||
|  | ||||
| 		if ( ast->UnderlyingType->ArrExpr ) | ||||
| 		{ | ||||
| 			append_fmt( & result, "[ %S ]", ast->UnderlyingType->ArrExpr.to_string() ); | ||||
| 			append_fmt( & result, "[ %S ]", GEN_NS to_string(ast->UnderlyingType->ArrExpr) ); | ||||
|  | ||||
| 			AST* next_arr_expr = ast->UnderlyingType->ArrExpr->Next; | ||||
| 			while ( next_arr_expr ) | ||||
| @@ -1283,7 +1283,7 @@ void CodeVar::to_string( String& result ) | ||||
|  | ||||
| 		if ( ast->ValueType->ArrExpr ) | ||||
| 		{ | ||||
| 			append_fmt( & result, "[ %S ]", ast->ValueType->ArrExpr.to_string() ); | ||||
| 			append_fmt( & result, "[ %S ]", GEN_NS to_string(ast->ValueType->ArrExpr) ); | ||||
|  | ||||
| 			AST* next_arr_expr = ast->ValueType->ArrExpr->Next; | ||||
| 			while ( next_arr_expr ) | ||||
| @@ -1296,9 +1296,9 @@ void CodeVar::to_string( String& result ) | ||||
| 		if ( ast->Value ) | ||||
| 		{ | ||||
| 			if ( ast->VarConstructorInit ) | ||||
| 				append_fmt( & result, "( %S ", ast->Value.to_string() ); | ||||
| 				append_fmt( & result, "( %S ", GEN_NS to_string(ast->Value) ); | ||||
| 			else | ||||
| 				append_fmt( & result, " = %S", ast->Value.to_string() ); | ||||
| 				append_fmt( & result, " = %S", GEN_NS to_string(ast->Value) ); | ||||
| 		} | ||||
|  | ||||
| 		// Keep the chain going... | ||||
| @@ -1326,7 +1326,7 @@ void CodeVar::to_string( String& result ) | ||||
|  | ||||
| 		if ( ast->ValueType->ArrExpr ) | ||||
| 		{ | ||||
| 			append_fmt( & result, "[ %S ]", ast->ValueType->ArrExpr.to_string() ); | ||||
| 			append_fmt( & result, "[ %S ]", GEN_NS to_string(ast->ValueType->ArrExpr) ); | ||||
|  | ||||
| 			AST* next_arr_expr = ast->ValueType->ArrExpr->Next; | ||||
| 			while ( next_arr_expr ) | ||||
| @@ -1337,14 +1337,14 @@ void CodeVar::to_string( String& result ) | ||||
| 		} | ||||
|  | ||||
| 		if ( ast->BitfieldSize ) | ||||
| 			append_fmt( & result, " : %S", ast->BitfieldSize.to_string() ); | ||||
| 			append_fmt( & result, " : %S", GEN_NS to_string(ast->BitfieldSize) ); | ||||
|  | ||||
| 		if ( ast->Value ) | ||||
| 		{ | ||||
| 			if ( ast->VarConstructorInit ) | ||||
| 				append_fmt( & result, "( %S ", ast->Value.to_string() ); | ||||
| 				append_fmt( & result, "( %S ", GEN_NS to_string(ast->Value) ); | ||||
| 			else | ||||
| 				append_fmt( & result, " = %S", ast->Value.to_string() ); | ||||
| 				append_fmt( & result, " = %S", GEN_NS to_string(ast->Value) ); | ||||
| 		} | ||||
|  | ||||
| 		if ( ast->NextVar ) | ||||
| @@ -1362,11 +1362,11 @@ void CodeVar::to_string( String& result ) | ||||
| 	} | ||||
|  | ||||
| 	if ( ast->BitfieldSize ) | ||||
| 		append_fmt( & result, "%S %S : %S", ast->ValueType.to_string(), ast->Name, ast->BitfieldSize.to_string() ); | ||||
| 		append_fmt( & result, "%S %S : %S", ast->ValueType.to_string(), ast->Name, GEN_NS to_string(ast->BitfieldSize) ); | ||||
|  | ||||
| 	else if ( ast->ValueType->ArrExpr ) | ||||
| 	{ | ||||
| 		append_fmt( & result, "%S %S[ %S ]", ast->ValueType.to_string(), ast->Name, ast->ValueType->ArrExpr.to_string() ); | ||||
| 		append_fmt( & result, "%S %S[ %S ]", ast->ValueType.to_string(), ast->Name, GEN_NS to_string(ast->ValueType->ArrExpr) ); | ||||
|  | ||||
| 		AST* next_arr_expr = ast->ValueType->ArrExpr->Next; | ||||
| 		while ( next_arr_expr ) | ||||
| @@ -1382,9 +1382,9 @@ void CodeVar::to_string( String& result ) | ||||
| 	if ( ast->Value ) | ||||
| 	{ | ||||
| 		if ( ast->VarConstructorInit ) | ||||
| 			append_fmt( & result, "( %S ", ast->Value.to_string() ); | ||||
| 			append_fmt( & result, "( %S ", GEN_NS to_string(ast->Value) ); | ||||
| 		else | ||||
| 			append_fmt( & result, " = %S", ast->Value.to_string() ); | ||||
| 			append_fmt( & result, " = %S", GEN_NS to_string(ast->Value) ); | ||||
| 	} | ||||
|  | ||||
| 	if ( ast->NextVar ) | ||||
|   | ||||
| @@ -17,8 +17,8 @@ struct CodeBody | ||||
| 	{ | ||||
| 		GEN_ASSERT(other.ast != nullptr); | ||||
|  | ||||
| 		if (other.is_body()) { | ||||
| 			append( cast(CodeBody, & other) ); | ||||
| 		if (GEN_NS is_body(other)) { | ||||
| 			append( cast(CodeBody, other) ); | ||||
| 		} | ||||
|  | ||||
| 		GEN_NS append( raw(), other.ast ); | ||||
|   | ||||
| @@ -79,69 +79,69 @@ void define_constants() | ||||
| 	scast(String, Code_Global->Content) = Code_Global->Name; | ||||
|  | ||||
| 	Code_Invalid = make_code(); | ||||
| 	Code_Invalid.set_global(); | ||||
| 	set_global(Code_Invalid); | ||||
|  | ||||
| 	t_empty       = (CodeType) make_code(); | ||||
| 	t_empty->Type = ECode::Typename; | ||||
| 	t_empty->Name = get_cached_string( txt("") ); | ||||
| 	t_empty.set_global(); | ||||
| 	set_global(t_empty); | ||||
|  | ||||
| 	access_private       = make_code(); | ||||
| 	access_private->Type = ECode::Access_Private; | ||||
| 	access_private->Name = get_cached_string( txt("private:\n") ); | ||||
| 	access_private.set_global(); | ||||
| 	set_global(access_private); | ||||
|  | ||||
| 	access_protected       = make_code(); | ||||
| 	access_protected->Type = ECode::Access_Protected; | ||||
| 	access_protected->Name = get_cached_string( txt("protected:\n") ); | ||||
| 	access_protected.set_global(); | ||||
| 	set_global(access_protected); | ||||
|  | ||||
| 	access_public       = make_code(); | ||||
| 	access_public->Type = ECode::Access_Public; | ||||
| 	access_public->Name = get_cached_string( txt("public:\n") ); | ||||
| 	access_public.set_global(); | ||||
| 	set_global(access_public); | ||||
|  | ||||
| 	attrib_api_export = def_attributes( code(GEN_API_Export_Code)); | ||||
| 	attrib_api_export.set_global(); | ||||
| 	set_global(attrib_api_export); | ||||
|  | ||||
| 	attrib_api_import = def_attributes( code(GEN_API_Import_Code)); | ||||
| 	attrib_api_import.set_global(); | ||||
| 	set_global(attrib_api_import); | ||||
|  | ||||
| 	module_global_fragment          = make_code(); | ||||
| 	module_global_fragment->Type    = ECode::Untyped; | ||||
| 	module_global_fragment->Name    = get_cached_string( txt("module;") ); | ||||
| 	module_global_fragment->Content = module_global_fragment->Name; | ||||
| 	module_global_fragment.set_global(); | ||||
| 	set_global(module_global_fragment); | ||||
|  | ||||
| 	module_private_fragment          = make_code(); | ||||
| 	module_private_fragment->Type    = ECode::Untyped; | ||||
| 	module_private_fragment->Name    = get_cached_string( txt("module : private;") ); | ||||
| 	module_private_fragment->Content = module_private_fragment->Name; | ||||
| 	module_private_fragment.set_global(); | ||||
| 	set_global(module_private_fragment); | ||||
|  | ||||
| 	fmt_newline = make_code(); | ||||
| 	fmt_newline->Type = ECode::NewLine; | ||||
| 	fmt_newline.set_global(); | ||||
| 	set_global(fmt_newline); | ||||
|  | ||||
| 	pragma_once          = (CodePragma) make_code(); | ||||
| 	pragma_once->Type    = ECode::Preprocess_Pragma; | ||||
| 	pragma_once->Name    = get_cached_string( txt("once") ); | ||||
| 	pragma_once->Content = pragma_once->Name; | ||||
| 	pragma_once.set_global(); | ||||
| 	set_global(pragma_once); | ||||
|  | ||||
| 	param_varadic            = (CodeType) make_code(); | ||||
| 	param_varadic->Type      = ECode::Parameters; | ||||
| 	param_varadic->Name      = get_cached_string( txt("...") ); | ||||
| 	param_varadic->ValueType = t_empty; | ||||
| 	param_varadic.set_global(); | ||||
| 	set_global(param_varadic); | ||||
|  | ||||
| 	preprocess_else = (CodePreprocessCond) make_code(); | ||||
| 	preprocess_else->Type = ECode::Preprocess_Else; | ||||
| 	preprocess_else.set_global(); | ||||
| 	set_global(preprocess_else); | ||||
|  | ||||
| 	preprocess_endif = (CodePreprocessCond) make_code(); | ||||
| 	preprocess_endif->Type = ECode::Preprocess_EndIf; | ||||
| 	preprocess_endif.set_global(); | ||||
| 	set_global(preprocess_endif); | ||||
|  | ||||
| #	define def_constant_code_type( Type_ )   \ | ||||
| 		t_##Type_ = def_type( name(Type_) ); \ | ||||
|   | ||||
| @@ -527,7 +527,7 @@ CodeConstructor def_constructor( CodeParam params, Code initializer_list, Code b | ||||
| 			break; | ||||
|  | ||||
| 			default: | ||||
| 				log_failure("gen::def_constructor: body must be either of Function_Body or Untyped type - %s", body.debug_str()); | ||||
| 				log_failure("gen::def_constructor: body must be either of Function_Body or Untyped type - %s", debug_str(body)); | ||||
| 				return InvalidCode; | ||||
| 		} | ||||
|  | ||||
| @@ -579,7 +579,7 @@ CodeClass def_class( StrC name | ||||
| 			break; | ||||
|  | ||||
| 			default: | ||||
| 				log_failure("gen::def_class: body must be either of Class_Body or Untyped type - %s", body.debug_str()); | ||||
| 				log_failure("gen::def_class: body must be either of Class_Body or Untyped type - %s", debug_str(body)); | ||||
| 				return InvalidCode; | ||||
| 		} | ||||
|  | ||||
| @@ -665,7 +665,7 @@ CodeDestructor def_destructor( Code body, CodeSpecifiers specifiers ) | ||||
| 			break; | ||||
|  | ||||
| 			default: | ||||
| 				log_failure("gen::def_destructor: body must be either of Function_Body or Untyped type - %s", body.debug_str()); | ||||
| 				log_failure("gen::def_destructor: body must be either of Function_Body or Untyped type - %s", debug_str(body)); | ||||
| 				return InvalidCode; | ||||
| 		} | ||||
|  | ||||
| @@ -715,7 +715,7 @@ CodeEnum def_enum( StrC name | ||||
| 			break; | ||||
|  | ||||
| 			default: | ||||
| 				log_failure( "gen::def_enum: body must be of Enum_Body or Untyped type %s", body.debug_str()); | ||||
| 				log_failure( "gen::def_enum: body must be of Enum_Body or Untyped type %s", debug_str(body)); | ||||
| 				return InvalidCode; | ||||
| 		} | ||||
|  | ||||
| @@ -944,7 +944,7 @@ CodeNS def_namespace( StrC name, Code body, ModuleFlag mflags ) | ||||
|  | ||||
| 	if ( body->Type != Namespace_Body && body->Type != Untyped ) | ||||
| 	{ | ||||
| 		log_failure("gen::def_namespace: body is not of namespace or untyped type %s", body.debug_str()); | ||||
| 		log_failure("gen::def_namespace: body is not of namespace or untyped type %s", debug_str(body)); | ||||
| 		return InvalidCode; | ||||
| 	} | ||||
|  | ||||
| @@ -1057,7 +1057,7 @@ CodeOpCast def_operator_cast( CodeType type, Code body, CodeSpecifiers const_spe | ||||
|  | ||||
| 		if ( body->Type != Function_Body && body->Type != Execution ) | ||||
| 		{ | ||||
| 			log_failure( "gen::def_operator_cast: body is not of function body or execution type - %s", body.debug_str() ); | ||||
| 			log_failure( "gen::def_operator_cast: body is not of function body or execution type - %s", debug_str(body) ); | ||||
| 			return InvalidCode; | ||||
| 		} | ||||
|  | ||||
| @@ -1086,13 +1086,13 @@ CodeParam def_param( CodeType type, StrC name, Code value ) | ||||
|  | ||||
| 	if ( type->Type != Typename ) | ||||
| 	{ | ||||
| 		log_failure( "gen::def_param: type is not a typename - %s", type.debug_str() ); | ||||
| 		log_failure( "gen::def_param: type is not a typename - %s", debug_str(type) ); | ||||
| 		return InvalidCode; | ||||
| 	} | ||||
|  | ||||
| 	if ( value && value->Type != Untyped ) | ||||
| 	{ | ||||
| 		log_failure( "gen::def_param: value is not untyped - %s", value.debug_str() ); | ||||
| 		log_failure( "gen::def_param: value is not untyped - %s", debug_str(value) ); | ||||
| 		return InvalidCode; | ||||
| 	} | ||||
|  | ||||
| @@ -1189,13 +1189,13 @@ CodeStruct def_struct( StrC name | ||||
|  | ||||
| 	if ( parent && parent->Type != Typename ) | ||||
| 	{ | ||||
| 		log_failure( "gen::def_struct: parent was not a `Struct` type - %s", parent.debug_str() ); | ||||
| 		log_failure( "gen::def_struct: parent was not a `Struct` type - %s", debug_str(parent) ); | ||||
| 		return InvalidCode; | ||||
| 	} | ||||
|  | ||||
| 	if ( body && body->Type != Struct_Body ) | ||||
| 	{ | ||||
| 		log_failure( "gen::def_struct: body was not a Struct_Body type - %s", body.debug_str() ); | ||||
| 		log_failure( "gen::def_struct: body was not a Struct_Body type - %s", debug_str(body) ); | ||||
| 		return InvalidCode; | ||||
| 	} | ||||
|  | ||||
| @@ -1256,7 +1256,7 @@ CodeTemplate def_template( CodeParam params, Code declaration, ModuleFlag mflags | ||||
| 		break; | ||||
|  | ||||
| 		default: | ||||
| 			log_failure( "gen::def_template: declaration is not of class, function, struct, variable, or using type - %s", declaration.debug_str() ); | ||||
| 			log_failure( "gen::def_template: declaration is not of class, function, struct, variable, or using type - %s", debug_str(declaration) ); | ||||
| 	} | ||||
|  | ||||
| 	CodeTemplate | ||||
| @@ -1329,13 +1329,13 @@ CodeTypedef def_typedef( StrC name, Code type, CodeAttributes attributes, Module | ||||
| 		case Typename: | ||||
| 			break; | ||||
| 		default: | ||||
| 			log_failure( "gen::def_typedef: type was not a Class, Enum, Function Forward, Struct, Typename, or Union - %s", type.debug_str() ); | ||||
| 			log_failure( "gen::def_typedef: type was not a Class, Enum, Function Forward, Struct, Typename, or Union - %s", debug_str(type) ); | ||||
| 			return InvalidCode; | ||||
| 	} | ||||
|  | ||||
| 	if ( attributes && attributes->Type != ECode::PlatformAttributes ) | ||||
| 	{ | ||||
| 		log_failure( "gen::def_typedef: attributes was not a PlatformAttributes - %s", attributes.debug_str() ); | ||||
| 		log_failure( "gen::def_typedef: attributes was not a PlatformAttributes - %s", debug_str(attributes) ); | ||||
| 		return InvalidCode; | ||||
| 	} | ||||
|  | ||||
| @@ -1359,7 +1359,7 @@ CodeTypedef def_typedef( StrC name, Code type, CodeAttributes attributes, Module | ||||
| 	{ | ||||
| 		if (type->Type != Untyped) | ||||
| 		{ | ||||
| 			log_failure( "gen::def_typedef: name was empty and type was not untyped (indicating its a function typedef) - %s", type.debug_str() ); | ||||
| 			log_failure( "gen::def_typedef: name was empty and type was not untyped (indicating its a function typedef) - %s", debug_str(type) ); | ||||
| 			return InvalidCode; | ||||
| 		} | ||||
|  | ||||
| @@ -1381,7 +1381,7 @@ CodeUnion def_union( StrC name, Code body, CodeAttributes attributes, ModuleFlag | ||||
|  | ||||
| 	if ( body->Type != ECode::Union_Body ) | ||||
| 	{ | ||||
| 		log_failure( "gen::def_union: body was not a Union_Body type - %s", body.debug_str() ); | ||||
| 		log_failure( "gen::def_union: body was not a Union_Body type - %s", debug_str(body) ); | ||||
| 		return InvalidCode; | ||||
| 	} | ||||
|  | ||||
| @@ -1482,7 +1482,7 @@ CodeVar def_variable( CodeType type, StrC name, Code value | ||||
|  | ||||
| 	if ( value && value->Type != ECode::Untyped ) | ||||
| 	{ | ||||
| 		log_failure( "gen::def_variable: value was not a `Untyped` type - %s", value.debug_str() ); | ||||
| 		log_failure( "gen::def_variable: value was not a `Untyped` type - %s", debug_str(value) ); | ||||
| 		return InvalidCode; | ||||
| 	} | ||||
|  | ||||
| @@ -1558,7 +1558,7 @@ CodeBody def_class_body( s32 num, ... ) | ||||
| 		switch (entry->Type) | ||||
| 		{ | ||||
| 			GEN_AST_BODY_CLASS_UNALLOWED_TYPES | ||||
| 				log_failure("gen::" "def_class_body" ": Entry type is not allowed: %s", entry.debug_str()); | ||||
| 				log_failure("gen::" "def_class_body" ": Entry type is not allowed: %s", debug_str(entry)); | ||||
| 				return InvalidCode; | ||||
|  | ||||
| 			default: | ||||
| @@ -1595,7 +1595,7 @@ CodeBody def_class_body( s32 num, Code* codes ) | ||||
| 		switch (entry->Type) | ||||
| 		{ | ||||
| 			GEN_AST_BODY_CLASS_UNALLOWED_TYPES | ||||
| 				log_failure("gen::" "def_class_body" ": Entry type is not allowed: %s", entry.debug_str()); | ||||
| 				log_failure("gen::" "def_class_body" ": Entry type is not allowed: %s", debug_str(entry)); | ||||
| 				return InvalidCode; | ||||
|  | ||||
| 			default: | ||||
| @@ -1632,7 +1632,7 @@ CodeBody def_enum_body( s32 num, ... ) | ||||
|  | ||||
| 		if ( entry->Type != Untyped && entry->Type != Comment ) | ||||
| 		{ | ||||
| 			log_failure("gen::def_enum_body: Entry type is not allowed - %s. Must be of untyped or comment type.", entry.debug_str() ); | ||||
| 			log_failure("gen::def_enum_body: Entry type is not allowed - %s. Must be of untyped or comment type.", debug_str(entry) ); | ||||
| 			return InvalidCode; | ||||
| 		} | ||||
|  | ||||
| @@ -1664,7 +1664,7 @@ CodeBody def_enum_body( s32 num, Code* codes ) | ||||
|  | ||||
| 		if ( entry->Type != Untyped && entry->Type != Comment ) | ||||
| 		{ | ||||
| 			log_failure("gen::def_enum_body: Entry type is not allowed: %s", entry.debug_str() ); | ||||
| 			log_failure("gen::def_enum_body: Entry type is not allowed: %s", debug_str(entry) ); | ||||
| 			return InvalidCode; | ||||
| 		} | ||||
|  | ||||
| @@ -1699,7 +1699,7 @@ CodeBody def_export_body( s32 num, ... ) | ||||
| 		switch (entry->Type) | ||||
| 		{ | ||||
| 			GEN_AST_BODY_EXPORT_UNALLOWED_TYPES | ||||
| 				log_failure("gen::" "def_export_body" ": Entry type is not allowed: %s", entry.debug_str()); | ||||
| 				log_failure("gen::" "def_export_body" ": Entry type is not allowed: %s", debug_str(entry)); | ||||
| 				return InvalidCode; | ||||
|  | ||||
| 			default: | ||||
| @@ -1736,7 +1736,7 @@ CodeBody def_export_body( s32 num, Code* codes ) | ||||
| 		switch (entry->Type) | ||||
| 		{ | ||||
| 			GEN_AST_BODY_EXPORT_UNALLOWED_TYPES | ||||
| 				log_failure("gen::" "def_export_body" ": Entry type is not allowed: %s", entry.debug_str()); | ||||
| 				log_failure("gen::" "def_export_body" ": Entry type is not allowed: %s", debug_str(entry)); | ||||
| 				return InvalidCode; | ||||
|  | ||||
| 			default: | ||||
| @@ -1774,7 +1774,7 @@ CodeBody def_extern_link_body( s32 num, ... ) | ||||
| 		switch (entry->Type) | ||||
| 		{ | ||||
| 			GEN_AST_BODY_EXTERN_LINKAGE_UNALLOWED_TYPES | ||||
| 				log_failure("gen::" "def_extern_linkage_body" ": Entry type is not allowed: %s", entry.debug_str()); | ||||
| 				log_failure("gen::" "def_extern_linkage_body" ": Entry type is not allowed: %s", debug_str(entry)); | ||||
| 				return InvalidCode; | ||||
|  | ||||
| 			default: | ||||
| @@ -1811,7 +1811,7 @@ CodeBody def_extern_link_body( s32 num, Code* codes ) | ||||
| 		switch (entry->Type) | ||||
| 		{ | ||||
| 			GEN_AST_BODY_EXTERN_LINKAGE_UNALLOWED_TYPES | ||||
| 				log_failure("gen::" "def_extern_linkage_body" ": Entry type is not allowed: %s", entry.debug_str()); | ||||
| 				log_failure("gen::" "def_extern_linkage_body" ": Entry type is not allowed: %s", debug_str(entry)); | ||||
| 				return InvalidCode; | ||||
|  | ||||
| 			default: | ||||
| @@ -1851,7 +1851,7 @@ CodeBody def_function_body( s32 num, ... ) | ||||
| 		{ | ||||
|  | ||||
| 			GEN_AST_BODY_FUNCTION_UNALLOWED_TYPES | ||||
| 				log_failure("gen::" stringize(def_function_body) ": Entry type is not allowed: %s", entry.debug_str()); | ||||
| 				log_failure("gen::" stringize(def_function_body) ": Entry type is not allowed: %s", debug_str(entry)); | ||||
| 				return InvalidCode; | ||||
|  | ||||
| 			default: | ||||
| @@ -1888,7 +1888,7 @@ CodeBody def_function_body( s32 num, Code* codes ) | ||||
| 		switch (entry->Type) | ||||
| 		{ | ||||
| 			GEN_AST_BODY_FUNCTION_UNALLOWED_TYPES | ||||
| 				log_failure("gen::" "def_function_body" ": Entry type is not allowed: %s", entry.debug_str()); | ||||
| 				log_failure("gen::" "def_function_body" ": Entry type is not allowed: %s", debug_str(entry)); | ||||
| 				return InvalidCode; | ||||
|  | ||||
| 			default: | ||||
| @@ -1925,11 +1925,12 @@ CodeBody def_global_body( s32 num, ... ) | ||||
| 		switch (entry->Type) | ||||
| 		{ | ||||
| 			case Global_Body: | ||||
| 				result.append( entry.code_cast<CodeBody>() ) ; | ||||
| 				// result.append( entry.code_cast<CodeBody>() ) ; | ||||
| 				result.append( cast(CodeBody, entry) ) ; | ||||
| 				continue; | ||||
|  | ||||
| 			GEN_AST_BODY_GLOBAL_UNALLOWED_TYPES | ||||
| 				log_failure("gen::" "def_global_body" ": Entry type is not allowed: %s", entry.debug_str()); | ||||
| 				log_failure("gen::" "def_global_body" ": Entry type is not allowed: %s", debug_str(entry)); | ||||
| 				return InvalidCode; | ||||
|  | ||||
| 			default: | ||||
| @@ -1966,11 +1967,11 @@ CodeBody def_global_body( s32 num, Code* codes ) | ||||
| 		switch (entry->Type) | ||||
| 		{ | ||||
| 			case Global_Body: | ||||
| 				result.append( entry.code_cast<CodeBody>() ) ; | ||||
| 				result.append( cast(CodeBody, entry) ); | ||||
| 				continue; | ||||
|  | ||||
| 			GEN_AST_BODY_GLOBAL_UNALLOWED_TYPES | ||||
| 				log_failure("gen::" "def_global_body" ": Entry type is not allowed: %s", entry.debug_str()); | ||||
| 				log_failure("gen::" "def_global_body" ": Entry type is not allowed: %s", debug_str(entry)); | ||||
| 				return InvalidCode; | ||||
|  | ||||
| 			default: | ||||
| @@ -2008,7 +2009,7 @@ CodeBody def_namespace_body( s32 num, ... ) | ||||
| 		switch (entry->Type) | ||||
| 		{ | ||||
| 			GEN_AST_BODY_NAMESPACE_UNALLOWED_TYPES | ||||
| 				log_failure("gen::" "def_namespace_body" ": Entry type is not allowed: %s", entry.debug_str()); | ||||
| 				log_failure("gen::" "def_namespace_body" ": Entry type is not allowed: %s", debug_str(entry)); | ||||
| 				return InvalidCode; | ||||
|  | ||||
| 			default: | ||||
| @@ -2045,7 +2046,7 @@ CodeBody def_namespace_body( s32 num, Code* codes ) | ||||
| 		switch (entry->Type) | ||||
| 		{ | ||||
| 			GEN_AST_BODY_NAMESPACE_UNALLOWED_TYPES | ||||
| 				log_failure("gen::" "def_namespace_body" ": Entry type is not allowed: %s", entry.debug_str() ); | ||||
| 				log_failure("gen::" "def_namespace_body" ": Entry type is not allowed: %s", debug_str(entry) ); | ||||
| 				return InvalidCode; | ||||
|  | ||||
| 			default: break; | ||||
| @@ -2217,7 +2218,7 @@ CodeBody def_struct_body( s32 num, ... ) | ||||
| 		switch (entry->Type) | ||||
| 		{ | ||||
| 			GEN_AST_BODY_STRUCT_UNALLOWED_TYPES | ||||
| 				log_failure("gen::" "def_struct_body" ": Entry type is not allowed: %s", entry.debug_str()); | ||||
| 				log_failure("gen::" "def_struct_body" ": Entry type is not allowed: %s", debug_str(entry)); | ||||
| 				return InvalidCode; | ||||
|  | ||||
| 			default: | ||||
| @@ -2254,7 +2255,7 @@ CodeBody def_struct_body( s32 num, Code* codes ) | ||||
| 		switch (entry->Type) | ||||
| 		{ | ||||
| 			GEN_AST_BODY_STRUCT_UNALLOWED_TYPES | ||||
| 				log_failure("gen::" "def_struct_body" ": Entry type is not allowed: %s", entry.debug_str() ); | ||||
| 				log_failure("gen::" "def_struct_body" ": Entry type is not allowed: %s", debug_str(entry) ); | ||||
| 				return InvalidCode; | ||||
|  | ||||
| 			default: | ||||
| @@ -2291,7 +2292,7 @@ CodeBody def_union_body( s32 num, ... ) | ||||
|  | ||||
| 		if ( entry->Type != Untyped && entry->Type != Comment ) | ||||
| 		{ | ||||
| 			log_failure("gen::def_union_body: Entry type is not allowed - %s. Must be of untyped or comment type.", entry.debug_str() ); | ||||
| 			log_failure("gen::def_union_body: Entry type is not allowed - %s. Must be of untyped or comment type.", debug_str(entry) ); | ||||
| 			return InvalidCode; | ||||
| 		} | ||||
|  | ||||
| @@ -2323,7 +2324,7 @@ CodeBody def_union_body( s32 num, CodeUnion* codes ) | ||||
|  | ||||
| 		if ( entry->Type != Untyped && entry->Type != Comment ) | ||||
| 		{ | ||||
| 			log_failure("gen::def_union_body: Entry type is not allowed: %s", entry.debug_str() ); | ||||
| 			log_failure("gen::def_union_body: Entry type is not allowed: %s", debug_str(entry) ); | ||||
| 			return InvalidCode; | ||||
| 		} | ||||
|  | ||||
|   | ||||
| @@ -5067,7 +5067,7 @@ CodeTypedef parse_typedef() | ||||
| 	// Type needs to be aware of its parent so that it can be serialized properly. | ||||
|  | ||||
| 	if ( type->Type == Typename && array_expr && array_expr->Type != Invalid ) | ||||
| 		type.code_cast<CodeType>()->ArrExpr = array_expr; | ||||
| 		cast(CodeType, type)->ArrExpr = array_expr; | ||||
|  | ||||
| 	if ( inline_cmt ) | ||||
| 		result->InlineCmt = inline_cmt; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user