#ifndef V8_OBJECTS_SHARED_FUNCTION_INFO_H_
#define V8_OBJECTS_SHARED_FUNCTION_INFO_H_
#include <memory>
#include <optional>
#include "src/base/bit-field.h"
#include "src/builtins/builtins.h"
#include "src/codegen/bailout-reason.h"
#include "src/common/globals.h"
#include "src/objects/compressed-slots.h"
#include "src/objects/function-kind.h"
#include "src/objects/function-syntax-kind.h"
#include "src/objects/name.h"
#include "src/objects/objects.h"
#include "src/objects/script.h"
#include "src/objects/slots.h"
#include "src/objects/smi.h"
#include "src/objects/struct.h"
#include "src/roots/roots.h"
#include "testing/gtest/include/gtest/gtest_prod.h"
#include "torque-generated/bit-fields.h"
#include "src/objects/object-macros.h"
namespace v8::internal {
class AsmWasmData;
class BytecodeArray;
class CoverageInfo;
class DebugInfo;
class IsCompiledScope;
template <typename>
class Signature;
class WasmFunctionData;
class WasmCapiFunctionData;
class WasmExportedFunctionData;
class WasmJSFunctionData;
class WasmResumeData;
#if V8_ENABLE_WEBASSEMBLY
namespace wasm {
struct WasmModule;
class ValueType;
FunctionSig;
}
#endif
#include "torque-generated/src/objects/shared-function-info-tq.inc"
enum class CreateSourcePositions { … };
class PreparseData
: public TorqueGeneratedPreparseData<PreparseData, HeapObject> { … };
class UncompiledData
: public TorqueGeneratedUncompiledData<UncompiledData,
ExposedTrustedObject> { … };
class UncompiledDataWithoutPreparseData
: public TorqueGeneratedUncompiledDataWithoutPreparseData<
UncompiledDataWithoutPreparseData, UncompiledData> { … };
class UncompiledDataWithPreparseData
: public TorqueGeneratedUncompiledDataWithPreparseData<
UncompiledDataWithPreparseData, UncompiledData> { … };
class UncompiledDataWithoutPreparseDataWithJob
: public TorqueGeneratedUncompiledDataWithoutPreparseDataWithJob<
UncompiledDataWithoutPreparseDataWithJob,
UncompiledDataWithoutPreparseData> { … };
class UncompiledDataWithPreparseDataAndJob
: public TorqueGeneratedUncompiledDataWithPreparseDataAndJob<
UncompiledDataWithPreparseDataAndJob,
UncompiledDataWithPreparseData> { … };
class InterpreterData
: public TorqueGeneratedInterpreterData<InterpreterData,
ExposedTrustedObject> { … };
using NameOrScopeInfoT = UnionOf<Smi, String, ScopeInfo>;
class SharedFunctionInfo
: public TorqueGeneratedSharedFunctionInfo<SharedFunctionInfo, HeapObject> { … };
class SharedFunctionInfoWrapper : public TrustedObject { … };
static constexpr int kStaticRootsSFISize = …;
#ifdef V8_STATIC_ROOTS
static_assert(SharedFunctionInfo::kSize == kStaticRootsSFISize);
#endif
struct SourceCodeOf { … };
class V8_NODISCARD IsCompiledScope { … };
std::ostream& operator<<(std::ostream& os, const SourceCodeOf& v);
}
#include "src/objects/object-macros-undef.h"
#endif