| 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;
|
| }
|
|
|