Deprecated: Use the "google.golang.org/protobuf" module instead.

package remap

import "github.com/golang/protobuf/protoc-gen-go/generator/internal/remap"

Package remap handles tracking the locations of Go tokens in a source text across a rewrite by the Go formatter.

Index

Types

type Location

type Location struct {
	Pos, End int // End is exclusive
}

A Location represents a span of byte offsets in the source text.

type Map

type Map map[Location]Location

A Map represents a mapping between token locations in an input source text and locations in the correspnding output text.

func Compute

func Compute(input, output []byte) (Map, error)

Compute constructs a location mapping from input to output. An error is reported if any of the tokens of output cannot be mapped.

func (Map) Find

func (m Map) Find(pos, end int) (Location, bool)

Find reports whether the specified span is recorded by m, and if so returns the new location it was mapped to. If the input span was not found, the returned location is the same as the input.

Source Files

remap.go

Version
v1.5.4 (latest)
Published
Mar 6, 2024
Platform
linux/amd64
Imports
3 packages
Last checked
5 days ago

Tools for package owners.