Documentation ¶
Overview ¶
Package common defines types and utilities common to expression parsing, checking, and interpretation
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // NoLocation is a particular illegal location. NoLocation = &SourceLocation{-1, -1} )
Functions ¶
This section is empty.
Types ¶
type Error ¶
Error type which references a location within source and a message.
func (*Error) ToDisplayString ¶
ToDisplayString decorates the error message with the source location.
type Errors ¶
type Errors struct {
// contains filtered or unexported fields
}
Errors type which contains a list of errors observed during parsing.
func (*Errors) Append ¶ added in v0.4.0
Append takes an Errors object as input creates a new Errors object with the current and input errors.
func (*Errors) ReportError ¶
ReportError records an error at a source location.
func (*Errors) ToDisplayString ¶
ToDisplayString returns the error set to a newline delimited string.
type Location ¶
type Location interface { Line() int // 1-based line number within source. Column() int // 0-based column number within source. }
Location interface to represent a location within Source.
type Source ¶
type Source interface { // Content returns the source content represented as a string. // Examples contents are the single file contents, textbox field, // or url parameter. Content() string // Description gives a brief description of the source. // Example descriptions are a file name or ui element. Description() string // LineOffsets gives the character offsets at which lines occur. // The zero-th entry should refer to the break between the first // and second line, or EOF if there is only one line of source. LineOffsets() []int32 // LocationOffset translates a Location to an offset. // Given the line and column of the Location returns the // Location's character offset in the Source, and a bool // indicating whether the Location was found. LocationOffset(location Location) (int32, bool) // OffsetLocation translates a character offset to a Location, or // false if the conversion was not feasible. OffsetLocation(offset int32) (Location, bool) // NewLocation takes an input line and column and produces a Location. // The default behavior is to treat the line and column as absolute, // but concrete derivations may use this method to convert a relative // line and column position into an absolute location. NewLocation(line, col int) Location // Snippet returns a line of content and whether the line was found. Snippet(line int) (string, bool) }
Source interface for filter source contents.
func NewInfoSource ¶
func NewInfoSource(info *exprpb.SourceInfo) Source
NewInfoSource creates a new Source from a SourceInfo.
func NewStringSource ¶
NewStringSource creates a new Source from the given contents and description.
func NewTextSource ¶
NewTextSource creates a new Source from the input text string.
type SourceLocation ¶
type SourceLocation struct {
// contains filtered or unexported fields
}
SourceLocation helper type to manually construct a location.
func (*SourceLocation) Column ¶
func (l *SourceLocation) Column() int
Column returns the 0-based column number of the location.
func (*SourceLocation) Line ¶
func (l *SourceLocation) Line() int
Line returns the 1-based line of the location.
Directories ¶
Path | Synopsis |
---|---|
Package debug provides tools to print a parsed expression graph and adorn each expression element with additional metadata.
|
Package debug provides tools to print a parsed expression graph and adorn each expression element with additional metadata. |
Package operators defines the internal function names of operators.
|
Package operators defines the internal function names of operators. |
Package overloads defines the internal overload identifiers for function and operator overloads.
|
Package overloads defines the internal overload identifiers for function and operator overloads. |
Package packages defines types for interpreting qualified names.
|
Package packages defines types for interpreting qualified names. |
Package types contains the types, traits, and utilities common to all components of expression handling.
|
Package types contains the types, traits, and utilities common to all components of expression handling. |
pb
Package pb reflects over protocol buffer descriptors to generate objects that simplify type, enum, and field lookup.
|
Package pb reflects over protocol buffer descriptors to generate objects that simplify type, enum, and field lookup. |
ref
Package ref contains the reference interfaces used throughout the types components.
|
Package ref contains the reference interfaces used throughout the types components. |
traits
Package traits defines interfaces that a type may implement to participate in operator overloads and function dispatch.
|
Package traits defines interfaces that a type may implement to participate in operator overloads and function dispatch. |