Skip to content

Commit 423bf76

Browse files
myitcvdmitshur
authored andcommitted
compiler: Use gcexportdata instead of gcimporter15. (gopherjs#803)
This change updates compiler to use new package gcexportdata instead of the deprecated and removed package gcimporter15 for reading and writing export data files containing type information. See its deprecation note here: https://github.com/golang/tools/blob/14d5b80f954f510ba9bcd241821b6f4828498e1a/go/gcimporter15/gcimporter.go#L13-L14 Remove vendored copy of gcimporter15, since it's no longer used. Updates gopherjs#789.
1 parent 1daac00 commit 423bf76

File tree

8 files changed

+9
-2990
lines changed

8 files changed

+9
-2990
lines changed

compiler/compiler.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import (
1212
"strings"
1313

1414
"github.com/gopherjs/gopherjs/compiler/prelude"
15-
"golang.org/x/tools/go/gcimporter15"
15+
"golang.org/x/tools/go/gcexportdata"
1616
)
1717

1818
var sizes32 = &types.StdSizes{WordSize: 4, MaxAlign: 8}
@@ -243,7 +243,7 @@ func ReadArchive(filename, path string, r io.Reader, packages map[string]*types.
243243
}
244244

245245
var err error
246-
_, packages[path], err = gcimporter.BImportData(token.NewFileSet(), packages, a.ExportData, path)
246+
packages[path], err = gcexportdata.Read(bytes.NewReader(a.ExportData), token.NewFileSet(), packages, path)
247247
if err != nil {
248248
return nil, err
249249
}

compiler/package.go

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import (
1313

1414
"github.com/gopherjs/gopherjs/compiler/analysis"
1515
"github.com/neelance/astrewrite"
16-
"golang.org/x/tools/go/gcimporter15"
16+
"golang.org/x/tools/go/gcexportdata"
1717
"golang.org/x/tools/go/types/typeutil"
1818
)
1919

@@ -164,8 +164,11 @@ func Compile(importPath string, files []*ast.File, fileSet *token.FileSet, impor
164164
}
165165
importContext.Packages[importPath] = typesPkg
166166

167-
exportData := gcimporter.BExportData(nil, typesPkg)
168-
encodedFileSet := bytes.NewBuffer(nil)
167+
exportData := new(bytes.Buffer)
168+
if err := gcexportdata.Write(exportData, nil, typesPkg); err != nil {
169+
return nil, fmt.Errorf("failed to write export data: %v", err)
170+
}
171+
encodedFileSet := new(bytes.Buffer)
169172
if err := fileSet.Write(json.NewEncoder(encodedFileSet).Encode); err != nil {
170173
return nil, err
171174
}
@@ -541,7 +544,7 @@ func Compile(importPath string, files []*ast.File, fileSet *token.FileSet, impor
541544
ImportPath: importPath,
542545
Name: typesPkg.Name(),
543546
Imports: importedPaths,
544-
ExportData: exportData,
547+
ExportData: exportData.Bytes(),
545548
Declarations: allDecls,
546549
FileSet: encodedFileSet.Bytes(),
547550
Minified: minify,

0 commit comments

Comments
 (0)