Как глубоко скопировать данные времени выполнения из одного объекта V8 в другой?

Я использую библиотеку eclipsesource J2V8 для связи с Node JS Script. Одним из требований является перехват исключений, генерируемых методами execute * Function V8Object, запись его в наше хранилище журналов и затем выдача исключения для обработки приложением.

Чтобы сделать это, я переопределяю вышеупомянутые методы класса V8Object, и в конструкторе я передаю созданный V8Object (я не могу использовать свой класс-оболочку, в котором был создан исходный объект V8Object). Мой конструктор выглядит так:

public V8ObjectWrapper(V8Object _v8Object)
{
  super(_v8Object.getRuntime());
  super.setPrototype(_v8Object);
}

Первая строка должна дать v8RuntimePointer моему объекту-обертке, а вызов метода prototype - скопировать прототип объекта в мой объект-обертку.

Все это работает нормально. Объект-обертка имеет правильные методы и зарегистрированные обратные вызовы. Однако объект nodeJS, представленный этим объектом-оберткой, имеет тенденцию терять информацию, хранящуюся в this переменная. Как скопировать исходный объект V8Object, чтобы у меня была вся информация в объекте-обертке?

0 ответов

Другие вопросы по тегам