@@ -1456,12 +1456,12 @@ type typeCheckInputs struct {
14561456 id PackageID
14571457
14581458 // 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"
14651465
14661466 // Used for type check diagnostics:
14671467 // TODO(rfindley): consider storing less data in gobDiagnostics, and
@@ -1491,6 +1491,10 @@ func (s *Snapshot) typeCheckInputs(ctx context.Context, mp *metadata.Package) (*
14911491 if err != nil {
14921492 return nil , err
14931493 }
1494+ asmFiles , err := readFiles (ctx , s , mp .AsmFiles )
1495+ if err != nil {
1496+ return nil , err
1497+ }
14941498
14951499 goVersion := ""
14961500 if mp .Module != nil && mp .Module .GoVersion != "" {
@@ -1506,6 +1510,7 @@ func (s *Snapshot) typeCheckInputs(ctx context.Context, mp *metadata.Package) (*
15061510 name : mp .Name ,
15071511 goFiles : goFiles ,
15081512 compiledGoFiles : compiledGoFiles ,
1513+ asmFiles : asmFiles ,
15091514 sizes : mp .TypesSizes ,
15101515 depsByImpPath : mp .DepsByImpPath ,
15111516 goVersion : goVersion ,
@@ -1558,6 +1563,10 @@ func localPackageKey(inputs *typeCheckInputs) file.Hash {
15581563 for _ , fh := range inputs .goFiles {
15591564 fmt .Fprintln (hasher , fh .Identity ())
15601565 }
1566+ fmt .Fprintf (hasher , "asmFiles:%d\n " , len (inputs .asmFiles ))
1567+ for _ , fh := range inputs .asmFiles {
1568+ fmt .Fprintln (hasher , fh .Identity ())
1569+ }
15611570
15621571 // types sizes
15631572 wordSize := inputs .sizes .Sizeof (types .Typ [types .Int ])
@@ -1614,6 +1623,10 @@ func (b *typeCheckBatch) checkPackage(ctx context.Context, fset *token.FileSet,
16141623 pkg .parseErrors = append (pkg .parseErrors , pgf .ParseErr )
16151624 }
16161625 }
1626+ pkg .asmFiles , err = parseAsmFiles (ctx , inputs .asmFiles ... )
1627+ if err != nil {
1628+ return nil , err
1629+ }
16171630
16181631 // Use the default type information for the unsafe package.
16191632 if inputs .pkgPath == "unsafe" {
0 commit comments