On 04/02/2023 10:22, Tassilo Horn wrote: > Thanks for including me being the last contributor to java userdiff. > The patches look good from my POV and are safe-guarded with tests, so > I'm all for it. Thank you for review! I've realized that I've been writing modifiers "abstract" and "sealed" in a technically correct, but not the conventional order. Here's a reroll with the order of modifiers following the style of original authors of https://openjdk.org/jeps/409. It doesn't matter for the purposes of the test, but it will be less annoying to any future readers :-) Range diff since v1: 1: c300745a58 = 1: c300745a58 userdiff: support Java type parameters 2: a0e622a0f8 = 2: a0e622a0f8 userdiff: support Java record types 3: a53fca4d49 ! 3: b9c6a5dffd userdiff: support Java sealed classes @@ Commit message ## t/t4018/java-non-sealed (new) ## @@ -+public sealed abstract class SealedClass { ++public abstract sealed class SealedClass { + public static non-sealed class RIGHT extends SealedClass { + static int ONE; + static int TWO; @@ t/t4018/java-non-sealed (new) ## t/t4018/java-sealed (new) ## @@ -+public sealed abstract class Sealed { // RIGHT ++public abstract sealed class Sealed { // RIGHT + static int ONE; + static int TWO; + static int THREE; @@ t/t4018/java-sealed (new) ## t/t4018/java-sealed-permits (new) ## @@ -+public sealed abstract class RIGHT permits PermittedA, PermittedB { ++public abstract sealed class RIGHT permits PermittedA, PermittedB { + static int ONE; + static int TWO; + static int THREE; @@ t/t4018/java-sealed-permits (new) ## t/t4018/java-sealed-type-parameters (new) ## @@ -+public sealed abstract class RIGHT<A, B> { ++public abstract sealed class RIGHT<A, B> { + static int ONE; + static int TWO; + static int THREE; @@ t/t4018/java-sealed-type-parameters (new) ## t/t4018/java-sealed-type-parameters-implements-permits (new) ## @@ -+public sealed abstract class RIGHT<A, B> implements List<A> permits PermittedA, PermittedB { ++public abstract sealed class RIGHT<A, B> implements List<A> permits PermittedA, PermittedB { + static int ONE; + static int TWO; + static int THREE; @@ t/t4018/java-sealed-type-parameters-implements-permits (new) ## t/t4018/java-sealed-type-parameters-permits (new) ## @@ -+public sealed abstract class RIGHT<A, B> permits PermittedA, PermittedB { ++public abstract sealed class RIGHT<A, B> permits PermittedA, PermittedB { + static int ONE; + static int TWO; + static int THREE; Andrei Rybak (3): userdiff: support Java type parameters userdiff: support Java record types userdiff: support Java sealed classes t/t4018/java-class-type-parameters | 6 ++++++ t/t4018/java-class-type-parameters-implements | 6 ++++++ t/t4018/java-interface-type-parameters | 6 ++++++ t/t4018/java-interface-type-parameters-extends | 6 ++++++ t/t4018/java-non-sealed | 8 ++++++++ t/t4018/java-record | 6 ++++++ t/t4018/java-record-type-parameters | 6 ++++++ t/t4018/java-sealed | 7 +++++++ t/t4018/java-sealed-permits | 6 ++++++ t/t4018/java-sealed-type-parameters | 6 ++++++ t/t4018/java-sealed-type-parameters-implements-permits | 6 ++++++ t/t4018/java-sealed-type-parameters-permits | 6 ++++++ userdiff.c | 2 +- 13 files changed, 76 insertions(+), 1 deletion(-) create mode 100644 t/t4018/java-class-type-parameters create mode 100644 t/t4018/java-class-type-parameters-implements create mode 100644 t/t4018/java-interface-type-parameters create mode 100644 t/t4018/java-interface-type-parameters-extends create mode 100644 t/t4018/java-non-sealed create mode 100644 t/t4018/java-record create mode 100644 t/t4018/java-record-type-parameters create mode 100644 t/t4018/java-sealed create mode 100644 t/t4018/java-sealed-permits create mode 100644 t/t4018/java-sealed-type-parameters create mode 100644 t/t4018/java-sealed-type-parameters-implements-permits create mode 100644 t/t4018/java-sealed-type-parameters-permits -- 2.39.1