diff --git a/Engine/.clang-tidy b/Engine/.clang-tidy deleted file mode 100644 index 649992e69..000000000 --- a/Engine/.clang-tidy +++ /dev/null @@ -1,6 +0,0 @@ ---- -Checks: '-*,modernize-use-override' -WarningsAsErrors: '' -HeaderFilterRegex: '(source/).*' -CheckOptions: - - { key: modernize-use-override.IgnoreDestructors, value: true } \ No newline at end of file diff --git a/Engine/lib/.clang-tidy b/Engine/lib/.clang-tidy new file mode 100644 index 000000000..a81863691 --- /dev/null +++ b/Engine/lib/.clang-tidy @@ -0,0 +1,5 @@ +--- +Checks: '-*' +WarningsAsErrors: '' +HeaderFilterRegex: '.*' +FormatStyle: 'file' diff --git a/Engine/source/console/engineObject.h b/Engine/source/console/engineObject.h index 83297d09f..64cd9c1bc 100644 --- a/Engine/source/console/engineObject.h +++ b/Engine/source/console/engineObject.h @@ -282,6 +282,28 @@ class EngineObject; template< typename T > friend struct ::_SCOPE; \ template< typename T > friend T* _CREATE(); \ template< typename T, typename Base > friend class ::EngineClassTypeInfo; \ + private: \ + typedef ::_Private::_AbstractClassBase< ThisType > _ClassBase; \ + static EngineClassTypeInfo< ThisType, _ClassBase > _smTypeInfo; \ + static EngineExportScope& __engineExportScope(); \ + static EnginePropertyTable& _smPropertyTable; \ + const EngineTypeInfo* __typeinfo() const override; \ + public: + +/// Declare an abstract base class @a type derived from the class @a super. +/// +/// Nearly identical to DECLARE_ABSTRACT_CLASS macro, but with virtual methods +/// that are suppose to be override'd in child classes. +/// +/// @see DECLARE_ABSTRACT_CLASS +#define DECLARE_ABSTRACT_BASE_CLASS(type) \ + public: \ + typedef type ThisType; \ + typedef void SuperType; \ + template< typename T > friend struct ::_EngineTypeTraits; \ + template< typename T > friend struct ::_SCOPE; \ + template< typename T > friend T* _CREATE(); \ + template< typename T, typename Base > friend class ::EngineClassTypeInfo; \ private: \ typedef ::_Private::_AbstractClassBase< ThisType > _ClassBase; \ static EngineClassTypeInfo< ThisType, _ClassBase > _smTypeInfo; \ @@ -504,7 +526,7 @@ class EngineObject : public StrongRefBase { public: - DECLARE_ABSTRACT_CLASS( EngineObject, void ); + DECLARE_ABSTRACT_BASE_CLASS( EngineObject ); DECLARE_INSCOPE( _GLOBALSCOPE ); DECLARE_INSTANTIABLE;