module sourcemap struct V3 { SourceMap pub: sections []Section @[json: sections] } struct Offset { pub mut: line int @[json: line] column int @[json: column] } struct Section { pub mut: offset Offset @[json: offset] source_map SourceMap @[json: map] } struct Generator { mut: file string // source_root string sections []Section } pub fn generate_empty_map() &Generator { return &Generator{} } pub fn (mut g Generator) add_map(file string, source_root string, sources_content_inline bool, line_offset int, column_offset int) &SourceMap { source_map := new_sourcemap(file, source_root, sources_content_inline) offset := Offset{ line: line_offset column: column_offset } g.sections << Section{ offset: offset source_map: source_map } return &source_map }