/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- * vim: set ts=8 sts=2 et sw=2 tw=80: * 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 "gc/Allocator.h" #include "gc/Policy.h" #include "js/GCVector.h" #include "js/RootingAPI.h" #include "js/TypeDecls.h" class JSLinearString; namespace js { class PropertyName; class NativeObject; class ArrayObject; class GlobalObject; class PlainObject; class ScriptSourceObject; class SavedFrame; class Shape; class ObjectGroup; class DebuggerArguments; class DebuggerEnvironment; class DebuggerFrame; class DebuggerObject; class DebuggerScript; class DebuggerSource; class Scope; class ModuleObject; // These are internal counterparts to the public types such as HandleObject. using HandleNativeObject = JS::Handle; using HandleShape = JS::Handle; using HandleObjectGroup = JS::Handle; using HandleAtom = JS::Handle; using HandleLinearString = JS::Handle; using HandlePropertyName = JS::Handle; using HandleArrayObject = JS::Handle; using HandlePlainObject = JS::Handle; using HandleSavedFrame = JS::Handle; using HandleScriptSourceObject = JS::Handle; using HandleDebuggerArguments = JS::Handle; using HandleDebuggerEnvironment = JS::Handle; using HandleDebuggerFrame = JS::Handle; using HandleDebuggerObject = JS::Handle; using HandleDebuggerScript = JS::Handle; using HandleDebuggerSource = JS::Handle; using HandleScope = JS::Handle; using HandleModuleObject = JS::Handle; using MutableHandleShape = JS::MutableHandle; using MutableHandleAtom = JS::MutableHandle; using MutableHandleNativeObject = JS::MutableHandle; using MutableHandlePlainObject = JS::MutableHandle; using MutableHandleSavedFrame = JS::MutableHandle; using MutableHandleDebuggerArguments = JS::MutableHandle; using MutableHandleDebuggerEnvironment = JS::MutableHandle; using MutableHandleDebuggerFrame = JS::MutableHandle; using MutableHandleDebuggerObject = JS::MutableHandle; using MutableHandleDebuggerScript = JS::MutableHandle; using MutableHandleDebuggerSource = JS::MutableHandle; using MutableHandleScope = JS::MutableHandle; using MutableHandleModuleObject = JS::MutableHandle; using MutableHandleArrayObject = JS::MutableHandle; using RootedNativeObject = JS::Rooted; using RootedShape = JS::Rooted; using RootedObjectGroup = JS::Rooted; using RootedAtom = JS::Rooted; using RootedLinearString = JS::Rooted; using RootedPropertyName = JS::Rooted; using RootedArrayObject = JS::Rooted; using RootedGlobalObject = JS::Rooted; using RootedPlainObject = JS::Rooted; using RootedSavedFrame = JS::Rooted; using RootedScriptSourceObject = JS::Rooted; using RootedDebuggerArguments = JS::Rooted; using RootedDebuggerEnvironment = JS::Rooted; using RootedDebuggerFrame = JS::Rooted; using RootedDebuggerObject = JS::Rooted; using RootedDebuggerScript = JS::Rooted; using RootedDebuggerSource = JS::Rooted; using RootedScope = JS::Rooted; using RootedModuleObject = JS::Rooted; using FunctionVector = JS::GCVector; using PropertyNameVector = JS::GCVector; using ShapeVector = JS::GCVector; using StringVector = JS::GCVector; } /* namespace js */ #endif /* gc_Rooting_h */