RFR: 8325362: Allow to create a simple in-memory input JavaFileObject [v2]

Jan Lahoda jlahoda at openjdk.org
Thu Mar 7 23:13:06 UTC 2024


> There are many subtypes of `SimpleJavaFileObject` scattered through various codebases, majority of them looking like:
> 
> 
>     private static class JavaSource extends SimpleJavaFileObject {
> 
>         private String code;
> 
>         public JavaSource(String code) {
>             super(URI.create("myfo:/Test.java"), JavaFileObject.Kind.SOURCE);
>             this.code = code;
>         }
> 
>         @Override
>         public CharSequence getCharContent(boolean ignoreEncodingErrors) {
>             return code;
>         }
>     }
> 
> 
> The proposal herein is a to add a factory method that would return an implementation of `SimpleJavaFileObject` based on the provided `URI` and source content.
> 
> The CSR for this change is available for review here:
> https://bugs.openjdk.org/browse/JDK-8327536

Jan Lahoda has updated the pull request incrementally with six additional commits since the last revision:

 - Removing trailing whitespaces.
 - Updating tests to use the new SimpleJavaFileObject.forSource
 - Not using schema in the URI.
 - Using URI.create instead of new URI in the sample.
 - Reflecting review comments.
 - Adding a sample code snippet.

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/18149/files
  - new: https://git.openjdk.org/jdk/pull/18149/files/56efc6e1..52416a1b

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=18149&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=18149&range=00-01

  Stats: 200 lines in 22 files changed: 19 ins; 111 del; 70 mod
  Patch: https://git.openjdk.org/jdk/pull/18149.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/18149/head:pull/18149

PR: https://git.openjdk.org/jdk/pull/18149


More information about the compiler-dev mailing list