Documentation
¶
Overview ¶
Package checker resolves names, infers local declaration types, validates assignments/returns, and records a type for every portable expression.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CaseBinding ¶
type CasePattern ¶
type CasePattern struct {
Variant EnumVariant
Bindings []CaseBinding
PayloadEnum bool
MatchType types.Type
TypeUnion bool
}
type CodecApplication ¶
type CodecApplication struct {
Operation string
Schema CodecSchema
}
type CodecField ¶
type CodecField struct {
Name string
WireName string
Schema *CodecSchema
}
type CodecSchema ¶
type CodecSchema struct {
Type types.Type
Kind string
Module string
Reference *resolver.Binding
Element *CodecSchema
Fields []CodecField
}
type EnumVariant ¶
type GenericApplication ¶
type Result ¶
type Result struct {
Program *ast.Program
Expressions map[ast.Expression]types.Type
Conversions map[ast.Expression]types.Type
Variables map[*ast.VariableStatement]types.Type
Iterations map[*ast.IterationExpression]types.Type
IterationBindings map[*ast.IterationExpression][]types.Type
LexicalBindings map[*ast.Identifier]bool
Constants map[ast.Expression]string
ConstantOwners map[*ast.VariableStatement]string
Resolution resolver.Result
References map[ast.Expression]resolver.Binding
EnumConstructors map[*ast.CallExpression]EnumVariant
CasePatterns map[ast.Expression]CasePattern
GenericApplications map[*ast.GenericExpression]GenericApplication
CodecApplications map[*ast.CallExpression]CodecApplication
RuntimeDependencies map[string]*stdlib.Package
}
func Check ¶
func Check(program *ast.Program, resolution resolver.Result) (Result, []diagnostic.Diagnostic)
func CheckWithOptions ¶ added in v0.1.4
func CheckWithOptions(program *ast.Program, resolution resolver.Result, options Options) (Result, []diagnostic.Diagnostic)
Click to show internal directories.
Click to hide internal directories.