shadow

package
v0.26.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 4, 2024 License: BSD-3-Clause Imports: 8 Imported by: 397

Documentation

Overview

Package shadow defines an Analyzer that checks for shadowed variables.

Analyzer shadow

shadow: check for possible unintended shadowing of variables

This analyzer check for shadowed variables. A shadowed variable is a variable declared in an inner scope with the same name and type as a variable in an outer scope, and where the outer variable is mentioned after the inner one is declared.

(This definition can be refined; the module generates too many false positives and is not yet enabled by default.)

For example:

func BadRead(f *os.File, buf []byte) error {
	var err error
	for {
		n, err := f.Read(buf) // shadows the function variable 'err'
		if err != nil {
			break // causes return of wrong value
		}
		foo(buf)
	}
	return err
}

Index

Constants

This section is empty.

Variables

View Source
var Analyzer = &analysis.Analyzer{
	Name:     "shadow",
	Doc:      analysisutil.MustExtractDoc(doc, "shadow"),
	URL:      "https://pkg.go.dev/golang.org/x/tools/go/analysis/passes/shadow",
	Requires: []*analysis.Analyzer{inspect.Analyzer},
	Run:      run,
}

Functions

This section is empty.

Types

This section is empty.

Directories

Path Synopsis
cmd
shadow command

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL