projectintegration

package
v0.4.5 Latest Latest
Warning

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

Go to latest
Published: Sep 5, 2026 License: MIT Imports: 17 Imported by: 0

Documentation

Overview

Package projectintegration runs compile-time hooks declared by TypeRB packages without teaching the compiler pipeline their domain-specific data.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Analyze

func Analyze(context Context) (Analysis, []Issue, error)

Types

type Analysis

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

func (Analysis) Apply

func (a Analysis) Apply(program *ir.Program, entrypoint bool)

func (Analysis) CanReuseLoweredPrograms added in v0.3.13

func (a Analysis) CanReuseLoweredPrograms(previous Analysis, affected map[string]bool) bool

CanReuseLoweredPrograms reports whether unchanged IR augmented by previous has the same project-integration behavior under the receiver.

func (Analysis) GeneratedSources added in v0.3.15

func (a Analysis) GeneratedSources() []GeneratedSource

type Context

type Context struct {
	Sources                []Source
	Resolutions            map[string]resolver.Result
	EntrypointModule       string
	SourceRoot             string
	ProjectRoot            string
	PackageOptions         map[string][]byte
	PackageAliasesByModule map[string]map[string]string
	JobsConfiguration      string
}

type Contribution

type Contribution struct {
	Extension     ir.Extension
	MethodTargets map[string]map[string]string
	AllPrograms   bool
	Generation    *packageextension.ProjectGenerationResponse
}

type GeneratedSource added in v0.3.15

type GeneratedSource struct {
	Provider string
	Source   packageextension.ProjectGeneratedSource
}

type Issue

type Issue struct {
	Filename string
	Message  string
	Span     token.Span
}

type Source

type Source struct {
	Filename        string
	ModulePath      string
	Program         *ast.Program
	CompilerOwned   bool
	Official        bool
	ExternalPackage bool
}

Jump to

Keyboard shortcuts

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