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. 4 5#include "destructor_access_finalized_field.h" 6 7namespace blink { 8 9HeapObject::~HeapObject() 10{ 11 // Valid access to fields. 12 if (m_ref->foo() && !m_obj) { 13 m_objs.size(); 14 m_part.obj(); 15 } 16 17 // Invalid access to fields. 18 bar(m_obj); 19 m_obj->foo(); 20 m_objs[0]; 21} 22 23void HeapObject::trace(Visitor* visitor) 24{ 25 visitor->trace(m_obj); 26 visitor->trace(m_objs); 27 visitor->trace(m_part); 28} 29 30void PartOther::trace(Visitor* visitor) 31{ 32 visitor->trace(m_obj); 33} 34 35} 36