Age | Commit message (Collapse) | Author |
|
To avoid emitting duplicate symbols when there are other files that contain no
classes, and to match javac's behaviour.
PiperOrigin-RevId: 545473342
|
|
Similar to javac's `-Xpkginfo:always`
PiperOrigin-RevId: 543487269
|
|
By default, turbine doesn't emit private fields in class files, because they
don't affect downstream compilations. This makes it possible to emit private
fields by setting a javac debug flag.
PiperOrigin-RevId: 536836786
|
|
> If the value of the name_index item is zero, then this parameters element indicates a formal parameter with no name.
https://docs.oracle.com/javase/specs/jvms/se20/html/jvms-4.html#jvms-4.7.24
PiperOrigin-RevId: 530356139
|
|
Also rewrite some cases of `new Function<...>() {...}` to use lambdas or method references.
PiperOrigin-RevId: 522676112
|
|
PiperOrigin-RevId: 504078954
|
|
PiperOrigin-RevId: 504070824
|
|
A record has to have a primary constructor with parameters that correspond to the
component types.
https://github.com/bazelbuild/bazel/issues/17250
PiperOrigin-RevId: 503164403
|
|
These methods are only emitted if they don't already exist, per JLS 8.10.3.
https://github.com/bazelbuild/bazel/issues/17181
PiperOrigin-RevId: 501618070
|
|
The lexer was advancing to the next character and then reading the string
contents of the javadoc comment. It assumed that the next token
corresponded to exactly one character in the input stream, which isn't
true of unicode escapes.
PiperOrigin-RevId: 499989979
|
|
PiperOrigin-RevId: 495922973
|
|
PiperOrigin-RevId: 491951825
|
|
PiperOrigin-RevId: 487077153
|
|
PiperOrigin-RevId: 483696374
|
|
version shows up
PiperOrigin-RevId: 483693422
|
|
PiperOrigin-RevId: 472497302
|
|
to match https://bugs.openjdk.org/browse/JDK-8281238, and only run the tests
on JDK 19.
Fixes e.g.
```
expected: DECLARED java.util.@p.Test4.A List<java.lang.@p.Test4.B Integer>
but was : DECLARED @p.Test4.A java.util.List<@p.Test4.B java.lang.Integer>
```
PiperOrigin-RevId: 468587631
|
|
PiperOrigin-RevId: 467718127
|
|
PiperOrigin-RevId: 455184757
|
|
PiperOrigin-RevId: 452115286
|
|
The implementation doesn't support converting `URI`s for `FileObject`s
to `Path`s and doing IO on them, but this at least makes them well-formed,
and avoids errors like:
```
jshell> Paths.get(URI.create("file://foo"))
| Exception java.lang.IllegalArgumentException: URI has an authority component
| at UnixUriUtils.fromUri (UnixUriUtils.java:54)
| at UnixFileSystemProvider.getPath (UnixFileSystemProvider.java:102)
| at Path.of (Path.java:203)
| at Paths.get (Paths.java:98)
| at (#8:1)
```
https://github.com/micronaut-projects/micronaut-core/issues/7257
PiperOrigin-RevId: 445683352
|
|
PiperOrigin-RevId: 440187167
|
|
PiperOrigin-RevId: 436825379
|
|
Test case for reproducing the parser problem reported in https://github.com/bazelbuild/bazel/issues/15053
Fixes #221
COPYBARA_INTEGRATE_REVIEW=https://github.com/google/turbine/pull/221 from guw:main 300e8bf5abb556e96281f1b7d8ae50c0a813a855
PiperOrigin-RevId: 434827555
|
|
https://github.com/bazelbuild/bazel/issues/15053
PiperOrigin-RevId: 434815430
|
|
PiperOrigin-RevId: 433891768
|
|
If turbine creates annotation proxies for annotations missing required elements,
they crash if the element is accessed. This should be an unrecoverable error
that aborts annotation processing.
PiperOrigin-RevId: 427775703
|
|
PiperOrigin-RevId: 425631296
|
|
PiperOrigin-RevId: 424714767
|
|
This can happen when compiling a module declaration against a non-modular
bootclasspath. The lookup of `java.base` is only used to get its version, which
we can skip.
PiperOrigin-RevId: 421040147
|
|
PiperOrigin-RevId: 418038103
|
|
PiperOrigin-RevId: 414898023
|
|
https://github.com/bazelbuild/bazel/issues/14249
PiperOrigin-RevId: 408952084
|
|
Hiding for fields, classes, and methods is defined in
https://docs.oracle.com/javase/specs/jls/se11/html/jls-8.html
https://github.com/bazelbuild/bazel/issues/14142
PiperOrigin-RevId: 405438970
|
|
PiperOrigin-RevId: 400768241
|
|
PiperOrigin-RevId: 400303125
|
|
including modeling record components distinctly from parameter declarations,
since the annotation processing API cares about the distinction.
PiperOrigin-RevId: 399603892
|
|
PiperOrigin-RevId: 399302681
|
|
Follow-up to https://github.com/google/turbine/commit/006a74b6cd7565221a2d7fe9593c103bdd83584c. Supporting `-source 7 -target 7` regresses
support for type annotations, since turbine continues to emit the
attributes but they aren't recognized in v51 class files.
PiperOrigin-RevId: 399244322
|
|
Parse -source/-target/--release flags from provided javacopts, and use them to
set the major version of the classfile outputs, instead of trying to use the
lowest possible version that supported the features in the output.
PiperOrigin-RevId: 398583014
|
|
Sort attributes, and remove unused nest members attributes (e.g. for local or
anonymous classes, which don't show up in the API).
PiperOrigin-RevId: 398031642
|
|
PiperOrigin-RevId: 398029001
|
|
PiperOrigin-RevId: 397417470
|
|
* https://docs.oracle.com/javase/specs/jvms/se16/html/jvms-4.html#jvms-4.7.28
* https://docs.oracle.com/javase/specs/jvms/se16/html/jvms-4.html#jvms-4.7.29
* https://docs.oracle.com/javase/specs/jvms/se16/html/jvms-4.html#jvms-4.7.30
PiperOrigin-RevId: 397416507
|
|
PiperOrigin-RevId: 397354545
|
|
PiperOrigin-RevId: 397232971
|
|
PiperOrigin-RevId: 397209445
|
|
to fix order of operations when flattening binary trees.
Follow-up to https://github.com/google/turbine/commit/fd0a45de2e1c39a2cb774d59c59904caa7040221
PiperOrigin-RevId: 394561504
|
|
This avoids creating very deeply nested binary trees for constant string
literals (e.g. `a + b + c + d` parses as `(((a + b) + c) + d)`) which can
cause turbine to run out of stack evaluating constant expressions. This
replaces the accessors for the left and right children of a binary tree
with a method that flattens any nested binary trees with the same operator
kind, and returns the children as a list.
PiperOrigin-RevId: 393450281
|
|
PiperOrigin-RevId: 392546577
|