gocode

package
v0.9.5 Latest Latest
Warning

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

Go to latest
Published: Dec 5, 2023 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	WordAnyString = "*"     // 表示任意字符串
	WordAnyRune   = "?"     // 表示任意字符
	WordHex       = "[*]"   // 表示 '*' 符号
	WordMore      = "[...]" // 表示后缀为任意长度的任意内容
)

定义几个特殊的单词符号

Variables

This section is empty.

Functions

This section is empty.

Types

type ComplexType

type ComplexType struct {
	Text      string // 完整的表达式
	Words     Words
	IsArray   bool
	IsMap     bool
	KeyType   *SimpleType
	ValueType SimpleType
}

ComplexType 表示一个复杂类型,例如 map[key]value 的类型, []item 的类型

func CreateComplexType

func CreateComplexType(words *Words, imports *ImportSet) (*ComplexType, error)

CreateComplexType 创建复杂类型

func ParseComplexType

func ParseComplexType(text string, imports *ImportSet) (*ComplexType, error)

ParseComplexType 解析复杂类型

func (*ComplexType) String

func (inst *ComplexType) String() string

type ConfigenParam

type ConfigenParam struct {
	Name  string
	Value string
}

ConfigenParam 表示一项配置参数

type ConfigenParams

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

ConfigenParams 表示嵌入在 go 代码注释中的配置参数

func CreateConfigenParams

func CreateConfigenParams(w *Words) (*ConfigenParams, error)

CreateConfigenParams 创建配置参数

func ParseConfigenParams

func ParseConfigenParams(s string) (*ConfigenParams, error)

ParseConfigenParams 解析配置参数

func (*ConfigenParams) Add

func (inst *ConfigenParams) Add(item *ConfigenParam) *ConfigenParams

Add ...

func (*ConfigenParams) GetItemAt

func (inst *ConfigenParams) GetItemAt(index int) *ConfigenParam

GetItemAt ...

func (*ConfigenParams) GetItems

func (inst *ConfigenParams) GetItems() []*ConfigenParam

GetItems ...

type DestinationFolder

type DestinationFolder struct {
	ID                dto.DestinationID
	Config            dto.Destination
	Path              afs.Path
	Sources           []*SourceFolder
	PackageSimpleName string
}

DestinationFolder ...

type Field

type Field struct {
	Name      string
	Type      ComplexType
	Injection string
}

Field 表示 struct 中的一个需要注入的字段

type FieldSet

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

FieldSet 是若干 Field 的集合

func (*FieldSet) Add

func (inst *FieldSet) Add(items ...*Field)

Add ...

func (*FieldSet) List

func (inst *FieldSet) List() []*Field

List ...

type Implementation

type Implementation struct {
	Field
}

Implementation 表示组件实现的一个接口

type ImplementationSet

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

ImplementationSet 表示组件实现的一组接口

func (*ImplementationSet) Add

func (inst *ImplementationSet) Add(item *Implementation)

Add ...

func (*ImplementationSet) List

func (inst *ImplementationSet) List() []*Implementation

List ...

type Import

type Import struct {
	Alias    string
	FullName string
	HexName  lang.Hex
}

Import 表示导入当前源文件的一个包

func (*Import) ComputeHexName

func (inst *Import) ComputeHexName()

ComputeHexName 计算字段 'HexName' 的值

type ImportSet

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

ImportSet 是若干 Import 的集合

func (*ImportSet) Add

func (inst *ImportSet) Add(items ...*Import)

Add ...

func (*ImportSet) Find

func (inst *ImportSet) Find(name string) *Import

Find 通过别名或者全名查找

func (*ImportSet) List

func (inst *ImportSet) List() []*Import

List 列出所有条目

type Module

type Module struct {
	Name string   // the full-name of module
	Path afs.Path // path of 'go.mod'
}

Module 表示一个 go-module

type Package

type Package struct {
	OwnerModule *Module
	OwnerGroup  *SourceFolder

	FullName   string
	SimpleName string
	Alias      string
	Path       afs.Path // string
}

Package 表示一个 go-package

type SimpleType

type SimpleType struct {
	Text         string // 完整的表达式
	Words        Words
	Package      Import
	SimpleName   string
	IsPtr        bool // with the '*' mark
	IsNativeType bool // a native type like: int|bool|any|error|string|...
}

SimpleType 表示一个简单类型,例如 field 的类型, func-param 的类型

func CreateSimpleType

func CreateSimpleType(words *Words, imports *ImportSet) (*SimpleType, error)

CreateSimpleType 创建简单类型

func ParseSimpleType

func ParseSimpleType(text string, imports *ImportSet) (*SimpleType, error)

ParseSimpleType 把字符串解析为简单类型

func (*SimpleType) String

func (inst *SimpleType) String() string

type Source

type Source struct {
	OwnerPackage *Package
	Path         afs.Path //    string
	Name         string

	ImportSet     ImportSet
	TypeStructSet TypeStructSet
}

Source 表示一个 *.go 文件

type SourceFolder

type SourceFolder struct {
	ID     dto.SourceID
	Config dto.Source
	Path   afs.Path
}

SourceFolder ...

type SourceList

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

SourceList ...

func (*SourceList) Add

func (inst *SourceList) Add(item *Source)

Add ...

func (*SourceList) List

func (inst *SourceList) List() []*Source

List ...

type TypeStruct

type TypeStruct struct {
	IsComponent bool            // 是否是 starter 组件
	ComAtts     *ConfigenParams // starter 组件属性
	ComID       string
	ComClass    string
	ComAlias    string
	ComScope    string

	OwnerPackage *Package          // 结构体所在的包
	Name         string            // 结构体名称
	Fields       FieldSet          // 字段集合
	As           ImplementationSet // 这里用 Field 结构来表示实现的各个接口
}

TypeStruct 表示一个结构体类型

type TypeStructSet

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

TypeStructSet 是若干 TypeStruct 的集合

func (*TypeStructSet) Add

func (inst *TypeStructSet) Add(items ...*TypeStruct)

Add ...

func (*TypeStructSet) List

func (inst *TypeStructSet) List() []*TypeStruct

List ...

type Words

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

Words 是一组由单词(或者符号)构成的序列

func NewWords

func NewWords(items []string) *Words

NewWords 把字符串解析为单词序列

func ParseWords

func ParseWords(text string) *Words

ParseWords 把字符串解析为单词序列

func (*Words) HasPattern

func (inst *Words) HasPattern(pattern ...string) bool

HasPattern 判断序列是否符合指定的模式

func (*Words) Len

func (inst *Words) Len() int

Len 返回列表长度

func (*Words) List

func (inst *Words) List() []string

List 返回列表

func (*Words) String

func (inst *Words) String() string

func (*Words) WordAt

func (inst *Words) WordAt(index int, def string) string

WordAt 通过索引取词

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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