golang.org/x/tools@v0.21.0/internal/refactor/inline/testdata/exprstmt.txtar (about)

     1  Inlining an expression into an ExprStmt.
     2  Call and receive expressions can be inlined directly
     3  (though calls to only some builtins can be reduced).
     4  All other expressions are inlined as "_ = expr".
     5  
     6  -- go.mod --
     7  module testdata
     8  go 1.12
     9  
    10  -- a/call.go --
    11  package a
    12  
    13  func _() {
    14  	call() //@ inline(re"call", call)
    15  }
    16  
    17  func call() int { return recv() }
    18  
    19  -- call --
    20  package a
    21  
    22  func _() {
    23  	recv() //@ inline(re"call", call)
    24  }
    25  
    26  func call() int { return recv() }
    27  
    28  -- a/recv.go --
    29  package a
    30  
    31  func _() {
    32  	recv() //@ inline(re"recv", recv)
    33  }
    34  
    35  func recv() int { return <-(chan int)(nil) }
    36  
    37  -- recv --
    38  package a
    39  
    40  func _() {
    41  	<-(chan int)(nil) //@ inline(re"recv", recv)
    42  }
    43  
    44  func recv() int { return <-(chan int)(nil) }
    45  
    46  -- a/constant.go --
    47  package a
    48  
    49  func _() {
    50  	constant() //@ inline(re"constant", constant)
    51  }
    52  
    53  func constant() int { return 0 }
    54  
    55  -- constant --
    56  package a
    57  
    58  func _() {
    59  	_ = 0 //@ inline(re"constant", constant)
    60  }
    61  
    62  func constant() int { return 0 }
    63  
    64  -- a/builtin.go --
    65  package a
    66  
    67  func _() {
    68  	builtin() //@ inline(re"builtin", builtin)
    69  }
    70  
    71  func builtin() int { return len("") }
    72  
    73  -- builtin --
    74  package a
    75  
    76  func _() {
    77  	_ = len("") //@ inline(re"builtin", builtin)
    78  }
    79  
    80  func builtin() int { return len("") }
    81  
    82  -- a/copy.go --
    83  package a
    84  
    85  func _() {
    86  	_copy() //@ inline(re"copy", copy)
    87  }
    88  
    89  func _copy() int { return copy([]int(nil), []int(nil)) }
    90  
    91  -- copy --
    92  package a
    93  
    94  func _() {
    95  	copy([]int(nil), []int(nil)) //@ inline(re"copy", copy)
    96  }
    97  
    98  func _copy() int { return copy([]int(nil), []int(nil)) }
    99