modfile: add parsing support for toolchain

Add new toolchain directive to go.mod and go.work parser.
Also fix error checking in parsing tests.

For golang/go#57001.

Change-Id: Ib7603f82cbd667f2152ed6b0c5989f08c28ceb1c
Reviewed-on: https://go-review.googlesource.com/c/mod/+/497399
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Bryan Mills <bcmills@google.com>
7 files changed
tree: 0de8d8b760aa90bd724749bb910324cd5288d426
  1. gosumcheck/
  2. internal/
  3. modfile/
  4. module/
  5. semver/
  6. sumdb/
  7. zip/
  8. codereview.cfg
  9. go.mod
  10. go.sum
  11. LICENSE
  12. PATENTS
  13. README.md
README.md

mod

PkgGoDev

This repository holds packages for writing tools that work directly with Go module mechanics. That is, it is for direct manipulation of Go modules themselves.

It is NOT about supporting general development tools that need to do things like load packages in module mode. That use case, where modules are incidental rather than the focus, should remain in x/tools, specifically x/tools/go/packages.

The specific case of loading packages should still be done by invoking the go command, which remains the single point of truth for package loading algorithms.