Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
bazel syntax: delete StarlarkThread.Extension
This change replaces every use of Extension by Module. Extension was a pair of a globals dictionary, and a digest of "the thread's source file" (a dubious concept) and all the Starlark (actually: .bzl) files it transitively loads. Before this change, construction of StarlarkThread would combine the file hash (which is only defined if the parseWithDigest function was used) with the transitive hashes of the imports, and would save this information in the StarlarkThread. Now, StarlarkImportLookupFunction does this hashing, and saves the result in a new field of BazelStarlarkContext, which is the application-specific state carried by a Starlark thread created by Bazel. This field is set only in threads created by StarlarkImportLookupFunction. SkylarkTestCase.newStarlarkThread sets it to a dummy value, because execAndExport requires it to be set. (It was implicitly a dummy value prior to this change: in these tests source files are not parsed with parseWithDigest, and newStarlarkThread uses an empty import map.) Also: - use byte[] not string for digest. - StarlarkImportLookupValue - record the transitive digest alongside the module. - use == equivalence relation. There is no realistic scenario in which two distinct SILV instances alive at the same time might be equal. - terminology: import -> load extension -> module hashCode -> digest - without Fingerprint, lib.syntax no longer depends on lib.util. - Extension.checkStateEquals moved to SerializationCheckingGraph. - Eval: hoist loop-invariant code for LoadStatement - discard_graph_edges_test: remove assertions on cardinality of Extension. The cardinality of Module is quite different, and not something that belongs in this test. A follow-up change will remove StarlarkFile.getContentHash. This is a breaking API change for Copybara. PiperOrigin-RevId: 310441579
- Loading branch information
Showing
34 changed files
with
286 additions
and
531 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.