plugin_type_analyzer

package
v1.2.8-sp5 Latest Latest
Warning

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

Go to latest
Published: Nov 24, 2023 License: AGPL-3.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CheckPluginType

func CheckPluginType(pluginType string, prog *ssaapi.Program)

func GetPluginSSAOpt

func GetPluginSSAOpt(pluginType string) []ssaapi.Option

func RegisterCheckRuler

func RegisterCheckRuler(pluginTyp string, f CheckRuler)

func RegisterSSAOptCollector

func RegisterSSAOptCollector(pluginTyp string, f SSAOptCollector)

func RegisterTypeInfoCollector

func RegisterTypeInfoCollector(pluginTyp string, f TypeInfoCollector)

Types

type CheckRuler

type CheckRuler func(*ssaapi.Program)

type PluginTypeAnalyzer

type PluginTypeAnalyzer struct {
	SSAOptCollectors   map[string]SSAOptCollector
	TypeInfoCollectors map[string][]TypeInfoCollector
	CheckRulers        map[string][]CheckRuler
}

type SSAOptCollector

type SSAOptCollector func() []ssaapi.Option

type TypeInfoCollector

type TypeInfoCollector func(*ssaapi.Program) *YaklangInfo

type YaklangInfo

type YaklangInfo struct {
	Name string
	KV   []*YaklangInfoKV
}

func GetPluginInfo

func GetPluginInfo(pluginType string, prog *ssaapi.Program) []*YaklangInfo

func NewYakLangInfo

func NewYakLangInfo(name string) *YaklangInfo

func (*YaklangInfo) AddKV

func (y *YaklangInfo) AddKV(value *YaklangInfoKV)

type YaklangInfoKV

type YaklangInfoKV struct {
	Key    string
	Value  any
	Extern []*YaklangInfoKV
}

func NewYaklangInfoKV

func NewYaklangInfoKV(key string, value any) *YaklangInfoKV

func (*YaklangInfoKV) AddExtern

func (y *YaklangInfoKV) AddExtern(key string, value any)

func (*YaklangInfoKV) AddExternInfo

func (y *YaklangInfoKV) AddExternInfo(info *YaklangInfoKV)

func (*YaklangInfoKV) String

func (y *YaklangInfoKV) String() string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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