Update to GasaGen based on changes to UE 5.5 source
Will eventually need update the gencpp repo...
This commit is contained in:
parent
f6cd4717ea
commit
aaf2a082f0
@ -54,6 +54,9 @@ int gen_main()
|
|||||||
PreprocessorDefines.append( get_cached_string(str_DECLARE_MULTICAST_DELEGATE_OneParam));
|
PreprocessorDefines.append( get_cached_string(str_DECLARE_MULTICAST_DELEGATE_OneParam));
|
||||||
PreprocessorDefines.append( get_cached_string(str_DECLARE_MULTICAST_DELEGATE_ThreeParams));
|
PreprocessorDefines.append( get_cached_string(str_DECLARE_MULTICAST_DELEGATE_ThreeParams));
|
||||||
PreprocessorDefines.append( get_cached_string(str_DECLARE_MULTICAST_DELEGATE_TwoParams));
|
PreprocessorDefines.append( get_cached_string(str_DECLARE_MULTICAST_DELEGATE_TwoParams));
|
||||||
|
PreprocessorDefines.append( get_cached_string(str_DECLARE_TS_MULTICAST_DELEGATE_OneParam));
|
||||||
|
PreprocessorDefines.append( get_cached_string(str_DECLARE_TS_MULTICAST_DELEGATE_TwoParams));
|
||||||
|
PreprocessorDefines.append( get_cached_string(str_DECLARE_TS_MULTICAST_DELEGATE_ThreeParams));
|
||||||
PreprocessorDefines.append( get_cached_string(str_DEFINE_ACTORDESC_TYPE));
|
PreprocessorDefines.append( get_cached_string(str_DEFINE_ACTORDESC_TYPE));
|
||||||
PreprocessorDefines.append( get_cached_string(str_DEFINE_DEFAULT_OBJECT_INITIALIZER_CONSTRUCTOR_CALL));
|
PreprocessorDefines.append( get_cached_string(str_DEFINE_DEFAULT_OBJECT_INITIALIZER_CONSTRUCTOR_CALL));
|
||||||
PreprocessorDefines.append( get_cached_string(str_ENUM_CLASS_FLAGS));
|
PreprocessorDefines.append( get_cached_string(str_ENUM_CLASS_FLAGS));
|
||||||
@ -76,6 +79,7 @@ int gen_main()
|
|||||||
PreprocessorDefines.append( get_cached_string(str_UPARAM));
|
PreprocessorDefines.append( get_cached_string(str_UPARAM));
|
||||||
PreprocessorDefines.append( get_cached_string(str_UPROPERTY));
|
PreprocessorDefines.append( get_cached_string(str_UPROPERTY));
|
||||||
PreprocessorDefines.append( get_cached_string(str_USTRUCT));
|
PreprocessorDefines.append( get_cached_string(str_USTRUCT));
|
||||||
|
PreprocessorDefines.append( get_cached_string(str_UE_REQUIRES));
|
||||||
}
|
}
|
||||||
|
|
||||||
gen_UGasaAttributeSet();
|
gen_UGasaAttributeSet();
|
||||||
@ -84,9 +88,9 @@ int gen_main()
|
|||||||
// gen_netslime_interfaces();
|
// gen_netslime_interfaces();
|
||||||
|
|
||||||
// One offs
|
// One offs
|
||||||
if (0)
|
if (1)
|
||||||
{
|
{
|
||||||
ue_parse_testing();
|
// ue_parse_testing();
|
||||||
swap_SBlueprintActionMenu_Construct();
|
swap_SBlueprintActionMenu_Construct();
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -36,6 +36,9 @@ constexpr StrC str_DECLARE_LOG_CATEGORY_EXTERN = txt("
|
|||||||
constexpr StrC str_DECLARE_MULTICAST_DELEGATE_OneParam = txt("DECLARE_MULTICAST_DELEGATE_OneParam(");
|
constexpr StrC str_DECLARE_MULTICAST_DELEGATE_OneParam = txt("DECLARE_MULTICAST_DELEGATE_OneParam(");
|
||||||
constexpr StrC str_DECLARE_MULTICAST_DELEGATE_ThreeParams = txt("DECLARE_MULTICAST_DELEGATE_ThreeParams(");
|
constexpr StrC str_DECLARE_MULTICAST_DELEGATE_ThreeParams = txt("DECLARE_MULTICAST_DELEGATE_ThreeParams(");
|
||||||
constexpr StrC str_DECLARE_MULTICAST_DELEGATE_TwoParams = txt("DECLARE_MULTICAST_DELEGATE_TwoParams(");
|
constexpr StrC str_DECLARE_MULTICAST_DELEGATE_TwoParams = txt("DECLARE_MULTICAST_DELEGATE_TwoParams(");
|
||||||
|
constexpr StrC str_DECLARE_TS_MULTICAST_DELEGATE_OneParam = txt("DECLARE_TS_MULTICAST_DELEGATE_OneParam(");
|
||||||
|
constexpr StrC str_DECLARE_TS_MULTICAST_DELEGATE_TwoParams = txt("DECLARE_TS_MULTICAST_DELEGATE_TwoParams(");
|
||||||
|
constexpr StrC str_DECLARE_TS_MULTICAST_DELEGATE_ThreeParams = txt("DECLARE_TS_MULTICAST_DELEGATE_ThreeParams(");
|
||||||
constexpr StrC str_DEFINE_ACTORDESC_TYPE = txt("DEFINE_ACTORDESC_TYPE(");
|
constexpr StrC str_DEFINE_ACTORDESC_TYPE = txt("DEFINE_ACTORDESC_TYPE(");
|
||||||
constexpr StrC str_DEFINE_DEFAULT_OBJECT_INITIALIZER_CONSTRUCTOR_CALL = txt("DEFINE_DEFAULT_OBJECT_INITIALIZER_CONSTRUCTOR_CALL(");
|
constexpr StrC str_DEFINE_DEFAULT_OBJECT_INITIALIZER_CONSTRUCTOR_CALL = txt("DEFINE_DEFAULT_OBJECT_INITIALIZER_CONSTRUCTOR_CALL(");
|
||||||
constexpr StrC str_ENUM_CLASS_FLAGS = txt("ENUM_CLASS_FLAGS(");
|
constexpr StrC str_ENUM_CLASS_FLAGS = txt("ENUM_CLASS_FLAGS(");
|
||||||
@ -58,6 +61,7 @@ constexpr StrC str_UMETA = txt("
|
|||||||
constexpr StrC str_UPARAM = txt("UPARAM(");
|
constexpr StrC str_UPARAM = txt("UPARAM(");
|
||||||
constexpr StrC str_UPROPERTY = txt("UPROPERTY(");
|
constexpr StrC str_UPROPERTY = txt("UPROPERTY(");
|
||||||
constexpr StrC str_USTRUCT = txt("USTRUCT(");
|
constexpr StrC str_USTRUCT = txt("USTRUCT(");
|
||||||
|
constexpr StrC str_UE_REQUIRES = txt("UE_REQUIRES(");
|
||||||
|
|
||||||
constexpr StrC str_GASA_API = txt("GASA_API");
|
constexpr StrC str_GASA_API = txt("GASA_API");
|
||||||
|
|
||||||
|
@ -2314,6 +2314,11 @@ void CodeParam::to_string( String& result )
|
|||||||
else if ( ast->ValueType )
|
else if ( ast->ValueType )
|
||||||
result.append_fmt( " %S", ast->ValueType.to_string() );
|
result.append_fmt( " %S", ast->ValueType.to_string() );
|
||||||
|
|
||||||
|
if ( ast->PostNameMacro )
|
||||||
|
{
|
||||||
|
result.append_fmt(" %S", ast->PostNameMacro.to_string() );
|
||||||
|
}
|
||||||
|
|
||||||
if ( ast->Value )
|
if ( ast->Value )
|
||||||
result.append_fmt( " = %S", ast->Value.to_string() );
|
result.append_fmt( " = %S", ast->Value.to_string() );
|
||||||
|
|
||||||
@ -9708,10 +9713,11 @@ namespace parser
|
|||||||
return { nullptr };
|
return { nullptr };
|
||||||
}
|
}
|
||||||
|
|
||||||
Code macro = { nullptr };
|
Code macro = { nullptr };
|
||||||
CodeType type = { nullptr };
|
CodeType type = { nullptr };
|
||||||
Code value = { nullptr };
|
Code value = { nullptr };
|
||||||
Token name = NullToken;
|
Token name = NullToken;
|
||||||
|
Code post_name_macro = { nullptr };
|
||||||
|
|
||||||
if ( check( TokType::Varadic_Argument ) )
|
if ( check( TokType::Varadic_Argument ) )
|
||||||
{
|
{
|
||||||
@ -9752,6 +9758,15 @@ namespace parser
|
|||||||
// ( <Macro> <ValueType> <Name>
|
// ( <Macro> <ValueType> <Name>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Unreal has yet another type of macro:
|
||||||
|
// template<class T UE_REQUIRES(TPointerIsConvertibleFromTo<T, UInterface>::Value)>
|
||||||
|
// class T ... and then ^this^ UE_REQUIRES shows up
|
||||||
|
// So we need to consume that.
|
||||||
|
if ( check( TokType::Preprocess_Macro ))
|
||||||
|
{
|
||||||
|
post_name_macro = parse_simple_preprocess( ETokType::Preprocess_Macro );
|
||||||
|
}
|
||||||
|
|
||||||
// In template captures you can have a typename have direct assignment without a name
|
// In template captures you can have a typename have direct assignment without a name
|
||||||
// typename = typename ...
|
// typename = typename ...
|
||||||
// Which would result in a static value type from a struct expansion (traditionally)
|
// Which would result in a static value type from a struct expansion (traditionally)
|
||||||
@ -9855,6 +9870,15 @@ namespace parser
|
|||||||
// ( <Macro> <ValueType> <Name> = <Expression>, <Macro> <ValueType> <Name>
|
// ( <Macro> <ValueType> <Name> = <Expression>, <Macro> <ValueType> <Name>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Unreal has yet another type of macro:
|
||||||
|
// template<class T UE_REQUIRES(TPointerIsConvertibleFromTo<T, UInterface>::Value)>
|
||||||
|
// class T ... and then ^this^ UE_REQUIRES shows up
|
||||||
|
// So we need to consume that.
|
||||||
|
if ( check( TokType::Preprocess_Macro ))
|
||||||
|
{
|
||||||
|
post_name_macro = parse_simple_preprocess( ETokType::Preprocess_Macro );
|
||||||
|
}
|
||||||
|
|
||||||
// In template captures you can have a typename have direct assignment without a name
|
// In template captures you can have a typename have direct assignment without a name
|
||||||
// typename = typename ...
|
// typename = typename ...
|
||||||
// Which would result in a static value type from a struct expansion (traditionally)
|
// Which would result in a static value type from a struct expansion (traditionally)
|
||||||
|
@ -830,7 +830,7 @@ struct AST
|
|||||||
union
|
union
|
||||||
{
|
{
|
||||||
AST* ArrExpr; // Typename
|
AST* ArrExpr; // Typename
|
||||||
AST* Body; // Class, Constructr, Destructor, Enum, Friend, Function, Namespace, Struct, Union
|
AST* Body; // Class, Constructor, Destructor, Enum, Friend, Function, Namespace, Struct, Union
|
||||||
AST* Declaration; // Friend, Template
|
AST* Declaration; // Friend, Template
|
||||||
AST* Value; // Parameter, Variable
|
AST* Value; // Parameter, Variable
|
||||||
};
|
};
|
||||||
@ -840,6 +840,7 @@ struct AST
|
|||||||
AST* NextVar; // Variable; Possible way to handle comma separated variables declarations. ( , NextVar->Specs NextVar->Name NextVar->ArrExpr =
|
AST* NextVar; // Variable; Possible way to handle comma separated variables declarations. ( , NextVar->Specs NextVar->Name NextVar->ArrExpr =
|
||||||
// NextVar->Value )
|
// NextVar->Value )
|
||||||
AST* SuffixSpecs; // Only used with typenames, to store the function suffix if typename is function signature. ( May not be needed )
|
AST* SuffixSpecs; // Only used with typenames, to store the function suffix if typename is function signature. ( May not be needed )
|
||||||
|
AST* PostNameMacro; // Only used with parameters for specifically UE_REQUIRES (Thanks Unreal)
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -921,6 +922,7 @@ struct AST_POD
|
|||||||
AST* NextVar; // Variable; Possible way to handle comma separated variables declarations. ( , NextVar->Specs NextVar->Name NextVar->ArrExpr =
|
AST* NextVar; // Variable; Possible way to handle comma separated variables declarations. ( , NextVar->Specs NextVar->Name NextVar->ArrExpr =
|
||||||
// NextVar->Value )
|
// NextVar->Value )
|
||||||
AST* SuffixSpecs; // Only used with typenames, to store the function suffix if typename is function signature. ( May not be needed )
|
AST* SuffixSpecs; // Only used with typenames, to store the function suffix if typename is function signature. ( May not be needed )
|
||||||
|
AST* PostNameMacro; // Only used with parameters for specifically UE_REQUIRES (Thanks Unreal)
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -2630,7 +2632,8 @@ struct AST_Param
|
|||||||
CodeType ValueType;
|
CodeType ValueType;
|
||||||
Code Macro;
|
Code Macro;
|
||||||
Code Value;
|
Code Value;
|
||||||
char _PAD_PROPERTIES_3_[sizeof( AST* )];
|
Code PostNameMacro; // Thanks Unreal
|
||||||
|
// char _PAD_PROPERTIES_3_[sizeof( AST* )];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user