// Copyright 2009 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package expressions type T struct { x, y, z int } var ( a, b, c, d, e int under_bar int longIdentifier1, longIdentifier2, longIdentifier3 int t0, t1, t2 T s string p *int ) func _() { // no spaces around simple or parenthesized expressions _ = (a+0) _ = a+b _ = a+b+c _ = a+b-c _ = a-b-c _ = a+(b*c) _ = a+(b/c) _ = a-(b%c) _ = 1+a _ = a+1 _ = a+b+1 _ = s[a] _ = s[a:] _ = s[:b] _ = s[1:2] _ = s[a:b] _ = s[0:len(s)] _ = s[0]<<1 _ = (s[0]<<1)&0xf _ = s[0] << 2 | s[1] >> 4 _ = "foo"+s _ = s+"foo" _ = 'a'+'b' _ = len(s)/2 _ = len(t0.x)/a // spaces around expressions of different precedence or expressions containing spaces _ = a + -b _ = a - ^b _ = a / *p _ = a + b*c _ = 1 + b*c _ = a + 2*c _ = a + c*2 _ = 1 + 2*3 _ = s[1 : 2*3] _ = s[a : b-c] _ = s[0:] _ = s[a+b] _ = s[: b-c] _ = s[a+b :] _ = a[a< b _ = a >= b _ = a < b _ = a <= b _ = a < b && c > d _ = a < b || c > d // spaces around "long" operands _ = a + longIdentifier1 _ = longIdentifier1 + a _ = longIdentifier1 + longIdentifier2 * longIdentifier3 _ = s + "a longer string" // some selected cases _ = a + t0.x _ = a + t0.x + t1.x * t2.x _ = a + b + c + d + e + 2*3 _ = a + b + c + 2*3 + d + e _ = (a+b+c)*2 _ = a - b + c - d + (a+b+c) + d&e _ = under_bar-1 _ = Open(dpath + "/file", O_WRONLY | O_CREAT, 0666) _ = int(c0&_Mask4)<<18 | int(c1&_Maskx)<<12 | int(c2&_Maskx)<<6 | int(c3&_Maskx) } func _() { a+b a+b+c a+b*c a+(b*c) (a+b)*c a+(b*c*d) a+(b*c+d) 1<>4 b.buf = b.buf[0:b.off+m+n] b.buf = b.buf[0:b.off+m*n] f(b.buf[0:b.off+m+n]) signed += ' '*8 tw.octal(header[148:155], chksum) x > 0 && i >= 0 x1, x0 := x>>w2, x&m2 z0 = t1<>w2)>>w2 q1, r1 := x1/d1, x1%d1 r1 = r1*b2 | x0>>w2 x1 = (x1<>(uint(w)-z)) x1 = x1<>(uint(w)-z) buf[0:len(buf)+1] buf[0:n+1] a,b = b,a a = b+c a = b*c+d a*b+c a-b-c a-(b-c) a-b*c a-(b*c) a*b/c a/ *b x[a|^b] x[a/ *b] a& ^b a+ +b a- -b x[a*-b] x[a+ +b] x^y^z b[a>>24] ^ b[(a>>16)&0xFF] ^ b[(a>>8)&0xFF] ^ b[a&0xFF] len(longVariableName)*2 token(matchType + xlength<