diff options
author | Liam Miller-Cushon <cushon@google.com> | 2022-05-31 12:39:45 -0700 |
---|---|---|
committer | Javac Team <javac-team+copybara@google.com> | 2022-05-31 12:40:30 -0700 |
commit | f42d03f5b18a61a3cdaf2f903e54618771c8797a (patch) | |
tree | d5e6339a186f9566f52972c27b3068cb72d7aba3 | |
parent | e0f2870e53290cfca4a6c09266aab86ea6ee10fd (diff) | |
download | turbine-f42d03f5b18a61a3cdaf2f903e54618771c8797a.tar.gz |
Handle `sealed` psuedo-modifier on nested classes
PiperOrigin-RevId: 452115286
-rw-r--r-- | java/com/google/turbine/parse/Parser.java | 5 | ||||
-rw-r--r-- | javatests/com/google/turbine/lower/LowerIntegrationTest.java | 1 | ||||
-rw-r--r-- | javatests/com/google/turbine/lower/testdata/sealed_nested.test | 7 |
3 files changed, 13 insertions, 0 deletions
diff --git a/java/com/google/turbine/parse/Parser.java b/java/com/google/turbine/parse/Parser.java index c370ad8..9417801 100644 --- a/java/com/google/turbine/parse/Parser.java +++ b/java/com/google/turbine/parse/Parser.java @@ -719,6 +719,11 @@ public class Parser { case IDENT: Ident ident = ident(); + if (ident.value().equals("sealed")) { + next(); + access.add(TurbineModifier.SEALED); + break; + } if (ident.value().equals("non")) { int pos = position; next(); diff --git a/javatests/com/google/turbine/lower/LowerIntegrationTest.java b/javatests/com/google/turbine/lower/LowerIntegrationTest.java index 7ae9b1b..94f1d07 100644 --- a/javatests/com/google/turbine/lower/LowerIntegrationTest.java +++ b/javatests/com/google/turbine/lower/LowerIntegrationTest.java @@ -48,6 +48,7 @@ public class LowerIntegrationTest { "record.test", 16, // "record2.test", 16, "sealed.test", 17, + "sealed_nested.test", 17, "textblock.test", 15); @Parameters(name = "{index}: {0}") diff --git a/javatests/com/google/turbine/lower/testdata/sealed_nested.test b/javatests/com/google/turbine/lower/testdata/sealed_nested.test new file mode 100644 index 0000000..6c4304e --- /dev/null +++ b/javatests/com/google/turbine/lower/testdata/sealed_nested.test @@ -0,0 +1,7 @@ +=== T.java === + +class T { + static sealed class Sealed permits Sealed.Foo { + static final class Foo extends Sealed {} + } +} |