You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by pa...@apache.org on 2022/12/21 04:28:31 UTC

[groovy] 02/02: revert binary incompatibility

This is an automated email from the ASF dual-hosted git repository.

paulk pushed a commit to branch GROOVY_4_0_X
in repository https://gitbox.apache.org/repos/asf/groovy.git

commit 26fc8c98c0a10a05c0f71f28f50a3a74c91379d7
Author: Paul King <pa...@asert.com.au>
AuthorDate: Wed Dec 21 13:58:30 2022 +1000

    revert binary incompatibility
---
 .../groovy/classgen/asm/sc/AbstractFunctionalInterfaceWriter.java  | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/main/java/org/codehaus/groovy/classgen/asm/sc/AbstractFunctionalInterfaceWriter.java b/src/main/java/org/codehaus/groovy/classgen/asm/sc/AbstractFunctionalInterfaceWriter.java
index a6a5ba9f24..dee1f743d6 100644
--- a/src/main/java/org/codehaus/groovy/classgen/asm/sc/AbstractFunctionalInterfaceWriter.java
+++ b/src/main/java/org/codehaus/groovy/classgen/asm/sc/AbstractFunctionalInterfaceWriter.java
@@ -42,6 +42,8 @@ import static org.codehaus.groovy.transform.stc.StaticTypesMarker.PARAMETER_TYPE
  * @since 3.0.0
  */
 public interface AbstractFunctionalInterfaceWriter {
+    @Deprecated
+    String ORIGINAL_PARAMETERS_WITH_EXACT_TYPE = "__ORIGINAL_PARAMETERS_WITH_EXACT_TYPE";
 
     default ClassNode getFunctionalInterfaceType(final Expression expression) {
         ClassNode type = expression.getNodeMetaData(PARAMETER_TYPE);
@@ -80,6 +82,11 @@ public interface AbstractFunctionalInterfaceWriter {
         );
     }
 
+    @Deprecated
+    default Object[] createBootstrapMethodArguments(final String abstractMethodDesc, final int insn, final ClassNode methodOwner, final MethodNode methodNode, final boolean serializable) {
+        return createBootstrapMethodArguments(abstractMethodDesc, insn, methodOwner, methodNode, methodNode.getNodeMetaData(ORIGINAL_PARAMETERS_WITH_EXACT_TYPE), serializable);
+    }
+
     default Object[] createBootstrapMethodArguments(final String abstractMethodDesc, final int insn, final ClassNode methodOwner, final MethodNode methodNode, final Parameter[] parameters, final boolean serializable) {
         Object[] arguments = !serializable ? new Object[3] : new Object[]{null, null, null, 5, 0};