From 02a89cf7feb1cd5899530aa12d4de76d622e38fe Mon Sep 17 00:00:00 2001 From: Rawi01 Date: Mon, 14 Oct 2024 22:17:09 +0200 Subject: [PATCH] Check exact message line numbers in tests --- .../src/lombok/CompilerMessageMatcher.java | 5 ++--- .../DelegateFlagUsage.java.messages | 2 +- .../DelegateOnStatic.java.messages | 4 ++-- .../DelegateRecursion.java.messages | 2 +- ...lsAndHashCodeOfAndExcludeWarn.java.messages | 4 ++-- ...sionMethodAmbiguousFunctional.java.messages | 2 +- ...perBuilderWithJsonDeserialize.java.messages | 2 +- .../LockedInRecord.java.messages | 2 +- .../NonNullOnParameter.java.messages | 2 +- .../OnXFlagUsage.java.messages | 12 ++++++------ .../SynchronizedInRecord.java.messages | 2 +- .../messages-delombok/ValErrors.java.messages | 4 ++-- .../ValInBasicFor.java.messages | 2 +- .../VarInForOldMulti.java.messages | 2 +- .../VarNullInit.java.messages | 2 +- .../messages-delombok/VarWarning.java.messages | 2 +- ...lsAndHashCodeOfAndExcludeWarn.java.messages | 4 ++-- ...perBuilderWithJsonDeserialize.java.messages | 2 +- .../NonNullOnParameter.java.messages | 6 +++--- .../messages-ecj/NonNullPlain.java.messages | 2 +- .../messages-ecj/OnXFlagUsage.java.messages | 12 ++++++------ .../LockedTypeMismatch.java.messages | 4 ++-- .../NonNullOnParameter.java.messages | 2 +- .../ValInvalidParameter.java.messages | 18 +++++++++--------- 24 files changed, 50 insertions(+), 51 deletions(-) diff --git a/test/core/src/lombok/CompilerMessageMatcher.java b/test/core/src/lombok/CompilerMessageMatcher.java index c00263f4..923b45e6 100644 --- a/test/core/src/lombok/CompilerMessageMatcher.java +++ b/test/core/src/lombok/CompilerMessageMatcher.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012-2013 The Project Lombok Authors. + * Copyright (C) 2012-2024 The Project Lombok Authors. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -67,8 +67,7 @@ public class CompilerMessageMatcher { public boolean matches(CompilerMessage message) { outer: for (int i = 0; i < lineNumbers.size(); i++) { - //Allow an off-by-1 in line numbers; when running tests that sometimes happens for as yet unknown reasons. - if (message.getLine() != lineNumbers.get(i) && message.getLine() -1 != lineNumbers.get(i)) continue; + if (message.getLine() != lineNumbers.get(i)) continue; for (String token : messages.get(i)) { if (!message.getMessage().contains(token)) continue outer; } diff --git a/test/transform/resource/messages-delombok/DelegateFlagUsage.java.messages b/test/transform/resource/messages-delombok/DelegateFlagUsage.java.messages index a6b78632..54e48e66 100644 --- a/test/transform/resource/messages-delombok/DelegateFlagUsage.java.messages +++ b/test/transform/resource/messages-delombok/DelegateFlagUsage.java.messages @@ -1 +1 @@ -4 Use of @Delegate is flagged according to lombok configuration. \ No newline at end of file +5 Use of @Delegate is flagged according to lombok configuration. diff --git a/test/transform/resource/messages-delombok/DelegateOnStatic.java.messages b/test/transform/resource/messages-delombok/DelegateOnStatic.java.messages index 51dcf501..45ae7c57 100644 --- a/test/transform/resource/messages-delombok/DelegateOnStatic.java.messages +++ b/test/transform/resource/messages-delombok/DelegateOnStatic.java.messages @@ -1,2 +1,2 @@ -6 @Delegate is legal only on instance fields or no-argument instance methods. -10 @Delegate is legal only on instance fields or no-argument instance methods. \ No newline at end of file +7 @Delegate is legal only on instance fields or no-argument instance methods. +11 @Delegate is legal only on instance fields or no-argument instance methods. diff --git a/test/transform/resource/messages-delombok/DelegateRecursion.java.messages b/test/transform/resource/messages-delombok/DelegateRecursion.java.messages index bf4d8410..b3179954 100644 --- a/test/transform/resource/messages-delombok/DelegateRecursion.java.messages +++ b/test/transform/resource/messages-delombok/DelegateRecursion.java.messages @@ -1 +1 @@ -4 @Delegate does not support recursion (delegating to a type that itself has @Delegate members). Member "inner" is @Delegate in type "DelegateRecursionCenter" +5 @Delegate does not support recursion (delegating to a type that itself has @Delegate members). Member "inner" is @Delegate in type "DelegateRecursionCenter" diff --git a/test/transform/resource/messages-delombok/EqualsAndHashCodeOfAndExcludeWarn.java.messages b/test/transform/resource/messages-delombok/EqualsAndHashCodeOfAndExcludeWarn.java.messages index 2c4fbd68..706282f9 100644 --- a/test/transform/resource/messages-delombok/EqualsAndHashCodeOfAndExcludeWarn.java.messages +++ b/test/transform/resource/messages-delombok/EqualsAndHashCodeOfAndExcludeWarn.java.messages @@ -1,2 +1,2 @@ -1 This field does not exist. -6 This field does not exist, or would have been excluded anyway. \ No newline at end of file +2 This field does not exist. +7 This field does not exist, or would have been excluded anyway. diff --git a/test/transform/resource/messages-delombok/ExtensionMethodAmbiguousFunctional.java.messages b/test/transform/resource/messages-delombok/ExtensionMethodAmbiguousFunctional.java.messages index 9fa3414f..0b22d404 100644 --- a/test/transform/resource/messages-delombok/ExtensionMethodAmbiguousFunctional.java.messages +++ b/test/transform/resource/messages-delombok/ExtensionMethodAmbiguousFunctional.java.messages @@ -1 +1 @@ -9 reference to ambiguous is ambiguous both method ambiguous(T,java.util.function.Function) in ExtensionMethodAmbiguousFunctional.Extensions and method ambiguous(T,java.util.function.Consumer) in ExtensionMethodAmbiguousFunctional.Extensions match +10 reference to ambiguous is ambiguous both method ambiguous(T,java.util.function.Function) in ExtensionMethodAmbiguousFunctional.Extensions and method ambiguous(T,java.util.function.Consumer) in ExtensionMethodAmbiguousFunctional.Extensions match diff --git a/test/transform/resource/messages-delombok/JacksonizedSuperBuilderWithJsonDeserialize.java.messages b/test/transform/resource/messages-delombok/JacksonizedSuperBuilderWithJsonDeserialize.java.messages index 5c69304f..1947a26e 100644 --- a/test/transform/resource/messages-delombok/JacksonizedSuperBuilderWithJsonDeserialize.java.messages +++ b/test/transform/resource/messages-delombok/JacksonizedSuperBuilderWithJsonDeserialize.java.messages @@ -1 +1 @@ -1 @JsonDeserialize already exists on class. Either delete @JsonDeserialize, or remove @Jacksonized and manually configure Jackson. \ No newline at end of file +2 @JsonDeserialize already exists on class. Either delete @JsonDeserialize, or remove @Jacksonized and manually configure Jackson. diff --git a/test/transform/resource/messages-delombok/LockedInRecord.java.messages b/test/transform/resource/messages-delombok/LockedInRecord.java.messages index 0165764d..1e921a76 100644 --- a/test/transform/resource/messages-delombok/LockedInRecord.java.messages +++ b/test/transform/resource/messages-delombok/LockedInRecord.java.messages @@ -1 +1 @@ -5 @Locked is legal only on methods in classes and enums. +6 @Locked is legal only on methods in classes and enums. diff --git a/test/transform/resource/messages-delombok/NonNullOnParameter.java.messages b/test/transform/resource/messages-delombok/NonNullOnParameter.java.messages index 042c97f8..0fe49dad 100644 --- a/test/transform/resource/messages-delombok/NonNullOnParameter.java.messages +++ b/test/transform/resource/messages-delombok/NonNullOnParameter.java.messages @@ -1 +1 @@ -22 @NonNull is meaningless on a primitive. +23 @NonNull is meaningless on a primitive. diff --git a/test/transform/resource/messages-delombok/OnXFlagUsage.java.messages b/test/transform/resource/messages-delombok/OnXFlagUsage.java.messages index c4187b9f..fbb1ea2c 100644 --- a/test/transform/resource/messages-delombok/OnXFlagUsage.java.messages +++ b/test/transform/resource/messages-delombok/OnXFlagUsage.java.messages @@ -1,6 +1,6 @@ -9 Use of @Getter(onMethod=...) is flagged according to lombok configuration. -10 Use of @Setter(onMethod=...) is flagged according to lombok configuration. -10 Use of @Setter(onParam=...) is flagged according to lombok configuration. -11 Use of @NoArgsConstructor(onConstructor=...) is flagged according to lombok configuration. -12 Use of @AllArgsConstructor(onConstructor=...) is flagged according to lombok configuration. -18 Use of @RequiredArgsConstructor(onConstructor=...) is flagged according to lombok configuration. \ No newline at end of file +10 Use of @Getter(onMethod=...) is flagged according to lombok configuration. +11 Use of @Setter(onMethod=...) is flagged according to lombok configuration. +11 Use of @Setter(onParam=...) is flagged according to lombok configuration. +12 Use of @NoArgsConstructor(onConstructor=...) is flagged according to lombok configuration. +13 Use of @AllArgsConstructor(onConstructor=...) is flagged according to lombok configuration. +19 Use of @RequiredArgsConstructor(onConstructor=...) is flagged according to lombok configuration. diff --git a/test/transform/resource/messages-delombok/SynchronizedInRecord.java.messages b/test/transform/resource/messages-delombok/SynchronizedInRecord.java.messages index d40e68b3..af4b11f8 100644 --- a/test/transform/resource/messages-delombok/SynchronizedInRecord.java.messages +++ b/test/transform/resource/messages-delombok/SynchronizedInRecord.java.messages @@ -1 +1 @@ -5 @Synchronized is legal only on methods in classes and enums. +6 @Synchronized is legal only on methods in classes and enums. diff --git a/test/transform/resource/messages-delombok/ValErrors.java.messages b/test/transform/resource/messages-delombok/ValErrors.java.messages index 0777143b..734d3a5a 100644 --- a/test/transform/resource/messages-delombok/ValErrors.java.messages +++ b/test/transform/resource/messages-delombok/ValErrors.java.messages @@ -1,2 +1,2 @@ -6 Cannot use 'val' here because initializer expression does not have a representable type: Type cannot be resolved -10 'val' is not compatible with array initializer expressions. Use the full form (new int[] { ... } instead of just { ... }) +7 Cannot use 'val' here because initializer expression does not have a representable type: Type cannot be resolved +11 'val' is not compatible with array initializer expressions. Use the full form (new int[] { ... } instead of just { ... }) diff --git a/test/transform/resource/messages-delombok/ValInBasicFor.java.messages b/test/transform/resource/messages-delombok/ValInBasicFor.java.messages index 60f8f70c..334a2713 100644 --- a/test/transform/resource/messages-delombok/ValInBasicFor.java.messages +++ b/test/transform/resource/messages-delombok/ValInBasicFor.java.messages @@ -1 +1 @@ -7 'val' is not allowed in old-style for loops +8 'val' is not allowed in old-style for loops diff --git a/test/transform/resource/messages-delombok/VarInForOldMulti.java.messages b/test/transform/resource/messages-delombok/VarInForOldMulti.java.messages index f65fe823..917ca0a0 100644 --- a/test/transform/resource/messages-delombok/VarInForOldMulti.java.messages +++ b/test/transform/resource/messages-delombok/VarInForOldMulti.java.messages @@ -1 +1 @@ -6 'var' is not allowed in old-style for loops if there is more than 1 initializer +7 'var' is not allowed in old-style for loops if there is more than 1 initializer diff --git a/test/transform/resource/messages-delombok/VarNullInit.java.messages b/test/transform/resource/messages-delombok/VarNullInit.java.messages index 5a2a6ae1..a82c77cf 100644 --- a/test/transform/resource/messages-delombok/VarNullInit.java.messages +++ b/test/transform/resource/messages-delombok/VarNullInit.java.messages @@ -1 +1 @@ -5 variable initializer is 'null' \ No newline at end of file +6 variable initializer is 'null' diff --git a/test/transform/resource/messages-delombok/VarWarning.java.messages b/test/transform/resource/messages-delombok/VarWarning.java.messages index 886e98f4..fe6e79a2 100644 --- a/test/transform/resource/messages-delombok/VarWarning.java.messages +++ b/test/transform/resource/messages-delombok/VarWarning.java.messages @@ -1 +1 @@ -6 Use of var is flagged according to lombok configuration \ No newline at end of file +7 Use of var is flagged according to lombok configuration. diff --git a/test/transform/resource/messages-ecj/EqualsAndHashCodeOfAndExcludeWarn.java.messages b/test/transform/resource/messages-ecj/EqualsAndHashCodeOfAndExcludeWarn.java.messages index 2c4fbd68..706282f9 100644 --- a/test/transform/resource/messages-ecj/EqualsAndHashCodeOfAndExcludeWarn.java.messages +++ b/test/transform/resource/messages-ecj/EqualsAndHashCodeOfAndExcludeWarn.java.messages @@ -1,2 +1,2 @@ -1 This field does not exist. -6 This field does not exist, or would have been excluded anyway. \ No newline at end of file +2 This field does not exist. +7 This field does not exist, or would have been excluded anyway. diff --git a/test/transform/resource/messages-ecj/JacksonizedSuperBuilderWithJsonDeserialize.java.messages b/test/transform/resource/messages-ecj/JacksonizedSuperBuilderWithJsonDeserialize.java.messages index 5c69304f..1947a26e 100644 --- a/test/transform/resource/messages-ecj/JacksonizedSuperBuilderWithJsonDeserialize.java.messages +++ b/test/transform/resource/messages-ecj/JacksonizedSuperBuilderWithJsonDeserialize.java.messages @@ -1 +1 @@ -1 @JsonDeserialize already exists on class. Either delete @JsonDeserialize, or remove @Jacksonized and manually configure Jackson. \ No newline at end of file +2 @JsonDeserialize already exists on class. Either delete @JsonDeserialize, or remove @Jacksonized and manually configure Jackson. diff --git a/test/transform/resource/messages-ecj/NonNullOnParameter.java.messages b/test/transform/resource/messages-ecj/NonNullOnParameter.java.messages index 4b7d18b3..b4cf664e 100644 --- a/test/transform/resource/messages-ecj/NonNullOnParameter.java.messages +++ b/test/transform/resource/messages-ecj/NonNullOnParameter.java.messages @@ -1,3 +1,3 @@ -15 Dead code -22 @NonNull is meaningless on a primitive. -28 Dead code \ No newline at end of file +16 Dead code +23 @NonNull is meaningless on a primitive. +29 Dead code diff --git a/test/transform/resource/messages-ecj/NonNullPlain.java.messages b/test/transform/resource/messages-ecj/NonNullPlain.java.messages index 1c33c701..f6709a64 100644 --- a/test/transform/resource/messages-ecj/NonNullPlain.java.messages +++ b/test/transform/resource/messages-ecj/NonNullPlain.java.messages @@ -1 +1 @@ -7 @NonNull is meaningless on a primitive. \ No newline at end of file +8 @NonNull is meaningless on a primitive. diff --git a/test/transform/resource/messages-ecj/OnXFlagUsage.java.messages b/test/transform/resource/messages-ecj/OnXFlagUsage.java.messages index c4187b9f..fbb1ea2c 100644 --- a/test/transform/resource/messages-ecj/OnXFlagUsage.java.messages +++ b/test/transform/resource/messages-ecj/OnXFlagUsage.java.messages @@ -1,6 +1,6 @@ -9 Use of @Getter(onMethod=...) is flagged according to lombok configuration. -10 Use of @Setter(onMethod=...) is flagged according to lombok configuration. -10 Use of @Setter(onParam=...) is flagged according to lombok configuration. -11 Use of @NoArgsConstructor(onConstructor=...) is flagged according to lombok configuration. -12 Use of @AllArgsConstructor(onConstructor=...) is flagged according to lombok configuration. -18 Use of @RequiredArgsConstructor(onConstructor=...) is flagged according to lombok configuration. \ No newline at end of file +10 Use of @Getter(onMethod=...) is flagged according to lombok configuration. +11 Use of @Setter(onMethod=...) is flagged according to lombok configuration. +11 Use of @Setter(onParam=...) is flagged according to lombok configuration. +12 Use of @NoArgsConstructor(onConstructor=...) is flagged according to lombok configuration. +13 Use of @AllArgsConstructor(onConstructor=...) is flagged according to lombok configuration. +19 Use of @RequiredArgsConstructor(onConstructor=...) is flagged according to lombok configuration. diff --git a/test/transform/resource/messages-idempotent/LockedTypeMismatch.java.messages b/test/transform/resource/messages-idempotent/LockedTypeMismatch.java.messages index 195f1466..f5819b1a 100644 --- a/test/transform/resource/messages-idempotent/LockedTypeMismatch.java.messages +++ b/test/transform/resource/messages-idempotent/LockedTypeMismatch.java.messages @@ -1,2 +1,2 @@ -27 cannot find symbol -31 cannot find symbol +28 cannot find symbol method readLock() location: java.util.concurrent.locks.Lock +32 cannot find symbol method readLock() location: java.util.concurrent.locks.Lock diff --git a/test/transform/resource/messages-idempotent/NonNullOnParameter.java.messages b/test/transform/resource/messages-idempotent/NonNullOnParameter.java.messages index 57556bf3..e2a9b468 100644 --- a/test/transform/resource/messages-idempotent/NonNullOnParameter.java.messages +++ b/test/transform/resource/messages-idempotent/NonNullOnParameter.java.messages @@ -1 +1 @@ -33 @NonNull is meaningless on a primitive. \ No newline at end of file +34 @NonNull is meaningless on a primitive. diff --git a/test/transform/resource/messages-idempotent/ValInvalidParameter.java.messages b/test/transform/resource/messages-idempotent/ValInvalidParameter.java.messages index 539d29cd..8fea4d36 100644 --- a/test/transform/resource/messages-idempotent/ValInvalidParameter.java.messages +++ b/test/transform/resource/messages-idempotent/ValInvalidParameter.java.messages @@ -1,9 +1,9 @@ -3 cannot find symbol -4 cannot find symbol -5 cannot find symbol -6 cannot find symbol -7 cannot find symbol -8 cannot find symbol -9 method b2 in class ValInvalidParameter cannot be applied to given types; -10 reference to a is ambiguous -11 reference to a is ambiguous \ No newline at end of file +4 cannot find symbol symbol: class NonExistingClass location: class ValInvalidParameter +5 cannot find symbol symbol: class NonExistingClass location: class ValInvalidParameter +6 cannot find symbol symbol: method nonExisitingMethod(java.lang.Integer) location: class ValInvalidParameter +7 cannot find symbol symbol: variable nonExistingObject location: class ValInvalidParameter +8 cannot find symbol symbol: method nonExistingMethod() location: class java.lang.Integer +9 cannot find symbol symbol: class NonExistingClass location: class ValInvalidParameter +10 method b2 in class ValInvalidParameter cannot be applied to given types; required: int,int found: int reason: actual and formal argument lists differ in length +11 reference to a is ambiguous both method a(java.lang.String) in ValInvalidParameter and method a(java.lang.Integer) in ValInvalidParameter match +12 reference to a is ambiguous both method a(java.lang.String) in ValInvalidParameter and method a(java.lang.Integer) in ValInvalidParameter match