Commit Graph

392 Commits

Author SHA1 Message Date
Tim Smith
3a23d86d61 Improved the detection of class methods. Resolves issue of incorrectly matching method names in comments.
#jira UE-85807
#rb none
#rnx

[CL 16886923 by Tim Smith in ue5-main branch]
2021-07-19 14:40:11 -04:00
Tim Smith
fc9af25e52 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

[CL 16882977 by Tim Smith in ue5-main branch]
2021-07-19 09:33:26 -04:00
Tim Smith
0b925e48a2 Removed the FToken from the FFuncInfo structure.
Saved around 100MB of memory on some larger games.

#rb none
#rnx
#preflight 60d335d1be81e80001bd8772

[CL 16757044 by Tim Smith in ue5-main branch]
2021-06-23 10:47:40 -04:00
Tim Smith
232c8e72ba 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

[CL 16743622 by Tim Smith in ue5-main branch]
2021-06-22 11:20:56 -04:00
Tim Smith
8fc31ca205 Fix issue where /* /* */ comment would cause UHT to crash.
#jira UE-89192
#rb trivial
#preflight 60d0ebc195e23200014d07ec

[CL 16734161 by Tim Smith in ue5-main branch]
2021-06-21 17:09:36 -04:00
Tim Smith
cfca999345 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

[CL 16727641 by Tim Smith in ue5-main branch]
2021-06-21 09:34:39 -04:00
Tim Smith
8590673019 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

[CL 16706846 by Tim Smith in ue5-main branch]
2021-06-17 13:38:56 -04:00
Tim Smith
1d9018502f 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

[CL 16687191 by Tim Smith in ue5-main branch]
2021-06-16 08:49:35 -04:00
Zousar Shaker
9cc72e7b9f 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

[CL 16622906 by Zousar Shaker in ue5-main branch]
2021-06-10 10:19:17 -04:00
Tim Smith
c21dd493c5 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

[CL 16606206 by Tim Smith in ue5-main branch]
2021-06-09 11:42:43 -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