go/ast.UnaryExpr.Op (field)
23 uses
go/ast (current package)
ast.go#L396: Op token.Token // operator
go/doc
exports.go#L184: if t.Op == token.TILDE { // approximation element
go/parser
parser.go#L1111: t.Op = token.TILDE
parser.go#L1736: return &ast.UnaryExpr{OpPos: pos, Op: op, X: p.checkExpr(x)}
parser.go#L1782: return &ast.UnaryExpr{OpPos: arrow, Op: token.ARROW, X: p.checkExpr(x)}
parser.go#L1910: y = []ast.Expr{&ast.UnaryExpr{OpPos: pos, Op: token.RANGE, X: p.parseRhs()}}
parser.go#L2364: y := []ast.Expr{&ast.UnaryExpr{OpPos: pos, Op: token.RANGE, X: p.parseRhs()}}
resolver.go#L432: Rhs: []ast.Expr{&ast.UnaryExpr{Op: token.RANGE, X: n.X}},
go/printer
nodes.go#L668: switch e.Op.String() + r.Op.String() {
nodes.go#L838: p.print(x.Op)
nodes.go#L839: if x.Op == token.RANGE {
go/types
decl.go#L658: wrap = op.Op == token.TILDE
expr.go#L127: if int(e.Op) < len(op2str1) {
expr.go#L128: return op2str1[e.Op]
expr.go#L162: switch e.Op {
expr.go#L200: if !check.op(unaryOpPredicates, x, e.Op) {
expr.go#L214: x.val = constant.UnaryOp(e.Op, x.val, prec)
expr.go#L216: check.overflow(x, e.Op, x.Pos())
expr.go#L1619: if e.Op == token.ARROW {
exprstring.go#L115: buf.WriteString(x.Op.String())
stmt.go#L779: if x, _ := unparen(rhs).(*ast.UnaryExpr); x != nil && x.Op == token.ARROW {
union.go#L141: if op, _ := x.(*ast.UnaryExpr); op != nil && op.Op == token.TILDE {
gotest.tools/v3/internal/assert
assert.go#L144: if unaryExpr, ok := expr.(*ast.UnaryExpr); ok && unaryExpr.Op == token.NOT {