chromium/v8/test/unittests/interpreter/interpreter-tester.h

// Copyright 2015 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef V8_TEST_UNITTESTS_INTERPRETER_INTERPRETER_TESTER_H_
#define V8_TEST_UNITTESTS_INTERPRETER_INTERPRETER_TESTER_H_

#include "include/v8-function.h"
#include "src/api/api.h"
#include "src/execution/execution.h"
#include "src/handles/handles.h"
#include "src/init/v8.h"
#include "src/interpreter/bytecode-array-builder.h"
#include "src/interpreter/interpreter.h"
#include "src/objects/feedback-cell.h"
#include "test/unittests/test-utils.h"
#include "testing/gtest/include/gtest/gtest.h"

namespace v8 {
namespace internal {
namespace interpreter {

template <class... A>
static MaybeHandle<Object> CallInterpreter(Isolate* isolate,
                                           Handle<JSFunction> function,
                                           Handle<Object> receiver, A... args) {}

template <class... A>
class InterpreterCallable {};

template <class... A>
class InterpreterCallableUndefinedReceiver : public InterpreterCallable<A...> {};

template <class... A>
class InterpreterCallableWithReceiver : public InterpreterCallable<A...> {};

static inline v8::Local<v8::Value> CompileRun(const char* source) {}

class InterpreterTester {};

}  // namespace interpreter
}  // namespace internal
}  // namespace v8

#endif  // V8_TEST_UNITTESTS_INTERPRETER_INTERPRETER_TESTER_H_