Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(213)

Side by Side Diff: tools/clang/blink_gc_plugin/tests/cycle_ptrs.h

Issue 2578103003: Add use-chromium-style-naming option to Blink GC plugin. (Closed)
Patch Set: Rebase Created 3 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CYCLE_PTRS_H_ 5 #ifndef CYCLE_PTRS_H_
6 #define CYCLE_PTRS_H_ 6 #define CYCLE_PTRS_H_
7 7
8 #include "heap/stubs.h" 8 #include "heap/stubs.h"
9 9
10 namespace blink { 10 namespace blink {
11 11
12 class B; 12 class B;
13 class C; 13 class C;
14 class D; 14 class D;
15 class E; 15 class E;
16 16
17 // This contains a leaking cycle: 17 // This contains a leaking cycle:
18 // E -per-> A -mem-> B -ref-> C -own-> D -own-vec-> E 18 // E -per-> A -mem-> B -ref-> C -own-> D -own-vec-> E
19 19
20 // The traced cycle from A -> B -> A does not leak. 20 // The traced cycle from A -> B -> A does not leak.
21 21
22 class A : public GarbageCollected<A> { 22 class A : public GarbageCollected<A> {
23 public: 23 public:
24 virtual void trace(Visitor*); 24 virtual void Trace(Visitor*);
25 private: 25 private:
26 Member<B> m_b; 26 Member<B> m_b;
27 }; 27 };
28 28
29 class B : public GarbageCollectedFinalized<B> { 29 class B : public GarbageCollectedFinalized<B> {
30 public: 30 public:
31 virtual void trace(Visitor*); 31 virtual void Trace(Visitor*);
32 private: 32 private:
33 Member<A> m_a; 33 Member<A> m_a;
34 RefPtr<C> m_c; 34 RefPtr<C> m_c;
35 }; 35 };
36 36
37 class C : public RefCounted<C> { 37 class C : public RefCounted<C> {
38 private: 38 private:
39 OwnPtr<D> m_d; 39 OwnPtr<D> m_d;
40 }; 40 };
41 41
42 class D { 42 class D {
43 private: 43 private:
44 Vector<OwnPtr<E> > m_es; 44 Vector<OwnPtr<E> > m_es;
45 }; 45 };
46 46
47 class E { 47 class E {
48 private: 48 private:
49 Persistent<A> m_a; 49 Persistent<A> m_a;
50 }; 50 };
51 51
52 } 52 }
53 53
54 #endif 54 #endif
OLDNEW
« no previous file with comments | « tools/clang/blink_gc_plugin/tests/crash_on_invalid.h ('k') | tools/clang/blink_gc_plugin/tests/cycle_ptrs.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698