Text file src/cmd/gofmt/testdata/rewrite4.input

     1  //gofmt -r=(x)->x
     2  
     3  // Copyright 2012 The Go Authors. All rights reserved.
     4  // Use of this source code is governed by a BSD-style
     5  // license that can be found in the LICENSE file.
     6  
     7  // Rewriting of parenthesized expressions (x) -> x
     8  // must not drop parentheses if that would lead to
     9  // wrong association of the operands.
    10  // Was issue 1847.
    11  
    12  package main
    13  
    14  // From example 1 of issue 1847.
    15  func _() {
    16  	var t = (&T{1000}).Id()
    17  }
    18  
    19  // From example 2 of issue 1847.
    20  func _() {
    21         fmt.Println((*xpp).a)
    22  }
    23  
    24  // Some more test cases.
    25  func _() {
    26  	_ = (-x).f
    27  	_ = (*x).f
    28  	_ = (&x).f
    29  	_ = (!x).f
    30  	_ = (-x.f)
    31  	_ = (*x.f)
    32  	_ = (&x.f)
    33  	_ = (!x.f)
    34  	(-x).f()
    35  	(*x).f()
    36  	(&x).f()
    37  	(!x).f()
    38  	_ = (-x.f())
    39  	_ = (*x.f())
    40  	_ = (&x.f())
    41  	_ = (!x.f())
    42  
    43  	_ = ((-x)).f
    44  	_ = ((*x)).f
    45  	_ = ((&x)).f
    46  	_ = ((!x)).f
    47  	_ = ((-x.f))
    48  	_ = ((*x.f))
    49  	_ = ((&x.f))
    50  	_ = ((!x.f))
    51  	((-x)).f()
    52  	((*x)).f()
    53  	((&x)).f()
    54  	((!x)).f()
    55  	_ = ((-x.f()))
    56  	_ = ((*x.f()))
    57  	_ = ((&x.f()))
    58  	_ = ((!x.f()))
    59  
    60  	_ = -(x).f
    61  	_ = *(x).f
    62  	_ = &(x).f
    63  	_ = !(x).f
    64  	_ = -x.f
    65  	_ = *x.f
    66  	_ = &x.f
    67  	_ = !x.f
    68  	_ = -(x).f()
    69  	_ = *(x).f()
    70  	_ = &(x).f()
    71  	_ = !(x).f()
    72  	_ = -x.f()
    73  	_ = *x.f()
    74  	_ = &x.f()
    75  	_ = !x.f()
    76  }
    77  

View as plain text