tree d5cb034f45135d6e67ffebde46e75b7081fe209c
parent 00806c840e44d837c86d89eb2263c8edea4a18c5
author adonovan <adonovan@google.com> 1588888242 -0700
committer Copybara-Service <copybara-worker@google.com> 1588888299 -0700

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
