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

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

Issue 2578103003: Add use-chromium-style-naming option to Blink GC plugin. (Closed)
Patch Set: Rebase Created 4 years 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 FIELDS_ILLEGAL_TRACING_H_ 5 #ifndef FIELDS_ILLEGAL_TRACING_H_
6 #define FIELDS_ILLEGAL_TRACING_H_ 6 #define FIELDS_ILLEGAL_TRACING_H_
7 7
8 #include "heap/stubs.h" 8 #include "heap/stubs.h"
9 9
10 namespace blink { 10 namespace blink {
11 11
12 namespace bar { 12 namespace bar {
13 13
14 // check that (only) std::unique_ptr<> is reported 14 // check that (only) std::unique_ptr<> is reported
15 // as an illegal smart pointer type. 15 // as an illegal smart pointer type.
16 template<typename T> class unique_ptr { 16 template<typename T> class unique_ptr {
17 public: 17 public:
18 ~unique_ptr() { } 18 ~unique_ptr() { }
19 operator T*() const { return 0; } 19 operator T*() const { return 0; }
20 T* operator->() { return 0; } 20 T* operator->() { return 0; }
21 21
22 void trace(Visitor* visitor) 22 void Trace(Visitor* visitor)
23 { 23 {
24 } 24 }
25 }; 25 };
26 26
27 } 27 }
28 28
29 class HeapObject; 29 class HeapObject;
30 class PartObject; 30 class PartObject;
31 31
32 class PartObject { 32 class PartObject {
33 DISALLOW_NEW(); 33 DISALLOW_NEW();
34 public: 34 public:
35 void trace(Visitor*); 35 void Trace(Visitor*);
36 private: 36 private:
37 OwnPtr<HeapObject> m_obj1; 37 OwnPtr<HeapObject> m_obj1;
38 RefPtr<HeapObject> m_obj2; 38 RefPtr<HeapObject> m_obj2;
39 bar::unique_ptr<HeapObject> m_obj3; 39 bar::unique_ptr<HeapObject> m_obj3;
40 std::unique_ptr<HeapObject> m_obj4; 40 std::unique_ptr<HeapObject> m_obj4;
41 Vector<int>::iterator m_iterator1; 41 Vector<int>::iterator m_iterator1;
42 HeapVector<Member<HeapObject>>::iterator m_iterator2; 42 HeapVector<Member<HeapObject>>::iterator m_iterator2;
43 HeapHashSet<PartObject>::const_iterator m_iterator3; 43 HeapHashSet<PartObject>::const_iterator m_iterator3;
44 }; 44 };
45 45
46 class HeapObject : public GarbageCollectedFinalized<HeapObject> { 46 class HeapObject : public GarbageCollectedFinalized<HeapObject> {
47 public: 47 public:
48 void trace(Visitor*); 48 void Trace(Visitor*);
49 private: 49 private:
50 PartObject m_part; 50 PartObject m_part;
51 OwnPtr<HeapObject> m_obj1; 51 OwnPtr<HeapObject> m_obj1;
52 RefPtr<HeapObject> m_obj2; 52 RefPtr<HeapObject> m_obj2;
53 bar::unique_ptr<HeapObject> m_obj3; 53 bar::unique_ptr<HeapObject> m_obj3;
54 std::unique_ptr<HeapObject> m_obj4; 54 std::unique_ptr<HeapObject> m_obj4;
55 HeapHashMap<int, Member<HeapObject>>::reverse_iterator m_iterator3; 55 HeapHashMap<int, Member<HeapObject>>::reverse_iterator m_iterator3;
56 HeapDeque<Member<HeapObject>>::const_reverse_iterator m_iterator4; 56 HeapDeque<Member<HeapObject>>::const_reverse_iterator m_iterator4;
57 HeapListHashSet<Member<HeapObject>>::const_iterator m_iterator5; 57 HeapListHashSet<Member<HeapObject>>::const_iterator m_iterator5;
58 HeapLinkedHashSet<Member<HeapObject>>::const_iterator m_iterator6; 58 HeapLinkedHashSet<Member<HeapObject>>::const_iterator m_iterator6;
59 }; 59 };
60 60
61 } 61 }
62 62
63 #endif 63 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698