Commit Graph

29 Commits

Author SHA1 Message Date
Steve Robb
7147a13be2 TMap properties.
#codereview robert.manuszewski

[CL 2519223 by Steve Robb in Main branch]
2015-04-21 10:25:59 -04:00
Mikolaj Sieluzycki
a342337136 UHT enforces user defined _Validate and _Implementation functions to be "virtual".
[CL 2517391 by Mikolaj Sieluzycki in Main branch]
2015-04-20 06:19:21 -04:00
Mikolaj Sieluzycki
d77f990644 Back out changelist 2515530
[CL 2515554 by Mikolaj Sieluzycki in Main branch]
2015-04-17 04:37:38 -04:00
Mikolaj Sieluzycki
cf4bc20014 UHT enforces user defined _Validate and _Implementation functions to be "virtual".
#codereview Robert.Manuszewski

[CL 2515530 by Mikolaj Sieluzycki in Main branch]
2015-04-17 04:04:20 -04:00
Michael Noland
6a3d8e112e UnrealHeaderTool: Added limited support for parsing character literals to avoid incorrectly erroring on things like '\"'
[CL 2509338 by Michael Noland in Main branch]
2015-04-10 20:25:40 -04:00
Mikolaj Sieluzycki
3483da7d5a Stop UHT from emiting warnings on missing *_Validate and *_Implementation functions
Introduce versioning system to GENERATED_*BODY macros
Search for existing functions using case sensitive and whole word match.
Move checks for existing of *_Validate and *_Implementation functions to *generated.cpp to allow changing that code in hotfixes.
#codereview Robert.Manuszewski

[CL 2508131 by Mikolaj Sieluzycki in Main branch]
2015-04-10 06:02:22 -04:00
Jaroslaw Palczynski
b8c4d83b9c Enabling UHT to digest GENERATED_BODY instead of GENERATED_*_BODY.
#codereview Robert.Manuszewski

[CL 2481360 by Jaroslaw Palczynski in Main branch]
2015-03-17 06:02:26 -04:00
Jaroslaw Palczynski
f23f29257b Back out changelist 2481333
Rob asked me to back out GENERATED_*_BODY -> GENERATED_BODY change for now until the "_Validate and _Implementation auto-generation" discussion is over.

#codereview Robert.Manuszewski

[CL 2481343 by Jaroslaw Palczynski in Main branch]
2015-03-17 05:38:32 -04:00
Jaroslaw Palczynski
fa31560e2d Enabled UHT to digest GENERATED_BODY instead of GENERATED_UCLASS_BODY, GENERATED_USTRUCT_BODY, GENERATED_UINTERFACE_BODY or GENERATED_IINTERFACE_BODY, changed every occurence to the new syntax and fixed every warning that have fallen out of this change.
#codereview Robert.Manuszewski

[CL 2481333 by Jaroslaw Palczynski in Main branch]
2015-03-17 05:19:11 -04:00
Jaroslaw Palczynski
3c450b9477 UE-10111: Hot Reload crash with Scene Component tied to Actor class
We've changed the way vtable ptr are obtained for UClasses. Right now we use special empty constructor to get it, so we don't have to use normal one which was causing troubles. This special vtable helper constructor is generated automatically for most cases, but sometimes it's not possible (e.g. no default constructor for members types). In such case there is a possibility to override that generated constructor and write a custom one. The signature is UCustomClass::UCustomClass(FVTableHelper& Helper) and it needs to call base class'es constructor with the same parameter. Please do not use these constructors for anything else. There is no guarantee the object will be in correct state after calling this.

You can still disable this functionality if something breaks, just set WITH_HOT_RELOAD_CTORS to 0.

[CL 2466152 by Jaroslaw Palczynski in Main branch]
2015-03-02 06:44:04 -05:00
Jaroslaw Palczynski
6f783c9b2b UECORE-59: I want to be able to specify server/validation function names in UHT and not rely on predefined ones.
[CL 2435374 by Jaroslaw Palczynski in Main branch]
2015-02-06 09:54:41 -05:00
Jaroslaw Palczynski
adecd4aaad UHT: Allows defining multiple UCLASSes in one header file.
[CL 2412156 by Jaroslaw Palczynski in Main branch]
2015-01-20 09:33:54 -05:00
Michael Trepka
5317a09531 CIS fix
#codereview Mikolaj.Sieluzycki

[CL 2380249 by Michael Trepka in Main branch]
2014-12-08 09:06:22 -05:00
Mikolaj Sieluzycki
30464bcf0e CIS fix.
[CL 2380229 by Mikolaj Sieluzycki in Main branch]
2014-12-08 08:45:43 -05:00
Mikolaj Sieluzycki
a791ac02b4 CIS fix.
[CL 2380210 by Mikolaj Sieluzycki in Main branch]
2014-12-08 08:10:45 -05:00
Mikolaj Sieluzycki
70df0c36e9 Don't automatically create function declarations in UHT that user has to implement.
#codereview Steve.Robb

[CL 2380157 by Mikolaj Sieluzycki in Main branch]
2014-12-08 07:30:42 -05:00
Ben Marsh
149375b14b Update copyright notices to 2015.
[CL 2379638 by Ben Marsh in Main branch]
2014-12-07 19:09:38 -05:00
Robert Manuszewski
01e5f0dc49 Fix for generated code changes (for the Engine) when switching between targets due to uninitialized GeneratedBodyMacroAccessSpecifier member variable.
Added more safety checks and a more detailed error message.

#codereview jaroslaw.palczynski

[CL 2353244 by Robert Manuszewski in Main branch]
2014-11-07 13:17:32 -05:00
Robert Manuszewski
8cb5dea614 Hot-Reload: fixing infinite loop when changing USTRUCTs caused by unnecessary re-initialization of the owner UClass.
UE-4916

#change Replaced CLASS_Temporary (UHT-only flag) with CLASS_Constructed to check if a class needs to be constructed or not in generated code
#change Modified code generator to make sure UClasses don't get reconstructed if not required

[CL 2351525 by Robert Manuszewski in Main branch]
2014-11-06 15:16:05 -05:00
Jaroslaw Palczynski
7c41927cf4 Rename FPostConstructInitializeProperties to something simpler
Changed it with FObjectInitializer.

UECORE-7

[CL 2328384 by Jaroslaw Palczynski in Main branch]
2014-10-14 10:29:11 -04:00
Jaroslaw Palczynski
399074d7ea DonÆt default to æpublicÆ protection level in classes.
UECORE-8

[CL 2327190 by Jaroslaw Palczynski in Main branch]
2014-10-13 10:31:50 -04:00
Jaroslaw Palczynski
cc0f6d9a4e UObject custom constructors.
In order to use new feature user have to change GENERATED_UCLASS_BODY() macro to the new GENERATED_BODY(). Then no constructor is implicitly declared. If there is no constructor declared in UCLASS then PCIP one is declared and defined that passes PCIP down to super-class. On the other hand if there is a constructor declared then UObject system expects to have one of the default or PCIP constructor to initialize a class during loading from disk, default object creation, etc. and it expects that user will declare and define one.

There is a possibility now to create UCLASS with the default constructor (i.e. no PCIP).

New macro is encouraged by standard classes and in-editor wizards templates.

#codereview Robert.Manuszewski

[CL 2325282 by Jaroslaw Palczynski in Main branch]
2014-10-10 04:34:56 -04:00
Steve Robb
82fcd06c42 enum class support for UENUMs. Currently only supports enum classes of underlying type uint8, because the property system needs to be updated to handle more than that.
EPropertyReferenceFlags removed too, because it is unused.

#ttp 329394: UHT: Support the C++ "enum class" syntax for UENUMs

#codereview robert.manuszewski

[CL 2252907 by Steve Robb in Main branch]
2014-08-12 08:51:25 -04:00
Matt Kuhlenschmidt
fb672d5990 Removed UAttributeProperty and all related changes
[CL 2091937 by Matt Kuhlenschmidt in Main branch]
2014-06-02 14:20:58 -04:00
Steve Robb
864bd3d8da WIP refactors
#ttp 331467: Make UHT not depend on CoreUObject

#change GScriptHelper made an object instead of a heap-allocated pointer.
#change NameLookupCPP made an object instead of a heap-allocated pointer.
#add FClasses::FindAnyClass added.
#change FClasses construction moved earlier.
#change FClass::GetInnerClass added.
#change More UClasses changed to FClasses.

#codereview robert.manuszewski

[CL 2091696 by Steve Robb in Main branch]
2014-06-02 07:02:29 -04:00