Commit Graph

51 Commits

Author SHA1 Message Date
UnrealBot
73409369c0 Branch snapshot for CL 21319338
[CL 21319338 in ue5-main branch]
2022-08-10 16:03:37 +00:00
francis hurteau
94281d5ef7 Expand the check for optional class not to allow editor only properties but also prevent struct properties from containing editor only properties
#rb Tim.Smith
#preflight 628d33376c4351e37291b959

#ROBOMERGE-AUTHOR: francis.hurteau
#ROBOMERGE-SOURCE: CL 20370136 via CL 20371532 via CL 20371546 via CL 20371560
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)

[CL 20372798 by francis hurteau in ue5-main branch]
2022-05-25 18:38:47 -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
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
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
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
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
Tim Smith
224901db8a Change PropertyBase to reference new types.
#rb self
#rnx
#preflight 60a8eae36905a600014ed8c5

[CL 16429032 by Tim Smith in ue5-main branch]
2021-05-22 08:04:39 -04:00
Tim Smith
377b8798c5 Added new PropertyTypes which in the long run will be where different property types are implemented.
Added new casting system betwen the different type definitions.  This allows some patterns that makes the code easier.
Moved some direct calls to engine API to FClasses.
More property data moved to the property definition.
Replacing a many more instances of referencing engine type directly with referencing UHT types.
Removed the FToken from the property data.  Saved 600MB of memory on some titles.

#rb jonathan.adamczewski
#rnx

[CL 16416114 by Tim Smith in ue5-main branch]
2021-05-21 07:29:12 -04:00
Tim Smith
9915ffe5a7 Merging the base class structure into the main type info.
Produced a common inheritance parser.
Added error return for when verification fails

#rb jonathan.adamczewski
#rnx
#preflight 60a4ef3cb7ccb00001771494

[CL 16383144 by Tim Smith in ue5-main branch]
2021-05-19 07:42:12 -04:00
Tim Smith
2504290d2e Remove the compiler meta data manager.
Elimination of some quick to resolve type system lookups.

#rnx
#rb jonathan.adamczewski
#preflight 609e5a1dcbf9a40001fe9778

[CL 16328413 by Tim Smith in ue5-main branch]
2021-05-14 07:48:15 -04:00
Tim Smith
85fc123dc0 Removed the FTokenData and FPropertyData. Information has been moved to the type system.
#rb jonathan.adamczewski
#rnx
#preflight 609d0a38a5e8310001bc76ac

[CL 16311618 by Tim Smith in ue5-main branch]
2021-05-13 07:56:52 -04:00
Tim Smith
e7ea9ed28b 1) Create the Function type information that provides the UHT data for functions.
2) Remove the global hash storage system since it is moved into the Function type information.
3) Remove some unsed classes and methods.
4) Added the TEMPORARY auto creation of base engine types until they can be added to the no export file.

#rb marc.audy
#rnx
#preflight 60893ddb2377910001be8638

[CL 16142341 by Tim Smith in ue5-main branch]
2021-04-28 07:34:10 -04:00
Zousar Shaker
77d13185b7 Copying //UE5/Dev-Cooker@14539516 to Main (//UE5/Main)
[CL 14539954 by Zousar Shaker in ue5-main branch]
2020-10-21 17:56:05 -04:00
Jamie Dale
7af4f56be6 Merging CL# 13989043
Support for namespaced native types in UHT.
Some obvious string optimizations.

#fyi Steve.Robb
#rb Steve.Robb

[CL 13991135 by Jamie Dale in ue5-main branch]
2020-07-31 11:41:49 -04:00
Marc Audy
11f5b21210 Merging //UE5/Release-Engine-Staging @ 13752110 to Main (//UE5/Main)
#rnx

[CL 13753156 by Marc Audy in ue5-main branch]
2020-06-23 18:40:00 -04:00
marc audy
e235ae1375 Improve header generation time by ~4 seconds
#rb
#rnx
#jira

#ROBOMERGE-SOURCE: CL 13050907 via CL 13050910 via CL 13050915
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v686-13045012)

[CL 13050917 by marc audy in Main branch]
2020-04-27 17:17:39 -04:00
Steve Robb
eb5e88e2b6 Fix for UHT crashing when you have a UInterface but no IInterface.
#rb robert.manuszewski
#jira none

[CL 11418839 by Steve Robb in Main branch]
2020-02-13 09:22:22 -05:00
marc audy
717a9089ca Codereview feedback from UHT changes
#rb Steve.Robb
#rnx
#jira


#ROBOMERGE-OWNER: marc.audy
#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 11115980 via CL 11115983 via CL 11115985
#ROBOMERGE-BOT: (v640-11091645)

[CL 11116147 by marc audy in Main branch]
2020-01-27 11:30:59 -05:00
marc audy
80986e13a9 UHT Additional cleanup
* Remove FNameLookupCPP struct and interface name maps. Overhead of managing/locking maps provides no benefit to the very simple Printf that it is ultimately doing.
* Remove unused FNameLookupCPP source file
* Remove GClassStrippedHeaderTextMap and GClassHeaderNameWithNoPathMap as they are unused
* No longer add Enum hashes to global table as they are not read.
* CheckedMetadataSpecifiers now stored as a FName keyed TMap as the incoming values are names not strings, so no need to convert name to string
#jira
#rnx
#rb


#ROBOMERGE-OWNER: marc.audy
#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 10879228 via CL 10879328 via CL 10879344
#ROBOMERGE-BOT: (v626-10872990)

[CL 10880488 by marc audy in Main branch]
2020-01-06 12:52:50 -05:00
marc audy
a7f3d43678 UHT optimizations part 6 - Generate files in parallel. Improves code generation phase by ~50%.
* Restructured code so that FNativeClassHeaderGenerator can now use ParallelFor for 3 phases: creating the .generated.h files, creating the .gen.cpp, and exporting the generated headers
* FNameLookupCPP, GPackageSingletons, GGeneratedCodeHashes, GetTypePackageName, FNativeClassHeaderGenerator::GetPackageSingletonName, FTypeSingletonCache, and FTypeSingleton::GetExternDecl now use RWScopeLocks to safely control access to globals/statics
#jira
#rnx
#rb


#ROBOMERGE-OWNER: marc.audy
#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 10876463 via CL 10876464 via CL 10876465
#ROBOMERGE-BOT: (v624-10872983)

[CL 10876473 by marc audy in Main branch]
2020-01-04 15:28:16 -05:00
marc audy
f71a47c374 UHT optimizations part 1 - basic cleanup, minimal measurable gains
#jira
#rnx


#ROBOMERGE-SOURCE: CL 10872174 via CL 10872175 via CL 10872176
#ROBOMERGE-BOT: (v620-10870533)

[CL 10872177 by marc audy in Main branch]
2019-12-30 15:05:12 -05:00