astutil

package
v5.0.3 Latest Latest
Warning

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

Go to latest
Published: Aug 5, 2026 License: MIT Imports: 12 Imported by: 0

Documentation

Overview

Package astutil provides AST file parsing utilities for the analyzer.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type FileParser

type FileParser struct {
	// contains filtered or unexported fields
}

FileParser orchestrates AST parsing by triggering registered callbacks. Each file is processed only once.

Safe for concurrent use.

func NewFileParser

func NewFileParser(opts ...Option) *FileParser

func (*FileParser) OnFileParsed

func (p *FileParser) OnFileParsed(cb ParseCallback)

func (*FileParser) ProcessFilename

func (p *FileParser) ProcessFilename(fset *token.FileSet, filename string) []analysis.Diagnostic

ProcessFilename parses a file from disk and triggers all callbacks. Returns nil if already processed or if the file belongs to the Go distribution.

func (*FileParser) ProcessFiles

func (p *FileParser) ProcessFiles(fset *token.FileSet, files ...*ast.File) []analysis.Diagnostic

ProcessFiles triggers all callbacks for each provided AST file. Already-parsed files are skipped.

func (*FileParser) Stats

func (p *FileParser) Stats() (hits, misses, size uint64)

type Option

type Option func(*FileParser)

func WithParseFlags

func WithParseFlags(flags parser.Mode) Option

WithParseFlags sets parser flags for file parsing. Default: parser.ParseComments | parser.SkipObjectResolution.

type ParseCallback

type ParseCallback func(fset *token.FileSet, file *ast.File) []analysis.Diagnostic

Jump to

Keyboard shortcuts

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