2019-12-26 23:06:02 -05:00
|
|
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
2018-09-21 09:03:07 -04:00
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "EnumOnlyHeader.h"
|
|
|
|
|
#include "TestObjectSerializers.generated.h"
|
|
|
|
|
|
|
|
|
|
UCLASS()
|
|
|
|
|
class UTestObject_NoSerializers : public UObject
|
|
|
|
|
{
|
|
|
|
|
GENERATED_UCLASS_BODY()
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
UCLASS()
|
|
|
|
|
class UTestObject_FArchive : public UObject
|
|
|
|
|
{
|
|
|
|
|
GENERATED_UCLASS_BODY()
|
|
|
|
|
virtual void Serialize(FArchive& Ar) override;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
UCLASS()
|
|
|
|
|
class UTestObject_FStructuredArchive : public UObject
|
|
|
|
|
{
|
|
|
|
|
GENERATED_UCLASS_BODY()
|
2020-09-24 00:43:27 -04:00
|
|
|
virtual void Serialize(FStructuredArchive::FRecord Record) override;
|
2018-09-21 09:03:07 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
UCLASS()
|
|
|
|
|
class UTestObject_BothArchives : public UObject
|
|
|
|
|
{
|
|
|
|
|
GENERATED_UCLASS_BODY()
|
|
|
|
|
virtual void Serialize(FArchive& Ar) override;
|
2020-09-24 00:43:27 -04:00
|
|
|
virtual void Serialize(FStructuredArchive::FRecord Record) override;
|
2018-09-21 09:03:07 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
UCLASS()
|
|
|
|
|
class UTestObject_ArchiveInEditorOnlyDataDefine : public UObject
|
|
|
|
|
{
|
|
|
|
|
GENERATED_UCLASS_BODY()
|
|
|
|
|
|
|
|
|
|
#if WITH_EDITORONLY_DATA
|
|
|
|
|
virtual void Serialize(FArchive& Ar) override;
|
|
|
|
|
#endif
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#if 0
|
|
|
|
|
// Should fail - no Serialize functions inside WITH_EDITOR
|
|
|
|
|
UCLASS()
|
|
|
|
|
class UTestObject_ArchiveInWithEditor : public UObject
|
|
|
|
|
{
|
|
|
|
|
GENERATED_UCLASS_BODY()
|
|
|
|
|
|
|
|
|
|
#if WITH_EDITOR
|
|
|
|
|
virtual void Serialize(FArchive& Ar) override;
|
|
|
|
|
#endif
|
|
|
|
|
};
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#if 0
|
|
|
|
|
// Should fail - no Serialize functions inside WITH_EDITOR
|
|
|
|
|
UCLASS()
|
|
|
|
|
class UTestObject_StructuredArchiveInWithEditor : public UObject
|
|
|
|
|
{
|
|
|
|
|
GENERATED_UCLASS_BODY()
|
|
|
|
|
|
|
|
|
|
#if WITH_EDITOR
|
|
|
|
|
virtual void Serialize(FStructuredArchive::FSlot Slot) override;
|
|
|
|
|
#endif
|
|
|
|
|
};
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#if 0
|
|
|
|
|
#define SOME_RANDOM_DEFINE 1
|
|
|
|
|
// Should fail - no Serialize functions inside arbitrary preprocessor blocks
|
|
|
|
|
UCLASS()
|
|
|
|
|
class UTestObject_ArchiveInPreprocessorBlock : public UObject
|
|
|
|
|
{
|
|
|
|
|
GENERATED_UCLASS_BODY()
|
|
|
|
|
|
|
|
|
|
#if SOME_RANDOM_DEFINE
|
|
|
|
|
void Serialize(FArchive& Ar) override;
|
|
|
|
|
#endif
|
|
|
|
|
};
|
|
|
|
|
#undef SOME_RANDOM_DEFINE
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#if 0
|
|
|
|
|
#define SOME_RANDOM_DEFINE 1
|
|
|
|
|
// Should fail - no Serialize functions inside arbitrary preprocessor blocks
|
|
|
|
|
UCLASS()
|
|
|
|
|
class UTestObject_StructuredArchiveInPreprocessorBlock : public UObject
|
|
|
|
|
{
|
|
|
|
|
GENERATED_UCLASS_BODY()
|
|
|
|
|
|
|
|
|
|
#if SOME_RANDOM_DEFINE
|
|
|
|
|
void Serialize(FStructuredArchive::FSlot Slot) override;
|
|
|
|
|
#endif
|
|
|
|
|
};
|
|
|
|
|
#undef SOME_RANDOM_DEFINE
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#if 0
|
|
|
|
|
#define SOME_RANDOM_DEFINE 1
|
|
|
|
|
// Should fail - no uproperties inside arbitrary preprocessor blocks
|
|
|
|
|
UCLASS()
|
2019-12-13 11:07:03 -05:00
|
|
|
class UTestObject_FPropertyInPreprocessorBlock : public UObject
|
2018-09-21 09:03:07 -04:00
|
|
|
{
|
|
|
|
|
GENERATED_UCLASS_BODY()
|
|
|
|
|
|
|
|
|
|
#if SOME_RANDOM_DEFINE
|
|
|
|
|
UPROPERTY()
|
|
|
|
|
uint32 TestProperty;
|
|
|
|
|
#endif
|
|
|
|
|
};
|
|
|
|
|
#undef SOME_RANDOM_DEFINE
|
|
|
|
|
#endif
|