| // Copyright 2014 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 "Config.h" |
| #include "Edge.h" |
| #include "RecordInfo.h" |
| |
| TracingStatus Value::NeedsTracing(NeedsTracingOption option) { |
| return value_->NeedsTracing(option); |
| } |
| |
| bool Value::NeedsFinalization() { return value_->NeedsFinalization(); } |
| bool Collection::NeedsFinalization() { return info_->NeedsFinalization(); } |
| |
| void RecursiveEdgeVisitor::AtValue(Value*) {} |
| void RecursiveEdgeVisitor::AtRawPtr(RawPtr*) {} |
| void RecursiveEdgeVisitor::AtRefPtr(RefPtr*) {} |
| void RecursiveEdgeVisitor::AtOwnPtr(OwnPtr*) {} |
| void RecursiveEdgeVisitor::AtMember(Member*) {} |
| void RecursiveEdgeVisitor::AtWeakMember(WeakMember*) {} |
| void RecursiveEdgeVisitor::AtPersistent(Persistent*) {} |
| void RecursiveEdgeVisitor::AtCollection(Collection*) {} |
| |
| void RecursiveEdgeVisitor::VisitValue(Value* e) { |
| AtValue(e); |
| } |
| |
| void RecursiveEdgeVisitor::VisitRawPtr(RawPtr* e) { |
| AtRawPtr(e); |
| Enter(e); |
| e->ptr()->Accept(this); |
| Leave(); |
| } |
| |
| void RecursiveEdgeVisitor::VisitRefPtr(RefPtr* e) { |
| AtRefPtr(e); |
| Enter(e); |
| e->ptr()->Accept(this); |
| Leave(); |
| } |
| void RecursiveEdgeVisitor::VisitOwnPtr(OwnPtr* e) { |
| AtOwnPtr(e); |
| Enter(e); |
| e->ptr()->Accept(this); |
| Leave(); |
| } |
| |
| void RecursiveEdgeVisitor::VisitMember(Member* e) { |
| AtMember(e); |
| Enter(e); |
| e->ptr()->Accept(this); |
| Leave(); |
| } |
| |
| void RecursiveEdgeVisitor::VisitWeakMember(WeakMember* e) { |
| AtWeakMember(e); |
| Enter(e); |
| e->ptr()->Accept(this); |
| Leave(); |
| } |
| |
| void RecursiveEdgeVisitor::VisitPersistent(Persistent* e) { |
| AtPersistent(e); |
| Enter(e); |
| e->ptr()->Accept(this); |
| Leave(); |
| } |
| |
| void RecursiveEdgeVisitor::VisitCollection(Collection* e) { |
| AtCollection(e); |
| Enter(e); |
| e->AcceptMembers(this); |
| Leave(); |
| } |