mirror of
				https://github.com/Ed94/gencpp.git
				synced 2025-10-31 15:00:53 -07:00 
			
		
		
		
	Upfront constructors work again (test case wise)
Doing parsing set next
This commit is contained in:
		| @@ -1974,9 +1974,10 @@ namespace gen | ||||
| 						result.append_fmt( "%s ", Attributes->to_string() ); | ||||
|  | ||||
| 					if ( UnderlyingType ) | ||||
| 						result.append_fmt( "%s : %s\n{\n" | ||||
| 						result.append_fmt( "%s : %s\n{\n%s\n};" | ||||
| 							, Name | ||||
| 							, UnderlyingType->to_string() | ||||
| 							, Body->to_string() | ||||
| 						); | ||||
|  | ||||
| 					else result.append_fmt( "%s\n{\n%s\n};" | ||||
| @@ -2025,7 +2026,7 @@ namespace gen | ||||
| 					} | ||||
| 					else | ||||
| 					{ | ||||
| 						result.append_fmt( "%s\n{\n$s\n};" | ||||
| 						result.append_fmt( "%s\n{\n%s\n};" | ||||
| 							, Name | ||||
| 							, Body->to_string() | ||||
| 						); | ||||
| @@ -2077,7 +2078,7 @@ namespace gen | ||||
| 			break; | ||||
|  | ||||
| 			case Friend: | ||||
| 				result.append_fmt( "friend %s;", Declaration->to_string() ); | ||||
| 				result.append_fmt( "friend %s", Declaration->to_string() ); | ||||
| 			break; | ||||
|  | ||||
| 			case Function: | ||||
| @@ -2091,7 +2092,7 @@ namespace gen | ||||
| 					result.append_fmt( "%s\n", Specs->to_string() ); | ||||
|  | ||||
| 				if ( ReturnType ) | ||||
| 					result.append_fmt( "%s %s", ReturnType->to_string(), Name ); | ||||
| 					result.append_fmt( "%s %s(", ReturnType->to_string(), Name ); | ||||
|  | ||||
| 				else | ||||
| 					result.append_fmt( "%s(", Name ); | ||||
| @@ -2414,7 +2415,9 @@ namespace gen | ||||
| 						result.append_fmt( "[%s]", ValueType->ArrExpr->to_string() ); | ||||
|  | ||||
| 					if ( Value ) | ||||
| 						result.append_fmt( " = %s;", Value->to_string() ); | ||||
| 						result.append_fmt( " = %s", Value->to_string() ); | ||||
|  | ||||
| 					result.append( ";" ); | ||||
|  | ||||
| 					break; | ||||
| 				} | ||||
| @@ -3737,7 +3740,7 @@ namespace gen | ||||
|  | ||||
| 		result->NumEntries++; | ||||
|  | ||||
| 		return (CodeParam) result; | ||||
| 		return result; | ||||
| 	} | ||||
|  | ||||
| 	CodeSpecifier def_specifier( SpecifierT spec ) | ||||
| @@ -3802,7 +3805,7 @@ namespace gen | ||||
| 			result->ParentType   = parent; | ||||
| 		} | ||||
|  | ||||
| 		return (CodeStruct) result; | ||||
| 		return result; | ||||
| 	} | ||||
|  | ||||
| 	CodeTemplate def_template( CodeParam params, Code declaration, ModuleFlag mflags ) | ||||
| @@ -3835,7 +3838,7 @@ namespace gen | ||||
| 		result->Params      = params; | ||||
| 		result->Declaration = declaration; | ||||
|  | ||||
| 		return (CodeTemplate) result; | ||||
| 		return result; | ||||
| 	} | ||||
|  | ||||
| 	CodeType def_type( StrC name, Code arrayexpr, CodeSpecifier specifiers, CodeAttributes attributes ) | ||||
| @@ -3982,7 +3985,7 @@ namespace gen | ||||
| 		if ( attributes ) | ||||
| 			result->Attributes = attributes; | ||||
|  | ||||
| 		return (CodeUsing) result; | ||||
| 		return result; | ||||
| 	} | ||||
|  | ||||
| 	CodeUsingNamespace def_using_namespace( StrC name ) | ||||
| @@ -4436,7 +4439,7 @@ namespace gen | ||||
| 		} | ||||
| 		va_end(va); | ||||
|  | ||||
| 		return (CodeParam) result; | ||||
| 		return result; | ||||
| 	} | ||||
|  | ||||
| 	CodeParam def_params( s32 num, CodeParam* codes ) | ||||
|   | ||||
							
								
								
									
										133
									
								
								project/gen.hpp
									
									
									
									
									
								
							
							
						
						
									
										133
									
								
								project/gen.hpp
									
									
									
									
									
								
							| @@ -2826,16 +2826,13 @@ namespace gen | ||||
| 			SpecifierT    ArrSpecs[AST::ArrSpecs_Cap]; // Specifiers | ||||
| 		}; | ||||
| 		union { | ||||
| 			// Entry Node | ||||
| 			struct { | ||||
| 				AST*      Prev; | ||||
| 				AST*      Next; | ||||
| 			}; | ||||
| 			// Body Node | ||||
| 			struct { | ||||
| 				AST*      Front; | ||||
| 				AST*      Back; | ||||
| 			}; | ||||
| 			AST* Prev; | ||||
| 			AST* Front; | ||||
| 			AST* Last; | ||||
| 		}; | ||||
| 		union { | ||||
| 			AST* Next; | ||||
| 			AST* Back; | ||||
| 		}; | ||||
| 		AST*              Parent; | ||||
| 		StringCached      Name; | ||||
| @@ -2884,16 +2881,13 @@ namespace gen | ||||
| 			SpecifierT    ArrSpecs[AST::ArrSpecs_Cap]; // Specifiers | ||||
| 		}; | ||||
| 		union { | ||||
| 			// Entry Node | ||||
| 			struct { | ||||
| 				AST*      Prev; | ||||
| 				AST*      Next; | ||||
| 			}; | ||||
| 			// Body Node | ||||
| 			struct { | ||||
| 				AST*      Front; | ||||
| 				AST*      Back; | ||||
| 			}; | ||||
| 			AST* Prev; | ||||
| 			AST* Front; | ||||
| 			AST* Last; | ||||
| 		}; | ||||
| 		union { | ||||
| 			AST* Next; | ||||
| 			AST* Back; | ||||
| 		}; | ||||
| 		AST*              Parent; | ||||
| 		StringCached      Name; | ||||
| @@ -3014,28 +3008,10 @@ namespace gen | ||||
| 	{ | ||||
| 		Using_Code( CodeParam ); | ||||
|  | ||||
| 		void append( CodeParam other ) | ||||
| 		{ | ||||
| 			rcast( AST*, ast )->append( (AST*) other.ast ); | ||||
| 		} | ||||
| 		CodeParam get( s32 idx ) | ||||
| 		{ | ||||
| 			CodeParam param = *this; | ||||
| 			do | ||||
| 			{ | ||||
| 				if ( ! ++ param ) | ||||
| 					return { nullptr }; | ||||
| 		void append( CodeParam other ); | ||||
|  | ||||
| 				return { (AST_Param*) param.raw()->Next }; | ||||
| 			} | ||||
| 			while ( --idx ); | ||||
|  | ||||
| 			return { nullptr }; | ||||
| 		} | ||||
| 		bool has_entries() | ||||
| 		{ | ||||
| 			return rcast( AST*, ast )->has_entries(); | ||||
| 		} | ||||
| 		CodeParam get( s32 idx ); | ||||
| 		bool has_entries(); | ||||
| 		AST* raw() | ||||
| 		{ | ||||
| 			return rcast( AST*, ast ); | ||||
| @@ -3063,13 +3039,9 @@ namespace gen | ||||
| 		} | ||||
| 		CodeParam end() | ||||
| 		{ | ||||
| 			return { (AST_Param*) rcast( AST*, ast)->Next }; | ||||
| 		} | ||||
| 		CodeParam& operator++() | ||||
| 		{ | ||||
| 			ast = (AST_Param*) rcast( AST*, ast )->Next; | ||||
| 			return * this; | ||||
| 			return { (AST_Param*) rcast( AST*, ast)->Last }; | ||||
| 		} | ||||
| 		CodeParam& operator++(); | ||||
| 		CodeParam operator*() | ||||
| 		{ | ||||
| 			return * this; | ||||
| @@ -3245,7 +3217,7 @@ namespace gen | ||||
| 			struct | ||||
| 			{ | ||||
| 				char      _PAD_PROPERTIES_[ sizeof(AST*) * 4 ]; | ||||
| 				Code      Body; | ||||
| 				Code      Value; | ||||
| 			}; | ||||
| 		}; | ||||
| 		Code              Prev; | ||||
| @@ -3264,7 +3236,7 @@ namespace gen | ||||
| 			struct | ||||
| 			{ | ||||
| 				char      _PAD_PROPERTIES_[ sizeof(AST*) * 4 ]; | ||||
| 				Code      Body; | ||||
| 				CodeBody  Body; | ||||
| 			}; | ||||
| 		}; | ||||
| 		Code              Prev; | ||||
| @@ -3421,8 +3393,8 @@ namespace gen | ||||
| 				Code      Value; | ||||
| 			}; | ||||
| 		}; | ||||
| 		Code              Prev; | ||||
| 		Code              Next; | ||||
| 		CodeParam         Last; | ||||
| 		CodeParam         Next; | ||||
| 		Code              Parent; | ||||
| 		StringCached      Name; | ||||
| 		CodeT             Type; | ||||
| @@ -3473,7 +3445,7 @@ namespace gen | ||||
| 			char 		       _PAD_[ sizeof(SpecifierT) * AST::ArrSpecs_Cap ]; | ||||
| 			struct | ||||
| 			{ | ||||
| 				char 	       _PAD_PROPERTIES_[ sizeof(AST*) * 2 ]; | ||||
| 				char 	       _PAD_PROPERTIES_[ sizeof(AST*) * 3 ]; | ||||
| 				CodeParam 	   Params; | ||||
| 				Code           Declaration; | ||||
| 			}; | ||||
| @@ -3595,7 +3567,7 @@ namespace gen | ||||
| 				CodeAttributes Attributes; | ||||
| 				CodeSpecifier  Specs; | ||||
| 				CodeType       ValueType; | ||||
| 				char 	       _PAD_PROPERTIES_[ sizeof(AST*) * 2 ]; | ||||
| 				char 	       _PAD_PROPERTIES_[ sizeof(AST*) ]; | ||||
| 				Code           Value; | ||||
| 			}; | ||||
| 		}; | ||||
| @@ -3995,6 +3967,8 @@ namespace gen | ||||
| 		if ( other->Parent ) | ||||
| 			other = other->duplicate(); | ||||
|  | ||||
| 		other->Parent = this; | ||||
|  | ||||
| 		if ( Front == nullptr ) | ||||
| 		{ | ||||
| 			Front = other; | ||||
| @@ -4071,6 +4045,7 @@ namespace gen | ||||
| 		return *this; | ||||
| 	} | ||||
|  | ||||
| #pragma region AST & Code Gen Common | ||||
| 	#define Define_CodeImpl( Typename )                                                  \ | ||||
| 	char const* Typename::debug_str()                                                    \ | ||||
| 	{                                                                                    \ | ||||
| @@ -4200,7 +4175,6 @@ namespace gen | ||||
| 	Define_AST_Cast( Var ); | ||||
| 	#undef Define_AST_Cast | ||||
|  | ||||
| #pragma region Code Operator Cast Impj | ||||
|  | ||||
| 	#define Define_CodeCast( type )           \ | ||||
| 	Code::operator Code ## type() const       \ | ||||
| @@ -4233,7 +4207,56 @@ namespace gen | ||||
| 	Define_CodeCast( Var ); | ||||
| 	Define_CodeCast( Body); | ||||
| 	#undef Define_CodeCast | ||||
| #pragma endregion Code Operater Cast Impl | ||||
| #pragma endregion AST & Code Gen Common | ||||
|  | ||||
| 	void CodeParam::append( CodeParam other ) | ||||
| 	{ | ||||
| 		AST* self  = (AST*) ast; | ||||
| 		AST* entry = (AST*) other.ast; | ||||
|  | ||||
| 		if ( entry->Parent ) | ||||
| 			entry = entry->duplicate(); | ||||
|  | ||||
| 		entry->Parent = self; | ||||
|  | ||||
| 		if ( self->Last == nullptr ) | ||||
| 		{ | ||||
| 			self->Last = entry; | ||||
| 			self->Next = entry; | ||||
| 			self->NumEntries++; | ||||
| 			return; | ||||
| 		} | ||||
|  | ||||
| 		self->Last->Next = entry; | ||||
| 		self->Last       = entry; | ||||
| 		self->NumEntries++; | ||||
| 	} | ||||
|  | ||||
| 	CodeParam CodeParam::get( s32 idx ) | ||||
| 	{ | ||||
| 		CodeParam param = *this; | ||||
| 		do | ||||
| 		{ | ||||
| 			if ( ! ++ param ) | ||||
| 				return { nullptr }; | ||||
|  | ||||
| 			return { (AST_Param*) param.raw()->Next }; | ||||
| 		} | ||||
| 		while ( --idx ); | ||||
|  | ||||
| 		return { nullptr }; | ||||
| 	} | ||||
|  | ||||
| 	bool CodeParam::has_entries() | ||||
| 	{ | ||||
| 		return ast->NumEntries > 0; | ||||
| 	} | ||||
|  | ||||
| 	CodeParam& CodeParam::operator ++() | ||||
| 	{ | ||||
| 		ast = ast->Next.ast; | ||||
| 		return *this; | ||||
| 	} | ||||
|  | ||||
| 	CodeBody def_body( CodeT type ) | ||||
| 	{ | ||||
|   | ||||
| @@ -244,7 +244,7 @@ | ||||
| 			<Item Name="ValueType">ValueType</Item> | ||||
| 			<Item Name="Value">Value</Item> | ||||
| 			<Item Name="Parent">Parent</Item> | ||||
| 			<Item Name="Prev">Prev</Item> | ||||
| 			<Item Name="Last">Last</Item> | ||||
| 			<Item Name="Next">Next</Item> | ||||
| 			<Item Name="NumEntries">NumEntries</Item> | ||||
| 		</Expand> | ||||
| @@ -531,7 +531,7 @@ | ||||
| 			<Item Name="ValueType">ast->ValueType</Item> | ||||
| 			<Item Name="Value">ast->Value</Item> | ||||
| 			<Item Name="Parent">ast->Parent</Item> | ||||
| 			<Item Name="Prev">ast->Prev</Item> | ||||
| 			<Item Name="Last">ast->Last</Item> | ||||
| 			<Item Name="Next">ast->Next</Item> | ||||
| 			<Item Name="NumEntries">ast->NumEntries</Item> | ||||
| 		</Expand> | ||||
| @@ -568,6 +568,7 @@ | ||||
| 		<DisplayString Condition="ast != nullptr">{ast->Name} {ast->Type}</DisplayString> | ||||
| 		<Expand> | ||||
| 			<Item Name="ModuleFlags">ast->ModuleFlags</Item> | ||||
| 			<Item Name="Params">ast->Params</Item> | ||||
| 			<Item Name="Declaration">ast->Declaration</Item> | ||||
| 			<Item Name="Parent">ast->Parent</Item> | ||||
| 			<Item Name="Prev">ast->Prev</Item> | ||||
|   | ||||
| @@ -251,7 +251,7 @@ u32 gen_array_file() | ||||
| 	gen_array_file; | ||||
| 	gen_array_file.open( "array.Parsed.gen.hpp" ); | ||||
|  | ||||
| 	Code include_zpl = def_include( txt_StrC("Bloat.hpp") ); | ||||
| 	Code include_zpl = def_include( txt_StrC("gen.hpp") ); | ||||
| 	gen_array_file.print( include_zpl ); | ||||
|  | ||||
| 	gen_array_file.print( def_using_namespace( name(gen))); | ||||
|   | ||||
| @@ -165,7 +165,7 @@ u32 gen_buffer_file() | ||||
| 	gen_buffer_file; | ||||
| 	gen_buffer_file.open( "buffer.Parsed.gen.hpp" ); | ||||
|  | ||||
| 	gen_buffer_file.print( def_include( txt_StrC("Bloat.hpp")) ); | ||||
| 	gen_buffer_file.print( def_include( txt_StrC("gen.hpp")) ); | ||||
| 	gen_buffer_file.print( def_using_namespace( name(gen))); | ||||
|  | ||||
| 	gen_buffer_file.print( gen__buffer_base() ); | ||||
|   | ||||
| @@ -316,7 +316,7 @@ u32 gen_hashtable_file() | ||||
| 	gen_hashtable_file; | ||||
| 	gen_hashtable_file.open( "hashtable.Parsed.gen.hpp" ); | ||||
|  | ||||
| 	gen_hashtable_file.print( def_include( txt_StrC("Bloat.hpp")) ); | ||||
| 	gen_hashtable_file.print( def_include( txt_StrC("gen.hpp")) ); | ||||
| 	gen_hashtable_file.print( def_include( txt_StrC("Array.Parsed.hpp")) ); | ||||
| 	gen_hashtable_file.print( def_include( txt_StrC("array.Parsed.gen.hpp")) ); | ||||
|  | ||||
|   | ||||
| @@ -134,7 +134,7 @@ u32 gen_ring_file() | ||||
| 	gen_ring_file; | ||||
| 	gen_ring_file.open( "ring.Parsed.gen.hpp" ); | ||||
|  | ||||
| 	gen_ring_file.print( def_include( txt_StrC("Bloat.hpp")) ); | ||||
| 	gen_ring_file.print( def_include( txt_StrC("gen.hpp")) ); | ||||
| 	gen_ring_file.print( def_include( txt_StrC("buffer.Parsed.gen.hpp")) ); | ||||
| 	// gen_ring_file.print( gen__ring_base() ); | ||||
|  | ||||
|   | ||||
| @@ -128,11 +128,11 @@ Code gen__array( StrC type ) | ||||
|  | ||||
| 		CodeFn fill; | ||||
| 		{ | ||||
| 			CodeParam params = def_params( 3 | ||||
| 				, def_param( t_uw,    name(begin) ) | ||||
| 			CodeParam params = def_params( args( | ||||
| 				  def_param( t_uw,    name(begin) ) | ||||
| 				, def_param( t_uw,    name(end) ) | ||||
| 				, def_param( t_alias, name(value) ) | ||||
| 			); | ||||
| 			)); | ||||
|  | ||||
| 			Code body = untyped_str( code( | ||||
| 				Header& header = * get_header(); | ||||
| @@ -187,7 +187,7 @@ Code gen__array( StrC type ) | ||||
| 			, def_execution( code( | ||||
| 				Header& header = * get_header(); | ||||
|  | ||||
| 				ZPL_ASSERT( header.Num > 0 ); | ||||
| 				GEN_ASSERT( header.Num > 0 ); | ||||
| 				header.Num--; | ||||
| 			)) | ||||
| 		); | ||||
| @@ -195,7 +195,7 @@ Code gen__array( StrC type ) | ||||
| 		CodeFn remove_at = def_function( name(remove_at), def_param( t_uw, name(idx)), t_void | ||||
| 			, def_execution( code( | ||||
| 				Header* header = get_header(); | ||||
| 				ZPL_ASSERT( idx < header->Num ); | ||||
| 				GEN_ASSERT( idx < header->Num ); | ||||
|  | ||||
| 				mem_move( header + idx, header + idx + 1, sizeof( Type ) * ( header->Num - idx - 1 ) ); | ||||
| 				header->Num--; | ||||
| @@ -334,8 +334,8 @@ u32 gen_array_file() | ||||
| 	gen_array_file; | ||||
| 	gen_array_file.open( "array.Upfront.gen.hpp" ); | ||||
|  | ||||
| 	CodeInclude include_zpl = def_include( txt_StrC("Bloat.hpp") ); | ||||
| 	gen_array_file.print( include_zpl ); | ||||
| 	CodeInclude include_gen = def_include( txt_StrC("gen.hpp") ); | ||||
| 	gen_array_file.print( include_gen ); | ||||
|  | ||||
| 	gen_array_file.print( def_using_namespace( name(gen))); | ||||
|  | ||||
|   | ||||
| @@ -115,7 +115,7 @@ Code gen__buffer( StrC type, sw type_size ) | ||||
| 				, def_execution( code( | ||||
| 					Header& header = get_header(); | ||||
|  | ||||
| 					ZPL_ASSERT( header.Num + num <= header.Capacity); | ||||
| 					GEN_ASSERT( header.Num + num <= header.Capacity); | ||||
|  | ||||
| 					mem_copy( Data + header.Num, values, num * sizeof( Type ) ); | ||||
|  | ||||
| @@ -141,7 +141,7 @@ Code gen__buffer( StrC type, sw type_size ) | ||||
| 		CodeFn free = def_function( name(free), __, t_void | ||||
| 			, def_execution( code( | ||||
| 				Header& header = get_header(); | ||||
| 				zpl::free( header.Backing, & header ); | ||||
| 				gen::free( header.Backing, & header ); | ||||
| 			)) | ||||
| 		); | ||||
|  | ||||
| @@ -238,7 +238,7 @@ u32 gen_buffer_file() | ||||
| 	gen_buffer_file; | ||||
| 	gen_buffer_file.open( "buffer.Upfront.gen.hpp" ); | ||||
|  | ||||
| 	gen_buffer_file.print( def_include( txt_StrC("Bloat.hpp")) ); | ||||
| 	gen_buffer_file.print( def_include( txt_StrC("gen.hpp")) ); | ||||
| 	gen_buffer_file.print( def_using_namespace( name(gen)) ); | ||||
|  | ||||
| 	gen_buffer_file.print( gen__buffer_base() ); | ||||
|   | ||||
| @@ -151,7 +151,7 @@ Code gen__hashtable( StrC type ) | ||||
| 			CodeType t_map_proc = def_type( name(MapProc) ); | ||||
|  | ||||
| 			Code body = def_execution( code( | ||||
| 				ZPL_ASSERT_NOT_NULL( map_proc ); | ||||
| 				GEN_ASSERT_NOT_NULL( map_proc ); | ||||
|  | ||||
| 				for ( sw idx = 0; idx < Entries.num(); idx++ ) | ||||
| 				{ | ||||
| @@ -177,7 +177,7 @@ Code gen__hashtable( StrC type ) | ||||
| 			CodeType t_map_mut_proc = def_type( name(MapMutProc)); | ||||
|  | ||||
| 			Code body = def_execution( code( | ||||
| 				ZPL_ASSERT_NOT_NULL( map_proc ); | ||||
| 				GEN_ASSERT_NOT_NULL( map_proc ); | ||||
|  | ||||
| 				for ( sw idx = 0; idx < Entries.num(); idx++ ) | ||||
| 				{ | ||||
| @@ -447,7 +447,7 @@ u32 gen_hashtable_file() | ||||
| 	gen_hashtable_file; | ||||
| 	gen_hashtable_file.open( "hashtable.Upfront.gen.hpp" ); | ||||
|  | ||||
| 	gen_hashtable_file.print( def_include( txt_StrC("Bloat.hpp")) ); | ||||
| 	gen_hashtable_file.print( def_include( txt_StrC("gen.hpp")) ); | ||||
| 	gen_hashtable_file.print( def_include( txt_StrC("Array.Upfront.hpp")) ); | ||||
| 	gen_hashtable_file.print( def_include( txt_StrC("array.Upfront.gen.hpp")) ); | ||||
|  | ||||
|   | ||||
| @@ -192,7 +192,7 @@ u32 gen_ring_file() | ||||
| 	gen_ring_file; | ||||
| 	gen_ring_file.open( "ring.Upfront.gen.hpp" ); | ||||
|  | ||||
| 	gen_ring_file.print( def_include( txt_StrC("Bloat.hpp")) ); | ||||
| 	gen_ring_file.print( def_include( txt_StrC("gen.hpp")) ); | ||||
| 	gen_ring_file.print( def_include( txt_StrC("buffer.Upfront.gen.hpp")) ); | ||||
|  | ||||
| 	gen_ring_file.print( def_using_namespace( name(gen))); | ||||
|   | ||||
| @@ -11,7 +11,7 @@ u32 gen_sanity_upfront() | ||||
|  | ||||
| 	// Comment | ||||
| 	{ | ||||
| 		Code comment_test = def_comment( txt_StrC("Sanity check: def_comment test") ); | ||||
| 		CodeComment comment_test = def_comment( txt_StrC("Sanity check: def_comment test") ); | ||||
|  | ||||
| 		gen_sanity_file.print(comment_test); | ||||
| 	} | ||||
| @@ -50,7 +50,7 @@ u32 gen_sanity_upfront() | ||||
|  | ||||
| 	// Enum | ||||
| 	{ | ||||
| 		Code fwd = def_enum( name(ETestEnum), NoCode, t_u8 ); | ||||
| 		CodeEnum fwd = def_enum( name(ETestEnum), NoCode, t_u8 ); | ||||
| 		CodeEnum def; | ||||
| 		{ | ||||
| 			Code body = untyped_str( code( | ||||
| @@ -62,7 +62,7 @@ u32 gen_sanity_upfront() | ||||
| 			def = def_enum( name(ETestEnum), body, t_u8 ); | ||||
| 		} | ||||
|  | ||||
| 		Code fwd_enum_class = def_enum( name(ETestEnumClass), NoCode, t_u8, EnumClass ); | ||||
| 		CodeEnum fwd_enum_class = def_enum( name(ETestEnumClass), NoCode, t_u8, EnumClass ); | ||||
|  | ||||
| 		gen_sanity_file.print(fwd); | ||||
| 		gen_sanity_file.print(def); | ||||
| @@ -73,7 +73,7 @@ u32 gen_sanity_upfront() | ||||
|  | ||||
| 	// External Linkage | ||||
| 	{ | ||||
| 		Code body = def_extern_link_body( 1 | ||||
| 		CodeBody body = def_extern_link_body( 1 | ||||
| 			, def_comment( txt_StrC("Empty extern body") ) | ||||
| 		); | ||||
|  | ||||
| @@ -114,7 +114,7 @@ u32 gen_sanity_upfront() | ||||
|  | ||||
| 	// Include | ||||
| 	{ | ||||
| 		Code include = def_include( txt_StrC("../DummyInclude.hpp") ); | ||||
| 		CodeInclude include = def_include( txt_StrC("../DummyInclude.hpp") ); | ||||
|  | ||||
| 		gen_sanity_file.print(include); | ||||
| 	} | ||||
| @@ -124,9 +124,9 @@ u32 gen_sanity_upfront() | ||||
| 	// Module | ||||
| 	if (0) | ||||
| 	{ | ||||
| 		Code module_export = def_module( name(TestModule), ModuleFlag::Export ); | ||||
| 		Code module_import = def_module( name(TestModule), ModuleFlag::Import ); | ||||
| 		Code module_both   = def_module( name(TestModule), ModuleFlag::Export | ModuleFlag::Import ); | ||||
| 		CodeModule module_export = def_module( name(TestModule), ModuleFlag::Export ); | ||||
| 		CodeModule module_import = def_module( name(TestModule), ModuleFlag::Import ); | ||||
| 		CodeModule module_both   = def_module( name(TestModule), ModuleFlag::Export | ModuleFlag::Import ); | ||||
|  | ||||
| 		gen_sanity_file.print(module_global_fragment); | ||||
| 		gen_sanity_file.print(module_private_fragment); | ||||
| @@ -141,7 +141,7 @@ u32 gen_sanity_upfront() | ||||
| 	{ | ||||
| 		CodeNamespace namespace_def; | ||||
| 		{ | ||||
| 			Code body = def_namespace_body( 1 | ||||
| 			CodeBody body = def_namespace_body( 1 | ||||
| 				, def_comment( txt_StrC("Empty namespace body") ) | ||||
| 			); | ||||
|  | ||||
| @@ -157,9 +157,9 @@ u32 gen_sanity_upfront() | ||||
| 	{ | ||||
| 		// Going to make a bit flag set of overloads for this. | ||||
|  | ||||
| 		Code bitflagtest; | ||||
| 		CodeEnum bitflagtest; | ||||
| 		{ | ||||
| 			Code body = def_enum_body( 1, untyped_str( code( | ||||
| 			CodeBody body = def_enum_body( 1, untyped_str( code( | ||||
| 				A = 1 << 0, | ||||
| 				B = 1 << 1, | ||||
| 				C = 1 << 2 | ||||
| @@ -192,9 +192,9 @@ u32 gen_sanity_upfront() | ||||
| 	{ | ||||
| 		CodeType t_u8_ptr = def_type( name(u8), __, spec_ptr ); | ||||
|  | ||||
| 		Code op_ptr = def_operator_cast( t_u8_ptr, __ ); | ||||
| 		CodeOpCast op_ptr = def_operator_cast( t_u8_ptr, __ ); | ||||
|  | ||||
| 		Code op_class = def_class( name(TestOperatorCast), def_class_body( args( op_ptr) ) ); | ||||
| 		CodeClass op_class = def_class( name(TestOperatorCast), def_class_body( args( op_ptr) ) ); | ||||
|  | ||||
| 		gen_sanity_file.print(op_class); | ||||
| 	} | ||||
| @@ -297,8 +297,8 @@ u32 gen_sanity_upfront() | ||||
|  | ||||
| 	// Variable | ||||
| 	{ | ||||
| 		Code bss  = def_variable( t_u8, name(test_variable) ); | ||||
| 		Code data = def_variable( t_u8, name(test_variable2), untyped_str( code( 0x12 )) ); | ||||
| 		CodeVar bss  = def_variable( t_u8, name(test_variable) ); | ||||
| 		CodeVar data = def_variable( t_u8, name(test_variable2), untyped_str( code( 0x12 )) ); | ||||
|  | ||||
| 		gen_sanity_file.print(bss); | ||||
| 		gen_sanity_file.print(data); | ||||
| @@ -310,7 +310,7 @@ u32 gen_sanity_upfront() | ||||
| 	{ | ||||
| 		CodeType t_Type = def_type( name(Type) ); | ||||
|  | ||||
| 		Code tmpl = def_template(  def_param( t_class, name(Type) ) | ||||
| 		CodeTemplate tmpl = def_template(  def_param( t_class, name(Type) ) | ||||
| 			, def_function( name(test_template), def_param( t_Type, name(a) ), __ | ||||
| 				, def_function_body(1, def_comment( txt_StrC("Empty template function body"))) | ||||
| 			) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user