go/internal
Alan Donovan 60ddccae85 internal/diff: Apply: validate inputs
Apply now checks that its edits are valid
(not out of bounds or overlapping),
and reports an error if not.

It also sorts them, if necessary, using (start, end)
as the key, to ensure that insertions (end=start)
are ordered before deletions at the same point
(but without changing the relative order of insertions).

Two other implementations of the diff.Apply algorithm
have been eliminated. (One of them failed to sort edits,
requiring the protocol sender to do so; that burden
is now gone.)

Change-Id: Ia76e485e6869db4a165835c3312fd14bc7d43db2
Reviewed-on: https://go-review.googlesource.com/c/tools/+/439278
Auto-Submit: Alan Donovan <adonovan@google.com>
gopls-CI: kokoro <noreply+kokoro@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Robert Findley <rfindley@google.com>
Run-TryBot: Alan Donovan <adonovan@google.com>
2022-10-07 14:24:20 +00:00
..
analysisinternal gopls/.../fillstruct: support generic types 2022-09-30 19:58:05 +00:00
apidiff all: gofmt 2022-04-12 17:53:17 +00:00
bug gopls: migrate internal/lsp to gopls/internal/lsp 2022-09-07 16:44:44 +00:00
diff internal/diff: Apply: validate inputs 2022-10-07 14:24:20 +00:00
event gopls: migrate internal/lsp to gopls/internal/lsp 2022-09-07 16:44:44 +00:00
fakenet internal/fakenet: add a fake network connection 2020-05-27 14:27:59 +00:00
fastwalk all: remove redundant type conversion 2022-09-07 17:33:19 +00:00
fuzzy gopls/.../fillstruct: support generic types 2022-09-30 19:58:05 +00:00
gocommand go/packages: issue error if 'go list' on PATH is too new 2022-09-28 14:34:08 +00:00
gopathwalk internal/gopathwalk: remove unnecessary call to os.Lstat 2022-03-31 05:33:07 +00:00
imports internal/imports: update stdlib index for 1.19 2022-08-10 17:41:25 +00:00
jsonrpc2 all: use constant to avoid repeated definitions 2022-09-19 15:32:23 +00:00
jsonrpc2_v2 gopls: migrate internal/lsp to gopls/internal/lsp 2022-09-07 16:44:44 +00:00
loopclosure go/analysis/passes/loopclosure: experiment with checking t.Run+Parallel 2022-09-20 22:09:32 +00:00
memoize internal/memoize: fix race in Store.Promise 2022-07-28 15:35:11 +00:00
packagesinternal x/tools/go/packages: on Go 1.19+, explicitly ask for -json fields needed 2022-04-19 17:08:06 +00:00
persistent internal/lsp/cache: use GetHandle not Bind for 5 URI-keyed maps 2022-07-07 16:57:02 +00:00
proxydir all: remove version-specific test files 2020-05-28 17:13:50 +00:00
span go/packages/packagestest: break dependency on gopls' span package 2022-10-07 14:18:09 +00:00
stack all: gofmt 2022-04-12 17:53:17 +00:00
testenv internal: remove pre-go1.12 conditionally compiled files 2022-05-05 16:48:28 +00:00
tool internal/tool: implement structured help command 2022-05-04 22:58:41 +00:00
typeparams x/tools/internal/typeparams: use regexp to match wanted result 2022-09-02 19:06:05 +00:00
typesinternal internal/typesinternal: update typesinternal for 1.18 2022-02-22 16:42:18 +00:00
xcontext