Documentation
¶
Overview ¶
Package declaration defines compiler-owned type information supplied by runtime-library providers. It is deliberately independent of syntax ASTs: RBS, .d.ts, Go export data, and dynamic framework indexers can all target the same representation without making application authors maintain shadow declaration files.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Block ¶ added in v0.2.0
type Block struct {
Parameters []types.Type
// Return makes the block a value-producing control-flow boundary. The
// final expression must be assignable to this type, and return or Result
// propagation exits the block rather than the enclosing method.
Return types.Type
// Structured keeps the block in typed IR instead of lowering it to a
// backend callback. Structured blocks may be assigned or returned while
// preserving return, break, and next in their lexical owner.
Structured bool
}
type Catalog ¶
type Catalog struct {
Types map[string]*Type
Modules map[string]*Module
FunctionBlockRules []FunctionBlockRule
}
func NewCatalog ¶
func NewCatalog() *Catalog
type FunctionBlockRule ¶ added in v0.2.0
type FunctionBlockRule struct {
Package string
Function string
EnclosingSuperclass string
TypeArgument int
ParameterTypeSuffix string
}
FunctionBlockRule describes a package function whose block type is derived from one of the call arguments. Providers use this for declarative DSLs without teaching the checker package-specific syntax.
type MemberKind ¶
type MemberKind string
const ( Method MemberKind = "method" Property MemberKind = "property" )
Click to show internal directories.
Click to hide internal directories.