Proto commits in google/j2cl

These 35 commits are when the Protocol Buffers files have changed:

Commit:a8accf3
Author:Goktug Gokdogan
Committer:Copybara-Service

Start using official Bazel worker helper. This helper provides additional features like GC and worker multiplexing - though they are not yet enabled in this CL. CL is temporarily forking the files until bazel_worker_java could be added as a dep for repo: https://github.com/bazelbuild/bazel-worker-api/issues/10 PiperOrigin-RevId: 733024990

The documentation is generated from this commit.

Commit:032095e
Author:Rob Sloan
Committer:Copybara-Service

Internal. PiperOrigin-RevId: 663418072

Commit:e4f4dee
Author:Googler
Committer:Copybara-Service

[WASM] Optimize itable slot allocation by allowing interfaces to share the same slot when they are part of the same inheritance chain. Modified the greedy algorithm in ItableAllocator to also consider if existing interfaces already assigned to the slot can share the same index. Interfaces with disjoint implementing classes can still share the same index. PiperOrigin-RevId: 655748004

Commit:2aac0ae
Author:Rob Sloan
Committer:Copybara-Service

Internal. PiperOrigin-RevId: 621196098

Commit:cd11909
Author:Roberto Lublinerman
Committer:Copybara-Service

[WASM] Preserve side effects in default value expression of `System.getProperty()` for modular compilation. Also emit a proper error if a required property is not present (both for the modular and the monolithic pipelines). PiperOrigin-RevId: 612572476

Commit:d5b0138
Author:Roberto Lublinerman
Committer:Copybara-Service

[WASM] Do not generate itable instances for abstract classes. Abstract classes don't have vtable nor itable instances; At runtime there are no instances of abstract classes (only concrete classes have instances), and thus there is no need for vtable and itable instances. PiperOrigin-RevId: 605740938

Commit:657d2c1
Author:Roberto Lublinerman
Committer:Copybara-Service

[WASM] Emit all interfaces in the summary rather that only implemented ones. The code might have calls to methods in interfaces that might not be implemented in the apps, but the itable for modular compilation needs to contain a slot for them to make the code valid. PiperOrigin-RevId: 605689668

Commit:4e1f19c
Author:Roberto Lublinerman
Committer:Copybara-Service

[WASM] Implement modular generations of imports. PiperOrigin-RevId: 604417472

Commit:50b3ad9
Author:Roberto Lublinerman
Committer:Copybara-Service

[WASM] Use better names for snippets and Wasm imports. Snippets will be used both for Wasm and JavaScript code; and a future cl will add JavaScript imports. PiperOrigin-RevId: 603455659

Commit:a12e40c
Author:Roberto Lublinerman
Committer:Copybara-Service

[WASM] Emit `System.getProperty` modularly. In modular compilation, `System.getProperty()` calls are replaced by an access to a global which will be emitted an initialized by the bundler. PiperOrigin-RevId: 597299306

Commit:a06946a
Author:Roberto Lublinerman
Committer:Copybara-Service

[WASM] Emit wasm snippets that need deduplication in the bundler. In the current state we need deduplication of: - types of the functions in the vtable - globals for empty arrays types (deduping of empty arrays will be moved to binaryen eventually) - declaration of no sideffect intrinsics (which need to be emitted uniquely per function type). PiperOrigin-RevId: 592053018

Commit:6852e69
Author:Roberto Lublinerman
Committer:Copybara-Service

Clean up proto definitions used in J2CL. - Name repeated proto fields consistent with the guidelines. - Remove unused field. - Use better names for fields. PiperOrigin-RevId: 590753746

Commit:070e29d
Author:Roberto Lublinerman
Committer:Copybara-Service

[WASM] Implement modular string literals. The bundler now needs to instantiate a frontend to be able to construct AST to synthesize methods. In contrast to the exports generator that can run concurrently with transpilation (since it only needs the class jars), to synthesize getters the bundler relies on transpilation to produce summaries. PiperOrigin-RevId: 590001386

Commit:b5a3de2
Author:Roberto Lublinerman
Committer:Copybara-Service

[WASM] Start emitting a summary for modular compilation. This initial summary contains type - supertype relationships that will be used to synthesize itables in the bundler. PiperOrigin-RevId: 572957936

Commit:a47331c
Author:Roberto Lublinerman
Committer:Copybara-Service

Move libraryinfo to transpiler/backend/libraryinfo. PiperOrigin-RevId: 335091498

Commit:72673c4
Author:Roberto Lublinerman
Committer:Copybara-Service

Move j2cl/bazel to j2cl/common/bazel PiperOrigin-RevId: 335084918

Commit:4c64f6a
Author:Julien Dramaix
Committer:Copybara-Service

Add a flag to prevent pruning of JsType interfaces. PiperOrigin-RevId: 326470089

Commit:151f95f
Author:Goktug Gokdogan
Committer:Copybara-Service

Remove invocation kind and isPublic fields and handle instantiation via constructor calls. PiperOrigin-RevId: 293625345

Commit:67020a2
Author:Goktug Gokdogan
Committer:Copybara-Service

Fixes handling of J2CL proto targets by RTA PiperOrigin-RevId: 289157179

Commit:a459ad7
Author:Goktug Gokdogan
Committer:Copybara-Service

Reduce the J2CL RTA input by 45% via interning the types. PiperOrigin-RevId: 285892114

Commit:1c0bbcf
Author:Julien Dramaix
Committer:Copybara-Service

Rollback of *** Original change description *** Remove goog.require from header files and goog.forwardDeclare from impl files via RTA metadata. PiperOrigin-RevId: 268961890

Commit:e06a945
Author:Goktug Gokdogan
Committer:Copybara-Service

Remove goog.require from header files and goog.forwardDeclare from impl files via RTA metadata. PiperOrigin-RevId: 268798164

Commit:aec2c70
Author:Goktug Gokdogan
Committer:Copybara-Service

Roll forward: No-op refactoring to simplify metadata used for source lines. PiperOrigin-RevId: 268732380

Commit:8975df6
Author:Julien Dramaix
Committer:Copybara-Service

Automated g4 rollback of changelist 268087215. *** Reason for rollback *** Break GMail uncompiled mode. *** Original change description *** No-op refactoring to simplify metadata used for source lines. *** PiperOrigin-RevId: 268578088

Commit:d49775f
Author:Goktug Gokdogan
Committer:Copybara-Service

No-op refactoring to simplify metadata used for source lines. PiperOrigin-RevId: 268087215

Commit:e10341a
Author:dramaix
Committer:Copybara-Service

Modify rta algorithm to output info about file and lines that can be pruned. Modify the J2clMinifier in order to remove lines that have been flagged by RTA as unused. PiperOrigin-RevId: 215922909

Commit:53a6fe3
Author:rluble
Committer:Copybara-Service

Cleanup jsAccessible/jsInstantiable code. - be more precise on which JsMember methods should not be marked jsAccessible. - remove jsInstantiable from types as it is not used and contains some redundant code. PiperOrigin-RevId: 214637893

Commit:f97caa5
Author:dramaix
Committer:Copybara-Service

Add FilePosition for members in libraryinfo. PiperOrigin-RevId: 213880669

Commit:55a8223
Author:dramaix
Committer:Copybara-Service

Add a field 'kind' for method invocation in library info. PiperOrigin-RevId: 206971721

Commit:e84c456
Author:dramaix
Committer:Copybara-Service

Fix opensource build of libraryinfo package. Last step: - Fix java package for proto code generation. Not related to opensource build: Generate one java file per proto message. PiperOrigin-RevId: 206960036

Commit:6d90759
Author:dramaix
Committer:Copybara-Service

Improve the way class references are expressed in library info. PiperOrigin-RevId: 206814563

Commit:ed3a3e2
Author:dramaix
Committer:Copybara

Collect constructor call site and remove typeInstantiated set from library info. PiperOrigin-RevId: 206182045

Commit:42c14f5
Author:dramaix
Committer:Copybara

Add a mechanism for building the call graph of the transpiled library. PiperOrigin-RevId: 205283602

Commit:bc6c440
Author:goktug
Committer:Copybara-Service

Add TODO for the removal of copied proto file since the bug is created. PiperOrigin-RevId: 198507884

Commit:dbb5774
Author:goktug
Committer:Copybara-Service

Makes J2CL bazel workers compilable in opensource. It copies worker_protocol.proto per our discussion with bazel team. PiperOrigin-RevId: 197789566