// Auto-generated code, DO NOT EDIT DIRECTLY!
// To edit this generated file you have to edit `tasks/ast_tools/src/generators/raw_transfer.rs`.

// See `crates/oxc_allocator/src/pool/fixed_size.rs` for a diagram showing
// how the constituent parts of the arena fit together.

/**
 * Total size of the allocator block (including metadata and allocator `ChunkFooter`).
 */
export const BLOCK_SIZE = 2147483632;

/**
 * Required alignment of the allocator block (4 GiB).
 */
export const BLOCK_ALIGN = 4294967296;

/**
 * Total size of the transfer buffer used on JS side, in bytes
 * (`BLOCK_SIZE` minus `FixedSizeAllocatorMetadata` and `ChunkFooter`).
 */
export const BUFFER_SIZE = 2147483576;

/**
 * Size of the active data region in bytes - the region where source text and AST live
 * (`BUFFER_SIZE` minus `RawTransferMetadata`).
 */
export const ACTIVE_SIZE = 2147483560;

/**
 * Byte offset of the data pointer within the buffer, divided by 4 (for `Int32Array` indexing).
 */
export const DATA_POINTER_POS_32 = 536870890;

/**
 * Byte offset of the `is_ts` flag within the buffer.
 */
export const IS_TS_FLAG_POS = 2147483572;

/**
 * Byte offset of the `is_jsx` flag within the buffer.
 */
export const IS_JSX_FLAG_POS = 2147483573;

/**
 * Byte offset of the `has_bom` flag within the buffer.
 */
export const HAS_BOM_FLAG_POS = 2147483574;

/**
 * Byte offset of the tokens offset within the buffer, divided by 4 (for `Int32Array` indexing).
 */
export const TOKENS_OFFSET_POS_32 = 536870891;

/**
 * Byte offset of the tokens length within the buffer, divided by 4 (for `Int32Array` indexing).
 */
export const TOKENS_LEN_POS_32 = 536870892;

/**
 * Byte offset of the `program` field, relative to start of `RawTransferData`.
 */
export const PROGRAM_OFFSET = 0;

/**
 * Byte offset of pointer to start of source text, relative to start of `Program`.
 */
export const SOURCE_START_OFFSET = 16;

/**
 * Byte offset of length of source text, relative to start of `Program`.
 */
export const SOURCE_LEN_OFFSET = 24;

/**
 * Byte offset of comments `Vec` pointer, relative to start of `Program`.
 */
export const COMMENTS_OFFSET = 32;

/**
 * Byte offset of comments `Vec` length, relative to start of `Program`.
 */
export const COMMENTS_LEN_OFFSET = 40;

/**
 * Size of `Comment` struct in bytes.
 */
export const COMMENT_SIZE = 16;

/**
 * Byte offset of `kind` field, relative to start of `Comment` struct.
 */
export const COMMENT_KIND_OFFSET = 12;

/**
 * Byte offset of the deserialized flag within each token/comment entry.
 *
 * Corresponds to `content` field of `Comment` struct, and unused bytes in `Token`.
 * Initialized to 0 by Rust. JS side sets to 1 after deserialization.
 */
export const DESERIALIZED_FLAG_OFFSET = 15;

/**
 * Discriminant value for `CommentKind::Line`.
 */
export const COMMENT_LINE_KIND = 0;
