Roll src/third_party/WebKit f36d5e0:68b67cd (svn 193299:193303)
[chromium-blink-merge.git] / tools / clang / blink_gc_plugin / Edge.cpp
blobc56a576414896e0bf9998fe1358341484c278d31
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
3 // found in the LICENSE file.
5 #include "Config.h"
6 #include "Edge.h"
7 #include "RecordInfo.h"
9 TracingStatus Value::NeedsTracing(NeedsTracingOption option) {
10 return value_->NeedsTracing(option);
13 bool Value::NeedsFinalization() { return value_->NeedsFinalization(); }
14 bool Collection::NeedsFinalization() { return info_->NeedsFinalization(); }
16 void RecursiveEdgeVisitor::AtValue(Value*) {}
17 void RecursiveEdgeVisitor::AtRawPtr(RawPtr*) {}
18 void RecursiveEdgeVisitor::AtRefPtr(RefPtr*) {}
19 void RecursiveEdgeVisitor::AtOwnPtr(OwnPtr*) {}
20 void RecursiveEdgeVisitor::AtMember(Member*) {}
21 void RecursiveEdgeVisitor::AtWeakMember(WeakMember*) {}
22 void RecursiveEdgeVisitor::AtPersistent(Persistent*) {}
23 void RecursiveEdgeVisitor::AtCollection(Collection*) {}
25 void RecursiveEdgeVisitor::VisitValue(Value* e) {
26 AtValue(e);
29 void RecursiveEdgeVisitor::VisitRawPtr(RawPtr* e) {
30 AtRawPtr(e);
31 Enter(e);
32 e->ptr()->Accept(this);
33 Leave();
36 void RecursiveEdgeVisitor::VisitRefPtr(RefPtr* e) {
37 AtRefPtr(e);
38 Enter(e);
39 e->ptr()->Accept(this);
40 Leave();
42 void RecursiveEdgeVisitor::VisitOwnPtr(OwnPtr* e) {
43 AtOwnPtr(e);
44 Enter(e);
45 e->ptr()->Accept(this);
46 Leave();
49 void RecursiveEdgeVisitor::VisitMember(Member* e) {
50 AtMember(e);
51 Enter(e);
52 e->ptr()->Accept(this);
53 Leave();
56 void RecursiveEdgeVisitor::VisitWeakMember(WeakMember* e) {
57 AtWeakMember(e);
58 Enter(e);
59 e->ptr()->Accept(this);
60 Leave();
63 void RecursiveEdgeVisitor::VisitPersistent(Persistent* e) {
64 AtPersistent(e);
65 Enter(e);
66 e->ptr()->Accept(this);
67 Leave();
70 void RecursiveEdgeVisitor::VisitCollection(Collection* e) {
71 AtCollection(e);
72 Enter(e);
73 e->AcceptMembers(this);
74 Leave();