// Copyright 2019 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. type CompilationType extends int32 constexpr 'Script::CompilationType'; type CompilationState extends int32 constexpr 'Script::CompilationState'; bitfield struct ScriptFlags extends uint31 { compilation_type: CompilationType: 1 bit; compilation_state: CompilationState: 1 bit; is_repl_mode: bool: 1 bit; origin_options: int32: 4 bit; } @generateCppClass extern class Script extends Struct { // [source]: the script source. source: String|Undefined; // [name]: the script name. name: Object; // [line_offset]: script line offset in resource from where it was extracted. line_offset: Smi; // [column_offset]: script column offset in resource from where it was // extracted. column_offset: Smi; // [context_data]: context data for the context this script was compiled in. context_data: Smi|Undefined|Symbol; script_type: Smi; // [line_ends]: FixedArray of line ends positions. line_ends: FixedArray|Undefined; // [id]: the script id. id: Smi; eval_from_shared_or_wrapped_arguments: SharedFunctionInfo|FixedArray| Undefined; eval_from_position: Smi|Foreign; // Smi or Managed<wasm::NativeModule> shared_function_infos: WeakFixedArray|WeakArrayList; // [flags]: Holds an exciting bitfield. flags: SmiTagged<ScriptFlags>; // [source_url]: sourceURL from magic comment source_url: String|Undefined; // [source_mapping_url]: sourceMappingURL magic comment source_mapping_url: Object; // [host_defined_options]: Options defined by the embedder. host_defined_options: FixedArray; }