@@ -1456,12 +1456,12 @@ type typeCheckInputs struct {
1456
1456
id PackageID
1457
1457
1458
1458
// Used for type checking:
1459
- pkgPath PackagePath
1460
- name PackageName
1461
- goFiles , compiledGoFiles []file.Handle
1462
- sizes types.Sizes
1463
- depsByImpPath map [ImportPath ]PackageID
1464
- goVersion string // packages.Module.GoVersion, e.g. "1.18"
1459
+ pkgPath PackagePath
1460
+ name PackageName
1461
+ goFiles , compiledGoFiles , asmFiles []file.Handle
1462
+ sizes types.Sizes
1463
+ depsByImpPath map [ImportPath ]PackageID
1464
+ goVersion string // packages.Module.GoVersion, e.g. "1.18"
1465
1465
1466
1466
// Used for type check diagnostics:
1467
1467
// TODO(rfindley): consider storing less data in gobDiagnostics, and
@@ -1491,6 +1491,10 @@ func (s *Snapshot) typeCheckInputs(ctx context.Context, mp *metadata.Package) (*
1491
1491
if err != nil {
1492
1492
return nil , err
1493
1493
}
1494
+ asmFiles , err := readFiles (ctx , s , mp .AsmFiles )
1495
+ if err != nil {
1496
+ return nil , err
1497
+ }
1494
1498
1495
1499
goVersion := ""
1496
1500
if mp .Module != nil && mp .Module .GoVersion != "" {
@@ -1503,6 +1507,7 @@ func (s *Snapshot) typeCheckInputs(ctx context.Context, mp *metadata.Package) (*
1503
1507
name : mp .Name ,
1504
1508
goFiles : goFiles ,
1505
1509
compiledGoFiles : compiledGoFiles ,
1510
+ asmFiles : asmFiles ,
1506
1511
sizes : mp .TypesSizes ,
1507
1512
depsByImpPath : mp .DepsByImpPath ,
1508
1513
goVersion : goVersion ,
@@ -1555,6 +1560,10 @@ func localPackageKey(inputs *typeCheckInputs) file.Hash {
1555
1560
for _ , fh := range inputs .goFiles {
1556
1561
fmt .Fprintln (hasher , fh .Identity ())
1557
1562
}
1563
+ fmt .Fprintf (hasher , "asmFiles:%d\n " , len (inputs .asmFiles ))
1564
+ for _ , fh := range inputs .asmFiles {
1565
+ fmt .Fprintln (hasher , fh .Identity ())
1566
+ }
1558
1567
1559
1568
// types sizes
1560
1569
wordSize := inputs .sizes .Sizeof (types .Typ [types .Int ])
@@ -1611,6 +1620,10 @@ func (b *typeCheckBatch) checkPackage(ctx context.Context, fset *token.FileSet,
1611
1620
pkg .parseErrors = append (pkg .parseErrors , pgf .ParseErr )
1612
1621
}
1613
1622
}
1623
+ pkg .asmFiles , err = parseAsmFiles (ctx , inputs .asmFiles ... )
1624
+ if err != nil {
1625
+ return nil , err
1626
+ }
1614
1627
1615
1628
// Use the default type information for the unsafe package.
1616
1629
if inputs .pkgPath == "unsafe" {
0 commit comments