diff options
author | Robert Griesemer <gri@golang.org> | 2021-01-15 14:37:35 -0800 |
---|---|---|
committer | Robert Griesemer <gri@golang.org> | 2021-01-19 21:02:48 +0000 |
commit | 3c0a39c964bb149f0a272c396ae3e7b3c4d36e30 (patch) | |
tree | 478e18d697cdbc6dadd7a9ae83ccf485b658e96a /src/cmd/compile/internal/types2/check_test.go | |
parent | 502198c8dc325eb60ff7afb74358b3beffd9831c (diff) | |
download | go-3c0a39c964bb149f0a272c396ae3e7b3c4d36e30.tar.gz go-3c0a39c964bb149f0a272c396ae3e7b3c4d36e30.zip |
[dev.typeparams] cmd/compile/internal/types: minor fixes/cleanups around testing
Also, implemented isConstType predicate in terms of "is" predicate.
Change-Id: Ib3b311f52196dba974802348bc6d63307530d915
Reviewed-on: https://go-review.googlesource.com/c/go/+/284217
Trust: Robert Griesemer <gri@golang.org>
Run-TryBot: Robert Griesemer <gri@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Robert Findley <rfindley@google.com>
Diffstat (limited to 'src/cmd/compile/internal/types2/check_test.go')
-rw-r--r-- | src/cmd/compile/internal/types2/check_test.go | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/cmd/compile/internal/types2/check_test.go b/src/cmd/compile/internal/types2/check_test.go index 85bf0728c0..b03b074b6d 100644 --- a/src/cmd/compile/internal/types2/check_test.go +++ b/src/cmd/compile/internal/types2/check_test.go @@ -47,12 +47,12 @@ var ( testFiles = flag.String("files", "", "space-separated list of test files") ) -func parseFiles(t *testing.T, filenames []string) ([]*syntax.File, []error) { +func parseFiles(t *testing.T, filenames []string, mode syntax.Mode) ([]*syntax.File, []error) { var files []*syntax.File var errlist []error errh := func(err error) { errlist = append(errlist, err) } for _, filename := range filenames { - file, err := syntax.ParseFile(filename, errh, nil, syntax.AllowGenerics) + file, err := syntax.ParseFile(filename, errh, nil, mode) if file == nil { t.Fatalf("%s: %s", filename, err) } @@ -84,8 +84,16 @@ func delta(x, y uint) uint { } func checkFiles(t *testing.T, sources []string, colDelta uint, trace bool) { + if len(sources) == 0 { + t.Fatal("no source files") + } + + var mode syntax.Mode + if strings.HasSuffix(sources[0], ".go2") { + mode |= syntax.AllowGenerics + } // parse files and collect parser errors - files, errlist := parseFiles(t, sources) + files, errlist := parseFiles(t, sources, mode) pkgName := "<no package>" if len(files) > 0 { |