Versions in this module Expand all Collapse all v2 v2.0.12 Dec 16, 2018 v2.0.11 Sep 9, 2018 v2.0.10 Sep 6, 2018 v2.0.9 Sep 6, 2018 v2.0.8 Sep 5, 2018 v2.0.7 Aug 29, 2018 v2.0.6 Jun 25, 2018 v2.0.5 Feb 16, 2018 v2.0.4 Feb 14, 2018 v2.0.3 Jan 9, 2018 v2.0.2 Dec 7, 2017 v2.0.1 Dec 5, 2017 v2.0.0 Dec 5, 2017 Changes in this version + var EmptyIntInterval = IntInterval + var NInfinity = Z + var PInfinity = Z + func NewConstraint(y ssa.Value) aConstraint + func VertexString(v *Vertex) string + type ArraySliceConstraint struct + Lower ssa.Value + Upper ssa.Value + X ssa.Value + func (c *ArraySliceConstraint) Eval(g *Graph) Range + func (c *ArraySliceConstraint) Operands() []ssa.Value + func (c *ArraySliceConstraint) String() string + func (c ArraySliceConstraint) Y() ssa.Value + type ChannelChangeTypeConstraint struct + X ssa.Value + func (c *ChannelChangeTypeConstraint) Eval(g *Graph) Range + func (c *ChannelChangeTypeConstraint) Operands() []ssa.Value + func (c *ChannelChangeTypeConstraint) String() string + func (c ChannelChangeTypeConstraint) Y() ssa.Value + type ChannelInterval struct + Size IntInterval + func (c ChannelInterval) IsKnown() bool + func (c ChannelInterval) String() string + func (c ChannelInterval) Union(other Range) Range + type Constraint interface + Eval func(*Graph) Range + Operands func() []ssa.Value + String func() string + Y func() ssa.Value + func NewArraySliceConstraint(x, lower, upper, y ssa.Value) Constraint + func NewChannelChangeTypeConstraint(x, y ssa.Value) Constraint + func NewCopyConstraint(x, y ssa.Value) Constraint + func NewIntAddConstraint(a, b, y ssa.Value) Constraint + func NewIntConversionConstraint(x, y ssa.Value) Constraint + func NewIntIntersectionConstraint(a, b ssa.Value, op token.Token, ranges Ranges, y ssa.Value) Constraint + func NewIntIntervalConstraint(i IntInterval, y ssa.Value) Constraint + func NewIntMulConstraint(a, b, y ssa.Value) Constraint + func NewIntSubConstraint(a, b, y ssa.Value) Constraint + func NewMakeChannelConstraint(buffer, y ssa.Value) Constraint + func NewMakeSliceConstraint(size, y ssa.Value) Constraint + func NewPhiConstraint(vars []ssa.Value, y ssa.Value) Constraint + func NewSliceAppendConstraint(a, b, y ssa.Value) Constraint + func NewSliceIntersectionConstraint(x ssa.Value, i IntInterval, y ssa.Value) Constraint + func NewSliceIntervalConstraint(i IntInterval, y ssa.Value) Constraint + func NewSliceLengthConstraint(x, y ssa.Value) Constraint + func NewSliceSliceConstraint(x, lower, upper, y ssa.Value) Constraint + func NewStringConcatConstraint(a, b, y ssa.Value) Constraint + func NewStringIntersectionConstraint(a, b ssa.Value, op token.Token, ranges Ranges, y ssa.Value) Constraint + func NewStringIntervalConstraint(i IntInterval, y ssa.Value) Constraint + func NewStringLengthConstraint(x ssa.Value, y ssa.Value) Constraint + func NewStringSliceConstraint(x, lower, upper, y ssa.Value) Constraint + type CopyConstraint struct + X ssa.Value + func (c *CopyConstraint) Eval(g *Graph) Range + func (c *CopyConstraint) Operands() []ssa.Value + func (c *CopyConstraint) String() string + func (c CopyConstraint) Y() ssa.Value + type Edge struct + From *Vertex + To *Vertex + func (e Edge) String() string + type Future interface + Futures func() []ssa.Value + IsKnown func() bool + IsResolved func() bool + MarkResolved func() + MarkUnresolved func() + Resolve func() + type Graph struct + Edges []Edge + SCCs [][]*Vertex + Vertices map[interface{}]*Vertex + func BuildGraph(f *ssa.Function) *Graph + func (g *Graph) AddEdge(from, to interface{}, ctrl bool) + func (g *Graph) FindSCCs() + func (g *Graph) Range(x ssa.Value) Range + func (g *Graph) SetRange(x ssa.Value, r Range) + func (g *Graph) Solve() Ranges + func (g Graph) Graphviz() string + type IntAddConstraint struct + func (c IntAddConstraint) Y() ssa.Value + type IntArithmeticConstraint struct + A ssa.Value + B ssa.Value + Fn func(IntInterval, IntInterval) IntInterval + Op token.Token + func NewIntArithmeticConstraint(a, b, y ssa.Value, op token.Token, ...) *IntArithmeticConstraint + func (c *IntArithmeticConstraint) Eval(g *Graph) Range + func (c *IntArithmeticConstraint) Operands() []ssa.Value + func (c *IntArithmeticConstraint) String() string + func (c IntArithmeticConstraint) Y() ssa.Value + type IntConversionConstraint struct + X ssa.Value + func (c *IntConversionConstraint) Eval(g *Graph) Range + func (c *IntConversionConstraint) Operands() []ssa.Value + func (c *IntConversionConstraint) String() string + func (c IntConversionConstraint) Y() ssa.Value + type IntIntersectionConstraint struct + A ssa.Value + B ssa.Value + I IntInterval + Op token.Token + func (c *IntIntersectionConstraint) Eval(g *Graph) Range + func (c *IntIntersectionConstraint) Futures() []ssa.Value + func (c *IntIntersectionConstraint) IsKnown() bool + func (c *IntIntersectionConstraint) IsResolved() bool + func (c *IntIntersectionConstraint) MarkResolved() + func (c *IntIntersectionConstraint) MarkUnresolved() + func (c *IntIntersectionConstraint) Operands() []ssa.Value + func (c *IntIntersectionConstraint) Resolve() + func (c *IntIntersectionConstraint) String() string + func (c IntIntersectionConstraint) Y() ssa.Value + type IntInterval struct + Lower Z + Upper Z + func InfinityFor(v ssa.Value) IntInterval + func NewIntInterval(l, u Z) IntInterval + func (i IntInterval) Empty() bool + func (i IntInterval) IsKnown() bool + func (i IntInterval) IsMaxRange() bool + func (i1 IntInterval) Add(i2 IntInterval) IntInterval + func (i1 IntInterval) Intersection(i2 IntInterval) IntInterval + func (i1 IntInterval) Mul(i2 IntInterval) IntInterval + func (i1 IntInterval) String() string + func (i1 IntInterval) Sub(i2 IntInterval) IntInterval + func (i1 IntInterval) Union(other Range) Range + type IntIntervalConstraint struct + I IntInterval + func (c *IntIntervalConstraint) Eval(*Graph) Range + func (c *IntIntervalConstraint) String() string + func (c IntIntervalConstraint) Y() ssa.Value + func (s *IntIntervalConstraint) Operands() []ssa.Value + type IntMulConstraint struct + func (c IntMulConstraint) Y() ssa.Value + type IntSubConstraint struct + func (c IntSubConstraint) Y() ssa.Value + type MakeChannelConstraint struct + Buffer ssa.Value + func (c *MakeChannelConstraint) Eval(g *Graph) Range + func (c *MakeChannelConstraint) Operands() []ssa.Value + func (c *MakeChannelConstraint) String() string + func (c MakeChannelConstraint) Y() ssa.Value + type MakeSliceConstraint struct + Size ssa.Value + func (c *MakeSliceConstraint) Eval(g *Graph) Range + func (c *MakeSliceConstraint) Operands() []ssa.Value + func (c *MakeSliceConstraint) String() string + func (c MakeSliceConstraint) Y() ssa.Value + type PhiConstraint struct + Vars []ssa.Value + func (c *PhiConstraint) Eval(g *Graph) Range + func (c *PhiConstraint) Operands() []ssa.Value + func (c *PhiConstraint) String() string + func (c PhiConstraint) Y() ssa.Value + type Range interface + IsKnown func() bool + Union func(other Range) Range + type Ranges map[ssa.Value]Range + func (r Ranges) Get(x ssa.Value) Range + type SliceAppendConstraint struct + A ssa.Value + B ssa.Value + func (c *SliceAppendConstraint) Eval(g *Graph) Range + func (c *SliceAppendConstraint) Operands() []ssa.Value + func (c *SliceAppendConstraint) String() string + func (c SliceAppendConstraint) Y() ssa.Value + type SliceIntersectionConstraint struct + I IntInterval + X ssa.Value + func (c *SliceIntersectionConstraint) Eval(g *Graph) Range + func (c *SliceIntersectionConstraint) Operands() []ssa.Value + func (c *SliceIntersectionConstraint) String() string + func (c SliceIntersectionConstraint) Y() ssa.Value + type SliceInterval struct + Length IntInterval + func (s SliceInterval) IsKnown() bool + func (s SliceInterval) String() string + func (s SliceInterval) Union(other Range) Range + type SliceIntervalConstraint struct + I IntInterval + func (c *SliceIntervalConstraint) Eval(*Graph) Range + func (c *SliceIntervalConstraint) String() string + func (c SliceIntervalConstraint) Y() ssa.Value + func (s *SliceIntervalConstraint) Operands() []ssa.Value + type SliceLengthConstraint struct + X ssa.Value + func (c *SliceLengthConstraint) Eval(g *Graph) Range + func (c *SliceLengthConstraint) Operands() []ssa.Value + func (c *SliceLengthConstraint) String() string + func (c SliceLengthConstraint) Y() ssa.Value + type SliceSliceConstraint struct + Lower ssa.Value + Upper ssa.Value + X ssa.Value + func (c *SliceSliceConstraint) Eval(g *Graph) Range + func (c *SliceSliceConstraint) Operands() []ssa.Value + func (c *SliceSliceConstraint) String() string + func (c SliceSliceConstraint) Y() ssa.Value + type StringConcatConstraint struct + A ssa.Value + B ssa.Value + func (c StringConcatConstraint) Eval(g *Graph) Range + func (c StringConcatConstraint) Operands() []ssa.Value + func (c StringConcatConstraint) String() string + func (c StringConcatConstraint) Y() ssa.Value + type StringIntersectionConstraint struct + A ssa.Value + B ssa.Value + I IntInterval + Op token.Token + func (c *StringIntersectionConstraint) Eval(g *Graph) Range + func (c *StringIntersectionConstraint) Futures() []ssa.Value + func (c *StringIntersectionConstraint) IsKnown() bool + func (c *StringIntersectionConstraint) IsResolved() bool + func (c *StringIntersectionConstraint) MarkResolved() + func (c *StringIntersectionConstraint) MarkUnresolved() + func (c *StringIntersectionConstraint) Operands() []ssa.Value + func (c *StringIntersectionConstraint) Resolve() + func (c *StringIntersectionConstraint) String() string + func (c StringIntersectionConstraint) Y() ssa.Value + type StringInterval struct + Length IntInterval + func (s StringInterval) IsKnown() bool + func (s StringInterval) String() string + func (s StringInterval) Union(other Range) Range + type StringIntervalConstraint struct + I IntInterval + func (c *StringIntervalConstraint) Eval(*Graph) Range + func (c *StringIntervalConstraint) String() string + func (c StringIntervalConstraint) Y() ssa.Value + func (s *StringIntervalConstraint) Operands() []ssa.Value + type StringLengthConstraint struct + X ssa.Value + func (c *StringLengthConstraint) Eval(g *Graph) Range + func (c *StringLengthConstraint) Operands() []ssa.Value + func (c *StringLengthConstraint) String() string + func (c StringLengthConstraint) Y() ssa.Value + type StringSliceConstraint struct + Lower ssa.Value + Upper ssa.Value + X ssa.Value + func (c *StringSliceConstraint) Eval(g *Graph) Range + func (c *StringSliceConstraint) Operands() []ssa.Value + func (c *StringSliceConstraint) String() string + func (c StringSliceConstraint) Y() ssa.Value + type Vertex struct + SCC int + Succs []Edge + Value interface{} + type Z struct + func ConstantToZ(c constant.Value) Z + func MaxZ(zs ...Z) Z + func MinZ(zs ...Z) Z + func NewBigZ(n *big.Int) Z + func NewZ(n int64) Z + func (z1 Z) Add(z2 Z) Z + func (z1 Z) Cmp(z2 Z) int + func (z1 Z) Infinite() bool + func (z1 Z) Mul(z2 Z) Z + func (z1 Z) Negate() Z + func (z1 Z) Sign() int + func (z1 Z) String() string + func (z1 Z) Sub(z2 Z) Z + type Zs []Z + func (zs Zs) Len() int + func (zs Zs) Less(i int, j int) bool + func (zs Zs) Swap(i int, j int) Other modules containing this package gopkg.in/alecthomas/gometalinter.v1 gopkg.in/alecthomas/gometalinter.v3 gopkg.in/alecthomas/gometalinter.v3-unstable