typecheck

package
v0.0.0-...-4cc5765 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 14, 2022 License: MPL-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const NoIndex int = -1

Variables

This section is empty.

Functions

This section is empty.

Types

type Collector

type Collector struct {
	// contains filtered or unexported fields
}

collects symbols defined in ast.Node

func CollectGlobals

func CollectGlobals(fileset *token.FileSet, pkg *types.Package, knownpkgs types.Packages,
	source ...ast.Node) *Collector

collect the global declarations in specified sources

func (*Collector) Globals

func (c *Collector) Globals(nodes ...ast.Node)

collect global declarations from specified nodes.

func (*Collector) Init

func (c *Collector) Init(fileset *token.FileSet, currpkg *types.Package, scope *types.Scope, knownpkgs types.Packages)

does NOT clear accumulated errors and warnings

type Decl

type Decl struct {
	// contains filtered or unexported fields
}

stored in Object.Decl()

type Object

type Object types.Object

func NewObject

func NewObject(cls types.Class, name string, node ast.Node, file *token.File) *Object

func (*Object) Class

func (obj *Object) Class() types.Class

func (*Object) Decl

func (obj *Object) Decl() *Decl

func (*Object) Name

func (obj *Object) Name() string

func (*Object) Object

func (obj *Object) Object() *types.Object

func (*Object) SetType

func (obj *Object) SetType(typ *types.Complete)

func (*Object) SetValue

func (obj *Object) SetValue(val interface{})

func (*Object) String

func (obj *Object) String() string

func (*Object) Type

func (obj *Object) Type() *types.Complete

func (*Object) Value

func (obj *Object) Value() interface{}

type ObjectGraph

type ObjectGraph map[*Object]ObjectSet
func (g ObjectGraph) Link(from *Object, to *Object)

type ObjectMap

type ObjectMap map[string]*Object

func (ObjectMap) Delete

func (m ObjectMap) Delete(obj *Object)

func (ObjectMap) DeleteSet

func (m ObjectMap) DeleteSet(set ObjectSet)

func (ObjectMap) Insert

func (m ObjectMap) Insert(obj *Object)

func (ObjectMap) Names

func (m ObjectMap) Names() []string

type ObjectSet

type ObjectSet map[*Object]struct{}

type Resolver

type Resolver struct {
	// contains filtered or unexported fields
}

resolves symbols i.e. for each declared identifier finds its declaration also computes the dependencies among declared identifiers

func ResolveGlobals

func ResolveGlobals(c *Collector) *Resolver

resolve the global declarations previously collected in 'c'

func (*Resolver) Globals

func (r *Resolver) Globals()

resolve global symbols collected by Collector and create their *types.Complete

func (*Resolver) Init

func (r *Resolver) Init(c *Collector)

does NOT clear accumulated errors

type TypeMap

type TypeMap map[ast.Node]*types.Complete

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL