// Copyright 2020 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // Package analysisinternal exposes internal-only fields from go/analysis. package analysisinternal import ( "bytes" "go/token" "go/types" ) func TypeErrorEndPos(fset *token.FileSet, src []byte, start token.Pos) token.Pos { // Get the end position for the type error. offset, end := fset.PositionFor(start, false).Offset, start if offset >= len(src) { return end } if width := bytes.IndexAny(src[offset:], " \n,():;[]+-*"); width > 0 { end = start + token.Pos(width) } return end } var GetTypeErrors = func(p interface{}) []types.Error { return nil } var SetTypeErrors = func(p interface{}, errors []types.Error) {} type TypeErrorPass string const ( NoNewVars TypeErrorPass = "nonewvars" NoResultValues TypeErrorPass = "noresultvalues" UndeclaredName TypeErrorPass = "undeclaredname" )