Files
UnrealEngineUWP/Engine/Source/Programs/UnrealBuildTool/System
russell johnston 8705b81296 Class object initialization, self, and inheritance
Represent class initialization logic with a new `VConstructor` type, holding a sequence of interleaved fields and blocks. At class construction time, flatten these sequences such that class bodies run in order, and subclasses run before superclasses. At object construction time, extract a sequence of `VProcedure`s representing the non-overridden field initializers and blocks to invoke.

Give these initializers and blocks (as well as member functions) access to their `Self` object via a `ParentScope` capture in `VFunction`, copied to register 0 at call time. Rather than close over `Self` at object construction time, do it at field load time, so these members can be shared between all instances of a class as `VProcedures`, either in the `VConstructor` or `VShape`. In the future, the `ParentScope` field for non-member functions may instead point to an environment.

#rb saam.barati, yiliang.siew

[CL 29530839 by russell johnston in ue5-main branch]
2023-11-07 15:32:58 -05:00
..
2023-11-01 15:35:29 -04:00
2023-08-08 12:52:41 -04:00
2023-07-31 18:02:16 -04:00
2023-08-08 12:52:41 -04:00
2023-08-08 12:52:41 -04:00