pkg opconst, const Add BinaryOp
pkg opconst, const BitAnd BinaryOp
pkg opconst, const BitNot UnaryOp
pkg opconst, const BitOr BinaryOp
pkg opconst, const BitXor BinaryOp
pkg opconst, const Div BinaryOp
pkg opconst, const EQ BinaryOp
pkg opconst, const GE BinaryOp
pkg opconst, const GT BinaryOp
pkg opconst, const InvalidBinaryOp BinaryOp
pkg opconst, const InvalidUnaryOp UnaryOp
pkg opconst, const LE BinaryOp
pkg opconst, const LT BinaryOp
pkg opconst, const LeftShift BinaryOp
pkg opconst, const LogicAnd BinaryOp
pkg opconst, const LogicNot UnaryOp
pkg opconst, const LogicOr BinaryOp
pkg opconst, const Mod BinaryOp
pkg opconst, const Mul BinaryOp
pkg opconst, const NE BinaryOp
pkg opconst, const Neg UnaryOp
pkg opconst, const Pos UnaryOp
pkg opconst, const RightShift BinaryOp
pkg opconst, const Sub BinaryOp
pkg opconst, func Boolean(bool) Const
pkg opconst, func Complex(*big.Rat, *big.Rat) Const
pkg opconst, func EvalBinary(BinaryOp, Const, Const) (Const, error)
pkg opconst, func EvalUnary(UnaryOp, Const) (Const, error)
pkg opconst, func FromValue(*vdl.Value) Const
pkg opconst, func Integer(*big.Int) Const
pkg opconst, func Rational(*big.Rat) Const
pkg opconst, func String(string) Const
pkg opconst, func ToBinaryOp(string) BinaryOp
pkg opconst, func ToUnaryOp(string) UnaryOp
pkg opconst, method (BinaryOp) String() string
pkg opconst, method (Const) Convert(*vdl.Type) (Const, error)
pkg opconst, method (Const) IsValid() bool
pkg opconst, method (Const) String() string
pkg opconst, method (Const) ToValue() (*vdl.Value, error)
pkg opconst, method (Const) Type() *vdl.Type
pkg opconst, method (UnaryOp) String() string
pkg opconst, type BinaryOp uint
pkg opconst, type Const struct
pkg opconst, type UnaryOp uint
