111 lines
2.0 KiB
Markdown
111 lines
2.0 KiB
Markdown
|
# file
|
||
|
--
|
||
|
import "github.com/robertkrimen/otto/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
|