1f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdoch// Copyright 2015 The Chromium Authors. All rights reserved. 2f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdoch// Use of this source code is governed by a BSD-style license that can be 3f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdoch// found in the LICENSE file. 4f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdoch 5f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdoch#include "heap/stubs.h" 6f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdoch 7f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdochnamespace blink { 8f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdoch 9f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdochstruct HeapObject : public GarbageCollected<HeapObject> { 10f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdoch void trace(Visitor*) { } 11f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdoch}; 12f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdoch 13f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdochtemplate<typename T> 14f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdochclass TemplateBase 15f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdoch : public GarbageCollected<TemplateBase<T> > { 16f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdochpublic: 17f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdoch void trace(Visitor* visitor) { visitor->trace(m_obj); } 18f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdochprivate: 19f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdoch Member<HeapObject> m_obj; 20f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdoch}; 21f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdoch 22f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdochclass Subclass : public TemplateBase<Subclass> { 23f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdoch}; 24f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdoch 25f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdoch} 26