// Copyright 2016 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_UNITTESTS_TEST_HELPERS_H_ #define V8_UNITTESTS_TEST_HELPERS_H_ #include #include "include/v8.h" #include "src/parsing/parse-info.h" namespace v8 { class Isolate; namespace internal { class Object; template class Handle; class Isolate; namespace test { class ScriptResource : public v8::String::ExternalOneByteStringResource { public: ScriptResource(const char* data, size_t length) : data_(data), length_(length) {} ~ScriptResource() override = default; ScriptResource(const ScriptResource&) = delete; ScriptResource& operator=(const ScriptResource&) = delete; const char* data() const override { return data_; } size_t length() const override { return length_; } private: const char* data_; size_t length_; }; Handle CreateSource( Isolate* isolate, v8::String::ExternalOneByteStringResource* maybe_resource); Handle CreateSharedFunctionInfo( Isolate* isolate, v8::String::ExternalOneByteStringResource* maybe_resource); std::unique_ptr OuterParseInfoForShared( Isolate* isolate, Handle shared, UnoptimizedCompileState* state); } // namespace test } // namespace internal } // namespace v8 #endif // V8_UNITTESTS_TEST_HELPERS_H_