111 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			111 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# file
 | 
						|
--
 | 
						|
    import "github.com/dop251/goja/file"
 | 
						|
 | 
						|
Package file encapsulates the file abstractions used by the ast & parser.
 | 
						|
 | 
						|
## Usage
 | 
						|
 | 
						|
#### type File
 | 
						|
 | 
						|
```go
 | 
						|
type File struct {
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func  NewFile
 | 
						|
 | 
						|
```go
 | 
						|
func NewFile(filename, src string, base int) *File
 | 
						|
```
 | 
						|
 | 
						|
#### func (*File) Base
 | 
						|
 | 
						|
```go
 | 
						|
func (fl *File) Base() int
 | 
						|
```
 | 
						|
 | 
						|
#### func (*File) Name
 | 
						|
 | 
						|
```go
 | 
						|
func (fl *File) Name() string
 | 
						|
```
 | 
						|
 | 
						|
#### func (*File) Source
 | 
						|
 | 
						|
```go
 | 
						|
func (fl *File) Source() string
 | 
						|
```
 | 
						|
 | 
						|
#### type FileSet
 | 
						|
 | 
						|
```go
 | 
						|
type FileSet struct {
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
A FileSet represents a set of source files.
 | 
						|
 | 
						|
#### func (*FileSet) AddFile
 | 
						|
 | 
						|
```go
 | 
						|
func (self *FileSet) AddFile(filename, src string) int
 | 
						|
```
 | 
						|
AddFile adds a new file with the given filename and src.
 | 
						|
 | 
						|
This an internal method, but exported for cross-package use.
 | 
						|
 | 
						|
#### func (*FileSet) File
 | 
						|
 | 
						|
```go
 | 
						|
func (self *FileSet) File(idx Idx) *File
 | 
						|
```
 | 
						|
 | 
						|
#### func (*FileSet) Position
 | 
						|
 | 
						|
```go
 | 
						|
func (self *FileSet) Position(idx Idx) *Position
 | 
						|
```
 | 
						|
Position converts an Idx in the FileSet into a Position.
 | 
						|
 | 
						|
#### type Idx
 | 
						|
 | 
						|
```go
 | 
						|
type Idx int
 | 
						|
```
 | 
						|
 | 
						|
Idx is a compact encoding of a source position within a file set. It can be
 | 
						|
converted into a Position for a more convenient, but much larger,
 | 
						|
representation.
 | 
						|
 | 
						|
#### type Position
 | 
						|
 | 
						|
```go
 | 
						|
type Position struct {
 | 
						|
	Filename string // The filename where the error occurred, if any
 | 
						|
	Offset   int    // The src offset
 | 
						|
	Line     int    // The line number, starting at 1
 | 
						|
	Column   int    // The column number, starting at 1 (The character count)
 | 
						|
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
Position describes an arbitrary source position including the filename, line,
 | 
						|
and column location.
 | 
						|
 | 
						|
#### func (*Position) String
 | 
						|
 | 
						|
```go
 | 
						|
func (self *Position) String() string
 | 
						|
```
 | 
						|
String returns a string in one of several forms:
 | 
						|
 | 
						|
    file:line:column    A valid position with filename
 | 
						|
    line:column         A valid position without filename
 | 
						|
    file                An invalid position with filename
 | 
						|
    -                   An invalid position without filename
 | 
						|
 | 
						|
--
 | 
						|
**godocdown** http://github.com/robertkrimen/godocdown
 |