media/webrtc/trunk/tools/clang/plugins/tests/overridden_methods.cpp

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:73544c655438
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "overridden_methods.h"
6
7 // Fill in the implementations
8 void DerivedClass::SomeMethod() {}
9 void DerivedClass::SomeOtherMethod() {}
10 void DerivedClass::WebKitModifiedSomething() {}
11
12 class ImplementationInterimClass : public BaseClass {
13 public:
14 // Should not warn about pure virtual methods.
15 virtual void SomeMethod() = 0;
16 };
17
18 class ImplementationDerivedClass : public ImplementationInterimClass,
19 public webkit_glue::WebKitObserverImpl {
20 public:
21 // Should not warn about destructors.
22 virtual ~ImplementationDerivedClass() {}
23 // Should warn.
24 virtual void SomeMethod();
25 // Should not warn if marked as override.
26 virtual void SomeOtherMethod() override;
27 // Should not warn for inline implementations in implementation files.
28 virtual void SomeInlineMethod() {}
29 // Should not warn if overriding a method whose origin is WebKit.
30 virtual void WebKitModifiedSomething();
31 // Should warn if overridden method isn't pure.
32 virtual void SomeNonPureBaseMethod() {}
33 };
34
35 int main() {
36 DerivedClass something;
37 ImplementationDerivedClass something_else;
38 }

mercurial