gazelle

package
v1.508.0 Latest Latest
Warning

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

Go to latest
Published: Oct 10, 2023 License: Apache-2.0 Imports: 28 Imported by: 0

README

Kotlin Gazelle Extension

EXPERIMENTAL: This is a work in progress and is not yet ready for use. Work is ongoing including upcoming support for rules_jvm maven dependencies.

This is a Gazelle Language implementation for Kotlin using the rules_kotlin jvm rules.

Documentation

Index

Constants

View Source
const (
	KtJvmLibrary              = "kt_jvm_library"
	KtJvmBinary               = "kt_jvm_binary"
	RulesKotlinRepositoryName = "io_bazel_rules_kotlin"
)
View Source
const (
	Resolution_Error        = -1
	Resolution_None         = 0
	Resolution_NotFound     = 1
	Resolution_Label        = 2
	Resolution_NativeKotlin = 3
)
View Source
const LanguageName = "kotlin"
View Source
const (
	// TODO: move to common
	MaxWorkerCount = 12
)

Variables

This section is empty.

Functions

func IsNativeImport

func IsNativeImport(impt string) bool

func NewLanguage

func NewLanguage() language.Language

NewLanguage initializes a new TypeScript that satisfies the language.Language interface. This is the entrypoint for the extension initialization.

Types

type Configurer

type Configurer struct {
	config.Configurer
	// contains filtered or unexported fields
}

func NewConfigurer

func NewConfigurer(lang *kotlinLang) *Configurer

func (*Configurer) CheckFlags

func (kc *Configurer) CheckFlags(fs *flag.FlagSet, c *config.Config) error

func (*Configurer) Configure

func (kt *Configurer) Configure(c *config.Config, rel string, f *rule.File)

func (*Configurer) KnownDirectives

func (kt *Configurer) KnownDirectives() []string

func (*Configurer) RegisterFlags

func (kc *Configurer) RegisterFlags(fs *flag.FlagSet, cmd string, c *config.Config)

type ImportStatement

type ImportStatement struct {
	resolve.ImportSpec

	// The path of the file containing the import
	SourcePath string
}

TODO: drop? still used?

type Java_MavenResolver

type Java_MavenResolver interface {
	Resolve(pkg Java_PackageName) (label.Label, error)
}

type Java_PackageName

type Java_PackageName struct {
	Name string
}

type KotlinBinTarget added in v1.507.2

type KotlinBinTarget struct {
	KotlinTarget

	File    string
	Package string
}

*

  • Information for kotlin binary (main() method) including:
  • - kotlin import statements from all files
  • - the package
  • - the file

func NewKotlinBinTarget added in v1.507.2

func NewKotlinBinTarget(file, pkg string) *KotlinBinTarget

type KotlinLibTarget added in v1.507.2

type KotlinLibTarget struct {
	KotlinTarget

	Packages *treeset.Set
	Files    *treeset.Set
}

*

  • Information for kotlin library target including:
  • - kotlin files
  • - kotlin import statements from all files
  • - kotlin packages implemented

func NewKotlinLibTarget added in v1.507.2

func NewKotlinLibTarget() *KotlinLibTarget

type KotlinTarget added in v1.507.2

type KotlinTarget struct {
	Imports *treeset.Set
}

type ResolutionType

type ResolutionType = int

type Resolver

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

func NewResolver

func NewResolver(lang *kotlinLang) *Resolver

func (*Resolver) Embeds

func (kt *Resolver) Embeds(r *rule.Rule, from label.Label) []label.Label

func (*Resolver) Imports

func (kt *Resolver) Imports(c *config.Config, r *rule.Rule, f *rule.File) []resolve.ImportSpec

Determine what rule (r) outputs which can be imported.

func (*Resolver) Name

func (*Resolver) Name() string

func (*Resolver) Resolve

func (kt *Resolver) Resolve(c *config.Config, ix *resolve.RuleIndex, rc *repo.RemoteCache, r *rule.Rule, importData interface{}, from label.Label)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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