github.com/jd-ly/tools@v0.5.7/internal/lsp/testdata/callhierarchy/callhierarchy.go (about)

     1  // Copyright 2020 The Go Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  package callhierarchy
     6  
     7  import "github.com/jd-ly/tools/internal/lsp/callhierarchy/outgoing"
     8  
     9  func a() { //@mark(hierarchyA, "a")
    10  	D()
    11  }
    12  
    13  func b() { //@mark(hierarchyB, "b")
    14  	D()
    15  }
    16  
    17  // C is an exported function
    18  func C() { //@mark(hierarchyC, "C")
    19  	D()
    20  	D()
    21  }
    22  
    23  // To test hierarchy across function literals
    24  var x = func() { //@mark(hierarchyLiteral, "func"),mark(hierarchyLiteralOut, "x")
    25  	D()
    26  }
    27  
    28  // D is exported to test incoming/outgoing calls across packages
    29  func D() { //@mark(hierarchyD, "D"),incomingcalls(hierarchyD, hierarchyA, hierarchyB, hierarchyC, hierarchyLiteral, incomingA),outgoingcalls(hierarchyD, hierarchyE, hierarchyF, hierarchyG, hierarchyLiteralOut, outgoingB)
    30  	e()
    31  	x()
    32  	F()
    33  	g()
    34  	outgoing.B()
    35  }
    36  
    37  func e() {} //@mark(hierarchyE, "e")
    38  
    39  // F is an exported function
    40  func F() {} //@mark(hierarchyF, "F")
    41  
    42  func g() {} //@mark(hierarchyG, "g")