mirror of
https://github.com/classilla/tenfourfox.git
synced 2024-09-25 17:55:23 +00:00
61 lines
2.2 KiB
C++
61 lines
2.2 KiB
C++
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
|
* vim: set ts=8 sts=4 et sw=4 tw=99:
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#ifndef gc_Rooting_h
|
|
#define gc_Rooting_h
|
|
|
|
#include "js/RootingAPI.h"
|
|
|
|
class JSAtom;
|
|
class JSLinearString;
|
|
|
|
namespace js {
|
|
|
|
class PropertyName;
|
|
class NativeObject;
|
|
class ArrayObject;
|
|
class GlobalObject;
|
|
class PlainObject;
|
|
class ScriptSourceObject;
|
|
class SavedFrame;
|
|
class Shape;
|
|
class ObjectGroup;
|
|
|
|
// These are internal counterparts to the public types such as HandleObject.
|
|
|
|
typedef JS::Handle<NativeObject*> HandleNativeObject;
|
|
typedef JS::Handle<Shape*> HandleShape;
|
|
typedef JS::Handle<ObjectGroup*> HandleObjectGroup;
|
|
typedef JS::Handle<JSAtom*> HandleAtom;
|
|
typedef JS::Handle<JSLinearString*> HandleLinearString;
|
|
typedef JS::Handle<PropertyName*> HandlePropertyName;
|
|
typedef JS::Handle<ArrayObject*> HandleArrayObject;
|
|
typedef JS::Handle<PlainObject*> HandlePlainObject;
|
|
typedef JS::Handle<SavedFrame*> HandleSavedFrame;
|
|
typedef JS::Handle<ScriptSourceObject*> HandleScriptSource;
|
|
|
|
typedef JS::MutableHandle<Shape*> MutableHandleShape;
|
|
typedef JS::MutableHandle<JSAtom*> MutableHandleAtom;
|
|
typedef JS::MutableHandle<NativeObject*> MutableHandleNativeObject;
|
|
typedef JS::MutableHandle<PlainObject*> MutableHandlePlainObject;
|
|
typedef JS::MutableHandle<SavedFrame*> MutableHandleSavedFrame;
|
|
|
|
typedef JS::Rooted<NativeObject*> RootedNativeObject;
|
|
typedef JS::Rooted<Shape*> RootedShape;
|
|
typedef JS::Rooted<ObjectGroup*> RootedObjectGroup;
|
|
typedef JS::Rooted<JSAtom*> RootedAtom;
|
|
typedef JS::Rooted<JSLinearString*> RootedLinearString;
|
|
typedef JS::Rooted<PropertyName*> RootedPropertyName;
|
|
typedef JS::Rooted<ArrayObject*> RootedArrayObject;
|
|
typedef JS::Rooted<GlobalObject*> RootedGlobalObject;
|
|
typedef JS::Rooted<PlainObject*> RootedPlainObject;
|
|
typedef JS::Rooted<SavedFrame*> RootedSavedFrame;
|
|
typedef JS::Rooted<ScriptSourceObject*> RootedScriptSource;
|
|
|
|
} /* namespace js */
|
|
|
|
#endif /* gc_Rooting_h */
|