Documentation
¶
Overview ¶
This package defines source code entities - abstractions that end-user (a programmer) operates on. For convenience these structures have json tags. This is not clean architecture but it's very handy for LSP.
Index ¶
- Variables
- type ArrayBypassConnection
- type Build
- type Component
- type Connection
- type ConnectionReceiver
- type ConnectionReceiverSide
- type ConnectionSenderSide
- type ConnectionSideSelectors
- type Const
- type Directive
- type Entity
- type EntityKind
- type EnumMessage
- type File
- type IO
- type Import
- type Interface
- type Location
- type Message
- type Module
- type ModuleManifest
- type ModuleRef
- type Node
- type NormalConnection
- type Package
- type Port
- type PortAddr
- type Scope
- type TypeArgs
- type TypeParams
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrModNotFound = errors.New("module not found") ErrPkgNotFound = fmt.Errorf("package not found") ErrImportNotFound = errors.New("import not found") ErrFileNotFound = errors.New("file not found") ErrEntityNotPub = errors.New("entity is not public") )
View Source
var ErrEntityNotFound = errors.New("entity not found")
Functions ¶
This section is empty.
Types ¶
type ArrayBypassConnection ¶
type Connection ¶
type Connection struct {
Normal *NormalConnection `json:"normal,omitempty"`
ArrayBypass *ArrayBypassConnection `json:"arrayBypass,omitempty"`
Meta core.Meta `json:"meta,omitempty"`
}
type ConnectionReceiver ¶
type ConnectionReceiver struct {
PortAddr PortAddr `json:"portAddr,omitempty"`
Selectors ConnectionSideSelectors `json:"selectors,omitempty"`
Meta core.Meta `json:"meta,omitempty"`
}
func (ConnectionReceiver) String ¶
func (r ConnectionReceiver) String() string
type ConnectionReceiverSide ¶
type ConnectionReceiverSide struct {
DeferredConnections []Connection `json:"deferredConnections,omitempty"`
Receivers []ConnectionReceiver `json:"receivers,omitempty"`
}
type ConnectionSenderSide ¶
type ConnectionSenderSide struct {
PortAddr *PortAddr `json:"portAddr,omitempty"`
Const *Const `json:"literal,omitempty"`
Selectors []string `json:"selectors,omitempty"`
Meta core.Meta `json:"meta,omitempty"`
}
ConnectionSenderSide unlike ReceiverConnectionSide could refer to constant.
func (ConnectionSenderSide) String ¶
func (s ConnectionSenderSide) String() string
type ConnectionSideSelectors ¶
type ConnectionSideSelectors []string
func (ConnectionSideSelectors) String ¶
func (c ConnectionSideSelectors) String() string
type Const ¶
type Entity ¶
type EntityKind ¶
type EntityKind string // It's handy to transmit strings enum instead of digital
const ( ComponentEntity EntityKind = "component_entity" ConstEntity EntityKind = "const_entity" TypeEntity EntityKind = "type_entity" InterfaceEntity EntityKind = "interface_entity" )
type EnumMessage ¶
type Interface ¶
type Interface struct {
TypeParams TypeParams `json:"typeParams,omitempty"`
IO IO `json:"io,omitempty,"`
Meta core.Meta `json:"meta,omitempty"`
}
type Message ¶
type Message struct {
TypeExpr ts.Expr `json:"typeExpr,omitempty"`
Bool *bool `json:"bool,omitempty"`
Int *int `json:"int,omitempty"`
Float *float64 `json:"float,omitempty"`
Str *string `json:"str,omitempty"`
List []Const `json:"vec,omitempty"`
MapOrStruct map[string]Const `json:"map,omitempty"`
Enum *EnumMessage `json:"enum,omitempty"`
Meta core.Meta `json:"meta,omitempty"`
}
type Module ¶
type Module struct {
Manifest ModuleManifest `json:"manifest,omitempty"`
Packages map[string]Package `json:"packages,omitempty"`
}
type ModuleManifest ¶
type ModuleRef ¶
type Node ¶
type NormalConnection ¶
type NormalConnection struct {
SenderSide ConnectionSenderSide `json:"senderSide,omitempty"`
ReceiverSide ConnectionReceiverSide `json:"receiverSide,omitempty"`
}
type PortAddr ¶
type Scope ¶
func (Scope) WithLocation ¶
Directories
¶
| Path | Synopsis |
|---|---|
|
Package typesystem implements type-system with generics and structural subtyping.
|
Package typesystem implements type-system with generics and structural subtyping. |
Click to show internal directories.
Click to hide internal directories.