fune/js/rust/etc/wrapper.hpp
Yoshi Cheng-Hao Huang 8afaa93a25 Bug 1534967 - Part 2: Use RootedIdVector in rust binding. r=jonco,fitzgen
- Replace AutoIdVector with RootedIdVector.
- Replace JS::MutableHandleIdVector through rustbindgen in wrapper.hpp,
  otherwise MutableHandleIdVector will be converted to u8 in rust, and
  causes only 1 byte is passed to props in GetPropertyKeys.
- Add another glue function GetMutableHandleIdVector to get the object.

Differential Revision: https://phabricator.services.mozilla.com/D25360
2019-04-08 10:46:58 +08:00

39 lines
1.1 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/. */
#include <stdint.h>
#ifndef _MSC_VER
#include <unistd.h>
#endif
typedef uint32_t HashNumber;
#include "jsapi.h"
#include "jsfriendapi.h"
#include "js/ArrayBuffer.h"
#include "js/CompilationAndEvaluation.h"
#include "js/CompileOptions.h"
#include "js/ContextOptions.h"
#include "js/Conversions.h"
#include "js/Date.h"
#include "js/ForOfIterator.h"
#include "js/Initialization.h"
#include "js/MemoryMetrics.h"
#include "js/PropertySpec.h"
#include "js/SourceText.h"
#include "js/StructuredClone.h"
#include "js/Warnings.h"
// Replacements for types that are too difficult for rust-bindgen.
/// <div rustbindgen replaces="JS::detail::MaybeWrapped" />
template <typename T>
using replaces_MaybeWrapped = T;
/// <div rustbindgen replaces="JS::MutableHandleIdVector" />
struct MutableHandleIdVector_Simple {
uintptr_t handle_mut;
};