OXIESEC PANEL
- Current Dir:
/
/
opt
/
golang
/
1.19.4
/
src
/
go
/
token
Server IP: 2a02:4780:11:1084:0:327f:3464:10
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
12/01/2022 06:13:56 PM
rwxr-xr-x
📄
example_test.go
1.66 KB
12/01/2022 06:12:58 PM
rw-r--r--
📄
position.go
17.29 KB
12/01/2022 06:12:58 PM
rw-r--r--
📄
position_bench_test.go
484 bytes
12/01/2022 06:12:58 PM
rw-r--r--
📄
position_test.go
9.18 KB
12/01/2022 06:12:58 PM
rw-r--r--
📄
serialize.go
1.43 KB
12/01/2022 06:12:58 PM
rw-r--r--
📄
serialize_test.go
2.47 KB
12/01/2022 06:12:58 PM
rw-r--r--
📄
token.go
6.36 KB
12/01/2022 06:12:58 PM
rw-r--r--
📄
token_test.go
796 bytes
12/01/2022 06:12:58 PM
rw-r--r--
Editing: serialize.go
Close
// Copyright 2011 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package token type serializedFile struct { // fields correspond 1:1 to fields with same (lower-case) name in File Name string Base int Size int Lines []int Infos []lineInfo } type serializedFileSet struct { Base int Files []serializedFile } // Read calls decode to deserialize a file set into s; s must not be nil. func (s *FileSet) Read(decode func(any) error) error { var ss serializedFileSet if err := decode(&ss); err != nil { return err } s.mutex.Lock() s.base = ss.Base files := make([]*File, len(ss.Files)) for i := 0; i < len(ss.Files); i++ { f := &ss.Files[i] files[i] = &File{ name: f.Name, base: f.Base, size: f.Size, lines: f.Lines, infos: f.Infos, } } s.files = files s.last.Store(nil) s.mutex.Unlock() return nil } // Write calls encode to serialize the file set s. func (s *FileSet) Write(encode func(any) error) error { var ss serializedFileSet s.mutex.Lock() ss.Base = s.base files := make([]serializedFile, len(s.files)) for i, f := range s.files { f.mutex.Lock() files[i] = serializedFile{ Name: f.name, Base: f.base, Size: f.size, Lines: append([]int(nil), f.lines...), Infos: append([]lineInfo(nil), f.infos...), } f.mutex.Unlock() } ss.Files = files s.mutex.Unlock() return encode(ss) }