You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by em...@apache.org on 2022/06/11 17:51:54 UTC
[groovy] branch groovy3-java16 updated (aa159192e3 -> 86cc8eada8)
This is an automated email from the ASF dual-hosted git repository.
emilles pushed a change to branch groovy3-java16
in repository https://gitbox.apache.org/repos/asf/groovy.git
omit aa159192e3 Gradle 7.2 for Java 16+
add 62e023e60f disable sonar for now - it times out at present
add 60481f407e temp disable caches to try to fix Travis build failure for JDK17
add fbfc947970 update jdk versions (temp test of jdk16)
add 27d95bbf35 update jdk versions
add 6e9b60aa33 GROOVY-8244: proxy for trait/interface only overrides abstract method(s)
add 4e5b0b7b22 GROOVY-10552: `@AutoImplement`: set type parameters
add 4a9624b87e checking generics of super used raw type instead of parameterized type
add a8e89b2ae6 GROOVY-10556: "T" vs "C<T extends C<?>>" as bound of wildcard
add ebd46c4368 GROOVY-9995: infer ctor call diamond type from closure target type
add 2ab6c68520 GROOVY-10282: `GenericsUtils`: do not mix type parameter contexts
add d37a593411 GROOVY-8409: STC: resolve generics contexts separately for return type
add 07c4da7923 GROOVY-10558: no spread for one argument in inner class `methodMissing`
add 1392fe5b75 add test case
add 0e976a58ad GROOVY-9033: STC: resolve "def list = []" to List<Object> not List<E>
add 2f0c277306 GROOVY-10576: "?" source and target "? extends Object"
add 6fc5134c99 minor refactor
add d268a96c77 GROOVY-10579: SC: write array component type for optimized for-each loop
add 91e25f7f20 GROOVY-10583: do not print generics of type parameter
add 122e94499f GROOVY-10570: `@AnnotationCollector`: better error for missing `value()`
add 74e26955e2 GROOVY-10585: `@AutoFinal`: disabled via config and skip inner interface
add 51393752ff GROOVY-10598: fix for NPE
add ee9c8423ba GROOVY-10593: replace '.' by '/' in imports
add f290a676c1 new test cases showing the problem with star imports and static imports
add 52cc49ffe0 bugfix: (groovy-doc) add star imports in the list of imports used by SimpleGroovyClassDoc
add dd0306d543 GROOVY-10593: add new test cases and bugfix for static imports
add 35230116a6 use diamond operator
add 0b572ec5e7 minor refactor (mostly formatting)
add 5b9a0aa941 GROOVY-10535, GROOVY-10596: indy: cache [Bb]oolean cast for `null`, etc.
add cc7af824a0 GROOVY-10201: JDK 17: class String1_groovyProxy cannot implement sealed interface java.lang.constant.ConstantDesc
add 8e85ef4dfc GROOVY-10201: JDK 17: class String1_groovyProxy cannot implement sealed interface java.lang.constant.ConstantDesc (add test case)
add 6550507b53 GROOVY-10180: STC: method lookup: try instanceof type(s) before declared
add 7346cb8987 GROOVY-10626: --enable-preview doesn't show in CLI/help for groovysh
add 28ac92b666 bump to latest branch
add 1e3434dfe4 GROOVY-10230, GROOVY-10330: given type param `T`, LUB(`T`,`T`) is `T`
add 44801fbde2 GROOVY-10363: STC: fix target type check for type parameter
add e6016c634d GROOVY-7419, GROOVY-9948, GROOVY-9956: STC: infer <> from argument types
add ec404abebb GROOVY-9963: resolve ctor call diamond for attribute/property expression
add 7f3c77d73c GROOVY-10343: STC: resolve type parameter bounded by a type parameter
add 39d8298ae7 GROOVY-10364: STC: keep type parameter from enclosing context
add d9f6e9870a GROOVY-10365: type argument/parameter relationships: no type param bound
add 751d1efbdc GROOVY-10603: LUB: include transitive interfaces
add 634627981d GROOVY-10624: STC: don't apply context generics for diamond ctor call
add df6b19b7ee GROOVY-10611: stubgen: static final field with integer or decimal value (port to 3_0_X)
add 7bcf3cdca0 GROOVY-10628: STC: fix inference for elvis assignment with setter target
add 2233ec71ef GROOVY-10634: Regular expressions cause groovysh 3.0.10, JDK 17 to crash
add a79b3077e7 GROOVY-9853: SC: method reference to interface abstract / default method
add e2ff2b900e GROOVY-10569: ASM 9.3
add d29589d143 GROOVY-10143: super trait field access
add 9061d335f2 GROOVY-10627: Bump jackson to 2.13.3
add f1cdf31c5d GROOVY-10554: Bump javaparser to 3.24.2
add 8843faf570 update headers (port to 3_0_X)
add 070f3c2fb1 GROOVY-10538: Bump log4j2 version to 2.17.2 (test dependency)
add 9dd29864bd GROOVY-10537: Bump logback to 1.2.11 (test dependency)
add 5b6080e229 GROOVY-10642: Bump creadur-rat-gradle plugin to 0.7.1 (build dependency)
add be8eb2fe41 Bump version on GROOVY_3_0_X branch
add 55ba573d7e GROOVY-10049, GROOVY-10648: don't mix type param contexts when resolving
add b4e3f756d8 GROOVY-10578: Groovydoc noscripts and nomainforscripts options no longer work
add 2a641e4950 GROOVY-10654: `ASTTransformationCustomizer`: enum and array parameters
add 33d9d64d99 fix spelling of "explicitly"
add 5d875ed9a7 Fix missleading error message in GroovyScriptEngine
add 46dbc56c6d whitespace fixes (port of b54d807114 to 3_0_X)
add 6e341db096 remove `@Grab` usage
add d8e1fbebaa try jdk 15 and 16
new 86cc8eada8 Gradle 7.2 for Java 16+
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (aa159192e3)
\
N -- N -- N refs/heads/groovy3-java16 (86cc8eada8)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.github/workflows/build-test.yml | 4 +-
.github/workflows/micronaut-joint-validation.yml | 2 +-
.travis.yml | 29 +-
build.gradle | 10 +-
gradle.properties | 4 +-
.../customizers/ASTTransformationCustomizer.groovy | 104 +-
src/main/java/groovy/ui/GroovyMain.java | 2 +-
src/main/java/groovy/util/GroovyScriptEngine.java | 2 +-
.../java/org/codehaus/groovy/ast/GenericsType.java | 202 +-
.../codehaus/groovy/ast/tools/GenericsUtils.java | 230 +--
.../groovy/ast/tools/WideningCategories.java | 59 +-
.../groovy/classgen/InnerClassVisitorHelper.java | 54 +-
.../org/codehaus/groovy/classgen/Verifier.java | 370 ++--
.../asm/sc/AbstractFunctionalInterfaceWriter.java | 36 +-
...StaticTypesMethodReferenceExpressionWriter.java | 13 +-
.../asm/sc/StaticTypesStatementWriter.java | 11 +-
.../groovy/control/AnnotationConstantsVisitor.java | 48 +-
.../groovy/reflection/ReflectionUtils.java | 2 +
.../groovy/runtime/ProxyGeneratorAdapter.java | 127 +-
.../codehaus/groovy/tools/FileSystemCompiler.java | 2 +-
.../groovy/tools/javac/JavaStubGenerator.java | 56 +-
.../transform/AnnotationCollectorTransform.java | 39 +-
.../transform/AutoFinalASTTransformation.java | 195 +-
.../transform/AutoImplementASTTransformation.java | 3 +-
.../groovy/transform/NewifyASTTransformation.java | 2 +-
.../transform/stc/StaticTypeCheckingSupport.java | 143 +-
.../transform/stc/StaticTypeCheckingVisitor.java | 601 +++---
.../transform/trait/TraitReceiverTransformer.java | 19 +-
.../codehaus/groovy/transform/trait/Traits.java | 20 +-
.../v8/IndyGuardsFiltersAndSignatures.java | 52 +-
.../org/codehaus/groovy/vmplugin/v8/Selector.java | 79 +-
src/spec/doc/core-syntax.adoc | 18 +-
src/spec/doc/tools-groovy.adoc | 2 +-
src/spec/doc/tools-groovyc.adoc | 2 +-
src/spec/test/typing/TypeCheckingTest.groovy | 2 +-
src/test/gls/innerClass/InnerClassTest.groovy | 21 +
src/test/gls/syntax/Gep3OrderDslTest.groovy | 4 +-
src/test/groovy/bugs/Groovy10535.groovy | 87 +
.../{Groovy6932Bug.groovy => Groovy6932.groovy} | 30 +-
src/test/groovy/bugs/Groovy8409Bug.groovy | 63 +-
.../transform/AnnotationCollectorTest.groovy | 31 +-
.../transform/Groovy10570.java} | 10 +-
.../test/groovy/transform/Groovy10570emu.java | 21 +-
.../stc/ClosureParamTypeInferenceSTCTest.groovy | 20 +
.../groovy/transform/stc/GenericsSTCTest.groovy | 2046 +++++++++++++++-----
src/test/groovy/transform/stc/LambdaTest.groovy | 805 ++++----
src/test/groovy/transform/stc/LoopsSTCTest.groovy | 54 +-
.../transform/stc/MethodReferenceTest.groovy | 64 +
.../groovy/transform/stc/STCAssignmentTest.groovy | 25 +-
.../transform/stc/TernaryOperatorSTCTest.groovy | 75 +
.../transform/stc/TypeInferenceSTCTest.groovy | 188 +-
src/test/groovy/util/ProxyGeneratorTest.groovy | 6 +
.../classgen/asm/sc/BugsStaticCompileTest.groovy | 4 +-
.../asm/sc/GenericsStaticCompileTest.groovy | 4 +-
.../classgen/asm/sc/LoopsStaticCompileTest.groovy | 2 +-
.../asm/sc/TypeInferenceStaticCompileTest.groovy | 68 +-
.../ASTTransformationCustomizerTest.groovy | 170 +-
.../{Groovy7482.groovy => Groovy10583.groovy} | 20 +-
.../{Groovy7482.groovy => Groovy10611.groovy} | 22 +-
.../groovy/transform/AutoFinalTransformTest.groovy | 40 +-
.../transform/AutoImplementTransformTest.groovy | 24 +
.../traitx/TraitASTTransformationTest.groovy | 105 +
.../console/ui/AstNodeToScriptAdapter.groovy | 35 +-
.../inspect/swingui/AstNodeToScriptAdapter.groovy | 19 +-
.../resources/groovy/console/ui/Console.properties | 2 +-
.../src/spec/doc/groovy-console.adoc | 2 +-
.../org/apache/groovy/antlr/GroovydocVisitor.java | 18 +-
.../tools/groovydoc/SimpleGroovyClassDoc.java | 67 +-
.../tools/groovydoc/antlr4/GroovyDocParser.java | 2 +-
.../groovydoc/antlr4/GroovydocJavaVisitor.java | 1 +
.../groovy/tools/groovydoc/GroovyDocToolTest.java | 221 +++
.../groovydoc/testfiles/groovy_10593/a/List.java | 3 +-
.../testfiles/groovy_10593/a/StaticList.java | 13 +-
.../groovydoc/testfiles/groovy_10593/b/Test.groovy | 10 +-
.../groovydoc/testfiles/groovy_10593/b/Test.java | 10 +-
.../testfiles/groovy_10593/b/TestStar.groovy | 10 +-
.../testfiles/groovy_10593/b/TestStar.java | 10 +-
.../testfiles/groovy_10593/b/TestStatic.groovy | 10 +-
.../testfiles/groovy_10593/b/TestStatic.java | 10 +-
.../groovy_10593/b/TestStaticAlias.groovy | 10 +-
.../testfiles/groovy_10593/b/TestStaticStar.groovy | 10 +-
.../testfiles/groovy_10593/b/TestStaticStar.java | 10 +-
.../org/apache/groovy/groovysh/Groovysh.groovy | 7 +-
.../groovy/org/apache/groovy/groovysh/Main.groovy | 1 +
.../org/apache/groovy/groovysh/Main.properties | 2 +
.../groovy-groovysh/src/spec/doc/groovysh.adoc | 2 +-
subprojects/groovy-json/build.gradle | 7 +
subprojects/groovy-yaml/build.gradle | 2 +-
.../groovy/parser/antlr4/util/AstDumper.groovy | 19 +-
89 files changed, 4374 insertions(+), 2692 deletions(-)
create mode 100644 src/test/groovy/bugs/Groovy10535.groovy
rename src/test/groovy/bugs/{Groovy6932Bug.groovy => Groovy6932.groovy} (65%)
copy src/test/{gls/annotations/HasSourceRetention.java => groovy/transform/Groovy10570.java} (84%)
copy subprojects/groovy-astbuilder/src/test/groovy/groovy/bugs/MyConstants4272.java => src/test/groovy/transform/Groovy10570emu.java (67%)
copy src/test/org/codehaus/groovy/tools/stubgenerator/{Groovy7482.groovy => Groovy10583.groovy} (79%)
copy src/test/org/codehaus/groovy/tools/stubgenerator/{Groovy7482.groovy => Groovy10611.groovy} (74%)
copy buildSrc/build.gradle => subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/groovy_10593/a/List.java (89%)
copy src/main/groovy/groovy/cli/UnparsedField.groovy => subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/groovy_10593/a/StaticList.java (82%)
copy src/main/groovy/groovy/cli/UnparsedField.groovy => subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/groovy_10593/b/Test.groovy (82%)
copy src/main/groovy/groovy/cli/UnparsedField.groovy => subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/groovy_10593/b/Test.java (81%)
copy src/main/groovy/groovy/cli/UnparsedField.groovy => subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/groovy_10593/b/TestStar.groovy (82%)
copy src/main/groovy/groovy/cli/UnparsedField.groovy => subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/groovy_10593/b/TestStar.java (81%)
copy src/main/groovy/groovy/cli/UnparsedField.groovy => subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/groovy_10593/b/TestStatic.groovy (80%)
copy src/main/groovy/groovy/cli/UnparsedField.groovy => subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/groovy_10593/b/TestStatic.java (80%)
copy src/main/groovy/groovy/cli/UnparsedField.groovy => subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/groovy_10593/b/TestStaticAlias.groovy (79%)
copy src/main/groovy/groovy/cli/UnparsedField.groovy => subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/groovy_10593/b/TestStaticStar.groovy (81%)
copy src/main/groovy/groovy/cli/UnparsedField.groovy => subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/groovy_10593/b/TestStaticStar.java (80%)
[groovy] 01/01: Gradle 7.2 for Java 16+
Posted by em...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
emilles pushed a commit to branch groovy3-java16
in repository https://gitbox.apache.org/repos/asf/groovy.git
commit 86cc8eada8e9ded0c69f69bf442ca402fde32c75
Author: Eric Milles <er...@thomsonreuters.com>
AuthorDate: Thu Mar 3 15:54:58 2022 -0600
Gradle 7.2 for Java 16+
---
.travis.yml | 8 ++++----
build.gradle | 3 +--
.../groovy/org/codehaus/groovy/gradle/JarJarTask.groovy | 16 ++++++----------
.../groovy/gradle/WriteExtensionDescriptorTask.groovy | 11 +++++++----
gradle.properties | 2 +-
gradle/wrapper/gradle-wrapper.properties | 2 +-
.../org/codehaus/groovy/reflection/ReflectionUtils.java | 16 ++++++++--------
.../codehaus/groovy/runtime/ProxyGeneratorAdapter.java | 11 +++++------
subprojects/groovy-servlet/build.gradle | 9 +++------
9 files changed, 36 insertions(+), 42 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index f2a4448b2b..6be975882a 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -27,8 +27,8 @@ matrix:
include:
- env: BC='legacy' FEATURE='17' TARGET_JAVA_HOME="/home/travis/openjdk$FEATURE" LICENSE='GPL'
jdk: openjdk11
- - env: BC='legacy' FEATURE='16' TARGET_JAVA_HOME="/home/travis/openjdk$FEATURE" LICENSE='GPL'
- jdk: openjdk11
+ - env: BC='legacy'
+ jdk: openjdk16
- env: BC='legacy'
jdk: openjdk15
- env: BC='legacy'
@@ -38,8 +38,8 @@ matrix:
- env: BC='indy' FEATURE='17' TARGET_JAVA_HOME="/home/travis/openjdk$FEATURE" LICENSE='GPL'
jdk: openjdk11
- - env: BC='indy' FEATURE='16' TARGET_JAVA_HOME="/home/travis/openjdk$FEATURE" LICENSE='GPL'
- jdk: openjdk11
+ - env: BC='indy'
+ jdk: openjdk16
- env: BC='indy'
jdk: openjdk15
- env: BC='indy'
diff --git a/build.gradle b/build.gradle
index 5ef21fd1af..aff45b390a 100644
--- a/build.gradle
+++ b/build.gradle
@@ -34,7 +34,6 @@ buildscript {
// using the old "classpath" style of plugins because the new one doesn't play well with multi-modules
classpath 'org.asciidoctor:asciidoctor-gradle-plugin:1.5.8'
classpath 'org.jfrog.buildinfo:build-info-extractor-gradle:3.0.3'
- //classpath 'nl.javadude.gradle.plugins:license-gradle-plugin:0.11.0'
classpath 'org.nosphere.apache:creadur-rat-gradle:0.7.1'
classpath 'gradle.plugin.com.github.jk1:gradle-license-report:1.3'
}
@@ -432,7 +431,7 @@ apply from: 'gradle/test.gradle'
apply from: 'gradle/groovydoc.gradle'
apply from: 'gradle/docs.gradle'
apply from: 'gradle/assemble.gradle'
-apply from: 'gradle/upload.gradle'
+//apply from: 'gradle/upload.gradle' -- TODO: migrate to Gradle 7
apply from: 'gradle/idea.gradle'
apply from: 'gradle/eclipse.gradle'
apply from: 'gradle/quality.gradle'
diff --git a/buildSrc/src/main/groovy/org/codehaus/groovy/gradle/JarJarTask.groovy b/buildSrc/src/main/groovy/org/codehaus/groovy/gradle/JarJarTask.groovy
index 0fdf771767..454eb73312 100644
--- a/buildSrc/src/main/groovy/org/codehaus/groovy/gradle/JarJarTask.groovy
+++ b/buildSrc/src/main/groovy/org/codehaus/groovy/gradle/JarJarTask.groovy
@@ -28,6 +28,7 @@ import org.gradle.api.tasks.Input
import org.gradle.api.tasks.InputFile
import org.gradle.api.tasks.InputFiles
import org.gradle.api.tasks.Internal
+import org.gradle.api.tasks.Optional
import org.gradle.api.tasks.OutputFile
import org.gradle.api.tasks.TaskAction
@@ -53,23 +54,19 @@ class JarJarTask extends DefaultTask {
@org.gradle.api.tasks.Optional
List<String> untouchedFiles = []
- @Input
- @org.gradle.api.tasks.Optional
+ @Optional @Input
List<String> excludes = []
@Input
Map<String, String> patterns
- @Input
- @org.gradle.api.tasks.Optional
+ @Optional @Input
Map<String, List<String>> excludesPerLibrary = [:]
- @Input
- @org.gradle.api.tasks.Optional
+ @Optional @Input
Map<String, List<String>> includesPerLibrary = [:]
- @Input
- @org.gradle.api.tasks.Optional
+ @Optional @Input
Map<String, String> includedResources = [:]
@OutputFile
@@ -169,5 +166,4 @@ class JarJarTask extends DefaultTask {
private static String baseName(File file) {
file.name.substring(0, file.name.lastIndexOf('-'))
}
-
-}
\ No newline at end of file
+}
diff --git a/buildSrc/src/main/groovy/org/codehaus/groovy/gradle/WriteExtensionDescriptorTask.groovy b/buildSrc/src/main/groovy/org/codehaus/groovy/gradle/WriteExtensionDescriptorTask.groovy
index dd582dcfc3..746235edbd 100644
--- a/buildSrc/src/main/groovy/org/codehaus/groovy/gradle/WriteExtensionDescriptorTask.groovy
+++ b/buildSrc/src/main/groovy/org/codehaus/groovy/gradle/WriteExtensionDescriptorTask.groovy
@@ -22,6 +22,7 @@ import org.gradle.api.DefaultTask
import org.gradle.api.tasks.Internal
import org.gradle.api.tasks.TaskAction
import org.gradle.api.tasks.Input
+import org.gradle.api.tasks.Internal
import org.gradle.api.tasks.OutputFile
/**
@@ -30,10 +31,12 @@ import org.gradle.api.tasks.OutputFile
class WriteExtensionDescriptorTask extends DefaultTask {
@Internal
final String description = 'Generates the org.codehaus.groovy.runtime.ExtensionModule descriptor file of a module'
- @Input String extensionClasses = ''
- @Input String staticExtensionClasses = ''
- @OutputFile File descriptor = computeDescriptorFile()
-
+ @OutputFile
+ File descriptor = computeDescriptorFile()
+ @Input
+ String staticExtensionClasses = ''
+ @Input
+ String extensionClasses = ''
private File computeDescriptorFile() {
def metaInfDir = new File("${project.buildDir}/resources/main/META-INF/groovy")
diff --git a/gradle.properties b/gradle.properties
index f4dd30f628..1345e9df33 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -18,7 +18,7 @@ groovyVersion = 3.0.12-SNAPSHOT
groovyBundleVersion = 3.0.12.SNAPSHOT
binaryCompatibilityBaseline = 3.0.5
-gradle_version=6.9.2
+gradle_version=7.2
groovyJUnit_ms=512m
groovyJUnit_mx=2g
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index ec991f9aa1..ffed3a254e 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.9.2-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/src/main/java/org/codehaus/groovy/reflection/ReflectionUtils.java b/src/main/java/org/codehaus/groovy/reflection/ReflectionUtils.java
index 1937ae0544..8a676b936e 100644
--- a/src/main/java/org/codehaus/groovy/reflection/ReflectionUtils.java
+++ b/src/main/java/org/codehaus/groovy/reflection/ReflectionUtils.java
@@ -135,6 +135,14 @@ public class ReflectionUtils {
}
}
+ private static boolean classShouldBeIgnored(final Class c, final Collection<String> extraIgnoredPackages) {
+ return (c != null
+ && (c.isSynthetic()
+ || (c.getPackage() != null
+ && (IGNORED_PACKAGES.contains(c.getPackage().getName())
+ || extraIgnoredPackages.contains(c.getPackage().getName())))));
+ }
+
public static List<Method> getDeclaredMethods(final Class<?> type, final String name, final Class<?>... parameterTypes) {
return doGetMethods(type, name, parameterTypes, Class::getDeclaredMethods);
}
@@ -235,14 +243,6 @@ public class ReflectionUtils {
return false;
}
- private static boolean classShouldBeIgnored(final Class c, final Collection<String> extraIgnoredPackages) {
- return (c != null
- && (c.isSynthetic()
- || (c.getPackage() != null
- && (IGNORED_PACKAGES.contains(c.getPackage().getName())
- || extraIgnoredPackages.contains(c.getPackage().getName())))));
- }
-
private static class ClassContextHelper extends SecurityManager {
@Override
public Class[] getClassContext() {
diff --git a/src/main/java/org/codehaus/groovy/runtime/ProxyGeneratorAdapter.java b/src/main/java/org/codehaus/groovy/runtime/ProxyGeneratorAdapter.java
index 4d0cd800e5..95a4fba718 100644
--- a/src/main/java/org/codehaus/groovy/runtime/ProxyGeneratorAdapter.java
+++ b/src/main/java/org/codehaus/groovy/runtime/ProxyGeneratorAdapter.java
@@ -145,7 +145,7 @@ public class ProxyGeneratorAdapter extends ClassVisitor implements Opcodes {
final ClassLoader proxyLoader,
final boolean emptyBody,
final Class<?> delegateClass) {
- super(CompilerConfiguration.ASM_API_VERSION, new ClassWriter(0));
+ super(CompilerConfiguration.ASM_API_VERSION, new ClassWriter(ClassWriter.COMPUTE_FRAMES | ClassWriter.COMPUTE_MAXS));
this.loader = proxyLoader != null ? createInnerLoader(proxyLoader, interfaces) : findClassLoader(superClass, interfaces);
this.visitedMethods = new LinkedHashSet<>();
this.delegatedClosures = closureMap.isEmpty() ? EMPTY_DELEGATECLOSURE_MAP : new HashMap<>();
@@ -175,7 +175,7 @@ public class ProxyGeneratorAdapter extends ClassVisitor implements Opcodes {
this.classList = new LinkedHashSet<>();
this.classList.add(superClass);
if (generateDelegateField) {
- classList.add(delegateClass);
+ this.classList.add(delegateClass);
for (Class<?> i : delegateClass.getInterfaces()) {
if (!isSealed(i)) this.classList.add(i);
}
@@ -187,9 +187,9 @@ public class ProxyGeneratorAdapter extends ClassVisitor implements Opcodes {
this.emptyBody = emptyBody;
// generate bytecode
- ClassWriter writer = (ClassWriter) cv;
- this.visit(Opcodes.V1_5, ACC_PUBLIC, proxyName, null, null, null);
- byte[] b = writer.toByteArray();
+ int bytecodeVersion = CompilerConfiguration.JDK_TO_BYTECODE_VERSION_MAP.get(CompilerConfiguration.DEFAULT.getTargetBytecode());
+ this.visit(bytecodeVersion, ACC_PUBLIC, proxyName, null, null, null);
+ byte[] b = ((ClassWriter) cv).toByteArray();
// CheckClassAdapter.verify(new ClassReader(b), true, new PrintWriter(System.err));
cachedClass = loader.defineClass(proxyName.replace('/', '.'), b);
// cache no-arg constructor
@@ -903,5 +903,4 @@ public class ProxyGeneratorAdapter extends ClassVisitor implements Opcodes {
return value;
}
}
-
}
diff --git a/subprojects/groovy-servlet/build.gradle b/subprojects/groovy-servlet/build.gradle
index 224693f60e..0b3a524860 100644
--- a/subprojects/groovy-servlet/build.gradle
+++ b/subprojects/groovy-servlet/build.gradle
@@ -17,15 +17,12 @@
* under the License.
*/
dependencies {
- api("javax.servlet:javax.servlet-api:$servletApiVersion") { dep ->
- provided dep
- }
- api("javax.servlet.jsp:javax.servlet.jsp-api:$jspApiVersion") { dep ->
- provided dep
+ api rootProject // ServletBinding extends Binding...
+ api "javax.servlet:javax.servlet-api:$servletApiVersion"
+ api("javax.servlet.jsp:javax.servlet.jsp-api:$jspApiVersion") {
exclude(group: 'javax.servlet', module: 'javax.servlet-api')
}
- api rootProject // ServletBinding extends Binding...
implementation project(':groovy-xml') // needed for MarkupBuilder
implementation project(':groovy-templates') // needed by TemplateServlet