Commit Graph

398 Commits

Author SHA1 Message Date
Helge Mathee
414e76fb81 RigVM: Implementing support for new memory storage
All code is still based on the UE_RIGVM_UCLASS_BASED_STORAGE_DISABLED define, which is turned on.
So the feature / changes don't affect anything just yet.

#rb na
#fyi jack.cai halfdan.ingvarsson
#jira na

[CL 16970759 by Helge Mathee in ue5-main branch]
2021-07-27 13:59:20 -04:00
Tim Smith
74e0753be0 Fix issue with Placeable/NotPlaceable, EditInlineNew/NotEditInlineNew, and CollapseCategories/DontCollapseCategories would not properly clear inherited flag from super class.
#rb trivial
#rnx
#jira UE-98181
#preflight 60fff2d9118e5b000122dd26

[CL 16967939 by Tim Smith in ue5-main branch]
2021-07-27 09:13:29 -04:00
Tim Smith
d296a56543 Fix issue where UHT was unable to generate functions with deprecated parameters.
#rb none
#rnx
#jira UE-87673
#jira UE-61906

[CL 16938132 by Tim Smith in ue5-main branch]
2021-07-23 12:01:46 -04:00
Tim Smith
94066f422d 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

[CL 16936536 by Tim Smith in ue5-main branch]
2021-07-23 08:46:22 -04:00
Tim Smith
11568b60b1 Remove the need for GetClass during code generation
#rb none
#rnx

[CL 16899911 by Tim Smith in ue5-main branch]
2021-07-20 14:55:20 -04:00
Tim Smith
bb9a97a14d 1) Removed the need to create a UScriptStruct to test to see if it has a NoOp constructor.
2) Added a quick method to query the deferred CppStructOps until we decide on a long term solution
3) Added method to test to see if a source file is the NoExports include file.

#rb none
#rnx
#preflight 60f6c42f25c166000152cbdc

[CL 16895867 by Tim Smith in ue5-main branch]
2021-07-20 09:30:11 -04:00
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