Commit Graph

391 Commits

Author SHA1 Message Date
tim smith
b3ec04b1e1 Change the Token to use a StringView instead of copying the text directly into two different buffers in the token. Improves performance of the tokenizer and provides a much smaller structure that can be cached for other uses.
#rb none
#rnx
#preflight 60f5732c1d824300016d0630

#ROBOMERGE-SOURCE: CL 16882977 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16882990 by tim smith in ue5-release-engine-test branch]
2021-07-19 09:35:19 -04:00
tim smith
4441c73c6d Removed the FToken from the FFuncInfo structure.
Saved around 100MB of memory on some larger games.

#rb none
#rnx
#preflight 60d335d1be81e80001bd8772

#ROBOMERGE-SOURCE: CL 16757044 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16757056 by tim smith in ue5-release-engine-test branch]
2021-06-23 10:48:20 -04:00
tim smith
65a22303d8 Fix issue where USTRUCTs and UDELEGATES don't generate an error if the H file doesn't include the generated H file. There us currently no requirement for UENUM.
#jira UE-49820
#rb trivial
#preflight 60d1eb9b95e2320001770748

#ROBOMERGE-SOURCE: CL 16743622 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16743627 by tim smith in ue5-release-engine-test branch]
2021-06-22 11:21:23 -04:00
tim smith
b74d0954a2 Fix issue where /* /* */ comment would cause UHT to crash.
#jira UE-89192
#rb trivial
#preflight 60d0ebc195e23200014d07ec

#ROBOMERGE-SOURCE: CL 16734161 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16734182 by tim smith in ue5-release-engine-test branch]
2021-06-21 17:10:24 -04:00
tim smith
ac13af7abe Removed the Class/Struct meta data class.
Fixed some API that were mistakenly setup as generic struct API instead of class API.
Removed some unused API.
No functional changes, just code reorg.

#rb none
#rnx
#preflight 60d08126d9586b0001ae3336

#ROBOMERGE-SOURCE: CL 16727641 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16727647 by tim smith in ue5-release-engine-test branch]
2021-06-21 09:35:30 -04:00
tim smith
f0efc5aeaf Added support for a UEnum not containing a literal zero value. If that is the case, a static_assert is added to verify that one of the enum values is zero.
#rb jonathan.adamczewski
#jira UE-85060
#preflight 60cb726c78c3b00001297ce7

#ROBOMERGE-SOURCE: CL 16706846 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16706890 by tim smith in ue5-release-engine-test branch]
2021-06-17 13:41:17 -04:00
tim smith
c18f0ec418 Cleaning up the compiler directive code.
Add error message for when WITH_EDITOR used in shipping code to hide a property.

#rb jonathan.adamczewski
#rnx
#jira UE-48666

#ROBOMERGE-SOURCE: CL 16687191 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16687195 by tim smith in ue5-release-engine-test branch]
2021-06-16 08:50:17 -04:00
zousar shaker
09c4c45f03 Fix issues with the TObjectPtr upgrade toolchain in preparation of another pass to make ShooterGame compliant and enforce the use of TObjectPtr for all member properties.
#rb matt.peters

#ROBOMERGE-SOURCE: CL 16622906 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v830-16605563)

[CL 16622920 by zousar shaker in ue5-release-engine-test branch]
2021-06-10 10:20:49 -04:00
tim smith
af243577b4 Fixed global delegate functions to support changes when doing live coding.
Fixed issue where changing a function signature in an interface wouldn't update nodes in a blueprint.
Changed the API of the deferred registry to be more inline with UE coding standards.

#rb ben.marsh phillip.kavan
#rnx
#jira UE-113662
#preflight 60c0c0fdc61264000190e16a

#ROBOMERGE-SOURCE: CL 16606206 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v828-16531559)

[CL 16606221 by tim smith in ue5-release-engine-test branch]
2021-06-09 11:43:12 -04:00
Tim Smith
9072242c05 Modify propagation of some property flags to happen after all parsing is complete. This removes a hidden restriction where parse order beyond explicit includes affected the output.
Enable concurrent parsing of headers.
Fixing uninitialized variable from prior submit.

Tested by running UHT on a sample large scale game 1000 times and verifying the output matched with a prior version of UHT.

#rb jonathan.adamczewski
#rnx
#preflight 60be0b3a0249c30001e9b0e5

[CL 16568873 by Tim Smith in ue5-main branch]
2021-06-07 08:08:33 -04:00
Tim Smith
72126e50b9 Undo //UE5/Main/Engine/Source/Programs/UnrealHeaderTool/Private/... changelist 16554523
[CL 16555686 by Tim Smith in ue5-main branch]
2021-06-03 20:34:03 -04:00
Tim Smith
3ae8fb8678 Modify propagation of some property flags to happen after all parsing is complete. This removes a hidden restriction where parse order beyond explicit includes affected the output.
Enable concurrent parsing of headers.

Tested by running UHT on a sample large scale game 1000 times and verifying the output matched with a prior version of UHT.

#rb jonathan.adamczewski
#rnx
#preflight 60b93533884c630001f06a7d

[CL 16554523 by Tim Smith in ue5-main branch]
2021-06-03 18:20:05 -04:00
Tim Smith
bdc1a5d293 Fixing issue in UHT where the CLASS_Config and CLASS_HasInstancedReference flags might not get property propagated when the parent and child are in the same H file.
#rb marc.audy
#rnx
#preflight 60b81011107dc60001a281d5
#preflight 60b823fb8e7ee10001dacb67

[CL 16543221 by Tim Smith in ue5-main branch]
2021-06-02 21:53:36 -04:00
Tim Smith
c40a70a473 Changed the metadata base class API to return a reference to the local meta data since all users now supply metadata.
Moved the parsing of the enumeration form and underlying type to the pre-parser so they can be accessed during the parse phase.
Fixed "warning as errors" return code.
Removed the SimplePropertyTypeDispatch since it was only used the the version that supported containers.

#rb self
#rnx
#preflight 60af9c85cd591d0001bc9a6e

[CL 16483831 by Tim Smith in ue5-main branch]
2021-05-27 10:12:41 -04:00
Tim Smith
e5eec0d339 Cleanup of exception and logging.
#rb self
#rnx
#preflight 60af806f388f9600014b89b4

[CL 16482659 by Tim Smith in ue5-main branch]
2021-05-27 08:04:11 -04:00
Tim Smith
b6d62d54c5 Classes and ScriptStructs are now created post-parse
#rb self
#rnx

[CL 16472312 by Tim Smith in ue5-main branch]
2021-05-26 13:58:10 -04:00
Tim Smith
c824d9c0b3 Enumerations are constructed post parse
#rb self
#rnx

[CL 16470925 by Tim Smith in ue5-main branch]
2021-05-26 12:17:18 -04:00
Tim Smith
6dbd708a7b Removed the usage of FError::Throwf and the need for HeaderParser to set a logging context.
#rb self
#rnx
#preflight 60ae3f7f6905a60001243752

[CL 16468733 by Tim Smith in ue5-main branch]
2021-05-26 09:54:27 -04:00
Tim Smith
27c18e8061 Functions are no longer required to be created at parse time.
#rb self
#rnx
#preflight 60ad8b891d784900010f7c88

[CL 16462576 by Tim Smith in ue5-main branch]
2021-05-25 22:15:51 -04:00
Tim Smith
8d9cf63189 Properties engine types no longer need to be created during parsing.
#rb self
#rnx
#preflight 60ad1c9cbb30900001badd4b

[CL 16451820 by Tim Smith in ue5-main branch]
2021-05-25 13:02:42 -04:00
Tim Smith
4e09fb650a Implement a common meta data container to be shared between all types.
Moving more property functionality into PropertyTypes
Assorted cleanup of other methods.

#rb self
#rnx

[CL 16447199 by Tim Smith in ue5-main branch]
2021-05-25 09:43:57 -04:00
Tim Smith
16f2bed91a Remove all GetProperty calls
#rb self
#rnx
#preflight 60ac45318194e7000114aea5

[CL 16443629 by Tim Smith in ue5-main branch]
2021-05-24 21:36:39 -04:00
Tim Smith
268d862932 Removed most of GetClass calls.
#rb self
#rnx
#preflight 60abf088bb309000018d647f

[CL 16439221 by Tim Smith in ue5-main branch]
2021-05-24 15:36:52 -04:00
Tim Smith
7e79fc7175 Removing GetScriptStruct and GetStruct as much as possible.
#rb self
#rnx
#preflight 60abcdea04188d0001af7b39

[CL 16437013 by Tim Smith in ue5-main branch]
2021-05-24 13:00:29 -04:00
Tim Smith
64372c2039 Changed more routines to not use UFunction type.
Removed GetEnum as much as possible.

#rb self
#rnx
#preflight 60aba9191d02bb00011bb579

[CL 16435208 by Tim Smith in ue5-main branch]
2021-05-24 10:08:26 -04:00