summaryrefslogtreecommitdiffstats
path: root/third_party/libwebrtc/tools/clang/plugins/tests/base_refcounted.cpp
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 01:13:27 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 01:13:27 +0000
commit40a355a42d4a9444dc753c04c6608dade2f06a23 (patch)
tree871fc667d2de662f171103ce5ec067014ef85e61 /third_party/libwebrtc/tools/clang/plugins/tests/base_refcounted.cpp
parentAdding upstream version 124.0.1. (diff)
downloadfirefox-upstream/125.0.1.tar.xz
firefox-upstream/125.0.1.zip
Adding upstream version 125.0.1.upstream/125.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'third_party/libwebrtc/tools/clang/plugins/tests/base_refcounted.cpp')
-rw-r--r--third_party/libwebrtc/tools/clang/plugins/tests/base_refcounted.cpp72
1 files changed, 0 insertions, 72 deletions
diff --git a/third_party/libwebrtc/tools/clang/plugins/tests/base_refcounted.cpp b/third_party/libwebrtc/tools/clang/plugins/tests/base_refcounted.cpp
deleted file mode 100644
index 364a3e888c..0000000000
--- a/third_party/libwebrtc/tools/clang/plugins/tests/base_refcounted.cpp
+++ /dev/null
@@ -1,72 +0,0 @@
-// 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.
-
-#include "base_refcounted.h"
-
-#include <cstddef>
-
-namespace {
-
-// Unsafe; should error.
-class AnonymousDerivedProtectedToPublicInImpl
- : public ProtectedRefCountedDtorInHeader {
- public:
- AnonymousDerivedProtectedToPublicInImpl() {}
- ~AnonymousDerivedProtectedToPublicInImpl() {}
-};
-
-} // namespace
-
-// Unsafe; should error.
-class PublicRefCountedDtorInImpl
- : public base::RefCounted<PublicRefCountedDtorInImpl> {
- public:
- PublicRefCountedDtorInImpl() {}
- ~PublicRefCountedDtorInImpl() {}
-
- private:
- friend class base::RefCounted<PublicRefCountedDtorInImpl>;
-};
-
-class Foo {
- public:
- class BarInterface {
- protected:
- virtual ~BarInterface() {}
- };
-
- typedef base::RefCounted<BarInterface> RefCountedBar;
- typedef RefCountedBar AnotherTypedef;
-};
-
-class Baz {
- public:
- typedef typename Foo::AnotherTypedef MyLocalTypedef;
-};
-
-// Unsafe; should error.
-class UnsafeTypedefChainInImpl : public Baz::MyLocalTypedef {
- public:
- UnsafeTypedefChainInImpl() {}
- ~UnsafeTypedefChainInImpl() {}
-};
-
-int main() {
- PublicRefCountedDtorInHeader bad;
- PublicRefCountedDtorInImpl also_bad;
-
- ProtectedRefCountedDtorInHeader* protected_ok = NULL;
- PrivateRefCountedDtorInHeader* private_ok = NULL;
-
- DerivedProtectedToPublicInHeader still_bad;
- PublicRefCountedThreadSafeDtorInHeader another_bad_variation;
- AnonymousDerivedProtectedToPublicInImpl and_this_is_bad_too;
- ImplicitDerivedProtectedToPublicInHeader bad_yet_again;
- UnsafeTypedefChainInImpl and_again_this_is_bad;
-
- WebKitPublicDtorInHeader ignored;
- WebKitDerivedPublicDtorInHeader still_ignored;
-
- return 0;
-}