/Engine/Source/Runtime/Engine/Public/HLSLTree/HLSLTreeEmit.h
FEmitScopes mostly track FScopes, except they hold transient state used while emitting HLSL The exception isFFunction, which allows FScopes to be dynamically injected into the hierarchy, which will result in FEmitScopes matching this dynamic hierarchy
class FEmitScope
FStatement*...
ContainedStatement
EExpressionEval...
Evaluation
FEmitShaderNode...
FirstNode
int32
NestedLevel
FStatement*...
OwnerStatement
FEmitScope*...
ParentScope
EEmitScopeState
State