Commit Graph

339 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
Jamie Dale
a0364ec584 Allow Cast to gracefully handle an interface instance that's not a UObject
This allows you to test whether a particular interface instance (implemented as a UInterface) has been implemented by a UObject, or whether it's been implemented by a standard C++ type. This is useful if you have an interface that _may_ be implemented by a UObject, but isn't required to be.

#rb Tim.Smith
#preflight 60fb64cd8fe7e0000143f3de

[CL 16954784 by Jamie Dale in ue5-main branch]
2021-07-26 07:57:20 -04:00
Tim Smith
156acc3bd6 Replacing the UClass::StaticRegistrationInfo method with a extern function that won't be exported from the DLL if the class is marked as exported.
#rb trivial
#rnx
#robomerge[fortnite] Dev-EngineMerge
#preflight 60fc2bc324804700014eda57

[CL 16949953 by Tim Smith in ue5-main branch]
2021-07-24 11:55:29 -04:00
Tim Smith
3fb2d29546 Removed the UScriptStruct _Hash() method from being marked as an exported API method. Reduces the number of exports.
#rb trivial
#rnx
#robomerge[fortnite] Dev-EngineMerge

[CL 16949693 by Tim Smith in ue5-main branch]
2021-07-24 10:13:00 -04:00
Tim Smith
4f079936c9 Fixed issue where UHT would crash if an exception is thrown in one of the code generation routines.
#rb trivial
#rnx

[CL 16940932 by Tim Smith in ue5-main branch]
2021-07-23 15:40:58 -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
c21e577222 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

[CL 16922516 by Tim Smith in ue5-main branch]
2021-07-22 08:54:18 -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
a8ee5191bb Remove the need for GetFunction during code generation
#rb none
#rnx

[CL 16899287 by Tim Smith in ue5-main branch]
2021-07-20 14:22:09 -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
327490c46a Fixing issue with WRITEF/VERIFYREF where a duplicate file name would result in base verifications.
#rb none
#rnx
#preflight 60f5901694fcd00001e9619a

[CL 16884561 by Tim Smith in ue5-main branch]
2021-07-19 12:02:17 -04:00
Tim Smith
df37b074b1 Removed all lookups from UObjects to UHT definition objects.
#rb none
#rnx
#preflight 60eee3a9caf0590001975c94

[CL 16850095 by Tim Smith in ue5-main branch]
2021-07-14 10:49:06 -04:00
Tim Smith
8072fd1c14 Add the ability to disable concurrent parsing and code generation to make debugging a bit easier.
#rb none
#rnx
#preflight 60d225d3be81e80001879ecd

[CL 16747440 by Tim Smith in ue5-main branch]
2021-06-22 15:26:53 -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
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
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