Index: tools/clang/plugins/tests/overridden_methods.cpp |
diff --git a/tools/clang/plugins/tests/overridden_methods.cpp b/tools/clang/plugins/tests/overridden_methods.cpp |
index f81d3a27ca1503e9985b87496c495cb5c7b35025..f572a41733f1c3795ef0e28a7016d06a421ed5f1 100644 |
--- a/tools/clang/plugins/tests/overridden_methods.cpp |
+++ b/tools/clang/plugins/tests/overridden_methods.cpp |
@@ -1,4 +1,4 @@ |
-// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
+// Copyright (c) 2012 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. |
@@ -9,6 +9,30 @@ void DerivedClass::SomeMethod() {} |
void DerivedClass::SomeOtherMethod() {} |
void DerivedClass::WebKitModifiedSomething() {} |
+class ImplementationInterimClass : public BaseClass { |
+ public: |
+ // Should not warn about pure virtual methods. |
+ virtual void SomeMethod() = 0; |
+}; |
+ |
+class ImplementationDerivedClass : public ImplementationInterimClass, |
+ public webkit_glue::WebKitObserverImpl { |
+ public: |
+ // Should not warn about destructors. |
+ virtual ~ImplementationDerivedClass() {} |
+ // Should warn. |
+ virtual void SomeMethod(); |
+ // Should not warn if marked as override. |
+ virtual void SomeOtherMethod() override; |
+ // Should not warn for inline implementations in implementation files. |
+ virtual void SomeInlineMethod() {} |
+ // Should not warn if overriding a method whose origin is WebKit. |
+ virtual void WebKitModifiedSomething(); |
+ // Should warn if overridden method isn't pure. |
+ virtual void SomeNonPureBaseMethod() {} |
+}; |
+ |
int main() { |
DerivedClass something; |
+ ImplementationDerivedClass something_else; |
} |