11#if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_4
26#define TOTAL_OVERHEAD_SCRIPT_STATS (STATS && 0)
27#define PER_FUNCTION_SCRIPT_STATS ((STATS || ENABLE_STATNAMEDEVENTS) && 1)
31#if TOTAL_OVERHEAD_SCRIPT_STATS
62#define SCRIPT_LIMIT_BYTECODE_TO_64KB 0
64#if SCRIPT_LIMIT_BYTECODE_TO_64KB
91#define RESULT_PARAM Z_Param__Result
92#define RESULT_DECL void*const RESULT_PARAM
113 return TEXT(
"Absorbed");
115 return TEXT(
"Remote");
117 return TEXT(
"Local");
181#define FUNC_FuncInherit ((EFunctionFlags)(FUNC_Exec | FUNC_Event | FUNC_BlueprintCallable | FUNC_BlueprintEvent | FUNC_BlueprintAuthorityOnly | FUNC_BlueprintCosmetic | FUNC_Const))
182#define FUNC_FuncOverrideMatch ((EFunctionFlags)(FUNC_Exec | FUNC_Final | FUNC_Static | FUNC_Public | FUNC_Protected | FUNC_Private))
183#define FUNC_NetFuncFlags ((EFunctionFlags)(FUNC_Net | FUNC_NetReliable | FUNC_NetServer | FUNC_NetClient | FUNC_NetMulticast))
184#define FUNC_AccessSpecifiers ((EFunctionFlags)(FUNC_Public | FUNC_Private | FUNC_Protected))
459#if DO_BLUEPRINT_GUARD
502 UE_DEPRECATED(5.1,
"GetScriptStack() inefficiently copies the array to return and is now deprecated. Use GetCurrentScriptStack() which returns a TArrayView instead")
561 bool bOldGAllowScriptExecutionInEditor;
564#if TOTAL_OVERHEAD_SCRIPT_STATS
597 void Pause(
double CurrentTime) { TotalTime += CurrentTime - StartTime; }
625#define SCOPED_SCRIPT_NATIVE_TIMER(VarName) \
626 FBlueprintEventTimer::FScopedNativeTimer VarName
629 #define SCOPED_SCRIPT_NATIVE_TIMER(VarName)
632COREUOBJECT_API bool IsValidCPPIdentifierChar(TCHAR Char);
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
#define DECLARE_STATS_GROUP(GroupDesc, GroupId, GroupCat)
Definition Stats.h:689
#define DECLARE_FLOAT_COUNTER_STAT_EXTERN(CounterName, StatId, GroupId, API)
Definition Stats.h:681
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_MULTICAST_DELEGATE_ThreeParams(DelegateName, Param1Type, Param2Type, Param3Type)
Definition DelegateCombinations.h:67
#define DECLARE_MULTICAST_DELEGATE_OneParam(DelegateName, Param1Type)
Definition DelegateCombinations.h:49
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
@ Stop
Definition PrecomputedVolumetricLightmapStreaming.cpp:26
void ProcessLocalScriptFunction(UObject *Context, FFrame &Stack, RESULT_DECL)
Definition ScriptCore.cpp:1186
EAutoRtfmStopTransactMode
Definition Script.h:311
@ AbortingExitAndAbortParent
Definition Script.h:314
@ AbortingExit
Definition Script.h:313
@ GracefulExit
Definition Script.h:312
#define RESULT_DECL
Definition Script.h:92
COREUOBJECT_API FString ToValidCPPIdentifierChars(TCHAR Char)
Definition ScriptCore.cpp:429
uint32 CodeSkipSizeType
Definition Script.h:67
@ MAX_STRING_CONST_SIZE
Definition Script.h:41
UE_FORCEINLINE_HINT FArchive & operator<<(FArchive &Ar, EFunctionFlags &Flags)
Definition Script.h:172
EFunctionFlags
Definition Script.h:132
@ FUNC_BlueprintPure
Definition Script.h:164
@ FUNC_NetClient
Definition Script.h:160
@ FUNC_Protected
Definition Script.h:155
@ FUNC_Final
Definition Script.h:136
@ FUNC_EditorOnly
Definition Script.h:165
@ FUNC_BlueprintCallable
Definition Script.h:162
@ FUNC_BlueprintEvent
Definition Script.h:163
@ FUNC_NetServer
Definition Script.h:157
@ FUNC_HasDefaults
Definition Script.h:159
@ FUNC_Net
Definition Script.h:142
@ FUNC_Public
Definition Script.h:153
@ FUNC_BlueprintCosmetic
Definition Script.h:139
@ FUNC_None
Definition Script.h:134
@ FUNC_NetValidate
Definition Script.h:167
@ FUNC_RequiredAPI
Definition Script.h:137
@ FUNC_HasOutParms
Definition Script.h:158
@ FUNC_Private
Definition Script.h:154
@ FUNC_AllFlags
Definition Script.h:169
@ FUNC_NetResponse
Definition Script.h:148
@ FUNC_BlueprintAuthorityOnly
Definition Script.h:138
@ FUNC_NetRequest
Definition Script.h:144
@ FUNC_MulticastDelegate
Definition Script.h:152
@ FUNC_NetReliable
Definition Script.h:143
@ FUNC_Event
Definition Script.h:147
@ FUNC_DLLImport
Definition Script.h:161
@ FUNC_UbergraphFunction
Definition Script.h:151
@ FUNC_NetMulticast
Definition Script.h:150
@ FUNC_Const
Definition Script.h:166
@ FUNC_Delegate
Definition Script.h:156
@ FUNC_Native
Definition Script.h:146
@ FUNC_Exec
Definition Script.h:145
@ FUNC_Static
Definition Script.h:149
uint16 VariableSizeType
Definition Script.h:52
ECastToken
Definition Script.h:318
@ CST_FloatToDouble
Definition Script.h:323
@ CST_DoubleToFloat
Definition Script.h:322
@ CST_ObjectToInterface
Definition Script.h:319
@ CST_ObjectToBool
Definition Script.h:320
@ CST_InterfaceToBool
Definition Script.h:321
@ CST_Max
Definition Script.h:325
COREUOBJECT_API FString UnicodeToCPPIdentifier(const FString &InName, bool bDeprecated, const TCHAR *Prefix)
Definition ScriptCore.cpp:463
EExprToken
Definition Script.h:190
@ EX_SkipOffsetConst
Definition Script.h:283
@ EX_WireTracepoint
Definition Script.h:282
@ EX_BitFieldConst
Definition Script.h:209
@ EX_Cast
Definition Script.h:248
@ EX_RemoveMulticastDelegate
Definition Script.h:290
@ EX_LetWeakObjPtr
Definition Script.h:288
@ EX_SetArray
Definition Script.h:241
@ EX_InstanceDelegate
Definition Script.h:267
@ EX_SetSet
Definition Script.h:249
@ EX_StringConst
Definition Script.h:223
@ EX_FieldPathConst
Definition Script.h:301
@ EX_VectorConst
Definition Script.h:227
@ EX_NoInterface
Definition Script.h:237
@ EX_UInt64Const
Definition Script.h:246
@ EX_NameConst
Definition Script.h:225
@ EX_LetDelegate
Definition Script.h:260
@ EX_True
Definition Script.h:231
@ EX_PropertyConst
Definition Script.h:243
@ EX_EndSet
Definition Script.h:250
@ EX_AutoRtfmAbortIfNot
Definition Script.h:306
@ EX_Self
Definition Script.h:215
@ EX_StructConst
Definition Script.h:239
@ EX_ClassContext
Definition Script.h:210
@ EX_EndFunctionParms
Definition Script.h:214
@ EX_LocalVariable
Definition Script.h:192
@ EX_EndOfScript
Definition Script.h:275
@ EX_TextConst
Definition Script.h:233
@ EX_CallMulticastDelegate
Definition Script.h:291
@ EX_LetMulticastDelegate
Definition Script.h:259
@ EX_NoObject
Definition Script.h:234
@ EX_FinalFunction
Definition Script.h:220
@ EX_ArrayConst
Definition Script.h:293
@ EX_MetaCast
Definition Script.h:211
@ EX_Max
Definition Script.h:307
@ EX_LetBool
Definition Script.h:212
@ EX_ObjectConst
Definition Script.h:224
@ EX_ArrayGetByRef
Definition Script.h:299
@ EX_SoftObjectConst
Definition Script.h:295
@ EX_Skip
Definition Script.h:216
@ EX_Jump
Definition Script.h:198
@ EX_PopExecutionFlowIfNot
Definition Script.h:271
@ EX_InstanceVariable
Definition Script.h:193
@ EX_SwitchValue
Definition Script.h:297
@ EX_RotationConst
Definition Script.h:226
@ EX_LetObj
Definition Script.h:287
@ EX_EndArrayConst
Definition Script.h:294
@ EX_Nothing
Definition Script.h:203
@ EX_SetConst
Definition Script.h:253
@ EX_ClearMulticastDelegate
Definition Script.h:285
@ EX_CrossInterfaceCast
Definition Script.h:276
@ EX_Vector3fConst
Definition Script.h:257
@ EX_SetMap
Definition Script.h:251
@ EX_Int64Const
Definition Script.h:245
@ EX_LetValueOnPersistentFrame
Definition Script.h:292
@ EX_InterfaceContext
Definition Script.h:273
@ EX_AutoRtfmTransact
Definition Script.h:304
@ EX_Tracepoint
Definition Script.h:286
@ EX_Assert
Definition Script.h:201
@ EX_EndMapConst
Definition Script.h:256
@ EX_EndArray
Definition Script.h:242
@ EX_ComputedJump
Definition Script.h:270
@ EX_EndStructConst
Definition Script.h:240
@ EX_UnicodeStringConst
Definition Script.h:244
@ EX_JumpIfNot
Definition Script.h:199
@ EX_InstrumentationEvent
Definition Script.h:298
@ EX_MapConst
Definition Script.h:255
@ EX_PopExecutionFlow
Definition Script.h:269
@ EX_ClassSparseDataVariable
Definition Script.h:300
@ EX_EndMap
Definition Script.h:252
@ EX_DefaultVariable
Definition Script.h:194
@ EX_VirtualFunction
Definition Script.h:219
@ EX_NothingInt32
Definition Script.h:204
@ EX_LocalOutVariable
Definition Script.h:264
@ EX_AddMulticastDelegate
Definition Script.h:284
@ EX_EndSetConst
Definition Script.h:254
@ EX_IntConstByte
Definition Script.h:236
@ EX_BindDelegate
Definition Script.h:289
@ EX_IntConst
Definition Script.h:221
@ EX_AutoRtfmStopTransact
Definition Script.h:305
@ EX_TransformConst
Definition Script.h:235
@ EX_FloatConst
Definition Script.h:222
@ EX_Context
Definition Script.h:217
@ EX_Return
Definition Script.h:196
@ EX_ObjToInterfaceCast
Definition Script.h:274
@ EX_InterfaceToObjCast
Definition Script.h:277
@ EX_IntOne
Definition Script.h:230
@ EX_DynamicCast
Definition Script.h:238
@ EX_LocalFinalFunction
Definition Script.h:262
@ EX_CallMath
Definition Script.h:296
@ EX_PushExecutionFlow
Definition Script.h:268
@ EX_LocalVirtualFunction
Definition Script.h:261
@ EX_Context_FailSilent
Definition Script.h:218
@ EX_IntZero
Definition Script.h:229
@ EX_StructMemberContext
Definition Script.h:258
@ EX_DeprecatedOp4A
Definition Script.h:266
@ EX_Breakpoint
Definition Script.h:272
@ EX_False
Definition Script.h:232
@ EX_ByteConst
Definition Script.h:228
@ EX_EndParmValue
Definition Script.h:213
@ EX_Let
Definition Script.h:207
@ EX_DoubleConst
Definition Script.h:247
EBlueprintTextLiteralType
Definition Script.h:330
@ MAX_SIMPLE_RETURN_VALUE_SIZE
Definition Script.h:46
Definition Archive.h:1208
static COREUOBJECT_API FBlueprintContext * GetThreadSingleton()
Definition ScriptCore.cpp:208
FBlueprintContext()
Definition ScriptCore.cpp:187
FVirtualStackAllocator * GetVirtualStackAllocator()
Definition Script.h:81
static COREUOBJECT_API FOnScriptInstrumentEvent OnScriptProfilingEvent
Definition Script.h:448
static COREUOBJECT_API bool IsDebuggingEnabled()
Definition ScriptCore.cpp:280
DECLARE_MULTICAST_DELEGATE_OneParam(FOnToggleScriptProfiler, bool)
static COREUOBJECT_API void InstrumentScriptEvent(const FScriptInstrumentationSignal &Info)
Definition ScriptCore.cpp:267
static COREUOBJECT_API void ThrowScriptException(const UObject *ActiveObject, struct FFrame &StackFrame, const FBlueprintExceptionInfo &Info)
Definition ScriptCore.cpp:215
DECLARE_MULTICAST_DELEGATE_OneParam(FOnScriptInstrumentEvent, const FScriptInstrumentationSignal &)
static COREUOBJECT_API FOnScriptDebuggingEvent OnScriptException
Definition Script.h:446
DECLARE_MULTICAST_DELEGATE_ThreeParams(FOnScriptDebuggingEvent, const UObject *, const struct FFrame &, const FBlueprintExceptionInfo &)
static COREUOBJECT_API void SetScriptMaximumLoopIterations(const int32 MaximumLoopIterations)
Definition ScriptCore.cpp:272
static COREUOBJECT_API FOnToggleScriptProfiler OnToggleScriptProfiler
Definition Script.h:450
Definition NameTypes.h:617
Definition VirtualStackAllocator.h:72
Definition ArrayView.h:139
Definition UnrealString.h.inl:34
Definition ThreadSingleton.h:44
static FORCEINLINE T * TryGet()
Definition ThreadSingleton.h:118
static FORCEINLINE T & Get()
Definition ThreadSingleton.h:101
Type
Definition Script.h:347
@ PushState
Definition Script.h:358
@ Stop
Definition Script.h:364
@ Instance
Definition Script.h:350
@ Event
Definition Script.h:351
@ SuspendState
Definition Script.h:361
@ PopState
Definition Script.h:362
@ NodeEntry
Definition Script.h:356
@ NodeExit
Definition Script.h:357
@ NodeDebugSite
Definition Script.h:355
@ ClassScope
Definition Script.h:349
@ ResumeEvent
Definition Script.h:353
@ ResetState
Definition Script.h:360
@ RestoreState
Definition Script.h:359
@ Class
Definition Script.h:348
@ TunnelEndOfThread
Definition Script.h:363
@ InlineEvent
Definition Script.h:352
@ PureNodeEntry
Definition Script.h:354
@ Start
Definition GeoEnum.h:100
Definition VVMContentScope.cpp:14
static double Seconds()
Definition AndroidPlatformTime.h:20
Definition BlueprintExceptionInfo.h:27
COREUOBJECT_API FEditorScriptExecutionGuard()
Definition ScriptCore.cpp:403
COREUOBJECT_API ~FEditorScriptExecutionGuard()
Definition ScriptCore.cpp:416
const struct FFrame * StackFramePtr
Definition Script.h:429
bool IsStackFrameValid() const
Definition Script.h:398
COREUOBJECT_API FName GetFunctionName() const
Definition ScriptCore.cpp:820
FScriptInstrumentationSignal(EScriptInstrumentation::Type InEventType, const UObject *InContextObject, UFunction *InFunction, const int32 LinkId=INDEX_NONE)
Definition Script.h:375
void SetType(EScriptInstrumentation::Type InType)
Definition Script.h:389
const UObject * ContextObject
Definition Script.h:423
const FName EventName
Definition Script.h:427
const UFunction * Function
Definition Script.h:425
const int32 LatentLinkId
Definition Script.h:430
COREUOBJECT_API int32 GetScriptCodeOffset() const
Definition ScriptCore.cpp:825
int32 GetLatentLinkId() const
Definition Script.h:416
EScriptInstrumentation::Type EventType
Definition Script.h:421
COREUOBJECT_API const UClass * GetFunctionClassScope() const
Definition ScriptCore.cpp:815
const FFrame & GetStackFrame() const
Definition Script.h:401
const UObject * GetContextObject() const
Definition Script.h:395
COREUOBJECT_API const UClass * GetClass() const
Definition ScriptCore.cpp:810
EScriptInstrumentation::Type GetType() const
Definition Script.h:386
bool IsContextObjectValid() const
Definition Script.h:392