Index: tools/clang/plugins/tests/overridden_methods.h |
diff --git a/tools/clang/plugins/tests/overridden_methods.h b/tools/clang/plugins/tests/overridden_methods.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..ed29933456894549b332da271af8027a26ff253f |
--- /dev/null |
+++ b/tools/clang/plugins/tests/overridden_methods.h |
@@ -0,0 +1,70 @@ |
+// 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 OVERRIDDEN_METHODS_H_ |
+#define OVERRIDDEN_METHODS_H_ |
+ |
+// Should warn about overriding of methods. |
+class BaseClass { |
+ public: |
+ virtual ~BaseClass() {} |
+ virtual void SomeMethod() = 0; |
+ virtual void SomeOtherMethod() = 0; |
+ virtual void SomeInlineMethod() = 0; |
+ virtual void SomeConstMethod() const = 0; |
+ virtual void SomeMethodWithExceptionSpec() throw() = 0; |
+ virtual void SomeConstMethodWithExceptionSpec() const throw(int) = 0; |
+ virtual void SomeNonPureBaseMethod() {} |
+ virtual void SomeMethodWithComment() = 0; |
+ virtual void SomeMethodWithCommentAndBody() = 0; |
+}; |
+ |
+class InterimClass : public BaseClass { |
+ // Should warn about pure virtual methods. |
+ virtual void SomeMethod() = 0; |
+}; |
+ |
+namespace blink { |
+class WebKitObserver { |
+ public: |
+ virtual void WebKitModifiedSomething() {}; |
+}; |
+} // namespace blink |
+ |
+namespace webkit_glue { |
+class WebKitObserverImpl : blink::WebKitObserver { |
+ public: |
+ virtual void WebKitModifiedSomething() {}; |
+}; |
+} // namespace webkit_glue |
+ |
+class DerivedClass : public InterimClass, |
+ public webkit_glue::WebKitObserverImpl { |
+ public: |
+ // Should warn about destructors. |
+ virtual ~DerivedClass() {} |
+ // Should warn. |
+ virtual void SomeMethod(); |
+ // Should not warn if marked as override. |
+ void SomeOtherMethod() override; |
+ // Should warn for inline implementations. |
+ virtual void SomeInlineMethod() {} |
+ // Should warn if overriding a method whose origin is blink. |
+ virtual void WebKitModifiedSomething(); |
+ // Should warn with the insertion point after the const. |
+ virtual void SomeConstMethod() const {} |
+ // Should warn with the insertion point after the throw spec. |
+ virtual void SomeMethodWithExceptionSpec() throw() {} |
+ // Should warn with the insertion point after both the const and the throw |
+ // specifiers. |
+ virtual void SomeConstMethodWithExceptionSpec() const throw(int) {} |
+ // Should warn even if overridden method isn't pure. |
+ virtual void SomeNonPureBaseMethod() {} |
+ // Should warn and place correctly even when there is a comment. |
+ virtual void SomeMethodWithComment(); // This is a comment. |
+ // Should warn and place correctly even if there is a comment and body. |
+ virtual void SomeMethodWithCommentAndBody() {} // This is a comment. |
+}; |
+ |
+#endif // OVERRIDDEN_METHODS_H_ |