...

Source file src/golang.org/x/tools/refactor/eg/testdata/F1.go

Documentation: golang.org/x/tools/refactor/eg/testdata

     1  package F1
     2  
     3  import "sync"
     4  
     5  func example(n int) {
     6  	var x struct {
     7  		mutex sync.RWMutex
     8  	}
     9  
    10  	var y struct {
    11  		sync.RWMutex
    12  	}
    13  
    14  	type l struct {
    15  		sync.RWMutex
    16  	}
    17  
    18  	var z struct {
    19  		l
    20  	}
    21  
    22  	var a struct {
    23  		*l
    24  	}
    25  
    26  	var b struct{ Lock func() }
    27  
    28  	// Match
    29  	x.mutex.Lock()
    30  
    31  	// Match
    32  	y.Lock()
    33  
    34  	// Match indirect
    35  	z.Lock()
    36  
    37  	// Should be no match however currently matches due to:
    38  	// https://golang.org/issue/8584
    39  	// Will start failing when this is fixed then just change golden to
    40  	// No match pointer indirect
    41  	// a.Lock()
    42  	a.Lock()
    43  
    44  	// No match
    45  	b.Lock()
    46  }
    47  

View as plain text