From 51c0c40ac422ddd2828bb0ec79e252e85f1511c9 Mon Sep 17 00:00:00 2001 From: Jan Rieke Date: Fri, 1 Jun 2018 10:50:26 +0200 Subject: handle experimental flag usage --- src/core/lombok/ConfigurationKeys.java | 9 +++++++++ src/core/lombok/eclipse/handlers/HandleSuperBuilder.java | 2 ++ src/core/lombok/javac/handlers/HandleSuperBuilder.java | 2 ++ 3 files changed, 13 insertions(+) (limited to 'src') diff --git a/src/core/lombok/ConfigurationKeys.java b/src/core/lombok/ConfigurationKeys.java index 29c43d3f..ade86e27 100644 --- a/src/core/lombok/ConfigurationKeys.java +++ b/src/core/lombok/ConfigurationKeys.java @@ -508,6 +508,15 @@ public class ConfigurationKeys { */ public static final ConfigurationKey WITHER_FLAG_USAGE = new ConfigurationKey("lombok.wither.flagUsage", "Emit a warning or error if @Wither is used.") {}; + // ----- SuperBuilder ----- + + /** + * lombok configuration: {@code lombok.superBuilder.flagUsage} = {@code WARNING} | {@code ERROR}. + * + * If set, any usage of {@code @SuperBuilder} results in a warning / error. + */ + public static final ConfigurationKey SUPERBUILDER_FLAG_USAGE = new ConfigurationKey("lombok.superBuilder.flagUsage", "Emit a warning or error if @SuperBuilder is used.") {}; + // ----- Configuration System ----- /** diff --git a/src/core/lombok/eclipse/handlers/HandleSuperBuilder.java b/src/core/lombok/eclipse/handlers/HandleSuperBuilder.java index 04c3b2fe..1b17e3df 100644 --- a/src/core/lombok/eclipse/handlers/HandleSuperBuilder.java +++ b/src/core/lombok/eclipse/handlers/HandleSuperBuilder.java @@ -115,6 +115,8 @@ public class HandleSuperBuilder extends EclipseAnnotationHandler { @Override public void handle(AnnotationValues annotation, Annotation ast, EclipseNode annotationNode) { + handleExperimentalFlagUsage(annotationNode, ConfigurationKeys.SUPERBUILDER_FLAG_USAGE, "@SuperBuilder"); + long p = (long) ast.sourceStart << 32 | ast.sourceEnd; SuperBuilder builderInstance = annotation.getInstance(); diff --git a/src/core/lombok/javac/handlers/HandleSuperBuilder.java b/src/core/lombok/javac/handlers/HandleSuperBuilder.java index 1055a11a..c48e4761 100644 --- a/src/core/lombok/javac/handlers/HandleSuperBuilder.java +++ b/src/core/lombok/javac/handlers/HandleSuperBuilder.java @@ -94,6 +94,8 @@ public class HandleSuperBuilder extends JavacAnnotationHandler { @Override public void handle(AnnotationValues annotation, JCAnnotation ast, JavacNode annotationNode) { + handleExperimentalFlagUsage(annotationNode, ConfigurationKeys.SUPERBUILDER_FLAG_USAGE, "@SuperBuilder"); + SuperBuilder superbuilderAnnotation = annotation.getInstance(); deleteAnnotationIfNeccessary(annotationNode, SuperBuilder.class); -- cgit