Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsInterfaceReceiver ¶
Types ¶
type TargetArgument ¶
type TargetArgument struct {
Name string
Type string
// 0 == not ptr, 1 == *, 2 == **
Pointer int
Array bool
}
func (TargetArgument) IsIncludable ¶
func (a TargetArgument) IsIncludable() bool
func (TargetArgument) Print ¶
func (a TargetArgument) Print()
pretty print TargetArgument for debugging purposes
type TargetFunction ¶
type TargetFunction struct {
Name string
IsMethod bool
Receiver string
//StructType string
Args []TargetArgument
PackageName string
PackagePath string
PackageDir string
TypesFunc *types.Func // func info from go/types library
}
func (TargetFunction) IsConstructor ¶
func (f TargetFunction) IsConstructor() bool
isConstructor reports if f is a constructor. It cannot have a receiver, must return a named type or pointer to named type as its first return value, and can optionally have its second return value be type error. This is a more narrow definition than for example 'go doc', which allows any number of builtin types to be returned in addition to a single named type.
func (TargetFunction) IsIncludable ¶
func (f TargetFunction) IsIncludable(target_config TargetRepoConfig) bool
func (TargetFunction) Print ¶
func (f TargetFunction) Print()
pretty print TargetFunction for debugging purposes
func (TargetFunction) UniqueName ¶
func (f TargetFunction) UniqueName() string
since functions can be defined more than once with the same name and different function interfaces we need to make a unique wrapper function name this function hashes information about the function interface to do so
type TargetPackage ¶
type TargetPackage struct {
RealPath string
Name string
ImportPath string
TargetFunctions []TargetFunction
TargetConstructors []TargetFunction
}
func NewTargetPackage ¶
func NewTargetPackage(name string, real_path string, target_config TargetRepoConfig) TargetPackage
helper function for creating new TargetPackage objects
func (TargetPackage) GenerateHarnessPath ¶
func (pkg TargetPackage) GenerateHarnessPath() string
func (TargetPackage) IsIncludable ¶
func (pkg TargetPackage) IsIncludable(target_config TargetRepoConfig) bool
checks various things to see if we should exclude the package
func (TargetPackage) Print ¶
func (pkg TargetPackage) Print()
pretty print TargetPackage for debugging purposes
func (TargetPackage) UniqueID ¶
func (pkg TargetPackage) UniqueID() string
returns a truncated hash of the import path for uniqueness
type TargetRepoConfig ¶
type TargetRepoConfig struct {
TargetRepo string `yaml:"target_repo_name"`
TargetRepoURL string `yaml:"target_repo_url"`
TargetRepoBranch string `yaml:"target_repo_branch"`
TargetRepoImportPrefix string `yaml:"target_repo_import_prefix"`
TargetRepoSubDir string `yaml:"target_sub_dir"`
TargetModuleDeclaration string `yaml:"target_mod_self_declaration"`
TargetGoVersion string `yaml:"go_version"`
HarnessGenDeps []string `yaml:"harness_gen_deps"`
IgnorePackages []string `yaml:"ignore_packages"`
IgnoreFunctions []string `yaml:"ignore_functions"`
IgnoreTypes []string `yaml:"ignore_types"`
//TODO:
//substitute_packages:
TestTimeSeconds int `yaml:"seconds_per_target_function"`
}
func ParseTargetConfig ¶
func ParseTargetConfig(yaml_file string) TargetRepoConfig
parse YAML file with target configuration