github.com/gopherjs/gopherjs@v1.19.0-beta1.0.20240506212314-27071a8796e4/compiler/natives/src/go/token/position.go (about)

     1  //go:build js
     2  // +build js
     3  
     4  package token
     5  
     6  import "sync"
     7  
     8  type FileSet struct {
     9  	mutex sync.RWMutex
    10  	base  int
    11  	files []*File
    12  
    13  	// replaced atomic.Pointer[File] for go1.19 without generics.
    14  	last atomicFilePointer
    15  }
    16  
    17  type atomicFilePointer struct {
    18  	v *File
    19  }
    20  
    21  func (x *atomicFilePointer) Load() *File     { return x.v }
    22  func (x *atomicFilePointer) Store(val *File) { x.v = val }