diff options
Diffstat (limited to 'media/webrtc/trunk/tools/clang/plugins/tests/virtual_methods.h')
-rw-r--r-- | media/webrtc/trunk/tools/clang/plugins/tests/virtual_methods.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/media/webrtc/trunk/tools/clang/plugins/tests/virtual_methods.h b/media/webrtc/trunk/tools/clang/plugins/tests/virtual_methods.h new file mode 100644 index 000000000..d9fbf96ed --- /dev/null +++ b/media/webrtc/trunk/tools/clang/plugins/tests/virtual_methods.h @@ -0,0 +1,39 @@ +// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef VIRTUAL_METHODS_H_ +#define VIRTUAL_METHODS_H_ + +// Should warn about virtual method usage. +class VirtualMethodsInHeaders { + public: + // Don't complain about these. + virtual void MethodIsAbstract() = 0; + virtual void MethodHasNoArguments(); + virtual void MethodHasEmptyDefaultImpl() {} + + // But complain about this: + virtual bool ComplainAboutThis() { return true; } +}; + +// Complain on missing 'virtual' keyword in overrides. +class WarnOnMissingVirtual : public VirtualMethodsInHeaders { + public: + void MethodHasNoArguments() override; +}; + +// Don't complain about things in a 'testing' namespace. +namespace testing { +struct TestStruct {}; +} // namespace testing + +class VirtualMethodsInHeadersTesting : public VirtualMethodsInHeaders { + public: + // Don't complain about no virtual testing methods. + void MethodHasNoArguments(); + private: + testing::TestStruct tester_; +}; + +#endif // VIRTUAL_METHODS_H_ |