commit | 3b3c7cd679cd962994b559ea79b0d622b0bfbc5f | [log] [tgz] |
---|---|---|
author | janakr <janakr@google.com> | Tue Mar 20 13:52:00 2018 -0700 |
committer | Copybara-Service <copybara-piper@google.com> | Tue Mar 20 13:53:17 2018 -0700 |
tree | 278a86260ddd10458bde0607980149b7627489f2 | |
parent | a0f66c4077d7c13c06e21ddbb22f0f54b3767be7 [diff] |
Add EnumMapCodec. Some hackery necessary to get Class for Enum when map is empty. Since EnumMap.equals() ignores the key type when the maps are empty [1], we could just return a canonical empty EnumMap, but that seems to depend on implementation details in a hacky and potentially subtly broken way. The Unsafe method will hopefully break spectacularly if it goes wrong. [1] http://hg.openjdk.java.net/jdk8/jdk8/jdk/file/687fd7c7986d/src/share/classes/java/util/EnumMap.java#l685 PiperOrigin-RevId: 189803280
{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.