https://github.com/mozilla/gecko-dev
Raw File
Tip revision: 0bedf23b52d4191c948697ebca4cb27e718ed13e authored by ffxbld on 10 April 2013, 22:36:19 UTC
Added FENNEC_20_0_1_RELEASE FENNEC_20_0_1_BUILD1 tag(s) for changeset 48255272a995. DONTBUILD CLOSED TREE a=release
Tip revision: 0bedf23
Iterator-inl.h
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/* 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 Iterator_inl_h_
#define Iterator_inl_h_

#include "jsiter.h"
#include "jsobjinlines.h"

inline bool
JSObject::isPropertyIterator() const
{
    return hasClass(&js::PropertyIteratorObject::class_);
}

inline js::PropertyIteratorObject &
JSObject::asPropertyIterator()
{
    JS_ASSERT(isPropertyIterator());
    return *static_cast<js::PropertyIteratorObject *>(this);
}

inline const js::PropertyIteratorObject &
JSObject::asPropertyIterator() const
{
    JS_ASSERT(isPropertyIterator());
    return *static_cast<const js::PropertyIteratorObject *>(this);
}

js::NativeIterator *
js::PropertyIteratorObject::getNativeIterator() const
{
    JS_ASSERT(isPropertyIterator());
    return static_cast<js::NativeIterator *>(getPrivate());
}

inline void
js::PropertyIteratorObject::setNativeIterator(js::NativeIterator *ni)
{
    setPrivate(ni);
}

#endif  // Iterator_inl_h_
back to top