From 5a958a8df9843d8b2cbe58d41e6664b417b78d63 Mon Sep 17 00:00:00 2001 From: lukaseder Date: Thu, 11 Oct 2018 17:59:17 +0200 Subject: [PATCH] [#7929] jOOQ-checker should not allow any jOOQ API usage in the absence of an Allow annotation --- .../java/org/jooq/checker/SQLDialectChecker.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/jOOQ-checker/src/main/java/org/jooq/checker/SQLDialectChecker.java b/jOOQ-checker/src/main/java/org/jooq/checker/SQLDialectChecker.java index 8c750ae2c4..17234c7ac3 100644 --- a/jOOQ-checker/src/main/java/org/jooq/checker/SQLDialectChecker.java +++ b/jOOQ-checker/src/main/java/org/jooq/checker/SQLDialectChecker.java @@ -74,12 +74,17 @@ public class SQLDialectChecker extends AbstractChecker { ExecutableElement elementFromUse = elementFromUse(node); Support support = elementFromUse.getAnnotation(Support.class); - // In the absence of a @Support annotation, or if no SQLDialect is supplied, - // all jOOQ API method calls will type check. - if (support != null && support.value().length > 0) { + // In the absence of a @Support annotation, all jOOQ API method calls will type check. + if (support != null) { Element enclosing = enclosing(getPath(root, node)); - EnumSet supported = EnumSet.copyOf(asList(support.value())); + // [#7929] "Empty" @Support annotations expand to all SQLDialects + EnumSet supported = EnumSet.copyOf( + support.value().length > 0 + ? asList(support.value()) + : asList(SQLDialect.values()) + ); + EnumSet allowed = EnumSet.noneOf(SQLDialect.class); EnumSet required = EnumSet.noneOf(SQLDialect.class);