mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-23 00:47:31 +09:00
54 lines
1.5 KiB
C++
54 lines
1.5 KiB
C++
// 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 SomeNonPureBaseMethod() {}
|
|
};
|
|
|
|
class InterimClass : public BaseClass {
|
|
// Should not warn about pure virtual methods.
|
|
virtual void SomeMethod() = 0;
|
|
};
|
|
|
|
namespace WebKit {
|
|
class WebKitObserver {
|
|
public:
|
|
virtual void WebKitModifiedSomething() {};
|
|
};
|
|
} // namespace WebKit
|
|
|
|
namespace webkit_glue {
|
|
class WebKitObserverImpl : WebKit::WebKitObserver {
|
|
public:
|
|
virtual void WebKitModifiedSomething() {};
|
|
};
|
|
} // namespace webkit_glue
|
|
|
|
class DerivedClass : public InterimClass,
|
|
public webkit_glue::WebKitObserverImpl {
|
|
public:
|
|
// Should not warn about destructors.
|
|
virtual ~DerivedClass() {}
|
|
// Should warn.
|
|
virtual void SomeMethod();
|
|
// Should not warn if marked as override.
|
|
virtual void SomeOtherMethod() override;
|
|
// Should warn for inline implementations.
|
|
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() {}
|
|
};
|
|
|
|
#endif // OVERRIDDEN_METHODS_H_
|