Documentation ¶
Index ¶
- func Consts() consts
- func Create() factory
- func Elements() elementFactory
- func IsTopLocation(l loc.Location) bool
- func MemOps(mem Memory) _mops
- type AbstractValue
- func (m AbstractValue) AbstractValue() AbstractValue
- func (m AbstractValue) AddPointers(ls ...loc.Location) AbstractValue
- func (AbstractValue) Analysis() Analysis
- func (AbstractValue) AnalysisIntraprocess() AnalysisIntraprocess
- func (AbstractValue) AnalysisState() AnalysisState
- func (m AbstractValue) BasicValue() FlatElement
- func (m AbstractValue) ChanValue() ChannelInfo
- func (m AbstractValue) ChannelInfo() ChannelInfo
- func (AbstractValue) Charges() Charges
- func (m AbstractValue) Closure() *ssa.Function
- func (m AbstractValue) Cond() Cond
- func (m AbstractValue) CondValue() Cond
- func (v1 AbstractValue) Difference(v2 AbstractValue) (AbstractValue, bool)
- func (AbstractValue) Dropped() *DroppedTop
- func (e1 AbstractValue) Eq(e2 Element) bool
- func (m AbstractValue) Flat() FlatElement
- func (AbstractValue) FlatInt() FlatIntElement
- func (e AbstractValue) ForEachField(do func(interface{}, AbstractValue))
- func (e1 AbstractValue) Geq(e2 Element) bool
- func (v AbstractValue) HasFixedHeight() bool
- func (m AbstractValue) Height() int
- func (m AbstractValue) InfiniteMap() InfiniteMap
- func (e AbstractValue) InjectTopLocation(l loc.AddressableLocation) AbstractValue
- func (AbstractValue) Interval() Interval
- func (m AbstractValue) IsArray() bool
- func (m AbstractValue) IsBasic() bool
- func (e AbstractValue) IsBot() bool
- func (m AbstractValue) IsBotStruct() bool
- func (m AbstractValue) IsChan() bool
- func (m AbstractValue) IsClosure() bool
- func (m AbstractValue) IsCond() bool
- func (m AbstractValue) IsKnownStruct() bool
- func (m AbstractValue) IsLocker() bool
- func (m AbstractValue) IsMap() bool
- func (m AbstractValue) IsMutex() bool
- func (m AbstractValue) IsPointer() bool
- func (m AbstractValue) IsRWMutex() bool
- func (m AbstractValue) IsStruct() bool
- func (m AbstractValue) IsTopStruct() bool
- func (e AbstractValue) IsWildcard() bool
- func (e1 AbstractValue) Join(e2 Element) Element
- func (e AbstractValue) Lattice() Lattice
- func (e1 AbstractValue) Leq(e2 Element) bool
- func (AbstractValue) Lifted() *LiftedBot
- func (AbstractValue) Map() Map
- func (e1 AbstractValue) Meet(e2 Element) Element
- func (AbstractValue) Memory() Memory
- func (e1 AbstractValue) MonoJoin(e2 AbstractValue) AbstractValue
- func (e1 AbstractValue) MonoMeet(e2 AbstractValue) AbstractValue
- func (m AbstractValue) MutexValue() FlatElement
- func (AbstractValue) OneElement() oneElementLatticeElement
- func (AbstractValue) OpOutcomes() OpOutcomes
- func (m AbstractValue) PointerValue() PointsTo
- func (m AbstractValue) PointsTo() PointsTo
- func (AbstractValue) Product() Product
- func (m AbstractValue) RWMutex() RWMutex
- func (m AbstractValue) RWMutexValue() RWMutex
- func (AbstractValue) Set() Set
- func (m AbstractValue) String() string
- func (m AbstractValue) Struct() Element
- func (m AbstractValue) StructValue() InfiniteMap
- func (AbstractValue) ThreadCharges() ThreadCharges
- func (e AbstractValue) ToBot() AbstractValue
- func (e AbstractValue) ToTop() AbstractValue
- func (AbstractValue) TwoElement() twoElementLatticeElement
- func (m AbstractValue) Update(x Element) AbstractValue
- func (m AbstractValue) UpdateChan(x Element) AbstractValue
- func (m AbstractValue) UpdateCond(x Element) AbstractValue
- func (m AbstractValue) UpdateMutex(x Element) AbstractValue
- func (m AbstractValue) UpdatePointer(x Element) AbstractValue
- func (m AbstractValue) UpdateRWMutex(x Element) AbstractValue
- type AbstractValueConfig
- type AbstractValueLattice
- func (v *AbstractValueLattice) AbstractValue() *AbstractValueLattice
- func (*AbstractValueLattice) Analysis() *AnalysisLattice
- func (*AbstractValueLattice) AnalysisIntraprocess() *AnalysisIntraprocessLattice
- func (v *AbstractValueLattice) Bot() Element
- func (*AbstractValueLattice) ChannelInfo() *ChannelInfoLattice
- func (*AbstractValueLattice) Dropped() *Dropped
- func (l1 *AbstractValueLattice) Eq(l2 Lattice) bool
- func (*AbstractValueLattice) Flat() *FlatLattice
- func (*AbstractValueLattice) FlatFinite() *FlatFiniteLattice
- func (*AbstractValueLattice) FlatInt() *FlatIntLattice
- func (l *AbstractValueLattice) Get(i int) Lattice
- func (*AbstractValueLattice) InfiniteMap() *InfiniteMapLattice
- func (*AbstractValueLattice) Interval() *IntervalLattice
- func (l *AbstractValueLattice) LatticeForType(T types.Type) Lattice
- func (*AbstractValueLattice) Lifted() *Lifted
- func (*AbstractValueLattice) Map() *MapLattice
- func (*AbstractValueLattice) Memory() *MemoryLattice
- func (*AbstractValueLattice) OneElement() *OneElementLattice
- func (*AbstractValueLattice) OpOutcomes() *OpOutcomesLattice
- func (*AbstractValueLattice) Powerset() *Powerset
- func (*AbstractValueLattice) Preheight() int
- func (l *AbstractValueLattice) Product() *ProductLattice
- func (AbstractValueLattice) String() string
- func (v *AbstractValueLattice) Top() Element
- func (*AbstractValueLattice) TwoElement() *TwoElementLattice
- func (l *AbstractValueLattice) Value() *AbstractValueLattice
- type AnalysisStateLattice
- func (*AnalysisStateLattice) AbstractValue() *AbstractValueLattice
- func (*AnalysisStateLattice) Analysis() *AnalysisLattice
- func (*AnalysisStateLattice) AnalysisIntraprocess() *AnalysisIntraprocessLattice
- func (c *AnalysisStateLattice) AnalysisState() *AnalysisStateLattice
- func (c *AnalysisStateLattice) Bot() Element
- func (*AnalysisStateLattice) ChannelInfo() *ChannelInfoLattice
- func (*AnalysisStateLattice) Dropped() *Dropped
- func (l1 *AnalysisStateLattice) Eq(l2 Lattice) bool
- func (*AnalysisStateLattice) Flat() *FlatLattice
- func (*AnalysisStateLattice) FlatFinite() *FlatFiniteLattice
- func (*AnalysisStateLattice) FlatInt() *FlatIntLattice
- func (*AnalysisStateLattice) InfiniteMap() *InfiniteMapLattice
- func (*AnalysisStateLattice) Interval() *IntervalLattice
- func (*AnalysisStateLattice) Lifted() *Lifted
- func (*AnalysisStateLattice) Map() *MapLattice
- func (*AnalysisStateLattice) Memory() *MemoryLattice
- func (*AnalysisStateLattice) OneElement() *OneElementLattice
- func (*AnalysisStateLattice) OpOutcomes() *OpOutcomesLattice
- func (*AnalysisStateLattice) Powerset() *Powerset
- func (*AnalysisStateLattice) Preheight() int
- func (c *AnalysisStateLattice) Product() *ProductLattice
- func (*AnalysisStateLattice) String() string
- func (c *AnalysisStateLattice) Top() Element
- func (*AnalysisStateLattice) TwoElement() *TwoElementLattice
- type ChannelInfoLattice
- func (*ChannelInfoLattice) AbstractValue() *AbstractValueLattice
- func (*ChannelInfoLattice) Analysis() *AnalysisLattice
- func (*ChannelInfoLattice) AnalysisIntraprocess() *AnalysisIntraprocessLattice
- func (c *ChannelInfoLattice) Bot() Element
- func (c *ChannelInfoLattice) BufferFlat() *FlatIntLattice
- func (c *ChannelInfoLattice) BufferInterval() *IntervalLattice
- func (c *ChannelInfoLattice) Capacity() *FlatIntLattice
- func (c *ChannelInfoLattice) ChannelInfo() *ChannelInfoLattice
- func (*ChannelInfoLattice) Dropped() *Dropped
- func (l1 *ChannelInfoLattice) Eq(l2 Lattice) bool
- func (*ChannelInfoLattice) Flat() *FlatLattice
- func (*ChannelInfoLattice) FlatFinite() *FlatFiniteLattice
- func (*ChannelInfoLattice) FlatInt() *FlatIntLattice
- func (*ChannelInfoLattice) InfiniteMap() *InfiniteMapLattice
- func (*ChannelInfoLattice) Interval() *IntervalLattice
- func (*ChannelInfoLattice) Lifted() *Lifted
- func (*ChannelInfoLattice) Map() *MapLattice
- func (*ChannelInfoLattice) Memory() *MemoryLattice
- func (*ChannelInfoLattice) OneElement() *OneElementLattice
- func (*ChannelInfoLattice) OpOutcomes() *OpOutcomesLattice
- func (c *ChannelInfoLattice) Payload() *AbstractValueLattice
- func (*ChannelInfoLattice) Powerset() *Powerset
- func (*ChannelInfoLattice) Preheight() int
- func (c *ChannelInfoLattice) Product() *ProductLattice
- func (c *ChannelInfoLattice) Status() *FlatFiniteLattice
- func (*ChannelInfoLattice) String() string
- func (c *ChannelInfoLattice) Top() Element
- func (*ChannelInfoLattice) TwoElement() *TwoElementLattice
- type CondLattice
- func (*CondLattice) AbstractValue() *AbstractValueLattice
- func (*CondLattice) Analysis() *AnalysisLattice
- func (*CondLattice) AnalysisIntraprocess() *AnalysisIntraprocessLattice
- func (l CondLattice) Bot() Element
- func (*CondLattice) ChannelInfo() *ChannelInfoLattice
- func (*CondLattice) Dropped() *Dropped
- func (l1 CondLattice) Eq(l2 Lattice) bool
- func (*CondLattice) Flat() *FlatLattice
- func (*CondLattice) FlatFinite() *FlatFiniteLattice
- func (*CondLattice) FlatInt() *FlatIntLattice
- func (*CondLattice) InfiniteMap() *InfiniteMapLattice
- func (*CondLattice) Interval() *IntervalLattice
- func (*CondLattice) Lifted() *Lifted
- func (*CondLattice) Map() *MapLattice
- func (*CondLattice) Memory() *MemoryLattice
- func (*CondLattice) OneElement() *OneElementLattice
- func (*CondLattice) OpOutcomes() *OpOutcomesLattice
- func (*CondLattice) Powerset() *Powerset
- func (*CondLattice) Preheight() int
- func (CondLattice) String() string
- func (l CondLattice) Top() Element
- func (*CondLattice) TwoElement() *TwoElementLattice
- type ConstantPropagationLattice
- func (*ConstantPropagationLattice) AbstractValue() *AbstractValueLattice
- func (*ConstantPropagationLattice) Analysis() *AnalysisLattice
- func (*ConstantPropagationLattice) AnalysisIntraprocess() *AnalysisIntraprocessLattice
- func (*ConstantPropagationLattice) ChannelInfo() *ChannelInfoLattice
- func (*ConstantPropagationLattice) Dropped() *Dropped
- func (l1 *ConstantPropagationLattice) Eq(l2 Lattice) bool
- func (*ConstantPropagationLattice) Flat() *FlatLattice
- func (*ConstantPropagationLattice) FlatFinite() *FlatFiniteLattice
- func (*ConstantPropagationLattice) FlatInt() *FlatIntLattice
- func (*ConstantPropagationLattice) InfiniteMap() *InfiniteMapLattice
- func (*ConstantPropagationLattice) Interval() *IntervalLattice
- func (*ConstantPropagationLattice) Lifted() *Lifted
- func (*ConstantPropagationLattice) Map() *MapLattice
- func (*ConstantPropagationLattice) Memory() *MemoryLattice
- func (*ConstantPropagationLattice) OneElement() *OneElementLattice
- func (*ConstantPropagationLattice) OpOutcomes() *OpOutcomesLattice
- func (*ConstantPropagationLattice) Powerset() *Powerset
- func (*ConstantPropagationLattice) Preheight() int
- func (*ConstantPropagationLattice) Product() *ProductLattice
- func (ConstantPropagationLattice) String() string
- func (*ConstantPropagationLattice) TwoElement() *TwoElementLattice
- type Dropped
- func (l *Dropped) Dropped() *Dropped
- func (l1 *Dropped) Eq(l2 Lattice) bool
- func (l *Dropped) Flat() *FlatLattice
- func (l *Dropped) FlatFinite() *FlatFiniteLattice
- func (l *Dropped) FlatInt() *FlatIntLattice
- func (l *Dropped) InfiniteMap() *InfiniteMapLattice
- func (l *Dropped) Interval() *IntervalLattice
- func (l *Dropped) Lifted() *Lifted
- func (l *Dropped) Map() *MapLattice
- func (l *Dropped) Powerset() *Powerset
- func (l *Dropped) Preheight() int
- func (l *Dropped) Product() *ProductLattice
- func (l *Dropped) String() string
- func (l *Dropped) Top() Element
- func (l *Dropped) TwoElement() *TwoElementLattice
- type DroppedTop
- func (e DroppedTop) AbstractValue() AbstractValue
- func (DroppedTop) Analysis() Analysis
- func (DroppedTop) AnalysisIntraprocess() AnalysisIntraprocess
- func (DroppedTop) AnalysisState() AnalysisState
- func (DroppedTop) ChannelInfo() ChannelInfo
- func (DroppedTop) Charges() Charges
- func (DroppedTop) Cond() Cond
- func (DroppedTop) Dropped() *DroppedTop
- func (e1 *DroppedTop) Eq(e2 Element) bool
- func (DroppedTop) Flat() FlatElement
- func (DroppedTop) FlatInt() FlatIntElement
- func (e1 *DroppedTop) Geq(e2 Element) bool
- func (e *DroppedTop) Height() int
- func (e *DroppedTop) Index() int
- func (DroppedTop) InfiniteMap() InfiniteMap
- func (DroppedTop) Interval() Interval
- func (e1 *DroppedTop) Join(e2 Element) Element
- func (e DroppedTop) Lattice() Lattice
- func (e1 *DroppedTop) Leq(e2 Element) bool
- func (DroppedTop) Lifted() *LiftedBot
- func (DroppedTop) Map() Map
- func (e1 *DroppedTop) Meet(e2 Element) Element
- func (DroppedTop) Memory() Memory
- func (DroppedTop) OneElement() oneElementLatticeElement
- func (DroppedTop) OpOutcomes() OpOutcomes
- func (DroppedTop) PointsTo() PointsTo
- func (DroppedTop) Product() Product
- func (DroppedTop) RWMutex() RWMutex
- func (DroppedTop) Set() Set
- func (e *DroppedTop) String() string
- func (DroppedTop) ThreadCharges() ThreadCharges
- func (DroppedTop) TwoElement() twoElementLatticeElement
- type Element
- type FiniteBound
- func (b1 FiniteBound) Div(b2 IntervalBound) IntervalBound
- func (b1 FiniteBound) Eq(b2 IntervalBound) bool
- func (b1 FiniteBound) Geq(b2 IntervalBound) bool
- func (b1 FiniteBound) Gt(b2 IntervalBound) bool
- func (FiniteBound) IsInfinite() bool
- func (b1 FiniteBound) Leq(b2 IntervalBound) bool
- func (b1 FiniteBound) Lt(b2 IntervalBound) bool
- func (b1 FiniteBound) Max(b2 IntervalBound) IntervalBound
- func (b1 FiniteBound) Min(b2 IntervalBound) IntervalBound
- func (b1 FiniteBound) Minus(b2 IntervalBound) IntervalBound
- func (b1 FiniteBound) Mult(b2 IntervalBound) IntervalBound
- func (b1 FiniteBound) Plus(b2 IntervalBound) IntervalBound
- func (b FiniteBound) String() string
- type FlatBot
- func (e1 FlatBot) Eq(e2 Element) bool
- func (e FlatBot) Flat() FlatElement
- func (e1 FlatBot) Geq(e2 Element) bool
- func (FlatBot) Height() int
- func (f1 FlatBot) Is(f2 interface{}) bool
- func (e FlatBot) IsBot() bool
- func (e FlatBot) IsTop() bool
- func (e1 FlatBot) Join(e2 Element) Element
- func (e1 FlatBot) Leq(e2 Element) bool
- func (e1 FlatBot) Meet(e2 Element) Element
- func (FlatBot) String() string
- func (FlatBot) Value() interface{}
- type FlatElement
- type FlatFiniteLattice
- func (*FlatFiniteLattice) AbstractValue() *AbstractValueLattice
- func (*FlatFiniteLattice) Analysis() *AnalysisLattice
- func (*FlatFiniteLattice) AnalysisIntraprocess() *AnalysisIntraprocessLattice
- func (*FlatFiniteLattice) ChannelInfo() *ChannelInfoLattice
- func (*FlatFiniteLattice) Dropped() *Dropped
- func (l1 *FlatFiniteLattice) Eq(l2 Lattice) bool
- func (*FlatFiniteLattice) Flat() *FlatLattice
- func (l *FlatFiniteLattice) FlatFinite() *FlatFiniteLattice
- func (*FlatFiniteLattice) FlatInt() *FlatIntLattice
- func (*FlatFiniteLattice) InfiniteMap() *InfiniteMapLattice
- func (*FlatFiniteLattice) Interval() *IntervalLattice
- func (*FlatFiniteLattice) Lifted() *Lifted
- func (*FlatFiniteLattice) Map() *MapLattice
- func (*FlatFiniteLattice) Memory() *MemoryLattice
- func (*FlatFiniteLattice) OneElement() *OneElementLattice
- func (*FlatFiniteLattice) OpOutcomes() *OpOutcomesLattice
- func (*FlatFiniteLattice) Powerset() *Powerset
- func (*FlatFiniteLattice) Preheight() int
- func (*FlatFiniteLattice) Product() *ProductLattice
- func (l *FlatFiniteLattice) String() string
- func (*FlatFiniteLattice) TwoElement() *TwoElementLattice
- type FlatIntElement
- func (e FlatIntElement) AbstractValue() AbstractValue
- func (FlatIntElement) Analysis() Analysis
- func (FlatIntElement) AnalysisIntraprocess() AnalysisIntraprocess
- func (FlatIntElement) AnalysisState() AnalysisState
- func (FlatIntElement) ChannelInfo() ChannelInfo
- func (FlatIntElement) Charges() Charges
- func (FlatIntElement) Cond() Cond
- func (FlatIntElement) Dropped() *DroppedTop
- func (e1 FlatIntElement) Eq(e2 Element) bool
- func (e FlatIntElement) Flat() FlatElement
- func (e FlatIntElement) FlatInt() FlatIntElement
- func (e1 FlatIntElement) Geq(e2 Element) bool
- func (e FlatIntElement) Height() int
- func (e FlatIntElement) IValue() int
- func (FlatIntElement) InfiniteMap() InfiniteMap
- func (FlatIntElement) Interval() Interval
- func (e FlatIntElement) Is(x interface{}) bool
- func (e FlatIntElement) IsBot() bool
- func (e FlatIntElement) IsTop() bool
- func (e1 FlatIntElement) Join(e2 Element) Element
- func (e FlatIntElement) Lattice() Lattice
- func (e1 FlatIntElement) Leq(e2 Element) bool
- func (FlatIntElement) Lifted() *LiftedBot
- func (FlatIntElement) Map() Map
- func (e1 FlatIntElement) Meet(e2 Element) Element
- func (FlatIntElement) Memory() Memory
- func (FlatIntElement) OneElement() oneElementLatticeElement
- func (FlatIntElement) OpOutcomes() OpOutcomes
- func (FlatIntElement) PointsTo() PointsTo
- func (FlatIntElement) Product() Product
- func (FlatIntElement) RWMutex() RWMutex
- func (FlatIntElement) Set() Set
- func (e FlatIntElement) String() string
- func (FlatIntElement) ThreadCharges() ThreadCharges
- func (FlatIntElement) TwoElement() twoElementLatticeElement
- func (e FlatIntElement) Value() interface{}
- type FlatIntLattice
- func (*FlatIntLattice) AbstractValue() *AbstractValueLattice
- func (*FlatIntLattice) Analysis() *AnalysisLattice
- func (*FlatIntLattice) AnalysisIntraprocess() *AnalysisIntraprocessLattice
- func (*FlatIntLattice) ChannelInfo() *ChannelInfoLattice
- func (*FlatIntLattice) Dropped() *Dropped
- func (l1 *FlatIntLattice) Eq(l2 Lattice) bool
- func (*FlatIntLattice) Flat() *FlatLattice
- func (*FlatIntLattice) FlatFinite() *FlatFiniteLattice
- func (l *FlatIntLattice) FlatInt() *FlatIntLattice
- func (*FlatIntLattice) InfiniteMap() *InfiniteMapLattice
- func (*FlatIntLattice) Interval() *IntervalLattice
- func (*FlatIntLattice) Lifted() *Lifted
- func (*FlatIntLattice) Map() *MapLattice
- func (*FlatIntLattice) Memory() *MemoryLattice
- func (*FlatIntLattice) OneElement() *OneElementLattice
- func (*FlatIntLattice) OpOutcomes() *OpOutcomesLattice
- func (*FlatIntLattice) Powerset() *Powerset
- func (*FlatIntLattice) Preheight() int
- func (*FlatIntLattice) Product() *ProductLattice
- func (l *FlatIntLattice) String() string
- func (*FlatIntLattice) TwoElement() *TwoElementLattice
- type FlatLattice
- type FlatTop
- func (e1 FlatTop) Eq(e2 Element) bool
- func (e FlatTop) Flat() FlatElement
- func (e1 FlatTop) Geq(e2 Element) bool
- func (FlatTop) Height() int
- func (f1 FlatTop) Is(f2 interface{}) bool
- func (e FlatTop) IsBot() bool
- func (e FlatTop) IsTop() bool
- func (e1 FlatTop) Join(e2 Element) Element
- func (e1 FlatTop) Leq(e2 Element) bool
- func (e1 FlatTop) Meet(e2 Element) Element
- func (FlatTop) String() string
- func (FlatTop) Value() interface{}
- type InfiniteMap
- func (e InfiniteMap) AbstractValue() AbstractValue
- func (InfiniteMap) Analysis() Analysis
- func (InfiniteMap) AnalysisIntraprocess() AnalysisIntraprocess
- func (InfiniteMap) AnalysisState() AnalysisState
- func (InfiniteMap) ChannelInfo() ChannelInfo
- func (InfiniteMap) Charges() Charges
- func (InfiniteMap) Cond() Cond
- func (InfiniteMap) Dropped() *DroppedTop
- func (e1 InfiniteMap) Eq(e2 Element) bool
- func (InfiniteMap) Flat() FlatElement
- func (InfiniteMap) FlatInt() FlatIntElement
- func (e InfiniteMap) ForEach(do func(interface{}, Element))
- func (e1 InfiniteMap) Geq(e2 Element) bool
- func (e InfiniteMap) Get(x interface{}) Element
- func (e1 InfiniteMap) InfiniteMap() InfiniteMap
- func (InfiniteMap) Interval() Interval
- func (e1 InfiniteMap) Join(e2 Element) Element
- func (e InfiniteMap) Lattice() Lattice
- func (e1 InfiniteMap) Leq(e2 Element) bool
- func (InfiniteMap) Lifted() *LiftedBot
- func (InfiniteMap) Map() Map
- func (e1 InfiniteMap) Meet(e2 Element) Element
- func (InfiniteMap) Memory() Memory
- func (e1 InfiniteMap) MonoJoin(e2 InfiniteMap) InfiniteMap
- func (e1 InfiniteMap) MonoMeet(e2 InfiniteMap) InfiniteMap
- func (InfiniteMap) OneElement() oneElementLatticeElement
- func (InfiniteMap) OpOutcomes() OpOutcomes
- func (InfiniteMap) PointsTo() PointsTo
- func (InfiniteMap) Product() Product
- func (InfiniteMap) RWMutex() RWMutex
- func (InfiniteMap) Set() Set
- func (InfiniteMap) ThreadCharges() ThreadCharges
- func (InfiniteMap) TwoElement() twoElementLatticeElement
- func (e1 InfiniteMap) Update(x interface{}, e2 Element) InfiniteMap
- type InfiniteMapLattice
- type Interval
- func (e Interval) AbstractValue() AbstractValue
- func (Interval) Analysis() Analysis
- func (Interval) AnalysisIntraprocess() AnalysisIntraprocess
- func (Interval) AnalysisState() AnalysisState
- func (Interval) ChannelInfo() ChannelInfo
- func (Interval) Charges() Charges
- func (Interval) Cond() Cond
- func (Interval) Dropped() *DroppedTop
- func (e1 Interval) Eq(e2 Element) bool
- func (Interval) Flat() FlatElement
- func (Interval) FlatInt() FlatIntElement
- func (e1 Interval) Geq(e2 Element) bool
- func (i Interval) GetFiniteBounds() (int, int)
- func (e Interval) Height() int
- func (i Interval) High() int
- func (Interval) InfiniteMap() InfiniteMap
- func (e Interval) Interval() Interval
- func (e Interval) IsBot() bool
- func (e Interval) IsTop() bool
- func (e1 Interval) Join(e2 Element) Element
- func (Interval) Lattice() Lattice
- func (e1 Interval) Leq(e2 Element) bool
- func (Interval) Lifted() *LiftedBot
- func (i Interval) Low() int
- func (Interval) Map() Map
- func (e1 Interval) Meet(e2 Element) Element
- func (Interval) Memory() Memory
- func (Interval) OneElement() oneElementLatticeElement
- func (Interval) OpOutcomes() OpOutcomes
- func (Interval) PointsTo() PointsTo
- func (Interval) Product() Product
- func (Interval) RWMutex() RWMutex
- func (Interval) Set() Set
- func (e Interval) String() string
- func (Interval) ThreadCharges() ThreadCharges
- func (Interval) TwoElement() twoElementLatticeElement
- type IntervalBound
- type IntervalLattice
- func (*IntervalLattice) AbstractValue() *AbstractValueLattice
- func (*IntervalLattice) Analysis() *AnalysisLattice
- func (*IntervalLattice) AnalysisIntraprocess() *AnalysisIntraprocessLattice
- func (*IntervalLattice) Bot() Element
- func (*IntervalLattice) ChannelInfo() *ChannelInfoLattice
- func (*IntervalLattice) Dropped() *Dropped
- func (l1 *IntervalLattice) Eq(l2 Lattice) bool
- func (*IntervalLattice) Flat() *FlatLattice
- func (*IntervalLattice) FlatFinite() *FlatFiniteLattice
- func (*IntervalLattice) FlatInt() *FlatIntLattice
- func (*IntervalLattice) InfiniteMap() *InfiniteMapLattice
- func (l1 *IntervalLattice) Interval() *IntervalLattice
- func (*IntervalLattice) Lifted() *Lifted
- func (*IntervalLattice) Map() *MapLattice
- func (*IntervalLattice) Memory() *MemoryLattice
- func (*IntervalLattice) OneElement() *OneElementLattice
- func (*IntervalLattice) OpOutcomes() *OpOutcomesLattice
- func (*IntervalLattice) Powerset() *Powerset
- func (*IntervalLattice) Preheight() int
- func (*IntervalLattice) Product() *ProductLattice
- func (*IntervalLattice) String() string
- func (*IntervalLattice) Top() Element
- func (*IntervalLattice) TwoElement() *TwoElementLattice
- type Lattice
- type Lifted
- func (l *Lifted) Bot() Element
- func (l *Lifted) Dropped() *Dropped
- func (l1 *Lifted) Eq(l2 Lattice) bool
- func (l *Lifted) Flat() *FlatLattice
- func (l *Lifted) FlatFinite() *FlatFiniteLattice
- func (l *Lifted) FlatInt() *FlatIntLattice
- func (l *Lifted) InfiniteMap() *InfiniteMapLattice
- func (l *Lifted) Interval() *IntervalLattice
- func (l *Lifted) Lifted() *Lifted
- func (l *Lifted) Map() *MapLattice
- func (l *Lifted) Powerset() *Powerset
- func (l *Lifted) Preheight() int
- func (l *Lifted) Product() *ProductLattice
- func (l *Lifted) String() string
- func (l *Lifted) TwoElement() *TwoElementLattice
- type LiftedBot
- func (e LiftedBot) AbstractValue() AbstractValue
- func (LiftedBot) Analysis() Analysis
- func (LiftedBot) AnalysisIntraprocess() AnalysisIntraprocess
- func (LiftedBot) AnalysisState() AnalysisState
- func (LiftedBot) ChannelInfo() ChannelInfo
- func (LiftedBot) Charges() Charges
- func (LiftedBot) Cond() Cond
- func (LiftedBot) Dropped() *DroppedTop
- func (e1 *LiftedBot) Eq(e2 Element) bool
- func (LiftedBot) Flat() FlatElement
- func (LiftedBot) FlatInt() FlatIntElement
- func (e1 *LiftedBot) Geq(e2 Element) bool
- func (e *LiftedBot) Height() int
- func (e *LiftedBot) Index() int
- func (LiftedBot) InfiniteMap() InfiniteMap
- func (LiftedBot) Interval() Interval
- func (e1 *LiftedBot) Join(e2 Element) Element
- func (e LiftedBot) Lattice() Lattice
- func (e1 *LiftedBot) Leq(e2 Element) bool
- func (e *LiftedBot) Lifted() *LiftedBot
- func (LiftedBot) Map() Map
- func (e1 *LiftedBot) Meet(e2 Element) Element
- func (LiftedBot) Memory() Memory
- func (LiftedBot) OneElement() oneElementLatticeElement
- func (LiftedBot) OpOutcomes() OpOutcomes
- func (LiftedBot) PointsTo() PointsTo
- func (LiftedBot) Product() Product
- func (LiftedBot) RWMutex() RWMutex
- func (LiftedBot) Set() Set
- func (e *LiftedBot) String() string
- func (LiftedBot) ThreadCharges() ThreadCharges
- func (LiftedBot) TwoElement() twoElementLatticeElement
- type Map
- func (e Map) AbstractValue() AbstractValue
- func (Map) Analysis() Analysis
- func (Map) AnalysisIntraprocess() AnalysisIntraprocess
- func (Map) AnalysisState() AnalysisState
- func (Map) ChannelInfo() ChannelInfo
- func (Map) Charges() Charges
- func (Map) Cond() Cond
- func (Map) Dropped() *DroppedTop
- func (e1 Map) Eq(e2 Element) bool
- func (Map) Flat() FlatElement
- func (Map) FlatInt() FlatIntElement
- func (e Map) ForAll(f func(interface{}, Element) bool) bool
- func (e Map) ForEach(f func(interface{}, Element))
- func (e1 Map) Geq(e2 Element) bool
- func (e Map) Get(x interface{}) Element
- func (Map) InfiniteMap() InfiniteMap
- func (Map) Interval() Interval
- func (e1 Map) Join(e2 Element) Element
- func (e Map) Lattice() Lattice
- func (e1 Map) Leq(e2 Element) bool
- func (Map) Lifted() *LiftedBot
- func (e Map) Map() Map
- func (e1 Map) Meet(e2 Element) Element
- func (Map) Memory() Memory
- func (e1 Map) MonoJoin(e2 Map) Map
- func (e1 Map) MonoMeet(e2 Map) Map
- func (Map) OneElement() oneElementLatticeElement
- func (Map) OpOutcomes() OpOutcomes
- func (Map) PointsTo() PointsTo
- func (Map) Product() Product
- func (Map) RWMutex() RWMutex
- func (Map) Set() Set
- func (Map) ThreadCharges() ThreadCharges
- func (Map) TwoElement() twoElementLatticeElement
- func (e1 Map) Update(x interface{}, e2 Element) Map
- type MapBase
- func (e MapBase) AbstractValue() AbstractValue
- func (MapBase) Analysis() Analysis
- func (MapBase) AnalysisIntraprocess() AnalysisIntraprocess
- func (MapBase) AnalysisState() AnalysisState
- func (MapBase) ChannelInfo() ChannelInfo
- func (MapBase) Charges() Charges
- func (MapBase) Cond() Cond
- func (MapBase) Dropped() *DroppedTop
- func (MapBase) Flat() FlatElement
- func (MapBase) FlatInt() FlatIntElement
- func (m MapBase) Height() (h int)
- func (MapBase) InfiniteMap() InfiniteMap
- func (MapBase) Interval() Interval
- func (e MapBase) Lattice() Lattice
- func (MapBase) Lifted() *LiftedBot
- func (MapBase) Map() Map
- func (MapBase) Memory() Memory
- func (MapBase) OneElement() oneElementLatticeElement
- func (MapBase) OpOutcomes() OpOutcomes
- func (MapBase) PointsTo() PointsTo
- func (MapBase) Product() Product
- func (MapBase) RWMutex() RWMutex
- func (MapBase) Set() Set
- func (e MapBase) String() string
- func (MapBase) ThreadCharges() ThreadCharges
- func (MapBase) TwoElement() twoElementLatticeElement
- type MapLattice
- func (l *MapLattice) Bot() Element
- func (e *MapLattice) Contains(x interface{}) bool
- func (l *MapLattice) Domain() set
- func (l1 *MapLattice) Eq(l2 Lattice) bool
- func (e *MapLattice) Map() *MapLattice
- func (l *MapLattice) Range() Lattice
- func (m MapLattice) RngBot() Element
- func (l *MapLattice) String() string
- func (l *MapLattice) Top() Element
- type Memory
- func (e Memory) AbstractValue() AbstractValue
- func (w Memory) Allocate(key loc.AllocationSiteLocation, value AbstractValue, forceMultialloc bool) Memory
- func (Memory) Analysis() Analysis
- func (Memory) AnalysisIntraprocess() AnalysisIntraprocess
- func (Memory) AnalysisState() AnalysisState
- func (Memory) ChannelInfo() ChannelInfo
- func (mem Memory) Channels() Memory
- func (Memory) Charges() Charges
- func (Memory) Cond() Cond
- func (m1 Memory) Difference(m2 Memory) (diff Memory)
- func (Memory) Dropped() *DroppedTop
- func (w Memory) EffectiveSize() (count int)
- func (w Memory) Eq(e Element) bool
- func (mem Memory) Filter(pred func(loc.AddressableLocation, AbstractValue) bool) Memory
- func (Memory) Flat() FlatElement
- func (Memory) FlatInt() FlatIntElement
- func (w Memory) ForEach(f func(loc.AddressableLocation, AbstractValue))
- func (w Memory) Geq(e Element) bool
- func (m Memory) Get(key loc.AddressableLocation) (AbstractValue, bool)
- func (w Memory) GetOrDefault(key loc.AddressableLocation, dflt AbstractValue) AbstractValue
- func (w Memory) GetUnsafe(key loc.AddressableLocation) AbstractValue
- func (m Memory) Height() (h int)
- func (m1 Memory) HeightDiff(m2 Memory) (h int)
- func (Memory) InfiniteMap() InfiniteMap
- func (mem Memory) InjectTopValues(locs ...loc.AddressableLocation) Memory
- func (Memory) Interval() Interval
- func (w Memory) IsMultialloc(key loc.AddressableLocation) bool
- func (w Memory) Join(o Element) Element
- func (e Memory) Lattice() Lattice
- func (w Memory) Leq(e Element) bool
- func (Memory) Lifted() *LiftedBot
- func (m Memory) LocsToTop(locs ...loc.Location) Memory
- func (Memory) Map() Map
- func (m Memory) MaxElementHeight() (h int)
- func (w Memory) Meet(o Element) Element
- func (w Memory) Memory() Memory
- func (w Memory) MonoJoin(o Memory) Memory
- func (Memory) OneElement() oneElementLatticeElement
- func (Memory) OpOutcomes() OpOutcomes
- func (Memory) PointsTo() PointsTo
- func (Memory) Product() Product
- func (Memory) RWMutex() RWMutex
- func (w Memory) Remove(key loc.AddressableLocation) Memory
- func (Memory) Set() Set
- func (w Memory) Size() int
- func (w Memory) String() string
- func (Memory) ThreadCharges() ThreadCharges
- func (Memory) TwoElement() twoElementLatticeElement
- func (w Memory) Update(key loc.AddressableLocation, value AbstractValue) Memory
- type MemoryLattice
- type MinusInfinity
- func (MinusInfinity) Div(b2 IntervalBound) IntervalBound
- func (MinusInfinity) Eq(b2 IntervalBound) bool
- func (MinusInfinity) Geq(b2 IntervalBound) bool
- func (MinusInfinity) Gt(IntervalBound) bool
- func (MinusInfinity) IsInfinite() bool
- func (MinusInfinity) Leq(IntervalBound) bool
- func (MinusInfinity) Lt(b2 IntervalBound) bool
- func (MinusInfinity) Max(b2 IntervalBound) IntervalBound
- func (MinusInfinity) Min(b2 IntervalBound) IntervalBound
- func (MinusInfinity) Minus(b2 IntervalBound) IntervalBound
- func (MinusInfinity) Mult(b2 IntervalBound) IntervalBound
- func (MinusInfinity) Plus(b2 IntervalBound) IntervalBound
- func (MinusInfinity) String() string
- type MutexLattice
- func (*MutexLattice) AbstractValue() *AbstractValueLattice
- func (*MutexLattice) Analysis() *AnalysisLattice
- func (*MutexLattice) AnalysisIntraprocess() *AnalysisIntraprocessLattice
- func (*MutexLattice) ChannelInfo() *ChannelInfoLattice
- func (*MutexLattice) Dropped() *Dropped
- func (l1 *MutexLattice) Eq(l2 Lattice) bool
- func (*MutexLattice) Flat() *FlatLattice
- func (*MutexLattice) FlatInt() *FlatIntLattice
- func (*MutexLattice) InfiniteMap() *InfiniteMapLattice
- func (*MutexLattice) Interval() *IntervalLattice
- func (*MutexLattice) Lifted() *Lifted
- func (*MutexLattice) Map() *MapLattice
- func (*MutexLattice) Memory() *MemoryLattice
- func (*MutexLattice) OneElement() *OneElementLattice
- func (*MutexLattice) OpOutcomes() *OpOutcomesLattice
- func (*MutexLattice) Powerset() *Powerset
- func (*MutexLattice) Preheight() int
- func (*MutexLattice) Product() *ProductLattice
- func (*MutexLattice) String() string
- func (*MutexLattice) TwoElement() *TwoElementLattice
- type OneElementLattice
- func (*OneElementLattice) AbstractValue() *AbstractValueLattice
- func (*OneElementLattice) Analysis() *AnalysisLattice
- func (*OneElementLattice) AnalysisIntraprocess() *AnalysisIntraprocessLattice
- func (*OneElementLattice) Bot() Element
- func (*OneElementLattice) ChannelInfo() *ChannelInfoLattice
- func (*OneElementLattice) Dropped() *Dropped
- func (*OneElementLattice) Elements() []Element
- func (l1 *OneElementLattice) Eq(l2 Lattice) bool
- func (*OneElementLattice) Flat() *FlatLattice
- func (*OneElementLattice) FlatFinite() *FlatFiniteLattice
- func (*OneElementLattice) FlatInt() *FlatIntLattice
- func (*OneElementLattice) InfiniteMap() *InfiniteMapLattice
- func (*OneElementLattice) Interval() *IntervalLattice
- func (*OneElementLattice) Lifted() *Lifted
- func (*OneElementLattice) Map() *MapLattice
- func (*OneElementLattice) Memory() *MemoryLattice
- func (*OneElementLattice) OneElement() *OneElementLattice
- func (*OneElementLattice) OpOutcomes() *OpOutcomesLattice
- func (*OneElementLattice) Powerset() *Powerset
- func (*OneElementLattice) Preheight() int
- func (*OneElementLattice) Product() *ProductLattice
- func (*OneElementLattice) String() string
- func (*OneElementLattice) Top() Element
- func (*OneElementLattice) TwoElement() *TwoElementLattice
- type PlusInfinity
- func (PlusInfinity) Div(b2 IntervalBound) IntervalBound
- func (PlusInfinity) Eq(b2 IntervalBound) bool
- func (PlusInfinity) Geq(IntervalBound) bool
- func (PlusInfinity) Gt(b2 IntervalBound) bool
- func (PlusInfinity) IsInfinite() bool
- func (PlusInfinity) Leq(b2 IntervalBound) bool
- func (PlusInfinity) Lt(IntervalBound) bool
- func (PlusInfinity) Max(IntervalBound) IntervalBound
- func (PlusInfinity) Min(b2 IntervalBound) IntervalBound
- func (PlusInfinity) Minus(b2 IntervalBound) IntervalBound
- func (PlusInfinity) Mult(b2 IntervalBound) IntervalBound
- func (PlusInfinity) Plus(b2 IntervalBound) IntervalBound
- func (PlusInfinity) String() string
- type PointsTo
- func (e PointsTo) AbstractValue() AbstractValue
- func (p PointsTo) Add(ptr loc.Location) PointsTo
- func (PointsTo) Analysis() Analysis
- func (PointsTo) AnalysisIntraprocess() AnalysisIntraprocess
- func (PointsTo) AnalysisState() AnalysisState
- func (PointsTo) ChannelInfo() ChannelInfo
- func (PointsTo) Charges() Charges
- func (PointsTo) Cond() Cond
- func (p PointsTo) Contains(key loc.Location) bool
- func (PointsTo) Dropped() *DroppedTop
- func (m PointsTo) Empty() bool
- func (m PointsTo) Entries() (ret []loc.Location)
- func (m PointsTo) Eq(o Element) bool
- func (p PointsTo) Filter(pred func(l loc.Location) bool) PointsTo
- func (p PointsTo) FilterNil() PointsTo
- func (p PointsTo) FilterNilCB(onNilFound func()) PointsTo
- func (PointsTo) Flat() FlatElement
- func (PointsTo) FlatInt() FlatIntElement
- func (m PointsTo) ForEach(do func(loc.Location))
- func (m PointsTo) Geq(o Element) bool
- func (p PointsTo) HasNil() bool
- func (m PointsTo) Height() int
- func (PointsTo) InfiniteMap() InfiniteMap
- func (PointsTo) Interval() Interval
- func (m PointsTo) Join(o Element) Element
- func (e PointsTo) Lattice() Lattice
- func (m PointsTo) Leq(o Element) bool
- func (PointsTo) Lifted() *LiftedBot
- func (PointsTo) Map() Map
- func (m PointsTo) Meet(o Element) Element
- func (PointsTo) Memory() Memory
- func (m PointsTo) MonoJoin(o PointsTo) PointsTo
- func (m PointsTo) MonoMeet(o PointsTo) PointsTo
- func (m PointsTo) NonNilEntries() []loc.Location
- func (PointsTo) OneElement() oneElementLatticeElement
- func (PointsTo) OpOutcomes() OpOutcomes
- func (m PointsTo) PointsTo() PointsTo
- func (PointsTo) Product() Product
- func (PointsTo) RWMutex() RWMutex
- func (p PointsTo) Remove(loc loc.Location) PointsTo
- func (PointsTo) Set() Set
- func (m PointsTo) Size() int
- func (m PointsTo) String() string
- func (PointsTo) ThreadCharges() ThreadCharges
- func (PointsTo) TwoElement() twoElementLatticeElement
- type PointsToLattice
- func (*PointsToLattice) AbstractValue() *AbstractValueLattice
- func (*PointsToLattice) Analysis() *AnalysisLattice
- func (*PointsToLattice) AnalysisIntraprocess() *AnalysisIntraprocessLattice
- func (m *PointsToLattice) Bot() Element
- func (*PointsToLattice) ChannelInfo() *ChannelInfoLattice
- func (*PointsToLattice) Dropped() *Dropped
- func (m *PointsToLattice) Eq(o Lattice) bool
- func (*PointsToLattice) Flat() *FlatLattice
- func (*PointsToLattice) FlatFinite() *FlatFiniteLattice
- func (*PointsToLattice) FlatInt() *FlatIntLattice
- func (*PointsToLattice) InfiniteMap() *InfiniteMapLattice
- func (*PointsToLattice) Interval() *IntervalLattice
- func (*PointsToLattice) Lifted() *Lifted
- func (*PointsToLattice) Map() *MapLattice
- func (*PointsToLattice) Memory() *MemoryLattice
- func (*PointsToLattice) OneElement() *OneElementLattice
- func (*PointsToLattice) OpOutcomes() *OpOutcomesLattice
- func (*PointsToLattice) Powerset() *Powerset
- func (*PointsToLattice) Preheight() int
- func (*PointsToLattice) Product() *ProductLattice
- func (m *PointsToLattice) String() string
- func (m *PointsToLattice) Top() Element
- func (*PointsToLattice) TwoElement() *TwoElementLattice
- type Powerset
- func (*Powerset) AbstractValue() *AbstractValueLattice
- func (*Powerset) Analysis() *AnalysisLattice
- func (*Powerset) AnalysisIntraprocess() *AnalysisIntraprocessLattice
- func (p *Powerset) Bot() Element
- func (*Powerset) ChannelInfo() *ChannelInfoLattice
- func (p *Powerset) Contains(x interface{}) bool
- func (p *Powerset) Domain() set
- func (*Powerset) Dropped() *Dropped
- func (l1 *Powerset) Eq(l2 Lattice) bool
- func (p *Powerset) Extend(x interface{})
- func (*Powerset) Flat() *FlatLattice
- func (*Powerset) FlatFinite() *FlatFiniteLattice
- func (*Powerset) FlatInt() *FlatIntLattice
- func (*Powerset) InfiniteMap() *InfiniteMapLattice
- func (*Powerset) Interval() *IntervalLattice
- func (*Powerset) Lifted() *Lifted
- func (*Powerset) Map() *MapLattice
- func (*Powerset) Memory() *MemoryLattice
- func (*Powerset) OneElement() *OneElementLattice
- func (*Powerset) OpOutcomes() *OpOutcomesLattice
- func (p *Powerset) Powerset() *Powerset
- func (*Powerset) Preheight() int
- func (*Powerset) Product() *ProductLattice
- func (p *Powerset) String() string
- func (p *Powerset) Top() Element
- func (*Powerset) TwoElement() *TwoElementLattice
- type Product
- func (e Product) AbstractValue() AbstractValue
- func (Product) Analysis() Analysis
- func (Product) AnalysisIntraprocess() AnalysisIntraprocess
- func (Product) AnalysisState() AnalysisState
- func (Product) ChannelInfo() ChannelInfo
- func (Product) Charges() Charges
- func (Product) Cond() Cond
- func (Product) Dropped() *DroppedTop
- func (e1 Product) Eq(e2 Element) bool
- func (Product) Flat() FlatElement
- func (Product) FlatInt() FlatIntElement
- func (e1 Product) Geq(e2 Element) bool
- func (e Product) Get(i int) Element
- func (p Product) Height() (h int)
- func (Product) InfiniteMap() InfiniteMap
- func (Product) Interval() Interval
- func (e1 Product) Join(e2 Element) Element
- func (e Product) Lattice() Lattice
- func (e1 Product) Leq(e2 Element) bool
- func (Product) Lifted() *LiftedBot
- func (Product) Map() Map
- func (e1 Product) Meet(e2 Element) Element
- func (Product) Memory() Memory
- func (e1 Product) MonoJoin(e2 Product) Product
- func (e1 Product) MonoMeet(e2 Product) Product
- func (Product) OneElement() oneElementLatticeElement
- func (Product) OpOutcomes() OpOutcomes
- func (Product) PointsTo() PointsTo
- func (p Product) Product() Product
- func (Product) RWMutex() RWMutex
- func (Product) Set() Set
- func (e Product) String() string
- func (Product) ThreadCharges() ThreadCharges
- func (Product) TwoElement() twoElementLatticeElement
- func (e1 Product) Update(i int, e2 Element) Product
- type ProductLattice
- func (*ProductLattice) AbstractValue() *AbstractValueLattice
- func (*ProductLattice) Analysis() *AnalysisLattice
- func (*ProductLattice) AnalysisIntraprocess() *AnalysisIntraprocessLattice
- func (p *ProductLattice) Bot() Element
- func (*ProductLattice) ChannelInfo() *ChannelInfoLattice
- func (*ProductLattice) Dropped() *Dropped
- func (l1 *ProductLattice) Eq(l2 Lattice) bool
- func (p *ProductLattice) Extend(l Lattice)
- func (*ProductLattice) Flat() *FlatLattice
- func (*ProductLattice) FlatFinite() *FlatFiniteLattice
- func (*ProductLattice) FlatInt() *FlatIntLattice
- func (p *ProductLattice) Get(i int) Lattice
- func (*ProductLattice) InfiniteMap() *InfiniteMapLattice
- func (*ProductLattice) Interval() *IntervalLattice
- func (p *ProductLattice) Lattices() []Lattice
- func (*ProductLattice) Lifted() *Lifted
- func (*ProductLattice) Map() *MapLattice
- func (*ProductLattice) Memory() *MemoryLattice
- func (*ProductLattice) OneElement() *OneElementLattice
- func (*ProductLattice) OpOutcomes() *OpOutcomesLattice
- func (*ProductLattice) Powerset() *Powerset
- func (*ProductLattice) Preheight() int
- func (p *ProductLattice) Product() *ProductLattice
- func (p *ProductLattice) Size() int
- func (p *ProductLattice) String() string
- func (p *ProductLattice) Top() Element
- func (*ProductLattice) TwoElement() *TwoElementLattice
- type RWMutexLattice
- func (*RWMutexLattice) AbstractValue() *AbstractValueLattice
- func (*RWMutexLattice) Analysis() *AnalysisLattice
- func (*RWMutexLattice) AnalysisIntraprocess() *AnalysisIntraprocessLattice
- func (l RWMutexLattice) Bot() Element
- func (*RWMutexLattice) ChannelInfo() *ChannelInfoLattice
- func (*RWMutexLattice) Dropped() *Dropped
- func (l1 RWMutexLattice) Eq(l2 Lattice) bool
- func (*RWMutexLattice) Flat() *FlatLattice
- func (*RWMutexLattice) FlatFinite() *FlatFiniteLattice
- func (*RWMutexLattice) FlatInt() *FlatIntLattice
- func (*RWMutexLattice) InfiniteMap() *InfiniteMapLattice
- func (*RWMutexLattice) Interval() *IntervalLattice
- func (*RWMutexLattice) Lifted() *Lifted
- func (*RWMutexLattice) Map() *MapLattice
- func (*RWMutexLattice) Memory() *MemoryLattice
- func (*RWMutexLattice) OneElement() *OneElementLattice
- func (*RWMutexLattice) OpOutcomes() *OpOutcomesLattice
- func (*RWMutexLattice) Powerset() *Powerset
- func (*RWMutexLattice) Preheight() int
- func (RWMutexLattice) String() string
- func (l RWMutexLattice) Top() Element
- func (*RWMutexLattice) TwoElement() *TwoElementLattice
- type Set
- func (e Set) AbstractValue() AbstractValue
- func (e Set) Add(x interface{}) Set
- func (e Set) All() set
- func (Set) Analysis() Analysis
- func (Set) AnalysisIntraprocess() AnalysisIntraprocess
- func (Set) AnalysisState() AnalysisState
- func (Set) ChannelInfo() ChannelInfo
- func (Set) Charges() Charges
- func (Set) Cond() Cond
- func (e Set) Contains(x interface{}) bool
- func (Set) Dropped() *DroppedTop
- func (e1 Set) Eq(e2 Element) bool
- func (Set) Flat() FlatElement
- func (Set) FlatInt() FlatIntElement
- func (e1 Set) Geq(e2 Element) (result bool)
- func (e Set) Height() int
- func (Set) InfiniteMap() InfiniteMap
- func (Set) Interval() Interval
- func (e1 Set) Join(e2 Element) Element
- func (e Set) Lattice() Lattice
- func (e1 Set) Leq(e2 Element) bool
- func (Set) Lifted() *LiftedBot
- func (Set) Map() Map
- func (e1 Set) Meet(e2 Element) Element
- func (Set) Memory() Memory
- func (e1 Set) MonoJoin(e2 Set) Set
- func (e1 Set) MonoMeet(e2 Set) Set
- func (Set) OneElement() oneElementLatticeElement
- func (Set) OpOutcomes() OpOutcomes
- func (Set) PointsTo() PointsTo
- func (Set) Product() Product
- func (Set) RWMutex() RWMutex
- func (e Set) Remove(x interface{}) Set
- func (e Set) Set() Set
- func (e1 Set) Size() (size int)
- func (e Set) String() string
- func (Set) ThreadCharges() ThreadCharges
- func (Set) TwoElement() twoElementLatticeElement
- type TwoElementLattice
- func (*TwoElementLattice) AbstractValue() *AbstractValueLattice
- func (*TwoElementLattice) Analysis() *AnalysisLattice
- func (*TwoElementLattice) AnalysisIntraprocess() *AnalysisIntraprocessLattice
- func (*TwoElementLattice) Bot() Element
- func (*TwoElementLattice) ChannelInfo() *ChannelInfoLattice
- func (*TwoElementLattice) Dropped() *Dropped
- func (*TwoElementLattice) Elements() []Element
- func (l1 *TwoElementLattice) Eq(l2 Lattice) bool
- func (*TwoElementLattice) Flat() *FlatLattice
- func (*TwoElementLattice) FlatFinite() *FlatFiniteLattice
- func (*TwoElementLattice) FlatInt() *FlatIntLattice
- func (*TwoElementLattice) InfiniteMap() *InfiniteMapLattice
- func (*TwoElementLattice) Interval() *IntervalLattice
- func (*TwoElementLattice) Lifted() *Lifted
- func (*TwoElementLattice) Map() *MapLattice
- func (*TwoElementLattice) Memory() *MemoryLattice
- func (*TwoElementLattice) OneElement() *OneElementLattice
- func (*TwoElementLattice) OpOutcomes() *OpOutcomesLattice
- func (*TwoElementLattice) Powerset() *Powerset
- func (*TwoElementLattice) Preheight() int
- func (*TwoElementLattice) Product() *ProductLattice
- func (*TwoElementLattice) String() string
- func (*TwoElementLattice) Top() Element
- func (*TwoElementLattice) TwoElement() *TwoElementLattice
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Consts ¶
func Consts() consts
Commonly used constant factory. WARNING: Not to be confused with constant propagation lattice.
func IsTopLocation ¶
Checks whether a location is a top location. This is the case for local locations, or for allocation sites where the owning goroutine is the top goroutine
Types ¶
type AbstractValue ¶
type AbstractValue struct {
// contains filtered or unexported fields
}
func TopValueForType ¶
func TopValueForType(t T.Type) (top AbstractValue)
Compute the top abstract value for a given type
func ZeroValueForType ¶
func ZeroValueForType(t T.Type) (zero AbstractValue)
Computes the zero abstract value for a given type. Only provides partial coverage for all given types.
func (AbstractValue) AbstractValue ¶
func (m AbstractValue) AbstractValue() AbstractValue
func (AbstractValue) AddPointers ¶
func (m AbstractValue) AddPointers(ls ...loc.Location) AbstractValue
func (AbstractValue) AnalysisIntraprocess ¶
func (AbstractValue) AnalysisIntraprocess() AnalysisIntraprocess
func (AbstractValue) AnalysisState ¶
func (AbstractValue) AnalysisState() AnalysisState
func (AbstractValue) BasicValue ¶
func (m AbstractValue) BasicValue() FlatElement
func (AbstractValue) ChanValue ¶
func (m AbstractValue) ChanValue() ChannelInfo
func (AbstractValue) ChannelInfo ¶
func (m AbstractValue) ChannelInfo() ChannelInfo
func (AbstractValue) Closure ¶
func (m AbstractValue) Closure() *ssa.Function
func (AbstractValue) Cond ¶
func (m AbstractValue) Cond() Cond
func (AbstractValue) CondValue ¶
func (m AbstractValue) CondValue() Cond
func (AbstractValue) Difference ¶
func (v1 AbstractValue) Difference(v2 AbstractValue) (AbstractValue, bool)
Recursively create a difference between values with variable-height lattices. It takes the receiver abstract value as the "base", and computes increases compared to the parameter abstract value.
func (AbstractValue) Dropped ¶
func (AbstractValue) Dropped() *DroppedTop
func (AbstractValue) Eq ¶
func (e1 AbstractValue) Eq(e2 Element) bool
func (AbstractValue) Flat ¶
func (m AbstractValue) Flat() FlatElement
func (AbstractValue) FlatInt ¶
func (AbstractValue) FlatInt() FlatIntElement
func (AbstractValue) ForEachField ¶
func (e AbstractValue) ForEachField(do func(interface{}, AbstractValue))
For struct values, execute a piece of code for each field found in the struct
func (AbstractValue) Geq ¶
func (e1 AbstractValue) Geq(e2 Element) bool
func (AbstractValue) HasFixedHeight ¶
func (v AbstractValue) HasFixedHeight() bool
func (AbstractValue) Height ¶
func (m AbstractValue) Height() int
func (AbstractValue) InfiniteMap ¶
func (m AbstractValue) InfiniteMap() InfiniteMap
func (AbstractValue) InjectTopLocation ¶
func (e AbstractValue) InjectTopLocation(l loc.AddressableLocation) AbstractValue
Inject represented top location into the value. Recursively traverse the abstract value and replace references to other locations represented by the given top location with the top location itself. Depending on value type:
- Pointer values insert the represented location and remove all references to other locations represented by the top location
- Struct values recursively inject fields
- Channel values recursively inject the payload
- All other values are returned as-is
func (AbstractValue) IsArray ¶
func (m AbstractValue) IsArray() bool
func (AbstractValue) IsBasic ¶
func (m AbstractValue) IsBasic() bool
func (AbstractValue) IsBot ¶
func (e AbstractValue) IsBot() bool
func (AbstractValue) IsBotStruct ¶
func (m AbstractValue) IsBotStruct() bool
Checks whether the struct is bot
func (AbstractValue) IsChan ¶
func (m AbstractValue) IsChan() bool
func (AbstractValue) IsClosure ¶
func (m AbstractValue) IsClosure() bool
func (AbstractValue) IsCond ¶
func (m AbstractValue) IsCond() bool
func (AbstractValue) IsKnownStruct ¶
func (m AbstractValue) IsKnownStruct() bool
func (AbstractValue) IsLocker ¶
func (m AbstractValue) IsLocker() bool
func (AbstractValue) IsMap ¶
func (m AbstractValue) IsMap() bool
func (AbstractValue) IsMutex ¶
func (m AbstractValue) IsMutex() bool
func (AbstractValue) IsPointer ¶
func (m AbstractValue) IsPointer() bool
func (AbstractValue) IsRWMutex ¶
func (m AbstractValue) IsRWMutex() bool
func (AbstractValue) IsStruct ¶
func (m AbstractValue) IsStruct() bool
func (AbstractValue) IsTopStruct ¶
func (m AbstractValue) IsTopStruct() bool
Checks whether the struct is top
func (AbstractValue) IsWildcard ¶
func (e AbstractValue) IsWildcard() bool
func (AbstractValue) Join ¶
func (e1 AbstractValue) Join(e2 Element) Element
func (AbstractValue) Leq ¶
func (e1 AbstractValue) Leq(e2 Element) bool
func (AbstractValue) Meet ¶
func (e1 AbstractValue) Meet(e2 Element) Element
func (AbstractValue) MonoJoin ¶
func (e1 AbstractValue) MonoJoin(e2 AbstractValue) AbstractValue
func (AbstractValue) MonoMeet ¶
func (e1 AbstractValue) MonoMeet(e2 AbstractValue) AbstractValue
func (AbstractValue) MutexValue ¶
func (m AbstractValue) MutexValue() FlatElement
func (AbstractValue) OneElement ¶
func (AbstractValue) OneElement() oneElementLatticeElement
func (AbstractValue) OpOutcomes ¶
func (AbstractValue) OpOutcomes() OpOutcomes
func (AbstractValue) PointerValue ¶
func (m AbstractValue) PointerValue() PointsTo
func (AbstractValue) PointsTo ¶
func (m AbstractValue) PointsTo() PointsTo
func (AbstractValue) RWMutex ¶
func (m AbstractValue) RWMutex() RWMutex
func (AbstractValue) RWMutexValue ¶
func (m AbstractValue) RWMutexValue() RWMutex
func (AbstractValue) String ¶
func (m AbstractValue) String() string
func (AbstractValue) Struct ¶
func (m AbstractValue) Struct() Element
Retrieve Struct component without coercing into an infinite map
func (AbstractValue) StructValue ¶
func (m AbstractValue) StructValue() InfiniteMap
func (AbstractValue) ThreadCharges ¶
func (AbstractValue) ThreadCharges() ThreadCharges
func (AbstractValue) ToBot ¶
func (e AbstractValue) ToBot() AbstractValue
func (AbstractValue) ToTop ¶
func (e AbstractValue) ToTop() AbstractValue
func (AbstractValue) TwoElement ¶
func (AbstractValue) TwoElement() twoElementLatticeElement
func (AbstractValue) Update ¶
func (m AbstractValue) Update(x Element) AbstractValue
func (AbstractValue) UpdateChan ¶
func (m AbstractValue) UpdateChan(x Element) AbstractValue
func (AbstractValue) UpdateCond ¶
func (m AbstractValue) UpdateCond(x Element) AbstractValue
func (AbstractValue) UpdateMutex ¶
func (m AbstractValue) UpdateMutex(x Element) AbstractValue
func (AbstractValue) UpdatePointer ¶
func (m AbstractValue) UpdatePointer(x Element) AbstractValue
func (AbstractValue) UpdateRWMutex ¶
func (m AbstractValue) UpdateRWMutex(x Element) AbstractValue
type AbstractValueConfig ¶
type AbstractValueConfig struct { // Constant value (wrapped in interface) Basic interface{} // Reference to location array. The reference // helps distinguish between no PointsTo information // (a nil pointer), and the empty pointer location // (a nil slice stored at PointsTo) PointsTo *[]loc.Location // Struct fields Struct map[interface{}]Element // Abstract value is one of the following. // Mutually eclusive. Channel bool Mutex bool RWMutex bool Cond bool Wildcard bool }
Configuration structure for creating abstract values
func (AbstractValueConfig) String ¶
func (config AbstractValueConfig) String() string
type AbstractValueLattice ¶
type AbstractValueLattice struct {
ProductLattice
}
func (*AbstractValueLattice) AbstractValue ¶
func (v *AbstractValueLattice) AbstractValue() *AbstractValueLattice
func (*AbstractValueLattice) AnalysisIntraprocess ¶
func (*AbstractValueLattice) AnalysisIntraprocess() *AnalysisIntraprocessLattice
func (*AbstractValueLattice) Bot ¶
func (v *AbstractValueLattice) Bot() Element
func (*AbstractValueLattice) ChannelInfo ¶
func (*AbstractValueLattice) ChannelInfo() *ChannelInfoLattice
func (*AbstractValueLattice) Eq ¶
func (l1 *AbstractValueLattice) Eq(l2 Lattice) bool
func (*AbstractValueLattice) Flat ¶
func (*AbstractValueLattice) Flat() *FlatLattice
func (*AbstractValueLattice) FlatFinite ¶
func (*AbstractValueLattice) FlatFinite() *FlatFiniteLattice
func (*AbstractValueLattice) FlatInt ¶
func (*AbstractValueLattice) FlatInt() *FlatIntLattice
func (*AbstractValueLattice) Get ¶
func (l *AbstractValueLattice) Get(i int) Lattice
func (*AbstractValueLattice) InfiniteMap ¶
func (*AbstractValueLattice) InfiniteMap() *InfiniteMapLattice
func (*AbstractValueLattice) Interval ¶
func (*AbstractValueLattice) Interval() *IntervalLattice
func (*AbstractValueLattice) LatticeForType ¶
func (l *AbstractValueLattice) LatticeForType(T types.Type) Lattice
func (*AbstractValueLattice) Map ¶
func (*AbstractValueLattice) Map() *MapLattice
func (*AbstractValueLattice) Memory ¶
func (*AbstractValueLattice) Memory() *MemoryLattice
func (*AbstractValueLattice) OneElement ¶
func (*AbstractValueLattice) OneElement() *OneElementLattice
func (*AbstractValueLattice) OpOutcomes ¶
func (*AbstractValueLattice) OpOutcomes() *OpOutcomesLattice
func (*AbstractValueLattice) Product ¶
func (l *AbstractValueLattice) Product() *ProductLattice
func (AbstractValueLattice) String ¶
func (AbstractValueLattice) String() string
func (*AbstractValueLattice) Top ¶
func (v *AbstractValueLattice) Top() Element
func (*AbstractValueLattice) TwoElement ¶
func (*AbstractValueLattice) TwoElement() *TwoElementLattice
func (*AbstractValueLattice) Value ¶
func (l *AbstractValueLattice) Value() *AbstractValueLattice
type AnalysisStateLattice ¶
type AnalysisStateLattice struct {
ProductLattice
}
func (*AnalysisStateLattice) AbstractValue ¶
func (*AnalysisStateLattice) AbstractValue() *AbstractValueLattice
func (*AnalysisStateLattice) AnalysisIntraprocess ¶
func (*AnalysisStateLattice) AnalysisIntraprocess() *AnalysisIntraprocessLattice
func (*AnalysisStateLattice) AnalysisState ¶
func (c *AnalysisStateLattice) AnalysisState() *AnalysisStateLattice
func (*AnalysisStateLattice) Bot ¶
func (c *AnalysisStateLattice) Bot() Element
func (*AnalysisStateLattice) ChannelInfo ¶
func (*AnalysisStateLattice) ChannelInfo() *ChannelInfoLattice
func (*AnalysisStateLattice) Eq ¶
func (l1 *AnalysisStateLattice) Eq(l2 Lattice) bool
func (*AnalysisStateLattice) Flat ¶
func (*AnalysisStateLattice) Flat() *FlatLattice
func (*AnalysisStateLattice) FlatFinite ¶
func (*AnalysisStateLattice) FlatFinite() *FlatFiniteLattice
func (*AnalysisStateLattice) FlatInt ¶
func (*AnalysisStateLattice) FlatInt() *FlatIntLattice
func (*AnalysisStateLattice) InfiniteMap ¶
func (*AnalysisStateLattice) InfiniteMap() *InfiniteMapLattice
func (*AnalysisStateLattice) Interval ¶
func (*AnalysisStateLattice) Interval() *IntervalLattice
func (*AnalysisStateLattice) Map ¶
func (*AnalysisStateLattice) Map() *MapLattice
func (*AnalysisStateLattice) Memory ¶
func (*AnalysisStateLattice) Memory() *MemoryLattice
func (*AnalysisStateLattice) OneElement ¶
func (*AnalysisStateLattice) OneElement() *OneElementLattice
func (*AnalysisStateLattice) OpOutcomes ¶
func (*AnalysisStateLattice) OpOutcomes() *OpOutcomesLattice
func (*AnalysisStateLattice) Product ¶
func (c *AnalysisStateLattice) Product() *ProductLattice
func (*AnalysisStateLattice) String ¶
func (*AnalysisStateLattice) String() string
func (*AnalysisStateLattice) Top ¶
func (c *AnalysisStateLattice) Top() Element
func (*AnalysisStateLattice) TwoElement ¶
func (*AnalysisStateLattice) TwoElement() *TwoElementLattice
type ChannelInfoLattice ¶
type ChannelInfoLattice struct {
ProductLattice
}
Information about channels used during abstract interpretation.
func (*ChannelInfoLattice) AbstractValue ¶
func (*ChannelInfoLattice) AbstractValue() *AbstractValueLattice
func (*ChannelInfoLattice) AnalysisIntraprocess ¶
func (*ChannelInfoLattice) AnalysisIntraprocess() *AnalysisIntraprocessLattice
func (*ChannelInfoLattice) Bot ¶
func (c *ChannelInfoLattice) Bot() Element
func (*ChannelInfoLattice) BufferFlat ¶
func (c *ChannelInfoLattice) BufferFlat() *FlatIntLattice
func (*ChannelInfoLattice) BufferInterval ¶
func (c *ChannelInfoLattice) BufferInterval() *IntervalLattice
func (*ChannelInfoLattice) Capacity ¶
func (c *ChannelInfoLattice) Capacity() *FlatIntLattice
func (*ChannelInfoLattice) ChannelInfo ¶
func (c *ChannelInfoLattice) ChannelInfo() *ChannelInfoLattice
func (*ChannelInfoLattice) Eq ¶
func (l1 *ChannelInfoLattice) Eq(l2 Lattice) bool
func (*ChannelInfoLattice) Flat ¶
func (*ChannelInfoLattice) Flat() *FlatLattice
func (*ChannelInfoLattice) FlatFinite ¶
func (*ChannelInfoLattice) FlatFinite() *FlatFiniteLattice
func (*ChannelInfoLattice) FlatInt ¶
func (*ChannelInfoLattice) FlatInt() *FlatIntLattice
func (*ChannelInfoLattice) InfiniteMap ¶
func (*ChannelInfoLattice) InfiniteMap() *InfiniteMapLattice
func (*ChannelInfoLattice) Interval ¶
func (*ChannelInfoLattice) Interval() *IntervalLattice
func (*ChannelInfoLattice) Map ¶
func (*ChannelInfoLattice) Map() *MapLattice
func (*ChannelInfoLattice) Memory ¶
func (*ChannelInfoLattice) Memory() *MemoryLattice
func (*ChannelInfoLattice) OneElement ¶
func (*ChannelInfoLattice) OneElement() *OneElementLattice
func (*ChannelInfoLattice) OpOutcomes ¶
func (*ChannelInfoLattice) OpOutcomes() *OpOutcomesLattice
func (*ChannelInfoLattice) Payload ¶
func (c *ChannelInfoLattice) Payload() *AbstractValueLattice
func (*ChannelInfoLattice) Product ¶
func (c *ChannelInfoLattice) Product() *ProductLattice
func (*ChannelInfoLattice) Status ¶
func (c *ChannelInfoLattice) Status() *FlatFiniteLattice
func (*ChannelInfoLattice) String ¶
func (*ChannelInfoLattice) String() string
func (*ChannelInfoLattice) Top ¶
func (c *ChannelInfoLattice) Top() Element
func (*ChannelInfoLattice) TwoElement ¶
func (*ChannelInfoLattice) TwoElement() *TwoElementLattice
type CondLattice ¶
type CondLattice struct {
ProductLattice
}
func (*CondLattice) AbstractValue ¶
func (*CondLattice) AbstractValue() *AbstractValueLattice
func (*CondLattice) AnalysisIntraprocess ¶
func (*CondLattice) AnalysisIntraprocess() *AnalysisIntraprocessLattice
func (CondLattice) Bot ¶
func (l CondLattice) Bot() Element
func (*CondLattice) ChannelInfo ¶
func (*CondLattice) ChannelInfo() *ChannelInfoLattice
func (CondLattice) Eq ¶
func (l1 CondLattice) Eq(l2 Lattice) bool
func (*CondLattice) Flat ¶
func (*CondLattice) Flat() *FlatLattice
func (*CondLattice) FlatFinite ¶
func (*CondLattice) FlatFinite() *FlatFiniteLattice
func (*CondLattice) FlatInt ¶
func (*CondLattice) FlatInt() *FlatIntLattice
func (*CondLattice) InfiniteMap ¶
func (*CondLattice) InfiniteMap() *InfiniteMapLattice
func (*CondLattice) Interval ¶
func (*CondLattice) Interval() *IntervalLattice
func (*CondLattice) Map ¶
func (*CondLattice) Map() *MapLattice
func (*CondLattice) Memory ¶
func (*CondLattice) Memory() *MemoryLattice
func (*CondLattice) OneElement ¶
func (*CondLattice) OneElement() *OneElementLattice
func (*CondLattice) OpOutcomes ¶
func (*CondLattice) OpOutcomes() *OpOutcomesLattice
func (CondLattice) String ¶
func (CondLattice) String() string
func (CondLattice) Top ¶
func (l CondLattice) Top() Element
func (*CondLattice) TwoElement ¶
func (*CondLattice) TwoElement() *TwoElementLattice
type ConstantPropagationLattice ¶
type ConstantPropagationLattice struct { FlatLattice // contains filtered or unexported fields }
func (*ConstantPropagationLattice) AbstractValue ¶
func (*ConstantPropagationLattice) AbstractValue() *AbstractValueLattice
func (*ConstantPropagationLattice) Analysis ¶
func (*ConstantPropagationLattice) Analysis() *AnalysisLattice
func (*ConstantPropagationLattice) AnalysisIntraprocess ¶
func (*ConstantPropagationLattice) AnalysisIntraprocess() *AnalysisIntraprocessLattice
func (*ConstantPropagationLattice) ChannelInfo ¶
func (*ConstantPropagationLattice) ChannelInfo() *ChannelInfoLattice
func (*ConstantPropagationLattice) Eq ¶
func (l1 *ConstantPropagationLattice) Eq(l2 Lattice) bool
func (*ConstantPropagationLattice) Flat ¶
func (*ConstantPropagationLattice) Flat() *FlatLattice
func (*ConstantPropagationLattice) FlatFinite ¶
func (*ConstantPropagationLattice) FlatFinite() *FlatFiniteLattice
func (*ConstantPropagationLattice) FlatInt ¶
func (*ConstantPropagationLattice) FlatInt() *FlatIntLattice
func (*ConstantPropagationLattice) InfiniteMap ¶
func (*ConstantPropagationLattice) InfiniteMap() *InfiniteMapLattice
func (*ConstantPropagationLattice) Interval ¶
func (*ConstantPropagationLattice) Interval() *IntervalLattice
func (*ConstantPropagationLattice) Map ¶
func (*ConstantPropagationLattice) Map() *MapLattice
func (*ConstantPropagationLattice) Memory ¶
func (*ConstantPropagationLattice) Memory() *MemoryLattice
func (*ConstantPropagationLattice) OneElement ¶
func (*ConstantPropagationLattice) OneElement() *OneElementLattice
func (*ConstantPropagationLattice) OpOutcomes ¶
func (*ConstantPropagationLattice) OpOutcomes() *OpOutcomesLattice
func (*ConstantPropagationLattice) Powerset ¶
func (*ConstantPropagationLattice) Powerset() *Powerset
func (*ConstantPropagationLattice) Product ¶
func (*ConstantPropagationLattice) Product() *ProductLattice
func (ConstantPropagationLattice) String ¶
func (ConstantPropagationLattice) String() string
func (*ConstantPropagationLattice) TwoElement ¶
func (*ConstantPropagationLattice) TwoElement() *TwoElementLattice
type Dropped ¶
type Dropped struct { Lattice // contains filtered or unexported fields }
func (*Dropped) Flat ¶
func (l *Dropped) Flat() *FlatLattice
func (*Dropped) FlatFinite ¶
func (l *Dropped) FlatFinite() *FlatFiniteLattice
func (*Dropped) FlatInt ¶
func (l *Dropped) FlatInt() *FlatIntLattice
func (*Dropped) InfiniteMap ¶
func (l *Dropped) InfiniteMap() *InfiniteMapLattice
func (*Dropped) Interval ¶
func (l *Dropped) Interval() *IntervalLattice
func (*Dropped) Map ¶
func (l *Dropped) Map() *MapLattice
func (*Dropped) Product ¶
func (l *Dropped) Product() *ProductLattice
func (*Dropped) TwoElement ¶
func (l *Dropped) TwoElement() *TwoElementLattice
type DroppedTop ¶
type DroppedTop struct {
// contains filtered or unexported fields
}
func (DroppedTop) AbstractValue ¶
func (e DroppedTop) AbstractValue() AbstractValue
func (DroppedTop) AnalysisIntraprocess ¶
func (DroppedTop) AnalysisIntraprocess() AnalysisIntraprocess
func (DroppedTop) AnalysisState ¶
func (DroppedTop) AnalysisState() AnalysisState
func (DroppedTop) ChannelInfo ¶
func (DroppedTop) ChannelInfo() ChannelInfo
func (DroppedTop) Dropped ¶
func (DroppedTop) Dropped() *DroppedTop
func (*DroppedTop) Eq ¶
func (e1 *DroppedTop) Eq(e2 Element) bool
func (DroppedTop) Flat ¶
func (DroppedTop) Flat() FlatElement
func (DroppedTop) FlatInt ¶
func (DroppedTop) FlatInt() FlatIntElement
func (*DroppedTop) Geq ¶
func (e1 *DroppedTop) Geq(e2 Element) bool
func (*DroppedTop) Height ¶
func (e *DroppedTop) Height() int
func (*DroppedTop) Index ¶
func (e *DroppedTop) Index() int
func (DroppedTop) InfiniteMap ¶
func (DroppedTop) InfiniteMap() InfiniteMap
func (*DroppedTop) Join ¶
func (e1 *DroppedTop) Join(e2 Element) Element
func (*DroppedTop) Leq ¶
func (e1 *DroppedTop) Leq(e2 Element) bool
func (*DroppedTop) Meet ¶
func (e1 *DroppedTop) Meet(e2 Element) Element
func (DroppedTop) OneElement ¶
func (DroppedTop) OneElement() oneElementLatticeElement
func (DroppedTop) OpOutcomes ¶
func (DroppedTop) OpOutcomes() OpOutcomes
func (*DroppedTop) String ¶
func (e *DroppedTop) String() string
func (DroppedTop) ThreadCharges ¶
func (DroppedTop) ThreadCharges() ThreadCharges
func (DroppedTop) TwoElement ¶
func (DroppedTop) TwoElement() twoElementLatticeElement
type Element ¶
type Element interface { // Type conversion API OneElement() oneElementLatticeElement TwoElement() twoElementLatticeElement AbstractValue() AbstractValue AnalysisState() AnalysisState Analysis() Analysis AnalysisIntraprocess() AnalysisIntraprocess ChannelInfo() ChannelInfo Charges() Charges Dropped() *DroppedTop Flat() FlatElement FlatInt() FlatIntElement InfiniteMap() InfiniteMap Interval() Interval Lifted() *LiftedBot Map() Map Memory() Memory OpOutcomes() OpOutcomes PointsTo() PointsTo Product() Product RWMutex() RWMutex Cond() Cond Set() Set ThreadCharges() ThreadCharges Lattice() Lattice // External API for lattice element operations. // They dynamically perform lattice type checking. Leq(Element) bool Geq(Element) bool Eq(Element) bool Join(Element) Element Meet(Element) Element // Representational components String() string // Encodes the distance from the bottom of the lattice // to the element that calls this method. Height() int // contains filtered or unexported methods }
type FiniteBound ¶
type FiniteBound int
func (FiniteBound) Div ¶
func (b1 FiniteBound) Div(b2 IntervalBound) IntervalBound
func (FiniteBound) Eq ¶
func (b1 FiniteBound) Eq(b2 IntervalBound) bool
func (FiniteBound) Geq ¶
func (b1 FiniteBound) Geq(b2 IntervalBound) bool
func (FiniteBound) Gt ¶
func (b1 FiniteBound) Gt(b2 IntervalBound) bool
func (FiniteBound) IsInfinite ¶
func (FiniteBound) IsInfinite() bool
func (FiniteBound) Leq ¶
func (b1 FiniteBound) Leq(b2 IntervalBound) bool
func (FiniteBound) Lt ¶
func (b1 FiniteBound) Lt(b2 IntervalBound) bool
func (FiniteBound) Max ¶
func (b1 FiniteBound) Max(b2 IntervalBound) IntervalBound
func (FiniteBound) Min ¶
func (b1 FiniteBound) Min(b2 IntervalBound) IntervalBound
func (FiniteBound) Minus ¶
func (b1 FiniteBound) Minus(b2 IntervalBound) IntervalBound
func (FiniteBound) Mult ¶
func (b1 FiniteBound) Mult(b2 IntervalBound) IntervalBound
func (FiniteBound) Plus ¶
func (b1 FiniteBound) Plus(b2 IntervalBound) IntervalBound
func (FiniteBound) String ¶
func (b FiniteBound) String() string
type FlatBot ¶
type FlatBot struct {
// contains filtered or unexported fields
}
func (FlatBot) Flat ¶
func (e FlatBot) Flat() FlatElement
type FlatElement ¶
type FlatFiniteLattice ¶
type FlatFiniteLattice struct { FlatLattice // contains filtered or unexported fields }
func (*FlatFiniteLattice) AbstractValue ¶
func (*FlatFiniteLattice) AbstractValue() *AbstractValueLattice
func (*FlatFiniteLattice) AnalysisIntraprocess ¶
func (*FlatFiniteLattice) AnalysisIntraprocess() *AnalysisIntraprocessLattice
func (*FlatFiniteLattice) ChannelInfo ¶
func (*FlatFiniteLattice) ChannelInfo() *ChannelInfoLattice
func (*FlatFiniteLattice) Eq ¶
func (l1 *FlatFiniteLattice) Eq(l2 Lattice) bool
func (*FlatFiniteLattice) Flat ¶
func (*FlatFiniteLattice) Flat() *FlatLattice
func (*FlatFiniteLattice) FlatFinite ¶
func (l *FlatFiniteLattice) FlatFinite() *FlatFiniteLattice
func (*FlatFiniteLattice) FlatInt ¶
func (*FlatFiniteLattice) FlatInt() *FlatIntLattice
func (*FlatFiniteLattice) InfiniteMap ¶
func (*FlatFiniteLattice) InfiniteMap() *InfiniteMapLattice
func (*FlatFiniteLattice) Interval ¶
func (*FlatFiniteLattice) Interval() *IntervalLattice
func (*FlatFiniteLattice) Map ¶
func (*FlatFiniteLattice) Map() *MapLattice
func (*FlatFiniteLattice) Memory ¶
func (*FlatFiniteLattice) Memory() *MemoryLattice
func (*FlatFiniteLattice) OneElement ¶
func (*FlatFiniteLattice) OneElement() *OneElementLattice
func (*FlatFiniteLattice) OpOutcomes ¶
func (*FlatFiniteLattice) OpOutcomes() *OpOutcomesLattice
func (*FlatFiniteLattice) Product ¶
func (*FlatFiniteLattice) Product() *ProductLattice
func (*FlatFiniteLattice) String ¶
func (l *FlatFiniteLattice) String() string
func (*FlatFiniteLattice) TwoElement ¶
func (*FlatFiniteLattice) TwoElement() *TwoElementLattice
type FlatIntElement ¶
type FlatIntElement struct {
// contains filtered or unexported fields
}
func (FlatIntElement) AbstractValue ¶
func (e FlatIntElement) AbstractValue() AbstractValue
func (FlatIntElement) AnalysisIntraprocess ¶
func (FlatIntElement) AnalysisIntraprocess() AnalysisIntraprocess
func (FlatIntElement) AnalysisState ¶
func (FlatIntElement) AnalysisState() AnalysisState
func (FlatIntElement) ChannelInfo ¶
func (FlatIntElement) ChannelInfo() ChannelInfo
func (FlatIntElement) Dropped ¶
func (FlatIntElement) Dropped() *DroppedTop
func (FlatIntElement) Eq ¶
func (e1 FlatIntElement) Eq(e2 Element) bool
func (FlatIntElement) Flat ¶
func (e FlatIntElement) Flat() FlatElement
func (FlatIntElement) FlatInt ¶
func (e FlatIntElement) FlatInt() FlatIntElement
func (FlatIntElement) Geq ¶
func (e1 FlatIntElement) Geq(e2 Element) bool
func (FlatIntElement) Height ¶
func (e FlatIntElement) Height() int
func (FlatIntElement) IValue ¶
func (e FlatIntElement) IValue() int
func (FlatIntElement) InfiniteMap ¶
func (FlatIntElement) InfiniteMap() InfiniteMap
func (FlatIntElement) Is ¶
func (e FlatIntElement) Is(x interface{}) bool
func (FlatIntElement) IsBot ¶
func (e FlatIntElement) IsBot() bool
func (FlatIntElement) IsTop ¶
func (e FlatIntElement) IsTop() bool
func (FlatIntElement) Join ¶
func (e1 FlatIntElement) Join(e2 Element) Element
func (FlatIntElement) Leq ¶
func (e1 FlatIntElement) Leq(e2 Element) bool
func (FlatIntElement) Meet ¶
func (e1 FlatIntElement) Meet(e2 Element) Element
func (FlatIntElement) OneElement ¶
func (FlatIntElement) OneElement() oneElementLatticeElement
func (FlatIntElement) OpOutcomes ¶
func (FlatIntElement) OpOutcomes() OpOutcomes
func (FlatIntElement) String ¶
func (e FlatIntElement) String() string
func (FlatIntElement) ThreadCharges ¶
func (FlatIntElement) ThreadCharges() ThreadCharges
func (FlatIntElement) TwoElement ¶
func (FlatIntElement) TwoElement() twoElementLatticeElement
func (FlatIntElement) Value ¶
func (e FlatIntElement) Value() interface{}
Satisfy the FlatElement interface
type FlatIntLattice ¶
type FlatIntLattice struct { FlatLattice // contains filtered or unexported fields }
func (*FlatIntLattice) AbstractValue ¶
func (*FlatIntLattice) AbstractValue() *AbstractValueLattice
func (*FlatIntLattice) AnalysisIntraprocess ¶
func (*FlatIntLattice) AnalysisIntraprocess() *AnalysisIntraprocessLattice
func (*FlatIntLattice) ChannelInfo ¶
func (*FlatIntLattice) ChannelInfo() *ChannelInfoLattice
func (*FlatIntLattice) Eq ¶
func (l1 *FlatIntLattice) Eq(l2 Lattice) bool
func (*FlatIntLattice) Flat ¶
func (*FlatIntLattice) Flat() *FlatLattice
func (*FlatIntLattice) FlatFinite ¶
func (*FlatIntLattice) FlatFinite() *FlatFiniteLattice
func (*FlatIntLattice) FlatInt ¶
func (l *FlatIntLattice) FlatInt() *FlatIntLattice
func (*FlatIntLattice) InfiniteMap ¶
func (*FlatIntLattice) InfiniteMap() *InfiniteMapLattice
func (*FlatIntLattice) Interval ¶
func (*FlatIntLattice) Interval() *IntervalLattice
func (*FlatIntLattice) Map ¶
func (*FlatIntLattice) Map() *MapLattice
func (*FlatIntLattice) Memory ¶
func (*FlatIntLattice) Memory() *MemoryLattice
func (*FlatIntLattice) OneElement ¶
func (*FlatIntLattice) OneElement() *OneElementLattice
func (*FlatIntLattice) OpOutcomes ¶
func (*FlatIntLattice) OpOutcomes() *OpOutcomesLattice
func (*FlatIntLattice) Product ¶
func (*FlatIntLattice) Product() *ProductLattice
func (*FlatIntLattice) String ¶
func (l *FlatIntLattice) String() string
func (*FlatIntLattice) TwoElement ¶
func (*FlatIntLattice) TwoElement() *TwoElementLattice
type FlatLattice ¶
type FlatLattice struct {
// contains filtered or unexported fields
}
func (*FlatLattice) Bot ¶
func (l *FlatLattice) Bot() Element
func (*FlatLattice) Top ¶
func (l *FlatLattice) Top() Element
type FlatTop ¶
type FlatTop struct {
// contains filtered or unexported fields
}
func (FlatTop) Flat ¶
func (e FlatTop) Flat() FlatElement
type InfiniteMap ¶
type InfiniteMap struct {
MapBase
}
func (InfiniteMap) AbstractValue ¶
func (e InfiniteMap) AbstractValue() AbstractValue
func (InfiniteMap) AnalysisIntraprocess ¶
func (InfiniteMap) AnalysisIntraprocess() AnalysisIntraprocess
func (InfiniteMap) AnalysisState ¶
func (InfiniteMap) AnalysisState() AnalysisState
func (InfiniteMap) ChannelInfo ¶
func (InfiniteMap) ChannelInfo() ChannelInfo
func (InfiniteMap) Dropped ¶
func (InfiniteMap) Dropped() *DroppedTop
func (InfiniteMap) Eq ¶
func (e1 InfiniteMap) Eq(e2 Element) bool
func (InfiniteMap) Flat ¶
func (InfiniteMap) Flat() FlatElement
func (InfiniteMap) FlatInt ¶
func (InfiniteMap) FlatInt() FlatIntElement
func (InfiniteMap) ForEach ¶
func (e InfiniteMap) ForEach(do func(interface{}, Element))
func (InfiniteMap) Geq ¶
func (e1 InfiniteMap) Geq(e2 Element) bool
func (InfiniteMap) Get ¶
func (e InfiniteMap) Get(x interface{}) Element
func (InfiniteMap) InfiniteMap ¶
func (e1 InfiniteMap) InfiniteMap() InfiniteMap
func (InfiniteMap) Join ¶
func (e1 InfiniteMap) Join(e2 Element) Element
func (InfiniteMap) Leq ¶
func (e1 InfiniteMap) Leq(e2 Element) bool
func (InfiniteMap) Meet ¶
func (e1 InfiniteMap) Meet(e2 Element) Element
func (InfiniteMap) MonoJoin ¶
func (e1 InfiniteMap) MonoJoin(e2 InfiniteMap) InfiniteMap
func (InfiniteMap) MonoMeet ¶
func (e1 InfiniteMap) MonoMeet(e2 InfiniteMap) InfiniteMap
func (InfiniteMap) OneElement ¶
func (InfiniteMap) OneElement() oneElementLatticeElement
func (InfiniteMap) OpOutcomes ¶
func (InfiniteMap) OpOutcomes() OpOutcomes
func (InfiniteMap) ThreadCharges ¶
func (InfiniteMap) ThreadCharges() ThreadCharges
func (InfiniteMap) TwoElement ¶
func (InfiniteMap) TwoElement() twoElementLatticeElement
func (InfiniteMap) Update ¶
func (e1 InfiniteMap) Update(x interface{}, e2 Element) InfiniteMap
type InfiniteMapLattice ¶
type InfiniteMapLattice struct {
// contains filtered or unexported fields
}
func (*InfiniteMapLattice) Bot ¶
func (l *InfiniteMapLattice) Bot() Element
func (*InfiniteMapLattice) Eq ¶
func (l1 *InfiniteMapLattice) Eq(l2 Lattice) bool
func (*InfiniteMapLattice) InfiniteMap ¶
func (l *InfiniteMapLattice) InfiniteMap() *InfiniteMapLattice
func (*InfiniteMapLattice) String ¶
func (l *InfiniteMapLattice) String() string
func (*InfiniteMapLattice) Top ¶
func (l *InfiniteMapLattice) Top() Element
type Interval ¶
type Interval struct {
// contains filtered or unexported fields
}
func (Interval) AbstractValue ¶
func (e Interval) AbstractValue() AbstractValue
func (Interval) AnalysisIntraprocess ¶
func (Interval) AnalysisIntraprocess() AnalysisIntraprocess
func (Interval) AnalysisState ¶
func (Interval) AnalysisState() AnalysisState
func (Interval) ChannelInfo ¶
func (Interval) ChannelInfo() ChannelInfo
func (Interval) Dropped ¶
func (Interval) Dropped() *DroppedTop
func (Interval) Flat ¶
func (Interval) Flat() FlatElement
func (Interval) FlatInt ¶
func (Interval) FlatInt() FlatIntElement
func (Interval) GetFiniteBounds ¶
If bounds are finite, retrieve them. Otherwise panic.
func (Interval) InfiniteMap ¶
func (Interval) InfiniteMap() InfiniteMap
func (Interval) OneElement ¶
func (Interval) OneElement() oneElementLatticeElement
func (Interval) OpOutcomes ¶
func (Interval) OpOutcomes() OpOutcomes
func (Interval) ThreadCharges ¶
func (Interval) ThreadCharges() ThreadCharges
func (Interval) TwoElement ¶
func (Interval) TwoElement() twoElementLatticeElement
type IntervalBound ¶
type IntervalBound interface { String() string // Predicates IsInfinite() bool // Binary relations Eq(IntervalBound) bool Leq(IntervalBound) bool Geq(IntervalBound) bool Lt(IntervalBound) bool Gt(IntervalBound) bool // Binary operations Plus(IntervalBound) IntervalBound Minus(IntervalBound) IntervalBound Mult(IntervalBound) IntervalBound Div(IntervalBound) IntervalBound Max(IntervalBound) IntervalBound Min(IntervalBound) IntervalBound }
type IntervalLattice ¶
type IntervalLattice struct {
// contains filtered or unexported fields
}
func (*IntervalLattice) AbstractValue ¶
func (*IntervalLattice) AbstractValue() *AbstractValueLattice
func (*IntervalLattice) AnalysisIntraprocess ¶
func (*IntervalLattice) AnalysisIntraprocess() *AnalysisIntraprocessLattice
func (*IntervalLattice) Bot ¶
func (*IntervalLattice) Bot() Element
func (*IntervalLattice) ChannelInfo ¶
func (*IntervalLattice) ChannelInfo() *ChannelInfoLattice
func (*IntervalLattice) Eq ¶
func (l1 *IntervalLattice) Eq(l2 Lattice) bool
func (*IntervalLattice) Flat ¶
func (*IntervalLattice) Flat() *FlatLattice
func (*IntervalLattice) FlatFinite ¶
func (*IntervalLattice) FlatFinite() *FlatFiniteLattice
func (*IntervalLattice) FlatInt ¶
func (*IntervalLattice) FlatInt() *FlatIntLattice
func (*IntervalLattice) InfiniteMap ¶
func (*IntervalLattice) InfiniteMap() *InfiniteMapLattice
func (*IntervalLattice) Interval ¶
func (l1 *IntervalLattice) Interval() *IntervalLattice
func (*IntervalLattice) Map ¶
func (*IntervalLattice) Map() *MapLattice
func (*IntervalLattice) Memory ¶
func (*IntervalLattice) Memory() *MemoryLattice
func (*IntervalLattice) OneElement ¶
func (*IntervalLattice) OneElement() *OneElementLattice
func (*IntervalLattice) OpOutcomes ¶
func (*IntervalLattice) OpOutcomes() *OpOutcomesLattice
func (*IntervalLattice) Product ¶
func (*IntervalLattice) Product() *ProductLattice
func (*IntervalLattice) String ¶
func (*IntervalLattice) String() string
func (*IntervalLattice) Top ¶
func (*IntervalLattice) Top() Element
func (*IntervalLattice) TwoElement ¶
func (*IntervalLattice) TwoElement() *TwoElementLattice
type Lattice ¶
type Lattice interface { Top() Element Bot() Element String() string Eq(Lattice) bool // Pre-height returns how many times a lattice is lifted. Preheight() int // These methods allow for quick type conversions. // Suitable, if you know what lattice type to expect. // If the lattice is lifted/dropped, type conversion // will attempt to retrieve the underlying un-lifted/dropped // lattice. Lifted() *Lifted Dropped() *Dropped AbstractValue() *AbstractValueLattice Analysis() *AnalysisLattice AnalysisIntraprocess() *AnalysisIntraprocessLattice ChannelInfo() *ChannelInfoLattice Flat() *FlatLattice FlatFinite() *FlatFiniteLattice FlatInt() *FlatIntLattice Interval() *IntervalLattice Map() *MapLattice InfiniteMap() *InfiniteMapLattice Memory() *MemoryLattice OneElement() *OneElementLattice OpOutcomes() *OpOutcomesLattice Powerset() *Powerset Product() *ProductLattice TwoElement() *TwoElementLattice }
type Lifted ¶
type Lifted struct { Lattice // contains filtered or unexported fields }
func (*Lifted) Flat ¶
func (l *Lifted) Flat() *FlatLattice
func (*Lifted) FlatFinite ¶
func (l *Lifted) FlatFinite() *FlatFiniteLattice
func (*Lifted) FlatInt ¶
func (l *Lifted) FlatInt() *FlatIntLattice
func (*Lifted) InfiniteMap ¶
func (l *Lifted) InfiniteMap() *InfiniteMapLattice
func (*Lifted) Interval ¶
func (l *Lifted) Interval() *IntervalLattice
func (*Lifted) Map ¶
func (l *Lifted) Map() *MapLattice
func (*Lifted) Product ¶
func (l *Lifted) Product() *ProductLattice
func (*Lifted) TwoElement ¶
func (l *Lifted) TwoElement() *TwoElementLattice
type LiftedBot ¶
type LiftedBot struct {
// contains filtered or unexported fields
}
func (LiftedBot) AbstractValue ¶
func (e LiftedBot) AbstractValue() AbstractValue
func (LiftedBot) AnalysisIntraprocess ¶
func (LiftedBot) AnalysisIntraprocess() AnalysisIntraprocess
func (LiftedBot) AnalysisState ¶
func (LiftedBot) AnalysisState() AnalysisState
func (LiftedBot) ChannelInfo ¶
func (LiftedBot) ChannelInfo() ChannelInfo
func (LiftedBot) Dropped ¶
func (LiftedBot) Dropped() *DroppedTop
func (LiftedBot) Flat ¶
func (LiftedBot) Flat() FlatElement
func (LiftedBot) FlatInt ¶
func (LiftedBot) FlatInt() FlatIntElement
func (LiftedBot) InfiniteMap ¶
func (LiftedBot) InfiniteMap() InfiniteMap
func (LiftedBot) OneElement ¶
func (LiftedBot) OneElement() oneElementLatticeElement
func (LiftedBot) OpOutcomes ¶
func (LiftedBot) OpOutcomes() OpOutcomes
func (LiftedBot) ThreadCharges ¶
func (LiftedBot) ThreadCharges() ThreadCharges
func (LiftedBot) TwoElement ¶
func (LiftedBot) TwoElement() twoElementLatticeElement
type Map ¶
type Map struct {
MapBase
}
func (Map) AbstractValue ¶
func (e Map) AbstractValue() AbstractValue
func (Map) AnalysisIntraprocess ¶
func (Map) AnalysisIntraprocess() AnalysisIntraprocess
func (Map) AnalysisState ¶
func (Map) AnalysisState() AnalysisState
func (Map) ChannelInfo ¶
func (Map) ChannelInfo() ChannelInfo
func (Map) Dropped ¶
func (Map) Dropped() *DroppedTop
func (Map) Flat ¶
func (Map) Flat() FlatElement
func (Map) FlatInt ¶
func (Map) FlatInt() FlatIntElement
func (Map) InfiniteMap ¶
func (Map) InfiniteMap() InfiniteMap
func (Map) OneElement ¶
func (Map) OneElement() oneElementLatticeElement
func (Map) OpOutcomes ¶
func (Map) OpOutcomes() OpOutcomes
func (Map) ThreadCharges ¶
func (Map) ThreadCharges() ThreadCharges
func (Map) TwoElement ¶
func (Map) TwoElement() twoElementLatticeElement
type MapBase ¶
type MapBase struct {
// contains filtered or unexported fields
}
func (MapBase) AbstractValue ¶
func (e MapBase) AbstractValue() AbstractValue
func (MapBase) AnalysisIntraprocess ¶
func (MapBase) AnalysisIntraprocess() AnalysisIntraprocess
func (MapBase) AnalysisState ¶
func (MapBase) AnalysisState() AnalysisState
func (MapBase) ChannelInfo ¶
func (MapBase) ChannelInfo() ChannelInfo
func (MapBase) Dropped ¶
func (MapBase) Dropped() *DroppedTop
func (MapBase) Flat ¶
func (MapBase) Flat() FlatElement
func (MapBase) FlatInt ¶
func (MapBase) FlatInt() FlatIntElement
func (MapBase) InfiniteMap ¶
func (MapBase) InfiniteMap() InfiniteMap
func (MapBase) OneElement ¶
func (MapBase) OneElement() oneElementLatticeElement
func (MapBase) OpOutcomes ¶
func (MapBase) OpOutcomes() OpOutcomes
func (MapBase) ThreadCharges ¶
func (MapBase) ThreadCharges() ThreadCharges
func (MapBase) TwoElement ¶
func (MapBase) TwoElement() twoElementLatticeElement
type MapLattice ¶
type MapLattice struct {
// contains filtered or unexported fields
}
func (*MapLattice) Bot ¶
func (l *MapLattice) Bot() Element
func (*MapLattice) Contains ¶
func (e *MapLattice) Contains(x interface{}) bool
Specifies whether the map lattice domain includes x
func (*MapLattice) Domain ¶
func (l *MapLattice) Domain() set
func (*MapLattice) Eq ¶
func (l1 *MapLattice) Eq(l2 Lattice) bool
func (*MapLattice) Map ¶
func (e *MapLattice) Map() *MapLattice
func (*MapLattice) Range ¶
func (l *MapLattice) Range() Lattice
func (*MapLattice) String ¶
func (l *MapLattice) String() string
func (*MapLattice) Top ¶
func (l *MapLattice) Top() Element
type Memory ¶
type Memory struct {
// contains filtered or unexported fields
}
func (Memory) AbstractValue ¶
func (e Memory) AbstractValue() AbstractValue
func (Memory) Allocate ¶
func (w Memory) Allocate(key loc.AllocationSiteLocation, value AbstractValue, forceMultialloc bool) Memory
func (Memory) AnalysisIntraprocess ¶
func (Memory) AnalysisIntraprocess() AnalysisIntraprocess
func (Memory) AnalysisState ¶
func (Memory) AnalysisState() AnalysisState
func (Memory) ChannelInfo ¶
func (Memory) ChannelInfo() ChannelInfo
func (Memory) Difference ¶
Check the differences between two abstract memories
func (Memory) Dropped ¶
func (Memory) Dropped() *DroppedTop
func (Memory) EffectiveSize ¶
Returns the size in terms of non-bottom locations
func (Memory) Filter ¶
func (mem Memory) Filter(pred func(loc.AddressableLocation, AbstractValue) bool) Memory
func (Memory) Flat ¶
func (Memory) Flat() FlatElement
func (Memory) FlatInt ¶
func (Memory) FlatInt() FlatIntElement
func (Memory) ForEach ¶
func (w Memory) ForEach(f func(loc.AddressableLocation, AbstractValue))
func (Memory) Get ¶
func (m Memory) Get(key loc.AddressableLocation) (AbstractValue, bool)
func (Memory) GetOrDefault ¶
func (w Memory) GetOrDefault(key loc.AddressableLocation, dflt AbstractValue) AbstractValue
func (Memory) GetUnsafe ¶
func (w Memory) GetUnsafe(key loc.AddressableLocation) AbstractValue
func (Memory) HeightDiff ¶
Get the difference in height between all elements of two abstract memories.
func (Memory) InfiniteMap ¶
func (Memory) InfiniteMap() InfiniteMap
func (Memory) InjectTopValues ¶
func (mem Memory) InjectTopValues(locs ...loc.AddressableLocation) Memory
Updates memory to have a list of locations bound to top values
func (Memory) IsMultialloc ¶
func (w Memory) IsMultialloc(key loc.AddressableLocation) bool
func (Memory) MaxElementHeight ¶
func (Memory) OneElement ¶
func (Memory) OneElement() oneElementLatticeElement
func (Memory) OpOutcomes ¶
func (Memory) OpOutcomes() OpOutcomes
func (Memory) ThreadCharges ¶
func (Memory) ThreadCharges() ThreadCharges
func (Memory) TwoElement ¶
func (Memory) TwoElement() twoElementLatticeElement
func (Memory) Update ¶
func (w Memory) Update(key loc.AddressableLocation, value AbstractValue) Memory
type MemoryLattice ¶
type MemoryLattice struct {
// contains filtered or unexported fields
}
TODO: Update memory lattice?
func (*MemoryLattice) Bot ¶
func (m *MemoryLattice) Bot() Element
func (*MemoryLattice) Eq ¶
func (m *MemoryLattice) Eq(o Lattice) bool
func (*MemoryLattice) Memory ¶
func (m *MemoryLattice) Memory() *MemoryLattice
func (*MemoryLattice) Top ¶
func (m *MemoryLattice) Top() Element
type MinusInfinity ¶
type MinusInfinity struct{}
func (MinusInfinity) Div ¶
func (MinusInfinity) Div(b2 IntervalBound) IntervalBound
func (MinusInfinity) Eq ¶
func (MinusInfinity) Eq(b2 IntervalBound) bool
func (MinusInfinity) Geq ¶
func (MinusInfinity) Geq(b2 IntervalBound) bool
func (MinusInfinity) Gt ¶
func (MinusInfinity) Gt(IntervalBound) bool
func (MinusInfinity) IsInfinite ¶
func (MinusInfinity) IsInfinite() bool
func (MinusInfinity) Leq ¶
func (MinusInfinity) Leq(IntervalBound) bool
func (MinusInfinity) Lt ¶
func (MinusInfinity) Lt(b2 IntervalBound) bool
func (MinusInfinity) Max ¶
func (MinusInfinity) Max(b2 IntervalBound) IntervalBound
func (MinusInfinity) Min ¶
func (MinusInfinity) Min(b2 IntervalBound) IntervalBound
func (MinusInfinity) Minus ¶
func (MinusInfinity) Minus(b2 IntervalBound) IntervalBound
func (MinusInfinity) Mult ¶
func (MinusInfinity) Mult(b2 IntervalBound) IntervalBound
func (MinusInfinity) Plus ¶
func (MinusInfinity) Plus(b2 IntervalBound) IntervalBound
func (MinusInfinity) String ¶
func (MinusInfinity) String() string
type MutexLattice ¶
type MutexLattice struct {
FlatFiniteLattice
}
func (*MutexLattice) AbstractValue ¶
func (*MutexLattice) AbstractValue() *AbstractValueLattice
func (*MutexLattice) AnalysisIntraprocess ¶
func (*MutexLattice) AnalysisIntraprocess() *AnalysisIntraprocessLattice
func (*MutexLattice) ChannelInfo ¶
func (*MutexLattice) ChannelInfo() *ChannelInfoLattice
func (*MutexLattice) Eq ¶
func (l1 *MutexLattice) Eq(l2 Lattice) bool
func (*MutexLattice) Flat ¶
func (*MutexLattice) Flat() *FlatLattice
func (*MutexLattice) FlatInt ¶
func (*MutexLattice) FlatInt() *FlatIntLattice
func (*MutexLattice) InfiniteMap ¶
func (*MutexLattice) InfiniteMap() *InfiniteMapLattice
func (*MutexLattice) Interval ¶
func (*MutexLattice) Interval() *IntervalLattice
func (*MutexLattice) Map ¶
func (*MutexLattice) Map() *MapLattice
func (*MutexLattice) Memory ¶
func (*MutexLattice) Memory() *MemoryLattice
func (*MutexLattice) OneElement ¶
func (*MutexLattice) OneElement() *OneElementLattice
func (*MutexLattice) OpOutcomes ¶
func (*MutexLattice) OpOutcomes() *OpOutcomesLattice
func (*MutexLattice) Product ¶
func (*MutexLattice) Product() *ProductLattice
func (*MutexLattice) String ¶
func (*MutexLattice) String() string
func (*MutexLattice) TwoElement ¶
func (*MutexLattice) TwoElement() *TwoElementLattice
type OneElementLattice ¶
type OneElementLattice struct {
// contains filtered or unexported fields
}
func (*OneElementLattice) AbstractValue ¶
func (*OneElementLattice) AbstractValue() *AbstractValueLattice
func (*OneElementLattice) AnalysisIntraprocess ¶
func (*OneElementLattice) AnalysisIntraprocess() *AnalysisIntraprocessLattice
func (*OneElementLattice) Bot ¶
func (*OneElementLattice) Bot() Element
func (*OneElementLattice) ChannelInfo ¶
func (*OneElementLattice) ChannelInfo() *ChannelInfoLattice
func (*OneElementLattice) Elements ¶
func (*OneElementLattice) Elements() []Element
func (*OneElementLattice) Eq ¶
func (l1 *OneElementLattice) Eq(l2 Lattice) bool
func (*OneElementLattice) Flat ¶
func (*OneElementLattice) Flat() *FlatLattice
func (*OneElementLattice) FlatFinite ¶
func (*OneElementLattice) FlatFinite() *FlatFiniteLattice
func (*OneElementLattice) FlatInt ¶
func (*OneElementLattice) FlatInt() *FlatIntLattice
func (*OneElementLattice) InfiniteMap ¶
func (*OneElementLattice) InfiniteMap() *InfiniteMapLattice
func (*OneElementLattice) Interval ¶
func (*OneElementLattice) Interval() *IntervalLattice
func (*OneElementLattice) Map ¶
func (*OneElementLattice) Map() *MapLattice
func (*OneElementLattice) Memory ¶
func (*OneElementLattice) Memory() *MemoryLattice
func (*OneElementLattice) OneElement ¶
func (*OneElementLattice) OneElement() *OneElementLattice
func (*OneElementLattice) OpOutcomes ¶
func (*OneElementLattice) OpOutcomes() *OpOutcomesLattice
func (*OneElementLattice) Product ¶
func (*OneElementLattice) Product() *ProductLattice
func (*OneElementLattice) String ¶
func (*OneElementLattice) String() string
func (*OneElementLattice) Top ¶
func (*OneElementLattice) Top() Element
func (*OneElementLattice) TwoElement ¶
func (*OneElementLattice) TwoElement() *TwoElementLattice
type PlusInfinity ¶
type PlusInfinity struct{}
func (PlusInfinity) Div ¶
func (PlusInfinity) Div(b2 IntervalBound) IntervalBound
func (PlusInfinity) Eq ¶
func (PlusInfinity) Eq(b2 IntervalBound) bool
func (PlusInfinity) Geq ¶
func (PlusInfinity) Geq(IntervalBound) bool
func (PlusInfinity) Gt ¶
func (PlusInfinity) Gt(b2 IntervalBound) bool
func (PlusInfinity) IsInfinite ¶
func (PlusInfinity) IsInfinite() bool
func (PlusInfinity) Leq ¶
func (PlusInfinity) Leq(b2 IntervalBound) bool
func (PlusInfinity) Lt ¶
func (PlusInfinity) Lt(IntervalBound) bool
func (PlusInfinity) Max ¶
func (PlusInfinity) Max(IntervalBound) IntervalBound
func (PlusInfinity) Min ¶
func (PlusInfinity) Min(b2 IntervalBound) IntervalBound
func (PlusInfinity) Minus ¶
func (PlusInfinity) Minus(b2 IntervalBound) IntervalBound
func (PlusInfinity) Mult ¶
func (PlusInfinity) Mult(b2 IntervalBound) IntervalBound
func (PlusInfinity) Plus ¶
func (PlusInfinity) Plus(b2 IntervalBound) IntervalBound
func (PlusInfinity) String ¶
func (PlusInfinity) String() string
type PointsTo ¶
type PointsTo struct {
// contains filtered or unexported fields
}
A points to set element contains a set of locations internally represented as a map from location to struct{}. We enforce points-to sets to be in canonical form. That is: no location in the points-to set is represented by another in the same set.
func (PointsTo) AbstractValue ¶
func (e PointsTo) AbstractValue() AbstractValue
func (PointsTo) AnalysisIntraprocess ¶
func (PointsTo) AnalysisIntraprocess() AnalysisIntraprocess
func (PointsTo) AnalysisState ¶
func (PointsTo) AnalysisState() AnalysisState
func (PointsTo) ChannelInfo ¶
func (PointsTo) ChannelInfo() ChannelInfo
func (PointsTo) Dropped ¶
func (PointsTo) Dropped() *DroppedTop
func (PointsTo) Filter ¶
Filter all the loctions in a points-to set. Keep only those that satisfy the predicate
func (PointsTo) FilterNilCB ¶
Return a points-to set where the nil location has been removed. If the nil location is found in the points-to set, execute the provided procedure
func (PointsTo) Flat ¶
func (PointsTo) Flat() FlatElement
func (PointsTo) FlatInt ¶
func (PointsTo) FlatInt() FlatIntElement
func (PointsTo) InfiniteMap ¶
func (PointsTo) InfiniteMap() InfiniteMap
func (PointsTo) NonNilEntries ¶
func (PointsTo) OneElement ¶
func (PointsTo) OneElement() oneElementLatticeElement
func (PointsTo) OpOutcomes ¶
func (PointsTo) OpOutcomes() OpOutcomes
func (PointsTo) ThreadCharges ¶
func (PointsTo) ThreadCharges() ThreadCharges
func (PointsTo) TwoElement ¶
func (PointsTo) TwoElement() twoElementLatticeElement
type PointsToLattice ¶
type PointsToLattice struct {
// contains filtered or unexported fields
}
func (*PointsToLattice) AbstractValue ¶
func (*PointsToLattice) AbstractValue() *AbstractValueLattice
func (*PointsToLattice) AnalysisIntraprocess ¶
func (*PointsToLattice) AnalysisIntraprocess() *AnalysisIntraprocessLattice
func (*PointsToLattice) Bot ¶
func (m *PointsToLattice) Bot() Element
func (*PointsToLattice) ChannelInfo ¶
func (*PointsToLattice) ChannelInfo() *ChannelInfoLattice
func (*PointsToLattice) Flat ¶
func (*PointsToLattice) Flat() *FlatLattice
func (*PointsToLattice) FlatFinite ¶
func (*PointsToLattice) FlatFinite() *FlatFiniteLattice
func (*PointsToLattice) FlatInt ¶
func (*PointsToLattice) FlatInt() *FlatIntLattice
func (*PointsToLattice) InfiniteMap ¶
func (*PointsToLattice) InfiniteMap() *InfiniteMapLattice
func (*PointsToLattice) Interval ¶
func (*PointsToLattice) Interval() *IntervalLattice
func (*PointsToLattice) Map ¶
func (*PointsToLattice) Map() *MapLattice
func (*PointsToLattice) Memory ¶
func (*PointsToLattice) Memory() *MemoryLattice
func (*PointsToLattice) OneElement ¶
func (*PointsToLattice) OneElement() *OneElementLattice
func (*PointsToLattice) OpOutcomes ¶
func (*PointsToLattice) OpOutcomes() *OpOutcomesLattice
func (*PointsToLattice) Product ¶
func (*PointsToLattice) Product() *ProductLattice
func (*PointsToLattice) String ¶
func (m *PointsToLattice) String() string
func (*PointsToLattice) Top ¶
func (m *PointsToLattice) Top() Element
func (*PointsToLattice) TwoElement ¶
func (*PointsToLattice) TwoElement() *TwoElementLattice
type Powerset ¶
type Powerset struct {
// contains filtered or unexported fields
}
func (*Powerset) AbstractValue ¶
func (*Powerset) AbstractValue() *AbstractValueLattice
func (*Powerset) AnalysisIntraprocess ¶
func (*Powerset) AnalysisIntraprocess() *AnalysisIntraprocessLattice
func (*Powerset) ChannelInfo ¶
func (*Powerset) ChannelInfo() *ChannelInfoLattice
func (*Powerset) Flat ¶
func (*Powerset) Flat() *FlatLattice
func (*Powerset) FlatFinite ¶
func (*Powerset) FlatFinite() *FlatFiniteLattice
func (*Powerset) FlatInt ¶
func (*Powerset) FlatInt() *FlatIntLattice
func (*Powerset) InfiniteMap ¶
func (*Powerset) InfiniteMap() *InfiniteMapLattice
func (*Powerset) Interval ¶
func (*Powerset) Interval() *IntervalLattice
func (*Powerset) Map ¶
func (*Powerset) Map() *MapLattice
func (*Powerset) Memory ¶
func (*Powerset) Memory() *MemoryLattice
func (*Powerset) OneElement ¶
func (*Powerset) OneElement() *OneElementLattice
func (*Powerset) OpOutcomes ¶
func (*Powerset) OpOutcomes() *OpOutcomesLattice
func (*Powerset) Product ¶
func (*Powerset) Product() *ProductLattice
func (*Powerset) TwoElement ¶
func (*Powerset) TwoElement() *TwoElementLattice
type Product ¶
type Product struct {
// contains filtered or unexported fields
}
func (Product) AbstractValue ¶
func (e Product) AbstractValue() AbstractValue
func (Product) AnalysisIntraprocess ¶
func (Product) AnalysisIntraprocess() AnalysisIntraprocess
func (Product) AnalysisState ¶
func (Product) AnalysisState() AnalysisState
func (Product) ChannelInfo ¶
func (Product) ChannelInfo() ChannelInfo
func (Product) Dropped ¶
func (Product) Dropped() *DroppedTop
func (Product) Flat ¶
func (Product) Flat() FlatElement
func (Product) FlatInt ¶
func (Product) FlatInt() FlatIntElement
func (Product) InfiniteMap ¶
func (Product) InfiniteMap() InfiniteMap
func (Product) OneElement ¶
func (Product) OneElement() oneElementLatticeElement
func (Product) OpOutcomes ¶
func (Product) OpOutcomes() OpOutcomes
func (Product) ThreadCharges ¶
func (Product) ThreadCharges() ThreadCharges
func (Product) TwoElement ¶
func (Product) TwoElement() twoElementLatticeElement
type ProductLattice ¶
type ProductLattice struct {
// contains filtered or unexported fields
}
func (*ProductLattice) AbstractValue ¶
func (*ProductLattice) AbstractValue() *AbstractValueLattice
func (*ProductLattice) AnalysisIntraprocess ¶
func (*ProductLattice) AnalysisIntraprocess() *AnalysisIntraprocessLattice
func (*ProductLattice) Bot ¶
func (p *ProductLattice) Bot() Element
func (*ProductLattice) ChannelInfo ¶
func (*ProductLattice) ChannelInfo() *ChannelInfoLattice
func (*ProductLattice) Eq ¶
func (l1 *ProductLattice) Eq(l2 Lattice) bool
func (*ProductLattice) Extend ¶
func (p *ProductLattice) Extend(l Lattice)
TODO: If this is needed we can add some extra code in Get/Update to handle
lazy updates
func (*ProductLattice) Flat ¶
func (*ProductLattice) Flat() *FlatLattice
func (*ProductLattice) FlatFinite ¶
func (*ProductLattice) FlatFinite() *FlatFiniteLattice
func (*ProductLattice) FlatInt ¶
func (*ProductLattice) FlatInt() *FlatIntLattice
func (*ProductLattice) Get ¶
func (p *ProductLattice) Get(i int) Lattice
func (*ProductLattice) InfiniteMap ¶
func (*ProductLattice) InfiniteMap() *InfiniteMapLattice
func (*ProductLattice) Interval ¶
func (*ProductLattice) Interval() *IntervalLattice
func (*ProductLattice) Lattices ¶
func (p *ProductLattice) Lattices() []Lattice
func (*ProductLattice) Map ¶
func (*ProductLattice) Map() *MapLattice
func (*ProductLattice) Memory ¶
func (*ProductLattice) Memory() *MemoryLattice
func (*ProductLattice) OneElement ¶
func (*ProductLattice) OneElement() *OneElementLattice
func (*ProductLattice) OpOutcomes ¶
func (*ProductLattice) OpOutcomes() *OpOutcomesLattice
func (*ProductLattice) Product ¶
func (p *ProductLattice) Product() *ProductLattice
func (*ProductLattice) Size ¶
func (p *ProductLattice) Size() int
func (*ProductLattice) String ¶
func (p *ProductLattice) String() string
func (*ProductLattice) Top ¶
func (p *ProductLattice) Top() Element
func (*ProductLattice) TwoElement ¶
func (*ProductLattice) TwoElement() *TwoElementLattice
type RWMutexLattice ¶
type RWMutexLattice struct {
ProductLattice
}
func (*RWMutexLattice) AbstractValue ¶
func (*RWMutexLattice) AbstractValue() *AbstractValueLattice
func (*RWMutexLattice) AnalysisIntraprocess ¶
func (*RWMutexLattice) AnalysisIntraprocess() *AnalysisIntraprocessLattice
func (RWMutexLattice) Bot ¶
func (l RWMutexLattice) Bot() Element
func (*RWMutexLattice) ChannelInfo ¶
func (*RWMutexLattice) ChannelInfo() *ChannelInfoLattice
func (RWMutexLattice) Eq ¶
func (l1 RWMutexLattice) Eq(l2 Lattice) bool
func (*RWMutexLattice) Flat ¶
func (*RWMutexLattice) Flat() *FlatLattice
func (*RWMutexLattice) FlatFinite ¶
func (*RWMutexLattice) FlatFinite() *FlatFiniteLattice
func (*RWMutexLattice) FlatInt ¶
func (*RWMutexLattice) FlatInt() *FlatIntLattice
func (*RWMutexLattice) InfiniteMap ¶
func (*RWMutexLattice) InfiniteMap() *InfiniteMapLattice
func (*RWMutexLattice) Interval ¶
func (*RWMutexLattice) Interval() *IntervalLattice
func (*RWMutexLattice) Map ¶
func (*RWMutexLattice) Map() *MapLattice
func (*RWMutexLattice) Memory ¶
func (*RWMutexLattice) Memory() *MemoryLattice
func (*RWMutexLattice) OneElement ¶
func (*RWMutexLattice) OneElement() *OneElementLattice
func (*RWMutexLattice) OpOutcomes ¶
func (*RWMutexLattice) OpOutcomes() *OpOutcomesLattice
func (RWMutexLattice) String ¶
func (RWMutexLattice) String() string
func (RWMutexLattice) Top ¶
func (l RWMutexLattice) Top() Element
func (*RWMutexLattice) TwoElement ¶
func (*RWMutexLattice) TwoElement() *TwoElementLattice
type Set ¶
type Set struct {
// contains filtered or unexported fields
}
func (Set) AbstractValue ¶
func (e Set) AbstractValue() AbstractValue
func (Set) AnalysisIntraprocess ¶
func (Set) AnalysisIntraprocess() AnalysisIntraprocess
func (Set) AnalysisState ¶
func (Set) AnalysisState() AnalysisState
func (Set) ChannelInfo ¶
func (Set) ChannelInfo() ChannelInfo
func (Set) Dropped ¶
func (Set) Dropped() *DroppedTop
func (Set) Flat ¶
func (Set) Flat() FlatElement
func (Set) FlatInt ¶
func (Set) FlatInt() FlatIntElement
func (Set) InfiniteMap ¶
func (Set) InfiniteMap() InfiniteMap
func (Set) OneElement ¶
func (Set) OneElement() oneElementLatticeElement
func (Set) OpOutcomes ¶
func (Set) OpOutcomes() OpOutcomes
func (Set) ThreadCharges ¶
func (Set) ThreadCharges() ThreadCharges
func (Set) TwoElement ¶
func (Set) TwoElement() twoElementLatticeElement
type TwoElementLattice ¶
type TwoElementLattice struct {
// contains filtered or unexported fields
}
func (*TwoElementLattice) AbstractValue ¶
func (*TwoElementLattice) AbstractValue() *AbstractValueLattice
func (*TwoElementLattice) AnalysisIntraprocess ¶
func (*TwoElementLattice) AnalysisIntraprocess() *AnalysisIntraprocessLattice
func (*TwoElementLattice) Bot ¶
func (*TwoElementLattice) Bot() Element
func (*TwoElementLattice) ChannelInfo ¶
func (*TwoElementLattice) ChannelInfo() *ChannelInfoLattice
func (*TwoElementLattice) Elements ¶
func (*TwoElementLattice) Elements() []Element
func (*TwoElementLattice) Eq ¶
func (l1 *TwoElementLattice) Eq(l2 Lattice) bool
func (*TwoElementLattice) Flat ¶
func (*TwoElementLattice) Flat() *FlatLattice
func (*TwoElementLattice) FlatFinite ¶
func (*TwoElementLattice) FlatFinite() *FlatFiniteLattice
func (*TwoElementLattice) FlatInt ¶
func (*TwoElementLattice) FlatInt() *FlatIntLattice
func (*TwoElementLattice) InfiniteMap ¶
func (*TwoElementLattice) InfiniteMap() *InfiniteMapLattice
func (*TwoElementLattice) Interval ¶
func (*TwoElementLattice) Interval() *IntervalLattice
func (*TwoElementLattice) Map ¶
func (*TwoElementLattice) Map() *MapLattice
func (*TwoElementLattice) Memory ¶
func (*TwoElementLattice) Memory() *MemoryLattice
func (*TwoElementLattice) OneElement ¶
func (*TwoElementLattice) OneElement() *OneElementLattice
func (*TwoElementLattice) OpOutcomes ¶
func (*TwoElementLattice) OpOutcomes() *OpOutcomesLattice
func (*TwoElementLattice) Product ¶
func (*TwoElementLattice) Product() *ProductLattice
func (*TwoElementLattice) String ¶
func (*TwoElementLattice) String() string
func (*TwoElementLattice) Top ¶
func (*TwoElementLattice) Top() Element
func (*TwoElementLattice) TwoElement ¶
func (*TwoElementLattice) TwoElement() *TwoElementLattice
Source Files ¶
- 1-elem-lattice.go
- 1-elem.go
- 2-elem-lattice.go
- 2-elem.go
- analysis-intraprocess.go
- analysis-state.go
- analysis.go
- channelinfo.go
- charges-inter.go
- charges-intra.go
- common-lattice.go
- common.go
- cond.go
- consts.go
- drop-top.go
- drop.go
- factories.go
- flat-element.go
- flat-lattice.go
- interval-lattice.go
- interval.go
- lift-bot.go
- lift.go
- location-helpers.go
- map-base.go
- map-infinite-lattice.go
- map-infinite.go
- map-lattice.go
- map.go
- memory-analysis.go
- memory-ops.go
- memory.go
- mutex.go
- op-outcomes.go
- pointstoset-lattice.go
- pointstoset.go
- powerset-element.go
- powerset.go
- product-lattice.go
- product.go
- rwmutex.go
- value-helpers.go
- value-lattice.go
- value.go