162ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch// Copyright 2015 The Chromium Authors. All rights reserved. 262ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch// Use of this source code is governed by a BSD-style license that can be 362ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch// found in the LICENSE file. 462ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch 562ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch#include "heap/stubs.h" 662ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch 762ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdochnamespace blink { 862ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch 962ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdochstruct HeapObject : public GarbageCollected<HeapObject> { 1062ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch void trace(Visitor*) { } 1162ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch}; 1262ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch 1362ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdochtemplate<typename T> 1462ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdochclass TemplateBase 1562ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch : public GarbageCollected<TemplateBase<T> > { 1662ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdochpublic: 1762ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch void trace(Visitor* visitor) { visitor->trace(m_obj); } 1862ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdochprivate: 1962ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch Member<HeapObject> m_obj; 2062ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch}; 2162ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch 2262ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdochclass Subclass : public TemplateBase<Subclass> { 2362ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch}; 2462ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch 2562ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch} 26