Golang go/token.FileSet.AddFile function examples
package go/token
AddFile adds a new file with a given filename(1st parameter), base(2nd parameter) offset, and file size(3rd parameter) to the file set s and returns the file. Multiple files may have the same name. The base offset must not be smaller than the FileSet's Base(), and size must not be negative. As a special case, if a negative base is provided, the current value of the FileSet's Base() is used instead.
Adding the file will set the file set's Base() value to base + size + 1 as the minimum base value for the next file. The following relationship exists between a Pos value p for a given file offset offs:
int(p) = base + offs
with offs in the range [0, size] and thus p in the range [base, base+size]. For convenience, File.Pos may be used to create file-specific position values from a file offset.
Golang go/token.FileSet.AddFile function usage examples
Example 1:
if util.IsText(src) {
// only add the file to the file set (for the full text index)
file = x.fset.AddFile(filename, x.fset.Base(), len(src))
file.SetLinesForContent(src)
return
}
Example 2:
var src []byte
var s scanner.Scanner
fset := token.NewFileSet()
file := fset.AddFile("", fset.Base(), len(src))
Reference :
Advertisement
Something interesting
Tutorials
+9.9k Golang : Translate language with language package example
+7.1k Nginx : How to block user agent ?
+6.7k Golang : Humanize and Titleize functions
+18.4k Golang : How to get hour, minute, second from time?
+12.6k Golang : flag provided but not defined error
+14.4k Golang : How to convert a number to words
+20.8k Golang : Convert date string to variants of time.Time type examples
+22.9k Golang : Test file read write permission example
+32.4k Golang : Math pow(the power of x^y) example
+14.3k Golang : Simple word wrap or line breaking example
+8.9k Golang : Sort lines of text example
+7.4k Golang : Check to see if *File is a file or directory