Documentation
¶
Overview ¶
nolint
Index ¶
- func CloneRefOfBool(n *bool) *bool
- func CloneSliceOfInt(n []int) []int
- func EqualsAST(inA, inB AST) bool
- func EqualsBytes(a, b Bytes) bool
- func EqualsInterfaceContainer(a, b InterfaceContainer) bool
- func EqualsInterfaceSlice(a, b InterfaceSlice) bool
- func EqualsLeafSlice(a, b LeafSlice) bool
- func EqualsRefOfBool(a, b *bool) bool
- func EqualsRefOfInterfaceContainer(a, b *InterfaceContainer) bool
- func EqualsRefOfLeaf(a, b *Leaf) bool
- func EqualsRefOfNoCloneType(a, b *NoCloneType) bool
- func EqualsRefOfRefContainer(a, b *RefContainer) bool
- func EqualsRefOfRefSliceContainer(a, b *RefSliceContainer) bool
- func EqualsRefOfSubImpl(a, b *SubImpl) bool
- func EqualsRefOfValueContainer(a, b *ValueContainer) bool
- func EqualsRefOfValueSliceContainer(a, b *ValueSliceContainer) bool
- func EqualsSliceOfAST(a, b []AST) bool
- func EqualsSliceOfInt(a, b []int) bool
- func EqualsSliceOfRefOfLeaf(a, b []*Leaf) bool
- func EqualsSubIface(inA, inB SubIface) bool
- func EqualsValueContainer(a, b ValueContainer) bool
- func EqualsValueSliceContainer(a, b ValueSliceContainer) bool
- func VisitAST(in AST, f Visit) error
- func VisitBasicType(in BasicType, f Visit) error
- func VisitBytes(in Bytes, f Visit) error
- func VisitInterfaceContainer(in InterfaceContainer, f Visit) error
- func VisitInterfaceSlice(in InterfaceSlice, f Visit) error
- func VisitLeafSlice(in LeafSlice, f Visit) error
- func VisitRefOfInterfaceContainer(in *InterfaceContainer, f Visit) error
- func VisitRefOfLeaf(in *Leaf, f Visit) error
- func VisitRefOfNoCloneType(in *NoCloneType, f Visit) error
- func VisitRefOfRefContainer(in *RefContainer, f Visit) error
- func VisitRefOfRefSliceContainer(in *RefSliceContainer, f Visit) error
- func VisitRefOfSubImpl(in *SubImpl, f Visit) error
- func VisitRefOfValueContainer(in *ValueContainer, f Visit) error
- func VisitRefOfValueSliceContainer(in *ValueSliceContainer, f Visit) error
- func VisitSubIface(in SubIface, f Visit) error
- func VisitValueContainer(in ValueContainer, f Visit) error
- func VisitValueSliceContainer(in ValueSliceContainer, f Visit) error
- type AST
- type ApplyFunc
- type BasicType
- type Bytes
- type Cursor
- type InterfaceContainer
- type InterfaceSlice
- type Leaf
- type LeafSlice
- type NoCloneType
- type RefContainer
- type RefSliceContainer
- type SubIface
- type SubImpl
- type ValueContainer
- type ValueSliceContainer
- type Visit
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CloneRefOfBool ¶
CloneRefOfBool creates a deep clone of the input.
func CloneSliceOfInt ¶
CloneSliceOfInt creates a deep clone of the input.
func EqualsBytes ¶
EqualsBytes does deep equals between the two objects.
func EqualsInterfaceContainer ¶
func EqualsInterfaceContainer(a, b InterfaceContainer) bool
EqualsInterfaceContainer does deep equals between the two objects.
func EqualsInterfaceSlice ¶
func EqualsInterfaceSlice(a, b InterfaceSlice) bool
EqualsInterfaceSlice does deep equals between the two objects.
func EqualsLeafSlice ¶
EqualsLeafSlice does deep equals between the two objects.
func EqualsRefOfBool ¶
EqualsRefOfBool does deep equals between the two objects.
func EqualsRefOfInterfaceContainer ¶
func EqualsRefOfInterfaceContainer(a, b *InterfaceContainer) bool
EqualsRefOfInterfaceContainer does deep equals between the two objects.
func EqualsRefOfLeaf ¶
EqualsRefOfLeaf does deep equals between the two objects.
func EqualsRefOfNoCloneType ¶
func EqualsRefOfNoCloneType(a, b *NoCloneType) bool
EqualsRefOfNoCloneType does deep equals between the two objects.
func EqualsRefOfRefContainer ¶
func EqualsRefOfRefContainer(a, b *RefContainer) bool
EqualsRefOfRefContainer does deep equals between the two objects.
func EqualsRefOfRefSliceContainer ¶
func EqualsRefOfRefSliceContainer(a, b *RefSliceContainer) bool
EqualsRefOfRefSliceContainer does deep equals between the two objects.
func EqualsRefOfSubImpl ¶
EqualsRefOfSubImpl does deep equals between the two objects.
func EqualsRefOfValueContainer ¶
func EqualsRefOfValueContainer(a, b *ValueContainer) bool
EqualsRefOfValueContainer does deep equals between the two objects.
func EqualsRefOfValueSliceContainer ¶
func EqualsRefOfValueSliceContainer(a, b *ValueSliceContainer) bool
EqualsRefOfValueSliceContainer does deep equals between the two objects.
func EqualsSliceOfAST ¶
EqualsSliceOfAST does deep equals between the two objects.
func EqualsSliceOfInt ¶
EqualsSliceOfInt does deep equals between the two objects.
func EqualsSliceOfRefOfLeaf ¶
EqualsSliceOfRefOfLeaf does deep equals between the two objects.
func EqualsSubIface ¶
EqualsSubIface does deep equals between the two objects.
func EqualsValueContainer ¶
func EqualsValueContainer(a, b ValueContainer) bool
EqualsValueContainer does deep equals between the two objects.
func EqualsValueSliceContainer ¶
func EqualsValueSliceContainer(a, b ValueSliceContainer) bool
EqualsValueSliceContainer does deep equals between the two objects.
func VisitBasicType ¶
func VisitBytes ¶
func VisitInterfaceContainer ¶
func VisitInterfaceContainer(in InterfaceContainer, f Visit) error
func VisitInterfaceSlice ¶
func VisitInterfaceSlice(in InterfaceSlice, f Visit) error
func VisitLeafSlice ¶
func VisitRefOfInterfaceContainer ¶
func VisitRefOfInterfaceContainer(in *InterfaceContainer, f Visit) error
func VisitRefOfLeaf ¶
func VisitRefOfNoCloneType ¶
func VisitRefOfNoCloneType(in *NoCloneType, f Visit) error
func VisitRefOfRefContainer ¶
func VisitRefOfRefContainer(in *RefContainer, f Visit) error
func VisitRefOfRefSliceContainer ¶
func VisitRefOfRefSliceContainer(in *RefSliceContainer, f Visit) error
func VisitRefOfSubImpl ¶
func VisitRefOfValueContainer ¶
func VisitRefOfValueContainer(in *ValueContainer, f Visit) error
func VisitRefOfValueSliceContainer ¶
func VisitRefOfValueSliceContainer(in *ValueSliceContainer, f Visit) error
func VisitSubIface ¶
func VisitValueContainer ¶
func VisitValueContainer(in ValueContainer, f Visit) error
func VisitValueSliceContainer ¶
func VisitValueSliceContainer(in ValueSliceContainer, f Visit) error
Types ¶
type AST ¶
type AST interface {
String() string
}
These types are used to test the rewriter generator against these types. To recreate them, just run:
go run go/tools/asthelpergen -in ./go/tools/asthelpergen/integration -iface vitess.io/vitess/go/tools/asthelpergen/integration.AST -except "*NoCloneType"
AST is the interface all interface types implement
func CloneSliceOfAST ¶
CloneSliceOfAST creates a deep clone of the input.
type Bytes ¶
type Bytes []byte
We need to support these types - a slice of AST elements can implement the interface
type Cursor ¶
type Cursor struct {
// contains filtered or unexported fields
}
Cursor is cursor
type InterfaceContainer ¶
type InterfaceContainer struct {
// contains filtered or unexported fields
}
func CloneInterfaceContainer ¶
func CloneInterfaceContainer(n InterfaceContainer) InterfaceContainer
CloneInterfaceContainer creates a deep clone of the input.
func CloneRefOfInterfaceContainer ¶
func CloneRefOfInterfaceContainer(n *InterfaceContainer) *InterfaceContainer
CloneRefOfInterfaceContainer creates a deep clone of the input.
func (InterfaceContainer) String ¶
func (r InterfaceContainer) String() string
type InterfaceSlice ¶
type InterfaceSlice []AST
We need to support these types - a slice of AST elements can implement the interface
func CloneInterfaceSlice ¶
func CloneInterfaceSlice(n InterfaceSlice) InterfaceSlice
CloneInterfaceSlice creates a deep clone of the input.
func (InterfaceSlice) String ¶
func (r InterfaceSlice) String() string
type Leaf ¶
type Leaf struct {
// contains filtered or unexported fields
}
Empty struct impl of the iface
func CloneRefOfLeaf ¶
CloneRefOfLeaf creates a deep clone of the input.
func CloneSliceOfRefOfLeaf ¶
CloneSliceOfRefOfLeaf creates a deep clone of the input.
type LeafSlice ¶
type LeafSlice []*Leaf
func CloneLeafSlice ¶
CloneLeafSlice creates a deep clone of the input.
type NoCloneType ¶
type NoCloneType struct {
// contains filtered or unexported fields
}
func CloneRefOfNoCloneType ¶
func CloneRefOfNoCloneType(n *NoCloneType) *NoCloneType
CloneRefOfNoCloneType creates a deep clone of the input.
func (*NoCloneType) String ¶
func (r *NoCloneType) String() string
type RefContainer ¶
Container implements the interface ByRef
func CloneRefOfRefContainer ¶
func CloneRefOfRefContainer(n *RefContainer) *RefContainer
CloneRefOfRefContainer creates a deep clone of the input.
func (*RefContainer) String ¶
func (r *RefContainer) String() string
type RefSliceContainer ¶
type RefSliceContainer struct { ASTElements []AST NotASTElements []int ASTImplementationElements []*Leaf }
Container implements the interface ByRef
func CloneRefOfRefSliceContainer ¶
func CloneRefOfRefSliceContainer(n *RefSliceContainer) *RefSliceContainer
CloneRefOfRefSliceContainer creates a deep clone of the input.
func (*RefSliceContainer) String ¶
func (r *RefSliceContainer) String() string
type SubIface ¶
type SubIface interface { AST // contains filtered or unexported methods }
We want to support all types that are used as field types, which can include interfaces. Example would be sqlparser.Expr that implements sqlparser.SQLNode
func CloneSubIface ¶
CloneSubIface creates a deep clone of the input.
type SubImpl ¶
type SubImpl struct {
// contains filtered or unexported fields
}
func CloneRefOfSubImpl ¶
CloneRefOfSubImpl creates a deep clone of the input.
type ValueContainer ¶
Container implements the interface ByValue
func CloneRefOfValueContainer ¶
func CloneRefOfValueContainer(n *ValueContainer) *ValueContainer
CloneRefOfValueContainer creates a deep clone of the input.
func CloneValueContainer ¶
func CloneValueContainer(n ValueContainer) ValueContainer
CloneValueContainer creates a deep clone of the input.
func (ValueContainer) String ¶
func (r ValueContainer) String() string
type ValueSliceContainer ¶
type ValueSliceContainer struct { ASTElements []AST NotASTElements []int ASTImplementationElements []*Leaf }
Container implements the interface ByValue
func CloneRefOfValueSliceContainer ¶
func CloneRefOfValueSliceContainer(n *ValueSliceContainer) *ValueSliceContainer
CloneRefOfValueSliceContainer creates a deep clone of the input.
func CloneValueSliceContainer ¶
func CloneValueSliceContainer(n ValueSliceContainer) ValueSliceContainer
CloneValueSliceContainer creates a deep clone of the input.
func (ValueSliceContainer) String ¶
func (r ValueSliceContainer) String() string