Commit Graph

385 Commits

Author SHA1 Message Date
tim smith
d7668b783d Fixed issue where UHT would crash if an exception is thrown in one of the code generation routines.
#rb trivial
#rnx

#ROBOMERGE-SOURCE: CL 16940932 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)

[CL 16940940 by tim smith in ue5-release-engine-test branch]
2021-07-23 15:41:33 -04:00
tim smith
e33a680de7 Fix issue where UHT was unable to generate functions with deprecated parameters.
#rb none
#rnx
#jira UE-87673
#jira UE-61906

#ROBOMERGE-SOURCE: CL 16938132 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)

[CL 16938135 by tim smith in ue5-release-engine-test branch]
2021-07-23 12:02:05 -04:00
tim smith
dfa6a79e7c 1) Moved some string initialization to the parsing code so it can be run concurrently with all other parsing and not be applied to the post parsing time.
2) Improved the performance of the array dimension enum lookup code.
3) Moved type shutdown to be tracked in the app instead of at c++ exit time.
4) Changed to TSharedRef iteration to use references instead of by value to avoid the performance hit.

#rb none
#rnx

#ROBOMERGE-SOURCE: CL 16936536 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)

[CL 16936540 by tim smith in ue5-release-engine-test branch]
2021-07-23 08:46:32 -04:00
tim smith
8d4c8d9009 1) Make the creation of engine types not required for post parsing.
2) Don't create engine types unless a script plugin is found

#rb none
#rnx

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

[CL 16922790 by tim smith in ue5-release-engine-test branch]
2021-07-22 09:55:25 -04:00
tim smith
ce89d08530 Remove the need for GetClass during code generation
#rb none
#rnx

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

[CL 16899958 by tim smith in ue5-release-engine-test branch]
2021-07-20 14:56:45 -04:00
tim smith
f19a049b59 Remove the need for GetFunction during code generation
#rb none
#rnx

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

[CL 16899291 by tim smith in ue5-release-engine-test branch]
2021-07-20 14:22:36 -04:00
tim smith
4ab05517cf Improved the detection of class methods. Resolves issue of incorrectly matching method names in comments.
#jira UE-85807
#rb none
#rnx

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

[CL 16886976 by tim smith in ue5-release-engine-test branch]
2021-07-19 14:42:38 -04:00
tim smith
c50ab3ad63 Fixing issue with WRITEF/VERIFYREF where a duplicate file name would result in base verifications.
#rb none
#rnx
#preflight 60f5901694fcd00001e9619a

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

[CL 16884565 by tim smith in ue5-release-engine-test branch]
2021-07-19 12:02:26 -04:00
tim smith
e9e53b3b2b Removed all lookups from UObjects to UHT definition objects.
#rb none
#rnx
#preflight 60eee3a9caf0590001975c94

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

[CL 16850104 by tim smith in ue5-release-engine-test branch]
2021-07-14 10:49:58 -04:00
tim smith
af776f9dbb Add the ability to disable concurrent parsing and code generation to make debugging a bit easier.
#rb none
#rnx
#preflight 60d225d3be81e80001879ecd

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

[CL 16747441 by tim smith in ue5-release-engine-test branch]
2021-06-22 15:27:11 -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
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
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
2e1f663dbf Fixing the Mac build again. The diagnostic crept back in due to merging shelves.
#rb trivial
#rnx

[CL 16452740 by Tim Smith in ue5-main branch]
2021-05-25 13:38:40 -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
9df3acd906 Fixing Mac build where a block of diagnostic code slipped in.
#rb trivial
#rnx

[CL 16443708 by Tim Smith in ue5-main branch]
2021-05-24 21:50:00 -04:00