Commit Graph

278 Commits

Author SHA1 Message Date
Steve Robb
cbe5b79c73 Merging using Orion->UE4
CL# 2698724:
UHT speed improvements:

Code is now generated with tabs, rather than going through a separate Tabify step.
Some expensive temporaries created during iteration and during iteration have been removed.
FFunctionData::FunctionDataMap now uses unique ownership instead of shared ownership.
TCString::Spc (and the new TCString::Tab) now uses a compile-time array instead of one generated at runtime with a static.
TSet::Compact no longer rehashes if no compaction was performed.
TArray assignment no longer reallocs to the same capacity.

[CL 2698780 by Steve Robb in Main branch]
2015-09-21 07:53:49 -04:00
Maciej Mroz
de190241c6 ModuleRelativePath meta data in UInterface.
[CL 2694849 by Maciej Mroz in Main branch]
2015-09-17 05:11:18 -04:00
Steve Robb
024cafa3a1 Merging using Orion->UE4
CL# 2693983
Skip inline keywords/macros when parsing a return type.

[CL 2693992 by Steve Robb in Main branch]
2015-09-16 15:12:43 -04:00
Robert Manuszewski
5da5fbf1cc Fix for running Z_ConstructUClass* for dynamic classes while constructing the UClass object.
[CL 2687840 by Robert Manuszewski in Main branch]
2015-09-11 10:08:33 -04:00
Robert Manuszewski
776997161a Dynamic classes can now be constructed by their StaticClass() functions (no need to call ConstructDynamicType)
[CL 2687686 by Robert Manuszewski in Main branch]
2015-09-11 06:51:32 -04:00
Dan Oconnor
87de01cf2c Code generator now supports UProperties that have a name that is different than the c++ symbol name
[CL 2685046 by Dan Oconnor in Main branch]
2015-09-09 14:07:28 -04:00
Robert Manuszewski
d02f2256d1 Basic support for 'dynamic' Utypes (types that don't need to be constructed at runtime, can be GC'd, etc). Native blueprint support for UHT.
[CL 2682947 by Robert Manuszewski in Main branch]
2015-09-08 09:23:57 -04:00
Steve Robb
1a6497d13e FPropertyBase::ImpliedPropertyFlags added to distinguish between property flags which are directly specified by UPROPERTY() and those which implicitly come from other places, like class flags or type.
Added a fix for const UCLASSes erroring out on deprecated properties, which no longer considers implied flags.

#codereview robert.manuszewski

[CL 2682399 by Steve Robb in Main branch]
2015-09-07 07:41:34 -04:00
Robert Manuszewski
62635cffd9 Making FNativeClassHeaderGenerator::GetGeneratedFunctionTextDevice's MaxLinesPerCpp configurable via ini setting.
[CL 2680019 by Robert Manuszewski in Main branch]
2015-09-04 03:35:53 -04:00
Steve Robb
f402464961 Fix for FToken stack corruption when NAME_SIZE is changed.
#codereview robert.manuszewski

[CL 2670879 by Steve Robb in Main branch]
2015-08-27 10:22:25 -04:00
Gareth Martin
125ac6132f Fix generated _getUObject() function not having "override" when it should
[CL 2664253 by Gareth Martin in Main branch]
2015-08-21 07:27:28 -04:00
Maciej Mroz
108bd4f93a ModuleRelativePath Metadata is properly generated for structures
#codereview Steve.Robb

[CL 2662589 by Maciej Mroz in Main branch]
2015-08-20 09:50:59 -04:00
Robert Manuszewski
43728870d0 When cooking saving package will now skip creating exports and imports that are editor-only (are instances of an editor class).
[CL 2662441 by Robert Manuszewski in Main branch]
2015-08-20 06:52:43 -04:00
Maciej Mroz
94212b39e7 UEBP-40 C++ code generation (WIP):
- improved CustomThunk support
- MakeArray fix

[CL 2659156 by Maciej Mroz in Main branch]
2015-08-18 08:22:17 -04:00
Mikolaj Sieluzycki
8a4a6cd7fe Fix multiline comment issues when parsing */// in UHT.
[CL 2658966 by Mikolaj Sieluzycki in Main branch]
2015-08-18 04:09:32 -04:00
Mikolaj Sieluzycki
f68e6e073e Fix multiline comments parsing in UHT, where end of comment was treated as start of one, e.g. /*/ Comment /*/
[CL 2657671 by Mikolaj Sieluzycki in Main branch]
2015-08-17 07:52:26 -04:00
MrMormon
9e4eadaf35 PR #1460: Fixed LogCompile typo: Tabify time was was... (Contributed by MrMormon)
[CL 2654482 by Robert Manuszewski in Main branch]
2015-08-13 09:24:50 -04:00
Steve Robb
7d32c57c73 Support for regular C++ int types in casts.
#codereview robert.manuszewski

[CL 2646554 by Steve Robb in Main branch]
2015-08-06 12:09:44 -04:00
Mikolaj Sieluzycki
a53cf2e072 Make UEnums store values as uint8 instead of int8.
#codereview Robert.Manuszewski

[CL 2643276 by Mikolaj Sieluzycki in Main branch]
2015-08-04 08:20:16 -04:00
Maciej Mroz
ae93f71eb4 CodeGenerator sets CppType in Enum
UByteProperty::GetCPPType returns proper type

#codereview Steve.Robb

[CL 2641863 by Maciej Mroz in Main branch]
2015-08-03 09:58:36 -04:00
Maciej Mroz
08af6cf6b5 UEBP-40 C++ code generation (WIP):
- Native Access Specifiers
- FEmitDefaultValueHelper fix/improvements

#codereview Robert.Manuszewski, Nick.Whiting

[CL 2640098 by Maciej Mroz in Main branch]
2015-07-31 06:27:05 -04:00
Mikolaj Sieluzycki
6979137b8a Allow UHT to parse 'int', 'signed int' and 'unsigned int' types.
[CL 2636566 by Mikolaj Sieluzycki in Main branch]
2015-07-29 03:49:56 -04:00
Steve Robb
f74c17b324 Cope with explicit when looking for user constructors.
#codereview robert.manuszewski

[CL 2636012 by Steve Robb in Main branch]
2015-07-28 16:46:57 -04:00
Steve Robb
d1605aa96b FindMatchingClosingParenthesis moved to UnrealString.h, return value fixed (was off-by-one) and checked upper bound of StartSearch.
UnrealHeaderTool now supports casts and brackets when recognizing UENUMs as array bounds.

#codereview robert.manuszewski,leigh.swift,lee.clark

[CL 2635565 by Steve Robb in Main branch]
2015-07-28 13:08:12 -04:00
Maciej Mroz
c73e6aef8c UEBP-40 C++ code generation (WIP):
- interface is called with "::Execute_"
- interface functions are BlueprintNativeEvents
- CppFromBpEvent metadata added, to force FUNC_Event
- BlueprintNativeEvent support
- BlueprintImplementableEvent support

[CL 2635382 by Maciej Mroz in Main branch]
2015-07-28 10:40:16 -04:00