package astutil

import "cuelang.org/go/internal/golangorgx/gopls/util/astutil"

Package astutil provides various AST utility functions for gopls.

Index

Functions

func NodeContains

func NodeContains(n ast.Node, pos token.Pos) bool

NodeContains returns true if a node encloses a given position pos.

Precondition: n must not be nil.

func PurgeFuncBodies

func PurgeFuncBodies(src []byte) []byte

PurgeFuncBodies returns a copy of src in which the contents of each outermost {...} region except struct and interface types have been deleted. This reduces the amount of work required to parse the top-level declarations.

PurgeFuncBodies does not preserve newlines or position information. Also, if the input is invalid, parsing the output of PurgeFuncBodies may result in a different tree due to its effects on parser error recovery.

func UnpackRecv

func UnpackRecv(rtyp ast.Expr) (ptr bool, rname *ast.Ident, tparams []*ast.Ident)

UnpackRecv unpacks a receiver type expression, reporting whether it is a pointer recever, along with the type name identifier and any receiver type parameter identifiers.

Copied (with modifications) from go/types.

Source Files

purge.go util.go

Version
v0.12.0 (latest)
Published
Jan 30, 2025
Platform
linux/amd64
Imports
6 packages
Last checked
8 hours ago

Tools for package owners.