diff --git a/AUTHORS b/AUTHORS index d83703de..3226cee6 100755 --- a/AUTHORS +++ b/AUTHORS @@ -26,6 +26,7 @@ John Paul Taylor II Karthik kathari <44122128+varkart@users.noreply.github.com> Kevin Chirls Liu DongMiao +Liam Pace Luan Nico Maarten Mulders Manu Sridharan diff --git a/doc/changelog.markdown b/doc/changelog.markdown index 744156ed..8dac881b 100644 --- a/doc/changelog.markdown +++ b/doc/changelog.markdown @@ -2,6 +2,7 @@ Lombok Changelog ---------------- ### v1.18.41 "Edgy Guinea Pig" +* FEATURE: All the various `@Log` annotations now allow you to change their access level (they still default to `private`). [#2280](https://github.com/projectlombok/lombok/issues/2280). Thanks to new contributor Liam Pace! * BUGFIX: Javadoc parsing was broken in Netbeans and ErrorProne for JDK25 [#3940](https://github.com/projectlombok/lombok/issues/3940). ### v1.18.40 (September 4th, 2025) diff --git a/docker/gradle/files/classpath/.gitignore b/docker/gradle/files/classpath/.gitignore new file mode 100644 index 00000000..a86f5fa1 --- /dev/null +++ b/docker/gradle/files/classpath/.gitignore @@ -0,0 +1,5 @@ +build/ +.gradle/ +gradle/ +gradlew +gradlew.bat \ No newline at end of file diff --git a/src/core/lombok/AccessLevel.java b/src/core/lombok/AccessLevel.java index 9c138e53..86722229 100644 --- a/src/core/lombok/AccessLevel.java +++ b/src/core/lombok/AccessLevel.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 The Project Lombok Authors. + * Copyright (C) 2009-2025 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 @@ -25,7 +25,24 @@ package lombok; * Represents an AccessLevel. Used e.g. to specify the access level for generated methods and fields. */ public enum AccessLevel { - PUBLIC, MODULE, PROTECTED, PACKAGE, PRIVATE, + /** Represents the {@code public} access level. */ + PUBLIC, + + /** + * Acts exactly like {@code PACKAGE} - the package private access level. + * @deprecated This value was created at a time when a module-level access keyword was planned as a way of being prepared for the future. But that's not the direction java went in; a 'module access level' is not likely to ever exist. This enum acts like {@code PACKAGE} in every way. + */ + @Deprecated MODULE, + + /** Represents the {@code protected} access level (any code in the same package as well as any subtype). */ + PROTECTED, + + /** Represents the default access level: package private. (any code in the same package). */ + PACKAGE, + + /** Represents the {@code private} access level. */ + PRIVATE, + /** Represents not generating anything or the complete lack of a method. */ NONE; } diff --git a/src/core/lombok/CustomLog.java b/src/core/lombok/CustomLog.java index c6ea400d..352ab92d 100644 --- a/src/core/lombok/CustomLog.java +++ b/src/core/lombok/CustomLog.java @@ -65,6 +65,14 @@ import java.lang.annotation.Target; @Retention(RetentionPolicy.SOURCE) @Target(ElementType.TYPE) public @interface CustomLog { + /** + * Sets the access level of the generated log field. + * Default: {@code AccessLevel.PRIVATE}. + * + * @return The constructed Logger method will be generated with this access modifier. + */ + AccessLevel access() default AccessLevel.PRIVATE; + /** * * Sets a custom topic/category. Note that this requires you to specify a parameter configuration for your custom logger that includes {@code TOPIC}. diff --git a/src/core/lombok/eclipse/handlers/EclipseHandlerUtil.java b/src/core/lombok/eclipse/handlers/EclipseHandlerUtil.java index c45d95a1..7eaaf7b6 100644 --- a/src/core/lombok/eclipse/handlers/EclipseHandlerUtil.java +++ b/src/core/lombok/eclipse/handlers/EclipseHandlerUtil.java @@ -1393,6 +1393,7 @@ public class EclipseHandlerUtil { /** * Turns an {@code AccessLevel} instance into the flag bit used by eclipse. */ + @SuppressWarnings("deprecation") // We have to use MODULE here to make it act according to spec, which is to treat it like `PACKAGE`. public static int toEclipseModifier(AccessLevel value) { switch (value) { case MODULE: diff --git a/src/core/lombok/eclipse/handlers/HandleLog.java b/src/core/lombok/eclipse/handlers/HandleLog.java index 2bbc300a..99bd874b 100644 --- a/src/core/lombok/eclipse/handlers/HandleLog.java +++ b/src/core/lombok/eclipse/handlers/HandleLog.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2024 The Project Lombok Authors. + * Copyright (C) 2010-2025 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 @@ -39,6 +39,7 @@ import org.eclipse.jdt.internal.compiler.ast.TypeDeclaration; import org.eclipse.jdt.internal.compiler.ast.TypeReference; import org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants; +import lombok.AccessLevel; import lombok.ConfigurationKeys; import lombok.core.AnnotationValues; import lombok.core.configuration.IdentifierName; @@ -57,7 +58,7 @@ public class HandleLog { throw new UnsupportedOperationException(); } - public static void processAnnotation(LoggingFramework framework, AnnotationValues annotation, Annotation source, EclipseNode annotationNode) { + public static void processAnnotation(LoggingFramework framework, AccessLevel access, AnnotationValues annotation, Annotation source, EclipseNode annotationNode) { EclipseNode owner = annotationNode.up(); switch (owner.getKind()) { @@ -97,6 +98,7 @@ public class HandleLog { Expression loggerTopic = (Expression) annotation.getActualExpression("topic"); if (valueGuess instanceof String && ((String) valueGuess).trim().isEmpty()) loggerTopic = null; + if (framework.getDeclaration().getParametersWithTopic() == null && loggerTopic != null) { annotationNode.addError(framework.getAnnotationAsString() + " does not allow a topic."); loggerTopic = null; @@ -106,8 +108,10 @@ public class HandleLog { loggerTopic = new StringLiteral(new char[]{}, 0, 0, 0); } + if (access == AccessLevel.NONE) break; + ClassLiteralAccess loggingType = selfType(owner, source); - FieldDeclaration fieldDeclaration = createField(framework, source, loggingType, logFieldName.getName(), useStatic, loggerTopic); + FieldDeclaration fieldDeclaration = createField(framework, access, source, loggingType, logFieldName.getName(), useStatic, loggerTopic); fieldDeclaration.traverse(new SetGeneratedByVisitor(source), typeDecl.staticInitializerScope); injectFieldAndMarkGenerated(owner, fieldDeclaration); owner.rebuild(); @@ -131,7 +135,7 @@ public class HandleLog { return result; } - private static FieldDeclaration createField(LoggingFramework framework, Annotation source, ClassLiteralAccess loggingType, String logFieldName, boolean useStatic, Expression loggerTopic) { + private static FieldDeclaration createField(LoggingFramework framework, AccessLevel access, Annotation source, ClassLiteralAccess loggingType, String logFieldName, boolean useStatic, Expression loggerTopic) { int pS = source.sourceStart, pE = source.sourceEnd; long p = (long) pS << 32 | pE; @@ -139,7 +143,7 @@ public class HandleLog { FieldDeclaration fieldDecl = new FieldDeclaration(logFieldName.toCharArray(), 0, -1); setGeneratedBy(fieldDecl, source); fieldDecl.declarationSourceEnd = -1; - fieldDecl.modifiers = Modifier.PRIVATE | (useStatic ? Modifier.STATIC : 0) | Modifier.FINAL; + fieldDecl.modifiers = toEclipseModifier(access) | (useStatic ? Modifier.STATIC : 0) | Modifier.FINAL; LogDeclaration logDeclaration = framework.getDeclaration(); fieldDecl.type = createTypeReference(logDeclaration.getLoggerType().getName(), source); @@ -215,7 +219,7 @@ public class HandleLog { public static class HandleCommonsLog extends EclipseAnnotationHandler { @Override public void handle(AnnotationValues annotation, Annotation source, EclipseNode annotationNode) { handleFlagUsage(annotationNode, ConfigurationKeys.LOG_COMMONS_FLAG_USAGE, "@apachecommons.CommonsLog", ConfigurationKeys.LOG_ANY_FLAG_USAGE, "any @Log"); - processAnnotation(LoggingFramework.COMMONS, annotation, source, annotationNode); + processAnnotation(LoggingFramework.COMMONS, annotation.getInstance().access(), annotation, source, annotationNode); } } @@ -226,7 +230,7 @@ public class HandleLog { public static class HandleJulLog extends EclipseAnnotationHandler { @Override public void handle(AnnotationValues annotation, Annotation source, EclipseNode annotationNode) { handleFlagUsage(annotationNode, ConfigurationKeys.LOG_JUL_FLAG_USAGE, "@java.Log", ConfigurationKeys.LOG_ANY_FLAG_USAGE, "any @Log"); - processAnnotation(LoggingFramework.JUL, annotation, source, annotationNode); + processAnnotation(LoggingFramework.JUL, annotation.getInstance().access(), annotation, source, annotationNode); } } @@ -237,7 +241,7 @@ public class HandleLog { public static class HandleLog4jLog extends EclipseAnnotationHandler { @Override public void handle(AnnotationValues annotation, Annotation source, EclipseNode annotationNode) { handleFlagUsage(annotationNode, ConfigurationKeys.LOG_LOG4J_FLAG_USAGE, "@Log4j", ConfigurationKeys.LOG_ANY_FLAG_USAGE, "any @Log"); - processAnnotation(LoggingFramework.LOG4J, annotation, source, annotationNode); + processAnnotation(LoggingFramework.LOG4J, annotation.getInstance().access(), annotation, source, annotationNode); } } @@ -248,7 +252,7 @@ public class HandleLog { public static class HandleLog4j2Log extends EclipseAnnotationHandler { @Override public void handle(AnnotationValues annotation, Annotation source, EclipseNode annotationNode) { handleFlagUsage(annotationNode, ConfigurationKeys.LOG_LOG4J2_FLAG_USAGE, "@Log4j2", ConfigurationKeys.LOG_ANY_FLAG_USAGE, "any @Log"); - processAnnotation(LoggingFramework.LOG4J2, annotation, source, annotationNode); + processAnnotation(LoggingFramework.LOG4J2, annotation.getInstance().access(), annotation, source, annotationNode); } } @@ -259,7 +263,7 @@ public class HandleLog { public static class HandleSlf4jLog extends EclipseAnnotationHandler { @Override public void handle(AnnotationValues annotation, Annotation source, EclipseNode annotationNode) { handleFlagUsage(annotationNode, ConfigurationKeys.LOG_SLF4J_FLAG_USAGE, "@Slf4j", ConfigurationKeys.LOG_ANY_FLAG_USAGE, "any @Log"); - processAnnotation(LoggingFramework.SLF4J, annotation, source, annotationNode); + processAnnotation(LoggingFramework.SLF4J, annotation.getInstance().access(), annotation, source, annotationNode); } } @@ -270,7 +274,7 @@ public class HandleLog { public static class HandleXSlf4jLog extends EclipseAnnotationHandler { @Override public void handle(AnnotationValues annotation, Annotation source, EclipseNode annotationNode) { handleFlagUsage(annotationNode, ConfigurationKeys.LOG_XSLF4J_FLAG_USAGE, "@XSlf4j", ConfigurationKeys.LOG_ANY_FLAG_USAGE, "any @Log"); - processAnnotation(LoggingFramework.XSLF4J, annotation, source, annotationNode); + processAnnotation(LoggingFramework.XSLF4J, annotation.getInstance().access(), annotation, source, annotationNode); } } @@ -281,7 +285,7 @@ public class HandleLog { public static class HandleJBossLog extends EclipseAnnotationHandler { @Override public void handle(AnnotationValues annotation, Annotation source, EclipseNode annotationNode) { handleFlagUsage(annotationNode, ConfigurationKeys.LOG_JBOSSLOG_FLAG_USAGE, "@JBossLog", ConfigurationKeys.LOG_ANY_FLAG_USAGE, "any @Log"); - processAnnotation(LoggingFramework.JBOSSLOG, annotation, source, annotationNode); + processAnnotation(LoggingFramework.JBOSSLOG, annotation.getInstance().access(), annotation, source, annotationNode); } } @@ -292,7 +296,7 @@ public class HandleLog { public static class HandleFloggerLog extends EclipseAnnotationHandler { @Override public void handle(AnnotationValues annotation, Annotation source, EclipseNode annotationNode) { handleFlagUsage(annotationNode, ConfigurationKeys.LOG_FLOGGER_FLAG_USAGE, "@Flogger", ConfigurationKeys.LOG_ANY_FLAG_USAGE, "any @Log"); - processAnnotation(LoggingFramework.FLOGGER, annotation, source, annotationNode); + processAnnotation(LoggingFramework.FLOGGER, annotation.getInstance().access(), annotation, source, annotationNode); } } @@ -309,7 +313,7 @@ public class HandleLog { return; } LoggingFramework framework = new LoggingFramework(lombok.CustomLog.class, logDeclaration); - processAnnotation(framework, annotation, source, annotationNode); + processAnnotation(framework, annotation.getInstance().access(), annotation, source, annotationNode); } } } diff --git a/src/core/lombok/extern/apachecommons/CommonsLog.java b/src/core/lombok/extern/apachecommons/CommonsLog.java index 973f556f..4ce5a6b7 100644 --- a/src/core/lombok/extern/apachecommons/CommonsLog.java +++ b/src/core/lombok/extern/apachecommons/CommonsLog.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2017 The Project Lombok Authors. + * Copyright (C) 2010-2025 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 @@ -26,6 +26,8 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import lombok.AccessLevel; + /** * Causes lombok to generate a logger field. *

@@ -62,6 +64,14 @@ import java.lang.annotation.Target; @Retention(RetentionPolicy.SOURCE) @Target(ElementType.TYPE) public @interface CommonsLog { + /** + * Sets the access level of the generated log field. + * Default: {@code AccessLevel.PRIVATE}. + * + * @return The constructed Logger method will be generated with this access modifier. + */ + AccessLevel access() default AccessLevel.PRIVATE; + /** @return The category of the constructed Logger. By default, it will use the type where the annotation is placed. */ String topic() default ""; } diff --git a/src/core/lombok/extern/flogger/Flogger.java b/src/core/lombok/extern/flogger/Flogger.java index 893032ed..81f216f9 100644 --- a/src/core/lombok/extern/flogger/Flogger.java +++ b/src/core/lombok/extern/flogger/Flogger.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2018 The Project Lombok Authors. + * Copyright (C) 2018-2025 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 @@ -26,6 +26,8 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import lombok.AccessLevel; + /** * Causes lombok to generate a logger field. *

@@ -60,4 +62,11 @@ import java.lang.annotation.Target; @Retention(RetentionPolicy.SOURCE) @Target(ElementType.TYPE) public @interface Flogger { + /** + * Sets the access level of the generated log field. + * Default: {@code AccessLevel.PRIVATE}. + * + * @return The constructed Logger method will be generated with this access modifier. + */ + AccessLevel access() default AccessLevel.PRIVATE; } diff --git a/src/core/lombok/extern/java/Log.java b/src/core/lombok/extern/java/Log.java index 96e52191..1ecf3c07 100644 --- a/src/core/lombok/extern/java/Log.java +++ b/src/core/lombok/extern/java/Log.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2017 The Project Lombok Authors. + * Copyright (C) 2010-2025 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 @@ -26,6 +26,8 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import lombok.AccessLevel; + /** * Causes lombok to generate a logger field. *

@@ -61,6 +63,14 @@ import java.lang.annotation.Target; @Retention(RetentionPolicy.SOURCE) @Target(ElementType.TYPE) public @interface Log { + /** + * Sets the access level of the generated log field. + * Default: {@code AccessLevel.PRIVATE}. + * + * @return The constructed Logger method will be generated with this access modifier. + */ + AccessLevel access() default AccessLevel.PRIVATE; + /** @return The category of the constructed Logger. By default, it will use the type where the annotation is placed. */ String topic() default ""; } diff --git a/src/core/lombok/extern/jbosslog/JBossLog.java b/src/core/lombok/extern/jbosslog/JBossLog.java index a6e5e353..1c9165e5 100644 --- a/src/core/lombok/extern/jbosslog/JBossLog.java +++ b/src/core/lombok/extern/jbosslog/JBossLog.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2016-2017 The Project Lombok Authors. + * Copyright (C) 2016-2025 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 @@ -26,6 +26,8 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import lombok.AccessLevel; + /** * Causes lombok to generate a logger field. *

@@ -61,6 +63,14 @@ import java.lang.annotation.Target; @Retention(RetentionPolicy.SOURCE) @Target(ElementType.TYPE) public @interface JBossLog { + /** + * Sets the access level of the generated log field. + * Default: {@code AccessLevel.PRIVATE}. + * + * @return The constructed Logger method will be generated with this access modifier. + */ + AccessLevel access() default AccessLevel.PRIVATE; + /** @return The category of the constructed Logger. By default, it will use the type where the annotation is placed. */ String topic() default ""; } diff --git a/src/core/lombok/extern/log4j/Log4j.java b/src/core/lombok/extern/log4j/Log4j.java index 3db01029..0e421e9d 100644 --- a/src/core/lombok/extern/log4j/Log4j.java +++ b/src/core/lombok/extern/log4j/Log4j.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2017 The Project Lombok Authors. + * Copyright (C) 2010-2025 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 @@ -26,6 +26,8 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import lombok.AccessLevel; + /** * Causes lombok to generate a logger field. *

@@ -62,6 +64,14 @@ import java.lang.annotation.Target; @Retention(RetentionPolicy.SOURCE) @Target(ElementType.TYPE) public @interface Log4j { + /** + * Sets the access level of the generated log field. + * Default: {@code AccessLevel.PRIVATE}. + * + * @return The constructed Logger method will be generated with this access modifier. + */ + AccessLevel access() default AccessLevel.PRIVATE; + /** @return The category of the constructed Logger. By default, it will use the type where the annotation is placed. */ String topic() default ""; } diff --git a/src/core/lombok/extern/log4j/Log4j2.java b/src/core/lombok/extern/log4j/Log4j2.java index 3e59a532..9aea5a7a 100644 --- a/src/core/lombok/extern/log4j/Log4j2.java +++ b/src/core/lombok/extern/log4j/Log4j2.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2013-2017 The Project Lombok Authors. + * Copyright (C) 2013-2025 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 @@ -26,6 +26,8 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import lombok.AccessLevel; + /** * Causes lombok to generate a logger field. *

@@ -62,6 +64,14 @@ import java.lang.annotation.Target; @Retention(RetentionPolicy.SOURCE) @Target(ElementType.TYPE) public @interface Log4j2 { + /** + * Sets the access level of the generated log field. + * Default: {@code AccessLevel.PRIVATE}. + * + * @return The constructed Logger method will be generated with this access modifier. + */ + AccessLevel access() default AccessLevel.PRIVATE; + /** @return The category of the constructed Logger. By default, it will use the type where the annotation is placed. */ String topic() default ""; } diff --git a/src/core/lombok/extern/slf4j/Slf4j.java b/src/core/lombok/extern/slf4j/Slf4j.java index da65e27c..bc8cf9fc 100644 --- a/src/core/lombok/extern/slf4j/Slf4j.java +++ b/src/core/lombok/extern/slf4j/Slf4j.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2017 The Project Lombok Authors. + * Copyright (C) 2010-2025 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 @@ -26,6 +26,8 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import lombok.AccessLevel; + /** * Causes lombok to generate a logger field. *

@@ -61,6 +63,14 @@ import java.lang.annotation.Target; @Retention(RetentionPolicy.SOURCE) @Target(ElementType.TYPE) public @interface Slf4j { + /** + * Sets the access level of the generated log field. + * Default: {@code AccessLevel.PRIVATE}. + * + * @return The constructed Logger method will be generated with this access modifier. + */ + AccessLevel access() default AccessLevel.PRIVATE; + /** @return The category of the constructed Logger. By default, it will use the type where the annotation is placed. */ String topic() default ""; } diff --git a/src/core/lombok/extern/slf4j/XSlf4j.java b/src/core/lombok/extern/slf4j/XSlf4j.java index 2dfef265..0ddad2e4 100644 --- a/src/core/lombok/extern/slf4j/XSlf4j.java +++ b/src/core/lombok/extern/slf4j/XSlf4j.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012-2017 The Project Lombok Authors. + * Copyright (C) 2012-2025 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 @@ -26,6 +26,8 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import lombok.AccessLevel; + /** * Causes lombok to generate a logger field. *

@@ -61,6 +63,14 @@ import java.lang.annotation.Target; @Retention(RetentionPolicy.SOURCE) @Target(ElementType.TYPE) public @interface XSlf4j { + /** + * Sets the access level of the generated log field. + * Default: {@code AccessLevel.PRIVATE}. + * + * @return The constructed Logger method will be generated with this access modifier. + */ + AccessLevel access() default AccessLevel.PRIVATE; + /** @return The category of the constructed Logger. By default, it will use the type where the annotation is placed. */ String topic() default ""; } diff --git a/src/core/lombok/javac/handlers/HandleLog.java b/src/core/lombok/javac/handlers/HandleLog.java index 7484ae66..9dca9f48 100644 --- a/src/core/lombok/javac/handlers/HandleLog.java +++ b/src/core/lombok/javac/handlers/HandleLog.java @@ -21,10 +21,21 @@ */ package lombok.javac.handlers; -import static lombok.core.handlers.HandlerUtil.*; +import static lombok.core.handlers.HandlerUtil.handleFlagUsage; import static lombok.javac.Javac.CTC_BOT; import static lombok.javac.handlers.JavacHandlerUtil.*; +import com.sun.tools.javac.code.Flags; +import com.sun.tools.javac.tree.JCTree.JCAnnotation; +import com.sun.tools.javac.tree.JCTree.JCClassDecl; +import com.sun.tools.javac.tree.JCTree.JCExpression; +import com.sun.tools.javac.tree.JCTree.JCFieldAccess; +import com.sun.tools.javac.tree.JCTree.JCMethodInvocation; +import com.sun.tools.javac.tree.JCTree.JCVariableDecl; +import com.sun.tools.javac.util.List; +import com.sun.tools.javac.util.Name; + +import lombok.AccessLevel; import lombok.ConfigurationKeys; import lombok.core.AnnotationValues; import lombok.core.configuration.IdentifierName; @@ -38,16 +49,6 @@ import lombok.javac.JavacTreeMaker; import lombok.javac.handlers.JavacHandlerUtil.MemberExistsResult; import lombok.spi.Provides; -import com.sun.tools.javac.code.Flags; -import com.sun.tools.javac.tree.JCTree.JCAnnotation; -import com.sun.tools.javac.tree.JCTree.JCClassDecl; -import com.sun.tools.javac.tree.JCTree.JCExpression; -import com.sun.tools.javac.tree.JCTree.JCFieldAccess; -import com.sun.tools.javac.tree.JCTree.JCMethodInvocation; -import com.sun.tools.javac.tree.JCTree.JCVariableDecl; -import com.sun.tools.javac.util.List; -import com.sun.tools.javac.util.Name; - public class HandleLog { private static final IdentifierName LOG = IdentifierName.valueOf("log"); @@ -55,7 +56,7 @@ public class HandleLog { throw new UnsupportedOperationException(); } - public static void processAnnotation(LoggingFramework framework, AnnotationValues annotation, JavacNode annotationNode) { + public static void processAnnotation(LoggingFramework framework, AccessLevel access, AnnotationValues annotation, JavacNode annotationNode) { deleteAnnotationIfNeccessary(annotationNode, framework.getAnnotationClass()); JavacNode typeNode = annotationNode.up(); @@ -98,8 +99,10 @@ public class HandleLog { loggerTopic = typeNode.getTreeMaker().Literal(""); } + if (access == AccessLevel.NONE) break; + JCFieldAccess loggingType = selfType(typeNode); - createField(framework, typeNode, loggingType, annotationNode, logFieldName.getName(), useStatic, loggerTopic); + createField(framework, access, typeNode, loggingType, annotationNode, logFieldName.getName(), useStatic, loggerTopic); break; default: annotationNode.addError("@Log is legal only on types."); @@ -113,7 +116,8 @@ public class HandleLog { return maker.Select(maker.Ident(name), typeNode.toName("class")); } - private static boolean createField(LoggingFramework framework, JavacNode typeNode, JCFieldAccess loggingType, JavacNode source, String logFieldName, boolean useStatic, JCExpression loggerTopic) { + + private static boolean createField(LoggingFramework framework, AccessLevel access, JavacNode typeNode, JCFieldAccess loggingType, JavacNode source, String logFieldName, boolean useStatic, JCExpression loggerTopic) { JavacTreeMaker maker = typeNode.getTreeMaker(); LogDeclaration logDeclaration = framework.getDeclaration(); @@ -126,7 +130,7 @@ public class HandleLog { JCMethodInvocation factoryMethodCall = maker.Apply(List.nil(), factoryMethod, List.from(factoryParameters)); JCVariableDecl fieldDecl = recursiveSetGeneratedBy(maker.VarDef( - maker.Modifiers(Flags.PRIVATE | Flags.FINAL | (useStatic ? Flags.STATIC : 0)), + maker.Modifiers(toJavacModifier(access) | Flags.FINAL | (useStatic ? Flags.STATIC : 0)), typeNode.toName(logFieldName), loggerType, factoryMethodCall), source); if (isRecord(typeNode) && Javac.getJavaCompilerVersion() < 16) { @@ -177,7 +181,7 @@ public class HandleLog { public static class HandleCommonsLog extends JavacAnnotationHandler { @Override public void handle(AnnotationValues annotation, JCAnnotation ast, JavacNode annotationNode) { handleFlagUsage(annotationNode, ConfigurationKeys.LOG_COMMONS_FLAG_USAGE, "@apachecommons.CommonsLog", ConfigurationKeys.LOG_ANY_FLAG_USAGE, "any @Log"); - processAnnotation(LoggingFramework.COMMONS, annotation, annotationNode); + processAnnotation(LoggingFramework.COMMONS, annotation.getInstance().access(), annotation, annotationNode); } } @@ -188,7 +192,7 @@ public class HandleLog { public static class HandleJulLog extends JavacAnnotationHandler { @Override public void handle(AnnotationValues annotation, JCAnnotation ast, JavacNode annotationNode) { handleFlagUsage(annotationNode, ConfigurationKeys.LOG_JUL_FLAG_USAGE, "@java.Log", ConfigurationKeys.LOG_ANY_FLAG_USAGE, "any @Log"); - processAnnotation(LoggingFramework.JUL, annotation, annotationNode); + processAnnotation(LoggingFramework.JUL, annotation.getInstance().access(), annotation, annotationNode); } } @@ -199,7 +203,7 @@ public class HandleLog { public static class HandleLog4jLog extends JavacAnnotationHandler { @Override public void handle(AnnotationValues annotation, JCAnnotation ast, JavacNode annotationNode) { handleFlagUsage(annotationNode, ConfigurationKeys.LOG_LOG4J_FLAG_USAGE, "@Log4j", ConfigurationKeys.LOG_ANY_FLAG_USAGE, "any @Log"); - processAnnotation(LoggingFramework.LOG4J, annotation, annotationNode); + processAnnotation(LoggingFramework.LOG4J, annotation.getInstance().access(), annotation, annotationNode); } } @@ -210,7 +214,7 @@ public class HandleLog { public static class HandleLog4j2Log extends JavacAnnotationHandler { @Override public void handle(AnnotationValues annotation, JCAnnotation ast, JavacNode annotationNode) { handleFlagUsage(annotationNode, ConfigurationKeys.LOG_LOG4J2_FLAG_USAGE, "@Log4j2", ConfigurationKeys.LOG_ANY_FLAG_USAGE, "any @Log"); - processAnnotation(LoggingFramework.LOG4J2, annotation, annotationNode); + processAnnotation(LoggingFramework.LOG4J2, annotation.getInstance().access(), annotation, annotationNode); } } @@ -221,7 +225,7 @@ public class HandleLog { public static class HandleSlf4jLog extends JavacAnnotationHandler { @Override public void handle(AnnotationValues annotation, JCAnnotation ast, JavacNode annotationNode) { handleFlagUsage(annotationNode, ConfigurationKeys.LOG_SLF4J_FLAG_USAGE, "@Slf4j", ConfigurationKeys.LOG_ANY_FLAG_USAGE, "any @Log"); - processAnnotation(LoggingFramework.SLF4J, annotation, annotationNode); + processAnnotation(LoggingFramework.SLF4J, annotation.getInstance().access(), annotation, annotationNode); } } @@ -232,7 +236,7 @@ public class HandleLog { public static class HandleXSlf4jLog extends JavacAnnotationHandler { @Override public void handle(AnnotationValues annotation, JCAnnotation ast, JavacNode annotationNode) { handleFlagUsage(annotationNode, ConfigurationKeys.LOG_XSLF4J_FLAG_USAGE, "@XSlf4j", ConfigurationKeys.LOG_ANY_FLAG_USAGE, "any @Log"); - processAnnotation(LoggingFramework.XSLF4J, annotation, annotationNode); + processAnnotation(LoggingFramework.XSLF4J, annotation.getInstance().access(), annotation, annotationNode); } } @@ -243,7 +247,7 @@ public class HandleLog { public static class HandleJBossLog extends JavacAnnotationHandler { @Override public void handle(AnnotationValues annotation, JCAnnotation ast, JavacNode annotationNode) { handleFlagUsage(annotationNode, ConfigurationKeys.LOG_JBOSSLOG_FLAG_USAGE, "@JBossLog", ConfigurationKeys.LOG_ANY_FLAG_USAGE, "any @Log"); - processAnnotation(LoggingFramework.JBOSSLOG, annotation, annotationNode); + processAnnotation(LoggingFramework.JBOSSLOG, annotation.getInstance().access(), annotation, annotationNode); } } @@ -254,7 +258,7 @@ public class HandleLog { public static class HandleFloggerLog extends JavacAnnotationHandler { @Override public void handle(AnnotationValues annotation, JCAnnotation ast, JavacNode annotationNode) { handleFlagUsage(annotationNode, ConfigurationKeys.LOG_FLOGGER_FLAG_USAGE, "@Flogger", ConfigurationKeys.LOG_ANY_FLAG_USAGE, "any @Log"); - processAnnotation(LoggingFramework.FLOGGER, annotation, annotationNode); + processAnnotation(LoggingFramework.FLOGGER, annotation.getInstance().access(), annotation, annotationNode); } } @@ -271,7 +275,7 @@ public class HandleLog { return; } LoggingFramework framework = new LoggingFramework(lombok.CustomLog.class, logDeclaration); - processAnnotation(framework, annotation, annotationNode); + processAnnotation(framework, annotation.getInstance().access(), annotation, annotationNode); } } } diff --git a/src/core/lombok/javac/handlers/JavacHandlerUtil.java b/src/core/lombok/javac/handlers/JavacHandlerUtil.java index f243c56a..0c075295 100644 --- a/src/core/lombok/javac/handlers/JavacHandlerUtil.java +++ b/src/core/lombok/javac/handlers/JavacHandlerUtil.java @@ -997,6 +997,7 @@ public class JavacHandlerUtil { /** * Turns an {@code AccessLevel} instance into the flag bit used by javac. */ + @SuppressWarnings("deprecation") // We have to use MODULE here to make it act according to spec, which is to treat it like `PACKAGE`. public static int toJavacModifier(AccessLevel accessLevel) { switch (accessLevel) { case MODULE: diff --git a/test/transform/resource/after-delombok/LoggerCommonsAccess.java b/test/transform/resource/after-delombok/LoggerCommonsAccess.java new file mode 100644 index 00000000..5a4c648f --- /dev/null +++ b/test/transform/resource/after-delombok/LoggerCommonsAccess.java @@ -0,0 +1,33 @@ +import lombok.AccessLevel; +class LoggerCommonsAccessPublic { + @java.lang.SuppressWarnings("all") + @lombok.Generated + public static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LoggerCommonsAccessPublic.class); + +} +class LoggerCommonsAccessModule { + @java.lang.SuppressWarnings("all") + @lombok.Generated + static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LoggerCommonsAccessModule.class); + +} +class LoggerCommonsAccessProtected { + @java.lang.SuppressWarnings("all") + @lombok.Generated + protected static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LoggerCommonsAccessProtected.class); + +} +class LoggerCommonsAccessPackage { + @java.lang.SuppressWarnings("all") + @lombok.Generated + static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LoggerCommonsAccessPackage.class); + +} +class LoggerCommonsAccessPrivate { + @java.lang.SuppressWarnings("all") + @lombok.Generated + private static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LoggerCommonsAccessPrivate.class); + +} +class LoggerCommonsAccessNone { +} diff --git a/test/transform/resource/after-delombok/LoggerCustomAccess.java b/test/transform/resource/after-delombok/LoggerCustomAccess.java new file mode 100644 index 00000000..d3f3806d --- /dev/null +++ b/test/transform/resource/after-delombok/LoggerCustomAccess.java @@ -0,0 +1,41 @@ +import lombok.AccessLevel; +class LoggerCustomAccessPublic { + @java.lang.SuppressWarnings("all") + @lombok.Generated + public static final MyLogger log = MyLoggerFactory.create(LoggerCustomAccessPublic.class); + +} +class LoggerCustomAccessModule { + @java.lang.SuppressWarnings("all") + @lombok.Generated + static final MyLogger log = MyLoggerFactory.create(LoggerCustomAccessModule.class); + +} +class LoggerCustomAccessProtected { + @java.lang.SuppressWarnings("all") + @lombok.Generated + protected static final MyLogger log = MyLoggerFactory.create(LoggerCustomAccessProtected.class); + +} +class LoggerCustomAccessPackage { + @java.lang.SuppressWarnings("all") + @lombok.Generated + static final MyLogger log = MyLoggerFactory.create(LoggerCustomAccessPackage.class); + +} +class LoggerCustomAccessPrivate { + @java.lang.SuppressWarnings("all") + @lombok.Generated + private static final MyLogger log = MyLoggerFactory.create(LoggerCustomAccessPrivate.class); + +} +class LoggerCustomAccessNone { +} +class MyLoggerFactory { + static MyLogger create(Class clazz) { + return null; + } +} +class MyLogger { +} + diff --git a/test/transform/resource/after-delombok/LoggerFloggerAccess.java b/test/transform/resource/after-delombok/LoggerFloggerAccess.java new file mode 100644 index 00000000..8da287c4 --- /dev/null +++ b/test/transform/resource/after-delombok/LoggerFloggerAccess.java @@ -0,0 +1,33 @@ +import lombok.AccessLevel; +class LoggerFloggerAccessPublic { + @java.lang.SuppressWarnings("all") + @lombok.Generated + public static final com.google.common.flogger.FluentLogger log = com.google.common.flogger.FluentLogger.forEnclosingClass(); + +} +class LoggerFloggerAccessModule { + @java.lang.SuppressWarnings("all") + @lombok.Generated + static final com.google.common.flogger.FluentLogger log = com.google.common.flogger.FluentLogger.forEnclosingClass(); + +} +class LoggerFloggerAccessProtected { + @java.lang.SuppressWarnings("all") + @lombok.Generated + protected static final com.google.common.flogger.FluentLogger log = com.google.common.flogger.FluentLogger.forEnclosingClass(); + +} +class LoggerFloggerAccessPackage { + @java.lang.SuppressWarnings("all") + @lombok.Generated + static final com.google.common.flogger.FluentLogger log = com.google.common.flogger.FluentLogger.forEnclosingClass(); + +} +class LoggerFloggerAccessPrivate { + @java.lang.SuppressWarnings("all") + @lombok.Generated + private static final com.google.common.flogger.FluentLogger log = com.google.common.flogger.FluentLogger.forEnclosingClass(); + +} +class LoggerFloggerAccessNone { +} diff --git a/test/transform/resource/after-delombok/LoggerJBossLogAccess.java b/test/transform/resource/after-delombok/LoggerJBossLogAccess.java new file mode 100644 index 00000000..bcb25fd4 --- /dev/null +++ b/test/transform/resource/after-delombok/LoggerJBossLogAccess.java @@ -0,0 +1,33 @@ +import lombok.AccessLevel; +class LoggerJBossLogAccessPublic { + @java.lang.SuppressWarnings("all") + @lombok.Generated + public static final org.jboss.logging.Logger log = org.jboss.logging.Logger.getLogger(LoggerJBossLogAccessPublic.class); + +} +class LoggerJBossLogAccessModule { + @java.lang.SuppressWarnings("all") + @lombok.Generated + static final org.jboss.logging.Logger log = org.jboss.logging.Logger.getLogger(LoggerJBossLogAccessModule.class); + +} +class LoggerJBossLogAccessProtected { + @java.lang.SuppressWarnings("all") + @lombok.Generated + protected static final org.jboss.logging.Logger log = org.jboss.logging.Logger.getLogger(LoggerJBossLogAccessProtected.class); + +} +class LoggerJBossLogAccessPackage { + @java.lang.SuppressWarnings("all") + @lombok.Generated + static final org.jboss.logging.Logger log = org.jboss.logging.Logger.getLogger(LoggerJBossLogAccessPackage.class); + +} +class LoggerJBossLogAccessPrivate { + @java.lang.SuppressWarnings("all") + @lombok.Generated + private static final org.jboss.logging.Logger log = org.jboss.logging.Logger.getLogger(LoggerJBossLogAccessPrivate.class); + +} +class LoggerJBossLogAccessNone { +} diff --git a/test/transform/resource/after-delombok/LoggerJulAccess.java b/test/transform/resource/after-delombok/LoggerJulAccess.java new file mode 100644 index 00000000..37aa78b7 --- /dev/null +++ b/test/transform/resource/after-delombok/LoggerJulAccess.java @@ -0,0 +1,33 @@ +import lombok.AccessLevel; +class LoggerJulAccessPublic { + @java.lang.SuppressWarnings("all") + @lombok.Generated + public static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(LoggerJulAccessPublic.class.getName()); + +} +class LoggerJulAccessModule { + @java.lang.SuppressWarnings("all") + @lombok.Generated + static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(LoggerJulAccessModule.class.getName()); + +} +class LoggerJulAccessProtected { + @java.lang.SuppressWarnings("all") + @lombok.Generated + protected static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(LoggerJulAccessProtected.class.getName()); + +} +class LoggerJulAccessPackage { + @java.lang.SuppressWarnings("all") + @lombok.Generated + static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(LoggerJulAccessPackage.class.getName()); + +} +class LoggerJulAccessPrivate { + @java.lang.SuppressWarnings("all") + @lombok.Generated + private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(LoggerJulAccessPrivate.class.getName()); + +} +class LoggerJulAccessNone { +} diff --git a/test/transform/resource/after-delombok/LoggerLog4j2Access.java b/test/transform/resource/after-delombok/LoggerLog4j2Access.java new file mode 100644 index 00000000..fc067a86 --- /dev/null +++ b/test/transform/resource/after-delombok/LoggerLog4j2Access.java @@ -0,0 +1,33 @@ +import lombok.AccessLevel; +class LoggerLog4j2AccessPublic { + @java.lang.SuppressWarnings("all") + @lombok.Generated + public static final org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger(LoggerLog4j2AccessPublic.class); + +} +class LoggerLog4j2AccessModule { + @java.lang.SuppressWarnings("all") + @lombok.Generated + static final org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger(LoggerLog4j2AccessModule.class); + +} +class LoggerLog4j2AccessProtected { + @java.lang.SuppressWarnings("all") + @lombok.Generated + protected static final org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger(LoggerLog4j2AccessProtected.class); + +} +class LoggerLog4j2AccessPackage { + @java.lang.SuppressWarnings("all") + @lombok.Generated + static final org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger(LoggerLog4j2AccessPackage.class); + +} +class LoggerLog4j2AccessPrivate { + @java.lang.SuppressWarnings("all") + @lombok.Generated + private static final org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger(LoggerLog4j2AccessPrivate.class); + +} +class LoggerLog4j2AccessNone { +} diff --git a/test/transform/resource/after-delombok/LoggerLog4jAccess.java b/test/transform/resource/after-delombok/LoggerLog4jAccess.java new file mode 100644 index 00000000..fd7939ce --- /dev/null +++ b/test/transform/resource/after-delombok/LoggerLog4jAccess.java @@ -0,0 +1,33 @@ +import lombok.AccessLevel; +class LoggerLog4jAccessPublic { + @java.lang.SuppressWarnings("all") + @lombok.Generated + public static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(LoggerLog4jAccessPublic.class); + +} +class LoggerLog4jAccessModule { + @java.lang.SuppressWarnings("all") + @lombok.Generated + static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(LoggerLog4jAccessModule.class); + +} +class LoggerLog4jAccessProtected { + @java.lang.SuppressWarnings("all") + @lombok.Generated + protected static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(LoggerLog4jAccessProtected.class); + +} +class LoggerLog4jAccessPackage { + @java.lang.SuppressWarnings("all") + @lombok.Generated + static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(LoggerLog4jAccessPackage.class); + +} +class LoggerLog4jAccessPrivate { + @java.lang.SuppressWarnings("all") + @lombok.Generated + private static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(LoggerLog4jAccessPrivate.class); + +} +class LoggerLog4jAccessNone { +} diff --git a/test/transform/resource/after-delombok/LoggerSlf4jAccess.java b/test/transform/resource/after-delombok/LoggerSlf4jAccess.java new file mode 100644 index 00000000..e43304a8 --- /dev/null +++ b/test/transform/resource/after-delombok/LoggerSlf4jAccess.java @@ -0,0 +1,33 @@ +import lombok.AccessLevel; +class LoggerSlf4jAccessPublic { + @java.lang.SuppressWarnings("all") + @lombok.Generated + public static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LoggerSlf4jAccessPublic.class); + +} +class LoggerSlf4jAccessModule { + @java.lang.SuppressWarnings("all") + @lombok.Generated + static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LoggerSlf4jAccessModule.class); + +} +class LoggerSlf4jAccessProtected { + @java.lang.SuppressWarnings("all") + @lombok.Generated + protected static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LoggerSlf4jAccessProtected.class); + +} +class LoggerSlf4jAccessPackage { + @java.lang.SuppressWarnings("all") + @lombok.Generated + static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LoggerSlf4jAccessPackage.class); + +} +class LoggerSlf4jAccessPrivate { + @java.lang.SuppressWarnings("all") + @lombok.Generated + private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LoggerSlf4jAccessPrivate.class); + +} +class LoggerSlf4jAccessNone { +} diff --git a/test/transform/resource/after-delombok/LoggerXslf4jAccess.java b/test/transform/resource/after-delombok/LoggerXslf4jAccess.java new file mode 100644 index 00000000..47035f59 --- /dev/null +++ b/test/transform/resource/after-delombok/LoggerXslf4jAccess.java @@ -0,0 +1,33 @@ +import lombok.AccessLevel; +class LoggerXslf4jAccessPublic { + @java.lang.SuppressWarnings("all") + @lombok.Generated + public static final org.slf4j.ext.XLogger log = org.slf4j.ext.XLoggerFactory.getXLogger(LoggerXslf4jAccessPublic.class); + +} +class LoggerXslf4jAccessModule { + @java.lang.SuppressWarnings("all") + @lombok.Generated + static final org.slf4j.ext.XLogger log = org.slf4j.ext.XLoggerFactory.getXLogger(LoggerXslf4jAccessModule.class); + +} +class LoggerXslf4jAccessProtected { + @java.lang.SuppressWarnings("all") + @lombok.Generated + protected static final org.slf4j.ext.XLogger log = org.slf4j.ext.XLoggerFactory.getXLogger(LoggerXslf4jAccessProtected.class); + +} +class LoggerXslf4jAccessPackage { + @java.lang.SuppressWarnings("all") + @lombok.Generated + static final org.slf4j.ext.XLogger log = org.slf4j.ext.XLoggerFactory.getXLogger(LoggerXslf4jAccessPackage.class); + +} +class LoggerXslf4jAccessPrivate { + @java.lang.SuppressWarnings("all") + @lombok.Generated + private static final org.slf4j.ext.XLogger log = org.slf4j.ext.XLoggerFactory.getXLogger(LoggerXslf4jAccessPrivate.class); + +} +class LoggerXslf4jAccessNone { +} diff --git a/test/transform/resource/after-ecj/LoggerCommonsAccess.java b/test/transform/resource/after-ecj/LoggerCommonsAccess.java new file mode 100644 index 00000000..308fa2a5 --- /dev/null +++ b/test/transform/resource/after-ecj/LoggerCommonsAccess.java @@ -0,0 +1,52 @@ +import lombok.AccessLevel; +import lombok.extern.apachecommons.CommonsLog; +@CommonsLog(access = AccessLevel.PUBLIC) class LoggerCommonsAccessPublic { + public static final @java.lang.SuppressWarnings("all") @lombok.Generated org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LoggerCommonsAccessPublic.class); + () { + } + + LoggerCommonsAccessPublic() { + super(); + } +} +@CommonsLog(access = AccessLevel.MODULE) class LoggerCommonsAccessModule { + static final @java.lang.SuppressWarnings("all") @lombok.Generated org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LoggerCommonsAccessModule.class); + () { + } + + LoggerCommonsAccessModule() { + super(); + } +} +@CommonsLog(access = AccessLevel.PROTECTED) class LoggerCommonsAccessProtected { + protected static final @java.lang.SuppressWarnings("all") @lombok.Generated org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LoggerCommonsAccessProtected.class); + () { + } + + LoggerCommonsAccessProtected() { + super(); + } +} +@CommonsLog(access = AccessLevel.PACKAGE) class LoggerCommonsAccessPackage { + static final @java.lang.SuppressWarnings("all") @lombok.Generated org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LoggerCommonsAccessPackage.class); + () { + } + + LoggerCommonsAccessPackage() { + super(); + } +} +@CommonsLog(access = AccessLevel.PRIVATE) class LoggerCommonsAccessPrivate { + private static final @java.lang.SuppressWarnings("all") @lombok.Generated org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LoggerCommonsAccessPrivate.class); + () { + } + + LoggerCommonsAccessPrivate() { + super(); + } +} +@CommonsLog(access = AccessLevel.NONE) class LoggerCommonsAccessNone { + LoggerCommonsAccessNone() { + super(); + } +} diff --git a/test/transform/resource/after-ecj/LoggerCustomAccess.java b/test/transform/resource/after-ecj/LoggerCustomAccess.java new file mode 100644 index 00000000..82b72ef1 --- /dev/null +++ b/test/transform/resource/after-ecj/LoggerCustomAccess.java @@ -0,0 +1,66 @@ +import lombok.AccessLevel; +import lombok.CustomLog; +@CustomLog(access = AccessLevel.PUBLIC) class LoggerCustomAccessPublic { + public static final @java.lang.SuppressWarnings("all") @lombok.Generated MyLogger log = MyLoggerFactory.create(LoggerCustomAccessPublic.class); + () { + } + + LoggerCustomAccessPublic() { + super(); + } +} +@CustomLog(access = AccessLevel.MODULE) class LoggerCustomAccessModule { + static final @java.lang.SuppressWarnings("all") @lombok.Generated MyLogger log = MyLoggerFactory.create(LoggerCustomAccessModule.class); + () { + } + + LoggerCustomAccessModule() { + super(); + } +} +@CustomLog(access = AccessLevel.PROTECTED) class LoggerCustomAccessProtected { + protected static final @java.lang.SuppressWarnings("all") @lombok.Generated MyLogger log = MyLoggerFactory.create(LoggerCustomAccessProtected.class); + () { + } + + LoggerCustomAccessProtected() { + super(); + } +} +@CustomLog(access = AccessLevel.PACKAGE) class LoggerCustomAccessPackage { + static final @java.lang.SuppressWarnings("all") @lombok.Generated MyLogger log = MyLoggerFactory.create(LoggerCustomAccessPackage.class); + () { + } + + LoggerCustomAccessPackage() { + super(); + } +} +@CustomLog(access = AccessLevel.PRIVATE) class LoggerCustomAccessPrivate { + private static final @java.lang.SuppressWarnings("all") @lombok.Generated MyLogger log = MyLoggerFactory.create(LoggerCustomAccessPrivate.class); + () { + } + + LoggerCustomAccessPrivate() { + super(); + } +} +@CustomLog(access = AccessLevel.NONE) class LoggerCustomAccessNone { + LoggerCustomAccessNone() { + super(); + } +} +class MyLoggerFactory { + MyLoggerFactory() { + super(); + } + static MyLogger create(Class clazz) { + return null; + } +} +class MyLogger { + MyLogger() { + super(); + } +} + diff --git a/test/transform/resource/after-ecj/LoggerFloggerAccess.java b/test/transform/resource/after-ecj/LoggerFloggerAccess.java new file mode 100644 index 00000000..125c479f --- /dev/null +++ b/test/transform/resource/after-ecj/LoggerFloggerAccess.java @@ -0,0 +1,52 @@ +import lombok.AccessLevel; +import lombok.extern.flogger.Flogger; +@Flogger(access = AccessLevel.PUBLIC) class LoggerFloggerAccessPublic { + public static final @java.lang.SuppressWarnings("all") @lombok.Generated com.google.common.flogger.FluentLogger log = com.google.common.flogger.FluentLogger.forEnclosingClass(); + () { + } + + LoggerFloggerAccessPublic() { + super(); + } +} +@Flogger(access = AccessLevel.MODULE) class LoggerFloggerAccessModule { + static final @java.lang.SuppressWarnings("all") @lombok.Generated com.google.common.flogger.FluentLogger log = com.google.common.flogger.FluentLogger.forEnclosingClass(); + () { + } + + LoggerFloggerAccessModule() { + super(); + } +} +@Flogger(access = AccessLevel.PROTECTED) class LoggerFloggerAccessProtected { + protected static final @java.lang.SuppressWarnings("all") @lombok.Generated com.google.common.flogger.FluentLogger log = com.google.common.flogger.FluentLogger.forEnclosingClass(); + () { + } + + LoggerFloggerAccessProtected() { + super(); + } +} +@Flogger(access = AccessLevel.PACKAGE) class LoggerFloggerAccessPackage { + static final @java.lang.SuppressWarnings("all") @lombok.Generated com.google.common.flogger.FluentLogger log = com.google.common.flogger.FluentLogger.forEnclosingClass(); + () { + } + + LoggerFloggerAccessPackage() { + super(); + } +} +@Flogger(access = AccessLevel.PRIVATE) class LoggerFloggerAccessPrivate { + private static final @java.lang.SuppressWarnings("all") @lombok.Generated com.google.common.flogger.FluentLogger log = com.google.common.flogger.FluentLogger.forEnclosingClass(); + () { + } + + LoggerFloggerAccessPrivate() { + super(); + } +} +@Flogger(access = AccessLevel.NONE) class LoggerFloggerAccessNone { + LoggerFloggerAccessNone() { + super(); + } +} diff --git a/test/transform/resource/after-ecj/LoggerJBossLogAccess.java b/test/transform/resource/after-ecj/LoggerJBossLogAccess.java new file mode 100644 index 00000000..5a156783 --- /dev/null +++ b/test/transform/resource/after-ecj/LoggerJBossLogAccess.java @@ -0,0 +1,52 @@ +import lombok.AccessLevel; +import lombok.extern.jbosslog.JBossLog; +@JBossLog(access = AccessLevel.PUBLIC) class LoggerJBossLogAccessPublic { + public static final @java.lang.SuppressWarnings("all") @lombok.Generated org.jboss.logging.Logger log = org.jboss.logging.Logger.getLogger(LoggerJBossLogAccessPublic.class); + () { + } + + LoggerJBossLogAccessPublic() { + super(); + } +} +@JBossLog(access = AccessLevel.MODULE) class LoggerJBossLogAccessModule { + static final @java.lang.SuppressWarnings("all") @lombok.Generated org.jboss.logging.Logger log = org.jboss.logging.Logger.getLogger(LoggerJBossLogAccessModule.class); + () { + } + + LoggerJBossLogAccessModule() { + super(); + } +} +@JBossLog(access = AccessLevel.PROTECTED) class LoggerJBossLogAccessProtected { + protected static final @java.lang.SuppressWarnings("all") @lombok.Generated org.jboss.logging.Logger log = org.jboss.logging.Logger.getLogger(LoggerJBossLogAccessProtected.class); + () { + } + + LoggerJBossLogAccessProtected() { + super(); + } +} +@JBossLog(access = AccessLevel.PACKAGE) class LoggerJBossLogAccessPackage { + static final @java.lang.SuppressWarnings("all") @lombok.Generated org.jboss.logging.Logger log = org.jboss.logging.Logger.getLogger(LoggerJBossLogAccessPackage.class); + () { + } + + LoggerJBossLogAccessPackage() { + super(); + } +} +@JBossLog(access = AccessLevel.PRIVATE) class LoggerJBossLogAccessPrivate { + private static final @java.lang.SuppressWarnings("all") @lombok.Generated org.jboss.logging.Logger log = org.jboss.logging.Logger.getLogger(LoggerJBossLogAccessPrivate.class); + () { + } + + LoggerJBossLogAccessPrivate() { + super(); + } +} +@JBossLog(access = AccessLevel.NONE) class LoggerJBossLogAccessNone { + LoggerJBossLogAccessNone() { + super(); + } +} diff --git a/test/transform/resource/after-ecj/LoggerJulAccess.java b/test/transform/resource/after-ecj/LoggerJulAccess.java new file mode 100644 index 00000000..6f0210f6 --- /dev/null +++ b/test/transform/resource/after-ecj/LoggerJulAccess.java @@ -0,0 +1,52 @@ +import lombok.AccessLevel; +import lombok.extern.java.Log; +@Log(access = AccessLevel.PUBLIC) class LoggerJulAccessPublic { + public static final @java.lang.SuppressWarnings("all") @lombok.Generated java.util.logging.Logger log = java.util.logging.Logger.getLogger(LoggerJulAccessPublic.class.getName()); + () { + } + + LoggerJulAccessPublic() { + super(); + } +} +@Log(access = AccessLevel.MODULE) class LoggerJulAccessModule { + static final @java.lang.SuppressWarnings("all") @lombok.Generated java.util.logging.Logger log = java.util.logging.Logger.getLogger(LoggerJulAccessModule.class.getName()); + () { + } + + LoggerJulAccessModule() { + super(); + } +} +@Log(access = AccessLevel.PROTECTED) class LoggerJulAccessProtected { + protected static final @java.lang.SuppressWarnings("all") @lombok.Generated java.util.logging.Logger log = java.util.logging.Logger.getLogger(LoggerJulAccessProtected.class.getName()); + () { + } + + LoggerJulAccessProtected() { + super(); + } +} +@Log(access = AccessLevel.PACKAGE) class LoggerJulAccessPackage { + static final @java.lang.SuppressWarnings("all") @lombok.Generated java.util.logging.Logger log = java.util.logging.Logger.getLogger(LoggerJulAccessPackage.class.getName()); + () { + } + + LoggerJulAccessPackage() { + super(); + } +} +@Log(access = AccessLevel.PRIVATE) class LoggerJulAccessPrivate { + private static final @java.lang.SuppressWarnings("all") @lombok.Generated java.util.logging.Logger log = java.util.logging.Logger.getLogger(LoggerJulAccessPrivate.class.getName()); + () { + } + + LoggerJulAccessPrivate() { + super(); + } +} +@Log(access = AccessLevel.NONE) class LoggerJulAccessNone { + LoggerJulAccessNone() { + super(); + } +} diff --git a/test/transform/resource/after-ecj/LoggerLog4j2Access.java b/test/transform/resource/after-ecj/LoggerLog4j2Access.java new file mode 100644 index 00000000..0ce19d8d --- /dev/null +++ b/test/transform/resource/after-ecj/LoggerLog4j2Access.java @@ -0,0 +1,52 @@ +import lombok.AccessLevel; +import lombok.extern.log4j.Log4j2; +@Log4j2(access = AccessLevel.PUBLIC) class LoggerLog4j2AccessPublic { + public static final @java.lang.SuppressWarnings("all") @lombok.Generated org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger(LoggerLog4j2AccessPublic.class); + () { + } + + LoggerLog4j2AccessPublic() { + super(); + } +} +@Log4j2(access = AccessLevel.MODULE) class LoggerLog4j2AccessModule { + static final @java.lang.SuppressWarnings("all") @lombok.Generated org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger(LoggerLog4j2AccessModule.class); + () { + } + + LoggerLog4j2AccessModule() { + super(); + } +} +@Log4j2(access = AccessLevel.PROTECTED) class LoggerLog4j2AccessProtected { + protected static final @java.lang.SuppressWarnings("all") @lombok.Generated org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger(LoggerLog4j2AccessProtected.class); + () { + } + + LoggerLog4j2AccessProtected() { + super(); + } +} +@Log4j2(access = AccessLevel.PACKAGE) class LoggerLog4j2AccessPackage { + static final @java.lang.SuppressWarnings("all") @lombok.Generated org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger(LoggerLog4j2AccessPackage.class); + () { + } + + LoggerLog4j2AccessPackage() { + super(); + } +} +@Log4j2(access = AccessLevel.PRIVATE) class LoggerLog4j2AccessPrivate { + private static final @java.lang.SuppressWarnings("all") @lombok.Generated org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger(LoggerLog4j2AccessPrivate.class); + () { + } + + LoggerLog4j2AccessPrivate() { + super(); + } +} +@Log4j2(access = AccessLevel.NONE) class LoggerLog4j2AccessNone { + LoggerLog4j2AccessNone() { + super(); + } +} diff --git a/test/transform/resource/after-ecj/LoggerLog4jAccess.java b/test/transform/resource/after-ecj/LoggerLog4jAccess.java new file mode 100644 index 00000000..fb82d92b --- /dev/null +++ b/test/transform/resource/after-ecj/LoggerLog4jAccess.java @@ -0,0 +1,52 @@ +import lombok.AccessLevel; +import lombok.extern.log4j.Log4j; +@Log4j(access = AccessLevel.PUBLIC) class LoggerLog4jAccessPublic { + public static final @java.lang.SuppressWarnings("all") @lombok.Generated org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(LoggerLog4jAccessPublic.class); + () { + } + + LoggerLog4jAccessPublic() { + super(); + } +} +@Log4j(access = AccessLevel.MODULE) class LoggerLog4jAccessModule { + static final @java.lang.SuppressWarnings("all") @lombok.Generated org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(LoggerLog4jAccessModule.class); + () { + } + + LoggerLog4jAccessModule() { + super(); + } +} +@Log4j(access = AccessLevel.PROTECTED) class LoggerLog4jAccessProtected { + protected static final @java.lang.SuppressWarnings("all") @lombok.Generated org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(LoggerLog4jAccessProtected.class); + () { + } + + LoggerLog4jAccessProtected() { + super(); + } +} +@Log4j(access = AccessLevel.PACKAGE) class LoggerLog4jAccessPackage { + static final @java.lang.SuppressWarnings("all") @lombok.Generated org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(LoggerLog4jAccessPackage.class); + () { + } + + LoggerLog4jAccessPackage() { + super(); + } +} +@Log4j(access = AccessLevel.PRIVATE) class LoggerLog4jAccessPrivate { + private static final @java.lang.SuppressWarnings("all") @lombok.Generated org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(LoggerLog4jAccessPrivate.class); + () { + } + + LoggerLog4jAccessPrivate() { + super(); + } +} +@Log4j(access = AccessLevel.NONE) class LoggerLog4jAccessNone { + LoggerLog4jAccessNone() { + super(); + } +} diff --git a/test/transform/resource/after-ecj/LoggerSlf4jAccess.java b/test/transform/resource/after-ecj/LoggerSlf4jAccess.java new file mode 100644 index 00000000..90fad6f1 --- /dev/null +++ b/test/transform/resource/after-ecj/LoggerSlf4jAccess.java @@ -0,0 +1,52 @@ +import lombok.AccessLevel; +import lombok.extern.slf4j.Slf4j; +@Slf4j(access = AccessLevel.PUBLIC) class LoggerSlf4jAccessPublic { + public static final @java.lang.SuppressWarnings("all") @lombok.Generated org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LoggerSlf4jAccessPublic.class); + () { + } + + LoggerSlf4jAccessPublic() { + super(); + } +} +@Slf4j(access = AccessLevel.MODULE) class LoggerSlf4jAccessModule { + static final @java.lang.SuppressWarnings("all") @lombok.Generated org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LoggerSlf4jAccessModule.class); + () { + } + + LoggerSlf4jAccessModule() { + super(); + } +} +@Slf4j(access = AccessLevel.PROTECTED) class LoggerSlf4jAccessProtected { + protected static final @java.lang.SuppressWarnings("all") @lombok.Generated org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LoggerSlf4jAccessProtected.class); + () { + } + + LoggerSlf4jAccessProtected() { + super(); + } +} +@Slf4j(access = AccessLevel.PACKAGE) class LoggerSlf4jAccessPackage { + static final @java.lang.SuppressWarnings("all") @lombok.Generated org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LoggerSlf4jAccessPackage.class); + () { + } + + LoggerSlf4jAccessPackage() { + super(); + } +} +@Slf4j(access = AccessLevel.PRIVATE) class LoggerSlf4jAccessPrivate { + private static final @java.lang.SuppressWarnings("all") @lombok.Generated org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LoggerSlf4jAccessPrivate.class); + () { + } + + LoggerSlf4jAccessPrivate() { + super(); + } +} +@Slf4j(access = AccessLevel.NONE) class LoggerSlf4jAccessNone { + LoggerSlf4jAccessNone() { + super(); + } +} diff --git a/test/transform/resource/after-ecj/LoggerXslf4jAccess.java b/test/transform/resource/after-ecj/LoggerXslf4jAccess.java new file mode 100644 index 00000000..b64f50c5 --- /dev/null +++ b/test/transform/resource/after-ecj/LoggerXslf4jAccess.java @@ -0,0 +1,52 @@ +import lombok.AccessLevel; +import lombok.extern.slf4j.XSlf4j; +@XSlf4j(access = AccessLevel.PUBLIC) class LoggerXslf4jAccessPublic { + public static final @java.lang.SuppressWarnings("all") @lombok.Generated org.slf4j.ext.XLogger log = org.slf4j.ext.XLoggerFactory.getXLogger(LoggerXslf4jAccessPublic.class); + () { + } + + LoggerXslf4jAccessPublic() { + super(); + } +} +@XSlf4j(access = AccessLevel.MODULE) class LoggerXslf4jAccessModule { + static final @java.lang.SuppressWarnings("all") @lombok.Generated org.slf4j.ext.XLogger log = org.slf4j.ext.XLoggerFactory.getXLogger(LoggerXslf4jAccessModule.class); + () { + } + + LoggerXslf4jAccessModule() { + super(); + } +} +@XSlf4j(access = AccessLevel.PROTECTED) class LoggerXslf4jAccessProtected { + protected static final @java.lang.SuppressWarnings("all") @lombok.Generated org.slf4j.ext.XLogger log = org.slf4j.ext.XLoggerFactory.getXLogger(LoggerXslf4jAccessProtected.class); + () { + } + + LoggerXslf4jAccessProtected() { + super(); + } +} +@XSlf4j(access = AccessLevel.PACKAGE) class LoggerXslf4jAccessPackage { + static final @java.lang.SuppressWarnings("all") @lombok.Generated org.slf4j.ext.XLogger log = org.slf4j.ext.XLoggerFactory.getXLogger(LoggerXslf4jAccessPackage.class); + () { + } + + LoggerXslf4jAccessPackage() { + super(); + } +} +@XSlf4j(access = AccessLevel.PRIVATE) class LoggerXslf4jAccessPrivate { + private static final @java.lang.SuppressWarnings("all") @lombok.Generated org.slf4j.ext.XLogger log = org.slf4j.ext.XLoggerFactory.getXLogger(LoggerXslf4jAccessPrivate.class); + () { + } + + LoggerXslf4jAccessPrivate() { + super(); + } +} +@XSlf4j(access = AccessLevel.NONE) class LoggerXslf4jAccessNone { + LoggerXslf4jAccessNone() { + super(); + } +} diff --git a/test/transform/resource/before/LoggerCommonsAccess.java b/test/transform/resource/before/LoggerCommonsAccess.java new file mode 100644 index 00000000..7b8ad198 --- /dev/null +++ b/test/transform/resource/before/LoggerCommonsAccess.java @@ -0,0 +1,26 @@ +import lombok.AccessLevel; +import lombok.extern.apachecommons.CommonsLog; + +@CommonsLog(access = AccessLevel.PUBLIC) +class LoggerCommonsAccessPublic { +} + +@CommonsLog(access = AccessLevel.MODULE) +class LoggerCommonsAccessModule { +} + +@CommonsLog(access = AccessLevel.PROTECTED) +class LoggerCommonsAccessProtected { +} + +@CommonsLog(access = AccessLevel.PACKAGE) +class LoggerCommonsAccessPackage { +} + +@CommonsLog(access = AccessLevel.PRIVATE) +class LoggerCommonsAccessPrivate { +} + +@CommonsLog(access = AccessLevel.NONE) +class LoggerCommonsAccessNone { +} diff --git a/test/transform/resource/before/LoggerCustomAccess.java b/test/transform/resource/before/LoggerCustomAccess.java new file mode 100644 index 00000000..3602e917 --- /dev/null +++ b/test/transform/resource/before/LoggerCustomAccess.java @@ -0,0 +1,35 @@ +//CONF: lombok.log.custom.declaration = MyLogger MyLoggerFactory.create(TYPE) +import lombok.AccessLevel; +import lombok.CustomLog; + +@CustomLog(access = AccessLevel.PUBLIC) +class LoggerCustomAccessPublic { +} + +@CustomLog(access = AccessLevel.MODULE) +class LoggerCustomAccessModule { +} + +@CustomLog(access = AccessLevel.PROTECTED) +class LoggerCustomAccessProtected { +} + +@CustomLog(access = AccessLevel.PACKAGE) +class LoggerCustomAccessPackage { +} + +@CustomLog(access = AccessLevel.PRIVATE) +class LoggerCustomAccessPrivate { +} + +@CustomLog(access = AccessLevel.NONE) +class LoggerCustomAccessNone { +} +class MyLoggerFactory { + static MyLogger create(Class clazz) { + return null; + } +} +class MyLogger { +} + diff --git a/test/transform/resource/before/LoggerFloggerAccess.java b/test/transform/resource/before/LoggerFloggerAccess.java new file mode 100644 index 00000000..65873a73 --- /dev/null +++ b/test/transform/resource/before/LoggerFloggerAccess.java @@ -0,0 +1,26 @@ +import lombok.AccessLevel; +import lombok.extern.flogger.Flogger; + +@Flogger(access = AccessLevel.PUBLIC) +class LoggerFloggerAccessPublic { +} + +@Flogger(access = AccessLevel.MODULE) +class LoggerFloggerAccessModule { +} + +@Flogger(access = AccessLevel.PROTECTED) +class LoggerFloggerAccessProtected { +} + +@Flogger(access = AccessLevel.PACKAGE) +class LoggerFloggerAccessPackage { +} + +@Flogger(access = AccessLevel.PRIVATE) +class LoggerFloggerAccessPrivate { +} + +@Flogger(access = AccessLevel.NONE) +class LoggerFloggerAccessNone { +} diff --git a/test/transform/resource/before/LoggerJbossLogAccess.java b/test/transform/resource/before/LoggerJbossLogAccess.java new file mode 100644 index 00000000..6174c794 --- /dev/null +++ b/test/transform/resource/before/LoggerJbossLogAccess.java @@ -0,0 +1,26 @@ +import lombok.AccessLevel; +import lombok.extern.jbosslog.JBossLog; + +@JBossLog(access = AccessLevel.PUBLIC) +class LoggerJBossLogAccessPublic { +} + +@JBossLog(access = AccessLevel.MODULE) +class LoggerJBossLogAccessModule { +} + +@JBossLog(access = AccessLevel.PROTECTED) +class LoggerJBossLogAccessProtected { +} + +@JBossLog(access = AccessLevel.PACKAGE) +class LoggerJBossLogAccessPackage { +} + +@JBossLog(access = AccessLevel.PRIVATE) +class LoggerJBossLogAccessPrivate { +} + +@JBossLog(access = AccessLevel.NONE) +class LoggerJBossLogAccessNone { +} diff --git a/test/transform/resource/before/LoggerJulAccess.java b/test/transform/resource/before/LoggerJulAccess.java new file mode 100644 index 00000000..144b8c4c --- /dev/null +++ b/test/transform/resource/before/LoggerJulAccess.java @@ -0,0 +1,26 @@ +import lombok.AccessLevel; +import lombok.extern.java.Log; + +@Log(access = AccessLevel.PUBLIC) +class LoggerJulAccessPublic { +} + +@Log(access = AccessLevel.MODULE) +class LoggerJulAccessModule { +} + +@Log(access = AccessLevel.PROTECTED) +class LoggerJulAccessProtected { +} + +@Log(access = AccessLevel.PACKAGE) +class LoggerJulAccessPackage { +} + +@Log(access = AccessLevel.PRIVATE) +class LoggerJulAccessPrivate { +} + +@Log(access = AccessLevel.NONE) +class LoggerJulAccessNone { +} diff --git a/test/transform/resource/before/LoggerLog4j2Access.java b/test/transform/resource/before/LoggerLog4j2Access.java new file mode 100644 index 00000000..44bbf71e --- /dev/null +++ b/test/transform/resource/before/LoggerLog4j2Access.java @@ -0,0 +1,26 @@ +import lombok.AccessLevel; +import lombok.extern.log4j.Log4j2; + +@Log4j2(access = AccessLevel.PUBLIC) +class LoggerLog4j2AccessPublic { +} + +@Log4j2(access = AccessLevel.MODULE) +class LoggerLog4j2AccessModule { +} + +@Log4j2(access = AccessLevel.PROTECTED) +class LoggerLog4j2AccessProtected { +} + +@Log4j2(access = AccessLevel.PACKAGE) +class LoggerLog4j2AccessPackage { +} + +@Log4j2(access = AccessLevel.PRIVATE) +class LoggerLog4j2AccessPrivate { +} + +@Log4j2(access = AccessLevel.NONE) +class LoggerLog4j2AccessNone { +} diff --git a/test/transform/resource/before/LoggerLog4jAccess.java b/test/transform/resource/before/LoggerLog4jAccess.java new file mode 100644 index 00000000..78e37454 --- /dev/null +++ b/test/transform/resource/before/LoggerLog4jAccess.java @@ -0,0 +1,26 @@ +import lombok.AccessLevel; +import lombok.extern.log4j.Log4j; + +@Log4j(access = AccessLevel.PUBLIC) +class LoggerLog4jAccessPublic { +} + +@Log4j(access = AccessLevel.MODULE) +class LoggerLog4jAccessModule { +} + +@Log4j(access = AccessLevel.PROTECTED) +class LoggerLog4jAccessProtected { +} + +@Log4j(access = AccessLevel.PACKAGE) +class LoggerLog4jAccessPackage { +} + +@Log4j(access = AccessLevel.PRIVATE) +class LoggerLog4jAccessPrivate { +} + +@Log4j(access = AccessLevel.NONE) +class LoggerLog4jAccessNone { +} diff --git a/test/transform/resource/before/LoggerSlf4jAccess.java b/test/transform/resource/before/LoggerSlf4jAccess.java new file mode 100644 index 00000000..fadac141 --- /dev/null +++ b/test/transform/resource/before/LoggerSlf4jAccess.java @@ -0,0 +1,26 @@ +import lombok.AccessLevel; +import lombok.extern.slf4j.Slf4j; + +@Slf4j(access = AccessLevel.PUBLIC) +class LoggerSlf4jAccessPublic { +} + +@Slf4j(access = AccessLevel.MODULE) +class LoggerSlf4jAccessModule { +} + +@Slf4j(access = AccessLevel.PROTECTED) +class LoggerSlf4jAccessProtected { +} + +@Slf4j(access = AccessLevel.PACKAGE) +class LoggerSlf4jAccessPackage { +} + +@Slf4j(access = AccessLevel.PRIVATE) +class LoggerSlf4jAccessPrivate { +} + +@Slf4j(access = AccessLevel.NONE) +class LoggerSlf4jAccessNone { +} diff --git a/test/transform/resource/before/LoggerXslf4jAccess.java b/test/transform/resource/before/LoggerXslf4jAccess.java new file mode 100644 index 00000000..4707c301 --- /dev/null +++ b/test/transform/resource/before/LoggerXslf4jAccess.java @@ -0,0 +1,26 @@ +import lombok.AccessLevel; +import lombok.extern.slf4j.XSlf4j; + +@XSlf4j(access = AccessLevel.PUBLIC) +class LoggerXslf4jAccessPublic { +} + +@XSlf4j(access = AccessLevel.MODULE) +class LoggerXslf4jAccessModule { +} + +@XSlf4j(access = AccessLevel.PROTECTED) +class LoggerXslf4jAccessProtected { +} + +@XSlf4j(access = AccessLevel.PACKAGE) +class LoggerXslf4jAccessPackage { +} + +@XSlf4j(access = AccessLevel.PRIVATE) +class LoggerXslf4jAccessPrivate { +} + +@XSlf4j(access = AccessLevel.NONE) +class LoggerXslf4jAccessNone { +}