fillstruct

package
v0.15.3 Latest Latest
Warning

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

Go to latest
Published: Apr 12, 2024 License: BSD-3-Clause Imports: 14 Imported by: 0

Documentation

Overview

Package fillstruct defines an Analyzer that automatically fills in a struct declaration with zero value elements for each field.

The analyzer's diagnostic is merely a prompt. The actual fix is created by a separate direct call from gopls to the SuggestedFixes function. Tests of Analyzer.Run can be found in ./testdata/src. Tests of the SuggestedFixes logic live in ../../testdata/fillstruct.

Index

Constants

View Source
const FixCategory = "fillstruct" // recognized by gopls ApplyFix

Variables

This section is empty.

Functions

func Diagnose

func Diagnose(inspect *inspector.Inspector, start, end token.Pos, pkg *types.Package, info *types.Info) []analysis.Diagnostic

Diagnose computes diagnostics for fillable struct literals overlapping with the provided start and end position.

The diagnostic contains a lazy fix; the actual patch is computed (via the ApplyFix command) by a call to SuggestedFix.

If either start or end is invalid, the entire package is inspected.

func SuggestedFix

func SuggestedFix(fset *token.FileSet, start, end token.Pos, content []byte, file *ast.File, pkg *types.Package, info *types.Info) (*token.FileSet, *analysis.SuggestedFix, error)

SuggestedFix computes the suggested fix for the kinds of diagnostics produced by the Analyzer above.

Types

This section is empty.

Jump to

Keyboard shortcuts

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