@@ -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 != "" {
@@ -1503,6 +1507,7 @@ func (s *Snapshot) typeCheckInputs(ctx context.Context, mp *metadata.Package) (*
15031507 name : mp .Name ,
15041508 goFiles : goFiles ,
15051509 compiledGoFiles : compiledGoFiles ,
1510+ asmFiles : asmFiles ,
15061511 sizes : mp .TypesSizes ,
15071512 depsByImpPath : mp .DepsByImpPath ,
15081513 goVersion : goVersion ,
@@ -1555,6 +1560,10 @@ func localPackageKey(inputs *typeCheckInputs) file.Hash {
15551560 for _ , fh := range inputs .goFiles {
15561561 fmt .Fprintln (hasher , fh .Identity ())
15571562 }
1563+ fmt .Fprintf (hasher , "asmFiles:%d\n " , len (inputs .asmFiles ))
1564+ for _ , fh := range inputs .asmFiles {
1565+ fmt .Fprintln (hasher , fh .Identity ())
1566+ }
15581567
15591568 // types sizes
15601569 wordSize := inputs .sizes .Sizeof (types .Typ [types .Int ])
@@ -1611,6 +1620,10 @@ func (b *typeCheckBatch) checkPackage(ctx context.Context, fset *token.FileSet,
16111620 pkg .parseErrors = append (pkg .parseErrors , pgf .ParseErr )
16121621 }
16131622 }
1623+ pkg .asmFiles , err = parseAsmFiles (ctx , inputs .asmFiles ... )
1624+ if err != nil {
1625+ return nil , err
1626+ }
16141627
16151628 // Use the default type information for the unsafe package.
16161629 if inputs .pkgPath == "unsafe" {
0 commit comments