isContextWithCancel 
                  function
                  
                  #
               
               
               isContextWithCancel reports whether n is one of the qualified identifiers
context.With{Cancel,Timeout,Deadline}.
               
               func isContextWithCancel(info *types.Info, n ast.Node) bool
            
            
            
               
                  lostCancelPath 
                  function
                  
                  #
               
               
               lostCancelPath finds a path through the CFG, from stmt (which defines
the 'cancel' variable v) to a return statement, that doesn't "use" v.
If it finds one, it returns the return statement (which may be synthetic).
sig is the function's type, if known.
               
               func lostCancelPath(pass *analysis.Pass, g *cfg.CFG, v *types.Var, stmt ast.Node, sig *types.Signature) *ast.ReturnStmt
            
            
            
               
                  run 
                  function
                  
                  #
               
               
               checkLostCancel reports a failure to the call the cancel function
returned by context.WithCancel, either because the variable was
assigned to the blank identifier, or because there exists a
control-flow path from the call to a return statement and that path
does not "use" the cancel function.  Any reference to the variable
counts as a use, even within a nested function literal.
If the variable's scope is larger than the function
containing the assignment, we assume that other uses exist.
checkLostCancel analyzes a single named or literal function.
               
               func run(pass *analysis.Pass) (interface{}, error)