...

Package model

import "github.com/golang/mock/mockgen/model"
Overview
Index

Overview ▾

Package model contains the data model necessary for generating mock implementations.

Variables

ErrorInterface represent built-in error interface.

var ErrorInterface = Interface{
    Name: "error",
    Methods: []*Method{
        {
            Name: "Error",
            Out: []*Parameter{
                {
                    Name: "",
                    Type: PredeclaredType("string"),
                },
            },
        },
    },
}

type ArrayType

ArrayType is an array or slice type.

type ArrayType struct {
    Len  int // -1 for slices, >= 0 for arrays
    Type Type
}

func (*ArrayType) String

func (at *ArrayType) String(pm map[string]string, pkgOverride string) string

type ChanDir

ChanDir is a channel direction.

type ChanDir int

Constants for channel directions.

const (
    RecvDir ChanDir = 1
    SendDir ChanDir = 2
)

type ChanType

ChanType is a channel type.

type ChanType struct {
    Dir  ChanDir // 0, 1 or 2
    Type Type
}

func (*ChanType) String

func (ct *ChanType) String(pm map[string]string, pkgOverride string) string

type FuncType

FuncType is a function type.

type FuncType struct {
    In, Out  []*Parameter
    Variadic *Parameter // may be nil
}

func (*FuncType) String

func (ft *FuncType) String(pm map[string]string, pkgOverride string) string

type Interface

Interface is a Go interface.

type Interface struct {
    Name       string
    Methods    []*Method
    TypeParams []*Parameter
}

func InterfaceFromInterfaceType

func InterfaceFromInterfaceType(it reflect.Type) (*Interface, error)

InterfaceFromInterfaceType returns a pointer to an interface for the given reflection interface type.

func (*Interface) AddMethod

func (intf *Interface) AddMethod(m *Method)

AddMethod adds a new method, de-duplicating by method name.

func (*Interface) Print

func (intf *Interface) Print(w io.Writer)

Print writes the interface name and its methods.

type MapType

MapType is a map type.

type MapType struct {
    Key, Value Type
}

func (*MapType) String

func (mt *MapType) String(pm map[string]string, pkgOverride string) string

type Method

Method is a single method of an interface.

type Method struct {
    Name     string
    In, Out  []*Parameter
    Variadic *Parameter // may be nil
}

func (*Method) Print

func (m *Method) Print(w io.Writer)

Print writes the method name and its signature.

type NamedType

NamedType is an exported type in a package.

type NamedType struct {
    Package    string // may be empty
    Type       string
    TypeParams *TypeParametersType
}

func (*NamedType) String

func (nt *NamedType) String(pm map[string]string, pkgOverride string) string

type Package

Package is a Go package. It may be a subset.

type Package struct {
    Name       string
    PkgPath    string
    Interfaces []*Interface
    DotImports []string
}

func (*Package) Imports

func (pkg *Package) Imports() map[string]bool

Imports returns the imports needed by the Package as a set of import paths.

func (*Package) Print

func (pkg *Package) Print(w io.Writer)

Print writes the package name and its exported interfaces.

type Parameter

Parameter is an argument or return parameter of a method.

type Parameter struct {
    Name string // may be empty
    Type Type
}

func (*Parameter) Print

func (p *Parameter) Print(w io.Writer)

Print writes a method parameter.

type PointerType

PointerType is a pointer to another type.

type PointerType struct {
    Type Type
}

func (*PointerType) String

func (pt *PointerType) String(pm map[string]string, pkgOverride string) string

type PredeclaredType

PredeclaredType is a predeclared type such as "int".

type PredeclaredType string

func (PredeclaredType) String

func (pt PredeclaredType) String(map[string]string, string) string

type Type

Type is a Go type.

type Type interface {
    String(pm map[string]string, pkgOverride string) string
    // contains filtered or unexported methods
}

type TypeParametersType

TypeParametersType contains type paramters for a NamedType.

type TypeParametersType struct {
    TypeParameters []Type
}

func (*TypeParametersType) String

func (tp *TypeParametersType) String(pm map[string]string, pkgOverride string) string