[ https://issues.apache.org/jira/browse/GROOVY-11202?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Per Nyfelt updated GROOVY-11202: -------------------------------- Description: When running Gradle 8.4 -> GroovyDoc 4.0.15 which uses javaparser-core 3.25.5 i get the following error: [ant:groovydoc] Attempting to ignore error parsing Java source file: se/alipsa/groovy/matrix/util/DataType.java [ant:groovydoc] Consider reporting the error to the Groovy project: https://issues.apache.org/jira/browse/GROOVY [ant:groovydoc] ... or directly to the JavaParser project: [https://github.com/javaparser/javaparser/issues] [ant:groovydoc] Error: (line 55,col 9) Use of patterns with instanceof is not supported. The offending code is: public static String sqlType(Object value, int... varcharSize) { if (value instanceof BigDecimal bd) { return "DECIMAL(" + bd.precision() + "," + bd.scale() + ")"; } return value == null ? null : sqlType(value.getClass(), varcharSize); } Patterns with instanceof is supported by javaparser: {{@Test void testParseInstanceofPattern() {}} {{String code = """}} {{ }}{{class A {}} {{public static String sqlType(Object value, int... varcharSize) {}} {{if (value instanceof BigDecimal bd) { return "DECIMAL(" + bd.precision() + "," + bd.scale() + ")";}} {{ }}} {{ return value == null ? null : }} {{ }}{{sqlType(value.getClass(), varcharSize); }} {{} }} {{ }""";}} {{ ParserConfiguration config = }} {{ new ParserConfiguration(); }} {{ config}} {{ }}{{.setLanguageLevel(LanguageLevel.JAVA_17); JavaParser parser = new JavaParser(config); CompilationUnit cu = JavaParserAdapter }} {{ .of(parser).parse(code);}} {{System.out.println(cu.toString());}} {{}}} {{}} {{This might mean that the groovy gradle plugin is not setting the language level based on the tool chain e.g in my build.gradle i have:}} java { toolchain { languageVersion = JavaLanguageVersion.of(17) } }{{{}{}}} > Support use of patterns with instanceof in groovydoc > ---------------------------------------------------- > > Key: GROOVY-11202 > URL: https://issues.apache.org/jira/browse/GROOVY-11202 > Project: Groovy > Issue Type: Bug > Reporter: Per Nyfelt > Priority: Major > > When running Gradle 8.4 -> GroovyDoc 4.0.15 which uses javaparser-core 3.25.5 > i get the following error: > [ant:groovydoc] Attempting to ignore error parsing Java source file: > se/alipsa/groovy/matrix/util/DataType.java > [ant:groovydoc] Consider reporting the error to the Groovy project: > https://issues.apache.org/jira/browse/GROOVY > [ant:groovydoc] ... or directly to the JavaParser project: > [https://github.com/javaparser/javaparser/issues] > [ant:groovydoc] Error: (line 55,col 9) Use of patterns with instanceof is not > supported. > The offending code is: > public static String sqlType(Object value, int... varcharSize) { > if (value instanceof BigDecimal bd) { > return "DECIMAL(" + bd.precision() + "," + bd.scale() + ")"; > } > return value == null ? null : sqlType(value.getClass(), varcharSize); > } > > Patterns with instanceof is supported by javaparser: > {{@Test > void testParseInstanceofPattern() {}} > {{String code = > """}} > {{ }}{{class A {}} > {{public static String sqlType(Object value, int... > varcharSize) {}} > {{if (value instanceof BigDecimal bd) { return > "DECIMAL(" + bd.precision() + "," + bd.scale() + ")";}} > {{ }}} > {{ return value == null ? null : }} > {{ }}{{sqlType(value.getClass(), varcharSize); }} > {{} }} > {{ }""";}} > {{ ParserConfiguration config = }} > {{ new ParserConfiguration(); }} > {{ config}} > {{ }}{{.setLanguageLevel(LanguageLevel.JAVA_17); JavaParser parser = new > JavaParser(config); CompilationUnit cu = JavaParserAdapter }} > {{ .of(parser).parse(code);}} > {{System.out.println(cu.toString());}} > {{}}} > {{}} > {{This might mean that the groovy gradle plugin is not setting the language > level based on the tool chain e.g in my build.gradle i have:}} > java { > toolchain { > languageVersion = JavaLanguageVersion.of(17) > } > }{{{}{}}} -- This message was sent by Atlassian Jira (v8.20.10#820010)