Documentation ¶
Index ¶
- Constants
- func Parse[T any](memoryGauge common.MemoryGauge, input []byte, parse func(*parser) (T, error), ...) (result T, errors []error)
- func ParseArgumentList(memoryGauge common.MemoryGauge, input []byte, config Config) (arguments ast.Arguments, errs []error)
- func ParseDeclarations(memoryGauge common.MemoryGauge, input []byte, config Config) (declarations []ast.Declaration, errs []error)
- func ParseDocstringPragmaArguments(docString string) []string
- func ParseDocstringPragmaSigners(docString string) []string
- func ParseExpression(memoryGauge common.MemoryGauge, input []byte, config Config) (expression ast.Expression, errs []error)
- func ParseProgram(memoryGauge common.MemoryGauge, code []byte, config Config) (program *ast.Program, err error)
- func ParseProgramFromFile(memoryGauge common.MemoryGauge, filename string, config Config) (program *ast.Program, code []byte, err error)
- func ParseProgramFromTokenStream(memoryGauge common.MemoryGauge, input lexer.TokenStream, config Config) (program *ast.Program, err error)
- func ParseStatements(memoryGauge common.MemoryGauge, input []byte, config Config) (statements []ast.Statement, errs []error)
- func ParseStatementsFromTokenStream(memoryGauge common.MemoryGauge, tokens lexer.TokenStream, config Config) (statements []ast.Statement, errs []error)
- func ParseTokenStream[T any](memoryGauge common.MemoryGauge, tokens lexer.TokenStream, ...) (result T, errs []error)
- func ParseType(memoryGauge common.MemoryGauge, input []byte, config Config) (ty ast.Type, errs []error)
- type Config
- type Error
- type ExpressionDepthLimitReachedError
- type InvalidIntegerLiteralError
- type InvalidNumberLiteralKind
- type JuxtaposedUnaryOperatorsError
- type MissingCommaInParameterListError
- type ParseError
- type SyntaxError
- type TypeDepthLimitReachedError
Constants ¶
const (
KeywordTransaction = "transaction"
)
Variables ¶
This section is empty.
Functions ¶
func Parse ¶
func Parse[T any]( memoryGauge common.MemoryGauge, input []byte, parse func(*parser) (T, error), config Config, ) (result T, errors []error)
Parse creates a lexer to scan the given input string, and uses the given `parse` function to parse tokens into a result.
It can be composed with different parse functions to parse the input string into different results. See "ParseExpression", "ParseStatements" as examples.
func ParseArgumentList ¶
func ParseDeclarations ¶
func ParseDeclarations( memoryGauge common.MemoryGauge, input []byte, config Config, ) ( declarations []ast.Declaration, errs []error, )
func ParseDocstringPragmaArguments ¶
ParseDocstringPragmaArguments parses the docstring and returns the values of all pragma arguments declarations.
A pragma arguments declaration has the form `pragma arguments <argument-list>`, where <argument-list> is a Cadence argument list.
The validity of the argument list is NOT checked by this function.
func ParseDocstringPragmaSigners ¶
ParseDocstringPragmaSigners parses the docstring and returns the values of all pragma signers declarations.
A pragma signers declaration has the form `pragma signers <signers-list>`, where <signers-list> is a list of strings.
The validity of the argument list is NOT checked by this function.
func ParseExpression ¶
func ParseExpression( memoryGauge common.MemoryGauge, input []byte, config Config, ) ( expression ast.Expression, errs []error, )
func ParseProgram ¶
func ParseProgramFromFile ¶
func ParseProgramFromTokenStream ¶
func ParseProgramFromTokenStream( memoryGauge common.MemoryGauge, input lexer.TokenStream, config Config, ) ( program *ast.Program, err error, )
func ParseStatements ¶
func ParseStatementsFromTokenStream ¶
func ParseStatementsFromTokenStream( memoryGauge common.MemoryGauge, tokens lexer.TokenStream, config Config, ) ( statements []ast.Statement, errs []error, )
func ParseTokenStream ¶
func ParseTokenStream[T any]( memoryGauge common.MemoryGauge, tokens lexer.TokenStream, parse func(*parser) (T, error), config Config, ) ( result T, errs []error, )
Types ¶
type Config ¶
type Config struct { // StaticModifierEnabled determines if the static modifier is enabled StaticModifierEnabled bool // NativeModifierEnabled determines if the native modifier is enabled NativeModifierEnabled bool // TypeParametersEnabled determines if type parameters are enabled TypeParametersEnabled bool }
type Error ¶
func (Error) ChildErrors ¶
type ExpressionDepthLimitReachedError ¶
ExpressionDepthLimitReachedError is reported when the expression depth limit was reached
func (ExpressionDepthLimitReachedError) EndPosition ¶
func (e ExpressionDepthLimitReachedError) EndPosition(_ common.MemoryGauge) ast.Position
func (ExpressionDepthLimitReachedError) Error ¶
func (e ExpressionDepthLimitReachedError) Error() string
func (ExpressionDepthLimitReachedError) IsUserError ¶
func (ExpressionDepthLimitReachedError) IsUserError()
func (ExpressionDepthLimitReachedError) StartPosition ¶
func (e ExpressionDepthLimitReachedError) StartPosition() ast.Position
type InvalidIntegerLiteralError ¶
type InvalidIntegerLiteralError struct { Literal string IntegerLiteralKind common.IntegerLiteralKind InvalidIntegerLiteralKind InvalidNumberLiteralKind ast.Range }
func (*InvalidIntegerLiteralError) Error ¶
func (e *InvalidIntegerLiteralError) Error() string
func (*InvalidIntegerLiteralError) IsUserError ¶
func (*InvalidIntegerLiteralError) IsUserError()
func (*InvalidIntegerLiteralError) SecondaryError ¶
func (e *InvalidIntegerLiteralError) SecondaryError() string
type InvalidNumberLiteralKind ¶
type InvalidNumberLiteralKind uint
const ( InvalidNumberLiteralKindUnknown InvalidNumberLiteralKind = iota InvalidNumberLiteralKindLeadingUnderscore InvalidNumberLiteralKindTrailingUnderscore InvalidNumberLiteralKindUnknownPrefix InvalidNumberLiteralKindMissingDigits )
func (InvalidNumberLiteralKind) Description ¶
func (k InvalidNumberLiteralKind) Description() string
func (InvalidNumberLiteralKind) String ¶
func (i InvalidNumberLiteralKind) String() string
type JuxtaposedUnaryOperatorsError ¶
func (*JuxtaposedUnaryOperatorsError) EndPosition ¶
func (e *JuxtaposedUnaryOperatorsError) EndPosition(_ common.MemoryGauge) ast.Position
func (*JuxtaposedUnaryOperatorsError) Error ¶
func (e *JuxtaposedUnaryOperatorsError) Error() string
func (*JuxtaposedUnaryOperatorsError) IsUserError ¶
func (*JuxtaposedUnaryOperatorsError) IsUserError()
func (*JuxtaposedUnaryOperatorsError) StartPosition ¶
func (e *JuxtaposedUnaryOperatorsError) StartPosition() ast.Position
type MissingCommaInParameterListError ¶
func (*MissingCommaInParameterListError) EndPosition ¶
func (e *MissingCommaInParameterListError) EndPosition(_ common.MemoryGauge) ast.Position
func (*MissingCommaInParameterListError) Error ¶
func (e *MissingCommaInParameterListError) Error() string
func (*MissingCommaInParameterListError) IsUserError ¶
func (*MissingCommaInParameterListError) IsUserError()
func (*MissingCommaInParameterListError) StartPosition ¶
func (e *MissingCommaInParameterListError) StartPosition() ast.Position
type ParseError ¶
type ParseError interface { errors.UserError ast.HasPosition // contains filtered or unexported methods }
type SyntaxError ¶
func NewSyntaxError ¶
func NewSyntaxError(pos ast.Position, message string, params ...any) *SyntaxError
func NewUnpositionedSyntaxError ¶
func NewUnpositionedSyntaxError(message string, params ...any) *SyntaxError
func (*SyntaxError) EndPosition ¶
func (e *SyntaxError) EndPosition(_ common.MemoryGauge) ast.Position
func (*SyntaxError) Error ¶
func (e *SyntaxError) Error() string
func (*SyntaxError) IsUserError ¶
func (*SyntaxError) IsUserError()
func (*SyntaxError) StartPosition ¶
func (e *SyntaxError) StartPosition() ast.Position
type TypeDepthLimitReachedError ¶
func (TypeDepthLimitReachedError) EndPosition ¶
func (e TypeDepthLimitReachedError) EndPosition(_ common.MemoryGauge) ast.Position
func (TypeDepthLimitReachedError) Error ¶
func (e TypeDepthLimitReachedError) Error() string
func (TypeDepthLimitReachedError) IsUserError ¶
func (TypeDepthLimitReachedError) IsUserError()
func (TypeDepthLimitReachedError) StartPosition ¶
func (e TypeDepthLimitReachedError) StartPosition() ast.Position