commit | a4f8b62fdf613b3e0dc58ca1531598e75d08be1d | [log] [tgz] |
---|---|---|
author | Googler <noreply@google.com> | Fri Sep 13 11:08:29 2019 -0700 |
committer | Copybara-Service <copybara-worker@google.com> | Fri Sep 13 11:09:31 2019 -0700 |
tree | 684988c31b2214ba2b39487a642acd5a62a767a0 | |
parent | 040eb5254eb6417aaaca9e6ccabc5c65e022b95d [diff] |
bazel syntax: make Eval private Make Eval private. It should never have been public. Mostly it was used as a hook for the debugger (via subclassing). Now the debugger installs a hook directly into a global variable that Eval inspects before executing each statement. Make all package-visible functions of Eval static. It should become the sole locus of knowledge about the tree-walking evaluator. A follow-up change will move all tree-based evaluation logic from Expressions into this class (Statements are done already). Environment.evaluate(String) has been split into an expression flavor (debugEval) and a file flavor (debugExec). If we eliminate the pointless Debuggable interface these can become static methods in EvalUtils, in a follow-up. This is a behavior change to the debugger: entering "x=1; x+1" will execute x+1 only for its effects; its value, as a statement, is now None, not 2. Delete DebugServerUtils. Combine its install and remove methods as setDebugger, and move it to EvalUtils. Delete DebugCallable (unused). Delete DebugAwareEval (obsolete). PiperOrigin-RevId: 268941210
{Fast, Correct} - Choose two
Build and test software of any size, quickly and reliably.
Speed up your builds and tests: Bazel only rebuilds what is necessary. With advanced local and distributed caching, optimized dependency analysis and parallel execution, you get fast and incremental builds.
One tool, multiple languages: Build and test Java, C++, Android, iOS, Go, and a wide variety of other language platforms. Bazel runs on Windows, macOS, and Linux.
Scalable: Bazel helps you scale your organization, codebase, and continuous integration solution. It handles codebases of any size, in multiple repositories or a huge monorepo.
Extensible to your needs: Easily add support for new languages and platforms with Bazel's familiar extension language. Share and re-use language rules written by the growing Bazel community.
Follow our tutorials:
See CONTRIBUTING.md
Bazel is released in ‘Beta’. See the product roadmap to learn about the path toward a stable 1.0 release.